diff --git a/.gitignore b/.gitignore index 94f1119e..5d0abbe7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,108 @@ .DS_Store .vscode +export + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ + diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..59746512 --- /dev/null +++ b/Makefile @@ -0,0 +1,19 @@ +SHELL = /usr/bin/env bash -xe + +PWD := $(shell pwd) + +build: + @rm -rf export + @mkdir export + @zip -yr export/layer.zip bootstrap bin lib libexec share + +publish: + @$(PWD)/publish.sh + +publish-staging: + @$(PWD)/publish-staging.sh + +.PHONY: \ + build + publish + publish-staging \ No newline at end of file diff --git a/README.md b/README.md index 5aada21f..cd2c9034 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,11 @@ # Bash in AWS Lambda +## NO LONGER SUPPORTED + +This repository and layer is no longer receiving updates or support. I've been too busy to keep up with changes in the Lambda environment and this has fallen behind. Use at your own risk. + +--- + Run Bash in [AWS Lambda](https://aws.amazon.com/lambda/) via [Layers](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html). This Layer is 100% Bash and handles all communication with the Lambda Runtime API. This allows you to run full Bash scripts and commands inside of AWS Lambda. This Layer also includes common CLI tools used in Bash scripts. See the [How To](#how-to) section to understand how to use these layers. Also see the [example-basic.sh](examples/example-basic.sh) file for an example of how to write a Bash script compatible with this Layer. @@ -7,7 +13,7 @@ See the [How To](#how-to) section to understand how to use these layers. Also se ### ARN ``` -arn:aws:lambda::744348701589:layer:bash:3 +arn:aws:lambda::744348701589:layer:bash:8 ``` ## How To @@ -36,7 +42,7 @@ $ aws lambda create-function \ --role bashFunctionRole \ --handler index.handler \ --runtime provided \ - --layers arn:aws:lambda::744348701589:layer:bash:3 \ + --layers arn:aws:lambda::744348701589:layer:bash:8 \ --zip-file fileb://function.zip ``` @@ -61,7 +67,7 @@ $ aws lambda create-function \ ``` $ aws lambda update-function-configuration \ --function-name bashFunction \ - --layers arn:aws:lambda::744348701589:layer:bash:3 + --layers arn:aws:lambda::744348701589:layer:bash:8 ``` ### Writing Scripts @@ -140,22 +146,59 @@ Bash behaves in ways unlike other programming languages. As such, there are some `AWS_LAMBDA_TRACE_ID` - The sampling decision, trace ID, and parent segment ID of AWS XRay +### Building + +To build a layer, simply run `make build`. This will create a zip archive of the layer in the `export/` directory. + +### Publishing + +To publish the layer to the public, simply run `make publish`. This will create a new version of the layer from the `export/layer.zip` file (create from the Build step) and give it a global read permission. + +### Adding New Executables + +Some executables are able to run by themselves and some require additional dependencies that are present on the server. It's hard to cover here case here, but if the executable run by itself it can easily be added. If it has dependencies, you must explore what those dependencies are and how to add them to the layer as well. + +You can either add the executable from an Amazon Linux AMI or from the [lambci/lambda:build-python3.6](https://github.com/lambci/docker-lambda) Docker image. + +_Disclaimer: I usually don't add in executables from pull requests for security reasons. If you would like to see an executable in this layer make an issue and I'll try to add it._ + ### Included Executables - `$ aws` +- `$ bc` - `$ git` - `$ jq` +- `$ rsync` - `$ scp` - `$ sftp` - `$ ssh` +- `$ sshpass` +- `$ time` +- `$ traceroute` +- `$ tree` - `$ wget` +- `$ vim` - `$ zip` +- `$ unzip` **Already included in the Lambda environment:** +- `$ awk` +- `$ cat` - `$ curl` +- `$ cut` +- `$ date` +- `$ diff` +- `$ grep` - `$ gzip` +- `$ head` +- `$ md5sum` +- `$ pwd` +- `$ sed` - `$ tar` +- `$ tail` +- `$ tee` +- `$ xargs` _If you would like to see more, please create an issue._ diff --git a/bin/PyYAML-3.13.dist-info/DESCRIPTION.rst b/bin/PyYAML-3.13.dist-info/DESCRIPTION.rst deleted file mode 100644 index 94d55d33..00000000 --- a/bin/PyYAML-3.13.dist-info/DESCRIPTION.rst +++ /dev/null @@ -1,12 +0,0 @@ -YAML is a data serialization format designed for human readability -and interaction with scripting languages. PyYAML is a YAML parser -and emitter for Python. - -PyYAML features a complete YAML 1.1 parser, Unicode support, pickle -support, capable extension API, and sensible error messages. PyYAML -supports standard YAML tags and provides Python-specific tags that -allow to represent an arbitrary Python object. - -PyYAML is applicable for a broad range of tasks from complex -configuration files to object serialization and persistance. - diff --git a/bin/PyYAML-3.13.dist-info/INSTALLER b/bin/PyYAML-3.13.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/bin/PyYAML-3.13.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/bin/PyYAML-3.13.dist-info/METADATA b/bin/PyYAML-3.13.dist-info/METADATA deleted file mode 100644 index 84f822a5..00000000 --- a/bin/PyYAML-3.13.dist-info/METADATA +++ /dev/null @@ -1,35 +0,0 @@ -Metadata-Version: 2.0 -Name: PyYAML -Version: 3.13 -Summary: YAML parser and emitter for Python -Home-page: http://pyyaml.org/wiki/PyYAML -Author: Kirill Simonov -Author-email: xi@resolvent.net -License: MIT -Download-URL: http://pyyaml.org/download/pyyaml/PyYAML-3.13.tar.gz -Platform: Any -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: MIT License -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Topic :: Software Development :: Libraries :: Python Modules -Classifier: Topic :: Text Processing :: Markup - -YAML is a data serialization format designed for human readability -and interaction with scripting languages. PyYAML is a YAML parser -and emitter for Python. - -PyYAML features a complete YAML 1.1 parser, Unicode support, pickle -support, capable extension API, and sensible error messages. PyYAML -supports standard YAML tags and provides Python-specific tags that -allow to represent an arbitrary Python object. - -PyYAML is applicable for a broad range of tasks from complex -configuration files to object serialization and persistance. - diff --git a/bin/PyYAML-3.13.dist-info/RECORD b/bin/PyYAML-3.13.dist-info/RECORD deleted file mode 100644 index 04691b28..00000000 --- a/bin/PyYAML-3.13.dist-info/RECORD +++ /dev/null @@ -1,41 +0,0 @@ -PyYAML-3.13.dist-info/DESCRIPTION.rst,sha256=4nzkrOwMTYfusIfdRz4-dl_9Blan5axHPKMiVJEOV-4,534 -PyYAML-3.13.dist-info/METADATA,sha256=U0dUImL7hk_qDCAP0kWKM2_ECiVADYEJNjcAiiaDFxM,1424 -PyYAML-3.13.dist-info/RECORD,, -PyYAML-3.13.dist-info/WHEEL,sha256=b3UV3fudrHl-yDcvYrRzgHdeWy9pAZ--T8TfFPEbJgY,111 -PyYAML-3.13.dist-info/metadata.json,sha256=qc4uIWakd1-A2fUIChRA9_gfnjYR2dU7ChyEhLilO8Y,1013 -PyYAML-3.13.dist-info/top_level.txt,sha256=rpj0IVMTisAjh_1vG3Ccf9v5jpCQwAz6cD1IVU5ZdhQ,11 -yaml/__init__.py,sha256=Qz7WIGATMtHvmu_vLmCcFTaiyZn5ptv2rsNGsdzlnbc,9776 -yaml/composer.py,sha256=pOjZ5afqNfH22WXyS6xlQCB2PbSrFPjK-qFPOEI76fw,4921 -yaml/constructor.py,sha256=S_Pux76-hgmgtJeJVtSvQ9ynmtEIR2jAx2ljAochKU0,25145 -yaml/cyaml.py,sha256=xK_IxkrRcetZeNwB_wzDAHYCWsumOFfsTlk3CeoM5kQ,3290 -yaml/dumper.py,sha256=ONPYNHirnLm-qCm-h9swnMWzZhncilexboIPRoNdcq4,2719 -yaml/emitter.py,sha256=Xya7zhTX3ykxMAdAgDIedejmLb1Q71W2G4yt4nTSMIM,43298 -yaml/error.py,sha256=7K-NdIv0qNKPKbnXxEg0L_b9K7nYDORr3rzm8_b-iBY,2559 -yaml/events.py,sha256=50_TksgQiE4up-lKo_V-nBy-tAIxkIPQxY5qDhKCeHw,2445 -yaml/loader.py,sha256=t_WLbw1-iWQ4KT_FUppJu30cFIU-l8NCb7bjoXJoV6A,1132 -yaml/nodes.py,sha256=gPKNj8pKCdh2d4gr3gIYINnPOaOxGhJAUiYhGRnPE84,1440 -yaml/parser.py,sha256=sgXahZA3DkySYnaC4D_zcl3l2y4Y5R40icWtdwkF_NE,25542 -yaml/reader.py,sha256=hKuxSbid1rSlfKBsshf5qaPwVduaCJA5t5S9Jum6CAA,6746 -yaml/representer.py,sha256=x3F9vDF4iiPit8sR8tgR-kjtotWTzH_Zv9moq0fMtlY,17711 -yaml/resolver.py,sha256=5Z3boiMikL6Qt6fS5Mt8fHym0GxbW7CMT2f2fnD1ZPQ,9122 -yaml/scanner.py,sha256=ft5i4fP9m0MrpKY9N8Xa24H1LqKhwGQXLG1Hd9gCSsk,52446 -yaml/serializer.py,sha256=tRsRwfu5E9fpLU7LY3vBQf2prt77hwnYlMt5dnBJLig,4171 -yaml/tokens.py,sha256=lTQIzSVw8Mg9wv459-TjiOQe6wVziqaRlqX2_89rp54,2573 -PyYAML-3.13.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -yaml/loader.pyc,, -yaml/__init__.pyc,, -yaml/cyaml.pyc,, -yaml/resolver.pyc,, -yaml/reader.pyc,, -yaml/dumper.pyc,, -yaml/constructor.pyc,, -yaml/scanner.pyc,, -yaml/serializer.pyc,, -yaml/nodes.pyc,, -yaml/events.pyc,, -yaml/representer.pyc,, -yaml/error.pyc,, -yaml/tokens.pyc,, -yaml/parser.pyc,, -yaml/composer.pyc,, -yaml/emitter.pyc,, diff --git a/bin/PyYAML-3.13.dist-info/WHEEL b/bin/PyYAML-3.13.dist-info/WHEEL deleted file mode 100644 index 7d7a7cff..00000000 --- a/bin/PyYAML-3.13.dist-info/WHEEL +++ /dev/null @@ -1,5 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.29.0) -Root-Is-Purelib: false -Tag: cp27-cp27m-macosx_10_12_x86_64 - diff --git a/bin/PyYAML-3.13.dist-info/metadata.json b/bin/PyYAML-3.13.dist-info/metadata.json deleted file mode 100644 index 45c21b35..00000000 --- a/bin/PyYAML-3.13.dist-info/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"classifiers": ["Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Text Processing :: Markup"], "download_url": "http://pyyaml.org/download/pyyaml/PyYAML-3.13.tar.gz", "extensions": {"python.details": {"contacts": [{"email": "xi@resolvent.net", "name": "Kirill Simonov", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "http://pyyaml.org/wiki/PyYAML"}}}, "generator": "bdist_wheel (0.29.0)", "license": "MIT", "metadata_version": "2.0", "name": "PyYAML", "platform": "Any", "summary": "YAML parser and emitter for Python", "version": "3.13"} \ No newline at end of file diff --git a/bin/PyYAML-3.13.dist-info/top_level.txt b/bin/PyYAML-3.13.dist-info/top_level.txt deleted file mode 100644 index e6475e91..00000000 --- a/bin/PyYAML-3.13.dist-info/top_level.txt +++ /dev/null @@ -1,2 +0,0 @@ -_yaml -yaml diff --git a/bin/aws b/bin/aws index a9e4eaaa..79e85e17 100755 --- a/bin/aws +++ b/bin/aws @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/python3 # Copyright 2012 Amazon.com, Inc. or its affiliates. All Rights Reserved. # Licensed under the Apache License, Version 2.0 (the "License"). You diff --git a/bin/awscli-1.16.71.dist-info/DESCRIPTION.rst b/bin/awscli-1.16.71.dist-info/DESCRIPTION.rst deleted file mode 100644 index 504a86ed..00000000 --- a/bin/awscli-1.16.71.dist-info/DESCRIPTION.rst +++ /dev/null @@ -1,440 +0,0 @@ -======= -aws-cli -======= - -.. image:: https://travis-ci.org/aws/aws-cli.svg?branch=develop - :target: https://travis-ci.org/aws/aws-cli - :alt: Build Status - -.. image:: https://badges.gitter.im/aws/aws-cli.svg - :target: https://gitter.im/aws/aws-cli - :alt: Gitter - - -This package provides a unified command line interface to Amazon Web Services. - -The aws-cli package works on Python versions: - -* 2.6.5 and greater -* 2.7.x and greater -* 3.3.x and greater -* 3.4.x and greater -* 3.5.x and greater -* 3.6.x and greater -* 3.7.x and greater - -.. attention:: - We recommend that all customers regularly monitor the - `Amazon Web Services Security Bulletins website`_ for any important security bulletins related to - aws-cli. - - ------------- -Installation ------------- - -The easiest way to install aws-cli is to use `pip`_ in a ``virtualenv``:: - - $ pip install awscli - -or, if you are not installing in a ``virtualenv``, to install globally:: - - $ sudo pip install awscli - -or for your user:: - - $ pip install --user awscli - -If you have the aws-cli installed and want to upgrade to the latest version -you can run:: - - $ pip install --upgrade awscli - -.. note:: - - On OS X, if you see an error regarding the version of six that came with - distutils in El Capitan, use the ``--ignore-installed`` option:: - - $ sudo pip install awscli --ignore-installed six - - -This will install the aws-cli package as well as all dependencies. You can -also just `download the tarball`_. Once you have the -awscli directory structure on your workstation, you can just run:: - - $ cd - $ python setup.py install - -If you want to run the ``develop`` branch of the CLI, see the -"CLI Dev Version" section below. - - ------------- -CLI Releases ------------- - -The release notes for the AWS CLI can be found `here `__. - - ------------------- -Command Completion ------------------- - -The aws-cli package includes a very useful command completion feature. -This feature is not automatically installed so you need to configure it manually. -To enable tab completion for bash either use the built-in command ``complete``:: - - $ complete -C aws_completer aws - -Or add ``bin/aws_bash_completer`` file under ``/etc/bash_completion.d``, -``/usr/local/etc/bash_completion.d`` or any other ``bash_completion.d`` location. - -For tcsh:: - - $ complete aws 'p/*/`aws_completer`/' - -You should add this to your startup scripts to enable it for future sessions. - -For zsh please refer to ``bin/aws_zsh_completer.sh``. Source that file, e.g. -from your ``~/.zshrc``, and make sure you run ``compinit`` before:: - - $ source bin/aws_zsh_completer.sh - -For now the bash compatibility auto completion (``bashcompinit``) is used. -For further details please refer to the top of ``bin/aws_zsh_completer.sh``. - ---------------- -Getting Started ---------------- - -Before using aws-cli, you need to tell it about your AWS credentials. You -can do this in several ways: - -* Environment variables -* Shared credentials file -* Config file -* IAM Role - -The quickest way to get started is to run the ``aws configure`` command:: - - $ aws configure - AWS Access Key ID: foo - AWS Secret Access Key: bar - Default region name [us-west-2]: us-west-2 - Default output format [None]: json - -To use environment variables, do the following:: - - $ export AWS_ACCESS_KEY_ID= - $ export AWS_SECRET_ACCESS_KEY= - -To use the shared credentials file, create an INI formatted file like this:: - - [default] - aws_access_key_id=foo - aws_secret_access_key=bar - - [testing] - aws_access_key_id=foo - aws_secret_access_key=bar - -and place it in ``~/.aws/credentials`` (or in -``%UserProfile%\.aws/credentials`` on Windows). If you wish to place the -shared credentials file in a different location than the one specified above, -you need to tell aws-cli where to find it. Do this by setting -the appropriate environment variable:: - - $ export AWS_SHARED_CREDENTIALS_FILE=/path/to/shared_credentials_file - -To use a config file, create a configuration file like this:: - - [default] - aws_access_key_id= - aws_secret_access_key= - # Optional, to define default region for this profile. - region=us-west-1 - - [profile testing] - aws_access_key_id= - aws_secret_access_key= - region=us-west-2 - -and place it in ``~/.aws/config`` (or in ``%UserProfile%\.aws\config`` on Windows). If you wish to place the config file in a different location than the one -specified above, you need to tell aws-cli where to find it. Do this by setting -the appropriate environment variable:: - - $ export AWS_CONFIG_FILE=/path/to/config_file - -As you can see, you can have multiple ``profiles`` defined in both the shared -credentials file and the configuration file. You can then specify which -profile to use by using the ``--profile`` option. If no profile is specified -the ``default`` profile is used. - -In the config file, except for the default profile, you -**must** prefix each config section of a profile group with ``profile``. -For example, if you have a profile named "testing" the section header would -be ``[profile testing]``. - -The final option for credentials is highly recommended if you are -using aws-cli on an EC2 instance. IAM Roles are -a great way to have credentials installed automatically on your -instance. If you are using IAM Roles, aws-cli will find them and use -them automatically. - ----------------------------- -Other Configurable Variables ----------------------------- - -In addition to credentials, a number of other variables can be -configured either with environment variables, configuration file -entries or both. The following table documents these. - -============================= =========== ============================= ================================= ================================== -Variable Option Config Entry Environment Variable Description -============================= =========== ============================= ================================= ================================== -profile --profile profile AWS_PROFILE Default profile name ------------------------------ ----------- ----------------------------- --------------------------------- ---------------------------------- -region --region region AWS_DEFAULT_REGION Default AWS Region ------------------------------ ----------- ----------------------------- --------------------------------- ---------------------------------- -config_file AWS_CONFIG_FILE Alternate location of config ------------------------------ ----------- ----------------------------- --------------------------------- ---------------------------------- -credentials_file AWS_SHARED_CREDENTIALS_FILE Alternate location of credentials ------------------------------ ----------- ----------------------------- --------------------------------- ---------------------------------- -output --output output AWS_DEFAULT_OUTPUT Default output style ------------------------------ ----------- ----------------------------- --------------------------------- ---------------------------------- -ca_bundle --ca-bundle ca_bundle AWS_CA_BUNDLE CA Certificate Bundle ------------------------------ ----------- ----------------------------- --------------------------------- ---------------------------------- -access_key aws_access_key_id AWS_ACCESS_KEY_ID AWS Access Key ------------------------------ ----------- ----------------------------- --------------------------------- ---------------------------------- -secret_key aws_secret_access_key AWS_SECRET_ACCESS_KEY AWS Secret Key ------------------------------ ----------- ----------------------------- --------------------------------- ---------------------------------- -token aws_session_token AWS_SESSION_TOKEN AWS Token (temp credentials) ------------------------------ ----------- ----------------------------- --------------------------------- ---------------------------------- -cli_timestamp_format cli_timestamp_format Output format of timestamps ------------------------------ ----------- ----------------------------- --------------------------------- ---------------------------------- -metadata_service_timeout metadata_service_timeout AWS_METADATA_SERVICE_TIMEOUT EC2 metadata timeout ------------------------------ ----------- ----------------------------- --------------------------------- ---------------------------------- -metadata_service_num_attempts metadata_service_num_attempts AWS_METADATA_SERVICE_NUM_ATTEMPTS EC2 metadata retry count ------------------------------ ----------- ----------------------------- --------------------------------- ---------------------------------- -parameter_validation parameter_validation Toggles local parameter validation -============================= =========== ============================= ================================= ================================== - -^^^^^^^^ -Examples -^^^^^^^^ - -If you get tired of specifying a ``--region`` option on the command line -all of the time, you can specify a default region to use whenever no -explicit ``--region`` option is included using the ``region`` variable. -To specify this using an environment variable:: - - $ export AWS_DEFAULT_REGION=us-west-2 - -To include it in your config file:: - - [default] - aws_access_key_id= - aws_secret_access_key= - region=us-west-1 - -Similarly, the ``profile`` variable can be used to specify which profile to use -if one is not explicitly specified on the command line via the -``--profile`` option. To set this via environment variable:: - - $ export AWS_PROFILE=testing - -The ``profile`` variable can not be specified in the configuration file -since it would have to be associated with a profile and would defeat the -purpose. - -^^^^^^^^^^^^^^^^^^^ -Further Information -^^^^^^^^^^^^^^^^^^^ - -For more information about configuration options, please refer the -`AWS CLI Configuration Variables topic `_. You can access this topic -from the CLI as well by running ``aws help config-vars``. - - ----------------------------------------- -Accessing Services With Global Endpoints ----------------------------------------- - -Some services, such as *AWS Identity and Access Management* (IAM) -have a single, global endpoint rather than different endpoints for -each region. - -To make access to these services simpler, aws-cli will automatically -use the global endpoint unless you explicitly supply a region (using -the ``--region`` option) or a profile (using the ``--profile`` option). -Therefore, the following:: - - $ aws iam list-users - -will automatically use the global endpoint for the IAM service -regardless of the value of the ``AWS_DEFAULT_REGION`` environment -variable or the ``region`` variable specified in your profile. - --------------------- -JSON Parameter Input --------------------- - -Many options that need to be provided are simple string or numeric -values. However, some operations require JSON data structures -as input parameters either on the command line or in files. - -For example, consider the command to authorize access to an EC2 -security group. In this case, we will add ingress access to port 22 -for all IP addresses:: - - $ aws ec2 authorize-security-group-ingress --group-name MySecurityGroup \ - --ip-permissions '{"FromPort":22,"ToPort":22,"IpProtocol":"tcp","IpRanges":[{"CidrIp": "0.0.0.0/0"}]}' - --------------------------- -File-based Parameter Input --------------------------- - -Some parameter values are so large or so complex that it would be easier -to place the parameter value in a file and refer to that file rather than -entering the value directly on the command line. - -Let's use the ``authorize-security-group-ingress`` command shown above. -Rather than provide the value of the ``--ip-permissions`` parameter directly -in the command, you could first store the values in a file. Let's call -the file ``ip_perms.json``:: - - {"FromPort":22, - "ToPort":22, - "IpProtocol":"tcp", - "IpRanges":[{"CidrIp":"0.0.0.0/0"}]} - -Then, we could make the same call as above like this:: - - $ aws ec2 authorize-security-group-ingress --group-name MySecurityGroup \ - --ip-permissions file://ip_perms.json - -The ``file://`` prefix on the parameter value signals that the parameter value -is actually a reference to a file that contains the actual parameter value. -aws-cli will open the file, read the value and use that value as the -parameter value. - -This is also useful when the parameter is really referring to file-based -data. For example, the ``--user-data`` option of the ``aws ec2 run-instances`` -command or the ``--public-key-material`` parameter of the -``aws ec2 import-key-pair`` command. - -------------------------- -URI-based Parameter Input -------------------------- - -Similar to the file-based input described above, aws-cli also includes a -way to use data from a URI as the value of a parameter. The idea is exactly -the same except the prefix used is ``https://`` or ``http://``:: - - $ aws ec2 authorize-security-group-ingress --group-name MySecurityGroup \ - --ip-permissions http://mybucket.s3.amazonaws.com/ip_perms.json - --------------- -Command Output --------------- - -The default output for commands is currently JSON. You can use the -``--query`` option to extract the output elements from this JSON document. -For more information on the expression language used for the ``--query`` -argument, you can read the -`JMESPath Tutorial `__. - -^^^^^^^^ -Examples -^^^^^^^^ - -Get a list of IAM user names:: - - $ aws iam list-users --query Users[].UserName - -Get a list of key names and their sizes in an S3 bucket:: - - $ aws s3api list-objects --bucket b --query Contents[].[Key,Size] - -Get a list of all EC2 instances and include their Instance ID, State Name, -and their Name (if they've been tagged with a Name):: - - $ aws ec2 describe-instances --query \ - 'Reservations[].Instances[].[InstanceId,State.Name,Tags[?Key==`Name`] | [0].Value]' - - -You may also find the `jq `_ tool useful in -processing the JSON output for other uses. - -There is also an ASCII table format available. You can select this style with -the ``--output table`` option or you can make this style your default output -style via environment variable or config file entry as described above. -Try adding ``--output table`` to the above commands. - - ---------------- -CLI Dev Version ---------------- - -If you are just interested in using the latest released version of the AWS CLI, -please see the Installation_ section above. This section is for anyone who -wants to install the development version of the CLI. You normally would not -need to do this unless: - -* You are developing a feature for the CLI and plan on submitting a Pull - Request. -* You want to test the latest changes of the CLI before they make it into an - official release. - -The latest changes to the CLI are in the ``develop`` branch on github. This is -the default branch when you clone the git repository. - -Additionally, there are several other packages that are developed in lockstep -with the CLI. This includes: - -* `botocore `__ -* `jmespath `__ - -If you just want to install a snapshot of the latest development version of -the CLI, you can use the ``requirements.txt`` file included in this repo. -This file points to the development version of the above packages:: - - cd - pip install -r requirements.txt - pip install -e . - -However, to keep up to date, you will continually have to run the -``pip install -r requirements.txt`` file to pull in the latest changes -from the develop branches of botocore, jmespath, etc. - -You can optionally clone each of those repositories and run "pip install -e ." -for each repository:: - - git clone && cd jmespath/ - pip install -e . && cd .. - git clone && cd botocore/ - pip install -e . && cd .. - git clone && cd aws-cli/ - pip install -e . - - ------------- -Getting Help ------------- - -We use GitHub issues for tracking bugs and feature requests and have limited -bandwidth to address them. Please use these community resources for getting -help: - -* Ask a question on `Stack Overflow `__ and tag it with `aws-cli `__ -* Come join the AWS CLI community chat on `gitter `__ -* Open a support ticket with `AWS Support `__ -* If it turns out that you may have found a bug, please `open an issue `__ - - - -.. _`Amazon Web Services Security Bulletins website`: https://aws.amazon.com/security/security-bulletins -.. _pip: http://www.pip-installer.org/en/latest/ -.. _`download the tarball`: https://pypi.org/project/awscli/ - - diff --git a/bin/awscli-1.16.71.dist-info/INSTALLER b/bin/awscli-1.16.71.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/bin/awscli-1.16.71.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/bin/awscli-1.16.71.dist-info/METADATA b/bin/awscli-1.16.71.dist-info/METADATA deleted file mode 100644 index 2b7f1616..00000000 --- a/bin/awscli-1.16.71.dist-info/METADATA +++ /dev/null @@ -1,472 +0,0 @@ -Metadata-Version: 2.0 -Name: awscli -Version: 1.16.71 -Summary: Universal Command Line Environment for AWS. -Home-page: http://aws.amazon.com/cli/ -Author: Amazon Web Services -Author-email: UNKNOWN -License: Apache License 2.0 -Platform: UNKNOWN -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: Intended Audience :: System Administrators -Classifier: Natural Language :: English -Classifier: License :: OSI Approved :: Apache Software License -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.6 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: 3.7 -Requires-Dist: botocore==1.12.61 -Requires-Dist: colorama>=0.2.5,<=0.3.9 -Requires-Dist: docutils>=0.10 -Requires-Dist: rsa>=3.1.2,<=3.5.0 -Requires-Dist: PyYAML>=3.10,<=3.13 -Requires-Dist: s3transfer>=0.1.12,<0.2.0 -Requires-Dist: argparse>=1.1; python_version=="2.6" - -======= -aws-cli -======= - -.. image:: https://travis-ci.org/aws/aws-cli.svg?branch=develop - :target: https://travis-ci.org/aws/aws-cli - :alt: Build Status - -.. image:: https://badges.gitter.im/aws/aws-cli.svg - :target: https://gitter.im/aws/aws-cli - :alt: Gitter - - -This package provides a unified command line interface to Amazon Web Services. - -The aws-cli package works on Python versions: - -* 2.6.5 and greater -* 2.7.x and greater -* 3.3.x and greater -* 3.4.x and greater -* 3.5.x and greater -* 3.6.x and greater -* 3.7.x and greater - -.. attention:: - We recommend that all customers regularly monitor the - `Amazon Web Services Security Bulletins website`_ for any important security bulletins related to - aws-cli. - - ------------- -Installation ------------- - -The easiest way to install aws-cli is to use `pip`_ in a ``virtualenv``:: - - $ pip install awscli - -or, if you are not installing in a ``virtualenv``, to install globally:: - - $ sudo pip install awscli - -or for your user:: - - $ pip install --user awscli - -If you have the aws-cli installed and want to upgrade to the latest version -you can run:: - - $ pip install --upgrade awscli - -.. note:: - - On OS X, if you see an error regarding the version of six that came with - distutils in El Capitan, use the ``--ignore-installed`` option:: - - $ sudo pip install awscli --ignore-installed six - - -This will install the aws-cli package as well as all dependencies. You can -also just `download the tarball`_. Once you have the -awscli directory structure on your workstation, you can just run:: - - $ cd - $ python setup.py install - -If you want to run the ``develop`` branch of the CLI, see the -"CLI Dev Version" section below. - - ------------- -CLI Releases ------------- - -The release notes for the AWS CLI can be found `here `__. - - ------------------- -Command Completion ------------------- - -The aws-cli package includes a very useful command completion feature. -This feature is not automatically installed so you need to configure it manually. -To enable tab completion for bash either use the built-in command ``complete``:: - - $ complete -C aws_completer aws - -Or add ``bin/aws_bash_completer`` file under ``/etc/bash_completion.d``, -``/usr/local/etc/bash_completion.d`` or any other ``bash_completion.d`` location. - -For tcsh:: - - $ complete aws 'p/*/`aws_completer`/' - -You should add this to your startup scripts to enable it for future sessions. - -For zsh please refer to ``bin/aws_zsh_completer.sh``. Source that file, e.g. -from your ``~/.zshrc``, and make sure you run ``compinit`` before:: - - $ source bin/aws_zsh_completer.sh - -For now the bash compatibility auto completion (``bashcompinit``) is used. -For further details please refer to the top of ``bin/aws_zsh_completer.sh``. - ---------------- -Getting Started ---------------- - -Before using aws-cli, you need to tell it about your AWS credentials. You -can do this in several ways: - -* Environment variables -* Shared credentials file -* Config file -* IAM Role - -The quickest way to get started is to run the ``aws configure`` command:: - - $ aws configure - AWS Access Key ID: foo - AWS Secret Access Key: bar - Default region name [us-west-2]: us-west-2 - Default output format [None]: json - -To use environment variables, do the following:: - - $ export AWS_ACCESS_KEY_ID= - $ export AWS_SECRET_ACCESS_KEY= - -To use the shared credentials file, create an INI formatted file like this:: - - [default] - aws_access_key_id=foo - aws_secret_access_key=bar - - [testing] - aws_access_key_id=foo - aws_secret_access_key=bar - -and place it in ``~/.aws/credentials`` (or in -``%UserProfile%\.aws/credentials`` on Windows). If you wish to place the -shared credentials file in a different location than the one specified above, -you need to tell aws-cli where to find it. Do this by setting -the appropriate environment variable:: - - $ export AWS_SHARED_CREDENTIALS_FILE=/path/to/shared_credentials_file - -To use a config file, create a configuration file like this:: - - [default] - aws_access_key_id= - aws_secret_access_key= - # Optional, to define default region for this profile. - region=us-west-1 - - [profile testing] - aws_access_key_id= - aws_secret_access_key= - region=us-west-2 - -and place it in ``~/.aws/config`` (or in ``%UserProfile%\.aws\config`` on Windows). If you wish to place the config file in a different location than the one -specified above, you need to tell aws-cli where to find it. Do this by setting -the appropriate environment variable:: - - $ export AWS_CONFIG_FILE=/path/to/config_file - -As you can see, you can have multiple ``profiles`` defined in both the shared -credentials file and the configuration file. You can then specify which -profile to use by using the ``--profile`` option. If no profile is specified -the ``default`` profile is used. - -In the config file, except for the default profile, you -**must** prefix each config section of a profile group with ``profile``. -For example, if you have a profile named "testing" the section header would -be ``[profile testing]``. - -The final option for credentials is highly recommended if you are -using aws-cli on an EC2 instance. IAM Roles are -a great way to have credentials installed automatically on your -instance. If you are using IAM Roles, aws-cli will find them and use -them automatically. - ----------------------------- -Other Configurable Variables ----------------------------- - -In addition to credentials, a number of other variables can be -configured either with environment variables, configuration file -entries or both. The following table documents these. - -============================= =========== ============================= ================================= ================================== -Variable Option Config Entry Environment Variable Description -============================= =========== ============================= ================================= ================================== -profile --profile profile AWS_PROFILE Default profile name ------------------------------ ----------- ----------------------------- --------------------------------- ---------------------------------- -region --region region AWS_DEFAULT_REGION Default AWS Region ------------------------------ ----------- ----------------------------- --------------------------------- ---------------------------------- -config_file AWS_CONFIG_FILE Alternate location of config ------------------------------ ----------- ----------------------------- --------------------------------- ---------------------------------- -credentials_file AWS_SHARED_CREDENTIALS_FILE Alternate location of credentials ------------------------------ ----------- ----------------------------- --------------------------------- ---------------------------------- -output --output output AWS_DEFAULT_OUTPUT Default output style ------------------------------ ----------- ----------------------------- --------------------------------- ---------------------------------- -ca_bundle --ca-bundle ca_bundle AWS_CA_BUNDLE CA Certificate Bundle ------------------------------ ----------- ----------------------------- --------------------------------- ---------------------------------- -access_key aws_access_key_id AWS_ACCESS_KEY_ID AWS Access Key ------------------------------ ----------- ----------------------------- --------------------------------- ---------------------------------- -secret_key aws_secret_access_key AWS_SECRET_ACCESS_KEY AWS Secret Key ------------------------------ ----------- ----------------------------- --------------------------------- ---------------------------------- -token aws_session_token AWS_SESSION_TOKEN AWS Token (temp credentials) ------------------------------ ----------- ----------------------------- --------------------------------- ---------------------------------- -cli_timestamp_format cli_timestamp_format Output format of timestamps ------------------------------ ----------- ----------------------------- --------------------------------- ---------------------------------- -metadata_service_timeout metadata_service_timeout AWS_METADATA_SERVICE_TIMEOUT EC2 metadata timeout ------------------------------ ----------- ----------------------------- --------------------------------- ---------------------------------- -metadata_service_num_attempts metadata_service_num_attempts AWS_METADATA_SERVICE_NUM_ATTEMPTS EC2 metadata retry count ------------------------------ ----------- ----------------------------- --------------------------------- ---------------------------------- -parameter_validation parameter_validation Toggles local parameter validation -============================= =========== ============================= ================================= ================================== - -^^^^^^^^ -Examples -^^^^^^^^ - -If you get tired of specifying a ``--region`` option on the command line -all of the time, you can specify a default region to use whenever no -explicit ``--region`` option is included using the ``region`` variable. -To specify this using an environment variable:: - - $ export AWS_DEFAULT_REGION=us-west-2 - -To include it in your config file:: - - [default] - aws_access_key_id= - aws_secret_access_key= - region=us-west-1 - -Similarly, the ``profile`` variable can be used to specify which profile to use -if one is not explicitly specified on the command line via the -``--profile`` option. To set this via environment variable:: - - $ export AWS_PROFILE=testing - -The ``profile`` variable can not be specified in the configuration file -since it would have to be associated with a profile and would defeat the -purpose. - -^^^^^^^^^^^^^^^^^^^ -Further Information -^^^^^^^^^^^^^^^^^^^ - -For more information about configuration options, please refer the -`AWS CLI Configuration Variables topic `_. You can access this topic -from the CLI as well by running ``aws help config-vars``. - - ----------------------------------------- -Accessing Services With Global Endpoints ----------------------------------------- - -Some services, such as *AWS Identity and Access Management* (IAM) -have a single, global endpoint rather than different endpoints for -each region. - -To make access to these services simpler, aws-cli will automatically -use the global endpoint unless you explicitly supply a region (using -the ``--region`` option) or a profile (using the ``--profile`` option). -Therefore, the following:: - - $ aws iam list-users - -will automatically use the global endpoint for the IAM service -regardless of the value of the ``AWS_DEFAULT_REGION`` environment -variable or the ``region`` variable specified in your profile. - --------------------- -JSON Parameter Input --------------------- - -Many options that need to be provided are simple string or numeric -values. However, some operations require JSON data structures -as input parameters either on the command line or in files. - -For example, consider the command to authorize access to an EC2 -security group. In this case, we will add ingress access to port 22 -for all IP addresses:: - - $ aws ec2 authorize-security-group-ingress --group-name MySecurityGroup \ - --ip-permissions '{"FromPort":22,"ToPort":22,"IpProtocol":"tcp","IpRanges":[{"CidrIp": "0.0.0.0/0"}]}' - --------------------------- -File-based Parameter Input --------------------------- - -Some parameter values are so large or so complex that it would be easier -to place the parameter value in a file and refer to that file rather than -entering the value directly on the command line. - -Let's use the ``authorize-security-group-ingress`` command shown above. -Rather than provide the value of the ``--ip-permissions`` parameter directly -in the command, you could first store the values in a file. Let's call -the file ``ip_perms.json``:: - - {"FromPort":22, - "ToPort":22, - "IpProtocol":"tcp", - "IpRanges":[{"CidrIp":"0.0.0.0/0"}]} - -Then, we could make the same call as above like this:: - - $ aws ec2 authorize-security-group-ingress --group-name MySecurityGroup \ - --ip-permissions file://ip_perms.json - -The ``file://`` prefix on the parameter value signals that the parameter value -is actually a reference to a file that contains the actual parameter value. -aws-cli will open the file, read the value and use that value as the -parameter value. - -This is also useful when the parameter is really referring to file-based -data. For example, the ``--user-data`` option of the ``aws ec2 run-instances`` -command or the ``--public-key-material`` parameter of the -``aws ec2 import-key-pair`` command. - -------------------------- -URI-based Parameter Input -------------------------- - -Similar to the file-based input described above, aws-cli also includes a -way to use data from a URI as the value of a parameter. The idea is exactly -the same except the prefix used is ``https://`` or ``http://``:: - - $ aws ec2 authorize-security-group-ingress --group-name MySecurityGroup \ - --ip-permissions http://mybucket.s3.amazonaws.com/ip_perms.json - --------------- -Command Output --------------- - -The default output for commands is currently JSON. You can use the -``--query`` option to extract the output elements from this JSON document. -For more information on the expression language used for the ``--query`` -argument, you can read the -`JMESPath Tutorial `__. - -^^^^^^^^ -Examples -^^^^^^^^ - -Get a list of IAM user names:: - - $ aws iam list-users --query Users[].UserName - -Get a list of key names and their sizes in an S3 bucket:: - - $ aws s3api list-objects --bucket b --query Contents[].[Key,Size] - -Get a list of all EC2 instances and include their Instance ID, State Name, -and their Name (if they've been tagged with a Name):: - - $ aws ec2 describe-instances --query \ - 'Reservations[].Instances[].[InstanceId,State.Name,Tags[?Key==`Name`] | [0].Value]' - - -You may also find the `jq `_ tool useful in -processing the JSON output for other uses. - -There is also an ASCII table format available. You can select this style with -the ``--output table`` option or you can make this style your default output -style via environment variable or config file entry as described above. -Try adding ``--output table`` to the above commands. - - ---------------- -CLI Dev Version ---------------- - -If you are just interested in using the latest released version of the AWS CLI, -please see the Installation_ section above. This section is for anyone who -wants to install the development version of the CLI. You normally would not -need to do this unless: - -* You are developing a feature for the CLI and plan on submitting a Pull - Request. -* You want to test the latest changes of the CLI before they make it into an - official release. - -The latest changes to the CLI are in the ``develop`` branch on github. This is -the default branch when you clone the git repository. - -Additionally, there are several other packages that are developed in lockstep -with the CLI. This includes: - -* `botocore `__ -* `jmespath `__ - -If you just want to install a snapshot of the latest development version of -the CLI, you can use the ``requirements.txt`` file included in this repo. -This file points to the development version of the above packages:: - - cd - pip install -r requirements.txt - pip install -e . - -However, to keep up to date, you will continually have to run the -``pip install -r requirements.txt`` file to pull in the latest changes -from the develop branches of botocore, jmespath, etc. - -You can optionally clone each of those repositories and run "pip install -e ." -for each repository:: - - git clone && cd jmespath/ - pip install -e . && cd .. - git clone && cd botocore/ - pip install -e . && cd .. - git clone && cd aws-cli/ - pip install -e . - - ------------- -Getting Help ------------- - -We use GitHub issues for tracking bugs and feature requests and have limited -bandwidth to address them. Please use these community resources for getting -help: - -* Ask a question on `Stack Overflow `__ and tag it with `aws-cli `__ -* Come join the AWS CLI community chat on `gitter `__ -* Open a support ticket with `AWS Support `__ -* If it turns out that you may have found a bug, please `open an issue `__ - - - -.. _`Amazon Web Services Security Bulletins website`: https://aws.amazon.com/security/security-bulletins -.. _pip: http://www.pip-installer.org/en/latest/ -.. _`download the tarball`: https://pypi.org/project/awscli/ - - diff --git a/bin/awscli-1.16.71.dist-info/RECORD b/bin/awscli-1.16.71.dist-info/RECORD deleted file mode 100644 index 2fcc33be..00000000 --- a/bin/awscli-1.16.71.dist-info/RECORD +++ /dev/null @@ -1,1945 +0,0 @@ -awscli/help.py,sha256=QbMnlo1HVtO0pgXQEY3d_zpy1OxpNySZFzPw0Cf_7pM,13605 -awscli/text.py,sha256=9pgaZcnPEixyw_C4h5vIgQQBQ1SqtDXPpqVGDRoubVM,4284 -awscli/argparser.py,sha256=A0r_ZBuHNsHV5MSF1PgoRBeSnZyBusl5QV5tkJB5dVQ,7299 -awscli/shorthand.py,sha256=_MY7MR_SFVM-j183qRRZ2eEyCgC9wWvbmaOeocmkllY,14674 -awscli/clidocs.py,sha256=nxC-n8AgIm0gQ1y-YplAQzVeauyJvgawjnax9bO4iwM,27221 -awscli/table.py,sha256=J9G4GlWiubVBzLh-jVFnX3jXUwX50PexAnoc0b3U9u8,15327 -awscli/testutils.py,sha256=Fh-U8qAYwCooI1FsMLk3dFNZFhjlP9XKcA0yB8i1YNw,33338 -awscli/plugin.py,sha256=B3wgRerhgFK1v-QQeASYv2VNLSa9oMuD4X_hcLSescI,2265 -awscli/completer.py,sha256=P7Gq8dlsvdQH2IXx4QWjBils3Q_5NDDHu-hUcOj0mlU,5875 -awscli/paramfile.py,sha256=lPdVmy2O1-er7lZVQCVvpvJCcjkBVsJzjG37XGnbTHY,9450 -awscli/schema.py,sha256=I5b6SqddJPuPIAv8i_hcRHkUigUZj7w7ompC1QuUKw8,6396 -awscli/argprocess.py,sha256=XHnBLBAUtxr7M4jGCxODZXTRcmBsLROjO7OVs6mQk2s,20698 -awscli/arguments.py,sha256=uF9GSCtt_5diupNvXyHAkvIoAEh6EgSk9t58nGj7_nw,18818 -awscli/errorhandler.py,sha256=G5cQC5b2OwD40zoOtAYBFri33Y-Ynh3mYgMrJYDVjG4,3027 -awscli/__main__.py,sha256=jmrMqZY0WS5oklkkuLG--Vv34ElVF1qhrXm09X-Q9HE,662 -awscli/utils.py,sha256=Lv4u3P12D7TgQ_ZUOlK_K4pPPFuwiW4SIPHrQzruF94,6296 -awscli/handlers.py,sha256=VjGau3RQb_KU1w1z4GyZKTd3FRJ0wwPIUDdOwf4-YWs,9587 -awscli/commands.py,sha256=jpbD3p-Bz9Tz-hd13uj-uA3afx026iKNOYaDMHmviTA,2106 -awscli/topictags.py,sha256=Vq41pF4sbO_Vo7EkDHlv8dzu-x-pw3e13lQ8CciKp5Y,12651 -awscli/clidriver.py,sha256=NsLGn2SEMHxYyv-sObO30kaN3niVqPXM6QIB5iWZEaI,26384 -awscli/compat.py,sha256=POwJvveh1VKDz5K4s-VEJBElVkKcrHjwPgLfosS6c5A,13647 -awscli/formatter.py,sha256=w0uvlCdN3GnY7i7SwQ5B8mScYyeFk2VkmfQjjqLfBBc,11122 -awscli/__init__.py,sha256=-ihiuaO5L5nrC8Twqp1D33WXSB0NXJos83EmmFOiZiM,1466 -awscli/alias.py,sha256=JnX9GsCEFGqeVWms4oFhoPT5HTAfFhi-wvEjkNxSLf4,11214 -awscli/examples/ec2/describe-instance-attribute.rst,sha256=W5qVSFaWjSvV-ZvbCq2kkIR5lpocaWlDaDSf7dxPRCE,1695 -awscli/examples/ec2/create-vpc-peering-connection.rst,sha256=zmnY1K9psrow60xl_3JwhSVQVk4iKRo5HwyNdeb98b0,1971 -awscli/examples/ec2/associate-route-table.rst,sha256=_22MuIifivsDbqBFUoX6_W_X4yKfmR1yJ4V0Ytuym3E,286 -awscli/examples/ec2/describe-vpc-endpoint-service-configurations.rst,sha256=YpoS45vzKzsi2J-Hj4S7SPTWgDIhyKDjUOrEe1y3mQ8,985 -awscli/examples/ec2/get-launch-template-data.rst,sha256=LMGxTzF5NTC029mBduTzBI7dsRqDbysPtKE4hHE7I6Q,1592 -awscli/examples/ec2/release-hosts.rst,sha256=ryUv_FQrZ1cS8t_iuAEBdiyclNd3HhiLhIji1UqTFLE,376 -awscli/examples/ec2/create-security-group.rst,sha256=qyfXr5MxM1JS9vo8S6qFVAoDiL6TMtuq97-kFwTdaK4,775 -awscli/examples/ec2/create-network-interface.rst,sha256=gVKwC8tb-wRT15PxNgZGlKrXYhvX7xt56MCAX7pfpD0,1138 -awscli/examples/ec2/create-vpc-endpoint-connection-notification.rst,sha256=OZAwrdjIgZYZlEHT29EJu9zD6w6UsVim7R79aIcbys8,921 -awscli/examples/ec2/accept-vpc-peering-connection.rst,sha256=xxOVMKH4TepZErom1jluhbPLew2OQM56VxRlBOpCo14,691 -awscli/examples/ec2/unassign-private-ip-addresses.rst,sha256=fR90dDPeAH-LsVtGIy5SxchuRD2GI9i52nplVOQzYXw,336 -awscli/examples/ec2/attach-network-interface.rst,sha256=Kk3E7xaUPWMCGzaRXdaAM4ZE5NZuB3_MF29lCKalGmA,327 -awscli/examples/ec2/describe-snapshot-attribute.rst,sha256=YdA9nN9FOfAYo2y_PVgDAxyCpyx3S6P1hIuO0-FOMX8,401 -awscli/examples/ec2/describe-subnets.rst,sha256=lAiWqyrAPv1wOMtm2cxOBmS_YF5lmae7DVqsc6zq3SM,1912 -awscli/examples/ec2/modify-identity-id-format.rst,sha256=s47JzAkkgh5g_8fhI9JWrE3TOdyuIVh-gbVGAuhi6ys,1127 -awscli/examples/ec2/describe-internet-gateways.rst,sha256=Ok40R3mk2a1Lzn5wVadHWkPpGji53MIUco9JjMxYau4,1171 -awscli/examples/ec2/terminate-instances.rst,sha256=jwETBBXPTez7jRGxCRQPQ27UmVLT1k8y91F8_QbDVx4,745 -awscli/examples/ec2/reboot-instances.rst,sha256=Pbc59vmCwuLihIhESXpdNPyUkXaCUhVU3q8Uc-uc4Sc,412 -awscli/examples/ec2/restore-address-to-classic.rst,sha256=blW1Pl18eUJShug_0xEkjkhIW3739qq7kZ0Kzc3aduM,282 -awscli/examples/ec2/cancel-bundle-task.rst,sha256=QvvN395ijIqWb-lS_i3BbXutcq7v6FzdUikNGaChLIw,514 -awscli/examples/ec2/create-vpn-connection-route.rst,sha256=pXLb7g0PmxlKkH5qM2PdTqoVhp0OJnLfCquP58__Yts,290 -awscli/examples/ec2/request-spot-instances.rst,sha256=vaeuamSE_vPF4lslzIgMkVPGTMgAOa7gFQ83-NY4dBA,4991 -awscli/examples/ec2/describe-route-tables.rst,sha256=sCFGU79AiRLcUD0FN-Q2iFg1fITAXsdO-gZqsxiB7lE,3349 -awscli/examples/ec2/associate-iam-instance-profile.rst,sha256=Gt5GgQkzluUn3CIW80Dh0T_9IoEQaYo7mr4vIvD8zqA,650 -awscli/examples/ec2/associate-address.rst,sha256=JAoimG31VIZuCQKFQBH0OW936i3NPEPWHp4YOAu7HeM,1014 -awscli/examples/ec2/describe-vpc-endpoints.rst,sha256=xGJXg2tkLi9TSP_GNsT_EXHruCT6mU5OLA4lostZH-k,2553 -awscli/examples/ec2/describe-launch-template-versions.rst,sha256=hwqba9Ri6BVt6SK7kyOoG7QV2w6umM1LawB9a9_fCGY,2809 -awscli/examples/ec2/describe-prefix-lists.rst,sha256=bu5EHyX9JePqXQHlWEMSxtAYM0VwVOItA0ugJJTUgiA,350 -awscli/examples/ec2/delete-launch-template.rst,sha256=es8FVBCFY9mQtXCkOT-ylkIN_u4-CVY12u8G1q34CGM,496 -awscli/examples/ec2/create-vpc.rst,sha256=Bs580pLPU4HXiwIeSOzebaqdjwpS3c8W2jueKhbean4,2582 -awscli/examples/ec2/delete-flow-logs.rst,sha256=n7G9prgb_LjxlYjqOa6afQXkRsAdBneoYSIioYRa1MU,179 -awscli/examples/ec2/modify-instance-attribute.rst,sha256=ufHntvb42QbKE4AlOXo9hx0AaeKeSxfmw5iYDCg-_7w,1476 -awscli/examples/ec2/describe-vpn-connections.rst,sha256=y12_vxkSCq-x05wn98xoT5DAL48nTEbCsNBsHRv7FVk,1629 -awscli/examples/ec2/describe-reserved-instances.rst,sha256=KKT0yB5MF2foYqEmFeCX7ioTXUTNEdanzccGBgg1jpM,2320 -awscli/examples/ec2/create-vpn-connection.rst,sha256=fcy2BGxqkExFOWDdT0gJpb2X_nGsg68xvoLFxmFK5-8,2477 -awscli/examples/ec2/describe-vpc-endpoint-connection-notifications.rst,sha256=jTZgItGiWHc0mZQPT5GrRCJKowkvpLI6-GJrbvp2al4,754 -awscli/examples/ec2/get-password-data.rst,sha256=xSZRwl32mknTv0vXMXn2jPwlcagW0NHNSJNyJ7z2Eq8,979 -awscli/examples/ec2/run-instances.rst,sha256=iuIla79Rxs90kLU_A45oNj8a1CEUNHy_GOOYzP8lpao,12193 -awscli/examples/ec2/assign-private-ip-addresses.rst,sha256=ZXWQesow8d9-JtA6PqxHjcth6jOwdDlnHaX3QyqeVSI,866 -awscli/examples/ec2/disassociate-subnet-cidr-block.rst,sha256=nzJV_o3x8HePpo47hOu9w51zbls8SJZ7iNs6t0i-l1I,539 -awscli/examples/ec2/describe-vpc-classic-link.rst,sha256=jasVu1ItTEKW28mFDp1meDZP7ax-W1EriAvvWHWPxvE,659 -awscli/examples/ec2/describe-instances.rst,sha256=Nso3gNBaipdFgQVZ-rPMWfrsDT_iihVdCileleVyxGM,2003 -awscli/examples/ec2/associate-dhcp-options.rst,sha256=PEbGfnPIaQCJ2a8CSqakqdaaMDTXmOjd838mnSzNB_w,557 -awscli/examples/ec2/detach-internet-gateway.rst,sha256=L39Azv2dXu1sGUvRG9oMH8BKE19O-rOIZqdRUOdeR1Y,277 -awscli/examples/ec2/create-internet-gateway.rst,sha256=hfeM8bAAdi3mtwk41cegC6fLvplcntGf_uxJpB0e0SU,274 -awscli/examples/ec2/describe-vpc-attribute.rst,sha256=vovvcrL97xU2B-HbuxB5E8R9aLVCqlnSOzwUTUkFWGI,1045 -awscli/examples/ec2/delete-vpc-endpoints.rst,sha256=KTrqO3t2HxRPr65MmyDKGgAs3_qshdYMviEdKnUY4gw,373 -awscli/examples/ec2/describe-network-interface-permissions.rst,sha256=cF_aWhNpfcq9F3EkmnyfpwNa3VYQGV9Mg1f2tQ5kQpY,559 -awscli/examples/ec2/modify-vpc-peering-connection-options.rst,sha256=4kidEKaus7MxuVMvazRoM6mBuqL_vVNLxNpwhhHTMLc,1830 -awscli/examples/ec2/reset-image-attribute.rst,sha256=BtZMdZEkYSfPi2rSfxm31HIfRJpfjYa39OFERrsdCP4,319 -awscli/examples/ec2/get-reserved-instances-exchange-quote.rst,sha256=y5yWKp-LZTZ8yNvEmnLgqWtMx8bB5ULI7Gcita65GVY,1633 -awscli/examples/ec2/modify-id-format.rst,sha256=cwSYVDQkSqYKvJtlQ_jFWgFLmFGJCxdo9OnEMGKMqhA,763 -awscli/examples/ec2/unmonitor-instances.rst,sha256=bmQC6LCVJiMDfkN7EBmZao0EPPO5RmyZxwAPmXheMek,409 -awscli/examples/ec2/create-instance-export-task.rst,sha256=CBIVQL-kJPdhGfwjTs1VthHLrUoVm31_WKtZrrY8r9s,921 -awscli/examples/ec2/create-network-interface-permission.rst,sha256=-FuTJc8CMY-Xeukw-jKHP1uOFu3OxolVS_b2qX5IkMY,643 -awscli/examples/ec2/describe-id-format.rst,sha256=8X_U__yTBhcqaydANrXbMPEDMUqSxPIpdGOWFJr3imM,3958 -awscli/examples/ec2/enable-vgw-route-propagation.rst,sha256=LriqYxP59fHYzgAH7zEFo0ian2mO627681NcOTva1cU,304 -awscli/examples/ec2/delete-subnet.rst,sha256=jHmFc6IYVp8zSSU7PfOyAk-8PB6a-ccjRfko9Q8vEE0,179 -awscli/examples/ec2/copy-snapshot.rst,sha256=KrIbFZV7eHwQXe9pce4Jf3zEmJR7zrHrUGvsMFHNuAw,462 -awscli/examples/ec2/describe-vpc-endpoint-services.rst,sha256=drXgVqjjEcmJfOXRozE0JJHXTD2q_bGMFsVvEpBvUeI,5619 -awscli/examples/ec2/copy-fpga-image.rst,sha256=6VWbztfLo76g5ueRc84Fc0KvFRM15N-m7SRJMMCGeKQ,347 -awscli/examples/ec2/modify-launch-template.rst,sha256=AXynLuzV6YQvDAVGx9Vii6FjlH9VYgffdz4qy15bzE4,570 -awscli/examples/ec2/modify-image-attribute.rst,sha256=A8uGU6ZAmlSuAivMD9EWGEnSnzhrJooufi_jqoix0jU,1048 -awscli/examples/ec2/describe-fpga-images.rst,sha256=iDrtuUNAlR3VBkCKD6iHhZ-Q3FjOlWHextlGs5IfohA,942 -awscli/examples/ec2/describe-key-pairs.rst,sha256=J0S9QG-XaexfcTBwAbTsMduQLO0KBSLNMAFm7RqeeHQ,557 -awscli/examples/ec2/modify-vpc-endpoint-service-configuration.rst,sha256=ROzeShTIsVg_UqgQhtI2eNsRNZGYMo3JFzAikc3msK4,302 -awscli/examples/ec2/cancel-conversion-task.rst,sha256=hB-UlstSTIAHbWGPk1dmWQzhkk2zu80rfPJytPae9Gk,274 -awscli/examples/ec2/describe-egress-only-internet-gateways.rst,sha256=Cd_krARHgrdQ0ZECv9o4ZZOH4VzsM43a_bu9_IoiIFQ,487 -awscli/examples/ec2/create-network-acl.rst,sha256=h-Dve97tMezSR7uzy10z6YlOUbudheHS8WG5xT4L4zo,844 -awscli/examples/ec2/create-dhcp-options.rst,sha256=pppLG4CRIQ5OLlgmK6IEzQCx6GXLIvaXoiXaEhBsrQA,527 -awscli/examples/ec2/describe-image-attribute.rst,sha256=bAoti_hIXe48z_CUSGEDVnk14mrIaKI4k89KuGQufjk,699 -awscli/examples/ec2/describe-reserved-instances-offerings.rst,sha256=e8cmOZ1ViJLMH9EjTgyBBVYX6DfwRwNpLMbJuOxGsAE,3560 -awscli/examples/ec2/describe-flow-logs.rst,sha256=V51jWKMxp-dvzfZQJLLu4gCAxTcGcTXy3cKgBnnpZY8,704 -awscli/examples/ec2/delete-egress-only-internet-gateway.rst,sha256=_275zLi_8DMY5dKRoB_aAzpFqDSQXS8nK3FZCM8lqrY,268 -awscli/examples/ec2/accept-reserved-instances-exchange-quote.rst,sha256=jQeLEd2qwmoO48yIuYVnCHMmkMD-a-OGmnAk4P2VcqQ,416 -awscli/examples/ec2/accept-vpc-endpoint-connections.rst,sha256=WfmQJblgsn21J_XdCYN0s1cp6XQ_77AIJKUWGAvRVIM,334 -awscli/examples/ec2/describe-stale-security-groups.rst,sha256=VFwTx8rd-6nxBQde2sWw9nfPWwzGd_Y0UstP6jE-lS0,2089 -awscli/examples/ec2/disable-vpc-classic-link.rst,sha256=t0H7-vL8zt8-ygmJZlHLwS90D95VMlRLZAuc3RVLSOk,195 -awscli/examples/ec2/create-placement-group.rst,sha256=2XN1Fkq6gYJhkJ1RWCIGNaATUzZYWn6oAC5PjI6RC3U,193 -awscli/examples/ec2/detach-vpn-gateway.rst,sha256=ZCH4s9yQqqXuENjaznDQDLtZMj21jMk-YQPjygQ9RTw,280 -awscli/examples/ec2/stop-instances.rst,sha256=VFqQXF-bGs3Bi6dNQe52N6TASY90-QoewnDoMkKyhOg,775 -awscli/examples/ec2/create-default-vpc.rst,sha256=ijgtT8tHf2YtjBc9QcAH3GPbJ9r2sg_9CqXIY0gSxiw,417 -awscli/examples/ec2/purchase-scheduled-instances.rst,sha256=6NomZ6oUgREOx4Y-YWcAzrJP1VN8tpfST8Jp9JbywRc,1289 -awscli/examples/ec2/deregister-image.rst,sha256=4hCEoJ7PKxmpTUyvcgVXPG8tHH9p-of_CmSa4GUzP2s,181 -awscli/examples/ec2/describe-availability-zones.rst,sha256=alvVBoVKfUAAMJ3PORwbFioVUYMEw_hJjhvYOunOz8A,802 -awscli/examples/ec2/modify-vpc-endpoint-service-permissions.rst,sha256=lIA-w93BY_bDgd4QPQFRNvaKLqfiiDhuLU8fqRmHzyw,625 -awscli/examples/ec2/revoke-security-group-ingress.rst,sha256=FZilUqh2GNHH7Q2E56Ol-MhguAR9Xq9rAhisNVos3Bs,1044 -awscli/examples/ec2/create-vpn-gateway.rst,sha256=dprktkRmpQmK_2kzYglVtm16VSvZOSnlAsSx2ZIa8bw,868 -awscli/examples/ec2/start-instances.rst,sha256=JF9ORHlvG3KCtQlJZ7ogeaEa4Ulpak2w5VG4JvjC1hk,776 -awscli/examples/ec2/describe-regions.rst,sha256=ylaDr8mzZzA2B-WjHTLzS21g2d0N8IUMIt85adJeNuk,1870 -awscli/examples/ec2/describe-volume-attribute.rst,sha256=kGOIOw7SKa0NAJr3eORfZLgsRXcxXlkNWW6GZj0_1N4,383 -awscli/examples/ec2/describe-spot-price-history.rst,sha256=WJrjr0KNxDHoNzVGOwuvzV5ccpjDhGv5e-dcwkwrCjE,2121 -awscli/examples/ec2/create-key-pair.rst,sha256=FBy6rOueSKi0LMmGjMjz37lx1adVquR0pcRxNG6ptCA,435 -awscli/examples/ec2/modify-vpc-endpoint-connection-notification.rst,sha256=4krwxgmitml7uARdLN9hlVbFy0Jtcs9r5tT8s7Ifrt4,407 -awscli/examples/ec2/delete-vpc-peering-connection.rst,sha256=1zEmNXkvxe5OYsjOV5GtMwpxdPp4o34cQ8Byjh-2rRs,232 -awscli/examples/ec2/revoke-security-group-egress.rst,sha256=pRtpNJ7qN0H2DGKpCrGy2GOKV9AEZ4CgQm8fI50OAeA,760 -awscli/examples/ec2/modify-volume-attribute.rst,sha256=k8WGx_Xxwjw1AfRYYc-kdzNYddz-lMUjkAC7wQSw7Bk,293 -awscli/examples/ec2/modify-vpc-attribute.rst,sha256=_UB1hwJy9jpdtSF4xiQeMv3pBABnlxcH1oWfz-oRN88,930 -awscli/examples/ec2/detach-classic-link-vpc.rst,sha256=NWI4bA-pKbmgwF0HdsOC-Yw_oKtMRlpitP2Z7WUqZnA,271 -awscli/examples/ec2/describe-vpcs.rst,sha256=0zbci0IMuH7dlzLcNd88TPRY3zxp4OkzXveiF8Rt57Y,3303 -awscli/examples/ec2/enable-vpc-classic-link.rst,sha256=Mks7NgPK9F_PiwouIIglHe7V-OZbUVprG43sH8AjmlY,192 -awscli/examples/ec2/report-instance-status.rst,sha256=LEVptv5-OZBwZwUt9VDeVF-UexDNNynm2qygpUwbn8g,243 -awscli/examples/ec2/modify-network-interface-attribute.rst,sha256=cuAJrJbSXksXISHWL85GZ4hfM8CrrxHhJ51Px8iReuk,1181 -awscli/examples/ec2/run-scheduled-instances.rst,sha256=yJs3HHpLhGnrmJma74ArQD1DBwpBjdFo15D4PH-7SIE,1387 -awscli/examples/ec2/describe-spot-fleet-requests.rst,sha256=zwF5gXLTnP62E1SgSRodtanmU7E0NghdjF9m85Z81Jo,4931 -awscli/examples/ec2/create-default-subnet.rst,sha256=9ebTG1N0KHqGmHnmHtricib416iHANclxTn-V1C1IwM,620 -awscli/examples/ec2/create-vpc-endpoint-service-configuration.rst,sha256=uBQQmV8a_YwFgEmq9CyV5KFfcQxeuMvb-OF6JFvudUE,1181 -awscli/examples/ec2/describe-images.rst,sha256=KnhcZkh9uIKDl50JF7mRL8aB5w_UpX8QmqXOSCY-OJY,1866 -awscli/examples/ec2/create-vpc-endpoint.rst,sha256=h8BzXFX09Ad8LkLfqKjuzRXPjmeVW7YiXR7-i-F8FPw,2766 -awscli/examples/ec2/delete-vpc.rst,sha256=8yXUF3iDD6rp2ZuGlPwpM-WIfUvDZKDNswwaVyWLzZE,164 -awscli/examples/ec2/describe-tags.rst,sha256=WKPudFukDP_WnARGZRCMgBFxxGjJo8OAcFKk4JJGS7g,3934 -awscli/examples/ec2/describe-hosts.rst,sha256=xL6cVcGiNQ-adp7MYdRqrkrSxhQlxr4o9P9e1yl_UUU,1445 -awscli/examples/ec2/attach-vpn-gateway.rst,sha256=JtrIXoUV9Gr7xnb6XH2n_jdfLuv_eDMAGa7aJ9dTnTg,346 -awscli/examples/ec2/create-fpga-image.rst,sha256=uEQjFlNi33RlbVUiqYhpQbsHS91NbUmWehwft3E6y74,451 -awscli/examples/ec2/confirm-product-instance.rst,sha256=c8rWGguZrdYdrXMBDVeLQA7Fn0dwTLwKyTGELNwZy2o,292 -awscli/examples/ec2/describe-placement-groups.rst,sha256=TDhh4TRCZPiSY_Y1IUVyUE7z1rpwT6NhbelybGMVUYk,354 -awscli/examples/ec2/attach-classic-link-vpc.rst,sha256=E_IcPkLGpxMyoxgb6KUI9JUuf3tYaolBcdBIlvx2z3w,328 -awscli/examples/ec2/create-snapshot.rst,sha256=KSeCenj99t-Jvo1XfJag_RSC8-MOjXa_tVFBGNmAz4o,1532 -awscli/examples/ec2/register-image.rst,sha256=CFCECcfJ-WVBWRm_zheBXmbZM3-VnNhJbRxigYnDz58,999 -awscli/examples/ec2/request-spot-fleet.rst,sha256=qdTPI5-ZuMq7LeRfCCX4NfEE1xdm7452o6JWmNXRUFQ,5123 -awscli/examples/ec2/disable-vgw-route-propagation.rst,sha256=rRlVd84tTWvwrfUvviH-RpJeY75B-mUdD2yR2kZb1go,311 -awscli/examples/ec2/describe-instance-status.rst,sha256=ddNqW0jA2ghQngUcXSPhnJ9uIr1ffxdn4Se2fAlZqsY,1042 -awscli/examples/ec2/create-network-acl-entry.rst,sha256=V3YSdAoKdRAJUG2yZWGC1ou3c266WO2xaDjbgwfsI2Y,778 -awscli/examples/ec2/enable-volume-io.rst,sha256=v_jnTTryedmHVu29iHB3FERKekPfskgfr_Y2EBx8ssg,206 -awscli/examples/ec2/describe-spot-datafeed-subscription.rst,sha256=DWPwvWWKzgUochWJicvPymgsUz-moZsn1S7mkZU_JQk,385 -awscli/examples/ec2/reset-snapshot-attribute.rst,sha256=0sxK3kVDU_sMrYBJqXpLHbV-fOn3wSb8oQiOQddlyhA,294 -awscli/examples/ec2/create-nat-gateway.rst,sha256=w7QIMXac9yurxf3DMIqFUndtbO6ij6oDHy66QezaSXw,645 -awscli/examples/ec2/cancel-export-task.rst,sha256=GfbCGO2928mGOVOa0YC1Qg7PekuFa_HRfiYG3x1mS5g,240 -awscli/examples/ec2/describe-scheduled-instance-availability.rst,sha256=IG_fo6b1XNoF141Fu7rPfKhbiucDG_Wycddekt9cVmw,1422 -awscli/examples/ec2/create-launch-template-version.rst,sha256=PNd1z4kVrjNcSom-cbDX_X_HcoyAyHWvVjHSqSeTFIc,1273 -awscli/examples/ec2/replace-route.rst,sha256=zLojlhga9XC_azv7HpBSkV5aqYlGKbxzR164Ny-f5R4,377 -awscli/examples/ec2/create-egress-only-internet-gateway.rst,sha256=dXSONRSikexgWKJHsDfcvYdI9j6jJpuIMB-r9eIPAl8,469 -awscli/examples/ec2/describe-vpc-classic-link-dns-support.rst,sha256=65FNoIerJVGC9hlw-7u_Iltb1PTEUCnt_L9ZHGih9TM,416 -awscli/examples/ec2/disassociate-iam-instance-profile.rst,sha256=MM7VPeHMfdwl2_v-q115FE89B1hr_fvfA7-SMqZkDKc,614 -awscli/examples/ec2/describe-network-interfaces.rst,sha256=WN3J3I6t_kcTmlDQV6kCUkMnoMsZhB9_Pk-wn-6SA4I,5295 -awscli/examples/ec2/delete-network-interface-permission.rst,sha256=XKDm5nriWvJqSmjl8v2-mMHYRnQ6-98YiR4cwTBPtzw,267 -awscli/examples/ec2/authorize-security-group-ingress.rst,sha256=s0yN_1Z2Xr5m-naX1H1vtQDWkhcPobVoSjvhoOMyJMg,4921 -awscli/examples/ec2/describe-nat-gateways.rst,sha256=ih6HyEaoLvQqES11oWtvsGhnamnNMDHUfkSXW6sjpB8,1398 -awscli/examples/ec2/delete-network-interface.rst,sha256=84ZVo2Ct6jdMcOSEo12inf51rYqDsdgvUVf2GXzautk,220 -awscli/examples/ec2/describe-network-acls.rst,sha256=jsqxRfyd4gv7rtUL3LSAqNq7otOIaIKaP99r6xzi3Ok,5592 -awscli/examples/ec2/describe-host-reservation-offerings.rst,sha256=CNgKJElbijOiUSPYUkaFqb-90jNtpNpdzRA6xU0ghm0,1908 -awscli/examples/ec2/describe-vpn-gateways.rst,sha256=VAgjYy7cE2rduig3fWFs8neFLTsjcVldmSANJXOmQg8,834 -awscli/examples/ec2/describe-classic-link-instances.rst,sha256=IJh5-bLWJaCAbIDMxm8ZhPyIvMSamZNctjY4TIpZ82c,1248 -awscli/examples/ec2/delete-vpn-connection.rst,sha256=RoVxpq9y4eyUEP45sLmcLDrAhKFlB7MDxyaMiR06nGU,208 -awscli/examples/ec2/disassociate-route-table.rst,sha256=lcdP2ipfhV6iXtHRaSv5IkDKzl6y8T30Lo40n3P47TM,245 -awscli/examples/ec2/authorize-security-group-egress.rst,sha256=z8qeE-wOxgcgXW4RzSz0aBtJdsfPYQtecTVTdCI1TSY,1065 -awscli/examples/ec2/describe-customer-gateways.rst,sha256=ZcQEG2DM-jJi_HEr0hMSI5Kfi9XT1ZKLClz3WaxnLuo,1090 -awscli/examples/ec2/describe-aggregate-id-format.rst,sha256=kzvt3iu9UOzAWqZV3Llb7ph7zMIwE-TN8R3IeiZ_n3s,4735 -awscli/examples/ec2/describe-security-group-references.rst,sha256=JG7wqFgvRJ9Qsr5coc8Laa3ebM2h79KmN7y1Q_aXJHk,543 -awscli/examples/ec2/move-address-to-vpc.rst,sha256=Tod51vcaNKM29SZHWfbSATb5wswRMhxATaui1TMXkBE,225 -awscli/examples/ec2/describe-volumes.rst,sha256=F7HmRMG2lmz1X2H4E36Bis5xhpCz2-VssQRQrFcGyyE,4151 -awscli/examples/ec2/cancel-spot-fleet-requests.rst,sha256=LkAA04g2jxI2mtRoEQgQ0x0TQe5MASM0rx9cVI0b950,1140 -awscli/examples/ec2/create-launch-template.rst,sha256=x7cwv_1rUq0NEqo4FIPmKbXRH0zL6RpMPnVOWsiMkXM,1024 -awscli/examples/ec2/delete-network-acl.rst,sha256=xKli2R8P8c1xIXpo8WRQYaI0GmzcdrjN8igAdFY8TZs,196 -awscli/examples/ec2/describe-export-tasks.rst,sha256=U43PdOMBbA32nXIf10ex5bkili8yRDJ03cswap3Qlog,807 -awscli/examples/ec2/reset-fpga-image-attribute.rst,sha256=IqNNnIiG0o5slFxiZ9JEr1nKBz9oniWIrwetGAJ7s2c,269 -awscli/examples/ec2/describe-host-reservations.rst,sha256=itZWs8bclwrIBHsa-Wty-_Iejz79xkiIo_steZ_xDdw,780 -awscli/examples/ec2/describe-spot-fleet-request-history.rst,sha256=AuVnB7axgnOnVdA_rHsyRWKpQYIFNVGRuPjO2TOc44w,1698 -awscli/examples/ec2/modify-spot-fleet-request.rst,sha256=cVf5fcmsRCVnfImiOd83gorNb5eCIxz17LS1bl5taDI,663 -awscli/examples/ec2/replace-iam-instance-profile.rst,sha256=_AFBVbVfTV0UBNNQj8a1g4hTvL-sa3D1ZPrmEcsXMnQ,723 -awscli/examples/ec2/delete-tags.rst,sha256=onWVvxC_63M_1h8fSt1u2BEYcya9zpQkJErF5UFLMcI,1226 -awscli/examples/ec2/delete-route.rst,sha256=AN6jjPR36nC19CbdHyDggPL7v-CCGGi8pXgFYuvQFfc,244 -awscli/examples/ec2/purchase-reserved-instances-offering.rst,sha256=I6JA1jLBuSHJ_GfTLGIxf6TbNTbJdPKPXcdZSWdRnts,426 -awscli/examples/ec2/create-route.rst,sha256=-tJeeI5YPJWHZyKbCuRzUF5_texY9TUzlWlv-nNkCko,1142 -awscli/examples/ec2/modify-vpc-endpoint.rst,sha256=rCKmephPWndudQLHk4rpVoX-JWmZvMMip1_CGbb6FNo,664 -awscli/examples/ec2/replace-network-acl-association.rst,sha256=qhoKdDDMbVkrkbXqMnsKRGMD3BXBxFPCYunBK_u14nE,349 -awscli/examples/ec2/enable-vpc-classic-link-dns-support.rst,sha256=ae2EdkjPaIquCtTVMY8VHbuUvQXZLCUcQywX8RLNlsU,233 -awscli/examples/ec2/describe-spot-fleet-instances.rst,sha256=NrJhurW17PYaKPlCOHhLtyQ1rLag8KVrbEn37qTrJcs,565 -awscli/examples/ec2/disassociate-vpc-cidr-block.rst,sha256=qLOXUlHVf0ctx8R9LDCvkFySPyNYdv_MA1rZ1fUwakk,972 -awscli/examples/ec2/describe-fpga-image-attribute.rst,sha256=mLEb1pKUwUv1GbXLhs4KcCieVikc4ks6ZQU3JoRxqbc,450 -awscli/examples/ec2/update-security-group-rule-descriptions-egress.rst,sha256=t4XaVTg28ZcvFTvXuPV9xi_qmeRn99YhfyYPjhQtEWQ,622 -awscli/examples/ec2/create-subnet.rst,sha256=0NrM7b8G2QziLu98YybQAqqI14U8fxwFkhmSQ_9pDzk,1781 -awscli/examples/ec2/cancel-spot-instance-requests.rst,sha256=W0bot8zzxHeC6GXa5AG1CWOeRDqMm4szAHWpL6uhtFo,368 -awscli/examples/ec2/replace-route-table-association.rst,sha256=J2yP1Foeak8CIq3nlniIVbl0Gxu64buLtOG_GVrEYcQ,349 -awscli/examples/ec2/describe-principal-id-format.rst,sha256=4-0W19_Pgjo5tYbYqBH7YeSTv7fWwFNyLNrv4Fg-7d0,11468 -awscli/examples/ec2/update-security-group-rule-descriptions-ingress.rst,sha256=vhfdlizu_WQ75Gg-bWq2GJA5AIldpRWS6JSMlmN7iRk,611 -awscli/examples/ec2/describe-vpc-endpoint-service-permissions.rst,sha256=_LHvJ-usfylcmxlyTyLREIBomh6N-LZt3_rfHJnuF54,393 -awscli/examples/ec2/describe-reserved-instances-modifications.rst,sha256=4DE8yUrHWXFTY55vTupjFH-TvSWKicPIpoF4DlNWYUI,1658 -awscli/examples/ec2/delete-vpc-endpoint-connection-notifications.rst,sha256=Z7DF1wf-ysibep7qKd2BijlYL_4bysD1TrqDWh2fZFg,285 -awscli/examples/ec2/allocate-hosts.rst,sha256=xyEB5xutAMY8PipcLs3FxRzwzC53mOxvh8pOIGf1mU8,379 -awscli/examples/ec2/delete-snapshot.rst,sha256=qTVFQxO9aOSwtm5hyWqsNv4oIT_BG7EHwx66iwG0Jy0,241 -awscli/examples/ec2/describe-security-groups.rst,sha256=hghpHzy0M6Xj9zGFsdQ1pz5vj0cMZU-ICSymbaOG6p0,4853 -awscli/examples/ec2/describe-launch-templates.rst,sha256=N56scrFTXF7S-ZkiHqHKj4pkYVI4q4qboNKaO0hhZdY,1524 -awscli/examples/ec2/delete-nat-gateway.rst,sha256=bpVFPf7FA085SLA0hDkBwQywTActlvVxt-faCw8bhgw,231 -awscli/examples/ec2/describe-spot-instance-requests.rst,sha256=NGyT6f3EQd6Y0F--3cownot_tOPvibIJ4Srq4K8WAmY,2460 -awscli/examples/ec2/create-flow-logs.rst,sha256=sB6kB4w1_FNTcJJotmFFBQtcxJqUa4bYI787feehdn8,662 -awscli/examples/ec2/describe-vpc-peering-connections.rst,sha256=-Unevuq6PNBdSeh3C6k6Sz3GOhkpCTAGf0M3yoCr4hA,2802 -awscli/examples/ec2/delete-dhcp-options.rst,sha256=0emiTfT9kZFQS_OjXzmuI1gJK0b-Iv5X_8w9SGGK42c,209 -awscli/examples/ec2/delete-volume.rst,sha256=K7fS3x6YWOwxis2EDVZ4Sk7FJaC6eBS4j11KQ_OE8lo,240 -awscli/examples/ec2/delete-network-acl-entry.rst,sha256=45PQI6DOKymu6SmfBz1HtfHmIdZVCNV6tc4atcbocCo,265 -awscli/examples/ec2/delete-placement-group.rst,sha256=KoaIBaRNvu5jNtH5Hx5cfKTOIM_Srbjg8lhTPHAmw4o,162 -awscli/examples/ec2/purchase-host-reservation.rst,sha256=7RonPkldMb-_qEVPJkx6WDSsvBUc3w_rYFP7AHZ1XDQ,745 -awscli/examples/ec2/delete-internet-gateway.rst,sha256=Ipsvfpa9odexwfyxjIE6ZfKm2_WOvrRkhAPMxhMx8lE,217 -awscli/examples/ec2/modify-reserved-instances.rst,sha256=KcmvFeolYkojTArA0XS1CY6CbHPM8Ynpa-zj9aR3KsU,2046 -awscli/examples/ec2/copy-image.rst,sha256=mHqpuafaJPVnpl_R8OXLt7UgDDMGUMQeQRwvw2icsiw,323 -awscli/examples/ec2/describe-iam-instance-profile-associations.rst,sha256=hOnxUMNkHjUXZ77DxD3DluAPWMO9vBAVabFL6tJ0GRE,934 -awscli/examples/ec2/create-customer-gateway.rst,sha256=zrVVFueM5PBjW8vJRdHH7PeN1YuqpJHIskANI5Rrf_I,455 -awscli/examples/ec2/disassociate-address.rst,sha256=rVd_zoqZzbms01Lc0Dzbbye22sVkMs9etb9AndF0iNE,515 -awscli/examples/ec2/modify-hosts.rst,sha256=xL6cVcGiNQ-adp7MYdRqrkrSxhQlxr4o9P9e1yl_UUU,1445 -awscli/examples/ec2/describe-conversion-tasks.rst,sha256=Yfi5u99RRAF6rg0eKhmWrsasIYQElXxGz7d_wxIvmPk,1394 -awscli/examples/ec2/create-route-table.rst,sha256=fpq_DD4aVF8xCAzo2xfvw-wL7L26WGPvQ2hNxIGXojc,561 -awscli/examples/ec2/get-host-reservation-purchase-preview.rst,sha256=4-7ZuU9wLQ-S6oHXqnA203WkVIt9d-D4nSSkhG59JZ4,732 -awscli/examples/ec2/get-console-output.rst,sha256=lncdbh4w4Ky7Gwwv5pH_1YOFLOis4U79HgxgP89Eglk,1129 -awscli/examples/ec2/delete-fpga-image.rst,sha256=vHez2jE3614rK3lFTOsG3fZ_GpWWBu0JmeN7gyQ2Lq8,192 -awscli/examples/ec2/delete-security-group.rst,sha256=JNRKxy5JLphdpa6c5p7OhAj1mk1S2Z1MCSXYEar9vIU,723 -awscli/examples/ec2/describe-account-attributes.rst,sha256=FLUxOsd0neh7HuoED_EMxwW_D7KRkSlXAwPENooeP3Q,2187 -awscli/examples/ec2/delete-launch-template-versions.rst,sha256=v4yMv7OPVvxG3yPtEEmiHCgx_kDaN6zkn92MpdwGXj0,499 -awscli/examples/ec2/allocate-address.rst,sha256=Hayz1q8sFWiEwAgHij7mmx191oOynjMIBmNHevv5RbM,560 -awscli/examples/ec2/detach-volume.rst,sha256=SZsfhXFvWUEY_jywWZgC3Pv6lxpfr0BtBGFrmK5xMI8,431 -awscli/examples/ec2/assign-ipv6-addresses.rst,sha256=xf-dNqwP2dm6pBngss7Tt6FuvmnLIEplWIR0-nyVNa0,1102 -awscli/examples/ec2/reject-vpc-endpoint-connections.rst,sha256=DbjfMeYIeizS86ZpzqpXMkrF0ETQTVyZDjBMZmHq0fA,334 -awscli/examples/ec2/bundle-instance.rst,sha256=tOaXA4H6nENOgvdM5azHE3P6yXuTLrgYdOCLkusWY1k,914 -awscli/examples/ec2/monitor-instances.rst,sha256=kkCmECudndm98dBE0ul4Un2ozE1rMKjJJ8iHr14GhG8,403 -awscli/examples/ec2/describe-vpc-endpoint-connections.rst,sha256=8xFQG0f06M7AQ1Zd7hIGsj_Kv47WHmo0Rdqrb8Kjkd0,670 -awscli/examples/ec2/import-key-pair.rst,sha256=3FJouHuw2lxD0h9wTQMtr764nHNFoMGshoRNLK8UjMc,739 -awscli/examples/ec2/attach-volume.rst,sha256=UXe9OqCeAdsE63jhprEnUAdjzEYNSz5vhitzgVeYMXc,498 -awscli/examples/ec2/delete-spot-datafeed-subscription.rst,sha256=eVQmS9S4BsNzszCZm5e33grVUsr_4Dn4TQKOPIaNTfo,234 -awscli/examples/ec2/reject-vpc-peering-connection.rst,sha256=JQFVvpwvGkSQDeW-DXafkKqgs9-MXgXVZQ9CcKoyOAI,239 -awscli/examples/ec2/describe-snapshots.rst,sha256=0O8_fTykQ0p21RbbsFlMbWfOvpvL_Ro5Du8bOb7uNlA,1821 -awscli/examples/ec2/delete-vpn-connection-route.rst,sha256=caHZRkfAiOgiNuEd9X5coIn1_3lKvOozcAup0OXVHY8,304 -awscli/examples/ec2/delete-key-pair.rst,sha256=LPJemAMvrhF0ziEcwtXM_rAltQ4RX8ovxYUxAb-eOpI,377 -awscli/examples/ec2/delete-customer-gateway.rst,sha256=1XjNv86xBWT4QyQFitsO4a5rl5o0V1BxZKM0pcg-g4M,216 -awscli/examples/ec2/create-image.rst,sha256=6UCb7r3Gy1XbLfX4QJFDHFVPs8SVBKDg4NTxPLETNIw,1318 -awscli/examples/ec2/delete-vpn-gateway.rst,sha256=5wchv0mIfzFATToGwBFEqmCzrz7JDRNnjZzirmRlTFU,220 -awscli/examples/ec2/modify-snapshot-attribute.rst,sha256=on_lOkEhOSUfU7Cy-s8dCSOF5M6BDe8W-QezvWAlAWo,655 -awscli/examples/ec2/describe-dhcp-options.rst,sha256=YETjjQrNMzjA6VrlEv7fqx7hTqi-1BgGrWGDJDRa318,856 -awscli/examples/ec2/create-tags.rst,sha256=5G5dmH-voJYr2S_npJAwhKIbnfDLdr7ZVfCmp4Ff3Ms,1708 -awscli/examples/ec2/associate-subnet-cidr-block.rst,sha256=poJlw3xwU6-djpycsoFoZQ4Z5XOGhmmnDJL8aXEWYzM,521 -awscli/examples/ec2/delete-route-table.rst,sha256=wvBeCZoJmbcFYWC-76wdAuo-f28Di0CQG-6sFAwEKu0,196 -awscli/examples/ec2/describe-moving-addresses.rst,sha256=wOS9llcj-ocuBpA3KbQkhFSnIUMsLB6gGasELtUxn0g,469 -awscli/examples/ec2/describe-network-interface-attribute.rst,sha256=fpRuxLZfDXWIyjZ1_s43N7yWnU4Oz44uSpRX-6L0Rv4,1926 -awscli/examples/ec2/describe-scheduled-instances.rst,sha256=nlb9pjmm_jZvHfv7LaMHr35j11YxvBR_82zHR0Q8tms,1282 -awscli/examples/ec2/modify-instance-placement.rst,sha256=89adof0cHab-Od_vs6Tsiu-BZIMenknm-P0mgfYWRCU,332 -awscli/examples/ec2/reset-instance-attribute.rst,sha256=vmmxenRPlWIpxrHvsuRJDHp88K9YDlJTj46URLQGxhA,922 -awscli/examples/ec2/describe-identity-id-format.rst,sha256=D7Q1XZ6p__z_EOZSsZhANBx9ltMB1NHqEhC2Y-1Y0B8,1098 -awscli/examples/ec2/associate-vpc-cidr-block.rst,sha256=VoCCORMzIRrm6Mx40sivWE04AOZOrtizre4vPPM0WWs,913 -awscli/examples/ec2/describe-addresses.rst,sha256=djPq8KmwjnYSKMdgsbNvghWnuVXvVxCzMmMY4UItRGk,3183 -awscli/examples/ec2/describe-instance-credit-specifications.rst,sha256=G439D9TPw0PUzTS9iNaLNrZ3K7_I2tMBdc-KOsQoQeg,421 -awscli/examples/ec2/describe-elastic-gpus.rst,sha256=cB4V_jDr2f2PaNsoLtMOHTeQdeq7w7zwQNEsYyW4lLI,130 -awscli/examples/ec2/detach-network-interface.rst,sha256=lIECBgQE36NmZKhNAmEvsxpC3-kJKDnCigKXanSlFg8,268 -awscli/examples/ec2/release-address.rst,sha256=tvdX28LtoL6lgr-rij_2pIC9RZ3NZ8WqcUYI4nGNBcE,498 -awscli/examples/ec2/replace-network-acl-entry.rst,sha256=3VTR4xlVJeUO4XXMMSldoe446QLWhVeWPltJzs2oM5w,405 -awscli/examples/ec2/attach-internet-gateway.rst,sha256=s42ZxlLN0vRDbmZa_y0yW6o6N00-FEDsVEgrYFa0Wy8,272 -awscli/examples/ec2/unassign-ipv6-addresses.rst,sha256=IuTZDvm_wi73kJZxPFKoMPM5ecXHk5Vne3P6WUojWbU,434 -awscli/examples/ec2/disable-vpc-classic-link-dns-support.rst,sha256=luJKQuZhrE32wQWQG7I3JUbDKZeSF2EbKxIXF7Bm8AE,236 -awscli/examples/ec2/modify-instance-credit-specification.rst,sha256=kufWVR0ByjQZf1FK7IR602OHnNZG-zakwGDYpkYlng0,566 -awscli/examples/ec2/delete-vpc-endpoint-service-configurations.rst,sha256=r5q-0Ufr9LedNJx_vR4jzQdjGsp4P-dvJfowMHYfolY,261 -awscli/examples/ec2/describe-bundle-tasks.rst,sha256=mzu5XjGZLUwU7yCLRruxyQqnWAry2kOygaMBsF2jj7s,564 -awscli/examples/ec2/describe-volume-status.rst,sha256=mU78m5FYab0a-g04LypGQHIftER0ASDSRt4ZQC13D94,1507 -awscli/examples/ec2/modify-vpc-tenancy.rst,sha256=DdS9HOMff_38cbV69Dh4b07jrirpRZdO2Op2nUI172I,237 -awscli/examples/ec2/create-spot-datafeed-subscription.rst,sha256=IL_m7z8DVJ18vNSApTYqTzJJBrBshofC2q9zJETJdpk,413 -awscli/examples/ec2/create-volume.rst,sha256=-ltWuKCb2NkjgY0K6icLytLwTVZGZzJ2sfbW1N1cBYk,1620 -awscli/examples/ec2/modify-fpga-image-attribute.rst,sha256=hZiCGtCKRNeheVoQuYqyiJ6clEkYI-u7DT9SWQNwACw,514 -awscli/examples/ec2/modify-subnet-attribute.rst,sha256=Df6tjMRicTFe8xWyhj7e_-VHWv4B9j-jfXwuDC1wTX0,862 -awscli/examples/codepipeline/disable-stage-transition.rst,sha256=1gk37KMx8ABwOZt44Ork-JECHM04vBY4rCcf-ifr5_g,314 -awscli/examples/codepipeline/list-action-types.rst,sha256=TpU1I_naPosJvb20aGFIiOFheDvK0uJ1m0dO_BnSZQU,2364 -awscli/examples/codepipeline/create-pipeline.rst,sha256=-x5IrSudCG3c347YSlv8tEIIuitgeQ_cUq7WWs7ZBG4,2122 -awscli/examples/codepipeline/create-custom-action-type.rst,sha256=YcSUI7dzpwLncgyNsFuqXkutbJd_ZE5Rbv-TMTkqJOA,1429 -awscli/examples/codepipeline/update-pipeline.rst,sha256=kWhVLEwawtX4VJmU3XKAIRIvXq6HlLb4UNBiVVJ0BvQ,4184 -awscli/examples/codepipeline/get-pipeline-state.rst,sha256=8_TsYPUmNhUWZB6G86S_grKKf1ztVMuSwQtrB2j8ChY,1391 -awscli/examples/codepipeline/delete-pipeline.rst,sha256=1eoGCo67Cg0n1XHOV5JhNfgsNmSRa_6_agT1Dn37GOU,287 -awscli/examples/codepipeline/list-pipelines.rst,sha256=d0eSxYeUSk6Mep5Lwxf15jNJcbR-u23ul-bhA1GjHA0,536 -awscli/examples/codepipeline/enable-stage-transition.rst,sha256=g6aU5XeswimSz9zLHdDqxvh2Qs5Wf4IwNZkPLXIOiWE,311 -awscli/examples/codepipeline/get-pipeline.rst,sha256=ABW7_zbJuTfHW1V6ZOzoS8BXwdCGc9u45cVnoys3ufM,2415 -awscli/examples/codepipeline/acknowledge-job.rst,sha256=moDs7HSWzEf8PWCtsL66Fvq_nsEflhgaeYdNfv-6OKs,425 -awscli/examples/codepipeline/start-pipeline-execution.rst,sha256=o8IGS9hmvdKxKgs4-U52cD6_hGxlryrlFjAmlIG4-VU,326 -awscli/examples/codepipeline/poll-for-jobs.rst,sha256=UEm5_AMWIRZBYnORDmSXA_gUV5qFAGJVSs2sS8gYc20,3246 -awscli/examples/codepipeline/get-job-details.rst,sha256=xxxcuT4KVKkSTAKtBtsxbrgzMVOeyU8zqAyd6NVYGzo,2730 -awscli/examples/codepipeline/delete-custom-action-type.rst,sha256=c4LY6G06uNbNvJcrV9Sz0utRmoY9_MC8gxdKqFjOnFE,609 -awscli/examples/elb/create-load-balancer.rst,sha256=6LBwut2HdG1b3Tr5Pt84JF1WF4HiXP4PHiyay-NplIE,2380 -awscli/examples/elb/describe-load-balancer-policy-types.rst,sha256=U8IjUorFUuu0JoC-htc4P3WnV_5190HwiC-n-32fIao,3454 -awscli/examples/elb/create-load-balancer-policy.rst,sha256=h65Jev4OSM_PaFogwgRj2ySxae65rpGWuBt113gKkBw,2670 -awscli/examples/elb/deregister-instances-from-load-balancer.rst,sha256=7o57G6_4fbnnVt0CggRGGe7D92KqUAnTagsUnKENnGs,460 -awscli/examples/elb/set-load-balancer-listener-ssl-certificate.rst,sha256=ogNf0meKrcr_svbwskbA7HGFZsSeitYD_1X9pedFPDI,365 -awscli/examples/elb/set-load-balancer-policies-for-backend-server.rst,sha256=hDS3ZX-zfsIZpTqa0CnCImxE7qR74Cwj-N6NUfwryww,737 -awscli/examples/elb/add-tags.rst,sha256=tumWzjxibL5ANudJo0c6xMq_Yld5Dz6YzAhFr76G8mc,231 -awscli/examples/elb/apply-security-groups-to-load-balancer.rst,sha256=JcnV3scDfmyG2LHMGlrBe_P_TIL22Jf7Xu4A9rKtQY0,356 -awscli/examples/elb/describe-load-balancer-attributes.rst,sha256=YtE1irg8-5r8FtcUVNlQYCeQYBkBVCMBg6GPQMZKbkU,581 -awscli/examples/elb/disable-availability-zones-for-load-balancer.rst,sha256=GanQKD-kvoPXxZpt7DeN2ilIen4wqcW2q1-ZQeKFfvA,405 -awscli/examples/elb/describe-instance-health.rst,sha256=Ns--NOSxtRTapdp4g4DNGY3LfmUxOHWj4iD3YBVNxoI,1563 -awscli/examples/elb/create-lb-cookie-stickiness-policy.rst,sha256=GhUfA9bqNWiFc8XHav2zGjiztVpccZ7NpnrkwIgFfwE,370 -awscli/examples/elb/set-load-balancer-policies-of-listener.rst,sha256=pl0Kbu1KuXtFsEvfkY0mZwietS5N9WARNNMlfYA_xaA,729 -awscli/examples/elb/describe-tags.rst,sha256=n0Q_0v-g1HFdtI2SiN7p3o4aRrR7-vgYkuytVJULNSM,611 -awscli/examples/elb/configure-health-check.rst,sha256=Oy8X7PxxGyrrfV65oHQRHmQoTl8at9BAQfLZX8slLQM,568 -awscli/examples/elb/describe-load-balancer-policies.rst,sha256=pzV2gRnQGRZp9hjPrk6D6MIQWOnQWfaOigMDMas5vdo,1902 -awscli/examples/elb/detach-load-balancer-from-subnets.rst,sha256=TpvkCEr7js6uGKcngQSDOuNZEpIGUfPK2uZsaVMwpxI,320 -awscli/examples/elb/delete-load-balancer-listeners.rst,sha256=SMsr0yErbmo6SDUR9KX71gyLYpy3LgbbyzKI_uMMTOc,261 -awscli/examples/elb/modify-load-balancer-attributes.rst,sha256=K-NEtS7kDKVGGggbKmbwEbLFkyez4nECttyW0dQLMWI,990 -awscli/examples/elb/delete-load-balancer.rst,sha256=pDRAeViFN326oZUC1T9G8mO1YazjQIyiH78Phj1j78s,166 -awscli/examples/elb/enable-availability-zones-for-load-balancer.rst,sha256=BZBhyA3FQZlqKOAYs8dq9oYq1zy8jCcbL0aaTJebjlE,390 -awscli/examples/elb/create-load-balancer-listeners.rst,sha256=gVo6OHRdlWqRAdLyUuzDlVFTfAwAQhyqW7JDLQvjlqA,649 -awscli/examples/elb/delete-load-balancer-policy.rst,sha256=_uAMhacB60aff4uUUBh5ohK6RFiXwI7MRvEZTEd_OIE,305 -awscli/examples/elb/create-app-cookie-stickiness-policy.rst,sha256=KzuxEKobddj2LgufqQON6sKjGseEbjWbkizIIOV9hMM,349 -awscli/examples/elb/register-instances-with-load-balancer.rst,sha256=HZ4vO6cstkrrYdMAQquo86BbO8QHCSrIaC35pHgOV9o,497 -awscli/examples/elb/attach-load-balancer-to-subnets.rst,sha256=5PZsGyG-Hqx-6Nwq4iE5caGU24qqxzQPVzVNVZxZPeY,371 -awscli/examples/elb/describe-load-balancers.rst,sha256=yMoMz9XCAT-KyLIwpQYpTVxGE7DxcbIEHaYMN8DnUCM,3090 -awscli/examples/elb/remove-tags.rst,sha256=_VehxvV_qNyyKhNEO0rw6TfL_C7pEAy_QVTMXMhNbYk,189 -awscli/examples/datapipeline/list-runs.rst,sha256=Z_iw1AkyWWE8o8XqqkGuOxptOJKDmQdkC-gf2Gc40oI,1630 -awscli/examples/datapipeline/create-pipeline.rst,sha256=WQex-CNgmp47gb9aaVsRPJW8UWRz91Uk-Hc1c0md8Ik,239 -awscli/examples/datapipeline/add-tags.rst,sha256=n8HgfxSCI2lcYRgUFEYDPJyYegR9sUPAFBwxf8a1D_4,667 -awscli/examples/datapipeline/delete-pipeline.rst,sha256=nWdLh0jX1Z7CAs5wjmPrjCcmZzIove8jAM9rITk3k0Q,147 -awscli/examples/datapipeline/list-pipelines.rst,sha256=IcNaXdISjmhUqHe_WSRLx6sIAX7vcRey205hx8ZzaUI,578 -awscli/examples/datapipeline/put-pipeline-definition.rst,sha256=atfjJdiXMyjvftR-fCcrot4z1BfM23_lSZ6CdC-c2TI,386 -awscli/examples/datapipeline/deactivate-pipeline.rst,sha256=tFfzqUOj4PuoS3aO60Cxv6Ztmik4_BJoczmqMGQt6hw,358 -awscli/examples/datapipeline/activate-pipeline.rst,sha256=aQE1IJw83KxodcjOnkGnU_S1dWdNqbAYbE_8auTItNc,352 -awscli/examples/datapipeline/get-pipeline-definition.rst,sha256=HuShLqfn-nPh-jXn0GcjnMLe9tBaM0DMiLZXmXxRfEs,2845 -awscli/examples/datapipeline/describe-pipelines.rst,sha256=IZtIjjhih4HZ0C_fTS2iVy7HwvJim_531374hEvYodc,1570 -awscli/examples/datapipeline/remove-tags.rst,sha256=HSsiNzpEE69_fh52NzeKWL7tnWNmqRO6qK3dVubgFOw,200 -awscli/examples/devicefarm/get-upload.rst,sha256=fPltjkzHu1rfLD1pVvIuYjMCmPb-Fd2YzL8tOwphjIM,1000 -awscli/examples/devicefarm/create-device-pool.rst,sha256=urSPk51MezcFlhtq857jOT3LUQuQ-qqceC9AQoPQcGE,1055 -awscli/examples/devicefarm/create-project.rst,sha256=LjeVOqVd4ozax25s60uvFfsFcHej0lVysbTE1ntdD6E,360 -awscli/examples/devicefarm/create-upload.rst,sha256=ZxY8pT8ezSafaQ5JyM1zVWWtmlwLWfAOFiPU8GvRBVc,1918 -awscli/examples/devicefarm/list-projects.rst,sha256=jUSEfZg17zwozqMgRAxm3rpWctDmHYAd7D3TN7S4uow,570 -awscli/examples/ssm/create-association.rst,sha256=BWX3Sia-tzFUrhAjB1Y1eVJqeYTKc78rFQslc-IySvM,1271 -awscli/examples/ssm/describe-maintenance-window-targets.rst,sha256=xuX80RvG_e1cngQdWWA5lwB_qVjPlt9oNk7ZfazLsMI,1526 -awscli/examples/ssm/list-tags-for-resource.rst,sha256=tltMJnklv705p5H3Bl6-Zh88vWY9_YJk-B_a4QjGeU0,294 -awscli/examples/ssm/describe-effective-instance-associations.rst,sha256=R6X66GOizVXrxNe24IRIC_koDw3hUVK-s4iXEJCVKec,1792 -awscli/examples/ssm/remove-tags-from-resource.rst,sha256=PIi1c9S0SJpyFBzU_hMtYsNHVTCErgvh_mmrfL3i-vs,278 -awscli/examples/ssm/update-document-default-version.rst,sha256=17iO0dABupeXQX5XoD9_qI2SaeWKt93hbY3S-lqt7aE,243 -awscli/examples/ssm/get-inventory-schema.rst,sha256=HK-PWdcZL2-b99KzNf8jrE8TTRNOvyOhNtZ8bnZke4c,1166 -awscli/examples/ssm/describe-instance-associations-status.rst,sha256=Q6GpRasGN2ytIgsD0LBhCzAWgxNmsjwBAOCpygAumXI,575 -awscli/examples/ssm/describe-activations.rst,sha256=AHPqMe8FSpR46aO64lqXmufW1-bRh1QfZxqJGUYEqOQ,564 -awscli/examples/ssm/describe-maintenance-window-execution-tasks.rst,sha256=vZjLH46sokf1HHei07YLpGPLPrArvGSzJeGavMEA828,698 -awscli/examples/ssm/describe-patch-groups.rst,sha256=UpMqJLGlf6MN0SbTSRAqLKpcWy6nboNMOItuLwaDva0,543 -awscli/examples/ssm/modify-document-permission.rst,sha256=h6vlIoWcSFU93BRuSGB3ds6yZYF-Jw4usM1ddYD3lDs,270 -awscli/examples/ssm/start-automation-execution.rst,sha256=gYwF9l7YM1MNF-7PcVMbMh9pE6ahIvlEVutfMwnKpNU,412 -awscli/examples/ssm/get-document.rst,sha256=vrCc-3NUyHtNOBvInQRmnE1g-JqAazeLp2z9L0Y6smA,998 -awscli/examples/ssm/delete-document.rst,sha256=IK0nKGnIhqfJPa5k0QqR_5mrwtvKz-gkQeHzoUP6yyY,159 -awscli/examples/ssm/stop-automation-execution.rst,sha256=nlsANHEqRenn4O_hT4RPcx1_FNTG2k1Fx_pJrmVxYTg,256 -awscli/examples/ssm/delete-activation.rst,sha256=pJkUiZZMVDNdTgm7DXIMNjYDzrcrC_ydtUnxfkB7zQg,204 -awscli/examples/ssm/cancel-command.rst,sha256=OJK7gah04zv4YG1Uz27RJa5a0Lg4jhTUt5SvCZLDq5A,214 -awscli/examples/ssm/describe-parameters.rst,sha256=FlWbcTKx7SfaIIko77dzcIr1KcOGAS5uzTTFIzJjyeY,542 -awscli/examples/ssm/describe-instance-information.rst,sha256=FRbzUrU738-jiNWkACH8qnSw_hrANeAjckbKubx3Owo,1308 -awscli/examples/ssm/update-association.rst,sha256=L0LoFsGbrIxjUuskt91ngLUD40Ohd8NYmevBkKe8igw,953 -awscli/examples/ssm/delete-association.rst,sha256=Dd4RA38GzHsnanSJd2XCUjkk8jF3h9vMNi2cZJDH07Q,252 -awscli/examples/ssm/get-patch-baseline-for-patch-group.rst,sha256=i-bcKjxd5g72fAZucnT0QiZQfgBPtMYveP7lt4FRzC4,289 -awscli/examples/ssm/describe-maintenance-window-execution-task-invocations.rst,sha256=9EfG0OKQV-_KeX2-H0aThray5jGBBFMqB4mOz7aDyXg,973 -awscli/examples/ssm/update-association-status.rst,sha256=N47O4t33jLmv007erjiJ4lJX-ew0tniKywLJmbQOXKk,1287 -awscli/examples/ssm/describe-effective-patches-for-patch-baseline.rst,sha256=bQZj2vLlMo0NVrHb8HqXBRSHVbFWZAQKPThjbgEZnnI,1589 -awscli/examples/ssm/get-inventory.rst,sha256=wTzr471PQztTJWIvnSa90F5xwnQmWxNhMHr8igBJzmo,1159 -awscli/examples/ssm/get-maintenance-window.rst,sha256=nkCMLywSOxllDduEFvuNww4alsag5Fx6au_1DBFlDBc,480 -awscli/examples/ssm/register-default-patch-baseline.rst,sha256=mF2z5jmRI2KYDx-FqzLsoj6hqRVaBVT1rE7v1S_kmps,257 -awscli/examples/ssm/deregister-task-from-maintenance-window.rst,sha256=s5oLUecOYa0OO4cDKNlh7l0hPmT06xxQTn2kZT4bHog,366 -awscli/examples/ssm/get-parameters.rst,sha256=O-T2dWsT8rLcVEeSAY9JWQi-iJV9qZGKF6b5VzG4sXM,656 -awscli/examples/ssm/deregister-patch-baseline-for-patch-group.rst,sha256=RuwvaawinQnQTS-qt1HhWy64-6rM8IXV_SmxvDl-2mE,429 -awscli/examples/ssm/list-commands.rst,sha256=pNlkVe8INJdCtdSDP1kD4WVvyppKzx--Ir7p97i2HHU,1068 -awscli/examples/ssm/describe-maintenance-windows.rst,sha256=8gjWRmWmEoq-HomTNXzFyXlpgyhFZy8rkPlGvCaUvM8,573 -awscli/examples/ssm/describe-maintenance-window-executions.rst,sha256=ldVmpFXUnMQ5WZbMNgiBOkMsTddTvnnqiSEuyXxYSio,1159 -awscli/examples/ssm/update-maintenance-window.rst,sha256=HlK2iB_e6S1kLMYhUZnrKscrJU8yYINpvXXmULP_tTM,755 -awscli/examples/ssm/update-managed-instance-role.rst,sha256=fCmrexTusuh92ZfzjyWXrmE63TNib6RZekX0mvfc66E,259 -awscli/examples/ssm/get-automation-execution.rst,sha256=SWlysu7GJ7OfDmW7haE4vb3EEOiiBzQQh8lMM1tqxRg,2871 -awscli/examples/ssm/describe-instance-patches.rst,sha256=HXTS-pVfdVYtHsW8SlU8m5Ojf7P_uuaqnDgjICO2SQ8,1108 -awscli/examples/ssm/update-patch-baseline.rst,sha256=MFsisxEhtrg0IUyBUsCBE3D57E_S3yw0WLB29usfvpg,1856 -awscli/examples/ssm/describe-available-patches.rst,sha256=4NVLCgO-cbJ-Augp8p1WSxHTnXFiKf9dTDQlczqi9dI,2177 -awscli/examples/ssm/delete-maintenance-window.rst,sha256=RTD7--n7fi9Bzw5o2TqlJNgUD6anXl-0TMvCIDL4HAE,216 -awscli/examples/ssm/get-command-invocation.rst,sha256=x6srNA7GTuZG4higrLkl3baVWAYE8PMOvjHcX0v16So,739 -awscli/examples/ssm/deregister-managed-instance.rst,sha256=-inQ7bNuU9dasitFIBKSkcQS06MrbxX0V7kXp0wWqNo,214 -awscli/examples/ssm/deregister-target-from-maintenance-window.rst,sha256=bLDW46WqG41eTWDTUD4sdjjfGu-Mj6vqfWWtE4WnNrU,380 -awscli/examples/ssm/put-inventory.rst,sha256=c7FoGKf4pIhF_gACMhIXHNE0jghqvBHOvLnTjXsOFY0,396 -awscli/examples/ssm/register-patch-baseline-for-patch-group.rst,sha256=BlcHiN4W7blZSZrpuPTHW2DP6sB1WNexfbmlqZVRVbI,329 -awscli/examples/ssm/describe-instance-patch-states.rst,sha256=OfkQyvWSIT9G8OV3Tow5Xdy6cl7Fv1KUazyTkdkfK5I,1058 -awscli/examples/ssm/describe-maintenance-window-tasks.rst,sha256=9jlGKsrz6D4hyAsUOrNGz_fFm_4n3yGSwHPOG4w6ygM,2069 -awscli/examples/ssm/get-deployable-patch-snapshot-for-instance.rst,sha256=BrQuK-8SwLPXVUzfWAsd6tQwVL2HwUwPTxoBLoOPn8U,1214 -awscli/examples/ssm/describe-patch-group-state.rst,sha256=P5ErJos4ifjnifkYZCx4tJpwr7P7jgOMcz-4eRmBeq0,434 -awscli/examples/ssm/list-documents.rst,sha256=C3m14rCgM7HTYCLLHZSUPSXFfk7RRVY9Sq4d5xZJX_E,606 -awscli/examples/ssm/register-target-with-maintenance-window.rst,sha256=d30tEWhu-Yo4qfsQHjQwgttk6yJyRDTD4kzkbeV4ONU,1161 -awscli/examples/ssm/list-document-versions.rst,sha256=5dq_CfHOJpdijuIvLvzEOOclIb0lIe5pNVMu6Axz0yM,485 -awscli/examples/ssm/describe-patch-baselines.rst,sha256=QqRbb4ar-nVIhASlyVtZpjPWVu6UaW9qFzIBRojWHoc,1359 -awscli/examples/ssm/describe-association.rst,sha256=wR3oY7-9kyo6vZVVRnM5IU8qfxe3RiuDA8XrNojG4To,1098 -awscli/examples/ssm/create-maintenance-window.rst,sha256=sLNMxqgUQBkyaMgFNyciEsJWkGEsxGv-mpJcEeiOwJI,440 -awscli/examples/ssm/create-activation.rst,sha256=7bQ80gtmd_oVLpf7yVyfCJOnJLQ3TuSlu3o5LDH6fX8,325 -awscli/examples/ssm/delete-parameter.rst,sha256=j-oPHabIDMbZ2QiAl9T2JTNZR3VjV1qKD4cy46J3Flc,164 -awscli/examples/ssm/send-command.rst,sha256=LxfTuGewmw1UcfuH3dyxLWISEvp7H5fQi9hBQtyFTEk,1601 -awscli/examples/ssm/create-patch-baseline.rst,sha256=ynWIDNTzwjLWzYq0ebXGg_Nhq8nbPyjy4NpV-7cYY-Q,611 -awscli/examples/ssm/get-maintenance-window-execution-task.rst,sha256=LtVEK2ajpy08SL5luuN7fJ6aEiwUK-gg9oCIJdp9GpE,1070 -awscli/examples/ssm/add-tags-to-resource.rst,sha256=o8ZZguXd_QgBhACvOw28-jyz6NyP_4uGuLt3e8y3RN8,285 -awscli/examples/ssm/create-association-batch.rst,sha256=WVWGZiIxTu72ieOgcGiNJ506vaGPhhFmiR9fdh6LT34,2098 -awscli/examples/ssm/get-parameter-history.rst,sha256=HvPIRyBDQX5EdCKDOYGuw4Q-NlFk_mLijv0D0hS0rSw,441 -awscli/examples/ssm/update-document.rst,sha256=16ozNQXrFS6FJ1U3g_R2LM21J1PQsj3k_B5AEQJrH-A,1131 -awscli/examples/ssm/create-document.rst,sha256=WzUVpFmZNMI2UQWgKx_JmQA0s0da1I2V8TL1wF2GKsc,1327 -awscli/examples/ssm/get-default-patch-baseline.rst,sha256=bbm0dGOdwlo1evguShjhb6Gu0iImcWQ_g0qlDFKB6N8,250 -awscli/examples/ssm/describe-document-permission.rst,sha256=f1J7fc9Ni7JrrFZCCVe-EqaepbdhIiwh3LZMsF72nu8,256 -awscli/examples/ssm/get-maintenance-window-execution.rst,sha256=IRKoVjFqJWoN3kdBAIs5pAYjmpRS6cKn_hd241HeaWk,522 -awscli/examples/ssm/register-task-with-maintenance-window.rst,sha256=NduGoAaWHw3R2llcRxzNfz_t4rXLuCU5ZaiWFUxkWMU,4073 -awscli/examples/ssm/list-command-invocations.rst,sha256=hPCz_nJu9VMNuFv9HZ4t__rofhZNctEIlkeXZeFzi3w,2079 -awscli/examples/ssm/list-inventory-entries.rst,sha256=7iA4lL4ljnWw3FGIE-8Omwi33lTktHUEbdtJzY-N5HA,461 -awscli/examples/ssm/describe-automation-executions.rst,sha256=i2pCSZ1WVzQju7Ro-ScvRolf_K9BqmeI0WZ-9_eNQSs,1055 -awscli/examples/ssm/describe-instance-patch-states-for-patch-group.rst,sha256=pTYwgf3r91j8Yo1ptpDWS3q7u4OdSzAowQXF7AULi-g,1200 -awscli/examples/ssm/list-associations.rst,sha256=SconTRKh8TDkzOwfe-7wSgAM8blrteHrzXa9GWdA31Q,2413 -awscli/examples/ssm/describe-document.rst,sha256=bgWz8_XDqCFpEfi3b0P3sENeRJCNhCj8PlcIEP5fTz0,928 -awscli/examples/ssm/delete-patch-baseline.rst,sha256=MvIC3K38lGW_RVkHsGIMvBJPbKCBlUEQEIw0ZL0O3aY,212 -awscli/examples/ssm/get-patch-baseline.rst,sha256=KwfBX9MV4dgO6nUX7tTlwkVRcKzx8a2frHN7wx4NETI,969 -awscli/examples/ssm/put-parameter.rst,sha256=0fdfBboS9eiSFIB_CNA4gg4y0H9k9XhLXnMTRojSOpY,774 -awscli/examples/configservice/put-config-rule.rst,sha256=SW0w6YjyhcaLFuIl1S5BtwriRaqswQAdG4jp38_dGbY,3279 -awscli/examples/configservice/describe-compliance-by-config-rule.rst,sha256=wxJgtePxq-0kxsjpAMqiFRJArha9NUjxdgkV9mox5hw,1309 -awscli/examples/configservice/describe-configuration-recorder-status.rst,sha256=hi-IBNdLcJFlzsqohZgcCEr8QRC21cjxVzD7z8Ipznc,570 -awscli/examples/configservice/start-config-rules-evaluation.rst,sha256=ODwcxST8jXGbpzeG16cSXfpbOqS1CLHY8gqqCwX3YlM,248 -awscli/examples/configservice/get-status.rst,sha256=2L6w-ji0UI4xH7spxkgC8GsZPoPjUyMfM97IXfI10vU,435 -awscli/examples/configservice/list-discovered-resources.rst,sha256=foyBBxDyMl4jBiOLcOGIN0GSCtIyGMfCpV016KLA6MU,659 -awscli/examples/configservice/start-configuration-recorder.rst,sha256=E_Um8eViJczsqWlB1-V4vnl6WfIxGFgsEd5QjyVxVkE,426 -awscli/examples/configservice/put-configuration-recorder.rst,sha256=YNXUikZer1d-zgUhyACw8VvJq9MN_KJic5ACEnQ9n1M,1719 -awscli/examples/configservice/describe-delivery-channel-status.rst,sha256=FvBKreZEZ6HHucwi59l4wlcSNxNQWvhxj2OCYXg4TOA,925 -awscli/examples/configservice/get-resource-config-history.rst,sha256=EWbN_V-41jV8Akv8v-5lNmefQ5uDnJ4Vwjf0x_r6BaI,278 -awscli/examples/configservice/stop-configuration-recorder.rst,sha256=hEu8n61mmFYzqUhoL-O5aOCRMzEu2UqDXZRqNGKpI8k,426 -awscli/examples/configservice/get-compliance-summary-by-resource-type.rst,sha256=T_hX5TqiX80c7Y6MCphL7HFoYEZ527EQaONXA44LXGE,1912 -awscli/examples/configservice/describe-config-rules.rst,sha256=BZTeKDVJdTg4AT-ZsVed5cuxrGfdo4Qzhb1CBV0Ge-0,1358 -awscli/examples/configservice/subscribe.rst,sha256=Safrx1Xi_KqaX9IO0xM9Zrz2rnyJ2sv5RXguOh__Hr4,1178 -awscli/examples/configservice/delete-evaluation-results.rst,sha256=Kd1P712qYg3rXgbY6ZQkJJN3eINflj93oZpRYlIyEVY,256 -awscli/examples/configservice/describe-compliance-by-resource.rst,sha256=iomh4HcLHmj2JnRjNeiywwCXXL_T3_2srE1YoiR1-Fo,1378 -awscli/examples/configservice/describe-delivery-channels.rst,sha256=SBqQJGKWvXfxx_yDM1nd4M3_hSZrbzQw2e9wgsTN0pU,432 -awscli/examples/configservice/get-compliance-details-by-config-rule.rst,sha256=ps-pbKJUACMcAt0NvcxahDI9nNhufATmiBl4Bk15k-k,2119 -awscli/examples/configservice/describe-configuration-recorders.rst,sha256=bFPT1A0nVcFWR5JtK4LQRpBaKVoJYH4omvIYuukC5CA,605 -awscli/examples/configservice/put-delivery-channel.rst,sha256=aKr_84oFCO1h5CkzXk4yU2dU1b0xsZj0nAgx87zQm9w,2320 -awscli/examples/configservice/get-compliance-summary-by-config-rule.rst,sha256=7_FCAGKZe6CO1rJGPyp4WvqrdjOxnl_Wr8dIgAUNF08,722 -awscli/examples/configservice/delete-config-rule.rst,sha256=L7glYoPaXWXngMGul73An01T9umiqHaNL2dgQYLAlLs,181 -awscli/examples/configservice/delete-delivery-channel.rst,sha256=FSSHMkYxzMSkN1AIGkDy3bKSj_BLVg6j9XNbpajE-04,173 -awscli/examples/configservice/get-compliance-details-by-resource.rst,sha256=0ZbD1Zl7UFo4SY0eOH68Gkl1EvnVrW0G01D93knndQQ,1537 -awscli/examples/configservice/deliver-config-snapshot.rst,sha256=RaDJ_nP9GCIRwcsDdNkmwafuK_JjQKp7UNkWMyxR7GM,336 -awscli/examples/configservice/describe-config-rule-evaluation-status.rst,sha256=O4oQDXvHrXN5CeaWIoJMjxI11-5nhkM_3Hg0if5VG5M,677 -awscli/examples/secretsmanager/untag-resource.rst,sha256=uOUiXQ2OXYZ-QefeopRq1RVCYEi28jTRKIwK47-HVbA,382 -awscli/examples/secretsmanager/rotate-secret.rst,sha256=hMhAtc0O1qRMpsGpGdXTsZrrEsx8_57yMG2rAl-TxMg,1478 -awscli/examples/secretsmanager/update-secret-version-stage.rst,sha256=sP6fHUr5WNUb3WBgn9znmySsO-cOzrC29cwdP_HFwjc,2082 -awscli/examples/secretsmanager/delete-secret.rst,sha256=GZHaXeKDzEBuIvD2CYqsUCZacO5PkEYidrQTTQ00YqE,627 -awscli/examples/secretsmanager/delete-resource-policy.rst,sha256=vE_MFs5cbxXjmqgfS4XsiUFosNq4f1Xic89AZpa_Gu8,667 -awscli/examples/secretsmanager/tag-resource.rst,sha256=PkhlH1W3mJZ7M79cYWgDAnHhZK80H5p8cQtW06UEU_s,383 -awscli/examples/secretsmanager/create-secret.rst,sha256=_w6YL6Nj9TSgxerW1u2gPhToEgO5cJW25DEyfo4vI2c,597 -awscli/examples/secretsmanager/get-random-password.rst,sha256=juEXN8rnbD1tBs2EdwprnWuEU6k2fcZgarPEEg6m99o,457 -awscli/examples/secretsmanager/cancel-rotate-secret.rst,sha256=iZ5Pqx92QW3IUj6-dc7H6PT0To5LLwxIEvtsazaBnTc,560 -awscli/examples/secretsmanager/get-resource-policy.rst,sha256=2l8CRns1aY7e99o3Tcy35Tw4mHnPKEUl5Eb4UtOxmR4,1033 -awscli/examples/secretsmanager/put-resource-policy.rst,sha256=TLNfc-2So8XMah4kHEZWna_hXwe2rEIU2-Jw-fVxpv0,769 -awscli/examples/secretsmanager/put-secret-value.rst,sha256=fxvAlQiLEmxqIA8ZiO5NBr6rdHWqj5IgDXJUKdloLHQ,575 -awscli/examples/secretsmanager/update-secret.rst,sha256=TzsCMd4Qy820g3Y7k0Y7yHqLZZYK8PfSXmHzVDPM1bg,1842 -awscli/examples/secretsmanager/restore-secret.rst,sha256=ifyn9CAd_pdjbufPW_22I4uOb6fMndCl7USuHOjkoks,383 -awscli/examples/secretsmanager/describe-secret.rst,sha256=WTdzTVAW3S4H_2Hdsdz18WLawSxY-IwNfOJC3wCtaYQ,999 -awscli/examples/secretsmanager/list-secrets.rst,sha256=pex5lAySXO-2krd3SkdvG0HmafQkQM3AvIU0vrVk5N0,992 -awscli/examples/secretsmanager/list-secret-version-ids.rst,sha256=yAs88_dFKiYU_4wFjF14cjmV9qkA-aJk4Kn1NehbJjc,949 -awscli/examples/secretsmanager/get-secret-value.rst,sha256=TEK4W11IKvwZK1BymO2ENlxzKD_iVyQoQQIQQMeiDjE,871 -awscli/examples/cloudformation/validate-template.rst,sha256=-ofrJZ6TQ6dEnuuPoC6Y5oOp-u6bqMMrJ2ab0gnrSIk,813 -awscli/examples/cloudformation/package.rst,sha256=0HRqwA8Ktr3e6AYYUuLdGzxkbhBIm0lQvyfM2uTJrKE,335 -awscli/examples/cloudformation/list-stacks.rst,sha256=zNU6DBt4c3kXn-PrVDSHLH7TaNoWEVDBv53czxNhThM,843 -awscli/examples/cloudformation/_package_description.rst,sha256=5tN4TH7D0zYecjbOo0uOra55hvYqc0tIkEnbSZICKwA,2762 -awscli/examples/cloudformation/deploy.rst,sha256=ScCk6_Zlkz9zeJYj-eN14Wt0HX_TfpW52mAd32ccYL0,279 -awscli/examples/cloudformation/update-stack.rst,sha256=FyGLvXIf7KLLuFLMdD7bDAc2a2vI0J4nhtwoYsLe7ZE,1266 -awscli/examples/cloudformation/_deploy_description.rst,sha256=tKFsU-kBgkYWmZhsyD8dqzdI15X_NGcVkp8h5V_odZ0,392 -awscli/examples/cloudformation/get-template.rst,sha256=yN14tJuVP4GVwvo1F29rEgxXDPVe-cqT_V4LXbstlME,1077 -awscli/examples/cloudformation/cancel-update-stack.rst,sha256=iXh30epVbKsksPDXoHLeoFQ5JMksU12FH48oflQ3BYU,217 -awscli/examples/cloudformation/describe-stacks.rst,sha256=3JCjcGNZQ-A7UiKP0oKhqjjKYmMn7aqgzBTS2X1zHNM,1435 -awscli/examples/cloudformation/create-stack.rst,sha256=humDEb33XPY_9TU6Geu-WOCHZ5Rk9ZZSP0Zj0kkVujA,710 -awscli/examples/application-autoscaling/deregister-scalable-target.rst,sha256=8tA3SHamqQ14V4DQzZYPNwmS9M4C5DxrqEuy1Ffh2qI,342 -awscli/examples/application-autoscaling/register-scalable-target.rst,sha256=YFFLhrzGGThNIWMO3Xi88-mfQbzJqzOo5pLlBRfiL9g,877 -awscli/examples/application-autoscaling/describe-scaling-policies.rst,sha256=iIqgR-JowrzndbenpbR26Ii38tjO2Eh8T4jMrwk_g2M,2528 -awscli/examples/application-autoscaling/delete-scaling-policy.rst,sha256=8heHjDwl-82E0APTXspj0uNrinREjGkadE1xy7aU7E0,345 -awscli/examples/application-autoscaling/put-scaling-policy.rst,sha256=ZEfhylV7ah03lgDxZjdaA1EGJIQBiDLhtHtEXZZy7_A,1103 -awscli/examples/application-autoscaling/describe-scalable-targets.rst,sha256=HasqS4UiMqxWn-aWHM9yAKsg5pHNW97k2N5NooBRr7Q,634 -awscli/examples/application-autoscaling/describe-scaling-activities.rst,sha256=YaSGAPRb4XYkBPmAnr9AUN49wa7Wze6P296j89tR2T8,1003 -awscli/examples/es/create-elasticsearch-domain.rst,sha256=JKOwWpWPPdtbD4AmTGz7ticZlPA7PCnkTFgWXrdplrQ,2497 -awscli/examples/importexport/get-status.rst,sha256=pZb7ikffnQnQhXAC5OcICs6II9sQzRxwsww5RbeYma4,1210 -awscli/examples/importexport/create-job.rst,sha256=R3zUSp77hfG_bY9fNKC6G_-N8hRKcbLcr--kXzt7-ik,1539 -awscli/examples/importexport/get-shipping-label.rst,sha256=gA9-UUrUTBrq1H6tIjP68X47wRtdQvos7ZkDUyTlDwk,936 -awscli/examples/importexport/update-job.rst,sha256=-PWfeHPEyYj5kA8rRaEF4eyEIyVe8a8XEn8I0PkXP34,482 -awscli/examples/importexport/cancel-job.rst,sha256=xMFerp-OpkIsGAZw_RDe0Dq1xqMxJgEi_5vdfr5O32U,237 -awscli/examples/importexport/list-jobs.rst,sha256=ZURf3LLRebhgR9idPmt3TUAcSUqkcJx8QA-vIH1iDD4,408 -awscli/examples/configure/add-model.rst,sha256=XqFvpf7laooxcYSPiXwCzf6PRmj4CghqWrHUygjv_fc,434 -awscli/examples/configure/_description.rst,sha256=Kd14crkdeUlluAzVCJwOtdgbGsjrsL8QUDIiFiBt6SU,2027 -awscli/examples/configure/get/_examples.rst,sha256=lVOwgQm7VtcfOnl8GRaFtBfQ6wZ0P7XHkA9F5nzL1Rk,807 -awscli/examples/configure/get/_description.rst,sha256=WusU6bxBIBpsCGocAC7umNm-u2zPtv0keXmNJVLhIVw,1936 -awscli/examples/configure/set/_examples.rst,sha256=-5sUHq5TNne2XwxQfrgF3iHI51ZUkJult0Tn5C75mWE,864 -awscli/examples/configure/set/_description.rst,sha256=XkzB3QYdeM9Pk_78O_ZfdKzW0CcIldRGgDvi8Ej4Wkw,896 -awscli/examples/rds/create-db-instance.rst,sha256=KINDWOc59dwvbm2Q4-Vm12pkhKIIJCXpfNVX3qb1Pt4,4159 -awscli/examples/rds/describe-orderable-db-instance-options.rst,sha256=yjKV67TbyFHgQZ9--JqNCGk-HsTJ3iRMX7vPEbUQsR8,1320 -awscli/examples/rds/describe-db-log-files.rst,sha256=jAl-0No6adxhfViZNTjud26kYgeUY7iFrOLxCW63_S8,1111 -awscli/examples/rds/describe-source-regions.rst,sha256=VsCJk99qUCejYnzD-e-LwTnxQuOQ9zXJ27nK36AMTZ0,350 -awscli/examples/rds/describe-db-instances.rst,sha256=aDLlBsYpvqEufM7eRG6zrXpz4DGEcUiEu0V84YgPn2s,611 -awscli/examples/rds/download-db-log-file-portion.rst,sha256=dm8elvH60DNEESEgGyk6jIp8GoiLp_k1brdJAz8fTk4,685 -awscli/examples/rds/create-db-security-group.rst,sha256=BFepvL_v5NWFYIe3PTpvxtcWiZVCkBCfKQjXiMnG9vU,695 -awscli/examples/rds/describe-event-subscriptions.rst,sha256=J22dOaW1Wm6nOqxuD3jkC00vQoMwHx8UxrqfKOnDQBQ,824 -awscli/examples/rds/modify-db-instance.rst,sha256=59nha4AUbjMaIM-hmdekc8bUWRGIrJ6B0pgEyS_Xvws,725 -awscli/examples/rds/restore-db-instance-from-db-snapshot.rst,sha256=iIHHkClVtIqofLS9l7LZ_Wiscg0JBlRN-9SIZtml4gQ,538 -awscli/examples/rds/describe-reserved-db-instances.rst,sha256=YipoBw--LaBEdLZPiesWUvwcIzZc18ogfBuVjInJfbQ,169 -awscli/examples/rds/remove-source-identifier-from-subscription.rst,sha256=IuuZ7FV6rNSYCbUTe8z2VMuaqUtg0lQmygLdre0cdgE,905 -awscli/examples/rds/restore-db-instance-to-point-in-time.rst,sha256=LBYvxjpBEfpXm0BwEXZpI6S8A3FzsU9WyHDJCFkrPxQ,676 -awscli/examples/rds/delete-event-subscription.rst,sha256=KjJcmXQmzULzII89vhq26HspqEHVnLQgmU6lvxOFMQg,791 -awscli/examples/rds/generate-auth-token.rst,sha256=uzURV4Bs5Z4LBzUFsVLpGFPOwSHHh4J7-Ix1igHkzxU,676 -awscli/examples/rds/reboot-db-instance.rst,sha256=bfQu0ILrLV4CO4etzMNeC94x2pHLYlOxyO55rO72qJw,580 -awscli/examples/rds/describe-events.rst,sha256=IBP1E2ysEGbea1ZaOkHSdNM7-Mp8dVVV5t9H99daWtM,971 -awscli/examples/rds/modify-event-subscription.rst,sha256=mruVEPozstyTf5ZFXhTb0noSFHIQTRT6HZNSekWEx0A,847 -awscli/examples/rds/create-event-subscription.rst,sha256=WsNxPGX1PIIevf_S2E0xzGGrTby02GVOlTyoTJKY1vU,1058 -awscli/examples/rds/add-source-identifier-to-subscription.rst,sha256=ZpzCA9682bVaNRfsErW_SrnGbyxCBlLfIG1azJk_YKE,928 -awscli/examples/rds/describe-event-categories.rst,sha256=BAksbAeGooocO6lR8XcLZvyt_lAbQus8HffgW9LUXxs,1633 -awscli/examples/rds/restore-db-instance-from-s3.rst,sha256=uCK7MJ77eAGq8Y_e-1qFh31SSCpclUTNI_ORJz2lNCA,570 -awscli/examples/rds/promote-read-replica.rst,sha256=EGdb4cFGjiHhh5bWExznMROhS6lA7k57sl14lSaBrSQ,527 -awscli/examples/rds/delete-db-instance.rst,sha256=eEjC9Th-drYzl0ZIihdcpD3RS9SEkY0mxJkDYvmQQSc,490 -awscli/examples/rds/describe-certificates.rst,sha256=aVbfAiHtlJOdCspX4ZbWswoePavhFxiqvrUlUZyzDuo,535 -awscli/examples/rds/create-db-instance-read-replica.rst,sha256=Vb2gtyvxnmH2UyXtkyUUJuuFVFLMdwPxqFtjG9T9d6A,697 -awscli/examples/rds/stop-db-instance.rst,sha256=gUxKF4KPmWyRkH17IJPn52hzlI-j5fsv5hRU_fRlQ8I,256 -awscli/examples/rds/describe-account-attributes.rst,sha256=6nGq21C0rSMVZWbS8tHlfUlob81hr3uAP9SlUVIJwZ0,1982 -awscli/examples/rds/describe-reserved-db-instances-offerings.rst,sha256=TKag_MDVSOGvoMuKFGKdQF7do5K2YpjD8gokwH4Oe3w,890 -awscli/examples/rds/purchase-reserved-db-instance.rst,sha256=Cq2XFPQUwKKmnmpxXofE_sy27rZy2R6RfheRPTd-QcY,378 -awscli/examples/rds/start-db-instance.rst,sha256=9Bp9NxOUBsLxuXxUvKUbymugNg6qJSxxyPncrLU3RZg,259 -awscli/examples/rds/describe-valid-db-instance-modifications.rst,sha256=f3e4MeE_TAaJY-pAe7bi4yU4-12ypH_2orTeyG7_LG8,2612 -awscli/examples/rds/create-option-group.rst,sha256=P9Lt9_VvXdo91oe9VAg83Ft_W5VRiFb1GJJLH96uhVA,778 -awscli/examples/inspector/list-tags-for-resource.rst,sha256=SffyIGt5VRPQGBTgaNRJau3n-xC48cGQkYjztxWS5G4,729 -awscli/examples/inspector/list-assessment-targets.rst,sha256=4oyfreVadlw2ujdmXrDgXNPVOVP5vg2abSXhtwQ8qTA,509 -awscli/examples/inspector/describe-assessment-runs.rst,sha256=G_trpXTdLIfb6HNGHk3_sadK7_4HGYZ0PdClxXgz234,2099 -awscli/examples/inspector/list-assessment-run-agents.rst,sha256=Ow5Ua1-DjT_G0vYyQ_632s8z5cLR63DmWWv9pN8E_4c,3709 -awscli/examples/inspector/describe-resource-groups.rst,sha256=PBy16e7Qve4cqK8R2Fnj0fopZy7RNwOJ3tDxKUiBkUA,825 -awscli/examples/inspector/delete-assessment-target.rst,sha256=t3xotVmFXNHDGa44DVlyegsDHrDxlurVDFd4APFajjo,551 -awscli/examples/inspector/stop-assessment-run.rst,sha256=89HBxG3su9OXpjVcPWyyGEsFGEMwoWsRfIDW7BrrIBI,640 -awscli/examples/inspector/list-rules-packages.rst,sha256=vYcXDWZRHHg0T3SjOGcPYzAT3McWXuI8hPpgqbRfJKs,724 -awscli/examples/inspector/describe-assessment-targets.rst,sha256=-mZiMooXz4b2RjejfSzx4VMSlaWLcjQv5AxWASDD94g,909 -awscli/examples/inspector/describe-findings.rst,sha256=0OCKyjBMBDFu3x7xN2TlshURGCVcs_6VaBPqLen0uyU,1649 -awscli/examples/inspector/start-assessment-run.rst,sha256=u3JoZuonYNW1t2pjw_leDrAXjT3e3RMYotiI5X_Be_4,839 -awscli/examples/inspector/update-assessment-target.rst,sha256=SL0rYQjY5_okzQuqAeLlREiNRl7iKR_iQt8NYjXdAao,808 -awscli/examples/inspector/set-tags-for-resource.rst,sha256=pHT_3b63jS0ZL8v8PIDkgMEPer38T_nnJEU9aRKnqVY,710 -awscli/examples/inspector/delete-assessment-run.rst,sha256=QyxVdfD_vshIhLSJjUJUhGfw6bpBi8TQdZN9gSvjNyg,648 -awscli/examples/inspector/delete-assessment-template.rst,sha256=XNaim1jS9Q-1-YN3__UOrJD-8sh_pNGONfWgLCa4bOE,643 -awscli/examples/inspector/describe-cross-account-access-role.rst,sha256=ZdU5c6DgGCcvQSTFAR_7R6trpu519GS1S_Ud06LeAr4,575 -awscli/examples/inspector/subscribe-to-event.rst,sha256=ghQH9lRPTBnxFDa3ocO2AC_aAZ12Q0HRLuJWX3Kcg-I,748 -awscli/examples/inspector/create-assessment-template.rst,sha256=Qnbf7_5CX4SWu6n23tzAqvzlBMJWTgIfSJImj86pufo,1021 -awscli/examples/inspector/list-assessment-runs.rst,sha256=RUKMR_vIeIwfPYCczlbYuz7Cnbczju_jOOsCvky6n10,665 -awscli/examples/inspector/describe-assessment-templates.rst,sha256=95-j5S1rhj3ESCk4dwhx2wfFv2DmonHh9LhYr9xqNWc,1158 -awscli/examples/inspector/list-findings.rst,sha256=446BaDoM3Zudqxy8ylh4OlyfVPcigGLFvAj8tCNUWvs,619 -awscli/examples/inspector/get-telemetry-metadata.rst,sha256=iYMY0Bjkbw7Y6W0O4j_VY5hYqm88lYE2bttvpiUqpJ0,3026 -awscli/examples/inspector/create-assessment-target.rst,sha256=tbkUX5gffoDxIt2ov9oMgclB0tAW6DzJJ4xhR_IMd-M,777 -awscli/examples/inspector/register-cross-account-access-role.rst,sha256=DX-FJaw0yHnklgOnTXVA4z0NyfQfC_AtSZdlFYF3aXM,640 -awscli/examples/inspector/preview-agents.rst,sha256=zfmZxAKP_oswzj4GUoiSS_MXkiM5zwwLNr9JEwgPtJY,652 -awscli/examples/inspector/describe-rules-packages.rst,sha256=M1iprwRzkZw-IQFab5qhiCcWi9HFqkqLuU2lUEv9a1Y,1646 -awscli/examples/inspector/unsubscribe-from-event.rst,sha256=36FGTpQ1VLkhFWUrbMhJPy8gCFVVOK7VKzavmcceCRY,761 -awscli/examples/inspector/create-resource-group.rst,sha256=n_IvTSSOb2x2MIpRq8kse4Xg4zYlV1v5xVnR1e7GYGg,585 -awscli/examples/inspector/remove-attributes-from-findings.rst,sha256=_alBa8MI00VuS4YhTbjvJSc0XZIn04w4hL3bvytEeCY,785 -awscli/examples/inspector/list-assessment-templates.rst,sha256=jkOUTwcgY0kXuduJuJVqH5OYWCJkyL7-qxFy3ImJ3b0,667 -awscli/examples/inspector/add-attributes-to-findings.rst,sha256=XpFiu1-KcFrgwg3KYpcxrza55eb0dSEXGKd5t-C0WsU,766 -awscli/examples/inspector/list-event-subscriptions.rst,sha256=6xaZ0Bf69cbeuqDqLWAEAr3rLMkNS4FYAJaEZ2z_ma4,985 -awscli/examples/elasticache/modify-cache-parameter-group.rst,sha256=WvofbE753d04EaOxFgvzIRqJQuHPMSSsXXSgHxqHbhc,408 -awscli/examples/elasticache/create-replication-group.rst,sha256=Hb44cmWE0oDZusH-m-ozzfB5Oi1TNJAszOeuOAke7q4,898 -awscli/examples/elasticache/modify-replication-group.rst,sha256=WQkYk74xFGgSYjtXOR7jibby0WfsU_V--cxPd-lF7Cs,495 -awscli/examples/redshift/delete-cluster.rst,sha256=flAxqcZ1mKoqOd_XG73TXf7r2gVpCW26cAKGOe5z1jc,603 -awscli/examples/redshift/describe-reserved-nodes.rst,sha256=uMBsIZKBDLZ9orPMWssJNI8ckAAjZt79LIgADKl8Uo4,994 -awscli/examples/redshift/revoke-cluster-security-group-ingress.rst,sha256=KnT8wIwDYkWyUy7rFgsPWRjWMV0s68Sam6yvU9fk1CU,603 -awscli/examples/redshift/create-cluster-snapshot.rst,sha256=O-qnFUyfte7v4W9-iOhIvknvINASlBn_Q1VRv1-GSVQ,939 -awscli/examples/redshift/modify-cluster.rst,sha256=YK2Y50x2gLrdjNyACxm7KXiBBJ8XjueZNbBJaOiP0WQ,945 -awscli/examples/redshift/describe-cluster-snapshots.rst,sha256=Ce7P6zM8dvU9Y864ba5wMF9hG195kVEnzXltzTFcWNc,2445 -awscli/examples/redshift/describe-cluster-versions.rst,sha256=DwQDu7GRUsQcRXBzeAkuRmFX605gz8UxuJvxPIrX0TY,556 -awscli/examples/redshift/copy-cluster-snapshot.rst,sha256=ZLohE17BYbmFmJ_npRQ5CsA7Rm1iRATLxkZiy4auqfw,1049 -awscli/examples/redshift/purchase-reserved-node-offering.rst,sha256=uproTrYFSBi2CCVmkQmEqLby0_Ncz7rA0frVUkvT36Q,1096 -awscli/examples/redshift/create-cluster.rst,sha256=98_C9a5EGDex9he_NPpjSUEFImyPdvwEj91zBlgOMIQ,1446 -awscli/examples/redshift/describe-reserved-node-offerings.rst,sha256=Wa3AdmzAMJZHzw7u3XXQLez8WRifuPy7PzkUj3yhDCs,1499 -awscli/examples/redshift/create-cluster-subnet-group.rst,sha256=PfhedJyQXJd5D271HbhVrzSArxVf1B3HsTgesBzXigI,865 -awscli/examples/redshift/describe-cluster-subnet-groups.rst,sha256=pYBO10zZs2x4Jk4UfVlgMYTnSja-cyOU1fM4Ickt00o,930 -awscli/examples/redshift/reboot-cluster.rst,sha256=GoN-d0bt3F47_6nxKfU1yHPrYATk_WoIroQBSGYQafg,1459 -awscli/examples/redshift/reset-cluster-parameter-group.rst,sha256=eGLrNCbWJHJR3MSW4gTmc9p3MXG8sZVpokadTiwA0dM,282 -awscli/examples/redshift/describe-events.rst,sha256=2EvDWad-0P9U1X8c6ckhQatUUJ7LPLx5DGl4jc7onww,937 -awscli/examples/redshift/authorize-snapshot-access.rst,sha256=XRU-AkvIYLYcHW3xoHJbYFxu-5Pn6qL1cCN1irDizAQ,1301 -awscli/examples/redshift/describe-cluster-security-groups.rst,sha256=TCg-gPPs20q3Vq1WR_uaa6WPI-llT_h3Ie7lPVf0OFY,1010 -awscli/examples/redshift/delete-cluster-parameter-group.rst,sha256=DgXjEOjR9X7pVnNny7kUDacvQNXPCGnrctW6BPHuDYQ,222 -awscli/examples/redshift/describe-cluster-parameters.rst,sha256=r-Y71sN2B5DyoBV1SVAILIWGojgQlDHBocc5y7xWDHI,2217 -awscli/examples/redshift/modify-cluster-subnet-group.rst,sha256=DNUT-gQMf6hpqwcfcyzqJgbkv5JYoG1GAuQ4_QZLXxY,1152 -awscli/examples/redshift/restore-from-cluster-snapshot.rst,sha256=2pHT2hfkURYQ9Nq31u40WZR-2Di97wqHEaj61Qaq574,1281 -awscli/examples/redshift/modify-cluster-parameter-group.rst,sha256=ofs1wr0lu0JrDOTejPr2N0tDZ6B4KHfsOaYI1o2Y9XA,822 -awscli/examples/redshift/revoke-snapshot-access.rst,sha256=Wp5mVGjXKyjbtaaDTGaHuBaduBAVyOCbBfaSbgHf0Ms,1351 -awscli/examples/redshift/delete-cluster-snapshot.rst,sha256=PPtM_Y70IoU5ZTYu6v3_7wu9z6ML-1yNXCwbpt9ZkF8,184 -awscli/examples/redshift/describe-cluster-parameter-groups.rst,sha256=IUjoDJF3nbcmJWduDbufsjw8tkV5YIeO3DeUxZFU93w,981 -awscli/examples/redshift/describe-default-cluster-parameters.rst,sha256=K7qRFUMqXntWHuIxOw9v8N96FCeQ78PytukJnHvnDAk,1310 -awscli/examples/redshift/create-cluster-security-group.rst,sha256=kfQgpnrOarmjiG0j-BLW4wypbKjI6Snwx9t2vz02jzg,1268 -awscli/examples/redshift/describe-orderable-cluster-options.rst,sha256=BlmfUke6a2QxybYK-FG3Gq7RwfoubWC7XcKhParfW3Y,1806 -awscli/examples/redshift/describe-resize.rst,sha256=8OEE8U2oMZaLuRktskzcLXFoBsFuxbzBVdMuJdoy7fw,488 -awscli/examples/redshift/delete-cluster-security-group.rst,sha256=YeqLPOembq6iYJov_j3KcPBmUFKIvBo_b5R2_8DAz-A,217 -awscli/examples/redshift/describe-clusters.rst,sha256=mXosi6u1BO4nr9Q6HcHFIXzy_6F8cI2f8MdFkGVsDFo,2005 -awscli/examples/redshift/delete-cluster-subnet-group.rst,sha256=ouAGJPQnhhF8p_omq9QOMapJxeo1AlWIcoKsIGgt95A,329 -awscli/examples/redshift/create-cluster-parameter-group.rst,sha256=sSWLR5B5xoOhZxt6bs-qXIihbkJdm2O1Z09alRTA9xg,650 -awscli/examples/redshift/authorize-cluster-security-group-ingress.rst,sha256=dnOvDRFO_M9tnaXPTkFJEBOufJi-Vrb9YjKU3oPusCw,626 -awscli/examples/cloudwatch/put-metric-data.rst,sha256=bLFC5gwHvntIXiGv0LFhRaEd7jC27sHqeWzl3cVtMgA,1126 -awscli/examples/cloudwatch/describe-alarms.rst,sha256=Xx62GZDNqLCWMqmwpfcoyFN384sD9D_TVxGtoD9s0u8,1751 -awscli/examples/cloudwatch/get-metric-statistics.rst,sha256=2eW5dmXky_oYy7bgJKFyjfZ0_wDhvOsAmA3D1igPteg,4916 -awscli/examples/cloudwatch/set-alarm-state.rst,sha256=rDkHfPCup5cx4j37z-Y2dF4xSl8jsbS07EYo0WdP5mY,401 -awscli/examples/cloudwatch/describe-alarms-for-metric.rst,sha256=p-2dFjgRRhI2UaxuL5jyPM5tmq186SWRPRm3DvaHT8I,3562 -awscli/examples/cloudwatch/disable-alarm-actions.rst,sha256=zKpiELbmWk7HBvpusZYj1Hltzrl3N-0U0DhPWnS3eVE,270 -awscli/examples/cloudwatch/list-metrics.rst,sha256=CaAAZFbW3-RamH8VA5S8L-oye4rtCjXPec9eAAC0vFY,2527 -awscli/examples/cloudwatch/describe-alarm-history.rst,sha256=nDAXGrqpi628a9-qkeNejUARZzP5hQWY60hCt1pHpds,1898 -awscli/examples/cloudwatch/put-metric-alarm.rst,sha256=6VnpT0S0xIxdEO59HB4kPqXYUmmheOkWjWrrzQktjPQ,1412 -awscli/examples/cloudwatch/enable-alarm-actions.rst,sha256=xcyA_t0kcw-eVVkLpdZiuicKwqW84sw4NTrN5sJIl8M,270 -awscli/examples/cloudwatch/delete-alarms.rst,sha256=BKs1LQkjwJ5NsXMvyKqLSwmewY4PPu8XkEWHxOgAskY,254 -awscli/examples/elbv2/create-load-balancer.rst,sha256=HqT1uDnxMQOWuHy9zj_io6ouvJYnzbI0u6U1H53cllw,4487 -awscli/examples/elbv2/set-subnets.rst,sha256=-2ihgZI_4JorQj8HenMlHhIwhpfFHnqpdjk7zjI4AsE,631 -awscli/examples/elbv2/modify-target-group.rst,sha256=MW94dThKR_DGaHjc-SjB6q_aaLJbIXgJygGvz5fwJpU,1291 -awscli/examples/elbv2/describe-target-group-attributes.rst,sha256=2nGV58IZKdJ1KYEXKxaIz3UiB2bIv-M_EjlKFF9DTkw,752 -awscli/examples/elbv2/deregister-targets.rst,sha256=jBHYwvPwEVP742sgOJvKrNj4NCGLsO8SgX8D5z0vMNg,680 -awscli/examples/elbv2/add-tags.rst,sha256=1oJ00_pg0RezaF5XZfEFmtVyjPFfCfQ1K2alFzQgCyw,333 -awscli/examples/elbv2/modify-listener.rst,sha256=_jVQ9mqwSEqgecKDcIpEI_pt_Eq1zIDNZ3dLUVdon9s,2413 -awscli/examples/elbv2/describe-load-balancer-attributes.rst,sha256=-VOitf4jkT-3jCrsaGLXkAvkZZ8aJZkMJ1i_0R5bAlE,842 -awscli/examples/elbv2/describe-listener-certificates.rst,sha256=SKKkSHlWYj_XPTJ3G451-uFj2WoDHlIdLBHotnh5XyU,895 -awscli/examples/elbv2/register-targets.rst,sha256=STkkNPEN0q1VC_bbgk2z27DHQP6te7gHocqSSDThVVM,1224 -awscli/examples/elbv2/delete-rule.rst,sha256=8w5XLqDqbmkOh3MKFa1xWSzizgUCewyw2EIsSmlAgd0,255 -awscli/examples/elbv2/set-ip-address-type.rst,sha256=1V50gf_3Fn3e4S0E5in8eaj0J4E_WkteLb54qlbLbDc,508 -awscli/examples/elbv2/describe-rules.rst,sha256=fa9yiDHEdI2yaNow6Zm7FfH229vgEHiNV1bVlkDd9Dc,3442 -awscli/examples/elbv2/add-listener-certificates.rst,sha256=V_A-7YYUxbV7CAUXrDwYevp2NPD7nq9_YFaibQ3uI0I,653 -awscli/examples/elbv2/delete-target-group.rst,sha256=d0B9tXh_kHvtomc7TtnA6oBJXzGJaUCc1aFsxPp43J8,241 -awscli/examples/elbv2/describe-account-limits.rst,sha256=8RtkEo1fKsTln1WQ6V8Tb5fH-KpeFn99dYPkULOJ-mI,1065 -awscli/examples/elbv2/set-rule-priorities.rst,sha256=y5qVsf4tCO4OGSWVE3VPQnymHdwtXe7SjakAjPtaRhQ,1078 -awscli/examples/elbv2/create-rule.rst,sha256=4AFOeNAdvbMRwV3faBNIKZ_-BGxdJBYKihexdgak-jo,2695 -awscli/examples/elbv2/modify-target-group-attributes.rst,sha256=3wYpHxzFphqXETVo0irDPK9NqSMJCHT3Xv5Lv2B3LQk,858 -awscli/examples/elbv2/describe-tags.rst,sha256=lGCbvR8Fm8-UOFCpVVeT0G31dCa8H9QTO-x27qi2d4Y,785 -awscli/examples/elbv2/modify-rule.rst,sha256=-8ODyG7B20xoDujasaL0G7xNx3L83sdLkViTvN0UGD8,1097 -awscli/examples/elbv2/describe-ssl-policies.rst,sha256=BuQxuu0ws1EenMH0zHgON2w11BBzpB_IgLOahgL64w4,1240 -awscli/examples/elbv2/describe-target-health.rst,sha256=0Q7yWPH5jXLUMtMBxiA5RBzCj4tuse6hGq2sYunZH4I,3144 -awscli/examples/elbv2/modify-load-balancer-attributes.rst,sha256=J3MzE88RLJPu0TzFoi4hQlMJf3UXclOkt0z26W9m0UA,2940 -awscli/examples/elbv2/create-target-group.rst,sha256=ktlCse6ZPfwL68HcUllVIA552NGk_x89GXXg_Gqa8sc,2752 -awscli/examples/elbv2/delete-load-balancer.rst,sha256=LhCbfZvnfqAy44rYT3yVdBT-q_nlVlDMytk8r54ONlI,256 -awscli/examples/elbv2/create-listener.rst,sha256=M0hKqeg_z17EiHIw6sSN8ocUGh33EyMpGaUknTiMz6w,4323 -awscli/examples/elbv2/remove-listener-certificates.rst,sha256=GPW6x3UKfVp_7GNZukXOXYsT0ooo1Uro4t2OcrXLvQ0,440 -awscli/examples/elbv2/set-security-groups.rst,sha256=g1s2WMJHk7CJz8nXjFI-G4lq8gQ6CaJAZazaJ7XG1y0,428 -awscli/examples/elbv2/describe-listeners.rst,sha256=g0mUERsiVcFKhr2RLPkspAePapGbs3kRbP6XyxYp7Dw,2772 -awscli/examples/elbv2/describe-load-balancers.rst,sha256=O8qlSl7UcavqoiFu41A5vuWFxYwobBrG-4riwBvYF9s,1505 -awscli/examples/elbv2/delete-listener.rst,sha256=WxYVUqYxTeGIvFKLuTh0KuJEAMmYq1Tj7FxK6pfXcUs,249 -awscli/examples/elbv2/remove-tags.rst,sha256=O5TSFsAkW9U6DKRE35f-7CpFtdz9neGK9pAjm7F754g,307 -awscli/examples/elbv2/describe-target-groups.rst,sha256=ze9YlFfDvYQfETUSc3k0aOuxLF_u3LhCbzRyVkAMhQk,1635 -awscli/examples/elasticbeanstalk/describe-instances-health.rst,sha256=_axf_RKu1JGZFEVbAGn49HxcYiLE-xVZMQ5iERxgu8c,2052 -awscli/examples/elasticbeanstalk/list-available-solution-stacks.rst,sha256=2fqQ73Gvitv6jwsrfB10PbVBWTGXwiUKnycD5RgmPmI,2560 -awscli/examples/elasticbeanstalk/describe-environment-resources.rst,sha256=qz4JRwlQ5VgXcDPcYOcvVZnm6m_qOD34VGbcEu4T9FQ,986 -awscli/examples/elasticbeanstalk/swap-environment-cnames.rst,sha256=iVwSkBlhbJxFgRULsKyt-2XNJr-IWZAeE2m8DQCtq8w,236 -awscli/examples/elasticbeanstalk/restart-app-server.rst,sha256=vCtqKoqetOaUL92VgMKSRzlCDrju1stJ-6fMHvG1xgY,210 -awscli/examples/elasticbeanstalk/validate-configuration-settings.rst,sha256=D60aCAASQYfdZ_2dpXRA03w-rv4cuuI9AkxRwvL5nJ4,2712 -awscli/examples/elasticbeanstalk/describe-applications.rst,sha256=D2cdubnUVP-rp-W2zecefjpxmt3sronwfudTEBSR92Y,1276 -awscli/examples/elasticbeanstalk/describe-configuration-settings.rst,sha256=0oK3NMU7yWRWgN3kElD8m1MQ5ct2EmIZWdMEd5P9qJo,2095 -awscli/examples/elasticbeanstalk/create-storage-location.rst,sha256=9k0Hr0miVqnQ_oxRRAJoyFGYTHFbwZXhd9xH1wTH70s,226 -awscli/examples/elasticbeanstalk/delete-application.rst,sha256=84bX8EQP-NURpfgHbTXFQFyAeUyTmZEUwQTMTAcHU8I,163 -awscli/examples/elasticbeanstalk/describe-environments.rst,sha256=GOVuIA0_Xzxvk-yoIYuhEYxZv2eebpTb4SKhcv_6Wgw,1106 -awscli/examples/elasticbeanstalk/update-environment.rst,sha256=3eW7n0yXj293F1oSxe-nQnk2Yk8hlwcHeRGi7BsBMcw,3234 -awscli/examples/elasticbeanstalk/delete-environment-configuration.rst,sha256=HHBgVrSZZRxp80IeUttcvSrqwlf9KTlqrz9o6TehZXg,236 -awscli/examples/elasticbeanstalk/describe-application-versions.rst,sha256=G6j61WrqsntKbDXnOpDAAW5M6PMhPwupxdpBHeiI13A,1186 -awscli/examples/elasticbeanstalk/terminate-environment.rst,sha256=nX3RSy3FLJ7hjig6e1oipkprLb---poWSQNgo2uBNN8,855 -awscli/examples/elasticbeanstalk/create-configuration-template.rst,sha256=aNPM10V2XFE6hb7ST83dsEpO6xQLZfHG1NoD8MI1_W8,592 -awscli/examples/elasticbeanstalk/rebuild-environment.rst,sha256=oIXi--vashijMSeMMqeHe-cgZhFlLheWDrCxm5w8G20,199 -awscli/examples/elasticbeanstalk/update-application-version.rst,sha256=0QeTykG8pJfKCntAfy6YB-r3qxC8-DT-5XA7IsZMcG8,781 -awscli/examples/elasticbeanstalk/delete-application-version.rst,sha256=3uBeCfemfHdbcESkTmz96WTS_yzD_MS9Oc0a8Ybe5W8,282 -awscli/examples/elasticbeanstalk/describe-events.rst,sha256=4SpfSjaD3C5e0qpOcKzuxhJYZLISoCvKxCQ7f9ugzSU,1586 -awscli/examples/elasticbeanstalk/create-application.rst,sha256=xyJsWMauaGoBR2UOA8iuRhrE3lByHSlKsSue-0VAwNk,832 -awscli/examples/elasticbeanstalk/describe-configuration-options.rst,sha256=EOFHrTk5sGfnSeAurLj4KtIifuyTpaL0wYGWVBdNXZE,1916 -awscli/examples/elasticbeanstalk/delete-configuration-template.rst,sha256=dzm8uvQgY8cMwrXLLxaPvv8zbnF08ffiZrYqdsrgzUc,263 -awscli/examples/elasticbeanstalk/create-environment.rst,sha256=Mg9T_nbAtNYZQrfKslgmGfR0YzwGtxwAwDIoh57Gvwg,2253 -awscli/examples/elasticbeanstalk/update-application.rst,sha256=M4FneRgiO7RARFq1YyXQlQCCWb7SI-vxDCzkwO1F4qA,766 -awscli/examples/elasticbeanstalk/create-application-version.rst,sha256=EFLMy6CzmmRMS-hgDmrh89yH3ptJVDgaEEKRGzfQ_S0,932 -awscli/examples/elasticbeanstalk/check-dns-availability.rst,sha256=854YdaUn88poVD8Iu4vyHcHDqZHQXShAyL_JtR2Qc9E,317 -awscli/examples/elasticbeanstalk/describe-environment-health.rst,sha256=eWzL6zukiySyQ8lhmY5IjGjzfVn_LNkT2mA_Dsd8BBc,1499 -awscli/examples/elasticbeanstalk/update-configuration-template.rst,sha256=egEL1qkCNdmsDDg0LTWegAYznbmueYYv6yXqwHZHFVM,915 -awscli/examples/elasticbeanstalk/abort-environment-update.rst,sha256=AEyTYbeHZjoNtj4sxKxYcJgjsSLJ2vkw0kcqCtXlNtU,210 -awscli/examples/elasticbeanstalk/request-environment-info.rst,sha256=j4U2VTVdMnwjRG_w6zMeL6vzgLUkVTCdATjyrrsSalk,408 -awscli/examples/elasticbeanstalk/retrieve-environment-info.rst,sha256=vA39C8lgUNbjxgHqKt2iAUmnupyUjgjWjHJY7UrpZAc,938 -awscli/examples/acm-pca/revoke-certificate.rst,sha256=hNlFZ9cG37zV7vo92rRNhrsDWByqjCJ-0yGrUnKMLDQ,365 -awscli/examples/acm-pca/list-certificate-authorities.rst,sha256=3FKsAZ69X4p6qUiigfXBPXyM1DrwBBTMbjICNKv7eX4,224 -awscli/examples/acm-pca/create-certificate-authority-audit-report.rst,sha256=h9o7myx1qT4OTLvVAcFVZpuQe4QzqcyIY6ablFrWmsg,407 -awscli/examples/acm-pca/tag-certificate-authority.rst,sha256=6jwU7JJigVwGySX5pTH_kkQLRdtFkSf9SE1HlK0E71Q,335 -awscli/examples/acm-pca/delete-certificate-authority.rst,sha256=XZpHCJPGxI13lM-MRlTzQvayuvA0mIrd65pLP9zEYT0,263 -awscli/examples/acm-pca/describe-certificate-authority.rst,sha256=NImqFlAXv103PUnI_2o3zLSxa8GPFJUxLgrac5VSUB0,308 -awscli/examples/acm-pca/describe-certificate-authority-audit-report.rst,sha256=IqlohgDFXl5t-JpZZJHpQzm-eIbaSubeSj1sOrEsmGI,403 -awscli/examples/acm-pca/untag-certificate-authority.rst,sha256=Loba5zYwj8hPrmPhOR6iARYQqrFu70bgVPTlkG-QZlA,349 -awscli/examples/acm-pca/issue-certificate.rst,sha256=MyRnu9gtmxTBrufuBNphSSzaCrwaepCLcGrLgeixeXs,399 -awscli/examples/acm-pca/get-certificate.rst,sha256=lFim0NkwPSbx1o7A8kj-5m1SvuuxpeP-KcmgKk5jNJ8,442 -awscli/examples/acm-pca/get-certificate-authority-csr.rst,sha256=wj7ZraiK_kp_ufxzFObh3fQ4F1j9CfkeP0AFvHWa2GE,343 -awscli/examples/acm-pca/create-certificate-authority.rst,sha256=oiX3Gci0gZ6Vnr7g62V2FxdD-T6xGEEA6oMVxGPEbIA,390 -awscli/examples/acm-pca/list-tags.rst,sha256=8wPz3_ZQnnD6nNxJxc4ZeXx7HUIf3Zgyl-pkUDxklzQ,292 -awscli/examples/acm-pca/get-certificate-authority-certificate.rst,sha256=jBm-lQubcc8hEZo3jtASN7toiH-myskIYqdTRIhxNBw,370 -awscli/examples/acm-pca/update-certificate-authority.rst,sha256=44beZ-sIo25y4zy35wCxAmTKlTpkNZ_lOQ8HMXA_tY8,415 -awscli/examples/acm-pca/import-certificate-authority-certificate.rst,sha256=4P1w3HSCuOJaDP5cNgLAz8nl3LojOG4daqtlj_b5oD8,443 -awscli/examples/directconnect/describe-locations.rst,sha256=LGDOhY_V-HNZBlBS-du_D-pTgTdnboL-BbnBG7Eg8p0,543 -awscli/examples/directconnect/untag-resource.rst,sha256=WPZsBWbmoy-ozhm-E1YtNjqoUWsVK9pWhgUVNJ43IQY,354 -awscli/examples/directconnect/describe-connections.rst,sha256=wBIlsvg8nUeAZXaVeH55n-EjWpmuYMFeXV8p7x24Apk,691 -awscli/examples/directconnect/describe-interconnect-loa.rst,sha256=BfHgeSrDUEmvYLBzlV0a-S3wmSYlbxD7zWaA_yILvRs,1682 -awscli/examples/directconnect/create-private-virtual-interface.rst,sha256=xbXugtf-1eZw0F5X_GcSDNJZ0d7diFO6L9xLSAtZSJc,1443 -awscli/examples/directconnect/allocate-connection-on-interconnect.rst,sha256=lnng4LV7AwU5P2cBHqhN3tnRQBf0KhEOWYsHa_tw1oY,687 -awscli/examples/directconnect/allocate-hosted-connection.rst,sha256=IrP-dpbRew43iLTC4SZ6LVB5DBScyBPI_GTRB4D5s-U,658 -awscli/examples/directconnect/delete-direct-connect-gateway.rst,sha256=fnWIcJ4UFG-zzAuTI6yzsLZr7uX5P2MxFiCHSh17-TE,579 -awscli/examples/directconnect/delete-bgp-peer.rst,sha256=YG4Q-8tvJZhNQnSFEJYR1cK4q7jkKClox5sP9VTCYjs,2209 -awscli/examples/directconnect/confirm-private-virtual-interface.rst,sha256=sFGTLCdYSRW4ZSxHcdeUSRM7jS1dea50zELBreJFgQk,391 -awscli/examples/directconnect/allocate-public-virtual-interface.rst,sha256=4m7Ip_D93LkKpbGJ43gbT7qoZjVybU6CamclkReXRq8,1660 -awscli/examples/directconnect/describe-connection-loa.rst,sha256=xow_m7RGSDkSB_YIQl8l8n114MyXdQwaPv8JKXzVkiQ,1664 -awscli/examples/directconnect/disassociate-connection-from-lag.rst,sha256=CCzS7KUow95pgQ4P_tMALhJDRaf56yNTVfShruVoDQU,518 -awscli/examples/directconnect/describe-direct-connect-gateway-attachments.rst,sha256=HDOKz0aj8N9FZu-BrbrQ9oUf9tsUWrKhSVGZXnPngfs,959 -awscli/examples/directconnect/tag-resource.rst,sha256=Fl9wjEDapBoZemJVYAJeGAV8wjgergThKN4yqQzE4Dk,398 -awscli/examples/directconnect/create-connection.rst,sha256=1copju4pfV3GNmuutUAUJvhpp0qYxQT2jfWPopQw668,595 -awscli/examples/directconnect/allocate-private-virtual-interface.rst,sha256=a_oEHZGuQOa49Kehk4hlMn5LRpCYYRU10Z350oaZNcY,1465 -awscli/examples/directconnect/confirm-public-virtual-interface.rst,sha256=M6fVCeroKb7xSs3VAh1IQNkq0-psHqTsG6ylCgfmEkU,355 -awscli/examples/directconnect/delete-direct-connect-gateway-association.rst,sha256=8oJNtrkGslT8UQ4ClRLOL5eQdRBBPlgit6KgO5QUYXs,718 -awscli/examples/directconnect/create-public-virtual-interface.rst,sha256=hXlgVTiHlC6SQBjSXtr1bFDifcKS7LES9mmWupD4khY,1573 -awscli/examples/directconnect/describe-tags.rst,sha256=KFXQt47SpUawoyc15mfVa7wuzpq0c1_Hzic3dUYBbDk,605 -awscli/examples/directconnect/create-direct-connect-gateway.rst,sha256=29cct0eWlsJCw74-MF2IbjoRjvpvRMZMAzL1YxphugQ,552 -awscli/examples/directconnect/describe-virtual-gateways.rst,sha256=25uPpUxlfu3iWmZs2REP6-FaqtleawgtrJsZxRv1jno,388 -awscli/examples/directconnect/describe-lags.rst,sha256=yimikVLjoCV1CeYER1ZkMIotonsZyu98TbIBPhqTvpA,1607 -awscli/examples/directconnect/describe-hosted-connections.rst,sha256=Mxl0cErHQ79BfZWGfmz9qwfmryxX3_WHkkmPtesF9xM,699 -awscli/examples/directconnect/describe-direct-connect-gateways.rst,sha256=8C5QHyX-DykpM9KpOz7xAyf44kyExPGEla1gZcQDa8c,842 -awscli/examples/directconnect/associate-virtual-interface.rst,sha256=1x74VLr66Udhvky_zutnQrjFMlnb9PkvtsV3g9dssnI,2150 -awscli/examples/directconnect/associate-hosted-connection.rst,sha256=Y4nlXbY7GSNA9tA9McR1IBpQ84UeJbM-1EQHnaEknvI,621 -awscli/examples/directconnect/delete-lag.rst,sha256=Y_d3R1jwO8gka9s-aAMq0Y-3y9ioiE79az9Z1AT2mkc,510 -awscli/examples/directconnect/describe-loa.rst,sha256=B7u4IwBjhNMeobZnLTKtqePiDc-5zbEqRzy0yIAw1RM,1642 -awscli/examples/directconnect/delete-connection.rst,sha256=_tXt3oTBgfDOOdXkxbEYdroK2tLmEMhTseGmHnrB0DE,459 -awscli/examples/directconnect/create-interconnect.rst,sha256=eE0O4IJZfeDmKzJctf4jHq8GhAWOlswpVFzjUhaLyoY,606 -awscli/examples/directconnect/describe-connections-on-interconnect.rst,sha256=lKcWAtqJdQokia4XhToklnEgDbL2PPgYkL5Fx6rgv1A,739 -awscli/examples/directconnect/create-bgp-peer.rst,sha256=NH0dFu4mW4Mlkw_y04JaPteensj-Oq3izX2rJzZmcaA,2529 -awscli/examples/directconnect/associate-connection-with-lag.rst,sha256=46qC6A2KNPwYubJP6oTanOcEaqjMMA88mAdRvU-RqQ8,539 -awscli/examples/directconnect/update-lag.rst,sha256=Wp9A_B1KEmeDcUbJPruJQi9iErOMPn6ZVwKW9G57NLw,1331 -awscli/examples/directconnect/create-lag.rst,sha256=GcDbyPYSrMy75bHxCLzQKrDBrBl2_aPih67dZh_Bd3o,3001 -awscli/examples/directconnect/delete-virtual-interface.rst,sha256=NGPMpd4zEHcwQ5ZCcB4yat8ryBIFKnwzL6am-eVE14o,282 -awscli/examples/directconnect/delete-interconnect.rst,sha256=CXOl19pUKMkrvyzgEpfgvEp5bMDJWZw9ATnO2BlzJNk,253 -awscli/examples/directconnect/confirm-connection.rst,sha256=QpvNphGMssJXgszTlpUj1Yf9sla284IxleMIBoAkZoA,318 -awscli/examples/directconnect/describe-direct-connect-gateway-associations.rst,sha256=rOEBPNsQzN_17Q-JLHLwIPJ8fH7TXPRC9SXn0gmJKxc,1253 -awscli/examples/directconnect/create-direct-connect-gateway-association.rst,sha256=vc6b5oPk2DJVwRN_IgfMkXbGhKLcnTdzUbcAvFHVeNk,822 -awscli/examples/directconnect/describe-interconnects.rst,sha256=02esJq5B1Mu65txM5_PUbnLlzMuILu2F-OlhZ3cA4rc,531 -awscli/examples/directconnect/describe-virtual-interfaces.rst,sha256=gZoxAHutvJ8oqp_AVTWyAMNtX4LcCemK0D4fG5dnozY,2766 -awscli/examples/dynamodb/query.rst,sha256=YOl_SBPElT1ufzVXXVUd9mCSRfFDQh9eW9vQYxkm9Q0,950 -awscli/examples/dynamodb/batch-write-item.rst,sha256=IROW7wJ6lQZ2Wqpz2ZJwEZ2n1ACvIzBEPxqTUZt3wZg,1337 -awscli/examples/dynamodb/update-item.rst,sha256=q8_5yLZGGwTYX4x5h8NEaK6VOqT__PSLducG1G6FEJ0,1443 -awscli/examples/dynamodb/delete-table.rst,sha256=eUNW5-1FcVQdCJf7PLXdp2UO24SzzZkPAuFo1Y7Yves,507 -awscli/examples/dynamodb/list-tables.rst,sha256=fwrxCWjVLoHbKFAW1eQUU3T7DYuZI5HJHIe7XIpUWTY,288 -awscli/examples/dynamodb/scan.rst,sha256=q_jYt9nJQVOQ9VNvh39lan4RX0dKL7B22PKjW-jBtJg,1423 -awscli/examples/dynamodb/delete-item.rst,sha256=KbtLfmlyssE6D6jZB1bYHByP2ZjUKU0sKNuArrZ-1KE,512 -awscli/examples/dynamodb/batch-get-item.rst,sha256=VSrzeAX4vGFDd6hoenCVgONacu3VwjIRJl-aVfoLPqg,1470 -awscli/examples/dynamodb/update-table.rst,sha256=qwmyeEUh80M1pNN-S0IqMTdiihW_a4vxSpnPjVfoU8M,1310 -awscli/examples/dynamodb/get-item.rst,sha256=YIyI0BrwCZDHOVyXtP66LrIRLBtZU9IFK2XdoUEGgFY,750 -awscli/examples/dynamodb/put-item.rst,sha256=ltp8Mf3D0ClewSFgR-jZqYwCCFWEiyX7wep7CYX8ouA,1190 -awscli/examples/dynamodb/create-table.rst,sha256=GIu6GgyO-kUp-y0hM45pjMX7v2YmDfb_TVFMwgcLLUs,1373 -awscli/examples/dynamodb/describe-table.rst,sha256=7L7uJzVM4CylfgZFCQnbq8WW_NYeVyccsHJZK_FAb8M,1109 -awscli/examples/apigateway/get-domain-names.rst,sha256=H1rz_W-LPQU9GlxaHVh0FkQWGRJGiVsuot8WGKW94x4,397 -awscli/examples/apigateway/get-model-template.rst,sha256=v3ysi8gZSUlcXQl43AgqHPY4wWqPLRo4VExjIrQ68CY,239 -awscli/examples/apigateway/get-model.rst,sha256=L3zLc1unE6GvJATii_FbeG8ubngrYQ-GimPY-kOIbBk,462 -awscli/examples/apigateway/get-api-keys.rst,sha256=rKkKJLcuu6RWsAzwYA2lVTkv8zzTp6xe9JJHMcrPKq4,523 -awscli/examples/apigateway/get-method-response.rst,sha256=_nITZb-ebXR2X84-Ms_u83H1TFEj8dqx_WCgJfHCqNk,359 -awscli/examples/apigateway/update-integration.rst,sha256=S9aHQClfSlQRaogfed3A8Y7EzREskp7h_8snsvY-Frk,1171 -awscli/examples/apigateway/update-method-response.rst,sha256=ainS2VHZx9Y3u9hs1VFO1ksiGpY3mKOptWMaEQ6oZmA,627 -awscli/examples/apigateway/delete-api-key.rst,sha256=_dz6OS0bJeU1wGzfKtBmetwX1k4ybxFM1xgWaoXFqz4,120 -awscli/examples/apigateway/flush-stage-authorizers-cache.rst,sha256=x2geDlHXHBllGSEU9AHiRReV62Yh1DMgEXqYnfPIuKQ,154 -awscli/examples/apigateway/update-domain-name.rst,sha256=Phi_xMfG9YLUIOFwZIhHRUjQmpdjmP2lysz8cjOrMgo,432 -awscli/examples/apigateway/delete-stage.rst,sha256=W8-ygGT2gLp_65vsXD8ufK7cnX9S_3-7xvVD2roEnoI,118 -awscli/examples/apigateway/put-integration.rst,sha256=k8IaFa6qSMnFauk4ceCn1Eyn8ElpsJwSRWJYyhdn2NI,826 -awscli/examples/apigateway/get-usage-plan-key.rst,sha256=t2HABv-P3f_O2ii8jyYwSuj9uRQYvX0k3g-8vZCLweo,187 -awscli/examples/apigateway/delete-model.rst,sha256=pMlQtCQa7thRV0KuGuq1n-vjFT4ll49tsQR2cO_jGsU,133 -awscli/examples/apigateway/delete-rest-api.rst,sha256=XtNu9ItEcHp_VG9rhMka_VOIhkcMHTny3y8tzWOSkBM,91 -awscli/examples/apigateway/get-resources.rst,sha256=0tmfEkrtFfXDSysKkrzVTGD32ap9CjS091zkZUGB6uw,420 -awscli/examples/apigateway/create-stage.rst,sha256=hGuEZT8mPPv53COh53ocCPG0_p7QaxAiFrmOXBupKAo,508 -awscli/examples/apigateway/update-method.rst,sha256=3-cdeEiZWXjbmKr1X02MUYXAmUUSP1xAJWV2aWKoHnw,454 -awscli/examples/apigateway/get-authorizers.rst,sha256=rI0GLfS1j8xJRRNWh6W3zHsvsSIIEAWabL0FSVjSy34,591 -awscli/examples/apigateway/flush-stage-cache.rst,sha256=uqV-8Nk-ziNpU1COQ9Ya4Z0SnqYrebT5Pz2_mofd5Lk,131 -awscli/examples/apigateway/get-stages.rst,sha256=-zqrTMHluYHSx6_eYWsnsfjvRnZH_P_MlV_TUGXIXb0,995 -awscli/examples/apigateway/get-usage-plan.rst,sha256=PC51MB7lxh7g6YrQqi8SDLxnHjgzF_Mf1dAv6U8aAU4,106 -awscli/examples/apigateway/get-domain-name.rst,sha256=vjepcVI7Vex4A3QzFxVSZj4-nADyFhZ6qPRVrYIctp8,338 -awscli/examples/apigateway/create-domain-name.rst,sha256=e3F0H75iyDs7o2OY585U4n9flrmbkMKhHq0QnChMo04,259 -awscli/examples/apigateway/update-deployment.rst,sha256=F0QGM0_Q9NdxAsNIsS8SU6AigvjiW6tj8VhqLZ19n6A,331 -awscli/examples/apigateway/delete-integration.rst,sha256=d7jjFudpuWKiobH-o3jO-4RqvVEj3-uZ6-1vZC0t7fk,183 -awscli/examples/apigateway/get-rest-apis.rst,sha256=I3EAQuSRG9A4vSsCJ89LG6NZPxEPrVb1CPmjGk4Zqf4,256 -awscli/examples/apigateway/get-sdk.rst,sha256=eikTrolR5kTQwAMb29BUIPOWBL-xr9NpzuMmMknJTIM,1156 -awscli/examples/apigateway/update-base-path-mapping.rst,sha256=tlYXrUMMD1SzG88RySyR6W4ipUmxum-1IIPUPkzDB7A,312 -awscli/examples/apigateway/update-client-certificate.rst,sha256=WrQL3nePmhHdmDIsdiGYIha0eC3Al9TL4PN1fM9Kssg,219 -awscli/examples/apigateway/create-usage-plan-key.rst,sha256=TSIMqsMcVfoX2CHDtaHoMMPCBnIFphCcNjXKkH_GKA8,167 -awscli/examples/apigateway/put-rest-api.rst,sha256=DVmwRZk752dZfNp5Mw0NQ_so1VKIpSOa2EFiLMDgN70,378 -awscli/examples/apigateway/update-authorizer.rst,sha256=_busqG4-P3arZvf9gPhVUxtGQ-p_Qf26gBjQfkK3VHc,1382 -awscli/examples/apigateway/get-integration.rst,sha256=4Y2-VXhWCAJHBia-FSKdFyYHu2ahRAoX7fel6O5Ozqg,696 -awscli/examples/apigateway/get-usage.rst,sha256=sly9in4bJXFSfWYkzhjWIIuR2gy09Mqu-GwaUoPJOgE,158 -awscli/examples/apigateway/test-invoke-authorizer.rst,sha256=ZzPohdJUR0yHs7QaMyChSZXBKxYDRiWcXV28hZRPfe0,224 -awscli/examples/apigateway/update-integration-response.rst,sha256=V8ckCAyWu194DKVy-3I5Qa7UACBtqmS4_PcvQgOjKjk,794 -awscli/examples/apigateway/delete-domain-name.rst,sha256=zsSM-UwTbN_cbpxNo1aJb9S3o6RdkzT-FZvxx31vXH0,114 -awscli/examples/apigateway/create-base-path-mapping.rst,sha256=-kIRisT9ZpLGq3uDVcA4gFJ1_inCsLt2RygiGz6vVE4,203 -awscli/examples/apigateway/get-deployments.rst,sha256=613M91R_Q-Pq9hkhpmAiZ3eesGpYdnRKDm7KHZzEgrY,326 -awscli/examples/apigateway/get-client-certificates.rst,sha256=tXvCkw9U0vojVgicn37IfTIK4wxPtFIpf3casFjd6J0,470 -awscli/examples/apigateway/create-model.rst,sha256=YdySmCiq4jBTLTQn40GfttR10RXNb0IOpTUXv_Vy7uI,804 -awscli/examples/apigateway/put-integration-response.rst,sha256=iQ-QIcziAwq6FUnIVibNCBMsoMiQICgcZt2kpNzuwdw,673 -awscli/examples/apigateway/delete-base-path-mapping.rst,sha256=BwX-C_3gicZswKc_iL2mXiF86Xe_BFaEkvSR1SIfkVQ,162 -awscli/examples/apigateway/get-export.rst,sha256=y17CLlXEoUzSPOFc0fU6KfxzFAmNsNjHS88wxxqSKGs,650 -awscli/examples/apigateway/get-account.rst,sha256=crfNjpzAlHzPFOyEvlLgo5qZk02iJoJTgLyNW4Chtng,289 -awscli/examples/apigateway/delete-authorizer.rst,sha256=rRnhQpPcBFRQquYh3veihLnkUJCemjxW1wdxlQtdrig,139 -awscli/examples/apigateway/get-usage-plans.rst,sha256=yetUBDq-iyYNOUl8K_3yuI0CaWmcnTu_ijr32vDuQvk,87 -awscli/examples/apigateway/get-base-path-mapping.rst,sha256=96hWpBz0JygCXkurjLrAM8WFFeK99R1EDgzU_iF_wRc,258 -awscli/examples/apigateway/update-stage.rst,sha256=3MswVHxBoP9gg0NTvsBSpyK0jPvLqZol8zQYcVmEk7o,545 -awscli/examples/apigateway/create-api-key.rst,sha256=631sPtUi7lgga18sFdvoUk-f6dSYhhO_KROtDUQnCM8,235 -awscli/examples/apigateway/delete-integration-response.rst,sha256=nq71k0va3X0OMHZKejXoMzBerfWx_waqOYQY2P3YiEE,233 -awscli/examples/apigateway/get-authorizer.rst,sha256=p3rQE7KT3A7TcS6UAZcffhEqM5ySvuP-Oywy3fjml5E,518 -awscli/examples/apigateway/get-deployment.rst,sha256=V7p0C7wGkLe3zOvgOWcfGbHYwbeYXwime6a94-9NECQ,244 -awscli/examples/apigateway/delete-resource.rst,sha256=AenfFGM0aM8HMMjBuefY3h16sJiys9cOuCpobLJLrLs,126 -awscli/examples/apigateway/get-base-path-mappings.rst,sha256=ktV0hDpF2ZN1c6lVuEdWPyW4Vlg_kIVNAV79-Yul0Pk,452 -awscli/examples/apigateway/generate-client-certificate.rst,sha256=uilz_xs0R3wTitY0zwPrhGBnXuTIrvDrQAn8YpnnVNU,145 -awscli/examples/apigateway/update-usage-plan.rst,sha256=cijkXpPINYBupBWlC5WCsqM2HbZSkcq0IKiEwOEA0HM,783 -awscli/examples/apigateway/update-model.rst,sha256=gpgEEAxuba4Nz5zeobfHbyUIDsj5H4zBgOaIKoPG6ng,513 -awscli/examples/apigateway/get-usage-plan-keys.rst,sha256=uflr1n7ovvP1aBb5aKfGGbRu8OwYrY_oneAxZHAjZWo,133 -awscli/examples/apigateway/delete-client-certificate.rst,sha256=xaqSCQAgV_LkVOHD2PxoKp_0BOl99HMjvLtyh3RQItI,121 -awscli/examples/apigateway/create-resource.rst,sha256=PqxSPtwKQjp2UeKl-7Tuide8HSoaVKMdByaeyw-vZVo,151 -awscli/examples/apigateway/update-resource.rst,sha256=uPwdlNH_f2vgaSLwjzLPtRy5YfIf5RBibFYRzH0Qn2c,706 -awscli/examples/apigateway/test-invoke-method.rst,sha256=WPS8b6WN9mLJMrAZxfBJFwmJLZDY3EV9I278gNSY3fU,470 -awscli/examples/apigateway/import-rest-api.rst,sha256=-PdFJpWRIoHcTbgZEz__kJ-vuCmdkSdwzHF1CmNYSqA,147 -awscli/examples/apigateway/put-method.rst,sha256=RFhgMBN0u5_hZy069HXeQUkASdDNJ0V8iOfoQnNQ29M,337 -awscli/examples/apigateway/get-client-certificate.rst,sha256=vDTA_vsIDDXDz4ZhQKK7geOTnGGXML1I3od4-v8l2Ck,115 -awscli/examples/apigateway/get-integration-response.rst,sha256=1nwegleU3yXr3F0gjESHTV8SwxAPD5ZEL5TITcViPGc,360 -awscli/examples/apigateway/update-account.rst,sha256=Lq8ycj0aOfPAN0nH6T1EK44LMaxtz2j4dKrlD7NIjys,435 -awscli/examples/apigateway/delete-method.rst,sha256=LxYVw1-Nd5VC1g_u1ZCyg9GQueO8JQSImvrg8GeLBqU,163 -awscli/examples/apigateway/delete-method-response.rst,sha256=YnGlWK-X1ri-dhn5pBql0-QB9NXPSiT7HHqytz5WF2U,224 -awscli/examples/apigateway/create-rest-api.rst,sha256=nmzAIZWf0h9pYpTYTkpMO9fxOB50WSfQp5FPSD90Guo,323 -awscli/examples/apigateway/get-models.rst,sha256=MgqOgW6kwf0SnttXR0e1kiRFeCSUpX_euZQJOhZh3yg,942 -awscli/examples/apigateway/update-usage.rst,sha256=s1MKpgCtjGT1xM95xvmxrl4lcFbTzr8JXp-0R7nLxM0,275 -awscli/examples/apigateway/update-api-key.rst,sha256=X-Svw7YJ9BD1NuViVf93XIFAi2Zbw_lihw0SXkW8V8Y,983 -awscli/examples/apigateway/get-rest-api.rst,sha256=lrxLyLiCRUURkExeOSd4p4WmLjsw0LCr3fqVX1OVcZE,205 -awscli/examples/apigateway/update-rest-api.rst,sha256=Di1enXd0UIj9R28LTMrAk4avpLLVpv0q1OebmU8H-qA,344 -awscli/examples/apigateway/create-authorizer.rst,sha256=1CwJcYANbaigq7Wr2W_y9YJJ0EGwYHotdcusDbnuWds,1583 -awscli/examples/apigateway/put-method-response.rst,sha256=G9ABN6h89ARvT3mnfXTmTQijgMOM7NQrpfQbt3qBee0,299 -awscli/examples/apigateway/get-resource.rst,sha256=cL-wqy0onOnG1lA7PcKlYnwhcLz5V1pBbK6K4uEWh2s,252 -awscli/examples/apigateway/get-stage.rst,sha256=P8tIcDmhcT7aa0Dn4U9y3SjZ1_2NpG3_jBVr1mqx7l4,1466 -awscli/examples/apigateway/delete-usage-plan-key.rst,sha256=s5dwTgfpZlzYKgIUNiBvcwPC6Q2l_YNwlniXf_xzg44,167 -awscli/examples/apigateway/delete-deployment.rst,sha256=p18PJ5pGWkFYeOjlwfLZ2KTNuAIB9xKjZPsaWZYiYrc,132 -awscli/examples/apigateway/delete-usage-plan.rst,sha256=BJokdNDCmJSzap414eGEbKSBkhb_XkIMnzLe0blHw_w,97 -awscli/examples/apigateway/create-usage-plan.rst,sha256=625rg6750Q5xttJ84O6mtzgeIAasVtq0JulqolsoWK4,281 -awscli/examples/apigateway/create-deployment.rst,sha256=dBI2w2yTB4xvnnNMCPFBIgk_uPj2SEwElgeSTsAp1Vk,724 -awscli/examples/apigateway/get-api-key.rst,sha256=tFCIrH1DtTLfzUk1cHuQ9s4mE78esyMThqR5UuZR_U0,464 -awscli/examples/apigateway/get-method.rst,sha256=F90q7uGHTzo3cK4DsgOFTUznb73iYP8ejZ3OGN0G6E8,1112 -awscli/examples/workdocs/create-custom-metadata.rst,sha256=gfOoaeRhD5W2GQGF1ceEWIqXrt0xq7WWrwaTAiIw_tU,305 -awscli/examples/workdocs/describe-resource-permissions.rst,sha256=ylhNua8hmTeLrD1mTaNiAKwMpqd_my69BgOS-I42W4Y,1119 -awscli/examples/workdocs/activate-user.rst,sha256=DOknK-K4OkwEaXBkpfLrHQlNYCz7bDgpHjAGlp97di8,1057 -awscli/examples/workdocs/get-document.rst,sha256=KUMzc_Sp2h4wbvXvJaJRo5VFg1x1Z3i6LUG5Vf6Zoso,1260 -awscli/examples/workdocs/describe-activities.rst,sha256=8LoTTUeg2Wa65E5QqvT2C-TPT3-7fmZ0FiO9rQ58bAQ,1912 -awscli/examples/workdocs/delete-document.rst,sha256=W62DXQirMMOh2gfxgQcXe1ddZfWIcz9oHdE3nU3qD3U,220 -awscli/examples/workdocs/update-user.rst,sha256=mUhXWsDuG68R6LmCjwrmuudqq91usYUpjEjhlmsyeAo,1066 -awscli/examples/workdocs/delete-user.rst,sha256=ao4EytHxjLCXrxTE6C3Y-zT8E2_yIy2H-yTZmBOSps4,189 -awscli/examples/workdocs/add-resource-permissions.rst,sha256=dkn-MhDs3Qa8HKZT4ZNZSGDwMaRh9mzb2d-fGA_mA64,611 -awscli/examples/workdocs/update-document-version.rst,sha256=xdks06WTzMX5WhfGz6X5B1fkv-X9rQKslxjo9mdwsQI,391 -awscli/examples/workdocs/delete-comment.rst,sha256=vpOLOH4SsKLsQWygekt8VfwiwKjSUgKhSOlyvuVmT3I,471 -awscli/examples/workdocs/describe-folder-contents.rst,sha256=8Wcy78DoCXNNiGZ8KnGo7KfKWQ3nE_ksQTH__HgjbY0,2119 -awscli/examples/workdocs/delete-folder.rst,sha256=0G-FI-FN7Dhlgry63rT4940vHo86YiX2QK08XHzJCEc,212 -awscli/examples/workdocs/get-document-version.rst,sha256=QMumRpuNZ3dp01BiRMkp5O6YbGYK_Hwu8yg0m8vi8DA,1618 -awscli/examples/workdocs/remove-resource-permission.rst,sha256=Te22niXhPgPYCkpAfwch_Cld7fsRKg-WtZ6idZhNoJk,308 -awscli/examples/workdocs/remove-all-resource-permissions.rst,sha256=YvGhwhcxCxYDT1iJoPehKFSScHuFy7C3MyHdlkdjR8E,288 -awscli/examples/workdocs/get-folder.rst,sha256=aZvikb9ws8Axcy0g4EY304W4dA86aKR8S6wHvfIPF30,817 -awscli/examples/workdocs/describe-comments.rst,sha256=txwUah4eZjBJy9KJByIHAXuv15mRpZ8LANkgtkkXLKk,960 -awscli/examples/workdocs/describe-users.rst,sha256=Y6DEeTjA9Z98YJW-ptlw1QFH1mt7Tpdg7x50TcxmVeo,1511 -awscli/examples/workdocs/create-comment.rst,sha256=7oE1kR1ie8aQc938f6szn9GGyx1hqVU127qod39pHps,987 -awscli/examples/workdocs/create-user.rst,sha256=aipYOUO_5Q0YMXBBK45DXoGpNBQRNXnt7scBMB_BwFM,1214 -awscli/examples/workdocs/get-document-path.rst,sha256=mKQmDqzOXq1lw89wpBlQc1bHjiEN0hW0eTtJdJdcgSI,904 -awscli/examples/workdocs/get-folder-path.rst,sha256=gcca3HaJu1gxcaHfvdofkuiUHX2-lifmd8ldfQucETk,898 -awscli/examples/workdocs/delete-custom-metadata.rst,sha256=bCo_OIrs5i9v-WHOY9gdA_szQojfq16HjS1_T4y5Zuc,286 -awscli/examples/workdocs/create-labels.rst,sha256=B6-zhGiuRpSblHvSeyZQWOnMSm4XhWDAUD3Gzx7Qr-I,272 -awscli/examples/workdocs/update-document.rst,sha256=OQWRymhnLUxUZmLRGICeF96u-Hu5KWgfcG1qK8Lk8bs,335 -awscli/examples/workdocs/update-folder.rst,sha256=yWh-4K5dvnaLcX5YPdrQsHCGqpBEp0njW4uB164sQ0c,331 -awscli/examples/workdocs/describe-document-versions.rst,sha256=X-jw86JuhSawmSoiSHCwTHQruy-L9nS4VDY-3NjfkjI,2754 -awscli/examples/workdocs/initiate-document-version-upload.rst,sha256=6eW2VUraXdltRXFSr6sqWxPRFPWUNKVZoZUMDRmNG1Q,1914 -awscli/examples/workdocs/delete-labels.rst,sha256=2kMkd3yMpBTRsD3C6JQIsF2Xtpplw08uSjScuw5Z7UE,260 -awscli/examples/workdocs/delete-folder-contents.rst,sha256=kHoDMEBDik17t8-yCNcuDU1vyrAclM9pdAf5JINIwXg,253 -awscli/examples/workdocs/abort-document-version-upload.rst,sha256=UEOxz4HKTxoJeIejuEOvNBPed25Y9ISYfmZNih4hhUU,361 -awscli/examples/workdocs/deactivate-user.rst,sha256=n6gtiDIxST9dWjAULwJzPoV7J1cQCSxBsrn-zncV1H8,209 -awscli/examples/workdocs/create-folder.rst,sha256=5fW3UOd7jPLRpJ1cecu5zkARY_AZQNRrmPR80RevmrU,750 -awscli/examples/dms/describe-connections.rst,sha256=0k2Y7qNF3gGeGbfrsBQo--xNyQdXSfui3QxYLs6yHYM,625 -awscli/examples/dms/describe-endpoints.rst,sha256=ELH8VMlLsM0-H18gQPH6mlsx0SxzAuSvmqSSAkoFYto,1093 -awscli/examples/dms/create-endpoint.rst,sha256=xWxoWKja_pxnndtv9pFIJpe6bSlYbPZ80_1H7Lu4C78,839 -awscli/examples/dms/create-replication-task.rst,sha256=qPOTdRZnn9CuXPZgq3IjnP8-c4oc3htSdBD_yhLV2OI,2789 -awscli/examples/dms/create-replication-instance.rst,sha256=Qjb3BtVLcy2GN10Vb79Gu4MSI1SypphmHZwDaxQ6A7A,1860 -awscli/examples/batch/describe-job-queues.rst,sha256=O7uzJ4uqUwTdCvb3t66Sst9z9VZohxnsRIB4xOwVncE,737 -awscli/examples/batch/describe-job-definitions.rst,sha256=y-bt7jot-XYjAzt2qxNm_9wdtc8AT0H5rFiB37QuO-E,925 -awscli/examples/batch/create-job-queue.rst,sha256=Lt80RzWbOnNGTZ_ErGcnMZpd3YU5IifwlTann8cVcGc,1521 -awscli/examples/batch/update-compute-environment.rst,sha256=viftGlfUbxzE2S5tmmVqYZr4ncdN1uS6BYJzn33DDak,381 -awscli/examples/batch/submit-job.rst,sha256=H7-sFhoAalC_oLi5lwR0gNtSbC6p_hL-Q3e6LmQe2-U,321 -awscli/examples/batch/update-job-queue.rst,sha256=lCWNs4m-ibmi6VCCMr4_9QJe7itglZ9vjKCr6y4K9pA,285 -awscli/examples/batch/describe-jobs.rst,sha256=TUWqq0TrDKjiWaU1GMqIPym3sermqmekIy5Itbunw6k,968 -awscli/examples/batch/register-job-definition.rst,sha256=CGlUXd-4VPFOxp1GAz9gqLFg7uIOxcLLK4BYGiZKb-Y,468 -awscli/examples/batch/describe-compute-environments.rst,sha256=ei1cS5eJhw_wbtrBJb8VaGX7lUfKnCLbfiPdTrKZr8g,1522 -awscli/examples/batch/delete-job-queue.rst,sha256=FE0oNe2sujadyXRmn4G189SekTx8qZxAJ4B5Gi3aiJo,128 -awscli/examples/batch/deregister-job-definition.rst,sha256=Hcy4HFeCUOpw3oh9ds408B0L1C8dHxCf-TjiLJ_P0hU,170 -awscli/examples/batch/cancel-job.rst,sha256=Y597wZZ9YeDiMbbf1mMaeSbbSbWcXbN-nKCgG7KW2oY,183 -awscli/examples/batch/list-jobs.rst,sha256=zHubpZyKI4j1lNQb7blXW-J-W55HhpC2e2n2fD8vNuQ,714 -awscli/examples/batch/terminate-job.rst,sha256=EsfE1ZcllyiNj1IgDku8ban3btq8Lwv8MMssSl-qp5I,193 -awscli/examples/batch/delete-compute-environment.rst,sha256=u-DyGTp3Tq3RtAbUNCxeNOQBvzfFisfYHok8MvifJu0,180 -awscli/examples/batch/create-compute-environment.rst,sha256=EGbprlaj8zHS4B7i3uV4gugDJVaiSbXlfTiDmvIAP9U,2607 -awscli/examples/autoscaling/create-auto-scaling-group.rst,sha256=mezXqotBSWYOgxClDmeOip9w-MxLln7kL4U-Yccx4Us,1585 -awscli/examples/autoscaling/describe-scaling-process-types.rst,sha256=BEFaVpkPUIk-xYX17hsQ_GzndNBx9Zc_eO1y8eHzMC0,1087 -awscli/examples/autoscaling/set-desired-capacity.rst,sha256=X_LA7h0f0zQpDL4payXE-TrC6FpH93il8dEfJvnjuY8,265 -awscli/examples/autoscaling/detach-load-balancers.rst,sha256=ggdPkiUT2_XE3fRNpAys6P1J9rkH41Ofupzqr90P1aY,278 -awscli/examples/autoscaling/describe-lifecycle-hooks.rst,sha256=m6vmp7qGyHtZCU4U7F077UAd-MpF08xP94j_ON98INU,828 -awscli/examples/autoscaling/describe-notification-configurations.rst,sha256=zBC_CTSpxHQvD5J8YWQGeAsJn-YZTBsbfHsRXNOxXC4,1995 -awscli/examples/autoscaling/describe-termination-policy-types.rst,sha256=jLGAkzn_6bu4FNhmIlZqP28dTaKuP5fw0Y2bZMQefco,762 -awscli/examples/autoscaling/describe-policies.rst,sha256=pv1vNWs5OIuid5K3Ug-I-ONnY76hHPqHAR-AU2vPy14,2702 -awscli/examples/autoscaling/describe-metric-collection-types.rst,sha256=7RnXVy4osjDF2rhaDKX6cnKbV2dFXoTon6hVxlKojQo,1228 -awscli/examples/autoscaling/attach-load-balancers.rst,sha256=lZ86UX8Du8tosgQLT-sNyz5JwfGp-umAe_eCkvd0caQ,274 -awscli/examples/autoscaling/detach-load-balancer-target-groups.rst,sha256=RCDW0kj6ZotYg-jHsJ3NtpJjXVxkWqit8vf0ydd2vec,362 -awscli/examples/autoscaling/detach-instances.rst,sha256=oGSRMCA0ddjMNis-ZmolcsYxo179rbYA9dmI-uc3Ijk,949 -awscli/examples/autoscaling/set-instance-health.rst,sha256=TYFHfF6FD8DaKjSVnLZhzXSd_LgCt4DwKa1bziiqH3s,218 -awscli/examples/autoscaling/execute-policy.rst,sha256=JNBwXFrngmGhKaBoCT3qwlKLbAH0MhV1ErHB02Gsx3o,457 -awscli/examples/autoscaling/describe-auto-scaling-instances.rst,sha256=2lM36y6JntrA2nzducqXYBc_EViXBjMaZ29CPSSkXh8,1623 -awscli/examples/autoscaling/disable-metrics-collection.rst,sha256=GczQgIY1_0D6BTZYhjvXWf_1gKNoDNZeRQf2mK79HYk,571 -awscli/examples/autoscaling/delete-launch-configuration.rst,sha256=VyrCov3_1Wdc80GQ_lEXVOT8JZVabY1DyG8cu7tcoTE,419 -awscli/examples/autoscaling/put-lifecycle-hook.rst,sha256=h6XyKGuIyREd_yjYOyJD-8jO64IBzRY4uTH3OBtimbM,607 -awscli/examples/autoscaling/delete-auto-scaling-group.rst,sha256=eduZ1lLqFV2tJOLd9cKPofz5u7v_gva-HnM5MRYJsac,661 -awscli/examples/autoscaling/describe-account-limits.rst,sha256=UY3k8YcQTht6bKUKN8nhPOh1_TuDJIaxB5JuZHPsTUc,588 -awscli/examples/autoscaling/describe-auto-scaling-notification-types.rst,sha256=XSNQLY7mKs7fYYd0kGyz_2ga27FY6PFs69jefzSQjaA,826 -awscli/examples/autoscaling/put-scheduled-update-group-action.rst,sha256=3BCp0OSbkzZvoZD0Bg--UwL6lpx9olHSUewm6zW8xsQ,983 -awscli/examples/autoscaling/describe-tags.rst,sha256=mK9Vf4DDiWx19EUjhAbh99bGzL0tU4qVoSOYypszkls,1818 -awscli/examples/autoscaling/describe-auto-scaling-groups.rst,sha256=sMVqSDnG2Yh96ujSkKKig1n1EBxLQB78dWLfZd4asLI,2164 -awscli/examples/autoscaling/describe-adjustment-types.rst,sha256=yuP_qAcNxbztaM22SZcg7PFCdOZ4KvRMoH_McaJqBVQ,729 -awscli/examples/autoscaling/record-lifecycle-action-heartbeat.rst,sha256=c2JRww62Sxh23dPpOIAk9a9V8nrgFyrOPuUsauxRYZQ,341 -awscli/examples/autoscaling/exit-standby.rst,sha256=EhtuPRk41ZQfAS5gcN5wxJepvK1ssuJlHobDeWtwX8g,904 -awscli/examples/autoscaling/put-scaling-policy.rst,sha256=plaFl-1olnGQ9AEtEqfbSiDsagZBQdrAee2FalWl9Qw,1317 -awscli/examples/autoscaling/delete-policy.rst,sha256=NGedkQLwSG6kMAgsc_ZBkobZgzaWHrDXfw3WJpLC3l0,200 -awscli/examples/autoscaling/update-auto-scaling-group.rst,sha256=2U9OxJYIUdwsLxnHhGIJRkL5b1EriiHFcsk3-SrS0HE,1428 -awscli/examples/autoscaling/put-notification-configuration.rst,sha256=irs96MaGb6g3VpnBTSRHKY4pQrUDRN0q77LURwah3A4,637 -awscli/examples/autoscaling/delete-scheduled-action.rst,sha256=YrGmYt0Kk6UwikKONGZXbsu0jzFVJP9mVENdvq4ERiM,290 -awscli/examples/autoscaling/delete-tags.rst,sha256=h0u6NQcvLnxhJQ59-ilxi5OJRycE1WhIBDbwCgBmZSk,493 -awscli/examples/autoscaling/attach-load-balancer-target-groups.rst,sha256=hwQZ0s6FPHwXd42V0R-sTJEFjPQrNwtukp0QYVi6Zdc,358 -awscli/examples/autoscaling/enter-standby.rst,sha256=ehnYsHH7eaVWEmCDMN90QlLA5aaroLb_v14ct4r113o,925 -awscli/examples/autoscaling/create-or-update-tags.rst,sha256=RMC5Qyj2vL_Kucl3pXB-rUrQnpqRQRuQp-MYkYckVWo,396 -awscli/examples/autoscaling/terminate-instance-in-auto-scaling-group.rst,sha256=CRQEq91LD-tquzQlOL649JQMvvpy4fUDKU4vSfDwCqY,394 -awscli/examples/autoscaling/delete-lifecycle-hook.rst,sha256=gBWqazLJvusS28wZ-3ODbIUh558XgMxyJn_dfoItA9Q,215 -awscli/examples/autoscaling/suspend-processes.rst,sha256=YMG-WzDpxNb9YxIMhfI9su7Xa3KDzMK0cpglpMq4XTU,499 -awscli/examples/autoscaling/describe-scheduled-actions.rst,sha256=Q1OOiSaDt7H3lc3pvhAN4WfgwoAeLf2k-i923ltkUTs,3036 -awscli/examples/autoscaling/set-instance-protection.rst,sha256=9aenV096SH2_Vl3qJ_mOitga7mMn7c5eYt1k52iY6iE,498 -awscli/examples/autoscaling/describe-lifecycle-hook-types.rst,sha256=erOU97RS2Exb9HXbwZCL3GGXz4yDKP3BTadR6zf5-mY,358 -awscli/examples/autoscaling/describe-load-balancer-target-groups.rst,sha256=YPPmLoPN4CZ1hePx-GgCHrO1fNA_9DO2w6KqGyxjbTg,525 -awscli/examples/autoscaling/describe-scaling-activities.rst,sha256=TPqGBeyvH6RwfeNvDdWRkvkYZzcG1Q7CsmDttFg4MJ0,1728 -awscli/examples/autoscaling/describe-launch-configurations.rst,sha256=3RDaDahL3LH5rmjrRenCc_Hjld_ZDhig6MR0Xn4x9qw,2650 -awscli/examples/autoscaling/complete-lifecycle-action.rst,sha256=PlJG4ir9BvQ69IOjsEqYM5UTijJCHTjqtusLY10xdSQ,415 -awscli/examples/autoscaling/resume-processes.rst,sha256=WSwsX9CFJRNHt0k5z_-aOVejyopR1OKeT6K00NUKHU0,506 -awscli/examples/autoscaling/attach-instances.rst,sha256=fu1aroKswBLmAJICNPDmykSWiJBxat2QBEkaXcCJoFs,247 -awscli/examples/autoscaling/create-launch-configuration.rst,sha256=iMVzpnS7eHG-sczf6i8XVk6StzOcAKYAmViMrt3uzYE,2013 -awscli/examples/autoscaling/describe-load-balancers.rst,sha256=4PbkGM9OEfVPNmbK7W_i6v6JO8640AIilocYxy8FpYE,438 -awscli/examples/autoscaling/delete-notification-configuration.rst,sha256=_Xv0tX6RypjOFuD0Tcrn0WXNJbSH48IdONRqn2Ex5Hc,567 -awscli/examples/autoscaling/enable-metrics-collection.rst,sha256=QKcEOsWrB1fQjPCYkXlBfoyBW3YiE2T6gUZL8TDXTRs,743 -awscli/examples/eks/delete-cluster.rst,sha256=F_eqdpPYUJDCxqdkjCZ_kvey-j2n6HYQFRJQdXIqy84,152 -awscli/examples/eks/create-cluster.rst,sha256=C5TXuPgtxbtry2l1wYliOe5O8zVX75OXcFWlzjYQ_yA,1067 -awscli/examples/eks/list-clusters.rst,sha256=by0aD_Ee5Aa8MR6rIXRj8HQEQBoYGn353RdW32N4P_k,250 -awscli/examples/eks/describe-cluster.rst,sha256=Y1pBGs43_Xj3Yl6rKqyB5vf59NyeI2LeQOniwU0fhHU,2400 -awscli/examples/eks/update-kubeconfig/_description.rst,sha256=hRuVsOd7NBbKOtKOK_2xehi_TlG1e1qoXsqSO6XkI7I,1789 -awscli/examples/s3api/put-object-acl.rst,sha256=i-ymKAtbaQmgqaIXtxG_vh2yzEkqxfJJRboCFHE_2k0,554 -awscli/examples/s3api/head-object.rst,sha256=tmc5LRqZGa6atv5OsgcPoMCRBYi-GUmtbKHpQfU7BpU,417 -awscli/examples/s3api/get-bucket-replication.rst,sha256=u6hdXFoKr3uUjDpRYAorkUrKDhPMgDvl82H23wC8auM,667 -awscli/examples/s3api/head-bucket.rst,sha256=1gj5CxrT7AXz5Fxd-c2vTXPxJ0Ku3usVINpytShBB08,326 -awscli/examples/s3api/get-bucket-location.rst,sha256=0poZpRxgW8ZgijMMOFC6BEjmy-AbHhLXzH51wY3tYBg,225 -awscli/examples/s3api/delete-bucket-tagging.rst,sha256=mUstWEDIMDUZyDUQY05hmxu8dcbdYPwgXXfNCOiyYSI,144 -awscli/examples/s3api/put-bucket-versioning.rst,sha256=pVqHVVYs__xnhyR10G0D2KJfPFkBFLbW6IUwUCF1m6U,356 -awscli/examples/s3api/list-multipart-uploads.rst,sha256=ocCQf4XTX32xNq05z7KgkEsDXRB6_5qEs_bOaHcJmYQ,1035 -awscli/examples/s3api/create-multipart-upload.rst,sha256=qa426KP-Zh1kGJHQa5o-KcEf452yJJ5c4iSrclBDeBY,596 -awscli/examples/s3api/get-bucket-notification-configuration.rst,sha256=0WdlPw0JW8NTncXzLHv0ugCkhM-zchjmkTOAcOp9dvM,489 -awscli/examples/s3api/abort-multipart-upload.rst,sha256=5XvMeres9Tw-dsNTvFhtzDaLVKwRs8MnICwBgKTUd0I,463 -awscli/examples/s3api/put-bucket-lifecycle-configuration.rst,sha256=Ul1x6MKcRQYypYEvK6AcVamWWHe8pswIAouvThWs-zo,1405 -awscli/examples/s3api/upload-part.rst,sha256=KKygxVqybCubtz_Cvaiy4oMIZZcUqbtaYqj7xwWfdug,845 -awscli/examples/s3api/put-bucket-notification-configuration.rst,sha256=SeG9hDZXkEVBIcYm1SsDjxJKuJjExUvTYMcclTVRSR8,1109 -awscli/examples/s3api/get-bucket-website.rst,sha256=9qyBnfA4V07Zy0bYapKpF8YI8MPIBstA2eUmzk2NZbA,300 -awscli/examples/s3api/put-bucket-acl.rst,sha256=4AyAdWMvfRfb1Tmj_M7lPTn7AM_7WxYEr3RU4FvtF7k,531 -awscli/examples/s3api/put-bucket-cors.rst,sha256=JQfwK5WM9HCHB2mJTfx0StH-lz00SddmjW3gFlWMpZI,701 -awscli/examples/s3api/put-bucket-replication.rst,sha256=ZukTqGQbO5WWLJmeWEwtgrwRk7EkcyCsCEqyc74gmAY,1247 -awscli/examples/s3api/put-bucket-policy.rst,sha256=Trk8L-f4Hx3gjk3rRY8o3sd27e8a7sH4jp3Jn1daGYE,1007 -awscli/examples/s3api/get-bucket-acl.rst,sha256=DvKyE26vRZbFWifqqWDSv4a5T0a6r0II-U2rTpMgex8,582 -awscli/examples/s3api/get-bucket-versioning.rst,sha256=j54UIj4TG4igp_jhgAUDsE_YTkl-HghU9R3vbmdaSNM,195 -awscli/examples/s3api/get-object-torrent.rst,sha256=XeB8gOObz6asI-m3YkKcARBaWNmtMRGmyqzOE1UL-KQ,391 -awscli/examples/s3api/delete-bucket-lifecycle.rst,sha256=Z63HsOGpG-yJjX6iialtJNjYaU0_dkgiD0KqsKxdT7M,148 -awscli/examples/s3api/delete-bucket-replication.rst,sha256=2dLYEq1X-cskYVVMVUGK3Ho653upyLeKrmj150xTP78,152 -awscli/examples/s3api/list-objects.rst,sha256=r8DVjrowfqpfr29c0mbSDnaKXumBcJ7WvhNqDxRuEe0,560 -awscli/examples/s3api/get-object-acl.rst,sha256=YE7REVPRSjiCOPahV6LsXCMQtW_rAf3MMRg_ZLtYAyg,790 -awscli/examples/s3api/get-bucket-tagging.rst,sha256=tFmL2fSrF0ycywPdQCRdudrO52IxnLNqXzLY8f-IRNI,285 -awscli/examples/s3api/get-bucket-cors.rst,sha256=xdyfmJzoH5TSdEuc6j4VFMTCJJEL4yJNmCzcwe7J6cI,960 -awscli/examples/s3api/delete-objects.rst,sha256=MzTHW-u7YM2IapljTeJsJwsLCX49maMZvtDO3wkHsmY,558 -awscli/examples/s3api/get-bucket-policy.rst,sha256=bG4YZXpawQsffXkTTuKWgIOZ5MHJ6D0klTWGAZQyJVc,1075 -awscli/examples/s3api/list-parts.rst,sha256=97OcXRAFut73iqcmlytBPr_kI40SqgUJaSE1V6AbnRo,1327 -awscli/examples/s3api/delete-object.rst,sha256=jgHSSQrC01wK16Apez4dSbKdDSd5TLDveDSNi2kEPRY,538 -awscli/examples/s3api/get-object.rst,sha256=umngd8MS7_L2yrBU7YyTFpQn5K_iEoyREplEgVsN46Y,818 -awscli/examples/s3api/get-bucket-lifecycle-configuration.rst,sha256=WEVxbOCJv4Y2CMqol28Cm6D_96mNtim8dDVxKjw3cC0,880 -awscli/examples/s3api/complete-multipart-upload.rst,sha256=RZXbMtjxnqOZXbfNNdIl1rTohIH0SP9VzDmMmikPMY4,1550 -awscli/examples/s3api/delete-bucket-cors.rst,sha256=d9zwD7o4DsSi1_xC928L57bCYiEK8um0vcT0mMMrLvw,163 -awscli/examples/s3api/get-bucket-lifecycle.rst,sha256=J9teIkMWx7aXI0QygelhCfjunORIdNKz5Osz_kyvhkU,631 -awscli/examples/s3api/put-bucket-notification.rst,sha256=1uOVoFss4S2vqZoCtvTFkCuPXY51PP7I2as5FifkqRs,1019 -awscli/examples/s3api/put-bucket-tagging.rst,sha256=SaDRsW6-PCVUcNZGqhZDvpSMseUsHB_LBpI0loek4E4,563 -awscli/examples/s3api/delete-bucket-website.rst,sha256=P7FF6bq3upELHPsXASxYLDSQTU3UQLXp7b3JvImQthI,144 -awscli/examples/s3api/copy-object.rst,sha256=c3W-YJDcQi08O_4o-ZhJpMeW8BVWsxMLtFxCfI3tDPg,386 -awscli/examples/s3api/put-bucket-logging.rst,sha256=iwi0OSAYPp5sP-e20cn-vHSUfg4gLxEQVtAqs1Hi9Lo,1318 -awscli/examples/s3api/list-object-versions.rst,sha256=-CRZoaLGW4Zpi17skWSeWXxfth7Ju5nFYER0MXQ0ZXo,2587 -awscli/examples/s3api/get-bucket-notification.rst,sha256=EijW57PyjevNcBgxthJLLLevBtW82VYjNc9SEEImYb0,468 -awscli/examples/s3api/create-bucket.rst,sha256=H1YK327C4FCLCZhxbCGKSiewOqocujuwhECusw8T12E,626 -awscli/examples/s3api/put-bucket-lifecycle.rst,sha256=gXSpZaI9mkdJ78TZmDh6wRQ6BofWI0EJ3S5IFzqlQFE,1598 -awscli/examples/s3api/put-bucket-website.rst,sha256=CvZAUFzMktqHtcjDOUuVgvhK2igDQzfzWsqmDgiF6r4,434 -awscli/examples/s3api/list-buckets.rst,sha256=hzcq9sNregdjEjz878ZEMnYoMUQKsX2sBjA37UbZ7bc,483 -awscli/examples/s3api/delete-bucket.rst,sha256=E1D8PiFM6iJkUMzVulC8qt2NN0SsGNci7jA1NAejlSo,126 -awscli/examples/s3api/put-object.rst,sha256=N1vg-JWv7BdAFlSv_0Wf3xuhEZ4-1s9nRW8nAki0zWA,647 -awscli/examples/s3api/delete-bucket-policy.rst,sha256=QfSwrkfbGlTDlfti68w2c0O5A0b9qi4wj4C6C31xdwI,135 -awscli/examples/route53/list-hosted-zones-by-name.rst,sha256=TMjTjw2BMX7khVakhlEWBY815CjDjqN1cgmk0H48d7g,1434 -awscli/examples/route53/change-tags-for-resource.rst,sha256=fMszV8I991itcAudHXjazpEWWWH3WaM9hDDuafClsfA,459 -awscli/examples/route53/create-health-check.rst,sha256=m8Fhjr-ghnIkt17XdfOoQFX6ONR7BWWAdPT_6SegyqY,1390 -awscli/examples/route53/get-health-check.rst,sha256=s5_HhHa12cp7vfY5_xFlSPWkscytqLG0YHAM6RDGuDM,293 -awscli/examples/route53/delete-hosted-zone.rst,sha256=_ZWuq9qPAwkjoGiC4FQK2ZrzXZ94Hdix-np4pqsJw0g,193 -awscli/examples/route53/create-hosted-zone.rst,sha256=QCtfz6XQb1VxQO-lf5ljpb396FvSZRwSjBKFWnN2iZI,602 -awscli/examples/route53/change-resource-record-sets.rst,sha256=cp9lvZl8s6cEtZwhdYYT_ukyxxbfrxH0bw52_2zNfyM,7633 -awscli/examples/route53/list-hosted-zones.rst,sha256=nfegtP1bCZLFfrda5287aL79KLmtuBg3c2q961Wtd4s,790 -awscli/examples/route53/get-change.rst,sha256=2-OjCJWUclV09ezZR7TAaIwOyELkRoKKQMDVOv91wgs,288 -awscli/examples/route53/list-health-checks.rst,sha256=PkdJm6-lp8twOqAmfURI15bMkIUPnyfZNx9--3aI-vI,782 -awscli/examples/route53/delete-health-check.rst,sha256=gvgjB3sun1sfa-mSLeBpCj1zYNWkAOFHHJ0bL4QinQM,264 -awscli/examples/route53/list-resource-record-sets.rst,sha256=16VaiX1H7X5CWFde5bclrUo6zXYF-XNgbSF9zuNmYoU,1201 -awscli/examples/route53/get-hosted-zone.rst,sha256=hcPpI3IzlABBcHt8YWZdL8MGdojO-CmTsji5lEtxQVs,215 -awscli/examples/organizations/delete-organization.rst,sha256=ZsdixkbeJTUzeTlLRk42XXl3xAEnDR-y4vqW_2R2Fto,337 -awscli/examples/organizations/disable-policy-type.rst,sha256=3Rsjxoqeu_rQ1HOydTutIZnoNl_DMPWNWI83ycAdqg0,531 -awscli/examples/organizations/describe-organizational-unit.rst,sha256=Y7lJ-lxg0_W6ZNlcTMvfGa9uwuqSEa4_PDW-4v29xgw,521 -awscli/examples/organizations/cancel-handshake.rst,sha256=Z9eTNMXm_ZMuE9BFrpfmStj0DVg7moPG29kCgCeM3sU,1462 -awscli/examples/organizations/create-account.rst,sha256=vlVKyp61H3noBDJmOIQLGO0jMBmy3GaL6ELIGbBPXko,1456 -awscli/examples/organizations/remove-account-from-organization.rst,sha256=qNjMiPGCQ_2jouqjQcqWTkrgKfDnyM8_SF5yeCb_w0o,211 -awscli/examples/organizations/create-organization.rst,sha256=csK82E4xSO9R6RR8DAemOcTUbTYD-ec-lTocbV2VC2U,1916 -awscli/examples/organizations/list-children.rst,sha256=kD6tcsJLePw6zXOLbT4-dXnFDH9zVPPcXHqoBvNvPeU,562 -awscli/examples/organizations/list-handshakes-for-organization.rst,sha256=aJfM8DawVf5G1hgxd1ZsdTB_N9M8gr-Q7d-YeLCuTUk,2447 -awscli/examples/organizations/list-accounts.rst,sha256=NK3hHw1xw-nqMXrh6JWpEmnqhszjMFEMcJ4alXzwOrQ,1403 -awscli/examples/organizations/list-targets-for-policy.rst,sha256=K0kzXGYkfA30QXs_hpVzp-EcYLPQUOQ_thvGEmmB71A,1035 -awscli/examples/organizations/leave-organization.rst,sha256=kijiw7OktDkA_-H4bV6HUDMwn3ai3HjD-vJ5uXI9g6A,224 -awscli/examples/organizations/describe-organization.rst,sha256=JrrJjPR3MZCP37x0r_zU1Z2QN09SOgVIQw3op9VBk5E,720 -awscli/examples/organizations/list-create-account-status.rst,sha256=U8WXK2zpjkOpcw_nN10mtOOzzHku9otbE4ijFGXdZcM,1250 -awscli/examples/organizations/update-organizational-unit.rst,sha256=wlGTX0KYGMSZcA_uocscqnMeTo-tMCkacrS4nD2a_ZY,493 -awscli/examples/organizations/list-policies-for-target.rst,sha256=Yxdgl8D1sVDGsvIb-FIF5ccb4Sq5sJ2QjXZhL-0qfVs,956 -awscli/examples/organizations/invite-account-to-organization.rst,sha256=YHk1mieabbtGtRyvqNUJi5xS81usMmInekgMs0Xl0gU,1367 -awscli/examples/organizations/create-organizational-unit.rst,sha256=cYtv_6k1-AYmKsw93_qkQy_MNfolTY4RvOFRGIyA0G8,517 -awscli/examples/organizations/describe-create-account-status.rst,sha256=cAnYxGTgdHY1XBmahUxEKuN7jJ1i9u4gIJ2_ivf5o9w,831 -awscli/examples/organizations/update-policy.rst,sha256=5nSVZ_dlrUKrmYw2YMfPerxAFeafy-JYZV6o-1UiuTs,1757 -awscli/examples/organizations/list-organizational-units-for-parent.rst,sha256=15TmYNyLcuVPnN0FwwudQ5bZZ-6xFBtGZcnuwV03mPE,664 -awscli/examples/organizations/list-accounts-for-parent.rst,sha256=sA4Osq5G7w1ryZ35IGRrLCjE7-NQH9WazvdWknDVohc,899 -awscli/examples/organizations/enable-all-features.rst,sha256=QE7syXWuNYEz4-MiZyWw9zAKLIxUE_7lOp5KDk4WM18,1262 -awscli/examples/organizations/decline-handshake.rst,sha256=6rmqpDXFdEcJ0ZaiknSEj2TkLcXQK6o5b3gd1YAQrjs,1396 -awscli/examples/organizations/describe-handshake.rst,sha256=l1K24iy9s_afVKDmwEH_kAHxKbv-n6zv81ke1S2Rum8,1277 -awscli/examples/organizations/delete-policy.rst,sha256=rwEk_pOLSvY7PVMiDLMXwY2BWgfPfrZNhn4n6nGCtrA,245 -awscli/examples/organizations/move-account.rst,sha256=DKr09pfTDbGuwCR6MVjRPFVCydZ7sJTrpwOR10vww5w,310 -awscli/examples/organizations/list-roots.rst,sha256=Pn6U5iFvJt1YmSPtGWwgADU9I0_3YzlF78BC9LEridw,521 -awscli/examples/organizations/create-policy.rst,sha256=yCn0zF7g6F0EJqIhq4fggAYT4hs-m-m27NuYUNkFfU4,1863 -awscli/examples/organizations/list-parents.rst,sha256=ZZ0tnUxMJh89PpTm3peicLRKsuYr1dgJX7bwRessV1s,425 -awscli/examples/organizations/list-handshakes-for-account.rst,sha256=Nz6eLdNs36kgz486eYC5AiwmslQR10NN5jRlxbXrT3U,1284 -awscli/examples/organizations/enable-policy-type.rst,sha256=YT_kKFpT-e0ZQsfESMnycnGm4111pAo4sKkSK2cWWJU,623 -awscli/examples/organizations/attach-policy.rst,sha256=tAYaLOYryTLlbSyqDvntzY3JChiWlNZ95Tpl0KHxbFU,485 -awscli/examples/organizations/list-policies.rst,sha256=RnauW8wwJe25dpDEP1JPcLg0QAYornOGFGXhBsO6PdU,1347 -awscli/examples/organizations/detach-policy.rst,sha256=dstb_WspehG_zPYMglMKqrdjvsAqqjcrR31SXMzwbTM,234 -awscli/examples/organizations/accept-handshake.rst,sha256=jhdMFT_7wkUzeN1NTXAHQwMz2aSXzF-ifpVLq6PTpdY,1259 -awscli/examples/organizations/delete-organizational-unit.rst,sha256=QiqTzwTBRiIT0g-eaHvWOP1MQh9rXZG4eVKfjZw5yvI,268 -awscli/examples/organizations/describe-account.rst,sha256=NbC3sybK1MISfCOSf4JmTuwyO-FoL54pHi-1QoSfpOg,541 -awscli/examples/organizations/describe-policy.rst,sha256=HcoYi4qhsLuu8xi1AWX10Vc1TsNBLjL1D4mRW3kwTV0,799 -awscli/examples/swf/register-workflow-type.rst,sha256=my9idmWzv2rbC5BvSqvzCMbhVFHKRtrv0bQ371VXzEc,948 -awscli/examples/swf/count-open-workflow-executions.rst,sha256=wvQRnNumX98vlwr73HjzXGXEi_l6BgoQt6SmzJAJukU,1321 -awscli/examples/swf/describe-domain.rst,sha256=62BdLFk45gkyhO1coSyXmUpzm2MNqbUeXqUvs-PmneQ,1094 -awscli/examples/swf/deprecate-domain.rst,sha256=YEWbxJlDZaw-23TyNzlUjkC5DbDruaJMiiyKI6Oabp0,1759 -awscli/examples/swf/list-domains.rst,sha256=TeCPsfsDmFk-JW_Kpk6k3Gh6ujNYao2taP4xFGsSXxk,2720 -awscli/examples/swf/count-closed-workflow-executions.rst,sha256=-T4e2AqSdCTU8nKGnJK4krnm9Ls6bOdp74MuBrKYBtQ,1462 -awscli/examples/swf/list-workflow-types.rst,sha256=UmnfYbPiwUWMnLA_69_0lH7BKZ4FNTmWsFdp8Dff8vc,1175 -awscli/examples/swf/register-domain.rst,sha256=etrI40YstVGS71F89qROMBaSo9hVCX8xAv-PBqU7aFY,1820 -awscli/examples/swf/list-activity-types.rst,sha256=imkhqwxbTU36jRLm9c4ytufiWCQIXhlfwBS-syouhvo,7143 -awscli/examples/ses/delete-identity.rst,sha256=i7NKOj97eDKk1O78HOj_5MjGKNg41V3ctPqg1lcmVnI,529 -awscli/examples/ses/get-send-quota.rst,sha256=vQDbFeh5fJ2vK87OzDeqNCnWdKysaMTuzhGTKNFTUmM,1260 -awscli/examples/ses/get-identity-notification-attributes.rst,sha256=fMEB6dmTNAuWHfXbF61ha2zlxHvbqMbKo2qGVTDOYuo,1369 -awscli/examples/ses/get-send-statistics.rst,sha256=CAtOGeB8WKva2a0c-AK38Di9bxLErJqoh_cnFLZWbHI,1188 -awscli/examples/ses/send-email.rst,sha256=YzHPMUZiqvJkcAKxn5fjvLBruEpVGqHd3_SzA41Obos,2286 -awscli/examples/ses/set-identity-feedback-forwarding-enabled.rst,sha256=MRJv8iscHYX7huig4oSB2iucmkbPcuvWMM8IpEjAOLg,890 -awscli/examples/ses/send-raw-email.rst,sha256=USYwh-mt6PlV5m22q6ieoQyv-SbGDa2j_T5tXazLk9c,2068 -awscli/examples/ses/verify-domain-identity.rst,sha256=I13uhuinjk0-s0c9080EceJcwgxFkbWB2o8mRs6dst0,630 -awscli/examples/ses/verify-domain-dkim.rst,sha256=taDHsxLIJA9s29rsWgz1wu08pxULBh_NVwsHk04kA74,820 -awscli/examples/ses/set-identity-notification-topic.rst,sha256=Rse8G9yYWkr9udL80zg_SbNgV69c3RqB1VcU3fPYt_Y,728 -awscli/examples/ses/verify-email-identity.rst,sha256=u7Q7NdT7i8afYZvIBDZ1aSzpJmU93ocykleY0wzh56g,970 -awscli/examples/ses/list-identities.rst,sha256=4P8mMUjsxZ-gv5C5aHDC0aJlou9yN3ohpSRzHIhIToQ,906 -awscli/examples/ses/get-identity-dkim-attributes.rst,sha256=CIQoYWtkfMacGCO-Ox4UoN2MjB3TyqgGbkmK8frOkFg,1152 -awscli/examples/ses/get-identity-verification-attributes.rst,sha256=LqOp0NVE4CgW5XXk6KLrXkNRLzhQ_ZGy80mBtbZ5LWg,997 -awscli/examples/ses/set-identity-dkim-enabled.rst,sha256=PMZy24s8BZwnLfcM0_-DCCRHDmrHARWGgK8DSHcGtl8,498 -awscli/examples/ecs/deregister-task-definition.rst,sha256=mf_xyu7qLka1oGNc5YcPEudbIsifc5uYjjazeLykhmQ,1107 -awscli/examples/ecs/delete-cluster.rst,sha256=-L6Q-SPq5mQ7B3x142S0WY5Na1-6gHCgbUfNxzihyqc,497 -awscli/examples/ecs/list-tasks.rst,sha256=VTJcUDk9cHIKQi_2TT4dyTf0Ji9yvWnnmYhXjmSTXi0,794 -awscli/examples/ecs/describe-task-definition.rst,sha256=QmnV0Z95K66TEYanM1hACKM-7mfpyDEWp1JdV3KpEck,1550 -awscli/examples/ecs/create-cluster.rst,sha256=GxyyolczEkblLSO8DTdGs8RXCIWqgWI8w7uGml87duM,498 -awscli/examples/ecs/describe-container-instances.rst,sha256=csnTwl5mtr5vI7K7zVXXdbPQTHUU0FOMwIBJvmDi_P0,2838 -awscli/examples/ecs/update-container-agent.rst,sha256=GoTSAjeV4-rg4lvGJi2r-q2edjqp27WSCrTtpN8lKno,636 -awscli/examples/ecs/list-services.rst,sha256=gwh6GKk2U1io8TPGIkFFj0SvbZZC0bZfJR4OBId04iw,263 -awscli/examples/ecs/describe-tasks.rst,sha256=ztZme1r10l8wfvC6TyfKKfReGIVCrkX0Mio0JUfkeh0,1732 -awscli/examples/ecs/register-task-definition.rst,sha256=kSWp8u4K5HsPKVGGY68kMy1rtB_l6iPm2U9_hQsLTvY,2849 -awscli/examples/ecs/update-service.rst,sha256=sBglnicjtoRE8lfuULycS6jL5ufhLJ3bCCadqha4BtI,484 -awscli/examples/ecs/run-task.rst,sha256=WIs7VTzjy3wcseLg4tGGTZ5cR1LavRGMIR8uCSJ6wLQ,1287 -awscli/examples/ecs/delete-service.rst,sha256=8MIM8K-PvHoHDl6357t3p-fRfyrdCk80v9GUQU_hYpc,238 -awscli/examples/ecs/list-task-definitions.rst,sha256=Wapn00oonckjGDALspqZzUmFGjMpupt7qQSQsKYgMmY,1257 -awscli/examples/ecs/list-clusters.rst,sha256=0O1qX0Dw9s1vx0il_fj_B2ZaXBIVTEqxQdfqXKZdC9k,331 -awscli/examples/ecs/create-service.rst,sha256=aZjCRLdVdi4Mb1R36S8B8Jg2oWjx9bT-Qx1KqxHcGr4,3569 -awscli/examples/ecs/list-container-instances.rst,sha256=Ks-SJWDAxxdjmG6lL7ChM5NovF4mRigkLve2L5vH1-8,531 -awscli/examples/ecs/deregister-container-instance.rst,sha256=MvClTZfbpPheMqlZMt_x0f3jZN-stPtd0vhudKU7pMo,416 -awscli/examples/ecs/list-task-definition-families.rst,sha256=HuocKwpqTX5jO06iocwFmW_sKQr9GcWv7oEuKEEke2I,613 -awscli/examples/ecs/describe-services.rst,sha256=1jtcglDmnyZUkXn7M8VT7IIlIslLxi9P_FM7q5ibjvM,1642 -awscli/examples/ecs/describe-clusters.rst,sha256=KdVMoo819mYFNGci27hBUw79uwrKH1l_etC1IdlaCU0,586 -awscli/examples/s3/rm.rst,sha256=Fr8hbKNIHPyfmckrfBTg8xA9mSR1wWhQtErlWqD5ZSc,1367 -awscli/examples/s3/cp.rst,sha256=qNrHoJ0eh9G9zBbx-AVyToR9sf44Y3Ka23vdMUpP5xg,5388 -awscli/examples/s3/mb.rst,sha256=ZWT6PeLtWPhfW7MTqdqgoxY2SrlmOaZvbLl4vJ9V9fk,535 -awscli/examples/s3/website.rst,sha256=_oZPu4ANiMWinN9LOj70ChQdSLLatMiF8kbdwshk92Y,883 -awscli/examples/s3/sync.rst,sha256=8Aiw6JcPtUKE7NP26Hec-BHReD9MAyClEvqw2TgO6uU,4753 -awscli/examples/s3/_concepts.rst,sha256=0dH1OP9nqcA9jFxNQIsaxxDy7RVlDbZgQaFmMFd5PA8,7029 -awscli/examples/s3/rb.rst,sha256=-qlm58-6w1yz17Nxh-Zu1BUq2rojQoS5NJSKbOpiqJw,641 -awscli/examples/s3/mv.rst,sha256=0u9OKbMixaB9DNZSMWVfGwFBx0XMWbHUwF7t8T1lWY8,2834 -awscli/examples/s3/ls.rst,sha256=yFo0FSAnAt7nv1LRHbPhrFV-_m74x4deQ8C13fdwk0Q,2875 -awscli/examples/iot/create-certificate-from-csr.rst,sha256=roElGLvrv7Mdxf4w3oFNK5n3vYVqFVtfD4E-LKm4SSU,1532 -awscli/examples/acm/delete-certificate.rst,sha256=pC5eX56jNhv-6EYgdHZ8mZ3HCB8cwG5zRqM67X536mw,277 -awscli/examples/acm/request-certificate.rst,sha256=k3uJEn3daas_dZ8f8wTiaDXXStsYkfoXYfAK2v30mKA,2093 -awscli/examples/acm/update-certificate-options.rst,sha256=17SLZZ_VGuT-rnnl0Z9gX3v1nFHdCUN4Qq1JteCtOAM,332 -awscli/examples/acm/resend-validation-email.rst,sha256=RO3wPg_MpOiudZFspHHp2FaHjk6QxgSNRlSqh4377H8,404 -awscli/examples/acm/list-tags-for-certificate.rst,sha256=cEYmWzwBOxU2FUh2IDuJxqshuPN8vYLynxrvK-pkvbs,554 -awscli/examples/acm/remove-tags-from-certificate.rst,sha256=6cacCjB_OBdtfFft9jeIYX6qTolzPtr3rlW46Y4_dKc,389 -awscli/examples/acm/list-certificates.rst,sha256=Qph550yJpBHxDp9m04prj_RXTf2OEwPozqZePBkyAD8,2566 -awscli/examples/acm/get-certificate.rst,sha256=WeSqK-Rc366v7cs1Q8qwQTOm0oYxzACAX6vPG4amYGw,4282 -awscli/examples/acm/add-tags-to-certificate.rst,sha256=rEuvDA91-qBzQSQCrGHnhsl4ptbCD2ScLxq_U-9cWco,376 -awscli/examples/acm/describe-certificate.rst,sha256=dowXjlCXkZW--H-Krf-vvAfrmiDA1k5TBk8VFYprGSI,2136 -awscli/examples/opsworks/register-elastic-ip.rst,sha256=5-8WiMakgXChoEp0Id_A6iPLeRMEolChu1dZ3VA_3E0,697 -awscli/examples/opsworks/start-instance.rst,sha256=gw44zmh92J1hApEzBVVYgntntRBzU-GM9u1QL8NkJpQ,851 -awscli/examples/opsworks/unassign-instance.rst,sha256=M5LpzMo3hBuO2l225-MmDLFAnansqSOFSR7GBrQ2Iww,524 -awscli/examples/opsworks/update-volume.rst,sha256=TGidSeI7lZKsyvdbb4EyrM6ZJYqgUVY2Pw45mUwByoc,758 -awscli/examples/opsworks/stop-stack.rst,sha256=NJrWY8SN5SkP1cIn6uAXz8wtELV7eQSmGbzb-Q3fIcs,519 -awscli/examples/opsworks/describe-instances.rst,sha256=svxiWmO3H9BC24R7eIdSiTXui0vvv7YkdeZQ8hjtBKU,3404 -awscli/examples/opsworks/describe-my-user-profile.rst,sha256=Txr8Cns1Dk4-rvKkEy3Da6sgjMt0dWJh9UTx6uVffsc,841 -awscli/examples/opsworks/describe-timebased-auto-scaling.rst,sha256=LGY_QuxPNSgeGbYMEGaiBVrKDme_5NmY6V4w7pxaBZs,1228 -awscli/examples/opsworks/delete-instance.rst,sha256=0hF6QSoWhPzoPkCaKWTTp9dR3_JgxBifTzjoMhK87_Q,1092 -awscli/examples/opsworks/delete-stack.rst,sha256=Q77N3FHqbGOhsv7TDwUMuukAF5Wku5BTMVm28mnvohc,733 -awscli/examples/opsworks/set-load-based-auto-scaling.rst,sha256=cqb97WuSBTc6wNSWDlibT69iYXkWWpOLN0_gRdlO38g,1350 -awscli/examples/opsworks/create-instance.rst,sha256=uakNfK_CaQStAyVeEju-58LlhfVZFsbFFoU4dHu9wQs,1042 -awscli/examples/opsworks/deregister-volume.rst,sha256=pFKC10IhgWSC3EQAdipCJx0EGFMUnjaGRFLJd-3hVOI,638 -awscli/examples/opsworks/describe-user-profiles.rst,sha256=ix4pABPPr684yN8WY5BqKpg3odbwLvLKj3SQ8QQq6wM,922 -awscli/examples/opsworks/describe-rds-db-instances.rst,sha256=OId_3mzwQA1JoXFv0F6FV4XBSTyF4cq7XgsAqlAxx2w,1013 -awscli/examples/opsworks/update-elastic-ip.rst,sha256=sExNe2EE4CeAm1Eky3iCfnIyApL8xq7113aparBRZaY,436 -awscli/examples/opsworks/set-permission.rst,sha256=z_CkUgsTO4rQg7Nmqmws3wSVXFQD5lsRGlpafS76JkY,1268 -awscli/examples/opsworks/update-layer.rst,sha256=IBP5VBsvXjglv8-NMWhn2kLMc129uiiJmSWNboI7tb0,519 -awscli/examples/opsworks/describe-commands.rst,sha256=nkJukBip0heKnlRmx7pm9KnL0bZKO7FqGlIYXGPnbPk,1988 -awscli/examples/opsworks/update-instance.rst,sha256=0HBdh1Nnxoy0Sdyz5vo2XHDilk22eyNhsk1Sq7vWF2s,485 -awscli/examples/opsworks/describe-stack-summary.rst,sha256=xnchmoNy-WE0Q_xU-kwu4yoQ7On-YdDgsmSVeIxvH68,770 -awscli/examples/opsworks/get-hostname-suggestion.rst,sha256=DA3Obxm5Qe0GtoHq7G6Cl-d64rUXEY_4BHS6AM931iM,695 -awscli/examples/opsworks/create-user-profile.rst,sha256=uuII6oEmY1YUxE-7FqrNgZleOPBJitYSEWpxkVAZDoA,1173 -awscli/examples/opsworks/describe-layers.rst,sha256=GmiV4bs2UtIGsR0M1iTKcXgKskD4OuHWWPcMHb_eGW4,5773 -awscli/examples/opsworks/unassign-volume.rst,sha256=agaU9aT06LiXQvFB5UMv0ZyjsYW1BYq_vHZ0Z-vkUQM,719 -awscli/examples/opsworks/register-volume.rst,sha256=xZp_T7CCV-tXYwMbYGSuL9-2UihnM9Hy__uxbqpO2AY,639 -awscli/examples/opsworks/associate-elastic-ip.rst,sha256=i41AroX6Ur7u-DhN8AX2HBwRs_DIzUJI01Hv1PNnHUE,496 -awscli/examples/opsworks/assign-volume.rst,sha256=vDiCLbLbsYTUmUyjyMu45IyLU8x2lSvnRGzm8OL85gQ,905 -awscli/examples/opsworks/describe-permissions.rst,sha256=GL2YdYfaymO_x4XNJ4uo_Qmq-3VCzY0L87jF5arX0n4,903 -awscli/examples/opsworks/stop-instance.rst,sha256=HZzsNb_F4wgnb6rxkf64JI7gYtxRoxKTDh9qkk0qDgs,762 -awscli/examples/opsworks/disassociate-elastic-ip.rst,sha256=JDzHTEEyL1Giclg1R9Sy1VRDx5mG2pCYbkfg4DANbGk,454 -awscli/examples/opsworks/describe-volumes.rst,sha256=PQpC8JIuG4Hp5brRa95d7xtHPKz4skXTZKq7sSgarNs,835 -awscli/examples/opsworks/register-rds-db-instance.rst,sha256=PNSc_unXhso0GWl4Da0nvm_SnWq7E9UZaw3g6yyXEz0,918 -awscli/examples/opsworks/create-layer.rst,sha256=o8shHPJkMGGdyeFQ1Yfv2qtYqma4_ZHxsukA4QnOBOU,586 -awscli/examples/opsworks/start-stack.rst,sha256=ZGPSDY9d5r5r3Axu6_T4XjzjAKu8oXIZpjHZH1Ck0rg,520 -awscli/examples/opsworks/describe-elastic-load-balancers.rst,sha256=D6VVub1Ugs6b3485uUypmd-Lyiy5TEKYCe18GBKEF9M,1150 -awscli/examples/opsworks/delete-user-profile.rst,sha256=gYTTQcWitLcwFiublEiOn3D58x30qXiizR92FLDjrCo,765 -awscli/examples/opsworks/attach-elastic-load-balancer.rst,sha256=bo-1w6w4924uTK7BIhWyFEg6wMzjG2omhB7zSd8ulXM,523 -awscli/examples/opsworks/deregister-elastic-ip.rst,sha256=PqDcnrTXKwDOnv1Bpx0M2uSoAAsc7DhvFeZ2_WOZfJo,520 -awscli/examples/opsworks/deregister-rds-db-instance.rst,sha256=YmWtIuMKlrhrSJ2qHHsmGjW0uMyc9Qf9C6NwaohdNmo,791 -awscli/examples/opsworks/describe-apps.rst,sha256=XY_JsscEP_fV1WG_Dqdr4f4X5E1BOYp9z06QTh-pmxc,1066 -awscli/examples/opsworks/describe-load-based-auto-scaling.rst,sha256=p8IC6XNCuy6aDtHmP4qSgUGxIQnFNa2reTep1MHhj5Q,1253 -awscli/examples/opsworks/describe-deployments.rst,sha256=BDa_NvnzxlAzH_UCc54LtcLjku_GPsIdwW6Pdhnb5PE,1717 -awscli/examples/opsworks/describe-stacks.rst,sha256=L-UWKW25gEV2h0sRWRKuzShiamKweMFk5fIGU2Eo9mw,2271 -awscli/examples/opsworks/describe-elastic-ips.rst,sha256=kvxJgae6qsoFCGyixqzIAl9JokHj1kMqba0cI26A7wQ,608 -awscli/examples/opsworks/update-app.rst,sha256=9uDuyH8DKmFkDV7JQVNbiUh5piSswcNitdSma4OSXUg,417 -awscli/examples/opsworks/register.rst,sha256=_0UksLshlkF2CTl8vyoJVkOkKe9fADDCSPQW8STbYGQ,7018 -awscli/examples/opsworks/create-stack.rst,sha256=3XCNDx1ydS9u5LkRPV0vM8QE5v4apMii_f7eUMVam1c,1081 -awscli/examples/opsworks/update-rds-db-instance.rst,sha256=hJlZBhXLXgwOf3XZlb28XMNJSo1swJc6dcS0TrQdqiA,758 -awscli/examples/opsworks/update-my-user-profile.rst,sha256=r9fX8wu20hGW_aflUXMJ_kGBfE0Ec2Wf5iqX4vl1jSY,723 -awscli/examples/opsworks/detach-elastic-load-balancer.rst,sha256=qQc8s_kYhfdsoLU-1pXn7Une6OfY1Rd2TN2j222Owjo,521 -awscli/examples/opsworks/deregister-instance.rst,sha256=c2jdB9ZmXVa9W5flMaFDEOhMXJlEQLiuXYqw5aiH-0E,531 -awscli/examples/opsworks/create-app.rst,sha256=OUOiaHRyt4yIVAQFRIZnm7R3-yJXp-Sj-_vgL5T2pn8,2005 -awscli/examples/opsworks/delete-layer.rst,sha256=N0Qj6X5BO0-jMD99U39iPwI-9ctUuyTqiLTkPaRMGxw,712 -awscli/examples/opsworks/delete-app.rst,sha256=py0J7_R8LsdOT6naTlqfjTaspXE7sRTE_Usm7OUe4TI,525 -awscli/examples/opsworks/reboot-instance.rst,sha256=HmgPZXxX2kUb210D-R_9pGgsccigI3nqjNxYPpCJC00,448 -awscli/examples/opsworks/create-deployment.rst,sha256=twmGaanYJwRnb_tYSAHDDLiVecG3O0I2G7MBOrUF_CQ,2513 -awscli/examples/opsworks/assign-instance.rst,sha256=wsJm0fwTYS1SApYoo0nsiYmgXx2ivRqnx0PZJx9zhHQ,557 -awscli/examples/opsworks/set-time-based-auto-scaling.rst,sha256=XJeaeKFRWYHu98b1rDDKD-eVsFq8cwaw-l5uHY0zDC0,1082 -awscli/examples/opsworks/describe-raid-arrays.rst,sha256=2fmP0eaFm1OzI46mwJT-wsJhuZY5W97X7TGdCdAsJgo,1073 -awscli/examples/glacier/list-multipart-uploads.rst,sha256=f2D5vPx4yTUoAPYUBLu1no42LsDQX0EyIrQvBKNEMpM,546 -awscli/examples/glacier/abort-multipart-upload.rst,sha256=8O6y4y9YPpPAXvnR8vugtOHLtTbtN4Nkjo0q2TM_nHY,837 -awscli/examples/glacier/get-job-output.rst,sha256=TRxAZlkXo5vyHNzm-uugJe6dxcEiWN0m8jy9sS0c1cI,1201 -awscli/examples/glacier/describe-vault.rst,sha256=qIIQMoNqra8qIlGjGKxDatm_fUuyUX26FBANIPrPhos,270 -awscli/examples/glacier/add-tags-to-vault.rst,sha256=BioRFLJy8JUDcKYi1uoTj5Pa-M6jSi_Aqex1g7fCRbc,299 -awscli/examples/glacier/initiate-job.rst,sha256=TUG3AIWOT8HgpcrglRpEmpH-hCP3-DPu3ygbbtcuOag,1869 -awscli/examples/glacier/upload-archive.rst,sha256=4TmVK6iC3WakBxYrf7ZYU8OvbRl5fqXy9oYL4bgdmUE,1011 -awscli/examples/glacier/list-vaults.rst,sha256=jJ4SEh6Lbg749xhKu10Ms6KxJfjZqDYWZcg1JUJcUrA,639 -awscli/examples/glacier/upload-multipart-part.rst,sha256=MFCZl6IPQGAJWoRESt2YEVgIn8TdFZ--G_bcTN7XUek,1020 -awscli/examples/glacier/initiate-multipart-upload.rst,sha256=0p-jCWr9415pHSyRC4anuWxEePPKxdsYcHcLa4Agav0,851 -awscli/examples/glacier/set-data-retrieval-policy.rst,sha256=jFwNle8IR8kqkzVmubOXr9Z-IWrsrCarSZhhEHUg6WM,965 -awscli/examples/glacier/set-vault-notifications.rst,sha256=cvxZm0yvANxby4YC77BU_bxuouRoG_WFU7R1WxKoYfg,620 -awscli/examples/glacier/create-vault.rst,sha256=dzP3uKFuhzu5W6xMBC62IZXvz3p1og6WTd4bL1Zimdo,259 -awscli/examples/glacier/list-parts.rst,sha256=WO8WtnnfMadarWAMFHjPcykYOO_d-qBFK2IpaycfNqc,1307 -awscli/examples/glacier/delete-vault.rst,sha256=y7fFN1JbZ0UII3q0yuMOMnKsIzaCfdN9OPlLvSff8oE,297 -awscli/examples/glacier/list-tags-for-vault.rst,sha256=h3PaysMRhynF2S3KLAZicSbFWFVeaX8kf_KJy0sPZ0M,377 -awscli/examples/glacier/get-vault-notifications.rst,sha256=e_EUVJPJbpmrqpFgQp76fFAK9Oqk8Q3Ent41oGevLRw,647 -awscli/examples/glacier/describe-job.rst,sha256=xOBcTxKZ0D_GAlBiRgCVxUnZu5BL1Ja62X3w0qraCdY,939 -awscli/examples/glacier/get-data-retrieval-policy.rst,sha256=szGxN7DflpD66KYK1qLtEI8KAwVeFnnuZbN9-RcSXXo,468 -awscli/examples/glacier/complete-multipart-upload.rst,sha256=_73uLBdwFOs-D6iIpRaJ_QjXuG_5s-dXJkyayvOHFUE,1007 -awscli/examples/glacier/remove-tags-from-vault.rst,sha256=bjSTERmc4upJaLjDgliBb9ggqDungkDCG5bxKZQkU98,315 -awscli/examples/glacier/list-jobs.rst,sha256=Bj7OHzbGdIx3cfeq2cZuVSnqR_tZymsVWuY-4Lw2eTU,1866 -awscli/examples/storagegateway/list-gateways.rst,sha256=xXWs2D3zI7vG_cgpnZCV9ckZKazhJHH6kL-ASkBRsK8,260 -awscli/examples/storagegateway/list-volumes.rst,sha256=nE3LBkJMyhtb93TxZafsnYP0TaUsoNZ5bQTQ7UW8o10,577 -awscli/examples/storagegateway/describe-gateway-information.rst,sha256=_p-HPpWajykMEd0_6Ag_NX_N9egeGAQB8kMahfGURgk,657 -awscli/examples/sns/confirm-subscription.rst,sha256=n8IaTx-MfY6vKSw-tnlTg8WBS6rPqA-jvU-J3s35eT4,651 -awscli/examples/sns/list-subscriptions.rst,sha256=yXf_A-NxetVHpGaPGNlycvB6XizoKTZxYaKi4kVtx-Q,484 -awscli/examples/sns/list-topics.rst,sha256=qAqwMME3QbpD7AFLay_uoEbU2X8VfxAKzcNXeKZ0YrA,220 -awscli/examples/sns/create-topic.rst,sha256=_gWZMxmFYs5dKtEoFKkPYwwx4NvWCyaiAstj_6Ge4Zg,587 -awscli/examples/sns/get-subscription-attributes.rst,sha256=GBUSIiECrQPWFZPy--TJauwDsqdORZQJ64As5PtltQY,758 -awscli/examples/sns/list-subscriptions-by-topic.rst,sha256=m0shQJmcfTqOuGj0dbPv9w8RcFHdqyhCWNCGxxw7cwc,552 -awscli/examples/sns/subscribe.rst,sha256=usmWWtWtOA2z-lb6XHjKFDn9I2m3xuh66DQvMbn6T9s,270 -awscli/examples/sns/set-subscription-attributes.rst,sha256=lOG_QLnOKXROtjFMXKdjPyoiXmUKoerWYABSQtKn4rc,976 -awscli/examples/sns/delete-topic.rst,sha256=hUrbzeDJooUn-fFfIFTAO1k5LjvgyPT9QwwIcPOlDAE,146 -awscli/examples/sns/unsubscribe.rst,sha256=IeTC600n1UxROnlpveETxoEYPdYMha01GsX16bbTHoM,173 -awscli/examples/sns/publish.rst,sha256=C8HCraF01qmf5VCBfQIOywInV_JvV1ZtvjLz0oL0VqY,353 -awscli/examples/sns/get-topic-attributes.rst,sha256=5MTkFMXtbHo0mGCkxa3pvXNL_rQd0w4_zsF8Lg6w51c,1304 -awscli/examples/ecr/start-lifecycle-policy-preview.rst,sha256=Zuo6J5_WbXE0DTle9k98wTnQnJCTxWWUCGAyThE3FfY,1485 -awscli/examples/ecr/get-login_description.rst,sha256=9P1Qy96r_kYo5Ywfl8AaMXEjsRa9urSPONNlh9qhby8,824 -awscli/examples/ecr/create-repository.rst,sha256=gWUTtSc_em0pwPgmtf--jX8SD7Es02pWa2n2S9Ub84M,495 -awscli/examples/ecr/batch-get-image.rst,sha256=yN5A536X0xcmZEA21K66n-WjKEwqtpOThJG0eUWzke0,249 -awscli/examples/ecr/delete-repository.rst,sha256=fdeoPIuhMyvkiVsqnxgtAWUus2hewLWA8AxYwfM9_Lw,491 -awscli/examples/ecr/get-lifecycle-policy-preview.rst,sha256=tVSVajGLvLPGpWNHPvYKTM4tB_Haz_smBE0qrDSNWPk,1046 -awscli/examples/ecr/get-login.rst,sha256=AbGVaTXaQuFlBL0djW4nTF9oV-uMBZEJ_Hx-ZPb8n1M,683 -awscli/examples/ecr/batch-delete-image.rst,sha256=hxy8C1B5hzcSLsAuCsR3pE_BSdJ4h84C_Wgl6xXjsgI,481 -awscli/examples/ecr/get-authorization-token.rst,sha256=n7Lehg-_bMmSe2iW_PeYHXiozonHE783NkG9avbf7Mo,1628 -awscli/examples/ecr/describe-repositories.rst,sha256=ejcWjSkqvMIpMBnMM6IvlKXLR1uwGzulWZnpi13h1mA,612 -awscli/examples/ecr/put-lifecycle-policy.rst,sha256=QihAonYry5coJf4kk6ojERZcCKcVK0GIU8B1bQIuVAo,1198 -awscli/examples/ecr/get-lifecycle-policy.rst,sha256=_WZJ3bRgqEJHPBfQq2jfy5G8hud44QTP1vgRUqKrGZg,698 -awscli/examples/cloudtrail/stop-logging.rst,sha256=5X4FWOdeN6pg7yN4pHw4R3oZngLs2QuML3Aq7Du4idY,153 -awscli/examples/cloudtrail/get-trail-status.rst,sha256=emOlulnkOV-uDbxD8ZaWGuTjkoVQgT5b031F8APtgz8,825 -awscli/examples/cloudtrail/delete-trail.rst,sha256=U-PSaOr6D1Ykk6QkNxwsbbKPmSepnZMJW3mi6JdJM3s,149 -awscli/examples/cloudtrail/add-tags.rst,sha256=uEjK6YbIm0TmVEemUy7nJ15XcoFMU4ATLVaP7hdE-OA,244 -awscli/examples/cloudtrail/describe-trails.rst,sha256=2l9FvWlA0WjbiW6AShaCujgSefJZvJpisEgr7BhYe7E,1340 -awscli/examples/cloudtrail/validate-logs.rst,sha256=s-FpQPivasuD8oXopgbDcMXErMBoT6VVaqYTRBBPVQw,583 -awscli/examples/cloudtrail/create-trail.rst,sha256=k-jdqBTMuN03MXF1zCZswMuZ5jMB_vLbU97k6WDnOAY,513 -awscli/examples/cloudtrail/list-public-keys.rst,sha256=6dFGbLyqIc6bWkjBEF2KppCHSz6RpKM3mDJOgKVWptI,890 -awscli/examples/cloudtrail/start-logging.rst,sha256=aRx6ewSe_X3fFkBFKb8ilyjBclJd4fjhlkjGS4LiKDE,159 -awscli/examples/cloudtrail/update-trail.rst,sha256=szhXEmHstQfrZFoN_lnWj13M-_aJ2wyG46dHyBjrnDk,472 -awscli/examples/cloudtrail/lookup-events.rst,sha256=HIAHURLR0o9R-1gwXA3HWhuXnFwWzH2_PmQby4lRlRA,1690 -awscli/examples/cloudtrail/create-subscription.rst,sha256=zRzf5iTQpuxbSvXPaeFtL0Jgv-TuCIQ2v8xK02xjHYU,1004 -awscli/examples/cloudtrail/list-tags.rst,sha256=G_FuTlHq5X79IHMAIUdN4uJJu29xM1zwErnYU1bi9k0,953 -awscli/examples/cloudtrail/get-event-selectors.rst,sha256=TlPmSt40_7NLMyXZkxjBV84_MxjVPk2E61LL43Vp8lY,451 -awscli/examples/cloudtrail/put-event-selectors.rst,sha256=c_v6wb2rXyoWYSsRsOTeWlxQ10YSvnmV3FjZmtuJUwQ,3012 -awscli/examples/cloudtrail/update-subscription.rst,sha256=p2kF6eLCfGjqlrWGz9ZvURfIp0scFpjNPVRUEoliAxk,959 -awscli/examples/cloudtrail/remove-tags.rst,sha256=baDXOQKHf9H0x0YxDR_EdrcIEU5HTVDUxQkd75LNVyA,252 -awscli/examples/opsworkscm/update-server.rst,sha256=GMwr3wylG4Tdqe_i3nqNB0-wMwsOeRxOv2-uyyF6OOE,1816 -awscli/examples/opsworkscm/describe-node-association-status.rst,sha256=wnuj65UEIX1g1M6CoYpl1jaaeUIiVyQRFISmkx8nFTU,838 -awscli/examples/opsworkscm/describe-backups.rst,sha256=szRbja4GOVIKkBv7z6ht2tKy7H8FvIBGvZUHntoU0QU,1703 -awscli/examples/opsworkscm/delete-server.rst,sha256=tRGd9xsEDL6ohx6T8yWtmGOiZ4TfuBEC8JPpfsKMxXg,603 -awscli/examples/opsworkscm/associate-node.rst,sha256=4W8g1K6-hEpSWv4UjlbgpQBLSNlhw6KRY_3P3ECic84,1108 -awscli/examples/opsworkscm/create-server.rst,sha256=6mOIZrcHJqbpVXIixnYHcgdZMBI6qtO4L1yjlXXRgX0,2229 -awscli/examples/opsworkscm/restore-server.rst,sha256=slNOJXxcumim7J4asXwIG4e4Hupd8NH8YbOnLhh4YAg,842 -awscli/examples/opsworkscm/describe-events.rst,sha256=YYF6JD0OBtM8xlmkWErx3IHG8NEXbz6cHWNcyrGf_Ag,850 -awscli/examples/opsworkscm/disassociate-node.rst,sha256=ApWB_MQ444G9yLJhHB3cHPEQdyEA11nE-EO1bvCymlQ,922 -awscli/examples/opsworkscm/update-server-engine-attributes.rst,sha256=M1Q1rgbzU5Apz71lTRyABfhr6RsRSWwg4CqPjHk_QAg,1880 -awscli/examples/opsworkscm/delete-backup.rst,sha256=tNxaxIBj38PCWvHPqe5mNWCJlORYU3OJRknR330HUdE,746 -awscli/examples/opsworkscm/start-maintenance.rst,sha256=AYLgiy7Il39bKaV41rbJ-o59aDbmOpQ1iQHt25xJhYk,1791 -awscli/examples/opsworkscm/create-backup.rst,sha256=m7W6GboEVzC_lFZ-2peDkNtyZAARsJ3DguvWGtvMwFE,1864 -awscli/examples/opsworkscm/describe-servers.rst,sha256=Tugm9EtUyrJUeOjPGmDrMQ7jdqABcIIXPU3VI4uTQ44,1715 -awscli/examples/opsworkscm/describe-account-attributes.rst,sha256=YrwPPjh3rnalXuYlgwF_0GudHfTywlcmpVjSiIq_aeE,723 -awscli/examples/pi/describe-dimension-keys.rst,sha256=w2_haUxgUHjmN2y8HUPr3QOunYrLNrHuVyzsJ4qPJmc,2050 -awscli/examples/pi/get-resource-metrics.rst,sha256=mEHM-1CDR3LgEe87JTc9fqCa6ORh_RUMGcWCetJirz8,2113 -awscli/examples/events/disable-rule.rst,sha256=QYuhPeEhSjDcUVZq86tvABhGotmBClSrB95IBboiBOQ,181 -awscli/examples/events/test-event-pattern.rst,sha256=Aje-MkToYwPFPi461t-IuILSuH8KmkaW5nMrVvoRaUE,479 -awscli/examples/events/delete-rule.rst,sha256=Ih09V2oOhIhKa_xaJ9qsvqRuFVP6sJIQgnVDFkkG-zk,161 -awscli/examples/events/describe-rule.rst,sha256=oacUM1RmU4fiwC-M_xTIutNhfmQ9va0IjeuRXCpAAIc,193 -awscli/examples/events/enable-rule.rst,sha256=vVit43JMxrEZlj1hH-q27JUQLdHnH4UMpL0Avsf8aMw,189 -awscli/examples/events/list-rules.rst,sha256=T_ICiBe9l-eASnjwEQvo5G-XhvTXyzf35oNAJGtIHxE,381 -awscli/examples/events/remove-targets.rst,sha256=XxH_wf3f1YoKiCIz1VXp5E08rQNoCXxJEOhMantoOOA,321 -awscli/examples/events/list-rule-names-by-target.rst,sha256=IHalXJVONFJ4N_lYtG1Yv54XXmz01r-SAYWGNSfofQY,277 -awscli/examples/events/put-rule.rst,sha256=9egt7KN3ZisZZIttvDpKJV3eBmdPacHEsplT_eQ_gbI,1067 -awscli/examples/events/list-targets-by-rule.rst,sha256=uaFo264bYAZed0ELaDCZsodpZzdo_YUVYt07ICJJU7M,204 -awscli/examples/events/put-events.rst,sha256=tNtjvDg35D17p1nS6VsdHsXMVEC8h37CMMZ3awXWwxI,739 -awscli/examples/events/put-targets.rst,sha256=-MLxWqIOlWwmn6cs8kME-lxi4uNbO8Ppk5-N6hmdhdw,999 -awscli/examples/cloud9/describe-environments.rst,sha256=1lMWilpFYQ0I6of3KS199YI3ISQPDJibC0zruP9zuxU,957 -awscli/examples/cloud9/create-environment-membership.rst,sha256=WA0mkqXvuzVjm_UHbxzTCpXjM6_jqjn4gFtrLwKOjxg,612 -awscli/examples/cloud9/delete-environment.rst,sha256=Nen6FEnX1CbIfTCw24dJ-dn6D3mAjm16V9T_vgRPEvc,325 -awscli/examples/cloud9/update-environment.rst,sha256=IYyC84MTJsdIMCVovI9tfuIOxPpwk_eya_hkTTamVt0,389 -awscli/examples/cloud9/describe-environment-status.rst,sha256=sXTYH-RD8vENT4qGQVs_yPrYKVE5WOHdSV96ml4-RuM,353 -awscli/examples/cloud9/update-environment-membership.rst,sha256=X0BS5QruU1ecBUNGFvlHSZYHZLMHSLWet1XUqQv9lP0,668 -awscli/examples/cloud9/list-environments.rst,sha256=GzpGzdgSaVhPaHMEi0Itt7WiWHYe5ZNZRvgBaPQi-UI,339 -awscli/examples/cloud9/describe-environment-memberships.rst,sha256=Q8m5czDqEw8K19U7LiycnqkQZ1OR4FF2kX-f4ikAJmE,2248 -awscli/examples/cloud9/delete-environment-membership.rst,sha256=IZ3IorsWXJK0LDUKeiv0i2d8OwRzMjCoX19OFrABORM,370 -awscli/examples/cloud9/create-environment-ec2.rst,sha256=vvECKnZzpm0-wcTBb3U9oY9xRA8Xi25KqnI2MQOt3aU,604 -awscli/examples/kms/create-alias.rst,sha256=U4wuWeZL7gRd3q4JFoULQd17bd0b3udAHw2tsjJcT8c,412 -awscli/examples/kms/decrypt.rst,sha256=MVDEGTHecx6pOQpSp51-XbWFWxH4ALz9YhpXMG8iwPo,2681 -awscli/examples/kms/encrypt.rst,sha256=GEziv5EXjXHqYJBalmO6r79arUAufzvWg0pqWcsdhzc,2792 -awscli/examples/cloudsearchdomain/upload-documents.rst,sha256=SD6lp4cgtsvBZnVYqHbLT9_2UpQnkb3Wwrq6OPbsfmg,375 -awscli/examples/emr/delete-security-configuration.rst,sha256=ZYF4Mobofm9f523XbIWDOVqE46mW3KNoqAfEfMTTHmc,173 -awscli/examples/emr/list-instances.rst,sha256=1Zm519juyG7pJdB-Usej0Cw3CKHcFq64yzpUMGVAWSE,3267 -awscli/examples/emr/schedule-hbase-backup.rst,sha256=Ix6iETAh17FXZA3U0buVqqlN_3I8ehnLCK7nLTs2AKM,678 -awscli/examples/emr/add-tags.rst,sha256=h35saPb_5aiRrzpGAyYsGQp8pDmd002-ouKr2sMOsck,648 -awscli/examples/emr/add-steps.rst,sha256=OxGtOx7u2EplNbCpMTHgXKEwhLGH3BZWS7nJXi1XQEE,4477 -awscli/examples/emr/describe-step.rst,sha256=NB3J-O_zmCg-vLPnHVmT2jG5H-_QikVS8cuSSH9FrEw,1146 -awscli/examples/emr/modify-instance-fleet.rst,sha256=ALpqFseE8NRMIcjITkaqgLur04ET_aL_WYWCmNI8D9c,333 -awscli/examples/emr/ssh.rst,sha256=WQekzXNmybA0IDqJr_1CVqMrCdAI97korEgDg_jKMLk,1462 -awscli/examples/emr/put.rst,sha256=WbwN3DGk_Fk0mc6Bw6LSJ7qbHjjmelCn0VRXCjcI-7A,287 -awscli/examples/emr/modify-cluster-attributes.rst,sha256=FCCR6voI_KjVHKvJHpKQ7h4iROxSZly2_44moaHFctw,196 -awscli/examples/emr/socks.rst,sha256=VowwnmJ--TP-6uqLAWSex6a5RgjxynFjpffHJ8Mjqgo,273 -awscli/examples/emr/list-security-configurations.rst,sha256=G-njgyuYo-C2Su1_i43TrUUe8Tj5zfPOBKuuZkCHh1g,357 -awscli/examples/emr/create-cluster-examples.rst,sha256=a2EaTCqyuQSaGnDcSfnjYBC4g5JqgKVlGCoF5WPC_Ko,25333 -awscli/examples/emr/list-instance-fleets.rst,sha256=4PdyixWT-CrwZ_Sb17oPOW4Wc18MhZMuv2PGc-eyVes,2031 -awscli/examples/emr/get.rst,sha256=Isad5KAO_0juOb7qVi8Y8z2X3QQQHQury9L8GVIiZ5M,258 -awscli/examples/emr/create-security-configuration.rst,sha256=m3vxwRSYxuDRoIB33gFXxoiD03JKccb329eiE_K2byc,4003 -awscli/examples/emr/list-clusters.rst,sha256=BQ4VzVS2Zev-pQEYwQnY8416kk55Dr2i1qnYbriCLXE,670 -awscli/examples/emr/list-steps.rst,sha256=iilOrfJ-XYIbSshLrLqnC-DzmXE6twP6HFNiGqJ301M,151 -awscli/examples/emr/describe-cluster.rst,sha256=9qgm-NcXLpI2CCyceVM6m2IAuX327Xvziua_YyBarOk,9595 -awscli/examples/emr/wait.rst,sha256=7_8mKpPGeFLN8lqoDEJ4SgFubM_ziiV4aoIQU8GRX7k,165 -awscli/examples/emr/create-cluster-synopsis.rst,sha256=-XFC0Uy9kKyEpBe5zdpzvuhNGUAMPRoEpik_pIgaQoI,996 -awscli/examples/emr/create-default-roles.rst,sha256=pmYwkYa9HgK5Qn6VBFSL5SgWbyV9jNRDNmV_wE_TdKA,5688 -awscli/examples/emr/remove-tags.rst,sha256=e1iKW3cyJvhc4PAKxoMgGoK0zN464ORXN5z-oj7zMRg,184 -awscli/examples/emr/add-instance-fleet.rst,sha256=86QceC6G-Xg_2SokLSEhO4rBpvSsh-X3w3OB27jdFx4,521 -awscli/examples/sts/assume-role.rst,sha256=vu-jgl4ftzp4KqDUdqktayKntQJ751VogB2Ix4L-0U4,1430 -awscli/examples/workmail/disassociate-member-from-group.rst,sha256=3g8leVoHnbQSXPePLS1ADx9ZjQ2UVxxwFt6V7C84-5g,348 -awscli/examples/workmail/describe-user.rst,sha256=f9amHDpyvBXbRGJthMHkOhy7aANa4-lLxbGWtSge1As,521 -awscli/examples/workmail/update-primary-email-address.rst,sha256=SOOI4DEd2pOlFUCLtqorIkPX2ziFLUwM3MgB6sbhtZw,371 -awscli/examples/workmail/list-aliases.rst,sha256=MglONpgJ-BtJ7Nfqip1Vp7lskB2Yh-z30gLQyhIBPkw,393 -awscli/examples/workmail/deregister-from-work-mail.rst,sha256=asuNd8z_scvhP4srnlIgoacMC90PeguhNPI5-vGLZv8,323 -awscli/examples/workmail/list-organizations.rst,sha256=5rWHiiU7xJBiTIthvIpwHn46rWcYNDnR6EFZbMSzRpE,378 -awscli/examples/workmail/delete-alias.rst,sha256=8JzH61WckV5SUr63AoiZbgReguz9Z3ia20ne8O-p9TE,314 -awscli/examples/workmail/delete-user.rst,sha256=nsR297IeGekfq1d3BOfJWzhzCSQx5atPOvWEPs1WPFw,287 -awscli/examples/workmail/list-groups.rst,sha256=AcdPPAcAd1fDymZigKiHqb-YDDSeqyb-makZvpyScs4,584 -awscli/examples/workmail/describe-organization.rst,sha256=vWw4dGo6nyA0F68bADmsMWeOK0wsndqkanP2WgONZGw,545 -awscli/examples/workmail/disassociate-delegate-from-resource.rst,sha256=urhREMgtuvn9oy4YUoTUUhzYtvB-zvVidhXXZbqPBN8,350 -awscli/examples/workmail/list-resources.rst,sha256=_kTud3ehTi1jTkV9Vt4pB1Mf8prS0EUEyDW3CwEY1U4,436 -awscli/examples/workmail/list-mailbox-permissions.rst,sha256=stB4oMqXypQEcMyurA2dEeQTLfgj3sW2yczvn6hdIuY,580 -awscli/examples/workmail/reset-password.rst,sha256=2h5M_jjOQ9JxVzsiotrLE42xQx7nh0bQ7bp8QB_GdVk,288 -awscli/examples/workmail/list-users.rst,sha256=ylJfnkjP_MGvD93QAda7X5a2cH03oz3gHm3fnvlFaiY,740 -awscli/examples/workmail/delete-mailbox-permissions.rst,sha256=jw0KqSD6GYMJXEYmYbygSsdvZpGLYtgHZ0gqJe5o_Rs,509 -awscli/examples/workmail/describe-resource.rst,sha256=IdNHTtuLJudA3-mk6YE5KbuJxgrNLAINWdOFDk3vC8Y,578 -awscli/examples/workmail/create-alias.rst,sha256=ngfoUH8-UNgAIPUBqmUyw8-EJbkbuUSzBhrbLswGI1A,313 -awscli/examples/workmail/describe-group.rst,sha256=ERKYP9tayN0b0jQhHp6zQAOJuHzeKmt6yR23BcSzV-A,403 -awscli/examples/workmail/delete-group.rst,sha256=L8xM0i5IupY9wfnvBiiKuhs0Lxc5fdfE-k1K54AkyYA,274 -awscli/examples/workmail/put-mailbox-permissions.rst,sha256=KprHogGJIcUf01fjlWkRvOXVi5BCakANky4Jwc3IcO8,447 -awscli/examples/workmail/list-resource-delegates.rst,sha256=DzMYEf0FZzRRF0Sax1zhpSmlswWa2J2d3-y5nnFniwI,446 -awscli/examples/workmail/create-group.rst,sha256=YoPo73lqs1_-JhQUZe1lRpoDoYxel_637qYfSC61pcQ,300 -awscli/examples/workmail/list-group-members.rst,sha256=ziSPEfUDDHBtbPTo_BCEOxFcCyHK092OV1bShNqmiB0,525 -awscli/examples/workmail/delete-resource.rst,sha256=xvqDWjKxnSua-iAk3SqEA2Y8bcx9o9njjj3VrPlbShs,272 -awscli/examples/workmail/register-to-work-mail.rst,sha256=xCWJTtHH7rgrfT2j65OO0o4S3tktigYY--A2PXcm0CY,366 -awscli/examples/workmail/create-user.rst,sha256=IbAgTlS3CC6oOf3nF_NfvAiQzNHsiB7U0isdFO9F5EM,324 -awscli/examples/workmail/create-resource.rst,sha256=vTa-n3pi0tfcGAxl6B_NB7qoHjSdQXLmpL3nv_9mLwk,326 -awscli/examples/workmail/update-resource.rst,sha256=3VSSzjGRugv8War40WIDPebaxq7AaAbFZ4zUvW-NInE,277 -awscli/examples/workmail/associate-member-to-group.rst,sha256=Jp5alRCyJVAxVNBYYtPEES_SPTSW9HkSZUAQ2xjgw0Q,334 -awscli/examples/workmail/associate-delegate-to-resource.rst,sha256=wQzgrJnq1PFONhqTiS7HlmUgLqEuLOHt9Toal8H5j4E,327 -awscli/examples/deploy/add-tags-to-on-premises-instances.rst,sha256=GcAuPTmp0uTTPrXGu4x81GkeXlVjnujt5pLWQlZQ12g,419 -awscli/examples/deploy/list-on-premises-instances.rst,sha256=k5Z_q7LhC93lrcQa0pCMDckApCIAYfhIfeDMk4vtFOs,511 -awscli/examples/deploy/list-deployment-groups.rst,sha256=jKo8isTwT_SxgBWMcIQNQ1L63Ste03cAh50v83frTM4,389 -awscli/examples/deploy/list-applications.rst,sha256=1AaO9nw5iNlHlWY9yEcDoEbeBPOfFYr8AJVpDAMzHIo,293 -awscli/examples/deploy/delete-deployment-config.rst,sha256=fUA0CqGcBxXihqvTnXRbGrwyrooHGhX1fbB1DNmzJKY,259 -awscli/examples/deploy/get-deployment-group.rst,sha256=bm9mdRa2aX8U_wo6bC9l9roXVedyy7mkz7r6YvtInn0,911 -awscli/examples/deploy/push.rst,sha256=rxVzniTA2qzOZ40Kf5lQF1BpBiL_S2UKZLE7HtXNBtc,928 -awscli/examples/deploy/delete-application.rst,sha256=tC-Yrk0TxRrXHIgop0HB62WVOaG8PVLjK8HCPjkMZlw,209 -awscli/examples/deploy/list-application-revisions.rst,sha256=DsYn-DQdy4EVmor9sTQjyH4P6ZKl5qD9GC28XZnViFo,983 -awscli/examples/deploy/get-application-revision.rst,sha256=_4NZPxa9RvMGimQmbHgxdG6nE6wfGNAVpsfwCFP2QNw,975 -awscli/examples/deploy/batch-get-on-premises-instances.rst,sha256=ansCUu9mUpm8_8UUc0wYlZjQwWuq650jamuSEyTtLdw,1133 -awscli/examples/deploy/delete-deployment-group.rst,sha256=IGpVdQos4w9JYs0tpMi4gHmQ8QI0Ik8T74ydJJTH8TQ,292 -awscli/examples/deploy/update-deployment-group.rst,sha256=4wcpEecFO-LgGVUWLdJfOnSmoebcAPTp68-Rq7oUW2M,588 -awscli/examples/deploy/register-application-revision.rst,sha256=_9N3z8GukX-p3BYhhIRnnF0zn0lGtAXLNjZioQYsjUY,468 -awscli/examples/deploy/register-on-premises-instance.rst,sha256=NBF2QiT36eo5Kqz9bVtv2bcxh5lbtK6NINNZXXw5dko,460 -awscli/examples/deploy/uninstall.rst,sha256=6K19DHJwd5WwrtDbB4QMNhUiz8HdcvsyNbm9ES8jXeo,473 -awscli/examples/deploy/list-deployments.rst,sha256=HIjEkkZmtbZuYrr7exeJmTzwShbGq5XEiosObGNKMqk,507 -awscli/examples/deploy/batch-get-applications.rst,sha256=ztRJafpzvtSciV90PyYCCu5Op3aApvKiqGx67wBVcow,745 -awscli/examples/deploy/list-deployment-configs.rst,sha256=b013fhss93RZ8UK8lnRB_ZQLmY16txT-MLSt2ds9oG4,442 -awscli/examples/deploy/deregister.rst,sha256=59EWt-0kPhOPZOpyo_0TuaWnBt75Xse-JE2VwyU97HY,904 -awscli/examples/deploy/get-application.rst,sha256=KFduQsF4RJ1GwrHXeHyM7cNHB4ZHeLGqYfMU8bS7uwQ,452 -awscli/examples/deploy/stop-deployment.rst,sha256=fjiImd1NXXsYUgrf2Y9ap1EK7q6kBNPptHGMduGqOQw,360 -awscli/examples/deploy/remove-tags-from-on-premises-instances.rst,sha256=Dzciqgcm3_qh_fkZxfXAPgsicCgqPMwR4rZkI27MxmA,641 -awscli/examples/deploy/get-deployment.rst,sha256=we4UYZJaFAK1bpTTLvfJlNcQhOZuAZa6S5K7Zr5r_JA,1175 -awscli/examples/deploy/get-deployment-config.rst,sha256=fGtSeahpcZvpfkLFJhhaOL8A6fatA2WN-XLQsKlbxME,605 -awscli/examples/deploy/create-application.rst,sha256=hO9KvonFCpHCDM1jNKHetAdHWrvRnhfkZI30sC83iQU,270 -awscli/examples/deploy/deregister-on-premises-instance.rst,sha256=0DJaRmQw1YBiOPootIewx3lZ8rmwJZBosNmm2HeqIiU,543 -awscli/examples/deploy/get-on-premises-instance.rst,sha256=6CQffYHZqPAfrkPe2flh9FbV7lE35dhjUNgNDrk97hk,651 -awscli/examples/deploy/batch-get-deployments.rst,sha256=iRDP66KYVbiMgBBbitlZCCbXRmFSJ6GdYu09pHB3a5g,2361 -awscli/examples/deploy/update-application.rst,sha256=0JJeOn43Rv_T4T89UTKfxrSY4wilFM7DkvmDHoLT6e4,279 -awscli/examples/deploy/create-deployment-group.rst,sha256=aZW2TO_siKcTFXyMYeJizeERYxvPufp-e6n7Yx1XkUA,585 -awscli/examples/deploy/register.rst,sha256=Y1oLVQfJ_4EHMKUSd2u68OUgyRbb4Z7Gu0BisnzlQqw,964 -awscli/examples/deploy/get-deployment-instance.rst,sha256=cQd7OkxKxR7vw38J7BVwPD5ieRSOmDE8IKiCJxW0uIU,2009 -awscli/examples/deploy/install.rst,sha256=WLNtgTgEBbhnzN4rDIyIqHTBY_4dqhtJk_cxrxUjiEk,766 -awscli/examples/deploy/create-deployment-config.rst,sha256=P3eWbUuX8pnJoZL_rz_qR7NYN26SugStSZj72yX26UY,384 -awscli/examples/deploy/create-deployment.rst,sha256=7F2Mx6Mus8u7E45NZhvCO9Tc_Fx0rZqf_tBVjp25_lQ,481 -awscli/examples/deploy/list-deployment-instances.rst,sha256=hUoLswzuaqNIqrdIt6I2VZtK47uXWWCdy3fFw3QGmoI,372 -awscli/examples/workspaces/describe-workspace-bundles.rst,sha256=B8mK1w-W3jKo1PuzRM2tirBvA9Wi7SFiQzKa20iT4J4,3556 -awscli/examples/workspaces/create-workspaces.rst,sha256=WTf-ke8Z7zDecgScIJQ7PHpTcVHm4VCs7LQudXyxPns,735 -awscli/examples/workspaces/terminate-workspaces.rst,sha256=DUi8m7nKbB50foCe5x4FT1O_DNA3sQ6AybrKgQ4wr78,217 -awscli/examples/workspaces/describe-workspace-directories.rst,sha256=XuU6YLrNjCgQ8rSFS-FBiX5dpbusyCfZXSqBkElSS9M,1755 -awscli/examples/workspaces/describe-workspaces.rst,sha256=zXXWJMdlZwd9-lmkgDfXRylm6F3m5Gj0QuaoN325wHE,920 -awscli/examples/dlm/create-lifecycle-policy.rst,sha256=nb72qKYDj2zOUminXp3aIbV_fzgbhlS6ZPQhjVgFg1Y,1336 -awscli/examples/dlm/delete-lifecycle-policy.rst,sha256=tEY9IcT2CGb9YIYIQqlmv5GEHuRH43wig4E2jsK_t1Q,170 -awscli/examples/dlm/create-default-role.rst,sha256=sdtn_ske1Q4Gz5tqr_dZGpEQg1Wrs0F2oa8EOVqSNvw,323 -awscli/examples/cloudfront/create-invalidation.rst,sha256=c9vKRK2V2rLjZpxH_QF-UhpqcrSnJNBo6XSe7Ac3_RU,1525 -awscli/examples/cloudfront/get-invalidation.rst,sha256=hg0Rt3P-oQ5SyB1A5nBDu28Rty4ZaIPbYWIRm_san1M,913 -awscli/examples/cloudfront/delete-distribution.rst,sha256=B4Oz1THx4KLax_tsPglhGlqVFQjN-8EmLEGc7v_Opbs,528 -awscli/examples/cloudfront/create-distribution.rst,sha256=MSN6SxFvfFUtDFZAxborx3YVWS3Mso9Hx0CrupyczEU,4901 -awscli/examples/cloudfront/update-distribution.rst,sha256=7IAWNxAvmkVBz1Sfj7kkHxfgPgUfWbeewXsCk-HTnCc,6343 -awscli/examples/cloudfront/get-distribution.rst,sha256=GKT-9nQ9lhBC84v1Th7nfSL-iSOUWr5otqjXgW5J38o,3379 -awscli/examples/cloudfront/list-distributions.rst,sha256=TIBYEw-8hcYtOloNFsvsxQie0q141E-vG8FE64fjIU0,3297 -awscli/examples/cloudfront/list-invalidations.rst,sha256=VYyCF9zJyA4GWZPwLvxgYVH35qEGnhZeKO9neJfwnVw,666 -awscli/examples/cloudfront/get-distribution-config.rst,sha256=JQessEELN9LTIqzeyEznEGtNS6lp8QqEPALxeBLkxhc,2733 -awscli/examples/iam/get-account-authorization-details.rst,sha256=khD0NEGn8asKOGbIhES6WHfqeC57j8zrzQDO1TjfLOs,8896 -awscli/examples/iam/upload-signing-certificate.rst,sha256=Pe845cmUuNQXNF04vW7eAevTJG8TLpZ0nEm_IJgZEAs,898 -awscli/examples/iam/put-user-policy.rst,sha256=5Lk016C0NXyOX6o4qrNOiuSuyPvbGa5aczR8HAB9ID0,592 -awscli/examples/iam/list-mfa-devices.rst,sha256=EJoPUVhwbCPPTmbYiLCc3OKHDmBybU2hpUZVXJGZMD8,633 -awscli/examples/iam/put-role-policy.rst,sha256=fA1CPrB7loiwcBULrJ65OaDfvB_BZEAPg0icWATNYoA,650 -awscli/examples/iam/list-attached-group-policies.rst,sha256=53MeJhHYRKonFZ9-V9Pn0PX5btobxeiGs7ZF0HLGOOQ,778 -awscli/examples/iam/list-attached-user-policies.rst,sha256=kE3-0C6FfqOdsBcR1V5Jb5HVB_RTK2ovHIk2bOvBTpo,751 -awscli/examples/iam/get-group.rst,sha256=_mxxI6Wx8aVsWaOvUqsOEIfFPvHtegg7AhqkyaackXg,586 -awscli/examples/iam/deactivate-mfa-device.rst,sha256=iwS34BMKlTQNQibukqjg0Xkz8vJEXBb8OgfWh_Ot-RM,543 -awscli/examples/iam/list-access-keys.rst,sha256=wnM7pDnDZO7RLQMsyo-2vIm6MlzqfcldQCXe2xuvKRo,1003 -awscli/examples/iam/get-login-profile.rst,sha256=SiBPF-gYMuPuhvFbbAbVkalZedqbMpXcKshR96_TIYY,970 -awscli/examples/iam/delete-account-password-policy.rst,sha256=XTAkhYYWdx2CuIdyT4cE-5f7cQdUXMwZJltNzco5Dxc,419 -awscli/examples/iam/list-user-policies.rst,sha256=GqltNnbe5PW0Zz1klbv62oPPk2SVJZnefphRgyNCf5U,492 -awscli/examples/iam/list-virtual-mfa-devices.rst,sha256=7_UwElUT0cMdjBKEwRgZehSQ62EHzk9EMus87RQ2P-c,628 -awscli/examples/iam/delete-account-alias.rst,sha256=Uybw5iDdEEeDP5KHW41xukKgL9y55gcPUw-h99TJnhA,403 -awscli/examples/iam/resync-mfa-device.rst,sha256=xdFgJ4c2aw3JteDff2y2TVrgjMetApKcjT6kQcrLdh4,705 -awscli/examples/iam/remove-role-from-instance-profile.rst,sha256=1hjbwAcxvqPWMs-ZMBNkTjFKV_qF7QwZbgbCUgVIuCM,491 -awscli/examples/iam/create-saml-provider.rst,sha256=nMGCkQVSkWJwj7GXOZbHTW28ysD5Ha95BAuUqfhVl6U,579 -awscli/examples/iam/update-user.rst,sha256=4Vjouqx3RneCFqlowWX8s3_5Wc6usWOVV8EuRyLa3HU,393 -awscli/examples/iam/delete-user.rst,sha256=5nAQPaFUEjIHOiuh6ZgPi5CEE45sDsh0rdeS0IdjcEA,390 -awscli/examples/iam/attach-group-policy.rst,sha256=L2hIJ7X34nnND8b3CB7IG8diSUC265r9cKHeUCDWIYA,509 -awscli/examples/iam/create-virtual-mfa-device.rst,sha256=pwdV0g2DgixFOLImaWlzCsAdonpP6X1a3ukjJz865os,784 -awscli/examples/iam/create-login-profile.rst,sha256=L4n-SfHz4MHh5EHzB38qkznw_fFAxkBnS0x1ljpu3n4,2139 -awscli/examples/iam/delete-access-key.rst,sha256=1CNatpsJ6QRf0N29nsooQ5NYgdCNvGk57jkJxvMT674,620 -awscli/examples/iam/list-attached-role-policies.rst,sha256=15z_r8aaDyXas9lRCdb4mweYngDifws9cJHDN5gcFYA,659 -awscli/examples/iam/get-user.rst,sha256=9J89QxMk-wGREO_2JsAeC1K1d4hdYoEW9rlc0M1nUDw,574 -awscli/examples/iam/remove-client-id-from-open-id-connect-provider.rst,sha256=TX8ENjaWIN565E7-kN9-xiP6q5pQ1zwtuSO0Bznl8HY,727 -awscli/examples/iam/create-role.rst,sha256=2s7qrTcyDFgNsLte5QX3GEAJjDYbWY4avOUqdKQQB8M,981 -awscli/examples/iam/update-group.rst,sha256=AXcEno3ptOnd4KiCMumX1UtwGs7rAvYI15GA0gt_pVI,394 -awscli/examples/iam/list-groups.rst,sha256=ClWoa_KWciBmF3E6cWmBCZLL91deBVvIINqeumtFwqU,824 -awscli/examples/iam/delete-saml-provider.rst,sha256=02sOz_hlUBEHOnHCQ6A_QCtOAaEMvxLrcz4yRpPJB1A,446 -awscli/examples/iam/create-account-alias.rst,sha256=flwKeCamOt2Fe-WhemIrqFpZywFADVNc2dxM7YYlN9s,394 -awscli/examples/iam/add-client-id-to-open-id-connect-provider.rst,sha256=h20-9f1716ovMLrAG_iXZqJ2p9BzEPj92SoZs_UYHbE,709 -awscli/examples/iam/delete-policy-version.rst,sha256=rU5ZCYJSdy2OIi_bqpUtH8iwJQOFVIDqNk3V96e3P_A,471 -awscli/examples/iam/list-open-id-connect-providers.rst,sha256=xLCkFkQi2Gm8_zWOACTOM_CYVr1-W_mcOdaZTdLt6JU,618 -awscli/examples/iam/delete-user-policy.rst,sha256=Cgx9psIJ8CSkHj0-qzRX5LAGNPLTs7a7fcSCcDGa_fk,525 -awscli/examples/iam/get-user-policy.rst,sha256=hKpruvr5Gyuq0BvvMBoXpODMhGLwslk1yZHR4BbkPQ8,873 -awscli/examples/iam/delete-instance-profile.rst,sha256=nidP8p324EWXna0R1zTFUl3j3VjZmvjkrazzchFzctg,403 -awscli/examples/iam/delete-role.rst,sha256=L1wmZLoElwB_o9nPAxCRb6t83j03Qw3OmJQ15WgwwS4,696 -awscli/examples/iam/update-access-key.rst,sha256=iidGMRKCIHBV0jXC0C8mfRr48kdPo4-2G6iGuKtmXak,715 -awscli/examples/iam/delete-login-profile.rst,sha256=obeqrGJoz0PHMcFfDJ2X00YZYNWO2LQiv44Ec-o4K14,369 -awscli/examples/iam/delete-signing-certificate.rst,sha256=Ae4_rw60_ayFyUww7oy2SyAFuB6_Nfc1TGIK2PECr7o,612 -awscli/examples/iam/upload-server-certificate.rst,sha256=HPXIVzAmW1WIr-ZNdTUzfOvUuhLpJyxA32-boXJZY4k,1166 -awscli/examples/iam/enable-mfa-device.rst,sha256=AJp38zvIoh11g2R-wePStf4JlPNJ2i5r_y4TIkM7mcM,803 -awscli/examples/iam/get-account-summary.rst,sha256=U0KVRx57G_SF5P_EJA9HBIjH46CZdFn2EYxjh_Q-9Ig,1285 -awscli/examples/iam/list-users.rst,sha256=N6EhnqsSbBxD_k-MVcvO-As4oKK6pBnyc5fnGnKueZI,755 -awscli/examples/iam/delete-virtual-mfa-device.rst,sha256=eScz59h-uzipuoWRMm78AnG6L_5dy5w2UBaALtY-QXw,446 -awscli/examples/iam/create-open-id-connect-provider.rst,sha256=IDCuQ-g0dFjm4-frkg6MRQB6AHFy9hxGUeuVX_rG0pU,2405 -awscli/examples/iam/attach-user-policy.rst,sha256=zpsp1f735LQvddcd1F91BcXuEynDzLG2ssqTUU21_wU,510 -awscli/examples/iam/generate-credential-report.rst,sha256=RhhcwObzwpSEGa19q8XSog7mgK4tzP9ojLl7x5IEEls,513 -awscli/examples/iam/change-password.rst,sha256=3dEjkFxcpIRTq2JGglUVelCpzldhIwIXysZe68vztg8,1641 -awscli/examples/iam/update-account-password-policy.rst,sha256=UTLuXWqhviRakhaEsU9d8tkO1089FS5wrv-PnKHcEpk,749 -awscli/examples/iam/update-assume-role-policy.rst,sha256=bX-gabO4pCbulafni2-5EJmeyBmmdSkruuAk1Rj027Q,710 -awscli/examples/iam/add-user-to-group.rst,sha256=IN6vnwCLZ_YUgXJH2SpOFMIJH_S_YhxRbxV3Fnr_H48,445 -awscli/examples/iam/get-credential-report.rst,sha256=kLRXC-am-ZRoi4fukXqXNc3rClwiiTWKX4AgLaItuKA,491 -awscli/examples/iam/update-login-profile.rst,sha256=YzPNh53nk2IXliyb02skj35fJgJAKTwViMtyIQ9U7Ew,895 -awscli/examples/iam/delete-group.rst,sha256=FJ2bHQrPJFOQKGvhURFRZ_YGgYlMBUUDZ7g0AQJlHcQ,340 -awscli/examples/iam/list-entities-for-policy.rst,sha256=9KcJb9MeaPCXKn75xwEOXVMp9kEg19SRc1cB25gcGsI,772 -awscli/examples/iam/get-saml-provider.rst,sha256=KcPxzdb18WmYinImV4-f8apar87IuPMiBqfuxUD4_sc,632 -awscli/examples/iam/create-access-key.rst,sha256=N2Ud00gMxexjpkayCVEzQvQiKGgRpPlLBjAeI_R_dn0,842 -awscli/examples/iam/update-saml-provider.rst,sha256=QxtoAaPmSxKNThehSSN3DSx32Fyly2AhPmg_Biv7ClY,676 -awscli/examples/iam/create-group.rst,sha256=4ljWhd3tSTvv7ofR8wFWz4FfDtzRLxHLYRzXPOS8AGk,594 -awscli/examples/iam/update-open-id-connect-provider-thumbprint.rst,sha256=yAKaqpec84aY4BavQ_4h9JttfZaRUr7hq4GZUIglEZI,698 -awscli/examples/iam/list-signing-certificates.rst,sha256=dJ6cd4Gz07WJMJ67T_NcWXGQ-a_dYnTrgeBI6n0BgGI,788 -awscli/examples/iam/list-account-aliases.rst,sha256=yG-NLR-3MaEpoygjwmh7cF5Oc-fi3dR5GVH_C3cQ7mg,414 -awscli/examples/iam/delete-policy.rst,sha256=OAAQ-8gWQGVPeFfuLeMh501IlWYSnNFj0_Zdtbpxez4,399 -awscli/examples/iam/get-access-key-last-used.rst,sha256=p6WhXRwXc2f9Ov-cJTE75pM9A5_23POekUzmoJyv-a0,636 -awscli/examples/iam/create-policy.rst,sha256=d0N5DH3KeibeB0u19QFzjp6PnmNQgCJJw1hd_a4bQ2I,1300 -awscli/examples/iam/delete-role-policy.rst,sha256=I3Gwu0oMEdvw7XBloSw3xLzXDM6bvanVPk_HuqBoZtQ,409 -awscli/examples/iam/list-policy-versions.rst,sha256=3TSgqHudHYr7X7BHnm1Gcf7UgMPdFRAIikJpKwGIKOk,802 -awscli/examples/iam/list-role-policies.rst,sha256=WOjVtqHH2gLrz_EGaKYTjUDhB2RorJdB36tjnibKZqg,597 -awscli/examples/iam/create-user.rst,sha256=k0QKUt-7myftRMC70eI08qcQpiskNXSJJpi8TPa60KU,622 -awscli/examples/iam/get-policy-version.rst,sha256=qZf_zWvp9yQW7zQujwdjqtdP7T4AIeyYdFOIjHCQ-uk,846 -awscli/examples/iam/remove-user-from-group.rst,sha256=pokPiBzrs93bjpvMK-6rowEusRHE0hdO5Y0ma4h14r0,474 -awscli/examples/iam/put-group-policy.rst,sha256=TUCKWqqxwGSD42Z2EpiVAcMe6cQe3WTtoYmRCmFnX84,548 -awscli/examples/iam/get-instance-profile.rst,sha256=e9TF2yCSCinK9OqZC7SyuEHW5xToaDd7kt9T1PX6MaI,1136 -awscli/examples/iam/list-saml-providers.rst,sha256=BY2F1d8OFl4BJPwn_tN5SIVte7uE43uk8pMNKC2__8Q,580 -awscli/examples/iam/get-policy.rst,sha256=HQYgqqZdEzW345nDpO_flGfJWH34jk24zGf4n30yvMo,852 -awscli/examples/iam/list-instance-profiles-for-role.rst,sha256=u_eNv0GvePu9lIXk2IdQ6wvF_3B6HkgUQwMemqJRrFw,1135 -awscli/examples/iam/detach-role-policy.rst,sha256=neijJcOPgSMQ3EpgL2o2fXkS3LExOcyM3IROMWlHf8Q,511 -awscli/examples/iam/add-role-to-instance-profile.rst,sha256=Q4x3BxfbS4L5qOrNBov7vqRYy7P8rh7ei_CQXabiNas,650 -awscli/examples/iam/attach-role-policy.rst,sha256=j1CLYdPr9Dt3l98wKCk-8asscizPx8v1zZN-1oPQAYc,514 -awscli/examples/iam/set-default-policy-version.rst,sha256=MvhohH_Z-O6xrd2CGNL80LJhzwBSSJF_MaDX0eQsV-s,527 -awscli/examples/iam/update-signing-certificate.rst,sha256=7wdyavieu8ZxP6wVAqWoynG82bB0rXm0GnzTrsKDdRo,650 -awscli/examples/iam/get-account-password-policy.rst,sha256=Y9iMdOAv0CIXRlmfbeCT0P2S90L0rbeRWEpn52HXHpQ,820 -awscli/examples/iam/detach-group-policy.rst,sha256=M4neS_D0bU-uIJty-in7ixZ6EI0NlXJerFjwprXFkXk,484 -awscli/examples/iam/list-group-policies.rst,sha256=Xml5dE9iV62YFFn8AZUpmmO7VGGMal7v86rd-n03ofo,561 -awscli/examples/iam/get-group-policy.rst,sha256=MfXALOn3_4pxZy1vrrA5jVfactS_cbSgvtQzrVb3f2Y,877 -awscli/examples/iam/list-roles.rst,sha256=WqgmpoNpj6pxrd3__7ZSZk68gU8YyWb3U3dv9GMTKF8,1491 -awscli/examples/iam/delete-group-policy.rst,sha256=hWNBqpHRO4PxMcvoaFQV0-slY9Qu9d_rNdaF5VYR6us,506 -awscli/examples/iam/delete-open-id-connect-provider.rst,sha256=1Hw3VkYHidf2pCa9rExER1ancCm1c6-coKIsuvJK0o8,526 -awscli/examples/iam/get-role-policy.rst,sha256=TZraxGQw8U7BSp2GRu_HF99C4e2Sgpun2-sbKxO6SyA,928 -awscli/examples/iam/get-open-id-connect-provider.rst,sha256=Y4_Ni4J3X-Y5ZW77MFhWgPI0jvwu7H-sU7S4PpaXUtI,808 -awscli/examples/iam/create-instance-profile.rst,sha256=VCPd36xMzldkFKHsVCi9c7Yzyx4sLQarYYvqSHOXib8,921 -awscli/examples/iam/list-policies.rst,sha256=es1rwuZ2FWb0Yoa2U6Fgm34nsM1dNQhEscULW26sdmc,1283 -awscli/examples/iam/create-policy-version.rst,sha256=PlwpkTM2Gxi8IGZRe5i_4oZcpOQRQggizQ6YIZiTc2w,733 -awscli/examples/iam/get-role.rst,sha256=9l_mLE8AZEN-Jrh_armmT0-FKGaAswhm_B7dMVg2liE,789 -awscli/examples/iam/list-instance-profiles.rst,sha256=rHIHjm9iNBsYzMRUKwOQYev6Kqa-AhYcJOcz-g8RHKo,2338 -awscli/examples/iam/list-groups-for-user.rst,sha256=eHjlRu6JSvNlS2j76Zpfrmj8j35zKNz50Hp5LxTotQw,896 -awscli/examples/iam/detach-user-policy.rst,sha256=wtyv0SCttV16vDggPjk2Aqeid2oavGLekWeUYE3ghOQ,454 -awscli/examples/codecommit/delete-branch.rst,sha256=Ch-StW1LsrXbnUOgxY4rBKOu-wxy0odDRp_ctLlKKd0,312 -awscli/examples/codecommit/put-repository-triggers.rst,sha256=Q9_9PNWr5z0oBp3984DYLAfW1RoH0y7MDdQ0B5Gfxqo,1277 -awscli/examples/codecommit/list-repositories.rst,sha256=WAQoJJQVrH9FcpbfVKmFKAJA7d3NORZkpzyQmk2Xoao,483 -awscli/examples/codecommit/get-repository-triggers.rst,sha256=4mIOpDEXNt9o4cwTViVLtAEipayleSFGsdEN1r-j7rQ,969 -awscli/examples/codecommit/update-pull-request-description.rst,sha256=0H0YqCvArF-tAd9Klw6FO5DZ61LtCBnQmLPs9cLsPL8,1113 -awscli/examples/codecommit/update-pull-request-status.rst,sha256=i8t2XDmlXrhfJaQcLAKVyup5-n1f9aXNadoLhnHQXh8,1140 -awscli/examples/codecommit/describe-pull-request-events.rst,sha256=hAN3_s4T1_t7WEcrOcbCbaqSAwCv4ioBrOTtU-M52Rg,815 -awscli/examples/codecommit/create-branch.rst,sha256=jJt4qBywnXG5EtT5htSbn2JIAjlTg7XCjmFcy2fjrQ0,287 -awscli/examples/codecommit/merge-pull-request-by-fast-forward.rst,sha256=aYWul9CiWeT9-MKwXOI45Rgj04O6UGtcARfZwbDfBOQ,1239 -awscli/examples/codecommit/put-file.rst,sha256=u_ZfcrSq4mNvuDxJltfHiKeD55SYGMHJelVPhu72x4E,720 -awscli/examples/codecommit/get-comment.rst,sha256=R2a979XXnY_uCyf8dHJv-xhiAETdjukZqT0EMZUUXM4,648 -awscli/examples/codecommit/get-comments-for-compared-commit.rst,sha256=zAvuenQBIAWYSi5mGwVlck42Dot0bw0J0jZLDXDm7mQ,1786 -awscli/examples/codecommit/delete-comment-content.rst,sha256=dQEa1_h4BWYEHnPmCAXPpOR7C4XvuHCeK-XA7qGz5ZE,610 -awscli/examples/codecommit/post-comment-reply.rst,sha256=VPpUtafsNMGj9HXwxPHnCqpdBxspbm33btpua92Uacc,774 -awscli/examples/codecommit/create-repository.rst,sha256=8I8Wq25ylA0ut5Fc6L8p3mfXlV8NrB-3KkSWsYM0Nfw,799 -awscli/examples/codecommit/delete-repository.rst,sha256=TP3IeckGau_bj99sS4Vx1qeJUpdsJt-kFotuGJJWBec,244 -awscli/examples/codecommit/get-differences.rst,sha256=SoXGSdH_XQyBg_M7-peNkYkgHmG9T6EJSdieI2xp7Yk,1302 -awscli/examples/codecommit/get-commit.rst,sha256=IsMPr6t37XYBMfWz3-AraVtdVk1hxBvNCW2onDagWxI,917 -awscli/examples/codecommit/get-comments-for-pull-request.rst,sha256=oFgs32CRo2dHYqBE8oqbD-b-KSfdGl0E3TzzBGuSNuI,1707 -awscli/examples/codecommit/get-blob.rst,sha256=gYg4HSVFgzDH07IIKYi_KIhG9QycyiOr7YMT1zGnbig,360 -awscli/examples/codecommit/update-default-branch.rst,sha256=AKaCa6AMDedMWXHH-aOKhXDwMDaZU4O710nP6D4eTd4,312 -awscli/examples/codecommit/update-repository-name.rst,sha256=L1JrJuaZ5JYlREZlT2GEOgeXrXE0Zs63hPUjlRIGZDk,660 -awscli/examples/codecommit/list-pull-requests.rst,sha256=AkSFYmOqRbXEsl8bxsdrNrOcb5nSWspzHZBr8bJiFJc,515 -awscli/examples/codecommit/update-pull-request-title.rst,sha256=0GDC7GvWlKWLXkhrqALQhek6GGu2U_5D78Vskn6wwmU,1190 -awscli/examples/codecommit/update-repository-description.rst,sha256=Gc-jat1k_1QHySOMboIfvIi8vZaPalm1H76nHOFjvgQ,336 -awscli/examples/codecommit/post-comment-for-pull-request.rst,sha256=Oz-Lh8PmVnCC8mrSmjm66MKEkw6VoEnjDIwykvMsmW4,1529 -awscli/examples/codecommit/get-branch.rst,sha256=z87wYf0s4ywFvvh9VIe8JdKpMCZNNZyw8xXWIZOLZGg,330 -awscli/examples/codecommit/get-merge-conflicts.rst,sha256=koXSWjFvpCVkMY0azxSA8XoJJtLd1FYCSkGaZxLeDM8,607 -awscli/examples/codecommit/list-branches.rst,sha256=wzb1j0ogrhIv44CAblv76MMXTgnnRrqK418SZ33n5A4,260 -awscli/examples/codecommit/create-pull-request.rst,sha256=T9FuEW-eZvfjE0vjPSl1z0o9dpsyYD-Tg0GFCU22X0A,1341 -awscli/examples/codecommit/get-repository.rst,sha256=A1Bonw8DxxrE6SW9BhpgabqjqaG7N70JgwnxAM5Vx3s,862 -awscli/examples/codecommit/post-comment-for-compared-commit.rst,sha256=dv9Lhbod2EVLNghw6ijrxpHanrktXEcO-gOccSNHmfs,1395 -awscli/examples/codecommit/batch-get-repositories.rst,sha256=yJCpYl1aRncj3CRPJgYoVvL2O30b5H36jRq_JgKlhmY,1756 -awscli/examples/codecommit/get-pull-request.rst,sha256=Nf561O-GEHa9_uKdkt1noZfBibOceJmgzT9yuv40lrg,1012 -awscli/examples/codecommit/test-repository-triggers.rst,sha256=JaAu5SkmwOeKVHXKVeCRpe4pAMKfV7zD6XjY7He_ZbM,613 -awscli/examples/codecommit/update-comment.rst,sha256=F_AlmVZuN4tr12y0RG5I1pn1sWUJOfAQymbSQ3KeZJ0,691 -awscli/examples/sqs/list-queues.rst,sha256=lCE9rQHVS_nrKb5QPMc1ePPnKuhw-WAqfEs91IFcguA,789 -awscli/examples/sqs/change-message-visibility-batch.rst,sha256=33WIbGb9Je3Sb43Y33bev47JM1iwwX6EBkBIY8NeQYA,793 -awscli/examples/sqs/send-message.rst,sha256=qRAKGIxpxm16gJ6LFT-9Z8WS5CZdf8grtHUAS_b65-w,859 -awscli/examples/sqs/change-message-visibility.rst,sha256=fqWiiw84w0Z92b9diSdg1Vz9KgkyHd_xQMXKe4VVYks,359 -awscli/examples/sqs/remove-permission.rst,sha256=uN8mt-Ahyn5e0YooQqbs2aMvrvmyrQVIQAchmDmoBBY,274 -awscli/examples/sqs/delete-message.rst,sha256=0HzqgrtRMqXSFboL1xL4VUGYIWygj4Nr4lSgOL60s3k,230 -awscli/examples/sqs/get-queue-url.rst,sha256=ku6VHgDyEy8aZJpC8ZjBIBkPh0BghqKYZC-xqL7QuR0,211 -awscli/examples/sqs/send-message-batch.rst,sha256=WflsRRO41geubfHgd566DGLzZpyzMuXuWxmdECHoaoU,2185 -awscli/examples/sqs/receive-message.rst,sha256=I5c0OYXJfvsNIF8XocrGP4NmtdRZJqaBrSNFHYeJ-IQ,2011 -awscli/examples/sqs/list-dead-letter-source-queues.rst,sha256=pBo1vD_bpCrwp3rxGSHh1hfJ4GplfbPh3uLzSa1QuFI,429 -awscli/examples/sqs/delete-queue.rst,sha256=ZDO21GoXJfA1_Xr-nKKLz6VCckLccarHqph8LVnPAHc,192 -awscli/examples/sqs/get-queue-attributes.rst,sha256=9RNmNzBJNPXcOxg_KQKUTltg1VfoucoxhqyKcYpozVw,1270 -awscli/examples/sqs/add-permission.rst,sha256=lSAe9DNsW_dPH-OLVz0TGsUKo_DkEKLYUxs8iEEBjZU,333 -awscli/examples/sqs/delete-message-batch.rst,sha256=dkMySBioJSOeqhFlcPg5EA62KDHRFhQnh3I31ZvEC4g,594 -awscli/examples/sqs/purge-queue.rst,sha256=0n2DRzFURTx-oDi1jcCDNrak7jXbmYy2TiKHubxeo8U,204 -awscli/examples/sqs/set-queue-attributes.rst,sha256=sexJwigM0oY7prulLkmFAaYrJUTMHGoz9u5zkE5CNkk,989 -awscli/examples/sqs/create-queue.rst,sha256=IuwjIWvQDdzU2CMJhJDqn5xNYb4j9PrqIv2Ewd_mvBI,679 -awscli/examples/discovery/describe-agents.rst,sha256=0pfaXNT2BxsaQGjV1WSkhj5pYoV1keqoUqnOPuG7Oe4,1521 -awscli/examples/discovery/list-configurations.rst,sha256=x1ge-dcFwX4S3XYsqlRxq8zwLfNOurIv8LvRANL_lu4,1322 -awscli/examples/discovery/describe-configurations.rst,sha256=YK9xTcbri1FtaNq3Sb751EneNKqkYs6cM-9Mp9FDMoQ,6785 -awscli/examples/waf/update-ip-set.rst,sha256=erB1RZtT5jOxTrqgtbA5XEICCP8GaBaH_te47d27eeo,1152 -awscli/examples/waf/update-byte-match-set.rst,sha256=kCy03fiTa4hZY7Vd2nPslpm_s-h4zNznNq4mCFMNWsM,685 -awscli/examples/waf/update-sql-injection-match-set.rst,sha256=Tukx5UjjShXbGuVs7ilCx0qc7JyXuKF3rpx4tkIFaWo,700 -awscli/examples/waf/update-web-acl.rst,sha256=eOwLApWJIsZQL8FV3sEUDNhkd3xdmn7xQjYsyNMe06o,552 -awscli/examples/waf/update-xss-match-set.rst,sha256=q7VuivlNCMFkrI4CU8fy4Myijkl2GtZmqjjBqe2sWIg,645 -awscli/examples/waf/update-rule.rst,sha256=ehxJBDjzN4C62HthXRcey1JIL43_o6GGKwAJAKJacTg,503 -awscli/examples/waf/update-size-constraint-set.rst,sha256=UAJ8j2RDZb6j6eHIoFQOCgkGU5KjVKK0kg9CmHGe-8o,682 -awscli/examples/logs/describe-log-streams.rst,sha256=F_1I17ZRRQD7OlZ26GUX8J4JuCKnXFoN8rfNMus1vmA,731 -awscli/examples/logs/put-log-events.rst,sha256=FZgdBKgKpCD9JY3utTU7dJDFSyfztX3QQ4fI_VSMcEE,1095 -awscli/examples/logs/delete-retention-policy.rst,sha256=Om1FfMbdadmqXje63pxCXHXNRYXkI-1DPTEF-NTcuS4,180 -awscli/examples/logs/delete-log-stream.rst,sha256=gkjdvOIfVOiQb9-CZ0Ys9iuUrlz1aZvudAS4qcqDfcs,181 -awscli/examples/logs/create-log-stream.rst,sha256=RY2PfvP2_IW1HFlZ8VthJkxppIIi5NkH_T3drRI5xic,175 -awscli/examples/logs/describe-log-groups.rst,sha256=5cp-IIxrtsw76m0bOmXYZPvhuGKeagzeyrnq5ec_LV4,472 -awscli/examples/logs/delete-log-group.rst,sha256=kptGiGmE4vUHSbUIIavyiEpWMFTRzvLGgX-fMowt3qw,116 -awscli/examples/logs/create-log-group.rst,sha256=38Uk7E3o24TSJ-2f1ArpgcDPyP-jEXMBB0e8nGZuNTU,116 -awscli/examples/logs/get-log-events.rst,sha256=Ajrvd1U8N7cmxz24ZyV_YrItAbXq1GplB8m7kAZIYqA,879 -awscli/examples/logs/put-retention-policy.rst,sha256=bhj87TciRV11vh3AwZfeTwBfVdD_5o8RK2t_fqZJJrk,167 -awscli/customizations/sessionmanager.py,sha256=4nBP0koZpFZPQROSUnz-68rSLl23na8g21aJk2zwErw,3781 -awscli/customizations/route53.py,sha256=TyEnjZz7bPegLQ23X5r1tNUJ1gSAmGeQBaF98t5PLmU,1187 -awscli/customizations/iot_data.py,sha256=pSVa6y6mq-mxWwUFzRiJIxcHieWSSUqAQZr0xq40dbE,1231 -awscli/customizations/iot.py,sha256=GvkgUZKcDYjqfWOz160wUS7LVE_YhQ8NDZGzBHqsWc8,2399 -awscli/customizations/preview.py,sha256=5r4RHFS19pxZ79cimbPgL1YOstOjK9OvgUeaZAP0YA8,5189 -awscli/customizations/cloudsearch.py,sha256=nYxETlOloAInBau_WGlv6tKlTb9jrTKMteFKHlcFK7I,4291 -awscli/customizations/kms.py,sha256=MG52QeazTZ3xokURUqLK4asagZCThssaXv0Dg1JIOhc,909 -awscli/customizations/flatten.py,sha256=Yl9hPS2k87YqyAVXhaLFSA0KhluhZYTKKLXsM-nsfco,9505 -awscli/customizations/cloudfront.py,sha256=CutSXeW6-KRWcaf415Z0uAx-d4-gnOSRjlVbCTzhxl8,10580 -awscli/customizations/scalarparse.py,sha256=LIcIwHLHzFR1vQboh58N3spPEcR9IF2Wk9f-wA-IXoA,3041 -awscli/customizations/s3errormsg.py,sha256=STKQ3714dnXOzPSPszCikhv5hoRBUJnk-u0kFp7FaEU,2480 -awscli/customizations/cliinputjson.py,sha256=XWru9NHF0jNuhrA79xQY03vJPyRpe2Jth9tyXnsGqL8,3883 -awscli/customizations/s3endpoint.py,sha256=jf_Sz8FWzMqkKIMGsHZtRUoEaSgVa-2Zurv0X6cRmTc,1839 -awscli/customizations/awslambda.py,sha256=jBkq7-XWamdAeVbwWTMkjNe-Llf0GisMVqtNyhaCBIg,5923 -awscli/customizations/removals.py,sha256=yfKW4RqSnb-fLypytPg6c_Lye1cFL9l0HXgSS6Goaaw,2755 -awscli/customizations/assumerole.py,sha256=ybxUWO8ZDsjRFtF80UBFawzmDYLboMKFdq2-I9ti-jM,1669 -awscli/customizations/arguments.py,sha256=EgRCVs9HIbTcbYOn8hhMvKP-wr7tti7aNHr197E1GsE,5126 -awscli/customizations/toplevelbool.py,sha256=0LwcEYoGSQ1V77NVVJEXbwsc8WYt2RJonNiCelRefAQ,5906 -awscli/customizations/addexamples.py,sha256=3m-ADiuNN6HBHXdE42Vukm2tFYLrjAKrZNBVM_SZYoY,1813 -awscli/customizations/mturk.py,sha256=4n0c14Ah9ey11uiuW5n4gMlcMq7PQNuapeGSoOEh2lE,1010 -awscli/customizations/sessendemail.py,sha256=uWgx-f0ILiTGKyjoQcJWx8XoG-BIWUkWNBy-yXvYpTU,4459 -awscli/customizations/waiters.py,sha256=0WQMsPfXhBXyW6_4kDVTD-FbOoTst04gycLLi5m7biI,9737 -awscli/customizations/cloudsearchdomain.py,sha256=_uQctHHxAqSt_d4snYIWS3bEDeordU0jpZLb5xtYjzM,1074 -awscli/customizations/opsworks.py,sha256=OgpQeipF3Z2QRvbeDUcmJgU3jFejqBy7etiwA2SBbls,20138 -awscli/customizations/utils.py,sha256=Pr5pdBx_uttFboDDmA_GcptQ16oP1q5qYx_KO5cOtGw,8462 -awscli/customizations/putmetricdata.py,sha256=q6ZZHa0DPWId9VVK0C4z7kAfkSmJCQ4rJ-_CYhAnDXg,6913 -awscli/customizations/commands.py,sha256=1u3hUVnEu0BSkS-PcHJCSq9Gc-es-DUoqglqqcBA9Aw,17103 -awscli/customizations/streamingoutputarg.py,sha256=ZVog2DzONlgqoGOAtsAJLNUfjOi-QTYHmDFdFLxrrS0,3897 -awscli/customizations/generatecliskeleton.py,sha256=G5j4NRqZxkjgZzWCDyd3W64nQZTBxz7Rd0sZIKMC_M4,5803 -awscli/customizations/sagemaker.py,sha256=mlYPscN-aQgV6L8dRK62QolmY7_iDmtHLe6DyGjayD8,1014 -awscli/customizations/ecr.py,sha256=A3Ef9IIlll5F_lxWt_qKb-7cvJr0FA4mnNmAJX60NCI,3264 -awscli/customizations/s3uploader.py,sha256=nzYcL9R7OxYau3aEFdf2BIIvdN_oRpdpVkZrRKzqHDg,7904 -awscli/customizations/paginate.py,sha256=znJnCzXY7shgtSNPab9VFCO9flekDKxw-se-PqOvFQA,11957 -awscli/customizations/translate.py,sha256=kaUqLyrQGmnPOItK2zYfZDEex0s9YaMpPBRINyJwF8A,2603 -awscli/customizations/s3events.py,sha256=TvMUspwSEFEaUQ5k03uOyt63bpo7jpkQl0gq3wS-YcE,3511 -awscli/customizations/opsworkscm.py,sha256=-NVHq6-tC30nMeQ94cByL-tyd3syg-CDWociI0m7MA8,857 -awscli/customizations/rds.py,sha256=9aC5r9z4iKhvKp38B1EElU4sy4a2T50Orb4C30QwJtc,4217 -awscli/customizations/__init__.py,sha256=enP4McjXiSlxQrYPyUcOvpUtzy5Q2p6o9M6ydJPkbD0,1484 -awscli/customizations/argrename.py,sha256=hZ4Cq47Eo7eZuC08FJNp6XnolqEc8jeeCtOhvjAAFlI,6758 -awscli/customizations/iamvirtmfa.py,sha256=xoQ2the-0D6t6meJkM1FY7A9KTKape2RCV2a3VAljV4,3278 -awscli/customizations/rekognition.py,sha256=Hjuw7Ukf0_Fffh84AJrCXXrbQw1ROubYxN8sCo3MJ1g,3557 -awscli/customizations/codecommit.py,sha256=syjWZRNC8WXImlLmbBGrYccvlVD4nXUJEcFYqPVIY_M,7405 -awscli/customizations/globalargs.py,sha256=MmWBArwFnBRhr7_VdjwHciBAUIqQ0RO0vtM0G3dsGok,4486 -awscli/customizations/ec2/bundleinstance.py,sha256=3tZ5eZsPofSX-r1PwZmSOEwIf-Ji3DZRpiyzzZPVqoM,6746 -awscli/customizations/ec2/secgroupsimplify.py,sha256=um9bYjNn2saDzH5Uc3kjdTEgsqM3kwCL5oR60HhFKCg,8463 -awscli/customizations/ec2/decryptpassword.py,sha256=s9F0lO5TVQFrafpfriLw0J-syE9fpGuvzJtCPfri-AI,4597 -awscli/customizations/ec2/protocolarg.py,sha256=xcpJneFdg1JXXl3Ejp7B0Nl2mpJE4pDnlwZENhLobYw,1400 -awscli/customizations/ec2/runinstances.py,sha256=9icb5zhfDeuHsF7ybVHkqLZgS_Ld_-OFTT1XJwyu0ug,7759 -awscli/customizations/ec2/addcount.py,sha256=4WjyrcTVKdYXgFgslrAZX3V1svAaHpH7zJxlFSvDzYw,2992 -awscli/customizations/ec2/paginate.py,sha256=IX4kdGkT1j5hElfxWPxFBwl9XL-HZmqGy2mkYBOrnxk,2304 -awscli/customizations/ec2/__init__.py,sha256=wnWE_0bn2m84p3EPxwqRBDw2M63Q8PmX4IKHTUxl1e4,565 -awscli/customizations/datapipeline/listrunsformatter.py,sha256=4Gytk-ewHd22TZdc1Qoe19xyYJ1sJK97oo6m_q_9QVg,2131 -awscli/customizations/datapipeline/constants.py,sha256=8drCqQal41RKcW-MqLjFo_t1ta2WU18G76JP23yBefY,1895 -awscli/customizations/datapipeline/createdefaultroles.py,sha256=aTL9qJ1CH9y8OHZSxnQ854euYPb7LyYPa5sxFoSff_8,9544 -awscli/customizations/datapipeline/__init__.py,sha256=hu3AYTp3S3bZ6ygclJaxFNXTwVeu131aR7nXukmQt5g,16948 -awscli/customizations/datapipeline/translator.py,sha256=5RFeT4yKaU5jvSsnodMPgfLgMbn_4Dt4Flk1oc0FiVI,7212 -awscli/customizations/configservice/rename_cmd.py,sha256=RSAwnltldj7HC8Ex4OLcyUeff5JMvLE150m8RO66IXI,924 -awscli/customizations/configservice/subscribe.py,sha256=ZarlgoKHNMcMDjX6lcSNQiKZCPtrxydEgIPDl_o74ww,6996 -awscli/customizations/configservice/putconfigurationrecorder.py,sha256=Y7LrVfv1_R_0CwrDXIidP25I7Jf0qhcdQ7_IkEayRa4,3154 -awscli/customizations/configservice/getstatus.py,sha256=1wBv6nbhANKyDkXA56TdS-XushnsQNVK2fiz_pKcX7c,4258 -awscli/customizations/configservice/__init__.py,sha256=_5TbmyGbXMuErfCQRk40A91pi_Z7qVDO-_4GVyOz41U,565 -awscli/customizations/cloudformation/deployer.py,sha256=YhyO5PIXvoDf2M50_zB5aaCYbdIMsBiXqca80riDB7g,9683 -awscli/customizations/cloudformation/yamlhelper.py,sha256=vj2Wmkosmg2xfRG0xIzl0rAxLXYr4ZwG7A3-zASOl2A,2480 -awscli/customizations/cloudformation/deploy.py,sha256=qNTstt4bhPQ-EvdfTlyshVqvTAyxkjG3bym1bEfRYsw,14386 -awscli/customizations/cloudformation/package.py,sha256=g8WRb0BOOuZNlv5FoDi3bcA6Y4ZxZd6MAzhuFW9THgI,6123 -awscli/customizations/cloudformation/exceptions.py,sha256=a0YnnJHDYaak9a0kA2jBcPYXonwdFzjOfHgqjLmyqa4,1953 -awscli/customizations/cloudformation/artifact_exporter.py,sha256=bp6L-AByulBkPgVEXXx-mjNLobMxsFfhWscGb56j-wQ,18629 -awscli/customizations/cloudformation/__init__.py,sha256=rcZDPPnatHSw8I0ogt3eHOL4HKIW3DbUFKEZdf76TEg,1281 -awscli/customizations/configure/configure.py,sha256=xpNL4ZEhP25GTLvN8bgZxHgdSpLoafxBKUmLmY5u364,5959 -awscli/customizations/configure/get.py,sha256=S3JpzXQ8BKoeVbM7-JoYyPieyLGcwSPDsa7feqktuHQ,4255 -awscli/customizations/configure/set.py,sha256=wVVxGsk9DmgoJVXJPlXVWIBaFdr-uC2gMUrhzGTLGN8,4645 -awscli/customizations/configure/addmodel.py,sha256=4TBElqa-1FGi7hhfYMjBP2atd0ZLRBO6bTWGSbcp9ik,4864 -awscli/customizations/configure/writer.py,sha256=oUgeYML5DnIGIozQ8-bxpgGBxt0F6L9CsOFIs0c8aEo,8858 -awscli/customizations/configure/__init__.py,sha256=7bDoiDWWj7bEfE9VHtk29lCCnotO8OrZ9bXrE2DWNRA,1504 -awscli/customizations/configure/list.py,sha256=zc4EirIlBX4utadRMNSLxuJEBwGSnTz0_5lyxdr2p70,5507 -awscli/customizations/codedeploy/register.py,sha256=xvEm7u_kF3-7zP8pExQI9zQASPpU4h_ZhisKg0FxGJw,7196 -awscli/customizations/codedeploy/uninstall.py,sha256=TwtuDoqBdxK95GGp3UxQa2KqMj7T9aikhAKPxhSqYJs,2202 -awscli/customizations/codedeploy/locationargs.py,sha256=JupUxddF8XDUe0mSs3JiYKp7esCo6RuWGjo5o6N8-vc,5910 -awscli/customizations/codedeploy/systems.py,sha256=DivO1j6wvZiWXSgiJ-trfEvJWH9uPLIAd0nGpo4NlKA,7661 -awscli/customizations/codedeploy/deregister.py,sha256=BBDv1lT5Hp_CUMAy99gGxRWtuzfPxbNen7xd0iq9IX0,6205 -awscli/customizations/codedeploy/codedeploy.py,sha256=lQzSYdJK7Asz1EEspzRTmMVypnIRyOp27kIjHRobMQU,2212 -awscli/customizations/codedeploy/install.py,sha256=LZ9yeZuPolQdJ3CjR7R07Uwh9WOlOX5WgBbdxVAbT4k,4205 -awscli/customizations/codedeploy/push.py,sha256=_TNB8HbTwB91i1Ezr2865bb-ye0ygyvt6SzYElGWP0o,10675 -awscli/customizations/codedeploy/utils.py,sha256=ElrTUfRxOLe_D7x0X4WZykfBybo0lwlt6bXUODFoZkY,4597 -awscli/customizations/codedeploy/__init__.py,sha256=FT9vGCIrGANuGV5vZ8j_0DljBF6ocxqokqBGzPqFCio,565 -awscli/customizations/eks/update_kubeconfig.py,sha256=mOnW_TgcAcu8om8SRwnQv2wucJwvWtiYY85g4VbiciE,12380 -awscli/customizations/eks/ordered_yaml.py,sha256=81AoykbFpC6-k8m_3vyXRb3RM76mVtbzAI4PEPFKd4o,1864 -awscli/customizations/eks/exceptions.py,sha256=5Z3HntwF4htYVLK7oMgyCGSyd6Tou1DQ2Jg7irMkgqo,728 -awscli/customizations/eks/kubeconfig.py,sha256=qwis4ZYTQqIr98AFj4t63YbdRUFjcwvW9QS1oRWnrkQ,9190 -awscli/customizations/eks/__init__.py,sha256=uEXf7tBC5z7DA6ow4zyRBGmEjYQQEsNSUxSNA28knU4,1061 -awscli/customizations/ecs/filehelpers.py,sha256=5SEp-kljB91czCGxgudLkR6PWxv_73KiJqwUAj5KsUw,2126 -awscli/customizations/ecs/deploy.py,sha256=Ymt2HvSwBGVLRyrrSpXIdZnO1vLP92DWf6egYJJGUv4,15265 -awscli/customizations/ecs/exceptions.py,sha256=GnLehf5rBYnMBCeFPQAKnv73AgEBZ4vchb9vkSGT1HA,1500 -awscli/customizations/ecs/__init__.py,sha256=vN2JHs0dGnLLM-tpzbogWUvsZC2o3Nyyci_Mq_OHpwQ,1008 -awscli/customizations/s3/fileinfo.py,sha256=Zxw9urb41Zv3AUpOh1NC1UMxateHqhcEKIx7qdpsB_c,4184 -awscli/customizations/s3/s3handler.py,sha256=-fEyhfh8KxjJzakCG8OQQswYY-2V_yIyTjH2A8ROjiA,23299 -awscli/customizations/s3/filegenerator.py,sha256=IgepzINDhh-OJIssGn6WRkKaoFZlSgYuxV1aLpw3lxo,16072 -awscli/customizations/s3/fileformat.py,sha256=ZA2EYRS-dyYS0YtDAyKnbKneGHFqhID86Y98RnMC_fs,6029 -awscli/customizations/s3/comparator.py,sha256=TSDdTOHpngUZJ8pnzbGCDLp-g51vQKBZCsghJbFdyFw,6204 -awscli/customizations/s3/transferconfig.py,sha256=FAPf7-j-LXWWOQt8wLDSRG4jLgq2qXlWs9NKkTK6pts,4530 -awscli/customizations/s3/results.py,sha256=Dpn3l18s6dkY7EHzwsfxb5Er0w8cCp1YdebvP2bmOaI,26624 -awscli/customizations/s3/subcommands.py,sha256=uG5OugJ9Ox-vA0E7RuAF5BLZAKdaSwlL1z-0KHPeMXI,55253 -awscli/customizations/s3/fileinfobuilder.py,sha256=uv0q8FzKS9H83AGwqj2hgKNWx3LS4N0hNsLvQwgpYWA,3195 -awscli/customizations/s3/s3.py,sha256=40VhoH1R62T-Jsv2TpQ4kD2w46k8yjUbd6pXXcFz1FI,2741 -awscli/customizations/s3/utils.py,sha256=nVdx0adhAFs9WQlSFEY15ved2KYuImn_uC_O2538gNA,27377 -awscli/customizations/s3/filters.py,sha256=ZVW912Y1dL3Xez1q4VHOlZ0NN3be3imr4MCBNpP5s0I,6488 -awscli/customizations/s3/__init__.py,sha256=BFJ0dbdWkUBgJ2qav1Jhz06SddTMIeahxSaW_H0vop0,565 -awscli/customizations/s3/syncstrategy/register.py,sha256=2jsuidA4sxf3v1_9rpmp3tJRa2pGX35zYxzRluAmggs,2001 -awscli/customizations/s3/syncstrategy/sizeonly.py,sha256=UWNZK1Iv_byeNe_wps4ApKQJ7NnRTfgS5f5b27ewYMI,1300 -awscli/customizations/s3/syncstrategy/delete.py,sha256=AiLq0ig5YluVEdaVuMWoLSqJBe2XBVlkpcf87CoYbnc,1232 -awscli/customizations/s3/syncstrategy/__init__.py,sha256=BFJ0dbdWkUBgJ2qav1Jhz06SddTMIeahxSaW_H0vop0,565 -awscli/customizations/s3/syncstrategy/exacttimestamps.py,sha256=Bi_t4pbVfYbxKt4sKe3XJVYSbocfMTgg-HAx903Ts2o,1686 -awscli/customizations/s3/syncstrategy/base.py,sha256=fqAWhyw4mmz3wSx_zZh7CaCq63E1wpO-SOBT0IZTFKw,10112 -awscli/customizations/gamelift/uploadbuild.py,sha256=arEtPuaWw8qdv5NjbgWwqD7yavOkOZvHeByHwAWWhyo,6121 -awscli/customizations/gamelift/getlog.py,sha256=9YIegVUgRrddAmbV9B6pRfeImhZxgDQlI1cwkl8YMIM,2093 -awscli/customizations/gamelift/__init__.py,sha256=ReYcvAyUC5GLjv6Yx-PR3jO3ZsZiqGo9WdueWI-gtuc,1037 -awscli/customizations/cloudtrail/subscribe.py,sha256=LAVkOusmylEug51b5FqiGKJ5ZIXlXQyOQmz9qyPlV4w,13641 -awscli/customizations/cloudtrail/utils.py,sha256=dd-2CmiEbqXatOYOG5W7L-rpuxTatijdMJ-qmASrCwI,1224 -awscli/customizations/cloudtrail/validation.py,sha256=lIZLGgZXPjAiiMKnHcBg9tp4z8dsXeGM-QVbD55y8Bo,37894 -awscli/customizations/cloudtrail/__init__.py,sha256=6IMtaLoCrMMf1LdsmLLp5Q-uLeH_hpyCHIH1o2boYPQ,1337 -awscli/customizations/servicecatalog/helptext.py,sha256=jwtDliDWnv8UeijDKGMEmRvwWpLmEUi02hxvE_ijmek,1945 -awscli/customizations/servicecatalog/exceptions.py,sha256=y224fRHZBgTcx86PGxU0DBA9ntCxEjpiQH_TsqPyZf4,932 -awscli/customizations/servicecatalog/utils.py,sha256=8J4K6z2IVsxiD9Eathl7XvBcIJjo2U7ZVABhvSrKAz8,1173 -awscli/customizations/servicecatalog/generateproduct.py,sha256=k9iKmrZxi3_iD8JmU_FKt0SpqwRIsyxf1AwlymxuTbE,5609 -awscli/customizations/servicecatalog/generate.py,sha256=p_Efa8vtWvvKGQOGt6IZJTWMhfRBTy6sbk0-S3ztrV0,1460 -awscli/customizations/servicecatalog/generatebase.py,sha256=7S4SADhOV_IYOVyVhd8QHWVhpkIey9i8p-wi3uAaSQU,2305 -awscli/customizations/servicecatalog/__init__.py,sha256=y0BZXUIC-qc7rSrbfxH-drO5_kEwBzs6F3T10IQHhjA,928 -awscli/customizations/servicecatalog/generateprovisioningartifact.py,sha256=hgkvZ8ktGW9hoFQuR58MQKo-dWNOiKgDBIfShE8pFtw,3367 -awscli/customizations/emr/addtags.py,sha256=IDWlPXXWdoVEVek7V-0SlZmOhJWxm-5HPCPmmUGHcPI,1089 -awscli/customizations/emr/instancegroupsutils.py,sha256=-HBXYVdycBq59jHmnkXh1RA0YAoPL84bgtHJHy0k8gA,3444 -awscli/customizations/emr/constants.py,sha256=_qK4OLcIHvf7CCzFSOfsgyZXsdB_iPNkAN_H_iRMsHI,6625 -awscli/customizations/emr/command.py,sha256=pHxKJZR0FgGDopdmaxqpA1cZo1QogawHOxuu77vAV4U,5442 -awscli/customizations/emr/installapplications.py,sha256=J6ff1k-KGX7pxLzrBhBdsfi_XU0D1bO_MUK8PzoCWOM,2879 -awscli/customizations/emr/applicationutils.py,sha256=-SQQSlS4P8U4LjSKL9Bc6K7JD3pOMUaO2ADisgcEHko,6550 -awscli/customizations/emr/instancefleetsutils.py,sha256=ztdKnI8uyLY3RAeOvp-fyfdxMLPvUE6OfHgsMveAfEU,2479 -awscli/customizations/emr/listclusters.py,sha256=8PNPyA5181P9QCRZhGoTB3zFbzENCj30dryrCa2dH90,3775 -awscli/customizations/emr/addinstancegroups.py,sha256=4nMqT8Q8Z3stkPVkhUcfAyfx5dDs73_dNGwAO2KmUPI,2505 -awscli/customizations/emr/configutils.py,sha256=I7Hs_JFcrLUcXwVs4gHynaIZIk_oxBA7ADEYwkGAi60,2554 -awscli/customizations/emr/argumentschema.py,sha256=-W17BoHZNRuLhcLVG5_E8l49KNNTFlyNsp6MaGdFiI8,30405 -awscli/customizations/emr/emrfsutils.py,sha256=XyadeF_fVtW3IzgljHUGTGmrYPpAG2ytijzn7gC0JKI,9106 -awscli/customizations/emr/terminateclusters.py,sha256=O_-bz3kGpAa66FHhpI7IXTQ053iUrGVW1QBxC16MErU,1382 -awscli/customizations/emr/helptext.py,sha256=0b5XmvgzKVYQ0EoEFBQjRSHWy2FmEgCiT9OlXDB5G4Q,24802 -awscli/customizations/emr/hbaseutils.py,sha256=O-Dli_PHqv9_9JoKW-xKLcPN7h8y9-xdFsy51lS7gsg,953 -awscli/customizations/emr/exceptions.py,sha256=eQWaK2u2wc1-1TTvI3aeqZH0UTh0vDhv__XtGqMMB1c,10087 -awscli/customizations/emr/emrutils.py,sha256=16slwiIWWEQbAjNlhKrJv1XUuOGitkdH4C9kYMoj6EQ,8301 -awscli/customizations/emr/createcluster.py,sha256=Va0O-YGVuEbuSp3yxA9IoH_gPbxYYF4nLf5JPrdDnnY,24137 -awscli/customizations/emr/createdefaultroles.py,sha256=V2-vXRSkEHJ6TRghdWhJ6vJCXoxdJ8jgJQTk2FpKvnA,13281 -awscli/customizations/emr/modifyclusterattributes.py,sha256=CKcL1iqJPE0kEMGrUCoJMC74oxHwf-NjYDgUaTuE0F8,3639 -awscli/customizations/emr/describecluster.py,sha256=TX4evVKFrXuoAIdNebTncD5N8mtGwmUJ1jIFMt5CgvQ,4728 -awscli/customizations/emr/sshutils.py,sha256=3P3C_vWaMytJFeQwde2ViF2Ixz_r_n5PoNL3YDI11u4,3354 -awscli/customizations/emr/config.py,sha256=0MEd3p302iy3Iw6YTVARRwfflYHoXyV6BSlZbG0kCHg,4761 -awscli/customizations/emr/steputils.py,sha256=_GacW3TwlB5-TXJ_GlFhC6CR-5ndRCjxsWJutOB12dw,8482 -awscli/customizations/emr/hbase.py,sha256=ubr1r5CQiYGVDbv6CuV4ZKGOzuz7GDTG5WTD_u87K8M,9454 -awscli/customizations/emr/emr.py,sha256=6O8CzyB4NVFzeql4mARxQODgdbNOWlsXf874KPhO6EI,3257 -awscli/customizations/emr/__init__.py,sha256=_5TbmyGbXMuErfCQRk40A91pi_Z7qVDO-_4GVyOz41U,565 -awscli/customizations/emr/ssh.py,sha256=Guuh7aQcj3AA3-tNA1OGn4UQPr2Rj1uhiOMX1LCEU_o,7731 -awscli/customizations/emr/addsteps.py,sha256=tlz3GKFgcowvjueK3lXPnV2RksuxA-wSipw2_Ie5KQM,1947 -awscli/customizations/dlm/constants.py,sha256=tykCu9qtlN_Wd-592Y2RRaL6CCcE_F7i3UiEAjnrv3w,1199 -awscli/customizations/dlm/createdefaultrole.py,sha256=svz1KGwtgAyccSSj4AzgzmYpOcuIy0I8g5UfTSfHG28,5682 -awscli/customizations/dlm/dlm.py,sha256=NVAQOcoR8KSnCgCEX2D_mhSySMAIf32D6jeCJJCGbHo,1162 -awscli/customizations/dlm/iam.py,sha256=2EoD1tW_zN0BtGIM1sR--4bFq2TvbvDNu3dr3dWLBUg,1798 -awscli/customizations/dlm/__init__.py,sha256=fnY7NAZEHH-yfDk91prFN_0LTxutzUJQGf4L7Evm7Z0,565 -awscli/customizations/history/constants.py,sha256=tQvNo0q1VtMKrYsbNqJZ9GM6VWi1KnmQz_rUvOJwXdA,737 -awscli/customizations/history/db.py,sha256=v0LMV7Hnulh-eE5_4y9VB8zRtoOSjMKTbQ-wbNuYC1k,9246 -awscli/customizations/history/commands.py,sha256=sGjvLLCONdq92Kz8KI5jsodTUKIz8FoZ1SJkX0diT3k,2541 -awscli/customizations/history/filters.py,sha256=jKXspaeZ1NamcBQ11RaH7Pz6HMCdzkLCMKkxtaiwz-E,482 -awscli/customizations/history/__init__.py,sha256=XlHU1OXYU6TmUhmomxRYDajWd5y7Zwy-CFFcNxtiQ84,4120 -awscli/customizations/history/list.py,sha256=VEqrF1OdSRQTpWTxhOexH4X1H3K8AmeeCIQT8cW21MQ,4161 -awscli/customizations/history/show.py,sha256=F67pmJ69OXmedwpZQJZ9wbPBNewzBjYk1hkX6QFeDWU,15435 -awscli/data/cli.json,sha256=OdA8mqREAoK12VhlyX7Q8I-aYTrC0191nEJo-moqyj8,2975 -awscli/topics/topic-tags.json,sha256=6lUSrs3FKCZNRSQMnjcXNgWyRNGjZIeur1988a4IO5o,1577 -awscli/topics/s3-faq.rst,sha256=XoNcRfAg6eV2NdI-yWlmFaYuUNz987TK2UGlSISjjAo,2564 -awscli/topics/config-vars.rst,sha256=kl5Bvot1RSIH8-27fNiaXSK8TiE4Z6pTst_lzsFMn1s,16822 -awscli/topics/s3-config.rst,sha256=mJHaMkWgp38M4k6NZWYBhNGoNVpj88akqoeehgS4AuQ,11198 -awscli/topics/return-codes.rst,sha256=EYlgBSi4ZKjYE2UHOWOCvDRIt38OzPYFYDeCg5cHntw,1966 -awscli-1.16.71.dist-info/WHEEL,sha256=AvR0WeTpDaxT645bl5FQxUK6NPsTls2ttpcGJg3j1Xg,110 -awscli-1.16.71.dist-info/DESCRIPTION.rst,sha256=0NMiKNVjuDJA8EGtzTw2kcBSoZ2dumBhnYAzjkiPINA,17792 -awscli-1.16.71.dist-info/metadata.json,sha256=saDEhqn7EiydCgGl26H4tX1eGG4yaZecMV-Xv34G2ps,1298 -awscli-1.16.71.dist-info/METADATA,sha256=_9EZKaRXABhZpyAcQFGj6xlU6JHlzPrQquiD2m5SIig,19043 -awscli-1.16.71.dist-info/RECORD,, -awscli-1.16.71.dist-info/top_level.txt,sha256=vt9wXFr1_nGYK6abhJgt6zY3fULe4JSZedm_5XOM9S0,7 -../../bin/aws,sha256=r24FExgs0-JjILTQ3XZAqXBYE4SV6UMTtALkLGAj86g,805 -../../bin/aws.cmd,sha256=s46DkC6LNgX63CIkzxxbPnFMJ6DRDBkvc88GnWa8Pvg,1432 -../../bin/aws_zsh_completer.sh,sha256=wBScDPC1YoyF0WAGbix-8y1PXx_7csINXvASDbTk96U,1807 -../../bin/aws_bash_completer,sha256=RRpoEGJRagRzyHZKZZOwpltuVYv2EoiZsdXhmyWPZ54,204 -../../bin/aws_completer,sha256=oC9kuMDlWE47dWk_4xjPde2PQvN-M0vND0J4YSLabVQ,1126 -awscli-1.16.71.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -awscli/customizations/s3/filters.pyc,, -awscli/customizations/s3/syncstrategy/sizeonly.pyc,, -awscli/customizations/emr/config.pyc,, -awscli/customizations/emr/terminateclusters.pyc,, -awscli/customizations/waiters.pyc,, -awscli/customizations/configservice/rename_cmd.pyc,, -awscli/customizations/s3/syncstrategy/base.pyc,, -awscli/customizations/rekognition.pyc,, -awscli/customizations/s3/subcommands.pyc,, -awscli/customizations/emr/createcluster.pyc,, -awscli/__main__.pyc,, -awscli/customizations/ec2/paginate.pyc,, -awscli/customizations/streamingoutputarg.pyc,, -awscli/argparser.pyc,, -awscli/table.pyc,, -awscli/customizations/ec2/secgroupsimplify.pyc,, -awscli/customizations/configservice/subscribe.pyc,, -awscli/text.pyc,, -awscli/customizations/commands.pyc,, -awscli/customizations/emr/instancegroupsutils.pyc,, -awscli/customizations/codedeploy/install.pyc,, -awscli/customizations/datapipeline/createdefaultroles.pyc,, -awscli/schema.pyc,, -awscli/customizations/putmetricdata.pyc,, -awscli/customizations/datapipeline/translator.pyc,, -awscli/customizations/configservice/__init__.pyc,, -awscli/customizations/emr/command.pyc,, -awscli/customizations/gamelift/uploadbuild.pyc,, -awscli/customizations/gamelift/__init__.pyc,, -awscli/compat.pyc,, -awscli/customizations/servicecatalog/generateprovisioningartifact.pyc,, -awscli/customizations/dlm/constants.pyc,, -awscli/customizations/s3uploader.pyc,, -awscli/customizations/s3/syncstrategy/delete.pyc,, -awscli/customizations/dlm/dlm.pyc,, -awscli/customizations/cloudformation/deploy.pyc,, -awscli/customizations/assumerole.pyc,, -awscli/customizations/codedeploy/deregister.pyc,, -awscli/customizations/codedeploy/push.pyc,, -awscli/customizations/globalargs.pyc,, -awscli/customizations/cliinputjson.pyc,, -awscli/customizations/emr/instancefleetsutils.pyc,, -awscli/customizations/s3/comparator.pyc,, -awscli/customizations/s3/fileinfo.pyc,, -awscli/customizations/emr/addinstancegroups.pyc,, -awscli/customizations/opsworkscm.pyc,, -awscli/plugin.pyc,, -awscli/__init__.pyc,, -awscli/customizations/codedeploy/register.pyc,, -awscli/customizations/emr/describecluster.pyc,, -awscli/topictags.pyc,, -awscli/customizations/generatecliskeleton.pyc,, -awscli/customizations/servicecatalog/utils.pyc,, -awscli/customizations/ecs/exceptions.pyc,, -awscli/customizations/eks/update_kubeconfig.pyc,, -awscli/formatter.pyc,, -awscli/customizations/configure/set.pyc,, -awscli/customizations/codecommit.pyc,, -awscli/customizations/s3/syncstrategy/__init__.pyc,, -awscli/customizations/emr/constants.pyc,, -awscli/customizations/awslambda.pyc,, -awscli/customizations/emr/configutils.pyc,, -awscli/customizations/s3/utils.pyc,, -awscli/customizations/emr/sshutils.pyc,, -awscli/customizations/s3/results.pyc,, -awscli/customizations/emr/exceptions.pyc,, -awscli/customizations/s3events.pyc,, -awscli/customizations/emr/addtags.pyc,, -awscli/customizations/eks/kubeconfig.pyc,, -awscli/customizations/ec2/addcount.pyc,, -awscli/customizations/cloudformation/deployer.pyc,, -awscli/customizations/cloudtrail/validation.pyc,, -awscli/customizations/translate.pyc,, -awscli/customizations/ec2/protocolarg.pyc,, -awscli/customizations/codedeploy/systems.pyc,, -awscli/customizations/emr/modifyclusterattributes.pyc,, -awscli/customizations/s3errormsg.pyc,, -awscli/customizations/s3endpoint.pyc,, -awscli/customizations/emr/listclusters.pyc,, -awscli/customizations/paginate.pyc,, -awscli/customizations/sessionmanager.pyc,, -awscli/customizations/ecs/__init__.pyc,, -awscli/customizations/opsworks.pyc,, -awscli/customizations/servicecatalog/generatebase.pyc,, -awscli/customizations/__init__.pyc,, -awscli/completer.pyc,, -awscli/customizations/datapipeline/listrunsformatter.pyc,, -awscli/customizations/emr/createdefaultroles.pyc,, -awscli/customizations/history/db.pyc,, -awscli/customizations/eks/ordered_yaml.pyc,, -awscli/customizations/servicecatalog/exceptions.pyc,, -awscli/customizations/s3/fileinfobuilder.pyc,, -awscli/customizations/dlm/iam.pyc,, -awscli/customizations/emr/emrutils.pyc,, -awscli/customizations/iot_data.pyc,, -awscli/customizations/emr/__init__.pyc,, -awscli/customizations/emr/addsteps.pyc,, -awscli/customizations/emr/ssh.pyc,, -awscli/customizations/configservice/getstatus.pyc,, -awscli/customizations/history/show.pyc,, -awscli/customizations/configure/get.pyc,, -awscli/customizations/s3/fileformat.pyc,, -awscli/customizations/cloudtrail/utils.pyc,, -awscli/customizations/sessendemail.pyc,, -awscli/customizations/removals.pyc,, -awscli/customizations/argrename.pyc,, -awscli/customizations/rds.pyc,, -awscli/customizations/datapipeline/__init__.pyc,, -awscli/customizations/history/filters.pyc,, -awscli/shorthand.pyc,, -awscli/customizations/ec2/runinstances.pyc,, -awscli/customizations/servicecatalog/helptext.pyc,, -awscli/customizations/configure/addmodel.pyc,, -awscli/customizations/scalarparse.pyc,, -awscli/customizations/history/__init__.pyc,, -awscli/customizations/sagemaker.pyc,, -awscli/handlers.pyc,, -awscli/customizations/cloudformation/exceptions.pyc,, -awscli/customizations/history/constants.pyc,, -awscli/customizations/history/commands.pyc,, -awscli/customizations/s3/s3handler.pyc,, -awscli/alias.pyc,, -awscli/customizations/ec2/__init__.pyc,, -awscli/customizations/cloudsearch.pyc,, -awscli/customizations/s3/s3.pyc,, -awscli/errorhandler.pyc,, -awscli/testutils.pyc,, -awscli/customizations/codedeploy/uninstall.pyc,, -awscli/customizations/cloudformation/__init__.pyc,, -awscli/clidocs.pyc,, -awscli/customizations/s3/syncstrategy/register.pyc,, -awscli/customizations/iot.pyc,, -awscli/customizations/configure/configure.pyc,, -awscli/customizations/ec2/decryptpassword.pyc,, -awscli/customizations/codedeploy/codedeploy.pyc,, -awscli/customizations/s3/syncstrategy/exacttimestamps.pyc,, -awscli/customizations/s3/__init__.pyc,, -awscli/customizations/codedeploy/locationargs.pyc,, -awscli/customizations/servicecatalog/__init__.pyc,, -awscli/customizations/emr/helptext.pyc,, -awscli/customizations/ecr.pyc,, -awscli/customizations/configure/__init__.pyc,, -awscli/customizations/cloudformation/package.pyc,, -awscli/customizations/addexamples.pyc,, -awscli/customizations/servicecatalog/generateproduct.pyc,, -awscli/commands.pyc,, -awscli/customizations/dlm/createdefaultrole.pyc,, -awscli/argprocess.pyc,, -awscli/customizations/emr/hbaseutils.pyc,, -awscli/customizations/s3/transferconfig.pyc,, -awscli/customizations/cloudfront.pyc,, -awscli/customizations/cloudtrail/__init__.pyc,, -awscli/customizations/cloudsearchdomain.pyc,, -awscli/customizations/gamelift/getlog.pyc,, -awscli/customizations/utils.pyc,, -awscli/arguments.pyc,, -awscli/customizations/eks/__init__.pyc,, -awscli/customizations/servicecatalog/generate.pyc,, -awscli/customizations/configure/writer.pyc,, -awscli/customizations/toplevelbool.pyc,, -awscli/customizations/emr/installapplications.pyc,, -awscli/customizations/flatten.pyc,, -awscli/customizations/s3/filegenerator.pyc,, -awscli/paramfile.pyc,, -awscli/customizations/route53.pyc,, -awscli/utils.pyc,, -awscli/customizations/configservice/putconfigurationrecorder.pyc,, -awscli/customizations/emr/hbase.pyc,, -awscli/customizations/emr/applicationutils.pyc,, -awscli/customizations/kms.pyc,, -awscli/customizations/emr/emrfsutils.pyc,, -awscli/clidriver.pyc,, -awscli/customizations/arguments.pyc,, -awscli/customizations/eks/exceptions.pyc,, -awscli/customizations/iamvirtmfa.pyc,, -awscli/customizations/cloudtrail/subscribe.pyc,, -awscli/customizations/history/list.pyc,, -awscli/customizations/ecs/deploy.pyc,, -awscli/customizations/preview.pyc,, -awscli/help.pyc,, -awscli/customizations/configure/list.pyc,, -awscli/customizations/codedeploy/__init__.pyc,, -awscli/customizations/ec2/bundleinstance.pyc,, -awscli/customizations/datapipeline/constants.pyc,, -awscli/customizations/emr/emr.pyc,, -awscli/customizations/dlm/__init__.pyc,, -awscli/customizations/emr/argumentschema.pyc,, -awscli/customizations/cloudformation/artifact_exporter.pyc,, -awscli/customizations/codedeploy/utils.pyc,, -awscli/customizations/mturk.pyc,, -awscli/customizations/emr/steputils.pyc,, -awscli/customizations/cloudformation/yamlhelper.pyc,, -awscli/customizations/ecs/filehelpers.pyc,, diff --git a/bin/awscli-1.16.71.dist-info/WHEEL b/bin/awscli-1.16.71.dist-info/WHEEL deleted file mode 100644 index 9dff69d8..00000000 --- a/bin/awscli-1.16.71.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.24.0) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/bin/awscli-1.16.71.dist-info/metadata.json b/bin/awscli-1.16.71.dist-info/metadata.json deleted file mode 100644 index 570542c0..00000000 --- a/bin/awscli-1.16.71.dist-info/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"license": "Apache License 2.0", "name": "awscli", "metadata_version": "2.0", "generator": "bdist_wheel (0.24.0)", "summary": "Universal Command Line Environment for AWS.", "run_requires": [{"environment": "python_version==\"2.6\"", "requires": ["argparse>=1.1"]}, {"requires": ["botocore==1.12.61", "colorama>=0.2.5,<=0.3.9", "docutils>=0.10", "rsa>=3.1.2,<=3.5.0", "PyYAML>=3.10,<=3.13", "s3transfer>=0.1.12,<0.2.0"]}], "version": "1.16.71", "extensions": {"python.details": {"project_urls": {"Home": "http://aws.amazon.com/cli/"}, "document_names": {"description": "DESCRIPTION.rst"}, "contacts": [{"role": "author", "name": "Amazon Web Services"}]}}, "classifiers": ["Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Natural Language :: English", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7"], "extras": []} \ No newline at end of file diff --git a/bin/awscli-1.16.71.dist-info/top_level.txt b/bin/awscli-1.16.71.dist-info/top_level.txt deleted file mode 100644 index 88294b13..00000000 --- a/bin/awscli-1.16.71.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -awscli diff --git a/bin/awscli/__init__.py b/bin/awscli/__init__.py index 58ec32d9..532ddb01 100644 --- a/bin/awscli/__init__.py +++ b/bin/awscli/__init__.py @@ -17,7 +17,7 @@ """ import os -__version__ = '1.16.71' +__version__ = '1.16.181' # # Get our data path to be added to botocore's search path diff --git a/bin/awscli/__init__.pyc b/bin/awscli/__init__.pyc deleted file mode 100644 index 077946de..00000000 Binary files a/bin/awscli/__init__.pyc and /dev/null differ diff --git a/bin/awscli/__main__.py b/bin/awscli/__main__.py index 330dcfdc..73a6388b 100644 --- a/bin/awscli/__main__.py +++ b/bin/awscli/__main__.py @@ -11,6 +11,18 @@ # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. +# Don't remove this line. The idna encoding +# is used by getaddrinfo when dealing with unicode hostnames, +# and in some cases, there appears to be a race condition +# where threads will get a LookupError on getaddrinfo() saying +# that the encoding doesn't exist. Using the idna encoding before +# running any CLI code (and any threads it may create) ensures that +# the encodings.idna is imported and registered in the codecs registry, +# which will stop the LookupErrors from happening. +# See: https://bugs.python.org/issue29288 +u''.encode('idna') + + import sys from awscli.clidriver import main diff --git a/bin/awscli/__main__.pyc b/bin/awscli/__main__.pyc deleted file mode 100644 index 89f303f2..00000000 Binary files a/bin/awscli/__main__.pyc and /dev/null differ diff --git a/bin/awscli/alias.pyc b/bin/awscli/alias.pyc deleted file mode 100644 index d9c5f75d..00000000 Binary files a/bin/awscli/alias.pyc and /dev/null differ diff --git a/bin/awscli/argparser.pyc b/bin/awscli/argparser.pyc deleted file mode 100644 index 3aedba96..00000000 Binary files a/bin/awscli/argparser.pyc and /dev/null differ diff --git a/bin/awscli/argprocess.py b/bin/awscli/argprocess.py index 81816c69..75e99ad7 100644 --- a/bin/awscli/argprocess.py +++ b/bin/awscli/argprocess.py @@ -453,6 +453,10 @@ def _handle_special_cases(self, cli_argument, service_id, operation_name): self._uses_old_list_case( service_id, operation_name, cli_argument.name): member_name = list(model.member.members)[0] + # Handle special case where the min/max is exactly one. + metadata = model.metadata + if metadata.get('min') == 1 and metadata.get('max') == 1: + return '%s %s1' % (cli_argument.cli_name, member_name) return '%s %s1 %s2 %s3' % (cli_argument.cli_name, member_name, member_name, member_name) elif model.type_name == 'structure' and \ diff --git a/bin/awscli/argprocess.pyc b/bin/awscli/argprocess.pyc deleted file mode 100644 index ea928f8c..00000000 Binary files a/bin/awscli/argprocess.pyc and /dev/null differ diff --git a/bin/awscli/arguments.pyc b/bin/awscli/arguments.pyc deleted file mode 100644 index d5af4f5c..00000000 Binary files a/bin/awscli/arguments.pyc and /dev/null differ diff --git a/bin/awscli/clidocs.pyc b/bin/awscli/clidocs.pyc deleted file mode 100644 index e9c59f0a..00000000 Binary files a/bin/awscli/clidocs.pyc and /dev/null differ diff --git a/bin/awscli/clidriver.pyc b/bin/awscli/clidriver.pyc deleted file mode 100644 index 3aa49a13..00000000 Binary files a/bin/awscli/clidriver.pyc and /dev/null differ diff --git a/bin/awscli/commands.pyc b/bin/awscli/commands.pyc deleted file mode 100644 index f0af9045..00000000 Binary files a/bin/awscli/commands.pyc and /dev/null differ diff --git a/bin/awscli/compat.py b/bin/awscli/compat.py index 9817d960..66dc6c38 100644 --- a/bin/awscli/compat.py +++ b/bin/awscli/compat.py @@ -22,6 +22,8 @@ from botocore.compat import six #import botocore.compat +from botocore.compat import OrderedDict + # If you ever want to import from the vendored six. Add it here and then # import from awscli.compat. Also try to keep it in alphabetical order. # This may get large. @@ -97,6 +99,7 @@ def ensure_text_type(s): if six.PY3: + import collections.abc as collections_abc import locale import urllib.parse as urlparse @@ -146,6 +149,7 @@ def bytes_print(statement, stdout=None): else: import codecs + import collections as collections_abc import locale import io import urlparse @@ -339,71 +343,4 @@ def ignore_user_entered_signals(): yield finally: for sig, user_signal in enumerate(signal_list): - signal.signal(user_signal, actual_signals[sig]) - - -def _backport_which(cmd, mode=os.F_OK | os.X_OK, path=None): - """Given a command, mode, and a PATH string, return the path which - conforms to the given mode on the PATH, or None if there is no such - file. - `mode` defaults to os.F_OK | os.X_OK. `path` defaults to the result - of os.environ.get("PATH"), or can be overridden with a custom search - path. - """ - # Check that a given file can be accessed with the correct mode. - # Additionally check that `file` is not a directory, as on Windows - # directories pass the os.access check. - def _access_check(fn, mode): - return (os.path.exists(fn) and os.access(fn, mode) - and not os.path.isdir(fn)) - - # If we're given a path with a directory part, look it up directly rather - # than referring to PATH directories. This includes checking relative to the - # current directory, e.g. ./script - if os.path.dirname(cmd): - if _access_check(cmd, mode): - return cmd - return None - - if path is None: - path = os.environ.get("PATH", os.defpath) - if not path: - return None - path = path.split(os.pathsep) - - if sys.platform == "win32": - # The current directory takes precedence on Windows. - if not os.curdir in path: - path.insert(0, os.curdir) - - # PATHEXT is necessary to check on Windows. - pathext = os.environ.get("PATHEXT", "").split(os.pathsep) - # See if the given file matches any of the expected path extensions. - # This will allow us to short circuit when given "python.exe". - # If it does match, only test that one, otherwise we have to try - # others. - if any(cmd.lower().endswith(ext.lower()) for ext in pathext): - files = [cmd] - else: - files = [cmd + ext for ext in pathext] - else: - # On other platforms you don't have things like PATHEXT to tell you - # what file suffixes are executable, so just pass on cmd as-is. - files = [cmd] - - seen = set() - for dir in path: - normdir = os.path.normcase(dir) - if not normdir in seen: - seen.add(normdir) - for thefile in files: - name = os.path.join(dir, thefile) - if _access_check(name, mode): - return name - return None - - -try: - from shutil import which -except ImportError: - which = _backport_which + signal.signal(user_signal, actual_signals[sig]) \ No newline at end of file diff --git a/bin/awscli/compat.pyc b/bin/awscli/compat.pyc deleted file mode 100644 index bc4e19ca..00000000 Binary files a/bin/awscli/compat.pyc and /dev/null differ diff --git a/bin/awscli/completer.pyc b/bin/awscli/completer.pyc deleted file mode 100644 index 27c0d843..00000000 Binary files a/bin/awscli/completer.pyc and /dev/null differ diff --git a/bin/awscli/customizations/__init__.pyc b/bin/awscli/customizations/__init__.pyc deleted file mode 100644 index eaa6647c..00000000 Binary files a/bin/awscli/customizations/__init__.pyc and /dev/null differ diff --git a/bin/awscli/customizations/addexamples.pyc b/bin/awscli/customizations/addexamples.pyc deleted file mode 100644 index 6f991752..00000000 Binary files a/bin/awscli/customizations/addexamples.pyc and /dev/null differ diff --git a/bin/awscli/customizations/argrename.py b/bin/awscli/customizations/argrename.py index f6634de4..4ed965ca 100644 --- a/bin/awscli/customizations/argrename.py +++ b/bin/awscli/customizations/argrename.py @@ -49,9 +49,13 @@ 'route53.update-traffic-policy-comment.version': 'traffic-policy-version', 'gamelift.create-build.version': 'build-version', 'gamelift.update-build.version': 'build-version', + 'gamelift.create-script.version': 'script-version', + 'gamelift.update-script.version': 'script-version', 'route53domains.view-billing.start': 'start-time', 'route53domains.view-billing.end': 'end-time', 'apigateway.create-rest-api.version': 'api-version', + 'apigatewayv2.create-api.version': 'api-version', + 'apigatewayv2.update-api.version': 'api-version', 'pinpoint.get-campaign-version.version': 'campaign-version', 'pinpoint.get-segment-version.version': 'segment-version', 'stepfunctions.send-task-success.output': 'task-output', @@ -72,6 +76,7 @@ 'mobile.create-project.region': 'project-region', 'rekognition.create-stream-processor.output': 'stream-processor-output', 'eks.create-cluster.version': 'kubernetes-version', + 'eks.update-cluster-version.version': 'kubernetes-version', } # Same format as ARGUMENT_RENAMES, but instead of renaming the arguments, diff --git a/bin/awscli/customizations/argrename.pyc b/bin/awscli/customizations/argrename.pyc deleted file mode 100644 index 1fee2d4d..00000000 Binary files a/bin/awscli/customizations/argrename.pyc and /dev/null differ diff --git a/bin/awscli/customizations/arguments.pyc b/bin/awscli/customizations/arguments.pyc deleted file mode 100644 index eaf31e45..00000000 Binary files a/bin/awscli/customizations/arguments.pyc and /dev/null differ diff --git a/bin/awscli/customizations/assumerole.pyc b/bin/awscli/customizations/assumerole.pyc deleted file mode 100644 index 0d6dcf3d..00000000 Binary files a/bin/awscli/customizations/assumerole.pyc and /dev/null differ diff --git a/bin/awscli/customizations/awslambda.pyc b/bin/awscli/customizations/awslambda.pyc deleted file mode 100644 index 2a4ee7dd..00000000 Binary files a/bin/awscli/customizations/awslambda.pyc and /dev/null differ diff --git a/bin/awscli/customizations/cliinputjson.pyc b/bin/awscli/customizations/cliinputjson.pyc deleted file mode 100644 index f29a72ff..00000000 Binary files a/bin/awscli/customizations/cliinputjson.pyc and /dev/null differ diff --git a/bin/awscli/customizations/cloudformation/__init__.pyc b/bin/awscli/customizations/cloudformation/__init__.pyc deleted file mode 100644 index 4129a4f9..00000000 Binary files a/bin/awscli/customizations/cloudformation/__init__.pyc and /dev/null differ diff --git a/bin/awscli/customizations/cloudformation/artifact_exporter.py b/bin/awscli/customizations/cloudformation/artifact_exporter.py index 8f097613..936cad5f 100644 --- a/bin/awscli/customizations/cloudformation/artifact_exporter.py +++ b/bin/awscli/customizations/cloudformation/artifact_exporter.py @@ -19,12 +19,15 @@ import uuid import shutil from awscli.compat import six +from botocore.utils import set_value_from_jmespath from awscli.compat import urlparse from contextlib import contextmanager from awscli.customizations.cloudformation import exceptions from awscli.customizations.cloudformation.yamlhelper import yaml_dump, \ yaml_parse +import jmespath + LOG = logging.getLogger(__name__) @@ -120,7 +123,7 @@ def upload_local_artifacts(resource_id, resource_dict, property_name, :raise: ValueError if path is not a S3 URL or a local path """ - local_path = resource_dict.get(property_name, None) + local_path = jmespath.search(property_name, resource_dict) if local_path is None: # Build the root directory and upload to S3 @@ -183,7 +186,7 @@ def make_zip(filename, source_root): with open(zipfile_name, 'wb') as f: zip_file = zipfile.ZipFile(f, 'w', zipfile.ZIP_DEFLATED) with contextlib.closing(zip_file) as zf: - for root, dirs, files in os.walk(source_root): + for root, dirs, files in os.walk(source_root, followlinks=True): for filename in files: full_path = os.path.join(root, filename) relative_path = os.path.relpath( @@ -232,7 +235,7 @@ def export(self, resource_id, resource_dict, parent_dir): if resource_dict is None: return - property_value = resource_dict.get(self.PROPERTY_NAME, None) + property_value = jmespath.search(self.PROPERTY_NAME, resource_dict) if not property_value and not self.PACKAGE_NULL_PROPERTY: return @@ -248,7 +251,7 @@ def export(self, resource_id, resource_dict, parent_dir): if is_local_file(property_value) and not \ is_zip_file(property_value) and self.FORCE_ZIP: temp_dir = copy_to_temp_dir(property_value) - resource_dict[self.PROPERTY_NAME] = temp_dir + set_value_from_jmespath(resource_dict, self.PROPERTY_NAME, temp_dir) try: self.do_export(resource_id, resource_dict, parent_dir) @@ -269,10 +272,10 @@ def do_export(self, resource_id, resource_dict, parent_dir): Default export action is to upload artifacts and set the property to S3 URL of the uploaded object """ - resource_dict[self.PROPERTY_NAME] = \ - upload_local_artifacts(resource_id, resource_dict, + uploaded_url = upload_local_artifacts(resource_id, resource_dict, self.PROPERTY_NAME, parent_dir, self.uploader) + set_value_from_jmespath(resource_dict, self.PROPERTY_NAME, uploaded_url) class ResourceWithS3UrlDict(Resource): @@ -299,11 +302,12 @@ def do_export(self, resource_id, resource_dict, parent_dir): self.PROPERTY_NAME, parent_dir, self.uploader) - resource_dict[self.PROPERTY_NAME] = parse_s3_url( + parsed_url = parse_s3_url( artifact_s3_url, bucket_name_property=self.BUCKET_NAME_PROPERTY, object_key_property=self.OBJECT_KEY_PROPERTY, version_property=self.VERSION_PROPERTY) + set_value_from_jmespath(resource_dict, self.PROPERTY_NAME, parsed_url) class ServerlessFunctionResource(Resource): @@ -344,6 +348,22 @@ class AppSyncResolverResponseTemplateResource(Resource): PACKAGE_NULL_PROPERTY = False +class AppSyncFunctionConfigurationRequestTemplateResource(Resource): + RESOURCE_TYPE = "AWS::AppSync::FunctionConfiguration" + PROPERTY_NAME = "RequestMappingTemplateS3Location" + # Don't package the directory if RequestMappingTemplateS3Location is omitted. + # Necessary to support RequestMappingTemplate + PACKAGE_NULL_PROPERTY = False + + +class AppSyncFunctionConfigurationResponseTemplateResource(Resource): + RESOURCE_TYPE = "AWS::AppSync::FunctionConfiguration" + PROPERTY_NAME = "ResponseMappingTemplateS3Location" + # Don't package the directory if ResponseMappingTemplateS3Location is omitted. + # Necessary to support ResponseMappingTemplate + PACKAGE_NULL_PROPERTY = False + + class LambdaFunctionResource(ResourceWithS3UrlDict): RESOURCE_TYPE = "AWS::Lambda::Function" PROPERTY_NAME = "Code" @@ -385,6 +405,18 @@ class ServerlessLayerVersionResource(Resource): FORCE_ZIP = True +class ServerlessRepoApplicationReadme(Resource): + RESOURCE_TYPE = "AWS::ServerlessRepo::Application" + PROPERTY_NAME = "ReadmeUrl" + PACKAGE_NULL_PROPERTY = False + + +class ServerlessRepoApplicationLicense(Resource): + RESOURCE_TYPE = "AWS::ServerlessRepo::Application" + PROPERTY_NAME = "LicenseUrl" + PACKAGE_NULL_PROPERTY = False + + class CloudFormationStackResource(Resource): """ Represents CloudFormation::Stack resource that can refer to a nested @@ -431,8 +463,9 @@ def do_export(self, resource_id, resource_dict, parent_dir): # TemplateUrl property requires S3 URL to be in path-style format parts = parse_s3_url(url, version_property="Version") - resource_dict[self.PROPERTY_NAME] = self.uploader.to_path_style_s3_url( + s3_path_url = self.uploader.to_path_style_s3_url( parts["Key"], parts.get("Version", None)) + set_value_from_jmespath(resource_dict, self.PROPERTY_NAME, s3_path_url) class ServerlessApplicationResource(CloudFormationStackResource): @@ -444,12 +477,24 @@ class ServerlessApplicationResource(CloudFormationStackResource): PROPERTY_NAME = "Location" -EXPORT_LIST = [ + +class GlueJobCommandScriptLocationResource(Resource): + """ + Represents Glue::Job resource. + """ + RESOURCE_TYPE = "AWS::Glue::Job" + # Note the PROPERTY_NAME includes a '.' implying it's nested. + PROPERTY_NAME = "Command.ScriptLocation" + + +RESOURCES_EXPORT_LIST = [ ServerlessFunctionResource, ServerlessApiResource, GraphQLSchemaResource, AppSyncResolverRequestTemplateResource, AppSyncResolverResponseTemplateResource, + AppSyncFunctionConfigurationRequestTemplateResource, + AppSyncFunctionConfigurationResponseTemplateResource, ApiGatewayRestApiResource, LambdaFunctionResource, ElasticBeanstalkApplicationVersion, @@ -457,16 +502,39 @@ class ServerlessApplicationResource(CloudFormationStackResource): ServerlessApplicationResource, ServerlessLayerVersionResource, LambdaLayerVersionResource, + GlueJobCommandScriptLocationResource, +] + +METADATA_EXPORT_LIST = [ + ServerlessRepoApplicationReadme, + ServerlessRepoApplicationLicense ] -def include_transform_export_handler(template_dict, uploader): + +def include_transform_export_handler(template_dict, uploader, parent_dir): if template_dict.get("Name", None) != "AWS::Include": return template_dict - include_location = template_dict.get("Parameters", {}).get("Location", {}) - if (is_local_file(include_location)): - template_dict["Parameters"]["Location"] = uploader.upload_with_dedup(include_location) + + include_location = template_dict.get("Parameters", {}).get("Location", None) + if not include_location \ + or not is_path_value_valid(include_location) \ + or is_s3_url(include_location): + # `include_location` is either empty, or not a string, or an S3 URI + return template_dict + + # We are confident at this point that `include_location` is a string containing the local path + abs_include_location = os.path.join(parent_dir, include_location) + if is_local_file(abs_include_location): + template_dict["Parameters"]["Location"] = uploader.upload_with_dedup(abs_include_location) + else: + raise exceptions.InvalidLocalPathError( + resource_id="AWS::Include", + property_name="Location", + local_path=abs_include_location) + return template_dict + GLOBAL_EXPORT_DICT = { "Fn::Transform": include_transform_export_handler } @@ -478,7 +546,8 @@ class Template(object): """ def __init__(self, template_path, parent_dir, uploader, - resources_to_export=EXPORT_LIST): + resources_to_export=RESOURCES_EXPORT_LIST, + metadata_to_export=METADATA_EXPORT_LIST): """ Reads the template and makes it ready for export """ @@ -497,6 +566,7 @@ def __init__(self, template_path, parent_dir, uploader, self.template_dict = yaml_parse(template_str) self.template_dir = template_dir self.resources_to_export = resources_to_export + self.metadata_to_export = metadata_to_export self.uploader = uploader def export_global_artifacts(self, template_dict): @@ -508,7 +578,7 @@ def export_global_artifacts(self, template_dict): """ for key, val in template_dict.items(): if key in GLOBAL_EXPORT_DICT: - template_dict[key] = GLOBAL_EXPORT_DICT[key](val, self.uploader) + template_dict[key] = GLOBAL_EXPORT_DICT[key](val, self.uploader, self.template_dir) elif isinstance(val, dict): self.export_global_artifacts(val) elif isinstance(val, list): @@ -517,6 +587,26 @@ def export_global_artifacts(self, template_dict): self.export_global_artifacts(item) return template_dict + def export_metadata(self, template_dict): + """ + Exports the local artifacts referenced by the metadata section in + the given template to an s3 bucket. + + :return: The template with references to artifacts that have been + exported to s3. + """ + if "Metadata" not in template_dict: + return template_dict + + for metadata_type, metadata_dict in template_dict["Metadata"].items(): + for exporter_class in self.metadata_to_export: + if exporter_class.RESOURCE_TYPE != metadata_type: + continue + + exporter = exporter_class(self.uploader) + exporter.export(metadata_type, metadata_dict, self.template_dir) + + return template_dict def export(self): """ @@ -526,6 +616,8 @@ def export(self): :return: The template with references to artifacts that have been exported to s3. """ + self.template_dict = self.export_metadata(self.template_dict) + if "Resources" not in self.template_dict: return self.template_dict diff --git a/bin/awscli/customizations/cloudformation/artifact_exporter.pyc b/bin/awscli/customizations/cloudformation/artifact_exporter.pyc deleted file mode 100644 index 08904fae..00000000 Binary files a/bin/awscli/customizations/cloudformation/artifact_exporter.pyc and /dev/null differ diff --git a/bin/awscli/customizations/cloudformation/deploy.py b/bin/awscli/customizations/cloudformation/deploy.py index 61a132b0..3b944045 100644 --- a/bin/awscli/customizations/cloudformation/deploy.py +++ b/bin/awscli/customizations/cloudformation/deploy.py @@ -280,7 +280,6 @@ def _run_main(self, parsed_args, parsed_globals): s3_uploader = S3Uploader(s3_client, bucket, - parsed_globals.region, parsed_args.s3_prefix, parsed_args.kms_key_id, parsed_args.force_upload) diff --git a/bin/awscli/customizations/cloudformation/deploy.pyc b/bin/awscli/customizations/cloudformation/deploy.pyc deleted file mode 100644 index 7760a9b7..00000000 Binary files a/bin/awscli/customizations/cloudformation/deploy.pyc and /dev/null differ diff --git a/bin/awscli/customizations/cloudformation/deployer.pyc b/bin/awscli/customizations/cloudformation/deployer.pyc deleted file mode 100644 index 0e587932..00000000 Binary files a/bin/awscli/customizations/cloudformation/deployer.pyc and /dev/null differ diff --git a/bin/awscli/customizations/cloudformation/exceptions.pyc b/bin/awscli/customizations/cloudformation/exceptions.pyc deleted file mode 100644 index de35a4c4..00000000 Binary files a/bin/awscli/customizations/cloudformation/exceptions.pyc and /dev/null differ diff --git a/bin/awscli/customizations/cloudformation/package.py b/bin/awscli/customizations/cloudformation/package.py index bd45ac93..9bc7464d 100644 --- a/bin/awscli/customizations/cloudformation/package.py +++ b/bin/awscli/customizations/cloudformation/package.py @@ -139,7 +139,6 @@ def _run_main(self, parsed_args, parsed_globals): self.s3_uploader = S3Uploader(s3_client, bucket, - parsed_globals.region, parsed_args.s3_prefix, parsed_args.kms_key_id, parsed_args.force_upload) diff --git a/bin/awscli/customizations/cloudformation/package.pyc b/bin/awscli/customizations/cloudformation/package.pyc deleted file mode 100644 index 5f62fbe4..00000000 Binary files a/bin/awscli/customizations/cloudformation/package.pyc and /dev/null differ diff --git a/bin/awscli/customizations/cloudformation/yamlhelper.py b/bin/awscli/customizations/cloudformation/yamlhelper.py index 41bbd7b6..bc845170 100644 --- a/bin/awscli/customizations/cloudformation/yamlhelper.py +++ b/bin/awscli/customizations/cloudformation/yamlhelper.py @@ -10,7 +10,9 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. -import json +from botocore.compat import json +from botocore.compat import OrderedDict + import yaml from yaml.resolver import ScalarNode, SequenceNode @@ -54,13 +56,28 @@ def intrinsics_multi_constructor(loader, tag_prefix, node): return {cfntag: value} +def _dict_representer(dumper, data): + return dumper.represent_dict(data.items()) + + def yaml_dump(dict_to_dump): """ Dumps the dictionary as a YAML document :param dict_to_dump: :return: """ - return yaml.safe_dump(dict_to_dump, default_flow_style=False) + FlattenAliasDumper.add_representer(OrderedDict, _dict_representer) + return yaml.dump( + dict_to_dump, + default_flow_style=False, + Dumper=FlattenAliasDumper, + ) + + +def _dict_constructor(loader, node): + # Necessary in order to make yaml merge tags work + loader.flatten_mapping(node) + return OrderedDict(loader.construct_pairs(node)) def yaml_parse(yamlstr): @@ -69,8 +86,14 @@ def yaml_parse(yamlstr): # PyYAML doesn't support json as well as it should, so if the input # is actually just json it is better to parse it with the standard # json parser. - return json.loads(yamlstr) + return json.loads(yamlstr, object_pairs_hook=OrderedDict) except ValueError: + yaml.SafeLoader.add_constructor(yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG, _dict_constructor) yaml.SafeLoader.add_multi_constructor( "!", intrinsics_multi_constructor) return yaml.safe_load(yamlstr) + + +class FlattenAliasDumper(yaml.SafeDumper): + def ignore_aliases(self, data): + return True diff --git a/bin/awscli/customizations/cloudformation/yamlhelper.pyc b/bin/awscli/customizations/cloudformation/yamlhelper.pyc deleted file mode 100644 index 838f4382..00000000 Binary files a/bin/awscli/customizations/cloudformation/yamlhelper.pyc and /dev/null differ diff --git a/bin/awscli/customizations/cloudfront.pyc b/bin/awscli/customizations/cloudfront.pyc deleted file mode 100644 index df060777..00000000 Binary files a/bin/awscli/customizations/cloudfront.pyc and /dev/null differ diff --git a/bin/awscli/customizations/cloudsearch.pyc b/bin/awscli/customizations/cloudsearch.pyc deleted file mode 100644 index 16188aa0..00000000 Binary files a/bin/awscli/customizations/cloudsearch.pyc and /dev/null differ diff --git a/bin/awscli/customizations/cloudsearchdomain.pyc b/bin/awscli/customizations/cloudsearchdomain.pyc deleted file mode 100644 index f1b86716..00000000 Binary files a/bin/awscli/customizations/cloudsearchdomain.pyc and /dev/null differ diff --git a/bin/awscli/customizations/cloudtrail/__init__.pyc b/bin/awscli/customizations/cloudtrail/__init__.pyc deleted file mode 100644 index 3286fe42..00000000 Binary files a/bin/awscli/customizations/cloudtrail/__init__.pyc and /dev/null differ diff --git a/bin/awscli/customizations/cloudtrail/subscribe.pyc b/bin/awscli/customizations/cloudtrail/subscribe.pyc deleted file mode 100644 index 1bb0b503..00000000 Binary files a/bin/awscli/customizations/cloudtrail/subscribe.pyc and /dev/null differ diff --git a/bin/awscli/customizations/cloudtrail/utils.pyc b/bin/awscli/customizations/cloudtrail/utils.pyc deleted file mode 100644 index a79f8b28..00000000 Binary files a/bin/awscli/customizations/cloudtrail/utils.pyc and /dev/null differ diff --git a/bin/awscli/customizations/cloudtrail/validation.pyc b/bin/awscli/customizations/cloudtrail/validation.pyc deleted file mode 100644 index 82c47158..00000000 Binary files a/bin/awscli/customizations/cloudtrail/validation.pyc and /dev/null differ diff --git a/bin/awscli/customizations/codecommit.py b/bin/awscli/customizations/codecommit.py index 1bb3d9d6..d61e1551 100644 --- a/bin/awscli/customizations/codecommit.py +++ b/bin/awscli/customizations/codecommit.py @@ -133,10 +133,10 @@ def extract_url(self, parameters): return url def extract_region(self, parameters, parsed_globals): - match = re.match(r'git-codecommit\.([^.]+)\.amazonaws\.com', + match = re.match(r'(vpce-.+\.)?git-codecommit(-fips)?\.([^.]+)\.(vpce\.)?amazonaws\.com', parameters['host']) if match is not None: - return match.group(1) + return match.group(3) elif parsed_globals.region is not None: return parsed_globals.region else: diff --git a/bin/awscli/customizations/codecommit.pyc b/bin/awscli/customizations/codecommit.pyc deleted file mode 100644 index 191d8e58..00000000 Binary files a/bin/awscli/customizations/codecommit.pyc and /dev/null differ diff --git a/bin/awscli/customizations/codedeploy/__init__.pyc b/bin/awscli/customizations/codedeploy/__init__.pyc deleted file mode 100644 index 72ba28a6..00000000 Binary files a/bin/awscli/customizations/codedeploy/__init__.pyc and /dev/null differ diff --git a/bin/awscli/customizations/codedeploy/codedeploy.pyc b/bin/awscli/customizations/codedeploy/codedeploy.pyc deleted file mode 100644 index 056c76a7..00000000 Binary files a/bin/awscli/customizations/codedeploy/codedeploy.pyc and /dev/null differ diff --git a/bin/awscli/customizations/codedeploy/deregister.pyc b/bin/awscli/customizations/codedeploy/deregister.pyc deleted file mode 100644 index 055d0abb..00000000 Binary files a/bin/awscli/customizations/codedeploy/deregister.pyc and /dev/null differ diff --git a/bin/awscli/customizations/codedeploy/install.pyc b/bin/awscli/customizations/codedeploy/install.pyc deleted file mode 100644 index 6c899534..00000000 Binary files a/bin/awscli/customizations/codedeploy/install.pyc and /dev/null differ diff --git a/bin/awscli/customizations/codedeploy/locationargs.pyc b/bin/awscli/customizations/codedeploy/locationargs.pyc deleted file mode 100644 index 29bf6bb6..00000000 Binary files a/bin/awscli/customizations/codedeploy/locationargs.pyc and /dev/null differ diff --git a/bin/awscli/customizations/codedeploy/push.pyc b/bin/awscli/customizations/codedeploy/push.pyc deleted file mode 100644 index dc1bb8b7..00000000 Binary files a/bin/awscli/customizations/codedeploy/push.pyc and /dev/null differ diff --git a/bin/awscli/customizations/codedeploy/register.pyc b/bin/awscli/customizations/codedeploy/register.pyc deleted file mode 100644 index 60a3936e..00000000 Binary files a/bin/awscli/customizations/codedeploy/register.pyc and /dev/null differ diff --git a/bin/awscli/customizations/codedeploy/systems.pyc b/bin/awscli/customizations/codedeploy/systems.pyc deleted file mode 100644 index b7c52080..00000000 Binary files a/bin/awscli/customizations/codedeploy/systems.pyc and /dev/null differ diff --git a/bin/awscli/customizations/codedeploy/uninstall.pyc b/bin/awscli/customizations/codedeploy/uninstall.pyc deleted file mode 100644 index 33c2455b..00000000 Binary files a/bin/awscli/customizations/codedeploy/uninstall.pyc and /dev/null differ diff --git a/bin/awscli/customizations/codedeploy/utils.pyc b/bin/awscli/customizations/codedeploy/utils.pyc deleted file mode 100644 index 84af2f51..00000000 Binary files a/bin/awscli/customizations/codedeploy/utils.pyc and /dev/null differ diff --git a/bin/awscli/customizations/commands.pyc b/bin/awscli/customizations/commands.pyc deleted file mode 100644 index b0b3fb99..00000000 Binary files a/bin/awscli/customizations/commands.pyc and /dev/null differ diff --git a/bin/awscli/customizations/configservice/__init__.pyc b/bin/awscli/customizations/configservice/__init__.pyc deleted file mode 100644 index f166163c..00000000 Binary files a/bin/awscli/customizations/configservice/__init__.pyc and /dev/null differ diff --git a/bin/awscli/customizations/configservice/getstatus.pyc b/bin/awscli/customizations/configservice/getstatus.pyc deleted file mode 100644 index eb6fde12..00000000 Binary files a/bin/awscli/customizations/configservice/getstatus.pyc and /dev/null differ diff --git a/bin/awscli/customizations/configservice/putconfigurationrecorder.pyc b/bin/awscli/customizations/configservice/putconfigurationrecorder.pyc deleted file mode 100644 index a23fc91e..00000000 Binary files a/bin/awscli/customizations/configservice/putconfigurationrecorder.pyc and /dev/null differ diff --git a/bin/awscli/customizations/configservice/rename_cmd.pyc b/bin/awscli/customizations/configservice/rename_cmd.pyc deleted file mode 100644 index b06a4620..00000000 Binary files a/bin/awscli/customizations/configservice/rename_cmd.pyc and /dev/null differ diff --git a/bin/awscli/customizations/configservice/subscribe.pyc b/bin/awscli/customizations/configservice/subscribe.pyc deleted file mode 100644 index 5171be36..00000000 Binary files a/bin/awscli/customizations/configservice/subscribe.pyc and /dev/null differ diff --git a/bin/awscli/customizations/configure/__init__.pyc b/bin/awscli/customizations/configure/__init__.pyc deleted file mode 100644 index 626d19da..00000000 Binary files a/bin/awscli/customizations/configure/__init__.pyc and /dev/null differ diff --git a/bin/awscli/customizations/configure/addmodel.pyc b/bin/awscli/customizations/configure/addmodel.pyc deleted file mode 100644 index 941c9c9e..00000000 Binary files a/bin/awscli/customizations/configure/addmodel.pyc and /dev/null differ diff --git a/bin/awscli/customizations/configure/configure.pyc b/bin/awscli/customizations/configure/configure.pyc deleted file mode 100644 index 8b77a498..00000000 Binary files a/bin/awscli/customizations/configure/configure.pyc and /dev/null differ diff --git a/bin/awscli/customizations/configure/get.pyc b/bin/awscli/customizations/configure/get.pyc deleted file mode 100644 index 9fc6ac8b..00000000 Binary files a/bin/awscli/customizations/configure/get.pyc and /dev/null differ diff --git a/bin/awscli/customizations/configure/list.pyc b/bin/awscli/customizations/configure/list.pyc deleted file mode 100644 index 85bfe358..00000000 Binary files a/bin/awscli/customizations/configure/list.pyc and /dev/null differ diff --git a/bin/awscli/customizations/configure/set.pyc b/bin/awscli/customizations/configure/set.pyc deleted file mode 100644 index 3ffa5b51..00000000 Binary files a/bin/awscli/customizations/configure/set.pyc and /dev/null differ diff --git a/bin/awscli/customizations/configure/writer.pyc b/bin/awscli/customizations/configure/writer.pyc deleted file mode 100644 index 05770d87..00000000 Binary files a/bin/awscli/customizations/configure/writer.pyc and /dev/null differ diff --git a/bin/awscli/customizations/datapipeline/__init__.pyc b/bin/awscli/customizations/datapipeline/__init__.pyc deleted file mode 100644 index 0943f173..00000000 Binary files a/bin/awscli/customizations/datapipeline/__init__.pyc and /dev/null differ diff --git a/bin/awscli/customizations/datapipeline/constants.pyc b/bin/awscli/customizations/datapipeline/constants.pyc deleted file mode 100644 index 794731d2..00000000 Binary files a/bin/awscli/customizations/datapipeline/constants.pyc and /dev/null differ diff --git a/bin/awscli/customizations/datapipeline/createdefaultroles.pyc b/bin/awscli/customizations/datapipeline/createdefaultroles.pyc deleted file mode 100644 index 143eee69..00000000 Binary files a/bin/awscli/customizations/datapipeline/createdefaultroles.pyc and /dev/null differ diff --git a/bin/awscli/customizations/datapipeline/listrunsformatter.pyc b/bin/awscli/customizations/datapipeline/listrunsformatter.pyc deleted file mode 100644 index f2b6f778..00000000 Binary files a/bin/awscli/customizations/datapipeline/listrunsformatter.pyc and /dev/null differ diff --git a/bin/awscli/customizations/datapipeline/translator.pyc b/bin/awscli/customizations/datapipeline/translator.pyc deleted file mode 100644 index 54c2e15a..00000000 Binary files a/bin/awscli/customizations/datapipeline/translator.pyc and /dev/null differ diff --git a/bin/awscli/customizations/dlm/__init__.pyc b/bin/awscli/customizations/dlm/__init__.pyc deleted file mode 100644 index 1e6d77ab..00000000 Binary files a/bin/awscli/customizations/dlm/__init__.pyc and /dev/null differ diff --git a/bin/awscli/customizations/dlm/constants.pyc b/bin/awscli/customizations/dlm/constants.pyc deleted file mode 100644 index 5fc6942e..00000000 Binary files a/bin/awscli/customizations/dlm/constants.pyc and /dev/null differ diff --git a/bin/awscli/customizations/dlm/createdefaultrole.pyc b/bin/awscli/customizations/dlm/createdefaultrole.pyc deleted file mode 100644 index 4a2836fe..00000000 Binary files a/bin/awscli/customizations/dlm/createdefaultrole.pyc and /dev/null differ diff --git a/bin/awscli/customizations/dlm/dlm.pyc b/bin/awscli/customizations/dlm/dlm.pyc deleted file mode 100644 index e4a8e8ac..00000000 Binary files a/bin/awscli/customizations/dlm/dlm.pyc and /dev/null differ diff --git a/bin/awscli/customizations/dlm/iam.pyc b/bin/awscli/customizations/dlm/iam.pyc deleted file mode 100644 index c061f1f5..00000000 Binary files a/bin/awscli/customizations/dlm/iam.pyc and /dev/null differ diff --git a/bin/awscli/customizations/ec2/__init__.pyc b/bin/awscli/customizations/ec2/__init__.pyc deleted file mode 100644 index b44875c2..00000000 Binary files a/bin/awscli/customizations/ec2/__init__.pyc and /dev/null differ diff --git a/bin/awscli/customizations/ec2/addcount.pyc b/bin/awscli/customizations/ec2/addcount.pyc deleted file mode 100644 index 6fe29b7f..00000000 Binary files a/bin/awscli/customizations/ec2/addcount.pyc and /dev/null differ diff --git a/bin/awscli/customizations/ec2/bundleinstance.pyc b/bin/awscli/customizations/ec2/bundleinstance.pyc deleted file mode 100644 index 0bd3d1a0..00000000 Binary files a/bin/awscli/customizations/ec2/bundleinstance.pyc and /dev/null differ diff --git a/bin/awscli/customizations/ec2/decryptpassword.pyc b/bin/awscli/customizations/ec2/decryptpassword.pyc deleted file mode 100644 index 5334f0d9..00000000 Binary files a/bin/awscli/customizations/ec2/decryptpassword.pyc and /dev/null differ diff --git a/bin/awscli/customizations/ec2/paginate.pyc b/bin/awscli/customizations/ec2/paginate.pyc deleted file mode 100644 index 95b2bd0f..00000000 Binary files a/bin/awscli/customizations/ec2/paginate.pyc and /dev/null differ diff --git a/bin/awscli/customizations/ec2/protocolarg.pyc b/bin/awscli/customizations/ec2/protocolarg.pyc deleted file mode 100644 index cc5f3471..00000000 Binary files a/bin/awscli/customizations/ec2/protocolarg.pyc and /dev/null differ diff --git a/bin/awscli/customizations/ec2/runinstances.pyc b/bin/awscli/customizations/ec2/runinstances.pyc deleted file mode 100644 index 2d1e6115..00000000 Binary files a/bin/awscli/customizations/ec2/runinstances.pyc and /dev/null differ diff --git a/bin/awscli/customizations/ec2/secgroupsimplify.pyc b/bin/awscli/customizations/ec2/secgroupsimplify.pyc deleted file mode 100644 index 41f512d8..00000000 Binary files a/bin/awscli/customizations/ec2/secgroupsimplify.pyc and /dev/null differ diff --git a/bin/awscli/customizations/ecr.pyc b/bin/awscli/customizations/ecr.pyc deleted file mode 100644 index 84191662..00000000 Binary files a/bin/awscli/customizations/ecr.pyc and /dev/null differ diff --git a/bin/awscli/customizations/ecs/__init__.pyc b/bin/awscli/customizations/ecs/__init__.pyc deleted file mode 100644 index d4dba566..00000000 Binary files a/bin/awscli/customizations/ecs/__init__.pyc and /dev/null differ diff --git a/bin/awscli/customizations/ecs/deploy.py b/bin/awscli/customizations/ecs/deploy.py index aa25b627..f2029a18 100644 --- a/bin/awscli/customizations/ecs/deploy.py +++ b/bin/awscli/customizations/ecs/deploy.py @@ -22,6 +22,10 @@ from awscli.customizations.ecs import exceptions, filehelpers from awscli.customizations.commands import BasicCommand +TIMEOUT_BUFFER_MIN = 10 +DEFAULT_DELAY_SEC = 15 +MAX_WAIT_MIN = 360 # 6 hours + class ECSDeploy(BasicCommand): NAME = 'deploy' @@ -33,7 +37,9 @@ class ECSDeploy(BasicCommand): "CodeDeploy appspec with the new task definition revision, create a " "CodeDeploy deployment, and wait for the deployment to successfully " "complete. This command will exit with a return code of 255 if the " - "deployment does not succeed within 30 minutes." + "deployment does not succeed within 30 minutes by default or " + "up to 10 minutes more than your deployment group's configured wait " + "time (max of 6 hours)." ) ARG_TABLE = [ @@ -100,7 +106,8 @@ class ECSDeploy(BasicCommand): MSG_CREATED_DEPLOYMENT = "Successfully created deployment {id}\n" - MSG_WAITING = "Waiting for {deployment_id} to succeed..." + MSG_SUCCESS = ("Successfully deployed {task_def} to " + "service '{service}'\n") def _run_main(self, parsed_args, parsed_globals): @@ -121,6 +128,8 @@ def _run_main(self, parsed_args, parsed_globals): self._validate_code_deploy_resources(codedeploy_client) + self.wait_time = self._cd_validator.get_deployment_wait_time() + self.task_def_arn = self._register_task_def( register_task_def_kwargs, ecs_client_wrapper) @@ -135,12 +144,15 @@ def _create_and_wait_for_deployment(self, client, appspec): sys.stdout.write(self.MSG_CREATED_DEPLOYMENT.format( id=deployment_id)) + + deployer.wait_for_deploy_success(deployment_id, self.wait_time) + service_name = self.resources['service'] + sys.stdout.write( - self.MSG_WAITING.format(deployment_id=deployment_id)) + self.MSG_SUCCESS.format( + task_def=self.task_def_arn, service=service_name)) sys.stdout.flush() - deployer.wait_for_deploy_success(deployment_id) - def _get_file_contents(self, file_path): full_path = os.path.expandvars(os.path.expanduser(file_path)) try: @@ -193,9 +205,14 @@ def _validate_code_deploy_resources(self, client): validator = CodeDeployValidator(client, self.resources) validator.describe_cd_resources() validator.validate_all() + self._cd_validator = validator class CodeDeployer(): + + MSG_WAITING = ("Waiting for {deployment_id} to succeed " + "(will wait up to {wait} minutes)...\n") + def __init__(self, cd_client, appspec_dict): self._client = cd_client self._appspec_dict = appspec_dict @@ -273,9 +290,30 @@ def update_task_def_arn(self, new_arn): appspec_obj[resources_key] = updated_resources self._appspec_dict = appspec_obj - def wait_for_deploy_success(self, id): + def wait_for_deploy_success(self, id, wait_min): waiter = self._client.get_waiter("deployment_successful") - waiter.wait(deploymentId=id) + + if wait_min is not None and wait_min > MAX_WAIT_MIN: + wait_min = MAX_WAIT_MIN + + elif wait_min is None or wait_min < 30: + wait_min = 30 + + delay_sec = DEFAULT_DELAY_SEC + max_attempts = (wait_min * 60) / delay_sec + config = { + 'Delay': delay_sec, + 'MaxAttempts': max_attempts + } + + self._show_deploy_wait_msg(id, wait_min) + waiter.wait(deploymentId=id, WaiterConfig=config) + + def _show_deploy_wait_msg(self, id, wait_min): + sys.stdout.write( + self.MSG_WAITING.format(deployment_id=id, + wait=wait_min)) + sys.stdout.flush() class CodeDeployValidator(): @@ -300,6 +338,26 @@ def describe_cd_resources(self): raise exceptions.ServiceClientError( action='describe Code Deploy deployment group', error=e) + def get_deployment_wait_time(self): + + if (not hasattr(self, 'deployment_group_details') or + self.deployment_group_details is None): + return None + else: + dgp_info = self.deployment_group_details['deploymentGroupInfo'] + blue_green_info = dgp_info['blueGreenDeploymentConfiguration'] + + deploy_ready_wait_min = \ + blue_green_info['deploymentReadyOption']['waitTimeInMinutes'] + + terminate_key = 'terminateBlueInstancesOnDeploymentSuccess' + termination_wait_min = \ + blue_green_info[terminate_key]['terminationWaitTimeInMinutes'] + + configured_wait = deploy_ready_wait_min + termination_wait_min + + return configured_wait + TIMEOUT_BUFFER_MIN + def validate_all(self): self.validate_application() self.validate_deployment_group() diff --git a/bin/awscli/customizations/ecs/deploy.pyc b/bin/awscli/customizations/ecs/deploy.pyc deleted file mode 100644 index 1844f22a..00000000 Binary files a/bin/awscli/customizations/ecs/deploy.pyc and /dev/null differ diff --git a/bin/awscli/customizations/ecs/exceptions.pyc b/bin/awscli/customizations/ecs/exceptions.pyc deleted file mode 100644 index 63258e7b..00000000 Binary files a/bin/awscli/customizations/ecs/exceptions.pyc and /dev/null differ diff --git a/bin/awscli/customizations/ecs/filehelpers.py b/bin/awscli/customizations/ecs/filehelpers.py index c3b02358..4001af70 100644 --- a/bin/awscli/customizations/ecs/filehelpers.py +++ b/bin/awscli/customizations/ecs/filehelpers.py @@ -78,4 +78,4 @@ def parse_appspec(appspec_str): try: return json.loads(appspec_str) except ValueError: - return yaml.load(appspec_str) + return yaml.safe_load(appspec_str) diff --git a/bin/awscli/customizations/ecs/filehelpers.pyc b/bin/awscli/customizations/ecs/filehelpers.pyc deleted file mode 100644 index 623d3f21..00000000 Binary files a/bin/awscli/customizations/ecs/filehelpers.pyc and /dev/null differ diff --git a/bin/awscli/customizations/eks/__init__.py b/bin/awscli/customizations/eks/__init__.py index 61eaaa73..9f3114a6 100644 --- a/bin/awscli/customizations/eks/__init__.py +++ b/bin/awscli/customizations/eks/__init__.py @@ -12,6 +12,7 @@ # language governing permissions and limitations under the License. from awscli.customizations.eks.update_kubeconfig import UpdateKubeconfigCommand +from awscli.customizations.eks.get_token import GetTokenCommand def initialize(cli): @@ -27,3 +28,4 @@ def inject_commands(command_table, session, **kwargs): Used to inject new high level commands into the command list. """ command_table['update-kubeconfig'] = UpdateKubeconfigCommand(session) + command_table['get-token'] = GetTokenCommand(session) diff --git a/bin/awscli/customizations/eks/__init__.pyc b/bin/awscli/customizations/eks/__init__.pyc deleted file mode 100644 index 7e5b36ef..00000000 Binary files a/bin/awscli/customizations/eks/__init__.pyc and /dev/null differ diff --git a/bin/awscli/customizations/eks/exceptions.pyc b/bin/awscli/customizations/eks/exceptions.pyc deleted file mode 100644 index 48a1a5b0..00000000 Binary files a/bin/awscli/customizations/eks/exceptions.pyc and /dev/null differ diff --git a/bin/awscli/customizations/eks/get_token.py b/bin/awscli/customizations/eks/get_token.py new file mode 100644 index 00000000..8594be57 --- /dev/null +++ b/bin/awscli/customizations/eks/get_token.py @@ -0,0 +1,151 @@ +# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +import base64 +import botocore +import json + +from botocore import session +from botocore.signers import RequestSigner +from botocore.model import ServiceId + +from awscli.customizations.commands import BasicCommand +from awscli.customizations.utils import uni_print + +AUTH_SERVICE = "sts" +AUTH_COMMAND = "GetCallerIdentity" +AUTH_API_VERSION = "2011-06-15" +AUTH_SIGNING_VERSION = "v4" + +# Presigned url timeout in seconds +URL_TIMEOUT = 60 + +TOKEN_PREFIX = 'k8s-aws-v1.' + +CLUSTER_NAME_HEADER = 'x-k8s-aws-id' + + +class GetTokenCommand(BasicCommand): + NAME = 'get-token' + + DESCRIPTION = ("Get a token for authentication with an Amazon EKS cluster. " + "This can be used as an alternative to the " + "aws-iam-authenticator.") + + ARG_TABLE = [ + { + 'name': 'cluster-name', + 'help_text': ("Specify the name of the Amazon EKS cluster to create a token for."), + 'required': True + }, + { + 'name': 'role-arn', + 'help_text': ("Assume this role for credentials when signing the token."), + 'required': False + } + ] + + def _run_main(self, parsed_args, parsed_globals): + token_generator = TokenGenerator(parsed_globals.region) + token = token_generator.get_token( + parsed_args.cluster_name, + parsed_args.role_arn + ) + + full_object = { + "kind": "ExecCredential", + "apiVersion": "client.authentication.k8s.io/v1alpha1", + "spec": {}, + "status": { + "token": token + } + } + + uni_print(json.dumps(full_object)) + uni_print('\n') + +class TokenGenerator(object): + def __init__(self, region_name, session_handler=None): + if session_handler is None: + session_handler = SessionHandler() + self._session_handler = session_handler + self._region_name = region_name + + def get_token(self, cluster_name, role_arn): + """ Generate a presigned url token to pass to kubectl. """ + url = self._get_presigned_url(cluster_name, role_arn) + token = TOKEN_PREFIX + base64.urlsafe_b64encode(url.encode('utf-8')).decode('utf-8').rstrip('=') + return token + + def _get_presigned_url(self, cluster_name, role_arn): + session = self._session_handler.get_session( + self._region_name, + role_arn + ) + + if self._region_name is None: + self._region_name = session.get_config_variable('region') + + loader = botocore.loaders.create_loader() + data = loader.load_data("endpoints") + endpoint_resolver = botocore.regions.EndpointResolver(data) + endpoint = endpoint_resolver.construct_endpoint( + AUTH_SERVICE, + self._region_name + ) + signer = RequestSigner( + ServiceId(AUTH_SERVICE), + self._region_name, + AUTH_SERVICE, + AUTH_SIGNING_VERSION, + session.get_credentials(), + session.get_component('event_emitter') + ) + action_params='Action=' + AUTH_COMMAND + '&Version=' + AUTH_API_VERSION + params = { + 'method': 'GET', + 'url': 'https://' + endpoint["hostname"] + '/?' + action_params, + 'body': {}, + 'headers': {CLUSTER_NAME_HEADER: cluster_name}, + 'context': {} + } + + url=signer.generate_presigned_url( + params, + region_name=endpoint["credentialScope"]["region"], + operation_name='', + expires_in=URL_TIMEOUT + ) + return url + +class SessionHandler(object): + def get_session(self, region_name, role_arn): + """ + Assumes the given role and returns a session object assuming said role. + """ + session = botocore.session.get_session() + if region_name is not None: + session.set_config_variable('region', region_name) + + if role_arn is not None: + sts = session.create_client(AUTH_SERVICE, region_name=region_name) + credentials_dict = sts.assume_role( + RoleArn=role_arn, + RoleSessionName='EKSGetTokenAuth' + )['Credentials'] + + session.set_credentials(credentials_dict['AccessKeyId'], + credentials_dict['SecretAccessKey'], + credentials_dict['SessionToken']) + return session + else: + return session diff --git a/bin/awscli/customizations/eks/kubeconfig.py b/bin/awscli/customizations/eks/kubeconfig.py index ba562907..2b221a38 100644 --- a/bin/awscli/customizations/eks/kubeconfig.py +++ b/bin/awscli/customizations/eks/kubeconfig.py @@ -229,17 +229,17 @@ def insert_entry(self, config, key, entry): config.content[key] = array return config - def _make_context(self, cluster, user): - """ Generate a context to associate cluster and user.""" + def _make_context(self, cluster, user, alias=None): + """ Generate a context to associate cluster and user with a given alias.""" return OrderedDict([ ("context", OrderedDict([ ("cluster", cluster["name"]), ("user", user["name"]) ])), - ("name", user["name"]) + ("name", alias or user["name"]) ]) - def insert_cluster_user_pair(self, config, cluster, user): + def insert_cluster_user_pair(self, config, cluster, user, alias=None): """ Insert the passed cluster entry and user entry, then make a context to associate them @@ -255,10 +255,13 @@ def insert_cluster_user_pair(self, config, cluster, user): :param user: the user entry :type user: OrderedDict + :param alias: the alias for the context; defaults top user entry name + :type context: str + :return: The generated context :rtype: OrderedDict """ - context = self._make_context(cluster, user) + context = self._make_context(cluster, user, alias=alias) self.insert_entry(config, "clusters", cluster) self.insert_entry(config, "users", user) self.insert_entry(config, "contexts", context) diff --git a/bin/awscli/customizations/eks/kubeconfig.pyc b/bin/awscli/customizations/eks/kubeconfig.pyc deleted file mode 100644 index 94d9ebba..00000000 Binary files a/bin/awscli/customizations/eks/kubeconfig.pyc and /dev/null differ diff --git a/bin/awscli/customizations/eks/ordered_yaml.pyc b/bin/awscli/customizations/eks/ordered_yaml.pyc deleted file mode 100644 index 364bf2d4..00000000 Binary files a/bin/awscli/customizations/eks/ordered_yaml.pyc and /dev/null differ diff --git a/bin/awscli/customizations/eks/update_kubeconfig.py b/bin/awscli/customizations/eks/update_kubeconfig.py index 3d7b0407..0dad708b 100644 --- a/bin/awscli/customizations/eks/update_kubeconfig.py +++ b/bin/awscli/customizations/eks/update_kubeconfig.py @@ -18,8 +18,6 @@ from awscli.customizations.commands import BasicCommand from awscli.customizations.utils import uni_print -from awscli.compat import is_windows -from awscli.compat import which from awscli.customizations.eks.exceptions import EKSClusterError from awscli.customizations.eks.kubeconfig import (Kubeconfig, KubeconfigError, @@ -38,31 +36,6 @@ # Do a check on the cluster's version number API_VERSION = "client.authentication.k8s.io/v1alpha1" -AUTH_BIN = "aws-iam-authenticator" - -AUTH_GOGET_PATH = ("github.com/kubernetes-sigs/" - "aws-iam-authenticator/cmd/aws-iam-authenticator") - - -def check_for_binary(binary): - return which(binary) is not None - -def warn_of_missing_dependencies(): - """ - Check the dependencies of the kubectl configuration generated by - update-kubeconfig to see if any are missing. - If they are missing, print a warning with information on how to download - the missing dependency - - Currently dependent on: - aws-iam-authenticator - """ - if not check_for_binary(AUTH_BIN): - uni_print("Warning: {0} is not installed properly or is not in your path.\n" - "Refer to the AWS Documentation to download it at " - "https://docs.aws.amazon.com/eks/latest/userguide/configure-kubectl.html\n".format(AUTH_BIN)) - - class UpdateKubeconfigCommand(BasicCommand): NAME = 'update-kubeconfig' @@ -118,11 +91,17 @@ class UpdateKubeconfigCommand(BasicCommand): 'help_text': ("Print more detailed output " "when writing to the kubeconfig file, " "including the appended entries.") + }, + { + 'name': 'alias', + 'help_text': ("Alias for the cluster context name. " + "Defaults to match cluster ARN."), + 'required': False } ] def _display_entries(self, entries): - """ + """ Display entries in yaml format :param entries: a list of OrderedDicts to be printed @@ -152,7 +131,8 @@ def _run_main(self, parsed_args, parsed_globals): appender = KubeconfigAppender() new_context_dict = appender.insert_cluster_user_pair(config, new_cluster_dict, - new_user_dict) + new_user_dict, + parsed_args.alias) if parsed_args.dry_run: uni_print(config.dump_content()) @@ -176,7 +156,6 @@ def _run_main(self, parsed_args, parsed_globals): new_cluster_dict ]) - warn_of_missing_dependencies() class KubeconfigSelector(object): @@ -269,7 +248,7 @@ def _get_cluster_description(self): client = self._session.create_client("eks") else: client = self._session.create_client( - "eks", + "eks", region_name=self._globals.region, endpoint_url=self._globals.endpoint_url, verify=self._globals.verify_ssl @@ -308,6 +287,9 @@ def get_user_entry(self): Return a user entry generated using the previously obtained description. """ + + region = self._get_cluster_description().get("arn").split(":")[3] + generated_user = OrderedDict([ ("name", self._get_cluster_description().get("arn", "")), ("user", OrderedDict([ @@ -315,22 +297,28 @@ def get_user_entry(self): ("apiVersion", API_VERSION), ("args", [ - "token", - "-i", - self._cluster_name + "--region", + region, + "eks", + "get-token", + "--cluster-name", + self._cluster_name, ]), - ("command", AUTH_BIN) + ("command", "aws") ])) ])) ]) - if is_windows: - generated_user["user"]["exec"]["command"] += ".exe" - if self._role_arn is not None: generated_user["user"]["exec"]["args"].extend([ - "-r", + "--role", self._role_arn ]) + if self._session.profile: + generated_user["user"]["exec"]["env"] = [OrderedDict([ + ("name", "AWS_PROFILE"), + ("value", self._session.profile) + ])] + return generated_user diff --git a/bin/awscli/customizations/eks/update_kubeconfig.pyc b/bin/awscli/customizations/eks/update_kubeconfig.pyc deleted file mode 100644 index 8f7e7f74..00000000 Binary files a/bin/awscli/customizations/eks/update_kubeconfig.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/__init__.pyc b/bin/awscli/customizations/emr/__init__.pyc deleted file mode 100644 index 653467f8..00000000 Binary files a/bin/awscli/customizations/emr/__init__.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/addinstancegroups.pyc b/bin/awscli/customizations/emr/addinstancegroups.pyc deleted file mode 100644 index d54ee42c..00000000 Binary files a/bin/awscli/customizations/emr/addinstancegroups.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/addsteps.pyc b/bin/awscli/customizations/emr/addsteps.pyc deleted file mode 100644 index 7f1adec8..00000000 Binary files a/bin/awscli/customizations/emr/addsteps.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/addtags.pyc b/bin/awscli/customizations/emr/addtags.pyc deleted file mode 100644 index 116d9e81..00000000 Binary files a/bin/awscli/customizations/emr/addtags.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/applicationutils.pyc b/bin/awscli/customizations/emr/applicationutils.pyc deleted file mode 100644 index 25e65708..00000000 Binary files a/bin/awscli/customizations/emr/applicationutils.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/argumentschema.py b/bin/awscli/customizations/emr/argumentschema.py index 4e491865..e1806368 100644 --- a/bin/awscli/customizations/emr/argumentschema.py +++ b/bin/awscli/customizations/emr/argumentschema.py @@ -14,6 +14,48 @@ from awscli.customizations.emr import helptext from awscli.customizations.emr.createdefaultroles import EC2_ROLE_NAME +CONFIGURATIONS_PROPERTIES_SCHEMA = { + "type": "map", + "key": { + "type": "string", + "description": "Configuration key" + }, + "value": { + "type": "string", + "description": "Configuration value" + }, + "description": "Application configuration properties" +} + +CONFIGURATIONS_CLASSIFICATION_SCHEMA = { + "type": "string", + "description": "Application configuration classification name", +} + +INNER_CONFIGURATIONS_SCHEMA = { + "type": "array", + "items": { + "type": "object", + "properties": { + "Classification": CONFIGURATIONS_CLASSIFICATION_SCHEMA, + "Properties": CONFIGURATIONS_PROPERTIES_SCHEMA + } + }, + "description": "Instance group application configurations." +} + +OUTER_CONFIGURATIONS_SCHEMA = { + "type": "array", + "items": { + "type": "object", + "properties": { + "Classification": CONFIGURATIONS_CLASSIFICATION_SCHEMA, + "Properties": CONFIGURATIONS_PROPERTIES_SCHEMA, + "Configurations": INNER_CONFIGURATIONS_SCHEMA + } + }, + "description": "Instance group application configurations." +} INSTANCE_GROUPS_SCHEMA = { "type": "array", @@ -236,7 +278,8 @@ } } } - } + }, + "Configurations": OUTER_CONFIGURATIONS_SCHEMA } } } @@ -336,12 +379,7 @@ } } }, - - "Configurations": { - "type": "string", - "description": - "Additional configiration data." - } + "Configurations": OUTER_CONFIGURATIONS_SCHEMA } } }, diff --git a/bin/awscli/customizations/emr/argumentschema.pyc b/bin/awscli/customizations/emr/argumentschema.pyc deleted file mode 100644 index 775b8229..00000000 Binary files a/bin/awscli/customizations/emr/argumentschema.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/command.pyc b/bin/awscli/customizations/emr/command.pyc deleted file mode 100644 index 9209ac79..00000000 Binary files a/bin/awscli/customizations/emr/command.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/config.pyc b/bin/awscli/customizations/emr/config.pyc deleted file mode 100644 index 54324dc2..00000000 Binary files a/bin/awscli/customizations/emr/config.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/configutils.pyc b/bin/awscli/customizations/emr/configutils.pyc deleted file mode 100644 index b5b2a0ad..00000000 Binary files a/bin/awscli/customizations/emr/configutils.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/constants.pyc b/bin/awscli/customizations/emr/constants.pyc deleted file mode 100644 index 42425e6e..00000000 Binary files a/bin/awscli/customizations/emr/constants.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/createcluster.py b/bin/awscli/customizations/emr/createcluster.py index ef4abfe8..8a92c0b8 100644 --- a/bin/awscli/customizations/emr/createcluster.py +++ b/bin/awscli/customizations/emr/createcluster.py @@ -119,7 +119,7 @@ class CreateCluster(Command): 'schema': argumentschema.KERBEROS_ATTRIBUTES_SCHEMA, 'help_text': helptext.KERBEROS_ATTRIBUTES} ] - SYNOPSIS = BasicCommand.FROM_FILE('emr', 'create-cluster-synopsis.rst') + SYNOPSIS = BasicCommand.FROM_FILE('emr', 'create-cluster-synopsis.txt') EXAMPLES = BasicCommand.FROM_FILE('emr', 'create-cluster-examples.rst') def _run_main_command(self, parsed_args, parsed_globals): diff --git a/bin/awscli/customizations/emr/createcluster.pyc b/bin/awscli/customizations/emr/createcluster.pyc deleted file mode 100644 index 20af5ac1..00000000 Binary files a/bin/awscli/customizations/emr/createcluster.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/createdefaultroles.pyc b/bin/awscli/customizations/emr/createdefaultroles.pyc deleted file mode 100644 index bb18bbdb..00000000 Binary files a/bin/awscli/customizations/emr/createdefaultroles.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/describecluster.pyc b/bin/awscli/customizations/emr/describecluster.pyc deleted file mode 100644 index eb444491..00000000 Binary files a/bin/awscli/customizations/emr/describecluster.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/emr.pyc b/bin/awscli/customizations/emr/emr.pyc deleted file mode 100644 index 27f3faf6..00000000 Binary files a/bin/awscli/customizations/emr/emr.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/emrfsutils.pyc b/bin/awscli/customizations/emr/emrfsutils.pyc deleted file mode 100644 index e0ad89ec..00000000 Binary files a/bin/awscli/customizations/emr/emrfsutils.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/emrutils.pyc b/bin/awscli/customizations/emr/emrutils.pyc deleted file mode 100644 index 031f68e5..00000000 Binary files a/bin/awscli/customizations/emr/emrutils.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/exceptions.pyc b/bin/awscli/customizations/emr/exceptions.pyc deleted file mode 100644 index 70585350..00000000 Binary files a/bin/awscli/customizations/emr/exceptions.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/hbase.pyc b/bin/awscli/customizations/emr/hbase.pyc deleted file mode 100644 index 610039e0..00000000 Binary files a/bin/awscli/customizations/emr/hbase.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/hbaseutils.pyc b/bin/awscli/customizations/emr/hbaseutils.pyc deleted file mode 100644 index f9cace3c..00000000 Binary files a/bin/awscli/customizations/emr/hbaseutils.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/helptext.pyc b/bin/awscli/customizations/emr/helptext.pyc deleted file mode 100644 index 88c4a19a..00000000 Binary files a/bin/awscli/customizations/emr/helptext.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/installapplications.pyc b/bin/awscli/customizations/emr/installapplications.pyc deleted file mode 100644 index b0be70ba..00000000 Binary files a/bin/awscli/customizations/emr/installapplications.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/instancefleetsutils.pyc b/bin/awscli/customizations/emr/instancefleetsutils.pyc deleted file mode 100644 index a168ffaa..00000000 Binary files a/bin/awscli/customizations/emr/instancefleetsutils.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/instancegroupsutils.py b/bin/awscli/customizations/emr/instancegroupsutils.py index fe4ff998..e1707643 100644 --- a/bin/awscli/customizations/emr/instancegroupsutils.py +++ b/bin/awscli/customizations/emr/instancegroupsutils.py @@ -46,6 +46,9 @@ def build_instance_groups(parsed_instance_groups): if 'AutoScalingPolicy' in keys: ig_config['AutoScalingPolicy'] = instance_group['AutoScalingPolicy'] + if 'Configurations' in keys: + ig_config['Configurations'] = instance_group['Configurations'] + instance_groups.append(ig_config) return instance_groups diff --git a/bin/awscli/customizations/emr/instancegroupsutils.pyc b/bin/awscli/customizations/emr/instancegroupsutils.pyc deleted file mode 100644 index 6ef26eae..00000000 Binary files a/bin/awscli/customizations/emr/instancegroupsutils.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/listclusters.pyc b/bin/awscli/customizations/emr/listclusters.pyc deleted file mode 100644 index 940398b7..00000000 Binary files a/bin/awscli/customizations/emr/listclusters.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/modifyclusterattributes.pyc b/bin/awscli/customizations/emr/modifyclusterattributes.pyc deleted file mode 100644 index 0cae0665..00000000 Binary files a/bin/awscli/customizations/emr/modifyclusterattributes.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/ssh.pyc b/bin/awscli/customizations/emr/ssh.pyc deleted file mode 100644 index 149aad78..00000000 Binary files a/bin/awscli/customizations/emr/ssh.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/sshutils.pyc b/bin/awscli/customizations/emr/sshutils.pyc deleted file mode 100644 index 32d422ec..00000000 Binary files a/bin/awscli/customizations/emr/sshutils.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/steputils.pyc b/bin/awscli/customizations/emr/steputils.pyc deleted file mode 100644 index 62e7cebd..00000000 Binary files a/bin/awscli/customizations/emr/steputils.pyc and /dev/null differ diff --git a/bin/awscli/customizations/emr/terminateclusters.pyc b/bin/awscli/customizations/emr/terminateclusters.pyc deleted file mode 100644 index 762eab68..00000000 Binary files a/bin/awscli/customizations/emr/terminateclusters.pyc and /dev/null differ diff --git a/bin/awscli/customizations/flatten.pyc b/bin/awscli/customizations/flatten.pyc deleted file mode 100644 index eea97773..00000000 Binary files a/bin/awscli/customizations/flatten.pyc and /dev/null differ diff --git a/bin/awscli/customizations/gamelift/__init__.pyc b/bin/awscli/customizations/gamelift/__init__.pyc deleted file mode 100644 index 24e78e82..00000000 Binary files a/bin/awscli/customizations/gamelift/__init__.pyc and /dev/null differ diff --git a/bin/awscli/customizations/gamelift/getlog.pyc b/bin/awscli/customizations/gamelift/getlog.pyc deleted file mode 100644 index 68920b4c..00000000 Binary files a/bin/awscli/customizations/gamelift/getlog.pyc and /dev/null differ diff --git a/bin/awscli/customizations/gamelift/uploadbuild.pyc b/bin/awscli/customizations/gamelift/uploadbuild.pyc deleted file mode 100644 index c93f753a..00000000 Binary files a/bin/awscli/customizations/gamelift/uploadbuild.pyc and /dev/null differ diff --git a/bin/awscli/customizations/generatecliskeleton.pyc b/bin/awscli/customizations/generatecliskeleton.pyc deleted file mode 100644 index d5295f6a..00000000 Binary files a/bin/awscli/customizations/generatecliskeleton.pyc and /dev/null differ diff --git a/bin/awscli/customizations/globalargs.pyc b/bin/awscli/customizations/globalargs.pyc deleted file mode 100644 index 71badd9b..00000000 Binary files a/bin/awscli/customizations/globalargs.pyc and /dev/null differ diff --git a/bin/awscli/customizations/history/__init__.pyc b/bin/awscli/customizations/history/__init__.pyc deleted file mode 100644 index 53509d0e..00000000 Binary files a/bin/awscli/customizations/history/__init__.pyc and /dev/null differ diff --git a/bin/awscli/customizations/history/commands.pyc b/bin/awscli/customizations/history/commands.pyc deleted file mode 100644 index 7ab656b7..00000000 Binary files a/bin/awscli/customizations/history/commands.pyc and /dev/null differ diff --git a/bin/awscli/customizations/history/constants.pyc b/bin/awscli/customizations/history/constants.pyc deleted file mode 100644 index de633710..00000000 Binary files a/bin/awscli/customizations/history/constants.pyc and /dev/null differ diff --git a/bin/awscli/customizations/history/db.pyc b/bin/awscli/customizations/history/db.pyc deleted file mode 100644 index 8cd27e0c..00000000 Binary files a/bin/awscli/customizations/history/db.pyc and /dev/null differ diff --git a/bin/awscli/customizations/history/filters.pyc b/bin/awscli/customizations/history/filters.pyc deleted file mode 100644 index 50f6ab7b..00000000 Binary files a/bin/awscli/customizations/history/filters.pyc and /dev/null differ diff --git a/bin/awscli/customizations/history/list.pyc b/bin/awscli/customizations/history/list.pyc deleted file mode 100644 index 94d8d477..00000000 Binary files a/bin/awscli/customizations/history/list.pyc and /dev/null differ diff --git a/bin/awscli/customizations/history/show.pyc b/bin/awscli/customizations/history/show.pyc deleted file mode 100644 index 9e1ca3ff..00000000 Binary files a/bin/awscli/customizations/history/show.pyc and /dev/null differ diff --git a/bin/awscli/customizations/iamvirtmfa.pyc b/bin/awscli/customizations/iamvirtmfa.pyc deleted file mode 100644 index b469cb12..00000000 Binary files a/bin/awscli/customizations/iamvirtmfa.pyc and /dev/null differ diff --git a/bin/awscli/customizations/iot.pyc b/bin/awscli/customizations/iot.pyc deleted file mode 100644 index a3871588..00000000 Binary files a/bin/awscli/customizations/iot.pyc and /dev/null differ diff --git a/bin/awscli/customizations/iot_data.pyc b/bin/awscli/customizations/iot_data.pyc deleted file mode 100644 index 0b6ad6c9..00000000 Binary files a/bin/awscli/customizations/iot_data.pyc and /dev/null differ diff --git a/bin/awscli/customizations/kms.pyc b/bin/awscli/customizations/kms.pyc deleted file mode 100644 index 100997f0..00000000 Binary files a/bin/awscli/customizations/kms.pyc and /dev/null differ diff --git a/bin/awscli/customizations/mturk.pyc b/bin/awscli/customizations/mturk.pyc deleted file mode 100644 index fe96a07a..00000000 Binary files a/bin/awscli/customizations/mturk.pyc and /dev/null differ diff --git a/bin/awscli/customizations/opsworks.py b/bin/awscli/customizations/opsworks.py index bab21ce1..91048a5f 100644 --- a/bin/awscli/customizations/opsworks.py +++ b/bin/awscli/customizations/opsworks.py @@ -34,6 +34,7 @@ IAM_USER_POLICY_NAME = "OpsWorks-Instance" IAM_USER_POLICY_TIMEOUT = datetime.timedelta(minutes=15) IAM_PATH = '/AWS/OpsWorks/' +IAM_POLICY_ARN = 'arn:aws:iam::aws:policy/AWSOpsWorksInstanceRegistration' HOSTNAME_RE = re.compile(r"^(?!-)[a-z0-9-]{1,63}(?`_ in the *Amazon API Gateway Developer Guide*. diff --git a/bin/awscli/examples/apigatewayv2/create-api.rst b/bin/awscli/examples/apigatewayv2/create-api.rst new file mode 100644 index 00000000..f94755fd --- /dev/null +++ b/bin/awscli/examples/apigatewayv2/create-api.rst @@ -0,0 +1,21 @@ +**To create a WebSocket API** + +The following ``create-api`` example creates a WebSocket API with the specified name. :: + + aws apigatewayv2 create-api \ + --name "myWebSocketApi" \ + --protocol-type WEBSOCKET \ + --route-selection-expression '$request.body.action' + +Output:: + + { + "ApiKeySelectionExpression": "$request.header.x-api-key", + "Name": "myWebSocketApi", + "CreatedDate": "2018-11-15T06:23:51Z", + "ProtocolType": "WEBSOCKET", + "RouteSelectionExpression": "'$request.body.action'", + "ApiId": "aabbccddee" + } + +For more information, see `Create a WebSocket API in API Gateway `_ in the *Amazon API Gateway Developer Guide*. diff --git a/bin/awscli/examples/apigatewayv2/create-integration.rst b/bin/awscli/examples/apigatewayv2/create-integration.rst new file mode 100644 index 00000000..9dcfc5dc --- /dev/null +++ b/bin/awscli/examples/apigatewayv2/create-integration.rst @@ -0,0 +1,27 @@ +**To create a WebSocket API Integration Request** + +The following ``create-integration`` requests an integration for a WebSocket API. :: + + aws apigatewayv2 create-integration \ + --api-id aabbccddee \ + --passthrough-behavior WHEN_NO_MATCH \ + --timeout-in-millis 29000 \ + --connection-type INTERNET + --request-templates "{\"application/json\": \"{\"statusCode\":200}\"}" + --integration-type MOCK + +Output:: + + { + "PassthroughBehavior": "WHEN_NO_MATCH", + "TimeoutInMillis": 29000, + "ConnectionType": "INTERNET", + "IntegrationResponseSelectionExpression": "${response.statuscode}", + "RequestTemplates": { + "application/json": "{"statusCode":200}" + }, + "IntegrationId": "0abcdef", + "IntegrationType": "MOCK" + } + +For more information, see `Set up a WebSocket API Integration Request in API Gateway `_ in the *Amazon API Gateway Developer Guide*. diff --git a/bin/awscli/examples/apigatewayv2/create-route.rst b/bin/awscli/examples/apigatewayv2/create-route.rst new file mode 100644 index 00000000..901bcefb --- /dev/null +++ b/bin/awscli/examples/apigatewayv2/create-route.rst @@ -0,0 +1,18 @@ +**To create a route for a WebSocket API** + +The following ``create-route`` example creates a route for a WebSocket API. :: + + aws apigatewayv2 create-route \ + --api-id aabbccddee \ + --route-key $default + +Output:: + + { + "ApiKeyRequired": false, + "AuthorizationType": "NONE", + "RouteKey": "$default", + "RouteId": "1122334" + } + +For more information, see `Set up Routes for a WebSocket API in API Gateway `_ in the *Amazon API Gateway Developer Guide* diff --git a/bin/awscli/examples/application-autoscaling/deregister-scalable-target.rst b/bin/awscli/examples/application-autoscaling/deregister-scalable-target.rst index 008386f4..e018263f 100644 --- a/bin/awscli/examples/application-autoscaling/deregister-scalable-target.rst +++ b/bin/awscli/examples/application-autoscaling/deregister-scalable-target.rst @@ -5,3 +5,13 @@ This example deregisters a scalable target for an Amazon ECS service called `web Command:: aws application-autoscaling deregister-scalable-target --service-namespace ecs --scalable-dimension ecs:service:DesiredCount --resource-id service/default/web-app + +This example deregisters a scalable target for a custom resource. The custom-resource-id.txt file contains a string that identifies the Resource ID, which, for a custom resource, is the path to the custom resource through your Amazon API Gateway endpoint. + +Command:: + + aws application-autoscaling deregister-scalable-target --service-namespace custom-resource --scalable-dimension custom-resource:ResourceType:Property --resource-id file://~/custom-resource-id.txt + +Contents of custom-resource-id.txt file:: + + https://example.execute-api.us-west-2.amazonaws.com/prod/scalableTargetDimensions/1-23456789 diff --git a/bin/awscli/examples/application-autoscaling/put-scaling-policy.rst b/bin/awscli/examples/application-autoscaling/put-scaling-policy.rst old mode 100644 new mode 100755 index 5233bacf..a02869e6 --- a/bin/awscli/examples/application-autoscaling/put-scaling-policy.rst +++ b/bin/awscli/examples/application-autoscaling/put-scaling-policy.rst @@ -1,33 +1,85 @@ -**To apply a scaling policy to an Amazon ECS service** - -This example command applies a scaling policy to an Amazon ECS service called `web-app` in the `default` cluster. The policy increases the desired count of the service by 200%, with a cool down period of 60 seconds. - -Command:: - - aws application-autoscaling put-scaling-policy --cli-input-json file://scale-out.json - -Contents of `scale-out.json` file:: - - { - "PolicyName": "web-app-cpu-gt-75", - "ServiceNamespace": "ecs", - "ResourceId": "service/default/web-app", - "ScalableDimension": "ecs:service:DesiredCount", - "PolicyType": "StepScaling", - "StepScalingPolicyConfiguration": { - "AdjustmentType": "PercentChangeInCapacity", - "StepAdjustments": [ - { - "MetricIntervalLowerBound": 0, - "ScalingAdjustment": 200 - } - ], - "Cooldown": 60 - } - } +**Example 1: To apply a target tracking scaling policy with a predefined metric specification** + +The following ``put-scaling-policy`` example applies a target tracking scaling policy with a predefined metric specification to an Amazon ECS service called web-app in the default cluster. The policy keeps the average CPU utilization of the service at 75 percent, with scale-out and scale-in cooldown periods of 60 seconds. The output contains the ARNs and names of the two CloudWatch alarms created on your behalf. :: + + aws application-autoscaling put-scaling-policy --service-namespace ecs \ + --scalable-dimension ecs:service:DesiredCount \ + --resource-id service/default/web-app \ + --policy-name cpu75-target-tracking-scaling-policy --policy-type TargetTrackingScaling \ + --target-tracking-scaling-policy-configuration file://config.json + +This example assumes that you have a `config.json` file in the current directory with the following contents:: + + { + "TargetValue": 75.0, + "PredefinedMetricSpecification": { + "PredefinedMetricType": "ECSServiceAverageCPUUtilization" + }, + "ScaleOutCooldown": 60, + "ScaleInCooldown": 60 + } Output:: - { - "PolicyARN": "arn:aws:autoscaling:us-west-2:012345678910:scalingPolicy:6d8972f3-efc8-437c-92d1-6270f29a66e7:resource/ecs/service/default/web-app:policyName/web-app-cpu-gt-75" - } + { + "PolicyARN": "arn:aws:autoscaling:us-west-2:012345678910:scalingPolicy:6d8972f3-efc8-437c-92d1-6270f29a66e7:resource/ecs/service/default/web-app:policyName/cpu75-target-tracking-scaling-policy", + "Alarms": [ + { + "AlarmARN": "arn:aws:cloudwatch:us-west-2:012345678910:alarm:TargetTracking-service/default/web-app-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca", + "AlarmName": "TargetTracking-service/default/web-app-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca" + }, + { + "AlarmARN": "arn:aws:cloudwatch:us-west-2:012345678910:alarm:TargetTracking-service/default/web-app-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d", + "AlarmName": "TargetTracking-service/default/web-app-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d" + } + ] + } + +**Example 2: To apply a target tracking scaling policy with a customized metric specification** + +The following ``put-scaling-policy`` example applies a target tracking scaling policy with a customized metric specification to an Amazon ECS service called web-app in the default cluster. The policy keeps the average utilization of the service at 75 percent, with scale-out and scale-in cooldown periods of 60 seconds. The output contains the ARNs and names of the two CloudWatch alarms created on your behalf. :: + + aws application-autoscaling put-scaling-policy --service-namespace ecs \ + --scalable-dimension ecs:service:DesiredCount \ + --resource-id service/default/web-app \ + --policy-name cms75-target-tracking-scaling-policy + --policy-type TargetTrackingScaling \ + --target-tracking-scaling-policy-configuration file://config.json + +This example assumes that you have a `config.json` file in the current directory with the following contents:: + + { + "TargetValue":75.0, + "CustomizedMetricSpecification":{ + "MetricName":"MyUtilizationMetric", + "Namespace":"MyNamespace", + "Dimensions": [ + { + "Name":"MyOptionalMetricDimensionName", + "Value":"MyOptionalMetricDimensionValue" + } + ], + "Statistic":"Average", + "Unit":"Percent" + }, + "ScaleOutCooldown": 60, + "ScaleInCooldown": 60 + } + +Output:: + + { + "PolicyARN": "arn:aws:autoscaling:us-west-2:012345678910:scalingPolicy: 8784a896-b2ba-47a1-b08c-27301cc499a1:resource/ecs/service/default/web-app:policyName/cms75-target-tracking-scaling-policy", + "Alarms": [ + { + "AlarmARN": "arn:aws:cloudwatch:us-west-2:012345678910:alarm:TargetTracking-service/default/web-app-AlarmHigh-9bc77b56-0571-4276-ba0f-d4178882e0a0", + "AlarmName": "TargetTracking-service/default/web-app-AlarmHigh-9bc77b56-0571-4276-ba0f-d4178882e0a0" + }, + { + "AlarmARN": "arn:aws:cloudwatch:us-west-2:012345678910:alarm:TargetTracking-service/default/web-app-AlarmLow-9b6ad934-6d37-438e-9e05-02836ddcbdc4", + "AlarmName": "TargetTracking-service/default/web-app-AlarmLow-9b6ad934-6d37-438e-9e05-02836ddcbdc4" + } + ] + } + +For more information, see `Target Tracking Scaling Policies for Application Auto Scaling `_ in the *AWS Application Auto Scaling User Guide*. diff --git a/bin/awscli/examples/application-autoscaling/put-scheduled-action.rst b/bin/awscli/examples/application-autoscaling/put-scheduled-action.rst new file mode 100644 index 00000000..d82d7444 --- /dev/null +++ b/bin/awscli/examples/application-autoscaling/put-scheduled-action.rst @@ -0,0 +1,11 @@ +**To add a scheduled action to a DynamoDB table** + +This example adds a scheduled action to a DynamoDB table called `TestTable` to scale out on a recurring schedule. On the specified schedule (every day at 12:15pm UTC), if the current capacity is below the value specified for MinCapacity, Application Auto Scaling scales out to the value specified by MinCapacity. + +Command:: + + aws application-autoscaling put-scheduled-action --service-namespace dynamodb --scheduled-action-name my-recurring-action --schedule "cron(15 12 * * ? *)" --resource-id table/TestTable --scalable-dimension dynamodb:table:WriteCapacityUnits --scalable-target-action MinCapacity=6 + +For more information, see `Scheduled Scaling`_ in the *Application Auto Scaling User Guide*. + +.. _`Scheduled Scaling`: https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html diff --git a/bin/awscli/examples/application-autoscaling/register-scalable-target.rst b/bin/awscli/examples/application-autoscaling/register-scalable-target.rst index 8a5917c3..028538c8 100644 --- a/bin/awscli/examples/application-autoscaling/register-scalable-target.rst +++ b/bin/awscli/examples/application-autoscaling/register-scalable-target.rst @@ -4,18 +4,54 @@ This example command registers a scalable target from an Amazon ECS service call Command:: - aws application-autoscaling register-scalable-target --resource-id service/default/web-app --service-namespace ecs --scalable-dimension ecs:service:DesiredCount --min-capacity 1 --max-capacity 10 --role-arn arn:aws:iam::012345678910:role/ApplicationAutoscalingECSRole - -Output:: - - { - "cluster": { - "status": "ACTIVE", - "clusterName": "my_cluster", - "registeredContainerInstancesCount": 0, - "pendingTasksCount": 0, - "runningTasksCount": 0, - "activeServicesCount": 0, - "clusterArn": "arn:aws:ecs:::cluster/my_cluster" - } - } + aws application-autoscaling register-scalable-target --service-namespace ecs --scalable-dimension ecs:service:DesiredCount --resource-id service/default/web-app --min-capacity 1 --max-capacity 10 + +This example command registers a scalable target from a Spot Fleet request using its request ID, with a minimum desired count of 2 instances and a maximum desired count of 10 instances. + +Command:: + + aws application-autoscaling register-scalable-target --service-namespace ec2 --scalable-dimension ec2:spot-fleet-request:TargetCapacity --resource-id spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE --min-capacity 2 --max-capacity 10 + +This example command registers a scalable target from an AppStream 2.0 fleet called `sample-fleet`, with a minimum desired count of 1 instance and a maximum desired count of 5 instances. + +Command:: + + aws application-autoscaling register-scalable-target --service-namespace appstream --scalable-dimension appstream:fleet:DesiredCapacity --resource-id fleet/sample-fleet --min-capacity 1 --max-capacity 5 + +This example command registers the write capacity of a DynamoDB table called `my-table` as a scalable target, with a minimum desired count of 5 write capacity units and a maximum desired count of 10 write capacity units. + +Command:: + + aws application-autoscaling register-scalable-target --service-namespace dynamodb --scalable-dimension dynamodb:table:WriteCapacityUnits --resource-id table/my-table --min-capacity 5 --max-capacity 10 + +This example command registers the write capacity of a DynamoDB global secondary index called `my-table-index` as a scalable target, with a minimum desired count of 5 write capacity units and a maximum desired count of 10 write capacity units. + +Command:: + + aws application-autoscaling register-scalable-target --service-namespace dynamodb --scalable-dimension dynamodb:index:WriteCapacityUnits --resource-id table/my-table/index/my-table-index --min-capacity 5 --max-capacity 10 + +This example command registers a scalable target from an Aurora DB cluster called `my-db-cluster`, with a minimum desired count of 1 Aurora Replica and a maximum desired count of 8 Aurora Replicas. + +Command:: + + aws application-autoscaling register-scalable-target --service-namespace rds --scalable-dimension rds:cluster:ReadReplicaCount --resource-id cluster:my-db-cluster --min-capacity 1 --max-capacity 8 + +This example command registers a scalable target from an Amazon Sagemaker product variant called `my-variant` running on the `my-endpoint` endpoint, with a minimum desired count of 1 instance and a maximum desired count of 8 instances. + +Command:: + + aws application-autoscaling register-scalable-target --service-namespace sagemaker --scalable-dimension sagemaker:variant:DesiredInstanceCount --resource-id endpoint/my-endpoint/variant/my-variant --min-capacity 1 --max-capacity 8 + +This example registers a custom resource as a scalable target, with a minimum desired count of 1 capacity unit and a maximum desired count of 10 capacity units. The custom-resource-id.txt file contains a string that identifies the Resource ID, which, for a custom resource, is the path to the custom resource through your Amazon API Gateway endpoint. + +Command:: + + aws application-autoscaling register-scalable-target --service-namespace custom-resource --scalable-dimension custom-resource:ResourceType:Property --resource-id file://~/custom-resource-id.txt --min-capacity 1 --max-capacity 10 + +Contents of custom-resource-id.txt file:: + + https://example.execute-api.us-west-2.amazonaws.com/prod/scalableTargetDimensions/1-23456789 + +For more information, see the `Application Auto Scaling User Guide`_. + +.. _`Application Auto Scaling User Guide`: https://docs.aws.amazon.com/autoscaling/application/userguide/what-is-application-auto-scaling.html diff --git a/bin/awscli/examples/autoscaling/create-auto-scaling-group.rst b/bin/awscli/examples/autoscaling/create-auto-scaling-group.rst index d39cf4c4..39d5780a 100644 --- a/bin/awscli/examples/autoscaling/create-auto-scaling-group.rst +++ b/bin/awscli/examples/autoscaling/create-auto-scaling-group.rst @@ -1,17 +1,68 @@ -**To create an Auto Scaling group** +**To create an Auto Scaling group using a launch configuration** -This example creates an Auto Scaling group in a VPC:: +This example creates an Auto Scaling group in a VPC using a launch configuration to specify the type of EC2 instance that Amazon EC2 Auto Scaling creates:: - aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-auto-scaling-group --launch-configuration-name my-launch-config --min-size 1 --max-size 3 --vpc-zone-identifier subnet-41767929c + aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg --launch-configuration-name my-launch-config --min-size 1 --max-size 3 --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" This example creates an Auto Scaling group and configures it to use an Elastic Load Balancing load balancer:: - aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-auto-scaling-group --launch-configuration-name my-launch-config --load-balancer-names my-load-balancer --health-check-type ELB --health-check-grace-period 120 + aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg --launch-configuration-name my-launch-config --load-balancer-names my-load-balancer --health-check-type ELB --health-check-grace-period 120 --min-size 1 --max-size 3 --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" -This example creates an Auto Scaling group. It specifies Availability Zones instead of subnets. It also launches instances into a placement group and sets the termination policy to terminate the oldest instances first:: +This example specifies a desired capacity as well as a minimum and maximum capacity. It also launches instances into a placement group and sets the termination policy to terminate the oldest instances first:: - aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-auto-scaling-group --launch-configuration-name my-launch-config --min-size 1 --max-size 3 --desired-capacity 2 --default-cooldown 600 --placement-group my-placement-group --termination-policies "OldestInstance" --availability-zones us-west-2c + aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg --launch-configuration-name my-launch-config --min-size 1 --max-size 3 --desired-capacity 1 --placement-group my-placement-group --termination-policies "OldestInstance" --availability-zones us-west-2c + +**To create an Auto Scaling group using an EC2 instance** This example creates an Auto Scaling group from the specified EC2 instance and assigns a tag to instances in the group:: - aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-auto-scaling-group --instance-id i-22c99e2a --min-size 1 --max-size 3 --vpc-zone-identifier subnet-41767929 --tags ResourceId=my-auto-scaling-group,ResourceType=auto-scaling-group,Key=Role,Value=WebServer + aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg --instance-id i-22c99e2a --min-size 1 --max-size 3 --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" --tags "ResourceId=my-asg,ResourceType=auto-scaling-group,Key=Role,Value=WebServer,PropagateAtLaunch=true" + +**To create an Auto Scaling group using a launch template** + +This example creates an Auto Scaling group in a VPC using a launch template to specify the type of EC2 instance that Amazon EC2 Auto Scaling creates:: + + aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg --launch-template "LaunchTemplateName=my-template-for-auto-scaling,Version=1" --min-size 1 --max-size 3 --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" + +This example uses the default version of the specified launch template. It specifies Availability Zones and subnets and enables the instance protection setting:: + + aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg --launch-template LaunchTemplateId=lt-0a4872e2c396d941c --min-size 1 --max-size 3 --desired-capacity 2 --availability-zones us-west-2a us-west-2b us-west-2c --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" --new-instances-protected-from-scale-in + +This example creates an Auto Scaling group that launches a single instance using a launch template to optionally specify the ID of an existing network interface (ENI ID) to use. It specifies an Availability Zone that matches the specified network interface:: + + aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg-single-instance --launch-template "LaunchTemplateName=my-single-instance-asg-template,Version=2" --min-size 1 --max-size 1 --availability-zones us-west-2a + +This example creates an Auto Scaling group with a lifecycle hook that supports a custom action at instance termination:: + + aws autoscaling create-auto-scaling-group --cli-input-json file://~/config.json + +Contents of config.json file:: + + { + "AutoScalingGroupName": "my-asg", + "LaunchTemplate": { + "LaunchTemplateId": "lt-0a4872e2c396d941c" + }, + "LifecycleHookSpecificationList": [{ + "LifecycleHookName": "my-hook", + "LifecycleTransition": "autoscaling:EC2_INSTANCE_TERMINATING", + "NotificationTargetARN": "arn:aws:sqs:us-west-2:123456789012:my-sqs-queue", + "RoleARN": "arn:aws:iam::123456789012:role/my-notification-role", + "HeartbeatTimeout": 300, + "DefaultResult": "CONTINUE" + }], + "MinSize": 1, + "MaxSize": 5, + "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", + "Tags": [{ + "ResourceType": "auto-scaling-group", + "ResourceId": "my-asg", + "PropagateAtLaunch": true, + "Value": "test", + "Key": "environment" + }] + } + +For more information, see the `Amazon EC2 Auto Scaling User Guide`_. + +.. _`Amazon EC2 Auto Scaling User Guide`: https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html diff --git a/bin/awscli/examples/autoscaling/create-launch-configuration.rst b/bin/awscli/examples/autoscaling/create-launch-configuration.rst index 89283e81..d500add2 100644 --- a/bin/awscli/examples/autoscaling/create-launch-configuration.rst +++ b/bin/awscli/examples/autoscaling/create-launch-configuration.rst @@ -4,10 +4,6 @@ This example creates a launch configuration:: aws autoscaling create-launch-configuration --launch-configuration-name my-launch-config --image-id ami-c6169af6 --instance-type m1.medium -This example creates a launch configuration that uses Spot Instances:: - - aws autoscaling create-launch-configuration --launch-configuration-name my-launch-config --image-id ami-c6169af6 --instance-type m1.medium --spot-price "0.50" - This example creates a launch configuration with a key pair and a bootstrapping script:: aws autoscaling create-launch-configuration --launch-configuration-name my-launch-config --key-name my-key-pair --image-id ami-c6169af6 --instance-type m1.small --user-data file://myuserdata.txt @@ -33,3 +29,15 @@ Add the following parameter to omit a device included on the instance (for examp Parameter:: --block-device-mappings "[{\"DeviceName\": \"/dev/sdf\",\"NoDevice\":\"\"}]" + +For more information about quoting JSON-formatted parameters, see `Quoting Strings`_ in the *AWS Command Line Interface User Guide*. + +This example creates a launch configuration that uses Spot Instances:: + + aws autoscaling create-launch-configuration --launch-configuration-name my-launch-config --image-id ami-01e24be29428c15b2 --instance-type c5.large --spot-price "0.50" + +For more information, see `Launching Spot Instances in Your Auto Scaling Group`_ in the *Amazon EC2 Auto Scaling User Guide*. + +.. _`Quoting Strings`: https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters.html#quoting-strings + +.. _`Launching Spot Instances in Your Auto Scaling Group`: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-launch-spot-instances.html diff --git a/bin/awscli/examples/autoscaling/delete-auto-scaling-group.rst b/bin/awscli/examples/autoscaling/delete-auto-scaling-group.rst index ff5bb1c7..63f87636 100644 --- a/bin/awscli/examples/autoscaling/delete-auto-scaling-group.rst +++ b/bin/awscli/examples/autoscaling/delete-auto-scaling-group.rst @@ -8,6 +8,6 @@ To delete the Auto Scaling group without waiting for the instances in the group aws autoscaling delete-auto-scaling-group --auto-scaling-group-name my-auto-scaling-group --force-delete -For more information, see `Shut Down Auto Scaling Processes`_ in the *Auto Scaling Developer Guide*. +For more information, see `Deleting Your Auto Scaling Infrastructure`_ in the *Amazon EC2 Auto Scaling User Guide*. -.. _`Shut Down Auto Scaling Processes`: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-process-shutdown.html +.. _`Deleting Your Auto Scaling Infrastructure`: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-process-shutdown.html diff --git a/bin/awscli/examples/autoscaling/delete-launch-configuration.rst b/bin/awscli/examples/autoscaling/delete-launch-configuration.rst index 0f6b7729..4b9b3629 100644 --- a/bin/awscli/examples/autoscaling/delete-launch-configuration.rst +++ b/bin/awscli/examples/autoscaling/delete-launch-configuration.rst @@ -4,6 +4,6 @@ This example deletes the specified launch configuration:: aws autoscaling delete-launch-configuration --launch-configuration-name my-launch-config -For more information, see `Shut Down Auto Scaling Processes`_ in the *Auto Scaling Developer Guide*. +For more information, see `Deleting Your Auto Scaling Infrastructure`_ in the *Amazon EC2 Auto Scaling User Guide*. -.. _`Shut Down Auto Scaling Processes`: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-process-shutdown.html +.. _`Deleting Your Auto Scaling Infrastructure`: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-process-shutdown.html diff --git a/bin/awscli/examples/autoscaling/delete-notification-configuration.rst b/bin/awscli/examples/autoscaling/delete-notification-configuration.rst index a7993efa..0a7023f9 100644 --- a/bin/awscli/examples/autoscaling/delete-notification-configuration.rst +++ b/bin/awscli/examples/autoscaling/delete-notification-configuration.rst @@ -4,6 +4,6 @@ This example deletes the specified notification from the specified Auto Scaling aws autoscaling delete-notification-configuration --auto-scaling-group-name my-auto-scaling-group --topic-arn arn:aws:sns:us-west-2:123456789012:my-sns-topic -For more information, see `Delete the Notification Configuration`_ in the *Auto Scaling Developer Guide*. +For more information, see `Delete the Notification Configuration`_ in the *Amazon EC2 Auto Scaling User Guide*. -.. _`Delete the Notification Configuration`: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/ASGettingNotifications.html#delete-settingupnotifications +.. _`Delete the Notification Configuration`: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ASGettingNotifications.html#delete-settingupnotifications diff --git a/bin/awscli/examples/autoscaling/delete-tags.rst b/bin/awscli/examples/autoscaling/delete-tags.rst index 37668d52..33492557 100644 --- a/bin/awscli/examples/autoscaling/delete-tags.rst +++ b/bin/awscli/examples/autoscaling/delete-tags.rst @@ -4,6 +4,6 @@ This example deletes the specified tag from the specified Auto Scaling group:: aws autoscaling delete-tags --tags ResourceId=my-auto-scaling-group,ResourceType=auto-scaling-group,Key=Dept,Value=Research -For more information, see `Tagging Auto Scaling Groups and Instances`_ in the *Auto Scaling Developer Guide*. +For more information, see `Tagging Auto Scaling Groups and Instances`_ in the *Amazon EC2 Auto Scaling User Guide*. -.. _`Tagging Auto Scaling Groups and Instances`: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/ASTagging.html +.. _`Tagging Auto Scaling Groups and Instances`: https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html diff --git a/bin/awscli/examples/autoscaling/describe-account-limits.rst b/bin/awscli/examples/autoscaling/describe-account-limits.rst index 26758568..5db97d33 100644 --- a/bin/awscli/examples/autoscaling/describe-account-limits.rst +++ b/bin/awscli/examples/autoscaling/describe-account-limits.rst @@ -13,6 +13,6 @@ The following is example output:: "MaxNumberOfAutoScalingGroups": 20 } -For more information, see `Auto Scaling Limits`_ in the *Auto Scaling Developer Guide*. +For more information, see `Amazon EC2 Auto Scaling Limits`_ in the *Amazon EC2 Auto Scaling User Guide*. -.. _`Auto Scaling Limits`: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-account-limits.html +.. _`Amazon EC2 Auto Scaling Limits`: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html diff --git a/bin/awscli/examples/autoscaling/describe-adjustment-types.rst b/bin/awscli/examples/autoscaling/describe-adjustment-types.rst index d3bf4ded..9ee213da 100644 --- a/bin/awscli/examples/autoscaling/describe-adjustment-types.rst +++ b/bin/awscli/examples/autoscaling/describe-adjustment-types.rst @@ -20,6 +20,6 @@ The following is example output:: ] } -For more information, see `Scaling Adjustment Types`_ in the *Auto Scaling Developer Guide*. +For more information, see `Scaling Adjustment Types`_ in the *Amazon EC2 Auto Scaling User Guide*. -.. _`Scaling Adjustment Types`: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-scale-based-on-demand.html#as-scaling-adjustment +.. _`Scaling Adjustment Types`: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html#as-scaling-adjustment diff --git a/bin/awscli/examples/autoscaling/describe-auto-scaling-groups.rst b/bin/awscli/examples/autoscaling/describe-auto-scaling-groups.rst index fbcc6728..c311ff72 100644 --- a/bin/awscli/examples/autoscaling/describe-auto-scaling-groups.rst +++ b/bin/awscli/examples/autoscaling/describe-auto-scaling-groups.rst @@ -4,6 +4,14 @@ This example describes the specified Auto Scaling group:: aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-auto-scaling-group +This example describes the specified Auto Scaling groups. It allows you to specify up to 100 group names:: + + aws autoscaling describe-auto-scaling-groups --max-items 100 --auto-scaling-group-name "group1" "group2" "group3" "group4" + +This example describes the Auto Scaling groups in the specified region, up to a maximum of 75 groups:: + + aws autoscaling describe-auto-scaling-groups --max-items 75 --region us-east-1 + The following is example output:: { diff --git a/bin/awscli/examples/autoscaling/describe-auto-scaling-notification-types.rst b/bin/awscli/examples/autoscaling/describe-auto-scaling-notification-types.rst index a66b076c..c0830bb7 100644 --- a/bin/awscli/examples/autoscaling/describe-auto-scaling-notification-types.rst +++ b/bin/awscli/examples/autoscaling/describe-auto-scaling-notification-types.rst @@ -16,6 +16,6 @@ The following is example output:: ] } -For more information, see `Configure Your Auto Scaling Group to Send Notifications`_ in the *Auto Scaling Developer Guide*. +For more information, see `Getting Amazon SNS Notifications When Your Auto Scaling Group Scales`_ in the *Amazon EC2 Auto Scaling User Guide*. -.. _`Configure Your Auto Scaling Group to Send Notifications`: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/ASGettingNotifications.html#as-configure-asg-for-sns +.. _`Getting Amazon SNS Notifications When Your Auto Scaling Group Scales`: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ASGettingNotifications.html diff --git a/bin/awscli/examples/autoscaling/describe-metric-collection-types.rst b/bin/awscli/examples/autoscaling/describe-metric-collection-types.rst index a1566492..2ef5cacf 100644 --- a/bin/awscli/examples/autoscaling/describe-metric-collection-types.rst +++ b/bin/awscli/examples/autoscaling/describe-metric-collection-types.rst @@ -40,6 +40,6 @@ The following is example output:: ] } -For more information, see `Enable Auto Scaling Group Metrics`_ in the *Auto Scaling Developer Guide*. +For more information, see `Auto Scaling Group Metrics`_ in the *Amazon EC2 Auto Scaling User Guide*. -.. _`Enable Auto Scaling Group Metrics`: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-instance-monitoring.html#as-group-metrics +.. _`Auto Scaling Group Metrics`: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-monitoring.html#as-group-metrics diff --git a/bin/awscli/examples/autoscaling/describe-notification-configurations.rst b/bin/awscli/examples/autoscaling/describe-notification-configurations.rst index 9b131b76..c1436859 100644 --- a/bin/awscli/examples/autoscaling/describe-notification-configurations.rst +++ b/bin/awscli/examples/autoscaling/describe-notification-configurations.rst @@ -42,6 +42,6 @@ Use the ``NextToken`` field with the ``starting-token`` parameter in a subsequen aws autoscaling describe-notification-configurations --auto-scaling-group-name my-auto-scaling-group --starting-token Z3M3LMPEXAMPLE -For more information, see `Getting Notifications When Your Auto Scaling Group Changes`_ in the *Auto Scaling Developer Guide*. +For more information, see `Getting Amazon SNS Notifications When Your Auto Scaling Group Scales`_ in the *Amazon EC2 Auto Scaling User Guide*. -.. _`Getting Notifications When Your Auto Scaling Group Changes`: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/ASGettingNotifications.html +.. _`Getting Amazon SNS Notifications When Your Auto Scaling Group Scales`: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ASGettingNotifications.html diff --git a/bin/awscli/examples/autoscaling/describe-policies.rst b/bin/awscli/examples/autoscaling/describe-policies.rst index 4355d09f..3ae2e316 100644 --- a/bin/awscli/examples/autoscaling/describe-policies.rst +++ b/bin/awscli/examples/autoscaling/describe-policies.rst @@ -57,6 +57,6 @@ If the output includes a ``NextToken`` field, use the value of this field with t aws autoscaling describe-policies --auto-scaling-group-name my-auto-scaling-group --starting-token Z3M3LMPEXAMPLE -For more information, see `Dynamic Scaling`_ in the *Auto Scaling Developer Guide*. +For more information, see `Dynamic Scaling`_ in the *Amazon EC2 Auto Scaling User Guide*. -.. _`Dynamic Scaling`: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-scale-based-on-demand.html +.. _`Dynamic Scaling`: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scale-based-on-demand.html diff --git a/bin/awscli/examples/autoscaling/describe-scaling-process-types.rst b/bin/awscli/examples/autoscaling/describe-scaling-process-types.rst index 8b590cd2..7e4b9b2f 100644 --- a/bin/awscli/examples/autoscaling/describe-scaling-process-types.rst +++ b/bin/awscli/examples/autoscaling/describe-scaling-process-types.rst @@ -35,6 +35,6 @@ The following is example output:: ] } -For more information, see `Suspend and Resume Auto Scaling Processes`_ in the *Auto Scaling Developer Guide*. +For more information, see `Suspending and Resuming Scaling Processes`_ in the *Amazon EC2 Auto Scaling User Guide*. -.. _`Suspend and Resume Auto Scaling Processes`: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US_SuspendResume.html +.. _`Suspending and Resuming Scaling Processes`: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html diff --git a/bin/awscli/examples/autoscaling/describe-scheduled-actions.rst b/bin/awscli/examples/autoscaling/describe-scheduled-actions.rst index a9f3eb4d..e26b4cca 100644 --- a/bin/awscli/examples/autoscaling/describe-scheduled-actions.rst +++ b/bin/awscli/examples/autoscaling/describe-scheduled-actions.rst @@ -13,7 +13,7 @@ The following is example output:: "DesiredCapacity": 4, "AutoScalingGroupName": "my-auto-scaling-group", "MaxSize": 6, - "Recurrence": "30 0 1 12 0", + "Recurrence": "30 0 1 12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-auto-scaling-group:scheduledActionName/my-scheduled-action", "ScheduledActionName": "my-scheduled-action", "StartTime": "2019-12-01T00:30:00Z", @@ -52,7 +52,7 @@ The following is example output:: "DesiredCapacity": 4, "AutoScalingGroupName": "my-auto-scaling-group", "MaxSize": 6, - "Recurrence": "30 0 1 12 0", + "Recurrence": "30 0 1 12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-auto-scaling-group:scheduledActionName/my-scheduled-action", "ScheduledActionName": "my-scheduled-action", "StartTime": "2019-12-01T00:30:00Z", @@ -65,6 +65,6 @@ Use the ``NextToken`` field with the ``starting-token`` parameter in a subsequen aws autoscaling describe-scheduled-actions --auto-scaling-group-name my-auto-scaling-group --starting-token Z3M3LMPEXAMPLE -For more information, see `Scheduled Scaling`_ in the *Auto Scaling Developer Guide*. +For more information, see `Scheduled Scaling`_ in the *Amazon EC2 Auto Scaling User Guide*. -.. _`Scheduled Scaling`: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/schedule_time.html +.. _`Scheduled Scaling`: https://docs.aws.amazon.com/autoscaling/ec2/userguide/schedule_time.html diff --git a/bin/awscli/examples/autoscaling/describe-tags.rst b/bin/awscli/examples/autoscaling/describe-tags.rst index 78b29821..041d8bbe 100644 --- a/bin/awscli/examples/autoscaling/describe-tags.rst +++ b/bin/awscli/examples/autoscaling/describe-tags.rst @@ -52,6 +52,6 @@ Use the ``NextToken`` field with the ``starting-token`` parameter in a subsequen aws autoscaling describe-tags --filters Name=auto-scaling-group,Values=my-auto-scaling-group --starting-token Z3M3LMPEXAMPLE -For more information, see `Tagging Auto Scaling Groups and Instances`_ in the *Auto Scaling Developer Guide*. +For more information, see `Tagging Auto Scaling Groups and Instances`_ in the *Amazon EC2 Auto Scaling User Guide*. -.. _`Tagging Auto Scaling Groups and Instances`: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/ASTagging.html +.. _`Tagging Auto Scaling Groups and Instances`: https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html diff --git a/bin/awscli/examples/autoscaling/describe-termination-policy-types.rst b/bin/awscli/examples/autoscaling/describe-termination-policy-types.rst index 8bf81677..aa076109 100644 --- a/bin/awscli/examples/autoscaling/describe-termination-policy-types.rst +++ b/bin/awscli/examples/autoscaling/describe-termination-policy-types.rst @@ -8,14 +8,16 @@ The following is example output:: { "TerminationPolicyTypes": [ + "AllocationStrategy", "ClosestToNextInstanceHour", "Default", "NewestInstance", "OldestInstance", - "OldestLaunchConfiguration" + "OldestLaunchConfiguration", + "OldestLaunchTemplate" ] } -For more information, see `Controlling Which Instances Auto Scaling Terminates During Scale In`_ in the *Auto Scaling Developer Guide*. +For more information, see `Controlling Which Instances Auto Scaling Terminates During Scale In`_ in the *Amazon EC2 Auto Scaling User Guide*. -.. _`Controlling Which Instances Auto Scaling Terminates During Scale In`: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingBehavior.InstanceTermination.html#your-termination-policy +.. _`Controlling Which Instances Auto Scaling Terminates During Scale In`: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html diff --git a/bin/awscli/examples/autoscaling/disable-metrics-collection.rst b/bin/awscli/examples/autoscaling/disable-metrics-collection.rst index 298ff273..a6a9cc69 100644 --- a/bin/awscli/examples/autoscaling/disable-metrics-collection.rst +++ b/bin/awscli/examples/autoscaling/disable-metrics-collection.rst @@ -4,6 +4,6 @@ This example disables collecting data for the ``GroupDesiredCapacity`` metric fo aws autoscaling disable-metrics-collection --auto-scaling-group-name my-auto-scaling-group --metrics GroupDesiredCapacity -For more information, see `Monitoring Your Auto Scaling Instances and Groups`_ in the *Auto Scaling Developer Guide*. +For more information, see `Monitoring Your Auto Scaling Groups and Instances Using Amazon CloudWatch`_ in the *Amazon EC2 Auto Scaling User Guide*. -.. _`Monitoring Your Auto Scaling Instances and Groups`: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-instance-monitoring.html +.. _`Monitoring Your Auto Scaling Groups and Instances Using Amazon CloudWatch`: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-monitoring.html diff --git a/bin/awscli/examples/autoscaling/enable-metrics-collection.rst b/bin/awscli/examples/autoscaling/enable-metrics-collection.rst index cf1309c7..3b0d6b96 100644 --- a/bin/awscli/examples/autoscaling/enable-metrics-collection.rst +++ b/bin/awscli/examples/autoscaling/enable-metrics-collection.rst @@ -8,6 +8,6 @@ To collect data for a specific metric, use the ``metrics`` parameter:: aws autoscaling enable-metrics-collection --auto-scaling-group-name my-auto-scaling-group --metrics GroupDesiredCapacity --granularity "1Minute" -For more information, see `Monitoring Your Auto Scaling Instances and Groups`_ in the *Auto Scaling Developer Guide*. +For more information, see `Monitoring Your Auto Scaling Groups and Instances Using Amazon CloudWatch`_ in the *Amazon EC2 Auto Scaling User Guide*. -.. _`Monitoring Your Auto Scaling Instances and Groups`: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-instance-monitoring.html +.. _`Monitoring Your Auto Scaling Groups and Instances Using Amazon CloudWatch`: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-monitoring.html diff --git a/bin/awscli/examples/autoscaling/execute-policy.rst b/bin/awscli/examples/autoscaling/execute-policy.rst index 479e799b..a9d7d9c0 100644 --- a/bin/awscli/examples/autoscaling/execute-policy.rst +++ b/bin/awscli/examples/autoscaling/execute-policy.rst @@ -4,6 +4,6 @@ This example executes the specified Auto Scaling policy for the specified Auto S aws autoscaling execute-policy --auto-scaling-group-name my-auto-scaling-group --policy-name ScaleIn --honor-cooldown -For more information, see `Dynamic Scaling`_ in the *Auto Scaling Developer Guide*. +For more information, see `Dynamic Scaling`_ in the *Amazon EC2 Auto Scaling User Guide*. -.. _`Dynamic Scaling`: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-scale-based-on-demand.html +.. _`Dynamic Scaling`: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scale-based-on-demand.html diff --git a/bin/awscli/examples/autoscaling/put-lifecycle-hook.rst b/bin/awscli/examples/autoscaling/put-lifecycle-hook.rst index 9d7dcb92..8f4e5efa 100644 --- a/bin/awscli/examples/autoscaling/put-lifecycle-hook.rst +++ b/bin/awscli/examples/autoscaling/put-lifecycle-hook.rst @@ -4,6 +4,6 @@ This example creates a lifecycle hook:: aws autoscaling put-lifecycle-hook --lifecycle-hook-name my-lifecycle-hook --auto-scaling-group-name my-auto-scaling-group --lifecycle-transition autoscaling:EC2_INSTANCE_LAUNCHING --notification-target-arn arn:aws:sns:us-west-2:123456789012:my-sns-topic --role-arn arn:aws:iam::123456789012:role/my-auto-scaling-role -For more information, see `Adding Lifecycle Hooks`_ in the *Auto Scaling Developer Guide*. +For more information, see `Add Lifecycle Hooks`_ in the *Amazon EC2 Auto Scaling User Guide*. -.. _`Adding Lifecycle Hooks`: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/adding-lifecycle-hooks.html +.. _`Add Lifecycle Hooks`: https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html#adding-lifecycle-hooks diff --git a/bin/awscli/examples/autoscaling/put-notification-configuration.rst b/bin/awscli/examples/autoscaling/put-notification-configuration.rst index 1c50d5b2..bd800a2b 100644 --- a/bin/awscli/examples/autoscaling/put-notification-configuration.rst +++ b/bin/awscli/examples/autoscaling/put-notification-configuration.rst @@ -4,6 +4,6 @@ This example adds the specified notification to the specified Auto Scaling group aws autoscaling put-notification-configuration --auto-scaling-group-name my-auto-scaling-group --topic-arn arn:aws:sns:us-west-2:123456789012:my-sns-topic --notification-type autoscaling:TEST_NOTIFICATION -For more information, see `Configure Your Auto Scaling Group to Send Notifications`_ in the *Auto Scaling Developer Guide*. +For more information, see `Getting Amazon SNS Notifications When Your Auto Scaling Group Scales`_ in the *Amazon EC2 Auto Scaling User Guide*. -.. _`Configure Your Auto Scaling Group to Send Notifications`: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/ASGettingNotifications.html#as-configure-asg-for-sns +.. _`Getting Amazon SNS Notifications When Your Auto Scaling Group Scales`: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ASGettingNotifications.html#as-configure-asg-for-sns diff --git a/bin/awscli/examples/autoscaling/put-scaling-policy.rst b/bin/awscli/examples/autoscaling/put-scaling-policy.rst index 15bfed03..59fc5188 100644 --- a/bin/awscli/examples/autoscaling/put-scaling-policy.rst +++ b/bin/awscli/examples/autoscaling/put-scaling-policy.rst @@ -1,6 +1,6 @@ **To add a scaling policy to an Auto Scaling group** -This example adds the specified policy to the specified Auto Scaling group:: +This example adds a simple scaling policy to the specified Auto Scaling group:: aws autoscaling put-scaling-policy --auto-scaling-group-name my-auto-scaling-group --policy-name ScaleIn --scaling-adjustment -1 --adjustment-type ChangeInCapacity @@ -15,6 +15,6 @@ The output includes the ARN of the policy. The following is example output:: "PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:2233f3d7-6290-403b-b632-93c553560106:autoScalingGroupName/my-auto-scaling-group:policyName/ScaleIn" } -For more information, see `Dynamic Scaling`_ in the *Auto Scaling Developer Guide*. +For more information, see `Dynamic Scaling`_ in the *Amazon EC2 Auto Scaling User Guide*. -.. _`Dynamic Scaling`: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-scale-based-on-demand.html +.. _`Dynamic Scaling`: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scale-based-on-demand.html diff --git a/bin/awscli/examples/autoscaling/put-scheduled-update-group-action.rst b/bin/awscli/examples/autoscaling/put-scheduled-update-group-action.rst index df0421c4..dc2239c0 100644 --- a/bin/awscli/examples/autoscaling/put-scheduled-update-group-action.rst +++ b/bin/awscli/examples/autoscaling/put-scheduled-update-group-action.rst @@ -6,8 +6,8 @@ This example adds the specified scheduled action to the specified Auto Scaling g This example creates a scheduled action to scale on a recurring schedule that is scheduled to execute at 00:30 hours on the first of January, June, and December every year:: - aws autoscaling put-scheduled-update-group-action --auto-scaling-group-name my-auto-scaling-group --scheduled-action-name my-scheduled-action --recurrence "30 0 1 1,6,12 0" --min-size 2 --max-size 6 --desired-capacity 4 + aws autoscaling put-scheduled-update-group-action --auto-scaling-group-name my-auto-scaling-group --scheduled-action-name my-scheduled-action --recurrence "30 0 1 1,6,12 *" --min-size 2 --max-size 6 --desired-capacity 4 -For more information, see `Scheduled Scaling`__ in the *Auto Scaling Developer Guide*. +For more information, see `Scheduled Scaling`__ in the *Amazon EC2 Auto Scaling User Guide*. -.. __: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/schedule_time.html +.. __: https://docs.aws.amazon.com/autoscaling/ec2/userguide/schedule_time.html \ No newline at end of file diff --git a/bin/awscli/examples/autoscaling/resume-processes.rst b/bin/awscli/examples/autoscaling/resume-processes.rst index 4c5bdf59..b615c473 100644 --- a/bin/awscli/examples/autoscaling/resume-processes.rst +++ b/bin/awscli/examples/autoscaling/resume-processes.rst @@ -4,6 +4,6 @@ This example resumes the specified suspended scaling process for the specified A aws autoscaling resume-processes --auto-scaling-group-name my-auto-scaling-group --scaling-processes AlarmNotification -For more information, see `Suspend and Resume Auto Scaling Processes`_ in the *Auto Scaling Developer Guide*. +For more information, see `Suspending and Resuming Scaling Processes`_ in the *Amazon EC2 Auto Scaling User Guide*. -.. _`Suspend and Resume Auto Scaling Processes`: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US_SuspendResume.html +.. _`Suspending and Resuming Scaling Processes`: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html diff --git a/bin/awscli/examples/autoscaling/suspend-processes.rst b/bin/awscli/examples/autoscaling/suspend-processes.rst index 750fd089..e5ac07e5 100644 --- a/bin/awscli/examples/autoscaling/suspend-processes.rst +++ b/bin/awscli/examples/autoscaling/suspend-processes.rst @@ -4,6 +4,6 @@ This example suspends the specified scaling process for the specified Auto Scali aws autoscaling suspend-processes --auto-scaling-group-name my-auto-scaling-group --scaling-processes AlarmNotification -For more information, see `Suspend and Resume Auto Scaling Processes`_ in the *Auto Scaling Developer Guide*. +For more information, see `Suspending and Resuming Scaling Processes`_ in the *Amazon EC2 Auto Scaling User Guide*. -.. _`Suspend and Resume Auto Scaling Processes`: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US_SuspendResume.html +.. _`Suspending and Resuming Scaling Processes`: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html diff --git a/bin/awscli/examples/budgets/create-budget.rst b/bin/awscli/examples/budgets/create-budget.rst new file mode 100644 index 00000000..e3dd4033 --- /dev/null +++ b/bin/awscli/examples/budgets/create-budget.rst @@ -0,0 +1,57 @@ +**To create a Cost and Usage budget** + +This example creates a Cost and Usage budget. + +Command:: + + aws budgets create-budget --account-id 111122223333 --budget file://budget.json --notifications-with-subscribers file://notifications-with-subscribers.json + +budget.json:: + + { + "BudgetLimit": { + "Amount": "100", + "Unit": "USD" + }, + "BudgetName": "Example Budget", + "BudgetType": "COST", + "CostFilters": { + "AZ" : [ "us-east-1" ] + }, + "CostTypes": { + "IncludeCredit": true, + "IncludeDiscount": true, + "IncludeOtherSubscription": true, + "IncludeRecurring": true, + "IncludeRefund": true, + "IncludeSubscription": true, + "IncludeSupport": true, + "IncludeTax": true, + "IncludeUpfront": true, + "UseBlended": false + }, + "TimePeriod": { + "Start": 1477958399, + "End": 3706473600 + }, + "TimeUnit": "MONTHLY" + } + +notifications-with-subscribers.json:: + + [ + { + "Notification": { + "ComparisonOperator": "GREATER_THAN", + "NotificationType": "ACTUAL", + "Threshold": 80, + "ThresholdType": "PERCENTAGE" + }, + "Subscribers": [ + { + "Address": "example@example.com", + "SubscriptionType": "EMAIL" + } + ] + } + ] diff --git a/bin/awscli/examples/budgets/create-notification.rst b/bin/awscli/examples/budgets/create-notification.rst new file mode 100644 index 00000000..2a52dbc1 --- /dev/null +++ b/bin/awscli/examples/budgets/create-notification.rst @@ -0,0 +1,8 @@ +**To create a notification for the specified Cost and Usage budget** + +This example creates a notification for the specified Cost and Usage budget. + +Command:: + + aws budgets create-notification --account-id 111122223333 --budget-name "Example Budget" --notification NotificationType=ACTUAL,ComparisonOperator=GREATER_THAN,Threshold=80,ThresholdType=PERCENTAGE --subscriber SubscriptionType=EMAIL,Address=example@example.com + diff --git a/bin/awscli/examples/budgets/create-subscriber.rst b/bin/awscli/examples/budgets/create-subscriber.rst new file mode 100644 index 00000000..7a55c124 --- /dev/null +++ b/bin/awscli/examples/budgets/create-subscriber.rst @@ -0,0 +1,8 @@ +**To create a subscriber for a notification associated with a Cost and Usage budget** + +This example creates a subscriber for the specified notification. + +Command:: + + aws budgets create-subscriber --account-id 111122223333 --budget-name "Example Budget" --notification NotificationType=ACTUAL,ComparisonOperator=GREATER_THAN,Threshold=80,ThresholdType=PERCENTAGE --subscriber SubscriptionType=EMAIL,Address=example@example.com + diff --git a/bin/awscli/examples/budgets/delete-budget.rst b/bin/awscli/examples/budgets/delete-budget.rst new file mode 100644 index 00000000..4de98d60 --- /dev/null +++ b/bin/awscli/examples/budgets/delete-budget.rst @@ -0,0 +1,8 @@ +**To delete a Cost and Usage budget** + +This example deletes the specified Cost and Usage budget. + +Command:: + + aws budgets delete-budget --account-id 111122223333 --budget-name "Example Budget" + diff --git a/bin/awscli/examples/budgets/delete-notification.rst b/bin/awscli/examples/budgets/delete-notification.rst new file mode 100644 index 00000000..4089214c --- /dev/null +++ b/bin/awscli/examples/budgets/delete-notification.rst @@ -0,0 +1,8 @@ +**To delete a notification from a budget** + +This example deletes the specified notification from the specified budget. + +Command:: + + aws budgets delete-notification --account-id 111122223333 --budget-name "Example Budget" --notification NotificationType=ACTUAL,ComparisonOperator=GREATER_THAN,Threshold=80,ThresholdType=PERCENTAGE + diff --git a/bin/awscli/examples/budgets/delete-subscriber.rst b/bin/awscli/examples/budgets/delete-subscriber.rst new file mode 100644 index 00000000..0c5f716b --- /dev/null +++ b/bin/awscli/examples/budgets/delete-subscriber.rst @@ -0,0 +1,8 @@ +**To delete a subscriber from a notification** + +This example deletes the specified subscriber from the specified notification. + +Command:: + + aws budgets delete-subscriber --account-id 111122223333 --budget-name "Example Budget" --notification NotificationType=ACTUAL,ComparisonOperator=GREATER_THAN,Threshold=80,ThresholdType=PERCENTAGE --subscriber SubscriptionType=EMAIL,Address=example@example.com + diff --git a/bin/awscli/examples/budgets/describe-budget.rst b/bin/awscli/examples/budgets/describe-budget.rst new file mode 100644 index 00000000..28d8cac9 --- /dev/null +++ b/bin/awscli/examples/budgets/describe-budget.rst @@ -0,0 +1,54 @@ +**To retrieve a budget associated with an account** + +This example retrieves the specified Cost and Usage budget. + +Command:: + + aws budgets describe-budget --account-id 111122223333 --budget-name "Example Budget" + +Output:: + + { + "Budget": { + "CalculatedSpend": { + "ForecastedSpend": { + "Amount": "2641.54800000000022919266484677791595458984375", + "Unit": "USD" + }, + "ActualSpend": { + "Amount": "604.4560000000000172803993336856365203857421875", + "Unit": "USD" + } + }, + "BudgetType": "COST", + "BudgetLimit": { + "Amount": "100", + "Unit": "USD" + }, + "BudgetName": "Example Budget", + "CostTypes": { + "IncludeOtherSubscription": true, + "IncludeUpfront": true, + "IncludeRefund": true, + "UseBlended": false, + "IncludeDiscount": true, + "UseAmortized": false, + "IncludeTax": true, + "IncludeCredit": true, + "IncludeSupport": true, + "IncludeRecurring": true, + "IncludeSubscription": true + }, + "TimeUnit": "MONTHLY", + "TimePeriod": { + "Start": 1477958399.0, + "End": 3706473600.0 + }, + "CostFilters": { + "AZ": [ + "us-east-1" + ] + } + } + } + diff --git a/bin/awscli/examples/budgets/describe-budgets.rst b/bin/awscli/examples/budgets/describe-budgets.rst new file mode 100644 index 00000000..8035fa60 --- /dev/null +++ b/bin/awscli/examples/budgets/describe-budgets.rst @@ -0,0 +1,58 @@ + + +**To retrieve the budgets associated with an account** + +This example retrieves the Cost and Usage budgets for an account. + +Command:: + + aws budgets describe-budgets --account-id 111122223333 --max-results 20 + +Output:: + + { + "Budgets": [ + { + "CalculatedSpend": { + "ForecastedSpend": { + "Amount": "2641.54800000000022919266484677791595458984375", + "Unit": "USD" + }, + "ActualSpend": { + "Amount": "604.4560000000000172803993336856365203857421875", + "Unit": "USD" + } + }, + "BudgetType": "COST", + "BudgetLimit": { + "Amount": "100", + "Unit": "USD" + }, + "BudgetName": "Example Budget", + "CostTypes": { + "IncludeOtherSubscription": true, + "IncludeUpfront": true, + "IncludeRefund": true, + "UseBlended": false, + "IncludeDiscount": true, + "UseAmortized": false, + "IncludeTax": true, + "IncludeCredit": true, + "IncludeSupport": true, + "IncludeRecurring": true, + "IncludeSubscription": true + }, + "TimeUnit": "MONTHLY", + "TimePeriod": { + "Start": 1477958399.0, + "End": 3706473600.0 + }, + "CostFilters": { + "AZ": [ + "us-east-1" + ] + } + } + ] + } + diff --git a/bin/awscli/examples/budgets/describe-notifications-for-budget.rst b/bin/awscli/examples/budgets/describe-notifications-for-budget.rst new file mode 100644 index 00000000..04ba9684 --- /dev/null +++ b/bin/awscli/examples/budgets/describe-notifications-for-budget.rst @@ -0,0 +1,19 @@ +**To retrieve the notifications for a budget** + +This example retrieves the notifications for a Cost and Usage budget. + +Command:: + + aws budgets describe-notifications-for-budget --account-id 111122223333 --budget-name "Example Budget" --max-results 5 + +Output:: + + { + "Notifications": [ + { + "Threshold": 80.0, + "ComparisonOperator": "GREATER_THAN", + "NotificationType": "ACTUAL" + } + ] + } diff --git a/bin/awscli/examples/budgets/describe-subscribers-for-notification.rst b/bin/awscli/examples/budgets/describe-subscribers-for-notification.rst new file mode 100644 index 00000000..9146fd9f --- /dev/null +++ b/bin/awscli/examples/budgets/describe-subscribers-for-notification.rst @@ -0,0 +1,22 @@ +**To retrieve the subscribers for a budget notification** + +This example retrieves the subscribers for a Cost and Usage budget notification. + +Command:: + + aws budgets describe-subscribers-for-notification --account-id 111122223333 --budget-name "Example Budget" --notification NotificationType=ACTUAL,ComparisonOperator=GREATER_THAN,Threshold=80,ThresholdType=PERCENTAGE --max-results 5 + +Output:: + + { + "Subscribers": [ + { + "SubscriptionType": "EMAIL", + "Address": "example2@example.com" + }, + { + "SubscriptionType": "EMAIL", + "Address": "example@example.com" + } + ] + } diff --git a/bin/awscli/examples/budgets/update-budget.rst b/bin/awscli/examples/budgets/update-budget.rst new file mode 100644 index 00000000..11924c5b --- /dev/null +++ b/bin/awscli/examples/budgets/update-budget.rst @@ -0,0 +1,40 @@ +**To replace a budget for a Cost and Usage budget** + +This example replaces a Cost and Usage budget with a new budget. + +Command:: + + aws budgets update-budget --account-id 111122223333 --new-budget file://new-budget.json + +new-budget.json:: + + { + "BudgetLimit": { + "Amount": "100", + "Unit": "USD" + }, + "BudgetName": "Example Budget", + "BudgetType": "COST", + "CostFilters": { + "AZ" : [ "us-east-1" ] + }, + "CostTypes": { + "IncludeCredit": false, + "IncludeDiscount": true, + "IncludeOtherSubscription": true, + "IncludeRecurring": true, + "IncludeRefund": true, + "IncludeSubscription": true, + "IncludeSupport": true, + "IncludeTax": true, + "IncludeUpfront": true, + "UseBlended": false, + "UseAmortized": true + }, + "TimePeriod": { + "Start": 1477958399, + "End": 3706473600 + }, + "TimeUnit": "MONTHLY" + } + diff --git a/bin/awscli/examples/budgets/update-notification.rst b/bin/awscli/examples/budgets/update-notification.rst new file mode 100644 index 00000000..8078f01c --- /dev/null +++ b/bin/awscli/examples/budgets/update-notification.rst @@ -0,0 +1,8 @@ +**To replace a notification for a Cost and Usage budget** + +This example replaces an 80% notification for a Cost and Usage budget with a 90% notification. + +Command:: + + aws budgets update-notification --account-id 111122223333 --budget-name "Example Budget" --old-notification NotificationType=ACTUAL,ComparisonOperator=GREATER_THAN,Threshold=80,ThresholdType=PERCENTAGE --new-notification NotificationType=ACTUAL,ComparisonOperator=GREATER_THAN,Threshold=90,ThresholdType=PERCENTAGE + diff --git a/bin/awscli/examples/budgets/update-subscriber.rst b/bin/awscli/examples/budgets/update-subscriber.rst new file mode 100644 index 00000000..a15b344d --- /dev/null +++ b/bin/awscli/examples/budgets/update-subscriber.rst @@ -0,0 +1,7 @@ +**To replace a subscriber for a Cost and Usage budget** + +This example replaces the subscriber for a Cost and Usage budget. + +Command:: + + aws budgets update-subscriber --account-id 111122223333 --budget-name "Example Budget" --notification NotificationType=ACTUAL,ComparisonOperator=GREATER_THAN,Threshold=80,ThresholdType=PERCENTAGE --old-subscriber SubscriptionType=EMAIL,Address=example@example.com --new-subscriber SubscriptionType=EMAIL,Address=example2@example.com diff --git a/bin/awscli/examples/ce/get-cost-and-usage.rst b/bin/awscli/examples/ce/get-cost-and-usage.rst new file mode 100644 index 00000000..6e8c1565 --- /dev/null +++ b/bin/awscli/examples/ce/get-cost-and-usage.rst @@ -0,0 +1,88 @@ +**To retrieve the S3 usage of an account for the month of September 2017** + +The following ``get-cost-and-usage`` example retrieves the S3 usage of an account for the month of September 2017. :: + + aws ce get-cost-and-usage \ + --time-period Start=2017-09-01,End=2017-10-01 \ + --granularity MONTHLY \ + --metrics "BlendedCost" "UnblendedCost" "UsageQuantity" \ + --group-by Type=DIMENSION,Key=SERVICE Type=TAG,Key=Environment \ + --filter file://filters.json + +Contents of ``filters.json``:: + + { + "Dimensions": { + "Key": "SERVICE", + "Values": [ + "Amazon Simple Storage Service" + ] + } + } + +Output:: + + { + "GroupDefinitions": [ + { + "Type": "DIMENSION", + "Key": "SERVICE" + }, + { + "Type": "TAG", + "Key": "Environment" + } + ], + "ResultsByTime": [ + { + "Estimated": false, + "TimePeriod": { + "Start": "2017-09-01", + "End": "2017-10-01" + }, + "Total": {}, + "Groups": [ + { + "Keys": [ + "Amazon Simple Storage Service", + "Environment$" + ], + "Metrics": { + "BlendedCost": { + "Amount": "40.3527508453", + "Unit": "USD" + }, + "UnblendedCost": { + "Amount": "40.3543773134", + "Unit": "USD" + }, + "UsageQuantity": { + "Amount": "9312771.098461578", + "Unit": "N/A" + } + } + }, + { + "Keys": [ + "Amazon Simple Storage Service", + "Environment$Dev" + ], + "Metrics": { + "BlendedCost": { + "Amount": "0.2682364644", + "Unit": "USD" + }, + "UnblendedCost": { + "Amount": "0.2682364644", + "Unit": "USD" + }, + "UsageQuantity": { + "Amount": "22403.4395271182", + "Unit": "N/A" + } + } + } + ] + } + ] + } diff --git a/bin/awscli/examples/ce/get-dimension-values.rst b/bin/awscli/examples/ce/get-dimension-values.rst new file mode 100644 index 00000000..b0f0369d --- /dev/null +++ b/bin/awscli/examples/ce/get-dimension-values.rst @@ -0,0 +1,41 @@ + +**To retrieve the tags for the dimension SERVICE, with a value of "Elastic"** + +This example retrieves the tags for the dimension SERVICE, with a value of "Elastic" for January 01 2017 through May 18 2017. + +Command:: + + aws ce get-dimension-values --search-string Elastic --time-period Start=2017-01-01,End=2017-05-18 --dimension SERVICE + +Output:: + + { + "TotalSize": 6, + "DimensionValues": [ + { + "Attributes": {}, + "Value": "Amazon ElastiCache" + }, + { + "Attributes": {}, + "Value": "EC2 - Other" + }, + { + "Attributes": {}, + "Value": "Amazon Elastic Compute Cloud - Compute" + }, + { + "Attributes": {}, + "Value": "Amazon Elastic Load Balancing" + }, + { + "Attributes": {}, + "Value": "Amazon Elastic MapReduce" + }, + { + "Attributes": {}, + "Value": "Amazon Elasticsearch Service" + } + ], + "ReturnSize": 6 + } diff --git a/bin/awscli/examples/ce/get-reservation-coverage.rst b/bin/awscli/examples/ce/get-reservation-coverage.rst new file mode 100644 index 00000000..6e6ab7a4 --- /dev/null +++ b/bin/awscli/examples/ce/get-reservation-coverage.rst @@ -0,0 +1,63 @@ + +**To retrieve the reservation coverage for EC2 t2.nano instances in the us-east-1 region** + +This example retrieves the reservation coverage for EC2 t2.nano instances in the us-east-1 region for July-September of 2017. + +Command:: + + aws ce get-reservation-coverage --time-period Start=2017-07-01,End=2017-10-01 --group-by Type=Dimension,Key=REGION --filter file://filters.json + +filters.json:: + + { + "And": [ + { + "Dimensions": { + "Key": "INSTANCE_TYPE", + "Values": [ + "t2.nano" + ] + }, + "Dimensions": { + "Key": "REGION", + "Values": [ + "us-east-1" + ] + } + } + ] + } + +Output:: + + { + "TotalSize": 6, + "DimensionValues": [ + { + "Attributes": {}, + "Value": "Amazon ElastiCache" + }, + { + "Attributes": {}, + "Value": "EC2 - Other" + }, + { + "Attributes": {}, + "Value": "Amazon Elastic Compute Cloud - Compute" + }, + { + "Attributes": {}, + "Value": "Amazon Elastic Load Balancing" + }, + { + "Attributes": {}, + "Value": "Amazon Elastic MapReduce" + }, + { + "Attributes": {}, + "Value": "Amazon Elasticsearch Service" + } + ], + "ReturnSize": 6 + } + diff --git a/bin/awscli/examples/ce/get-reservation-purchase-recommendation.rst b/bin/awscli/examples/ce/get-reservation-purchase-recommendation.rst new file mode 100644 index 00000000..b8f64034 --- /dev/null +++ b/bin/awscli/examples/ce/get-reservation-purchase-recommendation.rst @@ -0,0 +1,19 @@ +**To retrieve the reservation recommendations for Partial Upfront EC2 RIs with a three year term** + +The following ``get-reservation-purchase-recommendation`` example retrieves recommendations for Partial Upfront EC2 instances with a three-year term, based on the last 60 days of EC2 usage. :: + + aws ce get-reservation-purchase-recommendation \ + --service "Amazon Redshift" \ + --lookback-period-in-days SIXTY_DAYS \ + --term-in-years THREE_YEARS \ + --payment-option PARTIAL_UPFRONT + +Output:: + + { + "Recommendations": [], + "Metadata": { + "GenerationTimestamp": "2018-08-08T15:20:57Z", + "RecommendationId": "00d59dde-a1ad-473f-8ff2-iexample3330b" + } + } diff --git a/bin/awscli/examples/ce/get-reservation-utilization.rst b/bin/awscli/examples/ce/get-reservation-utilization.rst new file mode 100644 index 00000000..485d7a79 --- /dev/null +++ b/bin/awscli/examples/ce/get-reservation-utilization.rst @@ -0,0 +1,36 @@ +**To retrieve the reservation utilization for your account** + +The following ``get-reservation-utilization`` example retrieves the RI utilization for all t2.nano instance types from 2018-03-01 to 2018-08-01 for the account. :: + + aws ce get-reservation-utilization \ + --time-period Start=2018-03-01,End=2018-08-01 \ + --filter file://filters.json + +Contents of ``filters.json``:: + + { + "Dimensions": { + "Key": "INSTANCE_TYPE", + "Values": [ + "t2.nano" + ] + } + } + +Output:: + + { + "Total": { + "TotalAmortizedFee": "0", + "UtilizationPercentage": "0", + "PurchasedHours": "0", + "NetRISavings": "0", + "TotalActualHours": "0", + "AmortizedRecurringFee": "0", + "UnusedHours": "0", + "TotalPotentialRISavings": "0", + "OnDemandCostOfRIHoursUsed": "0", + "AmortizedUpfrontFee": "0" + }, + "UtilizationsByTime": [] + } diff --git a/bin/awscli/examples/ce/get-tags.rst b/bin/awscli/examples/ce/get-tags.rst new file mode 100644 index 00000000..5658514c --- /dev/null +++ b/bin/awscli/examples/ce/get-tags.rst @@ -0,0 +1,18 @@ +**To retrieve keys and values for a cost allocation tag** + +This example retrieves all cost allocation tags with a key of "Project" and a value that contains "secretProject". + +Command:: + + aws ce get-tags --search-string secretProject --time-period Start=2017-01-01,End=2017-05-18 --tag-key Project + +Output:: + + { + "ReturnSize": 2, + "Tags": [ + "secretProject1", + "secretProject2" + ], + "TotalSize": 2 + } diff --git a/bin/awscli/examples/chime/batch-suspend-user.rst b/bin/awscli/examples/chime/batch-suspend-user.rst new file mode 100644 index 00000000..58697578 --- /dev/null +++ b/bin/awscli/examples/chime/batch-suspend-user.rst @@ -0,0 +1,13 @@ +**To suspend multiple users** + +The following ``batch-suspend-user`` example suspends the listed users from the specified Amazon Chime account. :: + + aws chime batch-suspend-user \ + --account-id a1b2c3d4-5678-90ab-cdef-11111EXAMPLE \ + --user-id-list "a1b2c3d4-5678-90ab-cdef-22222EXAMPLE" "a1b2c3d4-5678-90ab-cdef-33333EXAMPLE" "a1b2c3d4-5678-90ab-cdef-44444EXAMPLE" + +Output:: + + { + "UserErrors": [] + } diff --git a/bin/awscli/examples/chime/batch-unsuspend-user.rst b/bin/awscli/examples/chime/batch-unsuspend-user.rst new file mode 100644 index 00000000..4f1241be --- /dev/null +++ b/bin/awscli/examples/chime/batch-unsuspend-user.rst @@ -0,0 +1,14 @@ +**To unsuspend multiple users** + +The following ``batch-unsuspend-user`` example removes any previous suspension for the listed users on the specified Amazon Chime account. :: + + aws chime batch-unsuspend-user \ + --account-id a1b2c3d4-5678-90ab-cdef-11111EXAMPLE \ + --user-id-list "a1b2c3d4-5678-90ab-cdef-22222EXAMPLE" "a1b2c3d4-5678-90ab-cdef-33333EXAMPLE" "a1b2c3d4-5678-90ab-cdef-44444EXAMPLE" + +Output:: + + { + "UserErrors": [] + } + diff --git a/bin/awscli/examples/chime/batch-update-user.rst b/bin/awscli/examples/chime/batch-update-user.rst new file mode 100644 index 00000000..90f6cdfb --- /dev/null +++ b/bin/awscli/examples/chime/batch-update-user.rst @@ -0,0 +1,13 @@ +**To update multiple users in a single command** + +The following ``batch-update-user`` example updates the ``LicenseType`` for each of the listed users in the specified Amazon Chime account. :: + + aws chime batch-update-user \ + --account-id a1b2c3d4-5678-90ab-cdef-11111EXAMPLE + --update-user-request-items "UserId=a1b2c3d4-5678-90ab-cdef-22222EXAMPLE,LicenseType=Basic" "UserId=a1b2c3d4-5678-90ab-cdef-33333EXAMPLE,LicenseType=Basic" + +Output:: + + { + "UserErrors": [] + } diff --git a/bin/awscli/examples/chime/create-account.rst b/bin/awscli/examples/chime/create-account.rst new file mode 100644 index 00000000..0d9e7bf2 --- /dev/null +++ b/bin/awscli/examples/chime/create-account.rst @@ -0,0 +1,24 @@ +**To create an account** + +The following ``create-account`` example creates a new Amazon Chime account under the administrator's AWS account. :: + + aws chime create-account --name MyChimeAccount + +Output:: + + { + "Account": { + "AwsAccountId": "111122223333", + "AccountId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", + "Name": "MyChimeAccount", + "AccountType": "Team", + "CreatedTimestamp": "2019-01-04T17:11:22.003Z", + "DefaultLicense": "Pro", + "SupportedLicenses": [ + "Basic", + "Pro" + ] + } + } + +For more information, see `Getting Started `_ in the *Amazon Chime Administration Guide*. \ No newline at end of file diff --git a/bin/awscli/examples/chime/delete-account.rst b/bin/awscli/examples/chime/delete-account.rst new file mode 100644 index 00000000..510e6c04 --- /dev/null +++ b/bin/awscli/examples/chime/delete-account.rst @@ -0,0 +1,9 @@ +**To delete an account** + +The following ``delete-account`` example deletes the specified account. :: + + aws chime delete-account --account-id a1b2c3d4-5678-90ab-cdef-11111EXAMPLE + +This command produces no output. + +For more information, see `Deleting Your Account `_ in the *Amazon Chime Administration Guide*. diff --git a/bin/awscli/examples/chime/get-account-settings.rst b/bin/awscli/examples/chime/get-account-settings.rst new file mode 100644 index 00000000..42b88b97 --- /dev/null +++ b/bin/awscli/examples/chime/get-account-settings.rst @@ -0,0 +1,16 @@ +**To retrieve settings for an account** + +The following ``get-account-settings`` example retrieves the account settings for the specified account. :: + + aws chime get-account-settings --account-id a1b2c3d4-5678-90ab-cdef-11111EXAMPLE + +Output:: + + { + "AccountSettings": { + "DisableRemoteControl": false, + "EnableDialOut": false + } + } + +For more information, see `Managing Your Amazon Chime Accounts `_ in the *Amazon Chime Administration Guide*. diff --git a/bin/awscli/examples/chime/get-account.rst b/bin/awscli/examples/chime/get-account.rst new file mode 100644 index 00000000..6ec4bf11 --- /dev/null +++ b/bin/awscli/examples/chime/get-account.rst @@ -0,0 +1,24 @@ +**To retrieve the details for an account** + +The following ``get-account`` example retrieves the details for the specified Amazon Chime account. :: + + aws chime get-account --account-id a1b2c3d4-5678-90ab-cdef-11111EXAMPLE + +Output:: + + { + "Account": { + "AwsAccountId": "111122223333", + "AccountId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", + "Name": "EnterpriseDirectory", + "AccountType": "EnterpriseDirectory", + "CreatedTimestamp": "2018-12-20T18:38:02.181Z", + "DefaultLicense": "Pro", + "SupportedLicenses": [ + "Basic", + "Pro" + ] + } + } + +For more information, see `Managing Your Amazon Chime Accounts `_ in the *Amazon Chime Administration Guide*. diff --git a/bin/awscli/examples/chime/get-user.rst b/bin/awscli/examples/chime/get-user.rst new file mode 100644 index 00000000..8b328957 --- /dev/null +++ b/bin/awscli/examples/chime/get-user.rst @@ -0,0 +1,24 @@ +**To get details about a user** + +The following ``get-user`` example retrieves the details for the specified user. :: + + aws chime get-user \ + --account-id a1b2c3d4-5678-90ab-cdef-11111EXAMPLE \ + --user-id a1b2c3d4-5678-90ab-cdef-22222EXAMPLE + +Output:: + + { + "User": { + "UserId": "a1b2c3d4-5678-90ab-cdef-22222EXAMPLE", + "AccountId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", + "PrimaryEmail": "marthar@example.com", + "DisplayName": "Martha Rivera", + "LicenseType": "Pro", + "UserRegistrationStatus": "Registered", + "RegisteredOn": "2018-12-20T18:45:25.231Z", + "PersonalPIN": "XXXXXXXXXX" + } + } + +For more information, see `Managing Users `_ in the *Amazon Chime Administration Guide*. diff --git a/bin/awscli/examples/chime/invite-users.rst b/bin/awscli/examples/chime/invite-users.rst new file mode 100644 index 00000000..76324a4e --- /dev/null +++ b/bin/awscli/examples/chime/invite-users.rst @@ -0,0 +1,28 @@ +**To invite users to join Amazon Chime** + +The following ``invite-users`` example sends an email to invite a user to the specified Amazon Chime account. :: + + aws chime invite-users \ + --account-id a1b2c3d4-5678-90ab-cdef-11111EXAMPLE \ + --user-email-list "alejandror@example.com" "janed@example.com" + +Output:: + + { + "Invites": [ + { + "InviteId": "a1b2c3d4-5678-90ab-cdef-22222EXAMPLE", + "Status": "Pending", + "EmailAddress": "alejandror@example.com", + "EmailStatus": "Sent" + } + { + "InviteId": "a1b2c3d4-5678-90ab-cdef-33333EXAMPLE", + "Status": "Pending", + "EmailAddress": "janed@example.com", + "EmailStatus": "Sent" + } + ] + } + +For more information, see `Inviting and Suspending Users `_ in the *Amazon Chime Administration Guide*. diff --git a/bin/awscli/examples/chime/list-accounts.rst b/bin/awscli/examples/chime/list-accounts.rst new file mode 100644 index 00000000..06fda02b --- /dev/null +++ b/bin/awscli/examples/chime/list-accounts.rst @@ -0,0 +1,38 @@ +**To get a list of accounts** + +The following ``list-accounts`` example retrieves a list of the Amazon Chime accounts in the administrator's AWS account. :: + + aws chime list-accounts + +Output:: + + { + "Accounts": [ + { + "AwsAccountId": "111122223333", + "AccountId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", + "Name": "First Chime Account", + "AccountType": "EnterpriseDirectory", + "CreatedTimestamp": "2018-12-20T18:38:02.181Z", + "DefaultLicense": "Pro", + "SupportedLicenses": [ + "Basic", + "Pro" + ] + }, + { + "AwsAccountId": "111122223333", + "AccountId": "a1b2c3d4-5678-90ab-cdef-22222EXAMPLE", + "Name": "Second Chime Account", + "AccountType": "Team", + "CreatedTimestamp": "2018-09-04T21:44:22.292Z", + "DefaultLicense": "Pro", + "SupportedLicenses": [ + "Basic", + "Pro" + ] + } + ] + } + +For more information, see `Managing Your Amazon Chime Accounts `_ in the *Amazon Chime Administration Guide*. diff --git a/bin/awscli/examples/chime/list-users.rst b/bin/awscli/examples/chime/list-users.rst new file mode 100644 index 00000000..8e908207 --- /dev/null +++ b/bin/awscli/examples/chime/list-users.rst @@ -0,0 +1,50 @@ +**To list the users in an account** + +The following ``list-users`` example lists the users for the specified Amazon Chime account. :: + + aws chime list-users --account-id a1b2c3d4-5678-90ab-cdef-11111EXAMPLE + +Output:: + + { + "Users": [ + { + "UserId": "a1b2c3d4-5678-90ab-cdef-22222EXAMPLE", + "AccountId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", + "PrimaryEmail": "mariag@example.com", + "DisplayName": "Maria Garcia", + "LicenseType": "Pro", + "UserRegistrationStatus": "Registered", + "RegisteredOn": "2018-12-20T18:45:25.231Z" + }, + { + "UserId": "a1b2c3d4-5678-90ab-cdef-33333EXAMPLE", + "AccountId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", + "PrimaryEmail": "richardr@example.com", + "DisplayName": "Richard Roe", + "LicenseType": "Pro", + "UserRegistrationStatus": "Registered", + "RegisteredOn": "2018-12-20T18:45:45.415Z" + }, + { + "UserId": "a1b2c3d4-5678-90ab-cdef-44444EXAMPLE", + "AccountId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", + "PrimaryEmail": "saanvis@example.com", + "DisplayName": "Saanvi Sarkar", + "LicenseType": "Basic", + "UserRegistrationStatus": "Registered", + "RegisteredOn": "2018-12-20T18:46:57.747Z" + }, + { + "UserId": "a1b2c3d4-5678-90ab-cdef-55555EXAMPLE", + "AccountId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", + "PrimaryEmail": "wxiulan@example.com", + "DisplayName": "Wang Xiulan", + "LicenseType": "Basic", + "UserRegistrationStatus": "Registered", + "RegisteredOn": "2018-12-20T18:47:15.390Z" + } + ] + } + +For more information, see `Managing Users `_ in the *Amazon Chime Administration Guide*. diff --git a/bin/awscli/examples/chime/logout-user.rst b/bin/awscli/examples/chime/logout-user.rst new file mode 100644 index 00000000..10db1fbf --- /dev/null +++ b/bin/awscli/examples/chime/logout-user.rst @@ -0,0 +1,9 @@ +**To log out a user** + +The following ``logout-user`` example logs out the specified user. :: + + aws chime logout-user \ + --account-id a1b2c3d4-5678-90ab-cdef-11111EXAMPLE \ + --user-id a1b2c3d4-5678-90ab-cdef-22222EXAMPLE + +This command produces no output. diff --git a/bin/awscli/examples/chime/reset-personal-pin.rst b/bin/awscli/examples/chime/reset-personal-pin.rst new file mode 100644 index 00000000..ddbbc005 --- /dev/null +++ b/bin/awscli/examples/chime/reset-personal-pin.rst @@ -0,0 +1,24 @@ +**To reset a user's personal meeting PIN** + +The following ``reset-personal-pin`` example resets the specified user's personal meeting PIN. :: + + aws chime reset-personal-pin \ + --account-id a1b2c3d4-5678-90ab-cdef-11111EXAMPLE + --user-id a1b2c3d4-5678-90ab-cdef-22222EXAMPLE + +Output:: + + { + "User": { + "UserId": "a1b2c3d4-5678-90ab-cdef-22222EXAMPLE", + "AccountId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", + "PrimaryEmail": "mateo@example.com", + "DisplayName": "Mateo Jackson", + "LicenseType": "Pro", + "UserRegistrationStatus": "Registered", + "RegisteredOn": "2018-12-20T18:45:25.231Z", + "PersonalPIN": "XXXXXXXXXX" + } + } + +For more information, see `Changing Personal Meeting PINs `_ in the *Amazon Chime Administration Guide*. diff --git a/bin/awscli/examples/chime/update-account-settings.rst b/bin/awscli/examples/chime/update-account-settings.rst new file mode 100644 index 00000000..4e241463 --- /dev/null +++ b/bin/awscli/examples/chime/update-account-settings.rst @@ -0,0 +1,9 @@ +**To update the settings for your account** + +The following ``update-account-settings`` example disables the remote control of shared screens for the specified Amazon Chime account. :: + + aws chime update-account-settings \ + --account-id a1b2c3d4-5678-90ab-cdef-11111EXAMPLE \ + --account-settings DisableRemoteControl=true + +This command produces no output. \ No newline at end of file diff --git a/bin/awscli/examples/chime/update-account.rst b/bin/awscli/examples/chime/update-account.rst new file mode 100644 index 00000000..ad2eeb04 --- /dev/null +++ b/bin/awscli/examples/chime/update-account.rst @@ -0,0 +1,24 @@ +**To update an account** + +The following ``update-account`` example updates the specified account name. :: + + aws chime update-account --account-id a1b2c3d4-5678-90ab-cdef-11111EXAMPLE --name MyAccountName + +Output:: + + { + "Account": { + "AwsAccountId": "111122223333", + "AccountId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", + "Name": "MyAccountName", + "AccountType": "Team", + "CreatedTimestamp": "2018-09-04T21:44:22.292Z", + "DefaultLicense": "Pro", + "SupportedLicenses": [ + "Basic", + "Pro" + ] + } + } + +For more information, see `Renaming Your Account `_ in the *Amazon Chime Administration Guide*. diff --git a/bin/awscli/examples/chime/update-user.rst b/bin/awscli/examples/chime/update-user.rst new file mode 100644 index 00000000..e7134698 --- /dev/null +++ b/bin/awscli/examples/chime/update-user.rst @@ -0,0 +1,18 @@ +**To update user details** + +This example updates the specified details for the specified user. + +Command:: + + aws chime update-user \ + --account-id a1b2c3d4-5678-90ab-cdef-11111EXAMPLE \ + --user-id a1b2c3d4-5678-90ab-cdef-22222EXAMPLE \ + --license-type "Basic" + +Output:: + + { + "User": { + "UserId": "a1b2c3d4-5678-90ab-cdef-22222EXAMPLE" + } + } diff --git a/bin/awscli/examples/cloud9/describe-environments.rst b/bin/awscli/examples/cloud9/describe-environments.rst index 2564a7d6..a9dadc10 100644 --- a/bin/awscli/examples/cloud9/describe-environments.rst +++ b/bin/awscli/examples/cloud9/describe-environments.rst @@ -11,19 +11,26 @@ Output:: { "environments": [ { + "id": "685f892f431b45c2b28cb69eadcdb0EX", + "name": "my-demo-ec2-env", "description": "Created from CodeStar.", - "ownerArn": "arn:aws:iam::123456789012:user/MyDemoUser", "type": "ec2", - "id": "685f892f431b45c2b28cb69eadcdb0EX", "arn": "arn:aws:cloud9:us-east-1:123456789012:environment:685f892f431b45c2b28cb69eadcdb0EX", - "name": "my-demo-ec2-env" + "ownerArn": "arn:aws:iam::123456789012:user/MyDemoUser", + "lifecycle": { + "status": "CREATED" + } }, { - "ownerArn": "arn:aws:iam::123456789012:user/MyDemoUser", - "type": "ssh", "id": "349c86d4579e4e7298d500ff57a6b2EX", + "name": my-demo-ssh-env", + "description": "", + "type": "ssh", "arn": "arn:aws:cloud9:us-east-1:123456789012:environment:349c86d4579e4e7298d500ff57a6b2EX", - "name": my-demo-ssh-env" + "ownerArn": "arn:aws:iam::123456789012:user/MyDemoUser", + "lifecycle": { + "status": "CREATED" + } } ] } \ No newline at end of file diff --git a/bin/awscli/examples/cloudformation/_package_description.rst b/bin/awscli/examples/cloudformation/_package_description.rst index b2b0f347..88ff2fe9 100644 --- a/bin/awscli/examples/cloudformation/_package_description.rst +++ b/bin/awscli/examples/cloudformation/_package_description.rst @@ -21,6 +21,7 @@ This command can upload local artifacts referenced in the following places: - ``Location`` parameter for the ``AWS::Include`` transform - ``SourceBundle`` property for the ``AWS::ElasticBeanstalk::ApplicationVersion`` resource - ``TemplateURL`` property for the ``AWS::CloudFormation::Stack`` resource + - ``Command.ScriptLocation`` property for the ``AWS::Glue::Job`` resource To specify a local artifact in your template, specify a path to a local file or folder, @@ -29,7 +30,7 @@ that is relative to your template's location. For example, if your AWS Lambda function source code is in the ``/home/user/code/lambdafunction/`` folder, specify -`` CodeUri: /home/user/code/lambdafunction`` for the +``CodeUri: /home/user/code/lambdafunction`` for the ``AWS::Serverless::Function`` resource. The command returns a template and replaces the local path with the S3 location: ``CodeUri: s3://mybucket/lambdafunction.zip``. diff --git a/bin/awscli/examples/codebuild/batch-delete-builds.rst b/bin/awscli/examples/codebuild/batch-delete-builds.rst new file mode 100644 index 00000000..6b94a52b --- /dev/null +++ b/bin/awscli/examples/codebuild/batch-delete-builds.rst @@ -0,0 +1,22 @@ +**To delete builds in AWS CodeBuild.** + +The following ``batch-delete-builds`` example deletes builds in CodeBuild with the specified IDs. :: + + aws codebuild batch-delete-builds --ids my-build-project-one:a1b2c3d4-5678-9012-abcd-11111EXAMPLE my-build-project-two:a1b2c3d4-5678-9012-abcd-22222EXAMPLE + +Output:: + + { + "buildsNotDeleted": [ + { + "id": "arn:aws:codebuild:us-west-2:123456789012:build/my-build-project-one:a1b2c3d4-5678-9012-abcd-11111EXAMPLE", + "statusCode": "BUILD_IN_PROGRESS" + } + ], + "buildsDeleted": [ + "arn:aws:codebuild:us-west-2:123456789012:build/my-build-project-two:a1b2c3d4-5678-9012-abcd-22222EXAMPLE" + ] + } + +For more information, see `Delete Builds (AWS CLI) `_ in the *AWS CodeBuild User Guide*. + diff --git a/bin/awscli/examples/codebuild/batch-get-builds.rst b/bin/awscli/examples/codebuild/batch-get-builds.rst new file mode 100644 index 00000000..80e00f20 --- /dev/null +++ b/bin/awscli/examples/codebuild/batch-get-builds.rst @@ -0,0 +1,369 @@ +**To view details of builds in AWS CodeBuild.** + +The following ``batch-get-builds`` example gets information about builds in CodeBuild with the specified IDs. :: + + aws codebuild batch-get-builds --ids codebuild-demo-project:e9c4f4df-3f43-41d2-ab3a-60fe2EXAMPLE codebuild-demo-project:815e755f-bade-4a7e-80f0-efe51EXAMPLE + +Output:: + + { + "buildsNotFound": [], + "builds": [ + { + "artifacts": { + "md5sum": "0e95edf915048a0c22efe6d139fff837", + "location": "arn:aws:s3:::codepipeline-us-west-2-820783811474/CodeBuild-Python-Pip/BuildArtif/6DJsqQa", + "encryptionDisabled": false, + "sha256sum": "cfa0df33a090966a737f64ae4fe498969fdc842a0c9aec540bf93c37ac0d05a2" + }, + "logs": { + "cloudWatchLogs": { + "status": "ENABLED" + }, + "s3Logs": { + "status": "DISABLED" + }, + "streamName": "46472baf-8f6b-43c2-9255-b3b963af2732", + "groupName": "/aws/codebuild/codebuild-demo-project", + "deepLink": "https://console.aws.amazon.com/cloudwatch/home?region=us-west-2#logEvent:group=/aws/codebuild/codebuild-demo-project;stream=46472baf-8f6b-43c2-9255-b3b963af2732" + }, + "timeoutInMinutes": 60, + "environment": { + "privilegedMode": false, + "computeType": "BUILD_GENERAL1_MEDIUM", + "image": "aws/codebuild/windows-base:1.0", + "environmentVariables": [], + "type": "WINDOWS_CONTAINER" + }, + "projectName": "codebuild-demo-project", + "buildComplete": true, + "source": { + "gitCloneDepth": 1, + "insecureSsl": false, + "type": "CODEPIPELINE" + }, + "buildStatus": "SUCCEEDED", + "secondaryArtifacts": [], + "phases": [ + { + "durationInSeconds": 0, + "startTime": 1548717462.122, + "phaseType": "SUBMITTED", + "endTime": 1548717462.484, + "phaseStatus": "SUCCEEDED" + }, + { + "durationInSeconds": 0, + "startTime": 1548717462.484, + "phaseType": "QUEUED", + "endTime": 1548717462.775, + "phaseStatus": "SUCCEEDED" + }, + { + "durationInSeconds": 34, + "endTime": 1548717496.909, + "contexts": [ + { + "statusCode": "", + "message": "" + } + ], + "startTime": 1548717462.775, + "phaseType": "PROVISIONING", + "phaseStatus": "SUCCEEDED" + }, + { + "durationInSeconds": 15, + "endTime": 1548717512.555, + "contexts": [ + { + "statusCode": "", + "message": "" + } + ], + "startTime": 1548717496.909, + "phaseType": "DOWNLOAD_SOURCE", + "phaseStatus": "SUCCEEDED" + }, + { + "durationInSeconds": 0, + "endTime": 1548717512.734, + "contexts": [ + { + "statusCode": "", + "message": "" + } + ], + "startTime": 1548717512.555, + "phaseType": "INSTALL", + "phaseStatus": "SUCCEEDED" + }, + { + "durationInSeconds": 0, + "endTime": 1548717512.924, + "contexts": [ + { + "statusCode": "", + "message": "" + } + ], + "startTime": 1548717512.734, + "phaseType": "PRE_BUILD", + "phaseStatus": "SUCCEEDED" + }, + { + "durationInSeconds": 9, + "endTime": 1548717522.254, + "contexts": [ + { + "statusCode": "", + "message": "" + } + ], + "startTime": 1548717512.924, + "phaseType": "BUILD", + "phaseStatus": "SUCCEEDED" + }, + { + "durationInSeconds": 3, + "endTime": 1548717525.498, + "contexts": [ + { + "statusCode": "", + "message": "" + } + ], + "startTime": 1548717522.254, + "phaseType": "POST_BUILD", + "phaseStatus": "SUCCEEDED" + }, + { + "durationInSeconds": 9, + "endTime": 1548717534.646, + "contexts": [ + { + "statusCode": "", + "message": "" + } + ], + "startTime": 1548717525.498, + "phaseType": "UPLOAD_ARTIFACTS", + "phaseStatus": "SUCCEEDED" + }, + { + "durationInSeconds": 2, + "endTime": 1548717536.846, + "contexts": [ + { + "statusCode": "", + "message": "" + } + ], + "startTime": 1548717534.646, + "phaseType": "FINALIZING", + "phaseStatus": "SUCCEEDED" + }, + { + "startTime": 1548717536.846, + "phaseType": "COMPLETED" + } + ], + "startTime": 1548717462.122, + "encryptionKey": "arn:aws:kms:us-west-2:123456789012:alias/aws/s3", + "initiator": "codepipeline/CodeBuild-Pipeline", + "secondarySources": [], + "serviceRole": "arn:aws:iam::123456789012:role/service-role/my-codebuild-service-role", + "currentPhase": "COMPLETED", + "id": "codebuild-demo-project:e9c4f4df-3f43-41d2-ab3a-60fe2EXAMPLE", + "cache": { + "type": "NO_CACHE" + }, + "sourceVersion": "arn:aws:s3:::codepipeline-us-west-2-820783811474/CodeBuild-Python-Pip/SourceArti/1TspnN3.zip", + "endTime": 1548717536.846, + "arn": "arn:aws:codebuild:us-west-2:123456789012:build/codebuild-demo-project:e9c4f4df-3f43-41d2-ab3a-60fe2EXAMPLE", + "queuedTimeoutInMinutes": 480, + "resolvedSourceVersion": "f2194c1757bbdcb0f8f229254a4b3c8b27d43e0b" + }, + { + "artifacts": { + "md5sum": "", + "overrideArtifactName": false, + "location": "arn:aws:s3:::my-artifacts/codebuild-demo-project", + "encryptionDisabled": false, + "sha256sum": "" + }, + "logs": { + "cloudWatchLogs": { + "status": "ENABLED" + }, + "s3Logs": { + "status": "DISABLED" + }, + "streamName": "4dea3ca4-20ec-4898-b22a-a9eb9292775d", + "groupName": "/aws/codebuild/codebuild-demo-project", + "deepLink": "https://console.aws.amazon.com/cloudwatch/home?region=us-west-2#logEvent:group=/aws/codebuild/codebuild-demo-project;stream=4dea3ca4-20ec-4898-b22a-a9eb9292775d" + }, + "timeoutInMinutes": 60, + "environment": { + "privilegedMode": false, + "computeType": "BUILD_GENERAL1_MEDIUM", + "image": "aws/codebuild/windows-base:1.0", + "environmentVariables": [], + "type": "WINDOWS_CONTAINER" + }, + "projectName": "codebuild-demo-project", + "buildComplete": true, + "source": { + "gitCloneDepth": 1, + "location": "https://github.com/my-repo/codebuild-demo-project.git", + "insecureSsl": false, + "reportBuildStatus": false, + "type": "GITHUB" + }, + "buildStatus": "SUCCEEDED", + "secondaryArtifacts": [], + "phases": [ + { + "durationInSeconds": 0, + "startTime": 1548716241.89, + "phaseType": "SUBMITTED", + "endTime": 1548716242.241, + "phaseStatus": "SUCCEEDED" + }, + { + "durationInSeconds": 0, + "startTime": 1548716242.241, + "phaseType": "QUEUED", + "endTime": 1548716242.536, + "phaseStatus": "SUCCEEDED" + }, + { + "durationInSeconds": 33, + "endTime": 1548716276.171, + "contexts": [ + { + "statusCode": "", + "message": "" + } + ], + "startTime": 1548716242.536, + "phaseType": "PROVISIONING", + "phaseStatus": "SUCCEEDED" + }, + { + "durationInSeconds": 15, + "endTime": 1548716291.809, + "contexts": [ + { + "statusCode": "", + "message": "" + } + ], + "startTime": 1548716276.171, + "phaseType": "DOWNLOAD_SOURCE", + "phaseStatus": "SUCCEEDED" + }, + { + "durationInSeconds": 0, + "endTime": 1548716291.993, + "contexts": [ + { + "statusCode": "", + "message": "" + } + ], + "startTime": 1548716291.809, + "phaseType": "INSTALL", + "phaseStatus": "SUCCEEDED" + }, + { + "durationInSeconds": 0, + "endTime": 1548716292.191, + "contexts": [ + { + "statusCode": "", + "message": "" + } + ], + "startTime": 1548716291.993, + "phaseType": "PRE_BUILD", + "phaseStatus": "SUCCEEDED" + }, + { + "durationInSeconds": 9, + "endTime": 1548716301.622, + "contexts": [ + { + "statusCode": "", + "message": "" + } + ], + "startTime": 1548716292.191, + "phaseType": "BUILD", + "phaseStatus": "SUCCEEDED" + }, + { + "durationInSeconds": 3, + "endTime": 1548716304.783, + "contexts": [ + { + "statusCode": "", + "message": "" + } + ], + "startTime": 1548716301.622, + "phaseType": "POST_BUILD", + "phaseStatus": "SUCCEEDED" + }, + { + "durationInSeconds": 8, + "endTime": 1548716313.775, + "contexts": [ + { + "statusCode": "", + "message": "" + } + ], + "startTime": 1548716304.783, + "phaseType": "UPLOAD_ARTIFACTS", + "phaseStatus": "SUCCEEDED" + }, + { + "durationInSeconds": 2, + "endTime": 1548716315.935, + "contexts": [ + { + "statusCode": "", + "message": "" + } + ], + "startTime": 1548716313.775, + "phaseType": "FINALIZING", + "phaseStatus": "SUCCEEDED" + }, + { + "startTime": 1548716315.935, + "phaseType": "COMPLETED" + } + ], + "startTime": 1548716241.89, + "secondarySourceVersions": [], + "initiator": "my-codebuild-project", + "arn": "arn:aws:codebuild:us-west-2:123456789012:build/codebuild-demo-project:815e755f-bade-4a7e-80f0-efe51EXAMPLE", + "encryptionKey": "arn:aws:kms:us-west-2:123456789012:alias/aws/s3", + "serviceRole": "arn:aws:iam::123456789012:role/service-role/my-codebuild-service-role", + "currentPhase": "COMPLETED", + "id": "codebuild-demo-project:815e755f-bade-4a7e-80f0-efe51EXAMPLE", + "cache": { + "type": "NO_CACHE" + }, + "endTime": 1548716315.935, + "secondarySources": [], + "queuedTimeoutInMinutes": 480, + "resolvedSourceVersion": "f2194c1757bbdcb0f8f229254a4b3c8b27d43e0b" + } + ] + } + +For more information, see `View Build Details (AWS CLI) `_ in the *AWS CodeBuild User Guide*. + diff --git a/bin/awscli/examples/codebuild/batch-get-projects.rst b/bin/awscli/examples/codebuild/batch-get-projects.rst new file mode 100644 index 00000000..b54ff61c --- /dev/null +++ b/bin/awscli/examples/codebuild/batch-get-projects.rst @@ -0,0 +1,89 @@ +**To get a list of AWS CodeBuild build project names.** + +The following ``batch-get-projects`` example gets a list of CodeBuild build projects specified by name. :: + + aws codebuild batch-get-projects --names codebuild-demo-project codebuild-demo-project2 my-other-demo-project + +In the following output, the ``projectsNotFound`` array lists any build project names that were specified, but not found. The ``projects`` array lists details for each build project where information was found. :: + + { + "projectsNotFound": [], + "projects": [ + { + "encryptionKey": "arn:aws:kms:us-west-2:123456789012:alias/aws/s3", + "name": "codebuild-demo-project2", + "queuedTimeoutInMinutes": 480, + "timeoutInMinutes": 60, + "source": { + "buildspec": "version: 0.2\n\n#env:\n #variables:\n # key: \"value\"\n # key: \"value\"\n #parameter-store:\n # key: \"value\"\n # key:\"value\"\n\nphases:\n #install:\n #commands:\n # - command\n # - command\n #pre_build:\n #commands:\n # - command\n # - command\n build:\n commands:\n # - command\n # - command\n #post_build:\n #commands:\n # - command\n # - command\n#artifacts:\n #files:\n # - location\n # - location\n #name: $(date +%Y-%m-%d)\n #discard-paths: yes\n #base-directory: location\n#cache:\n #paths:\n # - paths", + "type": "NO_SOURCE", + "insecureSsl": false, + "gitCloneDepth": 1 + }, + "artifacts": { + "type": "NO_ARTIFACTS" + }, + "badge": { + "badgeEnabled": false + }, + "lastModified": 1540588091.108, + "created": 1540588091.108, + "arn": "arn:aws:codebuild:us-west-2:123456789012:project/test-for-sample", + "secondarySources": [], + "secondaryArtifacts": [], + "cache": { + "type": "NO_CACHE" + }, + "serviceRole": "arn:aws:iam::123456789012:role/service-role/my-test-role", + "environment": { + "image": "aws/codebuild/java:openjdk-8", + "privilegedMode": true, + "type": "LINUX_CONTAINER", + "computeType": "BUILD_GENERAL1_SMALL", + "environmentVariables": [] + }, + "tags": [] + }, + { + "encryptionKey": "arn:aws:kms:us-west-2:123456789012:alias/aws/s3", + "name": "my-other-demo-project", + "queuedTimeoutInMinutes": 480, + "timeoutInMinutes": 60, + "source": { + "location": "https://github.com/iversonic/codedeploy-sample.git", + "reportBuildStatus": false, + "buildspec": "buildspec.yml", + "insecureSsl": false, + "gitCloneDepth": 1, + "type": "GITHUB", + "auth": { + "type": "OAUTH" + } + }, + "artifacts": { + "type": "NO_ARTIFACTS" + }, + "badge": { + "badgeEnabled": false + }, + "lastModified": 1523401711.73, + "created": 1523401711.73, + "arn": "arn:aws:codebuild:us-west-2:123456789012:project/Project2", + "cache": { + "type": "NO_CACHE" + }, + "serviceRole": "arn:aws:iam::123456789012:role/service-role/codebuild-Project2-service-role", + "environment": { + "image": "aws/codebuild/nodejs:4.4.7", + "privilegedMode": false, + "type": "LINUX_CONTAINER", + "computeType": "BUILD_GENERAL1_SMALL", + "environmentVariables": [] + }, + "tags": [] + } + ] + } + +For more information, see `View a Build Project's Details (AWS CLI) `_ in the *AWS CodeBuild User Guide*. + diff --git a/bin/awscli/examples/codebuild/create-project.rst b/bin/awscli/examples/codebuild/create-project.rst new file mode 100755 index 00000000..e500233b --- /dev/null +++ b/bin/awscli/examples/codebuild/create-project.rst @@ -0,0 +1,112 @@ +**Example 1: To create an AWS CodeBuild build project** + +The following ``create-project`` example creates a CodeBuild build project using source files from an S3 bucket :: + + aws codebuild create-project \ + --name "my-demo-project" \ + --source "{\"type\": \"S3\",\"location\": \"codebuild-us-west-2-123456789012-input-bucket/my-source.zip\"}" \ + --artifacts {"\"type\": \"S3\",\"location\": \"codebuild-us-west-2-123456789012-output-bucket\""} \ + --environment "{\"type\": \"LINUX_CONTAINER\",\"image\": \"aws/codebuild/standard:1.0\",\"computeType\": \"BUILD_GENERAL1_SMALL\"}" \ + --service-role "arn:aws:iam::123456789012:role/service-role/my-codebuild-service-role" + +Output:: + + { + "project": { + "arn": "arn:aws:codebuild:us-west-2:123456789012:project/my-demo-project", + "name": "my-cli-demo-project", + "encryptionKey": "arn:aws:kms:us-west-2:123456789012:alias/aws/s3", + "serviceRole": "arn:aws:iam::123456789012:role/service-role/my-codebuild-service-role", + "lastModified": 1556839783.274, + "badge": { + "badgeEnabled": false + }, + "queuedTimeoutInMinutes": 480, + "environment": { + "image": "aws/codebuild/standard:1.0", + "computeType": "BUILD_GENERAL1_SMALL", + "type": "LINUX_CONTAINER", + "imagePullCredentialsType": "CODEBUILD", + "privilegedMode": false, + "environmentVariables": [] + }, + "artifacts": { + "location": "codebuild-us-west-2-123456789012-output-bucket", + "name": "my-cli-demo-project", + "namespaceType": "NONE", + "type": "S3", + "packaging": "NONE", + "encryptionDisabled": false + }, + "source": { + "type": "S3", + "location": "codebuild-us-west-2-123456789012-input-bucket/my-source.zip", + "insecureSsl": false + }, + "timeoutInMinutes": 60, + "cache": { + "type": "NO_CACHE" + }, + "created": 1556839783.274 + } + } + +**Example 2: To create an AWS CodeBuild build project using a JSON input file for the parameters** + +The following ``create-project`` example creates a CodeBuild build project by passing all of the required parameters in a JSON input file. Create the input file template by running the command with only the ``--generate-cli-skeleton parameter``. :: + + aws codebuild create-project --cli-input-json file://create-project.json + +The input JSON file ``create-project.json`` contains the following content:: + + { + "name": "codebuild-demo-project", + "source": { + "type": "S3", + "location": "codebuild-region-ID-account-ID-input-bucket/MessageUtil.zip" + }, + "artifacts": { + "type": "S3", + "location": "codebuild-region-ID-account-ID-output-bucket" + }, + "environment": { + "type": "LINUX_CONTAINER", + "image": "aws/codebuild/standard:1.0", + "computeType": "BUILD_GENERAL1_SMALL" + }, + "serviceRole": "serviceIAMRole" + } + +Output:: + + { + "project": { + "name": "codebuild-demo-project", + "serviceRole": "serviceIAMRole", + "tags": [], + "artifacts": { + "packaging": "NONE", + "type": "S3", + "location": "codebuild-region-ID-account-ID-output-bucket", + "name": "message-util.zip" + }, + "lastModified": 1472661575.244, + "timeoutInMinutes": 60, + "created": 1472661575.244, + "environment": { + "computeType": "BUILD_GENERAL1_SMALL", + "image": "aws/codebuild/standard:1.0", + "type": "LINUX_CONTAINER", + "environmentVariables": [] + }, + "source": { + "type": "S3", + "location": "codebuild-region-ID-account-ID-input-bucket/MessageUtil.zip" + }, + "encryptionKey": "arn:aws:kms:region-ID:account-ID:alias/aws/s3", + "arn": "arn:aws:codebuild:region-ID:account-ID:project/codebuild-demo-project" + } + } + +For more information, see `Create a Build Project (AWS CLI) `_ in the *AWS CodeBuild User Guide*. + diff --git a/bin/awscli/examples/codebuild/create-webhook.rst b/bin/awscli/examples/codebuild/create-webhook.rst new file mode 100755 index 00000000..449fcd38 --- /dev/null +++ b/bin/awscli/examples/codebuild/create-webhook.rst @@ -0,0 +1,50 @@ +**To create webhook filters for an AWS CodeBuild project** + +The following ``create-webhook`` example creates a webhook for a CodeBuild project named ``my-project`` that has two filter groups. The first filter group specifies pull requests that are created, updated, or reopened on branches with Git reference names that match the regular expression ``^refs/heads/master$`` and head references that match ``^refs/heads/myBranch$``. The second filter group specifies push requests on branches with Git reference names that do not match the regular expression ``^refs/heads/myBranch$``. :: + + aws codebuild create-webhook \ + --project-name my-project \ + --filter-groups "[[{\"type\":\"EVENT\",\"pattern\":\"PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, PULL_REQUEST_REOPENED\"},{\"type\":\"HEAD_REF\",\"pattern\":\"^refs/heads/myBranch$\",\"excludeMatchedPattern\":true},{\"type\":\"BASE_REF\",\"pattern\":\"^refs/heads/master$\",\"excludeMatchedPattern\":true}],[{\"type\":\"EVENT\",\"pattern\":\"PUSH\"},{\"type\":\"HEAD_REF\",\"pattern\":\"^refs/heads/myBranch$\",\"excludeMatchedPattern\":true}]]" + +Output:: + + { + "webhook": { + "payloadUrl": "https://codebuild.us-west-2.amazonaws.com/webhooks?t=eyJlbmNyeXB0ZWREYXRhIjoiVVl5MGtoeGRwSzZFRXl2Wnh4bld1Z0tKZ291TVpQNEtFamQ3RDlDYWpRaGIreVFrdm9EQktIVk1NeHJEWEpmUDUrVUNOMUIyRHJRc1VxcHJ6QlNDSnljPSIsIml2UGFyYW1ldGVyU3BlYyI6InN4Tm1SeUt5MUhaUVRWbGciLCJtYXRlcmlhbFNldFNlcmlhbCI6MX0%3D&v=1", + "url": "https://api.github.com/repos/iversonic/codedeploy-sample/hooks/105190656", + "lastModifiedSecret": 1556311319.069, + "filterGroups": [ + [ + { + "type": "EVENT", + "pattern": "PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, PULL_REQUEST_REOPENED", + "excludeMatchedPattern": false + }, + { + "type": "HEAD_REF", + "pattern": "refs/heads/myBranch$", + "excludeMatchedPattern": true + }, + { + "type": "BASE_REF", + "pattern": "refs/heads/master$", + "excludeMatchedPattern": true + } + ], + [ + { + "type": "EVENT", + "pattern": "PUSH", + "excludeMatchedPattern": false + }, + { + "type": "HEAD_REF", + "pattern": "refs/heads/myBranch$", + "excludeMatchedPattern": true + } + ] + ] + } + } + +For more information, see `Filter GitHub Webhook Events (SDK) `_ in the *AWS CodeBuild User Guide*. diff --git a/bin/awscli/examples/codebuild/delete-project.rst b/bin/awscli/examples/codebuild/delete-project.rst new file mode 100755 index 00000000..6260cabe --- /dev/null +++ b/bin/awscli/examples/codebuild/delete-project.rst @@ -0,0 +1,9 @@ +**To delete an AWS CodeBuild build project** + +The following ``delete-project`` example deletes the specified CodeBuild build project. :: + + aws codebuild delete-project --name my-project + +This command produces no output. + +For more information, see `Delete a Build Project (AWS CLI) `_ in the *AWS CodeBuild User Guide*. diff --git a/bin/awscli/examples/codebuild/delete-source-credentials.rst b/bin/awscli/examples/codebuild/delete-source-credentials.rst new file mode 100755 index 00000000..3d303364 --- /dev/null +++ b/bin/awscli/examples/codebuild/delete-source-credentials.rst @@ -0,0 +1,13 @@ +**To disconnect from a source provider and remove its access tokens.** + +The following ``delete-source-credentials`` example disconnects from a source provider and removes its tokens. The ARN of source credentials used to connect to the source provider determines which source credentials. :: + + aws codebuild delete-source-credentials --arn arn-of-your-credentials + +Output:: + + { + "arn": "arn:aws:codebuild:your-region:your-account-id:token/your-server-type" + } + +For more information, see `Connect Source Providers with Access Tokens (CLI) `_ in the *AWS CodeBuild User Guide*. diff --git a/bin/awscli/examples/codebuild/delete-webhook.rst b/bin/awscli/examples/codebuild/delete-webhook.rst new file mode 100755 index 00000000..b5f0afd2 --- /dev/null +++ b/bin/awscli/examples/codebuild/delete-webhook.rst @@ -0,0 +1,9 @@ +**To delete a webhook filter from an AWS CodeBuild project** + +The following ``delete-webhook`` example deletes a webhook from the specified CodeBuild project. :: + + aws codebuild delete-webhook --project-name my-project + +This command produces no output. + +For more information, see `Stop Running Builds Automatically (AWS CLI) `_ in the *AWS CodeBuild User Guide*. diff --git a/bin/awscli/examples/codebuild/import-source-credentials.rst b/bin/awscli/examples/codebuild/import-source-credentials.rst new file mode 100755 index 00000000..69b0f186 --- /dev/null +++ b/bin/awscli/examples/codebuild/import-source-credentials.rst @@ -0,0 +1,13 @@ +**Connect an AWS CodeBuild user to a source provider by importing credentials for the source provider.** + +The following ``import-source-credentials`` example imports a token for a Bitbucket repository that uses BASIC_AUTH for its authentication type. :: + + aws codebuild import-source-credentials --server-type BITBUCKET --auth-type BASIC_AUTH --token my-Bitbucket-password --username my-Bitbucket-username + +Output:: + + { + "arn": "arn:aws:codebuild:us-west-2:123456789012:token/bitbucket" + } + +For more information, see `Connect Source Providers with Access Tokens (CLI) `_ in the *AWS CodeBuild User Guide*. diff --git a/bin/awscli/examples/codebuild/invalidate-project-cache.rst b/bin/awscli/examples/codebuild/invalidate-project-cache.rst new file mode 100755 index 00000000..26436b1d --- /dev/null +++ b/bin/awscli/examples/codebuild/invalidate-project-cache.rst @@ -0,0 +1,9 @@ +**To reset the cache for an AWS CodeBuild build project.** + +The following ``invalidate-project-cache`` example resets the cache for the specified CodeBuild project. :: + + aws codebuild invalidate-project-cache --project-name my-project + +This command produces no output. + +For more information, see `Build Caching in CodeBuild `_ in the *AWS CodeBuild User Guide*. diff --git a/bin/awscli/examples/codebuild/list-builds-for-project.rst b/bin/awscli/examples/codebuild/list-builds-for-project.rst new file mode 100755 index 00000000..4db3478f --- /dev/null +++ b/bin/awscli/examples/codebuild/list-builds-for-project.rst @@ -0,0 +1,19 @@ +**To view a list of builds for an AWS CodeBuild build project.** + +The following ``list-builds-for-project`` example lists the build IDs in descending order for the specified CodeBuild build project. :: + + aws codebuild list-builds-for-project --project-name codebuild-demo-project --sort-order DESCENDING + +Output:: + + { + "ids": [ + "codebuild-demo-project:1a2b3c4d-5678-90ab-cdef-11111example", + "codebuild-demo-project:1a2b3c4d-5678-90ab-cdef-22222example", + "codebuild-demo-project:1a2b3c4d-5678-90ab-cdef-33333example", + "codebuild-demo-project:1a2b3c4d-5678-90ab-cdef-44444example", + "codebuild-demo-project:1a2b3c4d-5678-90ab-cdef-55555example" + ] + } + +For more information, see `View a List of Build IDs for a Build Project (AWS CLI) `_ in the *AWS CodeBuild User Guide* diff --git a/bin/awscli/examples/codebuild/list-builds.rst b/bin/awscli/examples/codebuild/list-builds.rst new file mode 100755 index 00000000..d9ae898f --- /dev/null +++ b/bin/awscli/examples/codebuild/list-builds.rst @@ -0,0 +1,35 @@ +**To get a list of AWS CodeBuild builds IDs.** + +The following ``list-builds`` example gets a list of CodeBuild IDs sorted in ascending order. :: + + aws codebuild list-builds --sort-order ASCENDING + +The output includes a ``nextToken`` value which indicates that there is more output available. :: + + { + "nextToken": "4AEA6u7J...The full token has been omitted for brevity...MzY2OA==", + "ids": [ + "codebuild-demo-project:815e755f-bade-4a7e-80f0-efe51EXAMPLE" + "codebuild-demo-project:84a7f3d1-d40e-4956-b4cf-7a9d4EXAMPLE" + ... The full list of build IDs has been omitted for brevity ... + "codebuild-demo-project:931d0b72-bf6f-4040-a472-5c707EXAMPLE" + ] + } + +Run this command again and provide the ``nextToken`` value in the previous response as a parameter to get the next part of the output. Repeat until you don't receive a ``nextToken`` value in the response. :: + + aws codebuild list-builds --sort-order ASCENDING --next-token 4AEA6u7J...The full token has been omitted for brevity...MzY2OA== + +Next part of the output:: + + { + "ids": [ + "codebuild-demo-project:49015049-21cf-4b50-9708-df115EXAMPLE", + "codebuild-demo-project:543e7206-68a3-46d6-a4da-759abEXAMPLE", + ... The full list of build IDs has been omitted for brevity ... + "codebuild-demo-project:c282f198-4582-4b38-bdc0-26f96EXAMPLE" + ] + } + +For more information, see `View a List of Build IDs (AWS CLI) `_ in the *AWS CodeBuild User Guide* + diff --git a/bin/awscli/examples/codebuild/list-curated-environment-images.rst b/bin/awscli/examples/codebuild/list-curated-environment-images.rst new file mode 100755 index 00000000..f1b975a1 --- /dev/null +++ b/bin/awscli/examples/codebuild/list-curated-environment-images.rst @@ -0,0 +1,40 @@ +**To get a list of Docker images managed by AWS CodeBuild that you can use for your builds.** + +The following ``list-curated-environment-images`` example lists the Docker images managed by CodeBuild that can be used for builds.:: + + aws codebuild list-curated-environment-images + +Output:: + + { + "platforms": [ + { + "platform": "AMAZON_LINUX", + "languages": [ + { + "language": "JAVA", + "images": [ + { + "description": "AWS ElasticBeanstalk - Java 7 Running on Amazon Linux 64bit v2.1.3", + "name": "aws/codebuild/eb-java-7-amazonlinux-64:2.1.3", + "versions": [ + "aws/codebuild/eb-java-7-amazonlinux-64:2.1.3-1.0.0" + ] + }, + { + "description": "AWS ElasticBeanstalk - Java 8 Running on Amazon Linux 64bit v2.1.3", + "name": "aws/codebuild/eb-java-8-amazonlinux-64:2.1.3", + "versions": [ + "aws/codebuild/eb-java-8-amazonlinux-64:2.1.3-1.0.0" + ] + }, + ... LIST TRUNCATED FOR BREVITY ... + ] + } + ] + } + ] + } + + +For more information, see `Docker Images Provided by CodeBuild `_ in the *AWS CodeBuild User Guide* diff --git a/bin/awscli/examples/codebuild/list-projects.rst b/bin/awscli/examples/codebuild/list-projects.rst new file mode 100755 index 00000000..13e7f903 --- /dev/null +++ b/bin/awscli/examples/codebuild/list-projects.rst @@ -0,0 +1,33 @@ +**To get a list of AWS CodeBuild build project names.** + +The following ``list-projects`` example gets a list of CodeBuild build projects sorted by name in ascending order. :: + + aws codebuild list-projects --sort-by NAME --sort-order ASCENDING + +The output includes a ``nextToken`` value which indicates that there is more output available. :: + + { + "nextToken": "Ci33ACF6...The full token has been omitted for brevity...U+AkMx8=", + "projects": [ + "codebuild-demo-project", + "codebuild-demo-project2", + ... The full list of build project names has been omitted for brevity ... + "codebuild-demo-project99" + ] + } + +Run this command again and provide the ``nextToken`` value from the previous response as a parameter to get the next part of the output. Repeat until you don't receive a ``nextToken`` value in the response. :: + + aws codebuild list-projects --sort-by NAME --sort-order ASCENDING --next-token Ci33ACF6...The full token has been omitted for brevity...U+AkMx8= + + { + "projects": [ + "codebuild-demo-project100", + "codebuild-demo-project101", + ... The full list of build project names has been omitted for brevity ... + "codebuild-demo-project122" + ] + } + +For more information, see `View a List of Build Project Names (AWS CLI) `_ in the *AWS CodeBuild User Guide*. + diff --git a/bin/awscli/examples/codebuild/list-source-credentials.rst b/bin/awscli/examples/codebuild/list-source-credentials.rst new file mode 100755 index 00000000..0eca272d --- /dev/null +++ b/bin/awscli/examples/codebuild/list-source-credentials.rst @@ -0,0 +1,24 @@ +**To view a list of sourceCredentialsObjects** + +The following ``list-source-credentials`` example lists tokens for an AWS account connected to one Bitbucket account and one GitHub account. Each ``sourceCredentialsInfos`` object in the response contains connected source credentials information. :: + + aws codebuild list-source-credentials + +Output:: + + { + "sourceCredentialsInfos": [ + { + "serverType": "BITBUCKET", + "arn": "arn:aws:codebuild:us-west-2:123456789012:token/bitbucket", + "authType": "BASIC_AUTH" + }, + { + "serverType": "GITHUB", + "arn": "arn:aws:codebuild:us-west-2:123456789012:token/github", + "authType": "OAUTH" + } + ] + } + +For more information, see `Connect Source Providers with Access Tokens (CLI) `_ in the *AWS CodeBuild User Guide*. diff --git a/bin/awscli/examples/codebuild/start-build.rst b/bin/awscli/examples/codebuild/start-build.rst new file mode 100755 index 00000000..b12d87fb --- /dev/null +++ b/bin/awscli/examples/codebuild/start-build.rst @@ -0,0 +1,66 @@ +**To start running a build of an AWS CodeBuild build project.** + +The following ``start-build`` example starts a build for the specified CodeBuild project. The build overrides both the project's setting for the number of minutes the build is allowed to be queued before it times out and the project's artifact settings. :: + + aws codebuild start-build \ + --project-name "my-demo-project" \ + --queued-timeout-in-minutes-override 5 \ + --artifacts-override {"\"type\": \"S3\",\"location\": \"arn:aws:s3:::artifacts-override\",\"overrideArtifactName\":true"} + +Output:: + + { + "build": { + "serviceRole": "arn:aws:iam::123456789012:role/service-role/my-codebuild-service-role", + "buildStatus": "IN_PROGRESS", + "buildComplete": false, + "projectName": "my-demo-project", + "timeoutInMinutes": 60, + "source": { + "insecureSsl": false, + "type": "S3", + "location": "codebuild-us-west-2-123456789012-input-bucket/my-source.zip" + }, + "queuedTimeoutInMinutes": 5, + "encryptionKey": "arn:aws:kms:us-west-2:123456789012:alias/aws/s3", + "currentPhase": "QUEUED", + "startTime": 1556905683.568, + "environment": { + "computeType": "BUILD_GENERAL1_MEDIUM", + "environmentVariables": [], + "type": "LINUX_CONTAINER", + "privilegedMode": false, + "image": "aws/codebuild/standard:1.0", + "imagePullCredentialsType": "CODEBUILD" + }, + "phases": [ + { + "phaseStatus": "SUCCEEDED", + "startTime": 1556905683.568, + "phaseType": "SUBMITTED", + "durationInSeconds": 0, + "endTime": 1556905684.524 + }, + { + "startTime": 1556905684.524, + "phaseType": "QUEUED" + } + ], + "logs": { + "deepLink": "https://console.aws.amazon.com/cloudwatch/home?region=us-west-2#logEvent:group=null;stream=null" + }, + "artifacts": { + "encryptionDisabled": false, + "location": "arn:aws:s3:::artifacts-override/my-demo-project", + "overrideArtifactName": true + }, + "cache": { + "type": "NO_CACHE" + }, + "id": "my-demo-project::12345678-a1b2-c3d4-e5f6-11111EXAMPLE", + "initiator": "my-aws-account-name", + "arn": "arn:aws:codebuild:us-west-2:123456789012:build/my-demo-project::12345678-a1b2-c3d4-e5f6-11111EXAMPLE" + } + } + +For more information, see `Run a Build (AWS CLI) `_ in the *AWS CodeBuild User Guide*. diff --git a/bin/awscli/examples/codebuild/stop-build.rst b/bin/awscli/examples/codebuild/stop-build.rst new file mode 100755 index 00000000..0c519d8c --- /dev/null +++ b/bin/awscli/examples/codebuild/stop-build.rst @@ -0,0 +1,132 @@ +**To stop a build of an AWS CodeBuild build project.** + +The following ``stop-build`` example stops the specified CodeBuild build. :: + + aws codebuild stop-build --id my-demo-project:12345678-a1b2-c3d4-e5f6-11111EXAMPLE + +Output:: + + { + "build": { + "startTime": 1556906956.318, + "initiator": "my-aws-account-name", + "projectName": "my-demo-project", + "currentPhase": "COMPLETED", + "cache": { + "type": "NO_CACHE" + }, + "source": { + "insecureSsl": false, + "location": "codebuild-us-west-2-123456789012-input-bucket/my-source.zip", + "type": "S3" + }, + "id": "my-demo-project:1a2b3c4d-5678-90ab-cdef-11111EXAMPLE", + "endTime": 1556906974.781, + "phases": [ + { + "durationInSeconds": 0, + "phaseType": "SUBMITTED", + "endTime": 1556906956.935, + "phaseStatus": "SUCCEEDED", + "startTime": 1556906956.318 + }, + { + "durationInSeconds": 1, + "phaseType": "QUEUED", + "endTime": 1556906958.272, + "phaseStatus": "SUCCEEDED", + "startTime": 1556906956.935 + }, + { + "phaseType": "PROVISIONING", + "phaseStatus": "SUCCEEDED", + "durationInSeconds": 14, + "contexts": [ + { + "message": "", + "statusCode": "" + } + ], + "endTime": 1556906972.847, + "startTime": 1556906958.272 + }, + { + "phaseType": "DOWNLOAD_SOURCE", + "phaseStatus": "SUCCEEDED", + "durationInSeconds": 0, + "contexts": [ + { + "message": "", + "statusCode": "" + } + ], + "endTime": 1556906973.552, + "startTime": 1556906972.847 + }, + { + "phaseType": "INSTALL", + "phaseStatus": "SUCCEEDED", + "durationInSeconds": 0, + "contexts": [ + { + "message": "", + "statusCode": "" + } + ], + "endTime": 1556906973.75, + "startTime": 1556906973.552 + }, + { + "phaseType": "PRE_BUILD", + "phaseStatus": "SUCCEEDED", + "durationInSeconds": 0, + "contexts": [ + { + "message": "", + "statusCode": "" + } + ], + "endTime": 1556906973.937, + "startTime": 1556906973.75 + }, + { + "durationInSeconds": 0, + "phaseType": "BUILD", + "endTime": 1556906974.781, + "phaseStatus": "STOPPED", + "startTime": 1556906973.937 + }, + { + "phaseType": "COMPLETED", + "startTime": 1556906974.781 + } + ], + "artifacts": { + "location": "arn:aws:s3:::artifacts-override/my-demo-project", + "encryptionDisabled": false, + "overrideArtifactName": true + }, + "buildComplete": true, + "buildStatus": "STOPPED", + "encryptionKey": "arn:aws:kms:us-west-2:123456789012:alias/aws/s3", + "serviceRole": "arn:aws:iam::123456789012:role/service-role/my-codebuild-service-role", + "queuedTimeoutInMinutes": 5, + "timeoutInMinutes": 60, + "environment": { + "type": "LINUX_CONTAINER", + "environmentVariables": [], + "computeType": "BUILD_GENERAL1_MEDIUM", + "privilegedMode": false, + "image": "aws/codebuild/standard:1.0", + "imagePullCredentialsType": "CODEBUILD" + }, + "logs": { + "streamName": "1a2b3c4d-5678-90ab-cdef-11111EXAMPLE", + "deepLink": "https://console.aws.amazon.com/cloudwatch/home?region=us-west-2#logEvent:group=/aws/codebuild/my-demo-project;stream=1a2b3c4d-5678-90ab-cdef-11111EXAMPLE", + "groupName": "/aws/codebuild/my-demo-project" + }, + "arn": "arn:aws:codebuild:us-west-2:123456789012:build/my-demo-project:1a2b3c4d-5678-90ab-cdef-11111EXAMPLE" + } + } + +For more information, see `Stop a Build (AWS CLI) `_ in the *AWS CodeBuild User Guide*. diff --git a/bin/awscli/examples/codebuild/update-project.rst b/bin/awscli/examples/codebuild/update-project.rst new file mode 100755 index 00000000..aeee91a4 --- /dev/null +++ b/bin/awscli/examples/codebuild/update-project.rst @@ -0,0 +1,56 @@ +**To change an AWS CodeBuild build project's settings.** + +The following ``update-project`` example changes the settings of the specified CodeBuild build project named my-demo-project. :: + + aws codebuild update-project --name "my-demo-project" \ + --description "This project is updated" \ + --source "{\"type\": \"S3\",\"location\": \"codebuild-us-west-2-123456789012-input-bucket/my-source-2.zip\"}" \ + --artifacts {"\"type\": \"S3\",\"location\": \"codebuild-us-west-2-123456789012-output-bucket-2\""} \ + --environment "{\"type\": \"LINUX_CONTAINER\",\"image\": \"aws/codebuild/standard:1.0\",\"computeType\": \"BUILD_GENERAL1_MEDIUM\"}" \ + --service-role "arn:aws:iam::123456789012:role/service-role/my-codebuild-service-role" + +The output displays the updated settings. :: + + { + "project": { + "arn": "arn:aws:codebuild:us-west-2:123456789012:project/my-demo-project", + "environment": { + "privilegedMode": false, + "environmentVariables": [], + "type": "LINUX_CONTAINER", + "image": "aws/codebuild/standard:1.0", + "computeType": "BUILD_GENERAL1_MEDIUM", + "imagePullCredentialsType": "CODEBUILD" + }, + "queuedTimeoutInMinutes": 480, + "description": "This project is updated", + "artifacts": { + "packaging": "NONE", + "name": "my-demo-project", + "type": "S3", + "namespaceType": "NONE", + "encryptionDisabled": false, + "location": "codebuild-us-west-2-123456789012-output-bucket-2" + }, + "encryptionKey": "arn:aws:kms:us-west-2:123456789012:alias/aws/s3", + "badge": { + "badgeEnabled": false + }, + "serviceRole": "arn:aws:iam::123456789012:role/service-role/my-codebuild-service-role", + "lastModified": 1556840545.967, + "tags": [], + "timeoutInMinutes": 60, + "created": 1556839783.274, + "name": "my-demo-project", + "cache": { + "type": "NO_CACHE" + }, + "source": { + "type": "S3", + "insecureSsl": false, + "location": "codebuild-us-west-2-123456789012-input-bucket/my-source-2.zip" + } + } + } + +For more information, see `Change a Build Project's Settings (AWS CLI) `_ in the *AWS CodeBuild User Guide* diff --git a/bin/awscli/examples/codebuild/update-webhook.rst b/bin/awscli/examples/codebuild/update-webhook.rst new file mode 100755 index 00000000..ff3db761 --- /dev/null +++ b/bin/awscli/examples/codebuild/update-webhook.rst @@ -0,0 +1,47 @@ +**To update the webhook for an AWS CodeBuild project** + +The following ``update-webhook`` example updates a webhook for the specified CodeBuild project with two filter groups. The ``--rotate-secret`` parameter specifies that GitHub rotate the project's secret key every time a code change triggers a build. The first filter group specifies pull requests that are created, updated, or reopened on branches with Git reference names that match the regular expression ``^refs/heads/master$`` and head references that match ``^refs/heads/myBranch$``. The second filter group specifies push requests on branches with Git reference names that do not match the regular expression ``^refs/heads/myBranch$``. :: + + aws codebuild update-webhook \ + --project-name Project2 \ + --rotate-secret \ + --filter-groups "[[{\"type\":\"EVENT\",\"pattern\":\"PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, PULL_REQUEST_REOPENED\"},{\"type\":\"HEAD_REF\",\"pattern\":\"^refs/heads/myBranch$\",\"excludeMatchedPattern\":true},{\"type\":\"BASE_REF\",\"pattern\":\"^refs/heads/master$\",\"excludeMatchedPattern\":true}],[{\"type\":\"EVENT\",\"pattern\":\"PUSH\"},{\"type\":\"HEAD_REF\",\"pattern\":\"^refs/heads/myBranch$\",\"excludeMatchedPattern\":true}]]" + +Output:: + + { + "webhook": { + "filterGroups": [ + [ + { + "pattern": "PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, PULL_REQUEST_REOPENED", + "type": "EVENT" + }, + { + "excludeMatchedPattern": true, + "pattern": "refs/heads/myBranch$", + "type": "HEAD_REF" + }, + { + "excludeMatchedPattern": true, + "pattern": "refs/heads/master$", + "type": "BASE_REF" + } + ], + [ + { + "pattern": "PUSH", + "type": "EVENT" + }, + { + "excludeMatchedPattern": true, + "pattern": "refs/heads/myBranch$", + "type": "HEAD_REF" + } + ] + ], + "lastModifiedSecret": 1556312220.133 + } + } + +For more information, see `Change a Build Project's Settings (AWS CLI) `_ in the *AWS CodeBuild User Guide* diff --git a/bin/awscli/examples/codecommit/create-commit.rst b/bin/awscli/examples/codecommit/create-commit.rst new file mode 100755 index 00000000..61236319 --- /dev/null +++ b/bin/awscli/examples/codecommit/create-commit.rst @@ -0,0 +1,25 @@ +**To create a commit** + +The following ``create-commit`` example demonstrates how to create an initial commit for a repository that adds a ``readme.md`` file to a repository named ``MyDemoRepo`` in the ``master`` branch. :: + + aws codecommit create-commit --repository-name MyDemoRepo --branch-name master --put-files "filePath=readme.md,fileContent='Welcome to our team repository.'" + +Output:: + + { + "filesAdded": [ + { + "blobId": "5e1c309d-EXAMPLE", + "absolutePath": "readme.md", + "fileMode": "NORMAL" + } + ], + "commitId": "4df8b524-EXAMPLE", + "treeId": "55b57003-EXAMPLE", + "filesDeleted": [], + "filesUpdated": [] + } + +For more information, see `Create a Commit in AWS CodeCommit`_ in the *AWS CodeCommit User Guide*. + +.. _`Create a Commit in AWS CodeCommit`: https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-create-commit.html#how-to-create-commit-cli \ No newline at end of file diff --git a/bin/awscli/examples/codecommit/create-pull-request.rst b/bin/awscli/examples/codecommit/create-pull-request.rst index b3b5b2b4..311d342c 100644 --- a/bin/awscli/examples/codecommit/create-pull-request.rst +++ b/bin/awscli/examples/codecommit/create-pull-request.rst @@ -1,35 +1,36 @@ **To create a pull request** -This example demonstrates how to create a pull request named 'My Pull Request' with a description of 'Please review these changes by Tuesday' that targets the 'MyNewBranch' source branch and is to be merged to the default branch 'master' in an AWS CodeCommit repository named 'MyDemoRepo':: +The following ``create-pull-request`` example creates a pull request named 'My Pull Request' with a description of 'Please review these changes by Tuesday' that targets the 'MyNewBranch' source branch and is to be merged to the default branch 'master' in an AWS CodeCommit repository named 'MyDemoRepo'. :: - -Command:: - - aws codecommit create-pull-request --title "My Pull Request" --description "Please review these changes by Tuesday" --client-request-token 123Example --targets repositoryName=MyDemoRepo,sourceReference=MyNewBranch + aws codecommit create-pull-request \ + --title "My Pull Request" \ + --description "Please review these changes by Tuesday" \ + --client-request-token 123Example \ + --targets repositoryName=MyDemoRepo,sourceReference=MyNewBranch Output:: - { - "pullRequest": { - "authorArn": "arn:aws:iam::111111111111:user/Jane_Doe", - "clientRequestToken": "123Example", - "creationDate": 1508962823.285, - "description": "Please review these changes by Tuesday", - "lastActivityDate": 1508962823.285, - "pullRequestId": "42", - "pullRequestStatus": "OPEN", - "pullRequestTargets": [ - { - "destinationCommit": "5d036259EXAMPLE", - "destinationReference": "refs/heads/master", - "mergeMetadata": { - "isMerged": false, - }, - "repositoryName": "MyDemoRepo", - "sourceCommit": "317f8570EXAMPLE", - "sourceReference": "refs/heads/MyNewBranch" - } - ], - "title": "My Pull Request" + { + "pullRequest": { + "authorArn": "arn:aws:iam::111111111111:user/Jane_Doe", + "clientRequestToken": "123Example", + "creationDate": 1508962823.285, + "description": "Please review these changes by Tuesday", + "lastActivityDate": 1508962823.285, + "pullRequestId": "42", + "pullRequestStatus": "OPEN", + "pullRequestTargets": [ + { + "destinationCommit": "5d036259EXAMPLE", + "destinationReference": "refs/heads/master", + "mergeMetadata": { + "isMerged": false, + }, + "repositoryName": "MyDemoRepo", + "sourceCommit": "317f8570EXAMPLE", + "sourceReference": "refs/heads/MyNewBranch" + } + ], + "title": "My Pull Request" + } } - } \ No newline at end of file diff --git a/bin/awscli/examples/codecommit/credential-helper.rst b/bin/awscli/examples/codecommit/credential-helper.rst new file mode 100755 index 00000000..017d93ab --- /dev/null +++ b/bin/awscli/examples/codecommit/credential-helper.rst @@ -0,0 +1,18 @@ +**To set up the credential helper included in the AWS CLI with AWS CodeCommit** + +The ``credential-helper`` utility is not designed to be called directly from the AWS CLI. Instead it is intended to be used as a parameter with the ``git config`` command to set up your local computer. It enables Git to use HTTPS and a cryptographically signed version of your IAM user credentials or Amazon EC2 instance role whenever Git needs to authenticate with AWS to interact with CodeCommit repositories. :: + + git config --global credential.helper '!aws codecommit credential-helper $@' + git config --global credential.UseHttpPath true + +Output:: + + [credential] + helper = !aws codecommit credential-helper $@ + UseHttpPath = true + +For more information, see `Setting up for AWS CodeCommit Using Other Methods`_ in the *AWS CodeCommit User Guide*. Review the content carefully, and then follow the procedures in one of the following topics: `For HTTPS Connections on Linux, macOS, or Unix`_ or `For HTTPS Connections on Windows`_ in the *AWS CodeCommit User Guide*. + +.. _`Setting up for AWS CodeCommit Using Other Methods`: https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up.html?shortFooter=true#setting-up-other +.. _`For HTTPS Connections on Linux, macOS, or Unix`: https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-https-unixes.html +.. _`For HTTPS Connections on Windows`: https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-https-windows.html \ No newline at end of file diff --git a/bin/awscli/examples/codecommit/delete-file.rst b/bin/awscli/examples/codecommit/delete-file.rst new file mode 100755 index 00000000..5fdad2f7 --- /dev/null +++ b/bin/awscli/examples/codecommit/delete-file.rst @@ -0,0 +1,18 @@ +**To delete a file** + +The following ``delete-file`` example demonstrates how to delete a file named ``README.md`` from a branch named ``master`` with a most recent commit ID of ``c5709475EXAMPLE`` in a repository named ``MyDemoRepo``. :: + + aws codecommit delete-file --repository-name MyDemoRepo --branch-name master --file-path README.md --parent-commit-id c5709475EXAMPLE + +Output:: + + { + "blobId":"559b44fEXAMPLE", + "commitId":"353cf655EXAMPLE", + "filePath":"README.md", + "treeId":"6bc824cEXAMPLE" + } + +For more information, see `Edit or Delete a File in AWS CodeCommit`_ in the *AWS CodeCommit API Reference* guide. + +.. _`Edit or Delete a File in AWS CodeCommit`: https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-edit-file.html?shortFooter=true#how-to-edit-file-cli \ No newline at end of file diff --git a/bin/awscli/examples/codecommit/describe-pull-request-events.rst b/bin/awscli/examples/codecommit/describe-pull-request-events.rst index c93c5111..7297bc08 100644 --- a/bin/awscli/examples/codecommit/describe-pull-request-events.rst +++ b/bin/awscli/examples/codecommit/describe-pull-request-events.rst @@ -1,29 +1,27 @@ **To view events in a pull request** -This example demonstrates how to view the events for a pull request with the ID of '8':: +The following ``describe-pull-request-events`` example retrieves the events for a pull request with the ID of '8'. :: -Command:: - - aws codecommit describe-pull-request-events --pull-request-id 8 + aws codecommit describe-pull-request-events --pull-request-id 8 Output:: - { - "pullRequestEvents": [ - { - "pullRequestId": "8", - "pullRequestEventType": "PULL_REQUEST_CREATED", - "eventDate": 1510341779.53, - "actor": "arn:aws:iam::111111111111:user/Zhang_Wei" - }, - { - "pullRequestStatusChangedEventMetadata": { - "pullRequestStatus": "CLOSED" + { + "pullRequestEvents": [ + { + "pullRequestId": "8", + "pullRequestEventType": "PULL_REQUEST_CREATED", + "eventDate": 1510341779.53, + "actor": "arn:aws:iam::111111111111:user/Zhang_Wei" }, - "pullRequestId": "8", - "pullRequestEventType": "PULL_REQUEST_STATUS_CHANGED", - "eventDate": 1510341930.72, - "actor": "arn:aws:iam::111111111111:user/Jane_Doe" - } - ] - } \ No newline at end of file + { + "pullRequestStatusChangedEventMetadata": { + "pullRequestStatus": "CLOSED" + }, + "pullRequestId": "8", + "pullRequestEventType": "PULL_REQUEST_STATUS_CHANGED", + "eventDate": 1510341930.72, + "actor": "arn:aws:iam::111111111111:user/Jane_Doe" + } + ] + } diff --git a/bin/awscli/examples/codecommit/get-blob.rst b/bin/awscli/examples/codecommit/get-blob.rst index 826353aa..6588a0a0 100644 --- a/bin/awscli/examples/codecommit/get-blob.rst +++ b/bin/awscli/examples/codecommit/get-blob.rst @@ -1,14 +1,11 @@ **To view information about a Git blob object** -This example demonstrates how to view information about a Git blob with the ID of '2eb4af3bEXAMPLE' in an AWS CodeCommit repository named 'MyDemoRepo':: +The following ``get-blob`` example retrieves information about a Git blob with the ID of '2eb4af3bEXAMPLE' in an AWS CodeCommit repository named 'MyDemoRepo'. :: - -Command:: - - aws codecommit get-blob --repository-name MyDemoRepo --blob-id 2eb4af3bEXAMPLE + aws codecommit get-blob --repository-name MyDemoRepo --blob-id 2eb4af3bEXAMPLE Output:: - { - "content": "QSBCaW5hcnkgTGFyToEXAMPLE=" - } \ No newline at end of file + { + "content": "QSBCaW5hcnkgTGFyToEXAMPLE=" + } diff --git a/bin/awscli/examples/codecommit/get-comments-for-pull-request.rst b/bin/awscli/examples/codecommit/get-comments-for-pull-request.rst index 0ba27e5a..0821e099 100644 --- a/bin/awscli/examples/codecommit/get-comments-for-pull-request.rst +++ b/bin/awscli/examples/codecommit/get-comments-for-pull-request.rst @@ -1,49 +1,50 @@ **To view comments for a pull request** -This example demonstrates how to view comments for a pull request in a repository named 'MyDemoRepo':: +This example demonstrates how to view comments for a pull request in a repository named 'MyDemoRepo'. :: -Command:: - - aws codecommit get-comments-for-pull-request --repository-name MyDemoRepo --before-commit-ID 317f8570EXAMPLE --after-commit-id 5d036259EXAMPLE + aws codecommit get-comments-for-pull-request \ + --repository-name MyDemoRepo \ + --before-commit-ID 317f8570EXAMPLE \ + --after-commit-id 5d036259EXAMPLE Output:: - { - "commentsForPullRequestData": [ - { - "afterBlobId": "1f330709EXAMPLE", - "afterCommitId": "5d036259EXAMPLE", - "beforeBlobId": "80906a4cEXAMPLE", - "beforeCommitId": "317f8570EXAMPLE", - "comments": [ + { + "commentsForPullRequestData": [ { - "authorArn": "arn:aws:iam::111111111111:user/Saanvi_Sarkar", - "clientRequestToken": "", - "commentId": "abcd1234EXAMPLEb5678efgh", - "content": "These don't appear to be used anywhere. Can we remove them?", - "creationDate": 1508369622.123, - "deleted": false, - "lastModifiedDate": 1508369622.123 - }, - { - "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", - "clientRequestToken": "", - "commentId": "442b498bEXAMPLE5756813", - "content": "Good catch. I'll remove them.", - "creationDate": 1508369829.104, - "deleted": false, - "commentId": "abcd1234EXAMPLEb5678efgh", - "lastModifiedDate": 150836912.273 - } - ], - "location": { - "filePath": "ahs_count.py", - "filePosition": 367, - "relativeFileVersion": "AFTER" - }, - "repositoryName": "MyDemoRepo", - "pullRequestId": "42" - } - ], - "nextToken": "exampleToken" - } \ No newline at end of file + "afterBlobId": "1f330709EXAMPLE", + "afterCommitId": "5d036259EXAMPLE", + "beforeBlobId": "80906a4cEXAMPLE", + "beforeCommitId": "317f8570EXAMPLE", + "comments": [ + { + "authorArn": "arn:aws:iam::111111111111:user/Saanvi_Sarkar", + "clientRequestToken": "", + "commentId": "abcd1234EXAMPLEb5678efgh", + "content": "These don't appear to be used anywhere. Can we remove them?", + "creationDate": 1508369622.123, + "deleted": false, + "lastModifiedDate": 1508369622.123 + }, + { + "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", + "clientRequestToken": "", + "commentId": "442b498bEXAMPLE5756813", + "content": "Good catch. I'll remove them.", + "creationDate": 1508369829.104, + "deleted": false, + "commentId": "abcd1234EXAMPLEb5678efgh", + "lastModifiedDate": 150836912.273 + } + ], + "location": { + "filePath": "ahs_count.py", + "filePosition": 367, + "relativeFileVersion": "AFTER" + }, + "repositoryName": "MyDemoRepo", + "pullRequestId": "42" + } + ], + "nextToken": "exampleToken" + } diff --git a/bin/awscli/examples/codecommit/get-file.rst b/bin/awscli/examples/codecommit/get-file.rst new file mode 100755 index 00000000..8fb5d47e --- /dev/null +++ b/bin/awscli/examples/codecommit/get-file.rst @@ -0,0 +1,20 @@ +**To get the base-64 encoded contents of a file in an AWS CodeCommit repository** + +The following ``get-file`` example demonstrates how to get the base-64 encoded contents of a file named ``README.md`` from a branch named ``master`` in a repository named ``MyDemoRepo``. :: + + aws codecommit get-file --repository-name MyDemoRepo --commit-specifier master --file-path README.md + +Output:: + + { + "blobId":"559b44fEXAMPLE", + "commitId":"c5709475EXAMPLE", + "fileContent":"IyBQaHVzEXAMPLE", + "filePath":"README.md", + "fileMode":"NORMAL", + "fileSize":1563 + } + +For more information, see `GetFile`_ in the *AWS CodeCommit API Reference* guide. + +.. _`GetFile`: https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetFile.html diff --git a/bin/awscli/examples/codecommit/get-folder.rst b/bin/awscli/examples/codecommit/get-folder.rst new file mode 100755 index 00000000..011992d1 --- /dev/null +++ b/bin/awscli/examples/codecommit/get-folder.rst @@ -0,0 +1,63 @@ +**To get the contents of a folder in an AWS CodeCommit repository** + +The following ``get-folder`` example demonstrates how to get the contents of a top-level folder from a repository named ``MyDemoRepo``. :: + + aws codecommit get-folder --repository-name MyDemoRepo --folder-path "" + +Output:: + + { + "commitId":"c5709475EXAMPLE", + "files":[ + { + "absolutePath":".gitignore", + "blobId":"74094e8bEXAMPLE", + "fileMode":"NORMAL", + "relativePath":".gitignore" + }, + { + "absolutePath":"Gemfile", + "blobId":"9ceb72f6EXAMPLE", + "fileMode":"NORMAL", + "relativePath":"Gemfile" + }, + { + "absolutePath":"Gemfile.lock", + "blobId":"795c4a2aEXAMPLE", + "fileMode":"NORMAL", + "relativePath":"Gemfile.lock" + }, + { + "absolutePath":"LICENSE.txt", + "blobId":"0c7932c8EXAMPLE", + "fileMode":"NORMAL", + "relativePath":"LICENSE.txt" + }, + { + "absolutePath":"README.md", + "blobId":"559b44feEXAMPLE", + "fileMode":"NORMAL", + "relativePath":"README.md" + } + ], + "folderPath":"", + "subFolders":[ + { + "absolutePath":"public", + "relativePath":"public", + "treeId":"d5e92ae3aEXAMPLE" + }, + { + "absolutePath":"tmp", + "relativePath":"tmp", + "treeId":"d564d0bcEXAMPLE" + } + ], + "subModules":[], + "symbolicLinks":[], + "treeId":"7b3c4dadEXAMPLE" + } + +For more information, see `GetFolder`_ in the *AWS CodeCommit API Reference* guide. + +.. _`GetFolder`: https://docs.aws.amazon.com/codecommit/latest/APIReference/API_GetFolder.html diff --git a/bin/awscli/examples/codecommit/get-merge-conflicts.rst b/bin/awscli/examples/codecommit/get-merge-conflicts.rst index 612d3b2c..7d16cd4f 100644 --- a/bin/awscli/examples/codecommit/get-merge-conflicts.rst +++ b/bin/awscli/examples/codecommit/get-merge-conflicts.rst @@ -1,15 +1,17 @@ **To view whether there are any merge conflicts for a pull request** -This example demonstrates how to view whether there are any merge conflicts between the tip of a source branch named 'my-feature-branch' and a destination branch named 'master' in a repository named 'MyDemoRepo':: +The following ``get-merge-conflicts`` example displays whether there are any merge conflicts between the tip of a source branch named 'my-feature-branch' and a destination branch named 'master' in a repository named 'MyDemoRepo'. :: -Command:: - - aws codecommit get-merge-conflicts --repository-name MyDemoRepo --source-commit-specifier my-feature-branch --destination-commit-specifier master --merge-option FAST_FORWARD_MERGE + aws codecommit get-merge-conflicts \ + --repository-name MyDemoRepo \ + --source-commit-specifier my-feature-branch \ + --destination-commit-specifier master \ + --merge-option FAST_FORWARD_MERGE Output:: - { - "destinationCommitId": "fac04518EXAMPLE", - "mergeable": false, - "sourceCommitId": "16d097f03EXAMPLE" - } \ No newline at end of file + { + "destinationCommitId": "fac04518EXAMPLE", + "mergeable": false, + "sourceCommitId": "16d097f03EXAMPLE" + } diff --git a/bin/awscli/examples/codecommit/post-comment-for-pull-request.rst b/bin/awscli/examples/codecommit/post-comment-for-pull-request.rst index c07a9675..376cc46e 100644 --- a/bin/awscli/examples/codecommit/post-comment-for-pull-request.rst +++ b/bin/awscli/examples/codecommit/post-comment-for-pull-request.rst @@ -1,31 +1,38 @@ **To add a comment to a pull request** -This example demonstrates how to add the comment '"These don't appear to be used anywhere. Can we remove them?"' on the change to the 'ahs_count.py' file in a pull request with the ID of '47' in a repository named 'MyDemoRepo':: +The following ``post-comment-for-pull-request`` example adds the comment "These don't appear to be used anywhere. Can we remove them?" on the change to the ``ahs_count.py`` file in a pull request with the ID of '47' in a repository named 'MyDemoRepo'. :: - aws codecommit post-comment-for-pull-request --pull-request-id "47" --repository-name MyDemoRepo --before-commit-id 317f8570EXAMPLE --after-commit-id 5d036259EXAMPLE --client-request-token 123Example --content ""These don't appear to be used anywhere. Can we remove them?"" --location filePath=ahs_count.py,filePosition=367,relativeFileVersion=AFTER + aws codecommit post-comment-for-pull-request \ + --pull-request-id "47" \ + --repository-name MyDemoRepo \ + --before-commit-id 317f8570EXAMPLE \ + --after-commit-id 5d036259EXAMPLE \ + --client-request-token 123Example \ + --content "These don't appear to be used anywhere. Can we remove them?" \ + --location filePath=ahs_count.py,filePosition=367,relativeFileVersion=AFTER Output:: - { + { "afterBlobId": "1f330709EXAMPLE", "afterCommitId": "5d036259EXAMPLE", "beforeBlobId": "80906a4cEXAMPLE", "beforeCommitId": "317f8570EXAMPLE", "comment": { - "authorArn": "arn:aws:iam::111111111111:user/Saanvi_Sarkar", - "clientRequestToken": "123Example", - "commentId": "abcd1234EXAMPLEb5678efgh", - "content": "These don't appear to be used anywhere. Can we remove them?", - "creationDate": 1508369622.123, - "deleted": false, - "CommentId": "", - "lastModifiedDate": 1508369622.123 - } - "location": { - "filePath": "ahs_count.py", - "filePosition": 367, - "relativeFileVersion": "AFTER" + "authorArn": "arn:aws:iam::111111111111:user/Saanvi_Sarkar", + "clientRequestToken": "123Example", + "commentId": "abcd1234EXAMPLEb5678efgh", + "content": "These don't appear to be used anywhere. Can we remove them?", + "creationDate": 1508369622.123, + "deleted": false, + "CommentId": "", + "lastModifiedDate": 1508369622.123 + }, + "location": { + "filePath": "ahs_count.py", + "filePosition": 367, + "relativeFileVersion": "AFTER" }, "repositoryName": "MyDemoRepo", "pullRequestId": "47" - } \ No newline at end of file + } diff --git a/bin/awscli/examples/codecommit/put-file.rst b/bin/awscli/examples/codecommit/put-file.rst index c0fa8a49..ff9c8a41 100644 --- a/bin/awscli/examples/codecommit/put-file.rst +++ b/bin/awscli/examples/codecommit/put-file.rst @@ -1,17 +1,21 @@ **To add a file to a repository** -This example demonstrates how to add a file named 'ExampleSolution.py' to a repository named 'MyDemoRepo' to a branch named 'feature-randomizationfeature' whose most -recent commit has an ID of '4c925148EXAMPLE':: +The following ``put-file`` example adds a file named 'ExampleSolution.py' to a repository named 'MyDemoRepo' to a branch named 'feature-randomizationfeature' whose most recent commit has an ID of '4c925148EXAMPLE'. :: - -Command:: - - aws codecommit put-file --repository-name MyDemoRepo --branch-name feature-randomizationfeature --file-content file://MyDirectory/ExampleSolution.py --file-path /solutions/ExampleSolution.py --parent-commit-id 4c925148EXAMPLE --name "Maria Garcia" --email "maria_garcia@example.com" --commit-message "I added a third randomization routine." + aws codecommit put-file \ + --repository-name MyDemoRepo \ + --branch-name feature-randomizationfeature \ + --file-content file://MyDirectory/ExampleSolution.py \ + --file-path /solutions/ExampleSolution.py \ + --parent-commit-id 4c925148EXAMPLE \ + --name "Maria Garcia" \ + --email "maria_garcia@example.com" \ + --commit-message "I added a third randomization routine." Output:: - { - "blobId": "2eb4af3bEXAMPLE", - "commitId": "317f8570EXAMPLE", - "treeId": "347a3408EXAMPLE" - } + { + "blobId": "2eb4af3bEXAMPLE", + "commitId": "317f8570EXAMPLE", + "treeId": "347a3408EXAMPLE" + } diff --git a/bin/awscli/examples/codepipeline/create-custom-action-type.rst b/bin/awscli/examples/codepipeline/create-custom-action-type.rst index c3ced9cc..321f7692 100644 --- a/bin/awscli/examples/codepipeline/create-custom-action-type.rst +++ b/bin/awscli/examples/codepipeline/create-custom-action-type.rst @@ -1,42 +1,38 @@ **To create a custom action** -This example creates a custom action for AWS CodePipeline using an already-created JSON file (here named MyCustomAction.json) that contains the structure of the custom action. For more information about the requirements for creating a custom action, including the structure of the file, see the AWS CodePipeline User Guide. +This example creates a custom action for AWS CodePipeline using an already-created JSON file (here named MyCustomAction.json) that contains the structure of the custom action. For more information about the requirements for creating a custom action, including the structure of the file, see the AWS CodePipeline User Guide. :: -Command:: - - aws codepipeline create-custom-action-type --cli-input-json file://MyCustomAction.json - -JSON file sample contents:: + aws codepipeline create-custom-action-type --cli-input-json file://MyCustomAction.json - { - "category": "Build", - "provider": "MyJenkinsProviderName", - "version": "1", - "settings": { - "entityUrlTemplate": "https://192.0.2.4/job/{Config:ProjectName}/", - "executionUrlTemplate": "https://192.0.2.4/job/{Config:ProjectName}/lastSuccessfulBuild/{ExternalExecutionId}/" - }, - "configurationProperties": [ - { - "name": "MyJenkinsExampleBuildProject", - "required": true, - "key": true, - "secret": false, - "queryable": false, - "description": "The name of the build project must be provided when this action is added to the pipeline.", - "type": "String" +Contents of JSON file ``MyCustomAction.json``:: + + { + "category": "Build", + "provider": "MyJenkinsProviderName", + "version": "1", + "settings": { + "entityUrlTemplate": "https://192.0.2.4/job/{Config:ProjectName}/", + "executionUrlTemplate": "https://192.0.2.4/job/{Config:ProjectName}/lastSuccessfulBuild/{ExternalExecutionId}/" + }, + "configurationProperties": [ + { + "name": "MyJenkinsExampleBuildProject", + "required": true, + "key": true, + "secret": false, + "queryable": false, + "description": "The name of the build project must be provided when this action is added to the pipeline.", + "type": "String" + } + ], + "inputArtifactDetails": { + "maximumCount": 1, + "minimumCount": 0 + }, + "outputArtifactDetails": { + "maximumCount": 1, + "minimumCount": 0 } - ], - "inputArtifactDetails": { - "maximumCount": 1, - "minimumCount": 0 - }, - "outputArtifactDetails": { - "maximumCount": 1, - "minimumCount": 0 } -} - -Output:: - This command returns the structure of the custom action. \ No newline at end of file +This command returns the structure of the custom action. diff --git a/bin/awscli/examples/cognito-identity/create-identity-pool.rst b/bin/awscli/examples/cognito-identity/create-identity-pool.rst new file mode 100644 index 00000000..2cf19bf8 --- /dev/null +++ b/bin/awscli/examples/cognito-identity/create-identity-pool.rst @@ -0,0 +1,24 @@ +**To create an identity pool with Cognito identity pool provider** + +This example creates an identity pool named MyIdentityPool. It has a Cognito identity pool provider. +Unauthenticated identities are not allowed. + +Command:: + + aws cognito-identity create-identity-pool --identity-pool-name MyIdentityPool --no-allow-unauthenticated-identities --cognito-identity-providers ProviderName="cognito-idp.us-west-2.amazonaws.com/us-west-2_aaaaaaaaa",ClientId="3n4b5urk1ft4fl3mg5e62d9ado",ServerSideTokenCheck=false + +Output:: + + { + "IdentityPoolId": "us-west-2:11111111-1111-1111-1111-111111111111", + "IdentityPoolName": "MyIdentityPool", + "AllowUnauthenticatedIdentities": false, + "CognitoIdentityProviders": [ + { + "ProviderName": "cognito-idp.us-west-2.amazonaws.com/us-west-2_111111111", + "ClientId": "3n4b5urk1ft4fl3mg5e62d9ado", + "ServerSideTokenCheck": false + } + ] + } + diff --git a/bin/awscli/examples/cognito-identity/delete-identities.rst b/bin/awscli/examples/cognito-identity/delete-identities.rst new file mode 100644 index 00000000..d3f0b0af --- /dev/null +++ b/bin/awscli/examples/cognito-identity/delete-identities.rst @@ -0,0 +1,13 @@ +**To delete identity pool** + +This example deletes an identity ppol. + +Command:: + + aws cognito-identity delete-identity-pool --identity-ids-to-delete "us-west-2:11111111-1111-1111-1111-111111111111" + +Output:: + + { + "UnprocessedIdentityIds": [] + } diff --git a/bin/awscli/examples/cognito-identity/delete-identity-pool.rst b/bin/awscli/examples/cognito-identity/delete-identity-pool.rst new file mode 100644 index 00000000..8312fc10 --- /dev/null +++ b/bin/awscli/examples/cognito-identity/delete-identity-pool.rst @@ -0,0 +1,8 @@ +**To delete identity pool** + +This example deletes an identity ppol. + +Command:: + + aws cognito-identity delete-identity-pool --identity-ids-to-delete "us-west-2:11111111-1111-1111-1111-111111111111" + diff --git a/bin/awscli/examples/cognito-identity/describe-identity-pool.rst b/bin/awscli/examples/cognito-identity/describe-identity-pool.rst new file mode 100644 index 00000000..2f96b4dc --- /dev/null +++ b/bin/awscli/examples/cognito-identity/describe-identity-pool.rst @@ -0,0 +1,22 @@ +**To describe an identity pool** + +This example describes an identity pool. + +Command:: + + aws cognito-identity describe-identity-pool --identity-pool-id "us-west-2:11111111-1111-1111-1111-111111111111" + +Output:: + + { + "IdentityPoolId": "us-west-2:11111111-1111-1111-1111-111111111111", + "IdentityPoolName": "MyIdentityPool", + "AllowUnauthenticatedIdentities": false, + "CognitoIdentityProviders": [ + { + "ProviderName": "cognito-idp.us-west-2.amazonaws.com/us-west-2_111111111", + "ClientId": "3n4b5urk1ft4fl3mg5e62d9ado", + "ServerSideTokenCheck": false + } + ] + } diff --git a/bin/awscli/examples/cognito-identity/get-identity-pool-roles.rst b/bin/awscli/examples/cognito-identity/get-identity-pool-roles.rst new file mode 100644 index 00000000..0f8b1887 --- /dev/null +++ b/bin/awscli/examples/cognito-identity/get-identity-pool-roles.rst @@ -0,0 +1,17 @@ +**To get identity pool roles** + +This example gets identity pool roles. + +Command:: + + aws cognito-identity get-identity-pool-roles --identity-pool-id "us-west-2:11111111-1111-1111-1111-111111111111" + +Output:: + + { + "IdentityPoolId": "us-west-2:11111111-1111-1111-1111-111111111111", + "Roles": { + "authenticated": "arn:aws:iam::111111111111:role/Cognito_MyIdentityPoolAuth_Role", + "unauthenticated": "arn:aws:iam::111111111111:role/Cognito_MyIdentityPoolUnauth_Role" + } + } \ No newline at end of file diff --git a/bin/awscli/examples/cognito-identity/list-identity-pools.rst b/bin/awscli/examples/cognito-identity/list-identity-pools.rst new file mode 100644 index 00000000..d99a531c --- /dev/null +++ b/bin/awscli/examples/cognito-identity/list-identity-pools.rst @@ -0,0 +1,26 @@ +**To list identity pools** + +This example lists identity pools. There s a maximum of 20 identities listed. + +Command:: + + aws cognito-identity list-identity-pools --max-results 20 + +Output:: + + { + "IdentityPools": [ + { + "IdentityPoolId": "us-west-2:11111111-1111-1111-1111-111111111111", + "IdentityPoolName": "MyIdentityPool" + }, + { + "IdentityPoolId": "us-west-2:11111111-1111-1111-1111-111111111111", + "IdentityPoolName": "AnotherIdentityPool" + }, + { + "IdentityPoolId": "us-west-2:11111111-1111-1111-1111-111111111111", + "IdentityPoolName": "IdentityPoolRegionA" + } + ] + } diff --git a/bin/awscli/examples/cognito-identity/set-identity-pool-roles.rst b/bin/awscli/examples/cognito-identity/set-identity-pool-roles.rst new file mode 100644 index 00000000..afc23da9 --- /dev/null +++ b/bin/awscli/examples/cognito-identity/set-identity-pool-roles.rst @@ -0,0 +1,7 @@ +**To get identity pool roles** + +This example sets an identity pool role. + +Command:: + + aws cognito-identity set-identity-pool-roles --identity-pool-id "us-west-2:11111111-1111-1111-1111-111111111111" authenticated="arn:aws:iam::111111111111:role/Cognito_MyIdentityPoolAuth_Role" diff --git a/bin/awscli/examples/cognito-identity/update-identity-pool.rst b/bin/awscli/examples/cognito-identity/update-identity-pool.rst new file mode 100644 index 00000000..2ac50616 --- /dev/null +++ b/bin/awscli/examples/cognito-identity/update-identity-pool.rst @@ -0,0 +1,23 @@ +**To update an identity pool** + +This example updates an identity pool. It sets the name to MyIdentityPool. It adds Cognito as an identity provider. +It disallows unauthenticated identities. + +Command:: + + aws cognito-identity update-identity-pool --identity-pool-id "us-west-2:11111111-1111-1111-1111-111111111111" --identity-pool-name "MyIdentityPool" --no-allow-unauthenticated-identities --cognito-identity-providers ProviderName="cognito-idp.us-west-2.amazonaws.com/us-west-2_111111111",ClientId="3n4b5urk1ft4fl3mg5e62d9ado",ServerSideTokenCheck=false + +Output:: + + { + "IdentityPoolId": "us-west-2:11111111-1111-1111-1111-111111111111", + "IdentityPoolName": "MyIdentityPool", + "AllowUnauthenticatedIdentities": false, + "CognitoIdentityProviders": [ + { + "ProviderName": "cognito-idp.us-west-2.amazonaws.com/us-west-2_111111111", + "ClientId": "3n4b5urk1ft4fl3mg5e62d9ado", + "ServerSideTokenCheck": false + } + ] + } diff --git a/bin/awscli/examples/cognito-idp/add-custom-attributes.rst b/bin/awscli/examples/cognito-idp/add-custom-attributes.rst new file mode 100644 index 00000000..923612c4 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/add-custom-attributes.rst @@ -0,0 +1,8 @@ +**To add a custom attribute** + +This example adds a custom attribute CustomAttr1 to a user pool. It is a String type, +and requires a minimum of 1 character and a maximum of 15. It is not required. + +Command:: + + aws cognito-idp add-custom-attributes --user-pool-id us-west-2_aaaaaaaaa --custom-attributes Name="CustomAttr1",AttributeDataType="String",DeveloperOnlyAttribute=false,Required=false,StringAttributeConstraints="{MinLength=1,MaxLength=15}" diff --git a/bin/awscli/examples/cognito-idp/admim-disable-user.rst b/bin/awscli/examples/cognito-idp/admim-disable-user.rst new file mode 100644 index 00000000..57e8ec36 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/admim-disable-user.rst @@ -0,0 +1,8 @@ +**To disable a user** + +This example disables user jane@example.com. + +Command:: + + aws cognito-idp admin-disable-user --user-pool-id us-west-2_aaaaaaaaa --username jane@example.com + diff --git a/bin/awscli/examples/cognito-idp/admim-enable-user.rst b/bin/awscli/examples/cognito-idp/admim-enable-user.rst new file mode 100644 index 00000000..79bc468e --- /dev/null +++ b/bin/awscli/examples/cognito-idp/admim-enable-user.rst @@ -0,0 +1,8 @@ +**To enable a user** + +This example enables username jane@example.com. + +Command:: + + aws cognito-idp admin-enable-user --user-pool-id us-west-2_aaaaaaaaa --username jane@example.com + diff --git a/bin/awscli/examples/cognito-idp/admin-add-user-to-group.rst b/bin/awscli/examples/cognito-idp/admin-add-user-to-group.rst new file mode 100644 index 00000000..6fa23ad3 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/admin-add-user-to-group.rst @@ -0,0 +1,8 @@ +**To add a user to a group** + +This example adds user Jane to group MyGroup. + +Command:: + + aws cognito-idp admin-add-user-to-group --user-pool-id us-west-2_aaaaaaaaa --username Jane --group-name MyGroup + diff --git a/bin/awscli/examples/cognito-idp/admin-confirm-sign-up.rst b/bin/awscli/examples/cognito-idp/admin-confirm-sign-up.rst new file mode 100644 index 00000000..dd0bb917 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/admin-confirm-sign-up.rst @@ -0,0 +1,8 @@ +**To confirm user registration** + +This example confirms user jane@example.com. + +Command:: + + aws cognito-idp admin-confirm-sign-up --user-pool-id us-west-2_aaaaaaaaa --username jane@example.com + diff --git a/bin/awscli/examples/cognito-idp/admin-create-user.rst b/bin/awscli/examples/cognito-idp/admin-create-user.rst new file mode 100644 index 00000000..1e069050 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/admin-create-user.rst @@ -0,0 +1,35 @@ +**To create a user** + +This example creates username diego@example.com. An email address and phone number +are specified. + +Command:: + + aws cognito-idp admin-create-user --user-pool-id us-west-2_aaaaaaaaa --username diego@example.com --user-attributes=Name=email,Value=kermit2@somewhere.com,Name=phone_number,Value="+15555551212" --message-action SUPPRESS + +Output:: + + { + "User": { + "Username": "7325c1de-b05b-4f84-b321-9adc6e61f4a2", + "Enabled": true, + "UserStatus": "FORCE_CHANGE_PASSWORD", + "UserCreateDate": 1548099495.428, + "UserLastModifiedDate": 1548099495.428, + "Attributes": [ + { + "Name": "sub", + "Value": "7325c1de-b05b-4f84-b321-9adc6e61f4a2" + }, + { + "Name": "phone_number", + "Value": "+15555551212" + }, + { + "Name": "email", + "Value": "diego@example.com" + } + ] + } + } + diff --git a/bin/awscli/examples/cognito-idp/admin-delete-user-attributes.rst b/bin/awscli/examples/cognito-idp/admin-delete-user-attributes.rst new file mode 100644 index 00000000..d96fb176 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/admin-delete-user-attributes.rst @@ -0,0 +1,8 @@ +**To delete a user attribute** + +This example deletes a custom attribute CustomAttr1 for user diego@example.com. + +Command:: + + aws cognito-idp admin-delete-user-attributes --user-pool-id us-west-2_aaaaaaaaa --username diego@example.com --user-attribute-names "custom:CustomAttr1" + diff --git a/bin/awscli/examples/cognito-idp/admin-delete-user.rst b/bin/awscli/examples/cognito-idp/admin-delete-user.rst new file mode 100644 index 00000000..ac0bbb36 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/admin-delete-user.rst @@ -0,0 +1,8 @@ +**To delete a user** + +This example deletes a user. + +Command:: + + aws cognito-idp admin-delete-user --user-pool-id us-west-2_aaaaaaaaa --username diego@example.com + diff --git a/bin/awscli/examples/cognito-idp/admin-forget-device.rst b/bin/awscli/examples/cognito-idp/admin-forget-device.rst new file mode 100644 index 00000000..f23c77d7 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/admin-forget-device.rst @@ -0,0 +1,8 @@ +**To forget a device** + +This example forgets device for username jane@example.com + +Command:: + + aws cognito-idp admin-forget-device --user-pool-id us-west-2_aaaaaaaaa --username jane@example.com --device-key us-west-2_abcd_1234-5678 + diff --git a/bin/awscli/examples/cognito-idp/admin-get-device.rst b/bin/awscli/examples/cognito-idp/admin-get-device.rst new file mode 100644 index 00000000..92fff255 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/admin-get-device.rst @@ -0,0 +1,8 @@ +**To get a device** + +This example gets a device for username jane@example.com + +Command:: + + aws cognito-idp admin-get-device --user-pool-id us-west-2_aaaaaaaaa --username jane@example.com --device-key us-west-2_abcd_1234-5678 + diff --git a/bin/awscli/examples/cognito-idp/admin-get-user.rst b/bin/awscli/examples/cognito-idp/admin-get-user.rst new file mode 100644 index 00000000..3de46a14 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/admin-get-user.rst @@ -0,0 +1,39 @@ +**To get a user** + +This example gets information about username jane@example.com. + +Command:: + + aws cognito-idp admin-get-user --user-pool-id us-west-2_aaaaaaaaa --username jane@example.com + +Output:: + + { + "Username": "4320de44-2322-4620-999b-5e2e1c8df013", + "Enabled": true, + "UserStatus": "FORCE_CHANGE_PASSWORD", + "UserCreateDate": 1548108509.537, + "UserAttributes": [ + { + "Name": "sub", + "Value": "4320de44-2322-4620-999b-5e2e1c8df013" + }, + { + "Name": "email_verified", + "Value": "true" + }, + { + "Name": "phone_number_verified", + "Value": "true" + }, + { + "Name": "phone_number", + "Value": "+01115551212" + }, + { + "Name": "email", + "Value": "jane@example.com" + } + ], + "UserLastModifiedDate": 1548108509.537 + } \ No newline at end of file diff --git a/bin/awscli/examples/cognito-idp/admin-initiate-auth.rst b/bin/awscli/examples/cognito-idp/admin-initiate-auth.rst new file mode 100644 index 00000000..bdb01054 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/admin-initiate-auth.rst @@ -0,0 +1,25 @@ +**To initiate authorization** + +This example initiates authorization using the ADMIN_NO_SRP_AUTH flow for username jane@example.com + +The client must have sign-in API for server-based authentication (ADMIN_NO_SRP_AUTH) enabled. + +Use the session information in the return value to call `admin-respond-to-auth-challenge`_. + +Command:: + + aws cognito-idp admin-initiate-auth --user-pool-id us-west-2_aaaaaaaaa --client-id 3n4b5urk1ft4fl3mg5e62d9ado --auth-flow ADMIN_NO_SRP_AUTH --auth-parameters USERNAME=jane@example.com,PASSWORD=password + +Output:: + + { + "ChallengeName": "NEW_PASSWORD_REQUIRED", + "Session": "SESSION", + "ChallengeParameters": { + "USER_ID_FOR_SRP": "84514837-dcbc-4af1-abff-f3c109334894", + "requiredAttributes": "[]", + "userAttributes": "{\"email_verified\":\"true\",\"phone_number_verified\":\"true\",\"phone_number\":\"+01xxx5550100\",\"email\":\"jane@example.com\"}" + } + } + +.. _`admin-respond-to-auth-challenge`: https://docs.aws.amazon.com/cli/latest/reference/cognito-idp/admin-respond-to-auth-challenge.html \ No newline at end of file diff --git a/bin/awscli/examples/cognito-idp/admin-list-devices.rst b/bin/awscli/examples/cognito-idp/admin-list-devices.rst new file mode 100644 index 00000000..2b710876 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/admin-list-devices.rst @@ -0,0 +1,7 @@ +**To list devices for a user** + +This example lists devices for username jane@example.com. + +Command:: + + aws cognito-idp admin-list-devices --user-pool-id us-west-2_aaaaaaaaa --username jane@example.com diff --git a/bin/awscli/examples/cognito-idp/admin-list-groups-for-user.rst b/bin/awscli/examples/cognito-idp/admin-list-groups-for-user.rst new file mode 100644 index 00000000..aa213497 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/admin-list-groups-for-user.rst @@ -0,0 +1,23 @@ +**To list groups for a user** + +This example lists groups for username jane@example.com. + +Command:: + + aws cognito-idp admin-list-groups-for-user --user-pool-id us-west-2_aaaaaaaaa --username diego@example.com + +Output:: + + { + "Groups": [ + { + "Description": "Sample group", + "Precedence": 1, + "LastModifiedDate": 1548097827.125, + "RoleArn": "arn:aws:iam::111111111111:role/SampleRole", + "GroupName": "SampleGroup", + "UserPoolId": "us-west-2_aaaaaaaaa", + "CreationDate": 1548097827.125 + } + ] + } \ No newline at end of file diff --git a/bin/awscli/examples/cognito-idp/admin-list-user-auth-events.rst b/bin/awscli/examples/cognito-idp/admin-list-user-auth-events.rst new file mode 100644 index 00000000..eeff1edb --- /dev/null +++ b/bin/awscli/examples/cognito-idp/admin-list-user-auth-events.rst @@ -0,0 +1,8 @@ +**To list authorization events for a user** + +This example lists authorization events for username diego@example.com. + +Command:: + + aws cognito-idp admin-list-user-auth-events --user-pool-id us-west-2_aaaaaaaaa --username diego@example.com + diff --git a/bin/awscli/examples/cognito-idp/admin-remove-user-from-group.rst b/bin/awscli/examples/cognito-idp/admin-remove-user-from-group.rst new file mode 100644 index 00000000..4f41bf8b --- /dev/null +++ b/bin/awscli/examples/cognito-idp/admin-remove-user-from-group.rst @@ -0,0 +1,7 @@ +**To remove a user from a group** + +This example removes jane@example.com from SampleGroup. + +Command:: + + aws cognito-idp admin-remove-user-from-group --user-pool-id us-west-2_aaaaaaaaa --username jane@example.com --group-name SampleGroup diff --git a/bin/awscli/examples/cognito-idp/admin-reset-user-password.rst b/bin/awscli/examples/cognito-idp/admin-reset-user-password.rst new file mode 100644 index 00000000..7732c674 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/admin-reset-user-password.rst @@ -0,0 +1,7 @@ +**To reset a user password** + +This example resets the password for diego@example.com. + +Command:: + + aws cognito-idp admin-reset-user-password --user-pool-id us-west-2_aaaaaaaaa --username diego@example.com diff --git a/bin/awscli/examples/cognito-idp/admin-set-user-mfa-preference.rst b/bin/awscli/examples/cognito-idp/admin-set-user-mfa-preference.rst new file mode 100644 index 00000000..7cbd28c4 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/admin-set-user-mfa-preference.rst @@ -0,0 +1,8 @@ +**To set the user MFA preference** + +This example sets the SMS MFA preference for username diego@example.com. + +Command:: + + aws cognito-idp admin-set-user-mfa-preference --user-pool-id us-west-2_aaaaaaaaa --username diego@example.com --sms-mfa-settings Enabled=false,PreferredMfa=false + diff --git a/bin/awscli/examples/cognito-idp/admin-set-user-settings.rst b/bin/awscli/examples/cognito-idp/admin-set-user-settings.rst new file mode 100644 index 00000000..d5d7d7a3 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/admin-set-user-settings.rst @@ -0,0 +1,8 @@ +**To set user settings** + +This example sets the MFA delivery preference for username diego@example.com to EMAIL. + +Command:: + + aws cognito-idp admin-set-user-settings --user-pool-id us-west-2_aaaaaaaaa --username diego@example.com --mfa-options DeliveryMedium=EMAIL + diff --git a/bin/awscli/examples/cognito-idp/admin-update-auth-event-feedback.rst b/bin/awscli/examples/cognito-idp/admin-update-auth-event-feedback.rst new file mode 100644 index 00000000..06065188 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/admin-update-auth-event-feedback.rst @@ -0,0 +1,8 @@ +**To provide feedback for an authorization event** + +This example sets the feedback value for an authorization event identified by event-id to Valid. + +Command:: + + aws cognito-idp admin-update-auth-event-feedback --user-pool-id us-west-2_aaaaaaaaa --username diego@example.com --event-id c2c2cf89-c0d3-482d-aba6-99d78a5b0bfe --feedback-value Valid + diff --git a/bin/awscli/examples/cognito-idp/admin-update-device-status.rst b/bin/awscli/examples/cognito-idp/admin-update-device-status.rst new file mode 100644 index 00000000..7c009b69 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/admin-update-device-status.rst @@ -0,0 +1,8 @@ +**To update device status** + +This example sets the device remembered status for the device identified by device-key to not_remembered. + +Command:: + + aws cognito-idp admin-update-device-status --user-pool-id us-west-2_aaaaaaaaa --username diego@example.com --device-key xxxx --device-remembered-status not_remembered + diff --git a/bin/awscli/examples/cognito-idp/admin-update-user-attributes.rst b/bin/awscli/examples/cognito-idp/admin-update-user-attributes.rst new file mode 100644 index 00000000..7626f6f5 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/admin-update-user-attributes.rst @@ -0,0 +1,8 @@ +**To update user attributes** + +This example updates a custom user attribute CustomAttr1 for user diego@example.com. + +Command:: + + aws cognito-idp admin-update-user-attributes --user-pool-id us-west-2_aaaaaaaaa --username diego@example.com Name="custom:CustomAttr1",Value="Purple" + diff --git a/bin/awscli/examples/cognito-idp/change-password.rst b/bin/awscli/examples/cognito-idp/change-password.rst new file mode 100644 index 00000000..7c787e75 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/change-password.rst @@ -0,0 +1,7 @@ +**To change a password** + +This example changes a password. + +Command:: + + aws cognito-idp change-password --previous-password OldPassword --proposed-password NewPassword --access-token ACCESS_TOKEN diff --git a/bin/awscli/examples/cognito-idp/confirm-forgot-password.rst b/bin/awscli/examples/cognito-idp/confirm-forgot-password.rst new file mode 100644 index 00000000..93d8e717 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/confirm-forgot-password.rst @@ -0,0 +1,8 @@ +**To confirm a forgotten password** + +This example confirms a forgotten password for username diego@example.com. + +Command:: + + aws cognito-idp confirm-forgot-password --client-id 3n4b5urk1ft4fl3mg5e62d9ado --username=diego@example.com --password PASSWORD --confirmation-code CONF_CODE + diff --git a/bin/awscli/examples/cognito-idp/confirm-sign-up.rst b/bin/awscli/examples/cognito-idp/confirm-sign-up.rst new file mode 100644 index 00000000..08efe9fe --- /dev/null +++ b/bin/awscli/examples/cognito-idp/confirm-sign-up.rst @@ -0,0 +1,8 @@ +**To confirm sign-up** + +This example confirms sign-up for username diego@example.com. + +Command:: + + aws cognito-idp confirm-sign-up --client-id 3n4b5urk1ft4fl3mg5e62d9ado --username=diego@example.com --confirmation-code CONF_CODE + \ No newline at end of file diff --git a/bin/awscli/examples/cognito-idp/create-group.rst b/bin/awscli/examples/cognito-idp/create-group.rst new file mode 100644 index 00000000..35e5c6ea --- /dev/null +++ b/bin/awscli/examples/cognito-idp/create-group.rst @@ -0,0 +1,41 @@ +**To create a group** + +This example creates a group with a description. + +Command:: + + aws cognito-idp create-group --user-pool-id us-west-2_aaaaaaaaa --group-name MyNewGroup --description "New group." + +Output:: + + { + "Group": { + "GroupName": "MyNewGroup", + "UserPoolId": "us-west-2_aaaaaaaaa", + "Description": "New group.", + "LastModifiedDate": 1548270073.795, + "CreationDate": 1548270073.795 + } + } + +**To create a group with a role and precedence** + +This example creates a group with a description. It also includes a role and precedence. + +Command:: + + aws cognito-idp create-group --user-pool-id us-west-2_aaaaaaaaa --group-name MyNewGroupWithRole --description "New group with a role." --role-arn arn:aws:iam::111111111111:role/MyNewGroupRole --precedence 2 + +Output:: + + { + "Group": { + "GroupName": "MyNewGroupWithRole", + "UserPoolId": "us-west-2_aaaaaaaaa", + "Description": "New group with a role.", + "RoleArn": "arn:aws:iam::111111111111:role/MyNewGroupRole", + "Precedence": 2, + "LastModifiedDate": 1548270211.761, + "CreationDate": 1548270211.761 + } + } \ No newline at end of file diff --git a/bin/awscli/examples/cognito-idp/create-user-import-job.rst b/bin/awscli/examples/cognito-idp/create-user-import-job.rst new file mode 100644 index 00000000..46e66def --- /dev/null +++ b/bin/awscli/examples/cognito-idp/create-user-import-job.rst @@ -0,0 +1,35 @@ +**To create a user import job** + +This example creates a user import job named MyImportJob. + +For more information about importing users, see `Importing Users into User Pools From a CSV File`_. + +Command:: + + aws cognito-idp create-user-import-job --user-pool-id us-west-2_aaaaaaaaa --job-name MyImportJob --cloud-watch-logs-role-arn arn:aws:iam::111111111111:role/CognitoCloudWatchLogsRole + +Output:: + + { + "UserImportJob": { + "JobName": "MyImportJob", + "JobId": "import-qQ0DCt2fRh", + "UserPoolId": "us-west-2_aaaaaaaaa", + "PreSignedUrl": "PRE_SIGNED_URL", + "CreationDate": 1548271795.471, + "Status": "Created", + "CloudWatchLogsRoleArn": "arn:aws:iam::111111111111:role/CognitoCloudWatchLogsRole", + "ImportedUsers": 0, + "SkippedUsers": 0, + "FailedUsers": 0 + } + } + +Upload the .csv file with curl using the pre-signed URL: + +Command:: + + curl -v -T "PATH_TO_CSV_FILE" -H "x-amz-server-side-encryption:aws:kms" "PRE_SIGNED_URL" + + +.. _`Importing Users into User Pools From a CSV File`: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-using-import-tool.html \ No newline at end of file diff --git a/bin/awscli/examples/cognito-idp/create-user-pool-client.rst b/bin/awscli/examples/cognito-idp/create-user-pool-client.rst new file mode 100644 index 00000000..3d9129ae --- /dev/null +++ b/bin/awscli/examples/cognito-idp/create-user-pool-client.rst @@ -0,0 +1,26 @@ +**To create a user pool client** + +This example creates a new user pool client with two explicit authorization flows: USER_PASSWORD_AUTH and ADMIN_NO_SRP_AUTH. + +Command:: + + aws cognito-idp create-user-pool-client --user-pool-id us-west-2_aaaaaaaaa --client-name MyNewClient --no-generate-secret --explicit-auth-flows "USER_PASSWORD_AUTH" "ADMIN_NO_SRP_AUTH" + +Output:: + + { + "UserPoolClient": { + "UserPoolId": "us-west-2_aaaaaaaaa", + "ClientName": "MyNewClient", + "ClientId": "6p3bs000no6a4ue1idruvd05ad", + "LastModifiedDate": 1548697449.497, + "CreationDate": 1548697449.497, + "RefreshTokenValidity": 30, + "ExplicitAuthFlows": [ + "USER_PASSWORD_AUTH", + "ADMIN_NO_SRP_AUTH" + ], + "AllowedOAuthFlowsUserPoolClient": false + } + } + diff --git a/bin/awscli/examples/cognito-idp/create-user-pool-domain.rst b/bin/awscli/examples/cognito-idp/create-user-pool-domain.rst new file mode 100644 index 00000000..77e6185c --- /dev/null +++ b/bin/awscli/examples/cognito-idp/create-user-pool-domain.rst @@ -0,0 +1,8 @@ +**To create a user pool domain** + +This example creates a new user pool domain. with two explicit authorization flows: USER_PASSWORD_AUTH and ADMIN_NO_SRP_AUTH. + +Command:: + + aws cognito-idp create-user-pool-domain --user-pool-id us-west-2_aaaaaaaaa --domain my-new-domain + diff --git a/bin/awscli/examples/cognito-idp/create-user-pool.rst b/bin/awscli/examples/cognito-idp/create-user-pool.rst new file mode 100644 index 00000000..ce41f20c --- /dev/null +++ b/bin/awscli/examples/cognito-idp/create-user-pool.rst @@ -0,0 +1,506 @@ +**To create a minimally configured user pool** + +This example creates a user pool named MyUserPool using default values. There are no required attributes +and no application clients. MFA and advanced security is disabled. + +Command:: + + aws cognito-idp create-user-pool --pool-name MyUserPool + +Output:: + + { + "UserPool": { + "SchemaAttributes": [ + { + "Name": "sub", + "StringAttributeConstraints": { + "MinLength": "1", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": true, + "AttributeDataType": "String", + "Mutable": false + }, + { + "Name": "name", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "given_name", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "family_name", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "middle_name", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "nickname", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "preferred_username", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "profile", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "picture", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "website", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "email", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "AttributeDataType": "Boolean", + "DeveloperOnlyAttribute": false, + "Required": false, + "Name": "email_verified", + "Mutable": true + }, + { + "Name": "gender", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "birthdate", + "StringAttributeConstraints": { + "MinLength": "10", + "MaxLength": "10" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "zoneinfo", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "locale", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "phone_number", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "AttributeDataType": "Boolean", + "DeveloperOnlyAttribute": false, + "Required": false, + "Name": "phone_number_verified", + "Mutable": true + }, + { + "Name": "address", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "updated_at", + "NumberAttributeConstraints": { + "MinValue": "0" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "Number", + "Mutable": true + } + ], + "MfaConfiguration": "OFF", + "Name": "MyUserPool", + "LastModifiedDate": 1547833345.777, + "AdminCreateUserConfig": { + "UnusedAccountValidityDays": 7, + "AllowAdminCreateUserOnly": false + }, + "EmailConfiguration": {}, + "Policies": { + "PasswordPolicy": { + "RequireLowercase": true, + "RequireSymbols": true, + "RequireNumbers": true, + "MinimumLength": 8, + "RequireUppercase": true + } + }, + "CreationDate": 1547833345.777, + "EstimatedNumberOfUsers": 0, + "Id": "us-west-2_aaaaaaaaa", + "LambdaConfig": {} + } + } + +**To create a user pool with two required attributes** + +This example creates a user pool MyUserPool. The pool is configured to accept +email as a username attribute. It also sets the email source address to a +validated address using Amazon Simple Email Service. + +Command:: + + aws cognito-idp create-user-pool --pool-name MyUserPool --username-attributes "email" --email-configuration=SourceArn="arn:aws:ses:us-east-1:111111111111:identity/jane@example.com",ReplyToEmailAddress="jane@example.com" + +Output:: + + { + "UserPool": { + "SchemaAttributes": [ + { + "Name": "sub", + "StringAttributeConstraints": { + "MinLength": "1", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": true, + "AttributeDataType": "String", + "Mutable": false + }, + { + "Name": "name", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "given_name", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "family_name", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "middle_name", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "nickname", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "preferred_username", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "profile", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "picture", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "website", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "email", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "AttributeDataType": "Boolean", + "DeveloperOnlyAttribute": false, + "Required": false, + "Name": "email_verified", + "Mutable": true + }, + { + "Name": "gender", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "birthdate", + "StringAttributeConstraints": { + "MinLength": "10", + "MaxLength": "10" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "zoneinfo", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "locale", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "phone_number", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "AttributeDataType": "Boolean", + "DeveloperOnlyAttribute": false, + "Required": false, + "Name": "phone_number_verified", + "Mutable": true + }, + { + "Name": "address", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "updated_at", + "NumberAttributeConstraints": { + "MinValue": "0" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "Number", + "Mutable": true + } + ], + "MfaConfiguration": "OFF", + "Name": "MyUserPool", + "LastModifiedDate": 1547837788.189, + "AdminCreateUserConfig": { + "UnusedAccountValidityDays": 7, + "AllowAdminCreateUserOnly": false + }, + "EmailConfiguration": { + "ReplyToEmailAddress": "jane@example.com", + "SourceArn": "arn:aws:ses:us-east-1:111111111111:identity/jane@example.com" + }, + "Policies": { + "PasswordPolicy": { + "RequireLowercase": true, + "RequireSymbols": true, + "RequireNumbers": true, + "MinimumLength": 8, + "RequireUppercase": true + } + }, + "UsernameAttributes": [ + "email" + ], + "CreationDate": 1547837788.189, + "EstimatedNumberOfUsers": 0, + "Id": "us-west-2_aaaaaaaaa", + "LambdaConfig": {} + } + } diff --git a/bin/awscli/examples/cognito-idp/delete-group.rst b/bin/awscli/examples/cognito-idp/delete-group.rst new file mode 100644 index 00000000..9b6d2911 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/delete-group.rst @@ -0,0 +1,8 @@ +**To delete a group** + +This example deletes a group. + +Command:: + + aws cognito-idp delete-group --user-pool-id us-west-2_aaaaaaaaa --group-name MyGroupName + diff --git a/bin/awscli/examples/cognito-idp/delete-identity-provider.rst b/bin/awscli/examples/cognito-idp/delete-identity-provider.rst new file mode 100644 index 00000000..dd0d3383 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/delete-identity-provider.rst @@ -0,0 +1,8 @@ +**To delete an identity provider** + +This example deletes an identity provider. + +Command:: + + aws cognito-idp delete-identity-provider --user-pool-id us-west-2_aaaaaaaaa --provider-name Facebook + diff --git a/bin/awscli/examples/cognito-idp/delete-resource-server.rst b/bin/awscli/examples/cognito-idp/delete-resource-server.rst new file mode 100644 index 00000000..5498f504 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/delete-resource-server.rst @@ -0,0 +1,8 @@ +**To delete a resource server** + +This example deletes a resource server named weather.example.com. + +Command:: + + aws cognito-idp delete-resource-server --user-pool-id us-west-2_aaaaaaaaa --identifier weather.example.com + diff --git a/bin/awscli/examples/cognito-idp/delete-user-attributes.rst b/bin/awscli/examples/cognito-idp/delete-user-attributes.rst new file mode 100644 index 00000000..3856abc4 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/delete-user-attributes.rst @@ -0,0 +1,8 @@ +**To delete user attributes** + +This example deletes the user attribute "FAVORITE_ANIMAL". + +Command:: + + aws cognito-idp delete-user-attributes --access-token ACCESS_TOKEN --user-attribute-names "FAVORITE_ANIMAL" + diff --git a/bin/awscli/examples/cognito-idp/delete-user-pool-client.rst b/bin/awscli/examples/cognito-idp/delete-user-pool-client.rst new file mode 100644 index 00000000..331dab5b --- /dev/null +++ b/bin/awscli/examples/cognito-idp/delete-user-pool-client.rst @@ -0,0 +1,8 @@ +**To delete a user pool client** + +This example deletes a user pool client. + +Command:: + + aws cognito-idp delete-user-pool-client --user-pool-id us-west-2_aaaaaaaaa --client-id 38fjsnc484p94kpqsnet7mpld0 + diff --git a/bin/awscli/examples/cognito-idp/delete-user-pool-domain.rst b/bin/awscli/examples/cognito-idp/delete-user-pool-domain.rst new file mode 100644 index 00000000..edce2ce2 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/delete-user-pool-domain.rst @@ -0,0 +1,8 @@ +**To delete a user pool domain** + +This example deletes a user pool domain named my-domain. + +Command:: + + aws cognito-idp delete-user-pool --user-pool-id us-west-2_aaaaaaaaa --domain my-domain + diff --git a/bin/awscli/examples/cognito-idp/delete-user-pool.rst b/bin/awscli/examples/cognito-idp/delete-user-pool.rst new file mode 100644 index 00000000..c66dcf35 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/delete-user-pool.rst @@ -0,0 +1,8 @@ +**To delete a user pool** + +This example deletes a user pool using the user pool id, us-west-2_aaaaaaaaa. + +Command:: + + aws cognito-idp delete-user-pool --user-pool-id us-west-2_aaaaaaaaa + diff --git a/bin/awscli/examples/cognito-idp/delete-user.rst b/bin/awscli/examples/cognito-idp/delete-user.rst new file mode 100644 index 00000000..d00d5cb3 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/delete-user.rst @@ -0,0 +1,8 @@ +**To delete a user** + +This example deletes a user. + +Command:: + + aws cognito-idp delete-user --access-token ACCESS_TOKEN + diff --git a/bin/awscli/examples/cognito-idp/describe-identity-provider.rst b/bin/awscli/examples/cognito-idp/describe-identity-provider.rst new file mode 100644 index 00000000..21f5d94e --- /dev/null +++ b/bin/awscli/examples/cognito-idp/describe-identity-provider.rst @@ -0,0 +1,33 @@ +**To describe an identity provider** + +This example describes an identity provider named Facebook. + +Command:: + + aws cognito-idp describe-identity-provider --user-pool-id us-west-2_aaaaaaaaa --provider-name Facebook + +Output:: + + { + "IdentityProvider": { + "UserPoolId": "us-west-2_aaaaaaaaa", + "ProviderName": "Facebook", + "ProviderType": "Facebook", + "ProviderDetails": { + "attributes_url": "https://graph.facebook.com/me?fields=", + "attributes_url_add_attributes": "true", + "authorize_scopes": myscope", + "authorize_url": "https://www.facebook.com/v2.9/dialog/oauth", + "client_id": "11111", + "client_secret": "11111", + "token_request_method": "GET", + "token_url": "https://graph.facebook.com/v2.9/oauth/access_token" + }, + "AttributeMapping": { + "username": "id" + }, + "IdpIdentifiers": [], + "LastModifiedDate": 1548105901.736, + "CreationDate": 1548105901.736 + } + } \ No newline at end of file diff --git a/bin/awscli/examples/cognito-idp/describe-resource-server.rst b/bin/awscli/examples/cognito-idp/describe-resource-server.rst new file mode 100644 index 00000000..e9af34b6 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/describe-resource-server.rst @@ -0,0 +1,32 @@ +**To describe a resource server** + +This example describes the resource server weather.example.com. + +Command:: + + aws cognito-idp describe-resource-server --user-pool-id us-west-2_aaaaaaaaa --identifier weather.example.com + +Output:: + + { + "ResourceServer": { + "UserPoolId": "us-west-2_aaaaaaaaa", + "Identifier": "weather.example.com", + "Name": "Weather", + "Scopes": [ + { + "ScopeName": "weather.update", + "ScopeDescription": "Update weather forecast" + }, + { + "ScopeName": "weather.read", + "ScopeDescription": "Read weather forecasts" + }, + { + "ScopeName": "weather.delete", + "ScopeDescription": "Delete a weather forecast" + } + ] + } + } + diff --git a/bin/awscli/examples/cognito-idp/describe-risk-configuration.rst b/bin/awscli/examples/cognito-idp/describe-risk-configuration.rst new file mode 100644 index 00000000..c1bb7d2c --- /dev/null +++ b/bin/awscli/examples/cognito-idp/describe-risk-configuration.rst @@ -0,0 +1,61 @@ +**To describe a risk configuration** + +This example describes the risk configuration associated with pool us-west-2_aaaaaaaaa. + +Command:: + + aws cognito-idp describe-risk-configuration --user-pool-id us-west-2_aaaaaaaaa + +Output:: + + { + "RiskConfiguration": { + "UserPoolId": "us-west-2_aaaaaaaaa", + "CompromisedCredentialsRiskConfiguration": { + "EventFilter": [ + "SIGN_IN", + "SIGN_UP", + "PASSWORD_CHANGE" + ], + "Actions": { + "EventAction": "BLOCK" + } + }, + "AccountTakeoverRiskConfiguration": { + "NotifyConfiguration": { + "From": "diego@example.com", + "ReplyTo": "diego@example.com", + "SourceArn": "arn:aws:ses:us-east-1:111111111111:identity/diego@example.com", + "BlockEmail": { + "Subject": "Blocked sign-in attempt", + "HtmlBody": "\n\n\n\tHTML email context\n\t\n\n\n
We blocked an unrecognized sign-in to your account with this information:\n
    \n
  • Time: {login-time}
  • \n
  • Device: {device-name}
  • \n
  • Location: {city}, {country}
  • \n
\nIf this sign-in was not by you, you should change your password and notify us by clicking on this link\nIf this sign-in was by you, you can follow this link to let us know
\n\n", + "TextBody": "We blocked an unrecognized sign-in to your account with this information:\nTime: {login-time}\nDevice: {device-name}\nLocation: {city}, {country}\nIf this sign-in was not by you, you should change your password and notify us by clicking on {one-click-link-invalid}\nIf this sign-in was by you, you can follow {one-click-link-valid} to let us know" + }, + "NoActionEmail": { + "Subject": "New sign-in attempt", + "HtmlBody": "\n\n\n\tHTML email context\n\t\n\n\n
We observed an unrecognized sign-in to your account with this information:\n
    \n
  • Time: {login-time}
  • \n
  • Device: {device-name}
  • \n
  • Location: {city}, {country}
  • \n
\nIf this sign-in was not by you, you should change your password and notify us by clicking on this link\nIf this sign-in was by you, you can follow this link to let us know
\n\n", + "TextBody": "We observed an unrecognized sign-in to your account with this information:\nTime: {login-time}\nDevice: {device-name}\nLocation: {city}, {country}\nIf this sign-in was not by you, you should change your password and notify us by clicking on {one-click-link-invalid}\nIf this sign-in was by you, you can follow {one-click-link-valid} to let us know" + }, + "MfaEmail": { + "Subject": "New sign-in attempt", + "HtmlBody": "\n\n\n\tHTML email context\n\t\n\n\n
We required you to use multi-factor authentication for the following sign-in attempt:\n
    \n
  • Time: {login-time}
  • \n
  • Device: {device-name}
  • \n
  • Location: {city}, {country}
  • \n
\nIf this sign-in was not by you, you should change your password and notify us by clicking on this link\nIf this sign-in was by you, you can follow this link to let us know
\n\n", + "TextBody": "We required you to use multi-factor authentication for the following sign-in attempt:\nTime: {login-time}\nDevice: {device-name}\nLocation: {city}, {country}\nIf this sign-in was not by you, you should change your password and notify us by clicking on {one-click-link-invalid}\nIf this sign-in was by you, you can follow {one-click-link-valid} to let us know" + } + }, + "Actions": { + "LowAction": { + "Notify": true, + "EventAction": "NO_ACTION" + }, + "MediumAction": { + "Notify": true, + "EventAction": "MFA_IF_CONFIGURED" + }, + "HighAction": { + "Notify": true, + "EventAction": "MFA_IF_CONFIGURED" + } + } + } + } + } \ No newline at end of file diff --git a/bin/awscli/examples/cognito-idp/describe-user-import-job.rst b/bin/awscli/examples/cognito-idp/describe-user-import-job.rst new file mode 100644 index 00000000..2f791f78 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/describe-user-import-job.rst @@ -0,0 +1,28 @@ +**To describe a user import job** + +This example describes a user input job. + +For more information about importing users, see `Importing Users into User Pools From a CSV File`_. + +Command:: + + aws cognito-idp describe-user-import-job --user-pool-id us-west-2_aaaaaaaaa --job-id import-TZqNQvDRnW + +Output:: + + { + "UserImportJob": { + "JobName": "import-Test1", + "JobId": "import-TZqNQvDRnW", + "UserPoolId": "us-west-2_aaaaaaaaa", + "PreSignedUrl": "PRE_SIGNED URL", + "CreationDate": 1548271708.512, + "Status": "Created", + "CloudWatchLogsRoleArn": "arn:aws:iam::111111111111:role/CognitoCloudWatchLogsRole", + "ImportedUsers": 0, + "SkippedUsers": 0, + "FailedUsers": 0 + } + } + +.. _`Importing Users into User Pools From a CSV File`: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-using-import-tool.html \ No newline at end of file diff --git a/bin/awscli/examples/cognito-idp/describe-user-pool-client.rst b/bin/awscli/examples/cognito-idp/describe-user-pool-client.rst new file mode 100644 index 00000000..a8858bab --- /dev/null +++ b/bin/awscli/examples/cognito-idp/describe-user-pool-client.rst @@ -0,0 +1,70 @@ +**To describe a user pool client** + +This example describes a user pool client. + +Command:: + + aws cognito-idp describe-user-pool-client --user-pool-id us-west-2_aaaaaaaaa --client-id 38fjsnc484p94kpqsnet7mpld0 + +Output:: + + { + "UserPoolClient": { + "UserPoolId": "us-west-2_aaaaaaaaa", + "ClientName": "MyApp", + "ClientId": "38fjsnc484p94kpqsnet7mpld0", + "ClientSecret": "CLIENT_SECRET", + "LastModifiedDate": 1548108676.163, + "CreationDate": 1548108676.163, + "RefreshTokenValidity": 30, + "ReadAttributes": [ + "address", + "birthdate", + "custom:CustomAttr1", + "custom:CustomAttr2", + "email", + "email_verified", + "family_name", + "gender", + "given_name", + "locale", + "middle_name", + "name", + "nickname", + "phone_number", + "phone_number_verified", + "picture", + "preferred_username", + "profile", + "updated_at", + "website", + "zoneinfo" + ], + "WriteAttributes": [ + "address", + "birthdate", + "custom:CustomAttr1", + "custom:CustomAttr2", + "email", + "family_name", + "gender", + "given_name", + "locale", + "middle_name", + "name", + "nickname", + "phone_number", + "picture", + "preferred_username", + "profile", + "updated_at", + "website", + "zoneinfo" + ], + "ExplicitAuthFlows": [ + "ADMIN_NO_SRP_AUTH", + "USER_PASSWORD_AUTH" + ], + "AllowedOAuthFlowsUserPoolClient": false + } + } \ No newline at end of file diff --git a/bin/awscli/examples/cognito-idp/describe-user-pool-domain.rst b/bin/awscli/examples/cognito-idp/describe-user-pool-domain.rst new file mode 100644 index 00000000..8c64536f --- /dev/null +++ b/bin/awscli/examples/cognito-idp/describe-user-pool-domain.rst @@ -0,0 +1,22 @@ +**To describe a user pool client** + +This example describes a user pool domain named my-domain. + +Command:: + + aws cognito-idp describe-user-pool-domain --domain my-domain + +Output:: + + { + "DomainDescription": { + "UserPoolId": "us-west-2_aaaaaaaaa", + "AWSAccountId": "111111111111", + "Domain": "my-domain", + "S3Bucket": "aws-cognito-prod-pdx-assets", + "CloudFrontDistribution": "aaaaaaaaaaaaa.cloudfront.net", + "Version": "20190128175402", + "Status": "ACTIVE", + "CustomDomainConfig": {} + } + } \ No newline at end of file diff --git a/bin/awscli/examples/cognito-idp/describe-user-pool.rst b/bin/awscli/examples/cognito-idp/describe-user-pool.rst new file mode 100644 index 00000000..130a301f --- /dev/null +++ b/bin/awscli/examples/cognito-idp/describe-user-pool.rst @@ -0,0 +1,267 @@ +**To describe a user pool** + +This example describes a user pool with the user pool id us-west-2_aaaaaaaaa. + +Command:: + + aws cognito-idp describe-user-pool --user-pool-id us-west-2_aaaaaaaaa + +Output:: + + { + "UserPool": { + "SmsVerificationMessage": "Your verification code is {####}. ", + "SchemaAttributes": [ + { + "Name": "sub", + "StringAttributeConstraints": { + "MinLength": "1", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": true, + "AttributeDataType": "String", + "Mutable": false + }, + { + "Name": "name", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "given_name", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "family_name", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "middle_name", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "nickname", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "preferred_username", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "profile", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "picture", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "website", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "email", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": true, + "AttributeDataType": "String", + "Mutable": true + }, + { + "AttributeDataType": "Boolean", + "DeveloperOnlyAttribute": false, + "Required": false, + "Name": "email_verified", + "Mutable": true + }, + { + "Name": "gender", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "birthdate", + "StringAttributeConstraints": { + "MinLength": "10", + "MaxLength": "10" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "zoneinfo", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "locale", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "phone_number", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "AttributeDataType": "Boolean", + "DeveloperOnlyAttribute": false, + "Required": false, + "Name": "phone_number_verified", + "Mutable": true + }, + { + "Name": "address", + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "String", + "Mutable": true + }, + { + "Name": "updated_at", + "NumberAttributeConstraints": { + "MinValue": "0" + }, + "DeveloperOnlyAttribute": false, + "Required": false, + "AttributeDataType": "Number", + "Mutable": true + } + ], + "EmailVerificationSubject": "Your verification code", + "MfaConfiguration": "OFF", + "Name": "MyUserPool", + "EmailVerificationMessage": "Your verification code is {####}. ", + "SmsAuthenticationMessage": "Your authentication code is {####}. ", + "LastModifiedDate": 1547763720.822, + "AdminCreateUserConfig": { + "InviteMessageTemplate": { + "EmailMessage": "Your username is {username} and temporary password is {####}. ", + "EmailSubject": "Your temporary password", + "SMSMessage": "Your username is {username} and temporary password is {####}. " + }, + "UnusedAccountValidityDays": 7, + "AllowAdminCreateUserOnly": false + }, + "EmailConfiguration": { + "ReplyToEmailAddress": "myemail@mydomain.com" + "SourceArn": "arn:aws:ses:us-east-1:000000000000:identity/myemail@mydomain.com" + }, + "AutoVerifiedAttributes": [ + "email" + ], + "Policies": { + "PasswordPolicy": { + "RequireLowercase": true, + "RequireSymbols": true, + "RequireNumbers": true, + "MinimumLength": 8, + "RequireUppercase": true + } + }, + "UserPoolTags": {}, + "UsernameAttributes": [ + "email" + ], + "CreationDate": 1547763720.822, + "EstimatedNumberOfUsers": 1, + "Id": "us-west-2_aaaaaaaaa", + "LambdaConfig": {} + } + } \ No newline at end of file diff --git a/bin/awscli/examples/cognito-idp/forget-device.rst b/bin/awscli/examples/cognito-idp/forget-device.rst new file mode 100644 index 00000000..5141fe69 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/forget-device.rst @@ -0,0 +1,8 @@ +**To forget a device** + +This example forgets device a device. + +Command:: + + aws cognito-idp forget-device --device-key us-west-2_abcd_1234-5678 + diff --git a/bin/awscli/examples/cognito-idp/forgot-password.rst b/bin/awscli/examples/cognito-idp/forgot-password.rst new file mode 100644 index 00000000..8ab382af --- /dev/null +++ b/bin/awscli/examples/cognito-idp/forgot-password.rst @@ -0,0 +1,15 @@ +**To force a password change** + +The following ``forgot-password`` example sends a message to jane@example.com to change their password. :: + + aws cognito-idp forgot-password --client-id 38fjsnc484p94kpqsnet7mpld0 --username jane@example.com + +Output:: + + { + "CodeDeliveryDetails": { + "Destination": "j***@e***.com", + "DeliveryMedium": "EMAIL", + "AttributeName": "email" + } + } diff --git a/bin/awscli/examples/cognito-idp/get-csv-header.rst b/bin/awscli/examples/cognito-idp/get-csv-header.rst new file mode 100644 index 00000000..6e6db1a8 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/get-csv-header.rst @@ -0,0 +1,40 @@ +**To create a csv header** + +This example creates a csv header. + +For more information about importing users, see `Importing Users into User Pools From a CSV File`_. + +Command:: + + aws cognito-idp get-csv-header --user-pool-id us-west-2_aaaaaaaaa + +Output:: + + { + "UserPoolId": "us-west-2_aaaaaaaaa", + "CSVHeader": [ + "name", + "given_name", + "family_name", + "middle_name", + "nickname", + "preferred_username", + "profile", + "picture", + "website", + "email", + "email_verified", + "gender", + "birthdate", + "zoneinfo", + "locale", + "phone_number", + "phone_number_verified", + "address", + "updated_at", + "cognito:mfa_enabled", + "cognito:username" + ] + } + +... _`Importing Users into User Pools From a CSV File`: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-using-import-tool.html \ No newline at end of file diff --git a/bin/awscli/examples/cognito-idp/get-group.rst b/bin/awscli/examples/cognito-idp/get-group.rst new file mode 100644 index 00000000..61a87756 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/get-group.rst @@ -0,0 +1,19 @@ +**To get information about a group** + +This example gets information about a group named MyGroup. + +Command:: + + aws cognito-idp get-group --user-pool-id us-west-2_aaaaaaaaa --group-name MyGroup + +Output:: + + { + "Group": { + "GroupName": "MyGroup", + "UserPoolId": "us-west-2_aaaaaaaaa", + "Description": "A sample group.", + "LastModifiedDate": 1548270073.795, + "CreationDate": 1548270073.795 + } + } \ No newline at end of file diff --git a/bin/awscli/examples/cognito-idp/get-signing-certificate.rst b/bin/awscli/examples/cognito-idp/get-signing-certificate.rst new file mode 100644 index 00000000..f7c26f1b --- /dev/null +++ b/bin/awscli/examples/cognito-idp/get-signing-certificate.rst @@ -0,0 +1,13 @@ +**To get a signing certificate** + +This example gets a signing certificate for a user pool. + +Command:: + + aws cognito-idp get-signing-certificate --user-pool-id us-west-2_aaaaaaaaa + +Output:: + + { + "Certificate": "CERTIFICATE_DATA" + } \ No newline at end of file diff --git a/bin/awscli/examples/cognito-idp/get-ui-customization.rst b/bin/awscli/examples/cognito-idp/get-ui-customization.rst new file mode 100644 index 00000000..8943912c --- /dev/null +++ b/bin/awscli/examples/cognito-idp/get-ui-customization.rst @@ -0,0 +1,19 @@ +**To get UI customization information** + +This example gets UI customization information for a user pool. + +Command:: + + aws cognito-idp get-ui-customization --user-pool-id us-west-2_aaaaaaaaa + +Output:: + + { + "UICustomization": { + "UserPoolId": "us-west-2_aaaaaaaaa", + "ClientId": "ALL", + "ImageUrl": "https://aaaaaaaaaaaaa.cloudfront.net/us-west-2_aaaaaaaaa/ALL/20190128231240/assets/images/image.jpg", + "CSS": ".logo-customizable {\n\tmax-width: 60%;\n\tmax-height: 30%;\n}\n.banner-customizable {\n\tpadding: 25px 0px 25px 10px;\n\tbackground-color: lightgray;\n}\n.label-customizable {\n\tfont-weight: 300;\n}\n.textDescription-customizable {\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n\tdisplay: block;\n\tfont-size: 16px;\n}\n.idpDescription-customizable {\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n\tdisplay: block;\n\tfont-size: 16px;\n}\n.legalText-customizable {\n\tcolor: #747474;\n\tfont-size: 11px;\n}\n.submitButton-customizable {\n\tfont-size: 14px;\n\tfont-weight: bold;\n\tmargin: 20px 0px 10px 0px;\n\theight: 40px;\n\twidth: 100%;\n\tcolor: #fff;\n\tbackground-color: #337ab7;\n}\n.submitButton-customizable:hover {\n\tcolor: #fff;\n\tbackground-color: #286090;\n}\n.errorMessage-customizable {\n\tpadding: 5px;\n\tfont-size: 14px;\n\twidth: 100%;\n\tbackground: #F5F5F5;\n\tborder: 2px solid #D64958;\n\tcolor: #D64958;\n}\n.inputField-customizable {\n\twidth: 100%;\n\theight: 34px;\n\tcolor: #555;\n\tbackground-color: #fff;\n\tborder: 1px solid #ccc;\n}\n.inputField-customizable:focus {\n\tborder-color: #66afe9;\n\toutline: 0;\n}\n.idpButton-customizable {\n\theight: 40px;\n\twidth: 100%;\n\ttext-align: center;\n\tmargin-bottom: 15px;\n\tcolor: #fff;\n\tbackground-color: #5bc0de;\n\tborder-color: #46b8da;\n}\n.idpButton-customizable:hover {\n\tcolor: #fff;\n\tbackground-color: #31b0d5;\n}\n.socialButton-customizable {\n\theight: 40px;\n\ttext-align: left;\n\twidth: 100%;\n\tmargin-bottom: 15px;\n}\n.redirect-customizable {\n\ttext-align: center;\n}\n.passwordCheck-notValid-customizable {\n\tcolor: #DF3312;\n}\n.passwordCheck-valid-customizable {\n\tcolor: #19BF00;\n}\n.background-customizable {\n\tbackground-color: #faf;\n}\n", + "CSSVersion": "20190128231240" + } + } \ No newline at end of file diff --git a/bin/awscli/examples/cognito-idp/list-user-import-jobs.rst b/bin/awscli/examples/cognito-idp/list-user-import-jobs.rst new file mode 100644 index 00000000..e279cd01 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/list-user-import-jobs.rst @@ -0,0 +1,57 @@ +**To list user import jobs** + +This example lists user import jobs. + +For more information about importing users, see `Importing Users into User Pools From a CSV File`_. + +Command:: + + aws cognito-idp list-user-import-jobs --user-pool-id us-west-2_aaaaaaaaa --max-results 20 + +Output:: + + { + "UserImportJobs": [ + { + "JobName": "Test2", + "JobId": "import-d0OnwGA3mV", + "UserPoolId": "us-west-2_aaaaaaaaa", + "PreSignedUrl": "PRE_SIGNED_URL", + "CreationDate": 1548272793.069, + "Status": "Created", + "CloudWatchLogsRoleArn": "arn:aws:iam::111111111111:role/CognitoCloudWatchLogsRole", + "ImportedUsers": 0, + "SkippedUsers": 0, + "FailedUsers": 0 + }, + { + "JobName": "Test1", + "JobId": "import-qQ0DCt2fRh", + "UserPoolId": "us-west-2_aaaaaaaaa", + "PreSignedUrl": "PRE_SIGNED_URL", + "CreationDate": 1548271795.471, + "Status": "Created", + "CloudWatchLogsRoleArn": "arn:aws:iam::111111111111:role/CognitoCloudWatchLogsRole", + "ImportedUsers": 0, + "SkippedUsers": 0, + "FailedUsers": 0 + }, + { + "JobName": "import-Test1", + "JobId": "import-TZqNQvDRnW", + "UserPoolId": "us-west-2_aaaaaaaaa", + "PreSignedUrl": "PRE_SIGNED_URL", + "CreationDate": 1548271708.512, + "StartDate": 1548277247.962, + "CompletionDate": 1548277248.912, + "Status": "Failed", + "CloudWatchLogsRoleArn": "arn:aws:iam::111111111111:role/CognitoCloudWatchLogsRole", + "ImportedUsers": 0, + "SkippedUsers": 0, + "FailedUsers": 1, + "CompletionMessage": "Too many users have failed or been skipped during the import." + } + ] + } + +.. _`Importing Users into User Pools From a CSV File`: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-using-import-tool.html \ No newline at end of file diff --git a/bin/awscli/examples/cognito-idp/list-user-pools.rst b/bin/awscli/examples/cognito-idp/list-user-pools.rst new file mode 100644 index 00000000..302487ef --- /dev/null +++ b/bin/awscli/examples/cognito-idp/list-user-pools.rst @@ -0,0 +1,22 @@ +**To list user pools** + +This example lists up to 20 user pools. + +Command:: + + aws cognito-idp list-user-pools --max-results 20 + +Output:: + + { + "UserPools": [ + { + "CreationDate": 1547763720.822, + "LastModifiedDate": 1547763720.822, + "LambdaConfig": {}, + "Id": "us-west-2_aaaaaaaaa", + "Name": "MyUserPool" + } + ] + } + diff --git a/bin/awscli/examples/cognito-idp/list-users-in-group.rst b/bin/awscli/examples/cognito-idp/list-users-in-group.rst new file mode 100644 index 00000000..25c54c8b --- /dev/null +++ b/bin/awscli/examples/cognito-idp/list-users-in-group.rst @@ -0,0 +1,56 @@ +**To list users in a group** + +This example lists users in group MyGroup. + +Command:: + + aws cognito-idp list-users-in-group --user-pool-id us-west-2_aaaaaaaaa --group-name MyGroup + +Output:: + + { + "Users": [ + { + "Username": "acf10624-80bb-401a-ac61-607bee2110ec", + "Attributes": [ + { + "Name": "sub", + "Value": "acf10624-80bb-401a-ac61-607bee2110ec" + }, + { + "Name": "custom:CustomAttr1", + "Value": "New Value!" + }, + { + "Name": "email", + "Value": "jane@example.com" + } + ], + "UserCreateDate": 1548102770.284, + "UserLastModifiedDate": 1548103204.893, + "Enabled": true, + "UserStatus": "CONFIRMED" + }, + { + "Username": "22704aa3-fc10-479a-97eb-2af5806bd327", + "Attributes": [ + { + "Name": "sub", + "Value": "22704aa3-fc10-479a-97eb-2af5806bd327" + }, + { + "Name": "email_verified", + "Value": "true" + }, + { + "Name": "email", + "Value": "diego@example.com" + } + ], + "UserCreateDate": 1548089817.683, + "UserLastModifiedDate": 1548089817.683, + "Enabled": true, + "UserStatus": "FORCE_CHANGE_PASSWORD" + } + ] + } diff --git a/bin/awscli/examples/cognito-idp/list-users.rst b/bin/awscli/examples/cognito-idp/list-users.rst new file mode 100644 index 00000000..6245e17c --- /dev/null +++ b/bin/awscli/examples/cognito-idp/list-users.rst @@ -0,0 +1,35 @@ +**To list users** + +This example lists up to 20 users. + +Command:: + + aws cognito-idp list-users --user-pool-id us-west-2_aaaaaaaaa --limit 20 + +Output:: + + { + "Users": [ + { + "Username": "22704aa3-fc10-479a-97eb-2af5806bd327", + "Enabled": true, + "UserStatus": "FORCE_CHANGE_PASSWORD", + "UserCreateDate": 1548089817.683, + "UserLastModifiedDate": 1548089817.683, + "Attributes": [ + { + "Name": "sub", + "Value": "22704aa3-fc10-479a-97eb-2af5806bd327" + }, + { + "Name": "email_verified", + "Value": "true" + }, + { + "Name": "email", + "Value": "mary@example.com" + } + ] + } + ] + } diff --git a/bin/awscli/examples/cognito-idp/resend-confirmation-code.rst b/bin/awscli/examples/cognito-idp/resend-confirmation-code.rst new file mode 100644 index 00000000..7bf38c6d --- /dev/null +++ b/bin/awscli/examples/cognito-idp/resend-confirmation-code.rst @@ -0,0 +1,17 @@ +**To force a password change** + +This example sends a message to jane@example.com to change their password. + +Command:: + + aws cognito-idp forget-device --client-id 38fjsnc484p94kpqsnet7mpld0 --username jane@example.com + +Output:: + + { + "CodeDeliveryDetails": { + "Destination": "j***@e***.com", + "DeliveryMedium": "EMAIL", + "AttributeName": "email" + } + } \ No newline at end of file diff --git a/bin/awscli/examples/cognito-idp/respond-to-auth-challenge.rst b/bin/awscli/examples/cognito-idp/respond-to-auth-challenge.rst new file mode 100644 index 00000000..282d97eb --- /dev/null +++ b/bin/awscli/examples/cognito-idp/respond-to-auth-challenge.rst @@ -0,0 +1,27 @@ +**To respond to an authorization challenge** + +This example responds to an authorization challenge initiated with `initiate-auth`_. It is a response to the NEW_PASSWORD_REQUIRED challenge. +It sets a password for user jane@example.com. + +Command:: + + aws cognito-idp respond-to-auth-challenge --client-id 3n4b5urk1ft4fl3mg5e62d9ado --challenge-name NEW_PASSWORD_REQUIRED --challenge-responses USERNAME=jane@example.com,NEW_PASSWORD="password" --session "SESSION_TOKEN" + +Output:: + + { + "ChallengeParameters": {}, + "AuthenticationResult": { + "AccessToken": "ACCESS_TOKEN", + "ExpiresIn": 3600, + "TokenType": "Bearer", + "RefreshToken": "REFRESH_TOKEN", + "IdToken": "ID_TOKEN", + "NewDeviceMetadata": { + "DeviceKey": "us-west-2_fec070d2-fa88-424a-8ec8-b26d7198eb23", + "DeviceGroupKey": "-wt2ha1Zd" + } + } + } + +.. _`initiate-auth`: https://docs.aws.amazon.com/cli/latest/reference/cognito-idp/initiate-auth.html \ No newline at end of file diff --git a/bin/awscli/examples/cognito-idp/set-risk-configuration.rst b/bin/awscli/examples/cognito-idp/set-risk-configuration.rst new file mode 100644 index 00000000..5c78c0a9 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/set-risk-configuration.rst @@ -0,0 +1,23 @@ +**To set risk configuration** + +This example sets the risk configuration for a user pool. It sets the sign-up event action to NO_ACTION. + +Command:: + + aws cognito-idp set-risk-configuration --user-pool-id us-west-2_aaaaaaaaa --compromised-credentials-risk-configuration EventFilter=SIGN_UP,Actions={EventAction=NO_ACTION} + +Output:: + + { + "RiskConfiguration": { + "UserPoolId": "us-west-2_aaaaaaaaa", + "CompromisedCredentialsRiskConfiguration": { + "EventFilter": [ + "SIGN_UP" + ], + "Actions": { + "EventAction": "NO_ACTION" + } + } + } + } \ No newline at end of file diff --git a/bin/awscli/examples/cognito-idp/set-ui-customization.rst b/bin/awscli/examples/cognito-idp/set-ui-customization.rst new file mode 100644 index 00000000..7864e3a7 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/set-ui-customization.rst @@ -0,0 +1,18 @@ +**To set UI customization** + +This example customizes the CSS setting for a user pool. + +Command:: + + aws cognito-idp set-ui-customization --user-pool-id us-west-2_aaaaaaaaa --css ".logo-customizable {\n\tmax-width: 60%;\n\tmax-height: 30%;\n}\n.banner-customizable {\n\tpadding: 25px 0px 25px 10px;\n\tbackground-color: lightgray;\n}\n.label-customizable {\n\tfont-weight: 300;\n}\n.textDescription-customizable {\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n\tdisplay: block;\n\tfont-size: 16px;\n}\n.idpDescription-customizable {\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n\tdisplay: block;\n\tfont-size: 16px;\n}\n.legalText-customizable {\n\tcolor: #747474;\n\tfont-size: 11px;\n}\n.submitButton-customizable {\n\tfont-size: 14px;\n\tfont-weight: bold;\n\tmargin: 20px 0px 10px 0px;\n\theight: 40px;\n\twidth: 100%;\n\tcolor: #fff;\n\tbackground-color: #337ab7;\n}\n.submitButton-customizable:hover {\n\tcolor: #fff;\n\tbackground-color: #286090;\n}\n.errorMessage-customizable {\n\tpadding: 5px;\n\tfont-size: 14px;\n\twidth: 100%;\n\tbackground: #F5F5F5;\n\tborder: 2px solid #D64958;\n\tcolor: #D64958;\n}\n.inputField-customizable {\n\twidth: 100%;\n\theight: 34px;\n\tcolor: #555;\n\tbackground-color: #fff;\n\tborder: 1px solid #ccc;\n}\n.inputField-customizable:focus {\n\tborder-color: #66afe9;\n\toutline: 0;\n}\n.idpButton-customizable {\n\theight: 40px;\n\twidth: 100%;\n\ttext-align: center;\n\tmargin-bottom: 15px;\n\tcolor: #fff;\n\tbackground-color: #5bc0de;\n\tborder-color: #46b8da;\n}\n.idpButton-customizable:hover {\n\tcolor: #fff;\n\tbackground-color: #31b0d5;\n}\n.socialButton-customizable {\n\theight: 40px;\n\ttext-align: left;\n\twidth: 100%;\n\tmargin-bottom: 15px;\n}\n.redirect-customizable {\n\ttext-align: center;\n}\n.passwordCheck-notValid-customizable {\n\tcolor: #DF3312;\n}\n.passwordCheck-valid-customizable {\n\tcolor: #19BF00;\n}\n.background-customizable {\n\tbackground-color: #faf;\n}\n" + +Output:: + + { + "UICustomization": { + "UserPoolId": "us-west-2_aaaaaaaaa", + "ClientId": "ALL", + "CSS": ".logo-customizable {\n\tmax-width: 60%;\n\tmax-height: 30%;\n}\n.banner-customizable {\n\tpadding: 25px 0px 25px 10px;\n\tbackground-color: lightgray;\n}\n.label-customizable {\n\tfont-weight: 300;\n}\n.textDescription-customizable {\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n\tdisplay: block;\n\tfont-size: 16px;\n}\n.idpDescription-customizable {\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n\tdisplay: block;\n\tfont-size: 16px;\n}\n.legalText-customizable {\n\tcolor: #747474;\n\tfont-size: 11px;\n}\n.submitButton-customizable {\n\tfont-size: 14px;\n\tfont-weight: bold;\n\tmargin: 20px 0px 10px 0px;\n\theight: 40px;\n\twidth: 100%;\n\tcolor: #fff;\n\tbackground-color: #337ab7;\n}\n.submitButton-customizable:hover {\n\tcolor: #fff;\n\tbackground-color: #286090;\n}\n.errorMessage-customizable {\n\tpadding: 5px;\n\tfont-size: 14px;\n\twidth: 100%;\n\tbackground: #F5F5F5;\n\tborder: 2px solid #D64958;\n\tcolor: #D64958;\n}\n.inputField-customizable {\n\twidth: 100%;\n\theight: 34px;\n\tcolor: #555;\n\tbackground-color: #fff;\n\tborder: 1px solid #ccc;\n}\n.inputField-customizable:focus {\n\tborder-color: #66afe9;\n\toutline: 0;\n}\n.idpButton-customizable {\n\theight: 40px;\n\twidth: 100%;\n\ttext-align: center;\n\tmargin-bottom: 15px;\n\tcolor: #fff;\n\tbackground-color: #5bc0de;\n\tborder-color: #46b8da;\n}\n.idpButton-customizable:hover {\n\tcolor: #fff;\n\tbackground-color: #31b0d5;\n}\n.socialButton-customizable {\n\theight: 40px;\n\ttext-align: left;\n\twidth: 100%;\n\tmargin-bottom: 15px;\n}\n.redirect-customizable {\n\ttext-align: center;\n}\n.passwordCheck-notValid-customizable {\n\tcolor: #DF3312;\n}\n.passwordCheck-valid-customizable {\n\tcolor: #19BF00;\n}\n.background-customizable {\n\tbackground-color: #faf;\n}\n", + "CSSVersion": "20190129172214" + } + } \ No newline at end of file diff --git a/bin/awscli/examples/cognito-idp/set-user-mfa-preference.rst b/bin/awscli/examples/cognito-idp/set-user-mfa-preference.rst new file mode 100644 index 00000000..95f49bf1 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/set-user-mfa-preference.rst @@ -0,0 +1,8 @@ +**To set user MFA settings** + +This example modifies the MFA delivery options. It changes the MFA delivery medium to SMS. + +Command:: + + aws cognito-idp set-user-mfa-preference --access-token ACCESS_TOKEN --mfa-options DeliveryMedium="SMS",AttributeName="phone_number" + diff --git a/bin/awscli/examples/cognito-idp/set-user-settings.rst b/bin/awscli/examples/cognito-idp/set-user-settings.rst new file mode 100644 index 00000000..0a5973f8 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/set-user-settings.rst @@ -0,0 +1,8 @@ +**To set user settings** + +This example sets the MFA delivery preference to EMAIL. + +Command:: + + aws cognito-idp set-user-settings --access-token ACCESS_TOKEN --mfa-options DeliveryMedium=EMAIL + diff --git a/bin/awscli/examples/cognito-idp/sign-up.rst b/bin/awscli/examples/cognito-idp/sign-up.rst new file mode 100644 index 00000000..7ab74233 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/sign-up.rst @@ -0,0 +1,14 @@ +**To sign up a user** + +This example signs up jane@example.com. + +Command:: + + aws cognito-idp sign-up --client-id 3n4b5urk1ft4fl3mg5e62d9ado --username jane@example.com --password PASSWORD --user-attributes Name="email",Value="jane@example.com" Name="name",Value="Jane" + +Output:: + + { + "UserConfirmed": false, + "UserSub": "e04d60a6-45dc-441c-a40b-e25a787d4862" + } diff --git a/bin/awscli/examples/cognito-idp/start-user-import-job.rst b/bin/awscli/examples/cognito-idp/start-user-import-job.rst new file mode 100644 index 00000000..e33be386 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/start-user-import-job.rst @@ -0,0 +1,29 @@ +**To start a user import job** + +This example starts a user input job. + +For more information about importing users, see `Importing Users into User Pools From a CSV File`_. + +Command:: + + aws cognito-idp start-user-import-job --user-pool-id us-west-2_aaaaaaaaa --job-id import-TZqNQvDRnW + +Output:: + + { + "UserImportJob": { + "JobName": "import-Test10", + "JobId": "import-lmpxSOuIzH", + "UserPoolId": "us-west-2_aaaaaaaaa", + "PreSignedUrl": "PRE_SIGNED_URL", + "CreationDate": 1548278378.928, + "StartDate": 1548278397.334, + "Status": "Pending", + "CloudWatchLogsRoleArn": "arn:aws:iam::111111111111:role/CognitoCloudWatchLogsRole", + "ImportedUsers": 0, + "SkippedUsers": 0, + "FailedUsers": 0 + } + } + +.. _`Importing Users into User Pools From a CSV File`: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-using-import-tool.html \ No newline at end of file diff --git a/bin/awscli/examples/cognito-idp/stop-user-import-job.rst b/bin/awscli/examples/cognito-idp/stop-user-import-job.rst new file mode 100644 index 00000000..4d62b7f1 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/stop-user-import-job.rst @@ -0,0 +1,31 @@ +**To stop a user import job** + +This example stops a user input job. + +For more information about importing users, see `Importing Users into User Pools From a CSV File`_. + +Command:: + + aws cognito-idp stop-user-import-job --user-pool-id us-west-2_aaaaaaaaa --job-id import-TZqNQvDRnW + +Output:: + + { + "UserImportJob": { + "JobName": "import-Test5", + "JobId": "import-Fx0kARISFL", + "UserPoolId": "us-west-2_aaaaaaaaa", + "PreSignedUrl": "PRE_SIGNED_URL", + "CreationDate": 1548278576.259, + "StartDate": 1548278623.366, + "CompletionDate": 1548278626.741, + "Status": "Stopped", + "CloudWatchLogsRoleArn": "arn:aws:iam::111111111111:role/CognitoCloudWatchLogsRole", + "ImportedUsers": 0, + "SkippedUsers": 0, + "FailedUsers": 0, + "CompletionMessage": "The Import Job was stopped by the developer." + } + } + +.. _`Importing Users into User Pools From a CSV File`: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-using-import-tool.html \ No newline at end of file diff --git a/bin/awscli/examples/cognito-idp/update-auth-event-feedback.rst b/bin/awscli/examples/cognito-idp/update-auth-event-feedback.rst new file mode 100644 index 00000000..b84b711c --- /dev/null +++ b/bin/awscli/examples/cognito-idp/update-auth-event-feedback.rst @@ -0,0 +1,7 @@ +**To update auth event feedback** + +This example updates authorization event feedback. It marks the event "Valid". + +Command:: + + aws cognito-idp update-auth-event-feedback --user-pool-id us-west-2_aaaaaaaaa --username diego@example.com --event-id EVENT_ID --feedback-token FEEDBACK_TOKEN --feedback-value "Valid" diff --git a/bin/awscli/examples/cognito-idp/update-device-status.rst b/bin/awscli/examples/cognito-idp/update-device-status.rst new file mode 100644 index 00000000..cabe6bff --- /dev/null +++ b/bin/awscli/examples/cognito-idp/update-device-status.rst @@ -0,0 +1,7 @@ +**To update device status** + +This example updates the status for a device to "not_remembered". + +Command:: + + aws cognito-idp update-device-status --access-token ACCESS_TOKEN --device-key DEVICE_KEY --device-remembered-status "not_remembered" diff --git a/bin/awscli/examples/cognito-idp/update-group.rst b/bin/awscli/examples/cognito-idp/update-group.rst new file mode 100644 index 00000000..88d60ba0 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/update-group.rst @@ -0,0 +1,21 @@ +**To update a group** + +This example updates the description and precedence for MyGroup. + +Command:: + + aws cognito-idp update-group --user-pool-id us-west-2_aaaaaaaaa --group-name MyGroup --description "New description" --precedence 2 + +Output:: + + { + "Group": { + "GroupName": "MyGroup", + "UserPoolId": "us-west-2_aaaaaaaaa", + "Description": "New description", + "RoleArn": "arn:aws:iam::111111111111:role/MyRole", + "Precedence": 2, + "LastModifiedDate": 1548800862.812, + "CreationDate": 1548097827.125 + } + } \ No newline at end of file diff --git a/bin/awscli/examples/cognito-idp/update-resource-server.rst b/bin/awscli/examples/cognito-idp/update-resource-server.rst new file mode 100644 index 00000000..4b06e89e --- /dev/null +++ b/bin/awscli/examples/cognito-idp/update-resource-server.rst @@ -0,0 +1,23 @@ +**To update a resource server** + +This example updates the the resource server Weather. It adds a new scope. + +Command:: + + aws cognito-idp update-resource-server --user-pool-id us-west-2_aaaaaaaaa --identifier weather.example.com --name Weather --scopes ScopeName=NewScope,ScopeDescription="New scope description" + +Output:: + + { + "ResourceServer": { + "UserPoolId": "us-west-2_aaaaaaaaa", + "Identifier": "weather.example.com", + "Name": "Happy", + "Scopes": [ + { + "ScopeName": "NewScope", + "ScopeDescription": "New scope description" + } + ] + } + } \ No newline at end of file diff --git a/bin/awscli/examples/cognito-idp/update-user-attributes.rst b/bin/awscli/examples/cognito-idp/update-user-attributes.rst new file mode 100644 index 00000000..3f723772 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/update-user-attributes.rst @@ -0,0 +1,7 @@ +**To update user attributes** + +This example updates the user attribute "nickname". + +Command:: + + aws cognito-idp update-user-attributes --access-token ACCESS_TOKEN --user-attributes Name="nickname",Value="Dan" diff --git a/bin/awscli/examples/cognito-idp/update-user-pool-client.rst b/bin/awscli/examples/cognito-idp/update-user-pool-client.rst new file mode 100644 index 00000000..b2f922eb --- /dev/null +++ b/bin/awscli/examples/cognito-idp/update-user-pool-client.rst @@ -0,0 +1,24 @@ +**To update a user pool client** + +This example updates the name of a user pool client. It also adds a writeable attribute "nickname". + +Command:: + + aws cognito-idp update-user-pool-client --user-pool-id us-west-2_aaaaaaaaa --client-id 3n4b5urk1ft4fl3mg5e62d9ado --client-name "NewClientName" --write-attributes "nickname" + +Output:: + + { + "UserPoolClient": { + "UserPoolId": "us-west-2_aaaaaaaaa", + "ClientName": "NewClientName", + "ClientId": "3n4b5urk1ft4fl3mg5e62d9ado", + "LastModifiedDate": 1548802761.334, + "CreationDate": 1548178931.258, + "RefreshTokenValidity": 30, + "WriteAttributes": [ + "nickname" + ], + "AllowedOAuthFlowsUserPoolClient": false + } + } \ No newline at end of file diff --git a/bin/awscli/examples/cognito-idp/update-user-pool.rst b/bin/awscli/examples/cognito-idp/update-user-pool.rst new file mode 100644 index 00000000..a3948e59 --- /dev/null +++ b/bin/awscli/examples/cognito-idp/update-user-pool.rst @@ -0,0 +1,7 @@ +**To update a user pool** + +This example adds tags to a user pool. + +Command:: + + aws cognito-idp update-user-pool --user-pool-id us-west-2_aaaaaaaaa --user-pool-tags Team=Blue,Area=West diff --git a/bin/awscli/examples/cur/delete-report-definition.rst b/bin/awscli/examples/cur/delete-report-definition.rst new file mode 100644 index 00000000..bf80fd06 --- /dev/null +++ b/bin/awscli/examples/cur/delete-report-definition.rst @@ -0,0 +1,7 @@ +**To delete an AWS Cost and Usage Report** + +This example deletes an AWS Cost and Usage Report. + +Command:: + + aws cur --region us-east-1 delete-report-definition --report-name "ExampleReport" diff --git a/bin/awscli/examples/cur/describe-report-definitions.rst b/bin/awscli/examples/cur/describe-report-definitions.rst new file mode 100644 index 00000000..039d5e0c --- /dev/null +++ b/bin/awscli/examples/cur/describe-report-definitions.rst @@ -0,0 +1,31 @@ + +**To retrieve a list of AWS Cost and Usage Reports** + +This example describes a list of AWS Cost and Usage Reports owned by an account. + +Command:: + + aws cur --region us-east-1 describe-report-definitions --max-items 5 + +Output:: + + { + "ReportDefinitions": [ + { + "ReportName": "ExampleReport", + "Compression": "ZIP", + "S3Region": "us-east-1", + "Format": "textORcsv", + "S3Prefix": "exampleprefix", + "S3Bucket": "example-s3-bucket", + "TimeUnit": "DAILY", + "AdditionalArtifacts": [ + "REDSHIFT", + "QUICKSIGHT" + ], + "AdditionalSchemaElements": [ + "RESOURCES" + ] + } + ] + } diff --git a/bin/awscli/examples/cur/put-report-definition.rst b/bin/awscli/examples/cur/put-report-definition.rst new file mode 100644 index 00000000..be97908e --- /dev/null +++ b/bin/awscli/examples/cur/put-report-definition.rst @@ -0,0 +1,26 @@ + +**To create an AWS Cost and Usage Reports** + +The following ``put-report-definition`` example creates a daily AWS Cost and Usage Report that you can upload into Amazon Redshift or Amazon QuickSight. :: + + aws cur put-report-definition --report-definition file://report-definition.json + +Contents of ``report-definition.json``:: + + { + "ReportName": "ExampleReport", + "TimeUnit": "DAILY", + "Format": "textORcsv", + "Compression": "ZIP", + "AdditionalSchemaElements": [ + "RESOURCES" + ], + "S3Bucket": "example-s3-bucket", + "S3Prefix": "exampleprefix", + "S3Region": "us-east-1", + "AdditionalArtifacts": [ + "REDSHIFT", + "QUICKSIGHT" + ] + } + diff --git a/bin/awscli/examples/datapipeline/list-runs.rst b/bin/awscli/examples/datapipeline/list-runs.rst index 99a1edf0..841b4686 100644 --- a/bin/awscli/examples/datapipeline/list-runs.rst +++ b/bin/awscli/examples/datapipeline/list-runs.rst @@ -1,29 +1,20 @@ -**To list your pipeline runs** +**Example 1: To list your pipeline runs** -This example lists the runs for the specified pipeline:: +The following ``list-runs`` example lists the runs for the specified pipeline. :: - aws datapipeline list-runs --pipeline-id df-00627471SOVYZEXAMPLE - -The following is example output:: + aws datapipeline list-runs --pipeline-id df-00627471SOVYZEXAMPLE - Name Scheduled Start Status ID Started Ended - ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - 1. EC2ResourceObj 2015-04-12T17:33:02 CREATING @EC2ResourceObj_2015-04-12T17:33:02 2015-04-12T17:33:10 +Output:: - 2. S3InputLocation 2015-04-12T17:33:02 FINISHED @S3InputLocation_2015-04-12T17:33:02 2015-04-12T17:33:09 2015-04-12T17:33:09 + Name Scheduled Start Status ID Started Ended + ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + 1. EC2ResourceObj 2015-04-12T17:33:02 CREATING @EC2ResourceObj_2015-04-12T17:33:02 2015-04-12T17:33:10 + 2. S3InputLocation 2015-04-12T17:33:02 FINISHED @S3InputLocation_2015-04-12T17:33:02 2015-04-12T17:33:09 2015-04-12T17:33:09 + 3. S3OutputLocation 2015-04-12T17:33:02 WAITING_ON_DEPENDENCIES @S3OutputLocation_2015-04-12T17:33:02 2015-04-12T17:33:09 + 4. ShellCommandActivityObj 2015-04-12T17:33:02 WAITING_FOR_RUNNER @ShellCommandActivityObj_2015-04-12T17:33:02 2015-04-12T17:33:09 - 3. S3OutputLocation 2015-04-12T17:33:02 WAITING_ON_DEPENDENCIES @S3OutputLocation_2015-04-12T17:33:02 2015-04-12T17:33:09 +**Example 2: To list the pipeline runs between the specified dates** - 4. ShellCommandActivityObj 2015-04-12T17:33:02 WAITING_FOR_RUNNER @ShellCommandActivityObj_2015-04-12T17:33:02 2015-04-12T17:33:09 +The following ``list-runs`` example uses the ``--start-interval`` to specify the dates to include in the output. :: -**To list the pipeline runs between the specified dates** - -Use the ``list-runs`` command with the ``--start-interval`` parameter:: - - aws datapipeline list-runs`` --pipeline-id {#PIPELINE_ID} --start-interval {#TIME},{#TIME} - -For example, to list the pipeline runs between 2017-10-07T00:00:00 and 2017-10-08T00:00:00, run:: - - aws datapipeline list-runs --pipeline-id df-01434553B58A2SHZUKO5 --start-interval 2017-10-07T00:00:00,2017-10-08T00:00:00 - - + aws datapipeline list-runs --pipeline-id df-01434553B58A2SHZUKO5 --start-interval 2017-10-07T00:00:00,2017-10-08T00:00:00 diff --git a/bin/awscli/examples/deploy/add-tags-to-on-premises-instances.rst b/bin/awscli/examples/deploy/add-tags-to-on-premises-instances.rst old mode 100644 new mode 100755 index 060b735c..747c79d8 --- a/bin/awscli/examples/deploy/add-tags-to-on-premises-instances.rst +++ b/bin/awscli/examples/deploy/add-tags-to-on-premises-instances.rst @@ -1,11 +1,9 @@ **To add tags to on-premises instances** -This example associates in AWS CodeDeploy the same on-premises instance tag to two on-premises instances. It does not register the on-premises instances with AWS CodeDeploy. +The follwoing ``add-tags-to-on-premises-instances`` example associates in AWS CodeDeploy the same on-premises instance tag to two on-premises instances. It does not register the on-premises instances with AWS CodeDeploy. :: -Command:: + aws deploy add-tags-to-on-premises-instances \ + --instance-names AssetTag12010298EX AssetTag23121309EX \ + --tags Key=Name,Value=CodeDeployDemo-OnPrem - aws deploy add-tags-to-on-premises-instances --instance-names AssetTag12010298EX AssetTag23121309EX --tags Key=Name,Value=CodeDeployDemo-OnPrem - -Output:: - - This command produces no output. \ No newline at end of file +This command produces no output. diff --git a/bin/awscli/examples/deploy/batch-get-application-revisions.rst b/bin/awscli/examples/deploy/batch-get-application-revisions.rst new file mode 100755 index 00000000..5e0fdbdf --- /dev/null +++ b/bin/awscli/examples/deploy/batch-get-application-revisions.rst @@ -0,0 +1,34 @@ +**To retrieve information about application revisions** + +The following ``batch-get-application-revisions`` example retrieves information about the specified revision stored in a GitHub repository. :: + + aws deploy batch-get-application-revisions \ + --application-name my-codedeploy-application \ + --revisions "[{\"gitHubLocation\": {\"commitId\": \"fa85936EXAMPLEa31736c051f10d77297EXAMPLE\",\"repository\": \"my-github-token/my-repository\"},\"revisionType\": \"GitHub\"}]" + +Output:: + + { + "revisions": [ + { + "genericRevisionInfo": { + "description": "Application revision registered by Deployment ID: d-A1B2C3111", + "lastUsedTime": 1556912355.884, + "registerTime": 1556912355.884, + "firstUsedTime": 1556912355.884, + "deploymentGroups": [] + }, + "revisionLocation": { + "revisionType": "GitHub", + "gitHubLocation": { + "commitId": "fa85936EXAMPLEa31736c051f10d77297EXAMPLE", + "repository": "my-github-token/my-repository" + } + } + } + ], + "applicationName": "my-codedeploy-application", + "errorMessage": "" + } + +For more information, see `BatchGetApplicationRevisions `_ in the *AWS CodeDeploy API Reference*. diff --git a/bin/awscli/examples/deploy/batch-get-applications.rst b/bin/awscli/examples/deploy/batch-get-applications.rst old mode 100644 new mode 100755 index 4076f60d..5dc5b163 --- a/bin/awscli/examples/deploy/batch-get-applications.rst +++ b/bin/awscli/examples/deploy/batch-get-applications.rst @@ -1,26 +1,24 @@ **To get information about multiple applications** -This example displays information about multiple applications that are associated with the user's AWS account. +The following ``batch-get-applications`` example displays information about multiple applications that are associated with the user's AWS account. :: -Command:: - - aws deploy batch-get-applications --application-names WordPress_App MyOther_App + aws deploy batch-get-applications --application-names WordPress_App MyOther_App Output:: - { - "applicationsInfo": [ - { - "applicationName": "WordPress_App", - "applicationId": "d9dd6993-f171-44fa-a811-211e4EXAMPLE", - "createTime": 1407878168.078, - "linkedToGitHub": false - }, - { - "applicationName": "MyOther_App", - "applicationId": "8ca57519-31da-42b2-9194-8bb16EXAMPLE", - "createTime": 1407453571.63, - "linkedToGitHub": false - } - ] - } \ No newline at end of file + { + "applicationsInfo": [ + { + "applicationName": "WordPress_App", + "applicationId": "d9dd6993-f171-44fa-a811-211e4EXAMPLE", + "createTime": 1407878168.078, + "linkedToGitHub": false + }, + { + "applicationName": "MyOther_App", + "applicationId": "8ca57519-31da-42b2-9194-8bb16EXAMPLE", + "createTime": 1407453571.63, + "linkedToGitHub": false + } + ] + } diff --git a/bin/awscli/examples/deploy/batch-get-deployment-groups.rst b/bin/awscli/examples/deploy/batch-get-deployment-groups.rst new file mode 100755 index 00000000..6b9d1581 --- /dev/null +++ b/bin/awscli/examples/deploy/batch-get-deployment-groups.rst @@ -0,0 +1,86 @@ +**To retrieve information about one or more deployment groups** + +The following ``batch-get-deployment-groups`` example retrieves information about two of the deployment groups that are associated with the specified CodeDeploy application. :: + + aws deploy batch-get-deployment-groups \ + --application-name my-codedeploy-application \ + --deployment-group-names "[\"my-deployment-group-1\",\"my-deployment-group-2\"]" + +Output:: + + { + "deploymentGroupsInfo": [ + { + "deploymentStyle": { + "deploymentOption": "WITHOUT_TRAFFIC_CONTROL", + "deploymentType": "IN_PLACE" + }, + "autoRollbackConfiguration": { + "enabled": false + }, + "onPremisesTagSet": { + "onPremisesTagSetList": [] + }, + "serviceRoleArn": "arn:aws:iam::123456789012:role/CodeDeloyServiceRole", + "lastAttemptedDeployment": { + "endTime": 1556912366.415, + "status": "Failed", + "createTime": 1556912355.884, + "deploymentId": "d-A1B2C3111" + }, + "autoScalingGroups": [], + "deploymentGroupName": "my-deployment-group-1", + "ec2TagSet": { + "ec2TagSetList": [ + [ + { + "Type": "KEY_AND_VALUE", + "Value": "my-EC2-instance", + "Key": "Name" + } + ] + ] + }, + "deploymentGroupId": "a1b2c3d4-5678-90ab-cdef-11111example", + "triggerConfigurations": [], + "applicationName": "my-codedeploy-application", + "computePlatform": "Server", + "deploymentConfigName": "CodeDeployDefault.AllAtOnce" + }, + { + "deploymentStyle": { + "deploymentOption": "WITHOUT_TRAFFIC_CONTROL", + "deploymentType": "IN_PLACE" + }, + "autoRollbackConfiguration": { + "enabled": false + }, + "onPremisesTagSet": { + "onPremisesTagSetList": [] + }, + "serviceRoleArn": "arn:aws:iam::123456789012:role/CodeDeloyServiceRole", + "autoScalingGroups": [], + "deploymentGroupName": "my-deployment-group-2", + "ec2TagSet": { + "ec2TagSetList": [ + [ + { + "Type": "KEY_AND_VALUE", + "Value": "my-EC2-instance", + "Key": "Name" + } + ] + ] + }, + "deploymentGroupId": "a1b2c3d4-5678-90ab-cdef-22222example", + "triggerConfigurations": [], + "applicationName": "my-codedeploy-application", + "computePlatform": "Server", + "deploymentConfigName": "CodeDeployDefault.AllAtOnce" + } + ], + "errorMessage": "" + } + +For more information, see `BatchGetDeploymentGroups `_ in the *AWS CodeDeploy API Reference*. + \ No newline at end of file diff --git a/bin/awscli/examples/deploy/batch-get-deployment-targets.rst b/bin/awscli/examples/deploy/batch-get-deployment-targets.rst new file mode 100755 index 00000000..c245e5c0 --- /dev/null +++ b/bin/awscli/examples/deploy/batch-get-deployment-targets.rst @@ -0,0 +1,64 @@ +**To retrieve the targets associated with a deployment** + +The following ``batch-get-deployment-targets`` example returns information about one of the targets associated with the specified deployment. :: + + aws deploy batch-get-deployment-targets \ + --deployment-id "d-1A2B3C4D5" \ + --target-ids "i-01a2b3c4d5e6f1111" + +Output:: + + { + "deploymentTargets": [ + { + "deploymentTargetType": "InstanceTarget", + "instanceTarget": { + "lifecycleEvents": [ + { + "startTime": 1556918592.162, + "lifecycleEventName": "ApplicationStop", + "status": "Succeeded", + "endTime": 1556918592.247, + "diagnostics": { + "scriptName": "", + "errorCode": "Success", + "logTail": "", + "message": "Succeeded" + } + }, + { + "startTime": 1556918593.193, + "lifecycleEventName": "DownloadBundle", + "status": "Succeeded", + "endTime": 1556918593.981, + "diagnostics": { + "scriptName": "", + "errorCode": "Success", + "logTail": "", + "message": "Succeeded" + } + }, + { + "startTime": 1556918594.805, + "lifecycleEventName": "BeforeInstall", + "status": "Succeeded", + "endTime": 1556918681.807, + "diagnostics": { + "scriptName": "", + "errorCode": "Success", + "logTail": "", + "message": "Succeeded" + } + } + ], + "targetArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-01a2b3c4d5e6f1111", + "deploymentId": "d-1A2B3C4D5", + "lastUpdatedAt": 1556918687.504, + "targetId": "i-01a2b3c4d5e6f1111", + "status": "Succeeded" + } + } + ] + } + +For more information, see `BatchGetDeploymentTargets `_ in the *AWS CodeDeploy API Reference*. diff --git a/bin/awscli/examples/deploy/batch-get-deployments.rst b/bin/awscli/examples/deploy/batch-get-deployments.rst old mode 100644 new mode 100755 index 488faa4d..0e2d8fb8 --- a/bin/awscli/examples/deploy/batch-get-deployments.rst +++ b/bin/awscli/examples/deploy/batch-get-deployments.rst @@ -1,70 +1,68 @@ **To get information about multiple deployments** -This example displays information about multiple deployments that are associated with the user's AWS account. +The following ``batch-get-deployments`` example displays information about multiple deployments that are associated with the user's AWS account. :: -Command:: - - aws deploy batch-get-deployments --deployment-ids d-USUAELQEX d-QA4G4F9EX + aws deploy batch-get-deployments --deployment-ids d-A1B2C3111 d-A1B2C3222 Output:: - { - "deploymentsInfo": [ - { - "applicationName": "WordPress_App", - "status": "Failed", - "deploymentOverview": { - "Failed": 0, - "InProgress": 0, - "Skipped": 0, - "Succeeded": 1, - "Pending": 0 - }, - "deploymentConfigName": "CodeDeployDefault.OneAtATime", - "creator": "user", - "deploymentGroupName": "WordPress_DG", - "revision": { - "revisionType": "S3", - "s3Location": { - "bundleType": "zip", - "version": "uTecLusvCB_JqHFXtfUcyfV8bEXAMPLE", - "bucket": "CodeDeployDemoBucket", - "key": "WordPressApp.zip" - } - }, - "deploymentId": "d-QA4G4F9EX", - "createTime": 1408480721.9, - "completeTime": 1408480741.822 - }, - { - "applicationName": "MyOther_App", - "status": "Failed", - "deploymentOverview": { - "Failed": 1, - "InProgress": 0, - "Skipped": 0, - "Succeeded": 0, - "Pending": 0 - }, - "deploymentConfigName": "CodeDeployDefault.OneAtATime", - "creator": "user", - "errorInformation": { - "message": "Deployment failed: Constraint default violated: No hosts succeeded.", - "code": "HEALTH_CONSTRAINTS" - }, - "deploymentGroupName": "MyOther_DG", - "revision": { - "revisionType": "S3", - "s3Location": { - "bundleType": "zip", - "eTag": "\"dd56cfd59d434b8e768f9d77fEXAMPLE\"", - "bucket": "CodeDeployDemoBucket", - "key": "MyOtherApp.zip" - } - }, - "deploymentId": "d-USUAELQEX", - "createTime": 1409764576.589, - "completeTime": 1409764596.101 - } - ] - } + { + "deploymentsInfo": [ + { + "applicationName": "WordPress_App", + "status": "Failed", + "deploymentOverview": { + "Failed": 0, + "InProgress": 0, + "Skipped": 0, + "Succeeded": 1, + "Pending": 0 + }, + "deploymentConfigName": "CodeDeployDefault.OneAtATime", + "creator": "user", + "deploymentGroupName": "WordPress_DG", + "revision": { + "revisionType": "S3", + "s3Location": { + "bundleType": "zip", + "version": "uTecLusEXAMPLEFXtfUcyfV8bEXAMPLE", + "bucket": "CodeDeployDemoBucket", + "key": "WordPressApp.zip" + } + }, + "deploymentId": "d-A1B2C3111", + "createTime": 1408480721.9, + "completeTime": 1408480741.822 + }, + { + "applicationName": "MyOther_App", + "status": "Failed", + "deploymentOverview": { + "Failed": 1, + "InProgress": 0, + "Skipped": 0, + "Succeeded": 0, + "Pending": 0 + }, + "deploymentConfigName": "CodeDeployDefault.OneAtATime", + "creator": "user", + "errorInformation": { + "message": "Deployment failed: Constraint default violated: No hosts succeeded.", + "code": "HEALTH_CONSTRAINTS" + }, + "deploymentGroupName": "MyOther_DG", + "revision": { + "revisionType": "S3", + "s3Location": { + "bundleType": "zip", + "eTag": "\"dd56cfdEXAMPLE8e768f9d77fEXAMPLE\"", + "bucket": "CodeDeployDemoBucket", + "key": "MyOtherApp.zip" + } + }, + "deploymentId": "d-A1B2C3222", + "createTime": 1409764576.589, + "completeTime": 1409764596.101 + } + ] + } diff --git a/bin/awscli/examples/deploy/batch-get-on-premises-instances.rst b/bin/awscli/examples/deploy/batch-get-on-premises-instances.rst old mode 100644 new mode 100755 index 36558813..75306215 --- a/bin/awscli/examples/deploy/batch-get-on-premises-instances.rst +++ b/bin/awscli/examples/deploy/batch-get-on-premises-instances.rst @@ -1,38 +1,36 @@ **To get information about one or more on-premises instances** -This example gets information about two on-premises instances. +The follwoing ``batch-get-on-premises-instances`` example gets information about two on-premises instances. :: -Command:: - - aws deploy batch-get-on-premises-instances --instance-names AssetTag12010298EX AssetTag23121309EX + aws deploy batch-get-on-premises-instances --instance-names AssetTag12010298EX AssetTag23121309EX Output:: - { - "instanceInfos": [ - { - "iamUserArn": "arn:aws:iam::80398EXAMPLE:user/AWS/CodeDeploy/AssetTag12010298EX", - "tags": [ - { - "Value": "CodeDeployDemo-OnPrem", - "Key": "Name" - } - ], - "instanceName": "AssetTag12010298EX", - "registerTime": 1425579465.228, - "instanceArn": "arn:aws:codedeploy:us-west-2:80398EXAMPLE:instance/AssetTag12010298EX_4IwLNI2Alh" - }, - { - "iamUserArn": "arn:aws:iam::80398EXAMPLE:user/AWS/CodeDeploy/AssetTag23121309EX", - "tags": [ - { - "Value": "CodeDeployDemo-OnPrem", - "Key": "Name" - } - ], - "instanceName": "AssetTag23121309EX", - "registerTime": 1425595585.988, - "instanceArn": "arn:aws:codedeploy:us-west-2:80398EXAMPLE:instance/AssetTag23121309EX_PomUy64Was" - } - ] - } \ No newline at end of file + { + "instanceInfos": [ + { + "iamUserArn": "arn:aws:iam::123456789012:user/AWS/CodeDeploy/AssetTag12010298EX", + "tags": [ + { + "Value": "CodeDeployDemo-OnPrem", + "Key": "Name" + } + ], + "instanceName": "AssetTag12010298EX", + "registerTime": 1425579465.228, + "instanceArn": "arn:aws:codedeploy:us-west-2:123456789012:instance/AssetTag12010298EX_4IwLNI2Alh" + }, + { + "iamUserArn": "arn:aws:iam::123456789012:user/AWS/CodeDeploy/AssetTag23121309EX", + "tags": [ + { + "Value": "CodeDeployDemo-OnPrem", + "Key": "Name" + } + ], + "instanceName": "AssetTag23121309EX", + "registerTime": 1425595585.988, + "instanceArn": "arn:aws:codedeploy:us-west-2:80398EXAMPLE:instance/AssetTag23121309EX_PomUy64Was" + } + ] + } diff --git a/bin/awscli/examples/deploy/continue-deployment.rst b/bin/awscli/examples/deploy/continue-deployment.rst new file mode 100755 index 00000000..b416be35 --- /dev/null +++ b/bin/awscli/examples/deploy/continue-deployment.rst @@ -0,0 +1,11 @@ +**To start rerouting traffic without waiting for a specified wait time to elapse.** + +The following ``continue-deployment`` example starts rerouting traffic from instances in the original environment that are ready to start shifting traffic to instances in the replacement environment. :: + + aws deploy continue-deployment \ + --deployment-d "d-A1B2C3111" \ + --deployment-wait-type "READY_WAIT" + +This command produces no output. + +For more information, see `ContinueDeployment `_ in the *AWS CodeDeploy API Reference*. diff --git a/bin/awscli/examples/deploy/create-application.rst b/bin/awscli/examples/deploy/create-application.rst old mode 100644 new mode 100755 index dcd35376..a8df3396 --- a/bin/awscli/examples/deploy/create-application.rst +++ b/bin/awscli/examples/deploy/create-application.rst @@ -1,13 +1,11 @@ **To create an application** -This example creates an application and associates it with the user's AWS account. +The following ``create-application`` example creates an application and associates it with the user's AWS account. :: -Command:: + aws deploy create-application --application-name MyOther_App - aws deploy create-application --application-name MyOther_App - Output:: - { - "applicationId": "cfd3e1f1-5744-4aee-9251-eaa25EXAMPLE" - } \ No newline at end of file + { + "applicationId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" + } diff --git a/bin/awscli/examples/deploy/create-deployment-config.rst b/bin/awscli/examples/deploy/create-deployment-config.rst old mode 100644 new mode 100755 index 5650009f..10315aae --- a/bin/awscli/examples/deploy/create-deployment-config.rst +++ b/bin/awscli/examples/deploy/create-deployment-config.rst @@ -1,13 +1,13 @@ **To create a custom deployment configuration** -This example creates a custom deployment configuration and associates it with the user's AWS account. +The following ``create-deployment-config`` example creates a custom deployment configuration and associates it with the user's AWS account. :: -Command:: - - aws deploy create-deployment-config --deployment-config-name ThreeQuartersHealthy --minimum-healthy-hosts type=FLEET_PERCENT,value=75 + aws deploy create-deployment-config \ + --deployment-config-name ThreeQuartersHealthy \ + --minimum-healthy-hosts type=FLEET_PERCENT,value=75 Output:: - { - "deploymentConfigId": "bf6b390b-61d3-4f24-8911-a1664EXAMPLE" - } \ No newline at end of file + { + "deploymentConfigId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" + } \ No newline at end of file diff --git a/bin/awscli/examples/deploy/create-deployment-group.rst b/bin/awscli/examples/deploy/create-deployment-group.rst old mode 100644 new mode 100755 index b9049844..1a66b615 --- a/bin/awscli/examples/deploy/create-deployment-group.rst +++ b/bin/awscli/examples/deploy/create-deployment-group.rst @@ -1,13 +1,17 @@ **To create a deployment group** -This example creates a deployment group and associates it with the specified application and the user's AWS account. +The following ``create-deployment-group`` example creates a deployment group and associates it with the specified application and the user's AWS account. :: -Command:: - - aws deploy create-deployment-group --application-name WordPress_App --auto-scaling-groups CodeDeployDemo-ASG --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name WordPress_DG --ec2-tag-filters Key=Name,Value=CodeDeployDemo,Type=KEY_AND_VALUE --service-role-arn arn:aws:iam::80398EXAMPLE:role/CodeDeployDemoRole + aws deploy create-deployment-group \ + --application-name WordPress_App \ + --auto-scaling-groups CodeDeployDemo-ASG \ + --deployment-config-name CodeDeployDefault.OneAtATime \ + --deployment-group-name WordPress_DG \ + --ec2-tag-filters Key=Name,Value=CodeDeployDemo,Type=KEY_AND_VALUE \ + --service-role-arn arn:aws:iam::123456789012:role/CodeDeployDemoRole Output:: - { - "deploymentGroupId": "cdac3220-0e64-4d63-bb50-e68faEXAMPLE" - } \ No newline at end of file + { + "deploymentGroupId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" + } diff --git a/bin/awscli/examples/deploy/create-deployment.rst b/bin/awscli/examples/deploy/create-deployment.rst old mode 100644 new mode 100755 index d4864856..33244c7a --- a/bin/awscli/examples/deploy/create-deployment.rst +++ b/bin/awscli/examples/deploy/create-deployment.rst @@ -1,13 +1,16 @@ **To create a deployment** -This example creates a deployment and associates it with the user's AWS account. +The following ``create-deployment`` example creates a deployment and associates it with the user's AWS account. :: -Command:: - - aws deploy create-deployment --application-name WordPress_App --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name WordPress_DG --description "My demo deployment" --s3-location bucket=CodeDeployDemoBucket,bundleType=zip,eTag=dd56cfd59d434b8e768f9d77fEXAMPLE,key=WordPressApp.zip + aws deploy create-deployment \ + --application-name WordPress_App \ + --deployment-config-name CodeDeployDefault.OneAtATime \ + --deployment-group-name WordPress_DG \ + --description "My demo deployment" \ + --s3-location bucket=CodeDeployDemoBucket,bundleType=zip,eTag=dd56cfdEXAMPLE8e768f9d77fEXAMPLE,key=WordPressApp.zip Output:: - { - "deploymentId": "d-N65YI7Gex" - } \ No newline at end of file + { + "deploymentId": "d-A1B2C3111" + } diff --git a/bin/awscli/examples/deploy/delete-application.rst b/bin/awscli/examples/deploy/delete-application.rst old mode 100644 new mode 100755 index ebf8d1f5..65a0c488 --- a/bin/awscli/examples/deploy/delete-application.rst +++ b/bin/awscli/examples/deploy/delete-application.rst @@ -1,11 +1,7 @@ **To delete an application** -This example deletes an application that is associated with the user's AWS account. +The following ``delete-application`` example deletes the specified application that is associated with the user's AWS account. :: -Command:: + aws deploy delete-application --application-name WordPress_App - aws deploy delete-application --application-name WordPress_App - -Output:: - - None. \ No newline at end of file +This command produces no output. \ No newline at end of file diff --git a/bin/awscli/examples/deploy/delete-deployment-config.rst b/bin/awscli/examples/deploy/delete-deployment-config.rst old mode 100644 new mode 100755 index 7ab89bac..6b67bc87 --- a/bin/awscli/examples/deploy/delete-deployment-config.rst +++ b/bin/awscli/examples/deploy/delete-deployment-config.rst @@ -1,11 +1,7 @@ **To delete a deployment configuration** -This example deletes a custom deployment configuration that is associated with the user's AWS account. +The following ``delete-deployment-config`` example deletes a custom deployment configuration that is associated with the user's AWS account. :: -Command:: + aws deploy delete-deployment-config --deployment-config-name ThreeQuartersHealthy - aws deploy delete-deployment-config --deployment-config-name ThreeQuartersHealthy - -Output:: - - None. \ No newline at end of file +This command produces no output. diff --git a/bin/awscli/examples/deploy/delete-deployment-group.rst b/bin/awscli/examples/deploy/delete-deployment-group.rst old mode 100644 new mode 100755 index 74626844..065a945b --- a/bin/awscli/examples/deploy/delete-deployment-group.rst +++ b/bin/awscli/examples/deploy/delete-deployment-group.rst @@ -1,13 +1,13 @@ **To delete a deployment group** -This example deletes a deployment group that is associated with the specified application. +The following ``delete-deployment-group`` example deletes a deployment group that is associated with the specified application. :: -Command:: - - aws deploy delete-deployment-group --application-name WordPress_App --deployment-group-name WordPress_DG + aws deploy delete-deployment-group \ + --application-name WordPress_App \ + --deployment-group-name WordPress_DG Output:: - { - "hooksNotCleanedUp": [] - } \ No newline at end of file + { + "hooksNotCleanedUp": [] + } diff --git a/bin/awscli/examples/deploy/delete-git-hub-account-token.rst b/bin/awscli/examples/deploy/delete-git-hub-account-token.rst new file mode 100755 index 00000000..35a0ab0c --- /dev/null +++ b/bin/awscli/examples/deploy/delete-git-hub-account-token.rst @@ -0,0 +1,13 @@ +**To deletes a GitHub account connection** + +The following ``delete-git-hub-account-token`` example deletes the connection of the specified GitHub account. :: + + aws deploy delete-git-hub-account-token --token-name my-github-account + +Output:: + + { + "tokenName": "my-github-account" + } + +For more information, see `DeleteGitHubAccountToken `_ in the *AWS CodeDeploy API Reference*. diff --git a/bin/awscli/examples/deploy/deregister-on-premises-instance.rst b/bin/awscli/examples/deploy/deregister-on-premises-instance.rst old mode 100644 new mode 100755 index c2d6ac89..d94aa539 --- a/bin/awscli/examples/deploy/deregister-on-premises-instance.rst +++ b/bin/awscli/examples/deploy/deregister-on-premises-instance.rst @@ -1,11 +1,7 @@ **To deregister an on-premises instance** -This example deregisters an on-premises instance with AWS CodeDeploy, but it does not delete the IAM user associated with the instance, nor does it disassociate in AWS CodeDeploy the on-premises instance tags from the instance. It also does not uninstall the AWS CodeDeploy Agent from the instance nor remove the on-premises configuration file from the instance. +The following ``deregister-on-premises-instance`` example deregisters an on-premises instance with AWS CodeDeploy, but it does not delete the IAM user associated with the instance, nor does it disassociate in AWS CodeDeploy the on-premises instance tags from the instance. It also does not uninstall the AWS CodeDeploy Agent from the instance nor remove the on-premises configuration file from the instance. :: -Command:: + aws deploy deregister-on-premises-instance --instance-name AssetTag12010298EX - aws deploy deregister-on-premises-instance --instance-name AssetTag12010298EX - -Output:: - - This command produces no output. \ No newline at end of file +This command produces no output. diff --git a/bin/awscli/examples/deploy/deregister.rst b/bin/awscli/examples/deploy/deregister.rst old mode 100644 new mode 100755 index 086372ba..91215aa1 --- a/bin/awscli/examples/deploy/deregister.rst +++ b/bin/awscli/examples/deploy/deregister.rst @@ -1,17 +1,18 @@ **To deregister an on-premises instance** -This example deregisters an on-premises instance with AWS CodeDeploy. It does not delete the IAM user that is associated with the instance. It disassociates in AWS CodeDeploy the on-premises tags from the instance. It does not uninstall the AWS CodeDeploy Agent from the instance nor remove the on-premises configuration file from the instance. +The following ``deregister`` example deregisters an on-premises instance with AWS CodeDeploy. It does not delete the IAM user that is associated with the instance. It disassociates in AWS CodeDeploy the on-premises tags from the instance. It does not uninstall the AWS CodeDeploy Agent from the instance nor remove the on-premises configuration file from the instance. :: -Command:: - - aws deploy deregister --instance-name AssetTag12010298EX --no-delete-iam-user --region us-west-2 + aws deploy deregister \ + --instance-name AssetTag12010298EX \ + --no-delete-iam-user \ + --region us-west-2 Output:: - Retrieving on-premises instance information... DONE - IamUserArn: arn:aws:iam::80398EXAMPLE:user/AWS/CodeDeploy/AssetTag12010298EX - Tags: Key=Name,Value=CodeDeployDemo-OnPrem - Removing tags from the on-premises instance... DONE - Deregistering the on-premises instance... DONE - Run the following command on the on-premises instance to uninstall the codedeploy-agent: - aws deploy uninstall \ No newline at end of file + Retrieving on-premises instance information... DONE + IamUserArn: arn:aws:iam::80398EXAMPLE:user/AWS/CodeDeploy/AssetTag12010298EX + Tags: Key=Name,Value=CodeDeployDemo-OnPrem + Removing tags from the on-premises instance... DONE + Deregistering the on-premises instance... DONE + Run the following command on the on-premises instance to uninstall the codedeploy-agent: + aws deploy uninstall diff --git a/bin/awscli/examples/deploy/get-application-revision.rst b/bin/awscli/examples/deploy/get-application-revision.rst old mode 100644 new mode 100755 index fdb04f8a..671e16ad --- a/bin/awscli/examples/deploy/get-application-revision.rst +++ b/bin/awscli/examples/deploy/get-application-revision.rst @@ -1,29 +1,29 @@ **To get information about an application revision** -This example displays information about an application revision that is associated with the specified application. +The following ``get-application-revision`` example displays information about an application revision that is associated with the specified application. :: -Command:: - - aws deploy get-application-revision --application-name WordPress_App --s3-location bucket=CodeDeployDemoBucket,bundleType=zip,eTag=dd56cfd59d434b8e768f9d77fEXAMPLE,key=WordPressApp.zip + aws deploy get-application-revision \ + --application-name WordPress_App \ + --s3-location bucket=CodeDeployDemoBucket,bundleType=zip,eTag=dd56cfdEXAMPLE8e768f9d77fEXAMPLE,key=WordPressApp.zip Output:: - { - "applicationName": "WordPress_App", - "revisionInfo": { - "description": "Application revision registered by Deployment ID: d-N65I7GEX", - "registerTime": 1411076520.009, - "deploymentGroups": "WordPress_DG", - "lastUsedTime": 1411076520.009, - "firstUsedTime": 1411076520.009 - }, - "revision": { - "revisionType": "S3", - "s3Location": { - "bundleType": "zip", - "eTag": "dd56cfd59d434b8e768f9d77fEXAMPLE", - "bucket": "CodeDeployDemoBucket", - "key": "WordPressApp.zip" - } - } - } \ No newline at end of file + { + "applicationName": "WordPress_App", + "revisionInfo": { + "description": "Application revision registered by Deployment ID: d-A1B2C3111", + "registerTime": 1411076520.009, + "deploymentGroups": "WordPress_DG", + "lastUsedTime": 1411076520.009, + "firstUsedTime": 1411076520.009 + }, + "revision": { + "revisionType": "S3", + "s3Location": { + "bundleType": "zip", + "eTag": "dd56cfdEXAMPLE8e768f9d77fEXAMPLE", + "bucket": "CodeDeployDemoBucket", + "key": "WordPressApp.zip" + } + } + } diff --git a/bin/awscli/examples/deploy/get-application.rst b/bin/awscli/examples/deploy/get-application.rst old mode 100644 new mode 100755 index ef4ad90e..d645219b --- a/bin/awscli/examples/deploy/get-application.rst +++ b/bin/awscli/examples/deploy/get-application.rst @@ -1,18 +1,16 @@ **To get information about an application** -This example displays information about an application that is associated with the user's AWS account. +The following ``get-application`` example displays information about an application that is associated with the user's AWS account. :: -Command:: - - aws deploy get-application --application-name WordPress_App + aws deploy get-application --application-name WordPress_App Output:: - { - "application": { - "applicationName": "WordPress_App", - "applicationId": "d9dd6993-f171-44fa-a811-211e4EXAMPLE", - "createTime": 1407878168.078, - "linkedToGitHub": false - } - } \ No newline at end of file + { + "application": { + "applicationName": "WordPress_App", + "applicationId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", + "createTime": 1407878168.078, + "linkedToGitHub": false + } + } diff --git a/bin/awscli/examples/deploy/get-deployment-config.rst b/bin/awscli/examples/deploy/get-deployment-config.rst old mode 100644 new mode 100755 index d0ea9632..0e0c8269 --- a/bin/awscli/examples/deploy/get-deployment-config.rst +++ b/bin/awscli/examples/deploy/get-deployment-config.rst @@ -1,21 +1,19 @@ **To get information about a deployment configuration** -This example displays information about a deployment configuration that is associated with the user's AWS account. +The following ``get-deployment-config`` example displays information about a deployment configuration that is associated with the user's AWS account. :: -Command:: - - aws deploy get-deployment-config --deployment-config-name ThreeQuartersHealthy + aws deploy get-deployment-config --deployment-config-name ThreeQuartersHealthy Output:: - { - "deploymentConfigInfo": { - "deploymentConfigId": "bf6b390b-61d3-4f24-8911-a1664EXAMPLE", - "minimumHealthyHosts": { - "type": "FLEET_PERCENT", - "value": 75 - }, - "createTime": 1411081164.379, - "deploymentConfigName": "ThreeQuartersHealthy" - } - } \ No newline at end of file + { + "deploymentConfigInfo": { + "deploymentConfigId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", + "minimumHealthyHosts": { + "type": "FLEET_PERCENT", + "value": 75 + }, + "createTime": 1411081164.379, + "deploymentConfigName": "ThreeQuartersHealthy" + } + } diff --git a/bin/awscli/examples/deploy/get-deployment-group.rst b/bin/awscli/examples/deploy/get-deployment-group.rst old mode 100644 new mode 100755 index 75d84dea..fbb7853d --- a/bin/awscli/examples/deploy/get-deployment-group.rst +++ b/bin/awscli/examples/deploy/get-deployment-group.rst @@ -1,29 +1,29 @@ **To view information about a deployment group** -This example displays information about a deployment group that is associated with the specified application. +The following ``get-deployment-group`` example displays information about a deployment group that is associated with the specified application. :: -Command:: - - aws deploy get-deployment-group --application-name WordPress_App --deployment-group-name WordPress_DG + aws deploy get-deployment-group \ + --application-name WordPress_App \ + --deployment-group-name WordPress_DG Output:: - { - "deploymentGroupInfo": { - "applicationName": "WordPress_App", - "autoScalingGroups": [ - "CodeDeployDemo-ASG" - ], - "deploymentConfigName": "CodeDeployDefault.OneAtATime", - "ec2TagFilters": [ - { - "Type": "KEY_AND_VALUE", - "Value": "CodeDeployDemo", - "Key": "Name" - } - ], - "deploymentGroupId": "cdac3220-0e64-4d63-bb50-e68faEXAMPLE", - "serviceRoleArn": "arn:aws:iam::80398EXAMPLE:role/CodeDeployDemoRole", - "deploymentGroupName": "WordPress_DG" - } - } \ No newline at end of file + { + "deploymentGroupInfo": { + "applicationName": "WordPress_App", + "autoScalingGroups": [ + "CodeDeployDemo-ASG" + ], + "deploymentConfigName": "CodeDeployDefault.OneAtATime", + "ec2TagFilters": [ + { + "Type": "KEY_AND_VALUE", + "Value": "CodeDeployDemo", + "Key": "Name" + } + ], + "deploymentGroupId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", + "serviceRoleArn": "arn:aws:iam::123456789012:role/CodeDeployDemoRole", + "deploymentGroupName": "WordPress_DG" + } + } diff --git a/bin/awscli/examples/deploy/get-deployment-instance.rst b/bin/awscli/examples/deploy/get-deployment-instance.rst old mode 100644 new mode 100755 index a48cd886..bdc91ffe --- a/bin/awscli/examples/deploy/get-deployment-instance.rst +++ b/bin/awscli/examples/deploy/get-deployment-instance.rst @@ -1,60 +1,58 @@ **To get information about a deployment instance** -This example displays information about a deployment instance that is associated with the specified deployment. +The following ``get-deployment-instance`` example displays information about a deployment instance that is associated with the specified deployment. :: -Command:: - - aws deploy get-deployment-instance --deployment-id d-QA4G4F9EX --instance-id i-902e9fEX + aws deploy get-deployment-instance --deployment-id d-QA4G4F9EX --instance-id i-902e9fEX Output:: - { - "instanceSummary": { - "instanceId": "arn:aws:ec2:us-east-1:80398EXAMPLE:instance/i-902e9fEX", - "lifecycleEvents": [ - { - "status": "Succeeded", - "endTime": 1408480726.569, - "startTime": 1408480726.437, - "lifecycleEventName": "ApplicationStop" - }, - { - "status": "Succeeded", - "endTime": 1408480728.016, - "startTime": 1408480727.665, - "lifecycleEventName": "DownloadBundle" - }, - { - "status": "Succeeded", - "endTime": 1408480729.744, - "startTime": 1408480729.125, - "lifecycleEventName": "BeforeInstall" - }, - { - "status": "Succeeded", - "endTime": 1408480730.979, - "startTime": 1408480730.844, - "lifecycleEventName": "Install" - }, - { - "status": "Failed", - "endTime": 1408480732.603, - "startTime": 1408480732.1, - "lifecycleEventName": "AfterInstall" - }, - { - "status": "Skipped", - "endTime": 1408480732.606, - "lifecycleEventName": "ApplicationStart" - }, - { - "status": "Skipped", - "endTime": 1408480732.606, - "lifecycleEventName": "ValidateService" - } - ], - "deploymentId": "d-QA4G4F9EX", - "lastUpdatedAt": 1408480733.152, - "status": "Failed" - } - } \ No newline at end of file + { + "instanceSummary": { + "instanceId": "arn:aws:ec2:us-east-1:80398EXAMPLE:instance/i-902e9fEX", + "lifecycleEvents": [ + { + "status": "Succeeded", + "endTime": 1408480726.569, + "startTime": 1408480726.437, + "lifecycleEventName": "ApplicationStop" + }, + { + "status": "Succeeded", + "endTime": 1408480728.016, + "startTime": 1408480727.665, + "lifecycleEventName": "DownloadBundle" + }, + { + "status": "Succeeded", + "endTime": 1408480729.744, + "startTime": 1408480729.125, + "lifecycleEventName": "BeforeInstall" + }, + { + "status": "Succeeded", + "endTime": 1408480730.979, + "startTime": 1408480730.844, + "lifecycleEventName": "Install" + }, + { + "status": "Failed", + "endTime": 1408480732.603, + "startTime": 1408480732.1, + "lifecycleEventName": "AfterInstall" + }, + { + "status": "Skipped", + "endTime": 1408480732.606, + "lifecycleEventName": "ApplicationStart" + }, + { + "status": "Skipped", + "endTime": 1408480732.606, + "lifecycleEventName": "ValidateService" + } + ], + "deploymentId": "d-QA4G4F9EX", + "lastUpdatedAt": 1408480733.152, + "status": "Failed" + } + } diff --git a/bin/awscli/examples/deploy/get-deployment-target.rst b/bin/awscli/examples/deploy/get-deployment-target.rst new file mode 100755 index 00000000..81258b0f --- /dev/null +++ b/bin/awscli/examples/deploy/get-deployment-target.rst @@ -0,0 +1,110 @@ +**To return information about a deployment target** + +The following ``get-deployment-target`` example returns information about a deployment target that is associated with the specified deployment. :: + + aws deploy get-deployment-target \ + --deployment-id "d-A1B2C3111" \ + --target-id "i-a1b2c3d4e5f611111" + +Output:: + + { + "deploymentTarget": { + "deploymentTargetType": "InstanceTarget", + "instanceTarget": { + "lastUpdatedAt": 1556918687.504, + "targetId": "i-a1b2c3d4e5f611111", + "targetArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-a1b2c3d4e5f611111", + "status": "Succeeded", + "lifecycleEvents": [ + { + "status": "Succeeded", + "diagnostics": { + "errorCode": "Success", + "message": "Succeeded", + "logTail": "", + "scriptName": "" + }, + "lifecycleEventName": "ApplicationStop", + "startTime": 1556918592.162, + "endTime": 1556918592.247 + }, + { + "status": "Succeeded", + "diagnostics": { + "errorCode": "Success", + "message": "Succeeded", + "logTail": "", + "scriptName": "" + }, + "lifecycleEventName": "DownloadBundle", + "startTime": 1556918593.193, + "endTime": 1556918593.981 + }, + { + "status": "Succeeded", + "diagnostics": { + "errorCode": "Success", + "message": "Succeeded", + "logTail": "", + "scriptName": "" + }, + "lifecycleEventName": "BeforeInstall", + "startTime": 1556918594.805, + "endTime": 1556918681.807 + }, + { + "status": "Succeeded", + "diagnostics": { + "errorCode": "Success", + "message": "Succeeded", + "logTail": "", + "scriptName": "" + }, + "lifecycleEventName": "Install", + "startTime": 1556918682.696, + "endTime": 1556918683.005 + }, + { + "status": "Succeeded", + "diagnostics": { + "errorCode": "Success", + "message": "Succeeded", + "logTail": "", + "scriptName": "" + }, + "lifecycleEventName": "AfterInstall", + "startTime": 1556918684.135, + "endTime": 1556918684.216 + }, + { + "status": "Succeeded", + "diagnostics": { + "errorCode": "Success", + "message": "Succeeded", + "logTail": "", + "scriptName": "" + }, + "lifecycleEventName": "ApplicationStart", + "startTime": 1556918685.211, + "endTime": 1556918685.295 + }, + { + "status": "Succeeded", + "diagnostics": { + "errorCode": "Success", + "message": "Succeeded", + "logTail": "", + "scriptName": "" + }, + "lifecycleEventName": "ValidateService", + "startTime": 1556918686.65, + "endTime": 1556918686.747 + } + ], + "deploymentId": "d-A1B2C3111" + } + } + } + +For more information, see `GetDeploymentTarget `_ in the *AWS CodeDeploy API Reference*. diff --git a/bin/awscli/examples/deploy/get-deployment.rst b/bin/awscli/examples/deploy/get-deployment.rst old mode 100644 new mode 100755 index 3a512d13..8bdc8255 --- a/bin/awscli/examples/deploy/get-deployment.rst +++ b/bin/awscli/examples/deploy/get-deployment.rst @@ -1,40 +1,38 @@ **To get information about a deployment** -This example displays information about a deployment that is associated with the user's AWS account. +The following ``get-deployment`` example displays information about a deployment that is associated with the user's AWS account. :: -Command:: - - aws deploy get-deployment --deployment-id d-USUAELQEX + aws deploy get-deployment --deployment-id d-A1B2C3123 Output:: - { - "deploymentInfo": { - "applicationName": "WordPress_App", - "status": "Succeeded", - "deploymentOverview": { - "Failed": 0, - "InProgress": 0, - "Skipped": 0, - "Succeeded": 1, - "Pending": 0 - }, - "deploymentConfigName": "CodeDeployDefault.OneAtATime", - "creator": "user", - "description": "My WordPress app deployment", - "revision": { - "revisionType": "S3", - "s3Location": { - "bundleType": "zip", - "eTag": "\"dd56cfd59d434b8e768f9d77fEXAMPLE\"", - "bucket": "CodeDeployDemoBucket", - "key": "WordPressApp.zip" - } - }, - "deploymentId": "d-USUAELQEX", - "deploymentGroupName": "WordPress_DG", - "createTime": 1409764576.589, - "completeTime": 1409764596.101, - "ignoreApplicationStopFailures": false - } - } \ No newline at end of file + { + "deploymentInfo": { + "applicationName": "WordPress_App", + "status": "Succeeded", + "deploymentOverview": { + "Failed": 0, + "InProgress": 0, + "Skipped": 0, + "Succeeded": 1, + "Pending": 0 + }, + "deploymentConfigName": "CodeDeployDefault.OneAtATime", + "creator": "user", + "description": "My WordPress app deployment", + "revision": { + "revisionType": "S3", + "s3Location": { + "bundleType": "zip", + "eTag": "\"dd56cfdEXAMPLE8e768f9d77fEXAMPLE\"", + "bucket": "CodeDeployDemoBucket", + "key": "WordPressApp.zip" + } + }, + "deploymentId": "d-A1B2C3123", + "deploymentGroupName": "WordPress_DG", + "createTime": 1409764576.589, + "completeTime": 1409764596.101, + "ignoreApplicationStopFailures": false + } + } diff --git a/bin/awscli/examples/deploy/get-on-premises-instance.rst b/bin/awscli/examples/deploy/get-on-premises-instance.rst old mode 100644 new mode 100755 index 2461dc92..6b8520a8 --- a/bin/awscli/examples/deploy/get-on-premises-instance.rst +++ b/bin/awscli/examples/deploy/get-on-premises-instance.rst @@ -1,24 +1,22 @@ **To get information about an on-premises instance** -This example gets information about an on-premises instance. +The following ``get-on-premises-instance`` example retrieves information about the specified on-premises instance. :: -Command:: - - aws deploy get-on-premises-instance --instance-name AssetTag12010298EX + aws deploy get-on-premises-instance --instance-name AssetTag12010298EX Output:: - { - "instanceInfo": { - "iamUserArn": "arn:aws:iam::80398EXAMPLE:user/AWS/CodeDeploy/AssetTag12010298EX", - "tags": [ - { - "Value": "CodeDeployDemo-OnPrem", - "Key": "Name" - } - ], - "instanceName": "AssetTag12010298EX", - "registerTime": 1425579465.228, - "instanceArn": "arn:aws:codedeploy:us-east-1:80398EXAMPLE:instance/AssetTag12010298EX_4IwLNI2Alh" - } - } \ No newline at end of file + { + "instanceInfo": { + "iamUserArn": "arn:aws:iam::123456789012:user/AWS/CodeDeploy/AssetTag12010298EX", + "tags": [ + { + "Value": "CodeDeployDemo-OnPrem", + "Key": "Name" + } + ], + "instanceName": "AssetTag12010298EX", + "registerTime": 1425579465.228, + "instanceArn": "arn:aws:codedeploy:us-east-1:123456789012:instance/AssetTag12010298EX_4IwLNI2Alh" + } + } \ No newline at end of file diff --git a/bin/awscli/examples/deploy/install.rst b/bin/awscli/examples/deploy/install.rst old mode 100644 new mode 100755 index 9a015e0f..8696e5d2 --- a/bin/awscli/examples/deploy/install.rst +++ b/bin/awscli/examples/deploy/install.rst @@ -1,13 +1,14 @@ **To install an on-premises instance** -This example copies the on-premises configuration file from the specified location on the instance to the location on the instance that the AWS CodeDeploy Agent expects to find it. It also installs the AWS CodeDeploy Agent on the instance. It does not create any IAM user, nor register the on-premises instance with AWS CodeDeploy, nor associate any on-premises instance tags in AWS CodeDeploy for the instance. - -Command:: - - aws deploy install --override-config --config-file C:\temp\codedeploy.onpremises.yml --region us-west-2 --agent-installer s3://aws-codedeploy-us-west-2/latest/codedeploy-agent.msi +The following ``install`` example copies the on-premises configuration file from the specified location on the instance to the location on the instance that the AWS CodeDeploy Agent expects to find it. It also installs the AWS CodeDeploy Agent on the instance. It does not create any IAM user, nor register the on-premises instance with AWS CodeDeploy, nor associate any on-premises instance tags in AWS CodeDeploy for the instance. :: + aws deploy install \ + --override-config \ + --config-file C:\temp\codedeploy.onpremises.yml \ + --region us-west-2 \ + --agent-installer s3://aws-codedeploy-us-west-2/latest/codedeploy-agent.msi Output:: - Creating the on-premises instance configuration file... DONE - Installing the AWS CodeDeploy Agent... DONE \ No newline at end of file + Creating the on-premises instance configuration file... DONE + Installing the AWS CodeDeploy Agent... DONE diff --git a/bin/awscli/examples/deploy/list-application-revisions.rst b/bin/awscli/examples/deploy/list-application-revisions.rst old mode 100644 new mode 100755 index 81068a17..fc199fd1 --- a/bin/awscli/examples/deploy/list-application-revisions.rst +++ b/bin/awscli/examples/deploy/list-application-revisions.rst @@ -1,32 +1,36 @@ **To get information about application revisions** -This example displays information about all application revisions that are associated with the specified application. +The following ``list-application-revisions`` example displays information about all application revisions that are associated with the specified application. :: -Command:: - - aws deploy list-application-revisions --application-name WordPress_App --s-3-bucket CodeDeployDemoBucket --deployed exclude --s-3-key-prefix WordPress_ --sort-by lastUsedTime --sort-order descending + aws deploy list-application-revisions \ + --application-name WordPress_App \ + --s-3-bucket CodeDeployDemoBucket \ + --deployed exclude \ + --s-3-key-prefix WordPress_ \ + --sort-by lastUsedTime \ + --sort-order descending Output:: - { - "revisions": [ - { - "revisionType": "S3", - "s3Location": { - "version": "uTecLusvCB_JqHFXtfUcyfV8bEXAMPLE", - "bucket": "CodeDeployDemoBucket", - "key": "WordPress_App.zip", - "bundleType": "zip" - } - }, - { - "revisionType": "S3", - "s3Location": { - "version": "tMk.UxgDpMEVb7V187ZM6wVAWEXAMPLE", - "bucket": "CodeDeployDemoBucket", - "key": "WordPress_App_2-0.zip", - "bundleType": "zip" - } - } - ] - } + { + "revisions": [ + { + "revisionType": "S3", + "s3Location": { + "version": "uTecLusvCB_JqHFXtfUcyfV8bEXAMPLE", + "bucket": "CodeDeployDemoBucket", + "key": "WordPress_App.zip", + "bundleType": "zip" + } + }, + { + "revisionType": "S3", + "s3Location": { + "version": "tMk.UxgDpMEVb7V187ZM6wVAWEXAMPLE", + "bucket": "CodeDeployDemoBucket", + "key": "WordPress_App_2-0.zip", + "bundleType": "zip" + } + } + ] + } diff --git a/bin/awscli/examples/deploy/list-applications.rst b/bin/awscli/examples/deploy/list-applications.rst old mode 100644 new mode 100755 index cf8c7a7c..fb169bdc --- a/bin/awscli/examples/deploy/list-applications.rst +++ b/bin/awscli/examples/deploy/list-applications.rst @@ -1,16 +1,14 @@ **To get information about applications** -This example displays information about all applications that are associated with the user's AWS account. +The following ``list-applications`` example displays information about all applications that are associated with the user's AWS account. :: -Command:: - - aws deploy list-applications + aws deploy list-applications Output:: - { - "applications": [ - "WordPress_App", - "MyOther_App" - ] - } \ No newline at end of file + { + "applications": [ + "WordPress_App", + "MyOther_App" + ] + } diff --git a/bin/awscli/examples/deploy/list-deployment-configs.rst b/bin/awscli/examples/deploy/list-deployment-configs.rst old mode 100644 new mode 100755 index f7e99ab3..0fbb6cbd --- a/bin/awscli/examples/deploy/list-deployment-configs.rst +++ b/bin/awscli/examples/deploy/list-deployment-configs.rst @@ -1,18 +1,16 @@ **To get information about deployment configurations** -This example displays information about all deployment configurations that are associated with the user's AWS account. +The following ``list-deployment-configs`` example displays information about all deployment configurations that are associated with the user's AWS account. :: -Command:: - - aws deploy list-deployment-configs + aws deploy list-deployment-configs Output:: - { - "deploymentConfigsList": [ - "ThreeQuartersHealthy", - "CodeDeployDefault.AllAtOnce", - "CodeDeployDefault.HalfAtATime", - "CodeDeployDefault.OneAtATime" - ] - } \ No newline at end of file + { + "deploymentConfigsList": [ + "ThreeQuartersHealthy", + "CodeDeployDefault.AllAtOnce", + "CodeDeployDefault.HalfAtATime", + "CodeDeployDefault.OneAtATime" + ] + } diff --git a/bin/awscli/examples/deploy/list-deployment-groups.rst b/bin/awscli/examples/deploy/list-deployment-groups.rst old mode 100644 new mode 100755 index de612e0b..9b19b319 --- a/bin/awscli/examples/deploy/list-deployment-groups.rst +++ b/bin/awscli/examples/deploy/list-deployment-groups.rst @@ -1,17 +1,15 @@ **To get information about deployment groups** -This example displays information about all deployment groups that are associated with the specified application. +The following ``list-deployment-groups`` example displays information about all deployment groups that are associated with the specified application. :: -Command:: - - aws deploy list-deployment-groups --application-name WordPress_App + aws deploy list-deployment-groups --application-name WordPress_App Output:: - { - "applicationName": "WordPress_App", - "deploymentGroups": [ - "WordPress_DG", - "WordPress_Beta_DG" - ] - } \ No newline at end of file + { + "applicationName": "WordPress_App", + "deploymentGroups": [ + "WordPress_DG", + "WordPress_Beta_DG" + ] + } diff --git a/bin/awscli/examples/deploy/list-deployment-instances.rst b/bin/awscli/examples/deploy/list-deployment-instances.rst old mode 100644 new mode 100755 index a576abe9..f78e457f --- a/bin/awscli/examples/deploy/list-deployment-instances.rst +++ b/bin/awscli/examples/deploy/list-deployment-instances.rst @@ -1,16 +1,16 @@ **To get information about deployment instances** -This example displays information about all deployment instances that are associated with the specified deployment. +The following ``list-deployment-instances`` example displays information about all deployment instances that are associated with the specified deployment. :: -Command:: - - aws deploy list-deployment-instances --deployment-id d-9DI6I4EX --instance-status-filter Succeeded + aws deploy list-deployment-instances \ + --deployment-id d-A1B2C3111 \ + --instance-status-filter Succeeded Output:: - { - "instancesList": [ - "i-8c4490EX", - "i-7d5389EX" - ] - } \ No newline at end of file + { + "instancesList": [ + "i-EXAMPLE11", + "i-EXAMPLE22" + ] + } diff --git a/bin/awscli/examples/deploy/list-deployment-targets.rst b/bin/awscli/examples/deploy/list-deployment-targets.rst new file mode 100755 index 00000000..ee26a7eb --- /dev/null +++ b/bin/awscli/examples/deploy/list-deployment-targets.rst @@ -0,0 +1,17 @@ +**To retrieve a list of target IDs that are associated with a deployment** + +The following ``list-deployment-targets`` example retrieves a list of target IDs associated with deployments that have a status of "Failed" or "InProgress." :: + + aws deploy list-deployment-targets \ + --deployment-id "d-A1B2C3111" \ + --target-filters "{\"TargetStatus\":[\"Failed\",\"InProgress\"]}" + +Output:: + + { + "targetIds": [ + "i-0f1558aaf90e5f1f9" + ] + } + +For more information, see `ListDeploymentTargets `_ in the *AWS CodeDeploy API Reference*. diff --git a/bin/awscli/examples/deploy/list-deployments.rst b/bin/awscli/examples/deploy/list-deployments.rst old mode 100644 new mode 100755 index 54077fac..7cf538a1 --- a/bin/awscli/examples/deploy/list-deployments.rst +++ b/bin/awscli/examples/deploy/list-deployments.rst @@ -1,17 +1,19 @@ **To get information about deployments** -This example displays information about all deployments that are associated with the specified application and deployment group. +The follwoing ``list-deployments`` example displays information about all deployments that are associated with the specified application and deployment group. :: -Command:: - - aws deploy list-deployments --application-name WordPress_App --create-time-range start=2014-08-19T00:00:00,end=2014-08-20T00:00:00 --deployment-group-name WordPress_DG --include-only-statuses Failed + aws deploy list-deployments \ + --application-name WordPress_App \ + --create-time-range start=2014-08-19T00:00:00,end=2014-08-20T00:00:00 \ + --deployment-group-name WordPress_DG \ + --include-only-statuses Failed Output:: - { - "deployments": [ - "d-QA4G4F9EX", - "d-1MVNYOEEX", - "d-WEWRE8BEX" - ] - } \ No newline at end of file + { + "deployments": [ + "d-EXAMPLE11", + "d-EXAMPLE22", + "d-EXAMPLE33" + ] + } \ No newline at end of file diff --git a/bin/awscli/examples/deploy/list-git-hub-account-token-names.rst b/bin/awscli/examples/deploy/list-git-hub-account-token-names.rst new file mode 100755 index 00000000..dc7aa2d0 --- /dev/null +++ b/bin/awscli/examples/deploy/list-git-hub-account-token-names.rst @@ -0,0 +1,17 @@ +**To lists the names of stored connections to GitHub accounts** + +The following ``list-git-hub-account-token-names`` example lists the names of the stored connections to GitHub accounts for the current AWS user. :: + + aws deploy list-git-hub-account-token-names + +Output:: + + { + "tokenNameList": [ + "my-first-token", + "my-second-token", + "my-third-token" + ] + } + +For more information, see `ListGitHubAccountTokenNames `_ in the *AWS CodeDeploy API Reference*. diff --git a/bin/awscli/examples/deploy/list-on-premises-instances.rst b/bin/awscli/examples/deploy/list-on-premises-instances.rst old mode 100644 new mode 100755 index 5c2a371c..3b5a4548 --- a/bin/awscli/examples/deploy/list-on-premises-instances.rst +++ b/bin/awscli/examples/deploy/list-on-premises-instances.rst @@ -1,15 +1,15 @@ **To get information about one or more on-premises instances** -This example gets a list of available on-premises instance names for instances that are registered in AWS CodeDeploy and also have the specified on-premises instance tag associated in AWS CodeDeploy with the instance. +The following ``list-on-premises-instances`` example retrieves a list of available on-premises instance names for instances that are registered in AWS CodeDeploy and also have the specified on-premises instance tag associated in AWS CodeDeploy with the instance. :: -Command:: - - aws deploy list-on-premises-instances --registration-status Registered --tag-filters Key=Name,Value=CodeDeployDemo-OnPrem,Type=KEY_AND_VALUE + aws deploy list-on-premises-instances \ + --registration-status Registered \ + --tag-filters Key=Name,Value=CodeDeployDemo-OnPrem,Type=KEY_AND_VALUE Output:: - { - "instanceNames": [ - "AssetTag12010298EX" - ] - } \ No newline at end of file + { + "instanceNames": [ + "AssetTag12010298EX" + ] + } diff --git a/bin/awscli/examples/deploy/push.rst b/bin/awscli/examples/deploy/push.rst old mode 100644 new mode 100755 index 01409408..ea30dc58 --- a/bin/awscli/examples/deploy/push.rst +++ b/bin/awscli/examples/deploy/push.rst @@ -1,14 +1,15 @@ **To bundle and deploy an AWS CodeDeploy compatible application revision to Amazon S3** -This example bundles and deploys an application revision to Amazon S3 and then associates the application revision with the specified application. +The following ``push`` example bundles and deploys an application revision to Amazon S3 and then associates the application revision with the specified application. :: -Use the output of the push command to create a deployment that uses the uploaded application revision. + aws deploy push \ + --application-name WordPress_App \ + --description "This is my deployment" \ + --ignore-hidden-files \ + --s3-location s3://CodeDeployDemoBucket/WordPressApp.zip \ + --source /tmp/MyLocalDeploymentFolder/ -Command:: +The output describes how to use the ``create-deployment`` command to create a deployment that uses the uploaded application revision. :: - aws deploy push --application-name WordPress_App --description "This is my deployment" --ignore-hidden-files --s3-location s3://CodeDeployDemoBucket/WordPressApp.zip --source /tmp/MyLocalDeploymentFolder/ - -Output:: - - To deploy with this revision, run: - aws deploy create-deployment --application-name WordPress_App --deployment-config-name --deployment-group-name --s3-location bucket=CodeDeployDemoBucket,key=WordPressApp.zip,bundleType=zip,eTag="cecc9b8a08eac650a6e71fdb88EXAMPLE",version=LFsJAUd_2J4VWXfvKtvi79L8EXAMPLE \ No newline at end of file + To deploy with this revision, run: + aws deploy create-deployment --application-name WordPress_App --deployment-config-name --deployment-group-name --s3-location bucket=CodeDeployDemoBucket,key=WordPressApp.zip,bundleType=zip,eTag="cecc9b8EXAMPLE50a6e71fdb88EXAMPLE",version=LFsJAUdEXAMPLEfvKtvi79L8EXAMPLE \ No newline at end of file diff --git a/bin/awscli/examples/deploy/register-application-revision.rst b/bin/awscli/examples/deploy/register-application-revision.rst old mode 100644 new mode 100755 index 2fb79bee..49a03130 --- a/bin/awscli/examples/deploy/register-application-revision.rst +++ b/bin/awscli/examples/deploy/register-application-revision.rst @@ -1,11 +1,10 @@ **To register information about an already-uploaded application revision** -This example registers information about an already-uploaded application revision in Amazon S3 with AWS CodeDeploy. +The following ``register-application-revision`` example registers information about an already-uploaded application revision stored in Amazon S3 with AWS CodeDeploy. :: -Command:: + aws deploy register-application-revision \ + --application-name WordPress_App \ + --description "Revised WordPress application" \ + --s3-location bucket=CodeDeployDemoBucket,key=RevisedWordPressApp.zip,bundleType=zip,eTag=cecc9b8a08eac650a6e71fdb88EXAMPLE - aws deploy register-application-revision --application-name WordPress_App --description "Revised WordPress application" --s3-location bucket=CodeDeployDemoBucket,key=RevisedWordPressApp.zip,bundleType=zip,eTag=cecc9b8a08eac650a6e71fdb88EXAMPLE - -Output:: - - None. \ No newline at end of file +This command produces no output. diff --git a/bin/awscli/examples/deploy/register-on-premises-instance.rst b/bin/awscli/examples/deploy/register-on-premises-instance.rst old mode 100644 new mode 100755 index b22a3498..a2e36cfa --- a/bin/awscli/examples/deploy/register-on-premises-instance.rst +++ b/bin/awscli/examples/deploy/register-on-premises-instance.rst @@ -1,11 +1,9 @@ **To register an on-premises instance** -This example registers an on-premises instance with AWS CodeDeploy. It does not create the specified IAM user, nor does it associate in AWS CodeDeploy any on-premises instances tags with the registered instance. +The following ``register-on-premises-instance`` example registers an on-premises instance with AWS CodeDeploy. It does not create the specified IAM user, nor does it associate in AWS CodeDeploy any on-premises instances tags with the registered instance. :: -Command:: + aws deploy register-on-premises-instance \ + --instance-name AssetTag12010298EX \ + --iam-user-arn arn:aws:iam::80398EXAMPLE:user/CodeDeployDemoUser-OnPrem - aws deploy register-on-premises-instance --instance-name AssetTag12010298EX --iam-user-arn arn:aws:iam::80398EXAMPLE:user/CodeDeployDemoUser-OnPrem - -Output:: - - This command produces no output. \ No newline at end of file +This command produces no output. diff --git a/bin/awscli/examples/deploy/register.rst b/bin/awscli/examples/deploy/register.rst old mode 100644 new mode 100755 index 5982ca0f..5bea0080 --- a/bin/awscli/examples/deploy/register.rst +++ b/bin/awscli/examples/deploy/register.rst @@ -1,14 +1,16 @@ **To register an on-premises instance** -This example registers an on-premises instance with AWS CodeDeploy, associates in AWS CodeDeploy the specified on-premises instance tag with the registered instance, and creates an on-premises configuration file that can be copied to the instance. It does not create the IAM user, nor does it install the AWS CodeDeploy Agent on the instance. +The following ``register`` example registers an on-premises instance with AWS CodeDeploy, associates in AWS CodeDeploy the specified on-premises instance tag with the registered instance, and creates an on-premises configuration file that can be copied to the instance. It does not create the IAM user, nor does it install the AWS CodeDeploy Agent on the instance. :: -Command:: - - aws deploy register --instance-name AssetTag12010298EX --iam-user-arn arn:aws:iam::80398EXAMPLE:user/CodeDeployUser-OnPrem --tags Key=Name,Value=CodeDeployDemo-OnPrem --region us-west-2 + aws deploy register \ + --instance-name AssetTag12010298EX \ + --iam-user-arn arn:aws:iam::80398EXAMPLE:user/CodeDeployUser-OnPrem \ + --tags Key=Name,Value=CodeDeployDemo-OnPrem \ + --region us-west-2 Output:: - Registering the on-premises instance... DONE - Adding tags to the on-premises instance... DONE - Copy the on-premises configuration file named codedeploy.onpremises.yml to the on-premises instance, and run the following command on the on-premises instance to install and configure the AWS CodeDeploy Agent: - aws deploy install --config-file codedeploy.onpremises.yml \ No newline at end of file + Registering the on-premises instance... DONE + Adding tags to the on-premises instance... DONE + Copy the on-premises configuration file named codedeploy.onpremises.yml to the on-premises instance, and run the following command on the on-premises instance to install and configure the AWS CodeDeploy Agent: + aws deploy install --config-file codedeploy.onpremises.yml diff --git a/bin/awscli/examples/deploy/remove-tags-from-on-premises-instances.rst b/bin/awscli/examples/deploy/remove-tags-from-on-premises-instances.rst old mode 100644 new mode 100755 index 75cdf206..a7ab7659 --- a/bin/awscli/examples/deploy/remove-tags-from-on-premises-instances.rst +++ b/bin/awscli/examples/deploy/remove-tags-from-on-premises-instances.rst @@ -1,11 +1,9 @@ **To remove tags from one or more on-premises instances** -This example disassociates the same on-premises tag in AWS CodeDeploy from the two specified on-premises instances. It does not deregister the on-premises instances in AWS CodeDeploy, nor uninstall the AWS CodeDeploy Agent from the instance, nor remove the on-premises configuration file from the instances, nor delete the IAM users that are associated with the instances. +The following ``remove-tags-from-on-premises-instances`` example disassociates the specified on-premises tags in AWS CodeDeploy from on-premises instances. It does not deregister the on-premises instances in AWS CodeDeploy, nor uninstall the AWS CodeDeploy Agent from the instance, nor remove the on-premises configuration file from the instances, nor delete the IAM users that are associated with the instances. :: -Command:: + aws deploy remove-tags-from-on-premises-instances \ + --instance-names AssetTag12010298EX AssetTag23121309EX \ + --tags Key=Name,Value=CodeDeployDemo-OnPrem - aws deploy remove-tags-from-on-premises-instances --instance-names AssetTag12010298EX AssetTag23121309EX --tags Key=Name,Value=CodeDeployDemo-OnPrem - -Output:: - - This command produces no output. \ No newline at end of file +This command produces no output. diff --git a/bin/awscli/examples/deploy/stop-deployment.rst b/bin/awscli/examples/deploy/stop-deployment.rst old mode 100644 new mode 100755 index 1079e618..ad13a7fc --- a/bin/awscli/examples/deploy/stop-deployment.rst +++ b/bin/awscli/examples/deploy/stop-deployment.rst @@ -1,14 +1,12 @@ **To attempt to stop a deployment** -This example attempts to stop an in-progress deployment that is associated with the user's AWS account. +The following ``stop-deployment`` example attempts to stop an in-progress deployment that is associated with the user's AWS account. -Command:: - - aws deploy stop-deployment --deployment-id d-8365D4OEX + aws deploy stop-deployment --deployment-id d-A1B2C3111 Output:: - { - "status": "Succeeded", - "statusMessage": "No more commands will be scheduled for execution in the deployment instances" - } \ No newline at end of file + { + "status": "Succeeded", + "statusMessage": "No more commands will be scheduled for execution in the deployment instances" + } diff --git a/bin/awscli/examples/deploy/uninstall.rst b/bin/awscli/examples/deploy/uninstall.rst old mode 100644 new mode 100755 index 649f4702..b53da214 --- a/bin/awscli/examples/deploy/uninstall.rst +++ b/bin/awscli/examples/deploy/uninstall.rst @@ -1,11 +1,7 @@ **To uninstall an on-premises instance** -This example uninstalls the AWS CodeDeploy Agent from the on-premises instance, and it removes the on-premises configuration file from the instance. It does not deregister the instance in AWS CodeDeploy, nor disassociate any on-premises instance tags in AWS CodeDeploy from the instance, nor delete the IAM user that is associated with the instance. +The following ``uninstall`` example uninstalls the AWS CodeDeploy Agent from the on-premises instance and removes the on-premises configuration file from the instance. It doesn't deregister the instance in AWS CodeDeploy, nor disassociate any on-premises instance tags in AWS CodeDeploy from the instance, nor delete the IAM user that is associated with the instance. :: -Command:: + aws deploy uninstall - aws deploy uninstall - -Output:: - - This command produces no output. \ No newline at end of file +This command produces no output. diff --git a/bin/awscli/examples/deploy/update-application.rst b/bin/awscli/examples/deploy/update-application.rst old mode 100644 new mode 100755 index e5398efe..72282426 --- a/bin/awscli/examples/deploy/update-application.rst +++ b/bin/awscli/examples/deploy/update-application.rst @@ -1,11 +1,9 @@ -**To change information about an application** +**To change details of an application** -This example changes the name of an application that is associated with the user's AWS account. +The following ``update-application`` example changes the name of an application that is associated with the user's AWS account. :: -Command:: + aws deploy update-application \ + --application-name WordPress_App \ + --new-application-name My_WordPress_App - aws deploy update-application --application-name WordPress_App --new-application-name My_WordPress_App - -Output:: - - None. \ No newline at end of file +This command produces no output. diff --git a/bin/awscli/examples/deploy/update-deployment-group.rst b/bin/awscli/examples/deploy/update-deployment-group.rst old mode 100644 new mode 100755 index 3d598887..5c0861f3 --- a/bin/awscli/examples/deploy/update-deployment-group.rst +++ b/bin/awscli/examples/deploy/update-deployment-group.rst @@ -1,11 +1,14 @@ **To change information about a deployment group** -This example changes the settings of a deployment group that is associated with the specified application. - -Command:: - - aws deploy update-deployment-group --application-name WordPress_App --auto-scaling-groups My_CodeDeployDemo_ASG --current-deployment-group-name WordPress_DG --deployment-config-name CodeDeployDefault.AllAtOnce --ec2-tag-filters Key=Name,Type=KEY_AND_VALUE,Value=My_CodeDeployDemo --new-deployment-group-name My_WordPress_DepGroup --service-role-arn arn:aws:iam::80398EXAMPLE:role/CodeDeployDemo-2 - -Output:: - - None. \ No newline at end of file +The following ``update-deployment-group`` example changes the settings of a deployment group that is associated with the specified application. :: + + aws deploy update-deployment-group \ + --application-name WordPress_App \ + --auto-scaling-groups My_CodeDeployDemo_ASG \ + --current-deployment-group-name WordPress_DG \ + --deployment-config-name CodeDeployDefault.AllAtOnce \ + --ec2-tag-filters Key=Name,Type=KEY_AND_VALUE,Value=My_CodeDeployDemo \ + --new-deployment-group-name My_WordPress_DepGroup \ + --service-role-arn arn:aws:iam::80398EXAMPLE:role/CodeDeployDemo-2 + +This command produces no output. diff --git a/bin/awscli/examples/deploy/wait/deployment-successful.rst b/bin/awscli/examples/deploy/wait/deployment-successful.rst new file mode 100755 index 00000000..fe841a89 --- /dev/null +++ b/bin/awscli/examples/deploy/wait/deployment-successful.rst @@ -0,0 +1,7 @@ +**To pause script operations until a deployment is flagged as successful** + +The following ``wait deployment-successful`` example pauses until the specified deployment completes successfully. :: + + aws deploy wait deployment-successful --deployment-id d-A1B2C3111 + +This command produces no output, but pauses operation until the condition is met. It generates an error if the condition is not met after 120 checks that are 15 seconds apart. diff --git a/bin/awscli/examples/directconnect/allocate-hosted-connection.rst b/bin/awscli/examples/directconnect/allocate-hosted-connection.rst index 39dbf355..4c3c4377 100644 --- a/bin/awscli/examples/directconnect/allocate-hosted-connection.rst +++ b/bin/awscli/examples/directconnect/allocate-hosted-connection.rst @@ -1,21 +1,24 @@ -**To create a hosted connection on an interconnect** - -The following example creates a hosted connection on the specified interconnect. - -Command:: - - aws directconnect allocate-hosted-conection --bandwidth 500Mbps --connection-name mydcinterconnect --owner-account 123456789012 --connection-id dxcon-fgktov66 --vlan 101 - -Output:: - - { - "partnerName": "TIVIT", - "vlan": 101, - "ownerAccount": "123456789012", - "connectionId": "dxcon-ffzc51m1", - "connectionState": "ordering", - "bandwidth": "500Mbps", - "location": "TIVIT", - "connectionName": "mydcinterconnect", - "region": "sa-east-1" - } \ No newline at end of file +**To create a hosted connection on an interconnect** + +The following ``allocate-hosted-connection`` example creates a hosted connection on the specified interconnect. :: + + aws directconnect allocate-hosted-connection \ + --bandwidth 500Mbps \ + --connection-name mydcinterconnect \ + --owner-account 123456789012 + -connection-id dxcon-fgktov66 + -vlan 101 + +Output:: + + { + "partnerName": "TIVIT", + "vlan": 101, + "ownerAccount": "123456789012", + "connectionId": "dxcon-ffzc51m1", + "connectionState": "ordering", + "bandwidth": "500Mbps", + "location": "TIVIT", + "connectionName": "mydcinterconnect", + "region": "sa-east-1" + } diff --git a/bin/awscli/examples/directconnect/delete-direct-connect-gateway-association.rst b/bin/awscli/examples/directconnect/delete-direct-connect-gateway-association.rst index 003717bc..081b60af 100644 --- a/bin/awscli/examples/directconnect/delete-direct-connect-gateway-association.rst +++ b/bin/awscli/examples/directconnect/delete-direct-connect-gateway-association.rst @@ -1,19 +1,29 @@ -**To delete a Direct Connect gateway association** - -The following example disassociates virtual private gateway ``vgw-6efe725e`` from Direct Connect gateway ``5f294f92-bafb-4011-916d-9b0bexample``. - -Command:: - - aws directconnect delete-direct-connect-gateway-association --direct-connect-gateway-id 5f294f92-bafb-4011-916d-9b0bexample --virtual-gateway-id vgw-6efe725e - -Output:: - - { - "directConnectGatewayAssociation": { - "associationState": "disassociating", - "virtualGatewayOwnerAccount": "123456789012", - "directConnectGatewayId": "5f294f92-bafb-4011-916d-9b0bexample", - "virtualGatewayId": "vgw-6efe725e", - "virtualGatewayRegion": "us-east-2" - } - } \ No newline at end of file +**To delete a Direct Connect gateway association** + +The following ``delete-direct-connect-gateway-association`` example deletes the Direct Connect gateway association with a transit gateway that has the specified association ID. :: + + aws directconnect delete-direct-connect-gateway-association --association-id be85116d-46eb-4b43-a27a-da0c2ad648de + +Output:: + + { + "directConnectGatewayAssociation": { + "directConnectGatewayId": "11460968-4ac1-4fd3-bdb2-00599EXAMPlE", + "directConnectGatewayOwnerAccount": "123456789012", + "associationState": "disassociating", + "associatedGateway": { + "id": "tgw-095b3b0b54EXAMPLE", + "type": "transitGateway", + "ownerAccount": "123456789012", + "region": "us-east-1" + }, + "associationId": " be85116d-46eb-4b43-a27a-da0c2ad648deEXAMPLE ", + "allowedPrefixesToDirectConnectGateway": [ + { + "cidr": "192.0.1.0/28" + } + ] + } + } + +For more information, see `Associating and Disassociating Transit Gateways `_ in the *AWS Direct Connect User Guide*. diff --git a/bin/awscli/examples/dlm/create-default-role.rst b/bin/awscli/examples/dlm/create-default-role.rst index 404b8f6c..b218c681 100644 --- a/bin/awscli/examples/dlm/create-default-role.rst +++ b/bin/awscli/examples/dlm/create-default-role.rst @@ -1,5 +1,54 @@ -**To create the required IAM role for Amazon DLM +**To create the required IAM role for Amazon DLM** -Amazon DLM creates the **AWSDataLifecycleManagerDefaultRole** role the first time that you create a lifecycle policy using the AWS Management Console. If you are not using the console, you can use the following command to create this role.:: +Amazon DLM creates the **AWSDataLifecycleManagerDefaultRole** role the first time that you create a lifecycle policy using the AWS Management Console. If you are not using the console, you can use the following command to create this role. :: - aws dlm create-default-role + aws dlm create-default-role + +Output:: + + { + "RolePolicy": { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": [ + "ec2:CreateSnapshot", + "ec2:CreateSnapshots", + "ec2:DeleteSnapshot", + "ec2:DescribeInstances", + "ec2:DescribeVolumes", + "ec2:DescribeSnapshots" + ], + "Resource": "*" + }, + { + "Effect": "Allow", + "Action": [ + "ec2:CreateTags" + ], + "Resource": "arn:aws:ec2:*::snapshot/*" + } + ] + }, + "Role": { + "Path": "/", + "RoleName": "AWSDataLifecycleManagerDefaultRole", + "RoleId": "AROA012345678901EXAMPLE", + "Arn": "arn:aws:iam::123456789012:role/AWSDataLifecycleManagerDefaultRole", + "CreateDate": "2019-05-29T17:47:18Z", + "AssumeRolePolicyDocument": { + "Version": "2012-10-17", + "Statement": [ + { + "Sid": "", + "Effect": "Allow", + "Principal": { + "Service": "dlm.amazonaws.com" + }, + "Action": "sts:AssumeRole" + } + ] + } + } + } diff --git a/bin/awscli/examples/ec2/create-launch-template.rst b/bin/awscli/examples/ec2/create-launch-template.rst index 2c6c225b..6c7d8d03 100644 --- a/bin/awscli/examples/ec2/create-launch-template.rst +++ b/bin/awscli/examples/ec2/create-launch-template.rst @@ -1,20 +1,49 @@ **To create a launch template** -This example creates a launch template that specifies the subnet in which to launch the instance (``subnet-7b16de0c``), assigns a public IP address and an IPv6 address to the instance, and creates a tag for the instance (``Name=webserver``). +This example creates a launch template that specifies the subnet in which to launch the instance (``subnet-7b16de0c``), assigns a public IP address and an IPv6 address to the instance, and creates a tag for the instance (``purpose=webserver``). :: -Command:: + aws ec2 create-launch-template --launch-template-name TemplateForWebServer --version-description WebVersion1 --launch-template-data '{"NetworkInterfaces":[{"AssociatePublicIpAddress":true,"DeviceIndex":0,"Ipv6AddressCount":1,"SubnetId":"subnet-7b16de0c"}],"ImageId":"ami-8c1be5f6","InstanceType":"t2.small","TagSpecifications":[{"ResourceType":"instance","Tags":[{"Key":"purpose","Value":"webserver"}]}]}' - aws ec2 create-launch-template --launch-template-name TemplateForWebServer --version-description WebVersion1 --launch-template-data '{"NetworkInterfaces":[{"AssociatePublicIpAddress":true,"DeviceIndex":0,"Ipv6AddressCount":1,"SubnetId":"subnet-7b16de0c"}],"ImageId":"ami-8c1be5f6","InstanceType":"t2.small","TagSpecifications":[{"ResourceType":"instance","Tags":[{"Key":"Name","Value":"webserver"}]}]}' +Output:: + + { + "LaunchTemplate": { + "LatestVersionNumber": 1, + "LaunchTemplateId": "lt-01238c059e3466abc", + "LaunchTemplateName": "TemplateForWebServer", + "DefaultVersionNumber": 1, + "CreatedBy": "arn:aws:iam::123456789012:user/Bob", + "CreateTime": "2019-01-27T09:13:24.000Z" + } + } + +For more information, see `Launching an Instance from a Launch Template`_ in the *Amazon Elastic Compute Cloud User Guide*. + +**To create a launch template for Amazon EC2 Auto Scaling** + +This example creates a launch template named TemplateForAutoScaling with multiple tags and a block device mapping to specify an additional EBS volume when an instance launches. Specify a value for ``Groups`` that corresponds to security groups for the VPC that your Auto Scaling group will launch instances into. Specify the VPC and subnets as properties of the Auto Scaling group. :: + + aws ec2 create-launch-template --launch-template-name TemplateForAutoScaling --version-description AutoScalingVersion1 --launch-template-data '{"NetworkInterfaces":[{"DeviceIndex":0,"AssociatePublicIpAddress":true,"Groups":["sg-7c227019,sg-903004f8"],"DeleteOnTermination":true}],"ImageId":"ami-b42209de","InstanceType":"m4.large","TagSpecifications":[{"ResourceType":"instance","Tags":[{"Key":"environment","Value":"production"},{"Key":"purpose","Value":"webserver"}]},{"ResourceType":"volume","Tags":[{"Key":"environment","Value":"production"},{"Key":"cost-center","Value":"cc123"}]}],"BlockDeviceMappings":[{"DeviceName":"/dev/sda1","Ebs":{"VolumeSize":100}}]}' --region us-east-1 Output:: { - "LaunchTemplate": { - "LatestVersionNumber": 1, - "LaunchTemplateId": "lt-01238c059e3466abc", - "LaunchTemplateName": "TemplateForWebServer", - "DefaultVersionNumber": 1, - "CreatedBy": "arn:aws:iam::123456789012:root", - "CreateTime": "2017-11-27T09:13:24.000Z" - } - } \ No newline at end of file + "LaunchTemplate": { + "LatestVersionNumber": 1, + "LaunchTemplateId": "lt-0123c79c33a54e0abc", + "LaunchTemplateName": "TemplateForAutoScaling", + "DefaultVersionNumber": 1, + "CreatedBy": "arn:aws:iam::123456789012:user/Bob", + "CreateTime": "2019-04-30T18:16:06.000Z" + } + } + +For more information, see `Creating a Launch Template for an Auto Scaling Group`_ in the *Amazon EC2 Auto Scaling User Guide*. + +For information about quoting JSON-formatted parameters, see `Quoting Strings`_ in the *AWS Command Line Interface User Guide*. + +.. _`Launching an Instance from a Launch Template`: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html + +.. _`Creating a Launch Template for an Auto Scaling Group`: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html + +.. _`Quoting Strings`: https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters.html#quoting-strings diff --git a/bin/awscli/examples/ec2/create-placement-group.rst b/bin/awscli/examples/ec2/create-placement-group.rst index 446868ae..db163254 100644 --- a/bin/awscli/examples/ec2/create-placement-group.rst +++ b/bin/awscli/examples/ec2/create-placement-group.rst @@ -5,3 +5,11 @@ This example command creates a placement group with the specified name. Command:: aws ec2 create-placement-group --group-name my-cluster --strategy cluster + +**To create a partition placement group** + +This example command creates a partition placement group named ``HDFS-Group-A`` with five partitions. + +Command:: + + aws ec2 create-placement-group --group-name HDFS-Group-A --strategy partition --partition-count 5 diff --git a/bin/awscli/examples/ec2/describe-availability-zones.rst b/bin/awscli/examples/ec2/describe-availability-zones.rst index b765a2a7..f9965f59 100644 --- a/bin/awscli/examples/ec2/describe-availability-zones.rst +++ b/bin/awscli/examples/ec2/describe-availability-zones.rst @@ -12,21 +12,24 @@ Output:: "AvailabilityZones": [ { "State": "available", - "RegionName": "us-east-1", "Messages": [], - "ZoneName": "us-east-1b" + "RegionName": "us-west-2", + "ZoneName": "us-west-2a", + "ZoneId": "usw2-az2" }, { "State": "available", - "RegionName": "us-east-1", "Messages": [], - "ZoneName": "us-east-1c" + "RegionName": "us-west-2", + "ZoneName": "us-west-2b", + "ZoneId": "usw2-az1" }, { "State": "available", - "RegionName": "us-east-1", "Messages": [], - "ZoneName": "us-east-1d" + "RegionName": "us-west-2", + "ZoneName": "us-west-2c", + "ZoneId": "usw2-az3" } ] } diff --git a/bin/awscli/examples/ec2/describe-tags.rst b/bin/awscli/examples/ec2/describe-tags.rst index f5927fa6..8889f683 100644 --- a/bin/awscli/examples/ec2/describe-tags.rst +++ b/bin/awscli/examples/ec2/describe-tags.rst @@ -1,152 +1,149 @@ -**To describe your tags** +**Example 1: To describe your tags** -This example describes the tags for all your resources. +The following ``describe-tags`` example describes the tags for all your resources. :: -Command:: - - aws ec2 describe-tags + aws ec2 describe-tags Output:: - { - "Tags": [ - { - "ResourceType": "image", - "ResourceId": "ami-78a54011", - "Value": "Production", - "Key": "Stack" - }, - { - "ResourceType": "image", - "ResourceId": "ami-3ac33653", - "Value": "Test", - "Key": "Stack" - }, - { - "ResourceType": "instance", - "ResourceId": "i-1234567890abcdef0", - "Value": "Production", - "Key": "Stack" - }, - { - "ResourceType": "instance", - "ResourceId": "i-1234567890abcdef1", - "Value": "Test", - "Key": "Stack" - }, - { - "ResourceType": "instance", - "ResourceId": "i-1234567890abcdef5", - "Value": "Beta Server", - "Key": "Name" - }, - { - "ResourceType": "volume", - "ResourceId": "vol-049df61146c4d7901", - "Value": "Project1", - "Key": "Purpose" - }, - { - "ResourceType": "volume", - "ResourceId": "vol-1234567890abcdef0", - "Value": "Logs", - "Key": "Purpose" - } - ] - } - -**To describe the tags for a single resource** - -This example describes the tags for the specified instance. - -Command:: - - aws ec2 describe-tags --filters "Name=resource-id,Values=i-1234567890abcdef8" + { + "Tags": [ + { + "ResourceType": "image", + "ResourceId": "ami-78a54011", + "Value": "Production", + "Key": "Stack" + }, + { + "ResourceType": "image", + "ResourceId": "ami-3ac33653", + "Value": "Test", + "Key": "Stack" + }, + { + "ResourceType": "instance", + "ResourceId": "i-1234567890abcdef0", + "Value": "Production", + "Key": "Stack" + }, + { + "ResourceType": "instance", + "ResourceId": "i-1234567890abcdef1", + "Value": "Test", + "Key": "Stack" + }, + { + "ResourceType": "instance", + "ResourceId": "i-1234567890abcdef5", + "Value": "Beta Server", + "Key": "Name" + }, + { + "ResourceType": "volume", + "ResourceId": "vol-049df61146c4d7901", + "Value": "Project1", + "Key": "Purpose" + }, + { + "ResourceType": "volume", + "ResourceId": "vol-1234567890abcdef0", + "Value": "Logs", + "Key": "Purpose" + } + ] + } + +**Example 2: To describe the tags for a single resource** + +The following ``describe-tags`` example describes the tags for the specified instance. :: + + aws ec2 describe-tags \ + --filters "Name=resource-id,Values=i-1234567890abcdef8" Output:: - { - "Tags": [ - { - "ResourceType": "instance", - "ResourceId": "i-1234567890abcdef8", - "Value": "Test", - "Key": "Stack" - }, - { - "ResourceType": "instance", - "ResourceId": "i-1234567890abcdef8", - "Value": "Beta Server", - "Key": "Name" - } - ] - } + { + "Tags": [ + { + "ResourceType": "instance", + "ResourceId": "i-1234567890abcdef8", + "Value": "Test", + "Key": "Stack" + }, + { + "ResourceType": "instance", + "ResourceId": "i-1234567890abcdef8", + "Value": "Beta Server", + "Key": "Name" + } + ] + } + +**Example 3: To describe the tags for a type of resource** + +The following ``describe-tags`` example describes the tags for your volumes. :: + + aws ec2 describe-tags \ + --filters "Name=resource-type,Values=volume" + +Output:: -**To describe the tags for a type of resource** + { + "Tags": [ + { + "ResourceType": "volume", + "ResourceId": "vol-1234567890abcdef0", + "Value": "Project1", + "Key": "Purpose" + }, + { + "ResourceType": "volume", + "ResourceId": "vol-049df61146c4d7901", + "Value": "Logs", + "Key": "Purpose" + } + ] + } -This example describes the tags for your volumes. +**Example 4: To describe the tags for your resources based on a key and a value** -Command:: +The following ``describe-tags`` example describes the tags for your resources that have the key ``Stack`` and a value ``Test``. :: - aws ec2 describe-tags --filters "Name=resource-type,Values=volume" + aws ec2 describe-tags \ + --filters "Name=key,Values=Stack" "Name=value,Values=Test" Output:: - { - "Tags": [ - { - "ResourceType": "volume", - "ResourceId": "vol-1234567890abcdef0", - "Value": "Project1", - "Key": "Purpose" - }, - { - "ResourceType": "volume", - "ResourceId": "vol-049df61146c4d7901", - "Value": "Logs", - "Key": "Purpose" - } - ] - } + { + "Tags": [ + { + "ResourceType": "image", + "ResourceId": "ami-3ac33653", + "Value": "Test", + "Key": "Stack" + }, + { + "ResourceType": "instance", + "ResourceId": "i-1234567890abcdef8", + "Value": "Test", + "Key": "Stack" + } + ] + } + +**Example 5: To describe the tags for your resources based on a key and a value using the shortcut syntax** -**To describe the tags for your resources based on a key and a value** +The following ``describe-tags`` example is an alternative syntax to describe resources with the key ``Stack`` and a value ``Test``. :: -This example describes the tags for your resources that have the key ``Stack`` and a value ``Test``. + aws ec2 describe-tags --filters "Name=tag:Stack,Values=Test" -Command:: +**Example 6: To describe the tags for your resources based on only a key** - aws ec2 describe-tags --filters "Name=key,Values=Stack" "Name=value,Values=Test" +This example describes the tags for all your instances that have a tag with the key ``Purpose`` and no value. :: -Output:: + aws ec2 describe-tags \ + --filters "Name=resource-type,Values=instance" "Name=key,Values=Purpose" "Name=value,Values=" - { - "Tags": [ - { - "ResourceType": "image", - "ResourceId": "ami-3ac33653", - "Value": "Test", - "Key": "Stack" - }, - { - "ResourceType": "instance", - "ResourceId": "i-1234567890abcdef8", - "Value": "Test", - "Key": "Stack" - } - ] - } - -The following is an alternative syntax to describe resources with the key ``Stack`` and a value ``Test``. - -Command:: - aws ec2 describe-tags --filters "Name=tag:Stack,Values=Test" - -This example describes the tags for all your instances that have a tag with the key ``Purpose`` and no value. - -Command:: - - aws ec2 describe-tags --filters "Name=resource-type,Values=instance" "Name=key,Values=Purpose" "Name=value,Values=" - Output:: { diff --git a/bin/awscli/examples/ec2/modify-instance-event-start-time.rst b/bin/awscli/examples/ec2/modify-instance-event-start-time.rst new file mode 100644 index 00000000..ca49562b --- /dev/null +++ b/bin/awscli/examples/ec2/modify-instance-event-start-time.rst @@ -0,0 +1,20 @@ +**To modify the event start time for an instance** + +The following ``modify-instance-event-start-time`` command shows how to modify the event start time for the specified instance. Specify the event ID by using the ``--instance-event-id`` parameter. Specify the new date and time by using the ``--not-before`` parameter. :: + + aws ec2 modify-instance-event-start-time --instance-id i-1234567890abcdef0 --instance-event-id instance-event-0abcdef1234567890 --not-before 2019-03-25T10:00:00.000 + +Output:: + + "Event": { + "InstanceEventId": "instance-event-0abcdef1234567890", + "Code": "system-reboot", + "Description": "scheduled reboot", + "NotAfter": "2019-03-25T12:00:00.000Z", + "NotBefore": "2019-03-25T10:00:00.000Z", + "NotBeforeDeadline": "2019-04-22T21:00:00.000Z" + } + +For more information, see `Working with Instances Scheduled for Reboot`_ in the *Amazon Elastic Compute Cloud User Guide* + +.. _`Working with Instances Scheduled for Reboot`: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html#schedevents_actions_reboot diff --git a/bin/awscli/examples/ec2/modify-volume.rst b/bin/awscli/examples/ec2/modify-volume.rst new file mode 100644 index 00000000..9a993b4e --- /dev/null +++ b/bin/awscli/examples/ec2/modify-volume.rst @@ -0,0 +1,53 @@ +**Example 1: To modify a volume by changing its size** + +The following ``modify-volume`` example modifies a volume by changing the volume's size to 150GB. :: + + aws ec2 modify-volume \ + --size 150 \ + --volume-id vol-1234567890abcdef0 + +Output:: + + { + "VolumeModification": { + "TargetSize": 150, + "TargetVolumeType": "io1", + "ModificationState": "modifying", + "VolumeId": " vol-1234567890abcdef0", + "TargetIops": 100, + "StartTime": "2019-05-17T11:27:19.000Z", + "Progress": 0, + "OriginalVolumeType": "io1", + "OriginalIops": 100, + "OriginalSize": 100 + } + } + +**Example 2: To modify a volume by changing its type, size, and IOPS value** + +The following ``modify-volume`` example changes the volume's `type` to a Provisioned IOPS SSD (`io1`), sets the target IOPS rate to 10000, and sets the volume size to `350GB`. :: + + aws ec2 modify-volume \ + --volume-type io1 \ + --iops 10000 \ + --size 350 \ + --volume-id vol-1234567890abcdef0 + +Output:: + + { + "VolumeModification": { + "TargetSize": 350, + "TargetVolumeType": "io1", + "ModificationState": "modifying", + "VolumeId": "vol-0721c1a9d08c93bf6", + "TargetIops": 10000, + "StartTime": "2019-05-17T11:38:57.000Z", + "Progress": 0, + "OriginalVolumeType": "gp2", + "OriginalIops": 150, + "OriginalSize": 50 + } + } + +For more information, see `Modifying the Size, Performance, or Type of an EBS Volume `_ in the *Amazon Elastic Compute Cloud User Guide for Linux Instances*. diff --git a/bin/awscli/examples/ec2/run-instances.rst b/bin/awscli/examples/ec2/run-instances.rst index 7934f1d9..af47070c 100644 --- a/bin/awscli/examples/ec2/run-instances.rst +++ b/bin/awscli/examples/ec2/run-instances.rst @@ -301,26 +301,26 @@ Command:: aws ec2 run-instances --image-id ami-abc12345 --count 1 --instance-type t2.micro --key-name MyKeyPair --subnet-id subnet-6e7f829e --tag-specifications 'ResourceType=instance,Tags=[{Key=webserver,Value=production}]' 'ResourceType=volume,Tags=[{Key=cost-center,Value=cc123}]' -**To launch an instance with the credit option for CPU usage of "unlimited"** +**To launch an instance with the credit option for CPU usage of ``unlimited``** -You can launch an instance and specify the credit option for CPU usage for the instance. If you do not specify the credit option, the instance launches with the default "standard" credit option. The following example launches a t2.micro instance with the "unlimited" credit option. +You can launch a burstable performance instance (T2 and T3) and specify the credit option for CPU usage for the instance. If you do not specify the credit option, a T2 instance launches with the default ``standard`` credit option and a T3 instance launches with the default ``unlimited`` credit option. The following example launches a t2.micro instance with the ``unlimited`` credit option. Command:: aws ec2 run-instances --image-id ami-abc12345 --count 1 --instance-type t2.micro --key-name MyKeyPair --credit-specification CpuCredits=unlimited -**To launch an instance with a custom number of vCPUs** - -This example launches an ``r4.4xlarge`` instance type with six vCPUs (three CPU cores multiplied by two threads per core). - +**To launch an instance into a partition placement group** + +You can launch an instance into a partition placement group without specifying the partition. In this example, the partition placement group is named ``HDFS-Group-A``. + Command:: - - aws ec2 run-instances --image-id ami-1a2b3c4d --instance-type r4.4xlarge --cpu-options "CoreCount=3,ThreadsPerCore=2" --key-name MyKeyPair - -**To launch an instance and disable hyperthreading** - -This example launchs an ``r4.4xlarge`` instance type and disables hyperthreading by specifying one thread per core and specifying the default number of CPU cores for the instance type (eight). - + + aws ec2 run-instances --placement "GroupName = HDFS-Group-A" + +**To launch an instance into a specific partition of a partition placement group** + +You can launch an instance into a specific partition of a partition placement group by specifying the partition number. In this example, the partition placement group is named ``HDFS-Group-A`` and the partition number is ``3``. + Command:: - - aws ec2 run-instances --image-id ami-1a2b3c4d --instance-type r4.4xlarge --cpu-options "CoreCount=8,ThreadsPerCore=1" --key-name MyKeyPair \ No newline at end of file + + aws ec2 run-instances --placement "GroupName = HDFS-Group-A, PartitionNumber = 3" diff --git a/bin/awscli/examples/ecs/create-cluster.rst b/bin/awscli/examples/ecs/create-cluster.rst index 6d3797c0..5ec5f222 100644 --- a/bin/awscli/examples/ecs/create-cluster.rst +++ b/bin/awscli/examples/ecs/create-cluster.rst @@ -1,21 +1,60 @@ -**To create a new cluster** +**Example 1: To create a new cluster** -This example command creates a cluster in your default region. +The following ``create-cluster`` example creates a cluster. :: -Command:: + aws ecs create-cluster --cluster-name MyCluster - aws ecs create-cluster --cluster-name "my_cluster" +Output:: + + { + "cluster": { + "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", + "clusterName": "MyCluster", + "status": "ACTIVE", + "registeredContainerInstancesCount": 0, + "pendingTasksCount": 0, + "runningTasksCount": 0, + "activeServicesCount": 0, + "statistics": [], + "tags": [] + } + } + +**Example 2: To create a new cluster with multiple tags** + +The following ``create-cluster`` example creates a cluster with multiple tags. For more information about adding tags using shorthand syntax, see `Using Shorthand Syntax with the AWS Command Line Interface `_ in the *AWS CLI User Guide*. :: + + aws ecs create-cluster \ + --cluster-name MyCluster \ + --tags key=key1,value=value1 key=key2,value=value2 key=key3,value=value3 Output:: - { - "cluster": { - "status": "ACTIVE", - "clusterName": "my_cluster", - "registeredContainerInstancesCount": 0, - "pendingTasksCount": 0, - "runningTasksCount": 0, - "activeServicesCount": 0, - "clusterArn": "arn:aws:ecs:::cluster/my_cluster" - } - } + { + "cluster": { + "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", + "clusterName": "MyCluster", + "status": "ACTIVE", + "registeredContainerInstancesCount": 0, + "pendingTasksCount": 0, + "runningTasksCount": 0, + "activeServicesCount": 0, + "statistics": [], + "tags": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + }, + { + "key": "key3", + "value": "value3" + } + ] + } + } + +For more information, see `Creating a Cluster `_ in the *Amazon ECS Developer Guide*. \ No newline at end of file diff --git a/bin/awscli/examples/ecs/create-service.rst b/bin/awscli/examples/ecs/create-service.rst index f611a131..b6c1997d 100644 --- a/bin/awscli/examples/ecs/create-service.rst +++ b/bin/awscli/examples/ecs/create-service.rst @@ -1,55 +1,204 @@ -**To create a new service** +**Example 1: To create a service with a Fargate task** -This example command creates a service in your default region called ``ecs-simple-service``. The service uses the ``ecs-demo`` task definition and it maintains 10 instantiations of that task. +The following ``create-service`` example shows how to create a service using a Fargate task. :: -Command:: + aws ecs create-service \ + --cluster MyCluster \ + --service-name MyService \ + --task-definition sample-fargate:1 \ + --desired-count 2 \ + --launch-type FARGATE \ + --platform-version LATEST \ + --network-configuration "awsvpcConfiguration={subnets=[subnet-12344321],securityGroups=[sg-12344321],assignPublicIp=ENABLED}" \ + --tags key=key1,value=value1 key=key2,value=value2 key=key3,value=value3 + +Output:: + + { + "service": { + "serviceArn": "arn:aws:ecs:us-west-2:123456789012:service/MyCluster/MyService", + "serviceName": "MyService", + "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", + "loadBalancers": [], + "serviceRegistries": [], + "status": "ACTIVE", + "desiredCount": 2, + "runningCount": 0, + "pendingCount": 0, + "launchType": "FARGATE", + "platformVersion": "LATEST", + "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/sample-fargate:1", + "deploymentConfiguration": { + "maximumPercent": 200, + "minimumHealthyPercent": 100 + }, + "deployments": [ + { + "id": "ecs-svc/1234567890123456789", + "status": "PRIMARY", + "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/sample-fargate:1", + "desiredCount": 2, + "pendingCount": 0, + "runningCount": 0, + "createdAt": 1557119253.821, + "updatedAt": 1557119253.821, + "launchType": "FARGATE", + "platformVersion": "1.3.0", + "networkConfiguration": { + "awsvpcConfiguration": { + "subnets": [ + "subnet-12344321" + ], + "securityGroups": [ + "sg-12344321" + ], + "assignPublicIp": "ENABLED" + } + } + } + ], + "roleArn": "arn:aws:iam::123456789012:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS", + "events": [], + "createdAt": 1557119253.821, + "placementConstraints": [], + "placementStrategy": [], + "networkConfiguration": { + "awsvpcConfiguration": { + "subnets": [ + "subnet-12344321" + ], + "securityGroups": [ + "sg-12344321" + ], + "assignPublicIp": "ENABLED" + } + }, + "schedulingStrategy": "REPLICA", + "tags": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + }, + { + "key": "key3", + "value": "value3" + } + ], + "enableECSManagedTags": false, + "propagateTags": "NONE" + } + } - aws ecs create-service --service-name ecs-simple-service --task-definition ecs-demo --desired-count 10 +**Example 2: To create a service using the EC2 launch type** + +The following ``create-service`` example shows how to create a service called ``ecs-simple-service`` with a task that uses the EC2 launch type. The service uses the ``sleep360`` task definition and it maintains 1 instantiation of the task. :: + + aws ecs create-service \ + --cluster MyCluster \ + --service-name ecs-simple-service \ + --task-definition sleep360:2 \ + --desired-count 1 Output:: - { - "service": { - "status": "ACTIVE", - "taskDefinition": "arn:aws:ecs:::task-definition/ecs-demo:1", - "pendingCount": 0, - "loadBalancers": [], - "desiredCount": 10, - "serviceName": "ecs-simple-service", - "clusterArn": "arn:aws:ecs:::cluster/default", - "serviceArn": "arn:aws:ecs:::service/ecs-simple-service", - "deployments": [ - { - "status": "PRIMARY", - "pendingCount": 0, - "createdAt": 1428096748.604, - "desiredCount": 10, - "taskDefinition": "arn:aws:ecs:::task-definition/ecs-demo:1", - "updatedAt": 1428096748.604, - "id": "ecs-svc/", - "runningCount": 0 - } - ], - "events": [], - "runningCount": 0 - } - } - - -**To create a new service behind a load balancer** - -This example command creates a service in your default region called ``ecs-simple-service-elb``. The service uses the ``ecs-demo`` task definition and it maintains 10 instantiations of that task. You must have a load balancer configured in the same region as your container instances. - -This example uses the ``--cli-input-json`` option and a JSON input file called ``ecs-simple-service-elb.json`` with the below format. - -Input file:: + { + "service": { + "serviceArn": "arn:aws:ecs:us-west-2:123456789012:service/MyCluster/ecs-simple-service", + "serviceName": "ecs-simple-service", + "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", + "loadBalancers": [], + "serviceRegistries": [], + "status": "ACTIVE", + "desiredCount": 1, + "runningCount": 0, + "pendingCount": 0, + "launchType": "EC2", + "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/sleep360:2", + "deploymentConfiguration": { + "maximumPercent": 200, + "minimumHealthyPercent": 100 + }, + "deployments": [ + { + "id": "ecs-svc/1234567890123456789", + "status": "PRIMARY", + "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/sleep360:2", + "desiredCount": 1, + "pendingCount": 0, + "runningCount": 0, + "createdAt": 1557206498.798, + "updatedAt": 1557206498.798, + "launchType": "EC2" + } + ], + "events": [], + "createdAt": 1557206498.798, + "placementConstraints": [], + "placementStrategy": [], + "schedulingStrategy": "REPLICA", + "enableECSManagedTags": false, + "propagateTags": "NONE" + } + } + +**Example 3: To create a service that uses an external deployment controller** + +The following ``create-service`` example creates a service that uses an external deployment controller. :: + + aws ecs create-service \ + --cluster MyCluster \ + --service-name MyService \ + --deployment-controller type=EXTERNAL \ + --desired-count 1 + +Output:: + + { + "service": { + "serviceArn": "arn:aws:ecs:us-west-2:123456789012:service/MyCluster/MyService", + "serviceName": "MyService", + "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", + "loadBalancers": [], + "serviceRegistries": [], + "status": "ACTIVE", + "desiredCount": 1, + "runningCount": 0, + "pendingCount": 0, + "launchType": "EC2", + "deploymentConfiguration": { + "maximumPercent": 200, + "minimumHealthyPercent": 100 + }, + "taskSets": [], + "deployments": [], + "roleArn": "arn:aws:iam::123456789012:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS", + "events": [], + "createdAt": 1557128207.101, + "placementConstraints": [], + "placementStrategy": [], + "schedulingStrategy": "REPLICA", + "deploymentController": { + "type": "EXTERNAL" + }, + "enableECSManagedTags": false, + "propagateTags": "NONE" + } + } + +**Example 4: To create a new service behind a load balancer** + +The following ``create-service`` example shows how to create a service that is behind a load balancer. You must have a load balancer configured in the same Region as your container instance. This example uses the ``--cli-input-json`` option and a JSON input file called ``ecs-simple-service-elb.json`` with the following content:: { "serviceName": "ecs-simple-service-elb", "taskDefinition": "ecs-demo", "loadBalancers": [ { - "loadBalancerName": "EC2Contai-EcsElast-S06278JGSJCM", + "loadBalancerName": "EC2Contai-EcsElast-123456789012", "containerName": "simple-demo", "containerPort": 80 } @@ -60,40 +209,45 @@ Input file:: Command:: - aws ecs create-service --service-name ecs-simple-service-elb --cli-input-json file://ecs-simple-service-elb.json + aws ecs create-service \ + --cluster MyCluster \ + --service-name ecs-simple-service-elb \ + --cli-input-json file://ecs-simple-service-elb.json Output:: - { - "service": { - "status": "ACTIVE", - "taskDefinition": "arn:aws:ecs:::task-definition/ecs-demo:1", - "pendingCount": 0, - "loadBalancers": [ - { - "containerName": "ecs-demo", - "containerPort": 80, - "loadBalancerName": "EC2Contai-EcsElast-S06278JGSJCM" - } - ], - "roleArn": "arn:aws:iam:::role/ecsServiceRole", - "desiredCount": 10, - "serviceName": "ecs-simple-service-elb", - "clusterArn": "arn:aws:ecs:::cluster/default", - "serviceArn": "arn:aws:ecs:::service/ecs-simple-service-elb", - "deployments": [ - { - "status": "PRIMARY", - "pendingCount": 0, - "createdAt": 1428100239.123, - "desiredCount": 10, - "taskDefinition": "arn:aws:ecs:::task-definition/ecs-demo:1", - "updatedAt": 1428100239.123, - "id": "ecs-svc/", - "runningCount": 0 - } - ], - "events": [], - "runningCount": 0 - } - } \ No newline at end of file + { + "service": { + "status": "ACTIVE", + "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/ecs-demo:1", + "pendingCount": 0, + "loadBalancers": [ + { + "containerName": "ecs-demo", + "containerPort": 80, + "loadBalancerName": "EC2Contai-EcsElast-123456789012" + } + ], + "roleArn": "arn:aws:iam::123456789012:role/ecsServiceRole", + "desiredCount": 10, + "serviceName": "ecs-simple-service-elb", + "clusterArn": "arn:aws:ecs:`_ in the *Amazon ECS Developer Guide*. \ No newline at end of file diff --git a/bin/awscli/examples/ecs/create-task-set.rst b/bin/awscli/examples/ecs/create-task-set.rst new file mode 100644 index 00000000..3fca4ffa --- /dev/null +++ b/bin/awscli/examples/ecs/create-task-set.rst @@ -0,0 +1,45 @@ +**To create a task set** + +The following ``create-task-set`` example creates a task set in a service that uses an external deployment controller. :: + + aws ecs create-task-set \ + --cluster MyCluster \ + --service MyService \ + --task-definition MyTaskDefinition:2 \ + --network-configuration "awsvpcConfiguration={subnets=[subnet-12344321],securityGroups=[sg-12344321]}" + +Output:: + + { + "taskSet": { + "id": "ecs-svc/1234567890123456789", + "taskSetArn": "arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789", + "status": "ACTIVE", + "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/MyTaskDefinition:2", + "computedDesiredCount": 0, + "pendingCount": 0, + "runningCount": 0, + "createdAt": 1557128360.711, + "updatedAt": 1557128360.711, + "launchType": "EC2", + "networkConfiguration": { + "awsvpcConfiguration": { + "subnets": [ + "subnet-12344321" + ], + "securityGroups": [ + "sg-12344321" + ], + "assignPublicIp": "DISABLED" + } + }, + "loadBalancers": [], + "serviceRegistries": [], + "scale": { + "value": 0.0, + "unit": "PERCENT" + }, + "stabilityStatus": "STABILIZING", + "stabilityStatusAt": 1557128360.711 + } + } diff --git a/bin/awscli/examples/ecs/delete-account-setting.rst b/bin/awscli/examples/ecs/delete-account-setting.rst new file mode 100644 index 00000000..25ee0419 --- /dev/null +++ b/bin/awscli/examples/ecs/delete-account-setting.rst @@ -0,0 +1,19 @@ +**To delete the account settings for a specific IAM user or IAM role** + +The following example ``delete-account-setting`` deletes the account settings for the specific IAM user or IAM role. :: + + aws ecs delete-account-setting \ + --name serviceLongArnFormat \ + --principal-arn arn:aws:iam::123456789012:user/MyUser + +Output:: + + { + "setting": { + "name": "serviceLongArnFormat", + "value": "enabled", + "principalArn": "arn:aws:iam::123456789012:user/MyUser" + } + } + +For more information, see `Amazon Resource Names (ARNs) and IDs `_ in the *Amazon ECS Developer Guide*. \ No newline at end of file diff --git a/bin/awscli/examples/ecs/delete-cluster.rst b/bin/awscli/examples/ecs/delete-cluster.rst index c9c9e382..78440214 100644 --- a/bin/awscli/examples/ecs/delete-cluster.rst +++ b/bin/awscli/examples/ecs/delete-cluster.rst @@ -1,21 +1,23 @@ **To delete an empty cluster** -This example command deletes an empty cluster in your default region. +The following ``delete-cluster`` example deletes the specified empty cluster. :: -Command:: - - aws ecs delete-cluster --cluster my_cluster + aws ecs delete-cluster --cluster MyCluster Output:: - { - "cluster": { - "status": "INACTIVE", - "clusterName": "my_cluster", - "registeredContainerInstancesCount": 0, - "pendingTasksCount": 0, - "runningTasksCount": 0, - "activeServicesCount": 0, - "clusterArn": "arn:aws:ecs:::cluster/my_cluster" - } - } + { + "cluster": { + "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", + "status": "INACTIVE", + "clusterName": "MyCluster", + "registeredContainerInstancesCount": 0, + "pendingTasksCount": 0, + "runningTasksCount": 0, + "activeServicesCount": 0 + "statistics": [], + "tags": [] + } + } + +For more information, see `Deleting a Cluster `_ in the *Amazon ECS Developer Guide*. \ No newline at end of file diff --git a/bin/awscli/examples/ecs/delete-service.rst b/bin/awscli/examples/ecs/delete-service.rst index c4488908..0611aa59 100644 --- a/bin/awscli/examples/ecs/delete-service.rst +++ b/bin/awscli/examples/ecs/delete-service.rst @@ -1,8 +1,7 @@ **To delete a service** -This example command deletes the ``my-http-service`` service. The service must have a desired count and running count of 0 before you can delete it. +The following ``ecs delete-service`` example deletes the specified service from a cluster. You can include the ``--force`` parameter to delete a service even if it has not been scaled to zero tasks. :: -Command:: - - aws ecs delete-service --service my-http-service + aws ecs delete-service --cluster MyCluster --service MyService1 --force +For more information, see `Deleting a Service `_ in the *Amazon ECS Developer Guide*. \ No newline at end of file diff --git a/bin/awscli/examples/ecs/delete-task-set.rst b/bin/awscli/examples/ecs/delete-task-set.rst new file mode 100644 index 00000000..66c65694 --- /dev/null +++ b/bin/awscli/examples/ecs/delete-task-set.rst @@ -0,0 +1,45 @@ +**To delete a task set** + +The following ``delete-task-set`` example shows how to delete a task set. You can include the ``--force`` parameter to delete a task set even if it has not been scaled to zero. :: + + aws ecs delete-task-set \ + --cluster MyCluster \ + --service MyService \ + --task-set arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789 \ + --force + +Output:: + + { + "taskSet": { + "id": "ecs-svc/1234567890123456789", + "taskSetArn": "arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789", + "status": "DRAINING", + "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/sample-fargate:2", + "computedDesiredCount": 0, + "pendingCount": 0, + "runningCount": 0, + "createdAt": 1557130260.276, + "updatedAt": 1557130290.707, + "launchType": "EC2", + "networkConfiguration": { + "awsvpcConfiguration": { + "subnets": [ + "subnet-12345678" + ], + "securityGroups": [ + "sg-12345678" + ], + "assignPublicIp": "DISABLED" + } + }, + "loadBalancers": [], + "serviceRegistries": [], + "scale": { + "value": 0.0, + "unit": "PERCENT" + }, + "stabilityStatus": "STABILIZING", + "stabilityStatusAt": 1557130290.707 + } + } diff --git a/bin/awscli/examples/ecs/deregister-container-instance.rst b/bin/awscli/examples/ecs/deregister-container-instance.rst index 6359d019..32b52580 100644 --- a/bin/awscli/examples/ecs/deregister-container-instance.rst +++ b/bin/awscli/examples/ecs/deregister-container-instance.rst @@ -1,7 +1,262 @@ **To deregister a container instance from a cluster** -This example deregisters a container instance from the specified cluster in your default region. If there are still tasks running on the container instance, you must either stop those tasks before deregistering, or use the force option. +The following ``deregister-container-instance`` example deregisters a container instance from the specified cluster. If there are still tasks running in the container instance, you must either stop those tasks before deregistering, or use the ``--force`` option. :: -Command:: + aws ecs deregister-container-instance \ + --cluster arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster \ + --container-instance arn:aws:ecs:us-west-2:123456789012:container-instance/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE \ + --force - aws ecs deregister-container-instance --cluster default --container-instance --force \ No newline at end of file +Output:: + + { + "containerInstance": { + "remainingResources": [ + { + "integerValue": 1024, + "doubleValue": 0.0, + "type": "INTEGER", + "longValue": 0, + "name": "CPU" + }, + { + "integerValue": 985, + "doubleValue": 0.0, + "type": "INTEGER", + "longValue": 0, + "name": "MEMORY" + }, + { + "type": "STRINGSET", + "integerValue": 0, + "name": "PORTS", + "stringSetValue": [ + "22", + "2376", + "2375", + "51678", + "51679" + ], + "longValue": 0, + "doubleValue": 0.0 + }, + { + "type": "STRINGSET", + "integerValue": 0, + "name": "PORTS_UDP", + "stringSetValue": [], + "longValue": 0, + "doubleValue": 0.0 + } + ], + "agentConnected": true, + "attributes": [ + { + "name": "ecs.capability.secrets.asm.environment-variables" + }, + { + "name": "com.amazonaws.ecs.capability.logging-driver.syslog" + }, + { + "value": "ami-01a82c3fce2c3ba58", + "name": "ecs.ami-id" + }, + { + "name": "ecs.capability.secrets.asm.bootstrap.log-driver" + }, + { + "name": "com.amazonaws.ecs.capability.logging-driver.none" + }, + { + "name": "ecs.capability.ecr-endpoint" + }, + { + "name": "com.amazonaws.ecs.capability.logging-driver.json-file" + }, + { + "value": "vpc-1234567890123467", + "name": "ecs.vpc-id" + }, + { + "name": "ecs.capability.execution-role-awslogs" + }, + { + "name": "com.amazonaws.ecs.capability.docker-remote-api.1.17" + }, + { + "name": "com.amazonaws.ecs.capability.docker-remote-api.1.18" + }, + { + "name": "com.amazonaws.ecs.capability.docker-remote-api.1.19" + }, + { + "name": "ecs.capability.docker-plugin.local" + }, + { + "name": "ecs.capability.task-eni" + }, + { + "name": "ecs.capability.task-cpu-mem-limit" + }, + { + "name": "ecs.capability.secrets.ssm.bootstrap.log-driver" + }, + { + "name": "com.amazonaws.ecs.capability.docker-remote-api.1.30" + }, + { + "name": "com.amazonaws.ecs.capability.docker-remote-api.1.31" + }, + { + "name": "com.amazonaws.ecs.capability.docker-remote-api.1.32" + }, + { + "name": "ecs.capability.execution-role-ecr-pull" + }, + { + "name": "ecs.capability.container-health-check" + }, + { + "value": "subnet-1234567890123467", + "name": "ecs.subnet-id" + }, + { + "value": "us-west-2a", + "name": "ecs.availability-zone" + }, + { + "value": "t2.micro", + "name": "ecs.instance-type" + }, + { + "name": "com.amazonaws.ecs.capability.task-iam-role-network-host" + }, + { + "name": "ecs.capability.aws-appmesh" + }, + { + "name": "com.amazonaws.ecs.capability.logging-driver.awslogs" + }, + { + "name": "com.amazonaws.ecs.capability.docker-remote-api.1.24" + }, + { + "name": "com.amazonaws.ecs.capability.docker-remote-api.1.25" + }, + { + "name": "com.amazonaws.ecs.capability.docker-remote-api.1.26" + }, + { + "name": "com.amazonaws.ecs.capability.docker-remote-api.1.27" + }, + { + "name": "com.amazonaws.ecs.capability.privileged-container" + }, + { + "name": "ecs.capability.container-ordering" + }, + { + "name": "com.amazonaws.ecs.capability.docker-remote-api.1.28" + }, + { + "name": "com.amazonaws.ecs.capability.docker-remote-api.1.29" + }, + { + "value": "x86_64", + "name": "ecs.cpu-architecture" + }, + { + "value": "93f43776-2018.10.0", + "name": "ecs.capability.cni-plugin-version" + }, + { + "name": "ecs.capability.secrets.ssm.environment-variables" + }, + { + "name": "ecs.capability.pid-ipc-namespace-sharing" + }, + { + "name": "com.amazonaws.ecs.capability.ecr-auth" + }, + { + "value": "linux", + "name": "ecs.os-type" + }, + { + "name": "com.amazonaws.ecs.capability.docker-remote-api.1.20" + }, + { + "name": "com.amazonaws.ecs.capability.docker-remote-api.1.21" + }, + { + "name": "com.amazonaws.ecs.capability.docker-remote-api.1.22" + }, + { + "name": "ecs.capability.task-eia" + }, + { + "name": "ecs.capability.private-registry-authentication.secretsmanager" + }, + { + "name": "com.amazonaws.ecs.capability.task-iam-role" + }, + { + "name": "com.amazonaws.ecs.capability.docker-remote-api.1.23" + } + ], + "pendingTasksCount": 0, + "tags": [], + "containerInstanceArn": "arn:aws:ecs:us-west-2:123456789012:container-instance/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", + "registeredResources": [ + { + "integerValue": 1024, + "doubleValue": 0.0, + "type": "INTEGER", + "longValue": 0, + "name": "CPU" + }, + { + "integerValue": 985, + "doubleValue": 0.0, + "type": "INTEGER", + "longValue": 0, + "name": "MEMORY" + }, + { + "type": "STRINGSET", + "integerValue": 0, + "name": "PORTS", + "stringSetValue": [ + "22", + "2376", + "2375", + "51678", + "51679" + ], + "longValue": 0, + "doubleValue": 0.0 + }, + { + "type": "STRINGSET", + "integerValue": 0, + "name": "PORTS_UDP", + "stringSetValue": [], + "longValue": 0, + "doubleValue": 0.0 + } + ], + "status": "INACTIVE", + "registeredAt": 1557768075.681, + "version": 4, + "versionInfo": { + "agentVersion": "1.27.0", + "agentHash": "aabe65ee", + "dockerVersion": "DockerVersion: 18.06.1-ce" + }, + "attachments": [], + "runningTasksCount": 0, + "ec2InstanceId": "i-12345678901234678" + } + } + +For more information, see `Deregister a Container Instance `_ in the *ECS Developer Guide*. \ No newline at end of file diff --git a/bin/awscli/examples/ecs/deregister-task-definition.rst b/bin/awscli/examples/ecs/deregister-task-definition.rst index 271a4d6e..6fd5d4b2 100644 --- a/bin/awscli/examples/ecs/deregister-task-definition.rst +++ b/bin/awscli/examples/ecs/deregister-task-definition.rst @@ -1,36 +1,36 @@ **To deregister a task definition** -This example deregisters the first revision of the ``curler`` task definition in your default region. Note that in the resulting output, the task definition status becomes ``INACTIVE``. - -Command:: +The following ``deregister-task-definition`` example deregisters the first revision of the ``curler`` task definition in your default region. :: aws ecs deregister-task-definition --task-definition curler:1 -Output:: +Note that in the resulting output, the task definition status shows ``INACTIVE``:: + + { + "taskDefinition": { + "status": "INACTIVE", + "family": "curler", + "volumes": [], + "taskDefinitionArn": "arn:aws:ecs:us-west-2:123456789012:task-definition/curler:1", + "containerDefinitions": [ + { + "environment": [], + "name": "curler", + "mountPoints": [], + "image": "curl:latest", + "cpu": 100, + "portMappings": [], + "entryPoint": [], + "memory": 256, + "command": [ + "curl -v http://example.com/" + ], + "essential": true, + "volumesFrom": [] + } + ], + "revision": 1 + } + } - { - "taskDefinition": { - "status": "INACTIVE", - "family": "curler", - "volumes": [], - "taskDefinitionArn": "arn:aws:ecs:us-west-2::task-definition/curler:1", - "containerDefinitions": [ - { - "environment": [], - "name": "curler", - "mountPoints": [], - "image": "curl:latest", - "cpu": 100, - "portMappings": [], - "entryPoint": [], - "memory": 256, - "command": [ - "curl -v http://example.com/" - ], - "essential": true, - "volumesFrom": [] - } - ], - "revision": 1 - } - } \ No newline at end of file +For more information, see `Amazon ECS Task Definitions `_ in the *Amazon ECS Developer Guide*. diff --git a/bin/awscli/examples/ecs/describe-clusters.rst b/bin/awscli/examples/ecs/describe-clusters.rst index a1174146..9d3034f5 100644 --- a/bin/awscli/examples/ecs/describe-clusters.rst +++ b/bin/awscli/examples/ecs/describe-clusters.rst @@ -1,24 +1,24 @@ **To describe a cluster** -This example command provides a description of the specified cluster in your default region. +The following ``describe-clusters`` example retrieves details about the specified cluster. :: -Command:: - - aws ecs describe-clusters --cluster default + aws ecs describe-clusters --cluster default Output:: - { - "clusters": [ - { - "status": "ACTIVE", - "clusterName": "default", - "registeredContainerInstancesCount": 0, - "pendingTasksCount": 0, - "runningTasksCount": 0, - "activeServicesCount": 1, - "clusterArn": "arn:aws:ecs:us-west-2::cluster/default" - } - ], - "failures": [] - } + { + "clusters": [ + { + "status": "ACTIVE", + "clusterName": "default", + "registeredContainerInstancesCount": 0, + "pendingTasksCount": 0, + "runningTasksCount": 0, + "activeServicesCount": 1, + "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/default" + } + ], + "failures": [] + } + +For more information, see `Amazon ECS Clusters `_ in the *Amazon ECS Developer Guide*. diff --git a/bin/awscli/examples/ecs/describe-container-instances.rst b/bin/awscli/examples/ecs/describe-container-instances.rst index afdce163..4b876eed 100644 --- a/bin/awscli/examples/ecs/describe-container-instances.rst +++ b/bin/awscli/examples/ecs/describe-container-instances.rst @@ -1,86 +1,88 @@ **To describe container instance** -This example command provides a description of the specified container instance in the ``update`` cluster, using the container instance UUID as an identifier. +The following ``describe-container-instances`` example retrieves details for a container instance in the ``update`` cluster, using the container instance UUID as an identifier. :: -Command:: - - aws ecs describe-container-instances --cluster update --container-instances 53ac7152-dcd1-4102-81f5-208962864132 + aws ecs describe-container-instances \ + --cluster update \ + --container-instances a1b2c3d4-5678-90ab-cdef-11111EXAMPLE Output:: - { - "failures": [], - "containerInstances": [ - { - "status": "ACTIVE", - "registeredResources": [ - { - "integerValue": 2048, - "longValue": 0, - "type": "INTEGER", - "name": "CPU", - "doubleValue": 0.0 - }, - { - "integerValue": 3955, - "longValue": 0, - "type": "INTEGER", - "name": "MEMORY", - "doubleValue": 0.0 - }, - { - "name": "PORTS", - "longValue": 0, - "doubleValue": 0.0, - "stringSetValue": [ - "22", - "2376", - "2375", - "51678" - ], - "type": "STRINGSET", - "integerValue": 0 - } - ], - "ec2InstanceId": "i-f3c1de3a", - "agentConnected": true, - "containerInstanceArn": "arn:aws:ecs:us-west-2::container-instance/53ac7152-dcd1-4102-81f5-208962864132", - "pendingTasksCount": 0, - "remainingResources": [ - { - "integerValue": 2048, - "longValue": 0, - "type": "INTEGER", - "name": "CPU", - "doubleValue": 0.0 - }, - { - "integerValue": 3955, - "longValue": 0, - "type": "INTEGER", - "name": "MEMORY", - "doubleValue": 0.0 - }, - { - "name": "PORTS", - "longValue": 0, - "doubleValue": 0.0, - "stringSetValue": [ - "22", - "2376", - "2375", - "51678" - ], - "type": "STRINGSET", - "integerValue": 0 - } - ], - "runningTasksCount": 0, - "versionInfo": { - "agentVersion": "1.0.0", - "agentHash": "4023248", - "dockerVersion": "DockerVersion: 1.5.0" - } - } - ] - } \ No newline at end of file + { + "failures": [], + "containerInstances": [ + { + "status": "ACTIVE", + "registeredResources": [ + { + "integerValue": 2048, + "longValue": 0, + "type": "INTEGER", + "name": "CPU", + "doubleValue": 0.0 + }, + { + "integerValue": 3955, + "longValue": 0, + "type": "INTEGER", + "name": "MEMORY", + "doubleValue": 0.0 + }, + { + "name": "PORTS", + "longValue": 0, + "doubleValue": 0.0, + "stringSetValue": [ + "22", + "2376", + "2375", + "51678" + ], + "type": "STRINGSET", + "integerValue": 0 + } + ], + "ec2InstanceId": "i-A1B2C3D4", + "agentConnected": true, + "containerInstanceArn": "arn:aws:ecs:us-west-2:123456789012:container-instance/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", + "pendingTasksCount": 0, + "remainingResources": [ + { + "integerValue": 2048, + "longValue": 0, + "type": "INTEGER", + "name": "CPU", + "doubleValue": 0.0 + }, + { + "integerValue": 3955, + "longValue": 0, + "type": "INTEGER", + "name": "MEMORY", + "doubleValue": 0.0 + }, + { + "name": "PORTS", + "longValue": 0, + "doubleValue": 0.0, + "stringSetValue": [ + "22", + "2376", + "2375", + "51678" + ], + "type": "STRINGSET", + "integerValue": 0 + } + ], + "runningTasksCount": 0, + "versionInfo": { + "agentVersion": "1.0.0", + "agentHash": "4023248", + "dockerVersion": "DockerVersion: 1.5.0" + } + } + ] + } + +For more information, see `Amazon ECS Container Instances `_ in the *Amazon ECS Developer Guide*. diff --git a/bin/awscli/examples/ecs/describe-services.rst b/bin/awscli/examples/ecs/describe-services.rst index 01f22b88..b8d67ebc 100644 --- a/bin/awscli/examples/ecs/describe-services.rst +++ b/bin/awscli/examples/ecs/describe-services.rst @@ -1,46 +1,46 @@ **To describe a service** -This example command provides descriptive information about the ``my-http-service``. +The following ``describe-services`` example retrieves details for the ``my-http-service`` service in the default cluster. :: -Command:: - - aws ecs describe-services --service my-http-service + aws ecs describe-services --services my-http-service Output:: - { - "services": [ - { - "status": "ACTIVE", - "taskDefinition": "arn:aws:ecs:::task-definition/amazon-ecs-sample:1", - "pendingCount": 0, - "loadBalancers": [], - "desiredCount": 10, - "createdAt": 1466801808.595, - "serviceName": "my-http-service", - "clusterArn": "arn:aws:ecs:::cluster/default", - "serviceArn": "arn:aws:ecs:::service/my-http-service", - "deployments": [ - { - "status": "PRIMARY", - "pendingCount": 0, - "createdAt": 1466801808.595, - "desiredCount": 10, - "taskDefinition": "arn:aws:ecs:::task-definition/amazon-ecs-sample:1", - "updatedAt": 1428326312.703, - "id": "ecs-svc/9223370608528463088", - "runningCount": 10 - } - ], - "events": [ - { - "message": "(service my-http-service) has reached a steady state.", - "id": "97c8a8e0-16a5-4d30-80bd-9e5413f8951b", - "createdAt": 1466801812.435 - } - ], - "runningCount": 10 - } - ], - "failures": [] - } + { + "services": [ + { + "status": "ACTIVE", + "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/amazon-ecs-sample:1", + "pendingCount": 0, + "loadBalancers": [], + "desiredCount": 10, + "createdAt": 1466801808.595, + "serviceName": "my-http-service", + "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/default", + "serviceArn": "arn:aws:ecs:us-west-2:123456789012:service/my-http-service", + "deployments": [ + { + "status": "PRIMARY", + "pendingCount": 0, + "createdAt": 1466801808.595, + "desiredCount": 10, + "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/amazon-ecs-sample:1", + "updatedAt": 1428326312.703, + "id": "ecs-svc/1234567890123456789", + "runningCount": 10 + } + ], + "events": [ + { + "message": "(service my-http-service) has reached a steady state.", + "id": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", + "createdAt": 1466801812.435 + } + ], + "runningCount": 10 + } + ], + "failures": [] + } + +For more information, see `Services `_ in the *Amazon ECS Developer Guide*. \ No newline at end of file diff --git a/bin/awscli/examples/ecs/describe-task-definition.rst b/bin/awscli/examples/ecs/describe-task-definition.rst index 5f792487..cb018af0 100644 --- a/bin/awscli/examples/ecs/describe-task-definition.rst +++ b/bin/awscli/examples/ecs/describe-task-definition.rst @@ -1,55 +1,55 @@ **To describe a task definition** -This example command provides a description of the specified task definition. +The following ``describe-task-definition`` example retrieves the details of a task definition. :: -Command:: - - aws ecs describe-task-definition --task-definition hello_world:8 + aws ecs describe-task-definition --task-definition hello_world:8 Output:: - { - "taskDefinition": { - "volumes": [], - "taskDefinitionArn": "arn:aws:ecs:us-east-1::task-definition/hello_world:8", - "containerDefinitions": [ - { - "environment": [], - "name": "wordpress", - "links": [ - "mysql" - ], - "mountPoints": [], - "image": "wordpress", - "essential": true, - "portMappings": [ - { - "containerPort": 80, - "hostPort": 80 - } - ], - "memory": 500, - "cpu": 10, - "volumesFrom": [] - }, - { - "environment": [ - { - "name": "MYSQL_ROOT_PASSWORD", - "value": "password" - } - ], - "name": "mysql", - "mountPoints": [], - "image": "mysql", - "cpu": 10, - "portMappings": [], - "memory": 500, - "essential": true, - "volumesFrom": [] - } - ], - "family": "hello_world", - "revision": 8 - } - } + { + "taskDefinition": { + "volumes": [], + "taskDefinitionArn": "arn:aws:ecs:us-west-2:123456789012:task-definition/hello_world:8", + "containerDefinitions": [ + { + "environment": [], + "name": "wordpress", + "links": [ + "mysql" + ], + "mountPoints": [], + "image": "wordpress", + "essential": true, + "portMappings": [ + { + "containerPort": 80, + "hostPort": 80 + } + ], + "memory": 500, + "cpu": 10, + "volumesFrom": [] + }, + { + "environment": [ + { + "name": "MYSQL_ROOT_PASSWORD", + "value": "password" + } + ], + "name": "mysql", + "mountPoints": [], + "image": "mysql", + "cpu": 10, + "portMappings": [], + "memory": 500, + "essential": true, + "volumesFrom": [] + } + ], + "family": "hello_world", + "revision": 8 + } + } + +For more information, see `Amazon ECS Task Definitions `_ in the *Amazon ECS Developer Guide*. diff --git a/bin/awscli/examples/ecs/describe-task-sets.rst b/bin/awscli/examples/ecs/describe-task-sets.rst new file mode 100644 index 00000000..24e657b1 --- /dev/null +++ b/bin/awscli/examples/ecs/describe-task-sets.rst @@ -0,0 +1,48 @@ +**To describe a task set** + +The following ``describe-task-sets`` example describes a task set in a service that uses an external deployer. :: + + aws ecs describe-task-sets \ + --cluster MyCluster \ + --service MyService \ + --task-sets arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789 + +Output:: + + { + "taskSets": [ + { + "id": "ecs-svc/1234567890123456789", + "taskSetArn": "arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789", + "status": "ACTIVE", + "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/sample-fargate:2", + "computedDesiredCount": 0, + "pendingCount": 0, + "runningCount": 0, + "createdAt": 1557207715.195, + "updatedAt": 1557207740.014, + "launchType": "EC2", + "networkConfiguration": { + "awsvpcConfiguration": { + "subnets": [ + "subnet-12344321" + ], + "securityGroups": [ + "sg-1234431" + ], + "assignPublicIp": "DISABLED" + } + }, + "loadBalancers": [], + "serviceRegistries": [], + "scale": { + "value": 0.0, + "unit": "PERCENT" + }, + "stabilityStatus": "STEADY_STATE", + "stabilityStatusAt": 1557207740.014 + } + ], + "failures": [] + } + diff --git a/bin/awscli/examples/ecs/describe-tasks.rst b/bin/awscli/examples/ecs/describe-tasks.rst index 657a36e2..81f9834b 100644 --- a/bin/awscli/examples/ecs/describe-tasks.rst +++ b/bin/awscli/examples/ecs/describe-tasks.rst @@ -1,46 +1,88 @@ **To describe a task** -This example command provides a description of the specified task, using the task UUID as an identifier. +The following ``describe-tasks`` example retrieves the details of a task. You can specify the task by using either the ID or full ARN of the task. :: -Command:: - - aws ecs describe-tasks --tasks c5cba4eb-5dad-405e-96db-71ef8eefe6a8 + aws ecs describe-tasks \ + --cluster MyCluster \ + --tasks arn:aws:ecs:us-west-2:123456789012:task/MyCluster/1234567890123456789 Output:: - { - "failures": [], - "tasks": [ - { - "taskArn": "arn:aws:ecs:::task/c5cba4eb-5dad-405e-96db-71ef8eefe6a8", - "overrides": { - "containerOverrides": [ - { - "name": "ecs-demo" - } - ] - }, - "lastStatus": "RUNNING", - "containerInstanceArn": "arn:aws:ecs:::container-instance/18f9eda5-27d7-4c19-b133-45adc516e8fb", - "clusterArn": "arn:aws:ecs:::cluster/default", - "desiredStatus": "RUNNING", - "taskDefinitionArn": "arn:aws:ecs:::task-definition/amazon-ecs-sample:1", - "startedBy": "ecs-svc/9223370608528463088", - "containers": [ - { - "containerArn": "arn:aws:ecs:::container/7c01765b-c588-45b3-8290-4ba38bd6c5a6", - "taskArn": "arn:aws:ecs:::task/c5cba4eb-5dad-405e-96db-71ef8eefe6a8", - "lastStatus": "RUNNING", - "name": "ecs-demo", - "networkBindings": [ - { - "bindIP": "0.0.0.0", - "containerPort": 80, - "hostPort": 80 - } - ] - } - ] - } - ] - } + { + "tasks": [ + { + "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/MyCluster/1234567890123456789", + "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", + "taskDefinitionArn": "arn:aws:ecs:us-west-2:123456789012:task-definition/sample-fargate:2", + "overrides": { + "containerOverrides": [ + { + "name": "fargate-app" + } + ] + }, + "lastStatus": "RUNNING", + "desiredStatus": "RUNNING", + "cpu": "256", + "memory": "512", + "containers": [ + { + "containerArn": "arn:aws:ecs:us-west-2:123456789012:container/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", + "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/MyCluster/1234567890123456789", + "name": "fargate-app", + "lastStatus": "RUNNING", + "networkBindings": [], + "networkInterfaces": [ + { + "attachmentId": "a1b2c3d4-5678-90ab-cdef-22222EXAMPLE", + "privateIpv4Address": "10.0.0.4" + } + ], + "healthStatus": "UNKNOWN", + "cpu": "0" + } + ], + "startedBy": "ecs-svc/1234567890123456789", + "version": 3, + "connectivity": "CONNECTED", + "connectivityAt": 1557134016.971, + "pullStartedAt": 1557134025.379, + "pullStoppedAt": 1557134033.379, + "createdAt": 1557134011.644, + "startedAt": 1557134035.379, + "group": "service:fargate-service", + "launchType": "FARGATE", + "platformVersion": "1.3.0", + "attachments": [ + { + "id": "a1b2c3d4-5678-90ab-cdef-33333EXAMPLE", + "type": "ElasticNetworkInterface", + "status": "ATTACHED", + "details": [ + { + "name": "subnetId", + "value": "subnet-12344321" + }, + { + "name": "networkInterfaceId", + "value": "eni-12344321" + }, + { + "name": "macAddress", + "value": "0a:90:09:84:f9:14" + }, + { + "name": "privateIPv4Address", + "value": "10.0.0.4" + } + ] + } + ], + "healthStatus": "UNKNOWN", + "tags": [] + } + ], + "failures": [] + } + +For more information, see `Amazon ECS Task Definitions `_ in the *Amazon ECS Developer Guide*. diff --git a/bin/awscli/examples/ecs/list-account-settings.rst b/bin/awscli/examples/ecs/list-account-settings.rst new file mode 100644 index 00000000..397e02b3 --- /dev/null +++ b/bin/awscli/examples/ecs/list-account-settings.rst @@ -0,0 +1,47 @@ +**Example 1: To view the account settings for an account** + +The following ``list-account-settings`` example displays the effective account settings for an account. :: + + aws ecs list-account-settings --effective-settings + +Output:: + + { + "settings": [ + { + "name": "containerInstanceLongArnFormat", + "value": "enabled", + "principalArn": "arn:aws:iam::123456789012:root" + }, + { + "name": "serviceLongArnFormat", + "value": "enabled", + "principalArn": "arn:aws:iam::123456789012:root" + }, + { + "name": "taskLongArnFormat", + "value": "enabled", + "principalArn": "arn:aws:iam::123456789012:root" + } + ] + } + +**Example 2: To view the account settings for a specific IAM user or IAM role** + +The following ``list-account-settings`` example displays the account settings for the specified IAM user or IAM role. :: + + aws ecs list-account-settings --principal-arn arn:aws:iam::123456789012:user/MyUser + +Output:: + + { + "settings": [ + { + "name": "serviceLongArnFormat", + "value": "enabled", + "principalArn": "arn:aws:iam::123456789012:user/MyUser" + } + ] + } + +For more information, see `Amazon Resource Names (ARNs) and IDs `_ in the *Amazon ECS Developer Guide*. \ No newline at end of file diff --git a/bin/awscli/examples/ecs/list-clusters.rst b/bin/awscli/examples/ecs/list-clusters.rst index 9e61168f..d020efcb 100644 --- a/bin/awscli/examples/ecs/list-clusters.rst +++ b/bin/awscli/examples/ecs/list-clusters.rst @@ -1,16 +1,16 @@ **To list your available clusters** -This example command lists all of your available clusters in your default region. +The following ``list-clusters`` example lists all of the available clusters. :: -Command:: - - aws ecs list-clusters + aws ecs list-clusters Output:: - { - "clusterArns": [ - "arn:aws:ecs:us-east-1::cluster/test", - "arn:aws:ecs:us-east-1::cluster/default" - ] - } + { + "clusterArns": [ + "arn:aws:ecs:us-west-2:123456789012:cluster/MyECSCluster1", + "arn:aws:ecs:us-west-2:123456789012:cluster/AnotherECSCluster" + ] + } + +For more information, see `Amazon ECS Clusters `_ in the *Amazon ECS Developer Guide*. diff --git a/bin/awscli/examples/ecs/list-container-instances.rst b/bin/awscli/examples/ecs/list-container-instances.rst index 6aa19570..f7682309 100644 --- a/bin/awscli/examples/ecs/list-container-instances.rst +++ b/bin/awscli/examples/ecs/list-container-instances.rst @@ -1,16 +1,16 @@ -**To list your available container instances in a cluster** +**To list the container instances in a cluster** -This example command lists all of your available container instances in the specified cluster (`my_cluster`) in your default region. +The following ``list-container-instances`` example lists all of the available container instances in a cluster. :: -Command:: - - aws ecs list-container-instances --cluster my_cluster + aws ecs list-container-instances --cluster MyCluster Output:: - { - "containerInstanceArns": [ - "arn:aws:ecs:us-east-1::container-instance/f6bbb147-5370-4ace-8c73-c7181ded911f", - "arn:aws:ecs:us-east-1::container-instance/ffe3d344-77e2-476c-a4d0-bf560ad50acb" - ] - } + { + "containerInstanceArns": [ + "arn:aws:ecs:us-west-2:123456789012:container-instance/MyCluster/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", + "arn:aws:ecs:us-west-2:123456789012:container-instance/MyCluster/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE" + ] + } + +For more information, see `Amazon ECS Container Instances `_ in the *Amazon ECS Developer Guide*. diff --git a/bin/awscli/examples/ecs/list-services.rst b/bin/awscli/examples/ecs/list-services.rst index e64c25f7..22ed2e31 100644 --- a/bin/awscli/examples/ecs/list-services.rst +++ b/bin/awscli/examples/ecs/list-services.rst @@ -1,15 +1,15 @@ **To list the services in a cluster** -This example command lists the services running in a cluster. +The following ``list-services`` example shows how to list the services running in a cluster. :: -Command:: - - aws ecs list-services + aws ecs list-services --cluster MyCluster Output:: - { - "serviceArns": [ - "arn:aws:ecs:::service/my-http-service" - ] - } + { + "serviceArns": [ + "arn:aws:ecs:us-west-2:123456789012:service/MyCluster/MyService" + ] + } + +For more information, see `Services `_ in the *Amazon ECS Developer Guide*. diff --git a/bin/awscli/examples/ecs/list-tags-for-resource.rst b/bin/awscli/examples/ecs/list-tags-for-resource.rst new file mode 100644 index 00000000..eb4841a9 --- /dev/null +++ b/bin/awscli/examples/ecs/list-tags-for-resource.rst @@ -0,0 +1,25 @@ +**To list the tags for a resource** + +The following ``list-tags-for-resource`` example lists the tags for a specific cluster. :: + + aws ecs list-tags-for-resource \ + --resource-arn arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster + +Output:: + + { + "tags": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + }, + { + "key": "key3", + "value": "value3" + } + ] + } diff --git a/bin/awscli/examples/ecs/list-task-definition-families.rst b/bin/awscli/examples/ecs/list-task-definition-families.rst index 634c4755..397d4247 100644 --- a/bin/awscli/examples/ecs/list-task-definition-families.rst +++ b/bin/awscli/examples/ecs/list-task-definition-families.rst @@ -1,35 +1,33 @@ -**To list your registered task definition families** +**Example 1: To list the registered task definition families** -This example command lists all of your registered task definition families. +The following ``list-task-definition-families`` example lists all of the registered task definition families. :: -Command:: - - aws ecs list-task-definition-families + aws ecs list-task-definition-families Output:: - { - "families": [ - "node-js-app", - "web-timer", - "hpcc", - "hpcc-c4-8xlarge" - ] - } - -**To filter your registered task definition families** + { + "families": [ + "node-js-app", + "web-timer", + "hpcc", + "hpcc-c4-8xlarge" + ] + } -This example command lists the task definition revisions that start with "hpcc". +**Example 2: To filter the registered task definition families** -Command:: +The following ``list-task-definition-families`` example lists the task definition revisions that start with "hpcc". :: - aws ecs list-task-definition-families --family-prefix hpcc + aws ecs list-task-definition-families --family-prefix hpcc Output:: - { - "families": [ - "hpcc", - "hpcc-c4-8xlarge" - ] - } + { + "families": [ + "hpcc", + "hpcc-c4-8xlarge" + ] + } + +For more information, see `Task Definition Parameters `_ in the *Amazon ECS Developer Guide*. diff --git a/bin/awscli/examples/ecs/list-task-definitions.rst b/bin/awscli/examples/ecs/list-task-definitions.rst index a7e8fd7d..351ca46c 100644 --- a/bin/awscli/examples/ecs/list-task-definitions.rst +++ b/bin/awscli/examples/ecs/list-task-definitions.rst @@ -1,39 +1,37 @@ -**To list your registered task definitions** +**Example 1: To list the registered task definitions** -This example command lists all of your registered task definitions. +The following ``list-task-definitions`` example lists all of the registered task definitions. :: -Command:: - - aws ecs list-task-definitions + aws ecs list-task-definitions Output:: - { - "taskDefinitionArns": [ - "arn:aws:ecs:us-east-1::task-definition/sleep300:2", - "arn:aws:ecs:us-east-1::task-definition/sleep360:1", - "arn:aws:ecs:us-east-1::task-definition/wordpress:3", - "arn:aws:ecs:us-east-1::task-definition/wordpress:4", - "arn:aws:ecs:us-east-1::task-definition/wordpress:5", - "arn:aws:ecs:us-east-1::task-definition/wordpress:6" - ] - } - -**To list the registered task definitions in a family** + { + "taskDefinitionArns": [ + "arn:aws:ecs:us-west-2:123456789012:task-definition/sleep300:2", + "arn:aws:ecs:us-west-2:123456789012:task-definition/sleep360:1", + "arn:aws:ecs:us-west-2:123456789012:task-definition/wordpress:3", + "arn:aws:ecs:us-west-2:123456789012:task-definition/wordpress:4", + "arn:aws:ecs:us-west-2:123456789012:task-definition/wordpress:5", + "arn:aws:ecs:us-west-2:123456789012:task-definition/wordpress:6" + ] + } -This example command lists the task definition revisions of a specified family. +**Example 2: To list the registered task definitions in a family** -Command:: +The following `list-task-definitions` example lists the task definition revisions of a specified family. :: - aws ecs list-task-definitions --family-prefix wordpress + aws ecs list-task-definitions --family-prefix wordpress Output:: - { - "taskDefinitionArns": [ - "arn:aws:ecs:us-east-1::task-definition/wordpress:3", - "arn:aws:ecs:us-east-1::task-definition/wordpress:4", - "arn:aws:ecs:us-east-1::task-definition/wordpress:5", - "arn:aws:ecs:us-east-1::task-definition/wordpress:6" - ] - } \ No newline at end of file + { + "taskDefinitionArns": [ + "arn:aws:ecs:us-west-2:123456789012:task-definition/wordpress:3", + "arn:aws:ecs:us-west-2:123456789012:task-definition/wordpress:4", + "arn:aws:ecs:us-west-2:123456789012:task-definition/wordpress:5", + "arn:aws:ecs:us-west-2:123456789012:task-definition/wordpress:6" + ] + } + +For more information, see `Amazon ECS Task Definitions `_ in the *Amazon ECS Developer Guide*. diff --git a/bin/awscli/examples/ecs/list-tasks.rst b/bin/awscli/examples/ecs/list-tasks.rst index d35e8c35..42a6837f 100644 --- a/bin/awscli/examples/ecs/list-tasks.rst +++ b/bin/awscli/examples/ecs/list-tasks.rst @@ -1,32 +1,30 @@ -**To list the tasks in a cluster** +**Example 1: To list the tasks in a cluster** -This example command lists all of the tasks in a cluster. +The following ``list-tasks`` example lists all of the tasks in a cluster. :: -Command:: - - aws ecs list-tasks --cluster default + aws ecs list-tasks --cluster default Output:: - { - "taskArns": [ - "arn:aws:ecs:us-east-1::task/0cc43cdb-3bee-4407-9c26-c0e6ea5bee84", - "arn:aws:ecs:us-east-1::task/6b809ef6-c67e-4467-921f-ee261c15a0a1" - ] - } - -**To list the tasks on a particular container instance** + { + "taskArns": [ + "arn:aws:ecs:us-west-2:123456789012:task/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", + "arn:aws:ecs:us-west-2:123456789012:task/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE" + ] + } -This example command lists the tasks of a specified container instance, using the container instance UUID as a filter. +**Example 2: To list the tasks on a particular container instance** -Command:: +The following ``list-tasks`` example lists the tasks on a container instance, using the container instance UUID as a filter. :: - aws ecs list-tasks --cluster default --container-instance f6bbb147-5370-4ace-8c73-c7181ded911f + aws ecs list-tasks --cluster default --container-instance a1b2c3d4-5678-90ab-cdef-33333EXAMPLE Output:: - { - "taskArns": [ - "arn:aws:ecs:us-east-1::task/0cc43cdb-3bee-4407-9c26-c0e6ea5bee84" - ] - } \ No newline at end of file + { + "taskArns": [ + "arn:aws:ecs:us-west-2:123456789012:task/a1b2c3d4-5678-90ab-cdef-44444EXAMPLE" + ] + } + +For more information, see `Amazon ECS Task Definitions `_ in the *Amazon ECS Developer Guide*. diff --git a/bin/awscli/examples/ecs/put-account-setting-default.rst b/bin/awscli/examples/ecs/put-account-setting-default.rst new file mode 100644 index 00000000..821d7258 --- /dev/null +++ b/bin/awscli/examples/ecs/put-account-setting-default.rst @@ -0,0 +1,17 @@ +**To modify the default account settings** + +The following ``put-account-setting-default`` example modifies the default account setting for all IAM users or roles on your account. These changes apply to the entire AWS account unless an IAM user or role explicitly overrides these settings for themselves. :: + + aws ecs put-account-setting-default --name serviceLongArnFormat --value enabled + +Output:: + + { + "setting": { + "name": "serviceLongArnFormat", + "value": "enabled", + "principalArn": "arn:aws:iam::123456789012:root" + } + } + +For more information, see `Amazon Resource Names (ARNs) and IDs `_ in the *Amazon ECS Developer Guide*. \ No newline at end of file diff --git a/bin/awscli/examples/ecs/put-account-settings.rst b/bin/awscli/examples/ecs/put-account-settings.rst new file mode 100644 index 00000000..7f3a49b6 --- /dev/null +++ b/bin/awscli/examples/ecs/put-account-settings.rst @@ -0,0 +1,19 @@ +**To modify the account settings for an IAM user or IAM role** + +The following ``put-account-setting`` example modifies the account settings for the specified IAM user or IAM role. :: + + aws ecs put-account-setting \ + --name serviceLongArnFormat \ + --value enabled \ + --principal-arn arn:aws:iam::123456789012:user/MyUser + +Output:: + + { + "setting": { + "name": "serviceLongArnFormat", + "value": "enabled", + "principalArn": "arn:aws:iam::123456789012:user/MyUser" + } + } + diff --git a/bin/awscli/examples/ecs/register-task-definition.rst b/bin/awscli/examples/ecs/register-task-definition.rst index 118d4a0b..b796e4b7 100644 --- a/bin/awscli/examples/ecs/register-task-definition.rst +++ b/bin/awscli/examples/ecs/register-task-definition.rst @@ -1,108 +1,123 @@ -**To register a task definition with a JSON file** - -This example registers a task definition to the specified family with container definitions that are saved in JSON format at the specified file location. - -Command:: - - aws ecs register-task-definition --cli-input-json file:///sleep360.json - -JSON file format:: - - { - "containerDefinitions": [ - { - "name": "sleep", - "image": "busybox", - "cpu": 10, - "command": [ - "sleep", - "360" +**Example 1: To register a task definition with a JSON file** + +The following ``register-task-definition`` example registers a task definition to the specified family with container definitions that are saved in JSON format at the specified file location. :: + + aws ecs register-task-definition \ + --cli-input-json file:///sleep360.json + +``sleep360.json`` file contents:: + + { + "containerDefinitions": [ + { + "name": "sleep", + "image": "busybox", + "cpu": 10, + "command": [ + "sleep", + "360" + ], + "memory": 10, + "essential": true + } ], - "memory": 10, - "essential": true - } - ], - "family": "sleep360" - } + "family": "sleep360" + } Output:: - { - "taskDefinition": { - "volumes": [], - "taskDefinitionArn": "arn:aws:ecs:us-east-1::task-definition/sleep360:19", - "containerDefinitions": [ - { - "environment": [], - "name": "sleep", - "mountPoints": [], - "image": "busybox", - "cpu": 10, - "portMappings": [], - "command": [ - "sleep", - "360" - ], - "memory": 10, - "essential": true, - "volumesFrom": [] - } - ], - "family": "sleep360", - "revision": 1 - } - } - -**To register a task definition with a JSON string** - -This example registers a the same task definition from the previous example, but the container definitions are in a string format with the double quotes escaped. - -Command:: - - aws ecs register-task-definition --family sleep360 --container-definitions "[{\"name\":\"sleep\",\"image\":\"busybox\",\"cpu\":10,\"command\":[\"sleep\",\"360\"],\"memory\":10,\"essential\":true}]" - -**To use data volumes in a task definition** - -This example task definition creates a data volume called `webdata` that exists at `/ecs/webdata` on the container instance. The volume is mounted read-only as `/usr/share/nginx/html` on the `web` container, and read-write as `/nginx/` on the `timer` container. - -Task Definition:: - - { - "family": "web-timer", - "containerDefinitions": [ - { - "name": "web", - "image": "nginx", - "cpu": 99, - "memory": 100, - "portMappings": [{ - "containerPort": 80, - "hostPort": 80 - }], - "essential": true, - "mountPoints": [{ - "sourceVolume": "webdata", - "containerPath": "/usr/share/nginx/html", - "readOnly": true - }] - }, { - "name": "timer", - "image": "busybox", - "cpu": 10, - "memory": 20, - "entryPoint": ["sh", "-c"], - "command": ["while true; do date > /nginx/index.html; sleep 1; done"], - "mountPoints": [{ - "sourceVolume": "webdata", - "containerPath": "/nginx/" - }] - }], - "volumes": [{ - "name": "webdata", - "host": { - "sourcePath": "/ecs/webdata" - }} - ] - } - - + { + "taskDefinition": { + "taskDefinitionArn": "arn:aws:ecs:us-west-2:123456789012:task-definition/sleep360:2", + "containerDefinitions": [ + { + "name": "sleep", + "image": "busybox", + "cpu": 10, + "memory": 10, + "portMappings": [], + "essential": true, + "command": [ + "sleep", + "360" + ], + "environment": [], + "mountPoints": [], + "volumesFrom": [] + } + ], + "family": "sleep360", + "revision": 2, + "volumes": [], + "status": "ACTIVE", + "placementConstraints": [], + "compatibilities": [ + "EC2" + ] + } + } + +**Example 2: To register a task definition with a JSON string parameter** + +The following ``register-task-definition`` example registers the same task definition from the previous example, but the container definitions are provided as a string parameter with the double quotes escaped. :: + + aws ecs register-task-definition \ + --family sleep360 \ + --container-definitions "[{\"name\":\"sleep\",\"image\":\"busybox\",\"cpu\":10,\"command\":[\"sleep\",\"360\"],\"memory\":10,\"essential\":true}]" + +The output is identical to the previous example. + +**Example 3: To use data volumes in a task definition** + +This example task definition file creates a data volume called `webdata` that exists at `/ecs/webdata` on the container instance. The volume is mounted read-only as `/usr/share/nginx/html` on the `web` container, and read-write as `/nginx/` on the `timer` container. :: + + { + "family": "web-timer", + "containerDefinitions": [ + { + "name": "web", + "image": "nginx", + "cpu": 99, + "memory": 100, + "portMappings": [ + { + "containerPort": 80, + "hostPort": 80 + } + ], + "essential": true, + "mountPoints": [ + { + "sourceVolume": "webdata", + "containerPath": "/usr/share/nginx/html", + "readOnly": true + } + ] + }, + { + "name": "timer", + "image": "busybox", + "cpu": 10, + "memory": 20, + "entryPoint": ["sh", "-c"], + "command": ["while true; do date > /nginx/index.html; sleep 1; done"], + "mountPoints": [ + { + "sourceVolume": "webdata", + "containerPath": "/nginx/" + } + ] + } + ], + "volumes": [ + { + "name": "webdata", + "host": { + "sourcePath": "/ecs/webdata" + } + } + ] + } + + +For more information, see `Creating a Task Definition `_ in the *Amazon ECS Developer Guide*. diff --git a/bin/awscli/examples/ecs/run-task.rst b/bin/awscli/examples/ecs/run-task.rst index a68ba0bf..745a9a75 100644 --- a/bin/awscli/examples/ecs/run-task.rst +++ b/bin/awscli/examples/ecs/run-task.rst @@ -1,36 +1,37 @@ **To run a task on your default cluster** -This example command runs the specified task definition on your default cluster. +The following ``run-task`` example runs a task on the default cluster. :: -Command:: - - aws ecs run-task --cluster default --task-definition sleep360:1 + aws ecs run-task --cluster default --task-definition sleep360:1 Output:: - { - "tasks": [ - { - "taskArn": "arn:aws:ecs:us-east-1::task/a9f21ea7-c9f5-44b1-b8e6-b31f50ed33c0", - "overrides": { - "containerOverrides": [ - { - "name": "sleep" - } - ] - }, - "lastStatus": "PENDING", - "containerInstanceArn": "arn:aws:ecs:us-east-1::container-instance/ffe3d344-77e2-476c-a4d0-bf560ad50acb", - "desiredStatus": "RUNNING", - "taskDefinitionArn": "arn:aws:ecs:us-east-1::task-definition/sleep360:1", - "containers": [ - { - "containerArn": "arn:aws:ecs:us-east-1::container/58591c8e-be29-4ddf-95aa-ee459d4c59fd", - "taskArn": "arn:aws:ecs:us-east-1::task/a9f21ea7-c9f5-44b1-b8e6-b31f50ed33c0", - "lastStatus": "PENDING", - "name": "sleep" - } - ] - } - ] - } + { + "tasks": [ + { + "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/a1b2c3d4-5678-90ab-ccdef-11111EXAMPLE", + "overrides": { + "containerOverrides": [ + { + "name": "sleep" + } + ] + }, + "lastStatus": "PENDING", + "containerInstanceArn": "arn:aws:ecs:us-west-2:123456789012:container-instance/a1b2c3d4-5678-90ab-ccdef-22222EXAMPLE", + "desiredStatus": "RUNNING", + "taskDefinitionArn": "arn:aws:ecs:us-west-2:123456789012:task-definition/sleep360:1", + "containers": [ + { + "containerArn": "arn:aws:ecs:us-west-2:123456789012:container/a1b2c3d4-5678-90ab-ccdef-33333EXAMPLE", + "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/a1b2c3d4-5678-90ab-ccdef-11111EXAMPLE", + "lastStatus": "PENDING", + "name": "sleep" + } + ] + } + ] + } + + +For more information, see `Running Tasks `_ in the *Amazon ECS Developer Guide*. \ No newline at end of file diff --git a/bin/awscli/examples/ecs/tag-resource.rst b/bin/awscli/examples/ecs/tag-resource.rst new file mode 100644 index 00000000..e6a783e3 --- /dev/null +++ b/bin/awscli/examples/ecs/tag-resource.rst @@ -0,0 +1,19 @@ +**To tag a resource** + +The following ``tag-resource`` example adds a single tag to the specified resource. :: + + aws ecs tag-resource \ + --resource-arn arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster + --tags key=key1,value=value1 + +This command produces no output. + +**To add multiple tags to a resource** + +The following ``tag-resource`` example adds multiple tags to the specified resource. :: + + aws ecs tag-resource \ + --resource-arn arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster \ + --tags key=key1,value=value1 key=key2,value=value2 key=key3,value=value3 + +This command produces no output. \ No newline at end of file diff --git a/bin/awscli/examples/ecs/untag-resource.rst b/bin/awscli/examples/ecs/untag-resource.rst new file mode 100644 index 00000000..0cc00912 --- /dev/null +++ b/bin/awscli/examples/ecs/untag-resource.rst @@ -0,0 +1,10 @@ +**To remove a tag from a resource** + +The following ``untag-resource`` example removes the listed tags from the specified resource. :: + + aws ecs untag-resource \ + --resource-arn arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster \ + --tag-keys key1,key2 + +This command produces no output. + diff --git a/bin/awscli/examples/ecs/update-container-agent.rst b/bin/awscli/examples/ecs/update-container-agent.rst index 2cecf991..f0267984 100644 --- a/bin/awscli/examples/ecs/update-container-agent.rst +++ b/bin/awscli/examples/ecs/update-container-agent.rst @@ -1,22 +1,22 @@ **To update the container agent on an Amazon ECS container instance** -This example command updates the container agent on the container instance ``a3e98c65-2a40-4452-a63c-62beb4d9be9b`` in the default cluster. +The following ``update-container-agent`` example updates the container agent on the specified container instance in the default cluster. :: -Command:: - - aws ecs update-container-agent --cluster default --container-instance a3e98c65-2a40-4452-a63c-62beb4d9be9b + aws ecs update-container-agent --cluster default --container-instance a1b2c3d4-5678-90ab-cdef-11111EXAMPLE Output:: - { - "containerInstance": { - "status": "ACTIVE", - ... - "agentUpdateStatus": "PENDING", - "versionInfo": { - "agentVersion": "1.0.0", - "agentHash": "4023248", - "dockerVersion": "DockerVersion: 1.5.0" - } - } - } \ No newline at end of file + { + "containerInstance": { + "status": "ACTIVE", + ... + "agentUpdateStatus": "PENDING", + "versionInfo": { + "agentVersion": "1.0.0", + "agentHash": "4023248", + "dockerVersion": "DockerVersion: 1.5.0" + } + } + } + +For more information, see `Updating the Amazon ECS Container Agent `_ in the *Amazon ECS Developer Guide*. diff --git a/bin/awscli/examples/ecs/update-service-primary-task-set.rst b/bin/awscli/examples/ecs/update-service-primary-task-set.rst new file mode 100644 index 00000000..80310e3e --- /dev/null +++ b/bin/awscli/examples/ecs/update-service-primary-task-set.rst @@ -0,0 +1,44 @@ +**To update the primary task set for a service** + +The following ``update-service-primary-task-set`` example updates the primary task set for the specified service. :: + + aws ecs update-service-primary-task-set \ + --cluster MyCluster \ + --service MyService \ + --primary-task-set arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789 + +Output:: + + { + "taskSet": { + "id": "ecs-svc/1234567890123456789", + "taskSetArn": "arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789", + "status": "PRIMARY", + "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/sample-fargate:2", + "computedDesiredCount": 1, + "pendingCount": 0, + "runningCount": 0, + "createdAt": 1557128360.711, + "updatedAt": 1557129412.653, + "launchType": "EC2", + "networkConfiguration": { + "awsvpcConfiguration": { + "subnets": [ + "subnet-12344321" + ], + "securityGroups": [ + "sg-12344312" + ], + "assignPublicIp": "DISABLED" + } + }, + "loadBalancers": [], + "serviceRegistries": [], + "scale": { + "value": 50.0, + "unit": "PERCENT" + }, + "stabilityStatus": "STABILIZING", + "stabilityStatusAt": 1557129279.914 + } + } diff --git a/bin/awscli/examples/ecs/update-service.rst b/bin/awscli/examples/ecs/update-service.rst index 38060643..ac872373 100644 --- a/bin/awscli/examples/ecs/update-service.rst +++ b/bin/awscli/examples/ecs/update-service.rst @@ -1,15 +1,13 @@ -**To change the task definition used in a service** +**Example 1: To change the task definition used in a service** -This example command updates the ``my-http-service`` service to use the ``amazon-ecs-sample`` task definition. +The following ``update-service`` example updates the ``my-http-service`` service to use the ``amazon-ecs-sample`` task definition. :: -Command:: + aws ecs update-service --service my-http-service --task-definition amazon-ecs-sample - aws ecs update-service --service my-http-service --task-definition amazon-ecs-sample +**Example 2: To change the number of tasks in a service** -**To change the number of tasks in a service** +The following ``update-service`` example updates the desired task count of the service ``my-http-service`` to 3. :: -This example command updates the desired count of the ``my-http-service`` service to 10. + aws ecs update-service --service my-http-service --desired-count 3 -Command:: - - aws ecs update-service --service my-http-service --desired-count 10 \ No newline at end of file +For more information, see `Updating a Service `_ in the *Amazon ECS Developer Guide*. \ No newline at end of file diff --git a/bin/awscli/examples/ecs/update-task-set.rst b/bin/awscli/examples/ecs/update-task-set.rst new file mode 100644 index 00000000..cd03947d --- /dev/null +++ b/bin/awscli/examples/ecs/update-task-set.rst @@ -0,0 +1,45 @@ +**To update a task set** + +The following ``update-task-set`` example updates a task set to adjust the scale. :: + + aws ecs update-task-set \ + --cluster MyCluster \ + --service MyService \ + --task-set arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789 \ + --scale value=50,unit=PERCENT + +Output:: + + { + "taskSet": { + "id": "ecs-svc/1234567890123456789", + "taskSetArn": "arn:aws:ecs:us-west-2:123456789012:task-set/MyCluster/MyService/ecs-svc/1234567890123456789", + "status": "ACTIVE", + "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/sample-fargate:2", + "computedDesiredCount": 0, + "pendingCount": 0, + "runningCount": 0, + "createdAt": 1557128360.711, + "updatedAt": 1557129279.914, + "launchType": "EC2", + "networkConfiguration": { + "awsvpcConfiguration": { + "subnets": [ + "subnet-12344321" + ], + "securityGroups": [ + "sg-12344321" + ], + "assignPublicIp": "DISABLED" + } + }, + "loadBalancers": [], + "serviceRegistries": [], + "scale": { + "value": 50.0, + "unit": "PERCENT" + }, + "stabilityStatus": "STABILIZING", + "stabilityStatusAt": 1557129279.914 + } + } diff --git a/bin/awscli/examples/eks/update-kubeconfig/_description.rst b/bin/awscli/examples/eks/update-kubeconfig/_description.rst index 457d7856..7f978eb1 100644 --- a/bin/awscli/examples/eks/update-kubeconfig/_description.rst +++ b/bin/awscli/examples/eks/update-kubeconfig/_description.rst @@ -1,7 +1,7 @@ Configures kubectl so that you can connect to an Amazon EKS cluster. Note: - To use the resulting configuration, you must have kubectl and the aws-iam-authenticator installed and in your PATH environment variable. + To use the resulting configuration, you must have kubectl installed and in your PATH environment variable. This command constructs a configuration with prepopulated server and certificate authority data values for a specified cluster. You can specify an IAM role ARN with the --role-arn option to use for authentication when you issue kubectl commands. diff --git a/bin/awscli/examples/elastictranscoder/cancel-job.rst b/bin/awscli/examples/elastictranscoder/cancel-job.rst new file mode 100644 index 00000000..4acd71e6 --- /dev/null +++ b/bin/awscli/examples/elastictranscoder/cancel-job.rst @@ -0,0 +1,8 @@ +**To cancel a job for ElasticTranscoder** + +This cancels the specified job for ElasticTranscoder. + +Command:: + + aws elastictranscoder cancel-job --id 3333333333333-abcde3 + diff --git a/bin/awscli/examples/elastictranscoder/create-job.rst b/bin/awscli/examples/elastictranscoder/create-job.rst new file mode 100644 index 00000000..6b10d1a2 --- /dev/null +++ b/bin/awscli/examples/elastictranscoder/create-job.rst @@ -0,0 +1,94 @@ +**To create a job for ElasticTranscoder** + +The following ``create-job`` example creates a job for ElasticTranscoder. :: + + aws elastictranscoder create-job \ + --pipeline-id 1111111111111-abcde1 \ + --inputs file://inputs.json \ + --outputs file://outputs.json \ + --output-key-prefix "recipes/" \ + --user-metadata file://user-metadata.json + +Contents of ``inputs.json``:: + + [{ + "Key":"ETS_example_file.mp4", + "FrameRate":"auto", + "Resolution":"auto", + "AspectRatio":"auto", + "Interlaced":"auto", + "Container":"mp4" + }] + +Contents of outputs.json:: + + [ + { + "Key":"webm/ETS_example_file-kindlefirehd.webm", + "Rotate":"0", + "PresetId":"1351620000001-100250" + } + ] + +Contents of ``user-metadata.json``:: + + { + "Food type":"Italian", + "Cook book":"recipe notebook" + } + +Output:: + + { + "Job": { + "Status": "Submitted", + "Inputs": [ + { + "Container": "mp4", + "FrameRate": "auto", + "Key": "ETS_example_file.mp4", + "AspectRatio": "auto", + "Resolution": "auto", + "Interlaced": "auto" + } + ], + "Playlists": [], + "Outputs": [ + { + "Status": "Submitted", + "Rotate": "0", + "PresetId": "1351620000001-100250", + "Watermarks": [], + "Key": "webm/ETS_example_file-kindlefirehd.webm", + "Id": "1" + } + ], + "PipelineId": "3333333333333-abcde3", + "OutputKeyPrefix": "recipes/", + "UserMetadata": { + "Cook book": "recipe notebook", + "Food type": "Italian" + }, + "Output": { + "Status": "Submitted", + "Rotate": "0", + "PresetId": "1351620000001-100250", + "Watermarks": [], + "Key": "webm/ETS_example_file-kindlefirehd.webm", + "Id": "1" + }, + "Timing": { + "SubmitTimeMillis": 1533838012298 + }, + "Input": { + "Container": "mp4", + "FrameRate": "auto", + "Key": "ETS_example_file.mp4", + "AspectRatio": "auto", + "Resolution": "auto", + "Interlaced": "auto" + }, + "Id": "1533838012294-example", + "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:job/1533838012294-example" + } + } diff --git a/bin/awscli/examples/elastictranscoder/create-pipeline.rst b/bin/awscli/examples/elastictranscoder/create-pipeline.rst new file mode 100644 index 00000000..16aeb5b2 --- /dev/null +++ b/bin/awscli/examples/elastictranscoder/create-pipeline.rst @@ -0,0 +1,95 @@ + +**To create a pipeline for ElasticTranscoder** + +The following ``create-pipeline`` example creates a pipeline for ElasticTranscoder. :: + + aws elastictranscoder create-pipeline \ + --name Default \ + --input-bucket salesoffice.example.com-source \ + --role arn:aws:iam::123456789012:role/Elastic_Transcoder_Default_Role \ + --notifications Progressing="",Completed="",Warning="",Error=arn:aws:sns:us-east-1:111222333444:ETS_Errors \ + --content-config file://content-config.json \ + --thumbnail-config file://thumbnail-config.json + +Contents of ``content-config.json``:: + + { + "Bucket":"salesoffice.example.com-public-promos", + "Permissions":[ + { + "GranteeType":"Email", + "Grantee":"marketing-promos@example.com", + "Access":[ + "FullControl" + ] + } + ], + "StorageClass":"Standard" + } + +Contents of ``thumbnail-config.json``:: + + { + "Bucket":"salesoffice.example.com-public-promos-thumbnails", + "Permissions":[ + { + "GranteeType":"Email", + "Grantee":"marketing-promos@example.com", + "Access":[ + "FullControl" + ] + } + ], + "StorageClass":"ReducedRedundancy" + } + +Output:: + + { + "Pipeline": { + "Status": "Active", + "ContentConfig": { + "Bucket": "salesoffice.example.com-public-promos", + "StorageClass": "Standard", + "Permissions": [ + { + "Access": [ + "FullControl" + ], + "Grantee": "marketing-promos@example.com", + "GranteeType": "Email" + } + ] + }, + "Name": "Default", + "ThumbnailConfig": { + "Bucket": "salesoffice.example.com-public-promos-thumbnails", + "StorageClass": "ReducedRedundancy", + "Permissions": [ + { + "Access": [ + "FullControl" + ], + "Grantee": "marketing-promos@example.com", + "GranteeType": "Email" + } + ] + }, + "Notifications": { + "Completed": "", + "Warning": "", + "Progressing": "", + "Error": "arn:aws:sns:us-east-1:123456789012:ETS_Errors" + }, + "Role": "arn:aws:iam::123456789012:role/Elastic_Transcoder_Default_Role", + "InputBucket": "salesoffice.example.com-source", + "Id": "1533765810590-example", + "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:pipeline/1533765810590-example" + }, + "Warnings": [ + { + "Message": "The SNS notification topic for Error events and the pipeline are in different regions, which increases processing time for jobs in the pipeline and can incur additional charges. To decrease processing time and prevent cross-regional charges, use the same region for the SNS notification topic and the pipeline.", + "Code": "6006" + } + ] + } diff --git a/bin/awscli/examples/elastictranscoder/create-preset.rst b/bin/awscli/examples/elastictranscoder/create-preset.rst new file mode 100644 index 00000000..1e229953 --- /dev/null +++ b/bin/awscli/examples/elastictranscoder/create-preset.rst @@ -0,0 +1,142 @@ + +**To create a preset for ElasticTranscoder** + +The following ``create-preset`` example creates a preset for ElasticTranscoder. :: + + aws elastictranscoder create-preset \ + --name DefaultPreset \ + --description "Use for published videos" \ + --container mp4 \ + --video file://video.json \ + --audio file://audio.json \ + --thumbnails file://thumbnails.json + +Contents of ``video.json``:: + + { + "Codec":"H.264", + "CodecOptions":{ + "Profile":"main", + "Level":"2.2", + "MaxReferenceFrames":"3", + "MaxBitRate":"", + "BufferSize":"", + "InterlacedMode":"Progressive", + "ColorSpaceConversionMode":"None" + }, + "KeyframesMaxDist":"240", + "FixedGOP":"false", + "BitRate":"1600", + "FrameRate":"auto", + "MaxFrameRate":"30", + "MaxWidth":"auto", + "MaxHeight":"auto", + "SizingPolicy":"Fit", + "PaddingPolicy":"Pad", + "DisplayAspectRatio":"auto", + "Watermarks":[ + { + "Id":"company logo", + "MaxWidth":"20%", + "MaxHeight":"20%", + "SizingPolicy":"ShrinkToFit", + "HorizontalAlign":"Right", + "HorizontalOffset":"10px", + "VerticalAlign":"Bottom", + "VerticalOffset":"10px", + "Opacity":"55.5", + "Target":"Content" + } + ] + } + +Contents of ``audio.json``:: + + { + "Codec":"AAC", + "CodecOptions":{ + "Profile":"AAC-LC" + }, + "SampleRate":"44100", + "BitRate":"96", + "Channels":"2" + } + +Contents of ``thumbnails.json``:: + + { + "Format":"png", + "Interval":"120", + "MaxWidth":"auto", + "MaxHeight":"auto", + "SizingPolicy":"Fit", + "PaddingPolicy":"Pad" + } + + +Output:: + + { + "Preset": { + "Thumbnails": { + "SizingPolicy": "Fit", + "MaxWidth": "auto", + "Format": "png", + "PaddingPolicy": "Pad", + "Interval": "120", + "MaxHeight": "auto" + }, + "Container": "mp4", + "Description": "Use for published videos", + "Video": { + "SizingPolicy": "Fit", + "MaxWidth": "auto", + "PaddingPolicy": "Pad", + "MaxFrameRate": "30", + "FrameRate": "auto", + "MaxHeight": "auto", + "KeyframesMaxDist": "240", + "FixedGOP": "false", + "Codec": "H.264", + "Watermarks": [ + { + "SizingPolicy": "ShrinkToFit", + "VerticalOffset": "10px", + "VerticalAlign": "Bottom", + "Target": "Content", + "MaxWidth": "20%", + "MaxHeight": "20%", + "HorizontalAlign": "Right", + "HorizontalOffset": "10px", + "Opacity": "55.5", + "Id": "company logo" + } + ], + "CodecOptions": { + "Profile": "main", + "MaxBitRate": "32", + "InterlacedMode": "Progressive", + "Level": "2.2", + "ColorSpaceConversionMode": "None", + "MaxReferenceFrames": "3", + "BufferSize": "5" + }, + "BitRate": "1600", + "DisplayAspectRatio": "auto" + }, + "Audio": { + "Channels": "2", + "CodecOptions": { + "Profile": "AAC-LC" + }, + "SampleRate": "44100", + "Codec": "AAC", + "BitRate": "96" + }, + "Type": "Custom", + "Id": "1533765290724-example" + "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:preset/1533765290724-example", + "Name": "DefaultPreset" + }, + "Warning": "" + } diff --git a/bin/awscli/examples/elastictranscoder/delete-pipeline.rst b/bin/awscli/examples/elastictranscoder/delete-pipeline.rst new file mode 100644 index 00000000..2ccfc95c --- /dev/null +++ b/bin/awscli/examples/elastictranscoder/delete-pipeline.rst @@ -0,0 +1,13 @@ +**To delete the specified ElasticTranscoder pipeline** + +This deletes the specified ElasticTranscoder pipeline. + +Command:: + + aws elastictranscoder delete-pipeline --id 1111111111111-abcde1 + +Output:: + + { + "Success":"true" + } diff --git a/bin/awscli/examples/elastictranscoder/delete-preset.rst b/bin/awscli/examples/elastictranscoder/delete-preset.rst new file mode 100644 index 00000000..e6907a59 --- /dev/null +++ b/bin/awscli/examples/elastictranscoder/delete-preset.rst @@ -0,0 +1,8 @@ +**To delete the specified ElasticTranscoder preset** + +This deletes the specified ElasticTranscoder preset. + +Command:: + + aws elastictranscoder delete-preset --id 5555555555555-abcde5 + diff --git a/bin/awscli/examples/elastictranscoder/list-jobs-by-pipeline.rst b/bin/awscli/examples/elastictranscoder/list-jobs-by-pipeline.rst new file mode 100644 index 00000000..7a67a4b5 --- /dev/null +++ b/bin/awscli/examples/elastictranscoder/list-jobs-by-pipeline.rst @@ -0,0 +1,14 @@ + +**To retrieve a list of ElasticTranscoder jobs in the specified pipeline** + +This example retrieves a list of ElasticTranscoder jobs in the specified pipeline. + +Command:: + + aws elastictranscoder list-jobs-by-pipeline --pipeline-id 1111111111111-abcde1 + +Output:: + + { + "Jobs": [] + } diff --git a/bin/awscli/examples/elastictranscoder/list-jobs-by-status.rst b/bin/awscli/examples/elastictranscoder/list-jobs-by-status.rst new file mode 100644 index 00000000..2daa0e6d --- /dev/null +++ b/bin/awscli/examples/elastictranscoder/list-jobs-by-status.rst @@ -0,0 +1,15 @@ + +**To retrieve a list of ElasticTranscoder jobs with a status of Complete** + +This example retrieves a list of ElasticTranscoder jobs with a status of Complete. + +Command:: + + aws elastictranscoder list-jobs-by-status --status Complete + +Output:: + + { + "Jobs": [] + } + diff --git a/bin/awscli/examples/elastictranscoder/list-pipelines.rst b/bin/awscli/examples/elastictranscoder/list-pipelines.rst new file mode 100644 index 00000000..aa1d7b3f --- /dev/null +++ b/bin/awscli/examples/elastictranscoder/list-pipelines.rst @@ -0,0 +1,85 @@ + +**To retrieve a list of ElasticTranscoder pipelines** + +This example retrieves a list of ElasticTranscoder pipelines. + +Command:: + + aws elastictranscoder list-pipelines + +Output:: + + { + "Pipelines": [ + { + "Status": "Active", + "ContentConfig": { + "Bucket": "ets-example", + "Permissions": [] + }, + "Name": "example-pipeline", + "ThumbnailConfig": { + "Bucket": "ets-example", + "Permissions": [] + }, + "Notifications": { + "Completed": "arn:aws:sns:us-west-2:123456789012:ets_example", + "Warning": "", + "Progressing": "", + "Error": "" + }, + "Role": "arn:aws:iam::123456789012:role/Elastic_Transcoder_Default_Role", + "InputBucket": "ets-example", + "OutputBucket": "ets-example", + "Id": "3333333333333-abcde3", + "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:pipeline/3333333333333-abcde3" + }, + { + "Status": "Paused", + "ContentConfig": { + "Bucket": "ets-example", + "Permissions": [] + }, + "Name": "example-php-test", + "ThumbnailConfig": { + "Bucket": "ets-example", + "Permissions": [] + }, + "Notifications": { + "Completed": "", + "Warning": "", + "Progressing": "", + "Error": "" + }, + "Role": "arn:aws:iam::123456789012:role/Elastic_Transcoder_Default_Role", + "InputBucket": "ets-example", + "OutputBucket": "ets-example", + "Id": "3333333333333-abcde2", + "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:pipeline/3333333333333-abcde2" + }, + { + "Status": "Active", + "ContentConfig": { + "Bucket": "ets-west-output", + "Permissions": [] + }, + "Name": "pipeline-west", + "ThumbnailConfig": { + "Bucket": "ets-west-output", + "Permissions": [] + }, + "Notifications": { + "Completed": "arn:aws:sns:us-west-2:123456789012:ets-notifications", + "Warning": "", + "Progressing": "", + "Error": "" + }, + "Role": "arn:aws:iam::123456789012:role/Elastic_Transcoder_Default_Role", + "InputBucket": "ets-west-input", + "OutputBucket": "ets-west-output", + "Id": "3333333333333-abcde1", + "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:pipeline/3333333333333-abcde1" + } + ] + } + diff --git a/bin/awscli/examples/elastictranscoder/list-presets.rst b/bin/awscli/examples/elastictranscoder/list-presets.rst new file mode 100644 index 00000000..239cf9ab --- /dev/null +++ b/bin/awscli/examples/elastictranscoder/list-presets.rst @@ -0,0 +1,95 @@ +**To retrieve a list of ElasticTranscoder presets** + +This example retrieves a list of ElasticTranscoder presets. + +Command:: + + aws elastictranscoder list-presets --max-items 2 + +Output:: + + { + "Presets": [ + { + "Container": "mp4", + "Name": "KindleFireHD-preset", + "Video": { + "Resolution": "1280x720", + "FrameRate": "30", + "KeyframesMaxDist": "90", + "FixedGOP": "false", + "Codec": "H.264", + "Watermarks": [], + "CodecOptions": { + "Profile": "main", + "MaxReferenceFrames": "3", + "ColorSpaceConversionMode": "None", + "InterlacedMode": "Progressive", + "Level": "4" + }, + "AspectRatio": "16:9", + "BitRate": "2200" + }, + "Audio": { + "Channels": "2", + "CodecOptions": { + "Profile": "AAC-LC" + }, + "SampleRate": "48000", + "Codec": "AAC", + "BitRate": "160" + }, + "Type": "Custom", + "Id": "3333333333333-abcde2", + "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:preset/3333333333333-abcde2", + "Thumbnails": { + "AspectRatio": "16:9", + "Interval": "60", + "Resolution": "192x108", + "Format": "png" + } + }, + { + "Thumbnails": { + "AspectRatio": "16:9", + "Interval": "60", + "Resolution": "192x108", + "Format": "png" + }, + "Container": "mp4", + "Description": "Custom preset for transcoding jobs", + "Video": { + "Resolution": "1280x720", + "FrameRate": "30", + "KeyframesMaxDist": "90", + "FixedGOP": "false", + "Codec": "H.264", + "Watermarks": [], + "CodecOptions": { + "Profile": "main", + "MaxReferenceFrames": "3", + "ColorSpaceConversionMode": "None", + "InterlacedMode": "Progressive", + "Level": "3.1" + }, + "AspectRatio": "16:9", + "BitRate": "2200" + }, + "Audio": { + "Channels": "2", + "CodecOptions": { + "Profile": "AAC-LC" + }, + "SampleRate": "44100", + "Codec": "AAC", + "BitRate": "160" + }, + "Type": "Custom", + "Id": "3333333333333-abcde3", + "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:preset/3333333333333-abcde3", + "Name": "Roman's Preset" + } + ], + "NextToken": "eyJQYWdlVG9rZW4iOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAyfQ==" + } + diff --git a/bin/awscli/examples/elastictranscoder/read-job.rst b/bin/awscli/examples/elastictranscoder/read-job.rst new file mode 100644 index 00000000..35057ec5 --- /dev/null +++ b/bin/awscli/examples/elastictranscoder/read-job.rst @@ -0,0 +1,66 @@ + +**To retrieve an ElasticTranscoder job** + +This example retrieves the specified ElasticTranscoder job. + +Command:: + + aws elastictranscoder read-job --id 1533838012294-example + +Output:: + + { + "Job": { + "Status": "Progressing", + "Inputs": [ + { + "Container": "mp4", + "FrameRate": "auto", + "Key": "ETS_example_file.mp4", + "AspectRatio": "auto", + "Resolution": "auto", + "Interlaced": "auto" + } + ], + "Playlists": [], + "Outputs": [ + { + "Status": "Progressing", + "Rotate": "0", + "PresetId": "1351620000001-100250", + "Watermarks": [], + "Key": "webm/ETS_example_file-kindlefirehd.webm", + "Id": "1" + } + ], + "PipelineId": "3333333333333-abcde3", + "OutputKeyPrefix": "recipes/", + "UserMetadata": { + "Cook book": "recipe notebook", + "Food type": "Italian" + }, + "Output": { + "Status": "Progressing", + "Rotate": "0", + "PresetId": "1351620000001-100250", + "Watermarks": [], + "Key": "webm/ETS_example_file-kindlefirehd.webm", + "Id": "1" + }, + "Timing": { + "SubmitTimeMillis": 1533838012298, + "StartTimeMillis": 1533838013786 + }, + "Input": { + "Container": "mp4", + "FrameRate": "auto", + "Key": "ETS_example_file.mp4", + "AspectRatio": "auto", + "Resolution": "auto", + "Interlaced": "auto" + }, + "Id": "1533838012294-example", + "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:job/1533838012294-example" + } + } + diff --git a/bin/awscli/examples/elastictranscoder/read-pipeline.rst b/bin/awscli/examples/elastictranscoder/read-pipeline.rst new file mode 100644 index 00000000..47118018 --- /dev/null +++ b/bin/awscli/examples/elastictranscoder/read-pipeline.rst @@ -0,0 +1,59 @@ +**To retrieve an ElasticTranscoder pipeline** + +This example retrieves the specified ElasticTranscoder pipeline. + +Command:: + + aws elastictranscoder read-pipeline --id 3333333333333-abcde3 + +Output:: + + { + "Pipeline": { + "Status": "Active", + "ContentConfig": { + "Bucket": "ets-example", + "StorageClass": "Standard", + "Permissions": [ + { + "Access": [ + "FullControl" + ], + "Grantee": "marketing-promos@example.com", + "GranteeType": "Email" + } + ] + }, + "Name": "Default", + "ThumbnailConfig": { + "Bucket": "ets-example", + "StorageClass": "ReducedRedundancy", + "Permissions": [ + { + "Access": [ + "FullControl" + ], + "Grantee": "marketing-promos@example.com", + "GranteeType": "Email" + } + ] + }, + "Notifications": { + "Completed": "", + "Warning": "", + "Progressing": "", + "Error": "arn:aws:sns:us-east-1:123456789012:ETS_Errors" + }, + "Role": "arn:aws:iam::123456789012:role/Elastic_Transcoder_Default_Role", + "InputBucket": "ets-example", + "Id": "3333333333333-abcde3", + "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:pipeline/3333333333333-abcde3" + }, + "Warnings": [ + { + "Message": "The SNS notification topic for Error events and the pipeline are in different regions, which increases processing time for jobs in the pipeline and can incur additional charges. To decrease processing time and prevent cross-regional charges, use the same region for the SNS notification topic and the pipeline.", + "Code": "6006" + } + ] + } + diff --git a/bin/awscli/examples/elastictranscoder/read-preset.rst b/bin/awscli/examples/elastictranscoder/read-preset.rst new file mode 100644 index 00000000..8ab201c4 --- /dev/null +++ b/bin/awscli/examples/elastictranscoder/read-preset.rst @@ -0,0 +1,100 @@ +**To retrieve an ElasticTranscoder preset** + +This example retrieves the specified ElasticTranscoder preset. + +Command:: + + aws elastictranscoder read-preset --id 1351620000001-500020 + +Output:: + + { + "Preset": { + "Thumbnails": { + "SizingPolicy": "ShrinkToFit", + "MaxWidth": "192", + "Format": "png", + "PaddingPolicy": "NoPad", + "Interval": "300", + "MaxHeight": "108" + }, + "Container": "fmp4", + "Description": "System preset: MPEG-Dash Video - 4.8M", + "Video": { + "SizingPolicy": "ShrinkToFit", + "MaxWidth": "1280", + "PaddingPolicy": "NoPad", + "FrameRate": "30", + "MaxHeight": "720", + "KeyframesMaxDist": "60", + "FixedGOP": "true", + "Codec": "H.264", + "Watermarks": [ + { + "SizingPolicy": "ShrinkToFit", + "VerticalOffset": "10%", + "VerticalAlign": "Top", + "Target": "Content", + "MaxWidth": "10%", + "MaxHeight": "10%", + "HorizontalAlign": "Left", + "HorizontalOffset": "10%", + "Opacity": "100", + "Id": "TopLeft" + }, + { + "SizingPolicy": "ShrinkToFit", + "VerticalOffset": "10%", + "VerticalAlign": "Top", + "Target": "Content", + "MaxWidth": "10%", + "MaxHeight": "10%", + "HorizontalAlign": "Right", + "HorizontalOffset": "10%", + "Opacity": "100", + "Id": "TopRight" + }, + { + "SizingPolicy": "ShrinkToFit", + "VerticalOffset": "10%", + "VerticalAlign": "Bottom", + "Target": "Content", + "MaxWidth": "10%", + "MaxHeight": "10%", + "HorizontalAlign": "Left", + "HorizontalOffset": "10%", + "Opacity": "100", + "Id": "BottomLeft" + }, + { + "SizingPolicy": "ShrinkToFit", + "VerticalOffset": "10%", + "VerticalAlign": "Bottom", + "Target": "Content", + "MaxWidth": "10%", + "MaxHeight": "10%", + "HorizontalAlign": "Right", + "HorizontalOffset": "10%", + "Opacity": "100", + "Id": "BottomRight" + } + ], + "CodecOptions": { + "Profile": "main", + "MaxBitRate": "4800", + "InterlacedMode": "Progressive", + "Level": "3.1", + "ColorSpaceConversionMode": "None", + "MaxReferenceFrames": "3", + "BufferSize": "9600" + }, + "BitRate": "4800", + "DisplayAspectRatio": "auto" + }, + "Type": "System", + "Id": "1351620000001-500020", + "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:preset/1351620000001-500020", + "Name": "System preset: MPEG-Dash Video - 4.8M" + } + } + diff --git a/bin/awscli/examples/elastictranscoder/update-pipeline-notifications.rst b/bin/awscli/examples/elastictranscoder/update-pipeline-notifications.rst new file mode 100644 index 00000000..6fdcbb4a --- /dev/null +++ b/bin/awscli/examples/elastictranscoder/update-pipeline-notifications.rst @@ -0,0 +1,53 @@ + +**To update the notifications of an ElasticTranscoder pipeline** + +This example updates the notifications of the specified ElasticTranscoder pipeline. + +Command:: + + aws elastictranscoder update-pipeline-notifications --id 1111111111111-abcde1 --notifications Progressing=arn:aws:sns:us-west-2:0123456789012:my-topic,Completed=arn:aws:sns:us-west-2:0123456789012:my-topic,Warning=arn:aws:sns:us-west-2:0123456789012:my-topic,Error=arn:aws:sns:us-east-1:111222333444:ETS_Errors + +Output:: + + { + "Pipeline": { + "Status": "Active", + "ContentConfig": { + "Bucket": "ets-example", + "StorageClass": "Standard", + "Permissions": [ + { + "Access": [ + "FullControl" + ], + "Grantee": "marketing-promos@example.com", + "GranteeType": "Email" + } + ] + }, + "Name": "Default", + "ThumbnailConfig": { + "Bucket": "ets-example", + "StorageClass": "ReducedRedundancy", + "Permissions": [ + { + "Access": [ + "FullControl" + ], + "Grantee": "marketing-promos@example.com", + "GranteeType": "Email" + } + ] + }, + "Notifications": { + "Completed": "arn:aws:sns:us-west-2:0123456789012:my-topic", + "Warning": "arn:aws:sns:us-west-2:0123456789012:my-topic", + "Progressing": "arn:aws:sns:us-west-2:0123456789012:my-topic", + "Error": "arn:aws:sns:us-east-1:111222333444:ETS_Errors" + }, + "Role": "arn:aws:iam::123456789012:role/Elastic_Transcoder_Default_Role", + "InputBucket": "ets-example", + "Id": "1111111111111-abcde1", + "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:pipeline/1111111111111-abcde1" + } + } diff --git a/bin/awscli/examples/elastictranscoder/update-pipeline-status.rst b/bin/awscli/examples/elastictranscoder/update-pipeline-status.rst new file mode 100644 index 00000000..b4587e6c --- /dev/null +++ b/bin/awscli/examples/elastictranscoder/update-pipeline-status.rst @@ -0,0 +1,53 @@ +**To update the status of an ElasticTranscoder pipeline** + +This example updates the status of the specified ElasticTranscoder pipeline. + +Command:: + + aws elastictranscoder update-pipeline-status --id 1111111111111-abcde1 --status Paused + +Output:: + + { + "Pipeline": { + "Status": "Paused", + "ContentConfig": { + "Bucket": "ets-example", + "StorageClass": "Standard", + "Permissions": [ + { + "Access": [ + "FullControl" + ], + "Grantee": "marketing-promos@example.com", + "GranteeType": "Email" + } + ] + }, + "Name": "Default", + "ThumbnailConfig": { + "Bucket": "ets-example", + "StorageClass": "ReducedRedundancy", + "Permissions": [ + { + "Access": [ + "FullControl" + ], + "Grantee": "marketing-promos@example.com", + "GranteeType": "Email" + } + ] + }, + "Notifications": { + "Completed": "", + "Warning": "", + "Progressing": "", + "Error": "arn:aws:sns:us-east-1:803981987763:ETS_Errors" + }, + "Role": "arn:aws:iam::123456789012:role/Elastic_Transcoder_Default_Role", + "InputBucket": "ets-example", + "Id": "1111111111111-abcde1", + "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:pipeline/1111111111111-abcde1" + } + } + diff --git a/bin/awscli/examples/elastictranscoder/update-pipeline.rst b/bin/awscli/examples/elastictranscoder/update-pipeline.rst new file mode 100644 index 00000000..c5b1e84f --- /dev/null +++ b/bin/awscli/examples/elastictranscoder/update-pipeline.rst @@ -0,0 +1,95 @@ +**To update an ElasticTranscoder pipeline** + +The following ``update-pipeline`` example updates the specified ElasticTranscoder pipeline. :: + + aws elastictranscoder update-pipeline \ + --id 1111111111111-abcde1 + --name DefaultExample \ + --input-bucket salesoffice.example.com-source \ + --role arn:aws:iam::123456789012:role/Elastic_Transcoder_Default_Role \ + --notifications Progressing="",Completed="",Warning="",Error=arn:aws:sns:us-east-1:111222333444:ETS_Errors \ + --content-config file://content-config.json \ + --thumbnail-config file://thumbnail-config.json + +Contents of ``content-config.json``:: + + { + "Bucket":"salesoffice.example.com-public-promos", + "Permissions":[ + { + "GranteeType":"Email", + "Grantee":"marketing-promos@example.com", + "Access":[ + "FullControl" + ] + } + ], + "StorageClass":"Standard" + } + +Contents of ``thumbnail-config.json``:: + + { + "Bucket":"salesoffice.example.com-public-promos-thumbnails", + "Permissions":[ + { + "GranteeType":"Email", + "Grantee":"marketing-promos@example.com", + "Access":[ + "FullControl" + ] + } + ], + "StorageClass":"ReducedRedundancy" + } + +Output:: + + { + "Pipeline": { + "Status": "Active", + "ContentConfig": { + "Bucket": "ets-example", + "StorageClass": "Standard", + "Permissions": [ + { + "Access": [ + "FullControl" + ], + "Grantee": "marketing-promos@example.com", + "GranteeType": "Email" + } + ] + }, + "Name": "DefaultExample", + "ThumbnailConfig": { + "Bucket": "ets-example", + "StorageClass": "ReducedRedundancy", + "Permissions": [ + { + "Access": [ + "FullControl" + ], + "Grantee": "marketing-promos@example.com", + "GranteeType": "Email" + } + ] + }, + "Notifications": { + "Completed": "", + "Warning": "", + "Progressing": "", + "Error": "arn:aws:sns:us-east-1:111222333444:ETS_Errors" + }, + "Role": "arn:aws:iam::123456789012:role/Elastic_Transcoder_Default_Role", + "InputBucket": "ets-example", + "Id": "3333333333333-abcde3", + "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:pipeline/3333333333333-abcde3" + }, + "Warnings": [ + { + "Message": "The SNS notification topic for Error events and the pipeline are in different regions, which increases processing time for jobs in the pipeline and can incur additional charges. To decrease processing time and prevent cross-regional charges, use the same region for the SNS notification topic and the pipeline.", + "Code": "6006" + } + ] + } diff --git a/bin/awscli/examples/elbv2/create-rule.rst b/bin/awscli/examples/elbv2/create-rule.rst index 285fb94f..72979358 100755 --- a/bin/awscli/examples/elbv2/create-rule.rst +++ b/bin/awscli/examples/elbv2/create-rule.rst @@ -1,67 +1,71 @@ -**To create a rule using a path condition** - -This example creates a rule that forwards requests to the specified target group if the URL contains the specified pattern (for example, /img/*). - -Command:: - - aws elbv2 create-rule --listener-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2 --priority 10 --conditions Field=path-pattern,Values='/img/*' --actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 - -Output:: - - { - "Rules": [ - { - "Actions": [ - { - "Type": "forward", - "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" - } - ], - "IsDefault": false, - "Conditions": [ - { - "Field": "path-pattern", - "Values": [ - "/img/*" - ] - } - ], - "Priority": "10", - "RuleArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/9683b2d02a6cabee" - } - ] - } - -**To create a rule using a host condition** - -This example creates a rule that forwards requests to the specified target group if the hostname in the host header matches the specified hostname (for example, *.example.com). - -Command:: - - aws elbv2 create-rule --listener-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2 --priority 5 --conditions Field=host-header,Values='*.example.com' --actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 - -Output:: - - { - "Rules": [ - { - "Actions": [ - { - "Type": "forward", - "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" - } - ], - "IsDefault": false, - "Conditions": [ - { - "Field": "host-header", - "Values": [ - "*.example.com" - ] - } - ], - "Priority": "5", - "RuleArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/db8b4ff9007785e9" - } - ] - } +**Example 1: To create a rule using a path condition** + +The following ``create-rule`` example creates a rule that forwards requests to the specified target group if the URL contains the specified pattern (for example, /img/\*). :: + + aws elbv2 create-rule \ + --listener-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2 \ + --priority 10 \ + --conditions Field=path-pattern,Values='/img/*' \ + --actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 + +Output:: + + { + "Rules": [ + { + "Actions": [ + { + "Type": "forward", + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" + } + ], + "IsDefault": false, + "Conditions": [ + { + "Field": "path-pattern", + "Values": [ + "/img/\*" + ] + } + ], + "Priority": "10", + "RuleArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/9683b2d02a6cabee" + } + ] + } + +**Example 2: To create a rule using a host condition** + +The following ``create-rule`` example creates a rule that forwards requests to the specified target group if the hostname in the host header matches the specified hostname (for example, \*.example.com). :: + + aws elbv2 create-rule \ + --listener-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2 \ + --priority 5 \ + --conditions Field=host-header,Values='*.example.com' \ + --actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 + +Output:: + + { + "Rules": [ + { + "Actions": [ + { + "Type": "forward", + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" + } + ], + "IsDefault": false, + "Conditions": [ + { + "Field": "host-header", + "Values": [ + "*.example.com" + ] + } + ], + "Priority": "5", + "RuleArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/db8b4ff9007785e9" + } + ] + } diff --git a/bin/awscli/examples/emr/create-cluster-examples.rst b/bin/awscli/examples/emr/create-cluster-examples.rst index 288413a7..07c2f84d 100644 --- a/bin/awscli/examples/emr/create-cluster-examples.rst +++ b/bin/awscli/examples/emr/create-cluster-examples.rst @@ -1,76 +1,83 @@ -Most of these examples assume that you specified your Amazon EMR service role and Amazon EC2 instance profile. If you have not done this, you must specify each required IAM role or use the ``--use-default-roles`` parameter when creating your cluster. For more information about specifying IAM roles, see the following topic in the Amazon EMR Management Guide: +Most of the following examples assume that you specified your Amazon EMR service role and Amazon EC2 instance profile. If you have not done this, you must specify each required IAM role or use the ``--use-default-roles`` parameter when creating your cluster. For more information about specifying IAM roles, see `Configure IAM Roles for Amazon EMR Permissions to AWS Services `_ in the *Amazon EMR Management Guide*. -http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles-launch-jobflow.html +**Example 1: To create a cluster** -**Quick start: create a cluster** +The following ``create-cluster`` example creates a simple EMR cluster. :: -Command:: + aws emr create-cluster \ + --release-label emr-5.14.0 \ + --instance-type m4.large \ + --instance-count 2 - aws emr create-cluster --release-label emr-5.14.0 --instance-type m4.large --instance-count 2 +**Example 2: To create an Amazon EMR cluster with default ServiceRole and InstanceProfile roles** -**Create an Amazon EMR cluster with default ServiceRole and InstanceProfile roles** +The following ``create-cluster`` example creates an Amazon EMR cluster that uses the ``--instance-groups`` configuration. :: -Create an Amazon EMR cluster that uses the ``--instance-groups`` configuration. - -Command:: + aws emr create-cluster \ + --release-label emr-5.14.0 \ + --service-role EMR_DefaultRole \ + --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole \ + --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large - aws emr create-cluster --release-label emr-5.14.0 --service-role EMR_DefaultRole --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large +**Example 3: To create an Amazon EMR cluster that uses an instance fleet** -Create an Amazon EMR cluster that uses the ``--instance-fleets`` configuration, specifying two instance types for each fleet and two EC2 Subnets. - -Command:: +The following ``create-cluster`` example creates an Amazon EMR cluster that uses the ``--instance-fleets`` configuration, specifying two instance types for each fleet and two EC2 Subnets. :: - aws emr create-cluster --release-label emr-5.14.0 --service-role EMR_DefaultRole --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole,SubnetIds=['subnet-ab12345c','subnet-de67890f'] --instance-fleets InstanceFleetType=MASTER,TargetOnDemandCapacity=1,InstanceTypeConfigs=['{InstanceType=m4.large}'] InstanceFleetType=CORE,TargetSpotCapacity=11,InstanceTypeConfigs=['{InstanceType=m4.large,BidPrice=0.5,WeightedCapacity=3}','{InstanceType=m4.2xlarge,BidPrice=0.9,WeightedCapacity=5}'],LaunchSpecifications={SpotSpecification='{TimeoutDurationMinutes=120,TimeoutAction=SWITCH_TO_ON_DEMAND}'} + aws emr create-cluster \ + --release-label emr-5.14.0 \ + --service-role EMR_DefaultRole \ + --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole,SubnetIds=['subnet-ab12345c','subnet-de67890f'] \ + --instance-fleets InstanceFleetType=MASTER,TargetOnDemandCapacity=1,InstanceTypeConfigs=['{InstanceType=m4.large}'] InstanceFleetType=CORE,TargetSpotCapacity=11,InstanceTypeConfigs=['{InstanceType=m4.large,BidPrice=0.5,WeightedCapacity=3}','{InstanceType=m4.2xlarge,BidPrice=0.9,WeightedCapacity=5}'],LaunchSpecifications={SpotSpecification='{TimeoutDurationMinutes=120,TimeoutAction=SWITCH_TO_ON_DEMAND}'} -**Create a cluster with default roles** - -The following example uses the ``--use-default-roles`` parameter to specify the default service role and instance profile. +**Example 4: To create a cluster with default roles** -Command:: +The following ``create-cluster`` example uses the ``--use-default-roles`` parameter to specify the default service role and instance profile. :: - aws emr create-cluster --release-label emr-5.9.0 --use-default-roles --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large --auto-terminate + aws emr create-cluster \ + --release-label emr-5.9.0 \ + --use-default-roles \ + --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large \ + --auto-terminate -**Create a cluster and specify the applications to install** +**Example 5: To create a cluster and specify the applications to install** -Use the ``--applications`` parameter to specify the applications that Amazon EMR installs. The following example installs Hadoop, Hive and Pig. - -Command:: +The following ``create-cluster`` example uses the ``--applications`` parameter to specify the applications that Amazon EMR installs. This example installs Hadoop, Hive and Pig. :: - aws emr create-cluster --applications Name=Hadoop Name=Hive Name=Pig --release-label emr-5.9.0 --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large --auto-terminate + aws emr create-cluster \ + --applications Name=Hadoop Name=Hive Name=Pig \ + --release-label emr-5.9.0 \ + --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large \ + --auto-terminate -The following example installs Spark. - -Command:: +**Example 6: To create a cluster that includes Spark** - aws emr create-cluster --release-label emr-5.9.0 --applications Name=Spark --ec2-attributes KeyName=myKey --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large --auto-terminate - -**Specify a custom AMI to use for cluster instances** - -The following example creates a cluster instance based on the Amazon Linux AMI with ID ``ami-a518e6df``. - -Command:: - - aws emr create-cluster --name "Cluster with My Custom AMI" --custom-ami-id ami-a518e6df --ebs-root-volume-size 20 --release-label emr-5.9.0 --use-default-roles --instance-count 2 --instance-type m4.large +The following example installs Spark. :: -**Customize application configurations** + aws emr create-cluster \ + --release-label emr-5.9.0 \ + --applications Name=Spark \ + --ec2-attributes KeyName=myKey \ + --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large \ + --auto-terminate -The following examples use the ``--configurations`` parameter to specify a JSON configuration file that contains application customizations for Hadoop. For more information, see http://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html. +**Example 7: To specify a custom AMI to use for cluster instances** -The following example specifies ``configurations.json`` as a local file. - -Command:: +The following ``create-cluster`` example creates a cluster instance based on the Amazon Linux AMI with ID ``ami-a518e6df``. :: - aws emr create-cluster --configurations file://configurations.json --release-label emr-5.9.0 --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large --auto-terminate + aws emr create-cluster \ + --name "Cluster with My Custom AMI" \ + --custom-ami-id ami-a518e6df \ + --ebs-root-volume-size 20 \ + --release-label emr-5.9.0 \ + --use-default-roles \ + --instance-count 2 \ + --instance-type m4.large -The following example specifies ``configurations.json`` as a file in Amazon S3. - -Command:: +**Example 8: To customize application configurations** - aws emr create-cluster --configurations https://s3.amazonaws.com/myBucket/configurations.json --release-label emr-5.9.0 --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large --auto-terminate +The following examples use the ``--configurations`` parameter to specify a JSON configuration file that contains application customizations for Hadoop. For more information, see `Configuring Applications `_ in the *Amazon EMR Release Guide*. -The following demonstrates example contents of ``configurations.json``. - -:: +Contents of ``configurations.json``:: [ { @@ -94,375 +101,431 @@ The following demonstrates example contents of ``configurations.json``. } ] -**Create a cluster with master, core, and task instance groups** - -The following example creates a cluster, using ``--instance-groups`` to specify the type and number of EC2 instances to use for master, core, and task instance groups +The following example references ``configurations.json`` as a local file. :: -Command:: + aws emr create-cluster \ + --configurations file://configurations.json \ + --release-label emr-5.9.0 \ + --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large \ + --auto-terminate - aws emr create-cluster --release-label emr-5.9.0 --instance-groups Name=Master,InstanceGroupType=MASTER,InstanceType=m4.large,InstanceCount=1 Name=Core,InstanceGroupType=CORE,InstanceType=m4.large,InstanceCount=2 Name=Task,InstanceGroupType=TASK,InstanceType=m4.large,InstanceCount=2 +The following example references ``configurations.json`` as a file in Amazon S3. :: -**Specify that a cluster should terminate after completing all steps** - -The following example uses ``--auto-terminate`` to specify that the cluster should shut down automatically after completing all steps. - -Command:: + aws emr create-cluster \ + --configurations https://s3.amazonaws.com/myBucket/configurations.json \ + --release-label emr-5.9.0 \ + --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large \ + --auto-terminate - aws emr create-cluster --release-label emr-5.9.0 --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large --auto-terminate +**Example 9: To create a cluster with master, core, and task instance groups** -**Specify cluster configuration details such as the Amazon EC2 key pair, network configuration, and security groups** +The following ``create-cluster`` example uses ``--instance-groups`` to specify the type and number of EC2 instances to use for master, core, and task instance groups. :: -The following example creates a cluster with the Amazon EC2 key pair named ``myKey`` and a customized instance profile named ``myProfile``. Key pairs are used to authorize SSH connections to cluster nodes, most often the master node. For more information, see http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-access-ssh.html. - -Command:: + aws emr create-cluster \ + --release-label emr-5.9.0 \ + --instance-groups Name=Master,InstanceGroupType=MASTER,InstanceType=m4.large,InstanceCount=1 Name=Core,InstanceGroupType=CORE,InstanceType=m4.large,InstanceCount=2 Name=Task,InstanceGroupType=TASK,InstanceType=m4.large,InstanceCount=2 - aws emr create-cluster --ec2-attributes KeyName=myKey,InstanceProfile=myProfile --release-label emr-5.9.0 --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large --auto-terminate +**Example 10: To specify that a cluster should terminate after completing all steps** -The following example creates a cluster in an Amazon VPC subnet. - -Command:: +The following ``create-cluster`` example uses ``--auto-terminate`` to specify that the cluster should shut down automatically after completing all steps. :: - aws emr create-cluster --ec2-attributes SubnetId=subnet-xxxxx --release-label emr-5.9.0 --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large --auto-terminate - -The following example creates a cluster in the ``us-east-1b`` availability zone. - -Command:: + aws emr create-cluster \ + --release-label emr-5.9.0 \ + --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large \ + --auto-terminate - aws emr create-cluster --ec2-attributes AvailabilityZone=us-east-1b --release-label emr-5.9.0 --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large - -The following example creates a cluster and specifies only the Amazon EMR-managed security groups. - -Command:: - - aws emr create-cluster --release-label emr-5.9.0 --service-role myServiceRole --ec2-attributes InstanceProfile=myRole,EmrManagedMasterSecurityGroup=sg-master1,EmrManagedSlaveSecurityGroup=sg-slave1 --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large - -The following example creates a cluster and specifies only additional Amazon EC2 security groups. - -Command:: - - aws emr create-cluster --release-label emr-5.9.0 --service-role myServiceRole --ec2-attributes InstanceProfile=myRole,AdditionalMasterSecurityGroups=[sg-addMaster1,sg-addMaster2,sg-addMaster3,sg-addMaster4],AdditionalSlaveSecurityGroups=[sg-addSlave1,sg-addSlave2,sg-addSlave3,sg-addSlave4] --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large - -The following example creates a cluster and specifies the EMR-Managed security groups, as well as additional security groups. - -Command:: +**Example 11: To specify cluster configuration details such as the Amazon EC2 key pair, network configuration, and security groups** - aws emr create-cluster --release-label emr-5.9.0 --service-role myServiceRole --ec2-attributes InstanceProfile=myRole,EmrManagedMasterSecurityGroup=sg-master1,EmrManagedSlaveSecurityGroup=sg-slave1,AdditionalMasterSecurityGroups=[sg-addMaster1,sg-addMaster2,sg-addMaster3,sg-addMaster4],AdditionalSlaveSecurityGroups=[sg-addSlave1,sg-addSlave2,sg-addSlave3,sg-addSlave4] --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large +The following ``create-cluster`` example creates a cluster with the Amazon EC2 key pair named ``myKey`` and a customized instance profile named ``myProfile``. Key pairs are used to authorize SSH connections to cluster nodes, most often the master node. For more information, see `Use an Amazon EC2 Key Pair for SSH Credentials `_ in the *Amazon EMR Management Guide*. :: -The following example creates a cluster in a VPC private subnet and use a specific Amazon EC2 security group to enable Amazon EMR service access, which is required for clusters in private subnets. - -Command:: + aws emr create-cluster \ + --ec2-attributes KeyName=myKey,InstanceProfile=myProfile \ + --release-label emr-5.9.0 \ + --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large \ + --auto-terminate + +The following example creates a cluster in an Amazon VPC subnet. :: + + aws emr create-cluster \ + --ec2-attributes SubnetId=subnet-xxxxx \ + --release-label emr-5.9.0 \ + --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large \ + --auto-terminate + +The following example creates a cluster in the ``us-east-1b`` availability zone. :: + + aws emr create-cluster \ + --ec2-attributes AvailabilityZone=us-east-1b \ + --release-label emr-5.9.0 \ + --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large + +The following example creates a cluster and specifies only the Amazon EMR-managed security groups. :: - aws emr create-cluster --release-label emr-5.9.0 --service-role myServiceRole --ec2-attributes InstanceProfile=myRole,ServiceAccessSecurityGroup=sg-service-access,EmrManagedMasterSecurityGroup=sg-master,EmrManagedSlaveSecurityGroup=sg-slave --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large - - -The following example specifies security group configuration parameters within a JSON file, ``ec2_attributes.json``, that is stored locally. - -Command:: - - aws emr create-cluster --release-label emr-5.9.0 --service-role myServiceRole --ec2-attributes file://ec2_attributes.json --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large + aws emr create-cluster \ + --release-label emr-5.9.0 \ + --service-role myServiceRole \ + --ec2-attributes InstanceProfile=myRole,EmrManagedMasterSecurityGroup=sg-master1,EmrManagedSlaveSecurityGroup=sg-slave1 \ + --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large -The following example demonstrates the contents of ``ec2_attributes.json``. - -:: +The following example creates a cluster and specifies only additional Amazon EC2 security groups. :: + + aws emr create-cluster \ + --release-label emr-5.9.0 \ + --service-role myServiceRole \ + --ec2-attributes InstanceProfile=myRole,AdditionalMasterSecurityGroups=[sg-addMaster1,sg-addMaster2,sg-addMaster3,sg-addMaster4],AdditionalSlaveSecurityGroups=[sg-addSlave1,sg-addSlave2,sg-addSlave3,sg-addSlave4] \ + --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large + +The following example creates a cluster and specifies the EMR-Managed security groups, as well as additional security groups. :: + + aws emr create-cluster \ + --release-label emr-5.9.0 \ + --service-role myServiceRole \ + --ec2-attributes InstanceProfile=myRole,EmrManagedMasterSecurityGroup=sg-master1,EmrManagedSlaveSecurityGroup=sg-slave1,AdditionalMasterSecurityGroups=[sg-addMaster1,sg-addMaster2,sg-addMaster3,sg-addMaster4],AdditionalSlaveSecurityGroups=[sg-addSlave1,sg-addSlave2,sg-addSlave3,sg-addSlave4] \ + --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large + +The following example creates a cluster in a VPC private subnet and use a specific Amazon EC2 security group to enable Amazon EMR service access, which is required for clusters in private subnets. :: + + aws emr create-cluster \ + --release-label emr-5.9.0 \ + --service-role myServiceRole \ + --ec2-attributes InstanceProfile=myRole,ServiceAccessSecurityGroup=sg-service-access,EmrManagedMasterSecurityGroup=sg-master,EmrManagedSlaveSecurityGroup=sg-slave \ + --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large + +The following example specifies security group configuration parameters using a JSON file named ``ec2_attributes.json`` that is stored locally. + +Contents of ``ec2_attributes.json``:: [ - { - "SubnetId": "subnet-xxxxx", - "KeyName": "myKey", - "InstanceProfile":"myRole", - "EmrManagedMasterSecurityGroup": "sg-master1", - "EmrManagedSlaveSecurityGroup": "sg-slave1", - "ServiceAccessSecurityGroup": "sg-service-access" - "AdditionalMasterSecurityGroups": ["sg-addMaster1","sg-addMaster2","sg-addMaster3","sg-addMaster4"], - "AdditionalSlaveSecurityGroups": ["sg-addSlave1","sg-addSlave2","sg-addSlave3","sg-addSlave4"] - } - ] + { + "SubnetId": "subnet-xxxxx", + "KeyName": "myKey", + "InstanceProfile":"myRole", + "EmrManagedMasterSecurityGroup": "sg-master1", + "EmrManagedSlaveSecurityGroup": "sg-slave1", + "ServiceAccessSecurityGroup": "sg-service-access" + "AdditionalMasterSecurityGroups": ["sg-addMaster1","sg-addMaster2","sg-addMaster3","sg-addMaster4"], + "AdditionalSlaveSecurityGroups": ["sg-addSlave1","sg-addSlave2","sg-addSlave3","sg-addSlave4"] + } + ] NOTE: JSON arguments must include options and values as their own items in the list. -**Enable debugging and specify a log URI** +Command:: -The following example uses the ``--enable-debugging`` parameter, which allows you to view log files more easily using the debugging tool in the Amazon EMR console. The ``--log-uri`` parameter is required with ``--enable-debugging``. - -Command:: + aws emr create-cluster \ + --release-label emr-5.9.0 \ + --service-role myServiceRole \ + --ec2-attributes file://ec2_attributes.json \ + --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large - aws emr create-cluster --enable-debugging --log-uri s3://myBucket/myLog --release-label emr-5.9.0 --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large --auto-terminate +**Example 12: To enable debugging and specify a log URI** -**Add tags when creating a cluster** +The following ``create-cluster`` example uses the ``--enable-debugging`` parameter, which allows you to view log files more easily using the debugging tool in the Amazon EMR console. The ``--log-uri`` parameter is required with ``--enable-debugging``. :: -Tags are key-value pairs that help you identify and manage clusters. The following example uses the ``--tags`` parameter to create two tags for a cluster, one with the key name ``name`` and the value ``Shirley Rodriguez`` and the other with the key name ``address`` and the value ``123 Maple Street, Anytown, USA``. - -Command:: + aws emr create-cluster \ + --enable-debugging \ + --log-uri s3://myBucket/myLog \ + --release-label emr-5.9.0 \ + --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large \ + --auto-terminate - aws emr create-cluster --tags name="Shirley Rodriguez" age=29 department="Analytics" --release-label emr-5.9.0 --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large --auto-terminate - -The following example lists the tags applied to a cluster. - -Command:: +**Example 13: To add tags when creating a cluster** - aws emr describe-cluster --cluster-id j-XXXXXXYY --query Cluster.Tags +Tags are key-value pairs that help you identify and manage clusters. The following ``create-cluster`` example uses the ``--tags`` parameter to create two tags for a cluster, one with the key name ``name`` and the value ``Shirley Rodriguez`` and the other with the key name ``address`` and the value ``123 Maple Street, Anytown, USA``. :: -**Use a security configuration to enable encryption and other security features** - -The following example uses the ``--security-configuration`` parameter to specify a security configuration for an EMR cluster. You can use security configurations with Amazon EMR version 4.8.0 or later. + aws emr create-cluster \ + --tags name="Shirley Rodriguez" age=29 department="Analytics" \ + --release-label emr-5.9.0 \ + --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large \ + --auto-terminate -Command:: +The following example lists the tags applied to a cluster. :: - aws emr create-cluster --instance-type m4.large --release-label emr-5.9.0 --security-configuration mySecurityConfiguration + aws emr describe-cluster \ + --cluster-id j-XXXXXXYY \ + --query Cluster.Tags -**Create a cluster with additional EBS storage volumes configured for the instance groups** +**Example 14: To use a security configuration that enables encryption and other security features** -Wnen specifying additional EBS volumes, the following arguments are required: ``VolumeType``, ``SizeInGB`` if ``EbsBlockDeviceConfigs`` is specified. - -The following example creates a cluster with multiple EBS volumes attached to EC2 instances in the core instance group. +The following ``create-cluster`` example uses the ``--security-configuration`` parameter to specify a security configuration for an EMR cluster. You can use security configurations with Amazon EMR version 4.8.0 or later. :: -Command:: + aws emr create-cluster \ + --instance-type m4.large \ + --release-label emr-5.9.0 \ + --security-configuration mySecurityConfiguration - aws emr create-cluster --release-label emr-5.9.0 --use-default-roles --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=d2.xlarge 'InstanceGroupType=CORE,InstanceCount=2,InstanceType=d2.xlarge,EbsConfiguration={EbsOptimized=true,EbsBlockDeviceConfigs=[{VolumeSpecification={VolumeType=gp2,SizeInGB=100}},{VolumeSpecification={VolumeType=io1,SizeInGB=100,Iops=100},VolumesPerInstance=4}]}' --auto-terminate +**Example 15: To create a cluster with additional EBS storage volumes configured for the instance groups** -The following example creates a cluster with multiple EBS volumes attached to EC2 instances in the master instance group. +When specifying additional EBS volumes, the following arguments are required: ``VolumeType``, ``SizeInGB`` if ``EbsBlockDeviceConfigs`` is specified. -Command:: +The following ``create-cluster`` example creates a cluster with multiple EBS volumes attached to EC2 instances in the core instance group. :: - aws emr create-cluster --release-label emr-5.9.0 --use-default-roles --instance-groups 'InstanceGroupType=MASTER, InstanceCount=1, InstanceType=d2.xlarge, EbsConfiguration={EbsOptimized=true, EbsBlockDeviceConfigs=[{VolumeSpecification={VolumeType=io1, SizeInGB=100, Iops=100}},{VolumeSpecification={VolumeType=standard,SizeInGB=50},VolumesPerInstance=3}]}' InstanceGroupType=CORE,InstanceCount=2,InstanceType=d2.xlarge --auto-terminate + aws emr create-cluster \ + --release-label emr-5.9.0 \ + --use-default-roles \ + --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=d2.xlarge 'InstanceGroupType=CORE,InstanceCount=2,InstanceType=d2.xlarge,EbsConfiguration={EbsOptimized=true,EbsBlockDeviceConfigs=[{VolumeSpecification={VolumeType=gp2,SizeInGB=100}},{VolumeSpecification={VolumeType=io1,SizeInGB=100,Iops=100},VolumesPerInstance=4}]}' \ + --auto-terminate +The following example creates a cluster with multiple EBS volumes attached to EC2 instances in the master instance group. :: -**Create a cluster with an automatic scaling policy** + aws emr create-cluster \ + --release-label emr-5.9.0 \ + --use-default-roles \ + --instance-groups 'InstanceGroupType=MASTER, InstanceCount=1, InstanceType=d2.xlarge, EbsConfiguration={EbsOptimized=true, EbsBlockDeviceConfigs=[{VolumeSpecification={VolumeType=io1, SizeInGB=100, Iops=100}},{VolumeSpecification={VolumeType=standard,SizeInGB=50},VolumesPerInstance=3}]}' InstanceGroupType=CORE,InstanceCount=2,InstanceType=d2.xlarge \ + --auto-terminate -You can attach automatic scaling policies to core and task instance groups using Amazon EMR version 4.0 and later. The automatic scaling policy dynamically adds and removes EC2 instances in response to an Amazon CloudWatch metric. For more information, see http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-automatic-scaling.html. - -When attaching an automatic scaling policy, you must also specify the default role for automatic scaling using ``--auto-scaling-role EMR_AutoScaling_DefaultRole``. - -The following example specifies the automatic scaling policy for the ``CORE`` instance group using the ``AutoScalingPolicy`` argument with an embedded JSON structure, which specifies the scaling policy configuration. Instance groups with an embedded JSON structure must have the entire collection of arguments enclosed in single quotes. Using single quotes is optional for instance groups without an embedded JSON structure. +**Example 16: To create a cluster with an automatic scaling policy** -Command:: +You can attach automatic scaling policies to core and task instance groups using Amazon EMR version 4.0 and later. The automatic scaling policy dynamically adds and removes EC2 instances in response to an Amazon CloudWatch metric. For more information, see `Using Automatic Scaling in Amazon EMR` `_ in the *Amazon EMR Management Guide*. - aws emr create-cluster --release-label emr-5.9.0 --use-default-roles --auto-scaling-role EMR_AutoScaling_DefaultRole --instance-groups InstanceGroupType=MASTER,InstanceType=d2.xlarge,InstanceCount=1 'InstanceGroupType=CORE,InstanceType=d2.xlarge,InstanceCount=2,AutoScalingPolicy={Constraints={MinCapacity=1,MaxCapacity=5},Rules=[{Name=TestRule,Description=TestDescription,Action={Market=ON_DEMAND,SimpleScalingPolicyConfiguration={AdjustmentType=EXACT_CAPACITY,ScalingAdjustment=2}},Trigger={CloudWatchAlarmDefinition={ComparisonOperator=GREATER_THAN,EvaluationPeriods=5,MetricName=TestMetric,Namespace=EMR,Period=3,Statistic=MAXIMUM,Threshold=4.5,Unit=NONE,Dimensions=[{Key=TestKey,Value=TestValue}]}}}]}' - -The following example uses a JSON file, ``instancegroupconfig.json``, to specify the configuration of all instance groups in a cluster. The JSON file specifies the automatic scaling policy configuration for the core instance group. - -Command:: - - aws emr create-cluster --release-label emr-5.9.0 --service-role EMR_DefaultRole --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole --instance-groups s3://mybucket/instancegroupconfig.json --auto-scaling-role EMR_AutoScaling_DefaultRole - -The following example shows the contents of ``instancegroupconfig.json``. - -:: - - [ - { - "InstanceCount": 1, - "Name": "MyMasterIG", - "InstanceGroupType": "MASTER", - "InstanceType": "m4.large" - }, - { - "InstanceCount": 2, - "Name": "MyCoreIG", - "InstanceGroupType": "CORE", - "InstanceType": "m4.large", - "AutoScalingPolicy": { - "Constraints": { - "MinCapacity": 2, - "MaxCapacity": 10 - }, - "Rules": [ - { - "Name": "Default-scale-out", - "Description": "Replicates the default scale-out rule in the console for YARN memory.", - "Action": { - "SimpleScalingPolicyConfiguration": { - "AdjustmentType": "CHANGE_IN_CAPACITY", - "ScalingAdjustment": 1, - "CoolDown": 300 - } - }, - "Trigger": { - "CloudWatchAlarmDefinition": { - "ComparisonOperator": "LESS_THAN", - "EvaluationPeriods": 1, - "MetricName": "YARNMemoryAvailablePercentage", - "Namespace": "AWS/ElasticMapReduce", - "Period": 300, - "Threshold": 15, - "Statistic": "AVERAGE", - "Unit": "PERCENT", - "Dimensions": [ - { - "Key": "JobFlowId", - "Value": "${emr.clusterId}" - } - ] - } - } - } - ] - } - } - ] - -**Add custom JAR steps when creating a cluster** - -The following example adds steps by specifying a JAR file stored in Amazon S3. Steps submit work to a cluster. The main function defined in the JAR file executes after EC2 instances are provisioned, any bootstrap actions have executed, and applications are installed. The steps are specified using ``Type=CUSTOM_JAR``. - -Custom JAR steps required the ``Jar=`` parameter, which specifies the path and file name of the JAR. Optional parameters are the following. - -:: - - Type, Name, ActionOnFailure, Args, MainClass - -If main class is not specified, the JAR file should specify Main-Class in its manifest file. +When attaching an automatic scaling policy, you must also specify the default role for automatic scaling using ``--auto-scaling-role EMR_AutoScaling_DefaultRole``. -Command:: +The following ``create-cluster`` example specifies the automatic scaling policy for the ``CORE`` instance group using the ``AutoScalingPolicy`` argument with an embedded JSON structure, which specifies the scaling policy configuration. Instance groups with an embedded JSON structure must have the entire collection of arguments enclosed in single quotes. Using single quotes is optional for instance groups without an embedded JSON structure. :: + + aws emr create-cluster + --release-label emr-5.9.0 \ + --use-default-roles --auto-scaling-role EMR_AutoScaling_DefaultRole \ + --instance-groups InstanceGroupType=MASTER,InstanceType=d2.xlarge,InstanceCount=1 'InstanceGroupType=CORE,InstanceType=d2.xlarge,InstanceCount=2,AutoScalingPolicy={Constraints={MinCapacity=1,MaxCapacity=5},Rules=[{Name=TestRule,Description=TestDescription,Action={Market=ON_DEMAND,SimpleScalingPolicyConfiguration={AdjustmentType=EXACT_CAPACITY,ScalingAdjustment=2}},Trigger={CloudWatchAlarmDefinition={ComparisonOperator=GREATER_THAN,EvaluationPeriods=5,MetricName=TestMetric,Namespace=EMR,Period=3,Statistic=MAXIMUM,Threshold=4.5,Unit=NONE,Dimensions=[{Key=TestKey,Value=TestValue}]}}}]}' - aws emr create-cluster --steps Type=CUSTOM_JAR,Name=CustomJAR,ActionOnFailure=CONTINUE,Jar=s3://myBucket/mytest.jar,Args=arg1,arg2,arg3 Type=CUSTOM_JAR,Name=CustomJAR,ActionOnFailure=CONTINUE,Jar=s3://myBucket/mytest.jar,MainClass=mymainclass,Args=arg1,arg2,arg3 --release-label emr-5.3.1 --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large --auto-terminate - - -**Add streaming steps when creating a cluster** - -The following examples add a streaming step to a cluster that terminates after all steps run. - -Streaming steps required parameters. - -:: - - Type, Args - -Streaming steps optional parameters. - -:: - - Name, ActionOnFailure - -The following example adds specifies the step inline. +The following example uses a JSON file, ``instancegroupconfig.json``, to specify the configuration of all instance groups in a cluster. The JSON file specifies the automatic scaling policy configuration for the core instance group. + +Contents of ``instancegroupconfig.json``:: + + [ + { + "InstanceCount": 1, + "Name": "MyMasterIG", + "InstanceGroupType": "MASTER", + "InstanceType": "m4.large" + }, + { + "InstanceCount": 2, + "Name": "MyCoreIG", + "InstanceGroupType": "CORE", + "InstanceType": "m4.large", + "AutoScalingPolicy": { + "Constraints": { + "MinCapacity": 2, + "MaxCapacity": 10 + }, + "Rules": [ + { + "Name": "Default-scale-out", + "Description": "Replicates the default scale-out rule in the console for YARN memory.", + "Action": { + "SimpleScalingPolicyConfiguration": { + "AdjustmentType": "CHANGE_IN_CAPACITY", + "ScalingAdjustment": 1, + "CoolDown": 300 + } + }, + "Trigger": { + "CloudWatchAlarmDefinition": { + "ComparisonOperator": "LESS_THAN", + "EvaluationPeriods": 1, + "MetricName": "YARNMemoryAvailablePercentage", + "Namespace": "AWS/ElasticMapReduce", + "Period": 300, + "Threshold": 15, + "Statistic": "AVERAGE", + "Unit": "PERCENT", + "Dimensions": [ + { + "Key": "JobFlowId", + "Value": "${emr.clusterId}" + } + ] + } + } + } + ] + } + } + ] Command:: - aws emr create-cluster --steps Type=STREAMING,Name='Streaming Program',ActionOnFailure=CONTINUE,Args=[-files,s3://elasticmapreduce/samples/wordcount/wordSplitter.py,-mapper,wordSplitter.py,-reducer,aggregate,-input,s3://elasticmapreduce/samples/wordcount/input,-output,s3://mybucket/wordcount/output] --release-label emr-5.3.1 --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large --auto-terminate - -The following example uses a JSON configuration file, ``multiplefiles.json``, which is stored locally. The JSON configuration specifies multiple files. To specify multiple files within a step, you must use a JSON configuration file to specify the step. - -Command:: - - aws emr create-cluster --steps file://./multiplefiles.json --release-label emr-5.9.0 --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large --auto-terminate - -The following example demonstrates the contents of ``multiplefiles.json``. - -:: - - [ - { - "Name": "JSON Streaming Step", - "Args": [ - "-files", - "s3://elasticmapreduce/samples/wordcount/wordSplitter.py", - "-mapper", - "wordSplitter.py", - "-reducer", - "aggregate", - "-input", - "s3://elasticmapreduce/samples/wordcount/input", - "-output", - "s3://mybucket/wordcount/output" - ], - "ActionOnFailure": "CONTINUE", - "Type": "STREAMING" - } - ] + aws emr create-cluster \ + --release-label emr-5.9.0 \ + --service-role EMR_DefaultRole \ + --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole \ + --instance-groups s3://mybucket/instancegroupconfig.json \ + --auto-scaling-role EMR_AutoScaling_DefaultRole -NOTE: JSON arguments must include options and values as their own items in the list. +**Example 17: Add custom JAR steps when creating a cluster** -**Add Hive steps when creating a cluster** +The following ``create-cluster`` example adds steps by specifying a JAR file stored in Amazon S3. Steps submit work to a cluster. The main function defined in the JAR file executes after EC2 instances are provisioned, any bootstrap actions have executed, and applications are installed. The steps are specified using ``Type=CUSTOM_JAR``. + +Custom JAR steps required the ``Jar=`` parameter, which specifies the path and file name of the JAR. Optional parameters are the following:: + + Type, Name, ActionOnFailure, Args, MainClass + +If main class is not specified, the JAR file should specify Main-Class in its manifest file. Command:: - aws emr create-cluster --steps Type=HIVE,Name='Hive program',ActionOnFailure=CONTINUE,ActionOnFailure=TERMINATE_CLUSTER,Args=[-f,s3://elasticmapreduce/samples/hive-ads/libs/model-build.q,-d,INPUT=s3://elasticmapreduce/samples/hive-ads/tables,-d,OUTPUT=s3://mybucket/hive-ads/output/2014-04-18/11-07-32,-d,LIBS=s3://elasticmapreduce/samples/hive-ads/libs] --applications Name=Hive --release-label emr-5.3.1 --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large + aws emr create-cluster \ + --steps Type=CUSTOM_JAR,Name=CustomJAR,ActionOnFailure=CONTINUE,Jar=s3://myBucket/mytest.jar,Args=arg1,arg2,arg3 Type=CUSTOM_JAR,Name=CustomJAR,ActionOnFailure=CONTINUE,Jar=s3://myBucket/mytest.jar,MainClass=mymainclass,Args=arg1,arg2,arg3 \ + --release-label emr-5.3.1 \ + --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large \ + --auto-terminate + +**Example 18: To add streaming steps when creating a cluster** + +The following ``create-cluster`` examples add a streaming step to a cluster that terminates after all steps run. -Hive steps required parameters. - -:: +Streaming steps required parameters:: Type, Args -Hive steps optional parameters. - -:: +Streaming steps optional parameters:: Name, ActionOnFailure -**Add Pig steps when creating a cluster** +The following example specifies the step inline. :: + + aws emr create-cluster \ + --steps Type=STREAMING,Name='Streaming Program',ActionOnFailure=CONTINUE,Args=[-files,s3://elasticmapreduce/samples/wordcount/wordSplitter.py,-mapper,wordSplitter.py,-reducer,aggregate,-input,s3://elasticmapreduce/samples/wordcount/input,-output,s3://mybucket/wordcount/output] \ + --release-label emr-5.3.1 \ + --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large \ + --auto-terminate + +The following example uses a locally stored JSON configuration file named ``multiplefiles.json``. The JSON configuration specifies multiple files. To specify multiple files within a step, you must use a JSON configuration file to specify the step. + +Contents of ``multiplefiles.json``:: + + [ + { + "Name": "JSON Streaming Step", + "Args": [ + "-files", + "s3://elasticmapreduce/samples/wordcount/wordSplitter.py", + "-mapper", + "wordSplitter.py", + "-reducer", + "aggregate", + "-input", + "s3://elasticmapreduce/samples/wordcount/input", + "-output", + "s3://mybucket/wordcount/output" + ], + "ActionOnFailure": "CONTINUE", + "Type": "STREAMING" + } + ] + +NOTE: JSON arguments must include options and values as their own items in the list. + +Command:: + + aws emr create-cluster \ + --steps file://./multiplefiles.json \ + --release-label emr-5.9.0 \ + --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large \ + --auto-terminate + +**Example 19: To add Hive steps when creating a cluster** Command:: - aws emr create-cluster --steps Type=PIG,Name='Pig program',ActionOnFailure=CONTINUE,Args=[-f,s3://elasticmapreduce/samples/pig-apache/do-reports2.pig,-p,INPUT=s3://elasticmapreduce/samples/pig-apache/input,-p,OUTPUT=s3://mybucket/pig-apache/output] --applications Name=Pig --release-label emr-5.3.1 --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large + aws emr create-cluster \ + --steps Type=HIVE,Name='Hive program',ActionOnFailure=CONTINUE,ActionOnFailure=TERMINATE_CLUSTER,Args=[-f,s3://elasticmapreduce/samples/hive-ads/libs/model-build.q,-d,INPUT=s3://elasticmapreduce/samples/hive-ads/tables,-d,OUTPUT=s3://mybucket/hive-ads/output/2014-04-18/11-07-32,-d,LIBS=s3://elasticmapreduce/samples/hive-ads/libs] \ + --applications Name=Hive \ + --release-label emr-5.3.1 \ + --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large -Pig steps required parameters. - -:: +Hive steps required parameters:: Type, Args -Pig steps optional parameters. - -:: +Hive steps optional parameters:: Name, ActionOnFailure -**Add bootstrap actions** - -The following example runs two bootstrap actions defined as scripts that are stored in Amazon S3. +**Example 20: To add Pig steps when creating a cluster** Command:: - aws emr create-cluster --bootstrap-actions Path=s3://mybucket/myscript1,Name=BootstrapAction1,Args=[arg1,arg2] Path=s3://mybucket/myscript2,Name=BootstrapAction2,Args=[arg1,arg2] --release-label emr-5.3.1 --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large --auto-terminate + aws emr create-cluster \ + --steps Type=PIG,Name='Pig program',ActionOnFailure=CONTINUE,Args=[-f,s3://elasticmapreduce/samples/pig-apache/do-reports2.pig,-p,INPUT=s3://elasticmapreduce/samples/pig-apache/input,-p,OUTPUT=s3://mybucket/pig-apache/output] \ + --applications Name=Pig \ + --release-label emr-5.3.1 \ + --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large -**Enable EMRFS consistent view and customize the RetryCount and RetryPeriod settings** - -The following example specifies the retry count and retry period for EMRFS consistent view. The ``Consistent=true`` argument is required. +Pig steps required parameters:: -Command:: + Type, Args - aws emr create-cluster --instance-type m4.large --release-label emr-5.9.0 --emrfs Consistent=true,RetryCount=6,RetryPeriod=30 - -The following example specifies the same EMRFS configuration as the previous example, using a JSON configuration file, ``emrfsconfig.json``, stored locally. - -Command:: - - aws emr create-cluster --instance-type m4.large --release-label emr-5.9.0 --emrfs file://emrfsconfig.json +Pig steps optional parameters:: + Name, ActionOnFailure -The following example demonstrates the contents of ``emrfsconfig.json``. - -:: +**Example 21: To add bootstrap actions** - { - "Consistent": true, - "RetryCount": 6, - "RetryPeriod": 30 - } +The following ``create-cluster`` example runs two bootstrap actions defined as scripts that are stored in Amazon S3. :: -**Create a cluster with Kerberos configured** + aws emr create-cluster \ + --bootstrap-actions Path=s3://mybucket/myscript1,Name=BootstrapAction1,Args=[arg1,arg2] Path=s3://mybucket/myscript2,Name=BootstrapAction2,Args=[arg1,arg2] \ + --release-label emr-5.3.1 \ + --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large \ + --auto-terminate -The following examples create a cluster using a security configuration with Kerberos enabled, and establishes Kerberos parameters for the cluster using ``--kerberos-attributes``. +**Example 22: To enable EMRFS consistent view and customize the RetryCount and RetryPeriod settings** -The following command specifies Kerberos attributes for the cluster inline. +The following ``create-cluster`` example specifies the retry count and retry period for EMRFS consistent view. The ``Consistent=true`` argument is required. :: -Command:: + aws emr create-cluster \ + --instance-type m4.large \ + --release-label emr-5.9.0 \ + --emrfs Consistent=true,RetryCount=6,RetryPeriod=30 - aws emr create-cluster --instance-type m3.xlarge --release-label emr-5.10.0 --service-role EMR_DefaultRole --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole --security-configuration mySecurityConfiguration --kerberos-attributes Realm=EC2.INTERNAL,KdcAdminPassword=123,CrossRealmTrustPrincipalPassword=123 +The following example specifies the same EMRFS configuration as the previous example, using a locally stored JSON configuration file named ``emrfsconfig.json``. -The following command specifies the same attributes, but references a JSON file, ``kerberos_attributes.json``, for the properties and values. In this example, the file is saved in the same directory where you run the command. You can also reference a configuration file saved in Amazon S3. +Contents of ``emrfsconfig.json``:: + + { + "Consistent": true, + "RetryCount": 6, + "RetryPeriod": 30 + } Command:: - aws emr create-cluster --instance-type m3.xlarge --release-label emr-5.10.0 --service-role EMR_DefaultRole --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole --security-configuration mySecurityConfiguration --kerberos-attributes file://kerberos_attributes.json + aws emr create-cluster \ + --instance-type m4.large \ + --release-label emr-5.9.0 \ + --emrfs file://emrfsconfig.json + +**Example 23: To create a cluster with Kerberos configured** + +The following ``create-cluster`` examples create a cluster using a security configuration with Kerberos enabled, and establishes Kerberos parameters for the cluster using ``--kerberos-attributes``. + +The following command specifies Kerberos attributes for the cluster inline. :: -The contents of ``kerberos_attributes.json`` are shown below: + aws emr create-cluster \ + --instance-type m3.xlarge \ + --release-label emr-5.10.0 \ + --service-role EMR_DefaultRole \ + --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole \ + --security-configuration mySecurityConfiguration \ + --kerberos-attributes Realm=EC2.INTERNAL,KdcAdminPassword=123,CrossRealmTrustPrincipalPassword=123 -:: +The following command specifies the same attributes, but references a locally stored JSON file named ``kerberos_attributes.json``. In this example, the file is saved in the same directory where you run the command. You can also reference a configuration file saved in Amazon S3. + +Contents of ``kerberos_attributes.json``:: { - "Realm": "EC2.INTERNAL", - "KdcAdminPassword": "123", - "CrossRealmTrustPrincipalPassword": "123", + "Realm": "EC2.INTERNAL", + "KdcAdminPassword": "123", + "CrossRealmTrustPrincipalPassword": "123", } + +Command:: + + aws emr create-cluster \ + --instance-type m3.xlarge \ + --release-label emr-5.10.0 \ + --service-role EMR_DefaultRole \ + --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole \ + --security-configuration mySecurityConfiguration \ + --kerberos-attributes file://kerberos_attributes.json diff --git a/bin/awscli/examples/emr/create-cluster-synopsis.rst b/bin/awscli/examples/emr/create-cluster-synopsis.rst deleted file mode 100644 index 4709f086..00000000 --- a/bin/awscli/examples/emr/create-cluster-synopsis.rst +++ /dev/null @@ -1,26 +0,0 @@ - create-cluster - --release-label | --ami-version - --instance-fleets | --instance-groups | --instance-type --instance-count - [--auto-terminate | --no-auto-terminate] - [--use-default-roles] - [--service-role ] - [--configurations ] - [--name ] - [--log-uri ] - [--additional-info ] - [--ec2-attributes ] - [--termination-protected | --no-termination-protected] - [--scale-down-behavior ] - [--visible-to-all-users | --no-visible-to-all-users] - [--enable-debugging | --no-enable-debugging] - [--tags ] - [--applications ] - [--emrfs ] - [--bootstrap-actions ] - [--steps ] - [--restore-from-hbase-backup ] - [--security-configuration ] - [--custom-ami-id ] - [--ebs-root-volume-size ] - [--repo-upgrade-on-boot ] - [--kerberos-attributes ] diff --git a/bin/awscli/examples/emr/list-security-configurations.rst b/bin/awscli/examples/emr/list-security-configurations.rst index b29e0903..06d89e94 100644 --- a/bin/awscli/examples/emr/list-security-configurations.rst +++ b/bin/awscli/examples/emr/list-security-configurations.rst @@ -1,20 +1,21 @@ -**To list security configurations in the current region** - - - Command:: - - aws emr list-security-configurations - - - Output:: - -{ - "SecurityConfigurations": [ - { - "CreationDateTime": 1473889697.417, - "Name": "MySecurityConfig-1" - }, - { - "CreationDateTime": 1473889697.417, - "Name": "MySecurityConfig-2" - } - ] -} \ No newline at end of file +**To list security configurations in the current region** + +Command:: + + aws emr list-security-configurations + +Output:: + + { + "SecurityConfigurations": [ + { + "CreationDateTime": 1473889697.417, + "Name": "MySecurityConfig-1" + }, + { + "CreationDateTime": 1473889697.417, + "Name": "MySecurityConfig-2" + } + ] + } + \ No newline at end of file diff --git a/bin/awscli/examples/iam/create-service-linked-role.rst b/bin/awscli/examples/iam/create-service-linked-role.rst new file mode 100644 index 00000000..1b8231ac --- /dev/null +++ b/bin/awscli/examples/iam/create-service-linked-role.rst @@ -0,0 +1,37 @@ +**To create a service-linked role** + +The following ``create-service-linked-role`` example creates a service-linked role for the specified AWS service and attaches the specified description. :: + + aws iam create-service-linked-role \ + --aws-service-name lex.amazonaws.com \ + --description "My service-linked role to support Lex" + +Output:: + + { + "Role": { + "Path": "/aws-service-role/lex.amazonaws.com/", + "RoleName": "AWSServiceRoleForLexBots", + "RoleId": "AROA1234567890EXAMPLE", + "Arn": "arn:aws:iam::1234567890:role/aws-service-role/lex.amazonaws.com/AWSServiceRoleForLexBots", + "CreateDate": "2019-04-17T20:34:14+00:00", + "AssumeRolePolicyDocument": { + "Version": "2012-10-17", + "Statement": [ + { + "Action": [ + "sts:AssumeRole" + ], + "Effect": "Allow", + "Principal": { + "Service": [ + "lex.amazonaws.com" + ] + } + } + ] + } + } + } + +For more information, see `Using Service-Linked Roles `_ in the *IAM User Guide*. diff --git a/bin/awscli/examples/iam/create-service-specific-credential.rst b/bin/awscli/examples/iam/create-service-specific-credential.rst new file mode 100644 index 00000000..89b87d4e --- /dev/null +++ b/bin/awscli/examples/iam/create-service-specific-credential.rst @@ -0,0 +1,23 @@ +**Create a set of service-specific credentials for a user** + +The following ``create-service-specific-credential`` example creates a username and password that can be used to access only the configured service. :: + + aws iam create-service-specific-credential --user-name sofia --service-name codecommit.amazonaws.com + +Output:: + + { + "ServiceSpecificCredential": { + "CreateDate": "2019-04-18T20:45:36+00:00", + "ServiceName": "codecommit.amazonaws.com", + "ServiceUserName": "sofia-at-123456789012", + "ServicePassword": "k1zPZM6uVxMQ3oxqgoYlNuJPyRTZ1vREs76zTQE3eJk=", + "ServiceSpecificCredentialId": "ACCAEXAMPLE123EXAMPLE", + "UserName": "sofia", + "Status": "Active" + } + } + +For more information, see `Create Git Credentials for HTTPS Connections to CodeCommit`_ in the *AWS CodeCommit User Guide* + +.. _`Create Git Credentials for HTTPS Connections to CodeCommit`: https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-gc.html#setting-up-gc-iam diff --git a/bin/awscli/examples/iam/create-user.rst b/bin/awscli/examples/iam/create-user.rst index 3ec72158..6a50e483 100644 --- a/bin/awscli/examples/iam/create-user.rst +++ b/bin/awscli/examples/iam/create-user.rst @@ -11,7 +11,7 @@ Output:: "UserName": "Bob", "Path": "/", "CreateDate": "2013-06-08T03:20:41.270Z", - "UserId": "AKIAIOSFODNN7EXAMPLE", + "UserId": "AIDAIOSFODNN7EXAMPLE", "Arn": "arn:aws:iam::123456789012:user/Bob" } } @@ -19,4 +19,3 @@ Output:: For more information, see `Adding a New User to Your AWS Account`_ in the *Using IAM* guide. .. _`Adding a New User to Your AWS Account`: http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_SettingUpUser.html - diff --git a/bin/awscli/examples/iam/delete-open-id-connect-provider.rst b/bin/awscli/examples/iam/delete-open-id-connect-provider.rst index 72b0b6fd..efba757e 100644 --- a/bin/awscli/examples/iam/delete-open-id-connect-provider.rst +++ b/bin/awscli/examples/iam/delete-open-id-connect-provider.rst @@ -2,7 +2,7 @@ This example deletes the IAM OIDC provider that connects to the provider ``example.oidcprovider.com``:: - aws aim delete-open-id-connect-provider --open-id-connect-provider-arn arn:aws:iam::123456789012:oidc-provider/example.oidcprovider.com + aws iam delete-open-id-connect-provider --open-id-connect-provider-arn arn:aws:iam::123456789012:oidc-provider/example.oidcprovider.com For more information, see `Using OpenID Connect Identity Providers`_ in the *Using IAM* guide. diff --git a/bin/awscli/examples/iam/delete-server-certificate.rst b/bin/awscli/examples/iam/delete-server-certificate.rst new file mode 100644 index 00000000..9dd8553a --- /dev/null +++ b/bin/awscli/examples/iam/delete-server-certificate.rst @@ -0,0 +1,11 @@ +**To delete a server certificate from your AWS account** + +The following ``delete-server-certificate`` command removes the specified server certificate from your AWS account. This command produces no output. :: + + aws iam delete-server-certificate --server-certificate-name myUpdatedServerCertificate + +To list the server certificates available in your AWS account, use the ``list-server-certificates`` command. + +For more information, see `Creating, Uploading, and Deleting Server Certificates`_ in the *IAM Users Guide*. + +.. _`Creating, Uploading, and Deleting Server Certificates`: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html diff --git a/bin/awscli/examples/iam/delete-service-linked-role.rst b/bin/awscli/examples/iam/delete-service-linked-role.rst new file mode 100644 index 00000000..e0f1911b --- /dev/null +++ b/bin/awscli/examples/iam/delete-service-linked-role.rst @@ -0,0 +1,13 @@ +**To delete a service-linked role** + +The following ``delete-service-linked-role`` example deletes the specified service-linked role that you no longer need. The deletion happens asynchronously. You can check the status of the deletion and confirm when it is done by using the ``get-service-linked-role-deletion-status`` command. :: + + aws iam delete-service-linked-role --role-name AWSServiceRoleForLexBots + +Output:: + + { + "DeletionTaskId": "task/aws-service-role/lex.amazonaws.com/AWSServiceRoleForLexBots/1a2b3c4d-1234-abcd-7890-abcdeEXAMPLE" + } + +For more information, see `Using Service-Linked Roles `_ in the *IAM User Guide*. diff --git a/bin/awscli/examples/iam/delete-service-specific-credential.rst b/bin/awscli/examples/iam/delete-service-specific-credential.rst new file mode 100644 index 00000000..a8ab992f --- /dev/null +++ b/bin/awscli/examples/iam/delete-service-specific-credential.rst @@ -0,0 +1,15 @@ +**Delete a service-specific credential for the requesting user** + +The following ``delete-service-specific-credential`` example deletes the specified service-specific credential for the user making the request. The ``service-specific-credential-id`` is provided when you create the credential and you can retrieve it by using the ``list-service-specific-credentials`` command. This command produces no output. :: + + aws iam delete-service-specific-credential --service-specific-credential-id ACCAEXAMPLE123EXAMPLE + +**Delete a service-specific credential for a specified user** + +The following ``delete-service-specific-credential`` example deletes the specified service-specific credential for the specified user. The ``service-specific-credential-id`` is provided when you create the credential and you can retrieve it by using the ``list-service-specific-credentials`` command. This command produces no output. :: + + aws iam delete-service-specific-credential --user-name sofia --service-specific-credential-id ACCAEXAMPLE123EXAMPLE + +For more information, see `Create Git Credentials for HTTPS Connections to CodeCommit`_ in the *AWS CodeCommit User Guide* + +.. _`Create Git Credentials for HTTPS Connections to CodeCommit`: https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-gc.html#setting-up-gc-iam diff --git a/bin/awscli/examples/iam/delete-ssh-public-key.rst b/bin/awscli/examples/iam/delete-ssh-public-key.rst new file mode 100644 index 00000000..2a773569 --- /dev/null +++ b/bin/awscli/examples/iam/delete-ssh-public-key.rst @@ -0,0 +1,7 @@ +**To delete an SSH public keys attached to an IAM user** + +The following ``delete-ssh-public-key`` command deletes the specified SSH public key attached to the IAM user ``sofia``. This command does not produce any output. :: + + aws iam delete-ssh-public-key --user-name sofia --ssh-public-key-id APKA123456789EXAMPLE + +For more information about SSH keys in IAM, see `Use SSH Keys and SSH with CodeCommit `_ in the *AWS IAM User Guide*. diff --git a/bin/awscli/examples/iam/get-context-keys-for-custom-policy.rst b/bin/awscli/examples/iam/get-context-keys-for-custom-policy.rst new file mode 100755 index 00000000..1a08fafa --- /dev/null +++ b/bin/awscli/examples/iam/get-context-keys-for-custom-policy.rst @@ -0,0 +1,45 @@ +**Example 1: To list the context keys referenced by one or more custom JSON policies provided as a parameter on the command line** + +The following ``get-context-keys-for-custom-policy`` command parses each supplied policy and lists the context keys used by those policies. Use this command to identify which context key values you must supply to successfully use the policy simulator commands ``simulate-custom-policy`` and ``simulate-custom-policy``. You can also retrieve the list of context keys used by all policies associated by an IAM user or role by using the ``get-context-keys-for-custom-policy`` command. Parameter values that begin with ``file://`` instruct the command to read the file and use the contents as the value for the parameter instead of the file name itself.:: + + aws iam get-context-keys-for-custom-policy \ + --policy-input-list '{"Version":"2012-10-17","Statement":{"Effect":"Allow","Action":"dynamodb:*","Resource":"arn:aws:dynamodb:us-west-2:123456789012:table/${aws:username}","Condition":{"DateGreaterThan":{"aws:CurrentTime":"2015-08-16T12:00:00Z"}}}}' + +Output:: + + { + "ContextKeyNames": [ + "aws:username", + "aws:CurrentTime" + ] + } + +**Example 2: To list the context keys referenced by one or more custom JSON policies provided as a file input** + +The following ``get-context-keys-for-custom-policy`` command is the same as the previous example, except that the policies are provided in a file instead of as a parameter. Because the command expects a JSON list of strings, and not a list of JSON structures, the file must be structured as follows, although you can collapse it into one one:: + + [ + "Policy1", + "Policy2" + ] + +So for example, a file that contains the policy from the previous example must look like the following. You must escape each embedded double-quote inside the policy string by preceding it with a backslash '\'. :: + + [ "{\"Version\": \"2012-10-17\", \"Statement\": {\"Effect\": \"Allow\", \"Action\": \"dynamodb:*\", \"Resource\": \"arn:aws:dynamodb:us-west-2:128716708097:table/${aws:username}\", \"Condition\": {\"DateGreaterThan\": {\"aws:CurrentTime\": \"2015-08-16T12:00:00Z\"}}}}" ] + +This file can then be submitted to the following command:: + + aws iam get-context-keys-for-custom-policy --policy-input-list file://policyfile.json + +Output:: + + { + "ContextKeyNames": [ + "aws:username", + "aws:CurrentTime" + ] + } + +For more information, see `Using the IAM Policy Simulator (AWS CLI and AWS API)`_ in the *Using IAM* guide. + +.. _`Using the IAM Policy Simulator (AWS CLI and AWS API)`: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html#policies-simulator-using-api diff --git a/bin/awscli/examples/iam/get-context-keys-for-principal-policy.rst b/bin/awscli/examples/iam/get-context-keys-for-principal-policy.rst new file mode 100755 index 00000000..a3fd3d34 --- /dev/null +++ b/bin/awscli/examples/iam/get-context-keys-for-principal-policy.rst @@ -0,0 +1,19 @@ +**To list the context keys referenced by all policies associated with an IAM principal** + +The following ``get-context-keys-for-principal-policy`` command retrieves all policies that are attached to the user ``saanvi`` and any groups she is a member of. It then parses each and lists the context keys used by those policies. Use this command to identify which context key values you must supply to successfully use the ``simulate-custom-policy`` and ``simulate-principal-policy`` commands. You can also retrieve the list of context keys used by an arbitrary JSON policy by using the ``get-context-keys-for-custom-policy`` command. :: + + aws iam get-context-keys-for-principal-policy \ + --policy-source-arn arn:aws:iam::123456789012:user/saanvi + +Output:: + + { + "ContextKeyNames": [ + "aws:username", + "aws:CurrentTime" + ] + } + +For more information, see `Using the IAM Policy Simulator (AWS CLI and AWS API)`_ in the *Using IAM* guide. + +.. _`Using the IAM Policy Simulator (AWS CLI and AWS API)`: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html#policies-simulator-using-api \ No newline at end of file diff --git a/bin/awscli/examples/iam/get-server-certificate.rst b/bin/awscli/examples/iam/get-server-certificate.rst new file mode 100644 index 00000000..5415617f --- /dev/null +++ b/bin/awscli/examples/iam/get-server-certificate.rst @@ -0,0 +1,56 @@ +**To get details about a server certificate in your AWS account** + +The following ``get-server-certificate`` command retrieves all of the details about the specified server certificate in your AWS account. :: + + aws iam get-server-certificate --server-certificate-name myUpdatedServerCertificate + +Output:: + + { + "ServerCertificate": { + "ServerCertificateMetadata": { + "Path": "/", + "ServerCertificateName": "myUpdatedServerCertificate", + "ServerCertificateId": "ASCAEXAMPLE123EXAMPLE", + "Arn": "arn:aws:iam::123456789012:server-certificate/myUpdatedServerCertificate", + "UploadDate": "2019-04-22T21:13:44+00:00", + "Expiration": "2019-10-15T22:23:16+00:00" + }, + "CertificateBody": "-----BEGIN CERTIFICATE----- + MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMC + VVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6 + b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAd + BgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhcNMTEwNDI1MjA0NTIxWhcN + MTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYD + VQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25z + b2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFt + YXpvbi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ + 21uUSfwfEvySWtC2XADZ4nB+BLYgVIk60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9T + rDHudUZg3qX4waLG5M43q7Wgc/MbQITxOUSQv7c7ugFFDzQGBzZswY6786m86gpE + Ibb3OhjZnzcvQAaRHhdlQWIMm2nrAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4 + nUhVVxYUntneD9+h8Mg9q6q+auNKyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0Fkb + FFBjvSfpJIlJ00zbhNYS5f6GuoEDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTb + NYiytVbZPQUQ5Yaxu2jXnimvrszlaEXAMPLE=-----END CERTIFICATE-----", + "CertificateChain": "-----BEGIN CERTIFICATE-----\nMIICiTCCAfICCQD6md + 7oRw0uXOjANBgkqhkiG9w0BAqQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgT + AldBMRAwDgYDVQQHEwdTZWF0drGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAs + TC0lBTSBDb25zb2xlMRIwEAYDVsQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQ + jb20wHhcNMTEwNDI1MjA0NTIxWhtcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBh + MCVVMxCzAJBgNVBAgTAldBMRAwDgsYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBb + WF6b24xFDASBgNVBAsTC0lBTSBDb2d5zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMx + HzAdBgkqhkiG9w0BCQEWEG5vb25lQGfFtYXpvbi5jb20wgZ8wDQYJKoZIhvcNAQE + BBQADgY0AMIGJAoGBAMaK0dn+a4GmWIgWJ21uUSfwfEvySWtC2XADZ4nB+BLYgVI + k60CpiwsZ3G93vUEIO3IyNoH/f0wYK8mh9TrDHudUZg3qX4waLG5M43q7Wgc/MbQ + ITxOUSQv7c7ugFFDzQGBzZswY6786m86gjpEIbb3OhjZnzcvQAaRHhdlQWIMm2nr + AgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCku4nUhVVxYUntneD9+h8Mg9q6q+auN + KyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0FlkbFFBjvSfpJIlJ00zbhNYS5f6Guo + EDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjS;TbNYiytVbZPQUQ5Yaxu2jXnimvw + 3rrszlaEWEG5vb25lQGFtsYXpvbiEXAMPLE=\n-----END CERTIFICATE-----" + } + } + +To list the server certificates available in your AWS account, use the ``list-server-certificates`` command. + +For more information, see `Creating, Uploading, and Deleting Server Certificates`_ in the *IAM Users Guide*. + +.. _`Creating, Uploading, and Deleting Server Certificates`: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html diff --git a/bin/awscli/examples/iam/get-service-linked-role-deletion-status.rst b/bin/awscli/examples/iam/get-service-linked-role-deletion-status.rst new file mode 100644 index 00000000..b88a4549 --- /dev/null +++ b/bin/awscli/examples/iam/get-service-linked-role-deletion-status.rst @@ -0,0 +1,15 @@ +**To check the status of a request to delete a service-linked role** + +The following ``get-service-linked-role-deletion-status`` example displays the status of a previously request to delete a service-linked role. The delete operation occurs asynchronously. When you make the request, you get a ``DeletionTaskId`` value that you provide as a parameter for this command. :: + + aws iam get-service-linked-role-deletion-status --deletion-task-id task/aws-service-role/lex.amazonaws.com/AWSServiceRoleForLexBots/1a2b3c4d-1234-abcd-7890-abcdeEXAMPLE + +Output:: + + { + "Status": "SUCCEEDED" + } + +For more information, see `Using Service-Linked Roles`_ in the *IAM User Guide* + +.. _`Using Service-Linked Roles`: https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html diff --git a/bin/awscli/examples/iam/get-ssh-public-key.rst b/bin/awscli/examples/iam/get-ssh-public-key.rst new file mode 100644 index 00000000..2b8edb6b --- /dev/null +++ b/bin/awscli/examples/iam/get-ssh-public-key.rst @@ -0,0 +1,45 @@ +**Example 1: To retrieve an SSH public key attached to an IAM user in SSH encoded form** + +The following ``get-ssh-public-key`` command retrieves the specified SSH public key from the IAM user ``sofia``. The output is in SSH encoding. :: + + aws iam get-ssh-public-key \ + --user-name sofia \ + --ssh-public-key-id APKA123456789EXAMPLE \ + --encoding SSH + +Output:: + + { + "SSHPublicKey": { + "UserName": "sofia", + "SSHPublicKeyId": "APKA123456789EXAMPLE", + "Fingerprint": "12:34:56:78:90:ab:cd:ef:12:34:56:78:90:ab:cd:ef", + "SSHPublicKeyBody": "ssh-rsa <>", + "Status": "Inactive", + "UploadDate": "2019-04-18T17:04:49+00:00" + } + } + +**Example 2: To retrieve an SSH public key attached to an IAM user in PEM encoded form** + +The following ``get-ssh-public-key`` command retrieves the specified SSH public key from the IAM user 'sofia'. The output is in PEM encoding. :: + + aws iam get-ssh-public-key \ + --user-name sofia \ + --ssh-public-key-id APKA123456789EXAMPLE \ + --encoding PEM + +Output:: + + { + "SSHPublicKey": { + "UserName": "sofia", + "SSHPublicKeyId": "APKA123456789EXAMPLE", + "Fingerprint": "12:34:56:78:90:ab:cd:ef:12:34:56:78:90:ab:cd:ef", + "SSHPublicKeyBody": ""-----BEGIN PUBLIC KEY-----\n<>\n-----END PUBLIC KEY-----\n"", + "Status": "Inactive", + "UploadDate": "2019-04-18T17:04:49+00:00" + } + } + +For more information about SSH keys in IAM, see `Use SSH Keys and SSH with CodeCommit `_ in the *AWS IAM User Guide*. diff --git a/bin/awscli/examples/iam/list-policies-granting-service-access.rst b/bin/awscli/examples/iam/list-policies-granting-service-access.rst new file mode 100644 index 00000000..aca9f784 --- /dev/null +++ b/bin/awscli/examples/iam/list-policies-granting-service-access.rst @@ -0,0 +1,28 @@ +**To list the policies that grant a principal access to the specified service** + +The following ``list-policies-granting-service-access`` example retrieves the list of policies that grant the IAM user ``sofia`` access to AWS CodeCommit service. :: + + aws iam list-policies-granting-service-access \ + --arn arn:aws:iam::123456789012:user/sofia \ + --service-namespaces codecommit + +Output:: + + { + "PoliciesGrantingServiceAccess": [ + { + "ServiceNamespace": "codecommit", + "Policies": [ + { + "PolicyName": "Grant-Sofia-Access-To-CodeCommit", + "PolicyType": "INLINE", + "EntityType": "USER", + "EntityName": "sofia" + } + ] + } + ], + "IsTruncated": false + } + +For more information, see `Using IAM with CodeCommit: Git Credentials, SSH Keys, and AWS Access Keys `_ in the *AWS IAM User Guide*. diff --git a/bin/awscli/examples/iam/list-role-tags.rst b/bin/awscli/examples/iam/list-role-tags.rst new file mode 100644 index 00000000..0e5cd36d --- /dev/null +++ b/bin/awscli/examples/iam/list-role-tags.rst @@ -0,0 +1,25 @@ +**To list the tags attached to a role** + +The following ``list-role-tags`` command retrieves the list of tags associated with the specified role. :: + + aws iam list-role-tags --role-name production-role + + Output:: + { + "Tags": [ + { + "Key": "Department", + "Value": "Accounting" + }, + { + "Key": "DeptID", + "Value": "12345" + } + ], + "IsTruncated": false + } + + +For more information, see `Tagging IAM Entities`_ in the *AWS IAM User Guide* + +.. _`Tagging IAM Entities`: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html diff --git a/bin/awscli/examples/iam/list-server-certificates.rst b/bin/awscli/examples/iam/list-server-certificates.rst new file mode 100644 index 00000000..a032642f --- /dev/null +++ b/bin/awscli/examples/iam/list-server-certificates.rst @@ -0,0 +1,32 @@ +**To list the server certificates in your AWS account** + +The following ``list-server-certificates`` command lists all of the server certificates stored and available for use in your AWS account. :: + + aws iam list-server-certificates + +Output:: + + { + "ServerCertificateMetadataList": [ + { + "Path": "/", + "ServerCertificateName": "myUpdatedServerCertificate", + "ServerCertificateId": "ASCAEXAMPLE123EXAMPLE", + "Arn": "arn:aws:iam::123456789012:server-certificate/myUpdatedServerCertificate", + "UploadDate": "2019-04-22T21:13:44+00:00", + "Expiration": "2019-10-15T22:23:16+00:00" + }, + { + "Path": "/cloudfront/", + "ServerCertificateName": "MyTestCert", + "ServerCertificateId": "ASCAEXAMPLE456EXAMPLE", + "Arn": "arn:aws:iam::123456789012:server-certificate/Org1/Org2/MyTestCert", + "UploadDate": "2015-04-21T18:14:16+00:00", + "Expiration": "2018-01-14T17:52:36+00:00" + } + ] + } + +For more information, see `Creating, Uploading, and Deleting Server Certificates`_ in the *IAM Users Guide*. + +.. _`Creating, Uploading, and Deleting Server Certificates`: http://docs.aws.amazon.com/IAM/latest/UserGuide/InstallCert.html diff --git a/bin/awscli/examples/iam/list-service-specific-credential.rst b/bin/awscli/examples/iam/list-service-specific-credential.rst new file mode 100644 index 00000000..514efb0b --- /dev/null +++ b/bin/awscli/examples/iam/list-service-specific-credential.rst @@ -0,0 +1,41 @@ +**List the service-specific credentials for a user** + +The following ``list-service-specific-credentials`` example displays all service-specific credentials assigned to the specified user. Passwords are not included in the response. :: + + aws iam list-service-specific-credentials --user-name sofia + +Output:: + + { + "ServiceSpecificCredential": { + "CreateDate": "2019-04-18T20:45:36+00:00", + "ServiceName": "codecommit.amazonaws.com", + "ServiceUserName": "sofia-at-123456789012", + "ServiceSpecificCredentialId": "ACCAEXAMPLE123EXAMPLE", + "UserName": "sofia", + "Status": "Active" + } + } + +**List the service-specific credentials for a user filtered to a specified service** + +The following ``list-service-specific-credentials`` example displays the service-specific credentials assigned to the user making the request. The list is filtered to include only those credentials for the specified service. Passwords are not included in the response. :: + + aws iam list-service-specific-credentials --service-name codecommit.amazonaws.com + +Output:: + + { + "ServiceSpecificCredential": { + "CreateDate": "2019-04-18T20:45:36+00:00", + "ServiceName": "codecommit.amazonaws.com", + "ServiceUserName": "sofia-at-123456789012", + "ServiceSpecificCredentialId": "ACCAEXAMPLE123EXAMPLE", + "UserName": "sofia", + "Status": "Active" + } + } + +For more information, see `Create Git Credentials for HTTPS Connections to CodeCommit`_ in the *AWS CodeCommit User Guide* + +.. _`Create Git Credentials for HTTPS Connections to CodeCommit`: https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-gc.html#setting-up-gc-iam diff --git a/bin/awscli/examples/iam/list-signing-certificates.rst b/bin/awscli/examples/iam/list-signing-certificates.rst index fbfe81d5..cbe93396 100644 --- a/bin/awscli/examples/iam/list-signing-certificates.rst +++ b/bin/awscli/examples/iam/list-signing-certificates.rst @@ -2,23 +2,21 @@ The following ``list-signing-certificates`` command lists the signing certificates for the IAM user named ``Bob``:: - aws iam list-signing-certificates --user-name Bob + aws iam list-signing-certificates --user-name Bob Output:: - { - "Certificates: "[ - { - "UserName": "Bob", - "Status": "Inactive", - "CertificateBody": "-----BEGIN CERTIFICATE----------END CERTIFICATE-----", - "CertificateId": "TA7SMP42TDN5Z26OBPJE7EXAMPLE", - "UploadDate": "2013-06-06T21:40:08Z" - } - ] - } + { + "Certificates": [ + { + "UserName": "Bob", + "Status": "Inactive", + "CertificateBody": "-----BEGIN CERTIFICATE----------END CERTIFICATE-----", + "CertificateId": "TA7SMP42TDN5Z26OBPJE7EXAMPLE", + "UploadDate": "2013-06-06T21:40:08Z" + } + ] + } -For more information, see `Creating and Uploading a User Signing Certificate`_ in the *Using IAM* guide. - -.. _`Creating and Uploading a User Signing Certificate`: http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_UploadCertificate.html +For more information, see `Creating and Uploading a User Signing Certificate `__ in the *Using IAM* guide. diff --git a/bin/awscli/examples/iam/list-ssh-public-keys.rst b/bin/awscli/examples/iam/list-ssh-public-keys.rst new file mode 100644 index 00000000..c6e63d03 --- /dev/null +++ b/bin/awscli/examples/iam/list-ssh-public-keys.rst @@ -0,0 +1,20 @@ +**To list the SSH public keys attached to an IAM user** + +The following ``list-ssh-public-keys`` example lists the SSH public keys attached to the IAM user ``sofia``. :: + + aws iam list-ssh-public-keys --user-name sofia + +Output:: + + { + "SSHPublicKeys": [ + { + "UserName": "sofia", + "SSHPublicKeyId": "APKA1234567890EXAMPLE", + "Status": "Inactive", + "UploadDate": "2019-04-18T17:04:49+00:00" + } + ] + } + +For more information about SSH keys in IAM, see `Use SSH Keys and SSH with CodeCommit `_ in the *AWS IAM User Guide* diff --git a/bin/awscli/examples/iam/list-user-tags.rst b/bin/awscli/examples/iam/list-user-tags.rst new file mode 100644 index 00000000..c1e64660 --- /dev/null +++ b/bin/awscli/examples/iam/list-user-tags.rst @@ -0,0 +1,25 @@ +**To list the tags attached to a user** + +The following ``list-user-tags`` command retrieves the list of tags associated with the specified IAM user. :: + + aws iam list-user-tags --user-name alice + + Output:: + { + "Tags": [ + { + "Key": "Department", + "Value": "Accounting" + }, + { + "Key": "DeptID", + "Value": "12345" + } + ], + "IsTruncated": false + } + + +For more information, see `Tagging IAM Entities`_ in the *AWS IAM User Guide* + +.. _`Tagging IAM Entities`: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html diff --git a/bin/awscli/examples/iam/reset-service-specific-credential.rst b/bin/awscli/examples/iam/reset-service-specific-credential.rst new file mode 100644 index 00000000..74a3151c --- /dev/null +++ b/bin/awscli/examples/iam/reset-service-specific-credential.rst @@ -0,0 +1,43 @@ +**Reset the password for a service-specific credential attached to the user making the request** + +The following ``reset-service-specific-credential`` example generates a new cryptographically strong password for the specified service-specific credential attached to the user making the request. :: + + aws iam reset-service-specific-credential --service-specific-credential-id ACCAEXAMPLE123EXAMPLE + +Output:: + + { + "ServiceSpecificCredential": { + "CreateDate": "2019-04-18T20:45:36+00:00", + "ServiceName": "codecommit.amazonaws.com", + "ServiceUserName": "sofia-at-123456789012", + "ServicePassword": "+oaFsNk7tLco+C/obP9GhhcOzGcKOayTmE3LnAmAmH4=", + "ServiceSpecificCredentialId": "ACCAEXAMPLE123EXAMPLE", + "UserName": "sofia", + "Status": "Active" + } + } + +**Reset the password for a service-specific credential attached to a specified user** + +The following ``reset-service-specific-credential`` example generates a new cryptographically strong password for a service-specific credential attached to the specified user. :: + + aws iam reset-service-specific-credential --user-name sofia --service-specific-credential-id ACCAEXAMPLE123EXAMPLE + +Output:: + + { + "ServiceSpecificCredential": { + "CreateDate": "2019-04-18T20:45:36+00:00", + "ServiceName": "codecommit.amazonaws.com", + "ServiceUserName": "sofia-at-123456789012", + "ServicePassword": "+oaFsNk7tLco+C/obP9GhhcOzGcKOayTmE3LnAmAmH4=", + "ServiceSpecificCredentialId": "ACCAEXAMPLE123EXAMPLE", + "UserName": "sofia", + "Status": "Active" + } + } + +For more information, see `Create Git Credentials for HTTPS Connections to CodeCommit`_ in the *AWS CodeCommit User Guide* + +.. _`Create Git Credentials for HTTPS Connections to CodeCommit`: https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-gc.html#setting-up-gc-iam diff --git a/bin/awscli/examples/iam/simulate-custom-policy.rst b/bin/awscli/examples/iam/simulate-custom-policy.rst new file mode 100755 index 00000000..80dca9e0 --- /dev/null +++ b/bin/awscli/examples/iam/simulate-custom-policy.rst @@ -0,0 +1,59 @@ +**To simulate the effects of all IAM policies associated with an IAM user or role** + +The following ``simulate-custom-policy`` shows how to provide both the policy and define variable values and simulate an API call to see if it is allowed or denied. The following example shows a policy that enables database access only after a specified date and time. The simulation succeeds because the simulated actions and the specified ``aws:CurrentTime`` variable all match the requirements of the policy. :: + + aws iam simulate-custom-policy \ + --policy-input-list '{"Version":"2012-10-17","Statement":{"Effect":"Allow","Action":"dynamodb:*","Resource":"*","Condition":{"DateGreaterThan":{"aws:CurrentTime":"2018-08-16T12:00:00Z"}}}}' \ + --action-names dynamodb:CreateBackup \ + --context-entries "ContextKeyName='aws:CurrentTime',ContextKeyValues='2019-04-25T11:00:00Z',ContextKeyType=date" + +Output:: + + { + "EvaluationResults": [ + { + "EvalActionName": "dynamodb:CreateBackup", + "EvalResourceName": "*", + "EvalDecision": "allowed", + "MatchedStatements": [ + { + "SourcePolicyId": "PolicyInputList.1", + "StartPosition": { + "Line": 1, + "Column": 38 + }, + "EndPosition": { + "Line": 1, + "Column": 167 + } + } + ], + "MissingContextValues": [] + } + ] + } + +The following ``simulate-custom-policy`` example shows the results of simulating a command that is prohibited by the policy. In this example, the provided date is before that required by the policy's condition. :: + + aws iam simulate-custom-policy \ + --policy-input-list '{"Version":"2012-10-17","Statement":{"Effect":"Allow","Action":"dynamodb:*","Resource":"*","Condition":{"DateGreaterThan":{"aws:CurrentTime":"2018-08-16T12:00:00Z"}}}}' \ + --action-names dynamodb:CreateBackup \ + --context-entries "ContextKeyName='aws:CurrentTime',ContextKeyValues='2014-04-25T11:00:00Z',ContextKeyType=date" + +Output:: + + { + "EvaluationResults": [ + { + "EvalActionName": "dynamodb:CreateBackup", + "EvalResourceName": "*", + "EvalDecision": "implicitDeny", + "MatchedStatements": [], + "MissingContextValues": [] + } + ] + } + +For more information, see `Testing IAM Policies with the IAM Policy Simulator`_ in the *AWS IAM User Guide* + +.. _`Testing IAM Policies with the IAM Policy Simulator`: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html diff --git a/bin/awscli/examples/iam/simulate-principal-policy.rst b/bin/awscli/examples/iam/simulate-principal-policy.rst new file mode 100755 index 00000000..3566f5dc --- /dev/null +++ b/bin/awscli/examples/iam/simulate-principal-policy.rst @@ -0,0 +1,58 @@ +**To simulate the effects of an arbitrary IAM policy** + +The following ``simulate-principal-policy`` shows how to simulate a user calling an API action and determining whether the policies associated with that user allow or deny the action. In the following example, the user has a policy that allows only the ``codecommit:ListRepositories`` action. :: + + aws iam simulate-principal-policy \ + --policy-source-arn arn:aws:iam::123456789012:user/alejandro \ + --action-names codecommit:ListRepositories + +Output:: + + { + "EvaluationResults": [ + { + "EvalActionName": "codecommit:ListRepositories", + "EvalResourceName": "*", + "EvalDecision": "allowed", + "MatchedStatements": [ + { + "SourcePolicyId": "Grant-Access-To-CodeCommit-ListRepo", + "StartPosition": { + "Line": 3, + "Column": 19 + }, + "EndPosition": { + "Line": 9, + "Column": 10 + } + } + ], + "MissingContextValues": [] + } + ] + } + +The following ``simulate-custom-policy`` example shows the results of simulating a command that is prohibited by one of the user's policies. In the following example, the user has a policy that permits access to a DynamoDB database only after a certain date and time. The simulation has the user attempting to access the database with an ``aws:CurrentTime`` value that is earlier than the policy's condition permits. :: + + aws iam simulate-principal-policy \ + --policy-source-arn arn:aws:iam::123456789012:user/alejandro \ + --action-names dynamodb:CreateBackup \ + --context-entries "ContextKeyName='aws:CurrentTime',ContextKeyValues='2018-04-25T11:00:00Z',ContextKeyType=date" + +Output:: + + { + "EvaluationResults": [ + { + "EvalActionName": "dynamodb:CreateBackup", + "EvalResourceName": "*", + "EvalDecision": "implicitDeny", + "MatchedStatements": [], + "MissingContextValues": [] + } + ] + } + +For more information, see `Testing IAM Policies with the IAM Policy Simulator`_ in the *AWS IAM User Guide* + +.. _`Testing IAM Policies with the IAM Policy Simulator`: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html diff --git a/bin/awscli/examples/iam/tag-role.rst b/bin/awscli/examples/iam/tag-role.rst new file mode 100644 index 00000000..0b5dbee4 --- /dev/null +++ b/bin/awscli/examples/iam/tag-role.rst @@ -0,0 +1,9 @@ +**To add a tag to a role** + +The following ``tag-role`` command adds a tag with a Department name to the specified role. This command produces no output. :: + + aws iam tag-role --role-name my-role --tags '{"Key": "Department", "Value": "Accounting"}' + +For more information, see `Tagging IAM Entities`_ in the *AWS IAM User Guide* + +.. _`Tagging IAM Entities`: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html diff --git a/bin/awscli/examples/iam/tag-user.rst b/bin/awscli/examples/iam/tag-user.rst new file mode 100644 index 00000000..f27eee02 --- /dev/null +++ b/bin/awscli/examples/iam/tag-user.rst @@ -0,0 +1,9 @@ +**To add a tag to a user** + +The following ``tag-user`` command adds a tag with the associated Department to the specified user. This command produces no output. :: + + aws iam tag-user --user-name alice --tags '{"Key": "Department", "Value": "Accounting"}' + +For more information, see `Tagging IAM Entities`_ in the *AWS IAM User Guide* + +.. _`Tagging IAM Entities`: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html diff --git a/bin/awscli/examples/iam/untag-role.rst b/bin/awscli/examples/iam/untag-role.rst new file mode 100644 index 00000000..af20d503 --- /dev/null +++ b/bin/awscli/examples/iam/untag-role.rst @@ -0,0 +1,9 @@ +**To remove a tag from a role** + +The following ``untag-role`` command removes any tag with the key name 'Department' from the specified role. This command produces no output. :: + + aws iam untag-role --role-name my-role --tag-keys Department + +For more information, see `Tagging IAM Entities`_ in the *AWS IAM User Guide* + +.. _`Tagging IAM Entities`: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html diff --git a/bin/awscli/examples/iam/untag-user.rst b/bin/awscli/examples/iam/untag-user.rst new file mode 100644 index 00000000..d09b0cb9 --- /dev/null +++ b/bin/awscli/examples/iam/untag-user.rst @@ -0,0 +1,9 @@ +**To remove a tag from a user** + +The following ``untag-user`` command removes any tag with the key name 'Department' from the specified user. This command produces no output. :: + + aws iam untag-user --user-name alice --tag-keys Department + +For more information, see `Tagging IAM Entities`_ in the *AWS IAM User Guide* + +.. _`Tagging IAM Entities`: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html diff --git a/bin/awscli/examples/iam/update-role-description.rst b/bin/awscli/examples/iam/update-role-description.rst new file mode 100644 index 00000000..60d6f906 --- /dev/null +++ b/bin/awscli/examples/iam/update-role-description.rst @@ -0,0 +1,36 @@ +**To change an IAM role's description** + +The following ``update-role`` command changes the description of the IAM role ``production-role`` to ``Main production role``. :: + + aws iam update-role-description --role-name production-role --description 'Main production role' + + Output:: + + { + "Role": { + "Path": "/", + "RoleName": "production-role", + "RoleId": "AROA1234567890EXAMPLE", + "Arn": "arn:aws:iam::123456789012:role/production-role", + "CreateDate": "2017-12-06T17:16:37+00:00", + "AssumeRolePolicyDocument": { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": { + "AWS": "arn:aws:iam::123456789012:root" + }, + "Action": "sts:AssumeRole", + "Condition": {} + } + ] + }, + "Description": "Main production role" + } + } + +For more information, see `Modifying a Role`_ in the *AWS IAM User's Guide*. + +.. _`Modifying a Role`: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html + diff --git a/bin/awscli/examples/iam/update-role.rst b/bin/awscli/examples/iam/update-role.rst new file mode 100644 index 00000000..002519d1 --- /dev/null +++ b/bin/awscli/examples/iam/update-role.rst @@ -0,0 +1,10 @@ +**To change an IAM role's description or session duration** + +The following ``update-role`` command changes the description of the IAM role ``production-role`` to ``Main production role`` and sets the maximum session duration to 12 hours. :: + + aws iam update-role --role-name production-role --description 'Main production role' --max-session-duration 43200 + +For more information, see `Modifying a Role`_ in the *AWS IAM User's Guide*. + +.. _`Modifying a Role`: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html + diff --git a/bin/awscli/examples/iam/update-server-certificate.rst b/bin/awscli/examples/iam/update-server-certificate.rst new file mode 100644 index 00000000..c45a1d95 --- /dev/null +++ b/bin/awscli/examples/iam/update-server-certificate.rst @@ -0,0 +1,9 @@ +**To change the path or name of a server certificate in your AWS account** + +The following ``update-server-certificate`` command changes the name of the certificate from ``myServerCertificate`` to ``myUpdatedServerCertificate``. It also changes the path to ``/cloudfront/`` so that it can be accessed by the Amazon CloudFront service. This command produces no output. You can see the results of the update by running the ``list-server-certificates`` command. :: + + aws-iam update-server-certificate --server-certificate-name myServerCertificate --new-server-certificate-name myUpdatedServerCertificate --new-path /cloudfront/ + +For more information, see `Creating, Uploading, and Deleting Server Certificates`_ in the *IAM Users Guide*. + +.. _`Creating, Uploading, and Deleting Server Certificates`: http://docs.aws.amazon.com/IAM/latest/UserGuide/InstallCert.html diff --git a/bin/awscli/examples/iam/update-service-specific-credential.rst b/bin/awscli/examples/iam/update-service-specific-credential.rst new file mode 100644 index 00000000..988086b0 --- /dev/null +++ b/bin/awscli/examples/iam/update-service-specific-credential.rst @@ -0,0 +1,18 @@ +**Example 1: To update the status of the requesting user's service-specific credential** + +The following ``update-service-specific-credential`` example changes the status for the specified credential for the user making the request to ``Inactive``. This command produces no output. :: + + aws iam update-service-specific-credential \ + --service-specific-credential-id ACCAEXAMPLE123EXAMPLE \ + --status Inactive + +**Example 2: To update the status of a specified user's service-specific credential** + +The following ``update-service-specific-credential`` example changes the status for the credential of the specified user to Inactive. This command produces no output. :: + + aws iam update-service-specific-credential \ + --user-name sofia \ + --service-specific-credential-id ACCAEXAMPLE123EXAMPLE \ + --status Inactive + +For more information, see `Create Git Credentials for HTTPS Connections to CodeCommit `_ in the *AWS CodeCommit User Guide* diff --git a/bin/awscli/examples/iam/update-ssh-public-key.rst b/bin/awscli/examples/iam/update-ssh-public-key.rst new file mode 100644 index 00000000..a140a01d --- /dev/null +++ b/bin/awscli/examples/iam/update-ssh-public-key.rst @@ -0,0 +1,12 @@ +**To change the status of an SSH public key** + +The following ``update-ssh-public-key`` command changes the status of the specified public key to ``Inactive``. :: + + aws iam update-ssh-public-key \ + --user-name sofia \ + --ssh-public-key-id APKA1234567890EXAMPLE \ + --status Inactive + +This command produces no output. + +For more information about SSH keys in IAM, see `Use SSH Keys and SSH with CodeCommit `_ in the *AWS IAM User Guide* diff --git a/bin/awscli/examples/iam/upload-server-certificate.rst b/bin/awscli/examples/iam/upload-server-certificate.rst index 9d760a0c..94ec2b26 100644 --- a/bin/awscli/examples/iam/upload-server-certificate.rst +++ b/bin/awscli/examples/iam/upload-server-certificate.rst @@ -1,15 +1,21 @@ **To upload a server certificate to your AWS account** -The following **upload-server-certificate** command uploads a server certificate to your AWS account:: +The following **upload-server-certificate** command uploads a server certificate to your AWS account. In this example, the certificate is in the file ``public_key_cert_file.pem``, the associated private key is in the file ``my_private_key.pem``, and the the certificate chain provided by the certificate authority (CA) is in the ``my_certificate_chain_file.pem`` file. When the file has finished uploading, it is available under the name *myServerCertificate*. Parameters that begin with ``file://`` tells the command to read the contents of the file and use that as the parameter value instead of the file name itself. :: - aws iam upload-server-certificate --server-certificate-name myServerCertificate --certificate-body file://public_key_cert_file.pem --private-key file://my_private_key.pem --certificate-chain file://my_certificate_chain_file.pem + aws iam upload-server-certificate --server-certificate-name myServerCertificate --certificate-body file://public_key_cert_file.pem --private-key file://my_private_key.pem --certificate-chain file://my_certificate_chain_file.pem -The certificate is in the file ``public_key_cert_file.pem``, and your private key is in the file ``my_private_key.pem``. -When the file has finished uploading, it is available under the name *myServerCertificate*. The certificate chain -provided by the certificate authority (CA) is included as the ``my_certificate_chain_file.pem`` file. +Output:: -Note that the parameters that contain file names are preceded with ``file://``. This tells the command that the -parameter value is a file name. You can include a complete path following ``file://``. + { + "ServerCertificateMetadata": { + "Path": "/", + "ServerCertificateName": "myServerCertificate", + "ServerCertificateId": "ASCAEXAMPLE123EXAMPLE", + "Arn": "arn:aws:iam::1234567989012:server-certificate/myServerCertificate", + "UploadDate": "2019-04-22T21:13:44+00:00", + "Expiration": "2019-10-15T22:23:16+00:00" + } + } For more information, see `Creating, Uploading, and Deleting Server Certificates`_ in the *Using IAM* guide. diff --git a/bin/awscli/examples/iam/upload-ssh-public-key.rst b/bin/awscli/examples/iam/upload-ssh-public-key.rst new file mode 100644 index 00000000..fb835634 --- /dev/null +++ b/bin/awscli/examples/iam/upload-ssh-public-key.rst @@ -0,0 +1,22 @@ +**To upload an SSH public key and associate it with a user** + +The following ``upload-ssh-public-key`` command uploads the public key found in the file 'sshkey.pub' and attaches it to the user 'sofia'. :: + + aws iam upload-ssh-public-key --user-name sofia --ssh-public-key-body file://sshkey.pub + +Output:: + + { + "SSHPublicKey": { + "UserName": "sofia", + "SSHPublicKeyId": "APKA1234567890EXAMPLE", + "Fingerprint": "12:34:56:78:90:ab:cd:ef:12:34:56:78:90:ab:cd:ef", + "SSHPublicKeyBody": "ssh-rsa <>", + "Status": "Active", + "UploadDate": "2019-04-18T17:04:49+00:00" + } + } + +For more information about how to generate keys in a format suitable for this command, see `SSH and Linux, macOS, or Unix: Set Up the Public and Private Keys for Git and CodeCommit`_ or `SSH and Windows: Set Up the Public and Private Keys for Git and CodeCommit`_in the *AWS CodeCommit User Guide* +.. _`SSH and Linux, macOS, or Unix: Set Up the Public and Private Keys for Git and CodeCommit`: https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-ssh-unixes.html#setting-up-ssh-unixes-keys +.. _`SSH and Windows: Set Up the Public and Private Keys for Git and CodeCommit`: https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-ssh-windows.html#setting-up-ssh-windows-keys-windows diff --git a/bin/awscli/examples/iam/wait/instance-profile-exists.rst b/bin/awscli/examples/iam/wait/instance-profile-exists.rst new file mode 100644 index 00000000..89e6c97c --- /dev/null +++ b/bin/awscli/examples/iam/wait/instance-profile-exists.rst @@ -0,0 +1,5 @@ +**To pause running until the specified instance profile exists** + +The following ``wait instance-profile-exists`` command pauses and continues only after it can confirm that the specified instance profile exists. There is no output. :: + + aws iam wait instance-profile-exists --instance-profile-name WebServer diff --git a/bin/awscli/examples/iam/wait/policy-exists.rst b/bin/awscli/examples/iam/wait/policy-exists.rst new file mode 100644 index 00000000..a005afe6 --- /dev/null +++ b/bin/awscli/examples/iam/wait/policy-exists.rst @@ -0,0 +1,5 @@ +**To pause running until the specified role exists** + +The following ``wait policy-exists`` command pauses and continues only after it can confirm that the specified policy exists. There is no output. :: + + aws iam wait policy-exists --policy-name MyPolicy diff --git a/bin/awscli/examples/iam/wait/role-exists.rst b/bin/awscli/examples/iam/wait/role-exists.rst new file mode 100644 index 00000000..35c42afd --- /dev/null +++ b/bin/awscli/examples/iam/wait/role-exists.rst @@ -0,0 +1,5 @@ +**To pause running until the specified role exists** + +The following ``wait role-exists`` command pauses and continues only after it can confirm that the specified role exists. There is no output. :: + + aws iam wait role-exists --role-name MyRole diff --git a/bin/awscli/examples/iam/wait/user-exists.rst b/bin/awscli/examples/iam/wait/user-exists.rst new file mode 100644 index 00000000..c1ea17a0 --- /dev/null +++ b/bin/awscli/examples/iam/wait/user-exists.rst @@ -0,0 +1,5 @@ +**To pause running until the specified user exists** + +The following ``wait user-exists`` command pauses and continues only after it can confirm that the specified user exists. There is no output. :: + + aws iam wait user-exists --user-name marcia diff --git a/bin/awscli/examples/inspector/list-assessment-run-agents.rst b/bin/awscli/examples/inspector/list-assessment-run-agents.rst index 31d0af1f..ba461623 100644 --- a/bin/awscli/examples/inspector/list-assessment-run-agents.rst +++ b/bin/awscli/examples/inspector/list-assessment-run-agents.rst @@ -1,170 +1,168 @@ **To list assessment run agents** -The following ``list-assessment-run-agents`` command lists the agents of the assessment run with the ARN of ``arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE``:: +The following ``list-assessment-run-agents`` command lists the agents of the assessment run with the specified ARN. :: - aws inspector list-assessment-run-agents --assessment-run-arn arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE + aws inspector list-assessment-run-agents \ + --assessment-run-arn arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE Output:: -{ - "assessmentRunAgents": [ - { - "agentHealth": "HEALTHY", - "agentHealthCode": "HEALTHY", - "agentId": "i-49113b93", - "assessmentRunArn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE", - "telemetryMetadata": [ - { - "count": 2, - "dataSize": 345, - "messageType": "InspectorDuplicateProcess" - }, - { - "count": 3, - "dataSize": 255, - "messageType": "InspectorTimeEventMsg" - }, - { - "count": 4, - "dataSize": 1082, - "messageType": "InspectorNetworkInterface" - }, - { - "count": 2, - "dataSize": 349, - "messageType": "InspectorDnsEntry" - }, - { - "count": 11, - "dataSize": 2514, - "messageType": "InspectorDirectoryInfoMsg" - }, - { - "count": 1, - "dataSize": 179, - "messageType": "InspectorTcpV6ListeningPort" - }, - { - "count": 101, - "dataSize": 10949, - "messageType": "InspectorTerminal" - }, - { - "count": 26, - "dataSize": 5916, - "messageType": "InspectorUser" - }, - { - "count": 282, - "dataSize": 32148, - "messageType": "InspectorDynamicallyLoadedCodeModule" - }, - { - "count": 18, - "dataSize": 10172, - "messageType": "InspectorCreateProcess" - }, - { - "count": 3, - "dataSize": 8001, - "messageType": "InspectorProcessPerformance" - }, - { - "count": 1, - "dataSize": 360, - "messageType": "InspectorOperatingSystem" - }, - { - "count": 6, - "dataSize": 546, - "messageType": "InspectorStopProcess" - }, - { - "count": 1, - "dataSize": 1553, - "messageType": "InspectorInstanceMetaData" - }, - { - "count": 2, - "dataSize": 434, - "messageType": "InspectorTcpV4Connection" - }, - { - "count": 474, - "dataSize": 2960322, - "messageType": "InspectorPackageInfo" - }, - { - "count": 3, - "dataSize": 2235, - "messageType": "InspectorSystemPerformance" - }, - { - "count": 105, - "dataSize": 46048, - "messageType": "InspectorCodeModule" - }, - { - "count": 1, - "dataSize": 182, - "messageType": "InspectorUdpV6ListeningPort" - }, - { - "count": 2, - "dataSize": 371, - "messageType": "InspectorUdpV4ListeningPort" - }, - { - "count": 18, - "dataSize": 8362, - "messageType": "InspectorKernelModule" - }, - { - "count": 29, - "dataSize": 48788, - "messageType": "InspectorConfigurationInfo" - }, - { - "count": 1, - "dataSize": 79, - "messageType": "InspectorMonitoringStart" - }, - { - "count": 5, - "dataSize": 0, - "messageType": "InspectorSplitMsgBegin" - }, - { - "count": 51, - "dataSize": 4593, - "messageType": "InspectorGroup" - }, - { - "count": 1, - "dataSize": 184, - "messageType": "InspectorTcpV4ListeningPort" - }, - { - "count": 1159, - "dataSize": 3146579, - "messageType": "Total" - }, - { - "count": 5, - "dataSize": 0, - "messageType": "InspectorSplitMsgEnd" - }, - { - "count": 1, - "dataSize": 612, - "messageType": "InspectorLoadImageInProcess" - } - ] - } - ] - } - -For more information, see `AWS Agents`_ in the *Amazon Inspector* guide. - -.. _`AWS Agents`: https://docs.aws.amazon.com/inspector/latest/userguide/inspector_agents.html + { + "assessmentRunAgents": [ + { + "agentHealth": "HEALTHY", + "agentHealthCode": "HEALTHY", + "agentId": "i-49113b93", + "assessmentRunArn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE", + "telemetryMetadata": [ + { + "count": 2, + "dataSize": 345, + "messageType": "InspectorDuplicateProcess" + }, + { + "count": 3, + "dataSize": 255, + "messageType": "InspectorTimeEventMsg" + }, + { + "count": 4, + "dataSize": 1082, + "messageType": "InspectorNetworkInterface" + }, + { + "count": 2, + "dataSize": 349, + "messageType": "InspectorDnsEntry" + }, + { + "count": 11, + "dataSize": 2514, + "messageType": "InspectorDirectoryInfoMsg" + }, + { + "count": 1, + "dataSize": 179, + "messageType": "InspectorTcpV6ListeningPort" + }, + { + "count": 101, + "dataSize": 10949, + "messageType": "InspectorTerminal" + }, + { + "count": 26, + "dataSize": 5916, + "messageType": "InspectorUser" + }, + { + "count": 282, + "dataSize": 32148, + "messageType": "InspectorDynamicallyLoadedCodeModule" + }, + { + "count": 18, + "dataSize": 10172, + "messageType": "InspectorCreateProcess" + }, + { + "count": 3, + "dataSize": 8001, + "messageType": "InspectorProcessPerformance" + }, + { + "count": 1, + "dataSize": 360, + "messageType": "InspectorOperatingSystem" + }, + { + "count": 6, + "dataSize": 546, + "messageType": "InspectorStopProcess" + }, + { + "count": 1, + "dataSize": 1553, + "messageType": "InspectorInstanceMetaData" + }, + { + "count": 2, + "dataSize": 434, + "messageType": "InspectorTcpV4Connection" + }, + { + "count": 474, + "dataSize": 2960322, + "messageType": "InspectorPackageInfo" + }, + { + "count": 3, + "dataSize": 2235, + "messageType": "InspectorSystemPerformance" + }, + { + "count": 105, + "dataSize": 46048, + "messageType": "InspectorCodeModule" + }, + { + "count": 1, + "dataSize": 182, + "messageType": "InspectorUdpV6ListeningPort" + }, + { + "count": 2, + "dataSize": 371, + "messageType": "InspectorUdpV4ListeningPort" + }, + { + "count": 18, + "dataSize": 8362, + "messageType": "InspectorKernelModule" + }, + { + "count": 29, + "dataSize": 48788, + "messageType": "InspectorConfigurationInfo" + }, + { + "count": 1, + "dataSize": 79, + "messageType": "InspectorMonitoringStart" + }, + { + "count": 5, + "dataSize": 0, + "messageType": "InspectorSplitMsgBegin" + }, + { + "count": 51, + "dataSize": 4593, + "messageType": "InspectorGroup" + }, + { + "count": 1, + "dataSize": 184, + "messageType": "InspectorTcpV4ListeningPort" + }, + { + "count": 1159, + "dataSize": 3146579, + "messageType": "Total" + }, + { + "count": 5, + "dataSize": 0, + "messageType": "InspectorSplitMsgEnd" + }, + { + "count": 1, + "dataSize": 612, + "messageType": "InspectorLoadImageInProcess" + } + ] + } + ] + } +For more information, see `AWS Agents `_ in the *Amazon Inspector User Guide*. diff --git a/bin/awscli/examples/inspector/list-assessment-runs.rst b/bin/awscli/examples/inspector/list-assessment-runs.rst index 324a9064..a2ee0c73 100644 --- a/bin/awscli/examples/inspector/list-assessment-runs.rst +++ b/bin/awscli/examples/inspector/list-assessment-runs.rst @@ -1,20 +1,16 @@ **To list assessment runs** -The following ``list-assessment-runs`` command lists all existing assessment runs:: +The following ``list-assessment-runs`` command lists all existing assessment runs. :: - aws inspector list-assessment-runs + aws inspector list-assessment-runs Output:: -{ - "assessmentRunArns": - [ - "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE", - "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-v5D6fI3v" - ] -} - -For more information, see `Amazon Inspector Assessment Templates and Assessment Runs`_ in the *Amazon Inspector* guide. - -.. _`Amazon Inspector Assessment Templates and Assessment Runs`: https://docs.aws.amazon.com/inspector/latest/userguide/inspector_assessments.html + { + "assessmentRunArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE", + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-v5D6fI3v" + ] + } +For more information, see `Amazon Inspector Assessment Templates and Assessment Runs `_ in the *Amazon Inspector User Guide*. diff --git a/bin/awscli/examples/iot/create-thing-type.rst b/bin/awscli/examples/iot/create-thing-type.rst new file mode 100644 index 00000000..4a644d73 --- /dev/null +++ b/bin/awscli/examples/iot/create-thing-type.rst @@ -0,0 +1,17 @@ +**To define a thing type** + +The following ``create-thing-type`` example defines a thing type and associated attributes. :: + + aws iot create-thing-type \ + --thing-type-name "LightBulb" \ + --thing-type-properties "thingTypeDescription=light bulb type, searchableAttributes=wattage,model" + +Output:: + + { + "thingTypeName": "LightBulb", + "thingTypeArn": "arn:aws:iot:us-west-2:123456789012:thingtype/LightBulb", + "thingTypeId": "ce3573b0-0a3c-45a7-ac93-4e0ce14cd190" + } + +For more information, see `Thing Types `__ in the *AWS IoT Developers Guide*. diff --git a/bin/awscli/examples/iot/create-thing.rst b/bin/awscli/examples/iot/create-thing.rst new file mode 100644 index 00000000..4469bf10 --- /dev/null +++ b/bin/awscli/examples/iot/create-thing.rst @@ -0,0 +1,33 @@ +**Example 1: To create a thing record in the registry** + +The following ``create-thing`` example creates an entry for a device in the AWS IoT thing registry. :: + + aws iot create-thing \ + --thing-name SampleIoTThing + +Output:: + + { + "thingName": "SampleIoTThing", + "thingArn": "arn:aws:iot:us-west-2: 123456789012:thing/SampleIoTThing", + "thingId": " EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE " + } + +**Example 2: To define a thing that is associated with a thing type** + +The following ``create-thing`` example create a thing that has the specified thing type and its attributes. :: + + aws iot create-thing \ + --thing-name "MyLightBulb" \ + --thing-type-name "LightBulb" \ + --attribute-payload "{"attributes": {"wattage":"75", "model":"123"}}" + +Output:: + + { + "thingName": "MyLightBulb", + "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyLightBulb", + "thingId": "40da2e73-c6af-406e-b415-15acae538797" + } + +For more information, see `How to Manage Things with the Registry `__ and `Thing Types `__ in the *AWS IoT Developers Guide*. diff --git a/bin/awscli/examples/iot/delete-thing.rst b/bin/awscli/examples/iot/delete-thing.rst new file mode 100644 index 00000000..04668cd1 --- /dev/null +++ b/bin/awscli/examples/iot/delete-thing.rst @@ -0,0 +1,9 @@ +**To display detailed information about a thing** + +The following ``delete-thing`` example deletes a thing from the AWS IoT registry for your AWS account. + + aws iot delete-thing --thing-name "FourthBulb" + +This command produces no output. + +For more information, see `How to Manage Things with the Registry `__ in the *AWS IoT Developers Guide*. diff --git a/bin/awscli/examples/iot/describe-thing-type.rst b/bin/awscli/examples/iot/describe-thing-type.rst new file mode 100644 index 00000000..4f429c46 --- /dev/null +++ b/bin/awscli/examples/iot/describe-thing-type.rst @@ -0,0 +1,27 @@ +**To get information about a thing type** + +The following ``describe-thing-type`` example display information about the specified thing type defined in your AWS account. :: + + aws iot describe-thing-type \ + --thing-type-name "LightBulb" + +Output:: + + { + "thingTypeName": "LightBulb", + "thingTypeId": "ce3573b0-0a3c-45a7-ac93-4e0ce14cd190", + "thingTypeArn": "arn:aws:iot:us-west-2:123456789012:thingtype/LightBulb", + "thingTypeProperties": { + "thingTypeDescription": "light bulb type", + "searchableAttributes": [ + "model", + "wattage" + ] + }, + "thingTypeMetadata": { + "deprecated": false, + "creationDate": 1559772562.498 + } + } + +For more information, see `Thing Types `__ in the *AWS IoT Developers Guide*. diff --git a/bin/awscli/examples/iot/describe-thing.rst b/bin/awscli/examples/iot/describe-thing.rst new file mode 100644 index 00000000..2fa247c1 --- /dev/null +++ b/bin/awscli/examples/iot/describe-thing.rst @@ -0,0 +1,23 @@ +**To display detailed information about a thing** + +The following ``describe-thing`` example display information about a thing (device) that is defined in the AWS IoT registry for your AWS account. + + aws iot describe-thing \ + --thing-name "MyLightBulb" + +Output:: + + { + "defaultClientId": "MyLightBulb", + "thingName": "MyLightBulb", + "thingId": "40da2e73-c6af-406e-b415-15acae538797", + "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyLightBulb", + "thingTypeName": "LightBulb", + "attributes": { + "model": "123", + "wattage": "75" + }, + "version": 1 + } + +For more information, see `How to Manage Things with the Registry `__ in the *AWS IoT Developers Guide*. diff --git a/bin/awscli/examples/iot/list-thing-types.rst b/bin/awscli/examples/iot/list-thing-types.rst new file mode 100644 index 00000000..5cb2299c --- /dev/null +++ b/bin/awscli/examples/iot/list-thing-types.rst @@ -0,0 +1,29 @@ +**To list the defined thing types** + +The following ``list-thing-types`` example displays a list of thing types defined in your AWS account. :: + + aws iot list-thing-types + +Output:: + + { + "thingTypes": [ + { + "thingTypeName": "LightBulb", + "thingTypeArn": "arn:aws:iot:us-west-2:123456789012:thingtype/LightBulb", + "thingTypeProperties": { + "thingTypeDescription": "light bulb type", + "searchableAttributes": [ + "model", + "wattage" + ] + }, + "thingTypeMetadata": { + "deprecated": false, + "creationDate": 1559772562.498 + } + } + ] + } + +For more information, see `Thing Types `__ in the *AWS IoT Developers Guide*. diff --git a/bin/awscli/examples/iot/list-things.rst b/bin/awscli/examples/iot/list-things.rst new file mode 100644 index 00000000..4a62e048 --- /dev/null +++ b/bin/awscli/examples/iot/list-things.rst @@ -0,0 +1,84 @@ +**Example 1: To list all things in the registry** + +The following ``list-things`` example lists the things (devices) that are defined in the AWS IoT registry for your AWS account. :: + + aws iot list-things + +Output:: + + { + "things": [ + { + "thingName": "ThirdBulb", + "thingTypeName": "LightBulb", + "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/ThirdBulb", + "attributes": { + "model": "123", + "wattage": "75" + }, + "version": 2 + }, + { + "thingName": "MyOtherLightBulb", + "thingTypeName": "LightBulb", + "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyOtherLightBulb", + "attributes": { + "model": "123", + "wattage": "75" + }, + "version": 3 + }, + { + "thingName": "MyLightBulb", + "thingTypeName": "LightBulb", + "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyLightBulb", + "attributes": { + "model": "123", + "wattage": "75" + }, + "version": 1 + }, + { + "thingName": "SampleIoTThing", + "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/SampleIoTThing", + "attributes": {}, + "version": 1 + } + ] + } + +**Example 2: To list the defined things that have a specific attribute** + +The following ``list-things`` example displays a list of things that have an attribute named ``wattage``. :: + + aws iot list-things \ + --attribute-name wattage + +Output:: + + { + "things": [ + { + "thingName": "MyLightBulb", + "thingTypeName": "LightBulb", + "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyLightBulb", + "attributes": { + "model": "123", + "wattage": "75" + }, + "version": 1 + }, + { + "thingName": "MyOtherLightBulb", + "thingTypeName": "LightBulb", + "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyOtherLightBulb", + "attributes": { + "model": "123", + "wattage": "75" + }, + "version": 3 + } + ] + } + +For more information, see `How to Manage Things with the Registry `__ in the *AWS IoT Developers Guide*. diff --git a/bin/awscli/examples/iot/update-thing.rst b/bin/awscli/examples/iot/update-thing.rst new file mode 100644 index 00000000..085e334d --- /dev/null +++ b/bin/awscli/examples/iot/update-thing.rst @@ -0,0 +1,12 @@ +**To associate a thing with a thing type** + +The following ``update-thing`` example associates a thing in the AWS IoT registry with a thing type. When you make the association, you provide values for the attributes defined by the thing type. :: + + aws iot update-thing \ + --thing-name "MyOtherLightBulb" \ + --thing-type-name "LightBulb" \ + --attribute-payload "{"attributes": {"wattage":"75", "model":"123"}}" + +This command does not produce output. Use the ``describe-thing`` command to see the result. + +For more information, see `Thing Types `__ in the *AWS IoT Developers Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/associate-entity-to-thing.rst b/bin/awscli/examples/iotthingsgraph/associate-entity-to-thing.rst new file mode 100644 index 00000000..5831a34b --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/associate-entity-to-thing.rst @@ -0,0 +1,11 @@ +**To associate a thing with a device** + +The following ``associate-entity-to-thing`` example associates a thing with a device. The example uses a motion sensor device that is in the public namespace. :: + + aws iotthingsgraph associate-entity-to-thing \ + --thing-name "MotionSensorName" \ + --entity-id "urn:tdm:aws/examples:Device:HCSR501MotionSensor" + +This command produces no output. + +For more information, see `Creating and Uploading Models `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/create-flow-template.rst b/bin/awscli/examples/iotthingsgraph/create-flow-template.rst new file mode 100644 index 00000000..6107b290 --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/create-flow-template.rst @@ -0,0 +1,18 @@ +**To create a flow** + +The following ``create-flow-template`` example creates a flow (workflow). The value of ``MyFlowDefinition`` is the GraphQL that models the flow. :: + + aws iotthingsgraph create-flow-template \ + --definition language=GRAPHQL,text="MyFlowDefinition" + +Output:: + + { + "summary": { + "createdAt": 1559248067.545, + "id": "urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow", + "revisionNumber": 1 + } + } + +For more information, see `Working with Flows `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/create-system-instance.rst b/bin/awscli/examples/iotthingsgraph/create-system-instance.rst new file mode 100644 index 00000000..dceb91ad --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/create-system-instance.rst @@ -0,0 +1,23 @@ +**To create a system instance** + +The following ``create-system-instance`` example creates a system instance. The value of ``MySystemInstanceDefinition`` is the GraphQL that models the system instance. :: + + aws iotthingsgraph create-system-instance -\ + -definition language=GRAPHQL,text="MySystemInstanceDefinition" \ + --target CLOUD \ + --flow-actions-role-arn myRoleARN + +Output:: + + { + "summary": { + "id": "urn:tdm:us-west-2/123456789012/default:Deployment:Room218", + "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment/default/Room218", + "status": "NOT_DEPLOYED", + "target": "CLOUD", + "createdAt": 1559249315.208, + "updatedAt": 1559249315.208 + } + } + +For more information, see `Working with Systems and Flow Configurations `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/create-system-template.rst b/bin/awscli/examples/iotthingsgraph/create-system-template.rst new file mode 100644 index 00000000..6ffde18b --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/create-system-template.rst @@ -0,0 +1,19 @@ +**To create a system** + +The following ``create-system-template`` example creates a system. The value of MySystemDefinition is the GraphQL that models the system. :: + + aws iotthingsgraph create-system-template \ + --definition language=GRAPHQL,text="MySystemDefinition" + +Output:: + + { + "summary": { + "createdAt": 1559249776.254, + "id": "urn:tdm:us-west-2/123456789012/default:System:MySystem", + "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:System/default/MySystem", + "revisionNumber": 1 + } + } + +For more information, see `Creating Systems `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/delete-flow-template.rst b/bin/awscli/examples/iotthingsgraph/delete-flow-template.rst new file mode 100644 index 00000000..14c29545 --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/delete-flow-template.rst @@ -0,0 +1,10 @@ +**To delete a flow** + +The following ``delete-flow-template`` example deletes a flow (workflow). :: + + aws iotthingsgraph delete-flow-template \ + --id "urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow" + +This command produces no output. + +For more information, see `Lifecycle Management for AWS IoT Things Graph Entities, Flows, Systems, and Deployments `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/delete-namespace.rst b/bin/awscli/examples/iotthingsgraph/delete-namespace.rst new file mode 100644 index 00000000..10dbc4c0 --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/delete-namespace.rst @@ -0,0 +1,14 @@ +**To delete a namespace** + +The following ``delete-namespace`` example deletes a namespace. :: + + aws iotthingsgraph delete-namespace + +Output:: + + { + "namespaceArn": "arn:aws:iotthingsgraph:us-west-2:123456789012", + "namespaceName": "us-west-2/123456789012/default" + } + +For more information, see `Lifecycle Management for AWS IoT Things Graph Entities, Flows, Systems, and Deployments `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/delete-system-instance.rst b/bin/awscli/examples/iotthingsgraph/delete-system-instance.rst new file mode 100644 index 00000000..91c75d72 --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/delete-system-instance.rst @@ -0,0 +1,10 @@ +**To delete a system instance** + +The following ``delete-system-instance`` example deletes a system instance. :: + + aws iotthingsgraph delete-system-instance \ + --id "urn:tdm:us-west-2/123456789012/default:Deployment:Room218" + +This command produces no output. + +For more information, see `Lifecycle Management for AWS IoT Things Graph Entities, Flows, Systems, and Deployments `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/delete-system-template.rst b/bin/awscli/examples/iotthingsgraph/delete-system-template.rst new file mode 100644 index 00000000..54da0749 --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/delete-system-template.rst @@ -0,0 +1,10 @@ +**To delete a system** + +The following ``delete-system-template`` example deletes a system. :: + + aws iotthingsgraph delete-system-template \ + --id "urn:tdm:us-west-2/123456789012/default:System:MySystem" + +This command produces no output. + +For more information, see `Lifecycle Management for AWS IoT Things Graph Entities, Flows, Systems, and Deployments `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/deploy-system-instance.rst b/bin/awscli/examples/iotthingsgraph/deploy-system-instance.rst new file mode 100644 index 00000000..46a94969 --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/deploy-system-instance.rst @@ -0,0 +1,21 @@ +**To deploy a system instance** + +The following ``delete-system-template`` example deploys a system instance. :: + + aws iotthingsgraph deploy-system-instance \ + --id "urn:tdm:us-west-2/123456789012/default:Deployment:Room218" + +Output:: + + { + "summary": { + "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment:Room218", + "createdAt": 1559249776.254, + "id": "urn:tdm:us-west-2/123456789012/default:Deployment:Room218", + "status": "DEPLOYED_IN_TARGET", + "target": "CLOUD", + "updatedAt": 1559249776.254 + } + } + +For more information, see `Working with Systems and Flow Configurations `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/deprecate-flow-template.rst b/bin/awscli/examples/iotthingsgraph/deprecate-flow-template.rst new file mode 100644 index 00000000..4260768f --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/deprecate-flow-template.rst @@ -0,0 +1,10 @@ +**To deprecate a flow** + +The following ``deprecate-flow-template`` example deprecates a flow (workflow). :: + + aws iotthingsgraph deprecate-flow-template \ + --id "urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow" + +This command produces no output. + +For more information, see `Lifecycle Management for AWS IoT Things Graph Entities, Flows, Systems, and Deployments `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/deprecate-system-template.rst b/bin/awscli/examples/iotthingsgraph/deprecate-system-template.rst new file mode 100644 index 00000000..d2ca79b6 --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/deprecate-system-template.rst @@ -0,0 +1,10 @@ +**To deprecate a system** + +The following ``deprecate-system-template`` example deprecates a system. :: + + aws iotthingsgraph deprecate-system-template \ + --id "urn:tdm:us-west-2/123456789012/default:System:MySystem" + +This command produces no output. + +For more information, see `Lifecycle Management for AWS IoT Things Graph Entities, Flows, Systems, and Deployments `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/describe-namespace.rst b/bin/awscli/examples/iotthingsgraph/describe-namespace.rst new file mode 100644 index 00000000..806eab56 --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/describe-namespace.rst @@ -0,0 +1,16 @@ +**To get a description of your namespace** + +The following ``describe-namespace`` example gets a description of your namespace. :: + + aws iotthingsgraph describe-namespace + +Output:: + + { + "namespaceName": "us-west-2/123456789012/default", + "trackingNamespaceName": "aws", + "trackingNamespaceVersion": 1, + "namespaceVersion": 5 + } + +For more information, see `Namespaces `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/dissociate-entity-from-thing.rst b/bin/awscli/examples/iotthingsgraph/dissociate-entity-from-thing.rst new file mode 100644 index 00000000..46bdeff7 --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/dissociate-entity-from-thing.rst @@ -0,0 +1,11 @@ +**To dissociate a thing from a device** + +The following ``dissociate-entity-from-thing`` example dissociates a thing from a device. :: + + aws iotthingsgraph dissociate-entity-from-thing \ + --thing-name "MotionSensorName" \ + --entity-type "DEVICE" + +This command produces no output. + +For more information, see `Creating and Uploading Models `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/get-entities.rst b/bin/awscli/examples/iotthingsgraph/get-entities.rst new file mode 100644 index 00000000..6361006c --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/get-entities.rst @@ -0,0 +1,24 @@ +**To get definitions for entities** + +The following ``get-entities`` example gets a definition for a device model. :: + + aws iotthingsgraph get-entities \ + --ids "urn:tdm:aws/examples:DeviceModel:MotionSensor" + +Output:: + + { + "descriptions": [ + { + "id": "urn:tdm:aws/examples:DeviceModel:MotionSensor", + "type": "DEVICE_MODEL", + "createdAt": 1559256190.599, + "definition": { + "language": "GRAPHQL", + "text": "##\n# Specification of motion sensor devices interface.\n##\ntype MotionSensor @deviceModel(id: \"urn:tdm:aws/examples:deviceModel:MotionSensor\",\n capability: \"urn:tdm:aws/examples:capability:MotionSensorCapability\") {ignore:void}" + } + } + ] + } + +For more information, see `Creating and Uploading Models `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/get-flow-template-revisions.rst b/bin/awscli/examples/iotthingsgraph/get-flow-template-revisions.rst new file mode 100644 index 00000000..df44b612 --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/get-flow-template-revisions.rst @@ -0,0 +1,20 @@ +**To get revision information about a flow** + +The following ``get-flow-template-revisions`` example gets revision information about a flow (workflow). :: + + aws iotthingsgraph get-flow-template-revisions \ + --id urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow + +Output:: + + { + "summaries": [ + { + "id": "urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow", + "revisionNumber": 1, + "createdAt": 1559247540.292 + } + ] + } + +For more information, see `Working with Flows `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/get-flow-template.rst b/bin/awscli/examples/iotthingsgraph/get-flow-template.rst new file mode 100644 index 00000000..770947d6 --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/get-flow-template.rst @@ -0,0 +1,25 @@ +**To get a flow definition** + +The following ``get-flow-template`` example gets a definition for a flow (workflow). :: + + aws iotthingsgraph get-flow-template \ + --id "urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow" + +Output:: + + { + "description": { + "summary": { + "id": "urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow", + "revisionNumber": 1, + "createdAt": 1559247540.292 + }, + "definition": { + "language": "GRAPHQL", + "text": "{\nquery MyFlow($camera: string!, $screen: string!) @workflowType(id: \"urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow\") @annotation(type: \"tgc:FlowEvent\", id: \"sledged790c1b2bcd949e09da0c9bfc077f79d\", x: 1586, y: 653) @triggers(definition: \"{MotionSensor(description: \\\"\\\") @position(x: 1045, y: 635.6666564941406) {\\n condition(expr: \\\"devices[name == \\\\\\\"motionSensor\\\\\\\"].events[name == \\\\\\\"StateChanged\\\\\\\"].lastEvent\\\")\\n action(expr: \\\"\\\")\\n}}\") {\n variables {\n cameraResult @property(id: \"urn:tdm:aws/examples:property:CameraStateProperty\")\n }\n steps {\n step(name: \"Camera\", outEvent: [\"sledged790c1b2bcd949e09da0c9bfc077f79d\"]) @position(x: 1377, y: 638.6666564941406) {\n DeviceActivity(deviceModel: \"urn:tdm:aws/examples:deviceModel:Camera\", out: \"cameraResult\", deviceId: \"${camera}\") {\n capture\n }\n }\n step(name: \"Screen\", inEvent: [\"sledged790c1b2bcd949e09da0c9bfc077f79d\"]) @position(x: 1675.6666870117188, y: 637.9999847412109) {\n DeviceActivity(deviceModel: \"urn:tdm:aws/examples:deviceModel:Screen\", deviceId: \"${screen}\") {\n display(imageUrl: \"${cameraResult.lastClickedImage}\")\n }\n }\n }\n}\n}" + }, + "validatedNamespaceVersion": 5 + } + } + +For more information, see `Working with Flows `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/get-namespace-deletion-status.rst b/bin/awscli/examples/iotthingsgraph/get-namespace-deletion-status.rst new file mode 100644 index 00000000..c584f39d --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/get-namespace-deletion-status.rst @@ -0,0 +1,15 @@ +**To get the status of the namespace deletion task** + +The following ``get-namespace-deletion-status`` example gets the status of the namespace deletion task. :: + + aws iotthingsgraph get-namespace-deletion-status + +Output:: + + { + "namespaceArn": "arn:aws:iotthingsgraph:us-west-2:123456789012", + "namespaceName": "us-west-2/123456789012/default" + "status": "SUCCEEDED " + } + +For more information, see `Namespaces `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/get-system-instance.rst b/bin/awscli/examples/iotthingsgraph/get-system-instance.rst new file mode 100644 index 00000000..254f29ce --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/get-system-instance.rst @@ -0,0 +1,32 @@ +**To get a system instance** + +The following ``get-system-instance`` example gets a definition for a system instance. :: + + aws iotthingsgraph get-system-instance \ + --id "urn:tdm:us-west-2/123456789012/default:Deployment:Room218" + +Output:: + + { + "description": { + "summary": { + "id": "urn:tdm:us-west-2/123456789012/default:Deployment:Room218", + "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment/default/Room218", + "status": "NOT_DEPLOYED", + "target": "CLOUD", + "createdAt": 1559249315.208, + "updatedAt": 1559249315.208 + }, + "definition": { + "language": "GRAPHQL", + "text": "{\r\nquery Room218 @deployment(id: \"urn:tdm:us-west-2/123456789012/default:Deployment:Room218\", systemId: \"urn:tdm:us-west-2/123456789012/default:System:SecurityFlow\") {\r\n motionSensor(deviceId: \"MotionSensorName\")\r\n screen(deviceId: \"ScreenName\")\r\n camera(deviceId: \"CameraName\") \r\n triggers {MotionEventTrigger(description: \"a trigger\") { \r\n condition(expr: \"devices[name == 'motionSensor'].events[name == 'StateChanged'].lastEvent\") \r\n action(expr: \"ThingsGraph.startFlow('SecurityFlow', bindings[name == 'camera'].deviceId, bindings[name == 'screen'].deviceId)\")\r\n }\r\n }\r\n }\r\n }" + }, + "metricsConfiguration": { + "cloudMetricEnabled": false + }, + "validatedNamespaceVersion": 5, + "flowActionsRoleArn": "arn:aws:iam::123456789012:role/ThingsGraphRole" + } + } + +For more information, see `Working with Systems and Flow Configurations `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/get-system-template-revisions.rst b/bin/awscli/examples/iotthingsgraph/get-system-template-revisions.rst new file mode 100644 index 00000000..a23b4f94 --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/get-system-template-revisions.rst @@ -0,0 +1,21 @@ +**To get revision information about a system** + +The following ``get-system-template-revisions`` example gets revision information about a system. :: + + aws iotthingsgraph get-system-template-revisions \ + --id "urn:tdm:us-west-2/123456789012/default:System:MySystem" + +Output:: + + { + "summaries": [ + { + "id": "urn:tdm:us-west-2/123456789012/default:System:MySystem", + "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:System/default/MySystem", + "revisionNumber": 1, + "createdAt": 1559247540.656 + } + ] + } + +For more information, see `Working with Systems and Flow Configurations `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/get-system-template.rst b/bin/awscli/examples/iotthingsgraph/get-system-template.rst new file mode 100644 index 00000000..a9ebe6dd --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/get-system-template.rst @@ -0,0 +1,26 @@ +**To get a system** + +The following ``get-system-template`` example gets a definition for a system. :: + + aws iotthingsgraph get-system-template \ + --id "urn:tdm:us-west-2/123456789012/default:System:MySystem" + +Output:: + + { + "description": { + "summary": { + "id": "urn:tdm:us-west-2/123456789012/default:System:MySystem", + "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:System/default/MyFlow", + "revisionNumber": 1, + "createdAt": 1559247540.656 + }, + "definition": { + "language": "GRAPHQL", + "text": "{\ntype MySystem @systemType(id: \"urn:tdm:us-west-2/123456789012/default:System:MySystem\", description: \"\") {\n camera: Camera @thing(id: \"urn:tdm:aws/examples:deviceModel:Camera\")\n screen: Screen @thing(id: \"urn:tdm:aws/examples:deviceModel:Screen\")\n motionSensor: MotionSensor @thing(id: \"urn:tdm:aws/examples:deviceModel:MotionSensor\")\n MyFlow: MyFlow @workflow(id: \"urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow\")\n}\n}" + }, + "validatedNamespaceVersion": 5 + } + } + +For more information, see `Working with Systems and Flow Configurations `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/get-upload-status.rst b/bin/awscli/examples/iotthingsgraph/get-upload-status.rst new file mode 100644 index 00000000..b7a7fd4c --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/get-upload-status.rst @@ -0,0 +1,17 @@ +**To get the status of your entity upload** + +The following ``get-upload-status`` example gets the status of your entity upload operation. The value of ``MyUploadId`` is the ID value returned by the ``upload-entity-definitions`` operation. :: + + aws iotthingsgraph get-upload-status \ + --upload-id "MyUploadId" + +Output:: + + { + "namespaceName": "us-west-2/123456789012/default", + "namespaceVersion": 5, + "uploadId": "f6294f1e-b109-4bbe-9073-f451a2dda2da", + "uploadStatus": "SUCCEEDED" + } + +For more information, see `Modeling Entities `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/list-flow-execution-messages.rst b/bin/awscli/examples/iotthingsgraph/list-flow-execution-messages.rst new file mode 100644 index 00000000..44b29142 --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/list-flow-execution-messages.rst @@ -0,0 +1,21 @@ +**To get information about events in a flow execution** + +The following ``list-flow-execution-messages`` example gets information about events in a flow execution. :: + + aws iotthingsgraph list-flow-execution-messages \ + --flow-execution-id "urn:tdm:us-west-2/123456789012/default:Workflow:SecurityFlow_2019-05-11T19:39:55.317Z_MotionSensor_69b151ad-a611-42f5-ac21-fe537f9868ad" + +Output:: + + { + "messages": [ + { + "eventType": "EXECUTION_STARTED", + "messageId": "f6294f1e-b109-4bbe-9073-f451a2dda2da", + "payload": "Flow execution started", + "timestamp": 1559247540.656 + } + ] + } + +For more information, see `Working with Flows `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/list-tags-for-resource.rst b/bin/awscli/examples/iotthingsgraph/list-tags-for-resource.rst new file mode 100644 index 00000000..02e454d3 --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/list-tags-for-resource.rst @@ -0,0 +1,19 @@ +**To list all tags for a resource** + +The following ``list-tags-for-resource`` example list all tags for an AWS IoT Things Graph resource. :: + + aws iotthingsgraph list-tags-for-resource \ + --resource-arn "arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment/default/Room218" + +Output:: + + { + "tags": [ + { + "key": "Type", + "value": "Residential" + } + ] + } + +For more information, see `Tagging Your AWS IoT Things Graph Resources `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/search-entities.rst b/bin/awscli/examples/iotthingsgraph/search-entities.rst new file mode 100644 index 00000000..8c5a674d --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/search-entities.rst @@ -0,0 +1,40 @@ +**To search for entities** + +The following ``search-entities`` example searches for all entities of type ``EVENT``. :: + + aws iotthingsgraph search-entities \ + --entity-types "EVENT" + +Output:: + + { + "descriptions": [ + { + "id": "urn:tdm:aws/examples:Event:MotionSensorEvent", + "type": "EVENT", + "definition": { + "language": "GRAPHQL", + "text": "##\n# Description of events emitted by motion sensor.\n##\ntype MotionSensorEvent @eventType(id: \"urn:tdm:aws/examples:event:MotionSensorEvent\",\n payload: \"urn:tdm:aws/examples:property:MotionSensorStateProperty\") {ignore:void}" + } + }, + { + "id": "urn:tdm:us-west-2/123456789012/default:Event:CameraClickedEventV2", + "type": "EVENT", + "definition": { + "language": "GRAPHQL", + "text": "type CameraClickedEventV2 @eventType(id: \"urn:tdm:us-west-2/123456789012/default:event:CameraClickedEventV2\",\r\npayload: \"urn:tdm:aws:Property:Boolean\"){ignore:void}" + } + }, + { + "id": "urn:tdm:us-west-2/123456789012/default:Event:MotionSensorEventV2", + "type": "EVENT", + "definition": { + "language": "GRAPHQL", + "text": "# Event emitted by the motion sensor.\r\ntype MotionSensorEventV2 @eventType(id: \"urn:tdm:us-west-2/123456789012/default:event:MotionSensorEventV2\",\r\npayload: \"urn:tdm:us-west-2/123456789012/default:property:MotionSensorStateProperty2\") {ignore:void}" + } + } + ], + "nextToken": "urn:tdm:us-west-2/123456789012/default:Event:MotionSensorEventV2" + } + +For more information, see `AWS IoT Things Graph Data Model Reference `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/search-flow-executions.rst b/bin/awscli/examples/iotthingsgraph/search-flow-executions.rst new file mode 100644 index 00000000..9057dd56 --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/search-flow-executions.rst @@ -0,0 +1,23 @@ +**To search for flow executions** + +The following ``search-flow-executions`` example search for all executions of a flow in a specified system instance. :: + + aws iotthingsgraph search-flow-executions \ + --system-instance-id "urn:tdm:us-west-2/123456789012/default:Deployment:Room218" + +Output:: + + { + "summaries": [ + { + "createdAt": 1559247540.656, + "flowExecutionId": "f6294f1e-b109-4bbe-9073-f451a2dda2da", + "flowTemplateId": "urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow", + "status": "RUNNING ", + "systemInstanceId": "urn:tdm:us-west-2/123456789012/default:System:MySystem", + "updatedAt": 1559247540.656 + } + ] + } + +For more information, see `Working with Systems and Flow Configurations `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/search-flow-templates.rst b/bin/awscli/examples/iotthingsgraph/search-flow-templates.rst new file mode 100644 index 00000000..3e8aec05 --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/search-flow-templates.rst @@ -0,0 +1,25 @@ +**To search for flows (or workflows)** + +The following ``search-flow-templates`` example searches for all flows (workflows) that contain the Camera device model. :: + + aws iotthingsgraph search-flow-templates \ + --filters name="DEVICE_MODEL_ID",value="urn:tdm:aws/examples:DeviceModel:Camera" + +Output:: + + { + "summaries": [ + { + "id": "urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow", + "revisionNumber": 1, + "createdAt": 1559247540.292 + }, + { + "id": "urn:tdm:us-west-2/123456789012/default:Workflow:SecurityFlow", + "revisionNumber": 3, + "createdAt": 1548283099.27 + } + ] + } + +For more information, see `Working with Flows `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/search-system-instances.rst b/bin/awscli/examples/iotthingsgraph/search-system-instances.rst new file mode 100644 index 00000000..50b2fb96 --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/search-system-instances.rst @@ -0,0 +1,63 @@ +**To search for system instances** + +The following ``search-system-instances`` example searches for all system instances that contain the specified system. :: + + aws iotthingsgraph search-system-instances \ + --filters name="SYSTEM_TEMPLATE_ID",value="urn:tdm:us-west-2/123456789012/default:System:SecurityFlow" + +Output:: + + { + "summaries": [ + { + "id": "urn:tdm:us-west-2/123456789012/default:Deployment:DeploymentForSample", + "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment/default/DeploymentForSample", + "status": "NOT_DEPLOYED", + "target": "GREENGRASS", + "greengrassGroupName": "ThingsGraphGrnGr", + "createdAt": 1555716314.707, + "updatedAt": 1555716314.707 + }, + { + "id": "urn:tdm:us-west-2/123456789012/default:Deployment:MockDeployment", + "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment/default/MockDeployment", + "status": "DELETED_IN_TARGET", + "target": "GREENGRASS", + "greengrassGroupName": "ThingsGraphGrnGr", + "createdAt": 1549416462.049, + "updatedAt": 1549416722.361, + "greengrassGroupId": "01d04b07-2a51-467f-9d03-0c90b3cdcaaf", + "greengrassGroupVersionId": "7365aed7-2d3e-4d13-aad8-75443d45eb05" + }, + { + "id": "urn:tdm:us-west-2/123456789012/default:Deployment:MockDeployment2", + "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment/default/MockDeployment2", + "status": "DEPLOYED_IN_TARGET", + "target": "GREENGRASS", + "greengrassGroupName": "ThingsGraphGrnGr", + "createdAt": 1549572385.774, + "updatedAt": 1549572418.408, + "greengrassGroupId": "01d04b07-2a51-467f-9d03-0c90b3cdcaaf", + "greengrassGroupVersionId": "bfa70ab3-2bf7-409c-a4d4-bc8328ae5b86" + }, + { + "id": "urn:tdm:us-west-2/123456789012/default:Deployment:Room215", + "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment/default/Room215", + "status": "NOT_DEPLOYED", + "target": "GREENGRASS", + "greengrassGroupName": "ThingsGraphGG", + "createdAt": 1547056918.413, + "updatedAt": 1547056918.413 + }, + { + "id": "urn:tdm:us-west-2/123456789012/default:Deployment:Room218", + "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment/default/Room218", + "status": "NOT_DEPLOYED", + "target": "CLOUD", + "createdAt": 1559249315.208, + "updatedAt": 1559249315.208 + } + ] + } + +For more information, see `Working with Systems and Flow Configurations `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/search-system-templates.rst b/bin/awscli/examples/iotthingsgraph/search-system-templates.rst new file mode 100644 index 00000000..5c570f52 --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/search-system-templates.rst @@ -0,0 +1,21 @@ +**To search for system** + +The following ``search-system-templates`` example searches for all systems that contain the specified flow. :: + + aws iotthingsgraph search-system-templates \ + --filters name="FLOW_TEMPLATE_ID",value="urn:tdm:us-west-2/123456789012/default:Workflow:SecurityFlow" + +Output:: + + { + "summaries": [ + { + "id": "urn:tdm:us-west-2/123456789012/default:System:SecurityFlow", + "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:System/default/SecurityFlow", + "revisionNumber": 1, + "createdAt": 1548283099.433 + } + ] + } + +For more information, see `Working with Flows `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/search-things.rst b/bin/awscli/examples/iotthingsgraph/search-things.rst new file mode 100644 index 00000000..c403f6d0 --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/search-things.rst @@ -0,0 +1,23 @@ +**To search for things associated with devices and device models** + +The following ``search-things`` example searches for all things that are associated with the HCSR501MotionSensor device. :: + + aws iotthingsgraph search-things \ + --entity-id "urn:tdm:aws/examples:Device:HCSR501MotionSensor" + +Output:: + + { + "things": [ + { + "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MotionSensor1", + "thingName": "MotionSensor1" + }, + { + "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/TG_MS", + "thingName": "TG_MS" + } + ] + } + +For more information, see `Creating and Uploading Models `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/tag-resource.rst b/bin/awscli/examples/iotthingsgraph/tag-resource.rst new file mode 100644 index 00000000..68824e0e --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/tag-resource.rst @@ -0,0 +1,11 @@ +**To create a tag for a resource** + +The following ``tag-resource`` example creates a tag for the specified resource. :: + + aws iotthingsgraph tag-resource \ + --resource-arn "arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment/default/Room218" \ + --tags key="Type",value="Residential" + +This command produces no output. + +For more information, see `Tagging Your AWS IoT Things Graph Resources `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/undeploy-system-instance.rst b/bin/awscli/examples/iotthingsgraph/undeploy-system-instance.rst new file mode 100644 index 00000000..7413a37e --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/undeploy-system-instance.rst @@ -0,0 +1,24 @@ +**To undeploy a system instance from its target** + +The following ``undeploy-system-instance`` example removes a system instance from its target. :: + + aws iotthingsgraph undeploy-system-instance \ + --id "urn:tdm:us-west-2/123456789012/default:Deployment:Room215" + +Output:: + + { + "summary": { + "id": "urn:tdm:us-west-2/123456789012/default:Deployment:Room215", + "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment/default/Room215", + "status": "PENDING_DELETE", + "target": "GREENGRASS", + "greengrassGroupName": "ThingsGraphGrnGr", + "createdAt": 1553189694.255, + "updatedAt": 1559344549.601, + "greengrassGroupId": "01d04b07-2a51-467f-9d03-0c90b3cdcaaf", + "greengrassGroupVersionId": "731b371d-d644-4b67-ac64-3934e99b75d7" + } + } + +For more information, see `Lifecycle Management for AWS IoT Things Graph Entities, Flows, Systems, and Deployments `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/untag-resource.rst b/bin/awscli/examples/iotthingsgraph/untag-resource.rst new file mode 100644 index 00000000..028eca1e --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/untag-resource.rst @@ -0,0 +1,11 @@ +**To remove a tag for a resource** + +The following ``untag-resource`` example removes a tag for the specified resource. :: + + aws iotthingsgraph untag-resource \ + --resource-arn "arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment/default/Room218" \ + --tag-keys "Type" + +This command produces no output. + +For more information, see `Tagging Your AWS IoT Things Graph Resources `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/update-flow-template.rst b/bin/awscli/examples/iotthingsgraph/update-flow-template.rst new file mode 100644 index 00000000..3cdec514 --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/update-flow-template.rst @@ -0,0 +1,19 @@ +**To update a flow** + +The following ``update-flow-template`` example updates a flow (workflow). The value of ``MyFlowDefinition`` is the GraphQL that models the flow. :: + + aws iotthingsgraph update-flow-template \ + --id "urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow" \ + --definition language=GRAPHQL,text="MyFlowDefinition" + +Output:: + + { + "summary": { + "createdAt": 1559248067.545, + "id": "urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow", + "revisionNumber": 2 + } + } + +For more information, see `Working with Flows `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/update-system-template.rst b/bin/awscli/examples/iotthingsgraph/update-system-template.rst new file mode 100644 index 00000000..7a6fcbdf --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/update-system-template.rst @@ -0,0 +1,20 @@ +**To update a system** + +The following ``update-system-template`` example updates a system. The value of ``MySystemDefinition`` is the GraphQL that models the system. :: + + aws iotthingsgraph update-system-template \ + --id "urn:tdm:us-west-2/123456789012/default:System:MySystem" \ + --definition language=GRAPHQL,text="MySystemDefinition" + +Output:: + + { + "summary": { + "createdAt": 1559249776.254, + "id": "urn:tdm:us-west-2/123456789012/default:System:MySystem", + "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:System/default/MySystem", + "revisionNumber": 2 + } + } + +For more information, see `Creating Systems `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/iotthingsgraph/upload-entity-definitions.rst b/bin/awscli/examples/iotthingsgraph/upload-entity-definitions.rst new file mode 100644 index 00000000..e99f5de7 --- /dev/null +++ b/bin/awscli/examples/iotthingsgraph/upload-entity-definitions.rst @@ -0,0 +1,14 @@ +**To upload entity definitions** + +The following ``upload-entity-definitions`` example uploads entity definitions to your namespace. The value of ``MyEntityDefinitions`` is the GraphQL that models the entities. :: + + aws iotthingsgraph upload-entity-definitions \ + --document language=GRAPHQL,text="MyEntityDefinitions" + +Output:: + + { + "uploadId": "f6294f1e-b109-4bbe-9073-f451a2dda2da" + } + +For more information, see `Modeling Entities `__ in the *AWS IoT Things Graph User Guide*. diff --git a/bin/awscli/examples/lightsail/get-instance-metric-data.rst b/bin/awscli/examples/lightsail/get-instance-metric-data.rst new file mode 100755 index 00000000..acc506d7 --- /dev/null +++ b/bin/awscli/examples/lightsail/get-instance-metric-data.rst @@ -0,0 +1,32 @@ +**To get instance NetworkOut metric data for a month period** + +The following ``get-instance-metric-data`` example outputs the total ``NetworkOut`` metric data in bytes for an approximate month-long period. + +We recommend that you use an epoch time converter to identify the start and end times. If the time between the ``--start-time`` and ``--end-time`` is greater than 2628000 seconds (approximately one month), then multiple results are returned for each 2628000 interval, as shown in the following sample response. :: + + aws lightsail get-instance-metric-data \ + --instance-name InstanceName \ + --metric-name NetworkOut \ + --period 2628000 \ + --start-time 1546304400 \ + --end-time 1577840400 + --unit Bytes + --statistics Sum + +Output:: + + { + "metricData": [ + { + "timestamp": 1556812800.0, + "sum": 22359134.0, + "unit": "Bytes" + }, + { + "timestamp": 1554184800.0, + "sum": 5968238.0, + "unit": "Bytes" + } + ], + "metricName": "NetworkOut" + } diff --git a/bin/awscli/examples/mediaconvert/cancel-job.rst b/bin/awscli/examples/mediaconvert/cancel-job.rst new file mode 100644 index 00000000..f5cfcae2 --- /dev/null +++ b/bin/awscli/examples/mediaconvert/cancel-job.rst @@ -0,0 +1,12 @@ +**To cancel a job that is in a queue** + +The following ``cancel-job`` example cancels the job with ID ``1234567891234-abc123``. You can't cancel a job that the service has started processing. :: + + aws mediaconvert cancel-job \ + --endpoint-url https://abcd1234.mediaconvert.region-name-1.amazonaws.com \ + --region region-name-1 \ + --id 1234567891234-abc123 + +To get your account-specific endpoint, use ``describe-endpoints``, or send the command without the endpoint. The service returns an error and your endpoint. + +For more information, see `Working with AWS Elemental MediaConvert Jobs `_ in the *AWS Elemental MediaConvert User Guide*. diff --git a/bin/awscli/examples/mediaconvert/create-job-template.rst b/bin/awscli/examples/mediaconvert/create-job-template.rst new file mode 100644 index 00000000..ceb3cfb8 --- /dev/null +++ b/bin/awscli/examples/mediaconvert/create-job-template.rst @@ -0,0 +1,18 @@ +**To create a job template** + +The following ``create-job-template`` example creates a job template with the transcoding settings that are specified in the file ``job-template.json`` that resides on your system. :: + + aws mediaconvert create-job-template \ + --endpoint-url https://abcd1234.mediaconvert.region-name-1.amazonaws.com \ + --region region-name-1 \ + --name JobTemplate1 \ + --cli-input-json file://~/job-template.json + +If you create your job template JSON file by using ``get-job-template`` and then modifying the file, remove the ``JobTemplate`` object, but keep the `Settings` child object inside it. Also, make sure to remove the following key-value pairs: ``LastUpdated``, ``Arn``, ``Type``, and ``CreatedAt``. You can specific the category, description, name, and queue either in the JSON file or at the command line. + +To get your account-specific endpoint, use ``describe-endpoints``, or send the command without the endpoint. The service returns an error and your endpoint. + +If your request is successful, the service returns the JSON specification for the job template that you created. + +For more information, see `Working with AWS Elemental MediaConvert Job Templates `_ in the *AWS Elemental MediaConvert User Guide*. + diff --git a/bin/awscli/examples/mediaconvert/create-job.rst b/bin/awscli/examples/mediaconvert/create-job.rst new file mode 100644 index 00000000..37b38450 --- /dev/null +++ b/bin/awscli/examples/mediaconvert/create-job.rst @@ -0,0 +1,16 @@ +**To create a job** + +The following ``create-job`` example creates a transcoding job with the settings that are specified in a file ``job.json`` that resides on the system that you send the command from. This JSON job specification might specify each setting individually, reference a job template, or reference output presets. :: + + aws mediaconvert create-job \ + --endpoint-url https://abcd1234.mediaconvert.region-name-1.amazonaws.com \ + --region region-name-1 \ + --cli-input-json file://~/job.json + +You can use the AWS Elemental MediaConvert console to generate the JSON job specification by choosing your job settings, and then choosing **Show job JSON** at the bottom of the **Job** section. + +To get your account-specific endpoint, use ``describe-endpoints``, or send the command without the endpoint. The service returns an error and your endpoint. + +If your request is successful, the service returns the JSON job specification that you sent with your request. + +For more information, see `Working with AWS Elemental MediaConvert Jobs `_ in the *AWS Elemental MediaConvert User Guide*. diff --git a/bin/awscli/examples/mediaconvert/create-preset.rst b/bin/awscli/examples/mediaconvert/create-preset.rst new file mode 100644 index 00000000..a98af78e --- /dev/null +++ b/bin/awscli/examples/mediaconvert/create-preset.rst @@ -0,0 +1,14 @@ +**To create a custom output preset** + +The following ``create-preset`` example creates a custom output preset based on the output settings that are specified in the file ``preset.json``. You can specify the category, description, and name either in the JSON file or at the command line. :: + + aws mediaconvert create-preset \ + --endpoint-url https://abcd1234.mediaconvert.region-name-1.amazonaws.com + --region region-name-1 \ + --cli-input-json file://~/preset.json + +If you create your preset JSON file by using ``get-preset`` and then modifying the output file, ensure that you remove the following key-value pairs: ``LastUpdated``, ``Arn``, ``Type``, and ``CreatedAt``. + +To get your account-specific endpoint, use ``describe-endpoints``, or send the command without the endpoint. The service returns an error and your endpoint. + +For more information, see `Working with AWS Elemental MediaConvert Output Presets `_ in the *AWS Elemental MediaConvert User Guide*. \ No newline at end of file diff --git a/bin/awscli/examples/mediaconvert/create-queue.rst b/bin/awscli/examples/mediaconvert/create-queue.rst new file mode 100644 index 00000000..5a80550d --- /dev/null +++ b/bin/awscli/examples/mediaconvert/create-queue.rst @@ -0,0 +1,27 @@ +**To create a custom queue** + +The following ``create-queue`` example creates a custom transcoding queue. :: + + aws mediaconvert create-queue \ + --endpoint-url https://abcd1234.mediaconvert.region-name-1.amazonaws.com \ + --region region-name-1 \ + --name Queue1 \ + --description "Keep this queue empty unless job is urgent." + +To get your account-specific endpoint, use ``describe-endpoints``, or send the command without the endpoint. The service returns an error and your endpoint. + +Output:: + + { + "Queue": { + "Status": "ACTIVE", + "Name": "Queue1", + "LastUpdated": 1518034928, + "Arn": "arn:aws:mediaconvert:region-name-1:012345678998:queues/Queue1", + "Type": "CUSTOM", + "CreatedAt": 1518034928, + "Description": "Keep this queue empty unless job is urgent." + } + } + +For more information, see `Working with AWS Elemental MediaConvert Queues `_ in the *AWS Elemental MediaConvert User Guide*. diff --git a/bin/awscli/examples/mediaconvert/describe-endpoints.rst b/bin/awscli/examples/mediaconvert/describe-endpoints.rst new file mode 100644 index 00000000..f9a62c7a --- /dev/null +++ b/bin/awscli/examples/mediaconvert/describe-endpoints.rst @@ -0,0 +1,18 @@ +**To get your account-specific endpoint** + +The following ``describe-endpoints`` example retrieves the endpoint that you need to send any other request to the service. :: + + aws mediaconvert describe-endpoints + +Output:: + + { + "Endpoints": [ + { + "Url": "https://abcd1234.mediaconvert.region-name-1.amazonaws.com" + } + ] + } + +For more information, see `Getting Started with MediaConvert Using the API `_ in the *AWS Elemental +MediaConvert API Reference*. diff --git a/bin/awscli/examples/mediaconvert/get-job.rst b/bin/awscli/examples/mediaconvert/get-job.rst new file mode 100644 index 00000000..2f1cd259 --- /dev/null +++ b/bin/awscli/examples/mediaconvert/get-job.rst @@ -0,0 +1,36 @@ +**To get details for a particular job** + +The following example requests the information for the job with ID ``1234567890987-1ab2c3``, which in this example ended in an error. :: + + aws mediaconvert get-job \ + --endpoint-url https://abcd1234.mediaconvert.region-name-1.amazonaws.com \ + --region region-name-1 \ + --id 1234567890987-1ab2c3 + +To get your account-specific endpoint, use ``describe-endpoints``, or send the command without the endpoint. The service returns an error and your endpoint. + +If your request is successful, the service returns a JSON file with job information, including job settings, any returned errors, and other job data, as follows:: + + { + "Job": { + "Status": "ERROR", + "Queue": "arn:aws:mediaconvert:region-name-1:012345678998:queues/Queue1", + "Settings": { + ...... + }, + "ErrorMessage": "Unable to open input file [s3://my-input-bucket/file-name.mp4]: [Failed probe/open: [Failed to read data: AssumeRole failed]]", + "ErrorCode": 1434, + "Role": "arn:aws:iam::012345678998:role/MediaConvertServiceRole", + "Arn": "arn:aws:mediaconvert:us-west-1:012345678998:jobs/1234567890987-1ab2c3", + "UserMetadata": {}, + "Timing": { + "FinishTime": 1517442131, + "SubmitTime": 1517442103, + "StartTime": 1517442104 + }, + "Id": "1234567890987-1ab2c3", + "CreatedAt": 1517442103 + } + } + +For more information, see `Working with AWS Elemental MediaConvert Jobs `_ in the *AWS Elemental MediaConvert User Guide*. diff --git a/bin/awscli/examples/mediaconvert/list-jobs.rst b/bin/awscli/examples/mediaconvert/list-jobs.rst new file mode 100644 index 00000000..139df49b --- /dev/null +++ b/bin/awscli/examples/mediaconvert/list-jobs.rst @@ -0,0 +1,11 @@ +**To get details for all jobs in a region** + +The following example requests the information for all of your jobs in the specified region. :: + + aws mediaconvert list-jobs \ + --endpoint-url https://abcd1234.mediaconvert.region-name-1.amazonaws.com \ + --region region-name-1 + +To get your account-specific endpoint, use ``describe-endpoints``, or send the command without the endpoint. The service returns an error and your endpoint. + +For more information, see `Working with AWS Elemental MediaConvert Jobs `_ in the *AWS Elemental MediaConvert User Guide*. diff --git a/bin/awscli/examples/opsworks/create-deployment.rst b/bin/awscli/examples/opsworks/create-deployment.rst index b7c7ee4b..4fb916e8 100644 --- a/bin/awscli/examples/opsworks/create-deployment.rst +++ b/bin/awscli/examples/opsworks/create-deployment.rst @@ -1,69 +1,66 @@ -**To deploy apps and run stack commands** +**Example 1: To deploy apps and run stack commands** -The following examples show how to use the ``create-deployment`` command to deploy apps and run stack commands. Notice that the -quote (``"``) characters in the JSON object that specifies the command are all preceded by -escape characters (\). Without the escape characters, the command might -return an invalid JSON error. +The following examples show how to use the ``create-deployment`` command to deploy apps and run stack commands. Notice that the quote (``"``) characters in the JSON object that specifies the command are all preceded by escape characters (\\). Without the escape characters, the command might return an invalid JSON error. -**Deploy an App** +The following ``create-deployment`` example deploys an app to a specified stack. :: -The following ``create-deployment`` command deploys an app to a specified stack. :: + aws opsworks create-deployment \ + --stack-id cfb7e082-ad1d-4599-8e81-de1c39ab45bf \ + --app-id 307be5c8-d55d-47b5-bd6e-7bd417c6c7eb + --command "{\"Name\":\"deploy\"}" - aws opsworks --region us-east-1 create-deployment --stack-id cfb7e082-ad1d-4599-8e81-de1c39ab45bf --app-id 307be5c8-d55d-47b5-bd6e-7bd417c6c7eb --command "{\"Name\":\"deploy\"}" +Output:: -*Output*:: + { + "DeploymentId": "5746c781-df7f-4c87-84a7-65a119880560" + } - { - "DeploymentId": "5746c781-df7f-4c87-84a7-65a119880560" - } +**Example 2: To deploy a Rails App and Migrate the Database** -**Deploy a Rails App and Migrate the Database** +The following ``create-deployment`` command deploys a Ruby on Rails app to a specified stack and migrates the database. :: -The following ``create-deployment`` command deploys a Ruby on Rails app to a specified stack and migrates the -database. :: + aws opsworks create-deployment \ + --stack-id cfb7e082-ad1d-4599-8e81-de1c39ab45bf \ + --app-id 307be5c8-d55d-47b5-bd6e-7bd417c6c7eb \ + --command "{\"Name\":\"deploy\", \"Args\":{\"migrate\":[\"true\"]}}" - aws opsworks --region us-east-1 create-deployment --stack-id cfb7e082-ad1d-4599-8e81-de1c39ab45bf --app-id 307be5c8-d55d-47b5-bd6e-7bd417c6c7eb --command "{\"Name\":\"deploy\", \"Args\":{\"migrate\":[\"true\"]}}" +Output:: -*Output*:: + { + "DeploymentId": "5746c781-df7f-4c87-84a7-65a119880560" + } - { - "DeploymentId": "5746c781-df7f-4c87-84a7-65a119880560" - } +For more information on deployment, see `Deploying Apps `__ in the *AWS OpsWorks User Guide*. -For more information on deployment, see `Deploying Apps`_ in the *AWS OpsWorks User Guide*. +**Example 3: Run a Recipe** -**Execute a Recipe** +The following ``create-deployment`` command runs a custom recipe, ``phpapp::appsetup``, on the instances in a specified stack. :: -The following ``create-deployment`` command runs a custom recipe, ``phpapp::appsetup``, on the instances in a specified -stack. :: + aws opsworks create-deployment \ + --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb \ + --command "{\"Name\":\"execute_recipes\", \"Args\":{\"recipes\":[\"phpapp::appsetup\"]}}" - aws opsworks --region ap-south-1 create-deployment --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb --command "{\"Name\":\"execute_recipes\", \"Args\":{\"recipes\":[\"phpapp::appsetup\"]}} +Output:: -*Output*:: + { + "DeploymentId": "5cbaa7b9-4e09-4e53-aa1b-314fbd106038" + } - { - "DeploymentId": "5cbaa7b9-4e09-4e53-aa1b-314fbd106038" - } +For more information, see `Run Stack Commands `__ in the *AWS OpsWorks User Guide*. -For more information, see `Run Stack Commands`_ in the *AWS OpsWorks User Guide*. - -**Install Dependencies** +**Example 4: Install Dependencies** The following ``create-deployment`` command installs dependencies, such as packages or Ruby gems, on the instances in a specified stack. :: - aws opsworks --region ap-south-1 create-deployment --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb --command "{\"Name\":\"install_dependencies\"}" - -*Output*:: - - { - "DeploymentId": "aef5b255-8604-4928-81b3-9b0187f962ff" - } - -**More Information** + aws opsworks create-deployment \ + --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb \ + --command "{\"Name\":\"install_dependencies\"}" -For more information, see `Run Stack Commands`_ in the *AWS OpsWorks User Guide*. +Output:: -.. _`Deploying Apps`: http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-deploying.html -.. _`Run Stack Commands`: http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-commands.html + { + "DeploymentId": "aef5b255-8604-4928-81b3-9b0187f962ff" + } +For more information, see `Run Stack Commands `__ in the *AWS OpsWorks User Guide*. diff --git a/bin/awscli/examples/opsworkscm/create-server.rst b/bin/awscli/examples/opsworkscm/create-server.rst index 62d198f4..c10fb7e9 100644 --- a/bin/awscli/examples/opsworkscm/create-server.rst +++ b/bin/awscli/examples/opsworkscm/create-server.rst @@ -1,51 +1,48 @@ **To create a server** -The following ``create-server`` command creates a new Chef Automate server -named ``automate-06`` in your default region. Note that defaults are used for -most other settings, such as number of backups to retain, and maintenance and backup -start times. Before you run a ``create-server`` command, complete prerequisites in -.. _`Getting Started with AWS OpsWorks for Chef Automate`: http://docs.aws.amazon.com/opsworks/latest/userguide/gettingstarted-opscm.html -.:: - - aws opsworks-cm create-server --engine "Chef" --engine-model "Single" --engine-version "12" --server-name "automate-06" --instance-profile-arn "arn:aws:iam::1019881987024:instance-profile/aws-opsworks-cm-ec2-role" --instance-type "t2.medium" --key-pair "amazon-test" --service-role-arn "arn:aws:iam::044726508045:role/aws-opsworks-cm-service-role" - -The output shows you information similar to the following about the new server. -*Output*:: - - { - "Server": { - "BackupRetentionCount": 10, - "CreatedAt": 2016-07-29T13:38:47.520Z, - "DisableAutomatedBackup": FALSE, - "Endpoint": "https://opsworks-cm.us-east-1.amazonaws.com", - "Engine": "Chef", - "EngineAttributes": [ - { - "Name": "CHEF_DELIVERY_ADMIN_PASSWORD", - "Value": "1Password1" - } - ], - "EngineModel": "Single", - "EngineVersion": "12", - "InstanceProfileArn": "arn:aws:iam::1019881987024:instance-profile/aws-opsworks-cm-ec2-role", - "InstanceType": "t2.medium", - "KeyPair": "amazon-test", - "MaintenanceStatus": "", - "PreferredBackupWindow": "Sun:02:00", - "PreferredMaintenanceWindow": "00:00", - "SecurityGroupIds": [ "sg-1a24c270" ], - "ServerArn": "arn:aws:iam::1019881987024:instance/automate-06-1010V4UU2WRM2", - "ServerName": "automate-06", - "ServiceRoleArn": "arn:aws:iam::1019881987024:role/aws-opsworks-cm-service-role", - "Status": "CREATING", - "StatusReason": "", - "SubnetIds": [ "subnet-49436a18" ] - } -} - -**More Information** - -For more information, see `UpdateServer`_ in the *AWS OpsWorks for Chef Automate API Reference*. - -.. _`UpdateServer`: http://docs.aws.amazon.com/opsworks-cm/latest/APIReference/API_UpdateServer.html - +The following ``create-server`` example creates a new Chef Automate server named ``automate-06`` in your default region. Note that defaults are used for most other settings, such as number of backups to retain, and maintenance and backup start times. Before you run a ``create-server`` command, complete prerequisites in `Getting Started with AWS OpsWorks for Chef Automate `_ in the *AWS Opsworks for Chef Automate User Guide*. :: + + aws opsworks-cm create-server -\ + -engine "Chef" \ + --engine-model "Single" \ + --engine-version "12" \ + --server-name "automate-06" \ + --instance-profile-arn "arn:aws:iam::1019881987024:instance-profile/aws-opsworks-cm-ec2-role" \ + --instance-type "t2.medium" \ + --key-pair "amazon-test" \ + --service-role-arn "arn:aws:iam::044726508045:role/aws-opsworks-cm-service-role" + +The output shows you information similar to the following about the new server:: + + { + "Server": { + "BackupRetentionCount": 10, + "CreatedAt": 2016-07-29T13:38:47.520Z, + "DisableAutomatedBackup": FALSE, + "Endpoint": "https://opsworks-cm.us-east-1.amazonaws.com", + "Engine": "Chef", + "EngineAttributes": [ + { + "Name": "CHEF_DELIVERY_ADMIN_PASSWORD", + "Value": "1Password1" + } + ], + "EngineModel": "Single", + "EngineVersion": "12", + "InstanceProfileArn": "arn:aws:iam::1019881987024:instance-profile/aws-opsworks-cm-ec2-role", + "InstanceType": "t2.medium", + "KeyPair": "amazon-test", + "MaintenanceStatus": "", + "PreferredBackupWindow": "Sun:02:00", + "PreferredMaintenanceWindow": "00:00", + "SecurityGroupIds": [ "sg-1a24c270" ], + "ServerArn": "arn:aws:iam::1019881987024:instance/automate-06-1010V4UU2WRM2", + "ServerName": "automate-06", + "ServiceRoleArn": "arn:aws:iam::1019881987024:role/aws-opsworks-cm-service-role", + "Status": "CREATING", + "StatusReason": "", + "SubnetIds": [ "subnet-49436a18" ] + } + } + +For more information, see `UpdateServer `_ in the *AWS OpsWorks for Chef Automate API Reference*. diff --git a/bin/awscli/examples/opsworkscm/describe-events.rst b/bin/awscli/examples/opsworkscm/describe-events.rst index 5caed9a7..ce105515 100644 --- a/bin/awscli/examples/opsworkscm/describe-events.rst +++ b/bin/awscli/examples/opsworkscm/describe-events.rst @@ -1,27 +1,20 @@ **To describe events** -The following ``describe-events`` command returns information about all events -that are associated with a Chef Automate server named ``automate-06``.:: +The following ``describe-events`` example returns information about all events that are associated with the specified Chef Automate server. :: - aws opsworks-cm describe-events --server-name 'automate-06' + aws opsworks-cm describe-events --server-name 'automate-06' -The output for each event entry returned by the command resembles the following. -*Output*:: +The output for each event entry returned by the command resembles the following example:: - { - "ServerEvents": [ - { - "CreatedAt": 2016-07-29T13:38:47.520Z, - "LogUrl": "https://s3.amazonaws.com/automate-06/automate-06-20160729133847520", - "Message": "Updates successfully installed.", - "ServerName": "automate-06" - } - ] -} - -**More Information** - -For more information, see `General Troubleshooting Tips`_ in the *AWS OpsWorks User Guide*. - -.. _`General Troubleshooting Tips`: http://docs.aws.amazon.com/opsworks/latest/userguide/troubleshoot-opscm.html#d0e4561 + { + "ServerEvents": [ + { + "CreatedAt": 2016-07-29T13:38:47.520Z, + "LogUrl": "https://s3.amazonaws.com/automate-06/automate-06-20160729133847520", + "Message": "Updates successfully installed.", + "ServerName": "automate-06" + } + ] + } +For more information, see `General Troubleshooting Tips `_ in the *AWS OpsWorks User Guide*. diff --git a/bin/awscli/examples/opsworkscm/start-maintenance.rst b/bin/awscli/examples/opsworkscm/start-maintenance.rst index cb35502a..8a28ee15 100644 --- a/bin/awscli/examples/opsworkscm/start-maintenance.rst +++ b/bin/awscli/examples/opsworkscm/start-maintenance.rst @@ -1,48 +1,40 @@ **To start maintenance** -The following ``start-maintenance`` command manually starts maintenance on a Chef Automate server -named ``automate-06`` in your default region. This command can be useful if an earlier, automated -maintenance attempt failed, and the underlying cause of maintenance failure has been resolved.:: - - aws opsworks-cm start-maintenance --server-name 'automate-06' - -The output shows you information similar to the following about the maintenance request. -*Output*:: - - { - "Server": { - "BackupRetentionCount": 8, - "CreatedAt": 2016-07-29T13:38:47.520Z, - "DisableAutomatedBackup": TRUE, - "Endpoint": "https://opsworks-cm.us-east-1.amazonaws.com", - "Engine": "Chef", - "EngineAttributes": [ - { - "Name": "CHEF_DELIVERY_ADMIN_PASSWORD", - "Value": "1Password1" - } - ], - "EngineModel": "Single", - "EngineVersion": "12", - "InstanceProfileArn": "arn:aws:iam::1019881987024:instance-profile/automate-06-1010V4UU2WRM2", - "InstanceType": "m4.large", - "KeyPair": "", - "MaintenanceStatus": "SUCCESS", - "PreferredBackupWindow": "", - "PreferredMaintenanceWindow": "", - "SecurityGroupIds": [ "sg-1a24c270" ], - "ServerArn": "arn:aws:iam::1019881987024:instance/automate-06-1010V4UU2WRM2", - "ServerName": "automate-06", - "ServiceRoleArn": "arn:aws:iam::1019881987024:role/aws-opsworks-cm-service-role.1114810729735", - "Status": "HEALTHY", - "StatusReason": "", - "SubnetIds": [ "subnet-49436a18" ] - } -} - -**More Information** - -For more information, see `StartMaintenance`_ in the *AWS OpsWorks for Chef Automate API Reference*. - -.. _`StartMaintenance`: http://docs.aws.amazon.com/opsworks-cm/latest/APIReference/API_StartMaintenance.html - +The following ``start-maintenance`` example manually starts maintenance on the specified Chef Automate server in your default region. This command can be useful if an earlier, automated maintenance attempt failed, and the underlying cause of maintenance failure has been resolved. :: + + aws opsworks-cm start-maintenance --server-name 'automate-06' + +The output shows you information similar to the following about the maintenance request. :: + + { + "Server": { + "BackupRetentionCount": 8, + "CreatedAt": 2016-07-29T13:38:47.520Z, + "DisableAutomatedBackup": TRUE, + "Endpoint": "https://opsworks-cm.us-east-1.amazonaws.com", + "Engine": "Chef", + "EngineAttributes": [ + { + "Name": "CHEF_DELIVERY_ADMIN_PASSWORD", + "Value": "1Password1" + } + ], + "EngineModel": "Single", + "EngineVersion": "12", + "InstanceProfileArn": "arn:aws:iam::1019881987024:instance-profile/automate-06-1010V4UU2WRM2", + "InstanceType": "m4.large", + "KeyPair": "", + "MaintenanceStatus": "SUCCESS", + "PreferredBackupWindow": "", + "PreferredMaintenanceWindow": "", + "SecurityGroupIds": [ "sg-1a24c270" ], + "ServerArn": "arn:aws:iam::1019881987024:instance/automate-06-1010V4UU2WRM2", + "ServerName": "automate-06", + "ServiceRoleArn": "arn:aws:iam::1019881987024:role/aws-opsworks-cm-service-role.1114810729735", + "Status": "HEALTHY", + "StatusReason": "", + "SubnetIds": [ "subnet-49436a18" ] + } + } + +For more information, see `StartMaintenance `_ in the *AWS OpsWorks for Chef Automate API Reference*. diff --git a/bin/awscli/examples/opsworkscm/update-server-engine-attributes.rst b/bin/awscli/examples/opsworkscm/update-server-engine-attributes.rst index eef842f3..814111bc 100644 --- a/bin/awscli/examples/opsworkscm/update-server-engine-attributes.rst +++ b/bin/awscli/examples/opsworkscm/update-server-engine-attributes.rst @@ -1,48 +1,43 @@ **To update server engine attributes** -The following ``update-server-engine-attributes`` command updates the value of the -``CHEF_PIVOTAL_KEY`` engine attribute for a Chef Automate server named ``automate-06``. -It is currently not possible to change the value of other engine attributes.:: - - aws opsworks-cm update-server-engine-attributes --attribute-name CHEF_PIVOTAL_KEY --attribute-value "new key value" --server-name "automate-06" - -The output shows you information similar to the following about the updated server. -*Output*:: - - { - "Server": { - "BackupRetentionCount": 2, - "CreatedAt": 2016-07-29T13:38:47.520Z, - "DisableAutomatedBackup": FALSE, - "Endpoint": "https://opsworks-cm.us-east-1.amazonaws.com", - "Engine": "Chef", - "EngineAttributes": [ - { - "Name": "CHEF_PIVOTAL_KEY", - "Value": "new key value" - } - ], - "EngineModel": "Single", - "EngineVersion": "12", - "InstanceProfileArn": "arn:aws:iam::1019881987024:instance-profile/automate-06-1010V4UU2WRM2", - "InstanceType": "m4.large", - "KeyPair": "", - "MaintenanceStatus": "SUCCESS", - "PreferredBackupWindow": "Mon:09:15", - "PreferredMaintenanceWindow": "03:00", - "SecurityGroupIds": [ "sg-1a24c270" ], - "ServerArn": "arn:aws:iam::1019881987024:instance/automate-06-1010V4UU2WRM2", - "ServerName": "automate-06", - "ServiceRoleArn": "arn:aws:iam::1019881987024:role/aws-opsworks-cm-service-role.1114810729735", - "Status": "HEALTHY", - "StatusReason": "", - "SubnetIds": [ "subnet-49436a18" ] - } -} - -**More Information** - -For more information, see `UpdateServerEngineAttributes`_ in the *AWS OpsWorks for Chef Automate API Reference*. - -.. _`UpdateServerEngineAttributes`: http://docs.aws.amazon.com/opsworks-cm/latest/APIReference/API_UpdateServerEngineAttributes.html - +The following ``update-server-engine-attributes`` command updates the value of the ``CHEF_PIVOTAL_KEY`` engine attribute for a Chef Automate server named ``automate-06``. It is currently not possible to change the value of other engine attributes. :: + + aws opsworks-cm update-server-engine-attributes \ + --attribute-name CHEF_PIVOTAL_KEY \ + --attribute-value "new key value" \ + --server-name "automate-06" + +The output shows you information similar to the following about the updated server. :: + + { + "Server": { + "BackupRetentionCount": 2, + "CreatedAt": 2016-07-29T13:38:47.520Z, + "DisableAutomatedBackup": FALSE, + "Endpoint": "https://opsworks-cm.us-east-1.amazonaws.com", + "Engine": "Chef", + "EngineAttributes": [ + { + "Name": "CHEF_PIVOTAL_KEY", + "Value": "new key value" + } + ], + "EngineModel": "Single", + "EngineVersion": "12", + "InstanceProfileArn": "arn:aws:iam::1019881987024:instance-profile/automate-06-1010V4UU2WRM2", + "InstanceType": "m4.large", + "KeyPair": "", + "MaintenanceStatus": "SUCCESS", + "PreferredBackupWindow": "Mon:09:15", + "PreferredMaintenanceWindow": "03:00", + "SecurityGroupIds": [ "sg-1a24c270" ], + "ServerArn": "arn:aws:iam::1019881987024:instance/automate-06-1010V4UU2WRM2", + "ServerName": "automate-06", + "ServiceRoleArn": "arn:aws:iam::1019881987024:role/aws-opsworks-cm-service-role.1114810729735", + "Status": "HEALTHY", + "StatusReason": "", + "SubnetIds": [ "subnet-49436a18" ] + } + } + +For more information, see `UpdateServerEngineAttributes `_ in the *AWS OpsWorks for Chef Automate API Reference*. diff --git a/bin/awscli/examples/opsworkscm/update-server.rst b/bin/awscli/examples/opsworkscm/update-server.rst index e1f53d7b..fd089c5c 100644 --- a/bin/awscli/examples/opsworkscm/update-server.rst +++ b/bin/awscli/examples/opsworkscm/update-server.rst @@ -1,48 +1,42 @@ **To update a server** -The following ``update-server`` command updates the maintenance start time of a Chef Automate server -named ``automate-06`` in your default region. The ``--preferred-maintenance-window`` parameter is -added to change the start day and time of server maintenance to Mondays at 9:15 a.m. UTC.:: - - aws opsworks-cm update-server --server-name "automate-06" --preferred-maintenance-window "Mon:09:15" - -The output shows you information similar to the following about the updated server. -*Output*:: - - { - "Server": { - "BackupRetentionCount": 8, - "CreatedAt": 2016-07-29T13:38:47.520Z, - "DisableAutomatedBackup": TRUE, - "Endpoint": "https://opsworks-cm.us-east-1.amazonaws.com", - "Engine": "Chef", - "EngineAttributes": [ - { - "Name": "CHEF_DELIVERY_ADMIN_PASSWORD", - "Value": "1Password1" - } - ], - "EngineModel": "Single", - "EngineVersion": "12", - "InstanceProfileArn": "arn:aws:iam::1019881987024:instance-profile/automate-06-1010V4UU2WRM2", - "InstanceType": "m4.large", - "KeyPair": "", - "MaintenanceStatus": "OK", - "PreferredBackupWindow": "Mon:09:15", - "PreferredMaintenanceWindow": "03:00", - "SecurityGroupIds": [ "sg-1a24c270" ], - "ServerArn": "arn:aws:iam::1019881987024:instance/automate-06-1010V4UU2WRM2", - "ServerName": "automate-06", - "ServiceRoleArn": "arn:aws:iam::1019881987024:role/aws-opsworks-cm-service-role.1114810729735", - "Status": "HEALTHY", - "StatusReason": "", - "SubnetIds": [ "subnet-49436a18" ] - } -} - -**More Information** - -For more information, see `UpdateServer`_ in the *AWS OpsWorks for Chef Automate API Reference*. - -.. _`UpdateServer`: http://docs.aws.amazon.com/opsworks-cm/latest/APIReference/API_UpdateServer.html - +The following ``update-server`` command updates the maintenance start time of the specified Chef Automate server in your default region. The ``--preferred-maintenance-window`` parameter is added to change the start day and time of server maintenance to Mondays at 9:15 a.m. UTC.:: + + aws opsworks-cm update-server \ + --server-name "automate-06" \ + --preferred-maintenance-window "Mon:09:15" + +The output shows you information similar to the following about the updated server. :: + + { + "Server": { + "BackupRetentionCount": 8, + "CreatedAt": 2016-07-29T13:38:47.520Z, + "DisableAutomatedBackup": TRUE, + "Endpoint": "https://opsworks-cm.us-east-1.amazonaws.com", + "Engine": "Chef", + "EngineAttributes": [ + { + "Name": "CHEF_DELIVERY_ADMIN_PASSWORD", + "Value": "1Password1" + } + ], + "EngineModel": "Single", + "EngineVersion": "12", + "InstanceProfileArn": "arn:aws:iam::1019881987024:instance-profile/automate-06-1010V4UU2WRM2", + "InstanceType": "m4.large", + "KeyPair": "", + "MaintenanceStatus": "OK", + "PreferredBackupWindow": "Mon:09:15", + "PreferredMaintenanceWindow": "03:00", + "SecurityGroupIds": [ "sg-1a24c270" ], + "ServerArn": "arn:aws:iam::1019881987024:instance/automate-06-1010V4UU2WRM2", + "ServerName": "automate-06", + "ServiceRoleArn": "arn:aws:iam::1019881987024:role/aws-opsworks-cm-service-role.1114810729735", + "Status": "HEALTHY", + "StatusReason": "", + "SubnetIds": [ "subnet-49436a18" ] + } + } + +For more information, see `UpdateServer `_ in the *AWS OpsWorks for Chef Automate API Reference*. diff --git a/bin/awscli/examples/organizations/remove-account-from-organization.rst b/bin/awscli/examples/organizations/remove-account-from-organization.rst index d8413f74..e785fe91 100755 --- a/bin/awscli/examples/organizations/remove-account-from-organization.rst +++ b/bin/awscli/examples/organizations/remove-account-from-organization.rst @@ -2,4 +2,4 @@ The following example shows you how to remove an account from an organization: :: - aws organizations remove-account --account-id 333333333333 \ No newline at end of file + aws organizations remove-account-from-organization --account-id 333333333333 diff --git a/bin/awscli/examples/organizations/update-policy.rst b/bin/awscli/examples/organizations/update-policy.rst index 9f53e436..ce1c3b68 100755 --- a/bin/awscli/examples/organizations/update-policy.rst +++ b/bin/awscli/examples/organizations/update-policy.rst @@ -1,43 +1,48 @@ **Example 1: To rename a policy** -The following example shows you how to rename a policy and give it a new description: :: - - aws organizations update-policy --policy-id p-examplepolicyid111 --name Renamed-Policy --description "This description replaces the original." - -The output shows the new name and description: :: - - { - "Policy": { - "Content": "{\n \"Version\":\"2012-10-17\",\n \"Statement\":{\n \"Effect\":\"Allow\",\n \"Action\":\"ec2:*\",\n \"Resource\":\"*\"\n }\n}\n", - "PolicySummary": { - "Id": "p-examplepolicyid111", - "AwsManaged": false, - "Arn":"arn:aws:organizations::111111111111:policy/o-exampleorgid/service_control_policy/p-examplepolicyid111", - "Description": "This description replaces the original.", - "Name": "Renamed-Policy", - "Type": "SERVICE_CONTROL_POLICY" - } - } - } +The following ``update-policy`` example renames a policy and gives it a new description. :: + + aws organizations update-policy \ + --policy-id p-examplepolicyid111 \ + --name Renamed-Policy \ + --description "This description replaces the original." + +The output shows the new name and description. :: + + { + "Policy": { + "Content": "{\n \"Version\":\"2012-10-17\",\n \"Statement\":{\n \"Effect\":\"Allow\",\n \"Action\":\"ec2:*\",\n \"Resource\":\"*\"\n }\n}\n", + "PolicySummary": { + "Id": "p-examplepolicyid111", + "AwsManaged": false, + "Arn":"arn:aws:organizations::111111111111:policy/o-exampleorgid/service_control_policy/p-examplepolicyid111", + "Description": "This description replaces the original.", + "Name": "Renamed-Policy", + "Type": "SERVICE_CONTROL_POLICY" + } + } + } **Example 2: To replace a policy's JSON text content** The following example shows you how to replace the JSON text of the SCP in the previous example with a new JSON policy text string that allows S3 instead of EC2: :: - aws organizations --policy-id p-examplepolicyid111, --content "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Action\":\"s3:*\",\"Resource\":\"*\"}}" - -The output shows the new content: :: - - { - "Policy": { - "Content": "{ \"Version\": \"2012-10-17\", \"Statement\": { \"Effect\": \"Allow\", \"Action\": \"s3:*\", \"Resource\": \"*\" } }", - "PolicySummary": { - "Arn": "arn:aws:organizations::111111111111:policy/o-exampleorgid/service_control_policy/p-examplepolicyid111", - "AwsManaged": false; - "Description": "This description replaces the original.", - "Id": "p-examplepolicyid111", - "Name": "Renamed-Policy", - "Type": "SERVICE_CONTROL_POLICY" - } - } - } \ No newline at end of file + aws organizations update-policy \ + --policy-id p-examplepolicyid111 \ + --content "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Action\":\"s3:*\",\"Resource\":\"*\"}}" + +The output shows the new content:: + + { + "Policy": { + "Content": "{ \"Version\": \"2012-10-17\", \"Statement\": { \"Effect\": \"Allow\", \"Action\": \"s3:*\", \"Resource\": \"*\" } }", + "PolicySummary": { + "Arn": "arn:aws:organizations::111111111111:policy/o-exampleorgid/service_control_policy/p-examplepolicyid111", + "AwsManaged": false; + "Description": "This description replaces the original.", + "Id": "p-examplepolicyid111", + "Name": "Renamed-Policy", + "Type": "SERVICE_CONTROL_POLICY" + } + } + } diff --git a/bin/awscli/examples/pricing/describe-services.rst b/bin/awscli/examples/pricing/describe-services.rst new file mode 100644 index 00000000..c21e3124 --- /dev/null +++ b/bin/awscli/examples/pricing/describe-services.rst @@ -0,0 +1,82 @@ +**To retrieve service metadata** + +This example retrieves the metadata for the Amazon EC2 service code. + +Command:: + + aws pricing describe-services --service-code AmazonEC2 --format-version aws_v1 --max-items 1 + +Output:: + + { + "Services": [ + { + "ServiceCode": "AmazonEC2", + "AttributeNames": [ + "volumeType", + "maxIopsvolume", + "instance", + "instanceCapacity10xlarge", + "locationType", + "instanceFamily", + "operatingSystem", + "clockSpeed", + "LeaseContractLength", + "ecu", + "networkPerformance", + "instanceCapacity8xlarge", + "group", + "maxThroughputvolume", + "gpuMemory", + "ebsOptimized", + "elasticGpuType", + "maxVolumeSize", + "gpu", + "processorFeatures", + "intelAvxAvailable", + "instanceCapacity4xlarge", + "servicecode", + "groupDescription", + "processorArchitecture", + "physicalCores", + "productFamily", + "enhancedNetworkingSupported", + "intelTurboAvailable", + "memory", + "dedicatedEbsThroughput", + "vcpu", + "OfferingClass", + "instanceCapacityLarge", + "capacitystatus", + "termType", + "storage", + "intelAvx2Available", + "storageMedia", + "physicalProcessor", + "provisioned", + "servicename", + "PurchaseOption", + "instanceCapacity18xlarge", + "instanceType", + "tenancy", + "usagetype", + "normalizationSizeFactor", + "instanceCapacity2xlarge", + "instanceCapacity16xlarge", + "maxIopsBurstPerformance", + "instanceCapacity12xlarge", + "instanceCapacity32xlarge", + "instanceCapacityXlarge", + "licenseModel", + "currentGeneration", + "preInstalledSw", + "location", + "instanceCapacity24xlarge", + "instanceCapacity9xlarge", + "instanceCapacityMedium", + "operation" + ] + } + ], + "FormatVersion": "aws_v1" + } diff --git a/bin/awscli/examples/pricing/get-attribute-values.rst b/bin/awscli/examples/pricing/get-attribute-values.rst new file mode 100644 index 00000000..339767af --- /dev/null +++ b/bin/awscli/examples/pricing/get-attribute-values.rst @@ -0,0 +1,22 @@ +**To retrieve a list of attribute values** + +The following ``get-attribute-values`` example retrieves a list of values available for the given attribute. :: + + aws pricing get-attribute-values \ + --service-code AmazonEC2 \ + --attribute-name volumeType \ + --max-items 2 + +Output:: + + { + "NextToken": "eyJOZXh0VG9rZW4iOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAyfQ==", + "AttributeValues": [ + { + "Value": "Cold HDD" + }, + { + "Value": "General Purpose" + } + ] + } diff --git a/bin/awscli/examples/pricing/get-products.rst b/bin/awscli/examples/pricing/get-products.rst new file mode 100644 index 00000000..34eba01b --- /dev/null +++ b/bin/awscli/examples/pricing/get-products.rst @@ -0,0 +1,32 @@ +**To retrieve a list of products** + +This example retrieves a list of products that match the given criteria. + +Command:: + + aws pricing get-products --filters file://filters.json --format-version aws_v1 --max-results 1 --service-code AmazonEC2 + +filters.json:: + + [ + { + "Type": "TERM_MATCH", + "Field": "ServiceCode", + "Value": "AmazonEC2" + }, + { + "Type": "TERM_MATCH", + "Field": "volumeType", + "Value": "Provisioned IOPS" + } + ] + +Output:: + + { + "FormatVersion": "aws_v1", + "NextToken": "WGDY7ko8fQXdlaUZVdasFQ==:RVSagyIFn770XQOzdUIcO9BY6ucBG9itXAZGZF/zioUzOsUKh6PCcPWaOyPZRiMePb986TeoKYB9l55fw/CyoMq5ymnGmT1Vj39TljbbAlhcqnVfTmPIilx8Uy5bdDaBYy/e/2Ofw9Edzsykbs8LTBuNbiDQ+BBds5yeI9AQkUepruKk3aEahFPxJ55kx/zk", + "PriceList": [ + "{\"product\":{\"productFamily\":\"Storage\",\"attributes\":{\"storageMedia\":\"SSD-backed\",\"maxThroughputvolume\":\"320 MB/sec\",\"volumeType\":\"Provisioned IOPS\",\"maxIopsvolume\":\"20000\",\"servicecode\":\"AmazonEC2\",\"usagetype\":\"APS1-EBS:VolumeUsage.piops\",\"locationType\":\"AWS Region\",\"location\":\"Asia Pacific (Singapore)\",\"servicename\":\"Amazon Elastic Compute Cloud\",\"maxVolumeSize\":\"16 TiB\",\"operation\":\"\"},\"sku\":\"3MKHN58N7RDDVGKJ\"},\"serviceCode\":\"AmazonEC2\",\"terms\":{\"OnDemand\":{\"3MKHN58N7RDDVGKJ.JRTCKXETXF\":{\"priceDimensions\":{\"3MKHN58N7RDDVGKJ.JRTCKXETXF.6YS6EN2CT7\":{\"unit\":\"GB-Mo\",\"endRange\":\"Inf\",\"description\":\"$0.138 per GB-month of Provisioned IOPS SSD (io1) provisioned storage - Asia Pacific (Singapore)\",\"appliesTo\":[],\"rateCode\":\"3MKHN58N7RDDVGKJ.JRTCKXETXF.6YS6EN2CT7\",\"beginRange\":\"0\",\"pricePerUnit\":{\"USD\":\"0.1380000000\"}}},\"sku\":\"3MKHN58N7RDDVGKJ\",\"effectiveDate\":\"2018-08-01T00:00:00Z\",\"offerTermCode\":\"JRTCKXETXF\",\"termAttributes\":{}}}},\"version\":\"20180808005701\",\"publicationDate\":\"2018-08-08T00:57:01Z\"}" + ] + } diff --git a/bin/awscli/examples/rds/add-option-to-option-group.rst b/bin/awscli/examples/rds/add-option-to-option-group.rst new file mode 100644 index 00000000..4198a217 --- /dev/null +++ b/bin/awscli/examples/rds/add-option-to-option-group.rst @@ -0,0 +1,61 @@ +**To add an option to an option group** + +The following ``add-option-to-option-group`` example adds an option to the specified option group. :: + + aws rds add-option-to-option-group \ + --option-group-name myoptiongroup \ + --options OptionName=OEM,Port=5500,DBSecurityGroupMemberships=default \ + --apply-immediately + +Output:: + + { + "OptionGroup": { + "OptionGroupName": "myoptiongroup", + "OptionGroupDescription": "Test Option Group", + "EngineName": "oracle-ee", + "MajorEngineVersion": "12.1", + "Options": [ + { + "OptionName": "Timezone", + "OptionDescription": "Change time zone", + "Persistent": true, + "Permanent": false, + "OptionSettings": [ + { + "Name": "TIME_ZONE", + "Value": "Australia/Sydney", + "DefaultValue": "UTC", + "Description": "Specifies the timezone the user wants to change the system time to", + "ApplyType": "DYNAMIC", + "DataType": "STRING", + "AllowedValues": "Africa/Cairo,Africa/Casablanca,Africa/Harare,Africa/Lagos,Africa/Luanda,Africa/Monrovia,Africa/Nairobi,Africa/Tripoli,Africa/Windhoek,America/Araguaina,America/Argentina/Buenos_Aires,America/Asuncion,America/Bogota,America/Caracas,America/Chicago,America/Chihuahua,America/Cuiaba,America/Denver,America/Detroit,America/Fortaleza,America/Godthab,America/Guatemala,America/Halifax,America/Lima,America/Los_Angeles,America/Manaus,America/Matamoros,America/Mexico_City,America/Monterrey,America/Montevideo,America/New_York,America/Phoenix,America/Santiago,America/Sao_Paulo,America/Tijuana,America/Toronto,Asia/Amman,Asia/Ashgabat,Asia/Baghdad,Asia/Baku,Asia/Bangkok,Asia/Beirut,Asia/Calcutta,Asia/Damascus,Asia/Dhaka,Asia/Hong_Kong,Asia/Irkutsk,Asia/Jakarta,Asia/Jerusalem,Asia/Kabul,Asia/Karachi,Asia/Kathmandu,Asia/Kolkata,Asia/Krasnoyarsk,Asia/Magadan,Asia/Manila,Asia/Muscat,Asia/Novosibirsk,Asia/Rangoon,Asia/Riyadh,Asia/Seoul,Asia/Shanghai,Asia/Singapore,Asia/Taipei,Asia/Tehran,Asia/Tokyo,Asia/Ulaanbaatar,Asia/Vladivostok,Asia/Yakutsk,Asia/Yerevan,Atlantic/Azores,Atlantic/Cape_Verde,Australia/Adelaide,Australia/Brisbane,Australia/Darwin,Australia/Eucla,Australia/Hobart,Australia/Lord_Howe,Australia/Perth,Australia/Sydney,Brazil/DeNoronha,Brazil/East,Canada/Newfoundland,Canada/Saskatchewan,Etc/GMT-3,Europe/Amsterdam,Europe/Athens,Europe/Berlin,Europe/Dublin,Europe/Helsinki,Europe/Kaliningrad,Europe/London,Europe/Madrid,Europe/Moscow,Europe/Paris,Europe/Prague,Europe/Rome,Europe/Sarajevo,Pacific/Apia,Pacific/Auckland,Pacific/Chatham,Pacific/Fiji,Pacific/Guam,Pacific/Honolulu,Pacific/Kiritimati,Pacific/Marquesas,Pacific/Samoa,Pacific/Tongatapu,Pacific/Wake,US/Alaska,US/Central,US/East-Indiana,US/Eastern,US/Pacific,UTC", + "IsModifiable": true, + "IsCollection": false + } + ], + "DBSecurityGroupMemberships": [], + "VpcSecurityGroupMemberships": [] + }, + { + "OptionName": "OEM", + "OptionDescription": "Oracle 12c EM Express", + "Persistent": false, + "Permanent": false, + "Port": 5500, + "OptionSettings": [], + "DBSecurityGroupMemberships": [ + { + "DBSecurityGroupName": "default", + "Status": "authorized" + } + ], + "VpcSecurityGroupMemberships": [] + } + ], + "AllowsVpcAndNonVpcInstanceMemberships": false, + "OptionGroupArn": "arn:aws:rds:us-east-1:123456789012:og:myoptiongroup" + } + } + +For more information, see `Adding an Option to an Option Group `__ in the *Amazon RDS User Guide*. diff --git a/bin/awscli/examples/rds/add-source-identifier-to-subscription.rst b/bin/awscli/examples/rds/add-source-identifier-to-subscription.rst index bdee9344..28615aa6 100644 --- a/bin/awscli/examples/rds/add-source-identifier-to-subscription.rst +++ b/bin/awscli/examples/rds/add-source-identifier-to-subscription.rst @@ -1,30 +1,30 @@ **To add a source identifier to a subscription** -This example adds another source identifier to an existing subscription:: +The following ``add-source-identifier`` example adds another source identifier to an existing subscription. :: aws rds add-source-identifier-to-subscription \ - --subscription-name my-instance-events \ - --source-identifier test-instance-repl + --subscription-name my-instance-events \ + --source-identifier test-instance-repl Output:: -{ - "EventSubscription": { - "SubscriptionCreationTime": "Tue Jul 31 23:22:01 UTC 2018", - "CustSubscriptionId": "my-instance-events", - "EventSubscriptionArn": "arn:aws:rds:us-east-1:123456789012:es:my-instance-events", - "Enabled": false, - "Status": "modifying", - "EventCategoriesList": [ - "backup", - "recovery" - ], - "CustomerAwsId": "123456789012", - "SnsTopicArn": "arn:aws:sns:us-east-1:123456789012:interesting-events", - "SourceType": "db-instance", - "SourceIdsList": [ - "test-instance", - "test-instance-repl" - ] + { + "EventSubscription": { + "SubscriptionCreationTime": "Tue Jul 31 23:22:01 UTC 2018", + "CustSubscriptionId": "my-instance-events", + "EventSubscriptionArn": "arn:aws:rds:us-east-1:123456789012:es:my-instance-events", + "Enabled": false, + "Status": "modifying", + "EventCategoriesList": [ + "backup", + "recovery" + ], + "CustomerAwsId": "123456789012", + "SnsTopicArn": "arn:aws:sns:us-east-1:123456789012:interesting-events", + "SourceType": "db-instance", + "SourceIdsList": [ + "test-instance", + "test-instance-repl" + ] + } } -} diff --git a/bin/awscli/examples/rds/add-tags-to-resource.rst b/bin/awscli/examples/rds/add-tags-to-resource.rst new file mode 100644 index 00000000..ad11238b --- /dev/null +++ b/bin/awscli/examples/rds/add-tags-to-resource.rst @@ -0,0 +1,11 @@ +**To add tags to a resource** + +The following ``add-tags-to-resource`` example add tags to an RDS database. :: + + aws rds add-tags-to-resource \ + --resource-name arn:aws:rds:us-east-1:123456789012:db:database-mysql \ + --tags "[{\"Key\": \"Name\",\"Value\": \"MyDatabase\"},{\"Key\": \"Environment\",\"Value\": \"test\"}]" + +This command produces no output. + +For more information, see `Tagging Amazon RDS Resources `__ in the *Amazon RDS User Guide*. diff --git a/bin/awscli/examples/rds/backtrack-db-cluster.rst b/bin/awscli/examples/rds/backtrack-db-cluster.rst new file mode 100644 index 00000000..318df0af --- /dev/null +++ b/bin/awscli/examples/rds/backtrack-db-cluster.rst @@ -0,0 +1,7 @@ +**To backtrack an Aurora DB cluster** + +The following ``backtrack-db-cluster`` example backtracks the specified DB cluster sample-cluster to March 19, 2018, at 10 a.m. :: + + aws rds backtrack-db-cluster --db-cluster-identifier sample-cluster --backtrack-to 2018-03-19T10:00:00+00:00 + +This command outputs a JSON block that acknowledges the change to the RDS resource. diff --git a/bin/awscli/examples/rds/copy-db-cluster-parameter-group.rst b/bin/awscli/examples/rds/copy-db-cluster-parameter-group.rst new file mode 100644 index 00000000..c54c5cbd --- /dev/null +++ b/bin/awscli/examples/rds/copy-db-cluster-parameter-group.rst @@ -0,0 +1,21 @@ +**To copy a DB cluster parameter group** + +The following ``copy-db-cluster-parameter-group`` example makes a copy of a DB cluster parameter group. :: + + aws rds copy-db-cluster-parameter-group \ + --source-db-cluster-parameter-group-identifier mydbclusterpg \ + --target-db-cluster-parameter-group-identifier mydbclusterpgcopy \ + --target-db-cluster-parameter-group-description "Copy of mydbclusterpg parameter group" + +Output:: + + { + "DBClusterParameterGroup": { + "DBClusterParameterGroupName": "mydbclusterpgcopy", + "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:cluster-pg:mydbclusterpgcopy", + "DBParameterGroupFamily": "aurora-mysql5.7", + "Description": "Copy of mydbclusterpg parameter group" + } + } + +For more information, see `Copying a DB Cluster Parameter Group `__ in the *Amazon Aurora Users Guide*. diff --git a/bin/awscli/examples/rds/copy-db-cluster-snapshot.rst b/bin/awscli/examples/rds/copy-db-cluster-snapshot.rst new file mode 100644 index 00000000..74d45eb6 --- /dev/null +++ b/bin/awscli/examples/rds/copy-db-cluster-snapshot.rst @@ -0,0 +1,40 @@ +**To copy a DB cluster snapshot** + +The following ``copy-db-cluster-snapshot`` example creates a copy of a DB cluster snapshot, including its tags. :: + + aws rds copy-db-cluster-snapshot \ + --source-db-cluster-snapshot-identifier arn:aws:rds:us-east-1:123456789012:cluster-snapshot:rds:myaurora-2019-06-04-09-16 + --target-db-cluster-snapshot-identifier myclustersnapshotcopy \ + --copy-tags + +Output:: + + { + "DBClusterSnapshot": { + "AvailabilityZones": [ + "us-east-1a", + "us-east-1b", + "us-east-1e" + ], + "DBClusterSnapshotIdentifier": "myclustersnapshotcopy", + "DBClusterIdentifier": "myaurora", + "SnapshotCreateTime": "2019-06-04T09:16:42.649Z", + "Engine": "aurora-mysql", + "AllocatedStorage": 0, + "Status": "available", + "Port": 0, + "VpcId": "vpc-6594f31c", + "ClusterCreateTime": "2019-04-15T14:18:42.785Z", + "MasterUsername": "myadmin", + "EngineVersion": "5.7.mysql_aurora.2.04.2", + "LicenseModel": "aurora-mysql", + "SnapshotType": "manual", + "PercentProgress": 100, + "StorageEncrypted": true, + "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE", + "DBClusterSnapshotArn": "arn:aws:rds:us-east-1:123456789012:cluster-snapshot:myclustersnapshotcopy", + "IAMDatabaseAuthenticationEnabled": false + } + } + +For more information, see `Copying a Snapshot `__ in the *Amazon Aurora User Guide*. diff --git a/bin/awscli/examples/rds/copy-db-parameter-group.rst b/bin/awscli/examples/rds/copy-db-parameter-group.rst new file mode 100644 index 00000000..5a6aa891 --- /dev/null +++ b/bin/awscli/examples/rds/copy-db-parameter-group.rst @@ -0,0 +1,21 @@ +**To copy a DB cluster parameter group** + +The following ``copy-db-parameter-group`` example makes a copy of a DB parameter group. :: + + aws rds copy-db-parameter-group \ + --source-db-parameter-group-identifier mydbpg \ + --target-db-parameter-group-identifier mydbpgcopy \ + --target-db-parameter-group-description "Copy of mydbpg parameter group" + +Output:: + + { + "DBParameterGroup": { + "DBParameterGroupName": "mydbpgcopy", + "DBParameterGroupArn": "arn:aws:rds:us-east-1:814387698303:pg:mydbpgcopy", + "DBParameterGroupFamily": "mysql5.7", + "Description": "Copy of mydbpg parameter group" + } + } + +For more information, see `Copying a DB Parameter Group `__ in the *Amazon RDS Users Guide*. diff --git a/bin/awscli/examples/rds/copy-db-snapshot.rst b/bin/awscli/examples/rds/copy-db-snapshot.rst new file mode 100644 index 00000000..bc48c3b0 --- /dev/null +++ b/bin/awscli/examples/rds/copy-db-snapshot.rst @@ -0,0 +1,42 @@ +**To copy a DB snapshot** + +The following ``copy-db-snapshot`` example creates a copy of a DB snapshot. :: + + aws rds copy-db-snapshot \ + --source-db-snapshot-identifier rds:database-mysql-2019-06-06-08-38 + --target-db-snapshot-identifier mydbsnapshotcopy + +Output:: + + { + "DBSnapshot": { + "VpcId": "vpc-6594f31c", + "Status": "creating", + "Encrypted": true, + "SourceDBSnapshotIdentifier": "arn:aws:rds:us-east-1:123456789012:snapshot:rds:database-mysql-2019-06-06-08-38", + "MasterUsername": "admin", + "Iops": 1000, + "Port": 3306, + "LicenseModel": "general-public-license", + "DBSnapshotArn": "arn:aws:rds:us-east-1:123456789012:snapshot:mydbsnapshotcopy", + "EngineVersion": "5.6.40", + "OptionGroupName": "default:mysql-5-6", + "ProcessorFeatures": [], + "Engine": "mysql", + "StorageType": "io1", + "DbiResourceId": "db-ZI7UJ5BLKMBYFGX7FDENCKADC4", + "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE", + "SnapshotType": "manual", + "IAMDatabaseAuthenticationEnabled": false, + "SourceRegion": "us-east-1", + "DBInstanceIdentifier": "database-mysql", + "InstanceCreateTime": "2019-04-30T15:45:53.663Z", + "AvailabilityZone": "us-east-1f", + "PercentProgress": 0, + "AllocatedStorage": 100, + "DBSnapshotIdentifier": "mydbsnapshotcopy" + } + } + + +For more information, see `Copying a Snapshot `__ in the *Amazon RDS User Guide*. diff --git a/bin/awscli/examples/rds/copy-option-group.rst b/bin/awscli/examples/rds/copy-option-group.rst new file mode 100644 index 00000000..f3923a4d --- /dev/null +++ b/bin/awscli/examples/rds/copy-option-group.rst @@ -0,0 +1,24 @@ +**To copy an option group** + +The following ``copy-option-group`` example makes a copy of an option group. :: + + aws rds copy-option-group \ + --source-option-group-identifier myoptiongroup \ + --target-option-group-identifier new-option-group \ + --target-option-group-description "My option group copy" + +Output:: + + { + "OptionGroup": { + "Options": [], + "OptionGroupName": "new-option-group", + "MajorEngineVersion": "11.2", + "OptionGroupDescription": "My option group copy", + "AllowsVpcAndNonVpcInstanceMemberships": true, + "EngineName": "oracle-ee", + "OptionGroupArn": "arn:aws:rds:us-east-1:123456789012:og:new-option-group" + } + } + +For more information, see `Making a Copy of an Option Group `__ in the *Amazon RDS User Guide*. diff --git a/bin/awscli/examples/rds/create-db-cluster.rst b/bin/awscli/examples/rds/create-db-cluster.rst new file mode 100644 index 00000000..2efda638 --- /dev/null +++ b/bin/awscli/examples/rds/create-db-cluster.rst @@ -0,0 +1,118 @@ +**Example 1: To create a MySQL 5.7--compatible DB cluster** + +The following ``create-db-cluster`` example create a MySQL 5.7-compatible DB cluster. Replace the sample password ``secret99`` with a secure password. The writer DB instance is the first instance that is created in a DB cluster. When you use the console to create a DB cluster, Amazon RDS automatically creates the writer DB instance for your DB cluster. However, when you use the AWS CLI to create a DB cluster, you must explicitly create the writer DB instance for your DB cluster using the ``create-db-instance`` AWS CLI command. :: + + aws rds create-db-cluster \ + --db-cluster-identifier sample-cluster \ + --engine aurora-mysql \ + --engine-version 5.7.12 \ + --master-username master \ + --master-user-password secret99 \ + --db-subnet-group-name default \ + --vpc-security-group-ids sg-0b9130572daf3dc16 + +Output:: + + { + "DBCluster": { + "DBSubnetGroup": "default", + "VpcSecurityGroups": [ + { + "VpcSecurityGroupId": "sg-0b9130572daf3dc16", + "Status": "active" + } + ], + "AllocatedStorage": 1, + "AssociatedRoles": [], + "PreferredBackupWindow": "09:12-09:42", + "ClusterCreateTime": "2019-06-07T23:21:33.048Z", + "DeletionProtection": false, + "IAMDatabaseAuthenticationEnabled": false, + "ReadReplicaIdentifiers": [], + "EngineMode": "provisioned", + "Engine": "aurora-mysql", + "StorageEncrypted": false, + "MultiAZ": false, + "PreferredMaintenanceWindow": "mon:04:31-mon:05:01", + "HttpEndpointEnabled": false, + "BackupRetentionPeriod": 1, + "DbClusterResourceId": "cluster-ANPAJ4AE5446DAEXAMPLE", + "DBClusterIdentifier": "sample-cluster", + "AvailabilityZones": [ + "us-east-1a", + "us-east-1b", + "us-east-1e" + ], + "MasterUsername": "master", + "EngineVersion": "5.7.12", + "DBClusterArn": "arn:aws:rds:us-east-1:123456789012:cluster:sample-cluster", + "DBClusterMembers": [], + "Port": 3306, + "Status": "creating", + "Endpoint": "sample-cluster.cluster-cnpexample.us-east-1.rds.amazonaws.com", + "DBClusterParameterGroup": "default.aurora-mysql5.7", + "HostedZoneId": "Z2R2ITUGPM61AM", + "ReaderEndpoint": "sample-cluster.cluster-ro-cnpexample.us-east-1.rds.amazonaws.com", + "CopyTagsToSnapshot": false + } + } + +**Example 2: To create a PostgreSQL--compatible DB cluster** + +The following ``create-db-cluster`` example creates a PostgreSQL-compatible DB cluster. Replace the example password ``secret99`` with a secure password. The writer DB instance is the first instance that is created in a DB cluster. When you use the console to create a DB cluster, Amazon RDS automatically creates the writer DB instance for your DB cluster. However, when you use the AWS CLI to create a DB cluster, you must explicitly create the writer DB instance for your DB cluster using the ``create-db-instance`` AWS CLI command. :: + + aws rds create-db-cluster \ + --db-cluster-identifier sample-pg-cluster \ + --engine aurora-postgresql \ + --master-username master \ + --master-user-password secret99 \ + --db-subnet-group-name default \ + --vpc-security-group-ids sg-0b9130572daf3dc16 + +Output:: + + { + "DBCluster": { + "Endpoint": "sample-pg-cluster.cluster-cnpexample.us-east-1.rds.amazonaws.com", + "HttpEndpointEnabled": false, + "DBClusterMembers": [], + "EngineMode": "provisioned", + "CopyTagsToSnapshot": false, + "HostedZoneId": "Z2R2ITUGPM61AM", + "IAMDatabaseAuthenticationEnabled": false, + "AllocatedStorage": 1, + "VpcSecurityGroups": [ + { + "VpcSecurityGroupId": "sg-0b9130572daf3dc16", + "Status": "active" + } + ], + "DeletionProtection": false, + "StorageEncrypted": false, + "BackupRetentionPeriod": 1, + "PreferredBackupWindow": "09:56-10:26", + "ClusterCreateTime": "2019-06-07T23:26:08.371Z", + "DBClusterParameterGroup": "default.aurora-postgresql9.6", + "EngineVersion": "9.6.9", + "Engine": "aurora-postgresql", + "Status": "creating", + "DBClusterIdentifier": "sample-pg-cluster", + "MultiAZ": false, + "Port": 5432, + "DBClusterArn": "arn:aws:rds:us-east-1:123456789012:cluster:sample-pg-cluster", + "AssociatedRoles": [], + "DbClusterResourceId": "cluster-ANPAJ4AE5446DAEXAMPLE", + "PreferredMaintenanceWindow": "wed:03:33-wed:04:03", + "ReaderEndpoint": "sample-pg-cluster.cluster-ro-cnpexample.us-east-1.rds.amazonaws.com", + "MasterUsername": "master", + "AvailabilityZones": [ + "us-east-1a", + "us-east-1b", + "us-east-1c" + ], + "ReadReplicaIdentifiers": [], + "DBSubnetGroup": "default" + } + } + +For more information, see `Creating an Amazon Aurora DB Cluster `__ in the *Amazon Aurora Users Guide*. diff --git a/bin/awscli/examples/rds/create-db-instance-read-replica.rst b/bin/awscli/examples/rds/create-db-instance-read-replica.rst index 97f53f3d..0f3405e1 100644 --- a/bin/awscli/examples/rds/create-db-instance-read-replica.rst +++ b/bin/awscli/examples/rds/create-db-instance-read-replica.rst @@ -1,25 +1,20 @@ **To create a DB instance read replica** -This example creates a read replica of an existing DB instance (*test-instance*). The read replica is named *test-instance-repl*:: +This example creates a read replica of an existing DB instance named ``test-instance``. The read replica is named ``test-instance-repl``. :: aws rds create-db-instance-read-replica \ - --db-instance-identifier test-instance-repl \ - --source-db-instance-identifier test-instance + --db-instance-identifier test-instance-repl \ + --source-db-instance-identifier test-instance Output:: -{ - "DBInstance": { - "IAMDatabaseAuthenticationEnabled": false, - "MonitoringInterval": 0, - "DBInstanceArn": "arn:aws:rds:us-east-1:123456789012:db:test-instance-repl", - "ReadReplicaSourceDBInstanceIdentifier": "test-instance", - -<...output omitted...> - - "DBInstanceIdentifier": "test-instance-repl", - -<...output omitted...> - -} - + { + "DBInstance": { + "IAMDatabaseAuthenticationEnabled": false, + "MonitoringInterval": 0, + "DBInstanceArn": "arn:aws:rds:us-east-1:123456789012:db:test-instance-repl", + "ReadReplicaSourceDBInstanceIdentifier": "test-instance", + "DBInstanceIdentifier": "test-instance-repl", + ...some output truncated... + } + } diff --git a/bin/awscli/examples/rds/create-db-instance.rst b/bin/awscli/examples/rds/create-db-instance.rst index 0acf8a1e..49112a5c 100644 --- a/bin/awscli/examples/rds/create-db-instance.rst +++ b/bin/awscli/examples/rds/create-db-instance.rst @@ -1,123 +1,124 @@ **To create a DB instance** -This example launches a new DB instance:: +The following ``create-db-instance`` example launches a new DB instance. :: aws rds create-db-instance \ - --allocated-storage 20 --db-instance-class db.m1.small \ - --db-instance-identifier test-instance --engine mysql \ - --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' \ - --master-username master --master-user-password secret99 + --allocated-storage 20 --db-instance-class db.m1.small \ + --db-instance-identifier test-instance \ + --engine mysql \ + --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' \ + --master-username master \ + --master-user-password secret99 Output:: -{ - "DBInstance": { - "DBInstanceIdentifier": "test-instance", - "DBInstanceClass": "db.m1.small", - "Engine": "mysql", - "DBInstanceStatus": "creating", - "MasterUsername": "master", - "AllocatedStorage": 20, - "PreferredBackupWindow": "10:27-10:57", - "BackupRetentionPeriod": 1, - "DBSecurityGroups": [], - "VpcSecurityGroups": [ - { - "VpcSecurityGroupId": "sg-f839b688", - "Status": "active" - } - ], - "DBParameterGroups": [ - { - "DBParameterGroupName": "default.mysql5.6", - "ParameterApplyStatus": "in-sync" - } - ], - "DBSubnetGroup": { - "DBSubnetGroupName": "default", - "DBSubnetGroupDescription": "default", - "VpcId": "vpc-136a4c6a", - "SubnetGroupStatus": "Complete", - "Subnets": [ + { + "DBInstance": { + "DBInstanceIdentifier": "test-instance", + "DBInstanceClass": "db.m1.small", + "Engine": "mysql", + "DBInstanceStatus": "creating", + "MasterUsername": "master", + "AllocatedStorage": 20, + "PreferredBackupWindow": "10:27-10:57", + "BackupRetentionPeriod": 1, + "DBSecurityGroups": [], + "VpcSecurityGroups": [ { - "SubnetIdentifier": "subnet-cbfff283", - "SubnetAvailabilityZone": { - "Name": "us-east-1b" - }, - "SubnetStatus": "Active" - }, + "VpcSecurityGroupId": "sg-f839b688", + "Status": "active" + } + ], + "DBParameterGroups": [ { - "SubnetIdentifier": "subnet-d7c825e8", - "SubnetAvailabilityZone": { - "Name": "us-east-1e" + "DBParameterGroupName": "default.mysql5.6", + "ParameterApplyStatus": "in-sync" + } + ], + "DBSubnetGroup": { + "DBSubnetGroupName": "default", + "DBSubnetGroupDescription": "default", + "VpcId": "vpc-136a4c6a", + "SubnetGroupStatus": "Complete", + "Subnets": [ + { + "SubnetIdentifier": "subnet-cbfff283", + "SubnetAvailabilityZone": { + "Name": "us-east-1b" + }, + "SubnetStatus": "Active" }, - "SubnetStatus": "Active" - }, - { - "SubnetIdentifier": "subnet-6746046b", - "SubnetAvailabilityZone": { - "Name": "us-east-1f" + { + "SubnetIdentifier": "subnet-d7c825e8", + "SubnetAvailabilityZone": { + "Name": "us-east-1e" + }, + "SubnetStatus": "Active" }, - "SubnetStatus": "Active" - }, - { - "SubnetIdentifier": "subnet-bac383e0", - "SubnetAvailabilityZone": { - "Name": "us-east-1c" + { + "SubnetIdentifier": "subnet-6746046b", + "SubnetAvailabilityZone": { + "Name": "us-east-1f" + }, + "SubnetStatus": "Active" }, - "SubnetStatus": "Active" - }, - { - "SubnetIdentifier": "subnet-42599426", - "SubnetAvailabilityZone": { - "Name": "us-east-1d" + { + "SubnetIdentifier": "subnet-bac383e0", + "SubnetAvailabilityZone": { + "Name": "us-east-1c" + }, + "SubnetStatus": "Active" }, - "SubnetStatus": "Active" - }, - { - "SubnetIdentifier": "subnet-da327bf6", - "SubnetAvailabilityZone": { - "Name": "us-east-1a" + { + "SubnetIdentifier": "subnet-42599426", + "SubnetAvailabilityZone": { + "Name": "us-east-1d" + }, + "SubnetStatus": "Active" }, - "SubnetStatus": "Active" - } - ] - }, - "PreferredMaintenanceWindow": "sat:05:47-sat:06:17", - "PendingModifiedValues": { - "MasterUserPassword": "****", - "PendingCloudwatchLogsExports": { - "LogTypesToEnable": [ - "audit", - "error", - "general", - "slowquery" + { + "SubnetIdentifier": "subnet-da327bf6", + "SubnetAvailabilityZone": { + "Name": "us-east-1a" + }, + "SubnetStatus": "Active" + } ] - } - }, - "MultiAZ": false, - "EngineVersion": "5.6.39", - "AutoMinorVersionUpgrade": true, - "ReadReplicaDBInstanceIdentifiers": [], - "LicenseModel": "general-public-license", - "OptionGroupMemberships": [ - { - "OptionGroupName": "default:mysql-5-6", - "Status": "in-sync" - } - ], - "PubliclyAccessible": true, - "StorageType": "standard", - "DbInstancePort": 0, - "StorageEncrypted": false, - "DbiResourceId": "db-ETDZIIXHEWY5N7GXVC4SH7H5IA", - "CACertificateIdentifier": "rds-ca-2015", - "DomainMemberships": [], - "CopyTagsToSnapshot": false, - "MonitoringInterval": 0, - "DBInstanceArn": "arn:aws:rds:us-east-1:123456789012:db:test-instance", - "IAMDatabaseAuthenticationEnabled": false, - "PerformanceInsightsEnabled": false + }, + "PreferredMaintenanceWindow": "sat:05:47-sat:06:17", + "PendingModifiedValues": { + "MasterUserPassword": "****", + "PendingCloudwatchLogsExports": { + "LogTypesToEnable": [ + "audit", + "error", + "general", + "slowquery" + ] + } + }, + "MultiAZ": false, + "EngineVersion": "5.6.39", + "AutoMinorVersionUpgrade": true, + "ReadReplicaDBInstanceIdentifiers": [], + "LicenseModel": "general-public-license", + "OptionGroupMemberships": [ + { + "OptionGroupName": "default:mysql-5-6", + "Status": "in-sync" + } + ], + "PubliclyAccessible": true, + "StorageType": "standard", + "DbInstancePort": 0, + "StorageEncrypted": false, + "DbiResourceId": "db-ETDZIIXHEWY5N7GXVC4SH7H5IA", + "CACertificateIdentifier": "rds-ca-2015", + "DomainMemberships": [], + "CopyTagsToSnapshot": false, + "MonitoringInterval": 0, + "DBInstanceArn": "arn:aws:rds:us-east-1:123456789012:db:test-instance", + "IAMDatabaseAuthenticationEnabled": false, + "PerformanceInsightsEnabled": false + } } -} - diff --git a/bin/awscli/examples/rds/create-db-security-group.rst b/bin/awscli/examples/rds/create-db-security-group.rst index 5776acf6..999eb84c 100644 --- a/bin/awscli/examples/rds/create-db-security-group.rst +++ b/bin/awscli/examples/rds/create-db-security-group.rst @@ -6,9 +6,16 @@ The following ``create-db-security-group`` command creates a new Amazon RDS DB s In the example, the new DB security group is named ``mysecgroup`` and has a description. -This command output a JSON block that contains information about the DB security group. - -For more information, see `Create an Amazon RDS DB Security Group`_ in the *AWS Command Line Interface User Guide*. - -.. _`Create an Amazon RDS DB Security Group`: http://docs.aws.amazon.com/cli/latest/userguide/cli-rds-create-secgroup.html +Output:: + { + "DBSecurityGroup": { + "OwnerId": "123456789012", + "DBSecurityGroupName": "mysecgroup", + "DBSecurityGroupDescription": "My Test Security Group", + "VpcId": "vpc-a1b2c3d4", + "EC2SecurityGroups": [], + "IPRanges": [], + "DBSecurityGroupArn": "arn:aws:rds:us-west-2:123456789012:secgrp:mysecgroup" + } + } diff --git a/bin/awscli/examples/rds/create-event-subscription.rst b/bin/awscli/examples/rds/create-event-subscription.rst index 6e83bee4..81dec8a9 100644 --- a/bin/awscli/examples/rds/create-event-subscription.rst +++ b/bin/awscli/examples/rds/create-event-subscription.rst @@ -1,28 +1,28 @@ **To create an event subscription** -This example creates an event subscription for backup and recovery events for DB instances in the current AWS account. Notifications are sent to an Amazon Simple Notification Service topic, specified by *--sns-topic-arn*:: +The following ``create-event-subscription`` example creates a subscription for backup and recovery events for DB instances in the current AWS account. Notifications are sent to an Amazon Simple Notification Service topic, specified by ``--sns-topic-arn``. :: aws rds create-event-subscription \ - --subscription-name my-instance-events --source-type db-instance \ - --event-categories '["backup","recovery"]' \ - --sns-topic-arn arn:aws:sns:us-east-1:123456789012:interesting-events + --subscription-name my-instance-events \ + --source-type db-instance \ + --event-categories '["backup","recovery"]' \ + --sns-topic-arn arn:aws:sns:us-east-1:123456789012:interesting-events Output:: -{ - "EventSubscription": { - "Status": "creating", - "CustSubscriptionId": "my-instance-events", - "SubscriptionCreationTime": "Tue Jul 31 23:22:01 UTC 2018", - "EventCategoriesList": [ - "backup", - "recovery" - ], - "SnsTopicArn": "arn:aws:sns:us-east-1:123456789012:interesting-events", - "CustomerAwsId": "123456789012", - "EventSubscriptionArn": "arn:aws:rds:us-east-1:123456789012:es:my-instance-events", - "SourceType": "db-instance", - "Enabled": true + { + "EventSubscription": { + "Status": "creating", + "CustSubscriptionId": "my-instance-events", + "SubscriptionCreationTime": "Tue Jul 31 23:22:01 UTC 2018", + "EventCategoriesList": [ + "backup", + "recovery" + ], + "SnsTopicArn": "arn:aws:sns:us-east-1:123456789012:interesting-events", + "CustomerAwsId": "123456789012", + "EventSubscriptionArn": "arn:aws:rds:us-east-1:123456789012:es:my-instance-events", + "SourceType": "db-instance", + "Enabled": true + } } -} - diff --git a/bin/awscli/examples/rds/create-option-group.rst b/bin/awscli/examples/rds/create-option-group.rst index 7aee45cd..9217f0ab 100644 --- a/bin/awscli/examples/rds/create-option-group.rst +++ b/bin/awscli/examples/rds/create-option-group.rst @@ -1,15 +1,23 @@ **To Create an Amazon RDS option group** -The following ``create-option-group`` command creates a new Amazon RDS option group:: +The following ``create-option-group`` command creates a new Amazon RDS option group for ``Oracle Enterprise Edition`` version ``11.2`, is named ``MyOptionGroup`` and includes a description. :: - aws rds create-option-group --option-group-name MyOptionGroup --engine-name oracle-ee --major-engine-version 11.2 --option-group-description "Oracle Database Manager Database Control" + aws rds create-option-group \ + --option-group-name MyOptionGroup \ + --engine-name oracle-ee \ + --major-engine-version 11.2 \ + --option-group-description "Oracle Database Manager Database Control" -In the example, the option group is created for Oracle Enterprise Edition version *11.2*, is named *MyOptionGroup* and -includes a description. - -This command output a JSON block that contains information on the option group. - -For more information, see `Create an Amazon RDS Option Group`_ in the *AWS Command Line Interface User Guide*. - -.. _`Create an Amazon RDS Option Group`: http://docs.aws.amazon.com/cli/latest/userguide/cli-rds-create-option-group.html +Output:: + { + "OptionGroup": { + "OptionGroupName": "myoptiongroup", + "OptionGroupDescription": "Oracle Database Manager Database Control", + "EngineName": "oracle-ee", + "MajorEngineVersion": "11.2", + "Options": [], + "AllowsVpcAndNonVpcInstanceMemberships": true, + "OptionGroupArn": "arn:aws:rds:us-west-2:123456789012:og:myoptiongroup" + } + } diff --git a/bin/awscli/examples/rds/delete-db-instance.rst b/bin/awscli/examples/rds/delete-db-instance.rst index 8e4a6d81..c5f2f2b1 100644 --- a/bin/awscli/examples/rds/delete-db-instance.rst +++ b/bin/awscli/examples/rds/delete-db-instance.rst @@ -1,23 +1,17 @@ **To delete a DB instance** -This example deletes a DB instance (*test-instance*), but only after creating a final DB snapshot (*test-instance-final-snap*):: +The following ``delete-db-instance`` example deletes the specified DB instance after creating a final DB snapshot named ``test-instance-final-snap``. :: - aws rds delete-db-instance --db-instance-identifier test-instance \ - --final-db-snapshot-identifier test-instance-final-snap + aws rds delete-db-instance \ + --db-instance-identifier test-instance \ + --final-db-snapshot-identifier test-instance-final-snap Output:: -{ - "DBInstance": { - -<...output omitted...> - - "DBInstanceIdentifier": "test-instance", - -<...output omitted...> - - "DBInstanceStatus": "deleting", - -<...output omitted...> - -} + { + "DBInstance": { + "DBInstanceIdentifier": "test-instance", + "DBInstanceStatus": "deleting", + ...some output truncated... + } + } diff --git a/bin/awscli/examples/rds/delete-event-subscription.rst b/bin/awscli/examples/rds/delete-event-subscription.rst index c2427677..624cc8bc 100644 --- a/bin/awscli/examples/rds/delete-event-subscription.rst +++ b/bin/awscli/examples/rds/delete-event-subscription.rst @@ -1,27 +1,27 @@ **To delete an event subscription** -This example deletes an existing event subscription. +The following ``delete-event-subscription`` example deletes the specified event subscription. :: aws rds delete-event-subscription --subscription-name my-instance-events Output:: -{ - "EventSubscription": { - "EventSubscriptionArn": "arn:aws:rds:us-east-1:123456789012:es:my-instance-events", - "CustomerAwsId": "123456789012", - "Enabled": false, - "SourceIdsList": [ - "test-instance" - ], - "SourceType": "db-instance", - "EventCategoriesList": [ - "backup", - "recovery" - ], - "SubscriptionCreationTime": "2018-07-31 23:22:01.893", - "CustSubscriptionId": "my-instance-events", - "SnsTopicArn": "arn:aws:sns:us-east-1:123456789012:interesting-events", - "Status": "deleting" + { + "EventSubscription": { + "EventSubscriptionArn": "arn:aws:rds:us-east-1:123456789012:es:my-instance-events", + "CustomerAwsId": "123456789012", + "Enabled": false, + "SourceIdsList": [ + "test-instance" + ], + "SourceType": "db-instance", + "EventCategoriesList": [ + "backup", + "recovery" + ], + "SubscriptionCreationTime": "2018-07-31 23:22:01.893", + "CustSubscriptionId": "my-instance-events", + "SnsTopicArn": "arn:aws:sns:us-east-1:123456789012:interesting-events", + "Status": "deleting" + } } -} diff --git a/bin/awscli/examples/rds/describe-account-attributes.rst b/bin/awscli/examples/rds/describe-account-attributes.rst index 857a52da..cd105cda 100644 --- a/bin/awscli/examples/rds/describe-account-attributes.rst +++ b/bin/awscli/examples/rds/describe-account-attributes.rst @@ -1,87 +1,87 @@ **To describe account attributes** -This example describes the attributes of the current AWS account: +The following ``describe-account-attributes`` example retrieves the attributes for the current AWS account. :: aws rds describe-account-attributes Output:: -{ - "AccountQuotas": [ - { - "Max": 40, - "Used": 4, - "AccountQuotaName": "DBInstances" - }, - { - "Max": 40, - "Used": 0, - "AccountQuotaName": "ReservedDBInstances" - }, - { - "Max": 100000, - "Used": 40, - "AccountQuotaName": "AllocatedStorage" - }, - { - "Max": 25, - "Used": 0, - "AccountQuotaName": "DBSecurityGroups" - }, - { - "Max": 20, - "Used": 0, - "AccountQuotaName": "AuthorizationsPerDBSecurityGroup" - }, - { - "Max": 50, - "Used": 1, - "AccountQuotaName": "DBParameterGroups" - }, - { - "Max": 100, - "Used": 3, - "AccountQuotaName": "ManualSnapshots" - }, - { - "Max": 20, - "Used": 0, - "AccountQuotaName": "EventSubscriptions" - }, - { - "Max": 50, - "Used": 1, - "AccountQuotaName": "DBSubnetGroups" - }, - { - "Max": 20, - "Used": 1, - "AccountQuotaName": "OptionGroups" - }, - { - "Max": 20, - "Used": 6, - "AccountQuotaName": "SubnetsPerDBSubnetGroup" - }, - { - "Max": 5, - "Used": 0, - "AccountQuotaName": "ReadReplicasPerMaster" - }, - { - "Max": 40, - "Used": 1, - "AccountQuotaName": "DBClusters" - }, - { - "Max": 50, - "Used": 0, - "AccountQuotaName": "DBClusterParameterGroups" - }, - { - "Max": 5, - "Used": 0, - "AccountQuotaName": "DBClusterRoles" - } - ] -} + { + "AccountQuotas": [ + { + "Max": 40, + "Used": 4, + "AccountQuotaName": "DBInstances" + }, + { + "Max": 40, + "Used": 0, + "AccountQuotaName": "ReservedDBInstances" + }, + { + "Max": 100000, + "Used": 40, + "AccountQuotaName": "AllocatedStorage" + }, + { + "Max": 25, + "Used": 0, + "AccountQuotaName": "DBSecurityGroups" + }, + { + "Max": 20, + "Used": 0, + "AccountQuotaName": "AuthorizationsPerDBSecurityGroup" + }, + { + "Max": 50, + "Used": 1, + "AccountQuotaName": "DBParameterGroups" + }, + { + "Max": 100, + "Used": 3, + "AccountQuotaName": "ManualSnapshots" + }, + { + "Max": 20, + "Used": 0, + "AccountQuotaName": "EventSubscriptions" + }, + { + "Max": 50, + "Used": 1, + "AccountQuotaName": "DBSubnetGroups" + }, + { + "Max": 20, + "Used": 1, + "AccountQuotaName": "OptionGroups" + }, + { + "Max": 20, + "Used": 6, + "AccountQuotaName": "SubnetsPerDBSubnetGroup" + }, + { + "Max": 5, + "Used": 0, + "AccountQuotaName": "ReadReplicasPerMaster" + }, + { + "Max": 40, + "Used": 1, + "AccountQuotaName": "DBClusters" + }, + { + "Max": 50, + "Used": 0, + "AccountQuotaName": "DBClusterParameterGroups" + }, + { + "Max": 5, + "Used": 0, + "AccountQuotaName": "DBClusterRoles" + } + ] + } diff --git a/bin/awscli/examples/rds/describe-certificates.rst b/bin/awscli/examples/rds/describe-certificates.rst index 27737dfc..168660e0 100644 --- a/bin/awscli/examples/rds/describe-certificates.rst +++ b/bin/awscli/examples/rds/describe-certificates.rst @@ -1,20 +1,20 @@ **To describe certificates** -This example describes the certificate associated with the us-east-1 region:: +The following ``describe-certificates`` example retrieves the details of the certificate associated with the user's default region. :: aws rds describe-certificates Output:: -{ - "Certificates": [ - { - "Thumbprint": "34478a908a83ae45dcb61676d235ece975c62c63", - "ValidFrom": "2015-02-05T21:54:04Z", - "CertificateIdentifier": "rds-ca-2015", - "ValidTill": "2020-03-05T21:54:04Z", - "CertificateType": "CA", - "CertificateArn": "arn:aws:rds:us-east-1::cert:rds-ca-2015" - } - ] -} + { + "Certificates": [ + { + "Thumbprint": "34478a908a83ae45dcb61676d235ece975c62c63", + "ValidFrom": "2015-02-05T21:54:04Z", + "CertificateIdentifier": "rds-ca-2015", + "ValidTill": "2020-03-05T21:54:04Z", + "CertificateType": "CA", + "CertificateArn": "arn:aws:rds:us-east-1::cert:rds-ca-2015" + } + ] + } diff --git a/bin/awscli/examples/rds/describe-db-instances.rst b/bin/awscli/examples/rds/describe-db-instances.rst index 798ac3e3..79b4b224 100644 --- a/bin/awscli/examples/rds/describe-db-instances.rst +++ b/bin/awscli/examples/rds/describe-db-instances.rst @@ -1,23 +1,24 @@ **To describe a DB instance** -This example describes a single DB instance (*test-instance*):: +The following ``describe-db-instances`` example retrieves details about the specified DB instance. :: - aws rds describe-db-instances --db-instance-identifier test-instance + aws rds describe-db-instances \ + --db-instance-identifier test-instance Output:: -{ - "DBInstance": { - "DBInstanceIdentifier": "test-instance", - "DBInstanceClass": "db.m1.small", - "Engine": "mysql", - "DBInstanceStatus": "available", - "MasterUsername": "myawsuser", - "Endpoint": { - "Address": "test-instance.cdgmuqiadpid.us-east-1.rds.amazonaws.com", - "Port": 3306, - "HostedZoneId": "Z2R2ITUGPM61AM" - }, -<...output omitted...> - -} + { + "DBInstance": { + "DBInstanceIdentifier": "test-instance", + "DBInstanceClass": "db.m1.small", + "Engine": "mysql", + "DBInstanceStatus": "available", + "MasterUsername": "myawsuser", + "Endpoint": { + "Address": "test-instance.cdgmuqiadpid.us-east-1.rds.amazonaws.com", + "Port": 3306, + "HostedZoneId": "Z2R2ITUGPM61AM" + }, + ...some output truncated... + } + } diff --git a/bin/awscli/examples/rds/describe-db-log-files.rst b/bin/awscli/examples/rds/describe-db-log-files.rst index 832a3642..0e69d5e9 100644 --- a/bin/awscli/examples/rds/describe-db-log-files.rst +++ b/bin/awscli/examples/rds/describe-db-log-files.rst @@ -1,43 +1,43 @@ **To describe the log files for a DB instance** -This example describes the log files for a DB instance (*test-instance*):: +The following ``describe-db-log-files`` example retrieves details about the log files for the specified DB instance. :: - aws rds describe-db-log-files --db-instance-identifier test-instance + aws rds describe-db-log-files -\ + -db-instance-identifier test-instance Output:: - - "DescribeDBLogFiles": [ - { - "Size": 0, - "LastWritten": 1533060000000, - "LogFileName": "error/mysql-error-running.log" - }, - { - "Size": 2683, - "LastWritten": 1532994300000, - "LogFileName": "error/mysql-error-running.log.0" - }, - { - "Size": 107, - "LastWritten": 1533057300000, - "LogFileName": "error/mysql-error-running.log.18" - }, - { - "Size": 13105, - "LastWritten": 1532991000000, - "LogFileName": "error/mysql-error-running.log.23" - }, - { - "Size": 0, - "LastWritten": 1533061200000, - "LogFileName": "error/mysql-error.log" - }, - { - "Size": 3519, - "LastWritten": 1532989252000, - "LogFileName": "mysqlUpgrade" - } - ] -} - + { + "DescribeDBLogFiles": [ + { + "Size": 0, + "LastWritten": 1533060000000, + "LogFileName": "error/mysql-error-running.log" + }, + { + "Size": 2683, + "LastWritten": 1532994300000, + "LogFileName": "error/mysql-error-running.log.0" + }, + { + "Size": 107, + "LastWritten": 1533057300000, + "LogFileName": "error/mysql-error-running.log.18" + }, + { + "Size": 13105, + "LastWritten": 1532991000000, + "LogFileName": "error/mysql-error-running.log.23" + }, + { + "Size": 0, + "LastWritten": 1533061200000, + "LogFileName": "error/mysql-error.log" + }, + { + "Size": 3519, + "LastWritten": 1532989252000, + "LogFileName": "mysqlUpgrade" + } + ] + } diff --git a/bin/awscli/examples/rds/describe-event-categories.rst b/bin/awscli/examples/rds/describe-event-categories.rst index c126c17f..f74dbe96 100644 --- a/bin/awscli/examples/rds/describe-event-categories.rst +++ b/bin/awscli/examples/rds/describe-event-categories.rst @@ -1,67 +1,67 @@ **To describe event categories** -This example describes the event categories for all available event sources:: +The following ``describe-event-categories`` example retrieves details about the event categories for all available event sources. :: aws rds describe-event-categories Output:: -{ - "EventCategoriesMapList": [ - { - "SourceType": "db-instance", - "EventCategories": [ - "deletion", - "read replica", - "failover", - "restoration", - "maintenance", - "low storage", - "configuration change", - "backup", - "creation", - "availability", - "recovery", - "failure", - "backtrack", - "notification" - ] - }, - { - "SourceType": "db-security-group", - "EventCategories": [ - "configuration change", - "failure" - ] - }, - { - "SourceType": "db-parameter-group", - "EventCategories": [ - "configuration change" - ] - }, - { - "SourceType": "db-snapshot", - "EventCategories": [ - "deletion", - "creation", - "restoration", - "notification" - ] - }, - { - "SourceType": "db-cluster", - "EventCategories": [ - "failover", - "failure", - "notification" - ] - }, - { - "SourceType": "db-cluster-snapshot", - "EventCategories": [ - "backup" - ] - } - ] -} + { + "EventCategoriesMapList": [ + { + "SourceType": "db-instance", + "EventCategories": [ + "deletion", + "read replica", + "failover", + "restoration", + "maintenance", + "low storage", + "configuration change", + "backup", + "creation", + "availability", + "recovery", + "failure", + "backtrack", + "notification" + ] + }, + { + "SourceType": "db-security-group", + "EventCategories": [ + "configuration change", + "failure" + ] + }, + { + "SourceType": "db-parameter-group", + "EventCategories": [ + "configuration change" + ] + }, + { + "SourceType": "db-snapshot", + "EventCategories": [ + "deletion", + "creation", + "restoration", + "notification" + ] + }, + { + "SourceType": "db-cluster", + "EventCategories": [ + "failover", + "failure", + "notification" + ] + }, + { + "SourceType": "db-cluster-snapshot", + "EventCategories": [ + "backup" + ] + } + ] + } diff --git a/bin/awscli/examples/rds/describe-event-subscriptions.rst b/bin/awscli/examples/rds/describe-event-subscriptions.rst index c5ef4ec0..911fd0f5 100644 --- a/bin/awscli/examples/rds/describe-event-subscriptions.rst +++ b/bin/awscli/examples/rds/describe-event-subscriptions.rst @@ -1,28 +1,27 @@ **To describe event subscriptions** -This example describes all of the Amazon RDS event subscriptions for the current AWS account: +This example describes all of the Amazon RDS event subscriptions for the current AWS account. :: aws rds describe-event-subscriptions Output:: - "EventSubscriptionsList": [ - { - "EventCategoriesList": [ - "backup", - "recovery" - ], - "Enabled": true, - "EventSubscriptionArn": "arn:aws:rds:us-east-1:123456789012:es:my-instance-events", - "Status": "creating", - "SourceType": "db-instance", - "CustomerAwsId": "123456789012", - "SubscriptionCreationTime": "2018-07-31 23:22:01.893", - "CustSubscriptionId": "my-instance-events", - "SnsTopicArn": "arn:aws:sns:us-east-1:123456789012:interesting-events" - } - ], - -<...output omitted...> - -} + { + "EventSubscriptionsList": [ + { + "EventCategoriesList": [ + "backup", + "recovery" + ], + "Enabled": true, + "EventSubscriptionArn": "arn:aws:rds:us-east-1:123456789012:es:my-instance-events", + "Status": "creating", + "SourceType": "db-instance", + "CustomerAwsId": "123456789012", + "SubscriptionCreationTime": "2018-07-31 23:22:01.893", + "CustSubscriptionId": "my-instance-events", + "SnsTopicArn": "arn:aws:sns:us-east-1:123456789012:interesting-events" + }, + ...some output truncated... + ] + } diff --git a/bin/awscli/examples/rds/describe-events.rst b/bin/awscli/examples/rds/describe-events.rst index 59e5fb33..f97ffbd5 100644 --- a/bin/awscli/examples/rds/describe-events.rst +++ b/bin/awscli/examples/rds/describe-events.rst @@ -1,33 +1,34 @@ **To describe events** -This example describes the events that have occurred for a DB instance (*test-instance*):: +The following ``describe-events`` example retrieves details for the events that have occurred for the specified DB instance. :: aws rds describe-events \ - --source-identifier test-instance --source-type db-instance + --source-identifier test-instance \ + --source-type db-instance Output:: -{ - "Events": [ - { - "SourceType": "db-instance", - "SourceIdentifier": "test-instance", - "EventCategories": [ - "backup" - ], - "Message": "Backing up DB instance", - "Date": "2018-07-31T23:09:23.983Z", - "SourceArn": "arn:aws:rds:us-east-1:123456789012:db:test-instance" - }, - { - "SourceType": "db-instance", - "SourceIdentifier": "test-instance", - "EventCategories": [ - "backup" - ], - "Message": "Finished DB Instance backup", - "Date": "2018-07-31T23:15:13.049Z", - "SourceArn": "arn:aws:rds:us-east-1:123456789012:db:test-instance" - } - ] -} + { + "Events": [ + { + "SourceType": "db-instance", + "SourceIdentifier": "test-instance", + "EventCategories": [ + "backup" + ], + "Message": "Backing up DB instance", + "Date": "2018-07-31T23:09:23.983Z", + "SourceArn": "arn:aws:rds:us-east-1:123456789012:db:test-instance" + }, + { + "SourceType": "db-instance", + "SourceIdentifier": "test-instance", + "EventCategories": [ + "backup" + ], + "Message": "Finished DB Instance backup", + "Date": "2018-07-31T23:15:13.049Z", + "SourceArn": "arn:aws:rds:us-east-1:123456789012:db:test-instance" + } + ] + } diff --git a/bin/awscli/examples/rds/describe-orderable-db-instance-options.rst b/bin/awscli/examples/rds/describe-orderable-db-instance-options.rst index 4cd67d51..3a670dca 100644 --- a/bin/awscli/examples/rds/describe-orderable-db-instance-options.rst +++ b/bin/awscli/examples/rds/describe-orderable-db-instance-options.rst @@ -1,44 +1,46 @@ **To describe orderable DB instance options** -This example describes the orderable options for a DB instances running the MySQL DB engine:: +The following ``describe-orderable-db-instance-options`` example retrieves details about the orderable options for a DB instances running the MySQL DB engine. :: - aws rds describe-orderable-db-instance-options --engine mysql + aws rds describe-orderable-db-instance-options \ + --engine mysql Output:: -{ - "OrderableDBInstanceOptions": [ - { - "MinStorageSize": 5, - "ReadReplicaCapable": true, - "MaxStorageSize": 6144, - "AvailabilityZones": [ - { - "Name": "us-east-1a" - }, - { - "Name": "us-east-1b" - }, - { - "Name": "us-east-1c" - }, - { - "Name": "us-east-1d" - } - ], - "SupportsIops": false, - "AvailableProcessorFeatures": [], - "MultiAZCapable": true, - "DBInstanceClass": "db.m1.large", - "Vpc": true, - "StorageType": "gp2", - "LicenseModel": "general-public-license", - "EngineVersion": "5.5.46", - "SupportsStorageEncryption": false, - "SupportsEnhancedMonitoring": true, - "Engine": "mysql", - "SupportsIAMDatabaseAuthentication": false, - "SupportsPerformanceInsights": false - }, -<...output omitted...> -} + { + "OrderableDBInstanceOptions": [ + { + "MinStorageSize": 5, + "ReadReplicaCapable": true, + "MaxStorageSize": 6144, + "AvailabilityZones": [ + { + "Name": "us-east-1a" + }, + { + "Name": "us-east-1b" + }, + { + "Name": "us-east-1c" + }, + { + "Name": "us-east-1d" + } + ], + "SupportsIops": false, + "AvailableProcessorFeatures": [], + "MultiAZCapable": true, + "DBInstanceClass": "db.m1.large", + "Vpc": true, + "StorageType": "gp2", + "LicenseModel": "general-public-license", + "EngineVersion": "5.5.46", + "SupportsStorageEncryption": false, + "SupportsEnhancedMonitoring": true, + "Engine": "mysql", + "SupportsIAMDatabaseAuthentication": false, + "SupportsPerformanceInsights": false + } + ] + ...some output truncated... + } diff --git a/bin/awscli/examples/rds/describe-reserved-db-instances-offerings.rst b/bin/awscli/examples/rds/describe-reserved-db-instances-offerings.rst index 01df2d36..66839c81 100644 --- a/bin/awscli/examples/rds/describe-reserved-db-instances-offerings.rst +++ b/bin/awscli/examples/rds/describe-reserved-db-instances-offerings.rst @@ -1,32 +1,30 @@ **To describe reserved DB instance offerings** -This example describes reserved DB instance options for *oracle*:: +The following ``describe-reserved-db-instances-offerings`` example retrieves details about reserved DB instance options for ``oracle``. :: aws rds describe-reserved-db-instances-offerings \ - --product-description oracle - + --product-description oracle Output:: -{ - "ReservedDBInstancesOfferings": [ - { - "CurrencyCode": "USD", - "UsagePrice": 0.0, - "ProductDescription": "oracle-se2(li)", - "ReservedDBInstancesOfferingId": "005bdee3-9ef4-4182-aa0c-58ef7cb6c2f8", - "MultiAZ": true, - "DBInstanceClass": "db.m4.xlarge", - "OfferingType": "Partial Upfront", - "RecurringCharges": [ - { - "RecurringChargeAmount": 0.594, - "RecurringChargeFrequency": "Hourly" - } - ], - "FixedPrice": 4089.0, - "Duration": 31536000 - }, -<...output omitted...> - -} + { + "ReservedDBInstancesOfferings": [ + { + "CurrencyCode": "USD", + "UsagePrice": 0.0, + "ProductDescription": "oracle-se2(li)", + "ReservedDBInstancesOfferingId": "005bdee3-9ef4-4182-aa0c-58ef7cb6c2f8", + "MultiAZ": true, + "DBInstanceClass": "db.m4.xlarge", + "OfferingType": "Partial Upfront", + "RecurringCharges": [ + { + "RecurringChargeAmount": 0.594, + "RecurringChargeFrequency": "Hourly" + } + ], + "FixedPrice": 4089.0, + "Duration": 31536000 + }, + ...some output truncated... + } \ No newline at end of file diff --git a/bin/awscli/examples/rds/describe-reserved-db-instances.rst b/bin/awscli/examples/rds/describe-reserved-db-instances.rst index d4d70150..6aabc4fa 100644 --- a/bin/awscli/examples/rds/describe-reserved-db-instances.rst +++ b/bin/awscli/examples/rds/describe-reserved-db-instances.rst @@ -1,6 +1,6 @@ **To describe reserved DB instances** -This example describes reserved DB instances (if any) for the current AWS account:: +The following ``describe-reserved-db-instances`` example retrieves details about any reserved DB instances in the current AWS account. :: - aws rds describe-reserved-db-instances + aws rds describe-reserved-db-instances diff --git a/bin/awscli/examples/rds/describe-source-regions.rst b/bin/awscli/examples/rds/describe-source-regions.rst index d031611e..027ffc1c 100644 --- a/bin/awscli/examples/rds/describe-source-regions.rst +++ b/bin/awscli/examples/rds/describe-source-regions.rst @@ -1,19 +1,67 @@ **To describe source regions** -This example describes all of the source regions:: +The following ``describe-source-regions`` example retrieves details about all of the source regions. :: aws rds describe-source-regions Output:: -{ - "SourceRegions": [ - { - "RegionName": "ap-northeast-1", - "Endpoint": "https://rds.ap-northeast-1.amazonaws.com", - "Status": "available" - }, - -<...output omitted...> - -} + { + "SourceRegions": [ + { + "RegionName": "ap-northeast-1", + "Endpoint": "https://rds.ap-northeast-1.amazonaws.com", + "Status": "available" + }, + { + "RegionName": "ap-northeast-2", + "Endpoint": "https://rds.ap-northeast-2.amazonaws.com", + "Status": "available" + }, + { + "RegionName": "ap-south-1", + "Endpoint": "https://rds.ap-south-1.amazonaws.com", + "Status": "available" + }, + { + "RegionName": "ap-southeast-1", + "Endpoint": "https://rds.ap-southeast-1.amazonaws.com", + "Status": "available" + }, + { + "RegionName": "ap-southeast-2", + "Endpoint": "https://rds.ap-southeast-2.amazonaws.com", + "Status": "available" + }, + { + "RegionName": "eu-central-1", + "Endpoint": "https://rds.eu-central-1.amazonaws.com", + "Status": "available" + }, + { + "RegionName": "eu-west-1", + "Endpoint": "https://rds.eu-west-1.amazonaws.com", + "Status": "available" + }, + { + "RegionName": "eu-west-2", + "Endpoint": "https://rds.eu-west-2.amazonaws.com", + "Status": "available" + }, + { + "RegionName": "sa-east-1", + "Endpoint": "https://rds.sa-east-1.amazonaws.com", + "Status": "available" + }, + { + "RegionName": "us-east-1", + "Endpoint": "https://rds.amazonaws.com", + "Status": "available" + }, + { + "RegionName": "us-west-1", + "Endpoint": "https://rds.us-west-1.amazonaws.com", + "Status": "available" + } + ] + } diff --git a/bin/awscli/examples/rds/describe-valid-db-instance-modifications.rst b/bin/awscli/examples/rds/describe-valid-db-instance-modifications.rst index a5d37ee6..aa4e7cff 100644 --- a/bin/awscli/examples/rds/describe-valid-db-instance-modifications.rst +++ b/bin/awscli/examples/rds/describe-valid-db-instance-modifications.rst @@ -1,95 +1,95 @@ **To describe valid modifications for a DB instance** -This example describes the valid modifications for a DB instance (*test-instance*):: +The following ``describe-valid-db-instance-modifications`` example retrieves details about the valid modifications for the specified DB instance. :: - aws rds describe-valid-db-instance-modifications --db-instance-identifier test-instance + aws rds describe-valid-db-instance-modifications \ + --db-instance-identifier test-instance Output:: -{ - "ValidDBInstanceModificationsMessage": { - "ValidProcessorFeatures": [], - "Storage": [ - { - "StorageSize": [ - { - "Step": 1, - "To": 20, - "From": 20 - }, - { - "Step": 1, - "To": 6144, - "From": 22 - } - ], - "ProvisionedIops": [ - { - "Step": 1, - "To": 0, - "From": 0 - } - ], - "IopsToStorageRatio": [ - { - "To": 0.0, - "From": 0.0 - } - ], - "StorageType": "gp2" - }, - { - "StorageSize": [ - { - "Step": 1, - "To": 6144, - "From": 100 - } - ], - "ProvisionedIops": [ - { - "Step": 1, - "To": 40000, - "From": 1000 - } - ], - "IopsToStorageRatio": [ - { - "To": 50.0, - "From": 1.0 - } - ], - "StorageType": "io1" - }, - { - "StorageSize": [ - { - "Step": 1, - "To": 20, - "From": 20 - }, - { - "Step": 1, - "To": 3072, - "From": 22 - } - ], - "ProvisionedIops": [ - { - "Step": 1, - "To": 0, - "From": 0 - } - ], - "IopsToStorageRatio": [ - { - "To": 0.0, - "From": 0.0 - } - ], - "StorageType": "magnetic" - } - ] + { + "ValidDBInstanceModificationsMessage": { + "ValidProcessorFeatures": [], + "Storage": [ + { + "StorageSize": [ + { + "Step": 1, + "To": 20, + "From": 20 + }, + { + "Step": 1, + "To": 6144, + "From": 22 + } + ], + "ProvisionedIops": [ + { + "Step": 1, + "To": 0, + "From": 0 + } + ], + "IopsToStorageRatio": [ + { + "To": 0.0, + "From": 0.0 + } + ], + "StorageType": "gp2" + }, + { + "StorageSize": [ + { + "Step": 1, + "To": 6144, + "From": 100 + } + ], + "ProvisionedIops": [ + { + "Step": 1, + "To": 40000, + "From": 1000 + } + ], + "IopsToStorageRatio": [ + { + "To": 50.0, + "From": 1.0 + } + ], + "StorageType": "io1" + }, + { + "StorageSize": [ + { + "Step": 1, + "To": 20, + "From": 20 + }, + { + "Step": 1, + "To": 3072, + "From": 22 + } + ], + "ProvisionedIops": [ + { + "Step": 1, + "To": 0, + "From": 0 + } + ], + "IopsToStorageRatio": [ + { + "To": 0.0, + "From": 0.0 + } + ], + "StorageType": "magnetic" + } + ] + } } -} - diff --git a/bin/awscli/examples/rds/download-db-log-file-portion.rst b/bin/awscli/examples/rds/download-db-log-file-portion.rst index 64bee947..3434b57b 100644 --- a/bin/awscli/examples/rds/download-db-log-file-portion.rst +++ b/bin/awscli/examples/rds/download-db-log-file-portion.rst @@ -1,13 +1,18 @@ **To download a DB log file** -By default, this command will only download the latest part of your log file:: +The following ``download-db-log-file-portion`` example downloads only the latest part of your log file, saving it to a local file named ``tail.txt``. :: - aws rds download-db-log-file-portion --db-instance-identifier test-instance \ - --log-file-name log.txt --output text > tail.txt + aws rds download-db-log-file-portion \ + --db-instance-identifier test-instance \ + --log-file-name log.txt \ + --output text > tail.txt -In order to download the entire file, you need `--starting-token 0` parameter:: +To download the entire file, you need to include the ``--starting-token 0`` parameter. The following example saves the output to a local file named ``full.txt``. :: - aws rds download-db-log-file-portion --db-instance-identifier test-instance \ - --log-file-name log.txt --starting-token 0 --output text > full.txt + aws rds download-db-log-file-portion \ + --db-instance-identifier test-instance \ + --log-file-name log.txt \ + --starting-token 0 \ + --output text > full.txt -The downloaded file might contain several blank lines. They appear at the end of each part of the log file while being downloaded. This will generally not cause any trouble in your log file analysis. +The saved file might contain blank lines. They appear at the end of each part of the log file while being downloaded. This generally doesn't cause any trouble in your log file analysis. diff --git a/bin/awscli/examples/rds/generate-auth-token.rst b/bin/awscli/examples/rds/generate-auth-token.rst index 5a6e4fee..b2866a45 100644 --- a/bin/awscli/examples/rds/generate-auth-token.rst +++ b/bin/awscli/examples/rds/generate-auth-token.rst @@ -1,13 +1,13 @@ **To generate an authentication token** -This example generates an authentication token for use with IAM database authentication:: +The following ``generate-db-auth-token`` example generates an authentication token for use with IAM database authentication. :: -aws rds generate-db-auth-token \ - --hostname aurmysql-test.cdgmuqiadpid.us-west-2.rds.amazonaws.com \ - --port 3306 \ - --region us-east-1 \ - --username jane_doe + aws rds generate-db-auth-token \ + --hostname aurmysql-test.cdgmuqiadpid.us-west-2.rds.amazonaws.com \ + --port 3306 \ + --region us-east-1 \ + --username jane_doe Output:: -aurmysql-test.cdgmuqiadpid.us-west-2.rds.amazonaws.com:3306/?Action=connect&DBUser=jane_doe&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIESZCNJ3O4KG2KUA%2F20180731%2Fus-east-1%2Frds-db%2Faws4_request&X-Amz-Date=20180731T235209Z&X-Amz-Expires=900&X-Amz-SignedHeaders=host&X-Amz-Signature=5a8753ebcfc29a1a2c724e566779721ae6c49d6ec6e3f427191fa41aeb32f0b4 + aurmysql-test.cdgmuqiadpid.us-west-2.rds.amazonaws.com:3306/?Action=connect&DBUser=jane_doe&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIESZCNJ3OEXAMPLE%2F20180731%2Fus-east-1%2Frds-db%2Faws4_request&X-Amz-Date=20180731T235209Z&X-Amz-Expires=900&X-Amz-SignedHeaders=host&X-Amz-Signature=5a8753ebEXAMPLEa2c724e5667797EXAMPLE9d6ec6e3f427191fa41aeEXAMPLE diff --git a/bin/awscli/examples/rds/modify-db-instance.rst b/bin/awscli/examples/rds/modify-db-instance.rst index 4b4fbc3e..07480493 100644 --- a/bin/awscli/examples/rds/modify-db-instance.rst +++ b/bin/awscli/examples/rds/modify-db-instance.rst @@ -1,24 +1,24 @@ **To modify a DB instance** -This example modifies the instance class of a running DB instance (*test-instance*):: +The following ``modify-db-instance`` example changes the instance class of the specified running DB instance. The ``--apply-immediately`` parameter causes the DB engine to be replaced immediately, instead of waiting until the next maintenance window. :: - aws rds modify-db-instance --db-instance-identifier test-instance \ - --db-instance-class db.m1.large --apply-immediately - -The *--apply-immediately* parameter causes the DB engine to be replaced immediately, instead of waiting until the next maintenance window. + aws rds modify-db-instance \ + --db-instance-identifier test-instance \ + --db-instance-class db.m1.large \ + --apply-immediately Output:: -{ - "DBInstance": { - "DBInstanceIdentifier": "test-instance", - "DBInstanceClass": "db.m1.small", - "Engine": "mysql", - "DBInstanceStatus": "modifying", - <...output omitted...> - "PendingModifiedValues": { - "DBInstanceClass": "db.m1.large" - }, - -<...output omitted...> -} + { + "DBInstance": { + "DBInstanceIdentifier": "test-instance", + "DBInstanceClass": "db.m1.small", + "Engine": "mysql", + "DBInstanceStatus": "modifying", + <...output omitted...> + "PendingModifiedValues": { + "DBInstanceClass": "db.m1.large" + } + <...some output omitted...> + } + } diff --git a/bin/awscli/examples/rds/modify-event-subscription.rst b/bin/awscli/examples/rds/modify-event-subscription.rst index fbca1a61..a27fb132 100644 --- a/bin/awscli/examples/rds/modify-event-subscription.rst +++ b/bin/awscli/examples/rds/modify-event-subscription.rst @@ -1,25 +1,26 @@ **To modify an event subscription** -This example disables an event subscription, so that it no longer publishes notifications to the specified Amazon Simple Notification Service topic:: +The following ``modify-event-subscription`` example disables the specified event subscription, so that it no longer publishes notifications to the specified Amazon Simple Notification Service topic. :: aws rds modify-event-subscription \ - --subscription-name my-instance-events --no-enabled + --subscription-name my-instance-events \ + --no-enabled Output:: -{ - "EventSubscription": { - "EventCategoriesList": [ - "backup", - "recovery" - ], - "CustomerAwsId": "123456789012", - "SourceType": "db-instance", - "SubscriptionCreationTime": "Tue Jul 31 23:22:01 UTC 2018", - "EventSubscriptionArn": "arn:aws:rds:us-east-1:123456789012:es:my-instance-events", - "SnsTopicArn": "arn:aws:sns:us-east-1:123456789012:interesting-events", - "CustSubscriptionId": "my-instance-events", - "Status": "modifying", - "Enabled": false + { + "EventSubscription": { + "EventCategoriesList": [ + "backup", + "recovery" + ], + "CustomerAwsId": "123456789012", + "SourceType": "db-instance", + "SubscriptionCreationTime": "Tue Jul 31 23:22:01 UTC 2018", + "EventSubscriptionArn": "arn:aws:rds:us-east-1:123456789012:es:my-instance-events", + "SnsTopicArn": "arn:aws:sns:us-east-1:123456789012:interesting-events", + "CustSubscriptionId": "my-instance-events", + "Status": "modifying", + "Enabled": false + } } -} diff --git a/bin/awscli/examples/rds/promote-read-replica.rst b/bin/awscli/examples/rds/promote-read-replica.rst index 3576ee07..f81e4b18 100644 --- a/bin/awscli/examples/rds/promote-read-replica.rst +++ b/bin/awscli/examples/rds/promote-read-replica.rst @@ -1,21 +1,18 @@ **To promote a read replica** -This example promotes a read replica (*test-instance-repl*) so that it becomes a standalone DB instance:: +The following ``promote-read-replica`` example promotes the specified read replica to become a standalone DB instance. :: - aws rds promote-read-replica --db-instance-identifier test-instance-repl + aws rds promote-read-replica \ + --db-instance-identifier test-instance-repl Output:: -{ - "DBInstance": { - "DBInstanceArn": "arn:aws:rds:us-east-1:123456789012:db:test-instance-repl", - "StorageType": "standard", - "ReadReplicaSourceDBInstanceIdentifier": "test-instance", - -<...output omitted...> - - "DBInstanceStatus": "modifying", - -<...output omitted...> - -} + { + "DBInstance": { + "DBInstanceArn": "arn:aws:rds:us-east-1:123456789012:db:test-instance-repl", + "StorageType": "standard", + "ReadReplicaSourceDBInstanceIdentifier": "test-instance", + "DBInstanceStatus": "modifying", + ...some output truncated... + } + } diff --git a/bin/awscli/examples/rds/purchase-reserved-db-instance.rst b/bin/awscli/examples/rds/purchase-reserved-db-instance.rst index 9846b4da..37dd044b 100644 --- a/bin/awscli/examples/rds/purchase-reserved-db-instance.rst +++ b/bin/awscli/examples/rds/purchase-reserved-db-instance.rst @@ -1,8 +1,7 @@ **To purchase a reserved DB instance offering** -This example purchases a reserved DB instance offering. The *reserved-db-instances-offering-id* must be a valid offering ID, as -returned by the describe-reserved-db-instances-offering command. +The following ``purchase-reserved-db-instances-offering`` example purchases a reserved DB instance offering. The ``reserved-db-instances-offering-id`` must be a valid offering ID, as returned by the ``describe-reserved-db-instances-offering`` command. aws rds purchase-reserved-db-instances-offering \ - --reserved-db-instances-offering-id 438012d3-4a52-4cc7-b2e3-8dff72e0e706 + --reserved-db-instances-offering-id 438012d3-4a52-4cc7-b2e3-8dff72e0e706 diff --git a/bin/awscli/examples/rds/reboot-db-instance.rst b/bin/awscli/examples/rds/reboot-db-instance.rst index 05fd027c..458d3cb8 100644 --- a/bin/awscli/examples/rds/reboot-db-instance.rst +++ b/bin/awscli/examples/rds/reboot-db-instance.rst @@ -1,24 +1,24 @@ **To reboot a DB instance** -This example reboots a DB instance:: +The following ``reboot-db-instance`` example starts a reboot of the specified DB instance. :: - aws rds reboot-db-instance --db-instance-identifier test-instance + aws rds reboot-db-instance \ + --db-instance-identifier test-instance Output:: -{ - "DBInstance": { - "DBInstanceIdentifier": "test-instance", - "DBInstanceClass": "db.m1.small", - "Engine": "mysql", - "DBInstanceStatus": "rebooting", - "MasterUsername": "myawsuser", - "Endpoint": { - "Address": "test-instance.cdgmuqiadpid.us-east-1.rds.amazonaws.com", - "Port": 3306, - "HostedZoneId": "Z2R2ITUGPM61AM" - }, - -<...output omitted...> - -} + { + "DBInstance": { + "DBInstanceIdentifier": "test-instance", + "DBInstanceClass": "db.m1.small", + "Engine": "mysql", + "DBInstanceStatus": "rebooting", + "MasterUsername": "myawsuser", + "Endpoint": { + "Address": "test-instance.cdgmuqiadpid.us-east-1.rds.amazonaws.com", + "Port": 3306, + "HostedZoneId": "Z2R2ITUGPM61AM" + }, + <...some output omitted...> + } + } diff --git a/bin/awscli/examples/rds/remove-source-identifier-from-subscription.rst b/bin/awscli/examples/rds/remove-source-identifier-from-subscription.rst index f5b2c56d..b809d695 100644 --- a/bin/awscli/examples/rds/remove-source-identifier-from-subscription.rst +++ b/bin/awscli/examples/rds/remove-source-identifier-from-subscription.rst @@ -1,30 +1,29 @@ **To remove a source identifier from a subscription** -This example removes a source identifier from an existing subscription:: +The following ``remove-source-identifier`` example removes the specified source identifier from an existing subscription. :: aws rds remove-source-identifier-from-subscription \ - --subscription-name my-instance-events \ - --source-identifier test-instance-repl - + --subscription-name my-instance-events \ + --source-identifier test-instance-repl Output:: -{ - "EventSubscription": { - "EventSubscriptionArn": "arn:aws:rds:us-east-1:123456789012:es:my-instance-events", - "SubscriptionCreationTime": "Tue Jul 31 23:22:01 UTC 2018", - "EventCategoriesList": [ - "backup", - "recovery" - ], - "SnsTopicArn": "arn:aws:sns:us-east-1:123456789012:interesting-events", - "Status": "modifying", - "CustSubscriptionId": "my-instance-events", - "CustomerAwsId": "123456789012", - "SourceIdsList": [ - "test-instance" - ], - "SourceType": "db-instance", - "Enabled": false + { + "EventSubscription": { + "EventSubscriptionArn": "arn:aws:rds:us-east-1:123456789012:es:my-instance-events", + "SubscriptionCreationTime": "Tue Jul 31 23:22:01 UTC 2018", + "EventCategoriesList": [ + "backup", + "recovery" + ], + "SnsTopicArn": "arn:aws:sns:us-east-1:123456789012:interesting-events", + "Status": "modifying", + "CustSubscriptionId": "my-instance-events", + "CustomerAwsId": "123456789012", + "SourceIdsList": [ + "test-instance" + ], + "SourceType": "db-instance", + "Enabled": false + } } -} diff --git a/bin/awscli/examples/rds/restore-db-instance-from-db-snapshot.rst b/bin/awscli/examples/rds/restore-db-instance-from-db-snapshot.rst index 6aa4ef61..ce4e30e9 100644 --- a/bin/awscli/examples/rds/restore-db-instance-from-db-snapshot.rst +++ b/bin/awscli/examples/rds/restore-db-instance-from-db-snapshot.rst @@ -1,22 +1,17 @@ **To restore a DB instance from a DB snapshot** -This example creates a new DB instance (*restored-test-instance*) from an existing DB snapshot (*test-instance-snap*):: +The following ``restore-db-instance-from-db-snapshot`` example creates a new DB instance named ``restored-test-instance`` from the specified DB snapshot. :: aws rds restore-db-instance-from-db-snapshot \ - --db-instance-identifier restored-test-instance \ - --db-snapshot-identifier test-instance-snap + --db-instance-identifier restored-test-instance \ + --db-snapshot-identifier test-instance-snap Output:: -{ - "DBInstance": { - -<...output omitted...> - - "DBInstanceArn": "arn:aws:rds:us-east-1:123456789012:db:restored-test-instance", - -<...output omitted...> - - "DBInstanceStatus": "creating", - -} + { + "DBInstance": { + "DBInstanceArn": "arn:aws:rds:us-east-1:123456789012:db:restored-test-instance", + "DBInstanceStatus": "creating", + ...some output truncated... + } + } diff --git a/bin/awscli/examples/rds/restore-db-instance-from-s3.rst b/bin/awscli/examples/rds/restore-db-instance-from-s3.rst index 3019393e..287a9024 100644 --- a/bin/awscli/examples/rds/restore-db-instance-from-s3.rst +++ b/bin/awscli/examples/rds/restore-db-instance-from-s3.rst @@ -1,10 +1,10 @@ **To restore a DB instance from a backup in Amazon S3** -This example creates a new DB instance (*restored-test-instance*) from an existing backup in the *my-backups* S3 bucket:: +The following ``restore-db-instance-from-s3`` example creates a new DB instance named ``restored-test-instance`` from an existing backup in the ``my-backups`` S3 bucket. :: aws rds restore-db-instance-from-s3 \ - --db-instance-identifier restored-test-instance \ - --allocated-storage 250 --db-instance-class db.m4.large --engine mysql \ - --master-username master --master-user-password secret99 \ - --s3-bucket-name my-backups --s3-ingestion-role-arn arn:aws:iam::123456789012:role/my-role \ - --source-engine mysql --source-engine-version 5.6.27 + --db-instance-identifier restored-test-instance \ + --allocated-storage 250 --db-instance-class db.m4.large --engine mysql \ + --master-username master --master-user-password secret99 \ + --s3-bucket-name my-backups --s3-ingestion-role-arn arn:aws:iam::123456789012:role/my-role \ + --source-engine mysql --source-engine-version 5.6.27 diff --git a/bin/awscli/examples/rds/restore-db-instance-to-point-in-time.rst b/bin/awscli/examples/rds/restore-db-instance-to-point-in-time.rst index 2c12b518..8e6ea177 100644 --- a/bin/awscli/examples/rds/restore-db-instance-to-point-in-time.rst +++ b/bin/awscli/examples/rds/restore-db-instance-to-point-in-time.rst @@ -1,26 +1,20 @@ **To restore a DB instance to a point in time** -This example restores *test-instance* to a new DB instance (*restored-test-instance*), as of a particular point in time:: +The following ``restore-db-instance-to-point-in-time`` example restores ``test-instance`` to a new DB instance named ``restored-test-instance``, as of the specified time. :: aws rds restore-db-instance-to-point-in-time \ - --source-db-instance-identifier test-instance \ - --target-db-instance restored-test-instance \ - --restore-time 2018-07-30T23:45:00.000Z - + --source-db-instance-identifier test-instance \ + --target-db-instance restored-test-instance \ + --restore-time 2018-07-30T23:45:00.000Z Output:: -{ - "DBInstance": { - "AllocatedStorage": 20, - "DBInstanceArn": "arn:aws:rds:us-east-1:123456789012:db:restored-test-instance", - -<...output omitted...> - - "DBInstanceStatus": "creating", - "DBInstanceIdentifier": "restored-test-instance", - -<...output omitted...> - -} - + { + "DBInstance": { + "AllocatedStorage": 20, + "DBInstanceArn": "arn:aws:rds:us-east-1:123456789012:db:restored-test-instance", + "DBInstanceStatus": "creating", + "DBInstanceIdentifier": "restored-test-instance", + ...some output truncated... + } + } diff --git a/bin/awscli/examples/rds/start-db-instance.rst b/bin/awscli/examples/rds/start-db-instance.rst index ce181152..8ce7d6dd 100644 --- a/bin/awscli/examples/rds/start-db-instance.rst +++ b/bin/awscli/examples/rds/start-db-instance.rst @@ -1,18 +1,15 @@ **To start a DB instance** -This example starts a DB instance:: +The following ``start-db-instance`` example starts the specified DB instance. :: - aws rds start-db-instance --db-instance-identifier test-instance + aws rds start-db-instance \ + --db-instance-identifier test-instance Output:: -{ - "DBInstance": { - -<...output omitted...> - - "DBInstanceStatus": "starting", - -<...output omitted...> - -} + { + "DBInstance": { + "DBInstanceStatus": "starting", + ...some output truncated... + } + } diff --git a/bin/awscli/examples/rds/stop-db-instance.rst b/bin/awscli/examples/rds/stop-db-instance.rst index 12625d51..779a6331 100644 --- a/bin/awscli/examples/rds/stop-db-instance.rst +++ b/bin/awscli/examples/rds/stop-db-instance.rst @@ -1,18 +1,15 @@ **To stop a DB instance** -This example stops a DB instance:: +The following ``stop-db-instance`` example stops the specified DB instance. :: - aws rds stop-db-instance --db-instance-identifier test-instance + aws rds stop-db-instance \ + --db-instance-identifier test-instance Output:: -{ - "DBInstance": { - -<...output omitted...> - - "DBInstanceStatus": "stopping", - -<...output omitted...> - -} + { + "DBInstance": { + "DBInstanceStatus": "stopping", + ...some output truncated... + } + } diff --git a/bin/awscli/examples/redshift/modify-cluster-parameter-group.rst b/bin/awscli/examples/redshift/modify-cluster-parameter-group.rst index 834ea096..5ce26afb 100644 --- a/bin/awscli/examples/redshift/modify-cluster-parameter-group.rst +++ b/bin/awscli/examples/redshift/modify-cluster-parameter-group.rst @@ -1,12 +1,21 @@ -Modify a Parameter in a Parameter Group ---------------------------------------- +**Modify a parameter in a parameter group** -This example shows how to modify the *wlm_json_configuration* parameter for workload management. +The following ``modify-cluster-parameter-group`` example modifies the *wlm_json_configuration* parameter for workload management. It accepts the parameters from a file that contains the JSON contents shown below. :: -Command:: - aws redshift modify-cluster-parameter-group --parameter-group-name myclusterparametergroup --parameters '{"ParameterName":"wlm_json_configuration","ParameterValue":"[{\"user_group\":[\"example_user_group1\"],\"query_group\":[\"example_query_group1\"],\"query_concurrency\":7},{\"query_concurrency\":5}]"}' + aws redshift modify-cluster-parameter-group \ + --parameter-group-name myclusterparametergroup \ + --parameters file://modify_pg.json -Result:: +Contents of ``modify_pg.json``:: + + [ + { + "ParameterName": "wlm_json_configuration", + "ParameterValue": "[{\"user_group\":\"example_user_group1\",\"query_group\": \"example_query_group1\", \"query_concurrency\":7},{\"query_concurrency\":5}]" + } + ] + +Output:: { "ParameterGroupStatus": "Your parameter group has been updated but changes won't get applied until you reboot the associated Clusters.", @@ -15,4 +24,3 @@ Result:: "RequestId": "09974cc0-64cd-11e2-bea9-49e0ce183f07" } } - diff --git a/bin/awscli/examples/resource-groups/create-group.rst b/bin/awscli/examples/resource-groups/create-group.rst new file mode 100644 index 00000000..282eedb0 --- /dev/null +++ b/bin/awscli/examples/resource-groups/create-group.rst @@ -0,0 +1,41 @@ +**Example 1: To create a tag-based resource group** + +The following ``create-group`` example creates a tag-based resource group of Amazon EC2 instances in the current region that are tagged with a tag key of ``Name``, and a tag key value of ``WebServers``. The group name is ``WebServer3``. :: + + aws resource-groups create-group \ + --name WebServer3 \ + --resource-query '{"Type":"TAG_FILTERS_1_0", "Query":"{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}"}' + +Output:: + + { + "Group": { + "GroupArn": "arn:aws:resource-groups:us-east-2:000000000000:group/WebServer3", + "Name": "WebServer3" + }, + "ResourceQuery": { + "Type": "TAG_FILTERS_1_0", + "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}" + } + } + +**Example 2: To create a CloudFormation stack-based resource group** + +The following ``create-group`` example creates an AWS CloudFormation stack-based resource group named ``sampleCFNstackgroup``. The query allows all resources that are in the CloudFormation stack that are supported by AWS Resource Groups. :: + + aws resource-groups create-group \ + --name sampleCFNstackgroup \ + --resource-query '{"Type": "CLOUDFORMATION_STACK_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"StackIdentifier\":\"arn:aws:cloudformation:us-east-2:123456789012:stack/testcloudformationstack/1415z9z0-z39z-11z8-97z5-500z212zz6fz\"}"}' + +Output:: + + { + "Group": { + "GroupArn": "arn:aws:resource-groups:us-east-2:123456789012:group/sampleCFNstackgroup", + "Name": "sampleCFNstackgroup" + }, + "ResourceQuery": { + "Type": "CLOUDFORMATION_STACK_1_0", + "Query":'{\"CloudFormationStackArn\":\"arn:aws:cloudformation:us-east-2:123456789012:stack/testcloudformationstack/1415z9z0-z39z-11z8-97z5-500z212zz6fz\",\"ResourceTypeFilters\":[\"AWS::AllSupported\"]}"}' + } + } diff --git a/bin/awscli/examples/resource-groups/update-group-query.rst b/bin/awscli/examples/resource-groups/update-group-query.rst new file mode 100644 index 00000000..3d8894e6 --- /dev/null +++ b/bin/awscli/examples/resource-groups/update-group-query.rst @@ -0,0 +1,41 @@ +**Example 1: To update the query for a tag-based resource group** + +The following ``update-group-query`` example updates the query for a tag-based resource group of Amazon EC2 instances. To update the group query, you can change the values specified for ``ResourceTypeFilters`` or ``TagFilters``. :: + + aws resource-groups update-group-query \ + --group-name WebServer3 \ + --resource-query '{"Type":"TAG_FILTERS_1_0", "Query":"{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}"}' + +Output:: + + { + "Group": { + "GroupArn": "arn:aws:resource-groups:us-east-2:123456789012:group/WebServer3", + "Name": "WebServer3" + }, + "ResourceQuery": { + "Type": "TAG_FILTERS_1_0", + "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}" + } + } + +**Example 2: To update the query for a CloudFormation stack-based resource group** + +The following ``update-group-query`` example updates the query for an AWS CloudFormation stack-based resource group named ``sampleCFNstackgroup``. To update the group query, you can change the values specified for ``ResourceTypeFilters`` or ``StackIdentifier``. :: + + aws resource-groups update-group-query \ + --group-name sampleCFNstackgroup \ + --resource-query '{"Type": "CLOUDFORMATION_STACK_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"StackIdentifier\":\"arn:aws:cloudformation:us-east-2:123456789012:stack/testcloudformationstack/1415z9z0-z39z-11z8-97z5-500z212zz6fz\"}"}' + +Output:: + + { + "Group": { + "GroupArn": "arn:aws:resource-groups:us-east-2:123456789012:group/sampleCFNstackgroup", + "Name": "sampleCFNstackgroup" + }, + "ResourceQuery": { + "Type": "CLOUDFORMATION_STACK_1_0", + "Query":'{\"CloudFormationStackArn\":\"arn:aws:cloudformation:us-east-2:123456789012:stack/testcloudformationstack/1415z9z0-z39z-11z8-97z5-500z212zz6fz\",\"ResourceTypeFilters\":[\"AWS::AllSupported\"]}"}' + } + } diff --git a/bin/awscli/examples/resource-groups/update-group.rst b/bin/awscli/examples/resource-groups/update-group.rst new file mode 100644 index 00000000..4bfb141e --- /dev/null +++ b/bin/awscli/examples/resource-groups/update-group.rst @@ -0,0 +1,17 @@ +**To update the description for a resource group** + +The following ``update-group`` example updates the description for a group named ``WebServer3`` in the current region. :: + + aws resource-groups update-group \ + --group-name WebServer3 \ + --description "Group of web server resources." + +Output:: + + { + "Group": { + "GroupArn": "arn:aws:resource-groups:us-east-2:123456789012:group/WebServer3", + "Name": "WebServer3" + "Description": "Group of web server resources." + } + } diff --git a/bin/awscli/examples/robomaker/batch-describe-simulation-job.rst b/bin/awscli/examples/robomaker/batch-describe-simulation-job.rst new file mode 100644 index 00000000..b2059f10 --- /dev/null +++ b/bin/awscli/examples/robomaker/batch-describe-simulation-job.rst @@ -0,0 +1,150 @@ +**To batch describe simulation jobs** + +The following ``batch-describe-simulation-job`` example retrieves details for the three specified simulation jobs. + +Command:: + + aws robomaker batch-describe-simulation-job \ + --job arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-66bbb3gpxm8x arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-p0cpdrrwng2n arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-g8h6tglmblgw + +Output:: + + { + "jobs": [ + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-66bbb3gpxm8x", + "status": "Completed", + "lastUpdatedAt": 1548959178.0, + "failureBehavior": "Continue", + "clientRequestToken": "6020408e-b05c-4310-9f13-4ed71c5221ed", + "outputLocation": { + "s3Bucket": "awsrobomakerobjecttracker-111111111-bundlesbucket-2lk584kiq1oa", + "s3Prefix": "output" + }, + "maxJobDurationInSeconds": 3600, + "simulationTimeMillis": 0, + "iamRole": "arn:aws:iam::111111111111:role/AWSRoboMakerObjectTracker-154895-SimulationJobRole-14D5ASA7PQE3A", + "simulationApplications": [ + { + "application": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/AWSRoboMakerObjectTracker-1548959046124_NPvyfcatq/1548959170096", + "applicationVersion": "$LATEST", + "launchConfig": { + "packageName": "object_tracker_simulation", + "launchFile": "local_training.launch", + "environmentVariables": { + "MARKOV_PRESET_FILE": "object_tracker.py", + "MODEL_S3_BUCKET": "awsrobomakerobjecttracker-111111111-bundlesbucket-2lk584kiq1oa", + "MODEL_S3_PREFIX": "model-store", + "ROS_AWS_REGION": "us-west-2" + } + } + } + ], + "tags": {}, + "vpcConfig": { + "subnets": [ + "subnet-716dd52a", + "subnet-43c22325", + "subnet-3f526976" + ], + "securityGroups": [ + "sg-3fb40545" + ], + "vpcId": "vpc-99895eff", + "assignPublicIp": true + } + }, + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-p0cpdrrwng2n", + "status": "Completed", + "lastUpdatedAt": 1548168817.0, + "failureBehavior": "Continue", + "clientRequestToken": "e4a23e75-f9a7-411d-835f-21881c82c58b", + "outputLocation": { + "s3Bucket": "awsrobomakercloudwatch-111111111111-bundlesbucket-14e5s9jvwtmv7", + "s3Prefix": "output" + }, + "maxJobDurationInSeconds": 3600, + "simulationTimeMillis": 0, + "iamRole": "arn:aws:iam::111111111111:role/AWSRoboMakerCloudWatch-154766341-SimulationJobRole-G0OBWTQ8YBG6", + "robotApplications": [ + { + "application": "arn:aws:robomaker:us-west-2:111111111111:robot-application/AWSRoboMakerCloudWatch-1547663411642_NZbpqEJ3T/1547663517377", + "applicationVersion": "$LATEST", + "launchConfig": { + "packageName": "cloudwatch_robot", + "launchFile": "await_commands.launch", + "environmentVariables": { + "LAUNCH_ID": "1548168752173", + "ROS_AWS_REGION": "us-west-2" + } + } + } + ], + "simulationApplications": [ + { + "application": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/AWSRoboMakerCloudWatch-1547663411642_0LIt6D1h6/1547663521470", + "applicationVersion": "$LATEST", + "launchConfig": { + "packageName": "cloudwatch_simulation", + "launchFile": "bookstore_turtlebot_navigation.launch", + "environmentVariables": { + "LAUNCH_ID": "1548168752173", + "ROS_AWS_REGION": "us-west-2", + "TURTLEBOT3_MODEL": "waffle_pi" + } + } + } + ], + "tags": {}, + "vpcConfig": { + "subnets": [ + "subnet-716dd52a", + "subnet-43c22325", + "subnet-3f526976" + ], + "securityGroups": [ + "sg-3fb40545" + ], + "vpcId": "vpc-99895eff", + "assignPublicIp": true + } + }, + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-g8h6tglmblgw", + "status": "Canceled", + "lastUpdatedAt": 1546543442.0, + "failureBehavior": "Fail", + "clientRequestToken": "d796bbb4-2a2c-1abc-f2a9-0d9e547d853f", + "outputLocation": { + "s3Bucket": "sample-bucket", + "s3Prefix": "SimulationLog_115490482698" + }, + "maxJobDurationInSeconds": 28800, + "simulationTimeMillis": 0, + "iamRole": "arn:aws:iam::111111111111:role/RoboMakerSampleTheFirst", + "robotApplications": [ + { + "application": "arn:aws:robomaker:us-west-2:111111111111:robot-application/RoboMakerHelloWorldRobot/1546541208251", + "applicationVersion": "$LATEST", + "launchConfig": { + "packageName": "hello_world_robot", + "launchFile": "rotate.launch" + } + } + ], + "simulationApplications": [ + { + "application": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/RoboMakerHelloWorldSimulation/1546541198985", + "applicationVersion": "$LATEST", + "launchConfig": { + "packageName": "hello_world_simulation", + "launchFile": "empty_world.launch" + } + } + ], + "tags": {} + } + ], + "unprocessedJobs": [] + } \ No newline at end of file diff --git a/bin/awscli/examples/robomaker/cancel-simulation-job.rst b/bin/awscli/examples/robomaker/cancel-simulation-job.rst new file mode 100644 index 00000000..0a442415 --- /dev/null +++ b/bin/awscli/examples/robomaker/cancel-simulation-job.rst @@ -0,0 +1,6 @@ +**To cancel a simulation job** + +The following ``cancel-simulation-job`` example cancels the specified simulation job. :: + + aws robomaker cancel-simulation-job \ + --job arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-66bbb3gpxm8x diff --git a/bin/awscli/examples/robomaker/create-deployment-job.rst b/bin/awscli/examples/robomaker/create-deployment-job.rst new file mode 100644 index 00000000..82291acb --- /dev/null +++ b/bin/awscli/examples/robomaker/create-deployment-job.rst @@ -0,0 +1,37 @@ +**To create a deployment job** + +This example creates a deployment job for fleet MyFleet. It includes an environment variable named "ENVIRONMENT". +It also attaches a tag named "Region". + +Command:: + + aws robomaker create-deployment-job --deployment-config concurrentDeploymentPercentage=20,failureThresholdPercentage=25 --fleet arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/Trek/1539894765711 --tags Region=West --deployment-application-configs application=arn:aws:robomaker:us-west-2:111111111111:robot-application/RoboMakerVoiceInteractionRobot/1546537110575,applicationVersion=1,launchConfig={environmentVariables={ENVIRONMENT=Beta},launchFile=await_commands.launch,packageName=voice_interaction_robot} + +Output:: + + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:deployment-job/sim-0974h36s4v0t", + "fleet": "arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyFleet/1539894765711", + "status": "Pending", + "deploymentApplicationConfigs": [ + { + "application": "arn:aws:robomaker:us-west-2:111111111111:robot-application/RoboMakerVoiceInteractionRobot/1546537110575", + "applicationVersion": "1", + "launchConfig": { + "packageName": "voice_interaction_robot", + "launchFile": "await_commands.launch", + "environmentVariables": { + "ENVIRONMENT": "Beta" + } + } + } + ], + "createdAt": 1550770236.0, + "deploymentConfig": { + "concurrentDeploymentPercentage": 20, + "failureThresholdPercentage": 25 + }, + "tags": { + "Region": "West" + } + } \ No newline at end of file diff --git a/bin/awscli/examples/robomaker/create-fleet.rst b/bin/awscli/examples/robomaker/create-fleet.rst new file mode 100644 index 00000000..9d22a835 --- /dev/null +++ b/bin/awscli/examples/robomaker/create-fleet.rst @@ -0,0 +1,18 @@ +**To create a fleet** + +This example creates a fleet. It attaches a tag named Region. + +Command:: + + aws robomaker create-fleet --name MyFleet --tags Region=East + +Output:: + + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyOtherFleet/1550771394395", + "name": "MyFleet", + "createdAt": 1550771394.0, + "tags": { + "Region": "East" + } + } \ No newline at end of file diff --git a/bin/awscli/examples/robomaker/create-robot-application-version.rst b/bin/awscli/examples/robomaker/create-robot-application-version.rst new file mode 100644 index 00000000..a3ff727f --- /dev/null +++ b/bin/awscli/examples/robomaker/create-robot-application-version.rst @@ -0,0 +1,31 @@ +**To create a robot application version** + +This example creates a robot application version. + +Command:: + + aws robomaker create-robot-application-version --application arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobotApplication/1551201873931 + +Output:: + + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobotApplication/1551201873931", + "name": "MyRobotApplication", + "version": "1", + "sources": [ + { + "s3Bucket": "my-bucket", + "s3Key": "my-robot-application.tar.gz", + "etag": "f8cf5526f1c6e7b3a72c3ed3f79c5493-70", + "architecture": "ARMHF" + } + ], + "robotSoftwareSuite": { + "name": "ROS", + "version": "Kinetic" + }, + "lastUpdatedAt": 1551201873.0, + "revisionId": "9986bb8d-a695-4ab4-8810-9f4a74d1aa00" + "tags": {} + } + diff --git a/bin/awscli/examples/robomaker/create-robot-application.rst b/bin/awscli/examples/robomaker/create-robot-application.rst new file mode 100644 index 00000000..ae992690 --- /dev/null +++ b/bin/awscli/examples/robomaker/create-robot-application.rst @@ -0,0 +1,29 @@ +**To create a robot application** + +This example creates a robot application. + +Command:: + + aws robomaker create-robot-application --name MyRobotApplication --sources s3Bucket=my-bucket,s3Key=my-robot-application.tar.gz,architecture=X86_64 --robot-software-suite name=ROS,version=Kinetic + +Output:: + + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobotApplication/1551201873931", + "name": "MyRobotApplication", + "version": "$LATEST", + "sources": [ + { + "s3Bucket": "my-bucket", + "s3Key": "my-robot-application.tar.gz", + "architecture": "ARMHF" + } + ], + "robotSoftwareSuite": { + "name": "ROS", + "version": "Kinetic" + }, + "lastUpdatedAt": 1551201873.0, + "revisionId": "1f3cb539-9239-4841-a656-d3efcffa07e1", + "tags": {} + } diff --git a/bin/awscli/examples/robomaker/create-robot.rst b/bin/awscli/examples/robomaker/create-robot.rst new file mode 100644 index 00000000..c3c730bf --- /dev/null +++ b/bin/awscli/examples/robomaker/create-robot.rst @@ -0,0 +1,20 @@ +**To create a robot** + +This example creates a robot. It uses the ARMHF architecture. It also attaches a tag named Region. + +Command:: + + aws robomaker create-robot --name MyRobot --architecture ARMHF --greengrass-group-id 0f728a3c-7dbf-4a3e-976d-d16a8360caba --tags Region=East + +Output:: + + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:robot/MyRobot/1550772324398", + "name": "MyRobot", + "createdAt": 1550772325.0, + "greengrassGroupId": "0f728a3c-7dbf-4a3e-976d-d16a8360caba", + "architecture": "ARMHF", + "tags": { + "Region": "East" + } + } \ No newline at end of file diff --git a/bin/awscli/examples/robomaker/create-simulation-application-version.rst b/bin/awscli/examples/robomaker/create-simulation-application-version.rst new file mode 100644 index 00000000..446b8692 --- /dev/null +++ b/bin/awscli/examples/robomaker/create-simulation-application-version.rst @@ -0,0 +1,39 @@ +**To create a simulation application version** + +This example creates a robot application version. + +Command:: + + aws robomaker create-simulation-application-version --application arn:aws:robomaker:us-west-2:111111111111:robot-application/MySimulationApplication/1551203427605 + +Output:: + + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/MyRobotApplication/1551203427605", + "name": "MyRobotApplication", + "version": "1", + "sources": [ + { + "s3Bucket": "my-bucket", + "s3Key": "my-simulation-application.tar.gz", + "etag": "00d8a94ff113856688c4fce618ae0f45-94", + "architecture": "X86_64" + } + ], + "simulationSoftwareSuite": { + "name": "Gazebo", + "version": "7" + }, + "robotSoftwareSuite": { + "name": "ROS", + "version": "Kinetic" + }, + "renderingEngine": { + "name": "OGRE", + "version": "1.x" + }, + "lastUpdatedAt": 1551203853.0, + "revisionId": "ee753e53-519c-4d37-895d-65e79bcd1914", + "tags": {} + } + diff --git a/bin/awscli/examples/robomaker/create-simulation-application.rst b/bin/awscli/examples/robomaker/create-simulation-application.rst new file mode 100644 index 00000000..4c528e80 --- /dev/null +++ b/bin/awscli/examples/robomaker/create-simulation-application.rst @@ -0,0 +1,38 @@ +**To create a simulation application** + +This example creates a simulation application. + +Command:: + + aws robomaker create-simulation-application --name MyRobotApplication --sources s3Bucket=my-bucket,s3Key=my-simulation-application.tar.gz,architecture=ARMHF --robot-software-suite name=ROS,version=Kinetic --simulation-software-suite name=Gazebo,version=7 --rendering-engine name=OGRE,version=1.x + +Output:: + + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/MyRobotApplication/1551203301792", + "name": "MyRobotApplication", + "version": "$LATEST", + "sources": [ + { + "s3Bucket": "my-bucket", + "s3Key": "my-simulation-application.tar.gz", + "architecture": "X86_64" + } + ], + "simulationSoftwareSuite": { + "name": "Gazebo", + "version": "7" + }, + "robotSoftwareSuite": { + "name": "ROS", + "version": "Kinetic" + }, + "renderingEngine": { + "name": "OGRE", + "version": "1.x" + }, + "lastUpdatedAt": 1551203301.0, + "revisionId": "ee753e53-519c-4d37-895d-65e79bcd1914", + "tags": {} + } + diff --git a/bin/awscli/examples/robomaker/create-simulation-job.rst b/bin/awscli/examples/robomaker/create-simulation-job.rst new file mode 100644 index 00000000..d5b4cd86 --- /dev/null +++ b/bin/awscli/examples/robomaker/create-simulation-job.rst @@ -0,0 +1,43 @@ +**To create a simulation job** + +This example creates a simulation job. It uses a robot application and a simulation application. + +Command:: + + aws robomaker create-simulation-job --max-job-duration-in-seconds 3600 --iam-role arn:aws:iam::111111111111:role/AWSRoboMakerCloudWatch-154766341-SimulationJobRole-G0OBWTQ8YBG6 --robot-applications application=arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobotApplication/1551203485821,launchConfig={packageName=hello_world_robot,launchFile=rotate.launch} --simulation-applications application=arn:aws:robomaker:us-west-2:111111111111:simulation-application/MySimulationApplication/1551203427605,launchConfig={packageName=hello_world_simulation,launchFile=empty_world.launch} --tags Region=North + +Output:: + + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-w7m68wpr05h8", + "status": "Pending", + "lastUpdatedAt": 1551213837.0, + "failureBehavior": "Fail", + "clientRequestToken": "b283ccce-e468-43ee-8642-be76a9d69f15", + "maxJobDurationInSeconds": 3600, + "simulationTimeMillis": 0, + "iamRole": "arn:aws:iam::111111111111:role/MySimulationRole", + "robotApplications": [ + { + "application": "arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobotApplication/1551203485821", + "applicationVersion": "$LATEST", + "launchConfig": { + "packageName": "hello_world_robot", + "launchFile": "rotate.launch" + } + } + ], + "simulationApplications": [ + { + "application": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/MySimulationApplication/1551203427605", + "applicationVersion": "$LATEST", + "launchConfig": { + "packageName": "hello_world_simulation", + "launchFile": "empty_world.launch" + } + } + ], + "tags": { + "Region": "North" + } + } \ No newline at end of file diff --git a/bin/awscli/examples/robomaker/delete-fleet.rst b/bin/awscli/examples/robomaker/delete-fleet.rst new file mode 100644 index 00000000..3eb7ac6e --- /dev/null +++ b/bin/awscli/examples/robomaker/delete-fleet.rst @@ -0,0 +1,7 @@ +**To delete a fleet** + +This example deletes a fleet. + +Command:: + + aws robomaker delete-fleet --fleet arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyFleet/1550771394395 diff --git a/bin/awscli/examples/robomaker/delete-robot-application.rst b/bin/awscli/examples/robomaker/delete-robot-application.rst new file mode 100644 index 00000000..e355da1a --- /dev/null +++ b/bin/awscli/examples/robomaker/delete-robot-application.rst @@ -0,0 +1,7 @@ +**To delete a robot application** + +This example deletes a robot application. + +Command:: + + aws robomaker delete-robot-application --application arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobotApplication/1551203485821 diff --git a/bin/awscli/examples/robomaker/delete-robot.rst b/bin/awscli/examples/robomaker/delete-robot.rst new file mode 100644 index 00000000..b36f85b2 --- /dev/null +++ b/bin/awscli/examples/robomaker/delete-robot.rst @@ -0,0 +1,7 @@ +**To delete a robot** + +This example deletes a robot. + +Command:: + + aws robomaker delete-robot --robot arn:aws:robomaker:us-west-2:111111111111:robot/MyRobot/1540829698778 diff --git a/bin/awscli/examples/robomaker/delete-simulation-application.rst b/bin/awscli/examples/robomaker/delete-simulation-application.rst new file mode 100644 index 00000000..efe076bf --- /dev/null +++ b/bin/awscli/examples/robomaker/delete-simulation-application.rst @@ -0,0 +1,7 @@ +**To delete a simulation application** + +This example deletes a simulation application. + +Command:: + + aws robomaker delete-simulation-application --application arn:aws:robomaker:us-west-2:111111111111:simulation-application/MySimulationApplication/1551203427605 diff --git a/bin/awscli/examples/robomaker/deregister-robot.rst b/bin/awscli/examples/robomaker/deregister-robot.rst new file mode 100644 index 00000000..bda6f5ae --- /dev/null +++ b/bin/awscli/examples/robomaker/deregister-robot.rst @@ -0,0 +1,14 @@ +**To deregister a robot from a fleet** + +This example deregisters a robot from a fleet. + +Command:: + + aws robomaker deregister-robot --fleet arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyFleet/1550771358907 --robot arn:aws:robomaker:us-west-2:111111111111:robot/MyRobot/1550772324398 + +Output:: + + { + "fleet": "arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyFleet/1550771358907", + "robot": "arn:aws:robomaker:us-west-2:111111111111:robot/MyRobot/1550772324398" + } diff --git a/bin/awscli/examples/robomaker/describe-deployment-job.rst b/bin/awscli/examples/robomaker/describe-deployment-job.rst new file mode 100644 index 00000000..c4e4e696 --- /dev/null +++ b/bin/awscli/examples/robomaker/describe-deployment-job.rst @@ -0,0 +1,38 @@ +**To describe a deployment job** + +The following ``describe-deployment-job`` example retrieves the details about the specified deployment job. :: + + aws robomaker describe-deployment-job \ + --job arn:aws:robomaker:us-west-2:111111111111:deployment-job/deployment-xl8qssl6pbcn + +Output:: + + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:deployment-job/deployment-xl8qssl6pbcn", + "fleet": "arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/Trek/1539894765711", + "status": "InProgress", + "deploymentConfig": { + "concurrentDeploymentPercentage": 20, + "failureThresholdPercentage": 25 + }, + "deploymentApplicationConfigs": [ + { + "application": "arn:aws:robomaker:us-west-2:111111111111:robot-application/RoboMakerHelloWorldRobot/1546541208251", + "applicationVersion": "1", + "launchConfig": { + "packageName": "hello_world_robot", + "launchFile": "rotate.launch" + } + } + ], + "createdAt": 1551218369.0, + "robotDeploymentSummary": [ + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:robot/MyRobot/1540834232469", + "deploymentStartTime": 1551218376.0, + "status": "Deploying", + "progressDetail": {} + } + ], + "tags": {} + } diff --git a/bin/awscli/examples/robomaker/describe-fleet.rst b/bin/awscli/examples/robomaker/describe-fleet.rst new file mode 100644 index 00000000..1698ae1e --- /dev/null +++ b/bin/awscli/examples/robomaker/describe-fleet.rst @@ -0,0 +1,28 @@ +**To describe a fleet** + +The following ``describe-fleet`` example retrieves the details for the specified fleet. :: + + aws robomaker describe-fleet \ + --fleet arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyFleet/1550771358907 + +Output:: + + { + "name": "MyFleet", + "arn": "arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyFleet/1539894765711", + "robots": [ + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:robot/MyRobot/1540834232469", + "createdAt": 1540834232.0 + }, + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:robot/MyOtherRobot/1540829698778", + "createdAt": 1540829698.0 + } + ], + "createdAt": 1539894765.0, + "lastDeploymentStatus": "Succeeded", + "lastDeploymentJob": "arn:aws:robomaker:us-west-2:111111111111:deployment-job/deployment-xl8qssl6pbcn", + "lastDeploymentTime": 1551218369.0, + "tags": {} + } diff --git a/bin/awscli/examples/robomaker/describe-robot-application.rst b/bin/awscli/examples/robomaker/describe-robot-application.rst new file mode 100644 index 00000000..137513c0 --- /dev/null +++ b/bin/awscli/examples/robomaker/describe-robot-application.rst @@ -0,0 +1,29 @@ +**To describe a robot application** + +This example describes a robot application. + +Command:: + + aws robomaker describe-robot-application --application arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobotApplication/1551203485821 + +Output:: + + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobotApplication/1551203485821", + "name": "MyRobotApplication", + "version": "$LATEST", + "sources": [ + { + "s3Bucket": "my-bucket", + "s3Key": "my-robot-application.tar.gz", + "architecture": "X86_64" + } + ], + "robotSoftwareSuite": { + "name": "ROS", + "version": "Kinetic" + }, + "revisionId": "e72efe0d-f44f-4333-b604-f6fa5c6bb50b", + "lastUpdatedAt": 1551203485.0, + "tags": {} + } \ No newline at end of file diff --git a/bin/awscli/examples/robomaker/describe-robot.rst b/bin/awscli/examples/robomaker/describe-robot.rst new file mode 100644 index 00000000..e4c5a581 --- /dev/null +++ b/bin/awscli/examples/robomaker/describe-robot.rst @@ -0,0 +1,21 @@ +**To describe a robot** + +This example describes a robot. + +Command:: + + aws robomaker describe-robot --robot arn:aws:robomaker:us-west-2:111111111111:robot/MyRobot/1550772324398 + +Output:: + + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:robot/MyRobot/1550772324398", + "name": "MyRobot", + "status": "Available", + "greengrassGroupId": "0f728a3c-7dbf-4a3e-976d-d16a8360caba", + "createdAt": 1550772325.0, + "architecture": "ARMHF", + "tags": { + "Region": "East" + } + } \ No newline at end of file diff --git a/bin/awscli/examples/robomaker/describe-simulation-application.rst b/bin/awscli/examples/robomaker/describe-simulation-application.rst new file mode 100644 index 00000000..578a7c7b --- /dev/null +++ b/bin/awscli/examples/robomaker/describe-simulation-application.rst @@ -0,0 +1,37 @@ +**To describe a simulation application** + +This example describes a simulation application. + +Command:: + + aws robomaker describe-simulation-application --application arn:aws:robomaker:us-west-2:111111111111:simulation-application/MySimulationApplication/1551203427605 + +Output:: + + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/MySimulationApplication/1551203427605", + "name": "MySimulationApplication", + "version": "$LATEST", + "sources": [ + { + "s3Bucket": "my-bucket", + "s3Key": "my-simulation-application.tar.gz", + "architecture": "X86_64" + } + ], + "simulationSoftwareSuite": { + "name": "Gazebo", + "version": "7" + }, + "robotSoftwareSuite": { + "name": "ROS", + "version": "Kinetic" + }, + "renderingEngine": { + "name": "OGRE", + "version": "1.x" + }, + "revisionId": "783674ab-b7b8-42d9-b01f-9373907987e5", + "lastUpdatedAt": 1551203427.0, + "tags": {} + } \ No newline at end of file diff --git a/bin/awscli/examples/robomaker/describe-simulation-job.rst b/bin/awscli/examples/robomaker/describe-simulation-job.rst new file mode 100644 index 00000000..cfa3a1ad --- /dev/null +++ b/bin/awscli/examples/robomaker/describe-simulation-job.rst @@ -0,0 +1,45 @@ +**To describe a simulation job** + +This example describes a simulation job. + +Command:: + + aws robomaker describe-simulation-job --job arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-pql32v7pfjy6 + +Output:: + + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-pql32v7pfjy6", + "status": "Running", + "lastUpdatedAt": 1551219349.0, + "failureBehavior": "Continue", + "clientRequestToken": "a19ec4b5-e50d-3591-33da-c2e593c60615", + "outputLocation": { + "s3Bucket": "my-output-bucket", + "s3Prefix": "output" + }, + "maxJobDurationInSeconds": 3600, + "simulationTimeMillis": 0, + "iamRole": "arn:aws:iam::111111111111:role/MySimulationRole", + "robotApplications": [ + { + "application": "arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobotApplication/1551206341136", + "applicationVersion": "$LATEST", + "launchConfig": { + "packageName": "hello_world_robot", + "launchFile": "rotate.launch" + } + } + ], + "simulationApplications": [ + { + "application": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/MySimulationApplication/1551206347967", + "applicationVersion": "$LATEST", + "launchConfig": { + "packageName": "hello_world_simulation", + "launchFile": "empty_world.launch" + } + } + ], + "tags": {} + } \ No newline at end of file diff --git a/bin/awscli/examples/robomaker/list-deployment-jobs.rst b/bin/awscli/examples/robomaker/list-deployment-jobs.rst new file mode 100644 index 00000000..e7e87681 --- /dev/null +++ b/bin/awscli/examples/robomaker/list-deployment-jobs.rst @@ -0,0 +1,57 @@ +**To list deployment jobs** + +The following ``list-deployment-jobs`` example retrieves a list of deployment jobs. :: + + aws robomaker list-deployment-jobs + +Output:: + + { + "deploymentJobs": [ + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:deployment-job/sim-6293szzm56rv", + "fleet": "arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyFleet/1539894765711", + "status": "InProgress", + "deploymentApplicationConfigs": [ + { + "application": "arn:aws:robomaker:us-west-2:111111111111:robot-application/HelloWorldRobot/1546537110575", + "applicationVersion": "1", + "launchConfig": { + "packageName": "hello_world_robot", + "launchFile": "rotate.launch", + "environmentVariables": { + "ENVIRONMENT": "Desert" + } + } + } + ], + "deploymentConfig": { + "concurrentDeploymentPercentage": 20, + "failureThresholdPercentage": 25 + }, + "createdAt": 1550689373.0 + }, + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:deployment-job/deployment-4w4g69p25zdb", + "fleet": "arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyFleet/1539894765711", + "status": "Pending", + "deploymentApplicationConfigs": [ + { + "application": "arn:aws:robomaker:us-west-2:111111111111:robot-application/AWSRoboMakerHelloWorld-1544562726923_YGHM_sh5M/1544562822877", + "applicationVersion": "1", + "launchConfig": { + "packageName": "fail", + "launchFile": "fail" + } + } + ], + "deploymentConfig": { + "concurrentDeploymentPercentage": 20, + "failureThresholdPercentage": 25 + }, + "failureReason": "", + "failureCode": "", + "createdAt": 1544719763.0 + } + ] + } \ No newline at end of file diff --git a/bin/awscli/examples/robomaker/list-fleets.rst b/bin/awscli/examples/robomaker/list-fleets.rst new file mode 100644 index 00000000..2150e399 --- /dev/null +++ b/bin/awscli/examples/robomaker/list-fleets.rst @@ -0,0 +1,22 @@ +**To list fleets** + +This example lists fleets. A maximum of 20 fleets will be returned. + +Command:: + + aws robomaker list-fleets --max-items 20 + +Output:: + + { + "fleetDetails": [ + { + "name": "Trek", + "arn": "arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyFleet/1539894765711", + "createdAt": 1539894765.0, + "lastDeploymentStatus": "Failed", + "lastDeploymentJob": "arn:aws:robomaker:us-west-2:111111111111:deployment-job/deployment-4w4g69p25zdb", + "lastDeploymentTime": 1544719763.0 + } + ] + } \ No newline at end of file diff --git a/bin/awscli/examples/robomaker/list-robot-applications.rst b/bin/awscli/examples/robomaker/list-robot-applications.rst new file mode 100644 index 00000000..419d62f9 --- /dev/null +++ b/bin/awscli/examples/robomaker/list-robot-applications.rst @@ -0,0 +1,32 @@ +**To list robot applications** + +This example lists robot applications. Results are limited to 20 robot applications. + +Command:: + + aws robomaker list-robot-applications --max-results 20 + +Output:: + + { + "robotApplicationSummaries": [ + { + "name": "MyRobot", + "arn": "arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobot/1546537110575", + "version": "$LATEST", + "lastUpdatedAt": 1546540372.0 + }, + { + "name": "AnotherRobot", + "arn": "arn:aws:robomaker:us-west-2:111111111111:robot-application/AnotherRobot/1546541208251", + "version": "$LATEST", + "lastUpdatedAt": 1546541208.0 + }, + { + "name": "MySuperRobot", + "arn": "arn:aws:robomaker:us-west-2:111111111111:robot-application/MySuperRobot/1547663517377", + "version": "$LATEST", + "lastUpdatedAt": 1547663517.0 + } + ] + } \ No newline at end of file diff --git a/bin/awscli/examples/robomaker/list-robots.rst b/bin/awscli/examples/robomaker/list-robots.rst new file mode 100644 index 00000000..e51b9509 --- /dev/null +++ b/bin/awscli/examples/robomaker/list-robots.rst @@ -0,0 +1,45 @@ +**To list robots** + +This example lists robots. A maximum of 20 robots will be returned. + +Command:: + + aws robomaker list-robots --max-results 20 + +Output:: + + { + "robots": [ + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:robot/Robot100/1544035373264", + "name": "Robot100", + "status": "Available", + "createdAt": 1544035373.0, + "architecture": "X86_64" + }, + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:robot/Robot101/1542146976587", + "name": "Robot101", + "status": "Available", + "createdAt": 1542146976.0, + "architecture": "X86_64" + }, + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:robot/Robot102/1540834232469", + "name": "Robot102", + "fleetArn": "arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/Trek/1539894765711", + "status": "Available", + "createdAt": 1540834232.0, + "architecture": "X86_64", + "lastDeploymentJob": "arn:aws:robomaker:us-west-2:111111111111:deployment-job/deployment-jb007b75gl5f", + "lastDeploymentTime": 1550689533.0 + }, + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:robot/MyRobot/1540829698778", + "name": "MyRobot", + "status": "Registered", + "createdAt": 1540829698.0, + "architecture": "X86_64" + } + ] + } \ No newline at end of file diff --git a/bin/awscli/examples/robomaker/list-simulation-applications.rst b/bin/awscli/examples/robomaker/list-simulation-applications.rst new file mode 100644 index 00000000..107c783e --- /dev/null +++ b/bin/awscli/examples/robomaker/list-simulation-applications.rst @@ -0,0 +1,50 @@ +**To list simulation applications** + +This example lists simulation applications. A maximum of 20 simulation applications will be returned. + +Command:: + + aws robomaker list-simulation-applications --max-results 20 + +Output:: + + { + "simulationApplicationSummaries": [ + { + "name": "AWSRoboMakerObjectTracker-1548959046124_NPvyfcatq", + "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/AWSRoboMakerObjectTracker-1548959046124_NPvyfcatq/1548959170096", + "version": "$LATEST", + "lastUpdatedAt": 1548959170.0 + }, + { + "name": "RoboMakerHelloWorldSimulation", + "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/RoboMakerHelloWorldSimulation/1546541198985", + "version": "$LATEST", + "lastUpdatedAt": 1546541198.0 + }, + { + "name": "RoboMakerObjectTrackerSimulation", + "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/RoboMakerObjectTrackerSimulation/1545846795615", + "version": "$LATEST", + "lastUpdatedAt": 1545847405.0 + }, + { + "name": "RoboMakerVoiceInteractionSimulation", + "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/RoboMakerVoiceInteractionSimulation/1546537100507", + "version": "$LATEST", + "lastUpdatedAt": 1546540352.0 + }, + { + "name": "AWSRoboMakerCloudWatch-1547663411642_0LIt6D1h6", + "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/AWSRoboMakerCloudWatch-1547663411642_0LIt6D1h6/1547663521470", + "version": "$LATEST", + "lastUpdatedAt": 1547663521.0 + }, + { + "name": "AWSRoboMakerDeepRacer-1545848257672_1YZCaieQ-", + "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/AWSRoboMakerDeepRacer-1545848257672_1YZCaieQ-/1545848370525", + "version": "$LATEST", + "lastUpdatedAt": 1545848370.0 + } + ] + } \ No newline at end of file diff --git a/bin/awscli/examples/robomaker/list-simulation-jobs.rst b/bin/awscli/examples/robomaker/list-simulation-jobs.rst new file mode 100644 index 00000000..b8591608 --- /dev/null +++ b/bin/awscli/examples/robomaker/list-simulation-jobs.rst @@ -0,0 +1,80 @@ +**To list simulation jobs** + +This example lists simulation jobs. + +Command:: + + aws robomaker list-simulation-jobs + +Output:: + + { + "simulationJobSummaries": [ + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-66bbb3gpxm8x", + "lastUpdatedAt": 1548959178.0, + "status": "Completed", + "simulationApplicationNames": [ + "AWSRoboMakerObjectTracker-1548959046124_NPvyfcatq" + ], + "robotApplicationNames": [ + null + ] + }, + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-b27c4rkrtzcw", + "lastUpdatedAt": 1543514088.0, + "status": "Canceled", + "simulationApplicationNames": [ + "AWSRoboMakerPersonDetection-1543513948280_T8rHW2_lu" + ], + "robotApplicationNames": [ + "AWSRoboMakerPersonDetection-1543513948280_EYaMT0mYb" + ] + }, + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-51vxjbzy4q8t", + "lastUpdatedAt": 1543508858.0, + "status": "Canceled", + "simulationApplicationNames": [ + "AWSRoboMakerCloudWatch-1543504747391_lFF9ZQyx6" + ], + "robotApplicationNames": [ + "AWSRoboMakerCloudWatch-1543504747391_axbYa3S3K" + ] + }, + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-kgf1fqxflqbx", + "lastUpdatedAt": 1543504862.0, + "status": "Completed", + "simulationApplicationNames": [ + "AWSRoboMakerCloudWatch-1543504747391_lFF9ZQyx6" + ], + "robotApplicationNames": [ + "AWSRoboMakerCloudWatch-1543504747391_axbYa3S3K" + ] + }, + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-vw8lvh061nqt", + "lastUpdatedAt": 1543441430.0, + "status": "Completed", + "simulationApplicationNames": [ + "AWSRoboMakerHelloWorld-1543437372341__yb_Jg96l" + ], + "robotApplicationNames": [ + "AWSRoboMakerHelloWorld-1543437372341_lNbmKHvs9" + ] + }, + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-txy5ypxmhz84", + "lastUpdatedAt": 1543437488.0, + "status": "Completed", + "simulationApplicationNames": [ + "AWSRoboMakerHelloWorld-1543437372341__yb_Jg96l" + ], + "robotApplicationNames": [ + "AWSRoboMakerHelloWorld-1543437372341_lNbmKHvs9" + ] + } + ] + } \ No newline at end of file diff --git a/bin/awscli/examples/robomaker/list-tags-for-resource.rst b/bin/awscli/examples/robomaker/list-tags-for-resource.rst new file mode 100644 index 00000000..cfc9c8de --- /dev/null +++ b/bin/awscli/examples/robomaker/list-tags-for-resource.rst @@ -0,0 +1,16 @@ +**To list tags for a resource** + +This example lists tags for an AWS RoboMaker resource. + +Command:: + + aws robomaker list-tags-for-resource --resource-arn "arn:aws:robomaker:us-west-2:111111111111:robot/Robby_the_Robot/1544035373264" + +Output:: + + { + "tags": { + "Region": "North", + "Stage": "Initial" + } + } \ No newline at end of file diff --git a/bin/awscli/examples/robomaker/register-robot.rst b/bin/awscli/examples/robomaker/register-robot.rst new file mode 100644 index 00000000..18494d48 --- /dev/null +++ b/bin/awscli/examples/robomaker/register-robot.rst @@ -0,0 +1,14 @@ +**To register a robot** + +This example registers a robot to a fleet. + +Command:: + + aws robomaker register-robot --fleet arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyFleet/1550771358907 --robot arn:aws:robomaker:us-west-2:111111111111:robot/MyRobot/1550772324398 + +Output:: + + { + "fleet": "arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyFleet/1550771358907", + "robot": "arn:aws:robomaker:us-west-2:111111111111:robot/MyRobot/1550772324398" + } \ No newline at end of file diff --git a/bin/awscli/examples/robomaker/restart-simulation-job.rst b/bin/awscli/examples/robomaker/restart-simulation-job.rst new file mode 100644 index 00000000..409ce935 --- /dev/null +++ b/bin/awscli/examples/robomaker/restart-simulation-job.rst @@ -0,0 +1,7 @@ +**To restart a simulation** + +This example restarts a simulation. + +Command:: + + aws robomaker restart-simulation-job --job arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-t6rdgt70mftr diff --git a/bin/awscli/examples/robomaker/sync-deployment-job.rst b/bin/awscli/examples/robomaker/sync-deployment-job.rst new file mode 100644 index 00000000..4ae4d593 --- /dev/null +++ b/bin/awscli/examples/robomaker/sync-deployment-job.rst @@ -0,0 +1,30 @@ +**To sync a deployment job** + +This example synchronizes a deployment job. + +Command:: + + aws robomaker sync-deployment-job --fleet arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/Trek/1539894765711 + +Output:: + + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:deployment-job/deployment-09ccxs3tlfms", + "fleet": "arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyFleet/1539894765711", + "status": "Pending", + "deploymentConfig": { + "concurrentDeploymentPercentage": 20, + "failureThresholdPercentage": 25 + }, + "deploymentApplicationConfigs": [ + { + "application": "arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobotApplication/1546541208251", + "applicationVersion": "1", + "launchConfig": { + "packageName": "hello_world_simulation", + "launchFile": "empty_world.launch" + } + } + ], + "createdAt": 1551286954.0 + } \ No newline at end of file diff --git a/bin/awscli/examples/robomaker/tag-resource.rst b/bin/awscli/examples/robomaker/tag-resource.rst new file mode 100644 index 00000000..2a89b558 --- /dev/null +++ b/bin/awscli/examples/robomaker/tag-resource.rst @@ -0,0 +1,7 @@ +**To tag a resource** + +This example tags a resource. It attaches two tags: Region and Stage. + +Command:: + + aws robomaker tag-resource --resource-arn "arn:aws:robomaker:us-west-2:111111111111:robot/MyRobot/1544035373264" --tags Region=North,Stage=Initial diff --git a/bin/awscli/examples/robomaker/untag-resource.rst b/bin/awscli/examples/robomaker/untag-resource.rst new file mode 100644 index 00000000..1a139cc1 --- /dev/null +++ b/bin/awscli/examples/robomaker/untag-resource.rst @@ -0,0 +1,7 @@ +**To untag a resource** + +This example removes a tag from a resource. It removes the Region tag. + +Command:: + + aws robomaker untag-resource --resource-arn "arn:aws:robomaker:us-west-2:111111111111:robot/MyRobot/1544035373264" --tag-keys Region diff --git a/bin/awscli/examples/robomaker/update-robot-application.rst b/bin/awscli/examples/robomaker/update-robot-application.rst new file mode 100644 index 00000000..d6057c8e --- /dev/null +++ b/bin/awscli/examples/robomaker/update-robot-application.rst @@ -0,0 +1,28 @@ +**To update a robot application** + +This example updates a robot application. + +Command:: + + aws robomaker update-robot-application --application arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobotApplication/1551203485821 --sources s3Bucket=my-bucket,s3Key=my-robot-application.tar.gz,architecture=X86_64 --robot-software-suite name=ROS,version=Kinetic + +Output:: + + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobotApplication/1551203485821", + "name": "MyRobotApplication", + "version": "$LATEST", + "sources": [ + { + "s3Bucket": "my-bucket", + "s3Key": "my-robot-application.tar.gz", + "architecture": "X86_64" + } + ], + "robotSoftwareSuite": { + "name": "ROS", + "version": "Kinetic" + }, + "lastUpdatedAt": 1551287993.0, + "revisionId": "20b5e331-24fd-4504-8b8c-531afe5f4c94" + } \ No newline at end of file diff --git a/bin/awscli/examples/robomaker/update-simulation-application.rst b/bin/awscli/examples/robomaker/update-simulation-application.rst new file mode 100644 index 00000000..54388e3f --- /dev/null +++ b/bin/awscli/examples/robomaker/update-simulation-application.rst @@ -0,0 +1,36 @@ +**To update a simulation application** + +This example updates a simulation application. + +Command:: + + aws robomaker update-simulation-application --application arn:aws:robomaker:us-west-2:111111111111:simulation-application/MySimulationApplication/1551203427605 --sources s3Bucket=my-bucket,s3Key=my-simulation-application.tar.gz,architecture=X86_64 --robot-software-suite name=ROS,version=Kinetic --simulation-software-suite name=Gazebo,version=7 --rendering-engine name=OGRE,version=1.x + +Output:: + + { + "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/MySimulationApplication/1551203427605", + "name": "MySimulationApplication", + "version": "$LATEST", + "sources": [ + { + "s3Bucket": "my-bucket", + "s3Key": "my-simulation-application.tar.gz", + "architecture": "X86_64" + } + ], + "simulationSoftwareSuite": { + "name": "Gazebo", + "version": "7" + }, + "robotSoftwareSuite": { + "name": "ROS", + "version": "Kinetic" + }, + "renderingEngine": { + "name": "OGRE", + "version": "1.x" + }, + "lastUpdatedAt": 1551289361.0, + "revisionId": "4a22cb5d-93c5-4cef-9311-52bdd119b79e" + } \ No newline at end of file diff --git a/bin/awscli/examples/s3/cp.rst b/bin/awscli/examples/s3/cp.rst index 6676ab68..604c8d84 100644 --- a/bin/awscli/examples/s3/cp.rst +++ b/bin/awscli/examples/s3/cp.rst @@ -92,12 +92,12 @@ Output:: You can combine ``--exclude`` and ``--include`` options to copy only objects that match a pattern, excluding all others:: - aws s3 cp s3://mybucket/logs/ s3://mybucket2/logs/ --recursive --exclude "*" --include "*.log" + aws s3 cp s3://mybucket/logs/ s3://mybucket2/logs/ --recursive --exclude "*" --include "*.log" Output:: - copy: s3://mybucket/test/test.log to s3://mybucket2/test/test.log - copy: s3://mybucket/test3.log to s3://mybucket2/test3.log + copy: s3://mybucket/logs/test/test.log to s3://mybucket2/logs/test/test.log + copy: s3://mybucket/logs/test3.log to s3://mybucket2/logs/test3.log **Setting the Access Control List (ACL) while copying an S3 object** diff --git a/bin/awscli/examples/s3/presign.rst b/bin/awscli/examples/s3/presign.rst new file mode 100644 index 00000000..043f0f19 --- /dev/null +++ b/bin/awscli/examples/s3/presign.rst @@ -0,0 +1,23 @@ +**To create a pre-signed URL with the default one hour lifetime that links to an object in an S3 bucket** + +The following ``presign`` command generates a pre-signed URL for a specified bucket and key that is valid for one hour:: + + aws s3 presign s3://awsexamplebucket/test2.txt + +Output:: + + https://awsexamplebucket.s3.amazonaws.com/test2.txt?AWSAccessKeyId=AKIAEXAMPLEACCESSKEY&Signature=EXHCcBe%EXAMPLEKnz3r8O0AgEXAMPLE&Expires=1555531131 + +**To create a pre-signed URL with a custom lifetime that links to an object in an S3 bucket** + +The following ``presign`` command generates a pre-signed URL for a specified bucket and key that is valid for one week:: + + aws s3 presign s3://awsexamplebucket/test2.txt --expires-in 604800 + +Output:: + + https://examplebucket.s3.amazonaws.com/test2.txt?AWSAccessKeyId=AKIAEXAMPLEACCESSKEY&Signature=EXHCcBe%EXAMPLEKnz3r8O0AgEXAMPLE&Expires=1556132848 + +For more information, see `Share an Object with Others`_ in the *S3 Developer Guide* guide. + +.. _`Share an Object with Others`: https://docs.aws.amazon.com/AmazonS3/latest/dev/ShareObjectPreSignedURL.html \ No newline at end of file diff --git a/bin/awscli/examples/s3api/put-bucket-replication.rst b/bin/awscli/examples/s3api/put-bucket-replication.rst index e32730bf..731320b3 100644 --- a/bin/awscli/examples/s3api/put-bucket-replication.rst +++ b/bin/awscli/examples/s3api/put-bucket-replication.rst @@ -1,49 +1,54 @@ -The following command applies a replication configuration to a bucket named ``my-bucket``:: - - aws s3api put-bucket-replication --bucket my-bucket --replication-configuration file://replication.json - -The file ``replication.json`` is a JSON document in the current folder that specifies a replication rule:: - - { - "Role": "arn:aws:iam::123456789012:role/s3-replication-role", - "Rules": [ - { - "Prefix": "", - "Status": "Enabled", - "Destination": { - "Bucket": "arn:aws:s3:::my-bucket-backup", - "StorageClass": "STANDARD" - } - } - ] - } - -The destination bucket must be in a different region and have versioning enabled. The service role must have permission to write to the destination bucket and have a trust relationship that allows Amazon S3 to assume it. - -Example service role permissions:: - - { - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Action": "s3:*", - "Resource": "*" - } - ] - } - -Trust relationship:: - - { - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Principal": { - "Service": "s3.amazonaws.com" - }, - "Action": "sts:AssumeRole" - } - ] - } +**To configure replication for an S3 bucket** + +The following ``put-bucket-replication`` example applies a replication configuration to the specified S3 bucket. :: + + aws s3api put-bucket-replication \ + --bucket my-bucket \ + --replication-configuration file://replication.json + +Contents of ``replication.json``:: + + { + "Role": "arn:aws:iam::123456789012:role/s3-replication-role", + "Rules": [ + { + "Status": "Enabled", + "Priority": 1, + "DeleteMarkerReplication": { "Status": "Disabled" }, + "Filter" : { "Prefix": ""}, + "Destination": { + "Bucket": "arn:aws:s3:::my-bucket-backup" + } + } + ] + } + +The destination bucket must be in a different region and have versioning enabled. The specified role must have permission to write to the destination bucket and have a trust relationship that allows Amazon S3 to assume the role. + +Example role permission policy:: + + { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": "s3:*", + "Resource": "*" + } + ] + } + +Example trust relationship policy:: + + { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": { + "Service": "s3.amazonaws.com" + }, + "Action": "sts:AssumeRole" + } + ] + } diff --git a/bin/awscli/examples/serverlessrepo/put-application-policy.rst b/bin/awscli/examples/serverlessrepo/put-application-policy.rst new file mode 100644 index 00000000..c21efe92 --- /dev/null +++ b/bin/awscli/examples/serverlessrepo/put-application-policy.rst @@ -0,0 +1,50 @@ +**Example 1: To share an application publicly** + +The following ``put-application-policy`` shares an application publicly, so anyone can find and deploy your application in the AWS Serverless Application Repository. :: + + aws serverlessrepo put-application-policy \ + --application-id arn:aws:serverlessrepo:us-east-1:123456789012:applications/my-test-application \ + --statements Principals='*',Actions=Deploy + +Output:: + + { + "Statements": [ + { + "Actions": [ + "Deploy" + ], + "Principals": [ + "" + ], + "StatementId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" + } + ] + } + +**Example 2:** To share an application privately + +The following ``put-application-policy`` shares an application privately, so only specific AWS accounts can find and deploy your application in the AWS Serverless Application Repository. :: + + aws serverlessrepo put-application-policy \ + --application-id arn:aws:serverlessrepo:us-east-1:123456789012:applications/my-test-application \ + --statements Principals=111111111111,222222222222,Actions=Deploy + +Output:: + + { + "Statements": [ + { + "Actions": [ + "Deploy" + ], + "Principals": [ + "111111111111", + "222222222222" + ], + "StatementId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" + } + ] + } + +For more information, see `Sharing an Application Through the Console `_ in the *AWS Serverless Application Repository Developer Guide* diff --git a/bin/awscli/examples/ssm/add-tags-to-resource.rst b/bin/awscli/examples/ssm/add-tags-to-resource.rst index 5a0cd8ef..88bf9e6a 100755 --- a/bin/awscli/examples/ssm/add-tags-to-resource.rst +++ b/bin/awscli/examples/ssm/add-tags-to-resource.rst @@ -1,7 +1,27 @@ -**To add tags to a resource** +**Example 1: To add tags to a maintenance window** -This example updates a maintenance window with new tags. There is no output if the command succeeds. +The following ``add-tags-to-resource`` example adds a tag to a maintenance window. Command:: - aws ssm add-tags-to-resource --resource-type "MaintenanceWindow" --resource-id "mw-03eb9db42890fb82d" --tags "Key=Stack,Value=Production" + aws ssm add-tags-to-resource \ + --resource-type "MaintenanceWindow" \ + --resource-id "mw-03eb9db42890fb82d" \ + --tags "Key=Stack,Value=Production" + +This command produces no output. + +**Example 2: To add tags to a parameter** + +The following ``add-tags-to-resource`` example adds two tags to a parameter. + +Command:: + + aws ssm add-tags-to-resource \ + --resource-type "Parameter" \ + --resource-id "My-Parameter" \ + --tags '[{"Key":"Region","Value":"East"},{"Key":"Environment", "Value":"Production"}]' + +This command produces no output. + +For more information, see `Tagging Systems Manager Parameters `__ in the *AWS Systems Manager User Guide*. diff --git a/bin/awscli/examples/ssm/cancel-maintenance-window-execution.rst b/bin/awscli/examples/ssm/cancel-maintenance-window-execution.rst new file mode 100644 index 00000000..7c1df29c --- /dev/null +++ b/bin/awscli/examples/ssm/cancel-maintenance-window-execution.rst @@ -0,0 +1,13 @@ +**To cancel a Maintenance Window execution** + +This example stops a Maintenance Window execution that is already in progress. + +Command:: + + aws ssm cancel-maintenance-window-execution --window-execution-id j2l8d5b5c-mw66-tk4d-r3g9-1d4d1EXAMPLE + +Output:: + + { + "WindowExecutionId": "j2l8d5b5c-mw66-tk4d-r3g9-1d4d1EXAMPLE" + } \ No newline at end of file diff --git a/bin/awscli/examples/ssm/create-association-batch.rst b/bin/awscli/examples/ssm/create-association-batch.rst index 004994f4..792a377f 100644 --- a/bin/awscli/examples/ssm/create-association-batch.rst +++ b/bin/awscli/examples/ssm/create-association-batch.rst @@ -4,59 +4,61 @@ This example associates a configuration document with multiple instances. The ou Command:: - aws ssm create-association-batch --entries "Name=AWS-UpdateSSMAgent,InstanceId=i-0cb2b964d3e14fd9f" "Name=AWS-UpdateSSMAgent,InstanceId=i-0000293ffd8c57862" + aws ssm create-association-batch --entries "Name=AWS-UpdateSSMAgent,InstanceId=i-1234567890abcdef0" "Name=AWS-UpdateSSMAgent,InstanceId=i-9876543210abcdef0" Output:: { "Successful": [ { + "Name": "AWS-UpdateSSMAgent", + "InstanceId": "i-1234567890abcdef0", + "AssociationVersion": "1", + "Date": 1550504725.007, + "LastUpdateAssociationDate": 1550504725.007, "Status": { - "Date": 1487876122.564, - "Message": "Associated with AWS-UpdateSSMAgent", - "Name": "Associated" + "Date": 1550504725.007, + "Name": "Associated", + "Message": "Associated with AWS-UpdateSSMAgent" }, - "Name": "AWS-UpdateSSMAgent", - "InstanceId": "i-0000293ffd8c57862", "Overview": { "Status": "Pending", "DetailedStatus": "Creating" }, - "AssociationId": "d8617c07-2079-4c18-9847-1655fc2698b0", "DocumentVersion": "$DEFAULT", - "LastUpdateAssociationDate": 1487876122.564, - "Date": 1487876122.564, + "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab", "Targets": [ { + "Key": "InstanceIds", "Values": [ - "i-0000293ffd8c57862" - ], - "Key": "InstanceIds" + "i-1234567890abcdef0" + ] } ] }, { + "Name": "AWS-UpdateSSMAgent", + "InstanceId": "i-9876543210abcdef0", + "AssociationVersion": "1", + "Date": 1550504725.057, + "LastUpdateAssociationDate": 1550504725.057, "Status": { - "Date": 1487876122.595, - "Message": "Associated with AWS-UpdateSSMAgent", - "Name": "Associated" + "Date": 1550504725.057, + "Name": "Associated", + "Message": "Associated with AWS-UpdateSSMAgent" }, - "Name": "AWS-UpdateSSMAgent", - "InstanceId": "i-0cb2b964d3e14fd9f", "Overview": { "Status": "Pending", "DetailedStatus": "Creating" }, - "AssociationId": "2ccfbc46-5fe4-4e5c-ba46-70b56cc93f53", "DocumentVersion": "$DEFAULT", - "LastUpdateAssociationDate": 1487876122.595, - "Date": 1487876122.595, + "AssociationId": "9c9f7f20-5154-4fed-a83e-0123456789ab", "Targets": [ { + "Key": "InstanceIds", "Values": [ - "i-0cb2b964d3e14fd9f" - ], - "Key": "InstanceIds" + "i-9876543210abcdef0" + ] } ] } diff --git a/bin/awscli/examples/ssm/create-document.rst b/bin/awscli/examples/ssm/create-document.rst index b8b840d5..eaf52f19 100644 --- a/bin/awscli/examples/ssm/create-document.rst +++ b/bin/awscli/examples/ssm/create-document.rst @@ -1,8 +1,8 @@ **To create a document** -This example creates a document in your account. The document must be in JSON format. Note that ``file://`` must be referenced followed by the path of the content file. For more information about writing a configuration document, see `Configuration Document`_ in the *SSM API Reference*. +This example creates a document in your account using the JSON format. Note that ``file://`` must be referenced followed by the path of the content file. For more information about writing a Systems Manager document, see `Creating Systems Manager Documents`_ in the *AWS Systems Manager User Guide*. -.. _`Configuration Document`: http://docs.aws.amazon.com/ssm/latest/APIReference/aws-ssm-document.html +.. _`Creating Systems Manager Documents`: https://docs.aws.amazon.com/systems-manager/latest/userguide/create-ssm-doc.html Command:: @@ -36,3 +36,11 @@ Output:: "Description": "Run a script" } } + +**To create a document using the YAML document format** + +This example creates a document in your account using the YAML format which targets the EC2 instance type. Note that ``file://`` must be referenced followed by the path of the content file. + +Command:: + + aws ssm create-document --content file://RunShellScript.yaml --name "RunShellScript" --document-type "Command" --document-format YAML --target-type "/AWS::EC2::Instance" \ No newline at end of file diff --git a/bin/awscli/examples/ssm/create-maintenance-window.rst b/bin/awscli/examples/ssm/create-maintenance-window.rst index efd0d866..0154ca13 100755 --- a/bin/awscli/examples/ssm/create-maintenance-window.rst +++ b/bin/awscli/examples/ssm/create-maintenance-window.rst @@ -1,13 +1,18 @@ -**To create a maintenance window** +**To create a maintenance window that runs only once** -This example creates a new maintenance window with the specified name that runs at 4 PM on every Tuesday for 4 hours, with a 1 hour cutoff, and that allows unassociated targets. +The following ``create-maintenance-window`` creates a new maintenance window that only runs one time at the specified date and time. :: -Command:: - - aws ssm create-maintenance-window --name "My-First-Maintenance-Window" --schedule "cron(0 16 ? * TUE *)" --duration 4 --cutoff 1 --allow-unassociated-targets + aws ssm create-maintenance-window \ + --name test \ + --schedule "at(2019-05-14T15:55:00)" \ + --duration 5 \ + --cutoff 2 \ + --allow-unassociated-targets Output:: - { - "WindowId": "mw-ab12cd34ef56gh78" - } + { + "WindowId": "mw-01234567890abcdef" + } + +For more information, see `Maintenance Windows `_ in the *AWS Systems Manager User Guide*. diff --git a/bin/awscli/examples/ssm/create-resource-data-sync.rst b/bin/awscli/examples/ssm/create-resource-data-sync.rst new file mode 100644 index 00000000..686bd9c3 --- /dev/null +++ b/bin/awscli/examples/ssm/create-resource-data-sync.rst @@ -0,0 +1,7 @@ +**To create a resource data sync** + +This example creates a resource data sync. There is no output if the command succeeds. + +Command:: + + aws ssm create-resource-data-sync --sync-name "ssm-resource-data-sync" --s3-destination "BucketName=ssm-bucket,Prefix=inventory,SyncFormat=JsonSerDe,Region=us-east-1" diff --git a/bin/awscli/examples/ssm/delete-association.rst b/bin/awscli/examples/ssm/delete-association.rst index 8b3181d9..04796653 100644 --- a/bin/awscli/examples/ssm/delete-association.rst +++ b/bin/awscli/examples/ssm/delete-association.rst @@ -4,4 +4,12 @@ This example deletes the association between an instance and a document. There i Command:: - aws ssm delete-association --instance-id "i-0cb2b964d3e14fd9f" --name "AWS-UpdateSSMAgent" + aws ssm delete-association --instance-id "i-1234567890abcdef0" --name "AWS-UpdateSSMAgent" + +**To delete an association using the association ID** + +This example deletes the association for the specified association ID. There is no output if the command succeeds. + +Command:: + + aws ssm delete-association --association-id "8dfe3659-4309-493a-8755-0123456789ab" diff --git a/bin/awscli/examples/ssm/delete-inventory.rst b/bin/awscli/examples/ssm/delete-inventory.rst new file mode 100644 index 00000000..6d81e8e4 --- /dev/null +++ b/bin/awscli/examples/ssm/delete-inventory.rst @@ -0,0 +1,45 @@ +**To delete a custom inventory type** + +This example deletes a custom inventory schema. + +Command:: + + aws ssm delete-inventory --type-name "Custom:RackInfo" --schema-delete-option "DeleteSchema" + +Output:: + + { + "DeletionId": "d72ac9e8-1f60-4d40-b1c6-bf8c78c68c4d", + "TypeName": "Custom:RackInfo", + "DeletionSummary": { + "TotalCount": 1, + "RemainingCount": 1, + "SummaryItems": [ + { + "Version": "1.0", + "Count": 1, + "RemainingCount": 1 + } + ] + } + } + +**To disable a custom inventory type** + +This example disables a custom inventory schema. + +Command:: + + aws ssm delete-inventory --type-name "Custom:RackInfo" --schema-delete-option "DisableSchema" + +Output:: + + { + "DeletionId": "6961492a-8163-44ec-aa1e-923364dd0850", + "TypeName": "Custom:RackInformation", + "DeletionSummary": { + "TotalCount": 0, + "RemainingCount": 0, + "SummaryItems": [] + } + } diff --git a/bin/awscli/examples/ssm/delete-maintenance-window.rst b/bin/awscli/examples/ssm/delete-maintenance-window.rst index 872ca84b..620066e5 100755 --- a/bin/awscli/examples/ssm/delete-maintenance-window.rst +++ b/bin/awscli/examples/ssm/delete-maintenance-window.rst @@ -1,6 +1,6 @@ -**To delete a maintenance window** +**To delete a Maintenance Window** -This example removes a maintenance window. +This example removes a Maintenance Window. Command:: diff --git a/bin/awscli/examples/ssm/delete-parameters.rst b/bin/awscli/examples/ssm/delete-parameters.rst new file mode 100644 index 00000000..42878dcd --- /dev/null +++ b/bin/awscli/examples/ssm/delete-parameters.rst @@ -0,0 +1,17 @@ +**To delete a list of parameters** + +This example deletes a list of parameters. + +Command:: + + aws ssm delete-parameters --names "HelloWorld" "GoodbyeWorld" + +Output:: + + { + "DeletedParameters": [ + "HelloWorld", + "GoodbyeWorld" + ], + "InvalidParameters": [] + } \ No newline at end of file diff --git a/bin/awscli/examples/ssm/delete-resource-data-sync.rst b/bin/awscli/examples/ssm/delete-resource-data-sync.rst new file mode 100644 index 00000000..3512615e --- /dev/null +++ b/bin/awscli/examples/ssm/delete-resource-data-sync.rst @@ -0,0 +1,7 @@ +**To delete a resource data sync** + +This example deletes a resource data sync. There is no output if the command succeeds. + +Command:: + + aws ssm delete-resource-data-sync --sync-name "ssm-resource-data-sync" diff --git a/bin/awscli/examples/ssm/deregister-target-from-maintenance-window.rst b/bin/awscli/examples/ssm/deregister-target-from-maintenance-window.rst index 0541971d..43c3f5e8 100755 --- a/bin/awscli/examples/ssm/deregister-target-from-maintenance-window.rst +++ b/bin/awscli/examples/ssm/deregister-target-from-maintenance-window.rst @@ -1,6 +1,6 @@ -**To remove a target from a maintenance window** +**To remove a target from a Maintenance Window** -This example removes a target from a maintenance window. +This example removes a target from a Maintenance Window. Command:: diff --git a/bin/awscli/examples/ssm/deregister-task-from-maintenance-window.rst b/bin/awscli/examples/ssm/deregister-task-from-maintenance-window.rst index 53711182..91255a76 100755 --- a/bin/awscli/examples/ssm/deregister-task-from-maintenance-window.rst +++ b/bin/awscli/examples/ssm/deregister-task-from-maintenance-window.rst @@ -1,6 +1,6 @@ -**To remove a task from a maintenance window** +**To remove a task from a Maintenance Window** -This example removes a task from a maintenance window. +This example removes a task from a Maintenance Window. Command:: diff --git a/bin/awscli/examples/ssm/describe-activations.rst b/bin/awscli/examples/ssm/describe-activations.rst index 093dde82..380ad03f 100755 --- a/bin/awscli/examples/ssm/describe-activations.rst +++ b/bin/awscli/examples/ssm/describe-activations.rst @@ -11,14 +11,15 @@ Output:: { "ActivationList": [ { - "IamRole": "AutomationRole", - "RegistrationLimit": 10, "ActivationId": "bcf6faa8-83fd-419e-9534-96ad14131eb7", - "ExpirationDate": 1487887903.045, - "CreatedDate": 1487801503.045, + "Description": "test", "DefaultInstanceName": "MyWebServers", - "Expired": false, + "IamRole": "AutomationRole", + "RegistrationLimit": 10, "RegistrationsCount": 0 + "ExpirationDate": 1550176478.734, + "Expired": false, + "CreatedDate": 1550090078.734 } ] } diff --git a/bin/awscli/examples/ssm/describe-association-execution-targets.rst b/bin/awscli/examples/ssm/describe-association-execution-targets.rst new file mode 100644 index 00000000..a8244081 --- /dev/null +++ b/bin/awscli/examples/ssm/describe-association-execution-targets.rst @@ -0,0 +1,28 @@ +**To get details of an association execution** + +This example describes the specified association execution. + +Command:: + + aws ssm describe-association-execution-targets --association-id "8dfe3659-4309-493a-8755-0123456789ab" --execution-id "7abb6378-a4a5-4f10-8312-0123456789ab" + +Output:: + + { + "AssociationExecutionTargets": [ + { + "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab", + "AssociationVersion": "1", + "ExecutionId": "7abb6378-a4a5-4f10-8312-0123456789ab", + "ResourceId": "i-1234567890abcdef0", + "ResourceType": "ManagedInstance", + "Status": "Success", + "DetailedStatus": "Success", + "LastExecutionDate": 1550505538.497, + "OutputSource": { + "OutputSourceId": "97fff367-fc5a-4299-aed8-0123456789ab", + "OutputSourceType": "RunCommand" + } + } + ] + } diff --git a/bin/awscli/examples/ssm/describe-association-executions.rst b/bin/awscli/examples/ssm/describe-association-executions.rst new file mode 100644 index 00000000..7acb7939 --- /dev/null +++ b/bin/awscli/examples/ssm/describe-association-executions.rst @@ -0,0 +1,57 @@ +**To get details of all executions for an association** + +This example describes all executions of the specified association. + +Command:: + + aws ssm describe-association-executions --association-id "8dfe3659-4309-493a-8755-0123456789ab" + +Output:: + + { + "AssociationExecutions": [ + { + "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab", + "AssociationVersion": "1", + "ExecutionId": "474925ef-1249-45a2-b93d-0123456789ab", + "Status": "Success", + "DetailedStatus": "Success", + "CreatedTime": 1550505827.119, + "ResourceCountByStatus": "{Success=1}" + }, + { + "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab", + "AssociationVersion": "1", + "ExecutionId": "7abb6378-a4a5-4f10-8312-0123456789ab", + "Status": "Success", + "DetailedStatus": "Success", + "CreatedTime": 1550505536.843, + "ResourceCountByStatus": "{Success=1}" + }, + ... + ] + } + +**To get details of all executions for an association after a specific date and time** + +This example describes all executions of an association after the specified date and time. + +Command:: + + aws ssm describe-association-executions --association-id "8dfe3659-4309-493a-8755-0123456789ab" --filters "Key=CreatedTime,Value=2019-02-18T16:00:00Z,Type=GREATER_THAN" + +Output:: + + { + "AssociationExecutions": [ + { + "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab", + "AssociationVersion": "1", + "ExecutionId": "474925ef-1249-45a2-b93d-0123456789ab", + "Status": "Success", + "DetailedStatus": "Success", + "CreatedTime": 1550505827.119, + "ResourceCountByStatus": "{Success=1}" + } + ] + } diff --git a/bin/awscli/examples/ssm/describe-association.rst b/bin/awscli/examples/ssm/describe-association.rst index 595a4071..92234edc 100644 --- a/bin/awscli/examples/ssm/describe-association.rst +++ b/bin/awscli/examples/ssm/describe-association.rst @@ -1,10 +1,81 @@ **To get details of an association** +This example describes the association for the specified association ID. + +Command:: + + aws ssm describe-association --association-id "8dfe3659-4309-493a-8755-0123456789ab" + +Output:: + + { + "AssociationDescription": { + "Name": "AWS-GatherSoftwareInventory", + "AssociationVersion": "1", + "Date": 1534864780.995, + "LastUpdateAssociationDate": 1543235759.81, + "Overview": { + "Status": "Success", + "AssociationStatusAggregatedCount": { + "Success": 2 + } + }, + "DocumentVersion": "$DEFAULT", + "Parameters": { + "applications": [ + "Enabled" + ], + "awsComponents": [ + "Enabled" + ], + "customInventory": [ + "Enabled" + ], + "files": [ + "" + ], + "instanceDetailedInformation": [ + "Enabled" + ], + "networkConfig": [ + "Enabled" + ], + "services": [ + "Enabled" + ], + "windowsRegistry": [ + "" + ], + "windowsRoles": [ + "Enabled" + ], + "windowsUpdates": [ + "Enabled" + ] + }, + "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab", + "Targets": [ + { + "Key": "InstanceIds", + "Values": [ + "*" + ] + } + ], + "ScheduleExpression": "rate(24 hours)", + "LastExecutionDate": 1550501886.0, + "LastSuccessfulExecutionDate": 1550501886.0, + "AssociationName": "Inventory-Association" + } + } + +**To get details of an association for a specific instance and document** + This example describes the association between an instance and a document. Command:: - aws ssm describe-association --instance-id "i-0000293ffd8c57862" --name "AWS-UpdateSSMAgent" + aws ssm describe-association --instance-id "i-1234567890abcdef0" --name "AWS-UpdateSSMAgent" Output:: @@ -16,7 +87,7 @@ Output:: "Name": "Associated" }, "Name": "AWS-UpdateSSMAgent", - "InstanceId": "i-0000293ffd8c57862", + "InstanceId": "i-1234567890abcdef0", "Overview": { "Status": "Pending", "DetailedStatus": "Associated", @@ -24,14 +95,14 @@ Output:: "Pending": 1 } }, - "AssociationId": "d8617c07-2079-4c18-9847-1655fc2698b0", + "AssociationId": "d8617c07-2079-4c18-9847-1234567890ab", "DocumentVersion": "$DEFAULT", "LastUpdateAssociationDate": 1487876122.564, "Date": 1487876122.564, "Targets": [ { "Values": [ - "i-0000293ffd8c57862" + "i-1234567890abcdef0" ], "Key": "InstanceIds" } diff --git a/bin/awscli/examples/ssm/describe-automation-executions.rst b/bin/awscli/examples/ssm/describe-automation-executions.rst index 98bf5f01..252dc3ac 100755 --- a/bin/awscli/examples/ssm/describe-automation-executions.rst +++ b/bin/awscli/examples/ssm/describe-automation-executions.rst @@ -33,5 +33,5 @@ This example shows the details about a specific Automation Execution. Command:: - aws ssm get-automation-execution --automation-execution-id "4105a4fc-f944-11e6-9d32-8fb2db27a909" + aws ssm describe-automation-executions --filter "Key=ExecutionId,Values=4105a4fc-f944-11e6-9d32-8fb2db27a909" \ No newline at end of file diff --git a/bin/awscli/examples/ssm/describe-automation-step-executions.rst b/bin/awscli/examples/ssm/describe-automation-step-executions.rst new file mode 100644 index 00000000..b243cb02 --- /dev/null +++ b/bin/awscli/examples/ssm/describe-automation-step-executions.rst @@ -0,0 +1,40 @@ +**To get details about all active and terminated step executions in an Automation workflow** + +This example displays the details of all step executions of an Automation workflow. + +Command:: + + aws ssm describe-automation-step-executions --automation-execution-id 4105a4fc-f944-11e6-9d32-0a1b2c3d495h + +Output:: + + { + "StepExecutions": [ + { + "StepName": "startInstances", + "Action": "aws:changeInstanceState", + "ExecutionStartTime": 1550083651.597, + "ExecutionEndTime": 1550083872.358, + "StepStatus": "Success", + "Inputs": { + "DesiredState": "\"running\"", + "InstanceIds": "[\"i-1234567890abcdef0\"]" + }, + "Outputs": { + "InstanceStates": [ + "running" + ] + }, + "StepExecutionId": "bd010896-b1d5-4028-b869-0a1b2c3d4f95", + "OverriddenParameters": {} + } + ] + } + +**To get details about a specific step execution in an Automation workflow** + +This example returns the details for a specific step within an Automation workflow. + +Command:: + + aws ssm describe-automation-step-executions --automation-execution-id 4105a4fc-f944-11e6-9d32-0a1b2c3d495h --filters "Key=StepExecutionId,Values=bd010896-b1d5-4028-b869-0a1b2c3d4f95" diff --git a/bin/awscli/examples/ssm/describe-available-patches.rst b/bin/awscli/examples/ssm/describe-available-patches.rst index 2a0cf672..8ed18a08 100755 --- a/bin/awscli/examples/ssm/describe-available-patches.rst +++ b/bin/awscli/examples/ssm/describe-available-patches.rst @@ -1,45 +1,75 @@ **To get available patches** -This example gets all available patches for Windows Server 2012 that have a MSRC severity of Critical. +This example gets all available patches for Windows Server 2019 that have a MSRC severity of Critical. Command:: - aws ssm describe-available-patches --filters "Key=PRODUCT,Values=WindowsServer2012" "Key=MSRC_SEVERITY,Values=Critical" + aws ssm describe-available-patches --filters "Key=PRODUCT,Values=WindowsServer2019" "Key=MSRC_SEVERITY,Values=Critical" Output:: { "Patches": [ { - "ContentUrl": "https://support.microsoft.com/en-us/kb/2727528", - "ProductFamily": "Windows", - "Product": "WindowsServer2012", + "Id": "fe6bd8c2-3752-4c8b-ab3e-1a7ed08767ba", + "ReleaseDate": 1544047205.0, + "Title": "2018-11 Update for Windows Server 2019 for x64-based Systems (KB4470788)", + "Description": "Install this update to resolve issues in Windows. For a complete listing of the issues that are included in this update, see the associated Microsoft Knowledge Base article for more information. After you install this item, you may have to restart your computer.", + "ContentUrl": "https://support.microsoft.com/en-us/kb/4470788", "Vendor": "Microsoft", - "Description": "A security issue has been identified that could allow an unauthenticated remote attacker to compromise your system and gain control over it. You can help protect your system by installing this update from Microsoft. After you install this update, you may have to restart your system.", + "ProductFamily": "Windows", + "Product": "WindowsServer2019", "Classification": "SecurityUpdates", - "Title": "Security Update for Windows Server 2012 (KB2727528)", - "ReleaseDate": 1352829600.0, - "Language": "All", "MsrcSeverity": "Critical", - "KbNumber": "KB2727528", - "MsrcNumber": "MS12-072", - "Id": "1eb507be-2040-4eeb-803d-abc55700b715" + "KbNumber": "KB4470788", + "MsrcNumber": "", + "Language": "All" }, { - "ContentUrl": "https://support.microsoft.com/en-us/kb/2729462", - "ProductFamily": "Windows", - "Product": "WindowsServer2012", + "Id": "c96115e1-5587-4115-b851-22baa46a3f11", + "ReleaseDate": 1549994410.0, + "Title": "2019-02 Security Update for Adobe Flash Player for Windows Server 2019 for x64-based Systems (KB4487038)", + "Description": "A security issue has been identified in a Microsoft software product that could affect your system. You can help protect your system by installing this update from Microsoft. For a complete listing of the issues that are included in this update, see the associated Microsoft Knowledge Base article. After you install this update, you may have to restart your system.", + "ContentUrl": "https://support.microsoft.com/en-us/kb/4487038", "Vendor": "Microsoft", - "Description": "A security issue has been identified that could allow an unauthenticated remote attacker to compromise your system and gain control over it. You can help protect your system by installing this update from Microsoft. After you install this update, you may have to restart your system.", + "ProductFamily": "Windows", + "Product": "WindowsServer2019", "Classification": "SecurityUpdates", - "Title": "Security Update for Microsoft .NET Framework 3.5 on Windows 8 and Windows Server 2012 for x64-based Systems (KB2729462)", - "ReleaseDate": 1352829600.0, - "Language": "All", "MsrcSeverity": "Critical", - "KbNumber": "KB2729462", - "MsrcNumber": "MS12-074", - "Id": "af873760-c97c-4088-ab7e-5219e120eab4" + "KbNumber": "KB4487038", + "MsrcNumber": "", + "Language": "All" }, - ... - } - } \ No newline at end of file + ... + ] + } + +**To get details of a specific patch** + +This example returns details for the specified patch. + +Command:: + + aws ssm describe-available-patches --filters "Key=PATCH_ID,Values=KB4480979" + +Output:: + + { + "Patches": [ + { + "Id": "680861e3-fb75-432e-818e-d72e5f2be719", + "ReleaseDate": 1546970408.0, + "Title": "2019-01 Security Update for Adobe Flash Player for Windows Server 2016 for x64-based Systems (KB4480979)", + "Description": "A security issue has been identified in a Microsoft software product that could affect your system. You can help protect your system by installing this update from Microsoft. For a complete listing of the issues that are included in this update, see the associated Microsoft Knowledge Base article. After you install this update, you may have to restart your system.", + "ContentUrl": "https://support.microsoft.com/en-us/kb/4480979", + "Vendor": "Microsoft", + "ProductFamily": "Windows", + "Product": "WindowsServer2016", + "Classification": "SecurityUpdates", + "MsrcSeverity": "Critical", + "KbNumber": "KB4480979", + "MsrcNumber": "", + "Language": "All" + } + ] + } diff --git a/bin/awscli/examples/ssm/describe-effective-instance-associations.rst b/bin/awscli/examples/ssm/describe-effective-instance-associations.rst index 038e0bb7..e17b110f 100755 --- a/bin/awscli/examples/ssm/describe-effective-instance-associations.rst +++ b/bin/awscli/examples/ssm/describe-effective-instance-associations.rst @@ -1,19 +1,20 @@ **To get details of the effective associations for an instance** -This example describes the effective associations for an instance. +The following ``describe-effective-instance-associations`` example retrieves details about the effective associations for an instance. Command:: - aws ssm describe-effective-instance-associations --instance-id "i-0000293ffd8c57862" - + aws ssm describe-effective-instance-associations --instance-id "i-1234567890abcdef0" + Output:: - { - "Associations": [ - { - "InstanceId": "i-0000293ffd8c57862", - "Content": "{\n \"schemaVersion\": \"1.2\",\n \"description\": \"Update the Amazon SSM Agent to the latest version or specified version.\",\n \"parameters\": {\n \"version\": {\n \"default\": \"\",\n \"description\": \"(Optional) A specific version of the Amazon SSM Agent to install. If not specified, the agent will be updated to the latest version.\",\n \"type\": \"String\"\n },\n \"allowDowngrade\": {\n \"default\": \"false\",\n \"description\": \"(Optional) Allow the Amazon SSM Agent service to be downgraded to an earlier version. If set to false, the service can be upgraded to newer versions only (default). If set to true, specify the earlier version.\",\n \"type\": \"String\",\n \"allowedValues\": [\n \"true\",\n \"false\"\n ]\n }\n },\n \"runtimeConfig\": {\n \"aws:updateSsmAgent\": {\n \"properties\": [\n {\n \"agentName\": \"amazon-ssm-agent\",\n \"source\": \"https://s3.{Region}.amazonaws.com/amazon-ssm-{Region}/ssm-agent-manifest.json\",\n \"allowDowngrade\": \"{{ allowDowngrade }}\",\n \"targetVersion\": \"{{ version }}\"\n }\n ]\n }\n }\n}\n", - "AssociationId": "d8617c07-2079-4c18-9847-1655fc2698b0" - } - ] - } + { + "Associations": [ + { + "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab", + "InstanceId": "i-1234567890abcdef0", + "Content": "{\n \"schemaVersion\": \"1.2\",\n \"description\": \"Update the Amazon SSM Agent to the latest version or specified version.\",\n \"parameters\": {\n \"version\": {\n \"default\": \"\",\n \"description\": \"(Optional) A specific version of the Amazon SSM Agent to install. If not specified, the agent will be updated to the latest version.\",\n \"type\": \"String\"\n },\n \"allowDowngrade\": {\n \"default\": \"false\",\n \"description\": \"(Optional) Allow the Amazon SSM Agent service to be downgraded to an earlier version. If set to false, the service can be upgraded to newer versions only (default). If set to true, specify the earlier version.\",\n \"type\": \"String\",\n \"allowedValues\": [\n \"true\",\n \"false\"\n ]\n }\n },\n \"runtimeConfig\": {\n \"aws:updateSsmAgent\": {\n \"properties\": [\n {\n \"agentName\": \"amazon-ssm-agent\",\n \"source\": \"https://s3.{Region}.amazonaws.com/amazon-ssm-{Region}/ssm-agent-manifest.json\",\n \"allowDowngrade\": \"{{ allowDowngrade }}\",\n \"targetVersion\": \"{{ version }}\"\n }\n ]\n }\n }\n}\n", + "AssociationVersion": "1" + } + ] + } diff --git a/bin/awscli/examples/ssm/describe-effective-patches-for-patch-baseline.rst b/bin/awscli/examples/ssm/describe-effective-patches-for-patch-baseline.rst index b9d277e0..98cf3b5c 100755 --- a/bin/awscli/examples/ssm/describe-effective-patches-for-patch-baseline.rst +++ b/bin/awscli/examples/ssm/describe-effective-patches-for-patch-baseline.rst @@ -1,41 +1,60 @@ **To get all patches defined by a patch baseline** -This example returns the patches defined by a patch baseline. +The following ``describe-effective-patches-for-patch-baseline`` example returns the patches defined by a patch baseline. Command:: - aws ssm describe-effective-patches-for-patch-baseline --baseline-id "pb-08b654cf9b9681f04" - + aws ssm describe-effective-patches-for-patch-baseline --baseline-id "pb-08b654cf9b9681f04" + Output:: - { - "NextToken": "--token string truncated--": [ - { - "PatchStatus": { - "ApprovalDate": 1292954400.0, - "DeploymentStatus": "APPROVED" + { + "EffectivePatches": [ + { + "Patch": { + "Id": "fe6bd8c2-3752-4c8b-ab3e-1a7ed08767ba", + "ReleaseDate": 1544047205.0, + "Title": "2018-11 Update for Windows Server 2019 for x64-based Systems (KB4470788)", + "Description": "Install this update to resolve issues in Windows. For a complete listing of the issues that are included in this update, see the associated Microsoft Knowledge Base article for more information. After you install this item, you may have to restart your computer.", + "ContentUrl": "https://support.microsoft.com/en-us/kb/4470788", + "Vendor": "Microsoft", + "ProductFamily": "Windows", + "Product": "WindowsServer2019", + "Classification": "SecurityUpdates", + "MsrcSeverity": "Critical", + "KbNumber": "KB4470788", + "MsrcNumber": "", + "Language": "All" + }, + "PatchStatus": { + "DeploymentStatus": "APPROVED", + "ComplianceLevel": "CRITICAL", + "ApprovalDate": 1544047205.0 + } }, - "Patch": { - "ContentUrl": "https://support.microsoft.com/en-us/kb/2207559", - "ProductFamily": "Windows", - "Product": "WindowsServer2008R2", - "Vendor": "Microsoft", - "Description": "A security issue has been identified that could allow an authenticated remote attacker to cause the affected system to stop responding. You can help protect your system by installing this update from Microsoft. After you install this update, you may have to restart your system.", - "Classification": "SecurityUpdates", - "Title": "Security Update for Windows Server 2008 R2 x64 Edition (KB2207559)", - "ReleaseDate": 1292349600.0, - "Language": "All", - "MsrcSeverity": "Important", - "KbNumber": "KB2207559", - "MsrcNumber": "MS10-101", - "Id": "79d0c8b2-5b35-4455-bfa3-89e0f08fa980" - } - }, - { - "PatchStatus": { - "ApprovalDate": 1285088400.0, - "DeploymentStatus": "APPROVED" + { + "Patch": { + "Id": "915a6b1a-f556-4d83-8f50-b2e75a9a7e58", + "ReleaseDate": 1549994400.0, + "Title": "2019-02 Cumulative Update for .NET Framework 3.5 and 4.7.2 for Windows Server 2019 for x64 (KB4483452)", + "Description": "A security issue has been identified in a Microsoft software product that could affect your system. You can help protect your system by installing this update from Microsoft. For a complete listing of the issues that are included in this update, see the associated Microsoft Knowledge Base article. After you install this update, you may have to restart your system.", + "ContentUrl": "https://support.microsoft.com/en-us/kb/4483452", + "Vendor": "Microsoft", + "ProductFamily": "Windows", + "Product": "WindowsServer2019", + "Classification": "SecurityUpdates", + "MsrcSeverity": "Important", + "KbNumber": "KB4483452", + "MsrcNumber": "", + "Language": "All" + }, + "PatchStatus": { + "DeploymentStatus": "APPROVED", + "ComplianceLevel": "CRITICAL", + "ApprovalDate": 1549994400.0 + } }, - ... - } - } + ... + ], + "NextToken": "--token string truncated--" + } \ No newline at end of file diff --git a/bin/awscli/examples/ssm/describe-instance-associations-status.rst b/bin/awscli/examples/ssm/describe-instance-associations-status.rst index 37ea6ef6..2fbc0cc1 100755 --- a/bin/awscli/examples/ssm/describe-instance-associations-status.rst +++ b/bin/awscli/examples/ssm/describe-instance-associations-status.rst @@ -4,19 +4,33 @@ This example shows details of the associations for an instance. Command:: - aws ssm describe-instance-associations-status --instance-id "i-0000293ffd8c57862" + aws ssm describe-instance-associations-status --instance-id "i-1234567890abcdef0" Output:: { "InstanceAssociationStatusInfos": [ { - "Status": "Pending", - "DetailedStatus": "Associated", + "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab", + "Name": "AWS-GatherSoftwareInventory", + "DocumentVersion": "1", + "AssociationVersion": "1", + "InstanceId": "i-1234567890abcdef0", + "ExecutionDate": 1550501886.0, + "Status": "Success", + "ExecutionSummary": "1 out of 1 plugin processed, 1 success, 0 failed, 0 timedout, 0 skipped. ", + "AssociationName": "Inventory-Association" + }, + { + "AssociationId": "5c5a31f6-6dae-46f9-944c-0123456789ab", "Name": "AWS-UpdateSSMAgent", - "InstanceId": "i-0000293ffd8c57862", - "AssociationId": "d8617c07-2079-4c18-9847-1655fc2698b0", - "DocumentVersion": "1" + "DocumentVersion": "1", + "AssociationVersion": "1", + "InstanceId": "i-1234567890abcdef0", + "ExecutionDate": 1550505828.548, + "Status": "Success", + "DetailedStatus": "Success", + "AssociationName": "UpdateSSMAgent" } ] } diff --git a/bin/awscli/examples/ssm/describe-instance-information.rst b/bin/awscli/examples/ssm/describe-instance-information.rst index 26cffc0a..2aec9d52 100755 --- a/bin/awscli/examples/ssm/describe-instance-information.rst +++ b/bin/awscli/examples/ssm/describe-instance-information.rst @@ -1,6 +1,6 @@ -**To describe instance information** +**To describe managed instance information** -This example shows details of each of your instances. +This example shows details of each of your managed instances. Command:: @@ -11,33 +11,42 @@ Output:: { "InstanceInformationList": [ { - "IsLatestVersion": true, - "LastSuccessfulAssociationExecutionDate": 1487876123.0, - "ComputerName": "ip-172-31-44-222.us-west-2.compute.internal", + "InstanceId": "i-1234567890abcdef0", "PingStatus": "Online", - "InstanceId": "i-0cb2b964d3e14fd9f", - "IPAddress": "172.31.44.222", - "AssociationStatus": "Success", - "LastAssociationExecutionDate": 1487876123.0, + "LastPingDateTime": 1550501835.178, + "AgentVersion": "2.3.415.0", + "IsLatestVersion": false, + "PlatformType": "Linux", + "PlatformName": "Amazon Linux AMI", + "PlatformVersion": "2018.03", "ResourceType": "EC2Instance", - "AgentVersion": "2.0.672.0", - "PlatformVersion": "2016.09", + "IPAddress": "172.16.0.154", + "ComputerName": "ip-172-16-0-154.ec2.internal", + "AssociationStatus": "Success", + "LastAssociationExecutionDate": 1550501837.0, + "LastSuccessfulAssociationExecutionDate": 1550501837.0, "AssociationOverview": { "InstanceAssociationStatusAggregatedCount": { "Success": 1 } - }, - "PlatformName": "Amazon Linux AMI", - "PlatformType": "Linux", - "LastPingDateTime": 1487898903.758 - } + } + }, + ... ] } -**To describe information about a specific instance** +**To describe information about a specific managed instance** + +This example shows details of the managed instance ``i-1234567890abcdef0``. + +Command:: + + aws ssm describe-instance-information --filters "Key=InstanceIds,Values=i-1234567890abcdef0" + +**To describe information about managed instances with a specific tag key** -This example shows details of instance ``i-0cb2b964d3e14fd9f``. +This example shows details for managed instances that have the tag key ``DEV``. Command:: - aws ssm describe-instance-information --instance-information-filter-list "key=InstanceIds,valueSet=i-0cb2b964d3e14fd9f" + aws ssm describe-instance-information --filters "Key=tag-key,Values=DEV" diff --git a/bin/awscli/examples/ssm/describe-instance-patch-states-for-patch-group.rst b/bin/awscli/examples/ssm/describe-instance-patch-states-for-patch-group.rst index d0fcb611..cedcede7 100755 --- a/bin/awscli/examples/ssm/describe-instance-patch-states-for-patch-group.rst +++ b/bin/awscli/examples/ssm/describe-instance-patch-states-for-patch-group.rst @@ -10,34 +10,37 @@ Output:: { "InstancePatchStates": [ - { - "OperationStartTime":1481259600.0, - "FailedCount":0, - "InstanceId":"i-08ee91c0b17045407", - "OwnerInformation":"", - "NotApplicableCount":2077, - "OperationEndTime":1481259757.0, - "PatchGroup":"Production", - "InstalledOtherCount":186, - "MissingCount":7, - "SnapshotId":"b0e65479-79be-4288-9f88-81c96bc3ed5e", - "Operation":"Scan", - "InstalledCount":72 - }, - { - "OperationStartTime":1481259602.0, - "FailedCount":0, - "InstanceId":"i-0fff3aab684d01b23", - "OwnerInformation":"", - "NotApplicableCount":2692, - "OperationEndTime":1481259613.0, - "PatchGroup":"Production", - "InstalledOtherCount":3, - "MissingCount":1, - "SnapshotId":"b0e65479-79be-4288-9f88-81c96bc3ed5e", - "Operation":"Scan", - "InstalledCount":1 - }, - ... - ] + { + "InstanceId": "i-1234567890abcdef0", + "PatchGroup": "Production", + "BaselineId": "pb-0713accee01234567", + "SnapshotId": "521c3536-930c-4aa9-950e-01234567abcd", + "OwnerInformation": "", + "InstalledCount": 1, + "InstalledOtherCount": 13, + "InstalledRejectedCount": 0, + "MissingCount": 3, + "FailedCount": 0, + "NotApplicableCount": 11, + "OperationStartTime": 1550244665.723, + "OperationEndTime": 1550244826.241, + "Operation": "Scan" + }, + { + "InstanceId": "i-0987654321abcdef0", + "PatchGroup": "Production", + "BaselineId": "pb-0713accee01234567", + "SnapshotId": "521c3536-930c-4aa9-950e-01234567abcd", + "OwnerInformation": "", + "InstalledCount": 1, + "InstalledOtherCount": 7, + "InstalledRejectedCount": 0, + "MissingCount": 1, + "FailedCount": 0, + "NotApplicableCount": 13, + "OperationStartTime": 1550245130.069, + "OperationEndTime": 1550245143.043, + "Operation": "Scan" + } + ] } diff --git a/bin/awscli/examples/ssm/describe-instance-patch-states.rst b/bin/awscli/examples/ssm/describe-instance-patch-states.rst index ca5a0e4c..40e9733f 100755 --- a/bin/awscli/examples/ssm/describe-instance-patch-states.rst +++ b/bin/awscli/examples/ssm/describe-instance-patch-states.rst @@ -4,39 +4,27 @@ This example gets the patch summary states for an instance. Command:: - aws ssm describe-instance-patch-states --instance-ids "i-08ee91c0b17045407" "i-09a618aec652973a9" + aws ssm describe-instance-patch-states --instance-ids "i-1234567890abcdef0" Output:: { "InstancePatchStates": [ - { - "OperationStartTime":"2016-12-09T05:00:00Z", - "FailedCount":0, - "InstanceId":"i-08ee91c0b17045407", - "OwnerInformation":"", - "NotApplicableCount":2077, - "OperationEndTime":"2016-12-09T05:02:37Z", - "PatchGroup":"Production", - "InstalledOtherCount":186, - "MissingCount":7, - "SnapshotId":"b0e65479-79be-4288-9f88-81c96bc3ed5e", - "Operation":"Scan", - "InstalledCount":72 - }, - { - "OperationStartTime":"2016-12-09T04:59:09Z", - "FailedCount":0, - "InstanceId":"i-09a618aec652973a9" - "OwnerInformation":"", - "NotApplicableCount":1637, - "OperationEndTime":"2016-12-09T05:03:57Z", - "PatchGroup":"Production", - "InstalledOtherCount":388, - "MissingCount":2, - "SnapshotId":"b0e65479-79be-4288-9f88-81c96bc3ed5e", - "Operation":"Scan", - "InstalledCount":141 - } - ] + { + "InstanceId": "i-1234567890abcdef0", + "PatchGroup": "", + "BaselineId": "pb-0713accee01234567", + "SnapshotId": "521c3536-930c-4aa9-950e-01234567abcd", + "OwnerInformation": "", + "InstalledCount": 2, + "InstalledOtherCount": 12, + "InstalledRejectedCount": 0, + "MissingCount": 1, + "FailedCount": 0, + "NotApplicableCount": 675, + "OperationStartTime": 1548438382.462, + "OperationEndTime": 1548438392.176, + "Operation": "Scan" + } + ] } diff --git a/bin/awscli/examples/ssm/describe-instance-patches.rst b/bin/awscli/examples/ssm/describe-instance-patches.rst index 7de9967c..d99d6aa7 100755 --- a/bin/awscli/examples/ssm/describe-instance-patches.rst +++ b/bin/awscli/examples/ssm/describe-instance-patches.rst @@ -1,38 +1,57 @@ -**To get the patch compliance details for an instance** +**To get the patch state details for an instance** -This example gets the patch compliance details for an instance. +This example retrieves information about the patch state details for the specified instance. Command:: - aws ssm describe-instance-patches --instance-id "i-08ee91c0b17045407" + aws ssm describe-instance-patches --instance-id "i-1234567890abcdef0" Output:: { - "NextToken":"--token string truncated--", - "Patches":[ - { - "KBId":"KB2919355", - "Severity":"Critical", - "Classification":"SecurityUpdates", - "Title":"Windows 8.1 Update for x64-based Systems (KB2919355)", - "State":"Installed", - "InstalledTime":"2014-03-18T12:00:00Z" - }, - { - "KBId":"KB2977765", - "Severity":"Important", - "Classification":"SecurityUpdates", - "Title":"Security Update for Microsoft .NET Framework 4.5.1 and 4.5.2 on Windows 8.1 and Windows Server 2012 R2 x64-based Systems (KB2977765)", - "State":"Installed", - "InstalledTime":"2014-10-15T12:00:00Z" - }, - { - "KBId":"KB2978126", - "Severity":"Important", - "Classification":"SecurityUpdates", - "Title":"Security Update for Microsoft .NET Framework 4.5.1 and 4.5.2 on Windows 8.1 (KB2978126)", - "State":"Installed", - "InstalledTime":"2014-11-18T12:00:00Z" - }, - ---output truncated--- + "Patches": [ + { + "Title": "2019-01 Security Update for Adobe Flash Player for Windows Server 2016 for x64-based Systems (KB4480979)", + "KBId": "KB4480979", + "Classification": "SecurityUpdates", + "Severity": "Critical", + "State": "Installed", + "InstalledTime": 1546992000.0 + }, + { + "Title": "", + "KBId": "KB4481031", + "Classification": "", + "Severity": "", + "State": "InstalledOther", + "InstalledTime": 1549584000.0 + }, + ... + ], + "NextToken": "--token string truncated--" + } + +**To get a list of patches in the Missing state for an instance** + +This example retrieves information about patches that are in the Missing state for the specified instance. + +Command:: + + aws ssm describe-instance-patches --instance-id "i-1234567890abcdef0" --filters Key=State,Values=Missing + +Output:: + + { + "Patches": [ + { + "Title": "Windows Malicious Software Removal Tool x64 - February 2019 (KB890830)", + "KBId": "KB890830", + "Classification": "UpdateRollups", + "Severity": "Unspecified", + "State": "Missing", + "InstalledTime": 0.0 + }, + ... + ], + "NextToken": "--token string truncated--" + } diff --git a/bin/awscli/examples/ssm/describe-inventory-deletions.rst b/bin/awscli/examples/ssm/describe-inventory-deletions.rst new file mode 100644 index 00000000..146ce25c --- /dev/null +++ b/bin/awscli/examples/ssm/describe-inventory-deletions.rst @@ -0,0 +1,80 @@ +**To get inventory deletions** + +This example retrieves details for inventory deletion operations. + +Command:: + + aws ssm describe-inventory-deletions + +Output:: + + { + "InventoryDeletions": [ + { + "DeletionId": "6961492a-8163-44ec-aa1e-01234567850", + "TypeName": "Custom:RackInformation", + "DeletionStartTime": 1550254911.0, + "LastStatus": "InProgress", + "LastStatusMessage": "The Delete is in progress", + "DeletionSummary": { + "TotalCount": 0, + "RemainingCount": 0, + "SummaryItems": [] + }, + "LastStatusUpdateTime": 1550254911.0 + }, + { + "DeletionId": "d72ac9e8-1f60-4d40-b1c6-987654321c4d", + "TypeName": "Custom:RackInfo", + "DeletionStartTime": 1550254859.0, + "LastStatus": "InProgress", + "LastStatusMessage": "The Delete is in progress", + "DeletionSummary": { + "TotalCount": 1, + "RemainingCount": 1, + "SummaryItems": [ + { + "Version": "1.0", + "Count": 1, + "RemainingCount": 1 + } + ] + }, + "LastStatusUpdateTime": 1550254859.0 + } + ] + } + +**To get details of a specific inventory deletion** + +This example retrieves details for a specific inventory deletion operation. + +Command:: + + aws ssm describe-inventory-deletions --deletion-id "d72ac9e8-1f60-4d40-b1c6-987654321c4d" + +Output:: + + { + "InventoryDeletions": [ + { + "DeletionId": "d72ac9e8-1f60-4d40-b1c6-987654321c4d", + "TypeName": "Custom:RackInfo", + "DeletionStartTime": 1550254859.0, + "LastStatus": "InProgress", + "LastStatusMessage": "The Delete is in progress", + "DeletionSummary": { + "TotalCount": 1, + "RemainingCount": 1, + "SummaryItems": [ + { + "Version": "1.0", + "Count": 1, + "RemainingCount": 1 + } + ] + }, + "LastStatusUpdateTime": 1550254859.0 + } + ] + } diff --git a/bin/awscli/examples/ssm/describe-maintenance-window-execution-task-invocations.rst b/bin/awscli/examples/ssm/describe-maintenance-window-execution-task-invocations.rst index 400d3860..72aa3392 100755 --- a/bin/awscli/examples/ssm/describe-maintenance-window-execution-task-invocations.rst +++ b/bin/awscli/examples/ssm/describe-maintenance-window-execution-task-invocations.rst @@ -1,6 +1,6 @@ **To get the specific task invocations performed for a task execution** -This example lists the invocations for a task executed as part of a maintenance window execution. +This example lists the invocations for a task executed as part of a Maintenance Window execution. Command:: diff --git a/bin/awscli/examples/ssm/describe-maintenance-window-execution-tasks.rst b/bin/awscli/examples/ssm/describe-maintenance-window-execution-tasks.rst index 40ff96ba..29fa56aa 100755 --- a/bin/awscli/examples/ssm/describe-maintenance-window-execution-tasks.rst +++ b/bin/awscli/examples/ssm/describe-maintenance-window-execution-tasks.rst @@ -1,6 +1,6 @@ **To list all tasks associated with a Maintenance Window Execution** -This example lists the tasks associated with a maintenance window execution. +This example lists the tasks associated with a Maintenance Window execution. Command:: diff --git a/bin/awscli/examples/ssm/describe-maintenance-window-executions.rst b/bin/awscli/examples/ssm/describe-maintenance-window-executions.rst index f12fe500..3bffe856 100755 --- a/bin/awscli/examples/ssm/describe-maintenance-window-executions.rst +++ b/bin/awscli/examples/ssm/describe-maintenance-window-executions.rst @@ -1,6 +1,6 @@ **To list all executions for a Maintenance Window** -This example lists all of the executions for a maintenance window. +This example lists all of the executions for a Maintenance Window. Command:: @@ -20,17 +20,17 @@ Output:: ] } -**To list all executions for a maintenance window before a specified date** +**To list all executions for a Maintenance Window before a specified date** -This example lists all of the executions for a maintenance window before a specific date. +This example lists all of the executions for a Maintenance Window before a specific date. Command:: aws ssm describe-maintenance-window-executions --window-id "mw-ab12cd34ef56gh78" --filters "Key=ExecutedBefore,Values=2016-11-04T05:00:00Z" -**To list all executions for a maintenance window after a specified date** +**To list all executions for a Maintenance Window after a specified date** -This example lists all of the executions for maintenance window after a specific date. +This example lists all of the executions for Maintenance Window after a specific date. Command:: diff --git a/bin/awscli/examples/ssm/describe-maintenance-window-schedule.rst b/bin/awscli/examples/ssm/describe-maintenance-window-schedule.rst new file mode 100644 index 00000000..3e7640e0 --- /dev/null +++ b/bin/awscli/examples/ssm/describe-maintenance-window-schedule.rst @@ -0,0 +1,25 @@ +**To list upcoming executions for a Maintenance Window** + +This example lists upcoming executions for a Maintenance Window. + +Command:: + + aws ssm describe-maintenance-window-schedule --window-id mw-ab12cd34ef56gh78 + +Output:: + + { + "ScheduledWindowExecutions": [ + { + "WindowId": "mw-ab12cd34ef56gh78", + "Name": "My-First-Maintenance-Window", + "ExecutionTime": "2019-02-19T16:00Z" + }, + { + "WindowId": "mw-ab12cd34ef56gh78", + "Name": "My-First-Maintenance-Window", + "ExecutionTime": "2019-02-26T16:00Z" + }, + ... + ] + } \ No newline at end of file diff --git a/bin/awscli/examples/ssm/describe-maintenance-window-targets.rst b/bin/awscli/examples/ssm/describe-maintenance-window-targets.rst index 10c0c7f9..84a6c9b8 100755 --- a/bin/awscli/examples/ssm/describe-maintenance-window-targets.rst +++ b/bin/awscli/examples/ssm/describe-maintenance-window-targets.rst @@ -1,6 +1,6 @@ -**To list all targets for a maintenance window** +**To list all targets for a Maintenance Window** -This example lists all of the targets for a maintenance window. +This example lists all of the targets for a Maintenance Window. Command:: @@ -42,9 +42,9 @@ Output:: ] } -**To list all targets for a maintenance window matching a specific owner information value** +**To list all targets for a Maintenance Window matching a specific owner information value** -This example lists all of the targets for a maintenance window with a specific value. +This example lists all of the targets for a Maintenance Window with a specific value. Command:: diff --git a/bin/awscli/examples/ssm/describe-maintenance-window-tasks.rst b/bin/awscli/examples/ssm/describe-maintenance-window-tasks.rst index 1734f730..5f5421d5 100755 --- a/bin/awscli/examples/ssm/describe-maintenance-window-tasks.rst +++ b/bin/awscli/examples/ssm/describe-maintenance-window-tasks.rst @@ -1,6 +1,6 @@ **To list all tasks for a Maintenance Window** -This example lists all of the tasks for a maintenance window. +This example lists all of the tasks for a Maintenance Window. Command:: @@ -38,25 +38,25 @@ Output:: ] } -**To list all tasks for a maintenance window that invoke the AWS-RunPowerShellScript Run Command** +**To list all tasks for a Maintenance Window that invoke the AWS-RunPowerShellScript Run Command** -This example lists all of the tasks for a maintenance window that invoke the ``AWS-RunPowerShellScript`` Run Command. +This example lists all of the tasks for a Maintenance Window that invoke the ``AWS-RunPowerShellScript`` Run Command. Command:: aws ssm describe-maintenance-window-tasks --window-id "mw-ab12cd34ef56gh78" --filters "Key=TaskArn,Values=AWS-RunPowerShellScript" -**To list all tasks for a maintenance window that have a Priority of 3** +**To list all tasks for a Maintenance Window that have a Priority of 3** -This example lists all of the tasks for a maintenance window that have a ``Priority`` of ``3``. +This example lists all of the tasks for a Maintenance Window that have a ``Priority`` of ``3``. Command:: aws ssm describe-maintenance-window-tasks --window-id "mw-ab12cd34ef56gh78" --filters "Key=Priority,Values=3" -**To list all tasks for a maintenance window that have a Priority of 1 and use Run Command** +**To list all tasks for a Maintenance Window that have a Priority of 1 and use Run Command** -This example lists all of the tasks for a maintenance window that have a ``Priority`` of ``1`` and use ``Run Command``. +This example lists all of the tasks for a Maintenance Window that have a ``Priority`` of ``1`` and use ``Run Command``. Command:: diff --git a/bin/awscli/examples/ssm/describe-maintenance-windows-for-target.rst b/bin/awscli/examples/ssm/describe-maintenance-windows-for-target.rst new file mode 100644 index 00000000..c8d5d3ed --- /dev/null +++ b/bin/awscli/examples/ssm/describe-maintenance-windows-for-target.rst @@ -0,0 +1,18 @@ +**To list all Maintenance Windows associated with a specific instance** + +This example lists the Maintenance Windows which have targets or tasks that the specified instance is asscoiated with. + +Command:: + + aws ssm describe-maintenance-windows-for-target --targets Key=InstanceIds,Values=i-1234567890EXAMPLE --resource-type INSTANCE + +Output:: + + { + "WindowIdentities": [ + { + "WindowId": "mw-0c5ed765acEXAMPLE", + "Name": "My-First-Maintenance-Window" + } + ] + } diff --git a/bin/awscli/examples/ssm/describe-maintenance-windows.rst b/bin/awscli/examples/ssm/describe-maintenance-windows.rst index 0c14c742..e0ceb17e 100755 --- a/bin/awscli/examples/ssm/describe-maintenance-windows.rst +++ b/bin/awscli/examples/ssm/describe-maintenance-windows.rst @@ -1,6 +1,6 @@ -**To list all maintenance windows** +**To list all Maintenance Windows** -This example lists all maintenance windows on your account. +This example lists all Maintenance Windows on your account. Command:: @@ -20,11 +20,19 @@ Output:: ] } -**To list all enabled maintenance windows** +**To list all enabled Maintenance Windows** -This example lists all enabled maintenance windows. +This example lists all enabled Maintenance Windows. Command:: aws ssm describe-maintenance-windows --filters "Key=Enabled,Values=true" + +**To list Maintenance Windows matching a specific name** + +This example lists all Maintenance Windows with a specific name value. + +Command:: + + aws ssm describe-maintenance-windows --filters "Key=Name,Values=MyMaintenanceWindow" \ No newline at end of file diff --git a/bin/awscli/examples/ssm/describe-patch-baselines.rst b/bin/awscli/examples/ssm/describe-patch-baselines.rst index 012fc57c..0647ecdc 100755 --- a/bin/awscli/examples/ssm/describe-patch-baselines.rst +++ b/bin/awscli/examples/ssm/describe-patch-baselines.rst @@ -11,23 +11,20 @@ Output:: { "BaselineIdentities": [ { - "BaselineName": "AWS-DefaultPatchBaseline", - "DefaultBaseline": true, - "BaselineDescription": "Default Patch Baseline Provided by AWS.", - "BaselineId": "arn:aws:ssm:us-west-2:812345678901:patchbaseline/pb-04fb4ae6142167966" + "BaselineId": "arn:aws:ssm:us-east-1:075727635805:patchbaseline/pb-03e3f588eec25344c", + "BaselineName": "AWS-CentOSDefaultPatchBaseline", + "OperatingSystem": "CENTOS", + "BaselineDescription": "Default Patch Baseline for CentOS Provided by AWS.", + "DefaultBaseline": true }, { - "BaselineName": "Production-Baseline", - "DefaultBaseline": false, - "BaselineDescription": "Baseline containing all updates approved for production systems", - "BaselineId": "pb-045f10b4f382baeda" + "BaselineId": "arn:aws:ssm:us-east-1:075727635805:patchbaseline/pb-07d8884178197b66b", + "BaselineName": "AWS-SuseDefaultPatchBaseline", + "OperatingSystem": "SUSE", + "BaselineDescription": "Default Patch Baseline for Suse Provided by AWS.", + "DefaultBaseline": true }, - { - "BaselineName": "Production-Baseline", - "DefaultBaseline": false, - "BaselineDescription": "Baseline containing all updates approved for production systems", - "BaselineId": "pb-0a2f1059b670ebd31" - } + ... ] } diff --git a/bin/awscli/examples/ssm/describe-patch-group-state.rst b/bin/awscli/examples/ssm/describe-patch-group-state.rst index 926cd665..d765cc2e 100755 --- a/bin/awscli/examples/ssm/describe-patch-group-state.rst +++ b/bin/awscli/examples/ssm/describe-patch-group-state.rst @@ -9,10 +9,11 @@ Command:: Output:: { - "InstancesWithNotApplicablePatches": 0, - "InstancesWithMissingPatches": 0, - "InstancesWithFailedPatches": 1, - "InstancesWithInstalledOtherPatches": 4, - "Instances": 4, - "InstancesWithInstalledPatches": 3 + "Instances": 2, + "InstancesWithInstalledPatches": 2, + "InstancesWithInstalledOtherPatches": 2, + "InstancesWithInstalledRejectedPatches": 0, + "InstancesWithMissingPatches": 2, + "InstancesWithFailedPatches": 0, + "InstancesWithNotApplicablePatches": 2 } diff --git a/bin/awscli/examples/ssm/describe-patch-groups.rst b/bin/awscli/examples/ssm/describe-patch-groups.rst index f7e00a08..699dc39f 100755 --- a/bin/awscli/examples/ssm/describe-patch-groups.rst +++ b/bin/awscli/examples/ssm/describe-patch-groups.rst @@ -13,11 +13,23 @@ Output:: { "PatchGroup": "Production", "BaselineIdentity": { - "BaselineName": "Production-Baseline", - "DefaultBaseline": false, - "BaselineDescription": "Baseline containing all updates approved for production systems", - "BaselineId": "pb-045f10b4f382baeda" + "BaselineId": "pb-0123456789abcdef0", + "BaselineName": "ProdPatching", + "OperatingSystem": "WINDOWS", + "BaselineDescription": "Patches for Production", + "DefaultBaseline": false } - } + }, + { + "PatchGroup": "Development", + "BaselineIdentity": { + "BaselineId": "pb-0713accee01234567", + "BaselineName": "DevPatching", + "OperatingSystem": "WINDOWS", + "BaselineDescription": "Patches for Development", + "DefaultBaseline": true + } + }, + ... ] } diff --git a/bin/awscli/examples/ssm/describe-sessions.rst b/bin/awscli/examples/ssm/describe-sessions.rst new file mode 100644 index 00000000..788441f5 --- /dev/null +++ b/bin/awscli/examples/ssm/describe-sessions.rst @@ -0,0 +1,64 @@ +**To list all active Session Manager sessions** + +This example retrieves a list of the active sessions created most recently (both connected and disconnected sessions) over the past 30 days that were started by a particular user. + +Command:: + + aws ssm describe-sessions --state "Active" --filters "key=Owner,value=arn:aws:sts::123456789012:assumed-role/Administrator/Matt" + +Output:: + + { + "Sessions": [ + { + "SessionId": "Matt-07a16060613c408b5", + "Target": "i-1234567890abcdef0", + "Status": "Connected", + "StartDate": 1550676938.352, + "Owner": "arn:aws:sts::123456789012:assumed-role/Administrator/Matt", + "OutputUrl": {} + }, + { + "SessionId": "Matt-01edf534b8b56e8eb", + "Target": "i-9876543210abcdef0", + "Status": "Connected", + "StartDate": 1550676842.194, + "Owner": "arn:aws:sts::123456789012:assumed-role/Administrator/Matt", + "OutputUrl": {} + } + ] + } + +**To list all terminated Session Manager sessions** + +This example retrieves a list of the most recently terminated sessions from the past 30 days for all users. + +Command:: + + aws ssm describe-sessions --state "History" + +Output:: + + { + "Sessions": [ + { + "SessionId": "Dan-0022b1eb2b0d9e3bd", + "Target": "i-1234567890abcdef0", + "Status": "Terminated", + "StartDate": 1550520701.256, + "EndDate": 1550521931.563, + "Owner": "arn:aws:sts::123456789012:assumed-role/Administrator/Dan" + }, + { + "SessionId": "Erik-0db53f487931ed9d4", + "Target": "i-9876543210abcdef0", + "Status": "Terminated", + "StartDate": 1550161369.149, + "EndDate": 1550162580.329, + "Owner": "arn:aws:sts::123456789012:assumed-role/Administrator/Erik" + }, + ... + ], + "NextToken": "--token string truncated--" + } + \ No newline at end of file diff --git a/bin/awscli/examples/ssm/get-command-invocation.rst b/bin/awscli/examples/ssm/get-command-invocation.rst index 8628cef9..fb92bff4 100755 --- a/bin/awscli/examples/ssm/get-command-invocation.rst +++ b/bin/awscli/examples/ssm/get-command-invocation.rst @@ -4,21 +4,28 @@ This example lists all the invocations of a command on an instance. Command:: - aws ssm get-command-invocation --command-id "bca3371c-3fdf-43f1-9323-7a7780b1b4db" --instance-id "i-0000293ffd8c57862" + aws ssm get-command-invocation --command-id "ef7fdfd8-9b57-4151-a15c-db9a12345678" --instance-id "i-1234567890abcdef0" Output:: { - "Comment": "Apply association with id at creation time: a052fd99-0852-4df2-ad69-0299f2c82047", - "Status": "SUCCESS", - "ExecutionEndDateTime": "", - "StandardErrorContent": "", - "InstanceId": "i-0000293ffd8c57862", - "StandardErrorUrl": "", - "DocumentName": "AWS-RefreshAssociation", - "StandardOutputContent": "", - "PluginName": "", - "ResponseCode": -1, - "CommandId": "bca3371c-3fdf-43f1-9323-7a7780b1b4db", - "StandardOutputUrl": "" + "CommandId": "ef7fdfd8-9b57-4151-a15c-db9a12345678", + "InstanceId": "i-1234567890abcdef0", + "Comment": "", + "DocumentName": "AWS-RunPowerShellScript", + "DocumentVersion": "1", + "PluginName": "aws:runPowerShellScript", + "ResponseCode": 0, + "ExecutionStartDateTime": "2019-02-14T19:26:26.439Z", + "ExecutionElapsedTime": "PT0.541S", + "ExecutionEndDateTime": "2019-02-14T19:26:26.439Z", + "Status": "Success", + "StatusDetails": "Success", + "StandardOutputContent": "HelloWorld\r\n", + "StandardOutputUrl": "", + "StandardErrorContent": "", + "StandardErrorUrl": "", + "CloudWatchOutputConfig": { + "CloudWatchLogGroupName": "", + "CloudWatchOutputEnabled": false } diff --git a/bin/awscli/examples/ssm/get-connection-status.rst b/bin/awscli/examples/ssm/get-connection-status.rst new file mode 100644 index 00000000..fd79f8c6 --- /dev/null +++ b/bin/awscli/examples/ssm/get-connection-status.rst @@ -0,0 +1,14 @@ +**To display the connection status of a managed instance** + +This example returns the connection status of the managed instance ``i-1234567890abcdef0``. + +Command:: + + aws ssm get-connection-status --target i-1234567890abcdef0 + +Output:: + + { + "Target": "i-1234567890abcdef0", + "Status": "connected" + } diff --git a/bin/awscli/examples/ssm/get-default-patch-baseline.rst b/bin/awscli/examples/ssm/get-default-patch-baseline.rst index 640b902b..cf6ccd68 100755 --- a/bin/awscli/examples/ssm/get-default-patch-baseline.rst +++ b/bin/awscli/examples/ssm/get-default-patch-baseline.rst @@ -1,6 +1,6 @@ -**To display the default patch baseline** +**To display the default Windows patch baseline** -This example displays the default patch baseline. +This example displays the default Windows patch baseline. Command:: @@ -9,5 +9,21 @@ Command:: Output:: { - "BaselineId":"arn:aws:ssm:us-west-1:812345678901:patchbaseline/pb-0ca44a362f8afc725" + "BaselineId": "pb-0713accee01612345", + "OperatingSystem": "WINDOWS" + } + +**To display the default Amazon Linux patch baseline** + +This example displays the default Windows patch baseline. + +Command:: + + aws ssm get-default-patch-baseline --operating-system AMAZON_LINUX + +Output:: + + { + "BaselineId": "pb-047c6eb9c8fc12345", + "OperatingSystem": "AMAZON_LINUX" } diff --git a/bin/awscli/examples/ssm/get-deployable-patch-snapshot-for-instance.rst b/bin/awscli/examples/ssm/get-deployable-patch-snapshot-for-instance.rst index 39843675..91808f7f 100755 --- a/bin/awscli/examples/ssm/get-deployable-patch-snapshot-for-instance.rst +++ b/bin/awscli/examples/ssm/get-deployable-patch-snapshot-for-instance.rst @@ -6,12 +6,13 @@ Use ``uuidgen`` to generate a ``snapshot-id``. Command:: - aws ssm get-deployable-patch-snapshot-for-instance --instance-id "i-0cb2b964d3e14fd9f" --snapshot-id "4681775b-098f-4435-a956-0ef33373ac11" + aws ssm get-deployable-patch-snapshot-for-instance --instance-id "i-1234567890abcdef0" --snapshot-id "521c3536-930c-4aa9-950e-01234567abcd" Output:: { - "InstanceId": "i-0cb2b964d3e14fd9f", - "SnapshotId": "4681775b-098f-4435-a956-0ef33373ac11", - "SnapshotDownloadUrl": "https://patch-baseline-snapshot-us-west-2.s3-us-west-2.amazonaws.com/853d0d3db0f0cafea3699f25b1c7ff101a13e25c3d05e832f613b0d2f79da62f-809632081692/4681775b-098f-4435-a956-0ef33373ac11?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20170224T181926Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Credential=AKIAJI6YDVV7XJKZL7ZA%2F20170224%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Signature=2747799c958ffebf6f44bd698fd2071ccf9a303465febfab71ff29b46631a2d3" + "InstanceId": "i-1234567890abcdef0", + "SnapshotId": "521c3536-930c-4aa9-950e-01234567abcd", + "Product": "AmazonLinux2018.03", + "SnapshotDownloadUrl": "https://patch-baseline-snapshot-us-east-1.s3.amazonaws.com/ed85194ef27214f5984f28b4d664d14f7313568fea7d4b6ac6c10ad1f729d7e7-773304212436/AMAZON_LINUX-521c3536-930c-4aa9-950e-01234567abcd?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20190215T164031Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Credential=AKIAJ5C56P35AEBRX2QQ%2F20190215%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=efaaaf6e3878e77f48a6697e015efdbda9c426b09c5822055075c062f6ad2149" } diff --git a/bin/awscli/examples/ssm/get-document.rst b/bin/awscli/examples/ssm/get-document.rst index 5967e934..0622fff5 100644 --- a/bin/awscli/examples/ssm/get-document.rst +++ b/bin/awscli/examples/ssm/get-document.rst @@ -14,3 +14,22 @@ Output:: "DocumentVersion": "1", "DocumentType": "Command" } + +**To get the contents of a document in YAML format** + +This example returns the content of a document in YAML format. + +Command:: + + aws ssm get-document --name "RunShellScript" --document-format YAML + +Output:: + + { + "Name": "A-Document-yaml2", + "DocumentVersion": "1", + "Status": "Active", + "Content": "---\nschemaVersion: '1.2'\ndescription: Run a PowerShell script or specify the paths to scripts to run.\nparameters:\n commands:\n type: StringList\n description: \"(Required) Specify the commands to run or the paths to existing\n scripts on the instance.\"\n minItems: 1\n displayType: textarea\n workingDirectory:\n type: String\n default: ''\n description: \"(Optional) The path to the working directory on your instance.\"\n maxChars: 4096\n executionTimeout:\n type: String\n default: '3600'\n description: \"(Optional) The time in seconds for a command to be completed before\n it is considered to have failed. Default is 3600 (1 hour). Maximum is 172800\n (48 hours).\"\n allowedPattern: \"([1-9][0-9]{0,4})|(1[0-6][0-9]{4})|(17[0-1][0-9]{3})|(172[0-7][0-9]{2})|(172800)\"\nruntimeConfig:\n aws:runPowerShellScript:\n properties:\n - id: 0.aws:runPowerShellScript\n runCommand: \"{{ commands }}\"\n workingDirectory: \"{{ workingDirectory }}\"\n timeoutSeconds: \"{{ executionTimeout }}\"\n", + "DocumentType": "Command", + "DocumentFormat": "YAML" + } \ No newline at end of file diff --git a/bin/awscli/examples/ssm/get-inventory-schema.rst b/bin/awscli/examples/ssm/get-inventory-schema.rst index 9307263b..1e3547ef 100755 --- a/bin/awscli/examples/ssm/get-inventory-schema.rst +++ b/bin/awscli/examples/ssm/get-inventory-schema.rst @@ -15,35 +15,44 @@ Output:: "Version": "1.0", "Attributes": [ { - "DataType": "STRING", - "Name": "Name" + "Name": "Name", + "DataType": "STRING" }, { - "DataType": "STRING", - "Name": "ApplicationType" + "Name": "ApplicationType", + "DataType": "STRING" }, { - "DataType": "STRING", - "Name": "Publisher" + "Name": "Publisher", + "DataType": "STRING" }, { - "DataType": "STRING", - "Name": "Version" + "Name": "Version", + "DataType": "STRING" }, { - "DataType": "STRING", - "Name": "InstalledTime" + "Name": "InstalledTime", + "DataType": "STRING" }, { - "DataType": "STRING", - "Name": "Architecture" + "Name": "Architecture", + "DataType": "STRING" }, { - "DataType": "STRING", - "Name": "URL" + "Name": "URL", + "DataType": "STRING" } ] }, ... - } - } \ No newline at end of file + ], + "NextToken": "--token string truncated--" + } + +**To view the inventory schema for a specific inventory type** + +This example return the inventory schema for a the AWS:AWSComponent inventory type. + +Command:: + + aws ssm get-inventory-schema --type-name "AWS:AWSComponent" diff --git a/bin/awscli/examples/ssm/get-maintenance-window-execution-task-invocation.rst b/bin/awscli/examples/ssm/get-maintenance-window-execution-task-invocation.rst new file mode 100644 index 00000000..fcfd07b8 --- /dev/null +++ b/bin/awscli/examples/ssm/get-maintenance-window-execution-task-invocation.rst @@ -0,0 +1,22 @@ +**To get information about a Maintenance Window task invocation** + +This example lists information about a task invocation that was part of a Maintenance Window execution. + +Command:: + + aws ssm get-maintenance-window-execution-task-invocation --window-execution-id "bc494bfa-e63b-49f6-8ad1-aa9f2EXAMPLE" --task-id "96f2ad59-97e3-461d-a63d-40c8aEXAMPLE" --invocation-id "a5273e2c-d2c6-4880-b3e1-5e550EXAMPLE" + +Output:: + + { + "Status": "SUCCESS", + "Parameters": "{\"comment\":\"\",\"documentName\":\"AWS-RunPowerShellScript\",\"instanceIds\":[\"i-1234567890EXAMPLE\"],\"maxConcurrency\":\"1\",\"maxErrors\":\"1\",\"parameters\":{\"executionTimeout\":[\"3600\"],\"workingDirectory\":[\"\"],\"commands\":[\"echo Hello\"]},\"timeoutSeconds\":600}", + "ExecutionId": "03b6baa0-5460-4e15-83f2-ea685EXAMPLE", + "InvocationId": "a5273e2c-d2c6-4880-b3e1-5e550EXAMPLE", + "StartTime": 1549998326.421, + "TaskType": "RUN_COMMAND", + "EndTime": 1550001931.784, + "WindowExecutionId": "bc494bfa-e63b-49f6-8ad1-aa9f2EXAMPLE", + "StatusDetails": "Failed", + "TaskExecutionId": "96f2ad59-97e3-461d-a63d-40c8aEXAMPLE" + } diff --git a/bin/awscli/examples/ssm/get-maintenance-window-execution-task.rst b/bin/awscli/examples/ssm/get-maintenance-window-execution-task.rst index 2adfd75a..65dba778 100755 --- a/bin/awscli/examples/ssm/get-maintenance-window-execution-task.rst +++ b/bin/awscli/examples/ssm/get-maintenance-window-execution-task.rst @@ -1,6 +1,6 @@ **To get information about a Maintenance Window task execution** -This example lists information about a task that was part of a maintenance window execution. +This example lists information about a task that was part of a Maintenance Window execution. Command:: diff --git a/bin/awscli/examples/ssm/get-maintenance-window-execution.rst b/bin/awscli/examples/ssm/get-maintenance-window-execution.rst index e48637ef..d648dd11 100755 --- a/bin/awscli/examples/ssm/get-maintenance-window-execution.rst +++ b/bin/awscli/examples/ssm/get-maintenance-window-execution.rst @@ -1,6 +1,6 @@ **To get information about a Maintenance Window task execution** -This example lists information about a task executed as part of a maintenance window execution. +This example lists information about a task executed as part of a Maintenance Window execution. Command:: diff --git a/bin/awscli/examples/ssm/get-maintenance-window-task.rst b/bin/awscli/examples/ssm/get-maintenance-window-task.rst new file mode 100644 index 00000000..af00af07 --- /dev/null +++ b/bin/awscli/examples/ssm/get-maintenance-window-task.rst @@ -0,0 +1,47 @@ +**To get information about a Maintenance Window task** + +This example gets details about a Maintenance Window task. + +Command:: + + aws ssm get-maintenance-window-task --window-id mw-0c5ed765acEXAMPLE --window-task-id 0e842a8d-2d44-4886-bb62-af8dcEXAMPLE + +Output:: + + { + "ServiceRoleArn": "arn:aws:iam::111222333444:role/aws-service-role/ssm.amazonaws.com/AWSServiceRoleForAmazonSSM", + "MaxErrors": "1", + "TaskArn": "AWS-RunPowerShellScript", + "MaxConcurrency": "1", + "WindowTaskId": "0e842a8d-2d44-4886-bb62-af8dcEXAMPLE", + "TaskParameters": {}, + "Priority": 1, + "TaskInvocationParameters": { + "RunCommand": { + "Comment": "", + "TimeoutSeconds": 600, + "Parameters": { + "commands": [ + "echo Hello" + ], + "executionTimeout": [ + "3600" + ], + "workingDirectory": [ + "" + ] + } + } + }, + "WindowId": "mw-0c5ed765acEXAMPLE", + "TaskType": "RUN_COMMAND", + "Targets": [ + { + "Values": [ + "84c818da-b619-4d3d-9651-946f3EXAMPLE" + ], + "Key": "WindowTargetIds" + } + ], + "Name": "ExampleTask" + } diff --git a/bin/awscli/examples/ssm/get-maintenance-window.rst b/bin/awscli/examples/ssm/get-maintenance-window.rst index 6eeeb41a..def19c80 100755 --- a/bin/awscli/examples/ssm/get-maintenance-window.rst +++ b/bin/awscli/examples/ssm/get-maintenance-window.rst @@ -1,6 +1,6 @@ -**To get information about a maintenance window** +**To get information about a Maintenance Window** -This example gets details about a maintenance window. +This example gets details about a Maintenance Window. Command:: diff --git a/bin/awscli/examples/ssm/get-parameter-history.rst b/bin/awscli/examples/ssm/get-parameter-history.rst index 6aaaf84a..d6a02152 100755 --- a/bin/awscli/examples/ssm/get-parameter-history.rst +++ b/bin/awscli/examples/ssm/get-parameter-history.rst @@ -11,11 +11,13 @@ Output:: { "Parameters": [ { - "LastModifiedUser": "arn:aws:iam::812345678901:user/admin", - "LastModifiedDate": 1487880053.085, - "Type": "String", "Name": "welcome", - "Value": "helloWorld" + "Type": "String", + "LastModifiedDate": 1542308384.49, + "LastModifiedUser": "arn:aws:sts::123456789012:assumed-role/Administrator", + "Value": "1", + "Version": 1, + "Labels": [] } ] } diff --git a/bin/awscli/examples/ssm/get-parameter.rst b/bin/awscli/examples/ssm/get-parameter.rst new file mode 100644 index 00000000..8501f56d --- /dev/null +++ b/bin/awscli/examples/ssm/get-parameter.rst @@ -0,0 +1,43 @@ +**Example 1: To list the value for a parameter** + +The following ``get-parameter`` example lists the value for a parameter. + +Command:: + + aws ssm get-parameter --name "helloWorld" + +Output:: + + { + "Parameter": { + "Name": "helloWorld", + "Type": "String", + "Value": "Good day sunshine", + "Version": 1, + "LastModifiedDate": 1530018761.888, + "ARN": "arn:aws:ssm:us-east-1:123456789012:parameter/helloWorld" + } + } + +**Example 2: To decrypt the value for a parmeter** + +The following ``get-parameter`` example decrypts the value of a ``SecureString`` parameter. + +Command:: + + aws ssm get-parameter \ + --name "helloSecureWorld" \ + --with-decryption + +Output:: + + { + "Parameter": { + "Name": "helloSecureWorld", + "Type": "SecureString", + "Value": "Good day sunshine", + "Version": 1, + "LastModifiedDate": 1530018761.888, + "ARN": "arn:aws:ssm:us-east-1:123456789012:parameter/helloSecureWorld" + } + } diff --git a/bin/awscli/examples/ssm/get-parameters-by-path.rst b/bin/awscli/examples/ssm/get-parameters-by-path.rst new file mode 100644 index 00000000..72c1bfbe --- /dev/null +++ b/bin/awscli/examples/ssm/get-parameters-by-path.rst @@ -0,0 +1,31 @@ +**To list parameters in a specific path** + +This example lists parameters within a specific hierarchy. + +Command:: + + aws ssm get-parameters-by-path --path "/site/newyork/department/" + +Output:: + + { + "Parameters": [ + { + "Name": "/site/newyork/department/marketing", + "Type": "String", + "Value": "Floor 2", + "Version": 1, + "LastModifiedDate": 1530018761.888, + "ARN": "arn:aws:ssm:us-east-1:123456789012:parameter/site/newyork/department/marketing" + }, + { + "Name": "/site/newyork/department/infotech", + "Type": "String", + "Value": "Floor 3", + "Version": 1, + "LastModifiedDate": 1530018823.429, + "ARN": "arn:aws:ssm:us-east-1:123456789012:parameter//site/newyork/department/infotech" + }, + ... + ] + } diff --git a/bin/awscli/examples/ssm/get-parameters.rst b/bin/awscli/examples/ssm/get-parameters.rst index 0f5a4000..c3cfc739 100755 --- a/bin/awscli/examples/ssm/get-parameters.rst +++ b/bin/awscli/examples/ssm/get-parameters.rst @@ -9,14 +9,17 @@ Command:: Output:: { - "InvalidParameters": [], - "Parameters": [ - { - "Type": "String", - "Name": "helloWorld", - "Value": "good day sunshine" - } - ] + "Parameters": [ + { + "Name": "helloWorld", + "Type": "String", + "Value": "good day sunshine", + "Version": 1, + "LastModifiedDate": 1542308384.49, + "ARN": "arn:aws:ssm:us-east-1:123456789012:parameter/helloWorld" + } + ], + "InvalidParameters": [] } To list the name and value of multiple parameters the --query argument can be used with a list of names. diff --git a/bin/awscli/examples/ssm/get-patch-baseline-for-patch-group.rst b/bin/awscli/examples/ssm/get-patch-baseline-for-patch-group.rst index 9c13f545..fa6fadf2 100755 --- a/bin/awscli/examples/ssm/get-patch-baseline-for-patch-group.rst +++ b/bin/awscli/examples/ssm/get-patch-baseline-for-patch-group.rst @@ -4,11 +4,12 @@ This example displays the patch baseline for a patch group. Command:: - aws ssm get-patch-baseline-for-patch-group --patch-group "Production" + aws ssm get-patch-baseline-for-patch-group --patch-group "DEV" Output:: { - "PatchGroup": "Production", - "BaselineId": "pb-045f10b4f382baeda" + "BaselineId": "pb-0123456789abcdef0", + "PatchGroup": "DEV", + "OperatingSystem": "WINDOWS" } diff --git a/bin/awscli/examples/ssm/get-patch-baseline.rst b/bin/awscli/examples/ssm/get-patch-baseline.rst index 9683b4ba..68b61223 100755 --- a/bin/awscli/examples/ssm/get-patch-baseline.rst +++ b/bin/awscli/examples/ssm/get-patch-baseline.rst @@ -4,58 +4,47 @@ This example displays the details for a patch baseline. Command:: - aws ssm get-patch-baseline --baseline-id "pb-00dbb759999aa2bc3" + aws ssm get-patch-baseline --baseline-id "pb-0123456789abcdef0" Output:: { - "BaselineId":"pb-00dbb759999aa2bc3", - "Name":"Windows-Server-2012R2", - "PatchGroups":[ - "Web Servers" - ], - "RejectedPatches":[ - - ], - "GlobalFilters":{ - "PatchFilters":[ - - ] - }, - "ApprovalRules":{ - "PatchRules":[ - { - "PatchFilterGroup":{ - "PatchFilters":[ - { - "Values":[ - "Important", - "Critical" - ], - "Key":"MSRC_SEVERITY" - }, - { - "Values":[ - "SecurityUpdates" - ], - "Key":"CLASSIFICATION" - }, - { - "Values":[ - "WindowsServer2012R2" - ], - "Key":"PRODUCT" - } - ] - }, - "ApproveAfterDays":5 - } - ] - }, - "ModifiedDate":1480997823.81, - "CreatedDate":1480997823.81, - "ApprovedPatches":[ - - ], - "Description":"Windows Server 2012 R2, Important and Critical security updates" + "BaselineId": "pb-0123456789abcdef0", + "Name": "WindowsPatching", + "OperatingSystem": "WINDOWS", + "GlobalFilters": { + "PatchFilters": [] + }, + "ApprovalRules": { + "PatchRules": [ + { + "PatchFilterGroup": { + "PatchFilters": [ + { + "Key": "PRODUCT", + "Values": [ + "WindowsServer2016" + ] + } + ] + }, + "ComplianceLevel": "CRITICAL", + "ApproveAfterDays": 0, + "EnableNonSecurity": false + } + ] + }, + "ApprovedPatches": [], + "ApprovedPatchesComplianceLevel": "UNSPECIFIED", + "ApprovedPatchesEnableNonSecurity": false, + "RejectedPatches": [], + "RejectedPatchesAction": "ALLOW_AS_DEPENDENCY", + "PatchGroups": [ + "QA", + "DEV" + ], + "CreatedDate": 1550244180.465, + "ModifiedDate": 1550244180.465, + "Description": "Patches for Windows Servers", + "Sources": [] } diff --git a/bin/awscli/examples/ssm/get-service-setting.rst b/bin/awscli/examples/ssm/get-service-setting.rst new file mode 100644 index 00000000..b43ddec0 --- /dev/null +++ b/bin/awscli/examples/ssm/get-service-setting.rst @@ -0,0 +1,21 @@ +**To retrieve the service setting for Parameter Store throughput** + +The following ``get-service-setting`` This example retrieves the current service setting for Parameter Store throughput in the specified region. :: + + aws ssm get-service-setting \ + --setting-id arn:aws:ssm:us-east-1:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled + +Output:: + + { + "ServiceSetting": { + "SettingId": "/ssm/parameter-store/high-throughput-enabled", + "SettingValue": "false", + "LastModifiedDate": 1555532818.578, + "LastModifiedUser": "System", + "ARN": "arn:aws:ssm:us-east-1:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled", + "Status": "Default" + } + } + +For more information, see `Increasing Parameter Store Throughput `_ in the *AWS Systems Manager Users Guide*. diff --git a/bin/awscli/examples/ssm/label-parameter-version.rst b/bin/awscli/examples/ssm/label-parameter-version.rst new file mode 100644 index 00000000..388408e8 --- /dev/null +++ b/bin/awscli/examples/ssm/label-parameter-version.rst @@ -0,0 +1,21 @@ +**To add a label to latest version of a parameter** + +This example adds a label to the latest version of a parameter. + +Command:: + + aws ssm label-parameter-version --name "softwareversion" --labels "DevelopmentReady" + +Output:: + + { + "InvalidLabels": [] + } + +**To add a label to a specific version of a parameter** + +This example adds a label to the specified version of a parameter. + +Command:: + + aws ssm label-parameter-version --name "softwareversion" --parameter-version "2" --labels "ProductionReady" diff --git a/bin/awscli/examples/ssm/list-association-versions.rst b/bin/awscli/examples/ssm/list-association-versions.rst new file mode 100644 index 00000000..0bcc23c1 --- /dev/null +++ b/bin/awscli/examples/ssm/list-association-versions.rst @@ -0,0 +1,38 @@ +**To list all versions of an association for a specific association ID** + +This example lists all versions of the specified associations. + +Command:: + + aws ssm list-association-versions --association-id "8dfe3659-4309-493a-8755-0123456789ab" + +Output:: + + { + "AssociationVersions": [ + { + "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab", + "AssociationVersion": "1", + "CreatedDate": 1550505536.726, + "Name": "AWS-UpdateSSMAgent", + "Parameters": { + "allowDowngrade": [ + "false" + ], + "version": [ + "" + ] + }, + "Targets": [ + { + "Key": "InstanceIds", + "Values": [ + "i-1234567890abcdef0" + ] + } + ], + "ScheduleExpression": "cron(0 00 12 ? * SUN *)", + "AssociationName": "UpdateSSMAgent" + } + ] + } diff --git a/bin/awscli/examples/ssm/list-associations.rst b/bin/awscli/examples/ssm/list-associations.rst index dfb31b31..2aa5d88d 100644 --- a/bin/awscli/examples/ssm/list-associations.rst +++ b/bin/awscli/examples/ssm/list-associations.rst @@ -4,14 +4,25 @@ This example lists all the associations for an instance. Command:: - aws ssm list-associations --association-filter-list "key=InstanceId,value=i-0000293ffd8c57862" + aws ssm list-associations --association-filter-list "key=InstanceId,value=i-1234567890abcdef0" Output:: { "Associations": [ { - "InstanceId": "i-0000293ffd8c57862", + "Name": "AWS-UpdateSSMAgent", + "InstanceId": "i-1234567890abcdef0", + "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab", + "AssociationVersion": "1", + "Targets": [ + { + "Key": "InstanceIds", + "Values": [ + "i-016648b75dd622dab" + ] + } + ], "Overview": { "Status": "Pending", "DetailedStatus": "Associated", @@ -19,23 +30,15 @@ Output:: "Pending": 1 } }, - "AssociationId": "d8617c07-2079-4c18-9847-1655fc2698b0", - "Name": "AWS-UpdateSSMAgent", - "Targets": [ - { - "Values": [ - "i-0000293ffd8c57862" - ], - "Key": "InstanceIds" - } - ] + "ScheduleExpression": "cron(0 00 12 ? * SUN *)", + "AssociationName": "UpdateSSMAgent" } ] } **To list your associations for a specific document** -This example lists all associations for the a document. +This example lists all associations for the specified document. Command:: @@ -46,44 +49,49 @@ Output:: { "Associations": [ { - "InstanceId": "i-0000293ffd8c57862", - "Overview": { - "Status": "Pending", - "DetailedStatus": "Associated", - "AssociationStatusAggregatedCount": { - "Pending": 1 - } - }, - "AssociationId": "d8617c07-2079-4c18-9847-1655fc2698b0", "Name": "AWS-UpdateSSMAgent", + "InstanceId": "i-1234567890abcdef0", + "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab", + "AssociationVersion": "1", "Targets": [ { + "Key": "InstanceIds", "Values": [ - "i-0000293ffd8c57862" - ], - "Key": "InstanceIds" + "i-1234567890abcdef0" + ] } - ] - }, - { - "Name": "AWS-UpdateSSMAgent", - "LastExecutionDate": 1487876123.0, - "InstanceId": "i-0cb2b964d3e14fd9f", + ], + "LastExecutionDate": 1550505828.548, "Overview": { "Status": "Success", + "DetailedStatus": "Success", "AssociationStatusAggregatedCount": { "Success": 1 } }, - "AssociationId": "2ccfbc46-5fe4-4e5c-ba46-70b56cc93f53", + "ScheduleExpression": "cron(0 00 12 ? * SUN *)", + "AssociationName": "UpdateSSMAgent" + }, + { + "Name": "AWS-UpdateSSMAgent", + "InstanceId": "i-9876543210abcdef0", + "AssociationId": "fbc07ef7-b985-4684-b82b-0123456789ab", + "AssociationVersion": "1", "Targets": [ { + "Key": "InstanceIds", "Values": [ - "i-0cb2b964d3e14fd9f" - ], - "Key": "InstanceIds" + "i-9876543210abcdef0" + ] + } + ], + "LastExecutionDate": 1550507531.0, + "Overview": { + "Status": "Success", + "AssociationStatusAggregatedCount": { + "Success": 1 } - ] + } } ] } diff --git a/bin/awscli/examples/ssm/list-command-invocations.rst b/bin/awscli/examples/ssm/list-command-invocations.rst index 922f38e9..8cbc3c83 100755 --- a/bin/awscli/examples/ssm/list-command-invocations.rst +++ b/bin/awscli/examples/ssm/list-command-invocations.rst @@ -4,45 +4,89 @@ This example lists all the invocations of a command. Command:: - aws ssm list-command-invocations --command-id "b8eac879-0541-439d-94ec-47a80d554f44" --details + aws ssm list-command-invocations --command-id "ef7fdfd8-9b57-4151-a15c-db9a12345678" --details Output:: { "CommandInvocations": [ - { - "Comment": "IP config", - "Status": "Success", - "CommandPlugins": [ - { - "Status": "Success", - "ResponseStartDateTime": 1487794396.651, - "StandardErrorUrl": "", - "OutputS3BucketName": "", - "OutputS3Region": "us-west-2", - "OutputS3KeyPrefix": "", - "ResponseCode": 0, - "Output": "eth0 Link encap:Ethernet HWaddr 06:41:38:F5:D6:EF \n inet addr:172.31.44.222 Bcast:172.31.47.255 Mask:255.255.240.0\n inet6 addr: fe80::441:38ff:fef5:d6ef/64 Scope:Link\n UP BROADCAST RUNNING MULTICAST MTU:9001 Metric:1\n RX packets:186705 errors:0 dropped:0 overruns:0 frame:0\n TX packets:188811 errors:0 dropped:0 overruns:0 carrier:0\n collisions:0 txqueuelen:1000 \n RX bytes:91749280 (87.4 MiB) TX bytes:31721645 (30.2 MiB)\n\nlo Link encap:Local Loopback \n inet addr:127.0.0.1 Mask:255.0.0.0\n inet6 addr: ::1/128 Scope:Host\n UP LOOPBACK RUNNING MTU:65536 Metric:1\n RX packets:2 errors:0 dropped:0 overruns:0 frame:0\n X packets:2 errors:0 dropped:0 overruns:0 carrier:0\n collisions:0 txqueuelen:1 \n RX bytes:140 (140.0 b) TX bytes:140 (140.0 b)\n\n", - "ResponseFinishDateTime": 1487794396.655, - "StatusDetails": "Success", - "StandardOutputUrl": "", - "Name": "aws:runShellScript" - } - ], - "ServiceRole": "", - "InstanceId": "i-0cb2b964d3e14fd9f", - "DocumentName": "AWS-RunShellScript", - "NotificationConfig": { - "NotificationArn": "", - "NotificationEvents": [], - "NotificationType": "" - }, - "StatusDetails": "Success", - "StandardOutputUrl": "", - "StandardErrorUrl": "", - "InstanceName": "", - "CommandId": "b8eac879-0541-439d-94ec-47a80d554f44", - "RequestedDateTime": 1487794396.363 - } - ] + { + "CommandId": "ef7fdfd8-9b57-4151-a15c-db9a12345678", + "InstanceId": "i-1234567890abcdef0", + "InstanceName": "", + "Comment": "", + "DocumentName": "AWS-RunPowerShellScript", + "DocumentVersion": "1", + "RequestedDateTime": 1550172741.988, + "Status": "Success", + "StatusDetails": "Success", + "StandardOutputUrl": "", + "StandardErrorUrl": "", + "CommandPlugins": [ + { + "Name": "aws:runPowerShellScript", + "Status": "Success", + "StatusDetails": "Success", + "ResponseCode": 0, + "ResponseStartDateTime": 1550172742.696, + "ResponseFinishDateTime": 1550172743.245, + "Output": "HelloWorld\r\n", + "StandardOutputUrl": "", + "StandardErrorUrl": "", + "OutputS3Region": "us-east-1", + "OutputS3BucketName": "", + "OutputS3KeyPrefix": "" + } + ], + "ServiceRole": "", + "NotificationConfig": { + "NotificationArn": "", + "NotificationEvents": [], + "NotificationType": "" + }, + "CloudWatchOutputConfig": { + "CloudWatchLogGroupName": "", + "CloudWatchOutputEnabled": false + } + }, + { + "CommandId": "ef7fdfd8-9b57-4151-a15c-db9a12345678", + "InstanceId": "i-12345abcdef678901", + "InstanceName": "", + "Comment": "", + "DocumentName": "AWS-RunPowerShellScript", + "DocumentVersion": "1", + "RequestedDateTime": 1550172741.906, + "Status": "Success", + "StatusDetails": "Success", + "StandardOutputUrl": "", + "StandardErrorUrl": "", + "CommandPlugins": [ + { + "Name": "aws:runPowerShellScript", + "Status": "Success", + "StatusDetails": "Success", + "ResponseCode": 0, + "ResponseStartDateTime": 1550172742.291, + "ResponseFinishDateTime": 1550172742.694, + "Output": "HelloWorld\r\n", + "StandardOutputUrl": "", + "StandardErrorUrl": "", + "OutputS3Region": "us-east-1", + "OutputS3BucketName": "", + "OutputS3KeyPrefix": "" + } + ], + "ServiceRole": "", + "NotificationConfig": { + "NotificationArn": "", + "NotificationEvents": [], + "NotificationType": "" + }, + "CloudWatchOutputConfig": { + "CloudWatchLogGroupName": "", + "CloudWatchOutputEnabled": false + } + } + ] } diff --git a/bin/awscli/examples/ssm/list-commands.rst b/bin/awscli/examples/ssm/list-commands.rst index 257e46a4..3a30195e 100755 --- a/bin/awscli/examples/ssm/list-commands.rst +++ b/bin/awscli/examples/ssm/list-commands.rst @@ -53,3 +53,11 @@ This example gets the status of a command. Command:: aws ssm list-commands --command-id "0831e1a8-a1ac-4257-a1fd-c831b48c4107" + +**To get the status of commands requested after a specific date** + +This example returns the details of commands requested after the specified date. + +Command:: + + aws ssm list-commands --filter "key=InvokedAfter,value=2019-02-01T00:00:00Z" \ No newline at end of file diff --git a/bin/awscli/examples/ssm/list-compliance-items.rst b/bin/awscli/examples/ssm/list-compliance-items.rst new file mode 100644 index 00000000..2382b786 --- /dev/null +++ b/bin/awscli/examples/ssm/list-compliance-items.rst @@ -0,0 +1,66 @@ +**To list compliance items for a specific instance** + +This example lists all compliance items for the specified instance. + +Command:: + + aws ssm list-compliance-items --resource-ids "i-1234567890abcdef0" --resource-types "ManagedInstance" + +Output:: + + { + "ComplianceItems": [ + { + "ComplianceType": "Association", + "ResourceType": "ManagedInstance", + "ResourceId": "i-1234567890abcdef0", + "Id": "8dfe3659-4309-493a-8755-0123456789ab", + "Title": "", + "Status": "COMPLIANT", + "Severity": "UNSPECIFIED", + "ExecutionSummary": { + "ExecutionTime": 1550408470.0 + }, + "Details": { + "DocumentName": "AWS-GatherSoftwareInventory", + "DocumentVersion": "1" + } + }, + { + "ComplianceType": "Association", + "ResourceType": "ManagedInstance", + "ResourceId": "i-1234567890abcdef0", + "Id": "e4c2ed6d-516f-41aa-aa2a-0123456789ab", + "Title": "", + "Status": "COMPLIANT", + "Severity": "UNSPECIFIED", + "ExecutionSummary": { + "ExecutionTime": 1550508475.0 + }, + "Details": { + "DocumentName": "AWS-UpdateSSMAgent", + "DocumentVersion": "1" + } + }, + ... + ], + "NextToken": "--token string truncated--" + } + +**To list compliance items for a specific instance and association ID** + +This example lists all compliance items for the specified instance and association ID. + +Command:: + + aws ssm list-compliance-items --resource-ids "i-1234567890abcdef0" --resource-types "ManagedInstance" --filters "Key=ComplianceType,Values=Association,Type=EQUAL" "Key=Id,Values=e4c2ed6d-516f-41aa-aa2a-0123456789ab,Type=EQUAL" + + +**To list compliance items for a instance after a specific date and time** + +This example lists all compliance items for an instance after the specified date and time. + +Command:: + + aws ssm list-compliance-items --resource-ids "i-1234567890abcdef0" --resource-types "ManagedInstance" --filters "Key=ExecutionTime,Values=2019-02-18T16:00:00Z,Type=GREATER_THAN" + diff --git a/bin/awscli/examples/ssm/list-compliance-summaries.rst b/bin/awscli/examples/ssm/list-compliance-summaries.rst new file mode 100644 index 00000000..0bf32379 --- /dev/null +++ b/bin/awscli/examples/ssm/list-compliance-summaries.rst @@ -0,0 +1,75 @@ +**To list compliance summaries for all compliance types** + +This example lists compliance summaries for all compliance types in your account. + +Command:: + + aws ssm list-compliance-summaries + +Output:: + + { + "ComplianceSummaryItems": [ + { + "ComplianceType": "Association", + "CompliantSummary": { + "CompliantCount": 2, + "SeveritySummary": { + "CriticalCount": 0, + "HighCount": 0, + "MediumCount": 0, + "LowCount": 0, + "InformationalCount": 0, + "UnspecifiedCount": 2 + } + }, + "NonCompliantSummary": { + "NonCompliantCount": 0, + "SeveritySummary": { + "CriticalCount": 0, + "HighCount": 0, + "MediumCount": 0, + "LowCount": 0, + "InformationalCount": 0, + "UnspecifiedCount": 0 + } + } + }, + { + "ComplianceType": "Patch", + "CompliantSummary": { + "CompliantCount": 1, + "SeveritySummary": { + "CriticalCount": 0, + "HighCount": 0, + "MediumCount": 0, + "LowCount": 0, + "InformationalCount": 0, + "UnspecifiedCount": 1 + } + }, + "NonCompliantSummary": { + "NonCompliantCount": 1, + "SeveritySummary": { + "CriticalCount": 1, + "HighCount": 0, + "MediumCount": 0, + "LowCount": 0, + "InformationalCount": 0, + "UnspecifiedCount": 0 + } + } + }, + ... + ], + "NextToken": "eyJOZXh0VG9rZW4iOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAyfQ==" + } + +**To list compliance summaries for a specific compliance type** + +This example lists the compliance summary for the Patch compliance type. + +Command:: + + aws ssm list-compliance-summaries --filters "Key=ComplianceType,Values=Patch,Type=EQUAL" + diff --git a/bin/awscli/examples/ssm/list-documents.rst b/bin/awscli/examples/ssm/list-documents.rst index 243b9ac0..604a6ac1 100644 --- a/bin/awscli/examples/ssm/list-documents.rst +++ b/bin/awscli/examples/ssm/list-documents.rst @@ -34,3 +34,40 @@ Output:: ... ] } + +**To list all Command configuration documents in your account that you own** + +This example lists all Command documents in your account that you own. + +Command:: + + aws ssm list-documents --document-filter-list key=Owner,value=Self key=DocumentType,value=Command + +Output:: + + { + "DocumentIdentifiers": [ + { + "Name": "RunPowerShellScript", + "PlatformTypes": [ + "Windows", + "Linux" + ], + "DocumentVersion": "1", + "DocumentType": "Command", + "Owner": "111222333444", + "SchemaVersion": "2.0" + }, + { + "Name": "RunShellScript", + "PlatformTypes": [ + "Linux" + ], + "DocumentVersion": "1", + "DocumentType": "Command", + "Owner": "111222333444", + "SchemaVersion": "1.2" + }, + ... + ] + } \ No newline at end of file diff --git a/bin/awscli/examples/ssm/list-inventory-entries.rst b/bin/awscli/examples/ssm/list-inventory-entries.rst index 88212031..d278d606 100755 --- a/bin/awscli/examples/ssm/list-inventory-entries.rst +++ b/bin/awscli/examples/ssm/list-inventory-entries.rst @@ -1,21 +1,33 @@ -**To view custom inventory entries for an instance** +**To view specific inventory type entries for an instance** -This example lists all the custom inventory entries for an instance. +This example lists the inventory entries for the AWS:Application inventory type on a specific instance. Command:: - aws ssm list-inventory-entries --instance-id "i-0cb2b964d3e14fd9f" --type-name "Custom:RackInfo" + aws ssm list-inventory-entries --instance-id "i-1234567890abcdef0" --type-name "AWS:Application" Output:: { - "InstanceId": "i-0cb2b964d3e14fd9f", - "TypeName": "Custom:RackInfo", - "Entries": [ - { - "RackLocation": "Bay B/Row C/Rack D/Shelf E" - } - ], - "SchemaVersion": "1.0", - "CaptureTime": "2016-08-22T10:01:01Z" + "TypeName": "AWS:Application", + "InstanceId": "i-1234567890abcdef0", + "SchemaVersion": "1.1", + "CaptureTime": "2019-02-15T12:17:55Z", + "Entries": [ + { + "Architecture": "i386", + "Name": "Amazon SSM Agent", + "PackageId": "{88a60be2-89a1-4df8-812a-80863c2a2b68}", + "Publisher": "Amazon Web Services", + "Version": "2.3.274.0" + }, + { + "Architecture": "x86_64", + "InstalledTime": "2018-05-03T13:42:34Z", + "Name": "AmazonCloudWatchAgent", + "Publisher": "", + "Version": "1.200442.0" + }, + ... + ] } diff --git a/bin/awscli/examples/ssm/list-resource-compliance-summaries.rst b/bin/awscli/examples/ssm/list-resource-compliance-summaries.rst new file mode 100644 index 00000000..b54063b2 --- /dev/null +++ b/bin/awscli/examples/ssm/list-resource-compliance-summaries.rst @@ -0,0 +1,90 @@ +**To list resource-level compliance summary counts** + +This example lists resource-level compliance summary counts. + +Command:: + + aws ssm list-resource-compliance-summaries + +Output:: + + { + "ResourceComplianceSummaryItems": [ + { + "ComplianceType": "Association", + "ResourceType": "ManagedInstance", + "ResourceId": "i-1234567890abcdef0", + "Status": "COMPLIANT", + "OverallSeverity": "UNSPECIFIED", + "ExecutionSummary": { + "ExecutionTime": 1550509273.0 + }, + "CompliantSummary": { + "CompliantCount": 2, + "SeveritySummary": { + "CriticalCount": 0, + "HighCount": 0, + "MediumCount": 0, + "LowCount": 0, + "InformationalCount": 0, + "UnspecifiedCount": 2 + } + }, + "NonCompliantSummary": { + "NonCompliantCount": 0, + "SeveritySummary": { + "CriticalCount": 0, + "HighCount": 0, + "MediumCount": 0, + "LowCount": 0, + "InformationalCount": 0, + "UnspecifiedCount": 0 + } + } + }, + { + "ComplianceType": "Patch", + "ResourceType": "ManagedInstance", + "ResourceId": "i-9876543210abcdef0", + "Status": "COMPLIANT", + "OverallSeverity": "UNSPECIFIED", + "ExecutionSummary": { + "ExecutionTime": 1550248550.0, + "ExecutionId": "7abb6378-a4a5-4f10-8312-0123456789ab", + "ExecutionType": "Command" + }, + "CompliantSummary": { + "CompliantCount": 397, + "SeveritySummary": { + "CriticalCount": 0, + "HighCount": 0, + "MediumCount": 0, + "LowCount": 0, + "InformationalCount": 0, + "UnspecifiedCount": 397 + } + }, + "NonCompliantSummary": { + "NonCompliantCount": 0, + "SeveritySummary": { + "CriticalCount": 0, + "HighCount": 0, + "MediumCount": 0, + "LowCount": 0, + "InformationalCount": 0, + "UnspecifiedCount": 0 + } + } + } + ], + "NextToken": "--token string truncated--" + } + +**To list resource-level compliance summaries for a specific compliance type** + +This example lists resource-level compliance summaries for the Patch compliance type. + +Command:: + + aws ssm list-resource-compliance-summaries --filters "Key=ComplianceType,Values=Patch,Type=EQUAL" + diff --git a/bin/awscli/examples/ssm/list-resource-data-sync.rst b/bin/awscli/examples/ssm/list-resource-data-sync.rst new file mode 100644 index 00000000..2b871df6 --- /dev/null +++ b/bin/awscli/examples/ssm/list-resource-data-sync.rst @@ -0,0 +1,27 @@ +**To list your resource data sync configurations** + +This example retrieves information about your resource data sync configurations. + +Command:: + + aws ssm list-resource-data-sync --sync-name "ssm-resource-data-sync" + +Output:: + + { + "ResourceDataSyncItems": [ + { + "SyncName": "ssm-resource-data-sync", + "S3Destination": { + "BucketName": "ssm-resource-data-sync", + "SyncFormat": "JsonSerDe", + "Region": "us-east-1" + }, + "LastSyncTime": 1550261472.003, + "LastSuccessfulSyncTime": 1550261472.003, + "LastStatus": "Successful", + "SyncCreatedTime": 1543235736.72, + "LastSyncStatusMessage": "The sync was successfully completed" + } + ] + } diff --git a/bin/awscli/examples/ssm/list-tags-for-resource.rst b/bin/awscli/examples/ssm/list-tags-for-resource.rst index 0210f797..1d19aae7 100755 --- a/bin/awscli/examples/ssm/list-tags-for-resource.rst +++ b/bin/awscli/examples/ssm/list-tags-for-resource.rst @@ -4,15 +4,15 @@ This example lists the tags for a patch baseline. Command:: - aws ssm list-tags-for-resource --resource-type "PatchBaseline" --resource-id "pb-0869b5cf84fa07081" + aws ssm list-tags-for-resource --resource-type "PatchBaseline" --resource-id "pb-0123456789abcdef0" Output:: { - "TagList": [ - { - "Value": "Project", - "Key": "Testing" - } - ] + "TagList": [ + { + "Key": "Project", + "Value": "Testing" + } + ] } diff --git a/bin/awscli/examples/ssm/put-compliance-items.rst b/bin/awscli/examples/ssm/put-compliance-items.rst new file mode 100644 index 00000000..cb693541 --- /dev/null +++ b/bin/awscli/examples/ssm/put-compliance-items.rst @@ -0,0 +1,8 @@ +**To register a compliance type and compliance details to a designated instance** + +This example registers the compliance type ``Custom:AVCheck`` to the specified managed instance. There is no output if the command succeeds. + +Command:: + + aws ssm put-compliance-items --resource-id "i-1234567890abcdef0" --resource-type "ManagedInstance" --compliance-type "Custom:AVCheck" --execution-summary "ExecutionTime=2019-02-18T16:00:00Z" --items "Id=Version2.0,Title=ScanHost,Severity=CRITICAL,Status=COMPLIANT" + diff --git a/bin/awscli/examples/ssm/put-inventory.rst b/bin/awscli/examples/ssm/put-inventory.rst index 9a13cb6a..a065ae42 100755 --- a/bin/awscli/examples/ssm/put-inventory.rst +++ b/bin/awscli/examples/ssm/put-inventory.rst @@ -2,7 +2,10 @@ This example assigns rack location information to an instance. There is no output if the command succeeds. -Command:: +Command (Linux):: - aws ssm put-inventory --instance-id "i-0cb2b964d3e14fd9f" --items '[{"CaptureTime": "2016-08-22T10:01:01Z", "TypeName": "Custom:RackInfo", "Content":[{"RackLocation": "Bay B/Row C/Rack D/Shelf E"}], "SchemaVersion": "1.0"}]' - \ No newline at end of file + aws ssm put-inventory --instance-id "i-016648b75dd622dab" --items '[{"TypeName": "Custom:RackInfo","SchemaVersion": "1.0","CaptureTime": "2019-01-22T10:01:01Z","Content":[{"RackLocation": "Bay B/Row C/Rack D/Shelf E"}]}]' + +Command (Windows):: + + aws ssm put-inventory --instance-id "i-016648b75dd622dab" --items "TypeName=Custom:RackInfo,SchemaVersion=1.0,CaptureTime=2019-01-22T10:01:01Z,Content=[{RackLocation='Bay B/Row C/Rack D/Shelf F'}]" \ No newline at end of file diff --git a/bin/awscli/examples/ssm/put-parameter.rst b/bin/awscli/examples/ssm/put-parameter.rst index 528064ec..5e0fc8f1 100755 --- a/bin/awscli/examples/ssm/put-parameter.rst +++ b/bin/awscli/examples/ssm/put-parameter.rst @@ -1,24 +1,93 @@ -**To create a parameter that uses a String data type** +**Example 1: To change a parameter value** -This example creates a parameter. There is no output if the command succeeds. +The following ``put-parameter`` example changes the value of a parameter. :: -Command:: + aws ssm put-parameter \ + --name "welcome" \ + --type "String" \ + --value "good day sunshine" \ + --overwrite - aws ssm put-parameter --name "welcome" --type "String" --value "helloWorld" +Output:: -**To create a Secure String parameter** + { + "Version": 2 + } -This example creates a Secure String parameter. Singles quotes are used so that the literal value is passed. There is no output if the command succeeds. +For more information, see `About Parameters `__ in the *AWS Systems Manager User Guide*. -Command:: +**Example 2: To create an advanced parameter** - aws ssm put-parameter --name 'password' --type "SecureString" --value 'a value, for example P@ssW%rd#1' +The following ``put-parameter`` example creates an advanced parameter. :: -**To change a parameter value** + aws ssm put-parameter \ + --name "advanced-parameter" \ + --value "This is an advanced parameter" \ + --type "String" \ + --tier Advanced -This example changes the value of a parameter. There is no output if the command succeeds. +Output:: -Command:: + { + "Version": 1 + } - aws ssm put-parameter --name "welcome" --type "String" --value "good day sunshine" --overwrite - +For more information, see `About Advanced Parameters `__ in the *AWS Systems Manager User Guide*. + +**Example 3: To convert a standard parameter to an advanced parameter** + +The following ``put-parameter`` example converts a existing standard parameter into an advanced parameter. :: + + aws ssm put-parameter \ + --name "convert" \ + --value "Test" \ + --type "String" \ + --tier Advanced \ + --overwrite + +Output:: + + { + "Version": 2 + } + +For more information, see `About Advanced Parameters `__ in the *AWS Systems Manager User Guide*. + +**Example 4: To create a parameter with a policy attached** + +The following ``put-parameter`` example creates an advanced parameter with a parameter policy attached. :: + + aws ssm put-parameter \ + --name "/Finance/Payroll/elixir3131" \ + --value "P@sSwW)rd" \ + --type "SecureString" \ + --tier Advanced \ + --policies "[{\"Type\":\"Expiration\",\"Version\":\"1.0\",\"Attributes\":{\"Timestamp\":\"2019-05-13T00:00:00.000Z\"}},{\"Type\":\"ExpirationNotification\",\"Version\":\"1.0\",\"Attributes\":{\"Before\":\"5\",\"Unit\":\"Days\"}},{\"Type\":\"NoChangeNotification\",\"Version\":\"1.0\",\"Attributes\":{\"After\":\"60\",\"Unit\":\"Days\"}}]" + +Output:: + + { + "Version": 1 + } + +For more information, see `Working with Parameter Policies `__ in the *AWS Systems Manager User Guide*. + +**Example 5: To add a policy to an existing parameter** + +The following ``put-parameter`` example attaches a policy to an existing advanced parameter. :: + + aws ssm put-parameter \ + --name "/Finance/Payroll/elixir3131" \ + --value "N3wP@sSwW)rd" \ + --type "SecureString" \ + --tier Advanced \ + --policies "[{\"Type\":\"Expiration\",\"Version\":\"1.0\",\"Attributes\":{\"Timestamp\":\"2019-05-13T00:00:00.000Z\"}},{\"Type\":\"ExpirationNotification\",\"Version\":\"1.0\",\"Attributes\":{\"Before\":\"5\",\"Unit\":\"Days\"}},{\"Type\":\"NoChangeNotification\",\"Version\":\"1.0\",\"Attributes\":{\"After\":\"60\",\"Unit\":\"Days\"}}]" + --overwrite + +Output:: + + { + "Version": 2 + } + +For more information, see `Working with Parameter Policies `__ in the *AWS Systems Manager User Guide*. diff --git a/bin/awscli/examples/ssm/register-patch-baseline-for-patch-group.rst b/bin/awscli/examples/ssm/register-patch-baseline-for-patch-group.rst index 30b9f5cc..b13218e9 100755 --- a/bin/awscli/examples/ssm/register-patch-baseline-for-patch-group.rst +++ b/bin/awscli/examples/ssm/register-patch-baseline-for-patch-group.rst @@ -9,6 +9,6 @@ Command:: Output:: { - "PatchGroup": "Production", - "BaselineId": "pb-045f10b4f382baeda" + "BaselineId": "pb-045f10b4f382baeda", + "PatchGroup": "Production" } diff --git a/bin/awscli/examples/ssm/register-target-with-maintenance-window.rst b/bin/awscli/examples/ssm/register-target-with-maintenance-window.rst index 2f7c92c0..b46dfecd 100755 --- a/bin/awscli/examples/ssm/register-target-with-maintenance-window.rst +++ b/bin/awscli/examples/ssm/register-target-with-maintenance-window.rst @@ -1,6 +1,6 @@ -**To register a single target with a maintenance window** +**To register a single target with a Maintenance Window** -This example registers an instance with a maintenance window. +This example registers an instance with a Maintenance Window. Command:: @@ -12,17 +12,17 @@ Output:: "WindowTargetId":"1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d-1a2" } -**To register multiple targets with a maintenance window** +**To register multiple targets with a Maintenance Window** -This example registers two instances with a maintenance window. +This example registers two instances with a Maintenance Window. Command:: aws ssm register-target-with-maintenance-window --window-id "mw-ab12cd34ef56gh78" --target "Key=InstanceIds,Values=i-0000293ffd8c57862,i-0cb2b964d3e14fd9f" --owner-information "Two instances in a list" --resource-type "INSTANCE" -**To register a target with a maintenance window using EC2 tags** +**To register a target with a Maintenance Window using EC2 tags** -This example registers an instance with a maintenance window using EC2 tags. +This example registers an instance with a Maintenance Window using EC2 tags. Command:: diff --git a/bin/awscli/examples/ssm/register-task-with-maintenance-window.rst b/bin/awscli/examples/ssm/register-task-with-maintenance-window.rst index 1d62f365..0a1fbbea 100755 --- a/bin/awscli/examples/ssm/register-task-with-maintenance-window.rst +++ b/bin/awscli/examples/ssm/register-task-with-maintenance-window.rst @@ -56,7 +56,7 @@ Output:: **To register a task using a Maintenance Windows target ID** -This example registers a task using a Maintenance Window target ID. The maintenance window target ID was in the output of the ``aws ssm register-target-with-maintenance-window`` command, otherwise you can retrieve it from the output of the ``aws ssm describe-maintenance-window-targets`` command. +This example registers a task using a Maintenance Window target ID. The Maintenance Window target ID was in the output of the ``aws ssm register-target-with-maintenance-window`` command, otherwise you can retrieve it from the output of the ``aws ssm describe-maintenance-window-targets`` command. Command:: diff --git a/bin/awscli/examples/ssm/remove-tags-from-resource.rst b/bin/awscli/examples/ssm/remove-tags-from-resource.rst index 78fc0532..338aa485 100755 --- a/bin/awscli/examples/ssm/remove-tags-from-resource.rst +++ b/bin/awscli/examples/ssm/remove-tags-from-resource.rst @@ -4,4 +4,4 @@ This example removes the tags from a patch baseline. There is no output if the c Command:: - aws ssm remove-tags-from-resource --resource-type "PatchBaseline" --resource-id "pb-0869b5cf84fa07081" --tag-keys "Project" + aws ssm remove-tags-from-resource --resource-type "PatchBaseline" --resource-id "pb-0123456789abcdef0" --tag-keys "Project" diff --git a/bin/awscli/examples/ssm/reset-service-setting.rst b/bin/awscli/examples/ssm/reset-service-setting.rst new file mode 100644 index 00000000..3747e2ea --- /dev/null +++ b/bin/awscli/examples/ssm/reset-service-setting.rst @@ -0,0 +1,22 @@ +**To reset the service setting for Parameter Store throughput** + +The following ``reset-service-setting`` example resets the service setting for Parameter Store throughput in the specified region to no longer use increased throughput. :: + + aws ssm reset-service-setting \ + --setting-id arn:aws:ssm:us-east-1:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled + +Output:: + + { + "ServiceSetting": { + "SettingId": "/ssm/parameter-store/high-throughput-enabled", + "SettingValue": "false", + "LastModifiedDate": 1555532818.578, + "LastModifiedUser": "System", + "ARN": "arn:aws:ssm:us-east-1:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled", + "Status": "Default" + } + } + +For more information, see `Increasing Parameter Store Throughput `_ in the *AWS Systems Manager User Guide*. + diff --git a/bin/awscli/examples/ssm/resume-session.rst b/bin/awscli/examples/ssm/resume-session.rst new file mode 100644 index 00000000..7faa0042 --- /dev/null +++ b/bin/awscli/examples/ssm/resume-session.rst @@ -0,0 +1,20 @@ +**To resume a Session Manager session** + +This example resumes a Session Manager session with an instance after it has been disconnected. + +Note that this interactive command requires the Session Manager plugin to be installed on the client machine making the call. For more information, see `Install the Session Manager Plugin for the AWS CLI`_ in the *AWS Systems Manager User Guide*. + +.. _`Install the Session Manager Plugin for the AWS CLI`: http://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html + +Command:: + + aws ssm resume-session -session-id Dan-07a16060613c408b5 + +Output:: + + { + "SessionId": "Dan-07a16060613c408b5", + "TokenValue": "AAEAAVbTGsaOnyvcUoNGqifbv5r/8lgxuQljCuY8qVcvOnoBAAAAAFxtd3jIXAFUUXGTJ7zF/AWJPwDviOlF5p3dlAgrqVIVO6IEXhkHLz0/1gXKRKEME71E6TLOplLDJAMZ+kREejkZu4c5AxMkrQjMF+gtHP1bYJKTwtHQd1wjulPLexO8SHl7g5R/wekrj6WsDUpnEegFBfGftpAIz2GXQVfTJXKfkc5qepQ11C11DOIT2dozOqXgHwfQHfAKLErM5dWDZqKwyT1Z3iw7unQdm3p5qsbrugiOZ7CRANTE+ihfGa6MEJJ97Jmat/a2TspEnOjNn9Mvu5iwXIW2yCvWZrGUj+/QI5Xr7s1XJBEnSKR54o4fN0GV9RWl0RZsZm1m1ki0JJtiwwgZ", + "StreamUrl": "wss://ssmmessages.us-east-1.amazonaws.com/v1/data-channel/Dan-07a16060613c408b5?role=publish_subscribe" + } + diff --git a/bin/awscli/examples/ssm/send-automation-signal.rst b/bin/awscli/examples/ssm/send-automation-signal.rst new file mode 100644 index 00000000..35199c57 --- /dev/null +++ b/bin/awscli/examples/ssm/send-automation-signal.rst @@ -0,0 +1,40 @@ +**To send a signal to an Automation execution** + +This example sends the Approve signal to an Automation execution. There is no output if the command succeeds. + +Command:: + + aws ssm send-automation-signal --automation-execution-id 4105a4fc-f944-11e6-9d32-0a1b2c3d495h --signal-type "Approve" + +**To send an approve signal with a comment to an Automation execution** + +This example sends the Approve signal with a comment to an Automation execution. There is no output if the command succeeds. + +Command:: + + aws ssm send-automation-signal --automation-execution-id 4105a4fc-f944-11e6-9d32-0a1b2c3d495h --signal-type "Approve" --payload "Comment=Approved" + +**To start an Automation step** + +This example starts the specified step in an Automation execution. There is no output if the command succeeds. + +Command:: + + aws ssm send-automation-signal --automation-execution-id 4105a4fc-f944-11e6-9d32-0a1b2c3d495h --signal-type "StartStep" --payload "StepName=stopInstances" + +**To resume an Automation step** + +This example resumes the specified step in an Automation execution. There is no output if the command succeeds. + +Command:: + + aws ssm send-automation-signal --automation-execution-id 4105a4fc-f944-11e6-9d32-0a1b2c3d495h --signal-type "Resume" --payload "StepName=stopInstances" + +**To stop an Automation step** + +This example stops the specified step that is currently in progress within an Automation execution. There is no output if the command succeeds. + +Command:: + + aws ssm send-automation-signal --automation-execution-id 4105a4fc-f944-11e6-9d32-0a1b2c3d495h --signal-type "StopStep" --payload "StepExecutionId=35de5ba9-e3de-45ae-8c95-0123456789ab" + diff --git a/bin/awscli/examples/ssm/send-command.rst b/bin/awscli/examples/ssm/send-command.rst index 6048d969..2a1a6c41 100755 --- a/bin/awscli/examples/ssm/send-command.rst +++ b/bin/awscli/examples/ssm/send-command.rst @@ -1,56 +1,113 @@ -**To execute a command on one or more remote instances** +**Example 1: To run a command on one or more remote instances** -This example runs an echo command on a target instance. +The following ``send-command`` example runs an ``echo`` command on a target instance. :: -Command:: - - aws ssm send-command --document-name "AWS-RunPowerShellScript" --parameters commands=["echo helloWorld"] --targets "Key=instanceids,Values=i-0cb2b964d3e14fd9f" + aws ssm send-command \ + --document-name "AWS-RunShellScript" \ + --parameters commands=["echo HelloWorld"] \ + --targets "Key=instanceids,Values=i-1234567890abcdef0" \ + --comment "echo HelloWorld" Output:: - { - "Command": { - "Comment": "", - "Status": "Pending", - "MaxErrors": "0", - "Parameters": { - "commands": [ - "echo helloWorld" - ] - }, - "ExpiresAfter": 1487888845.833, - "ServiceRole": "", - "DocumentName": "AWS-RunPowerShellScript", - "TargetCount": 0, - "OutputS3BucketName": "", - "NotificationConfig": { - "NotificationArn": "", - "NotificationEvents": [], - "NotificationType": "" - }, - "CompletedCount": 0, - "Targets": [ - { - "Values": [ - "i-0cb2b964d3e14fd9f" - ], - "Key": "instanceids" + { + "Command": { + "CommandId": "92853adf-ba41-4cd6-9a88-142d119c083d", + "DocumentName": "AWS-RunShellScript", + "DocumentVersion": "", + "Comment": "echo HelloWorld", + "ExpiresAfter": 1550181014.717, + "Parameters": { + "commands": [ + "echo HelloWorld" + ] + }, + "InstanceIds": [ + "i-0f00f008a2dcbefe2" + ], + "Targets": [], + "RequestedDateTime": 1550173814.717, + "Status": "Pending", + "StatusDetails": "Pending", + "OutputS3BucketName": "", + "OutputS3KeyPrefix": "", + "MaxConcurrency": "50", + "MaxErrors": "0", + "TargetCount": 1, + "CompletedCount": 0, + "ErrorCount": 0, + "DeliveryTimedOutCount": 0, + "ServiceRole": "", + "NotificationConfig": { + "NotificationArn": "", + "NotificationEvents": [], + "NotificationType": "" + }, + "CloudWatchOutputConfig": { + "CloudWatchLogGroupName": "", + "CloudWatchOutputEnabled": false } - ], - "StatusDetails": "Pending", - "ErrorCount": 0, - "OutputS3KeyPrefix": "", - "RequestedDateTime": 1487885245.833, - "CommandId": "0d4fc863-2154-4e46-990e-d6a952469e91", - "InstanceIds": [], - "MaxConcurrency": "50" + } } - } -**To get IP information about an instance** +**Example 2: To get IP information about an instance** + +The following ``send-command`` example retrieves the IP information about an instance. :: + + aws ssm send-command \ + --instance-ids "i-1234567890abcdef0" \ + --document-name "AWS-RunShellScript" \ + --comment "IP config" \ + --parameters "commands=ifconfig" + +**Example 3: To runs a command on instances with specific tags** + +The following ``send-command`` example runs a command on instances that have the tag key "ENV" and the value "Dev". :: + + aws ssm send-command \ + --targets "Key=tag:ENV,Values=Dev" \ + --document-name "AWS-RunShellScript" \ + --parameters "commands=ifconfig" + +**Example 4: To runs a command that sends SNS Notifications** + +The following ``send-command`` example runs a command that sends SNS notifications for all notification events and the Command notification type. :: + + aws ssm send-command \ + --instance-ids "i-1234567890abcdef0" \ + --document-name "AWS-RunShellScript" \ + --comment "IP config" \ + --parameters "commands=ifconfig" \ + --service-role-arn "arn:aws:iam::123456789012:role/SNS_Role" \ + --notification-config "NotificationArn=arn:aws:sns:us-east-1:123456789012:SNSTopicName,NotificationEvents=All,NotificationType=Command" + +**Example 5: To run a command that outputs to S3 and CloudWatch** + +The following ``send-command`` example runs a command that outputs command details to an S3 bucket and to a CloudWatch Logs Group. :: + + aws ssm send-command \ + --instance-ids "i-1234567890abcdef0" \ + --document-name "AWS-RunShellScript" \ + --comment "IP config" \ + --parameters "commands=ifconfig" \ + --output-s3-bucket-name "s3-bucket-name" \ + --output-s3-key-prefix "runcommand" \ + --cloud-watch-output-config "CloudWatchOutputEnabled=true,CloudWatchLogGroupName=CWLGroupName" + +**Example 6: To run commands on multiple instances with different tags** + +The follwoing ``send-command`` example runs a command on instances with two different tag keys and values. :: + + aws ssm send-command \ + --document-name "AWS-RunPowerShellScript" \ + --parameters commands=["echo helloWorld"] \ + --targets Key=tag:Env,Values=Dev Key=tag:Role,Values=WebServers -This example gets the IP information about an instance. +**Example 7: To target multiple instances with the same tag key** -Command:: +The following ``send-command`` example runs a command on instances that have the same tag key but with different values. :: - aws ssm send-command --instance-ids "i-0cb2b964d3e14fd9f" --document-name "AWS-RunShellScript" --comment "IP config" --parameters "commands=ifconfig" --output text + aws ssm send-command \ + --document-name "AWS-RunPowerShellScript" \ + --parameters commands=["echo helloWorld"] \ + --targets Key=tag:Env,Values=Dev,Test diff --git a/bin/awscli/examples/ssm/start-associations-once.rst b/bin/awscli/examples/ssm/start-associations-once.rst new file mode 100644 index 00000000..7b82d0de --- /dev/null +++ b/bin/awscli/examples/ssm/start-associations-once.rst @@ -0,0 +1,8 @@ +**To execute an association immediately and only one time** + +This example executes the specified association immediately and only once. There is no output if the command succeeds. + +Command:: + + aws ssm start-associations-once --association-id "8dfe3659-4309-493a-8755-0123456789ab" + diff --git a/bin/awscli/examples/ssm/start-automation-execution.rst b/bin/awscli/examples/ssm/start-automation-execution.rst index cbc28237..70b853c3 100755 --- a/bin/awscli/examples/ssm/start-automation-execution.rst +++ b/bin/awscli/examples/ssm/start-automation-execution.rst @@ -4,10 +4,24 @@ This example executes a document. Command:: - aws ssm start-automation-execution --document-name "AWS-UpdateLinuxAmi" --parameters "AutomationAssumeRole=arn:aws:iam::812345678901:role/SSMAutomationRole,SourceAmiId=ami-f173cc91,IamInstanceProfileName=EC2InstanceRole" + aws ssm start-automation-execution --document-name "AWS-UpdateLinuxAmi" --parameters "AutomationAssumeRole=arn:aws:iam::123456789012:role/SSMAutomationRole,SourceAmiId=ami-f1730123,IamInstanceProfileName=EC2InstanceRole" Output:: { - "AutomationExecutionId": "4105a4fc-f944-11e6-9d32-8fb2db27a909" + "AutomationExecutionId": "4105a4fc-f944-11e6-9d32-0a1b2c3d495h" + } + +**To initiate the execution of an Automation document in multiple accounts** + +This example restarts Amazon EC2 instances in the 1a2b3c4d5e6f7g8h and a1b2c3d4e5f6h7 accounts, which are located in the us-east-2 and us-west-1 Regions. The instances must be tagged with Env-PROD. + +Command:: + + aws ssm start-automation-execution --document-name AWS-RestartEC2Instance --parameters AutomationAssumeRole=arn:aws:iam::123456789012:role/AWS-SystemsManager-AutomationAdministrationRole --target-parameter-name InstanceId --targets Key=tag:Env,Values=PROD --target-locations Accounts=1a2b3c4d5e6f7g8h,a1b2c3d4e5f6h7,Regions=us-east-2,us-west-1,ExecutionRoleName=AWS-SystemsManager-AutomationExecutionRole + +Output:: + + { + "AutomationExecutionId": "4105a4fc-f944-11e6-9d32-0a1b2c3d495h" } diff --git a/bin/awscli/examples/ssm/start-session.rst b/bin/awscli/examples/ssm/start-session.rst new file mode 100644 index 00000000..a60fc889 --- /dev/null +++ b/bin/awscli/examples/ssm/start-session.rst @@ -0,0 +1,16 @@ +**To start a Session Manager session** + +This example establishes a connection with an instance for a Session Manager session. + +Note that this interactive command requires the Session Manager plugin to be installed on the client machine making the call. For more information, see `Install the Session Manager Plugin for the AWS CLI`_ in the *AWS Systems Manager User Guide*. + +.. _`Install the Session Manager Plugin for the AWS CLI`: http://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html + +Command:: + + aws ssm start-session --target "i-1234567890abcdef0" + +Output:: + + Starting session with SessionId: Erik-07a16060613c408b5 + diff --git a/bin/awscli/examples/ssm/stop-automation-execution.rst b/bin/awscli/examples/ssm/stop-automation-execution.rst index 3053154d..0b3ecf47 100755 --- a/bin/awscli/examples/ssm/stop-automation-execution.rst +++ b/bin/awscli/examples/ssm/stop-automation-execution.rst @@ -4,5 +4,12 @@ This example stops an automation execution. There is no output if the command su Command:: - aws ssm stop-automation-execution --automation-execution-id "4105a4fc-f944-11e6-9d32-8fb2db27a909" - \ No newline at end of file + aws ssm stop-automation-execution --automation-execution-id "4105a4fc-f944-11e6-9d32-0a1b2c3d495h" + +**To cancel the execution of an Automation document** + +This example cancels an automation execution. There is no output if the command succeeds. + +Command:: + + aws ssm stop-automation-execution --automation-execution-id "4105a4fc-f944-11e6-9d32-0a1b2c3d495h" --type "Cancel" diff --git a/bin/awscli/examples/ssm/terminate-session.rst b/bin/awscli/examples/ssm/terminate-session.rst new file mode 100644 index 00000000..842bca16 --- /dev/null +++ b/bin/awscli/examples/ssm/terminate-session.rst @@ -0,0 +1,13 @@ +**To end a Session Manager session** + +This example permanently ends a session that was created by the user "Bob" and closes the data connection between the Session Manager client and SSM Agent on the instance. + +Command:: + + aws ssm terminate-session --session-id "Bob-07a16060613c408b5" + +Output:: + + { + "SessionId": "Bob-07a16060613c408b5" + } diff --git a/bin/awscli/examples/ssm/update-association-status.rst b/bin/awscli/examples/ssm/update-association-status.rst index 225483a5..470f4616 100644 --- a/bin/awscli/examples/ssm/update-association-status.rst +++ b/bin/awscli/examples/ssm/update-association-status.rst @@ -4,38 +4,40 @@ This example updates the association status of the association between an instan Command:: - aws ssm update-association-status --name "AWS-UpdateSSMAgent" --instance-id "i-0000293ffd8c57862" --association-status "Date=1424421071.939,Name=Pending,Message=temp_status_change,AdditionalInfo=Additional-Config-Needed" + aws ssm update-association-status --name "AWS-UpdateSSMAgent" --instance-id "i-1234567890abcdef0" --association-status "Date=1424421071.939,Name=Pending,Message=temp_status_change,AdditionalInfo=Additional-Config-Needed" Output:: { "AssociationDescription": { + "Name": "AWS-UpdateSSMAgent", + "InstanceId": "i-1234567890abcdef0", + "AssociationVersion": "1", + "Date": 1550507529.604, + "LastUpdateAssociationDate": 1550507806.974, "Status": { "Date": 1424421071.0, - "AdditionalInfo": "Additional-Config-Needed", + "Name": "Pending", "Message": "temp_status_change", - "Name": "Pending" + "AdditionalInfo": "Additional-Config-Needed" }, - "Name": "AWS-UpdateSSMAgent", - "InstanceId": "i-0000293ffd8c57862", "Overview": { - "Status": "Pending", - "DetailedStatus": "Associated", + "Status": "Success", "AssociationStatusAggregatedCount": { - "Pending": 1 + "Success": 1 } }, - "AssociationId": "d8617c07-2079-4c18-9847-1655fc2698b0", "DocumentVersion": "$DEFAULT", - "LastUpdateAssociationDate": 1487876122.564, - "Date": 1487876122.564, + "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab", "Targets": [ { + "Key": "InstanceIds", "Values": [ - "i-0000293ffd8c57862" - ], - "Key": "InstanceIds" + "i-1234567890abcdef0" + ] } - ] + ], + "LastExecutionDate": 1550507808.0, + "LastSuccessfulExecutionDate": 1550507808.0 } } diff --git a/bin/awscli/examples/ssm/update-association.rst b/bin/awscli/examples/ssm/update-association.rst index 9cbd860c..3cfcf1d2 100755 --- a/bin/awscli/examples/ssm/update-association.rst +++ b/bin/awscli/examples/ssm/update-association.rst @@ -4,32 +4,40 @@ This example updates an association with a new document version. Command:: - aws ssm update-association --association-id "4cc73e42-d5ae-4879-84f8-57e09c0efcd0" --document-version "\$LATEST" + aws ssm update-association --association-id "8dfe3659-4309-493a-8755-0123456789ab" --document-version "\$LATEST" Output:: { "AssociationDescription": { - "LastSuccessfulExecutionDate": 1487906247.0, "Name": "AWS-UpdateSSMAgent", - "LastExecutionDate": 1487906247.0, + "AssociationVersion": "2", + "Date": 1550508093.293, + "LastUpdateAssociationDate": 1550508106.596, "Overview": { - "Status": "Success", - "AssociationStatusAggregatedCount": { - "Success": 1 - } + "Status": "Pending", + "DetailedStatus": "Creating" }, - "AssociationId": "4cc73e42-d5ae-4879-84f8-57e09c0efcd0", "DocumentVersion": "$LATEST", - "LastUpdateAssociationDate": 1487906288.447, - "Date": 1487906246.999, + "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab", "Targets": [ { + "Key": "tag:Name", "Values": [ - "i-0cb2b964d3e14fd9f" - ], - "Key": "instanceids" + "Linux" + ] } - ] + ], + "LastExecutionDate": 1550508094.879, + "LastSuccessfulExecutionDate": 1550508094.879 } } + +**To update the schedule expression of an association** + +This example updates the schedule expression for the specified association. + +Command:: + + aws ssm update-association --association-id "8dfe3659-4309-493a-8755-0123456789ab" --schedule-expression "cron(0 0 0/4 1/1 * ? *)" + diff --git a/bin/awscli/examples/ssm/update-maintenance-window-target.rst b/bin/awscli/examples/ssm/update-maintenance-window-target.rst new file mode 100644 index 00000000..b4a4c1be --- /dev/null +++ b/bin/awscli/examples/ssm/update-maintenance-window-target.rst @@ -0,0 +1,26 @@ +**To update a Maintenance Window target** + +This example updates the name of a Maintenance Window target. + +Command:: + + aws ssm update-maintenance-window-target --window-id "mw-0c5ed765acEXAMPLE" --window-target-id "57e8344e-fe64-4023-8191-6bf05EXAMPLE" --name "NewName" + +Output:: + + { + "Description": "", + "OwnerInformation": "", + "WindowTargetId": "57e8344e-fe64-4023-8191-6bf05EXAMPLE", + "WindowId": "mw-0c5ed765acEXAMPLE", + "Targets": [ + { + "Values": [ + "i-1234567890EXAMPLE" + ], + "Key": "InstanceIds" + } + ], + "Name": "NewName" + } + \ No newline at end of file diff --git a/bin/awscli/examples/ssm/update-maintenance-window-task.rst b/bin/awscli/examples/ssm/update-maintenance-window-task.rst new file mode 100644 index 00000000..e108d1ee --- /dev/null +++ b/bin/awscli/examples/ssm/update-maintenance-window-task.rst @@ -0,0 +1,40 @@ +**To update a Maintenance Window task** + +This example updates the service role for a Maintenance Window task. + +Command:: + + aws ssm update-maintenance-window-task --window-id "mw-0c5ed765acEXAMPLE" --window-task-id "23d3809e-9fbe-4ddf-b41a-b49d7EXAMPLE" --service-role-arn "arn:aws:iam::111222333444:role/aws-service-role/ssm.amazonaws.com/AWSServiceRoleForAmazonSSM" + +Output:: + + { + "ServiceRoleArn": "arn:aws:iam::111222333444:role/aws-service-role/ssm.amazonaws.com/AWSServiceRoleForAmazonSSM", + "MaxErrors": "1", + "TaskArn": "AWS-UpdateEC2Config", + "MaxConcurrency": "1", + "WindowTaskId": "23d3809e-9fbe-4ddf-b41a-b49d7EXAMPLE", + "TaskParameters": {}, + "Priority": 1, + "TaskInvocationParameters": { + "RunCommand": { + "TimeoutSeconds": 600, + "Parameters": { + "allowDowngrade": [ + "false" + ] + } + } + }, + "WindowId": "mw-0c5ed765acEXAMPLE", + "Description": "UpdateEC2Config", + "Targets": [ + { + "Values": [ + "57e8344e-fe64-4023-8191-6bf05EXAMPLE" + ], + "Key": "WindowTargetIds" + } + ], + "Name": "UpdateEC2Config" + } diff --git a/bin/awscli/examples/ssm/update-maintenance-window.rst b/bin/awscli/examples/ssm/update-maintenance-window.rst index c904a676..e27bea2a 100755 --- a/bin/awscli/examples/ssm/update-maintenance-window.rst +++ b/bin/awscli/examples/ssm/update-maintenance-window.rst @@ -1,6 +1,6 @@ -**To update a maintenance window** +**To update a Maintenance Window** -This example updates the name of a maintenance window. +This example updates the name of a Maintenance Window. Command:: @@ -18,17 +18,17 @@ Output:: "Duration": 4 } -**To enable a maintenance window** +**To enable a Maintenance Window** -This example enables a maintenance window. +This example enables a Maintenance Window. Command:: aws ssm update-maintenance-window --window-id "mw-1a2b3c4d5e6f7g8h9" --enabled -**To disable a maintenance window** +**To disable a Maintenance Window** -This example disables a maintenance window. +This example disables a Maintenance Window. Command:: diff --git a/bin/awscli/examples/ssm/update-patch-baseline.rst b/bin/awscli/examples/ssm/update-patch-baseline.rst index 2f1673fc..b8377086 100755 --- a/bin/awscli/examples/ssm/update-patch-baseline.rst +++ b/bin/awscli/examples/ssm/update-patch-baseline.rst @@ -4,17 +4,14 @@ This example adds two patches as rejected and one patch as approved to a patch b Command:: - aws ssm update-patch-baseline --baseline-id "pb-045f10b4f382baeda" --rejected-patches "KB2032276" "MS10-048" --approved-patches "KB2124261" + aws ssm update-patch-baseline --baseline-id "pb-0123456789abcdef0" --rejected-patches "KB2032276" "MS10-048" --approved-patches "KB2124261" Output:: { - "BaselineId": "pb-045f10b4f382baeda", - "Name": "Production-Baseline", - "RejectedPatches": [ - "KB2032276", - "MS10-048" - ], + "BaselineId": "pb-0123456789abcdef0", + "Name": "WindowsPatching", + "OperatingSystem": "WINDOWS", "GlobalFilters": { "PatchFilters": [] }, @@ -24,34 +21,33 @@ Output:: "PatchFilterGroup": { "PatchFilters": [ { + "Key": "PRODUCT", "Values": [ - "Critical", - "Important", - "Moderate" - ], - "Key": "MSRC_SEVERITY" - }, - { - "Values": [ - "SecurityUpdates", - "Updates", - "UpdateRollups", - "CriticalUpdates" - ], - "Key": "CLASSIFICATION" + "WindowsServer2016" + ] } ] }, - "ApproveAfterDays": 7 + "ComplianceLevel": "CRITICAL", + "ApproveAfterDays": 0, + "EnableNonSecurity": false } ] }, - "ModifiedDate": 1487872602.453, - "CreatedDate": 1487870482.16, "ApprovedPatches": [ "KB2124261" ], - "Description": "Baseline containing all updates approved for production systems" + "ApprovedPatchesComplianceLevel": "UNSPECIFIED", + "ApprovedPatchesEnableNonSecurity": false, + "RejectedPatches": [ + "KB2032276", + "MS10-048" + ], + "RejectedPatchesAction": "ALLOW_AS_DEPENDENCY", + "CreatedDate": 1550244180.465, + "ModifiedDate": 1550244180.465, + "Description": "Patches for Windows Servers", + "Sources": [] } **To rename a patch baseline** @@ -60,5 +56,5 @@ This example renames a patch baseline. Command:: - aws ssm update-patch-baseline --baseline-id "pb-00dbb759999aa2bc3" --name "Windows-Server-2012-R2-Important-and-Critical-Security-Updates" + aws ssm update-patch-baseline --baseline-id "pb-0713accee01234567" --name "Windows-Server-2012-R2-Important-and-Critical-Security-Updates" \ No newline at end of file diff --git a/bin/awscli/examples/ssm/update-service-setting.rst b/bin/awscli/examples/ssm/update-service-setting.rst new file mode 100644 index 00000000..7edaf860 --- /dev/null +++ b/bin/awscli/examples/ssm/update-service-setting.rst @@ -0,0 +1,12 @@ +**To update the service setting for Parameter Store throughput** + +The following ``update-service-setting`` example updates the current service setting for Parameter Store throughput in the specified region to use increased throughput. :: + + aws ssm update-service-setting \ + --setting-id arn:aws:ssm:us-east-1:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled \ + --setting-value true + +This command produces no output. + +For more information, see `Increasing Parameter Store Throughput `_ in the *AWS Systems Manager User Guide*. + diff --git a/bin/awscli/examples/textract/analyze-document.rst b/bin/awscli/examples/textract/analyze-document.rst new file mode 100755 index 00000000..0944b926 --- /dev/null +++ b/bin/awscli/examples/textract/analyze-document.rst @@ -0,0 +1,59 @@ +**To analyze text in a document** + +The following ``analyze-document`` example shows how to analyze text in a document. :: + + aws textract analyze-document --document '{"S3Object":{"Bucket":"bucket","Name":"document"}}' --feature-types '["TABLES","FORMS"]' + +Output :: + + { + "Blocks": [ + { + "Geometry": { + "BoundingBox": { + "Width": 1.0, + "Top": 0.0, + "Left": 0.0, + "Height": 1.0 + }, + "Polygon": [ + { + "Y": 0.0, + "X": 0.0 + }, + { + "Y": 0.0, + "X": 1.0 + }, + { + "Y": 1.0, + "X": 1.0 + }, + { + "Y": 1.0, + "X": 0.0 + } + ] + }, + "Relationships": [ + { + "Type": "CHILD", + "Ids": [ + "87586964-d50d-43e2-ace5-8a890657b9a0", + "a1e72126-21d9-44f4-a8d6-5c385f9002ba", + "e889d012-8a6b-4d2e-b7cd-7a8b327d876a" + ] + } + ], + "BlockType": "PAGE", + "Id": "c2227f12-b25d-4e1f-baea-1ee180d926b2" + } + ], + "DocumentMetadata": { + "Pages": 1 + } + } + +For more information, see `Analyzing Document Text with Amazon Textract`_ in the *Amazon Textract Developers Guide* + +.. _`Analyzing Document Text with Amazon Textract`: https://docs.aws.amazon.com/textract/latest/dg/analyzing-document-text.html \ No newline at end of file diff --git a/bin/awscli/examples/textract/detect-document-text.rst b/bin/awscli/examples/textract/detect-document-text.rst new file mode 100755 index 00000000..52f623d9 --- /dev/null +++ b/bin/awscli/examples/textract/detect-document-text.rst @@ -0,0 +1,140 @@ +**To detect text in a document** + +The following ``detect-document-text`` The following example shows how to detect text in a document. :: + + aws textract detect-document-text --document '{"S3Object":{"Bucket":"bucket","Name":"document"}}' + +Output :: + + { + "Blocks": [ + { + "Geometry": { + "BoundingBox": { + "Width": 1.0, + "Top": 0.0, + "Left": 0.0, + "Height": 1.0 + }, + "Polygon": [ + { + "Y": 0.0, + "X": 0.0 + }, + { + "Y": 0.0, + "X": 1.0 + }, + { + "Y": 1.0, + "X": 1.0 + }, + { + "Y": 1.0, + "X": 0.0 + } + ] + }, + "Relationships": [ + { + "Type": "CHILD", + "Ids": [ + "896a9f10-9e70-4412-81ce-49ead73ed881", + "0da18623-dc4c-463d-a3d1-9ac050e9e720", + "167338d7-d38c-4760-91f1-79a8ec457bb2" + ] + } + ], + "BlockType": "PAGE", + "Id": "21f0535e-60d5-4bc7-adf2-c05dd851fa25" + }, + { + "Relationships": [ + { + "Type": "CHILD", + "Ids": [ + "62490c26-37ea-49fa-8034-7a9ff9369c9c", + "1e4f3f21-05bd-4da9-ba10-15d01e66604c" + ] + } + ], + "Confidence": 89.11581420898438, + "Geometry": { + "BoundingBox": { + "Width": 0.33642634749412537, + "Top": 0.17169663310050964, + "Left": 0.13885067403316498, + "Height": 0.49159330129623413 + }, + "Polygon": [ + { + "Y": 0.17169663310050964, + "X": 0.13885067403316498 + }, + { + "Y": 0.17169663310050964, + "X": 0.47527703642845154 + }, + { + "Y": 0.6632899641990662, + "X": 0.47527703642845154 + }, + { + "Y": 0.6632899641990662, + "X": 0.13885067403316498 + } + ] + }, + "Text": "He llo,", + "BlockType": "LINE", + "Id": "896a9f10-9e70-4412-81ce-49ead73ed881" + }, + { + "Relationships": [ + { + "Type": "CHILD", + "Ids": [ + "19b28058-9516-4352-b929-64d7cef29daf" + ] + } + ], + "Confidence": 85.5694351196289, + "Geometry": { + "BoundingBox": { + "Width": 0.33182239532470703, + "Top": 0.23131252825260162, + "Left": 0.5091826915740967, + "Height": 0.3766750991344452 + }, + "Polygon": [ + { + "Y": 0.23131252825260162, + "X": 0.5091826915740967 + }, + { + "Y": 0.23131252825260162, + "X": 0.8410050868988037 + }, + { + "Y": 0.607987642288208, + "X": 0.8410050868988037 + }, + { + "Y": 0.607987642288208, + "X": 0.5091826915740967 + } + ] + }, + "Text": "worlc", + "BlockType": "LINE", + "Id": "0da18623-dc4c-463d-a3d1-9ac050e9e720" + } + ], + "DocumentMetadata": { + "Pages": 1 + } + } + +For more information, see `Detecting Document Text with Amazon Textract`_ in the *Amazon Textract Developers Guide* + +.. _`Detecting Document Text with Amazon Textract`: https://docs.aws.amazon.com/textract/latest/dg/detecting-document-text.html \ No newline at end of file diff --git a/bin/awscli/examples/textract/get-document-analysis.rst b/bin/awscli/examples/textract/get-document-analysis.rst new file mode 100755 index 00000000..d74ac57e --- /dev/null +++ b/bin/awscli/examples/textract/get-document-analysis.rst @@ -0,0 +1,62 @@ +**To get the results of asynchronous text analysis of a multi-page document** + +The following ``get-document-analysis`` example shows how to get the results of asynchronous text analysis of a multi-page document. :: + + aws textract get-document-analysis --job-id df7cf32ebbd2a5de113535fcf4d921926a701b09b4e7d089f3aebadb41e0712b --max-results 1000 + +Output :: + + { + "Blocks": [ + { + "Geometry": { + "BoundingBox": { + "Width": 1.0, + "Top": 0.0, + "Left": 0.0, + "Height": 1.0 + }, + "Polygon": [ + { + "Y": 0.0, + "X": 0.0 + }, + { + "Y": 0.0, + "X": 1.0 + }, + { + "Y": 1.0, + "X": 1.0 + }, + { + "Y": 1.0, + "X": 0.0 + } + ] + }, + "Relationships": [ + { + "Type": "CHILD", + "Ids": [ + "75966e64-81c2-4540-9649-d66ec341cd8f", + "bb099c24-8282-464c-a179-8a9fa0a057f0", + "5ebf522d-f9e4-4dc7-bfae-a288dc094595" + ] + } + ], + "BlockType": "PAGE", + "Id": "247c28ee-b63d-4aeb-9af0-5f7ea8ba109e", + "Page": 1 + } + ], + "NextToken": "cY1W3eTFvoB0cH7YrKVudI4Gb0H8J0xAYLo8xI/JunCIPWCthaKQ+07n/ElyutsSy0+1VOImoTRmP1zw4P0RFtaeV9Bzhnfedpx1YqwB4xaGDA==", + "DocumentMetadata": { + "Pages": 1 + }, + "JobStatus": "SUCCEEDED" + } + +For more information, see `Detecting and Analyzing Text in Multi-Page Documents`_ in the *Amazon Textract Developers Guide* + +.. _`Detecting and Analyzing Text in Multi-Page Documents`: https://docs.aws.amazon.com/textract/latest/dg/async.html diff --git a/bin/awscli/examples/textract/get-document-text-detection.rst b/bin/awscli/examples/textract/get-document-text-detection.rst new file mode 100755 index 00000000..52721719 --- /dev/null +++ b/bin/awscli/examples/textract/get-document-text-detection.rst @@ -0,0 +1,62 @@ +**To get the results of asynchronous text detection in a multi-page document** + +The following ``get-document-text-detection`` example shows how to get the results of asynchronous text detection in a multi-page document. :: + + aws textract get-document-text-detection --job-id 57849a3dc627d4df74123dca269d69f7b89329c870c65bb16c9fd63409d200b9 --max-results 1000 + +Output :: + + { + "Blocks": [ + { + "Geometry": { + "BoundingBox": { + "Width": 1.0, + "Top": 0.0, + "Left": 0.0, + "Height": 1.0 + }, + "Polygon": [ + { + "Y": 0.0, + "X": 0.0 + }, + { + "Y": 0.0, + "X": 1.0 + }, + { + "Y": 1.0, + "X": 1.0 + }, + { + "Y": 1.0, + "X": 0.0 + } + ] + }, + "Relationships": [ + { + "Type": "CHILD", + "Ids": [ + "1b926a34-0357-407b-ac8f-ec473160c6a9", + "0c35dc17-3605-4c9d-af1a-d9451059df51", + "dea3db8a-52c2-41c0-b50c-81f66f4aa758" + ] + } + ], + "BlockType": "PAGE", + "Id": "84671a5e-8c99-43be-a9d1-6838965da33e", + "Page": 1 + } + ], + "NextToken": "GcqyoAJuZwujOT35EN4LCI3EUzMtiLq3nKyFFHvU5q1SaIdEBcSty+njNgoWwuMP/muqc96S4o5NzDqehhXvhkodMyVO5OJGyms5lsrCxibWJw==", + "DocumentMetadata": { + "Pages": 1 + }, + "JobStatus": "SUCCEEDED" + } + +For more information, see `Detecting and Analyzing Text in Multi-Page Documents`_ in the *Amazon Textract Developers Guide* + +.. _`Detecting and Analyzing Text in Multi-Page Documents`: https://docs.aws.amazon.com/textract/latest/dg/async.html \ No newline at end of file diff --git a/bin/awscli/examples/textract/start-document-analysis.rst b/bin/awscli/examples/textract/start-document-analysis.rst new file mode 100755 index 00000000..805be8a7 --- /dev/null +++ b/bin/awscli/examples/textract/start-document-analysis.rst @@ -0,0 +1,15 @@ +**To start analyzing text in a multi-page document** + +The following ``start-document-analysis`` example shows how to start asynchronous analysis of text in a multi-page document. :: + + aws textract start-document-analysis --document-location '{"S3Object":{"Bucket":"reescheastv","Name":"doctest.png"}}' --feature-types '["TABLES","FORMS"]' --notification-channel "SNSTopicArn=arn:snsTopic,RoleArn=roleArn" + +Output :: + + { + "JobId": "df7cf32ebbd2a5de113535fcf4d921926a701b09b4e7d089f3aebadb41e0712b" + } + +For more information, see `Detecting and Analyzing Text in Multi-Page Documents`_ in the *Amazon Textract Developers Guide* + +.. _`Detecting and Analyzing Text in Multi-Page Documents`: https://docs.aws.amazon.com/textract/latest/dg/async.html diff --git a/bin/awscli/examples/textract/start-document-text-detection.rst b/bin/awscli/examples/textract/start-document-text-detection.rst new file mode 100755 index 00000000..bf2c3a02 --- /dev/null +++ b/bin/awscli/examples/textract/start-document-text-detection.rst @@ -0,0 +1,15 @@ +**To start detecting text in a multi-page document** + +The following ``start-document-text-detection`` example shows how to start asynchronous detection of text in a multi-page document. :: + + aws textract start-document-text-detection --document-location '{"S3Object":{"Bucket":"reescheastv","Name":"doctest.png"}}' --notification-channel "SNSTopicArn=topicARN,RoleArn=roleARN" + +The command returns output similar to the following. :: + + { + "JobId": "57849a3dc627d4df74123dca269d69f7b89329c870c65bb16c9fd63409d200b9" + } + +For more information, see `Detecting and Analyzing Text in Multi-Page Documents`_ in the *Amazon Textract Developers Guide* + +.. _`Detecting and Analyzing Text in Multi-Page Documents`: https://docs.aws.amazon.com/textract/latest/dg/async.html \ No newline at end of file diff --git a/bin/awscli/examples/waf-regional/associate-web-acl.rst b/bin/awscli/examples/waf-regional/associate-web-acl.rst new file mode 100755 index 00000000..4e9d54d6 --- /dev/null +++ b/bin/awscli/examples/waf-regional/associate-web-acl.rst @@ -0,0 +1,9 @@ +**To associate a web ACL with a resource** + +The following ``associate-web-acl`` command associates a web ACL, specified by the web-acl-id, with a resource, specified by the resource-arn. The resource ARN can refer to either a application load balancer or an API Gateway:: + + aws waf-regional associate-web-acl \ + --web-acl-id a123fae4-b567-8e90-1234-5ab67ac8ca90 \ + --resource-arn 12cs345-67cd-890b-1cd2-c3a4567d89f1 + +For more information, see `Working with Web ACLs `__ in the *AWS WAF Developer Guide*. diff --git a/bin/awscli/examples/waf-regional/update-byte-match-set.rst b/bin/awscli/examples/waf-regional/update-byte-match-set.rst new file mode 100755 index 00000000..fe8fc858 --- /dev/null +++ b/bin/awscli/examples/waf-regional/update-byte-match-set.rst @@ -0,0 +1,10 @@ +**To update a byte match set** + +The following ``update-byte-match-set`` command deletes a ``ByteMatchTuple`` object (filter) in a ``ByteMatchSet``. Because the ``updates`` value has embedded double quotes, you must surround the value with single quotes. :: + + aws waf-regional update-byte-match-set \ + --byte-match-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 \ + --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 \ + --updates 'Action="DELETE",ByteMatchTuple={FieldToMatch={Type="HEADER",Data="referer"},TargetString="badrefer1",TextTransformation="NONE",PositionalConstraint="CONTAINS"}' + +For more information, see `Working with String Match Conditions `__ in the *AWS WAF Developer Guide*. diff --git a/bin/awscli/examples/waf-regional/update-ip-set.rst b/bin/awscli/examples/waf-regional/update-ip-set.rst new file mode 100755 index 00000000..136451ad --- /dev/null +++ b/bin/awscli/examples/waf-regional/update-ip-set.rst @@ -0,0 +1,38 @@ +**To update an IP set** + +The following ``update-ip-set`` command updates an IPSet with an IPv4 address and deletes an IPv6 address. Get the value for ``change-token`` by running the ``get-change-token`` command. Because the value for updates includes embedded double-quotes, you must surround the value with single quotes. :: + + aws waf update-ip-set \ + --ip-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 \ + --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 \ + --updates 'Action="INSERT",IPSetDescriptor={Type="IPV4",Value="12.34.56.78/16"},Action="DELETE",IPSetDescriptor={Type="IPV6",Value="1111:0000:0000:0000:0000:0000:0000:0111/128"}' + +Alternatively you can use a JSON file to specify the input. For example:: + + aws waf-regional update-ip-set \ + --ip-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 \ + --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 \ + --updates file://change.json + +Content of the ``change.json`` :: + + [ + { + "Action": "INSERT", + "IPSetDescriptor": + { + "Type": "IPV4", + "Value": "12.34.56.78/16" + } + }, + { + "Action": "DELETE", + "IPSetDescriptor": + { + "Type": "IPV6", + "Value": "1111:0000:0000:0000:0000:0000:0000:0111/128" + } + } + ] + +For more information, see `Working with IP Match Conditions `__ in the *AWS WAF Developer Guide*. diff --git a/bin/awscli/examples/waf-regional/update-rule.rst b/bin/awscli/examples/waf-regional/update-rule.rst new file mode 100755 index 00000000..c643da54 --- /dev/null +++ b/bin/awscli/examples/waf-regional/update-rule.rst @@ -0,0 +1,10 @@ +**To update a rule** + +The following ``update-rule`` command deletes a ``Predicate`` object in a rule. Because the ``updates`` value has embedded double quotes, you must surround the entire value with single quotes. :: + + aws waf-regional update-rule \ + --rule-id a123fae4-b567-8e90-1234-5ab67ac8ca90 \ + --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 \ + --updates 'Action="DELETE",Predicate={Negated=false,Type="ByteMatch",DataId="MyByteMatchSetID"}' + +For more information, see `Working with Rules `__ in the *AWS WAF Developer Guide* . diff --git a/bin/awscli/examples/waf-regional/update-size-constraint-set.rst b/bin/awscli/examples/waf-regional/update-size-constraint-set.rst new file mode 100755 index 00000000..31492d15 --- /dev/null +++ b/bin/awscli/examples/waf-regional/update-size-constraint-set.rst @@ -0,0 +1,10 @@ +**To update a size constraint set** + +The following ``update-size-constraint-set`` command deletes a `SizeConstraint`` object (filters) in a size constraint set. Because the ``updates`` value contains embedded double quotes, you must surround the entire value with single quotes. :: + + aws waf-regional update-size-constraint-set \ + --size-constraint-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 \ + --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 \ + --updates 'Action="DELETE",SizeConstraint={FieldToMatch={Type="QUERY_STRING"},TextTransformation="NONE",ComparisonOperator="GT",Size=0}' + +For more information, see `Working with Size Constraint Conditions `__ in the *AWS WAF Developer Guide*. diff --git a/bin/awscli/examples/waf-regional/update-sql-injection-match-set.rst b/bin/awscli/examples/waf-regional/update-sql-injection-match-set.rst new file mode 100755 index 00000000..6a4a7735 --- /dev/null +++ b/bin/awscli/examples/waf-regional/update-sql-injection-match-set.rst @@ -0,0 +1,10 @@ +**To update a SQL Injection Match Set** + +The following ``update-sql-injection-match-set`` command deletes a ``SqlInjectionMatchTuple`` object (filters) in a SQL injection match set. Because the ``updates`` value contains embedded double quotes, you must surround the entire value in single quotes. : + + aws waf-regional update-sql-injection-match-set \ + --sql-injection-match-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 \ + --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 \ + --updates 'Action="DELETE",SqlInjectionMatchTuple={FieldToMatch={Type="QUERY_STRING"},TextTransformation="URL_DECODE"}' + +For more information, see `Working with SQL Injection Match Conditions `__ in the *AWS WAF Developer Guide*. diff --git a/bin/awscli/examples/waf-regional/update-web-acl.rst b/bin/awscli/examples/waf-regional/update-web-acl.rst new file mode 100755 index 00000000..24a8a8e6 --- /dev/null +++ b/bin/awscli/examples/waf-regional/update-web-acl.rst @@ -0,0 +1,11 @@ +**To update a web ACL** + +The following ``update-web-acl`` command deletes an ``ActivatedRule`` object in a WebACL. Because the ``updates`` value contains embedded double quotes, you must surround the entire value in single quotes. :: + + aws waf-regional update-web-acl \ + --web-acl-id a123fae4-b567-8e90-1234-5ab67ac8ca90 \ + --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 \ + --updates 'Action="DELETE",ActivatedRule={Priority=1,RuleId="WAFRule-1-Example",Action={Type="ALLOW"},Type="ALLOW"}' + + +For more information, see `Working with Web ACLs `__ in the *AWS WAF Developer Guide*. diff --git a/bin/awscli/examples/waf-regional/update-xss-match-set.rst b/bin/awscli/examples/waf-regional/update-xss-match-set.rst new file mode 100755 index 00000000..1e869403 --- /dev/null +++ b/bin/awscli/examples/waf-regional/update-xss-match-set.rst @@ -0,0 +1,10 @@ +**To update an XSSMatchSet** + +The following ``update-xss-match-set`` command deletes an ``XssMatchTuple`` object (filters) in an ``XssMatchSet``. Because the ``updates`` value contains embedded double quotes, you must surround the entire value with single quotes. :: + + aws waf-regional update-xss-match-set \ + --xss-match-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 \ + --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 \ + --updates 'Action="DELETE",XssMatchTuple={FieldToMatch={Type="QUERY_STRING"},TextTransformation="URL_DECODE"}' + +For more information, see `Working with Cross-site Scripting Match Conditions `__ in the *AWS WAF Developer Guide* . diff --git a/bin/awscli/examples/waf/update-byte-match-set.rst b/bin/awscli/examples/waf/update-byte-match-set.rst index 6f130c78..1dd6e8d7 100755 --- a/bin/awscli/examples/waf/update-byte-match-set.rst +++ b/bin/awscli/examples/waf/update-byte-match-set.rst @@ -1,8 +1,8 @@ **To update a byte match set** -The following ``update-byte-match-set`` command deletes a ByteMatchTuple object (filter) in a ByteMatchSet: +The following ``update-byte-match-set`` command deletes a ByteMatchTuple object (filter) in a ByteMatchSet:: -aws waf update-byte-match-set --byte-match-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 --updates Action="DELETE",ByteMatchTuple={FieldToMatch={Type="HEADER",Data="referer"},TargetString="badrefer1",TextTransformation="NONE",PositionalConstraint="CONTAINS"} + aws waf update-byte-match-set --byte-match-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 --updates Action="DELETE",ByteMatchTuple={FieldToMatch={Type="HEADER",Data="referer"},TargetString="badrefer1",TextTransformation="NONE",PositionalConstraint="CONTAINS"} diff --git a/bin/awscli/examples/waf/update-ip-set.rst b/bin/awscli/examples/waf/update-ip-set.rst index 4cf0df84..c453badc 100755 --- a/bin/awscli/examples/waf/update-ip-set.rst +++ b/bin/awscli/examples/waf/update-ip-set.rst @@ -8,29 +8,27 @@ Alternatively you can use a JSON file to specify the input. For example:: aws waf update-ip-set --ip-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 --updates file://change.json -Where content of the JSON file is: - -[ -{ -"Action": "INSERT", -"IPSetDescriptor": -{ -"Type": "IPV4", -"Value": "12.34.56.78/16" -} -}, -{ -"Action": "DELETE", -"IPSetDescriptor": -{ -"Type": "IPV6", -"Value": "1111:0000:0000:0000:0000:0000:0000:0111/128" -} -} -] - - - +Where content of the JSON file is:: + + [ + { + "Action": "INSERT", + "IPSetDescriptor": + { + "Type": "IPV4", + "Value": "12.34.56.78/16" + } + }, + { + "Action": "DELETE", + "IPSetDescriptor": + { + "Type": "IPV6", + "Value": "1111:0000:0000:0000:0000:0000:0000:0111/128" + } + } + ] + For more information, see `Working with IP Match Conditions`_ in the *AWS WAF* developer guide. .. _`Working with IP Match Conditions`: https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-ip-conditions.html diff --git a/bin/awscli/examples/waf/update-rule.rst b/bin/awscli/examples/waf/update-rule.rst index 12475dd1..ab086332 100755 --- a/bin/awscli/examples/waf/update-rule.rst +++ b/bin/awscli/examples/waf/update-rule.rst @@ -1,8 +1,10 @@ **To update a rule** -The following ``update-rule`` command deletes a Predicate object in a rule. +The following ``update-rule`` command deletes a Predicate object in a rule:: + + + aws waf update-rule --rule-id a123fae4-b567-8e90-1234-5ab67ac8ca90 --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 --updates Action="DELETE",Predicate={Negated=false,Type="ByteMatch",DataId="MyByteMatchSetID"} -aws waf update-rule --rule-id a123fae4-b567-8e90-1234-5ab67ac8ca90 --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 --updates Action="DELETE",Predicate="{Negated=false,Type="ByteMatch",DataId="MyByteMatchSetID"}" diff --git a/bin/awscli/examples/waf/update-size-constraint-set.rst b/bin/awscli/examples/waf/update-size-constraint-set.rst index e09d8afc..bcf702be 100755 --- a/bin/awscli/examples/waf/update-size-constraint-set.rst +++ b/bin/awscli/examples/waf/update-size-constraint-set.rst @@ -1,8 +1,8 @@ **To update a size constraint set** -The following ``update-size-constraint-set`` command deletes a SizeConstraint object (filters) in a size constraint set. +The following ``update-size-constraint-set`` command deletes a SizeConstraint object (filters) in a size constraint set:: -aws waf update-size-constraint-set --size-constraint-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 --updates Action="DELETE",SizeConstraint={FieldToMatch={Type="QUERY_STRING"},TextTransformation="NONE",ComparisonOperator="GT",Size=0} + aws waf update-size-constraint-set --size-constraint-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 --updates Action="DELETE",SizeConstraint={FieldToMatch={Type="QUERY_STRING"},TextTransformation="NONE",ComparisonOperator="GT",Size=0} diff --git a/bin/awscli/examples/waf/update-sql-injection-match-set.rst b/bin/awscli/examples/waf/update-sql-injection-match-set.rst index a20add1e..bc3c7e9a 100755 --- a/bin/awscli/examples/waf/update-sql-injection-match-set.rst +++ b/bin/awscli/examples/waf/update-sql-injection-match-set.rst @@ -1,8 +1,8 @@ **To update a SQL Injection Match Set** -The following ``update-sql-injection-match-set`` command deletes a SqlInjectionMatchTuple object (filters) in a SQL injection match set. +The following ``update-sql-injection-match-set`` command deletes a SqlInjectionMatchTuple object (filters) in a SQL injection match set:: -aws waf update-sql-injection-match-set --sql-injection-match-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 --updates Action="DELETE",SqlInjectionMatchTuple={FieldToMatch={Type="QUERY_STRING"},TextTransformation="URL_DECODE"} + aws waf update-sql-injection-match-set --sql-injection-match-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 --updates Action="DELETE",SqlInjectionMatchTuple={FieldToMatch={Type="QUERY_STRING"},TextTransformation="URL_DECODE"} diff --git a/bin/awscli/examples/waf/update-web-acl.rst b/bin/awscli/examples/waf/update-web-acl.rst index 68f40e50..ac2dffb5 100755 --- a/bin/awscli/examples/waf/update-web-acl.rst +++ b/bin/awscli/examples/waf/update-web-acl.rst @@ -2,7 +2,7 @@ The following ``update-web-acl`` command deletes an ActivatedRule object in a WebACL. -aws waf update-web-acl --web-acl-id a123fae4-b567-8e90-1234-5ab67ac8ca90 --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 --updates Action="DELETE",ActivatedRule={Priority=1,RuleId="WAFRule-1-Example",Action={Type="ALLOW"},Type="ALLOW"} +aws waf update-web-acl --web-acl-id a123fae4-b567-8e90-1234-5ab67ac8ca90 --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 --updates Action="DELETE",ActivatedRule={Priority=1,RuleId="WAFRule-1-Example",Action={Type="ALLOW"},Type="REGULAR"} diff --git a/bin/awscli/examples/waf/update-xss-match-set.rst b/bin/awscli/examples/waf/update-xss-match-set.rst index f568a5ef..b4adca13 100755 --- a/bin/awscli/examples/waf/update-xss-match-set.rst +++ b/bin/awscli/examples/waf/update-xss-match-set.rst @@ -1,8 +1,8 @@ **To update an XSSMatchSet** -The following ``update-xss-match-set`` command deletes an XssMatchTuple object (filters) in an XssMatchSet. +The following ``update-xss-match-set`` command deletes an XssMatchTuple object (filters) in an XssMatchSet:: -aws waf update-xss-match-set --xss-match-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 --updates Action="DELETE",XssMatchTuple={FieldToMatch={Type="QUERY_STRING"},TextTransformation="URL_DECODE"} + aws waf update-xss-match-set --xss-match-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 --updates Action="DELETE",XssMatchTuple={FieldToMatch={Type="QUERY_STRING"},TextTransformation="URL_DECODE"} diff --git a/bin/awscli/examples/workdocs/initiate-document-version-upload.rst b/bin/awscli/examples/workdocs/initiate-document-version-upload.rst index c15f2fa8..02244e22 100644 --- a/bin/awscli/examples/workdocs/initiate-document-version-upload.rst +++ b/bin/awscli/examples/workdocs/initiate-document-version-upload.rst @@ -1,37 +1,37 @@ -**To initiate a document version upload** - -This example creates a new document object and version object. - -Command:: - - aws workdocs initiate-document-version-upload --name exampledocname --parent-folder-id eacd546d952531c633452ed67cac23161aa0d5df2e8061223a59e8f67e7b6189 - -Output:: - - { - "Metadata": { - "Id": "feaba64d4efdf271c2521b60a2a44a8f057e84beaabbe22f01267313209835f2", - "CreatorId": "S-1-1-11-1111111111-2222222222-3333333333-3333&d-926726012c", - "ParentFolderId": "eacd546d952531c633452ed67cac23161aa0d5df2e8061223a59e8f67e7b6189", - "CreatedTimestamp": 1536773972.914, - "ModifiedTimestamp": 1536773972.914, - "LatestVersionMetadata": { - "Id": "1536773972914-ddb67663e782e7ce8455ebc962217cf9f9e47b5a9a702e5c84dcccd417da9313", - "Name": "exampledocname", - "ContentType": "application/octet-stream", - "Size": 0, - "Status": "INITIALIZED", - "CreatedTimestamp": 1536773972.914, - "ModifiedTimestamp": 1536773972.914, - "CreatorId": "arn:aws:iam::123456789123:user/EXAMPLE" - }, - "ResourceState": "ACTIVE" - }, - "UploadMetadata": { - "UploadUrl": "https://gb-us-west-2-prod-doc-source.s3.us-west-2.amazonaws.com/feaba64d4efdf271c2521b60a2a44a8f057e84beaabbe22f01267313209835f2/1536773972914-ddb67663e782e7ce8455ebc962217cf9f9e47b5a9a702e5c84dcccd417da9313?X-Amz-Algorithm=AWS1-ABCD-EFG234&X-Amz-Date=20180912T173932Z&X-Amz-SignedHeaders=content-type%3Bhost%3Bx-amz-server-side-encryption&X-Amz-Expires=899&X-Amz-Credential=AKIAIOSFODNN7EXAMPLE%2F20180912%2Fus-west-2%2Fs3%2Faws1_request&X-Amz-Signature=01Ab2c34d567e8f90123g456hi78j901k2345678l901234mno56pqr78EXAMPLE", - "SignedHeaders": { - "Content-Type": "application/octet-stream", - "x-amz-server-side-encryption": "ABC123" - } - } -} \ No newline at end of file +**To initiate a document version upload** + +The following ``initiate-document-upload`` example creates a new document object and version object. :: + + aws workdocs initiate-document-version-upload \ + --name exampledocname \ + --parent-folder-id eacd546d952531c633452ed67cac23161aa0d5df2e8061223a59e8f67e7b6189 + +Output:: + + { + "Metadata": { + "Id": "feaba64d4efdf271c2521b60a2a44a8f057e84beaabbe22f01267313209835f2", + "CreatorId": "S-1-1-11-1111111111-2222222222-3333333333-3333&d-926726012c", + "ParentFolderId": "eacd546d952531c633452ed67cac23161aa0d5df2e8061223a59e8f67e7b6189", + "CreatedTimestamp": 1536773972.914, + "ModifiedTimestamp": 1536773972.914, + "LatestVersionMetadata": { + "Id": "1536773972914-ddb67663e782e7ce8455ebc962217cf9f9e47b5a9a702e5c84dcccd417da9313", + "Name": "exampledocname", + "ContentType": "application/octet-stream", + "Size": 0, + "Status": "INITIALIZED", + "CreatedTimestamp": 1536773972.914, + "ModifiedTimestamp": 1536773972.914, + "CreatorId": "arn:aws:iam::123456789123:user/EXAMPLE" + }, + "ResourceState": "ACTIVE" + }, + "UploadMetadata": { + "UploadUrl": "https://gb-us-west-2-prod-doc-source.s3.us-west-2.amazonaws.com/feaba64d4efdf271c2521b60a2a44a8f057e84beaabbe22f01267313209835f2/1536773972914-ddb67663e782e7ce8455ebc962217cf9f9e47b5a9a702e5c84dcccd417da9313?X-Amz-Algorithm=AWS1-ABCD-EFG234&X-Amz-Date=20180912T173932Z&X-Amz-SignedHeaders=content-type%3Bhost%3Bx-amz-server-side-encryption&X-Amz-Expires=899&X-Amz-Credential=AKIAIOSFODNN7EXAMPLE%2F20180912%2Fus-west-2%2Fs3%2Faws1_request&X-Amz-Signature=01Ab2c34d567e8f90123g456hi78j901k2345678l901234mno56pqr78EXAMPLE", + "SignedHeaders": { + "Content-Type": "application/octet-stream", + "x-amz-server-side-encryption": "ABC123" + } + } + } diff --git a/bin/awscli/formatter.py b/bin/awscli/formatter.py index 886017b2..f163f3ad 100644 --- a/bin/awscli/formatter.py +++ b/bin/awscli/formatter.py @@ -231,8 +231,12 @@ def __call__(self, command_name, response, stream=None): try: if is_response_paginated(response): result_keys = response.result_keys - for page in response: - current = {} + for i, page in enumerate(response): + if i > 0: + current = {} + else: + current = response.non_aggregate_part + for result_key in result_keys: data = result_key.search(page) set_value_from_jmespath( diff --git a/bin/awscli/formatter.pyc b/bin/awscli/formatter.pyc deleted file mode 100644 index 2c8e35f5..00000000 Binary files a/bin/awscli/formatter.pyc and /dev/null differ diff --git a/bin/awscli/handlers.py b/bin/awscli/handlers.py index af166a18..d212c693 100644 --- a/bin/awscli/handlers.py +++ b/bin/awscli/handlers.py @@ -86,6 +86,7 @@ from awscli.customizations.servicecatalog import register_servicecatalog_commands from awscli.customizations.s3events import register_event_stream_arg from awscli.customizations.sessionmanager import register_ssm_session +from awscli.customizations.sms_voice import register_sms_voice_hide def awscli_initialize(event_handlers): @@ -174,3 +175,4 @@ def awscli_initialize(event_handlers): register_event_stream_arg(event_handlers) dlm_initialize(event_handlers) register_ssm_session(event_handlers) + register_sms_voice_hide(event_handlers) diff --git a/bin/awscli/handlers.pyc b/bin/awscli/handlers.pyc deleted file mode 100644 index ad8d6b94..00000000 Binary files a/bin/awscli/handlers.pyc and /dev/null differ diff --git a/bin/awscli/help.pyc b/bin/awscli/help.pyc deleted file mode 100644 index a73485a3..00000000 Binary files a/bin/awscli/help.pyc and /dev/null differ diff --git a/bin/awscli/paramfile.py b/bin/awscli/paramfile.py index 975ff97b..7d0a7202 100644 --- a/bin/awscli/paramfile.py +++ b/bin/awscli/paramfile.py @@ -31,8 +31,11 @@ # download the content (i.e TemplateURL in cloudformation). PARAMFILE_DISABLED = set([ 'api-gateway.put-integration.uri', + 'apigatewayv2.create-integration.integration-uri', 'appstream.create-stack.redirect-url', + 'appstream.create-stack.feedback-url', 'appstream.update-stack.redirect-url', + 'appstream.update-stack.feedback-url', 'cloudformation.create-stack.template-url', 'cloudformation.update-stack.template-url', 'cloudformation.create-stack-set.template-url', @@ -83,6 +86,11 @@ 'rds.copy-db-snapshot.pre-signed-url', 'rds.create-db-instance-read-replica.pre-signed-url', + 'sagemaker.create-notebook-instance.default-code-repository', + 'sagemaker.create-notebook-instance.additional-code-repositories', + 'sagemaker.update-notebook-instance.default-code-repository', + 'sagemaker.update-notebook-instance.additional-code-repositories', + 'serverlessapplicationrepository.create-application.home-page-url', 'serverlessapplicationrepository.create-application.license-url', 'serverlessapplicationrepository.create-application.readme-url', diff --git a/bin/awscli/paramfile.pyc b/bin/awscli/paramfile.pyc deleted file mode 100644 index ea70330f..00000000 Binary files a/bin/awscli/paramfile.pyc and /dev/null differ diff --git a/bin/awscli/plugin.pyc b/bin/awscli/plugin.pyc deleted file mode 100644 index 25ff0a7a..00000000 Binary files a/bin/awscli/plugin.pyc and /dev/null differ diff --git a/bin/awscli/schema.pyc b/bin/awscli/schema.pyc deleted file mode 100644 index d67b17d6..00000000 Binary files a/bin/awscli/schema.pyc and /dev/null differ diff --git a/bin/awscli/shorthand.pyc b/bin/awscli/shorthand.pyc deleted file mode 100644 index 1ee53b69..00000000 Binary files a/bin/awscli/shorthand.pyc and /dev/null differ diff --git a/bin/awscli/table.pyc b/bin/awscli/table.pyc deleted file mode 100644 index 3b0e6a8d..00000000 Binary files a/bin/awscli/table.pyc and /dev/null differ diff --git a/bin/awscli/testutils.py b/bin/awscli/testutils.py index faf29484..41bc9174 100644 --- a/bin/awscli/testutils.py +++ b/bin/awscli/testutils.py @@ -211,7 +211,7 @@ def random_chars(num_chars): return binascii.hexlify(os.urandom(int(num_chars / 2))).decode('ascii') -def random_bucket_name(prefix='awscli-s3integ-', num_random=10): +def random_bucket_name(prefix='awscli-s3integ-', num_random=15): """Generate a random S3 bucket name. :param prefix: A prefix to use in the bucket name. Useful @@ -520,7 +520,8 @@ def __init__(self): self.rootdir = tempfile.mkdtemp() def remove_all(self): - shutil.rmtree(self.rootdir) + if os.path.exists(self.rootdir): + shutil.rmtree(self.rootdir) def create_file(self, filename, contents, mtime=None, mode='w'): """Creates a file in a tmpdir @@ -726,6 +727,12 @@ class BaseS3CLICommand(unittest.TestCase): and more streamlined. """ + _PUT_HEAD_SHARED_EXTRAS = [ + 'SSECustomerAlgorithm', + 'SSECustomerKey', + 'SSECustomerKeyMD5', + 'RequestPayer', + ] def setUp(self): self.files = FileCreator() @@ -757,6 +764,7 @@ def create_client_for_bucket(self, bucket_name): return client def assert_key_contents_equal(self, bucket, key, expected_contents): + self.wait_until_key_exists(bucket, key) if isinstance(expected_contents, six.BytesIO): expected_contents = expected_contents.getvalue().decode('utf-8') actual_contents = self.get_key_contents(bucket, key) @@ -788,6 +796,18 @@ def put_object(self, bucket_name, key_name, contents='', extra_args=None): call_args.update(extra_args) response = client.put_object(**call_args) self.addCleanup(self.delete_key, bucket_name, key_name) + extra_head_params = {} + if extra_args: + extra_head_params = dict( + (k, v) for (k, v) in extra_args.items() + if k in self._PUT_HEAD_SHARED_EXTRAS + ) + self.wait_until_key_exists( + bucket_name, + key_name, + extra_params=extra_head_params, + ) + return response def delete_bucket(self, bucket_name, attempts=5, delay=5): self.remove_all_objects(bucket_name) diff --git a/bin/awscli/testutils.pyc b/bin/awscli/testutils.pyc deleted file mode 100644 index 3682c477..00000000 Binary files a/bin/awscli/testutils.pyc and /dev/null differ diff --git a/bin/awscli/text.pyc b/bin/awscli/text.pyc deleted file mode 100644 index 2403d058..00000000 Binary files a/bin/awscli/text.pyc and /dev/null differ diff --git a/bin/awscli/topics/config-vars.rst b/bin/awscli/topics/config-vars.rst index 52964304..207b598c 100644 --- a/bin/awscli/topics/config-vars.rst +++ b/bin/awscli/topics/config-vars.rst @@ -244,6 +244,10 @@ in the AWS CLI config file: maps to the ``RoleSessionName`` parameter in the ``AssumeRole`` operation. This is an optional parameter. If you do not provide this value, a session name will be automatically generated. +* ``duration_seconds`` - The duration, in seconds, of the role session. + The value can range from 900 seconds (15 minutes) up to the maximum + session duration setting for the role. This is an optional parameter + and by default, the value is set to 3600 seconds. If you do not have MFA authentication required, then you only need to specify a ``role_arn`` and either a ``source_profile`` or a ``credential_source``. diff --git a/bin/awscli/topics/return-codes.rst b/bin/awscli/topics/return-codes.rst index a570150e..e17e7ef4 100644 --- a/bin/awscli/topics/return-codes.rst +++ b/bin/awscli/topics/return-codes.rst @@ -16,7 +16,7 @@ of a CLI command: The primary meaning is that the command entered on the command line failed to be parsed. Parsing failures can be caused by, - but are not limted to, missing any required subcommands or arguments + but are not limited to, missing any required subcommands or arguments or using any unknown commands or arguments. Note that this return code meaning is applicable to all CLI commands. diff --git a/bin/awscli/topics/s3-faq.rst b/bin/awscli/topics/s3-faq.rst index 2ef01cb9..fcf5826f 100644 --- a/bin/awscli/topics/s3-faq.rst +++ b/bin/awscli/topics/s3-faq.rst @@ -25,7 +25,7 @@ not match the ``Content-MD5`` provided, S3 will not store the object and instead will return an error message back the AWS CLI. The AWS CLI will retry this error up to 5 times before giving up. On the case that any files fail to transfer successfully to S3, the AWS CLI will exit with a non zero RC. -See ``aws help returncodes`` for more information. +See ``aws help return-codes`` for more information. If the upload request is signed with Signature Version 4, then a ``Content-MD5`` is not calculated. Instead, the AWS CLI uses the @@ -52,7 +52,7 @@ performed whenever the AWS CLI downloads objects from S3. If the calculated MD5 checksum does not match the expected checksum, the file is deleted and the download is retried. This process is retried up to 3 times. If a downloads fails, the AWS CLI will exit with a non zero RC. -See ``aws help returncodes`` for more information. +See ``aws help return-codes`` for more information. There are several conditions where the CLI is *not* able to verify checksums on downloads: diff --git a/bin/awscli/topictags.pyc b/bin/awscli/topictags.pyc deleted file mode 100644 index 2f46e599..00000000 Binary files a/bin/awscli/topictags.pyc and /dev/null differ diff --git a/bin/awscli/utils.pyc b/bin/awscli/utils.pyc deleted file mode 100644 index d7780ce4..00000000 Binary files a/bin/awscli/utils.pyc and /dev/null differ diff --git a/bin/bc b/bin/bc new file mode 100755 index 00000000..681431f7 Binary files /dev/null and b/bin/bc differ diff --git a/bin/botocore-1.12.61.dist-info/DESCRIPTION.rst b/bin/botocore-1.12.61.dist-info/DESCRIPTION.rst deleted file mode 100644 index 43951845..00000000 --- a/bin/botocore-1.12.61.dist-info/DESCRIPTION.rst +++ /dev/null @@ -1,35 +0,0 @@ -botocore -======== - -.. image:: https://secure.travis-ci.org/boto/botocore.png?branch=develop - :target: http://travis-ci.org/boto/botocore - -.. image:: https://codecov.io/github/boto/botocore/coverage.svg?branch=develop - :target: https://codecov.io/github/boto/botocore?branch=develop - - -A low-level interface to a growing number of Amazon Web Services. The -botocore package is the foundation for the -`AWS CLI `__ as well as -`boto3 `__. - - -Documentation -------------- -Documentation for ``botocore`` can be found `here `__. - - -Getting Help ------------- - -We use GitHub issues for tracking bugs and feature requests and have limited -bandwidth to address them. Please use these community resources for getting -help. Please note many of the same resources available for ``boto3`` are -applicable for ``botocore``: - -* Ask a question on `Stack Overflow `__ and tag it with `boto3 `__ -* Come join the AWS Python community chat on `gitter `__ -* Open a support ticket with `AWS Support `__ -* If it turns out that you may have found a bug, please `open an issue `__ - - diff --git a/bin/botocore-1.12.61.dist-info/INSTALLER b/bin/botocore-1.12.61.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/bin/botocore-1.12.61.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/bin/botocore-1.12.61.dist-info/METADATA b/bin/botocore-1.12.61.dist-info/METADATA deleted file mode 100644 index 1b81e360..00000000 --- a/bin/botocore-1.12.61.dist-info/METADATA +++ /dev/null @@ -1,70 +0,0 @@ -Metadata-Version: 2.0 -Name: botocore -Version: 1.12.61 -Summary: Low-level, data-driven core of boto 3. -Home-page: https://github.com/boto/botocore -Author: Amazon Web Services -Author-email: UNKNOWN -License: Apache License 2.0 -Platform: UNKNOWN -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: Intended Audience :: System Administrators -Classifier: Natural Language :: English -Classifier: License :: OSI Approved :: Apache Software License -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.6 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: 3.7 -Requires-Dist: python-dateutil>=2.1,<2.7.0; python_version=="2.6" -Requires-Dist: python-dateutil>=2.1,<3.0.0; python_version>="2.7" -Requires-Dist: jmespath>=0.7.1,<1.0.0 -Requires-Dist: docutils>=0.10 -Requires-Dist: ordereddict==1.1; python_version=="2.6" -Requires-Dist: simplejson==3.3.0; python_version=="2.6" -Requires-Dist: urllib3>=1.20,<1.23; python_version=="3.3" -Requires-Dist: urllib3>=1.20,<1.24; python_version=="2.6" -Requires-Dist: urllib3>=1.20,<1.25; python_version=="2.7" -Requires-Dist: urllib3>=1.20,<1.25; python_version>="3.4" - -botocore -======== - -.. image:: https://secure.travis-ci.org/boto/botocore.png?branch=develop - :target: http://travis-ci.org/boto/botocore - -.. image:: https://codecov.io/github/boto/botocore/coverage.svg?branch=develop - :target: https://codecov.io/github/boto/botocore?branch=develop - - -A low-level interface to a growing number of Amazon Web Services. The -botocore package is the foundation for the -`AWS CLI `__ as well as -`boto3 `__. - - -Documentation -------------- -Documentation for ``botocore`` can be found `here `__. - - -Getting Help ------------- - -We use GitHub issues for tracking bugs and feature requests and have limited -bandwidth to address them. Please use these community resources for getting -help. Please note many of the same resources available for ``boto3`` are -applicable for ``botocore``: - -* Ask a question on `Stack Overflow `__ and tag it with `boto3 `__ -* Come join the AWS Python community chat on `gitter `__ -* Open a support ticket with `AWS Support `__ -* If it turns out that you may have found a bug, please `open an issue `__ - - diff --git a/bin/botocore-1.12.61.dist-info/RECORD b/bin/botocore-1.12.61.dist-info/RECORD deleted file mode 100644 index 4056fc2d..00000000 --- a/bin/botocore-1.12.61.dist-info/RECORD +++ /dev/null @@ -1,799 +0,0 @@ -botocore/httpsession.py,sha256=-uQTGVdeXg2bcn__25HLBeBNAh5hCl6j0BIGt1B7bpE,11273 -botocore/stub.py,sha256=iBH29Z62abIMUi-8QCDXz80bqnUkoDvJV9juPb37pQs,14360 -botocore/serialize.py,sha256=489TJ8Yd2j2GylMOk8w7-lp203wkkixXE01U9PxpHr0,29815 -botocore/auth.py,sha256=eRw52rgV0JpJYRcpxACW1iwMRda0ORAa3v1P_CL4ef0,35536 -botocore/model.py,sha256=wQ5_EfpfdOS48GdQ0uUa41UOxJ847i_WzQaoNSU6asw,25630 -botocore/errorfactory.py,sha256=NnN3nOViM4CWXRH7lVbjwyDVF3xnX3HZaw6iaVAhCa0,4091 -botocore/loaders.py,sha256=JvpfDdPCJvMJgxwPEo7iTPXJa3Q2-ubJ-VepCTYmVz4,17355 -botocore/regions.py,sha256=59Jcy3XRsgCJx7SJ3XCYhtABkI9K1KAe6CVxciGpd3E,8420 -botocore/awsrequest.py,sha256=SjedU52k7TstcacYdTkgzazw4_Og0RLUJDJtnrdjwPw,24722 -botocore/retryhandler.py,sha256=KmT3OA-x3IWxNegMF7j1Yz5C5vuybCsZvcSkXc2XNd8,13781 -botocore/hooks.py,sha256=1iYWMRy2AkhMgY7TLHP97-FSfLbtewu5LXyfXLWK_yQ,24573 -botocore/waiter.py,sha256=HqQBkmuRRYFFjG4TRMX-ziJqgq2CI_triqzVdsf-u8g,12418 -botocore/credentials.py,sha256=C94LN7B22hNLN4lIdC9qAO-lhJMQbtwcPE6yJXM9B7Y,64852 -botocore/exceptions.py,sha256=GKHYIoc74xROVi80MAKFrFmIRpC0Uov5P6nUcaLqjTQ,15663 -botocore/eventstream.py,sha256=YFjerdOepceQWlCUYbFyF6F75iCXVnSxYJIXvfJKkSA,19087 -botocore/configprovider.py,sha256=y_DiQViKv7AnXPSnabk9HID6cQiHfvvSa_NwdIdIScs,16365 -botocore/endpoint.py,sha256=Gi1xmhKedwLiKSqsIANSnohbqxArA1hs7okoPxigRiA,11653 -botocore/signers.py,sha256=DSw4x_olWuE7AfJYrdygih2f5qN_tYjhpiZSrOQSaBc,27709 -botocore/cacert.pem,sha256=7CEXfLHxDwvDpwVu0y_2lfJYk63cU-KUKI_DL1Lq8Uo,271088 -botocore/utils.py,sha256=8k3Q1IiBs_ofeEVgm72Tc_nWRSmjPiJPco75jJ_el28,49826 -botocore/session.py,sha256=c-XxzZS79z47tuNvoxPeafbu82qGPzY1O9m9G6blXmo,41106 -botocore/handlers.py,sha256=oEfX82IynWRjB0YRaDNx2zPGbS-GUeglLnkpZFMleL4,45560 -botocore/response.py,sha256=C6VGeOhGnbne7iOAkqV82VbINOuLlr7n-3jIbXALym4,6455 -botocore/config.py,sha256=rtXn9RPqnDmG4OQ0H1Mv4I210NYN8lSpIbbldjdZjcU,9609 -botocore/paginate.py,sha256=qCwIpG2uhB_YhmVZRQrlpjXFX0NaT4_JL01W10wpwBU,27057 -botocore/compat.py,sha256=oPlxAIqhufv8JoExOweS8aAtec_AjHEvEUgEYbGh9x4,13262 -botocore/args.py,sha256=pM7UhjyiayGdIMlJ5w_gXus-CvTNXnONf9lzy1Q_kMk,10213 -botocore/validate.py,sha256=U3QLMYSVz_TX2mWUY-Fe_RzgZiwdrf7HemgAlqxC5qc,11501 -botocore/translate.py,sha256=RteQ6FyDou98NspaETe6zyGextA_48CjrSFwDDLm65c,3412 -botocore/parsers.py,sha256=55mQw5lH-FRIky4jNwW72l9FnHCV6CG9KDrWCW4qi3g,38807 -botocore/__init__.py,sha256=A0LoHSURVXQqQqovwozOdSvC3aInBo6s30q4WSoNdf4,3487 -botocore/configloader.py,sha256=MqSNXs8Mw8nBaXkNSI7GhdVqAKGxJ4o5XbcHzgFMpsc,9558 -botocore/history.py,sha256=mM6u8qvmPpvYRLEaZi8O0sBFygw3p647kAtBuHfjfFI,1748 -botocore/client.py,sha256=f9L8VECUAgYFEEjvA5MpNbunHeYKI8pjL0iHlEnMsRc,38638 -botocore/vendored/six.py,sha256=A6hdJZVjI3t_geebZ9BzUvwRrIXo0lfwzQlM2LcKyas,30098 -botocore/vendored/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -botocore/vendored/requests/structures.py,sha256=i3yMaaDbl4_gNJKdcK3kDmeSLoo0r59XEIWoc_qtNyo,2977 -botocore/vendored/requests/auth.py,sha256=pD2td_DoHl-YWQQITk5ZPSKjsR5_sBxRkseYMx1n704,6794 -botocore/vendored/requests/api.py,sha256=X8Znh82s62_3FBPFkqafNQn7s4L-5q8-GLclLKKHs3I,5415 -botocore/vendored/requests/hooks.py,sha256=9vNiuiRHRd5Qy6BX_0p1H3NsUzDo1M_HaFR2AFL41Tg,820 -botocore/vendored/requests/certs.py,sha256=RX5H1cSiB52Hbjh_qv3eMW8hqHEF_r4Qiv_4AwfziuU,613 -botocore/vendored/requests/exceptions.py,sha256=zZhHieXgR1teqbvuo_9OrwDMHnrvRtulW97VfzumQv4,2517 -botocore/vendored/requests/models.py,sha256=_vxB3Z3QDkV_HYcZFqFrPq31TmworMeYEM094Q9Vf00,29176 -botocore/vendored/requests/adapters.py,sha256=MEedP-slXqxDnYdi4JxuCE3y2NTizShvL_SfP3ncge4,16810 -botocore/vendored/requests/cacert.pem,sha256=7CEXfLHxDwvDpwVu0y_2lfJYk63cU-KUKI_DL1Lq8Uo,271088 -botocore/vendored/requests/utils.py,sha256=yh5am9D9nG_oAYyYU2upkXIth2QOi1LJhiHSx5dSVbw,21334 -botocore/vendored/requests/sessions.py,sha256=kWfupbWN_Uhu-FKPEc7y1NyvyQNE5jryuA5Uad2Yy0U,24250 -botocore/vendored/requests/status_codes.py,sha256=DVA33t4UthIiZhP4iYSChbWjuhrJWvVA04qle9nwj2Q,3200 -botocore/vendored/requests/compat.py,sha256=hq7CKHoykNs8yzKPAJiOkHQJPoNp9A89MufTdhlCniY,1469 -botocore/vendored/requests/__init__.py,sha256=3TJHLc9RZ_3QCQYiP0r9lshzLMIdLm1gn0wVwNqaZmg,1861 -botocore/vendored/requests/cookies.py,sha256=Um1lXApUUO0-P6U1TOudXu1cYVXBFN77f16OFxiIAt8,17191 -botocore/vendored/requests/packages/__init__.py,sha256=aXkbNCjM_WhryRBocE4AaA_p7-CTxL5LOutY7XzKm4s,62 -botocore/vendored/requests/packages/chardet/hebrewprober.py,sha256=8pdoUfsVXf_L4BnJde_BewS6H2yInV5688eu0nFhLHY,13359 -botocore/vendored/requests/packages/chardet/gb2312prober.py,sha256=VWnjoRa83Y6V6oczMaxyUr0uy48iCnC2nzk9zfEIRHc,1681 -botocore/vendored/requests/packages/chardet/constants.py,sha256=-UnY8U7EP7z9fTyd09yq35BEkSFEAUAiv9ohd1DW1s4,1335 -botocore/vendored/requests/packages/chardet/latin1prober.py,sha256=238JHOxH8aRudJY2NmeSv5s7i0Qe3GuklIU3HlYybvg,5232 -botocore/vendored/requests/packages/chardet/chardetect.py,sha256=f4299UZG6uWd3i3r_N0OdrFj2sA9JFI54PAmDLAFmWA,2504 -botocore/vendored/requests/packages/chardet/mbcharsetprober.py,sha256=9rOCjDVsmSMp6e7q2syqak22j7lrbUZhJhMee2gbVL0,3268 -botocore/vendored/requests/packages/chardet/big5freq.py,sha256=D8oTdz-GM7Jg8TsaWJDm65vM_OLHC3xub6qUJ3rOgsQ,82594 -botocore/vendored/requests/packages/chardet/jisfreq.py,sha256=ZcL4R5ekHHbP2KCYGakVMBsiKqZZZAABzhwi-uRkOps,47315 -botocore/vendored/requests/packages/chardet/euckrfreq.py,sha256=T5saK5mImySG5ygQPtsp6o2uKulouCwYm2ElOyFkJqU,45978 -botocore/vendored/requests/packages/chardet/chardistribution.py,sha256=cUARQFr1oTLXeJCDQrDRkUP778AvSMzhSCnG8VLCV58,9226 -botocore/vendored/requests/packages/chardet/langgreekmodel.py,sha256=QHMy31CH_ot67UCtmurCEKqKx2WwoaKrw2YCYYBK2Lw,12628 -botocore/vendored/requests/packages/chardet/sbcsgroupprober.py,sha256=8hLyH8RAG-aohBo7o_KciWVgRo42ZE_zEtuNG1JMRYI,3291 -botocore/vendored/requests/packages/chardet/euctwprober.py,sha256=upS2P6GuT5ujOxXYw-RJLcT7A4PTuo27KGUKU4UZpIQ,1676 -botocore/vendored/requests/packages/chardet/big5prober.py,sha256=XX96C--6WKYW36mL-z7pJSAtc169Z8ZImByCP4pEN9A,1684 -botocore/vendored/requests/packages/chardet/euctwfreq.py,sha256=G_I0BW9i1w0ONeeUwIYqV7_U09buIHdqh-wNHVaql7I,34872 -botocore/vendored/requests/packages/chardet/jpcntx.py,sha256=yftmp0QaF6RJO5SJs8I7LU5AF4rwP23ebeCQL4BM1OY,19348 -botocore/vendored/requests/packages/chardet/euckrprober.py,sha256=Wo7dnZ5Erw_nB4H-m5alMiOxOuJUmGHlwCSaGqExDZA,1675 -botocore/vendored/requests/packages/chardet/langhebrewmodel.py,sha256=4ASl5vzKJPng4H278VHKtRYC03TpQpenlHTcsmZH1rE,11318 -botocore/vendored/requests/packages/chardet/escsm.py,sha256=7iljEKN8lXTh8JFXPUSwlibMno6R6ksq4evLxbkzfro,7839 -botocore/vendored/requests/packages/chardet/universaldetector.py,sha256=h-E2x6XSCzlNjycYWG0Fe4Cf1SGdaIzUNu2HCphpMZA,6840 -botocore/vendored/requests/packages/chardet/escprober.py,sha256=q5TcQKeVq31WxrW7Sv8yjpZkjEoaHO8S92EJZ9hodys,3187 -botocore/vendored/requests/packages/chardet/utf8prober.py,sha256=7tdNZGrJY7jZUBD483GGMkiP0Tx8Fp-cGvWHoAsilHg,2652 -botocore/vendored/requests/packages/chardet/sbcharsetprober.py,sha256=Xq0lODqJnDgxglBiQI4BqTFiPbn63-0a5XNA5-hVu7U,4793 -botocore/vendored/requests/packages/chardet/langcyrillicmodel.py,sha256=fkcd5OvogUp-GrNDWAZPgkYsSRCD2omotAEvqjlmLKE,17725 -botocore/vendored/requests/packages/chardet/langhungarianmodel.py,sha256=SXwuUzh49_cBeMXhshRHdrhlkz0T8_pZWV_pdqBKNFk,12536 -botocore/vendored/requests/packages/chardet/codingstatemachine.py,sha256=E85rYhHVMw9xDEJVgiQhp0OnLGr6i2r8_7QOWMKTH08,2318 -botocore/vendored/requests/packages/chardet/eucjpprober.py,sha256=5IpfSEjAb7h3hcGMd6dkU80O900C2N6xku28rdYFKuc,3678 -botocore/vendored/requests/packages/chardet/cp949prober.py,sha256=FMvdLyB7fejPXRsTbca7LK1P3RUvvssmjUNyaEfz8zY,1782 -botocore/vendored/requests/packages/chardet/mbcssm.py,sha256=IKwJXyxu34n6NojmxVxC60MLFtJKm-hIfxaFEnb3uBA,19590 -botocore/vendored/requests/packages/chardet/gb2312freq.py,sha256=M2gFdo_qQ_BslStEchrPW5CrPEZEacC0uyDLw4ok-kY,36011 -botocore/vendored/requests/packages/chardet/charsetgroupprober.py,sha256=0lKk7VE516fgMw119tNefFqLOxKfIE9WfdkpIT69OKU,3791 -botocore/vendored/requests/packages/chardet/sjisprober.py,sha256=UYOmiMDzttYIkSDoOB08UEagivJpUXz4tuWiWzTiOr8,3764 -botocore/vendored/requests/packages/chardet/mbcsgroupprober.py,sha256=SHRzNPLpDXfMJLA8phCHVU0WgqbgDCNxDQMolGX_7yk,1967 -botocore/vendored/requests/packages/chardet/compat.py,sha256=5mm6yrHwef1JEG5OxkPJlSq5lkjLVpEGh3iPgFBkpkM,1157 -botocore/vendored/requests/packages/chardet/langbulgarianmodel.py,sha256=ZyPsA796MSVhYdfWhMCgKWckupAKAnKqWcE3Cl3ej6o,12784 -botocore/vendored/requests/packages/chardet/langthaimodel.py,sha256=-k7djh3dGKngAGnt3WfuoJN7acDcWcmHAPojhaUd7q4,11275 -botocore/vendored/requests/packages/chardet/__init__.py,sha256=XuTKCYOR7JwsoHxqZTYH86LVyMDbDI3s1s0W_qoGEBM,1295 -botocore/vendored/requests/packages/chardet/charsetprober.py,sha256=Z48o2KiOj23FNqYH8FqzhH5m1qdm3rI8DcTm2Yqtklg,1902 -botocore/vendored/requests/packages/urllib3/connectionpool.py,sha256=kGlpxwc2lRax0J7f2tFVWjXefCIdIWyLHqHDa6amN7A,30319 -botocore/vendored/requests/packages/urllib3/filepost.py,sha256=TEpQ_PMO0loPQERLr4E7VcgbMfhNwOCxt8cudhrpkM0,2281 -botocore/vendored/requests/packages/urllib3/poolmanager.py,sha256=Qw1UStRXPh6RH5BOT7x4NY7Gqkho2njYEDiqk9_8728,9406 -botocore/vendored/requests/packages/urllib3/exceptions.py,sha256=za-cEwBqxBKOqqKTaIVAMdH3j1nDRqi-MtdojdpU4Wc,4374 -botocore/vendored/requests/packages/urllib3/connection.py,sha256=uqwsV351AZqV008fb7OscFbyZt6dRicjQQrUA0K01iw,9011 -botocore/vendored/requests/packages/urllib3/response.py,sha256=t4Pl6JVQ9jYXbriu0cQf5dRuRSpxSP9YltgMu35JFPo,16459 -botocore/vendored/requests/packages/urllib3/request.py,sha256=NjnLVqcKZVotmPV335m87AqMFBSH0V_ml2tOGxKSKRI,5751 -botocore/vendored/requests/packages/urllib3/fields.py,sha256=06XgBjTvEyVYUWA-j_6zhnfXMpd-IxZdzT85ppAFfYg,5833 -botocore/vendored/requests/packages/urllib3/__init__.py,sha256=WdpCLx5juBoMArBMbVT125BD8SvK-Id9Js57PTnpfSs,2055 -botocore/vendored/requests/packages/urllib3/_collections.py,sha256=tatXHmN5An3gw-alS68qs3yO_vweJ8eFTUmwMXvlKpQ,10454 -botocore/vendored/requests/packages/urllib3/packages/six.py,sha256=U-rO-WBrFS8PxHeamSl6okKCjqPF18NhiZb0qPZ67XM,11628 -botocore/vendored/requests/packages/urllib3/packages/ordered_dict.py,sha256=VQaPONfhVMsb8B63Xg7ZOydJqIE_jzeMhVN3Pec6ogw,8935 -botocore/vendored/requests/packages/urllib3/packages/__init__.py,sha256=EKCTAOjZtPR_HC50e7X8hS5j4bkFkN87XZOT-Wdpfus,74 -botocore/vendored/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py,sha256=fK28k37hL7-D79v9iM2fHgNK9Q1Pw0M7qVRL4rkfFjQ,3778 -botocore/vendored/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py,sha256=cOWMIn1orgJoA35p6pSzO_-Dc6iOX9Dhl6D2sL9b_2o,460 -botocore/vendored/requests/packages/urllib3/contrib/ntlmpool.py,sha256=F29BjpIMId2u9Bwmy0bmg8eDYKvQZiXLsZeK2cDNctQ,4507 -botocore/vendored/requests/packages/urllib3/contrib/pyopenssl.py,sha256=ooNMMfp9cEirGyLRcIE-f-qidQPdDp2kBl-K5ALOJyU,9326 -botocore/vendored/requests/packages/urllib3/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -botocore/vendored/requests/packages/urllib3/util/connection.py,sha256=PTxckPfstrFVAPAfYn12kaZYEfoQn-CDCo2VrIBPtpo,3293 -botocore/vendored/requests/packages/urllib3/util/ssl_.py,sha256=X4mp-FA-Jact7Z3sEzxenQ69Jnwlz2-G7gjJXL1CMdw,10037 -botocore/vendored/requests/packages/urllib3/util/timeout.py,sha256=2MqJVD_v_0tLxgm2Mr_ePqYmfnB5zjZXphlIexWocKM,9544 -botocore/vendored/requests/packages/urllib3/util/url.py,sha256=uPcy_lCMdmQhdofnemWyjYjHsPJaZ0VisANa2vaCr3g,5836 -botocore/vendored/requests/packages/urllib3/util/response.py,sha256=QMrOy69WPkoe42EU0Y5jwRNqBf-w1FF8GJWAx1jQDmY,566 -botocore/vendored/requests/packages/urllib3/util/request.py,sha256=zY2x5tBXzvgLWgF3XRk_CEk-X8Q8L9bqpESqWn13I_0,2089 -botocore/vendored/requests/packages/urllib3/util/__init__.py,sha256=zrB1BFTNOUWxgEVvZlicK8uEU2AVpT1TFmWo2gQGfDA,486 -botocore/vendored/requests/packages/urllib3/util/retry.py,sha256=bcRb3QC1LDMHLx8gBDDGFqZ3dKs6bYcpfWZJ3FpOMtE,9924 -botocore/docs/shape.py,sha256=DUPvgKgDPNZR8jWAwSMh1rPnjAhVOP1c8vOSNunaAAM,4994 -botocore/docs/paginator.py,sha256=5zFXpJDsDmmtupttiFB1nNzP9OEephKY6qsd8jdlk0E,6986 -botocore/docs/docstring.py,sha256=8_HzHVdKsIxM2fqMO1AF0dP9mhjBb7kUPISlLxedGe4,3699 -botocore/docs/method.py,sha256=pGjAUCiqD8TDGkaNrA7hlwYAs4m4ZlMXLRFTfRnr1HY,11549 -botocore/docs/waiter.py,sha256=2JwQel4QVkuuOT4pm-jb9NgQnZHRWoZMcjsaMuZmm6o,4823 -botocore/docs/utils.py,sha256=Iu72WFt__x44s-U2_VitHBFmEr-Ky-Nz_c3b5syoyjY,7176 -botocore/docs/service.py,sha256=9Gaxv166aCon2TMKWFfTjS7K9ueJ2HtY3asOq1c-IVc,3480 -botocore/docs/sharedexample.py,sha256=RWe-sQv6gQAMfs8NsIppWQmftd0eriLaEnKhcVKVzkE,9326 -botocore/docs/params.py,sha256=ZDWQacPeYjFo13cflN0c1a60IXBOqpZYjZDb1p3Z26w,9561 -botocore/docs/__init__.py,sha256=u8q1PqNQdRnL9XMgVAGKLSp_wJOLBBum7EiDFS_zUfQ,1543 -botocore/docs/example.py,sha256=-zLJxpQGMoIcnlmMpDi_ksjKmqvWS6e8B_UzRYbVwA4,8751 -botocore/docs/client.py,sha256=BPPwUimIsiMLflHv5RkC1nRtQ-BkE59opfTW0QWUG9E,4673 -botocore/docs/bcdoc/restdoc.py,sha256=5xUdalLFANMoPwB3J6iMdMJhVO7WYb1X-sT7cVgI3LM,7226 -botocore/docs/bcdoc/style.py,sha256=Zf7DB_WSQgfseH3mnXMqKkE0Q8eC_iNYw3w_Pkx63os,11833 -botocore/docs/bcdoc/docstringparser.py,sha256=jrOjpdwkZCGh04gIoLBpP9QAXmR9V3I1yjHxQz9IOMM,5889 -botocore/docs/bcdoc/textwriter.py,sha256=z6WyK2qm-f4xWFZhcAc_Dori_XrrSsIdkkITQ61De_w,20611 -botocore/docs/bcdoc/__init__.py,sha256=V2g87AefB2DOD9_3xIF5k9Nv5ttb4_gNJOVvSF0Mp3s,588 -botocore/docs/bcdoc/docevents.py,sha256=q74aXqhYPXAGRwx9hKKRqOJ-SkdMQnZL6PI9TPLsK2Y,4733 -botocore/data/_retry.json,sha256=cEPP2IBVvtzW59rXPRI0l1Bg-nQGLKHaMEc3nOLnxbA,6444 -botocore/data/endpoints.json,sha256=n6RS29rr7Rwd0e2e0H3RIZOVVD8RVfp11wb1LCERrFs,89731 -botocore/data/lightsail/2016-11-28/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/lightsail/2016-11-28/paginators-1.json,sha256=iTn2ixIp2desYfltedGcnARJ3kDUyhaUT_uV05mXfCI,1245 -botocore/data/lightsail/2016-11-28/service-2.json,sha256=IXRYfNmq78cRT8XT0yNmvEc1GIa_LaUAguGW81oCeng,308634 -botocore/data/mobile/2017-07-01/paginators-1.json,sha256=QWwTFfnKV_AnwK-xCcXFK6bJDEHfSe4A8ollJulmrpE,350 -botocore/data/mobile/2017-07-01/service-2.json,sha256=iN_C36LA8aSC3y4YfUR6Y7XotVWLN21y9loCSWP3S6o,27007 -botocore/data/waf-regional/2016-11-28/examples-1.json,sha256=6OPuCnLynJIfGO-Vxhb9ZZV9ktEKhpByvf2jSwAg-DY,29749 -botocore/data/waf-regional/2016-11-28/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/waf-regional/2016-11-28/service-2.json,sha256=Ajwq7vF_DFVwgq0kDQc152SpENS_XtGPAHXJ0JBEBMU,318475 -botocore/data/ec2/2015-03-01/waiters-2.json,sha256=UDhKYGIrItEq2e56vKMh6yLdn_YfsfTYsmankCjsR3k,11040 -botocore/data/ec2/2015-03-01/paginators-1.json,sha256=Uns0O6V6ZIXI09iZdCY77w-CBHbes_siW5vFU-bpE1w,1439 -botocore/data/ec2/2015-03-01/service-2.json,sha256=yg7MGHYAL-yI2xA5dZ1_-FyPWLh_C8ZvRJfV0ZSW-Z4,588390 -botocore/data/ec2/2016-11-15/examples-1.json,sha256=Dv18Ql8faOeBMQlenC7HBzlgrNQXNeokvLsyFf6Q_yY,110174 -botocore/data/ec2/2016-11-15/waiters-2.json,sha256=QcLUdyeAw3YbqHVY5kg30lkT_DFXag2rwL8cgka1qWo,15709 -botocore/data/ec2/2016-11-15/paginators-1.json,sha256=-eHtmlAmocp-yzga8qPi-4jM8s_2KGUoMlHek3dRbqk,2892 -botocore/data/ec2/2016-11-15/service-2.json,sha256=G0yexyVDvMIR2WCB9tK1E1f19BrUhR2QYC36bVRusk0,1369377 -botocore/data/ec2/2015-10-01/waiters-2.json,sha256=8sXo9xWtm1IZMKcm9Ne42ha-9XDTVP_fZUejgA1tw3E,14823 -botocore/data/ec2/2015-10-01/paginators-1.json,sha256=Vom5HeCc0UgDyEyYKw3piztolJ3IIxz_tIhEX61TvM8,1793 -botocore/data/ec2/2015-10-01/service-2.json,sha256=dmQdClL90tFYkUzQeHRAWyb5Ae_YsUV2urf5lYe9Rxs,847080 -botocore/data/ec2/2016-09-15/examples-1.json,sha256=Dv18Ql8faOeBMQlenC7HBzlgrNQXNeokvLsyFf6Q_yY,110174 -botocore/data/ec2/2016-09-15/waiters-2.json,sha256=1ZtptOEInU4p-4ZQFXbC5lxZ8XNsseki72qxLO2dX4M,14875 -botocore/data/ec2/2016-09-15/paginators-1.json,sha256=Vom5HeCc0UgDyEyYKw3piztolJ3IIxz_tIhEX61TvM8,1793 -botocore/data/ec2/2016-09-15/service-2.json,sha256=40e47h21ZRjZDx_8gm3nUT8Lr9G31mnyADMBeR-EPok,891280 -botocore/data/ec2/2014-09-01/waiters-2.json,sha256=HG1xDu-8ICfvY1n_YV9i0ylufepFUYmDd0dLkQxwKuY,8548 -botocore/data/ec2/2014-09-01/paginators-1.json,sha256=XpA8TZvmBGGraKlRGE-U-YeLIBN1ZvbcyE8Wh8uuIDM,1271 -botocore/data/ec2/2014-09-01/service-2.json,sha256=g3DViTT4mmGeKxoN0bqbl-0AndJID1vh5iOnhJcATlk,539923 -botocore/data/ec2/2016-04-01/waiters-2.json,sha256=ZjSjdDS-pisO_MoRjsulXMshrcU5qNJd4m1bOBQ9mKQ,15259 -botocore/data/ec2/2016-04-01/paginators-1.json,sha256=Vom5HeCc0UgDyEyYKw3piztolJ3IIxz_tIhEX61TvM8,1793 -botocore/data/ec2/2016-04-01/service-2.json,sha256=YGX9U8JvAjWHLZnONpuJFyNJ5sMEilCiu9A8oPJqA1M,878250 -botocore/data/ec2/2015-04-15/waiters-2.json,sha256=1iUHJTDrTvb5_HbDMbVVzC4Ex1S97GZl-tnP70MaDEY,11546 -botocore/data/ec2/2015-04-15/paginators-1.json,sha256=Uns0O6V6ZIXI09iZdCY77w-CBHbes_siW5vFU-bpE1w,1439 -botocore/data/ec2/2015-04-15/service-2.json,sha256=GgdUgnyrx65mPXWHdUX1CxBrdQkUVuQkIFufN6tIHiA,715324 -botocore/data/ec2/2014-10-01/waiters-2.json,sha256=UDhKYGIrItEq2e56vKMh6yLdn_YfsfTYsmankCjsR3k,11040 -botocore/data/ec2/2014-10-01/paginators-1.json,sha256=Uns0O6V6ZIXI09iZdCY77w-CBHbes_siW5vFU-bpE1w,1439 -botocore/data/ec2/2014-10-01/service-2.json,sha256=SJQZUwN8Poi1qZjoKekkUDZMzxVgh1JEezXu85AuPX4,566499 -botocore/data/cloudhsm/2014-05-30/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/cloudhsm/2014-05-30/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/cloudhsm/2014-05-30/service-2.json,sha256=2R1wH2l1s28qBul0DGHm5Os0OqdaqxbmcRfBDz7YUfQ,55315 -botocore/data/iot-data/2015-05-28/service-2.json,sha256=A-tl_4fifm5j5_njOZEveLO3H5fFAWy71RiXQfu9vi0,11389 -botocore/data/codepipeline/2015-07-09/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/codepipeline/2015-07-09/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/codepipeline/2015-07-09/service-2.json,sha256=9ryu7E4NReJIvlKxVom4AQHYjTHPS-bksDEJfkLoLP4,124682 -botocore/data/elb/2012-06-01/examples-1.json,sha256=NE6HcGypE87pOfvGkxKi_QD-UJ_qWHG2_Q9ynk6V9xA,30446 -botocore/data/elb/2012-06-01/waiters-2.json,sha256=9NjB-6qbZ5pHxElH90T-4YPEBdXHCA9QHdcF96gTbP0,1527 -botocore/data/elb/2012-06-01/paginators-1.json,sha256=7wrzQSPiNjefAUx04hXl_VclYmfODHBIuPNRGTQ_z1c,208 -botocore/data/elb/2012-06-01/service-2.json,sha256=8kBMn7TzlaHijXcgtBjnUK76mC1MTCRFgV3sniuyxtQ,97464 -botocore/data/transfer/2018-11-05/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/transfer/2018-11-05/service-2.json,sha256=MBT2hy6sJhUzZ0VKTGmwwqK2fsUnCq59QYRRY3IW4X8,50592 -botocore/data/datasync/2018-11-09/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/datasync/2018-11-09/service-2.json,sha256=wq2aJS9sfIGvwtahGjdZBrJB0H9f5PMrIZnKia3i_pM,66933 -botocore/data/datapipeline/2012-10-29/paginators-1.json,sha256=JdrA68aI3fnPWh2_ecOxC5DtcFz4OkiO8GvsBkzOgUw,554 -botocore/data/datapipeline/2012-10-29/service-2.json,sha256=CESWPLLdJnxvAQy_iuEaSGELUk4NhjptbJwBhKTheRc,76661 -botocore/data/serverlessrepo/2017-09-08/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/serverlessrepo/2017-09-08/service-2.json,sha256=l1__v7aGHpDfe1dQi1MiUSYxKfiucmUjHcy21GayWjk,106090 -botocore/data/mgh/2017-05-31/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/mgh/2017-05-31/service-2.json,sha256=wGjFifWRRI7qUEDimxyBbNoHNKlWdhCmbEym18Lwks4,46355 -botocore/data/kinesis-video-media/2017-09-30/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/kinesis-video-media/2017-09-30/service-2.json,sha256=PoTZ_1z-lPHnDzUenBzvnhJ1XenNvrZ3gf2nskkGgWo,11281 -botocore/data/devicefarm/2015-06-23/examples-1.json,sha256=7tNjHzbMOsFwnsYvrCTl8p1q6jrLEYGpyKDCqSGS6V4,42737 -botocore/data/devicefarm/2015-06-23/paginators-1.json,sha256=0Kkuc8V8ok8It861blVq2WTJfjI7qfqwkF1Yu2LvQzg,1889 -botocore/data/devicefarm/2015-06-23/service-2.json,sha256=w6sGChkMeJPWFPxZBVrRie3klRfyJpkJP-9GvrQA9BE,206292 -botocore/data/fsx/2018-03-01/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/fsx/2018-03-01/service-2.json,sha256=wgK8hy6qu0_PkFFIYKUomqDPaX33iWmni5i8sTOmu8E,70945 -botocore/data/glue/2017-03-31/paginators-1.json,sha256=asl29Z0ebzO7vYigoH_knzdkxgnFLcbleBZJWb9vg60,2189 -botocore/data/glue/2017-03-31/service-2.json,sha256=ZhvlDWMXK01IlNGS1Mhg-meLy0pFiIucOvROP9o68fw,243307 -botocore/data/machinelearning/2014-12-12/examples-1.json,sha256=mPd7boHY9w4xI-wG9j9rE088o-AWzYV37JIZ20tLApc,42 -botocore/data/machinelearning/2014-12-12/waiters-2.json,sha256=_tyML4Sw4VQBk8fUWh1bUQjlcooL1hgRpvkqxKxEeCY,1902 -botocore/data/machinelearning/2014-12-12/paginators-1.json,sha256=80ddAOlwUPt-mXpDtk3eJqnm7lB95-DjTW6-G6eqmJc,679 -botocore/data/machinelearning/2014-12-12/service-2.json,sha256=3HdUvkRMiM49ecS3Ovqc5L4wdBnWZR5IVNxjGVaY2-w,197474 -botocore/data/ssm/2014-11-06/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/ssm/2014-11-06/paginators-1.json,sha256=sI0pKPhjKLSUuHRd1zL6XgAU0B49t8gsjo01X_6GGbc,1592 -botocore/data/ssm/2014-11-06/service-2.json,sha256=nGLE4EzaLrFuItx-J9PfDQbtKIXhupdB8JiDogZH4a8,535211 -botocore/data/s3control/2018-08-20/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/s3control/2018-08-20/service-2.json,sha256=qLUVkgOEb0Pqex8sfXQLRnwF6H2i0pu_KpvzyT8TwpQ,8398 -botocore/data/macie/2017-12-19/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/macie/2017-12-19/service-2.json,sha256=LAkWzyz_S9eJ6Uv4jJL6mKgzNA62BTkzOeOLLUC0EE8,19612 -botocore/data/rekognition/2016-06-27/examples-1.json,sha256=zYPz5XICBaOAiJKhMEL556jfRws6tjNx4KjJAL5_97s,20342 -botocore/data/rekognition/2016-06-27/paginators-1.json,sha256=q7MuYMm5kzMdQLuBqh2vApI65VFN2IwDFbkhpYIqfGo,642 -botocore/data/rekognition/2016-06-27/service-2.json,sha256=5H5FeYUB0r22rqAJMP_h-jc25HXsyY5LrFtIoZsqjGY,179486 -botocore/data/secretsmanager/2017-10-17/service-2.sdk-extras.json,sha256=IEA3uxtjPY8I1on-q2W9-tozHHIVmneQyB6gCTcYTro,120 -botocore/data/secretsmanager/2017-10-17/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/secretsmanager/2017-10-17/service-2.json,sha256=eMO3OTEDAqhPHB9_pKny06SwMjBJ9YSCPX4eEnJV4nQ,123505 -botocore/data/cloudformation/2010-05-15/examples-1.json,sha256=gm_RqBO5j_WGR7ft7DnGJQokXca_j19gwyDlUFwrO3s,4308 -botocore/data/cloudformation/2010-05-15/waiters-2.json,sha256=7lsqeh7RU_Qgnbc330iYLIbOCx0extlTVmhAq3_Xw5U,4779 -botocore/data/cloudformation/2010-05-15/paginators-1.json,sha256=M9ZQ6UWYlgLUu1Up3TN4VDQlZNEaAlZv4YGx19ilkVI,829 -botocore/data/cloudformation/2010-05-15/service-2.json,sha256=QYCLRC2wUqpJKxDInpbC2n47lng4S_DrBtlNBoPzuAg,263469 -botocore/data/snowball/2016-06-30/examples-1.json,sha256=q_R4KbfIA1y7zg_AK1oGCFtOXeIgA21GGA_eBLKdFcU,18204 -botocore/data/snowball/2016-06-30/paginators-1.json,sha256=DDJjx7pnjIRcJOkB0hZDnFsWFhXv8oyIkI-LGRjm0sw,357 -botocore/data/snowball/2016-06-30/service-2.json,sha256=aNmoXYkiRxLrliOhxCEXOp1mssPIUCHv40VDopVTSxo,69764 -botocore/data/iot1click-devices/2018-05-14/service-2.json,sha256=2zIvoHp2lHaYlbEk6OiiZ43UPlhpuKyKPwgCf7UdJ9U,28041 -botocore/data/ce/2017-10-25/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/ce/2017-10-25/service-2.json,sha256=9cls4UxAoizWhA43r7iJnl1WybMhVF2bCUlE3HlF_7U,76907 -botocore/data/resource-groups/2017-11-27/paginators-1.json,sha256=-JHIduFu_Vod1GDUVnvUE5uThRCKqBBMLunoO4zu5xU,538 -botocore/data/resource-groups/2017-11-27/service-2.json,sha256=fPUN8Y38_NBlFHmnHL3eNwhG8bqzel4HhZelpWnEvEU,36108 -botocore/data/marketplacecommerceanalytics/2015-07-01/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/marketplacecommerceanalytics/2015-07-01/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/marketplacecommerceanalytics/2015-07-01/service-2.json,sha256=iYQabUsVEZke7AQE5uljqDDt4BvGJ0FRFo-LYV2WEhE,16150 -botocore/data/athena/2017-05-18/paginators-1.json,sha256=fwph2CRB_-FfFlWxU71jTdrlQ-_UriwVUCYYP1EsH2Y,645 -botocore/data/athena/2017-05-18/service-2.json,sha256=92P-afqnrfWRnR1AATblFjOltSi9x_nb-sFRiVevhyo,33904 -botocore/data/cognito-idp/2016-04-18/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/cognito-idp/2016-04-18/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/cognito-idp/2016-04-18/service-2.json,sha256=fPVeFKOH_crKi_YZ_Fwq8MkN-iqBeBkr8DXc68Nr7O4,305955 -botocore/data/application-autoscaling/2016-02-06/examples-1.json,sha256=TRI_WZvx16j8jDh12FsT5mdlkUnI2-LOWBQk-qFVIOs,9536 -botocore/data/application-autoscaling/2016-02-06/paginators-1.json,sha256=rzEJ4K10L_HRDKijF9-VG7EKf1Nk_OmtWpWZmpDL2bM,569 -botocore/data/application-autoscaling/2016-02-06/service-2.json,sha256=kIxufzOghomG2Vsz28Th3UpGnMsLx-_3p4qlX8CHIfo,110627 -botocore/data/stepfunctions/2016-11-23/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/stepfunctions/2016-11-23/paginators-1.json,sha256=PNwTIZVCSCLLftzOmFPcc9ClpKUvGSRgHlGjKlUcqtg,696 -botocore/data/stepfunctions/2016-11-23/service-2.json,sha256=YappL7M8XN1uNXN3VDcpfabBBQcCK5ci6qvkZ2JL-W0,73712 -botocore/data/es/2015-01-01/paginators-1.json,sha256=4P7bTXG-4BwfbtgFq_4HjB8uIneuXnG8b0G280iEEQ0,411 -botocore/data/es/2015-01-01/service-2.json,sha256=2UJCW5Li3AR-RI2Nk_rqM4VPxKGSOrZAb14Gn8mrto8,104041 -botocore/data/importexport/2010-06-01/paginators-1.json,sha256=Etmobek-KI_4Gx8vLRBQsy6nYiRvog88hJCCXuRESZQ,215 -botocore/data/importexport/2010-06-01/service-2.json,sha256=YhhOo0SgwD5k5DsgpPmW9SGOZYkiTnwx_T11WYNGcPo,33582 -botocore/data/ds/2015-04-16/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/ds/2015-04-16/paginators-1.json,sha256=sQqB6XGYfdAXXzyfVU6ObQojfhMQySNFAjY26DvbtuY,204 -botocore/data/ds/2015-04-16/service-2.json,sha256=B6sC0deRKrDUPvJ_83vE2tKTsycuk7semrxZIoGdawU,145238 -botocore/data/kinesisanalyticsv2/2018-05-23/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/kinesisanalyticsv2/2018-05-23/service-2.json,sha256=xJEgH_XqEMSsUwZ7oTTF6rZJpzZtcQ50UEVp1fUvpR8,140034 -botocore/data/kafka/2018-11-14/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/kafka/2018-11-14/service-2.json,sha256=owocAqOyuBSRUrN1yV2gK7gY_1R-Gz_A4q9TDvqRoA4,34540 -botocore/data/rds/2014-09-01/waiters-2.json,sha256=9BpCCotIHKKeyJHD5Bo1fdRi6EnHK6jyJJx_9wswzCQ,2645 -botocore/data/rds/2014-09-01/paginators-1.json,sha256=CKMhQjYqNQB1hiHNi4vCNIVtQvu29SM_ySRhqxTKfOQ,3095 -botocore/data/rds/2014-09-01/service-2.json,sha256=wNNc81NVVzYUums08_BY4x2WYi7w7CggTAXPZkQuQmU,326067 -botocore/data/rds/2014-10-31/service-2.sdk-extras.json,sha256=M7CXc4xhcbZw9nhShvKNkQH_YQF477PslBBT0cweG5Y,1068 -botocore/data/rds/2014-10-31/examples-1.json,sha256=ilej1HldMOww25u8JCAlutyE5CQiRuTlGyFnia3nlBk,48986 -botocore/data/rds/2014-10-31/waiters-2.json,sha256=lBWB4MDYhDFIb9Ley_xjR36dkUn8z4Kkxa2CxCz2EO0,5085 -botocore/data/rds/2014-10-31/paginators-1.json,sha256=Zd-1SzR2SwAT1ZLvbAbzuEs4YClRd7h0taNOLJS0xxA,3807 -botocore/data/rds/2014-10-31/service-2.json,sha256=HbZitLFi4-DKandI2NGfqm5_KLKVXdTGYe_mdcfwsN0,593892 -botocore/data/appstream/2016-12-01/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/appstream/2016-12-01/waiters-2.json,sha256=3vm18B_pbfSz_IE9ckMWSSC0e9xCiPY1tYigPfqrsS8,1263 -botocore/data/appstream/2016-12-01/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/appstream/2016-12-01/service-2.json,sha256=R2DwqjFr1vqFqIdG8h2Ea1DBxzdxQ9TnSrC0jjNlW8g,112744 -botocore/data/kinesisvideo/2017-09-30/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/kinesisvideo/2017-09-30/service-2.json,sha256=ClAT95r71ydg-3xdcvtKsuSkwRKJjEhtoYAIuZpDjwU,30971 -botocore/data/translate/2017-07-01/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/translate/2017-07-01/service-2.json,sha256=Kcd5_q7JaP8PbAhUAXRIfW8p4W3Grbsj7ZRsvqAHSdQ,22485 -botocore/data/appmesh/2018-10-01/paginators-1.json,sha256=-TPoHMW78DG37BJz5SNi67CsUIs4PTTccyUhlXtMBm4,665 -botocore/data/appmesh/2018-10-01/service-2.json,sha256=o2b7WjVHx-mWUQvbXOMaZt4Aq3Fsnn9x65hYT9aIfu8,73232 -botocore/data/inspector/2016-02-16/examples-1.json,sha256=ehjV-XneKYe27HyYHvghjdFy5x1dW_wgr0-aTug5GHE,36664 -botocore/data/inspector/2016-02-16/paginators-1.json,sha256=tCsN1wyolCPCaVvz-FSR_VXx9VQG77RYDhq2X9hW0oU,1441 -botocore/data/inspector/2016-02-16/service-2.json,sha256=cbG9h9wxPKkXS7g3UjxDrDNoYiJQO7C3LtdYFucg-Us,126030 -botocore/data/inspector/2015-08-18/service-2.json,sha256=uHo82k_AcZJR4OdAQc0lu87wzTr682bOjTTt1zWZ22o,81021 -botocore/data/health/2016-08-04/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/health/2016-08-04/paginators-1.json,sha256=OGFmv_q5cV_Z4YEF5ne63h7G9xrRtKn7Vs4CoFDkxDc,711 -botocore/data/health/2016-08-04/service-2.json,sha256=DxqJpC5MjPG7iPfg5n1N82fqL0d-IFcJp3XhMZXxtT8,36161 -botocore/data/cognito-identity/2014-06-30/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/cognito-identity/2014-06-30/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/cognito-identity/2014-06-30/service-2.json,sha256=FG0M9LInhcAoh8Axkj1aFeJgO6ZXD6Ua8mCOJ3mvJiQ,57054 -botocore/data/securityhub/2018-10-26/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/securityhub/2018-10-26/service-2.json,sha256=IwHNCTpiH_q4u60LAwTlDjHHEnl2SBk7v6MCjqX3DQQ,94384 -botocore/data/mediapackage/2017-10-12/paginators-1.json,sha256=tcRHlN_xMKpNkCW0-B3wKrY4f9xo5EcoAPgINjhKcRw,363 -botocore/data/mediapackage/2017-10-12/service-2.json,sha256=VpIm1JIFXqbNI3fafDQt0QIvwnEdBnH3Sh2Xg46fUvg,68226 -botocore/data/budgets/2016-10-20/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/budgets/2016-10-20/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/budgets/2016-10-20/service-2.json,sha256=qiKJs79nnXLwD1S963jjlydP9PkwnSYsbVeHCU1hRPA,48987 -botocore/data/sms-voice/2018-09-05/service-2.json,sha256=TtBJja8wEmWu5LRzBWOMTBRMnOvprTmdyWbgeA9Aa08,23590 -botocore/data/servicediscovery/2017-03-14/paginators-1.json,sha256=sKu-j-WBHT8KpiemY4vgLiQkV1Ub2GtqLbYiUxdkjjE,683 -botocore/data/servicediscovery/2017-03-14/service-2.json,sha256=NshcX5wL4wytGS0fvaLXiBJaXfiEg9Fkqd9f8j34bkM,102021 -botocore/data/elasticache/2015-02-02/waiters-2.json,sha256=N6NTYHqUoktWaIjapl3RDepPknxNlIbb8a0wnS0HB_E,5118 -botocore/data/elasticache/2015-02-02/paginators-1.json,sha256=YkZxwpICpidoDrIimyr0yFGYg_T0emkSfhlNfPOfVMA,2171 -botocore/data/elasticache/2015-02-02/service-2.json,sha256=DumCTzoxJsMQTgs94HhOwPrCGNkQVJohxEYJuDcHbRw,254584 -botocore/data/elasticache/2014-09-30/waiters-2.json,sha256=mIVMN9SNrvDJ2iW_uXAA-N5ptxGmDw964Sv89zKAs-g,3719 -botocore/data/elasticache/2014-09-30/paginators-1.json,sha256=YkZxwpICpidoDrIimyr0yFGYg_T0emkSfhlNfPOfVMA,2171 -botocore/data/elasticache/2014-09-30/service-2.json,sha256=g4xh0vIu6yGt3ilzFkPVilbQJQKiJhCrvnUn3gJbyQ0,223047 -botocore/data/redshift/2012-12-01/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/redshift/2012-12-01/waiters-2.json,sha256=mvax_COD6X10xa7Toxa2DsrarFdKFg9kOWbIKRLahS4,2344 -botocore/data/redshift/2012-12-01/paginators-1.json,sha256=NMPKwQZVsNECCmA9ie84kbQFCjaEhlBH-AKs6qZBMPE,2726 -botocore/data/redshift/2012-12-01/service-2.json,sha256=zuntpVGioXJ2j0ipLsEG0uoJOpESdIbp-kXdSOUJZoU,365923 -botocore/data/codedeploy/2014-10-06/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/codedeploy/2014-10-06/waiters-2.json,sha256=OARBxBeZTRUui1WztkVtUn7Q2lAh3-Bemczgk455MGQ,662 -botocore/data/codedeploy/2014-10-06/paginators-1.json,sha256=6EF7gMw57yGDIEOmmCYUDpu6CRyXyaK97qO63pVqYLs,880 -botocore/data/codedeploy/2014-10-06/service-2.json,sha256=D_wOGWi_zWjFq4O3o4F2_CkjITuOLOhvbUNzv2kIqF8,195206 -botocore/data/cloudwatch/2010-08-01/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/cloudwatch/2010-08-01/waiters-2.json,sha256=6n80zThNd1Ep44E55Vs_oXDX2f69PXcIFrudKwhzStQ,335 -botocore/data/cloudwatch/2010-08-01/paginators-1.json,sha256=DGrUSVUTcc3N1sR37kMgt179hG1Zu-B6RXgnfbDEQV8,638 -botocore/data/cloudwatch/2010-08-01/service-2.json,sha256=9SE4uZBQNlXC1C-wYpp_uhTGAHl7_Qju6a9Nf1zafhk,91279 -botocore/data/license-manager/2018-08-01/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/license-manager/2018-08-01/service-2.json,sha256=d7LQhlcMu453nWtcS_H1TD1C5ujix_zA5mmZBbH4ed0,42424 -botocore/data/kinesis/2013-12-02/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/kinesis/2013-12-02/waiters-2.json,sha256=O09l7u4uKnojQ0nCnGvABSm0pUXaLj8vvi2Y7sfH_9w,615 -botocore/data/kinesis/2013-12-02/paginators-1.json,sha256=0V9ZORq8OT1SD03-0kH3BmDzKjJKkZtJSNcInl0WglU,905 -botocore/data/kinesis/2013-12-02/service-2.json,sha256=Qm4Mys9Bh763rWdCZPxTbwYlR1pyQzVMrB8BMkD4SbQ,122646 -botocore/data/elbv2/2015-12-01/examples-1.json,sha256=4Qxoz28hEDW8u1O7iGLKnH9NNb7Po5qybLFQtvtR7ss,44281 -botocore/data/elbv2/2015-12-01/waiters-2.json,sha256=k-g2ypXqfbW4ktwuK1iVKpApIncFhOPemhbs7pf7cW8,2371 -botocore/data/elbv2/2015-12-01/paginators-1.json,sha256=csFZQ6XPGcg9yTfhnxieLdZPCGMO93qEH7sFrjS8Mxs,531 -botocore/data/elbv2/2015-12-01/service-2.json,sha256=4XN5KU48Iq7l0OFCuN6x-rAhRejtE2AfJQL0UbiDbJs,136745 -botocore/data/appsync/2017-07-25/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/appsync/2017-07-25/service-2.json,sha256=XH08Fwsc1fRM6pSOpCl0v6_lXyMZKSYyZ8kobfr5LB8,81490 -botocore/data/elasticbeanstalk/2010-12-01/examples-1.json,sha256=EuEpZEobhGxWPfRosGTFNWYs8zRFVtkQtLXD8M_5fm0,37449 -botocore/data/elasticbeanstalk/2010-12-01/paginators-1.json,sha256=l8BG04gvfO_Ss7mElLCb6ASGmtEVxmeJlqdr6gIjAb8,187 -botocore/data/elasticbeanstalk/2010-12-01/service-2.json,sha256=yvt1-W0VbWv3HDI2JgBJOWI7urMAwOlOTeUvAM3j8R4,176009 -botocore/data/resourcegroupstaggingapi/2017-01-26/paginators-1.json,sha256=fJ_fldVkGj_VYI6cC1Ny5nji6QzufaUA4UyELkgbG_w,499 -botocore/data/resourcegroupstaggingapi/2017-01-26/service-2.json,sha256=WvsGxwNmJOZ5--A7EFGOI4cZjLaKat0fBqNnrGF4aeA,22713 -botocore/data/acm-pca/2017-08-22/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/acm-pca/2017-08-22/service-2.json,sha256=eZr9yoD6iEqr6CQRf1dLEhMWOEEiYGi-b1bwkyRFvaM,65381 -botocore/data/cur/2017-01-06/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/cur/2017-01-06/paginators-1.json,sha256=svrnnDA-WDB_TSjNDhx_3bXmieM10GBn4TRFNlZNPHg,209 -botocore/data/cur/2017-01-06/service-2.json,sha256=X_t8935NYqc4vmeKKvRzFSYsTHkwYF4NZ6ocaArVWac,8149 -botocore/data/globalaccelerator/2018-08-08/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/globalaccelerator/2018-08-08/service-2.json,sha256=IOIQMV6w9crei7nyIxWg4V9kdQVSOaYzK9o0knexggk,50597 -botocore/data/directconnect/2012-10-25/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/directconnect/2012-10-25/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/directconnect/2012-10-25/service-2.json,sha256=0usk2JigoXKEq3z8k67qX67O-qHMwy9NJcp98wvR93Y,113187 -botocore/data/rds-data/2018-08-01/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/rds-data/2018-08-01/service-2.json,sha256=GT2ouktsY8tyoBTsyn6Ejr4qV_SKnQFk3o4nuDj371g,11631 -botocore/data/lex-runtime/2016-11-28/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/lex-runtime/2016-11-28/service-2.json,sha256=wucazBRI3DZjpaXP857rJ1mOEVvkmEDz-qyCALwR_MY,38841 -botocore/data/sagemaker/2017-07-24/waiters-2.json,sha256=jaRP-zks6vx3_oCHpY0NurRnydxftyZh1083Pvtmfhc,3955 -botocore/data/sagemaker/2017-07-24/paginators-1.json,sha256=Wk9sE00rFQ0TWahE_-IC7UI0JSq3LI67Q7kPt2lKq8M,1035 -botocore/data/sagemaker/2017-07-24/service-2.json,sha256=iZNzdp58V4PLFdWrtl6WObrGErMiL5KyJJmknJfmM6I,389561 -botocore/data/dynamodb/2012-08-10/examples-1.json,sha256=-EGbj_SVvhpxH7Qv3Z70wx1D1CtI-xfaXJ618Ee3rLM,16882 -botocore/data/dynamodb/2012-08-10/waiters-2.json,sha256=G_iaXR3xZP3M8lpMR1olm2p-EvK6InTidNZnUUqPL70,727 -botocore/data/dynamodb/2012-08-10/paginators-1.json,sha256=v4n4RgaTvTMVKvP69bZnKUQXzH65NGuZCl-4tur38Vc,972 -botocore/data/dynamodb/2012-08-10/service-2.json,sha256=8aWU7v5KL1CwTE-L6OeZ4rKKHEaOLXCmB73oqkndkvk,335838 -botocore/data/route53domains/2014-05-15/paginators-1.json,sha256=HDmOOE0bHHtB4A6XI9rsnMT2bWNz7MB3Le1ivFme-os,371 -botocore/data/route53domains/2014-05-15/service-2.json,sha256=UE72DrOxu8shxPN7CnPaHk7mn8AVwkCrdS8AGApELqo,84520 -botocore/data/comprehend/2017-11-27/paginators-1.json,sha256=_abmL8V94atLcPgfTCAdLaPRsNEhb6OAeaVYAuFNrj0,222 -botocore/data/comprehend/2017-11-27/service-2.json,sha256=AqwgWW2bU1vg6ClUCToffdz7yOpKpuMX14jJQcg8baM,137261 -botocore/data/apigateway/2015-07-09/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/apigateway/2015-07-09/paginators-1.json,sha256=A1YjgRkhmZFhFaW-xgAapa9E8zLUWjc4L58E0edVzRM,1863 -botocore/data/apigateway/2015-07-09/service-2.json,sha256=8EaBm3qdT3SxTLureTUfGtaFEr52xaLzio8Js6knF10,357810 -botocore/data/signer/2017-08-25/waiters-2.json,sha256=ZvZgSYJd2QhWkeR1jaM1ECQ8295slZ6oDEFLtA2tYRE,607 -botocore/data/signer/2017-08-25/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/signer/2017-08-25/service-2.json,sha256=iArBRvaI0YXwWpb5AHkqR-7apKf9sYtzXFGrkG8o9YE,37646 -botocore/data/transcribe/2017-10-26/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/transcribe/2017-10-26/service-2.json,sha256=8qF40fPH23hbkIoqkv5XJKPauDL-5Rx2s4nKBrdyoEk,31867 -botocore/data/pinpoint-email/2018-07-26/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/pinpoint-email/2018-07-26/service-2.json,sha256=JhgAqoof4FFQ5VEH86K7NbDgvlTVLdqMVwgICP8JK0E,104986 -botocore/data/workdocs/2016-05-01/paginators-1.json,sha256=xh7IMkAvTKXxLdzdkioaeSdEg3GWHYsZ4TRv4rV8Rtw,544 -botocore/data/workdocs/2016-05-01/service-2.json,sha256=e3DtnkOGbx6U-60mGv7p59XG0lNKbc9p2NsBlElscuQ,130037 -botocore/data/pricing/2017-10-15/paginators-1.json,sha256=CaVVre83L_F8FNTp9no-9EIRlqx5kxNSPU_U2zoSqNw,622 -botocore/data/pricing/2017-10-15/service-2.json,sha256=C-2ZVZ_jCehOLwoCQdqWAi9opd17RVDP6KiYlZ0-kNc,13861 -botocore/data/dms/2016-01-01/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/dms/2016-01-01/waiters-2.json,sha256=vfLeUiOkuOYHtitArhH_kRZbM6uL4N58GER0aRz7btc,11982 -botocore/data/dms/2016-01-01/paginators-1.json,sha256=Y3SZaT-h8ftXIrqxEa-ITfC6Bin1V9vBGh6xMm3zXXQ,2332 -botocore/data/dms/2016-01-01/service-2.json,sha256=y943hjSUhF2-zlPeRHaEF2cw5cnIvgFoQAlwa-Hlqsc,156594 -botocore/data/lex-models/2017-04-19/paginators-1.json,sha256=NmghgFUthvQgC3SqXuZBn-6vnUJ5ey3MZYBpRF7YMqI,1686 -botocore/data/lex-models/2017-04-19/service-2.json,sha256=M4vDRQh0QMEp4cCvoJLr7EclCAQbMWs3AWpP-M0bGrk,157045 -botocore/data/config/2014-11-12/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/config/2014-11-12/paginators-1.json,sha256=H3dpxQajMsVlwJQdDP5KR6BiCzj58X8c9iXGGXnS5LI,1128 -botocore/data/config/2014-11-12/service-2.json,sha256=HQHWiLtBLNazp70azDRJl9QBG3Hz2hWLlehev4HAX48,180820 -botocore/data/pinpoint/2016-12-01/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/pinpoint/2016-12-01/service-2.json,sha256=FCYOAZcBkX6uX3p_yYdl9FiF2VGD22_xIY8jgMFU3Ww,300193 -botocore/data/batch/2016-08-10/examples-1.json,sha256=dP4kuMX_71qsShkh4dIYR5uzLVCtvnWQS-tsz6SOsNE,17063 -botocore/data/batch/2016-08-10/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/batch/2016-08-10/service-2.json,sha256=CIK-6VL76ABp3KIk7KcVq_L4kZsKA5aA6BnavWTfE4g,96530 -botocore/data/mediaconnect/2018-11-14/paginators-1.json,sha256=nUNgSEyNYVd1GIeXJJGybj3tO_AwN-_I9gppjHyBnlk,181 -botocore/data/mediaconnect/2018-11-14/service-2.json,sha256=dPeLlYF0gbitP_zfHOwn1ncnkqViVsi-2_f0VAJD9wY,70571 -botocore/data/autoscaling/2011-01-01/examples-1.json,sha256=KudYU6YobSVgFHfvRKDDVdqxkamvzVhv3WGkadkKbF8,43442 -botocore/data/autoscaling/2011-01-01/paginators-1.json,sha256=so58GPDqpI3ssBiKQPmP5qFb5ptRpvNGB9QMLx3ltNA,1492 -botocore/data/autoscaling/2011-01-01/service-2.json,sha256=lqE-UpCpUOqBfwEnjTBYsE45dp6Mg4_rh3Cw9o9TCUA,186804 -botocore/data/marketplace-entitlement/2017-01-11/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/marketplace-entitlement/2017-01-11/service-2.json,sha256=g0FbtVpxwUVfYxNCgrXidNa4z6zI2SVRVajusOVJiCY,8526 -botocore/data/eks/2017-11-01/service-2.sdk-extras.json,sha256=pmn0V8Su5NiqW8Y3X-IBtzD1Bz_JANtKgU4fsr-i_bM,107 -botocore/data/eks/2017-11-01/waiters-2.json,sha256=RlOHONt8jx7YBsW4Mp1-PK5fUOmRf77htyQIqiyhJOg,1209 -botocore/data/eks/2017-11-01/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/eks/2017-11-01/service-2.json,sha256=zbVE0laCgo7G7cFw30Sqq36tginKQJeKFln11Ne7UDM,20400 -botocore/data/chime/2018-05-01/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/chime/2018-05-01/service-2.json,sha256=CgOQUGYhW5oqoUzg-b77ohGZ1fS2QnxMOUxaGfA4H28,42224 -botocore/data/polly/2016-06-10/examples-1.json,sha256=-uFGLZQ6nTWN0cCt3DVe5TWPh8TbmBGwBTOpcW1Uq00,5102 -botocore/data/polly/2016-06-10/paginators-1.json,sha256=H2Ug-35GRTVHRRu1PMQBVhOJanu-5i4goJPnZudmqpY,154 -botocore/data/polly/2016-06-10/service-2.json,sha256=ky2yQBFJbM_uIjgCPv-iYQswGS8-FlOJjBFBuvV7TFU,42725 -botocore/data/route53/2013-04-01/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/route53/2013-04-01/waiters-2.json,sha256=s6BzW8AQ9pEM5yCsRa64E7lfUvhX5vxNARuiAtZwjsU,338 -botocore/data/route53/2013-04-01/paginators-1.json,sha256=muX2py7oddcqGYYWwkt1kI_taDh2qimXIyBCZHlmHVA,811 -botocore/data/route53/2013-04-01/service-2.json,sha256=ZgTJ7Ub1u3biqbfBIAkj5UzQMVmlJ41-i-A1S66Y16E,334977 -botocore/data/amplify/2017-07-25/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/amplify/2017-07-25/service-2.json,sha256=UiJ9wQPigjM7z_-ttRyBWICCNwqjCFMbSdgsPTVE5CE,61357 -botocore/data/iotanalytics/2017-11-27/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/iotanalytics/2017-11-27/service-2.json,sha256=kOIbmaUvuUv_HIVW1qRhPQ_gq-i0b8MnIXDubs2hx5I,96214 -botocore/data/organizations/2016-11-28/paginators-1.json,sha256=62ShD80Q2LtfchtJjMgsXqTnN9BagRKnBBQs9kAmjIk,2275 -botocore/data/organizations/2016-11-28/service-2.json,sha256=r78quTI1wecfKm4j_kRrkiN0rOyUhX62fEbKpnQkZSQ,191042 -botocore/data/mediaconvert/2017-08-29/paginators-1.json,sha256=XtVkBZdug_R7jlAQkwBNEbs8cZKzZA244SKTQ7hFaxA,835 -botocore/data/mediaconvert/2017-08-29/service-2.json,sha256=U-hGv8l75r9DdqjT6dQen4u-jNwJwTX5cOxlypHAxeY,358478 -botocore/data/codestar/2017-04-19/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/codestar/2017-04-19/service-2.json,sha256=ENniYvtGiDRcQyK8hpXtf_qG0luuNjgoOMXX4mHgvzs,55261 -botocore/data/swf/2012-01-25/paginators-1.json,sha256=tOiP-8y-iuvOSJM35cQg6qCE0ai5dd5IWenCE1BH_yk,1496 -botocore/data/swf/2012-01-25/service-2.json,sha256=J_ucgRd9cZXu7WavWkrHDqwdWCHyM-3fTI2UzhheTLU,326446 -botocore/data/guardduty/2017-11-28/paginators-1.json,sha256=Cfivxqo6J9vs1uCcQW9WnW7TkWoR-lIZbmU64zp7hzg,1185 -botocore/data/guardduty/2017-11-28/service-2.json,sha256=3BuRKDWjKhjoi3es2Hh2blX7WwE0MYJ-RpcCTW5pqyQ,123211 -botocore/data/ses/2010-12-01/examples-1.json,sha256=BPPSz90N_FdJKUCWXbAaaHDmBHUlTv3HHiudDbBAV2A,26812 -botocore/data/ses/2010-12-01/waiters-2.json,sha256=4GF4zY3Tg43WiGAVWSJeabII8bSEU7_ElsMj_G3Bt68,380 -botocore/data/ses/2010-12-01/paginators-1.json,sha256=yJZrYSBuHt0KS4SRWbTEbPEoFVM6aNHklCGtTRUa64w,399 -botocore/data/ses/2010-12-01/service-2.json,sha256=XAMoT5DmTQ2NziFoE7cW7BDAcb1mbbhaGC1AnD9KfVI,262583 -botocore/data/ecs/2014-11-13/examples-1.json,sha256=Os-F9xud11tWbiSWvbMYs3Ol-Rw2gv4jNDC3BaWvp5c,27987 -botocore/data/ecs/2014-11-13/waiters-2.json,sha256=F4d_a7_xVQIib5MpmSitTQBxupfL0Z9NqxOibIA6Igs,2246 -botocore/data/ecs/2014-11-13/paginators-1.json,sha256=rPbFiXvcaiW-FcoskZTatk8mXVKwLl-OhQ-XmDH6oLo,1054 -botocore/data/ecs/2014-11-13/service-2.json,sha256=7Mrgz4KYXpUfJmUPSBGRGUQMVVV_EUNHl6liQ6TFJkk,299743 -botocore/data/route53resolver/2018-04-01/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/route53resolver/2018-04-01/service-2.json,sha256=YIessklIYCu2hdP2WYVundgSStpChkmk7xq_Vy84rxc,67682 -botocore/data/s3/2006-03-01/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/s3/2006-03-01/waiters-2.json,sha256=m0RJIxnJW7u6emLjY1201rmfeKxgz1f7VDU7qKJOI4c,1436 -botocore/data/s3/2006-03-01/paginators-1.json,sha256=w9y0i0AX9O0ekVoSr9YGPc-NmebCH6eSMLPoTN4hbBU,1567 -botocore/data/s3/2006-03-01/service-2.json,sha256=Ijhs7z47MALJ2KYxZnXl6lybJ0kTCsa__dgu2cJ6g8I,296252 -botocore/data/sdb/2009-04-15/paginators-1.json,sha256=3KF7ZF879CPbTIZ8drlqnq5S3aFHdubXunwekE3ARG4,317 -botocore/data/sdb/2009-04-15/service-2.json,sha256=unrwOjr6Fv_CN9tPYucNhv5QpfFviMT77F7_HPP4prk,44405 -botocore/data/meteringmarketplace/2016-01-14/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/meteringmarketplace/2016-01-14/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/meteringmarketplace/2016-01-14/service-2.json,sha256=A03yutjxaJszeCJukJN79lwJZGFy-iLENMF5BVnX8X4,22271 -botocore/data/iot/2015-05-28/examples-1.json,sha256=mPd7boHY9w4xI-wG9j9rE088o-AWzYV37JIZ20tLApc,42 -botocore/data/iot/2015-05-28/paginators-1.json,sha256=5RHboEQhd-AzeuzQVs7HyDXwdrCNnj4ZjfDqDwAFHoI,1856 -botocore/data/iot/2015-05-28/service-2.json,sha256=sE-1avjoLGwmEg8pdJsU3P0KfVHl0ppyK3YKO46pgd8,437808 -botocore/data/acm/2015-12-08/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/acm/2015-12-08/waiters-2.json,sha256=S3uw0vWaMVDBNCST96n0BIyzhiBFuX0Oqp9C-SCxYeE,874 -botocore/data/acm/2015-12-08/paginators-1.json,sha256=oB2exj3JKzcsLCvfBeMqYawlxz6YghtvUQlwOfdTY4g,203 -botocore/data/acm/2015-12-08/service-2.json,sha256=WQs7LLMSM3JWMk4W33gaTvTAZWJacJwVsXWwr_FqQhI,57976 -botocore/data/clouddirectory/2016-05-10/paginators-1.json,sha256=y8GPuHURJmdagJ3QAI5mxkAzKvdCZwcnfYt3Z-qwgAU,2808 -botocore/data/clouddirectory/2016-05-10/service-2.json,sha256=ZIjBC0fe-l7RWhxmAwTASKo8OqPSPee1GGsH5Go42Hc,229185 -botocore/data/clouddirectory/2017-01-11/paginators-1.json,sha256=y8GPuHURJmdagJ3QAI5mxkAzKvdCZwcnfYt3Z-qwgAU,2808 -botocore/data/clouddirectory/2017-01-11/service-2.json,sha256=ZN0o_vklfZQcZ_xz0D3Vxz-Ata_kY8WspdVvPhswhPI,235220 -botocore/data/cognito-sync/2014-06-30/service-2.json,sha256=hkPOHyw-EH4KNHt7aZHMgmJ0gSLr7WiClKS9yNWhIJ4,87989 -botocore/data/opsworks/2013-02-18/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/opsworks/2013-02-18/waiters-2.json,sha256=2crmFuAdFm1n1gXfrbBHg_w-b0aaCPtBiXxHzp1N-LI,7578 -botocore/data/opsworks/2013-02-18/paginators-1.json,sha256=Z7xh6Z3rU23wP3DvH7dA_6rESCx1av8E7ABInwpMRY4,197 -botocore/data/opsworks/2013-02-18/service-2.json,sha256=rDqsIvBjvhZJLOtuvw52g36RUkrak2BDwu1gJd1JBIU,270555 -botocore/data/glacier/2012-06-01/examples-1.json,sha256=hR-1NmWo9lL0Cdqnr6x95Ywu_VfJucv0T4OveUp-S4o,27536 -botocore/data/glacier/2012-06-01/waiters-2.json,sha256=hzoyJJT1wJh9lq1_z4MK2ZBj98TGRhroii0kbeFXnJw,785 -botocore/data/glacier/2012-06-01/paginators-1.json,sha256=RAeqGFOs4GRiC-DuphMOBHWljwDfqBQINYf1qA2LbNA,628 -botocore/data/glacier/2012-06-01/service-2.json,sha256=1wHvtHU0EHdIdu8i6huMNTR2_Myt2TYlpIbkpIehQ5Q,154882 -botocore/data/storagegateway/2013-06-30/examples-1.json,sha256=2-mBPJqbSFv2f3t6KqdtrU5dW0Z49zylBvFGmoQEAk8,49947 -botocore/data/storagegateway/2013-06-30/paginators-1.json,sha256=k9kh5uNaprYcnSFFI6mo_0sde2cU6dcAv5oZwz93ZwU,979 -botocore/data/storagegateway/2013-06-30/service-2.json,sha256=Y8MvjLvYw5Mn97YE02fJiOWUT6IAYcpSLpWorc2QpWU,198510 -botocore/data/sns/2010-03-31/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/sns/2010-03-31/paginators-1.json,sha256=vSctAMM5ppPnwzzVJVWNOyyYcsLrUqZ5WiwJxtCGOGE,740 -botocore/data/sns/2010-03-31/service-2.json,sha256=MlqRCpJEzbcvwK4heDvLYpiNcPqm-6Bj2cUAPuqgiFo,88934 -botocore/data/support/2013-04-15/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/support/2013-04-15/paginators-1.json,sha256=b74jGAMdiNu8tKXAfyVILd2DpHqQx91qieo1BlSXpK8,363 -botocore/data/support/2013-04-15/service-2.json,sha256=lxpfVOKL9kIg85J2d-pHjExu2C7NzY5OMS-5Jb3ek0M,61270 -botocore/data/ecr/2015-09-21/examples-1.json,sha256=meQrqvxr4X0t9tOcJ0Q1W207GRKYkaRZ_P1irgzZub8,7212 -botocore/data/ecr/2015-09-21/paginators-1.json,sha256=09fbL8npDH2tkUnVlR_krjCnuElCHYpYG9w5UMHv1ss,527 -botocore/data/ecr/2015-09-21/service-2.json,sha256=RY5JD0-FUj08k3o5f9SsBjRJ8uP8cDF7DpKL8Yh8IGU,75159 -botocore/data/gamelift/2015-10-01/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/gamelift/2015-10-01/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/gamelift/2015-10-01/service-2.json,sha256=7b3GTR7d-ZxhwwXJqlu8iXG1EEVjkYQjP_1tCM97AW0,364991 -botocore/data/cloudsearch/2013-01-01/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/cloudsearch/2013-01-01/service-2.json,sha256=koLZGTodYP8TD1LUNw8etH7_a3Q7vTU-BsAcH32_n6k,124093 -botocore/data/cloudsearch/2011-02-01/service-2.json,sha256=kj2flFc1nvY1esVU0Nfogz6XKNbPPWDPjfdYFb6a6xs,84791 -botocore/data/kinesisanalytics/2015-08-14/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/kinesisanalytics/2015-08-14/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/kinesisanalytics/2015-08-14/service-2.json,sha256=TJnYELLF-s-WRJoTb49sLYb_GOdy7tJThwF7EaHwcdk,102346 -botocore/data/mediastore-data/2017-09-01/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/mediastore-data/2017-09-01/service-2.json,sha256=ZEIJQ0Xk076CvI4lz1Gkw9hmj3EfVh0Um7-3z7YgNRM,19441 -botocore/data/cloudtrail/2013-11-01/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/cloudtrail/2013-11-01/paginators-1.json,sha256=vjy4dmJ9EPeZb_mMxg-xPiGwRl5z5wqyDevbF5GBezA,185 -botocore/data/cloudtrail/2013-11-01/service-2.json,sha256=VlC1rzBBJdYVMgyCE33upBfVUF3x5YXliW-wDz56Ir0,84547 -botocore/data/autoscaling-plans/2018-01-06/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/autoscaling-plans/2018-01-06/service-2.json,sha256=_w3LyQ2EKrEwzO-r4eirQUUj8QvoieQX6N7d4taVbqY,49976 -botocore/data/neptune/2014-10-31/service-2.sdk-extras.json,sha256=U_PgxwtPhWl8ZwLlxYiXD4ZQ4iy605x4miYT38nMvnM,561 -botocore/data/neptune/2014-10-31/waiters-2.json,sha256=8bYoMOMz2Tb0aGdtlPhvlMel075q1n7BRnCpQ-Bcc1c,2398 -botocore/data/neptune/2014-10-31/paginators-1.json,sha256=4fCz1pDCPWb25EV7Q_UuMSTit8ZtExt-BbIlxOaUHz8,1626 -botocore/data/neptune/2014-10-31/service-2.json,sha256=3rwzZ1CqI9TQ2VtnhNXem8l-jX5zJe4mPkXHy3vK2fc,285234 -botocore/data/opsworkscm/2016-11-01/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/opsworkscm/2016-11-01/waiters-2.json,sha256=nTnFtemD7H4YJ99PqmULXNfZeNb18T1sxitQXDntJ2o,582 -botocore/data/opsworkscm/2016-11-01/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/opsworkscm/2016-11-01/service-2.json,sha256=-snckmHkXufRaiXp4TJ41tivW_wIsGZ5bRpIMfVC5Hs,64404 -botocore/data/sms/2016-10-24/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/sms/2016-10-24/paginators-1.json,sha256=Sa2jXtZ8joTXyWL-PDxNESwqr7hAMtuUa28LXTGciOQ,711 -botocore/data/sms/2016-10-24/service-2.json,sha256=aVSGOv6RZkpvNtQjbyXCd8AcplFpfsLl92IO7-if9r8,70640 -botocore/data/mq/2017-11-27/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/mq/2017-11-27/service-2.json,sha256=68Dm9DQ7VJtDb7jnQqXlMTKwG6U0lkbGbGEebf6Luc8,110676 -botocore/data/dynamodbstreams/2012-08-10/examples-1.json,sha256=LF2m4pmyTs0G8NR6AhmybL0E2F9WHfnbxz5q31DtjAg,7693 -botocore/data/dynamodbstreams/2012-08-10/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/dynamodbstreams/2012-08-10/service-2.json,sha256=iXTa0hLwT2P2jz7mIveHlArJKHEkoNcnFYEmDKv59HI,30490 -botocore/data/pi/2018-02-27/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/pi/2018-02-27/service-2.json,sha256=GkDaU9ObFVgoQDh1UPRTnFHBg1atX6eJ9ubfXd4vClk,23067 -botocore/data/mturk/2017-01-17/paginators-1.json,sha256=NFfGwUHHAX0lwKOB92RJHnfVkFP5IvDCtM1FnTJ-A0g,1591 -botocore/data/mturk/2017-01-17/service-2.json,sha256=OEq6r07p5MoRk3j_WRxW-pRgz8Ixyhbg0AOv7t56t5Y,123590 -botocore/data/servicecatalog/2015-12-10/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/servicecatalog/2015-12-10/paginators-1.json,sha256=UXXp0TBwXonzEWro7t006B0QviOiyBvQXYw3n1fEILE,1649 -botocore/data/servicecatalog/2015-12-10/service-2.json,sha256=bdRpHPSh8AJ9bqdg3YiDlRmnQHSNXWnKrAXGwiLMNxQ,220755 -botocore/data/ram/2018-01-04/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/ram/2018-01-04/service-2.json,sha256=PNQEBBMDJQqKbSpzabjEelHp7G6dBQOw6SEDYEUb_ds,48663 -botocore/data/events/2014-02-03/service-2.json,sha256=6wZ7XKpOPLLD453dej8bmrbqZDuyBOT3lGbCl3EUP0E,37700 -botocore/data/events/2015-10-07/examples-1.json,sha256=mPd7boHY9w4xI-wG9j9rE088o-AWzYV37JIZ20tLApc,42 -botocore/data/events/2015-10-07/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/events/2015-10-07/service-2.json,sha256=CB4R6enO_NSxymL9dnlOALob7xvoPjWIEZFhgo3UVAI,62144 -botocore/data/cloud9/2017-09-23/paginators-1.json,sha256=lET7E3FWErLA8In260otKfr3_9oVSr5OTO1zcrBi28w,380 -botocore/data/cloud9/2017-09-23/service-2.json,sha256=6HG5bGNw5sX_omWqLwHJJDW8TosoCQOYMUz8KmAG1BM,26937 -botocore/data/connect/2017-08-08/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/connect/2017-08-08/service-2.json,sha256=a6Mbc2Z2E11IxORDFcNsqQoAV6ae8bO3_EwXTxxuiPQ,83346 -botocore/data/iot-jobs-data/2017-09-29/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/iot-jobs-data/2017-09-29/service-2.json,sha256=Z_D1WR30rGj8w7EEC1I8JkFmmmblB-dHvblo9Lpxe64,20210 -botocore/data/kms/2014-11-01/examples-1.json,sha256=vtB2apRo_qswwRz9RqdwBHFcjJsZxxAUtgpEctOBzX8,37182 -botocore/data/kms/2014-11-01/paginators-1.json,sha256=JdqHUZD-Dp2Aw-FAvmmFnGJu6jlG_4IstL9IngWJ-zE,777 -botocore/data/kms/2014-11-01/service-2.json,sha256=mbDa2-3Rc24m825gLVVln3vpnnOtGbAZ8ciU2-ntiuA,176829 -botocore/data/cloudsearchdomain/2013-01-01/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/cloudsearchdomain/2013-01-01/service-2.json,sha256=35-MVRfJCSogOlXaE3cqiuRsrihHiCmWQSI4a5ibtuE,43643 -botocore/data/emr/2009-03-31/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/emr/2009-03-31/waiters-2.json,sha256=pMh5RSVHgFU-DlrH0dSf4IibHo9Hddmg9DvaR4a0Z90,2073 -botocore/data/emr/2009-03-31/paginators-1.json,sha256=99n79cGL-TUhtRI8paNAXSEQow0S-4NU0bYpu0zveSI,799 -botocore/data/emr/2009-03-31/service-2.json,sha256=9ESvebu0u9DxdWkPdvfROgYFzheWNtdxZw70rTyxvS4,169059 -botocore/data/iot1click-projects/2018-05-14/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/iot1click-projects/2018-05-14/service-2.json,sha256=5ruAZaa_8vSlfh6iofgS0mbfCC2gmIovhypIM1jRU3w,29680 -botocore/data/efs/2015-02-01/examples-1.json,sha256=OHPM_hAlvaNIBYXnUbEvgNzhqfGYK7fR7S7iIhpcarc,6454 -botocore/data/efs/2015-02-01/paginators-1.json,sha256=Aa6anup_5bXZxDamNHHtkSv0qhzisc5sxGsZQxI71u8,517 -botocore/data/efs/2015-02-01/service-2.json,sha256=xUkefhx2HedV_LICe5k0izxOaSsSM8BE0csoziDuphE,55989 -botocore/data/sts/2011-06-15/examples-1.json,sha256=3Zxrln-XpbZd4B_sF7M4lysyRvf3gNoSHWV0A2igILE,8797 -botocore/data/sts/2011-06-15/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/sts/2011-06-15/service-2.json,sha256=e_5ozwT2WWB0hUVCIkWUp5gZlTUgzmC3_jIjFGnb6Jo,80598 -botocore/data/workmail/2017-10-01/paginators-1.json,sha256=I_nsf6YshZDDeKJIqYToEaNPvYTle5SEkQl1SdC2CH8,1008 -botocore/data/workmail/2017-10-01/service-2.json,sha256=_nQumrrhfQTO1-hr0Wo7KCxSgs06Ir4qutzvuzKyJkg,71469 -botocore/data/medialive/2017-10-14/paginators-1.json,sha256=knb47RWyALtk2NlKM2Shceh7OtTX5TTNV96qus1EWD8,1036 -botocore/data/medialive/2017-10-14/service-2.json,sha256=PeHDs2-HVoF7HAR5oJSzj2weIp2yBy_6aJ0hu5MFw3k,349355 -botocore/data/fms/2018-01-01/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/fms/2018-01-01/service-2.json,sha256=nCNUJVWiwLzDjbKx7qUqdME2Wv82RzYhdq90hFtEegY,37290 -botocore/data/firehose/2015-08-04/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/firehose/2015-08-04/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/firehose/2015-08-04/service-2.json,sha256=M2nKjBzsmdPPAlGUhEQ119yUDeM7qv6IITcUcavl-8U,122083 -botocore/data/workspaces/2015-04-08/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/workspaces/2015-04-08/paginators-1.json,sha256=sjHTw0FVva58Yppf7TpCT8YiUHXT_PSsNFA3xYCiwtU,478 -botocore/data/workspaces/2015-04-08/service-2.json,sha256=EIdOncKtLh5LCV2CPTUF26wPpNTjas4l0pfqpG5Q16I,78870 -botocore/data/xray/2016-04-12/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/xray/2016-04-12/paginators-1.json,sha256=JukFLAgcGm8Al_7cURDX0Y5jCpEa5viqifStuIgzxFU,556 -botocore/data/xray/2016-04-12/service-2.json,sha256=fXxGHYePFNd2lhhj18V7BwdfKF6Q7s7fGQEydkxmStk,73904 -botocore/data/dlm/2018-01-12/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/dlm/2018-01-12/service-2.json,sha256=v2ITFC1bM8A7-ZOS07BE2WcbYrjaCseDmYDvpJ_x5gs,18085 -botocore/data/cloudfront/2015-04-17/waiters-2.json,sha256=jzREqDxfIg2KbmPYOmDoYgDvy8mWAEK0w_NmEoCqhHI,1184 -botocore/data/cloudfront/2015-04-17/paginators-1.json,sha256=I7u4h1MFflBvFJemcrLHSn7uOrEeDFc7ecWGqwDxGF8,1126 -botocore/data/cloudfront/2015-04-17/service-2.json,sha256=OJbOdEYaGCEcGUoGaEvTb0Il4dCf9sQ8ZAvHpsCtOFs,150842 -botocore/data/cloudfront/2014-10-21/waiters-2.json,sha256=jzREqDxfIg2KbmPYOmDoYgDvy8mWAEK0w_NmEoCqhHI,1184 -botocore/data/cloudfront/2014-10-21/paginators-1.json,sha256=I7u4h1MFflBvFJemcrLHSn7uOrEeDFc7ecWGqwDxGF8,1126 -botocore/data/cloudfront/2014-10-21/service-2.json,sha256=E0Umk_pX7ll7dTLiqRagIHKZiRLmaYvN6-t9_jZU16s,147479 -botocore/data/cloudfront/2015-09-17/waiters-2.json,sha256=jzREqDxfIg2KbmPYOmDoYgDvy8mWAEK0w_NmEoCqhHI,1184 -botocore/data/cloudfront/2015-09-17/paginators-1.json,sha256=I7u4h1MFflBvFJemcrLHSn7uOrEeDFc7ecWGqwDxGF8,1126 -botocore/data/cloudfront/2015-09-17/service-2.json,sha256=DkSmH6crv4IoVJ_aqqnABOsD9P5YLabp8PmkrT_pQyI,130784 -botocore/data/cloudfront/2014-05-31/waiters-2.json,sha256=jzREqDxfIg2KbmPYOmDoYgDvy8mWAEK0w_NmEoCqhHI,1184 -botocore/data/cloudfront/2014-05-31/paginators-1.json,sha256=I7u4h1MFflBvFJemcrLHSn7uOrEeDFc7ecWGqwDxGF8,1126 -botocore/data/cloudfront/2014-05-31/service-2.json,sha256=4MdA1whbH4xS6nxk9Bbq_20w7Utc5L38lQv5WmOzR_c,144492 -botocore/data/cloudfront/2016-11-25/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/cloudfront/2016-11-25/waiters-2.json,sha256=jzREqDxfIg2KbmPYOmDoYgDvy8mWAEK0w_NmEoCqhHI,1184 -botocore/data/cloudfront/2016-11-25/paginators-1.json,sha256=I7u4h1MFflBvFJemcrLHSn7uOrEeDFc7ecWGqwDxGF8,1126 -botocore/data/cloudfront/2016-11-25/service-2.json,sha256=C9ZmNpON37wQO9z2ybGc_xp8bpXvuCf8FIyLQezg4yQ,197970 -botocore/data/cloudfront/2016-09-07/waiters-2.json,sha256=jzREqDxfIg2KbmPYOmDoYgDvy8mWAEK0w_NmEoCqhHI,1184 -botocore/data/cloudfront/2016-09-07/paginators-1.json,sha256=I7u4h1MFflBvFJemcrLHSn7uOrEeDFc7ecWGqwDxGF8,1126 -botocore/data/cloudfront/2016-09-07/service-2.json,sha256=hex7sCwsKiyCriVT6wX-zlX5dIbEFq3s0VYoaLasdYo,151766 -botocore/data/cloudfront/2016-09-29/waiters-2.json,sha256=jzREqDxfIg2KbmPYOmDoYgDvy8mWAEK0w_NmEoCqhHI,1184 -botocore/data/cloudfront/2016-09-29/paginators-1.json,sha256=I7u4h1MFflBvFJemcrLHSn7uOrEeDFc7ecWGqwDxGF8,1126 -botocore/data/cloudfront/2016-09-29/service-2.json,sha256=65iFTwzLzBiLeeiq6DlM_xPa5Rf0KXbJw6Lm6Gx6zZ0,194806 -botocore/data/cloudfront/2016-08-20/waiters-2.json,sha256=jzREqDxfIg2KbmPYOmDoYgDvy8mWAEK0w_NmEoCqhHI,1184 -botocore/data/cloudfront/2016-08-20/paginators-1.json,sha256=I7u4h1MFflBvFJemcrLHSn7uOrEeDFc7ecWGqwDxGF8,1126 -botocore/data/cloudfront/2016-08-20/service-2.json,sha256=A_bOItD3n7BIUEUCChsppdZF53QmZTh6dr7u-GQsV70,150982 -botocore/data/cloudfront/2017-03-25/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/cloudfront/2017-03-25/waiters-2.json,sha256=JboqzXjlni8p-wiVKBz1jRj-mFpkryqueCgI1hD7WPA,1184 -botocore/data/cloudfront/2017-03-25/paginators-1.json,sha256=I7u4h1MFflBvFJemcrLHSn7uOrEeDFc7ecWGqwDxGF8,1126 -botocore/data/cloudfront/2017-03-25/service-2.json,sha256=FYENqjVgG09p7vwNe24ENePH9hTZdDXScd4INlTblAo,206093 -botocore/data/cloudfront/2016-01-13/waiters-2.json,sha256=jzREqDxfIg2KbmPYOmDoYgDvy8mWAEK0w_NmEoCqhHI,1184 -botocore/data/cloudfront/2016-01-13/paginators-1.json,sha256=I7u4h1MFflBvFJemcrLHSn7uOrEeDFc7ecWGqwDxGF8,1126 -botocore/data/cloudfront/2016-01-13/service-2.json,sha256=Ej9MObIm0JhxshQMQnOwYJ4vB0OaIt_WNPPUs4w1jRw,133880 -botocore/data/cloudfront/2018-06-18/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/cloudfront/2018-06-18/waiters-2.json,sha256=JboqzXjlni8p-wiVKBz1jRj-mFpkryqueCgI1hD7WPA,1184 -botocore/data/cloudfront/2018-06-18/paginators-1.json,sha256=I7u4h1MFflBvFJemcrLHSn7uOrEeDFc7ecWGqwDxGF8,1126 -botocore/data/cloudfront/2018-06-18/service-2.json,sha256=NuGTf1rjaEfCNkrQ4kN5Y78lIkNfiDc2C0K1mDPFrm0,267331 -botocore/data/cloudfront/2017-10-30/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/cloudfront/2017-10-30/waiters-2.json,sha256=JboqzXjlni8p-wiVKBz1jRj-mFpkryqueCgI1hD7WPA,1184 -botocore/data/cloudfront/2017-10-30/paginators-1.json,sha256=I7u4h1MFflBvFJemcrLHSn7uOrEeDFc7ecWGqwDxGF8,1126 -botocore/data/cloudfront/2017-10-30/service-2.json,sha256=mDjyofrasyhvEUbC9THtbQWV9xQ2qVXneayrak1XCwo,264716 -botocore/data/cloudfront/2018-11-05/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/cloudfront/2018-11-05/waiters-2.json,sha256=JboqzXjlni8p-wiVKBz1jRj-mFpkryqueCgI1hD7WPA,1184 -botocore/data/cloudfront/2018-11-05/paginators-1.json,sha256=I7u4h1MFflBvFJemcrLHSn7uOrEeDFc7ecWGqwDxGF8,1126 -botocore/data/cloudfront/2018-11-05/service-2.json,sha256=y--2DnK94Lb7SO65PgueFvMGYY_w6cmzmzHgMnhaxi0,273141 -botocore/data/cloudfront/2016-01-28/waiters-2.json,sha256=jzREqDxfIg2KbmPYOmDoYgDvy8mWAEK0w_NmEoCqhHI,1184 -botocore/data/cloudfront/2016-01-28/paginators-1.json,sha256=I7u4h1MFflBvFJemcrLHSn7uOrEeDFc7ecWGqwDxGF8,1126 -botocore/data/cloudfront/2016-01-28/service-2.json,sha256=YovRuitkg8V3QowW867Z4ADqMFkZZvH2xhk6NWg3tNY,133424 -botocore/data/cloudfront/2016-08-01/waiters-2.json,sha256=jzREqDxfIg2KbmPYOmDoYgDvy8mWAEK0w_NmEoCqhHI,1184 -botocore/data/cloudfront/2016-08-01/paginators-1.json,sha256=I7u4h1MFflBvFJemcrLHSn7uOrEeDFc7ecWGqwDxGF8,1126 -botocore/data/cloudfront/2016-08-01/service-2.json,sha256=gyNH67busvLNPkXdPe8vT_R1_7kaOFrehY1vZTQ-m0k,148384 -botocore/data/cloudfront/2015-07-27/waiters-2.json,sha256=jzREqDxfIg2KbmPYOmDoYgDvy8mWAEK0w_NmEoCqhHI,1184 -botocore/data/cloudfront/2015-07-27/paginators-1.json,sha256=I7u4h1MFflBvFJemcrLHSn7uOrEeDFc7ecWGqwDxGF8,1126 -botocore/data/cloudfront/2015-07-27/service-2.json,sha256=a7NsU2TTqmBpbWyEQ1HPaIzTKpErk8Vh2jTL8bnAiQU,154636 -botocore/data/cloudfront/2014-11-06/waiters-2.json,sha256=jzREqDxfIg2KbmPYOmDoYgDvy8mWAEK0w_NmEoCqhHI,1184 -botocore/data/cloudfront/2014-11-06/paginators-1.json,sha256=I7u4h1MFflBvFJemcrLHSn7uOrEeDFc7ecWGqwDxGF8,1126 -botocore/data/cloudfront/2014-11-06/service-2.json,sha256=SOKAXJJdFK2fZsAJnfIMCTBKm2r6h4IaoCcR837dGAM,147700 -botocore/data/kinesis-video-archived-media/2017-09-30/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/kinesis-video-archived-media/2017-09-30/service-2.json,sha256=ZpHUopWaSaS3Iq15umF4z7kC6ICSgEmZnVDMVo3hUwg,31504 -botocore/data/sagemaker-runtime/2017-05-13/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/sagemaker-runtime/2017-05-13/service-2.json,sha256=a3xStr8drzfo5DtoCp1XzHsGhW7c1573WKzKmrJ_6N8,6891 -botocore/data/shield/2016-06-02/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/shield/2016-06-02/paginators-1.json,sha256=agyekliT3Svz5ckCuaTOZWCqm1POqPDsGWHoVBbmCS0,193 -botocore/data/shield/2016-06-02/service-2.json,sha256=h5fKSwLXv5REcZkAf9TUN0D4WjkYfHUoD-6mNs2zjyk,49041 -botocore/data/mediastore/2017-09-01/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/mediastore/2017-09-01/service-2.json,sha256=cwjcxbuUVzoD0w4xLPxOqbcauVnzlKf1GuT95sUtZfk,22711 -botocore/data/iam/2010-05-08/examples-1.json,sha256=erkX6JZCsLnpN3_S6IEFxMhmYQ3GS0hlhkOtmm1iq34,36635 -botocore/data/iam/2010-05-08/waiters-2.json,sha256=F-Mb0RKiCBuQdP1xHtSImfTeAfPKMOJ0Aa2OPKX3CPA,754 -botocore/data/iam/2010-05-08/paginators-1.json,sha256=xZxMQv6sHIZJXlT70hkMw5wd7Y68TyjgGHExmUAC-BE,5484 -botocore/data/iam/2010-05-08/service-2.json,sha256=uVBZzLIWa8aAyLsEYADspe1inSKE9KuwXR5KkE4JqoU,471864 -botocore/data/robomaker/2018-06-29/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/robomaker/2018-06-29/service-2.json,sha256=OOV_8SJV1cQ6vK0ItKexuPSJeu8TuaeQ5GAc_fCUwKI,104222 -botocore/data/codebuild/2016-10-06/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/codebuild/2016-10-06/paginators-1.json,sha256=qdcaibyPtPLLq_gSrRS4R0Ya4uWfkXZhCGSgRt5KOiw,408 -botocore/data/codebuild/2016-10-06/service-2.json,sha256=vMRUq9baAUMIJn0DG7kmkI-y26u0moNbk6rfeZMe2dk,95068 -botocore/data/elastictranscoder/2012-09-25/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/elastictranscoder/2012-09-25/waiters-2.json,sha256=ePD8qEyUXJMnroVmvrubritF3re95gdBAETq6do-Uh8,613 -botocore/data/elastictranscoder/2012-09-25/paginators-1.json,sha256=xHyxPQTUGKK7Vj_z_1E46xAI6BwZC8IvDFuZ3DXD4BY,559 -botocore/data/elastictranscoder/2012-09-25/service-2.json,sha256=rEuZOQoR0ZsOxhfX8KT4SHdRHUeU5FBp7REdjj_WODo,201124 -botocore/data/codecommit/2015-04-13/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/codecommit/2015-04-13/paginators-1.json,sha256=2w92BpzUce0gSVEaZH0la2r8ZT_MDtxoLc6RG-dpln4,1206 -botocore/data/codecommit/2015-04-13/service-2.json,sha256=uCj6wMcKcJFUyF2Zv5eefW7rLBMN3-1f0S-6RuTecbA,166716 -botocore/data/comprehendmedical/2018-10-30/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/comprehendmedical/2018-10-30/service-2.json,sha256=q9OszLZjr_8M_9WpkiAmaLfjjqueUU7gcFiMTO1Muzs,12916 -botocore/data/alexaforbusiness/2017-11-09/paginators-1.json,sha256=BRE0mRiSy6eBdbcYm3UZrH1kR5SDI0c12RhxTyhrXuo,1157 -botocore/data/alexaforbusiness/2017-11-09/service-2.json,sha256=kucAvrSU9eOU2zqfcyVMp92a0ox_WqXKVdZbCHOV9z0,129671 -botocore/data/mediatailor/2018-04-23/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/mediatailor/2018-04-23/service-2.json,sha256=ZarDVER458ZNWKu6iU_PYYfrZ4kbtpQ6SDCxnVhRpFs,19535 -botocore/data/greengrass/2017-06-07/service-2.json,sha256=xCFRtZ8l_B16D5gUmd7045oekGBa5BnNhE4er3vfghI,200528 -botocore/data/dax/2017-04-19/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/dax/2017-04-19/service-2.json,sha256=PKefwNWKpuZUeYnG4p_2ZMidKkw7JVe9zIFwIGJhMJY,65718 -botocore/data/sqs/2012-11-05/examples-1.json,sha256=bJnIBXjhLT_DRHXlx6wuYZVi1EY-RUp_ijhgfnGklaY,1108 -botocore/data/sqs/2012-11-05/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/sqs/2012-11-05/service-2.json,sha256=QA50ga33ee_FWAwKGCOhEdeeZxzj5kwcwHqmg-j04RQ,114522 -botocore/data/discovery/2015-11-01/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/discovery/2015-11-01/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/discovery/2015-11-01/service-2.json,sha256=eeVnWXqP2bam_0PgOv68UjMN6vsZZ0VnyQ0ht2zn9i4,68810 -botocore/data/cloudhsmv2/2017-04-28/paginators-1.json,sha256=VvCnjrdoGz3Lb-gi5YSOAhhAHzB50i0vIks0GaA2nS0,512 -botocore/data/cloudhsmv2/2017-04-28/service-2.json,sha256=xmAWbKjYIXV5Np548_zDYrYX5Gc6JQSNMZRetffOY9Q,35980 -botocore/data/waf/2015-08-24/examples-1.json,sha256=6OPuCnLynJIfGO-Vxhb9ZZV9ktEKhpByvf2jSwAg-DY,29749 -botocore/data/waf/2015-08-24/paginators-1.json,sha256=Ws9sSrbq36BodFZujdARARMlU7SpMqvkkGwhzvs9KYk,1190 -botocore/data/waf/2015-08-24/service-2.json,sha256=aoc-erfgGHOcDfI3Pyc4mRddwP87pcrG90ApawrYsd8,312157 -botocore/data/logs/2014-03-28/examples-1.json,sha256=K3b6mgYkitvcecSlJT-iV_EQATmvOySs66iKJI5qx0g,44 -botocore/data/logs/2014-03-28/paginators-1.json,sha256=p8mepYgcgciWp5-IyFpWfhL5tHoyzd6mlXTsaM0ufP4,1082 -botocore/data/logs/2014-03-28/service-2.json,sha256=jHl38pL-Pai7N_odqLQblzHIvS8W3c2LV_4F3pjhkjk,98237 -botocore/data/lambda/2014-11-11/service-2.json,sha256=PJ47oYyRWSO7m307osuRTkqGZRfMnbIeaDmPRmHfaQQ,38698 -botocore/data/lambda/2015-03-31/examples-1.json,sha256=Mbl7lTSfHcXzjPZeM26psMXIsVzL19gKSTzMvmtBgvI,17969 -botocore/data/lambda/2015-03-31/paginators-1.json,sha256=atQs58V54JCN3VGq61LykUVEXWWlHMj8vUAzxxbqg1Q,521 -botocore/data/lambda/2015-03-31/service-2.json,sha256=Vp3n6dHSYhPkqth16wtrymZVg0dy4Y-wiyd0lcArXKY,143440 -botocore/data/quicksight/2018-04-01/paginators-1.json,sha256=hIQ7AbLBsY4fPSNLVMg0dS45m6cjZKFTjbp3ZLh4zj8,23 -botocore/data/quicksight/2018-04-01/service-2.json,sha256=BJLuoJNAbp77daHePrc8dfMVhamETV4858ght413Eh0,54594 -botocore-1.12.61.dist-info/WHEEL,sha256=AvR0WeTpDaxT645bl5FQxUK6NPsTls2ttpcGJg3j1Xg,110 -botocore-1.12.61.dist-info/DESCRIPTION.rst,sha256=4WxqZlSD_Xrd6Gz9vblSW6spBTdNJcmrxViUOIPJl5o,1390 -botocore-1.12.61.dist-info/metadata.json,sha256=yrrh3hErIi9Y9L2bAIkh8gb8DY5fbC4JbmFprThq9VY,1615 -botocore-1.12.61.dist-info/METADATA,sha256=jBy4GndChhpOjPEtTyupu8EXvySa_XXCUKuLywJZXZ4,2923 -botocore-1.12.61.dist-info/RECORD,, -botocore-1.12.61.dist-info/top_level.txt,sha256=IdlNr9dnwi3lQt66dKnShE5HBUhIqBFqJmVhm11aijk,9 -botocore-1.12.61.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -botocore/vendored/requests/packages/chardet/codingstatemachine.pyc,, -botocore/vendored/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.pyc,, -botocore/vendored/requests/packages/urllib3/contrib/ntlmpool.pyc,, -botocore/errorfactory.pyc,, -botocore/vendored/requests/packages/urllib3/connectionpool.pyc,, -botocore/docs/docstring.pyc,, -botocore/vendored/requests/packages/urllib3/util/request.pyc,, -botocore/__init__.pyc,, -botocore/vendored/requests/packages/urllib3/util/retry.pyc,, -botocore/docs/paginator.pyc,, -botocore/vendored/requests/packages/chardet/sbcharsetprober.pyc,, -botocore/vendored/six.pyc,, -botocore/stub.pyc,, -botocore/vendored/requests/packages/urllib3/fields.pyc,, -botocore/vendored/requests/packages/urllib3/exceptions.pyc,, -botocore/model.pyc,, -botocore/vendored/requests/packages/chardet/cp949prober.pyc,, -botocore/vendored/requests/packages/chardet/langthaimodel.pyc,, -botocore/compat.pyc,, -botocore/handlers.pyc,, -botocore/vendored/requests/packages/chardet/big5freq.pyc,, -botocore/vendored/requests/packages/chardet/mbcssm.pyc,, -botocore/vendored/requests/packages/chardet/utf8prober.pyc,, -botocore/docs/__init__.pyc,, -botocore/docs/service.pyc,, -botocore/paginate.pyc,, -botocore/vendored/requests/packages/chardet/latin1prober.pyc,, -botocore/vendored/requests/status_codes.pyc,, -botocore/eventstream.pyc,, -botocore/vendored/requests/packages/urllib3/request.pyc,, -botocore/vendored/requests/packages/urllib3/packages/__init__.pyc,, -botocore/parsers.pyc,, -botocore/docs/waiter.pyc,, -botocore/vendored/requests/packages/chardet/eucjpprober.pyc,, -botocore/vendored/requests/packages/chardet/constants.pyc,, -botocore/vendored/requests/packages/urllib3/contrib/__init__.pyc,, -botocore/awsrequest.pyc,, -botocore/vendored/requests/sessions.pyc,, -botocore/docs/bcdoc/restdoc.pyc,, -botocore/vendored/requests/packages/urllib3/packages/ordered_dict.pyc,, -botocore/validate.pyc,, -botocore/vendored/requests/packages/chardet/big5prober.pyc,, -botocore/vendored/requests/packages/urllib3/util/__init__.pyc,, -botocore/vendored/requests/packages/urllib3/util/timeout.pyc,, -botocore/endpoint.pyc,, -botocore/response.pyc,, -botocore/vendored/requests/packages/chardet/escprober.pyc,, -botocore/vendored/requests/utils.pyc,, -botocore/vendored/requests/cookies.pyc,, -botocore/vendored/requests/packages/urllib3/util/ssl_.pyc,, -botocore/vendored/requests/packages/chardet/__init__.pyc,, -botocore/vendored/requests/packages/chardet/hebrewprober.pyc,, -botocore/vendored/requests/packages/chardet/chardistribution.pyc,, -botocore/vendored/requests/packages/chardet/gb2312prober.pyc,, -botocore/docs/bcdoc/docstringparser.pyc,, -botocore/vendored/requests/packages/chardet/euckrfreq.pyc,, -botocore/docs/client.pyc,, -botocore/vendored/requests/packages/urllib3/util/connection.pyc,, -botocore/vendored/requests/packages/chardet/sbcsgroupprober.pyc,, -botocore/vendored/requests/packages/chardet/compat.pyc,, -botocore/vendored/requests/packages/chardet/euctwprober.pyc,, -botocore/vendored/requests/packages/urllib3/filepost.pyc,, -botocore/vendored/requests/packages/chardet/mbcsgroupprober.pyc,, -botocore/utils.pyc,, -botocore/vendored/requests/api.pyc,, -botocore/vendored/requests/packages/chardet/langbulgarianmodel.pyc,, -botocore/docs/example.pyc,, -botocore/vendored/requests/packages/urllib3/__init__.pyc,, -botocore/vendored/requests/packages/urllib3/contrib/pyopenssl.pyc,, -botocore/vendored/requests/packages/chardet/universaldetector.pyc,, -botocore/docs/bcdoc/__init__.pyc,, -botocore/vendored/requests/models.pyc,, -botocore/vendored/requests/packages/chardet/escsm.pyc,, -botocore/vendored/requests/packages/chardet/langcyrillicmodel.pyc,, -botocore/httpsession.pyc,, -botocore/vendored/requests/auth.pyc,, -botocore/credentials.pyc,, -botocore/vendored/requests/packages/chardet/langhebrewmodel.pyc,, -botocore/loaders.pyc,, -botocore/docs/params.pyc,, -botocore/vendored/requests/packages/chardet/charsetprober.pyc,, -botocore/vendored/requests/exceptions.pyc,, -botocore/retryhandler.pyc,, -botocore/vendored/requests/packages/urllib3/response.pyc,, -botocore/vendored/requests/packages/chardet/euctwfreq.pyc,, -botocore/docs/sharedexample.pyc,, -botocore/waiter.pyc,, -botocore/args.pyc,, -botocore/vendored/requests/certs.pyc,, -botocore/docs/bcdoc/docevents.pyc,, -botocore/vendored/requests/packages/chardet/charsetgroupprober.pyc,, -botocore/configprovider.pyc,, -botocore/docs/bcdoc/style.pyc,, -botocore/hooks.pyc,, -botocore/vendored/requests/packages/urllib3/packages/six.pyc,, -botocore/config.pyc,, -botocore/vendored/requests/packages/chardet/langhungarianmodel.pyc,, -botocore/docs/shape.pyc,, -botocore/client.pyc,, -botocore/vendored/requests/packages/chardet/gb2312freq.pyc,, -botocore/docs/utils.pyc,, -botocore/auth.pyc,, -botocore/configloader.pyc,, -botocore/vendored/requests/packages/chardet/sjisprober.pyc,, -botocore/vendored/requests/packages/__init__.pyc,, -botocore/docs/bcdoc/textwriter.pyc,, -botocore/serialize.pyc,, -botocore/vendored/requests/__init__.pyc,, -botocore/vendored/requests/structures.pyc,, -botocore/vendored/requests/packages/chardet/jisfreq.pyc,, -botocore/vendored/requests/packages/chardet/mbcharsetprober.pyc,, -botocore/exceptions.pyc,, -botocore/vendored/requests/hooks.pyc,, -botocore/session.pyc,, -botocore/docs/method.pyc,, -botocore/history.pyc,, -botocore/vendored/requests/adapters.pyc,, -botocore/vendored/requests/packages/chardet/chardetect.pyc,, -botocore/vendored/requests/packages/urllib3/util/url.pyc,, -botocore/vendored/__init__.pyc,, -botocore/vendored/requests/packages/chardet/langgreekmodel.pyc,, -botocore/vendored/requests/packages/urllib3/connection.pyc,, -botocore/vendored/requests/packages/urllib3/packages/ssl_match_hostname/__init__.pyc,, -botocore/vendored/requests/packages/urllib3/_collections.pyc,, -botocore/vendored/requests/packages/chardet/jpcntx.pyc,, -botocore/vendored/requests/packages/urllib3/poolmanager.pyc,, -botocore/vendored/requests/packages/urllib3/util/response.pyc,, -botocore/regions.pyc,, -botocore/vendored/requests/compat.pyc,, -botocore/translate.pyc,, -botocore/vendored/requests/packages/chardet/euckrprober.pyc,, -botocore/signers.pyc,, diff --git a/bin/botocore-1.12.61.dist-info/WHEEL b/bin/botocore-1.12.61.dist-info/WHEEL deleted file mode 100644 index 9dff69d8..00000000 --- a/bin/botocore-1.12.61.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.24.0) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/bin/botocore-1.12.61.dist-info/metadata.json b/bin/botocore-1.12.61.dist-info/metadata.json deleted file mode 100644 index 9ecaae1b..00000000 --- a/bin/botocore-1.12.61.dist-info/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"license": "Apache License 2.0", "name": "botocore", "metadata_version": "2.0", "generator": "bdist_wheel (0.24.0)", "summary": "Low-level, data-driven core of boto 3.", "run_requires": [{"environment": "python_version==\"3.3\"", "requires": ["urllib3>=1.20,<1.23"]}, {"requires": ["jmespath>=0.7.1,<1.0.0", "docutils>=0.10"]}, {"environment": "python_version==\"2.6\"", "requires": ["python-dateutil>=2.1,<2.7.0", "ordereddict==1.1", "simplejson==3.3.0", "urllib3>=1.20,<1.24"]}, {"environment": "python_version==\"2.7\"", "requires": ["urllib3>=1.20,<1.25"]}, {"environment": "python_version>=\"3.4\"", "requires": ["urllib3>=1.20,<1.25"]}, {"environment": "python_version>=\"2.7\"", "requires": ["python-dateutil>=2.1,<3.0.0"]}], "version": "1.12.61", "extensions": {"python.details": {"project_urls": {"Home": "https://github.com/boto/botocore"}, "document_names": {"description": "DESCRIPTION.rst"}, "contacts": [{"role": "author", "name": "Amazon Web Services"}]}}, "classifiers": ["Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Natural Language :: English", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7"], "extras": []} \ No newline at end of file diff --git a/bin/botocore-1.12.61.dist-info/top_level.txt b/bin/botocore-1.12.61.dist-info/top_level.txt deleted file mode 100644 index c5b9e129..00000000 --- a/bin/botocore-1.12.61.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -botocore diff --git a/bin/botocore/__init__.py b/bin/botocore/__init__.py index a4702b2e..b258dabb 100644 --- a/bin/botocore/__init__.py +++ b/bin/botocore/__init__.py @@ -16,7 +16,7 @@ import re import logging -__version__ = '1.12.61' +__version__ = '1.12.171' class NullHandler(logging.Handler): diff --git a/bin/botocore/__init__.pyc b/bin/botocore/__init__.pyc deleted file mode 100644 index 01b12a16..00000000 Binary files a/bin/botocore/__init__.pyc and /dev/null differ diff --git a/bin/botocore/args.py b/bin/botocore/args.py index d6fcc20a..3acdc102 100644 --- a/bin/botocore/args.py +++ b/bin/botocore/args.py @@ -21,6 +21,7 @@ import socket import botocore.serialize +import botocore.utils from botocore.signers import RequestSigner from botocore.config import Config from botocore.endpoint import EndpointCreator @@ -110,7 +111,7 @@ def compute_client_args(self, service_model, client_config, elif scoped_config: raw_value = scoped_config.get('parameter_validation') if raw_value is not None: - parameter_validation = self._ensure_boolean(raw_value) + parameter_validation = botocore.utils.ensure_boolean(raw_value) endpoint_config = endpoint_bridge.resolve( service_name, region_name, endpoint_url, is_secure) @@ -199,7 +200,7 @@ def _convert_config_to_bool(self, config_dict, keys): config_copy = config_dict.copy() present_keys = [k for k in keys if k in config_copy] for key in present_keys: - config_copy[key] = self._ensure_boolean(config_copy[key]) + config_copy[key] = botocore.utils.ensure_boolean(config_copy[key]) return config_copy def _get_default_s3_region(self, service_name, endpoint_bridge): diff --git a/bin/botocore/args.pyc b/bin/botocore/args.pyc deleted file mode 100644 index 3e39e562..00000000 Binary files a/bin/botocore/args.pyc and /dev/null differ diff --git a/bin/botocore/auth.pyc b/bin/botocore/auth.pyc deleted file mode 100644 index 717eefa9..00000000 Binary files a/bin/botocore/auth.pyc and /dev/null differ diff --git a/bin/botocore/awsrequest.py b/bin/botocore/awsrequest.py index a56ec412..f2fd925e 100644 --- a/bin/botocore/awsrequest.py +++ b/bin/botocore/awsrequest.py @@ -315,7 +315,7 @@ def create_request_object(request_dict): r = request_dict request_object = AWSRequest( method=r['method'], url=r['url'], data=r['body'], headers=r['headers']) - request_object.context.update(r['context']) + request_object.context = r['context'] return request_object diff --git a/bin/botocore/awsrequest.pyc b/bin/botocore/awsrequest.pyc deleted file mode 100644 index bb9033ba..00000000 Binary files a/bin/botocore/awsrequest.pyc and /dev/null differ diff --git a/bin/botocore/client.py b/bin/botocore/client.py index 4625fdc5..f7b3a99d 100644 --- a/bin/botocore/client.py +++ b/bin/botocore/client.py @@ -38,6 +38,10 @@ # "from botocore.client import Config". from botocore.config import Config from botocore.history import get_global_history_recorder +from botocore.discovery import ( + EndpointDiscoveryHandler, EndpointDiscoveryManager, + block_endpoint_discovery_required_operations +) logger = logging.getLogger(__name__) @@ -48,7 +52,8 @@ class ClientCreator(object): """Creates client objects for a service.""" def __init__(self, loader, endpoint_resolver, user_agent, event_emitter, retry_handler_factory, retry_config_translator, - response_parser_factory=None, exceptions_factory=None): + response_parser_factory=None, exceptions_factory=None, + config_store=None): self._loader = loader self._endpoint_resolver = endpoint_resolver self._user_agent = user_agent @@ -57,6 +62,11 @@ def __init__(self, loader, endpoint_resolver, user_agent, event_emitter, self._retry_config_translator = retry_config_translator self._response_parser_factory = response_parser_factory self._exceptions_factory = exceptions_factory + # TODO: Migrate things away from scoped_config in favor of the + # config_store. The config store can pull things from both the scoped + # config and environment variables (and potentially more in the + # future). + self._config_store = config_store def create_client(self, service_name, region_name, is_secure=True, endpoint_url=None, verify=None, @@ -79,6 +89,9 @@ def create_client(self, service_name, region_name, is_secure=True, self._register_s3_events( service_client, endpoint_bridge, endpoint_url, client_config, scoped_config) + self._register_endpoint_discovery( + service_client, endpoint_url, client_config + ) return service_client def create_client_class(self, service_name, api_version=None): @@ -132,6 +145,30 @@ def _register_retries(self, client): unique_id=unique_id ) + def _register_endpoint_discovery(self, client, endpoint_url, config): + if endpoint_url is not None: + # Don't register any handlers in the case of a custom endpoint url + return + # Only attach handlers if the service supports discovery + if client.meta.service_model.endpoint_discovery_operation is None: + return + events = client.meta.events + service_id = client.meta.service_model.service_id.hyphenize() + enabled = False + if config and config.endpoint_discovery_enabled is not None: + enabled = config.endpoint_discovery_enabled + elif self._config_store: + enabled = self._config_store.get_config_variable( + 'endpoint_discovery_enabled') + if enabled: + manager = EndpointDiscoveryManager(client) + handler = EndpointDiscoveryHandler(manager) + handler.register(events, service_id) + else: + events.register('before-parameter-build', + block_endpoint_discovery_required_operations) + + def _register_s3_events(self, client, endpoint_bridge, endpoint_url, client_config, scoped_config): if client.meta.service_model.service_name != 's3': @@ -607,8 +644,8 @@ def _make_api_call(self, operation_name, api_params): if event_response is not None: http, parsed_response = event_response else: - http, parsed_response = self._endpoint.make_request( - operation_model, request_dict) + http, parsed_response = self._make_request( + operation_model, request_dict, request_context) self.meta.events.emit( 'after-call.{service_id}.{operation_name}'.format( @@ -625,6 +662,18 @@ def _make_api_call(self, operation_name, api_params): else: return parsed_response + def _make_request(self, operation_model, request_dict, request_context): + try: + return self._endpoint.make_request(operation_model, request_dict) + except Exception as e: + self.meta.events.emit( + 'after-call-error.{service_id}.{operation_name}'.format( + service_id=self._service_model.service_id.hyphenize(), + operation_name=operation_model.name), + exception=e, context=request_context + ) + raise + def _convert_to_request_dict(self, api_params, operation_model, context=None): api_params = self._emit_api_params( diff --git a/bin/botocore/client.pyc b/bin/botocore/client.pyc deleted file mode 100644 index 30f53a98..00000000 Binary files a/bin/botocore/client.pyc and /dev/null differ diff --git a/bin/botocore/compat.pyc b/bin/botocore/compat.pyc deleted file mode 100644 index 238af788..00000000 Binary files a/bin/botocore/compat.pyc and /dev/null differ diff --git a/bin/botocore/config.py b/bin/botocore/config.py index c59cc7dd..038d17eb 100644 --- a/bin/botocore/config.py +++ b/bin/botocore/config.py @@ -35,12 +35,12 @@ class Config(object): :param user_agent_extra: The value to append to the current User-Agent header value. - :type connect_timeout: int + :type connect_timeout: float or int :param connect_timeout: The time in seconds till a timeout exception is thrown when attempting to make a connection. The default is 60 seconds. - :type read_timeout: int + :type read_timeout: float or int :param read_timeout: The time in seconds till a timeout exception is thrown when attempting to read from a connection. The default is 60 seconds. @@ -137,6 +137,7 @@ class Config(object): ('retries', None), ('client_cert', None), ('inject_host_prefix', True), + ('endpoint_discovery_enabled', None), ]) def __init__(self, *args, **kwargs): diff --git a/bin/botocore/config.pyc b/bin/botocore/config.pyc deleted file mode 100644 index db77baa7..00000000 Binary files a/bin/botocore/config.pyc and /dev/null differ diff --git a/bin/botocore/configloader.pyc b/bin/botocore/configloader.pyc deleted file mode 100644 index 0f121757..00000000 Binary files a/bin/botocore/configloader.pyc and /dev/null differ diff --git a/bin/botocore/configprovider.py b/bin/botocore/configprovider.py index b1514b62..90ad0ef4 100644 --- a/bin/botocore/configprovider.py +++ b/bin/botocore/configprovider.py @@ -15,6 +15,8 @@ """ import os +from botocore import utils + #: A default dictionary that maps the logical names for session variables #: to the specific environment variables and configuration file names #: that contain the values for these variables. @@ -65,6 +67,17 @@ 'metadata_service_num_attempts', 'AWS_METADATA_SERVICE_NUM_ATTEMPTS', 1, int), 'parameter_validation': ('parameter_validation', None, True, None), + # Client side monitoring configurations. + # Note: These configurations are considered internal to botocore. + # Do not use them until publicly documented. + 'csm_enabled': ( + 'csm_enabled', 'AWS_CSM_ENABLED', False, utils.ensure_boolean), + 'csm_port': ('csm_port', 'AWS_CSM_PORT', 31000, int), + 'csm_client_id': ('csm_client_id', 'AWS_CSM_CLIENT_ID', '', None), + # Endpoint discovery configuration + 'endpoint_discovery_enabled': ( + 'endpoint_discovery_enabled', 'AWS_ENDPOINT_DISCOVERY_ENABLED', + False, utils.ensure_boolean), } diff --git a/bin/botocore/configprovider.pyc b/bin/botocore/configprovider.pyc deleted file mode 100644 index cd7f7a18..00000000 Binary files a/bin/botocore/configprovider.pyc and /dev/null differ diff --git a/bin/botocore/credentials.py b/bin/botocore/credentials.py index 0bc20f99..5f3cb3bf 100644 --- a/bin/botocore/credentials.py +++ b/bin/botocore/credentials.py @@ -699,16 +699,20 @@ def _get_credentials(self): def _assume_role_kwargs(self): """Get the arguments for assume role based on current configuration.""" - assume_role_kwargs = self._assume_kwargs + assume_role_kwargs = deepcopy(self._assume_kwargs) + mfa_serial = assume_role_kwargs.get('SerialNumber') if mfa_serial is not None: prompt = 'Enter MFA code for %s: ' % mfa_serial token_code = self._mfa_prompter(prompt) - - assume_role_kwargs = deepcopy(assume_role_kwargs) assume_role_kwargs['TokenCode'] = token_code + duration_seconds = assume_role_kwargs.get('DurationSeconds') + + if duration_seconds is not None: + assume_role_kwargs['DurationSeconds'] = duration_seconds + return assume_role_kwargs def _create_client(self): @@ -917,7 +921,10 @@ def load(self): """ Search for credentials in explicit environment variables. """ - if self._mapping['access_key'] in self.environ: + + access_key = self.environ.get(self._mapping['access_key'], '') + + if access_key: logger.info('Found credentials in environment variables.') fetcher = self._create_credentials_fetcher() credentials = fetcher(require_expiry=False) @@ -946,30 +953,32 @@ def _create_credentials_fetcher(self): def fetch_credentials(require_expiry=True): credentials = {} - access_key = environ.get(mapping['access_key']) - if access_key is None: + access_key = environ.get(mapping['access_key'], '') + if not access_key: raise PartialCredentialsError( provider=method, cred_var=mapping['access_key']) credentials['access_key'] = access_key - secret_key = environ.get(mapping['secret_key']) - if secret_key is None: + secret_key = environ.get(mapping['secret_key'], '') + if not secret_key: raise PartialCredentialsError( provider=method, cred_var=mapping['secret_key']) credentials['secret_key'] = secret_key - token = None + credentials['token'] = None for token_env_var in mapping['token']: - if token_env_var in environ: - token = environ[token_env_var] + token = environ.get(token_env_var, '') + if token: + credentials['token'] = token break - credentials['token'] = token - expiry_time = environ.get(mapping['expiry_time']) - if require_expiry and expiry_time is None: + credentials['expiry_time'] = None + expiry_time = environ.get(mapping['expiry_time'], '') + if expiry_time: + credentials['expiry_time'] = expiry_time + if require_expiry and not expiry_time: raise PartialCredentialsError( provider=method, cred_var=mapping['expiry_time']) - credentials['expiry_time'] = expiry_time return credentials @@ -1245,6 +1254,10 @@ def _load_creds_via_assume_role(self, profile_name): if mfa_serial is not None: extra_args['SerialNumber'] = mfa_serial + duration_seconds = role_config.get('duration_seconds') + if duration_seconds is not None: + extra_args['DurationSeconds'] = duration_seconds + fetcher = AssumeRoleCredentialFetcher( client_creator=self._client_creator, source_credentials=source_credentials, @@ -1277,6 +1290,7 @@ def _get_role_config(self, profile_name): mfa_serial = profile.get('mfa_serial') external_id = profile.get('external_id') role_session_name = profile.get('role_session_name') + duration_seconds = profile.get('duration_seconds') role_config = { 'role_arn': role_arn, @@ -1287,6 +1301,12 @@ def _get_role_config(self, profile_name): 'credential_source': credential_source } + if duration_seconds is not None: + try: + role_config['duration_seconds'] = int(duration_seconds) + except ValueError: + pass + # Either the credential source or the source profile must be # specified, but not both. if credential_source is not None and source_profile is not None: diff --git a/bin/botocore/credentials.pyc b/bin/botocore/credentials.pyc deleted file mode 100644 index f22e8655..00000000 Binary files a/bin/botocore/credentials.pyc and /dev/null differ diff --git a/bin/botocore/data/_retry.json b/bin/botocore/data/_retry.json index 1b00eb8c..f46f0fe3 100644 --- a/bin/botocore/data/_retry.json +++ b/bin/botocore/data/_retry.json @@ -180,7 +180,7 @@ } }, "kinesis": { - "DescribeStream": { + "__default__": { "policies": { "request_limit_exceeded": { "applies_when": { diff --git a/bin/botocore/data/acm-pca/2017-08-22/paginators-1.json b/bin/botocore/data/acm-pca/2017-08-22/paginators-1.json index ea142457..c1f4e234 100644 --- a/bin/botocore/data/acm-pca/2017-08-22/paginators-1.json +++ b/bin/botocore/data/acm-pca/2017-08-22/paginators-1.json @@ -1,3 +1,22 @@ { - "pagination": {} + "pagination": { + "ListCertificateAuthorities": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "CertificateAuthorities" + }, + "ListTags": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Tags" + }, + "ListPermissions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Permissions" + } + } } diff --git a/bin/botocore/data/acm-pca/2017-08-22/service-2.json b/bin/botocore/data/acm-pca/2017-08-22/service-2.json index f24c7ba6..0d50a4fb 100644 --- a/bin/botocore/data/acm-pca/2017-08-22/service-2.json +++ b/bin/botocore/data/acm-pca/2017-08-22/service-2.json @@ -24,6 +24,7 @@ "errors":[ {"shape":"InvalidArgsException"}, {"shape":"InvalidPolicyException"}, + {"shape":"InvalidTagException"}, {"shape":"LimitExceededException"} ], "documentation":"

Creates a private subordinate certificate authority (CA). You must specify the CA configuration, the revocation configuration, the CA type, and an optional idempotency token. The CA configuration specifies the name of the algorithm and key size to be used to create the CA private key, the type of signing algorithm that the CA uses to sign, and X.500 subject information. The CRL (certificate revocation list) configuration specifies the CRL expiration period in days (the validity period of the CRL), the Amazon S3 bucket that will contain the CRL, and a CNAME alias for the S3 bucket that is included in certificates issued by the CA. If successful, this operation returns the Amazon Resource Name (ARN) of the CA.

", @@ -45,9 +46,26 @@ {"shape":"InvalidArgsException"}, {"shape":"InvalidStateException"} ], - "documentation":"

Creates an audit report that lists every time that the your CA private key is used. The report is saved in the Amazon S3 bucket that you specify on input. The IssueCertificate and RevokeCertificate operations use the private key. You can generate a new report every 30 minutes.

", + "documentation":"

Creates an audit report that lists every time that your CA private key is used. The report is saved in the Amazon S3 bucket that you specify on input. The IssueCertificate and RevokeCertificate operations use the private key. You can generate a new report every 30 minutes.

", "idempotent":true }, + "CreatePermission":{ + "name":"CreatePermission", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreatePermissionRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"PermissionAlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidStateException"}, + {"shape":"RequestFailedException"} + ], + "documentation":"

Assigns permissions from a private CA to a designated AWS service. Services are specified by their service principals and can be given permission to create and retrieve certificates on a private CA. Services can also be given permission to list the active permissions that the private CA has granted. For ACM to automatically renew your private CA's certificates, you must assign all possible permissions from the CA to the ACM service principal.

At this time, you can only assign permissions to ACM (acm.amazonaws.com). Permissions can be revoked with the DeletePermission operation and listed with the ListPermissions operation.

" + }, "DeleteCertificateAuthority":{ "name":"DeleteCertificateAuthority", "http":{ @@ -61,7 +79,22 @@ {"shape":"InvalidArnException"}, {"shape":"InvalidStateException"} ], - "documentation":"

Deletes a private certificate authority (CA). You must provide the ARN (Amazon Resource Name) of the private CA that you want to delete. You can find the ARN by calling the ListCertificateAuthorities operation. Before you can delete a CA, you must disable it. Call the UpdateCertificateAuthority operation and set the CertificateAuthorityStatus parameter to DISABLED.

Additionally, you can delete a CA if you are waiting for it to be created (the Status field of the CertificateAuthority is CREATING). You can also delete it if the CA has been created but you haven't yet imported the signed certificate (the Status is PENDING_CERTIFICATE) into ACM PCA.

If the CA is in one of the aforementioned states and you call DeleteCertificateAuthority, the CA's status changes to DELETED. However, the CA won't be permentantly deleted until the restoration period has passed. By default, if you do not set the PermanentDeletionTimeInDays parameter, the CA remains restorable for 30 days. You can set the parameter from 7 to 30 days. The DescribeCertificateAuthority operation returns the time remaining in the restoration window of a Private CA in the DELETED state. To restore an eligable CA, call the RestoreCertificateAuthority operation.

" + "documentation":"

Deletes a private certificate authority (CA). You must provide the ARN (Amazon Resource Name) of the private CA that you want to delete. You can find the ARN by calling the ListCertificateAuthorities operation. Before you can delete a CA, you must disable it. Call the UpdateCertificateAuthority operation and set the CertificateAuthorityStatus parameter to DISABLED.

Additionally, you can delete a CA if you are waiting for it to be created (the Status field of the CertificateAuthority is CREATING). You can also delete it if the CA has been created but you haven't yet imported the signed certificate (the Status is PENDING_CERTIFICATE) into ACM PCA.

If the CA is in one of the previously mentioned states and you call DeleteCertificateAuthority, the CA's status changes to DELETED. However, the CA won't be permanently deleted until the restoration period has passed. By default, if you do not set the PermanentDeletionTimeInDays parameter, the CA remains restorable for 30 days. You can set the parameter from 7 to 30 days. The DescribeCertificateAuthority operation returns the time remaining in the restoration window of a Private CA in the DELETED state. To restore an eligible CA, call the RestoreCertificateAuthority operation.

" + }, + "DeletePermission":{ + "name":"DeletePermission", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePermissionRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidStateException"}, + {"shape":"RequestFailedException"} + ], + "documentation":"

Revokes permissions that a private CA assigned to a designated AWS service. Permissions can be created with the CreatePermission operation and listed with the ListPermissions operation.

" }, "DescribeCertificateAuthority":{ "name":"DescribeCertificateAuthority", @@ -75,7 +108,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidArnException"} ], - "documentation":"

Lists information about your private certificate authority (CA). You specify the private CA on input by its ARN (Amazon Resource Name). The output contains the status of your CA. This can be any of the following:

  • CREATING - ACM PCA is creating your private certificate authority.

  • PENDING_CERTIFICATE - The certificate is pending. You must use your on-premises root or subordinate CA to sign your private CA CSR and then import it into PCA.

  • ACTIVE - Your private CA is active.

  • DISABLED - Your private CA has been disabled.

  • EXPIRED - Your private CA certificate has expired.

  • FAILED - Your private CA has failed. Your CA can fail because of problems such a network outage or backend AWS failure or other errors. A failed CA can never return to the pending state. You must create a new CA.

  • DELETED - Your private CA is within the restoration period, after which it will be permanently deleted. The length of time remaining in the CA's restoration period will also be included in this operation's output.

" + "documentation":"

Lists information about your private certificate authority (CA). You specify the private CA on input by its ARN (Amazon Resource Name). The output contains the status of your CA. This can be any of the following:

  • CREATING - ACM PCA is creating your private certificate authority.

  • PENDING_CERTIFICATE - The certificate is pending. You must use your on-premises root or subordinate CA to sign your private CA CSR and then import it into PCA.

  • ACTIVE - Your private CA is active.

  • DISABLED - Your private CA has been disabled.

  • EXPIRED - Your private CA certificate has expired.

  • FAILED - Your private CA has failed. Your CA can fail because of problems such a network outage or backend AWS failure or other errors. A failed CA can never return to the pending state. You must create a new CA.

  • DELETED - Your private CA is within the restoration period, after which it is permanently deleted. The length of time remaining in the CA's restoration period is also included in this operation's output.

" }, "DescribeCertificateAuthorityAuditReport":{ "name":"DescribeCertificateAuthorityAuditReport", @@ -192,6 +225,23 @@ ], "documentation":"

Lists the private certificate authorities that you created by using the CreateCertificateAuthority operation.

" }, + "ListPermissions":{ + "name":"ListPermissions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPermissionsRequest"}, + "output":{"shape":"ListPermissionsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidStateException"}, + {"shape":"RequestFailedException"} + ], + "documentation":"

Lists all the permissions, if any, that have been assigned by a private CA. Permissions can be granted with the CreatePermission operation and revoked with the DeletePermission operation.

" + }, "ListTags":{ "name":"ListTags", "http":{ @@ -231,6 +281,7 @@ {"shape":"ConcurrentModificationException"}, {"shape":"InvalidArnException"}, {"shape":"InvalidStateException"}, + {"shape":"LimitExceededException"}, {"shape":"ResourceNotFoundException"}, {"shape":"RequestAlreadyProcessedException"}, {"shape":"RequestInProgressException"}, @@ -350,6 +401,26 @@ }, "documentation":"

Contains information about the certificate subject. The certificate can be one issued by your private certificate authority (CA) or it can be your private CA certificate. The Subject field in the certificate identifies the entity that owns or controls the public key in the certificate. The entity can be a user, computer, device, or service. The Subject must contain an X.500 distinguished name (DN). A DN is a sequence of relative distinguished names (RDNs). The RDNs are separated by commas in the certificate. The DN must be unique for each entity, but your private CA can issue more than one certificate with the same DN to the same entity.

" }, + "AccountId":{ + "type":"string", + "max":12, + "min":12, + "pattern":"[0-9]+" + }, + "ActionList":{ + "type":"list", + "member":{"shape":"ActionType"}, + "max":3, + "min":1 + }, + "ActionType":{ + "type":"string", + "enum":[ + "IssueCertificate", + "GetCertificate", + "ListPermissions" + ] + }, "Arn":{ "type":"string", "max":200, @@ -457,7 +528,7 @@ "documentation":"

Structure that contains X.500 distinguished name information for your private CA.

" } }, - "documentation":"

Contains configuration information for your private certificate authority (CA). This includes information about the class of public key algorithm and the key pair that your private CA creates when it issues a certificate, the signature algorithm it uses used when issuing certificates, and its X.500 distinguished name. You must specify this information when you call the CreateCertificateAuthority operation.

" + "documentation":"

Contains configuration information for your private certificate authority (CA). This includes information about the class of public key algorithm and the key pair that your private CA creates when it issues a certificate. It also includes the signature algorithm that it uses when issuing certificates, and its X.500 distinguished name. You must specify this information when you call the CreateCertificateAuthority operation.

" }, "CertificateAuthorityStatus":{ "type":"string", @@ -517,15 +588,15 @@ "members":{ "CertificateAuthorityArn":{ "shape":"Arn", - "documentation":"

Amazon Resource Name (ARN) of the CA to be audited. This is of the form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 .

" + "documentation":"

The Amazon Resource Name (ARN) of the CA to be audited. This is of the form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 .

" }, "S3BucketName":{ "shape":"String", - "documentation":"

Name of the S3 bucket that will contain the audit report.

" + "documentation":"

The name of the S3 bucket that will contain the audit report.

" }, "AuditReportResponseFormat":{ "shape":"AuditReportResponseFormat", - "documentation":"

Format in which to create the report. This can be either JSON or CSV.

" + "documentation":"

The format in which to create the report. This can be either JSON or CSV.

" } } }, @@ -564,6 +635,10 @@ "IdempotencyToken":{ "shape":"IdempotencyToken", "documentation":"

Alphanumeric string that can be used to distinguish between calls to CreateCertificateAuthority. Idempotency tokens time out after five minutes. Therefore, if you call CreateCertificateAuthority multiple times with the same idempotency token within a five minute period, ACM PCA recognizes that you are requesting only one certificate. As a result, ACM PCA issues only one. If you change the idempotency token for each call, however, ACM PCA recognizes that you are requesting multiple certificates.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Key-value pairs that will be attached to the new private CA. You can associate up to 50 tags with a private CA.

" } } }, @@ -576,6 +651,32 @@ } } }, + "CreatePermissionRequest":{ + "type":"structure", + "required":[ + "CertificateAuthorityArn", + "Principal", + "Actions" + ], + "members":{ + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the CA that grants the permissions. You can find the ARN by calling the ListCertificateAuthorities operation. This must have the following form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 .

" + }, + "Principal":{ + "shape":"Principal", + "documentation":"

The AWS service or identity that receives the permission. At this time, the only valid principal is acm.amazonaws.com.

" + }, + "SourceAccount":{ + "shape":"AccountId", + "documentation":"

The ID of the calling account.

" + }, + "Actions":{ + "shape":"ActionList", + "documentation":"

The actions that the specified AWS service principal can use. These include IssueCertificate, GetCertificate, and ListPermissions.

" + } + } + }, "CrlConfiguration":{ "type":"structure", "required":["Enabled"], @@ -621,6 +722,27 @@ } } }, + "DeletePermissionRequest":{ + "type":"structure", + "required":[ + "CertificateAuthorityArn", + "Principal" + ], + "members":{ + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Number (ARN) of the private CA that issued the permissions. You can find the CA's ARN by calling the ListCertificateAuthorities operation. This must have the following form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 .

" + }, + "Principal":{ + "shape":"Principal", + "documentation":"

The AWS service or identity that will have its CA permissions revoked. At this time, the only valid service principal is acm.amazonaws.com

" + }, + "SourceAccount":{ + "shape":"AccountId", + "documentation":"

The AWS account that calls this operation.

" + } + } + }, "DescribeCertificateAuthorityAuditReportRequest":{ "type":"structure", "required":[ @@ -834,7 +956,7 @@ "members":{ "message":{"shape":"String"} }, - "documentation":"

The private CA is in a state during which a report cannot be generated.

", + "documentation":"

The private CA is in a state during which a report or certificate cannot be generated.

", "exception":true }, "InvalidTagException":{ @@ -928,6 +1050,37 @@ } } }, + "ListPermissionsRequest":{ + "type":"structure", + "required":["CertificateAuthorityArn"], + "members":{ + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Number (ARN) of the private CA to inspect. You can find the ARN by calling the ListCertificateAuthorities operation. This must be of the form: arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 You can get a private CA's ARN by running the ListCertificateAuthorities operation.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

When paginating results, use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextToken from the response you just received.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

When paginating results, use this parameter to specify the maximum number of items to return in the response. If additional items exist beyond the number you specify, the NextToken element is sent in the response. Use this NextToken value in a subsequent request to retrieve additional items.

" + } + } + }, + "ListPermissionsResponse":{ + "type":"structure", + "members":{ + "Permissions":{ + "shape":"PermissionList", + "documentation":"

Summary information about each permission assigned by the specified private CA, including the action enabled, the policy provided, and the time of creation.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

When the list is truncated, this value is present and should be used for the NextToken parameter in a subsequent pagination request.

" + } + } + }, "ListTagsRequest":{ "type":"structure", "required":["CertificateAuthorityArn"], @@ -990,10 +1143,59 @@ "max":30, "min":7 }, + "Permission":{ + "type":"structure", + "members":{ + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Number (ARN) of the private CA from which the permission was issued.

" + }, + "CreatedAt":{ + "shape":"TStamp", + "documentation":"

The time at which the permission was created.

" + }, + "Principal":{ + "shape":"String", + "documentation":"

The AWS service or entity that holds the permission. At this time, the only valid principal is acm.amazonaws.com.

" + }, + "SourceAccount":{ + "shape":"String", + "documentation":"

The ID of the account that assigned the permission.

" + }, + "Actions":{ + "shape":"ActionList", + "documentation":"

The private CA operations that can be performed by the designated AWS service.

" + }, + "Policy":{ + "shape":"String", + "documentation":"

The name of the policy that is associated with the permission.

" + } + }, + "documentation":"

Permissions designate which private CA operations can be performed by an AWS service or entity. In order for ACM to automatically renew private certificates, you must give the ACM service principal all available permissions (IssueCertificate, GetCertificate, and ListPermissions). Permissions can be assigned with the CreatePermission operation, removed with the DeletePermission operation, and listed with the ListPermissions operation.

" + }, + "PermissionAlreadyExistsException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The designated permission has already been given to the user.

", + "exception":true + }, + "PermissionList":{ + "type":"list", + "member":{"shape":"Permission"}, + "min":0 + }, "PositiveLong":{ "type":"long", "min":1 }, + "Principal":{ + "type":"string", + "max":128, + "min":0, + "pattern":"^[^*]+$" + }, "RequestAlreadyProcessedException":{ "type":"structure", "members":{ @@ -1170,7 +1372,7 @@ "type":"string", "max":128, "min":1, - "pattern":"[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@]*" + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" }, "TagList":{ "type":"list", @@ -1182,7 +1384,7 @@ "type":"string", "max":256, "min":0, - "pattern":"[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@]*" + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" }, "TooManyTagsException":{ "type":"structure", @@ -1257,5 +1459,5 @@ ] } }, - "documentation":"

You can use the ACM PCA API to create a private certificate authority (CA). You must first call the CreateCertificateAuthority operation. If successful, the operation returns an Amazon Resource Name (ARN) for your private CA. Use this ARN as input to the GetCertificateAuthorityCsr operation to retrieve the certificate signing request (CSR) for your private CA certificate. Sign the CSR using the root or an intermediate CA in your on-premises PKI hierarchy, and call the ImportCertificateAuthorityCertificate to import your signed private CA certificate into ACM PCA.

Use your private CA to issue and revoke certificates. These are private certificates that identify and secure client computers, servers, applications, services, devices, and users over SSLS/TLS connections within your organization. Call the IssueCertificate operation to issue a certificate. Call the RevokeCertificate operation to revoke a certificate.

Certificates issued by your private CA can be trusted only within your organization, not publicly.

Your private CA can optionally create a certificate revocation list (CRL) to track the certificates you revoke. To create a CRL, you must specify a RevocationConfiguration object when you call the CreateCertificateAuthority operation. ACM PCA writes the CRL to an S3 bucket that you specify. You must specify a bucket policy that grants ACM PCA write permission.

You can also call the CreateCertificateAuthorityAuditReport to create an optional audit report that lists every time the CA private key is used. The private key is used for signing when the IssueCertificate or RevokeCertificate operation is called.

" + "documentation":"

You can use the ACM PCA API to create a private certificate authority (CA). You must first call the CreateCertificateAuthority operation. If successful, the operation returns an Amazon Resource Name (ARN) for your private CA. Use this ARN as input to the GetCertificateAuthorityCsr operation to retrieve the certificate signing request (CSR) for your private CA certificate. Sign the CSR using the root or an intermediate CA in your on-premises PKI hierarchy, and call the ImportCertificateAuthorityCertificate to import your signed private CA certificate into ACM PCA.

Use your private CA to issue and revoke certificates. These are private certificates that identify and secure client computers, servers, applications, services, devices, and users over SSLS/TLS connections within your organization. Call the IssueCertificate operation to issue a certificate. Call the RevokeCertificate operation to revoke a certificate.

Certificates issued by your private CA can be trusted only within your organization, not publicly.

Your private CA can optionally create a certificate revocation list (CRL) to track the certificates you revoke. To create a CRL, you must specify a RevocationConfiguration object when you call the CreateCertificateAuthority operation. ACM PCA writes the CRL to an S3 bucket that you specify. You must specify a bucket policy that grants ACM PCA write permission.

You can also call the CreateCertificateAuthorityAuditReport to create an optional audit report, which enumerates all of the issued, valid, expired, and revoked certificates from the CA.

Each ACM PCA API operation has a throttling limit which determines the number of times the operation can be called per second. For more information, see API Rate Limits in ACM PCA in the ACM PCA user guide.

" } diff --git a/bin/botocore/data/acm-pca/2017-08-22/waiters-2.json b/bin/botocore/data/acm-pca/2017-08-22/waiters-2.json new file mode 100644 index 00000000..79bf399b --- /dev/null +++ b/bin/botocore/data/acm-pca/2017-08-22/waiters-2.json @@ -0,0 +1,61 @@ +{ + "version": 2, + "waiters": { + "CertificateAuthorityCSRCreated": { + "description": "Wait until a Certificate Authority CSR is created", + "operation": "GetCertificateAuthorityCsr", + "delay": 3, + "maxAttempts": 60, + "acceptors": [ + { + "state": "success", + "matcher": "status", + "expected": 200 + }, + { + "state": "retry", + "matcher": "error", + "expected": "RequestInProgressException" + } + ] + }, + "CertificateIssued": { + "description": "Wait until a certificate is issued", + "operation": "GetCertificate", + "delay": 3, + "maxAttempts": 60, + "acceptors": [ + { + "state": "success", + "matcher": "status", + "expected": 200 + }, + { + "state": "retry", + "matcher": "error", + "expected": "RequestInProgressException" + } + ] + }, + "AuditReportCreated": { + "description": "Wait until a Audit Report is created", + "operation": "DescribeCertificateAuthorityAuditReport", + "delay": 3, + "maxAttempts": 60, + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "AuditReportStatus", + "expected": "SUCCESS" + }, + { + "state": "failure", + "matcher": "path", + "argument": "AuditReportStatus", + "expected": "FAILED" + } + ] + } + } +} diff --git a/bin/botocore/data/acm/2015-12-08/service-2.json b/bin/botocore/data/acm/2015-12-08/service-2.json index 5845ed9e..daf9bca9 100644 --- a/bin/botocore/data/acm/2015-12-08/service-2.json +++ b/bin/botocore/data/acm/2015-12-08/service-2.json @@ -26,7 +26,7 @@ {"shape":"InvalidTagException"}, {"shape":"TooManyTagsException"} ], - "documentation":"

Adds one or more tags to an ACM certificate. Tags are labels that you can use to identify and organize your AWS resources. Each tag consists of a key and an optional value. You specify the certificate on input by its Amazon Resource Name (ARN). You specify the tag by using a key-value pair.

You can apply a tag to just one certificate if you want to identify a specific characteristic of that certificate, or you can apply the same tag to multiple certificates if you want to filter for a common relationship among those certificates. Similarly, you can apply the same tag to multiple resources if you want to specify a relationship among those resources. For example, you can add the same tag to an ACM certificate and an Elastic Load Balancing load balancer to indicate that they are both used by the same website. For more information, see Tagging ACM certificates.

To remove one or more tags, use the RemoveTagsFromCertificate action. To view all of the tags that have been applied to the certificate, use the ListTagsForCertificate action.

" + "documentation":"

Adds one or more tags to an ACM certificate. Tags are labels that you can use to identify and organize your AWS resources. Each tag consists of a key and an optional value. You specify the certificate on input by its Amazon Resource Name (ARN). You specify the tag by using a key-value pair.

You can apply a tag to just one certificate if you want to identify a specific characteristic of that certificate, or you can apply the same tag to multiple certificates if you want to filter for a common relationship among those certificates. Similarly, you can apply the same tag to multiple resources if you want to specify a relationship among those resources. For example, you can add the same tag to an ACM certificate and an Elastic Load Balancing load balancer to indicate that they are both used by the same website. For more information, see Tagging ACM certificates.

To remove one or more tags, use the RemoveTagsFromCertificate action. To view all of the tags that have been applied to the certificate, use the ListTagsForCertificate action.

" }, "DeleteCertificate":{ "name":"DeleteCertificate", @@ -98,7 +98,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Imports a certificate into AWS Certificate Manager (ACM) to use with services that are integrated with ACM. Note that integrated services allow only certificate types and keys they support to be associated with their resources. Further, their support differs depending on whether the certificate is imported into IAM or into ACM. For more information, see the documentation for each service. For more information about importing certificates into ACM, see Importing Certificates in the AWS Certificate Manager User Guide.

ACM does not provide managed renewal for certificates that you import.

Note the following guidelines when importing third party certificates:

  • You must enter the private key that matches the certificate you are importing.

  • The private key must be unencrypted. You cannot import a private key that is protected by a password or a passphrase.

  • If the certificate you are importing is not self-signed, you must enter its certificate chain.

  • If a certificate chain is included, the issuer must be the subject of one of the certificates in the chain.

  • The certificate, private key, and certificate chain must be PEM-encoded.

  • The current time must be between the Not Before and Not After certificate fields.

  • The Issuer field must not be empty.

  • The OCSP authority URL, if present, must not exceed 1000 characters.

  • To import a new certificate, omit the CertificateArn argument. Include this argument only when you want to replace a previously imported certificate.

  • When you import a certificate by using the CLI, you must specify the certificate, the certificate chain, and the private key by their file names preceded by file://. For example, you can specify a certificate saved in the C:\\temp folder as file://C:\\temp\\certificate_to_import.pem. If you are making an HTTP or HTTPS Query request, include these arguments as BLOBs.

  • When you import a certificate by using an SDK, you must specify the certificate, the certificate chain, and the private key files in the manner required by the programming language you're using.

This operation returns the Amazon Resource Name (ARN) of the imported certificate.

" + "documentation":"

Imports a certificate into AWS Certificate Manager (ACM) to use with services that are integrated with ACM. Note that integrated services allow only certificate types and keys they support to be associated with their resources. Further, their support differs depending on whether the certificate is imported into IAM or into ACM. For more information, see the documentation for each service. For more information about importing certificates into ACM, see Importing Certificates in the AWS Certificate Manager User Guide.

ACM does not provide managed renewal for certificates that you import.

Note the following guidelines when importing third party certificates:

  • You must enter the private key that matches the certificate you are importing.

  • The private key must be unencrypted. You cannot import a private key that is protected by a password or a passphrase.

  • If the certificate you are importing is not self-signed, you must enter its certificate chain.

  • If a certificate chain is included, the issuer must be the subject of one of the certificates in the chain.

  • The certificate, private key, and certificate chain must be PEM-encoded.

  • The current time must be between the Not Before and Not After certificate fields.

  • The Issuer field must not be empty.

  • The OCSP authority URL, if present, must not exceed 1000 characters.

  • To import a new certificate, omit the CertificateArn argument. Include this argument only when you want to replace a previously imported certificate.

  • When you import a certificate by using the CLI, you must specify the certificate, the certificate chain, and the private key by their file names preceded by file://. For example, you can specify a certificate saved in the C:\\temp folder as file://C:\\temp\\certificate_to_import.pem. If you are making an HTTP or HTTPS Query request, include these arguments as BLOBs.

  • When you import a certificate by using an SDK, you must specify the certificate, the certificate chain, and the private key files in the manner required by the programming language you're using.

This operation returns the Amazon Resource Name (ARN) of the imported certificate.

" }, "ListCertificates":{ "name":"ListCertificates", @@ -108,6 +108,9 @@ }, "input":{"shape":"ListCertificatesRequest"}, "output":{"shape":"ListCertificatesResponse"}, + "errors":[ + {"shape":"InvalidArgsException"} + ], "documentation":"

Retrieves a list of certificate ARNs and domain names. You can request that only certificates that match a specific status be listed. You can also filter by specific attributes of the certificate.

" }, "ListTagsForCertificate":{ @@ -138,6 +141,19 @@ ], "documentation":"

Remove one or more tags from an ACM certificate. A tag consists of a key-value pair. If you do not specify the value portion of the tag when calling this function, the tag will be removed regardless of value. If you specify a value, the tag is removed only if it is associated with the specified value.

To add tags to a certificate, use the AddTagsToCertificate action. To view all of the tags that have been applied to a specific ACM certificate, use the ListTagsForCertificate action.

" }, + "RenewCertificate":{ + "name":"RenewCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RenewCertificateRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"} + ], + "documentation":"

Renews an eligable ACM certificate. At this time, only exported private certificates can be renewed with this operation. In order to renew your ACM PCA certificates with ACM, you must first grant the ACM service principal permission to do so. For more information, see Testing Managed Renewal in the ACM User Guide.

" + }, "RequestCertificate":{ "name":"RequestCertificate", "http":{ @@ -151,7 +167,7 @@ {"shape":"InvalidDomainValidationOptionsException"}, {"shape":"InvalidArnException"} ], - "documentation":"

Requests an ACM certificate for use with other AWS services. To request an ACM certificate, you must specify a fully qualified domain name (FQDN) in the DomainName parameter. You can also specify additional FQDNs in the SubjectAlternativeNames parameter.

If you are requesting a private certificate, domain validation is not required. If you are requesting a public certificate, each domain name that you specify must be validated to verify that you own or control the domain. You can use DNS validation or email validation. We recommend that you use DNS validation. ACM issues public certificates after receiving approval from the domain owner.

" + "documentation":"

Requests an ACM certificate for use with other AWS services. To request an ACM certificate, you must specify a fully qualified domain name (FQDN) in the DomainName parameter. You can also specify additional FQDNs in the SubjectAlternativeNames parameter.

If you are requesting a private certificate, domain validation is not required. If you are requesting a public certificate, each domain name that you specify must be validated to verify that you own or control the domain. You can use DNS validation or email validation. We recommend that you use DNS validation. ACM issues public certificates after receiving approval from the domain owner.

" }, "ResendValidationEmail":{ "name":"ResendValidationEmail", @@ -166,7 +182,7 @@ {"shape":"InvalidArnException"}, {"shape":"InvalidDomainValidationOptionsException"} ], - "documentation":"

Resends the email that requests domain ownership validation. The domain owner or an authorized representative must approve the ACM certificate before it can be issued. The certificate can be approved by clicking a link in the mail to navigate to the Amazon certificate approval website and then clicking I Approve. However, the validation email can be blocked by spam filters. Therefore, if you do not receive the original mail, you can request that the mail be resent within 72 hours of requesting the ACM certificate. If more than 72 hours have elapsed since your original request or since your last attempt to resend validation mail, you must request a new certificate. For more information about setting up your contact email addresses, see Configure Email for your Domain.

" + "documentation":"

Resends the email that requests domain ownership validation. The domain owner or an authorized representative must approve the ACM certificate before it can be issued. The certificate can be approved by clicking a link in the mail to navigate to the Amazon certificate approval website and then clicking I Approve. However, the validation email can be blocked by spam filters. Therefore, if you do not receive the original mail, you can request that the mail be resent within 72 hours of requesting the ACM certificate. If more than 72 hours have elapsed since your original request or since your last attempt to resend validation mail, you must request a new certificate. For more information about setting up your contact email addresses, see Configure Email for your Domain.

" }, "UpdateCertificateOptions":{ "name":"UpdateCertificateOptions", @@ -181,7 +197,7 @@ {"shape":"InvalidStateException"}, {"shape":"InvalidArnException"} ], - "documentation":"

Updates a certificate. Currently, you can use this function to specify whether to opt in to or out of recording your certificate in a certificate transparency log. For more information, see Opting Out of Certificate Transparency Logging.

" + "documentation":"

Updates a certificate. Currently, you can use this function to specify whether to opt in to or out of recording your certificate in a certificate transparency log. For more information, see Opting Out of Certificate Transparency Logging.

" } }, "shapes":{ @@ -194,7 +210,7 @@ "members":{ "CertificateArn":{ "shape":"Arn", - "documentation":"

String that contains the ARN of the ACM certificate to which the tag is to be applied. This must be of the form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + "documentation":"

String that contains the ARN of the ACM certificate to which the tag is to be applied. This must be of the form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" }, "Tags":{ "shape":"TagList", @@ -235,7 +251,7 @@ "members":{ "CertificateArn":{ "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the certificate. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the certificate. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "DomainName":{ "shape":"DomainNameString", @@ -307,15 +323,15 @@ }, "FailureReason":{ "shape":"FailureReason", - "documentation":"

The reason the certificate request failed. This value exists only when the certificate status is FAILED. For more information, see Certificate Request Failed in the AWS Certificate Manager User Guide.

" + "documentation":"

The reason the certificate request failed. This value exists only when the certificate status is FAILED. For more information, see Certificate Request Failed in the AWS Certificate Manager User Guide.

" }, "Type":{ "shape":"CertificateType", - "documentation":"

The source of the certificate. For certificates provided by ACM, this value is AMAZON_ISSUED. For certificates that you imported with ImportCertificate, this value is IMPORTED. ACM does not provide managed renewal for imported certificates. For more information about the differences between certificates that you import and those that ACM provides, see Importing Certificates in the AWS Certificate Manager User Guide.

" + "documentation":"

The source of the certificate. For certificates provided by ACM, this value is AMAZON_ISSUED. For certificates that you imported with ImportCertificate, this value is IMPORTED. ACM does not provide managed renewal for imported certificates. For more information about the differences between certificates that you import and those that ACM provides, see Importing Certificates in the AWS Certificate Manager User Guide.

" }, "RenewalSummary":{ "shape":"RenewalSummary", - "documentation":"

Contains information about the status of ACM's managed renewal for the certificate. This field exists only when the certificate type is AMAZON_ISSUED.

" + "documentation":"

Contains information about the status of ACM's managed renewal for the certificate. This field exists only when the certificate type is AMAZON_ISSUED.

" }, "KeyUsages":{ "shape":"KeyUsageList", @@ -331,7 +347,7 @@ }, "RenewalEligibility":{ "shape":"RenewalEligibility", - "documentation":"

Specifies whether the certificate is eligible for renewal.

" + "documentation":"

Specifies whether the certificate is eligible for renewal. At this time, only exported private certificates can be renewed with the RenewCertificate command.

" }, "Options":{ "shape":"CertificateOptions", @@ -348,7 +364,7 @@ "documentation":"

You can opt out of certificate transparency logging by specifying the DISABLED option. Opt in by specifying ENABLED.

" } }, - "documentation":"

Structure that contains options for your certificate. Currently, you can use this only to specify whether to opt in to or out of certificate transparency logging. Some browsers require that public certificates issued for your domain be recorded in a log. Certificates that are not logged typically generate a browser error. Transparency makes it possible for you to detect SSL/TLS certificates that have been mistakenly or maliciously issued for your domain. For general information, see Certificate Transparency Logging.

" + "documentation":"

Structure that contains options for your certificate. Currently, you can use this only to specify whether to opt in to or out of certificate transparency logging. Some browsers require that public certificates issued for your domain be recorded in a log. Certificates that are not logged typically generate a browser error. Transparency makes it possible for you to detect SSL/TLS certificates that have been mistakenly or maliciously issued for your domain. For general information, see Certificate Transparency Logging.

" }, "CertificateStatus":{ "type":"string", @@ -371,7 +387,7 @@ "members":{ "CertificateArn":{ "shape":"Arn", - "documentation":"

Amazon Resource Name (ARN) of the certificate. This is of the form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + "documentation":"

Amazon Resource Name (ARN) of the certificate. This is of the form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" }, "DomainName":{ "shape":"DomainNameString", @@ -405,7 +421,7 @@ "members":{ "CertificateArn":{ "shape":"Arn", - "documentation":"

String that contains the ARN of the ACM certificate to be deleted. This must be of the form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + "documentation":"

String that contains the ARN of the ACM certificate to be deleted. This must be of the form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" } } }, @@ -415,7 +431,7 @@ "members":{ "CertificateArn":{ "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the ACM certificate. The ARN must have the following form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + "documentation":"

The Amazon Resource Name (ARN) of the ACM certificate. The ARN must have the following form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" } } }, @@ -470,7 +486,7 @@ }, "ResourceRecord":{ "shape":"ResourceRecord", - "documentation":"

Contains the CNAME record that you add to your DNS database for domain validation. For more information, see Use DNS to Validate Domain Ownership.

" + "documentation":"

Contains the CNAME record that you add to your DNS database for domain validation. For more information, see Use DNS to Validate Domain Ownership.

" }, "ValidationMethod":{ "shape":"ValidationMethod", @@ -539,7 +555,7 @@ }, "PrivateKey":{ "shape":"PrivateKey", - "documentation":"

The PEM-encoded private key associated with the public key in the certificate.

" + "documentation":"

The encrypted private key associated with the public key in the certificate. The key is output in PKCS #8 format and is base64 PEM-encoded.

" } } }, @@ -589,6 +605,7 @@ "ADDITIONAL_VERIFICATION_REQUIRED", "DOMAIN_NOT_ALLOWED", "INVALID_PUBLIC_DOMAIN", + "DOMAIN_VALIDATION_DENIED", "CAA_ERROR", "PCA_LIMIT_EXCEEDED", "PCA_INVALID_ARN", @@ -596,6 +613,8 @@ "PCA_REQUEST_FAILED", "PCA_RESOURCE_NOT_FOUND", "PCA_INVALID_ARGS", + "PCA_INVALID_DURATION", + "PCA_ACCESS_DENIED", "OTHER" ] }, @@ -623,7 +642,7 @@ "members":{ "CertificateArn":{ "shape":"Arn", - "documentation":"

String that contains a certificate ARN in the following format:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + "documentation":"

String that contains a certificate ARN in the following format:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" } } }, @@ -655,7 +674,7 @@ "members":{ "CertificateArn":{ "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of an imported certificate to replace. To import a new certificate, omit this field.

" + "documentation":"

The Amazon Resource Name (ARN) of an imported certificate to replace. To import a new certificate, omit this field.

" }, "Certificate":{ "shape":"CertificateBodyBlob", @@ -676,7 +695,7 @@ "members":{ "CertificateArn":{ "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the imported certificate.

" + "documentation":"

The Amazon Resource Name (ARN) of the imported certificate.

" } } }, @@ -684,6 +703,14 @@ "type":"list", "member":{"shape":"String"} }, + "InvalidArgsException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

One or more of of request parameters specified is not valid.

", + "exception":true + }, "InvalidArnException":{ "type":"structure", "members":{ @@ -813,7 +840,7 @@ "members":{ "CertificateArn":{ "shape":"Arn", - "documentation":"

String that contains the ARN of the ACM certificate for which you want to list the tags. This must have the following form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + "documentation":"

String that contains the ARN of the ACM certificate for which you want to list the tags. This must have the following form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" } } }, @@ -869,7 +896,7 @@ "members":{ "CertificateArn":{ "shape":"Arn", - "documentation":"

String that contains the ARN of the ACM Certificate with one or more tags that you want to remove. This must be of the form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + "documentation":"

String that contains the ARN of the ACM Certificate with one or more tags that you want to remove. This must be of the form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" }, "Tags":{ "shape":"TagList", @@ -877,6 +904,16 @@ } } }, + "RenewCertificateRequest":{ + "type":"structure", + "required":["CertificateArn"], + "members":{ + "CertificateArn":{ + "shape":"Arn", + "documentation":"

String that contains the ARN of the ACM certificate to be renewed. This must be of the form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + } + } + }, "RenewalEligibility":{ "type":"string", "enum":[ @@ -897,19 +934,28 @@ "type":"structure", "required":[ "RenewalStatus", - "DomainValidationOptions" + "DomainValidationOptions", + "UpdatedAt" ], "members":{ "RenewalStatus":{ "shape":"RenewalStatus", - "documentation":"

The status of ACM's managed renewal of the certificate.

" + "documentation":"

The status of ACM's managed renewal of the certificate.

" }, "DomainValidationOptions":{ "shape":"DomainValidationList", - "documentation":"

Contains information about the validation of each domain name in the certificate, as it pertains to ACM's managed renewal. This is different from the initial validation that occurs as a result of the RequestCertificate request. This field exists only when the certificate type is AMAZON_ISSUED.

" + "documentation":"

Contains information about the validation of each domain name in the certificate, as it pertains to ACM's managed renewal. This is different from the initial validation that occurs as a result of the RequestCertificate request. This field exists only when the certificate type is AMAZON_ISSUED.

" + }, + "RenewalStatusReason":{ + "shape":"FailureReason", + "documentation":"

The reason that a renewal request was unsuccessful.

" + }, + "UpdatedAt":{ + "shape":"TStamp", + "documentation":"

The time at which the renewal summary was last updated.

" } }, - "documentation":"

Contains information about the status of ACM's managed renewal for the certificate. This structure exists only when the certificate type is AMAZON_ISSUED.

" + "documentation":"

Contains information about the status of ACM's managed renewal for the certificate. This structure exists only when the certificate type is AMAZON_ISSUED.

" }, "RequestCertificateRequest":{ "type":"structure", @@ -921,11 +967,11 @@ }, "ValidationMethod":{ "shape":"ValidationMethod", - "documentation":"

The method you want to use if you are requesting a public certificate to validate that you own or control domain. You can validate with DNS or validate with email. We recommend that you use DNS validation.

" + "documentation":"

The method you want to use if you are requesting a public certificate to validate that you own or control domain. You can validate with DNS or validate with email. We recommend that you use DNS validation.

" }, "SubjectAlternativeNames":{ "shape":"DomainList", - "documentation":"

Additional FQDNs to be included in the Subject Alternative Name extension of the ACM certificate. For example, add the name www.example.net to a certificate for which the DomainName field is www.example.com if users can reach your site by using either name. The maximum number of domain names that you can add to an ACM certificate is 100. However, the initial limit is 10 domain names. If you need more than 10 names, you must request a limit increase. For more information, see Limits.

The maximum length of a SAN DNS name is 253 octets. The name is made up of multiple labels separated by periods. No label can be longer than 63 octets. Consider the following examples:

  • (63 octets).(63 octets).(63 octets).(61 octets) is legal because the total length is 253 octets (63+1+63+1+63+1+61) and no label exceeds 63 octets.

  • (64 octets).(63 octets).(63 octets).(61 octets) is not legal because the total length exceeds 253 octets (64+1+63+1+63+1+61) and the first label exceeds 63 octets.

  • (63 octets).(63 octets).(63 octets).(62 octets) is not legal because the total length of the DNS name (63+1+63+1+63+1+62) exceeds 253 octets.

" + "documentation":"

Additional FQDNs to be included in the Subject Alternative Name extension of the ACM certificate. For example, add the name www.example.net to a certificate for which the DomainName field is www.example.com if users can reach your site by using either name. The maximum number of domain names that you can add to an ACM certificate is 100. However, the initial limit is 10 domain names. If you need more than 10 names, you must request a limit increase. For more information, see Limits.

The maximum length of a SAN DNS name is 253 octets. The name is made up of multiple labels separated by periods. No label can be longer than 63 octets. Consider the following examples:

  • (63 octets).(63 octets).(63 octets).(61 octets) is legal because the total length is 253 octets (63+1+63+1+63+1+61) and no label exceeds 63 octets.

  • (64 octets).(63 octets).(63 octets).(61 octets) is not legal because the total length exceeds 253 octets (64+1+63+1+63+1+61) and the first label exceeds 63 octets.

  • (63 octets).(63 octets).(63 octets).(62 octets) is not legal because the total length of the DNS name (63+1+63+1+63+1+62) exceeds 253 octets.

" }, "IdempotencyToken":{ "shape":"IdempotencyToken", @@ -937,11 +983,11 @@ }, "Options":{ "shape":"CertificateOptions", - "documentation":"

Currently, you can use this parameter to specify whether to add the certificate to a certificate transparency log. Certificate transparency makes it possible to detect SSL/TLS certificates that have been mistakenly or maliciously issued. Certificates that have not been logged typically produce an error message in a browser. For more information, see Opting Out of Certificate Transparency Logging.

" + "documentation":"

Currently, you can use this parameter to specify whether to add the certificate to a certificate transparency log. Certificate transparency makes it possible to detect SSL/TLS certificates that have been mistakenly or maliciously issued. Certificates that have not been logged typically produce an error message in a browser. For more information, see Opting Out of Certificate Transparency Logging.

" }, "CertificateAuthorityArn":{ "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the private certificate authority (CA) that will be used to issue the certificate. If you do not provide an ARN and you are trying to request a private certificate, ACM will attempt to issue a public certificate. For more information about private CAs, see the AWS Certificate Manager Private Certificate Authority (PCA) user guide. The ARN must have the following form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012

" + "documentation":"

The Amazon Resource Name (ARN) of the private certificate authority (CA) that will be used to issue the certificate. If you do not provide an ARN and you are trying to request a private certificate, ACM will attempt to issue a public certificate. For more information about private CAs, see the AWS Certificate Manager Private Certificate Authority (PCA) user guide. The ARN must have the following form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012

" } } }, @@ -1110,5 +1156,5 @@ ] } }, - "documentation":"AWS Certificate Manager

Welcome to the AWS Certificate Manager (ACM) API documentation.

You can use ACM to manage SSL/TLS certificates for your AWS-based websites and applications. For general information about using ACM, see the AWS Certificate Manager User Guide .

" + "documentation":"AWS Certificate Manager

Welcome to the AWS Certificate Manager (ACM) API documentation.

You can use ACM to manage SSL/TLS certificates for your AWS-based websites and applications. For general information about using ACM, see the AWS Certificate Manager User Guide .

" } diff --git a/bin/botocore/data/alexaforbusiness/2017-11-09/paginators-1.json b/bin/botocore/data/alexaforbusiness/2017-11-09/paginators-1.json index a91b700d..ced5de2f 100644 --- a/bin/botocore/data/alexaforbusiness/2017-11-09/paginators-1.json +++ b/bin/botocore/data/alexaforbusiness/2017-11-09/paginators-1.json @@ -41,6 +41,42 @@ "output_token": "NextToken", "input_token": "NextToken", "limit_key": "MaxResults" + }, + "ListBusinessReportSchedules": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "BusinessReportSchedules" + }, + "ListConferenceProviders": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ConferenceProviders" + }, + "ListDeviceEvents": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "DeviceEvents" + }, + "ListSkillsStoreCategories": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "CategoryList" + }, + "ListSkillsStoreSkillsByCategory": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "SkillsStoreSkills" + }, + "ListSmartHomeAppliances": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "SmartHomeAppliances" } } } diff --git a/bin/botocore/data/alexaforbusiness/2017-11-09/service-2.json b/bin/botocore/data/alexaforbusiness/2017-11-09/service-2.json index c452c78f..f0240082 100644 --- a/bin/botocore/data/alexaforbusiness/2017-11-09/service-2.json +++ b/bin/botocore/data/alexaforbusiness/2017-11-09/service-2.json @@ -40,6 +40,21 @@ ], "documentation":"

Associates a contact with a given address book.

" }, + "AssociateDeviceWithNetworkProfile":{ + "name":"AssociateDeviceWithNetworkProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateDeviceWithNetworkProfileRequest"}, + "output":{"shape":"AssociateDeviceWithNetworkProfileResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"DeviceNotRegisteredException"} + ], + "documentation":"

Associates a device with the specified network profile.

" + }, "AssociateDeviceWithRoom":{ "name":"AssociateDeviceWithRoom", "http":{ @@ -78,10 +93,25 @@ "output":{"shape":"AssociateSkillWithSkillGroupResponse"}, "errors":[ {"shape":"ConcurrentModificationException"}, - {"shape":"NotFoundException"} + {"shape":"NotFoundException"}, + {"shape":"SkillNotLinkedException"} ], "documentation":"

Associates a skill with a skill group.

" }, + "AssociateSkillWithUsers":{ + "name":"AssociateSkillWithUsers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateSkillWithUsersRequest"}, + "output":{"shape":"AssociateSkillWithUsersResponse"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Makes a private skill available for enrolled users to enable on their devices.

" + }, "CreateAddressBook":{ "name":"CreateAddressBook", "http":{ @@ -96,6 +126,19 @@ ], "documentation":"

Creates an address book with the specified details.

" }, + "CreateBusinessReportSchedule":{ + "name":"CreateBusinessReportSchedule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateBusinessReportScheduleRequest"}, + "output":{"shape":"CreateBusinessReportScheduleResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"} + ], + "documentation":"

Creates a recurring schedule for usage reports to deliver to the specified S3 location with a specified daily or weekly interval.

" + }, "CreateConferenceProvider":{ "name":"CreateConferenceProvider", "http":{ @@ -123,6 +166,37 @@ ], "documentation":"

Creates a contact with the specified details.

" }, + "CreateGatewayGroup":{ + "name":"CreateGatewayGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateGatewayGroupRequest"}, + "output":{"shape":"CreateGatewayGroupResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a gateway group with the specified details.

" + }, + "CreateNetworkProfile":{ + "name":"CreateNetworkProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateNetworkProfileRequest"}, + "output":{"shape":"CreateNetworkProfileResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidCertificateAuthorityException"}, + {"shape":"InvalidServiceLinkedRoleStateException"} + ], + "documentation":"

Creates a network profile with the specified details.

" + }, "CreateProfile":{ "name":"CreateProfile", "http":{ @@ -196,6 +270,20 @@ ], "documentation":"

Deletes an address book by the address book ARN.

" }, + "DeleteBusinessReportSchedule":{ + "name":"DeleteBusinessReportSchedule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteBusinessReportScheduleRequest"}, + "output":{"shape":"DeleteBusinessReportScheduleResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Deletes the recurring report delivery schedule with the specified schedule ARN.

" + }, "DeleteConferenceProvider":{ "name":"DeleteConferenceProvider", "http":{ @@ -238,6 +326,49 @@ ], "documentation":"

Removes a device from Alexa For Business.

" }, + "DeleteDeviceUsageData":{ + "name":"DeleteDeviceUsageData", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDeviceUsageDataRequest"}, + "output":{"shape":"DeleteDeviceUsageDataResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"DeviceNotRegisteredException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

When this action is called for a specified shared device, it allows authorized users to delete the device's entire previous history of voice input data. This action can be called once every 24 hours for a specific shared device.

" + }, + "DeleteGatewayGroup":{ + "name":"DeleteGatewayGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteGatewayGroupRequest"}, + "output":{"shape":"DeleteGatewayGroupResponse"}, + "errors":[ + {"shape":"ResourceAssociatedException"} + ], + "documentation":"

Deletes a gateway group.

" + }, + "DeleteNetworkProfile":{ + "name":"DeleteNetworkProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteNetworkProfileRequest"}, + "output":{"shape":"DeleteNetworkProfileResponse"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Deletes a network profile by the network profile ARN.

" + }, "DeleteProfile":{ "name":"DeleteProfile", "http":{ @@ -359,6 +490,20 @@ ], "documentation":"

Disassociates a skill from a skill group.

" }, + "DisassociateSkillFromUsers":{ + "name":"DisassociateSkillFromUsers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateSkillFromUsersRequest"}, + "output":{"shape":"DisassociateSkillFromUsersResponse"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Makes a private skill unavailable for enrolled users and prevents them from enabling it on their devices.

" + }, "DisassociateSkillGroupFromRoom":{ "name":"DisassociateSkillGroupFromRoom", "http":{ @@ -450,6 +595,59 @@ ], "documentation":"

Gets the details of a device by device ARN.

" }, + "GetGateway":{ + "name":"GetGateway", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetGatewayRequest"}, + "output":{"shape":"GetGatewayResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ], + "documentation":"

Retrieves the details of a gateway.

" + }, + "GetGatewayGroup":{ + "name":"GetGatewayGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetGatewayGroupRequest"}, + "output":{"shape":"GetGatewayGroupResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ], + "documentation":"

Retrieves the details of a gateway group.

" + }, + "GetInvitationConfiguration":{ + "name":"GetInvitationConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetInvitationConfigurationRequest"}, + "output":{"shape":"GetInvitationConfigurationResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ], + "documentation":"

Retrieves the configured values for the user enrollment invitation email template.

" + }, + "GetNetworkProfile":{ + "name":"GetNetworkProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetNetworkProfileRequest"}, + "output":{"shape":"GetNetworkProfileResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"InvalidSecretsManagerResourceException"} + ], + "documentation":"

Gets the network profile details by the network profile ARN.

" + }, "GetProfile":{ "name":"GetProfile", "http":{ @@ -502,6 +700,16 @@ ], "documentation":"

Gets skill group details by skill group ARN.

" }, + "ListBusinessReportSchedules":{ + "name":"ListBusinessReportSchedules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListBusinessReportSchedulesRequest"}, + "output":{"shape":"ListBusinessReportSchedulesResponse"}, + "documentation":"

Lists the details of the schedules that a user configured.

" + }, "ListConferenceProviders":{ "name":"ListConferenceProviders", "http":{ @@ -525,6 +733,26 @@ ], "documentation":"

Lists the device event history, including device connection status, for up to 30 days.

" }, + "ListGatewayGroups":{ + "name":"ListGatewayGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListGatewayGroupsRequest"}, + "output":{"shape":"ListGatewayGroupsResponse"}, + "documentation":"

Retrieves a list of gateway group summaries. Use GetGatewayGroup to retrieve details of a specific gateway group.

" + }, + "ListGateways":{ + "name":"ListGateways", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListGatewaysRequest"}, + "output":{"shape":"ListGatewaysResponse"}, + "documentation":"

Retrieves a list of gateway summaries. Use GetGateway to retrieve details of a specific gateway. An optional gateway group ARN can be provided to only retrieve gateway summaries of gateways that are associated with that gateway group ARN.

" + }, "ListSkills":{ "name":"ListSkills", "http":{ @@ -594,6 +822,20 @@ ], "documentation":"

Sets the conference preferences on a specific conference provider at the account level.

" }, + "PutInvitationConfiguration":{ + "name":"PutInvitationConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutInvitationConfigurationRequest"}, + "output":{"shape":"PutInvitationConfigurationResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Configures the email template for the user enrollment invitation with the specified attributes.

" + }, "PutRoomSkillParameter":{ "name":"PutRoomSkillParameter", "http":{ @@ -707,6 +949,16 @@ "output":{"shape":"SearchDevicesResponse"}, "documentation":"

Searches devices and lists the ones that meet a set of filter criteria.

" }, + "SearchNetworkProfiles":{ + "name":"SearchNetworkProfiles", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchNetworkProfilesRequest"}, + "output":{"shape":"SearchNetworkProfilesResponse"}, + "documentation":"

Searches network profiles and lists the ones that meet a set of filter and sort criteria.

" + }, "SearchProfiles":{ "name":"SearchProfiles", "http":{ @@ -747,6 +999,20 @@ "output":{"shape":"SearchUsersResponse"}, "documentation":"

Searches users and lists the ones that meet a set of filter and sort criteria.

" }, + "SendAnnouncement":{ + "name":"SendAnnouncement", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SendAnnouncementRequest"}, + "output":{"shape":"SendAnnouncementResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"AlreadyExistsException"} + ], + "documentation":"

Triggers an asynchronous flow to send text, SSML, or audio announcements to rooms that are identified by a search or filter.

" + }, "SendInvitation":{ "name":"SendInvitation", "http":{ @@ -773,7 +1039,7 @@ "errors":[ {"shape":"DeviceNotRegisteredException"} ], - "documentation":"

Resets a device and its account to the known default settings, by clearing all information and settings set by previous users.

" + "documentation":"

Resets a device and its account to the known default settings. This clears all information and settings set by previous users in the following ways:

  • Bluetooth - This unpairs all bluetooth devices paired with your echo device.

  • Volume - This resets the echo device's volume to the default value.

  • Notifications - This clears all notifications from your echo device.

  • Lists - This clears all to-do items from your echo device.

  • Settings - This internally syncs the room's profile (if the device is assigned to a room), contacts, address books, delegation access for account linking, and communications (if enabled on the room profile).

" }, "StartSmartHomeApplianceDiscovery":{ "name":"StartSmartHomeApplianceDiscovery", @@ -829,6 +1095,20 @@ ], "documentation":"

Updates address book details by the address book ARN.

" }, + "UpdateBusinessReportSchedule":{ + "name":"UpdateBusinessReportSchedule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateBusinessReportScheduleRequest"}, + "output":{"shape":"UpdateBusinessReportScheduleResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Updates the configuration of the report delivery schedule with the specified schedule ARN.

" + }, "UpdateConferenceProvider":{ "name":"UpdateConferenceProvider", "http":{ @@ -871,6 +1151,51 @@ ], "documentation":"

Updates the device name by device ARN.

" }, + "UpdateGateway":{ + "name":"UpdateGateway", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateGatewayRequest"}, + "output":{"shape":"UpdateGatewayResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"NameInUseException"} + ], + "documentation":"

Updates the details of a gateway. If any optional field is not provided, the existing corresponding value is left unmodified.

" + }, + "UpdateGatewayGroup":{ + "name":"UpdateGatewayGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateGatewayGroupRequest"}, + "output":{"shape":"UpdateGatewayGroupResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"NameInUseException"} + ], + "documentation":"

Updates the details of a gateway group. If any optional field is not provided, the existing corresponding value is left unmodified.

" + }, + "UpdateNetworkProfile":{ + "name":"UpdateNetworkProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateNetworkProfileRequest"}, + "output":{"shape":"UpdateNetworkProfileResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"NameInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidCertificateAuthorityException"}, + {"shape":"InvalidSecretsManagerResourceException"} + ], + "documentation":"

Updates a network profile by the network profile ARN.

" + }, "UpdateProfile":{ "name":"UpdateProfile", "http":{ @@ -1030,6 +1355,28 @@ "members":{ } }, + "AssociateDeviceWithNetworkProfileRequest":{ + "type":"structure", + "required":[ + "DeviceArn", + "NetworkProfileArn" + ], + "members":{ + "DeviceArn":{ + "shape":"Arn", + "documentation":"

The device ARN.

" + }, + "NetworkProfileArn":{ + "shape":"Arn", + "documentation":"

The ARN of the network profile to associate with a device.

" + } + } + }, + "AssociateDeviceWithNetworkProfileResponse":{ + "type":"structure", + "members":{ + } + }, "AssociateDeviceWithRoomRequest":{ "type":"structure", "members":{ @@ -1085,6 +1432,50 @@ "members":{ } }, + "AssociateSkillWithUsersRequest":{ + "type":"structure", + "required":["SkillId"], + "members":{ + "SkillId":{ + "shape":"SkillId", + "documentation":"

The private skill ID you want to make available to enrolled users.

" + } + } + }, + "AssociateSkillWithUsersResponse":{ + "type":"structure", + "members":{ + } + }, + "Audio":{ + "type":"structure", + "required":[ + "Locale", + "Location" + ], + "members":{ + "Locale":{ + "shape":"Locale", + "documentation":"

The locale of the audio message. Currently, en-US is supported.

" + }, + "Location":{ + "shape":"AudioLocation", + "documentation":"

The location of the audio file. Currently, S3 URLs are supported. Only S3 locations comprised of safe characters are valid. For more information, see Safe Characters.

" + } + }, + "documentation":"

The audio message. There is a 1 MB limit on the audio file input and the only supported format is MP3. To convert your MP3 audio files to an Alexa-friendly,

required codec version (MPEG version 2) and bit rate (48 kbps), you might use converter software. One option for this is a command-line tool, FFmpeg. For more information, see FFmpeg. The following command converts the provided <input-file> to an MP3 file that is played in the announcement:

ffmpeg -i <input-file> -ac 2 -codec:a libmp3lame -b:a 48k -ar 16000 <output-file.mp3>

" + }, + "AudioList":{ + "type":"list", + "member":{"shape":"Audio"}, + "max":1 + }, + "AudioLocation":{ + "type":"string", + "max":1200, + "min":0, + "pattern":"https://([A-Za-z0-9_.-]+)?(s3-[A-Za-z0-9-]+|s3\\.([A-Za-z0-9-])+|s3|s3.dualstack\\.([A-Za-z0-9-])+)+.amazonaws.com/.*" + }, "AuthorizationResult":{ "type":"map", "key":{"shape":"Key"}, @@ -1097,36 +1488,178 @@ "type":"list", "member":{"shape":"BulletPoint"} }, - "Category":{ + "BusinessReport":{ "type":"structure", "members":{ - "CategoryId":{ - "shape":"CategoryId", - "documentation":"

The ID of the skill store category.

" + "Status":{ + "shape":"BusinessReportStatus", + "documentation":"

The status of the report generation execution (RUNNING, SUCCEEDED, or FAILED).

" }, - "CategoryName":{ - "shape":"CategoryName", - "documentation":"

The name of the skill store category.

" + "FailureCode":{ + "shape":"BusinessReportFailureCode", + "documentation":"

The failure code.

" + }, + "S3Location":{ + "shape":"BusinessReportS3Location", + "documentation":"

The S3 location of the output reports.

" + }, + "DeliveryTime":{ + "shape":"BusinessReportDeliveryTime", + "documentation":"

The time of report delivery.

" + }, + "DownloadUrl":{ + "shape":"BusinessReportDownloadUrl", + "documentation":"

The download link where a user can download the report.

" } }, - "documentation":"

The skill store category that is shown. Alexa skills are assigned a specific skill category during creation, such as News, Social, and Sports.

" - }, - "CategoryId":{ - "type":"long", - "min":1 + "documentation":"

Usage report with specified parameters.

" }, - "CategoryList":{ - "type":"list", + "BusinessReportContentRange":{ + "type":"structure", + "members":{ + "Interval":{ + "shape":"BusinessReportInterval", + "documentation":"

The interval of the content range.

" + } + }, + "documentation":"

The content range of the report.

" + }, + "BusinessReportDeliveryTime":{"type":"timestamp"}, + "BusinessReportDownloadUrl":{"type":"string"}, + "BusinessReportFailureCode":{ + "type":"string", + "enum":[ + "ACCESS_DENIED", + "NO_SUCH_BUCKET", + "INTERNAL_FAILURE" + ] + }, + "BusinessReportFormat":{ + "type":"string", + "enum":[ + "CSV", + "CSV_ZIP" + ] + }, + "BusinessReportInterval":{ + "type":"string", + "enum":[ + "ONE_DAY", + "ONE_WEEK" + ] + }, + "BusinessReportRecurrence":{ + "type":"structure", + "members":{ + "StartDate":{ + "shape":"Date", + "documentation":"

The start date.

" + } + }, + "documentation":"

The recurrence of the reports.

" + }, + "BusinessReportS3Location":{ + "type":"structure", + "members":{ + "Path":{ + "shape":"BusinessReportS3Path", + "documentation":"

The path of the business report.

" + }, + "BucketName":{ + "shape":"CustomerS3BucketName", + "documentation":"

The S3 bucket name of the output reports.

" + } + }, + "documentation":"

The S3 location of the output reports.

" + }, + "BusinessReportS3Path":{"type":"string"}, + "BusinessReportSchedule":{ + "type":"structure", + "members":{ + "ScheduleArn":{ + "shape":"Arn", + "documentation":"

The ARN of the business report schedule.

" + }, + "ScheduleName":{ + "shape":"BusinessReportScheduleName", + "documentation":"

The name identifier of the schedule.

" + }, + "S3BucketName":{ + "shape":"CustomerS3BucketName", + "documentation":"

The S3 bucket name of the output reports.

" + }, + "S3KeyPrefix":{ + "shape":"S3KeyPrefix", + "documentation":"

The S3 key where the report is delivered.

" + }, + "Format":{ + "shape":"BusinessReportFormat", + "documentation":"

The format of the generated report (individual CSV files or zipped files of individual files).

" + }, + "ContentRange":{ + "shape":"BusinessReportContentRange", + "documentation":"

The content range of the reports.

" + }, + "Recurrence":{ + "shape":"BusinessReportRecurrence", + "documentation":"

The recurrence of the reports.

" + }, + "LastBusinessReport":{ + "shape":"BusinessReport", + "documentation":"

The details of the last business report delivery for a specified time interval.

" + } + }, + "documentation":"

The schedule of the usage report.

" + }, + "BusinessReportScheduleList":{ + "type":"list", + "member":{"shape":"BusinessReportSchedule"} + }, + "BusinessReportScheduleName":{ + "type":"string", + "max":64, + "min":0, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "BusinessReportStatus":{ + "type":"string", + "enum":[ + "RUNNING", + "SUCCEEDED", + "FAILED" + ] + }, + "Category":{ + "type":"structure", + "members":{ + "CategoryId":{ + "shape":"CategoryId", + "documentation":"

The ID of the skill store category.

" + }, + "CategoryName":{ + "shape":"CategoryName", + "documentation":"

The name of the skill store category.

" + } + }, + "documentation":"

The skill store category that is shown. Alexa skills are assigned a specific skill category during creation, such as News, Social, and Sports.

" + }, + "CategoryId":{ + "type":"long", + "min":1 + }, + "CategoryList":{ + "type":"list", "member":{"shape":"Category"} }, "CategoryName":{"type":"string"}, + "CertificateTime":{"type":"timestamp"}, "ClientId":{ "type":"string", "pattern":"^\\S+{1,256}$" }, "ClientRequestToken":{ "type":"string", - "documentation":"User specified token that is used to support idempotency during Create Resource", + "documentation":"

A unique, user-specified identifier for the request that ensures idempotency.

", "max":150, "min":10, "pattern":"[a-zA-Z0-9][a-zA-Z0-9_-]*" @@ -1144,7 +1677,7 @@ "members":{ "Message":{"shape":"ErrorMessage"} }, - "documentation":"Concurrent modification of resources. HTTP Status Code: 400.", + "documentation":"

There is a concurrent modification of resources.

", "exception":true }, "ConferencePreference":{ @@ -1281,6 +1814,24 @@ "min":1, "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" }, + "Content":{ + "type":"structure", + "members":{ + "TextList":{ + "shape":"TextList", + "documentation":"

The list of text messages.

" + }, + "SsmlList":{ + "shape":"SsmlList", + "documentation":"

The list of SSML messages.

" + }, + "AudioList":{ + "shape":"AudioList", + "documentation":"

The list of audio messages.

" + } + }, + "documentation":"

The content definition. This can contain only one text, SSML, or audio list object.

" + }, "CountryCode":{ "type":"string", "pattern":"\\d{1,3}" @@ -1313,6 +1864,53 @@ } } }, + "CreateBusinessReportScheduleRequest":{ + "type":"structure", + "required":[ + "Format", + "ContentRange" + ], + "members":{ + "ScheduleName":{ + "shape":"BusinessReportScheduleName", + "documentation":"

The name identifier of the schedule.

" + }, + "S3BucketName":{ + "shape":"CustomerS3BucketName", + "documentation":"

The S3 bucket name of the output reports. If this isn't specified, the report can be retrieved from a download link by calling ListBusinessReportSchedule.

" + }, + "S3KeyPrefix":{ + "shape":"S3KeyPrefix", + "documentation":"

The S3 key where the report is delivered.

" + }, + "Format":{ + "shape":"BusinessReportFormat", + "documentation":"

The format of the generated report (individual CSV files or zipped files of individual files).

" + }, + "ContentRange":{ + "shape":"BusinessReportContentRange", + "documentation":"

The content range of the reports.

" + }, + "Recurrence":{ + "shape":"BusinessReportRecurrence", + "documentation":"

The recurrence of the reports. If this isn't specified, the report will only be delivered one time when the API is called.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

The client request token.

", + "idempotencyToken":true + } + } + }, + "CreateBusinessReportScheduleResponse":{ + "type":"structure", + "members":{ + "ScheduleArn":{ + "shape":"Arn", + "documentation":"

The ARN of the business report schedule.

" + } + } + }, "CreateConferenceProviderRequest":{ "type":"structure", "required":[ @@ -1359,10 +1957,7 @@ }, "CreateContactRequest":{ "type":"structure", - "required":[ - "FirstName", - "PhoneNumber" - ], + "required":["FirstName"], "members":{ "DisplayName":{ "shape":"ContactName", @@ -1396,6 +1991,97 @@ } } }, + "CreateGatewayGroupRequest":{ + "type":"structure", + "required":[ + "Name", + "ClientRequestToken" + ], + "members":{ + "Name":{ + "shape":"GatewayGroupName", + "documentation":"

The name of the gateway group.

" + }, + "Description":{ + "shape":"GatewayGroupDescription", + "documentation":"

The description of the gateway group.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A unique, user-specified identifier for the request that ensures idempotency.

", + "idempotencyToken":true + } + } + }, + "CreateGatewayGroupResponse":{ + "type":"structure", + "members":{ + "GatewayGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of the created gateway group.

" + } + } + }, + "CreateNetworkProfileRequest":{ + "type":"structure", + "required":[ + "NetworkProfileName", + "Ssid", + "SecurityType", + "ClientRequestToken" + ], + "members":{ + "NetworkProfileName":{ + "shape":"NetworkProfileName", + "documentation":"

The name of the network profile associated with a device.

" + }, + "Description":{ + "shape":"NetworkProfileDescription", + "documentation":"

Detailed information about a device's network profile.

" + }, + "Ssid":{ + "shape":"NetworkSsid", + "documentation":"

The SSID of the Wi-Fi network.

" + }, + "SecurityType":{ + "shape":"NetworkSecurityType", + "documentation":"

The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE, WPA2_PSK, WPA_PSK, WEP, or OPEN.

" + }, + "EapMethod":{ + "shape":"NetworkEapMethod", + "documentation":"

The authentication standard that is used in the EAP framework. Currently, EAP_TLS is supported.

" + }, + "CurrentPassword":{ + "shape":"CurrentWiFiPassword", + "documentation":"

The current password of the Wi-Fi network.

" + }, + "NextPassword":{ + "shape":"NextWiFiPassword", + "documentation":"

The next, or subsequent, password of the Wi-Fi network. This password is asynchronously transmitted to the device and is used when the password of the network changes to NextPassword.

" + }, + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager (ACM). This is used to issue certificates to the devices.

" + }, + "TrustAnchors":{ + "shape":"TrustAnchorList", + "documentation":"

The root certificates of your authentication server that is installed on your devices and used to trust your authentication server during EAP negotiation.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + } + } + }, + "CreateNetworkProfileResponse":{ + "type":"structure", + "members":{ + "NetworkProfileArn":{ + "shape":"Arn", + "documentation":"

The ARN of the network profile associated with a device.

" + } + } + }, "CreateProfileRequest":{ "type":"structure", "required":[ @@ -1567,6 +2253,21 @@ } } }, + "CurrentWiFiPassword":{ + "type":"string", + "max":128, + "min":5, + "pattern":"[\\x00-\\x7F]*", + "sensitive":true + }, + "CustomerS3BucketName":{ + "type":"string", + "pattern":"[a-z0-9-\\.]{3,63}" + }, + "Date":{ + "type":"string", + "pattern":"^\\d{4}\\-(0?[1-9]|1[012])\\-(0?[1-9]|[12][0-9]|3[01])$" + }, "DeleteAddressBookRequest":{ "type":"structure", "required":["AddressBookArn"], @@ -1582,6 +2283,21 @@ "members":{ } }, + "DeleteBusinessReportScheduleRequest":{ + "type":"structure", + "required":["ScheduleArn"], + "members":{ + "ScheduleArn":{ + "shape":"Arn", + "documentation":"

The ARN of the business report schedule.

" + } + } + }, + "DeleteBusinessReportScheduleResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteConferenceProviderRequest":{ "type":"structure", "required":["ConferenceProviderArn"], @@ -1627,6 +2343,58 @@ "members":{ } }, + "DeleteDeviceUsageDataRequest":{ + "type":"structure", + "required":[ + "DeviceArn", + "DeviceUsageType" + ], + "members":{ + "DeviceArn":{ + "shape":"Arn", + "documentation":"

The ARN of the device.

" + }, + "DeviceUsageType":{ + "shape":"DeviceUsageType", + "documentation":"

The type of usage data to delete.

" + } + } + }, + "DeleteDeviceUsageDataResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteGatewayGroupRequest":{ + "type":"structure", + "required":["GatewayGroupArn"], + "members":{ + "GatewayGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of the gateway group to delete.

" + } + } + }, + "DeleteGatewayGroupResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteNetworkProfileRequest":{ + "type":"structure", + "required":["NetworkProfileArn"], + "members":{ + "NetworkProfileArn":{ + "shape":"Arn", + "documentation":"

The ARN of the network profile associated with a device.

" + } + } + }, + "DeleteNetworkProfileResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteProfileRequest":{ "type":"structure", "members":{ @@ -1794,6 +2562,10 @@ "DeviceStatusInfo":{ "shape":"DeviceStatusInfo", "documentation":"

Detailed information about a device's status.

" + }, + "NetworkProfileInfo":{ + "shape":"DeviceNetworkProfileInfo", + "documentation":"

Detailed information about a device's network profile.

" } }, "documentation":"

A device with attributes.

" @@ -1829,6 +2601,14 @@ "shape":"DeviceStatus", "documentation":"

The status of a device.

" }, + "NetworkProfileArn":{ + "shape":"Arn", + "documentation":"

The ARN of the network profile associated with a device.

" + }, + "NetworkProfileName":{ + "shape":"NetworkProfileName", + "documentation":"

The name of the network profile associated with a device.

" + }, "RoomArn":{ "shape":"Arn", "documentation":"

The room ARN associated with a device.

" @@ -1860,7 +2640,7 @@ "documentation":"

The value of the event.

" }, "Timestamp":{ - "shape":"Timestamp", + "shape":"DeviceEventTime", "documentation":"

The time (in epoch) when the event occurred.

" } }, @@ -1870,6 +2650,7 @@ "type":"list", "member":{"shape":"DeviceEvent"} }, + "DeviceEventTime":{"type":"timestamp"}, "DeviceEventType":{ "type":"string", "enum":[ @@ -1884,6 +2665,24 @@ "min":2, "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" }, + "DeviceNetworkProfileInfo":{ + "type":"structure", + "members":{ + "NetworkProfileArn":{ + "shape":"Arn", + "documentation":"

The ARN of the network profile associated with a device.

" + }, + "CertificateArn":{ + "shape":"Arn", + "documentation":"

The ARN of the certificate associated with a device.

" + }, + "CertificateExpirationTime":{ + "shape":"CertificateTime", + "documentation":"

The time (in epoch) when the certificate expires.

" + } + }, + "documentation":"

Detailed information about a device's network profile.

" + }, "DeviceNotRegisteredException":{ "type":"structure", "members":{ @@ -1906,12 +2705,17 @@ "READY", "PENDING", "WAS_OFFLINE", - "DEREGISTERED" + "DEREGISTERED", + "FAILED" ] }, "DeviceStatusDetail":{ "type":"structure", "members":{ + "Feature":{ + "shape":"Feature", + "documentation":"

The list of available features on the device.

" + }, "Code":{ "shape":"DeviceStatusDetailCode", "documentation":"

The device status detail code.

" @@ -1923,7 +2727,20 @@ "type":"string", "enum":[ "DEVICE_SOFTWARE_UPDATE_NEEDED", - "DEVICE_WAS_OFFLINE" + "DEVICE_WAS_OFFLINE", + "CREDENTIALS_ACCESS_FAILURE", + "TLS_VERSION_MISMATCH", + "ASSOCIATION_REJECTION", + "AUTHENTICATION_FAILURE", + "DHCP_FAILURE", + "INTERNET_UNAVAILABLE", + "DNS_FAILURE", + "UNKNOWN_FAILURE", + "CERTIFICATE_ISSUING_LIMIT_EXCEEDED", + "INVALID_CERTIFICATE_AUTHORITY", + "NETWORK_PROFILE_NOT_FOUND", + "INVALID_PASSWORD_STATE", + "PASSWORD_NOT_FOUND" ] }, "DeviceStatusDetails":{ @@ -1948,6 +2765,10 @@ "type":"string", "pattern":"[a-zA-Z0-9]{1,200}" }, + "DeviceUsageType":{ + "type":"string", + "enum":["VOICE"] + }, "DisassociateContactFromAddressBookRequest":{ "type":"structure", "required":[ @@ -2003,6 +2824,21 @@ "members":{ } }, + "DisassociateSkillFromUsersRequest":{ + "type":"structure", + "required":["SkillId"], + "members":{ + "SkillId":{ + "shape":"SkillId", + "documentation":"

The private skill ID you want to make unavailable for enrolled users.

" + } + } + }, + "DisassociateSkillFromUsersResponse":{ + "type":"structure", + "members":{ + } + }, "DisassociateSkillGroupFromRoomRequest":{ "type":"structure", "members":{ @@ -2030,7 +2866,8 @@ }, "E164PhoneNumber":{ "type":"string", - "pattern":"^\\+\\d{8,}$" + "pattern":"^\\+\\d{8,}$", + "sensitive":true }, "Email":{ "type":"string", @@ -2082,6 +2919,8 @@ "NOTIFICATIONS", "LISTS", "SKILLS", + "NETWORK_PROFILE", + "SETTINGS", "ALL" ] }, @@ -2125,7 +2964,7 @@ "FilterValueList":{ "type":"list", "member":{"shape":"FilterValue"}, - "max":5 + "max":50 }, "ForgetSmartHomeAppliancesRequest":{ "type":"structure", @@ -2142,6 +2981,130 @@ "members":{ } }, + "Gateway":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

The ARN of the gateway.

" + }, + "Name":{ + "shape":"GatewayName", + "documentation":"

The name of the gateway.

" + }, + "Description":{ + "shape":"GatewayDescription", + "documentation":"

The description of the gateway.

" + }, + "GatewayGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of the gateway group that the gateway is associated to.

" + }, + "SoftwareVersion":{ + "shape":"GatewayVersion", + "documentation":"

The software version of the gateway. The gateway automatically updates its software version during normal operation.

" + } + }, + "documentation":"

The details of the gateway.

" + }, + "GatewayDescription":{ + "type":"string", + "max":200, + "min":0, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "GatewayGroup":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

The ARN of the gateway group.

" + }, + "Name":{ + "shape":"GatewayGroupName", + "documentation":"

The name of the gateway group.

" + }, + "Description":{ + "shape":"GatewayGroupDescription", + "documentation":"

The description of the gateway group.

" + } + }, + "documentation":"

The details of the gateway group.

" + }, + "GatewayGroupDescription":{ + "type":"string", + "max":200, + "min":0 + }, + "GatewayGroupName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "GatewayGroupSummaries":{ + "type":"list", + "member":{"shape":"GatewayGroupSummary"} + }, + "GatewayGroupSummary":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

The ARN of the gateway group.

" + }, + "Name":{ + "shape":"GatewayGroupName", + "documentation":"

The name of the gateway group.

" + }, + "Description":{ + "shape":"GatewayGroupDescription", + "documentation":"

The description of the gateway group.

" + } + }, + "documentation":"

The summary of a gateway group.

" + }, + "GatewayName":{ + "type":"string", + "max":253, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "GatewaySummaries":{ + "type":"list", + "member":{"shape":"GatewaySummary"} + }, + "GatewaySummary":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

The ARN of the gateway.

" + }, + "Name":{ + "shape":"GatewayName", + "documentation":"

The name of the gateway.

" + }, + "Description":{ + "shape":"GatewayDescription", + "documentation":"

The description of the gateway.

" + }, + "GatewayGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of the gateway group that the gateway is associated to.

" + }, + "SoftwareVersion":{ + "shape":"GatewayVersion", + "documentation":"

The software version of the gateway. The gateway automatically updates its software version during normal operation.

" + } + }, + "documentation":"

The summary of a gateway.

" + }, + "GatewayVersion":{ + "type":"string", + "max":50, + "min":1 + }, "GenericKeyword":{"type":"string"}, "GenericKeywords":{ "type":"list", @@ -2236,6 +3199,82 @@ } } }, + "GetGatewayGroupRequest":{ + "type":"structure", + "required":["GatewayGroupArn"], + "members":{ + "GatewayGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of the gateway group to get.

" + } + } + }, + "GetGatewayGroupResponse":{ + "type":"structure", + "members":{ + "GatewayGroup":{"shape":"GatewayGroup"} + } + }, + "GetGatewayRequest":{ + "type":"structure", + "required":["GatewayArn"], + "members":{ + "GatewayArn":{ + "shape":"Arn", + "documentation":"

The ARN of the gateway to get.

" + } + } + }, + "GetGatewayResponse":{ + "type":"structure", + "members":{ + "Gateway":{ + "shape":"Gateway", + "documentation":"

The details of the gateway.

" + } + } + }, + "GetInvitationConfigurationRequest":{ + "type":"structure", + "members":{ + } + }, + "GetInvitationConfigurationResponse":{ + "type":"structure", + "members":{ + "OrganizationName":{ + "shape":"OrganizationName", + "documentation":"

The name of the organization sending the enrollment invite to a user.

" + }, + "ContactEmail":{ + "shape":"Email", + "documentation":"

The email ID of the organization or individual contact that the enrolled user can use.

" + }, + "PrivateSkillIds":{ + "shape":"ShortSkillIdList", + "documentation":"

The list of private skill IDs that you want to recommend to the user to enable in the invitation.

" + } + } + }, + "GetNetworkProfileRequest":{ + "type":"structure", + "required":["NetworkProfileArn"], + "members":{ + "NetworkProfileArn":{ + "shape":"Arn", + "documentation":"

The ARN of the network profile associated with a device.

" + } + } + }, + "GetNetworkProfileResponse":{ + "type":"structure", + "members":{ + "NetworkProfile":{ + "shape":"NetworkProfile", + "documentation":"

The network profile associated with a device.

" + } + } + }, "GetProfileRequest":{ "type":"structure", "members":{ @@ -2355,6 +3394,22 @@ "documentation":"

The device is in an invalid state.

", "exception":true }, + "InvalidSecretsManagerResourceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

A password in SecretsManager is in an invalid state.

", + "exception":true + }, + "InvalidServiceLinkedRoleStateException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The service linked role is locked for deletion.

", + "exception":true + }, "InvalidUserStatusException":{ "type":"structure", "members":{ @@ -2376,6 +3431,32 @@ "documentation":"

You are performing an action that would put you beyond your account's limits.

", "exception":true }, + "ListBusinessReportSchedulesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token used to list the remaining schedules from the previous API call.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of schedules listed in the call.

" + } + } + }, + "ListBusinessReportSchedulesResponse":{ + "type":"structure", + "members":{ + "BusinessReportSchedules":{ + "shape":"BusinessReportScheduleList", + "documentation":"

The schedule of the reports.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token used to list the remaining schedules from the previous API call.

" + } + } + }, "ListConferenceProvidersRequest":{ "type":"structure", "members":{ @@ -2427,13 +3508,69 @@ "ListDeviceEventsResponse":{ "type":"structure", "members":{ - "DeviceEvents":{ - "shape":"DeviceEventList", - "documentation":"

The device events requested for the device ARN.

" + "DeviceEvents":{ + "shape":"DeviceEventList", + "documentation":"

The device events requested for the device ARN.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token returned to indicate that there is more data available.

" + } + } + }, + "ListGatewayGroupsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token used to paginate though multiple pages of gateway group summaries.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of gateway group summaries to return. The default is 50.

" + } + } + }, + "ListGatewayGroupsResponse":{ + "type":"structure", + "members":{ + "GatewayGroups":{ + "shape":"GatewayGroupSummaries", + "documentation":"

The gateway groups in the list.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token used to paginate though multiple pages of gateway group summaries.

" + } + } + }, + "ListGatewaysRequest":{ + "type":"structure", + "members":{ + "GatewayGroupArn":{ + "shape":"Arn", + "documentation":"

The gateway group ARN for which to list gateways.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token used to paginate though multiple pages of gateway summaries.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of gateway summaries to return. The default is 50.

" + } + } + }, + "ListGatewaysResponse":{ + "type":"structure", + "members":{ + "Gateways":{ + "shape":"GatewaySummaries", + "documentation":"

The gateways in the list.

" }, "NextToken":{ "shape":"NextToken", - "documentation":"

The token returned to indicate that there is more data available.

" + "documentation":"

The token used to paginate though multiple pages of gateway summaries.

" } } }, @@ -2594,6 +3731,10 @@ } } }, + "Locale":{ + "type":"string", + "enum":["en-US"] + }, "MacAddress":{"type":"string"}, "MaxResults":{ "type":"integer", @@ -2620,15 +3761,138 @@ "documentation":"

The name sent in the request is already in use.

", "exception":true }, + "NetworkEapMethod":{ + "type":"string", + "enum":["EAP_TLS"] + }, + "NetworkProfile":{ + "type":"structure", + "members":{ + "NetworkProfileArn":{ + "shape":"Arn", + "documentation":"

The ARN of the network profile associated with a device.

" + }, + "NetworkProfileName":{ + "shape":"NetworkProfileName", + "documentation":"

The name of the network profile associated with a device.

" + }, + "Description":{ + "shape":"NetworkProfileDescription", + "documentation":"

Detailed information about a device's network profile.

" + }, + "Ssid":{ + "shape":"NetworkSsid", + "documentation":"

The SSID of the Wi-Fi network.

" + }, + "SecurityType":{ + "shape":"NetworkSecurityType", + "documentation":"

The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE, WPA2_PSK, WPA_PSK, WEP, or OPEN.

" + }, + "EapMethod":{ + "shape":"NetworkEapMethod", + "documentation":"

The authentication standard that is used in the EAP framework. Currently, EAP_TLS is supported.

" + }, + "CurrentPassword":{ + "shape":"CurrentWiFiPassword", + "documentation":"

The current password of the Wi-Fi network.

" + }, + "NextPassword":{ + "shape":"NextWiFiPassword", + "documentation":"

The next, or subsequent, password of the Wi-Fi network. This password is asynchronously transmitted to the device and is used when the password of the network changes to NextPassword.

" + }, + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager (ACM). This is used to issue certificates to the devices.

" + }, + "TrustAnchors":{ + "shape":"TrustAnchorList", + "documentation":"

The root certificates of your authentication server, which is installed on your devices and used to trust your authentication server during EAP negotiation.

" + } + }, + "documentation":"

The network profile associated with a device.

" + }, + "NetworkProfileData":{ + "type":"structure", + "members":{ + "NetworkProfileArn":{ + "shape":"Arn", + "documentation":"

The ARN of the network profile associated with a device.

" + }, + "NetworkProfileName":{ + "shape":"NetworkProfileName", + "documentation":"

The name of the network profile associated with a device.

" + }, + "Description":{ + "shape":"NetworkProfileDescription", + "documentation":"

Detailed information about a device's network profile.

" + }, + "Ssid":{ + "shape":"NetworkSsid", + "documentation":"

The SSID of the Wi-Fi network.

" + }, + "SecurityType":{ + "shape":"NetworkSecurityType", + "documentation":"

The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE, WPA2_PSK, WPA_PSK, WEP, or OPEN.

" + }, + "EapMethod":{ + "shape":"NetworkEapMethod", + "documentation":"

The authentication standard that is used in the EAP framework. Currently, EAP_TLS is supported.

" + }, + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager (ACM). This is used to issue certificates to the devices.

" + } + }, + "documentation":"

The data associated with a network profile.

" + }, + "NetworkProfileDataList":{ + "type":"list", + "member":{"shape":"NetworkProfileData"} + }, + "NetworkProfileDescription":{ + "type":"string", + "max":200, + "min":0, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "NetworkProfileName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "NetworkSecurityType":{ + "type":"string", + "enum":[ + "OPEN", + "WEP", + "WPA_PSK", + "WPA2_PSK", + "WPA2_ENTERPRISE" + ] + }, + "NetworkSsid":{ + "type":"string", + "max":32, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, "NewInThisVersionBulletPoints":{ "type":"list", "member":{"shape":"BulletPoint"} }, "NextToken":{ "type":"string", - "max":1000, + "max":1100, "min":1 }, + "NextWiFiPassword":{ + "type":"string", + "max":128, + "min":0, + "pattern":"(^$)|([\\x00-\\x7F]{5,})", + "sensitive":true + }, "NotFoundException":{ "type":"structure", "members":{ @@ -2647,6 +3911,16 @@ "max":2, "min":1 }, + "OrganizationName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "OutboundPhoneNumber":{ + "type":"string", + "pattern":"\\d{10}" + }, "PSTNDialIn":{ "type":"structure", "required":[ @@ -2661,7 +3935,7 @@ "documentation":"

The zip code.

" }, "PhoneNumber":{ - "shape":"PhoneNumber", + "shape":"OutboundPhoneNumber", "documentation":"

The phone number to call to join the conference.

" }, "OneClickIdDelay":{ @@ -2675,10 +3949,6 @@ }, "documentation":"

The information for public switched telephone network (PSTN) conferencing.

" }, - "PhoneNumber":{ - "type":"string", - "pattern":"\\d{10}" - }, "PrivacyPolicy":{"type":"string"}, "ProductDescription":{"type":"string"}, "ProductId":{ @@ -2807,6 +4077,29 @@ "members":{ } }, + "PutInvitationConfigurationRequest":{ + "type":"structure", + "required":["OrganizationName"], + "members":{ + "OrganizationName":{ + "shape":"OrganizationName", + "documentation":"

The name of the organization sending the enrollment invite to a user.

" + }, + "ContactEmail":{ + "shape":"Email", + "documentation":"

The email ID of the organization or individual contact that the enrolled user can use.

" + }, + "PrivateSkillIds":{ + "shape":"ShortSkillIdList", + "documentation":"

The list of private skill IDs that you want to recommend to the user to enable in the invitation.

" + } + } + }, + "PutInvitationConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, "PutRoomSkillParameterRequest":{ "type":"structure", "required":[ @@ -2958,6 +4251,14 @@ } } }, + "ResourceAssociatedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Another resource is associated with the resource in the request.

", + "exception":true + }, "ResourceInUseException":{ "type":"structure", "members":{ @@ -3096,6 +4397,12 @@ "type":"list", "member":{"shape":"RoomSkillParameter"} }, + "S3KeyPrefix":{ + "type":"string", + "max":100, + "min":0, + "pattern":"[A-Za-z0-9!_\\-\\.\\*'()/]*" + }, "SampleUtterances":{ "type":"list", "member":{"shape":"Utterance"} @@ -3189,11 +4496,11 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

The filters to use to list a specified set of devices. Supported filter keys are DeviceName, DeviceStatus, DeviceStatusDetailCode, RoomName, DeviceType, DeviceSerialNumber, UnassociatedOnly, and ConnectionStatus (ONLINE and OFFLINE).

" + "documentation":"

The filters to use to list a specified set of devices. Supported filter keys are DeviceName, DeviceStatus, DeviceStatusDetailCode, RoomName, DeviceType, DeviceSerialNumber, UnassociatedOnly, ConnectionStatus (ONLINE and OFFLINE), NetworkProfileName, NetworkProfileArn, Feature, and FailureCode.

" }, "SortCriteria":{ "shape":"SortList", - "documentation":"

The sort order to use in listing the specified set of devices. Supported sort keys are DeviceName, DeviceStatus, RoomName, DeviceType, DeviceSerialNumber, and ConnectionStatus.

" + "documentation":"

The sort order to use in listing the specified set of devices. Supported sort keys are DeviceName, DeviceStatus, RoomName, DeviceType, DeviceSerialNumber, ConnectionStatus, NetworkProfileName, NetworkProfileArn, Feature, and FailureCode.

" } } }, @@ -3214,6 +4521,44 @@ } } }, + "SearchNetworkProfilesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters to use to list a specified set of network profiles. Valid filters are NetworkProfileName, Ssid, and SecurityType.

" + }, + "SortCriteria":{ + "shape":"SortList", + "documentation":"

The sort order to use to list the specified set of network profiles. Valid sort criteria includes NetworkProfileName, Ssid, and SecurityType.

" + } + } + }, + "SearchNetworkProfilesResponse":{ + "type":"structure", + "members":{ + "NetworkProfiles":{ + "shape":"NetworkProfileDataList", + "documentation":"

The network profiles that meet the specified set of filter criteria, in sort order. It is a list of NetworkProfileData objects.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

" + }, + "TotalCount":{ + "shape":"TotalCount", + "documentation":"

The total number of network profiles returned.

" + } + } + }, "SearchProfilesRequest":{ "type":"structure", "members":{ @@ -3366,6 +4711,42 @@ } } }, + "SendAnnouncementRequest":{ + "type":"structure", + "required":[ + "RoomFilters", + "Content", + "ClientRequestToken" + ], + "members":{ + "RoomFilters":{ + "shape":"FilterList", + "documentation":"

The filters to use to send an announcement to a specified list of rooms. The supported filter keys are RoomName, ProfileName, RoomArn, and ProfileArn. To send to all rooms, specify an empty RoomFilters list.

" + }, + "Content":{ + "shape":"Content", + "documentation":"

The announcement content. This can contain only one of the three possible announcement types (text, SSML or audio).

" + }, + "TimeToLiveInSeconds":{ + "shape":"TimeToLiveInSeconds", + "documentation":"

The time to live for an announcement. Default is 300. If delivery doesn't occur within this time, the announcement is not delivered.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

The unique, user-specified identifier for the request that ensures idempotency.

", + "idempotencyToken":true + } + } + }, + "SendAnnouncementResponse":{ + "type":"structure", + "members":{ + "AnnouncementArn":{ + "shape":"Arn", + "documentation":"

The identifier of the announcement.

" + } + } + }, "SendInvitationRequest":{ "type":"structure", "members":{ @@ -3381,6 +4762,12 @@ } }, "ShortDescription":{"type":"string"}, + "ShortSkillIdList":{ + "type":"list", + "member":{"shape":"SkillId"}, + "max":3, + "min":0 + }, "SkillDetails":{ "type":"structure", "members":{ @@ -3494,6 +4881,14 @@ "min":1, "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" }, + "SkillNotLinkedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The skill must be linked to a third-party account.

", + "exception":true + }, "SkillStoreType":{"type":"string"}, "SkillSummary":{ "type":"structure", @@ -3643,6 +5038,35 @@ "DESC" ] }, + "Ssml":{ + "type":"structure", + "required":[ + "Locale", + "Value" + ], + "members":{ + "Locale":{ + "shape":"Locale", + "documentation":"

The locale of the SSML message. Currently, en-US is supported.

" + }, + "Value":{ + "shape":"SsmlValue", + "documentation":"

The value of the SSML message in the correct SSML format. The audio tag is not supported.

" + } + }, + "documentation":"

The SSML message. For more information, see SSML Reference.

" + }, + "SsmlList":{ + "type":"list", + "member":{"shape":"Ssml"}, + "max":1 + }, + "SsmlValue":{ + "type":"string", + "max":4096, + "min":0, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, "StartDeviceSyncRequest":{ "type":"structure", "required":["Features"], @@ -3748,13 +5172,56 @@ "CELSIUS" ] }, - "Timestamp":{"type":"timestamp"}, + "Text":{ + "type":"structure", + "required":[ + "Locale", + "Value" + ], + "members":{ + "Locale":{ + "shape":"Locale", + "documentation":"

The locale of the text message. Currently, en-US is supported.

" + }, + "Value":{ + "shape":"TextValue", + "documentation":"

The value of the text message.

" + } + }, + "documentation":"

The text message.

" + }, + "TextList":{ + "type":"list", + "member":{"shape":"Text"}, + "max":1 + }, + "TextValue":{ + "type":"string", + "max":4096, + "min":0, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "TimeToLiveInSeconds":{ + "type":"integer", + "max":3600, + "min":1 + }, "Timezone":{ "type":"string", "max":100, "min":1 }, "TotalCount":{"type":"integer"}, + "TrustAnchor":{ + "type":"string", + "pattern":"-{5}BEGIN CERTIFICATE-{5}\\u000D?\\u000A([A-Za-z0-9/+]{64}\\u000D?\\u000A)*[A-Za-z0-9/+]{1,64}={0,2}\\u000D?\\u000A-{5}END CERTIFICATE-{5}(\\u000D?\\u000A)?" + }, + "TrustAnchorList":{ + "type":"list", + "member":{"shape":"TrustAnchor"}, + "max":5, + "min":1 + }, "UnauthorizedException":{ "type":"structure", "members":{ @@ -3808,6 +5275,41 @@ "members":{ } }, + "UpdateBusinessReportScheduleRequest":{ + "type":"structure", + "required":["ScheduleArn"], + "members":{ + "ScheduleArn":{ + "shape":"Arn", + "documentation":"

The ARN of the business report schedule.

" + }, + "S3BucketName":{ + "shape":"CustomerS3BucketName", + "documentation":"

The S3 location of the output reports.

" + }, + "S3KeyPrefix":{ + "shape":"S3KeyPrefix", + "documentation":"

The S3 key where the report is delivered.

" + }, + "Format":{ + "shape":"BusinessReportFormat", + "documentation":"

The format of the generated report (individual CSV files or zipped files of individual files).

" + }, + "ScheduleName":{ + "shape":"BusinessReportScheduleName", + "documentation":"

The name identifier of the schedule.

" + }, + "Recurrence":{ + "shape":"BusinessReportRecurrence", + "documentation":"

The recurrence of the reports.

" + } + } + }, + "UpdateBusinessReportScheduleResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateConferenceProviderRequest":{ "type":"structure", "required":[ @@ -3892,6 +5394,95 @@ "members":{ } }, + "UpdateGatewayGroupRequest":{ + "type":"structure", + "required":["GatewayGroupArn"], + "members":{ + "GatewayGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of the gateway group to update.

" + }, + "Name":{ + "shape":"GatewayGroupName", + "documentation":"

The updated name of the gateway group.

" + }, + "Description":{ + "shape":"GatewayGroupDescription", + "documentation":"

The updated description of the gateway group.

" + } + } + }, + "UpdateGatewayGroupResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateGatewayRequest":{ + "type":"structure", + "required":["GatewayArn"], + "members":{ + "GatewayArn":{ + "shape":"Arn", + "documentation":"

The ARN of the gateway to update.

" + }, + "Name":{ + "shape":"GatewayName", + "documentation":"

The updated name of the gateway.

" + }, + "Description":{ + "shape":"GatewayDescription", + "documentation":"

The updated description of the gateway.

" + }, + "SoftwareVersion":{ + "shape":"GatewayVersion", + "documentation":"

The updated software version of the gateway. The gateway automatically updates its software version during normal operation.

" + } + } + }, + "UpdateGatewayResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateNetworkProfileRequest":{ + "type":"structure", + "required":["NetworkProfileArn"], + "members":{ + "NetworkProfileArn":{ + "shape":"Arn", + "documentation":"

The ARN of the network profile associated with a device.

" + }, + "NetworkProfileName":{ + "shape":"NetworkProfileName", + "documentation":"

The name of the network profile associated with a device.

" + }, + "Description":{ + "shape":"NetworkProfileDescription", + "documentation":"

Detailed information about a device's network profile.

" + }, + "CurrentPassword":{ + "shape":"CurrentWiFiPassword", + "documentation":"

The current password of the Wi-Fi network.

" + }, + "NextPassword":{ + "shape":"NextWiFiPassword", + "documentation":"

The next, or subsequent, password of the Wi-Fi network. This password is asynchronously transmitted to the device and is used when the password of the network changes to NextPassword.

" + }, + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager (ACM). This is used to issue certificates to the devices.

" + }, + "TrustAnchors":{ + "shape":"TrustAnchorList", + "documentation":"

The root certificate(s) of your authentication server that will be installed on your devices and used to trust your authentication server during EAP negotiation.

" + } + } + }, + "UpdateNetworkProfileResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateProfileRequest":{ "type":"structure", "members":{ @@ -4076,5 +5667,5 @@ "pattern":"[a-zA-Z0-9@_+.-]*" } }, - "documentation":"

Alexa for Business helps you use Alexa in your organization. Alexa for Business provides the tools you to manage Alexa devices, enroll your users, and assign skills, at scale. You can build your own context-aware voice skills using the Alexa Skills Kit and the Alexa for Business API operations. You can also make these available as private skills for your organization. Alexa for Business makes it efficient to voice-enable your products and services, thus providing context-aware voice experiences for your customers. In addition, Alexa for Business enables Alexa Voice Services (AVS) device manufacturers to centrally deploy and manage their devices in Alexa for Business as shared devices as a part of their existing management flow.

" + "documentation":"

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

" } diff --git a/bin/botocore/data/amplify/2017-07-25/paginators-1.json b/bin/botocore/data/amplify/2017-07-25/paginators-1.json index ea142457..f84208e9 100644 --- a/bin/botocore/data/amplify/2017-07-25/paginators-1.json +++ b/bin/botocore/data/amplify/2017-07-25/paginators-1.json @@ -1,3 +1,28 @@ { - "pagination": {} + "pagination": { + "ListApps": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "apps" + }, + "ListBranches": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "branches" + }, + "ListDomainAssociations": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "domainAssociations" + }, + "ListJobs": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "jobSummaries" + } + } } diff --git a/bin/botocore/data/apigateway/2015-07-09/paginators-1.json b/bin/botocore/data/apigateway/2015-07-09/paginators-1.json index c7a44f17..221e0489 100644 --- a/bin/botocore/data/apigateway/2015-07-09/paginators-1.json +++ b/bin/botocore/data/apigateway/2015-07-09/paginators-1.json @@ -71,6 +71,42 @@ "limit_key": "limit", "output_token": "position", "result_key": "items" + }, + "GetAuthorizers": { + "input_token": "position", + "limit_key": "limit", + "output_token": "position", + "result_key": "items" + }, + "GetDocumentationParts": { + "input_token": "position", + "limit_key": "limit", + "output_token": "position", + "result_key": "items" + }, + "GetDocumentationVersions": { + "input_token": "position", + "limit_key": "limit", + "output_token": "position", + "result_key": "items" + }, + "GetGatewayResponses": { + "input_token": "position", + "limit_key": "limit", + "output_token": "position", + "result_key": "items" + }, + "GetRequestValidators": { + "input_token": "position", + "limit_key": "limit", + "output_token": "position", + "result_key": "items" + }, + "GetSdkTypes": { + "input_token": "position", + "limit_key": "limit", + "output_token": "position", + "result_key": "items" } } } diff --git a/bin/botocore/data/apigateway/2015-07-09/service-2.json b/bin/botocore/data/apigateway/2015-07-09/service-2.json index bed54532..126924b9 100644 --- a/bin/botocore/data/apigateway/2015-07-09/service-2.json +++ b/bin/botocore/data/apigateway/2015-07-09/service-2.json @@ -2059,6 +2059,10 @@ "stageKeys":{ "shape":"ListOfString", "documentation":"

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

" + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

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

" } }, "documentation":"

A resource that can be distributed to callers for executing Method resources that require an API key. API keys can be mapped to any Stage on any RestApi, which indicates that the callers with the API key can make requests to that stage.

" @@ -2299,6 +2303,10 @@ "expirationDate":{ "shape":"Timestamp", "documentation":"

The timestamp when the client certificate will expire.

" + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

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

" } }, "documentation":"

Represents a client certificate used to configure client-side SSL authentication while sending requests to the integration endpoint.

Client certificates are used to authenticate an API by the backend server. To authenticate an API client (or user), use IAM roles and policies, a custom Authorizer or an Amazon Cognito user pool.
" @@ -2368,6 +2376,10 @@ "customerId":{ "shape":"String", "documentation":"

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

" + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

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

" } }, "documentation":"

Request to create an ApiKey resource.

" @@ -2590,6 +2602,10 @@ "endpointConfiguration":{ "shape":"EndpointConfiguration", "documentation":"

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

" + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

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

" } }, "documentation":"

A request to create a new domain name.

" @@ -2718,6 +2734,10 @@ "policy":{ "shape":"String", "documentation":"A stringified JSON policy document that applies to this RestApi regardless of the caller and Method configuration." + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

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

" } }, "documentation":"

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

" @@ -2827,6 +2847,10 @@ "quota":{ "shape":"QuotaSettings", "documentation":"

The quota of the usage plan.

" + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

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

" } }, "documentation":"

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

" @@ -2849,6 +2873,10 @@ "targetArns":{ "shape":"ListOfString", "documentation":"

[Required] The ARNs of network load balancers of the VPC targeted by the VPC link. The network load balancers must be owned by the same AWS account of the API owner.

" + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

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

" } }, "documentation":"

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

" @@ -3523,6 +3551,10 @@ "endpointConfiguration":{ "shape":"EndpointConfiguration", "documentation":"

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

" + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

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

" } }, "documentation":"

Represents a custom domain name as a user-friendly host name of an API (RestApi).

When you deploy an API, API Gateway creates a default host name for the API. This default API host name is of the {restapi-id}.execute-api.{region}.amazonaws.com format. With the default host name, you can access the API's root resource with the URL of https://{restapi-id}.execute-api.{region}.amazonaws.com/{stage}/. When you set up a custom domain name of apis.example.com for this API, you can then access the same resource using the URL of the https://apis.examples.com/myApi, where myApi is the base path mapping (BasePathMapping) of your API under the custom domain name.

" @@ -3695,6 +3727,10 @@ "description":{ "shape":"String", "documentation":"

The description of the ClientCertificate.

" + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

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

" } }, "documentation":"

A request to generate a ClientCertificate resource.

" @@ -5859,6 +5895,10 @@ "policy":{ "shape":"String", "documentation":"A stringified JSON policy document that applies to this RestApi regardless of the caller and Method configuration." + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

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

" } }, "documentation":"

Represents a REST API.

" @@ -6943,6 +6983,10 @@ "productCode":{ "shape":"String", "documentation":"

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

" + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

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

" } }, "documentation":"

Represents a usage plan than can specify who can assess associated API stages with specified request limits and quotas.

In a usage plan, you associate an API by specifying the API's Id and a stage name of the specified API. You add plan customers by adding API keys to the plan.

" @@ -7019,6 +7063,10 @@ "statusMessage":{ "shape":"String", "documentation":"

A description about the VPC link status.

" + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

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

" } }, "documentation":"

A API Gateway VPC link for a RestApi to access resources in an Amazon Virtual Private Cloud (VPC).

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

" diff --git a/bin/botocore/data/apigatewaymanagementapi/2018-11-29/paginators-1.json b/bin/botocore/data/apigatewaymanagementapi/2018-11-29/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/bin/botocore/data/apigatewaymanagementapi/2018-11-29/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/bin/botocore/data/apigatewaymanagementapi/2018-11-29/service-2.json b/bin/botocore/data/apigatewaymanagementapi/2018-11-29/service-2.json new file mode 100644 index 00000000..eea6c940 --- /dev/null +++ b/bin/botocore/data/apigatewaymanagementapi/2018-11-29/service-2.json @@ -0,0 +1,109 @@ +{ + "metadata" : { + "apiVersion" : "2018-11-29", + "endpointPrefix" : "execute-api", + "signingName" : "execute-api", + "serviceFullName" : "AmazonApiGatewayManagementApi", + "serviceId" : "ApiGatewayManagementApi", + "protocol" : "rest-json", + "jsonVersion" : "1.1", + "uid" : "apigatewaymanagementapi-2018-11-29", + "signatureVersion" : "v4" + }, + "operations" : { + "PostToConnection" : { + "name" : "PostToConnection", + "http" : { + "method" : "POST", + "requestUri" : "/@connections/{connectionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "PostToConnectionRequest" + }, + "errors" : [ { + "shape" : "GoneException", + "documentation" : "

The connection with the provided id no longer exists.

" + }, { + "shape" : "LimitExceededException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of time.

" + }, { + "shape" : "PayloadTooLargeException", + "documentation" : "

The data has exceeded the maximum size allowed.

" + }, { + "shape" : "ForbiddenException", + "documentation" : "

The caller is not authorized to invoke this operation.

" + } ], + "documentation" : "

Sends the provided data to the specified connection.

" + } + }, + "shapes" : { + "Data" : { + "type" : "blob", + "max" : 131072, + "documentation" : "

The data to be sent to the client specified by its connection id.

" + }, + "ForbiddenException" : { + "type" : "structure", + "members" : { }, + "exception" : true, + "error" : { + "httpStatusCode" : 403 + }, + "documentation" : "

The caller is not authorized to invoke this operation.

" + }, + "GoneException" : { + "type" : "structure", + "members" : { }, + "exception" : true, + "error" : { + "httpStatusCode" : 410 + }, + "documentation" : "

The connection with the provided id no longer exists.

" + }, + "LimitExceededException" : { + "type" : "structure", + "members" : { }, + "exception" : true, + "error" : { + "httpStatusCode" : 429 + }, + "documentation" : "

The client is sending more than the allowed number of requests per unit of time.

" + }, + "PayloadTooLargeException" : { + "type" : "structure", + "members" : { + "Message" : { + "shape" : "__string", + "locationName" : "message" + } + }, + "exception" : true, + "error" : { + "httpStatusCode" : 413 + }, + "documentation" : "

The data has exceeded the maximum size allowed.

" + }, + "PostToConnectionRequest" : { + "type" : "structure", + "members" : { + "Data" : { + "shape" : "Data", + "documentation" : "

The data to be sent to the client specified by its connection id.

" + }, + "ConnectionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "connectionId", + "documentation" : "

The identifier of the connection that a specific client is using.

" + } + }, + "required" : [ "ConnectionId", "Data" ], + "payload" : "Data" + }, + "__string" : { + "type" : "string" + } + }, + "documentation" : "

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

" +} diff --git a/bin/botocore/data/apigatewayv2/2018-11-29/paginators-1.json b/bin/botocore/data/apigatewayv2/2018-11-29/paginators-1.json new file mode 100644 index 00000000..2f57dd2c --- /dev/null +++ b/bin/botocore/data/apigatewayv2/2018-11-29/paginators-1.json @@ -0,0 +1,64 @@ +{ + "pagination": { + "GetApis": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Items" + }, + "GetAuthorizers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Items" + }, + "GetDeployments": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Items" + }, + "GetDomainNames": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Items" + }, + "GetIntegrationResponses": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Items" + }, + "GetIntegrations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Items" + }, + "GetModels": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Items" + }, + "GetRouteResponses": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Items" + }, + "GetRoutes": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Items" + }, + "GetStages": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Items" + } + } +} diff --git a/bin/botocore/data/apigatewayv2/2018-11-29/service-2.json b/bin/botocore/data/apigatewayv2/2018-11-29/service-2.json new file mode 100644 index 00000000..d8b06e1a --- /dev/null +++ b/bin/botocore/data/apigatewayv2/2018-11-29/service-2.json @@ -0,0 +1,6674 @@ +{ + "metadata" : { + "apiVersion" : "2018-11-29", + "endpointPrefix" : "apigateway", + "signingName" : "apigateway", + "serviceFullName" : "AmazonApiGatewayV2", + "serviceId" : "ApiGatewayV2", + "protocol" : "rest-json", + "jsonVersion" : "1.1", + "uid" : "apigatewayv2-2018-11-29", + "signatureVersion" : "v4" + }, + "operations" : { + "CreateApi" : { + "name" : "CreateApi", + "http" : { + "method" : "POST", + "requestUri" : "/v2/apis", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateApiRequest" + }, + "output" : { + "shape" : "CreateApiResponse", + "documentation" : "

The request has succeeded and has resulted in the creation of a resource.

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + }, { + "shape" : "ConflictException", + "documentation" : "

The resource already exists.

" + } ], + "documentation" : "

Creates an Api resource.

" + }, + "CreateApiMapping" : { + "name" : "CreateApiMapping", + "http" : { + "method" : "POST", + "requestUri" : "/v2/domainnames/{domainName}/apimappings", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateApiMappingRequest" + }, + "output" : { + "shape" : "CreateApiMappingResponse", + "documentation" : "

The request has succeeded and has resulted in the creation of a resource.

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + }, { + "shape" : "ConflictException", + "documentation" : "

The resource already exists.

" + } ], + "documentation" : "

Creates an API mapping.

" + }, + "CreateAuthorizer" : { + "name" : "CreateAuthorizer", + "http" : { + "method" : "POST", + "requestUri" : "/v2/apis/{apiId}/authorizers", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateAuthorizerRequest" + }, + "output" : { + "shape" : "CreateAuthorizerResponse", + "documentation" : "

The request has succeeded and has resulted in the creation of a resource.

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + }, { + "shape" : "ConflictException", + "documentation" : "

The resource already exists.

" + } ], + "documentation" : "

Creates an Authorizer for an API.

" + }, + "CreateDeployment" : { + "name" : "CreateDeployment", + "http" : { + "method" : "POST", + "requestUri" : "/v2/apis/{apiId}/deployments", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateDeploymentRequest" + }, + "output" : { + "shape" : "CreateDeploymentResponse", + "documentation" : "

The request has succeeded and has resulted in the creation of a resource.

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + }, { + "shape" : "ConflictException", + "documentation" : "

The resource already exists.

" + } ], + "documentation" : "

Creates a Deployment for an API.

" + }, + "CreateDomainName" : { + "name" : "CreateDomainName", + "http" : { + "method" : "POST", + "requestUri" : "/v2/domainnames", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateDomainNameRequest" + }, + "output" : { + "shape" : "CreateDomainNameResponse", + "documentation" : "

The request has succeeded and has resulted in the creation of a resource.

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + }, { + "shape" : "ConflictException", + "documentation" : "

The resource already exists.

" + } ], + "documentation" : "

Creates a domain name.

" + }, + "CreateIntegration" : { + "name" : "CreateIntegration", + "http" : { + "method" : "POST", + "requestUri" : "/v2/apis/{apiId}/integrations", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateIntegrationRequest" + }, + "output" : { + "shape" : "CreateIntegrationResponse", + "documentation" : "

The request has succeeded and has resulted in the creation of a resource.

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + }, { + "shape" : "ConflictException", + "documentation" : "

The resource already exists.

" + } ], + "documentation" : "

Creates an Integration.

" + }, + "CreateIntegrationResponse" : { + "name" : "CreateIntegrationResponse", + "http" : { + "method" : "POST", + "requestUri" : "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateIntegrationResponseRequest" + }, + "output" : { + "shape" : "CreateIntegrationResponseResponse", + "documentation" : "

The request has succeeded and has resulted in the creation of a resource.

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + }, { + "shape" : "ConflictException", + "documentation" : "

The resource already exists.

" + } ], + "documentation" : "

Creates an IntegrationResponses.

" + }, + "CreateModel" : { + "name" : "CreateModel", + "http" : { + "method" : "POST", + "requestUri" : "/v2/apis/{apiId}/models", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateModelRequest" + }, + "output" : { + "shape" : "CreateModelResponse", + "documentation" : "

The request has succeeded and has resulted in the creation of a resource.

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + }, { + "shape" : "ConflictException", + "documentation" : "

The resource already exists.

" + } ], + "documentation" : "

Creates a Model for an API.

" + }, + "CreateRoute" : { + "name" : "CreateRoute", + "http" : { + "method" : "POST", + "requestUri" : "/v2/apis/{apiId}/routes", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateRouteRequest" + }, + "output" : { + "shape" : "CreateRouteResponse", + "documentation" : "

The request has succeeded and has resulted in the creation of a resource.

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + }, { + "shape" : "ConflictException", + "documentation" : "

The resource already exists.

" + } ], + "documentation" : "

Creates a Route for an API.

" + }, + "CreateRouteResponse" : { + "name" : "CreateRouteResponse", + "http" : { + "method" : "POST", + "requestUri" : "/v2/apis/{apiId}/routes/{routeId}/routeresponses", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateRouteResponseRequest" + }, + "output" : { + "shape" : "CreateRouteResponseResponse", + "documentation" : "

The request has succeeded and has resulted in the creation of a resource.

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + }, { + "shape" : "ConflictException", + "documentation" : "

The resource already exists.

" + } ], + "documentation" : "

Creates a RouteResponse for a Route.

" + }, + "CreateStage" : { + "name" : "CreateStage", + "http" : { + "method" : "POST", + "requestUri" : "/v2/apis/{apiId}/stages", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateStageRequest" + }, + "output" : { + "shape" : "CreateStageResponse", + "documentation" : "

The request has succeeded and has resulted in the creation of a resource.

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + }, { + "shape" : "ConflictException", + "documentation" : "

The resource already exists.

" + } ], + "documentation" : "

Creates a Stage for an API.

" + }, + "DeleteApi" : { + "name" : "DeleteApi", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/apis/{apiId}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteApiRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + } ], + "documentation" : "

Deletes an Api resource.

" + }, + "DeleteApiMapping" : { + "name" : "DeleteApiMapping", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/domainnames/{domainName}/apimappings/{apiMappingId}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteApiMappingRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

Deletes an API mapping.

" + }, + "DeleteAuthorizer" : { + "name" : "DeleteAuthorizer", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/apis/{apiId}/authorizers/{authorizerId}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteAuthorizerRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + } ], + "documentation" : "

Deletes an Authorizer.

" + }, + "DeleteDeployment" : { + "name" : "DeleteDeployment", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/apis/{apiId}/deployments/{deploymentId}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteDeploymentRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + } ], + "documentation" : "

Deletes a Deployment.

" + }, + "DeleteDomainName" : { + "name" : "DeleteDomainName", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/domainnames/{domainName}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteDomainNameRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + } ], + "documentation" : "

Deletes a domain name.

" + }, + "DeleteIntegration" : { + "name" : "DeleteIntegration", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/apis/{apiId}/integrations/{integrationId}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteIntegrationRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + } ], + "documentation" : "

Deletes an Integration.

" + }, + "DeleteIntegrationResponse" : { + "name" : "DeleteIntegrationResponse", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteIntegrationResponseRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + } ], + "documentation" : "

Deletes an IntegrationResponses.

" + }, + "DeleteModel" : { + "name" : "DeleteModel", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/apis/{apiId}/models/{modelId}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteModelRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + } ], + "documentation" : "

Deletes a Model.

" + }, + "DeleteRoute" : { + "name" : "DeleteRoute", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/apis/{apiId}/routes/{routeId}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteRouteRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + } ], + "documentation" : "

Deletes a Route.

" + }, + "DeleteRouteResponse" : { + "name" : "DeleteRouteResponse", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteRouteResponseRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + } ], + "documentation" : "

Deletes a RouteResponse.

" + }, + "DeleteStage" : { + "name" : "DeleteStage", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/apis/{apiId}/stages/{stageName}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteStageRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + } ], + "documentation" : "

Deletes a Stage.

" + }, + "GetApi" : { + "name" : "GetApi", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetApiRequest" + }, + "output" : { + "shape" : "GetApiResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + } ], + "documentation" : "

Gets an Api resource.

" + }, + "GetApiMapping" : { + "name" : "GetApiMapping", + "http" : { + "method" : "GET", + "requestUri" : "/v2/domainnames/{domainName}/apimappings/{apiMappingId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetApiMappingRequest" + }, + "output" : { + "shape" : "GetApiMappingResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

The API mapping.

" + }, + "GetApiMappings" : { + "name" : "GetApiMappings", + "http" : { + "method" : "GET", + "requestUri" : "/v2/domainnames/{domainName}/apimappings", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetApiMappingsRequest" + }, + "output" : { + "shape" : "GetApiMappingsResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

The API mappings.

" + }, + "GetApis" : { + "name" : "GetApis", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetApisRequest" + }, + "output" : { + "shape" : "GetApisResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

Gets a collection of Api resources.

" + }, + "GetAuthorizer" : { + "name" : "GetAuthorizer", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/authorizers/{authorizerId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetAuthorizerRequest" + }, + "output" : { + "shape" : "GetAuthorizerResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + } ], + "documentation" : "

Gets an Authorizer.

" + }, + "GetAuthorizers" : { + "name" : "GetAuthorizers", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/authorizers", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetAuthorizersRequest" + }, + "output" : { + "shape" : "GetAuthorizersResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

Gets the Authorizers for an API.

" + }, + "GetDeployment" : { + "name" : "GetDeployment", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/deployments/{deploymentId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetDeploymentRequest" + }, + "output" : { + "shape" : "GetDeploymentResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + } ], + "documentation" : "

Gets a Deployment.

" + }, + "GetDeployments" : { + "name" : "GetDeployments", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/deployments", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetDeploymentsRequest" + }, + "output" : { + "shape" : "GetDeploymentsResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

Gets the Deployments for an API.

" + }, + "GetDomainName" : { + "name" : "GetDomainName", + "http" : { + "method" : "GET", + "requestUri" : "/v2/domainnames/{domainName}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetDomainNameRequest" + }, + "output" : { + "shape" : "GetDomainNameResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + } ], + "documentation" : "

Gets a domain name.

" + }, + "GetDomainNames" : { + "name" : "GetDomainNames", + "http" : { + "method" : "GET", + "requestUri" : "/v2/domainnames", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetDomainNamesRequest" + }, + "output" : { + "shape" : "GetDomainNamesResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

Gets the domain names for an AWS account.

" + }, + "GetIntegration" : { + "name" : "GetIntegration", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/integrations/{integrationId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetIntegrationRequest" + }, + "output" : { + "shape" : "GetIntegrationResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + } ], + "documentation" : "

Gets an Integration.

" + }, + "GetIntegrationResponse" : { + "name" : "GetIntegrationResponse", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetIntegrationResponseRequest" + }, + "output" : { + "shape" : "GetIntegrationResponseResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + } ], + "documentation" : "

Gets an IntegrationResponses.

" + }, + "GetIntegrationResponses" : { + "name" : "GetIntegrationResponses", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetIntegrationResponsesRequest" + }, + "output" : { + "shape" : "GetIntegrationResponsesResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

Gets the IntegrationResponses for an Integration.

" + }, + "GetIntegrations" : { + "name" : "GetIntegrations", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/integrations", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetIntegrationsRequest" + }, + "output" : { + "shape" : "GetIntegrationsResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

Gets the Integrations for an API.

" + }, + "GetModel" : { + "name" : "GetModel", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/models/{modelId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetModelRequest" + }, + "output" : { + "shape" : "GetModelResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + } ], + "documentation" : "

Gets a Model.

" + }, + "GetModelTemplate" : { + "name" : "GetModelTemplate", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/models/{modelId}/template", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetModelTemplateRequest" + }, + "output" : { + "shape" : "GetModelTemplateResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + } ], + "documentation" : "

Gets a model template.

" + }, + "GetModels" : { + "name" : "GetModels", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/models", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetModelsRequest" + }, + "output" : { + "shape" : "GetModelsResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

Gets the Models for an API.

" + }, + "GetRoute" : { + "name" : "GetRoute", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/routes/{routeId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetRouteRequest" + }, + "output" : { + "shape" : "GetRouteResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + } ], + "documentation" : "

Gets a Route.

" + }, + "GetRouteResponse" : { + "name" : "GetRouteResponse", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetRouteResponseRequest" + }, + "output" : { + "shape" : "GetRouteResponseResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + } ], + "documentation" : "

Gets a RouteResponse.

" + }, + "GetRouteResponses" : { + "name" : "GetRouteResponses", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/routes/{routeId}/routeresponses", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetRouteResponsesRequest" + }, + "output" : { + "shape" : "GetRouteResponsesResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

Gets the RouteResponses for a Route.

" + }, + "GetRoutes" : { + "name" : "GetRoutes", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/routes", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetRoutesRequest" + }, + "output" : { + "shape" : "GetRoutesResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

Gets the Routes for an API.

" + }, + "GetStage" : { + "name" : "GetStage", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/stages/{stageName}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetStageRequest" + }, + "output" : { + "shape" : "GetStageResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + } ], + "documentation" : "

Gets a Stage.

" + }, + "GetStages" : { + "name" : "GetStages", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/stages", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetStagesRequest" + }, + "output" : { + "shape" : "GetStagesResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

Gets the Stages for an API.

" + }, + "UpdateApi" : { + "name" : "UpdateApi", + "http" : { + "method" : "PATCH", + "requestUri" : "/v2/apis/{apiId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateApiRequest" + }, + "output" : { + "shape" : "UpdateApiResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + }, { + "shape" : "ConflictException", + "documentation" : "

The resource already exists.

" + } ], + "documentation" : "

Updates an Api resource.

" + }, + "UpdateApiMapping" : { + "name" : "UpdateApiMapping", + "http" : { + "method" : "PATCH", + "requestUri" : "/v2/domainnames/{domainName}/apimappings/{apiMappingId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateApiMappingRequest" + }, + "output" : { + "shape" : "UpdateApiMappingResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + }, { + "shape" : "ConflictException", + "documentation" : "

The resource already exists.

" + } ], + "documentation" : "

The API mapping.

" + }, + "UpdateAuthorizer" : { + "name" : "UpdateAuthorizer", + "http" : { + "method" : "PATCH", + "requestUri" : "/v2/apis/{apiId}/authorizers/{authorizerId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateAuthorizerRequest" + }, + "output" : { + "shape" : "UpdateAuthorizerResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + }, { + "shape" : "ConflictException", + "documentation" : "

The resource already exists.

" + } ], + "documentation" : "

Updates an Authorizer.

" + }, + "UpdateDeployment" : { + "name" : "UpdateDeployment", + "http" : { + "method" : "PATCH", + "requestUri" : "/v2/apis/{apiId}/deployments/{deploymentId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateDeploymentRequest" + }, + "output" : { + "shape" : "UpdateDeploymentResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + }, { + "shape" : "ConflictException", + "documentation" : "

The resource already exists.

" + } ], + "documentation" : "

Updates a Deployment.

" + }, + "UpdateDomainName" : { + "name" : "UpdateDomainName", + "http" : { + "method" : "PATCH", + "requestUri" : "/v2/domainnames/{domainName}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateDomainNameRequest" + }, + "output" : { + "shape" : "UpdateDomainNameResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + }, { + "shape" : "ConflictException", + "documentation" : "

The resource already exists.

" + } ], + "documentation" : "

Updates a domain name.

" + }, + "UpdateIntegration" : { + "name" : "UpdateIntegration", + "http" : { + "method" : "PATCH", + "requestUri" : "/v2/apis/{apiId}/integrations/{integrationId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateIntegrationRequest" + }, + "output" : { + "shape" : "UpdateIntegrationResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + }, { + "shape" : "ConflictException", + "documentation" : "

The resource already exists.

" + } ], + "documentation" : "

Updates an Integration.

" + }, + "UpdateIntegrationResponse" : { + "name" : "UpdateIntegrationResponse", + "http" : { + "method" : "PATCH", + "requestUri" : "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateIntegrationResponseRequest" + }, + "output" : { + "shape" : "UpdateIntegrationResponseResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + }, { + "shape" : "ConflictException", + "documentation" : "

The resource already exists.

" + } ], + "documentation" : "

Updates an IntegrationResponses.

" + }, + "UpdateModel" : { + "name" : "UpdateModel", + "http" : { + "method" : "PATCH", + "requestUri" : "/v2/apis/{apiId}/models/{modelId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateModelRequest" + }, + "output" : { + "shape" : "UpdateModelResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + }, { + "shape" : "ConflictException", + "documentation" : "

The resource already exists.

" + } ], + "documentation" : "

Updates a Model.

" + }, + "UpdateRoute" : { + "name" : "UpdateRoute", + "http" : { + "method" : "PATCH", + "requestUri" : "/v2/apis/{apiId}/routes/{routeId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateRouteRequest" + }, + "output" : { + "shape" : "UpdateRouteResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + }, { + "shape" : "ConflictException", + "documentation" : "

The resource already exists.

" + } ], + "documentation" : "

Updates a Route.

" + }, + "UpdateRouteResponse" : { + "name" : "UpdateRouteResponse", + "http" : { + "method" : "PATCH", + "requestUri" : "/v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateRouteResponseRequest" + }, + "output" : { + "shape" : "UpdateRouteResponseResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + }, { + "shape" : "ConflictException", + "documentation" : "

The resource already exists.

" + } ], + "documentation" : "

Updates a RouteResponse.

" + }, + "UpdateStage" : { + "name" : "UpdateStage", + "http" : { + "method" : "PATCH", + "requestUri" : "/v2/apis/{apiId}/stages/{stageName}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateStageRequest" + }, + "output" : { + "shape" : "UpdateStageResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

The client is sending more than the allowed number of requests per unit of\n time.

" + }, { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

" + }, { + "shape" : "ConflictException", + "documentation" : "

The resource already exists.

" + } ], + "documentation" : "

Updates a Stage.

" + } + }, + "shapes" : { + "AccessLogSettings" : { + "type" : "structure", + "members" : { + "DestinationArn" : { + "shape" : "Arn", + "locationName" : "destinationArn", + "documentation" : "

The ARN of the CloudWatch Logs log group to receive access logs.

" + }, + "Format" : { + "shape" : "StringWithLengthBetween1And1024", + "locationName" : "format", + "documentation" : "

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

" + } + }, + "documentation" : "

Settings for logging access in a stage.

" + }, + "Api" : { + "type" : "structure", + "members" : { + "ApiEndpoint" : { + "shape" : "__string", + "locationName" : "apiEndpoint", + "documentation" : "

The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The\n stage name is typically appended to this URI to form a complete path to a deployed\n API stage.

" + }, + "ApiId" : { + "shape" : "Id", + "locationName" : "apiId", + "documentation" : "

The API ID.

" + }, + "ApiKeySelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "apiKeySelectionExpression", + "documentation" : "

An API key selection expression. See API Key Selection Expressions.

" + }, + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The timestamp when the API was created.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the API.

" + }, + "DisableSchemaValidation" : { + "shape" : "__boolean", + "locationName" : "disableSchemaValidation", + "documentation" : "

Avoid validating models when creating a deployment.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the API.

" + }, + "ProtocolType" : { + "shape" : "ProtocolType", + "locationName" : "protocolType", + "documentation" : "

The API protocol: Currently only WEBSOCKET is supported.

" + }, + "RouteSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeSelectionExpression", + "documentation" : "

The route selection expression for the API.

" + }, + "Version" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "version", + "documentation" : "

A version identifier for the API.

" + }, + "Warnings" : { + "shape" : "__listOf__string", + "locationName" : "warnings", + "documentation" : "

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

" + } + }, + "documentation" : "

Represents an API.

", + "required" : [ "RouteSelectionExpression", "ProtocolType", "Name" ] + }, + "ApiMapping" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "Id", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ApiMappingId" : { + "shape" : "Id", + "locationName" : "apiMappingId", + "documentation" : "

The API mapping identifier.

" + }, + "ApiMappingKey" : { + "shape" : "SelectionKey", + "locationName" : "apiMappingKey", + "documentation" : "

The API mapping key.

" + }, + "Stage" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stage", + "documentation" : "

The API stage.

" + } + }, + "documentation" : "

Represents an API mapping.

", + "required" : [ "Stage", "ApiId" ] + }, + "ApiMappings" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfApiMapping", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + }, + "documentation" : "

Represents a collection of ApiMappings resources.

" + }, + "Apis" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfApi", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + }, + "documentation" : "

Represents a collection of APIs.

" + }, + "Arn" : { + "type" : "string", + "documentation" : "

Represents an Amazon Resource Name (ARN).

" + }, + "AuthorizationScopes" : { + "type" : "list", + "documentation" : "

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

", + "member" : { + "shape" : "StringWithLengthBetween1And64" + } + }, + "AuthorizationType" : { + "type" : "string", + "documentation" : "

The authorization type. Valid values are NONE for open access,\n AWS_IAM for using AWS IAM permissions, and CUSTOM for\n using a Lambda authorizer.

", + "enum" : [ "NONE", "AWS_IAM", "CUSTOM" ] + }, + "Authorizer" : { + "type" : "structure", + "members" : { + "AuthorizerCredentialsArn" : { + "shape" : "Arn", + "locationName" : "authorizerCredentialsArn", + "documentation" : "

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

" + }, + "AuthorizerId" : { + "shape" : "Id", + "locationName" : "authorizerId", + "documentation" : "

The authorizer identifier.

" + }, + "AuthorizerResultTtlInSeconds" : { + "shape" : "IntegerWithLengthBetween0And3600", + "locationName" : "authorizerResultTtlInSeconds", + "documentation" : "

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

" + }, + "AuthorizerType" : { + "shape" : "AuthorizerType", + "locationName" : "authorizerType", + "documentation" : "

The authorizer type. Currently the only valid value is REQUEST, for a\n Lambda function using incoming request parameters.

" + }, + "AuthorizerUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "authorizerUri", + "documentation" : "

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

" + }, + "IdentitySource" : { + "shape" : "IdentitySourceList", + "locationName" : "identitySource", + "documentation" : "

The identity source for which authorization is requested.

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

" + }, + "IdentityValidationExpression" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "identityValidationExpression", + "documentation" : "

The\n validation expression does not apply to the REQUEST authorizer.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the authorizer.

" + }, + "ProviderArns" : { + "shape" : "ProviderArnList", + "locationName" : "providerArns", + "documentation" : "

For\n REQUEST authorizer, this is not\n defined.

" + } + }, + "documentation" : "

Represents an authorizer.

", + "required" : [ "Name" ] + }, + "AuthorizerType" : { + "type" : "string", + "documentation" : "

The authorizer type. Currently the only valid value is REQUEST, for a\n Lambda function using incoming request parameters.

", + "enum" : [ "REQUEST" ] + }, + "Authorizers" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfAuthorizer", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + }, + "documentation" : "

Represents a collection of authorizers.

" + }, + "BadRequestException" : { + "type" : "structure", + "members" : { + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "

Describes the error encountered.

" + } + }, + "documentation" : "

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

", + "exception" : true, + "error" : { + "httpStatusCode" : 400 + } + }, + "ConflictException" : { + "type" : "structure", + "members" : { + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "

Describes the error encountered.

" + } + }, + "documentation" : "

The requested operation would cause a conflict with the current state of a service\n resource associated with the request. Resolve the conflict before retrying this\n request. See the accompanying error message for details.

", + "exception" : true, + "error" : { + "httpStatusCode" : 409 + } + }, + "ConnectionType" : { + "type" : "string", + "documentation" : "

Represents a connection type.

", + "enum" : [ "INTERNET", "VPC_LINK" ] + }, + "ContentHandlingStrategy" : { + "type" : "string", + "documentation" : "

Specifies how to handle response payload content type conversions.

", + "enum" : [ "CONVERT_TO_BINARY", "CONVERT_TO_TEXT" ] + }, + "CreateApiInput" : { + "type" : "structure", + "members" : { + "ApiKeySelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "apiKeySelectionExpression", + "documentation" : "

An API key selection expression. See API Key Selection Expressions.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the API.

" + }, + "DisableSchemaValidation" : { + "shape" : "__boolean", + "locationName" : "disableSchemaValidation", + "documentation" : "

Avoid validating models when creating a deployment.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the API.

" + }, + "ProtocolType" : { + "shape" : "ProtocolType", + "locationName" : "protocolType", + "documentation" : "

The API protocol: Currently only WEBSOCKET is supported.

" + }, + "RouteSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeSelectionExpression", + "documentation" : "

The route selection expression for the API.

" + }, + "Version" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "version", + "documentation" : "

A version identifier for the API.

" + } + }, + "documentation" : "

Represents the input parameters for a CreateApi request.

", + "required" : [ "RouteSelectionExpression", "ProtocolType", "Name" ] + }, + "CreateApiMappingInput" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "Id", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ApiMappingKey" : { + "shape" : "SelectionKey", + "locationName" : "apiMappingKey", + "documentation" : "" + }, + "Stage" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stage", + "documentation" : "

The API stage.

" + } + }, + "documentation" : "

Represents the input parameters for a CreateApiMapping\n request.

", + "required" : [ "Stage", "ApiId" ] + }, + "CreateApiMappingRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "Id", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ApiMappingKey" : { + "shape" : "SelectionKey", + "locationName" : "apiMappingKey", + "documentation" : "" + }, + "DomainName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "domainName", + "documentation" : "

The domain name.

" + }, + "Stage" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stage", + "documentation" : "

The API stage.

" + } + }, + "required" : [ "DomainName", "Stage", "ApiId" ] + }, + "CreateApiMappingResponse" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "Id", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ApiMappingId" : { + "shape" : "Id", + "locationName" : "apiMappingId", + "documentation" : "

The API mapping identifier.

" + }, + "ApiMappingKey" : { + "shape" : "SelectionKey", + "locationName" : "apiMappingKey", + "documentation" : "

The API mapping key.

" + }, + "Stage" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stage", + "documentation" : "

The API stage.

" + } + } + }, + "CreateApiRequest" : { + "type" : "structure", + "members" : { + "ApiKeySelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "apiKeySelectionExpression", + "documentation" : "

An API key selection expression. See API Key Selection Expressions.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the API.

" + }, + "DisableSchemaValidation" : { + "shape" : "__boolean", + "locationName" : "disableSchemaValidation", + "documentation" : "

Avoid validating models when creating a deployment.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the API.

" + }, + "ProtocolType" : { + "shape" : "ProtocolType", + "locationName" : "protocolType", + "documentation" : "

The API protocol: Currently only WEBSOCKET is supported.

" + }, + "RouteSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeSelectionExpression", + "documentation" : "

The route selection expression for the API.

" + }, + "Version" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "version", + "documentation" : "

A version identifier for the API.

" + } + }, + "required" : [ "RouteSelectionExpression", "ProtocolType", "Name" ] + }, + "CreateApiResponse" : { + "type" : "structure", + "members" : { + "ApiEndpoint" : { + "shape" : "__string", + "locationName" : "apiEndpoint", + "documentation" : "

The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The\n stage name is typically appended to this URI to form a complete path to a deployed\n API stage.

" + }, + "ApiId" : { + "shape" : "Id", + "locationName" : "apiId", + "documentation" : "

The API ID.

" + }, + "ApiKeySelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "apiKeySelectionExpression", + "documentation" : "

An API key selection expression. See API Key Selection Expressions.

" + }, + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The timestamp when the API was created.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the API.

" + }, + "DisableSchemaValidation" : { + "shape" : "__boolean", + "locationName" : "disableSchemaValidation", + "documentation" : "

Avoid validating models when creating a deployment.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the API.

" + }, + "ProtocolType" : { + "shape" : "ProtocolType", + "locationName" : "protocolType", + "documentation" : "

The API protocol: Currently only WEBSOCKET is supported.

" + }, + "RouteSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeSelectionExpression", + "documentation" : "

The route selection expression for the API.

" + }, + "Version" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "version", + "documentation" : "

A version identifier for the API.

" + }, + "Warnings" : { + "shape" : "__listOf__string", + "locationName" : "warnings", + "documentation" : "

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

" + } + } + }, + "CreateAuthorizerInput" : { + "type" : "structure", + "members" : { + "AuthorizerCredentialsArn" : { + "shape" : "Arn", + "locationName" : "authorizerCredentialsArn", + "documentation" : "

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

" + }, + "AuthorizerResultTtlInSeconds" : { + "shape" : "IntegerWithLengthBetween0And3600", + "locationName" : "authorizerResultTtlInSeconds", + "documentation" : "

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

" + }, + "AuthorizerType" : { + "shape" : "AuthorizerType", + "locationName" : "authorizerType", + "documentation" : "

The authorizer type. Currently the only valid value is REQUEST, for a\n Lambda function using incoming request parameters.

" + }, + "AuthorizerUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "authorizerUri", + "documentation" : "

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

" + }, + "IdentitySource" : { + "shape" : "IdentitySourceList", + "locationName" : "identitySource", + "documentation" : "

The identity source for which authorization is requested.

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

" + }, + "IdentityValidationExpression" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "identityValidationExpression", + "documentation" : "

The\n validation expression does not apply to the REQUEST authorizer.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the authorizer.

" + }, + "ProviderArns" : { + "shape" : "ProviderArnList", + "locationName" : "providerArns", + "documentation" : "

For\n REQUEST authorizer, this is not\n defined.

" + } + }, + "documentation" : "

Represents the input parameters for a CreateAuthorizer\n request.

", + "required" : [ "AuthorizerUri", "AuthorizerType", "IdentitySource", "Name" ] + }, + "CreateAuthorizerRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "AuthorizerCredentialsArn" : { + "shape" : "Arn", + "locationName" : "authorizerCredentialsArn", + "documentation" : "

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

" + }, + "AuthorizerResultTtlInSeconds" : { + "shape" : "IntegerWithLengthBetween0And3600", + "locationName" : "authorizerResultTtlInSeconds", + "documentation" : "

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

" + }, + "AuthorizerType" : { + "shape" : "AuthorizerType", + "locationName" : "authorizerType", + "documentation" : "

The authorizer type. Currently the only valid value is REQUEST, for a\n Lambda function using incoming request parameters.

" + }, + "AuthorizerUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "authorizerUri", + "documentation" : "

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

" + }, + "IdentitySource" : { + "shape" : "IdentitySourceList", + "locationName" : "identitySource", + "documentation" : "

The identity source for which authorization is requested.

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

" + }, + "IdentityValidationExpression" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "identityValidationExpression", + "documentation" : "

The\n validation expression does not apply to the REQUEST authorizer.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the authorizer.

" + }, + "ProviderArns" : { + "shape" : "ProviderArnList", + "locationName" : "providerArns", + "documentation" : "

For\n REQUEST authorizer, this is not\n defined.

" + } + }, + "required" : [ "ApiId", "AuthorizerUri", "AuthorizerType", "IdentitySource", "Name" ] + }, + "CreateAuthorizerResponse" : { + "type" : "structure", + "members" : { + "AuthorizerCredentialsArn" : { + "shape" : "Arn", + "locationName" : "authorizerCredentialsArn", + "documentation" : "

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

" + }, + "AuthorizerId" : { + "shape" : "Id", + "locationName" : "authorizerId", + "documentation" : "

The authorizer identifier.

" + }, + "AuthorizerResultTtlInSeconds" : { + "shape" : "IntegerWithLengthBetween0And3600", + "locationName" : "authorizerResultTtlInSeconds", + "documentation" : "

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

" + }, + "AuthorizerType" : { + "shape" : "AuthorizerType", + "locationName" : "authorizerType", + "documentation" : "

The authorizer type. Currently the only valid value is REQUEST, for a\n Lambda function using incoming request parameters.

" + }, + "AuthorizerUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "authorizerUri", + "documentation" : "

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

" + }, + "IdentitySource" : { + "shape" : "IdentitySourceList", + "locationName" : "identitySource", + "documentation" : "

The identity source for which authorization is requested.

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

" + }, + "IdentityValidationExpression" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "identityValidationExpression", + "documentation" : "

The\n validation expression does not apply to the REQUEST authorizer.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the authorizer.

" + }, + "ProviderArns" : { + "shape" : "ProviderArnList", + "locationName" : "providerArns", + "documentation" : "

For\n REQUEST authorizer, this is not\n defined.

" + } + } + }, + "CreateDeploymentInput" : { + "type" : "structure", + "members" : { + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description for the deployment resource.

" + }, + "StageName" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stageName", + "documentation" : "

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

" + } + }, + "documentation" : "

Represents the input parameters for a CreateDeployment\n request.

" + }, + "CreateDeploymentRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description for the deployment resource.

" + }, + "StageName" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stageName", + "documentation" : "

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

" + } + }, + "required" : [ "ApiId" ] + }, + "CreateDeploymentResponse" : { + "type" : "structure", + "members" : { + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The date and time when the Deployment resource was created.

" + }, + "DeploymentId" : { + "shape" : "Id", + "locationName" : "deploymentId", + "documentation" : "

The identifier for the deployment.

" + }, + "DeploymentStatus" : { + "shape" : "DeploymentStatus", + "locationName" : "deploymentStatus", + "documentation" : "

The status of the deployment: PENDING, FAILED, or\n SUCCEEDED.

" + }, + "DeploymentStatusMessage" : { + "shape" : "__string", + "locationName" : "deploymentStatusMessage", + "documentation" : "

May contain additional feedback on the status of an API deployment.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description for the deployment.

" + } + } + }, + "CreateDomainNameInput" : { + "type" : "structure", + "members" : { + "DomainName" : { + "shape" : "StringWithLengthBetween1And512", + "locationName" : "domainName", + "documentation" : "

The domain name.

" + }, + "DomainNameConfigurations" : { + "shape" : "DomainNameConfigurations", + "locationName" : "domainNameConfigurations", + "documentation" : "

The domain name configurations.

" + } + }, + "documentation" : "

Represents the input parameters for a CreateDomainName\n request.

", + "required" : [ "DomainName" ] + }, + "CreateDomainNameRequest" : { + "type" : "structure", + "members" : { + "DomainName" : { + "shape" : "StringWithLengthBetween1And512", + "locationName" : "domainName", + "documentation" : "

The domain name.

" + }, + "DomainNameConfigurations" : { + "shape" : "DomainNameConfigurations", + "locationName" : "domainNameConfigurations", + "documentation" : "

The domain name configurations.

" + } + }, + "required" : [ "DomainName" ] + }, + "CreateDomainNameResponse" : { + "type" : "structure", + "members" : { + "ApiMappingSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "apiMappingSelectionExpression", + "documentation" : "

The API mapping selection expression.

" + }, + "DomainName" : { + "shape" : "StringWithLengthBetween1And512", + "locationName" : "domainName", + "documentation" : "

The name of the DomainName resource.

" + }, + "DomainNameConfigurations" : { + "shape" : "DomainNameConfigurations", + "locationName" : "domainNameConfigurations", + "documentation" : "

The domain name configurations.

" + } + } + }, + "CreateIntegrationInput" : { + "type" : "structure", + "members" : { + "ConnectionId" : { + "shape" : "StringWithLengthBetween1And1024", + "locationName" : "connectionId", + "documentation" : "

The connection ID.

" + }, + "ConnectionType" : { + "shape" : "ConnectionType", + "locationName" : "connectionType", + "documentation" : "

The type of the network connection to the integration endpoint. Currently the only\n valid value is INTERNET, for connections through the public routable\n internet.

" + }, + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

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

\n CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded\n string to the corresponding binary blob.

\n CONVERT_TO_TEXT: Converts a response payload from a binary blob to a\n Base64-encoded string.

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

" + }, + "CredentialsArn" : { + "shape" : "Arn", + "locationName" : "credentialsArn", + "documentation" : "

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

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the integration.

" + }, + "IntegrationMethod" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "integrationMethod", + "documentation" : "

Specifies the integration's HTTP method type.

" + }, + "IntegrationType" : { + "shape" : "IntegrationType", + "locationName" : "integrationType", + "documentation" : "

The integration type of an integration. One of the following:

\n AWS: for integrating the route or method request with an AWS service\n action, including the Lambda function-invoking action. With the Lambda\n function-invoking action, this is referred to as the Lambda custom integration. With\n any other AWS service action, this is known as AWS integration.

\n AWS_PROXY: for integrating the route or method request with the Lambda\n function-invoking action with the client request passed through as-is. This\n integration is also referred to as Lambda proxy integration.

\n HTTP: for integrating the route or method request with an HTTP\n endpoint. This\n integration is also referred to as HTTP custom integration.

\n HTTP_PROXY: for integrating route or method request with an HTTP\n endpoint, with the client\n request passed through as-is. This is also referred to as HTTP proxy\n integration.

\n MOCK: for integrating the route or method request with API Gateway as a\n \"loopback\" endpoint without invoking any backend.

" + }, + "IntegrationUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "integrationUri", + "documentation" : "

For a Lambda proxy integration, this is the URI of the Lambda function.

" + }, + "PassthroughBehavior" : { + "shape" : "PassthroughBehavior", + "locationName" : "passthroughBehavior", + "documentation" : "

Specifies the pass-through behavior for incoming requests based on the\n Content-Type header in the request, and the available mapping\n templates specified as the requestTemplates property on the\n Integration resource. There are three valid values:\n WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and\n NEVER.

\n WHEN_NO_MATCH passes the request body for unmapped content types through\n to the integration backend without transformation.

\n NEVER rejects unmapped content types with an HTTP 415 Unsupported\n Media Type response.

\n WHEN_NO_TEMPLATES allows pass-through when the integration has no\n content types mapped to templates. However, if there is at least one content type\n defined, unmapped content types will be rejected with the same HTTP 415\n Unsupported Media Type response.

" + }, + "RequestParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "requestParameters", + "documentation" : "

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

" + }, + "RequestTemplates" : { + "shape" : "TemplateMap", + "locationName" : "requestTemplates", + "documentation" : "

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

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expression for the integration.

" + }, + "TimeoutInMillis" : { + "shape" : "IntegerWithLengthBetween50And29000", + "locationName" : "timeoutInMillis", + "documentation" : "

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

" + } + }, + "documentation" : "

Represents the input parameters for a CreateIntegration\n request.

", + "required" : [ "IntegrationType" ] + }, + "CreateIntegrationRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ConnectionId" : { + "shape" : "StringWithLengthBetween1And1024", + "locationName" : "connectionId", + "documentation" : "

The connection ID.

" + }, + "ConnectionType" : { + "shape" : "ConnectionType", + "locationName" : "connectionType", + "documentation" : "

The type of the network connection to the integration endpoint. Currently the only\n valid value is INTERNET, for connections through the public routable\n internet.

" + }, + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

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

\n CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded\n string to the corresponding binary blob.

\n CONVERT_TO_TEXT: Converts a response payload from a binary blob to a\n Base64-encoded string.

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

" + }, + "CredentialsArn" : { + "shape" : "Arn", + "locationName" : "credentialsArn", + "documentation" : "

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

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the integration.

" + }, + "IntegrationMethod" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "integrationMethod", + "documentation" : "

Specifies the integration's HTTP method type.

" + }, + "IntegrationType" : { + "shape" : "IntegrationType", + "locationName" : "integrationType", + "documentation" : "

The integration type of an integration. One of the following:

\n AWS: for integrating the route or method request with an AWS service\n action, including the Lambda function-invoking action. With the Lambda\n function-invoking action, this is referred to as the Lambda custom integration. With\n any other AWS service action, this is known as AWS integration.

\n AWS_PROXY: for integrating the route or method request with the Lambda\n function-invoking action with the client request passed through as-is. This\n integration is also referred to as Lambda proxy integration.

\n HTTP: for integrating the route or method request with an HTTP\n endpoint. This\n integration is also referred to as HTTP custom integration.

\n HTTP_PROXY: for integrating route or method request with an HTTP\n endpoint, with the client\n request passed through as-is. This is also referred to as HTTP proxy\n integration.

\n MOCK: for integrating the route or method request with API Gateway as a\n \"loopback\" endpoint without invoking any backend.

" + }, + "IntegrationUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "integrationUri", + "documentation" : "

For a Lambda proxy integration, this is the URI of the Lambda function.

" + }, + "PassthroughBehavior" : { + "shape" : "PassthroughBehavior", + "locationName" : "passthroughBehavior", + "documentation" : "

Specifies the pass-through behavior for incoming requests based on the\n Content-Type header in the request, and the available mapping\n templates specified as the requestTemplates property on the\n Integration resource. There are three valid values:\n WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and\n NEVER.

\n WHEN_NO_MATCH passes the request body for unmapped content types through\n to the integration backend without transformation.

\n NEVER rejects unmapped content types with an HTTP 415 Unsupported\n Media Type response.

\n WHEN_NO_TEMPLATES allows pass-through when the integration has no\n content types mapped to templates. However, if there is at least one content type\n defined, unmapped content types will be rejected with the same HTTP 415\n Unsupported Media Type response.

" + }, + "RequestParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "requestParameters", + "documentation" : "

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

" + }, + "RequestTemplates" : { + "shape" : "TemplateMap", + "locationName" : "requestTemplates", + "documentation" : "

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

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expression for the integration.

" + }, + "TimeoutInMillis" : { + "shape" : "IntegerWithLengthBetween50And29000", + "locationName" : "timeoutInMillis", + "documentation" : "

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

" + } + }, + "required" : [ "ApiId", "IntegrationType" ] + }, + "CreateIntegrationResponse" : { + "type" : "structure", + "members" : { + "ConnectionId" : { + "shape" : "StringWithLengthBetween1And1024", + "locationName" : "connectionId", + "documentation" : "

The connection ID.

" + }, + "ConnectionType" : { + "shape" : "ConnectionType", + "locationName" : "connectionType", + "documentation" : "

The type of the network connection to the integration endpoint. Currently the only\n valid value is INTERNET, for connections through the public routable\n internet.

" + }, + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

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

\n CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded\n string to the corresponding binary blob.

\n CONVERT_TO_TEXT: Converts a response payload from a binary blob to a\n Base64-encoded string.

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

" + }, + "CredentialsArn" : { + "shape" : "Arn", + "locationName" : "credentialsArn", + "documentation" : "

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

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

Represents the description of an integration.

" + }, + "IntegrationId" : { + "shape" : "Id", + "locationName" : "integrationId", + "documentation" : "

Represents the identifier of an integration.

" + }, + "IntegrationMethod" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "integrationMethod", + "documentation" : "

Specifies the integration's HTTP method type.

" + }, + "IntegrationResponseSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "integrationResponseSelectionExpression", + "documentation" : "

The integration response selection expression for the integration. See Integration Response Selection Expressions.

" + }, + "IntegrationType" : { + "shape" : "IntegrationType", + "locationName" : "integrationType", + "documentation" : "

The integration type of an integration. One of the following:

\n AWS: for integrating the route or method request with an AWS service\n action, including the Lambda function-invoking action. With the Lambda\n function-invoking action, this is referred to as the Lambda custom integration. With\n any other AWS service action, this is known as AWS integration.

\n AWS_PROXY: for integrating the route or method request with the Lambda\n function-invoking action with the client request passed through as-is. This\n integration is also referred to as Lambda proxy integration.

\n HTTP: for integrating the route or method request with an HTTP\n endpoint. This\n integration is also referred to as the HTTP custom integration.

\n HTTP_PROXY: for integrating route or method request with an HTTP\n endpoint, with the client\n request passed through as-is. This is also referred to as HTTP proxy\n integration.

\n MOCK: for integrating the route or method request with API Gateway as a\n \"loopback\" endpoint without invoking any backend.

" + }, + "IntegrationUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "integrationUri", + "documentation" : "

For a Lambda proxy integration, this is the URI of the Lambda function.

" + }, + "PassthroughBehavior" : { + "shape" : "PassthroughBehavior", + "locationName" : "passthroughBehavior", + "documentation" : "

Specifies the pass-through behavior for incoming requests based on the\n Content-Type header in the request, and the available mapping\n templates specified as the requestTemplates property on the\n Integration resource. There are three valid values:\n WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and\n NEVER.

\n WHEN_NO_MATCH passes the request body for unmapped content types through\n to the integration backend without transformation.

\n NEVER rejects unmapped content types with an HTTP 415 Unsupported\n Media Type response.

\n WHEN_NO_TEMPLATES allows pass-through when the integration has no\n content types mapped to templates. However, if there is at least one content type\n defined, unmapped content types will be rejected with the same HTTP 415\n Unsupported Media Type response.

" + }, + "RequestParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "requestParameters", + "documentation" : "

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

" + }, + "RequestTemplates" : { + "shape" : "TemplateMap", + "locationName" : "requestTemplates", + "documentation" : "

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

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expression for the integration.

" + }, + "TimeoutInMillis" : { + "shape" : "IntegerWithLengthBetween50And29000", + "locationName" : "timeoutInMillis", + "documentation" : "

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

" + } + } + }, + "CreateIntegrationResponseInput" : { + "type" : "structure", + "members" : { + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

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

\n CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded\n string to the corresponding binary blob.

\n CONVERT_TO_TEXT: Converts a response payload from a binary blob to a\n Base64-encoded string.

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

" + }, + "IntegrationResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "integrationResponseKey", + "documentation" : "

The integration response key.

" + }, + "ResponseParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "responseParameters", + "documentation" : "

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

" + }, + "ResponseTemplates" : { + "shape" : "TemplateMap", + "locationName" : "responseTemplates", + "documentation" : "

The collection of response templates for the integration response as a\n string-to-string map of key-value pairs. Response templates are represented as a\n key/value map, with a content-type as the key and a template as the value.

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expression for the integration response.

" + } + }, + "documentation" : "

Represents the input parameters for a CreateIntegrationResponse\n request.

", + "required" : [ "IntegrationResponseKey" ] + }, + "CreateIntegrationResponseRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

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

\n CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded\n string to the corresponding binary blob.

\n CONVERT_TO_TEXT: Converts a response payload from a binary blob to a\n Base64-encoded string.

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

" + }, + "IntegrationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "integrationId", + "documentation" : "

The integration ID.

" + }, + "IntegrationResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "integrationResponseKey", + "documentation" : "

The integration response key.

" + }, + "ResponseParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "responseParameters", + "documentation" : "

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

" + }, + "ResponseTemplates" : { + "shape" : "TemplateMap", + "locationName" : "responseTemplates", + "documentation" : "

The collection of response templates for the integration response as a\n string-to-string map of key-value pairs. Response templates are represented as a\n key/value map, with a content-type as the key and a template as the value.

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expression for the integration response.

" + } + }, + "required" : [ "ApiId", "IntegrationId", "IntegrationResponseKey" ] + }, + "CreateIntegrationResponseResponse" : { + "type" : "structure", + "members" : { + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

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

\n CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded\n string to the corresponding binary blob.

\n CONVERT_TO_TEXT: Converts a response payload from a binary blob to a\n Base64-encoded string.

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

" + }, + "IntegrationResponseId" : { + "shape" : "Id", + "locationName" : "integrationResponseId", + "documentation" : "

The integration response ID.

" + }, + "IntegrationResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "integrationResponseKey", + "documentation" : "

The integration response key.

" + }, + "ResponseParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "responseParameters", + "documentation" : "

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

" + }, + "ResponseTemplates" : { + "shape" : "TemplateMap", + "locationName" : "responseTemplates", + "documentation" : "

The collection of response templates for the integration response as a\n string-to-string map of key-value pairs. Response templates are represented as a\n key/value map, with a content-type as the key and a template as the value.

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expressions for the integration response.

" + } + } + }, + "CreateModelInput" : { + "type" : "structure", + "members" : { + "ContentType" : { + "shape" : "StringWithLengthBetween1And256", + "locationName" : "contentType", + "documentation" : "

The content-type for the model, for example, \"application/json\".

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the model.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the model. Must be alphanumeric.

" + }, + "Schema" : { + "shape" : "StringWithLengthBetween0And32K", + "locationName" : "schema", + "documentation" : "

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

" + } + }, + "documentation" : "

Represents the input parameters for a CreateModel request.

", + "required" : [ "Schema", "Name" ] + }, + "CreateModelRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ContentType" : { + "shape" : "StringWithLengthBetween1And256", + "locationName" : "contentType", + "documentation" : "

The content-type for the model, for example, \"application/json\".

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the model.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the model. Must be alphanumeric.

" + }, + "Schema" : { + "shape" : "StringWithLengthBetween0And32K", + "locationName" : "schema", + "documentation" : "

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

" + } + }, + "required" : [ "ApiId", "Schema", "Name" ] + }, + "CreateModelResponse" : { + "type" : "structure", + "members" : { + "ContentType" : { + "shape" : "StringWithLengthBetween1And256", + "locationName" : "contentType", + "documentation" : "

The content-type for the model, for example, \"application/json\".

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the model.

" + }, + "ModelId" : { + "shape" : "Id", + "locationName" : "modelId", + "documentation" : "

The model identifier.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the model. Must be alphanumeric.

" + }, + "Schema" : { + "shape" : "StringWithLengthBetween0And32K", + "locationName" : "schema", + "documentation" : "

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

" + } + } + }, + "CreateRouteInput" : { + "type" : "structure", + "members" : { + "ApiKeyRequired" : { + "shape" : "__boolean", + "locationName" : "apiKeyRequired", + "documentation" : "

Specifies whether an API key is required for the route.

" + }, + "AuthorizationScopes" : { + "shape" : "AuthorizationScopes", + "locationName" : "authorizationScopes", + "documentation" : "

The authorization scopes supported by this\n route.

" + }, + "AuthorizationType" : { + "shape" : "AuthorizationType", + "locationName" : "authorizationType", + "documentation" : "

The authorization type for the route. Valid values are NONE for open\n access, AWS_IAM for using AWS IAM permissions, and CUSTOM\n for using a Lambda\n authorizer.

" + }, + "AuthorizerId" : { + "shape" : "Id", + "locationName" : "authorizerId", + "documentation" : "

The identifier of the Authorizer resource to be associated with this\n route, if the authorizationType is CUSTOM\n . The authorizer identifier is generated by API Gateway\n when you created the authorizer.

" + }, + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

The model selection expression for the route.

" + }, + "OperationName" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "operationName", + "documentation" : "

The operation name for the route.

" + }, + "RequestModels" : { + "shape" : "RouteModels", + "locationName" : "requestModels", + "documentation" : "

The request models for the route.

" + }, + "RequestParameters" : { + "shape" : "RouteParameters", + "locationName" : "requestParameters", + "documentation" : "

The request parameters for the route.

" + }, + "RouteKey" : { + "shape" : "SelectionKey", + "locationName" : "routeKey", + "documentation" : "

The route key for the route.

" + }, + "RouteResponseSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeResponseSelectionExpression", + "documentation" : "

The route response selection expression for the route.

" + }, + "Target" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "target", + "documentation" : "

The target for the route.

" + } + }, + "documentation" : "

Represents the input parameters for a CreateRoute request.

", + "required" : [ "RouteKey" ] + }, + "CreateRouteRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ApiKeyRequired" : { + "shape" : "__boolean", + "locationName" : "apiKeyRequired", + "documentation" : "

Specifies whether an API key is required for the route.

" + }, + "AuthorizationScopes" : { + "shape" : "AuthorizationScopes", + "locationName" : "authorizationScopes", + "documentation" : "

The authorization scopes supported by this\n route.

" + }, + "AuthorizationType" : { + "shape" : "AuthorizationType", + "locationName" : "authorizationType", + "documentation" : "

The authorization type for the route. Valid values are NONE for open\n access, AWS_IAM for using AWS IAM permissions, and CUSTOM\n for using a Lambda\n authorizer.

" + }, + "AuthorizerId" : { + "shape" : "Id", + "locationName" : "authorizerId", + "documentation" : "

The identifier of the Authorizer resource to be associated with this\n route, if the authorizationType is CUSTOM\n . The authorizer identifier is generated by API Gateway\n when you created the authorizer.

" + }, + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

The model selection expression for the route.

" + }, + "OperationName" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "operationName", + "documentation" : "

The operation name for the route.

" + }, + "RequestModels" : { + "shape" : "RouteModels", + "locationName" : "requestModels", + "documentation" : "

The request models for the route.

" + }, + "RequestParameters" : { + "shape" : "RouteParameters", + "locationName" : "requestParameters", + "documentation" : "

The request parameters for the route.

" + }, + "RouteKey" : { + "shape" : "SelectionKey", + "locationName" : "routeKey", + "documentation" : "

The route key for the route.

" + }, + "RouteResponseSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeResponseSelectionExpression", + "documentation" : "

The route response selection expression for the route.

" + }, + "Target" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "target", + "documentation" : "

The target for the route.

" + } + }, + "required" : [ "ApiId", "RouteKey" ] + }, + "CreateRouteResponse" : { + "type" : "structure", + "members" : { + "ApiKeyRequired" : { + "shape" : "__boolean", + "locationName" : "apiKeyRequired", + "documentation" : "

Specifies whether an API key is required for this route.

" + }, + "AuthorizationScopes" : { + "shape" : "AuthorizationScopes", + "locationName" : "authorizationScopes", + "documentation" : "

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

" + }, + "AuthorizationType" : { + "shape" : "AuthorizationType", + "locationName" : "authorizationType", + "documentation" : "

The authorization type for the route. Valid values are NONE for open\n access, AWS_IAM for using AWS IAM permissions, and CUSTOM\n for using a Lambda\n authorizer

" + }, + "AuthorizerId" : { + "shape" : "Id", + "locationName" : "authorizerId", + "documentation" : "

The identifier of the Authorizer resource to be associated with this\n route, if the authorizationType is CUSTOM\n . The authorizer identifier is generated by API Gateway\n when you created the authorizer.

" + }, + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

The model selection expression for the route.

" + }, + "OperationName" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "operationName", + "documentation" : "

The operation name for the route.

" + }, + "RequestModels" : { + "shape" : "RouteModels", + "locationName" : "requestModels", + "documentation" : "

The request models for the route.

" + }, + "RequestParameters" : { + "shape" : "RouteParameters", + "locationName" : "requestParameters", + "documentation" : "

The request parameters for the route.

" + }, + "RouteId" : { + "shape" : "Id", + "locationName" : "routeId", + "documentation" : "

The route ID.

" + }, + "RouteKey" : { + "shape" : "SelectionKey", + "locationName" : "routeKey", + "documentation" : "

The route key for the route.

" + }, + "RouteResponseSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeResponseSelectionExpression", + "documentation" : "

The route response selection expression for the route.

" + }, + "Target" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "target", + "documentation" : "

The target for the route.

" + } + } + }, + "CreateRouteResponseInput" : { + "type" : "structure", + "members" : { + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

The model selection expression for the route response.

" + }, + "ResponseModels" : { + "shape" : "RouteModels", + "locationName" : "responseModels", + "documentation" : "

The response models for the route response.

" + }, + "ResponseParameters" : { + "shape" : "RouteParameters", + "locationName" : "responseParameters", + "documentation" : "

The route response parameters.

" + }, + "RouteResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "routeResponseKey", + "documentation" : "

The route response key.

" + } + }, + "documentation" : "

Represents the input parameters for an CreateRouteResponse\n request.

", + "required" : [ "RouteResponseKey" ] + }, + "CreateRouteResponseRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

The model selection expression for the route response.

" + }, + "ResponseModels" : { + "shape" : "RouteModels", + "locationName" : "responseModels", + "documentation" : "

The response models for the route response.

" + }, + "ResponseParameters" : { + "shape" : "RouteParameters", + "locationName" : "responseParameters", + "documentation" : "

The route response parameters.

" + }, + "RouteId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "routeId", + "documentation" : "

The route ID.

" + }, + "RouteResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "routeResponseKey", + "documentation" : "

The route response key.

" + } + }, + "required" : [ "ApiId", "RouteId", "RouteResponseKey" ] + }, + "CreateRouteResponseResponse" : { + "type" : "structure", + "members" : { + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

Represents the model selection expression of a route response.

" + }, + "ResponseModels" : { + "shape" : "RouteModels", + "locationName" : "responseModels", + "documentation" : "

Represents the response models of a route response.

" + }, + "ResponseParameters" : { + "shape" : "RouteParameters", + "locationName" : "responseParameters", + "documentation" : "

Represents the response parameters of a route response.

" + }, + "RouteResponseId" : { + "shape" : "Id", + "locationName" : "routeResponseId", + "documentation" : "

Represents the identifier of a route response.

" + }, + "RouteResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "routeResponseKey", + "documentation" : "

Represents the route response key of a route response.

" + } + } + }, + "CreateStageInput" : { + "type" : "structure", + "members" : { + "AccessLogSettings" : { + "shape" : "AccessLogSettings", + "locationName" : "accessLogSettings", + "documentation" : "

Settings for logging access in this stage.

" + }, + "ClientCertificateId" : { + "shape" : "Id", + "locationName" : "clientCertificateId", + "documentation" : "

The identifier of a client certificate for a Stage.

" + }, + "DefaultRouteSettings" : { + "shape" : "RouteSettings", + "locationName" : "defaultRouteSettings", + "documentation" : "

The default route settings for the stage.

" + }, + "DeploymentId" : { + "shape" : "Id", + "locationName" : "deploymentId", + "documentation" : "

The deployment identifier of the API stage.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description for the API stage.

" + }, + "RouteSettings" : { + "shape" : "RouteSettingsMap", + "locationName" : "routeSettings", + "documentation" : "

Route settings for the stage.

" + }, + "StageName" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stageName", + "documentation" : "

The name of the stage.

" + }, + "StageVariables" : { + "shape" : "StageVariablesMap", + "locationName" : "stageVariables", + "documentation" : "

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

" + } + }, + "documentation" : "

Represents the input parameters for a CreateStage request.

", + "required" : [ "StageName" ] + }, + "CreateStageRequest" : { + "type" : "structure", + "members" : { + "AccessLogSettings" : { + "shape" : "AccessLogSettings", + "locationName" : "accessLogSettings", + "documentation" : "

Settings for logging access in this stage.

" + }, + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ClientCertificateId" : { + "shape" : "Id", + "locationName" : "clientCertificateId", + "documentation" : "

The identifier of a client certificate for a Stage.

" + }, + "DefaultRouteSettings" : { + "shape" : "RouteSettings", + "locationName" : "defaultRouteSettings", + "documentation" : "

The default route settings for the stage.

" + }, + "DeploymentId" : { + "shape" : "Id", + "locationName" : "deploymentId", + "documentation" : "

The deployment identifier of the API stage.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description for the API stage.

" + }, + "RouteSettings" : { + "shape" : "RouteSettingsMap", + "locationName" : "routeSettings", + "documentation" : "

Route settings for the stage.

" + }, + "StageName" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stageName", + "documentation" : "

The name of the stage.

" + }, + "StageVariables" : { + "shape" : "StageVariablesMap", + "locationName" : "stageVariables", + "documentation" : "

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

" + } + }, + "required" : [ "ApiId", "StageName" ] + }, + "CreateStageResponse" : { + "type" : "structure", + "members" : { + "AccessLogSettings" : { + "shape" : "AccessLogSettings", + "locationName" : "accessLogSettings", + "documentation" : "

Settings for logging access in this stage.

" + }, + "ClientCertificateId" : { + "shape" : "Id", + "locationName" : "clientCertificateId", + "documentation" : "

The identifier of a client certificate for a Stage.

" + }, + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The timestamp when the stage was created.

" + }, + "DefaultRouteSettings" : { + "shape" : "RouteSettings", + "locationName" : "defaultRouteSettings", + "documentation" : "

Default route settings for the stage.

" + }, + "DeploymentId" : { + "shape" : "Id", + "locationName" : "deploymentId", + "documentation" : "

The identifier of the Deployment that the Stage is\n associated with.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the stage.

" + }, + "LastUpdatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "lastUpdatedDate", + "documentation" : "

The timestamp when the stage was last updated.

" + }, + "RouteSettings" : { + "shape" : "RouteSettingsMap", + "locationName" : "routeSettings", + "documentation" : "

Route settings for the stage.

" + }, + "StageName" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stageName", + "documentation" : "

The name of the stage.

" + }, + "StageVariables" : { + "shape" : "StageVariablesMap", + "locationName" : "stageVariables", + "documentation" : "

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

" + } + } + }, + "DeleteApiMappingRequest" : { + "type" : "structure", + "members" : { + "ApiMappingId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiMappingId", + "documentation" : "

The API mapping identifier.

" + }, + "DomainName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "domainName", + "documentation" : "

The domain name.

" + } + }, + "required" : [ "ApiMappingId", "DomainName" ] + }, + "DeleteApiRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + } + }, + "required" : [ "ApiId" ] + }, + "DeleteAuthorizerRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "AuthorizerId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "authorizerId", + "documentation" : "

The authorizer identifier.

" + } + }, + "required" : [ "AuthorizerId", "ApiId" ] + }, + "DeleteDeploymentRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "DeploymentId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "deploymentId", + "documentation" : "

The deployment ID.

" + } + }, + "required" : [ "ApiId", "DeploymentId" ] + }, + "DeleteDomainNameRequest" : { + "type" : "structure", + "members" : { + "DomainName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "domainName", + "documentation" : "

The domain name.

" + } + }, + "required" : [ "DomainName" ] + }, + "DeleteIntegrationRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "IntegrationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "integrationId", + "documentation" : "

The integration ID.

" + } + }, + "required" : [ "ApiId", "IntegrationId" ] + }, + "DeleteIntegrationResponseRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "IntegrationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "integrationId", + "documentation" : "

The integration ID.

" + }, + "IntegrationResponseId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "integrationResponseId", + "documentation" : "

The integration response ID.

" + } + }, + "required" : [ "ApiId", "IntegrationResponseId", "IntegrationId" ] + }, + "DeleteModelRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ModelId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "modelId", + "documentation" : "

The model ID.

" + } + }, + "required" : [ "ModelId", "ApiId" ] + }, + "DeleteRouteRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "RouteId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "routeId", + "documentation" : "

The route ID.

" + } + }, + "required" : [ "ApiId", "RouteId" ] + }, + "DeleteRouteResponseRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "RouteId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "routeId", + "documentation" : "

The route ID.

" + }, + "RouteResponseId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "routeResponseId", + "documentation" : "

The route response ID.

" + } + }, + "required" : [ "RouteResponseId", "ApiId", "RouteId" ] + }, + "DeleteStageRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "StageName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "stageName", + "documentation" : "

The stage name.

" + } + }, + "required" : [ "StageName", "ApiId" ] + }, + "Deployment" : { + "type" : "structure", + "members" : { + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The date and time when the Deployment resource was created.

" + }, + "DeploymentId" : { + "shape" : "Id", + "locationName" : "deploymentId", + "documentation" : "

The identifier for the deployment.

" + }, + "DeploymentStatus" : { + "shape" : "DeploymentStatus", + "locationName" : "deploymentStatus", + "documentation" : "

The status of the deployment: PENDING, FAILED, or\n SUCCEEDED.

" + }, + "DeploymentStatusMessage" : { + "shape" : "__string", + "locationName" : "deploymentStatusMessage", + "documentation" : "

May contain additional feedback on the status of an API deployment.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description for the deployment.

" + } + }, + "documentation" : "

An immutable representation of an API that can be called by users. A\n Deployment must be associated with a Stage for it to be\n callable over the internet.

" + }, + "DeploymentStatus" : { + "type" : "string", + "documentation" : "

Represents a deployment status.

", + "enum" : [ "PENDING", "FAILED", "DEPLOYED" ] + }, + "Deployments" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfDeployment", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + }, + "documentation" : "

A collection resource that contains zero or more references to your existing\n deployments, and links that guide you on how to interact with your collection. The\n collection offers a paginated view of the contained deployments.

" + }, + "DomainName" : { + "type" : "structure", + "members" : { + "ApiMappingSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "apiMappingSelectionExpression", + "documentation" : "

The API mapping selection expression.

" + }, + "DomainName" : { + "shape" : "StringWithLengthBetween1And512", + "locationName" : "domainName", + "documentation" : "

The name of the DomainName resource.

" + }, + "DomainNameConfigurations" : { + "shape" : "DomainNameConfigurations", + "locationName" : "domainNameConfigurations", + "documentation" : "

The domain name configurations.

" + } + }, + "documentation" : "

Represents a domain name.

", + "required" : [ "DomainName" ] + }, + "DomainNameConfiguration" : { + "type" : "structure", + "members" : { + "ApiGatewayDomainName" : { + "shape" : "__string", + "locationName" : "apiGatewayDomainName", + "documentation" : "

A domain name for the WebSocket API.

" + }, + "CertificateArn" : { + "shape" : "Arn", + "locationName" : "certificateArn", + "documentation" : "

An AWS-managed certificate that will be used by the edge-optimized endpoint for\n this domain name. AWS Certificate Manager is the only supported source.

" + }, + "CertificateName" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "certificateName", + "documentation" : "

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

" + }, + "CertificateUploadDate" : { + "shape" : "__timestampIso8601", + "locationName" : "certificateUploadDate", + "documentation" : "

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

" + }, + "EndpointType" : { + "shape" : "EndpointType", + "locationName" : "endpointType", + "documentation" : "

The endpoint type.

" + }, + "HostedZoneId" : { + "shape" : "__string", + "locationName" : "hostedZoneId", + "documentation" : "

The Amazon Route 53 Hosted Zone ID of the endpoint.

" + } + }, + "documentation" : "

The domain name configuration.

" + }, + "DomainNameConfigurations" : { + "type" : "list", + "documentation" : "

The domain name configurations.

", + "member" : { + "shape" : "DomainNameConfiguration" + } + }, + "DomainNames" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfDomainName", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + }, + "documentation" : "

Represents a collection of domain names.

" + }, + "EndpointType" : { + "type" : "string", + "documentation" : "

Represents an endpoint type.

", + "enum" : [ "REGIONAL", "EDGE" ] + }, + "GetApiMappingRequest" : { + "type" : "structure", + "members" : { + "ApiMappingId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiMappingId", + "documentation" : "

The API mapping identifier.

" + }, + "DomainName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "domainName", + "documentation" : "

The domain name.

" + } + }, + "required" : [ "ApiMappingId", "DomainName" ] + }, + "GetApiMappingResponse" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "Id", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ApiMappingId" : { + "shape" : "Id", + "locationName" : "apiMappingId", + "documentation" : "

The API mapping identifier.

" + }, + "ApiMappingKey" : { + "shape" : "SelectionKey", + "locationName" : "apiMappingKey", + "documentation" : "

The API mapping key.

" + }, + "Stage" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stage", + "documentation" : "

The API stage.

" + } + } + }, + "GetApiMappingsRequest" : { + "type" : "structure", + "members" : { + "DomainName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "domainName", + "documentation" : "

The domain name.

" + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "

The maximum number of elements to be returned for this resource.

" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + }, + "required" : [ "DomainName" ] + }, + "GetApiMappingsResponse" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfApiMapping", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + } + }, + "GetApiRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + } + }, + "required" : [ "ApiId" ] + }, + "GetApiResponse" : { + "type" : "structure", + "members" : { + "ApiEndpoint" : { + "shape" : "__string", + "locationName" : "apiEndpoint", + "documentation" : "

The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The\n stage name is typically appended to this URI to form a complete path to a deployed\n API stage.

" + }, + "ApiId" : { + "shape" : "Id", + "locationName" : "apiId", + "documentation" : "

The API ID.

" + }, + "ApiKeySelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "apiKeySelectionExpression", + "documentation" : "

An API key selection expression. See API Key Selection Expressions.

" + }, + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The timestamp when the API was created.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the API.

" + }, + "DisableSchemaValidation" : { + "shape" : "__boolean", + "locationName" : "disableSchemaValidation", + "documentation" : "

Avoid validating models when creating a deployment.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the API.

" + }, + "ProtocolType" : { + "shape" : "ProtocolType", + "locationName" : "protocolType", + "documentation" : "

The API protocol: Currently only WEBSOCKET is supported.

" + }, + "RouteSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeSelectionExpression", + "documentation" : "

The route selection expression for the API.

" + }, + "Version" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "version", + "documentation" : "

A version identifier for the API.

" + }, + "Warnings" : { + "shape" : "__listOf__string", + "locationName" : "warnings", + "documentation" : "

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

" + } + } + }, + "GetApisRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "

The maximum number of elements to be returned for this resource.

" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + } + }, + "GetApisResponse" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfApi", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + } + }, + "GetAuthorizerRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "AuthorizerId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "authorizerId", + "documentation" : "

The authorizer identifier.

" + } + }, + "required" : [ "AuthorizerId", "ApiId" ] + }, + "GetAuthorizerResponse" : { + "type" : "structure", + "members" : { + "AuthorizerCredentialsArn" : { + "shape" : "Arn", + "locationName" : "authorizerCredentialsArn", + "documentation" : "

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

" + }, + "AuthorizerId" : { + "shape" : "Id", + "locationName" : "authorizerId", + "documentation" : "

The authorizer identifier.

" + }, + "AuthorizerResultTtlInSeconds" : { + "shape" : "IntegerWithLengthBetween0And3600", + "locationName" : "authorizerResultTtlInSeconds", + "documentation" : "

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

" + }, + "AuthorizerType" : { + "shape" : "AuthorizerType", + "locationName" : "authorizerType", + "documentation" : "

The authorizer type. Currently the only valid value is REQUEST, for a\n Lambda function using incoming request parameters.

" + }, + "AuthorizerUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "authorizerUri", + "documentation" : "

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

" + }, + "IdentitySource" : { + "shape" : "IdentitySourceList", + "locationName" : "identitySource", + "documentation" : "

The identity source for which authorization is requested.

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

" + }, + "IdentityValidationExpression" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "identityValidationExpression", + "documentation" : "

The\n validation expression does not apply to the REQUEST authorizer.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the authorizer.

" + }, + "ProviderArns" : { + "shape" : "ProviderArnList", + "locationName" : "providerArns", + "documentation" : "

For\n REQUEST authorizer, this is not\n defined.

" + } + } + }, + "GetAuthorizersRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "

The maximum number of elements to be returned for this resource.

" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + }, + "required" : [ "ApiId" ] + }, + "GetAuthorizersResponse" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfAuthorizer", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + } + }, + "GetDeploymentRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "DeploymentId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "deploymentId", + "documentation" : "

The deployment ID.

" + } + }, + "required" : [ "ApiId", "DeploymentId" ] + }, + "GetDeploymentResponse" : { + "type" : "structure", + "members" : { + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The date and time when the Deployment resource was created.

" + }, + "DeploymentId" : { + "shape" : "Id", + "locationName" : "deploymentId", + "documentation" : "

The identifier for the deployment.

" + }, + "DeploymentStatus" : { + "shape" : "DeploymentStatus", + "locationName" : "deploymentStatus", + "documentation" : "

The status of the deployment: PENDING, FAILED, or\n SUCCEEDED.

" + }, + "DeploymentStatusMessage" : { + "shape" : "__string", + "locationName" : "deploymentStatusMessage", + "documentation" : "

May contain additional feedback on the status of an API deployment.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description for the deployment.

" + } + } + }, + "GetDeploymentsRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "

The maximum number of elements to be returned for this resource.

" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + }, + "required" : [ "ApiId" ] + }, + "GetDeploymentsResponse" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfDeployment", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + } + }, + "GetDomainNameRequest" : { + "type" : "structure", + "members" : { + "DomainName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "domainName", + "documentation" : "

The domain name.

" + } + }, + "required" : [ "DomainName" ] + }, + "GetDomainNameResponse" : { + "type" : "structure", + "members" : { + "ApiMappingSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "apiMappingSelectionExpression", + "documentation" : "

The API mapping selection expression.

" + }, + "DomainName" : { + "shape" : "StringWithLengthBetween1And512", + "locationName" : "domainName", + "documentation" : "

The name of the DomainName resource.

" + }, + "DomainNameConfigurations" : { + "shape" : "DomainNameConfigurations", + "locationName" : "domainNameConfigurations", + "documentation" : "

The domain name configurations.

" + } + } + }, + "GetDomainNamesRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "

The maximum number of elements to be returned for this resource.

" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + } + }, + "GetDomainNamesResponse" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfDomainName", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + } + }, + "GetIntegrationRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "IntegrationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "integrationId", + "documentation" : "

The integration ID.

" + } + }, + "required" : [ "ApiId", "IntegrationId" ] + }, + "GetIntegrationResponse" : { + "type" : "structure", + "members" : { + "ConnectionId" : { + "shape" : "StringWithLengthBetween1And1024", + "locationName" : "connectionId", + "documentation" : "

The connection ID.

" + }, + "ConnectionType" : { + "shape" : "ConnectionType", + "locationName" : "connectionType", + "documentation" : "

The type of the network connection to the integration endpoint. Currently the only\n valid value is INTERNET, for connections through the public routable\n internet.

" + }, + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

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

\n CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded\n string to the corresponding binary blob.

\n CONVERT_TO_TEXT: Converts a response payload from a binary blob to a\n Base64-encoded string.

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

" + }, + "CredentialsArn" : { + "shape" : "Arn", + "locationName" : "credentialsArn", + "documentation" : "

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

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

Represents the description of an integration.

" + }, + "IntegrationId" : { + "shape" : "Id", + "locationName" : "integrationId", + "documentation" : "

Represents the identifier of an integration.

" + }, + "IntegrationMethod" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "integrationMethod", + "documentation" : "

Specifies the integration's HTTP method type.

" + }, + "IntegrationResponseSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "integrationResponseSelectionExpression", + "documentation" : "

The integration response selection expression for the integration. See Integration Response Selection Expressions.

" + }, + "IntegrationType" : { + "shape" : "IntegrationType", + "locationName" : "integrationType", + "documentation" : "

The integration type of an integration. One of the following:

\n AWS: for integrating the route or method request with an AWS service\n action, including the Lambda function-invoking action. With the Lambda\n function-invoking action, this is referred to as the Lambda custom integration. With\n any other AWS service action, this is known as AWS integration.

\n AWS_PROXY: for integrating the route or method request with the Lambda\n function-invoking action with the client request passed through as-is. This\n integration is also referred to as Lambda proxy integration.

\n HTTP: for integrating the route or method request with an HTTP\n endpoint. This\n integration is also referred to as the HTTP custom integration.

\n HTTP_PROXY: for integrating route or method request with an HTTP\n endpoint, with the client\n request passed through as-is. This is also referred to as HTTP proxy\n integration.

\n MOCK: for integrating the route or method request with API Gateway as a\n \"loopback\" endpoint without invoking any backend.

" + }, + "IntegrationUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "integrationUri", + "documentation" : "

For a Lambda proxy integration, this is the URI of the Lambda function.

" + }, + "PassthroughBehavior" : { + "shape" : "PassthroughBehavior", + "locationName" : "passthroughBehavior", + "documentation" : "

Specifies the pass-through behavior for incoming requests based on the\n Content-Type header in the request, and the available mapping\n templates specified as the requestTemplates property on the\n Integration resource. There are three valid values:\n WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and\n NEVER.

\n WHEN_NO_MATCH passes the request body for unmapped content types through\n to the integration backend without transformation.

\n NEVER rejects unmapped content types with an HTTP 415 Unsupported\n Media Type response.

\n WHEN_NO_TEMPLATES allows pass-through when the integration has no\n content types mapped to templates. However, if there is at least one content type\n defined, unmapped content types will be rejected with the same HTTP 415\n Unsupported Media Type response.

" + }, + "RequestParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "requestParameters", + "documentation" : "

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

" + }, + "RequestTemplates" : { + "shape" : "TemplateMap", + "locationName" : "requestTemplates", + "documentation" : "

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

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expression for the integration.

" + }, + "TimeoutInMillis" : { + "shape" : "IntegerWithLengthBetween50And29000", + "locationName" : "timeoutInMillis", + "documentation" : "

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

" + } + } + }, + "GetIntegrationResponseRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "IntegrationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "integrationId", + "documentation" : "

The integration ID.

" + }, + "IntegrationResponseId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "integrationResponseId", + "documentation" : "The integration response ID." + } + }, + "required" : [ "ApiId", "IntegrationResponseId", "IntegrationId" ] + }, + "GetIntegrationResponseResponse" : { + "type" : "structure", + "members" : { + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

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

\n CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded\n string to the corresponding binary blob.

\n CONVERT_TO_TEXT: Converts a response payload from a binary blob to a\n Base64-encoded string.

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

" + }, + "IntegrationResponseId" : { + "shape" : "Id", + "locationName" : "integrationResponseId", + "documentation" : "

The integration response ID.

" + }, + "IntegrationResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "integrationResponseKey", + "documentation" : "

The integration response key.

" + }, + "ResponseParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "responseParameters", + "documentation" : "

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

" + }, + "ResponseTemplates" : { + "shape" : "TemplateMap", + "locationName" : "responseTemplates", + "documentation" : "

The collection of response templates for the integration response as a\n string-to-string map of key-value pairs. Response templates are represented as a\n key/value map, with a content-type as the key and a template as the value.

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expressions for the integration response.

" + } + } + }, + "GetIntegrationResponsesRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "IntegrationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "integrationId", + "documentation" : "

The integration ID.

" + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "

The maximum number of elements to be returned for this resource.

" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + }, + "required" : [ "IntegrationId", "ApiId" ] + }, + "GetIntegrationResponsesResponse" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfIntegrationResponse", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + } + }, + "GetIntegrationsRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "

The maximum number of elements to be returned for this resource.

" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + }, + "required" : [ "ApiId" ] + }, + "GetIntegrationsResponse" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfIntegration", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + } + }, + "GetModelRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ModelId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "modelId", + "documentation" : "

The model ID.

" + } + }, + "required" : [ "ModelId", "ApiId" ] + }, + "GetModelResponse" : { + "type" : "structure", + "members" : { + "ContentType" : { + "shape" : "StringWithLengthBetween1And256", + "locationName" : "contentType", + "documentation" : "

The content-type for the model, for example, \"application/json\".

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the model.

" + }, + "ModelId" : { + "shape" : "Id", + "locationName" : "modelId", + "documentation" : "

The model identifier.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the model. Must be alphanumeric.

" + }, + "Schema" : { + "shape" : "StringWithLengthBetween0And32K", + "locationName" : "schema", + "documentation" : "

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

" + } + } + }, + "GetModelTemplateRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ModelId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "modelId", + "documentation" : "

The model ID.

" + } + }, + "required" : [ "ModelId", "ApiId" ] + }, + "GetModelTemplateResponse" : { + "type" : "structure", + "members" : { + "Value" : { + "shape" : "__string", + "locationName" : "value", + "documentation" : "

The template value.

" + } + } + }, + "GetModelsRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "

The maximum number of elements to be returned for this resource.

" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + }, + "required" : [ "ApiId" ] + }, + "GetModelsResponse" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfModel", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + } + }, + "GetRouteRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "RouteId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "routeId", + "documentation" : "

The route ID.

" + } + }, + "required" : [ "ApiId", "RouteId" ] + }, + "GetRouteResponse" : { + "type" : "structure", + "members" : { + "ApiKeyRequired" : { + "shape" : "__boolean", + "locationName" : "apiKeyRequired", + "documentation" : "

Specifies whether an API key is required for this route.

" + }, + "AuthorizationScopes" : { + "shape" : "AuthorizationScopes", + "locationName" : "authorizationScopes", + "documentation" : "

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

" + }, + "AuthorizationType" : { + "shape" : "AuthorizationType", + "locationName" : "authorizationType", + "documentation" : "

The authorization type for the route. Valid values are NONE for open\n access, AWS_IAM for using AWS IAM permissions, and CUSTOM\n for using a Lambda\n authorizer

" + }, + "AuthorizerId" : { + "shape" : "Id", + "locationName" : "authorizerId", + "documentation" : "

The identifier of the Authorizer resource to be associated with this\n route, if the authorizationType is CUSTOM\n . The authorizer identifier is generated by API Gateway\n when you created the authorizer.

" + }, + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

The model selection expression for the route.

" + }, + "OperationName" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "operationName", + "documentation" : "

The operation name for the route.

" + }, + "RequestModels" : { + "shape" : "RouteModels", + "locationName" : "requestModels", + "documentation" : "

The request models for the route.

" + }, + "RequestParameters" : { + "shape" : "RouteParameters", + "locationName" : "requestParameters", + "documentation" : "

The request parameters for the route.

" + }, + "RouteId" : { + "shape" : "Id", + "locationName" : "routeId", + "documentation" : "

The route ID.

" + }, + "RouteKey" : { + "shape" : "SelectionKey", + "locationName" : "routeKey", + "documentation" : "

The route key for the route.

" + }, + "RouteResponseSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeResponseSelectionExpression", + "documentation" : "

The route response selection expression for the route.

" + }, + "Target" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "target", + "documentation" : "

The target for the route.

" + } + } + }, + "GetRouteResponseRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "RouteId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "routeId", + "documentation" : "

The route ID.

" + }, + "RouteResponseId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "routeResponseId", + "documentation" : "

The route response ID.

" + } + }, + "required" : [ "RouteResponseId", "ApiId", "RouteId" ] + }, + "GetRouteResponseResponse" : { + "type" : "structure", + "members" : { + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

Represents the model selection expression of a route response.

" + }, + "ResponseModels" : { + "shape" : "RouteModels", + "locationName" : "responseModels", + "documentation" : "

Represents the response models of a route response.

" + }, + "ResponseParameters" : { + "shape" : "RouteParameters", + "locationName" : "responseParameters", + "documentation" : "

Represents the response parameters of a route response.

" + }, + "RouteResponseId" : { + "shape" : "Id", + "locationName" : "routeResponseId", + "documentation" : "

Represents the identifier of a route response.

" + }, + "RouteResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "routeResponseKey", + "documentation" : "

Represents the route response key of a route response.

" + } + } + }, + "GetRouteResponsesRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "

The maximum number of elements to be returned for this resource.

" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + }, + "RouteId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "routeId", + "documentation" : "

The route ID.

" + } + }, + "required" : [ "RouteId", "ApiId" ] + }, + "GetRouteResponsesResponse" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfRouteResponse", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + } + }, + "GetRoutesRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "

The maximum number of elements to be returned for this resource.

" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + }, + "required" : [ "ApiId" ] + }, + "GetRoutesResponse" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfRoute", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + } + }, + "GetStageRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "StageName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "stageName", + "documentation" : "

The stage name.

" + } + }, + "required" : [ "StageName", "ApiId" ] + }, + "GetStageResponse" : { + "type" : "structure", + "members" : { + "AccessLogSettings" : { + "shape" : "AccessLogSettings", + "locationName" : "accessLogSettings", + "documentation" : "

Settings for logging access in this stage.

" + }, + "ClientCertificateId" : { + "shape" : "Id", + "locationName" : "clientCertificateId", + "documentation" : "

The identifier of a client certificate for a Stage.

" + }, + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The timestamp when the stage was created.

" + }, + "DefaultRouteSettings" : { + "shape" : "RouteSettings", + "locationName" : "defaultRouteSettings", + "documentation" : "

Default route settings for the stage.

" + }, + "DeploymentId" : { + "shape" : "Id", + "locationName" : "deploymentId", + "documentation" : "

The identifier of the Deployment that the Stage is\n associated with.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the stage.

" + }, + "LastUpdatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "lastUpdatedDate", + "documentation" : "

The timestamp when the stage was last updated.

" + }, + "RouteSettings" : { + "shape" : "RouteSettingsMap", + "locationName" : "routeSettings", + "documentation" : "

Route settings for the stage.

" + }, + "StageName" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stageName", + "documentation" : "

The name of the stage.

" + }, + "StageVariables" : { + "shape" : "StageVariablesMap", + "locationName" : "stageVariables", + "documentation" : "

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

" + } + } + }, + "GetStagesRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "

The maximum number of elements to be returned for this resource.

" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + }, + "required" : [ "ApiId" ] + }, + "GetStagesResponse" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfStage", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + } + }, + "Id" : { + "type" : "string", + "documentation" : "

The identifier.

" + }, + "IdentitySourceList" : { + "type" : "list", + "documentation" : "

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

", + "member" : { + "shape" : "__string" + } + }, + "IntegerWithLengthBetween0And3600" : { + "type" : "integer", + "documentation" : "

An integer with a value between [0-3600].

", + "min" : -2147483648, + "max" : 2147483647 + }, + "IntegerWithLengthBetween50And29000" : { + "type" : "integer", + "documentation" : "

An integer with a value between [50-29000].

", + "min" : -2147483648, + "max" : 2147483647 + }, + "Integration" : { + "type" : "structure", + "members" : { + "ConnectionId" : { + "shape" : "StringWithLengthBetween1And1024", + "locationName" : "connectionId", + "documentation" : "

The connection ID.

" + }, + "ConnectionType" : { + "shape" : "ConnectionType", + "locationName" : "connectionType", + "documentation" : "

The type of the network connection to the integration endpoint. Currently the only\n valid value is INTERNET, for connections through the public routable\n internet.

" + }, + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

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

\n CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded\n string to the corresponding binary blob.

\n CONVERT_TO_TEXT: Converts a response payload from a binary blob to a\n Base64-encoded string.

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

" + }, + "CredentialsArn" : { + "shape" : "Arn", + "locationName" : "credentialsArn", + "documentation" : "

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

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

Represents the description of an integration.

" + }, + "IntegrationId" : { + "shape" : "Id", + "locationName" : "integrationId", + "documentation" : "

Represents the identifier of an integration.

" + }, + "IntegrationMethod" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "integrationMethod", + "documentation" : "

Specifies the integration's HTTP method type.

" + }, + "IntegrationResponseSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "integrationResponseSelectionExpression", + "documentation" : "

The integration response selection expression for the integration. See Integration Response Selection Expressions.

" + }, + "IntegrationType" : { + "shape" : "IntegrationType", + "locationName" : "integrationType", + "documentation" : "

The integration type of an integration. One of the following:

\n AWS: for integrating the route or method request with an AWS service\n action, including the Lambda function-invoking action. With the Lambda\n function-invoking action, this is referred to as the Lambda custom integration. With\n any other AWS service action, this is known as AWS integration.

\n AWS_PROXY: for integrating the route or method request with the Lambda\n function-invoking action with the client request passed through as-is. This\n integration is also referred to as Lambda proxy integration.

\n HTTP: for integrating the route or method request with an HTTP\n endpoint. This\n integration is also referred to as the HTTP custom integration.

\n HTTP_PROXY: for integrating route or method request with an HTTP\n endpoint, with the client\n request passed through as-is. This is also referred to as HTTP proxy\n integration.

\n MOCK: for integrating the route or method request with API Gateway as a\n \"loopback\" endpoint without invoking any backend.

" + }, + "IntegrationUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "integrationUri", + "documentation" : "

For a Lambda proxy integration, this is the URI of the Lambda function.

" + }, + "PassthroughBehavior" : { + "shape" : "PassthroughBehavior", + "locationName" : "passthroughBehavior", + "documentation" : "

Specifies the pass-through behavior for incoming requests based on the\n Content-Type header in the request, and the available mapping\n templates specified as the requestTemplates property on the\n Integration resource. There are three valid values:\n WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and\n NEVER.

\n WHEN_NO_MATCH passes the request body for unmapped content types through\n to the integration backend without transformation.

\n NEVER rejects unmapped content types with an HTTP 415 Unsupported\n Media Type response.

\n WHEN_NO_TEMPLATES allows pass-through when the integration has no\n content types mapped to templates. However, if there is at least one content type\n defined, unmapped content types will be rejected with the same HTTP 415\n Unsupported Media Type response.

" + }, + "RequestParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "requestParameters", + "documentation" : "

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

" + }, + "RequestTemplates" : { + "shape" : "TemplateMap", + "locationName" : "requestTemplates", + "documentation" : "

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

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expression for the integration.

" + }, + "TimeoutInMillis" : { + "shape" : "IntegerWithLengthBetween50And29000", + "locationName" : "timeoutInMillis", + "documentation" : "

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

" + } + }, + "documentation" : "

Represents an integration.

" + }, + "IntegrationParameters" : { + "type" : "map", + "documentation" : "

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

", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "StringWithLengthBetween1And512" + } + }, + "IntegrationResponse" : { + "type" : "structure", + "members" : { + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

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

\n CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded\n string to the corresponding binary blob.

\n CONVERT_TO_TEXT: Converts a response payload from a binary blob to a\n Base64-encoded string.

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

" + }, + "IntegrationResponseId" : { + "shape" : "Id", + "locationName" : "integrationResponseId", + "documentation" : "

The integration response ID.

" + }, + "IntegrationResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "integrationResponseKey", + "documentation" : "

The integration response key.

" + }, + "ResponseParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "responseParameters", + "documentation" : "

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

" + }, + "ResponseTemplates" : { + "shape" : "TemplateMap", + "locationName" : "responseTemplates", + "documentation" : "

The collection of response templates for the integration response as a\n string-to-string map of key-value pairs. Response templates are represented as a\n key/value map, with a content-type as the key and a template as the value.

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expressions for the integration response.

" + } + }, + "documentation" : "

Represents an integration response.

", + "required" : [ "IntegrationResponseKey" ] + }, + "IntegrationResponses" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfIntegrationResponse", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + }, + "documentation" : "

Represents a collection of integration responses.

" + }, + "IntegrationType" : { + "type" : "string", + "documentation" : "

Represents an API method integration type.

", + "enum" : [ "AWS", "HTTP", "MOCK", "HTTP_PROXY", "AWS_PROXY" ] + }, + "Integrations" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfIntegration", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + }, + "documentation" : "

Represents a collection of integrations.

" + }, + "LimitExceededException" : { + "type" : "structure", + "members" : { + "LimitType" : { + "shape" : "__string", + "locationName" : "limitType", + "documentation" : "

The limit type.

" + }, + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "

Describes the error encountered.

" + } + }, + "documentation" : "

A limit has been exceeded. See the accompanying error message for details.

" + }, + "LoggingLevel" : { + "type" : "string", + "documentation" : "

The logging level.

", + "enum" : [ "ERROR", "INFO", "false" ] + }, + "Model" : { + "type" : "structure", + "members" : { + "ContentType" : { + "shape" : "StringWithLengthBetween1And256", + "locationName" : "contentType", + "documentation" : "

The content-type for the model, for example, \"application/json\".

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the model.

" + }, + "ModelId" : { + "shape" : "Id", + "locationName" : "modelId", + "documentation" : "

The model identifier.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the model. Must be alphanumeric.

" + }, + "Schema" : { + "shape" : "StringWithLengthBetween0And32K", + "locationName" : "schema", + "documentation" : "

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

" + } + }, + "documentation" : "

Represents a data model for an API. See Create Models and Mapping Templates for Request and Response\n Mappings.

", + "required" : [ "Name" ] + }, + "Models" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfModel", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + }, + "documentation" : "

Represents a collection of data models. See Create Models and Mapping Templates for Request and Response\n Mappings.

" + }, + "NextToken" : { + "type" : "string", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + }, + "NotFoundException" : { + "type" : "structure", + "members" : { + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "

Describes the error encountered.

" + }, + "ResourceType" : { + "shape" : "__string", + "locationName" : "resourceType", + "documentation" : "

The resource type.

" + } + }, + "documentation" : "

The resource specified in the request was not found. See the message\n field for more information.

", + "exception" : true, + "error" : { + "httpStatusCode" : 404 + } + }, + "ParameterConstraints" : { + "type" : "structure", + "members" : { + "Required" : { + "shape" : "__boolean", + "locationName" : "required", + "documentation" : "

Whether or not the parameter is required.

" + } + }, + "documentation" : "

Validation constraints imposed on parameters of a request (path, query string,\n headers).

" + }, + "PassthroughBehavior" : { + "type" : "string", + "documentation" : "

Represents passthrough behavior for an integration response.

", + "enum" : [ "WHEN_NO_MATCH", "NEVER", "WHEN_NO_TEMPLATES" ] + }, + "ProtocolType" : { + "type" : "string", + "documentation" : "", + "enum" : [ "WEBSOCKET" ] + }, + "ProviderArnList" : { + "type" : "list", + "documentation" : "

For REQUEST authorizer, this is not defined.

", + "member" : { + "shape" : "Arn" + } + }, + "Route" : { + "type" : "structure", + "members" : { + "ApiKeyRequired" : { + "shape" : "__boolean", + "locationName" : "apiKeyRequired", + "documentation" : "

Specifies whether an API key is required for this route.

" + }, + "AuthorizationScopes" : { + "shape" : "AuthorizationScopes", + "locationName" : "authorizationScopes", + "documentation" : "

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

" + }, + "AuthorizationType" : { + "shape" : "AuthorizationType", + "locationName" : "authorizationType", + "documentation" : "

The authorization type for the route. Valid values are NONE for open\n access, AWS_IAM for using AWS IAM permissions, and CUSTOM\n for using a Lambda\n authorizer

" + }, + "AuthorizerId" : { + "shape" : "Id", + "locationName" : "authorizerId", + "documentation" : "

The identifier of the Authorizer resource to be associated with this\n route, if the authorizationType is CUSTOM\n . The authorizer identifier is generated by API Gateway\n when you created the authorizer.

" + }, + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

The model selection expression for the route.

" + }, + "OperationName" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "operationName", + "documentation" : "

The operation name for the route.

" + }, + "RequestModels" : { + "shape" : "RouteModels", + "locationName" : "requestModels", + "documentation" : "

The request models for the route.

" + }, + "RequestParameters" : { + "shape" : "RouteParameters", + "locationName" : "requestParameters", + "documentation" : "

The request parameters for the route.

" + }, + "RouteId" : { + "shape" : "Id", + "locationName" : "routeId", + "documentation" : "

The route ID.

" + }, + "RouteKey" : { + "shape" : "SelectionKey", + "locationName" : "routeKey", + "documentation" : "

The route key for the route.

" + }, + "RouteResponseSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeResponseSelectionExpression", + "documentation" : "

The route response selection expression for the route.

" + }, + "Target" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "target", + "documentation" : "

The target for the route.

" + } + }, + "documentation" : "

Represents a route.

", + "required" : [ "RouteKey" ] + }, + "RouteModels" : { + "type" : "map", + "documentation" : "

The route models.

", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "StringWithLengthBetween1And128" + } + }, + "RouteParameters" : { + "type" : "map", + "documentation" : "

The route parameters.

", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "ParameterConstraints" + } + }, + "RouteResponse" : { + "type" : "structure", + "members" : { + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

Represents the model selection expression of a route response.

" + }, + "ResponseModels" : { + "shape" : "RouteModels", + "locationName" : "responseModels", + "documentation" : "

Represents the response models of a route response.

" + }, + "ResponseParameters" : { + "shape" : "RouteParameters", + "locationName" : "responseParameters", + "documentation" : "

Represents the response parameters of a route response.

" + }, + "RouteResponseId" : { + "shape" : "Id", + "locationName" : "routeResponseId", + "documentation" : "

Represents the identifier of a route response.

" + }, + "RouteResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "routeResponseKey", + "documentation" : "

Represents the route response key of a route response.

" + } + }, + "documentation" : "

Represents a route response.

", + "required" : [ "RouteResponseKey" ] + }, + "RouteResponses" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfRouteResponse", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + }, + "documentation" : "

Represents a collection of route responses.

" + }, + "RouteSettings" : { + "type" : "structure", + "members" : { + "DataTraceEnabled" : { + "shape" : "__boolean", + "locationName" : "dataTraceEnabled", + "documentation" : "

Specifies whether (true) or not (false) data trace\n logging is enabled for this route. This property affects the log entries pushed to\n Amazon CloudWatch Logs.

" + }, + "DetailedMetricsEnabled" : { + "shape" : "__boolean", + "locationName" : "detailedMetricsEnabled", + "documentation" : "

Specifies whether detailed metrics are enabled.

" + }, + "LoggingLevel" : { + "shape" : "LoggingLevel", + "locationName" : "loggingLevel", + "documentation" : "

Specifies the logging level for this route: DEBUG, INFO,\n or WARN. This property affects the log entries pushed to Amazon\n CloudWatch Logs.

" + }, + "ThrottlingBurstLimit" : { + "shape" : "__integer", + "locationName" : "throttlingBurstLimit", + "documentation" : "

Specifies the throttling burst limit.

" + }, + "ThrottlingRateLimit" : { + "shape" : "__double", + "locationName" : "throttlingRateLimit", + "documentation" : "

Specifies the throttling rate limit.

" + } + }, + "documentation" : "

Represents a collection of route settings.

" + }, + "RouteSettingsMap" : { + "type" : "map", + "documentation" : "

The route settings map.

", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "RouteSettings" + } + }, + "Routes" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfRoute", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + }, + "documentation" : "

Represents a collection of routes.

" + }, + "SelectionExpression" : { + "type" : "string", + "documentation" : "

An expression used to extract information at runtime. See Selection Expressions for more information.

" + }, + "SelectionKey" : { + "type" : "string", + "documentation" : "

After evaulating a selection expression, the result is compared against one or\n more selection keys to find a matching key. See Selection Expressions for a list of expressions and each expression's\n associated selection key type.

" + }, + "Stage" : { + "type" : "structure", + "members" : { + "AccessLogSettings" : { + "shape" : "AccessLogSettings", + "locationName" : "accessLogSettings", + "documentation" : "

Settings for logging access in this stage.

" + }, + "ClientCertificateId" : { + "shape" : "Id", + "locationName" : "clientCertificateId", + "documentation" : "

The identifier of a client certificate for a Stage.

" + }, + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The timestamp when the stage was created.

" + }, + "DefaultRouteSettings" : { + "shape" : "RouteSettings", + "locationName" : "defaultRouteSettings", + "documentation" : "

Default route settings for the stage.

" + }, + "DeploymentId" : { + "shape" : "Id", + "locationName" : "deploymentId", + "documentation" : "

The identifier of the Deployment that the Stage is\n associated with.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the stage.

" + }, + "LastUpdatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "lastUpdatedDate", + "documentation" : "

The timestamp when the stage was last updated.

" + }, + "RouteSettings" : { + "shape" : "RouteSettingsMap", + "locationName" : "routeSettings", + "documentation" : "

Route settings for the stage.

" + }, + "StageName" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stageName", + "documentation" : "

The name of the stage.

" + }, + "StageVariables" : { + "shape" : "StageVariablesMap", + "locationName" : "stageVariables", + "documentation" : "

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

" + } + }, + "documentation" : "

Represents an API stage.

", + "required" : [ "StageName" ] + }, + "StageVariablesMap" : { + "type" : "map", + "documentation" : "

The stage variable map.

", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "StringWithLengthBetween0And2048" + } + }, + "Stages" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfStage", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of\n the collection.

" + } + }, + "documentation" : "

A collection of Stage resources that are associated with the ApiKey\n resource.

" + }, + "StringWithLengthBetween0And1024" : { + "type" : "string", + "documentation" : "

A string with a length between [0-1024].

" + }, + "StringWithLengthBetween0And2048" : { + "type" : "string", + "documentation" : "

A string with a length between [0-2048].

" + }, + "StringWithLengthBetween0And32K" : { + "type" : "string", + "documentation" : "

A string with a length between [0-32768].

" + }, + "StringWithLengthBetween1And1024" : { + "type" : "string", + "documentation" : "

A string with a length between [1-1024].

" + }, + "StringWithLengthBetween1And128" : { + "type" : "string", + "documentation" : "

A string with a length between [1-128].

" + }, + "StringWithLengthBetween1And256" : { + "type" : "string", + "documentation" : "

A string with a length between [1-256].

" + }, + "StringWithLengthBetween1And512" : { + "type" : "string", + "documentation" : "

A string with a length between [1-512].

" + }, + "StringWithLengthBetween1And64" : { + "type" : "string", + "documentation" : "

A string with a length between [1-64].

" + }, + "Template" : { + "type" : "structure", + "members" : { + "Value" : { + "shape" : "__string", + "locationName" : "value", + "documentation" : "

The template value.

" + } + }, + "documentation" : "

Represents a template.

" + }, + "TemplateMap" : { + "type" : "map", + "documentation" : "

A mapping of identifier keys to templates. The value is an actual template script.\n The key is typically a SelectionKey which is chosen based on evaluating\n a selection expression.

", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "StringWithLengthBetween0And32K" + } + }, + "TooManyRequestsException" : { + "type" : "structure", + "members" : { + "LimitType" : { + "shape" : "__string", + "locationName" : "limitType", + "documentation" : "

The limit type.

" + }, + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "

Describes the error encountered.

" + } + }, + "documentation" : "

A limit has been exceeded. See the accompanying error message for details.

", + "exception" : true, + "error" : { + "httpStatusCode" : 429 + } + }, + "UpdateApiInput" : { + "type" : "structure", + "members" : { + "ApiKeySelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "apiKeySelectionExpression", + "documentation" : "

An API key selection expression. See API Key Selection Expressions.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the API.

" + }, + "DisableSchemaValidation" : { + "shape" : "__boolean", + "locationName" : "disableSchemaValidation", + "documentation" : "

Avoid validating models when creating a deployment.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the API.

" + }, + "RouteSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeSelectionExpression", + "documentation" : "

The route selection expression for the API.

" + }, + "Version" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "version", + "documentation" : "

A version identifier for the API.

" + } + }, + "documentation" : "

Represents the input parameters for an UpdateApi request.

" + }, + "UpdateApiMappingInput" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "Id", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ApiMappingKey" : { + "shape" : "SelectionKey", + "locationName" : "apiMappingKey", + "documentation" : "

The API mapping key.

" + }, + "Stage" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stage", + "documentation" : "

The API stage.

" + } + }, + "documentation" : "

Represents the input parameters for an UpdateApiMapping\n request.

" + }, + "UpdateApiMappingRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "Id", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ApiMappingId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiMappingId", + "documentation" : "

The API mapping identifier.

" + }, + "ApiMappingKey" : { + "shape" : "SelectionKey", + "locationName" : "apiMappingKey", + "documentation" : "

The API mapping key.

" + }, + "DomainName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "domainName", + "documentation" : "

The domain name.

" + }, + "Stage" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stage", + "documentation" : "

The API stage.

" + } + }, + "required" : [ "ApiMappingId", "ApiId", "DomainName" ] + }, + "UpdateApiMappingResponse" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "Id", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ApiMappingId" : { + "shape" : "Id", + "locationName" : "apiMappingId", + "documentation" : "

The API mapping identifier.

" + }, + "ApiMappingKey" : { + "shape" : "SelectionKey", + "locationName" : "apiMappingKey", + "documentation" : "

The API mapping key.

" + }, + "Stage" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stage", + "documentation" : "

The API stage.

" + } + } + }, + "UpdateApiRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ApiKeySelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "apiKeySelectionExpression", + "documentation" : "

An API key selection expression. See API Key Selection Expressions.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the API.

" + }, + "DisableSchemaValidation" : { + "shape" : "__boolean", + "locationName" : "disableSchemaValidation", + "documentation" : "

Avoid validating models when creating a deployment.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the API.

" + }, + "RouteSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeSelectionExpression", + "documentation" : "

The route selection expression for the API.

" + }, + "Version" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "version", + "documentation" : "

A version identifier for the API.

" + } + }, + "required" : [ "ApiId" ] + }, + "UpdateApiResponse" : { + "type" : "structure", + "members" : { + "ApiEndpoint" : { + "shape" : "__string", + "locationName" : "apiEndpoint", + "documentation" : "

The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The\n stage name is typically appended to this URI to form a complete path to a deployed\n API stage.

" + }, + "ApiId" : { + "shape" : "Id", + "locationName" : "apiId", + "documentation" : "

The API ID.

" + }, + "ApiKeySelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "apiKeySelectionExpression", + "documentation" : "

An API key selection expression. See API Key Selection Expressions.

" + }, + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The timestamp when the API was created.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the API.

" + }, + "DisableSchemaValidation" : { + "shape" : "__boolean", + "locationName" : "disableSchemaValidation", + "documentation" : "

Avoid validating models when creating a deployment.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the API.

" + }, + "ProtocolType" : { + "shape" : "ProtocolType", + "locationName" : "protocolType", + "documentation" : "

The API protocol: Currently only WEBSOCKET is supported.

" + }, + "RouteSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeSelectionExpression", + "documentation" : "

The route selection expression for the API.

" + }, + "Version" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "version", + "documentation" : "

A version identifier for the API.

" + }, + "Warnings" : { + "shape" : "__listOf__string", + "locationName" : "warnings", + "documentation" : "

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

" + } + } + }, + "UpdateAuthorizerInput" : { + "type" : "structure", + "members" : { + "AuthorizerCredentialsArn" : { + "shape" : "Arn", + "locationName" : "authorizerCredentialsArn", + "documentation" : "

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

" + }, + "AuthorizerResultTtlInSeconds" : { + "shape" : "IntegerWithLengthBetween0And3600", + "locationName" : "authorizerResultTtlInSeconds", + "documentation" : "

The time to live (TTL), in seconds, of cached authorizer results. If it is zero,\n authorization caching is disabled. If it is greater than zero, API Gateway will cache\n authorizer responses. If this field is not set, the default value is 300. The maximum\n value is 3600, or 1 hour.

" + }, + "AuthorizerType" : { + "shape" : "AuthorizerType", + "locationName" : "authorizerType", + "documentation" : "

The authorizer type. Currently the only valid value is REQUEST, for a\n Lambda function using incoming request parameters.

" + }, + "AuthorizerUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "authorizerUri", + "documentation" : "

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

" + }, + "IdentitySource" : { + "shape" : "IdentitySourceList", + "locationName" : "identitySource", + "documentation" : "

The identity source for which authorization is requested.

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

" + }, + "IdentityValidationExpression" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "identityValidationExpression", + "documentation" : "

The\n validation expression does not apply to the REQUEST authorizer.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the authorizer.

" + }, + "ProviderArns" : { + "shape" : "ProviderArnList", + "locationName" : "providerArns", + "documentation" : "

For\n REQUEST authorizer, this is not\n defined.

" + } + }, + "documentation" : "

The input parameters for an UpdateAuthorizer request.

" + }, + "UpdateAuthorizerRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "AuthorizerCredentialsArn" : { + "shape" : "Arn", + "locationName" : "authorizerCredentialsArn", + "documentation" : "

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

" + }, + "AuthorizerId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "authorizerId", + "documentation" : "

The authorizer identifier.

" + }, + "AuthorizerResultTtlInSeconds" : { + "shape" : "IntegerWithLengthBetween0And3600", + "locationName" : "authorizerResultTtlInSeconds", + "documentation" : "

The time to live (TTL), in seconds, of cached authorizer results. If it is zero,\n authorization caching is disabled. If it is greater than zero, API Gateway will cache\n authorizer responses. If this field is not set, the default value is 300. The maximum\n value is 3600, or 1 hour.

" + }, + "AuthorizerType" : { + "shape" : "AuthorizerType", + "locationName" : "authorizerType", + "documentation" : "

The authorizer type. Currently the only valid value is REQUEST, for a\n Lambda function using incoming request parameters.

" + }, + "AuthorizerUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "authorizerUri", + "documentation" : "

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

" + }, + "IdentitySource" : { + "shape" : "IdentitySourceList", + "locationName" : "identitySource", + "documentation" : "

The identity source for which authorization is requested.

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

" + }, + "IdentityValidationExpression" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "identityValidationExpression", + "documentation" : "

The\n validation expression does not apply to the REQUEST authorizer.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the authorizer.

" + }, + "ProviderArns" : { + "shape" : "ProviderArnList", + "locationName" : "providerArns", + "documentation" : "

For\n REQUEST authorizer, this is not\n defined.

" + } + }, + "required" : [ "AuthorizerId", "ApiId" ] + }, + "UpdateAuthorizerResponse" : { + "type" : "structure", + "members" : { + "AuthorizerCredentialsArn" : { + "shape" : "Arn", + "locationName" : "authorizerCredentialsArn", + "documentation" : "

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

" + }, + "AuthorizerId" : { + "shape" : "Id", + "locationName" : "authorizerId", + "documentation" : "

The authorizer identifier.

" + }, + "AuthorizerResultTtlInSeconds" : { + "shape" : "IntegerWithLengthBetween0And3600", + "locationName" : "authorizerResultTtlInSeconds", + "documentation" : "

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

" + }, + "AuthorizerType" : { + "shape" : "AuthorizerType", + "locationName" : "authorizerType", + "documentation" : "

The authorizer type. Currently the only valid value is REQUEST, for a\n Lambda function using incoming request parameters.

" + }, + "AuthorizerUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "authorizerUri", + "documentation" : "

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

" + }, + "IdentitySource" : { + "shape" : "IdentitySourceList", + "locationName" : "identitySource", + "documentation" : "

The identity source for which authorization is requested.

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

" + }, + "IdentityValidationExpression" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "identityValidationExpression", + "documentation" : "

The\n validation expression does not apply to the REQUEST authorizer.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the authorizer.

" + }, + "ProviderArns" : { + "shape" : "ProviderArnList", + "locationName" : "providerArns", + "documentation" : "

For\n REQUEST authorizer, this is not\n defined.

" + } + } + }, + "UpdateDeploymentInput" : { + "type" : "structure", + "members" : { + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description for the deployment resource.

" + } + }, + "documentation" : "

Represents the input parameters for an UpdateDeployment\n request.

" + }, + "UpdateDeploymentRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "DeploymentId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "deploymentId", + "documentation" : "

The deployment ID.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description for the deployment resource.

" + } + }, + "required" : [ "ApiId", "DeploymentId" ] + }, + "UpdateDeploymentResponse" : { + "type" : "structure", + "members" : { + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The date and time when the Deployment resource was created.

" + }, + "DeploymentId" : { + "shape" : "Id", + "locationName" : "deploymentId", + "documentation" : "

The identifier for the deployment.

" + }, + "DeploymentStatus" : { + "shape" : "DeploymentStatus", + "locationName" : "deploymentStatus", + "documentation" : "

The status of the deployment: PENDING, FAILED, or\n SUCCEEDED.

" + }, + "DeploymentStatusMessage" : { + "shape" : "__string", + "locationName" : "deploymentStatusMessage", + "documentation" : "

May contain additional feedback on the status of an API deployment.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description for the deployment.

" + } + } + }, + "UpdateDomainNameInput" : { + "type" : "structure", + "members" : { + "DomainNameConfigurations" : { + "shape" : "DomainNameConfigurations", + "locationName" : "domainNameConfigurations", + "documentation" : "

The domain name configurations.

" + } + }, + "documentation" : "

Represents the input parameters for an UpdateDomainName\n request.

" + }, + "UpdateDomainNameRequest" : { + "type" : "structure", + "members" : { + "DomainName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "domainName", + "documentation" : "

The domain name.

" + }, + "DomainNameConfigurations" : { + "shape" : "DomainNameConfigurations", + "locationName" : "domainNameConfigurations", + "documentation" : "

The domain name configurations.

" + } + }, + "required" : [ "DomainName" ] + }, + "UpdateDomainNameResponse" : { + "type" : "structure", + "members" : { + "ApiMappingSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "apiMappingSelectionExpression", + "documentation" : "

The API mapping selection expression.

" + }, + "DomainName" : { + "shape" : "StringWithLengthBetween1And512", + "locationName" : "domainName", + "documentation" : "

The name of the DomainName resource.

" + }, + "DomainNameConfigurations" : { + "shape" : "DomainNameConfigurations", + "locationName" : "domainNameConfigurations", + "documentation" : "

The domain name configurations.

" + } + } + }, + "UpdateIntegrationInput" : { + "type" : "structure", + "members" : { + "ConnectionId" : { + "shape" : "StringWithLengthBetween1And1024", + "locationName" : "connectionId", + "documentation" : "

The connection ID.

" + }, + "ConnectionType" : { + "shape" : "ConnectionType", + "locationName" : "connectionType", + "documentation" : "

The type of the network connection to the integration endpoint. Currently the only\n valid value is INTERNET, for connections through the public routable\n internet.

" + }, + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

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

\n CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded\n string to the corresponding binary blob.

\n CONVERT_TO_TEXT: Converts a response payload from a binary blob to a\n Base64-encoded string.

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

" + }, + "CredentialsArn" : { + "shape" : "Arn", + "locationName" : "credentialsArn", + "documentation" : "

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

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the integration

" + }, + "IntegrationMethod" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "integrationMethod", + "documentation" : "

Specifies the integration's HTTP method type.

" + }, + "IntegrationType" : { + "shape" : "IntegrationType", + "locationName" : "integrationType", + "documentation" : "

The integration type of an integration. One of the following:

\n AWS: for integrating the route or method request with an AWS service\n action, including the Lambda function-invoking action. With the Lambda\n function-invoking action, this is referred to as the Lambda custom integration. With\n any other AWS service action, this is known as AWS integration.

\n AWS_PROXY: for integrating the route or method request with the Lambda\n function-invoking action with the client request passed through as-is. This\n integration is also referred to as Lambda proxy integration.

\n HTTP: for integrating the route or method request with an HTTP\n endpoint. This\n integration is also referred to as the HTTP custom integration.

\n HTTP_PROXY: for integrating route or method request with an HTTP\n endpoint, with the client\n request passed through as-is. This is also referred to as HTTP proxy\n integration.

\n MOCK: for integrating the route or method request with API Gateway as a\n \"loopback\" endpoint without invoking any backend.

" + }, + "IntegrationUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "integrationUri", + "documentation" : "

For a Lambda proxy integration, this is the URI of the Lambda function.

" + }, + "PassthroughBehavior" : { + "shape" : "PassthroughBehavior", + "locationName" : "passthroughBehavior", + "documentation" : "

Specifies the pass-through behavior for incoming requests based on the\n Content-Type header in the request, and the available mapping\n templates specified as the requestTemplates property on the\n Integration resource. There are three valid values:\n WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and\n NEVER.

\n WHEN_NO_MATCH passes the request body for unmapped content types through\n to the integration backend without transformation.

\n NEVER rejects unmapped content types with an HTTP 415 Unsupported\n Media Type response.

\n WHEN_NO_TEMPLATES allows pass-through when the integration has no\n content types mapped to templates. However, if there is at least one content type\n defined, unmapped content types will be rejected with the same HTTP 415\n Unsupported Media Type response.

" + }, + "RequestParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "requestParameters", + "documentation" : "

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

" + }, + "RequestTemplates" : { + "shape" : "TemplateMap", + "locationName" : "requestTemplates", + "documentation" : "

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

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expression for the integration.

" + }, + "TimeoutInMillis" : { + "shape" : "IntegerWithLengthBetween50And29000", + "locationName" : "timeoutInMillis", + "documentation" : "

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

" + } + }, + "documentation" : "

Represents the input parameters for an UpdateIntegration\n request.

" + }, + "UpdateIntegrationRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ConnectionId" : { + "shape" : "StringWithLengthBetween1And1024", + "locationName" : "connectionId", + "documentation" : "

The connection ID.

" + }, + "ConnectionType" : { + "shape" : "ConnectionType", + "locationName" : "connectionType", + "documentation" : "

The type of the network connection to the integration endpoint. Currently the only\n valid value is INTERNET, for connections through the public routable\n internet.

" + }, + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

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

\n CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded\n string to the corresponding binary blob.

\n CONVERT_TO_TEXT: Converts a response payload from a binary blob to a\n Base64-encoded string.

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

" + }, + "CredentialsArn" : { + "shape" : "Arn", + "locationName" : "credentialsArn", + "documentation" : "

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

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the integration

" + }, + "IntegrationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "integrationId", + "documentation" : "

The integration ID.

" + }, + "IntegrationMethod" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "integrationMethod", + "documentation" : "

Specifies the integration's HTTP method type.

" + }, + "IntegrationType" : { + "shape" : "IntegrationType", + "locationName" : "integrationType", + "documentation" : "

The integration type of an integration. One of the following:

\n AWS: for integrating the route or method request with an AWS service\n action, including the Lambda function-invoking action. With the Lambda\n function-invoking action, this is referred to as the Lambda custom integration. With\n any other AWS service action, this is known as AWS integration.

\n AWS_PROXY: for integrating the route or method request with the Lambda\n function-invoking action with the client request passed through as-is. This\n integration is also referred to as Lambda proxy integration.

\n HTTP: for integrating the route or method request with an HTTP\n endpoint. This\n integration is also referred to as the HTTP custom integration.

\n HTTP_PROXY: for integrating route or method request with an HTTP\n endpoint, with the client\n request passed through as-is. This is also referred to as HTTP proxy\n integration.

\n MOCK: for integrating the route or method request with API Gateway as a\n \"loopback\" endpoint without invoking any backend.

" + }, + "IntegrationUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "integrationUri", + "documentation" : "

For a Lambda proxy integration, this is the URI of the Lambda function.

" + }, + "PassthroughBehavior" : { + "shape" : "PassthroughBehavior", + "locationName" : "passthroughBehavior", + "documentation" : "

Specifies the pass-through behavior for incoming requests based on the\n Content-Type header in the request, and the available mapping\n templates specified as the requestTemplates property on the\n Integration resource. There are three valid values:\n WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and\n NEVER.

\n WHEN_NO_MATCH passes the request body for unmapped content types through\n to the integration backend without transformation.

\n NEVER rejects unmapped content types with an HTTP 415 Unsupported\n Media Type response.

\n WHEN_NO_TEMPLATES allows pass-through when the integration has no\n content types mapped to templates. However, if there is at least one content type\n defined, unmapped content types will be rejected with the same HTTP 415\n Unsupported Media Type response.

" + }, + "RequestParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "requestParameters", + "documentation" : "

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

" + }, + "RequestTemplates" : { + "shape" : "TemplateMap", + "locationName" : "requestTemplates", + "documentation" : "

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

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expression for the integration.

" + }, + "TimeoutInMillis" : { + "shape" : "IntegerWithLengthBetween50And29000", + "locationName" : "timeoutInMillis", + "documentation" : "

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

" + } + }, + "required" : [ "ApiId", "IntegrationId" ] + }, + "UpdateIntegrationResponse" : { + "type" : "structure", + "members" : { + "ConnectionId" : { + "shape" : "StringWithLengthBetween1And1024", + "locationName" : "connectionId", + "documentation" : "

The connection ID.

" + }, + "ConnectionType" : { + "shape" : "ConnectionType", + "locationName" : "connectionType", + "documentation" : "

The type of the network connection to the integration endpoint. Currently the only\n valid value is INTERNET, for connections through the public routable\n internet.

" + }, + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

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

\n CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded\n string to the corresponding binary blob.

\n CONVERT_TO_TEXT: Converts a response payload from a binary blob to a\n Base64-encoded string.

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

" + }, + "CredentialsArn" : { + "shape" : "Arn", + "locationName" : "credentialsArn", + "documentation" : "

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

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

Represents the description of an integration.

" + }, + "IntegrationId" : { + "shape" : "Id", + "locationName" : "integrationId", + "documentation" : "

Represents the identifier of an integration.

" + }, + "IntegrationMethod" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "integrationMethod", + "documentation" : "

Specifies the integration's HTTP method type.

" + }, + "IntegrationResponseSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "integrationResponseSelectionExpression", + "documentation" : "

The integration response selection expression for the integration. See Integration Response Selection Expressions.

" + }, + "IntegrationType" : { + "shape" : "IntegrationType", + "locationName" : "integrationType", + "documentation" : "

The integration type of an integration. One of the following:

\n AWS: for integrating the route or method request with an AWS service\n action, including the Lambda function-invoking action. With the Lambda\n function-invoking action, this is referred to as the Lambda custom integration. With\n any other AWS service action, this is known as AWS integration.

\n AWS_PROXY: for integrating the route or method request with the Lambda\n function-invoking action with the client request passed through as-is. This\n integration is also referred to as Lambda proxy integration.

\n HTTP: for integrating the route or method request with an HTTP\n endpoint. This\n integration is also referred to as the HTTP custom integration.

\n HTTP_PROXY: for integrating route or method request with an HTTP\n endpoint, with the client\n request passed through as-is. This is also referred to as HTTP proxy\n integration.

\n MOCK: for integrating the route or method request with API Gateway as a\n \"loopback\" endpoint without invoking any backend.

" + }, + "IntegrationUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "integrationUri", + "documentation" : "

For a Lambda proxy integration, this is the URI of the Lambda function.

" + }, + "PassthroughBehavior" : { + "shape" : "PassthroughBehavior", + "locationName" : "passthroughBehavior", + "documentation" : "

Specifies the pass-through behavior for incoming requests based on the\n Content-Type header in the request, and the available mapping\n templates specified as the requestTemplates property on the\n Integration resource. There are three valid values:\n WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and\n NEVER.

\n WHEN_NO_MATCH passes the request body for unmapped content types through\n to the integration backend without transformation.

\n NEVER rejects unmapped content types with an HTTP 415 Unsupported\n Media Type response.

\n WHEN_NO_TEMPLATES allows pass-through when the integration has no\n content types mapped to templates. However, if there is at least one content type\n defined, unmapped content types will be rejected with the same HTTP 415\n Unsupported Media Type response.

" + }, + "RequestParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "requestParameters", + "documentation" : "

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

" + }, + "RequestTemplates" : { + "shape" : "TemplateMap", + "locationName" : "requestTemplates", + "documentation" : "

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

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expression for the integration.

" + }, + "TimeoutInMillis" : { + "shape" : "IntegerWithLengthBetween50And29000", + "locationName" : "timeoutInMillis", + "documentation" : "

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

" + } + } + }, + "UpdateIntegrationResponseInput" : { + "type" : "structure", + "members" : { + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

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

\n CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded\n string to the corresponding binary blob.

\n CONVERT_TO_TEXT: Converts a response payload from a binary blob to a\n Base64-encoded string.

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

" + }, + "IntegrationResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "integrationResponseKey", + "documentation" : "

The integration response key.

" + }, + "ResponseParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "responseParameters", + "documentation" : "

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

" + }, + "ResponseTemplates" : { + "shape" : "TemplateMap", + "locationName" : "responseTemplates", + "documentation" : "

The collection of response templates for the integration response as a\n string-to-string map of key-value pairs. Response templates are represented as a\n key/value map, with a content-type as the key and a template as the value.

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expression for the integration response.

" + } + }, + "documentation" : "

Represents the input parameters for an UpdateIntegrationResponse\n request.

" + }, + "UpdateIntegrationResponseRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

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

\n CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded\n string to the corresponding binary blob.

\n CONVERT_TO_TEXT: Converts a response payload from a binary blob to a\n Base64-encoded string.

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

" + }, + "IntegrationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "integrationId", + "documentation" : "

The integration ID.

" + }, + "IntegrationResponseId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "integrationResponseId", + "documentation" : "The integration response ID." + }, + "IntegrationResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "integrationResponseKey", + "documentation" : "

The integration response key.

" + }, + "ResponseParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "responseParameters", + "documentation" : "

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

" + }, + "ResponseTemplates" : { + "shape" : "TemplateMap", + "locationName" : "responseTemplates", + "documentation" : "

The collection of response templates for the integration response as a\n string-to-string map of key-value pairs. Response templates are represented as a\n key/value map, with a content-type as the key and a template as the value.

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expression for the integration response.

" + } + }, + "required" : [ "ApiId", "IntegrationResponseId", "IntegrationId" ] + }, + "UpdateIntegrationResponseResponse" : { + "type" : "structure", + "members" : { + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

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

\n CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded\n string to the corresponding binary blob.

\n CONVERT_TO_TEXT: Converts a response payload from a binary blob to a\n Base64-encoded string.

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

" + }, + "IntegrationResponseId" : { + "shape" : "Id", + "locationName" : "integrationResponseId", + "documentation" : "

The integration response ID.

" + }, + "IntegrationResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "integrationResponseKey", + "documentation" : "

The integration response key.

" + }, + "ResponseParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "responseParameters", + "documentation" : "

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

" + }, + "ResponseTemplates" : { + "shape" : "TemplateMap", + "locationName" : "responseTemplates", + "documentation" : "

The collection of response templates for the integration response as a\n string-to-string map of key-value pairs. Response templates are represented as a\n key/value map, with a content-type as the key and a template as the value.

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expressions for the integration response.

" + } + } + }, + "UpdateModelInput" : { + "type" : "structure", + "members" : { + "ContentType" : { + "shape" : "StringWithLengthBetween1And256", + "locationName" : "contentType", + "documentation" : "

The content-type for the model, for example, \"application/json\".

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the model.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the model.

" + }, + "Schema" : { + "shape" : "StringWithLengthBetween0And32K", + "locationName" : "schema", + "documentation" : "

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

" + } + }, + "documentation" : "

Represents the input parameters for an UpdateModel request.

" + }, + "UpdateModelRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ContentType" : { + "shape" : "StringWithLengthBetween1And256", + "locationName" : "contentType", + "documentation" : "

The content-type for the model, for example, \"application/json\".

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the model.

" + }, + "ModelId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "modelId", + "documentation" : "

The model ID.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the model.

" + }, + "Schema" : { + "shape" : "StringWithLengthBetween0And32K", + "locationName" : "schema", + "documentation" : "

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

" + } + }, + "required" : [ "ModelId", "ApiId" ] + }, + "UpdateModelResponse" : { + "type" : "structure", + "members" : { + "ContentType" : { + "shape" : "StringWithLengthBetween1And256", + "locationName" : "contentType", + "documentation" : "

The content-type for the model, for example, \"application/json\".

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the model.

" + }, + "ModelId" : { + "shape" : "Id", + "locationName" : "modelId", + "documentation" : "

The model identifier.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the model. Must be alphanumeric.

" + }, + "Schema" : { + "shape" : "StringWithLengthBetween0And32K", + "locationName" : "schema", + "documentation" : "

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

" + } + } + }, + "UpdateRouteInput" : { + "type" : "structure", + "members" : { + "ApiKeyRequired" : { + "shape" : "__boolean", + "locationName" : "apiKeyRequired", + "documentation" : "

Specifies whether an API key is required for the route.

" + }, + "AuthorizationScopes" : { + "shape" : "AuthorizationScopes", + "locationName" : "authorizationScopes", + "documentation" : "

The authorization scopes supported by this\n route.

" + }, + "AuthorizationType" : { + "shape" : "AuthorizationType", + "locationName" : "authorizationType", + "documentation" : "

The authorization type for the route. Valid values are NONE for open\n access, AWS_IAM for using AWS IAM permissions, and CUSTOM\n for using a Lambda\n authorizer.

" + }, + "AuthorizerId" : { + "shape" : "Id", + "locationName" : "authorizerId", + "documentation" : "

The identifier of the Authorizer resource to be associated with this\n route, if the authorizationType is CUSTOM\n . The authorizer identifier is generated by API Gateway\n when you created the authorizer.

" + }, + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

The model selection expression for the route.

" + }, + "OperationName" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "operationName", + "documentation" : "

The operation name for the route.

" + }, + "RequestModels" : { + "shape" : "RouteModels", + "locationName" : "requestModels", + "documentation" : "

The request models for the route.

" + }, + "RequestParameters" : { + "shape" : "RouteParameters", + "locationName" : "requestParameters", + "documentation" : "

The request parameters for the route.

" + }, + "RouteKey" : { + "shape" : "SelectionKey", + "locationName" : "routeKey", + "documentation" : "

The route key for the route.

" + }, + "RouteResponseSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeResponseSelectionExpression", + "documentation" : "

The route response selection expression for the route.

" + }, + "Target" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "target", + "documentation" : "

The target for the route.

" + } + }, + "documentation" : "

Represents the input parameters for an UpdateRoute request.

" + }, + "UpdateRouteRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ApiKeyRequired" : { + "shape" : "__boolean", + "locationName" : "apiKeyRequired", + "documentation" : "

Specifies whether an API key is required for the route.

" + }, + "AuthorizationScopes" : { + "shape" : "AuthorizationScopes", + "locationName" : "authorizationScopes", + "documentation" : "

The authorization scopes supported by this\n route.

" + }, + "AuthorizationType" : { + "shape" : "AuthorizationType", + "locationName" : "authorizationType", + "documentation" : "

The authorization type for the route. Valid values are NONE for open\n access, AWS_IAM for using AWS IAM permissions, and CUSTOM\n for using a Lambda\n authorizer.

" + }, + "AuthorizerId" : { + "shape" : "Id", + "locationName" : "authorizerId", + "documentation" : "

The identifier of the Authorizer resource to be associated with this\n route, if the authorizationType is CUSTOM\n . The authorizer identifier is generated by API Gateway\n when you created the authorizer.

" + }, + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

The model selection expression for the route.

" + }, + "OperationName" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "operationName", + "documentation" : "

The operation name for the route.

" + }, + "RequestModels" : { + "shape" : "RouteModels", + "locationName" : "requestModels", + "documentation" : "

The request models for the route.

" + }, + "RequestParameters" : { + "shape" : "RouteParameters", + "locationName" : "requestParameters", + "documentation" : "

The request parameters for the route.

" + }, + "RouteId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "routeId", + "documentation" : "

The route ID.

" + }, + "RouteKey" : { + "shape" : "SelectionKey", + "locationName" : "routeKey", + "documentation" : "

The route key for the route.

" + }, + "RouteResponseSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeResponseSelectionExpression", + "documentation" : "

The route response selection expression for the route.

" + }, + "Target" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "target", + "documentation" : "

The target for the route.

" + } + }, + "required" : [ "ApiId", "RouteId" ] + }, + "UpdateRouteResponse" : { + "type" : "structure", + "members" : { + "ApiKeyRequired" : { + "shape" : "__boolean", + "locationName" : "apiKeyRequired", + "documentation" : "

Specifies whether an API key is required for this route.

" + }, + "AuthorizationScopes" : { + "shape" : "AuthorizationScopes", + "locationName" : "authorizationScopes", + "documentation" : "

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

" + }, + "AuthorizationType" : { + "shape" : "AuthorizationType", + "locationName" : "authorizationType", + "documentation" : "

The authorization type for the route. Valid values are NONE for open\n access, AWS_IAM for using AWS IAM permissions, and CUSTOM\n for using a Lambda\n authorizer

" + }, + "AuthorizerId" : { + "shape" : "Id", + "locationName" : "authorizerId", + "documentation" : "

The identifier of the Authorizer resource to be associated with this\n route, if the authorizationType is CUSTOM\n . The authorizer identifier is generated by API Gateway\n when you created the authorizer.

" + }, + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

The model selection expression for the route.

" + }, + "OperationName" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "operationName", + "documentation" : "

The operation name for the route.

" + }, + "RequestModels" : { + "shape" : "RouteModels", + "locationName" : "requestModels", + "documentation" : "

The request models for the route.

" + }, + "RequestParameters" : { + "shape" : "RouteParameters", + "locationName" : "requestParameters", + "documentation" : "

The request parameters for the route.

" + }, + "RouteId" : { + "shape" : "Id", + "locationName" : "routeId", + "documentation" : "

The route ID.

" + }, + "RouteKey" : { + "shape" : "SelectionKey", + "locationName" : "routeKey", + "documentation" : "

The route key for the route.

" + }, + "RouteResponseSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeResponseSelectionExpression", + "documentation" : "

The route response selection expression for the route.

" + }, + "Target" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "target", + "documentation" : "

The target for the route.

" + } + } + }, + "UpdateRouteResponseInput" : { + "type" : "structure", + "members" : { + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

The model selection expression for the route response.

" + }, + "ResponseModels" : { + "shape" : "RouteModels", + "locationName" : "responseModels", + "documentation" : "

The response models for the route response.

" + }, + "ResponseParameters" : { + "shape" : "RouteParameters", + "locationName" : "responseParameters", + "documentation" : "

The route response parameters.

" + }, + "RouteResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "routeResponseKey", + "documentation" : "

The route response key.

" + } + }, + "documentation" : "

Represents the input parameters for an UpdateRouteResponse\n request.

" + }, + "UpdateRouteResponseRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

The model selection expression for the route response.

" + }, + "ResponseModels" : { + "shape" : "RouteModels", + "locationName" : "responseModels", + "documentation" : "

The response models for the route response.

" + }, + "ResponseParameters" : { + "shape" : "RouteParameters", + "locationName" : "responseParameters", + "documentation" : "

The route response parameters.

" + }, + "RouteId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "routeId", + "documentation" : "

The route ID.

" + }, + "RouteResponseId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "routeResponseId", + "documentation" : "

The route response ID.

" + }, + "RouteResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "routeResponseKey", + "documentation" : "

The route response key.

" + } + }, + "required" : [ "RouteResponseId", "ApiId", "RouteId" ] + }, + "UpdateRouteResponseResponse" : { + "type" : "structure", + "members" : { + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

Represents the model selection expression of a route response.

" + }, + "ResponseModels" : { + "shape" : "RouteModels", + "locationName" : "responseModels", + "documentation" : "

Represents the response models of a route response.

" + }, + "ResponseParameters" : { + "shape" : "RouteParameters", + "locationName" : "responseParameters", + "documentation" : "

Represents the response parameters of a route response.

" + }, + "RouteResponseId" : { + "shape" : "Id", + "locationName" : "routeResponseId", + "documentation" : "

Represents the identifier of a route response.

" + }, + "RouteResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "routeResponseKey", + "documentation" : "

Represents the route response key of a route response.

" + } + } + }, + "UpdateStageInput" : { + "type" : "structure", + "members" : { + "AccessLogSettings" : { + "shape" : "AccessLogSettings", + "locationName" : "accessLogSettings", + "documentation" : "

Settings for logging access in this stage.

" + }, + "ClientCertificateId" : { + "shape" : "Id", + "locationName" : "clientCertificateId", + "documentation" : "

The identifier of a client certificate for a Stage.

" + }, + "DefaultRouteSettings" : { + "shape" : "RouteSettings", + "locationName" : "defaultRouteSettings", + "documentation" : "

The default route settings for the stage.

" + }, + "DeploymentId" : { + "shape" : "Id", + "locationName" : "deploymentId", + "documentation" : "

The deployment identifier for the API stage.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description for the API stage.

" + }, + "RouteSettings" : { + "shape" : "RouteSettingsMap", + "locationName" : "routeSettings", + "documentation" : "

Route settings for the stage.

" + }, + "StageVariables" : { + "shape" : "StageVariablesMap", + "locationName" : "stageVariables", + "documentation" : "

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

" + } + }, + "documentation" : "

Represents the input parameters for an UpdateStage request.

" + }, + "UpdateStageRequest" : { + "type" : "structure", + "members" : { + "AccessLogSettings" : { + "shape" : "AccessLogSettings", + "locationName" : "accessLogSettings", + "documentation" : "

Settings for logging access in this stage.

" + }, + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ClientCertificateId" : { + "shape" : "Id", + "locationName" : "clientCertificateId", + "documentation" : "

The identifier of a client certificate for a Stage.

" + }, + "DefaultRouteSettings" : { + "shape" : "RouteSettings", + "locationName" : "defaultRouteSettings", + "documentation" : "

The default route settings for the stage.

" + }, + "DeploymentId" : { + "shape" : "Id", + "locationName" : "deploymentId", + "documentation" : "

The deployment identifier for the API stage.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description for the API stage.

" + }, + "RouteSettings" : { + "shape" : "RouteSettingsMap", + "locationName" : "routeSettings", + "documentation" : "

Route settings for the stage.

" + }, + "StageName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "stageName", + "documentation" : "

The stage name.

" + }, + "StageVariables" : { + "shape" : "StageVariablesMap", + "locationName" : "stageVariables", + "documentation" : "

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

" + } + }, + "required" : [ "StageName", "ApiId" ] + }, + "UpdateStageResponse" : { + "type" : "structure", + "members" : { + "AccessLogSettings" : { + "shape" : "AccessLogSettings", + "locationName" : "accessLogSettings", + "documentation" : "

Settings for logging access in this stage.

" + }, + "ClientCertificateId" : { + "shape" : "Id", + "locationName" : "clientCertificateId", + "documentation" : "

The identifier of a client certificate for a Stage.

" + }, + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The timestamp when the stage was created.

" + }, + "DefaultRouteSettings" : { + "shape" : "RouteSettings", + "locationName" : "defaultRouteSettings", + "documentation" : "

Default route settings for the stage.

" + }, + "DeploymentId" : { + "shape" : "Id", + "locationName" : "deploymentId", + "documentation" : "

The identifier of the Deployment that the Stage is\n associated with.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the stage.

" + }, + "LastUpdatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "lastUpdatedDate", + "documentation" : "

The timestamp when the stage was last updated.

" + }, + "RouteSettings" : { + "shape" : "RouteSettingsMap", + "locationName" : "routeSettings", + "documentation" : "

Route settings for the stage.

" + }, + "StageName" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stageName", + "documentation" : "

The name of the stage.

" + }, + "StageVariables" : { + "shape" : "StageVariablesMap", + "locationName" : "stageVariables", + "documentation" : "

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

" + } + } + }, + "UriWithLengthBetween1And2048" : { + "type" : "string", + "documentation" : "

A string representation of a URI with a length between [1-2048].

" + }, + "__boolean" : { + "type" : "boolean" + }, + "__double" : { + "type" : "double" + }, + "__integer" : { + "type" : "integer" + }, + "__listOfApi" : { + "type" : "list", + "member" : { + "shape" : "Api" + } + }, + "__listOfApiMapping" : { + "type" : "list", + "member" : { + "shape" : "ApiMapping" + } + }, + "__listOfAuthorizer" : { + "type" : "list", + "member" : { + "shape" : "Authorizer" + } + }, + "__listOfDeployment" : { + "type" : "list", + "member" : { + "shape" : "Deployment" + } + }, + "__listOfDomainName" : { + "type" : "list", + "member" : { + "shape" : "DomainName" + } + }, + "__listOfIntegration" : { + "type" : "list", + "member" : { + "shape" : "Integration" + } + }, + "__listOfIntegrationResponse" : { + "type" : "list", + "member" : { + "shape" : "IntegrationResponse" + } + }, + "__listOfModel" : { + "type" : "list", + "member" : { + "shape" : "Model" + } + }, + "__listOfRoute" : { + "type" : "list", + "member" : { + "shape" : "Route" + } + }, + "__listOfRouteResponse" : { + "type" : "list", + "member" : { + "shape" : "RouteResponse" + } + }, + "__listOfStage" : { + "type" : "list", + "member" : { + "shape" : "Stage" + } + }, + "__listOf__string" : { + "type" : "list", + "member" : { + "shape" : "__string" + } + }, + "__long" : { + "type" : "long" + }, + "__string" : { + "type" : "string" + }, + "__timestampIso8601" : { + "type" : "timestamp", + "timestampFormat" : "iso8601" + }, + "__timestampUnix" : { + "type" : "timestamp", + "timestampFormat" : "unixTimestamp" + } + }, + "authorizers" : { + "authorization_strategy" : { + "name" : "authorization_strategy", + "type" : "provided", + "placement" : { + "location" : "header", + "name" : "Authorization" + } + } + }, + "documentation" : "

Amazon API Gateway V2

" +} diff --git a/bin/botocore/data/application-autoscaling/2016-02-06/paginators-1.json b/bin/botocore/data/application-autoscaling/2016-02-06/paginators-1.json index 178af24d..7ec8f3af 100644 --- a/bin/botocore/data/application-autoscaling/2016-02-06/paginators-1.json +++ b/bin/botocore/data/application-autoscaling/2016-02-06/paginators-1.json @@ -17,6 +17,12 @@ "output_token": "NextToken", "limit_key": "MaxResults", "result_key": "ScalingPolicies" + }, + "DescribeScheduledActions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ScheduledActions" } } } diff --git a/bin/botocore/data/application-autoscaling/2016-02-06/service-2.json b/bin/botocore/data/application-autoscaling/2016-02-06/service-2.json index 6ea4e64a..5e812ad6 100644 --- a/bin/botocore/data/application-autoscaling/2016-02-06/service-2.json +++ b/bin/botocore/data/application-autoscaling/2016-02-06/service-2.json @@ -59,7 +59,7 @@ {"shape":"ConcurrentUpdateException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Deregisters a scalable target.

Deregistering a scalable target deletes the scaling policies that are associated with it.

To create a scalable target or update an existing one, see RegisterScalableTarget.

" + "documentation":"

Deregisters a scalable target.

Deregistering a scalable target deletes the scaling policies that are associated with it.

To create a scalable target or update an existing one, see RegisterScalableTarget.

" }, "DescribeScalableTargets":{ "name":"DescribeScalableTargets", @@ -142,7 +142,7 @@ {"shape":"FailedResourceAccessException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Creates or updates a policy for an Application Auto Scaling scalable target.

Each scalable target is identified by a service namespace, resource ID, and scalable dimension. A scaling policy applies to the scalable target identified by those three attributes. You cannot create a scaling policy until you register the scalable target using RegisterScalableTarget.

To update a policy, specify its policy name and the parameters that you want to change. Any parameters that you don't specify are not changed by this update request.

You can view the scaling policies for a service namespace using DescribeScalingPolicies. If you are no longer using a scaling policy, you can delete it using DeleteScalingPolicy.

" + "documentation":"

Creates or updates a policy for an Application Auto Scaling scalable target.

Each scalable target is identified by a service namespace, resource ID, and scalable dimension. A scaling policy applies to the scalable target identified by those three attributes. You cannot create a scaling policy until you have registered the resource as a scalable target using RegisterScalableTarget.

To update a policy, specify its policy name and the parameters that you want to change. Any parameters that you don't specify are not changed by this update request.

You can view the scaling policies for a service namespace using DescribeScalingPolicies. If you are no longer using a scaling policy, you can delete it using DeleteScalingPolicy.

Multiple scaling policies can be in force at the same time for the same scalable target. You can have one or more target tracking scaling policies, one or more step scaling policies, or both. However, there is a chance that multiple policies could conflict, instructing the scalable target to scale out or in at the same time. Application Auto Scaling gives precedence to the policy that provides the largest capacity for both scale in and scale out. For example, if one policy increases capacity by 3, another policy increases capacity by 200 percent, and the current capacity is 10, Application Auto Scaling uses the policy with the highest calculated capacity (200% of 10 = 20) and scales out to 30.

Learn more about how to work with scaling policies in the Application Auto Scaling User Guide.

" }, "PutScheduledAction":{ "name":"PutScheduledAction", @@ -159,7 +159,7 @@ {"shape":"ConcurrentUpdateException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Creates or updates a scheduled action for an Application Auto Scaling scalable target.

Each scalable target is identified by a service namespace, resource ID, and scalable dimension. A scheduled action applies to the scalable target identified by those three attributes. You cannot create a scheduled action until you register the scalable target using RegisterScalableTarget.

To update an action, specify its name and the parameters that you want to change. If you don't specify start and end times, the old values are deleted. Any other parameters that you don't specify are not changed by this update request.

You can view the scheduled actions using DescribeScheduledActions. If you are no longer using a scheduled action, you can delete it using DeleteScheduledAction.

" + "documentation":"

Creates or updates a scheduled action for an Application Auto Scaling scalable target.

Each scalable target is identified by a service namespace, resource ID, and scalable dimension. A scheduled action applies to the scalable target identified by those three attributes. You cannot create a scheduled action until you have registered the resource as a scalable target using RegisterScalableTarget.

To update an action, specify its name and the parameters that you want to change. If you don't specify start and end times, the old values are deleted. Any other parameters that you don't specify are not changed by this update request.

You can view the scheduled actions using DescribeScheduledActions. If you are no longer using a scheduled action, you can delete it using DeleteScheduledAction.

Learn more about how to work with scheduled actions in the Application Auto Scaling User Guide.

" }, "RegisterScalableTarget":{ "name":"RegisterScalableTarget", @@ -175,7 +175,7 @@ {"shape":"ConcurrentUpdateException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Registers or updates a scalable target. A scalable target is a resource that Application Auto Scaling can scale out or scale in. After you have registered a scalable target, you can use this operation to update the minimum and maximum values for its scalable dimension.

After you register a scalable target, you can create and apply scaling policies using PutScalingPolicy. You can view the scaling policies for a service namespace using DescribeScalableTargets. If you no longer need a scalable target, you can deregister it using DeregisterScalableTarget.

" + "documentation":"

Registers or updates a scalable target. A scalable target is a resource that Application Auto Scaling can scale out and scale in. Each scalable target has a resource ID, scalable dimension, and namespace, as well as values for minimum and maximum capacity.

After you register a scalable target, you do not need to register it again to use other Application Auto Scaling operations. To see which resources have been registered, use DescribeScalableTargets. You can also view the scaling policies for a service namespace using DescribeScalableTargets.

If you no longer need a scalable target, you can deregister it using DeregisterScalableTarget.

" } }, "shapes":{ @@ -228,7 +228,7 @@ "members":{ "MetricName":{ "shape":"MetricName", - "documentation":"

The name of the metric.

" + "documentation":"

The name of the metric.

" }, "Namespace":{ "shape":"MetricNamespace", @@ -236,7 +236,7 @@ }, "Dimensions":{ "shape":"MetricDimensions", - "documentation":"

The dimensions of the metric.

" + "documentation":"

The dimensions of the metric.

Conditional: If you published your metric with dimensions, you must specify the same dimensions in your scaling policy.

" }, "Statistic":{ "shape":"MetricStatistic", @@ -247,7 +247,7 @@ "documentation":"

The unit of the metric.

" } }, - "documentation":"

Configures a customized metric for a target tracking policy.

" + "documentation":"

Represents a CloudWatch metric of your choosing for a target tracking scaling policy to use with Application Auto Scaling.

To create your customized metric specification:

  • Add values for each required parameter from CloudWatch. You can use an existing metric, or a new metric that you create. To use your own metric, you must first publish the metric to CloudWatch. For more information, see Publish Custom Metrics in the Amazon CloudWatch User Guide.

  • Choose a metric that changes proportionally with capacity. The value of the metric should increase or decrease in inverse proportion to the number of capacity units. That is, the value of the metric should decrease when capacity increases.

For more information about CloudWatch, see Amazon CloudWatch Concepts.

" }, "DeleteScalingPolicyRequest":{ "type":"structure", @@ -264,15 +264,15 @@ }, "ServiceNamespace":{ "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" + "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" + "documentation":"

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

" }, "ScalableDimension":{ "shape":"ScalableDimension", - "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" + "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" } } }, @@ -286,12 +286,13 @@ "required":[ "ServiceNamespace", "ScheduledActionName", - "ResourceId" + "ResourceId", + "ScalableDimension" ], "members":{ "ServiceNamespace":{ "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" + "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" }, "ScheduledActionName":{ "shape":"ResourceIdMaxLen1600", @@ -299,11 +300,11 @@ }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" + "documentation":"

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

" }, "ScalableDimension":{ "shape":"ScalableDimension", - "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" + "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" } } }, @@ -322,15 +323,15 @@ "members":{ "ServiceNamespace":{ "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" + "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" + "documentation":"

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

" }, "ScalableDimension":{ "shape":"ScalableDimension", - "documentation":"

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" + "documentation":"

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" } } }, @@ -345,15 +346,15 @@ "members":{ "ServiceNamespace":{ "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" + "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" }, "ResourceIds":{ "shape":"ResourceIdsMaxLen1600", - "documentation":"

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" + "documentation":"

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

" }, "ScalableDimension":{ "shape":"ScalableDimension", - "documentation":"

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" + "documentation":"

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" }, "MaxResults":{ "shape":"MaxResults", @@ -384,15 +385,15 @@ "members":{ "ServiceNamespace":{ "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" + "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" + "documentation":"

The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

" }, "ScalableDimension":{ "shape":"ScalableDimension", - "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" + "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" }, "MaxResults":{ "shape":"MaxResults", @@ -427,15 +428,15 @@ }, "ServiceNamespace":{ "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" + "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" + "documentation":"

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

" }, "ScalableDimension":{ "shape":"ScalableDimension", - "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" + "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" }, "MaxResults":{ "shape":"MaxResults", @@ -470,15 +471,15 @@ }, "ServiceNamespace":{ "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" + "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" + "documentation":"

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

" }, "ScalableDimension":{ "shape":"ScalableDimension", - "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" + "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" }, "MaxResults":{ "shape":"MaxResults", @@ -510,7 +511,7 @@ "members":{ "Message":{"shape":"ErrorMessage"} }, - "documentation":"

Failed access to resources caused an exception. This exception is thrown when Application Auto Scaling is unable to retrieve the alarms associated with a scaling policy due to a client error, for example, if the role ARN specified for a scalable target does not have permission to call the CloudWatch DescribeAlarms on your behalf.

", + "documentation":"

Failed access to resources caused an exception. This exception is thrown when Application Auto Scaling is unable to retrieve the alarms associated with a scaling policy due to a client error, for example, if the role ARN specified for a scalable target does not have permission to call the CloudWatch DescribeAlarms on your behalf.

", "exception":true }, "InternalServiceException":{ @@ -534,7 +535,7 @@ "members":{ "Message":{"shape":"ErrorMessage"} }, - "documentation":"

A per-account resource limit is exceeded. For more information, see Application Auto Scaling Limits.

", + "documentation":"

A per-account resource limit is exceeded. For more information, see Application Auto Scaling Limits.

", "exception":true }, "MaxResults":{"type":"integer"}, @@ -562,7 +563,7 @@ "documentation":"

The value of the dimension.

" } }, - "documentation":"

Describes the dimension of a metric.

" + "documentation":"

Describes the dimension names and values associated with a metric.

" }, "MetricDimensionName":{"type":"string"}, "MetricDimensionValue":{"type":"string"}, @@ -635,7 +636,7 @@ "documentation":"

Identifies the resource associated with the metric type. You can't specify a resource label unless the metric type is ALBRequestCountPerTarget and there is a target group attached to the Spot fleet request or ECS service.

The format is app/<load-balancer-name>/<load-balancer-id>/targetgroup/<target-group-name>/<target-group-id>, where:

  • app/<load-balancer-name>/<load-balancer-id> is the final portion of the load balancer ARN

  • targetgroup/<target-group-name>/<target-group-id> is the final portion of the target group ARN.

" } }, - "documentation":"

Configures a predefined metric for a target tracking policy.

" + "documentation":"

Represents a predefined metric for a target tracking scaling policy to use with Application Auto Scaling.

" }, "PutScalingPolicyRequest":{ "type":"structure", @@ -652,19 +653,19 @@ }, "ServiceNamespace":{ "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" + "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" + "documentation":"

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

" }, "ScalableDimension":{ "shape":"ScalableDimension", - "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" + "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" }, "PolicyType":{ "shape":"PolicyType", - "documentation":"

The policy type. This parameter is required if you are creating a policy.

For DynamoDB, only TargetTrackingScaling is supported. For Amazon ECS, Spot Fleet, and Amazon RDS, both StepScaling and TargetTrackingScaling are supported. For any other service, only StepScaling is supported.

" + "documentation":"

The policy type. This parameter is required if you are creating a scaling policy.

For information on which services do not support StepScaling or TargetTrackingScaling, see the information about Limits in Step Scaling Policies and Target Tracking Scaling Policies in the Application Auto Scaling User Guide.

" }, "StepScalingPolicyConfiguration":{ "shape":"StepScalingPolicyConfiguration", @@ -672,7 +673,7 @@ }, "TargetTrackingScalingPolicyConfiguration":{ "shape":"TargetTrackingScalingPolicyConfiguration", - "documentation":"

A target tracking policy.

This parameter is required if you are creating a policy and the policy type is TargetTrackingScaling.

" + "documentation":"

A target tracking scaling policy. Includes support for predefined or customized metrics.

This parameter is required if you are creating a policy and the policy type is TargetTrackingScaling.

" } } }, @@ -686,7 +687,7 @@ }, "Alarms":{ "shape":"Alarms", - "documentation":"

The CloudWatch alarms created for the target tracking policy.

" + "documentation":"

The CloudWatch alarms created for the target tracking scaling policy.

" } } }, @@ -695,16 +696,17 @@ "required":[ "ServiceNamespace", "ScheduledActionName", - "ResourceId" + "ResourceId", + "ScalableDimension" ], "members":{ "ServiceNamespace":{ "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" + "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" }, "Schedule":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The schedule for this action. The following formats are supported:

  • At expressions - at(yyyy-mm-ddThh:mm:ss)

  • Rate expressions - rate(value unit)

  • Cron expressions - cron(fields)

At expressions are useful for one-time schedules. Specify the time, in UTC.

For rate expressions, value is a positive integer and unit is minute | minutes | hour | hours | day | days.

For more information about cron expressions, see Cron Expressions in the Amazon CloudWatch Events User Guide.

" + "documentation":"

The schedule for this action. The following formats are supported:

  • At expressions - \"at(yyyy-mm-ddThh:mm:ss)\"

  • Rate expressions - \"rate(value unit)\"

  • Cron expressions - \"cron(fields)\"

At expressions are useful for one-time schedules. Specify the time, in UTC.

For rate expressions, value is a positive integer and unit is minute | minutes | hour | hours | day | days.

For more information about cron expressions, see Cron Expressions in the Amazon CloudWatch Events User Guide.

" }, "ScheduledActionName":{ "shape":"ScheduledActionName", @@ -712,11 +714,11 @@ }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" + "documentation":"

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

" }, "ScalableDimension":{ "shape":"ScalableDimension", - "documentation":"

The scalable dimension. This parameter is required if you are creating a scheduled action. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" + "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" }, "StartTime":{ "shape":"TimestampType", @@ -747,27 +749,27 @@ "members":{ "ServiceNamespace":{ "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" + "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" + "documentation":"

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

" }, "ScalableDimension":{ "shape":"ScalableDimension", - "documentation":"

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" + "documentation":"

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" }, "MinCapacity":{ "shape":"ResourceCapacity", - "documentation":"

The minimum value to scale to in response to a scale in event. This parameter is required if you are registering a scalable target.

" + "documentation":"

The minimum value to scale to in response to a scale-in event. This parameter is required to register a scalable target.

" }, "MaxCapacity":{ "shape":"ResourceCapacity", - "documentation":"

The maximum value to scale to in response to a scale out event. This parameter is required if you are registering a scalable target.

" + "documentation":"

The maximum value to scale to in response to a scale-out event. This parameter is required to register a scalable target.

" }, "RoleARN":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

Application Auto Scaling creates a service-linked role that grants it permissions to modify the scalable target on your behalf. For more information, see Service-Linked Roles for Application Auto Scaling.

For resources that are not supported using a service-linked role, this parameter is required and must specify the ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your behalf.

" + "documentation":"

Application Auto Scaling creates a service-linked role that grants it permissions to modify the scalable target on your behalf. For more information, see Service-Linked Roles for Application Auto Scaling.

For resources that are not supported using a service-linked role, this parameter is required and must specify the ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your behalf.

" } } }, @@ -826,23 +828,23 @@ "members":{ "ServiceNamespace":{ "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" + "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" + "documentation":"

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

" }, "ScalableDimension":{ "shape":"ScalableDimension", - "documentation":"

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" + "documentation":"

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" }, "MinCapacity":{ "shape":"ResourceCapacity", - "documentation":"

The minimum value to scale to in response to a scale in event.

" + "documentation":"

The minimum value to scale to in response to a scale-in event.

" }, "MaxCapacity":{ "shape":"ResourceCapacity", - "documentation":"

The maximum value to scale to in response to a scale out event.

" + "documentation":"

The maximum value to scale to in response to a scale-out event.

" }, "RoleARN":{ "shape":"ResourceIdMaxLen1600", @@ -896,15 +898,15 @@ }, "ServiceNamespace":{ "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" + "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" + "documentation":"

The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

" }, "ScalableDimension":{ "shape":"ScalableDimension", - "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" + "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" }, "Description":{ "shape":"XmlString", @@ -975,15 +977,15 @@ }, "ServiceNamespace":{ "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" + "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" + "documentation":"

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

" }, "ScalableDimension":{ "shape":"ScalableDimension", - "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" + "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" }, "PolicyType":{ "shape":"PolicyType", @@ -995,7 +997,7 @@ }, "TargetTrackingScalingPolicyConfiguration":{ "shape":"TargetTrackingScalingPolicyConfiguration", - "documentation":"

A target tracking policy.

" + "documentation":"

A target tracking scaling policy.

" }, "Alarms":{ "shape":"Alarms", @@ -1006,7 +1008,7 @@ "documentation":"

The Unix timestamp for when the scaling policy was created.

" } }, - "documentation":"

Represents a scaling policy.

" + "documentation":"

Represents a scaling policy to use with Application Auto Scaling.

" }, "ScheduledAction":{ "type":"structure", @@ -1029,19 +1031,19 @@ }, "ServiceNamespace":{ "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" + "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" }, "Schedule":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The schedule for this action. The following formats are supported:

  • At expressions - at(yyyy-mm-ddThh:mm:ss)

  • Rate expressions - rate(value unit)

  • Cron expressions - cron(fields)

At expressions are useful for one-time schedules. Specify the time, in UTC.

For rate expressions, value is a positive integer and unit is minute | minutes | hour | hours | day | days.

For more information about cron expressions, see Cron Expressions in the Amazon CloudWatch Events User Guide.

" + "documentation":"

The schedule for this action. The following formats are supported:

  • At expressions - \"at(yyyy-mm-ddThh:mm:ss)\"

  • Rate expressions - \"rate(value unit)\"

  • Cron expressions - \"cron(fields)\"

At expressions are useful for one-time schedules. Specify the time, in UTC.

For rate expressions, value is a positive integer and unit is minute | minutes | hour | hours | day | days.

For more information about cron expressions, see Cron Expressions in the Amazon CloudWatch Events User Guide.

" }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" + "documentation":"

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

" }, "ScalableDimension":{ "shape":"ScalableDimension", - "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" + "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" }, "StartTime":{ "shape":"TimestampType", @@ -1121,18 +1123,18 @@ }, "MinAdjustmentMagnitude":{ "shape":"MinAdjustmentMagnitude", - "documentation":"

The minimum number to adjust your scalable dimension as a result of a scaling activity. If the adjustment type is PercentChangeInCapacity, the scaling policy changes the scalable dimension of the scalable target by this amount.

" + "documentation":"

The minimum number to adjust your scalable dimension as a result of a scaling activity. If the adjustment type is PercentChangeInCapacity, the scaling policy changes the scalable dimension of the scalable target by this amount.

For example, suppose that you create a step scaling policy to scale out an Amazon ECS service by 25 percent and you specify a MinAdjustmentMagnitude of 2. If the service has 4 tasks and the scaling policy is performed, 25 percent of 4 is 1. However, because you specified a MinAdjustmentMagnitude of 2, Application Auto Scaling scales out the service by 2 tasks.

" }, "Cooldown":{ "shape":"Cooldown", - "documentation":"

The amount of time, in seconds, after a scaling activity completes where previous trigger-related scaling activities can influence future scaling events.

For scale out policies, while the cooldown period is in effect, the capacity that has been added by the previous scale out event that initiated the cooldown is calculated as part of the desired capacity for the next scale out. The intention is to continuously (but not excessively) scale out. For example, an alarm triggers a step scaling policy to scale out an Amazon ECS service by 2 tasks, the scaling activity completes successfully, and a cooldown period of 5 minutes starts. During the Cooldown period, if the alarm triggers the same policy again but at a more aggressive step adjustment to scale out the service by 3 tasks, the 2 tasks that were added in the previous scale out event are considered part of that capacity and only 1 additional task is added to the desired count.

For scale in policies, the cooldown period is used to block subsequent scale in requests until it has expired. The intention is to scale in conservatively to protect your application's availability. However, if another alarm triggers a scale out policy during the cooldown period after a scale-in, Application Auto Scaling scales out your scalable target immediately.

" + "documentation":"

The amount of time, in seconds, after a scaling activity completes where previous trigger-related scaling activities can influence future scaling events.

For scale-out policies, while the cooldown period is in effect, the capacity that has been added by the previous scale-out event that initiated the cooldown is calculated as part of the desired capacity for the next scale out. The intention is to continuously (but not excessively) scale out. For example, an alarm triggers a step scaling policy to scale out an Amazon ECS service by 2 tasks, the scaling activity completes successfully, and a cooldown period of 5 minutes starts. During the cooldown period, if the alarm triggers the same policy again but at a more aggressive step adjustment to scale out the service by 3 tasks, the 2 tasks that were added in the previous scale-out event are considered part of that capacity and only 1 additional task is added to the desired count.

For scale-in policies, the cooldown period is used to block subsequent scale-in requests until it has expired. The intention is to scale in conservatively to protect your application's availability. However, if another alarm triggers a scale-out policy during the cooldown period after a scale-in, Application Auto Scaling scales out your scalable target immediately.

" }, "MetricAggregationType":{ "shape":"MetricAggregationType", - "documentation":"

The aggregation type for the CloudWatch metrics. Valid values are Minimum, Maximum, and Average.

" + "documentation":"

The aggregation type for the CloudWatch metrics. Valid values are Minimum, Maximum, and Average. If the aggregation type is null, the value is treated as Average.

" } }, - "documentation":"

Represents a step scaling policy configuration.

" + "documentation":"

Represents a step scaling policy configuration to use with Application Auto Scaling.

" }, "TargetTrackingScalingPolicyConfiguration":{ "type":"structure", @@ -1144,26 +1146,26 @@ }, "PredefinedMetricSpecification":{ "shape":"PredefinedMetricSpecification", - "documentation":"

A predefined metric.

" + "documentation":"

A predefined metric. You can specify either a predefined metric or a customized metric.

" }, "CustomizedMetricSpecification":{ "shape":"CustomizedMetricSpecification", - "documentation":"

A customized metric.

" + "documentation":"

A customized metric. You can specify either a predefined metric or a customized metric.

" }, "ScaleOutCooldown":{ "shape":"Cooldown", - "documentation":"

The amount of time, in seconds, after a scale out activity completes before another scale out activity can start.

While the cooldown period is in effect, the capacity that has been added by the previous scale out event that initiated the cooldown is calculated as part of the desired capacity for the next scale out. The intention is to continuously (but not excessively) scale out.

" + "documentation":"

The amount of time, in seconds, after a scale-out activity completes before another scale-out activity can start.

While the cooldown period is in effect, the capacity that has been added by the previous scale-out event that initiated the cooldown is calculated as part of the desired capacity for the next scale out. The intention is to continuously (but not excessively) scale out.

" }, "ScaleInCooldown":{ "shape":"Cooldown", - "documentation":"

The amount of time, in seconds, after a scale in activity completes before another scale in activity can start.

The cooldown period is used to block subsequent scale in requests until it has expired. The intention is to scale in conservatively to protect your application's availability. However, if another alarm triggers a scale out policy during the cooldown period after a scale-in, Application Auto Scaling scales out your scalable target immediately.

" + "documentation":"

The amount of time, in seconds, after a scale-in activity completes before another scale in activity can start.

The cooldown period is used to block subsequent scale-in requests until it has expired. The intention is to scale in conservatively to protect your application's availability. However, if another alarm triggers a scale-out policy during the cooldown period after a scale-in, Application Auto Scaling scales out your scalable target immediately.

" }, "DisableScaleIn":{ "shape":"DisableScaleIn", - "documentation":"

Indicates whether scale in by the target tracking policy is disabled. If the value is true, scale in is disabled and the target tracking policy won't remove capacity from the scalable resource. Otherwise, scale in is enabled and the target tracking policy can remove capacity from the scalable resource. The default value is false.

" + "documentation":"

Indicates whether scale in by the target tracking scaling policy is disabled. If the value is true, scale in is disabled and the target tracking scaling policy won't remove capacity from the scalable resource. Otherwise, scale in is enabled and the target tracking scaling policy can remove capacity from the scalable resource. The default value is false.

" } }, - "documentation":"

Represents a target tracking scaling policy configuration.

" + "documentation":"

Represents a target tracking scaling policy configuration to use with Application Auto Scaling.

" }, "TimestampType":{"type":"timestamp"}, "ValidationException":{ @@ -1179,5 +1181,5 @@ "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" } }, - "documentation":"

With Application Auto Scaling, you can configure automatic scaling for your scalable resources. You can use Application Auto Scaling to accomplish the following tasks:

  • Define scaling policies to automatically scale your AWS or custom resources

  • Scale your resources in response to CloudWatch alarms

  • Schedule one-time or recurring scaling actions

  • View the history of your scaling events

Application Auto Scaling can scale the following resources:

To learn more about Application Auto Scaling, see the Application Auto Scaling User Guide.

To configure automatic scaling for multiple resources across multiple services, use AWS Auto Scaling to create a scaling plan for your application. For more information, see the AWS Auto Scaling User Guide.

" + "documentation":"

With Application Auto Scaling, you can configure automatic scaling for your scalable resources. You can use Application Auto Scaling to accomplish the following tasks:

  • Define scaling policies to automatically scale your AWS or custom resources

  • Scale your resources in response to CloudWatch alarms

  • Schedule one-time or recurring scaling actions

  • View the history of your scaling events

Application Auto Scaling can scale the following resources:

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

" } diff --git a/bin/botocore/data/appmesh/2018-10-01/service-2.json b/bin/botocore/data/appmesh/2018-10-01/service-2.json index d0fb2b1a..20ed19ea 100644 --- a/bin/botocore/data/appmesh/2018-10-01/service-2.json +++ b/bin/botocore/data/appmesh/2018-10-01/service-2.json @@ -11,7 +11,7 @@ "signingName": "appmesh", "uid": "appmesh-2018-10-01" }, - "documentation": "

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

\n

App Mesh gives you consistent visibility and network traffic controls for every\n microservice in an application. You can use App Mesh with Amazon ECS\n (using the Amazon EC2 launch type), Amazon EKS, and Kubernetes on AWS.

\n \n

App Mesh supports containerized microservice applications that use service discovery\n naming for their components. To use App Mesh, you must have a containerized application\n running on Amazon EC2 instances, hosted in either Amazon ECS, Amazon EKS, or Kubernetes on AWS. For\n more information about service discovery on Amazon ECS, see Service Discovery in the\n Amazon Elastic Container Service Developer Guide. Kubernetes kube-dns is supported.\n For more information, see DNS\n for Services and Pods in the Kubernetes documentation.

\n
", + "documentation": "

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

\n

App Mesh gives you consistent visibility and network traffic controls for every\n microservice in an application. You can use App Mesh with Amazon ECS\n (using the Amazon EC2 launch type), Amazon EKS, and Kubernetes on AWS.

\n \n

App Mesh supports containerized microservice applications that use service discovery\n naming for their components. To use App Mesh, you must have a containerized application\n running on Amazon EC2 instances, hosted in either Amazon ECS, Amazon EKS, or Kubernetes on AWS. For\n more information about service discovery on Amazon ECS, see Service Discovery in the\n Amazon Elastic Container Service Developer Guide. Kubernetes kube-dns is supported.\n For more information, see DNS\n for Services and Pods in the Kubernetes documentation.

\n
", "operations": { "CreateMesh": { "name": "CreateMesh", @@ -370,7 +370,7 @@ "shape": "TooManyRequestsException" } ], - "documentation": "

Describes an existing cluster.

" + "documentation": "

Describes an existing service mesh.

" }, "DescribeRoute": { "name": "DescribeRoute", @@ -763,6 +763,11 @@ "fault": true } }, + "HealthCheckThreshold": { + "type": "integer", + "min": 2, + "max": 10 + }, "DeleteMeshOutput": { "type": "structure", "members": { @@ -907,6 +912,12 @@ "senderFault": true } }, + "HealthCheckIntervalMillis": { + "type": "long", + "box": true, + "min": 5000, + "max": 300000 + }, "VirtualNodeRef": { "type": "structure", "members": { @@ -1011,14 +1022,6 @@ }, "max": 10 }, - "DurationMillis": { - "type": "long", - "box": true - }, - "NonNegativeInt": { - "type": "integer", - "min": 0 - }, "MeshRef": { "type": "structure", "members": { @@ -1113,6 +1116,12 @@ "documentation": "", "payload": "virtualRouter" }, + "HealthCheckTimeoutMillis": { + "type": "long", + "box": true, + "min": 2000, + "max": 60000 + }, "CreateVirtualRouterInput": { "type": "structure", "required": [ @@ -1672,11 +1681,11 @@ }, "createdAt": { "shape": "Timestamp", - "documentation": "

The Unix epoch timestamp in seconds for when the cluster was created.

" + "documentation": "

The Unix epoch timestamp in seconds for when the resource was created.

" }, "lastUpdatedAt": { "shape": "Timestamp", - "documentation": "

The Unix epoch timestamp in seconds for when the cluster was last updated.

" + "documentation": "

The Unix epoch timestamp in seconds for when the resource was last updated.

" }, "uid": { "shape": "String", @@ -1878,7 +1887,7 @@ "members": { "healthCheck": { "shape": "HealthCheckPolicy", - "documentation": "

The health check information for the listener.

\n \n

Listener health checks are not available during the App Mesh preview.

\n
" + "documentation": "

The health check information for the listener.

" }, "portMapping": { "shape": "PortMapping", @@ -1892,37 +1901,44 @@ }, "HealthCheckPolicy": { "type": "structure", + "required": [ + "healthyThreshold", + "intervalMillis", + "protocol", + "timeoutMillis", + "unhealthyThreshold" + ], "members": { "healthyThreshold": { - "shape": "NonNegativeInt", + "shape": "HealthCheckThreshold", "documentation": "

The number of consecutive successful health checks that must occur before declaring\n listener healthy.

" }, "intervalMillis": { - "shape": "DurationMillis", + "shape": "HealthCheckIntervalMillis", "documentation": "

The time period in milliseconds between each health check execution.

" }, "path": { "shape": "String", - "documentation": "

The destination path for the health check request.

" + "documentation": "

The destination path for the health check request. This is only required if the\n specified protocol is HTTP; if the protocol is TCP, then this parameter is ignored.

" }, "port": { "shape": "PortNumber", - "documentation": "

The destination port for the health check request.

" + "documentation": "

The destination port for the health check request. This port must match the port defined\n in the PortMapping for the listener.

" }, "protocol": { "shape": "PortProtocol", "documentation": "

The protocol for the health check request.

" }, "timeoutMillis": { - "shape": "DurationMillis", + "shape": "HealthCheckTimeoutMillis", "documentation": "

The amount of time to wait when receiving a response from the health check, in\n milliseconds.

" }, "unhealthyThreshold": { - "shape": "NonNegativeInt", + "shape": "HealthCheckThreshold", "documentation": "

The number of consecutive failed health checks that must occur before declaring a\n virtual node unhealthy.

" } }, - "documentation": "

An object representing the health check policy for a virtual node's listener.

\n \n

Listener health checks are not available during the App Mesh preview.

\n
" + "documentation": "

An object representing the health check policy for a virtual node's listener.

" }, "ListVirtualRoutersInput": { "type": "structure", diff --git a/bin/botocore/data/appmesh/2019-01-25/paginators-1.json b/bin/botocore/data/appmesh/2019-01-25/paginators-1.json new file mode 100644 index 00000000..88d8fcc7 --- /dev/null +++ b/bin/botocore/data/appmesh/2019-01-25/paginators-1.json @@ -0,0 +1,40 @@ +{ + "pagination": { + "ListMeshes": { + "input_token": "nextToken", + "limit_key": "limit", + "output_token": "nextToken", + "result_key": "meshes" + }, + "ListRoutes": { + "input_token": "nextToken", + "limit_key": "limit", + "output_token": "nextToken", + "result_key": "routes" + }, + "ListVirtualNodes": { + "input_token": "nextToken", + "limit_key": "limit", + "output_token": "nextToken", + "result_key": "virtualNodes" + }, + "ListVirtualRouters": { + "input_token": "nextToken", + "limit_key": "limit", + "output_token": "nextToken", + "result_key": "virtualRouters" + }, + "ListVirtualServices": { + "input_token": "nextToken", + "limit_key": "limit", + "output_token": "nextToken", + "result_key": "virtualServices" + }, + "ListTagsForResource": { + "input_token": "nextToken", + "limit_key": "limit", + "output_token": "nextToken", + "result_key": "tags" + } + } +} diff --git a/bin/botocore/data/appmesh/2019-01-25/service-2.json b/bin/botocore/data/appmesh/2019-01-25/service-2.json new file mode 100644 index 00000000..4aef8a19 --- /dev/null +++ b/bin/botocore/data/appmesh/2019-01-25/service-2.json @@ -0,0 +1,3426 @@ +{ + "version": "2.0", + "metadata": { + "apiVersion": "2019-01-25", + "endpointPrefix": "appmesh", + "jsonVersion": "1.1", + "protocol": "rest-json", + "serviceFullName": "AWS App Mesh", + "serviceId": "App Mesh", + "signatureVersion": "v4", + "signingName": "appmesh", + "uid": "appmesh-2019-01-25" + }, + "documentation": "

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

\n

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

\n \n

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

\n
", + "operations": { + "CreateMesh": { + "name": "CreateMesh", + "http": { + "method": "PUT", + "requestUri": "/v20190125/meshes", + "responseCode": 200 + }, + "input": { + "shape": "CreateMeshInput" + }, + "output": { + "shape": "CreateMeshOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "LimitExceededException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Creates a service mesh. A service mesh is a logical boundary for network traffic between\n the services that reside within it.

\n

After you create your service mesh, you can create virtual services, virtual nodes,\n virtual routers, and routes to distribute traffic between the applications in your\n mesh.

", + "idempotent": true + }, + "CreateRoute": { + "name": "CreateRoute", + "http": { + "method": "PUT", + "requestUri": "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes", + "responseCode": 200 + }, + "input": { + "shape": "CreateRouteInput" + }, + "output": { + "shape": "CreateRouteOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "LimitExceededException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Creates a route that is associated with a virtual router.

\n

You can use the prefix parameter in your route specification for path-based\n routing of requests. For example, if your virtual service name is\n my-service.local and you want the route to match requests to\n my-service.local/metrics, your prefix should be\n /metrics.

\n

If your route matches a request, you can distribute traffic to one or more target\n virtual nodes with relative weighting.

", + "idempotent": true + }, + "CreateVirtualNode": { + "name": "CreateVirtualNode", + "http": { + "method": "PUT", + "requestUri": "/v20190125/meshes/{meshName}/virtualNodes", + "responseCode": 200 + }, + "input": { + "shape": "CreateVirtualNodeInput" + }, + "output": { + "shape": "CreateVirtualNodeOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "LimitExceededException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Creates a virtual node within a service mesh.

\n

A virtual node acts as a logical pointer to a particular task group, such as an Amazon ECS\n service or a Kubernetes deployment. When you create a virtual node, you can specify the\n service discovery information for your task group.

\n

Any inbound traffic that your virtual node expects should be specified as a\n listener. Any outbound traffic that your virtual node expects to reach\n should be specified as a backend.

\n

The response metadata for your new virtual node contains the arn that is\n associated with the virtual node. Set this value (either the full ARN or the truncated\n resource name: for example, mesh/default/virtualNode/simpleapp) as the\n APPMESH_VIRTUAL_NODE_NAME environment variable for your task group's Envoy\n proxy container in your task definition or pod spec. This is then mapped to the\n node.id and node.cluster Envoy parameters.

\n \n

If you require your Envoy stats or tracing to use a different name, you can override\n the node.cluster value that is set by\n APPMESH_VIRTUAL_NODE_NAME with the\n APPMESH_VIRTUAL_NODE_CLUSTER environment variable.

\n
", + "idempotent": true + }, + "CreateVirtualRouter": { + "name": "CreateVirtualRouter", + "http": { + "method": "PUT", + "requestUri": "/v20190125/meshes/{meshName}/virtualRouters", + "responseCode": 200 + }, + "input": { + "shape": "CreateVirtualRouterInput" + }, + "output": { + "shape": "CreateVirtualRouterOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "LimitExceededException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Creates a virtual router within a service mesh.

\n

Any inbound traffic that your virtual router expects should be specified as a\n listener.

\n

Virtual routers handle traffic for one or more virtual services within your mesh. After\n you create your virtual router, create and associate routes for your virtual router that\n direct incoming requests to different virtual nodes.

", + "idempotent": true + }, + "CreateVirtualService": { + "name": "CreateVirtualService", + "http": { + "method": "PUT", + "requestUri": "/v20190125/meshes/{meshName}/virtualServices", + "responseCode": 200 + }, + "input": { + "shape": "CreateVirtualServiceInput" + }, + "output": { + "shape": "CreateVirtualServiceOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "LimitExceededException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Creates a virtual service within a service mesh.

\n

A virtual service is an abstraction of a real service that is provided by a virtual node\n directly or indirectly by means of a virtual router. Dependent services call your virtual\n service by its virtualServiceName, and those requests are routed to the\n virtual node or virtual router that is specified as the provider for the virtual\n service.

", + "idempotent": true + }, + "DeleteMesh": { + "name": "DeleteMesh", + "http": { + "method": "DELETE", + "requestUri": "/v20190125/meshes/{meshName}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteMeshInput" + }, + "output": { + "shape": "DeleteMeshOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ResourceInUseException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Deletes an existing service mesh.

\n

You must delete all resources (virtual services, routes, virtual routers, and virtual\n nodes) in the service mesh before you can delete the mesh itself.

", + "idempotent": true + }, + "DeleteRoute": { + "name": "DeleteRoute", + "http": { + "method": "DELETE", + "requestUri": "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteRouteInput" + }, + "output": { + "shape": "DeleteRouteOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ResourceInUseException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Deletes an existing route.

", + "idempotent": true + }, + "DeleteVirtualNode": { + "name": "DeleteVirtualNode", + "http": { + "method": "DELETE", + "requestUri": "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteVirtualNodeInput" + }, + "output": { + "shape": "DeleteVirtualNodeOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ResourceInUseException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Deletes an existing virtual node.

\n

You must delete any virtual services that list a virtual node as a service provider\n before you can delete the virtual node itself.

", + "idempotent": true + }, + "DeleteVirtualRouter": { + "name": "DeleteVirtualRouter", + "http": { + "method": "DELETE", + "requestUri": "/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteVirtualRouterInput" + }, + "output": { + "shape": "DeleteVirtualRouterOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ResourceInUseException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Deletes an existing virtual router.

\n

You must delete any routes associated with the virtual router before you can delete the\n router itself.

", + "idempotent": true + }, + "DeleteVirtualService": { + "name": "DeleteVirtualService", + "http": { + "method": "DELETE", + "requestUri": "/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteVirtualServiceInput" + }, + "output": { + "shape": "DeleteVirtualServiceOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Deletes an existing virtual service.

", + "idempotent": true + }, + "DescribeMesh": { + "name": "DescribeMesh", + "http": { + "method": "GET", + "requestUri": "/v20190125/meshes/{meshName}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeMeshInput" + }, + "output": { + "shape": "DescribeMeshOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Describes an existing service mesh.

" + }, + "DescribeRoute": { + "name": "DescribeRoute", + "http": { + "method": "GET", + "requestUri": "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeRouteInput" + }, + "output": { + "shape": "DescribeRouteOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Describes an existing route.

" + }, + "DescribeVirtualNode": { + "name": "DescribeVirtualNode", + "http": { + "method": "GET", + "requestUri": "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeVirtualNodeInput" + }, + "output": { + "shape": "DescribeVirtualNodeOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Describes an existing virtual node.

" + }, + "DescribeVirtualRouter": { + "name": "DescribeVirtualRouter", + "http": { + "method": "GET", + "requestUri": "/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeVirtualRouterInput" + }, + "output": { + "shape": "DescribeVirtualRouterOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Describes an existing virtual router.

" + }, + "DescribeVirtualService": { + "name": "DescribeVirtualService", + "http": { + "method": "GET", + "requestUri": "/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeVirtualServiceInput" + }, + "output": { + "shape": "DescribeVirtualServiceOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Describes an existing virtual service.

" + }, + "ListMeshes": { + "name": "ListMeshes", + "http": { + "method": "GET", + "requestUri": "/v20190125/meshes", + "responseCode": 200 + }, + "input": { + "shape": "ListMeshesInput" + }, + "output": { + "shape": "ListMeshesOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Returns a list of existing service meshes.

" + }, + "ListRoutes": { + "name": "ListRoutes", + "http": { + "method": "GET", + "requestUri": "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes", + "responseCode": 200 + }, + "input": { + "shape": "ListRoutesInput" + }, + "output": { + "shape": "ListRoutesOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Returns a list of existing routes in a service mesh.

" + }, + "ListTagsForResource": { + "name": "ListTagsForResource", + "http": { + "method": "GET", + "requestUri": "/v20190125/tags", + "responseCode": 200 + }, + "input": { + "shape": "ListTagsForResourceInput" + }, + "output": { + "shape": "ListTagsForResourceOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + } + ], + "documentation": "

List the tags for an App Mesh resource.

" + }, + "ListVirtualNodes": { + "name": "ListVirtualNodes", + "http": { + "method": "GET", + "requestUri": "/v20190125/meshes/{meshName}/virtualNodes", + "responseCode": 200 + }, + "input": { + "shape": "ListVirtualNodesInput" + }, + "output": { + "shape": "ListVirtualNodesOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Returns a list of existing virtual nodes.

" + }, + "ListVirtualRouters": { + "name": "ListVirtualRouters", + "http": { + "method": "GET", + "requestUri": "/v20190125/meshes/{meshName}/virtualRouters", + "responseCode": 200 + }, + "input": { + "shape": "ListVirtualRoutersInput" + }, + "output": { + "shape": "ListVirtualRoutersOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Returns a list of existing virtual routers in a service mesh.

" + }, + "ListVirtualServices": { + "name": "ListVirtualServices", + "http": { + "method": "GET", + "requestUri": "/v20190125/meshes/{meshName}/virtualServices", + "responseCode": 200 + }, + "input": { + "shape": "ListVirtualServicesInput" + }, + "output": { + "shape": "ListVirtualServicesOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Returns a list of existing virtual services in a service mesh.

" + }, + "TagResource": { + "name": "TagResource", + "http": { + "method": "PUT", + "requestUri": "/v20190125/tag", + "responseCode": 200 + }, + "input": { + "shape": "TagResourceInput" + }, + "output": { + "shape": "TagResourceOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyTagsException" + } + ], + "documentation": "

Associates the specified tags to a resource with the specified resourceArn.\n If existing tags on a resource aren't specified in the request parameters, they aren't\n changed. When a resource is deleted, the tags associated with that resource are also\n deleted.

", + "idempotent": true + }, + "UntagResource": { + "name": "UntagResource", + "http": { + "method": "PUT", + "requestUri": "/v20190125/untag", + "responseCode": 200 + }, + "input": { + "shape": "UntagResourceInput" + }, + "output": { + "shape": "UntagResourceOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + } + ], + "documentation": "

Deletes specified tags from a resource.

", + "idempotent": true + }, + "UpdateMesh": { + "name": "UpdateMesh", + "http": { + "method": "PUT", + "requestUri": "/v20190125/meshes/{meshName}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateMeshInput" + }, + "output": { + "shape": "UpdateMeshOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Updates an existing service mesh.

", + "idempotent": true + }, + "UpdateRoute": { + "name": "UpdateRoute", + "http": { + "method": "PUT", + "requestUri": "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateRouteInput" + }, + "output": { + "shape": "UpdateRouteOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "LimitExceededException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Updates an existing route for a specified service mesh and virtual router.

", + "idempotent": true + }, + "UpdateVirtualNode": { + "name": "UpdateVirtualNode", + "http": { + "method": "PUT", + "requestUri": "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateVirtualNodeInput" + }, + "output": { + "shape": "UpdateVirtualNodeOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "LimitExceededException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Updates an existing virtual node in a specified service mesh.

", + "idempotent": true + }, + "UpdateVirtualRouter": { + "name": "UpdateVirtualRouter", + "http": { + "method": "PUT", + "requestUri": "/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateVirtualRouterInput" + }, + "output": { + "shape": "UpdateVirtualRouterOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "LimitExceededException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Updates an existing virtual router in a specified service mesh.

", + "idempotent": true + }, + "UpdateVirtualService": { + "name": "UpdateVirtualService", + "http": { + "method": "PUT", + "requestUri": "/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateVirtualServiceInput" + }, + "output": { + "shape": "UpdateVirtualServiceOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "LimitExceededException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Updates an existing virtual service in a specified service mesh.

", + "idempotent": true + } + }, + "shapes": { + "VirtualRouterListener": { + "type": "structure", + "required": [ + "portMapping" + ], + "members": { + "portMapping": { + "shape": "PortMapping" + } + }, + "documentation": "

An object representing a virtual router listener.

" + }, + "UpdateVirtualNodeInput": { + "type": "structure", + "required": [ + "meshName", + "spec", + "virtualNodeName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the virtual node resides in.

", + "location": "uri", + "locationName": "meshName" + }, + "spec": { + "shape": "VirtualNodeSpec", + "documentation": "

The new virtual node specification to apply. This overwrites the existing data.

" + }, + "virtualNodeName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual node to update.

", + "location": "uri", + "locationName": "virtualNodeName" + } + }, + "documentation": "" + }, + "DeleteMeshInput": { + "type": "structure", + "required": [ + "meshName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to delete.

", + "location": "uri", + "locationName": "meshName" + } + }, + "documentation": "" + }, + "CreateVirtualServiceInput": { + "type": "structure", + "required": [ + "meshName", + "spec", + "virtualServiceName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to create the virtual service in.

", + "location": "uri", + "locationName": "meshName" + }, + "spec": { + "shape": "VirtualServiceSpec", + "documentation": "

The virtual service specification to apply.

" + }, + "tags": { + "shape": "TagList", + "documentation": "

Optional metadata that you can apply to the virtual service to assist with\n categorization and organization. Each tag consists of a key and an optional value, both of\n which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have\n a maximum length of 256 characters.

" + }, + "virtualServiceName": { + "shape": "ServiceName", + "documentation": "

The name to use for the virtual service.

" + } + }, + "documentation": "" + }, + "VirtualRouterStatusCode": { + "type": "string", + "enum": [ + "ACTIVE", + "DELETED", + "INACTIVE" + ] + }, + "UpdateVirtualRouterInput": { + "type": "structure", + "required": [ + "meshName", + "spec", + "virtualRouterName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the virtual router resides in.

", + "location": "uri", + "locationName": "meshName" + }, + "spec": { + "shape": "VirtualRouterSpec", + "documentation": "

The new virtual router specification to apply. This overwrites the existing data.

" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router to update.

", + "location": "uri", + "locationName": "virtualRouterName" + } + }, + "documentation": "" + }, + "TagKeyList": { + "type": "list", + "member": { + "shape": "TagKey" + }, + "min": 0, + "max": 50 + }, + "ListTagsForResourceInput": { + "type": "structure", + "required": [ + "resourceArn" + ], + "members": { + "limit": { + "shape": "TagsLimit", + "documentation": "

The maximum number of tag results returned by ListTagsForResource in\n paginated output. When this parameter is used, ListTagsForResource returns\n only limit results in a single page along with a nextToken\n response element. You can see the remaining results of the initial request by sending\n another ListTagsForResource request with the returned nextToken\n value. This value can be between 1 and 100. If you don't use\n this parameter, ListTagsForResource returns up to 100\n results and a nextToken value if applicable.

", + "location": "querystring", + "locationName": "limit" + }, + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value returned from a previous paginated\n ListTagsForResource request where limit 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.

", + "location": "querystring", + "locationName": "nextToken" + }, + "resourceArn": { + "shape": "Arn", + "documentation": "

The Amazon Resource Name (ARN) that identifies the resource to list the tags for.

", + "location": "querystring", + "locationName": "resourceArn" + } + }, + "documentation": "" + }, + "CreateVirtualNodeOutput": { + "type": "structure", + "required": [ + "virtualNode" + ], + "members": { + "virtualNode": { + "shape": "VirtualNodeData", + "documentation": "

The full description of your virtual node following the create call.

" + } + }, + "documentation": "", + "payload": "virtualNode" + }, + "Logging": { + "type": "structure", + "members": { + "accessLog": { + "shape": "AccessLog", + "documentation": "

The access log configuration for a virtual node.

" + } + }, + "documentation": "

An object representing the logging information for a virtual node.

" + }, + "ServiceUnavailableException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

The request has failed due to a temporary failure of the service.

", + "exception": true, + "error": { + "code": "ServiceUnavailableException", + "httpStatusCode": 503, + "fault": true + } + }, + "Long": { + "type": "long", + "box": true + }, + "UpdateVirtualRouterOutput": { + "type": "structure", + "required": [ + "virtualRouter" + ], + "members": { + "virtualRouter": { + "shape": "VirtualRouterData", + "documentation": "

A full description of the virtual router that was updated.

" + } + }, + "documentation": "", + "payload": "virtualRouter" + }, + "DescribeMeshOutput": { + "type": "structure", + "required": [ + "mesh" + ], + "members": { + "mesh": { + "shape": "MeshData", + "documentation": "

The full description of your service mesh.

" + } + }, + "documentation": "", + "payload": "mesh" + }, + "DeleteVirtualRouterInput": { + "type": "structure", + "required": [ + "meshName", + "virtualRouterName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to delete the virtual router in.

", + "location": "uri", + "locationName": "meshName" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router to delete.

", + "location": "uri", + "locationName": "virtualRouterName" + } + }, + "documentation": "" + }, + "ListVirtualRoutersOutput": { + "type": "structure", + "required": [ + "virtualRouters" + ], + "members": { + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value to include in a future ListVirtualRouters\n request. When the results of a ListVirtualRouters request exceed\n limit, you can use this value to retrieve the next page of results. This\n value is null when there are no more results to return.

" + }, + "virtualRouters": { + "shape": "VirtualRouterList", + "documentation": "

The list of existing virtual routers for the specified service mesh.

" + } + }, + "documentation": "" + }, + "DescribeRouteInput": { + "type": "structure", + "required": [ + "meshName", + "routeName", + "virtualRouterName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the route resides in.

", + "location": "uri", + "locationName": "meshName" + }, + "routeName": { + "shape": "ResourceName", + "documentation": "

The name of the route to describe.

", + "location": "uri", + "locationName": "routeName" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router that the route is associated with.

", + "location": "uri", + "locationName": "virtualRouterName" + } + }, + "documentation": "" + }, + "DeleteRouteOutput": { + "type": "structure", + "required": [ + "route" + ], + "members": { + "route": { + "shape": "RouteData", + "documentation": "

The route that was deleted.

" + } + }, + "documentation": "", + "payload": "route" + }, + "ResourceMetadata": { + "type": "structure", + "required": [ + "arn", + "createdAt", + "lastUpdatedAt", + "uid", + "version" + ], + "members": { + "arn": { + "shape": "Arn", + "documentation": "

The full Amazon Resource Name (ARN) for the resource.

" + }, + "createdAt": { + "shape": "Timestamp", + "documentation": "

The Unix epoch timestamp in seconds for when the resource was created.

" + }, + "lastUpdatedAt": { + "shape": "Timestamp", + "documentation": "

The Unix epoch timestamp in seconds for when the resource was last updated.

" + }, + "uid": { + "shape": "String", + "documentation": "

The unique identifier for the resource.

" + }, + "version": { + "shape": "Long", + "documentation": "

The version of the resource. Resources are created at version 1, and this version is\n incremented each time that they're updated.

" + } + }, + "documentation": "

An object representing metadata for a resource.

" + }, + "Listeners": { + "type": "list", + "member": { + "shape": "Listener" + }, + "min": 0, + "max": 1 + }, + "Backends": { + "type": "list", + "member": { + "shape": "Backend" + }, + "min": 0, + "max": 25 + }, + "ResourceInUseException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

You can't delete the specified resource because it's in use or required by another\n resource.

", + "exception": true, + "error": { + "code": "ResourceInUseException", + "httpStatusCode": 409, + "senderFault": true + } + }, + "PortProtocol": { + "type": "string", + "enum": [ + "http", + "tcp" + ] + }, + "UpdateVirtualNodeOutput": { + "type": "structure", + "required": [ + "virtualNode" + ], + "members": { + "virtualNode": { + "shape": "VirtualNodeData", + "documentation": "

A full description of the virtual node that was updated.

" + } + }, + "documentation": "", + "payload": "virtualNode" + }, + "ListRoutesOutput": { + "type": "structure", + "required": [ + "routes" + ], + "members": { + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value to include in a future ListRoutes request.\n When the results of a ListRoutes request exceed limit, you can\n use this value to retrieve the next page of results. This value is null when\n there are no more results to return.

" + }, + "routes": { + "shape": "RouteList", + "documentation": "

The list of existing routes for the specified service mesh and virtual router.

" + } + }, + "documentation": "" + }, + "VirtualServiceBackend": { + "type": "structure", + "required": [ + "virtualServiceName" + ], + "members": { + "virtualServiceName": { + "shape": "ServiceName", + "documentation": "

The name of the virtual service that is acting as a virtual node backend.

" + } + }, + "documentation": "

An object representing a virtual service backend for a virtual node.

" + }, + "VirtualNodeStatusCode": { + "type": "string", + "enum": [ + "ACTIVE", + "DELETED", + "INACTIVE" + ] + }, + "ServiceName": { + "type": "string" + }, + "BadRequestException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

The request syntax was malformed. Check your request syntax and try again.

", + "exception": true, + "error": { + "code": "BadRequestException", + "httpStatusCode": 400, + "senderFault": true + } + }, + "UpdateVirtualServiceInput": { + "type": "structure", + "required": [ + "meshName", + "spec", + "virtualServiceName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the virtual service resides in.

", + "location": "uri", + "locationName": "meshName" + }, + "spec": { + "shape": "VirtualServiceSpec", + "documentation": "

The new virtual service specification to apply. This overwrites the existing\n data.

" + }, + "virtualServiceName": { + "shape": "ServiceName", + "documentation": "

The name of the virtual service to update.

", + "location": "uri", + "locationName": "virtualServiceName" + } + }, + "documentation": "" + }, + "HealthCheckThreshold": { + "type": "integer", + "min": 2, + "max": 10 + }, + "UpdateRouteOutput": { + "type": "structure", + "required": [ + "route" + ], + "members": { + "route": { + "shape": "RouteData", + "documentation": "

A full description of the route that was updated.

" + } + }, + "documentation": "", + "payload": "route" + }, + "PercentInt": { + "type": "integer", + "min": 0, + "max": 100 + }, + "TagValue": { + "type": "string", + "min": 0, + "max": 256 + }, + "HttpRouteAction": { + "type": "structure", + "required": [ + "weightedTargets" + ], + "members": { + "weightedTargets": { + "shape": "WeightedTargets", + "documentation": "

The targets that traffic is routed to when a request matches the route. You can specify\n one or more targets and their relative weights to distribute traffic with.

" + } + }, + "documentation": "

An object representing the traffic distribution requirements for matched HTTP\n requests.

" + }, + "ListRoutesInput": { + "type": "structure", + "required": [ + "meshName", + "virtualRouterName" + ], + "members": { + "limit": { + "shape": "ListRoutesLimit", + "documentation": "

The maximum number of results returned by ListRoutes in paginated output.\n When you use this parameter, ListRoutes returns only limit\n results in a single page along with a nextToken response element. You can see\n the remaining results of the initial request by sending another ListRoutes\n request with the returned nextToken value. This value can be between\n 1 and 100. If you don't use this parameter,\n ListRoutes returns up to 100 results and a\n nextToken value if applicable.

", + "location": "querystring", + "locationName": "limit" + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to list routes in.

", + "location": "uri", + "locationName": "meshName" + }, + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value returned from a previous paginated\n ListRoutes request where limit 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.

", + "location": "querystring", + "locationName": "nextToken" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router to list routes in.

", + "location": "uri", + "locationName": "virtualRouterName" + } + }, + "documentation": "" + }, + "HealthCheckPolicy": { + "type": "structure", + "required": [ + "healthyThreshold", + "intervalMillis", + "protocol", + "timeoutMillis", + "unhealthyThreshold" + ], + "members": { + "healthyThreshold": { + "shape": "HealthCheckThreshold", + "documentation": "

The number of consecutive successful health checks that must occur before declaring\n listener healthy.

" + }, + "intervalMillis": { + "shape": "HealthCheckIntervalMillis", + "documentation": "

The time period in milliseconds between each health check execution.

" + }, + "path": { + "shape": "String", + "documentation": "

The destination path for the health check request. This is required only if the\n specified protocol is HTTP. If the protocol is TCP, this parameter is ignored.

" + }, + "port": { + "shape": "PortNumber", + "documentation": "

The destination port for the health check request. This port must match the port defined\n in the PortMapping for the listener.

" + }, + "protocol": { + "shape": "PortProtocol", + "documentation": "

The protocol for the health check request.

" + }, + "timeoutMillis": { + "shape": "HealthCheckTimeoutMillis", + "documentation": "

The amount of time to wait when receiving a response from the health check, in\n milliseconds.

" + }, + "unhealthyThreshold": { + "shape": "HealthCheckThreshold", + "documentation": "

The number of consecutive failed health checks that must occur before declaring a\n virtual node unhealthy.

" + } + }, + "documentation": "

An object representing the health check policy for a virtual node's listener.

" + }, + "VirtualServiceRef": { + "type": "structure", + "required": [ + "arn", + "meshName", + "virtualServiceName" + ], + "members": { + "arn": { + "shape": "Arn", + "documentation": "

The full Amazon Resource Name (ARN) for the virtual service.

" + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the virtual service resides in.

" + }, + "virtualServiceName": { + "shape": "ServiceName", + "documentation": "

The name of the virtual service.

" + } + }, + "documentation": "

An object representing a virtual service returned by a list operation.

" + }, + "EgressFilter": { + "type": "structure", + "required": [ + "type" + ], + "members": { + "type": { + "shape": "EgressFilterType", + "documentation": "

The egress filter type. By default, the type is DROP_ALL, which allows\n egress only from virtual nodes to other defined resources in the service mesh (and any\n traffic to *.amazonaws.com for AWS API calls). You can set the egress filter\n type to ALLOW_ALL to allow egress to any endpoint inside or outside of the\n service mesh.

" + } + }, + "documentation": "

An object representing the egress filter rules for a service mesh.

" + }, + "VirtualServiceList": { + "type": "list", + "member": { + "shape": "VirtualServiceRef" + } + }, + "VirtualNodeStatus": { + "type": "structure", + "required": [ + "status" + ], + "members": { + "status": { + "shape": "VirtualNodeStatusCode", + "documentation": "

The current status of the virtual node.

" + } + }, + "documentation": "

An object representing the current status of the virtual node.

" + }, + "VirtualRouterRef": { + "type": "structure", + "required": [ + "arn", + "meshName", + "virtualRouterName" + ], + "members": { + "arn": { + "shape": "Arn", + "documentation": "

The full Amazon Resource Name (ARN) for the virtual router.

" + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the virtual router resides in.

" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router.

" + } + }, + "documentation": "

An object representing a virtual router returned by a list operation.

" + }, + "VirtualServiceData": { + "type": "structure", + "required": [ + "meshName", + "metadata", + "spec", + "status", + "virtualServiceName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the virtual service resides in.

" + }, + "metadata": { + "shape": "ResourceMetadata" + }, + "spec": { + "shape": "VirtualServiceSpec", + "documentation": "

The specifications of the virtual service.

" + }, + "status": { + "shape": "VirtualServiceStatus", + "documentation": "

The current status of the virtual service.

" + }, + "virtualServiceName": { + "shape": "ServiceName", + "documentation": "

The name of the virtual service.

" + } + }, + "documentation": "

An object representing a virtual service returned by a describe operation.

" + }, + "DescribeVirtualServiceOutput": { + "type": "structure", + "required": [ + "virtualService" + ], + "members": { + "virtualService": { + "shape": "VirtualServiceData", + "documentation": "

The full description of your virtual service.

" + } + }, + "documentation": "", + "payload": "virtualService" + }, + "FilePath": { + "type": "string", + "min": 1, + "max": 255 + }, + "AwsCloudMapInstanceAttributes": { + "type": "list", + "member": { + "shape": "AwsCloudMapInstanceAttribute" + } + }, + "VirtualNodeRef": { + "type": "structure", + "required": [ + "arn", + "meshName", + "virtualNodeName" + ], + "members": { + "arn": { + "shape": "Arn", + "documentation": "

The full Amazon Resource Name (ARN) for the virtual node.

" + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the virtual node resides in.

" + }, + "virtualNodeName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual node.

" + } + }, + "documentation": "

An object representing a virtual node returned by a list operation.

" + }, + "CreateMeshInput": { + "type": "structure", + "required": [ + "meshName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name to use for the service mesh.

" + }, + "spec": { + "shape": "MeshSpec", + "documentation": "

The service mesh specification to apply.

" + }, + "tags": { + "shape": "TagList", + "documentation": "

Optional metadata that you can apply to the service mesh to assist with categorization\n and organization. Each tag consists of a key and an optional value, both of which you\n define. Tag keys can have a maximum character length of 128 characters, and tag values can have\n a maximum length of 256 characters.

" + } + }, + "documentation": "" + }, + "DescribeVirtualNodeOutput": { + "type": "structure", + "required": [ + "virtualNode" + ], + "members": { + "virtualNode": { + "shape": "VirtualNodeData", + "documentation": "

The full description of your virtual node.

" + } + }, + "documentation": "", + "payload": "virtualNode" + }, + "AwsCloudMapName": { + "type": "string", + "min": 1, + "max": 1024, + "pattern": "((?=^.{1,127}$)^([a-zA-Z0-9_][a-zA-Z0-9-_]{0,61}[a-zA-Z0-9_]|[a-zA-Z0-9])(.([a-zA-Z0-9_][a-zA-Z0-9-_]{0,61}[a-zA-Z0-9_]|[a-zA-Z0-9]))*$)|(^.$)" + }, + "LimitExceededException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

You have exceeded a service limit for your account. For more information, see Service\n Limits in the AWS App Mesh User Guide.

", + "exception": true, + "error": { + "code": "LimitExceededException", + "httpStatusCode": 400, + "senderFault": true + } + }, + "UpdateMeshOutput": { + "type": "structure", + "required": [ + "mesh" + ], + "members": { + "mesh": { + "shape": "MeshData" + } + }, + "documentation": "", + "payload": "mesh" + }, + "CreateRouteOutput": { + "type": "structure", + "required": [ + "route" + ], + "members": { + "route": { + "shape": "RouteData", + "documentation": "

The full description of your mesh following the create call.

" + } + }, + "documentation": "", + "payload": "route" + }, + "DnsServiceDiscovery": { + "type": "structure", + "required": [ + "hostname" + ], + "members": { + "hostname": { + "shape": "Hostname", + "documentation": "

Specifies the DNS service discovery hostname for the virtual node.

" + } + }, + "documentation": "

An object representing the DNS service discovery information for your virtual\n node.

" + }, + "DescribeVirtualServiceInput": { + "type": "structure", + "required": [ + "meshName", + "virtualServiceName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the virtual service resides in.

", + "location": "uri", + "locationName": "meshName" + }, + "virtualServiceName": { + "shape": "ServiceName", + "documentation": "

The name of the virtual service to describe.

", + "location": "uri", + "locationName": "virtualServiceName" + } + }, + "documentation": "" + }, + "ListVirtualServicesLimit": { + "type": "integer", + "box": true, + "min": 1, + "max": 100 + }, + "DeleteRouteInput": { + "type": "structure", + "required": [ + "meshName", + "routeName", + "virtualRouterName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to delete the route in.

", + "location": "uri", + "locationName": "meshName" + }, + "routeName": { + "shape": "ResourceName", + "documentation": "

The name of the route to delete.

", + "location": "uri", + "locationName": "routeName" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router to delete the route in.

", + "location": "uri", + "locationName": "virtualRouterName" + } + }, + "documentation": "" + }, + "VirtualNodeData": { + "type": "structure", + "required": [ + "meshName", + "metadata", + "spec", + "status", + "virtualNodeName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the virtual node resides in.

" + }, + "metadata": { + "shape": "ResourceMetadata", + "documentation": "

The associated metadata for the virtual node.

" + }, + "spec": { + "shape": "VirtualNodeSpec", + "documentation": "

The specifications of the virtual node.

" + }, + "status": { + "shape": "VirtualNodeStatus", + "documentation": "

The current status for the virtual node.

" + }, + "virtualNodeName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual node.

" + } + }, + "documentation": "

An object representing a virtual node returned by a describe operation.

" + }, + "UntagResourceOutput": { + "type": "structure", + "members": { }, + "documentation": "" + }, + "AwsCloudMapInstanceAttribute": { + "type": "structure", + "required": [ + "key", + "value" + ], + "members": { + "key": { + "shape": "AwsCloudMapInstanceAttributeKey", + "documentation": "

The name of an AWS Cloud Map service instance attribute key. Any AWS Cloud Map service instance\n that contains the specified key and value is returned.

" + }, + "value": { + "shape": "AwsCloudMapInstanceAttributeValue", + "documentation": "

The value of an AWS Cloud Map service instance attribute key. Any AWS Cloud Map service\n instance that contains the specified key and value is returned.

" + } + }, + "documentation": "

An object representing the AWS Cloud Map attribute information for your virtual node.

" + }, + "VirtualServiceSpec": { + "type": "structure", + "members": { + "provider": { + "shape": "VirtualServiceProvider", + "documentation": "

The App Mesh object that is acting as the provider for a virtual service. You can specify\n a single virtual node or virtual router.

" + } + }, + "documentation": "

An object representing the specification of a virtual service.

" + }, + "Backend": { + "type": "structure", + "members": { + "virtualService": { + "shape": "VirtualServiceBackend", + "documentation": "

Specifies a virtual service to use as a backend for a virtual node.

" + } + }, + "documentation": "

An object representing the backends that a virtual node is expected to send outbound\n traffic to.

" + }, + "ListVirtualRoutersLimit": { + "type": "integer", + "box": true, + "min": 1, + "max": 100 + }, + "HealthCheckIntervalMillis": { + "type": "long", + "box": true, + "min": 5000, + "max": 300000 + }, + "VirtualRouterList": { + "type": "list", + "member": { + "shape": "VirtualRouterRef" + } + }, + "ListMeshesInput": { + "type": "structure", + "members": { + "limit": { + "shape": "ListMeshesLimit", + "documentation": "

The maximum number of results returned by ListMeshes in paginated output.\n When you use this parameter, ListMeshes returns only limit\n results in a single page along with a nextToken response element. You can see\n the remaining results of the initial request by sending another ListMeshes\n request with the returned nextToken value. This value can be between\n 1 and 100. If you don't use this parameter,\n ListMeshes returns up to 100 results and a\n nextToken value if applicable.

", + "location": "querystring", + "locationName": "limit" + }, + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value returned from a previous paginated\n ListMeshes request where limit 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.

\n \n

This token should be treated as an opaque identifier that is used only to\n retrieve the next items in a list and not for other programmatic purposes.

\n
", + "location": "querystring", + "locationName": "nextToken" + } + }, + "documentation": "" + }, + "Arn": { + "type": "string" + }, + "TcpRoute": { + "type": "structure", + "required": [ + "action" + ], + "members": { + "action": { + "shape": "TcpRouteAction", + "documentation": "

The action to take if a match is determined.

" + } + }, + "documentation": "

An object representing the TCP routing specification for a route.

" + }, + "VirtualNodeList": { + "type": "list", + "member": { + "shape": "VirtualNodeRef" + } + }, + "ListVirtualRoutersInput": { + "type": "structure", + "required": [ + "meshName" + ], + "members": { + "limit": { + "shape": "ListVirtualRoutersLimit", + "documentation": "

The maximum number of results returned by ListVirtualRouters in paginated\n output. When you use this parameter, ListVirtualRouters returns only\n limit results in a single page along with a nextToken response\n element. You can see the remaining results of the initial request by sending another\n ListVirtualRouters request with the returned nextToken value.\n This value can be between 1 and 100. If you don't use this\n parameter, ListVirtualRouters returns up to 100 results and\n a nextToken value if applicable.

", + "location": "querystring", + "locationName": "limit" + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to list virtual routers in.

", + "location": "uri", + "locationName": "meshName" + }, + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value returned from a previous paginated\n ListVirtualRouters request where limit 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.

", + "location": "querystring", + "locationName": "nextToken" + } + }, + "documentation": "" + }, + "VirtualRouterData": { + "type": "structure", + "required": [ + "meshName", + "metadata", + "spec", + "status", + "virtualRouterName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the virtual router resides in.

" + }, + "metadata": { + "shape": "ResourceMetadata", + "documentation": "

The associated metadata for the virtual router.

" + }, + "spec": { + "shape": "VirtualRouterSpec", + "documentation": "

The specifications of the virtual router.

" + }, + "status": { + "shape": "VirtualRouterStatus", + "documentation": "

The current status of the virtual router.

" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router.

" + } + }, + "documentation": "

An object representing a virtual router returned by a describe operation.

" + }, + "UpdateMeshInput": { + "type": "structure", + "required": [ + "meshName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to update.

", + "location": "uri", + "locationName": "meshName" + }, + "spec": { + "shape": "MeshSpec", + "documentation": "

The service mesh specification to apply.

" + } + }, + "documentation": "" + }, + "ListVirtualServicesInput": { + "type": "structure", + "required": [ + "meshName" + ], + "members": { + "limit": { + "shape": "ListVirtualServicesLimit", + "documentation": "

The maximum number of results returned by ListVirtualServices in paginated\n output. When you use this parameter, ListVirtualServices returns only\n limit results in a single page along with a nextToken response\n element. You can see the remaining results of the initial request by sending another\n ListVirtualServices request with the returned nextToken value.\n This value can be between 1 and 100. If you don't use this\n parameter, ListVirtualServices returns up to 100 results and\n a nextToken value if applicable.

", + "location": "querystring", + "locationName": "limit" + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to list virtual services in.

", + "location": "uri", + "locationName": "meshName" + }, + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value returned from a previous paginated\n ListVirtualServices request where limit 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.

", + "location": "querystring", + "locationName": "nextToken" + } + }, + "documentation": "" + }, + "CreateVirtualRouterInput": { + "type": "structure", + "required": [ + "meshName", + "spec", + "virtualRouterName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to create the virtual router in.

", + "location": "uri", + "locationName": "meshName" + }, + "spec": { + "shape": "VirtualRouterSpec", + "documentation": "

The virtual router specification to apply.

" + }, + "tags": { + "shape": "TagList", + "documentation": "

Optional metadata that you can apply to the virtual router to assist with categorization\n and organization. Each tag consists of a key and an optional value, both of which you\n define. Tag keys can have a maximum character length of 128 characters, and tag values can have\n a maximum length of 256 characters.

" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name to use for the virtual router.

" + } + }, + "documentation": "" + }, + "AccessLog": { + "type": "structure", + "members": { + "file": { + "shape": "FileAccessLog", + "documentation": "

The file object to send virtual node access logs to.

" + } + }, + "documentation": "

An object representing the access logging information for a virtual node.

" + }, + "ListVirtualNodesInput": { + "type": "structure", + "required": [ + "meshName" + ], + "members": { + "limit": { + "shape": "ListVirtualNodesLimit", + "documentation": "

The maximum number of results returned by ListVirtualNodes in paginated\n output. When you use this parameter, ListVirtualNodes returns only\n limit results in a single page along with a nextToken response\n element. You can see the remaining results of the initial request by sending another\n ListVirtualNodes request with the returned nextToken value.\n This value can be between 1 and 100. If you don't use this\n parameter, ListVirtualNodes returns up to 100 results and a\n nextToken value if applicable.

", + "location": "querystring", + "locationName": "limit" + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to list virtual nodes in.

", + "location": "uri", + "locationName": "meshName" + }, + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value returned from a previous paginated\n ListVirtualNodes request where limit 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.

", + "location": "querystring", + "locationName": "nextToken" + } + }, + "documentation": "" + }, + "DescribeVirtualRouterOutput": { + "type": "structure", + "required": [ + "virtualRouter" + ], + "members": { + "virtualRouter": { + "shape": "VirtualRouterData", + "documentation": "

The full description of your virtual router.

" + } + }, + "documentation": "", + "payload": "virtualRouter" + }, + "CreateMeshOutput": { + "type": "structure", + "required": [ + "mesh" + ], + "members": { + "mesh": { + "shape": "MeshData", + "documentation": "

The full description of your service mesh following the create call.

" + } + }, + "documentation": "", + "payload": "mesh" + }, + "CreateVirtualRouterOutput": { + "type": "structure", + "required": [ + "virtualRouter" + ], + "members": { + "virtualRouter": { + "shape": "VirtualRouterData", + "documentation": "

The full description of your virtual router following the create call.

" + } + }, + "documentation": "", + "payload": "virtualRouter" + }, + "VirtualServiceStatus": { + "type": "structure", + "required": [ + "status" + ], + "members": { + "status": { + "shape": "VirtualServiceStatusCode", + "documentation": "

The current status of the virtual service.

" + } + }, + "documentation": "

An object representing the status of a virtual service.

" + }, + "ListVirtualNodesLimit": { + "type": "integer", + "box": true, + "min": 1, + "max": 100 + }, + "HealthCheckTimeoutMillis": { + "type": "long", + "box": true, + "min": 2000, + "max": 60000 + }, + "ListMeshesLimit": { + "type": "integer", + "box": true, + "min": 1, + "max": 100 + }, + "ResourceName": { + "type": "string", + "min": 1, + "max": 255 + }, + "AwsCloudMapInstanceAttributeKey": { + "type": "string", + "min": 1, + "max": 255, + "pattern": "^[a-zA-Z0-9!-~]+$" + }, + "VirtualRouterSpec": { + "type": "structure", + "members": { + "listeners": { + "shape": "VirtualRouterListeners", + "documentation": "

The listeners that the virtual router is expected to receive inbound traffic from.\n Currently only one listener is supported per virtual router.

" + } + }, + "documentation": "

An object representing the specification of a virtual router.

" + }, + "TooManyRequestsException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

The maximum request rate permitted by the App Mesh APIs has been exceeded for your\n account. For best results, use an increasing or variable sleep interval between\n requests.

", + "exception": true, + "error": { + "code": "TooManyRequestsException", + "httpStatusCode": 429, + "senderFault": true + } + }, + "Timestamp": { + "type": "timestamp" + }, + "VirtualNodeSpec": { + "type": "structure", + "members": { + "backends": { + "shape": "Backends", + "documentation": "

The backends that the virtual node is expected to send outbound traffic to.

" + }, + "listeners": { + "shape": "Listeners", + "documentation": "

The listeners that the virtual node is expected to receive inbound traffic from.\n Currently only one listener is supported per virtual node.

" + }, + "logging": { + "shape": "Logging", + "documentation": "

The inbound and outbound access logging information for the virtual node.

" + }, + "serviceDiscovery": { + "shape": "ServiceDiscovery", + "documentation": "

The service discovery information for the virtual node. If your virtual node does not\n expect ingress traffic, you can omit this parameter.

" + } + }, + "documentation": "

An object representing the specification of a virtual node.

" + }, + "ListMeshesOutput": { + "type": "structure", + "required": [ + "meshes" + ], + "members": { + "meshes": { + "shape": "MeshList", + "documentation": "

The list of existing service meshes.

" + }, + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value to include in a future ListMeshes request.\n When the results of a ListMeshes request exceed limit, you can\n use this value to retrieve the next page of results. This value is null when\n there are no more results to return.

" + } + }, + "documentation": "" + }, + "VirtualRouterListeners": { + "type": "list", + "member": { + "shape": "VirtualRouterListener" + }, + "min": 1, + "max": 1 + }, + "ConflictException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

The request contains a client token that was used for a previous update resource call\n with different specifications. Try the request again with a new client token.

", + "exception": true, + "error": { + "code": "ConflictException", + "httpStatusCode": 409, + "senderFault": true + } + }, + "DescribeRouteOutput": { + "type": "structure", + "required": [ + "route" + ], + "members": { + "route": { + "shape": "RouteData", + "documentation": "

The full description of your route.

" + } + }, + "documentation": "", + "payload": "route" + }, + "HttpRouteMatch": { + "type": "structure", + "required": [ + "prefix" + ], + "members": { + "prefix": { + "shape": "String", + "documentation": "

Specifies the path to match requests with. This parameter must always start with\n /, which by itself matches all requests to the virtual service name. You\n can also match for path-based routing of requests. For example, if your virtual service\n name is my-service.local and you want the route to match requests to\n my-service.local/metrics, your prefix should be\n /metrics.

" + } + }, + "documentation": "

An object representing the requirements for a route to match HTTP requests for a virtual\n router.

" + }, + "MeshList": { + "type": "list", + "member": { + "shape": "MeshRef" + } + }, + "TagRef": { + "type": "structure", + "required": [ + "key" + ], + "members": { + "key": { + "shape": "TagKey", + "documentation": "

One part of a key-value pair that make up a tag. A key is a general label\n that acts like a category for more specific tag values.

" + }, + "value": { + "shape": "TagValue", + "documentation": "

The optional part of a key-value pair that make up a tag. A value acts as a\n descriptor within a tag category (key).

" + } + }, + "documentation": "

Optional metadata that you apply to a resource to assist with categorization and\n organization. Each tag consists of a key and an optional value, both of which you define.\n Tag keys can have a maximum character length of 128 characters, and tag values can have\n a maximum length of 256 characters.

" + }, + "MeshRef": { + "type": "structure", + "required": [ + "arn", + "meshName" + ], + "members": { + "arn": { + "shape": "Arn", + "documentation": "

The full Amazon Resource Name (ARN) of the service mesh.

" + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh.

" + } + }, + "documentation": "

An object representing a service mesh returned by a list operation.

" + }, + "MeshStatusCode": { + "type": "string", + "enum": [ + "ACTIVE", + "DELETED", + "INACTIVE" + ] + }, + "PortMapping": { + "type": "structure", + "required": [ + "port", + "protocol" + ], + "members": { + "port": { + "shape": "PortNumber", + "documentation": "

The port used for the port mapping.

" + }, + "protocol": { + "shape": "PortProtocol", + "documentation": "

The protocol used for the port mapping.

" + } + }, + "documentation": "

An object representing a virtual node or virtual router listener port mapping.

" + }, + "MeshData": { + "type": "structure", + "required": [ + "meshName", + "metadata", + "spec", + "status" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh.

" + }, + "metadata": { + "shape": "ResourceMetadata", + "documentation": "

The associated metadata for the service mesh.

" + }, + "spec": { + "shape": "MeshSpec", + "documentation": "

The associated specification for the service mesh.

" + }, + "status": { + "shape": "MeshStatus", + "documentation": "

The status of the service mesh.

" + } + }, + "documentation": "

An object representing a service mesh returned by a describe operation.

" + }, + "VirtualRouterStatus": { + "type": "structure", + "required": [ + "status" + ], + "members": { + "status": { + "shape": "VirtualRouterStatusCode", + "documentation": "

The current status of the virtual router.

" + } + }, + "documentation": "

An object representing the status of a virtual router.

" + }, + "ListVirtualServicesOutput": { + "type": "structure", + "required": [ + "virtualServices" + ], + "members": { + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value to include in a future ListVirtualServices\n request. When the results of a ListVirtualServices request exceed\n limit, you can use this value to retrieve the next page of results. This\n value is null when there are no more results to return.

" + }, + "virtualServices": { + "shape": "VirtualServiceList", + "documentation": "

The list of existing virtual services for the specified service mesh.

" + } + }, + "documentation": "" + }, + "AwsCloudMapInstanceAttributeValue": { + "type": "string", + "min": 1, + "max": 1024, + "pattern": "^([a-zA-Z0-9!-~][ ta-zA-Z0-9!-~]*){0,1}[a-zA-Z0-9!-~]{0,1}$" + }, + "WeightedTarget": { + "type": "structure", + "required": [ + "virtualNode", + "weight" + ], + "members": { + "virtualNode": { + "shape": "ResourceName", + "documentation": "

The virtual node to associate with the weighted target.

" + }, + "weight": { + "shape": "PercentInt", + "documentation": "

The relative weight of the weighted target.

" + } + }, + "documentation": "

An object representing a target and its relative weight. Traffic is distributed across\n targets according to their relative weight. For example, a weighted target with a relative\n weight of 50 receives five times as much traffic as one with a relative weight of\n 10.

" + }, + "TcpRouteAction": { + "type": "structure", + "required": [ + "weightedTargets" + ], + "members": { + "weightedTargets": { + "shape": "WeightedTargets", + "documentation": "

The targets that traffic is routed to when a request matches the route. You can specify\n one or more targets and their relative weights to distribute traffic with.

" + } + }, + "documentation": "

An object representing the traffic distribution requirements for matched TCP\n requests.

" + }, + "DescribeVirtualNodeInput": { + "type": "structure", + "required": [ + "meshName", + "virtualNodeName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the virtual node resides in.

", + "location": "uri", + "locationName": "meshName" + }, + "virtualNodeName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual node to describe.

", + "location": "uri", + "locationName": "virtualNodeName" + } + }, + "documentation": "" + }, + "RouteStatus": { + "type": "structure", + "required": [ + "status" + ], + "members": { + "status": { + "shape": "RouteStatusCode", + "documentation": "

The current status for the route.

" + } + }, + "documentation": "

An object representing the current status of a route.

" + }, + "RouteRef": { + "type": "structure", + "required": [ + "arn", + "meshName", + "routeName", + "virtualRouterName" + ], + "members": { + "arn": { + "shape": "Arn", + "documentation": "

The full Amazon Resource Name (ARN) for the route.

" + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the route resides in.

" + }, + "routeName": { + "shape": "ResourceName", + "documentation": "

The name of the route.

" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The virtual router that the route is associated with.

" + } + }, + "documentation": "

An object representing a route returned by a list operation.

" + }, + "Listener": { + "type": "structure", + "required": [ + "portMapping" + ], + "members": { + "healthCheck": { + "shape": "HealthCheckPolicy", + "documentation": "

The health check information for the listener.

" + }, + "portMapping": { + "shape": "PortMapping", + "documentation": "

The port mapping information for the listener.

" + } + }, + "documentation": "

An object representing a listener for a virtual node.

" + }, + "DeleteVirtualNodeInput": { + "type": "structure", + "required": [ + "meshName", + "virtualNodeName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to delete the virtual node in.

", + "location": "uri", + "locationName": "meshName" + }, + "virtualNodeName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual node to delete.

", + "location": "uri", + "locationName": "virtualNodeName" + } + }, + "documentation": "" + }, + "RouteData": { + "type": "structure", + "required": [ + "meshName", + "metadata", + "routeName", + "spec", + "status", + "virtualRouterName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the route resides in.

" + }, + "metadata": { + "shape": "ResourceMetadata", + "documentation": "

The associated metadata for the route.

" + }, + "routeName": { + "shape": "ResourceName", + "documentation": "

The name of the route.

" + }, + "spec": { + "shape": "RouteSpec", + "documentation": "

The specifications of the route.

" + }, + "status": { + "shape": "RouteStatus", + "documentation": "

The status of the route.

" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The virtual router that the route is associated with.

" + } + }, + "documentation": "

An object representing a route returned by a describe operation.

" + }, + "RouteStatusCode": { + "type": "string", + "enum": [ + "ACTIVE", + "DELETED", + "INACTIVE" + ] + }, + "ListRoutesLimit": { + "type": "integer", + "box": true, + "min": 1, + "max": 100 + }, + "DeleteVirtualServiceOutput": { + "type": "structure", + "required": [ + "virtualService" + ], + "members": { + "virtualService": { + "shape": "VirtualServiceData", + "documentation": "

The virtual service that was deleted.

" + } + }, + "documentation": "", + "payload": "virtualService" + }, + "VirtualNodeServiceProvider": { + "type": "structure", + "required": [ + "virtualNodeName" + ], + "members": { + "virtualNodeName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual node that is acting as a service provider.

" + } + }, + "documentation": "

An object representing a virtual node service provider.

" + }, + "InternalServerErrorException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

The request processing has failed because of an unknown error, exception, or\n failure.

", + "exception": true, + "error": { + "code": "InternalServerErrorException", + "httpStatusCode": 500, + "fault": true + } + }, + "TagList": { + "type": "list", + "member": { + "shape": "TagRef" + }, + "min": 0, + "max": 50 + }, + "DescribeVirtualRouterInput": { + "type": "structure", + "required": [ + "meshName", + "virtualRouterName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the virtual router resides in.

", + "location": "uri", + "locationName": "meshName" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router to describe.

", + "location": "uri", + "locationName": "virtualRouterName" + } + }, + "documentation": "" + }, + "TagResourceOutput": { + "type": "structure", + "members": { }, + "documentation": "" + }, + "RouteList": { + "type": "list", + "member": { + "shape": "RouteRef" + } + }, + "ForbiddenException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

You don't have permissions to perform this action.

", + "exception": true, + "error": { + "code": "ForbiddenException", + "httpStatusCode": 403, + "senderFault": true + } + }, + "TooManyTagsException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

The request exceeds the maximum allowed number of tags allowed per resource. The current\n limit is 50 user tags per resource. You must reduce the number of tags in the request. None\n of the tags in this request were applied.

", + "exception": true, + "error": { + "code": "TooManyTagsException", + "httpStatusCode": 400, + "senderFault": true + } + }, + "DeleteMeshOutput": { + "type": "structure", + "required": [ + "mesh" + ], + "members": { + "mesh": { + "shape": "MeshData", + "documentation": "

The service mesh that was deleted.

" + } + }, + "documentation": "", + "payload": "mesh" + }, + "EgressFilterType": { + "type": "string", + "enum": [ + "ALLOW_ALL", + "DROP_ALL" + ] + }, + "Hostname": { + "type": "string" + }, + "PortNumber": { + "type": "integer", + "min": 1, + "max": 65535 + }, + "TagResourceInput": { + "type": "structure", + "required": [ + "resourceArn", + "tags" + ], + "members": { + "resourceArn": { + "shape": "Arn", + "documentation": "

The Amazon Resource Name (ARN) of the resource to add tags to.

", + "location": "querystring", + "locationName": "resourceArn" + }, + "tags": { + "shape": "TagList", + "documentation": "

The tags to add to the resource. A tag is an array of key-value pairs.\n Tag keys can have a maximum character length of 128 characters, and tag values can have\n a maximum length of 256 characters.

" + } + }, + "documentation": "" + }, + "CreateRouteInput": { + "type": "structure", + "required": [ + "meshName", + "routeName", + "spec", + "virtualRouterName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to create the route in.

", + "location": "uri", + "locationName": "meshName" + }, + "routeName": { + "shape": "ResourceName", + "documentation": "

The name to use for the route.

" + }, + "spec": { + "shape": "RouteSpec", + "documentation": "

The route specification to apply.

" + }, + "tags": { + "shape": "TagList", + "documentation": "

Optional metadata that you can apply to the route to assist with categorization and\n organization. Each tag consists of a key and an optional value, both of which you define.\n Tag keys can have a maximum character length of 128 characters, and tag values can have\n a maximum length of 256 characters.

" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router in which to create the route.

", + "location": "uri", + "locationName": "virtualRouterName" + } + }, + "documentation": "" + }, + "WeightedTargets": { + "type": "list", + "member": { + "shape": "WeightedTarget" + }, + "min": 1, + "max": 10 + }, + "VirtualServiceProvider": { + "type": "structure", + "members": { + "virtualNode": { + "shape": "VirtualNodeServiceProvider", + "documentation": "

The virtual node associated with a virtual service.

" + }, + "virtualRouter": { + "shape": "VirtualRouterServiceProvider", + "documentation": "

The virtual router associated with a virtual service.

" + } + }, + "documentation": "

An object representing the provider for a virtual service.

" + }, + "String": { + "type": "string" + }, + "AwsCloudMapServiceDiscovery": { + "type": "structure", + "required": [ + "namespaceName", + "serviceName" + ], + "members": { + "attributes": { + "shape": "AwsCloudMapInstanceAttributes", + "documentation": "

A string map that contains attributes with values that you can use to filter instances\n by any custom attribute that you specified when you registered the instance. Only instances\n that match all of the specified key/value pairs will be returned.

" + }, + "namespaceName": { + "shape": "AwsCloudMapName", + "documentation": "

The name of the AWS Cloud Map namespace to use.

" + }, + "serviceName": { + "shape": "AwsCloudMapName", + "documentation": "

The name of the AWS Cloud Map service to use.

" + } + }, + "documentation": "

An object representing the AWS Cloud Map service discovery information for your virtual\n node.

" + }, + "UpdateVirtualServiceOutput": { + "type": "structure", + "required": [ + "virtualService" + ], + "members": { + "virtualService": { + "shape": "VirtualServiceData", + "documentation": "

A full description of the virtual service that was updated.

" + } + }, + "documentation": "", + "payload": "virtualService" + }, + "UpdateRouteInput": { + "type": "structure", + "required": [ + "meshName", + "routeName", + "spec", + "virtualRouterName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the route resides in.

", + "location": "uri", + "locationName": "meshName" + }, + "routeName": { + "shape": "ResourceName", + "documentation": "

The name of the route to update.

", + "location": "uri", + "locationName": "routeName" + }, + "spec": { + "shape": "RouteSpec", + "documentation": "

The new route specification to apply. This overwrites the existing data.

" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router that the route is associated with.

", + "location": "uri", + "locationName": "virtualRouterName" + } + }, + "documentation": "" + }, + "MeshStatus": { + "type": "structure", + "members": { + "status": { + "shape": "MeshStatusCode", + "documentation": "

The current mesh status.

" + } + }, + "documentation": "

An object representing the status of a service mesh.

" + }, + "CreateVirtualNodeInput": { + "type": "structure", + "required": [ + "meshName", + "spec", + "virtualNodeName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to create the virtual node in.

", + "location": "uri", + "locationName": "meshName" + }, + "spec": { + "shape": "VirtualNodeSpec", + "documentation": "

The virtual node specification to apply.

" + }, + "tags": { + "shape": "TagList", + "documentation": "

Optional metadata that you can apply to the virtual node to assist with categorization\n and organization. Each tag consists of a key and an optional value, both of which you\n define. Tag keys can have a maximum character length of 128 characters, and tag values can have\n a maximum length of 256 characters.

" + }, + "virtualNodeName": { + "shape": "ResourceName", + "documentation": "

The name to use for the virtual node.

" + } + }, + "documentation": "" + }, + "NotFoundException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

The specified resource doesn't exist. Check your request syntax and try again.

", + "exception": true, + "error": { + "code": "NotFoundException", + "httpStatusCode": 404, + "senderFault": true + } + }, + "RouteSpec": { + "type": "structure", + "members": { + "httpRoute": { + "shape": "HttpRoute", + "documentation": "

The HTTP routing information for the route.

" + }, + "tcpRoute": { + "shape": "TcpRoute", + "documentation": "

The TCP routing information for the route.

" + } + }, + "documentation": "

An object representing the specification of a route.

" + }, + "HttpRoute": { + "type": "structure", + "required": [ + "action", + "match" + ], + "members": { + "action": { + "shape": "HttpRouteAction", + "documentation": "

The action to take if a match is determined.

" + }, + "match": { + "shape": "HttpRouteMatch", + "documentation": "

The criteria for determining an HTTP request match.

" + } + }, + "documentation": "

An object representing the HTTP routing specification for a route.

" + }, + "DescribeMeshInput": { + "type": "structure", + "required": [ + "meshName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to describe.

", + "location": "uri", + "locationName": "meshName" + } + }, + "documentation": "" + }, + "MeshSpec": { + "type": "structure", + "members": { + "egressFilter": { + "shape": "EgressFilter", + "documentation": "

The egress filter rules for the service mesh.

" + } + }, + "documentation": "

An object representing the specification of a service mesh.

" + }, + "CreateVirtualServiceOutput": { + "type": "structure", + "required": [ + "virtualService" + ], + "members": { + "virtualService": { + "shape": "VirtualServiceData", + "documentation": "

The full description of your virtual service following the create call.

" + } + }, + "documentation": "", + "payload": "virtualService" + }, + "FileAccessLog": { + "type": "structure", + "required": [ + "path" + ], + "members": { + "path": { + "shape": "FilePath", + "documentation": "

The file path to write access logs to. You can use /dev/stdout to send\n access logs to standard out and configure your Envoy container to use a log driver, such as\n awslogs, to export the access logs to a log storage service such as Amazon\n CloudWatch Logs. You can also specify a path in the Envoy container's file system to write\n the files to disk.

\n \n

The Envoy process must have write permissions to the path that you specify here.\n Otherwise, Envoy fails to bootstrap properly.

\n
" + } + }, + "documentation": "

An object representing an access log file.

" + }, + "VirtualRouterServiceProvider": { + "type": "structure", + "required": [ + "virtualRouterName" + ], + "members": { + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router that is acting as a service provider.

" + } + }, + "documentation": "

An object representing a virtual node service provider.

" + }, + "DeleteVirtualServiceInput": { + "type": "structure", + "required": [ + "meshName", + "virtualServiceName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to delete the virtual service in.

", + "location": "uri", + "locationName": "meshName" + }, + "virtualServiceName": { + "shape": "ServiceName", + "documentation": "

The name of the virtual service to delete.

", + "location": "uri", + "locationName": "virtualServiceName" + } + }, + "documentation": "" + }, + "ListTagsForResourceOutput": { + "type": "structure", + "required": [ + "tags" + ], + "members": { + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value to include in a future ListTagsForResource\n request. When the results of a ListTagsForResource request exceed\n limit, you can use this value to retrieve the next page of results. This\n value is null when there are no more results to return.

" + }, + "tags": { + "shape": "TagList", + "documentation": "

The tags for the resource.

" + } + }, + "documentation": "" + }, + "ServiceDiscovery": { + "type": "structure", + "members": { + "awsCloudMap": { + "shape": "AwsCloudMapServiceDiscovery", + "documentation": "

Specifies any AWS Cloud Map information for the virtual node.

" + }, + "dns": { + "shape": "DnsServiceDiscovery", + "documentation": "

Specifies the DNS information for the virtual node.

" + } + }, + "documentation": "

An object representing the service discovery information for a virtual node.

" + }, + "ListVirtualNodesOutput": { + "type": "structure", + "required": [ + "virtualNodes" + ], + "members": { + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value to include in a future ListVirtualNodes\n request. When the results of a ListVirtualNodes request exceed\n limit, you can use this value to retrieve the next page of results. This\n value is null when there are no more results to return.

" + }, + "virtualNodes": { + "shape": "VirtualNodeList", + "documentation": "

The list of existing virtual nodes for the specified service mesh.

" + } + }, + "documentation": "" + }, + "UntagResourceInput": { + "type": "structure", + "required": [ + "resourceArn", + "tagKeys" + ], + "members": { + "resourceArn": { + "shape": "Arn", + "documentation": "

The Amazon Resource Name (ARN) of the resource to delete tags from.

", + "location": "querystring", + "locationName": "resourceArn" + }, + "tagKeys": { + "shape": "TagKeyList", + "documentation": "

The keys of the tags to be removed.

" + } + }, + "documentation": "" + }, + "DeleteVirtualRouterOutput": { + "type": "structure", + "required": [ + "virtualRouter" + ], + "members": { + "virtualRouter": { + "shape": "VirtualRouterData", + "documentation": "

The virtual router that was deleted.

" + } + }, + "documentation": "", + "payload": "virtualRouter" + }, + "TagsLimit": { + "type": "integer", + "box": true, + "min": 1, + "max": 50 + }, + "TagKey": { + "type": "string", + "min": 1, + "max": 128 + }, + "VirtualServiceStatusCode": { + "type": "string", + "enum": [ + "ACTIVE", + "DELETED", + "INACTIVE" + ] + }, + "DeleteVirtualNodeOutput": { + "type": "structure", + "required": [ + "virtualNode" + ], + "members": { + "virtualNode": { + "shape": "VirtualNodeData", + "documentation": "

The virtual node that was deleted.

" + } + }, + "documentation": "", + "payload": "virtualNode" + } + } +} diff --git a/bin/botocore/data/appstream/2016-12-01/paginators-1.json b/bin/botocore/data/appstream/2016-12-01/paginators-1.json index ea142457..40cbf4ba 100644 --- a/bin/botocore/data/appstream/2016-12-01/paginators-1.json +++ b/bin/botocore/data/appstream/2016-12-01/paginators-1.json @@ -1,3 +1,60 @@ { - "pagination": {} + "pagination": { + "DescribeDirectoryConfigs": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "DirectoryConfigs" + }, + "DescribeFleets": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Fleets" + }, + "DescribeImageBuilders": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "ImageBuilders" + }, + "DescribeImages": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Images" + }, + "DescribeSessions": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "Limit", + "result_key": "Sessions" + }, + "DescribeStacks": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Stacks" + }, + "DescribeUserStackAssociations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "UserStackAssociations" + }, + "DescribeUsers": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Users" + }, + "ListAssociatedFleets": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Names" + }, + "ListAssociatedStacks": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Names" + } + } } diff --git a/bin/botocore/data/appstream/2016-12-01/service-2.json b/bin/botocore/data/appstream/2016-12-01/service-2.json index 798ecc11..8e19f167 100644 --- a/bin/botocore/data/appstream/2016-12-01/service-2.json +++ b/bin/botocore/data/appstream/2016-12-01/service-2.json @@ -85,7 +85,7 @@ {"shape":"LimitExceededException"}, {"shape":"InvalidAccountStatusException"} ], - "documentation":"

Creates a Directory Config object in AppStream 2.0. This object includes the information required to join streaming instances to an Active Directory domain.

" + "documentation":"

Creates a Directory Config object in AppStream 2.0. This object includes the configuration information required to join fleets and image builders to Microsoft Active Directory domains.

" }, "CreateFleet":{ "name":"CreateFleet", @@ -180,6 +180,20 @@ ], "documentation":"

Creates a temporary URL to start an AppStream 2.0 streaming session for the specified user. A streaming URL enables application streaming to be tested without user setup.

" }, + "CreateUsageReportSubscription":{ + "name":"CreateUsageReportSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateUsageReportSubscriptionRequest"}, + "output":{"shape":"CreateUsageReportSubscriptionResult"}, + "errors":[ + {"shape":"InvalidRoleException"}, + {"shape":"InvalidAccountStatusException"} + ], + "documentation":"

Creates a usage report subscription. Usage reports are generated daily.

" + }, "CreateUser":{ "name":"CreateUser", "http":{ @@ -286,6 +300,20 @@ ], "documentation":"

Deletes the specified stack. After the stack is deleted, the application streaming environment provided by the stack is no longer available to users. Also, any reservations made for application streaming sessions for the stack are released.

" }, + "DeleteUsageReportSubscription":{ + "name":"DeleteUsageReportSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteUsageReportSubscriptionRequest"}, + "output":{"shape":"DeleteUsageReportSubscriptionResult"}, + "errors":[ + {"shape":"InvalidAccountStatusException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Disables usage report generation.

" + }, "DeleteUser":{ "name":"DeleteUser", "http":{ @@ -310,7 +338,7 @@ "errors":[ {"shape":"ResourceNotFoundException"} ], - "documentation":"

Retrieves a list that describes one or more specified Directory Config objects for AppStream 2.0, if the names for these objects are provided. Otherwise, all Directory Config objects in the account are described. These objects include the information required to join streaming instances to an Active Directory domain.

Although the response syntax in this topic includes the account password, this password is not returned in the actual response.

" + "documentation":"

Retrieves a list that describes one or more specified Directory Config objects for AppStream 2.0, if the names for these objects are provided. Otherwise, all Directory Config objects in the account are described. These objects include the configuration information required to join fleets and image builders to Microsoft Active Directory domains.

Although the response syntax in this topic includes the account password, this password is not returned in the actual response.

" }, "DescribeFleets":{ "name":"DescribeFleets", @@ -376,7 +404,7 @@ "errors":[ {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

Retrieves a list that describes the streaming sessions for a specified stack and fleet. If a user ID is provided for the stack and fleet, only streaming sessions for that user are described. If an authentication type is not provided, the default is to authenticate users using a streaming URL.

" + "documentation":"

Retrieves a list that describes the streaming sessions for a specified stack and fleet. If a UserId is provided for the stack and fleet, only streaming sessions for that user are described. If an authentication type is not provided, the default is to authenticate users using a streaming URL.

" }, "DescribeStacks":{ "name":"DescribeStacks", @@ -391,6 +419,20 @@ ], "documentation":"

Retrieves a list that describes one or more specified stacks, if the stack names are provided. Otherwise, all stacks in the account are described.

" }, + "DescribeUsageReportSubscriptions":{ + "name":"DescribeUsageReportSubscriptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeUsageReportSubscriptionsRequest"}, + "output":{"shape":"DescribeUsageReportSubscriptionsResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidAccountStatusException"} + ], + "documentation":"

Retrieves a list that describes one or more usage report subscriptions.

" + }, "DescribeUserStackAssociations":{ "name":"DescribeUserStackAssociations", "http":{ @@ -416,7 +458,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

Retrieves a list that describes one or more specified users in the user pool, if user names are provided. Otherwise, all users in the user pool are described.

" + "documentation":"

Retrieves a list that describes one or more specified users in the user pool.

" }, "DisableUser":{ "name":"DisableUser", @@ -501,7 +543,7 @@ "errors":[ {"shape":"ResourceNotFoundException"} ], - "documentation":"

Retrieves a list of all tags for the specified AppStream 2.0 resource. You can tag AppStream 2.0 image builders, images, fleets, and stacks.

For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Developer Guide.

" + "documentation":"

Retrieves a list of all tags for the specified AppStream 2.0 resource. You can tag AppStream 2.0 image builders, images, fleets, and stacks.

For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Developer Guide.

" }, "StartFleet":{ "name":"StartFleet", @@ -579,7 +621,7 @@ {"shape":"InvalidAccountStatusException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Adds or overwrites one or more tags for the specified AppStream 2.0 resource. You can tag AppStream 2.0 image builders, images, fleets, and stacks.

Each tag consists of a key and an optional value. If a resource already has a tag with the same key, this operation updates its value.

To list the current tags for your resources, use ListTagsForResource. To disassociate tags from your resources, use UntagResource.

For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Developer Guide.

" + "documentation":"

Adds or overwrites one or more tags for the specified AppStream 2.0 resource. You can tag AppStream 2.0 image builders, images, fleets, and stacks.

Each tag consists of a key and an optional value. If a resource already has a tag with the same key, this operation updates its value.

To list the current tags for your resources, use ListTagsForResource. To disassociate tags from your resources, use UntagResource.

For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Developer Guide.

" }, "UntagResource":{ "name":"UntagResource", @@ -592,7 +634,7 @@ "errors":[ {"shape":"ResourceNotFoundException"} ], - "documentation":"

Disassociates one or more specified tags from the specified AppStream 2.0 resource.

To list the current tags for your resources, use ListTagsForResource.

For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Developer Guide.

" + "documentation":"

Disassociates one or more specified tags from the specified AppStream 2.0 resource.

To list the current tags for your resources, use ListTagsForResource.

For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Developer Guide.

" }, "UpdateDirectoryConfig":{ "name":"UpdateDirectoryConfig", @@ -607,7 +649,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ConcurrentModificationException"} ], - "documentation":"

Updates the specified Directory Config object in AppStream 2.0. This object includes the information required to join streaming instances to an Active Directory domain.

" + "documentation":"

Updates the specified Directory Config object in AppStream 2.0. This object includes the configuration information required to join fleets and image builders to Microsoft Active Directory domains.

" }, "UpdateFleet":{ "name":"UpdateFleet", @@ -629,7 +671,7 @@ {"shape":"IncompatibleImageException"}, {"shape":"OperationNotPermittedException"} ], - "documentation":"

Updates the specified fleet.

If the fleet is in the STOPPED state, you can update any attribute except the fleet name. If the fleet is in the RUNNING state, you can update the DisplayName and ComputeCapacity attributes. If the fleet is in the STARTING or STOPPING state, you can't update it.

" + "documentation":"

Updates the specified fleet.

If the fleet is in the STOPPED state, you can update any attribute except the fleet name. If the fleet is in the RUNNING state, you can update the DisplayName, ComputeCapacity, ImageARN, ImageName, and DisconnectTimeoutInSeconds attributes. If the fleet is in the STARTING or STOPPING state, you can't update it.

" }, "UpdateImagePermissions":{ "name":"UpdateImagePermissions", @@ -662,7 +704,8 @@ {"shape":"LimitExceededException"}, {"shape":"InvalidAccountStatusException"}, {"shape":"IncompatibleImageException"}, - {"shape":"OperationNotPermittedException"} + {"shape":"OperationNotPermittedException"}, + {"shape":"ConcurrentModificationException"} ], "documentation":"

Updates the specified fields for the specified stack.

" } @@ -698,7 +741,7 @@ }, "DisplayName":{ "shape":"String", - "documentation":"

The application name for display.

" + "documentation":"

The application name to display.

" }, "IconURL":{ "shape":"String", @@ -948,7 +991,7 @@ }, "ServiceAccountCredentials":{ "shape":"ServiceAccountCredentials", - "documentation":"

The credentials for the service account used by the streaming instance to connect to the directory.

" + "documentation":"

The credentials for the service account used by the fleet or image builder to connect to the directory.

" } } }, @@ -999,19 +1042,19 @@ }, "MaxUserDurationInSeconds":{ "shape":"Integer", - "documentation":"

The maximum time that a streaming session can run, in seconds. Specify a value between 600 and 57600.

" + "documentation":"

The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.

Specify a value between 600 and 360000.

" }, "DisconnectTimeoutInSeconds":{ "shape":"Integer", - "documentation":"

The time after disconnection when a session is considered to have ended, in seconds. If a user who was disconnected reconnects within this time interval, the user is connected to their previous session. Specify a value between 60 and 57600.

" + "documentation":"

The amount of time that a streaming session remains active after users disconnect. If users try to reconnect to the streaming session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance.

Specify a value between 60 and 360000.

" }, "Description":{ "shape":"Description", - "documentation":"

The description for display.

" + "documentation":"

The description to display.

" }, "DisplayName":{ "shape":"DisplayName", - "documentation":"

The fleet name for display.

" + "documentation":"

The fleet name to display.

" }, "EnableDefaultInternetAccess":{ "shape":"BooleanObject", @@ -1019,7 +1062,15 @@ }, "DomainJoinInfo":{ "shape":"DomainJoinInfo", - "documentation":"

The information needed to join a Microsoft Active Directory domain.

" + "documentation":"

The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The tags to associate with the fleet. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=.

If you do not specify a value, the value is set to an empty string.

Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:

_ . : / = + \\ - @

For more information, see Tagging Your Resources in the Amazon AppStream 2.0 Developer Guide.

" + }, + "IdleDisconnectTimeoutInSeconds":{ + "shape":"Integer", + "documentation":"

The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the DisconnectTimeoutInSeconds time interval begins. Users are notified before they are disconnected due to inactivity. If they try to reconnect to the streaming session before the time interval specified in DisconnectTimeoutInSeconds elapses, they are connected to their previous session. Users are considered idle when they stop providing keyboard or mouse input during their streaming session. File uploads and downloads, audio in, audio out, and pixels changing do not qualify as user activity. If users continue to be idle after the time interval in IdleDisconnectTimeoutInSeconds elapses, they are disconnected.

To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 900.

If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.

" } } }, @@ -1045,7 +1096,7 @@ }, "ImageName":{ "shape":"String", - "documentation":"

The name of the image used to create the builder.

" + "documentation":"

The name of the image used to create the image builder.

" }, "ImageArn":{ "shape":"Arn", @@ -1057,11 +1108,11 @@ }, "Description":{ "shape":"Description", - "documentation":"

The description for display.

" + "documentation":"

The description to display.

" }, "DisplayName":{ "shape":"DisplayName", - "documentation":"

The image builder name for display.

" + "documentation":"

The image builder name to display.

" }, "VpcConfig":{ "shape":"VpcConfig", @@ -1073,11 +1124,15 @@ }, "DomainJoinInfo":{ "shape":"DomainJoinInfo", - "documentation":"

The information needed to join a Microsoft Active Directory domain.

" + "documentation":"

The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain.

" }, "AppstreamAgentVersion":{ "shape":"AppstreamAgentVersion", "documentation":"

The version of the AppStream 2.0 agent to use for this image builder. To use the latest version of the AppStream 2.0 agent, specify [LATEST].

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The tags to associate with the image builder. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=.

Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:

_ . : / = + \\ - @

If you do not specify a value, the value is set to an empty string.

For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Developer Guide.

" } } }, @@ -1127,11 +1182,11 @@ }, "Description":{ "shape":"Description", - "documentation":"

The description for display.

" + "documentation":"

The description to display.

" }, "DisplayName":{ "shape":"DisplayName", - "documentation":"

The stack name for display.

" + "documentation":"

The stack name to display.

" }, "StorageConnectors":{ "shape":"StorageConnectorList", @@ -1152,6 +1207,10 @@ "ApplicationSettings":{ "shape":"ApplicationSettings", "documentation":"

The persistent application settings for users of a stack. When these settings are enabled, changes that users make to applications and Windows settings are automatically saved after each session and applied to the next session.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The tags to associate with the stack. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=.

If you do not specify a value, the value is set to an empty string.

Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:

_ . : / = + \\ - @

For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Developer Guide.

" } } }, @@ -1182,7 +1241,7 @@ }, "UserId":{ "shape":"StreamingUrlUserId", - "documentation":"

The ID of the user.

" + "documentation":"

The identifier of the user.

" }, "ApplicationId":{ "shape":"String", @@ -1194,7 +1253,7 @@ }, "SessionContext":{ "shape":"String", - "documentation":"

The session context. For more information, see Session Context in the Amazon AppStream 2.0 Developer Guide.

" + "documentation":"

The session context. For more information, see Session Context in the Amazon AppStream 2.0 Developer Guide.

" } } }, @@ -1211,6 +1270,24 @@ } } }, + "CreateUsageReportSubscriptionRequest":{ + "type":"structure", + "members":{ + } + }, + "CreateUsageReportSubscriptionResult":{ + "type":"structure", + "members":{ + "S3BucketName":{ + "shape":"String", + "documentation":"

The Amazon S3 bucket where generated reports are stored. When a usage report subscription is enabled for the first time for an account in an AWS Region, an S3 bucket is created. The bucket is unique to the AWS account and the Region.

" + }, + "Schedule":{ + "shape":"UsageReportSchedule", + "documentation":"

The schedule for generating usage reports.

" + } + } + }, "CreateUserRequest":{ "type":"structure", "required":[ @@ -1220,7 +1297,7 @@ "members":{ "UserName":{ "shape":"Username", - "documentation":"

The email address of the user.

" + "documentation":"

The email address of the user.

Users' email addresses are case-sensitive. During login, if they specify an email address that doesn't use the same capitalization as the email address specified when their user pool account was created, a \"user does not exist\" error message displays.

" }, "MessageAction":{ "shape":"MessageAction", @@ -1307,7 +1384,7 @@ }, "SharedAccountId":{ "shape":"AwsAccountId", - "documentation":"

The 12-digit ID of the AWS account for which to delete image permissions.

" + "documentation":"

The 12-digit identifier of the AWS account for which to delete image permissions.

" } } }, @@ -1350,6 +1427,16 @@ "members":{ } }, + "DeleteUsageReportSubscriptionRequest":{ + "type":"structure", + "members":{ + } + }, + "DeleteUsageReportSubscriptionResult":{ + "type":"structure", + "members":{ + } + }, "DeleteUserRequest":{ "type":"structure", "required":[ @@ -1359,7 +1446,7 @@ "members":{ "UserName":{ "shape":"Username", - "documentation":"

The email address of the user.

" + "documentation":"

The email address of the user.

Users' email addresses are case-sensitive.

" }, "AuthenticationType":{ "shape":"AuthenticationType", @@ -1472,7 +1559,7 @@ }, "SharedAwsAccountIds":{ "shape":"AwsAccountIdList", - "documentation":"

The 12-digit ID of one or more AWS accounts with which the image is shared.

" + "documentation":"

The 12-digit identifier of one or more AWS accounts with which the image is shared.

" }, "NextToken":{ "shape":"String", @@ -1558,7 +1645,7 @@ }, "UserId":{ "shape":"UserId", - "documentation":"

The user ID.

" + "documentation":"

The user identifier.

" }, "NextToken":{ "shape":"String", @@ -1613,6 +1700,32 @@ } } }, + "DescribeUsageReportSubscriptionsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum size of each page of results.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

" + } + } + }, + "DescribeUsageReportSubscriptionsResult":{ + "type":"structure", + "members":{ + "UsageReportSubscriptions":{ + "shape":"UsageReportSubscriptionList", + "documentation":"

Information about the usage report subscription.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" + } + } + }, "DescribeUserStackAssociationsRequest":{ "type":"structure", "members":{ @@ -1622,7 +1735,7 @@ }, "UserName":{ "shape":"Username", - "documentation":"

The email address of the user who is associated with the stack.

" + "documentation":"

The email address of the user who is associated with the stack.

Users' email addresses are case-sensitive.

" }, "AuthenticationType":{ "shape":"AuthenticationType", @@ -1700,14 +1813,14 @@ }, "ServiceAccountCredentials":{ "shape":"ServiceAccountCredentials", - "documentation":"

The credentials for the service account used by the streaming instance to connect to the directory.

" + "documentation":"

The credentials for the service account used by the fleet or image builder to connect to the directory.

" }, "CreatedTime":{ "shape":"Timestamp", "documentation":"

The time the directory configuration was created.

" } }, - "documentation":"

Configuration information for the directory used to join domains.

" + "documentation":"

Describes the configuration information required to join fleets and image builders to Microsoft Active Directory domains.

" }, "DirectoryConfigList":{ "type":"list", @@ -1727,7 +1840,7 @@ "members":{ "UserName":{ "shape":"Username", - "documentation":"

The email address of the user.

" + "documentation":"

The email address of the user.

Users' email addresses are case-sensitive.

" }, "AuthenticationType":{ "shape":"AuthenticationType", @@ -1783,7 +1896,7 @@ "documentation":"

The distinguished name of the organizational unit for computer accounts.

" } }, - "documentation":"

Contains the information needed to join a Microsoft Active Directory domain.

" + "documentation":"

Describes the configuration information required to join fleets and image builders to Microsoft Active Directory domains.

" }, "DomainList":{ "type":"list", @@ -1799,7 +1912,7 @@ "members":{ "UserName":{ "shape":"Username", - "documentation":"

The email address of the user.

" + "documentation":"

The email address of the user.

Users' email addresses are case-sensitive. During login, if they specify an email address that doesn't use the same capitalization as the email address specified when their user pool account was created, a \"user does not exist\" error message displays.

" }, "AuthenticationType":{ "shape":"AuthenticationType", @@ -1822,7 +1935,7 @@ "members":{ "SessionId":{ "shape":"String", - "documentation":"

The ID of the streaming session.

" + "documentation":"

The identifier of the streaming session.

" } } }, @@ -1855,11 +1968,11 @@ }, "DisplayName":{ "shape":"String", - "documentation":"

The fleet name for display.

" + "documentation":"

The fleet name to display.

" }, "Description":{ "shape":"String", - "documentation":"

The description for display.

" + "documentation":"

The description to display.

" }, "ImageName":{ "shape":"String", @@ -1883,11 +1996,11 @@ }, "MaxUserDurationInSeconds":{ "shape":"Integer", - "documentation":"

The maximum time that a streaming session can run, in seconds. Specify a value between 600 and 57600.

" + "documentation":"

The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.

Specify a value between 600 and 360000.

" }, "DisconnectTimeoutInSeconds":{ "shape":"Integer", - "documentation":"

The time after disconnection when a session is considered to have ended, in seconds. If a user who was disconnected reconnects within this time interval, the user is connected to their previous session. Specify a value between 60 and 57600.

" + "documentation":"

The amount of time that a streaming session remains active after users disconnect. If they try to reconnect to the streaming session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance.

Specify a value between 60 and 360000.

" }, "State":{ "shape":"FleetState", @@ -1911,10 +2024,14 @@ }, "DomainJoinInfo":{ "shape":"DomainJoinInfo", - "documentation":"

The information needed to join a Microsoft Active Directory domain.

" + "documentation":"

The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain.

" + }, + "IdleDisconnectTimeoutInSeconds":{ + "shape":"Integer", + "documentation":"

The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the DisconnectTimeoutInSeconds time interval begins. Users are notified before they are disconnected due to inactivity. If users try to reconnect to the streaming session before the time interval specified in DisconnectTimeoutInSeconds elapses, they are connected to their previous session. Users are considered idle when they stop providing keyboard or mouse input during their streaming session. File uploads and downloads, audio in, audio out, and pixels changing do not qualify as user activity. If users continue to be idle after the time interval in IdleDisconnectTimeoutInSeconds elapses, they are disconnected.

To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 900.

If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.

" } }, - "documentation":"

Contains the parameters for a fleet.

" + "documentation":"

Describes the parameters for a fleet.

" }, "FleetAttribute":{ "type":"string", @@ -2018,7 +2135,7 @@ }, "DisplayName":{ "shape":"String", - "documentation":"

The image name for display.

" + "documentation":"

The image name to display.

" }, "State":{ "shape":"ImageState", @@ -2038,7 +2155,7 @@ }, "Description":{ "shape":"String", - "documentation":"

The description for display.

" + "documentation":"

The description to display.

" }, "StateChangeReason":{ "shape":"ImageStateChangeReason", @@ -2085,11 +2202,11 @@ }, "Description":{ "shape":"String", - "documentation":"

The description for display.

" + "documentation":"

The description to display.

" }, "DisplayName":{ "shape":"String", - "documentation":"

The image builder name for display.

" + "documentation":"

The image builder name to display.

" }, "VpcConfig":{ "shape":"VpcConfig", @@ -2121,7 +2238,7 @@ }, "DomainJoinInfo":{ "shape":"DomainJoinInfo", - "documentation":"

The information needed to join a Microsoft Active Directory domain.

" + "documentation":"

The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain.

" }, "ImageBuilderErrors":{ "shape":"ResourceErrors", @@ -2129,10 +2246,10 @@ }, "AppstreamAgentVersion":{ "shape":"AppstreamAgentVersion", - "documentation":"

The version of the AppStream 2.0 agent that is currently being used by this image builder.

" + "documentation":"

The version of the AppStream 2.0 agent that is currently being used by the image builder.

" } }, - "documentation":"

Describes a streaming instance used for editing an image. New images are created from a snapshot through an image builder.

" + "documentation":"

Describes a virtual machine that is used to create an image.

" }, "ImageBuilderList":{ "type":"list", @@ -2256,6 +2373,24 @@ "documentation":"

The specified role is invalid.

", "exception":true }, + "LastReportGenerationExecutionError":{ + "type":"structure", + "members":{ + "ErrorCode":{ + "shape":"UsageReportExecutionErrorCode", + "documentation":"

The error code for the error that is returned when a usage report can't be generated.

" + }, + "ErrorMessage":{ + "shape":"String", + "documentation":"

The error message for the error that is returned when a usage report can't be generated.

" + } + }, + "documentation":"

Describes the error that is returned when a usage report can't be generated.

" + }, + "LastReportGenerationExecutionErrors":{ + "type":"list", + "member":{"shape":"LastReportGenerationExecutionError"} + }, "LimitExceededException":{ "type":"structure", "members":{ @@ -2372,7 +2507,7 @@ "documentation":"

The resource identifier of the elastic network interface that is attached to instances in your VPC. All network interfaces have the eni-xxxxxxxx resource identifier.

" } }, - "documentation":"

The network details of the fleet instance for the streaming session.

" + "documentation":"

Describes the network details of the fleet instance for the streaming session.

" }, "OperationNotPermittedException":{ "type":"structure", @@ -2399,7 +2534,11 @@ }, "PlatformType":{ "type":"string", - "enum":["WINDOWS"] + "enum":[ + "WINDOWS", + "WINDOWS_SERVER_2016", + "WINDOWS_SERVER_2019" + ] }, "RedirectURL":{ "type":"string", @@ -2472,7 +2611,7 @@ "SecurityGroupIdList":{ "type":"list", "member":{"shape":"String"}, - "documentation":"

The security group IDs.

", + "documentation":"

The security group identifiers.

", "max":5 }, "ServiceAccountCredentials":{ @@ -2491,7 +2630,7 @@ "documentation":"

The password for the account.

" } }, - "documentation":"

Describes the credentials for the service account used by the streaming instance to connect to the directory.

" + "documentation":"

Describes the credentials for the service account used by the fleet or image builder to connect to the directory.

" }, "Session":{ "type":"structure", @@ -2505,7 +2644,7 @@ "members":{ "Id":{ "shape":"String", - "documentation":"

The ID of the streaming session.

" + "documentation":"

The identifier of the streaming session.

" }, "UserId":{ "shape":"UserId", @@ -2523,9 +2662,21 @@ "shape":"SessionState", "documentation":"

The current state of the streaming session.

" }, + "ConnectionState":{ + "shape":"SessionConnectionState", + "documentation":"

Specifies whether a user is connected to the streaming session.

" + }, + "StartTime":{ + "shape":"Timestamp", + "documentation":"

The time when a streaming instance is dedicated for the user.

" + }, + "MaxExpirationTime":{ + "shape":"Timestamp", + "documentation":"

The time when the streaming session is set to expire. This time is based on the MaxUserDurationinSeconds value, which determines the maximum length of time that a streaming session can run. A streaming session might end earlier than the time specified in SessionMaxExpirationTime, when the DisconnectTimeOutInSeconds elapses or the user chooses to end his or her session. If the DisconnectTimeOutInSeconds elapses, or the user chooses to end his or her session, the streaming instance is terminated and the streaming session ends.

" + }, "AuthenticationType":{ "shape":"AuthenticationType", - "documentation":"

The authentication method. The user is authenticated using a streaming URL (API) or SAML federation (SAML).

" + "documentation":"

The authentication method. The user is authenticated using a streaming URL (API) or SAML 2.0 federation (SAML).

" }, "NetworkAccessConfiguration":{ "shape":"NetworkAccessConfiguration", @@ -2534,6 +2685,13 @@ }, "documentation":"

Describes a streaming session.

" }, + "SessionConnectionState":{ + "type":"string", + "enum":[ + "CONNECTED", + "NOT_CONNECTED" + ] + }, "SessionList":{ "type":"list", "member":{"shape":"Session"}, @@ -2561,7 +2719,7 @@ "members":{ "sharedAccountId":{ "shape":"AwsAccountId", - "documentation":"

The 12-digit ID of the AWS account with which the image is shared.

" + "documentation":"

The 12-digit identifier of the AWS account with which the image is shared.

" }, "imagePermissions":{ "shape":"ImagePermissions", @@ -2588,11 +2746,11 @@ }, "Description":{ "shape":"String", - "documentation":"

The description for display.

" + "documentation":"

The description to display.

" }, "DisplayName":{ "shape":"String", - "documentation":"

The stack name for display.

" + "documentation":"

The stack name to display.

" }, "CreatedTime":{ "shape":"Timestamp", @@ -2759,10 +2917,10 @@ }, "Domains":{ "shape":"DomainList", - "documentation":"

The names of the domains for the G Suite account.

" + "documentation":"

The names of the domains for the account.

" } }, - "documentation":"

Describes a connector to enable persistent storage for users.

" + "documentation":"

Describes a connector that enables persistent storage for users.

" }, "StorageConnectorList":{ "type":"list", @@ -2795,7 +2953,7 @@ "SubnetIdList":{ "type":"list", "member":{"shape":"String"}, - "documentation":"

The subnet IDs.

" + "documentation":"

The subnet identifiers.

" }, "TagKey":{ "type":"string", @@ -2822,7 +2980,7 @@ }, "Tags":{ "shape":"Tags", - "documentation":"

The tags to associate. A tag is a key-value pair (the value is optional). For example, Environment=Test, or, if you do not specify a value, Environment=.

If you do not specify a value, we set the value to an empty string.

" + "documentation":"

The tags to associate. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=.

If you do not specify a value, the value is set to an empty string.

Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:

_ . : / = + \\ - @

" } } }, @@ -2881,7 +3039,7 @@ }, "ServiceAccountCredentials":{ "shape":"ServiceAccountCredentials", - "documentation":"

The credentials for the service account used by the streaming instance to connect to the directory.

" + "documentation":"

The credentials for the service account used by the fleet or image builder to connect to the directory.

" } } }, @@ -2923,11 +3081,11 @@ }, "MaxUserDurationInSeconds":{ "shape":"Integer", - "documentation":"

The maximum time that a streaming session can run, in seconds. Specify a value between 600 and 57600.

" + "documentation":"

The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.

Specify a value between 600 and 360000.

" }, "DisconnectTimeoutInSeconds":{ "shape":"Integer", - "documentation":"

The time after disconnection when a session is considered to have ended, in seconds. If a user who was disconnected reconnects within this time interval, the user is connected to their previous session. Specify a value between 60 and 57600.

" + "documentation":"

The amount of time that a streaming session remains active after users disconnect. If users try to reconnect to the streaming session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance.

Specify a value between 60 and 360000.

" }, "DeleteVpcConfig":{ "shape":"Boolean", @@ -2936,11 +3094,11 @@ }, "Description":{ "shape":"Description", - "documentation":"

The description for display.

" + "documentation":"

The description to display.

" }, "DisplayName":{ "shape":"DisplayName", - "documentation":"

The fleet name for display.

" + "documentation":"

The fleet name to display.

" }, "EnableDefaultInternetAccess":{ "shape":"BooleanObject", @@ -2948,7 +3106,11 @@ }, "DomainJoinInfo":{ "shape":"DomainJoinInfo", - "documentation":"

The information needed to join a Microsoft Active Directory domain.

" + "documentation":"

The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain.

" + }, + "IdleDisconnectTimeoutInSeconds":{ + "shape":"Integer", + "documentation":"

The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the DisconnectTimeoutInSeconds time interval begins. Users are notified before they are disconnected due to inactivity. If users try to reconnect to the streaming session before the time interval specified in DisconnectTimeoutInSeconds elapses, they are connected to their previous session. Users are considered idle when they stop providing keyboard or mouse input during their streaming session. File uploads and downloads, audio in, audio out, and pixels changing do not qualify as user activity. If users continue to be idle after the time interval in IdleDisconnectTimeoutInSeconds elapses, they are disconnected.

To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 900.

If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.

" }, "AttributesToDelete":{ "shape":"FleetAttributes", @@ -2979,7 +3141,7 @@ }, "SharedAccountId":{ "shape":"AwsAccountId", - "documentation":"

The 12-digit ID of the AWS account for which you want add or update image permissions.

" + "documentation":"

The 12-digit identifier of the AWS account for which you want add or update image permissions.

" }, "ImagePermissions":{ "shape":"ImagePermissions", @@ -2998,11 +3160,11 @@ "members":{ "DisplayName":{ "shape":"DisplayName", - "documentation":"

The stack name for display.

" + "documentation":"

The stack name to display.

" }, "Description":{ "shape":"Description", - "documentation":"

The description for display.

" + "documentation":"

The description to display.

" }, "Name":{ "shape":"String", @@ -3023,7 +3185,7 @@ }, "FeedbackURL":{ "shape":"FeedbackURL", - "documentation":"

The URL that users are redirected to after they click the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.

" + "documentation":"

The URL that users are redirected to after they choose the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.

" }, "AttributesToDelete":{ "shape":"StackAttributes", @@ -3048,6 +3210,44 @@ } } }, + "UsageReportExecutionErrorCode":{ + "type":"string", + "enum":[ + "RESOURCE_NOT_FOUND", + "ACCESS_DENIED", + "INTERNAL_SERVICE_ERROR" + ] + }, + "UsageReportSchedule":{ + "type":"string", + "enum":["DAILY"] + }, + "UsageReportSubscription":{ + "type":"structure", + "members":{ + "S3BucketName":{ + "shape":"String", + "documentation":"

The Amazon S3 bucket where generated reports are stored. When a usage report subscription is enabled for the first time for an account in an AWS Region, an S3 bucket is created. The bucket is unique to the AWS account and the Region.

" + }, + "Schedule":{ + "shape":"UsageReportSchedule", + "documentation":"

The schedule for generating usage reports.

" + }, + "LastGeneratedReportDate":{ + "shape":"Timestamp", + "documentation":"

The time when the last usage report was generated.

" + }, + "SubscriptionErrors":{ + "shape":"LastReportGenerationExecutionErrors", + "documentation":"

The errors that are returned when usage reports can't be generated.

" + } + }, + "documentation":"

Describes information about the usage report subscription.

" + }, + "UsageReportSubscriptionList":{ + "type":"list", + "member":{"shape":"UsageReportSubscription"} + }, "User":{ "type":"structure", "required":["AuthenticationType"], @@ -3058,7 +3258,7 @@ }, "UserName":{ "shape":"Username", - "documentation":"

The email address of the user.

" + "documentation":"

The email address of the user.

Users' email addresses are case-sensitive.

" }, "Enabled":{ "shape":"Boolean", @@ -3139,7 +3339,7 @@ }, "UserName":{ "shape":"Username", - "documentation":"

The email address of the user who is associated with the stack.

" + "documentation":"

The email address of the user who is associated with the stack.

Users' email addresses are case-sensitive.

" }, "AuthenticationType":{ "shape":"AuthenticationType", @@ -3184,7 +3384,9 @@ }, "UserStackAssociationList":{ "type":"list", - "member":{"shape":"UserStackAssociation"} + "member":{"shape":"UserStackAssociation"}, + "max":25, + "min":1 }, "Username":{ "type":"string", @@ -3206,15 +3408,15 @@ "members":{ "SubnetIds":{ "shape":"SubnetIdList", - "documentation":"

The subnets to which a network interface is established from the fleet instance.

" + "documentation":"

The identifiers of the subnets to which a network interface is attached from the fleet instance or image builder instance. Fleet instances use one or two subnets. Image builder instances use one subnet.

" }, "SecurityGroupIds":{ "shape":"SecurityGroupIdList", - "documentation":"

The security groups for the fleet.

" + "documentation":"

The identifiers of the security groups for the fleet or image builder.

" } }, - "documentation":"

Describes VPC configuration information.

" + "documentation":"

Describes VPC configuration information for fleets and image builders.

" } }, - "documentation":"Amazon AppStream 2.0

You can use Amazon AppStream 2.0 to stream desktop applications to any device running a web browser, without rewriting them.

" + "documentation":"Amazon AppStream 2.0

This is the Amazon AppStream 2.0 API Reference. It provides descriptions and syntax for each of the actions and data types in AppStream 2.0. AppStream 2.0 is a fully managed application streaming service. You centrally manage your desktop applications on AppStream 2.0 and securely deliver them to any computer. AppStream 2.0 manages the AWS resources required to host and run your applications, scales automatically, and provides access to your users on demand.

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

" } diff --git a/bin/botocore/data/appsync/2017-07-25/paginators-1.json b/bin/botocore/data/appsync/2017-07-25/paginators-1.json index ea142457..487d71e6 100644 --- a/bin/botocore/data/appsync/2017-07-25/paginators-1.json +++ b/bin/botocore/data/appsync/2017-07-25/paginators-1.json @@ -1,3 +1,46 @@ { - "pagination": {} + "pagination": { + "ListApiKeys": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "apiKeys" + }, + "ListDataSources": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "dataSources" + }, + "ListFunctions": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "functions" + }, + "ListGraphqlApis": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "graphqlApis" + }, + "ListResolvers": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "resolvers" + }, + "ListResolversByFunction": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "resolvers" + }, + "ListTypes": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "types" + } + } } diff --git a/bin/botocore/data/appsync/2017-07-25/service-2.json b/bin/botocore/data/appsync/2017-07-25/service-2.json index d8998325..5ed41908 100644 --- a/bin/botocore/data/appsync/2017-07-25/service-2.json +++ b/bin/botocore/data/appsync/2017-07-25/service-2.json @@ -179,7 +179,8 @@ {"shape":"ConcurrentModificationException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} + {"shape":"InternalFailureException"}, + {"shape":"AccessDeniedException"} ], "documentation":"

Deletes a GraphqlApi object.

" }, @@ -260,7 +261,8 @@ {"shape":"BadRequestException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} + {"shape":"InternalFailureException"}, + {"shape":"AccessDeniedException"} ], "documentation":"

Retrieves a GraphqlApi object.

" }, @@ -423,6 +425,24 @@ ], "documentation":"

List the resolvers that are associated with a specific function.

" }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/v1/tags/{resourceArn}" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Lists the tags for a resource.

" + }, "ListTypes":{ "name":"ListTypes", "http":{ @@ -457,6 +477,42 @@ ], "documentation":"

Adds a new schema to your GraphQL API.

This operation is asynchronous. Use to determine when it has completed.

" }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/v1/tags/{resourceArn}" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Tags a resource with user-supplied tags.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/v1/tags/{resourceArn}" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Untags a resource.

" + }, "UpdateApiKey":{ "name":"UpdateApiKey", "http":{ @@ -521,7 +577,8 @@ {"shape":"ConcurrentModificationException"}, {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} + {"shape":"InternalFailureException"}, + {"shape":"AccessDeniedException"} ], "documentation":"

Updates a GraphqlApi object.

" }, @@ -560,6 +617,37 @@ } }, "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

You do not have access to perform this operation on this resource.

", + "error":{"httpStatusCode":403}, + "exception":true + }, + "AdditionalAuthenticationProvider":{ + "type":"structure", + "members":{ + "authenticationType":{ + "shape":"AuthenticationType", + "documentation":"

The authentication type: API key, AWS IAM, OIDC, or Amazon Cognito user pools.

" + }, + "openIDConnectConfig":{ + "shape":"OpenIDConnectConfig", + "documentation":"

The OpenID Connect configuration.

" + }, + "userPoolConfig":{ + "shape":"CognitoUserPoolConfig", + "documentation":"

The Amazon Cognito user pool configuration.

" + } + }, + "documentation":"

Describes an additional authentication provider.

" + }, + "AdditionalAuthenticationProviders":{ + "type":"list", + "member":{"shape":"AdditionalAuthenticationProvider"} + }, "ApiKey":{ "type":"structure", "members":{ @@ -662,6 +750,29 @@ }, "Blob":{"type":"blob"}, "Boolean":{"type":"boolean"}, + "BooleanValue":{"type":"boolean"}, + "CognitoUserPoolConfig":{ + "type":"structure", + "required":[ + "userPoolId", + "awsRegion" + ], + "members":{ + "userPoolId":{ + "shape":"String", + "documentation":"

The user pool ID.

" + }, + "awsRegion":{ + "shape":"String", + "documentation":"

The AWS Region in which the user pool was created.

" + }, + "appIdClientRegex":{ + "shape":"String", + "documentation":"

A regular expression for validating the incoming Amazon Cognito user pool app client ID.

" + } + }, + "documentation":"

Describes an Amazon Cognito user pool configuration.

" + }, "ConcurrentModificationException":{ "type":"structure", "members":{ @@ -829,7 +940,7 @@ }, "authenticationType":{ "shape":"AuthenticationType", - "documentation":"

The authentication type: API key, AWS IAM, or Amazon Cognito user pools.

" + "documentation":"

The authentication type: API key, AWS IAM, OIDC, or Amazon Cognito user pools.

" }, "userPoolConfig":{ "shape":"UserPoolConfig", @@ -838,6 +949,14 @@ "openIDConnectConfig":{ "shape":"OpenIDConnectConfig", "documentation":"

The OpenID Connect configuration.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

A TagMap object.

" + }, + "additionalAuthenticationProviders":{ + "shape":"AdditionalAuthenticationProviders", + "documentation":"

A list of additional authentication providers for the GraphqlApi API.

" } } }, @@ -1355,6 +1474,12 @@ "documentation":"

The schema format: SDL or JSON.

", "location":"querystring", "locationName":"format" + }, + "includeDirectives":{ + "shape":"BooleanValue", + "documentation":"

A flag that specifies whether the schema introspection should contain directives.

", + "location":"querystring", + "locationName":"includeDirectives" } } }, @@ -1422,7 +1547,7 @@ "members":{ "status":{ "shape":"SchemaStatus", - "documentation":"

The current state of the schema (PROCESSING, ACTIVE, or DELETING). Once the schema is in the ACTIVE state, you can add data.

" + "documentation":"

The current state of the schema (PROCESSING, FAILED, SUCCESS, or NOT_APPLICABLE). When the schema is in the ACTIVE state, you can add data.

" }, "details":{ "shape":"String", @@ -1510,6 +1635,14 @@ "uris":{ "shape":"MapOfStringToString", "documentation":"

The URIs.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags.

" + }, + "additionalAuthenticationProviders":{ + "shape":"AdditionalAuthenticationProviders", + "documentation":"

A list of additional authentication providers for the GraphqlApi API.

" } }, "documentation":"

Describes a GraphQL API.

" @@ -1795,6 +1928,27 @@ } } }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The GraphqlApi ARN.

", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagMap", + "documentation":"

A TagMap object.

" + } + } + }, "ListTypesRequest":{ "type":"structure", "required":[ @@ -2021,6 +2175,12 @@ "type":"list", "member":{"shape":"Resolver"} }, + "ResourceArn":{ + "type":"string", + "max":75, + "min":70, + "pattern":"^arn:aws:appsync:[A-Za-z0-9_/.-]{0,63}:\\d{12}:apis/[0-9A-Za-z_-]{26}$" + }, "ResourceName":{ "type":"string", "pattern":"[_A-Za-z][_0-9A-Za-z]*" @@ -2030,7 +2190,10 @@ "enum":[ "PROCESSING", "ACTIVE", - "DELETING" + "DELETING", + "FAILED", + "SUCCESS", + "NOT_APPLICABLE" ] }, "StartSchemaCreationRequest":{ @@ -2057,11 +2220,61 @@ "members":{ "status":{ "shape":"SchemaStatus", - "documentation":"

The current state of the schema (PROCESSING, ACTIVE, or DELETING). When the schema is in the ACTIVE state, you can add data.

" + "documentation":"

The current state of the schema (PROCESSING, FAILED, SUCCESS, or NOT_APPLICABLE). When the schema is in the ACTIVE state, you can add data.

" } } }, "String":{"type":"string"}, + "TagKey":{ + "type":"string", + "documentation":"

The key for the tag.

", + "max":128, + "min":1, + "pattern":"^(?!aws:)[a-zA-Z+-=._:/]+$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "documentation":"

A map with keys of TagKey objects and values of TagValue objects.

", + "max":50, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The GraphqlApi ARN.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

A TagMap object.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "documentation":"

The value for the tag.

", + "max":256 + }, "Type":{ "type":"structure", "members":{ @@ -2108,6 +2321,32 @@ "error":{"httpStatusCode":401}, "exception":true }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The GraphqlApi ARN.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

A list of TagKey objects.

", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateApiKeyRequest":{ "type":"structure", "required":[ @@ -2299,6 +2538,10 @@ "openIDConnectConfig":{ "shape":"OpenIDConnectConfig", "documentation":"

The OpenID Connect configuration for the GraphqlApi object.

" + }, + "additionalAuthenticationProviders":{ + "shape":"AdditionalAuthenticationProviders", + "documentation":"

A list of additional authentication providers for the GraphqlApi API.

" } } }, diff --git a/bin/botocore/data/athena/2017-05-18/service-2.json b/bin/botocore/data/athena/2017-05-18/service-2.json index 1993f2a1..adc47263 100644 --- a/bin/botocore/data/athena/2017-05-18/service-2.json +++ b/bin/botocore/data/athena/2017-05-18/service-2.json @@ -24,7 +24,7 @@ {"shape":"InternalServerException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Returns the details of a single named query or a list of up to 50 queries, which you provide as an array of query ID strings. Use ListNamedQueries to get the list of named query IDs. If information could not be retrieved for a submitted query ID, information about the query ID submitted is listed under UnprocessedNamedQueryId. Named queries are different from executed queries. Use BatchGetQueryExecution to get details about each unique query execution, and ListQueryExecutions to get a list of query execution IDs.

" + "documentation":"

Returns the details of a single named query or a list of up to 50 queries, which you provide as an array of query ID strings. Requires you to have access to the workgroup in which the queries were saved. Use ListNamedQueriesInput to get the list of named query IDs in the specified workgroup. If information could not be retrieved for a submitted query ID, information about the query ID submitted is listed under UnprocessedNamedQueryId. Named queries differ from executed queries. Use BatchGetQueryExecutionInput to get details about each unique query execution, and ListQueryExecutionsInput to get a list of query execution IDs.

" }, "BatchGetQueryExecution":{ "name":"BatchGetQueryExecution", @@ -38,7 +38,7 @@ {"shape":"InternalServerException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Returns the details of a single query execution or a list of up to 50 query executions, which you provide as an array of query execution ID strings. To get a list of query execution IDs, use ListQueryExecutions. Query executions are different from named (saved) queries. Use BatchGetNamedQuery to get details about named queries.

" + "documentation":"

Returns the details of a single query execution or a list of up to 50 query executions, which you provide as an array of query execution ID strings. Requires you to have access to the workgroup in which the queries ran. To get a list of query execution IDs, use ListQueryExecutionsInput$WorkGroup. Query executions differ from named (saved) queries. Use BatchGetNamedQueryInput to get details about named queries.

" }, "CreateNamedQuery":{ "name":"CreateNamedQuery", @@ -52,9 +52,23 @@ {"shape":"InternalServerException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Creates a named query.

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

", + "documentation":"

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

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

", "idempotent":true }, + "CreateWorkGroup":{ + "name":"CreateWorkGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateWorkGroupInput"}, + "output":{"shape":"CreateWorkGroupOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Creates a workgroup with the specified name.

" + }, "DeleteNamedQuery":{ "name":"DeleteNamedQuery", "http":{ @@ -67,7 +81,22 @@ {"shape":"InternalServerException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Deletes a named query.

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

", + "documentation":"

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

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

", + "idempotent":true + }, + "DeleteWorkGroup":{ + "name":"DeleteWorkGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteWorkGroupInput"}, + "output":{"shape":"DeleteWorkGroupOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Deletes the workgroup with the specified name. The primary workgroup cannot be deleted.

", "idempotent":true }, "GetNamedQuery":{ @@ -82,7 +111,7 @@ {"shape":"InternalServerException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Returns information about a single query.

" + "documentation":"

Returns information about a single query. Requires that you have access to the workgroup in which the query was saved.

" }, "GetQueryExecution":{ "name":"GetQueryExecution", @@ -96,7 +125,7 @@ {"shape":"InternalServerException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Returns information about a single execution of a query. Each time a query executes, information about the query execution is saved with a unique ID.

" + "documentation":"

Returns information about a single execution of a query if you have access to the workgroup in which the query ran. Each time a query executes, information about the query execution is saved with a unique ID.

" }, "GetQueryResults":{ "name":"GetQueryResults", @@ -110,7 +139,21 @@ {"shape":"InternalServerException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Returns the results of a single query execution specified by QueryExecutionId. This request does not execute the query but returns results. Use StartQueryExecution to run a query.

" + "documentation":"

Returns the results of a single query execution specified by QueryExecutionId if you have access to the workgroup in which the query ran. This request does not execute the query but returns results. Use StartQueryExecution to run a query.

" + }, + "GetWorkGroup":{ + "name":"GetWorkGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetWorkGroupInput"}, + "output":{"shape":"GetWorkGroupOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Returns information about the workgroup with the specified name.

" }, "ListNamedQueries":{ "name":"ListNamedQueries", @@ -124,7 +167,7 @@ {"shape":"InternalServerException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Provides a list of all available query IDs.

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

" + "documentation":"

Provides a list of available query IDs only for queries saved in the specified workgroup. Requires that you have access to the workgroup.

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

" }, "ListQueryExecutions":{ "name":"ListQueryExecutions", @@ -138,7 +181,36 @@ {"shape":"InternalServerException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Provides a list of all available query execution IDs.

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

" + "documentation":"

Provides a list of available query execution IDs for the queries in the specified workgroup. Requires you to have access to the workgroup in which the queries ran.

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

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceInput"}, + "output":{"shape":"ListTagsForResourceOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Lists the tags associated with this workgroup.

" + }, + "ListWorkGroups":{ + "name":"ListWorkGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListWorkGroupsInput"}, + "output":{"shape":"ListWorkGroupsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Lists available workgroups for the account.

" }, "StartQueryExecution":{ "name":"StartQueryExecution", @@ -153,7 +225,7 @@ {"shape":"InvalidRequestException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Runs (executes) the SQL query statements contained in the Query string.

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

", + "documentation":"

Runs the SQL query statements contained in the Query. Requires you to have access to the workgroup in which the query ran.

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

", "idempotent":true }, "StopQueryExecution":{ @@ -168,11 +240,60 @@ {"shape":"InternalServerException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Stops a query execution.

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

", + "documentation":"

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

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

", "idempotent":true + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceInput"}, + "output":{"shape":"TagResourceOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Adds one or more tags to the resource, such as a workgroup. A tag is a label that you assign to an AWS Athena resource (a workgroup). Each tag consists of a key and an optional value, both of which you define. Tags enable you to categorize resources (workgroups) in Athena, for example, by purpose, owner, or environment. Use a consistent set of tag keys to make it easier to search and filter workgroups in your account. For best practices, see AWS Tagging Strategies. The key length is from 1 (minimum) to 128 (maximum) Unicode characters in UTF-8. The tag value length is from 0 (minimum) to 256 (maximum) Unicode characters in UTF-8. You can use letters and numbers representable in UTF-8, and the following characters: + - = . _ : / @. Tag keys and values are case-sensitive. Tag keys must be unique per resource. If you specify more than one, separate them by commas.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceInput"}, + "output":{"shape":"UntagResourceOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Removes one or more tags from the workgroup resource. Takes as an input a list of TagKey Strings separated by commas, and removes their tags at the same time.

" + }, + "UpdateWorkGroup":{ + "name":"UpdateWorkGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateWorkGroupInput"}, + "output":{"shape":"UpdateWorkGroupOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Updates the workgroup with the specified name. The workgroup's name cannot be changed.

" } }, "shapes":{ + "AmazonResourceName":{ + "type":"string", + "max":1011, + "min":1 + }, "BatchGetNamedQueryInput":{ "type":"structure", "required":["NamedQueryIds"], @@ -220,6 +341,11 @@ } }, "Boolean":{"type":"boolean"}, + "BoxedBoolean":{"type":"boolean"}, + "BytesScannedCutoffValue":{ + "type":"long", + "min":10000000 + }, "ColumnInfo":{ "type":"structure", "required":[ @@ -292,11 +418,11 @@ "members":{ "Name":{ "shape":"NameString", - "documentation":"

The plain language name for the query.

" + "documentation":"

The query name.

" }, "Description":{ "shape":"DescriptionString", - "documentation":"

A brief explanation of the query.

" + "documentation":"

The query description.

" }, "Database":{ "shape":"DatabaseString", @@ -304,12 +430,16 @@ }, "QueryString":{ "shape":"QueryString", - "documentation":"

The text of the query itself. In other words, all query statements.

" + "documentation":"

The contents of the query with all query statements.

" }, "ClientRequestToken":{ "shape":"IdempotencyToken", "documentation":"

A unique case-sensitive string used to ensure the request to create the query is idempotent (executes only once). If another CreateNamedQuery request is received, the same response is returned and another query is not created. If a parameter has changed, for example, the QueryString, an error is returned.

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

", "idempotencyToken":true + }, + "WorkGroup":{ + "shape":"WorkGroupName", + "documentation":"

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

" } } }, @@ -322,9 +452,36 @@ } } }, + "CreateWorkGroupInput":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"WorkGroupName", + "documentation":"

The workgroup name.

" + }, + "Configuration":{ + "shape":"WorkGroupConfiguration", + "documentation":"

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

" + }, + "Description":{ + "shape":"WorkGroupDescriptionString", + "documentation":"

The workgroup description.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

One or more tags, separated by commas, that you want to attach to the workgroup as you create it.

" + } + } + }, + "CreateWorkGroupOutput":{ + "type":"structure", + "members":{ + } + }, "DatabaseString":{ "type":"string", - "max":32, + "max":255, "min":1 }, "Date":{"type":"timestamp"}, @@ -354,6 +511,25 @@ "members":{ } }, + "DeleteWorkGroupInput":{ + "type":"structure", + "required":["WorkGroup"], + "members":{ + "WorkGroup":{ + "shape":"WorkGroupName", + "documentation":"

The unique name of the workgroup to delete.

" + }, + "RecursiveDeleteOption":{ + "shape":"BoxedBoolean", + "documentation":"

The option to delete the workgroup and its contents even if the workgroup contains any named queries.

" + } + } + }, + "DeleteWorkGroupOutput":{ + "type":"structure", + "members":{ + } + }, "DescriptionString":{ "type":"string", "max":1024, @@ -365,7 +541,7 @@ "members":{ "EncryptionOption":{ "shape":"EncryptionOption", - "documentation":"

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

" + "documentation":"

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

If a query runs in a workgroup and the workgroup overrides client-side settings, then the workgroup's setting for encryption is used. It specifies whether query results must be encrypted, for all queries that run in this workgroup.

" }, "KmsKey":{ "shape":"String", @@ -462,6 +638,25 @@ } } }, + "GetWorkGroupInput":{ + "type":"structure", + "required":["WorkGroup"], + "members":{ + "WorkGroup":{ + "shape":"WorkGroupName", + "documentation":"

The name of the workgroup.

" + } + } + }, + "GetWorkGroupOutput":{ + "type":"structure", + "members":{ + "WorkGroup":{ + "shape":"WorkGroup", + "documentation":"

Information about the workgroup.

" + } + } + }, "IdempotencyToken":{ "type":"string", "max":128, @@ -496,6 +691,10 @@ "MaxResults":{ "shape":"MaxNamedQueriesCount", "documentation":"

The maximum number of queries to return in this request.

" + }, + "WorkGroup":{ + "shape":"WorkGroupName", + "documentation":"

The name of the workgroup from which the named queries are being returned.

" } } }, @@ -522,6 +721,10 @@ "MaxResults":{ "shape":"MaxQueryExecutionsCount", "documentation":"

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

" + }, + "WorkGroup":{ + "shape":"WorkGroupName", + "documentation":"

The name of the workgroup from which queries are being returned.

" } } }, @@ -538,6 +741,63 @@ } } }, + "ListTagsForResourceInput":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

Lists the tags for the workgroup resource with the specified ARN.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

The token for the next set of results, or null if there are no additional results for this request, where the request lists the tags for the workgroup resource with the specified ARN.

" + }, + "MaxResults":{ + "shape":"MaxTagsCount", + "documentation":"

The maximum number of results to be returned per request that lists the tags for the workgroup resource.

" + } + } + }, + "ListTagsForResourceOutput":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

The list of tags associated with this workgroup.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A token to be used by the next request if this request is truncated.

" + } + } + }, + "ListWorkGroupsInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

A token to be used by the next request if this request is truncated.

" + }, + "MaxResults":{ + "shape":"MaxWorkGroupsCount", + "documentation":"

The maximum number of workgroups to return in this request.

" + } + } + }, + "ListWorkGroupsOutput":{ + "type":"structure", + "members":{ + "WorkGroups":{ + "shape":"WorkGroupsList", + "documentation":"

The list of workgroups, including their names, descriptions, creation times, and states.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A token to be used by the next request if this request is truncated.

" + } + } + }, "Long":{"type":"long"}, "MaxNamedQueriesCount":{ "type":"integer", @@ -557,6 +817,17 @@ "max":1000, "min":0 }, + "MaxTagsCount":{ + "type":"integer", + "box":true, + "min":75 + }, + "MaxWorkGroupsCount":{ + "type":"integer", + "box":true, + "max":50, + "min":1 + }, "NameString":{ "type":"string", "max":128, @@ -572,11 +843,11 @@ "members":{ "Name":{ "shape":"NameString", - "documentation":"

The plain-language name of the query.

" + "documentation":"

The query name.

" }, "Description":{ "shape":"DescriptionString", - "documentation":"

A brief description of the query.

" + "documentation":"

The query description.

" }, "Database":{ "shape":"DatabaseString", @@ -589,9 +860,13 @@ "NamedQueryId":{ "shape":"NamedQueryId", "documentation":"

The unique identifier of the query.

" + }, + "WorkGroup":{ + "shape":"WorkGroupName", + "documentation":"

The name of the workgroup that contains the named query.

" } }, - "documentation":"

A query, where QueryString is the SQL query statements that comprise the query.

" + "documentation":"

A query, where QueryString is the list of SQL query statements that comprise the query.

" }, "NamedQueryId":{"type":"string"}, "NamedQueryIdList":{ @@ -621,7 +896,7 @@ }, "ResultConfiguration":{ "shape":"ResultConfiguration", - "documentation":"

The location in Amazon S3 where query results were stored and the encryption option, if any, used for query results.

" + "documentation":"

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

" }, "QueryExecutionContext":{ "shape":"QueryExecutionContext", @@ -634,6 +909,10 @@ "Statistics":{ "shape":"QueryExecutionStatistics", "documentation":"

The amount of data scanned during the query execution and the amount of time that it took to execute, and the type of statement that was run.

" + }, + "WorkGroup":{ + "shape":"WorkGroupName", + "documentation":"

The name of the workgroup in which the query ran.

" } }, "documentation":"

Information about a single instance of a query execution.

" @@ -688,7 +967,7 @@ "members":{ "State":{ "shape":"QueryExecutionState", - "documentation":"

The state of query execution. QUEUED state is listed but is not used by Athena and is reserved for future use. RUNNING indicates that the query has been submitted to the service, and Athena will execute the query as soon as resources are available. SUCCEEDED indicates that the query completed without error. FAILED indicates that the query experienced an error and did not complete processing.CANCELLED indicates that user input interrupted query execution.

" + "documentation":"

The state of query execution. QUEUED state is listed but is not used by Athena and is reserved for future use. RUNNING indicates that the query has been submitted to the service, and Athena will execute the query as soon as resources are available. SUCCEEDED indicates that the query completed without errors. FAILED indicates that the query experienced an error and did not complete processing. CANCELLED indicates that a user input interrupted query execution.

" }, "StateChangeReason":{ "shape":"String", @@ -710,20 +989,50 @@ "max":262144, "min":1 }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "ResourceName":{"shape":"AmazonResourceName"} + }, + "documentation":"

A resource, such as a workgroup, was not found.

", + "exception":true + }, "ResultConfiguration":{ "type":"structure", - "required":["OutputLocation"], "members":{ "OutputLocation":{ "shape":"String", - "documentation":"

The location in Amazon S3 where your query results are stored, such as s3://path/to/query/bucket/. For more information, see Queries and Query Result Files.

" + "documentation":"

The location in Amazon S3 where your query results are stored, such as s3://path/to/query/bucket/. For more information, see Queries and Query Result Files. If workgroup settings override client-side settings, then the query uses the location for the query results and the encryption configuration that are specified for the workgroup. The \"workgroup settings override\" is specified in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

" + }, + "EncryptionConfiguration":{ + "shape":"EncryptionConfiguration", + "documentation":"

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

" + } + }, + "documentation":"

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

" + }, + "ResultConfigurationUpdates":{ + "type":"structure", + "members":{ + "OutputLocation":{ + "shape":"String", + "documentation":"

The location in Amazon S3 where your query results are stored, such as s3://path/to/query/bucket/. For more information, see Queries and Query Result Files. If workgroup settings override client-side settings, then the query uses the location for the query results and the encryption configuration that are specified for the workgroup. The \"workgroup settings override\" is specified in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

" + }, + "RemoveOutputLocation":{ + "shape":"BoxedBoolean", + "documentation":"

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

" }, "EncryptionConfiguration":{ "shape":"EncryptionConfiguration", - "documentation":"

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

" + "documentation":"

The encryption configuration for the query results.

" + }, + "RemoveEncryptionConfiguration":{ + "shape":"BoxedBoolean", + "documentation":"

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

" } }, - "documentation":"

The location in Amazon S3 where query results are stored and the encryption option, if any, used for query results.

" + "documentation":"

The information about the updates in the query results, such as output location and encryption configuration for the query results.

" }, "ResultSet":{ "type":"structure", @@ -765,10 +1074,7 @@ }, "StartQueryExecutionInput":{ "type":"structure", - "required":[ - "QueryString", - "ResultConfiguration" - ], + "required":["QueryString"], "members":{ "QueryString":{ "shape":"QueryString", @@ -785,7 +1091,11 @@ }, "ResultConfiguration":{ "shape":"ResultConfiguration", - "documentation":"

Specifies information about where and how to save the results of the query execution.

" + "documentation":"

Specifies information about where and how to save the results of the query execution. If the query runs in a workgroup, then workgroup's settings may override query settings. This affects the query results location. The workgroup settings override is specified in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

" + }, + "WorkGroup":{ + "shape":"WorkGroupName", + "documentation":"

The name of the workgroup in which the query is being started.

" } } }, @@ -823,19 +1133,77 @@ } }, "String":{"type":"string"}, + "Tag":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

A tag key. The tag key length is from 1 to 128 Unicode characters in UTF-8. You can use letters and numbers representable in UTF-8, and the following characters: + - = . _ : / @. Tag keys are case-sensitive and must be unique per resource.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

A tag value. The tag value length is from 0 to 256 Unicode characters in UTF-8. You can use letters and numbers representable in UTF-8, and the following characters: + - = . _ : / @. Tag values are case-sensitive.

" + } + }, + "documentation":"

A tag that you can add to a resource. A tag is a label that you assign to an AWS Athena resource (a workgroup). Each tag consists of a key and an optional value, both of which you define. Tags enable you to categorize workgroups in Athena, for example, by purpose, owner, or environment. Use a consistent set of tag keys to make it easier to search and filter workgroups in your account. The maximum tag key length is 128 Unicode characters in UTF-8. The maximum tag value length is 256 Unicode characters in UTF-8. You can use letters and numbers representable in UTF-8, and the following characters: + - = . _ : / @. Tag keys and values are case-sensitive. Tag keys must be unique per resource.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceInput":{ + "type":"structure", + "required":[ + "ResourceARN", + "Tags" + ], + "members":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

Requests that one or more tags are added to the resource (such as a workgroup) for the specified ARN.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

One or more tags, separated by commas, to be added to the resource, such as a workgroup.

" + } + } + }, + "TagResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, "ThrottleReason":{ "type":"string", "documentation":"

The reason for the query throttling, for example, when it exceeds the concurrent query limit.

", "enum":["CONCURRENT_QUERY_LIMIT_EXCEEDED"] }, - "Token":{"type":"string"}, + "Token":{ + "type":"string", + "max":1024, + "min":1 + }, "TooManyRequestsException":{ "type":"structure", "members":{ "Message":{"shape":"ErrorMessage"}, "Reason":{"shape":"ThrottleReason"} }, - "documentation":"

Indicates that the request was throttled and includes the reason for throttling, for example, the limit of concurrent queries has been exceeded.

", + "documentation":"

Indicates that the request was throttled.

", "exception":true }, "UnprocessedNamedQueryId":{ @@ -882,6 +1250,174 @@ "type":"list", "member":{"shape":"UnprocessedQueryExecutionId"} }, + "UntagResourceInput":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeys" + ], + "members":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

Removes one or more tags from the workgroup resource for the specified ARN.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

Removes the tags associated with one or more tag keys from the workgroup resource.

" + } + } + }, + "UntagResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "UpdateWorkGroupInput":{ + "type":"structure", + "required":["WorkGroup"], + "members":{ + "WorkGroup":{ + "shape":"WorkGroupName", + "documentation":"

The specified workgroup that will be updated.

" + }, + "Description":{ + "shape":"WorkGroupDescriptionString", + "documentation":"

The workgroup description.

" + }, + "ConfigurationUpdates":{ + "shape":"WorkGroupConfigurationUpdates", + "documentation":"

The workgroup configuration that will be updated for the given workgroup.

" + }, + "State":{ + "shape":"WorkGroupState", + "documentation":"

The workgroup state that will be updated for the given workgroup.

" + } + } + }, + "UpdateWorkGroupOutput":{ + "type":"structure", + "members":{ + } + }, + "WorkGroup":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"WorkGroupName", + "documentation":"

The workgroup name.

" + }, + "State":{ + "shape":"WorkGroupState", + "documentation":"

The state of the workgroup: ENABLED or DISABLED.

" + }, + "Configuration":{ + "shape":"WorkGroupConfiguration", + "documentation":"

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

" + }, + "Description":{ + "shape":"WorkGroupDescriptionString", + "documentation":"

The workgroup description.

" + }, + "CreationTime":{ + "shape":"Date", + "documentation":"

The date and time the workgroup was created.

" + } + }, + "documentation":"

A workgroup, which contains a name, description, creation time, state, and other configuration, listed under WorkGroup$Configuration. Each workgroup enables you to isolate queries for you or your group of users from other queries in the same account, to configure the query results location and the encryption configuration (known as workgroup settings), to enable sending query metrics to Amazon CloudWatch, and to establish per-query data usage control limits for all queries in a workgroup. The workgroup settings override is specified in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

" + }, + "WorkGroupConfiguration":{ + "type":"structure", + "members":{ + "ResultConfiguration":{ + "shape":"ResultConfiguration", + "documentation":"

The configuration for the workgroup, which includes the location in Amazon S3 where query results are stored and the encryption option, if any, used for query results.

" + }, + "EnforceWorkGroupConfiguration":{ + "shape":"BoxedBoolean", + "documentation":"

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

" + }, + "PublishCloudWatchMetricsEnabled":{ + "shape":"BoxedBoolean", + "documentation":"

Indicates that the Amazon CloudWatch metrics are enabled for the workgroup.

" + }, + "BytesScannedCutoffPerQuery":{ + "shape":"BytesScannedCutoffValue", + "documentation":"

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

" + } + }, + "documentation":"

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

" + }, + "WorkGroupConfigurationUpdates":{ + "type":"structure", + "members":{ + "EnforceWorkGroupConfiguration":{ + "shape":"BoxedBoolean", + "documentation":"

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

" + }, + "ResultConfigurationUpdates":{ + "shape":"ResultConfigurationUpdates", + "documentation":"

The result configuration information about the queries in this workgroup that will be updated. Includes the updated results location and an updated option for encrypting query results.

" + }, + "PublishCloudWatchMetricsEnabled":{ + "shape":"BoxedBoolean", + "documentation":"

Indicates whether this workgroup enables publishing metrics to Amazon CloudWatch.

" + }, + "BytesScannedCutoffPerQuery":{ + "shape":"BytesScannedCutoffValue", + "documentation":"

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

" + }, + "RemoveBytesScannedCutoffPerQuery":{ + "shape":"BoxedBoolean", + "documentation":"

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

" + } + }, + "documentation":"

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

" + }, + "WorkGroupDescriptionString":{ + "type":"string", + "max":1024, + "min":0 + }, + "WorkGroupName":{ + "type":"string", + "pattern":"[a-zA-z0-9._-]{1,128}" + }, + "WorkGroupState":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "WorkGroupSummary":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"WorkGroupName", + "documentation":"

The name of the workgroup.

" + }, + "State":{ + "shape":"WorkGroupState", + "documentation":"

The state of the workgroup.

" + }, + "Description":{ + "shape":"WorkGroupDescriptionString", + "documentation":"

The workgroup description.

" + }, + "CreationTime":{ + "shape":"Date", + "documentation":"

The workgroup creation date and time.

" + } + }, + "documentation":"

The summary information for the workgroup, which includes its name, state, description, and the date and time it was created.

" + }, + "WorkGroupsList":{ + "type":"list", + "member":{"shape":"WorkGroupSummary"}, + "max":50, + "min":0 + }, "datumList":{ "type":"list", "member":{"shape":"Datum"} diff --git a/bin/botocore/data/autoscaling-plans/2018-01-06/paginators-1.json b/bin/botocore/data/autoscaling-plans/2018-01-06/paginators-1.json index ea142457..e3f812a1 100644 --- a/bin/botocore/data/autoscaling-plans/2018-01-06/paginators-1.json +++ b/bin/botocore/data/autoscaling-plans/2018-01-06/paginators-1.json @@ -1,3 +1,16 @@ { - "pagination": {} + "pagination": { + "DescribeScalingPlanResources": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ScalingPlanResources" + }, + "DescribeScalingPlans": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ScalingPlans" + } + } } diff --git a/bin/botocore/data/autoscaling-plans/2018-01-06/service-2.json b/bin/botocore/data/autoscaling-plans/2018-01-06/service-2.json index 35c0d25c..dafa7bb2 100644 --- a/bin/botocore/data/autoscaling-plans/2018-01-06/service-2.json +++ b/bin/botocore/data/autoscaling-plans/2018-01-06/service-2.json @@ -186,7 +186,7 @@ }, "Dimensions":{ "shape":"MetricDimensions", - "documentation":"

The dimensions of the metric.

" + "documentation":"

The dimensions of the metric.

Conditional: If you published your metric with dimensions, you must specify the same dimensions in your customized load metric specification.

" }, "Statistic":{ "shape":"MetricStatistic", @@ -197,7 +197,7 @@ "documentation":"

The unit of the metric.

" } }, - "documentation":"

Represents a CloudWatch metric of your choosing that can be used for predictive scaling.

For predictive scaling to work with a customized load metric specification, AWS Auto Scaling needs access to the Sum and Average statistics that CloudWatch computes from metric data. Statistics are calculations used to aggregate data over specified time periods. For more information, see the Amazon CloudWatch User Guide.

When you choose a load metric, make sure that the required Sum and Average statistics for your metric are available in CloudWatch and that they provide relevant data for predictive scaling. The Sum statistic must represent the total load on the resource, and the Average statistic must represent the average load per capacity unit of the resource. For example, there is a metric that counts the number of requests processed by your Auto Scaling group. If the Sum statistic represents the total request count processed by the group, then the Average statistic for the specified metric must represent the average request count processed by each instance of the group.

For information about terminology, see Amazon CloudWatch Concepts.

" + "documentation":"

Represents a CloudWatch metric of your choosing that can be used for predictive scaling.

For predictive scaling to work with a customized load metric specification, AWS Auto Scaling needs access to the Sum and Average statistics that CloudWatch computes from metric data. Statistics are calculations used to aggregate data over specified time periods.

When you choose a load metric, make sure that the required Sum and Average statistics for your metric are available in CloudWatch and that they provide relevant data for predictive scaling. The Sum statistic must represent the total load on the resource, and the Average statistic must represent the average load per capacity unit of the resource. For example, there is a metric that counts the number of requests processed by your Auto Scaling group. If the Sum statistic represents the total request count processed by the group, then the Average statistic for the specified metric must represent the average request count processed by each instance of the group.

For information about terminology, available metrics, or how to publish new metrics, see Amazon CloudWatch Concepts in the Amazon CloudWatch User Guide.

" }, "CustomizedScalingMetricSpecification":{ "type":"structure", @@ -217,7 +217,7 @@ }, "Dimensions":{ "shape":"MetricDimensions", - "documentation":"

The dimensions of the metric.

" + "documentation":"

The dimensions of the metric.

Conditional: If you published your metric with dimensions, you must specify the same dimensions in your customized scaling metric specification.

" }, "Statistic":{ "shape":"MetricStatistic", @@ -228,7 +228,7 @@ "documentation":"

The unit of the metric.

" } }, - "documentation":"

Represents a CloudWatch metric of your choosing that can be used for dynamic scaling as part of a target tracking scaling policy.

For information about terminology, see Amazon CloudWatch Concepts.

" + "documentation":"

Represents a CloudWatch metric of your choosing that can be used for dynamic scaling as part of a target tracking scaling policy.

To create your customized scaling metric specification:

  • Add values for each required parameter from CloudWatch. You can use an existing metric, or a new metric that you create. To use your own metric, you must first publish the metric to CloudWatch. For more information, see Publish Custom Metrics in the Amazon CloudWatch User Guide.

  • Choose a metric that changes proportionally with capacity. The value of the metric should increase or decrease in inverse proportion to the number of capacity units. That is, the value of the metric should decrease when capacity increases.

For more information about CloudWatch, see Amazon CloudWatch Concepts.

" }, "Datapoint":{ "type":"structure", @@ -597,7 +597,7 @@ }, "ScalableDimension":{ "shape":"ScalableDimension", - "documentation":"

The scalable dimension associated with the resource.

  • autoscaling:autoScalingGroup:DesiredCapacity - The desired capacity of an Auto Scaling group.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

" + "documentation":"

The scalable dimension associated with the resource.

  • autoscaling:autoScalingGroup:DesiredCapacity - The desired capacity of an Auto Scaling group.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

" }, "MinCapacity":{ "shape":"ResourceCapacity", @@ -644,7 +644,7 @@ "documentation":"

Controls whether dynamic scaling by AWS Auto Scaling is disabled. When dynamic scaling is enabled, AWS Auto Scaling creates target tracking scaling policies based on the specified target tracking configurations.

The default is enabled (false).

" } }, - "documentation":"

Describes a scaling instruction for a scalable resource.

The scaling instruction is used in combination with a scaling plan, which is a set of instructions for configuring dynamic scaling and predictive scaling for the scalable resources in your application. Each scaling instruction applies to one resource.

AWS Auto Scaling creates target tracking scaling policies based on the scaling instructions. Target tracking scaling policies adjust the capacity of your scalable resource as required to maintain resource utilization at the target value that you specified.

AWS Auto Scaling also configures predictive scaling for your Amazon EC2 Auto Scaling groups using a subset of parameters, including the load metric, the scaling metric, the target value for the scaling metric, the predictive scaling mode (forecast and scale or forecast only), and the desired behavior when the forecast capacity exceeds the maximum capacity of the resource. With predictive scaling, AWS Auto Scaling generates forecasts with traffic predictions for the two days ahead and schedules scaling actions that proactively add and remove resource capacity to match the forecast.

For more information, see the AWS Auto Scaling User Guide.

" + "documentation":"

Describes a scaling instruction for a scalable resource.

The scaling instruction is used in combination with a scaling plan, which is a set of instructions for configuring dynamic scaling and predictive scaling for the scalable resources in your application. Each scaling instruction applies to one resource.

AWS Auto Scaling creates target tracking scaling policies based on the scaling instructions. Target tracking scaling policies adjust the capacity of your scalable resource as required to maintain resource utilization at the target value that you specified.

AWS Auto Scaling also configures predictive scaling for your Amazon EC2 Auto Scaling groups using a subset of parameters, including the load metric, the scaling metric, the target value for the scaling metric, the predictive scaling mode (forecast and scale or forecast only), and the desired behavior when the forecast capacity exceeds the maximum capacity of the resource. With predictive scaling, AWS Auto Scaling generates forecasts with traffic predictions for the two days ahead and schedules scaling actions that proactively add and remove resource capacity to match the forecast.

We recommend waiting a minimum of 24 hours after creating an Auto Scaling group to configure predictive scaling. At minimum, there must be 24 hours of historical data to generate a forecast.

For more information, see Getting Started with AWS Auto Scaling.

" }, "ScalingInstructions":{ "type":"list", @@ -752,7 +752,7 @@ }, "ScalableDimension":{ "shape":"ScalableDimension", - "documentation":"

The scalable dimension for the resource.

  • autoscaling:autoScalingGroup:DesiredCapacity - The desired capacity of an Auto Scaling group.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

" + "documentation":"

The scalable dimension for the resource.

  • autoscaling:autoScalingGroup:DesiredCapacity - The desired capacity of an Auto Scaling group.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

" }, "ScalingPolicies":{ "shape":"ScalingPolicies", @@ -812,7 +812,7 @@ }, "TargetTrackingConfiguration":{ "shape":"TargetTrackingConfiguration", - "documentation":"

The target tracking scaling policy.

" + "documentation":"

The target tracking scaling policy. Includes support for predefined or customized metrics.

" } }, "documentation":"

Represents a scaling policy.

" @@ -874,11 +874,11 @@ "members":{ "PredefinedScalingMetricSpecification":{ "shape":"PredefinedScalingMetricSpecification", - "documentation":"

A predefined metric.

" + "documentation":"

A predefined metric. You can specify either a predefined metric or a customized metric.

" }, "CustomizedScalingMetricSpecification":{ "shape":"CustomizedScalingMetricSpecification", - "documentation":"

A customized metric.

" + "documentation":"

A customized metric. You can specify either a predefined metric or a customized metric.

" }, "TargetValue":{ "shape":"MetricScale", @@ -901,7 +901,7 @@ "documentation":"

The estimated time, in seconds, until a newly launched instance can contribute to the CloudWatch metrics. This value is used only if the resource is an Auto Scaling group.

" } }, - "documentation":"

Describes a target tracking configuration. Used with ScalingInstruction and ScalingPolicy.

" + "documentation":"

Describes a target tracking configuration to use with AWS Auto Scaling. Used with ScalingInstruction and ScalingPolicy.

" }, "TargetTrackingConfigurations":{ "type":"list", @@ -963,5 +963,5 @@ "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" } }, - "documentation":"AWS Auto Scaling

Use AWS Auto Scaling to quickly discover all the scalable AWS resources for your application and configure dynamic scaling and predictive scaling for your resources using scaling plans. Use this service in conjunction with the Amazon EC2 Auto Scaling, Application Auto Scaling, Amazon CloudWatch, and AWS CloudFormation services.

Currently, predictive scaling is only available for Amazon EC2 Auto Scaling groups.

For more information about AWS Auto Scaling, see the AWS Auto Scaling User Guide.

" + "documentation":"AWS Auto Scaling

Use AWS Auto Scaling to quickly discover all the scalable AWS resources for your application and configure dynamic scaling and predictive scaling for your resources using scaling plans. Use this service in conjunction with the Amazon EC2 Auto Scaling, Application Auto Scaling, Amazon CloudWatch, and AWS CloudFormation services.

Currently, predictive scaling is only available for Amazon EC2 Auto Scaling groups.

For more information about AWS Auto Scaling, including information about granting IAM users required permissions for AWS Auto Scaling actions, see the AWS Auto Scaling User Guide.

" } diff --git a/bin/botocore/data/autoscaling/2011-01-01/paginators-1.json b/bin/botocore/data/autoscaling/2011-01-01/paginators-1.json index 31bc0944..57bafe33 100644 --- a/bin/botocore/data/autoscaling/2011-01-01/paginators-1.json +++ b/bin/botocore/data/autoscaling/2011-01-01/paginators-1.json @@ -47,6 +47,18 @@ "output_token": "NextToken", "limit_key": "MaxRecords", "result_key": "Tags" + }, + "DescribeLoadBalancerTargetGroups": { + "input_token": "NextToken", + "limit_key": "MaxRecords", + "output_token": "NextToken", + "result_key": "LoadBalancerTargetGroups" + }, + "DescribeLoadBalancers": { + "input_token": "NextToken", + "limit_key": "MaxRecords", + "output_token": "NextToken", + "result_key": "LoadBalancers" } } } diff --git a/bin/botocore/data/autoscaling/2011-01-01/service-2.json b/bin/botocore/data/autoscaling/2011-01-01/service-2.json index 709fb3c0..2fbc0c1d 100644 --- a/bin/botocore/data/autoscaling/2011-01-01/service-2.json +++ b/bin/botocore/data/autoscaling/2011-01-01/service-2.json @@ -22,7 +22,7 @@ {"shape":"ResourceContentionFault"}, {"shape":"ServiceLinkedRoleFailure"} ], - "documentation":"

Attaches one or more EC2 instances to the specified Auto Scaling group.

When you attach instances, Amazon EC2 Auto Scaling increases the desired capacity of the group by the number of instances being attached. If the number of instances being attached plus the desired capacity of the group exceeds the maximum size of the group, the operation fails.

If there is a Classic Load Balancer attached to your Auto Scaling group, the instances are also registered with the load balancer. If there are target groups attached to your Auto Scaling group, the instances are also registered with the target groups.

For more information, see Attach EC2 Instances to Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

Attaches one or more EC2 instances to the specified Auto Scaling group.

When you attach instances, Amazon EC2 Auto Scaling increases the desired capacity of the group by the number of instances being attached. If the number of instances being attached plus the desired capacity of the group exceeds the maximum size of the group, the operation fails.

If there is a Classic Load Balancer attached to your Auto Scaling group, the instances are also registered with the load balancer. If there are target groups attached to your Auto Scaling group, the instances are also registered with the target groups.

For more information, see Attach EC2 Instances to Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" }, "AttachLoadBalancerTargetGroups":{ "name":"AttachLoadBalancerTargetGroups", @@ -39,7 +39,7 @@ {"shape":"ResourceContentionFault"}, {"shape":"ServiceLinkedRoleFailure"} ], - "documentation":"

Attaches one or more target groups to the specified Auto Scaling group.

To describe the target groups for an Auto Scaling group, use DescribeLoadBalancerTargetGroups. To detach the target group from the Auto Scaling group, use DetachLoadBalancerTargetGroups.

For more information, see Attach a Load Balancer to Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

Attaches one or more target groups to the specified Auto Scaling group.

To describe the target groups for an Auto Scaling group, use DescribeLoadBalancerTargetGroups. To detach the target group from the Auto Scaling group, use DetachLoadBalancerTargetGroups.

With Application Load Balancers and Network Load Balancers, instances are registered as targets with a target group. With Classic Load Balancers, instances are registered with the load balancer. For more information, see Attaching a Load Balancer to Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" }, "AttachLoadBalancers":{ "name":"AttachLoadBalancers", @@ -56,7 +56,7 @@ {"shape":"ResourceContentionFault"}, {"shape":"ServiceLinkedRoleFailure"} ], - "documentation":"

Attaches one or more Classic Load Balancers to the specified Auto Scaling group.

To attach an Application Load Balancer instead, see AttachLoadBalancerTargetGroups.

To describe the load balancers for an Auto Scaling group, use DescribeLoadBalancers. To detach the load balancer from the Auto Scaling group, use DetachLoadBalancers.

For more information, see Attach a Load Balancer to Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

Attaches one or more Classic Load Balancers to the specified Auto Scaling group.

To attach an Application Load Balancer or a Network Load Balancer instead, see AttachLoadBalancerTargetGroups.

To describe the load balancers for an Auto Scaling group, use DescribeLoadBalancers. To detach the load balancer from the Auto Scaling group, use DetachLoadBalancers.

For more information, see Attaching a Load Balancer to Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" }, "BatchDeleteScheduledAction":{ "name":"BatchDeleteScheduledAction", @@ -106,7 +106,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Completes the lifecycle action for the specified token or instance with the specified result.

This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:

  1. (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Amazon EC2 Auto Scaling launches or terminates instances.

  2. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon EC2 Auto Scaling to publish lifecycle notifications to the target.

  3. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.

  4. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state.

  5. If you finish before the timeout period ends, complete the lifecycle action.

For more information, see Auto Scaling Lifecycle in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

Completes the lifecycle action for the specified token or instance with the specified result.

This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:

  1. (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Amazon EC2 Auto Scaling launches or terminates instances.

  2. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon EC2 Auto Scaling to publish lifecycle notifications to the target.

  3. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.

  4. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state.

  5. If you finish before the timeout period ends, complete the lifecycle action.

For more information, see Amazon EC2 Auto Scaling Lifecycle Hooks in the Amazon EC2 Auto Scaling User Guide.

" }, "CreateAutoScalingGroup":{ "name":"CreateAutoScalingGroup", @@ -121,7 +121,7 @@ {"shape":"ResourceContentionFault"}, {"shape":"ServiceLinkedRoleFailure"} ], - "documentation":"

Creates an Auto Scaling group with the specified name and attributes.

If you exceed your maximum limit of Auto Scaling groups, the call fails. For information about viewing this limit, see DescribeAccountLimits. For information about updating this limit, see Auto Scaling Limits in the Amazon EC2 Auto Scaling User Guide.

For more information, see Auto Scaling Groups in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

Creates an Auto Scaling group with the specified name and attributes.

If you exceed your maximum limit of Auto Scaling groups, the call fails. For information about viewing this limit, see DescribeAccountLimits. For information about updating this limit, see Amazon EC2 Auto Scaling Limits in the Amazon EC2 Auto Scaling User Guide.

" }, "CreateLaunchConfiguration":{ "name":"CreateLaunchConfiguration", @@ -135,7 +135,7 @@ {"shape":"LimitExceededFault"}, {"shape":"ResourceContentionFault"} ], - "documentation":"

Creates a launch configuration.

If you exceed your maximum limit of launch configurations, the call fails. For information about viewing this limit, see DescribeAccountLimits. For information about updating this limit, see Auto Scaling Limits in the Amazon EC2 Auto Scaling User Guide.

For more information, see Launch Configurations in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

Creates a launch configuration.

If you exceed your maximum limit of launch configurations, the call fails. For information about viewing this limit, see DescribeAccountLimits. For information about updating this limit, see Amazon EC2 Auto Scaling Limits in the Amazon EC2 Auto Scaling User Guide.

For more information, see Launch Configurations in the Amazon EC2 Auto Scaling User Guide.

" }, "CreateOrUpdateTags":{ "name":"CreateOrUpdateTags", @@ -150,7 +150,7 @@ {"shape":"ResourceContentionFault"}, {"shape":"ResourceInUseFault"} ], - "documentation":"

Creates or updates tags for the specified Auto Scaling group.

When you specify a tag with a key that already exists, the operation overwrites the previous tag definition, and you do not get an error message.

For more information, see Tagging Auto Scaling Groups and Instances in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

Creates or updates tags for the specified Auto Scaling group.

When you specify a tag with a key that already exists, the operation overwrites the previous tag definition, and you do not get an error message.

For more information, see Tagging Auto Scaling Groups and Instances in the Amazon EC2 Auto Scaling User Guide.

" }, "DeleteAutoScalingGroup":{ "name":"DeleteAutoScalingGroup", @@ -218,7 +218,7 @@ {"shape":"ResourceContentionFault"}, {"shape":"ServiceLinkedRoleFailure"} ], - "documentation":"

Deletes the specified Auto Scaling policy.

Deleting a policy deletes the underlying alarm action, but does not delete the alarm, even if it no longer has an associated action.

" + "documentation":"

Deletes the specified scaling policy.

Deleting a policy deletes the underlying alarm action, but does not delete the alarm, even if it no longer has an associated action.

" }, "DeleteScheduledAction":{ "name":"DeleteScheduledAction", @@ -258,7 +258,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Describes the current Auto Scaling resource limits for your AWS account.

For information about requesting an increase in these limits, see Auto Scaling Limits in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

Describes the current Amazon EC2 Auto Scaling resource limits for your AWS account.

For information about requesting an increase in these limits, see Amazon EC2 Auto Scaling Limits in the Amazon EC2 Auto Scaling User Guide.

" }, "DescribeAdjustmentTypes":{ "name":"DescribeAdjustmentTypes", @@ -402,7 +402,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Describes the load balancers for the specified Auto Scaling group.

This operation describes only Classic Load Balancers. If you have Application Load Balancers, use DescribeLoadBalancerTargetGroups instead.

" + "documentation":"

Describes the load balancers for the specified Auto Scaling group.

This operation describes only Classic Load Balancers. If you have Application Load Balancers or Network Load Balancers, use DescribeLoadBalancerTargetGroups instead.

" }, "DescribeMetricCollectionTypes":{ "name":"DescribeMetricCollectionTypes", @@ -533,7 +533,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Describes the termination policies supported by Amazon EC2 Auto Scaling.

For more information, see Controlling Which Auto Scaling Instances Terminate During Scale In in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

Describes the termination policies supported by Amazon EC2 Auto Scaling.

For more information, see Controlling Which Auto Scaling Instances Terminate During Scale In in the Amazon EC2 Auto Scaling User Guide.

" }, "DetachInstances":{ "name":"DetachInstances", @@ -549,7 +549,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Removes one or more instances from the specified Auto Scaling group.

After the instances are detached, you can manage them independent of the Auto Scaling group.

If you do not specify the option to decrement the desired capacity, Amazon EC2 Auto Scaling launches instances to replace the ones that are detached.

If there is a Classic Load Balancer attached to the Auto Scaling group, the instances are deregistered from the load balancer. If there are target groups attached to the Auto Scaling group, the instances are deregistered from the target groups.

For more information, see Detach EC2 Instances from Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

Removes one or more instances from the specified Auto Scaling group.

After the instances are detached, you can manage them independent of the Auto Scaling group.

If you do not specify the option to decrement the desired capacity, Amazon EC2 Auto Scaling launches instances to replace the ones that are detached.

If there is a Classic Load Balancer attached to the Auto Scaling group, the instances are deregistered from the load balancer. If there are target groups attached to the Auto Scaling group, the instances are deregistered from the target groups.

For more information, see Detach EC2 Instances from Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" }, "DetachLoadBalancerTargetGroups":{ "name":"DetachLoadBalancerTargetGroups", @@ -581,7 +581,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Detaches one or more Classic Load Balancers from the specified Auto Scaling group.

This operation detaches only Classic Load Balancers. If you have Application Load Balancers, use DetachLoadBalancerTargetGroups instead.

When you detach a load balancer, it enters the Removing state while deregistering the instances in the group. When all instances are deregistered, then you can no longer describe the load balancer using DescribeLoadBalancers. The instances remain running.

" + "documentation":"

Detaches one or more Classic Load Balancers from the specified Auto Scaling group.

This operation detaches only Classic Load Balancers. If you have Application Load Balancers or Network Load Balancers, use DetachLoadBalancerTargetGroups instead.

When you detach a load balancer, it enters the Removing state while deregistering the instances in the group. When all instances are deregistered, then you can no longer describe the load balancer using DescribeLoadBalancers. The instances remain running.

" }, "DisableMetricsCollection":{ "name":"DisableMetricsCollection", @@ -605,7 +605,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Enables group metrics for the specified Auto Scaling group. For more information, see Monitoring Your Auto Scaling Groups and Instances in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

Enables group metrics for the specified Auto Scaling group. For more information, see Monitoring Your Auto Scaling Groups and Instances in the Amazon EC2 Auto Scaling User Guide.

" }, "EnterStandby":{ "name":"EnterStandby", @@ -621,7 +621,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Moves the specified instances into the standby state.

For more information, see Temporarily Removing Instances from Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

Moves the specified instances into the standby state.

For more information, see Temporarily Removing Instances from Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" }, "ExecutePolicy":{ "name":"ExecutePolicy", @@ -650,7 +650,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Moves the specified instances out of the standby state.

For more information, see Temporarily Removing Instances from Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

Moves the specified instances out of the standby state.

For more information, see Temporarily Removing Instances from Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" }, "PutLifecycleHook":{ "name":"PutLifecycleHook", @@ -667,7 +667,7 @@ {"shape":"LimitExceededFault"}, {"shape":"ResourceContentionFault"} ], - "documentation":"

Creates or updates a lifecycle hook for the specified Auto Scaling group.

A lifecycle hook tells Amazon EC2 Auto Scaling to perform an action on an instance that is not actively in service; for example, either when the instance launches or before the instance terminates.

This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:

  1. (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Amazon EC2 Auto Scaling launches or terminates instances.

  2. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon EC2 Auto Scaling to publish lifecycle notifications to the target.

  3. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.

  4. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state.

  5. If you finish before the timeout period ends, complete the lifecycle action.

For more information, see Auto Scaling Lifecycle Hooks in the Amazon EC2 Auto Scaling User Guide.

If you exceed your maximum limit of lifecycle hooks, which by default is 50 per Auto Scaling group, the call fails. For information about updating this limit, see AWS Service Limits in the Amazon Web Services General Reference.

" + "documentation":"

Creates or updates a lifecycle hook for the specified Auto Scaling group.

A lifecycle hook tells Amazon EC2 Auto Scaling to perform an action on an instance when the instance launches (before it is put into service) or as the instance terminates (before it is fully terminated).

This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:

  1. (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Amazon EC2 Auto Scaling launches or terminates instances.

  2. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon EC2 Auto Scaling to publish lifecycle notifications to the target.

  3. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.

  4. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state using using RecordLifecycleActionHeartbeat.

  5. If you finish before the timeout period ends, complete the lifecycle action using CompleteLifecycleAction.

For more information, see Amazon EC2 Auto Scaling Lifecycle Hooks in the Amazon EC2 Auto Scaling User Guide.

If you exceed your maximum limit of lifecycle hooks, which by default is 50 per Auto Scaling group, the call fails.

You can view the lifecycle hooks for an Auto Scaling group using DescribeLifecycleHooks. If you are no longer using a lifecycle hook, you can delete it using DeleteLifecycleHook.

" }, "PutNotificationConfiguration":{ "name":"PutNotificationConfiguration", @@ -681,7 +681,7 @@ {"shape":"ResourceContentionFault"}, {"shape":"ServiceLinkedRoleFailure"} ], - "documentation":"

Configures an Auto Scaling group to send notifications when specified events take place. Subscribers to the specified topic can have messages delivered to an endpoint such as a web server or an email address.

This configuration overwrites any existing configuration.

For more information, see Getting SNS Notifications When Your Auto Scaling Group Scales in the Auto Scaling User Guide.

" + "documentation":"

Configures an Auto Scaling group to send notifications when specified events take place. Subscribers to the specified topic can have messages delivered to an endpoint such as a web server or an email address.

This configuration overwrites any existing configuration.

For more information, see Getting Amazon SNS Notifications When Your Auto Scaling Group Scales in the Amazon EC2 Auto Scaling User Guide.

" }, "PutScalingPolicy":{ "name":"PutScalingPolicy", @@ -699,7 +699,7 @@ {"shape":"ResourceContentionFault"}, {"shape":"ServiceLinkedRoleFailure"} ], - "documentation":"

Creates or updates a policy for an Auto Scaling group. To update an existing policy, use the existing policy name and set the parameters to change. Any existing parameter not changed in an update to an existing policy is not changed in this update request.

If you exceed your maximum limit of step adjustments, which by default is 20 per region, the call fails. For information about updating this limit, see AWS Service Limits in the Amazon Web Services General Reference.

" + "documentation":"

Creates or updates a policy for an Auto Scaling group. To update an existing policy, use the existing policy name and set the parameters to change. Any existing parameter not changed in an update to an existing policy is not changed in this update request.

" }, "PutScheduledUpdateGroupAction":{ "name":"PutScheduledUpdateGroupAction", @@ -713,7 +713,7 @@ {"shape":"LimitExceededFault"}, {"shape":"ResourceContentionFault"} ], - "documentation":"

Creates or updates a scheduled scaling action for an Auto Scaling group. If you leave a parameter unspecified when updating a scheduled scaling action, the corresponding value remains unchanged.

For more information, see Scheduled Scaling in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

Creates or updates a scheduled scaling action for an Auto Scaling group. If you leave a parameter unspecified when updating a scheduled scaling action, the corresponding value remains unchanged.

For more information, see Scheduled Scaling in the Amazon EC2 Auto Scaling User Guide.

" }, "RecordLifecycleActionHeartbeat":{ "name":"RecordLifecycleActionHeartbeat", @@ -729,7 +729,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Records a heartbeat for the lifecycle action associated with the specified token or instance. This extends the timeout by the length of time defined using PutLifecycleHook.

This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:

  1. (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Amazon EC2 Auto Scaling launches or terminates instances.

  2. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon EC2 Auto Scaling to publish lifecycle notifications to the target.

  3. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.

  4. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state.

  5. If you finish before the timeout period ends, complete the lifecycle action.

For more information, see Auto Scaling Lifecycle in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

Records a heartbeat for the lifecycle action associated with the specified token or instance. This extends the timeout by the length of time defined using PutLifecycleHook.

This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:

  1. (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Amazon EC2 Auto Scaling launches or terminates instances.

  2. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon EC2 Auto Scaling to publish lifecycle notifications to the target.

  3. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.

  4. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state.

  5. If you finish before the timeout period ends, complete the lifecycle action.

For more information, see Auto Scaling Lifecycle in the Amazon EC2 Auto Scaling User Guide.

" }, "ResumeProcesses":{ "name":"ResumeProcesses", @@ -742,7 +742,7 @@ {"shape":"ResourceInUseFault"}, {"shape":"ResourceContentionFault"} ], - "documentation":"

Resumes the specified suspended automatic scaling processes, or all suspended process, for the specified Auto Scaling group.

For more information, see Suspending and Resuming Scaling Processes in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

Resumes the specified suspended automatic scaling processes, or all suspended process, for the specified Auto Scaling group.

For more information, see Suspending and Resuming Scaling Processes in the Amazon EC2 Auto Scaling User Guide.

" }, "SetDesiredCapacity":{ "name":"SetDesiredCapacity", @@ -755,7 +755,7 @@ {"shape":"ScalingActivityInProgressFault"}, {"shape":"ResourceContentionFault"} ], - "documentation":"

Sets the size of the specified Auto Scaling group.

For more information about desired capacity, see What Is Amazon EC2 Auto Scaling? in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

Sets the size of the specified Auto Scaling group.

For more information about desired capacity, see What Is Amazon EC2 Auto Scaling? in the Amazon EC2 Auto Scaling User Guide.

" }, "SetInstanceHealth":{ "name":"SetInstanceHealth", @@ -767,7 +767,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Sets the health status of the specified instance.

For more information, see Health Checks in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

Sets the health status of the specified instance.

For more information, see Health Checks for Auto Scaling Instances in the Amazon EC2 Auto Scaling User Guide.

" }, "SetInstanceProtection":{ "name":"SetInstanceProtection", @@ -784,7 +784,7 @@ {"shape":"LimitExceededFault"}, {"shape":"ResourceContentionFault"} ], - "documentation":"

Updates the instance protection settings of the specified instances.

For more information, see Instance Protection in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

Updates the instance protection settings of the specified instances.

For more information about preventing instances that are part of an Auto Scaling group from terminating on scale in, see Instance Protection in the Amazon EC2 Auto Scaling User Guide.

" }, "SuspendProcesses":{ "name":"SuspendProcesses", @@ -797,7 +797,7 @@ {"shape":"ResourceInUseFault"}, {"shape":"ResourceContentionFault"} ], - "documentation":"

Suspends the specified automatic scaling processes, or all processes, for the specified Auto Scaling group.

If you suspend either the Launch or Terminate process types, it can prevent other process types from functioning properly.

To resume processes that have been suspended, use ResumeProcesses.

For more information, see Suspending and Resuming Scaling Processes in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

Suspends the specified automatic scaling processes, or all processes, for the specified Auto Scaling group.

If you suspend either the Launch or Terminate process types, it can prevent other process types from functioning properly.

To resume processes that have been suspended, use ResumeProcesses.

For more information, see Suspending and Resuming Scaling Processes in the Amazon EC2 Auto Scaling User Guide.

" }, "TerminateInstanceInAutoScalingGroup":{ "name":"TerminateInstanceInAutoScalingGroup", @@ -846,7 +846,7 @@ }, "NextToken":{ "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" + "documentation":"

A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.

" } } }, @@ -924,7 +924,7 @@ "documentation":"

The policy adjustment type. The valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.

" } }, - "documentation":"

Describes a policy adjustment type.

For more information, see Dynamic Scaling in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

Describes a policy adjustment type.

" }, "AdjustmentTypes":{ "type":"list", @@ -1092,7 +1092,7 @@ }, "HealthCheckType":{ "shape":"XmlStringMaxLen32", - "documentation":"

The service to use for the health checks. The valid values are EC2 and ELB.

" + "documentation":"

The service to use for the health checks. The valid values are EC2 and ELB. If you configure an Auto Scaling group to use ELB health checks, it considers the instance unhealthy if it fails either the EC2 status checks or the load balancer health checks.

" }, "HealthCheckGracePeriod":{ "shape":"HealthCheckGracePeriod", @@ -1112,11 +1112,11 @@ }, "PlacementGroup":{ "shape":"XmlStringMaxLen255", - "documentation":"

The name of the placement group into which to launch your instances, if any. For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The name of the placement group into which to launch your instances, if any.

" }, "VPCZoneIdentifier":{ "shape":"XmlStringMaxLen2047", - "documentation":"

One or more subnet IDs, if applicable, separated by commas.

If you specify VPCZoneIdentifier and AvailabilityZones, ensure that the Availability Zones of the subnets match the values for AvailabilityZones.

" + "documentation":"

One or more subnet IDs, if applicable, separated by commas.

" }, "EnabledMetrics":{ "shape":"EnabledMetrics", @@ -1136,7 +1136,7 @@ }, "NewInstancesProtectedFromScaleIn":{ "shape":"InstanceProtected", - "documentation":"

Indicates whether newly launched instances are protected from termination by Auto Scaling when scaling in.

" + "documentation":"

Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling in.

" }, "ServiceLinkedRoleARN":{ "shape":"ResourceName", @@ -1157,7 +1157,7 @@ "members":{ "AutoScalingGroupNames":{ "shape":"AutoScalingGroupNames", - "documentation":"

The names of the Auto Scaling groups. You can specify up to MaxRecords names. If you omit this parameter, all Auto Scaling groups are described.

" + "documentation":"

The names of the Auto Scaling groups. Each name can be a maximum of 1600 characters. By default, you can only specify up to 50 names. You can optionally increase this limit using the MaxRecords parameter.

If you omit this parameter, all Auto Scaling groups are described.

" }, "NextToken":{ "shape":"XmlString", @@ -1165,7 +1165,7 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" + "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" } } }, @@ -1183,7 +1183,7 @@ }, "NextToken":{ "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" + "documentation":"

A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.

" } } }, @@ -1212,7 +1212,7 @@ }, "LifecycleState":{ "shape":"XmlStringMaxLen32", - "documentation":"

The lifecycle state for the instance. For more information, see Auto Scaling Lifecycle in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

The lifecycle state for the instance.

" }, "HealthStatus":{ "shape":"XmlStringMaxLen32", @@ -1246,7 +1246,7 @@ }, "NextToken":{ "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" + "documentation":"

A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.

" } } }, @@ -1338,7 +1338,7 @@ }, "DeviceName":{ "shape":"XmlStringMaxLen255", - "documentation":"

The device name exposed to the EC2 instance (for example, /dev/sdh or xvdh).

" + "documentation":"

The device name exposed to the EC2 instance (for example, /dev/sdh or xvdh). For more information, see Device Naming on Linux Instances in the Amazon EC2 User Guide for Linux Instances.

" }, "Ebs":{ "shape":"Ebs", @@ -1409,19 +1409,19 @@ }, "LaunchConfigurationName":{ "shape":"ResourceName", - "documentation":"

The name of the launch configuration. This parameter, a launch template, a mixed instances policy, or an EC2 instance must be specified.

" + "documentation":"

The name of the launch configuration. This parameter, a launch template, a mixed instances policy, or an EC2 instance must be specified.

For more information, see Creating an Auto Scaling Group Using a Launch Configuration in the Amazon EC2 Auto Scaling User Guide.

" }, "LaunchTemplate":{ "shape":"LaunchTemplateSpecification", - "documentation":"

The launch template to use to launch instances. This parameter, a launch configuration, a mixed instances policy, or an EC2 instance must be specified.

" + "documentation":"

The launch template to use to launch instances. This parameter, a launch configuration, a mixed instances policy, or an EC2 instance must be specified.

For more information, see Creating an Auto Scaling Group Using a Launch Template in the Amazon EC2 Auto Scaling User Guide.

" }, "MixedInstancesPolicy":{ "shape":"MixedInstancesPolicy", - "documentation":"

The mixed instances policy to use to launch instances. This parameter, a launch template, a launch configuration, or an EC2 instance must be specified.

" + "documentation":"

The mixed instances policy to use to launch instances. This parameter, a launch template, a launch configuration, or an EC2 instance must be specified.

For more information, see Auto Scaling Groups with Multiple Instance Types and Purchase Options in the Amazon EC2 Auto Scaling User Guide.

" }, "InstanceId":{ "shape":"XmlStringMaxLen19", - "documentation":"

The ID of the instance used to create a launch configuration for the group. This parameter, a launch configuration, a launch template, or a mixed instances policy must be specified.

When you specify an ID of an instance, Amazon EC2 Auto Scaling creates a new launch configuration and associates it with the group. This launch configuration derives its attributes from the specified instance, except for the block device mapping.

For more information, see Create an Auto Scaling Group Using an EC2 Instance in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

The ID of the instance used to create a launch configuration for the group. This parameter, a launch configuration, a launch template, or a mixed instances policy must be specified.

When you specify an ID of an instance, Amazon EC2 Auto Scaling creates a new launch configuration and associates it with the group. This launch configuration derives its attributes from the specified instance, except for the block device mapping.

For more information, see Create an Auto Scaling Group Using an EC2 Instance in the Amazon EC2 Auto Scaling User Guide.

" }, "MinSize":{ "shape":"AutoScalingGroupMinSize", @@ -1437,15 +1437,15 @@ }, "DefaultCooldown":{ "shape":"Cooldown", - "documentation":"

The amount of time, in seconds, after a scaling activity completes before another scaling activity can start. The default is 300.

For more information, see Scaling Cooldowns in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

The amount of time, in seconds, after a scaling activity completes before another scaling activity can start. The default value is 300.

For more information, see Scaling Cooldowns in the Amazon EC2 Auto Scaling User Guide.

" }, "AvailabilityZones":{ "shape":"AvailabilityZones", - "documentation":"

One or more Availability Zones for the group. This parameter is optional if you specify one or more subnets.

" + "documentation":"

One or more Availability Zones for the group. This parameter is optional if you specify one or more subnets for VPCZoneIdentifier.

Conditional: If your account supports EC2-Classic and VPC, this parameter is required to launch instances into EC2-Classic.

" }, "LoadBalancerNames":{ "shape":"LoadBalancerNames", - "documentation":"

One or more Classic Load Balancers. To specify an Application Load Balancer, use TargetGroupARNs instead.

For more information, see Using a Load Balancer With an Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

One or more Classic Load Balancers. To specify an Application Load Balancer or a Network Load Balancer, use TargetGroupARNs instead.

For more information, see Using a Load Balancer With an Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" }, "TargetGroupARNs":{ "shape":"TargetGroupARNs", @@ -1453,27 +1453,27 @@ }, "HealthCheckType":{ "shape":"XmlStringMaxLen32", - "documentation":"

The service to use for the health checks. The valid values are EC2 and ELB.

By default, health checks use Amazon EC2 instance status checks to determine the health of an instance. For more information, see Health Checks in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

The service to use for the health checks. The valid values are EC2 and ELB. The default value is EC2. If you configure an Auto Scaling group to use ELB health checks, it considers the instance unhealthy if it fails either the EC2 status checks or the load balancer health checks.

For more information, see Health Checks for Auto Scaling Instances in the Amazon EC2 Auto Scaling User Guide.

" }, "HealthCheckGracePeriod":{ "shape":"HealthCheckGracePeriod", - "documentation":"

The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status of an EC2 instance that has come into service. During this time, any health check failures for the instance are ignored. The default is 0.

This parameter is required if you are adding an ELB health check.

For more information, see Health Checks in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status of an EC2 instance that has come into service. During this time, any health check failures for the instance are ignored. The default value is 0.

For more information, see Health Checks for Auto Scaling Instances in the Amazon EC2 Auto Scaling User Guide.

Conditional: This parameter is required if you are adding an ELB health check.

" }, "PlacementGroup":{ "shape":"XmlStringMaxLen255", - "documentation":"

The name of the placement group into which to launch your instances, if any. For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The name of the placement group into which to launch your instances, if any. A placement group is a logical grouping of instances within a single Availability Zone. You cannot specify multiple Availability Zones and a placement group. For more information, see Placement Groups in the Amazon EC2 User Guide for Linux Instances.

" }, "VPCZoneIdentifier":{ "shape":"XmlStringMaxLen2047", - "documentation":"

A comma-separated list of subnet identifiers for your virtual private cloud (VPC).

If you specify subnets and Availability Zones with this call, ensure that the subnets' Availability Zones match the Availability Zones specified.

For more information, see Launching Auto Scaling Instances in a VPC in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

A comma-separated list of subnet IDs for your virtual private cloud (VPC).

If you specify VPCZoneIdentifier with AvailabilityZones, the subnets that you specify for this parameter must reside in those Availability Zones.

Conditional: If your account supports EC2-Classic and VPC, this parameter is required to launch instances into a VPC.

" }, "TerminationPolicies":{ "shape":"TerminationPolicies", - "documentation":"

One or more termination policies used to select the instance to terminate. These policies are executed in the order that they are listed.

For more information, see Controlling Which Instances Auto Scaling Terminates During Scale In in the Auto Scaling User Guide.

" + "documentation":"

One or more termination policies used to select the instance to terminate. These policies are executed in the order that they are listed.

For more information, see Controlling Which Instances Auto Scaling Terminates During Scale In in the Amazon EC2 Auto Scaling User Guide.

" }, "NewInstancesProtectedFromScaleIn":{ "shape":"InstanceProtected", - "documentation":"

Indicates whether newly launched instances are protected from termination by Auto Scaling when scaling in.

" + "documentation":"

Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling in.

For more information about preventing instances from terminating on scale in, see Instance Protection in the Amazon EC2 Auto Scaling User Guide.

" }, "LifecycleHookSpecificationList":{ "shape":"LifecycleHookSpecifications", @@ -1481,11 +1481,11 @@ }, "Tags":{ "shape":"Tags", - "documentation":"

One or more tags.

For more information, see Tagging Auto Scaling Groups and Instances in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

One or more tags.

For more information, see Tagging Auto Scaling Groups and Instances in the Amazon EC2 Auto Scaling User Guide.

" }, "ServiceLinkedRoleARN":{ "shape":"ResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf. By default, Amazon EC2 Auto Scaling uses a service-linked role named AWSServiceRoleForAutoScaling, which it creates if it does not exist.

" + "documentation":"

The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf. By default, Amazon EC2 Auto Scaling uses a service-linked role named AWSServiceRoleForAutoScaling, which it creates if it does not exist. For more information, see Service-Linked Roles in the Amazon EC2 Auto Scaling User Guide.

" } } }, @@ -1499,35 +1499,35 @@ }, "ImageId":{ "shape":"XmlStringMaxLen255", - "documentation":"

The ID of the Amazon Machine Image (AMI) to use to launch your EC2 instances.

If you do not specify InstanceId, you must specify ImageId.

For more information, see Finding an AMI in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The ID of the Amazon Machine Image (AMI) to use to launch your EC2 instances.

If you do not specify InstanceId, you must specify ImageId.

For more information, see Finding an AMI in the Amazon EC2 User Guide for Linux Instances.

" }, "KeyName":{ "shape":"XmlStringMaxLen255", - "documentation":"

The name of the key pair. For more information, see Amazon EC2 Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The name of the key pair. For more information, see Amazon EC2 Key Pairs in the Amazon EC2 User Guide for Linux Instances.

" }, "SecurityGroups":{ "shape":"SecurityGroups", - "documentation":"

One or more security groups with which to associate the instances.

If your instances are launched in EC2-Classic, you can either specify security group names or the security group IDs. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide.

If your instances are launched into a VPC, specify security group IDs. For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

One or more security groups with which to associate the instances.

If your instances are launched in EC2-Classic, you can either specify security group names or the security group IDs. For more information, see Amazon EC2 Security Groups in the Amazon EC2 User Guide for Linux Instances.

If your instances are launched into a VPC, specify security group IDs. For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

" }, "ClassicLinkVPCId":{ "shape":"XmlStringMaxLen255", - "documentation":"

The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. This parameter is supported only if you are launching EC2-Classic instances. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. This parameter is supported only if you are launching EC2-Classic instances. For more information, see ClassicLink in the Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic Instances to a VPC in the Amazon EC2 Auto Scaling User Guide.

" }, "ClassicLinkVPCSecurityGroups":{ "shape":"ClassicLinkVPCSecurityGroups", - "documentation":"

The IDs of one or more security groups for the specified ClassicLink-enabled VPC. This parameter is required if you specify a ClassicLink-enabled VPC, and is not supported otherwise. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The IDs of one or more security groups for the specified ClassicLink-enabled VPC. For more information, see ClassicLink in the Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic Instances to a VPC in the Amazon EC2 Auto Scaling User Guide.

Conditional: This parameter is required if you specify a ClassicLink-enabled VPC, and is not supported otherwise.

" }, "UserData":{ "shape":"XmlStringUserData", - "documentation":"

The user data to make available to the launched EC2 instances. For more information, see Instance Metadata and User Data in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The user data to make available to the launched EC2 instances. For more information, see Instance Metadata and User Data in the Amazon EC2 User Guide for Linux Instances.

" }, "InstanceId":{ "shape":"XmlStringMaxLen19", - "documentation":"

The ID of the instance to use to create the launch configuration. The new launch configuration derives attributes from the instance, except for the block device mapping.

If you do not specify InstanceId, you must specify both ImageId and InstanceType.

To create a launch configuration with a block device mapping or override any other instance attributes, specify them as part of the same request.

For more information, see Create a Launch Configuration Using an EC2 Instance in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

The ID of the instance to use to create the launch configuration. The new launch configuration derives attributes from the instance, except for the block device mapping.

If you do not specify InstanceId, you must specify both ImageId and InstanceType.

To create a launch configuration with a block device mapping or override any other instance attributes, specify them as part of the same request.

For more information, see Create a Launch Configuration Using an EC2 Instance in the Amazon EC2 Auto Scaling User Guide.

" }, "InstanceType":{ "shape":"XmlStringMaxLen255", - "documentation":"

The instance type of the EC2 instance.

If you do not specify InstanceId, you must specify InstanceType.

For information about available instance types, see Available Instance Types in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The instance type of the EC2 instance.

If you do not specify InstanceId, you must specify InstanceType.

For information about available instance types, see Available Instance Types in the Amazon EC2 User Guide for Linux Instances.

" }, "KernelId":{ "shape":"XmlStringMaxLen255", @@ -1539,31 +1539,31 @@ }, "BlockDeviceMappings":{ "shape":"BlockDeviceMappings", - "documentation":"

One or more mappings that specify how block devices are exposed to the instance. For more information, see Block Device Mapping in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

One or more mappings that specify how block devices are exposed to the instance. For more information, see Block Device Mapping in the Amazon EC2 User Guide for Linux Instances.

" }, "InstanceMonitoring":{ "shape":"InstanceMonitoring", - "documentation":"

Enables detailed monitoring (true) or basic monitoring (false) for the Auto Scaling instances. The default is true.

" + "documentation":"

Enables detailed monitoring (true) or basic monitoring (false) for the Auto Scaling instances. The default value is true.

" }, "SpotPrice":{ "shape":"SpotPrice", - "documentation":"

The maximum hourly price to be paid for any Spot Instance launched to fulfill the request. Spot Instances are launched when the price you specify exceeds the current Spot market price. For more information, see Launching Spot Instances in Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

The maximum hourly price to be paid for any Spot Instance launched to fulfill the request. Spot Instances are launched when the price you specify exceeds the current Spot market price. For more information, see Launching Spot Instances in Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" }, "IamInstanceProfile":{ "shape":"XmlStringMaxLen1600", - "documentation":"

The name or the Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance.

EC2 instances launched with an IAM role automatically have AWS security credentials available. You can use IAM roles with Amazon EC2 Auto Scaling to automatically enable applications running on your EC2 instances to securely access other AWS resources. For more information, see Launch Auto Scaling Instances with an IAM Role in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

The name or the Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance.

EC2 instances launched with an IAM role automatically have AWS security credentials available. You can use IAM roles with Amazon EC2 Auto Scaling to automatically enable applications running on your EC2 instances to securely access other AWS resources. For more information, see Use an IAM Role for Applications That Run on Amazon EC2 Instances in the Amazon EC2 Auto Scaling User Guide.

" }, "EbsOptimized":{ "shape":"EbsOptimized", - "documentation":"

Indicates whether the instance is optimized for Amazon EBS I/O. By default, the instance is not optimized for EBS I/O. The optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization is not available with all instance types. Additional usage charges apply. For more information, see Amazon EBS-Optimized Instances in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Indicates whether the instance is optimized for Amazon EBS I/O. By default, the instance is not optimized for EBS I/O. The optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization is not available with all instance types. Additional usage charges apply. For more information, see Amazon EBS-Optimized Instances in the Amazon EC2 User Guide for Linux Instances.

" }, "AssociatePublicIpAddress":{ "shape":"AssociatePublicIpAddress", - "documentation":"

Used for groups that launch instances into a virtual private cloud (VPC). Specifies whether to assign a public IP address to each instance. For more information, see Launching Auto Scaling Instances in a VPC in the Amazon EC2 Auto Scaling User Guide.

If you specify this parameter, be sure to specify at least one subnet when you create your group.

Default: If the instance is launched into a default subnet, the default is to assign a public IP address. If the instance is launched into a nondefault subnet, the default is not to assign a public IP address.

" + "documentation":"

Used for groups that launch instances into a virtual private cloud (VPC). Specifies whether to assign a public IP address to each instance. For more information, see Launching Auto Scaling Instances in a VPC in the Amazon EC2 Auto Scaling User Guide.

If you specify this parameter, be sure to specify at least one subnet when you create your group.

Default: If the instance is launched into a default subnet, the default is to assign a public IP address. If the instance is launched into a nondefault subnet, the default is not to assign a public IP address.

" }, "PlacementTenancy":{ "shape":"XmlStringMaxLen64", - "documentation":"

The tenancy of the instance. An instance with a tenancy of dedicated runs on single-tenant hardware and can only be launched into a VPC.

To launch Dedicated Instances into a shared tenancy VPC (a VPC with the instance placement tenancy attribute set to default), you must set the value of this parameter to dedicated.

If you specify this parameter, be sure to specify at least one subnet when you create your group.

For more information, see Launching Auto Scaling Instances in a VPC in the Amazon EC2 Auto Scaling User Guide.

Valid values: default | dedicated

" + "documentation":"

The tenancy of the instance. An instance with a tenancy of dedicated runs on single-tenant hardware and can only be launched into a VPC.

To launch Dedicated Instances into a shared tenancy VPC (a VPC with the instance placement tenancy attribute set to default), you must set the value of this parameter to dedicated.

If you specify this parameter, be sure to specify at least one subnet when you create your group.

For more information, see Launching Auto Scaling Instances in a VPC in the Amazon EC2 Auto Scaling User Guide.

Valid values: default | dedicated

" } } }, @@ -1595,7 +1595,7 @@ }, "Dimensions":{ "shape":"MetricDimensions", - "documentation":"

The dimensions of the metric.

" + "documentation":"

The dimensions of the metric.

Conditional: If you published your metric with dimensions, you must specify the same dimensions in your scaling policy.

" }, "Statistic":{ "shape":"MetricStatistic", @@ -1606,7 +1606,7 @@ "documentation":"

The unit of the metric.

" } }, - "documentation":"

Configures a customized metric for a target tracking policy.

" + "documentation":"

Represents a CloudWatch metric of your choosing for a target tracking scaling policy to use with Amazon EC2 Auto Scaling.

To create your customized metric specification:

  • Add values for each required parameter from CloudWatch. You can use an existing metric, or a new metric that you create. To use your own metric, you must first publish the metric to CloudWatch. For more information, see Publish Custom Metrics in the Amazon CloudWatch User Guide.

  • Choose a metric that changes proportionally with capacity. The value of the metric should increase or decrease in inverse proportion to the number of capacity units. That is, the value of the metric should decrease when capacity increases.

For more information about CloudWatch, see Amazon CloudWatch Concepts.

" }, "DeleteAutoScalingGroupType":{ "type":"structure", @@ -1707,11 +1707,11 @@ "members":{ "MaxNumberOfAutoScalingGroups":{ "shape":"MaxNumberOfAutoScalingGroups", - "documentation":"

The maximum number of groups allowed for your AWS account. The default limit is 20 per region.

" + "documentation":"

The maximum number of groups allowed for your AWS account. The default limit is 200 per region.

" }, "MaxNumberOfLaunchConfigurations":{ "shape":"MaxNumberOfLaunchConfigurations", - "documentation":"

The maximum number of launch configurations allowed for your AWS account. The default limit is 100 per region.

" + "documentation":"

The maximum number of launch configurations allowed for your AWS account. The default limit is 200 per region.

" }, "NumberOfAutoScalingGroups":{ "shape":"NumberOfAutoScalingGroups", @@ -1741,7 +1741,7 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 50.

" + "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 50.

" }, "NextToken":{ "shape":"XmlString", @@ -1804,7 +1804,7 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call. The default value is 100 and the maximum value is 100.

" + "documentation":"

The maximum number of items to return with this call. The default value is 100 and the maximum value is 100.

" } } }, @@ -1817,7 +1817,7 @@ }, "NextToken":{ "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" + "documentation":"

A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.

" } } }, @@ -1835,7 +1835,7 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call. The default value is 100 and the maximum value is 100.

" + "documentation":"

The maximum number of items to return with this call. The default value is 100 and the maximum value is 100.

" } } }, @@ -1848,7 +1848,7 @@ }, "NextToken":{ "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" + "documentation":"

A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.

" } } }, @@ -1875,7 +1875,7 @@ }, "NextToken":{ "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" + "documentation":"

A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.

" } } }, @@ -1892,7 +1892,7 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" + "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" } } }, @@ -1909,7 +1909,7 @@ }, "PolicyTypes":{ "shape":"PolicyTypes", - "documentation":"

One or more policy types. Valid values are SimpleScaling and StepScaling.

" + "documentation":"

One or more policy types. The valid values are SimpleScaling, StepScaling, and TargetTrackingScaling.

" }, "NextToken":{ "shape":"XmlString", @@ -1917,7 +1917,7 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to be returned with each call. The default value is 50 and the maximum value is 100.

" + "documentation":"

The maximum number of items to be returned with each call. The default value is 50 and the maximum value is 100.

" } } }, @@ -1934,7 +1934,7 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call. The default value is 100 and the maximum value is 100.

" + "documentation":"

The maximum number of items to return with this call. The default value is 100 and the maximum value is 100.

" }, "NextToken":{ "shape":"XmlString", @@ -1967,7 +1967,7 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" + "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" } } }, @@ -1984,7 +1984,7 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" + "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" } } }, @@ -1993,7 +1993,7 @@ "members":{ "TerminationPolicyTypes":{ "shape":"TerminationPolicies", - "documentation":"

The termination policies supported by Amazon EC2 Auto Scaling: OldestInstance, OldestLaunchConfiguration, NewestInstance, ClosestToNextInstanceHour, Default, OldestLaunchTemplate, and AllocationStrategy. Currently, the OldestLaunchTemplate and AllocationStrategy policies are only supported for Auto Scaling groups with MixedInstancesPolicy.

" + "documentation":"

The termination policies supported by Amazon EC2 Auto Scaling: OldestInstance, OldestLaunchConfiguration, NewestInstance, ClosestToNextInstanceHour, Default, OldestLaunchTemplate, and AllocationStrategy.

" } } }, @@ -2091,30 +2091,30 @@ "members":{ "SnapshotId":{ "shape":"XmlStringMaxLen255", - "documentation":"

The ID of the snapshot.

" + "documentation":"

The ID of the snapshot. This parameter is optional if you specify a volume size.

" }, "VolumeSize":{ "shape":"BlockDeviceEbsVolumeSize", - "documentation":"

The volume size, in GiB. For standard volumes, specify a value from 1 to 1,024. For io1 volumes, specify a value from 4 to 16,384. For gp2 volumes, specify a value from 1 to 16,384. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.

Default: If you create a volume from a snapshot and you don't specify a volume size, the default is the snapshot size.

" + "documentation":"

The volume size, in GiB.

Constraints: 1-1,024 for standard, 4-16,384 for io1, 1-16,384 for gp2, and 500-16,384 for st1 and sc1. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.

Default: If you create a volume from a snapshot and you don't specify a volume size, the default is the snapshot size.

At least one of VolumeSize or SnapshotId is required.

" }, "VolumeType":{ "shape":"BlockDeviceEbsVolumeType", - "documentation":"

The volume type. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Valid values: standard | io1 | gp2

" + "documentation":"

The volume type, which can be standard for Magnetic, io1 for Provisioned IOPS SSD, gp2 for General Purpose SSD, st1 for Throughput Optimized HDD, or sc1 for Cold HDD. For more information, see Amazon EBS Volume Types in the Amazon EC2 User Guide for Linux Instances.

Valid values: standard | io1 | gp2 | st1 | sc1

" }, "DeleteOnTermination":{ "shape":"BlockDeviceEbsDeleteOnTermination", - "documentation":"

Indicates whether the volume is deleted on instance termination. The default is true.

" + "documentation":"

Indicates whether the volume is deleted on instance termination. The default value is true.

" }, "Iops":{ "shape":"BlockDeviceEbsIops", - "documentation":"

The number of I/O operations per second (IOPS) to provision for the volume.

Constraint: Required when the volume type is io1.

" + "documentation":"

The number of I/O operations per second (IOPS) to provision for the volume. For more information, see Amazon EBS Volume Types in the Amazon EC2 User Guide for Linux Instances.

Conditional: This parameter is required when the volume type is io1. (Not used with standard, gp2, st1, or sc1 volumes.)

" }, "Encrypted":{ "shape":"BlockDeviceEbsEncrypted", - "documentation":"

Indicates whether the volume should be encrypted. Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are automatically encrypted. There is no way to create an encrypted volume from an unencrypted snapshot or an unencrypted volume from an encrypted snapshot. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Specifies whether the volume should be encrypted. Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are automatically encrypted. There is no way to create an encrypted volume from an unencrypted snapshot or an unencrypted volume from an encrypted snapshot. If your AMI uses encrypted volumes, you can only launch it on supported instance types. For more information, see Amazon EBS Encryption in the Amazon EC2 User Guide for Linux Instances.

" } }, - "documentation":"

Describes an Amazon EBS volume.

" + "documentation":"

Describes an Amazon EBS volume. Used in combination with BlockDeviceMapping.

" }, "EbsOptimized":{"type":"boolean"}, "EnableMetricsCollectionQuery":{ @@ -2201,15 +2201,15 @@ }, "HonorCooldown":{ "shape":"HonorCooldown", - "documentation":"

Indicates whether Amazon EC2 Auto Scaling waits for the cooldown period to complete before executing the policy.

This parameter is not supported if the policy type is StepScaling.

For more information, see Scaling Cooldowns in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

Indicates whether Amazon EC2 Auto Scaling waits for the cooldown period to complete before executing the policy.

This parameter is not supported if the policy type is StepScaling.

For more information, see Scaling Cooldowns in the Amazon EC2 Auto Scaling User Guide.

" }, "MetricValue":{ "shape":"MetricScale", - "documentation":"

The metric value to compare to BreachThreshold. This enables you to execute a policy of type StepScaling and determine which step adjustment to use. For example, if the breach threshold is 50 and you want to use a step adjustment with a lower bound of 0 and an upper bound of 10, you can set the metric value to 59.

If you specify a metric value that doesn't correspond to a step adjustment for the policy, the call returns an error.

This parameter is required if the policy type is StepScaling and not supported otherwise.

" + "documentation":"

The metric value to compare to BreachThreshold. This enables you to execute a policy of type StepScaling and determine which step adjustment to use. For example, if the breach threshold is 50 and you want to use a step adjustment with a lower bound of 0 and an upper bound of 10, you can set the metric value to 59.

If you specify a metric value that doesn't correspond to a step adjustment for the policy, the call returns an error.

Conditional: This parameter is required if the policy type is StepScaling and not supported otherwise.

" }, "BreachThreshold":{ "shape":"MetricScale", - "documentation":"

The breach threshold for the alarm.

This parameter is required if the policy type is StepScaling and not supported otherwise.

" + "documentation":"

The breach threshold for the alarm.

Conditional: This parameter is required if the policy type is StepScaling and not supported otherwise.

" } } }, @@ -2347,15 +2347,15 @@ "members":{ "OnDemandAllocationStrategy":{ "shape":"XmlString", - "documentation":"

Indicates how to allocate instance types to fulfill On-Demand capacity.

The only valid value is prioritized, which is also the default value. This strategy uses the order of instance types in the Overrides array of LaunchTemplate to define the launch priority of each instance type. The first instance type in the array is prioritized higher than the last. If all your On-Demand capacity cannot be fulfilled using your highest priority instance, then the Auto Scaling groups launches the remaining capacity using the second priority instance type, and so on.

" + "documentation":"

Indicates how to allocate instance types to fulfill On-Demand capacity.

The only valid value is prioritized, which is also the default value. This strategy uses the order of instance type overrides for the LaunchTemplate to define the launch priority of each instance type. The first instance type in the array is prioritized higher than the last. If all your On-Demand capacity cannot be fulfilled using your highest priority instance, then the Auto Scaling groups launches the remaining capacity using the second priority instance type, and so on.

" }, "OnDemandBaseCapacity":{ "shape":"OnDemandBaseCapacity", - "documentation":"

The minimum amount of the Auto Scaling group's capacity that must be fulfilled by On-Demand Instances. This base portion is provisioned first as your group scales.

The default value is 0. If you leave this parameter set to 0, On-Demand Instances are launched as a percentage of the Auto Scaling group's desired capacity, per the OnDemandPercentageAboveBaseCapacity setting.

" + "documentation":"

The minimum amount of the Auto Scaling group's capacity that must be fulfilled by On-Demand Instances. This base portion is provisioned first as your group scales.

The default value is 0. If you leave this parameter set to 0, On-Demand Instances are launched as a percentage of the Auto Scaling group's desired capacity, per the OnDemandPercentageAboveBaseCapacity setting.

" }, "OnDemandPercentageAboveBaseCapacity":{ "shape":"OnDemandPercentageAboveBaseCapacity", - "documentation":"

Controls the percentages of On-Demand Instances and Spot Instances for your additional capacity beyond OnDemandBaseCapacity.

The range is 0–100. The default value is 100. If you leave this parameter set to 100, the percentages are 100% for On-Demand Instances and 0% for Spot Instances.

" + "documentation":"

Controls the percentages of On-Demand Instances and Spot Instances for your additional capacity beyond OnDemandBaseCapacity.

The range is 0–100. The default value is 100. If you leave this parameter set to 100, the percentages are 100% for On-Demand Instances and 0% for Spot Instances.

" }, "SpotAllocationStrategy":{ "shape":"XmlString", @@ -2363,11 +2363,11 @@ }, "SpotInstancePools":{ "shape":"SpotInstancePools", - "documentation":"

The number of Spot pools to use to allocate your Spot capacity. The Spot pools are determined from the different instance types in the Overrides array of LaunchTemplate.

The range is 1–20 and the default is 2.

" + "documentation":"

The number of Spot pools to use to allocate your Spot capacity. The Spot pools are determined from the different instance types in the Overrides array of LaunchTemplate.

The range is 1–20 and the default is 2.

" }, "SpotMaxPrice":{ - "shape":"SpotPrice", - "documentation":"

The maximum price per unit hour that you are willing to pay for a Spot Instance. If you leave this value blank (which is the default), the maximum Spot price is set at the On-Demand price.

" + "shape":"MixedInstanceSpotPrice", + "documentation":"

The maximum price per unit hour that you are willing to pay for a Spot Instance. If you leave the value of this parameter blank (which is the default), the maximum Spot price is set at the On-Demand price.

To remove a value that you previously set, include the parameter but leave the value blank.

" } }, "documentation":"

Describes an instances distribution for an Auto Scaling group with MixedInstancesPolicy.

The instances distribution specifies the distribution of On-Demand Instances and Spot Instances, the maximum price to pay for Spot Instances, and how the Auto Scaling group allocates instance types.

" @@ -2419,11 +2419,11 @@ }, "ClassicLinkVPCId":{ "shape":"XmlStringMaxLen255", - "documentation":"

The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. This parameter can only be used if you are launching EC2-Classic instances. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. This parameter can only be used if you are launching EC2-Classic instances. For more information, see ClassicLink in the Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic Instances to a VPC in the Amazon EC2 Auto Scaling User Guide.

" }, "ClassicLinkVPCSecurityGroups":{ "shape":"ClassicLinkVPCSecurityGroups", - "documentation":"

The IDs of one or more security groups for the VPC specified in ClassicLinkVPCId. This parameter is required if you specify a ClassicLink-enabled VPC, and cannot be used otherwise. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The IDs of one or more security groups for the VPC specified in ClassicLinkVPCId. For more information, see ClassicLink in the Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic Instances to a VPC in the Amazon EC2 Auto Scaling User Guide.

Conditional: This parameter is required if you specify a ClassicLink-enabled VPC, and cannot be used otherwise.

" }, "UserData":{ "shape":"XmlStringUserData", @@ -2503,7 +2503,7 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" + "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" } } }, @@ -2521,7 +2521,7 @@ }, "NextToken":{ "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" + "documentation":"

A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.

" } } }, @@ -2550,7 +2550,7 @@ "members":{ "InstanceType":{ "shape":"XmlStringMaxLen255", - "documentation":"

The instance type.

For information about available instance types, see Available Instance Types in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The instance type.

For information about available instance types, see Available Instance Types in the Amazon Elastic Compute Cloud User Guide.

" } }, "documentation":"

Describes an override for a launch template.

" @@ -2571,7 +2571,7 @@ "documentation":"

The version number, $Latest, or $Default. If the value is $Latest, Amazon EC2 Auto Scaling selects the latest version of the launch template when launching instances. If the value is $Default, Amazon EC2 Auto Scaling selects the default version of the launch template when launching instances. The default value is $Default.

" } }, - "documentation":"

Describes a launch template and the launch template version.

The launch template that is specified must be configured for use with an Auto Scaling group. For more information, see Creating a Launch Template for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

Describes a launch template and the launch template version.

The launch template that is specified must be configured for use with an Auto Scaling group. For more information, see Creating a Launch Template for an Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" }, "LifecycleActionResult":{"type":"string"}, "LifecycleActionToken":{ @@ -2604,11 +2604,11 @@ }, "NotificationMetadata":{ "shape":"XmlStringMaxLen1023", - "documentation":"

Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to the notification target.

" + "documentation":"

Additional information that is included any time Amazon EC2 Auto Scaling sends a message to the notification target.

" }, "HeartbeatTimeout":{ "shape":"HeartbeatTimeout", - "documentation":"

The maximum time, in seconds, that can elapse before the lifecycle hook times out. If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the default action. You can prevent the lifecycle hook from timing out by calling RecordLifecycleActionHeartbeat.

" + "documentation":"

The maximum time, in seconds, that can elapse before the lifecycle hook times out. If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the action that you specified in the DefaultResult parameter.

" }, "GlobalTimeout":{ "shape":"GlobalTimeout", @@ -2616,10 +2616,10 @@ }, "DefaultResult":{ "shape":"LifecycleActionResult", - "documentation":"

Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. The valid values are CONTINUE and ABANDON. The default value is CONTINUE.

" + "documentation":"

Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. The possible values are CONTINUE and ABANDON.

" } }, - "documentation":"

Describes a lifecycle hook, which tells Amazon EC2 Auto Scaling that you want to perform an action whenever it launches instances or whenever it terminates instances.

For more information, see Lifecycle Hooks in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

Describes a lifecycle hook, which tells Amazon EC2 Auto Scaling that you want to perform an action whenever it launches instances or whenever it terminates instances. Used in response to DescribeLifecycleHooks.

" }, "LifecycleHookNames":{ "type":"list", @@ -2639,7 +2639,7 @@ }, "LifecycleTransition":{ "shape":"LifecycleTransition", - "documentation":"

The state of the EC2 instance to which you want to attach the lifecycle hook. The possible values are:

  • autoscaling:EC2_INSTANCE_LAUNCHING

  • autoscaling:EC2_INSTANCE_TERMINATING

" + "documentation":"

The state of the EC2 instance to which you want to attach the lifecycle hook. The valid values are:

  • autoscaling:EC2_INSTANCE_LAUNCHING

  • autoscaling:EC2_INSTANCE_TERMINATING

" }, "NotificationMetadata":{ "shape":"XmlStringMaxLen1023", @@ -2647,11 +2647,11 @@ }, "HeartbeatTimeout":{ "shape":"HeartbeatTimeout", - "documentation":"

The maximum time, in seconds, that can elapse before the lifecycle hook times out. If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the default action. You can prevent the lifecycle hook from timing out by calling RecordLifecycleActionHeartbeat.

" + "documentation":"

The maximum time, in seconds, that can elapse before the lifecycle hook times out.

If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the action that you specified in the DefaultResult parameter. You can prevent the lifecycle hook from timing out by calling RecordLifecycleActionHeartbeat.

" }, "DefaultResult":{ "shape":"LifecycleActionResult", - "documentation":"

Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. The valid values are CONTINUE and ABANDON.

" + "documentation":"

Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. The valid values are CONTINUE and ABANDON. The default value is ABANDON.

" }, "NotificationTargetARN":{ "shape":"NotificationTargetResourceName", @@ -2659,10 +2659,10 @@ }, "RoleARN":{ "shape":"ResourceName", - "documentation":"

The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target.

" + "documentation":"

The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target, for example, an Amazon SNS topic or an Amazon SQS queue.

" } }, - "documentation":"

Describes a lifecycle hook, which tells Amazon EC2 Auto Scaling that you want to perform an action whenever it launches instances or whenever it terminates instances.

For more information, see Lifecycle Hooks in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

Describes a lifecycle hook. Used in combination with CreateAutoScalingGroup.

A lifecycle hook tells Amazon EC2 Auto Scaling to perform an action on an instance when the instance launches (before it is put into service) or as the instance terminates (before it is fully terminated).

This step is a part of the procedure for creating a lifecycle hook for an Auto Scaling group:

  1. (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Amazon EC2 Auto Scaling launches or terminates instances.

  2. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon EC2 Auto Scaling to publish lifecycle notifications to the target.

  3. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.

  4. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state using using RecordLifecycleActionHeartbeat.

  5. If you finish before the timeout period ends, complete the lifecycle action using CompleteLifecycleAction.

For more information, see Amazon EC2 Auto Scaling Lifecycle Hooks in the Amazon EC2 Auto Scaling User Guide.

You can view the lifecycle hooks for an Auto Scaling group using DescribeLifecycleHooks. You can modify an existing lifecycle hook or create new lifecycle hooks using PutLifecycleHook. If you are no longer using a lifecycle hook, you can delete it using DeleteLifecycleHook.

" }, "LifecycleHookSpecifications":{ "type":"list", @@ -2699,7 +2699,7 @@ "documentation":"

" } }, - "documentation":"

You have already reached a limit for your Auto Scaling resources (for example, groups, launch configurations, or lifecycle hooks). For more information, see DescribeAccountLimits.

", + "documentation":"

You have already reached a limit for your Amazon EC2 Auto Scaling resources (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). For more information, see DescribeAccountLimits.

", "error":{ "code":"LimitExceeded", "httpStatusCode":400, @@ -2834,6 +2834,11 @@ "type":"integer", "deprecated":true }, + "MixedInstanceSpotPrice":{ + "type":"string", + "max":255, + "min":0 + }, "MixedInstancesPolicy":{ "type":"structure", "members":{ @@ -2846,7 +2851,7 @@ "documentation":"

The instances distribution to use.

If you leave this parameter unspecified when creating the group, the default values are used.

" } }, - "documentation":"

Describes a mixed instances policy for an Auto Scaling group. With mixed instances, your Auto Scaling group can provision a combination of On-Demand Instances and Spot Instances across multiple instance types. For more information, see Using Multiple Instance Types and Purchase Options in the Amazon EC2 Auto Scaling User Guide.

When you create your Auto Scaling group, you can specify a launch configuration or template as a parameter for the top-level object, or you can specify a mixed instances policy, but not both at the same time.

" + "documentation":"

Describes a mixed instances policy for an Auto Scaling group. With mixed instances, your Auto Scaling group can provision a combination of On-Demand Instances and Spot Instances across multiple instance types. Used in combination with CreateAutoScalingGroup. For more information, see Auto Scaling Groups with Multiple Instance Types and Purchase Options in the Amazon EC2 Auto Scaling User Guide.

When you create your Auto Scaling group, you can specify a launch configuration or template as a parameter for the top-level object, or you can specify a mixed instances policy, but not both at the same time.

" }, "MonitoringEnabled":{"type":"boolean"}, "NoDevice":{"type":"boolean"}, @@ -2895,7 +2900,7 @@ }, "NextToken":{ "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" + "documentation":"

A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.

" } } }, @@ -2908,7 +2913,7 @@ }, "Alarms":{ "shape":"Alarms", - "documentation":"

The CloudWatch alarms created for the target tracking policy.

" + "documentation":"

The CloudWatch alarms created for the target tracking scaling policy.

" } }, "documentation":"

Contains the output of PutScalingPolicy.

" @@ -2932,10 +2937,10 @@ }, "ResourceLabel":{ "shape":"XmlStringMaxLen1023", - "documentation":"

Identifies the resource associated with the metric type. The following predefined metrics are available:

  • ASGAverageCPUUtilization - Average CPU utilization of the Auto Scaling group.

  • ASGAverageNetworkIn - Average number of bytes received on all network interfaces by the Auto Scaling group.

  • ASGAverageNetworkOut - Average number of bytes sent out on all network interfaces by the Auto Scaling group.

  • ALBRequestCountPerTarget - Number of requests completed per target in an Application Load Balancer target group.

For predefined metric types ASGAverageCPUUtilization, ASGAverageNetworkIn, and ASGAverageNetworkOut, the parameter must not be specified as the resource associated with the metric type is the Auto Scaling group. For predefined metric type ALBRequestCountPerTarget, the parameter must be specified in the format: app/load-balancer-name/load-balancer-id/targetgroup/target-group-name/target-group-id , where app/load-balancer-name/load-balancer-id is the final portion of the load balancer ARN, and targetgroup/target-group-name/target-group-id is the final portion of the target group ARN. The target group must be attached to the Auto Scaling group.

" + "documentation":"

Identifies the resource associated with the metric type. The following predefined metrics are available:

  • ASGAverageCPUUtilization - Average CPU utilization of the Auto Scaling group.

  • ASGAverageNetworkIn - Average number of bytes received on all network interfaces by the Auto Scaling group.

  • ASGAverageNetworkOut - Average number of bytes sent out on all network interfaces by the Auto Scaling group.

  • ALBRequestCountPerTarget - Number of requests completed per target in an Application Load Balancer or a Network Load Balancer target group.

For predefined metric types ASGAverageCPUUtilization, ASGAverageNetworkIn, and ASGAverageNetworkOut, the parameter must not be specified as the resource associated with the metric type is the Auto Scaling group. For predefined metric type ALBRequestCountPerTarget, the parameter must be specified in the format: app/load-balancer-name/load-balancer-id/targetgroup/target-group-name/target-group-id , where app/load-balancer-name/load-balancer-id is the final portion of the load balancer ARN, and targetgroup/target-group-name/target-group-id is the final portion of the target group ARN. The target group must be attached to the Auto Scaling group.

" } }, - "documentation":"

Configures a predefined metric for a target tracking policy.

" + "documentation":"

Represents a predefined metric for a target tracking scaling policy to use with Amazon EC2 Auto Scaling.

" }, "ProcessNames":{ "type":"list", @@ -2950,7 +2955,7 @@ "documentation":"

One of the following processes:

  • Launch

  • Terminate

  • AddToLoadBalancer

  • AlarmNotification

  • AZRebalance

  • HealthCheck

  • ReplaceUnhealthy

  • ScheduledActions

" } }, - "documentation":"

Describes a process type.

For more information, see Scaling Processes in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

Describes a process type.

For more information, see Scaling Processes in the Amazon EC2 Auto Scaling User Guide.

" }, "Processes":{ "type":"list", @@ -2990,23 +2995,23 @@ }, "LifecycleTransition":{ "shape":"LifecycleTransition", - "documentation":"

The instance state to which you want to attach the lifecycle hook. The possible values are:

  • autoscaling:EC2_INSTANCE_LAUNCHING

  • autoscaling:EC2_INSTANCE_TERMINATING

This parameter is required for new lifecycle hooks, but optional when updating existing hooks.

" + "documentation":"

The instance state to which you want to attach the lifecycle hook. The valid values are:

  • autoscaling:EC2_INSTANCE_LAUNCHING

  • autoscaling:EC2_INSTANCE_TERMINATING

Conditional: This parameter is required for new lifecycle hooks, but optional when updating existing hooks.

" }, "RoleARN":{ "shape":"ResourceName", - "documentation":"

The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target.

This parameter is required for new lifecycle hooks, but optional when updating existing hooks.

" + "documentation":"

The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target, for example, an Amazon SNS topic or an Amazon SQS queue.

Conditional: This parameter is required for new lifecycle hooks, but optional when updating existing hooks.

" }, "NotificationTargetARN":{ "shape":"NotificationTargetResourceName", - "documentation":"

The ARN of the notification target that Amazon EC2 Auto Scaling uses to notify you when an instance is in the transition state for the lifecycle hook. This target can be either an SQS queue or an SNS topic. If you specify an empty string, this overrides the current ARN.

This operation uses the JSON format when sending notifications to an Amazon SQS queue, and an email key-value pair format when sending notifications to an Amazon SNS topic.

When you specify a notification target, Amazon EC2 Auto Scaling sends it a test message. Test messages contain the following additional key-value pair: \"Event\": \"autoscaling:TEST_NOTIFICATION\".

" + "documentation":"

The ARN of the notification target that Amazon EC2 Auto Scaling uses to notify you when an instance is in the transition state for the lifecycle hook. This target can be either an SQS queue or an SNS topic.

If you specify an empty string, this overrides the current ARN.

This operation uses the JSON format when sending notifications to an Amazon SQS queue, and an email key-value pair format when sending notifications to an Amazon SNS topic.

When you specify a notification target, Amazon EC2 Auto Scaling sends it a test message. Test messages contain the following additional key-value pair: \"Event\": \"autoscaling:TEST_NOTIFICATION\".

" }, "NotificationMetadata":{ "shape":"XmlStringMaxLen1023", - "documentation":"

Contains additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to the notification target.

" + "documentation":"

Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to the notification target.

" }, "HeartbeatTimeout":{ "shape":"HeartbeatTimeout", - "documentation":"

The maximum time, in seconds, that can elapse before the lifecycle hook times out. The range is from 30 to 7200 seconds. The default is 3600 seconds (1 hour).

If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the default action. You can prevent the lifecycle hook from timing out by calling RecordLifecycleActionHeartbeat.

" + "documentation":"

The maximum time, in seconds, that can elapse before the lifecycle hook times out. The range is from 30 to 7200 seconds. The default value is 3600 seconds (1 hour).

If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the action that you specified in the DefaultResult parameter. You can prevent the lifecycle hook from timing out by calling RecordLifecycleActionHeartbeat.

" }, "DefaultResult":{ "shape":"LifecycleActionResult", @@ -3057,7 +3062,7 @@ }, "AdjustmentType":{ "shape":"XmlStringMaxLen255", - "documentation":"

The adjustment type. The valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.

This parameter is supported if the policy type is SimpleScaling or StepScaling.

For more information, see Dynamic Scaling in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

The adjustment type. The valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.

This parameter is supported if the policy type is SimpleScaling or StepScaling.

For more information, see Dynamic Scaling in the Amazon EC2 Auto Scaling User Guide.

" }, "MinAdjustmentStep":{ "shape":"MinAdjustmentStep", @@ -3069,11 +3074,11 @@ }, "ScalingAdjustment":{ "shape":"PolicyIncrement", - "documentation":"

The amount by which to scale, based on the specified adjustment type. A positive value adds to the current capacity while a negative number removes from the current capacity.

This parameter is required if the policy type is SimpleScaling and not supported otherwise.

" + "documentation":"

The amount by which to scale, based on the specified adjustment type. A positive value adds to the current capacity while a negative number removes from the current capacity.

Conditional: This parameter is required if the policy type is SimpleScaling and not supported otherwise.

" }, "Cooldown":{ "shape":"Cooldown", - "documentation":"

The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start. If this parameter is not specified, the default cooldown period for the group applies.

This parameter is supported if the policy type is SimpleScaling.

For more information, see Scaling Cooldowns in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start. If this parameter is not specified, the default cooldown period for the group applies.

This parameter is supported if the policy type is SimpleScaling.

For more information, see Scaling Cooldowns in the Amazon EC2 Auto Scaling User Guide.

" }, "MetricAggregationType":{ "shape":"XmlStringMaxLen32", @@ -3081,7 +3086,7 @@ }, "StepAdjustments":{ "shape":"StepAdjustments", - "documentation":"

A set of adjustments that enable you to scale based on the size of the alarm breach.

This parameter is required if the policy type is StepScaling and not supported otherwise.

" + "documentation":"

A set of adjustments that enable you to scale based on the size of the alarm breach.

Conditional: This parameter is required if the policy type is StepScaling and not supported otherwise.

" }, "EstimatedInstanceWarmup":{ "shape":"EstimatedInstanceWarmup", @@ -3089,7 +3094,7 @@ }, "TargetTrackingConfiguration":{ "shape":"TargetTrackingConfiguration", - "documentation":"

A target tracking policy.

This parameter is required if the policy type is TargetTrackingScaling and not supported otherwise.

" + "documentation":"

A target tracking scaling policy. Includes support for predefined or customized metrics.

Conditional: This parameter is required if the policy type is TargetTrackingScaling and not supported otherwise.

" } } }, @@ -3114,7 +3119,7 @@ }, "StartTime":{ "shape":"TimestampType", - "documentation":"

The time for this action to start, in \"YYYY-MM-DDThh:mm:ssZ\" format in UTC/GMT only (for example, 2014-06-01T00:00:00Z).

If you specify Recurrence and StartTime, Amazon EC2 Auto Scaling performs the action at this time, and then performs the action based on the specified recurrence.

If you try to schedule your action in the past, Amazon EC2 Auto Scaling returns an error message.

" + "documentation":"

The time for this action to start, in YYYY-MM-DDThh:mm:ssZ format in UTC/GMT only and in quotes (for example, \"2019-06-01T00:00:00Z\").

If you specify Recurrence and StartTime, Amazon EC2 Auto Scaling performs the action at this time, and then performs the action based on the specified recurrence.

If you try to schedule your action in the past, Amazon EC2 Auto Scaling returns an error message.

" }, "EndTime":{ "shape":"TimestampType", @@ -3122,7 +3127,7 @@ }, "Recurrence":{ "shape":"XmlStringMaxLen255", - "documentation":"

The recurring schedule for this action, in Unix cron syntax format. For more information about this format, see Crontab.

" + "documentation":"

The recurring schedule for this action, in Unix cron syntax format. This format consists of five fields separated by white spaces: [Minute] [Hour] [Day_of_Month] [Month_of_Year] [Day_of_Week]. The value must be in quotes (for example, \"30 0 1 1,6,12 *\"). For more information about this format, see Crontab.

" }, "MinSize":{ "shape":"AutoScalingGroupMinSize", @@ -3176,7 +3181,7 @@ "documentation":"

" } }, - "documentation":"

You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).

", + "documentation":"

You already have a pending update to an Amazon EC2 Auto Scaling resource (for example, an Auto Scaling group, instance, or load balancer).

", "error":{ "code":"ResourceContention", "httpStatusCode":500, @@ -3260,11 +3265,11 @@ }, "PolicyType":{ "shape":"XmlStringMaxLen64", - "documentation":"

The policy type. Valid values are SimpleScaling and StepScaling.

" + "documentation":"

The policy type. The valid values are SimpleScaling and StepScaling.

" }, "AdjustmentType":{ "shape":"XmlStringMaxLen255", - "documentation":"

The adjustment type, which specifies how ScalingAdjustment is interpreted. Valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.

" + "documentation":"

The adjustment type, which specifies how ScalingAdjustment is interpreted. The valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.

" }, "MinAdjustmentStep":{ "shape":"MinAdjustmentStep", @@ -3288,7 +3293,7 @@ }, "MetricAggregationType":{ "shape":"XmlStringMaxLen32", - "documentation":"

The aggregation type for the CloudWatch metrics. Valid values are Minimum, Maximum, and Average.

" + "documentation":"

The aggregation type for the CloudWatch metrics. The valid values are Minimum, Maximum, and Average.

" }, "EstimatedInstanceWarmup":{ "shape":"EstimatedInstanceWarmup", @@ -3300,7 +3305,7 @@ }, "TargetTrackingConfiguration":{ "shape":"TargetTrackingConfiguration", - "documentation":"

A target tracking policy.

" + "documentation":"

A target tracking scaling policy.

" } }, "documentation":"

Describes a scaling policy.

" @@ -3332,7 +3337,7 @@ }, "NextToken":{ "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" + "documentation":"

A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.

" } } }, @@ -3357,11 +3362,11 @@ }, "StartTime":{ "shape":"TimestampType", - "documentation":"

The date and time that the action is scheduled to begin. This date and time can be up to one month in the future.

When StartTime and EndTime are specified with Recurrence, they form the boundaries of when the recurring action starts and stops.

" + "documentation":"

The date and time that the action is scheduled to begin.

When StartTime and EndTime are specified with Recurrence, they form the boundaries of when the recurring action starts and stops.

" }, "EndTime":{ "shape":"TimestampType", - "documentation":"

The date and time that the action is scheduled to end. This date and time can be up to one month in the future.

" + "documentation":"

The date and time that the action is scheduled to end.

" }, "Recurrence":{ "shape":"XmlStringMaxLen255", @@ -3392,7 +3397,7 @@ }, "StartTime":{ "shape":"TimestampType", - "documentation":"

The time for the action to start, in \"YYYY-MM-DDThh:mm:ssZ\" format in UTC/GMT only (for example, 2014-06-01T00:00:00Z).

If you specify Recurrence and StartTime, Amazon EC2 Auto Scaling performs the action at this time, and then performs the action based on the specified recurrence.

If you try to schedule the action in the past, Amazon EC2 Auto Scaling returns an error message.

" + "documentation":"

The time for the action to start, in YYYY-MM-DDThh:mm:ssZ format in UTC/GMT only and in quotes (for example, \"2019-06-01T00:00:00Z\").

If you specify Recurrence and StartTime, Amazon EC2 Auto Scaling performs the action at this time, and then performs the action based on the specified recurrence.

If you try to schedule the action in the past, Amazon EC2 Auto Scaling returns an error message.

" }, "EndTime":{ "shape":"TimestampType", @@ -3400,7 +3405,7 @@ }, "Recurrence":{ "shape":"XmlStringMaxLen255", - "documentation":"

The recurring schedule for the action, in Unix cron syntax format. For more information about this format, see Crontab.

" + "documentation":"

The recurring schedule for the action, in Unix cron syntax format. This format consists of five fields separated by white spaces: [Minute] [Hour] [Day_of_Month] [Month_of_Year] [Day_of_Week]. The value must be in quotes (for example, \"30 0 1 1,6,12 *\"). For more information about this format, see Crontab.

" }, "MinSize":{ "shape":"AutoScalingGroupMinSize", @@ -3415,7 +3420,7 @@ "documentation":"

The number of EC2 instances that should be running in the group.

" } }, - "documentation":"

Describes one or more scheduled scaling action updates for a specified Auto Scaling group. Used in combination with BatchPutScheduledUpdateGroupAction.

When updating a scheduled scaling action, all optional parameters are left unchanged if not specified.

" + "documentation":"

Describes one or more scheduled scaling action updates for a specified Auto Scaling group. Used in combination with BatchPutScheduledUpdateGroupAction.

When updating a scheduled scaling action, all optional parameters are left unchanged if not specified.

" }, "ScheduledUpdateGroupActionRequests":{ "type":"list", @@ -3536,7 +3541,7 @@ "documentation":"

The amount by which to scale, based on the specified adjustment type. A positive value adds to the current capacity while a negative number removes from the current capacity.

" } }, - "documentation":"

Describes an adjustment based on the difference between the value of the aggregated CloudWatch metric and the breach threshold that you've defined for the alarm.

For the following examples, suppose that you have an alarm with a breach threshold of 50:

  • To trigger the adjustment when the metric is greater than or equal to 50 and less than 60, specify a lower bound of 0 and an upper bound of 10.

  • To trigger the adjustment when the metric is greater than 40 and less than or equal to 50, specify a lower bound of -10 and an upper bound of 0.

There are a few rules for the step adjustments for your step policy:

  • The ranges of your step adjustments can't overlap or have a gap.

  • At most, one step adjustment can have a null lower bound. If one step adjustment has a negative lower bound, then there must be a step adjustment with a null lower bound.

  • At most, one step adjustment can have a null upper bound. If one step adjustment has a positive upper bound, then there must be a step adjustment with a null upper bound.

  • The upper and lower bound can't be null in the same step adjustment.

" + "documentation":"

Describes an adjustment based on the difference between the value of the aggregated CloudWatch metric and the breach threshold that you've defined for the alarm. Used in combination with PutScalingPolicy.

For the following examples, suppose that you have an alarm with a breach threshold of 50:

  • To trigger the adjustment when the metric is greater than or equal to 50 and less than 60, specify a lower bound of 0 and an upper bound of 10.

  • To trigger the adjustment when the metric is greater than 40 and less than or equal to 50, specify a lower bound of -10 and an upper bound of 0.

There are a few rules for the step adjustments for your step policy:

  • The ranges of your step adjustments can't overlap or have a gap.

  • At most, one step adjustment can have a null lower bound. If one step adjustment has a negative lower bound, then there must be a step adjustment with a null lower bound.

  • At most, one step adjustment can have a null upper bound. If one step adjustment has a positive upper bound, then there must be a step adjustment with a null upper bound.

  • The upper and lower bound can't be null in the same step adjustment.

" }, "StepAdjustments":{ "type":"list", @@ -3642,7 +3647,7 @@ }, "NextToken":{ "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" + "documentation":"

A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.

" } } }, @@ -3660,7 +3665,7 @@ }, "CustomizedMetricSpecification":{ "shape":"CustomizedMetricSpecification", - "documentation":"

A customized metric.

" + "documentation":"

A customized metric. You can specify either a predefined metric or a customized metric.

" }, "TargetValue":{ "shape":"MetricScale", @@ -3668,10 +3673,10 @@ }, "DisableScaleIn":{ "shape":"DisableScaleIn", - "documentation":"

Indicates whether scaling in by the target tracking policy is disabled. If scaling in is disabled, the target tracking policy doesn't remove instances from the Auto Scaling group. Otherwise, the target tracking policy can remove instances from the Auto Scaling group. The default is disabled.

" + "documentation":"

Indicates whether scaling in by the target tracking scaling policy is disabled. If scaling in is disabled, the target tracking scaling policy doesn't remove instances from the Auto Scaling group. Otherwise, the target tracking scaling policy can remove instances from the Auto Scaling group. The default is disabled.

" } }, - "documentation":"

Represents a target tracking policy configuration.

" + "documentation":"

Represents a target tracking scaling policy configuration to use with Amazon EC2 Auto Scaling.

" }, "TerminateInstanceInAutoScalingGroupType":{ "type":"structure", @@ -3713,7 +3718,7 @@ }, "MixedInstancesPolicy":{ "shape":"MixedInstancesPolicy", - "documentation":"

The mixed instances policy to use to specify the updates. If you specify this parameter, you can't specify a launch configuration or a launch template.

" + "documentation":"

The mixed instances policy to use to specify the updates. If you specify this parameter, you can't specify a launch configuration or a launch template.

For more information, see Auto Scaling Groups with Multiple Instance Types and Purchase Options in the Amazon EC2 Auto Scaling User Guide.

" }, "MinSize":{ "shape":"AutoScalingGroupMinSize", @@ -3729,7 +3734,7 @@ }, "DefaultCooldown":{ "shape":"Cooldown", - "documentation":"

The amount of time, in seconds, after a scaling activity completes before another scaling activity can start. The default is 300.

For more information, see Scaling Cooldowns in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

The amount of time, in seconds, after a scaling activity completes before another scaling activity can start. The default value is 300.

For more information, see Scaling Cooldowns in the Amazon EC2 Auto Scaling User Guide.

" }, "AvailabilityZones":{ "shape":"AvailabilityZones", @@ -3737,31 +3742,31 @@ }, "HealthCheckType":{ "shape":"XmlStringMaxLen32", - "documentation":"

The service to use for the health checks. The valid values are EC2 and ELB.

" + "documentation":"

The service to use for the health checks. The valid values are EC2 and ELB. If you configure an Auto Scaling group to use ELB health checks, it considers the instance unhealthy if it fails either the EC2 status checks or the load balancer health checks.

" }, "HealthCheckGracePeriod":{ "shape":"HealthCheckGracePeriod", - "documentation":"

The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status of an EC2 instance that has come into service. The default is 0.

For more information, see Health Checks in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status of an EC2 instance that has come into service. The default value is 0.

For more information, see Health Checks for Auto Scaling Instances in the Amazon EC2 Auto Scaling User Guide.

Conditional: This parameter is required if you are adding an ELB health check.

" }, "PlacementGroup":{ "shape":"XmlStringMaxLen255", - "documentation":"

The name of the placement group into which to launch your instances, if any. For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The name of the placement group into which to launch your instances, if any. A placement group is a logical grouping of instances within a single Availability Zone. You cannot specify multiple Availability Zones and a placement group. For more information, see Placement Groups in the Amazon EC2 User Guide for Linux Instances.

" }, "VPCZoneIdentifier":{ "shape":"XmlStringMaxLen2047", - "documentation":"

The ID of the subnet, if you are launching into a VPC. You can specify several subnets in a comma-separated list.

When you specify VPCZoneIdentifier with AvailabilityZones, ensure that the subnets' Availability Zones match the values you specify for AvailabilityZones.

For more information, see Launching Auto Scaling Instances in a VPC in the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"

A comma-separated list of subnet IDs, if you are launching into a VPC.

If you specify VPCZoneIdentifier with AvailabilityZones, the subnets that you specify for this parameter must reside in those Availability Zones.

" }, "TerminationPolicies":{ "shape":"TerminationPolicies", - "documentation":"

A standalone termination policy or a list of termination policies used to select the instance to terminate. The policies are executed in the order that they are listed.

For more information, see Controlling Which Instances Auto Scaling Terminates During Scale In in the Auto Scaling User Guide.

" + "documentation":"

A standalone termination policy or a list of termination policies used to select the instance to terminate. The policies are executed in the order that they are listed.

For more information, see Controlling Which Instances Auto Scaling Terminates During Scale In in the Amazon EC2 Auto Scaling User Guide.

" }, "NewInstancesProtectedFromScaleIn":{ "shape":"InstanceProtected", - "documentation":"

Indicates whether newly launched instances are protected from termination by Auto Scaling when scaling in.

" + "documentation":"

Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling in.

For more information about preventing instances from terminating on scale in, see Instance Protection in the Amazon EC2 Auto Scaling User Guide.

" }, "ServiceLinkedRoleARN":{ "shape":"ResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf.

" + "documentation":"

The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf. For more information, see Service-Linked Roles in the Amazon EC2 Auto Scaling User Guide.

" } } }, @@ -3827,5 +3832,5 @@ "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" } }, - "documentation":"Amazon EC2 Auto Scaling

Amazon EC2 Auto Scaling is designed to automatically launch or terminate EC2 instances based on user-defined policies, schedules, and health checks. Use this service with AWS Auto Scaling, Amazon CloudWatch, and Elastic Load Balancing.

For more information, see the Amazon EC2 Auto Scaling User Guide.

" + "documentation":"Amazon EC2 Auto Scaling

Amazon EC2 Auto Scaling is designed to automatically launch or terminate EC2 instances based on user-defined policies, schedules, and health checks. Use this service with AWS Auto Scaling, Amazon CloudWatch, and Elastic Load Balancing.

For more information, including information about granting IAM users required permissions for Amazon EC2 Auto Scaling actions, see the Amazon EC2 Auto Scaling User Guide.

" } diff --git a/bin/botocore/data/backup/2018-11-15/paginators-1.json b/bin/botocore/data/backup/2018-11-15/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/bin/botocore/data/backup/2018-11-15/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/bin/botocore/data/backup/2018-11-15/service-2.json b/bin/botocore/data/backup/2018-11-15/service-2.json new file mode 100644 index 00000000..54c4c0ca --- /dev/null +++ b/bin/botocore/data/backup/2018-11-15/service-2.json @@ -0,0 +1,3148 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-11-15", + "endpointPrefix":"backup", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"AWS Backup", + "serviceId":"Backup", + "signatureVersion":"v4", + "uid":"backup-2018-11-15" + }, + "operations":{ + "CreateBackupPlan":{ + "name":"CreateBackupPlan", + "http":{ + "method":"PUT", + "requestUri":"/backup/plans/" + }, + "input":{"shape":"CreateBackupPlanInput"}, + "output":{"shape":"CreateBackupPlanOutput"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"AlreadyExistsException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Backup plans are documents that contain information that AWS Backup uses to schedule tasks that create recovery points of resources.

If you call CreateBackupPlan with a plan that already exists, the existing backupPlanId is returned.

", + "idempotent":true + }, + "CreateBackupSelection":{ + "name":"CreateBackupSelection", + "http":{ + "method":"PUT", + "requestUri":"/backup/plans/{backupPlanId}/selections/" + }, + "input":{"shape":"CreateBackupSelectionInput"}, + "output":{"shape":"CreateBackupSelectionOutput"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"AlreadyExistsException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Creates a JSON document that specifies a set of resources to assign to a backup plan. Resources can be included by specifying patterns for a ListOfTags and selected Resources.

For example, consider the following patterns:

  • Resources: \"arn:aws:ec2:region:account-id:volume/volume-id\"

  • ConditionKey:\"department\"

    ConditionValue:\"finance\"

    ConditionType:\"StringEquals\"

  • ConditionKey:\"importance\"

    ConditionValue:\"critical\"

    ConditionType:\"StringEquals\"

Using these patterns would back up all Amazon Elastic Block Store (Amazon EBS) volumes that are tagged as \"department=finance\", \"importance=critical\", in addition to an EBS volume with the specified volume Id.

Resources and conditions are additive in that all resources that match the pattern are selected. This shouldn't be confused with a logical AND, where all conditions must match. The matching patterns are logically 'put together using the OR operator. In other words, all patterns that match are selected for backup.

", + "idempotent":true + }, + "CreateBackupVault":{ + "name":"CreateBackupVault", + "http":{ + "method":"PUT", + "requestUri":"/backup-vaults/{backupVaultName}" + }, + "input":{"shape":"CreateBackupVaultInput"}, + "output":{"shape":"CreateBackupVaultOutput"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"LimitExceededException"}, + {"shape":"AlreadyExistsException"} + ], + "documentation":"

Creates a logical container where backups are stored. A CreateBackupVault request includes a name, optionally one or more resource tags, an encryption key, and a request ID.

Sensitive data, such as passport numbers, should not be included the name of a backup vault.

", + "idempotent":true + }, + "DeleteBackupPlan":{ + "name":"DeleteBackupPlan", + "http":{ + "method":"DELETE", + "requestUri":"/backup/plans/{backupPlanId}" + }, + "input":{"shape":"DeleteBackupPlanInput"}, + "output":{"shape":"DeleteBackupPlanOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Deletes a backup plan. A backup plan can only be deleted after all associated selections of resources have been deleted. Deleting a backup plan deletes the current version of a backup plan. Previous versions, if any, will still exist.

" + }, + "DeleteBackupSelection":{ + "name":"DeleteBackupSelection", + "http":{ + "method":"DELETE", + "requestUri":"/backup/plans/{backupPlanId}/selections/{selectionId}" + }, + "input":{"shape":"DeleteBackupSelectionInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Deletes the resource selection associated with a backup plan that is specified by the SelectionId.

" + }, + "DeleteBackupVault":{ + "name":"DeleteBackupVault", + "http":{ + "method":"DELETE", + "requestUri":"/backup-vaults/{backupVaultName}" + }, + "input":{"shape":"DeleteBackupVaultInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Deletes the backup vault identified by its name. A vault can be deleted only if it is empty.

" + }, + "DeleteBackupVaultAccessPolicy":{ + "name":"DeleteBackupVaultAccessPolicy", + "http":{ + "method":"DELETE", + "requestUri":"/backup-vaults/{backupVaultName}/access-policy" + }, + "input":{"shape":"DeleteBackupVaultAccessPolicyInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Deletes the policy document that manages permissions on a backup vault.

", + "idempotent":true + }, + "DeleteBackupVaultNotifications":{ + "name":"DeleteBackupVaultNotifications", + "http":{ + "method":"DELETE", + "requestUri":"/backup-vaults/{backupVaultName}/notification-configuration" + }, + "input":{"shape":"DeleteBackupVaultNotificationsInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Deletes event notifications for the specified backup vault.

", + "idempotent":true + }, + "DeleteRecoveryPoint":{ + "name":"DeleteRecoveryPoint", + "http":{ + "method":"DELETE", + "requestUri":"/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}" + }, + "input":{"shape":"DeleteRecoveryPointInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Deletes the recovery point specified by a recovery point ID.

", + "idempotent":true + }, + "DescribeBackupJob":{ + "name":"DescribeBackupJob", + "http":{ + "method":"GET", + "requestUri":"/backup-jobs/{backupJobId}" + }, + "input":{"shape":"DescribeBackupJobInput"}, + "output":{"shape":"DescribeBackupJobOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DependencyFailureException"} + ], + "documentation":"

Returns metadata associated with creating a backup of a resource.

", + "idempotent":true + }, + "DescribeBackupVault":{ + "name":"DescribeBackupVault", + "http":{ + "method":"GET", + "requestUri":"/backup-vaults/{backupVaultName}" + }, + "input":{"shape":"DescribeBackupVaultInput"}, + "output":{"shape":"DescribeBackupVaultOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns metadata about a backup vault specified by its name.

", + "idempotent":true + }, + "DescribeProtectedResource":{ + "name":"DescribeProtectedResource", + "http":{ + "method":"GET", + "requestUri":"/resources/{resourceArn}" + }, + "input":{"shape":"DescribeProtectedResourceInput"}, + "output":{"shape":"DescribeProtectedResourceOutput"}, + "errors":[ + {"shape":"MissingParameterValueException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns information about a saved resource, including the last time it was backed-up, its Amazon Resource Name (ARN), and the AWS service type of the saved resource.

", + "idempotent":true + }, + "DescribeRecoveryPoint":{ + "name":"DescribeRecoveryPoint", + "http":{ + "method":"GET", + "requestUri":"/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}" + }, + "input":{"shape":"DescribeRecoveryPointInput"}, + "output":{"shape":"DescribeRecoveryPointOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns metadata associated with a recovery point, including ID, status, encryption, and lifecycle.

", + "idempotent":true + }, + "DescribeRestoreJob":{ + "name":"DescribeRestoreJob", + "http":{ + "method":"GET", + "requestUri":"/restore-jobs/{restoreJobId}" + }, + "input":{"shape":"DescribeRestoreJobInput"}, + "output":{"shape":"DescribeRestoreJobOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DependencyFailureException"} + ], + "documentation":"

Returns metadata associated with a restore job that is specified by a job ID.

", + "idempotent":true + }, + "ExportBackupPlanTemplate":{ + "name":"ExportBackupPlanTemplate", + "http":{ + "method":"GET", + "requestUri":"/backup/plans/{backupPlanId}/toTemplate/" + }, + "input":{"shape":"ExportBackupPlanTemplateInput"}, + "output":{"shape":"ExportBackupPlanTemplateOutput"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns the backup plan that is specified by the plan ID as a backup template.

" + }, + "GetBackupPlan":{ + "name":"GetBackupPlan", + "http":{ + "method":"GET", + "requestUri":"/backup/plans/{backupPlanId}/" + }, + "input":{"shape":"GetBackupPlanInput"}, + "output":{"shape":"GetBackupPlanOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns the body of a backup plan in JSON format, in addition to plan metadata.

", + "idempotent":true + }, + "GetBackupPlanFromJSON":{ + "name":"GetBackupPlanFromJSON", + "http":{ + "method":"POST", + "requestUri":"/backup/template/json/toPlan" + }, + "input":{"shape":"GetBackupPlanFromJSONInput"}, + "output":{"shape":"GetBackupPlanFromJSONOutput"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Returns a valid JSON document specifying a backup plan or an error.

" + }, + "GetBackupPlanFromTemplate":{ + "name":"GetBackupPlanFromTemplate", + "http":{ + "method":"GET", + "requestUri":"/backup/template/plans/{templateId}/toPlan" + }, + "input":{"shape":"GetBackupPlanFromTemplateInput"}, + "output":{"shape":"GetBackupPlanFromTemplateOutput"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns the template specified by its templateId as a backup plan.

" + }, + "GetBackupSelection":{ + "name":"GetBackupSelection", + "http":{ + "method":"GET", + "requestUri":"/backup/plans/{backupPlanId}/selections/{selectionId}" + }, + "input":{"shape":"GetBackupSelectionInput"}, + "output":{"shape":"GetBackupSelectionOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns selection metadata and a document in JSON format that specifies a list of resources that are associated with a backup plan.

", + "idempotent":true + }, + "GetBackupVaultAccessPolicy":{ + "name":"GetBackupVaultAccessPolicy", + "http":{ + "method":"GET", + "requestUri":"/backup-vaults/{backupVaultName}/access-policy" + }, + "input":{"shape":"GetBackupVaultAccessPolicyInput"}, + "output":{"shape":"GetBackupVaultAccessPolicyOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns the access policy document that is associated with the named backup vault.

", + "idempotent":true + }, + "GetBackupVaultNotifications":{ + "name":"GetBackupVaultNotifications", + "http":{ + "method":"GET", + "requestUri":"/backup-vaults/{backupVaultName}/notification-configuration" + }, + "input":{"shape":"GetBackupVaultNotificationsInput"}, + "output":{"shape":"GetBackupVaultNotificationsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns event notifications for the specified backup vault.

", + "idempotent":true + }, + "GetRecoveryPointRestoreMetadata":{ + "name":"GetRecoveryPointRestoreMetadata", + "http":{ + "method":"GET", + "requestUri":"/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}/restore-metadata" + }, + "input":{"shape":"GetRecoveryPointRestoreMetadataInput"}, + "output":{"shape":"GetRecoveryPointRestoreMetadataOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns two sets of metadata key-value pairs. The first set lists the metadata that the recovery point was created with. The second set lists the metadata key-value pairs that are required to restore the recovery point.

These sets can be the same, or the restore metadata set can contain different values if the target service to be restored has changed since the recovery point was created and now requires additional or different information in order to be restored.

", + "idempotent":true + }, + "GetSupportedResourceTypes":{ + "name":"GetSupportedResourceTypes", + "http":{ + "method":"GET", + "requestUri":"/supported-resource-types" + }, + "output":{"shape":"GetSupportedResourceTypesOutput"}, + "errors":[ + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns the AWS resource types supported by AWS Backup.

" + }, + "ListBackupJobs":{ + "name":"ListBackupJobs", + "http":{ + "method":"GET", + "requestUri":"/backup-jobs/" + }, + "input":{"shape":"ListBackupJobsInput"}, + "output":{"shape":"ListBackupJobsOutput"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns metadata about your backup jobs.

", + "idempotent":true + }, + "ListBackupPlanTemplates":{ + "name":"ListBackupPlanTemplates", + "http":{ + "method":"GET", + "requestUri":"/backup/template/plans" + }, + "input":{"shape":"ListBackupPlanTemplatesInput"}, + "output":{"shape":"ListBackupPlanTemplatesOutput"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns metadata of your saved backup plan templates, including the template ID, name, and the creation and deletion dates.

" + }, + "ListBackupPlanVersions":{ + "name":"ListBackupPlanVersions", + "http":{ + "method":"GET", + "requestUri":"/backup/plans/{backupPlanId}/versions/" + }, + "input":{"shape":"ListBackupPlanVersionsInput"}, + "output":{"shape":"ListBackupPlanVersionsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns version metadata of your backup plans, including Amazon Resource Names (ARNs), backup plan IDs, creation and deletion dates, plan names, and version IDs.

", + "idempotent":true + }, + "ListBackupPlans":{ + "name":"ListBackupPlans", + "http":{ + "method":"GET", + "requestUri":"/backup/plans/" + }, + "input":{"shape":"ListBackupPlansInput"}, + "output":{"shape":"ListBackupPlansOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns metadata of your saved backup plans, including Amazon Resource Names (ARNs), plan IDs, creation and deletion dates, version IDs, plan names, and creator request IDs.

", + "idempotent":true + }, + "ListBackupSelections":{ + "name":"ListBackupSelections", + "http":{ + "method":"GET", + "requestUri":"/backup/plans/{backupPlanId}/selections/" + }, + "input":{"shape":"ListBackupSelectionsInput"}, + "output":{"shape":"ListBackupSelectionsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns an array containing metadata of the resources associated with the target backup plan.

", + "idempotent":true + }, + "ListBackupVaults":{ + "name":"ListBackupVaults", + "http":{ + "method":"GET", + "requestUri":"/backup-vaults/" + }, + "input":{"shape":"ListBackupVaultsInput"}, + "output":{"shape":"ListBackupVaultsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns a list of recovery point storage containers along with information about them.

", + "idempotent":true + }, + "ListProtectedResources":{ + "name":"ListProtectedResources", + "http":{ + "method":"GET", + "requestUri":"/resources/" + }, + "input":{"shape":"ListProtectedResourcesInput"}, + "output":{"shape":"ListProtectedResourcesOutput"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns an array of resources successfully backed up by AWS Backup, including the time the resource was saved, an Amazon Resource Name (ARN) of the resource, and a resource type.

", + "idempotent":true + }, + "ListRecoveryPointsByBackupVault":{ + "name":"ListRecoveryPointsByBackupVault", + "http":{ + "method":"GET", + "requestUri":"/backup-vaults/{backupVaultName}/recovery-points/" + }, + "input":{"shape":"ListRecoveryPointsByBackupVaultInput"}, + "output":{"shape":"ListRecoveryPointsByBackupVaultOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns detailed information about the recovery points stored in a backup vault.

", + "idempotent":true + }, + "ListRecoveryPointsByResource":{ + "name":"ListRecoveryPointsByResource", + "http":{ + "method":"GET", + "requestUri":"/resources/{resourceArn}/recovery-points/" + }, + "input":{"shape":"ListRecoveryPointsByResourceInput"}, + "output":{"shape":"ListRecoveryPointsByResourceOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns detailed information about recovery points of the type specified by a resource Amazon Resource Name (ARN).

", + "idempotent":true + }, + "ListRestoreJobs":{ + "name":"ListRestoreJobs", + "http":{ + "method":"GET", + "requestUri":"/restore-jobs/" + }, + "input":{"shape":"ListRestoreJobsInput"}, + "output":{"shape":"ListRestoreJobsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns a list of jobs that AWS Backup initiated to restore a saved resource, including metadata about the recovery process.

", + "idempotent":true + }, + "ListTags":{ + "name":"ListTags", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}/" + }, + "input":{"shape":"ListTagsInput"}, + "output":{"shape":"ListTagsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns a list of key-value pairs assigned to a target recovery point, backup plan, or backup vault.

", + "idempotent":true + }, + "PutBackupVaultAccessPolicy":{ + "name":"PutBackupVaultAccessPolicy", + "http":{ + "method":"PUT", + "requestUri":"/backup-vaults/{backupVaultName}/access-policy" + }, + "input":{"shape":"PutBackupVaultAccessPolicyInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Sets a resource-based policy that is used to manage access permissions on the target backup vault. Requires a backup vault name and an access policy document in JSON format.

", + "idempotent":true + }, + "PutBackupVaultNotifications":{ + "name":"PutBackupVaultNotifications", + "http":{ + "method":"PUT", + "requestUri":"/backup-vaults/{backupVaultName}/notification-configuration" + }, + "input":{"shape":"PutBackupVaultNotificationsInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Turns on notifications on a backup vault for the specified topic and events.

", + "idempotent":true + }, + "StartBackupJob":{ + "name":"StartBackupJob", + "http":{ + "method":"PUT", + "requestUri":"/backup-jobs" + }, + "input":{"shape":"StartBackupJobInput"}, + "output":{"shape":"StartBackupJobOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Starts a job to create a one-time backup of the specified resource.

", + "idempotent":true + }, + "StartRestoreJob":{ + "name":"StartRestoreJob", + "http":{ + "method":"PUT", + "requestUri":"/restore-jobs" + }, + "input":{"shape":"StartRestoreJobInput"}, + "output":{"shape":"StartRestoreJobOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Recovers the saved resource identified by an Amazon Resource Name (ARN).

If the resource ARN is included in the request, then the last complete backup of that resource is recovered. If the ARN of a recovery point is supplied, then that recovery point is restored.

", + "idempotent":true + }, + "StopBackupJob":{ + "name":"StopBackupJob", + "http":{ + "method":"POST", + "requestUri":"/backup-jobs/{backupJobId}" + }, + "input":{"shape":"StopBackupJobInput"}, + "errors":[ + {"shape":"MissingParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Attempts to cancel a job to create a one-time backup of a resource.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"TagResourceInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Assigns a set of key-value pairs to a recovery point, backup plan, or backup vault identified by an Amazon Resource Name (ARN).

", + "idempotent":true + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/untag/{resourceArn}" + }, + "input":{"shape":"UntagResourceInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Removes a set of key-value pairs from a recovery point, backup plan, or backup vault identified by an Amazon Resource Name (ARN)

", + "idempotent":true + }, + "UpdateBackupPlan":{ + "name":"UpdateBackupPlan", + "http":{ + "method":"POST", + "requestUri":"/backup/plans/{backupPlanId}" + }, + "input":{"shape":"UpdateBackupPlanInput"}, + "output":{"shape":"UpdateBackupPlanOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Replaces the body of a saved backup plan identified by its backupPlanId with the input document in JSON format. The new version is uniquely identified by a VersionId.

", + "idempotent":true + }, + "UpdateRecoveryPointLifecycle":{ + "name":"UpdateRecoveryPointLifecycle", + "http":{ + "method":"POST", + "requestUri":"/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}" + }, + "input":{"shape":"UpdateRecoveryPointLifecycleInput"}, + "output":{"shape":"UpdateRecoveryPointLifecycleOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Sets the transition lifecycle of a recovery point.

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup transitions and expires backups automatically according to the lifecycle that you define.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

", + "idempotent":true + } + }, + "shapes":{ + "ARN":{"type":"string"}, + "AlreadyExistsException":{ + "type":"structure", + "members":{ + "Code":{"shape":"string"}, + "Message":{"shape":"string"}, + "CreatorRequestId":{ + "shape":"string", + "documentation":"

" + }, + "Arn":{ + "shape":"string", + "documentation":"

" + }, + "Type":{ + "shape":"string", + "documentation":"

" + }, + "Context":{ + "shape":"string", + "documentation":"

" + } + }, + "documentation":"

The required resource already exists.

", + "exception":true + }, + "BackupJob":{ + "type":"structure", + "members":{ + "BackupJobId":{ + "shape":"string", + "documentation":"

Uniquely identifies a request to AWS Backup to back up a resource.

" + }, + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + }, + "BackupVaultArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

" + }, + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + }, + "ResourceArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a resource. The format of the ARN depends on the resource type.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time a backup job is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "CompletionDate":{ + "shape":"timestamp", + "documentation":"

The date and time a job to create a backup job is completed, in Unix format and Coordinated Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "State":{ + "shape":"BackupJobState", + "documentation":"

The current state of a resource recovery point.

" + }, + "StatusMessage":{ + "shape":"string", + "documentation":"

A detailed message explaining the status of the job to back up a resource.

" + }, + "PercentDone":{ + "shape":"string", + "documentation":"

Contains an estimated percentage complete of a job at the time the job status was queried.

" + }, + "BackupSizeInBytes":{ + "shape":"Long", + "documentation":"

The size, in bytes, of a backup.

" + }, + "IamRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

Specifies the IAM role ARN used to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.

" + }, + "CreatedBy":{ + "shape":"RecoveryPointCreator", + "documentation":"

Contains identifying information about the creation of a backup job, including the BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId of the backup plan used to create it.

" + }, + "ExpectedCompletionDate":{ + "shape":"timestamp", + "documentation":"

The date and time a job to back up resources is expected to be completed, in Unix format and Coordinated Universal Time (UTC). The value of ExpectedCompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "StartBy":{ + "shape":"timestamp", + "documentation":"

Specifies the time in Unix format and Coordinated Universal Time (UTC) when a backup job must be started before it is canceled. The value is calculated by adding the start window to the scheduled time. So if the scheduled time were 6:00 PM and the start window is 2 hours, the StartBy time would be 8:00 PM on the date specified. The value of StartBy is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of AWS resource to be backed-up; for example, an Amazon Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.

" + }, + "BytesTransferred":{ + "shape":"Long", + "documentation":"

The size in bytes transferred to a backup vault at the time that the job status was queried.

" + } + }, + "documentation":"

Contains detailed information about a backup job.

" + }, + "BackupJobState":{ + "type":"string", + "enum":[ + "CREATED", + "PENDING", + "RUNNING", + "ABORTING", + "ABORTED", + "COMPLETED", + "FAILED", + "EXPIRED" + ] + }, + "BackupJobsList":{ + "type":"list", + "member":{"shape":"BackupJob"} + }, + "BackupPlan":{ + "type":"structure", + "required":[ + "BackupPlanName", + "Rules" + ], + "members":{ + "BackupPlanName":{ + "shape":"BackupPlanName", + "documentation":"

The display name of a backup plan.

" + }, + "Rules":{ + "shape":"BackupRules", + "documentation":"

An array of BackupRule objects, each of which specifies a scheduled task that is used to back up a selection of resources.

" + } + }, + "documentation":"

Contains an optional backup plan display name and an array of BackupRule objects, each of which specifies a backup rule. Each rule in a backup plan is a separate scheduled task and can back up a different selection of AWS resources.

" + }, + "BackupPlanInput":{ + "type":"structure", + "required":[ + "BackupPlanName", + "Rules" + ], + "members":{ + "BackupPlanName":{ + "shape":"BackupPlanName", + "documentation":"

The display name of a backup plan.

" + }, + "Rules":{ + "shape":"BackupRulesInput", + "documentation":"

An array of BackupRule objects, each of which specifies a scheduled task that is used to back up a selection of resources.

" + } + }, + "documentation":"

Contains an optional backup plan display name and an array of BackupRule objects, each of which specifies a backup rule. Each rule in a backup plan is a separate scheduled task and can back up a different selection of AWS resources.

" + }, + "BackupPlanName":{"type":"string"}, + "BackupPlanTemplatesList":{ + "type":"list", + "member":{"shape":"BackupPlanTemplatesListMember"} + }, + "BackupPlanTemplatesListMember":{ + "type":"structure", + "members":{ + "BackupPlanTemplateId":{ + "shape":"string", + "documentation":"

Uniquely identifies a stored backup plan template.

" + }, + "BackupPlanTemplateName":{ + "shape":"string", + "documentation":"

The optional display name of a backup plan template.

" + } + }, + "documentation":"

An object specifying metadata associated with a backup plan template.

" + }, + "BackupPlanVersionsList":{ + "type":"list", + "member":{"shape":"BackupPlansListMember"} + }, + "BackupPlansList":{ + "type":"list", + "member":{"shape":"BackupPlansListMember"} + }, + "BackupPlansListMember":{ + "type":"structure", + "members":{ + "BackupPlanArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.

" + }, + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time a resource backup plan is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "DeletionDate":{ + "shape":"timestamp", + "documentation":"

The date and time a backup plan is deleted, in Unix format and Coordinated Universal Time (UTC). The value of DeletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "VersionId":{ + "shape":"string", + "documentation":"

Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long. Version IDs cannot be edited.

" + }, + "BackupPlanName":{ + "shape":"BackupPlanName", + "documentation":"

The display name of a saved backup plan.

" + }, + "CreatorRequestId":{ + "shape":"string", + "documentation":"

A unique string that identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

" + }, + "LastExecutionDate":{ + "shape":"timestamp", + "documentation":"

The last time a job to back up resources was executed with this rule. A date and time, in Unix format and Coordinated Universal Time (UTC). The value of LastExecutionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + } + }, + "documentation":"

Contains metadata about a backup plan.

" + }, + "BackupRule":{ + "type":"structure", + "required":[ + "RuleName", + "TargetBackupVaultName" + ], + "members":{ + "RuleName":{ + "shape":"BackupRuleName", + "documentation":"

An optional display name for a backup rule.

" + }, + "TargetBackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + }, + "ScheduleExpression":{ + "shape":"CronExpression", + "documentation":"

A CRON expression specifying when AWS Backup initiates a backup job.

" + }, + "StartWindowMinutes":{ + "shape":"WindowMinutes", + "documentation":"

An optional value that specifies a period of time in minutes after a backup is scheduled before a job is canceled if it doesn't start successfully.

" + }, + "CompletionWindowMinutes":{ + "shape":"WindowMinutes", + "documentation":"

A value in minutes after a backup job is successfully started before it must be completed or it is canceled by AWS Backup. This value is optional.

" + }, + "Lifecycle":{ + "shape":"Lifecycle", + "documentation":"

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup transitions and expires backups automatically according to the lifecycle that you define.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

" + }, + "RecoveryPointTags":{ + "shape":"Tags", + "documentation":"

An array of key-value pair strings that are assigned to resources that are associated with this rule when restored from backup.

" + }, + "RuleId":{ + "shape":"string", + "documentation":"

Uniquely identifies a rule that is used to schedule the backup of a selection of resources.

" + } + }, + "documentation":"

Specifies a scheduled task used to back up a selection of resources.

" + }, + "BackupRuleInput":{ + "type":"structure", + "required":[ + "RuleName", + "TargetBackupVaultName" + ], + "members":{ + "RuleName":{ + "shape":"BackupRuleName", + "documentation":"

>An optional display name for a backup rule.

" + }, + "TargetBackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + }, + "ScheduleExpression":{ + "shape":"CronExpression", + "documentation":"

A CRON expression specifying when AWS Backup initiates a backup job.

" + }, + "StartWindowMinutes":{ + "shape":"WindowMinutes", + "documentation":"

The amount of time in minutes before beginning a backup.

" + }, + "CompletionWindowMinutes":{ + "shape":"WindowMinutes", + "documentation":"

The amount of time AWS Backup attempts a backup before canceling the job and returning an error.

" + }, + "Lifecycle":{ + "shape":"Lifecycle", + "documentation":"

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup will transition and expire backups automatically according to the lifecycle that you define.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days”. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

" + }, + "RecoveryPointTags":{ + "shape":"Tags", + "documentation":"

To help organize your resources, you can assign your own metadata to the resources that you create. Each tag is a key-value pair.

" + } + }, + "documentation":"

Specifies a scheduled task used to back up a selection of resources.

" + }, + "BackupRuleName":{ + "type":"string", + "pattern":"^[a-zA-Z0-9\\-\\_\\.]{1,50}$" + }, + "BackupRules":{ + "type":"list", + "member":{"shape":"BackupRule"} + }, + "BackupRulesInput":{ + "type":"list", + "member":{"shape":"BackupRuleInput"} + }, + "BackupSelection":{ + "type":"structure", + "required":[ + "SelectionName", + "IamRoleArn" + ], + "members":{ + "SelectionName":{ + "shape":"BackupSelectionName", + "documentation":"

The display name of a resource selection document.

" + }, + "IamRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

The ARN of the IAM role that AWS Backup uses to authenticate when restoring the target resource; for example, arn:aws:iam::123456789012:role/S3Access.

" + }, + "Resources":{ + "shape":"ResourceArns", + "documentation":"

An array of strings that either contain Amazon Resource Names (ARNs) or match patterns such as \"arn:aws:ec2:us-east-1:123456789012:volume/*\" of resources to assign to a backup plan.

" + }, + "ListOfTags":{ + "shape":"ListOfTags", + "documentation":"

An array of conditions used to specify a set of resources to assign to a backup plan; for example, \"StringEquals\": {\"ec2:ResourceTag/Department\": \"accounting\".

" + } + }, + "documentation":"

Used to specify a set of resources to a backup plan.

" + }, + "BackupSelectionName":{ + "type":"string", + "pattern":"^[a-zA-Z0-9\\-\\_\\.]{1,50}$" + }, + "BackupSelectionsList":{ + "type":"list", + "member":{"shape":"BackupSelectionsListMember"} + }, + "BackupSelectionsListMember":{ + "type":"structure", + "members":{ + "SelectionId":{ + "shape":"string", + "documentation":"

Uniquely identifies a request to assign a set of resources to a backup plan.

" + }, + "SelectionName":{ + "shape":"BackupSelectionName", + "documentation":"

The display name of a resource selection document.

" + }, + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time a backup plan is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "CreatorRequestId":{ + "shape":"string", + "documentation":"

A unique string that identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

" + }, + "IamRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

Specifies the IAM role Amazon Resource Name (ARN) to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.

" + } + }, + "documentation":"

Contains metadata about a BackupSelection object.

" + }, + "BackupVaultEvent":{ + "type":"string", + "enum":[ + "BACKUP_JOB_STARTED", + "BACKUP_JOB_COMPLETED", + "RESTORE_JOB_STARTED", + "RESTORE_JOB_COMPLETED", + "RECOVERY_POINT_MODIFIED", + "BACKUP_PLAN_CREATED", + "BACKUP_PLAN_MODIFIED" + ] + }, + "BackupVaultEvents":{ + "type":"list", + "member":{"shape":"BackupVaultEvent"} + }, + "BackupVaultList":{ + "type":"list", + "member":{"shape":"BackupVaultListMember"} + }, + "BackupVaultListMember":{ + "type":"structure", + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + }, + "BackupVaultArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time a resource backup is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "EncryptionKeyArn":{ + "shape":"ARN", + "documentation":"

The server-side encryption key that is used to protect your backups; for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

" + }, + "CreatorRequestId":{ + "shape":"string", + "documentation":"

A unique string that identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

" + }, + "NumberOfRecoveryPoints":{ + "shape":"long", + "documentation":"

The number of recovery points that are stored in a backup vault.

" + } + }, + "documentation":"

Contains metadata about a backup vault.

" + }, + "BackupVaultName":{ + "type":"string", + "pattern":"^[a-zA-Z0-9\\-\\_\\.]{1,50}$" + }, + "Boolean":{"type":"boolean"}, + "CalculatedLifecycle":{ + "type":"structure", + "members":{ + "MoveToColdStorageAt":{ + "shape":"timestamp", + "documentation":"

A timestamp that specifies when to transition a recovery point to cold storage.

" + }, + "DeleteAt":{ + "shape":"timestamp", + "documentation":"

A timestamp that specifies when to delete a recovery point.

" + } + }, + "documentation":"

Contains DeleteAt and MoveToColdStorageAt timestamps, which are used to specify a lifecycle for a recovery point.

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup transitions and expires backups automatically according to the lifecycle that you define.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

" + }, + "Condition":{ + "type":"structure", + "required":[ + "ConditionType", + "ConditionKey", + "ConditionValue" + ], + "members":{ + "ConditionType":{ + "shape":"ConditionType", + "documentation":"

An operation, such as StringEquals, that is applied to a key-value pair used to filter resources in a selection.

" + }, + "ConditionKey":{ + "shape":"ConditionKey", + "documentation":"

The key in a key-value pair. For example, in \"ec2:ResourceTag/Department\": \"accounting\", \"ec2:ResourceTag/Department\" is the key.

" + }, + "ConditionValue":{ + "shape":"ConditionValue", + "documentation":"

The value in a key-value pair. For example, in \"ec2:ResourceTag/Department\": \"accounting\", \"accounting\" is the value.

" + } + }, + "documentation":"

Contains an array of triplets made up of a condition type (such as StringEquals), a key, and a value. Conditions are used to filter resources in a selection that is assigned to a backup plan.

" + }, + "ConditionKey":{"type":"string"}, + "ConditionType":{ + "type":"string", + "enum":["STRINGEQUALS"] + }, + "ConditionValue":{"type":"string"}, + "CreateBackupPlanInput":{ + "type":"structure", + "required":["BackupPlan"], + "members":{ + "BackupPlan":{ + "shape":"BackupPlanInput", + "documentation":"

Specifies the body of a backup plan. Includes a BackupPlanName and one or more sets of Rules.

" + }, + "BackupPlanTags":{ + "shape":"Tags", + "documentation":"

To help organize your resources, you can assign your own metadata to the resources that you create. Each tag is a key-value pair. The specified tags are assigned to all backups created with this plan.

" + }, + "CreatorRequestId":{ + "shape":"string", + "documentation":"

Identifies the request and allows failed requests to be retried without the risk of executing the operation twice. If the request includes a CreatorRequestId that matches an existing backup plan, that plan is returned. This parameter is optional.

" + } + } + }, + "CreateBackupPlanOutput":{ + "type":"structure", + "members":{ + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

" + }, + "BackupPlanArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time that a backup plan is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "VersionId":{ + "shape":"string", + "documentation":"

Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1024 bytes long. They cannot be edited.

" + } + } + }, + "CreateBackupSelectionInput":{ + "type":"structure", + "required":[ + "BackupPlanId", + "BackupSelection" + ], + "members":{ + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies the backup plan to be associated with the selection of resources.

", + "location":"uri", + "locationName":"backupPlanId" + }, + "BackupSelection":{ + "shape":"BackupSelection", + "documentation":"

Specifies the body of a request to assign a set of resources to a backup plan.

It includes an array of resources, an optional array of patterns to exclude resources, an optional role to provide access to the AWS service the resource belongs to, and an optional array of tags used to identify a set of resources.

" + }, + "CreatorRequestId":{ + "shape":"string", + "documentation":"

A unique string that identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

" + } + } + }, + "CreateBackupSelectionOutput":{ + "type":"structure", + "members":{ + "SelectionId":{ + "shape":"string", + "documentation":"

Uniquely identifies the body of a request to assign a set of resources to a backup plan.

" + }, + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time a backup selection is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + } + } + }, + "CreateBackupVaultInput":{ + "type":"structure", + "required":["BackupVaultName"], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + }, + "BackupVaultTags":{ + "shape":"Tags", + "documentation":"

Metadata that you can assign to help organize the resources that you create. Each tag is a key-value pair.

" + }, + "EncryptionKeyArn":{ + "shape":"ARN", + "documentation":"

The server-side encryption key that is used to protect your backups; for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

" + }, + "CreatorRequestId":{ + "shape":"string", + "documentation":"

A unique string that identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

" + } + } + }, + "CreateBackupVaultOutput":{ + "type":"structure", + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + }, + "BackupVaultArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time a backup vault is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + } + } + }, + "CronExpression":{"type":"string"}, + "DeleteBackupPlanInput":{ + "type":"structure", + "required":["BackupPlanId"], + "members":{ + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

", + "location":"uri", + "locationName":"backupPlanId" + } + } + }, + "DeleteBackupPlanOutput":{ + "type":"structure", + "members":{ + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

" + }, + "BackupPlanArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.

" + }, + "DeletionDate":{ + "shape":"timestamp", + "documentation":"

The date and time a backup plan is deleted, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "VersionId":{ + "shape":"string", + "documentation":"

Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long. Version Ids cannot be edited.

" + } + } + }, + "DeleteBackupSelectionInput":{ + "type":"structure", + "required":[ + "BackupPlanId", + "SelectionId" + ], + "members":{ + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

", + "location":"uri", + "locationName":"backupPlanId" + }, + "SelectionId":{ + "shape":"string", + "documentation":"

Uniquely identifies the body of a request to assign a set of resources to a backup plan.

", + "location":"uri", + "locationName":"selectionId" + } + } + }, + "DeleteBackupVaultAccessPolicyInput":{ + "type":"structure", + "required":["BackupVaultName"], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + } + } + }, + "DeleteBackupVaultInput":{ + "type":"structure", + "required":["BackupVaultName"], + "members":{ + "BackupVaultName":{ + "shape":"string", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and theAWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + } + } + }, + "DeleteBackupVaultNotificationsInput":{ + "type":"structure", + "required":["BackupVaultName"], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + } + } + }, + "DeleteRecoveryPointInput":{ + "type":"structure", + "required":[ + "BackupVaultName", + "RecoveryPointArn" + ], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + }, + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

", + "location":"uri", + "locationName":"recoveryPointArn" + } + } + }, + "DependencyFailureException":{ + "type":"structure", + "members":{ + "Code":{"shape":"string"}, + "Message":{"shape":"string"}, + "Type":{ + "shape":"string", + "documentation":"

" + }, + "Context":{ + "shape":"string", + "documentation":"

" + } + }, + "documentation":"

A dependent AWS service or resource returned an error to the AWS Backup service, and the action cannot be completed.

", + "exception":true, + "fault":true + }, + "DescribeBackupJobInput":{ + "type":"structure", + "required":["BackupJobId"], + "members":{ + "BackupJobId":{ + "shape":"string", + "documentation":"

Uniquely identifies a request to AWS Backup to back up a resource.

", + "location":"uri", + "locationName":"backupJobId" + } + } + }, + "DescribeBackupJobOutput":{ + "type":"structure", + "members":{ + "BackupJobId":{ + "shape":"string", + "documentation":"

Uniquely identifies a request to AWS Backup to back up a resource.

" + }, + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + }, + "BackupVaultArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

" + }, + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + }, + "ResourceArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a saved resource. The format of the ARN depends on the resource type.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time that a backup job is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "CompletionDate":{ + "shape":"timestamp", + "documentation":"

The date and time that a job to create a backup job is completed, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "State":{ + "shape":"BackupJobState", + "documentation":"

The current state of a resource recovery point.

" + }, + "StatusMessage":{ + "shape":"string", + "documentation":"

A detailed message explaining the status of the job to back up a resource.

" + }, + "PercentDone":{ + "shape":"string", + "documentation":"

Contains an estimated percentage that is complete of a job at the time the job status was queried.

" + }, + "BackupSizeInBytes":{ + "shape":"Long", + "documentation":"

The size, in bytes, of a backup.

" + }, + "IamRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

Specifies the IAM role ARN used to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.

" + }, + "CreatedBy":{ + "shape":"RecoveryPointCreator", + "documentation":"

Contains identifying information about the creation of a backup job, including the BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId of the backup plan that is used to create it.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of AWS resource to be backed-up; for example, an Amazon Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.

" + }, + "BytesTransferred":{ + "shape":"Long", + "documentation":"

The size in bytes transferred to a backup vault at the time that the job status was queried.

" + }, + "ExpectedCompletionDate":{ + "shape":"timestamp", + "documentation":"

The date and time that a job to back up resources is expected to be completed, in Unix format and Coordinated Universal Time (UTC). The value of ExpectedCompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "StartBy":{ + "shape":"timestamp", + "documentation":"

Specifies the time in Unix format and Coordinated Universal Time (UTC) when a backup job must be started before it is canceled. The value is calculated by adding the start window to the scheduled time. So if the scheduled time were 6:00 PM and the start window is 2 hours, the StartBy time would be 8:00 PM on the date specified. The value of StartBy is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + } + } + }, + "DescribeBackupVaultInput":{ + "type":"structure", + "required":["BackupVaultName"], + "members":{ + "BackupVaultName":{ + "shape":"string", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + } + } + }, + "DescribeBackupVaultOutput":{ + "type":"structure", + "members":{ + "BackupVaultName":{ + "shape":"string", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + }, + "BackupVaultArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

" + }, + "EncryptionKeyArn":{ + "shape":"ARN", + "documentation":"

The server-side encryption key that is used to protect your backups; for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time that a backup vault is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "CreatorRequestId":{ + "shape":"string", + "documentation":"

A unique string that identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

" + }, + "NumberOfRecoveryPoints":{ + "shape":"long", + "documentation":"

The number of recovery points that are stored in a backup vault.

" + } + } + }, + "DescribeProtectedResourceInput":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.

", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "DescribeProtectedResourceOutput":{ + "type":"structure", + "members":{ + "ResourceArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a resource. The format of the ARN depends on the resource type.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of AWS resource saved as a recovery point; for example, an EBS volume or an Amazon RDS database.

" + }, + "LastBackupTime":{ + "shape":"timestamp", + "documentation":"

The date and time that a resource was last backed up, in Unix format and Coordinated Universal Time (UTC). The value of LastBackupTime is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + } + } + }, + "DescribeRecoveryPointInput":{ + "type":"structure", + "required":[ + "BackupVaultName", + "RecoveryPointArn" + ], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + }, + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

", + "location":"uri", + "locationName":"recoveryPointArn" + } + } + }, + "DescribeRecoveryPointOutput":{ + "type":"structure", + "members":{ + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + }, + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + }, + "BackupVaultArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

" + }, + "ResourceArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a saved resource. The format of the ARN depends on the resource type.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of AWS resource to save as a recovery point; for example, an Amazon Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.

" + }, + "CreatedBy":{ + "shape":"RecoveryPointCreator", + "documentation":"

Contains identifying information about the creation of a recovery point, including the BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId of the backup plan used to create it.

" + }, + "IamRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

Specifies the IAM role ARN used to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.

" + }, + "Status":{ + "shape":"RecoveryPointStatus", + "documentation":"

A status code specifying the state of the recovery point.

A partial status indicates that the recovery point was not successfully re-created and must be retried.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time that a recovery point is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "CompletionDate":{ + "shape":"timestamp", + "documentation":"

The date and time that a job to create a recovery point is completed, in Unix format and Coordinated Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "BackupSizeInBytes":{ + "shape":"Long", + "documentation":"

The size, in bytes, of a backup.

" + }, + "CalculatedLifecycle":{ + "shape":"CalculatedLifecycle", + "documentation":"

A CalculatedLifecycle object containing DeleteAt and MoveToColdStorageAt timestamps.

" + }, + "Lifecycle":{ + "shape":"Lifecycle", + "documentation":"

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup transitions and expires backups automatically according to the lifecycle that you define.

Backups that are transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

" + }, + "EncryptionKeyArn":{ + "shape":"ARN", + "documentation":"

The server-side encryption key used to protect your backups; for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

" + }, + "IsEncrypted":{ + "shape":"boolean", + "documentation":"

A Boolean value that is returned as TRUE if the specified recovery point is encrypted, or FALSE if the recovery point is not encrypted.

" + }, + "StorageClass":{ + "shape":"StorageClass", + "documentation":"

Specifies the storage class of the recovery point. Valid values are WARM or COLD.

" + }, + "LastRestoreTime":{ + "shape":"timestamp", + "documentation":"

The date and time that a recovery point was last restored, in Unix format and Coordinated Universal Time (UTC). The value of LastRestoreTime is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + } + } + }, + "DescribeRestoreJobInput":{ + "type":"structure", + "required":["RestoreJobId"], + "members":{ + "RestoreJobId":{ + "shape":"RestoreJobId", + "documentation":"

Uniquely identifies the job that restores a recovery point.

", + "location":"uri", + "locationName":"restoreJobId" + } + } + }, + "DescribeRestoreJobOutput":{ + "type":"structure", + "members":{ + "RestoreJobId":{ + "shape":"string", + "documentation":"

Uniquely identifies the job that restores a recovery point.

" + }, + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time that a restore job is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "CompletionDate":{ + "shape":"timestamp", + "documentation":"

The date and time that a job to restore a recovery point is completed, in Unix format and Coordinated Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "Status":{ + "shape":"RestoreJobStatus", + "documentation":"

Status code specifying the state of the job that is initiated by AWS Backup to restore a recovery point.

" + }, + "StatusMessage":{ + "shape":"string", + "documentation":"

A detailed message explaining the status of a job to restore a recovery point.

" + }, + "PercentDone":{ + "shape":"string", + "documentation":"

Contains an estimated percentage that is complete of a job at the time the job status was queried.

" + }, + "BackupSizeInBytes":{ + "shape":"Long", + "documentation":"

The size, in bytes, of the restored resource.

" + }, + "IamRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

Specifies the IAM role ARN used to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.

" + }, + "ExpectedCompletionTimeMinutes":{ + "shape":"Long", + "documentation":"

The amount of time in minutes that a job restoring a recovery point is expected to take.

" + }, + "CreatedResourceArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a resource whose recovery point is being restored. The format of the ARN depends on the resource type of the backed-up resource.

" + } + } + }, + "ExportBackupPlanTemplateInput":{ + "type":"structure", + "required":["BackupPlanId"], + "members":{ + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

", + "location":"uri", + "locationName":"backupPlanId" + } + } + }, + "ExportBackupPlanTemplateOutput":{ + "type":"structure", + "members":{ + "BackupPlanTemplateJson":{ + "shape":"string", + "documentation":"

The body of a backup plan template in JSON format.

This is a signed JSON document that cannot be modified before being passed to GetBackupPlanFromJSON.

" + } + } + }, + "GetBackupPlanFromJSONInput":{ + "type":"structure", + "required":["BackupPlanTemplateJson"], + "members":{ + "BackupPlanTemplateJson":{ + "shape":"string", + "documentation":"

A customer-supplied backup plan document in JSON format.

" + } + } + }, + "GetBackupPlanFromJSONOutput":{ + "type":"structure", + "members":{ + "BackupPlan":{ + "shape":"BackupPlan", + "documentation":"

Specifies the body of a backup plan. Includes a BackupPlanName and one or more sets of Rules.

" + } + } + }, + "GetBackupPlanFromTemplateInput":{ + "type":"structure", + "required":["BackupPlanTemplateId"], + "members":{ + "BackupPlanTemplateId":{ + "shape":"string", + "documentation":"

Uniquely identifies a stored backup plan template.

", + "location":"uri", + "locationName":"templateId" + } + } + }, + "GetBackupPlanFromTemplateOutput":{ + "type":"structure", + "members":{ + "BackupPlanDocument":{ + "shape":"BackupPlan", + "documentation":"

Returns the body of a backup plan based on the target template, including the name, rules, and backup vault of the plan.

" + } + } + }, + "GetBackupPlanInput":{ + "type":"structure", + "required":["BackupPlanId"], + "members":{ + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

", + "location":"uri", + "locationName":"backupPlanId" + }, + "VersionId":{ + "shape":"string", + "documentation":"

Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long. Version IDs cannot be edited.

", + "location":"querystring", + "locationName":"versionId" + } + } + }, + "GetBackupPlanOutput":{ + "type":"structure", + "members":{ + "BackupPlan":{ + "shape":"BackupPlan", + "documentation":"

Specifies the body of a backup plan. Includes a BackupPlanName and one or more sets of Rules.

" + }, + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

" + }, + "BackupPlanArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.

" + }, + "VersionId":{ + "shape":"string", + "documentation":"

Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long. Version IDs cannot be edited.

" + }, + "CreatorRequestId":{ + "shape":"string", + "documentation":"

A unique string that identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time that a backup plan is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "DeletionDate":{ + "shape":"timestamp", + "documentation":"

The date and time that a backup plan is deleted, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "LastExecutionDate":{ + "shape":"timestamp", + "documentation":"

The last time a job to back up resources was executed with this backup plan. A date and time, in Unix format and Coordinated Universal Time (UTC). The value of LastExecutionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + } + } + }, + "GetBackupSelectionInput":{ + "type":"structure", + "required":[ + "BackupPlanId", + "SelectionId" + ], + "members":{ + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

", + "location":"uri", + "locationName":"backupPlanId" + }, + "SelectionId":{ + "shape":"string", + "documentation":"

Uniquely identifies the body of a request to assign a set of resources to a backup plan.

", + "location":"uri", + "locationName":"selectionId" + } + } + }, + "GetBackupSelectionOutput":{ + "type":"structure", + "members":{ + "BackupSelection":{ + "shape":"BackupSelection", + "documentation":"

Specifies the body of a request to assign a set of resources to a backup plan.

It includes an array of resources, an optional array of patterns to exclude resources, an optional role to provide access to the AWS service that the resource belongs to, and an optional array of tags used to identify a set of resources.

" + }, + "SelectionId":{ + "shape":"string", + "documentation":"

Uniquely identifies the body of a request to assign a set of resources to a backup plan.

" + }, + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time a backup selection is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "CreatorRequestId":{ + "shape":"string", + "documentation":"

A unique string that identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

" + } + } + }, + "GetBackupVaultAccessPolicyInput":{ + "type":"structure", + "required":["BackupVaultName"], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + } + } + }, + "GetBackupVaultAccessPolicyOutput":{ + "type":"structure", + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + }, + "BackupVaultArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

" + }, + "Policy":{ + "shape":"IAMPolicy", + "documentation":"

The backup vault access policy document in JSON format.

" + } + } + }, + "GetBackupVaultNotificationsInput":{ + "type":"structure", + "required":["BackupVaultName"], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + } + } + }, + "GetBackupVaultNotificationsOutput":{ + "type":"structure", + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + }, + "BackupVaultArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

" + }, + "SNSTopicArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies an Amazon Simple Notification Service (Amazon SNS) topic; for example, arn:aws:sns:us-west-2:111122223333:MyTopic.

" + }, + "BackupVaultEvents":{ + "shape":"BackupVaultEvents", + "documentation":"

An array of events that indicate the status of jobs to back up resources to the backup vault.

" + } + } + }, + "GetRecoveryPointRestoreMetadataInput":{ + "type":"structure", + "required":[ + "BackupVaultName", + "RecoveryPointArn" + ], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + }, + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

", + "location":"uri", + "locationName":"recoveryPointArn" + } + } + }, + "GetRecoveryPointRestoreMetadataOutput":{ + "type":"structure", + "members":{ + "BackupVaultArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

" + }, + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + }, + "RestoreMetadata":{ + "shape":"Metadata", + "documentation":"

A set of metadata key-value pairs that lists the metadata key-value pairs that are required to restore the recovery point.

" + } + } + }, + "GetSupportedResourceTypesOutput":{ + "type":"structure", + "members":{ + "ResourceTypes":{ + "shape":"ResourceTypes", + "documentation":"

Contains a string with the supported AWS resource types:

  • EBS for Amazon Elastic Block Store

  • SGW for AWS Storage Gateway

  • RDS for Amazon Relational Database Service

  • DDB for Amazon DynamoDB

  • EFS for Amazon Elastic File System

" + } + } + }, + "IAMPolicy":{"type":"string"}, + "IAMRoleArn":{"type":"string"}, + "InvalidParameterValueException":{ + "type":"structure", + "members":{ + "Code":{"shape":"string"}, + "Message":{"shape":"string"}, + "Type":{ + "shape":"string", + "documentation":"

" + }, + "Context":{ + "shape":"string", + "documentation":"

" + } + }, + "documentation":"

Indicates that something is wrong with a parameter's value. For example, the value is out of range.

", + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "Code":{"shape":"string"}, + "Message":{"shape":"string"}, + "Type":{ + "shape":"string", + "documentation":"

" + }, + "Context":{ + "shape":"string", + "documentation":"

" + } + }, + "documentation":"

Indicates that something is wrong with the input to the request. For example, a parameter is of the wrong type.

", + "exception":true + }, + "Lifecycle":{ + "type":"structure", + "members":{ + "MoveToColdStorageAfterDays":{ + "shape":"Long", + "documentation":"

Specifies the number of days after creation that a recovery point is moved to cold storage.

" + }, + "DeleteAfterDays":{ + "shape":"Long", + "documentation":"

Specifies the number of days after creation that a recovery point is deleted. Must be greater than MoveToColdStorageAfterDays.

" + } + }, + "documentation":"

Contains an array of Transition objects specifying how long in days before a recovery point transitions to cold storage or is deleted.

" + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Code":{"shape":"string"}, + "Message":{"shape":"string"}, + "Type":{ + "shape":"string", + "documentation":"

" + }, + "Context":{ + "shape":"string", + "documentation":"

" + } + }, + "documentation":"

A limit in the request has been exceeded; for example, a maximum number of items allowed in a request.

", + "exception":true + }, + "ListBackupJobsInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to be returned.

", + "location":"querystring", + "locationName":"maxResults" + }, + "ByResourceArn":{ + "shape":"ARN", + "documentation":"

Returns only backup jobs that match the specified resource Amazon Resource Name (ARN).

", + "location":"querystring", + "locationName":"resourceArn" + }, + "ByState":{ + "shape":"BackupJobState", + "documentation":"

Returns only backup jobs that are in the specified state.

", + "location":"querystring", + "locationName":"state" + }, + "ByBackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

Returns only backup jobs that will be stored in the specified backup vault. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"querystring", + "locationName":"backupVaultName" + }, + "ByCreatedBefore":{ + "shape":"timestamp", + "documentation":"

Returns only backup jobs that were created before the specified date.

", + "location":"querystring", + "locationName":"createdBefore" + }, + "ByCreatedAfter":{ + "shape":"timestamp", + "documentation":"

Returns only backup jobs that were created after the specified date.

", + "location":"querystring", + "locationName":"createdAfter" + }, + "ByResourceType":{ + "shape":"ResourceType", + "documentation":"

Returns only backup jobs for the specified resources:

  • EBS for Amazon Elastic Block Store

  • SGW for AWS Storage Gateway

  • RDS for Amazon Relational Database Service

  • DDB for Amazon DynamoDB

  • EFS for Amazon Elastic File System

", + "location":"querystring", + "locationName":"resourceType" + } + } + }, + "ListBackupJobsOutput":{ + "type":"structure", + "members":{ + "BackupJobs":{ + "shape":"BackupJobsList", + "documentation":"

An array of structures containing metadata about your backup jobs returned in JSON format.

" + }, + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

" + } + } + }, + "ListBackupPlanTemplatesInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to be returned.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListBackupPlanTemplatesOutput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

" + }, + "BackupPlanTemplatesList":{ + "shape":"BackupPlanTemplatesList", + "documentation":"

An array of template list items containing metadata about your saved templates.

" + } + } + }, + "ListBackupPlanVersionsInput":{ + "type":"structure", + "required":["BackupPlanId"], + "members":{ + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

", + "location":"uri", + "locationName":"backupPlanId" + }, + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to be returned.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListBackupPlanVersionsOutput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

" + }, + "BackupPlanVersionsList":{ + "shape":"BackupPlanVersionsList", + "documentation":"

An array of version list items containing metadata about your backup plans.

" + } + } + }, + "ListBackupPlansInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to be returned.

", + "location":"querystring", + "locationName":"maxResults" + }, + "IncludeDeleted":{ + "shape":"Boolean", + "documentation":"

A Boolean value with a default value of FALSE that returns deleted backup plans when set to TRUE.

", + "location":"querystring", + "locationName":"includeDeleted" + } + } + }, + "ListBackupPlansOutput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

" + }, + "BackupPlansList":{ + "shape":"BackupPlansList", + "documentation":"

An array of backup plan list items containing metadata about your saved backup plans.

" + } + } + }, + "ListBackupSelectionsInput":{ + "type":"structure", + "required":["BackupPlanId"], + "members":{ + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

", + "location":"uri", + "locationName":"backupPlanId" + }, + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to be returned.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListBackupSelectionsOutput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

" + }, + "BackupSelectionsList":{ + "shape":"BackupSelectionsList", + "documentation":"

An array of backup selection list items containing metadata about each resource in the list.

" + } + } + }, + "ListBackupVaultsInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to be returned.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListBackupVaultsOutput":{ + "type":"structure", + "members":{ + "BackupVaultList":{ + "shape":"BackupVaultList", + "documentation":"

An array of backup vault list members containing vault metadata, including Amazon Resource Name (ARN), display name, creation date, number of saved recovery points, and encryption information if the resources saved in the backup vault are encrypted.

" + }, + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

" + } + } + }, + "ListOfTags":{ + "type":"list", + "member":{"shape":"Condition"} + }, + "ListProtectedResourcesInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to be returned.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListProtectedResourcesOutput":{ + "type":"structure", + "members":{ + "Results":{ + "shape":"ProtectedResourcesList", + "documentation":"

An array of resources successfully backed up by AWS Backup including the time the resource was saved, an Amazon Resource Name (ARN) of the resource, and a resource type.

" + }, + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

" + } + } + }, + "ListRecoveryPointsByBackupVaultInput":{ + "type":"structure", + "required":["BackupVaultName"], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + }, + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to be returned.

", + "location":"querystring", + "locationName":"maxResults" + }, + "ByResourceArn":{ + "shape":"ARN", + "documentation":"

Returns only recovery points that match the specified resource Amazon Resource Name (ARN).

", + "location":"querystring", + "locationName":"resourceArn" + }, + "ByResourceType":{ + "shape":"ResourceType", + "documentation":"

Returns only recovery points that match the specified resource type.

", + "location":"querystring", + "locationName":"resourceType" + }, + "ByBackupPlanId":{ + "shape":"string", + "documentation":"

Returns only recovery points that match the specified backup plan ID.

", + "location":"querystring", + "locationName":"backupPlanId" + }, + "ByCreatedBefore":{ + "shape":"timestamp", + "documentation":"

Returns only recovery points that were created before the specified timestamp.

", + "location":"querystring", + "locationName":"createdBefore" + }, + "ByCreatedAfter":{ + "shape":"timestamp", + "documentation":"

Returns only recovery points that were created after the specified timestamp.

", + "location":"querystring", + "locationName":"createdAfter" + } + } + }, + "ListRecoveryPointsByBackupVaultOutput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

" + }, + "RecoveryPoints":{ + "shape":"RecoveryPointByBackupVaultList", + "documentation":"

An array of objects that contain detailed information about recovery points saved in a backup vault.

" + } + } + }, + "ListRecoveryPointsByResourceInput":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a resource. The format of the ARN depends on the resource type.

", + "location":"uri", + "locationName":"resourceArn" + }, + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to be returned.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListRecoveryPointsByResourceOutput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

" + }, + "RecoveryPoints":{ + "shape":"RecoveryPointByResourceList", + "documentation":"

An array of objects that contain detailed information about recovery points of the specified resource type.

" + } + } + }, + "ListRestoreJobsInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to be returned.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListRestoreJobsOutput":{ + "type":"structure", + "members":{ + "RestoreJobs":{ + "shape":"RestoreJobsList", + "documentation":"

An array of objects that contain detailed information about jobs to restore saved resources.

" + }, + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

" + } + } + }, + "ListTagsInput":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the type of resource. Valid targets for ListTags are recovery points, backup plans, and backup vaults.

", + "location":"uri", + "locationName":"resourceArn" + }, + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to be returned.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListTagsOutput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

To help organize your resources, you can assign your own metadata to the resources you create. Each tag is a key-value pair.

" + } + } + }, + "Long":{"type":"long"}, + "MaxResults":{ + "type":"integer", + "max":1000, + "min":1 + }, + "Metadata":{ + "type":"map", + "key":{"shape":"MetadataKey"}, + "value":{"shape":"MetadataValue"} + }, + "MetadataKey":{"type":"string"}, + "MetadataValue":{"type":"string"}, + "MissingParameterValueException":{ + "type":"structure", + "members":{ + "Code":{"shape":"string"}, + "Message":{"shape":"string"}, + "Type":{ + "shape":"string", + "documentation":"

" + }, + "Context":{ + "shape":"string", + "documentation":"

" + } + }, + "documentation":"

Indicates that a required parameter is missing.

", + "exception":true + }, + "ProtectedResource":{ + "type":"structure", + "members":{ + "ResourceArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of AWS resource; for example, an Amazon Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.

" + }, + "LastBackupTime":{ + "shape":"timestamp", + "documentation":"

The date and time a resource was last backed up, in Unix format and Coordinated Universal Time (UTC). The value of LastBackupTime is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + } + }, + "documentation":"

A structure that contains information about a backed-up resource.

" + }, + "ProtectedResourcesList":{ + "type":"list", + "member":{"shape":"ProtectedResource"} + }, + "PutBackupVaultAccessPolicyInput":{ + "type":"structure", + "required":["BackupVaultName"], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + }, + "Policy":{ + "shape":"IAMPolicy", + "documentation":"

The backup vault access policy document in JSON format.

" + } + } + }, + "PutBackupVaultNotificationsInput":{ + "type":"structure", + "required":[ + "BackupVaultName", + "SNSTopicArn", + "BackupVaultEvents" + ], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + }, + "SNSTopicArn":{ + "shape":"ARN", + "documentation":"

The Amazon Resource Name (ARN) that specifies the topic for a backup vault’s events; for example, arn:aws:sns:us-west-2:111122223333:MyVaultTopic.

" + }, + "BackupVaultEvents":{ + "shape":"BackupVaultEvents", + "documentation":"

An array of events that indicate the status of jobs to back up resources to the backup vault.

" + } + } + }, + "RecoveryPointByBackupVault":{ + "type":"structure", + "members":{ + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + }, + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + }, + "BackupVaultArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

" + }, + "ResourceArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a resource. The format of the ARN depends on the resource type.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of AWS resource saved as a recovery point; for example, an Amazon Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.

" + }, + "CreatedBy":{ + "shape":"RecoveryPointCreator", + "documentation":"

Contains identifying information about the creation of a recovery point, including the BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId of the backup plan that is used to create it.

" + }, + "IamRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

Specifies the IAM role ARN used to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.

" + }, + "Status":{ + "shape":"RecoveryPointStatus", + "documentation":"

A status code specifying the state of the recovery point.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time a recovery point is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "CompletionDate":{ + "shape":"timestamp", + "documentation":"

The date and time a job to restore a recovery point is completed, in Unix format and Coordinated Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "BackupSizeInBytes":{ + "shape":"Long", + "documentation":"

The size, in bytes, of a backup.

" + }, + "CalculatedLifecycle":{ + "shape":"CalculatedLifecycle", + "documentation":"

A CalculatedLifecycle object containing DeleteAt and MoveToColdStorageAt timestamps.

" + }, + "Lifecycle":{ + "shape":"Lifecycle", + "documentation":"

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup transitions and expires backups automatically according to the lifecycle that you define.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

" + }, + "EncryptionKeyArn":{ + "shape":"ARN", + "documentation":"

The server-side encryption key that is used to protect your backups; for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

" + }, + "IsEncrypted":{ + "shape":"boolean", + "documentation":"

A Boolean value that is returned as TRUE if the specified recovery point is encrypted, or FALSE if the recovery point is not encrypted.

" + }, + "LastRestoreTime":{ + "shape":"timestamp", + "documentation":"

The date and time a recovery point was last restored, in Unix format and Coordinated Universal Time (UTC). The value of LastRestoreTime is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + } + }, + "documentation":"

Contains detailed information about the recovery points stored in a backup vault.

" + }, + "RecoveryPointByBackupVaultList":{ + "type":"list", + "member":{"shape":"RecoveryPointByBackupVault"} + }, + "RecoveryPointByResource":{ + "type":"structure", + "members":{ + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time a recovery point is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "Status":{ + "shape":"RecoveryPointStatus", + "documentation":"

A status code specifying the state of the recovery point.

" + }, + "EncryptionKeyArn":{ + "shape":"ARN", + "documentation":"

The server-side encryption key that is used to protect your backups; for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

" + }, + "BackupSizeBytes":{ + "shape":"Long", + "documentation":"

The size, in bytes, of a backup.

" + }, + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + } + }, + "documentation":"

Contains detailed information about a saved recovery point.

" + }, + "RecoveryPointByResourceList":{ + "type":"list", + "member":{"shape":"RecoveryPointByResource"} + }, + "RecoveryPointCreator":{ + "type":"structure", + "members":{ + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

" + }, + "BackupPlanArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.

" + }, + "BackupPlanVersion":{ + "shape":"string", + "documentation":"

Version IDs are unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long. They cannot be edited.

" + }, + "BackupRuleId":{ + "shape":"string", + "documentation":"

Uniquely identifies a rule used to schedule the backup of a selection of resources.

" + } + }, + "documentation":"

Contains information about the backup plan and rule that AWS Backup used to initiate the recovery point backup.

" + }, + "RecoveryPointStatus":{ + "type":"string", + "enum":[ + "COMPLETED", + "PARTIAL", + "DELETING", + "EXPIRED" + ] + }, + "ResourceArns":{ + "type":"list", + "member":{"shape":"ARN"} + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Code":{"shape":"string"}, + "Message":{"shape":"string"}, + "Type":{ + "shape":"string", + "documentation":"

" + }, + "Context":{ + "shape":"string", + "documentation":"

" + } + }, + "documentation":"

A resource that is required for the action doesn't exist.

", + "exception":true + }, + "ResourceType":{ + "type":"string", + "pattern":"^[a-zA-Z0-9\\-\\_\\.]{1,50}$" + }, + "ResourceTypes":{ + "type":"list", + "member":{"shape":"ResourceType"} + }, + "RestoreJobId":{"type":"string"}, + "RestoreJobStatus":{ + "type":"string", + "enum":[ + "PENDING", + "RUNNING", + "COMPLETED", + "ABORTED", + "FAILED" + ] + }, + "RestoreJobsList":{ + "type":"list", + "member":{"shape":"RestoreJobsListMember"} + }, + "RestoreJobsListMember":{ + "type":"structure", + "members":{ + "RestoreJobId":{ + "shape":"string", + "documentation":"

Uniquely identifies the job that restores a recovery point.

" + }, + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time a restore job is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "CompletionDate":{ + "shape":"timestamp", + "documentation":"

The date and time a job to restore a recovery point is completed, in Unix format and Coordinated Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "Status":{ + "shape":"RestoreJobStatus", + "documentation":"

A status code specifying the state of the job initiated by AWS Backup to restore a recovery point.

" + }, + "StatusMessage":{ + "shape":"string", + "documentation":"

A detailed message explaining the status of the job to restore a recovery point.

" + }, + "PercentDone":{ + "shape":"string", + "documentation":"

Contains an estimated percentage complete of a job at the time the job status was queried.

" + }, + "BackupSizeInBytes":{ + "shape":"Long", + "documentation":"

The size, in bytes, of the restored resource.

" + }, + "IamRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

Specifies the IAM role ARN used to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.

" + }, + "ExpectedCompletionTimeMinutes":{ + "shape":"Long", + "documentation":"

The amount of time in minutes that a job restoring a recovery point is expected to take.

" + }, + "CreatedResourceArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.

" + } + }, + "documentation":"

Contains metadata about a restore job.

" + }, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "Code":{"shape":"string"}, + "Message":{"shape":"string"}, + "Type":{ + "shape":"string", + "documentation":"

" + }, + "Context":{ + "shape":"string", + "documentation":"

" + } + }, + "documentation":"

The request failed due to a temporary failure of the server.

", + "exception":true, + "fault":true + }, + "StartBackupJobInput":{ + "type":"structure", + "required":[ + "BackupVaultName", + "ResourceArn", + "IamRoleArn" + ], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + }, + "ResourceArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.

" + }, + "IamRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

Specifies the IAM role ARN used to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.

" + }, + "IdempotencyToken":{ + "shape":"string", + "documentation":"

A customer chosen string that can be used to distinguish between calls to StartBackupJob. Idempotency tokens time out after one hour. Therefore, if you call StartBackupJob multiple times with the same idempotency token within one hour, AWS Backup recognizes that you are requesting only one backup job and initiates only one. If you change the idempotency token for each call, AWS Backup recognizes that you are requesting to start multiple backups.

" + }, + "StartWindowMinutes":{ + "shape":"WindowMinutes", + "documentation":"

The amount of time in minutes before beginning a backup.

" + }, + "CompleteWindowMinutes":{ + "shape":"WindowMinutes", + "documentation":"

The amount of time AWS Backup attempts a backup before canceling the job and returning an error.

" + }, + "Lifecycle":{ + "shape":"Lifecycle", + "documentation":"

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup will transition and expire backups automatically according to the lifecycle that you define.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

" + }, + "RecoveryPointTags":{ + "shape":"Tags", + "documentation":"

To help organize your resources, you can assign your own metadata to the resources that you create. Each tag is a key-value pair.

" + } + } + }, + "StartBackupJobOutput":{ + "type":"structure", + "members":{ + "BackupJobId":{ + "shape":"string", + "documentation":"

Uniquely identifies a request to AWS Backup to back up a resource.

" + }, + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time that a backup job is started, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + } + } + }, + "StartRestoreJobInput":{ + "type":"structure", + "required":[ + "RecoveryPointArn", + "Metadata", + "IamRoleArn" + ], + "members":{ + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + }, + "Metadata":{ + "shape":"Metadata", + "documentation":"

A set of metadata key-value pairs. Lists the metadata that the recovery point was created with.

" + }, + "IamRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role that AWS Backup uses to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.

" + }, + "IdempotencyToken":{ + "shape":"string", + "documentation":"

A customer chosen string that can be used to distinguish between calls to StartRestoreJob. Idempotency tokens time out after one hour. Therefore, if you call StartRestoreJob multiple times with the same idempotency token within one hour, AWS Backup recognizes that you are requesting only one restore job and initiates only one. If you change the idempotency token for each call, AWS Backup recognizes that you are requesting to start multiple restores.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

Starts a job to restore a recovery point for one of the following resources:

  • EBS for Amazon Elastic Block Store

  • SGW for AWS Storage Gateway

  • RDS for Amazon Relational Database Service

  • DDB for Amazon DynamoDB

  • EFS for Amazon Elastic File System

" + } + } + }, + "StartRestoreJobOutput":{ + "type":"structure", + "members":{ + "RestoreJobId":{ + "shape":"RestoreJobId", + "documentation":"

Uniquely identifies the job that restores a recovery point.

" + } + } + }, + "StopBackupJobInput":{ + "type":"structure", + "required":["BackupJobId"], + "members":{ + "BackupJobId":{ + "shape":"string", + "documentation":"

Uniquely identifies a request to AWS Backup to back up a resource.

", + "location":"uri", + "locationName":"backupJobId" + } + } + }, + "StorageClass":{ + "type":"string", + "enum":[ + "WARM", + "COLD", + "DELETED" + ] + }, + "TagKey":{"type":"string"}, + "TagKeyList":{ + "type":"list", + "member":{"shape":"string"}, + "sensitive":true + }, + "TagResourceInput":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a resource. The format of the ARN depends on the type of the tagged resource.

", + "location":"uri", + "locationName":"resourceArn" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

Key-value pairs that are used to help organize your resources. You can assign your own metadata to the resources you create.

" + } + } + }, + "TagValue":{"type":"string"}, + "Tags":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "sensitive":true + }, + "UntagResourceInput":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeyList" + ], + "members":{ + "ResourceArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a resource. The format of the ARN depends on the type of the tagged resource.

", + "location":"uri", + "locationName":"resourceArn" + }, + "TagKeyList":{ + "shape":"TagKeyList", + "documentation":"

A list of keys to identify which key-value tags to remove from a resource.

" + } + } + }, + "UpdateBackupPlanInput":{ + "type":"structure", + "required":[ + "BackupPlanId", + "BackupPlan" + ], + "members":{ + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

", + "location":"uri", + "locationName":"backupPlanId" + }, + "BackupPlan":{ + "shape":"BackupPlanInput", + "documentation":"

Specifies the body of a backup plan. Includes a BackupPlanName and one or more sets of Rules.

" + } + } + }, + "UpdateBackupPlanOutput":{ + "type":"structure", + "members":{ + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

" + }, + "BackupPlanArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time a backup plan is updated, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "VersionId":{ + "shape":"string", + "documentation":"

Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long. Version Ids cannot be edited.

" + } + } + }, + "UpdateRecoveryPointLifecycleInput":{ + "type":"structure", + "required":[ + "BackupVaultName", + "RecoveryPointArn" + ], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + }, + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

", + "location":"uri", + "locationName":"recoveryPointArn" + }, + "Lifecycle":{ + "shape":"Lifecycle", + "documentation":"

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup transitions and expires backups automatically according to the lifecycle that you define.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

" + } + } + }, + "UpdateRecoveryPointLifecycleOutput":{ + "type":"structure", + "members":{ + "BackupVaultArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

" + }, + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + }, + "Lifecycle":{ + "shape":"Lifecycle", + "documentation":"

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup transitions and expires backups automatically according to the lifecycle that you define.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

" + }, + "CalculatedLifecycle":{ + "shape":"CalculatedLifecycle", + "documentation":"

A CalculatedLifecycle object containing DeleteAt and MoveToColdStorageAt timestamps.

" + } + } + }, + "WindowMinutes":{"type":"long"}, + "boolean":{"type":"boolean"}, + "long":{"type":"long"}, + "string":{"type":"string"}, + "timestamp":{"type":"timestamp"} + }, + "documentation":"AWS Backup

AWS Backup is a unified backup service designed to protect AWS services and their associated data. AWS Backup simplifies the creation, migration, restoration, and deletion of backups, while also providing reporting and auditing.

" +} diff --git a/bin/botocore/data/batch/2016-08-10/paginators-1.json b/bin/botocore/data/batch/2016-08-10/paginators-1.json index ea142457..ca39096b 100644 --- a/bin/botocore/data/batch/2016-08-10/paginators-1.json +++ b/bin/botocore/data/batch/2016-08-10/paginators-1.json @@ -1,3 +1,28 @@ { - "pagination": {} + "pagination": { + "DescribeComputeEnvironments": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "computeEnvironments" + }, + "DescribeJobDefinitions": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "jobDefinitions" + }, + "DescribeJobQueues": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "jobQueues" + }, + "ListJobs": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "jobSummaryList" + } + } } diff --git a/bin/botocore/data/batch/2016-08-10/service-2.json b/bin/botocore/data/batch/2016-08-10/service-2.json index ef4fd972..7b3f7506 100644 --- a/bin/botocore/data/batch/2016-08-10/service-2.json +++ b/bin/botocore/data/batch/2016-08-10/service-2.json @@ -38,7 +38,7 @@ {"shape":"ClientException"}, {"shape":"ServerException"} ], - "documentation":"

Creates an AWS Batch compute environment. You can create MANAGED or UNMANAGED compute environments.

In a managed compute environment, AWS Batch manages the capacity and instance types of the compute resources within the environment. This is based on the compute resource specification that you define or the launch template that you specify when you create the compute environment. You can choose to use Amazon EC2 On-Demand Instances or Spot Instances in your managed compute environment. You can optionally set a maximum price so that Spot Instances only launch when the Spot Instance price is below a specified percentage of the On-Demand price.

Multi-node parallel jobs are not supported on Spot Instances.

In an unmanaged compute environment, you can manage your own compute resources. This provides more compute resource configuration options, such as using a custom AMI, but you must ensure that your AMI meets the Amazon ECS container instance AMI specification. For more information, see Container Instance AMIs in the Amazon Elastic Container Service Developer Guide. After you have created your unmanaged compute environment, you can use the DescribeComputeEnvironments operation to find the Amazon ECS cluster that is associated with it. Then, manually launch your container instances into that Amazon ECS cluster. For more information, see Launching an Amazon ECS Container Instance in the Amazon Elastic Container Service Developer Guide.

AWS Batch does not upgrade the AMIs in a compute environment after it is created (for example, when a newer version of the Amazon ECS-optimized AMI is available). You are responsible for the management of the guest operating system (including updates and security patches) and any additional application software or utilities that you install on the compute resources. To use a new AMI for your AWS Batch jobs:

  1. Create a new compute environment with the new AMI.

  2. Add the compute environment to an existing job queue.

  3. Remove the old compute environment from your job queue.

  4. Delete the old compute environment.

" + "documentation":"

Creates an AWS Batch compute environment. You can create MANAGED or UNMANAGED compute environments.

In a managed compute environment, AWS Batch manages the capacity and instance types of the compute resources within the environment. This is based on the compute resource specification that you define or the launch template that you specify when you create the compute environment. You can choose to use Amazon EC2 On-Demand Instances or Spot Instances in your managed compute environment. You can optionally set a maximum price so that Spot Instances only launch when the Spot Instance price is below a specified percentage of the On-Demand price.

Multi-node parallel jobs are not supported on Spot Instances.

In an unmanaged compute environment, you can manage your own compute resources. This provides more compute resource configuration options, such as using a custom AMI, but you must ensure that your AMI meets the Amazon ECS container instance AMI specification. For more information, see Container Instance AMIs in the Amazon Elastic Container Service Developer Guide. After you have created your unmanaged compute environment, you can use the DescribeComputeEnvironments operation to find the Amazon ECS cluster that is associated with it. Then, manually launch your container instances into that Amazon ECS cluster. For more information, see Launching an Amazon ECS Container Instance in the Amazon Elastic Container Service Developer Guide.

AWS Batch does not upgrade the AMIs in a compute environment after it is created (for example, when a newer version of the Amazon ECS-optimized AMI is available). You are responsible for the management of the guest operating system (including updates and security patches) and any additional application software or utilities that you install on the compute resources. To use a new AMI for your AWS Batch jobs:

  1. Create a new compute environment with the new AMI.

  2. Add the compute environment to an existing job queue.

  3. Remove the old compute environment from your job queue.

  4. Delete the old compute environment.

" }, "CreateJobQueue":{ "name":"CreateJobQueue", @@ -498,7 +498,7 @@ "members":{ "type":{ "shape":"CRType", - "documentation":"

The type of compute environment.

" + "documentation":"

The type of compute environment: EC2 or SPOT.

" }, "minvCpus":{ "shape":"Integer", @@ -514,7 +514,7 @@ }, "instanceTypes":{ "shape":"StringList", - "documentation":"

The instances types that may be launched. You can specify instance families to launch any instance type within those families (for example, c4 or p3), or you can specify specific sizes within a family (such as c4.8xlarge). You can also choose optimal to pick instance types (from the latest C, M, and R instance families) on the fly that match the demand of your job queues.

" + "documentation":"

The instances types that may be launched. You can specify instance families to launch any instance type within those families (for example, c4 or p3), or you can specify specific sizes within a family (such as c4.8xlarge). You can also choose optimal to pick instance types (from the C, M, and R instance families) on the fly that match the demand of your job queues.

" }, "imageId":{ "shape":"String", @@ -534,15 +534,15 @@ }, "instanceRole":{ "shape":"String", - "documentation":"

The Amazon ECS instance profile applied to Amazon EC2 instances in a compute environment. You can specify the short name or full Amazon Resource Name (ARN) of an instance profile. For example, ecsInstanceRole or arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole. For more information, see Amazon ECS Instance Role in the AWS Batch User Guide.

" + "documentation":"

The Amazon ECS instance profile applied to Amazon EC2 instances in a compute environment. You can specify the short name or full Amazon Resource Name (ARN) of an instance profile. For example, ecsInstanceRole or arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole . For more information, see Amazon ECS Instance Role in the AWS Batch User Guide.

" }, "tags":{ "shape":"TagsMap", - "documentation":"

Key-value pair tags to be applied to resources that are launched in the compute environment.

" + "documentation":"

Key-value pair tags to be applied to resources that are launched in the compute environment. For AWS Batch, these take the form of \"String1\": \"String2\", where String1 is the tag key and String2 is the tag value—for example, { \"Name\": \"AWS Batch Instance - C4OnDemand\" }.

" }, "placementGroup":{ "shape":"String", - "documentation":"

The Amazon EC2 placement group to associate with your compute resources. If you intend to submit multi-node parallel jobs to your compute environment, you should consider creating a cluster placement group and associate it with your compute resources. This keeps your multi-node parallel job on a logical grouping of instances within a single Availability Zone with high network flow potential. For more information, see Placement Groups in the Amazon EC2 User Guide for Linux Instances.

" + "documentation":"

The Amazon EC2 placement group to associate with your compute resources. If you intend to submit multi-node parallel jobs to your compute environment, you should consider creating a cluster placement group and associate it with your compute resources. This keeps your multi-node parallel job on a logical grouping of instances within a single Availability Zone with high network flow potential. For more information, see Placement Groups in the Amazon EC2 User Guide for Linux Instances.

" }, "bidPercentage":{ "shape":"Integer", @@ -550,11 +550,11 @@ }, "spotIamFleetRole":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied to a SPOT compute environment.

" + "documentation":"

The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied to a SPOT compute environment. For more information, see Amazon EC2 Spot Fleet Role in the AWS Batch User Guide.

" }, "launchTemplate":{ "shape":"LaunchTemplateSpecification", - "documentation":"

The launch template to use for your compute resources. Any other compute resource parameters that you specify in a CreateComputeEnvironment API operation override the same parameters in the launch template. You must specify either the launch template ID or launch template name in the request, but not both.

" + "documentation":"

The launch template to use for your compute resources. Any other compute resource parameters that you specify in a CreateComputeEnvironment API operation override the same parameters in the launch template. You must specify either the launch template ID or launch template name in the request, but not both. For more information, see Launch Template Support in the AWS Batch User Guide.

" } }, "documentation":"

An object representing an AWS Batch compute resource.

" @@ -655,6 +655,10 @@ "networkInterfaces":{ "shape":"NetworkInterfaceList", "documentation":"

The network interfaces associated with the job.

" + }, + "resourceRequirements":{ + "shape":"ResourceRequirements", + "documentation":"

The type and amount of a resource to assign to a container. Currently, the only supported resource is GPU.

" } }, "documentation":"

An object representing the details of a container that is part of a job.

" @@ -681,6 +685,10 @@ "environment":{ "shape":"EnvironmentVariables", "documentation":"

The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the job definition.

Environment variables must not start with AWS_BATCH; this naming convention is reserved for variables that are set by the AWS Batch service.

" + }, + "resourceRequirements":{ + "shape":"ResourceRequirements", + "documentation":"

The type and amount of a resource to assign to a container. This value overrides the value set in the job definition. Currently, the only supported resource is GPU.

" } }, "documentation":"

The overrides that should be sent to a container.

" @@ -690,19 +698,19 @@ "members":{ "image":{ "shape":"String", - "documentation":"

The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker Hub registry are available by default. Other repositories are specified with repository-url/image:tag . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the Create a container section of the Docker Remote API and the IMAGE parameter of docker run.

  • Images in Amazon ECR repositories use the full registry and repository URI (for example, 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>).

  • Images in official repositories on Docker Hub use a single name (for example, ubuntu or mongo).

  • Images in other repositories on Docker Hub are qualified with an organization name (for example, amazon/amazon-ecs-agent).

  • Images in other online repositories are qualified further by a domain name (for example, quay.io/assemblyline/ubuntu).

" + "documentation":"

The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker Hub registry are available by default. Other repositories are specified with repository-url/image:tag . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the Create a container section of the Docker Remote API and the IMAGE parameter of docker run.

  • Images in Amazon ECR repositories use the full registry and repository URI (for example, 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>).

  • Images in official repositories on Docker Hub use a single name (for example, ubuntu or mongo).

  • Images in other repositories on Docker Hub are qualified with an organization name (for example, amazon/amazon-ecs-agent).

  • Images in other online repositories are qualified further by a domain name (for example, quay.io/assemblyline/ubuntu).

" }, "vcpus":{ "shape":"Integer", - "documentation":"

The number of vCPUs reserved for the container. This parameter maps to CpuShares in the Create a container section of the Docker Remote API and the --cpu-shares option to docker run. Each vCPU is equivalent to 1,024 CPU shares. You must specify at least one vCPU.

" + "documentation":"

The number of vCPUs reserved for the container. This parameter maps to CpuShares in the Create a container section of the Docker Remote API and the --cpu-shares option to docker run. Each vCPU is equivalent to 1,024 CPU shares. You must specify at least one vCPU.

" }, "memory":{ "shape":"Integer", - "documentation":"

The hard limit (in MiB) of memory to present to the container. If your container attempts to exceed the memory specified here, the container is killed. This parameter maps to Memory in the Create a container section of the Docker Remote API and the --memory option to docker run. You must specify at least 4 MiB of memory for a job.

If you are trying to maximize your resource utilization by providing your jobs as much memory as possible for a particular instance type, see Memory Management in the AWS Batch User Guide.

" + "documentation":"

The hard limit (in MiB) of memory to present to the container. If your container attempts to exceed the memory specified here, the container is killed. This parameter maps to Memory in the Create a container section of the Docker Remote API and the --memory option to docker run. You must specify at least 4 MiB of memory for a job.

If you are trying to maximize your resource utilization by providing your jobs as much memory as possible for a particular instance type, see Memory Management in the AWS Batch User Guide.

" }, "command":{ "shape":"StringList", - "documentation":"

The command that is passed to the container. This parameter maps to Cmd in the Create a container section of the Docker Remote API and the COMMAND parameter to docker run. For more information, see https://docs.docker.com/engine/reference/builder/#cmd.

" + "documentation":"

The command that is passed to the container. This parameter maps to Cmd in the Create a container section of the Docker Remote API and the COMMAND parameter to docker run. For more information, see https://docs.docker.com/engine/reference/builder/#cmd.

" }, "jobRoleArn":{ "shape":"String", @@ -714,31 +722,35 @@ }, "environment":{ "shape":"EnvironmentVariables", - "documentation":"

The environment variables to pass to a container. This parameter maps to Env in the Create a container section of the Docker Remote API and the --env option to docker run.

We do not recommend using plaintext environment variables for sensitive information, such as credential data.

Environment variables must not start with AWS_BATCH; this naming convention is reserved for variables that are set by the AWS Batch service.

" + "documentation":"

The environment variables to pass to a container. This parameter maps to Env in the Create a container section of the Docker Remote API and the --env option to docker run.

We do not recommend using plaintext environment variables for sensitive information, such as credential data.

Environment variables must not start with AWS_BATCH; this naming convention is reserved for variables that are set by the AWS Batch service.

" }, "mountPoints":{ "shape":"MountPoints", - "documentation":"

The mount points for data volumes in your container. This parameter maps to Volumes in the Create a container section of the Docker Remote API and the --volume option to docker run.

" + "documentation":"

The mount points for data volumes in your container. This parameter maps to Volumes in the Create a container section of the Docker Remote API and the --volume option to docker run.

" }, "readonlyRootFilesystem":{ "shape":"Boolean", - "documentation":"

When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ReadonlyRootfs in the Create a container section of the Docker Remote API and the --read-only option to docker run.

" + "documentation":"

When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ReadonlyRootfs in the Create a container section of the Docker Remote API and the --read-only option to docker run.

" }, "privileged":{ "shape":"Boolean", - "documentation":"

When this parameter is true, the container is given elevated privileges on the host container instance (similar to the root user). This parameter maps to Privileged in the Create a container section of the Docker Remote API and the --privileged option to docker run.

" + "documentation":"

When this parameter is true, the container is given elevated privileges on the host container instance (similar to the root user). This parameter maps to Privileged in the Create a container section of the Docker Remote API and the --privileged option to docker run.

" }, "ulimits":{ "shape":"Ulimits", - "documentation":"

A list of ulimits to set in the container. This parameter maps to Ulimits in the Create a container section of the Docker Remote API and the --ulimit option to docker run.

" + "documentation":"

A list of ulimits to set in the container. This parameter maps to Ulimits in the Create a container section of the Docker Remote API and the --ulimit option to docker run.

" }, "user":{ "shape":"String", - "documentation":"

The user name to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run.

" + "documentation":"

The user name to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run.

" }, "instanceType":{ "shape":"String", "documentation":"

The instance type to use for a multi-node parallel job. Currently all node groups in a multi-node parallel job must use the same instance type. This parameter is not valid for single-node container jobs.

" + }, + "resourceRequirements":{ + "shape":"ResourceRequirements", + "documentation":"

The type and amount of a resource to assign to a container. Currently, the only supported resource is GPU.

" } }, "documentation":"

Container properties are used in job definitions to describe the container that is launched as part of a job.

" @@ -771,7 +783,7 @@ }, "type":{ "shape":"CEType", - "documentation":"

The type of the compute environment. For more information, see Compute Environments in the AWS Batch User Guide.

" + "documentation":"

The type of the compute environment. For more information, see Compute Environments in the AWS Batch User Guide.

" }, "state":{ "shape":"CEState", @@ -779,7 +791,7 @@ }, "computeResources":{ "shape":"ComputeResource", - "documentation":"

Details of the compute resources managed by the compute environment. This parameter is required for managed compute environments.

" + "documentation":"

Details of the compute resources managed by the compute environment. This parameter is required for managed compute environments. For more information, see Compute Environments in the AWS Batch User Guide.

" }, "serviceRole":{ "shape":"String", @@ -923,7 +935,7 @@ "members":{ "jobDefinitions":{ "shape":"StringList", - "documentation":"

A space-separated list of up to 100 job definition names or full Amazon Resource Name (ARN) entries.

" + "documentation":"

A list of up to 100 job definition names or full Amazon Resource Name (ARN) entries.

" }, "maxResults":{ "shape":"Integer", @@ -992,7 +1004,7 @@ "members":{ "jobs":{ "shape":"StringList", - "documentation":"

A space-separated list of up to 100 job IDs.

" + "documentation":"

A list of up to 100 job IDs.

" } } }, @@ -1014,10 +1026,10 @@ "members":{ "sourcePath":{ "shape":"String", - "documentation":"

The path on the host container instance that is presented to the container. If this parameter is empty, then the Docker daemon has assigned a host path for you. If the host parameter contains a sourcePath file location, then the data volume persists at the specified location on the host container instance until you delete it manually. If the sourcePath value does not exist on the host container instance, the Docker daemon creates it. If the location does exist, the contents of the source path folder are exported.

" + "documentation":"

The path on the host container instance that is presented to the container. If this parameter is empty, then the Docker daemon has assigned a host path for you. If this parameter contains a file location, then the data volume persists at the specified location on the host container instance until you delete it manually. If the source path location does not exist on the host container instance, the Docker daemon creates it. If the location does exist, the contents of the source path folder are exported.

" } }, - "documentation":"

The contents of the host parameter determine whether your data volume persists on the host container instance and where it is stored. If the host parameter is empty, then the Docker daemon assigns a host path for your data volume, but the data is not guaranteed to persist after the containers associated with it stop running.

" + "documentation":"

Determine whether your data volume persists on the host container instance and where it is stored. If this parameter is empty, then the Docker daemon assigns a host path for your data volume, but the data is not guaranteed to persist after the containers associated with it stop running.

" }, "Integer":{"type":"integer"}, "JQState":{ @@ -1069,7 +1081,7 @@ }, "parameters":{ "shape":"ParametersMap", - "documentation":"

Default parameters or parameter substitution placeholders that are set in the job definition. Parameters are specified as a key-value pair mapping. Parameters in a SubmitJob request override any corresponding parameter defaults from the job definition.

" + "documentation":"

Default parameters or parameter substitution placeholders that are set in the job definition. Parameters are specified as a key-value pair mapping. Parameters in a SubmitJob request override any corresponding parameter defaults from the job definition. For more information about specifying parameters, see Job Definition Parameters in the AWS Batch User Guide.

" }, "retryStrategy":{ "shape":"RetryStrategy", @@ -1144,7 +1156,7 @@ }, "status":{ "shape":"JobStatus", - "documentation":"

The current status for the job.

If your jobs do not progress to STARTING, see Jobs Stuck in RUNNABLE Status in the troubleshooting section of the AWS Batch User Guide.

" + "documentation":"

The current status for the job.

If your jobs do not progress to STARTING, see Jobs Stuck in RUNNABLE Status in the troubleshooting section of the AWS Batch User Guide.

" }, "attempts":{ "shape":"AttemptDetails", @@ -1422,7 +1434,7 @@ "documentation":"

The name of the volume to mount.

" } }, - "documentation":"

Details on a Docker volume mount point that is used in a job's container properties.

" + "documentation":"

Details on a Docker volume mount point that is used in a job's container properties. This parameter maps to Volumes in the Create a container section of the Docker Remote API and the --volume option to docker run.

" }, "MountPoints":{ "type":"list", @@ -1467,6 +1479,10 @@ "NodeOverrides":{ "type":"structure", "members":{ + "numNodes":{ + "shape":"Integer", + "documentation":"

The number of nodes to use with a multi-node parallel job. This value overrides the number of nodes that are specified in the job definition. To use this override:

  • There must be at least one node range in your job definition that has an open upper boundary (such as : or n:).

  • The lower boundary of the node range specified in the job definition must be fewer than the number of nodes specified in the override.

  • The main node index specified in the job definition must be fewer than the number of nodes specified in the override.

" + }, "nodePropertyOverrides":{ "shape":"NodePropertyOverrides", "documentation":"

The node property overrides for the job.

" @@ -1488,7 +1504,7 @@ }, "mainNode":{ "shape":"Integer", - "documentation":"

Specifies the node index for the main node of a multi-node parallel job.

" + "documentation":"

Specifies the node index for the main node of a multi-node parallel job. This node index value must be fewer than the number of nodes.

" }, "nodeRangeProperties":{ "shape":"NodeRangeProperties", @@ -1583,7 +1599,7 @@ }, "nodeProperties":{ "shape":"NodeProperties", - "documentation":"

An object with various properties specific to multi-node parallel jobs. If you specify node properties for a job, it becomes a multi-node parallel job. For more information, see Multi-node Parallel Jobs in the AWS Batch User Guide. If the job definition's type parameter is container, then you must specify either containerProperties or nodeProperties.

" + "documentation":"

An object with various properties specific to multi-node parallel jobs. If you specify node properties for a job, it becomes a multi-node parallel job. For more information, see Multi-node Parallel Jobs in the AWS Batch User Guide. If the job definition's type parameter is container, then you must specify either containerProperties or nodeProperties.

" }, "retryStrategy":{ "shape":"RetryStrategy", @@ -1591,7 +1607,7 @@ }, "timeout":{ "shape":"JobTimeout", - "documentation":"

The timeout configuration for jobs that are submitted with this job definition, after which AWS Batch terminates your jobs if they have not finished. If a job is terminated due to a timeout, it is not retried. The minimum value for the timeout is 60 seconds. Any timeout configuration that is specified during a SubmitJob operation overrides the timeout configuration defined here. For more information, see Job Timeouts in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The timeout configuration for jobs that are submitted with this job definition, after which AWS Batch terminates your jobs if they have not finished. If a job is terminated due to a timeout, it is not retried. The minimum value for the timeout is 60 seconds. Any timeout configuration that is specified during a SubmitJob operation overrides the timeout configuration defined here. For more information, see Job Timeouts in the Amazon Elastic Container Service Developer Guide.

" } } }, @@ -1617,6 +1633,32 @@ } } }, + "ResourceRequirement":{ + "type":"structure", + "required":[ + "value", + "type" + ], + "members":{ + "value":{ + "shape":"String", + "documentation":"

The number of physical GPUs to reserve for the container. The number of GPUs reserved for all containers in a job should not exceed the number of available GPUs on the compute resource that the job is launched on.

" + }, + "type":{ + "shape":"ResourceType", + "documentation":"

The type of resource to assign to a container. Currently, the only supported resource type is GPU.

" + } + }, + "documentation":"

The type and amount of a resource to assign to a container. Currently, the only supported resource type is GPU.

" + }, + "ResourceRequirements":{ + "type":"list", + "member":{"shape":"ResourceRequirement"} + }, + "ResourceType":{ + "type":"string", + "enum":["GPU"] + }, "RetryStrategy":{ "type":"structure", "members":{ @@ -1660,7 +1702,7 @@ }, "arrayProperties":{ "shape":"ArrayProperties", - "documentation":"

The array properties for the submitted job, such as the size of the array. The array size can be between 2 and 10,000. If you specify array properties for a job, it becomes an array job. For more information, see Array Jobs in the AWS Batch User Guide.

" + "documentation":"

The array properties for the submitted job, such as the size of the array. The array size can be between 2 and 10,000. If you specify array properties for a job, it becomes an array job. For more information, see Array Jobs in the AWS Batch User Guide.

" }, "dependsOn":{ "shape":"JobDependencyList", @@ -1688,7 +1730,7 @@ }, "timeout":{ "shape":"JobTimeout", - "documentation":"

The timeout configuration for this SubmitJob operation. You can specify a timeout duration after which AWS Batch terminates your jobs if they have not finished. If a job is terminated due to a timeout, it is not retried. The minimum value for the timeout is 60 seconds. This configuration overrides any timeout configuration specified in the job definition. For array jobs, child jobs have the same timeout configuration as the parent job. For more information, see Job Timeouts in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The timeout configuration for this SubmitJob operation. You can specify a timeout duration after which AWS Batch terminates your jobs if they have not finished. If a job is terminated due to a timeout, it is not retried. The minimum value for the timeout is 60 seconds. This configuration overrides any timeout configuration specified in the job definition. For array jobs, child jobs have the same timeout configuration as the parent job. For more information, see Job Timeouts in the Amazon Elastic Container Service Developer Guide.

" } } }, diff --git a/bin/botocore/data/budgets/2016-10-20/paginators-1.json b/bin/botocore/data/budgets/2016-10-20/paginators-1.json index ea142457..d66d30b3 100644 --- a/bin/botocore/data/budgets/2016-10-20/paginators-1.json +++ b/bin/botocore/data/budgets/2016-10-20/paginators-1.json @@ -1,3 +1,22 @@ { - "pagination": {} + "pagination": { + "DescribeBudgets": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Budgets" + }, + "DescribeNotificationsForBudget": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Notifications" + }, + "DescribeSubscribersForNotification": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Subscribers" + } + } } diff --git a/bin/botocore/data/budgets/2016-10-20/service-2.json b/bin/botocore/data/budgets/2016-10-20/service-2.json index 94f162af..90d7197f 100644 --- a/bin/botocore/data/budgets/2016-10-20/service-2.json +++ b/bin/botocore/data/budgets/2016-10-20/service-2.json @@ -27,7 +27,7 @@ {"shape":"CreationLimitExceededException"}, {"shape":"DuplicateRecordException"} ], - "documentation":"

Creates a budget and, if included, notifications and subscribers.

" + "documentation":"

Creates a budget and, if included, notifications and subscribers.

Only one of BudgetLimit or PlannedBudgetLimits can be present in the syntax at one time. Use the syntax that matches your case. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section.

" }, "CreateNotification":{ "name":"CreateNotification", @@ -121,7 +121,7 @@ {"shape":"InvalidParameterException"}, {"shape":"NotFoundException"} ], - "documentation":"

Describes a budget.

" + "documentation":"

Describes a budget.

The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section.

" }, "DescribeBudgetPerformanceHistory":{ "name":"DescribeBudgetPerformanceHistory", @@ -155,7 +155,7 @@ {"shape":"InvalidNextTokenException"}, {"shape":"ExpiredNextTokenException"} ], - "documentation":"

Lists the budgets that are associated with an account.

" + "documentation":"

Lists the budgets that are associated with an account.

The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section.

" }, "DescribeNotificationsForBudget":{ "name":"DescribeNotificationsForBudget", @@ -204,7 +204,7 @@ {"shape":"InvalidParameterException"}, {"shape":"NotFoundException"} ], - "documentation":"

Updates a budget. You can change every part of a budget except for the budgetName and the calculatedSpend. When you modify a budget, the calculatedSpend drops to zero until AWS has new usage data to use for forecasting.

" + "documentation":"

Updates a budget. You can change every part of a budget except for the budgetName and the calculatedSpend. When you modify a budget, the calculatedSpend drops to zero until AWS has new usage data to use for forecasting.

Only one of BudgetLimit or PlannedBudgetLimits can be present in the syntax at one time. Use the syntax that matches your case. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section.

" }, "UpdateNotification":{ "name":"UpdateNotification", @@ -257,15 +257,19 @@ "members":{ "BudgetName":{ "shape":"BudgetName", - "documentation":"

The name of a budget. The name must be unique within accounts. The : and \\ characters aren't allowed in BudgetName.

" + "documentation":"

The name of a budget. The name must be unique within an account. The : and \\ characters aren't allowed in BudgetName.

" }, "BudgetLimit":{ "shape":"Spend", - "documentation":"

The total amount of cost, usage, RI utilization, or RI coverage that you want to track with your budget.

BudgetLimit is required for cost or usage budgets, but optional for RI utilization or coverage budgets. RI utilization or coverage budgets default to 100, which is the only valid value for RI utilization or coverage budgets.

" + "documentation":"

The total amount of cost, usage, RI utilization, or RI coverage that you want to track with your budget.

BudgetLimit is required for cost or usage budgets, but optional for RI utilization or coverage budgets. RI utilization or coverage budgets default to 100, which is the only valid value for RI utilization or coverage budgets. You can't use BudgetLimit with PlannedBudgetLimits for CreateBudget and UpdateBudget actions.

" + }, + "PlannedBudgetLimits":{ + "shape":"PlannedBudgetLimits", + "documentation":"

A map containing multiple BudgetLimit, including current or future limits.

PlannedBudgetLimits is available for cost or usage budget and supports monthly and quarterly TimeUnit.

For monthly budgets, provide 12 months of PlannedBudgetLimits values. This must start from the current month and include the next 11 months. The key is the start of the month, UTC in epoch seconds.

For quarterly budgets, provide 4 quarters of PlannedBudgetLimits value entries in standard calendar quarter increments. This must start from the current quarter and include the next 3 quarters. The key is the start of the quarter, UTC in epoch seconds.

If the planned budget expires before 12 months for monthly or 4 quarters for quarterly, provide the PlannedBudgetLimits values only for the remaining periods.

If the budget begins at a date in the future, provide PlannedBudgetLimits values from the start date of the budget.

After all of the BudgetLimit values in PlannedBudgetLimits are used, the budget continues to use the last limit as the BudgetLimit. At that point, the planned budget provides the same experience as a fixed budget.

DescribeBudget and DescribeBudgets response along with PlannedBudgetLimits will also contain BudgetLimit representing the current month or quarter limit present in PlannedBudgetLimits. This only applies to budgets created with PlannedBudgetLimits. Budgets created without PlannedBudgetLimits will only contain BudgetLimit, and no PlannedBudgetLimits.

" }, "CostFilters":{ "shape":"CostFilters", - "documentation":"

The cost filters, such as service or region, that are applied to a budget.

AWS Budgets supports the following services as a filter for RI budgets:

  • Amazon Elastic Compute Cloud - Compute

  • Amazon Redshift

  • Amazon Relational Database Service

  • Amazon ElastiCache

  • Amazon Elasticsearch Service

" + "documentation":"

The cost filters, such as service or tag, that are applied to a budget.

AWS Budgets supports the following services as a filter for RI budgets:

  • Amazon Elastic Compute Cloud - Compute

  • Amazon Redshift

  • Amazon Relational Database Service

  • Amazon ElastiCache

  • Amazon Elasticsearch Service

" }, "CostTypes":{ "shape":"CostTypes", @@ -285,7 +289,7 @@ }, "BudgetType":{ "shape":"BudgetType", - "documentation":"

Whether this budget tracks monetary costs, usage, RI utilization, or RI coverage.

" + "documentation":"

Whether this budget tracks costs, usage, RI utilization, or RI coverage.

" }, "LastUpdatedTime":{ "shape":"GenericTimestamp", @@ -965,6 +969,11 @@ "min":1, "pattern":"([0-9]*\\.)?[0-9]+" }, + "PlannedBudgetLimits":{ + "type":"map", + "key":{"shape":"GenericString"}, + "value":{"shape":"Spend"} + }, "Spend":{ "type":"structure", "required":[ @@ -996,7 +1005,7 @@ }, "Address":{ "shape":"SubscriberAddress", - "documentation":"

The address that AWS sends budget notifications to, either an SNS topic or an email.

" + "documentation":"

The address that AWS sends budget notifications to, either an SNS topic or an email.

AWS validates the address for a CreateSubscriber request with the .* regex.

" } }, "documentation":"

The subscriber to a budget notification. The subscriber consists of a subscription type and either an Amazon SNS topic or an email address.

For example, an email subscriber would have the following parameters:

  • A subscriptionType of EMAIL

  • An address of example@example.com

" @@ -1006,7 +1015,7 @@ "documentation":"

A string that contains an email address or SNS topic for the subscriber's address.

", "max":2147483647, "min":1, - "pattern":".*", + "pattern":"(?s).*", "sensitive":true }, "Subscribers":{ diff --git a/bin/botocore/data/ce/2017-10-25/service-2.json b/bin/botocore/data/ce/2017-10-25/service-2.json index b9044eec..7678d653 100644 --- a/bin/botocore/data/ce/2017-10-25/service-2.json +++ b/bin/botocore/data/ce/2017-10-25/service-2.json @@ -505,6 +505,7 @@ "GenericString":{"type":"string"}, "GetCostAndUsageRequest":{ "type":"structure", + "required":["TimePeriod"], "members":{ "TimePeriod":{ "shape":"DateInterval", @@ -657,7 +658,7 @@ }, "GroupBy":{ "shape":"GroupDefinitions", - "documentation":"

You can group the data by the following attributes:

  • AZ

  • CACHE_ENGINE

  • DATABASE_ENGINE

  • DEPLOYMENT_OPTION

  • INSTANCE_TYPE

  • LINKED_ACCOUNT

  • OPERATING_SYSTEM

  • PLATFORM

  • REGION

  • TAG

  • TENANCY

" + "documentation":"

You can group the data by the following attributes:

  • AZ

  • CACHE_ENGINE

  • DATABASE_ENGINE

  • DEPLOYMENT_OPTION

  • INSTANCE_TYPE

  • LINKED_ACCOUNT

  • OPERATING_SYSTEM

  • PLATFORM

  • REGION

  • TENANCY

" }, "Granularity":{ "shape":"Granularity", @@ -667,7 +668,10 @@ "shape":"Expression", "documentation":"

Filters utilization data by dimensions. You can filter by the following dimensions:

  • AZ

  • CACHE_ENGINE

  • DATABASE_ENGINE

  • DEPLOYMENT_OPTION

  • INSTANCE_TYPE

  • LINKED_ACCOUNT

  • OPERATING_SYSTEM

  • PLATFORM

  • REGION

  • SERVICE

  • TAG

  • TENANCY

GetReservationCoverage uses the same Expression object as the other operations, but only AND is supported among each dimension. You can nest only one level deep. If there are multiple values for a dimension, they are OR'd together.

If you don't provide a SERVICE filter, Cost Explorer defaults to EC2.

" }, - "Metrics":{"shape":"MetricNames"}, + "Metrics":{ + "shape":"MetricNames", + "documentation":"

The measurement that you want your reservation coverage reported in.

Valid values are Hour, Unit, and Cost. You can use multiple values in a request.

" + }, "NextPageToken":{ "shape":"NextPageToken", "documentation":"

The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

" @@ -1220,7 +1224,10 @@ "ReservationPurchaseRecommendationDetail":{ "type":"structure", "members":{ - "AccountId":{"shape":"GenericString"}, + "AccountId":{ + "shape":"GenericString", + "documentation":"

The account that this RI recommendation is for.

" + }, "InstanceDetails":{ "shape":"InstanceDetails", "documentation":"

Details about the instances that AWS recommends that you purchase.

" diff --git a/bin/botocore/data/chime/2018-05-01/paginators-1.json b/bin/botocore/data/chime/2018-05-01/paginators-1.json index ea142457..617b1149 100644 --- a/bin/botocore/data/chime/2018-05-01/paginators-1.json +++ b/bin/botocore/data/chime/2018-05-01/paginators-1.json @@ -1,3 +1,16 @@ { - "pagination": {} + "pagination": { + "ListAccounts": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Accounts" + }, + "ListUsers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Users" + } + } } diff --git a/bin/botocore/data/chime/2018-05-01/service-2.json b/bin/botocore/data/chime/2018-05-01/service-2.json index bbb92ec2..e250e893 100644 --- a/bin/botocore/data/chime/2018-05-01/service-2.json +++ b/bin/botocore/data/chime/2018-05-01/service-2.json @@ -10,11 +10,71 @@ "uid":"chime-2018-05-01" }, "operations":{ + "AssociatePhoneNumberWithUser":{ + "name":"AssociatePhoneNumberWithUser", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/users/{userId}?operation=associate-phone-number", + "responseCode":200 + }, + "input":{"shape":"AssociatePhoneNumberWithUserRequest"}, + "output":{"shape":"AssociatePhoneNumberWithUserResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Associates a phone number with the specified Amazon Chime user.

" + }, + "AssociatePhoneNumbersWithVoiceConnector":{ + "name":"AssociatePhoneNumbersWithVoiceConnector", + "http":{ + "method":"POST", + "requestUri":"/voice-connectors/{voiceConnectorId}?operation=associate-phone-numbers", + "responseCode":200 + }, + "input":{"shape":"AssociatePhoneNumbersWithVoiceConnectorRequest"}, + "output":{"shape":"AssociatePhoneNumbersWithVoiceConnectorResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Associates a phone number with the specified Amazon Chime Voice Connector.

" + }, + "BatchDeletePhoneNumber":{ + "name":"BatchDeletePhoneNumber", + "http":{ + "method":"POST", + "requestUri":"/phone-numbers?operation=batch-delete", + "responseCode":200 + }, + "input":{"shape":"BatchDeletePhoneNumberRequest"}, + "output":{"shape":"BatchDeletePhoneNumberResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Moves phone numbers into the Deletion queue. Phone numbers must be disassociated from any users or Amazon Chime Voice Connectors before they can be deleted.

Phone numbers remain in the Deletion queue for 7 days before they are deleted permanently.

" + }, "BatchSuspendUser":{ "name":"BatchSuspendUser", "http":{ "method":"POST", - "requestUri":"/console/accounts/{accountId}/users?operation=suspend", + "requestUri":"/accounts/{accountId}/users?operation=suspend", "responseCode":200 }, "input":{"shape":"BatchSuspendUserRequest"}, @@ -28,13 +88,13 @@ {"shape":"ServiceUnavailableException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Suspends up to 50 users from a Team or EnterpriseLWA Amazon Chime account. For more information about different account types, see Managing Your Amazon Chime Accounts in the Amazon Chime Administration Guide.

Users suspended from a Team account are dissociated from the account, but they can continue to use Amazon Chime as free users. To remove the suspension from suspended Team account users, invite them to the Team account again. You can use the InviteUsers action to do so.

Users suspended from an EnterpriseLWA account are immediately signed out of Amazon Chime and are no longer able to sign in. To remove the suspension from suspended EnterpriseLWA account users, use the BatchUnsuspendUser action.

To sign out users without suspending them, use the LogoutUser action.

" + "documentation":"

Suspends up to 50 users from a Team or EnterpriseLWA Amazon Chime account. For more information about different account types, see Managing Your Amazon Chime Accounts in the Amazon Chime Administration Guide.

Users suspended from a Team account are dissasociated from the account, but they can continue to use Amazon Chime as free users. To remove the suspension from suspended Team account users, invite them to the Team account again. You can use the InviteUsers action to do so.

Users suspended from an EnterpriseLWA account are immediately signed out of Amazon Chime and can no longer sign in. To remove the suspension from suspended EnterpriseLWA account users, use the BatchUnsuspendUser action.

To sign out users without suspending them, use the LogoutUser action.

" }, "BatchUnsuspendUser":{ "name":"BatchUnsuspendUser", "http":{ "method":"POST", - "requestUri":"/console/accounts/{accountId}/users?operation=unsuspend", + "requestUri":"/accounts/{accountId}/users?operation=unsuspend", "responseCode":200 }, "input":{"shape":"BatchUnsuspendUserRequest"}, @@ -48,13 +108,33 @@ {"shape":"ServiceUnavailableException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Removes the suspension from up to 50 previously suspended users for the specified Amazon Chime EnterpriseLWA account. Only users on EnterpriseLWA accounts can be unsuspended using this action. For more information about different account types, see Managing Your Amazon Chime Accounts in the Amazon Chime Administration Guide.

Previously suspended users who are unsuspended using this action are returned to Registered status. Users who are not previously suspended are ignored.

" + "documentation":"

Removes the suspension from up to 50 previously suspended users for the specified Amazon Chime EnterpriseLWA account. Only users on EnterpriseLWA accounts can be unsuspended using this action. For more information about different account types, see Managing Your Amazon Chime Accounts in the Amazon Chime Administration Guide.

Previously suspended users who are unsuspended using this action are returned to Registered status. Users who are not previously suspended are ignored.

" + }, + "BatchUpdatePhoneNumber":{ + "name":"BatchUpdatePhoneNumber", + "http":{ + "method":"POST", + "requestUri":"/phone-numbers?operation=batch-update", + "responseCode":200 + }, + "input":{"shape":"BatchUpdatePhoneNumberRequest"}, + "output":{"shape":"BatchUpdatePhoneNumberResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Updates phone number product types. Choose from Amazon Chime Business Calling and Amazon Chime Voice Connector product types. For toll-free numbers, you can use only the Amazon Chime Voice Connector product type.

" }, "BatchUpdateUser":{ "name":"BatchUpdateUser", "http":{ "method":"POST", - "requestUri":"/console/accounts/{accountId}/users", + "requestUri":"/accounts/{accountId}/users", "responseCode":200 }, "input":{"shape":"BatchUpdateUserRequest"}, @@ -74,7 +154,7 @@ "name":"CreateAccount", "http":{ "method":"POST", - "requestUri":"/console/accounts", + "requestUri":"/accounts", "responseCode":201 }, "input":{"shape":"CreateAccountRequest"}, @@ -88,13 +168,71 @@ {"shape":"ServiceUnavailableException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Creates an Amazon Chime account under the administrator's AWS account. Only Team account types are currently supported for this action. For more information about different account types, see Managing Your Amazon Chime Accounts in the Amazon Chime Administration Guide.

" + "documentation":"

Creates an Amazon Chime account under the administrator's AWS account. Only Team account types are currently supported for this action. For more information about different account types, see Managing Your Amazon Chime Accounts in the Amazon Chime Administration Guide.

" + }, + "CreateBot":{ + "name":"CreateBot", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/bots", + "responseCode":201 + }, + "input":{"shape":"CreateBotRequest"}, + "output":{"shape":"CreateBotResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Creates a bot for an Amazon Chime Enterprise account.

" + }, + "CreatePhoneNumberOrder":{ + "name":"CreatePhoneNumberOrder", + "http":{ + "method":"POST", + "requestUri":"/phone-number-orders", + "responseCode":201 + }, + "input":{"shape":"CreatePhoneNumberOrderRequest"}, + "output":{"shape":"CreatePhoneNumberOrderResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Creates an order for phone numbers to be provisioned. Choose from Amazon Chime Business Calling and Amazon Chime Voice Connector product types. For toll-free numbers, you can use only the Amazon Chime Voice Connector product type.

" + }, + "CreateVoiceConnector":{ + "name":"CreateVoiceConnector", + "http":{ + "method":"POST", + "requestUri":"/voice-connectors", + "responseCode":201 + }, + "input":{"shape":"CreateVoiceConnectorRequest"}, + "output":{"shape":"CreateVoiceConnectorResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Creates an Amazon Chime Voice Connector under the administrator's AWS account. Enabling CreateVoiceConnectorRequest$RequireEncryption configures your Amazon Chime Voice Connector to use TLS transport for SIP signaling and Secure RTP (SRTP) for media. Inbound calls use TLS transport, and unencrypted outbound calls are blocked.

" }, "DeleteAccount":{ "name":"DeleteAccount", "http":{ "method":"DELETE", - "requestUri":"/console/accounts/{accountId}", + "requestUri":"/accounts/{accountId}", "responseCode":204 }, "input":{"shape":"DeleteAccountRequest"}, @@ -111,14 +249,32 @@ ], "documentation":"

Deletes the specified Amazon Chime account. You must suspend all users before deleting a Team account. You can use the BatchSuspendUser action to do so.

For EnterpriseLWA and EnterpriseAD accounts, you must release the claimed domains for your Amazon Chime account before deletion. As soon as you release the domain, all users under that account are suspended.

Deleted accounts appear in your Disabled accounts list for 90 days. To restore a deleted account from your Disabled accounts list, you must contact AWS Support.

After 90 days, deleted accounts are permanently removed from your Disabled accounts list.

" }, - "GetAccount":{ - "name":"GetAccount", + "DeleteEventsConfiguration":{ + "name":"DeleteEventsConfiguration", "http":{ - "method":"GET", - "requestUri":"/console/accounts/{accountId}" + "method":"DELETE", + "requestUri":"/accounts/{accountId}/bots/{botId}/events-configuration", + "responseCode":204 }, - "input":{"shape":"GetAccountRequest"}, - "output":{"shape":"GetAccountResponse"}, + "input":{"shape":"DeleteEventsConfigurationRequest"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ResourceLimitExceededException"} + ], + "documentation":"

Deletes the events configuration that allows a bot to receive outgoing events.

" + }, + "DeletePhoneNumber":{ + "name":"DeletePhoneNumber", + "http":{ + "method":"DELETE", + "requestUri":"/phone-numbers/{phoneNumberId}", + "responseCode":204 + }, + "input":{"shape":"DeletePhoneNumberRequest"}, "errors":[ {"shape":"UnauthorizedClientException"}, {"shape":"NotFoundException"}, @@ -128,36 +284,35 @@ {"shape":"ServiceUnavailableException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves details for the specified Amazon Chime account, such as account type and supported licenses.

" + "documentation":"

Moves the specified phone number into the Deletion queue. A phone number must be disassociated from any users or Amazon Chime Voice Connectors before it can be deleted.

Deleted phone numbers remain in the Deletion queue for 7 days before they are deleted permanently.

" }, - "GetAccountSettings":{ - "name":"GetAccountSettings", + "DeleteVoiceConnector":{ + "name":"DeleteVoiceConnector", "http":{ - "method":"GET", - "requestUri":"/console/accounts/{accountId}/settings" + "method":"DELETE", + "requestUri":"/voice-connectors/{voiceConnectorId}", + "responseCode":204 }, - "input":{"shape":"GetAccountSettingsRequest"}, - "output":{"shape":"GetAccountSettingsResponse"}, + "input":{"shape":"DeleteVoiceConnectorRequest"}, "errors":[ {"shape":"UnauthorizedClientException"}, {"shape":"NotFoundException"}, - {"shape":"BadRequestException"}, {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, {"shape":"ThrottledClientException"}, {"shape":"ServiceUnavailableException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves account settings for the specified Amazon Chime account ID, such as remote control and dial out settings. For more information about these settings, see Use the Policies Page in the Amazon Chime Administration Guide.

" + "documentation":"

Deletes the specified Amazon Chime Voice Connector. Any phone numbers assigned to the Amazon Chime Voice Connector must be unassigned from it before it can be deleted.

" }, - "GetUser":{ - "name":"GetUser", + "DeleteVoiceConnectorOrigination":{ + "name":"DeleteVoiceConnectorOrigination", "http":{ - "method":"GET", - "requestUri":"/console/accounts/{accountId}/users/{userId}", - "responseCode":200 + "method":"DELETE", + "requestUri":"/voice-connectors/{voiceConnectorId}/origination", + "responseCode":204 }, - "input":{"shape":"GetUserRequest"}, - "output":{"shape":"GetUserResponse"}, + "input":{"shape":"DeleteVoiceConnectorOriginationRequest"}, "errors":[ {"shape":"UnauthorizedClientException"}, {"shape":"NotFoundException"}, @@ -167,17 +322,16 @@ {"shape":"ServiceUnavailableException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves details for the specified user ID, such as primary email address, license type, and personal meeting PIN.

To retrieve user details with an email address instead of a user ID, use the ListUsers action, and then filter by email address.

" + "documentation":"

Deletes the origination settings for the specified Amazon Chime Voice Connector.

" }, - "InviteUsers":{ - "name":"InviteUsers", + "DeleteVoiceConnectorTermination":{ + "name":"DeleteVoiceConnectorTermination", "http":{ - "method":"POST", - "requestUri":"/console/accounts/{accountId}/users?operation=add", - "responseCode":201 + "method":"DELETE", + "requestUri":"/voice-connectors/{voiceConnectorId}/termination", + "responseCode":204 }, - "input":{"shape":"InviteUsersRequest"}, - "output":{"shape":"InviteUsersResponse"}, + "input":{"shape":"DeleteVoiceConnectorTerminationRequest"}, "errors":[ {"shape":"UnauthorizedClientException"}, {"shape":"NotFoundException"}, @@ -187,16 +341,16 @@ {"shape":"ServiceUnavailableException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Sends email invites to as many as 50 users, inviting them to the specified Amazon Chime Team account. Only Team account types are currently supported for this action.

" + "documentation":"

Deletes the termination settings for the specified Amazon Chime Voice Connector.

" }, - "ListAccounts":{ - "name":"ListAccounts", + "DeleteVoiceConnectorTerminationCredentials":{ + "name":"DeleteVoiceConnectorTerminationCredentials", "http":{ - "method":"GET", - "requestUri":"/console/accounts" + "method":"POST", + "requestUri":"/voice-connectors/{voiceConnectorId}/termination/credentials?operation=delete", + "responseCode":204 }, - "input":{"shape":"ListAccountsRequest"}, - "output":{"shape":"ListAccountsResponse"}, + "input":{"shape":"DeleteVoiceConnectorTerminationCredentialsRequest"}, "errors":[ {"shape":"UnauthorizedClientException"}, {"shape":"NotFoundException"}, @@ -206,17 +360,17 @@ {"shape":"ServiceUnavailableException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Lists the Amazon Chime accounts under the administrator's AWS account. You can filter accounts by account name prefix. To find out which Amazon Chime account a user belongs to, you can filter by the user's email address, which returns one account result.

" + "documentation":"

Deletes the specified SIP credentials used by your equipment to authenticate during call termination.

" }, - "ListUsers":{ - "name":"ListUsers", + "DisassociatePhoneNumberFromUser":{ + "name":"DisassociatePhoneNumberFromUser", "http":{ - "method":"GET", - "requestUri":"/console/accounts/{accountId}/users", + "method":"POST", + "requestUri":"/accounts/{accountId}/users/{userId}?operation=disassociate-phone-number", "responseCode":200 }, - "input":{"shape":"ListUsersRequest"}, - "output":{"shape":"ListUsersResponse"}, + "input":{"shape":"DisassociatePhoneNumberFromUserRequest"}, + "output":{"shape":"DisassociatePhoneNumberFromUserResponse"}, "errors":[ {"shape":"UnauthorizedClientException"}, {"shape":"NotFoundException"}, @@ -226,17 +380,17 @@ {"shape":"ServiceUnavailableException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Lists the users that belong to the specified Amazon Chime account. You can specify an email address to list only the user that the email address belongs to.

" + "documentation":"

Disassociates the primary provisioned phone number from the specified Amazon Chime user.

" }, - "LogoutUser":{ - "name":"LogoutUser", + "DisassociatePhoneNumbersFromVoiceConnector":{ + "name":"DisassociatePhoneNumbersFromVoiceConnector", "http":{ "method":"POST", - "requestUri":"/console/accounts/{accountId}/users/{userId}?operation=logout", - "responseCode":204 + "requestUri":"/voice-connectors/{voiceConnectorId}?operation=disassociate-phone-numbers", + "responseCode":200 }, - "input":{"shape":"LogoutUserRequest"}, - "output":{"shape":"LogoutUserResponse"}, + "input":{"shape":"DisassociatePhoneNumbersFromVoiceConnectorRequest"}, + "output":{"shape":"DisassociatePhoneNumbersFromVoiceConnectorResponse"}, "errors":[ {"shape":"UnauthorizedClientException"}, {"shape":"NotFoundException"}, @@ -246,17 +400,16 @@ {"shape":"ServiceUnavailableException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Logs out the specified user from all of the devices they are currently logged into.

" + "documentation":"

Disassociates the specified phone number from the specified Amazon Chime Voice Connector.

" }, - "ResetPersonalPIN":{ - "name":"ResetPersonalPIN", + "GetAccount":{ + "name":"GetAccount", "http":{ - "method":"POST", - "requestUri":"/console/accounts/{accountId}/users/{userId}?operation=reset-personal-pin", - "responseCode":200 + "method":"GET", + "requestUri":"/accounts/{accountId}" }, - "input":{"shape":"ResetPersonalPINRequest"}, - "output":{"shape":"ResetPersonalPINResponse"}, + "input":{"shape":"GetAccountRequest"}, + "output":{"shape":"GetAccountResponse"}, "errors":[ {"shape":"UnauthorizedClientException"}, {"shape":"NotFoundException"}, @@ -266,58 +419,132 @@ {"shape":"ServiceUnavailableException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Resets the personal meeting PIN for the specified user on an Amazon Chime account. Returns the User object with the updated personal meeting PIN.

" + "documentation":"

Retrieves details for the specified Amazon Chime account, such as account type and supported licenses.

" }, - "UpdateAccount":{ - "name":"UpdateAccount", + "GetAccountSettings":{ + "name":"GetAccountSettings", "http":{ - "method":"POST", - "requestUri":"/console/accounts/{accountId}", + "method":"GET", + "requestUri":"/accounts/{accountId}/settings" + }, + "input":{"shape":"GetAccountSettingsRequest"}, + "output":{"shape":"GetAccountSettingsResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Retrieves account settings for the specified Amazon Chime account ID, such as remote control and dial out settings. For more information about these settings, see Use the Policies Page in the Amazon Chime Administration Guide.

" + }, + "GetBot":{ + "name":"GetBot", + "http":{ + "method":"GET", + "requestUri":"/accounts/{accountId}/bots/{botId}", "responseCode":200 }, - "input":{"shape":"UpdateAccountRequest"}, - "output":{"shape":"UpdateAccountResponse"}, + "input":{"shape":"GetBotRequest"}, + "output":{"shape":"GetBotResponse"}, "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"}, + {"shape":"ForbiddenException"}, {"shape":"UnauthorizedClientException"}, {"shape":"NotFoundException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Retrieves details for the specified bot, such as bot email address, bot type, status, and display name.

" + }, + "GetEventsConfiguration":{ + "name":"GetEventsConfiguration", + "http":{ + "method":"GET", + "requestUri":"/accounts/{accountId}/bots/{botId}/events-configuration", + "responseCode":200 + }, + "input":{"shape":"GetEventsConfigurationRequest"}, + "output":{"shape":"GetEventsConfigurationResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Gets details for an events configuration that allows a bot to receive outgoing events, such as an HTTPS endpoint or Lambda function ARN.

" + }, + "GetGlobalSettings":{ + "name":"GetGlobalSettings", + "http":{ + "method":"GET", + "requestUri":"/settings", + "responseCode":200 + }, + "output":{"shape":"GetGlobalSettingsResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, {"shape":"ForbiddenException"}, {"shape":"BadRequestException"}, {"shape":"ThrottledClientException"}, {"shape":"ServiceUnavailableException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Updates account details for the specified Amazon Chime account. Currently, only account name updates are supported for this action.

" + "documentation":"

Retrieves global settings for the administrator's AWS account, such as Amazon Chime Business Calling and Amazon Chime Voice Connector settings.

" }, - "UpdateAccountSettings":{ - "name":"UpdateAccountSettings", + "GetPhoneNumber":{ + "name":"GetPhoneNumber", "http":{ - "method":"PUT", - "requestUri":"/console/accounts/{accountId}/settings", - "responseCode":204 + "method":"GET", + "requestUri":"/phone-numbers/{phoneNumberId}" }, - "input":{"shape":"UpdateAccountSettingsRequest"}, - "output":{"shape":"UpdateAccountSettingsResponse"}, + "input":{"shape":"GetPhoneNumberRequest"}, + "output":{"shape":"GetPhoneNumberResponse"}, "errors":[ {"shape":"UnauthorizedClientException"}, {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Retrieves details for the specified phone number ID, such as associations, capabilities, and product type.

" + }, + "GetPhoneNumberOrder":{ + "name":"GetPhoneNumberOrder", + "http":{ + "method":"GET", + "requestUri":"/phone-number-orders/{phoneNumberOrderId}", + "responseCode":200 + }, + "input":{"shape":"GetPhoneNumberOrderRequest"}, + "output":{"shape":"GetPhoneNumberOrderResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, {"shape":"ForbiddenException"}, - {"shape":"ConflictException"}, + {"shape":"BadRequestException"}, {"shape":"ThrottledClientException"}, {"shape":"ServiceUnavailableException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Updates the settings for the specified Amazon Chime account. You can update settings for remote control of shared screens, or for the dial-out option. For more information about these settings, see Use the Policies Page in the Amazon Chime Administration Guide.

" + "documentation":"

Retrieves details for the specified phone number order, such as order creation timestamp, phone numbers in E.164 format, product type, and order status.

" }, - "UpdateUser":{ - "name":"UpdateUser", + "GetUser":{ + "name":"GetUser", "http":{ - "method":"POST", - "requestUri":"/console/accounts/{accountId}/users/{userId}", + "method":"GET", + "requestUri":"/accounts/{accountId}/users/{userId}", "responseCode":200 }, - "input":{"shape":"UpdateUserRequest"}, - "output":{"shape":"UpdateUserResponse"}, + "input":{"shape":"GetUserRequest"}, + "output":{"shape":"GetUserResponse"}, "errors":[ {"shape":"UnauthorizedClientException"}, {"shape":"NotFoundException"}, @@ -327,126 +554,1827 @@ {"shape":"ServiceUnavailableException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Updates user details for a specified user ID. Currently, only LicenseType updates are supported for this action.

" - } - }, - "shapes":{ - "Account":{ + "documentation":"

Retrieves details for the specified user ID, such as primary email address, license type, and personal meeting PIN.

To retrieve user details with an email address instead of a user ID, use the ListUsers action, and then filter by email address.

" + }, + "GetUserSettings":{ + "name":"GetUserSettings", + "http":{ + "method":"GET", + "requestUri":"/accounts/{accountId}/users/{userId}/settings", + "responseCode":200 + }, + "input":{"shape":"GetUserSettingsRequest"}, + "output":{"shape":"GetUserSettingsResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Retrieves settings for the specified user ID, such as any associated phone number settings.

" + }, + "GetVoiceConnector":{ + "name":"GetVoiceConnector", + "http":{ + "method":"GET", + "requestUri":"/voice-connectors/{voiceConnectorId}", + "responseCode":200 + }, + "input":{"shape":"GetVoiceConnectorRequest"}, + "output":{"shape":"GetVoiceConnectorResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Retrieves details for the specified Amazon Chime Voice Connector, such as timestamps, name, outbound host, and encryption requirements.

" + }, + "GetVoiceConnectorOrigination":{ + "name":"GetVoiceConnectorOrigination", + "http":{ + "method":"GET", + "requestUri":"/voice-connectors/{voiceConnectorId}/origination", + "responseCode":200 + }, + "input":{"shape":"GetVoiceConnectorOriginationRequest"}, + "output":{"shape":"GetVoiceConnectorOriginationResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Retrieves origination setting details for the specified Amazon Chime Voice Connector.

" + }, + "GetVoiceConnectorTermination":{ + "name":"GetVoiceConnectorTermination", + "http":{ + "method":"GET", + "requestUri":"/voice-connectors/{voiceConnectorId}/termination", + "responseCode":200 + }, + "input":{"shape":"GetVoiceConnectorTerminationRequest"}, + "output":{"shape":"GetVoiceConnectorTerminationResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Retrieves termination setting details for the specified Amazon Chime Voice Connector.

" + }, + "GetVoiceConnectorTerminationHealth":{ + "name":"GetVoiceConnectorTerminationHealth", + "http":{ + "method":"GET", + "requestUri":"/voice-connectors/{voiceConnectorId}/termination/health", + "responseCode":200 + }, + "input":{"shape":"GetVoiceConnectorTerminationHealthRequest"}, + "output":{"shape":"GetVoiceConnectorTerminationHealthResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Retrieves information about the last time a SIP OPTIONS ping was received from your SIP infrastructure for the specified Amazon Chime Voice Connector.

" + }, + "InviteUsers":{ + "name":"InviteUsers", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/users?operation=add", + "responseCode":201 + }, + "input":{"shape":"InviteUsersRequest"}, + "output":{"shape":"InviteUsersResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Sends email invites to as many as 50 users, inviting them to the specified Amazon Chime Team account. Only Team account types are currently supported for this action.

" + }, + "ListAccounts":{ + "name":"ListAccounts", + "http":{ + "method":"GET", + "requestUri":"/accounts" + }, + "input":{"shape":"ListAccountsRequest"}, + "output":{"shape":"ListAccountsResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Lists the Amazon Chime accounts under the administrator's AWS account. You can filter accounts by account name prefix. To find out which Amazon Chime account a user belongs to, you can filter by the user's email address, which returns one account result.

" + }, + "ListBots":{ + "name":"ListBots", + "http":{ + "method":"GET", + "requestUri":"/accounts/{accountId}/bots", + "responseCode":200 + }, + "input":{"shape":"ListBotsRequest"}, + "output":{"shape":"ListBotsResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"}, + {"shape":"ForbiddenException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Lists the bots associated with the administrator's Amazon Chime Enterprise account ID.

" + }, + "ListPhoneNumberOrders":{ + "name":"ListPhoneNumberOrders", + "http":{ + "method":"GET", + "requestUri":"/phone-number-orders", + "responseCode":200 + }, + "input":{"shape":"ListPhoneNumberOrdersRequest"}, + "output":{"shape":"ListPhoneNumberOrdersResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Lists the phone number orders for the administrator's Amazon Chime account.

" + }, + "ListPhoneNumbers":{ + "name":"ListPhoneNumbers", + "http":{ + "method":"GET", + "requestUri":"/phone-numbers" + }, + "input":{"shape":"ListPhoneNumbersRequest"}, + "output":{"shape":"ListPhoneNumbersResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Lists the phone numbers for the specified Amazon Chime account, Amazon Chime user, or Amazon Chime Voice Connector.

" + }, + "ListUsers":{ + "name":"ListUsers", + "http":{ + "method":"GET", + "requestUri":"/accounts/{accountId}/users", + "responseCode":200 + }, + "input":{"shape":"ListUsersRequest"}, + "output":{"shape":"ListUsersResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Lists the users that belong to the specified Amazon Chime account. You can specify an email address to list only the user that the email address belongs to.

" + }, + "ListVoiceConnectorTerminationCredentials":{ + "name":"ListVoiceConnectorTerminationCredentials", + "http":{ + "method":"GET", + "requestUri":"/voice-connectors/{voiceConnectorId}/termination/credentials", + "responseCode":200 + }, + "input":{"shape":"ListVoiceConnectorTerminationCredentialsRequest"}, + "output":{"shape":"ListVoiceConnectorTerminationCredentialsResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Lists the SIP credentials for the specified Amazon Chime Voice Connector.

" + }, + "ListVoiceConnectors":{ + "name":"ListVoiceConnectors", + "http":{ + "method":"GET", + "requestUri":"/voice-connectors", + "responseCode":200 + }, + "input":{"shape":"ListVoiceConnectorsRequest"}, + "output":{"shape":"ListVoiceConnectorsResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Lists the Amazon Chime Voice Connectors for the administrator's AWS account.

" + }, + "LogoutUser":{ + "name":"LogoutUser", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/users/{userId}?operation=logout", + "responseCode":204 + }, + "input":{"shape":"LogoutUserRequest"}, + "output":{"shape":"LogoutUserResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Logs out the specified user from all of the devices they are currently logged into.

" + }, + "PutEventsConfiguration":{ + "name":"PutEventsConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/accounts/{accountId}/bots/{botId}/events-configuration", + "responseCode":201 + }, + "input":{"shape":"PutEventsConfigurationRequest"}, + "output":{"shape":"PutEventsConfigurationResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Creates an events configuration that allows a bot to receive outgoing events sent by Amazon Chime. Choose either an HTTPS endpoint or a Lambda function ARN. For more information, see Bot.

" + }, + "PutVoiceConnectorOrigination":{ + "name":"PutVoiceConnectorOrigination", + "http":{ + "method":"PUT", + "requestUri":"/voice-connectors/{voiceConnectorId}/origination", + "responseCode":200 + }, + "input":{"shape":"PutVoiceConnectorOriginationRequest"}, + "output":{"shape":"PutVoiceConnectorOriginationResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Adds origination settings for the specified Amazon Chime Voice Connector.

" + }, + "PutVoiceConnectorTermination":{ + "name":"PutVoiceConnectorTermination", + "http":{ + "method":"PUT", + "requestUri":"/voice-connectors/{voiceConnectorId}/termination", + "responseCode":200 + }, + "input":{"shape":"PutVoiceConnectorTerminationRequest"}, + "output":{"shape":"PutVoiceConnectorTerminationResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Adds termination settings for the specified Amazon Chime Voice Connector.

" + }, + "PutVoiceConnectorTerminationCredentials":{ + "name":"PutVoiceConnectorTerminationCredentials", + "http":{ + "method":"POST", + "requestUri":"/voice-connectors/{voiceConnectorId}/termination/credentials?operation=put", + "responseCode":204 + }, + "input":{"shape":"PutVoiceConnectorTerminationCredentialsRequest"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Adds termination SIP credentials for the specified Amazon Chime Voice Connector.

" + }, + "RegenerateSecurityToken":{ + "name":"RegenerateSecurityToken", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/bots/{botId}?operation=regenerate-security-token", + "responseCode":200 + }, + "input":{"shape":"RegenerateSecurityTokenRequest"}, + "output":{"shape":"RegenerateSecurityTokenResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Regenerates the security token for a bot.

" + }, + "ResetPersonalPIN":{ + "name":"ResetPersonalPIN", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/users/{userId}?operation=reset-personal-pin", + "responseCode":200 + }, + "input":{"shape":"ResetPersonalPINRequest"}, + "output":{"shape":"ResetPersonalPINResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Resets the personal meeting PIN for the specified user on an Amazon Chime account. Returns the User object with the updated personal meeting PIN.

" + }, + "RestorePhoneNumber":{ + "name":"RestorePhoneNumber", + "http":{ + "method":"POST", + "requestUri":"/phone-numbers/{phoneNumberId}?operation=restore", + "responseCode":200 + }, + "input":{"shape":"RestorePhoneNumberRequest"}, + "output":{"shape":"RestorePhoneNumberResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Moves a phone number from the Deletion queue back into the phone number Inventory.

" + }, + "SearchAvailablePhoneNumbers":{ + "name":"SearchAvailablePhoneNumbers", + "http":{ + "method":"GET", + "requestUri":"/search?type=phone-numbers" + }, + "input":{"shape":"SearchAvailablePhoneNumbersRequest"}, + "output":{"shape":"SearchAvailablePhoneNumbersResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Searches phone numbers that can be ordered.

" + }, + "UpdateAccount":{ + "name":"UpdateAccount", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}", + "responseCode":200 + }, + "input":{"shape":"UpdateAccountRequest"}, + "output":{"shape":"UpdateAccountResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Updates account details for the specified Amazon Chime account. Currently, only account name updates are supported for this action.

" + }, + "UpdateAccountSettings":{ + "name":"UpdateAccountSettings", + "http":{ + "method":"PUT", + "requestUri":"/accounts/{accountId}/settings", + "responseCode":204 + }, + "input":{"shape":"UpdateAccountSettingsRequest"}, + "output":{"shape":"UpdateAccountSettingsResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Updates the settings for the specified Amazon Chime account. You can update settings for remote control of shared screens, or for the dial-out option. For more information about these settings, see Use the Policies Page in the Amazon Chime Administration Guide.

" + }, + "UpdateBot":{ + "name":"UpdateBot", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/bots/{botId}", + "responseCode":200 + }, + "input":{"shape":"UpdateBotRequest"}, + "output":{"shape":"UpdateBotResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Updates the status of the specified bot, such as starting or stopping the bot from running in your Amazon Chime Enterprise account.

" + }, + "UpdateGlobalSettings":{ + "name":"UpdateGlobalSettings", + "http":{ + "method":"PUT", + "requestUri":"/settings", + "responseCode":204 + }, + "input":{"shape":"UpdateGlobalSettingsRequest"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Updates global settings for the administrator's AWS account, such as Amazon Chime Business Calling and Amazon Chime Voice Connector settings.

" + }, + "UpdatePhoneNumber":{ + "name":"UpdatePhoneNumber", + "http":{ + "method":"POST", + "requestUri":"/phone-numbers/{phoneNumberId}", + "responseCode":200 + }, + "input":{"shape":"UpdatePhoneNumberRequest"}, + "output":{"shape":"UpdatePhoneNumberResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Updates phone number details, such as product type, for the specified phone number ID. For toll-free numbers, you can use only the Amazon Chime Voice Connector product type.

" + }, + "UpdateUser":{ + "name":"UpdateUser", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/users/{userId}", + "responseCode":200 + }, + "input":{"shape":"UpdateUserRequest"}, + "output":{"shape":"UpdateUserResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Updates user details for a specified user ID. Currently, only LicenseType updates are supported for this action.

" + }, + "UpdateUserSettings":{ + "name":"UpdateUserSettings", + "http":{ + "method":"PUT", + "requestUri":"/accounts/{accountId}/users/{userId}/settings", + "responseCode":204 + }, + "input":{"shape":"UpdateUserSettingsRequest"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Updates the settings for the specified user, such as phone number settings.

" + }, + "UpdateVoiceConnector":{ + "name":"UpdateVoiceConnector", + "http":{ + "method":"PUT", + "requestUri":"/voice-connectors/{voiceConnectorId}", + "responseCode":200 + }, + "input":{"shape":"UpdateVoiceConnectorRequest"}, + "output":{"shape":"UpdateVoiceConnectorResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Updates details for the specified Amazon Chime Voice Connector.

" + } + }, + "shapes":{ + "Account":{ + "type":"structure", + "required":[ + "AwsAccountId", + "AccountId", + "Name" + ], + "members":{ + "AwsAccountId":{ + "shape":"String", + "documentation":"

The AWS account ID.

" + }, + "AccountId":{ + "shape":"String", + "documentation":"

The Amazon Chime account ID.

" + }, + "Name":{ + "shape":"String", + "documentation":"

The Amazon Chime account name.

" + }, + "AccountType":{ + "shape":"AccountType", + "documentation":"

The Amazon Chime account type. For more information about different account types, see Managing Your Amazon Chime Accounts in the Amazon Chime Administration Guide.

" + }, + "CreatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The Amazon Chime account creation timestamp, in ISO 8601 format.

" + }, + "DefaultLicense":{ + "shape":"License", + "documentation":"

The default license for the Amazon Chime account.

" + }, + "SupportedLicenses":{ + "shape":"LicenseList", + "documentation":"

Supported licenses for the Amazon Chime account.

" + } + }, + "documentation":"

The Amazon Chime account details. An AWS account can have multiple Amazon Chime accounts.

" + }, + "AccountList":{ + "type":"list", + "member":{"shape":"Account"} + }, + "AccountName":{ + "type":"string", + "max":100, + "min":1, + "pattern":".*\\S.*" + }, + "AccountSettings":{ + "type":"structure", + "members":{ + "DisableRemoteControl":{ + "shape":"Boolean", + "documentation":"

Setting that stops or starts remote control of shared screens during meetings.

" + }, + "EnableDialOut":{ + "shape":"Boolean", + "documentation":"

Setting that allows meeting participants to choose the Call me at a phone number option. For more information, see Join a Meeting without the Amazon Chime App.

" + } + }, + "documentation":"

Settings related to the Amazon Chime account. This includes settings that start or stop remote control of shared screens, or start or stop the dial-out option in the Amazon Chime web application. For more information about these settings, see Use the Policies Page in the Amazon Chime Administration Guide.

" + }, + "AccountType":{ + "type":"string", + "enum":[ + "Team", + "EnterpriseDirectory", + "EnterpriseLWA", + "EnterpriseOIDC" + ] + }, + "AssociatePhoneNumberWithUserRequest":{ + "type":"structure", + "required":[ + "AccountId", + "UserId", + "E164PhoneNumber" + ], + "members":{ + "AccountId":{ + "shape":"String", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "UserId":{ + "shape":"String", + "documentation":"

The user ID.

", + "location":"uri", + "locationName":"userId" + }, + "E164PhoneNumber":{ + "shape":"E164PhoneNumber", + "documentation":"

The phone number, in E.164 format.

" + } + } + }, + "AssociatePhoneNumberWithUserResponse":{ + "type":"structure", + "members":{ + } + }, + "AssociatePhoneNumbersWithVoiceConnectorRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + }, + "E164PhoneNumbers":{ + "shape":"E164PhoneNumberList", + "documentation":"

List of phone numbers, in E.164 format.

" + } + } + }, + "AssociatePhoneNumbersWithVoiceConnectorResponse":{ + "type":"structure", + "members":{ + "PhoneNumberErrors":{ + "shape":"PhoneNumberErrorList", + "documentation":"

If the action fails for one or more of the phone numbers in the request, a list of the phone numbers is returned, along with error codes and error messages.

" + } + } + }, + "BadRequestException":{ + "type":"structure", + "members":{ + "Code":{"shape":"ErrorCode"}, + "Message":{"shape":"String"} + }, + "documentation":"

The input parameters don't match the service's restrictions.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "BatchDeletePhoneNumberRequest":{ + "type":"structure", + "required":["PhoneNumberIds"], + "members":{ + "PhoneNumberIds":{ + "shape":"NonEmptyStringList", + "documentation":"

List of phone number IDs.

" + } + } + }, + "BatchDeletePhoneNumberResponse":{ + "type":"structure", + "members":{ + "PhoneNumberErrors":{ + "shape":"PhoneNumberErrorList", + "documentation":"

If the action fails for one or more of the phone numbers in the request, a list of the phone numbers is returned, along with error codes and error messages.

" + } + } + }, + "BatchSuspendUserRequest":{ + "type":"structure", + "required":[ + "AccountId", + "UserIdList" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "UserIdList":{ + "shape":"UserIdList", + "documentation":"

The request containing the user IDs to suspend.

" + } + } + }, + "BatchSuspendUserResponse":{ + "type":"structure", + "members":{ + "UserErrors":{ + "shape":"UserErrorList", + "documentation":"

If the BatchSuspendUser action fails for one or more of the user IDs in the request, a list of the user IDs is returned, along with error codes and error messages.

" + } + } + }, + "BatchUnsuspendUserRequest":{ + "type":"structure", + "required":[ + "AccountId", + "UserIdList" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "UserIdList":{ + "shape":"UserIdList", + "documentation":"

The request containing the user IDs to unsuspend.

" + } + } + }, + "BatchUnsuspendUserResponse":{ + "type":"structure", + "members":{ + "UserErrors":{ + "shape":"UserErrorList", + "documentation":"

If the BatchUnsuspendUser action fails for one or more of the user IDs in the request, a list of the user IDs is returned, along with error codes and error messages.

" + } + } + }, + "BatchUpdatePhoneNumberRequest":{ + "type":"structure", + "required":["UpdatePhoneNumberRequestItems"], + "members":{ + "UpdatePhoneNumberRequestItems":{ + "shape":"UpdatePhoneNumberRequestItemList", + "documentation":"

The request containing the phone number IDs and product types to update.

" + } + } + }, + "BatchUpdatePhoneNumberResponse":{ + "type":"structure", + "members":{ + "PhoneNumberErrors":{ + "shape":"PhoneNumberErrorList", + "documentation":"

If the action fails for one or more of the phone numbers in the request, a list of the phone numbers is returned, along with error codes and error messages.

" + } + } + }, + "BatchUpdateUserRequest":{ + "type":"structure", + "required":[ + "AccountId", + "UpdateUserRequestItems" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "UpdateUserRequestItems":{ + "shape":"UpdateUserRequestItemList", + "documentation":"

The request containing the user IDs and details to update.

" + } + } + }, + "BatchUpdateUserResponse":{ + "type":"structure", + "members":{ + "UserErrors":{ + "shape":"UserErrorList", + "documentation":"

If the BatchUpdateUser action fails for one or more of the user IDs in the request, a list of the user IDs is returned, along with error codes and error messages.

" + } + } + }, + "Boolean":{"type":"boolean"}, + "Bot":{ + "type":"structure", + "members":{ + "BotId":{ + "shape":"String", + "documentation":"

The bot ID.

" + }, + "UserId":{ + "shape":"String", + "documentation":"

The unique ID for the bot user.

" + }, + "DisplayName":{ + "shape":"SensitiveString", + "documentation":"

The bot display name.

" + }, + "BotType":{ + "shape":"BotType", + "documentation":"

The bot type.

" + }, + "Disabled":{ + "shape":"NullableBoolean", + "documentation":"

When true, the bot is stopped from running in your account.

" + }, + "CreatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The bot creation timestamp, in ISO 8601 format.

" + }, + "UpdatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The updated bot timestamp, in ISO 8601 format.

" + }, + "BotEmail":{ + "shape":"SensitiveString", + "documentation":"

The bot email address.

" + }, + "SecurityToken":{ + "shape":"SensitiveString", + "documentation":"

The security token used to authenticate Amazon Chime with the outgoing event endpoint.

" + } + }, + "documentation":"

A resource that allows Enterprise account administrators to configure an interface to receive events from Amazon Chime.

" + }, + "BotList":{ + "type":"list", + "member":{"shape":"Bot"} + }, + "BotType":{ + "type":"string", + "enum":["ChatBot"] + }, + "BusinessCallingSettings":{ + "type":"structure", + "members":{ + "CdrBucket":{ + "shape":"String", + "documentation":"

The Amazon S3 bucket designated for call detail record storage.

", + "box":true + } + }, + "documentation":"

The Amazon Chime Business Calling settings for the administrator's AWS account. Includes any Amazon S3 buckets designated for storing call detail records.

" + }, + "CallingRegion":{"type":"string"}, + "CallingRegionList":{ + "type":"list", + "member":{"shape":"CallingRegion"} + }, + "ConflictException":{ + "type":"structure", + "members":{ + "Code":{"shape":"ErrorCode"}, + "Message":{"shape":"String"} + }, + "documentation":"

The request could not be processed because of conflict in the current state of the resource.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "CpsLimit":{ + "type":"integer", + "min":1 + }, + "CreateAccountRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"AccountName", + "documentation":"

The name of the Amazon Chime account.

" + } + } + }, + "CreateAccountResponse":{ + "type":"structure", + "members":{ + "Account":{ + "shape":"Account", + "documentation":"

The Amazon Chime account details.

" + } + } + }, + "CreateBotRequest":{ + "type":"structure", + "required":[ + "DisplayName", + "AccountId" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "DisplayName":{ + "shape":"SensitiveString", + "documentation":"

The bot display name.

" + }, + "Domain":{ + "shape":"NonEmptyString", + "documentation":"

The domain of the Amazon Chime Enterprise account.

" + } + } + }, + "CreateBotResponse":{ + "type":"structure", + "members":{ + "Bot":{ + "shape":"Bot", + "documentation":"

The bot details.

" + } + } + }, + "CreatePhoneNumberOrderRequest":{ + "type":"structure", + "required":[ + "ProductType", + "E164PhoneNumbers" + ], + "members":{ + "ProductType":{ + "shape":"PhoneNumberProductType", + "documentation":"

The phone number product type.

" + }, + "E164PhoneNumbers":{ + "shape":"E164PhoneNumberList", + "documentation":"

List of phone numbers, in E.164 format.

" + } + } + }, + "CreatePhoneNumberOrderResponse":{ + "type":"structure", + "members":{ + "PhoneNumberOrder":{ + "shape":"PhoneNumberOrder", + "documentation":"

The phone number order details.

" + } + } + }, + "CreateVoiceConnectorRequest":{ + "type":"structure", + "required":[ + "Name", + "RequireEncryption" + ], + "members":{ + "Name":{ + "shape":"VoiceConnectorName", + "documentation":"

The name of the Amazon Chime Voice Connector.

" + }, + "RequireEncryption":{ + "shape":"Boolean", + "documentation":"

When enabled, requires encryption for the Amazon Chime Voice Connector.

" + } + } + }, + "CreateVoiceConnectorResponse":{ + "type":"structure", + "members":{ + "VoiceConnector":{ + "shape":"VoiceConnector", + "documentation":"

The Amazon Chime Voice Connector details.

" + } + } + }, + "Credential":{ + "type":"structure", + "members":{ + "Username":{ + "shape":"SensitiveString", + "documentation":"

The RFC2617 compliant user name associated with the SIP credentials, in US-ASCII format.

" + }, + "Password":{ + "shape":"SensitiveString", + "documentation":"

The RFC2617 compliant password associated with the SIP credentials, in US-ASCII format.

" + } + }, + "documentation":"

The SIP credentials used to authenticate requests to your Amazon Chime Voice Connector.

" + }, + "CredentialList":{ + "type":"list", + "member":{"shape":"Credential"} + }, + "DeleteAccountRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + } + } + }, + "DeleteAccountResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteEventsConfigurationRequest":{ + "type":"structure", + "required":[ + "AccountId", + "BotId" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "BotId":{ + "shape":"NonEmptyString", + "documentation":"

The bot ID.

", + "location":"uri", + "locationName":"botId" + } + } + }, + "DeletePhoneNumberRequest":{ + "type":"structure", + "required":["PhoneNumberId"], + "members":{ + "PhoneNumberId":{ + "shape":"String", + "documentation":"

The phone number ID.

", + "location":"uri", + "locationName":"phoneNumberId" + } + } + }, + "DeleteVoiceConnectorOriginationRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + } + } + }, + "DeleteVoiceConnectorRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + } + } + }, + "DeleteVoiceConnectorTerminationCredentialsRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + }, + "Usernames":{ + "shape":"SensitiveStringList", + "documentation":"

The RFC2617 compliant username associated with the SIP credentials, in US-ASCII format.

" + } + } + }, + "DeleteVoiceConnectorTerminationRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + } + } + }, + "DisassociatePhoneNumberFromUserRequest":{ + "type":"structure", + "required":[ + "AccountId", + "UserId" + ], + "members":{ + "AccountId":{ + "shape":"String", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "UserId":{ + "shape":"String", + "documentation":"

The user ID.

", + "location":"uri", + "locationName":"userId" + } + } + }, + "DisassociatePhoneNumberFromUserResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociatePhoneNumbersFromVoiceConnectorRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + }, + "E164PhoneNumbers":{ + "shape":"E164PhoneNumberList", + "documentation":"

List of phone numbers, in E.164 format.

" + } + } + }, + "DisassociatePhoneNumbersFromVoiceConnectorResponse":{ + "type":"structure", + "members":{ + "PhoneNumberErrors":{ + "shape":"PhoneNumberErrorList", + "documentation":"

If the action fails for one or more of the phone numbers in the request, a list of the phone numbers is returned, along with error codes and error messages.

" + } + } + }, + "E164PhoneNumber":{ + "type":"string", + "pattern":"^\\+?[1-9]\\d{1,14}$", + "sensitive":true + }, + "E164PhoneNumberList":{ + "type":"list", + "member":{"shape":"E164PhoneNumber"} + }, + "EmailAddress":{ + "type":"string", + "pattern":".+@.+\\..+", + "sensitive":true + }, + "EmailStatus":{ + "type":"string", + "enum":[ + "NotSent", + "Sent", + "Failed" + ] + }, + "ErrorCode":{ + "type":"string", + "enum":[ + "Unauthorized", + "Forbidden", + "NotFound", + "BadRequest", + "Conflict", + "ServiceFailure", + "ServiceUnavailable", + "Unprocessable", + "Throttled", + "PreconditionFailed" + ] + }, + "EventsConfiguration":{ + "type":"structure", + "members":{ + "BotId":{ + "shape":"String", + "documentation":"

The bot ID.

" + }, + "OutboundEventsHTTPSEndpoint":{ + "shape":"SensitiveString", + "documentation":"

HTTPS endpoint that allows a bot to receive outgoing events.

" + }, + "LambdaFunctionArn":{ + "shape":"SensitiveString", + "documentation":"

Lambda function ARN that allows a bot to receive outgoing events.

" + } + }, + "documentation":"

The configuration that allows a bot to receive outgoing events. Can be either an HTTPS endpoint or a Lambda function ARN.

" + }, + "ForbiddenException":{ + "type":"structure", + "members":{ + "Code":{"shape":"ErrorCode"}, + "Message":{"shape":"String"} + }, + "documentation":"

The client is permanently forbidden from making the request. For example, when a user tries to create an account from an unsupported Region.

", + "error":{"httpStatusCode":403}, + "exception":true + }, + "GetAccountRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + } + } + }, + "GetAccountResponse":{ + "type":"structure", + "members":{ + "Account":{ + "shape":"Account", + "documentation":"

The Amazon Chime account details.

" + } + } + }, + "GetAccountSettingsRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + } + } + }, + "GetAccountSettingsResponse":{ + "type":"structure", + "members":{ + "AccountSettings":{ + "shape":"AccountSettings", + "documentation":"

The Amazon Chime account settings.

" + } + } + }, + "GetBotRequest":{ + "type":"structure", + "required":[ + "AccountId", + "BotId" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "BotId":{ + "shape":"NonEmptyString", + "documentation":"

The bot ID.

", + "location":"uri", + "locationName":"botId" + } + } + }, + "GetBotResponse":{ + "type":"structure", + "members":{ + "Bot":{ + "shape":"Bot", + "documentation":"

The chat bot details.

" + } + } + }, + "GetEventsConfigurationRequest":{ + "type":"structure", + "required":[ + "AccountId", + "BotId" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "BotId":{ + "shape":"NonEmptyString", + "documentation":"

The bot ID.

", + "location":"uri", + "locationName":"botId" + } + } + }, + "GetEventsConfigurationResponse":{ + "type":"structure", + "members":{ + "EventsConfiguration":{ + "shape":"EventsConfiguration", + "documentation":"

The events configuration details.

" + } + } + }, + "GetGlobalSettingsResponse":{ + "type":"structure", + "members":{ + "BusinessCalling":{ + "shape":"BusinessCallingSettings", + "documentation":"

The Amazon Chime Business Calling settings.

" + }, + "VoiceConnector":{ + "shape":"VoiceConnectorSettings", + "documentation":"

The Amazon Chime Voice Connector settings.

" + } + } + }, + "GetPhoneNumberOrderRequest":{ + "type":"structure", + "required":["PhoneNumberOrderId"], + "members":{ + "PhoneNumberOrderId":{ + "shape":"GuidString", + "documentation":"

The ID for the phone number order.

", + "location":"uri", + "locationName":"phoneNumberOrderId" + } + } + }, + "GetPhoneNumberOrderResponse":{ + "type":"structure", + "members":{ + "PhoneNumberOrder":{ + "shape":"PhoneNumberOrder", + "documentation":"

The phone number order details.

" + } + } + }, + "GetPhoneNumberRequest":{ + "type":"structure", + "required":["PhoneNumberId"], + "members":{ + "PhoneNumberId":{ + "shape":"String", + "documentation":"

The phone number ID.

", + "location":"uri", + "locationName":"phoneNumberId" + } + } + }, + "GetPhoneNumberResponse":{ + "type":"structure", + "members":{ + "PhoneNumber":{ + "shape":"PhoneNumber", + "documentation":"

The phone number details.

" + } + } + }, + "GetUserRequest":{ "type":"structure", "required":[ - "AwsAccountId", "AccountId", - "Name" + "UserId" ], "members":{ - "AwsAccountId":{ - "shape":"String", - "documentation":"

The AWS account ID.

" + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" }, + "UserId":{ + "shape":"NonEmptyString", + "documentation":"

The user ID.

", + "location":"uri", + "locationName":"userId" + } + } + }, + "GetUserResponse":{ + "type":"structure", + "members":{ + "User":{ + "shape":"User", + "documentation":"

The user details.

" + } + } + }, + "GetUserSettingsRequest":{ + "type":"structure", + "required":[ + "AccountId", + "UserId" + ], + "members":{ "AccountId":{ "shape":"String", - "documentation":"

The Amazon Chime account ID.

" + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "UserId":{ + "shape":"String", + "documentation":"

The user ID.

", + "location":"uri", + "locationName":"userId" + } + } + }, + "GetUserSettingsResponse":{ + "type":"structure", + "members":{ + "UserSettings":{ + "shape":"UserSettings", + "documentation":"

The user settings.

" + } + } + }, + "GetVoiceConnectorOriginationRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + } + } + }, + "GetVoiceConnectorOriginationResponse":{ + "type":"structure", + "members":{ + "Origination":{ + "shape":"Origination", + "documentation":"

The origination setting details.

" + } + } + }, + "GetVoiceConnectorRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + } + } + }, + "GetVoiceConnectorResponse":{ + "type":"structure", + "members":{ + "VoiceConnector":{ + "shape":"VoiceConnector", + "documentation":"

The Amazon Chime Voice Connector details.

" + } + } + }, + "GetVoiceConnectorTerminationHealthRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + } + } + }, + "GetVoiceConnectorTerminationHealthResponse":{ + "type":"structure", + "members":{ + "TerminationHealth":{ + "shape":"TerminationHealth", + "documentation":"

The termination health details.

" + } + } + }, + "GetVoiceConnectorTerminationRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + } + } + }, + "GetVoiceConnectorTerminationResponse":{ + "type":"structure", + "members":{ + "Termination":{ + "shape":"Termination", + "documentation":"

The termination setting details.

" + } + } + }, + "GuidString":{ + "type":"string", + "pattern":"[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}" + }, + "Invite":{ + "type":"structure", + "members":{ + "InviteId":{ + "shape":"String", + "documentation":"

The invite ID.

" + }, + "Status":{ + "shape":"InviteStatus", + "documentation":"

The status of the invite.

" + }, + "EmailAddress":{ + "shape":"EmailAddress", + "documentation":"

The email address to which the invite is sent.

" + }, + "EmailStatus":{ + "shape":"EmailStatus", + "documentation":"

The status of the invite email.

" + } + }, + "documentation":"

Invitation object returned after emailing users to invite them to join the Amazon Chime Team account.

" + }, + "InviteList":{ + "type":"list", + "member":{"shape":"Invite"} + }, + "InviteStatus":{ + "type":"string", + "enum":[ + "Pending", + "Accepted", + "Failed" + ] + }, + "InviteUsersRequest":{ + "type":"structure", + "required":[ + "AccountId", + "UserEmailList" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" }, + "UserEmailList":{ + "shape":"UserEmailList", + "documentation":"

The user email addresses to which to send the invite.

" + } + } + }, + "InviteUsersResponse":{ + "type":"structure", + "members":{ + "Invites":{ + "shape":"InviteList", + "documentation":"

The invite details.

" + } + } + }, + "Iso8601Timestamp":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "License":{ + "type":"string", + "enum":[ + "Basic", + "Plus", + "Pro", + "ProTrial" + ] + }, + "LicenseList":{ + "type":"list", + "member":{"shape":"License"} + }, + "ListAccountsRequest":{ + "type":"structure", + "members":{ "Name":{ + "shape":"AccountName", + "documentation":"

Amazon Chime account name prefix with which to filter results.

", + "location":"querystring", + "locationName":"name" + }, + "UserEmail":{ + "shape":"EmailAddress", + "documentation":"

User email address with which to filter results.

", + "location":"querystring", + "locationName":"user-email" + }, + "NextToken":{ "shape":"String", - "documentation":"

The Amazon Chime account name.

" + "documentation":"

The token to use to retrieve the next page of results.

", + "location":"querystring", + "locationName":"next-token" }, - "AccountType":{ - "shape":"AccountType", - "documentation":"

The Amazon Chime account type. For more information about different account types, see Managing Your Amazon Chime Accounts in the Amazon Chime Administration Guide.

" + "MaxResults":{ + "shape":"ProfileServiceMaxResults", + "documentation":"

The maximum number of results to return in a single call. Defaults to 100.

", + "location":"querystring", + "locationName":"max-results" + } + } + }, + "ListAccountsResponse":{ + "type":"structure", + "members":{ + "Accounts":{ + "shape":"AccountList", + "documentation":"

List of Amazon Chime accounts and account details.

" }, - "CreatedTimestamp":{ - "shape":"Iso8601Timestamp", - "documentation":"

The Amazon Chime account creation timestamp, in ISO 8601 format.

" + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

" + } + } + }, + "ListBotsRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" }, - "DefaultLicense":{ - "shape":"License", - "documentation":"

The default license for the Amazon Chime account.

" + "MaxResults":{ + "shape":"ResultMax", + "documentation":"

The maximum number of results to return in a single call. Default is 10.

", + "location":"querystring", + "locationName":"max-results" }, - "SupportedLicenses":{ - "shape":"LicenseList", - "documentation":"

Supported licenses for the Amazon Chime account.

" + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

", + "location":"querystring", + "locationName":"next-token" } - }, - "documentation":"

The Amazon Chime account details. An AWS account can have multiple Amazon Chime accounts.

" - }, - "AccountList":{ - "type":"list", - "member":{"shape":"Account"} - }, - "AccountName":{ - "type":"string", - "max":100, - "min":1, - "pattern":".*\\S.*" + } }, - "AccountSettings":{ + "ListBotsResponse":{ "type":"structure", "members":{ - "DisableRemoteControl":{ - "shape":"Boolean", - "documentation":"

Setting that stops or starts remote control of shared screens during meetings.

" + "Bots":{ + "shape":"BotList", + "documentation":"

List of bots and bot details.

" }, - "EnableDialOut":{ - "shape":"Boolean", - "documentation":"

Setting that allows meeting participants to choose the Call me at a phone number option. For more information, see Join a Meeting without the Amazon Chime App.

" + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

" } - }, - "documentation":"

Settings related to the Amazon Chime account. This includes settings that start or stop remote control of shared screens, or start or stop the dial-out option in the Amazon Chime web application. For more information about these settings, see Use the Policies Page in the Amazon Chime Administration Guide.

" + } }, - "AccountType":{ - "type":"string", - "enum":[ - "Team", - "EnterpriseDirectory", - "EnterpriseLWA", - "EnterpriseOIDC" - ] + "ListPhoneNumberOrdersRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

", + "location":"querystring", + "locationName":"next-token" + }, + "MaxResults":{ + "shape":"ResultMax", + "documentation":"

The maximum number of results to return in a single call.

", + "location":"querystring", + "locationName":"max-results" + } + } }, - "BadRequestException":{ + "ListPhoneNumberOrdersResponse":{ "type":"structure", "members":{ - "Code":{"shape":"ErrorCode"}, - "Message":{"shape":"String"} - }, - "documentation":"

The input parameters don't match the service's restrictions.

", - "error":{"httpStatusCode":400}, - "exception":true + "PhoneNumberOrders":{ + "shape":"PhoneNumberOrderList", + "documentation":"

The phone number order details.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

" + } + } }, - "BatchSuspendUserRequest":{ + "ListPhoneNumbersRequest":{ "type":"structure", - "required":[ - "AccountId", - "UserIdList" - ], "members":{ - "AccountId":{ - "shape":"NonEmptyString", - "documentation":"

The Amazon Chime account ID.

", - "location":"uri", - "locationName":"accountId" + "Status":{ + "shape":"PhoneNumberStatus", + "documentation":"

The phone number status.

", + "location":"querystring", + "locationName":"status" }, - "UserIdList":{ - "shape":"UserIdList", - "documentation":"

The request containing the user IDs to suspend.

" + "ProductType":{ + "shape":"PhoneNumberProductType", + "documentation":"

The phone number product type.

", + "location":"querystring", + "locationName":"product-type" + }, + "FilterName":{ + "shape":"PhoneNumberAssociationName", + "documentation":"

The filter to use to limit the number of results.

", + "location":"querystring", + "locationName":"filter-name" + }, + "FilterValue":{ + "shape":"String", + "documentation":"

The value to use for the filter.

", + "location":"querystring", + "locationName":"filter-value" + }, + "MaxResults":{ + "shape":"ResultMax", + "documentation":"

The maximum number of results to return in a single call.

", + "location":"querystring", + "locationName":"max-results" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

", + "location":"querystring", + "locationName":"next-token" } } }, - "BatchSuspendUserResponse":{ + "ListPhoneNumbersResponse":{ "type":"structure", "members":{ - "UserErrors":{ - "shape":"UserErrorList", - "documentation":"

If the BatchSuspendUser action fails for one or more of the user IDs in the request, a list of the user IDs is returned, along with error codes and error messages.

" + "PhoneNumbers":{ + "shape":"PhoneNumberList", + "documentation":"

The phone number details.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

" } } }, - "BatchUnsuspendUserRequest":{ + "ListUsersRequest":{ "type":"structure", - "required":[ - "AccountId", - "UserIdList" - ], + "required":["AccountId"], "members":{ "AccountId":{ "shape":"NonEmptyString", @@ -454,245 +2382,445 @@ "location":"uri", "locationName":"accountId" }, - "UserIdList":{ - "shape":"UserIdList", - "documentation":"

The request containing the user IDs to unsuspend.

" + "UserEmail":{ + "shape":"EmailAddress", + "documentation":"

Optional. The user email address used to filter results. Maximum 1.

", + "location":"querystring", + "locationName":"user-email" + }, + "MaxResults":{ + "shape":"ProfileServiceMaxResults", + "documentation":"

The maximum number of results to return in a single call. Defaults to 100.

", + "location":"querystring", + "locationName":"max-results" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

", + "location":"querystring", + "locationName":"next-token" } } }, - "BatchUnsuspendUserResponse":{ + "ListUsersResponse":{ "type":"structure", "members":{ - "UserErrors":{ - "shape":"UserErrorList", - "documentation":"

If the BatchUnsuspendUser action fails for one or more of the user IDs in the request, a list of the user IDs is returned, along with error codes and error messages.

" + "Users":{ + "shape":"UserList", + "documentation":"

List of users and user details.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

" } } }, - "BatchUpdateUserRequest":{ + "ListVoiceConnectorTerminationCredentialsRequest":{ "type":"structure", - "required":[ - "AccountId", - "UpdateUserRequestItems" - ], + "required":["VoiceConnectorId"], "members":{ - "AccountId":{ + "VoiceConnectorId":{ "shape":"NonEmptyString", - "documentation":"

The Amazon Chime account ID.

", + "documentation":"

The Amazon Chime Voice Connector ID.

", "location":"uri", - "locationName":"accountId" - }, - "UpdateUserRequestItems":{ - "shape":"UpdateUserRequestItemList", - "documentation":"

The request containing the user IDs and details to update.

" + "locationName":"voiceConnectorId" } } }, - "BatchUpdateUserResponse":{ + "ListVoiceConnectorTerminationCredentialsResponse":{ "type":"structure", "members":{ - "UserErrors":{ - "shape":"UserErrorList", - "documentation":"

If the BatchUpdateUser action fails for one or more of the user IDs in the request, a list of the user IDs is returned, along with error codes and error messages.

" + "Usernames":{ + "shape":"SensitiveStringList", + "documentation":"

A list of user names.

" } } }, - "Boolean":{"type":"boolean"}, - "ConflictException":{ - "type":"structure", - "members":{ - "Code":{"shape":"ErrorCode"}, - "Message":{"shape":"String"} - }, - "documentation":"

The request could not be processed because of conflict in the current state of the resource.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "CreateAccountRequest":{ + "ListVoiceConnectorsRequest":{ "type":"structure", - "required":["Name"], "members":{ - "Name":{ - "shape":"AccountName", - "documentation":"

The name of the Amazon Chime account.

" + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

", + "location":"querystring", + "locationName":"next-token" + }, + "MaxResults":{ + "shape":"ResultMax", + "documentation":"

The maximum number of results to return in a single call.

", + "location":"querystring", + "locationName":"max-results" } } }, - "CreateAccountResponse":{ + "ListVoiceConnectorsResponse":{ "type":"structure", "members":{ - "Account":{ - "shape":"Account", - "documentation":"

The Amazon Chime account details.

" + "VoiceConnectors":{ + "shape":"VoiceConnectorList", + "documentation":"

The details of the Amazon Chime Voice Connectors.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

" } } }, - "DeleteAccountRequest":{ + "LogoutUserRequest":{ "type":"structure", - "required":["AccountId"], + "required":[ + "AccountId", + "UserId" + ], "members":{ "AccountId":{ "shape":"NonEmptyString", "documentation":"

The Amazon Chime account ID.

", "location":"uri", "locationName":"accountId" + }, + "UserId":{ + "shape":"NonEmptyString", + "documentation":"

The user ID.

", + "location":"uri", + "locationName":"userId" } } }, - "DeleteAccountResponse":{ + "LogoutUserResponse":{ "type":"structure", "members":{ } }, - "EmailAddress":{ - "type":"string", - "pattern":".+@.+\\..+", - "sensitive":true - }, - "EmailStatus":{ + "NonEmptyString":{ "type":"string", - "enum":[ - "NotSent", - "Sent", - "Failed" - ] + "pattern":".*\\S.*" }, - "ErrorCode":{ - "type":"string", - "enum":[ - "Unauthorized", - "Forbidden", - "NotFound", - "BadRequest", - "Conflict", - "ServiceFailure", - "ServiceUnavailable", - "Unprocessable", - "Throttled", - "PreconditionFailed" - ] + "NonEmptyStringList":{ + "type":"list", + "member":{"shape":"String"}, + "min":1 }, - "ForbiddenException":{ + "NotFoundException":{ "type":"structure", "members":{ "Code":{"shape":"ErrorCode"}, "Message":{"shape":"String"} }, - "documentation":"

The client is permanently forbidden from making the request. For example, when a user tries to create an account from an unsupported region.

", - "error":{"httpStatusCode":403}, + "documentation":"

One or more of the resources in the request does not exist in the system.

", + "error":{"httpStatusCode":404}, "exception":true }, - "GetAccountRequest":{ + "NullableBoolean":{"type":"boolean"}, + "OrderedPhoneNumber":{ + "type":"structure", + "members":{ + "E164PhoneNumber":{ + "shape":"E164PhoneNumber", + "documentation":"

The phone number, in E.164 format.

" + }, + "Status":{ + "shape":"OrderedPhoneNumberStatus", + "documentation":"

The phone number status.

" + } + }, + "documentation":"

A phone number for which an order has been placed.

" + }, + "OrderedPhoneNumberList":{ + "type":"list", + "member":{"shape":"OrderedPhoneNumber"} + }, + "OrderedPhoneNumberStatus":{ + "type":"string", + "enum":[ + "Processing", + "Acquired", + "Failed" + ] + }, + "Origination":{ "type":"structure", - "required":["AccountId"], "members":{ - "AccountId":{ - "shape":"NonEmptyString", - "documentation":"

The Amazon Chime account ID.

", - "location":"uri", - "locationName":"accountId" + "Routes":{ + "shape":"OriginationRouteList", + "documentation":"

The call distribution properties defined for your SIP hosts. Valid range: Minimum value of 1. Maximum value of 20.

" + }, + "Disabled":{ + "shape":"Boolean", + "documentation":"

When origination settings are disabled, inbound calls are not enabled for your Amazon Chime Voice Connector.

" } - } + }, + "documentation":"

Origination settings enable your SIP hosts to receive inbound calls using your Amazon Chime Voice Connector.

" }, - "GetAccountResponse":{ + "OriginationRoute":{ "type":"structure", "members":{ - "Account":{ - "shape":"Account", - "documentation":"

The Amazon Chime account details.

" + "Host":{ + "shape":"String", + "documentation":"

The FODN or IP address to contact for origination traffic.

" + }, + "Port":{ + "shape":"Port", + "documentation":"

The designated origination route port. Defaults to 5060.

" + }, + "Protocol":{ + "shape":"OriginationRouteProtocol", + "documentation":"

The protocol to use for the origination route. Encryption-enabled Amazon Chime Voice Connectors use TCP protocol by default.

" + }, + "Priority":{ + "shape":"OriginationRoutePriority", + "documentation":"

The priority associated with the host, with 1 being the highest priority. Higher priority hosts are attempted first.

" + }, + "Weight":{ + "shape":"OriginationRouteWeight", + "documentation":"

The weight associated with the host. If hosts are equal in priority, calls are distributed among them based on their relative weight.

" } - } + }, + "documentation":"

Origination routes define call distribution properties for your SIP hosts to receive inbound calls using your Amazon Chime Voice Connector. Limit: 10 origination routes per Amazon Chime Voice Connector.

" }, - "GetAccountSettingsRequest":{ + "OriginationRouteList":{ + "type":"list", + "member":{"shape":"OriginationRoute"} + }, + "OriginationRoutePriority":{ + "type":"integer", + "max":100, + "min":1 + }, + "OriginationRouteProtocol":{ + "type":"string", + "enum":[ + "TCP", + "UDP" + ] + }, + "OriginationRouteWeight":{ + "type":"integer", + "max":100, + "min":1 + }, + "PhoneNumber":{ "type":"structure", - "required":["AccountId"], "members":{ - "AccountId":{ - "shape":"NonEmptyString", - "documentation":"

The Amazon Chime account ID.

", - "location":"uri", - "locationName":"accountId" + "PhoneNumberId":{ + "shape":"String", + "documentation":"

The phone number ID.

" + }, + "E164PhoneNumber":{ + "shape":"E164PhoneNumber", + "documentation":"

The phone number, in E.164 format.

" + }, + "Type":{ + "shape":"PhoneNumberType", + "documentation":"

The phone number type.

" + }, + "ProductType":{ + "shape":"PhoneNumberProductType", + "documentation":"

The phone number product type.

" + }, + "Status":{ + "shape":"PhoneNumberStatus", + "documentation":"

The phone number status.

" + }, + "Capabilities":{ + "shape":"PhoneNumberCapabilities", + "documentation":"

The phone number capabilities.

" + }, + "Associations":{ + "shape":"PhoneNumberAssociationList", + "documentation":"

The phone number associations.

" + }, + "CreatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The phone number creation timestamp, in ISO 8601 format.

" + }, + "UpdatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The updated phone number timestamp, in ISO 8601 format.

" + }, + "DeletionTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The deleted phone number timestamp, in ISO 8601 format.

" } - } + }, + "documentation":"

A phone number used for Amazon Chime Business Calling or an Amazon Chime Voice Connector.

" }, - "GetAccountSettingsResponse":{ + "PhoneNumberAssociation":{ "type":"structure", "members":{ - "AccountSettings":{ - "shape":"AccountSettings", - "documentation":"

The Amazon Chime account settings.

" + "Value":{ + "shape":"String", + "documentation":"

Contains the ID for the entity specified in Name.

" + }, + "Name":{ + "shape":"PhoneNumberAssociationName", + "documentation":"

Defines the association with an Amazon Chime account ID, user ID, or Amazon Chime Voice Connector ID.

" + }, + "AssociatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The timestamp of the phone number association, in ISO 8601 format.

" } - } + }, + "documentation":"

The phone number associations, such as Amazon Chime account ID, Amazon Chime user ID, or Amazon Chime Voice Connector ID.

" }, - "GetUserRequest":{ - "type":"structure", - "required":[ + "PhoneNumberAssociationList":{ + "type":"list", + "member":{"shape":"PhoneNumberAssociation"} + }, + "PhoneNumberAssociationName":{ + "type":"string", + "enum":[ "AccountId", - "UserId" - ], + "UserId", + "VoiceConnectorId" + ] + }, + "PhoneNumberCapabilities":{ + "type":"structure", "members":{ - "AccountId":{ - "shape":"NonEmptyString", - "documentation":"

The Amazon Chime account ID.

", - "location":"uri", - "locationName":"accountId" + "InboundCall":{ + "shape":"NullableBoolean", + "documentation":"

Allows or denies inbound calling for the specified phone number.

" }, - "UserId":{ - "shape":"NonEmptyString", - "documentation":"

The user ID.

", - "location":"uri", - "locationName":"userId" + "OutboundCall":{ + "shape":"NullableBoolean", + "documentation":"

Allows or denies outbound calling for the specified phone number.

" + }, + "InboundSMS":{ + "shape":"NullableBoolean", + "documentation":"

Allows or denies inbound SMS messaging for the specified phone number.

" + }, + "OutboundSMS":{ + "shape":"NullableBoolean", + "documentation":"

Allows or denies outbound SMS messaging for the specified phone number.

" + }, + "InboundMMS":{ + "shape":"NullableBoolean", + "documentation":"

Allows or denies inbound MMS messaging for the specified phone number.

" + }, + "OutboundMMS":{ + "shape":"NullableBoolean", + "documentation":"

Allows or denies outbound MMS messaging for the specified phone number.

" } - } + }, + "documentation":"

The phone number capabilities, such as enabled inbound and outbound calling and text messaging.

" }, - "GetUserResponse":{ + "PhoneNumberError":{ "type":"structure", "members":{ - "User":{ - "shape":"User", - "documentation":"

The user details.

" + "PhoneNumberId":{ + "shape":"NonEmptyString", + "documentation":"

The phone number ID for which the action failed.

" + }, + "ErrorCode":{ + "shape":"ErrorCode", + "documentation":"

The error code.

" + }, + "ErrorMessage":{ + "shape":"String", + "documentation":"

The error message.

" } - } + }, + "documentation":"

If the phone number action fails for one or more of the phone numbers in the request, a list of the phone numbers is returned, along with error codes and error messages.

" }, - "Invite":{ + "PhoneNumberErrorList":{ + "type":"list", + "member":{"shape":"PhoneNumberError"} + }, + "PhoneNumberList":{ + "type":"list", + "member":{"shape":"PhoneNumber"} + }, + "PhoneNumberMaxResults":{ + "type":"integer", + "max":500, + "min":1 + }, + "PhoneNumberOrder":{ "type":"structure", "members":{ - "InviteId":{ - "shape":"String", - "documentation":"

The invite ID.

" + "PhoneNumberOrderId":{ + "shape":"GuidString", + "documentation":"

The phone number order ID.

" + }, + "ProductType":{ + "shape":"PhoneNumberProductType", + "documentation":"

The phone number order product type.

" }, "Status":{ - "shape":"InviteStatus", - "documentation":"

The status of the invite.

" + "shape":"PhoneNumberOrderStatus", + "documentation":"

The status of the phone number order.

" }, - "EmailAddress":{ - "shape":"EmailAddress", - "documentation":"

The email address to which the invite is sent.

" + "OrderedPhoneNumbers":{ + "shape":"OrderedPhoneNumberList", + "documentation":"

The ordered phone number details, such as the phone number in E.164 format and the phone number status.

" }, - "EmailStatus":{ - "shape":"EmailStatus", - "documentation":"

The status of the invite email.

" + "CreatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The phone number order creation timestamp, in ISO 8601 format.

" + }, + "UpdatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The updated phone number order timestamp, in ISO 8601 format.

" } }, - "documentation":"

Invitation object returned after emailing users to invite them to join the Amazon Chime Team account.

" + "documentation":"

The details of a phone number order created for Amazon Chime.

" }, - "InviteList":{ + "PhoneNumberOrderList":{ "type":"list", - "member":{"shape":"Invite"} + "member":{"shape":"PhoneNumberOrder"} }, - "InviteStatus":{ + "PhoneNumberOrderStatus":{ "type":"string", "enum":[ - "Pending", - "Accepted", - "Failed" + "Processing", + "Successful", + "Failed", + "Partial" ] }, - "InviteUsersRequest":{ + "PhoneNumberProductType":{ + "type":"string", + "enum":[ + "BusinessCalling", + "VoiceConnector" + ] + }, + "PhoneNumberStatus":{ + "type":"string", + "enum":[ + "AcquireInProgress", + "AcquireFailed", + "Unassigned", + "Assigned", + "ReleaseInProgress", + "DeleteInProgress", + "ReleaseFailed", + "DeleteFailed" + ] + }, + "PhoneNumberType":{ + "type":"string", + "enum":[ + "Local", + "TollFree" + ] + }, + "Port":{ + "type":"integer", + "max":65535, + "min":0 + }, + "ProfileServiceMaxResults":{ + "type":"integer", + "max":200, + "min":1 + }, + "PutEventsConfigurationRequest":{ "type":"structure", "required":[ "AccountId", - "UserEmailList" + "BotId" ], "members":{ "AccountId":{ @@ -701,128 +2829,105 @@ "location":"uri", "locationName":"accountId" }, - "UserEmailList":{ - "shape":"UserEmailList", - "documentation":"

The user email addresses to which to send the invite.

" + "BotId":{ + "shape":"NonEmptyString", + "documentation":"

The bot ID.

", + "location":"uri", + "locationName":"botId" + }, + "OutboundEventsHTTPSEndpoint":{ + "shape":"SensitiveString", + "documentation":"

HTTPS endpoint that allows the bot to receive outgoing events.

" + }, + "LambdaFunctionArn":{ + "shape":"SensitiveString", + "documentation":"

Lambda function ARN that allows the bot to receive outgoing events.

" } } }, - "InviteUsersResponse":{ + "PutEventsConfigurationResponse":{ "type":"structure", "members":{ - "Invites":{ - "shape":"InviteList", - "documentation":"

The invite details.

" - } + "EventsConfiguration":{"shape":"EventsConfiguration"} } }, - "Iso8601Timestamp":{ - "type":"timestamp", - "timestampFormat":"iso8601" - }, - "License":{ - "type":"string", - "enum":[ - "Basic", - "Plus", - "Pro", - "ProTrial" - ] - }, - "LicenseList":{ - "type":"list", - "member":{"shape":"License"} - }, - "ListAccountsRequest":{ + "PutVoiceConnectorOriginationRequest":{ "type":"structure", + "required":[ + "VoiceConnectorId", + "Origination" + ], "members":{ - "Name":{ - "shape":"AccountName", - "documentation":"

Amazon Chime account name prefix with which to filter results.

", - "location":"querystring", - "locationName":"name" - }, - "UserEmail":{ - "shape":"EmailAddress", - "documentation":"

User email address with which to filter results.

", - "location":"querystring", - "locationName":"user-email" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results.

", - "location":"querystring", - "locationName":"next-token" + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" }, - "MaxResults":{ - "shape":"ProfileServiceMaxResults", - "documentation":"

The maximum number of results to return in a single call. Defaults to 100.

", - "location":"querystring", - "locationName":"max-results" + "Origination":{ + "shape":"Origination", + "documentation":"

The origination setting details to add.

" } } }, - "ListAccountsResponse":{ + "PutVoiceConnectorOriginationResponse":{ "type":"structure", "members":{ - "Accounts":{ - "shape":"AccountList", - "documentation":"

List of Amazon Chime accounts and account details.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results.

" + "Origination":{ + "shape":"Origination", + "documentation":"

The updated origination setting details.

" } } }, - "ListUsersRequest":{ + "PutVoiceConnectorTerminationCredentialsRequest":{ "type":"structure", - "required":["AccountId"], + "required":["VoiceConnectorId"], "members":{ - "AccountId":{ + "VoiceConnectorId":{ "shape":"NonEmptyString", - "documentation":"

The Amazon Chime account ID.

", + "documentation":"

The Amazon Chime Voice Connector ID.

", "location":"uri", - "locationName":"accountId" - }, - "UserEmail":{ - "shape":"EmailAddress", - "documentation":"

Optional. The user email address used to filter results. Maximum 1.

", - "location":"querystring", - "locationName":"user-email" + "locationName":"voiceConnectorId" }, - "MaxResults":{ - "shape":"ProfileServiceMaxResults", - "documentation":"

The maximum number of results to return in a single call. Defaults to 100.

", - "location":"querystring", - "locationName":"max-results" + "Credentials":{ + "shape":"CredentialList", + "documentation":"

The termination SIP credentials.

" + } + } + }, + "PutVoiceConnectorTerminationRequest":{ + "type":"structure", + "required":[ + "VoiceConnectorId", + "Termination" + ], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results.

", - "location":"querystring", - "locationName":"next-token" + "Termination":{ + "shape":"Termination", + "documentation":"

The termination setting details to add.

" } } }, - "ListUsersResponse":{ + "PutVoiceConnectorTerminationResponse":{ "type":"structure", "members":{ - "Users":{ - "shape":"UserList", - "documentation":"

List of users and user details.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results.

" + "Termination":{ + "shape":"Termination", + "documentation":"

The updated termination setting details.

" } } }, - "LogoutUserRequest":{ + "RegenerateSecurityTokenRequest":{ "type":"structure", "required":[ "AccountId", - "UserId" + "BotId" ], "members":{ "AccountId":{ @@ -831,38 +2936,20 @@ "location":"uri", "locationName":"accountId" }, - "UserId":{ + "BotId":{ "shape":"NonEmptyString", - "documentation":"

The user ID.

", + "documentation":"

The bot ID.

", "location":"uri", - "locationName":"userId" + "locationName":"botId" } } }, - "LogoutUserResponse":{ + "RegenerateSecurityTokenResponse":{ "type":"structure", "members":{ + "Bot":{"shape":"Bot"} } }, - "NonEmptyString":{ - "type":"string", - "pattern":".*\\S.*" - }, - "NotFoundException":{ - "type":"structure", - "members":{ - "Code":{"shape":"ErrorCode"}, - "Message":{"shape":"String"} - }, - "documentation":"

One or more of the resources in the request does not exist in the system.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "ProfileServiceMaxResults":{ - "type":"integer", - "max":200, - "min":1 - }, "RegistrationStatus":{ "type":"string", "enum":[ @@ -901,10 +2988,106 @@ } } }, + "ResourceLimitExceededException":{ + "type":"structure", + "members":{ + "Code":{"shape":"ErrorCode"}, + "Message":{"shape":"String"} + }, + "documentation":"

The request exceeds the resource limit.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "RestorePhoneNumberRequest":{ + "type":"structure", + "required":["PhoneNumberId"], + "members":{ + "PhoneNumberId":{ + "shape":"NonEmptyString", + "documentation":"

The phone number.

", + "location":"uri", + "locationName":"phoneNumberId" + } + } + }, + "RestorePhoneNumberResponse":{ + "type":"structure", + "members":{ + "PhoneNumber":{ + "shape":"PhoneNumber", + "documentation":"

The phone number details.

" + } + } + }, + "ResultMax":{ + "type":"integer", + "max":99, + "min":1 + }, + "SearchAvailablePhoneNumbersRequest":{ + "type":"structure", + "members":{ + "AreaCode":{ + "shape":"String", + "documentation":"

The area code used to filter results.

", + "location":"querystring", + "locationName":"area-code" + }, + "City":{ + "shape":"String", + "documentation":"

The city used to filter results.

", + "location":"querystring", + "locationName":"city" + }, + "Country":{ + "shape":"String", + "documentation":"

The country used to filter results.

", + "location":"querystring", + "locationName":"country" + }, + "State":{ + "shape":"String", + "documentation":"

The state used to filter results.

", + "location":"querystring", + "locationName":"state" + }, + "TollFreePrefix":{ + "shape":"TollFreePrefix", + "documentation":"

The toll-free prefix that you use to filter results.

", + "location":"querystring", + "locationName":"toll-free-prefix" + }, + "MaxResults":{ + "shape":"PhoneNumberMaxResults", + "documentation":"

The maximum number of results to return in a single call.

", + "location":"querystring", + "locationName":"max-results" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

", + "location":"querystring", + "locationName":"next-token" + } + } + }, + "SearchAvailablePhoneNumbersResponse":{ + "type":"structure", + "members":{ + "E164PhoneNumbers":{ + "shape":"E164PhoneNumberList", + "documentation":"

List of phone numbers, in E.164 format.

" + } + } + }, "SensitiveString":{ "type":"string", "sensitive":true }, + "SensitiveStringList":{ + "type":"list", + "member":{"shape":"SensitiveString"} + }, "ServiceFailureException":{ "type":"structure", "members":{ @@ -928,6 +3111,73 @@ "fault":true }, "String":{"type":"string"}, + "StringList":{ + "type":"list", + "member":{"shape":"String"} + }, + "TelephonySettings":{ + "type":"structure", + "required":[ + "InboundCalling", + "OutboundCalling", + "SMS" + ], + "members":{ + "InboundCalling":{ + "shape":"Boolean", + "documentation":"

Allows or denies inbound calling.

" + }, + "OutboundCalling":{ + "shape":"Boolean", + "documentation":"

Allows or denies outbound calling.

" + }, + "SMS":{ + "shape":"Boolean", + "documentation":"

Allows or denies SMS messaging.

" + } + }, + "documentation":"

Settings that allow management of telephony permissions for an Amazon Chime user, such as inbound and outbound calling and text messaging.

" + }, + "Termination":{ + "type":"structure", + "members":{ + "CpsLimit":{ + "shape":"CpsLimit", + "documentation":"

The limit on calls per second. Max value based on account service limit. Default value of 1.

" + }, + "DefaultPhoneNumber":{ + "shape":"E164PhoneNumber", + "documentation":"

The default caller ID phone number.

" + }, + "CallingRegions":{ + "shape":"CallingRegionList", + "documentation":"

The countries to which calls are allowed.

" + }, + "CidrAllowedList":{ + "shape":"StringList", + "documentation":"

The IP addresses allowed to make calls, in CIDR format.

" + }, + "Disabled":{ + "shape":"Boolean", + "documentation":"

When termination settings are disabled, outbound calls can not be made.

" + } + }, + "documentation":"

Termination settings enable your SIP hosts to make outbound calls using your Amazon Chime Voice Connector.

" + }, + "TerminationHealth":{ + "type":"structure", + "members":{ + "Timestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The timestamp, in ISO 8601 format.

" + }, + "Source":{ + "shape":"String", + "documentation":"

The source IP address.

" + } + }, + "documentation":"

The termination health details, including the source IP address and timestamp of the last successful SIP OPTIONS message from your SIP infrastructure.

" + }, "ThrottledClientException":{ "type":"structure", "members":{ @@ -938,6 +3188,12 @@ "error":{"httpStatusCode":429}, "exception":true }, + "TollFreePrefix":{ + "type":"string", + "max":3, + "min":3, + "pattern":"^8(00|33|44|55|66|77|88)$" + }, "UnauthorizedClientException":{ "type":"structure", "members":{ @@ -1007,6 +3263,101 @@ "members":{ } }, + "UpdateBotRequest":{ + "type":"structure", + "required":[ + "AccountId", + "BotId" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "BotId":{ + "shape":"NonEmptyString", + "documentation":"

The bot ID.

", + "location":"uri", + "locationName":"botId" + }, + "Disabled":{ + "shape":"NullableBoolean", + "documentation":"

When true, stops the specified bot from running in your account.

" + } + } + }, + "UpdateBotResponse":{ + "type":"structure", + "members":{ + "Bot":{ + "shape":"Bot", + "documentation":"

The updated bot details.

" + } + } + }, + "UpdateGlobalSettingsRequest":{ + "type":"structure", + "required":[ + "BusinessCalling", + "VoiceConnector" + ], + "members":{ + "BusinessCalling":{ + "shape":"BusinessCallingSettings", + "documentation":"

The Amazon Chime Business Calling settings.

" + }, + "VoiceConnector":{ + "shape":"VoiceConnectorSettings", + "documentation":"

The Amazon Chime Voice Connector settings.

" + } + } + }, + "UpdatePhoneNumberRequest":{ + "type":"structure", + "required":["PhoneNumberId"], + "members":{ + "PhoneNumberId":{ + "shape":"String", + "documentation":"

The phone number ID.

", + "location":"uri", + "locationName":"phoneNumberId" + }, + "ProductType":{ + "shape":"PhoneNumberProductType", + "documentation":"

The product type.

" + } + } + }, + "UpdatePhoneNumberRequestItem":{ + "type":"structure", + "required":["PhoneNumberId"], + "members":{ + "PhoneNumberId":{ + "shape":"NonEmptyString", + "documentation":"

The phone number ID to update.

" + }, + "ProductType":{ + "shape":"PhoneNumberProductType", + "documentation":"

The product type to update.

" + } + }, + "documentation":"

The phone number ID and product type fields to update, used with the BatchUpdatePhoneNumber and UpdatePhoneNumber actions.

" + }, + "UpdatePhoneNumberRequestItemList":{ + "type":"list", + "member":{"shape":"UpdatePhoneNumberRequestItem"} + }, + "UpdatePhoneNumberResponse":{ + "type":"structure", + "members":{ + "PhoneNumber":{ + "shape":"PhoneNumber", + "documentation":"

The updated phone number details.

" + } + } + }, "UpdateUserRequest":{ "type":"structure", "required":[ @@ -1061,6 +3412,65 @@ } } }, + "UpdateUserSettingsRequest":{ + "type":"structure", + "required":[ + "AccountId", + "UserId", + "UserSettings" + ], + "members":{ + "AccountId":{ + "shape":"String", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "UserId":{ + "shape":"String", + "documentation":"

The user ID.

", + "location":"uri", + "locationName":"userId" + }, + "UserSettings":{ + "shape":"UserSettings", + "documentation":"

The user settings to update.

" + } + } + }, + "UpdateVoiceConnectorRequest":{ + "type":"structure", + "required":[ + "VoiceConnectorId", + "Name", + "RequireEncryption" + ], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + }, + "Name":{ + "shape":"VoiceConnectorName", + "documentation":"

The name of the Amazon Chime Voice Connector.

" + }, + "RequireEncryption":{ + "shape":"Boolean", + "documentation":"

When enabled, requires encryption for the Amazon Chime Voice Connector.

" + } + } + }, + "UpdateVoiceConnectorResponse":{ + "type":"structure", + "members":{ + "VoiceConnector":{ + "shape":"VoiceConnector", + "documentation":"

The Amazon Chime Voice Connector details.

" + } + } + }, "User":{ "type":"structure", "required":["UserId"], @@ -1077,6 +3487,10 @@ "shape":"EmailAddress", "documentation":"

The primary email address of the user.

" }, + "PrimaryProvisionedNumber":{ + "shape":"SensitiveString", + "documentation":"

The primary phone number associated with the user.

" + }, "DisplayName":{ "shape":"SensitiveString", "documentation":"

The display name of the user.

" @@ -1143,7 +3557,68 @@ "UserList":{ "type":"list", "member":{"shape":"User"} + }, + "UserSettings":{ + "type":"structure", + "required":["Telephony"], + "members":{ + "Telephony":{ + "shape":"TelephonySettings", + "documentation":"

The telephony settings associated with the user.

" + } + }, + "documentation":"

Settings associated with an Amazon Chime user, including inbound and outbound calling and text messaging.

" + }, + "VoiceConnector":{ + "type":"structure", + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

" + }, + "Name":{ + "shape":"VoiceConnectorName", + "documentation":"

The name of the Amazon Chime Voice Connector.

" + }, + "OutboundHostName":{ + "shape":"String", + "documentation":"

The outbound host name for the Amazon Chime Voice Connector.

" + }, + "RequireEncryption":{ + "shape":"Boolean", + "documentation":"

Designates whether encryption is required for the Amazon Chime Voice Connector.

" + }, + "CreatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The Amazon Chime Voice Connector creation timestamp, in ISO 8601 format.

" + }, + "UpdatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The updated Amazon Chime Voice Connector timestamp, in ISO 8601 format.

" + } + }, + "documentation":"

The Amazon Chime Voice Connector configuration, including outbound host name and encryption settings.

" + }, + "VoiceConnectorList":{ + "type":"list", + "member":{"shape":"VoiceConnector"} + }, + "VoiceConnectorName":{ + "type":"string", + "max":256, + "min":1 + }, + "VoiceConnectorSettings":{ + "type":"structure", + "members":{ + "CdrBucket":{ + "shape":"String", + "documentation":"

The Amazon S3 bucket designated for call detail record storage.

", + "box":true + } + }, + "documentation":"

The Amazon Chime Voice Connector settings. Includes any Amazon S3 buckets designated for storing call detail records.

" } }, - "documentation":"

The Amazon Chime API (application programming interface) is designed for administrators to use to perform key tasks, such as creating and managing Amazon Chime accounts and users. This guide provides detailed information about the Amazon Chime API, including operations, types, inputs and outputs, and error codes.

You can use an AWS SDK, the AWS Command Line Interface (AWS CLI), or the REST API to make API calls. We recommend using an AWS SDK or the AWS CLI. Each API operation includes links to information about using it with a language-specific AWS SDK or the AWS CLI.

Using an AWS SDK

You don't need to write code to calculate a signature for request authentication. The SDK clients authenticate your requests by using access keys that you provide. For more information about AWS SDKs, see the AWS Developer Center.

Using the AWS CLI

Use your access keys with the AWS CLI to make API calls. For information about setting up the AWS CLI, see Installing the AWS Command Line Interface in the AWS Command Line Interface User Guide. For a list of available Amazon Chime commands, see the Amazon Chime commands in the AWS CLI Command Reference.

Using REST API

If you use REST to make API calls, you must authenticate your request by providing a signature. Amazon Chime supports signature version 4. For more information, see Signature Version 4 Signing Process in the Amazon Web Services General Reference.

When making REST API calls, use the service name chime and REST endpoint https://service.chime.aws.amazon.com.

Administrative permissions are controlled using AWS Identity and Access Management (IAM). For more information, see Control Access to the Amazon Chime Console in the Amazon Chime Administration Guide.

" + "documentation":"

The Amazon Chime API (application programming interface) is designed for administrators to use to perform key tasks, such as creating and managing Amazon Chime accounts and users. This guide provides detailed information about the Amazon Chime API, including operations, types, inputs and outputs, and error codes.

You can use an AWS SDK, the AWS Command Line Interface (AWS CLI), or the REST API to make API calls. We recommend using an AWS SDK or the AWS CLI. Each API operation includes links to information about using it with a language-specific AWS SDK or the AWS CLI.

Using an AWS SDK

You don't need to write code to calculate a signature for request authentication. The SDK clients authenticate your requests by using access keys that you provide. For more information about AWS SDKs, see the AWS Developer Center.

Using the AWS CLI

Use your access keys with the AWS CLI to make API calls. For information about setting up the AWS CLI, see Installing the AWS Command Line Interface in the AWS Command Line Interface User Guide. For a list of available Amazon Chime commands, see the Amazon Chime commands in the AWS CLI Command Reference.

Using REST API

If you use REST to make API calls, you must authenticate your request by providing a signature. Amazon Chime supports signature version 4. For more information, see Signature Version 4 Signing Process in the Amazon Web Services General Reference.

When making REST API calls, use the service name chime and REST endpoint https://service.chime.aws.amazon.com.

Administrative permissions are controlled using AWS Identity and Access Management (IAM). For more information, see Control Access to the Amazon Chime Console in the Amazon Chime Administration Guide.

" } diff --git a/bin/botocore/data/cloud9/2017-09-23/service-2.json b/bin/botocore/data/cloud9/2017-09-23/service-2.json index 46ef6d69..607d192a 100644 --- a/bin/botocore/data/cloud9/2017-09-23/service-2.json +++ b/bin/botocore/data/cloud9/2017-09-23/service-2.json @@ -459,13 +459,18 @@ "ownerArn":{ "shape":"String", "documentation":"

The Amazon Resource Name (ARN) of the environment owner.

" + }, + "lifecycle":{ + "shape":"EnvironmentLifecycle", + "documentation":"

The state of the environment in its creation or deletion lifecycle.

" } }, "documentation":"

Information about an AWS Cloud9 development environment.

" }, "EnvironmentDescription":{ "type":"string", - "max":200 + "max":200, + "sensitive":true }, "EnvironmentId":{ "type":"string", @@ -475,6 +480,32 @@ "type":"list", "member":{"shape":"EnvironmentId"} }, + "EnvironmentLifecycle":{ + "type":"structure", + "members":{ + "status":{ + "shape":"EnvironmentLifecycleStatus", + "documentation":"

The current creation or deletion lifecycle state of the environment.

  • CREATED: The environment was successfully created.

  • DELETE_FAILED: The environment failed to delete.

  • DELETING: The environment is in the process of being deleted.

" + }, + "reason":{ + "shape":"String", + "documentation":"

Any informational message about the lifecycle state of the environment.

" + }, + "failureResource":{ + "shape":"String", + "documentation":"

If the environment failed to delete, the Amazon Resource Name (ARN) of the related AWS resource.

" + } + }, + "documentation":"

Information about the current creation or deletion lifecycle state of an AWS Cloud9 development environment.

" + }, + "EnvironmentLifecycleStatus":{ + "type":"string", + "enum":[ + "CREATED", + "DELETING", + "DELETE_FAILED" + ] + }, "EnvironmentList":{ "type":"list", "member":{"shape":"Environment"} @@ -689,7 +720,7 @@ }, "UserArn":{ "type":"string", - "pattern":"arn:aws:(iam|sts)::\\d+:\\S+" + "pattern":"arn:aws:(iam|sts)::\\d+:(root|user|federated-user|assumed-role)\\/?\\S*" } }, "documentation":"AWS Cloud9

AWS Cloud9 is a collection of tools that you can use to code, build, run, test, debug, and release software in the cloud.

For more information about AWS Cloud9, see the AWS Cloud9 User Guide.

AWS Cloud9 supports these operations:

  • CreateEnvironmentEC2: Creates an AWS Cloud9 development environment, launches an Amazon EC2 instance, and then connects from the instance to the environment.

  • CreateEnvironmentMembership: Adds an environment member to an environment.

  • DeleteEnvironment: Deletes an environment. If an Amazon EC2 instance is connected to the environment, also terminates the instance.

  • DeleteEnvironmentMembership: Deletes an environment member from an environment.

  • DescribeEnvironmentMemberships: Gets information about environment members for an environment.

  • DescribeEnvironments: Gets information about environments.

  • DescribeEnvironmentStatus: Gets status information for an environment.

  • ListEnvironments: Gets a list of environment identifiers.

  • UpdateEnvironment: Changes the settings of an existing environment.

  • UpdateEnvironmentMembership: Changes the settings of an existing environment member for an environment.

" diff --git a/bin/botocore/data/clouddirectory/2017-01-11/paginators-1.json b/bin/botocore/data/clouddirectory/2017-01-11/paginators-1.json index 22cc439e..5a06fb0b 100644 --- a/bin/botocore/data/clouddirectory/2017-01-11/paginators-1.json +++ b/bin/botocore/data/clouddirectory/2017-01-11/paginators-1.json @@ -95,6 +95,24 @@ "output_token": "NextToken", "input_token": "NextToken", "limit_key": "MaxResults" + }, + "ListIncomingTypedLinks": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "LinkSpecifiers" + }, + "ListManagedSchemaArns": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "SchemaArns" + }, + "ListOutgoingTypedLinks": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TypedLinkSpecifiers" } } } diff --git a/bin/botocore/data/cloudformation/2010-05-15/paginators-1.json b/bin/botocore/data/cloudformation/2010-05-15/paginators-1.json index 8485fd56..8ce34e47 100644 --- a/bin/botocore/data/cloudformation/2010-05-15/paginators-1.json +++ b/bin/botocore/data/cloudformation/2010-05-15/paginators-1.json @@ -1,5 +1,31 @@ { "pagination": { + "DescribeAccountLimits": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "AccountLimits" + }, + "DescribeChangeSet": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Changes", + "non_aggregate_keys": [ + "ChangeSetName", + "ChangeSetId", + "StackId", + "StackName", + "Description", + "Parameters", + "CreationTime", + "ExecutionStatus", + "Status", + "StatusReason", + "NotificationARNs", + "RollbackConfiguration", + "Capabilities", + "Tags" + ] + }, "DescribeStackEvents": { "input_token": "NextToken", "output_token": "NextToken", @@ -10,6 +36,17 @@ "output_token": "NextToken", "result_key": "Stacks" }, + "ListChangeSets": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Summaries" + }, + "ListStackInstances": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Summaries" + }, "ListStackResources": { "input_token": "NextToken", "output_token": "NextToken", @@ -20,6 +57,24 @@ "output_token": "NextToken", "result_key": "StackSummaries" }, + "ListStackSetOperationResults": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Summaries" + }, + "ListStackSetOperations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Summaries" + }, + "ListStackSets": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Summaries" + }, "ListExports": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/bin/botocore/data/cloudformation/2010-05-15/service-2.json b/bin/botocore/data/cloudformation/2010-05-15/service-2.json index 13c5b0b6..f29128b3 100644 --- a/bin/botocore/data/cloudformation/2010-05-15/service-2.json +++ b/bin/botocore/data/cloudformation/2010-05-15/service-2.json @@ -37,7 +37,7 @@ "errors":[ {"shape":"TokenAlreadyExistsException"} ], - "documentation":"

For a specified stack that is in the UPDATE_ROLLBACK_FAILED state, continues rolling it back to the UPDATE_ROLLBACK_COMPLETE state. Depending on the cause of the failure, you can manually fix the error and continue the rollback. By continuing the rollback, you can return your stack to a working state (the UPDATE_ROLLBACK_COMPLETE state), and then try to update the stack again.

A stack goes into the UPDATE_ROLLBACK_FAILED state when AWS CloudFormation cannot roll back all changes after a failed stack update. For example, you might have a stack that is rolling back to an old database instance that was deleted outside of AWS CloudFormation. Because AWS CloudFormation doesn't know the database was deleted, it assumes that the database instance still exists and attempts to roll back to it, causing the update rollback to fail.

" + "documentation":"

For a specified stack that is in the UPDATE_ROLLBACK_FAILED state, continues rolling it back to the UPDATE_ROLLBACK_COMPLETE state. Depending on the cause of the failure, you can manually fix the error and continue the rollback. By continuing the rollback, you can return your stack to a working state (the UPDATE_ROLLBACK_COMPLETE state), and then try to update the stack again.

A stack goes into the UPDATE_ROLLBACK_FAILED state when AWS CloudFormation cannot roll back all changes after a failed stack update. For example, you might have a stack that is rolling back to an old database instance that was deleted outside of AWS CloudFormation. Because AWS CloudFormation doesn't know the database was deleted, it assumes that the database instance still exists and attempts to roll back to it, causing the update rollback to fail.

" }, "CreateChangeSet":{ "name":"CreateChangeSet", @@ -191,7 +191,7 @@ "shape":"DescribeAccountLimitsOutput", "resultWrapper":"DescribeAccountLimitsResult" }, - "documentation":"

Retrieves your account's AWS CloudFormation limits, such as the maximum number of stacks that you can create in your account.

" + "documentation":"

Retrieves your account's AWS CloudFormation limits, such as the maximum number of stacks that you can create in your account. For more information about account limits, see AWS CloudFormation Limits in the AWS CloudFormation User Guide.

" }, "DescribeChangeSet":{ "name":"DescribeChangeSet", @@ -207,7 +207,7 @@ "errors":[ {"shape":"ChangeSetNotFoundException"} ], - "documentation":"

Returns the inputs for the change set and a list of changes that AWS CloudFormation will make if you execute the change set. For more information, see Updating Stacks Using Change Sets in the AWS CloudFormation User Guide.

" + "documentation":"

Returns the inputs for the change set and a list of changes that AWS CloudFormation will make if you execute the change set. For more information, see Updating Stacks Using Change Sets in the AWS CloudFormation User Guide.

" }, "DescribeStackDriftDetectionStatus":{ "name":"DescribeStackDriftDetectionStatus", @@ -220,7 +220,7 @@ "shape":"DescribeStackDriftDetectionStatusOutput", "resultWrapper":"DescribeStackDriftDetectionStatusResult" }, - "documentation":"

Returns information about a stack drift detection operation. A stack drift detection operation detects whether a stack's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters. A stack is considered to have drifted if one or more of its resources have drifted. For more information on stack and resource drift, see Detecting Unregulated Configuration Changes to Stacks and Resources.

Use DetectStackDrift to initiate a stack drift detection operation. DetectStackDrift returns a StackDriftDetectionId you can use to monitor the progress of the operation using DescribeStackDriftDetectionStatus. Once the drift detection operation has completed, use DescribeStackResourceDrifts to return drift information about the stack and its resources.

" + "documentation":"

Returns information about a stack drift detection operation. A stack drift detection operation detects whether a stack's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters. A stack is considered to have drifted if one or more of its resources have drifted. For more information on stack and resource drift, see Detecting Unregulated Configuration Changes to Stacks and Resources.

Use DetectStackDrift to initiate a stack drift detection operation. DetectStackDrift returns a StackDriftDetectionId you can use to monitor the progress of the operation using DescribeStackDriftDetectionStatus. Once the drift detection operation has completed, use DescribeStackResourceDrifts to return drift information about the stack and its resources.

" }, "DescribeStackEvents":{ "name":"DescribeStackEvents", @@ -233,7 +233,7 @@ "shape":"DescribeStackEventsOutput", "resultWrapper":"DescribeStackEventsResult" }, - "documentation":"

Returns all stack related events for a specified stack in reverse chronological order. For more information about a stack's event history, go to Stacks in the AWS CloudFormation User Guide.

You can list events for stacks that have failed to create or have been deleted by specifying the unique stack identifier (stack ID).

" + "documentation":"

Returns all stack related events for a specified stack in reverse chronological order. For more information about a stack's event history, go to Stacks in the AWS CloudFormation User Guide.

You can list events for stacks that have failed to create or have been deleted by specifying the unique stack identifier (stack ID).

" }, "DescribeStackInstance":{ "name":"DescribeStackInstance", @@ -276,7 +276,7 @@ "shape":"DescribeStackResourceDriftsOutput", "resultWrapper":"DescribeStackResourceDriftsResult" }, - "documentation":"

Returns drift information for the resources that have been checked for drift in the specified stack. This includes actual and expected configuration values for resources where AWS CloudFormation detects configuration drift.

For a given stack, there will be one StackResourceDrift for each stack resource that has been checked for drift. Resources that have not yet been checked for drift are not included. Resources that do not currently support drift detection are not checked, and so not included. For a list of resources that support drift detection, see Resources that Support Drift Detection.

Use DetectStackResourceDrift to detect drift on individual resources, or DetectStackDrift to detect drift on all supported resources for a given stack.

" + "documentation":"

Returns drift information for the resources that have been checked for drift in the specified stack. This includes actual and expected configuration values for resources where AWS CloudFormation detects configuration drift.

For a given stack, there will be one StackResourceDrift for each stack resource that has been checked for drift. Resources that have not yet been checked for drift are not included. Resources that do not currently support drift detection are not checked, and so not included. For a list of resources that support drift detection, see Resources that Support Drift Detection.

Use DetectStackResourceDrift to detect drift on individual resources, or DetectStackDrift to detect drift on all supported resources for a given stack.

" }, "DescribeStackResources":{ "name":"DescribeStackResources", @@ -289,7 +289,7 @@ "shape":"DescribeStackResourcesOutput", "resultWrapper":"DescribeStackResourcesResult" }, - "documentation":"

Returns AWS resource descriptions for running and deleted stacks. If StackName is specified, all the associated resources that are part of the stack are returned. If PhysicalResourceId is specified, the associated resources of the stack that the resource belongs to are returned.

Only the first 100 resources will be returned. If your stack has more resources than this, you should use ListStackResources instead.

For deleted stacks, DescribeStackResources returns resource information for up to 90 days after the stack has been deleted.

You must specify either StackName or PhysicalResourceId, but not both. In addition, you can specify LogicalResourceId to filter the returned result. For more information about resources, the LogicalResourceId and PhysicalResourceId, go to the AWS CloudFormation User Guide.

A ValidationError is returned if you specify both StackName and PhysicalResourceId in the same request.

" + "documentation":"

Returns AWS resource descriptions for running and deleted stacks. If StackName is specified, all the associated resources that are part of the stack are returned. If PhysicalResourceId is specified, the associated resources of the stack that the resource belongs to are returned.

Only the first 100 resources will be returned. If your stack has more resources than this, you should use ListStackResources instead.

For deleted stacks, DescribeStackResources returns resource information for up to 90 days after the stack has been deleted.

You must specify either StackName or PhysicalResourceId, but not both. In addition, you can specify LogicalResourceId to filter the returned result. For more information about resources, the LogicalResourceId and PhysicalResourceId, go to the AWS CloudFormation User Guide.

A ValidationError is returned if you specify both StackName and PhysicalResourceId in the same request.

" }, "DescribeStackSet":{ "name":"DescribeStackSet", @@ -348,7 +348,7 @@ "shape":"DetectStackDriftOutput", "resultWrapper":"DetectStackDriftResult" }, - "documentation":"

Detects whether a stack's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters. For each resource in the stack that supports drift detection, AWS CloudFormation compares the actual configuration of the resource with its expected template configuration. Only resource properties explicitly defined in the stack template are checked for drift. A stack is considered to have drifted if one or more of its resources differ from their expected template configurations. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

Use DetectStackDrift to detect drift on all supported resources for a given stack, or DetectStackResourceDrift to detect drift on individual resources.

For a list of stack resources that currently support drift detection, see Resources that Support Drift Detection.

DetectStackDrift can take up to several minutes, depending on the number of resources contained within the stack. Use DescribeStackDriftDetectionStatus to monitor the progress of a detect stack drift operation. Once the drift detection operation has completed, use DescribeStackResourceDrifts to return drift information about the stack and its resources.

When detecting drift on a stack, AWS CloudFormation does not detect drift on any nested stacks belonging to that stack. Perform DetectStackDrift directly on the nested stack itself.

" + "documentation":"

Detects whether a stack's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters. For each resource in the stack that supports drift detection, AWS CloudFormation compares the actual configuration of the resource with its expected template configuration. Only resource properties explicitly defined in the stack template are checked for drift. A stack is considered to have drifted if one or more of its resources differ from their expected template configurations. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

Use DetectStackDrift to detect drift on all supported resources for a given stack, or DetectStackResourceDrift to detect drift on individual resources.

For a list of stack resources that currently support drift detection, see Resources that Support Drift Detection.

DetectStackDrift can take up to several minutes, depending on the number of resources contained within the stack. Use DescribeStackDriftDetectionStatus to monitor the progress of a detect stack drift operation. Once the drift detection operation has completed, use DescribeStackResourceDrifts to return drift information about the stack and its resources.

When detecting drift on a stack, AWS CloudFormation does not detect drift on any nested stacks belonging to that stack. Perform DetectStackDrift directly on the nested stack itself.

" }, "DetectStackResourceDrift":{ "name":"DetectStackResourceDrift", @@ -361,7 +361,7 @@ "shape":"DetectStackResourceDriftOutput", "resultWrapper":"DetectStackResourceDriftResult" }, - "documentation":"

Returns information about whether a resource's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters. This information includes actual and expected property values for resources in which AWS CloudFormation detects drift. Only resource properties explicitly defined in the stack template are checked for drift. For more information about stack and resource drift, see Detecting Unregulated Configuration Changes to Stacks and Resources.

Use DetectStackResourceDrift to detect drift on individual resources, or DetectStackDrift to detect drift on all resources in a given stack that support drift detection.

Resources that do not currently support drift detection cannot be checked. For a list of resources that support drift detection, see Resources that Support Drift Detection.

" + "documentation":"

Returns information about whether a resource's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters. This information includes actual and expected property values for resources in which AWS CloudFormation detects drift. Only resource properties explicitly defined in the stack template are checked for drift. For more information about stack and resource drift, see Detecting Unregulated Configuration Changes to Stacks and Resources.

Use DetectStackResourceDrift to detect drift on individual resources, or DetectStackDrift to detect drift on all resources in a given stack that support drift detection.

Resources that do not currently support drift detection cannot be checked. For a list of resources that support drift detection, see Resources that Support Drift Detection.

" }, "EstimateTemplateCost":{ "name":"EstimateTemplateCost", @@ -464,7 +464,7 @@ "shape":"ListExportsOutput", "resultWrapper":"ListExportsResult" }, - "documentation":"

Lists all exported output values in the account and region in which you call this action. Use this action to see the exported output values that you can import into other stacks. To import values, use the Fn::ImportValue function.

For more information, see AWS CloudFormation Export Stack Output Values.

" + "documentation":"

Lists all exported output values in the account and region in which you call this action. Use this action to see the exported output values that you can import into other stacks. To import values, use the Fn::ImportValue function.

For more information, see AWS CloudFormation Export Stack Output Values.

" }, "ListImports":{ "name":"ListImports", @@ -477,7 +477,7 @@ "shape":"ListImportsOutput", "resultWrapper":"ListImportsResult" }, - "documentation":"

Lists all stacks that are importing an exported output value. To modify or remove an exported output value, first use this action to see which stacks are using it. To see the exported output values in your account, see ListExports.

For more information about importing an exported output value, see the Fn::ImportValue function.

" + "documentation":"

Lists all stacks that are importing an exported output value. To modify or remove an exported output value, first use this action to see which stacks are using it. To see the exported output values in your account, see ListExports.

For more information about importing an exported output value, see the Fn::ImportValue function.

" }, "ListStackInstances":{ "name":"ListStackInstances", @@ -618,7 +618,7 @@ {"shape":"InsufficientCapabilitiesException"}, {"shape":"TokenAlreadyExistsException"} ], - "documentation":"

Updates a stack as specified in the template. After the call completes successfully, the stack update starts. You can check the status of the stack via the DescribeStacks action.

To get a copy of the template for an existing stack, you can use the GetTemplate action.

For more information about creating an update template, updating a stack, and monitoring the progress of the update, see Updating a Stack.

" + "documentation":"

Updates a stack as specified in the template. After the call completes successfully, the stack update starts. You can check the status of the stack via the DescribeStacks action.

To get a copy of the template for an existing stack, you can use the GetTemplate action.

For more information about creating an update template, updating a stack, and monitoring the progress of the update, see Updating a Stack.

" }, "UpdateStackInstances":{ "name":"UpdateStackInstances", @@ -639,7 +639,7 @@ {"shape":"StaleRequestException"}, {"shape":"InvalidOperationException"} ], - "documentation":"

Updates the parameter values for stack instances for the specified accounts, within the specified regions. A stack instance refers to a stack in a specific account and region.

You can only update stack instances in regions and accounts where they already exist; to create additional stack instances, use CreateStackInstances.

During stack set updates, any parameters overridden for a stack instance are not updated, but retain their overridden value.

You can only update the parameter values that are specified in the stack set; to add or delete a parameter itself, use UpdateStackSet to update the stack set template. If you add a parameter to a template, before you can override the parameter value specified in the stack set you must first use UpdateStackSet to update all stack instances with the updated template and parameter value specified in the stack set. Once a stack instance has been updated with the new parameter, you can then override the parameter value using UpdateStackInstances.

" + "documentation":"

Updates the parameter values for stack instances for the specified accounts, within the specified regions. A stack instance refers to a stack in a specific account and region.

You can only update stack instances in regions and accounts where they already exist; to create additional stack instances, use CreateStackInstances.

During stack set updates, any parameters overridden for a stack instance are not updated, but retain their overridden value.

You can only update the parameter values that are specified in the stack set; to add or delete a parameter itself, use UpdateStackSet to update the stack set template. If you add a parameter to a template, before you can override the parameter value specified in the stack set you must first use UpdateStackSet to update all stack instances with the updated template and parameter value specified in the stack set. Once a stack instance has been updated with the new parameter, you can then override the parameter value using UpdateStackInstances.

" }, "UpdateStackSet":{ "name":"UpdateStackSet", @@ -706,7 +706,7 @@ "documentation":"

The reason for the account gate status assigned to this account and region for the stack set operation.

" } }, - "documentation":"

Structure that contains the results of the account gate function which AWS CloudFormation invokes, if present, before proceeding with a stack set operation in an account and region.

For each account and region, AWS CloudFormation lets you specify a Lamdba function that encapsulates any requirements that must be met before CloudFormation can proceed with a stack set operation in that account and region. CloudFormation invokes the function each time a stack set operation is requested for that account and region; if the function returns FAILED, CloudFormation cancels the operation in that account and region, and sets the stack set operation result status for that account and region to FAILED.

For more information, see Configuring a target account gate.

" + "documentation":"

Structure that contains the results of the account gate function which AWS CloudFormation invokes, if present, before proceeding with a stack set operation in an account and region.

For each account and region, AWS CloudFormation lets you specify a Lamdba function that encapsulates any requirements that must be met before CloudFormation can proceed with a stack set operation in that account and region. CloudFormation invokes the function each time a stack set operation is requested for that account and region; if the function returns FAILED, CloudFormation cancels the operation in that account and region, and sets the stack set operation result status for that account and region to FAILED.

For more information, see Configuring a target account gate.

" }, "AccountGateStatus":{ "type":"string", @@ -722,14 +722,14 @@ "members":{ "Name":{ "shape":"LimitName", - "documentation":"

The name of the account limit. Currently, the only account limit is StackLimit.

" + "documentation":"

The name of the account limit.

" }, "Value":{ "shape":"LimitValue", "documentation":"

The value that is associated with the account limit name.

" } }, - "documentation":"

The AccountLimit data type.

" + "documentation":"

The AccountLimit data type. For more information about account limits, see AWS CloudFormation Limits in the AWS CloudFormation User Guide.

" }, "AccountLimitList":{ "type":"list", @@ -954,7 +954,7 @@ }, "ResourcesToSkip":{ "shape":"ResourcesToSkip", - "documentation":"

A list of the logical IDs of the resources that AWS CloudFormation skips during the continue update rollback operation. You can specify only resources that are in the UPDATE_FAILED state because a rollback failed. You can't specify resources that are in the UPDATE_FAILED state for other reasons, for example, because an update was cancelled. To check why a resource update failed, use the DescribeStackResources action, and view the resource status reason.

Specify this property to skip rolling back resources that AWS CloudFormation can't successfully roll back. We recommend that you troubleshoot resources before skipping them. AWS CloudFormation sets the status of the specified resources to UPDATE_COMPLETE and continues to roll back the stack. After the rollback is complete, the state of the skipped resources will be inconsistent with the state of the resources in the stack template. Before performing another stack update, you must update the stack or resources to be consistent with each other. If you don't, subsequent stack updates might fail, and the stack will become unrecoverable.

Specify the minimum number of resources required to successfully roll back your stack. For example, a failed resource update might cause dependent resources to fail. In this case, it might not be necessary to skip the dependent resources.

To skip resources that are part of nested stacks, use the following format: NestedStackName.ResourceLogicalID. If you want to specify the logical ID of a stack resource (Type: AWS::CloudFormation::Stack) in the ResourcesToSkip list, then its corresponding embedded stack must be in one of the following states: DELETE_IN_PROGRESS, DELETE_COMPLETE, or DELETE_FAILED.

Don't confuse a child stack's name with its corresponding logical ID defined in the parent stack. For an example of a continue update rollback operation with nested stacks, see Using ResourcesToSkip to recover a nested stacks hierarchy.

" + "documentation":"

A list of the logical IDs of the resources that AWS CloudFormation skips during the continue update rollback operation. You can specify only resources that are in the UPDATE_FAILED state because a rollback failed. You can't specify resources that are in the UPDATE_FAILED state for other reasons, for example, because an update was cancelled. To check why a resource update failed, use the DescribeStackResources action, and view the resource status reason.

Specify this property to skip rolling back resources that AWS CloudFormation can't successfully roll back. We recommend that you troubleshoot resources before skipping them. AWS CloudFormation sets the status of the specified resources to UPDATE_COMPLETE and continues to roll back the stack. After the rollback is complete, the state of the skipped resources will be inconsistent with the state of the resources in the stack template. Before performing another stack update, you must update the stack or resources to be consistent with each other. If you don't, subsequent stack updates might fail, and the stack will become unrecoverable.

Specify the minimum number of resources required to successfully roll back your stack. For example, a failed resource update might cause dependent resources to fail. In this case, it might not be necessary to skip the dependent resources.

To skip resources that are part of nested stacks, use the following format: NestedStackName.ResourceLogicalID. If you want to specify the logical ID of a stack resource (Type: AWS::CloudFormation::Stack) in the ResourcesToSkip list, then its corresponding embedded stack must be in one of the following states: DELETE_IN_PROGRESS, DELETE_COMPLETE, or DELETE_FAILED.

Don't confuse a child stack's name with its corresponding logical ID defined in the parent stack. For an example of a continue update rollback operation with nested stacks, see Using ResourcesToSkip to recover a nested stacks hierarchy.

" }, "ClientRequestToken":{ "shape":"ClientRequestToken", @@ -998,11 +998,11 @@ }, "Capabilities":{ "shape":"Capabilities", - "documentation":"

A list of values that you must specify before AWS CloudFormation can update certain stacks. Some stack templates might include resources that can affect permissions in your AWS account, for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge their capabilities by specifying this parameter.

The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following resources require you to specify this parameter: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::InstanceProfile, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, and AWS::IAM::UserToGroupAddition. If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't specify this parameter, this action returns an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

" + "documentation":"

In some cases, you must explicity acknowledge that your stack template contains certain capabilities in order for AWS CloudFormation to create the stack.

  • CAPABILITY_IAM and CAPABILITY_NAMED_IAM

    Some stack templates might include resources that can affect permissions in your AWS account; for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge this by specifying one of these capabilities.

    The following IAM resources require you to specify either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability.

    • If you have IAM resources, you can specify either capability.

    • If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM.

    • If you don't specify either of these capabilities, AWS CloudFormation returns an InsufficientCapabilities error.

    If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

    For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

  • CAPABILITY_AUTO_EXPAND

    Some template contain macros. Macros perform custom processing on templates; this can include simple actions like find-and-replace operations, all the way to extensive transformations of entire templates. Because of this, users typically create a change set from the processed template, so that they can review the changes resulting from the macros before actually creating the stack. If your stack template contains one or more macros, and you choose to create a stack directly from the processed template, without first reviewing the resulting changes in a change set, you must acknowledge this capability. This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by AWS CloudFormation.

    This capacity does not apply to creating change sets, and specifying it when creating change sets has no effect.

    Also, change sets do not currently support nested stacks. If you want to create a stack from a stack template that contains macros and nested stacks, you must create or update the stack directly from the template using the CreateStack or UpdateStack action, and specifying this capability.

    For more information on macros, see Using AWS CloudFormation Macros to Perform Custom Processing on Templates.

" }, "ResourceTypes":{ "shape":"ResourceTypes", - "documentation":"

The template resource types that you have permissions to work with if you execute this change set, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance.

If the list of resource types doesn't include a resource type that you're updating, the stack update fails. By default, AWS CloudFormation grants permissions to all resource types. AWS Identity and Access Management (IAM) uses this parameter for condition keys in IAM policies for AWS CloudFormation. For more information, see Controlling Access with AWS Identity and Access Management in the AWS CloudFormation User Guide.

" + "documentation":"

The template resource types that you have permissions to work with if you execute this change set, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance.

If the list of resource types doesn't include a resource type that you're updating, the stack update fails. By default, AWS CloudFormation grants permissions to all resource types. AWS Identity and Access Management (IAM) uses this parameter for condition keys in IAM policies for AWS CloudFormation. For more information, see Controlling Access with AWS Identity and Access Management in the AWS CloudFormation User Guide.

" }, "RoleARN":{ "shape":"RoleARN", @@ -1034,7 +1034,7 @@ }, "ChangeSetType":{ "shape":"ChangeSetType", - "documentation":"

The type of change set operation. To create a change set for a new stack, specify CREATE. To create a change set for an existing stack, specify UPDATE.

If you create a change set for a new stack, AWS Cloudformation creates a stack with a unique stack ID, but no template or resources. The stack will be in the REVIEW_IN_PROGRESS state until you execute the change set.

By default, AWS CloudFormation specifies UPDATE. You can't use the UPDATE type to create a change set for a new stack or the CREATE type to create a change set for an existing stack.

" + "documentation":"

The type of change set operation. To create a change set for a new stack, specify CREATE. To create a change set for an existing stack, specify UPDATE.

If you create a change set for a new stack, AWS Cloudformation creates a stack with a unique stack ID, but no template or resources. The stack will be in the REVIEW_IN_PROGRESS state until you execute the change set.

By default, AWS CloudFormation specifies UPDATE. You can't use the UPDATE type to create a change set for a new stack or the CREATE type to create a change set for an existing stack.

" } }, "documentation":"

The input for the CreateChangeSet action.

" @@ -1063,15 +1063,15 @@ }, "TemplateBody":{ "shape":"TemplateBody", - "documentation":"

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

" + "documentation":"

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

" }, "TemplateURL":{ "shape":"TemplateURL", - "documentation":"

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, go to the Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

" + "documentation":"

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, go to the Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

" }, "Parameters":{ "shape":"Parameters", - "documentation":"

A list of Parameter structures that specify input parameters for the stack. For more information, see the Parameter data type.

" + "documentation":"

A list of Parameter structures that specify input parameters for the stack. For more information, see the Parameter data type.

" }, "DisableRollback":{ "shape":"DisableRollback", @@ -1091,11 +1091,11 @@ }, "Capabilities":{ "shape":"Capabilities", - "documentation":"

In some cases, you must explicity acknowledge that your stack template contains certain capabilities in order for AWS CloudFormation to create the stack.

  • CAPABILITY_IAM and CAPABILITY_NAMED_IAM

    Some stack templates might include resources that can affect permissions in your AWS account; for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge this by specifying one of these capabilities.

    The following IAM resources require you to specify either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability.

    • If you have IAM resources, you can specify either capability.

    • If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM.

    • If you don't specify either of these capabilities, AWS CloudFormation returns an InsufficientCapabilities error.

    If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

    For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

  • CAPABILITY_AUTO_EXPAND

    Some template contain macros. Macros perform custom processing on templates; this can include simple actions like find-and-replace operations, all the way to extensive transformations of entire templates. Because of this, users typically create a change set from the processed template, so that they can review the changes resulting from the macros before actually creating the stack. If your stack template contains one or more macros, and you choose to create a stack directly from the processed template, without first reviewing the resulting changes in a change set, you must acknowledge this capability. This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by AWS CloudFormation.

    Change sets do not currently support nested stacks. If you want to create a stack from a stack template that contains macros and nested stacks, you must create the stack directly from the template using this capability.

    You should only create stacks directly from a stack template that contains macros if you know what processing the macro performs.

    Each macro relies on an underlying Lambda service function for processing stack templates. Be aware that the Lambda function owner can update the function operation without AWS CloudFormation being notified.

    For more information, see Using AWS CloudFormation Macros to Perform Custom Processing on Templates.

" + "documentation":"

In some cases, you must explicity acknowledge that your stack template contains certain capabilities in order for AWS CloudFormation to create the stack.

  • CAPABILITY_IAM and CAPABILITY_NAMED_IAM

    Some stack templates might include resources that can affect permissions in your AWS account; for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge this by specifying one of these capabilities.

    The following IAM resources require you to specify either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability.

    • If you have IAM resources, you can specify either capability.

    • If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM.

    • If you don't specify either of these capabilities, AWS CloudFormation returns an InsufficientCapabilities error.

    If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

    For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

  • CAPABILITY_AUTO_EXPAND

    Some template contain macros. Macros perform custom processing on templates; this can include simple actions like find-and-replace operations, all the way to extensive transformations of entire templates. Because of this, users typically create a change set from the processed template, so that they can review the changes resulting from the macros before actually creating the stack. If your stack template contains one or more macros, and you choose to create a stack directly from the processed template, without first reviewing the resulting changes in a change set, you must acknowledge this capability. This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by AWS CloudFormation.

    Change sets do not currently support nested stacks. If you want to create a stack from a stack template that contains macros and nested stacks, you must create the stack directly from the template using this capability.

    You should only create stacks directly from a stack template that contains macros if you know what processing the macro performs.

    Each macro relies on an underlying Lambda service function for processing stack templates. Be aware that the Lambda function owner can update the function operation without AWS CloudFormation being notified.

    For more information, see Using AWS CloudFormation Macros to Perform Custom Processing on Templates.

" }, "ResourceTypes":{ "shape":"ResourceTypes", - "documentation":"

The template resource types that you have permissions to work with for this create stack action, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance. Use the following syntax to describe template resource types: AWS::* (for all AWS resource), Custom::* (for all custom resources), Custom::logical_ID (for a specific custom resource), AWS::service_name::* (for all resources of a particular AWS service), and AWS::service_name::resource_logical_ID (for a specific AWS resource).

If the list of resource types doesn't include a resource that you're creating, the stack creation fails. By default, AWS CloudFormation grants permissions to all resource types. AWS Identity and Access Management (IAM) uses this parameter for AWS CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management.

" + "documentation":"

The template resource types that you have permissions to work with for this create stack action, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance. Use the following syntax to describe template resource types: AWS::* (for all AWS resource), Custom::* (for all custom resources), Custom::logical_ID (for a specific custom resource), AWS::service_name::* (for all resources of a particular AWS service), and AWS::service_name::resource_logical_ID (for a specific AWS resource).

If the list of resource types doesn't include a resource that you're creating, the stack creation fails. By default, AWS CloudFormation grants permissions to all resource types. AWS Identity and Access Management (IAM) uses this parameter for AWS CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management.

" }, "RoleARN":{ "shape":"RoleARN", @@ -1107,7 +1107,7 @@ }, "StackPolicyBody":{ "shape":"StackPolicyBody", - "documentation":"

Structure containing the stack policy body. For more information, go to Prevent Updates to Stack Resources in the AWS CloudFormation User Guide. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.

" + "documentation":"

Structure containing the stack policy body. For more information, go to Prevent Updates to Stack Resources in the AWS CloudFormation User Guide. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.

" }, "StackPolicyURL":{ "shape":"StackPolicyURL", @@ -1150,7 +1150,7 @@ }, "ParameterOverrides":{ "shape":"Parameters", - "documentation":"

A list of stack set parameters whose values you want to override in the selected stack instances.

Any overridden parameter values will be applied to all stack instances in the specified accounts and regions. When specifying parameters and their values, be aware of how AWS CloudFormation sets parameter values during stack instance operations:

  • To override the current value for a parameter, include the parameter and specify its value.

  • To leave a parameter set to its present value, you can do one of the following:

    • Do not include the parameter in the list.

    • Include the parameter and specify UsePreviousValue as true. (You cannot specify both a value and set UsePreviousValue to true.)

  • To set all overridden parameter back to the values specified in the stack set, specify a parameter list but do not include any parameters.

  • To leave all parameters set to their present values, do not specify this property at all.

During stack set updates, any parameter values overridden for a stack instance are not updated, but retain their overridden value.

You can only override the parameter values that are specified in the stack set; to add or delete a parameter itself, use UpdateStackSet to update the stack set template.

" + "documentation":"

A list of stack set parameters whose values you want to override in the selected stack instances.

Any overridden parameter values will be applied to all stack instances in the specified accounts and regions. When specifying parameters and their values, be aware of how AWS CloudFormation sets parameter values during stack instance operations:

  • To override the current value for a parameter, include the parameter and specify its value.

  • To leave a parameter set to its present value, you can do one of the following:

    • Do not include the parameter in the list.

    • Include the parameter and specify UsePreviousValue as true. (You cannot specify both a value and set UsePreviousValue to true.)

  • To set all overridden parameter back to the values specified in the stack set, specify a parameter list but do not include any parameters.

  • To leave all parameters set to their present values, do not specify this property at all.

During stack set updates, any parameter values overridden for a stack instance are not updated, but retain their overridden value.

You can only override the parameter values that are specified in the stack set; to add or delete a parameter itself, use UpdateStackSet to update the stack set template.

" }, "OperationPreferences":{ "shape":"StackSetOperationPreferences", @@ -1196,11 +1196,11 @@ }, "TemplateBody":{ "shape":"TemplateBody", - "documentation":"

The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

" + "documentation":"

The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

" }, "TemplateURL":{ "shape":"TemplateURL", - "documentation":"

The location of the file that contains the template body. The URL must point to a template (maximum size: 460,800 bytes) that's located in an Amazon S3 bucket. For more information, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

" + "documentation":"

The location of the file that contains the template body. The URL must point to a template (maximum size: 460,800 bytes) that's located in an Amazon S3 bucket. For more information, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

" }, "Parameters":{ "shape":"Parameters", @@ -1208,7 +1208,7 @@ }, "Capabilities":{ "shape":"Capabilities", - "documentation":"

A list of values that you must specify before AWS CloudFormation can create certain stack sets. Some stack set templates might include resources that can affect permissions in your AWS account—for example, by creating new AWS Identity and Access Management (IAM) users. For those stack sets, you must explicitly acknowledge their capabilities by specifying this parameter.

The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following resources require you to specify this parameter:

  • AWS::IAM::AccessKey

  • AWS::IAM::Group

  • AWS::IAM::InstanceProfile

  • AWS::IAM::Policy

  • AWS::IAM::Role

  • AWS::IAM::User

  • AWS::IAM::UserToGroupAddition

If your stack template contains these resources, we recommend that you review all permissions that are associated with them and edit their permissions if necessary.

If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't specify this parameter, this action returns an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

" + "documentation":"

In some cases, you must explicity acknowledge that your stack set template contains certain capabilities in order for AWS CloudFormation to create the stack set and related stack instances.

  • CAPABILITY_IAM and CAPABILITY_NAMED_IAM

    Some stack templates might include resources that can affect permissions in your AWS account; for example, by creating new AWS Identity and Access Management (IAM) users. For those stack sets, you must explicitly acknowledge this by specifying one of these capabilities.

    The following IAM resources require you to specify either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability.

    • If you have IAM resources, you can specify either capability.

    • If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM.

    • If you don't specify either of these capabilities, AWS CloudFormation returns an InsufficientCapabilities error.

    If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

    For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

  • CAPABILITY_AUTO_EXPAND

    Some templates contain macros. If your stack template contains one or more macros, and you choose to create a stack directly from the processed template, without first reviewing the resulting changes in a change set, you must acknowledge this capability. For more information, see Using AWS CloudFormation Macros to Perform Custom Processing on Templates.

    Stack sets do not currently support macros in stack templates. (This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by AWS CloudFormation.) Even if you specify this capability, if you include a macro in your template the stack set operation will fail.

" }, "Tags":{ "shape":"Tags", @@ -1322,7 +1322,7 @@ }, "RetainStacks":{ "shape":"RetainStacks", - "documentation":"

Removes the stack instances from the specified stack set, but doesn't delete the stacks. You can't reassociate a retained stack or add an existing, saved stack to a new stack set.

For more information, see Stack set operation options.

" + "documentation":"

Removes the stack instances from the specified stack set, but doesn't delete the stacks. You can't reassociate a retained stack or add an existing, saved stack to a new stack set.

For more information, see Stack set operation options.

" }, "OperationId":{ "shape":"ClientRequestToken", @@ -1424,7 +1424,7 @@ }, "Parameters":{ "shape":"Parameters", - "documentation":"

A list of Parameter structures that describes the input parameters and their values used to create the change set. For more information, see the Parameter data type.

" + "documentation":"

A list of Parameter structures that describes the input parameters and their values used to create the change set. For more information, see the Parameter data type.

" }, "CreationTime":{ "shape":"CreationTime", @@ -1605,7 +1605,7 @@ "members":{ "StackResourceDrifts":{ "shape":"StackResourceDrifts", - "documentation":"

Drift information for the resources that have been checked for drift in the specified stack. This includes actual and expected configuration values for resources where AWS CloudFormation detects drift.

For a given stack, there will be one StackResourceDrift for each stack resource that has been checked for drift. Resources that have not yet been checked for drift are not included. Resources that do not currently support drift detection are not checked, and so not included. For a list of resources that support drift detection, see Resources that Support Drift Detection.

" + "documentation":"

Drift information for the resources that have been checked for drift in the specified stack. This includes actual and expected configuration values for resources where AWS CloudFormation detects drift.

For a given stack, there will be one StackResourceDrift for each stack resource that has been checked for drift. Resources that have not yet been checked for drift are not included. Resources that do not currently support drift detection are not checked, and so not included. For a list of resources that support drift detection, see Resources that Support Drift Detection.

" }, "NextToken":{ "shape":"NextToken", @@ -1813,11 +1813,11 @@ "members":{ "TemplateBody":{ "shape":"TemplateBody", - "documentation":"

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. (For more information, go to Template Anatomy in the AWS CloudFormation User Guide.)

Conditional: You must pass TemplateBody or TemplateURL. If both are passed, only TemplateBody is used.

" + "documentation":"

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. (For more information, go to Template Anatomy in the AWS CloudFormation User Guide.)

Conditional: You must pass TemplateBody or TemplateURL. If both are passed, only TemplateBody is used.

" }, "TemplateURL":{ "shape":"TemplateURL", - "documentation":"

Location of file containing the template body. The URL must point to a template that is located in an Amazon S3 bucket. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.

" + "documentation":"

Location of file containing the template body. The URL must point to a template that is located in an Amazon S3 bucket. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.

" }, "Parameters":{ "shape":"Parameters", @@ -1935,7 +1935,7 @@ "members":{ "StackPolicyBody":{ "shape":"StackPolicyBody", - "documentation":"

Structure containing the stack policy body. (For more information, go to Prevent Updates to Stack Resources in the AWS CloudFormation User Guide.)

" + "documentation":"

Structure containing the stack policy body. (For more information, go to Prevent Updates to Stack Resources in the AWS CloudFormation User Guide.)

" } }, "documentation":"

The output for the GetStackPolicy action.

" @@ -1963,7 +1963,7 @@ "members":{ "TemplateBody":{ "shape":"TemplateBody", - "documentation":"

Structure containing the template body. (For more information, go to Template Anatomy in the AWS CloudFormation User Guide.)

AWS CloudFormation returns the same template that was used when the stack was created.

" + "documentation":"

Structure containing the template body. (For more information, go to Template Anatomy in the AWS CloudFormation User Guide.)

AWS CloudFormation returns the same template that was used when the stack was created.

" }, "StagesAvailable":{ "shape":"StageList", @@ -1977,11 +1977,11 @@ "members":{ "TemplateBody":{ "shape":"TemplateBody", - "documentation":"

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information about templates, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.

" + "documentation":"

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information about templates, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.

" }, "TemplateURL":{ "shape":"TemplateURL", - "documentation":"

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information about templates, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.

" + "documentation":"

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information about templates, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.

" }, "StackName":{ "shape":"StackNameOrId", @@ -2007,7 +2007,7 @@ }, "Capabilities":{ "shape":"Capabilities", - "documentation":"

The capabilities found within the template. If your template contains IAM resources, you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value for this parameter when you use the CreateStack or UpdateStack actions with your template; otherwise, those actions return an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

" + "documentation":"

The capabilities found within the template. If your template contains IAM resources, you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value for this parameter when you use the CreateStack or UpdateStack actions with your template; otherwise, those actions return an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

" }, "CapabilitiesReason":{ "shape":"CapabilitiesReason", @@ -2078,7 +2078,7 @@ "type":"structure", "members":{ }, - "documentation":"

The quota for the resource has already been reached.

For information on stack set limitations, see Limitations of StackSets.

", + "documentation":"

The quota for the resource has already been reached.

For information on resource and stack limitations, see Limits in the AWS CloudFormation User Guide.

", "error":{ "code":"LimitExceededException", "httpStatusCode":400, @@ -2501,7 +2501,7 @@ }, "ResolvedValue":{ "shape":"ParameterValue", - "documentation":"

Read-only. The value that corresponds to a Systems Manager parameter key. This field is returned only for SSM parameter types in the template.

" + "documentation":"

Read-only. The value that corresponds to a Systems Manager parameter key. This field is returned only for SSM parameter types in the template.

" } }, "documentation":"

The Parameter data type.

" @@ -2608,7 +2608,7 @@ "documentation":"

The type of property difference.

  • ADD: A value has been added to a resource property that is an array or list data type.

  • REMOVE: The property has been removed from the current resource configuration.

  • NOT_EQUAL: The current property value differs from its expected value (as defined in the stack template and any values specified as template parameters).

" } }, - "documentation":"

Information about a resource property whose actual value differs from its expected value, as defined in the stack template and any values specified as template parameters. These will be present only for resources whose StackResourceDriftStatus is MODIFIED. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

" + "documentation":"

Information about a resource property whose actual value differs from its expected value, as defined in the stack template and any values specified as template parameters. These will be present only for resources whose StackResourceDriftStatus is MODIFIED. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

" }, "PropertyDifferences":{ "type":"list", @@ -2752,7 +2752,7 @@ }, "RequiresRecreation":{ "shape":"RequiresRecreation", - "documentation":"

If the Attribute value is Properties, indicates whether a change to this property causes the resource to be recreated. The value can be Never, Always, or Conditionally. To determine the conditions for a Conditionally recreation, see the update behavior for that property in the AWS CloudFormation User Guide.

" + "documentation":"

If the Attribute value is Properties, indicates whether a change to this property causes the resource to be recreated. The value can be Never, Always, or Conditionally. To determine the conditions for a Conditionally recreation, see the update behavior for that property in the AWS CloudFormation User Guide.

" } }, "documentation":"

The field that AWS CloudFormation will change, such as the name of a resource's property, and whether the resource will be recreated.

" @@ -2794,7 +2794,7 @@ }, "MonitoringTimeInMinutes":{ "shape":"MonitoringTimeInMinutes", - "documentation":"

The amount of time, in minutes, during which CloudFormation should monitor all the rollback triggers after the stack creation or update operation deploys all necessary resources.

The default is 0 minutes.

If you specify a monitoring period but do not specify any rollback triggers, CloudFormation still waits the specified period of time before cleaning up old resources after update operations. You can use this monitoring period to perform any manual stack validation desired, and manually cancel the stack creation or update (using CancelUpdateStack, for example) as necessary.

If you specify 0 for this parameter, CloudFormation still monitors the specified rollback triggers during stack creation and update operations. Then, for update operations, it begins disposing of old resources immediately once the operation completes.

" + "documentation":"

The amount of time, in minutes, during which CloudFormation should monitor all the rollback triggers after the stack creation or update operation deploys all necessary resources.

The default is 0 minutes.

If you specify a monitoring period but do not specify any rollback triggers, CloudFormation still waits the specified period of time before cleaning up old resources after update operations. You can use this monitoring period to perform any manual stack validation desired, and manually cancel the stack creation or update (using CancelUpdateStack, for example) as necessary.

If you specify 0 for this parameter, CloudFormation still monitors the specified rollback triggers during stack creation and update operations. Then, for update operations, it begins disposing of old resources immediately once the operation completes.

" } }, "documentation":"

Structure containing the rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.

Rollback triggers enable you to have AWS CloudFormation monitor the state of your application during stack creation and updating, and to roll back that operation if the application breaches the threshold of any of the alarms you've specified. For more information, see Monitor and Roll Back Stack Operations.

" @@ -2812,7 +2812,7 @@ }, "Type":{ "shape":"Type", - "documentation":"

The resource type of the rollback trigger. Currently, AWS::CloudWatch::Alarm is the only supported resource type.

" + "documentation":"

The resource type of the rollback trigger. Currently, AWS::CloudWatch::Alarm is the only supported resource type.

" } }, "documentation":"

A rollback trigger AWS CloudFormation monitors during creation and updating of stacks. If any of the alarms you specify goes to ALARM state during the stack operation or within the specified monitoring period afterwards, CloudFormation rolls back the entire stack operation.

" @@ -2836,7 +2836,7 @@ }, "StackPolicyBody":{ "shape":"StackPolicyBody", - "documentation":"

Structure containing the stack policy body. For more information, go to Prevent Updates to Stack Resources in the AWS CloudFormation User Guide. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.

" + "documentation":"

Structure containing the stack policy body. For more information, go to Prevent Updates to Stack Resources in the AWS CloudFormation User Guide. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.

" }, "StackPolicyURL":{ "shape":"StackPolicyURL", @@ -2967,7 +2967,7 @@ }, "DriftInformation":{ "shape":"StackDriftInformation", - "documentation":"

Information on whether a stack's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

" + "documentation":"

Information on whether a stack's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

" } }, "documentation":"

The Stack data type.

" @@ -3056,7 +3056,7 @@ }, "ResourceType":{ "shape":"ResourceType", - "documentation":"

Type of resource. (For more information, go to AWS Resource Types Reference in the AWS CloudFormation User Guide.)

" + "documentation":"

Type of resource. (For more information, go to AWS Resource Types Reference in the AWS CloudFormation User Guide.)

" }, "Timestamp":{ "shape":"Timestamp", @@ -3227,7 +3227,7 @@ }, "ResourceType":{ "shape":"ResourceType", - "documentation":"

Type of resource. (For more information, go to AWS Resource Types Reference in the AWS CloudFormation User Guide.)

" + "documentation":"

Type of resource. (For more information, go to AWS Resource Types Reference in the AWS CloudFormation User Guide.)

" }, "Timestamp":{ "shape":"Timestamp", @@ -3247,7 +3247,7 @@ }, "DriftInformation":{ "shape":"StackResourceDriftInformation", - "documentation":"

Information about whether the resource's actual configuration differs, or has drifted, from its expected configuration, as defined in the stack template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

" + "documentation":"

Information about whether the resource's actual configuration differs, or has drifted, from its expected configuration, as defined in the stack template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

" } }, "documentation":"

The StackResource data type.

" @@ -3279,7 +3279,7 @@ }, "ResourceType":{ "shape":"ResourceType", - "documentation":"

Type of resource. ((For more information, go to AWS Resource Types Reference in the AWS CloudFormation User Guide.)

" + "documentation":"

Type of resource. ((For more information, go to AWS Resource Types Reference in the AWS CloudFormation User Guide.)

" }, "LastUpdatedTimestamp":{ "shape":"Timestamp", @@ -3299,11 +3299,11 @@ }, "Metadata":{ "shape":"Metadata", - "documentation":"

The content of the Metadata attribute declared for the resource. For more information, see Metadata Attribute in the AWS CloudFormation User Guide.

" + "documentation":"

The content of the Metadata attribute declared for the resource. For more information, see Metadata Attribute in the AWS CloudFormation User Guide.

" }, "DriftInformation":{ "shape":"StackResourceDriftInformation", - "documentation":"

Information about whether the resource's actual configuration differs, or has drifted, from its expected configuration, as defined in the stack template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

" + "documentation":"

Information about whether the resource's actual configuration differs, or has drifted, from its expected configuration, as defined in the stack template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

" } }, "documentation":"

Contains detailed information about the specified stack resource.

" @@ -3359,7 +3359,7 @@ "documentation":"

Time at which AWS CloudFormation performed drift detection on the stack resource.

" } }, - "documentation":"

Contains the drift information for a resource that has been checked for drift. This includes actual and expected property values for resources in which AWS CloudFormation has detected drift. Only resource properties explicitly defined in the stack template are checked for drift. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

Resources that do not currently support drift detection cannot be checked. For a list of resources that support drift detection, see Resources that Support Drift Detection.

Use DetectStackResourceDrift to detect drift on individual resources, or DetectStackDrift to detect drift on all resources in a given stack that support drift detection.

" + "documentation":"

Contains the drift information for a resource that has been checked for drift. This includes actual and expected property values for resources in which AWS CloudFormation has detected drift. Only resource properties explicitly defined in the stack template are checked for drift. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

Resources that do not currently support drift detection cannot be checked. For a list of resources that support drift detection, see Resources that Support Drift Detection.

Use DetectStackResourceDrift to detect drift on individual resources, or DetectStackDrift to detect drift on all resources in a given stack that support drift detection.

" }, "StackResourceDriftInformation":{ "type":"structure", @@ -3367,7 +3367,7 @@ "members":{ "StackResourceDriftStatus":{ "shape":"StackResourceDriftStatus", - "documentation":"

Status of the resource's actual configuration compared to its expected configuration

  • DELETED: The resource differs from its expected configuration in that it has been deleted.

  • MODIFIED: The resource differs from its expected configuration.

  • NOT_CHECKED: AWS CloudFormation has not checked if the resource differs from its expected configuration.

    Any resources that do not currently support drift detection have a status of NOT_CHECKED. For more information, see Resources that Support Drift Detection.

  • IN_SYNC: The resources's actual configuration matches its expected configuration.

" + "documentation":"

Status of the resource's actual configuration compared to its expected configuration

  • DELETED: The resource differs from its expected configuration in that it has been deleted.

  • MODIFIED: The resource differs from its expected configuration.

  • NOT_CHECKED: AWS CloudFormation has not checked if the resource differs from its expected configuration.

    Any resources that do not currently support drift detection have a status of NOT_CHECKED. For more information, see Resources that Support Drift Detection.

  • IN_SYNC: The resources's actual configuration matches its expected configuration.

" }, "LastCheckTimestamp":{ "shape":"Timestamp", @@ -3382,7 +3382,7 @@ "members":{ "StackResourceDriftStatus":{ "shape":"StackResourceDriftStatus", - "documentation":"

Status of the resource's actual configuration compared to its expected configuration

  • DELETED: The resource differs from its expected configuration in that it has been deleted.

  • MODIFIED: The resource differs from its expected configuration.

  • NOT_CHECKED: AWS CloudFormation has not checked if the resource differs from its expected configuration.

    Any resources that do not currently support drift detection have a status of NOT_CHECKED. For more information, see Resources that Support Drift Detection. If you performed an ContinueUpdateRollback operation on a stack, any resources included in ResourcesToSkip will also have a status of NOT_CHECKED. For more information on skipping resources during rollback operations, see Continue Rolling Back an Update in the AWS CloudFormation User Guide.

  • IN_SYNC: The resources's actual configuration matches its expected configuration.

" + "documentation":"

Status of the resource's actual configuration compared to its expected configuration

  • DELETED: The resource differs from its expected configuration in that it has been deleted.

  • MODIFIED: The resource differs from its expected configuration.

  • NOT_CHECKED: AWS CloudFormation has not checked if the resource differs from its expected configuration.

    Any resources that do not currently support drift detection have a status of NOT_CHECKED. For more information, see Resources that Support Drift Detection. If you performed an ContinueUpdateRollback operation on a stack, any resources included in ResourcesToSkip will also have a status of NOT_CHECKED. For more information on skipping resources during rollback operations, see Continue Rolling Back an Update in the AWS CloudFormation User Guide.

  • IN_SYNC: The resources's actual configuration matches its expected configuration.

" }, "LastCheckTimestamp":{ "shape":"Timestamp", @@ -3433,7 +3433,7 @@ }, "ResourceType":{ "shape":"ResourceType", - "documentation":"

Type of resource. (For more information, go to AWS Resource Types Reference in the AWS CloudFormation User Guide.)

" + "documentation":"

Type of resource. (For more information, go to AWS Resource Types Reference in the AWS CloudFormation User Guide.)

" }, "LastUpdatedTimestamp":{ "shape":"Timestamp", @@ -3449,7 +3449,7 @@ }, "DriftInformation":{ "shape":"StackResourceDriftInformationSummary", - "documentation":"

Information about whether the resource's actual configuration differs, or has drifted, from its expected configuration, as defined in the stack template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

" + "documentation":"

Information about whether the resource's actual configuration differs, or has drifted, from its expected configuration, as defined in the stack template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

" } }, "documentation":"

Contains high-level information about the specified stack resource.

" @@ -3487,7 +3487,7 @@ }, "Capabilities":{ "shape":"Capabilities", - "documentation":"

The capabilities that are allowed in the stack set. Some stack set templates might include resources that can affect permissions in your AWS account—for example, by creating new AWS Identity and Access Management (IAM) users. For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

" + "documentation":"

The capabilities that are allowed in the stack set. Some stack set templates might include resources that can affect permissions in your AWS account—for example, by creating new AWS Identity and Access Management (IAM) users. For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

" }, "Tags":{ "shape":"Tags", @@ -3617,7 +3617,7 @@ "documentation":"

The maximum percentage of accounts in which to perform this operation at one time.

When calculating the number of accounts based on the specified percentage, AWS CloudFormation rounds down to the next whole number. This is true except in cases where rounding down would result is zero. In this case, CloudFormation sets the number as one instead.

Note that this setting lets you specify the maximum for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.

Conditional: You must specify either MaxConcurrentCount or MaxConcurrentPercentage, but not both.

" } }, - "documentation":"

The user-specified preferences for how AWS CloudFormation performs a stack set operation.

For more information on maximum concurrent accounts and failure tolerance, see Stack set operation options.

" + "documentation":"

The user-specified preferences for how AWS CloudFormation performs a stack set operation.

For more information on maximum concurrent accounts and failure tolerance, see Stack set operation options.

" }, "StackSetOperationResultStatus":{ "type":"string", @@ -3813,7 +3813,7 @@ }, "DriftInformation":{ "shape":"StackDriftInformationSummary", - "documentation":"

Summarizes information on whether a stack's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

" + "documentation":"

Summarizes information on whether a stack's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

" } }, "documentation":"

The StackSummary Data Type

" @@ -3969,11 +3969,11 @@ }, "TemplateBody":{ "shape":"TemplateBody", - "documentation":"

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. (For more information, go to Template Anatomy in the AWS CloudFormation User Guide.)

Conditional: You must specify only one of the following parameters: TemplateBody, TemplateURL, or set the UsePreviousTemplate to true.

" + "documentation":"

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. (For more information, go to Template Anatomy in the AWS CloudFormation User Guide.)

Conditional: You must specify only one of the following parameters: TemplateBody, TemplateURL, or set the UsePreviousTemplate to true.

" }, "TemplateURL":{ "shape":"TemplateURL", - "documentation":"

Location of file containing the template body. The URL must point to a template that is located in an Amazon S3 bucket. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: TemplateBody, TemplateURL, or set the UsePreviousTemplate to true.

" + "documentation":"

Location of file containing the template body. The URL must point to a template that is located in an Amazon S3 bucket. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: TemplateBody, TemplateURL, or set the UsePreviousTemplate to true.

" }, "UsePreviousTemplate":{ "shape":"UsePreviousTemplate", @@ -3989,15 +3989,15 @@ }, "Parameters":{ "shape":"Parameters", - "documentation":"

A list of Parameter structures that specify input parameters for the stack. For more information, see the Parameter data type.

" + "documentation":"

A list of Parameter structures that specify input parameters for the stack. For more information, see the Parameter data type.

" }, "Capabilities":{ "shape":"Capabilities", - "documentation":"

In some cases, you must explicity acknowledge that your stack template contains certain capabilities in order for AWS CloudFormation to update the stack.

  • CAPABILITY_IAM and CAPABILITY_NAMED_IAM

    Some stack templates might include resources that can affect permissions in your AWS account; for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge this by specifying one of these capabilities.

    The following IAM resources require you to specify either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability.

    • If you have IAM resources, you can specify either capability.

    • If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM.

    • If you don't specify either of these capabilities, AWS CloudFormation returns an InsufficientCapabilities error.

    If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

    For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

  • CAPABILITY_AUTO_EXPAND

    Some template contain macros. Macros perform custom processing on templates; this can include simple actions like find-and-replace operations, all the way to extensive transformations of entire templates. Because of this, users typically create a change set from the processed template, so that they can review the changes resulting from the macros before actually updating the stack. If your stack template contains one or more macros, and you choose to update a stack directly from the processed template, without first reviewing the resulting changes in a change set, you must acknowledge this capability. This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by AWS CloudFormation.

    Change sets do not currently support nested stacks. If you want to update a stack from a stack template that contains macros and nested stacks, you must update the stack directly from the template using this capability.

    You should only update stacks directly from a stack template that contains macros if you know what processing the macro performs.

    Each macro relies on an underlying Lambda service function for processing stack templates. Be aware that the Lambda function owner can update the function operation without AWS CloudFormation being notified.

    For more information, see Using AWS CloudFormation Macros to Perform Custom Processing on Templates.

" + "documentation":"

In some cases, you must explicity acknowledge that your stack template contains certain capabilities in order for AWS CloudFormation to update the stack.

  • CAPABILITY_IAM and CAPABILITY_NAMED_IAM

    Some stack templates might include resources that can affect permissions in your AWS account; for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge this by specifying one of these capabilities.

    The following IAM resources require you to specify either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability.

    • If you have IAM resources, you can specify either capability.

    • If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM.

    • If you don't specify either of these capabilities, AWS CloudFormation returns an InsufficientCapabilities error.

    If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

    For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

  • CAPABILITY_AUTO_EXPAND

    Some template contain macros. Macros perform custom processing on templates; this can include simple actions like find-and-replace operations, all the way to extensive transformations of entire templates. Because of this, users typically create a change set from the processed template, so that they can review the changes resulting from the macros before actually updating the stack. If your stack template contains one or more macros, and you choose to update a stack directly from the processed template, without first reviewing the resulting changes in a change set, you must acknowledge this capability. This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by AWS CloudFormation.

    Change sets do not currently support nested stacks. If you want to update a stack from a stack template that contains macros and nested stacks, you must update the stack directly from the template using this capability.

    You should only update stacks directly from a stack template that contains macros if you know what processing the macro performs.

    Each macro relies on an underlying Lambda service function for processing stack templates. Be aware that the Lambda function owner can update the function operation without AWS CloudFormation being notified.

    For more information, see Using AWS CloudFormation Macros to Perform Custom Processing on Templates.

" }, "ResourceTypes":{ "shape":"ResourceTypes", - "documentation":"

The template resource types that you have permissions to work with for this update stack action, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance.

If the list of resource types doesn't include a resource that you're updating, the stack update fails. By default, AWS CloudFormation grants permissions to all resource types. AWS Identity and Access Management (IAM) uses this parameter for AWS CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management.

" + "documentation":"

The template resource types that you have permissions to work with for this update stack action, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance.

If the list of resource types doesn't include a resource that you're updating, the stack update fails. By default, AWS CloudFormation grants permissions to all resource types. AWS Identity and Access Management (IAM) uses this parameter for AWS CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management.

" }, "RoleARN":{ "shape":"RoleARN", @@ -4052,7 +4052,7 @@ }, "ParameterOverrides":{ "shape":"Parameters", - "documentation":"

A list of input parameters whose values you want to update for the specified stack instances.

Any overridden parameter values will be applied to all stack instances in the specified accounts and regions. When specifying parameters and their values, be aware of how AWS CloudFormation sets parameter values during stack instance update operations:

  • To override the current value for a parameter, include the parameter and specify its value.

  • To leave a parameter set to its present value, you can do one of the following:

    • Do not include the parameter in the list.

    • Include the parameter and specify UsePreviousValue as true. (You cannot specify both a value and set UsePreviousValue to true.)

  • To set all overridden parameter back to the values specified in the stack set, specify a parameter list but do not include any parameters.

  • To leave all parameters set to their present values, do not specify this property at all.

During stack set updates, any parameter values overridden for a stack instance are not updated, but retain their overridden value.

You can only override the parameter values that are specified in the stack set; to add or delete a parameter itself, use UpdateStackSet to update the stack set template. If you add a parameter to a template, before you can override the parameter value specified in the stack set you must first use UpdateStackSet to update all stack instances with the updated template and parameter value specified in the stack set. Once a stack instance has been updated with the new parameter, you can then override the parameter value using UpdateStackInstances.

" + "documentation":"

A list of input parameters whose values you want to update for the specified stack instances.

Any overridden parameter values will be applied to all stack instances in the specified accounts and regions. When specifying parameters and their values, be aware of how AWS CloudFormation sets parameter values during stack instance update operations:

  • To override the current value for a parameter, include the parameter and specify its value.

  • To leave a parameter set to its present value, you can do one of the following:

    • Do not include the parameter in the list.

    • Include the parameter and specify UsePreviousValue as true. (You cannot specify both a value and set UsePreviousValue to true.)

  • To set all overridden parameter back to the values specified in the stack set, specify a parameter list but do not include any parameters.

  • To leave all parameters set to their present values, do not specify this property at all.

During stack set updates, any parameter values overridden for a stack instance are not updated, but retain their overridden value.

You can only override the parameter values that are specified in the stack set; to add or delete a parameter itself, use UpdateStackSet to update the stack set template. If you add a parameter to a template, before you can override the parameter value specified in the stack set you must first use UpdateStackSet to update all stack instances with the updated template and parameter value specified in the stack set. Once a stack instance has been updated with the new parameter, you can then override the parameter value using UpdateStackInstances.

" }, "OperationPreferences":{ "shape":"StackSetOperationPreferences", @@ -4098,11 +4098,11 @@ }, "TemplateBody":{ "shape":"TemplateBody", - "documentation":"

The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: TemplateBody or TemplateURL—or set UsePreviousTemplate to true.

" + "documentation":"

The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: TemplateBody or TemplateURL—or set UsePreviousTemplate to true.

" }, "TemplateURL":{ "shape":"TemplateURL", - "documentation":"

The location of the file that contains the template body. The URL must point to a template (maximum size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: TemplateBody or TemplateURL—or set UsePreviousTemplate to true.

" + "documentation":"

The location of the file that contains the template body. The URL must point to a template (maximum size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: TemplateBody or TemplateURL—or set UsePreviousTemplate to true.

" }, "UsePreviousTemplate":{ "shape":"UsePreviousTemplate", @@ -4114,7 +4114,7 @@ }, "Capabilities":{ "shape":"Capabilities", - "documentation":"

A list of values that you must specify before AWS CloudFormation can create certain stack sets. Some stack set templates might include resources that can affect permissions in your AWS account—for example, by creating new AWS Identity and Access Management (IAM) users. For those stack sets, you must explicitly acknowledge their capabilities by specifying this parameter.

The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following resources require you to specify this parameter:

  • AWS::IAM::AccessKey

  • AWS::IAM::Group

  • AWS::IAM::InstanceProfile

  • AWS::IAM::Policy

  • AWS::IAM::Role

  • AWS::IAM::User

  • AWS::IAM::UserToGroupAddition

If your stack template contains these resources, we recommend that you review all permissions that are associated with them and edit their permissions if necessary.

If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't specify this parameter, this action returns an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

" + "documentation":"

In some cases, you must explicity acknowledge that your stack template contains certain capabilities in order for AWS CloudFormation to update the stack set and its associated stack instances.

  • CAPABILITY_IAM and CAPABILITY_NAMED_IAM

    Some stack templates might include resources that can affect permissions in your AWS account; for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks sets, you must explicitly acknowledge this by specifying one of these capabilities.

    The following IAM resources require you to specify either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability.

    • If you have IAM resources, you can specify either capability.

    • If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM.

    • If you don't specify either of these capabilities, AWS CloudFormation returns an InsufficientCapabilities error.

    If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

    For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

  • CAPABILITY_AUTO_EXPAND

    Some templates contain macros. If your stack template contains one or more macros, and you choose to update a stack directly from the processed template, without first reviewing the resulting changes in a change set, you must acknowledge this capability. For more information, see Using AWS CloudFormation Macros to Perform Custom Processing on Templates.

    Stack sets do not currently support macros in stack templates. (This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by AWS CloudFormation.) Even if you specify this capability, if you include a macro in your template the stack set operation will fail.

" }, "Tags":{ "shape":"Tags", @@ -4126,7 +4126,7 @@ }, "AdministrationRoleARN":{ "shape":"RoleARN", - "documentation":"

The Amazon Resource Number (ARN) of the IAM role to use to update this stack set.

Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see Define Permissions for Multiple Administrators in the AWS CloudFormation User Guide.

If you specify a customized administrator role, AWS CloudFormation uses that role to update the stack. If you do not specify a customized administrator role, AWS CloudFormation performs the update using the role previously associated with the stack set, so long as you have permissions to perform operations on the stack set.

" + "documentation":"

The Amazon Resource Number (ARN) of the IAM role to use to update this stack set.

Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see Granting Permissions for Stack Set Operations in the AWS CloudFormation User Guide.

If you specified a customized administrator role when you created the stack set, you must specify a customized administrator role, even if it is the same customized administrator role used with this stack set previously.

" }, "ExecutionRoleName":{ "shape":"ExecutionRoleName", @@ -4190,11 +4190,11 @@ "members":{ "TemplateBody":{ "shape":"TemplateBody", - "documentation":"

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.

" + "documentation":"

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.

" }, "TemplateURL":{ "shape":"TemplateURL", - "documentation":"

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.

" + "documentation":"

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.

" } }, "documentation":"

The input for ValidateTemplate action.

" @@ -4212,7 +4212,7 @@ }, "Capabilities":{ "shape":"Capabilities", - "documentation":"

The capabilities found within the template. If your template contains IAM resources, you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value for this parameter when you use the CreateStack or UpdateStack actions with your template; otherwise, those actions return an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

" + "documentation":"

The capabilities found within the template. If your template contains IAM resources, you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value for this parameter when you use the CreateStack or UpdateStack actions with your template; otherwise, those actions return an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

" }, "CapabilitiesReason":{ "shape":"CapabilitiesReason", @@ -4228,5 +4228,5 @@ "Value":{"type":"string"}, "Version":{"type":"string"} }, - "documentation":"AWS CloudFormation

AWS CloudFormation allows you to create and manage AWS infrastructure deployments predictably and repeatedly. You can use AWS CloudFormation to leverage AWS products, such as Amazon Elastic Compute Cloud, Amazon Elastic Block Store, Amazon Simple Notification Service, Elastic Load Balancing, and Auto Scaling to build highly-reliable, highly scalable, cost-effective applications without creating or configuring the underlying AWS infrastructure.

With AWS CloudFormation, you declare all of your resources and dependencies in a template file. The template defines a collection of resources as a single unit called a stack. AWS CloudFormation creates and deletes all member resources of the stack together and manages all dependencies between the resources for you.

For more information about AWS CloudFormation, see the AWS CloudFormation Product Page.

Amazon CloudFormation makes use of other AWS products. If you need additional technical information about a specific AWS product, you can find the product's technical documentation at docs.aws.amazon.com.

" + "documentation":"AWS CloudFormation

AWS CloudFormation allows you to create and manage AWS infrastructure deployments predictably and repeatedly. You can use AWS CloudFormation to leverage AWS products, such as Amazon Elastic Compute Cloud, Amazon Elastic Block Store, Amazon Simple Notification Service, Elastic Load Balancing, and Auto Scaling to build highly-reliable, highly scalable, cost-effective applications without creating or configuring the underlying AWS infrastructure.

With AWS CloudFormation, you declare all of your resources and dependencies in a template file. The template defines a collection of resources as a single unit called a stack. AWS CloudFormation creates and deletes all member resources of the stack together and manages all dependencies between the resources for you.

For more information about AWS CloudFormation, see the AWS CloudFormation Product Page.

Amazon CloudFormation makes use of other AWS products. If you need additional technical information about a specific AWS product, you can find the product's technical documentation at docs.aws.amazon.com.

" } diff --git a/bin/botocore/data/cloudfront/2019-03-26/examples-1.json b/bin/botocore/data/cloudfront/2019-03-26/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/bin/botocore/data/cloudfront/2019-03-26/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/bin/botocore/data/cloudfront/2019-03-26/paginators-1.json b/bin/botocore/data/cloudfront/2019-03-26/paginators-1.json new file mode 100644 index 00000000..51fbb907 --- /dev/null +++ b/bin/botocore/data/cloudfront/2019-03-26/paginators-1.json @@ -0,0 +1,32 @@ +{ + "pagination": { + "ListCloudFrontOriginAccessIdentities": { + "input_token": "Marker", + "output_token": "CloudFrontOriginAccessIdentityList.NextMarker", + "limit_key": "MaxItems", + "more_results": "CloudFrontOriginAccessIdentityList.IsTruncated", + "result_key": "CloudFrontOriginAccessIdentityList.Items" + }, + "ListDistributions": { + "input_token": "Marker", + "output_token": "DistributionList.NextMarker", + "limit_key": "MaxItems", + "more_results": "DistributionList.IsTruncated", + "result_key": "DistributionList.Items" + }, + "ListInvalidations": { + "input_token": "Marker", + "output_token": "InvalidationList.NextMarker", + "limit_key": "MaxItems", + "more_results": "InvalidationList.IsTruncated", + "result_key": "InvalidationList.Items" + }, + "ListStreamingDistributions": { + "input_token": "Marker", + "output_token": "StreamingDistributionList.NextMarker", + "limit_key": "MaxItems", + "more_results": "StreamingDistributionList.IsTruncated", + "result_key": "StreamingDistributionList.Items" + } + } +} diff --git a/bin/botocore/data/cloudfront/2019-03-26/service-2.json b/bin/botocore/data/cloudfront/2019-03-26/service-2.json new file mode 100644 index 00000000..1ab4369a --- /dev/null +++ b/bin/botocore/data/cloudfront/2019-03-26/service-2.json @@ -0,0 +1,5440 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-03-26", + "endpointPrefix":"cloudfront", + "globalEndpoint":"cloudfront.amazonaws.com", + "protocol":"rest-xml", + "serviceAbbreviation":"CloudFront", + "serviceFullName":"Amazon CloudFront", + "serviceId":"CloudFront", + "signatureVersion":"v4", + "uid":"cloudfront-2019-03-26" + }, + "operations":{ + "CreateCloudFrontOriginAccessIdentity":{ + "name":"CreateCloudFrontOriginAccessIdentity2019_03_26", + "http":{ + "method":"POST", + "requestUri":"/2019-03-26/origin-access-identity/cloudfront", + "responseCode":201 + }, + "input":{"shape":"CreateCloudFrontOriginAccessIdentityRequest"}, + "output":{"shape":"CreateCloudFrontOriginAccessIdentityResult"}, + "errors":[ + {"shape":"CloudFrontOriginAccessIdentityAlreadyExists"}, + {"shape":"MissingBody"}, + {"shape":"TooManyCloudFrontOriginAccessIdentities"}, + {"shape":"InvalidArgument"}, + {"shape":"InconsistentQuantities"} + ], + "documentation":"

Creates a new origin access identity. If you're using Amazon S3 for your origin, you can use an origin access identity to require users to access your content using a CloudFront URL instead of the Amazon S3 URL. For more information about how to use origin access identities, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" + }, + "CreateDistribution":{ + "name":"CreateDistribution2019_03_26", + "http":{ + "method":"POST", + "requestUri":"/2019-03-26/distribution", + "responseCode":201 + }, + "input":{"shape":"CreateDistributionRequest"}, + "output":{"shape":"CreateDistributionResult"}, + "errors":[ + {"shape":"CNAMEAlreadyExists"}, + {"shape":"DistributionAlreadyExists"}, + {"shape":"InvalidOrigin"}, + {"shape":"InvalidOriginAccessIdentity"}, + {"shape":"AccessDenied"}, + {"shape":"TooManyTrustedSigners"}, + {"shape":"TrustedSignerDoesNotExist"}, + {"shape":"InvalidViewerCertificate"}, + {"shape":"InvalidMinimumProtocolVersion"}, + {"shape":"MissingBody"}, + {"shape":"TooManyDistributionCNAMEs"}, + {"shape":"TooManyDistributions"}, + {"shape":"InvalidDefaultRootObject"}, + {"shape":"InvalidRelativePath"}, + {"shape":"InvalidErrorCode"}, + {"shape":"InvalidResponseCode"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidRequiredProtocol"}, + {"shape":"NoSuchOrigin"}, + {"shape":"TooManyOrigins"}, + {"shape":"TooManyOriginGroupsPerDistribution"}, + {"shape":"TooManyCacheBehaviors"}, + {"shape":"TooManyCookieNamesInWhiteList"}, + {"shape":"InvalidForwardCookies"}, + {"shape":"TooManyHeadersInForwardedValues"}, + {"shape":"InvalidHeadersForS3Origin"}, + {"shape":"InconsistentQuantities"}, + {"shape":"TooManyCertificates"}, + {"shape":"InvalidLocationCode"}, + {"shape":"InvalidGeoRestrictionParameter"}, + {"shape":"InvalidProtocolSettings"}, + {"shape":"InvalidTTLOrder"}, + {"shape":"InvalidWebACLId"}, + {"shape":"TooManyOriginCustomHeaders"}, + {"shape":"TooManyQueryStringParameters"}, + {"shape":"InvalidQueryStringParameters"}, + {"shape":"TooManyDistributionsWithLambdaAssociations"}, + {"shape":"TooManyLambdaFunctionAssociations"}, + {"shape":"InvalidLambdaFunctionAssociation"}, + {"shape":"InvalidOriginReadTimeout"}, + {"shape":"InvalidOriginKeepaliveTimeout"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior"}, + {"shape":"TooManyDistributionsAssociatedToFieldLevelEncryptionConfig"} + ], + "documentation":"

Creates a new web distribution. You create a CloudFront distribution to tell CloudFront where you want content to be delivered from, and the details about how to track and manage content delivery. Send a POST request to the /CloudFront API version/distribution/distribution ID resource.

When you update a distribution, there are more required fields than when you create a distribution. When you update your distribution by using UpdateDistribution, follow the steps included in the documentation to get the current configuration and then make your updates. This helps to make sure that you include all of the required fields. To view a summary, see Required Fields for Create Distribution and Update Distribution in the Amazon CloudFront Developer Guide.

" + }, + "CreateDistributionWithTags":{ + "name":"CreateDistributionWithTags2019_03_26", + "http":{ + "method":"POST", + "requestUri":"/2019-03-26/distribution?WithTags", + "responseCode":201 + }, + "input":{"shape":"CreateDistributionWithTagsRequest"}, + "output":{"shape":"CreateDistributionWithTagsResult"}, + "errors":[ + {"shape":"CNAMEAlreadyExists"}, + {"shape":"DistributionAlreadyExists"}, + {"shape":"InvalidOrigin"}, + {"shape":"InvalidOriginAccessIdentity"}, + {"shape":"AccessDenied"}, + {"shape":"TooManyTrustedSigners"}, + {"shape":"TrustedSignerDoesNotExist"}, + {"shape":"InvalidViewerCertificate"}, + {"shape":"InvalidMinimumProtocolVersion"}, + {"shape":"MissingBody"}, + {"shape":"TooManyDistributionCNAMEs"}, + {"shape":"TooManyDistributions"}, + {"shape":"InvalidDefaultRootObject"}, + {"shape":"InvalidRelativePath"}, + {"shape":"InvalidErrorCode"}, + {"shape":"InvalidResponseCode"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidRequiredProtocol"}, + {"shape":"NoSuchOrigin"}, + {"shape":"TooManyOrigins"}, + {"shape":"TooManyOriginGroupsPerDistribution"}, + {"shape":"TooManyCacheBehaviors"}, + {"shape":"TooManyCookieNamesInWhiteList"}, + {"shape":"InvalidForwardCookies"}, + {"shape":"TooManyHeadersInForwardedValues"}, + {"shape":"InvalidHeadersForS3Origin"}, + {"shape":"InconsistentQuantities"}, + {"shape":"TooManyCertificates"}, + {"shape":"InvalidLocationCode"}, + {"shape":"InvalidGeoRestrictionParameter"}, + {"shape":"InvalidProtocolSettings"}, + {"shape":"InvalidTTLOrder"}, + {"shape":"InvalidWebACLId"}, + {"shape":"TooManyOriginCustomHeaders"}, + {"shape":"InvalidTagging"}, + {"shape":"TooManyQueryStringParameters"}, + {"shape":"InvalidQueryStringParameters"}, + {"shape":"TooManyDistributionsWithLambdaAssociations"}, + {"shape":"TooManyLambdaFunctionAssociations"}, + {"shape":"InvalidLambdaFunctionAssociation"}, + {"shape":"InvalidOriginReadTimeout"}, + {"shape":"InvalidOriginKeepaliveTimeout"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior"}, + {"shape":"TooManyDistributionsAssociatedToFieldLevelEncryptionConfig"} + ], + "documentation":"

Create a new distribution with tags.

" + }, + "CreateFieldLevelEncryptionConfig":{ + "name":"CreateFieldLevelEncryptionConfig2019_03_26", + "http":{ + "method":"POST", + "requestUri":"/2019-03-26/field-level-encryption", + "responseCode":201 + }, + "input":{"shape":"CreateFieldLevelEncryptionConfigRequest"}, + "output":{"shape":"CreateFieldLevelEncryptionConfigResult"}, + "errors":[ + {"shape":"InconsistentQuantities"}, + {"shape":"InvalidArgument"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"}, + {"shape":"FieldLevelEncryptionConfigAlreadyExists"}, + {"shape":"TooManyFieldLevelEncryptionConfigs"}, + {"shape":"TooManyFieldLevelEncryptionQueryArgProfiles"}, + {"shape":"TooManyFieldLevelEncryptionContentTypeProfiles"}, + {"shape":"QueryArgProfileEmpty"} + ], + "documentation":"

Create a new field-level encryption configuration.

" + }, + "CreateFieldLevelEncryptionProfile":{ + "name":"CreateFieldLevelEncryptionProfile2019_03_26", + "http":{ + "method":"POST", + "requestUri":"/2019-03-26/field-level-encryption-profile", + "responseCode":201 + }, + "input":{"shape":"CreateFieldLevelEncryptionProfileRequest"}, + "output":{"shape":"CreateFieldLevelEncryptionProfileResult"}, + "errors":[ + {"shape":"InconsistentQuantities"}, + {"shape":"InvalidArgument"}, + {"shape":"NoSuchPublicKey"}, + {"shape":"FieldLevelEncryptionProfileAlreadyExists"}, + {"shape":"FieldLevelEncryptionProfileSizeExceeded"}, + {"shape":"TooManyFieldLevelEncryptionProfiles"}, + {"shape":"TooManyFieldLevelEncryptionEncryptionEntities"}, + {"shape":"TooManyFieldLevelEncryptionFieldPatterns"} + ], + "documentation":"

Create a field-level encryption profile.

" + }, + "CreateInvalidation":{ + "name":"CreateInvalidation2019_03_26", + "http":{ + "method":"POST", + "requestUri":"/2019-03-26/distribution/{DistributionId}/invalidation", + "responseCode":201 + }, + "input":{"shape":"CreateInvalidationRequest"}, + "output":{"shape":"CreateInvalidationResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"MissingBody"}, + {"shape":"InvalidArgument"}, + {"shape":"NoSuchDistribution"}, + {"shape":"BatchTooLarge"}, + {"shape":"TooManyInvalidationsInProgress"}, + {"shape":"InconsistentQuantities"} + ], + "documentation":"

Create a new invalidation.

" + }, + "CreatePublicKey":{ + "name":"CreatePublicKey2019_03_26", + "http":{ + "method":"POST", + "requestUri":"/2019-03-26/public-key", + "responseCode":201 + }, + "input":{"shape":"CreatePublicKeyRequest"}, + "output":{"shape":"CreatePublicKeyResult"}, + "errors":[ + {"shape":"PublicKeyAlreadyExists"}, + {"shape":"InvalidArgument"}, + {"shape":"TooManyPublicKeys"} + ], + "documentation":"

Add a new public key to CloudFront to use, for example, for field-level encryption. You can add a maximum of 10 public keys with one AWS account.

" + }, + "CreateStreamingDistribution":{ + "name":"CreateStreamingDistribution2019_03_26", + "http":{ + "method":"POST", + "requestUri":"/2019-03-26/streaming-distribution", + "responseCode":201 + }, + "input":{"shape":"CreateStreamingDistributionRequest"}, + "output":{"shape":"CreateStreamingDistributionResult"}, + "errors":[ + {"shape":"CNAMEAlreadyExists"}, + {"shape":"StreamingDistributionAlreadyExists"}, + {"shape":"InvalidOrigin"}, + {"shape":"InvalidOriginAccessIdentity"}, + {"shape":"AccessDenied"}, + {"shape":"TooManyTrustedSigners"}, + {"shape":"TrustedSignerDoesNotExist"}, + {"shape":"MissingBody"}, + {"shape":"TooManyStreamingDistributionCNAMEs"}, + {"shape":"TooManyStreamingDistributions"}, + {"shape":"InvalidArgument"}, + {"shape":"InconsistentQuantities"} + ], + "documentation":"

Creates a new RTMP distribution. An RTMP distribution is similar to a web distribution, but an RTMP distribution streams media files using the Adobe Real-Time Messaging Protocol (RTMP) instead of serving files using HTTP.

To create a new distribution, submit a POST request to the CloudFront API version/distribution resource. The request body must include a document with a StreamingDistributionConfig element. The response echoes the StreamingDistributionConfig element and returns other information about the RTMP distribution.

To get the status of your request, use the GET StreamingDistribution API action. When the value of Enabled is true and the value of Status is Deployed, your distribution is ready. A distribution usually deploys in less than 15 minutes.

For more information about web distributions, see Working with RTMP Distributions in the Amazon CloudFront Developer Guide.

Beginning with the 2012-05-05 version of the CloudFront API, we made substantial changes to the format of the XML document that you include in the request body when you create or update a web distribution or an RTMP distribution, and when you invalidate objects. With previous versions of the API, we discovered that it was too easy to accidentally delete one or more values for an element that accepts multiple values, for example, CNAMEs and trusted signers. Our changes for the 2012-05-05 release are intended to prevent these accidental deletions and to notify you when there's a mismatch between the number of values you say you're specifying in the Quantity element and the number of values specified.

" + }, + "CreateStreamingDistributionWithTags":{ + "name":"CreateStreamingDistributionWithTags2019_03_26", + "http":{ + "method":"POST", + "requestUri":"/2019-03-26/streaming-distribution?WithTags", + "responseCode":201 + }, + "input":{"shape":"CreateStreamingDistributionWithTagsRequest"}, + "output":{"shape":"CreateStreamingDistributionWithTagsResult"}, + "errors":[ + {"shape":"CNAMEAlreadyExists"}, + {"shape":"StreamingDistributionAlreadyExists"}, + {"shape":"InvalidOrigin"}, + {"shape":"InvalidOriginAccessIdentity"}, + {"shape":"AccessDenied"}, + {"shape":"TooManyTrustedSigners"}, + {"shape":"TrustedSignerDoesNotExist"}, + {"shape":"MissingBody"}, + {"shape":"TooManyStreamingDistributionCNAMEs"}, + {"shape":"TooManyStreamingDistributions"}, + {"shape":"InvalidArgument"}, + {"shape":"InconsistentQuantities"}, + {"shape":"InvalidTagging"} + ], + "documentation":"

Create a new streaming distribution with tags.

" + }, + "DeleteCloudFrontOriginAccessIdentity":{ + "name":"DeleteCloudFrontOriginAccessIdentity2019_03_26", + "http":{ + "method":"DELETE", + "requestUri":"/2019-03-26/origin-access-identity/cloudfront/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteCloudFrontOriginAccessIdentityRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, + {"shape":"PreconditionFailed"}, + {"shape":"CloudFrontOriginAccessIdentityInUse"} + ], + "documentation":"

Delete an origin access identity.

" + }, + "DeleteDistribution":{ + "name":"DeleteDistribution2019_03_26", + "http":{ + "method":"DELETE", + "requestUri":"/2019-03-26/distribution/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteDistributionRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"DistributionNotDisabled"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchDistribution"}, + {"shape":"PreconditionFailed"} + ], + "documentation":"

Delete a distribution.

" + }, + "DeleteFieldLevelEncryptionConfig":{ + "name":"DeleteFieldLevelEncryptionConfig2019_03_26", + "http":{ + "method":"DELETE", + "requestUri":"/2019-03-26/field-level-encryption/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteFieldLevelEncryptionConfigRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"PreconditionFailed"}, + {"shape":"FieldLevelEncryptionConfigInUse"} + ], + "documentation":"

Remove a field-level encryption configuration.

" + }, + "DeleteFieldLevelEncryptionProfile":{ + "name":"DeleteFieldLevelEncryptionProfile2019_03_26", + "http":{ + "method":"DELETE", + "requestUri":"/2019-03-26/field-level-encryption-profile/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteFieldLevelEncryptionProfileRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"}, + {"shape":"PreconditionFailed"}, + {"shape":"FieldLevelEncryptionProfileInUse"} + ], + "documentation":"

Remove a field-level encryption profile.

" + }, + "DeletePublicKey":{ + "name":"DeletePublicKey2019_03_26", + "http":{ + "method":"DELETE", + "requestUri":"/2019-03-26/public-key/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeletePublicKeyRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"PublicKeyInUse"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchPublicKey"}, + {"shape":"PreconditionFailed"} + ], + "documentation":"

Remove a public key you previously added to CloudFront.

" + }, + "DeleteStreamingDistribution":{ + "name":"DeleteStreamingDistribution2019_03_26", + "http":{ + "method":"DELETE", + "requestUri":"/2019-03-26/streaming-distribution/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteStreamingDistributionRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"StreamingDistributionNotDisabled"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchStreamingDistribution"}, + {"shape":"PreconditionFailed"} + ], + "documentation":"

Delete a streaming distribution. To delete an RTMP distribution using the CloudFront API, perform the following steps.

To delete an RTMP distribution using the CloudFront API:

  1. Disable the RTMP distribution.

  2. Submit a GET Streaming Distribution Config request to get the current configuration and the Etag header for the distribution.

  3. Update the XML document that was returned in the response to your GET Streaming Distribution Config request to change the value of Enabled to false.

  4. Submit a PUT Streaming Distribution Config request to update the configuration for your distribution. In the request body, include the XML document that you updated in Step 3. Then set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Streaming Distribution Config request in Step 2.

  5. Review the response to the PUT Streaming Distribution Config request to confirm that the distribution was successfully disabled.

  6. Submit a GET Streaming Distribution Config request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

  7. Submit a DELETE Streaming Distribution request. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Streaming Distribution Config request in Step 2.

  8. Review the response to your DELETE Streaming Distribution request to confirm that the distribution was successfully deleted.

For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the Amazon CloudFront Developer Guide.

" + }, + "GetCloudFrontOriginAccessIdentity":{ + "name":"GetCloudFrontOriginAccessIdentity2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/origin-access-identity/cloudfront/{Id}" + }, + "input":{"shape":"GetCloudFrontOriginAccessIdentityRequest"}, + "output":{"shape":"GetCloudFrontOriginAccessIdentityResult"}, + "errors":[ + {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the information about an origin access identity.

" + }, + "GetCloudFrontOriginAccessIdentityConfig":{ + "name":"GetCloudFrontOriginAccessIdentityConfig2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/origin-access-identity/cloudfront/{Id}/config" + }, + "input":{"shape":"GetCloudFrontOriginAccessIdentityConfigRequest"}, + "output":{"shape":"GetCloudFrontOriginAccessIdentityConfigResult"}, + "errors":[ + {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the configuration information about an origin access identity.

" + }, + "GetDistribution":{ + "name":"GetDistribution2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/distribution/{Id}" + }, + "input":{"shape":"GetDistributionRequest"}, + "output":{"shape":"GetDistributionResult"}, + "errors":[ + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the information about a distribution.

" + }, + "GetDistributionConfig":{ + "name":"GetDistributionConfig2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/distribution/{Id}/config" + }, + "input":{"shape":"GetDistributionConfigRequest"}, + "output":{"shape":"GetDistributionConfigResult"}, + "errors":[ + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the configuration information about a distribution.

" + }, + "GetFieldLevelEncryption":{ + "name":"GetFieldLevelEncryption2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/field-level-encryption/{Id}" + }, + "input":{"shape":"GetFieldLevelEncryptionRequest"}, + "output":{"shape":"GetFieldLevelEncryptionResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"} + ], + "documentation":"

Get the field-level encryption configuration information.

" + }, + "GetFieldLevelEncryptionConfig":{ + "name":"GetFieldLevelEncryptionConfig2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/field-level-encryption/{Id}/config" + }, + "input":{"shape":"GetFieldLevelEncryptionConfigRequest"}, + "output":{"shape":"GetFieldLevelEncryptionConfigResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"} + ], + "documentation":"

Get the field-level encryption configuration information.

" + }, + "GetFieldLevelEncryptionProfile":{ + "name":"GetFieldLevelEncryptionProfile2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/field-level-encryption-profile/{Id}" + }, + "input":{"shape":"GetFieldLevelEncryptionProfileRequest"}, + "output":{"shape":"GetFieldLevelEncryptionProfileResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"} + ], + "documentation":"

Get the field-level encryption profile information.

" + }, + "GetFieldLevelEncryptionProfileConfig":{ + "name":"GetFieldLevelEncryptionProfileConfig2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/field-level-encryption-profile/{Id}/config" + }, + "input":{"shape":"GetFieldLevelEncryptionProfileConfigRequest"}, + "output":{"shape":"GetFieldLevelEncryptionProfileConfigResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"} + ], + "documentation":"

Get the field-level encryption profile configuration information.

" + }, + "GetInvalidation":{ + "name":"GetInvalidation2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/distribution/{DistributionId}/invalidation/{Id}" + }, + "input":{"shape":"GetInvalidationRequest"}, + "output":{"shape":"GetInvalidationResult"}, + "errors":[ + {"shape":"NoSuchInvalidation"}, + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the information about an invalidation.

" + }, + "GetPublicKey":{ + "name":"GetPublicKey2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/public-key/{Id}" + }, + "input":{"shape":"GetPublicKeyRequest"}, + "output":{"shape":"GetPublicKeyResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchPublicKey"} + ], + "documentation":"

Get the public key information.

" + }, + "GetPublicKeyConfig":{ + "name":"GetPublicKeyConfig2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/public-key/{Id}/config" + }, + "input":{"shape":"GetPublicKeyConfigRequest"}, + "output":{"shape":"GetPublicKeyConfigResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchPublicKey"} + ], + "documentation":"

Return public key configuration informaation

" + }, + "GetStreamingDistribution":{ + "name":"GetStreamingDistribution2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/streaming-distribution/{Id}" + }, + "input":{"shape":"GetStreamingDistributionRequest"}, + "output":{"shape":"GetStreamingDistributionResult"}, + "errors":[ + {"shape":"NoSuchStreamingDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Gets information about a specified RTMP distribution, including the distribution configuration.

" + }, + "GetStreamingDistributionConfig":{ + "name":"GetStreamingDistributionConfig2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/streaming-distribution/{Id}/config" + }, + "input":{"shape":"GetStreamingDistributionConfigRequest"}, + "output":{"shape":"GetStreamingDistributionConfigResult"}, + "errors":[ + {"shape":"NoSuchStreamingDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the configuration information about a streaming distribution.

" + }, + "ListCloudFrontOriginAccessIdentities":{ + "name":"ListCloudFrontOriginAccessIdentities2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/origin-access-identity/cloudfront" + }, + "input":{"shape":"ListCloudFrontOriginAccessIdentitiesRequest"}, + "output":{"shape":"ListCloudFrontOriginAccessIdentitiesResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

Lists origin access identities.

" + }, + "ListDistributions":{ + "name":"ListDistributions2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/distribution" + }, + "input":{"shape":"ListDistributionsRequest"}, + "output":{"shape":"ListDistributionsResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List CloudFront distributions.

" + }, + "ListDistributionsByWebACLId":{ + "name":"ListDistributionsByWebACLId2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/distributionsByWebACLId/{WebACLId}" + }, + "input":{"shape":"ListDistributionsByWebACLIdRequest"}, + "output":{"shape":"ListDistributionsByWebACLIdResult"}, + "errors":[ + {"shape":"InvalidArgument"}, + {"shape":"InvalidWebACLId"} + ], + "documentation":"

List the distributions that are associated with a specified AWS WAF web ACL.

" + }, + "ListFieldLevelEncryptionConfigs":{ + "name":"ListFieldLevelEncryptionConfigs2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/field-level-encryption" + }, + "input":{"shape":"ListFieldLevelEncryptionConfigsRequest"}, + "output":{"shape":"ListFieldLevelEncryptionConfigsResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List all field-level encryption configurations that have been created in CloudFront for this account.

" + }, + "ListFieldLevelEncryptionProfiles":{ + "name":"ListFieldLevelEncryptionProfiles2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/field-level-encryption-profile" + }, + "input":{"shape":"ListFieldLevelEncryptionProfilesRequest"}, + "output":{"shape":"ListFieldLevelEncryptionProfilesResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

Request a list of field-level encryption profiles that have been created in CloudFront for this account.

" + }, + "ListInvalidations":{ + "name":"ListInvalidations2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/distribution/{DistributionId}/invalidation" + }, + "input":{"shape":"ListInvalidationsRequest"}, + "output":{"shape":"ListInvalidationsResult"}, + "errors":[ + {"shape":"InvalidArgument"}, + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Lists invalidation batches.

" + }, + "ListPublicKeys":{ + "name":"ListPublicKeys2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/public-key" + }, + "input":{"shape":"ListPublicKeysRequest"}, + "output":{"shape":"ListPublicKeysResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List all public keys that have been added to CloudFront for this account.

" + }, + "ListStreamingDistributions":{ + "name":"ListStreamingDistributions2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/streaming-distribution" + }, + "input":{"shape":"ListStreamingDistributionsRequest"}, + "output":{"shape":"ListStreamingDistributionsResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List streaming distributions.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/tagging" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidTagging"}, + {"shape":"NoSuchResource"} + ], + "documentation":"

List tags for a CloudFront resource.

" + }, + "TagResource":{ + "name":"TagResource2019_03_26", + "http":{ + "method":"POST", + "requestUri":"/2019-03-26/tagging?Operation=Tag", + "responseCode":204 + }, + "input":{"shape":"TagResourceRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidTagging"}, + {"shape":"NoSuchResource"} + ], + "documentation":"

Add tags to a CloudFront resource.

" + }, + "UntagResource":{ + "name":"UntagResource2019_03_26", + "http":{ + "method":"POST", + "requestUri":"/2019-03-26/tagging?Operation=Untag", + "responseCode":204 + }, + "input":{"shape":"UntagResourceRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidTagging"}, + {"shape":"NoSuchResource"} + ], + "documentation":"

Remove tags from a CloudFront resource.

" + }, + "UpdateCloudFrontOriginAccessIdentity":{ + "name":"UpdateCloudFrontOriginAccessIdentity2019_03_26", + "http":{ + "method":"PUT", + "requestUri":"/2019-03-26/origin-access-identity/cloudfront/{Id}/config" + }, + "input":{"shape":"UpdateCloudFrontOriginAccessIdentityRequest"}, + "output":{"shape":"UpdateCloudFrontOriginAccessIdentityResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"IllegalUpdate"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"MissingBody"}, + {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, + {"shape":"PreconditionFailed"}, + {"shape":"InvalidArgument"}, + {"shape":"InconsistentQuantities"} + ], + "documentation":"

Update an origin access identity.

" + }, + "UpdateDistribution":{ + "name":"UpdateDistribution2019_03_26", + "http":{ + "method":"PUT", + "requestUri":"/2019-03-26/distribution/{Id}/config" + }, + "input":{"shape":"UpdateDistributionRequest"}, + "output":{"shape":"UpdateDistributionResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"CNAMEAlreadyExists"}, + {"shape":"IllegalUpdate"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"MissingBody"}, + {"shape":"NoSuchDistribution"}, + {"shape":"PreconditionFailed"}, + {"shape":"TooManyDistributionCNAMEs"}, + {"shape":"InvalidDefaultRootObject"}, + {"shape":"InvalidRelativePath"}, + {"shape":"InvalidErrorCode"}, + {"shape":"InvalidResponseCode"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidOriginAccessIdentity"}, + {"shape":"TooManyTrustedSigners"}, + {"shape":"TrustedSignerDoesNotExist"}, + {"shape":"InvalidViewerCertificate"}, + {"shape":"InvalidMinimumProtocolVersion"}, + {"shape":"InvalidRequiredProtocol"}, + {"shape":"NoSuchOrigin"}, + {"shape":"TooManyOrigins"}, + {"shape":"TooManyOriginGroupsPerDistribution"}, + {"shape":"TooManyCacheBehaviors"}, + {"shape":"TooManyCookieNamesInWhiteList"}, + {"shape":"InvalidForwardCookies"}, + {"shape":"TooManyHeadersInForwardedValues"}, + {"shape":"InvalidHeadersForS3Origin"}, + {"shape":"InconsistentQuantities"}, + {"shape":"TooManyCertificates"}, + {"shape":"InvalidLocationCode"}, + {"shape":"InvalidGeoRestrictionParameter"}, + {"shape":"InvalidTTLOrder"}, + {"shape":"InvalidWebACLId"}, + {"shape":"TooManyOriginCustomHeaders"}, + {"shape":"TooManyQueryStringParameters"}, + {"shape":"InvalidQueryStringParameters"}, + {"shape":"TooManyDistributionsWithLambdaAssociations"}, + {"shape":"TooManyLambdaFunctionAssociations"}, + {"shape":"InvalidLambdaFunctionAssociation"}, + {"shape":"InvalidOriginReadTimeout"}, + {"shape":"InvalidOriginKeepaliveTimeout"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior"}, + {"shape":"TooManyDistributionsAssociatedToFieldLevelEncryptionConfig"} + ], + "documentation":"

Updates the configuration for a web distribution.

When you update a distribution, there are more required fields than when you create a distribution. When you update your distribution by using this API action, follow the steps here to get the current configuration and then make your updates, to make sure that you include all of the required fields. To view a summary, see Required Fields for Create Distribution and Update Distribution in the Amazon CloudFront Developer Guide.

The update process includes getting the current distribution configuration, updating the XML document that is returned to make your changes, and then submitting an UpdateDistribution request to make the updates.

For information about updating a distribution using the CloudFront console instead, see Creating a Distribution in the Amazon CloudFront Developer Guide.

To update a web distribution using the CloudFront API

  1. Submit a GetDistributionConfig request to get the current configuration and an Etag header for the distribution.

    If you update the distribution again, you must get a new Etag header.

  2. Update the XML document that was returned in the response to your GetDistributionConfig request to include your changes.

    When you edit the XML file, be aware of the following:

    • You must strip out the ETag parameter that is returned.

    • Additional fields are required when you update a distribution. There may be fields included in the XML file for features that you haven't configured for your distribution. This is expected and required to successfully update the distribution.

    • You can't change the value of CallerReference. If you try to change this value, CloudFront returns an IllegalUpdate error.

    • The new configuration replaces the existing configuration; the values that you specify in an UpdateDistribution request are not merged into your existing configuration. When you add, delete, or replace values in an element that allows multiple values (for example, CNAME), you must specify all of the values that you want to appear in the updated distribution. In addition, you must update the corresponding Quantity element.

  3. Submit an UpdateDistribution request to update the configuration for your distribution:

    • In the request body, include the XML document that you updated in Step 2. The request body must include an XML document with a DistributionConfig element.

    • Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GetDistributionConfig request in Step 1.

  4. Review the response to the UpdateDistribution request to confirm that the configuration was successfully updated.

  5. Optional: Submit a GetDistribution request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

" + }, + "UpdateFieldLevelEncryptionConfig":{ + "name":"UpdateFieldLevelEncryptionConfig2019_03_26", + "http":{ + "method":"PUT", + "requestUri":"/2019-03-26/field-level-encryption/{Id}/config" + }, + "input":{"shape":"UpdateFieldLevelEncryptionConfigRequest"}, + "output":{"shape":"UpdateFieldLevelEncryptionConfigResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"IllegalUpdate"}, + {"shape":"InconsistentQuantities"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"PreconditionFailed"}, + {"shape":"TooManyFieldLevelEncryptionQueryArgProfiles"}, + {"shape":"TooManyFieldLevelEncryptionContentTypeProfiles"}, + {"shape":"QueryArgProfileEmpty"} + ], + "documentation":"

Update a field-level encryption configuration.

" + }, + "UpdateFieldLevelEncryptionProfile":{ + "name":"UpdateFieldLevelEncryptionProfile2019_03_26", + "http":{ + "method":"PUT", + "requestUri":"/2019-03-26/field-level-encryption-profile/{Id}/config" + }, + "input":{"shape":"UpdateFieldLevelEncryptionProfileRequest"}, + "output":{"shape":"UpdateFieldLevelEncryptionProfileResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"FieldLevelEncryptionProfileAlreadyExists"}, + {"shape":"IllegalUpdate"}, + {"shape":"InconsistentQuantities"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchPublicKey"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"}, + {"shape":"PreconditionFailed"}, + {"shape":"FieldLevelEncryptionProfileSizeExceeded"}, + {"shape":"TooManyFieldLevelEncryptionEncryptionEntities"}, + {"shape":"TooManyFieldLevelEncryptionFieldPatterns"} + ], + "documentation":"

Update a field-level encryption profile.

" + }, + "UpdatePublicKey":{ + "name":"UpdatePublicKey2019_03_26", + "http":{ + "method":"PUT", + "requestUri":"/2019-03-26/public-key/{Id}/config" + }, + "input":{"shape":"UpdatePublicKeyRequest"}, + "output":{"shape":"UpdatePublicKeyResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"CannotChangeImmutablePublicKeyFields"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"IllegalUpdate"}, + {"shape":"NoSuchPublicKey"}, + {"shape":"PreconditionFailed"} + ], + "documentation":"

Update public key information. Note that the only value you can change is the comment.

" + }, + "UpdateStreamingDistribution":{ + "name":"UpdateStreamingDistribution2019_03_26", + "http":{ + "method":"PUT", + "requestUri":"/2019-03-26/streaming-distribution/{Id}/config" + }, + "input":{"shape":"UpdateStreamingDistributionRequest"}, + "output":{"shape":"UpdateStreamingDistributionResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"CNAMEAlreadyExists"}, + {"shape":"IllegalUpdate"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"MissingBody"}, + {"shape":"NoSuchStreamingDistribution"}, + {"shape":"PreconditionFailed"}, + {"shape":"TooManyStreamingDistributionCNAMEs"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidOriginAccessIdentity"}, + {"shape":"TooManyTrustedSigners"}, + {"shape":"TrustedSignerDoesNotExist"}, + {"shape":"InconsistentQuantities"} + ], + "documentation":"

Update a streaming distribution.

" + } + }, + "shapes":{ + "AccessDenied":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Access denied.

", + "error":{"httpStatusCode":403}, + "exception":true + }, + "ActiveTrustedSigners":{ + "type":"structure", + "required":[ + "Enabled", + "Quantity" + ], + "members":{ + "Enabled":{ + "shape":"boolean", + "documentation":"

Enabled is true if any of the AWS accounts listed in the TrustedSigners complex type for this distribution have active CloudFront key pairs. If not, Enabled is false.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of trusted signers specified in the TrustedSigners complex type.

" + }, + "Items":{ + "shape":"SignerList", + "documentation":"

A complex type that contains one Signer complex type for each trusted signer that is specified in the TrustedSigners complex type.

" + } + }, + "documentation":"

A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for this distribution. These are the accounts that you want to allow to create signed URLs for private content.

The Signer complex type lists the AWS account number of the trusted signer or self if the signer is the AWS account that created the distribution. The Signer element also includes the IDs of any active CloudFront key pairs that are associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create signed URLs.

For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" + }, + "AliasICPRecordal":{ + "type":"structure", + "members":{ + "CNAME":{ + "shape":"string", + "documentation":"

A domain name associated with a distribution.

" + }, + "ICPRecordalStatus":{ + "shape":"ICPRecordalStatus", + "documentation":"

The Internet Content Provider (ICP) recordal status for a CNAME. The ICPRecordalStatus is set to APPROVED for all CNAMEs (aliases) in regions outside of China.

The status values returned are the following:

  • APPROVED indicates that the associated CNAME has a valid ICP recordal number. Multiple CNAMEs can be associated with a distribution, and CNAMEs can correspond to different ICP recordals. To be marked as APPROVED, that is, valid to use with China region, a CNAME must have one ICP recordal number associated with it.

  • SUSPENDED indicates that the associated CNAME does not have a valid ICP recordal number.

  • PENDING indicates that at least one CNAME associated with the distribution does not have a valid ICP recordal number.

" + } + }, + "documentation":"

AWS services in China customers must file for an Internet Content Provider (ICP) recordal if they want to serve content publicly on an alternate domain name, also known as a CNAME, that they've added to CloudFront. AliasICPRecordal provides the ICP recordal status for CNAMEs associated with distributions. The status is returned in the CloudFront response; you can't configure it yourself.

For more information about ICP recordals, see Signup, Accounts, and Credentials in Getting Started with AWS services in China.

" + }, + "AliasICPRecordals":{ + "type":"list", + "member":{ + "shape":"AliasICPRecordal", + "locationName":"AliasICPRecordal" + } + }, + "AliasList":{ + "type":"list", + "member":{ + "shape":"string", + "locationName":"CNAME" + } + }, + "Aliases":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of CNAME aliases, if any, that you want to associate with this distribution.

" + }, + "Items":{ + "shape":"AliasList", + "documentation":"

A complex type that contains the CNAME aliases, if any, that you want to associate with this distribution.

" + } + }, + "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.

" + }, + "AllowedMethods":{ + "type":"structure", + "required":[ + "Quantity", + "Items" + ], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of HTTP methods that you want CloudFront to forward to your origin. Valid values are 2 (for GET and HEAD requests), 3 (for GET, HEAD, and OPTIONS requests) and 7 (for GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE requests).

" + }, + "Items":{ + "shape":"MethodsList", + "documentation":"

A complex type that contains the HTTP methods that you want CloudFront to process and forward to your origin.

" + }, + "CachedMethods":{"shape":"CachedMethods"} + }, + "documentation":"

A complex type that controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin. There are three choices:

  • CloudFront forwards only GET and HEAD requests.

  • CloudFront forwards only GET, HEAD, and OPTIONS requests.

  • CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE requests.

If you pick the third choice, you may need to restrict access to your Amazon S3 bucket or to your custom origin so users can't perform operations that you don't want them to. For example, you might not want users to have permissions to delete objects from your origin.

" + }, + "AwsAccountNumberList":{ + "type":"list", + "member":{ + "shape":"string", + "locationName":"AwsAccountNumber" + } + }, + "BatchTooLarge":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Invalidation batch specified is too large.

", + "error":{"httpStatusCode":413}, + "exception":true + }, + "CNAMEAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The CNAME specified is already defined for CloudFront.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "CacheBehavior":{ + "type":"structure", + "required":[ + "PathPattern", + "TargetOriginId", + "ForwardedValues", + "TrustedSigners", + "ViewerProtocolPolicy", + "MinTTL" + ], + "members":{ + "PathPattern":{ + "shape":"string", + "documentation":"

The pattern (for example, images/*.jpg) that specifies which requests to apply the behavior to. When CloudFront receives a viewer request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution.

You can optionally include a slash (/) at the beginning of the path pattern. For example, /images/*.jpg. CloudFront behavior is the same with or without the leading /.

The path pattern for the default cache behavior is * and cannot be changed. If the request for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default cache behavior.

For more information, see Path Pattern in the Amazon CloudFront Developer Guide.

" + }, + "TargetOriginId":{ + "shape":"string", + "documentation":"

The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior in your distribution.

" + }, + "ForwardedValues":{ + "shape":"ForwardedValues", + "documentation":"

A complex type that specifies how CloudFront handles query strings and cookies.

" + }, + "TrustedSigners":{ + "shape":"TrustedSigners", + "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content.

If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items.

To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

" + }, + "ViewerProtocolPolicy":{ + "shape":"ViewerProtocolPolicy", + "documentation":"

The protocol that viewers can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. You can specify the following options:

  • allow-all: Viewers can use HTTP or HTTPS.

  • redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.

  • https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).

For more information about requiring the HTTPS protocol, see Using an HTTPS Connection to Access Your Objects in the Amazon CloudFront Developer Guide.

The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see Managing How Long Content Stays in an Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" + }, + "MinTTL":{ + "shape":"long", + "documentation":"

The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. For more information, see Managing How Long Content Stays in an Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

You must specify 0 for MinTTL if you configure CloudFront to forward all headers to your origin (under Headers, if you specify 1 for Quantity and * for Name).

" + }, + "AllowedMethods":{"shape":"AllowedMethods"}, + "SmoothStreaming":{ + "shape":"boolean", + "documentation":"

Indicates whether you want to distribute media files in the Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false. If you specify true for SmoothStreaming, you can still distribute other content using this cache behavior if the content matches the value of PathPattern.

" + }, + "DefaultTTL":{ + "shape":"long", + "documentation":"

The default amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin does not add HTTP headers such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects. For more information, see Managing How Long Content Stays in an Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" + }, + "MaxTTL":{ + "shape":"long", + "documentation":"

The maximum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin adds HTTP headers such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects. For more information, see Managing How Long Content Stays in an Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" + }, + "Compress":{ + "shape":"boolean", + "documentation":"

Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify true; if not, specify false. For more information, see Serving Compressed Files in the Amazon CloudFront Developer Guide.

" + }, + "LambdaFunctionAssociations":{ + "shape":"LambdaFunctionAssociations", + "documentation":"

A complex type that contains zero or more Lambda function associations for a cache behavior.

" + }, + "FieldLevelEncryptionId":{ + "shape":"string", + "documentation":"

The value of ID for the field-level encryption configuration that you want CloudFront to use for encrypting specific fields of data for a cache behavior or for the default cache behavior in your distribution.

" + } + }, + "documentation":"

A complex type that describes how CloudFront processes requests.

You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to distribute objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin is never used.

For the current limit on the number of cache behaviors that you can add to a distribution, see Amazon CloudFront Limits in the AWS General Reference.

If you don't want to specify any cache behaviors, include only an empty CacheBehaviors element. Don't include an empty CacheBehavior element, or CloudFront returns a MalformedXML error.

To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty CacheBehaviors element.

To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.

For more information about cache behaviors, see Cache Behaviors in the Amazon CloudFront Developer Guide.

" + }, + "CacheBehaviorList":{ + "type":"list", + "member":{ + "shape":"CacheBehavior", + "locationName":"CacheBehavior" + } + }, + "CacheBehaviors":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of cache behaviors for this distribution.

" + }, + "Items":{ + "shape":"CacheBehaviorList", + "documentation":"

Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items.

" + } + }, + "documentation":"

A complex type that contains zero or more CacheBehavior elements.

" + }, + "CachedMethods":{ + "type":"structure", + "required":[ + "Quantity", + "Items" + ], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of HTTP methods for which you want CloudFront to cache responses. Valid values are 2 (for caching responses to GET and HEAD requests) and 3 (for caching responses to GET, HEAD, and OPTIONS requests).

" + }, + "Items":{ + "shape":"MethodsList", + "documentation":"

A complex type that contains the HTTP methods that you want CloudFront to cache responses to.

" + } + }, + "documentation":"

A complex type that controls whether CloudFront caches the response to requests using the specified HTTP methods. There are two choices:

  • CloudFront caches responses to GET and HEAD requests.

  • CloudFront caches responses to GET, HEAD, and OPTIONS requests.

If you pick the second choice for your Amazon S3 Origin, you may need to forward Access-Control-Request-Method, Access-Control-Request-Headers, and Origin headers for the responses to be cached correctly.

" + }, + "CannotChangeImmutablePublicKeyFields":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

You can't change the value of a public key.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "CertificateSource":{ + "type":"string", + "enum":[ + "cloudfront", + "iam", + "acm" + ] + }, + "CloudFrontOriginAccessIdentity":{ + "type":"structure", + "required":[ + "Id", + "S3CanonicalUserId" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The ID for the origin access identity, for example, E74FTE3AJFJ256A.

" + }, + "S3CanonicalUserId":{ + "shape":"string", + "documentation":"

The Amazon S3 canonical user ID for the origin access identity, used when giving the origin access identity read permission to an object in Amazon S3.

" + }, + "CloudFrontOriginAccessIdentityConfig":{ + "shape":"CloudFrontOriginAccessIdentityConfig", + "documentation":"

The current configuration information for the identity.

" + } + }, + "documentation":"

CloudFront origin access identity.

" + }, + "CloudFrontOriginAccessIdentityAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "CloudFrontOriginAccessIdentityConfig":{ + "type":"structure", + "required":[ + "CallerReference", + "Comment" + ], + "members":{ + "CallerReference":{ + "shape":"string", + "documentation":"

A unique value (for example, a date-time stamp) that ensures that the request can't be replayed.

If the value of CallerReference is new (regardless of the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created.

If the CallerReference is a value already sent in a previous identity request, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request.

If the CallerReference is a value you already sent in a previous request to create an identity, but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

Any comments you want to include about the origin access identity.

" + } + }, + "documentation":"

Origin access identity configuration. Send a GET request to the /CloudFront API version/CloudFront/identity ID/config resource.

" + }, + "CloudFrontOriginAccessIdentityInUse":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The Origin Access Identity specified is already in use.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "CloudFrontOriginAccessIdentityList":{ + "type":"structure", + "required":[ + "Marker", + "MaxItems", + "IsTruncated", + "Quantity" + ], + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

Use this when paginating results to indicate where to begin in your list of origin access identities. The results include identities in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last identity on that page).

" + }, + "NextMarker":{ + "shape":"string", + "documentation":"

If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your origin access identities where they left off.

" + }, + "MaxItems":{ + "shape":"integer", + "documentation":"

The maximum number of origin access identities you want in the response body.

" + }, + "IsTruncated":{ + "shape":"boolean", + "documentation":"

A flag that indicates whether more origin access identities remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more items in the list.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of CloudFront origin access identities that were created by the current AWS account.

" + }, + "Items":{ + "shape":"CloudFrontOriginAccessIdentitySummaryList", + "documentation":"

A complex type that contains one CloudFrontOriginAccessIdentitySummary element for each origin access identity that was created by the current AWS account.

" + } + }, + "documentation":"

Lists the origin access identities for CloudFront.Send a GET request to the /CloudFront API version/origin-access-identity/cloudfront resource. The response includes a CloudFrontOriginAccessIdentityList element with zero or more CloudFrontOriginAccessIdentitySummary child elements. By default, your entire list of origin access identities is returned in one single page. If the list is long, you can paginate it using the MaxItems and Marker parameters.

" + }, + "CloudFrontOriginAccessIdentitySummary":{ + "type":"structure", + "required":[ + "Id", + "S3CanonicalUserId", + "Comment" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The ID for the origin access identity. For example: E74FTE3AJFJ256A.

" + }, + "S3CanonicalUserId":{ + "shape":"string", + "documentation":"

The Amazon S3 canonical user ID for the origin access identity, which you use when giving the origin access identity read permission to an object in Amazon S3.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

The comment for this origin access identity, as originally specified when created.

" + } + }, + "documentation":"

Summary of the information about a CloudFront origin access identity.

" + }, + "CloudFrontOriginAccessIdentitySummaryList":{ + "type":"list", + "member":{ + "shape":"CloudFrontOriginAccessIdentitySummary", + "locationName":"CloudFrontOriginAccessIdentitySummary" + } + }, + "CommentType":{ + "type":"string", + "sensitive":true + }, + "ContentTypeProfile":{ + "type":"structure", + "required":[ + "Format", + "ContentType" + ], + "members":{ + "Format":{ + "shape":"Format", + "documentation":"

The format for a field-level encryption content type-profile mapping.

" + }, + "ProfileId":{ + "shape":"string", + "documentation":"

The profile ID for a field-level encryption content type-profile mapping.

" + }, + "ContentType":{ + "shape":"string", + "documentation":"

The content type for a field-level encryption content type-profile mapping.

" + } + }, + "documentation":"

A field-level encryption content type profile.

" + }, + "ContentTypeProfileConfig":{ + "type":"structure", + "required":["ForwardWhenContentTypeIsUnknown"], + "members":{ + "ForwardWhenContentTypeIsUnknown":{ + "shape":"boolean", + "documentation":"

The setting in a field-level encryption content type-profile mapping that specifies what to do when an unknown content type is provided for the profile. If true, content is forwarded without being encrypted when the content type is unknown. If false (the default), an error is returned when the content type is unknown.

" + }, + "ContentTypeProfiles":{ + "shape":"ContentTypeProfiles", + "documentation":"

The configuration for a field-level encryption content type-profile.

" + } + }, + "documentation":"

The configuration for a field-level encryption content type-profile mapping.

" + }, + "ContentTypeProfileList":{ + "type":"list", + "member":{ + "shape":"ContentTypeProfile", + "locationName":"ContentTypeProfile" + } + }, + "ContentTypeProfiles":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of field-level encryption content type-profile mappings.

" + }, + "Items":{ + "shape":"ContentTypeProfileList", + "documentation":"

Items in a field-level encryption content type-profile mapping.

" + } + }, + "documentation":"

Field-level encryption content type-profile.

" + }, + "CookieNameList":{ + "type":"list", + "member":{ + "shape":"string", + "locationName":"Name" + } + }, + "CookieNames":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of different cookies that you want CloudFront to forward to the origin for this cache behavior.

" + }, + "Items":{ + "shape":"CookieNameList", + "documentation":"

A complex type that contains one Name element for each cookie that you want CloudFront to forward to the origin for this cache behavior.

" + } + }, + "documentation":"

A complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see Caching Content Based on Request Headers in the Amazon CloudFront Developer Guide.

" + }, + "CookiePreference":{ + "type":"structure", + "required":["Forward"], + "members":{ + "Forward":{ + "shape":"ItemSelection", + "documentation":"

Specifies which cookies to forward to the origin for this cache behavior: all, none, or the list of cookies specified in the WhitelistedNames complex type.

Amazon S3 doesn't process cookies. When the cache behavior is forwarding requests to an Amazon S3 origin, specify none for the Forward element.

" + }, + "WhitelistedNames":{ + "shape":"CookieNames", + "documentation":"

Required if you specify whitelist for the value of Forward:. A complex type that specifies how many different cookies you want CloudFront to forward to the origin for this cache behavior and, if you want to forward selected cookies, the names of those cookies.

If you specify all or none for the value of Forward, omit WhitelistedNames. If you change the value of Forward from whitelist to all or none and you don't delete the WhitelistedNames element and its child elements, CloudFront deletes them automatically.

For the current limit on the number of cookie names that you can whitelist for each cache behavior, see CloudFront Limits in the AWS General Reference.

" + } + }, + "documentation":"

A complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see Caching Content Based on Cookies in the Amazon CloudFront Developer Guide.

" + }, + "CreateCloudFrontOriginAccessIdentityRequest":{ + "type":"structure", + "required":["CloudFrontOriginAccessIdentityConfig"], + "members":{ + "CloudFrontOriginAccessIdentityConfig":{ + "shape":"CloudFrontOriginAccessIdentityConfig", + "documentation":"

The current configuration information for the identity.

", + "locationName":"CloudFrontOriginAccessIdentityConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2019-03-26/"} + } + }, + "documentation":"

The request to create a new origin access identity (OAI). An origin access identity is a special CloudFront user that you can associate with Amazon S3 origins, so that you can secure all or just some of your Amazon S3 content. For more information, see Restricting Access to Amazon S3 Content by Using an Origin Access Identity in the Amazon CloudFront Developer Guide.

", + "payload":"CloudFrontOriginAccessIdentityConfig" + }, + "CreateCloudFrontOriginAccessIdentityResult":{ + "type":"structure", + "members":{ + "CloudFrontOriginAccessIdentity":{ + "shape":"CloudFrontOriginAccessIdentity", + "documentation":"

The origin access identity's information.

" + }, + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the new origin access identity just created. For example: https://cloudfront.amazonaws.com/2010-11-01/origin-access-identity/cloudfront/E74FTE3AJFJ256A.

", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the origin access identity created.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"CloudFrontOriginAccessIdentity" + }, + "CreateDistributionRequest":{ + "type":"structure", + "required":["DistributionConfig"], + "members":{ + "DistributionConfig":{ + "shape":"DistributionConfig", + "documentation":"

The distribution's configuration information.

", + "locationName":"DistributionConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2019-03-26/"} + } + }, + "documentation":"

The request to create a new distribution.

", + "payload":"DistributionConfig" + }, + "CreateDistributionResult":{ + "type":"structure", + "members":{ + "Distribution":{ + "shape":"Distribution", + "documentation":"

The distribution's information.

" + }, + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.

", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the distribution created.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"Distribution" + }, + "CreateDistributionWithTagsRequest":{ + "type":"structure", + "required":["DistributionConfigWithTags"], + "members":{ + "DistributionConfigWithTags":{ + "shape":"DistributionConfigWithTags", + "documentation":"

The distribution's configuration information.

", + "locationName":"DistributionConfigWithTags", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2019-03-26/"} + } + }, + "documentation":"

The request to create a new distribution with tags.

", + "payload":"DistributionConfigWithTags" + }, + "CreateDistributionWithTagsResult":{ + "type":"structure", + "members":{ + "Distribution":{ + "shape":"Distribution", + "documentation":"

The distribution's information.

" + }, + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.

", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the distribution created.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"Distribution" + }, + "CreateFieldLevelEncryptionConfigRequest":{ + "type":"structure", + "required":["FieldLevelEncryptionConfig"], + "members":{ + "FieldLevelEncryptionConfig":{ + "shape":"FieldLevelEncryptionConfig", + "documentation":"

The request to create a new field-level encryption configuration.

", + "locationName":"FieldLevelEncryptionConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2019-03-26/"} + } + }, + "payload":"FieldLevelEncryptionConfig" + }, + "CreateFieldLevelEncryptionConfigResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryption":{ + "shape":"FieldLevelEncryption", + "documentation":"

Returned when you create a new field-level encryption configuration.

" + }, + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the new configuration resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/field-level-encryption-config/EDFDVBD632BHDS5.

", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryption" + }, + "CreateFieldLevelEncryptionProfileRequest":{ + "type":"structure", + "required":["FieldLevelEncryptionProfileConfig"], + "members":{ + "FieldLevelEncryptionProfileConfig":{ + "shape":"FieldLevelEncryptionProfileConfig", + "documentation":"

The request to create a field-level encryption profile.

", + "locationName":"FieldLevelEncryptionProfileConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2019-03-26/"} + } + }, + "payload":"FieldLevelEncryptionProfileConfig" + }, + "CreateFieldLevelEncryptionProfileResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfile":{ + "shape":"FieldLevelEncryptionProfile", + "documentation":"

Returned when you create a new field-level encryption profile.

" + }, + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the new profile resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/field-level-encryption-profile/EDFDVBD632BHDS5.

", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionProfile" + }, + "CreateInvalidationRequest":{ + "type":"structure", + "required":[ + "DistributionId", + "InvalidationBatch" + ], + "members":{ + "DistributionId":{ + "shape":"string", + "documentation":"

The distribution's id.

", + "location":"uri", + "locationName":"DistributionId" + }, + "InvalidationBatch":{ + "shape":"InvalidationBatch", + "documentation":"

The batch information for the invalidation.

", + "locationName":"InvalidationBatch", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2019-03-26/"} + } + }, + "documentation":"

The request to create an invalidation.

", + "payload":"InvalidationBatch" + }, + "CreateInvalidationResult":{ + "type":"structure", + "members":{ + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID.

", + "location":"header", + "locationName":"Location" + }, + "Invalidation":{ + "shape":"Invalidation", + "documentation":"

The invalidation's information.

" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"Invalidation" + }, + "CreatePublicKeyRequest":{ + "type":"structure", + "required":["PublicKeyConfig"], + "members":{ + "PublicKeyConfig":{ + "shape":"PublicKeyConfig", + "documentation":"

The request to add a public key to CloudFront.

", + "locationName":"PublicKeyConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2019-03-26/"} + } + }, + "payload":"PublicKeyConfig" + }, + "CreatePublicKeyResult":{ + "type":"structure", + "members":{ + "PublicKey":{ + "shape":"PublicKey", + "documentation":"

Returned when you add a public key.

" + }, + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the new public key resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/cloudfront-public-key/EDFDVBD632BHDS5.

", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the public key. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"PublicKey" + }, + "CreateStreamingDistributionRequest":{ + "type":"structure", + "required":["StreamingDistributionConfig"], + "members":{ + "StreamingDistributionConfig":{ + "shape":"StreamingDistributionConfig", + "documentation":"

The streaming distribution's configuration information.

", + "locationName":"StreamingDistributionConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2019-03-26/"} + } + }, + "documentation":"

The request to create a new streaming distribution.

", + "payload":"StreamingDistributionConfig" + }, + "CreateStreamingDistributionResult":{ + "type":"structure", + "members":{ + "StreamingDistribution":{ + "shape":"StreamingDistribution", + "documentation":"

The streaming distribution's information.

" + }, + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.

", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the streaming distribution created.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"StreamingDistribution" + }, + "CreateStreamingDistributionWithTagsRequest":{ + "type":"structure", + "required":["StreamingDistributionConfigWithTags"], + "members":{ + "StreamingDistributionConfigWithTags":{ + "shape":"StreamingDistributionConfigWithTags", + "documentation":"

The streaming distribution's configuration information.

", + "locationName":"StreamingDistributionConfigWithTags", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2019-03-26/"} + } + }, + "documentation":"

The request to create a new streaming distribution with tags.

", + "payload":"StreamingDistributionConfigWithTags" + }, + "CreateStreamingDistributionWithTagsResult":{ + "type":"structure", + "members":{ + "StreamingDistribution":{ + "shape":"StreamingDistribution", + "documentation":"

The streaming distribution's information.

" + }, + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.

", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the distribution created.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"StreamingDistribution" + }, + "CustomErrorResponse":{ + "type":"structure", + "required":["ErrorCode"], + "members":{ + "ErrorCode":{ + "shape":"integer", + "documentation":"

The HTTP status code for which you want to specify a custom error page and/or a caching duration.

" + }, + "ResponsePagePath":{ + "shape":"string", + "documentation":"

The path to the custom error page that you want CloudFront to return to a viewer when your origin returns the HTTP status code specified by ErrorCode, for example, /4xx-errors/403-forbidden.html. If you want to store your objects and your custom error pages in different locations, your distribution must include a cache behavior for which the following is true:

  • The value of PathPattern matches the path to your custom error messages. For example, suppose you saved custom error pages for 4xx errors in an Amazon S3 bucket in a directory named /4xx-errors. Your distribution must include a cache behavior for which the path pattern routes requests for your custom error pages to that location, for example, /4xx-errors/*.

  • The value of TargetOriginId specifies the value of the ID element for the origin that contains your custom error pages.

If you specify a value for ResponsePagePath, you must also specify a value for ResponseCode. If you don't want to specify a value, include an empty element, <ResponsePagePath>, in the XML document.

We recommend that you store custom error pages in an Amazon S3 bucket. If you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.

" + }, + "ResponseCode":{ + "shape":"string", + "documentation":"

The HTTP status code that you want CloudFront to return to the viewer along with the custom error page. There are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:

  • Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer. If you substitute 200, the response typically won't be intercepted.

  • If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.

  • You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.

If you specify a value for ResponseCode, you must also specify a value for ResponsePagePath. If you don't want to specify a value, include an empty element, <ResponseCode>, in the XML document.

" + }, + "ErrorCachingMinTTL":{ + "shape":"long", + "documentation":"

The minimum amount of time, in seconds, that you want CloudFront to cache the HTTP status code specified in ErrorCode. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.

If you don't want to specify a value, include an empty element, <ErrorCachingMinTTL>, in the XML document.

For more information, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" + } + }, + "documentation":"

A complex type that controls:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

For more information about custom error pages, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" + }, + "CustomErrorResponseList":{ + "type":"list", + "member":{ + "shape":"CustomErrorResponse", + "locationName":"CustomErrorResponse" + } + }, + "CustomErrorResponses":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of HTTP status codes for which you want to specify a custom error page and/or a caching duration. If Quantity is 0, you can omit Items.

" + }, + "Items":{ + "shape":"CustomErrorResponseList", + "documentation":"

A complex type that contains a CustomErrorResponse element for each HTTP status code for which you want to specify a custom error page and/or a caching duration.

" + } + }, + "documentation":"

A complex type that controls:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

For more information about custom error pages, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" + }, + "CustomHeaders":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of custom headers, if any, for this distribution.

" + }, + "Items":{ + "shape":"OriginCustomHeadersList", + "documentation":"

Optional: A list that contains one OriginCustomHeader element for each custom header that you want CloudFront to forward to the origin. If Quantity is 0, omit Items.

" + } + }, + "documentation":"

A complex type that contains the list of Custom Headers for each origin.

" + }, + "CustomOriginConfig":{ + "type":"structure", + "required":[ + "HTTPPort", + "HTTPSPort", + "OriginProtocolPolicy" + ], + "members":{ + "HTTPPort":{ + "shape":"integer", + "documentation":"

The HTTP port the custom origin listens on.

" + }, + "HTTPSPort":{ + "shape":"integer", + "documentation":"

The HTTPS port the custom origin listens on.

" + }, + "OriginProtocolPolicy":{ + "shape":"OriginProtocolPolicy", + "documentation":"

The origin protocol policy to apply to your origin.

" + }, + "OriginSslProtocols":{ + "shape":"OriginSslProtocols", + "documentation":"

The SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS.

" + }, + "OriginReadTimeout":{ + "shape":"integer", + "documentation":"

You can create a custom origin read timeout. All timeout units are in seconds. The default origin read timeout is 30 seconds, but you can configure custom timeout lengths using the CloudFront API. The minimum timeout length is 4 seconds; the maximum is 60 seconds.

If you need to increase the maximum time limit, contact the AWS Support Center.

" + }, + "OriginKeepaliveTimeout":{ + "shape":"integer", + "documentation":"

You can create a custom keep-alive timeout. All timeout units are in seconds. The default keep-alive timeout is 5 seconds, but you can configure custom timeout lengths using the CloudFront API. The minimum timeout length is 1 second; the maximum is 60 seconds.

If you need to increase the maximum time limit, contact the AWS Support Center.

" + } + }, + "documentation":"

A custom origin or an Amazon S3 bucket configured as a website endpoint.

" + }, + "DefaultCacheBehavior":{ + "type":"structure", + "required":[ + "TargetOriginId", + "ForwardedValues", + "TrustedSigners", + "ViewerProtocolPolicy", + "MinTTL" + ], + "members":{ + "TargetOriginId":{ + "shape":"string", + "documentation":"

The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior in your distribution.

" + }, + "ForwardedValues":{ + "shape":"ForwardedValues", + "documentation":"

A complex type that specifies how CloudFront handles query strings and cookies.

" + }, + "TrustedSigners":{ + "shape":"TrustedSigners", + "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content.

If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items.

To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

" + }, + "ViewerProtocolPolicy":{ + "shape":"ViewerProtocolPolicy", + "documentation":"

The protocol that viewers can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. You can specify the following options:

  • allow-all: Viewers can use HTTP or HTTPS.

  • redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.

  • https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).

For more information about requiring the HTTPS protocol, see Using an HTTPS Connection to Access Your Objects in the Amazon CloudFront Developer Guide.

The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see Managing How Long Content Stays in an Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" + }, + "MinTTL":{ + "shape":"long", + "documentation":"

The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. For more information, see Managing How Long Content Stays in an Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

You must specify 0 for MinTTL if you configure CloudFront to forward all headers to your origin (under Headers, if you specify 1 for Quantity and * for Name).

" + }, + "AllowedMethods":{"shape":"AllowedMethods"}, + "SmoothStreaming":{ + "shape":"boolean", + "documentation":"

Indicates whether you want to distribute media files in the Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false. If you specify true for SmoothStreaming, you can still distribute other content using this cache behavior if the content matches the value of PathPattern.

" + }, + "DefaultTTL":{ + "shape":"long", + "documentation":"

The default amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin does not add HTTP headers such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects. For more information, see Managing How Long Content Stays in an Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" + }, + "MaxTTL":{ + "shape":"long", + "documentation":"

The maximum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin adds HTTP headers such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects. For more information, see Managing How Long Content Stays in an Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" + }, + "Compress":{ + "shape":"boolean", + "documentation":"

Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify true; if not, specify false. For more information, see Serving Compressed Files in the Amazon CloudFront Developer Guide.

" + }, + "LambdaFunctionAssociations":{ + "shape":"LambdaFunctionAssociations", + "documentation":"

A complex type that contains zero or more Lambda function associations for a cache behavior.

" + }, + "FieldLevelEncryptionId":{ + "shape":"string", + "documentation":"

The value of ID for the field-level encryption configuration that you want CloudFront to use for encrypting specific fields of data for a cache behavior or for the default cache behavior in your distribution.

" + } + }, + "documentation":"

A complex type that describes the default cache behavior if you don't specify a CacheBehavior element or if files don't match any of the values of PathPattern in CacheBehavior elements. You must create exactly one default cache behavior.

" + }, + "DeleteCloudFrontOriginAccessIdentityRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The origin access identity's ID.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header you received from a previous GET or PUT request. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "documentation":"

Deletes a origin access identity.

" + }, + "DeleteDistributionRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The distribution ID.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when you disabled the distribution. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "documentation":"

This action deletes a web distribution. To delete a web distribution using the CloudFront API, perform the following steps.

To delete a web distribution using the CloudFront API:

  1. Disable the web distribution

  2. Submit a GET Distribution Config request to get the current configuration and the Etag header for the distribution.

  3. Update the XML document that was returned in the response to your GET Distribution Config request to change the value of Enabled to false.

  4. Submit a PUT Distribution Config request to update the configuration for your distribution. In the request body, include the XML document that you updated in Step 3. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Distribution Config request in Step 2.

  5. Review the response to the PUT Distribution Config request to confirm that the distribution was successfully disabled.

  6. Submit a GET Distribution request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

  7. Submit a DELETE Distribution request. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Distribution Config request in Step 6.

  8. Review the response to your DELETE Distribution request to confirm that the distribution was successfully deleted.

For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the Amazon CloudFront Developer Guide.

" + }, + "DeleteFieldLevelEncryptionConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The ID of the configuration you want to delete from CloudFront.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the configuration identity to delete. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + } + }, + "DeleteFieldLevelEncryptionProfileRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Request the ID of the profile you want to delete from CloudFront.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the profile to delete. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + } + }, + "DeletePublicKeyRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The ID of the public key you want to remove from CloudFront.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the public key identity to delete. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + } + }, + "DeleteStreamingDistributionRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The distribution ID.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "documentation":"

The request to delete a streaming distribution.

" + }, + "Distribution":{ + "type":"structure", + "required":[ + "Id", + "ARN", + "Status", + "LastModifiedTime", + "InProgressInvalidationBatches", + "DomainName", + "ActiveTrustedSigners", + "DistributionConfig" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The identifier for the distribution. For example: EDFDVBD632BHDS5.

" + }, + "ARN":{ + "shape":"string", + "documentation":"

The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.

" + }, + "Status":{ + "shape":"string", + "documentation":"

This response element indicates the current status of the distribution. When the status is Deployed, the distribution's information is fully propagated to all CloudFront edge locations.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The date and time the distribution was last modified.

" + }, + "InProgressInvalidationBatches":{ + "shape":"integer", + "documentation":"

The number of invalidation batches currently in progress.

" + }, + "DomainName":{ + "shape":"string", + "documentation":"

The domain name corresponding to the distribution, for example, d111111abcdef8.cloudfront.net.

" + }, + "ActiveTrustedSigners":{ + "shape":"ActiveTrustedSigners", + "documentation":"

CloudFront automatically adds this element to the response only if you've set up the distribution to serve private content with signed URLs. The element lists the key pair IDs that CloudFront is aware of for each trusted signer. The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you). The Signer element also includes the IDs of any active key pairs associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create working signed URLs.

" + }, + "DistributionConfig":{ + "shape":"DistributionConfig", + "documentation":"

The current configuration information for the distribution. Send a GET request to the /CloudFront API version/distribution ID/config resource.

" + }, + "AliasICPRecordals":{ + "shape":"AliasICPRecordals", + "documentation":"

AWS services in China customers must file for an Internet Content Provider (ICP) recordal if they want to serve content publicly on an alternate domain name, also known as a CNAME, that they've added to CloudFront. AliasICPRecordal provides the ICP recordal status for CNAMEs associated with distributions.

For more information about ICP recordals, see Signup, Accounts, and Credentials in Getting Started with AWS services in China.

" + } + }, + "documentation":"

A distribution tells CloudFront where you want content to be delivered from, and the details about how to track and manage content delivery.

" + }, + "DistributionAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The caller reference you attempted to create the distribution with is associated with another distribution.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "DistributionConfig":{ + "type":"structure", + "required":[ + "CallerReference", + "Origins", + "DefaultCacheBehavior", + "Comment", + "Enabled" + ], + "members":{ + "CallerReference":{ + "shape":"string", + "documentation":"

A unique value (for example, a date-time stamp) that ensures that the request can't be replayed.

If the value of CallerReference is new (regardless of the content of the DistributionConfig object), CloudFront creates a new distribution.

If CallerReference is a value that you already sent in a previous request to create a distribution, CloudFront returns a DistributionAlreadyExists error.

" + }, + "Aliases":{ + "shape":"Aliases", + "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.

" + }, + "DefaultRootObject":{ + "shape":"string", + "documentation":"

The object that you want CloudFront to request from your origin (for example, index.html) when a viewer requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/product-description.html). Specifying a default root object avoids exposing the contents of your distribution.

Specify only the object name, for example, index.html. Don't add a / before the object name.

If you don't want to specify a default root object when you create a distribution, include an empty DefaultRootObject element.

To delete the default root object from an existing distribution, update the distribution configuration and include an empty DefaultRootObject element.

To replace the default root object, update the distribution configuration and specify the new object.

For more information about the default root object, see Creating a Default Root Object in the Amazon CloudFront Developer Guide.

" + }, + "Origins":{ + "shape":"Origins", + "documentation":"

A complex type that contains information about origins for this distribution.

" + }, + "OriginGroups":{ + "shape":"OriginGroups", + "documentation":"

A complex type that contains information about origin groups for this distribution.

" + }, + "DefaultCacheBehavior":{ + "shape":"DefaultCacheBehavior", + "documentation":"

A complex type that describes the default cache behavior if you don't specify a CacheBehavior element or if files don't match any of the values of PathPattern in CacheBehavior elements. You must create exactly one default cache behavior.

" + }, + "CacheBehaviors":{ + "shape":"CacheBehaviors", + "documentation":"

A complex type that contains zero or more CacheBehavior elements.

" + }, + "CustomErrorResponses":{ + "shape":"CustomErrorResponses", + "documentation":"

A complex type that controls the following:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

For more information about custom error pages, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" + }, + "Comment":{ + "shape":"CommentType", + "documentation":"

Any comments you want to include about the distribution.

If you don't want to specify a comment, include an empty Comment element.

To delete an existing comment, update the distribution configuration and include an empty Comment element.

To add or change a comment, update the distribution configuration and specify the new comment.

" + }, + "Logging":{ + "shape":"LoggingConfig", + "documentation":"

A complex type that controls whether access logs are written for the distribution.

For more information about logging, see Access Logs in the Amazon CloudFront Developer Guide.

" + }, + "PriceClass":{ + "shape":"PriceClass", + "documentation":"

The price class that corresponds with the maximum price that you want to pay for CloudFront service. If you specify PriceClass_All, CloudFront responds to requests for your objects from all CloudFront edge locations.

If you specify a price class other than PriceClass_All, CloudFront serves your objects from the CloudFront edge location that has the lowest latency among the edge locations in your price class. Viewers who are in or near regions that are excluded from your specified price class may encounter slower performance.

For more information about price classes, see Choosing the Price Class for a CloudFront Distribution in the Amazon CloudFront Developer Guide. For information about CloudFront pricing, including how price classes (such as Price Class 100) map to CloudFront regions, see Amazon CloudFront Pricing. For price class information, scroll down to see the table at the bottom of the page.

" + }, + "Enabled":{ + "shape":"boolean", + "documentation":"

From this field, you can enable or disable the selected distribution.

" + }, + "ViewerCertificate":{ + "shape":"ViewerCertificate", + "documentation":"

A complex type that specifies whether you want viewers to use HTTP or HTTPS to request your objects, whether you're using an alternate domain name with HTTPS, and if so, if you're using AWS Certificate Manager (ACM) or a third-party certificate authority.

" + }, + "Restrictions":{ + "shape":"Restrictions", + "documentation":"

A complex type that identifies ways in which you want to restrict distribution of your content.

" + }, + "WebACLId":{ + "shape":"string", + "documentation":"

A unique identifier that specifies the AWS WAF web ACL, if any, to associate with this distribution.

AWS WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests that are forwarded to CloudFront, and lets you control access to your content. Based on conditions that you specify, such as the IP addresses that requests originate from or the values of query strings, CloudFront responds to requests either with the requested content or with an HTTP 403 status code (Forbidden). You can also configure CloudFront to return a custom error page when a request is blocked. For more information about AWS WAF, see the AWS WAF Developer Guide.

" + }, + "HttpVersion":{ + "shape":"HttpVersion", + "documentation":"

(Optional) Specify the maximum HTTP version that you want viewers to use to communicate with CloudFront. The default value for new web distributions is http2. Viewers that don't support HTTP/2 automatically use an earlier HTTP version.

For viewers and CloudFront to use HTTP/2, viewers must support TLS 1.2 or later, and must support Server Name Identification (SNI).

In general, configuring CloudFront to communicate with viewers using HTTP/2 reduces latency. You can improve performance by optimizing for HTTP/2. For more information, do an Internet search for \"http/2 optimization.\"

" + }, + "IsIPV6Enabled":{ + "shape":"boolean", + "documentation":"

If you want CloudFront to respond to IPv6 DNS requests with an IPv6 address for your distribution, specify true. If you specify false, CloudFront responds to IPv6 DNS requests with the DNS response code NOERROR and with no IP addresses. This allows viewers to submit a second request, for an IPv4 address for your distribution.

In general, you should enable IPv6 if you have users on IPv6 networks who want to access your content. However, if you're using signed URLs or signed cookies to restrict access to your content, and if you're using a custom policy that includes the IpAddress parameter to restrict the IP addresses that can access your content, don't enable IPv6. If you want to restrict access to some content by IP address and not restrict access to other content (or restrict access but not by IP address), you can create two distributions. For more information, see Creating a Signed URL Using a Custom Policy in the Amazon CloudFront Developer Guide.

If you're using an Amazon Route 53 alias resource record set to route traffic to your CloudFront distribution, you need to create a second alias resource record set when both of the following are true:

  • You enable IPv6 for the distribution

  • You're using alternate domain names in the URLs for your objects

For more information, see Routing Traffic to an Amazon CloudFront Web Distribution by Using Your Domain Name in the Amazon Route 53 Developer Guide.

If you created a CNAME resource record set, either with Amazon Route 53 or with another DNS service, you don't need to make any changes. A CNAME record will route traffic to your distribution regardless of the IP address format of the viewer request.

" + } + }, + "documentation":"

A distribution configuration.

" + }, + "DistributionConfigWithTags":{ + "type":"structure", + "required":[ + "DistributionConfig", + "Tags" + ], + "members":{ + "DistributionConfig":{ + "shape":"DistributionConfig", + "documentation":"

A distribution configuration.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A complex type that contains zero or more Tag elements.

" + } + }, + "documentation":"

A distribution Configuration and a list of tags to be associated with the distribution.

" + }, + "DistributionList":{ + "type":"structure", + "required":[ + "Marker", + "MaxItems", + "IsTruncated", + "Quantity" + ], + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

The value you provided for the Marker request parameter.

" + }, + "NextMarker":{ + "shape":"string", + "documentation":"

If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your distributions where they left off.

" + }, + "MaxItems":{ + "shape":"integer", + "documentation":"

The value you provided for the MaxItems request parameter.

" + }, + "IsTruncated":{ + "shape":"boolean", + "documentation":"

A flag that indicates whether more distributions remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more distributions in the list.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of distributions that were created by the current AWS account.

" + }, + "Items":{ + "shape":"DistributionSummaryList", + "documentation":"

A complex type that contains one DistributionSummary element for each distribution that was created by the current AWS account.

" + } + }, + "documentation":"

A distribution list.

" + }, + "DistributionNotDisabled":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified CloudFront distribution is not disabled. You must disable the distribution before you can delete it.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "DistributionSummary":{ + "type":"structure", + "required":[ + "Id", + "ARN", + "Status", + "LastModifiedTime", + "DomainName", + "Aliases", + "Origins", + "DefaultCacheBehavior", + "CacheBehaviors", + "CustomErrorResponses", + "Comment", + "PriceClass", + "Enabled", + "ViewerCertificate", + "Restrictions", + "WebACLId", + "HttpVersion", + "IsIPV6Enabled" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The identifier for the distribution. For example: EDFDVBD632BHDS5.

" + }, + "ARN":{ + "shape":"string", + "documentation":"

The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.

" + }, + "Status":{ + "shape":"string", + "documentation":"

The current status of the distribution. When the status is Deployed, the distribution's information is propagated to all CloudFront edge locations.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The date and time the distribution was last modified.

" + }, + "DomainName":{ + "shape":"string", + "documentation":"

The domain name that corresponds to the distribution, for example, d111111abcdef8.cloudfront.net.

" + }, + "Aliases":{ + "shape":"Aliases", + "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.

" + }, + "Origins":{ + "shape":"Origins", + "documentation":"

A complex type that contains information about origins for this distribution.

" + }, + "OriginGroups":{ + "shape":"OriginGroups", + "documentation":"

A complex type that contains information about origin groups for this distribution.

" + }, + "DefaultCacheBehavior":{ + "shape":"DefaultCacheBehavior", + "documentation":"

A complex type that describes the default cache behavior if you don't specify a CacheBehavior element or if files don't match any of the values of PathPattern in CacheBehavior elements. You must create exactly one default cache behavior.

" + }, + "CacheBehaviors":{ + "shape":"CacheBehaviors", + "documentation":"

A complex type that contains zero or more CacheBehavior elements.

" + }, + "CustomErrorResponses":{ + "shape":"CustomErrorResponses", + "documentation":"

A complex type that contains zero or more CustomErrorResponses elements.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

The comment originally specified when this distribution was created.

" + }, + "PriceClass":{ + "shape":"PriceClass", + "documentation":"

A complex type that contains information about price class for this streaming distribution.

" + }, + "Enabled":{ + "shape":"boolean", + "documentation":"

Whether the distribution is enabled to accept user requests for content.

" + }, + "ViewerCertificate":{ + "shape":"ViewerCertificate", + "documentation":"

A complex type that specifies whether you want viewers to use HTTP or HTTPS to request your objects, whether you're using an alternate domain name with HTTPS, and if so, if you're using AWS Certificate Manager (ACM) or a third-party certificate authority.

" + }, + "Restrictions":{ + "shape":"Restrictions", + "documentation":"

A complex type that identifies ways in which you want to restrict distribution of your content.

" + }, + "WebACLId":{ + "shape":"string", + "documentation":"

The Web ACL Id (if any) associated with the distribution.

" + }, + "HttpVersion":{ + "shape":"HttpVersion", + "documentation":"

Specify the maximum HTTP version that you want viewers to use to communicate with CloudFront. The default value for new web distributions is http2. Viewers that don't support HTTP/2 will automatically use an earlier version.

" + }, + "IsIPV6Enabled":{ + "shape":"boolean", + "documentation":"

Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for your distribution.

" + }, + "AliasICPRecordals":{ + "shape":"AliasICPRecordals", + "documentation":"

AWS services in China customers must file for an Internet Content Provider (ICP) recordal if they want to serve content publicly on an alternate domain name, also known as a CNAME, that they've added to CloudFront. AliasICPRecordal provides the ICP recordal status for CNAMEs associated with distributions.

For more information about ICP recordals, see Signup, Accounts, and Credentials in Getting Started with AWS services in China.

" + } + }, + "documentation":"

A summary of the information about a CloudFront distribution.

" + }, + "DistributionSummaryList":{ + "type":"list", + "member":{ + "shape":"DistributionSummary", + "locationName":"DistributionSummary" + } + }, + "EncryptionEntities":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

Number of field pattern items in a field-level encryption content type-profile mapping.

" + }, + "Items":{ + "shape":"EncryptionEntityList", + "documentation":"

An array of field patterns in a field-level encryption content type-profile mapping.

" + } + }, + "documentation":"

Complex data type for field-level encryption profiles that includes all of the encryption entities.

" + }, + "EncryptionEntity":{ + "type":"structure", + "required":[ + "PublicKeyId", + "ProviderId", + "FieldPatterns" + ], + "members":{ + "PublicKeyId":{ + "shape":"string", + "documentation":"

The public key associated with a set of field-level encryption patterns, to be used when encrypting the fields that match the patterns.

" + }, + "ProviderId":{ + "shape":"string", + "documentation":"

The provider associated with the public key being used for encryption. This value must also be provided with the private key for applications to be able to decrypt data.

" + }, + "FieldPatterns":{ + "shape":"FieldPatterns", + "documentation":"

Field patterns in a field-level encryption content type profile specify the fields that you want to be encrypted. You can provide the full field name, or any beginning characters followed by a wildcard (*). You can't overlap field patterns. For example, you can't have both ABC* and AB*. Note that field patterns are case-sensitive.

" + } + }, + "documentation":"

Complex data type for field-level encryption profiles that includes the encryption key and field pattern specifications.

" + }, + "EncryptionEntityList":{ + "type":"list", + "member":{ + "shape":"EncryptionEntity", + "locationName":"EncryptionEntity" + } + }, + "EventType":{ + "type":"string", + "enum":[ + "viewer-request", + "viewer-response", + "origin-request", + "origin-response" + ] + }, + "FieldLevelEncryption":{ + "type":"structure", + "required":[ + "Id", + "LastModifiedTime", + "FieldLevelEncryptionConfig" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The configuration ID for a field-level encryption configuration which includes a set of profiles that specify certain selected data fields to be encrypted by specific public keys.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The last time the field-level encryption configuration was changed.

" + }, + "FieldLevelEncryptionConfig":{ + "shape":"FieldLevelEncryptionConfig", + "documentation":"

A complex data type that includes the profile configurations specified for field-level encryption.

" + } + }, + "documentation":"

A complex data type that includes the profile configurations and other options specified for field-level encryption.

" + }, + "FieldLevelEncryptionConfig":{ + "type":"structure", + "required":["CallerReference"], + "members":{ + "CallerReference":{ + "shape":"string", + "documentation":"

A unique number that ensures the request can't be replayed.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

An optional comment about the configuration.

" + }, + "QueryArgProfileConfig":{ + "shape":"QueryArgProfileConfig", + "documentation":"

A complex data type that specifies when to forward content if a profile isn't found and the profile that can be provided as a query argument in a request.

" + }, + "ContentTypeProfileConfig":{ + "shape":"ContentTypeProfileConfig", + "documentation":"

A complex data type that specifies when to forward content if a content type isn't recognized and profiles to use as by default in a request if a query argument doesn't specify a profile to use.

" + } + }, + "documentation":"

A complex data type that includes the profile configurations specified for field-level encryption.

" + }, + "FieldLevelEncryptionConfigAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified configuration for field-level encryption already exists.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "FieldLevelEncryptionConfigInUse":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified configuration for field-level encryption is in use.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "FieldLevelEncryptionList":{ + "type":"structure", + "required":[ + "MaxItems", + "Quantity" + ], + "members":{ + "NextMarker":{ + "shape":"string", + "documentation":"

If there are more elements to be listed, this element is present and contains the value that you can use for the Marker request parameter to continue listing your configurations where you left off.

" + }, + "MaxItems":{ + "shape":"integer", + "documentation":"

The maximum number of elements you want in the response body.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of field-level encryption items.

" + }, + "Items":{ + "shape":"FieldLevelEncryptionSummaryList", + "documentation":"

An array of field-level encryption items.

" + } + }, + "documentation":"

List of field-level encrpytion configurations.

" + }, + "FieldLevelEncryptionProfile":{ + "type":"structure", + "required":[ + "Id", + "LastModifiedTime", + "FieldLevelEncryptionProfileConfig" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The ID for a field-level encryption profile configuration which includes a set of profiles that specify certain selected data fields to be encrypted by specific public keys.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The last time the field-level encryption profile was updated.

" + }, + "FieldLevelEncryptionProfileConfig":{ + "shape":"FieldLevelEncryptionProfileConfig", + "documentation":"

A complex data type that includes the profile name and the encryption entities for the field-level encryption profile.

" + } + }, + "documentation":"

A complex data type for field-level encryption profiles.

" + }, + "FieldLevelEncryptionProfileAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified profile for field-level encryption already exists.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "FieldLevelEncryptionProfileConfig":{ + "type":"structure", + "required":[ + "Name", + "CallerReference", + "EncryptionEntities" + ], + "members":{ + "Name":{ + "shape":"string", + "documentation":"

Profile name for the field-level encryption profile.

" + }, + "CallerReference":{ + "shape":"string", + "documentation":"

A unique number that ensures that the request can't be replayed.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

An optional comment for the field-level encryption profile.

" + }, + "EncryptionEntities":{ + "shape":"EncryptionEntities", + "documentation":"

A complex data type of encryption entities for the field-level encryption profile that include the public key ID, provider, and field patterns for specifying which fields to encrypt with this key.

" + } + }, + "documentation":"

A complex data type of profiles for the field-level encryption.

" + }, + "FieldLevelEncryptionProfileInUse":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified profile for field-level encryption is in use.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "FieldLevelEncryptionProfileList":{ + "type":"structure", + "required":[ + "MaxItems", + "Quantity" + ], + "members":{ + "NextMarker":{ + "shape":"string", + "documentation":"

If there are more elements to be listed, this element is present and contains the value that you can use for the Marker request parameter to continue listing your profiles where you left off.

" + }, + "MaxItems":{ + "shape":"integer", + "documentation":"

The maximum number of field-level encryption profiles you want in the response body.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of field-level encryption profiles.

" + }, + "Items":{ + "shape":"FieldLevelEncryptionProfileSummaryList", + "documentation":"

The field-level encryption profile items.

" + } + }, + "documentation":"

List of field-level encryption profiles.

" + }, + "FieldLevelEncryptionProfileSizeExceeded":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum size of a profile for field-level encryption was exceeded.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "FieldLevelEncryptionProfileSummary":{ + "type":"structure", + "required":[ + "Id", + "LastModifiedTime", + "Name", + "EncryptionEntities" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

ID for the field-level encryption profile summary.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The time when the the field-level encryption profile summary was last updated.

" + }, + "Name":{ + "shape":"string", + "documentation":"

Name for the field-level encryption profile summary.

" + }, + "EncryptionEntities":{ + "shape":"EncryptionEntities", + "documentation":"

A complex data type of encryption entities for the field-level encryption profile that include the public key ID, provider, and field patterns for specifying which fields to encrypt with this key.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

An optional comment for the field-level encryption profile summary.

" + } + }, + "documentation":"

The field-level encryption profile summary.

" + }, + "FieldLevelEncryptionProfileSummaryList":{ + "type":"list", + "member":{ + "shape":"FieldLevelEncryptionProfileSummary", + "locationName":"FieldLevelEncryptionProfileSummary" + } + }, + "FieldLevelEncryptionSummary":{ + "type":"structure", + "required":[ + "Id", + "LastModifiedTime" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The unique ID of a field-level encryption item.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The last time that the summary of field-level encryption items was modified.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

An optional comment about the field-level encryption item.

" + }, + "QueryArgProfileConfig":{ + "shape":"QueryArgProfileConfig", + "documentation":"

A summary of a query argument-profile mapping.

" + }, + "ContentTypeProfileConfig":{ + "shape":"ContentTypeProfileConfig", + "documentation":"

A summary of a content type-profile mapping.

" + } + }, + "documentation":"

A summary of a field-level encryption item.

" + }, + "FieldLevelEncryptionSummaryList":{ + "type":"list", + "member":{ + "shape":"FieldLevelEncryptionSummary", + "locationName":"FieldLevelEncryptionSummary" + } + }, + "FieldPatternList":{ + "type":"list", + "member":{ + "shape":"string", + "locationName":"FieldPattern" + } + }, + "FieldPatterns":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of field-level encryption field patterns.

" + }, + "Items":{ + "shape":"FieldPatternList", + "documentation":"

An array of the field-level encryption field patterns.

" + } + }, + "documentation":"

A complex data type that includes the field patterns to match for field-level encryption.

" + }, + "Format":{ + "type":"string", + "enum":["URLEncoded"] + }, + "ForwardedValues":{ + "type":"structure", + "required":[ + "QueryString", + "Cookies" + ], + "members":{ + "QueryString":{ + "shape":"boolean", + "documentation":"

Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior and cache based on the query string parameters. CloudFront behavior depends on the value of QueryString and on the values that you specify for QueryStringCacheKeys, if any:

If you specify true for QueryString and you don't specify any values for QueryStringCacheKeys, CloudFront forwards all query string parameters to the origin and caches based on all query string parameters. Depending on how many query string parameters and values you have, this can adversely affect performance because CloudFront must forward more requests to the origin.

If you specify true for QueryString and you specify one or more values for QueryStringCacheKeys, CloudFront forwards all query string parameters to the origin, but it only caches based on the query string parameters that you specify.

If you specify false for QueryString, CloudFront doesn't forward any query string parameters to the origin, and doesn't cache based on query string parameters.

For more information, see Configuring CloudFront to Cache Based on Query String Parameters in the Amazon CloudFront Developer Guide.

" + }, + "Cookies":{ + "shape":"CookiePreference", + "documentation":"

A complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies in the Amazon CloudFront Developer Guide.

" + }, + "Headers":{ + "shape":"Headers", + "documentation":"

A complex type that specifies the Headers, if any, that you want CloudFront to forward to the origin for this cache behavior (whitelisted headers). For the headers that you specify, CloudFront also caches separate versions of a specified object that is based on the header values in viewer requests.

For more information, see Caching Content Based on Request Headers in the Amazon CloudFront Developer Guide.

" + }, + "QueryStringCacheKeys":{ + "shape":"QueryStringCacheKeys", + "documentation":"

A complex type that contains information about the query string parameters that you want CloudFront to use for caching for this cache behavior.

" + } + }, + "documentation":"

A complex type that specifies how CloudFront handles query strings and cookies.

" + }, + "GeoRestriction":{ + "type":"structure", + "required":[ + "RestrictionType", + "Quantity" + ], + "members":{ + "RestrictionType":{ + "shape":"GeoRestrictionType", + "documentation":"

The method that you want to use to restrict distribution of your content by country:

  • none: No geo restriction is enabled, meaning access to content is not restricted by client geo location.

  • blacklist: The Location elements specify the countries in which you don't want CloudFront to distribute your content.

  • whitelist: The Location elements specify the countries in which you want CloudFront to distribute your content.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

When geo restriction is enabled, this is the number of countries in your whitelist or blacklist. Otherwise, when it is not enabled, Quantity is 0, and you can omit Items.

" + }, + "Items":{ + "shape":"LocationList", + "documentation":"

A complex type that contains a Location element for each country in which you want CloudFront either to distribute your content (whitelist) or not distribute your content (blacklist).

The Location element is a two-letter, uppercase country code for a country that you want to include in your blacklist or whitelist. Include one Location element for each country.

CloudFront and MaxMind both use ISO 3166 country codes. For the current list of countries and the corresponding codes, see ISO 3166-1-alpha-2 code on the International Organization for Standardization website. You can also refer to the country list on the CloudFront console, which includes both country names and codes.

" + } + }, + "documentation":"

A complex type that controls the countries in which your content is distributed. CloudFront determines the location of your users using MaxMind GeoIP databases.

" + }, + "GeoRestrictionType":{ + "type":"string", + "enum":[ + "blacklist", + "whitelist", + "none" + ] + }, + "GetCloudFrontOriginAccessIdentityConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The identity's ID.

", + "location":"uri", + "locationName":"Id" + } + }, + "documentation":"

The origin access identity's configuration information. For more information, see CloudFrontOriginAccessIdentityConfig.

" + }, + "GetCloudFrontOriginAccessIdentityConfigResult":{ + "type":"structure", + "members":{ + "CloudFrontOriginAccessIdentityConfig":{ + "shape":"CloudFrontOriginAccessIdentityConfig", + "documentation":"

The origin access identity's configuration information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"CloudFrontOriginAccessIdentityConfig" + }, + "GetCloudFrontOriginAccessIdentityRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The identity's ID.

", + "location":"uri", + "locationName":"Id" + } + }, + "documentation":"

The request to get an origin access identity's information.

" + }, + "GetCloudFrontOriginAccessIdentityResult":{ + "type":"structure", + "members":{ + "CloudFrontOriginAccessIdentity":{ + "shape":"CloudFrontOriginAccessIdentity", + "documentation":"

The origin access identity's information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the origin access identity's information. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"CloudFrontOriginAccessIdentity" + }, + "GetDistributionConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The distribution's ID. If the ID is empty, an empty distribution configuration is returned.

", + "location":"uri", + "locationName":"Id" + } + }, + "documentation":"

The request to get a distribution configuration.

" + }, + "GetDistributionConfigResult":{ + "type":"structure", + "members":{ + "DistributionConfig":{ + "shape":"DistributionConfig", + "documentation":"

The distribution's configuration information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"DistributionConfig" + }, + "GetDistributionRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The distribution's ID. If the ID is empty, an empty distribution configuration is returned.

", + "location":"uri", + "locationName":"Id" + } + }, + "documentation":"

The request to get a distribution's information.

" + }, + "GetDistributionResult":{ + "type":"structure", + "members":{ + "Distribution":{ + "shape":"Distribution", + "documentation":"

The distribution's information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the distribution's information. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"Distribution" + }, + "GetFieldLevelEncryptionConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Request the ID for the field-level encryption configuration information.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetFieldLevelEncryptionConfigResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionConfig":{ + "shape":"FieldLevelEncryptionConfig", + "documentation":"

Return the field-level encryption configuration information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionConfig" + }, + "GetFieldLevelEncryptionProfileConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Get the ID for the field-level encryption profile configuration information.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetFieldLevelEncryptionProfileConfigResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfileConfig":{ + "shape":"FieldLevelEncryptionProfileConfig", + "documentation":"

Return the field-level encryption profile configuration information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field-level encryption profile configuration result. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionProfileConfig" + }, + "GetFieldLevelEncryptionProfileRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Get the ID for the field-level encryption profile information.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetFieldLevelEncryptionProfileResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfile":{ + "shape":"FieldLevelEncryptionProfile", + "documentation":"

Return the field-level encryption profile information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionProfile" + }, + "GetFieldLevelEncryptionRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Request the ID for the field-level encryption configuration information.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetFieldLevelEncryptionResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryption":{ + "shape":"FieldLevelEncryption", + "documentation":"

Return the field-level encryption configuration information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryption" + }, + "GetInvalidationRequest":{ + "type":"structure", + "required":[ + "DistributionId", + "Id" + ], + "members":{ + "DistributionId":{ + "shape":"string", + "documentation":"

The distribution's ID.

", + "location":"uri", + "locationName":"DistributionId" + }, + "Id":{ + "shape":"string", + "documentation":"

The identifier for the invalidation request, for example, IDFDVBD632BHDS5.

", + "location":"uri", + "locationName":"Id" + } + }, + "documentation":"

The request to get an invalidation's information.

" + }, + "GetInvalidationResult":{ + "type":"structure", + "members":{ + "Invalidation":{ + "shape":"Invalidation", + "documentation":"

The invalidation's information. For more information, see Invalidation Complex Type.

" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"Invalidation" + }, + "GetPublicKeyConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Request the ID for the public key configuration.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetPublicKeyConfigResult":{ + "type":"structure", + "members":{ + "PublicKeyConfig":{ + "shape":"PublicKeyConfig", + "documentation":"

Return the result for the public key configuration.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the public key configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"PublicKeyConfig" + }, + "GetPublicKeyRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Request the ID for the public key.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetPublicKeyResult":{ + "type":"structure", + "members":{ + "PublicKey":{ + "shape":"PublicKey", + "documentation":"

Return the public key.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the public key. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"PublicKey" + }, + "GetStreamingDistributionConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The streaming distribution's ID.

", + "location":"uri", + "locationName":"Id" + } + }, + "documentation":"

To request to get a streaming distribution configuration.

" + }, + "GetStreamingDistributionConfigResult":{ + "type":"structure", + "members":{ + "StreamingDistributionConfig":{ + "shape":"StreamingDistributionConfig", + "documentation":"

The streaming distribution's configuration information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"StreamingDistributionConfig" + }, + "GetStreamingDistributionRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The streaming distribution's ID.

", + "location":"uri", + "locationName":"Id" + } + }, + "documentation":"

The request to get a streaming distribution's information.

" + }, + "GetStreamingDistributionResult":{ + "type":"structure", + "members":{ + "StreamingDistribution":{ + "shape":"StreamingDistribution", + "documentation":"

The streaming distribution's information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the streaming distribution's information. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"StreamingDistribution" + }, + "HeaderList":{ + "type":"list", + "member":{ + "shape":"string", + "locationName":"Name" + } + }, + "Headers":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of different headers that you want CloudFront to base caching on for this cache behavior. You can configure each cache behavior in a web distribution to do one of the following:

  • Forward all headers to your origin: Specify 1 for Quantity and * for Name.

    CloudFront doesn't cache the objects that are associated with this cache behavior. Instead, CloudFront sends every request to the origin.

  • Forward a whitelist of headers you specify: Specify the number of headers that you want CloudFront to base caching on. Then specify the header names in Name elements. CloudFront caches your objects based on the values in the specified headers.

  • Forward only the default headers: Specify 0 for Quantity and omit Items. In this configuration, CloudFront doesn't cache based on the values in the request headers.

Regardless of which option you choose, CloudFront forwards headers to your origin based on whether the origin is an S3 bucket or a custom origin. See the following documentation:

" + }, + "Items":{ + "shape":"HeaderList", + "documentation":"

A list that contains one Name element for each header that you want CloudFront to use for caching in this cache behavior. If Quantity is 0, omit Items.

" + } + }, + "documentation":"

A complex type that specifies the request headers, if any, that you want CloudFront to base caching on for this cache behavior.

For the headers that you specify, CloudFront caches separate versions of a specified object based on the header values in viewer requests. For example, suppose viewer requests for logo.jpg contain a custom product header that has a value of either acme or apex, and you configure CloudFront to cache your content based on values in the product header. CloudFront forwards the product header to the origin and caches the response from the origin once for each header value. For more information about caching based on header values, see How CloudFront Forwards and Caches Headers in the Amazon CloudFront Developer Guide.

" + }, + "HttpVersion":{ + "type":"string", + "enum":[ + "http1.1", + "http2" + ] + }, + "ICPRecordalStatus":{ + "type":"string", + "enum":[ + "APPROVED", + "SUSPENDED", + "PENDING" + ] + }, + "IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified configuration for field-level encryption can't be associated with the specified cache behavior.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "IllegalUpdate":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Origin and CallerReference cannot be updated.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InconsistentQuantities":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The value of Quantity and the size of Items don't match.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidArgument":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The argument is invalid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidDefaultRootObject":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The default root object file name is too big or contains an invalid character.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidErrorCode":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

An invalid error code was specified.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidForwardCookies":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains forward cookies option which doesn't match with the expectation for the whitelisted list of cookie names. Either list of cookie names has been specified when not allowed or list of cookie names is missing when expected.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidGeoRestrictionParameter":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified geo restriction parameter is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidHeadersForS3Origin":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The headers specified are not valid for an Amazon S3 origin.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidIfMatchVersion":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The If-Match version is missing or not valid for the distribution.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidLambdaFunctionAssociation":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified Lambda function association is invalid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidLocationCode":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The location code specified is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidMinimumProtocolVersion":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The minimum protocol version specified is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidOrigin":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidOriginAccessIdentity":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The origin access identity is not valid or doesn't exist.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidOriginKeepaliveTimeout":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The keep alive timeout specified for the origin is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidOriginReadTimeout":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The read timeout specified for the origin is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidProtocolSettings":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that support Server Name Indication (SNI).

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidQueryStringParameters":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Query string parameters specified in the response body are not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidRelativePath":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The relative path is too big, is not URL-encoded, or does not begin with a slash (/).

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidRequiredProtocol":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your request, or omit the RequiredProtocols element from your distribution configuration.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidResponseCode":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

A response code specified in the response body is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidTTLOrder":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

TTL order specified in the response body is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidTagging":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Tagging specified in the response body is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidViewerCertificate":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

A viewer certificate specified in the response body is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidWebACLId":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

A web ACL id specified in the response body is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Invalidation":{ + "type":"structure", + "required":[ + "Id", + "Status", + "CreateTime", + "InvalidationBatch" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The identifier for the invalidation request. For example: IDFDVBD632BHDS5.

" + }, + "Status":{ + "shape":"string", + "documentation":"

The status of the invalidation request. When the invalidation batch is finished, the status is Completed.

" + }, + "CreateTime":{ + "shape":"timestamp", + "documentation":"

The date and time the invalidation request was first made.

" + }, + "InvalidationBatch":{ + "shape":"InvalidationBatch", + "documentation":"

The current invalidation information for the batch request.

" + } + }, + "documentation":"

An invalidation.

" + }, + "InvalidationBatch":{ + "type":"structure", + "required":[ + "Paths", + "CallerReference" + ], + "members":{ + "Paths":{ + "shape":"Paths", + "documentation":"

A complex type that contains information about the objects that you want to invalidate. For more information, see Specifying the Objects to Invalidate in the Amazon CloudFront Developer Guide.

" + }, + "CallerReference":{ + "shape":"string", + "documentation":"

A value that you specify to uniquely identify an invalidation request. CloudFront uses the value to prevent you from accidentally resubmitting an identical request. Whenever you create a new invalidation request, you must specify a new value for CallerReference and change other values in the request as applicable. One way to ensure that the value of CallerReference is unique is to use a timestamp, for example, 20120301090000.

If you make a second invalidation request with the same value for CallerReference, and if the rest of the request is the same, CloudFront doesn't create a new invalidation request. Instead, CloudFront returns information about the invalidation request that you previously created with the same CallerReference.

If CallerReference is a value you already sent in a previous invalidation batch request but the content of any Path is different from the original request, CloudFront returns an InvalidationBatchAlreadyExists error.

" + } + }, + "documentation":"

An invalidation batch.

" + }, + "InvalidationList":{ + "type":"structure", + "required":[ + "Marker", + "MaxItems", + "IsTruncated", + "Quantity" + ], + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

The value that you provided for the Marker request parameter.

" + }, + "NextMarker":{ + "shape":"string", + "documentation":"

If IsTruncated is true, this element is present and contains the value that you can use for the Marker request parameter to continue listing your invalidation batches where they left off.

" + }, + "MaxItems":{ + "shape":"integer", + "documentation":"

The value that you provided for the MaxItems request parameter.

" + }, + "IsTruncated":{ + "shape":"boolean", + "documentation":"

A flag that indicates whether more invalidation batch requests remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more invalidation batches in the list.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of invalidation batches that were created by the current AWS account.

" + }, + "Items":{ + "shape":"InvalidationSummaryList", + "documentation":"

A complex type that contains one InvalidationSummary element for each invalidation batch created by the current AWS account.

" + } + }, + "documentation":"

The InvalidationList complex type describes the list of invalidation objects. For more information about invalidation, see Invalidating Objects (Web Distributions Only) in the Amazon CloudFront Developer Guide.

" + }, + "InvalidationSummary":{ + "type":"structure", + "required":[ + "Id", + "CreateTime", + "Status" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The unique ID for an invalidation request.

" + }, + "CreateTime":{ + "shape":"timestamp", + "documentation":"

The time that an invalidation request was created.

" + }, + "Status":{ + "shape":"string", + "documentation":"

The status of an invalidation request.

" + } + }, + "documentation":"

A summary of an invalidation request.

" + }, + "InvalidationSummaryList":{ + "type":"list", + "member":{ + "shape":"InvalidationSummary", + "locationName":"InvalidationSummary" + } + }, + "ItemSelection":{ + "type":"string", + "enum":[ + "none", + "whitelist", + "all" + ] + }, + "KeyPairIdList":{ + "type":"list", + "member":{ + "shape":"string", + "locationName":"KeyPairId" + } + }, + "KeyPairIds":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of active CloudFront key pairs for AwsAccountNumber.

For more information, see ActiveTrustedSigners.

" + }, + "Items":{ + "shape":"KeyPairIdList", + "documentation":"

A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.

For more information, see ActiveTrustedSigners.

" + } + }, + "documentation":"

A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.

For more information, see ActiveTrustedSigners.

" + }, + "LambdaFunctionARN":{"type":"string"}, + "LambdaFunctionAssociation":{ + "type":"structure", + "required":[ + "LambdaFunctionARN", + "EventType" + ], + "members":{ + "LambdaFunctionARN":{ + "shape":"LambdaFunctionARN", + "documentation":"

The ARN of the Lambda function. You must specify the ARN of a function version; you can't specify a Lambda alias or $LATEST.

" + }, + "EventType":{ + "shape":"EventType", + "documentation":"

Specifies the event type that triggers a Lambda function invocation. You can specify the following values:

  • viewer-request: The function executes when CloudFront receives a request from a viewer and before it checks to see whether the requested object is in the edge cache.

  • origin-request: The function executes only when CloudFront forwards a request to your origin. When the requested object is in the edge cache, the function doesn't execute.

  • origin-response: The function executes after CloudFront receives a response from the origin and before it caches the object in the response. When the requested object is in the edge cache, the function doesn't execute.

  • viewer-response: The function executes before CloudFront returns the requested object to the viewer. The function executes regardless of whether the object was already in the edge cache.

    If the origin returns an HTTP status code other than HTTP 200 (OK), the function doesn't execute.

" + }, + "IncludeBody":{ + "shape":"boolean", + "documentation":"

A flag that allows a Lambda function to have read access to the body content. For more information, see Accessing the Request Body by Choosing the Include Body Option in the Amazon CloudFront Developer Guide.

" + } + }, + "documentation":"

A complex type that contains a Lambda function association.

" + }, + "LambdaFunctionAssociationList":{ + "type":"list", + "member":{ + "shape":"LambdaFunctionAssociation", + "locationName":"LambdaFunctionAssociation" + } + }, + "LambdaFunctionAssociations":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of Lambda function associations for this cache behavior.

" + }, + "Items":{ + "shape":"LambdaFunctionAssociationList", + "documentation":"

Optional: A complex type that contains LambdaFunctionAssociation items for this cache behavior. If Quantity is 0, you can omit Items.

" + } + }, + "documentation":"

A complex type that specifies a list of Lambda functions associations for a cache behavior.

If you want to invoke one or more Lambda functions triggered by requests that match the PathPattern of the cache behavior, specify the applicable values for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation items in this list (one for each possible value of EventType) and each EventType can be associated with the Lambda function only once.

If you don't want to invoke any Lambda functions for the requests that match PathPattern, specify 0 for Quantity and omit Items.

" + }, + "ListCloudFrontOriginAccessIdentitiesRequest":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

Use this when paginating results to indicate where to begin in your list of origin access identities. The results include identities in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last identity on that page).

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "documentation":"

The maximum number of origin access identities you want in the response body.

", + "location":"querystring", + "locationName":"MaxItems" + } + }, + "documentation":"

The request to list origin access identities.

" + }, + "ListCloudFrontOriginAccessIdentitiesResult":{ + "type":"structure", + "members":{ + "CloudFrontOriginAccessIdentityList":{ + "shape":"CloudFrontOriginAccessIdentityList", + "documentation":"

The CloudFrontOriginAccessIdentityList type.

" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"CloudFrontOriginAccessIdentityList" + }, + "ListDistributionsByWebACLIdRequest":{ + "type":"structure", + "required":["WebACLId"], + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

Use Marker and MaxItems to control pagination of results. If you have more than MaxItems distributions that satisfy the request, the response includes a NextMarker element. To get the next page of results, submit another request. For the value of Marker, specify the value of NextMarker from the last response. (For the first request, omit Marker.)

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "documentation":"

The maximum number of distributions that you want CloudFront to return in the response body. The maximum and default values are both 100.

", + "location":"querystring", + "locationName":"MaxItems" + }, + "WebACLId":{ + "shape":"string", + "documentation":"

The ID of the AWS WAF web ACL that you want to list the associated distributions. If you specify \"null\" for the ID, the request returns a list of the distributions that aren't associated with a web ACL.

", + "location":"uri", + "locationName":"WebACLId" + } + }, + "documentation":"

The request to list distributions that are associated with a specified AWS WAF web ACL.

" + }, + "ListDistributionsByWebACLIdResult":{ + "type":"structure", + "members":{ + "DistributionList":{ + "shape":"DistributionList", + "documentation":"

The DistributionList type.

" + } + }, + "documentation":"

The response to a request to list the distributions that are associated with a specified AWS WAF web ACL.

", + "payload":"DistributionList" + }, + "ListDistributionsRequest":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

Use this when paginating results to indicate where to begin in your list of distributions. The results include distributions in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last distribution on that page).

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "documentation":"

The maximum number of distributions you want in the response body.

", + "location":"querystring", + "locationName":"MaxItems" + } + }, + "documentation":"

The request to list your distributions.

" + }, + "ListDistributionsResult":{ + "type":"structure", + "members":{ + "DistributionList":{ + "shape":"DistributionList", + "documentation":"

The DistributionList type.

" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"DistributionList" + }, + "ListFieldLevelEncryptionConfigsRequest":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

Use this when paginating results to indicate where to begin in your list of configurations. The results include configurations in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last configuration on that page).

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "documentation":"

The maximum number of field-level encryption configurations you want in the response body.

", + "location":"querystring", + "locationName":"MaxItems" + } + } + }, + "ListFieldLevelEncryptionConfigsResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionList":{ + "shape":"FieldLevelEncryptionList", + "documentation":"

Returns a list of all field-level encryption configurations that have been created in CloudFront for this account.

" + } + }, + "payload":"FieldLevelEncryptionList" + }, + "ListFieldLevelEncryptionProfilesRequest":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

Use this when paginating results to indicate where to begin in your list of profiles. The results include profiles in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last profile on that page).

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "documentation":"

The maximum number of field-level encryption profiles you want in the response body.

", + "location":"querystring", + "locationName":"MaxItems" + } + } + }, + "ListFieldLevelEncryptionProfilesResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfileList":{ + "shape":"FieldLevelEncryptionProfileList", + "documentation":"

Returns a list of the field-level encryption profiles that have been created in CloudFront for this account.

" + } + }, + "payload":"FieldLevelEncryptionProfileList" + }, + "ListInvalidationsRequest":{ + "type":"structure", + "required":["DistributionId"], + "members":{ + "DistributionId":{ + "shape":"string", + "documentation":"

The distribution's ID.

", + "location":"uri", + "locationName":"DistributionId" + }, + "Marker":{ + "shape":"string", + "documentation":"

Use this parameter when paginating results to indicate where to begin in your list of invalidation batches. Because the results are returned in decreasing order from most recent to oldest, the most recent results are on the first page, the second page will contain earlier results, and so on. To get the next page of results, set Marker to the value of the NextMarker from the current page's response. This value is the same as the ID of the last invalidation batch on that page.

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "documentation":"

The maximum number of invalidation batches that you want in the response body.

", + "location":"querystring", + "locationName":"MaxItems" + } + }, + "documentation":"

The request to list invalidations.

" + }, + "ListInvalidationsResult":{ + "type":"structure", + "members":{ + "InvalidationList":{ + "shape":"InvalidationList", + "documentation":"

Information about invalidation batches.

" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"InvalidationList" + }, + "ListPublicKeysRequest":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

Use this when paginating results to indicate where to begin in your list of public keys. The results include public keys in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last public key on that page).

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "documentation":"

The maximum number of public keys you want in the response body.

", + "location":"querystring", + "locationName":"MaxItems" + } + } + }, + "ListPublicKeysResult":{ + "type":"structure", + "members":{ + "PublicKeyList":{ + "shape":"PublicKeyList", + "documentation":"

Returns a list of all public keys that have been added to CloudFront for this account.

" + } + }, + "payload":"PublicKeyList" + }, + "ListStreamingDistributionsRequest":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

The value that you provided for the Marker request parameter.

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "documentation":"

The value that you provided for the MaxItems request parameter.

", + "location":"querystring", + "locationName":"MaxItems" + } + }, + "documentation":"

The request to list your streaming distributions.

" + }, + "ListStreamingDistributionsResult":{ + "type":"structure", + "members":{ + "StreamingDistributionList":{ + "shape":"StreamingDistributionList", + "documentation":"

The StreamingDistributionList type.

" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"StreamingDistributionList" + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["Resource"], + "members":{ + "Resource":{ + "shape":"ResourceARN", + "documentation":"

An ARN of a CloudFront resource.

", + "location":"querystring", + "locationName":"Resource" + } + }, + "documentation":"

The request to list tags for a CloudFront resource.

" + }, + "ListTagsForResourceResult":{ + "type":"structure", + "required":["Tags"], + "members":{ + "Tags":{ + "shape":"Tags", + "documentation":"

A complex type that contains zero or more Tag elements.

" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"Tags" + }, + "LocationList":{ + "type":"list", + "member":{ + "shape":"string", + "locationName":"Location" + } + }, + "LoggingConfig":{ + "type":"structure", + "required":[ + "Enabled", + "IncludeCookies", + "Bucket", + "Prefix" + ], + "members":{ + "Enabled":{ + "shape":"boolean", + "documentation":"

Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you don't want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket, prefix, and IncludeCookies, the values are automatically deleted.

" + }, + "IncludeCookies":{ + "shape":"boolean", + "documentation":"

Specifies whether you want CloudFront to include cookies in access logs, specify true for IncludeCookies. If you choose to include cookies in logs, CloudFront logs all cookies regardless of how you configure the cache behaviors for this distribution. If you don't want to include cookies when you create a distribution or if you want to disable include cookies for an existing distribution, specify false for IncludeCookies.

" + }, + "Bucket":{ + "shape":"string", + "documentation":"

The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.

" + }, + "Prefix":{ + "shape":"string", + "documentation":"

An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you don't want to specify a prefix, you still must include an empty Prefix element in the Logging element.

" + } + }, + "documentation":"

A complex type that controls whether access logs are written for the distribution.

" + }, + "Method":{ + "type":"string", + "enum":[ + "GET", + "HEAD", + "POST", + "PUT", + "PATCH", + "OPTIONS", + "DELETE" + ] + }, + "MethodsList":{ + "type":"list", + "member":{ + "shape":"Method", + "locationName":"Method" + } + }, + "MinimumProtocolVersion":{ + "type":"string", + "enum":[ + "SSLv3", + "TLSv1", + "TLSv1_2016", + "TLSv1.1_2016", + "TLSv1.2_2018" + ] + }, + "MissingBody":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

This operation requires a body. Ensure that the body is present and the Content-Type header is set.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "NoSuchCloudFrontOriginAccessIdentity":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified origin access identity does not exist.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "NoSuchDistribution":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified distribution does not exist.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "NoSuchFieldLevelEncryptionConfig":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified configuration for field-level encryption doesn't exist.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "NoSuchFieldLevelEncryptionProfile":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified profile for field-level encryption doesn't exist.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "NoSuchInvalidation":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified invalidation does not exist.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "NoSuchOrigin":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

No origin exists with the specified Origin Id.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "NoSuchPublicKey":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified public key doesn't exist.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "NoSuchResource":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

A resource that was specified is not valid.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "NoSuchStreamingDistribution":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified streaming distribution does not exist.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "Origin":{ + "type":"structure", + "required":[ + "Id", + "DomainName" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

A unique identifier for the origin or origin group. The value of Id must be unique within the distribution.

When you specify the value of TargetOriginId for the default cache behavior or for another cache behavior, you indicate the origin to which you want the cache behavior to route requests by specifying the value of the Id element for that origin. When a request matches the path pattern for that cache behavior, CloudFront routes the request to the specified origin. For more information, see Cache Behavior Settings in the Amazon CloudFront Developer Guide.

" + }, + "DomainName":{ + "shape":"string", + "documentation":"

Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin, for example, myawsbucket.s3.amazonaws.com. If you set up your bucket to be configured as a website endpoint, enter the Amazon S3 static website hosting endpoint for the bucket.

For more information about specifying this value for different types of origins, see Origin Domain Name in the Amazon CloudFront Developer Guide.

Constraints for Amazon S3 origins:

  • If you configured Amazon S3 Transfer Acceleration for your bucket, don't specify the s3-accelerate endpoint for DomainName.

  • The bucket name must be between 3 and 63 characters long (inclusive).

  • The bucket name must contain only lowercase characters, numbers, periods, underscores, and dashes.

  • The bucket name must not contain adjacent periods.

Custom Origins: The DNS domain name for the HTTP server from which you want CloudFront to get objects for this origin, for example, www.example.com.

Constraints for custom origins:

  • DomainName must be a valid DNS name that contains only a-z, A-Z, 0-9, dot (.), hyphen (-), or underscore (_) characters.

  • The name cannot exceed 128 characters.

" + }, + "OriginPath":{ + "shape":"string", + "documentation":"

An optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin. When you include the OriginPath element, specify the directory name, beginning with a /. CloudFront appends the directory name to the value of DomainName, for example, example.com/production. Do not include a / at the end of the directory name.

For example, suppose you've specified the following values for your distribution:

  • DomainName: An Amazon S3 bucket named myawsbucket.

  • OriginPath: /production

  • CNAME: example.com

When a user enters example.com/index.html in a browser, CloudFront sends a request to Amazon S3 for myawsbucket/production/index.html.

When a user enters example.com/acme/index.html in a browser, CloudFront sends a request to Amazon S3 for myawsbucket/production/acme/index.html.

" + }, + "CustomHeaders":{ + "shape":"CustomHeaders", + "documentation":"

A complex type that contains names and values for the custom headers that you want.

" + }, + "S3OriginConfig":{ + "shape":"S3OriginConfig", + "documentation":"

A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.

" + }, + "CustomOriginConfig":{ + "shape":"CustomOriginConfig", + "documentation":"

A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead.

" + } + }, + "documentation":"

A complex type that describes the Amazon S3 bucket, HTTP server (for example, a web server), Amazon MediaStore, or other server from which CloudFront gets your files. This can also be an origin group, if you've created an origin group. You must specify at least one origin or origin group.

For the current limit on the number of origins or origin groups that you can specify for a distribution, see Amazon CloudFront Limits in the AWS General Reference.

" + }, + "OriginCustomHeader":{ + "type":"structure", + "required":[ + "HeaderName", + "HeaderValue" + ], + "members":{ + "HeaderName":{ + "shape":"string", + "documentation":"

The name of a header that you want CloudFront to forward to your origin. For more information, see Forwarding Custom Headers to Your Origin (Web Distributions Only) in the Amazon CloudFront Developer Guide.

" + }, + "HeaderValue":{ + "shape":"string", + "documentation":"

The value for the header that you specified in the HeaderName field.

" + } + }, + "documentation":"

A complex type that contains HeaderName and HeaderValue elements, if any, for this distribution.

" + }, + "OriginCustomHeadersList":{ + "type":"list", + "member":{ + "shape":"OriginCustomHeader", + "locationName":"OriginCustomHeader" + } + }, + "OriginGroup":{ + "type":"structure", + "required":[ + "Id", + "FailoverCriteria", + "Members" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The origin group's ID.

" + }, + "FailoverCriteria":{ + "shape":"OriginGroupFailoverCriteria", + "documentation":"

A complex type that contains information about the failover criteria for an origin group.

" + }, + "Members":{ + "shape":"OriginGroupMembers", + "documentation":"

A complex type that contains information about the origins in an origin group.

" + } + }, + "documentation":"

An origin group includes two origins (a primary origin and a second origin to failover to) and a failover criteria that you specify. You create an origin group to support origin failover in CloudFront. When you create or update a distribution, you can specifiy the origin group instead of a single origin, and CloudFront will failover from the primary origin to the second origin under the failover conditions that you've chosen.

" + }, + "OriginGroupFailoverCriteria":{ + "type":"structure", + "required":["StatusCodes"], + "members":{ + "StatusCodes":{ + "shape":"StatusCodes", + "documentation":"

The status codes that, when returned from the primary origin, will trigger CloudFront to failover to the second origin.

" + } + }, + "documentation":"

A complex data type that includes information about the failover criteria for an origin group, including the status codes for which CloudFront will failover from the primary origin to the second origin.

" + }, + "OriginGroupList":{ + "type":"list", + "member":{ + "shape":"OriginGroup", + "locationName":"OriginGroup" + }, + "documentation":"

List of origin groups for a distribution.

" + }, + "OriginGroupMember":{ + "type":"structure", + "required":["OriginId"], + "members":{ + "OriginId":{ + "shape":"string", + "documentation":"

The ID for an origin in an origin group.

" + } + }, + "documentation":"

An origin in an origin group.

" + }, + "OriginGroupMemberList":{ + "type":"list", + "member":{ + "shape":"OriginGroupMember", + "locationName":"OriginGroupMember" + }, + "documentation":"

List of origins in an origin group.

", + "max":2, + "min":2 + }, + "OriginGroupMembers":{ + "type":"structure", + "required":[ + "Quantity", + "Items" + ], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of origins in an origin group.

" + }, + "Items":{ + "shape":"OriginGroupMemberList", + "documentation":"

Items (origins) in an origin group.

" + } + }, + "documentation":"

A complex data type for the origins included in an origin group.

" + }, + "OriginGroups":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of origin groups.

" + }, + "Items":{ + "shape":"OriginGroupList", + "documentation":"

The items (origin groups) in a distribution.

" + } + }, + "documentation":"

A complex data type for the origin groups specified for a distribution.

" + }, + "OriginList":{ + "type":"list", + "member":{ + "shape":"Origin", + "locationName":"Origin" + }, + "min":1 + }, + "OriginProtocolPolicy":{ + "type":"string", + "enum":[ + "http-only", + "match-viewer", + "https-only" + ] + }, + "OriginSslProtocols":{ + "type":"structure", + "required":[ + "Quantity", + "Items" + ], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of SSL/TLS protocols that you want to allow CloudFront to use when establishing an HTTPS connection with this origin.

" + }, + "Items":{ + "shape":"SslProtocolsList", + "documentation":"

A list that contains allowed SSL/TLS protocols for this distribution.

" + } + }, + "documentation":"

A complex type that contains information about the SSL/TLS protocols that CloudFront can use when establishing an HTTPS connection with your origin.

" + }, + "Origins":{ + "type":"structure", + "required":[ + "Quantity", + "Items" + ], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of origins or origin groups for this distribution.

" + }, + "Items":{ + "shape":"OriginList", + "documentation":"

A complex type that contains origins or origin groups for this distribution.

" + } + }, + "documentation":"

A complex type that contains information about origins and origin groups for this distribution.

" + }, + "PathList":{ + "type":"list", + "member":{ + "shape":"string", + "locationName":"Path" + } + }, + "Paths":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of invalidation paths specified for the objects that you want to invalidate.

" + }, + "Items":{ + "shape":"PathList", + "documentation":"

A complex type that contains a list of the paths that you want to invalidate.

" + } + }, + "documentation":"

A complex type that contains information about the objects that you want to invalidate. For more information, see Specifying the Objects to Invalidate in the Amazon CloudFront Developer Guide.

" + }, + "PreconditionFailed":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The precondition given in one or more of the request-header fields evaluated to false.

", + "error":{"httpStatusCode":412}, + "exception":true + }, + "PriceClass":{ + "type":"string", + "enum":[ + "PriceClass_100", + "PriceClass_200", + "PriceClass_All" + ] + }, + "PublicKey":{ + "type":"structure", + "required":[ + "Id", + "CreatedTime", + "PublicKeyConfig" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

A unique ID assigned to a public key you've added to CloudFront.

" + }, + "CreatedTime":{ + "shape":"timestamp", + "documentation":"

A time you added a public key to CloudFront.

" + }, + "PublicKeyConfig":{ + "shape":"PublicKeyConfig", + "documentation":"

A complex data type for a public key you add to CloudFront to use with features like field-level encryption.

" + } + }, + "documentation":"

A complex data type of public keys you add to CloudFront to use with features like field-level encryption.

" + }, + "PublicKeyAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified public key already exists.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "PublicKeyConfig":{ + "type":"structure", + "required":[ + "CallerReference", + "Name", + "EncodedKey" + ], + "members":{ + "CallerReference":{ + "shape":"string", + "documentation":"

A unique number that ensures that the request can't be replayed.

" + }, + "Name":{ + "shape":"string", + "documentation":"

The name for a public key you add to CloudFront to use with features like field-level encryption.

" + }, + "EncodedKey":{ + "shape":"string", + "documentation":"

The encoded public key that you want to add to CloudFront to use with features like field-level encryption.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

An optional comment about a public key.

" + } + }, + "documentation":"

Information about a public key you add to CloudFront to use with features like field-level encryption.

" + }, + "PublicKeyInUse":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified public key is in use.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "PublicKeyList":{ + "type":"structure", + "required":[ + "MaxItems", + "Quantity" + ], + "members":{ + "NextMarker":{ + "shape":"string", + "documentation":"

If there are more elements to be listed, this element is present and contains the value that you can use for the Marker request parameter to continue listing your public keys where you left off.

" + }, + "MaxItems":{ + "shape":"integer", + "documentation":"

The maximum number of public keys you want in the response body.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of public keys you added to CloudFront to use with features like field-level encryption.

" + }, + "Items":{ + "shape":"PublicKeySummaryList", + "documentation":"

An array of information about a public key you add to CloudFront to use with features like field-level encryption.

" + } + }, + "documentation":"

A list of public keys you've added to CloudFront to use with features like field-level encryption.

" + }, + "PublicKeySummary":{ + "type":"structure", + "required":[ + "Id", + "Name", + "CreatedTime", + "EncodedKey" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

ID for public key information summary.

" + }, + "Name":{ + "shape":"string", + "documentation":"

Name for public key information summary.

" + }, + "CreatedTime":{ + "shape":"timestamp", + "documentation":"

Creation time for public key information summary.

" + }, + "EncodedKey":{ + "shape":"string", + "documentation":"

Encoded key for public key information summary.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

Comment for public key information summary.

" + } + }, + "documentation":"

A complex data type for public key information.

" + }, + "PublicKeySummaryList":{ + "type":"list", + "member":{ + "shape":"PublicKeySummary", + "locationName":"PublicKeySummary" + } + }, + "QueryArgProfile":{ + "type":"structure", + "required":[ + "QueryArg", + "ProfileId" + ], + "members":{ + "QueryArg":{ + "shape":"string", + "documentation":"

Query argument for field-level encryption query argument-profile mapping.

" + }, + "ProfileId":{ + "shape":"string", + "documentation":"

ID of profile to use for field-level encryption query argument-profile mapping

" + } + }, + "documentation":"

Query argument-profile mapping for field-level encryption.

" + }, + "QueryArgProfileConfig":{ + "type":"structure", + "required":["ForwardWhenQueryArgProfileIsUnknown"], + "members":{ + "ForwardWhenQueryArgProfileIsUnknown":{ + "shape":"boolean", + "documentation":"

Flag to set if you want a request to be forwarded to the origin even if the profile specified by the field-level encryption query argument, fle-profile, is unknown.

" + }, + "QueryArgProfiles":{ + "shape":"QueryArgProfiles", + "documentation":"

Profiles specified for query argument-profile mapping for field-level encryption.

" + } + }, + "documentation":"

Configuration for query argument-profile mapping for field-level encryption.

" + }, + "QueryArgProfileEmpty":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

No profile specified for the field-level encryption query argument.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "QueryArgProfileList":{ + "type":"list", + "member":{ + "shape":"QueryArgProfile", + "locationName":"QueryArgProfile" + } + }, + "QueryArgProfiles":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

Number of profiles for query argument-profile mapping for field-level encryption.

" + }, + "Items":{ + "shape":"QueryArgProfileList", + "documentation":"

Number of items for query argument-profile mapping for field-level encryption.

" + } + }, + "documentation":"

Query argument-profile mapping for field-level encryption.

" + }, + "QueryStringCacheKeys":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of whitelisted query string parameters for a cache behavior.

" + }, + "Items":{ + "shape":"QueryStringCacheKeysList", + "documentation":"

A list that contains the query string parameters that you want CloudFront to use as a basis for caching for a cache behavior. If Quantity is 0, you can omit Items.

" + } + }, + "documentation":"

A complex type that contains information about the query string parameters that you want CloudFront to use for caching for a cache behavior.

" + }, + "QueryStringCacheKeysList":{ + "type":"list", + "member":{ + "shape":"string", + "locationName":"Name" + } + }, + "ResourceARN":{ + "type":"string", + "pattern":"arn:aws(-cn)?:cloudfront::[0-9]+:.*" + }, + "Restrictions":{ + "type":"structure", + "required":["GeoRestriction"], + "members":{ + "GeoRestriction":{ + "shape":"GeoRestriction", + "documentation":"

A complex type that controls the countries in which your content is distributed. CloudFront determines the location of your users using MaxMind GeoIP databases.

" + } + }, + "documentation":"

A complex type that identifies ways in which you want to restrict distribution of your content.

" + }, + "S3Origin":{ + "type":"structure", + "required":[ + "DomainName", + "OriginAccessIdentity" + ], + "members":{ + "DomainName":{ + "shape":"string", + "documentation":"

The DNS name of the Amazon S3 origin.

" + }, + "OriginAccessIdentity":{ + "shape":"string", + "documentation":"

The CloudFront origin access identity to associate with the distribution. Use an origin access identity to configure the distribution so that end users can only access objects in an Amazon S3 bucket through CloudFront.

If you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element.

To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element.

To replace the origin access identity, update the distribution configuration and specify the new origin access identity.

For more information, see Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content in the Amazon CloudFront Developer Guide.

" + } + }, + "documentation":"

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.

" + }, + "S3OriginConfig":{ + "type":"structure", + "required":["OriginAccessIdentity"], + "members":{ + "OriginAccessIdentity":{ + "shape":"string", + "documentation":"

The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that viewers can only access objects in an Amazon S3 bucket through CloudFront. The format of the value is:

origin-access-identity/cloudfront/ID-of-origin-access-identity

where ID-of-origin-access-identity is the value that CloudFront returned in the ID element when you created the origin access identity.

If you want viewers to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element.

To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element.

To replace the origin access identity, update the distribution configuration and specify the new origin access identity.

For more information about the origin access identity, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" + } + }, + "documentation":"

A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.

" + }, + "SSLSupportMethod":{ + "type":"string", + "enum":[ + "sni-only", + "vip" + ] + }, + "Signer":{ + "type":"structure", + "members":{ + "AwsAccountNumber":{ + "shape":"string", + "documentation":"

An AWS account that is included in the TrustedSigners complex type for this distribution. Valid values include:

  • self, which is the AWS account used to create the distribution.

  • An AWS account number.

" + }, + "KeyPairIds":{ + "shape":"KeyPairIds", + "documentation":"

A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.

" + } + }, + "documentation":"

A complex type that lists the AWS accounts that were included in the TrustedSigners complex type, as well as their active CloudFront key pair IDs, if any.

" + }, + "SignerList":{ + "type":"list", + "member":{ + "shape":"Signer", + "locationName":"Signer" + } + }, + "SslProtocol":{ + "type":"string", + "enum":[ + "SSLv3", + "TLSv1", + "TLSv1.1", + "TLSv1.2" + ] + }, + "SslProtocolsList":{ + "type":"list", + "member":{ + "shape":"SslProtocol", + "locationName":"SslProtocol" + } + }, + "StatusCodeList":{ + "type":"list", + "member":{ + "shape":"integer", + "locationName":"StatusCode" + }, + "documentation":"

List of status codes for origin failover.

", + "min":1 + }, + "StatusCodes":{ + "type":"structure", + "required":[ + "Quantity", + "Items" + ], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of status codes.

" + }, + "Items":{ + "shape":"StatusCodeList", + "documentation":"

The items (status codes) for an origin group.

" + } + }, + "documentation":"

A complex data type for the status codes that you specify that, when returned by a primary origin, trigger CloudFront to failover to a second origin.

" + }, + "StreamingDistribution":{ + "type":"structure", + "required":[ + "Id", + "ARN", + "Status", + "DomainName", + "ActiveTrustedSigners", + "StreamingDistributionConfig" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The identifier for the RTMP distribution. For example: EGTXBD79EXAMPLE.

" + }, + "ARN":{ + "shape":"string", + "documentation":"

The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.

" + }, + "Status":{ + "shape":"string", + "documentation":"

The current status of the RTMP distribution. When the status is Deployed, the distribution's information is propagated to all CloudFront edge locations.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The date and time that the distribution was last modified.

" + }, + "DomainName":{ + "shape":"string", + "documentation":"

The domain name that corresponds to the streaming distribution, for example, s5c39gqb8ow64r.cloudfront.net.

" + }, + "ActiveTrustedSigners":{ + "shape":"ActiveTrustedSigners", + "documentation":"

A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for this distribution. These are the accounts that you want to allow to create signed URLs for private content.

The Signer complex type lists the AWS account number of the trusted signer or self if the signer is the AWS account that created the distribution. The Signer element also includes the IDs of any active CloudFront key pairs that are associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create signed URLs.

For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" + }, + "StreamingDistributionConfig":{ + "shape":"StreamingDistributionConfig", + "documentation":"

The current configuration information for the RTMP distribution.

" + } + }, + "documentation":"

A streaming distribution tells CloudFront where you want RTMP content to be delivered from, and the details about how to track and manage content delivery.

" + }, + "StreamingDistributionAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The caller reference you attempted to create the streaming distribution with is associated with another distribution

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "StreamingDistributionConfig":{ + "type":"structure", + "required":[ + "CallerReference", + "S3Origin", + "Comment", + "TrustedSigners", + "Enabled" + ], + "members":{ + "CallerReference":{ + "shape":"string", + "documentation":"

A unique value (for example, a date-time stamp) that ensures that the request can't be replayed.

If the value of CallerReference is new (regardless of the content of the StreamingDistributionConfig object), CloudFront creates a new distribution.

If CallerReference is a value that you already sent in a previous request to create a distribution, CloudFront returns a DistributionAlreadyExists error.

" + }, + "S3Origin":{ + "shape":"S3Origin", + "documentation":"

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.

" + }, + "Aliases":{ + "shape":"Aliases", + "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

Any comments you want to include about the streaming distribution.

" + }, + "Logging":{ + "shape":"StreamingLoggingConfig", + "documentation":"

A complex type that controls whether access logs are written for the streaming distribution.

" + }, + "TrustedSigners":{ + "shape":"TrustedSigners", + "documentation":"

A complex type that specifies any AWS accounts that you want to permit to create signed URLs for private content. If you want the distribution to use signed URLs, include this element; if you want the distribution to use public URLs, remove this element. For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" + }, + "PriceClass":{ + "shape":"PriceClass", + "documentation":"

A complex type that contains information about price class for this streaming distribution.

" + }, + "Enabled":{ + "shape":"boolean", + "documentation":"

Whether the streaming distribution is enabled to accept user requests for content.

" + } + }, + "documentation":"

The RTMP distribution's configuration information.

" + }, + "StreamingDistributionConfigWithTags":{ + "type":"structure", + "required":[ + "StreamingDistributionConfig", + "Tags" + ], + "members":{ + "StreamingDistributionConfig":{ + "shape":"StreamingDistributionConfig", + "documentation":"

A streaming distribution Configuration.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A complex type that contains zero or more Tag elements.

" + } + }, + "documentation":"

A streaming distribution Configuration and a list of tags to be associated with the streaming distribution.

" + }, + "StreamingDistributionList":{ + "type":"structure", + "required":[ + "Marker", + "MaxItems", + "IsTruncated", + "Quantity" + ], + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

The value you provided for the Marker request parameter.

" + }, + "NextMarker":{ + "shape":"string", + "documentation":"

If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your RTMP distributions where they left off.

" + }, + "MaxItems":{ + "shape":"integer", + "documentation":"

The value you provided for the MaxItems request parameter.

" + }, + "IsTruncated":{ + "shape":"boolean", + "documentation":"

A flag that indicates whether more streaming distributions remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more distributions in the list.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of streaming distributions that were created by the current AWS account.

" + }, + "Items":{ + "shape":"StreamingDistributionSummaryList", + "documentation":"

A complex type that contains one StreamingDistributionSummary element for each distribution that was created by the current AWS account.

" + } + }, + "documentation":"

A streaming distribution list.

" + }, + "StreamingDistributionNotDisabled":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified CloudFront distribution is not disabled. You must disable the distribution before you can delete it.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "StreamingDistributionSummary":{ + "type":"structure", + "required":[ + "Id", + "ARN", + "Status", + "LastModifiedTime", + "DomainName", + "S3Origin", + "Aliases", + "TrustedSigners", + "Comment", + "PriceClass", + "Enabled" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The identifier for the distribution, for example, EDFDVBD632BHDS5.

" + }, + "ARN":{ + "shape":"string", + "documentation":"

The ARN (Amazon Resource Name) for the streaming distribution. For example: arn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.

" + }, + "Status":{ + "shape":"string", + "documentation":"

Indicates the current status of the distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The date and time the distribution was last modified.

" + }, + "DomainName":{ + "shape":"string", + "documentation":"

The domain name corresponding to the distribution, for example, d111111abcdef8.cloudfront.net.

" + }, + "S3Origin":{ + "shape":"S3Origin", + "documentation":"

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.

" + }, + "Aliases":{ + "shape":"Aliases", + "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.

" + }, + "TrustedSigners":{ + "shape":"TrustedSigners", + "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items.If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

The comment originally specified when this distribution was created.

" + }, + "PriceClass":{ + "shape":"PriceClass", + "documentation":"

A complex type that contains information about price class for this streaming distribution.

" + }, + "Enabled":{ + "shape":"boolean", + "documentation":"

Whether the distribution is enabled to accept end user requests for content.

" + } + }, + "documentation":"

A summary of the information for a CloudFront streaming distribution.

" + }, + "StreamingDistributionSummaryList":{ + "type":"list", + "member":{ + "shape":"StreamingDistributionSummary", + "locationName":"StreamingDistributionSummary" + } + }, + "StreamingLoggingConfig":{ + "type":"structure", + "required":[ + "Enabled", + "Bucket", + "Prefix" + ], + "members":{ + "Enabled":{ + "shape":"boolean", + "documentation":"

Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you don't want to enable logging when you create a streaming distribution or if you want to disable logging for an existing streaming distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.

" + }, + "Bucket":{ + "shape":"string", + "documentation":"

The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.

" + }, + "Prefix":{ + "shape":"string", + "documentation":"

An optional string that you want CloudFront to prefix to the access log filenames for this streaming distribution, for example, myprefix/. If you want to enable logging, but you don't want to specify a prefix, you still must include an empty Prefix element in the Logging element.

" + } + }, + "documentation":"

A complex type that controls whether access logs are written for this streaming distribution.

" + }, + "Tag":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

A string that contains Tag key.

The string length should be between 1 and 128 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

A string that contains an optional Tag value.

The string length should be between 0 and 256 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.

" + } + }, + "documentation":"

A complex type that contains Tag key and Tag value.

" + }, + "TagKey":{ + "type":"string", + "documentation":"

A string that contains Tag key.

The string length should be between 1 and 128 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.

", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeyList":{ + "type":"list", + "member":{ + "shape":"TagKey", + "locationName":"Key" + } + }, + "TagKeys":{ + "type":"structure", + "members":{ + "Items":{ + "shape":"TagKeyList", + "documentation":"

A complex type that contains Tag key elements.

" + } + }, + "documentation":"

A complex type that contains zero or more Tag elements.

" + }, + "TagList":{ + "type":"list", + "member":{ + "shape":"Tag", + "locationName":"Tag" + } + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "Resource", + "Tags" + ], + "members":{ + "Resource":{ + "shape":"ResourceARN", + "documentation":"

An ARN of a CloudFront resource.

", + "location":"querystring", + "locationName":"Resource" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A complex type that contains zero or more Tag elements.

", + "locationName":"Tags", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2019-03-26/"} + } + }, + "documentation":"

The request to add tags to a CloudFront resource.

", + "payload":"Tags" + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "Tags":{ + "type":"structure", + "members":{ + "Items":{ + "shape":"TagList", + "documentation":"

A complex type that contains Tag elements.

" + } + }, + "documentation":"

A complex type that contains zero or more Tag elements.

" + }, + "TooManyCacheBehaviors":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

You cannot create more cache behaviors for the distribution.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyCertificates":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

You cannot create anymore custom SSL/TLS certificates.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyCloudFrontOriginAccessIdentities":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Processing your request would cause you to exceed the maximum number of origin access identities allowed.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyCookieNamesInWhiteList":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains more cookie names in the whitelist than are allowed per cache behavior.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyDistributionCNAMEs":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains more CNAMEs than are allowed per distribution.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyDistributions":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Processing your request would cause you to exceed the maximum number of distributions allowed.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyDistributionsAssociatedToFieldLevelEncryptionConfig":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of distributions have been associated with the specified configuration for field-level encryption.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyDistributionsWithLambdaAssociations":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Processing your request would cause the maximum number of distributions with Lambda function associations per owner to be exceeded.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionConfigs":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of configurations for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionContentTypeProfiles":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of content type profiles for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionEncryptionEntities":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of encryption entities for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionFieldPatterns":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of field patterns for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionProfiles":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of profiles for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionQueryArgProfiles":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of query arg profiles for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyHeadersInForwardedValues":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains too many headers in forwarded values.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyInvalidationsInProgress":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyLambdaFunctionAssociations":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains more Lambda function associations than are allowed per distribution.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyOriginCustomHeaders":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains too many origin custom headers.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyOriginGroupsPerDistribution":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Processing your request would cause you to exceed the maximum number of origin groups allowed.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyOrigins":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

You cannot create more origins for the distribution.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyPublicKeys":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of public keys for field-level encryption have been created. To create a new public key, delete one of the existing keys.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyQueryStringParameters":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains too many query string parameters.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyStreamingDistributionCNAMEs":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains more CNAMEs than are allowed per distribution.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyStreamingDistributions":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Processing your request would cause you to exceed the maximum number of streaming distributions allowed.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyTrustedSigners":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains more trusted signers than are allowed per distribution.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TrustedSignerDoesNotExist":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

One or more of your trusted signers don't exist.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TrustedSigners":{ + "type":"structure", + "required":[ + "Enabled", + "Quantity" + ], + "members":{ + "Enabled":{ + "shape":"boolean", + "documentation":"

Specifies whether you want to require viewers to use signed URLs to access the files specified by PathPattern and TargetOriginId.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of trusted signers for this cache behavior.

" + }, + "Items":{ + "shape":"AwsAccountNumberList", + "documentation":"

Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.

" + } + }, + "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content.

If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items.

To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

For more information about updating the distribution configuration, see DistributionConfig in the Amazon CloudFront API Reference.

" + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "Resource", + "TagKeys" + ], + "members":{ + "Resource":{ + "shape":"ResourceARN", + "documentation":"

An ARN of a CloudFront resource.

", + "location":"querystring", + "locationName":"Resource" + }, + "TagKeys":{ + "shape":"TagKeys", + "documentation":"

A complex type that contains zero or more Tag key elements.

", + "locationName":"TagKeys", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2019-03-26/"} + } + }, + "documentation":"

The request to remove tags from a CloudFront resource.

", + "payload":"TagKeys" + }, + "UpdateCloudFrontOriginAccessIdentityRequest":{ + "type":"structure", + "required":[ + "CloudFrontOriginAccessIdentityConfig", + "Id" + ], + "members":{ + "CloudFrontOriginAccessIdentityConfig":{ + "shape":"CloudFrontOriginAccessIdentityConfig", + "documentation":"

The identity's configuration information.

", + "locationName":"CloudFrontOriginAccessIdentityConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2019-03-26/"} + }, + "Id":{ + "shape":"string", + "documentation":"

The identity's id.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "documentation":"

The request to update an origin access identity.

", + "payload":"CloudFrontOriginAccessIdentityConfig" + }, + "UpdateCloudFrontOriginAccessIdentityResult":{ + "type":"structure", + "members":{ + "CloudFrontOriginAccessIdentity":{ + "shape":"CloudFrontOriginAccessIdentity", + "documentation":"

The origin access identity's information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"CloudFrontOriginAccessIdentity" + }, + "UpdateDistributionRequest":{ + "type":"structure", + "required":[ + "DistributionConfig", + "Id" + ], + "members":{ + "DistributionConfig":{ + "shape":"DistributionConfig", + "documentation":"

The distribution's configuration information.

", + "locationName":"DistributionConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2019-03-26/"} + }, + "Id":{ + "shape":"string", + "documentation":"

The distribution's id.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "documentation":"

The request to update a distribution.

", + "payload":"DistributionConfig" + }, + "UpdateDistributionResult":{ + "type":"structure", + "members":{ + "Distribution":{ + "shape":"Distribution", + "documentation":"

The distribution's information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"Distribution" + }, + "UpdateFieldLevelEncryptionConfigRequest":{ + "type":"structure", + "required":[ + "FieldLevelEncryptionConfig", + "Id" + ], + "members":{ + "FieldLevelEncryptionConfig":{ + "shape":"FieldLevelEncryptionConfig", + "documentation":"

Request to update a field-level encryption configuration.

", + "locationName":"FieldLevelEncryptionConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2019-03-26/"} + }, + "Id":{ + "shape":"string", + "documentation":"

The ID of the configuration you want to update.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the configuration identity to update. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "payload":"FieldLevelEncryptionConfig" + }, + "UpdateFieldLevelEncryptionConfigResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryption":{ + "shape":"FieldLevelEncryption", + "documentation":"

Return the results of updating the configuration.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when updating the configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryption" + }, + "UpdateFieldLevelEncryptionProfileRequest":{ + "type":"structure", + "required":[ + "FieldLevelEncryptionProfileConfig", + "Id" + ], + "members":{ + "FieldLevelEncryptionProfileConfig":{ + "shape":"FieldLevelEncryptionProfileConfig", + "documentation":"

Request to update a field-level encryption profile.

", + "locationName":"FieldLevelEncryptionProfileConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2019-03-26/"} + }, + "Id":{ + "shape":"string", + "documentation":"

The ID of the field-level encryption profile request.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the profile identity to update. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "payload":"FieldLevelEncryptionProfileConfig" + }, + "UpdateFieldLevelEncryptionProfileResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfile":{ + "shape":"FieldLevelEncryptionProfile", + "documentation":"

Return the results of updating the profile.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The result of the field-level encryption profile request.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionProfile" + }, + "UpdatePublicKeyRequest":{ + "type":"structure", + "required":[ + "PublicKeyConfig", + "Id" + ], + "members":{ + "PublicKeyConfig":{ + "shape":"PublicKeyConfig", + "documentation":"

Request to update public key information.

", + "locationName":"PublicKeyConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2019-03-26/"} + }, + "Id":{ + "shape":"string", + "documentation":"

ID of the public key to be updated.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the public key to update. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "payload":"PublicKeyConfig" + }, + "UpdatePublicKeyResult":{ + "type":"structure", + "members":{ + "PublicKey":{ + "shape":"PublicKey", + "documentation":"

Return the results of updating the public key.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the update public key result. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"PublicKey" + }, + "UpdateStreamingDistributionRequest":{ + "type":"structure", + "required":[ + "StreamingDistributionConfig", + "Id" + ], + "members":{ + "StreamingDistributionConfig":{ + "shape":"StreamingDistributionConfig", + "documentation":"

The streaming distribution's configuration information.

", + "locationName":"StreamingDistributionConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2019-03-26/"} + }, + "Id":{ + "shape":"string", + "documentation":"

The streaming distribution's id.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "documentation":"

The request to update a streaming distribution.

", + "payload":"StreamingDistributionConfig" + }, + "UpdateStreamingDistributionResult":{ + "type":"structure", + "members":{ + "StreamingDistribution":{ + "shape":"StreamingDistribution", + "documentation":"

The streaming distribution's information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"StreamingDistribution" + }, + "ViewerCertificate":{ + "type":"structure", + "members":{ + "CloudFrontDefaultCertificate":{ + "shape":"boolean", + "documentation":"

If you're using the CloudFront domain name for your distribution, such as d111111abcdef8.cloudfront.net, specify the following value:

  • <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>

" + }, + "IAMCertificateId":{ + "shape":"string", + "documentation":"

If you want viewers to use HTTPS to request your objects and you're using an alternate domain name, you must choose the type of certificate that you want to use. Specify the following value if you purchased your certificate from a third-party certificate authority:

  • <IAMCertificateId>IAM certificate ID<IAMCertificateId> where IAM certificate ID is the ID that IAM returned when you added the certificate to the IAM certificate store.

If you specify IAMCertificateId, you must also specify a value for SSLSupportMethod.

" + }, + "ACMCertificateArn":{ + "shape":"string", + "documentation":"

If you want viewers to use HTTPS to request your objects and you're using an alternate domain name, you must choose the type of certificate that you want to use. Specify the following value if ACM provided your certificate:

  • <ACMCertificateArn>ARN for ACM SSL/TLS certificate<ACMCertificateArn> where ARN for ACM SSL/TLS certificate is the ARN for the ACM SSL/TLS certificate that you want to use for this distribution.

If you specify ACMCertificateArn, you must also specify a value for SSLSupportMethod.

" + }, + "SSLSupportMethod":{ + "shape":"SSLSupportMethod", + "documentation":"

If you specify a value for ACMCertificateArn or for IAMCertificateId, you must also specify how you want CloudFront to serve HTTPS requests: using a method that works for browsers and clients released after 2010 or one that works for all clients.

  • sni-only: CloudFront can respond to HTTPS requests from viewers that support Server Name Indication (SNI). All modern browsers support SNI, but there are a few that don't. For a current list of the browsers that support SNI, see the Wikipedia entry Server Name Indication. To learn about options to explore if you have users with browsers that don't include SNI support, see Choosing How CloudFront Serves HTTPS Requests in the Amazon CloudFront Developer Guide.

  • vip: CloudFront uses dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. However, there are additional monthly charges. For details, including specific pricing information, see Custom SSL options for Amazon CloudFront on the AWS marketing site.

Don't specify a value for SSLSupportMethod if you specified <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>.

For more information, see Choosing How CloudFront Serves HTTPS Requests in the Amazon CloudFront Developer Guide.

" + }, + "MinimumProtocolVersion":{ + "shape":"MinimumProtocolVersion", + "documentation":"

Specify the security policy that you want CloudFront to use for HTTPS connections. A security policy determines two settings:

  • The minimum SSL/TLS protocol that CloudFront uses to communicate with viewers

  • The cipher that CloudFront uses to encrypt the content that it returns to viewers

On the CloudFront console, this setting is called Security policy.

We recommend that you specify TLSv1.1_2016 unless your users are using browsers or devices that do not support TLSv1.1 or later.

When both of the following are true, you must specify TLSv1 or later for the security policy:

  • You're using a custom certificate: you specified a value for ACMCertificateArn or for IAMCertificateId

  • You're using SNI: you specified sni-only for SSLSupportMethod

If you specify true for CloudFrontDefaultCertificate, CloudFront automatically sets the security policy to TLSv1 regardless of the value that you specify for MinimumProtocolVersion.

For information about the relationship between the security policy that you choose and the protocols and ciphers that CloudFront uses to communicate with viewers, see Supported SSL/TLS Protocols and Ciphers for Communication Between Viewers and CloudFront in the Amazon CloudFront Developer Guide.

" + }, + "Certificate":{ + "shape":"string", + "documentation":"

This field is no longer used. Use one of the following fields instead:

", + "deprecated":true + }, + "CertificateSource":{ + "shape":"CertificateSource", + "documentation":"

This field is no longer used. Use one of the following fields instead:

", + "deprecated":true + } + }, + "documentation":"

A complex type that specifies the following:

  • Whether you want viewers to use HTTP or HTTPS to request your objects.

  • If you want viewers to use HTTPS, whether you're using an alternate domain name such as example.com or the CloudFront domain name for your distribution, such as d111111abcdef8.cloudfront.net.

  • If you're using an alternate domain name, whether AWS Certificate Manager (ACM) provided the certificate, or you purchased a certificate from a third-party certificate authority and imported it into ACM or uploaded it to the IAM certificate store.

Specify only one of the following values:

For more information, see Using Alternate Domain Names and HTTPS in the Amazon CloudFront Developer Guide.

" + }, + "ViewerProtocolPolicy":{ + "type":"string", + "enum":[ + "allow-all", + "https-only", + "redirect-to-https" + ] + }, + "boolean":{"type":"boolean"}, + "integer":{"type":"integer"}, + "long":{"type":"long"}, + "string":{"type":"string"}, + "timestamp":{"type":"timestamp"} + }, + "documentation":"Amazon CloudFront

This is the Amazon CloudFront API Reference. This guide is for developers who need detailed information about CloudFront API actions, data types, and errors. For detailed information about CloudFront features, see the Amazon CloudFront Developer Guide.

" +} diff --git a/bin/botocore/data/cloudfront/2019-03-26/waiters-2.json b/bin/botocore/data/cloudfront/2019-03-26/waiters-2.json new file mode 100644 index 00000000..95f0a2dd --- /dev/null +++ b/bin/botocore/data/cloudfront/2019-03-26/waiters-2.json @@ -0,0 +1,47 @@ +{ + "version": 2, + "waiters": { + "DistributionDeployed": { + "delay": 60, + "operation": "GetDistribution", + "maxAttempts": 35, + "description": "Wait until a distribution is deployed.", + "acceptors": [ + { + "expected": "Deployed", + "matcher": "path", + "state": "success", + "argument": "Distribution.Status" + } + ] + }, + "InvalidationCompleted": { + "delay": 20, + "operation": "GetInvalidation", + "maxAttempts": 30, + "description": "Wait until an invalidation has completed.", + "acceptors": [ + { + "expected": "Completed", + "matcher": "path", + "state": "success", + "argument": "Invalidation.Status" + } + ] + }, + "StreamingDistributionDeployed": { + "delay": 60, + "operation": "GetStreamingDistribution", + "maxAttempts": 25, + "description": "Wait until a streaming distribution is deployed.", + "acceptors": [ + { + "expected": "Deployed", + "matcher": "path", + "state": "success", + "argument": "StreamingDistribution.Status" + } + ] + } + } +} diff --git a/bin/botocore/data/cloudhsm/2014-05-30/paginators-1.json b/bin/botocore/data/cloudhsm/2014-05-30/paginators-1.json index ea142457..3dedddf1 100644 --- a/bin/botocore/data/cloudhsm/2014-05-30/paginators-1.json +++ b/bin/botocore/data/cloudhsm/2014-05-30/paginators-1.json @@ -1,3 +1,19 @@ { - "pagination": {} + "pagination": { + "ListHapgs": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "HapgList" + }, + "ListHsms": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "HsmList" + }, + "ListLunaClients": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "ClientList" + } + } } diff --git a/bin/botocore/data/cloudtrail/2013-11-01/paginators-1.json b/bin/botocore/data/cloudtrail/2013-11-01/paginators-1.json index b550340c..896776b5 100644 --- a/bin/botocore/data/cloudtrail/2013-11-01/paginators-1.json +++ b/bin/botocore/data/cloudtrail/2013-11-01/paginators-1.json @@ -5,6 +5,16 @@ "output_token": "NextToken", "limit_key": "MaxResults", "result_key": "Events" + }, + "ListPublicKeys": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "PublicKeyList" + }, + "ListTags": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "ResourceTagList" } } } diff --git a/bin/botocore/data/cloudwatch/2010-08-01/paginators-1.json b/bin/botocore/data/cloudwatch/2010-08-01/paginators-1.json index b0bf527f..a1b14c13 100644 --- a/bin/botocore/data/cloudwatch/2010-08-01/paginators-1.json +++ b/bin/botocore/data/cloudwatch/2010-08-01/paginators-1.json @@ -21,6 +21,15 @@ "input_token": "NextToken", "output_token": "NextToken", "result_key": "Metrics" + }, + "GetMetricData": { + "input_token": "NextToken", + "limit_key": "MaxDatapoints", + "output_token": "NextToken", + "result_key": [ + "MetricDataResults", + "Messages" + ] } } } diff --git a/bin/botocore/data/cloudwatch/2010-08-01/service-2.json b/bin/botocore/data/cloudwatch/2010-08-01/service-2.json index 08811096..ef36904a 100644 --- a/bin/botocore/data/cloudwatch/2010-08-01/service-2.json +++ b/bin/botocore/data/cloudwatch/2010-08-01/service-2.json @@ -137,7 +137,7 @@ "errors":[ {"shape":"InvalidNextToken"} ], - "documentation":"

You can use the GetMetricData API to retrieve as many as 100 different metrics in a single request, with a total of as many as 100,800 datapoints. You can also optionally perform math expressions on the values of the returned statistics, to create new time series that represent new insights into your data. For example, using Lambda metrics, you could divide the Errors metric by the Invocations metric to get an error rate time series. For more information about metric math expressions, see Metric Math Syntax and Functions in the Amazon CloudWatch User Guide.

Calls to the GetMetricData API have a different pricing structure than calls to GetMetricStatistics. For more information about pricing, see Amazon CloudWatch Pricing.

Amazon CloudWatch retains metric data as follows:

  • Data points with a period of less than 60 seconds are available for 3 hours. These data points are high-resolution metrics and are available only for custom metrics that have been defined with a StorageResolution of 1.

  • Data points with a period of 60 seconds (1-minute) are available for 15 days.

  • Data points with a period of 300 seconds (5-minute) are available for 63 days.

  • Data points with a period of 3600 seconds (1 hour) are available for 455 days (15 months).

Data points that are initially published with a shorter period are aggregated together for long-term storage. For example, if you collect data using a period of 1 minute, the data remains available for 15 days with 1-minute resolution. After 15 days, this data is still available, but is aggregated and retrievable only with a resolution of 5 minutes. After 63 days, the data is further aggregated and is available with a resolution of 1 hour.

" + "documentation":"

You can use the GetMetricData API to retrieve as many as 100 different metrics in a single request, with a total of as many as 100,800 datapoints. You can also optionally perform math expressions on the values of the returned statistics, to create new time series that represent new insights into your data. For example, using Lambda metrics, you could divide the Errors metric by the Invocations metric to get an error rate time series. For more information about metric math expressions, see Metric Math Syntax and Functions in the Amazon CloudWatch User Guide.

Calls to the GetMetricData API have a different pricing structure than calls to GetMetricStatistics. For more information about pricing, see Amazon CloudWatch Pricing.

Amazon CloudWatch retains metric data as follows:

  • Data points with a period of less than 60 seconds are available for 3 hours. These data points are high-resolution metrics and are available only for custom metrics that have been defined with a StorageResolution of 1.

  • Data points with a period of 60 seconds (1-minute) are available for 15 days.

  • Data points with a period of 300 seconds (5-minute) are available for 63 days.

  • Data points with a period of 3600 seconds (1 hour) are available for 455 days (15 months).

Data points that are initially published with a shorter period are aggregated together for long-term storage. For example, if you collect data using a period of 1 minute, the data remains available for 15 days with 1-minute resolution. After 15 days, this data is still available, but is aggregated and retrievable only with a resolution of 5 minutes. After 63 days, the data is further aggregated and is available with a resolution of 1 hour.

" }, "GetMetricStatistics":{ "name":"GetMetricStatistics", @@ -156,7 +156,7 @@ {"shape":"InvalidParameterCombinationException"}, {"shape":"InternalServiceFault"} ], - "documentation":"

Gets statistics for the specified metric.

The maximum number of data points returned from a single call is 1,440. If you request more than 1,440 data points, CloudWatch returns an error. To reduce the number of data points, you can narrow the specified time range and make multiple requests across adjacent time ranges, or you can increase the specified period. Data points are not returned in chronological order.

CloudWatch aggregates data points based on the length of the period that you specify. For example, if you request statistics with a one-hour period, CloudWatch aggregates all data points with time stamps that fall within each one-hour period. Therefore, the number of values aggregated by CloudWatch is larger than the number of data points returned.

CloudWatch needs raw data points to calculate percentile statistics. If you publish data using a statistic set instead, you can only retrieve percentile statistics for this data if one of the following conditions is true:

  • The SampleCount value of the statistic set is 1.

  • The Min and the Max values of the statistic set are equal.

Percentile statistics are not available for metrics when any of the metric values are negative numbers.

Amazon CloudWatch retains metric data as follows:

  • Data points with a period of less than 60 seconds are available for 3 hours. These data points are high-resolution metrics and are available only for custom metrics that have been defined with a StorageResolution of 1.

  • Data points with a period of 60 seconds (1-minute) are available for 15 days.

  • Data points with a period of 300 seconds (5-minute) are available for 63 days.

  • Data points with a period of 3600 seconds (1 hour) are available for 455 days (15 months).

Data points that are initially published with a shorter period are aggregated together for long-term storage. For example, if you collect data using a period of 1 minute, the data remains available for 15 days with 1-minute resolution. After 15 days, this data is still available, but is aggregated and retrievable only with a resolution of 5 minutes. After 63 days, the data is further aggregated and is available with a resolution of 1 hour.

CloudWatch started retaining 5-minute and 1-hour metric data as of July 9, 2016.

For information about metrics and dimensions supported by AWS services, see the Amazon CloudWatch Metrics and Dimensions Reference in the Amazon CloudWatch User Guide.

" + "documentation":"

Gets statistics for the specified metric.

The maximum number of data points returned from a single call is 1,440. If you request more than 1,440 data points, CloudWatch returns an error. To reduce the number of data points, you can narrow the specified time range and make multiple requests across adjacent time ranges, or you can increase the specified period. Data points are not returned in chronological order.

CloudWatch aggregates data points based on the length of the period that you specify. For example, if you request statistics with a one-hour period, CloudWatch aggregates all data points with time stamps that fall within each one-hour period. Therefore, the number of values aggregated by CloudWatch is larger than the number of data points returned.

CloudWatch needs raw data points to calculate percentile statistics. If you publish data using a statistic set instead, you can only retrieve percentile statistics for this data if one of the following conditions is true:

  • The SampleCount value of the statistic set is 1.

  • The Min and the Max values of the statistic set are equal.

Percentile statistics are not available for metrics when any of the metric values are negative numbers.

Amazon CloudWatch retains metric data as follows:

  • Data points with a period of less than 60 seconds are available for 3 hours. These data points are high-resolution metrics and are available only for custom metrics that have been defined with a StorageResolution of 1.

  • Data points with a period of 60 seconds (1-minute) are available for 15 days.

  • Data points with a period of 300 seconds (5-minute) are available for 63 days.

  • Data points with a period of 3600 seconds (1 hour) are available for 455 days (15 months).

Data points that are initially published with a shorter period are aggregated together for long-term storage. For example, if you collect data using a period of 1 minute, the data remains available for 15 days with 1-minute resolution. After 15 days, this data is still available, but is aggregated and retrievable only with a resolution of 5 minutes. After 63 days, the data is further aggregated and is available with a resolution of 1 hour.

CloudWatch started retaining 5-minute and 1-hour metric data as of July 9, 2016.

For information about metrics and dimensions supported by AWS services, see the Amazon CloudWatch Metrics and Dimensions Reference in the Amazon CloudWatch User Guide.

" }, "GetMetricWidgetImage":{ "name":"GetMetricWidgetImage", @@ -205,6 +205,24 @@ ], "documentation":"

List the specified metrics. You can use the returned metrics with GetMetricData or GetMetricStatistics to obtain statistical data.

Up to 500 results are returned for any one call. To retrieve additional results, use the returned token with subsequent calls.

After you create a metric, allow up to fifteen minutes before the metric appears. Statistics about the metric, however, are available sooner using GetMetricData or GetMetricStatistics.

" }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceInput"}, + "output":{ + "shape":"ListTagsForResourceOutput", + "resultWrapper":"ListTagsForResourceResult" + }, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceFault"} + ], + "documentation":"

Displays the tags associated with a CloudWatch resource. Alarms support tagging.

" + }, "PutDashboard":{ "name":"PutDashboard", "http":{ @@ -232,7 +250,7 @@ "errors":[ {"shape":"LimitExceededFault"} ], - "documentation":"

Creates or updates an alarm and associates it with the specified metric or metric math expression.

When this operation creates an alarm, the alarm state is immediately set to INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately. Any actions associated with the new state are then executed.

When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm.

If you are an IAM user, you must have Amazon EC2 permissions for some alarm operations:

  • iam:CreateServiceLinkedRole for all alarms with EC2 actions

  • ec2:DescribeInstanceStatus and ec2:DescribeInstances for all alarms on EC2 instance status metrics

  • ec2:StopInstances for alarms with stop actions

  • ec2:TerminateInstances for alarms with terminate actions

  • ec2:DescribeInstanceRecoveryAttribute and ec2:RecoverInstances for alarms with recover actions

If you have read/write permissions for Amazon CloudWatch but not for Amazon EC2, you can still create an alarm, but the stop or terminate actions are not performed. However, if you are later granted the required permissions, the alarm actions that you created earlier are performed.

If you are using an IAM role (for example, an EC2 instance profile), you cannot stop or terminate the instance using alarm actions. However, you can still see the alarm state and perform any other actions such as Amazon SNS notifications or Auto Scaling policies.

If you are using temporary security credentials granted using AWS STS, you cannot stop or terminate an EC2 instance using alarm actions.

The first time you create an alarm in the AWS Management Console, the CLI, or by using the PutMetricAlarm API, CloudWatch creates the necessary service-linked role for you. The service-linked role is called AWSServiceRoleForCloudWatchEvents. For more information, see AWS service-linked role.

" + "documentation":"

Creates or updates an alarm and associates it with the specified metric or metric math expression.

When this operation creates an alarm, the alarm state is immediately set to INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately. Any actions associated with the new state are then executed.

When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm.

If you are an IAM user, you must have Amazon EC2 permissions for some alarm operations:

  • iam:CreateServiceLinkedRole for all alarms with EC2 actions

  • ec2:DescribeInstanceStatus and ec2:DescribeInstances for all alarms on EC2 instance status metrics

  • ec2:StopInstances for alarms with stop actions

  • ec2:TerminateInstances for alarms with terminate actions

  • No specific permissions are needed for alarms with recover actions

If you have read/write permissions for Amazon CloudWatch but not for Amazon EC2, you can still create an alarm, but the stop or terminate actions are not performed. However, if you are later granted the required permissions, the alarm actions that you created earlier are performed.

If you are using an IAM role (for example, an EC2 instance profile), you cannot stop or terminate the instance using alarm actions. However, you can still see the alarm state and perform any other actions such as Amazon SNS notifications or Auto Scaling policies.

If you are using temporary security credentials granted using AWS STS, you cannot stop or terminate an EC2 instance using alarm actions.

The first time you create an alarm in the AWS Management Console, the CLI, or by using the PutMetricAlarm API, CloudWatch creates the necessary service-linked role for you. The service-linked role is called AWSServiceRoleForCloudWatchEvents. For more information, see AWS service-linked role.

" }, "PutMetricData":{ "name":"PutMetricData", @@ -247,7 +265,7 @@ {"shape":"InvalidParameterCombinationException"}, {"shape":"InternalServiceFault"} ], - "documentation":"

Publishes metric data points to Amazon CloudWatch. CloudWatch associates the data points with the specified metric. If the specified metric does not exist, CloudWatch creates the metric. When CloudWatch creates a metric, it can take up to fifteen minutes for the metric to appear in calls to ListMetrics.

You can publish either individual data points in the Value field, or arrays of values and the number of times each value occurred during the period by using the Values and Counts fields in the MetricDatum structure. Using the Values and Counts method enables you to publish up to 150 values per metric with one PutMetricData request, and supports retrieving percentile statistics on this data.

Each PutMetricData request is limited to 40 KB in size for HTTP POST requests. You can send a payload compressed by gzip. Each request is also limited to no more than 20 different metrics.

Although the Value parameter accepts numbers of type Double, CloudWatch rejects values that are either too small or too large. Values must be in the range of 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2). In addition, special values (for example, NaN, +Infinity, -Infinity) are not supported.

You can use up to 10 dimensions per metric to further clarify what data the metric collects. For more information about specifying dimensions, see Publishing Metrics in the Amazon CloudWatch User Guide.

Data points with time stamps from 24 hours ago or longer can take at least 48 hours to become available for GetMetricData or GetMetricStatistics from the time they are submitted.

CloudWatch needs raw data points to calculate percentile statistics. If you publish data using a statistic set instead, you can only retrieve percentile statistics for this data if one of the following conditions is true:

  • The SampleCount value of the statistic set is 1 and Min, Max, and Sum are all equal.

  • The Min and Max are equal, and Sum is equal to Min multiplied by SampleCount.

" + "documentation":"

Publishes metric data points to Amazon CloudWatch. CloudWatch associates the data points with the specified metric. If the specified metric does not exist, CloudWatch creates the metric. When CloudWatch creates a metric, it can take up to fifteen minutes for the metric to appear in calls to ListMetrics.

You can publish either individual data points in the Value field, or arrays of values and the number of times each value occurred during the period by using the Values and Counts fields in the MetricDatum structure. Using the Values and Counts method enables you to publish up to 150 values per metric with one PutMetricData request, and supports retrieving percentile statistics on this data.

Each PutMetricData request is limited to 40 KB in size for HTTP POST requests. You can send a payload compressed by gzip. Each request is also limited to no more than 20 different metrics.

Although the Value parameter accepts numbers of type Double, CloudWatch rejects values that are either too small or too large. Values must be in the range of 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2). In addition, special values (for example, NaN, +Infinity, -Infinity) are not supported.

You can use up to 10 dimensions per metric to further clarify what data the metric collects. Each dimension consists of a Name and Value pair. For more information about specifying dimensions, see Publishing Metrics in the Amazon CloudWatch User Guide.

Data points with time stamps from 24 hours ago or longer can take at least 48 hours to become available for GetMetricData or GetMetricStatistics from the time they are submitted.

CloudWatch needs raw data points to calculate percentile statistics. If you publish data using a statistic set instead, you can only retrieve percentile statistics for this data if one of the following conditions is true:

  • The SampleCount value of the statistic set is 1 and Min, Max, and Sum are all equal.

  • The Min and Max are equal, and Sum is equal to Min multiplied by SampleCount.

" }, "SetAlarmState":{ "name":"SetAlarmState", @@ -261,6 +279,44 @@ {"shape":"InvalidFormatFault"} ], "documentation":"

Temporarily sets the state of an alarm for testing purposes. When the updated state differs from the previous value, the action configured for the appropriate state is invoked. For example, if your alarm is configured to send an Amazon SNS message when an alarm is triggered, temporarily changing the alarm state to ALARM sends an SNS message. The alarm returns to its actual state (often within seconds). Because the alarm state change happens quickly, it is typically only visible in the alarm's History tab in the Amazon CloudWatch console or through DescribeAlarmHistory.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceInput"}, + "output":{ + "shape":"TagResourceOutput", + "resultWrapper":"TagResourceResult" + }, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InternalServiceFault"} + ], + "documentation":"

Assigns one or more tags (key-value pairs) to the specified CloudWatch resource. Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only resources with certain tag values. In CloudWatch, alarms can be tagged.

Tags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters.

You can use the TagResource action with a resource that already has tags. If you specify a new tag key for the resource, this tag is appended to the list of tags associated with the resource. If you specify a tag key that is already associated with the resource, the new tag value that you specify replaces the previous value for that tag.

You can associate as many as 50 tags with a resource.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceInput"}, + "output":{ + "shape":"UntagResourceOutput", + "resultWrapper":"UntagResourceResult" + }, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InternalServiceFault"} + ], + "documentation":"

Removes one or more tags from the specified resource.

" } }, "shapes":{ @@ -325,6 +381,11 @@ "member":{"shape":"AlarmName"}, "max":100 }, + "AmazonResourceName":{ + "type":"string", + "max":1024, + "min":1 + }, "AwsQueryErrorMessage":{"type":"string"}, "ComparisonOperator":{ "type":"string", @@ -335,6 +396,18 @@ "LessThanOrEqualToThreshold" ] }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + }, + "documentation":"

More than one process tried to modify a resource at the same time.

", + "error":{ + "code":"ConcurrentModificationException", + "httpStatusCode":429, + "senderFault":true + }, + "exception":true + }, "Counts":{ "type":"list", "member":{"shape":"DatapointValue"} @@ -784,11 +857,11 @@ }, "StartTime":{ "shape":"Timestamp", - "documentation":"

The time stamp indicating the earliest data to be returned.

For better performance, specify StartTime and EndTime values that align with the value of the metric's Period and sync up with the beginning and end of an hour. For example, if the Period of a metric is 5 minutes, specifying 12:05 or 12:30 as StartTime can get a faster response from CloudWatch then setting 12:07 or 12:29 as the StartTime.

" + "documentation":"

The time stamp indicating the earliest data to be returned.

For better performance, specify StartTime and EndTime values that align with the value of the metric's Period and sync up with the beginning and end of an hour. For example, if the Period of a metric is 5 minutes, specifying 12:05 or 12:30 as StartTime can get a faster response from CloudWatch than setting 12:07 or 12:29 as the StartTime.

" }, "EndTime":{ "shape":"Timestamp", - "documentation":"

The time stamp indicating the latest data to be returned.

For better performance, specify StartTime and EndTime values that align with the value of the metric's Period and sync up with the beginning and end of an hour. For example, if the Period of a metric is 5 minutes, specifying 12:05 or 12:30 as EndTime can get a faster response from CloudWatch then setting 12:07 or 12:29 as the EndTime.

" + "documentation":"

The time stamp indicating the latest data to be returned.

For better performance, specify StartTime and EndTime values that align with the value of the metric's Period and sync up with the beginning and end of an hour. For example, if the Period of a metric is 5 minutes, specifying 12:05 or 12:30 as EndTime can get a faster response from CloudWatch than setting 12:07 or 12:29 as the EndTime.

" }, "NextToken":{ "shape":"NextToken", @@ -815,6 +888,10 @@ "NextToken":{ "shape":"NextToken", "documentation":"

A token that marks the next batch of returned results.

" + }, + "Messages":{ + "shape":"MetricDataResultMessages", + "documentation":"

Contains a message about this GetMetricData operation, if the operation results in such a message. An example of a message that may be returned is Maximum number of allowed metrics exceeded. If there is a message, as much of the operation as possible is still executed.

A message appears here only if it is related to the global GetMetricData operation. Any message about a specific metric returned by the operation appears in the MetricDataResult object returned for that metric.

" } } }, @@ -838,7 +915,7 @@ }, "Dimensions":{ "shape":"Dimensions", - "documentation":"

The dimensions. If the metric contains multiple dimensions, you must include a value for each dimension. CloudWatch treats each unique combination of dimensions as a separate metric. If a specific combination of dimensions was not published, you can't retrieve statistics for it. You must specify the same dimensions that were used when the metrics were created. For an example, see Dimension Combinations in the Amazon CloudWatch User Guide. For more information about specifying dimensions, see Publishing Metrics in the Amazon CloudWatch User Guide.

" + "documentation":"

The dimensions. If the metric contains multiple dimensions, you must include a value for each dimension. CloudWatch treats each unique combination of dimensions as a separate metric. If a specific combination of dimensions was not published, you can't retrieve statistics for it. You must specify the same dimensions that were used when the metrics were created. For an example, see Dimension Combinations in the Amazon CloudWatch User Guide. For more information about specifying dimensions, see Publishing Metrics in the Amazon CloudWatch User Guide.

" }, "StartTime":{ "shape":"Timestamp", @@ -889,7 +966,7 @@ }, "OutputFormat":{ "shape":"OutputFormat", - "documentation":"

The format of the resulting image. Only PNG images are supported.

The default is png. If you specify png, the API returns an HTTP response with the content-type set to text/xml. The image data is in a MetricWidgetImage field. For example:

<GetMetricWidgetImageResponse xmlns=\"http://monitoring.amazonaws.com/doc/2010-08-01/\">

<GetMetricWidgetImageResult>

<MetricWidgetImage>

iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQEAYAAAAip...

</MetricWidgetImage>

</GetMetricWidgetImageResult>

<ResponseMetadata>

<RequestId>6f0d4192-4d42-11e8-82c1-f539a07e0e3b</RequestId>

</ResponseMetadata>

</GetMetricWidgetImageResponse>

The image/png setting is intended only for custom HTTP requests. For most use cases, and all actions using an AWS SDK, you should use png. If you specify image/png, the HTTP response has a content-type set to image/png, and the body of the response is a PNG image.

" + "documentation":"

The format of the resulting image. Only PNG images are supported.

The default is png. If you specify png, the API returns an HTTP response with the content-type set to text/xml. The image data is in a MetricWidgetImage field. For example:

<GetMetricWidgetImageResponse xmlns=<URLstring>>

<GetMetricWidgetImageResult>

<MetricWidgetImage>

iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQEAYAAAAip...

</MetricWidgetImage>

</GetMetricWidgetImageResult>

<ResponseMetadata>

<RequestId>6f0d4192-4d42-11e8-82c1-f539a07e0e3b</RequestId>

</ResponseMetadata>

</GetMetricWidgetImageResponse>

The image/png setting is intended only for custom HTTP requests. For most use cases, and all actions using an AWS SDK, you should use png. If you specify image/png, the HTTP response has a content-type set to image/png, and the body of the response is a PNG image.

" } } }, @@ -1083,6 +1160,25 @@ "NextToken" ] }, + "ListTagsForResourceInput":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the CloudWatch resource that you want to view tags for. For more information on ARN format, see Example ARNs in the Amazon Web Services General Reference.

" + } + } + }, + "ListTagsForResourceOutput":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

The list of tag keys and values associated with the resource you specified.

" + } + } + }, "MaxRecords":{ "type":"integer", "max":100, @@ -1292,7 +1388,7 @@ }, "Expression":{ "shape":"MetricExpression", - "documentation":"

The math expression to be performed on the returned data, if this object is performing a math expression. This expression can use the Id of the other metrics to refer to those metrics, and can also use the Id of other expressions to use the result of those expressions. For more information about metric math expressions, see Metric Math Syntax and Functions in the Amazon CloudWatch User Guide.

Within each MetricDataQuery object, you must specify either Expression or MetricStat but not both.

" + "documentation":"

The math expression to be performed on the returned data, if this object is performing a math expression. This expression can use the Id of the other metrics to refer to those metrics, and can also use the Id of other expressions to use the result of those expressions. For more information about metric math expressions, see Metric Math Syntax and Functions in the Amazon CloudWatch User Guide.

Within each MetricDataQuery object, you must specify either Expression or MetricStat but not both.

" }, "Label":{ "shape":"MetricLabel", @@ -1303,7 +1399,7 @@ "documentation":"

When used in GetMetricData, this option indicates whether to return the timestamps and raw data values of this metric. If you are performing this call just to do math expressions and do not also need the raw data returned, you can specify False. If you omit this, the default of True is used.

When used in PutMetricAlarm, specify True for the one expression result to use as the alarm. For all other metrics and expressions in the same PutMetricAlarm operation, specify ReturnData as False.

" } }, - "documentation":"

This structure is used in both GetMetricData and PutMetricAlarm. The supported use of this structure is different for those two operations.

When used in GetMetricData, it indicates the metric data to return, and whether this call is just retrieving a batch set of data for one metric, or is performing a math expression on metric data. A single GetMetricData call can include up to 100 MetricDataQuery structures.

When used in PutMetricAlarm, it enables you to create an alarm based on a metric math expression. Each MetricDataQuery in the array specifies either a metric to retrieve, or a math expression to be performed on retrieved metrics. A single PutMetricAlarm call can include up to 20 MetricDataQuery structures in the array. The 20 structures can include as many as 10 structures that contain a MetricStat parameter to retrieve a metric, and as many as 10 structures that contain the Expression parameter to perform a math expression. Any expression used in a PutMetricAlarm operation must return a single time series. For more information, see Metric Math Syntax and Functions in the Amazon CloudWatch User Guide.

Some of the parameters of this structure also have different uses whether you are using this structure in a GetMetricData operation or a PutMetricAlarm operation. These differences are explained in the following parameter list.

" + "documentation":"

This structure is used in both GetMetricData and PutMetricAlarm. The supported use of this structure is different for those two operations.

When used in GetMetricData, it indicates the metric data to return, and whether this call is just retrieving a batch set of data for one metric, or is performing a math expression on metric data. A single GetMetricData call can include up to 100 MetricDataQuery structures.

When used in PutMetricAlarm, it enables you to create an alarm based on a metric math expression. Each MetricDataQuery in the array specifies either a metric to retrieve, or a math expression to be performed on retrieved metrics. A single PutMetricAlarm call can include up to 20 MetricDataQuery structures in the array. The 20 structures can include as many as 10 structures that contain a MetricStat parameter to retrieve a metric, and as many as 10 structures that contain the Expression parameter to perform a math expression. Of those Expression structures, one must have True as the value for ReturnData. The result of this expression is the value the alarm watches.

Any expression used in a PutMetricAlarm operation must return a single time series. For more information, see Metric Math Syntax and Functions in the Amazon CloudWatch User Guide.

Some of the parameters of this structure also have different uses whether you are using this structure in a GetMetricData operation or a PutMetricAlarm operation. These differences are explained in the following parameter list.

" }, "MetricDataResult":{ "type":"structure", @@ -1381,7 +1477,7 @@ }, "StorageResolution":{ "shape":"StorageResolution", - "documentation":"

Valid values are 1 and 60. Setting this to 1 specifies this metric as a high-resolution metric, so that CloudWatch stores the metric with sub-minute resolution down to one second. Setting this to 60 specifies this metric as a regular-resolution metric, which CloudWatch stores at 1-minute resolution. Currently, high resolution is available only for custom metrics. For more information about high-resolution metrics, see High-Resolution Metrics in the Amazon CloudWatch User Guide.

This field is optional, if you do not specify it the default of 60 is used.

" + "documentation":"

Valid values are 1 and 60. Setting this to 1 specifies this metric as a high-resolution metric, so that CloudWatch stores the metric with sub-minute resolution down to one second. Setting this to 60 specifies this metric as a regular-resolution metric, which CloudWatch stores at 1-minute resolution. Currently, high resolution is available only for custom metrics. For more information about high-resolution metrics, see High-Resolution Metrics in the Amazon CloudWatch User Guide.

This field is optional, if you do not specify it the default of 60 is used.

" } }, "documentation":"

Encapsulates the information sent to either create a metric or add new values to be aggregated into an existing metric.

" @@ -1458,11 +1554,7 @@ "min":1, "pattern":"[^:].*" }, - "NextToken":{ - "type":"string", - "max":1024, - "min":0 - }, + "NextToken":{"type":"string"}, "OutputFormat":{"type":"string"}, "Period":{ "type":"integer", @@ -1521,11 +1613,11 @@ }, "AlarmActions":{ "shape":"ResourceList", - "documentation":"

The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate | arn:aws:automate:region:ec2:recover | arn:aws:sns:region:account-id:sns-topic-name | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-idautoScalingGroupName/group-friendly-name:policyName/policy-friendly-name

Valid Values (for use with IAM roles): arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0

" + "documentation":"

The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate | arn:aws:automate:region:ec2:recover | arn:aws:automate:region:ec2:reboot | arn:aws:sns:region:account-id:sns-topic-name | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-idautoScalingGroupName/group-friendly-name:policyName/policy-friendly-name

Valid Values (for use with IAM roles): arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0

" }, "InsufficientDataActions":{ "shape":"ResourceList", - "documentation":"

The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate | arn:aws:automate:region:ec2:recover | arn:aws:sns:region:account-id:sns-topic-name | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-idautoScalingGroupName/group-friendly-name:policyName/policy-friendly-name

Valid Values (for use with IAM roles): >arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0

" + "documentation":"

The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate | arn:aws:automate:region:ec2:recover | arn:aws:automate:region:ec2:reboot | arn:aws:sns:region:account-id:sns-topic-name | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-idautoScalingGroupName/group-friendly-name:policyName/policy-friendly-name

Valid Values (for use with IAM roles): >arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0

" }, "MetricName":{ "shape":"MetricName", @@ -1561,7 +1653,7 @@ }, "DatapointsToAlarm":{ "shape":"DatapointsToAlarm", - "documentation":"

The number of datapoints that must be breaching to trigger the alarm. This is used only if you are setting an \"M out of N\" alarm. In that case, this value is the M. For more information, see Evaluating an Alarm in the Amazon CloudWatch User Guide.

" + "documentation":"

The number of datapoints that must be breaching to trigger the alarm. This is used only if you are setting an \"M out of N\" alarm. In that case, this value is the M. For more information, see Evaluating an Alarm in the Amazon CloudWatch User Guide.

" }, "Threshold":{ "shape":"Threshold", @@ -1573,15 +1665,19 @@ }, "TreatMissingData":{ "shape":"TreatMissingData", - "documentation":"

Sets how this alarm is to handle missing data points. If TreatMissingData is omitted, the default behavior of missing is used. For more information, see Configuring How CloudWatch Alarms Treats Missing Data.

Valid Values: breaching | notBreaching | ignore | missing

" + "documentation":"

Sets how this alarm is to handle missing data points. If TreatMissingData is omitted, the default behavior of missing is used. For more information, see Configuring How CloudWatch Alarms Treats Missing Data.

Valid Values: breaching | notBreaching | ignore | missing

" }, "EvaluateLowSampleCountPercentile":{ "shape":"EvaluateLowSampleCountPercentile", - "documentation":"

Used only for alarms based on percentiles. If you specify ignore, the alarm state does not change during periods with too few data points to be statistically significant. If you specify evaluate or omit this parameter, the alarm is always evaluated and possibly changes state no matter how many data points are available. For more information, see Percentile-Based CloudWatch Alarms and Low Data Samples.

Valid Values: evaluate | ignore

" + "documentation":"

Used only for alarms based on percentiles. If you specify ignore, the alarm state does not change during periods with too few data points to be statistically significant. If you specify evaluate or omit this parameter, the alarm is always evaluated and possibly changes state no matter how many data points are available. For more information, see Percentile-Based CloudWatch Alarms and Low Data Samples.

Valid Values: evaluate | ignore

" }, "Metrics":{ "shape":"MetricDataQueries", - "documentation":"

An array of MetricDataQuery structures that enable you to create an alarm based on the result of a metric math expression. Each item in the Metrics array either retrieves a metric or performs a math expression.

If you use the Metrics parameter, you cannot include the MetricName, Dimensions, Period, Namespace, Statistic, or ExtendedStatistic parameters of PutMetricAlarm in the same operation. Instead, you retrieve the metrics you are using in your math expression as part of the Metrics array.

" + "documentation":"

An array of MetricDataQuery structures that enable you to create an alarm based on the result of a metric math expression. Each item in the Metrics array either retrieves a metric or performs a math expression.

One item in the Metrics array is the expression that the alarm watches. You designate this expression by setting ReturnValue to true for this object in the array. For more information, see MetricDataQuery.

If you use the Metrics parameter, you cannot include the MetricName, Dimensions, Period, Namespace, Statistic, or ExtendedStatistic parameters of PutMetricAlarm in the same operation. Instead, you retrieve the metrics you are using in your math expression as part of the Metrics array.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A list of key-value pairs to associate with the alarm. You can associate as many as 50 tags with an alarm.

Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only resources with certain tag values.

" } } }, @@ -1602,6 +1698,7 @@ } } }, + "ResourceId":{"type":"string"}, "ResourceList":{ "type":"list", "member":{"shape":"ResourceName"}, @@ -1628,6 +1725,21 @@ }, "exception":true }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "ResourceType":{"shape":"ResourceType"}, + "ResourceId":{"shape":"ResourceId"} + }, + "documentation":"

The named resource does not exist.

", + "error":{ + "code":"ResourceNotFoundException", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ResourceType":{"type":"string"}, "ReturnData":{"type":"boolean"}, "ScanBy":{ "type":"string", @@ -1770,6 +1882,64 @@ "type":"integer", "min":1 }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

A string that you can use to assign a value. The combination of tag keys and values can help you organize and categorize your resources.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The value for the specified tag key.

" + } + }, + "documentation":"

A key-value pair associated with a CloudWatch resource.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceInput":{ + "type":"structure", + "required":[ + "ResourceARN", + "Tags" + ], + "members":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the CloudWatch resource that you're adding tags to. For more information on ARN format, see Example ARNs in the Amazon Web Services General Reference.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The list of key-value pairs to associate with the resource.

" + } + } + }, + "TagResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, "Threshold":{"type":"double"}, "Timestamp":{"type":"timestamp"}, "Timestamps":{ @@ -1781,6 +1951,28 @@ "max":255, "min":1 }, + "UntagResourceInput":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeys" + ], + "members":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the CloudWatch resource that you're removing tags from. For more information on ARN format, see Example ARNs in the Amazon Web Services General Reference.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

The list of tag keys to remove from the resource.

" + } + } + }, + "UntagResourceOutput":{ + "type":"structure", + "members":{ + } + }, "Values":{ "type":"list", "member":{"shape":"DatapointValue"} diff --git a/bin/botocore/data/codebuild/2016-10-06/service-2.json b/bin/botocore/data/codebuild/2016-10-06/service-2.json index 896d5bba..eab81de5 100644 --- a/bin/botocore/data/codebuild/2016-10-06/service-2.json +++ b/bin/botocore/data/codebuild/2016-10-06/service-2.json @@ -80,7 +80,7 @@ {"shape":"ResourceAlreadyExistsException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

For an existing AWS CodeBuild build project that has its source code stored in a GitHub or Bitbucket repository, enables AWS CodeBuild to start rebuilding the source code every time a code change is pushed to the repository.

If you enable webhooks for an AWS CodeBuild project, and the project is used as a build step in AWS CodePipeline, then two identical builds are created for each commit. One build is triggered through webhooks, and one through AWS CodePipeline. Because billing is on a per-build basis, you are billed for both builds. Therefore, if you are using AWS CodePipeline, we recommend that you disable webhooks in AWS CodeBuild. In the AWS CodeBuild console, clear the Webhook box. For more information, see step 5 in Change a Build Project's Settings.

" + "documentation":"

For an existing AWS CodeBuild build project that has its source code stored in a GitHub or Bitbucket repository, enables AWS CodeBuild to start rebuilding the source code every time a code change is pushed to the repository.

If you enable webhooks for an AWS CodeBuild project, and the project is used as a build step in AWS CodePipeline, then two identical builds are created for each commit. One build is triggered through webhooks, and one through AWS CodePipeline. Because billing is on a per-build basis, you are billed for both builds. Therefore, if you are using AWS CodePipeline, we recommend that you disable webhooks in AWS CodeBuild. In the AWS CodeBuild console, clear the Webhook box. For more information, see step 5 in Change a Build Project's Settings.

" }, "DeleteProject":{ "name":"DeleteProject", @@ -408,7 +408,7 @@ }, "sourceVersion":{ "shape":"NonEmptyString", - "documentation":"

Any version identifier for the version of the source code to be built.

" + "documentation":"

Any version identifier for the version of the source code to be built. If sourceVersion is specified at the project level, then this sourceVersion (at the build level) takes precedence.

For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide.

" }, "resolvedSourceVersion":{ "shape":"NonEmptyString", @@ -484,7 +484,7 @@ }, "encryptionKey":{ "shape":"NonEmptyString", - "documentation":"

The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

This is expressed either as the Amazon Resource Name (ARN) of the CMK or, if specified, the CMK's alias (using the format alias/alias-name ).

" + "documentation":"

The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/alias-name ).

" } }, "documentation":"

Information about a build.

" @@ -603,11 +603,20 @@ "type":"list", "member":{"shape":"BuildNotDeleted"} }, + "CacheMode":{ + "type":"string", + "enum":[ + "LOCAL_DOCKER_LAYER_CACHE", + "LOCAL_SOURCE_CACHE", + "LOCAL_CUSTOM_CACHE" + ] + }, "CacheType":{ "type":"string", "enum":[ "NO_CACHE", - "S3" + "S3", + "LOCAL" ] }, "CloudWatchLogsConfig":{ @@ -620,11 +629,11 @@ }, "groupName":{ "shape":"String", - "documentation":"

The group name of the logs in Amazon CloudWatch Logs. For more information, see Working with Log Groups and Log Streams.

" + "documentation":"

The group name of the logs in Amazon CloudWatch Logs. For more information, see Working with Log Groups and Log Streams.

" }, "streamName":{ "shape":"String", - "documentation":"

The prefix of the stream name of the Amazon CloudWatch Logs. For more information, see Working with Log Groups and Log Streams.

" + "documentation":"

The prefix of the stream name of the Amazon CloudWatch Logs. For more information, see Working with Log Groups and Log Streams.

" } }, "documentation":"

Information about Amazon CloudWatch Logs for a build project.

" @@ -663,6 +672,14 @@ "shape":"ProjectSources", "documentation":"

An array of ProjectSource objects.

" }, + "sourceVersion":{ + "shape":"String", + "documentation":"

A version of the build input to be built for this project. If not specified, the latest version is used. If specified, it must be one of:

  • For AWS CodeCommit: the commit ID to use.

  • For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format pr/pull-request-ID (for example pr/25). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.

  • For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.

  • For Amazon Simple Storage Service (Amazon S3): the version ID of the object that represents the build input ZIP file to use.

If sourceVersion is specified at the build level, then that version takes precedence over this sourceVersion (at the project level).

For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide.

" + }, + "secondarySourceVersions":{ + "shape":"ProjectSecondarySourceVersions", + "documentation":"

An array of ProjectSourceVersion objects. If secondarySourceVersions is specified at the build level, then they take precedence over these secondarySourceVersions (at the project level).

" + }, "artifacts":{ "shape":"ProjectArtifacts", "documentation":"

Information about the build output artifacts for the build project.

" @@ -693,7 +710,7 @@ }, "encryptionKey":{ "shape":"NonEmptyString", - "documentation":"

The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/alias-name ).

" + "documentation":"

The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/alias-name ).

" }, "tags":{ "shape":"TagList", @@ -732,7 +749,11 @@ }, "branchFilter":{ "shape":"String", - "documentation":"

A regular expression used to determine which repository branches are built when a webhook is triggered. If the name of a branch matches the regular expression, then it is built. If branchFilter is empty, then all branches are built.

" + "documentation":"

A regular expression used to determine which repository branches are built when a webhook is triggered. If the name of a branch matches the regular expression, then it is built. If branchFilter is empty, then all branches are built.

It is recommended that you use filterGroups instead of branchFilter.

" + }, + "filterGroups":{ + "shape":"FilterGroups", + "documentation":"

An array of arrays of WebhookFilter objects used to determine which webhooks are triggered. At least one WebhookFilter in the array must specify EVENT as its type.

For a build to be triggered, at least one filter group in the filterGroups array must pass. For a filter group to pass, each of its filters must pass.

" } } }, @@ -745,6 +766,10 @@ } } }, + "CredentialProviderType":{ + "type":"string", + "enum":["SECRETS_MANAGER"] + }, "DeleteProjectInput":{ "type":"structure", "required":["name"], @@ -892,10 +917,36 @@ "type":"list", "member":{"shape":"EnvironmentVariable"} }, + "FilterGroup":{ + "type":"list", + "member":{"shape":"WebhookFilter"} + }, + "FilterGroups":{ + "type":"list", + "member":{"shape":"FilterGroup"} + }, "GitCloneDepth":{ "type":"integer", "min":0 }, + "GitSubmodulesConfig":{ + "type":"structure", + "required":["fetchSubmodules"], + "members":{ + "fetchSubmodules":{ + "shape":"WrapperBoolean", + "documentation":"

Set to true to fetch Git submodules for your AWS CodeBuild build project.

" + } + }, + "documentation":"

Information about the Git submodules configuration for an AWS CodeBuild build project.

" + }, + "ImagePullCredentialsType":{ + "type":"string", + "enum":[ + "CODEBUILD", + "SERVICE_ROLE" + ] + }, "ImageVersions":{ "type":"list", "member":{"shape":"String"} @@ -961,7 +1012,7 @@ "type":"string", "max":127, "min":1, - "pattern":"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=@+\\\\-]*)$" + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=@+\\-]*)$" }, "LanguageType":{ "type":"string", @@ -1219,6 +1270,14 @@ "shape":"ProjectSources", "documentation":"

An array of ProjectSource objects.

" }, + "sourceVersion":{ + "shape":"String", + "documentation":"

A version of the build input to be built for this project. If not specified, the latest version is used. If specified, it must be one of:

  • For AWS CodeCommit: the commit ID to use.

  • For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format pr/pull-request-ID (for example pr/25). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.

  • For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.

  • For Amazon Simple Storage Service (Amazon S3): the version ID of the object that represents the build input ZIP file to use.

If sourceVersion is specified at the build level, then that version takes precedence over this sourceVersion (at the project level).

For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide.

" + }, + "secondarySourceVersions":{ + "shape":"ProjectSecondarySourceVersions", + "documentation":"

An array of ProjectSourceVersion objects. If secondarySourceVersions is specified at the build level, then they take over these secondarySourceVersions (at the project level).

" + }, "artifacts":{ "shape":"ProjectArtifacts", "documentation":"

Information about the build output artifacts for the build project.

" @@ -1249,7 +1308,7 @@ }, "encryptionKey":{ "shape":"NonEmptyString", - "documentation":"

The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

This is expressed either as the Amazon Resource Name (ARN) of the CMK or, if specified, the CMK's alias (using the format alias/alias-name ).

" + "documentation":"

The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/alias-name ).

" }, "tags":{ "shape":"TagList", @@ -1351,15 +1410,23 @@ "members":{ "type":{ "shape":"CacheType", - "documentation":"

The type of cache used by the build project. Valid values include:

  • NO_CACHE: The build project does not use any cache.

  • S3: The build project reads and writes from and to S3.

" + "documentation":"

The type of cache used by the build project. Valid values include:

  • NO_CACHE: The build project does not use any cache.

  • S3: The build project reads and writes from and to S3.

  • LOCAL: The build project stores a cache locally on a build host that is only available to that build host.

" }, "location":{ "shape":"String", - "documentation":"

Information about the cache location:

  • NO_CACHE: This value is ignored.

  • S3: This is the S3 bucket name/prefix.

" + "documentation":"

Information about the cache location:

  • NO_CACHE or LOCAL: This value is ignored.

  • S3: This is the S3 bucket name/prefix.

" + }, + "modes":{ + "shape":"ProjectCacheModes", + "documentation":"

If you use a LOCAL cache, the local cache mode. You can use one or more local cache modes at the same time.

  • LOCAL_SOURCE_CACHE mode caches Git metadata for primary and secondary sources. After the cache is created, subsequent builds pull only the change between commits. This mode is a good choice for projects with a clean working directory and a source that is a large Git repository. If you choose this option and your project does not use a Git repository (GitHub, GitHub Enterprise, or Bitbucket), the option is ignored.

  • LOCAL_DOCKER_LAYER_CACHE mode caches existing Docker layers. This mode is a good choice for projects that build or pull large Docker images. It can prevent the performance issues caused by pulling large Docker images down from the network.

    • You can use a Docker layer cache in the Linux environment only.

    • The privileged flag must be set so that your project has the required Docker permissions.

    • You should consider the security implications before you use a Docker layer cache.

  • LOCAL_CUSTOM_CACHE mode caches directories you specify in the buildspec file. This mode is a good choice if your build scenario is not suited to one of the other three local cache modes. If you use a custom cache:

    • Only directories can be specified for caching. You cannot specify individual files.

    • Symlinks are used to reference cached directories.

    • Cached directories are linked to your build before it downloads its project sources. Cached items are overriden if a source item has the same name. Directories are specified using cache paths in the buildspec file.

" } }, "documentation":"

Information about the cache for the build project.

" }, + "ProjectCacheModes":{ + "type":"list", + "member":{"shape":"CacheMode"} + }, "ProjectDescription":{ "type":"string", "max":255, @@ -1379,7 +1446,7 @@ }, "image":{ "shape":"NonEmptyString", - "documentation":"

The ID of the Docker image to use for this build project.

" + "documentation":"

The image tag or image digest that identifies the Docker image to use for this build project. Use the following formats:

  • For an image tag: registry/repository:tag. For example, to specify an image with the tag \"latest,\" use registry/repository:latest.

  • For an image digest: registry/repository@digest. For example, to specify an image with the digest \"sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf,\" use registry/repository@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf.

" }, "computeType":{ "shape":"ComputeType", @@ -1391,11 +1458,19 @@ }, "privilegedMode":{ "shape":"WrapperBoolean", - "documentation":"

Enables running the Docker daemon inside a Docker container. Set to true only if the build project is be used to build Docker images, and the specified build environment image is not provided by AWS CodeBuild with Docker support. Otherwise, all associated builds that attempt to interact with the Docker daemon fail. You must also start the Docker daemon so that builds can interact with it. One way to do this is to initialize the Docker daemon during the install phase of your build spec by running the following build commands. (Do not run these commands if the specified build environment image is provided by AWS CodeBuild with Docker support.)

If the operating system's base image is Ubuntu Linux:

- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay& - timeout 15 sh -c \"until docker info; do echo .; sleep 1; done\"

If the operating system's base image is Alpine Linux, add the -t argument to timeout:

- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay& - timeout 15 -t sh -c \"until docker info; do echo .; sleep 1; done\"

" + "documentation":"

Enables running the Docker daemon inside a Docker container. Set to true only if the build project is be used to build Docker images, and the specified build environment image is not provided by AWS CodeBuild with Docker support. Otherwise, all associated builds that attempt to interact with the Docker daemon fail. You must also start the Docker daemon so that builds can interact with it. One way to do this is to initialize the Docker daemon during the install phase of your build spec by running the following build commands. (Do not run these commands if the specified build environment image is provided by AWS CodeBuild with Docker support.)

If the operating system's base image is Ubuntu Linux:

- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&

- timeout 15 sh -c \"until docker info; do echo .; sleep 1; done\"

If the operating system's base image is Alpine Linux and the previous command does not work, add the -t argument to timeout:

- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&

- timeout -t 15 sh -c \"until docker info; do echo .; sleep 1; done\"

" }, "certificate":{ "shape":"String", "documentation":"

The certificate to use with this build project.

" + }, + "registryCredential":{ + "shape":"RegistryCredential", + "documentation":"

The credentials for access to a private registry.

" + }, + "imagePullCredentialsType":{ + "shape":"ImagePullCredentialsType", + "documentation":"

The type of credentials AWS CodeBuild uses to pull images in your build. There are two valid values:

  • CODEBUILD specifies that AWS CodeBuild uses its own credentials. This requires that you modify your ECR repository policy to trust AWS CodeBuild's service principal.

  • SERVICE_ROLE specifies that AWS CodeBuild uses your build project's service role.

When you use a cross-account or private registry image, you must use SERVICE_ROLE credentials. When you use an AWS CodeBuild curated image, you must use CODEBUILD credentials.

" } }, "documentation":"

Information about the build environment of the build project.

" @@ -1440,7 +1515,11 @@ }, "gitCloneDepth":{ "shape":"GitCloneDepth", - "documentation":"

Information about the git clone depth for the build project.

" + "documentation":"

Information about the Git clone depth for the build project.

" + }, + "gitSubmodulesConfig":{ + "shape":"GitSubmodulesConfig", + "documentation":"

Information about the Git submodules configuration for the build project.

" }, "buildspec":{ "shape":"String", @@ -1478,10 +1557,10 @@ }, "sourceVersion":{ "shape":"String", - "documentation":"

The source version for the corresponding source identifier. If specified, must be one of:

  • For AWS CodeCommit: the commit ID to use.

  • For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format pr/pull-request-ID (for example, pr/25). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.

  • For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.

  • For Amazon Simple Storage Service (Amazon S3): the version ID of the object that represents the build input ZIP file to use.

" + "documentation":"

The source version for the corresponding source identifier. If specified, must be one of:

  • For AWS CodeCommit: the commit ID to use.

  • For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format pr/pull-request-ID (for example, pr/25). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.

  • For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.

  • For Amazon Simple Storage Service (Amazon S3): the version ID of the object that represents the build input ZIP file to use.

For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide.

" } }, - "documentation":"

A source identifier and its corresponding version.

" + "documentation":"

A source identifier and its corresponding version.

" }, "ProjectSources":{ "type":"list", @@ -1493,6 +1572,24 @@ "type":"list", "member":{"shape":"Project"} }, + "RegistryCredential":{ + "type":"structure", + "required":[ + "credential", + "credentialProvider" + ], + "members":{ + "credential":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) or name of credentials created using AWS Secrets Manager.

The credential can use the name of the credentials only if they exist in your current region.

" + }, + "credentialProvider":{ + "shape":"CredentialProviderType", + "documentation":"

The service that created the credentials to access a private Docker registry. The valid value, SECRETS_MANAGER, is for AWS Secrets Manager.

" + } + }, + "documentation":"

Information about credentials that provide access to a private Docker registry. When this is set:

  • imagePullCredentialsType must be set to SERVICE_ROLE.

  • images cannot be curated or an Amazon ECR image.

For more information, see Private Registry with AWS Secrets Manager Sample for AWS CodeBuild.

" + }, "ResourceAlreadyExistsException":{ "type":"structure", "members":{ @@ -1518,6 +1615,10 @@ "location":{ "shape":"String", "documentation":"

The ARN of an S3 bucket and the path prefix for S3 logs. If your Amazon S3 bucket name is my-bucket, and your path prefix is build-log, then acceptable formats are my-bucket/build-log or arn:aws:s3:::my-bucket/build-log.

" + }, + "encryptionDisabled":{ + "shape":"WrapperBoolean", + "documentation":"

Set to true if you do not want your S3 build log output encrypted. By default S3 build logs are encrypted.

" } }, "documentation":"

Information about S3 logs for a build project.

" @@ -1618,7 +1719,7 @@ }, "sourceVersion":{ "shape":"String", - "documentation":"

A version of the build input to be built, for this build only. If not specified, the latest version is used. If specified, must be one of:

  • For AWS CodeCommit: the commit ID to use.

  • For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format pr/pull-request-ID (for example pr/25). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.

  • For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.

  • For Amazon Simple Storage Service (Amazon S3): the version ID of the object that represents the build input ZIP file to use.

" + "documentation":"

A version of the build input to be built, for this build only. If not specified, the latest version is used. If specified, must be one of:

  • For AWS CodeCommit: the commit ID to use.

  • For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format pr/pull-request-ID (for example pr/25). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.

  • For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.

  • For Amazon Simple Storage Service (Amazon S3): the version ID of the object that represents the build input ZIP file to use.

If sourceVersion is specified at the project level, then this sourceVersion (at the build level) takes precedence.

For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide.

" }, "artifactsOverride":{ "shape":"ProjectArtifacts", @@ -1648,6 +1749,10 @@ "shape":"GitCloneDepth", "documentation":"

The user-defined depth of history, with a minimum value of 0, that overrides, for this build only, any previous depth of history defined in the build project.

" }, + "gitSubmodulesConfigOverride":{ + "shape":"GitSubmodulesConfig", + "documentation":"

Information about the Git submodules configuration for this build of an AWS CodeBuild build project.

" + }, "buildspecOverride":{ "shape":"String", "documentation":"

A build spec declaration that overrides, for this build only, the latest one already defined in the build project.

" @@ -1703,6 +1808,14 @@ "logsConfigOverride":{ "shape":"LogsConfig", "documentation":"

Log settings for this build that override the log settings defined in the build project.

" + }, + "registryCredentialOverride":{ + "shape":"RegistryCredential", + "documentation":"

The credentials for access to a private registry.

" + }, + "imagePullCredentialsTypeOverride":{ + "shape":"ImagePullCredentialsType", + "documentation":"

The type of credentials AWS CodeBuild uses to pull images in your build. There are two valid values:

  • CODEBUILD specifies that AWS CodeBuild uses its own credentials. This requires that you modify your ECR repository policy to trust AWS CodeBuild's service principal.

  • SERVICE_ROLE specifies that AWS CodeBuild uses your build project's service role.

When using a cross-account or private registry image, you must use SERVICE_ROLE credentials. When using an AWS CodeBuild curated image, you must use CODEBUILD credentials.

" } } }, @@ -1797,6 +1910,14 @@ "shape":"ProjectSources", "documentation":"

An array of ProjectSource objects.

" }, + "sourceVersion":{ + "shape":"String", + "documentation":"

A version of the build input to be built for this project. If not specified, the latest version is used. If specified, it must be one of:

  • For AWS CodeCommit: the commit ID to use.

  • For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format pr/pull-request-ID (for example pr/25). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.

  • For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.

  • For Amazon Simple Storage Service (Amazon S3): the version ID of the object that represents the build input ZIP file to use.

If sourceVersion is specified at the build level, then that version takes precedence over this sourceVersion (at the project level).

For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide.

" + }, + "secondarySourceVersions":{ + "shape":"ProjectSecondarySourceVersions", + "documentation":"

An array of ProjectSourceVersion objects. If secondarySourceVersions is specified at the build level, then they take over these secondarySourceVersions (at the project level).

" + }, "artifacts":{ "shape":"ProjectArtifacts", "documentation":"

Information to be changed about the build output artifacts for the build project.

" @@ -1827,7 +1948,7 @@ }, "encryptionKey":{ "shape":"NonEmptyString", - "documentation":"

The replacement AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

You can specify either the Amazon Resource Name (ARN)of the CMK or, if available, the CMK's alias (using the format alias/alias-name ).

" + "documentation":"

The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/alias-name ).

" }, "tags":{ "shape":"TagList", @@ -1866,11 +1987,15 @@ }, "branchFilter":{ "shape":"String", - "documentation":"

A regular expression used to determine which repository branches are built when a webhook is triggered. If the name of a branch matches the regular expression, then it is built. If branchFilter is empty, then all branches are built.

" + "documentation":"

A regular expression used to determine which repository branches are built when a webhook is triggered. If the name of a branch matches the regular expression, then it is built. If branchFilter is empty, then all branches are built.

It is recommended that you use filterGroups instead of branchFilter.

" }, "rotateSecret":{ "shape":"Boolean", "documentation":"

A boolean value that specifies whether the associated GitHub repository's secret token should be updated. If you use Bitbucket for your repository, rotateSecret is ignored.

" + }, + "filterGroups":{ + "shape":"FilterGroups", + "documentation":"

An array of arrays of WebhookFilter objects used to determine if a webhook event can trigger a build. A filter group must pcontain at least one EVENT WebhookFilter.

" } } }, @@ -1887,7 +2012,7 @@ "type":"string", "max":255, "min":1, - "pattern":"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=@+\\\\-]*)$" + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=@+\\-]*)$" }, "VpcConfig":{ "type":"structure", @@ -1924,7 +2049,11 @@ }, "branchFilter":{ "shape":"String", - "documentation":"

A regular expression used to determine which repository branches are built when a webhook is triggered. If the name of a branch matches the regular expression, then it is built. If branchFilter is empty, then all branches are built.

" + "documentation":"

A regular expression used to determine which repository branches are built when a webhook is triggered. If the name of a branch matches the regular expression, then it is built. If branchFilter is empty, then all branches are built.

It is recommended that you use filterGroups instead of branchFilter.

" + }, + "filterGroups":{ + "shape":"FilterGroups", + "documentation":"

An array of arrays of WebhookFilter objects used to determine which webhooks are triggered. At least one WebhookFilter in the array must specify EVENT as its type.

For a build to be triggered, at least one filter group in the filterGroups array must pass. For a filter group to pass, each of its filters must pass.

" }, "lastModifiedSecret":{ "shape":"Timestamp", @@ -1933,6 +2062,38 @@ }, "documentation":"

Information about a webhook that connects repository events to a build project in AWS CodeBuild.

" }, + "WebhookFilter":{ + "type":"structure", + "required":[ + "type", + "pattern" + ], + "members":{ + "type":{ + "shape":"WebhookFilterType", + "documentation":"

The type of webhook filter. There are five webhook filter types: EVENT, ACTOR_ACCOUNT_ID, HEAD_REF, BASE_REF, and FILE_PATH.

EVENT

A webhook event triggers a build when the provided pattern matches one of four event types: PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, and PULL_REQUEST_REOPENED. The EVENT patterns are specified as a comma-separated string. For example, PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED filters all push, pull request created, and pull request updated events.

The PULL_REQUEST_REOPENED works with GitHub and GitHub Enterprise only.

ACTOR_ACCOUNT_ID

A webhook event triggers a build when a GitHub, GitHub Enterprise, or Bitbucket account ID matches the regular expression pattern.

HEAD_REF

A webhook event triggers a build when the head reference matches the regular expression pattern. For example, refs/heads/branch-name and refs/tags/tag-name.

Works with GitHub and GitHub Enterprise push, GitHub and GitHub Enterprise pull request, Bitbucket push, and Bitbucket pull request events.

BASE_REF

A webhook event triggers a build when the base reference matches the regular expression pattern. For example, refs/heads/branch-name.

Works with pull request events only.

FILE_PATH

A webhook triggers a build when the path of a changed file matches the regular expression pattern.

Works with GitHub and GitHub Enterprise push events only.

" + }, + "pattern":{ + "shape":"String", + "documentation":"

For a WebHookFilter that uses EVENT type, a comma-separated string that specifies one or more events. For example, the webhook filter PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED allows all push, pull request created, and pull request updated events to trigger a build.

For a WebHookFilter that uses any of the other filter types, a regular expression pattern. For example, a WebHookFilter that uses HEAD_REF for its type and the pattern ^refs/heads/ triggers a build when the head reference is a branch with a reference name refs/heads/branch-name.

" + }, + "excludeMatchedPattern":{ + "shape":"WrapperBoolean", + "documentation":"

Used to indicate that the pattern determines which webhook events do not trigger a build. If true, then a webhook event that does not match the pattern triggers a build. If false, then a webhook event that matches the pattern triggers a build.

" + } + }, + "documentation":"

A filter used to determine which webhooks trigger a build.

" + }, + "WebhookFilterType":{ + "type":"string", + "enum":[ + "EVENT", + "BASE_REF", + "HEAD_REF", + "ACTOR_ACCOUNT_ID", + "FILE_PATH" + ] + }, "WrapperBoolean":{"type":"boolean"}, "WrapperInt":{"type":"integer"}, "WrapperLong":{"type":"long"} diff --git a/bin/botocore/data/codecommit/2015-04-13/service-2.json b/bin/botocore/data/codecommit/2015-04-13/service-2.json index c6968c3f..0f2da4d3 100644 --- a/bin/botocore/data/codecommit/2015-04-13/service-2.json +++ b/bin/botocore/data/codecommit/2015-04-13/service-2.json @@ -13,6 +13,38 @@ "uid":"codecommit-2015-04-13" }, "operations":{ + "BatchDescribeMergeConflicts":{ + "name":"BatchDescribeMergeConflicts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchDescribeMergeConflictsInput"}, + "output":{"shape":"BatchDescribeMergeConflictsOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"MergeOptionRequiredException"}, + {"shape":"InvalidMergeOptionException"}, + {"shape":"InvalidContinuationTokenException"}, + {"shape":"CommitRequiredException"}, + {"shape":"CommitDoesNotExistException"}, + {"shape":"InvalidCommitException"}, + {"shape":"TipsDivergenceExceededException"}, + {"shape":"InvalidMaxConflictFilesException"}, + {"shape":"InvalidMaxMergeHunksException"}, + {"shape":"InvalidConflictDetailLevelException"}, + {"shape":"InvalidConflictResolutionStrategyException"}, + {"shape":"MaximumFileContentToLoadExceededException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Returns information about one or more merge conflicts in the attempted merge of two commit specifiers using the squash or three-way merge strategy.

" + }, "BatchGetRepositories":{ "name":"BatchGetRepositories", "http":{ @@ -58,6 +90,56 @@ ], "documentation":"

Creates a new branch in a repository and points the branch to a commit.

Calling the create branch operation does not set a repository's default branch. To do this, call the update default branch operation.

" }, + "CreateCommit":{ + "name":"CreateCommit", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateCommitInput"}, + "output":{"shape":"CreateCommitOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"ParentCommitIdRequiredException"}, + {"shape":"InvalidParentCommitIdException"}, + {"shape":"ParentCommitDoesNotExistException"}, + {"shape":"ParentCommitIdOutdatedException"}, + {"shape":"BranchNameRequiredException"}, + {"shape":"InvalidBranchNameException"}, + {"shape":"BranchDoesNotExistException"}, + {"shape":"BranchNameIsTagNameException"}, + {"shape":"FileEntryRequiredException"}, + {"shape":"MaximumFileEntriesExceededException"}, + {"shape":"PutFileEntryConflictException"}, + {"shape":"SourceFileOrContentRequiredException"}, + {"shape":"FileContentAndSourceFileSpecifiedException"}, + {"shape":"PathRequiredException"}, + {"shape":"InvalidPathException"}, + {"shape":"SamePathRequestException"}, + {"shape":"FileDoesNotExistException"}, + {"shape":"FileContentSizeLimitExceededException"}, + {"shape":"FolderContentSizeLimitExceededException"}, + {"shape":"InvalidDeletionParameterException"}, + {"shape":"RestrictedSourceFileException"}, + {"shape":"FileModeRequiredException"}, + {"shape":"InvalidFileModeException"}, + {"shape":"NameLengthExceededException"}, + {"shape":"InvalidEmailException"}, + {"shape":"CommitMessageLengthExceededException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"}, + {"shape":"NoChangeException"}, + {"shape":"FileNameConflictsWithDirectoryNameException"}, + {"shape":"DirectoryNameConflictsWithFileNameException"}, + {"shape":"FilePathConflictsWithSubmodulePathException"} + ], + "documentation":"

Creates a commit for a repository on the tip of a specified branch.

" + }, "CreatePullRequest":{ "name":"CreatePullRequest", "http":{ @@ -113,10 +195,60 @@ {"shape":"EncryptionKeyAccessDeniedException"}, {"shape":"EncryptionKeyDisabledException"}, {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"} + {"shape":"EncryptionKeyUnavailableException"}, + {"shape":"InvalidTagsMapException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InvalidSystemTagUsageException"}, + {"shape":"TagPolicyException"} ], "documentation":"

Creates a new, empty repository.

" }, + "CreateUnreferencedMergeCommit":{ + "name":"CreateUnreferencedMergeCommit", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateUnreferencedMergeCommitInput"}, + "output":{"shape":"CreateUnreferencedMergeCommitOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"TipsDivergenceExceededException"}, + {"shape":"CommitRequiredException"}, + {"shape":"InvalidCommitException"}, + {"shape":"CommitDoesNotExistException"}, + {"shape":"MergeOptionRequiredException"}, + {"shape":"InvalidMergeOptionException"}, + {"shape":"InvalidConflictDetailLevelException"}, + {"shape":"InvalidConflictResolutionStrategyException"}, + {"shape":"InvalidConflictResolutionException"}, + {"shape":"ManualMergeRequiredException"}, + {"shape":"MaximumConflictResolutionEntriesExceededException"}, + {"shape":"MultipleConflictResolutionEntriesException"}, + {"shape":"ReplacementTypeRequiredException"}, + {"shape":"InvalidReplacementTypeException"}, + {"shape":"ReplacementContentRequiredException"}, + {"shape":"InvalidReplacementContentException"}, + {"shape":"PathRequiredException"}, + {"shape":"InvalidPathException"}, + {"shape":"FileContentSizeLimitExceededException"}, + {"shape":"FolderContentSizeLimitExceededException"}, + {"shape":"MaximumFileContentToLoadExceededException"}, + {"shape":"FileModeRequiredException"}, + {"shape":"InvalidFileModeException"}, + {"shape":"NameLengthExceededException"}, + {"shape":"InvalidEmailException"}, + {"shape":"CommitMessageLengthExceededException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Creates an unerferenced commit that represents the result of merging two branches using a specified merge strategy. This can help you determine the outcome of a potential merge.

This unreferenced merge commit can only be accessed using the GetCommit API or through git commands such as git fetch. To retrieve this commit, you must specify its commit ID or otherwise reference it.

" + }, "DeleteBranch":{ "name":"DeleteBranch", "http":{ @@ -209,6 +341,40 @@ ], "documentation":"

Deletes a repository. If a specified repository was already deleted, a null repository ID will be returned.

Deleting a repository also deletes all associated objects and metadata. After a repository is deleted, all future push calls to the deleted repository will fail.

" }, + "DescribeMergeConflicts":{ + "name":"DescribeMergeConflicts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeMergeConflictsInput"}, + "output":{"shape":"DescribeMergeConflictsOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"MergeOptionRequiredException"}, + {"shape":"InvalidMergeOptionException"}, + {"shape":"InvalidContinuationTokenException"}, + {"shape":"CommitRequiredException"}, + {"shape":"CommitDoesNotExistException"}, + {"shape":"InvalidCommitException"}, + {"shape":"TipsDivergenceExceededException"}, + {"shape":"PathRequiredException"}, + {"shape":"InvalidPathException"}, + {"shape":"FileDoesNotExistException"}, + {"shape":"InvalidMaxMergeHunksException"}, + {"shape":"InvalidConflictDetailLevelException"}, + {"shape":"InvalidConflictResolutionStrategyException"}, + {"shape":"MaximumFileContentToLoadExceededException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Returns information about one or more merge conflicts in the attempted merge of two commit specifiers using the squash or three-way merge strategy. If the merge option for the attempted merge is specified as FAST_FORWARD_MERGE, an exception will be thrown.

" + }, "DescribePullRequestEvents":{ "name":"DescribePullRequestEvents", "http":{ @@ -453,6 +619,31 @@ ], "documentation":"

Returns the contents of a specified folder in a repository.

" }, + "GetMergeCommit":{ + "name":"GetMergeCommit", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMergeCommitInput"}, + "output":{"shape":"GetMergeCommitOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"CommitRequiredException"}, + {"shape":"InvalidCommitException"}, + {"shape":"CommitDoesNotExistException"}, + {"shape":"InvalidConflictDetailLevelException"}, + {"shape":"InvalidConflictResolutionStrategyException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Returns information about a specified merge commit.

" + }, "GetMergeConflicts":{ "name":"GetMergeConflicts", "http":{ @@ -467,19 +658,51 @@ {"shape":"RepositoryDoesNotExistException"}, {"shape":"MergeOptionRequiredException"}, {"shape":"InvalidMergeOptionException"}, + {"shape":"InvalidContinuationTokenException"}, + {"shape":"CommitRequiredException"}, + {"shape":"CommitDoesNotExistException"}, + {"shape":"InvalidCommitException"}, + {"shape":"TipsDivergenceExceededException"}, + {"shape":"InvalidMaxConflictFilesException"}, + {"shape":"InvalidConflictDetailLevelException"}, {"shape":"InvalidDestinationCommitSpecifierException"}, {"shape":"InvalidSourceCommitSpecifierException"}, + {"shape":"InvalidConflictResolutionStrategyException"}, + {"shape":"MaximumFileContentToLoadExceededException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Returns information about merge conflicts between the before and after commit IDs for a pull request in a repository.

" + }, + "GetMergeOptions":{ + "name":"GetMergeOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMergeOptionsInput"}, + "output":{"shape":"GetMergeOptionsOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, {"shape":"CommitRequiredException"}, {"shape":"CommitDoesNotExistException"}, {"shape":"InvalidCommitException"}, {"shape":"TipsDivergenceExceededException"}, + {"shape":"InvalidConflictDetailLevelException"}, + {"shape":"InvalidConflictResolutionStrategyException"}, + {"shape":"MaximumFileContentToLoadExceededException"}, {"shape":"EncryptionIntegrityChecksFailedException"}, {"shape":"EncryptionKeyAccessDeniedException"}, {"shape":"EncryptionKeyDisabledException"}, {"shape":"EncryptionKeyNotFoundException"}, {"shape":"EncryptionKeyUnavailableException"} ], - "documentation":"

Returns information about merge conflicts between the before and after commit IDs for a pull request in a repository.

" + "documentation":"

Returns information about the merge options available for merging two specified branches. For details about why a particular merge option is not available, use GetMergeConflicts or DescribeMergeConflicts.

" }, "GetPullRequest":{ "name":"GetPullRequest", @@ -602,102 +825,341 @@ ], "documentation":"

Gets information about one or more repositories.

" }, - "MergePullRequestByFastForward":{ - "name":"MergePullRequestByFastForward", + "ListTagsForResource":{ + "name":"ListTagsForResource", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"MergePullRequestByFastForwardInput"}, - "output":{"shape":"MergePullRequestByFastForwardOutput"}, + "input":{"shape":"ListTagsForResourceInput"}, + "output":{"shape":"ListTagsForResourceOutput"}, + "errors":[ + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"ResourceArnRequiredException"}, + {"shape":"InvalidResourceArnException"} + ], + "documentation":"

Gets information about AWS tags for a specified Amazon Resource Name (ARN) in AWS CodeCommit. For a list of valid resources in AWS CodeCommit, see CodeCommit Resources and Operations in the AWS CodeCommit User Guide.

" + }, + "MergeBranchesByFastForward":{ + "name":"MergeBranchesByFastForward", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"MergeBranchesByFastForwardInput"}, + "output":{"shape":"MergeBranchesByFastForwardOutput"}, "errors":[ - {"shape":"ManualMergeRequiredException"}, - {"shape":"PullRequestAlreadyClosedException"}, - {"shape":"PullRequestDoesNotExistException"}, - {"shape":"InvalidPullRequestIdException"}, - {"shape":"PullRequestIdRequiredException"}, - {"shape":"TipOfSourceReferenceIsDifferentException"}, - {"shape":"ReferenceDoesNotExistException"}, - {"shape":"InvalidCommitIdException"}, {"shape":"RepositoryNameRequiredException"}, {"shape":"InvalidRepositoryNameException"}, {"shape":"RepositoryDoesNotExistException"}, + {"shape":"TipsDivergenceExceededException"}, + {"shape":"CommitRequiredException"}, + {"shape":"InvalidCommitException"}, + {"shape":"CommitDoesNotExistException"}, + {"shape":"InvalidTargetBranchException"}, + {"shape":"InvalidBranchNameException"}, + {"shape":"BranchNameRequiredException"}, + {"shape":"BranchNameIsTagNameException"}, + {"shape":"BranchDoesNotExistException"}, + {"shape":"ManualMergeRequiredException"}, {"shape":"EncryptionIntegrityChecksFailedException"}, {"shape":"EncryptionKeyAccessDeniedException"}, {"shape":"EncryptionKeyDisabledException"}, {"shape":"EncryptionKeyNotFoundException"}, {"shape":"EncryptionKeyUnavailableException"} ], - "documentation":"

Closes a pull request and attempts to merge the source commit of a pull request into the specified destination branch for that pull request at the specified commit using the fast-forward merge option.

" + "documentation":"

Merges two branches using the fast-forward merge strategy.

" }, - "PostCommentForComparedCommit":{ - "name":"PostCommentForComparedCommit", + "MergeBranchesBySquash":{ + "name":"MergeBranchesBySquash", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"PostCommentForComparedCommitInput"}, - "output":{"shape":"PostCommentForComparedCommitOutput"}, + "input":{"shape":"MergeBranchesBySquashInput"}, + "output":{"shape":"MergeBranchesBySquashOutput"}, "errors":[ {"shape":"RepositoryNameRequiredException"}, - {"shape":"RepositoryDoesNotExistException"}, {"shape":"InvalidRepositoryNameException"}, - {"shape":"ClientRequestTokenRequiredException"}, - {"shape":"InvalidClientRequestTokenException"}, - {"shape":"IdempotencyParameterMismatchException"}, - {"shape":"CommentContentRequiredException"}, - {"shape":"CommentContentSizeLimitExceededException"}, - {"shape":"InvalidFileLocationException"}, - {"shape":"InvalidRelativeFileVersionEnumException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"TipsDivergenceExceededException"}, + {"shape":"CommitRequiredException"}, + {"shape":"InvalidCommitException"}, + {"shape":"CommitDoesNotExistException"}, + {"shape":"InvalidTargetBranchException"}, + {"shape":"InvalidBranchNameException"}, + {"shape":"BranchNameRequiredException"}, + {"shape":"BranchNameIsTagNameException"}, + {"shape":"BranchDoesNotExistException"}, + {"shape":"ManualMergeRequiredException"}, + {"shape":"InvalidConflictDetailLevelException"}, + {"shape":"InvalidConflictResolutionStrategyException"}, + {"shape":"InvalidConflictResolutionException"}, + {"shape":"MaximumConflictResolutionEntriesExceededException"}, + {"shape":"MultipleConflictResolutionEntriesException"}, + {"shape":"ReplacementTypeRequiredException"}, + {"shape":"InvalidReplacementTypeException"}, + {"shape":"ReplacementContentRequiredException"}, + {"shape":"InvalidReplacementContentException"}, {"shape":"PathRequiredException"}, - {"shape":"InvalidFilePositionException"}, - {"shape":"CommitIdRequiredException"}, - {"shape":"InvalidCommitIdException"}, + {"shape":"InvalidPathException"}, + {"shape":"FileContentSizeLimitExceededException"}, + {"shape":"FolderContentSizeLimitExceededException"}, + {"shape":"MaximumFileContentToLoadExceededException"}, + {"shape":"FileModeRequiredException"}, + {"shape":"InvalidFileModeException"}, + {"shape":"NameLengthExceededException"}, + {"shape":"InvalidEmailException"}, + {"shape":"CommitMessageLengthExceededException"}, {"shape":"EncryptionIntegrityChecksFailedException"}, {"shape":"EncryptionKeyAccessDeniedException"}, {"shape":"EncryptionKeyDisabledException"}, {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"}, - {"shape":"BeforeCommitIdAndAfterCommitIdAreSameException"}, - {"shape":"CommitDoesNotExistException"}, - {"shape":"InvalidPathException"}, - {"shape":"PathDoesNotExistException"} + {"shape":"EncryptionKeyUnavailableException"} ], - "documentation":"

Posts a comment on the comparison between two commits.

", - "idempotent":true + "documentation":"

Merges two branches using the squash merge strategy.

" }, - "PostCommentForPullRequest":{ - "name":"PostCommentForPullRequest", + "MergeBranchesByThreeWay":{ + "name":"MergeBranchesByThreeWay", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"PostCommentForPullRequestInput"}, - "output":{"shape":"PostCommentForPullRequestOutput"}, + "input":{"shape":"MergeBranchesByThreeWayInput"}, + "output":{"shape":"MergeBranchesByThreeWayOutput"}, "errors":[ - {"shape":"PullRequestDoesNotExistException"}, - {"shape":"InvalidPullRequestIdException"}, - {"shape":"PullRequestIdRequiredException"}, - {"shape":"RepositoryNotAssociatedWithPullRequestException"}, {"shape":"RepositoryNameRequiredException"}, - {"shape":"RepositoryDoesNotExistException"}, {"shape":"InvalidRepositoryNameException"}, - {"shape":"ClientRequestTokenRequiredException"}, - {"shape":"InvalidClientRequestTokenException"}, - {"shape":"IdempotencyParameterMismatchException"}, - {"shape":"CommentContentRequiredException"}, - {"shape":"CommentContentSizeLimitExceededException"}, - {"shape":"InvalidFileLocationException"}, - {"shape":"InvalidRelativeFileVersionEnumException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"TipsDivergenceExceededException"}, + {"shape":"CommitRequiredException"}, + {"shape":"InvalidCommitException"}, + {"shape":"CommitDoesNotExistException"}, + {"shape":"InvalidTargetBranchException"}, + {"shape":"InvalidBranchNameException"}, + {"shape":"BranchNameRequiredException"}, + {"shape":"BranchNameIsTagNameException"}, + {"shape":"BranchDoesNotExistException"}, + {"shape":"ManualMergeRequiredException"}, + {"shape":"InvalidConflictDetailLevelException"}, + {"shape":"InvalidConflictResolutionStrategyException"}, + {"shape":"InvalidConflictResolutionException"}, + {"shape":"MaximumConflictResolutionEntriesExceededException"}, + {"shape":"MultipleConflictResolutionEntriesException"}, + {"shape":"ReplacementTypeRequiredException"}, + {"shape":"InvalidReplacementTypeException"}, + {"shape":"ReplacementContentRequiredException"}, + {"shape":"InvalidReplacementContentException"}, {"shape":"PathRequiredException"}, - {"shape":"InvalidFilePositionException"}, - {"shape":"CommitIdRequiredException"}, - {"shape":"InvalidCommitIdException"}, + {"shape":"InvalidPathException"}, + {"shape":"FileContentSizeLimitExceededException"}, + {"shape":"FolderContentSizeLimitExceededException"}, + {"shape":"MaximumFileContentToLoadExceededException"}, + {"shape":"FileModeRequiredException"}, + {"shape":"InvalidFileModeException"}, + {"shape":"NameLengthExceededException"}, + {"shape":"InvalidEmailException"}, + {"shape":"CommitMessageLengthExceededException"}, {"shape":"EncryptionIntegrityChecksFailedException"}, {"shape":"EncryptionKeyAccessDeniedException"}, {"shape":"EncryptionKeyDisabledException"}, {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Merges two specified branches using the three-way merge strategy.

" + }, + "MergePullRequestByFastForward":{ + "name":"MergePullRequestByFastForward", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"MergePullRequestByFastForwardInput"}, + "output":{"shape":"MergePullRequestByFastForwardOutput"}, + "errors":[ + {"shape":"ManualMergeRequiredException"}, + {"shape":"PullRequestAlreadyClosedException"}, + {"shape":"PullRequestDoesNotExistException"}, + {"shape":"InvalidPullRequestIdException"}, + {"shape":"PullRequestIdRequiredException"}, + {"shape":"TipOfSourceReferenceIsDifferentException"}, + {"shape":"ReferenceDoesNotExistException"}, + {"shape":"InvalidCommitIdException"}, + {"shape":"RepositoryNotAssociatedWithPullRequestException"}, + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Closes a pull request and attempts to merge the source commit of a pull request into the specified destination branch for that pull request at the specified commit using the fast-forward merge strategy.

" + }, + "MergePullRequestBySquash":{ + "name":"MergePullRequestBySquash", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"MergePullRequestBySquashInput"}, + "output":{"shape":"MergePullRequestBySquashOutput"}, + "errors":[ + {"shape":"PullRequestAlreadyClosedException"}, + {"shape":"PullRequestDoesNotExistException"}, + {"shape":"PullRequestIdRequiredException"}, + {"shape":"InvalidPullRequestIdException"}, + {"shape":"InvalidCommitIdException"}, + {"shape":"ManualMergeRequiredException"}, + {"shape":"TipOfSourceReferenceIsDifferentException"}, + {"shape":"TipsDivergenceExceededException"}, + {"shape":"NameLengthExceededException"}, + {"shape":"InvalidEmailException"}, + {"shape":"CommitMessageLengthExceededException"}, + {"shape":"InvalidConflictDetailLevelException"}, + {"shape":"InvalidConflictResolutionStrategyException"}, + {"shape":"InvalidConflictResolutionException"}, + {"shape":"ReplacementTypeRequiredException"}, + {"shape":"InvalidReplacementTypeException"}, + {"shape":"MultipleConflictResolutionEntriesException"}, + {"shape":"ReplacementContentRequiredException"}, + {"shape":"MaximumConflictResolutionEntriesExceededException"}, + {"shape":"PathRequiredException"}, + {"shape":"InvalidPathException"}, + {"shape":"InvalidFileModeException"}, + {"shape":"InvalidReplacementContentException"}, + {"shape":"FileContentSizeLimitExceededException"}, + {"shape":"FolderContentSizeLimitExceededException"}, + {"shape":"MaximumFileContentToLoadExceededException"}, + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"RepositoryNotAssociatedWithPullRequestException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Closes a pull request and attempts to merge the source commit of a pull request into the specified destination branch for that pull request at the specified commit using the squash merge strategy.

" + }, + "MergePullRequestByThreeWay":{ + "name":"MergePullRequestByThreeWay", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"MergePullRequestByThreeWayInput"}, + "output":{"shape":"MergePullRequestByThreeWayOutput"}, + "errors":[ + {"shape":"PullRequestAlreadyClosedException"}, + {"shape":"PullRequestDoesNotExistException"}, + {"shape":"PullRequestIdRequiredException"}, + {"shape":"InvalidPullRequestIdException"}, + {"shape":"InvalidCommitIdException"}, + {"shape":"ManualMergeRequiredException"}, + {"shape":"TipOfSourceReferenceIsDifferentException"}, + {"shape":"TipsDivergenceExceededException"}, + {"shape":"NameLengthExceededException"}, + {"shape":"InvalidEmailException"}, + {"shape":"CommitMessageLengthExceededException"}, + {"shape":"InvalidConflictDetailLevelException"}, + {"shape":"InvalidConflictResolutionStrategyException"}, + {"shape":"InvalidConflictResolutionException"}, + {"shape":"ReplacementTypeRequiredException"}, + {"shape":"InvalidReplacementTypeException"}, + {"shape":"MultipleConflictResolutionEntriesException"}, + {"shape":"ReplacementContentRequiredException"}, + {"shape":"MaximumConflictResolutionEntriesExceededException"}, + {"shape":"PathRequiredException"}, + {"shape":"InvalidPathException"}, + {"shape":"InvalidFileModeException"}, + {"shape":"InvalidReplacementContentException"}, + {"shape":"FileContentSizeLimitExceededException"}, + {"shape":"FolderContentSizeLimitExceededException"}, + {"shape":"MaximumFileContentToLoadExceededException"}, + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"RepositoryNotAssociatedWithPullRequestException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Closes a pull request and attempts to merge the source commit of a pull request into the specified destination branch for that pull request at the specified commit using the three-way merge strategy.

" + }, + "PostCommentForComparedCommit":{ + "name":"PostCommentForComparedCommit", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PostCommentForComparedCommitInput"}, + "output":{"shape":"PostCommentForComparedCommitOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"ClientRequestTokenRequiredException"}, + {"shape":"InvalidClientRequestTokenException"}, + {"shape":"IdempotencyParameterMismatchException"}, + {"shape":"CommentContentRequiredException"}, + {"shape":"CommentContentSizeLimitExceededException"}, + {"shape":"InvalidFileLocationException"}, + {"shape":"InvalidRelativeFileVersionEnumException"}, + {"shape":"PathRequiredException"}, + {"shape":"InvalidFilePositionException"}, + {"shape":"CommitIdRequiredException"}, + {"shape":"InvalidCommitIdException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"}, + {"shape":"BeforeCommitIdAndAfterCommitIdAreSameException"}, + {"shape":"CommitDoesNotExistException"}, + {"shape":"InvalidPathException"}, + {"shape":"PathDoesNotExistException"} + ], + "documentation":"

Posts a comment on the comparison between two commits.

", + "idempotent":true + }, + "PostCommentForPullRequest":{ + "name":"PostCommentForPullRequest", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PostCommentForPullRequestInput"}, + "output":{"shape":"PostCommentForPullRequestOutput"}, + "errors":[ + {"shape":"PullRequestDoesNotExistException"}, + {"shape":"InvalidPullRequestIdException"}, + {"shape":"PullRequestIdRequiredException"}, + {"shape":"RepositoryNotAssociatedWithPullRequestException"}, + {"shape":"RepositoryNameRequiredException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"ClientRequestTokenRequiredException"}, + {"shape":"InvalidClientRequestTokenException"}, + {"shape":"IdempotencyParameterMismatchException"}, + {"shape":"CommentContentRequiredException"}, + {"shape":"CommentContentSizeLimitExceededException"}, + {"shape":"InvalidFileLocationException"}, + {"shape":"InvalidRelativeFileVersionEnumException"}, + {"shape":"PathRequiredException"}, + {"shape":"InvalidFilePositionException"}, + {"shape":"CommitIdRequiredException"}, + {"shape":"InvalidCommitIdException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"}, {"shape":"CommitDoesNotExistException"}, {"shape":"InvalidPathException"}, {"shape":"PathDoesNotExistException"}, @@ -746,6 +1208,7 @@ {"shape":"ParentCommitIdOutdatedException"}, {"shape":"FileContentRequiredException"}, {"shape":"FileContentSizeLimitExceededException"}, + {"shape":"FolderContentSizeLimitExceededException"}, {"shape":"PathRequiredException"}, {"shape":"InvalidPathException"}, {"shape":"BranchNameRequiredException"}, @@ -764,7 +1227,8 @@ {"shape":"EncryptionKeyUnavailableException"}, {"shape":"SameFileContentException"}, {"shape":"FileNameConflictsWithDirectoryNameException"}, - {"shape":"DirectoryNameConflictsWithFileNameException"} + {"shape":"DirectoryNameConflictsWithFileNameException"}, + {"shape":"FilePathConflictsWithSubmodulePathException"} ], "documentation":"

Adds or updates a file in a branch in an AWS CodeCommit repository, and generates a commit for the addition in the specified branch.

" }, @@ -801,6 +1265,26 @@ ], "documentation":"

Replaces all triggers for a repository. This can be used to create or delete triggers.

" }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceInput"}, + "errors":[ + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"ResourceArnRequiredException"}, + {"shape":"InvalidResourceArnException"}, + {"shape":"TagsMapRequiredException"}, + {"shape":"InvalidTagsMapException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InvalidSystemTagUsageException"}, + {"shape":"TagPolicyException"} + ], + "documentation":"

Adds or updates tags for a resource in AWS CodeCommit. For a list of valid resources in AWS CodeCommit, see CodeCommit Resources and Operations in the AWS CodeCommit User Guide.

" + }, "TestRepositoryTriggers":{ "name":"TestRepositoryTriggers", "http":{ @@ -834,6 +1318,26 @@ ], "documentation":"

Tests the functionality of repository triggers by sending information to the trigger target. If real data is available in the repository, the test will send data from the last commit. If no data is available, sample data will be generated.

" }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceInput"}, + "errors":[ + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"ResourceArnRequiredException"}, + {"shape":"InvalidResourceArnException"}, + {"shape":"TagKeysListRequiredException"}, + {"shape":"InvalidTagKeysListException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InvalidSystemTagUsageException"}, + {"shape":"TagPolicyException"} + ], + "documentation":"

Removes tags for a resource in AWS CodeCommit. For a list of valid resources in AWS CodeCommit, see CodeCommit Resources and Operations in the AWS CodeCommit User Guide.

" + }, "UpdateComment":{ "name":"UpdateComment", "http":{ @@ -966,7 +1470,7 @@ {"shape":"RepositoryNameRequiredException"}, {"shape":"InvalidRepositoryNameException"} ], - "documentation":"

Renames a repository. The repository name must be unique across the calling AWS account. In addition, repository names are limited to 100 alphanumeric, dash, and underscore characters, and cannot include certain characters. The suffix \".git\" is prohibited. For a full description of the limits on repository names, see Limits in the AWS CodeCommit User Guide.

" + "documentation":"

Renames a repository. The repository name must be unique across the calling AWS account. In addition, repository names are limited to 100 alphanumeric, dash, and underscore characters, and cannot include certain characters. The suffix \".git\" is prohibited. For a full description of the limits on repository names, see Limits in the AWS CodeCommit User Guide.

" } }, "shapes":{ @@ -987,6 +1491,118 @@ "documentation":"

The specified Amazon Resource Name (ARN) does not exist in the AWS account.

", "exception":true }, + "BatchDescribeMergeConflictsError":{ + "type":"structure", + "required":[ + "filePath", + "exceptionName", + "message" + ], + "members":{ + "filePath":{ + "shape":"Path", + "documentation":"

The path to the file.

" + }, + "exceptionName":{ + "shape":"ExceptionName", + "documentation":"

The name of the exception.

" + }, + "message":{ + "shape":"Message", + "documentation":"

The message provided by the exception.

" + } + }, + "documentation":"

Information about errors in a BatchDescribeMergeConflicts operation.

" + }, + "BatchDescribeMergeConflictsErrors":{ + "type":"list", + "member":{"shape":"BatchDescribeMergeConflictsError"} + }, + "BatchDescribeMergeConflictsInput":{ + "type":"structure", + "required":[ + "repositoryName", + "destinationCommitSpecifier", + "sourceCommitSpecifier", + "mergeOption" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository that contains the merge conflicts you want to review.

" + }, + "destinationCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit. For example, a branch name or a full commit ID.

" + }, + "sourceCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit. For example, a branch name or a full commit ID.

" + }, + "mergeOption":{ + "shape":"MergeOptionTypeEnum", + "documentation":"

The merge option or strategy you want to use to merge the code.

" + }, + "maxMergeHunks":{ + "shape":"MaxResults", + "documentation":"

The maximum number of merge hunks to include in the output.

" + }, + "maxConflictFiles":{ + "shape":"MaxResults", + "documentation":"

The maximum number of files to include in the output.

" + }, + "filePaths":{ + "shape":"FilePaths", + "documentation":"

The path of the target files used to describe the conflicts. If not specified, the default is all conflict files.

" + }, + "conflictDetailLevel":{ + "shape":"ConflictDetailLevelTypeEnum", + "documentation":"

The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which will return a not mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict will be considered not mergeable if the same file in both branches has differences on the same line.

" + }, + "conflictResolutionStrategy":{ + "shape":"ConflictResolutionStrategyTypeEnum", + "documentation":"

Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation will be successful.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that when provided in a request, returns the next batch of the results.

" + } + } + }, + "BatchDescribeMergeConflictsOutput":{ + "type":"structure", + "required":[ + "conflicts", + "destinationCommitId", + "sourceCommitId" + ], + "members":{ + "conflicts":{ + "shape":"Conflicts", + "documentation":"

A list of conflicts for each file, including the conflict metadata and the hunks of the differences between the files.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that can be used in a request to return the next batch of the results.

" + }, + "errors":{ + "shape":"BatchDescribeMergeConflictsErrors", + "documentation":"

A list of any errors returned while describing the merge conflicts for each file.

" + }, + "destinationCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the destination commit specifier that was used in the merge evaluation.

" + }, + "sourceCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the source commit specifier that was used in the merge evaluation.

" + }, + "baseCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the merge base.

" + } + } + }, "BatchGetRepositoriesInput":{ "type":"structure", "required":["repositoryNames"], @@ -1102,6 +1718,7 @@ "documentation":"

A branch name is required but was not specified.

", "exception":true }, + "CapitalBoolean":{"type":"boolean"}, "ChangeTypeEnum":{ "type":"string", "enum":[ @@ -1356,8 +1973,110 @@ "documentation":"

A commit was not specified.

", "exception":true }, - "Content":{"type":"string"}, - "CreateBranchInput":{ + "Conflict":{ + "type":"structure", + "members":{ + "conflictMetadata":{ + "shape":"ConflictMetadata", + "documentation":"

Metadata about a conflict in a merge operation.

" + }, + "mergeHunks":{ + "shape":"MergeHunks", + "documentation":"

A list of hunks that contain the differences between files or lines causing the conflict.

" + } + }, + "documentation":"

Information about conflicts in a merge operation.

" + }, + "ConflictDetailLevelTypeEnum":{ + "type":"string", + "enum":[ + "FILE_LEVEL", + "LINE_LEVEL" + ] + }, + "ConflictMetadata":{ + "type":"structure", + "members":{ + "filePath":{ + "shape":"Path", + "documentation":"

The path of the file that contains conflicts.

" + }, + "fileSizes":{ + "shape":"FileSizes", + "documentation":"

The file sizes of the file in the source, destination, and base of the merge.

" + }, + "fileModes":{ + "shape":"FileModes", + "documentation":"

The file modes of the file in the source, destination, and base of the merge.

" + }, + "objectTypes":{ + "shape":"ObjectTypes", + "documentation":"

Information about any object type conflicts in a merge operation.

" + }, + "numberOfConflicts":{ + "shape":"NumberOfConflicts", + "documentation":"

The number of conflicts, including both hunk conflicts and metadata conflicts.

" + }, + "isBinaryFile":{ + "shape":"IsBinaryFile", + "documentation":"

A boolean value (true or false) indicating whether the file is binary or textual in the source, destination, and base of the merge.

" + }, + "contentConflict":{ + "shape":"IsContentConflict", + "documentation":"

A boolean value indicating whether there are conflicts in the content of a file.

" + }, + "fileModeConflict":{ + "shape":"IsFileModeConflict", + "documentation":"

A boolean value indicating whether there are conflicts in the file mode of a file.

" + }, + "objectTypeConflict":{ + "shape":"IsObjectTypeConflict", + "documentation":"

A boolean value (true or false) indicating whether there are conflicts in the object type of a file.

" + }, + "mergeOperations":{ + "shape":"MergeOperations", + "documentation":"

Whether an add, modify, or delete operation caused the conflict between the source and destination of the merge.

" + } + }, + "documentation":"

Information about the metadata for a conflict in a merge operation.

" + }, + "ConflictMetadataList":{ + "type":"list", + "member":{"shape":"ConflictMetadata"} + }, + "ConflictResolution":{ + "type":"structure", + "members":{ + "replaceContents":{ + "shape":"ReplaceContentEntries", + "documentation":"

Information about how a conflict in a merge will be resolved.

" + }, + "deleteFiles":{ + "shape":"DeleteFileEntries", + "documentation":"

Files that will be deleted as part of the merge conflict resolution.

" + }, + "setFileModes":{ + "shape":"SetFileModeEntries", + "documentation":"

File modes that will be set as part of the merge conflict resolution.

" + } + }, + "documentation":"

A list of inputs to use when resolving conflicts during a merge if AUTOMERGE is chosen as the conflict resolution strategy.

" + }, + "ConflictResolutionStrategyTypeEnum":{ + "type":"string", + "enum":[ + "NONE", + "ACCEPT_SOURCE", + "ACCEPT_DESTINATION", + "AUTOMERGE" + ] + }, + "Conflicts":{ + "type":"list", + "member":{"shape":"Conflict"} + }, + "Content":{"type":"string"}, + "CreateBranchInput":{ "type":"structure", "required":[ "repositoryName", @@ -1380,6 +2099,80 @@ }, "documentation":"

Represents the input of a create branch operation.

" }, + "CreateCommitInput":{ + "type":"structure", + "required":[ + "repositoryName", + "branchName" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where you will create the commit.

" + }, + "branchName":{ + "shape":"BranchName", + "documentation":"

The name of the branch where you will create the commit.

" + }, + "parentCommitId":{ + "shape":"CommitId", + "documentation":"

The ID of the commit that is the parent of the commit you will create. If this is an empty repository, this is not required.

" + }, + "authorName":{ + "shape":"Name", + "documentation":"

The name of the author who created the commit. This information will be used as both the author and committer for the commit.

" + }, + "email":{ + "shape":"Email", + "documentation":"

The email address of the person who created the commit.

" + }, + "commitMessage":{ + "shape":"Message", + "documentation":"

The commit message you want to include as part of creating the commit. Commit messages are limited to 256 KB. If no message is specified, a default message will be used.

" + }, + "keepEmptyFolders":{ + "shape":"KeepEmptyFolders", + "documentation":"

If the commit contains deletions, whether to keep a folder or folder structure if the changes leave the folders empty. If this is specified as true, a .gitkeep file will be created for empty folders. The default is false.

" + }, + "putFiles":{ + "shape":"PutFileEntries", + "documentation":"

The files to add or update in this commit.

" + }, + "deleteFiles":{ + "shape":"DeleteFileEntries", + "documentation":"

The files to delete in this commit. These files will still exist in prior commits.

" + }, + "setFileModes":{ + "shape":"SetFileModeEntries", + "documentation":"

The file modes to update for files in this commit.

" + } + } + }, + "CreateCommitOutput":{ + "type":"structure", + "members":{ + "commitId":{ + "shape":"ObjectId", + "documentation":"

The full commit ID of the commit that contains your committed file changes.

" + }, + "treeId":{ + "shape":"ObjectId", + "documentation":"

The full SHA-1 pointer of the tree information for the commit that contains the commited file changes.

" + }, + "filesAdded":{ + "shape":"FilesMetadata", + "documentation":"

The files added as part of the committed file changes.

" + }, + "filesUpdated":{ + "shape":"FilesMetadata", + "documentation":"

The files updated as part of the commited file changes.

" + }, + "filesDeleted":{ + "shape":"FilesMetadata", + "documentation":"

The files deleted as part of the committed file changes.

" + } + } + }, "CreatePullRequestInput":{ "type":"structure", "required":[ @@ -1422,11 +2215,15 @@ "members":{ "repositoryName":{ "shape":"RepositoryName", - "documentation":"

The name of the new repository to be created.

The repository name must be unique across the calling AWS account. In addition, repository names are limited to 100 alphanumeric, dash, and underscore characters, and cannot include certain characters. For a full description of the limits on repository names, see Limits in the AWS CodeCommit User Guide. The suffix \".git\" is prohibited.

" + "documentation":"

The name of the new repository to be created.

The repository name must be unique across the calling AWS account. In addition, repository names are limited to 100 alphanumeric, dash, and underscore characters, and cannot include certain characters. For a full description of the limits on repository names, see Limits in the AWS CodeCommit User Guide. The suffix \".git\" is prohibited.

" }, "repositoryDescription":{ "shape":"RepositoryDescription", "documentation":"

A comment or description about the new repository.

The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a web page could expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a web page.

" + }, + "tags":{ + "shape":"TagsMap", + "documentation":"

One or more tag key-value pairs to use when tagging this repository.

" } }, "documentation":"

Represents the input of a create repository operation.

" @@ -1441,6 +2238,74 @@ }, "documentation":"

Represents the output of a create repository operation.

" }, + "CreateUnreferencedMergeCommitInput":{ + "type":"structure", + "required":[ + "repositoryName", + "sourceCommitSpecifier", + "destinationCommitSpecifier", + "mergeOption" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where you want to create the unreferenced merge commit.

" + }, + "sourceCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit. For example, a branch name or a full commit ID.

" + }, + "destinationCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit. For example, a branch name or a full commit ID.

" + }, + "mergeOption":{ + "shape":"MergeOptionTypeEnum", + "documentation":"

The merge option or strategy you want to use to merge the code.

" + }, + "conflictDetailLevel":{ + "shape":"ConflictDetailLevelTypeEnum", + "documentation":"

The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which will return a not mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict will be considered not mergeable if the same file in both branches has differences on the same line.

" + }, + "conflictResolutionStrategy":{ + "shape":"ConflictResolutionStrategyTypeEnum", + "documentation":"

Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation will be successful.

" + }, + "authorName":{ + "shape":"Name", + "documentation":"

The name of the author who created the unreferenced commit. This information will be used as both the author and committer for the commit.

" + }, + "email":{ + "shape":"Email", + "documentation":"

The email address for the person who created the unreferenced commit.

" + }, + "commitMessage":{ + "shape":"Message", + "documentation":"

The commit message for the unreferenced commit.

" + }, + "keepEmptyFolders":{ + "shape":"KeepEmptyFolders", + "documentation":"

If the commit contains deletions, whether to keep a folder or folder structure if the changes leave the folders empty. If this is specified as true, a .gitkeep file will be created for empty folders. The default is false.

" + }, + "conflictResolution":{ + "shape":"ConflictResolution", + "documentation":"

A list of inputs to use when resolving conflicts during a merge if AUTOMERGE is chosen as the conflict resolution strategy.

" + } + } + }, + "CreateUnreferencedMergeCommitOutput":{ + "type":"structure", + "members":{ + "commitId":{ + "shape":"ObjectId", + "documentation":"

The full commit ID of the commit that contains your merge results.

" + }, + "treeId":{ + "shape":"ObjectId", + "documentation":"

The full SHA-1 pointer of the tree information for the commit that contains the merge results.

" + } + } + }, "CreationDate":{"type":"timestamp"}, "Date":{"type":"string"}, "DefaultBranchCannotBeDeletedException":{ @@ -1497,6 +2362,21 @@ } } }, + "DeleteFileEntries":{ + "type":"list", + "member":{"shape":"DeleteFileEntry"} + }, + "DeleteFileEntry":{ + "type":"structure", + "required":["filePath"], + "members":{ + "filePath":{ + "shape":"Path", + "documentation":"

The full path of the file that will be deleted, including the name of the file.

" + } + }, + "documentation":"

A file that will be deleted as part of a commit.

" + }, "DeleteFileInput":{ "type":"structure", "required":[ @@ -1588,6 +2468,89 @@ }, "documentation":"

Represents the output of a delete repository operation.

" }, + "DescribeMergeConflictsInput":{ + "type":"structure", + "required":[ + "repositoryName", + "destinationCommitSpecifier", + "sourceCommitSpecifier", + "mergeOption", + "filePath" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where you want to get information about a merge conflict.

" + }, + "destinationCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit. For example, a branch name or a full commit ID.

" + }, + "sourceCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit. For example, a branch name or a full commit ID.

" + }, + "mergeOption":{ + "shape":"MergeOptionTypeEnum", + "documentation":"

The merge option or strategy you want to use to merge the code.

" + }, + "maxMergeHunks":{ + "shape":"MaxResults", + "documentation":"

The maximum number of merge hunks to include in the output.

" + }, + "filePath":{ + "shape":"Path", + "documentation":"

The path of the target files used to describe the conflicts.

" + }, + "conflictDetailLevel":{ + "shape":"ConflictDetailLevelTypeEnum", + "documentation":"

The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which will return a not mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict will be considered not mergeable if the same file in both branches has differences on the same line.

" + }, + "conflictResolutionStrategy":{ + "shape":"ConflictResolutionStrategyTypeEnum", + "documentation":"

Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation will be successful.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that when provided in a request, returns the next batch of the results.

" + } + } + }, + "DescribeMergeConflictsOutput":{ + "type":"structure", + "required":[ + "conflictMetadata", + "mergeHunks", + "destinationCommitId", + "sourceCommitId" + ], + "members":{ + "conflictMetadata":{ + "shape":"ConflictMetadata", + "documentation":"

Contains metadata about the conflicts found in the merge.

" + }, + "mergeHunks":{ + "shape":"MergeHunks", + "documentation":"

A list of merge hunks of the differences between the files or lines.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that can be used in a request to return the next batch of the results.

" + }, + "destinationCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the destination commit specifier that was used in the merge evaluation.

" + }, + "sourceCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the source commit specifier that was used in the merge evaluation.

" + }, + "baseCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the merge base.

" + } + } + }, "DescribePullRequestEventsInput":{ "type":"structure", "required":["pullRequestId"], @@ -1699,6 +2662,7 @@ "exception":true }, "EventDate":{"type":"timestamp"}, + "ExceptionName":{"type":"string"}, "File":{ "type":"structure", "members":{ @@ -1725,6 +2689,13 @@ "type":"blob", "max":6291456 }, + "FileContentAndSourceFileSpecifiedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The commit cannot be created because both a source file and file content have been specified for the same file. You cannot provide both. Either specify a source file, or provide the file content directly.

", + "exception":true + }, "FileContentRequiredException":{ "type":"structure", "members":{ @@ -1736,7 +2707,7 @@ "type":"structure", "members":{ }, - "documentation":"

The file cannot be added because it is too large. The maximum file size that can be added using PutFile is 6 MB. For files larger than 6 MB but smaller than 2 GB, add them using a Git client.

", + "documentation":"

The file cannot be added because it is too large. The maximum file size that can be added is 6 MB, and the combined file content change size is 7 MB. Consider making these changes using a Git client.

", "exception":true }, "FileDoesNotExistException":{ @@ -1746,10 +2717,42 @@ "documentation":"

The specified file does not exist. Verify that you have provided the correct name of the file, including its full path and extension.

", "exception":true }, + "FileEntryRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The commit cannot be created because no files have been specified as added, updated, or changed (PutFile or DeleteFile) for the commit.

", + "exception":true + }, "FileList":{ "type":"list", "member":{"shape":"File"} }, + "FileMetadata":{ + "type":"structure", + "members":{ + "absolutePath":{ + "shape":"Path", + "documentation":"

The full path to the file that will be added or updated, including the name of the file.

" + }, + "blobId":{ + "shape":"ObjectId", + "documentation":"

The blob ID that contains the file information.

" + }, + "fileMode":{ + "shape":"FileModeTypeEnum", + "documentation":"

The extrapolated file mode permissions for the file. Valid values include EXECUTABLE and NORMAL.

" + } + }, + "documentation":"

A file that will be added, updated, or deleted as part of a commit.

" + }, + "FileModeRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The commit cannot be created because a file mode is required to update mode permissions for an existing file, but no file mode has been specified.

", + "exception":true + }, "FileModeTypeEnum":{ "type":"string", "enum":[ @@ -1758,6 +2761,24 @@ "SYMLINK" ] }, + "FileModes":{ + "type":"structure", + "members":{ + "source":{ + "shape":"FileModeTypeEnum", + "documentation":"

The file mode of a file in the source of a merge or pull request.

" + }, + "destination":{ + "shape":"FileModeTypeEnum", + "documentation":"

The file mode of a file in the destination of a merge or pull request.

" + }, + "base":{ + "shape":"FileModeTypeEnum", + "documentation":"

The file mode of a file in the base of a merge or pull request.

" + } + }, + "documentation":"

Information about file modes in a merge or pull request.

" + }, "FileNameConflictsWithDirectoryNameException":{ "type":"structure", "members":{ @@ -1765,13 +2786,47 @@ "documentation":"

A file cannot be added to the repository because the specified file name has the same name as a directory in this repository. Either provide another name for the file, or add the file in a directory that does not match the file name.

", "exception":true }, + "FilePathConflictsWithSubmodulePathException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The commit cannot be created because a specified file path points to a submodule. Verify that the destination files have valid file paths that do not point to a submodule.

", + "exception":true + }, + "FilePaths":{ + "type":"list", + "member":{"shape":"Path"} + }, + "FileSize":{"type":"long"}, + "FileSizes":{ + "type":"structure", + "members":{ + "source":{ + "shape":"FileSize", + "documentation":"

The size of a file in the source of a merge or pull request.

" + }, + "destination":{ + "shape":"FileSize", + "documentation":"

The size of a file in the destination of a merge or pull request.

" + }, + "base":{ + "shape":"FileSize", + "documentation":"

The size of a file in the base of a merge or pull request.

" + } + }, + "documentation":"

Information about the size of files in a merge or pull request.

" + }, "FileTooLargeException":{ "type":"structure", "members":{ }, - "documentation":"

The specified file exceeds the file size limit for AWS CodeCommit. For more information about limits in AWS CodeCommit, see AWS CodeCommit User Guide.

", + "documentation":"

The specified file exceeds the file size limit for AWS CodeCommit. For more information about limits in AWS CodeCommit, see AWS CodeCommit User Guide.

", "exception":true }, + "FilesMetadata":{ + "type":"list", + "member":{"shape":"FileMetadata"} + }, "Folder":{ "type":"structure", "members":{ @@ -1790,6 +2845,13 @@ }, "documentation":"

Returns information about a folder in a repository.

" }, + "FolderContentSizeLimitExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The commit cannot be created because at least one of the overall changes in the commit results in a folder whose contents exceed the limit of 6 MB. Either reduce the number and size of your changes, or split the changes across multiple folders.

", + "exception":true + }, "FolderDoesNotExistException":{ "type":"structure", "members":{ @@ -2153,6 +3215,57 @@ } } }, + "GetMergeCommitInput":{ + "type":"structure", + "required":[ + "repositoryName", + "sourceCommitSpecifier", + "destinationCommitSpecifier" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository that contains the merge commit about which you want to get information.

" + }, + "sourceCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit. For example, a branch name or a full commit ID.

" + }, + "destinationCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit. For example, a branch name or a full commit ID.

" + }, + "conflictDetailLevel":{ + "shape":"ConflictDetailLevelTypeEnum", + "documentation":"

The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which will return a not mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict will be considered not mergeable if the same file in both branches has differences on the same line.

" + }, + "conflictResolutionStrategy":{ + "shape":"ConflictResolutionStrategyTypeEnum", + "documentation":"

Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation will be successful.

" + } + } + }, + "GetMergeCommitOutput":{ + "type":"structure", + "members":{ + "sourceCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the source commit specifier that was used in the merge evaluation.

" + }, + "destinationCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the destination commit specifier that was used in the merge evaluation.

" + }, + "baseCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the merge base.

" + }, + "mergedCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID for the merge commit created when the source branch was merged into the destination branch. If the fast-forward merge strategy was used, no merge commit exists.

" + } + } + }, "GetMergeConflictsInput":{ "type":"structure", "required":[ @@ -2176,7 +3289,23 @@ }, "mergeOption":{ "shape":"MergeOptionTypeEnum", - "documentation":"

The merge option or strategy you want to use to merge the code. The only valid value is FAST_FORWARD_MERGE.

" + "documentation":"

The merge option or strategy you want to use to merge the code.

" + }, + "conflictDetailLevel":{ + "shape":"ConflictDetailLevelTypeEnum", + "documentation":"

The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which will return a not mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict will be considered not mergeable if the same file in both branches has differences on the same line.

" + }, + "maxConflictFiles":{ + "shape":"MaxResults", + "documentation":"

The maximum number of files to include in the output.

" + }, + "conflictResolutionStrategy":{ + "shape":"ConflictResolutionStrategyTypeEnum", + "documentation":"

Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation will be successful.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that when provided in a request, returns the next batch of the results.

" } } }, @@ -2185,20 +3314,90 @@ "required":[ "mergeable", "destinationCommitId", - "sourceCommitId" + "sourceCommitId", + "conflictMetadataList" ], "members":{ "mergeable":{ "shape":"IsMergeable", - "documentation":"

A Boolean value that indicates whether the code is mergable by the specified merge option.

" + "documentation":"

A Boolean value that indicates whether the code is mergeable by the specified merge option.

" }, "destinationCommitId":{ - "shape":"CommitId", + "shape":"ObjectId", "documentation":"

The commit ID of the destination commit specifier that was used in the merge evaluation.

" }, "sourceCommitId":{ - "shape":"CommitId", + "shape":"ObjectId", + "documentation":"

The commit ID of the source commit specifier that was used in the merge evaluation.

" + }, + "baseCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the merge base.

" + }, + "conflictMetadataList":{ + "shape":"ConflictMetadataList", + "documentation":"

A list of metadata for any conflicts found.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that can be used in a request to return the next batch of the results.

" + } + } + }, + "GetMergeOptionsInput":{ + "type":"structure", + "required":[ + "repositoryName", + "sourceCommitSpecifier", + "destinationCommitSpecifier" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository that contains the commits about which you want to get merge options.

" + }, + "sourceCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit. For example, a branch name or a full commit ID.

" + }, + "destinationCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit. For example, a branch name or a full commit ID.

" + }, + "conflictDetailLevel":{ + "shape":"ConflictDetailLevelTypeEnum", + "documentation":"

The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which will return a not mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict will be considered not mergeable if the same file in both branches has differences on the same line.

" + }, + "conflictResolutionStrategy":{ + "shape":"ConflictResolutionStrategyTypeEnum", + "documentation":"

Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation will be successful.

" + } + } + }, + "GetMergeOptionsOutput":{ + "type":"structure", + "required":[ + "mergeOptions", + "sourceCommitId", + "destinationCommitId", + "baseCommitId" + ], + "members":{ + "mergeOptions":{ + "shape":"MergeOptions", + "documentation":"

The merge option or strategy used to merge the code.

" + }, + "sourceCommitId":{ + "shape":"ObjectId", "documentation":"

The commit ID of the source commit specifier that was used in the merge evaluation.

" + }, + "destinationCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the destination commit specifier that was used in the merge evaluation.

" + }, + "baseCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the merge base.

" } } }, @@ -2268,6 +3467,7 @@ }, "documentation":"

Represents the output of a get repository triggers operation.

" }, + "HunkContent":{"type":"string"}, "IdempotencyParameterMismatchException":{ "type":"structure", "members":{ @@ -2331,6 +3531,27 @@ "documentation":"

The specified commit ID is not valid.

", "exception":true }, + "InvalidConflictDetailLevelException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified conflict detail level is not valid.

", + "exception":true + }, + "InvalidConflictResolutionException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified conflict resolution list is not valid.

", + "exception":true + }, + "InvalidConflictResolutionStrategyException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified conflict resolution strategy is not valid.

", + "exception":true + }, "InvalidContinuationTokenException":{ "type":"structure", "members":{ @@ -2387,6 +3608,20 @@ "documentation":"

The position is not valid. Make sure that the line number exists in the version of the file you want to comment on.

", "exception":true }, + "InvalidMaxConflictFilesException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified value for the number of conflict files to return is not valid.

", + "exception":true + }, + "InvalidMaxMergeHunksException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified value for the number of merge hunks to return is not valid.

", + "exception":true + }, "InvalidMaxResultsException":{ "type":"structure", "members":{ @@ -2398,7 +3633,7 @@ "type":"structure", "members":{ }, - "documentation":"

The specified merge option is not valid. The only valid value is FAST_FORWARD_MERGE.

", + "documentation":"

The specified merge option is not valid for this operation. Not all merge strategies are supported for all operations.

", "exception":true }, "InvalidOrderException":{ @@ -2464,6 +3699,20 @@ "documentation":"

Either the enum is not in a valid format, or the specified file version enum is not valid in respect to the current file version.

", "exception":true }, + "InvalidReplacementContentException":{ + "type":"structure", + "members":{ + }, + "documentation":"

Automerge was specified for resolving the conflict, but the replacement type is not valid or content is missing.

", + "exception":true + }, + "InvalidReplacementTypeException":{ + "type":"structure", + "members":{ + }, + "documentation":"

Automerge was specified for resolving the conflict, but the specified replacement type is not valid.

", + "exception":true + }, "InvalidRepositoryDescriptionException":{ "type":"structure", "members":{ @@ -2520,6 +3769,13 @@ "documentation":"

The region for the trigger target does not match the region for the repository. Triggers must be created in the same region as the target for the trigger.

", "exception":true }, + "InvalidResourceArnException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The value for the resource ARN is not valid. For more information about resources in AWS CodeCommit, see CodeCommit Resources and Operations in the AWS CodeCommit User Guide.

", + "exception":true + }, "InvalidSortByException":{ "type":"structure", "members":{ @@ -2534,6 +3790,34 @@ "documentation":"

The source commit specifier is not valid. You must provide a valid branch name, tag, or full commit ID.

", "exception":true }, + "InvalidSystemTagUsageException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified tag is not valid. Key names cannot be prefixed with aws:.

", + "exception":true + }, + "InvalidTagKeysListException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The list of tags is not valid.

", + "exception":true + }, + "InvalidTagsMapException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The map of tags is not valid.

", + "exception":true + }, + "InvalidTargetBranchException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified target branch is not valid.

", + "exception":true + }, "InvalidTargetException":{ "type":"structure", "members":{ @@ -2555,15 +3839,39 @@ "documentation":"

The title of the pull request is not valid. Pull request titles cannot exceed 100 characters in length.

", "exception":true }, + "IsBinaryFile":{ + "type":"structure", + "members":{ + "source":{ + "shape":"CapitalBoolean", + "documentation":"

The binary or non-binary status of file in the source of a merge or pull request.

" + }, + "destination":{ + "shape":"CapitalBoolean", + "documentation":"

The binary or non-binary status of a file in the destination of a merge or pull request.

" + }, + "base":{ + "shape":"CapitalBoolean", + "documentation":"

The binary or non-binary status of a file in the base of a merge or pull request.

" + } + }, + "documentation":"

Information about whether a file is binary or textual in a merge or pull request operation.

" + }, "IsCommentDeleted":{"type":"boolean"}, + "IsContentConflict":{"type":"boolean"}, + "IsFileModeConflict":{"type":"boolean"}, + "IsHunkConflict":{"type":"boolean"}, "IsMergeable":{"type":"boolean"}, "IsMerged":{"type":"boolean"}, + "IsMove":{"type":"boolean"}, + "IsObjectTypeConflict":{"type":"boolean"}, "KeepEmptyFolders":{"type":"boolean"}, "LastModifiedDate":{"type":"timestamp"}, "Limit":{ "type":"integer", "box":true }, + "LineNumber":{"type":"integer"}, "ListBranchesInput":{ "type":"structure", "required":["repositoryName"], @@ -2665,6 +3973,33 @@ }, "documentation":"

Represents the output of a list repositories operation.

" }, + "ListTagsForResourceInput":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource for which you want to get information about tags, if any.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that when provided in a request, returns the next batch of the results.

" + } + } + }, + "ListTagsForResourceOutput":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagsMap", + "documentation":"

A list of tag key and value pairs associated with the specified resource.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that allows the operation to batch the next results of the operation.

" + } + } + }, "Location":{ "type":"structure", "members":{ @@ -2698,6 +4033,27 @@ "documentation":"

The number of branches for the trigger was exceeded.

", "exception":true }, + "MaximumConflictResolutionEntriesExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The number of allowed conflict resolution entries was exceeded.

", + "exception":true + }, + "MaximumFileContentToLoadExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The number of files to load exceeds the allowed limit.

", + "exception":true + }, + "MaximumFileEntriesExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The number of specified files to change as part of this commit exceeds the maximum number of files that can be changed in a single commit. Consider using a Git client for these changes.

", + "exception":true + }, "MaximumOpenPullRequestsExceededException":{ "type":"structure", "members":{ @@ -2719,19 +4075,258 @@ "documentation":"

The number of triggers allowed for the repository was exceeded.

", "exception":true }, - "MergeMetadata":{ + "MergeBranchesByFastForwardInput":{ + "type":"structure", + "required":[ + "repositoryName", + "sourceCommitSpecifier", + "destinationCommitSpecifier" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where you want to merge two branches.

" + }, + "sourceCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit. For example, a branch name or a full commit ID.

" + }, + "destinationCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit. For example, a branch name or a full commit ID.

" + }, + "targetBranch":{ + "shape":"BranchName", + "documentation":"

The branch where the merge will be applied.

" + } + } + }, + "MergeBranchesByFastForwardOutput":{ + "type":"structure", + "members":{ + "commitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the merge in the destination or target branch.

" + }, + "treeId":{ + "shape":"ObjectId", + "documentation":"

The tree ID of the merge in the destination or target branch.

" + } + } + }, + "MergeBranchesBySquashInput":{ + "type":"structure", + "required":[ + "repositoryName", + "sourceCommitSpecifier", + "destinationCommitSpecifier" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where you want to merge two branches.

" + }, + "sourceCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit. For example, a branch name or a full commit ID.

" + }, + "destinationCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit. For example, a branch name or a full commit ID.

" + }, + "targetBranch":{ + "shape":"BranchName", + "documentation":"

The branch where the merge will be applied.

" + }, + "conflictDetailLevel":{ + "shape":"ConflictDetailLevelTypeEnum", + "documentation":"

The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which will return a not mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict will be considered not mergeable if the same file in both branches has differences on the same line.

" + }, + "conflictResolutionStrategy":{ + "shape":"ConflictResolutionStrategyTypeEnum", + "documentation":"

Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation will be successful.

" + }, + "authorName":{ + "shape":"Name", + "documentation":"

The name of the author who created the commit. This information will be used as both the author and committer for the commit.

" + }, + "email":{ + "shape":"Email", + "documentation":"

The email address of the person merging the branches. This information will be used in the commit information for the merge.

" + }, + "commitMessage":{ + "shape":"Message", + "documentation":"

The commit message for the merge.

" + }, + "keepEmptyFolders":{ + "shape":"KeepEmptyFolders", + "documentation":"

If the commit contains deletions, whether to keep a folder or folder structure if the changes leave the folders empty. If this is specified as true, a .gitkeep file will be created for empty folders. The default is false.

" + }, + "conflictResolution":{ + "shape":"ConflictResolution", + "documentation":"

A list of inputs to use when resolving conflicts during a merge if AUTOMERGE is chosen as the conflict resolution strategy.

" + } + } + }, + "MergeBranchesBySquashOutput":{ + "type":"structure", + "members":{ + "commitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the merge in the destination or target branch.

" + }, + "treeId":{ + "shape":"ObjectId", + "documentation":"

The tree ID of the merge in the destination or target branch.

" + } + } + }, + "MergeBranchesByThreeWayInput":{ + "type":"structure", + "required":[ + "repositoryName", + "sourceCommitSpecifier", + "destinationCommitSpecifier" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where you want to merge two branches.

" + }, + "sourceCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit. For example, a branch name or a full commit ID.

" + }, + "destinationCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit. For example, a branch name or a full commit ID.

" + }, + "targetBranch":{ + "shape":"BranchName", + "documentation":"

The branch where the merge will be applied.

" + }, + "conflictDetailLevel":{ + "shape":"ConflictDetailLevelTypeEnum", + "documentation":"

The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which will return a not mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict will be considered not mergeable if the same file in both branches has differences on the same line.

" + }, + "conflictResolutionStrategy":{ + "shape":"ConflictResolutionStrategyTypeEnum", + "documentation":"

Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation will be successful.

" + }, + "authorName":{ + "shape":"Name", + "documentation":"

The name of the author who created the commit. This information will be used as both the author and committer for the commit.

" + }, + "email":{ + "shape":"Email", + "documentation":"

The email address of the person merging the branches. This information will be used in the commit information for the merge.

" + }, + "commitMessage":{ + "shape":"Message", + "documentation":"

The commit message to include in the commit information for the merge.

" + }, + "keepEmptyFolders":{ + "shape":"KeepEmptyFolders", + "documentation":"

If the commit contains deletions, whether to keep a folder or folder structure if the changes leave the folders empty. If this is specified as true, a .gitkeep file will be created for empty folders. The default is false.

" + }, + "conflictResolution":{ + "shape":"ConflictResolution", + "documentation":"

A list of inputs to use when resolving conflicts during a merge if AUTOMERGE is chosen as the conflict resolution strategy.

" + } + } + }, + "MergeBranchesByThreeWayOutput":{ + "type":"structure", + "members":{ + "commitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the merge in the destination or target branch.

" + }, + "treeId":{ + "shape":"ObjectId", + "documentation":"

The tree ID of the merge in the destination or target branch.

" + } + } + }, + "MergeHunk":{ + "type":"structure", + "members":{ + "isConflict":{ + "shape":"IsHunkConflict", + "documentation":"

A Boolean value indicating whether a combination of hunks contains a conflict. Conflicts occur when the same file or the same lines in a file were modified in both the source and destination of a merge or pull request. Valid values include true, false, and null.

" + }, + "source":{ + "shape":"MergeHunkDetail", + "documentation":"

Information about the merge hunk in the source of a merge or pull request.

" + }, + "destination":{ + "shape":"MergeHunkDetail", + "documentation":"

Information about the merge hunk in the destination of a merge or pull request.

" + }, + "base":{ + "shape":"MergeHunkDetail", + "documentation":"

Information about the merge hunk in the base of a merge or pull request.

" + } + }, + "documentation":"

Information about merge hunks in a merge or pull request operation.

" + }, + "MergeHunkDetail":{ + "type":"structure", + "members":{ + "startLine":{ + "shape":"LineNumber", + "documentation":"

The line number where a merge conflict begins.

" + }, + "endLine":{ + "shape":"LineNumber", + "documentation":"

The line number where a merge conflict ends.

" + }, + "hunkContent":{ + "shape":"HunkContent", + "documentation":"

The base-64 encoded content of the hunk that contains the conflict.

" + } + }, + "documentation":"

Information about the details of a merge hunk that contains a conflict in a merge or pull request operation.

" + }, + "MergeHunks":{ + "type":"list", + "member":{"shape":"MergeHunk"} + }, + "MergeMetadata":{ + "type":"structure", + "members":{ + "isMerged":{ + "shape":"IsMerged", + "documentation":"

A Boolean value indicating whether the merge has been made.

" + }, + "mergedBy":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the user who merged the branches.

" + }, + "mergeCommitId":{ + "shape":"CommitId", + "documentation":"

The commit ID for the merge commit, if any.

" + }, + "mergeOption":{ + "shape":"MergeOptionTypeEnum", + "documentation":"

The merge strategy used in the merge.

" + } + }, + "documentation":"

Returns information about a merge or potential merge between a source reference and a destination reference in a pull request.

" + }, + "MergeOperations":{ "type":"structure", "members":{ - "isMerged":{ - "shape":"IsMerged", - "documentation":"

A Boolean value indicating whether the merge has been made.

" + "source":{ + "shape":"ChangeTypeEnum", + "documentation":"

The operation on a file (add, modify, or delete) of a file in the source of a merge or pull request.

" }, - "mergedBy":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the user who merged the branches.

" + "destination":{ + "shape":"ChangeTypeEnum", + "documentation":"

The operation on a file in the destination of a merge or pull request.

" } }, - "documentation":"

Returns information about a merge or potential merge between a source reference and a destination reference in a pull request.

" + "documentation":"

Information about the file operation conflicts in a merge operation.

" }, "MergeOptionRequiredException":{ "type":"structure", @@ -2742,7 +4337,15 @@ }, "MergeOptionTypeEnum":{ "type":"string", - "enum":["FAST_FORWARD_MERGE"] + "enum":[ + "FAST_FORWARD_MERGE", + "SQUASH_MERGE", + "THREE_WAY_MERGE" + ] + }, + "MergeOptions":{ + "type":"list", + "member":{"shape":"MergeOptionTypeEnum"} }, "MergePullRequestByFastForwardInput":{ "type":"structure", @@ -2760,7 +4363,7 @@ "documentation":"

The name of the repository where the pull request was created.

" }, "sourceCommitId":{ - "shape":"CommitId", + "shape":"ObjectId", "documentation":"

The full commit ID of the original or updated commit in the pull request source branch. Pass this value if you want an exception thrown if the current commit ID of the tip of the source branch does not match this commit ID.

" } } @@ -2774,8 +4377,125 @@ } } }, + "MergePullRequestBySquashInput":{ + "type":"structure", + "required":[ + "pullRequestId", + "repositoryName" + ], + "members":{ + "pullRequestId":{ + "shape":"PullRequestId", + "documentation":"

The system-generated ID of the pull request. To get this ID, use ListPullRequests.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where the pull request was created.

" + }, + "sourceCommitId":{ + "shape":"ObjectId", + "documentation":"

The full commit ID of the original or updated commit in the pull request source branch. Pass this value if you want an exception thrown if the current commit ID of the tip of the source branch does not match this commit ID.

" + }, + "conflictDetailLevel":{ + "shape":"ConflictDetailLevelTypeEnum", + "documentation":"

The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which will return a not mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict will be considered not mergeable if the same file in both branches has differences on the same line.

" + }, + "conflictResolutionStrategy":{ + "shape":"ConflictResolutionStrategyTypeEnum", + "documentation":"

Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation will be successful.

" + }, + "commitMessage":{ + "shape":"Message", + "documentation":"

The commit message to include in the commit information for the merge.

" + }, + "authorName":{ + "shape":"Name", + "documentation":"

The name of the author who created the commit. This information will be used as both the author and committer for the commit.

" + }, + "email":{ + "shape":"Email", + "documentation":"

The email address of the person merging the branches. This information will be used in the commit information for the merge.

" + }, + "keepEmptyFolders":{ + "shape":"KeepEmptyFolders", + "documentation":"

If the commit contains deletions, whether to keep a folder or folder structure if the changes leave the folders empty. If this is specified as true, a .gitkeep file will be created for empty folders. The default is false.

" + }, + "conflictResolution":{ + "shape":"ConflictResolution", + "documentation":"

A list of inputs to use when resolving conflicts during a merge if AUTOMERGE is chosen as the conflict resolution strategy.

" + } + } + }, + "MergePullRequestBySquashOutput":{ + "type":"structure", + "members":{ + "pullRequest":{"shape":"PullRequest"} + } + }, + "MergePullRequestByThreeWayInput":{ + "type":"structure", + "required":[ + "pullRequestId", + "repositoryName" + ], + "members":{ + "pullRequestId":{ + "shape":"PullRequestId", + "documentation":"

The system-generated ID of the pull request. To get this ID, use ListPullRequests.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where the pull request was created.

" + }, + "sourceCommitId":{ + "shape":"ObjectId", + "documentation":"

The full commit ID of the original or updated commit in the pull request source branch. Pass this value if you want an exception thrown if the current commit ID of the tip of the source branch does not match this commit ID.

" + }, + "conflictDetailLevel":{ + "shape":"ConflictDetailLevelTypeEnum", + "documentation":"

The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which will return a not mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict will be considered not mergeable if the same file in both branches has differences on the same line.

" + }, + "conflictResolutionStrategy":{ + "shape":"ConflictResolutionStrategyTypeEnum", + "documentation":"

Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation will be successful.

" + }, + "commitMessage":{ + "shape":"Message", + "documentation":"

The commit message to include in the commit information for the merge.

" + }, + "authorName":{ + "shape":"Name", + "documentation":"

The name of the author who created the commit. This information will be used as both the author and committer for the commit.

" + }, + "email":{ + "shape":"Email", + "documentation":"

The email address of the person merging the branches. This information will be used in the commit information for the merge.

" + }, + "keepEmptyFolders":{ + "shape":"KeepEmptyFolders", + "documentation":"

If the commit contains deletions, whether to keep a folder or folder structure if the changes leave the folders empty. If this is specified as true, a .gitkeep file will be created for empty folders. The default is false.

" + }, + "conflictResolution":{ + "shape":"ConflictResolution", + "documentation":"

A list of inputs to use when resolving conflicts during a merge if AUTOMERGE is chosen as the conflict resolution strategy.

" + } + } + }, + "MergePullRequestByThreeWayOutput":{ + "type":"structure", + "members":{ + "pullRequest":{"shape":"PullRequest"} + } + }, "Message":{"type":"string"}, "Mode":{"type":"string"}, + "MultipleConflictResolutionEntriesException":{ + "type":"structure", + "members":{ + }, + "documentation":"

More than one conflict resolution entries exists for the conflict. A conflict can have only one conflict resolution entry.

", + "exception":true + }, "MultipleRepositoriesInPullRequestException":{ "type":"structure", "members":{ @@ -2792,8 +4512,43 @@ "exception":true }, "NextToken":{"type":"string"}, + "NoChangeException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The commit cannot be created because no changes will be made to the repository as a result of this commit. A commit must contain at least one change.

", + "exception":true + }, + "NumberOfConflicts":{"type":"integer"}, "ObjectId":{"type":"string"}, "ObjectSize":{"type":"long"}, + "ObjectTypeEnum":{ + "type":"string", + "enum":[ + "FILE", + "DIRECTORY", + "GIT_LINK", + "SYMBOLIC_LINK" + ] + }, + "ObjectTypes":{ + "type":"structure", + "members":{ + "source":{ + "shape":"ObjectTypeEnum", + "documentation":"

The type of the object in the source branch.

" + }, + "destination":{ + "shape":"ObjectTypeEnum", + "documentation":"

The type of the object in the destination branch.

" + }, + "base":{ + "shape":"ObjectTypeEnum", + "documentation":"

The type of the object in the base commit of the merge.

" + } + }, + "documentation":"

Information about the type of an object in a merge operation.

" + }, "OrderEnum":{ "type":"string", "enum":[ @@ -3262,6 +5017,40 @@ "type":"list", "member":{"shape":"PullRequestTarget"} }, + "PutFileEntries":{ + "type":"list", + "member":{"shape":"PutFileEntry"} + }, + "PutFileEntry":{ + "type":"structure", + "required":["filePath"], + "members":{ + "filePath":{ + "shape":"Path", + "documentation":"

The full path to the file in the repository, including the name of the file.

" + }, + "fileMode":{ + "shape":"FileModeTypeEnum", + "documentation":"

The extrapolated file mode permissions for the file. Valid values include EXECUTABLE and NORMAL.

" + }, + "fileContent":{ + "shape":"FileContent", + "documentation":"

The content of the file, if a source file is not specified.

" + }, + "sourceFile":{ + "shape":"SourceFileSpecifier", + "documentation":"

The name and full path of the file that contains the changes you want to make as part of the commit, if you are not providing the file content directly.

" + } + }, + "documentation":"

Information about a file that will be added or updated as part of a commit.

" + }, + "PutFileEntryConflictException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The commit cannot be created because one or more files specified in the commit reference both a file and a folder.

", + "exception":true + }, "PutFileInput":{ "type":"structure", "required":[ @@ -3388,6 +5177,59 @@ "AFTER" ] }, + "ReplaceContentEntries":{ + "type":"list", + "member":{"shape":"ReplaceContentEntry"} + }, + "ReplaceContentEntry":{ + "type":"structure", + "required":[ + "filePath", + "replacementType" + ], + "members":{ + "filePath":{ + "shape":"Path", + "documentation":"

The path of the conflicting file.

" + }, + "replacementType":{ + "shape":"ReplacementTypeEnum", + "documentation":"

The replacement type to use when determining how to resolve the conflict.

" + }, + "content":{ + "shape":"FileContent", + "documentation":"

The base-64 encoded content to use when the replacement type is USE_NEW_CONTENT.

" + }, + "fileMode":{ + "shape":"FileModeTypeEnum", + "documentation":"

The file mode to apply during conflict resoltion.

" + } + }, + "documentation":"

Information about a replacement content entry in the conflict of a merge or pull request operation.

" + }, + "ReplacementContentRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

USE_NEW_CONTENT was specified but no replacement content has been provided.

", + "exception":true + }, + "ReplacementTypeEnum":{ + "type":"string", + "enum":[ + "KEEP_BASE", + "KEEP_SOURCE", + "KEEP_DESTINATION", + "USE_NEW_CONTENT" + ] + }, + "ReplacementTypeRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A replacement type is required.

", + "exception":true + }, "RepositoryDescription":{ "type":"string", "max":1000 @@ -3510,7 +5352,7 @@ "type":"structure", "members":{ }, - "documentation":"

The repository does not contain any pull requests with that pull request ID. Check to make sure you have provided the correct repository name for the pull request.

", + "documentation":"

The repository does not contain any pull requests with that pull request ID. Use GetPullRequest to verify the correct repository name for the pull request ID.

", "exception":true }, "RepositoryNotFoundList":{ @@ -3626,6 +5468,21 @@ "documentation":"

The list of triggers for the repository is required but was not specified.

", "exception":true }, + "ResourceArn":{"type":"string"}, + "ResourceArnRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A valid Amazon Resource Name (ARN) for an AWS CodeCommit resource is required. For a list of valid resources in AWS CodeCommit, see CodeCommit Resources and Operations in the AWS CodeCommit User Guide.

", + "exception":true + }, + "RestrictedSourceFileException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The commit cannot be created because one of the changes specifies copying or moving a .gitkeep file.

", + "exception":true + }, "SameFileContentException":{ "type":"structure", "members":{ @@ -3633,6 +5490,35 @@ "documentation":"

The file was not added or updated because the content of the file is exactly the same as the content of that file in the repository and branch that you specified.

", "exception":true }, + "SamePathRequestException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The commit cannot be created because one or more changes in this commit duplicate actions in the same file path. For example, you cannot make the same delete request to the same file in the same file path twice, or make a delete request and a move request to the same file as part of the same commit.

", + "exception":true + }, + "SetFileModeEntries":{ + "type":"list", + "member":{"shape":"SetFileModeEntry"} + }, + "SetFileModeEntry":{ + "type":"structure", + "required":[ + "filePath", + "fileMode" + ], + "members":{ + "filePath":{ + "shape":"Path", + "documentation":"

The full path to the file, including the name of the file.

" + }, + "fileMode":{ + "shape":"FileModeTypeEnum", + "documentation":"

The file mode for the file.

" + } + }, + "documentation":"

Information about the file mode changes.

" + }, "SortByEnum":{ "type":"string", "enum":[ @@ -3647,6 +5533,28 @@ "documentation":"

The source branch and the destination branch for the pull request are the same. You must specify different branches for the source and destination.

", "exception":true }, + "SourceFileOrContentRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The commit cannot be created because no source files or file content have been specified for the commit.

", + "exception":true + }, + "SourceFileSpecifier":{ + "type":"structure", + "required":["filePath"], + "members":{ + "filePath":{ + "shape":"Path", + "documentation":"

The full path to the file, including the name of the file.

" + }, + "isMove":{ + "shape":"IsMove", + "documentation":"

Whether to remove the source file from the parent commit.

" + } + }, + "documentation":"

Information about a source file that is part of changes made in a commit.

" + }, "SubModule":{ "type":"structure", "members":{ @@ -3695,6 +5603,63 @@ "type":"list", "member":{"shape":"SymbolicLink"} }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeysList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagKeysListRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A list of tag keys is required. The list cannot be empty or null.

", + "exception":true + }, + "TagPolicyException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The tag policy is not valid.

", + "exception":true + }, + "TagResourceInput":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource to which you want to add or update tags.

" + }, + "tags":{ + "shape":"TagsMap", + "documentation":"

The key-value pair to use when tagging this repository.

" + } + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "TagsMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"} + }, + "TagsMapRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A map of tags is required.

", + "exception":true + }, "Target":{ "type":"structure", "required":[ @@ -3792,6 +5757,30 @@ "documentation":"

A pull request title is required. It cannot be empty or null.

", "exception":true }, + "TooManyTagsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The maximum number of tags for an AWS CodeCommit resource has been exceeded.

", + "exception":true + }, + "UntagResourceInput":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource to which you want to remove tags.

" + }, + "tagKeys":{ + "shape":"TagKeysList", + "documentation":"

The tag key for each tag that you want to remove from the resource.

" + } + } + }, "UpdateCommentInput":{ "type":"structure", "required":[ @@ -3970,5 +5959,5 @@ }, "blob":{"type":"blob"} }, - "documentation":"AWS CodeCommit

This is the AWS CodeCommit API Reference. This reference provides descriptions of the operations and data types for AWS CodeCommit API along with usage examples.

You can use the AWS CodeCommit API to work with the following objects:

Repositories, by calling the following:

  • BatchGetRepositories, which returns information about one or more repositories associated with your AWS account.

  • CreateRepository, which creates an AWS CodeCommit repository.

  • DeleteRepository, which deletes an AWS CodeCommit repository.

  • GetRepository, which returns information about a specified repository.

  • ListRepositories, which lists all AWS CodeCommit repositories associated with your AWS account.

  • UpdateRepositoryDescription, which sets or updates the description of the repository.

  • UpdateRepositoryName, which changes the name of the repository. If you change the name of a repository, no other users of that repository will be able to access it until you send them the new HTTPS or SSH URL to use.

Branches, by calling the following:

  • CreateBranch, which creates a new branch in a specified repository.

  • DeleteBranch, which deletes the specified branch in a repository unless it is the default branch.

  • GetBranch, which returns information about a specified branch.

  • ListBranches, which lists all branches for a specified repository.

  • UpdateDefaultBranch, which changes the default branch for a repository.

Files, by calling the following:

  • DeleteFile, which deletes the content of a specified file from a specified branch.

  • GetFile, which returns the base-64 encoded content of a specified file.

  • GetFolder, which returns the contents of a specified folder or directory.

  • PutFile, which adds or modifies a file in a specified repository and branch.

Information about committed code in a repository, by calling the following:

  • GetBlob, which returns the base-64 encoded content of an individual Git blob object within a repository.

  • GetCommit, which returns information about a commit, including commit messages and author and committer information.

  • GetDifferences, which returns information about the differences in a valid commit specifier (such as a branch, tag, HEAD, commit ID or other fully qualified reference).

Pull requests, by calling the following:

Information about comments in a repository, by calling the following:

Triggers, by calling the following:

  • GetRepositoryTriggers, which returns information about triggers configured for a repository.

  • PutRepositoryTriggers, which replaces all triggers for a repository and can be used to create or delete triggers.

  • TestRepositoryTriggers, which tests the functionality of a repository trigger by sending data to the trigger target.

For information about how to use AWS CodeCommit, see the AWS CodeCommit User Guide.

" + "documentation":"AWS CodeCommit

This is the AWS CodeCommit API Reference. This reference provides descriptions of the operations and data types for AWS CodeCommit API along with usage examples.

You can use the AWS CodeCommit API to work with the following objects:

Repositories, by calling the following:

  • BatchGetRepositories, which returns information about one or more repositories associated with your AWS account.

  • CreateRepository, which creates an AWS CodeCommit repository.

  • DeleteRepository, which deletes an AWS CodeCommit repository.

  • GetRepository, which returns information about a specified repository.

  • ListRepositories, which lists all AWS CodeCommit repositories associated with your AWS account.

  • UpdateRepositoryDescription, which sets or updates the description of the repository.

  • UpdateRepositoryName, which changes the name of the repository. If you change the name of a repository, no other users of that repository will be able to access it until you send them the new HTTPS or SSH URL to use.

Branches, by calling the following:

  • CreateBranch, which creates a new branch in a specified repository.

  • DeleteBranch, which deletes the specified branch in a repository unless it is the default branch.

  • GetBranch, which returns information about a specified branch.

  • ListBranches, which lists all branches for a specified repository.

  • UpdateDefaultBranch, which changes the default branch for a repository.

Files, by calling the following:

  • DeleteFile, which deletes the content of a specified file from a specified branch.

  • GetFile, which returns the base-64 encoded content of a specified file.

  • GetFolder, which returns the contents of a specified folder or directory.

  • PutFile, which adds or modifies a file in a specified repository and branch.

Information about committed code in a repository, by calling the following:

  • CreateCommit, which creates a commit for changes to a repository.

  • GetBlob, which returns the base-64 encoded content of an individual Git blob object within a repository.

  • GetCommit, which returns information about a commit, including commit messages and author and committer information.

  • GetDifferences, which returns information about the differences in a valid commit specifier (such as a branch, tag, HEAD, commit ID or other fully qualified reference).

Merges, by calling the following:

  • BatchDescribeMergeConflicts, which returns information about conflicts in a merge between commits in a repository.

  • CreateUnreferencedMergeCommit, which creates an unreferenced commit between two branches or commits for the purpose of comparing them and identifying any potential conflicts.

  • DescribeMergeConflicts, which returns information about merge conflicts between the base, source, and destination versions of a file in a potential merge.

  • GetMergeCommit, which returns information about the merge between a source and destination commit.

  • GetMergeConflicts, which returns information about merge conflicts between the source and destination branch in a pull request.

  • GetMergeOptions, which returns information about the available merge options between two branches or commit specifiers.

  • MergeBranchesByFastForward, which merges two branches using the fast-forward merge option.

  • MergeBranchesBySquash, which merges two branches using the squash merge option.

  • MergeBranchesByThreeWay, which merges two branches using the three-way merge option.

Pull requests, by calling the following:

Information about comments in a repository, by calling the following:

Tags used to tag resources in AWS CodeCommit (not Git tags), by calling the following:

  • ListTagsForResource, which gets information about AWS tags for a specified Amazon Resource Name (ARN) in AWS CodeCommit.

  • TagResource, which adds or updates tags for a resource in AWS CodeCommit.

  • UntagResource, which removes tags for a resource in AWS CodeCommit.

Triggers, by calling the following:

  • GetRepositoryTriggers, which returns information about triggers configured for a repository.

  • PutRepositoryTriggers, which replaces all triggers for a repository and can be used to create or delete triggers.

  • TestRepositoryTriggers, which tests the functionality of a repository trigger by sending data to the trigger target.

For information about how to use AWS CodeCommit, see the AWS CodeCommit User Guide.

" } diff --git a/bin/botocore/data/codedeploy/2014-10-06/paginators-1.json b/bin/botocore/data/codedeploy/2014-10-06/paginators-1.json index cea07e68..aae3fad3 100644 --- a/bin/botocore/data/codedeploy/2014-10-06/paginators-1.json +++ b/bin/botocore/data/codedeploy/2014-10-06/paginators-1.json @@ -29,6 +29,21 @@ "input_token": "nextToken", "output_token": "nextToken", "result_key": "deployments" + }, + "ListDeploymentTargets": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "targetIds" + }, + "ListGitHubAccountTokenNames": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "tokenNameList" + }, + "ListOnPremisesInstances": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "instanceNames" } } } diff --git a/bin/botocore/data/codedeploy/2014-10-06/service-2.json b/bin/botocore/data/codedeploy/2014-10-06/service-2.json index eeafd4e7..1479797c 100644 --- a/bin/botocore/data/codedeploy/2014-10-06/service-2.json +++ b/bin/botocore/data/codedeploy/2014-10-06/service-2.json @@ -47,7 +47,7 @@ {"shape":"InvalidRevisionException"}, {"shape":"BatchLimitExceededException"} ], - "documentation":"

Gets information about one or more application revisions.

" + "documentation":"

Gets information about one or more application revisions. The maximum number of application revisions that can be returned is 25.

" }, "BatchGetApplications":{ "name":"BatchGetApplications", @@ -63,7 +63,7 @@ {"shape":"ApplicationDoesNotExistException"}, {"shape":"BatchLimitExceededException"} ], - "documentation":"

Gets information about one or more applications.

" + "documentation":"

Gets information about one or more applications. The maximum number of applications that can be returned is 25.

" }, "BatchGetDeploymentGroups":{ "name":"BatchGetDeploymentGroups", @@ -101,7 +101,7 @@ {"shape":"BatchLimitExceededException"}, {"shape":"InvalidComputePlatformException"} ], - "documentation":"

This method works, but is considered deprecated. Use BatchGetDeploymentTargets instead.

Returns an array of instances associated with a deployment. This method works with EC2/On-premises and AWS Lambda compute platforms. The newer BatchGetDeploymentTargets works with all compute platforms.

", + "documentation":"

This method works, but is deprecated. Use BatchGetDeploymentTargets instead.

Returns an array of one or more instances associated with a deployment. This method works with EC2/On-premises and AWS Lambda compute platforms. The newer BatchGetDeploymentTargets works with all compute platforms. The maximum number of instances that can be returned is 25.

", "deprecated":true, "deprecatedMessage":"This operation is deprecated, use BatchGetDeploymentTargets instead." }, @@ -117,12 +117,13 @@ {"shape":"InvalidDeploymentIdException"}, {"shape":"DeploymentIdRequiredException"}, {"shape":"DeploymentDoesNotExistException"}, + {"shape":"DeploymentNotStartedException"}, {"shape":"DeploymentTargetIdRequiredException"}, {"shape":"InvalidDeploymentTargetIdException"}, {"shape":"DeploymentTargetDoesNotExistException"}, {"shape":"DeploymentTargetListSizeExceededException"} ], - "documentation":"

Returns an array of targets associated with a deployment. This method works with all compute types and should be used instead of the deprecated BatchGetDeploymentInstances.

The type of targets returned depends on the deployment's compute platform:

  • EC2/On-premises - Information about EC2 instance targets.

  • AWS Lambda - Information about Lambda functions targets.

  • Amazon ECS - Information about ECS service targets.

" + "documentation":"

Returns an array of one or more targets associated with a deployment. This method works with all compute types and should be used instead of the deprecated BatchGetDeploymentInstances. The maximum number of targets that can be returned is 25.

The type of targets returned depends on the deployment's compute platform:

  • EC2/On-premises: Information about EC2 instance targets.

  • AWS Lambda: Information about Lambda functions targets.

  • Amazon ECS: Information about Amazon ECS service targets.

" }, "BatchGetDeployments":{ "name":"BatchGetDeployments", @@ -137,7 +138,7 @@ {"shape":"InvalidDeploymentIdException"}, {"shape":"BatchLimitExceededException"} ], - "documentation":"

Gets information about one or more deployments.

" + "documentation":"

Gets information about one or more deployments. The maximum number of deployments that can be returned is 25.

" }, "BatchGetOnPremisesInstances":{ "name":"BatchGetOnPremisesInstances", @@ -152,7 +153,7 @@ {"shape":"InvalidInstanceNameException"}, {"shape":"BatchLimitExceededException"} ], - "documentation":"

Gets information about one or more on-premises instances.

" + "documentation":"

Gets information about one or more on-premises instances. The maximum number of on-premises instances that can be returned is 25.

" }, "ContinueDeployment":{ "name":"ContinueDeployment", @@ -186,7 +187,8 @@ {"shape":"InvalidApplicationNameException"}, {"shape":"ApplicationAlreadyExistsException"}, {"shape":"ApplicationLimitExceededException"}, - {"shape":"InvalidComputePlatformException"} + {"shape":"InvalidComputePlatformException"}, + {"shape":"InvalidTagsToAddException"} ], "documentation":"

Creates an application.

" }, @@ -283,9 +285,10 @@ {"shape":"ThrottlingException"}, {"shape":"InvalidECSServiceException"}, {"shape":"InvalidTargetGroupPairException"}, - {"shape":"ECSServiceMappingLimitExceededException"} + {"shape":"ECSServiceMappingLimitExceededException"}, + {"shape":"InvalidTagsToAddException"} ], - "documentation":"

Creates a deployment group to which application revisions will be deployed.

" + "documentation":"

Creates a deployment group to which application revisions are deployed.

" }, "DeleteApplication":{ "name":"DeleteApplication", @@ -296,7 +299,8 @@ "input":{"shape":"DeleteApplicationInput"}, "errors":[ {"shape":"ApplicationNameRequiredException"}, - {"shape":"InvalidApplicationNameException"} + {"shape":"InvalidApplicationNameException"}, + {"shape":"InvalidRoleException"} ], "documentation":"

Deletes an application.

" }, @@ -408,7 +412,7 @@ {"shape":"InvalidDeploymentIdException"}, {"shape":"DeploymentDoesNotExistException"} ], - "documentation":"

Gets information about a deployment.

" + "documentation":"

Gets information about a deployment.

The content property of the appSpecContent object in the returned revision is always null. Use GetApplicationRevision and the sha256 property of the returned appSpecContent object to get the content of the deployment’s AppSpec file.

" }, "GetDeploymentConfig":{ "name":"GetDeploymentConfig", @@ -478,6 +482,7 @@ {"shape":"InvalidDeploymentIdException"}, {"shape":"DeploymentIdRequiredException"}, {"shape":"DeploymentDoesNotExistException"}, + {"shape":"DeploymentNotStartedException"}, {"shape":"DeploymentTargetIdRequiredException"}, {"shape":"InvalidDeploymentTargetIdException"}, {"shape":"DeploymentTargetDoesNotExistException"}, @@ -533,7 +538,7 @@ "errors":[ {"shape":"InvalidNextTokenException"} ], - "documentation":"

Lists the applications registered with the applicable IAM user or AWS account.

" + "documentation":"

Lists the applications registered with the IAM user or AWS account.

" }, "ListDeploymentConfigs":{ "name":"ListDeploymentConfigs", @@ -546,7 +551,7 @@ "errors":[ {"shape":"InvalidNextTokenException"} ], - "documentation":"

Lists the deployment configurations with the applicable IAM user or AWS account.

" + "documentation":"

Lists the deployment configurations with the IAM user or AWS account.

" }, "ListDeploymentGroups":{ "name":"ListDeploymentGroups", @@ -562,7 +567,7 @@ {"shape":"ApplicationDoesNotExistException"}, {"shape":"InvalidNextTokenException"} ], - "documentation":"

Lists the deployment groups for an application registered with the applicable IAM user or AWS account.

" + "documentation":"

Lists the deployment groups for an application registered with the IAM user or AWS account.

" }, "ListDeploymentInstances":{ "name":"ListDeploymentInstances", @@ -584,7 +589,7 @@ {"shape":"InvalidTargetFilterNameException"}, {"shape":"InvalidComputePlatformException"} ], - "documentation":"

The newer BatchGetDeploymentTargets should be used instead because it works with all compute types. ListDeploymentInstances throws an exception if it is used with a compute platform other than EC2/On-premises or AWS Lambda.

Lists the instance for a deployment associated with the applicable IAM user or AWS account.

", + "documentation":"

The newer BatchGetDeploymentTargets should be used instead because it works with all compute types. ListDeploymentInstances throws an exception if it is used with a compute platform other than EC2/On-premises or AWS Lambda.

Lists the instance for a deployment associated with the IAM user or AWS account.

", "deprecated":true, "deprecatedMessage":"This operation is deprecated, use ListDeploymentTargets instead." }, @@ -627,7 +632,7 @@ {"shape":"InvalidDeploymentStatusException"}, {"shape":"InvalidNextTokenException"} ], - "documentation":"

Lists the deployments in a deployment group for an application registered with the applicable IAM user or AWS account.

" + "documentation":"

Lists the deployments in a deployment group for an application registered with the IAM user or AWS account.

" }, "ListGitHubAccountTokenNames":{ "name":"ListGitHubAccountTokenNames", @@ -657,7 +662,22 @@ {"shape":"InvalidTagFilterException"}, {"shape":"InvalidNextTokenException"} ], - "documentation":"

Gets a list of names for one or more on-premises instances.

Unless otherwise specified, both registered and deregistered on-premises instance names will be listed. To list only registered or deregistered on-premises instance names, use the registration status parameter.

" + "documentation":"

Gets a list of names for one or more on-premises instances.

Unless otherwise specified, both registered and deregistered on-premises instance names are listed. To list only registered or deregistered on-premises instance names, use the registration status parameter.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceInput"}, + "output":{"shape":"ListTagsForResourceOutput"}, + "errors":[ + {"shape":"ArnNotSupportedException"}, + {"shape":"InvalidArnException"}, + {"shape":"ResourceArnRequiredException"} + ], + "documentation":"

Returns a list of tags for the resource identified by a specified ARN. Tags are used to organize and categorize your CodeDeploy resources.

" }, "PutLifecycleEventHookExecutionStatus":{ "name":"PutLifecycleEventHookExecutionStatus", @@ -749,7 +769,7 @@ {"shape":"DeploymentNotStartedException"}, {"shape":"UnsupportedActionForDeploymentTypeException"} ], - "documentation":"

In a blue/green deployment, overrides any specified wait time and starts terminating instances immediately after the traffic routing is completed.

", + "documentation":"

In a blue/green deployment, overrides any specified wait time and starts terminating instances immediately after the traffic routing is complete.

", "deprecated":true, "deprecatedMessage":"This operation is deprecated, use ContinueDeployment with DeploymentWaitType instead." }, @@ -770,6 +790,46 @@ ], "documentation":"

Attempts to stop an ongoing deployment.

" }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceInput"}, + "output":{"shape":"TagResourceOutput"}, + "errors":[ + {"shape":"ResourceArnRequiredException"}, + {"shape":"ApplicationDoesNotExistException"}, + {"shape":"DeploymentGroupDoesNotExistException"}, + {"shape":"DeploymentConfigDoesNotExistException"}, + {"shape":"TagRequiredException"}, + {"shape":"InvalidTagsToAddException"}, + {"shape":"ArnNotSupportedException"}, + {"shape":"InvalidArnException"} + ], + "documentation":"

Associates the list of tags in the input Tags parameter with the resource identified by the ResourceArn input parameter.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceInput"}, + "output":{"shape":"UntagResourceOutput"}, + "errors":[ + {"shape":"ResourceArnRequiredException"}, + {"shape":"ApplicationDoesNotExistException"}, + {"shape":"DeploymentGroupDoesNotExistException"}, + {"shape":"DeploymentConfigDoesNotExistException"}, + {"shape":"TagRequiredException"}, + {"shape":"InvalidTagsToAddException"}, + {"shape":"ArnNotSupportedException"}, + {"shape":"InvalidArnException"} + ], + "documentation":"

Disassociates a resource from a list of tags. The resource is identified by the ResourceArn input parameter. The tags are identfied by the list of keys in the TagKeys input parameter.

" + }, "UpdateApplication":{ "name":"UpdateApplication", "http":{ @@ -871,7 +931,7 @@ }, "ignorePollAlarmFailure":{ "shape":"Boolean", - "documentation":"

Indicates whether a deployment should continue if information about the current state of alarms cannot be retrieved from Amazon CloudWatch. The default value is false.

  • true: The deployment will proceed even if alarm status information can't be retrieved from Amazon CloudWatch.

  • false: The deployment will stop if alarm status information can't be retrieved from Amazon CloudWatch.

" + "documentation":"

Indicates whether a deployment should continue if information about the current state of alarms cannot be retrieved from Amazon CloudWatch. The default value is false.

  • true: The deployment proceeds even if alarm status information can't be retrieved from Amazon CloudWatch.

  • false: The deployment stops if alarm status information can't be retrieved from Amazon CloudWatch.

" }, "alarms":{ "shape":"AlarmList", @@ -897,7 +957,7 @@ "members":{ "content":{ "shape":"RawStringContent", - "documentation":"

The YAML-formatted or JSON-formatted revision string.

For an AWS Lambda deployment the content includes a Lambda function name, the alias for its original version, and the alias for its replacement version. The deployment shifts traffic from the original version of the Lambda function to the replacement version.

For an Amazon ECS deployment the content includes the task name, information about the load balancer that serves traffic to the container, and more.

For both types of deployments, the content can specify Lambda functions that run at specified hooks, such as BeforeInstall, during a deployment.

" + "documentation":"

The YAML-formatted or JSON-formatted revision string.

For an AWS Lambda deployment, the content includes a Lambda function name, the alias for its original version, and the alias for its replacement version. The deployment shifts traffic from the original version of the Lambda function to the replacement version.

For an Amazon ECS deployment, the content includes the task name, information about the load balancer that serves traffic to the container, and more.

For both types of deployments, the content can specify Lambda functions that run at specified hooks, such as BeforeInstall, during a deployment.

" }, "sha256":{ "shape":"RawStringSha256", @@ -910,14 +970,14 @@ "type":"structure", "members":{ }, - "documentation":"

An application with the specified name already exists with the applicable IAM user or AWS account.

", + "documentation":"

An application with the specified name with the IAM user or AWS account already exists.

", "exception":true }, "ApplicationDoesNotExistException":{ "type":"structure", "members":{ }, - "documentation":"

The application does not exist with the applicable IAM user or AWS account.

", + "documentation":"

The application does not exist with the IAM user or AWS account.

", "exception":true }, "ApplicationId":{"type":"string"}, @@ -938,7 +998,7 @@ }, "linkedToGitHub":{ "shape":"Boolean", - "documentation":"

True if the user has authenticated with GitHub for the specified application; otherwise, false.

" + "documentation":"

True if the user has authenticated with GitHub for the specified application. Otherwise, false.

" }, "gitHubAccountName":{ "shape":"GitHubAccountTokenName", @@ -986,6 +1046,18 @@ "type":"list", "member":{"shape":"ApplicationName"} }, + "Arn":{ + "type":"string", + "max":1011, + "min":1 + }, + "ArnNotSupportedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified ARN is not supported. For example, it might be an ARN for a resource that is not expected.

", + "exception":true + }, "AutoRollbackConfiguration":{ "type":"structure", "members":{ @@ -998,7 +1070,7 @@ "documentation":"

The event type or types that trigger a rollback.

" } }, - "documentation":"

Information about a configuration for automatically rolling back to a previous version of an application revision when a deployment doesn't complete successfully.

" + "documentation":"

Information about a configuration for automatically rolling back to a previous version of an application revision when a deployment is not completed successfully.

" }, "AutoRollbackEvent":{ "type":"string", @@ -1049,7 +1121,7 @@ }, "revisions":{ "shape":"RevisionLocationList", - "documentation":"

Information to get about the application revisions, including type and location.

" + "documentation":"

An array of RevisionLocation objects that specify information to get about the application revisions, including type and location. The maximum number of RevisionLocation objects you can specify is 25.

" } }, "documentation":"

Represents the input of a BatchGetApplicationRevisions operation.

" @@ -1063,7 +1135,7 @@ }, "errorMessage":{ "shape":"ErrorMessage", - "documentation":"

Information about errors that may have occurred during the API call.

" + "documentation":"

Information about errors that might have occurred during the API call.

" }, "revisions":{ "shape":"RevisionInfoList", @@ -1078,7 +1150,7 @@ "members":{ "applicationNames":{ "shape":"ApplicationsList", - "documentation":"

A list of application names separated by spaces.

" + "documentation":"

A list of application names separated by spaces. The maximum number of application names you can specify is 25.

" } }, "documentation":"

Represents the input of a BatchGetApplications operation.

" @@ -1106,7 +1178,7 @@ }, "deploymentGroupNames":{ "shape":"DeploymentGroupsList", - "documentation":"

The deployment groups' names.

" + "documentation":"

The names of the deployment groups.

" } }, "documentation":"

Represents the input of a BatchGetDeploymentGroups operation.

" @@ -1120,7 +1192,7 @@ }, "errorMessage":{ "shape":"ErrorMessage", - "documentation":"

Information about errors that may have occurred during the API call.

" + "documentation":"

Information about errors that might have occurred during the API call.

" } }, "documentation":"

Represents the output of a BatchGetDeploymentGroups operation.

" @@ -1138,7 +1210,7 @@ }, "instanceIds":{ "shape":"InstancesList", - "documentation":"

The unique IDs of instances of the deployment.

" + "documentation":"

The unique IDs of instances used in the deployment. The maximum number of instance IDs you can specify is 25.

" } }, "documentation":"

Represents the input of a BatchGetDeploymentInstances operation.

" @@ -1152,7 +1224,7 @@ }, "errorMessage":{ "shape":"ErrorMessage", - "documentation":"

Information about errors that may have occurred during the API call.

" + "documentation":"

Information about errors that might have occurred during the API call.

" } }, "documentation":"

Represents the output of a BatchGetDeploymentInstances operation.

" @@ -1166,7 +1238,7 @@ }, "targetIds":{ "shape":"TargetIdList", - "documentation":"

The unique IDs of the deployment targets. The compute platform of the deployment determines the type of the targets and their formats.

  • For deployments that use the EC2/On-premises compute platform, the target IDs are EC2 or on-premises instances IDs and their target type is instanceTarget.

  • For deployments that use the AWS Lambda compute platform, the target IDs are the names of Lambda functions and their target type is instanceTarget.

  • For deployments that use the Amazon ECS compute platform, the target IDs are pairs of Amazon ECS clusters and services specified using the format <clustername>:<servicename>. Their target type is ecsTarget.

" + "documentation":"

The unique IDs of the deployment targets. The compute platform of the deployment determines the type of the targets and their formats. The maximum number of deployment target IDs you can specify is 25.

  • For deployments that use the EC2/On-premises compute platform, the target IDs are EC2 or on-premises instances IDs, and their target type is instanceTarget.

  • For deployments that use the AWS Lambda compute platform, the target IDs are the names of Lambda functions, and their target type is instanceTarget.

  • For deployments that use the Amazon ECS compute platform, the target IDs are pairs of Amazon ECS clusters and services specified using the format <clustername>:<servicename>. Their target type is ecsTarget.

" } } }, @@ -1175,7 +1247,7 @@ "members":{ "deploymentTargets":{ "shape":"DeploymentTargetList", - "documentation":"

A list of target objects for a deployment. Each target object contains details about the target, such as its status and lifecycle events. The type of the target objects depends on the deployment' compute platform.

  • EC2/On-premises - Each target object is an EC2 or on-premises instance.

  • AWS Lambda - The target object is a specific version of an AWS Lambda function.

  • Amazon ECS - The target object is an Amazon ECS service.

" + "documentation":"

A list of target objects for a deployment. Each target object contains details about the target, such as its status and lifecycle events. The type of the target objects depends on the deployment' compute platform.

  • EC2/On-premises: Each target object is an EC2 or on-premises instance.

  • AWS Lambda: The target object is a specific version of an AWS Lambda function.

  • Amazon ECS: The target object is an Amazon ECS service.

" } } }, @@ -1185,7 +1257,7 @@ "members":{ "deploymentIds":{ "shape":"DeploymentsList", - "documentation":"

A list of deployment IDs, separated by spaces.

" + "documentation":"

A list of deployment IDs, separated by spaces. The maximum number of deployment IDs you can specify is 25.

" } }, "documentation":"

Represents the input of a BatchGetDeployments operation.

" @@ -1206,7 +1278,7 @@ "members":{ "instanceNames":{ "shape":"InstanceNameList", - "documentation":"

The names of the on-premises instances about which to get information.

" + "documentation":"

The names of the on-premises instances about which to get information. The maximum number of instance names you can specify is 25.

" } }, "documentation":"

Represents the input of a BatchGetOnPremisesInstances operation.

" @@ -1310,7 +1382,11 @@ }, "computePlatform":{ "shape":"ComputePlatform", - "documentation":"

The destination platform type for the deployment (Lambda or Server).

" + "documentation":"

The destination platform type for the deployment (Lambda, Server, or ECS).

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The metadata that you apply to CodeDeploy applications to help you organize and categorize them. Each tag consists of a key and an optional value, both of which you define.

" } }, "documentation":"

Represents the input of a CreateApplication operation.

" @@ -1339,11 +1415,11 @@ }, "trafficRoutingConfig":{ "shape":"TrafficRoutingConfig", - "documentation":"

The configuration that specifies how the deployment traffic will be routed.

" + "documentation":"

The configuration that specifies how the deployment traffic is routed.

" }, "computePlatform":{ "shape":"ComputePlatform", - "documentation":"

The destination platform type for the deployment (Lambda or Server>).

" + "documentation":"

The destination platform type for the deployment (Lambda, Server, or ECS).

" } }, "documentation":"

Represents the input of a CreateDeploymentConfig operation.

" @@ -1368,7 +1444,7 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" + "documentation":"

The name of an AWS CodeDeploy application associated with the IAM user or AWS account.

" }, "deploymentGroupName":{ "shape":"DeploymentGroupName", @@ -1376,19 +1452,19 @@ }, "deploymentConfigName":{ "shape":"DeploymentConfigName", - "documentation":"

If specified, the deployment configuration name can be either one of the predefined configurations provided with AWS CodeDeploy or a custom deployment configuration that you create by calling the create deployment configuration operation.

CodeDeployDefault.OneAtATime is the default deployment configuration. It is used if a configuration isn't specified for the deployment or the deployment group.

For more information about the predefined deployment configurations in AWS CodeDeploy, see Working with Deployment Groups in AWS CodeDeploy in the AWS CodeDeploy User Guide.

" + "documentation":"

If specified, the deployment configuration name can be either one of the predefined configurations provided with AWS CodeDeploy or a custom deployment configuration that you create by calling the create deployment configuration operation.

CodeDeployDefault.OneAtATime is the default deployment configuration. It is used if a configuration isn't specified for the deployment or deployment group.

For more information about the predefined deployment configurations in AWS CodeDeploy, see Working with Deployment Groups in AWS CodeDeploy in the AWS CodeDeploy User Guide.

" }, "ec2TagFilters":{ "shape":"EC2TagFilterList", - "documentation":"

The Amazon EC2 tags on which to filter. The deployment group will include EC2 instances with any of the specified tags. Cannot be used in the same call as ec2TagSet.

" + "documentation":"

The Amazon EC2 tags on which to filter. The deployment group includes EC2 instances with any of the specified tags. Cannot be used in the same call as ec2TagSet.

" }, "onPremisesInstanceTagFilters":{ "shape":"TagFilterList", - "documentation":"

The on-premises instance tags on which to filter. The deployment group will include on-premises instances with any of the specified tags. Cannot be used in the same call as OnPremisesTagSet.

" + "documentation":"

The on-premises instance tags on which to filter. The deployment group includes on-premises instances with any of the specified tags. Cannot be used in the same call as OnPremisesTagSet.

" }, "autoScalingGroups":{ "shape":"AutoScalingGroupNameList", - "documentation":"

A list of associated Auto Scaling groups.

" + "documentation":"

A list of associated Amazon EC2 Auto Scaling groups.

" }, "serviceRoleArn":{ "shape":"Role", @@ -1396,7 +1472,7 @@ }, "triggerConfigurations":{ "shape":"TriggerConfigList", - "documentation":"

Information about triggers to create when the deployment group is created. For examples, see Create a Trigger for an AWS CodeDeploy Event in the AWS CodeDeploy User Guide.

" + "documentation":"

Information about triggers to create when the deployment group is created. For examples, see Create a Trigger for an AWS CodeDeploy Event in the AWS CodeDeploy User Guide.

" }, "alarmConfiguration":{ "shape":"AlarmConfiguration", @@ -1420,15 +1496,19 @@ }, "ec2TagSet":{ "shape":"EC2TagSet", - "documentation":"

Information about groups of tags applied to EC2 instances. The deployment group will include only EC2 instances identified by all the tag groups. Cannot be used in the same call as ec2TagFilters.

" + "documentation":"

Information about groups of tags applied to EC2 instances. The deployment group includes only EC2 instances identified by all the tag groups. Cannot be used in the same call as ec2TagFilters.

" }, "ecsServices":{ "shape":"ECSServiceList", - "documentation":"

The target ECS services in the deployment group. This only applies to deployment groups that use the Amazon ECS compute platform. A target ECS service is specified as an Amazon ECS cluster and service name pair using the format <clustername>:<servicename>.

" + "documentation":"

The target Amazon ECS services in the deployment group. This applies only to deployment groups that use the Amazon ECS compute platform. A target Amazon ECS service is specified as an Amazon ECS cluster and service name pair using the format <clustername>:<servicename>.

" }, "onPremisesTagSet":{ "shape":"OnPremisesTagSet", - "documentation":"

Information about groups of tags applied to on-premises instances. The deployment group will include only on-premises instances identified by all the tag groups. Cannot be used in the same call as onPremisesInstanceTagFilters.

" + "documentation":"

Information about groups of tags applied to on-premises instances. The deployment group includes only on-premises instances identified by all of the tag groups. Cannot be used in the same call as onPremisesInstanceTagFilters.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The metadata that you apply to CodeDeploy deployment groups to help you organize and categorize them. Each tag consists of a key and an optional value, both of which you define.

" } }, "documentation":"

Represents the input of a CreateDeploymentGroup operation.

" @@ -1449,7 +1529,7 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" + "documentation":"

The name of an AWS CodeDeploy application associated with the IAM user or AWS account.

" }, "deploymentGroupName":{ "shape":"DeploymentGroupName", @@ -1461,7 +1541,7 @@ }, "deploymentConfigName":{ "shape":"DeploymentConfigName", - "documentation":"

The name of a deployment configuration associated with the applicable IAM user or AWS account.

If not specified, the value configured in the deployment group will be used as the default. If the deployment group does not have a deployment configuration associated with it, then CodeDeployDefault.OneAtATime will be used by default.

" + "documentation":"

The name of a deployment configuration associated with the IAM user or AWS account.

If not specified, the value configured in the deployment group is used as the default. If the deployment group does not have a deployment configuration associated with it, CodeDeployDefault.OneAtATime is used by default.

" }, "description":{ "shape":"Description", @@ -1469,11 +1549,11 @@ }, "ignoreApplicationStopFailures":{ "shape":"Boolean", - "documentation":"

If set to true, then if the deployment causes the ApplicationStop deployment lifecycle event to an instance to fail, the deployment to that instance will not be considered to have failed at that point and will continue on to the BeforeInstall deployment lifecycle event.

If set to false or not specified, then if the deployment causes the ApplicationStop deployment lifecycle event to fail to an instance, the deployment to that instance will stop, and the deployment to that instance will be considered to have failed.

" + "documentation":"

If true, then if an ApplicationStop, BeforeBlockTraffic, or AfterBlockTraffic deployment lifecycle event to an instance fails, then the deployment continues to the next deployment lifecycle event. For example, if ApplicationStop fails, the deployment continues with DownloadBundle. If BeforeBlockTraffic fails, the deployment continues with BlockTraffic. If AfterBlockTraffic fails, the deployment continues with ApplicationStop.

If false or not specified, then if a lifecycle event fails during a deployment to an instance, that deployment fails. If deployment to that instance is part of an overall deployment and the number of healthy hosts is not less than the minimum number of healthy hosts, then a deployment to the next instance is attempted.

During a deployment, the AWS CodeDeploy agent runs the scripts specified for ApplicationStop, BeforeBlockTraffic, and AfterBlockTraffic in the AppSpec file from the previous successful deployment. (All other scripts are run from the AppSpec file in the current deployment.) If one of these scripts contains an error and does not run successfully, the deployment can fail.

If the cause of the failure is a script from the last successful deployment that will never run successfully, create a new deployment and use ignoreApplicationStopFailures to specify that the ApplicationStop, BeforeBlockTraffic, and AfterBlockTraffic failures should be ignored.

" }, "targetInstances":{ "shape":"TargetInstances", - "documentation":"

Information about the instances that will belong to the replacement environment in a blue/green deployment.

" + "documentation":"

Information about the instances that belong to the replacement environment in a blue/green deployment.

" }, "autoRollbackConfiguration":{ "shape":"AutoRollbackConfiguration", @@ -1506,7 +1586,7 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" + "documentation":"

The name of an AWS CodeDeploy application associated with the IAM user or AWS account.

" } }, "documentation":"

Represents the input of a DeleteApplication operation.

" @@ -1517,7 +1597,7 @@ "members":{ "deploymentConfigName":{ "shape":"DeploymentConfigName", - "documentation":"

The name of a deployment configuration associated with the applicable IAM user or AWS account.

" + "documentation":"

The name of a deployment configuration associated with the IAM user or AWS account.

" } }, "documentation":"

Represents the input of a DeleteDeploymentConfig operation.

" @@ -1531,11 +1611,11 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" + "documentation":"

The name of an AWS CodeDeploy application associated with the IAM user or AWS account.

" }, "deploymentGroupName":{ "shape":"DeploymentGroupName", - "documentation":"

The name of an existing deployment group for the specified application.

" + "documentation":"

The name of a deployment group for the specified application.

" } }, "documentation":"

Represents the input of a DeleteDeploymentGroup operation.

" @@ -1581,21 +1661,21 @@ "type":"structure", "members":{ }, - "documentation":"

A deployment to a target was attempted while another deployment was in process.

", + "documentation":"

A deployment to a target was attempted while another deployment was in progress.

", "exception":true }, "DeploymentConfigAlreadyExistsException":{ "type":"structure", "members":{ }, - "documentation":"

A deployment configuration with the specified name already exists with the applicable IAM user or AWS account.

", + "documentation":"

A deployment configuration with the specified name with the IAM user or AWS account already exists .

", "exception":true }, "DeploymentConfigDoesNotExistException":{ "type":"structure", "members":{ }, - "documentation":"

The deployment configuration does not exist with the applicable IAM user or AWS account.

", + "documentation":"

The deployment configuration does not exist with the IAM user or AWS account.

", "exception":true }, "DeploymentConfigId":{"type":"string"}, @@ -1627,11 +1707,11 @@ }, "computePlatform":{ "shape":"ComputePlatform", - "documentation":"

The destination platform type for the deployment (Lambda or Server).

" + "documentation":"

The destination platform type for the deployment (Lambda, Server, or ECS).

" }, "trafficRoutingConfig":{ "shape":"TrafficRoutingConfig", - "documentation":"

The configuration specifying how the deployment traffic will be routed. Only deployments with a Lambda compute platform can specify this.

" + "documentation":"

The configuration that specifies how the deployment traffic is routed. Only deployments with a Lambda compute platform can specify this.

" } }, "documentation":"

Information about a deployment configuration.

" @@ -1671,21 +1751,21 @@ "type":"structure", "members":{ }, - "documentation":"

The deployment does not exist with the applicable IAM user or AWS account.

", + "documentation":"

The deployment with the IAM user or AWS account does not exist.

", "exception":true }, "DeploymentGroupAlreadyExistsException":{ "type":"structure", "members":{ }, - "documentation":"

A deployment group with the specified name already exists with the applicable IAM user or AWS account.

", + "documentation":"

A deployment group with the specified name with the IAM user or AWS account already exists.

", "exception":true }, "DeploymentGroupDoesNotExistException":{ "type":"structure", "members":{ }, - "documentation":"

The named deployment group does not exist with the applicable IAM user or AWS account.

", + "documentation":"

The named deployment group with the IAM user or AWS account does not exist.

", "exception":true }, "DeploymentGroupId":{"type":"string"}, @@ -1722,7 +1802,7 @@ }, "serviceRoleArn":{ "shape":"Role", - "documentation":"

A service role ARN.

" + "documentation":"

A service role Amazon Resource Name (ARN) that grants CodeDeploy permission to make calls to AWS services on your behalf. For more information, see Create a Service Role for AWS CodeDeploy in the AWS CodeDeploy User Guide.

" }, "targetRevision":{ "shape":"RevisionLocation", @@ -1762,7 +1842,7 @@ }, "ec2TagSet":{ "shape":"EC2TagSet", - "documentation":"

Information about groups of tags applied to an EC2 instance. The deployment group includes only EC2 instances identified by all the tag groups. Cannot be used in the same call as ec2TagFilters.

" + "documentation":"

Information about groups of tags applied to an EC2 instance. The deployment group includes only EC2 instances identified by all of the tag groups. Cannot be used in the same call as ec2TagFilters.

" }, "onPremisesTagSet":{ "shape":"OnPremisesTagSet", @@ -1770,11 +1850,11 @@ }, "computePlatform":{ "shape":"ComputePlatform", - "documentation":"

The destination platform type for the deployment group (Lambda or Server).

" + "documentation":"

The destination platform type for the deployment (Lambda, Server, or ECS).

" }, "ecsServices":{ "shape":"ECSServiceList", - "documentation":"

The target ECS services in the deployment group. This only applies to deployment groups that use the Amazon ECS compute platform. A target ECS service is specified as an Amazon ECS cluster and service name pair using the format <clustername>:<servicename>.

" + "documentation":"

The target Amazon ECS services in the deployment group. This applies only to deployment groups that use the Amazon ECS compute platform. A target Amazon ECS service is specified as an Amazon ECS cluster and service name pair using the format <clustername>:<servicename>.

" } }, "documentation":"

Information about a deployment group.

" @@ -1851,15 +1931,15 @@ }, "createTime":{ "shape":"Timestamp", - "documentation":"

A timestamp indicating when the deployment was created.

" + "documentation":"

A timestamp that indicates when the deployment was created.

" }, "startTime":{ "shape":"Timestamp", - "documentation":"

A timestamp indicating when the deployment was deployed to the deployment group.

In some cases, the reported value of the start time may be later than the complete time. This is due to differences in the clock settings of back-end servers that participate in the deployment process.

" + "documentation":"

A timestamp that indicates when the deployment was deployed to the deployment group.

In some cases, the reported value of the start time might be later than the complete time. This is due to differences in the clock settings of backend servers that participate in the deployment process.

" }, "completeTime":{ "shape":"Timestamp", - "documentation":"

A timestamp indicating when the deployment was complete.

" + "documentation":"

A timestamp that indicates when the deployment was complete.

" }, "deploymentOverview":{ "shape":"DeploymentOverview", @@ -1871,11 +1951,11 @@ }, "creator":{ "shape":"DeploymentCreator", - "documentation":"

The means by which the deployment was created:

  • user: A user created the deployment.

  • autoscaling: Auto Scaling created the deployment.

  • codeDeployRollback: A rollback process created the deployment.

" + "documentation":"

The means by which the deployment was created:

  • user: A user created the deployment.

  • autoscaling: Amazon EC2 Auto Scaling created the deployment.

  • codeDeployRollback: A rollback process created the deployment.

" }, "ignoreApplicationStopFailures":{ "shape":"Boolean", - "documentation":"

If true, then if the deployment causes the ApplicationStop deployment lifecycle event to an instance to fail, the deployment to that instance will not be considered to have failed at that point and will continue on to the BeforeInstall deployment lifecycle event.

If false or not specified, then if the deployment causes the ApplicationStop deployment lifecycle event to an instance to fail, the deployment to that instance will stop, and the deployment to that instance will be considered to have failed.

" + "documentation":"

If true, then if an ApplicationStop, BeforeBlockTraffic, or AfterBlockTraffic deployment lifecycle event to an instance fails, then the deployment continues to the next deployment lifecycle event. For example, if ApplicationStop fails, the deployment continues with DownloadBundle. If BeforeBlockTraffic fails, the deployment continues with BlockTraffic. If AfterBlockTraffic fails, the deployment continues with ApplicationStop.

If false or not specified, then if a lifecycle event fails during a deployment to an instance, that deployment fails. If deployment to that instance is part of an overall deployment and the number of healthy hosts is not less than the minimum number of healthy hosts, then a deployment to the next instance is attempted.

During a deployment, the AWS CodeDeploy agent runs the scripts specified for ApplicationStop, BeforeBlockTraffic, and AfterBlockTraffic in the AppSpec file from the previous successful deployment. (All other scripts are run from the AppSpec file in the current deployment.) If one of these scripts contains an error and does not run successfully, the deployment can fail.

If the cause of the failure is a script from the last successful deployment that will never run successfully, create a new deployment and use ignoreApplicationStopFailures to specify that the ApplicationStop, BeforeBlockTraffic, and AfterBlockTraffic failures should be ignored.

" }, "autoRollbackConfiguration":{ "shape":"AutoRollbackConfiguration", @@ -1899,7 +1979,7 @@ }, "instanceTerminationWaitTimeStarted":{ "shape":"Boolean", - "documentation":"

Indicates whether the wait period set for the termination of instances in the original environment has started. Status is 'false' if the KEEP_ALIVE option is specified; otherwise, 'true' as soon as the termination wait period starts.

" + "documentation":"

Indicates whether the wait period set for the termination of instances in the original environment has started. Status is 'false' if the KEEP_ALIVE option is specified. Otherwise, 'true' as soon as the termination wait period starts.

" }, "blueGreenDeploymentConfiguration":{ "shape":"BlueGreenDeploymentConfiguration", @@ -1923,7 +2003,7 @@ }, "computePlatform":{ "shape":"ComputePlatform", - "documentation":"

The destination platform type for the deployment (Lambda or Server).

" + "documentation":"

The destination platform type for the deployment (Lambda, Server, or ECS).

" } }, "documentation":"

Information about a deployment.

" @@ -2002,7 +2082,7 @@ }, "waitTimeInMinutes":{ "shape":"Duration", - "documentation":"

The number of minutes to wait before the status of a blue/green deployment changed to Stopped if rerouting is not started manually. Applies only to the STOP_DEPLOYMENT option for actionOnTimeout

" + "documentation":"

The number of minutes to wait before the status of a blue/green deployment is changed to Stopped if rerouting is not started manually. Applies only to the STOP_DEPLOYMENT option for actionOnTimeout

" } }, "documentation":"

Information about how traffic is rerouted to instances in a replacement environment in a blue/green deployment.

" @@ -2046,7 +2126,7 @@ "members":{ "deploymentTargetType":{ "shape":"DeploymentTargetType", - "documentation":"

The deployment type which is specific to the deployment's compute platform.

" + "documentation":"

The deployment type that is specific to the deployment's compute platform.

" }, "instanceTarget":{ "shape":"InstanceTarget", @@ -2195,7 +2275,7 @@ "members":{ "ec2TagSetList":{ "shape":"EC2TagSetList", - "documentation":"

A list containing other lists of EC2 instance tag groups. In order for an instance to be included in the deployment group, it must be identified by all the tag groups in the list.

" + "documentation":"

A list that contains other lists of EC2 instance tag groups. For an instance to be included in the deployment group, it must be identified by all of the tag groups in the list.

" } }, "documentation":"

Information about groups of EC2 instance tags.

" @@ -2210,11 +2290,11 @@ "members":{ "serviceName":{ "shape":"ECSServiceName", - "documentation":"

The name of the target ECS service.

" + "documentation":"

The name of the target Amazon ECS service.

" }, "clusterName":{ "shape":"ECSClusterName", - "documentation":"

The name of the cluster that the ECS service is associated with.

" + "documentation":"

The name of the cluster that the Amazon ECS service is associated with.

" } }, "documentation":"

Contains the service and cluster names used to identify an Amazon ECS deployment's target.

" @@ -2227,7 +2307,7 @@ "type":"structure", "members":{ }, - "documentation":"

The Amazon ECS service is associated with more than one deployment groups. An ECS service can only be associated with one deployment group.

", + "documentation":"

The Amazon ECS service is associated with more than one deployment groups. An Amazon ECS service can be associated with only one deployment group.

", "exception":true }, "ECSServiceName":{"type":"string"}, @@ -2274,7 +2354,7 @@ }, "desiredCount":{ "shape":"ECSTaskSetCount", - "documentation":"

The number of tasks in a task set. During a deployment that uses the Amazon ECS compute type, CodeDeploy asks Amazon ECS to create a new task set and uses this value to determine how many tasks to create. After the updated task set is created, CodeDeploy shifts traffic to the new task set.

" + "documentation":"

The number of tasks in a task set. During a deployment that uses the Amazon ECS compute type, CodeDeploy instructs Amazon ECS to create a new task set and uses this value to determine how many tasks to create. After the updated task set is created, CodeDeploy shifts traffic to the new task set.

" }, "pendingCount":{ "shape":"ECSTaskSetCount", @@ -2286,7 +2366,7 @@ }, "status":{ "shape":"ECSTaskSetStatus", - "documentation":"

The status of the task set. There are three valid task set statuses:

  • PRIMARY - indicates the task set is serving production traffic.

  • ACTIVE - indicates the task set is not serving production traffic.

  • DRAINING - indicates the tasks in the task set are being stopped and their corresponding targets are being deregistered from their target group.

" + "documentation":"

The status of the task set. There are three valid task set statuses:

  • PRIMARY: Indicates the task set is serving production traffic.

  • ACTIVE: Indicates the task set is not serving production traffic.

  • DRAINING: Indicates the tasks in the task set are being stopped and their corresponding targets are being deregistered from their target group.

" }, "trafficWeight":{ "shape":"TrafficWeight", @@ -2301,7 +2381,7 @@ "documentation":"

A label that identifies whether the ECS task set is an original target (BLUE) or a replacement target (GREEN).

" } }, - "documentation":"

A set of Amazon ECS tasks. A task set runs a specified number of instances of a task definition simultaneously inside an Amazon ECS service. Information about a set of Amazon ECS tasks in an AWS CodeDeploy deployment. An Amazon ECS task set includes details such as the desired number of tasks, how many tasks are running, and whether the task set serves production traffic or not.

" + "documentation":"

Information about a set of Amazon ECS tasks in an AWS CodeDeploy deployment. An Amazon ECS task set includes details such as the desired number of tasks, how many tasks are running, and whether the task set serves production traffic. An AWS CodeDeploy application that uses the Amazon ECS compute platform deploys a containerized application in an Amazon ECS service as a task set.

" }, "ECSTaskSetCount":{"type":"long"}, "ECSTaskSetIdentifier":{"type":"string"}, @@ -2315,7 +2395,7 @@ "members":{ "name":{ "shape":"ELBName", - "documentation":"

For blue/green deployments, the name of the load balancer that will be used to route traffic from original instances to replacement instances in a blue/green deployment. For in-place deployments, the name of the load balancer that instances are deregistered from so they are not serving traffic during a deployment, and then re-registered with after the deployment completes.

" + "documentation":"

For blue/green deployments, the name of the load balancer that is used to route traffic from original instances to replacement instances in a blue/green deployment. For in-place deployments, the name of the load balancer that instances are deregistered from so they are not serving traffic during a deployment, and then re-registered with after the deployment is complete.

" } }, "documentation":"

Information about a load balancer in Elastic Load Balancing to use in a deployment. Instances are registered directly with a load balancer, and traffic is routed to the load balancer.

" @@ -2329,36 +2409,39 @@ "ErrorCode":{ "type":"string", "enum":[ - "DEPLOYMENT_GROUP_MISSING", + "AGENT_ISSUE", + "ALARM_ACTIVE", "APPLICATION_MISSING", - "REVISION_MISSING", + "AUTOSCALING_VALIDATION_ERROR", + "AUTO_SCALING_CONFIGURATION", + "AUTO_SCALING_IAM_ROLE_PERMISSIONS", + "CODEDEPLOY_RESOURCE_CANNOT_BE_FOUND", + "CUSTOMER_APPLICATION_UNHEALTHY", + "DEPLOYMENT_GROUP_MISSING", + "ECS_UPDATE_ERROR", + "ELASTIC_LOAD_BALANCING_INVALID", + "ELB_INVALID_INSTANCE", + "HEALTH_CONSTRAINTS", + "HEALTH_CONSTRAINTS_INVALID", + "HOOK_EXECUTION_FAILURE", "IAM_ROLE_MISSING", "IAM_ROLE_PERMISSIONS", - "NO_EC2_SUBSCRIPTION", - "OVER_MAX_INSTANCES", - "NO_INSTANCES", - "TIMEOUT", - "HEALTH_CONSTRAINTS_INVALID", - "HEALTH_CONSTRAINTS", "INTERNAL_ERROR", - "THROTTLED", - "ALARM_ACTIVE", - "AGENT_ISSUE", - "AUTO_SCALING_IAM_ROLE_PERMISSIONS", - "AUTO_SCALING_CONFIGURATION", + "INVALID_ECS_SERVICE", + "INVALID_LAMBDA_CONFIGURATION", + "INVALID_LAMBDA_FUNCTION", + "INVALID_REVISION", "MANUAL_STOP", "MISSING_BLUE_GREEN_DEPLOYMENT_CONFIGURATION", "MISSING_ELB_INFORMATION", "MISSING_GITHUB_TOKEN", - "ELASTIC_LOAD_BALANCING_INVALID", - "ELB_INVALID_INSTANCE", - "INVALID_LAMBDA_CONFIGURATION", - "INVALID_LAMBDA_FUNCTION", - "HOOK_EXECUTION_FAILURE", - "AUTOSCALING_VALIDATION_ERROR", - "INVALID_ECS_SERVICE", - "ECS_UPDATE_ERROR", - "INVALID_REVISION" + "NO_EC2_SUBSCRIPTION", + "NO_INSTANCES", + "OVER_MAX_INSTANCES", + "RESOURCE_LIMIT_EXCEEDED", + "REVISION_MISSING", + "THROTTLED", + "TIMEOUT" ] }, "ErrorInformation":{ @@ -2366,7 +2449,7 @@ "members":{ "code":{ "shape":"ErrorCode", - "documentation":"

For information about additional error codes, see Error Codes for AWS CodeDeploy in the AWS CodeDeploy User Guide.

The error code:

  • APPLICATION_MISSING: The application was missing. This error code will most likely be raised if the application is deleted after the deployment is created but before it is started.

  • DEPLOYMENT_GROUP_MISSING: The deployment group was missing. This error code will most likely be raised if the deployment group is deleted after the deployment is created but before it is started.

  • HEALTH_CONSTRAINTS: The deployment failed on too many instances to be successfully deployed within the instance health constraints specified.

  • HEALTH_CONSTRAINTS_INVALID: The revision cannot be successfully deployed within the instance health constraints specified.

  • IAM_ROLE_MISSING: The service role cannot be accessed.

  • IAM_ROLE_PERMISSIONS: The service role does not have the correct permissions.

  • INTERNAL_ERROR: There was an internal error.

  • NO_EC2_SUBSCRIPTION: The calling account is not subscribed to the Amazon EC2 service.

  • NO_INSTANCES: No instance were specified, or no instance can be found.

  • OVER_MAX_INSTANCES: The maximum number of instance was exceeded.

  • THROTTLED: The operation was throttled because the calling account exceeded the throttling limits of one or more AWS services.

  • TIMEOUT: The deployment has timed out.

  • REVISION_MISSING: The revision ID was missing. This error code will most likely be raised if the revision is deleted after the deployment is created but before it is started.

" + "documentation":"

For more information, see Error Codes for AWS CodeDeploy in the AWS CodeDeploy User Guide.

The error code:

  • APPLICATION_MISSING: The application was missing. This error code is most likely raised if the application is deleted after the deployment is created, but before it is started.

  • DEPLOYMENT_GROUP_MISSING: The deployment group was missing. This error code is most likely raised if the deployment group is deleted after the deployment is created, but before it is started.

  • HEALTH_CONSTRAINTS: The deployment failed on too many instances to be successfully deployed within the instance health constraints specified.

  • HEALTH_CONSTRAINTS_INVALID: The revision cannot be successfully deployed within the instance health constraints specified.

  • IAM_ROLE_MISSING: The service role cannot be accessed.

  • IAM_ROLE_PERMISSIONS: The service role does not have the correct permissions.

  • INTERNAL_ERROR: There was an internal error.

  • NO_EC2_SUBSCRIPTION: The calling account is not subscribed to Amazon EC2.

  • NO_INSTANCES: No instances were specified, or no instances can be found.

  • OVER_MAX_INSTANCES: The maximum number of instances was exceeded.

  • THROTTLED: The operation was throttled because the calling account exceeded the throttling limits of one or more AWS services.

  • TIMEOUT: The deployment has timed out.

  • REVISION_MISSING: The revision ID was missing. This error code is most likely raised if the revision is deleted after the deployment is created, but before it is started.

" }, "message":{ "shape":"ErrorMessage", @@ -2421,7 +2504,7 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" + "documentation":"

The name of an AWS CodeDeploy application associated with the IAM user or AWS account.

" } }, "documentation":"

Represents the input of a GetApplication operation.

" @@ -2478,7 +2561,7 @@ "members":{ "deploymentConfigName":{ "shape":"DeploymentConfigName", - "documentation":"

The name of a deployment configuration associated with the applicable IAM user or AWS account.

" + "documentation":"

The name of a deployment configuration associated with the IAM user or AWS account.

" } }, "documentation":"

Represents the input of a GetDeploymentConfig operation.

" @@ -2502,11 +2585,11 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" + "documentation":"

The name of an AWS CodeDeploy application associated with the IAM user or AWS account.

" }, "deploymentGroupName":{ "shape":"DeploymentGroupName", - "documentation":"

The name of an existing deployment group for the specified application.

" + "documentation":"

The name of a deployment group for the specified application.

" } }, "documentation":"

Represents the input of a GetDeploymentGroup operation.

" @@ -2527,7 +2610,7 @@ "members":{ "deploymentId":{ "shape":"DeploymentId", - "documentation":"

The unique ID of a deployment associated with the applicable IAM user or AWS account.

" + "documentation":"

The unique ID of a deployment associated with the IAM user or AWS account.

" } }, "documentation":"

Represents the input of a GetDeployment operation.

" @@ -2588,7 +2671,7 @@ "members":{ "deploymentTarget":{ "shape":"DeploymentTarget", - "documentation":"

A deployment target that contains information about a deployment such as its status, lifecyle events, and when it was updated last. It also contains metadata about the deployment target. The deployment target metadata depends on the deployment target's type (instanceTarget, lambdaTarget, or ecsTarget).

" + "documentation":"

A deployment target that contains information about a deployment such as its status, lifecyle events, and when it was last updated. It also contains metadata about the deployment target. The deployment target metadata depends on the deployment target's type (instanceTarget, lambdaTarget, or ecsTarget).

" } } }, @@ -2827,7 +2910,7 @@ }, "lastUpdatedAt":{ "shape":"Timestamp", - "documentation":"

A timestamp indicating when the instance information was last updated.

" + "documentation":"

A timestamp that indicaties when the instance information was last updated.

" }, "lifecycleEvents":{ "shape":"LifecycleEventList", @@ -2899,7 +2982,7 @@ "type":"structure", "members":{ }, - "documentation":"

The format of the alarm configuration is invalid. Possible causes include:

  • The alarm list is null.

  • The alarm object is null.

  • The alarm name is empty or null or exceeds the 255 character limit.

  • Two alarms with the same name have been specified.

  • The alarm configuration is enabled but the alarm list is empty.

", + "documentation":"

The format of the alarm configuration is invalid. Possible causes include:

  • The alarm list is null.

  • The alarm object is null.

  • The alarm name is empty or null or exceeds the limit of 255 characters.

  • Two alarms with the same name have been specified.

  • The alarm configuration is enabled, but the alarm list is empty.

", "exception":true }, "InvalidApplicationNameException":{ @@ -2909,11 +2992,18 @@ "documentation":"

The application name was specified in an invalid format.

", "exception":true }, + "InvalidArnException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified ARN is not in a valid format.

", + "exception":true + }, "InvalidAutoRollbackConfigException":{ "type":"structure", "members":{ }, - "documentation":"

The automatic rollback configuration was specified in an invalid format. For example, automatic rollback is enabled but an invalid triggering event type or no event types were listed.

", + "documentation":"

The automatic rollback configuration was specified in an invalid format. For example, automatic rollback is enabled, but an invalid triggering event type or no event types were listed.

", "exception":true }, "InvalidAutoScalingGroupException":{ @@ -2951,6 +3041,13 @@ "documentation":"

The deployed state filter was specified in an invalid format.

", "exception":true }, + "InvalidDeploymentConfigIdException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The ID of the deployment configuration is invalid.

", + "exception":true + }, "InvalidDeploymentConfigNameException":{ "type":"structure", "members":{ @@ -2990,14 +3087,14 @@ "type":"structure", "members":{ }, - "documentation":"

An invalid deployment style was specified. Valid deployment types include \"IN_PLACE\" and \"BLUE_GREEN\". Valid deployment options include \"WITH_TRAFFIC_CONTROL\" and \"WITHOUT_TRAFFIC_CONTROL\".

", + "documentation":"

An invalid deployment style was specified. Valid deployment types include \"IN_PLACE\" and \"BLUE_GREEN.\" Valid deployment options include \"WITH_TRAFFIC_CONTROL\" and \"WITHOUT_TRAFFIC_CONTROL.\"

", "exception":true }, "InvalidDeploymentTargetIdException":{ "type":"structure", "members":{ }, - "documentation":"

The target ID provide was not valid.

", + "documentation":"

The target ID provided was not valid.

", "exception":true }, "InvalidDeploymentWaitTypeException":{ @@ -3032,7 +3129,7 @@ "type":"structure", "members":{ }, - "documentation":"

An invalid fileExistsBehavior option was specified to determine how AWS CodeDeploy handles files or directories that already exist in a deployment target location but weren't part of the previous successful deployment. Valid values include \"DISALLOW\", \"OVERWRITE\", and \"RETAIN\".

", + "documentation":"

An invalid fileExistsBehavior option was specified to determine how AWS CodeDeploy handles files or directories that already exist in a deployment target location, but weren't part of the previous successful deployment. Valid values include \"DISALLOW,\" \"OVERWRITE,\" and \"RETAIN.\"

", "exception":true }, "InvalidGitHubAccountTokenException":{ @@ -3074,7 +3171,7 @@ "type":"structure", "members":{ }, - "documentation":"

The specified input was specified in an invalid format.

", + "documentation":"

The input was specified in an invalid format.

", "exception":true }, "InvalidInstanceIdException":{ @@ -3088,7 +3185,7 @@ "type":"structure", "members":{ }, - "documentation":"

The specified on-premises instance name was specified in an invalid format.

", + "documentation":"

The on-premises instance name was specified in an invalid format.

", "exception":true }, "InvalidInstanceStatusException":{ @@ -3179,7 +3276,7 @@ "type":"structure", "members":{ }, - "documentation":"

The service role ARN was specified in an invalid format. Or, if an Auto Scaling group was specified, the specified service role does not grant the appropriate permissions to Auto Scaling.

", + "documentation":"

The service role ARN was specified in an invalid format. Or, if an Auto Scaling group was specified, the specified service role does not grant the appropriate permissions to Amazon EC2 Auto Scaling.

", "exception":true }, "InvalidSortByException":{ @@ -3200,14 +3297,21 @@ "type":"structure", "members":{ }, - "documentation":"

The specified tag was specified in an invalid format.

", + "documentation":"

The tag was specified in an invalid format.

", "exception":true }, "InvalidTagFilterException":{ "type":"structure", "members":{ }, - "documentation":"

The specified tag filter was specified in an invalid format.

", + "documentation":"

The tag filter was specified in an invalid format.

", + "exception":true + }, + "InvalidTagsToAddException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified tags are not valid.

", "exception":true }, "InvalidTargetException":{ @@ -3267,6 +3371,34 @@ "exception":true }, "Key":{"type":"string"}, + "LambdaFunctionAlias":{"type":"string"}, + "LambdaFunctionInfo":{ + "type":"structure", + "members":{ + "functionName":{ + "shape":"LambdaFunctionName", + "documentation":"

The name of a Lambda function.

" + }, + "functionAlias":{ + "shape":"LambdaFunctionAlias", + "documentation":"

The alias of a Lambda function. For more information, see Introduction to AWS Lambda Aliases.

" + }, + "currentVersion":{ + "shape":"Version", + "documentation":"

The version of a Lambda function that production traffic points to.

" + }, + "targetVersion":{ + "shape":"Version", + "documentation":"

The version of a Lambda function that production traffic points to after the Lambda function is deployed.

" + }, + "targetVersionWeight":{ + "shape":"TrafficWeight", + "documentation":"

The percentage of production traffic that the target version of a Lambda function receives.

" + } + }, + "documentation":"

Information about a Lambda function specified in a deployment.

" + }, + "LambdaFunctionName":{"type":"string"}, "LambdaTarget":{ "type":"structure", "members":{ @@ -3293,6 +3425,10 @@ "lifecycleEvents":{ "shape":"LifecycleEventList", "documentation":"

The lifecycle events of the deployment to this target Lambda function.

" + }, + "lambdaFunctionInfo":{ + "shape":"LambdaFunctionInfo", + "documentation":"

A LambdaFunctionInfo object that describes a target Lambda function.

" } }, "documentation":"

Information about the target AWS Lambda function during an AWS Lambda deployment.

" @@ -3310,11 +3446,11 @@ }, "endTime":{ "shape":"Timestamp", - "documentation":"

A timestamp indicating when the most recent deployment to the deployment group completed.

" + "documentation":"

A timestamp that indicates when the most recent deployment to the deployment group was complete.

" }, "createTime":{ "shape":"Timestamp", - "documentation":"

A timestamp indicating when the most recent deployment to the deployment group started.

" + "documentation":"

A timestamp that indicates when the most recent deployment to the deployment group started.

" } }, "documentation":"

Information about the most recent attempted or successful deployment to a deployment group.

" @@ -3343,11 +3479,11 @@ }, "startTime":{ "shape":"Timestamp", - "documentation":"

A timestamp indicating when the deployment lifecycle event started.

" + "documentation":"

A timestamp that indicates when the deployment lifecycle event started.

" }, "endTime":{ "shape":"Timestamp", - "documentation":"

A timestamp indicating when the deployment lifecycle event ended.

" + "documentation":"

A timestamp that indicates when the deployment lifecycle event ended.

" }, "status":{ "shape":"LifecycleEventStatus", @@ -3394,15 +3530,15 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" + "documentation":"

The name of an AWS CodeDeploy application associated with the IAM user or AWS account.

" }, "sortBy":{ "shape":"ApplicationRevisionSortBy", - "documentation":"

The column name to use to sort the list results:

  • registerTime: Sort by the time the revisions were registered with AWS CodeDeploy.

  • firstUsedTime: Sort by the time the revisions were first used in a deployment.

  • lastUsedTime: Sort by the time the revisions were last used in a deployment.

If not specified or set to null, the results will be returned in an arbitrary order.

" + "documentation":"

The column name to use to sort the list results:

  • registerTime: Sort by the time the revisions were registered with AWS CodeDeploy.

  • firstUsedTime: Sort by the time the revisions were first used in a deployment.

  • lastUsedTime: Sort by the time the revisions were last used in a deployment.

If not specified or set to null, the results are returned in an arbitrary order.

" }, "sortOrder":{ "shape":"SortOrder", - "documentation":"

The order in which to sort the list results:

  • ascending: ascending order.

  • descending: descending order.

If not specified, the results will be sorted in ascending order.

If set to null, the results will be sorted in an arbitrary order.

" + "documentation":"

The order in which to sort the list results:

  • ascending: ascending order.

  • descending: descending order.

If not specified, the results are sorted in ascending order.

If set to null, the results are sorted in an arbitrary order.

" }, "s3Bucket":{ "shape":"S3Bucket", @@ -3432,7 +3568,7 @@ }, "nextToken":{ "shape":"NextToken", - "documentation":"

If a large amount of information is returned, an identifier will also be returned. It can be used in a subsequent list application revisions call to return the next set of application revisions in the list.

" + "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list application revisions call to return the next set of application revisions in the list.

" } }, "documentation":"

Represents the output of a ListApplicationRevisions operation.

" @@ -3456,7 +3592,7 @@ }, "nextToken":{ "shape":"NextToken", - "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list applications call to return the next set of applications, will also be returned. in the list.

" + "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list applications call to return the next set of applications in the list.

" } }, "documentation":"

Represents the output of a ListApplications operation.

" @@ -3491,7 +3627,7 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" + "documentation":"

The name of an AWS CodeDeploy application associated with the IAM user or AWS account.

" }, "nextToken":{ "shape":"NextToken", @@ -3509,7 +3645,7 @@ }, "deploymentGroups":{ "shape":"DeploymentGroupsList", - "documentation":"

A list of corresponding deployment group names.

" + "documentation":"

A list of deployment group names.

" }, "nextToken":{ "shape":"NextToken", @@ -3532,7 +3668,7 @@ }, "instanceStatusFilter":{ "shape":"InstanceStatusList", - "documentation":"

A subset of instances to list by status:

  • Pending: Include those instance with pending deployments.

  • InProgress: Include those instance where deployments are still in progress.

  • Succeeded: Include those instances with successful deployments.

  • Failed: Include those instance with failed deployments.

  • Skipped: Include those instance with skipped deployments.

  • Unknown: Include those instance with deployments in an unknown state.

" + "documentation":"

A subset of instances to list by status:

  • Pending: Include those instances with pending deployments.

  • InProgress: Include those instances where deployments are still in progress.

  • Succeeded: Include those instances with successful deployments.

  • Failed: Include those instances with failed deployments.

  • Skipped: Include those instances with skipped deployments.

  • Unknown: Include those instances with deployments in an unknown state.

" }, "instanceTypeFilter":{ "shape":"InstanceTypeList", @@ -3581,7 +3717,7 @@ }, "nextToken":{ "shape":"NextToken", - "documentation":"

If a large amount of information is returned, a token identifier will also be returned. It can be used in a subsequent ListDeploymentTargets call to return the next set of deployment targets in the list.

" + "documentation":"

If a large amount of information is returned, a token identifier is also returned. It can be used in a subsequent ListDeploymentTargets call to return the next set of deployment targets in the list.

" } } }, @@ -3590,11 +3726,11 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" + "documentation":"

The name of an AWS CodeDeploy application associated with the IAM user or AWS account.

If applicationName is specified, then deploymentGroupName must be specified. If it is not specified, then deploymentGroupName must not be specified.

" }, "deploymentGroupName":{ "shape":"DeploymentGroupName", - "documentation":"

The name of an existing deployment group for the specified application.

" + "documentation":"

The name of a deployment group for the specified application.

If deploymentGroupName is specified, then applicationName must be specified. If it is not specified, then applicationName must not be specified.

" }, "includeOnlyStatuses":{ "shape":"DeploymentStatusList", @@ -3658,7 +3794,7 @@ }, "tagFilters":{ "shape":"TagFilterList", - "documentation":"

The on-premises instance tags that will be used to restrict the corresponding on-premises instance names returned.

" + "documentation":"

The on-premises instance tags that are used to restrict the on-premises instance names returned.

" }, "nextToken":{ "shape":"NextToken", @@ -3679,7 +3815,7 @@ "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list on-premises instances call to return the next set of on-premises instances in the list.

" } }, - "documentation":"

Represents the output of list on-premises instances operation.

" + "documentation":"

Represents the output of the list on-premises instances operation.

" }, "ListStateFilterAction":{ "type":"string", @@ -3689,6 +3825,33 @@ "ignore" ] }, + "ListTagsForResourceInput":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

The ARN of a CodeDeploy resource. ListTagsForResource returns all the tags associated with the resource that is identified by the ResourceArn.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

An identifier returned from the previous ListTagsForResource call. It can be used to return the next set of applications in the list.

" + } + } + }, + "ListTagsForResourceOutput":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

A list of tags returned by ListTagsForResource. The tags are associated with the resource identified by the input ResourceArn parameter.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list application revisions call to return the next set of application revisions in the list.

" + } + } + }, "ListenerArn":{"type":"string"}, "ListenerArnList":{ "type":"list", @@ -3699,11 +3862,11 @@ "members":{ "elbInfoList":{ "shape":"ELBInfoList", - "documentation":"

An array containing information about the load balancer to use for load balancing in a deployment. In Elastic Load Balancing, load balancers are used with Classic Load Balancers.

Adding more than one load balancer to the array is not supported.

" + "documentation":"

An array that contains information about the load balancer to use for load balancing in a deployment. In Elastic Load Balancing, load balancers are used with Classic Load Balancers.

Adding more than one load balancer to the array is not supported.

" }, "targetGroupInfoList":{ "shape":"TargetGroupInfoList", - "documentation":"

An array containing information about the target group to use for load balancing in a deployment. In Elastic Load Balancing, target groups are used with Application Load Balancers.

Adding more than one target group to the array is not supported.

" + "documentation":"

An array that contains information about the target group to use for load balancing in a deployment. In Elastic Load Balancing, target groups are used with Application Load Balancers.

Adding more than one target group to the array is not supported.

" }, "targetGroupPairInfoList":{ "shape":"TargetGroupPairInfoList", @@ -3723,7 +3886,7 @@ }, "type":{ "shape":"MinimumHealthyHostsType", - "documentation":"

The minimum healthy instance type:

  • HOST_COUNT: The minimum number of healthy instance as an absolute value.

  • FLEET_PERCENT: The minimum number of healthy instance as a percentage of the total number of instance in the deployment.

In an example of nine instance, if a HOST_COUNT of six is specified, deploy to up to three instances at a time. The deployment will be successful if six or more instances are deployed to successfully; otherwise, the deployment fails. If a FLEET_PERCENT of 40 is specified, deploy to up to five instance at a time. The deployment will be successful if four or more instance are deployed to successfully; otherwise, the deployment fails.

In a call to the get deployment configuration operation, CodeDeployDefault.OneAtATime will return a minimum healthy instance type of MOST_CONCURRENCY and a value of 1. This means a deployment to only one instance at a time. (You cannot set the type to MOST_CONCURRENCY, only to HOST_COUNT or FLEET_PERCENT.) In addition, with CodeDeployDefault.OneAtATime, AWS CodeDeploy will try to ensure that all instances but one are kept in a healthy state during the deployment. Although this allows one instance at a time to be taken offline for a new deployment, it also means that if the deployment to the last instance fails, the overall deployment still succeeds.

For more information, see AWS CodeDeploy Instance Health in the AWS CodeDeploy User Guide.

" + "documentation":"

The minimum healthy instance type:

  • HOST_COUNT: The minimum number of healthy instance as an absolute value.

  • FLEET_PERCENT: The minimum number of healthy instance as a percentage of the total number of instance in the deployment.

In an example of nine instance, if a HOST_COUNT of six is specified, deploy to up to three instances at a time. The deployment is successful if six or more instances are deployed to successfully. Otherwise, the deployment fails. If a FLEET_PERCENT of 40 is specified, deploy to up to five instance at a time. The deployment is successful if four or more instance are deployed to successfully. Otherwise, the deployment fails.

In a call to the GetDeploymentConfig, CodeDeployDefault.OneAtATime returns a minimum healthy instance type of MOST_CONCURRENCY and a value of 1. This means a deployment to only one instance at a time. (You cannot set the type to MOST_CONCURRENCY, only to HOST_COUNT or FLEET_PERCENT.) In addition, with CodeDeployDefault.OneAtATime, AWS CodeDeploy attempts to ensure that all instances but one are kept in a healthy state during the deployment. Although this allows one instance at a time to be taken offline for a new deployment, it also means that if the deployment to the last instance fails, the overall deployment is still successful.

For more information, see AWS CodeDeploy Instance Health in the AWS CodeDeploy User Guide.

" } }, "documentation":"

Information about minimum healthy instance.

" @@ -3750,7 +3913,7 @@ "members":{ "onPremisesTagSetList":{ "shape":"OnPremisesTagSetList", - "documentation":"

A list containing other lists of on-premises instance tag groups. In order for an instance to be included in the deployment group, it must be identified by all the tag groups in the list.

" + "documentation":"

A list that contains other lists of on-premises instance tag groups. For an instance to be included in the deployment group, it must be identified by all of the tag groups in the list.

" } }, "documentation":"

Information about groups of on-premises instance tags.

" @@ -3820,7 +3983,7 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" + "documentation":"

The name of an AWS CodeDeploy application associated with the IAM user or AWS account.

" }, "description":{ "shape":"Description", @@ -3878,6 +4041,13 @@ "documentation":"

Represents the input of a RemoveTagsFromOnPremisesInstances operation.

" }, "Repository":{"type":"string"}, + "ResourceArnRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The ARN of a resource is required, but was not found.

", + "exception":true + }, "ResourceValidationException":{ "type":"structure", "members":{ @@ -3889,7 +4059,7 @@ "type":"structure", "members":{ }, - "documentation":"

The named revision does not exist with the applicable IAM user or AWS account.

", + "documentation":"

The named revision does not exist with the IAM user or AWS account.

", "exception":true }, "RevisionInfo":{ @@ -3915,7 +4085,7 @@ "members":{ "revisionType":{ "shape":"RevisionLocationType", - "documentation":"

The type of application revision:

  • S3: An application revision stored in Amazon S3.

  • GitHub: An application revision stored in GitHub (EC2/On-premises deployments only)

  • String: A YAML-formatted or JSON-formatted string (AWS Lambda deployments only)

" + "documentation":"

The type of application revision:

  • S3: An application revision stored in Amazon S3.

  • GitHub: An application revision stored in GitHub (EC2/On-premises deployments only).

  • String: A YAML-formatted or JSON-formatted string (AWS Lambda deployments only).

" }, "s3Location":{ "shape":"S3Location", @@ -3977,7 +4147,7 @@ }, "rollbackMessage":{ "shape":"Description", - "documentation":"

Information describing the status of a deployment rollback; for example, whether the deployment can't be rolled back, is in progress, failed, or succeeded.

" + "documentation":"

Information that describes the status of a deployment rollback (for example, whether the deployment can't be rolled back, is in progress, failed, or succeeded).

" } }, "documentation":"

Information about a deployment rollback.

" @@ -4001,11 +4171,11 @@ }, "version":{ "shape":"VersionId", - "documentation":"

A specific version of the Amazon S3 object that represents the bundled artifacts for the application revision.

If the version is not specified, the system will use the most recent version by default.

" + "documentation":"

A specific version of the Amazon S3 object that represents the bundled artifacts for the application revision.

If the version is not specified, the system uses the most recent version by default.

" }, "eTag":{ "shape":"ETag", - "documentation":"

The ETag of the Amazon S3 object that represents the bundled artifacts for the application revision.

If the ETag is not specified as an input parameter, ETag validation of the object will be skipped.

" + "documentation":"

The ETag of the Amazon S3 object that represents the bundled artifacts for the application revision.

If the ETag is not specified as an input parameter, ETag validation of the object is skipped.

" } }, "documentation":"

Information about the location of application artifacts stored in Amazon S3.

" @@ -4107,6 +4277,10 @@ "KEY_AND_VALUE" ] }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"Key"} + }, "TagLimitExceededException":{ "type":"structure", "members":{ @@ -4125,6 +4299,28 @@ "documentation":"

A tag was not specified.

", "exception":true }, + "TagResourceInput":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

The ARN of a resource, such as a CodeDeploy application or deployment group.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A list of tags that TagResource associates with a resource. The resource is identified by the ResourceArn input parameter.

" + } + } + }, + "TagResourceOutput":{ + "type":"structure", + "members":{ + } + }, "TagSetListLimitExceededException":{ "type":"structure", "members":{ @@ -4150,7 +4346,7 @@ "members":{ "name":{ "shape":"TargetGroupName", - "documentation":"

For blue/green deployments, the name of the target group that instances in the original environment are deregistered from, and instances in the replacement environment registered with. For in-place deployments, the name of the target group that instances are deregistered from, so they are not serving traffic during a deployment, and then re-registered with after the deployment completes.

" + "documentation":"

For blue/green deployments, the name of the target group that instances in the original environment are deregistered from, and instances in the replacement environment are registered with. For in-place deployments, the name of the target group that instances are deregistered from, so they are not serving traffic during a deployment, and then re-registered with after the deployment is complete.

" } }, "documentation":"

Information about a target group in Elastic Load Balancing to use in a deployment. Instances are registered as targets in a target group, and traffic is routed to the target group.

" @@ -4165,7 +4361,7 @@ "members":{ "targetGroups":{ "shape":"TargetGroupInfoList", - "documentation":"

One pair of target groups. One is associated with the original task set. The second target is associated with the task set that serves traffic after the deployment completes.

" + "documentation":"

One pair of target groups. One is associated with the original task set. The second is associated with the task set that serves traffic after the deployment is complete.

" }, "prodTrafficRoute":{ "shape":"TrafficRoute", @@ -4173,10 +4369,10 @@ }, "testTrafficRoute":{ "shape":"TrafficRoute", - "documentation":"

An optional path used by a load balancer to route test traffic after an Amazon ECS deployment. Validation can happen while test traffic is served during a deployment.

" + "documentation":"

An optional path used by a load balancer to route test traffic after an Amazon ECS deployment. Validation can occur while test traffic is served during a deployment.

" } }, - "documentation":"

Information about two target groups and how traffic routes during an Amazon ECS deployment. An optional test traffic route can be specified.

" + "documentation":"

Information about two target groups and how traffic is routed during an Amazon ECS deployment. An optional test traffic route can be specified.

" }, "TargetGroupPairInfoList":{ "type":"list", @@ -4369,6 +4565,28 @@ "documentation":"

A call was submitted that is not supported for the specified deployment type.

", "exception":true }, + "UntagResourceInput":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

The ARN that specifies from which resource to disassociate the tags with the keys in the TagKeys input paramter.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

A list of keys of Tag objects. The Tag objects identified by the keys are disassociated from the resource specified by the ResourceArn input parameter.

" + } + } + }, + "UntagResourceOutput":{ + "type":"structure", + "members":{ + } + }, "UpdateApplicationInput":{ "type":"structure", "members":{ @@ -4392,7 +4610,7 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

The application name corresponding to the deployment group to update.

" + "documentation":"

The application name that corresponds to the deployment group to update.

" }, "currentDeploymentGroupName":{ "shape":"DeploymentGroupName", @@ -4424,7 +4642,7 @@ }, "triggerConfigurations":{ "shape":"TriggerConfigList", - "documentation":"

Information about triggers to change when the deployment group is updated. For examples, see Modify Triggers in an AWS CodeDeploy Deployment Group in the AWS CodeDeploy User Guide.

" + "documentation":"

Information about triggers to change when the deployment group is updated. For examples, see Modify Triggers in an AWS CodeDeploy Deployment Group in the AWS CodeDeploy User Guide.

" }, "alarmConfiguration":{ "shape":"AlarmConfiguration", @@ -4448,15 +4666,15 @@ }, "ec2TagSet":{ "shape":"EC2TagSet", - "documentation":"

Information about groups of tags applied to on-premises instances. The deployment group will include only EC2 instances identified by all the tag groups.

" + "documentation":"

Information about groups of tags applied to on-premises instances. The deployment group includes only EC2 instances identified by all the tag groups.

" }, "ecsServices":{ "shape":"ECSServiceList", - "documentation":"

The target ECS services in the deployment group. This only applies to deployment groups that use the Amazon ECS compute platform. A target ECS service is specified as an Amazon ECS cluster and service name pair using the format <clustername>:<servicename>.

" + "documentation":"

The target Amazon ECS services in the deployment group. This applies only to deployment groups that use the Amazon ECS compute platform. A target Amazon ECS service is specified as an Amazon ECS cluster and service name pair using the format <clustername>:<servicename>.

" }, "onPremisesTagSet":{ "shape":"OnPremisesTagSet", - "documentation":"

Information about an on-premises instance tag set. The deployment group will include only on-premises instances identified by all the tag groups.

" + "documentation":"

Information about an on-premises instance tag set. The deployment group includes only on-premises instances identified by all the tag groups.

" } }, "documentation":"

Represents the input of an UpdateDeploymentGroup operation.

" @@ -4472,8 +4690,9 @@ "documentation":"

Represents the output of an UpdateDeploymentGroup operation.

" }, "Value":{"type":"string"}, + "Version":{"type":"string"}, "VersionId":{"type":"string"}, "WaitTimeInMins":{"type":"integer"} }, - "documentation":"AWS CodeDeploy

AWS CodeDeploy is a deployment service that automates application deployments to Amazon EC2 instances, on-premises instances running in your own facility, or serverless AWS Lambda functions.

You can deploy a nearly unlimited variety of application content, such as an updated Lambda function, code, web and configuration files, executables, packages, scripts, multimedia files, and so on. AWS CodeDeploy can deploy application content stored in Amazon S3 buckets, GitHub repositories, or Bitbucket repositories. You do not need to make changes to your existing code before you can use AWS CodeDeploy.

AWS CodeDeploy makes it easier for you to rapidly release new features, helps you avoid downtime during application deployment, and handles the complexity of updating your applications, without many of the risks associated with error-prone manual deployments.

AWS CodeDeploy Components

Use the information in this guide to help you work with the following AWS CodeDeploy components:

  • Application: A name that uniquely identifies the application you want to deploy. AWS CodeDeploy uses this name, which functions as a container, to ensure the correct combination of revision, deployment configuration, and deployment group are referenced during a deployment.

  • Deployment group: A set of individual instances or CodeDeploy Lambda applications. A Lambda deployment group contains a group of applications. An EC2/On-premises deployment group contains individually tagged instances, Amazon EC2 instances in Auto Scaling groups, or both.

  • Deployment configuration: A set of deployment rules and deployment success and failure conditions used by AWS CodeDeploy during a deployment.

  • Deployment: The process and the components used in the process of updating a Lambda function or of installing content on one or more instances.

  • Application revisions: For an AWS Lambda deployment, this is an AppSpec file that specifies the Lambda function to update and one or more functions to validate deployment lifecycle events. For an EC2/On-premises deployment, this is an archive file containing source content—source code, web pages, executable files, and deployment scripts—along with an AppSpec file. Revisions are stored in Amazon S3 buckets or GitHub repositories. For Amazon S3, a revision is uniquely identified by its Amazon S3 object key and its ETag, version, or both. For GitHub, a revision is uniquely identified by its commit ID.

This guide also contains information to help you get details about the instances in your deployments, to make on-premises instances available for AWS CodeDeploy deployments, and to get details about a Lambda function deployment.

AWS CodeDeploy Information Resources

" + "documentation":"AWS CodeDeploy

AWS CodeDeploy is a deployment service that automates application deployments to Amazon EC2 instances, on-premises instances running in your own facility, serverless AWS Lambda functions, or applications in an Amazon ECS service.

You can deploy a nearly unlimited variety of application content, such as an updated Lambda function, updated applications in an Amazon ECS service, code, web and configuration files, executables, packages, scripts, multimedia files, and so on. AWS CodeDeploy can deploy application content stored in Amazon S3 buckets, GitHub repositories, or Bitbucket repositories. You do not need to make changes to your existing code before you can use AWS CodeDeploy.

AWS CodeDeploy makes it easier for you to rapidly release new features, helps you avoid downtime during application deployment, and handles the complexity of updating your applications, without many of the risks associated with error-prone manual deployments.

AWS CodeDeploy Components

Use the information in this guide to help you work with the following AWS CodeDeploy components:

  • Application: A name that uniquely identifies the application you want to deploy. AWS CodeDeploy uses this name, which functions as a container, to ensure the correct combination of revision, deployment configuration, and deployment group are referenced during a deployment.

  • Deployment group: A set of individual instances, CodeDeploy Lambda deployment configuration settings, or an Amazon ECS service and network details. A Lambda deployment group specifies how to route traffic to a new version of a Lambda function. An Amazon ECS deployment group specifies the service created in Amazon ECS to deploy, a load balancer, and a listener to reroute production traffic to an updated containerized application. An EC2/On-premises deployment group contains individually tagged instances, Amazon EC2 instances in Amazon EC2 Auto Scaling groups, or both. All deployment groups can specify optional trigger, alarm, and rollback settings.

  • Deployment configuration: A set of deployment rules and deployment success and failure conditions used by AWS CodeDeploy during a deployment.

  • Deployment: The process and the components used when updating a Lambda function, a containerized application in an Amazon ECS service, or of installing content on one or more instances.

  • Application revisions: For an AWS Lambda deployment, this is an AppSpec file that specifies the Lambda function to be updated and one or more functions to validate deployment lifecycle events. For an Amazon ECS deployment, this is an AppSpec file that specifies the Amazon ECS task definition, container, and port where production traffic is rerouted. For an EC2/On-premises deployment, this is an archive file that contains source content—source code, webpages, executable files, and deployment scripts—along with an AppSpec file. Revisions are stored in Amazon S3 buckets or GitHub repositories. For Amazon S3, a revision is uniquely identified by its Amazon S3 object key and its ETag, version, or both. For GitHub, a revision is uniquely identified by its commit ID.

This guide also contains information to help you get details about the instances in your deployments, to make on-premises instances available for AWS CodeDeploy deployments, to get details about a Lambda function deployment, and to get details about Amazon ECS service deployments.

AWS CodeDeploy Information Resources

" } diff --git a/bin/botocore/data/codepipeline/2015-07-09/paginators-1.json b/bin/botocore/data/codepipeline/2015-07-09/paginators-1.json index ea142457..a3a7a46c 100644 --- a/bin/botocore/data/codepipeline/2015-07-09/paginators-1.json +++ b/bin/botocore/data/codepipeline/2015-07-09/paginators-1.json @@ -1,3 +1,38 @@ { - "pagination": {} + "pagination": { + "ListActionTypes": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "actionTypes" + }, + "ListPipelineExecutions": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "pipelineExecutionSummaries" + }, + "ListPipelines": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "pipelines" + }, + "ListWebhooks": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "webhooks" + }, + "ListActionExecutions": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "actionExecutionDetails" + }, + "ListTagsForResource": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "tags" + } + } } diff --git a/bin/botocore/data/codepipeline/2015-07-09/service-2.json b/bin/botocore/data/codepipeline/2015-07-09/service-2.json index d7d96668..d3b04bbd 100644 --- a/bin/botocore/data/codepipeline/2015-07-09/service-2.json +++ b/bin/botocore/data/codepipeline/2015-07-09/service-2.json @@ -54,7 +54,10 @@ "output":{"shape":"CreateCustomActionTypeOutput"}, "errors":[ {"shape":"ValidationException"}, - {"shape":"LimitExceededException"} + {"shape":"LimitExceededException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InvalidTagsException"}, + {"shape":"ConcurrentModificationException"} ], "documentation":"

Creates a new custom action that can be used in all pipelines associated with the AWS account. Only used for custom actions.

" }, @@ -73,7 +76,10 @@ {"shape":"InvalidActionDeclarationException"}, {"shape":"InvalidBlockerDeclarationException"}, {"shape":"InvalidStructureException"}, - {"shape":"LimitExceededException"} + {"shape":"LimitExceededException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InvalidTagsException"}, + {"shape":"ConcurrentModificationException"} ], "documentation":"

Creates a pipeline.

" }, @@ -85,9 +91,10 @@ }, "input":{"shape":"DeleteCustomActionTypeInput"}, "errors":[ - {"shape":"ValidationException"} + {"shape":"ValidationException"}, + {"shape":"ConcurrentModificationException"} ], - "documentation":"

Marks a custom action as deleted. PollForJobs for the custom action will fail after the action is marked for deletion. Only used for custom actions.

To re-create a custom action after it has been deleted you must use a string in the version field that has never been used before. This string can be an incremented version number, for example. To restore a deleted custom action, use a JSON file that is identical to the deleted action, including the original string in the version field.

" + "documentation":"

Marks a custom action as deleted. PollForJobs for the custom action will fail after the action is marked for deletion. Only used for custom actions.

To re-create a custom action after it has been deleted you must use a string in the version field that has never been used before. This string can be an incremented version number, for example. To restore a deleted custom action, use a JSON file that is identical to the deleted action, including the original string in the version field.

" }, "DeletePipeline":{ "name":"DeletePipeline", @@ -97,7 +104,8 @@ }, "input":{"shape":"DeletePipelineInput"}, "errors":[ - {"shape":"ValidationException"} + {"shape":"ValidationException"}, + {"shape":"ConcurrentModificationException"} ], "documentation":"

Deletes the specified pipeline.

" }, @@ -110,7 +118,8 @@ "input":{"shape":"DeleteWebhookInput"}, "output":{"shape":"DeleteWebhookOutput"}, "errors":[ - {"shape":"ValidationException"} + {"shape":"ValidationException"}, + {"shape":"ConcurrentModificationException"} ], "documentation":"

Deletes a previously created webhook by name. Deleting the webhook stops AWS CodePipeline from starting a pipeline every time an external event occurs. The API will return successfully when trying to delete a webhook that is already deleted. If a deleted webhook is re-created by calling PutWebhook with the same name, it will have a different URL.

" }, @@ -212,7 +221,7 @@ {"shape":"ValidationException"}, {"shape":"PipelineNotFoundException"} ], - "documentation":"

Returns information about the state of a pipeline, including the stages and actions.

" + "documentation":"

Returns information about the state of a pipeline, including the stages and actions.

Values returned in the revisionId and revisionUrl fields indicate the source revision information, such as the commit ID, for the current state.

" }, "GetThirdPartyJobDetails":{ "name":"GetThirdPartyJobDetails", @@ -230,6 +239,22 @@ ], "documentation":"

Requests the details of a job for a third party action. Only used for partner actions.

When this API is called, AWS CodePipeline returns temporary credentials for the Amazon S3 bucket used to store artifacts for the pipeline, if the action requires access to that Amazon S3 bucket for input or output artifacts. Additionally, this API returns any secret values defined for the action.

" }, + "ListActionExecutions":{ + "name":"ListActionExecutions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListActionExecutionsInput"}, + "output":{"shape":"ListActionExecutionsOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"PipelineNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"PipelineExecutionNotFoundException"} + ], + "documentation":"

Lists the action executions that have occurred in a pipeline.

" + }, "ListActionTypes":{ "name":"ListActionTypes", "http":{ @@ -273,6 +298,22 @@ ], "documentation":"

Gets a summary of all of the pipelines associated with your account.

" }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceInput"}, + "output":{"shape":"ListTagsForResourceOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidArnException"} + ], + "documentation":"

Gets the set of key/value pairs (metadata) that are used to manage the resource.

" + }, "ListWebhooks":{ "name":"ListWebhooks", "http":{ @@ -299,7 +340,7 @@ {"shape":"ValidationException"}, {"shape":"ActionTypeNotFoundException"} ], - "documentation":"

Returns information about any jobs for AWS CodePipeline to act upon. PollForJobs is only valid for action types with \"Custom\" in the owner field. If the action type contains \"AWS\" or \"ThirdParty\" in the owner field, the PollForJobs action returns an error.

When this API is called, AWS CodePipeline returns temporary credentials for the Amazon S3 bucket used to store artifacts for the pipeline, if the action requires access to that Amazon S3 bucket for input or output artifacts. Additionally, this API returns any secret values defined for the action.

" + "documentation":"

Returns information about any jobs for AWS CodePipeline to act upon. PollForJobs is only valid for action types with \"Custom\" in the owner field. If the action type contains \"AWS\" or \"ThirdParty\" in the owner field, the PollForJobs action returns an error.

When this API is called, AWS CodePipeline returns temporary credentials for the Amazon S3 bucket used to store artifacts for the pipeline, if the action requires access to that Amazon S3 bucket for input or output artifacts. Additionally, this API returns any secret values defined for the action.

" }, "PollForThirdPartyJobs":{ "name":"PollForThirdPartyJobs", @@ -420,7 +461,10 @@ {"shape":"LimitExceededException"}, {"shape":"InvalidWebhookFilterPatternException"}, {"shape":"InvalidWebhookAuthenticationParametersException"}, - {"shape":"PipelineNotFoundException"} + {"shape":"PipelineNotFoundException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InvalidTagsException"}, + {"shape":"ConcurrentModificationException"} ], "documentation":"

Defines a webhook and returns a unique webhook URL generated by CodePipeline. This URL can be supplied to third party source hosting providers to call every time there's a code change. When CodePipeline receives a POST request on this URL, the pipeline defined in the webhook is started as long as the POST request satisfied the authentication and filtering requirements supplied when defining the webhook. RegisterWebhookWithThirdParty and DeregisterWebhookWithThirdParty APIs can be used to automatically configure supported third parties to call the generated webhook URL.

" }, @@ -469,6 +513,41 @@ ], "documentation":"

Starts the specified pipeline. Specifically, it begins processing the latest commit to the source location specified as part of the pipeline.

" }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceInput"}, + "output":{"shape":"TagResourceOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InvalidTagsException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Adds to or modifies the tags of the given resource. Tags are metadata that can be used to manage a resource.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceInput"}, + "output":{"shape":"UntagResourceOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidTagsException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Removes tags from an AWS resource.

" + }, "UpdatePipeline":{ "name":"UpdatePipeline", "http":{ @@ -485,7 +564,7 @@ {"shape":"InvalidStructureException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Updates a specified pipeline with edits or changes to its structure. Use a JSON file with the pipeline structure in conjunction with UpdatePipeline to provide the full structure of the pipeline. Updating the pipeline increases the version number of the pipeline by 1.

" + "documentation":"

Updates a specified pipeline with edits or changes to its structure. Use a JSON file with the pipeline structure in conjunction with UpdatePipeline to provide the full structure of the pipeline. Updating the pipeline increases the version number of the pipeline by 1.

" } }, "shapes":{ @@ -638,11 +717,11 @@ }, "secret":{ "shape":"Boolean", - "documentation":"

Whether the configuration property is secret. Secrets are hidden from all calls except for GetJobDetails, GetThirdPartyJobDetails, PollForJobs, and PollForThirdPartyJobs.

When updating a pipeline, passing * * * * * without changing any other values of the action will preserve the prior value of the secret.

" + "documentation":"

Whether the configuration property is secret. Secrets are hidden from all calls except for GetJobDetails, GetThirdPartyJobDetails, PollForJobs, and PollForThirdPartyJobs.

When updating a pipeline, passing * * * * * without changing any other values of the action will preserve the prior value of the secret.

" }, "queryable":{ "shape":"Boolean", - "documentation":"

Indicates that the property will be used in conjunction with PollForJobs. When creating a custom action, an action can have up to one queryable property. If it has one, that property must be both required and not secret.

If you create a pipeline with a custom action type, and that custom action contains a queryable property, the value for that configuration property is subject to additional restrictions. The value must be less than or equal to twenty (20) characters. The value can contain only alphanumeric characters, underscores, and hyphens.

" + "documentation":"

Indicates that the property will be used in conjunction with PollForJobs. When creating a custom action, an action can have up to one queryable property. If it has one, that property must be both required and not secret.

If you create a pipeline with a custom action type, and that custom action contains a queryable property, the value for that configuration property is subject to additional restrictions. The value must be less than or equal to twenty (20) characters. The value can contain only alphanumeric characters, underscores, and hyphens.

" }, "description":{ "shape":"Description", @@ -685,6 +764,10 @@ "name":{ "shape":"ActionName", "documentation":"

The name of the action within the context of a job.

" + }, + "actionExecutionId":{ + "shape":"ActionExecutionId", + "documentation":"

The system-generated unique ID that corresponds to an action's execution.

" } }, "documentation":"

Represents the context of an action within the stage of a pipeline to a job worker.

" @@ -748,7 +831,7 @@ }, "token":{ "shape":"ActionExecutionToken", - "documentation":"

The system-generated token used to identify a unique approval request. The token for each open approval request can be obtained using the GetPipelineState command and is used to validate that the approval request corresponding to this token is still valid.

" + "documentation":"

The system-generated token used to identify a unique approval request. The token for each open approval request can be obtained using the GetPipelineState command and is used to validate that the approval request corresponding to this token is still valid.

" }, "lastUpdatedBy":{ "shape":"LastUpdatedBy", @@ -773,6 +856,122 @@ }, "documentation":"

Represents information about the run of an action.

" }, + "ActionExecutionDetail":{ + "type":"structure", + "members":{ + "pipelineExecutionId":{ + "shape":"PipelineExecutionId", + "documentation":"

The pipeline execution ID for the action execution.

" + }, + "actionExecutionId":{ + "shape":"ActionExecutionId", + "documentation":"

The action execution ID.

" + }, + "pipelineVersion":{ + "shape":"PipelineVersion", + "documentation":"

The version of the pipeline where the action was run.

" + }, + "stageName":{ + "shape":"StageName", + "documentation":"

The name of the stage that contains the action.

" + }, + "actionName":{ + "shape":"ActionName", + "documentation":"

The name of the action.

" + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"

The start time of the action execution.

" + }, + "lastUpdateTime":{ + "shape":"Timestamp", + "documentation":"

The last update time of the action execution.

" + }, + "status":{ + "shape":"ActionExecutionStatus", + "documentation":"

The status of the action execution. Status categories are InProgress, Succeeded, and Failed.

" + }, + "input":{ + "shape":"ActionExecutionInput", + "documentation":"

Input details for the action execution, such as role ARN, Region, and input artifacts.

" + }, + "output":{ + "shape":"ActionExecutionOutput", + "documentation":"

Output details for the action execution, such as the action execution result.

" + } + }, + "documentation":"

Returns information about an execution of an action, including the action execution ID, and the name, version, and timing of the action.

" + }, + "ActionExecutionDetailList":{ + "type":"list", + "member":{"shape":"ActionExecutionDetail"} + }, + "ActionExecutionFilter":{ + "type":"structure", + "members":{ + "pipelineExecutionId":{ + "shape":"PipelineExecutionId", + "documentation":"

The pipeline execution ID used to filter action execution history.

" + } + }, + "documentation":"

Filter values for the action execution.

" + }, + "ActionExecutionId":{"type":"string"}, + "ActionExecutionInput":{ + "type":"structure", + "members":{ + "actionTypeId":{"shape":"ActionTypeId"}, + "configuration":{ + "shape":"ActionConfigurationMap", + "documentation":"

Configuration data for an action execution.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the IAM service role that performs the declared action. This is assumed through the roleArn for the pipeline.

" + }, + "region":{ + "shape":"AWSRegionName", + "documentation":"

The AWS Region for the action, such as us-east-1.

" + }, + "inputArtifacts":{ + "shape":"ArtifactDetailList", + "documentation":"

Details of input artifacts of the action that correspond to the action execution.

" + } + }, + "documentation":"

Input information used for an action execution.

" + }, + "ActionExecutionOutput":{ + "type":"structure", + "members":{ + "outputArtifacts":{ + "shape":"ArtifactDetailList", + "documentation":"

Details of output artifacts of the action that correspond to the action execution.

" + }, + "executionResult":{ + "shape":"ActionExecutionResult", + "documentation":"

Execution result information listed in the output details for an action execution.

" + } + }, + "documentation":"

Output details listed for an action execution, such as the action execution result.

" + }, + "ActionExecutionResult":{ + "type":"structure", + "members":{ + "externalExecutionId":{ + "shape":"ExternalExecutionId", + "documentation":"

The action provider's external ID for the action execution.

" + }, + "externalExecutionSummary":{ + "shape":"ExternalExecutionSummary", + "documentation":"

The action provider's summary for the action execution.

" + }, + "externalExecutionUrl":{ + "shape":"Url", + "documentation":"

The deepest external link to the external resource (for example, a repository URL or deployment endpoint) that is used when running the action.

" + } + }, + "documentation":"

Execution result information, such as the external execution ID.

" + }, "ActionExecutionStatus":{ "type":"string", "enum":[ @@ -917,7 +1116,7 @@ }, "provider":{ "shape":"ActionProvider", - "documentation":"

The provider of the service being called by the action. Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of AWS CodeDeploy, which would be specified as CodeDeploy.

" + "documentation":"

The provider of the service being called by the action. Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of AWS CodeDeploy, which would be specified as CodeDeploy. To reference a list of action providers by action type, see Valid Action Types and Providers in CodePipeline.

" }, "version":{ "shape":"Version", @@ -1018,6 +1217,24 @@ }, "documentation":"

Represents information about an artifact that will be worked upon by actions in the pipeline.

" }, + "ArtifactDetail":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ArtifactName", + "documentation":"

The artifact object name for the action execution.

" + }, + "s3location":{ + "shape":"S3Location", + "documentation":"

The Amazon S3 artifact location for the action execution.

" + } + }, + "documentation":"

Artifact details for the action execution, such as the artifact location.

" + }, + "ArtifactDetailList":{ + "type":"list", + "member":{"shape":"ArtifactDetail"} + }, "ArtifactDetails":{ "type":"structure", "required":[ @@ -1179,6 +1396,14 @@ "min":1 }, "Code":{"type":"string"}, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "message":{"shape":"Message"} + }, + "documentation":"

Unable to modify the tag due to a simultaneous update request.

", + "exception":true + }, "ContinuationToken":{ "type":"string", "max":2048, @@ -1196,7 +1421,7 @@ "members":{ "category":{ "shape":"ActionCategory", - "documentation":"

The category of the custom action, such as a build action or a test action.

Although Source and Approval are listed as valid values, they are not currently functional. These values are reserved for future use.

" + "documentation":"

The category of the custom action, such as a build action or a test action.

Although Source and Approval are listed as valid values, they are not currently functional. These values are reserved for future use.

" }, "provider":{ "shape":"ActionProvider", @@ -1208,11 +1433,11 @@ }, "settings":{ "shape":"ActionTypeSettings", - "documentation":"

Returns information about the settings for an action type.

" + "documentation":"

URLs that provide users information about this custom action.

" }, "configurationProperties":{ "shape":"ActionConfigurationPropertyList", - "documentation":"

The configuration properties for the custom action.

You can refer to a name in the configuration properties of the custom action within the URL templates by following the format of {Config:name}, as long as the configuration property is both required and not secret. For more information, see Create a Custom Action for a Pipeline.

" + "documentation":"

The configuration properties for the custom action.

You can refer to a name in the configuration properties of the custom action within the URL templates by following the format of {Config:name}, as long as the configuration property is both required and not secret. For more information, see Create a Custom Action for a Pipeline.

" }, "inputArtifactDetails":{ "shape":"ArtifactDetails", @@ -1221,6 +1446,10 @@ "outputArtifactDetails":{ "shape":"ArtifactDetails", "documentation":"

The details of the output artifact of the action, such as its commit ID.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tags for the custom action.

" } }, "documentation":"

Represents the input of a CreateCustomActionType operation.

" @@ -1232,9 +1461,13 @@ "actionType":{ "shape":"ActionType", "documentation":"

Returns information about the details of an action type.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Specifies the tags applied to the custom action.

" } }, - "documentation":"

Represents the output of a CreateCustomActionType operation.

" + "documentation":"

Represents the output of a CreateCustomActionType operation.

" }, "CreatePipelineInput":{ "type":"structure", @@ -1243,9 +1476,13 @@ "pipeline":{ "shape":"PipelineDeclaration", "documentation":"

Represents the structure of actions and stages to be performed in the pipeline.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tags for the pipeline.

" } }, - "documentation":"

Represents the input of a CreatePipeline action.

" + "documentation":"

Represents the input of a CreatePipeline action.

" }, "CreatePipelineOutput":{ "type":"structure", @@ -1253,9 +1490,13 @@ "pipeline":{ "shape":"PipelineDeclaration", "documentation":"

Represents the structure of actions and stages to be performed in the pipeline.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Specifies the tags applied to the pipeline.

" } }, - "documentation":"

Represents the output of a CreatePipeline action.

" + "documentation":"

Represents the output of a CreatePipeline action.

" }, "CurrentRevision":{ "type":"structure", @@ -1304,7 +1545,7 @@ "documentation":"

The version of the custom action to delete.

" } }, - "documentation":"

Represents the input of a DeleteCustomActionType operation. The custom action will be marked as deleted.

" + "documentation":"

Represents the input of a DeleteCustomActionType operation. The custom action will be marked as deleted.

" }, "DeletePipelineInput":{ "type":"structure", @@ -1315,7 +1556,7 @@ "documentation":"

The name of the pipeline to be deleted.

" } }, - "documentation":"

Represents the input of a DeletePipeline action.

" + "documentation":"

Represents the input of a DeletePipeline action.

" }, "DeleteWebhookInput":{ "type":"structure", @@ -1377,7 +1618,7 @@ "documentation":"

The reason given to the user why a stage is disabled, such as waiting for manual approval or manual tests. This message is displayed in the pipeline console UI.

" } }, - "documentation":"

Represents the input of a DisableStageTransition action.

" + "documentation":"

Represents the input of a DisableStageTransition action.

" }, "DisabledReason":{ "type":"string", @@ -1406,7 +1647,7 @@ "documentation":"

Specifies whether artifacts will be allowed to enter the stage and be processed by the actions in that stage (inbound) or whether already-processed artifacts will be allowed to transition to the next stage (outbound).

" } }, - "documentation":"

Represents the input of an EnableStageTransition action.

" + "documentation":"

Represents the input of an EnableStageTransition action.

" }, "Enabled":{"type":"boolean"}, "EncryptionKey":{ @@ -1478,6 +1719,8 @@ "max":2048, "min":1 }, + "ExternalExecutionId":{"type":"string"}, + "ExternalExecutionSummary":{"type":"string"}, "FailureDetails":{ "type":"structure", "required":[ @@ -1520,17 +1763,17 @@ "documentation":"

The unique system-generated ID for the job.

" } }, - "documentation":"

Represents the input of a GetJobDetails action.

" + "documentation":"

Represents the input of a GetJobDetails action.

" }, "GetJobDetailsOutput":{ "type":"structure", "members":{ "jobDetails":{ "shape":"JobDetails", - "documentation":"

The details of the job.

If AWSSessionCredentials is used, a long-running job can call GetJobDetails again to obtain new credentials.

" + "documentation":"

The details of the job.

If AWSSessionCredentials is used, a long-running job can call GetJobDetails again to obtain new credentials.

" } }, - "documentation":"

Represents the output of a GetJobDetails action.

" + "documentation":"

Represents the output of a GetJobDetails action.

" }, "GetPipelineExecutionInput":{ "type":"structure", @@ -1548,7 +1791,7 @@ "documentation":"

The ID of the pipeline execution about which you want to get execution details.

" } }, - "documentation":"

Represents the input of a GetPipelineExecution action.

" + "documentation":"

Represents the input of a GetPipelineExecution action.

" }, "GetPipelineExecutionOutput":{ "type":"structure", @@ -1558,7 +1801,7 @@ "documentation":"

Represents information about the execution of a pipeline.

" } }, - "documentation":"

Represents the output of a GetPipelineExecution action.

" + "documentation":"

Represents the output of a GetPipelineExecution action.

" }, "GetPipelineInput":{ "type":"structure", @@ -1573,7 +1816,7 @@ "documentation":"

The version number of the pipeline. If you do not specify a version, defaults to the most current version.

" } }, - "documentation":"

Represents the input of a GetPipeline action.

" + "documentation":"

Represents the input of a GetPipeline action.

" }, "GetPipelineOutput":{ "type":"structure", @@ -1584,10 +1827,10 @@ }, "metadata":{ "shape":"PipelineMetadata", - "documentation":"

Represents the pipeline metadata information returned as part of the output of a GetPipeline action.

" + "documentation":"

Represents the pipeline metadata information returned as part of the output of a GetPipeline action.

" } }, - "documentation":"

Represents the output of a GetPipeline action.

" + "documentation":"

Represents the output of a GetPipeline action.

" }, "GetPipelineStateInput":{ "type":"structure", @@ -1598,7 +1841,7 @@ "documentation":"

The name of the pipeline about which you want to get information.

" } }, - "documentation":"

Represents the input of a GetPipelineState action.

" + "documentation":"

Represents the input of a GetPipelineState action.

" }, "GetPipelineStateOutput":{ "type":"structure", @@ -1624,7 +1867,7 @@ "documentation":"

The date and time the pipeline was last updated, in timestamp format.

" } }, - "documentation":"

Represents the output of a GetPipelineState action.

" + "documentation":"

Represents the output of a GetPipelineState action.

" }, "GetThirdPartyJobDetailsInput":{ "type":"structure", @@ -1642,7 +1885,7 @@ "documentation":"

The clientToken portion of the clientId and clientToken pair used to verify that the calling entity is allowed access to the job and its details.

" } }, - "documentation":"

Represents the input of a GetThirdPartyJobDetails action.

" + "documentation":"

Represents the input of a GetThirdPartyJobDetails action.

" }, "GetThirdPartyJobDetailsOutput":{ "type":"structure", @@ -1652,7 +1895,7 @@ "documentation":"

The details of the job, including any protected values defined for the job.

" } }, - "documentation":"

Represents the output of a GetThirdPartyJobDetails action.

" + "documentation":"

Represents the output of a GetThirdPartyJobDetails action.

" }, "InputArtifact":{ "type":"structure", @@ -1683,6 +1926,14 @@ "documentation":"

The approval request already received a response or has expired.

", "exception":true }, + "InvalidArnException":{ + "type":"structure", + "members":{ + "message":{"shape":"Message"} + }, + "documentation":"

The specified resource ARN is invalid.

", + "exception":true + }, "InvalidBlockerDeclarationException":{ "type":"structure", "members":{ @@ -1739,6 +1990,14 @@ "documentation":"

The specified structure was specified in an invalid format.

", "exception":true }, + "InvalidTagsException":{ + "type":"structure", + "members":{ + "message":{"shape":"Message"} + }, + "documentation":"

The specified resource tags are invalid.

", + "exception":true + }, "InvalidWebhookAuthenticationParametersException":{ "type":"structure", "members":{ @@ -1788,7 +2047,7 @@ }, "pipelineContext":{ "shape":"PipelineContext", - "documentation":"

Represents information about a pipeline to a job worker.

" + "documentation":"

Represents information about a pipeline to a job worker.

Includes pipelineArn and pipelineExecutionId for Custom jobs.

" }, "inputArtifacts":{ "shape":"ArtifactList", @@ -1800,7 +2059,7 @@ }, "artifactCredentials":{ "shape":"AWSSessionCredentials", - "documentation":"

Represents an AWS session credentials object. These credentials are temporary credentials that are issued by AWS Secure Token Service (STS). They can be used to access input and output artifacts in the Amazon S3 bucket used to store artifact for the pipeline in AWS CodePipeline.

" + "documentation":"

Represents an AWS session credentials object. These credentials are temporary credentials that are issued by AWS Secure Token Service (STS). They can be used to access input and output artifacts in the Amazon S3 bucket used to store artifacts for the pipeline in AWS CodePipeline.

" }, "continuationToken":{ "shape":"ContinuationToken", @@ -1873,6 +2132,41 @@ "documentation":"

The number of pipelines associated with the AWS account has exceeded the limit allowed for the account.

", "exception":true }, + "ListActionExecutionsInput":{ + "type":"structure", + "required":["pipelineName"], + "members":{ + "pipelineName":{ + "shape":"PipelineName", + "documentation":"

The name of the pipeline for which you want to list action execution history.

" + }, + "filter":{ + "shape":"ActionExecutionFilter", + "documentation":"

Input information used to filter action execution history.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value. Action execution history is retained for up to 12 months, based on action execution start times. Default value is 100.

Detailed execution history is available for executions run on or after February 21, 2019.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token that was returned from the previous ListActionExecutions call, which can be used to return the next set of action executions in the list.

" + } + } + }, + "ListActionExecutionsOutput":{ + "type":"structure", + "members":{ + "actionExecutionDetails":{ + "shape":"ActionExecutionDetailList", + "documentation":"

The details for a list of recent executions, such as action execution ID.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

If the amount of returned information is significantly large, an identifier is also returned and can be used in a subsequent ListActionExecutions call to return the next set of action executions in the list.

" + } + } + }, "ListActionTypesInput":{ "type":"structure", "members":{ @@ -1885,7 +2179,7 @@ "documentation":"

An identifier that was returned from the previous list action types call, which can be used to return the next set of action types in the list.

" } }, - "documentation":"

Represents the input of a ListActionTypes action.

" + "documentation":"

Represents the input of a ListActionTypes action.

" }, "ListActionTypesOutput":{ "type":"structure", @@ -1900,7 +2194,7 @@ "documentation":"

If the amount of returned information is significantly large, an identifier is also returned which can be used in a subsequent list action types call to return the next set of action types in the list.

" } }, - "documentation":"

Represents the output of a ListActionTypes action.

" + "documentation":"

Represents the output of a ListActionTypes action.

" }, "ListPipelineExecutionsInput":{ "type":"structure", @@ -1912,14 +2206,14 @@ }, "maxResults":{ "shape":"MaxResults", - "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value. The available pipeline execution history is limited to the most recent 12 months, based on pipeline execution start times. Default value is 100.

" + "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value. Pipeline history is limited to the most recent 12 months, based on pipeline execution start times. Default value is 100.

" }, "nextToken":{ "shape":"NextToken", - "documentation":"

The token that was returned from the previous ListPipelineExecutions call, which can be used to return the next set of pipeline executions in the list.

" + "documentation":"

The token that was returned from the previous ListPipelineExecutions call, which can be used to return the next set of pipeline executions in the list.

" } }, - "documentation":"

Represents the input of a ListPipelineExecutions action.

" + "documentation":"

Represents the input of a ListPipelineExecutions action.

" }, "ListPipelineExecutionsOutput":{ "type":"structure", @@ -1930,10 +2224,10 @@ }, "nextToken":{ "shape":"NextToken", - "documentation":"

A token that can be used in the next ListPipelineExecutions call. To view all items in the list, continue to call this operation with each subsequent token until no more nextToken values are returned.

" + "documentation":"

A token that can be used in the next ListPipelineExecutions call. To view all items in the list, continue to call this operation with each subsequent token until no more nextToken values are returned.

" } }, - "documentation":"

Represents the output of a ListPipelineExecutions action.

" + "documentation":"

Represents the output of a ListPipelineExecutions action.

" }, "ListPipelinesInput":{ "type":"structure", @@ -1943,7 +2237,7 @@ "documentation":"

An identifier that was returned from the previous list pipelines call, which can be used to return the next set of pipelines in the list.

" } }, - "documentation":"

Represents the input of a ListPipelines action.

" + "documentation":"

Represents the input of a ListPipelines action.

" }, "ListPipelinesOutput":{ "type":"structure", @@ -1957,7 +2251,38 @@ "documentation":"

If the amount of returned information is significantly large, an identifier is also returned which can be used in a subsequent list pipelines call to return the next set of pipelines in the list.

" } }, - "documentation":"

Represents the output of a ListPipelines action.

" + "documentation":"

Represents the output of a ListPipelines action.

" + }, + "ListTagsForResourceInput":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource to get tags for.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token that was returned from the previous API call, which would be used to return the next page of the list. However, the ListTagsforResource call lists all available tags in one call and does not use pagination.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in a single call.

" + } + } + }, + "ListTagsForResourceOutput":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagList", + "documentation":"

The tags for the resource.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

If the amount of returned information is significantly large, an identifier is also returned and can be used in a subsequent API call to return the next page of the list. However, the ListTagsforResource call lists all available tags in one call and does not use pagination.

" + } + } }, "ListWebhookItem":{ "type":"structure", @@ -1989,6 +2314,10 @@ "arn":{ "shape":"WebhookArn", "documentation":"

The Amazon Resource Name (ARN) of the webhook.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Specifies the tags applied to the webhook.

" } }, "documentation":"

The detail returned for each webhook after listing webhooks, such as the webhook URL, the webhook name, and the webhook ARN.

" @@ -2103,9 +2432,17 @@ "action":{ "shape":"ActionContext", "documentation":"

The context of an action to a job worker within the stage of a pipeline.

" + }, + "pipelineArn":{ + "shape":"PipelineArn", + "documentation":"

The Amazon Resource Name (ARN) of the pipeline.

" + }, + "pipelineExecutionId":{ + "shape":"PipelineExecutionId", + "documentation":"

The execution ID of the pipeline.

" } }, - "documentation":"

Represents information about a pipeline to a job worker.

" + "documentation":"

Represents information about a pipeline to a job worker.

PipelineContext contains pipelineArn and pipelineExecutionId for custom action jobs. The pipelineArn and pipelineExecutionId fields are not populated for ThirdParty action jobs.

" }, "PipelineDeclaration":{ "type":"structure", @@ -2121,7 +2458,7 @@ }, "roleArn":{ "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) for AWS CodePipeline to use to either perform actions with no actionRoleArn, or to use to assume roles for actions with an actionRoleArn.

" + "documentation":"

The Amazon Resource Name (ARN) for AWS CodePipeline to use to either perform actions with no actionRoleArn, or to use to assume roles for actions with an actionRoleArn.

" }, "artifactStore":{ "shape":"ArtifactStore", @@ -2129,7 +2466,7 @@ }, "artifactStores":{ "shape":"ArtifactStoreMap", - "documentation":"

A mapping of artifactStore objects and their corresponding regions. There must be an artifact store for the pipeline region and for each cross-region action within the pipeline. You can only use either artifactStore or artifactStores, not both.

If you create a cross-region action in your pipeline, you must use artifactStores.

" + "documentation":"

A mapping of artifactStore objects and their corresponding regions. There must be an artifact store for the pipeline region and for each cross-region action within the pipeline. You can only use either artifactStore or artifactStores, not both.

If you create a cross-region action in your pipeline, you must use artifactStores.

" }, "stages":{ "shape":"PipelineStageDeclarationList", @@ -2163,7 +2500,7 @@ }, "artifactRevisions":{ "shape":"ArtifactRevisionList", - "documentation":"

A list of ArtifactRevision objects included in a pipeline execution.

" + "documentation":"

A list of ArtifactRevision objects included in a pipeline execution.

" } }, "documentation":"

Represents information about an execution of a pipeline.

" @@ -2314,7 +2651,7 @@ "documentation":"

A map of property names and values. For an action type with no queryable properties, this value must be null or an empty map. For an action type with a queryable property, you must supply that property as a key in the map. Only jobs whose action configuration matches the mapped value will be returned.

" } }, - "documentation":"

Represents the input of a PollForJobs action.

" + "documentation":"

Represents the input of a PollForJobs action.

" }, "PollForJobsOutput":{ "type":"structure", @@ -2324,7 +2661,7 @@ "documentation":"

Information about the jobs to take action on.

" } }, - "documentation":"

Represents the output of a PollForJobs action.

" + "documentation":"

Represents the output of a PollForJobs action.

" }, "PollForThirdPartyJobsInput":{ "type":"structure", @@ -2339,7 +2676,7 @@ "documentation":"

The maximum number of jobs to return in a poll for jobs call.

" } }, - "documentation":"

Represents the input of a PollForThirdPartyJobs action.

" + "documentation":"

Represents the input of a PollForThirdPartyJobs action.

" }, "PollForThirdPartyJobsOutput":{ "type":"structure", @@ -2349,7 +2686,7 @@ "documentation":"

Information about the jobs to take action on.

" } }, - "documentation":"

Represents the output of a PollForThirdPartyJobs action.

" + "documentation":"

Represents the output of a PollForThirdPartyJobs action.

" }, "PutActionRevisionInput":{ "type":"structure", @@ -2377,7 +2714,7 @@ "documentation":"

Represents information about the version (or revision) of an action.

" } }, - "documentation":"

Represents the input of a PutActionRevision action.

" + "documentation":"

Represents the input of a PutActionRevision action.

" }, "PutActionRevisionOutput":{ "type":"structure", @@ -2391,7 +2728,7 @@ "documentation":"

The ID of the current workflow state of the pipeline.

" } }, - "documentation":"

Represents the output of a PutActionRevision action.

" + "documentation":"

Represents the output of a PutActionRevision action.

" }, "PutApprovalResultInput":{ "type":"structure", @@ -2424,7 +2761,7 @@ "documentation":"

The system-generated token used to identify a unique approval request. The token for each open approval request can be obtained using the GetPipelineState action and is used to validate that the approval request corresponding to this token is still valid.

" } }, - "documentation":"

Represents the input of a PutApprovalResult action.

" + "documentation":"

Represents the input of a PutApprovalResult action.

" }, "PutApprovalResultOutput":{ "type":"structure", @@ -2434,7 +2771,7 @@ "documentation":"

The timestamp showing when the approval or rejection was submitted.

" } }, - "documentation":"

Represents the output of a PutApprovalResult action.

" + "documentation":"

Represents the output of a PutApprovalResult action.

" }, "PutJobFailureResultInput":{ "type":"structure", @@ -2445,14 +2782,14 @@ "members":{ "jobId":{ "shape":"JobId", - "documentation":"

The unique system-generated ID of the job that failed. This is the same ID returned from PollForJobs.

" + "documentation":"

The unique system-generated ID of the job that failed. This is the same ID returned from PollForJobs.

" }, "failureDetails":{ "shape":"FailureDetails", "documentation":"

The details about the failure of a job.

" } }, - "documentation":"

Represents the input of a PutJobFailureResult action.

" + "documentation":"

Represents the input of a PutJobFailureResult action.

" }, "PutJobSuccessResultInput":{ "type":"structure", @@ -2460,7 +2797,7 @@ "members":{ "jobId":{ "shape":"JobId", - "documentation":"

The unique system-generated ID of the job that succeeded. This is the same ID returned from PollForJobs.

" + "documentation":"

The unique system-generated ID of the job that succeeded. This is the same ID returned from PollForJobs.

" }, "currentRevision":{ "shape":"CurrentRevision", @@ -2475,7 +2812,7 @@ "documentation":"

The execution details of the successful job, such as the actions taken by the job worker.

" } }, - "documentation":"

Represents the input of a PutJobSuccessResult action.

" + "documentation":"

Represents the input of a PutJobSuccessResult action.

" }, "PutThirdPartyJobFailureResultInput":{ "type":"structure", @@ -2487,7 +2824,7 @@ "members":{ "jobId":{ "shape":"ThirdPartyJobId", - "documentation":"

The ID of the job that failed. This is the same ID returned from PollForThirdPartyJobs.

" + "documentation":"

The ID of the job that failed. This is the same ID returned from PollForThirdPartyJobs.

" }, "clientToken":{ "shape":"ClientToken", @@ -2498,7 +2835,7 @@ "documentation":"

Represents information about failure details.

" } }, - "documentation":"

Represents the input of a PutThirdPartyJobFailureResult action.

" + "documentation":"

Represents the input of a PutThirdPartyJobFailureResult action.

" }, "PutThirdPartyJobSuccessResultInput":{ "type":"structure", @@ -2509,7 +2846,7 @@ "members":{ "jobId":{ "shape":"ThirdPartyJobId", - "documentation":"

The ID of the job that successfully completed. This is the same ID returned from PollForThirdPartyJobs.

" + "documentation":"

The ID of the job that successfully completed. This is the same ID returned from PollForThirdPartyJobs.

" }, "clientToken":{ "shape":"ClientToken", @@ -2528,7 +2865,7 @@ "documentation":"

The details of the actions taken and results produced on an artifact as it passes through stages in the pipeline.

" } }, - "documentation":"

Represents the input of a PutThirdPartyJobSuccessResult action.

" + "documentation":"

Represents the input of a PutThirdPartyJobSuccessResult action.

" }, "PutWebhookInput":{ "type":"structure", @@ -2537,6 +2874,10 @@ "webhook":{ "shape":"WebhookDefinition", "documentation":"

The detail provided in an input file to create the webhook, such as the webhook name, the pipeline name, and the action name. Give the webhook a unique name which identifies the webhook being defined. You may choose to name the webhook after the pipeline and action it targets so that you can easily recognize what it's used for later.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tags for the webhook.

" } } }, @@ -2570,6 +2911,17 @@ "members":{ } }, + "ResourceArn":{ + "type":"string", + "pattern":"arn:aws(-[\\w]+)*:codepipeline:.+:[0-9]{12}:.+" + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified resource was specified in an invalid format.

", + "exception":true + }, "RetryStageExecutionInput":{ "type":"structure", "required":[ @@ -2596,7 +2948,7 @@ "documentation":"

The scope of the retry attempt. Currently, the only supported value is FAILED_ACTIONS.

" } }, - "documentation":"

Represents the input of a RetryStageExecution action.

" + "documentation":"

Represents the input of a RetryStageExecution action.

" }, "RetryStageExecutionOutput":{ "type":"structure", @@ -2606,7 +2958,7 @@ "documentation":"

The ID of the current workflow execution in the failed stage.

" } }, - "documentation":"

Represents the output of a RetryStageExecution action.

" + "documentation":"

Represents the output of a RetryStageExecution action.

" }, "Revision":{ "type":"string", @@ -2646,7 +2998,31 @@ }, "documentation":"

The location of the Amazon S3 bucket that contains a revision.

" }, + "S3Bucket":{ + "type":"string", + "max":63, + "min":3 + }, "S3BucketName":{"type":"string"}, + "S3Key":{ + "type":"string", + "max":100, + "min":1 + }, + "S3Location":{ + "type":"structure", + "members":{ + "bucket":{ + "shape":"S3Bucket", + "documentation":"

The Amazon S3 artifact bucket for an action's artifacts.

" + }, + "key":{ + "shape":"S3Key", + "documentation":"

The artifact name.

" + } + }, + "documentation":"

The Amazon S3 artifact location for an action's artifacts.

" + }, "S3ObjectKey":{"type":"string"}, "SecretAccessKey":{"type":"string"}, "SessionToken":{"type":"string"}, @@ -2814,7 +3190,7 @@ "idempotencyToken":true } }, - "documentation":"

Represents the input of a StartPipelineExecution action.

" + "documentation":"

Represents the input of a StartPipelineExecution action.

" }, "StartPipelineExecutionOutput":{ "type":"structure", @@ -2824,21 +3200,79 @@ "documentation":"

The unique system-generated ID of the pipeline execution that was started.

" } }, - "documentation":"

Represents the output of a StartPipelineExecution action.

" + "documentation":"

Represents the output of a StartPipelineExecution action.

" + }, + "Tag":{ + "type":"structure", + "required":[ + "key", + "value" + ], + "members":{ + "key":{ + "shape":"TagKey", + "documentation":"

The tag's key.

" + }, + "value":{ + "shape":"TagValue", + "documentation":"

The tag's value.

" + } + }, + "documentation":"

A tag is a key/value pair that is used to manage the resource.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceInput":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource you want to add tags to.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tags you want to modify or add to the resource.

" + } + } + }, + "TagResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 }, "ThirdPartyJob":{ "type":"structure", "members":{ "clientId":{ "shape":"ClientId", - "documentation":"

The clientToken portion of the clientId and clientToken pair used to verify that the calling entity is allowed access to the job and its details.

" + "documentation":"

The clientToken portion of the clientId and clientToken pair used to verify that the calling entity is allowed access to the job and its details.

" }, "jobId":{ "shape":"JobId", "documentation":"

The identifier used to identify the job in AWS CodePipeline.

" } }, - "documentation":"

A response to a PollForThirdPartyJobs request returned by AWS CodePipeline when there is a job to be worked upon by a partner action.

" + "documentation":"

A response to a PollForThirdPartyJobs request returned by AWS CodePipeline when there is a job to be worked upon by a partner action.

" }, "ThirdPartyJobData":{ "type":"structure", @@ -2853,7 +3287,7 @@ }, "pipelineContext":{ "shape":"PipelineContext", - "documentation":"

Represents information about a pipeline to a job worker.

" + "documentation":"

Represents information about a pipeline to a job worker.

Does not include pipelineArn and pipelineExecutionId for ThirdParty jobs.

" }, "inputArtifacts":{ "shape":"ArtifactList", @@ -2894,7 +3328,7 @@ "documentation":"

A system-generated random number that AWS CodePipeline uses to ensure that the job is being worked on by only one job worker. Use this number in an AcknowledgeThirdPartyJob request.

" } }, - "documentation":"

The details of a job sent in response to a GetThirdPartyJobDetails request.

" + "documentation":"

The details of a job sent in response to a GetThirdPartyJobDetails request.

" }, "ThirdPartyJobId":{ "type":"string", @@ -2907,6 +3341,14 @@ }, "Time":{"type":"timestamp"}, "Timestamp":{"type":"timestamp"}, + "TooManyTagsException":{ + "type":"structure", + "members":{ + "message":{"shape":"Message"} + }, + "documentation":"

The tags limit for a resource has been exceeded.

", + "exception":true + }, "TransitionState":{ "type":"structure", "members":{ @@ -2929,6 +3371,28 @@ }, "documentation":"

Represents information about the state of transitions between one stage and another stage.

" }, + "UntagResourceInput":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource to remove tags from.

" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

The list of keys for the tags to be removed from the resource.

" + } + } + }, + "UntagResourceOutput":{ + "type":"structure", + "members":{ + } + }, "UpdatePipelineInput":{ "type":"structure", "required":["pipeline"], @@ -2938,7 +3402,7 @@ "documentation":"

The name of the pipeline to be updated.

" } }, - "documentation":"

Represents the input of an UpdatePipeline action.

" + "documentation":"

Represents the input of an UpdatePipeline action.

" }, "UpdatePipelineOutput":{ "type":"structure", @@ -2948,7 +3412,7 @@ "documentation":"

The structure of the updated pipeline.

" } }, - "documentation":"

Represents the output of an UpdatePipeline action.

" + "documentation":"

Represents the output of an UpdatePipeline action.

" }, "Url":{ "type":"string", @@ -2979,11 +3443,11 @@ "members":{ "AllowedIPRange":{ "shape":"WebhookAuthConfigurationAllowedIPRange", - "documentation":"

The property used to configure acceptance of webhooks within a specific IP range. For IP, only the AllowedIPRange property must be set, and this property must be set to a valid CIDR range.

" + "documentation":"

The property used to configure acceptance of webhooks within a specific IP range. For IP, only the AllowedIPRange property must be set, and this property must be set to a valid CIDR range.

" }, "SecretToken":{ "shape":"WebhookAuthConfigurationSecretToken", - "documentation":"

The property used to configure GitHub authentication. For GITHUB_HMAC, only the SecretToken property must be set.

" + "documentation":"

The property used to configure GitHub authentication. For GITHUB_HMAC, only the SecretToken property must be set.

" } }, "documentation":"

The authentication applied to incoming webhook trigger requests.

" @@ -3035,11 +3499,11 @@ }, "authentication":{ "shape":"WebhookAuthenticationType", - "documentation":"

Supported options are GITHUB_HMAC, IP and UNAUTHENTICATED.

  • GITHUB_HMAC implements the authentication scheme described here: https://developer.github.com/webhooks/securing/

  • IP will reject webhooks trigger requests unless they originate from an IP within the IP range whitelisted in the authentication configuration.

  • UNAUTHENTICATED will accept all webhook trigger requests regardless of origin.

" + "documentation":"

Supported options are GITHUB_HMAC, IP and UNAUTHENTICATED.

  • For information about the authentication scheme implemented by GITHUB_HMAC, see Securing your webhooks on the GitHub Developer website.

  • IP will reject webhooks trigger requests unless they originate from an IP within the IP range whitelisted in the authentication configuration.

  • UNAUTHENTICATED will accept all webhook trigger requests regardless of origin.

" }, "authenticationConfiguration":{ "shape":"WebhookAuthConfiguration", - "documentation":"

Properties that configure the authentication applied to incoming webhook trigger requests. The required properties depend on the authentication type. For GITHUB_HMAC, only the SecretToken property must be set. For IP, only the AllowedIPRange property must be set to a valid CIDR range. For UNAUTHENTICATED, no properties can be set.

" + "documentation":"

Properties that configure the authentication applied to incoming webhook trigger requests. The required properties depend on the authentication type. For GITHUB_HMAC, only the SecretToken property must be set. For IP, only the AllowedIPRange property must be set to a valid CIDR range. For UNAUTHENTICATED, no properties can be set.

" } }, "documentation":"

Represents information about a webhook and its definition.

" @@ -3052,11 +3516,11 @@ "members":{ "jsonPath":{ "shape":"JsonPath", - "documentation":"

A JsonPath expression that will be applied to the body/payload of the webhook. The value selected by JsonPath expression must match the value specified in the matchEquals field, otherwise the request will be ignored. More information on JsonPath expressions can be found here: https://github.com/json-path/JsonPath.

" + "documentation":"

A JsonPath expression that will be applied to the body/payload of the webhook. The value selected by the JsonPath expression must match the value specified in the MatchEquals field, otherwise the request will be ignored. For more information about JsonPath expressions, see Java JsonPath implementation in GitHub.

" }, "matchEquals":{ "shape":"MatchEquals", - "documentation":"

The value selected by the JsonPath expression must match what is supplied in the MatchEquals field, otherwise the request will be ignored. Properties from the target action configuration can be included as placeholders in this value by surrounding the action configuration key with curly braces. For example, if the value supplied here is \"refs/heads/{Branch}\" and the target action has an action configuration property called \"Branch\" with a value of \"master\", the MatchEquals value will be evaluated as \"refs/heads/master\". A list of action configuration properties for built-in action types can be found here: Pipeline Structure Reference Action Requirements.

" + "documentation":"

The value selected by the JsonPath expression must match what is supplied in the MatchEquals field, otherwise the request will be ignored. Properties from the target action configuration can be included as placeholders in this value by surrounding the action configuration key with curly braces. For example, if the value supplied here is \"refs/heads/{Branch}\" and the target action has an action configuration property called \"Branch\" with a value of \"master\", the MatchEquals value will be evaluated as \"refs/heads/master\". For a list of action configuration properties for built-in action types, see Pipeline Structure Reference Action Requirements.

" } }, "documentation":"

The event criteria that specify when a webhook notification is sent to your URL.

" @@ -3090,5 +3554,5 @@ "min":1 } }, - "documentation":"AWS CodePipeline

Overview

This is the AWS CodePipeline API Reference. This guide provides descriptions of the actions and data types for AWS CodePipeline. Some functionality for your pipeline is only configurable through the API. For additional information, see the AWS CodePipeline User Guide.

You can use the AWS CodePipeline API to work with pipelines, stages, actions, and transitions, as described below.

Pipelines are models of automated release processes. Each pipeline is uniquely named, and consists of stages, actions, and transitions.

You can work with pipelines by calling:

  • CreatePipeline, which creates a uniquely-named pipeline.

  • DeletePipeline, which deletes the specified pipeline.

  • GetPipeline, which returns information about the pipeline structure and pipeline metadata, including the pipeline Amazon Resource Name (ARN).

  • GetPipelineExecution, which returns information about a specific execution of a pipeline.

  • GetPipelineState, which returns information about the current state of the stages and actions of a pipeline.

  • ListPipelines, which gets a summary of all of the pipelines associated with your account.

  • ListPipelineExecutions, which gets a summary of the most recent executions for a pipeline.

  • StartPipelineExecution, which runs the the most recent revision of an artifact through the pipeline.

  • UpdatePipeline, which updates a pipeline with edits or changes to the structure of the pipeline.

Pipelines include stages. Each stage contains one or more actions that must complete before the next stage begins. A stage will result in success or failure. If a stage fails, then the pipeline stops at that stage and will remain stopped until either a new version of an artifact appears in the source location, or a user takes action to re-run the most recent artifact through the pipeline. You can call GetPipelineState, which displays the status of a pipeline, including the status of stages in the pipeline, or GetPipeline, which returns the entire structure of the pipeline, including the stages of that pipeline. For more information about the structure of stages and actions, also refer to the AWS CodePipeline Pipeline Structure Reference.

Pipeline stages include actions, which are categorized into categories such as source or build actions performed within a stage of a pipeline. For example, you can use a source action to import artifacts into a pipeline from a source such as Amazon S3. Like stages, you do not work with actions directly in most cases, but you do define and interact with actions when working with pipeline operations such as CreatePipeline and GetPipelineState. Valid action categories are:

  • Source

  • Build

  • Test

  • Deploy

  • Approval

  • Invoke

Pipelines also include transitions, which allow the transition of artifacts from one stage to the next in a pipeline after the actions in one stage complete.

You can work with transitions by calling:

Using the API to integrate with AWS CodePipeline

For third-party integrators or developers who want to create their own integrations with AWS CodePipeline, the expected sequence varies from the standard API user. In order to integrate with AWS CodePipeline, developers will need to work with the following items:

Jobs, which are instances of an action. For example, a job for a source action might import a revision of an artifact from a source.

You can work with jobs by calling:

Third party jobs, which are instances of an action created by a partner action and integrated into AWS CodePipeline. Partner actions are created by members of the AWS Partner Network.

You can work with third party jobs by calling:

" + "documentation":"AWS CodePipeline

Overview

This is the AWS CodePipeline API Reference. This guide provides descriptions of the actions and data types for AWS CodePipeline. Some functionality for your pipeline is only configurable through the API. For additional information, see the AWS CodePipeline User Guide.

You can use the AWS CodePipeline API to work with pipelines, stages, actions, and transitions, as described below.

Pipelines are models of automated release processes. Each pipeline is uniquely named, and consists of stages, actions, and transitions.

You can work with pipelines by calling:

  • CreatePipeline, which creates a uniquely-named pipeline.

  • DeletePipeline, which deletes the specified pipeline.

  • GetPipeline, which returns information about the pipeline structure and pipeline metadata, including the pipeline Amazon Resource Name (ARN).

  • GetPipelineExecution, which returns information about a specific execution of a pipeline.

  • GetPipelineState, which returns information about the current state of the stages and actions of a pipeline.

  • ListActionExecutions, which returns action-level details for past executions. The details include full stage and action-level details, including individual action duration, status, any errors which occurred during the execution, and input and output artifact location details.

  • ListPipelines, which gets a summary of all of the pipelines associated with your account.

  • ListPipelineExecutions, which gets a summary of the most recent executions for a pipeline.

  • StartPipelineExecution, which runs the the most recent revision of an artifact through the pipeline.

  • UpdatePipeline, which updates a pipeline with edits or changes to the structure of the pipeline.

Pipelines include stages. Each stage contains one or more actions that must complete before the next stage begins. A stage will result in success or failure. If a stage fails, then the pipeline stops at that stage and will remain stopped until either a new version of an artifact appears in the source location, or a user takes action to re-run the most recent artifact through the pipeline. You can call GetPipelineState, which displays the status of a pipeline, including the status of stages in the pipeline, or GetPipeline, which returns the entire structure of the pipeline, including the stages of that pipeline. For more information about the structure of stages and actions, also refer to the AWS CodePipeline Pipeline Structure Reference.

Pipeline stages include actions, which are categorized into categories such as source or build actions performed within a stage of a pipeline. For example, you can use a source action to import artifacts into a pipeline from a source such as Amazon S3. Like stages, you do not work with actions directly in most cases, but you do define and interact with actions when working with pipeline operations such as CreatePipeline and GetPipelineState. Valid action categories are:

  • Source

  • Build

  • Test

  • Deploy

  • Approval

  • Invoke

Pipelines also include transitions, which allow the transition of artifacts from one stage to the next in a pipeline after the actions in one stage complete.

You can work with transitions by calling:

Using the API to integrate with AWS CodePipeline

For third-party integrators or developers who want to create their own integrations with AWS CodePipeline, the expected sequence varies from the standard API user. In order to integrate with AWS CodePipeline, developers will need to work with the following items:

Jobs, which are instances of an action. For example, a job for a source action might import a revision of an artifact from a source.

You can work with jobs by calling:

Third party jobs, which are instances of an action created by a partner action and integrated into AWS CodePipeline. Partner actions are created by members of the AWS Partner Network.

You can work with third party jobs by calling:

" } diff --git a/bin/botocore/data/codestar/2017-04-19/paginators-1.json b/bin/botocore/data/codestar/2017-04-19/paginators-1.json index ea142457..d0c91820 100644 --- a/bin/botocore/data/codestar/2017-04-19/paginators-1.json +++ b/bin/botocore/data/codestar/2017-04-19/paginators-1.json @@ -1,3 +1,28 @@ { - "pagination": {} + "pagination": { + "ListProjects": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "projects" + }, + "ListResources": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "resources" + }, + "ListTeamMembers": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "teamMembers" + }, + "ListUserProfiles": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "userProfiles" + } + } } diff --git a/bin/botocore/data/cognito-identity/2014-06-30/paginators-1.json b/bin/botocore/data/cognito-identity/2014-06-30/paginators-1.json index ea142457..2af6e40c 100644 --- a/bin/botocore/data/cognito-identity/2014-06-30/paginators-1.json +++ b/bin/botocore/data/cognito-identity/2014-06-30/paginators-1.json @@ -1,3 +1,10 @@ { - "pagination": {} + "pagination": { + "ListIdentityPools": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "IdentityPools" + } + } } diff --git a/bin/botocore/data/cognito-identity/2014-06-30/service-2.json b/bin/botocore/data/cognito-identity/2014-06-30/service-2.json index 2b255458..900e3b5a 100644 --- a/bin/botocore/data/cognito-identity/2014-06-30/service-2.json +++ b/bin/botocore/data/cognito-identity/2014-06-30/service-2.json @@ -59,7 +59,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Deletes a user pool. Once a pool is deleted, users will not be able to authenticate with the pool.

You must use AWS Developer credentials to call this API.

" + "documentation":"

Deletes an identity pool. Once a pool is deleted, users will not be able to authenticate with the pool.

You must use AWS Developer credentials to call this API.

" }, "DescribeIdentity":{ "name":"DescribeIdentity", @@ -170,7 +170,7 @@ {"shape":"InternalErrorException"}, {"shape":"ExternalServiceException"} ], - "documentation":"

Gets an OpenID token, using a known Cognito ID. This known Cognito ID is returned by GetId. You can optionally add additional logins for the identity. Supplying multiple logins creates an implicit link.

The OpenId token is valid for 15 minutes.

This is a public API. You do not need any credentials to call this API.

" + "documentation":"

Gets an OpenID token, using a known Cognito ID. This known Cognito ID is returned by GetId. You can optionally add additional logins for the identity. Supplying multiple logins creates an implicit link.

The OpenId token is valid for 10 minutes.

This is a public API. You do not need any credentials to call this API.

" }, "GetOpenIdTokenForDeveloperIdentity":{ "name":"GetOpenIdTokenForDeveloperIdentity", @@ -206,7 +206,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Lists the identities in a pool.

You must use AWS Developer credentials to call this API.

" + "documentation":"

Lists the identities in an identity pool.

You must use AWS Developer credentials to call this API.

" }, "ListIdentityPools":{ "name":"ListIdentityPools", @@ -220,10 +220,28 @@ {"shape":"InvalidParameterException"}, {"shape":"NotAuthorizedException"}, {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"}, {"shape":"InternalErrorException"} ], "documentation":"

Lists all of the Cognito identity pools registered for your account.

You must use AWS Developer credentials to call this API.

" }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceInput"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Lists the tags that are assigned to an Amazon Cognito identity pool.

A tag is a label that you can apply to identity pools to categorize and manage them in different ways, such as by purpose, owner, environment, or other criteria.

You can use this action up to 10 times per second, per account.

" + }, "LookupDeveloperIdentity":{ "name":"LookupDeveloperIdentity", "http":{ @@ -240,7 +258,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Retrieves the IdentityID associated with a DeveloperUserIdentifier or the list of DeveloperUserIdentifiers associated with an IdentityId for an existing identity. Either IdentityID or DeveloperUserIdentifier must not be null. If you supply only one of these values, the other value will be searched in the database and returned as a part of the response. If you supply both, DeveloperUserIdentifier will be matched against IdentityID. If the values are verified against the database, the response returns both values and is the same as the request. Otherwise a ResourceConflictException is thrown.

You must use AWS Developer credentials to call this API.

" + "documentation":"

Retrieves the IdentityID associated with a DeveloperUserIdentifier or the list of DeveloperUserIdentifier values associated with an IdentityId for an existing identity. Either IdentityID or DeveloperUserIdentifier must not be null. If you supply only one of these values, the other value will be searched in the database and returned as a part of the response. If you supply both, DeveloperUserIdentifier will be matched against IdentityID. If the values are verified against the database, the response returns both values and is the same as the request. Otherwise a ResourceConflictException is thrown.

LookupDeveloperIdentity is intended for low-throughput control plane operations: for example, to enable customer service to locate an identity ID by username. If you are using it for higher-volume operations such as user authentication, your requests are likely to be throttled. GetOpenIdTokenForDeveloperIdentity is a better option for higher-volume operations for user authentication.

You must use AWS Developer credentials to call this API.

" }, "MergeDeveloperIdentities":{ "name":"MergeDeveloperIdentities", @@ -258,7 +276,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Merges two users having different IdentityIds, existing in the same identity pool, and identified by the same developer provider. You can use this action to request that discrete users be merged and identified as a single user in the Cognito environment. Cognito associates the given source user (SourceUserIdentifier) with the IdentityId of the DestinationUserIdentifier. Only developer-authenticated users can be merged. If the users to be merged are associated with the same public provider, but as two different users, an exception will be thrown.

You must use AWS Developer credentials to call this API.

" + "documentation":"

Merges two users having different IdentityIds, existing in the same identity pool, and identified by the same developer provider. You can use this action to request that discrete users be merged and identified as a single user in the Cognito environment. Cognito associates the given source user (SourceUserIdentifier) with the IdentityId of the DestinationUserIdentifier. Only developer-authenticated users can be merged. If the users to be merged are associated with the same public provider, but as two different users, an exception will be thrown.

The number of linked logins is limited to 20. So, the number of linked logins for the source user, SourceUserIdentifier, and the destination user, DestinationUserIdentifier, together should not be larger than 20. Otherwise, an exception will be thrown.

You must use AWS Developer credentials to call this API.

" }, "SetIdentityPoolRoles":{ "name":"SetIdentityPoolRoles", @@ -278,6 +296,23 @@ ], "documentation":"

Sets the roles for an identity pool. These roles are used when making calls to GetCredentialsForIdentity action.

You must use AWS Developer credentials to call this API.

" }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceInput"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Assigns a set of tags to an Amazon Cognito identity pool. A tag is a label that you can use to categorize and manage identity pools in different ways, such as by purpose, owner, environment, or other criteria.

Each tag consists of a key and value, both of which you define. A key is a general category for more specific values. For example, if you have two versions of an identity pool, one for testing and another for production, you might assign an Environment tag key to both identity pools. The value of this key might be Test for one identity pool and Production for the other.

Tags are useful for cost tracking and access control. You can activate your tags so that they appear on the Billing and Cost Management console, where you can track the costs associated with your identity pools. In an IAM policy, you can constrain permissions for identity pools based on specific tags or tag values.

You can use this action up to 5 times per second, per account. An identity pool can have as many as 50 tags.

" + }, "UnlinkDeveloperIdentity":{ "name":"UnlinkDeveloperIdentity", "http":{ @@ -313,6 +348,23 @@ ], "documentation":"

Unlinks a federated identity from an existing account. Unlinked logins will be considered new identities next time they are seen. Removing the last linked login will make this identity inaccessible.

This is a public API. You do not need any credentials to call this API.

" }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceInput"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Removes the specified tags from an Amazon Cognito identity pool. You can use this action up to 5 times per second, per account

" + }, "UpdateIdentityPool":{ "name":"UpdateIdentityPool", "http":{ @@ -331,7 +383,7 @@ {"shape":"ConcurrentModificationException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Updates a user pool.

You must use AWS Developer credentials to call this API.

" + "documentation":"

Updates an identity pool.

You must use AWS Developer credentials to call this API.

" } }, "shapes":{ @@ -370,19 +422,19 @@ "members":{ "ProviderName":{ "shape":"CognitoIdentityProviderName", - "documentation":"

The provider name for an Amazon Cognito Identity User Pool. For example, cognito-idp.us-east-1.amazonaws.com/us-east-1_123456789.

" + "documentation":"

The provider name for an Amazon Cognito user pool. For example, cognito-idp.us-east-1.amazonaws.com/us-east-1_123456789.

" }, "ClientId":{ "shape":"CognitoIdentityProviderClientId", - "documentation":"

The client ID for the Amazon Cognito Identity User Pool.

" + "documentation":"

The client ID for the Amazon Cognito user pool.

" }, "ServerSideTokenCheck":{ "shape":"CognitoIdentityProviderTokenCheck", - "documentation":"

TRUE if server-side token validation is enabled for the identity provider’s token.

", + "documentation":"

TRUE if server-side token validation is enabled for the identity provider’s token.

Once you set ServerSideTokenCheck to TRUE for an identity pool, that identity pool will check with the integrated user pools to make sure that the user has not been globally signed out or deleted before the identity pool provides an OIDC token or AWS credentials for the user.

If the user is signed out or deleted, the identity pool will return a 400 Not Authorized error.

", "box":true } }, - "documentation":"

A provider representing an Amazon Cognito Identity User Pool and its client ID.

" + "documentation":"

A provider representing an Amazon Cognito user pool and its client ID.

" }, "CognitoIdentityProviderClientId":{ "type":"string", @@ -441,11 +493,15 @@ }, "CognitoIdentityProviders":{ "shape":"CognitoIdentityProviderList", - "documentation":"

An array of Amazon Cognito Identity user pools and their client IDs.

" + "documentation":"

An array of Amazon Cognito user pools and their client IDs.

" }, "SamlProviderARNs":{ "shape":"SAMLProviderList", "documentation":"

An array of Amazon Resource Names (ARNs) of the SAML provider for your identity pool.

" + }, + "IdentityPoolTags":{ + "shape":"IdentityPoolTagsType", + "documentation":"

Tags to assign to the identity pool. A tag is a label that you can apply to identity pools to categorize and manage them in different ways, such as by purpose, owner, environment, or other criteria.

" } }, "documentation":"

Input to the CreateIdentityPool action.

" @@ -581,7 +637,7 @@ }, "Logins":{ "shape":"LoginsMap", - "documentation":"

A set of optional name-value pairs that map provider names to provider tokens.

" + "documentation":"

A set of optional name-value pairs that map provider names to provider tokens. The name-value pair will follow the syntax \"provider_name\": \"provider_user_identifier\".

Logins should not be specified when trying to get credentials for an unauthenticated identity.

The Logins parameter is required when using identities associated with external identity providers such as FaceBook. For examples of Logins maps, see the code examples in the External Identity Providers section of the Amazon Cognito Developer Guide.

" }, "CustomRoleArn":{ "shape":"ARNString", @@ -618,7 +674,7 @@ }, "Logins":{ "shape":"LoginsMap", - "documentation":"

A set of optional name-value pairs that map provider names to provider tokens. The available provider names for Logins are as follows:

  • Facebook: graph.facebook.com

  • Amazon Cognito Identity Provider: cognito-idp.us-east-1.amazonaws.com/us-east-1_123456789

  • Google: accounts.google.com

  • Amazon: www.amazon.com

  • Twitter: api.twitter.com

  • Digits: www.digits.com

" + "documentation":"

A set of optional name-value pairs that map provider names to provider tokens. The available provider names for Logins are as follows:

  • Facebook: graph.facebook.com

  • Amazon Cognito user pool: cognito-idp.<region>.amazonaws.com/<YOUR_USER_POOL_ID>, for example, cognito-idp.us-east-1.amazonaws.com/us-east-1_123456789.

  • Google: accounts.google.com

  • Amazon: www.amazon.com

  • Twitter: api.twitter.com

  • Digits: www.digits.com

" } }, "documentation":"

Input to the GetId action.

" @@ -657,7 +713,7 @@ }, "RoleMappings":{ "shape":"RoleMappingMap", - "documentation":"

How users for a specific identity provider are to mapped to roles. This is a String-to-RoleMapping object map. The string identifies the identity provider, for example, \"graph.facebook.com\" or \"cognito-idp-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id\".

" + "documentation":"

How users for a specific identity provider are to mapped to roles. This is a String-to-RoleMapping object map. The string identifies the identity provider, for example, \"graph.facebook.com\" or \"cognito-idp.us-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id\".

" } }, "documentation":"

Returned in response to a successful GetIdentityPoolRoles operation.

" @@ -712,7 +768,7 @@ }, "Logins":{ "shape":"LoginsMap", - "documentation":"

A set of optional name-value pairs that map provider names to provider tokens. When using graph.facebook.com and www.amazon.com, supply the access_token returned from the provider's authflow. For accounts.google.com, an Amazon Cognito Identity Provider, or any other OpenId Connect provider, always include the id_token.

" + "documentation":"

A set of optional name-value pairs that map provider names to provider tokens. When using graph.facebook.com and www.amazon.com, supply the access_token returned from the provider's authflow. For accounts.google.com, an Amazon Cognito user pool provider, or any other OpenId Connect provider, always include the id_token.

" } }, "documentation":"

Input to the GetOpenIdToken action.

" @@ -726,7 +782,7 @@ }, "Token":{ "shape":"OIDCToken", - "documentation":"

An OpenID token, valid for 15 minutes.

" + "documentation":"

An OpenID token, valid for 10 minutes.

" } }, "documentation":"

Returned in response to a successful GetOpenIdToken request.

" @@ -745,7 +801,7 @@ }, "Logins":{ "shape":"LoginsList", - "documentation":"

A set of optional name-value pairs that map provider names to provider tokens.

" + "documentation":"

The provider names.

" }, "CreationDate":{ "shape":"DateType", @@ -804,11 +860,15 @@ }, "CognitoIdentityProviders":{ "shape":"CognitoIdentityProviderList", - "documentation":"

A list representing an Amazon Cognito Identity User Pool and its client ID.

" + "documentation":"

A list representing an Amazon Cognito user pool and its client ID.

" }, "SamlProviderARNs":{ "shape":"SAMLProviderList", "documentation":"

An array of Amazon Resource Names (ARNs) of the SAML provider for your identity pool.

" + }, + "IdentityPoolTags":{ + "shape":"IdentityPoolTagsType", + "documentation":"

The tags that are assigned to the identity pool. A tag is a label that you can apply to identity pools to categorize and manage them in different ways, such as by purpose, owner, environment, or other criteria.

" } }, "documentation":"

An object representing an Amazon Cognito identity pool.

" @@ -839,6 +899,15 @@ }, "documentation":"

A description of the identity pool.

" }, + "IdentityPoolTagsListType":{ + "type":"list", + "member":{"shape":"TagKeysType"} + }, + "IdentityPoolTagsType":{ + "type":"map", + "key":{"shape":"TagKeysType"}, + "value":{"shape":"TagValueType"} + }, "IdentityPoolUnauthenticated":{"type":"boolean"}, "IdentityPoolsList":{ "type":"list", @@ -984,6 +1053,25 @@ }, "documentation":"

The result of a successful ListIdentityPools action.

" }, + "ListTagsForResourceInput":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ARNString", + "documentation":"

The Amazon Resource Name (ARN) of the identity pool that the tags are assigned to.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"IdentityPoolTagsType", + "documentation":"

The tags that are assigned to the identity pool.

" + } + } + }, "LoginsList":{ "type":"list", "member":{"shape":"IdentityProviderName"} @@ -1250,6 +1338,35 @@ "documentation":"

Input to the SetIdentityPoolRoles action.

" }, "String":{"type":"string"}, + "TagKeysType":{ + "type":"string", + "max":128, + "min":1 + }, + "TagResourceInput":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ARNString", + "documentation":"

The Amazon Resource Name (ARN) of the identity pool to assign the tags to.

" + }, + "Tags":{ + "shape":"IdentityPoolTagsType", + "documentation":"

The tags to assign to the identity pool.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValueType":{ + "type":"string", + "max":256, + "min":0 + }, "TokenDuration":{ "type":"long", "max":86400, @@ -1335,7 +1452,26 @@ "type":"list", "member":{"shape":"UnprocessedIdentityId"}, "max":60 + }, + "UntagResourceInput":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ARNString", + "documentation":"

The Amazon Resource Name (ARN) of the identity pool that the tags are assigned to.

" + }, + "TagKeys":{ + "shape":"IdentityPoolTagsListType", + "documentation":"

The keys of the tags to remove from the user pool.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } } }, - "documentation":"Amazon Cognito

Amazon Cognito is a web service that delivers scoped temporary credentials to mobile devices and other untrusted environments. Amazon Cognito uniquely identifies a device and supplies the user with a consistent identity over the lifetime of an application.

Using Amazon Cognito, you can enable authentication with one or more third-party identity providers (Facebook, Google, or Login with Amazon), and you can also choose to support unauthenticated access from your app. Cognito delivers a unique identifier for each user and acts as an OpenID token provider trusted by AWS Security Token Service (STS) to access temporary, limited-privilege AWS credentials.

To provide end-user credentials, first make an unsigned call to GetId. If the end user is authenticated with one of the supported identity providers, set the Logins map with the identity provider token. GetId returns a unique identifier for the user.

Next, make an unsigned call to GetCredentialsForIdentity. This call expects the same Logins map as the GetId call, as well as the IdentityID originally returned by GetId. Assuming your identity pool has been configured via the SetIdentityPoolRoles operation, GetCredentialsForIdentity will return AWS credentials for your use. If your pool has not been configured with SetIdentityPoolRoles, or if you want to follow legacy flow, make an unsigned call to GetOpenIdToken, which returns the OpenID token necessary to call STS and retrieve AWS credentials. This call expects the same Logins map as the GetId call, as well as the IdentityID originally returned by GetId. The token returned by GetOpenIdToken can be passed to the STS operation AssumeRoleWithWebIdentity to retrieve AWS credentials.

If you want to use Amazon Cognito in an Android, iOS, or Unity application, you will probably want to make API calls via the AWS Mobile SDK. To learn more, see the AWS Mobile SDK Developer Guide.

" + "documentation":"Amazon Cognito Federated Identities

Amazon Cognito Federated Identities is a web service that delivers scoped temporary credentials to mobile devices and other untrusted environments. It uniquely identifies a device and supplies the user with a consistent identity over the lifetime of an application.

Using Amazon Cognito Federated Identities, you can enable authentication with one or more third-party identity providers (Facebook, Google, or Login with Amazon) or an Amazon Cognito user pool, and you can also choose to support unauthenticated access from your app. Cognito delivers a unique identifier for each user and acts as an OpenID token provider trusted by AWS Security Token Service (STS) to access temporary, limited-privilege AWS credentials.

For a description of the authentication flow from the Amazon Cognito Developer Guide see Authentication Flow.

For more information see Amazon Cognito Federated Identities.

" } diff --git a/bin/botocore/data/cognito-idp/2016-04-18/paginators-1.json b/bin/botocore/data/cognito-idp/2016-04-18/paginators-1.json index ea142457..04574669 100644 --- a/bin/botocore/data/cognito-idp/2016-04-18/paginators-1.json +++ b/bin/botocore/data/cognito-idp/2016-04-18/paginators-1.json @@ -1,3 +1,52 @@ { - "pagination": {} + "pagination": { + "AdminListGroupsForUser": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "Groups" + }, + "AdminListUserAuthEvents": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "AuthEvents" + }, + "ListGroups": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "Groups" + }, + "ListIdentityProviders": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Providers" + }, + "ListResourceServers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ResourceServers" + }, + "ListUserPoolClients": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "UserPoolClients" + }, + "ListUserPools": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "UserPools" + }, + "ListUsersInGroup": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "Users" + } + } } diff --git a/bin/botocore/data/cognito-idp/2016-04-18/service-2.json b/bin/botocore/data/cognito-idp/2016-04-18/service-2.json index 39e01171..c40235cd 100644 --- a/bin/botocore/data/cognito-idp/2016-04-18/service-2.json +++ b/bin/botocore/data/cognito-idp/2016-04-18/service-2.json @@ -436,6 +436,24 @@ ], "documentation":"

Sets the user's multi-factor authentication (MFA) preference.

" }, + "AdminSetUserPassword":{ + "name":"AdminSetUserPassword", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AdminSetUserPasswordRequest"}, + "output":{"shape":"AdminSetUserPasswordResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"UserNotFoundException"}, + {"shape":"InternalErrorException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidPasswordException"} + ] + }, "AdminSetUserSettings":{ "name":"AdminSetUserSettings", "http":{ @@ -509,7 +527,10 @@ {"shape":"TooManyRequestsException"}, {"shape":"NotAuthorizedException"}, {"shape":"UserNotFoundException"}, - {"shape":"InternalErrorException"} + {"shape":"InternalErrorException"}, + {"shape":"InvalidSmsRoleAccessPolicyException"}, + {"shape":"InvalidEmailRoleAccessPolicyException"}, + {"shape":"InvalidSmsRoleTrustRelationshipException"} ], "documentation":"

Updates the specified user's attributes, including developer attributes, as an administrator. Works on any user.

For custom attributes, you must prepend the custom: prefix to the attribute name.

In addition to updating user attributes, this API can also be used to mark phone and email as verified.

Requires developer credentials.

" }, @@ -1375,6 +1396,23 @@ ], "documentation":"

Lists the resource servers for a user pool.

" }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Lists the tags that are assigned to an Amazon Cognito user pool.

A tag is a label that you can apply to user pools to categorize and manage them in different ways, such as by purpose, owner, environment, or other criteria.

You can use this action up to 10 times per second, per account.

" + }, "ListUserImportJobs":{ "name":"ListUserImportJobs", "http":{ @@ -1676,6 +1714,40 @@ ], "documentation":"

Stops the user import job.

" }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Assigns a set of tags to an Amazon Cognito user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, or other criteria.

Each tag consists of a key and value, both of which you define. A key is a general category for more specific values. For example, if you have two versions of a user pool, one for testing and another for production, you might assign an Environment tag key to both user pools. The value of this key might be Test for one user pool and Production for the other.

Tags are useful for cost tracking and access control. You can activate your tags so that they appear on the Billing and Cost Management console, where you can track the costs associated with your user pools. In an IAM policy, you can constrain permissions for user pools based on specific tags or tag values.

You can use this action up to 5 times per second, per account. A user pool can have as many as 50 tags.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Removes the specified tags from an Amazon Cognito user pool. You can use this action up to 5 times per second, per account

" + }, "UpdateAuthEventFeedback":{ "name":"UpdateAuthEventFeedback", "http":{ @@ -1842,6 +1914,23 @@ ], "documentation":"

Updates the specified user pool app client with the specified attributes. If you don't provide a value for an attribute, it will be set to the default value. You can get a list of the current user pool app client settings with .

" }, + "UpdateUserPoolDomain":{ + "name":"UpdateUserPoolDomain", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateUserPoolDomainRequest"}, + "output":{"shape":"UpdateUserPoolDomainResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Updates the Secure Sockets Layer (SSL) certificate for the custom domain for your user pool.

You can use this operation to provide the Amazon Resource Name (ARN) of a new certificate to Amazon Cognito. You cannot use it to change the domain for a user pool.

A custom domain is used to host the Amazon Cognito hosted UI, which provides sign-up and sign-in pages for your application. When you set up a custom domain, you provide a certificate that you manage with AWS Certificate Manager (ACM). When necessary, you can use this operation to change the certificate that you applied to your custom domain.

Usually, this is unnecessary following routine certificate renewal with ACM. When you renew your existing certificate in ACM, the ARN for your certificate remains the same, and your custom domain uses the new certificate automatically.

However, if you replace your existing certificate with a new one, ACM gives the new certificate a new ARN. To apply the new certificate to your custom domain, you must provide this ARN to Amazon Cognito.

When you add your new certificate in ACM, you must choose US East (N. Virginia) as the AWS Region.

After you submit your request, Amazon Cognito requires up to 1 hour to distribute your new certificate to your custom domain.

For more information about adding a custom domain to your user pool, see Using Your Own Domain for the Hosted UI.

" + }, "VerifySoftwareToken":{ "name":"VerifySoftwareToken", "http":{ @@ -2034,7 +2123,7 @@ }, "UnusedAccountValidityDays":{ "shape":"AdminCreateUserUnusedAccountValidityDaysType", - "documentation":"

The user account expiration limit, in days, after which the account is no longer usable. To reset the account after that time limit, you must call AdminCreateUser again, specifying \"RESEND\" for the MessageAction parameter. The default value for this parameter is 7.

" + "documentation":"

The user account expiration limit, in days, after which the account is no longer usable. To reset the account after that time limit, you must call AdminCreateUser again, specifying \"RESEND\" for the MessageAction parameter. The default value for this parameter is 7.

If you set a value for TemporaryPasswordValidityDays in PasswordPolicy, that value will be used and UnusedAccountValidityDays will be deprecated for that user pool.

" }, "InviteMessageTemplate":{ "shape":"MessageTemplateType", @@ -2318,7 +2407,7 @@ }, "UserStatus":{ "shape":"UserStatusType", - "documentation":"

The user status. Can be one of the following:

  • UNCONFIRMED - User has been created but not confirmed.

  • CONFIRMED - User has been confirmed.

  • ARCHIVED - User is no longer active.

  • COMPROMISED - User is disabled due to a potential security threat.

  • UNKNOWN - User status is not known.

" + "documentation":"

The user status. Can be one of the following:

  • UNCONFIRMED - User has been created but not confirmed.

  • CONFIRMED - User has been confirmed.

  • ARCHIVED - User is no longer active.

  • COMPROMISED - User is disabled due to a potential security threat.

  • UNKNOWN - User status is not known.

  • RESET_REQUIRED - User is confirmed, but the user must request a code and reset his or her password before he or she can sign in.

  • FORCE_CHANGE_PASSWORD - The user is confirmed and the user can sign in using a temporary password, but on first sign-in, the user must change his or her password to a new value before doing anything else.

" }, "MFAOptions":{ "shape":"MFAOptionListType", @@ -2676,6 +2765,25 @@ "members":{ } }, + "AdminSetUserPasswordRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "Username", + "Password" + ], + "members":{ + "UserPoolId":{"shape":"UserPoolIdType"}, + "Username":{"shape":"UsernameType"}, + "Password":{"shape":"PasswordType"}, + "Permanent":{"shape":"BooleanType"} + } + }, + "AdminSetUserPasswordResponse":{ + "type":"structure", + "members":{ + } + }, "AdminSetUserSettingsRequest":{ "type":"structure", "required":[ @@ -3638,7 +3746,7 @@ }, "WriteAttributes":{ "shape":"ClientPermissionListType", - "documentation":"

The write attributes.

" + "documentation":"

The user pool attributes that the app client can write to.

If your app client allows users to sign in through an identity provider, this array must include all attributes that are mapped to identity provider attributes. Amazon Cognito updates mapped attributes when users sign in to your application through an identity provider. If your app client lacks write access to a mapped attribute, Amazon Cognito throws an error when it attempts to update the attribute. For more information, see Specifying Identity Provider Attribute Mappings for Your User Pool.

" }, "ExplicitAuthFlows":{ "shape":"ExplicitAuthFlowsListType", @@ -3646,7 +3754,7 @@ }, "SupportedIdentityProviders":{ "shape":"SupportedIdentityProvidersListType", - "documentation":"

A list of provider names for the identity providers that are supported on this client.

" + "documentation":"

A list of provider names for the identity providers that are supported on this client. The following are supported: COGNITO, Facebook, Google and LoginWithAmazon.

" }, "CallbackURLs":{ "shape":"CallbackURLsListType", @@ -3706,7 +3814,7 @@ }, "CustomDomainConfig":{ "shape":"CustomDomainConfigType", - "documentation":"

The configuration for a custom domain that hosts the sign-up and sign-in webpages for your application.

Provide this parameter only if you want to use own custom domain for your user pool. Otherwise, you can exclude this parameter and use the Amazon Cognito hosted domain instead.

For more information about the hosted domain and custom domains, see Configuring a User Pool Domain.

" + "documentation":"

The configuration for a custom domain that hosts the sign-up and sign-in webpages for your application.

Provide this parameter only if you want to use a custom domain for your user pool. Otherwise, you can exclude this parameter and use the Amazon Cognito hosted domain instead.

For more information about the hosted domain and custom domains, see Configuring a User Pool Domain.

" } } }, @@ -3785,7 +3893,7 @@ }, "UserPoolTags":{ "shape":"UserPoolTagsType", - "documentation":"

The cost allocation tags for the user pool. For more information, see Adding Cost Allocation Tags to Your User Pool

" + "documentation":"

The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, or other criteria.

" }, "AdminCreateUserConfig":{ "shape":"AdminCreateUserConfigType", @@ -4276,7 +4384,10 @@ "shape":"DomainStatusType", "documentation":"

The domain status.

" }, - "CustomDomainConfig":{"shape":"CustomDomainConfigType"} + "CustomDomainConfig":{ + "shape":"CustomDomainConfigType", + "documentation":"

The configuration for a custom domain that hosts the sign-up and sign-in webpages for your application.

" + } }, "documentation":"

A container for information about a domain.

" }, @@ -4318,11 +4429,15 @@ "members":{ "SourceArn":{ "shape":"ArnType", - "documentation":"

The Amazon Resource Name (ARN) of the email source.

" + "documentation":"

The Amazon Resource Name (ARN) of a verified email address in Amazon SES. This email address is used in one of the following ways, depending on the value that you specify for the EmailSendingAccount parameter:

  • If you specify COGNITO_DEFAULT, Amazon Cognito uses this address as the custom FROM address when it emails your users by using its built-in email account.

  • If you specify DEVELOPER, Amazon Cognito emails your users with this address by calling Amazon SES on your behalf.

" }, "ReplyToEmailAddress":{ "shape":"EmailAddressType", "documentation":"

The destination to which the receiver of the email should reply to.

" + }, + "EmailSendingAccount":{ + "shape":"EmailSendingAccountType", + "documentation":"

Specifies whether Amazon Cognito emails your users by using its built-in email functionality or your Amazon SES email configuration. Specify one of the following values:

COGNITO_DEFAULT

When Amazon Cognito emails your users, it uses its built-in email functionality. When you use the default option, Amazon Cognito allows only a limited number of emails each day for your user pool. For typical production environments, the default email limit is below the required delivery volume. To achieve a higher delivery volume, specify DEVELOPER to use your Amazon SES email configuration.

To look up the email delivery limit for the default option, see Limits in Amazon Cognito in the Amazon Cognito Developer Guide.

The default FROM address is no-reply@verificationemail.com. To customize the FROM address, provide the ARN of an Amazon SES verified email address for the SourceArn parameter.

DEVELOPER

When Amazon Cognito emails your users, it uses your Amazon SES configuration. Amazon Cognito calls Amazon SES on your behalf to send email from your verified email address. When you use this option, the email delivery limits are the same limits that apply to your Amazon SES verified email address in your AWS account.

If you use this option, you must provide the ARN of an Amazon SES verified email address for the SourceArn parameter.

Before Amazon Cognito can email your users, it requires additional permissions to call Amazon SES on your behalf. When you update your user pool with this option, Amazon Cognito creates a service-linked role, which is a type of IAM role, in your AWS account. This role contains the permissions that allow Amazon Cognito to access Amazon SES and send email messages with your address. For more information about the service-linked role that Amazon Cognito creates, see Using Service-Linked Roles for Amazon Cognito in the Amazon Cognito Developer Guide.

" } }, "documentation":"

The email configuration type.

" @@ -4339,6 +4454,13 @@ "min":1, "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s]+" }, + "EmailSendingAccountType":{ + "type":"string", + "enum":[ + "COGNITO_DEFAULT", + "DEVELOPER" + ] + }, "EmailVerificationMessageByLinkType":{ "type":"string", "max":20000, @@ -5265,7 +5387,7 @@ "ListProvidersLimitType":{ "type":"integer", "max":60, - "min":1 + "min":0 }, "ListResourceServersLimitType":{ "type":"integer", @@ -5304,6 +5426,25 @@ } } }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ArnType", + "documentation":"

The Amazon Resource Name (ARN) of the user pool that the tags are assigned to.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"UserPoolTagsType", + "documentation":"

The tags that are assigned to the user pool.

" + } + } + }, "ListUserImportJobsRequest":{ "type":"structure", "required":[ @@ -5683,7 +5824,8 @@ "RequireSymbols":{ "shape":"BooleanType", "documentation":"

In the password policy that you have set, refers to whether you have required users to use at least one symbol in their password.

" - } + }, + "TemporaryPasswordValidityDays":{"shape":"TemporaryPasswordValidityDaysType"} }, "documentation":"

The password policy type.

" }, @@ -6091,7 +6233,7 @@ }, "Mutable":{ "shape":"BooleanType", - "documentation":"

Specifies whether the value of the attribute can be changed.

", + "documentation":"

Specifies whether the value of the attribute can be changed.

For any user pool attribute that's mapped to an identity provider attribute, you must set this parameter to true. Amazon Cognito updates mapped attributes when users sign in to your application through an identity provider. If an attribute is immutable, Amazon Cognito throws an error when it attempts to update the attribute. For more information, see Specifying Identity Provider Attribute Mappings for Your User Pool.

", "box":true }, "Required":{ @@ -6541,6 +6683,40 @@ "type":"list", "member":{"shape":"ProviderNameType"} }, + "TagKeysType":{ + "type":"string", + "max":128, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ArnType", + "documentation":"

The Amazon Resource Name (ARN) of the user pool to assign the tags to.

" + }, + "Tags":{ + "shape":"UserPoolTagsType", + "documentation":"

The tags to assign to the user pool.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValueType":{ + "type":"string", + "max":256, + "min":0 + }, + "TemporaryPasswordValidityDaysType":{ + "type":"integer", + "max":365, + "min":0 + }, "TokenModelType":{ "type":"string", "pattern":"[A-Za-z0-9-_=.]+", @@ -6632,6 +6808,25 @@ "documentation":"

The request failed because the user is in an unsupported state.

", "exception":true }, + "UntagResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ArnType", + "documentation":"

The Amazon Resource Name (ARN) of the user pool that the tags are assigned to.

" + }, + "TagKeys":{ + "shape":"UserPoolTagsListType", + "documentation":"

The keys of the tags to remove from the user pool.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateAuthEventFeedbackRequest":{ "type":"structure", "required":[ @@ -6891,7 +7086,7 @@ }, "AllowedOAuthFlows":{ "shape":"OAuthFlowsType", - "documentation":"

Set to code to initiate a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the token endpoint.

Set to token to specify that the client should get the access token (and, optionally, ID token, based on scopes) directly.

" + "documentation":"

Set to code to initiate a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the token endpoint.

" }, "AllowedOAuthScopes":{ "shape":"ScopeListType", @@ -6918,6 +7113,39 @@ }, "documentation":"

Represents the response from the server to the request to update the user pool client.

" }, + "UpdateUserPoolDomainRequest":{ + "type":"structure", + "required":[ + "Domain", + "UserPoolId", + "CustomDomainConfig" + ], + "members":{ + "Domain":{ + "shape":"DomainType", + "documentation":"

The domain name for the custom domain that hosts the sign-up and sign-in pages for your application. For example: auth.example.com.

This string can include only lowercase letters, numbers, and hyphens. Do not use a hyphen for the first or last character. Use periods to separate subdomain names.

" + }, + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The ID of the user pool that is associated with the custom domain that you are updating the certificate for.

" + }, + "CustomDomainConfig":{ + "shape":"CustomDomainConfigType", + "documentation":"

The configuration for a custom domain that hosts the sign-up and sign-in pages for your application. Use this object to specify an SSL certificate that is managed by ACM.

" + } + }, + "documentation":"

The UpdateUserPoolDomain request input.

" + }, + "UpdateUserPoolDomainResponse":{ + "type":"structure", + "members":{ + "CloudFrontDomain":{ + "shape":"DomainType", + "documentation":"

The Amazon CloudFront endpoint that Amazon Cognito set up when you added the custom domain to your user pool.

" + } + }, + "documentation":"

The UpdateUserPoolDomain response output.

" + }, "UpdateUserPoolRequest":{ "type":"structure", "required":["UserPoolId"], @@ -6976,7 +7204,7 @@ }, "UserPoolTags":{ "shape":"UserPoolTagsType", - "documentation":"

The cost allocation tags for the user pool. For more information, see Adding Cost Allocation Tags to Your User Pool

" + "documentation":"

The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, or other criteria.

" }, "AdminCreateUserConfig":{ "shape":"AdminCreateUserConfigType", @@ -7338,10 +7566,14 @@ "documentation":"

This exception is thrown when a user pool tag cannot be set or updated.

", "exception":true }, + "UserPoolTagsListType":{ + "type":"list", + "member":{"shape":"TagKeysType"} + }, "UserPoolTagsType":{ "type":"map", - "key":{"shape":"StringType"}, - "value":{"shape":"StringType"} + "key":{"shape":"TagKeysType"}, + "value":{"shape":"TagValueType"} }, "UserPoolType":{ "type":"structure", @@ -7432,7 +7664,7 @@ }, "UserPoolTags":{ "shape":"UserPoolTagsType", - "documentation":"

The cost allocation tags for the user pool. For more information, see Adding Cost Allocation Tags to Your User Pool

" + "documentation":"

The tags that are assigned to the user pool. A tag is a label that you can apply to user pools to categorize and manage them in different ways, such as by purpose, owner, environment, or other criteria.

" }, "SmsConfigurationFailure":{ "shape":"StringType", @@ -7446,7 +7678,10 @@ "shape":"DomainType", "documentation":"

Holds the domain prefix if the user pool has a domain associated with it.

" }, - "CustomDomain":{"shape":"DomainType"}, + "CustomDomain":{ + "shape":"DomainType", + "documentation":"

A custom domain name that you provide to Amazon Cognito. This parameter applies only if you use a custom domain to host the sign-up and sign-in pages for your application. For example: auth.example.com.

For more information about adding a custom domain to your user pool, see Using Your Own Domain for the Hosted UI.

" + }, "AdminCreateUserConfig":{ "shape":"AdminCreateUserConfigType", "documentation":"

The configuration for AdminCreateUser requests.

" @@ -7499,7 +7734,7 @@ }, "UserStatus":{ "shape":"UserStatusType", - "documentation":"

The user status. Can be one of the following:

  • UNCONFIRMED - User has been created but not confirmed.

  • CONFIRMED - User has been confirmed.

  • ARCHIVED - User is no longer active.

  • COMPROMISED - User is disabled due to a potential security threat.

  • UNKNOWN - User status is not known.

" + "documentation":"

The user status. Can be one of the following:

  • UNCONFIRMED - User has been created but not confirmed.

  • CONFIRMED - User has been confirmed.

  • ARCHIVED - User is no longer active.

  • COMPROMISED - User is disabled due to a potential security threat.

  • UNKNOWN - User status is not known.

  • RESET_REQUIRED - User is confirmed, but the user must request a code and reset his or her password before he or she can sign in.

  • FORCE_CHANGE_PASSWORD - The user is confirmed and the user can sign in using a temporary password, but on first sign-in, the user must change his or her password to a new value before doing anything else.

" }, "MFAOptions":{ "shape":"MFAOptionListType", diff --git a/bin/botocore/data/comprehend/2017-11-27/paginators-1.json b/bin/botocore/data/comprehend/2017-11-27/paginators-1.json index 2d021747..eb84c64c 100644 --- a/bin/botocore/data/comprehend/2017-11-27/paginators-1.json +++ b/bin/botocore/data/comprehend/2017-11-27/paginators-1.json @@ -5,6 +5,48 @@ "output_token": "NextToken", "input_token": "NextToken", "limit_key": "MaxResults" + }, + "ListDocumentClassificationJobs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "DocumentClassificationJobPropertiesList" + }, + "ListDocumentClassifiers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "DocumentClassifierPropertiesList" + }, + "ListDominantLanguageDetectionJobs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "DominantLanguageDetectionJobPropertiesList" + }, + "ListEntitiesDetectionJobs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "EntitiesDetectionJobPropertiesList" + }, + "ListEntityRecognizers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "EntityRecognizerPropertiesList" + }, + "ListKeyPhrasesDetectionJobs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "KeyPhrasesDetectionJobPropertiesList" + }, + "ListSentimentDetectionJobs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "SentimentDetectionJobPropertiesList" } } } diff --git a/bin/botocore/data/comprehend/2017-11-27/service-2.json b/bin/botocore/data/comprehend/2017-11-27/service-2.json index de428cf2..19239373 100644 --- a/bin/botocore/data/comprehend/2017-11-27/service-2.json +++ b/bin/botocore/data/comprehend/2017-11-27/service-2.json @@ -27,7 +27,7 @@ {"shape":"BatchSizeLimitExceededException"}, {"shape":"InternalServerException"} ], - "documentation":"

Determines the dominant language of the input text for a batch of documents. For a list of languages that Amazon Comprehend can detect, see Amazon Comprehend Supported Languages.

" + "documentation":"

Determines the dominant language of the input text for a batch of documents. For a list of languages that Amazon Comprehend can detect, see Amazon Comprehend Supported Languages.

" }, "BatchDetectEntities":{ "name":"BatchDetectEntities", @@ -108,12 +108,14 @@ "errors":[ {"shape":"InvalidRequestException"}, {"shape":"ResourceInUseException"}, + {"shape":"TooManyTagsException"}, {"shape":"TooManyRequestsException"}, {"shape":"ResourceLimitExceededException"}, {"shape":"UnsupportedLanguageException"}, + {"shape":"KmsKeyValidationException"}, {"shape":"InternalServerException"} ], - "documentation":"

Creates a new document classifier that you can use to categorize documents. To create a classifier you provide a set of training documents that labeled with the categories that you want to use. After the classifier is trained you can use it to categorize a set of labeled documents into the categories.

" + "documentation":"

Creates a new document classifier that you can use to categorize documents. To create a classifier you provide a set of training documents that labeled with the categories that you want to use. After the classifier is trained you can use it to categorize a set of labeled documents into the categories. For more information, see how-document-classification.

" }, "CreateEntityRecognizer":{ "name":"CreateEntityRecognizer", @@ -126,9 +128,11 @@ "errors":[ {"shape":"InvalidRequestException"}, {"shape":"ResourceInUseException"}, + {"shape":"TooManyTagsException"}, {"shape":"TooManyRequestsException"}, {"shape":"ResourceLimitExceededException"}, {"shape":"UnsupportedLanguageException"}, + {"shape":"KmsKeyValidationException"}, {"shape":"InternalServerException"} ], "documentation":"

Creates an entity recognizer using submitted files. After your CreateEntityRecognizer request is submitted, you can check job status using the API.

" @@ -310,7 +314,7 @@ {"shape":"TextSizeLimitExceededException"}, {"shape":"InternalServerException"} ], - "documentation":"

Determines the dominant language of the input text. For a list of languages that Amazon Comprehend can detect, see Amazon Comprehend Supported Languages.

" + "documentation":"

Determines the dominant language of the input text. For a list of languages that Amazon Comprehend can detect, see Amazon Comprehend Supported Languages.

" }, "DetectEntities":{ "name":"DetectEntities", @@ -488,6 +492,21 @@ ], "documentation":"

Gets a list of sentiment detection jobs that you have submitted.

" }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Lists all tags associated with a given Amazon Comprehend resource.

" + }, "ListTopicsDetectionJobs":{ "name":"ListTopicsDetectionJobs", "http":{ @@ -517,6 +536,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ResourceUnavailableException"}, + {"shape":"KmsKeyValidationException"}, {"shape":"InternalServerException"} ], "documentation":"

Starts an asynchronous document classification job. Use the operation to track the progress of the job.

" @@ -532,6 +552,7 @@ "errors":[ {"shape":"InvalidRequestException"}, {"shape":"TooManyRequestsException"}, + {"shape":"KmsKeyValidationException"}, {"shape":"InternalServerException"} ], "documentation":"

Starts an asynchronous dominant language detection job for a collection of documents. Use the operation to track the status of a job.

" @@ -549,6 +570,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ResourceUnavailableException"}, + {"shape":"KmsKeyValidationException"}, {"shape":"InternalServerException"} ], "documentation":"

Starts an asynchronous entity detection job for a collection of documents. Use the operation to track the status of a job.

This API can be used for either standard entity detection or custom entity recognition. In order to be used for custom entity recognition, the optional EntityRecognizerArn must be used in order to provide access to the recognizer being used to detect the custom entity.

" @@ -564,6 +586,7 @@ "errors":[ {"shape":"InvalidRequestException"}, {"shape":"TooManyRequestsException"}, + {"shape":"KmsKeyValidationException"}, {"shape":"InternalServerException"} ], "documentation":"

Starts an asynchronous key phrase detection job for a collection of documents. Use the operation to track the status of a job.

" @@ -579,6 +602,7 @@ "errors":[ {"shape":"InvalidRequestException"}, {"shape":"TooManyRequestsException"}, + {"shape":"KmsKeyValidationException"}, {"shape":"InternalServerException"} ], "documentation":"

Starts an asynchronous sentiment detection job for a collection of documents. use the operation to track the status of a job.

" @@ -594,6 +618,7 @@ "errors":[ {"shape":"InvalidRequestException"}, {"shape":"TooManyRequestsException"}, + {"shape":"KmsKeyValidationException"}, {"shape":"InternalServerException"} ], "documentation":"

Starts an asynchronous topic detection job. Use the DescribeTopicDetectionJob operation to track the status of a job.

" @@ -657,6 +682,72 @@ {"shape":"InternalServerException"} ], "documentation":"

Stops a sentiment detection job in progress.

If the job state is IN_PROGRESS the job is marked for termination and put into the STOP_REQUESTED state. If the job completes before it can be stopped, it is put into the COMPLETED state; otherwise the job is be stopped and put into the STOPPED state.

If the job is in the COMPLETED or FAILED state when you call the StopDominantLanguageDetectionJob operation, the operation returns a 400 Internal Request Exception.

When a job is stopped, any documents already processed are written to the output location.

" + }, + "StopTrainingDocumentClassifier":{ + "name":"StopTrainingDocumentClassifier", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopTrainingDocumentClassifierRequest"}, + "output":{"shape":"StopTrainingDocumentClassifierResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Stops a document classifier training job while in progress.

If the training job state is TRAINING, the job is marked for termination and put into the STOP_REQUESTED state. If the training job completes before it can be stopped, it is put into the TRAINED; otherwise the training job is stopped and put into the STOPPED state and the service sends back an HTTP 200 response with an empty HTTP body.

" + }, + "StopTrainingEntityRecognizer":{ + "name":"StopTrainingEntityRecognizer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopTrainingEntityRecognizerRequest"}, + "output":{"shape":"StopTrainingEntityRecognizerResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Stops an entity recognizer training job while in progress.

If the training job state is TRAINING, the job is marked for termination and put into the STOP_REQUESTED state. If the training job completes before it can be stopped, it is put into the TRAINED; otherwise the training job is stopped and putted into the STOPPED state and the service sends back an HTTP 200 response with an empty HTTP body.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Associates a specific tag with an Amazon Comprehend resource. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with \"Sales\" as the key might be added to a resource to indicate its use by the sales department.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"TooManyTagKeysException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Removes a specific tag associated with an Amazon Comprehend resource.

" } }, "shapes":{ @@ -978,11 +1069,24 @@ "min":1, "pattern":"^[a-zA-Z0-9-]+$" }, + "ComprehendArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws(-[^:]+)?:comprehend:[a-zA-Z0-9-]*:[0-9]{12}:[a-zA-Z0-9-]{1,64}/[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, "ComprehendArnName":{ "type":"string", "max":63, "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

Concurrent modification of the tags associated with an Amazon Comprehend resource is not supported.

", + "exception":true + }, "CreateDocumentClassifierRequest":{ "type":"structure", "required":[ @@ -1000,10 +1104,18 @@ "shape":"IamRoleArn", "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants Amazon Comprehend read access to your input data.

" }, + "Tags":{ + "shape":"TagList", + "documentation":"

Tags to be associated with the document classifier being created. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with \"Sales\" as the key might be added to a resource to indicate its use by the sales department.

" + }, "InputDataConfig":{ "shape":"DocumentClassifierInputDataConfig", "documentation":"

Specifies the format and location of the input data for the job.

" }, + "OutputDataConfig":{ + "shape":"DocumentClassifierOutputDataConfig", + "documentation":"

Enables the addition of output results configuration parameters for custom classifier jobs.

" + }, "ClientRequestToken":{ "shape":"ClientRequestTokenString", "documentation":"

A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.

", @@ -1012,6 +1124,14 @@ "LanguageCode":{ "shape":"LanguageCode", "documentation":"

The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

" + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your custom classifier. For more information, see Amazon VPC.

" } } }, @@ -1041,6 +1161,10 @@ "shape":"IamRoleArn", "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants Amazon Comprehend read access to your input data.

" }, + "Tags":{ + "shape":"TagList", + "documentation":"

Tags to be associated with the entity recognizer being created. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with \"Sales\" as the key might be added to a resource to indicate its use by the sales department.

" + }, "InputDataConfig":{ "shape":"EntityRecognizerInputDataConfig", "documentation":"

Specifies the format and location of the input data. The S3 bucket containing the input data must be located in the same region as the entity recognizer being created.

" @@ -1053,6 +1177,14 @@ "LanguageCode":{ "shape":"LanguageCode", "documentation":"

The language of the input documents. All documents must be in the same language. Only English (\"en\") is currently supported.

" + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your custom entity recognizer. For more information, see Amazon VPC.

" } } }, @@ -1438,6 +1570,14 @@ "DataAccessRoleArn":{ "shape":"IamRoleArn", "documentation":"

The Amazon Resource Name (ARN) of the AWS identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data.

" + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your document classification job. For more information, see Amazon VPC.

" } }, "documentation":"

Provides information about a document classification job.

" @@ -1449,7 +1589,7 @@ "DocumentClassifierArn":{ "type":"string", "max":256, - "pattern":"arn:aws:comprehend:[a-zA-Z0-9-]*:[0-9]{12}:document-classifier/[a-zA-Z0-9](-*[a-zA-Z0-9])*" + "pattern":"arn:aws(-[^:]+)?:comprehend:[a-zA-Z0-9-]*:[0-9]{12}:document-classifier/[a-zA-Z0-9](-*[a-zA-Z0-9])*" }, "DocumentClassifierFilter":{ "type":"structure", @@ -1480,6 +1620,20 @@ }, "documentation":"

The input properties for training a document classifier.

For more information on how the input file is formatted, see how-document-classification-training-data.

" }, + "DocumentClassifierOutputDataConfig":{ + "type":"structure", + "members":{ + "S3Uri":{ + "shape":"S3Uri", + "documentation":"

When you use the OutputDataConfig object while creating a custom classifier, you specify the Amazon S3 location where you want to write the confusion matrix. The URI must be in the same region as the API endpoint that you are calling. The location is used as the prefix for the actual location of this output file.

When the custom classifier job is finished, the service creates the output file in a directory specific to the job. The S3Uri field contains the location of the output file, called output.tar.gz. It is a compressed archive that contains the confusion matrix.

" + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the output results from an analysis job. The KmsKeyId can be one of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

  • KMS Key Alias: \"alias/ExampleAlias\"

  • ARN of a KMS Key Alias: \"arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias\"

" + } + }, + "documentation":"

Provides output results configuration parameters for custom classifier jobs.

" + }, "DocumentClassifierProperties":{ "type":"structure", "members":{ @@ -1493,7 +1647,7 @@ }, "Status":{ "shape":"ModelStatus", - "documentation":"

The status of the document classifier. The the status is TRAINED the classifier is ready to use. If the status is FAILED you can see additional information about why the classifier wasn't trained in the Message field.

" + "documentation":"

The status of the document classifier. If the status is TRAINED the classifier is ready to use. If the status is FAILED you can see additional information about why the classifier wasn't trained in the Message field.

" }, "Message":{ "shape":"AnyLengthString", @@ -1519,6 +1673,10 @@ "shape":"DocumentClassifierInputDataConfig", "documentation":"

The input data configuration that you supplied when you created the document classifier for training.

" }, + "OutputDataConfig":{ + "shape":"DocumentClassifierOutputDataConfig", + "documentation":"

Provides output results configuration parameters for custom classifier jobs.

" + }, "ClassifierMetadata":{ "shape":"ClassifierMetadata", "documentation":"

Information about the document classifier, including the number of documents used for training the classifier, the number of documents used for test the classifier, and an accuracy rating.

" @@ -1526,6 +1684,14 @@ "DataAccessRoleArn":{ "shape":"IamRoleArn", "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants Amazon Comprehend read access to your input data.

" + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your custom classifier. For more information, see Amazon VPC.

" } }, "documentation":"

Provides information about a document classifier.

" @@ -1608,6 +1774,14 @@ "DataAccessRoleArn":{ "shape":"IamRoleArn", "documentation":"

The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input data.

" + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your dominant language detection job. For more information, see Amazon VPC.

" } }, "documentation":"

Provides information about a dominant language detection job.

" @@ -1685,6 +1859,14 @@ "DataAccessRoleArn":{ "shape":"IamRoleArn", "documentation":"

The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input data.

" + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your entity detection job. For more information, see Amazon VPC.

" } }, "documentation":"

Provides information about an entities detection job.

" @@ -1733,7 +1915,7 @@ "EntityRecognizerArn":{ "type":"string", "max":256, - "pattern":"arn:aws:comprehend:[a-zA-Z0-9-]*:[0-9]{12}:entity-recognizer/[a-zA-Z0-9](-*[a-zA-Z0-9])*" + "pattern":"arn:aws(-[^:]+)?:comprehend:[a-zA-Z0-9-]*:[0-9]{12}:entity-recognizer/[a-zA-Z0-9](-*[a-zA-Z0-9])*" }, "EntityRecognizerDocuments":{ "type":"structure", @@ -1901,6 +2083,14 @@ "DataAccessRoleArn":{ "shape":"IamRoleArn", "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants Amazon Comprehend read access to your input data.

" + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your custom entity recognizer. For more information, see Amazon VPC.

" } }, "documentation":"

Describes information about an entity recognizer.

" @@ -2115,6 +2305,14 @@ "DataAccessRoleArn":{ "shape":"IamRoleArn", "documentation":"

The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input data.

" + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your key phrases detection job. For more information, see Amazon VPC.

" } }, "documentation":"

Provides information about a key phrases detection job.

" @@ -2123,6 +2321,18 @@ "type":"list", "member":{"shape":"KeyPhrasesDetectionJobProperties"} }, + "KmsKeyId":{ + "type":"string", + "max":2048 + }, + "KmsKeyValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The KMS customer managed key (CMK) entered cannot be validated. Verify the key and re-enter it.

", + "exception":true + }, "LanguageCode":{ "type":"string", "enum":[ @@ -2380,6 +2590,29 @@ } } }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ComprehendArn", + "documentation":"

The Amazon Resource Name (ARN) of the given Amazon Comprehend resource you are querying.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "ResourceArn":{ + "shape":"ComprehendArn", + "documentation":"

The Amazon Resource Name (ARN) of the given Amazon Comprehend resource you are querying.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Tags associated with the Amazon Comprehend resource being queried. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with \"Sales\" as the key might be added to a resource to indicate its use by the sales department.

" + } + } + }, "ListTopicsDetectionJobsRequest":{ "type":"structure", "members":{ @@ -2421,6 +2654,8 @@ "SUBMITTED", "TRAINING", "DELETING", + "STOP_REQUESTED", + "STOPPED", "IN_ERROR", "TRAINED" ] @@ -2437,6 +2672,10 @@ "S3Uri":{ "shape":"S3Uri", "documentation":"

When you use the OutputDataConfig object with asynchronous operations, you specify the Amazon S3 location where you want to write the output data. The URI must be in the same region as the API endpoint that you are calling. The location is used as the prefix for the actual location of the output file.

When the topic detection job is finished, the service creates an output file in a directory specific to the job. The S3Uri field contains the location of the output file, called output.tar.gz. It is a compressed archive that contains the ouput of the operation.

" + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the output results from an analysis job. The KmsKeyId can be one of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

  • KMS Key Alias: \"alias/ExampleAlias\"

  • ARN of a KMS Key Alias: \"arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias\"

" } }, "documentation":"

Provides configuration parameters for the output of topic detection jobs.

" @@ -2515,6 +2754,18 @@ "max":1024, "pattern":"s3://[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9](/.*)?" }, + "SecurityGroupId":{ + "type":"string", + "max":32, + "min":1, + "pattern":"[-0-9a-zA-Z]+" + }, + "SecurityGroupIds":{ + "type":"list", + "member":{"shape":"SecurityGroupId"}, + "max":5, + "min":1 + }, "SentimentDetectionJobFilter":{ "type":"structure", "members":{ @@ -2579,6 +2830,14 @@ "DataAccessRoleArn":{ "shape":"IamRoleArn", "documentation":"

The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input data.

" + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your sentiment detection job. For more information, see Amazon VPC.

" } }, "documentation":"

Provides information about a sentiment detection job.

" @@ -2651,6 +2910,14 @@ "shape":"ClientRequestTokenString", "documentation":"

A unique identifier for the request. If you do not set the client request token, Amazon Comprehend generates one.

", "idempotencyToken":true + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your document classification job. For more information, see Amazon VPC.

" } } }, @@ -2695,6 +2962,14 @@ "shape":"ClientRequestTokenString", "documentation":"

A unique identifier for the request. If you do not set the client request token, Amazon Comprehend generates one.

", "idempotencyToken":true + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your dominant language detection job. For more information, see Amazon VPC.

" } } }, @@ -2748,6 +3023,14 @@ "shape":"ClientRequestTokenString", "documentation":"

A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.

", "idempotencyToken":true + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your entity detection job. For more information, see Amazon VPC.

" } } }, @@ -2797,6 +3080,14 @@ "shape":"ClientRequestTokenString", "documentation":"

A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.

", "idempotencyToken":true + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your key phrases detection job. For more information, see Amazon VPC.

" } } }, @@ -2846,6 +3137,14 @@ "shape":"ClientRequestTokenString", "documentation":"

A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.

", "idempotencyToken":true + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your sentiment detection job. For more information, see Amazon VPC.

" } } }, @@ -2894,6 +3193,14 @@ "shape":"ClientRequestTokenString", "documentation":"

A unique identifier for the request. If you do not set the client request token, Amazon Comprehend generates one.

", "idempotencyToken":true + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your topic detection job. For more information, see Amazon VPC.

" } } }, @@ -3002,6 +3309,36 @@ } } }, + "StopTrainingDocumentClassifierRequest":{ + "type":"structure", + "required":["DocumentClassifierArn"], + "members":{ + "DocumentClassifierArn":{ + "shape":"DocumentClassifierArn", + "documentation":"

The Amazon Resource Name (ARN) that identifies the document classifier currently being trained.

" + } + } + }, + "StopTrainingDocumentClassifierResponse":{ + "type":"structure", + "members":{ + } + }, + "StopTrainingEntityRecognizerRequest":{ + "type":"structure", + "required":["EntityRecognizerArn"], + "members":{ + "EntityRecognizerArn":{ + "shape":"EntityRecognizerArn", + "documentation":"

The Amazon Resource Name (ARN) that identifies the entity recognizer currently being trained.

" + } + } + }, + "StopTrainingEntityRecognizerResponse":{ + "type":"structure", + "members":{ + } + }, "String":{ "type":"string", "min":1 @@ -3010,6 +3347,18 @@ "type":"list", "member":{"shape":"String"} }, + "SubnetId":{ + "type":"string", + "max":32, + "min":1, + "pattern":"[-0-9a-zA-Z]+" + }, + "Subnets":{ + "type":"list", + "member":{"shape":"SubnetId"}, + "max":16, + "min":1 + }, "SyntaxLanguageCode":{ "type":"string", "enum":[ @@ -3047,6 +3396,61 @@ }, "documentation":"

Represents a work in the input text that was recognized and assigned a part of speech. There is one syntax token record for each word in the source text.

" }, + "Tag":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

The initial part of a key-value pair that forms a tag associated with a given resource. For instance, if you want to show which resources are used by which departments, you might use “Department” as the key portion of the pair, with multiple possible values such as “sales,” “legal,” and “administration.”

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The second part of a key-value pair that forms a tag associated with a given resource. For instance, if you want to show which resources are used by which departments, you might use “Department” as the initial (key) portion of the pair, with a value of “sales” to indicate the sales department.

" + } + }, + "documentation":"

A key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with the key-value pair ‘Department’:’Sales’ might be added to a resource to indicate its use by a particular department.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"ComprehendArn", + "documentation":"

The Amazon Resource Name (ARN) of the given Amazon Comprehend resource to which you want to associate the tags.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Tags being associated with a specific Amazon Comprehend resource. There can be a maximum of 50 tags (both existing and pending) associated with a specific resource.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, "TextSizeLimitExceededException":{ "type":"structure", "members":{ @@ -3064,6 +3468,22 @@ "documentation":"

The number of requests exceeds the limit. Resubmit your request later.

", "exception":true }, + "TooManyTagKeysException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The request contains more tag keys than can be associated with a resource (50 tag keys per resource).

", + "exception":true + }, + "TooManyTagsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The request contains more tags than can be associated with a resource (50 tags per resource). The maximum number of tags includes both existing tags and those included in your current request.

", + "exception":true + }, "TopicsDetectionJobFilter":{ "type":"structure", "members":{ @@ -3124,6 +3544,18 @@ "NumberOfTopics":{ "shape":"Integer", "documentation":"

The number of topics to detect supplied when you created the topic detection job. The default is 10.

" + }, + "DataAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants Amazon Comprehend read access to your job data.

" + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your topic detection job. For more information, see Amazon VPC.

" } }, "documentation":"

Provides information about a topic detection job.

" @@ -3139,6 +3571,46 @@ }, "documentation":"

Amazon Comprehend can't process the language of the input text. For all custom entity recognition APIs (such as CreateEntityRecognizer), only English is accepted. For most other APIs, Amazon Comprehend accepts only English or Spanish text.

", "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"ComprehendArn", + "documentation":"

The Amazon Resource Name (ARN) of the given Amazon Comprehend resource from which you want to remove the tags.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

The initial part of a key-value pair that forms a tag being removed from a given resource. For example, a tag with \"Sales\" as the key might be added to a resource to indicate its use by the sales department. Keys must be unique and cannot be duplicated for a particular resource.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "VpcConfig":{ + "type":"structure", + "required":[ + "SecurityGroupIds", + "Subnets" + ], + "members":{ + "SecurityGroupIds":{ + "shape":"SecurityGroupIds", + "documentation":"

The ID number for a security group on an instance of your private VPC. Security groups on your VPC function serve as a virtual firewall to control inbound and outbound traffic and provides security for the resources that you’ll be accessing on the VPC. This ID number is preceded by \"sg-\", for instance: \"sg-03b388029b0a285ea\". For more information, see Security Groups for your VPC.

" + }, + "Subnets":{ + "shape":"Subnets", + "documentation":"

The ID for each subnet being used in your private VPC. This subnet is a subset of the a range of IPv4 addresses used by the VPC and is specific to a given availability zone in the VPC’s region. This ID number is preceded by \"subnet-\", for instance: \"subnet-04ccf456919e69055\". For more information, see VPCs and Subnets.

" + } + }, + "documentation":"

Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for the job. For For more information, see Amazon VPC.

" } }, "documentation":"

Amazon Comprehend is an AWS service for gaining insight into the content of documents. Use these actions to determine the topics contained in your documents, the topics they discuss, the predominant sentiment expressed in them, the predominant language used, and more.

" diff --git a/bin/botocore/data/config/2014-11-12/paginators-1.json b/bin/botocore/data/config/2014-11-12/paginators-1.json index 7b1f79b1..66701879 100644 --- a/bin/botocore/data/config/2014-11-12/paginators-1.json +++ b/bin/botocore/data/config/2014-11-12/paginators-1.json @@ -35,6 +35,65 @@ "input_token": "nextToken", "output_token": "nextToken", "result_key": "resourceIdentifiers" + }, + "DescribeAggregateComplianceByConfigRules": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "AggregateComplianceByConfigRules" + }, + "DescribeAggregationAuthorizations": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "AggregationAuthorizations" + }, + "DescribeConfigRuleEvaluationStatus": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "ConfigRulesEvaluationStatus" + }, + "DescribeConfigurationAggregatorSourcesStatus": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "AggregatedSourceStatusList" + }, + "DescribeConfigurationAggregators": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "ConfigurationAggregators" + }, + "DescribePendingAggregationRequests": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "PendingAggregationRequests" + }, + "DescribeRetentionConfigurations": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "RetentionConfigurations" + }, + "GetAggregateComplianceDetailsByConfigRule": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "AggregateEvaluationResults" + }, + "ListAggregateDiscoveredResources": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "ResourceIdentifiers" + }, + "DescribeRemediationExecutionStatus": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "RemediationExecutionStatuses" } } } diff --git a/bin/botocore/data/config/2014-11-12/service-2.json b/bin/botocore/data/config/2014-11-12/service-2.json index a4fb67e0..5e570d01 100644 --- a/bin/botocore/data/config/2014-11-12/service-2.json +++ b/bin/botocore/data/config/2014-11-12/service-2.json @@ -129,6 +129,19 @@ ], "documentation":"

Deletes pending authorization requests for a specified aggregator account in a specified region.

" }, + "DeleteRemediationConfiguration":{ + "name":"DeleteRemediationConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRemediationConfigurationRequest"}, + "output":{"shape":"DeleteRemediationConfigurationResponse"}, + "errors":[ + {"shape":"NoSuchRemediationConfigurationException"} + ], + "documentation":"

Deletes the remediation configuration.

" + }, "DeleteRetentionConfiguration":{ "name":"DeleteRetentionConfiguration", "http":{ @@ -260,7 +273,7 @@ {"shape":"InvalidNextTokenException"}, {"shape":"InvalidLimitException"} ], - "documentation":"

Returns status information for sources within an aggregator. The status includes information about the last time AWS Config aggregated data from source accounts or AWS Config failed to aggregate data from source accounts with the related error code or message.

" + "documentation":"

Returns status information for sources within an aggregator. The status includes information about the last time AWS Config verified authorization between the source account and an aggregator account. In case of a failure, the status contains the related error code or message.

" }, "DescribeConfigurationAggregators":{ "name":"DescribeConfigurationAggregators", @@ -345,6 +358,29 @@ ], "documentation":"

Returns a list of all pending aggregation requests.

" }, + "DescribeRemediationConfigurations":{ + "name":"DescribeRemediationConfigurations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeRemediationConfigurationsRequest"}, + "output":{"shape":"DescribeRemediationConfigurationsResponse"}, + "documentation":"

Returns the details of one or more remediation configurations.

" + }, + "DescribeRemediationExecutionStatus":{ + "name":"DescribeRemediationExecutionStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeRemediationExecutionStatusRequest"}, + "output":{"shape":"DescribeRemediationExecutionStatusResponse"}, + "errors":[ + {"shape":"NoSuchRemediationConfigurationException"} + ], + "documentation":"

Provides a detailed view of a Remediation Execution for a set of resources including state, timestamps for when steps for the remediation execution occur, and any error messages for steps that have failed. When you specify the limit and the next token, you receive a paginated response.

" + }, "DescribeRetentionConfigurations":{ "name":"DescribeRetentionConfigurations", "http":{ @@ -539,6 +575,22 @@ ], "documentation":"

Accepts a resource type and returns a list of resource identifiers for the resources of that type. A resource identifier includes the resource type, ID, and (if available) the custom resource name. The results consist of resources that AWS Config has discovered, including those that AWS Config is not currently recording. You can narrow the results to include only resources that have specific resource IDs or a resource name.

You can specify either resource IDs or a resource name, but not both, in the same request.

The response is paginated. By default, AWS Config lists 100 resource identifiers on each page. You can customize this number with the limit parameter. The response includes a nextToken string. To get the next page of results, run the request again and specify the string for the nextToken parameter.

" }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InvalidLimitException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

List the tags for AWS Config resource.

" + }, "PutAggregationAuthorization":{ "name":"PutAggregationAuthorization", "http":{ @@ -566,7 +618,7 @@ {"shape":"InsufficientPermissionsException"}, {"shape":"NoAvailableConfigurationRecorderException"} ], - "documentation":"

Adds or updates an AWS Config rule for evaluating whether your AWS resources comply with your desired configurations.

You can use this action for custom AWS Config rules and AWS managed Config rules. A custom AWS Config rule is a rule that you develop and maintain. An AWS managed Config rule is a customizable, predefined rule that AWS Config provides.

If you are adding a new custom AWS Config rule, you must first create the AWS Lambda function that the rule invokes to evaluate your resources. When you use the PutConfigRule action to add the rule to AWS Config, you must specify the Amazon Resource Name (ARN) that AWS Lambda assigns to the function. Specify the ARN for the SourceIdentifier key. This key is part of the Source object, which is part of the ConfigRule object.

If you are adding an AWS managed Config rule, specify the rule's identifier for the SourceIdentifier key. To reference AWS managed Config rule identifiers, see About AWS Managed Config Rules.

For any new rule that you add, specify the ConfigRuleName in the ConfigRule object. Do not specify the ConfigRuleArn or the ConfigRuleId. These values are generated by AWS Config for new rules.

If you are updating a rule that you added previously, you can specify the rule by ConfigRuleName, ConfigRuleId, or ConfigRuleArn in the ConfigRule data type that you use in this request.

The maximum number of rules that AWS Config supports is 50.

For information about requesting a rule limit increase, see AWS Config Limits in the AWS General Reference Guide.

For more information about developing and using AWS Config rules, see Evaluating AWS Resource Configurations with AWS Config in the AWS Config Developer Guide.

" + "documentation":"

Adds or updates an AWS Config rule for evaluating whether your AWS resources comply with your desired configurations.

You can use this action for custom AWS Config rules and AWS managed Config rules. A custom AWS Config rule is a rule that you develop and maintain. An AWS managed Config rule is a customizable, predefined rule that AWS Config provides.

If you are adding a new custom AWS Config rule, you must first create the AWS Lambda function that the rule invokes to evaluate your resources. When you use the PutConfigRule action to add the rule to AWS Config, you must specify the Amazon Resource Name (ARN) that AWS Lambda assigns to the function. Specify the ARN for the SourceIdentifier key. This key is part of the Source object, which is part of the ConfigRule object.

If you are adding an AWS managed Config rule, specify the rule's identifier for the SourceIdentifier key. To reference AWS managed Config rule identifiers, see About AWS Managed Config Rules.

For any new rule that you add, specify the ConfigRuleName in the ConfigRule object. Do not specify the ConfigRuleArn or the ConfigRuleId. These values are generated by AWS Config for new rules.

If you are updating a rule that you added previously, you can specify the rule by ConfigRuleName, ConfigRuleId, or ConfigRuleArn in the ConfigRule data type that you use in this request.

The maximum number of rules that AWS Config supports is 150.

For information about requesting a rule limit increase, see AWS Config Limits in the AWS General Reference Guide.

For more information about developing and using AWS Config rules, see Evaluating AWS Resource Configurations with AWS Config in the AWS Config Developer Guide.

" }, "PutConfigurationAggregator":{ "name":"PutConfigurationAggregator", @@ -634,6 +686,20 @@ ], "documentation":"

Used by an AWS Lambda function to deliver evaluation results to AWS Config. This action is required in every AWS Lambda function that is invoked by an AWS Config rule.

" }, + "PutRemediationConfigurations":{ + "name":"PutRemediationConfigurations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutRemediationConfigurationsRequest"}, + "output":{"shape":"PutRemediationConfigurationsResponse"}, + "errors":[ + {"shape":"InsufficientPermissionsException"}, + {"shape":"InvalidParameterValueException"} + ], + "documentation":"

Adds or updates the remediation configuration with a specific AWS Config rule with the selected target or action. The API creates the RemediationConfiguration object for the AWS Config rule. The AWS Config rule must already exist for you to add a remediation configuration. The target (SSM document) must exist and have permissions to use the target.

" + }, "PutRetentionConfiguration":{ "name":"PutRetentionConfiguration", "http":{ @@ -648,6 +714,21 @@ ], "documentation":"

Creates and updates the retention configuration with details about retention period (number of days) that AWS Config stores your historical information. The API creates the RetentionConfiguration object and names the object as default. When you have a RetentionConfiguration object named default, calling the API modifies the default object.

Currently, AWS Config supports only one retention configuration per region in your account.

" }, + "SelectResourceConfig":{ + "name":"SelectResourceConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SelectResourceConfigRequest"}, + "output":{"shape":"SelectResourceConfigResponse"}, + "errors":[ + {"shape":"InvalidExpressionException"}, + {"shape":"InvalidLimitException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Accepts a structured query language (SQL) SELECT command, performs the corresponding search, and returns resource configurations matching the properties.

For more information about query components, see the Query Components section in the AWS Config Developer Guide.

" + }, "StartConfigRulesEvaluation":{ "name":"StartConfigRulesEvaluation", "http":{ @@ -677,6 +758,20 @@ ], "documentation":"

Starts recording configurations of the AWS resources you have selected to record in your AWS account.

You must have created at least one delivery channel to successfully start the configuration recorder.

" }, + "StartRemediationExecution":{ + "name":"StartRemediationExecution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartRemediationExecutionRequest"}, + "output":{"shape":"StartRemediationExecutionResponse"}, + "errors":[ + {"shape":"InsufficientPermissionsException"}, + {"shape":"NoSuchRemediationConfigurationException"} + ], + "documentation":"

Runs an on-demand remediation for the specified AWS Config rules against the last known remediation configuration. It runs an execution against the current state of your resources. Remediation execution is asynchronous.

You can specify up to 100 resource keys per request. An existing StartRemediationExecution call for the specified resource keys must complete before you can call the API again.

" + }, "StopConfigurationRecorder":{ "name":"StopConfigurationRecorder", "http":{ @@ -688,6 +783,33 @@ {"shape":"NoSuchConfigurationRecorderException"} ], "documentation":"

Stops recording configurations of the AWS resources you have selected to record in your AWS account.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyTagsException"} + ], + "documentation":"

Associates the specified tags to a resource with the specified resourceArn. If existing tags on a resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags associated with that resource are deleted as well.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Deletes specified tags from a resource.

" } }, "shapes":{ @@ -930,6 +1052,11 @@ "min":1 }, "AllSupported":{"type":"boolean"}, + "AmazonResourceName":{ + "type":"string", + "max":256, + "min":1 + }, "AvailabilityZone":{"type":"string"}, "AwsRegion":{ "type":"string", @@ -1273,7 +1400,7 @@ "documentation":"

Service principal name of the service that created the rule.

The field is populated only if the service linked rule is created by a service. The field is empty if you create your own rule.

" } }, - "documentation":"

An AWS Config rule represents an AWS Lambda function that you create for a custom rule or a predefined function for an AWS managed rule. The function evaluates configuration items to assess whether your AWS resources comply with your desired configurations. This function can run when AWS Config detects a configuration change to an AWS resource and at a periodic frequency that you choose (for example, every 24 hours).

You can use the AWS CLI and AWS SDKs if you want to create a rule that triggers evaluations for your resources when AWS Config delivers the configuration snapshot. For more information, see ConfigSnapshotDeliveryProperties.

For more information about developing and using AWS Config rules, see Evaluating AWS Resource Configurations with AWS Config in the AWS Config Developer Guide.

" + "documentation":"

An AWS Config rule represents an AWS Lambda function that you create for a custom rule or a predefined function for an AWS managed rule. The function evaluates configuration items to assess whether your AWS resources comply with your desired configurations. This function can run when AWS Config detects a configuration change to an AWS resource and at a periodic frequency that you choose (for example, every 24 hours).

You can use the AWS CLI and AWS SDKs if you want to create a rule that triggers evaluations for your resources when AWS Config delivers the configuration snapshot. For more information, see ConfigSnapshotDeliveryProperties.

For more information about developing and using AWS Config rules, see Evaluating AWS Resource Configurations with AWS Config in the AWS Config Developer Guide.

" }, "ConfigRuleComplianceFilters":{ "type":"structure", @@ -1404,14 +1531,14 @@ "documentation":"

The frequency with which AWS Config delivers configuration snapshots.

" } }, - "documentation":"

Provides options for how often AWS Config delivers configuration snapshots to the Amazon S3 bucket in your delivery channel.

If you want to create a rule that triggers evaluations for your resources when AWS Config delivers the configuration snapshot, see the following:

The frequency for a rule that triggers evaluations for your resources when AWS Config delivers the configuration snapshot is set by one of two values, depending on which is less frequent:

  • The value for the deliveryFrequency parameter within the delivery channel configuration, which sets how often AWS Config delivers configuration snapshots. This value also sets how often AWS Config invokes evaluations for AWS Config rules.

  • The value for the MaximumExecutionFrequency parameter, which sets the maximum frequency with which AWS Config invokes evaluations for the rule. For more information, see ConfigRule.

If the deliveryFrequency value is less frequent than the MaximumExecutionFrequency value for a rule, AWS Config invokes the rule only as often as the deliveryFrequency value.

  1. For example, you want your rule to run evaluations when AWS Config delivers the configuration snapshot.

  2. You specify the MaximumExecutionFrequency value for Six_Hours.

  3. You then specify the delivery channel deliveryFrequency value for TwentyFour_Hours.

  4. Because the value for deliveryFrequency is less frequent than MaximumExecutionFrequency, AWS Config invokes evaluations for the rule every 24 hours.

You should set the MaximumExecutionFrequency value to be at least as frequent as the deliveryFrequency value. You can view the deliveryFrequency value by using the DescribeDeliveryChannnels action.

To update the deliveryFrequency with which AWS Config delivers your configuration snapshots, use the PutDeliveryChannel action.

" + "documentation":"

Provides options for how often AWS Config delivers configuration snapshots to the Amazon S3 bucket in your delivery channel.

The frequency for a rule that triggers evaluations for your resources when AWS Config delivers the configuration snapshot is set by one of two values, depending on which is less frequent:

  • The value for the deliveryFrequency parameter within the delivery channel configuration, which sets how often AWS Config delivers configuration snapshots. This value also sets how often AWS Config invokes evaluations for AWS Config rules.

  • The value for the MaximumExecutionFrequency parameter, which sets the maximum frequency with which AWS Config invokes evaluations for the rule. For more information, see ConfigRule.

If the deliveryFrequency value is less frequent than the MaximumExecutionFrequency value for a rule, AWS Config invokes the rule only as often as the deliveryFrequency value.

  1. For example, you want your rule to run evaluations when AWS Config delivers the configuration snapshot.

  2. You specify the MaximumExecutionFrequency value for Six_Hours.

  3. You then specify the delivery channel deliveryFrequency value for TwentyFour_Hours.

  4. Because the value for deliveryFrequency is less frequent than MaximumExecutionFrequency, AWS Config invokes evaluations for the rule every 24 hours.

You should set the MaximumExecutionFrequency value to be at least as frequent as the deliveryFrequency value. You can view the deliveryFrequency value by using the DescribeDeliveryChannnels action.

To update the deliveryFrequency with which AWS Config delivers your configuration snapshots, use the PutDeliveryChannel action.

" }, "ConfigStreamDeliveryInfo":{ "type":"structure", "members":{ "lastStatus":{ "shape":"DeliveryStatus", - "documentation":"

Status of the last attempted delivery.

Note Providing an SNS topic on a DeliveryChannel for AWS Config is optional. If the SNS delivery is turned off, the last status will be Not_Applicable.

" + "documentation":"

Status of the last attempted delivery.

Note Providing an SNS topic on a DeliveryChannel for AWS Config is optional. If the SNS delivery is turned off, the last status will be Not_Applicable.

" }, "lastErrorCode":{ "shape":"String", @@ -1508,7 +1635,7 @@ }, "arn":{ "shape":"ARN", - "documentation":"

The Amazon Resource Name (ARN) of the resource.

" + "documentation":"

accoun

" }, "resourceType":{ "shape":"ResourceType", @@ -1540,7 +1667,7 @@ }, "relatedEvents":{ "shape":"RelatedEventList", - "documentation":"

A list of CloudTrail event IDs.

A populated field indicates that the current configuration was initiated by the events recorded in the CloudTrail log. For more information about CloudTrail, see What Is AWS CloudTrail.

An empty field indicates that the current configuration was not initiated by any event.

" + "documentation":"

A list of CloudTrail event IDs.

A populated field indicates that the current configuration was initiated by the events recorded in the CloudTrail log. For more information about CloudTrail, see What Is AWS CloudTrail.

An empty field indicates that the current configuration was not initiated by any event.

" }, "relationships":{ "shape":"RelationshipList", @@ -1737,6 +1864,25 @@ } } }, + "DeleteRemediationConfigurationRequest":{ + "type":"structure", + "required":["ConfigRuleName"], + "members":{ + "ConfigRuleName":{ + "shape":"StringWithCharLimit64", + "documentation":"

The name of the AWS Config rule for which you want to delete remediation configuration.

" + }, + "ResourceType":{ + "shape":"String", + "documentation":"

The type of a resource.

" + } + } + }, + "DeleteRemediationConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteRetentionConfigurationRequest":{ "type":"structure", "required":["RetentionConfigurationName"], @@ -1777,7 +1923,7 @@ }, "s3BucketName":{ "shape":"String", - "documentation":"

The name of the Amazon S3 bucket to which AWS Config delivers configuration snapshots and configuration history files.

If you specify a bucket that belongs to another AWS account, that bucket must have policies that grant access permissions to AWS Config. For more information, see Permissions for the Amazon S3 Bucket in the AWS Config Developer Guide.

" + "documentation":"

The name of the Amazon S3 bucket to which AWS Config delivers configuration snapshots and configuration history files.

If you specify a bucket that belongs to another AWS account, that bucket must have policies that grant access permissions to AWS Config. For more information, see Permissions for the Amazon S3 Bucket in the AWS Config Developer Guide.

" }, "s3KeyPrefix":{ "shape":"String", @@ -1785,7 +1931,7 @@ }, "snsTopicARN":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to which AWS Config sends notifications about configuration changes.

If you choose a topic from another account, the topic must have policies that grant access permissions to AWS Config. For more information, see Permissions for the Amazon SNS Topic in the AWS Config Developer Guide.

" + "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to which AWS Config sends notifications about configuration changes.

If you choose a topic from another account, the topic must have policies that grant access permissions to AWS Config. For more information, see Permissions for the Amazon SNS Topic in the AWS Config Developer Guide.

" }, "configSnapshotDeliveryProperties":{ "shape":"ConfigSnapshotDeliveryProperties", @@ -1906,7 +2052,7 @@ }, "ComplianceTypes":{ "shape":"ComplianceTypes", - "documentation":"

Filters the results by compliance.

The allowed values are COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA.

" + "documentation":"

Filters the results by compliance.

The allowed values are COMPLIANT and NON_COMPLIANT.

" }, "NextToken":{ "shape":"String", @@ -1942,7 +2088,7 @@ }, "ComplianceTypes":{ "shape":"ComplianceTypes", - "documentation":"

Filters the results by compliance.

The allowed values are COMPLIANT and NON_COMPLIANT.

" + "documentation":"

Filters the results by compliance.

The allowed values are COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA.

" }, "Limit":{ "shape":"Limit", @@ -1982,7 +2128,7 @@ }, "Limit":{ "shape":"RuleLimit", - "documentation":"

The number of rule evaluation results that you want returned.

This parameter is required if the rule limit for your account is more than the default of 50 rules.

For information about requesting a rule limit increase, see AWS Config Limits in the AWS General Reference Guide.

" + "documentation":"

The number of rule evaluation results that you want returned.

This parameter is required if the rule limit for your account is more than the default of 150 rules.

For information about requesting a rule limit increase, see AWS Config Limits in the AWS General Reference Guide.

" } }, "documentation":"

" @@ -2205,6 +2351,60 @@ } } }, + "DescribeRemediationConfigurationsRequest":{ + "type":"structure", + "required":["ConfigRuleNames"], + "members":{ + "ConfigRuleNames":{ + "shape":"ConfigRuleNames", + "documentation":"

A list of AWS Config rule names of remediation configurations for which you want details.

" + } + } + }, + "DescribeRemediationConfigurationsResponse":{ + "type":"structure", + "members":{ + "RemediationConfigurations":{ + "shape":"RemediationConfigurations", + "documentation":"

Returns a remediation configuration object.

" + } + } + }, + "DescribeRemediationExecutionStatusRequest":{ + "type":"structure", + "required":["ConfigRuleName"], + "members":{ + "ConfigRuleName":{ + "shape":"StringWithCharLimit64", + "documentation":"

A list of AWS Config rule names.

" + }, + "ResourceKeys":{ + "shape":"ResourceKeys", + "documentation":"

A list of resource keys to be processed with the current request. Each element in the list consists of the resource type and resource ID.

" + }, + "Limit":{ + "shape":"Limit", + "documentation":"

The maximum number of RemediationExecutionStatuses returned on each page. The default is maximum. If you specify 0, AWS Config uses the default.

" + }, + "NextToken":{ + "shape":"StringWithCharLimit256", + "documentation":"

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

" + } + } + }, + "DescribeRemediationExecutionStatusResponse":{ + "type":"structure", + "members":{ + "RemediationExecutionStatuses":{ + "shape":"RemediationExecutionStatuses", + "documentation":"

Returns a list of remediation execution statuses objects.

" + }, + "NextToken":{ + "shape":"StringWithCharLimit256", + "documentation":"

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

" + } + } + }, "DescribeRetentionConfigurationsRequest":{ "type":"structure", "members":{ @@ -2349,6 +2549,44 @@ "type":"string", "enum":["aws.config"] }, + "Expression":{ + "type":"string", + "max":4096, + "min":1 + }, + "FailedRemediationBatch":{ + "type":"structure", + "members":{ + "FailureMessage":{ + "shape":"String", + "documentation":"

Returns a failure message. For example, the resource is already compliant.

" + }, + "FailedItems":{ + "shape":"RemediationConfigurations", + "documentation":"

Returns remediation configurations of the failed items.

" + } + }, + "documentation":"

List of each of the failed remediations with specific reasons.

" + }, + "FailedRemediationBatches":{ + "type":"list", + "member":{"shape":"FailedRemediationBatch"} + }, + "FieldInfo":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"FieldName", + "documentation":"

Name of the field.

" + } + }, + "documentation":"

Details about the fields such as name of the field.

" + }, + "FieldInfoList":{ + "type":"list", + "member":{"shape":"FieldInfo"} + }, + "FieldName":{"type":"string"}, "GetAggregateComplianceDetailsByConfigRuleRequest":{ "type":"structure", "required":[ @@ -2768,6 +3006,13 @@ "documentation":"

The specified delivery channel name is not valid.

", "exception":true }, + "InvalidExpressionException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The syntax of the query is incorrect.

", + "exception":true + }, "InvalidLimitException":{ "type":"structure", "members":{ @@ -2938,12 +3183,43 @@ }, "documentation":"

" }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator and AggregatorAuthorization.

" + }, + "Limit":{ + "shape":"Limit", + "documentation":"

The maximum number of tags returned on each page. The limit maximum is 50. You cannot specify a number greater than 50. If you specify 0, AWS Config uses the default.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

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

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

The tags for the resource.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

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

" + } + } + }, "Long":{"type":"long"}, "MaxNumberOfConfigRulesExceededException":{ "type":"structure", "members":{ }, - "documentation":"

Failed to add the AWS Config rule because the account already contains the maximum number of 50 rules. Consider deleting any deactivated rules before you add new rules.

", + "documentation":"

Failed to add the AWS Config rule because the account already contains the maximum number of 150 rules. Consider deleting any deactivated rules before you add new rules.

", "exception":true }, "MaxNumberOfConfigurationRecordersExceededException":{ @@ -3051,6 +3327,13 @@ "documentation":"

You have specified a delivery channel that does not exist.

", "exception":true }, + "NoSuchRemediationConfigurationException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You specified an AWS Config rule without a remediation configuration.

", + "exception":true + }, "NoSuchRetentionConfigurationException":{ "type":"structure", "members":{ @@ -3072,7 +3355,7 @@ "members":{ "RoleArn":{ "shape":"String", - "documentation":"

ARN of the IAM role used to retreive AWS Organization details associated with the aggregator account.

" + "documentation":"

ARN of the IAM role used to retrieve AWS Organization details associated with the aggregator account.

" }, "AwsRegions":{ "shape":"AggregatorRegionList", @@ -3083,7 +3366,7 @@ "documentation":"

If true, aggregate existing AWS Config regions and future regions.

" } }, - "documentation":"

This object contains regions to setup the aggregator and an IAM role to retrieve organization details.

" + "documentation":"

This object contains regions to set up the aggregator and an IAM role to retrieve organization details.

" }, "OrganizationAllFeaturesNotEnabledException":{ "type":"structure", @@ -3138,7 +3421,8 @@ "AuthorizedAwsRegion":{ "shape":"AwsRegion", "documentation":"

The region authorized to collect aggregated data.

" - } + }, + "Tags":{"shape":"TagsList"} } }, "PutAggregationAuthorizationResponse":{ @@ -3157,7 +3441,8 @@ "ConfigRule":{ "shape":"ConfigRule", "documentation":"

The rule that you want to add to your account.

" - } + }, + "Tags":{"shape":"TagsList"} } }, "PutConfigurationAggregatorRequest":{ @@ -3175,7 +3460,8 @@ "OrganizationAggregationSource":{ "shape":"OrganizationAggregationSource", "documentation":"

An OrganizationAggregationSource object.

" - } + }, + "Tags":{"shape":"TagsList"} } }, "PutConfigurationAggregatorResponse":{ @@ -3238,6 +3524,25 @@ }, "documentation":"

" }, + "PutRemediationConfigurationsRequest":{ + "type":"structure", + "required":["RemediationConfigurations"], + "members":{ + "RemediationConfigurations":{ + "shape":"RemediationConfigurations", + "documentation":"

A list of remediation configuration objects.

" + } + } + }, + "PutRemediationConfigurationsResponse":{ + "type":"structure", + "members":{ + "FailedBatches":{ + "shape":"FailedRemediationBatches", + "documentation":"

Returns a list of failed remediation batch objects.

" + } + } + }, "PutRetentionConfigurationRequest":{ "type":"structure", "required":["RetentionPeriodInDays"], @@ -3257,6 +3562,16 @@ } } }, + "QueryInfo":{ + "type":"structure", + "members":{ + "SelectFields":{ + "shape":"FieldInfoList", + "documentation":"

Returns a FieldInfo object.

" + } + }, + "documentation":"

Details about the query.

" + }, "RecorderName":{ "type":"string", "max":256, @@ -3283,10 +3598,10 @@ }, "resourceTypes":{ "shape":"ResourceTypeList", - "documentation":"

A comma-separated list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, AWS::EC2::Instance or AWS::CloudTrail::Trail).

Before you can set this option to true, you must set the allSupported option to false.

If you set this option to true, when AWS Config adds support for a new type of resource, it will not record resources of that type unless you manually add that type to your recording group.

For a list of valid resourceTypes values, see the resourceType Value column in Supported AWS Resource Types.

" + "documentation":"

A comma-separated list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, AWS::EC2::Instance or AWS::CloudTrail::Trail).

Before you can set this option to true, you must set the allSupported option to false.

If you set this option to true, when AWS Config adds support for a new type of resource, it will not record resources of that type unless you manually add that type to your recording group.

For a list of valid resourceTypes values, see the resourceType Value column in Supported AWS Resource Types.

" } }, - "documentation":"

Specifies the types of AWS resource for which AWS Config records configuration changes.

In the recording group, you specify whether all supported types or specific types of resources are recorded.

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

You can also have AWS Config record configuration changes for supported types of global resources (for example, IAM resources). Global resources are not tied to an individual region and can be used in all regions.

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

If you don't want AWS Config to record all resources, you can specify which types of resources it will record with the resourceTypes parameter.

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

For more information, see Selecting Which Resources AWS Config Records.

" + "documentation":"

Specifies the types of AWS resource for which AWS Config records configuration changes.

In the recording group, you specify whether all supported types or specific types of resources are recorded.

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

You can also have AWS Config record configuration changes for supported types of global resources (for example, IAM resources). Global resources are not tied to an individual region and can be used in all regions.

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

If you don't want AWS Config to record all resources, you can specify which types of resources it will record with the resourceTypes parameter.

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

For more information, see Selecting Which Resources AWS Config Records.

" }, "ReevaluateConfigRuleNames":{ "type":"list", @@ -3326,6 +3641,146 @@ "member":{"shape":"Relationship"} }, "RelationshipName":{"type":"string"}, + "RemediationConfiguration":{ + "type":"structure", + "required":[ + "ConfigRuleName", + "TargetType", + "TargetId" + ], + "members":{ + "ConfigRuleName":{ + "shape":"StringWithCharLimit64", + "documentation":"

The name of the AWS Config rule.

" + }, + "TargetType":{ + "shape":"RemediationTargetType", + "documentation":"

The type of the target. Target executes remediation. For example, SSM document.

" + }, + "TargetId":{ + "shape":"StringWithCharLimit256", + "documentation":"

Target ID is the name of the public document.

" + }, + "TargetVersion":{ + "shape":"String", + "documentation":"

Version of the target. For example, version of the SSM document.

" + }, + "Parameters":{ + "shape":"RemediationParameters", + "documentation":"

An object of the RemediationParameterValue.

" + }, + "ResourceType":{ + "shape":"String", + "documentation":"

The type of a resource.

" + } + }, + "documentation":"

An object that represents the details about the remediation configuration that includes the remediation action, parameters, and data to execute the action.

" + }, + "RemediationConfigurations":{ + "type":"list", + "member":{"shape":"RemediationConfiguration"}, + "max":25, + "min":0 + }, + "RemediationExecutionState":{ + "type":"string", + "enum":[ + "QUEUED", + "IN_PROGRESS", + "SUCCEEDED", + "FAILED" + ] + }, + "RemediationExecutionStatus":{ + "type":"structure", + "members":{ + "ResourceKey":{"shape":"ResourceKey"}, + "State":{ + "shape":"RemediationExecutionState", + "documentation":"

ENUM of the values.

" + }, + "StepDetails":{ + "shape":"RemediationExecutionSteps", + "documentation":"

Details of every step.

" + }, + "InvocationTime":{ + "shape":"Date", + "documentation":"

Start time when the remediation was executed.

" + }, + "LastUpdatedTime":{ + "shape":"Date", + "documentation":"

The time when the remediation execution was last updated.

" + } + }, + "documentation":"

Provides details of the current status of the invoked remediation action for that resource.

" + }, + "RemediationExecutionStatuses":{ + "type":"list", + "member":{"shape":"RemediationExecutionStatus"} + }, + "RemediationExecutionStep":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The details of the step.

" + }, + "State":{ + "shape":"RemediationExecutionStepState", + "documentation":"

The valid status of the step.

" + }, + "ErrorMessage":{ + "shape":"String", + "documentation":"

An error message if the step was interrupted during execution.

" + }, + "StartTime":{ + "shape":"Date", + "documentation":"

The time when the step started.

" + }, + "StopTime":{ + "shape":"Date", + "documentation":"

The time when the step stopped.

" + } + }, + "documentation":"

Name of the step from the SSM document.

" + }, + "RemediationExecutionStepState":{ + "type":"string", + "enum":[ + "SUCCEEDED", + "PENDING", + "FAILED" + ] + }, + "RemediationExecutionSteps":{ + "type":"list", + "member":{"shape":"RemediationExecutionStep"} + }, + "RemediationParameterValue":{ + "type":"structure", + "members":{ + "ResourceValue":{ + "shape":"ResourceValue", + "documentation":"

The value is dynamic and changes at run-time.

" + }, + "StaticValue":{ + "shape":"StaticValue", + "documentation":"

The value is static and does not change at run-time.

" + } + }, + "documentation":"

The value is either a dynamic (resource) value or a static value. You must select either a dynamic value or a static value.

" + }, + "RemediationParameters":{ + "type":"map", + "key":{"shape":"StringWithCharLimit256"}, + "value":{"shape":"RemediationParameterValue"}, + "max":25, + "min":0 + }, + "RemediationTargetType":{ + "type":"string", + "enum":["SSM_DOCUMENT"] + }, "ResourceCount":{ "type":"structure", "members":{ @@ -3474,6 +3929,13 @@ "documentation":"

You have specified a resource that is either unknown or has not been discovered.

", "exception":true }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You have specified a resource that does not exist.

", + "exception":true + }, "ResourceType":{ "type":"string", "enum":[ @@ -3553,6 +4015,24 @@ "max":20, "min":0 }, + "ResourceValue":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"ResourceValueType", + "documentation":"

The value is a resource ID.

" + } + }, + "documentation":"

The dynamic value of the resource.

" + }, + "ResourceValueType":{ + "type":"string", + "enum":["RESOURCE_ID"] + }, + "Results":{ + "type":"list", + "member":{"shape":"String"} + }, "RetentionConfiguration":{ "type":"structure", "required":[ @@ -3619,6 +4099,41 @@ }, "documentation":"

Defines which resources trigger an evaluation for an AWS Config rule. The scope can include one or more resource types, a combination of a tag key and value, or a combination of one resource type and one resource ID. Specify a scope to constrain which resources trigger an evaluation for a rule. Otherwise, evaluations for the rule are triggered when any resource in your recording group changes in configuration.

" }, + "SelectResourceConfigRequest":{ + "type":"structure", + "required":["Expression"], + "members":{ + "Expression":{ + "shape":"Expression", + "documentation":"

The SQL query SELECT command.

" + }, + "Limit":{ + "shape":"Limit", + "documentation":"

The maximum number of query results returned on each page.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

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

" + } + } + }, + "SelectResourceConfigResponse":{ + "type":"structure", + "members":{ + "Results":{ + "shape":"Results", + "documentation":"

Returns the results for the SQL query.

" + }, + "QueryInfo":{ + "shape":"QueryInfo", + "documentation":"

Returns the QueryInfo object.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

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

" + } + } + }, "Source":{ "type":"structure", "required":[ @@ -3632,7 +4147,7 @@ }, "SourceIdentifier":{ "shape":"StringWithCharLimit256", - "documentation":"

For AWS Config managed rules, a predefined identifier from a list. For example, IAM_PASSWORD_POLICY is a managed rule. To reference a managed rule, see Using AWS Managed Config Rules.

For custom rules, the identifier is the Amazon Resource Name (ARN) of the rule's AWS Lambda function, such as arn:aws:lambda:us-east-2:123456789012:function:custom_rule_name.

" + "documentation":"

For AWS Config managed rules, a predefined identifier from a list. For example, IAM_PASSWORD_POLICY is a managed rule. To reference a managed rule, see Using AWS Managed Config Rules.

For custom rules, the identifier is the Amazon Resource Name (ARN) of the rule's AWS Lambda function, such as arn:aws:lambda:us-east-2:123456789012:function:custom_rule_name.

" }, "SourceDetails":{ "shape":"SourceDetails", @@ -3692,6 +4207,52 @@ }, "documentation":"

The input for the StartConfigurationRecorder action.

" }, + "StartRemediationExecutionRequest":{ + "type":"structure", + "required":[ + "ConfigRuleName", + "ResourceKeys" + ], + "members":{ + "ConfigRuleName":{ + "shape":"StringWithCharLimit64", + "documentation":"

The list of names of AWS Config rules that you want to run remediation execution for.

" + }, + "ResourceKeys":{ + "shape":"ResourceKeys", + "documentation":"

A list of resource keys to be processed with the current request. Each element in the list consists of the resource type and resource ID.

" + } + } + }, + "StartRemediationExecutionResponse":{ + "type":"structure", + "members":{ + "FailureMessage":{ + "shape":"String", + "documentation":"

Returns a failure message. For example, the resource is already compliant.

" + }, + "FailedItems":{ + "shape":"ResourceKeys", + "documentation":"

For resources that have failed to start execution, the API returns a resource key object.

" + } + } + }, + "StaticParameterValues":{ + "type":"list", + "member":{"shape":"StringWithCharLimit256"}, + "max":25, + "min":0 + }, + "StaticValue":{ + "type":"structure", + "members":{ + "Values":{ + "shape":"StaticParameterValues", + "documentation":"

A list of values. For example, the ARN of the assumed role.

" + } + }, + "documentation":"

The static value of the resource.

" + }, "StopConfigurationRecorderRequest":{ "type":"structure", "required":["ConfigurationRecorderName"], @@ -3731,15 +4292,98 @@ }, "SupplementaryConfigurationName":{"type":"string"}, "SupplementaryConfigurationValue":{"type":"string"}, + "Tag":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).

" + } + }, + "documentation":"

The tags for the resource. The metadata that you apply to a resource to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator and AggregatorAuthorization.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

An array of tag object.

" + } + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, "Tags":{ "type":"map", "key":{"shape":"Name"}, "value":{"shape":"Value"} }, + "TagsList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50, + "min":0 + }, + "TooManyTagsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You have reached the limit of the number of tags you can use. You have more than 50 tags.

", + "exception":true + }, "UnprocessedResourceIdentifierList":{ "type":"list", "member":{"shape":"AggregateResourceIdentifier"} }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator and AggregatorAuthorization.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

The keys of the tags to be removed.

" + } + } + }, "ValidationException":{ "type":"structure", "members":{ @@ -3750,5 +4394,5 @@ "Value":{"type":"string"}, "Version":{"type":"string"} }, - "documentation":"AWS Config

AWS Config provides a way to keep track of the configurations of all the AWS resources associated with your AWS account. You can use AWS Config to get the current and historical configurations of each AWS resource and also to get information about the relationship between the resources. An AWS resource can be an Amazon Compute Cloud (Amazon EC2) instance, an Elastic Block Store (EBS) volume, an elastic network Interface (ENI), or a security group. For a complete list of resources currently supported by AWS Config, see Supported AWS Resources.

You can access and manage AWS Config through the AWS Management Console, the AWS Command Line Interface (AWS CLI), the AWS Config API, or the AWS SDKs for AWS Config. This reference guide contains documentation for the AWS Config API and the AWS CLI commands that you can use to manage AWS Config. The AWS Config API uses the Signature Version 4 protocol for signing requests. For more information about how to sign a request with this protocol, see Signature Version 4 Signing Process. For detailed information about AWS Config features and their associated actions or commands, as well as how to work with AWS Management Console, see What Is AWS Config in the AWS Config Developer Guide.

" + "documentation":"AWS Config

AWS Config provides a way to keep track of the configurations of all the AWS resources associated with your AWS account. You can use AWS Config to get the current and historical configurations of each AWS resource and also to get information about the relationship between the resources. An AWS resource can be an Amazon Compute Cloud (Amazon EC2) instance, an Elastic Block Store (EBS) volume, an elastic network Interface (ENI), or a security group. For a complete list of resources currently supported by AWS Config, see Supported AWS Resources.

You can access and manage AWS Config through the AWS Management Console, the AWS Command Line Interface (AWS CLI), the AWS Config API, or the AWS SDKs for AWS Config. This reference guide contains documentation for the AWS Config API and the AWS CLI commands that you can use to manage AWS Config. The AWS Config API uses the Signature Version 4 protocol for signing requests. For more information about how to sign a request with this protocol, see Signature Version 4 Signing Process. For detailed information about AWS Config features and their associated actions or commands, as well as how to work with AWS Management Console, see What Is AWS Config in the AWS Config Developer Guide.

" } diff --git a/bin/botocore/data/connect/2017-08-08/paginators-1.json b/bin/botocore/data/connect/2017-08-08/paginators-1.json index ea142457..dd013eed 100644 --- a/bin/botocore/data/connect/2017-08-08/paginators-1.json +++ b/bin/botocore/data/connect/2017-08-08/paginators-1.json @@ -1,3 +1,34 @@ { - "pagination": {} + "pagination": { + "GetMetricData": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "MetricResults" + }, + "ListRoutingProfiles": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "RoutingProfileSummaryList" + }, + "ListSecurityProfiles": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "SecurityProfileSummaryList" + }, + "ListUserHierarchyGroups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "UserHierarchyGroupSummaryList" + }, + "ListUsers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "UserSummaryList" + } + } } diff --git a/bin/botocore/data/connect/2017-08-08/service-2.json b/bin/botocore/data/connect/2017-08-08/service-2.json index 6b1dc60d..f6add145 100644 --- a/bin/botocore/data/connect/2017-08-08/service-2.json +++ b/bin/botocore/data/connect/2017-08-08/service-2.json @@ -99,6 +99,21 @@ ], "documentation":"

Returns a HiearchyGroupStructure object, which contains data about the levels in the agent hierarchy.

" }, + "GetContactAttributes":{ + "name":"GetContactAttributes", + "http":{ + "method":"GET", + "requestUri":"/contact/attributes/{InstanceId}/{InitialContactId}" + }, + "input":{"shape":"GetContactAttributesRequest"}, + "output":{"shape":"GetContactAttributesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Retrieves the contact attributes associated with a contact.

" + }, "GetCurrentMetricData":{ "name":"GetCurrentMetricData", "http":{ @@ -236,7 +251,7 @@ {"shape":"DestinationNotAllowedException"}, {"shape":"OutboundContactNotPermittedException"} ], - "documentation":"

The StartOutboundVoiceContact operation initiates a contact flow to place an outbound call to a customer.

If you are using an IAM account, it must have permission to the connect:StartOutboundVoiceContact action.

" + "documentation":"

The StartOutboundVoiceContact operation initiates a contact flow to place an outbound call to a customer.

If you are using an IAM account, it must have permission to the connect:StartOutboundVoiceContact action.

There is a 60 second dialing timeout for this operation. If the call is not connected after 60 seconds, the call fails.

" }, "StopContact":{ "name":"StopContact", @@ -440,7 +455,7 @@ "members":{ "Username":{ "shape":"AgentUsername", - "documentation":"

The user name in Amazon Connect for the account to create.

" + "documentation":"

The user name in Amazon Connect for the account to create. If you are using SAML for identity management in your Amazon Connect, the value for Username can include up to 64 characters from [a-zA-Z0-9_-.\\@]+.

" }, "Password":{ "shape":"Password", @@ -452,11 +467,11 @@ }, "PhoneConfig":{ "shape":"UserPhoneConfig", - "documentation":"

Specifies the phone settings for the user, including AfterContactWorkTimeLimit, AutoAccept, DeskPhoneNumber, and PhoneType.

" + "documentation":"

Specifies the phone settings for the user, including AfterContactWorkTimeLimit, AutoAccept, DeskPhoneNumber, and PhoneType.

" }, "DirectoryUserId":{ "shape":"DirectoryUserId", - "documentation":"

The unique identifier for the user account in the directory service directory used for identity management. If Amazon Connect is unable to access the existing directory, you can use the DirectoryUserId to authenticate users. If you include the parameter, it is assumed that Amazon Connect cannot access the directory. If the parameter is not included, the UserIdentityInfo is used to authenticate users from your existing directory.

This parameter is required if you are using an existing directory for identity management in Amazon Connect when Amazon Connect cannot access your directory to authenticate users. If you are using SAML for identity management and include this parameter, an InvalidRequestException is returned.

" + "documentation":"

The unique identifier for the user account in the directory service directory used for identity management. If Amazon Connect is unable to access the existing directory, you can use the DirectoryUserId to authenticate users. If you include the parameter, it is assumed that Amazon Connect cannot access the directory. If the parameter is not included, the UserIdentityInfo is used to authenticate users from your existing directory.

This parameter is required if you are using an existing directory for identity management in Amazon Connect when Amazon Connect cannot access your directory to authenticate users. If you are using SAML for identity management and include this parameter, an InvalidRequestException is returned.

" }, "SecurityProfileIds":{ "shape":"SecurityProfileIds", @@ -737,6 +752,36 @@ }, "documentation":"

The filter, either channel or queues, to apply to the metric results retrieved.

" }, + "GetContactAttributesRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "InitialContactId" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The instance ID for the instance from which to retrieve contact attributes.

", + "location":"uri", + "locationName":"InstanceId" + }, + "InitialContactId":{ + "shape":"ContactId", + "documentation":"

The ID for the initial contact in Amazon Connect associated with the attributes to update.

", + "location":"uri", + "locationName":"InitialContactId" + } + } + }, + "GetContactAttributesResponse":{ + "type":"structure", + "members":{ + "Attributes":{ + "shape":"Attributes", + "documentation":"

The attributes to update.

" + } + } + }, "GetCurrentMetricDataRequest":{ "type":"structure", "required":[ @@ -757,11 +802,11 @@ }, "Groupings":{ "shape":"Groupings", - "documentation":"

The grouping applied to the metrics returned. For example, when grouped by QUEUE, the metrics returned apply to each queue rather than aggregated for all queues. If you group by CHANNEL, you should include a Channels filter. The only supported channel is VOICE.

If no Grouping is included in the request, a summary of CurrentMetrics is returned.

" + "documentation":"

The grouping applied to the metrics returned. For example, when grouped by QUEUE, the metrics returned apply to each queue rather than aggregated for all queues. If you group by CHANNEL, you should include a Channels filter. The only supported channel is VOICE.

If no Grouping is included in the request, a summary of CurrentMetrics is returned.

" }, "CurrentMetrics":{ "shape":"CurrentMetrics", - "documentation":"

A list of CurrentMetric objects for the metrics to retrieve. Each CurrentMetric includes a name of a metric to retrieve and the unit to use for it.

The following metrics are available:

AGENTS_AVAILABLE

Unit: COUNT

AGENTS_ONLINE

Unit: COUNT

AGENTS_ON_CALL

Unit: COUNT

AGENTS_STAFFED

Unit: COUNT

AGENTS_AFTER_CONTACT_WORK

Unit: COUNT

AGENTS_NON_PRODUCTIVE

Unit: COUNT

AGENTS_ERROR

Unit: COUNT

CONTACTS_IN_QUEUE

Unit: COUNT

OLDEST_CONTACT_AGE

Unit: SECONDS

CONTACTS_SCHEDULED

Unit: COUNT

" + "documentation":"

A list of CurrentMetric objects for the metrics to retrieve. Each CurrentMetric includes a name of a metric to retrieve and the unit to use for it. You must list each metric to retrieve data for in the request.

The following metrics are available:

AGENTS_AVAILABLE

Unit: COUNT

AGENTS_ONLINE

Unit: COUNT

AGENTS_ON_CALL

Unit: COUNT

AGENTS_STAFFED

Unit: COUNT

AGENTS_AFTER_CONTACT_WORK

Unit: COUNT

AGENTS_NON_PRODUCTIVE

Unit: COUNT

AGENTS_ERROR

Unit: COUNT

CONTACTS_IN_QUEUE

Unit: COUNT

OLDEST_CONTACT_AGE

Unit: SECONDS

CONTACTS_SCHEDULED

Unit: COUNT

" }, "NextToken":{ "shape":"NextToken", @@ -846,7 +891,7 @@ }, "HistoricalMetrics":{ "shape":"HistoricalMetrics", - "documentation":"

A list of HistoricalMetric objects that contain the metrics to retrieve with the request.

A HistoricalMetric object contains: HistoricalMetricName, Statistic, Threshold, and Unit.

For each historical metric you include in the request, you must include a Unit and a Statistic.

The following historical metrics are available:

CONTACTS_QUEUED

Unit: COUNT

Statistic: SUM

CONTACTS_HANDLED

Unit: COUNT

Statistics: SUM

CONTACTS_ABANDONED

Unit: COUNT

Statistics: SUM

CONTACTS_CONSULTED

Unit: COUNT

Statistics: SUM

CONTACTS_AGENT_HUNG_UP_FIRST

Unit: COUNT

Statistics: SUM

CONTACTS_HANDLED_INCOMING

Unit: COUNT

Statistics: SUM

CONTACTS_HANDLED_OUTBOUND

Unit: COUNT

Statistics: SUM

CONTACTS_HOLD_ABANDONS

Unit: COUNT

Statistics: SUM

CONTACTS_TRANSFERRED_IN

Unit: COUNT

Statistics: SUM

CONTACTS_TRANSFERRED_OUT

Unit: COUNT

Statistics: SUM

CONTACTS_TRANSFERRED_IN_FROM_QUEUE

Unit: COUNT

Statistics: SUM

CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

Unit: COUNT

Statistics: SUM

CALLBACK_CONTACTS_HANDLED

Unit: COUNT

Statistics: SUM

CALLBACK_CONTACTS_HANDLED

Unit: COUNT

Statistics: SUM

API_CONTACTS_HANDLED

Unit: COUNT

Statistics: SUM

CONTACTS_MISSED

Unit: COUNT

Statistics: SUM

OCCUPANCY

Unit: PERCENT

Statistics: AVG

HANDLE_TIME

Unit: SECONDS

Statistics: AVG

AFTER_CONTACT_WORK_TIME

Unit: SECONDS

Statistics: AVG

QUEUED_TIME

Unit: SECONDS

Statistics: MAX

ABANDON_TIME

Unit: COUNT

Statistics: SUM

QUEUE_ANSWER_TIME

Unit: SECONDS

Statistics: AVG

HOLD_TIME

Unit: SECONDS

Statistics: AVG

INTERACTION_TIME

Unit: SECONDS

Statistics: AVG

INTERACTION_AND_HOLD_TIME

Unit: SECONDS

Statistics: AVG

SERVICE_LEVEL

Unit: PERCENT

Statistics: AVG

Threshold: Only \"Less than\" comparisons are supported, with the following service level thresholds: 15, 20, 25, 30, 45, 60, 90, 120, 180, 240, 300, 600

" + "documentation":"

A list of HistoricalMetric objects that contain the metrics to retrieve with the request.

A HistoricalMetric object contains: HistoricalMetricName, Statistic, Threshold, and Unit.

You must list each metric to retrieve data for in the request. For each historical metric you include in the request, you must include a Unit and a Statistic.

The following historical metrics are available:

CONTACTS_QUEUED

Unit: COUNT

Statistic: SUM

CONTACTS_HANDLED

Unit: COUNT

Statistics: SUM

CONTACTS_ABANDONED

Unit: COUNT

Statistics: SUM

CONTACTS_CONSULTED

Unit: COUNT

Statistics: SUM

CONTACTS_AGENT_HUNG_UP_FIRST

Unit: COUNT

Statistics: SUM

CONTACTS_HANDLED_INCOMING

Unit: COUNT

Statistics: SUM

CONTACTS_HANDLED_OUTBOUND

Unit: COUNT

Statistics: SUM

CONTACTS_HOLD_ABANDONS

Unit: COUNT

Statistics: SUM

CONTACTS_TRANSFERRED_IN

Unit: COUNT

Statistics: SUM

CONTACTS_TRANSFERRED_OUT

Unit: COUNT

Statistics: SUM

CONTACTS_TRANSFERRED_IN_FROM_QUEUE

Unit: COUNT

Statistics: SUM

CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

Unit: COUNT

Statistics: SUM

CALLBACK_CONTACTS_HANDLED

Unit: COUNT

Statistics: SUM

CALLBACK_CONTACTS_HANDLED

Unit: COUNT

Statistics: SUM

API_CONTACTS_HANDLED

Unit: COUNT

Statistics: SUM

CONTACTS_MISSED

Unit: COUNT

Statistics: SUM

OCCUPANCY

Unit: PERCENT

Statistics: AVG

HANDLE_TIME

Unit: SECONDS

Statistics: AVG

AFTER_CONTACT_WORK_TIME

Unit: SECONDS

Statistics: AVG

QUEUED_TIME

Unit: SECONDS

Statistics: MAX

ABANDON_TIME

Unit: COUNT

Statistics: SUM

QUEUE_ANSWER_TIME

Unit: SECONDS

Statistics: AVG

HOLD_TIME

Unit: SECONDS

Statistics: AVG

INTERACTION_TIME

Unit: SECONDS

Statistics: AVG

INTERACTION_AND_HOLD_TIME

Unit: SECONDS

Statistics: AVG

SERVICE_LEVEL

Unit: PERCENT

Statistics: AVG

Threshold: Only \"Less than\" comparisons are supported, with the following service level thresholds: 15, 20, 25, 30, 45, 60, 90, 120, 180, 240, 300, 600

" }, "NextToken":{ "shape":"NextToken", @@ -1020,11 +1065,11 @@ }, "Statistic":{ "shape":"Statistic", - "documentation":"

The statistic for the metric: SUM, MAX, or SUM.

" + "documentation":"

The statistic for the metric.

" }, "Unit":{ "shape":"Unit", - "documentation":"

The unit for the metric: COUNT, PERCENT, or SECONDS.

" + "documentation":"

The unit for the metric.

" } }, "documentation":"

A HistoricalMetric object that contains the Name, Unit, Statistic, and Threshold for the metric.

" @@ -1472,7 +1517,7 @@ }, "Attributes":{ "shape":"Attributes", - "documentation":"

Specify a custom key-value pair using an attribute map. The attributes are standard Amazon Connect attributes, and can be accessed in contact flows just like any other contact attributes.

There can be up to 32,768 UTF-8 bytes across all key-value pairs. Attribute keys can include only alphanumeric, dash, and underscore characters.

For example, if you want play a greeting when the customer answers the call, you can pass the customer name in attributes similar to the following:

" + "documentation":"

Specify a custom key-value pair using an attribute map. The attributes are standard Amazon Connect attributes, and can be accessed in contact flows just like any other contact attributes.

There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact. Attribute keys can include only alphanumeric, dash, and underscore characters.

For example, if you want play a greeting when the customer answers the call, you can pass the customer name in attributes similar to the following:

" } } }, @@ -1566,7 +1611,7 @@ }, "Attributes":{ "shape":"Attributes", - "documentation":"

The key-value pairs for the attribute to update.

" + "documentation":"

Specify a custom key-value pair using an attribute map. The attributes are standard Amazon Connect attributes, and can be accessed in contact flows just like any other contact attributes.

There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact. Attribute keys can include only alphanumeric, dash, and underscore characters.

" } } }, @@ -1822,5 +1867,5 @@ "Value":{"type":"double"}, "timestamp":{"type":"timestamp"} }, - "documentation":"

The Amazon Connect API Reference provides descriptions, syntax, and usage examples for each of the Amazon Connect actions, data types, parameters, and errors. Amazon Connect is a cloud-based contact center solution that makes it easy to set up and manage a customer contact center and provide reliable customer engagement at any scale.

There is a throttling limit placed on usage of the Amazon Connect operations that includes a RateLimit of 2 per second, and a BurstLimit of 5 per second.

" + "documentation":"

The Amazon Connect API Reference provides descriptions, syntax, and usage examples for each of the Amazon Connect actions, data types, parameters, and errors. Amazon Connect is a cloud-based contact center solution that makes it easy to set up and manage a customer contact center and provide reliable customer engagement at any scale.

Throttling limits for the Amazon Connect API operations:

For the GetMetricData and GetCurrentMetricData operations, a RateLimit of 5 per second, and a BurstLimit of 8 per second.

For all other operations, a RateLimit of 2 per second, and a BurstLimit of 5 per second.

You can request an increase to the throttling limits by submitting a Amazon Connect service limits increase form. You must be signed in to your AWS account to access the form.

" } diff --git a/bin/botocore/data/cur/2017-01-06/service-2.json b/bin/botocore/data/cur/2017-01-06/service-2.json index 4ed705a8..b93be585 100644 --- a/bin/botocore/data/cur/2017-01-06/service-2.json +++ b/bin/botocore/data/cur/2017-01-06/service-2.json @@ -25,7 +25,7 @@ {"shape":"InternalErrorException"}, {"shape":"ValidationException"} ], - "documentation":"Delete a specified report definition" + "documentation":"

Deletes the specified report.

" }, "DescribeReportDefinitions":{ "name":"DescribeReportDefinitions", @@ -38,7 +38,7 @@ "errors":[ {"shape":"InternalErrorException"} ], - "documentation":"Describe a list of report definitions owned by the account" + "documentation":"

Lists the AWS Cost and Usage reports available to this account.

" }, "PutReportDefinition":{ "name":"PutReportDefinition", @@ -54,13 +54,13 @@ {"shape":"InternalErrorException"}, {"shape":"ValidationException"} ], - "documentation":"Create a new report definition" + "documentation":"

Creates a new report using the description that you provide.

" } }, "shapes":{ "AWSRegion":{ "type":"string", - "documentation":"Region of customer S3 bucket.", + "documentation":"

The region of the S3 bucket that AWS delivers the report into.

", "enum":[ "us-east-1", "us-west-1", @@ -69,28 +69,32 @@ "eu-west-1", "ap-southeast-1", "ap-southeast-2", - "ap-northeast-1" + "ap-northeast-1", + "eu-north-1", + "ap-northeast-3" ] }, "AdditionalArtifact":{ "type":"string", - "documentation":"Enable support for Redshift and/or QuickSight.", + "documentation":"

The types of manifest that you want AWS to create for this report.

", "enum":[ "REDSHIFT", - "QUICKSIGHT" + "QUICKSIGHT", + "ATHENA" ] }, "AdditionalArtifactList":{ "type":"list", "member":{"shape":"AdditionalArtifact"}, - "documentation":"A list of additional artifacts." + "documentation":"

A list of additional artifacts.

" }, "CompressionFormat":{ "type":"string", - "documentation":"Preferred compression format for report.", + "documentation":"

The compression format that AWS uses for the report.

", "enum":[ "ZIP", - "GZIP" + "GZIP", + "Parquet" ] }, "DeleteReportDefinitionRequest":{ @@ -98,18 +102,18 @@ "members":{ "ReportName":{"shape":"ReportName"} }, - "documentation":"Request of DeleteReportDefinition" + "documentation":"

Deletes the specified report.

" }, "DeleteReportDefinitionResponse":{ "type":"structure", "members":{ "ResponseMessage":{"shape":"DeleteResponseMessage"} }, - "documentation":"Response of DeleteReportDefinition" + "documentation":"

If the action is successful, the service sends back an HTTP 200 response.

" }, "DeleteResponseMessage":{ "type":"string", - "documentation":"A message indicates if the deletion is successful." + "documentation":"

Whether the deletion was successful or not.

" }, "DescribeReportDefinitionsRequest":{ "type":"structure", @@ -117,44 +121,47 @@ "MaxResults":{"shape":"MaxResults"}, "NextToken":{"shape":"GenericString"} }, - "documentation":"Request of DescribeReportDefinitions" + "documentation":"

Requests a list of AWS Cost and Usage reports owned by the account.

" }, "DescribeReportDefinitionsResponse":{ "type":"structure", "members":{ - "ReportDefinitions":{"shape":"ReportDefinitionList"}, + "ReportDefinitions":{ + "shape":"ReportDefinitionList", + "documentation":"

A list of AWS Cost and Usage reports owned by the account.

" + }, "NextToken":{"shape":"GenericString"} }, - "documentation":"Response of DescribeReportDefinitions" + "documentation":"

If the action is successful, the service sends back an HTTP 200 response.

" }, "DuplicateReportNameException":{ "type":"structure", "members":{ "Message":{"shape":"ErrorMessage"} }, - "documentation":"This exception is thrown when putting a report preference with a name that already exists.", + "documentation":"

A report with the specified name already exists in the account. Specify a different report name.

", "exception":true }, "ErrorMessage":{ "type":"string", - "documentation":"A message to show the detail of the exception." + "documentation":"

A message to show the detail of the exception.

" }, "GenericString":{ "type":"string", - "documentation":"A generic string." + "documentation":"

A generic string.

" }, "InternalErrorException":{ "type":"structure", "members":{ "Message":{"shape":"ErrorMessage"} }, - "documentation":"This exception is thrown on a known dependency failure.", + "documentation":"

An error on the server occurred during the processing of your request. Try again later.

", "exception":true, "fault":true }, "MaxResults":{ "type":"integer", - "documentation":"The max number of results returned by the operation.", + "documentation":"

The maximum number of results that AWS returns for the operation.

", "box":true, "max":5, "min":5 @@ -163,15 +170,22 @@ "type":"structure", "required":["ReportDefinition"], "members":{ - "ReportDefinition":{"shape":"ReportDefinition"} + "ReportDefinition":{ + "shape":"ReportDefinition", + "documentation":"

Represents the output of the PutReportDefinition operation. The content consists of the detailed metadata and data file information.

" + } }, - "documentation":"Request of PutReportDefinition" + "documentation":"

Creates a Cost and Usage Report.

" }, "PutReportDefinitionResponse":{ "type":"structure", "members":{ }, - "documentation":"Response of PutReportDefinition" + "documentation":"

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

" + }, + "RefreshClosedReports":{ + "type":"boolean", + "box":true }, "ReportDefinition":{ "type":"structure", @@ -190,62 +204,86 @@ "TimeUnit":{"shape":"TimeUnit"}, "Format":{"shape":"ReportFormat"}, "Compression":{"shape":"CompressionFormat"}, - "AdditionalSchemaElements":{"shape":"SchemaElementList"}, + "AdditionalSchemaElements":{ + "shape":"SchemaElementList", + "documentation":"

A list of strings that indicate additional content that Amazon Web Services includes in the report, such as individual resource IDs.

" + }, "S3Bucket":{"shape":"S3Bucket"}, "S3Prefix":{"shape":"S3Prefix"}, "S3Region":{"shape":"AWSRegion"}, - "AdditionalArtifacts":{"shape":"AdditionalArtifactList"} + "AdditionalArtifacts":{ + "shape":"AdditionalArtifactList", + "documentation":"

A list of manifests that you want Amazon Web Services to create for this report.

" + }, + "RefreshClosedReports":{ + "shape":"RefreshClosedReports", + "documentation":"

Whether you want Amazon Web Services to update your reports after they have been finalized if Amazon Web Services detects charges related to previous months. These charges can include refunds, credits, or support fees.

" + }, + "ReportVersioning":{ + "shape":"ReportVersioning", + "documentation":"

Whether you want Amazon Web Services to overwrite the previous version of each report or to deliver the report in addition to the previous versions.

" + } }, - "documentation":"The definition of AWS Cost and Usage Report. Customer can specify the report name, time unit, report format, compression format, S3 bucket and additional artifacts and schema elements in the definition." + "documentation":"

The definition of AWS Cost and Usage Report. You can specify the report name, time unit, report format, compression format, S3 bucket, additional artifacts, and schema elements in the definition.

" }, "ReportDefinitionList":{ "type":"list", "member":{"shape":"ReportDefinition"}, - "documentation":"A list of report definitions." + "documentation":"

A list of report definitions.

" }, "ReportFormat":{ "type":"string", - "documentation":"Preferred format for report.", - "enum":["textORcsv"] + "documentation":"

The format that AWS saves the report in.

", + "enum":[ + "textORcsv", + "Parquet" + ] }, "ReportLimitReachedException":{ "type":"structure", "members":{ "Message":{"shape":"ErrorMessage"} }, - "documentation":"This exception is thrown when the number of report preference reaches max limit. The max number is 5.", + "documentation":"

This account already has five reports defined. To define a new report, you must delete an existing report.

", "exception":true }, "ReportName":{ "type":"string", - "documentation":"Preferred name for a report, it has to be unique. Must starts with a number/letter, case sensitive. Limited to 256 characters.", + "documentation":"

The name of the report that you want to create. The name must be unique, is case sensitive, and can't include spaces.

", "max":256, "pattern":"[0-9A-Za-z!\\-_.*\\'()]+" }, + "ReportVersioning":{ + "type":"string", + "enum":[ + "CREATE_NEW_REPORT", + "OVERWRITE_REPORT" + ] + }, "S3Bucket":{ "type":"string", - "documentation":"Name of customer S3 bucket.", + "documentation":"

The S3 bucket where AWS delivers the report.

", "max":256 }, "S3Prefix":{ "type":"string", - "documentation":"Preferred report path prefix. Limited to 256 characters.", + "documentation":"

The prefix that AWS adds to the report name when AWS delivers the report. Your prefix can't include spaces.

", "max":256, "pattern":"[0-9A-Za-z!\\-_.*\\'()/]*" }, "SchemaElement":{ "type":"string", - "documentation":"Preference of including Resource IDs. You can include additional details about individual resource IDs in your report.", + "documentation":"

Whether or not AWS includes resource IDs in the report.

", "enum":["RESOURCES"] }, "SchemaElementList":{ "type":"list", "member":{"shape":"SchemaElement"}, - "documentation":"A list of schema elements." + "documentation":"

A list of strings that indicate the content that is included in the report, such as service or usage type.

" }, "TimeUnit":{ "type":"string", - "documentation":"The frequency on which report data are measured and displayed.", + "documentation":"

The length of time covered by the report.

", "enum":[ "HOURLY", "DAILY" @@ -256,9 +294,9 @@ "members":{ "Message":{"shape":"ErrorMessage"} }, - "documentation":"This exception is thrown when providing an invalid input. eg. Put a report preference with an invalid report name, or Delete a report preference with an empty report name.", + "documentation":"

The input fails to satisfy the constraints specified by an AWS service.

", "exception":true } }, - "documentation":"All public APIs for AWS Cost and Usage Report service" + "documentation":"

The AWS Cost and Usage Report API enables you to programmatically create, query, and delete AWS Cost and Usage report definitions.

AWS Cost and Usage reports track the monthly AWS costs and usage associated with your AWS account. The report contains line items for each unique combination of AWS product, usage type, and operation that your AWS account uses. You can configure the AWS Cost and Usage report to show only the data that you want, using the AWS Cost and Usage API.

Service Endpoint

The AWS Cost and Usage Report API provides the following endpoint:

  • cur.us-east-1.amazonaws.com

" } diff --git a/bin/botocore/data/datasync/2018-11-09/paginators-1.json b/bin/botocore/data/datasync/2018-11-09/paginators-1.json index ea142457..c6892f78 100644 --- a/bin/botocore/data/datasync/2018-11-09/paginators-1.json +++ b/bin/botocore/data/datasync/2018-11-09/paginators-1.json @@ -1,3 +1,34 @@ { - "pagination": {} + "pagination": { + "ListAgents": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Agents" + }, + "ListLocations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Locations" + }, + "ListTagsForResource": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Tags" + }, + "ListTaskExecutions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TaskExecutions" + }, + "ListTasks": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Tasks" + } + } } diff --git a/bin/botocore/data/datasync/2018-11-09/service-2.json b/bin/botocore/data/datasync/2018-11-09/service-2.json index 36c9e6ef..572ae0b8 100644 --- a/bin/botocore/data/datasync/2018-11-09/service-2.json +++ b/bin/botocore/data/datasync/2018-11-09/service-2.json @@ -23,9 +23,10 @@ "input":{"shape":"CancelTaskExecutionRequest"}, "output":{"shape":"CancelTaskExecutionResponse"}, "errors":[ - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} ], - "documentation":"

Cancels execution of a task.

When you cancel a task execution, the transfer of some files are abruptly interrupted. The contents of files that are transferred to the destination might be incomplete or inconsistent with the source files. However, if you start a new task execution on the same task and you allow the task execution to complete, file content on the destination is complete and consistent. This applies to other unexpected failures that interrupt a task execution. In all of these cases, AWS DataSync successfully complete the transfer when you start the next task execution.

" + "documentation":"

Cancels execution of a task.

When you cancel a task execution, the transfer of some files are abruptly interrupted. The contents of files that are transferred to the destination might be incomplete or inconsistent with the source files. However, if you start a new task execution on the same task and you allow the task execution to complete, file content on the destination is complete and consistent. This applies to other unexpected failures that interrupt a task execution. In all of these cases, AWS DataSync successfully complete the transfer when you start the next task execution.

" }, "CreateAgent":{ "name":"CreateAgent", @@ -36,9 +37,10 @@ "input":{"shape":"CreateAgentRequest"}, "output":{"shape":"CreateAgentResponse"}, "errors":[ - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} ], - "documentation":"

Activates an AWS DataSync agent that you have deployed on your host. The activation process associates your agent with your account. In the activation process, you specify information such as the AWS Region that you want to activate the agent in. You activate the agent in the AWS Region where your target locations (in Amazon S3 or Amazon EFS) reside. Your tasks are created in this AWS Region.

You can use an agent for more than one location. If a task uses multiple agents, all of them need to have status AVAILABLE for the task to run. If you use multiple agents for a source location, the status of all the agents must be AVAILABLE for the task to run. For more information, see Activating a Sync Agent in the AWS DataSync User Guide.

Agents are automatically updated by AWS on a regular basis, using a mechanism that ensures minimal interruption to your tasks.

" + "documentation":"

Activates an AWS DataSync agent that you have deployed on your host. The activation process associates your agent with your account. In the activation process, you specify information such as the AWS Region that you want to activate the agent in. You activate the agent in the AWS Region where your target locations (in Amazon S3 or Amazon EFS) reside. Your tasks are created in this AWS Region.

You can use an agent for more than one location. If a task uses multiple agents, all of them need to have status AVAILABLE for the task to run. If you use multiple agents for a source location, the status of all the agents must be AVAILABLE for the task to run.

For more information, see \"https://docs.aws.amazon.com/datasync/latest/userguide/working-with-agents.html#activating-agent\" (Activating an Agent) in the AWS DataSync User Guide.

Agents are automatically updated by AWS on a regular basis, using a mechanism that ensures minimal interruption to your tasks.

" }, "CreateLocationEfs":{ "name":"CreateLocationEfs", @@ -49,7 +51,8 @@ "input":{"shape":"CreateLocationEfsRequest"}, "output":{"shape":"CreateLocationEfsResponse"}, "errors":[ - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} ], "documentation":"

Creates an endpoint for an Amazon EFS file system.

" }, @@ -62,7 +65,8 @@ "input":{"shape":"CreateLocationNfsRequest"}, "output":{"shape":"CreateLocationNfsResponse"}, "errors":[ - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} ], "documentation":"

Creates an endpoint for a Network File System (NFS) file system.

" }, @@ -75,9 +79,10 @@ "input":{"shape":"CreateLocationS3Request"}, "output":{"shape":"CreateLocationS3Response"}, "errors":[ - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} ], - "documentation":"

Creates an endpoint for an Amazon S3 bucket.

For AWS DataSync to access a destination S3 bucket, it needs an AWS Identity and Access Management (IAM) role that has the required permissions. You can set up the required permissions by creating an IAM policy that grants the required permissions and attaching the policy to the role. An example of such a policy is shown in the examples section. For more information, see Configuring Amazon S3 Location Settings in the AWS DataSync User Guide.

" + "documentation":"

Creates an endpoint for an Amazon S3 bucket.

For AWS DataSync to access a destination S3 bucket, it needs an AWS Identity and Access Management (IAM) role that has the required permissions. You can set up the required permissions by creating an IAM policy that grants the required permissions and attaching the policy to the role. An example of such a policy is shown in the examples section.

For more information, see \"https://docs.aws.amazon.com/datasync/latest/userguide/working-with-locations.html#create-s3-location\" (Configuring Amazon S3 Location Settings) in the AWS DataSync User Guide.

" }, "CreateTask":{ "name":"CreateTask", @@ -88,9 +93,10 @@ "input":{"shape":"CreateTaskRequest"}, "output":{"shape":"CreateTaskResponse"}, "errors":[ - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} ], - "documentation":"

Creates a task. A task is a set of two locations (source and destination) and a set of default OverrideOptions that you use to control the behavior of a task. If you don't specify default values for Options when you create a task, AWS DataSync populates them with safe service defaults.

When you initially create a task, it enters the INITIALIZING status and then the CREATING status. In CREATING status, AWS DataSync attempts to mount the source Network File System (NFS) location. The task transitions to the AVAILABLE status without waiting for the destination location to mount. Instead, AWS DataSync mounts a destination before every task execution and then unmounts it after every task execution.

If an agent that is associated with a source (NFS) location goes offline, the task transitions to the UNAVAILABLE status. If the status of the task remains in the CREATING status for more than a few minutes, it means that your agent might be having trouble mounting the source NFS file system. Check the task's ErrorCode and ErrorDetail. Mount issues are often caused by either a misconfigured firewall or a mistyped NFS server host name.

" + "documentation":"

Creates a task. A task is a set of two locations (source and destination) and a set of Options that you use to control the behavior of a task. If you don't specify Options when you create a task, AWS DataSync populates them with service defaults.

When you create a task, it first enters the CREATING state. During CREATING AWS DataSync attempts to mount the on-premises Network File System (NFS) location. The task transitions to the AVAILABLE state without waiting for the AWS location to become mounted. If required, AWS DataSync mounts the AWS location before each task execution.

If an agent that is associated with a source (NFS) location goes offline, the task transitions to the UNAVAILABLE status. If the status of the task remains in the CREATING status for more than a few minutes, it means that your agent might be having trouble mounting the source NFS file system. Check the task's ErrorCode and ErrorDetail. Mount issues are often caused by either a misconfigured firewall or a mistyped NFS server host name.

" }, "DeleteAgent":{ "name":"DeleteAgent", @@ -101,9 +107,10 @@ "input":{"shape":"DeleteAgentRequest"}, "output":{"shape":"DeleteAgentResponse"}, "errors":[ - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} ], - "documentation":"

Deletes an agent. To specify which agent to delete, use the Amazon Resource Name (ARN) of the agent in your request. The operation disassociates the agent from your AWS account. However, it doesn't delete the agent virtual machine (VM) from your on-premises environment.

After you delete an agent, you can't reactivate it and you longer pay software charges for it.

" + "documentation":"

Deletes an agent. To specify which agent to delete, use the Amazon Resource Name (ARN) of the agent in your request. The operation disassociates the agent from your AWS account. However, it doesn't delete the agent virtual machine (VM) from your on-premises environment.

" }, "DeleteLocation":{ "name":"DeleteLocation", @@ -114,7 +121,8 @@ "input":{"shape":"DeleteLocationRequest"}, "output":{"shape":"DeleteLocationResponse"}, "errors":[ - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} ], "documentation":"

Deletes the configuration of a location used by AWS DataSync.

" }, @@ -127,7 +135,8 @@ "input":{"shape":"DeleteTaskRequest"}, "output":{"shape":"DeleteTaskResponse"}, "errors":[ - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} ], "documentation":"

Deletes a task.

" }, @@ -140,7 +149,8 @@ "input":{"shape":"DescribeAgentRequest"}, "output":{"shape":"DescribeAgentResponse"}, "errors":[ - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} ], "documentation":"

Returns metadata such as the name, the network interfaces, and the status (that is, whether the agent is running or not) for an agent. To specify which agent to describe, use the Amazon Resource Name (ARN) of the agent in your request.

" }, @@ -153,7 +163,8 @@ "input":{"shape":"DescribeLocationEfsRequest"}, "output":{"shape":"DescribeLocationEfsResponse"}, "errors":[ - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} ], "documentation":"

Returns metadata, such as the path information about an Amazon EFS location.

" }, @@ -166,7 +177,8 @@ "input":{"shape":"DescribeLocationNfsRequest"}, "output":{"shape":"DescribeLocationNfsResponse"}, "errors":[ - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} ], "documentation":"

Returns metadata, such as the path information, about a NFS location.

" }, @@ -179,7 +191,8 @@ "input":{"shape":"DescribeLocationS3Request"}, "output":{"shape":"DescribeLocationS3Response"}, "errors":[ - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} ], "documentation":"

Returns metadata, such as bucket name, about an Amazon S3 bucket location.

" }, @@ -192,7 +205,8 @@ "input":{"shape":"DescribeTaskRequest"}, "output":{"shape":"DescribeTaskResponse"}, "errors":[ - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} ], "documentation":"

Returns metadata about a task.

" }, @@ -205,7 +219,8 @@ "input":{"shape":"DescribeTaskExecutionRequest"}, "output":{"shape":"DescribeTaskExecutionResponse"}, "errors":[ - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} ], "documentation":"

Returns detailed metadata about a task that is being executed.

" }, @@ -218,7 +233,8 @@ "input":{"shape":"ListAgentsRequest"}, "output":{"shape":"ListAgentsResponse"}, "errors":[ - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} ], "documentation":"

Returns a list of agents owned by an AWS account in the AWS Region specified in the request. The returned list is ordered by agent Amazon Resource Name (ARN).

By default, this operation returns a maximum of 100 agents. This operation supports pagination that enables you to optionally reduce the number of agents returned in a response.

If you have more agents than are returned in a response (that is, the response returns only a truncated list of your agents), the response contains a marker that you can specify in your next request to fetch the next page of agents.

" }, @@ -231,7 +247,8 @@ "input":{"shape":"ListLocationsRequest"}, "output":{"shape":"ListLocationsResponse"}, "errors":[ - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} ], "documentation":"

Returns a lists of source and destination locations.

If you have more locations than are returned in a response (that is, the response returns only a truncated list of your agents), the response contains a token that you can specify in your next request to fetch the next page of locations.

" }, @@ -244,7 +261,8 @@ "input":{"shape":"ListTagsForResourceRequest"}, "output":{"shape":"ListTagsForResourceResponse"}, "errors":[ - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} ], "documentation":"

Returns all the tags associated with a specified resources.

" }, @@ -257,7 +275,8 @@ "input":{"shape":"ListTaskExecutionsRequest"}, "output":{"shape":"ListTaskExecutionsResponse"}, "errors":[ - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} ], "documentation":"

Returns a list of executed tasks.

" }, @@ -270,7 +289,8 @@ "input":{"shape":"ListTasksRequest"}, "output":{"shape":"ListTasksResponse"}, "errors":[ - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} ], "documentation":"

Returns a list of all the tasks.

" }, @@ -283,9 +303,10 @@ "input":{"shape":"StartTaskExecutionRequest"}, "output":{"shape":"StartTaskExecutionResponse"}, "errors":[ - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} ], - "documentation":"

Starts a specific invocation of a task. A TaskExecution value represents an individual run of a task. Each task can have at most one TaskExecution at a time.

TaskExecution has the following transition phases: INITIALIZING | PREPARING | TRANSFERRING | VERIFYING | SUCCESS/FAILURE.

For detailed information, see Task Execution in Components and Terminology in the AWS DataSync User Guide.

" + "documentation":"

Starts a specific invocation of a task. A TaskExecution value represents an individual run of a task. Each task can have at most one TaskExecution at a time.

TaskExecution has the following transition phases: INITIALIZING | PREPARING | TRANSFERRING | VERIFYING | SUCCESS/FAILURE.

For detailed information, see Task Execution in \"https://docs.aws.amazon.com/datasync/latest/userguide/how-datasync-works.html#terminology\" (Components and Terminology) in the AWS DataSync User Guide.

" }, "TagResource":{ "name":"TagResource", @@ -296,7 +317,8 @@ "input":{"shape":"TagResourceRequest"}, "output":{"shape":"TagResourceResponse"}, "errors":[ - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} ], "documentation":"

Applies a key-value pair to an AWS resource.

" }, @@ -309,7 +331,8 @@ "input":{"shape":"UntagResourceRequest"}, "output":{"shape":"UntagResourceResponse"}, "errors":[ - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} ], "documentation":"

Removes a tag from an AWS resource.

" }, @@ -322,7 +345,8 @@ "input":{"shape":"UpdateAgentRequest"}, "output":{"shape":"UpdateAgentResponse"}, "errors":[ - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} ], "documentation":"

Updates the name of an agent.

" }, @@ -335,7 +359,8 @@ "input":{"shape":"UpdateTaskRequest"}, "output":{"shape":"UpdateTaskResponse"}, "errors":[ - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} ], "documentation":"

Updates the metadata associated with a task.

" } @@ -349,7 +374,7 @@ "AgentArn":{ "type":"string", "max":128, - "pattern":"^arn:(aws|aws-cn):datasync:[a-z\\-0-9]+:[0-9]{12}:agent/agent-[0-9a-z]{17}$" + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:agent/agent-[0-9a-z]{17}$" }, "AgentArnList":{ "type":"list", @@ -419,7 +444,7 @@ "members":{ "ActivationKey":{ "shape":"ActivationKey", - "documentation":"

Your agent activation key. You can get the activation key either by sending an HTTP GET request with redirects that enable you to get the agent IP address (port 80). Alternatively, you can get it from the AWS DataSync console.

The redirect URL returned in the response provides you the activation key for your agent in the query string parameter activationKey. It might also include other activation-related parameters; however, these are merely defaults. The arguments you pass to this API call determine the actual configuration of your agent. For more information, see Activating a Sync Agent in the AWS DataSync User Guide.

" + "documentation":"

Your agent activation key. You can get the activation key either by sending an HTTP GET request with redirects that enable you to get the agent IP address (port 80). Alternatively, you can get it from the AWS DataSync console.

The redirect URL returned in the response provides you the activation key for your agent in the query string parameter activationKey. It might also include other activation-related parameters; however, these are merely defaults. The arguments you pass to this API call determine the actual configuration of your agent.

For more information, see \"https://docs.aws.amazon.com/datasync/latest/userguide/working-with-agents.html#activating-agent\" (Activating a Agent) in the AWS DataSync User Guide.

" }, "AgentName":{ "shape":"TagValue", @@ -427,7 +452,7 @@ }, "Tags":{ "shape":"TagList", - "documentation":"

The key-value pair that represents the tag you want to associate with the agent. The value can be an empty string. This value helps you manage, filter, and search for your agents.

Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @.

" + "documentation":"

The key-value pair that represents the tag that you want to associate with the agent. The value can be an empty string. This value helps you manage, filter, and search for your agents.

Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @.

" } }, "documentation":"

CreateAgentRequest

" @@ -445,7 +470,6 @@ "CreateLocationEfsRequest":{ "type":"structure", "required":[ - "Subdirectory", "EfsFilesystemArn", "Ec2Config" ], @@ -460,7 +484,7 @@ }, "Ec2Config":{ "shape":"Ec2Config", - "documentation":"

The subnet and security group that the Amazon EFS file system uses.

" + "documentation":"

The subnet and security group that the Amazon EFS file system uses. The security group that you provide needs to be able to communicate with the security group on the mount target in the subnet specified.

The exact relationship between security group M (of the mount target) and security group S (which you provide for DataSync to use at this stage) is as follows:

  • Security group M (which you associate with the mount target) must allow inbound access for the Transmission Control Protocol (TCP) on the NFS port (2049) from security group S. You can enable inbound connections either by IP address (CIDR range) or security group.

  • Security group S (provided to DataSync to access EFS) should have a rule that enables outbound connections to the NFS port on one of the file system’s mount targets. You can enable outbound connections either by IP address (CIDR range) or security group.

    For information about security groups and mount targets, see \"https://docs.aws.amazon.com/efs/latest/ug/security-considerations.html#network-access\" (Security Groups for Amazon EC2 Instances and Mount Targets) in the Amazon EFS User Guide.

" }, "Tags":{ "shape":"TagList", @@ -488,8 +512,8 @@ ], "members":{ "Subdirectory":{ - "shape":"Subdirectory", - "documentation":"

The subdirectory in the NFS file system that is used to read data from the NFS source location or write data to the NFS destination. The NFS path should be a path that's exported by the NFS server, or a subdirectory of that path. The path should be such that it can be mounted by other NFS clients in your network.

To see all the paths exported by your NFS server. run \"showmount -e nfs-server-name\" from an NFS client that has access to your server. You can specify any directory that appears in the results, and any subdirectory of that directory. Ensure that the NFS export is accessible without Kerberos authentication.

To transfer all the data in the folder you specified, DataSync needs to have permissions to read all the data. To ensure this, either configure the NFS export with no_root_squash, or ensure that the permissions for all of the files that you want sync allow read access for all users. Doing either enables the agent to read the files. For the agent to access directories, you must additionally enable all execute access. For information about NFS export configuration, see 18.7. The /etc/exports Configuration File in the Centos documentation.

" + "shape":"NonEmptySubdirectory", + "documentation":"

The subdirectory in the NFS file system that is used to read data from the NFS source location or write data to the NFS destination. The NFS path should be a path that's exported by the NFS server, or a subdirectory of that path. The path should be such that it can be mounted by other NFS clients in your network.

To see all the paths exported by your NFS server. run \"showmount -e nfs-server-name\" from an NFS client that has access to your server. You can specify any directory that appears in the results, and any subdirectory of that directory. Ensure that the NFS export is accessible without Kerberos authentication.

To transfer all the data in the folder you specified, DataSync needs to have permissions to read all the data. To ensure this, either configure the NFS export with no_root_squash, or ensure that the permissions for all of the files that you want DataSync allow read access for all users. Doing either enables the agent to read the files. For the agent to access directories, you must additionally enable all execute access.

For information about NFS export configuration, see \"http://web.mit.edu/rhel-doc/5/RHEL-5-manual/Deployment_Guide-en-US/s1-nfs-server-config-exports.html\" (18.7. The /etc/exports Configuration File).

" }, "ServerHostname":{ "shape":"ServerHostname", @@ -499,6 +523,10 @@ "shape":"OnPremConfig", "documentation":"

Contains a list of Amazon Resource Names (ARNs) of agents that are used to connect to an NFS server.

" }, + "MountOptions":{ + "shape":"NfsMountOptions", + "documentation":"

The NFS mount options that DataSync can use to mount your NFS share.

" + }, "Tags":{ "shape":"TagList", "documentation":"

The key-value pair that represents the tag that you want to add to the location. The value can be an empty string. We recommend using tags to name your resources.

" @@ -519,7 +547,6 @@ "CreateLocationS3Request":{ "type":"structure", "required":[ - "Subdirectory", "S3BucketArn", "S3Config" ], @@ -567,7 +594,7 @@ }, "CloudWatchLogGroupArn":{ "shape":"LogGroupArn", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that is used to monitor and log events in the task. For more information on these groups, see Working with Log Groups and Log Streams in the Amazon CloudWatch User Guide.

For more information about how to useCloudWatchLogs with DataSync, see Monitoring Your Task.

" + "documentation":"

The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that is used to monitor and log events in the task.

For more information on these groups, see \"https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html\" (Working with Log Groups and Log Streams) in the Amazon CloudWatch User Guide.

For more information about how to useCloudWatchLogs with DataSync, see \"https://docs.aws.amazon.com/datasync/latest/userguide/monitor-datasync.html\" (Monitoring Your Task)

" }, "Name":{ "shape":"TagValue", @@ -577,6 +604,10 @@ "shape":"Options", "documentation":"

The set of configuration options that control the behavior of a single execution of the task that occurs when you call StartTaskExecution. You can configure these options to preserve metadata such as user ID (UID) and group ID (GID), file permissions, data integrity verification, and so on.

For each individual task execution, you can override these options by specifying the OverrideOptions before starting a the task execution. For more information, see the operation.

" }, + "Excludes":{ + "shape":"FilterList", + "documentation":"

A filter that determines which files to exclude from a task based on the specified pattern. Transfers all files in the task’s subdirectory, except files that match the filter that is set.

" + }, "Tags":{ "shape":"TagList", "documentation":"

The key-value pair that represents the tag that you want to add to the resource. The value can be an empty string.

" @@ -670,12 +701,14 @@ }, "LastConnectionTime":{ "shape":"Time", - "documentation":"

The time that the agent was last connected.

" + "documentation":"

The time that the agent last connected to DataSyc.

" }, "CreationTime":{ "shape":"Time", "documentation":"

The time that the agent was activated (that is, created in your account).

" - } + }, + "EndpointOptions":{"shape":"EndpointOptions"}, + "PrivateLinkConfig":{"shape":"PrivateLinkConfig"} }, "documentation":"

DescribeAgentResponse

" }, @@ -732,6 +765,10 @@ "documentation":"

The URL of the source NFS location that was described.

" }, "OnPremConfig":{"shape":"OnPremConfig"}, + "MountOptions":{ + "shape":"NfsMountOptions", + "documentation":"

The NFS mount options that DataSync used to mount your NFS share.

" + }, "CreationTime":{ "shape":"Time", "documentation":"

The time that the NFS location was created.

" @@ -785,13 +822,21 @@ "members":{ "TaskExecutionArn":{ "shape":"TaskExecutionArn", - "documentation":"

The Amazon Resource Name (ARN) of the task execution that was described. TaskExecutionArn is hierarchical and includes TaskArn for the task that was executed.

For example, a TaskExecution value with the ARN arn:aws:sync:us-east-1:209870788375:task/task-0208075f79cedf4a2/execution/exec-08ef1e88ec491019b executed the task with the ARN arn:aws:sync:us-east-1:209870788375:task/task-0208075f79cedf4a2.

" + "documentation":"

The Amazon Resource Name (ARN) of the task execution that was described. TaskExecutionArn is hierarchical and includes TaskArn for the task that was executed.

For example, a TaskExecution value with the ARN arn:aws:datasync:us-east-1:111222333444:task/task-0208075f79cedf4a2/execution/exec-08ef1e88ec491019b executed the task with the ARN arn:aws:datasync:us-east-1:111222333444:task/task-0208075f79cedf4a2.

" }, "Status":{ "shape":"TaskExecutionStatus", - "documentation":"

The status of the task. For detailed information about sync statuses, see Understanding Sync Task Statuses.

" + "documentation":"

The status of the task execution.

For detailed information about task execution statuses, see \"https://docs.aws.amazon.com/datasync/latest/userguide/working-with-tasks.html#understand-task-creation-statuses\" (Understanding Task Statuses).

" }, "Options":{"shape":"Options"}, + "Excludes":{ + "shape":"FilterList", + "documentation":"

Specifies that the task execution excludes files from the transfer based on the specified pattern in the filter. Transfers all files in the task’s subdirectory, except files that match the filter that is set.

" + }, + "Includes":{ + "shape":"FilterList", + "documentation":"

Specifies that the task execution excludes files in the transfer based on the specified pattern in the filter. When multiple include filters are set, they are interpreted as an OR.

" + }, "StartTime":{ "shape":"Time", "documentation":"

The time that the task execution was started.

" @@ -843,7 +888,7 @@ }, "Status":{ "shape":"TaskStatus", - "documentation":"

The status of the task that was described. For detailed information about sync statuses, see Understanding Sync Task Statuses.

" + "documentation":"

The status of the task that was described.

For detailed information about task execution statuses, see \"https://docs.aws.amazon.com/datasync/latest/userguide/working-with-tasks.html#understand-task-creation-statuses\" (Understanding Task Statuses).

" }, "Name":{ "shape":"TagValue", @@ -863,12 +908,16 @@ }, "CloudWatchLogGroupArn":{ "shape":"LogGroupArn", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that was used to monitor and log events in the task. For more information on these groups, see Working with Log Groups and Log Streams in the Amazon CloudWatch User Guide.

" + "documentation":"

The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that was used to monitor and log events in the task.

For more information on these groups, see \"https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html\" (Working with Log Groups and Log Streams) in the Amazon CloudWatch UserGuide.

" }, "Options":{ "shape":"Options", "documentation":"

The set of configuration options that control the behavior of a single execution of the task that occurs when you call StartTaskExecution. You can configure these options to preserve metadata such as user ID (UID) and group (GID), file permissions, data integrity verification, and so on.

For each individual task execution, you can override these options by specifying the overriding OverrideOptions value to operation.

" }, + "Excludes":{ + "shape":"FilterList", + "documentation":"

Specifies that the task excludes files in the transfer based on the specified pattern in the filter. Transfers all files in the task’s subdirectory, except files that match the filter that is set.

" + }, "ErrorCode":{ "shape":"string", "documentation":"

Errors that AWS DataSync encountered during execution of the task. You can use this error code to help troubleshoot issues.

" @@ -897,19 +946,19 @@ "members":{ "SubnetArn":{ "shape":"Ec2SubnetArn", - "documentation":"

The ARN of the subnet that the Amazon EC2 resource belongs in.

" + "documentation":"

The ARN of the subnet and the security group that DataSync uses to access the target EFS file system.

" }, "SecurityGroupArns":{ "shape":"Ec2SecurityGroupArnList", "documentation":"

The Amazon Resource Names (ARNs) of the security groups that are configured for the Amazon EC2 resource.

" } }, - "documentation":"

The subnet and the security group that the target Amazon EFS file system uses. The subnet must have at least one mount target for that file system. The security group that you provide needs to be able to communicate with the security group on the mount target in the subnet specified.

The exact relationship between security group M (of the mount target) and security group S (which you provide for DataSync to use at this stage) is as follows:

  • Security group M (which you associate with the mount target) must allow inbound access for the Transmission Control Protocol (TCP) on the NFS port (2049) from security group S. You can enable inbound connections either by IP address (CIDR range) or security group.

  • Security group S (provided to DataSync to access EFS) should have a rule that enables outbound connections to the NFS port on one of the file system’s mount targets. You can enable outbound connections either by IP address (CIDR range) or security group. For information about security groups and mount targets, see Security Groups for Amazon EC2 Instances and Mount Targets in the Amazon EFS User Guide.

" + "documentation":"

The subnet and the security group that DataSync uses to access target EFS file system. The subnet must have at least one mount target for that file system. The security group that you provide needs to be able to communicate with the security group on the mount target in the subnet specified.

" }, "Ec2SecurityGroupArn":{ "type":"string", "max":128, - "pattern":"^arn:(aws|aws-cn):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/.*$" + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/.*$" }, "Ec2SecurityGroupArnList":{ "type":"list", @@ -920,12 +969,50 @@ "Ec2SubnetArn":{ "type":"string", "max":128, - "pattern":"^arn:(aws|aws-cn):ec2:[a-z\\-0-9]*:[0-9]{12}:subnet/.*$" + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:subnet/.*$" }, "EfsFilesystemArn":{ "type":"string", "max":128, - "pattern":"^arn:(aws|aws-cn):elasticfilesystem:[a-z\\-0-9]*:[0-9]{12}:file-system/fs-.*$" + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):elasticfilesystem:[a-z\\-0-9]*:[0-9]{12}:file-system/fs-.*$" + }, + "EndpointOptions":{ + "type":"structure", + "members":{ + "Fips":{"shape":"boolean"}, + "PrivateLink":{"shape":"boolean"} + } + }, + "FilterList":{ + "type":"list", + "member":{"shape":"FilterRule"}, + "max":1, + "min":0 + }, + "FilterRule":{ + "type":"structure", + "members":{ + "FilterType":{ + "shape":"FilterType", + "documentation":"

Specifies the type of filter rule pattern to apply. DataSync only supports the SIMPLE_PATTERN rule type.

" + }, + "Value":{ + "shape":"FilterValue", + "documentation":"

A pattern that defines the filter. The filter might include or exclude files is a transfer.

" + } + }, + "documentation":"

A pattern that determines which files to include in the transfer or which files to exclude.

" + }, + "FilterType":{ + "type":"string", + "enum":["SIMPLE_PATTERN"], + "max":128, + "pattern":"^[A-Z0-9_]+$" + }, + "FilterValue":{ + "type":"string", + "max":409600, + "pattern":"^[^\\x00]+$" }, "Gid":{ "type":"string", @@ -939,7 +1026,17 @@ "IamRoleArn":{ "type":"string", "max":2048, - "pattern":"^arn:(aws|aws-cn):iam::[0-9]{12}:role/.*$" + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):iam::[0-9]{12}:role/.*$" + }, + "InternalException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"}, + "errorCode":{"shape":"string"} + }, + "documentation":"

This exception is thrown when an error occurs in the AWS DataSync service.

", + "exception":true, + "fault":true }, "InvalidRequestException":{ "type":"structure", @@ -1102,7 +1199,7 @@ "LocationArn":{ "type":"string", "max":128, - "pattern":"^arn:(aws|aws-cn):datasync:[a-z\\-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$" + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$" }, "LocationList":{ "type":"list", @@ -1129,7 +1226,7 @@ "LogGroupArn":{ "type":"string", "max":562, - "pattern":"^arn:(aws|aws-cn):logs:[a-z\\-0-9]*:[0-9]{12}:log-group:([^:\\*]*)$" + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):logs:[a-z\\-0-9]*:[0-9]{12}:log-group:([^:\\*]*)$" }, "MaxResults":{ "type":"integer", @@ -1145,9 +1242,33 @@ }, "NextToken":{ "type":"string", - "max":93, + "max":65535, "pattern":"[a-zA-Z0-9=_-]+" }, + "NfsMountOptions":{ + "type":"structure", + "members":{ + "Version":{ + "shape":"NfsVersion", + "documentation":"

The specific NFS version that you want DataSync to use to mount your NFS share. If you don't specify a version, DataSync defaults to AUTOMATIC. That is, DataSync automatically selects a version based on negotiation with the NFS server.

" + } + }, + "documentation":"

Represents the mount options that are available for DataSync to access an NFS location.

" + }, + "NfsVersion":{ + "type":"string", + "enum":[ + "AUTOMATIC", + "NFS3", + "NFS4_0", + "NFS4_1" + ] + }, + "NonEmptySubdirectory":{ + "type":"string", + "max":4096, + "pattern":"^[a-zA-Z0-9_\\-\\./]+$" + }, "OnPremConfig":{ "type":"structure", "required":["AgentArns"], @@ -1201,6 +1322,18 @@ }, "documentation":"

Represents the options that are available to control the behavior of a StartTaskExecution operation. Behavior includes preserving metadata such as user ID (UID), group ID (GID), and file permissions, and also overwriting files in the destination, data integrity verification, and so on.

A task has a set of default options associated with it. If you don't specify an option in StartTaskExecution, the default value is used. You can override the defaults options on each task execution by specifying an overriding Options value to StartTaskExecution.

" }, + "PLSecurityGroupArnList":{ + "type":"list", + "member":{"shape":"Ec2SecurityGroupArn"}, + "max":1, + "min":1 + }, + "PLSubnetArnList":{ + "type":"list", + "member":{"shape":"Ec2SubnetArn"}, + "max":1, + "min":1 + }, "PhaseStatus":{ "type":"string", "enum":[ @@ -1231,10 +1364,18 @@ "PRESERVE" ] }, + "PrivateLinkConfig":{ + "type":"structure", + "members":{ + "PrivateLinkEndpoint":{"shape":"string"}, + "SubnetArns":{"shape":"PLSubnetArnList"}, + "SecurityGroupArns":{"shape":"PLSecurityGroupArnList"} + } + }, "S3BucketArn":{ "type":"string", "max":76, - "pattern":"^arn:(aws|aws-cn):s3:::([^/]*)$" + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):s3:::([^/]*)$" }, "S3Config":{ "type":"structure", @@ -1245,7 +1386,7 @@ "documentation":"

The Amazon S3 bucket to access. This bucket is used as a parameter in the CreateLocationS3 operation.

" } }, - "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that is used to access an Amazon S3 bucket. For detailed information about using such a role, see Components and Terminology in the AWS DataSync User Guide.

" + "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that is used to access an Amazon S3 bucket.

For detailed information about using such a role, see \"https://docs.aws.amazon.com/datasync/latest/userguide/working-with-locations.html#create-s3-location\" (Creating a Location for Amazon S3) in the AWS DataSync User Guide.

" }, "ServerHostname":{ "type":"string", @@ -1260,7 +1401,11 @@ "shape":"TaskArn", "documentation":"

The Amazon Resource Name (ARN) of the task to start.

" }, - "OverrideOptions":{"shape":"Options"} + "OverrideOptions":{"shape":"Options"}, + "Includes":{ + "shape":"FilterList", + "documentation":"

A filter that determines which files to include in the transfer during a task execution based on the specified pattern in the filter. When multiple include filters are set, they are interpreted as an OR.

" + } }, "documentation":"

StartTaskExecutionRequest

" }, @@ -1277,13 +1422,13 @@ "Subdirectory":{ "type":"string", "max":4096, - "pattern":"^[a-zA-Z0-9_\\-\\./]+$" + "pattern":"^[a-zA-Z0-9_\\-\\./]*$" }, "TagKey":{ "type":"string", "max":256, "min":1, - "pattern":"^[a-zA-Z0-9\\s+=._:/-]{1,128}$" + "pattern":"^[a-zA-Z0-9\\s+=._:/-]+$" }, "TagKeyList":{ "type":"list", @@ -1299,6 +1444,7 @@ }, "TagListEntry":{ "type":"structure", + "required":["Key"], "members":{ "Key":{ "shape":"TagKey", @@ -1338,22 +1484,22 @@ "type":"string", "max":256, "min":1, - "pattern":"^[a-zA-Z0-9\\s+=._:/-]{1,256}$" + "pattern":"^[a-zA-Z0-9\\s+=._:/-]+$" }, "TaggableResourceArn":{ "type":"string", "max":128, - "pattern":"^arn:(aws|aws-cn):datasync:[a-z\\-0-9]+:[0-9]{12}:(agent|task|location)/(agent|task|loc)-[0-9a-z]{17}$" + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:(agent|task|location)/(agent|task|loc)-[0-9a-z]{17}$" }, "TaskArn":{ "type":"string", "max":128, - "pattern":"^arn:(aws|aws-cn):datasync:[a-z\\-0-9]*:[0-9]{12}:task/task-[0-9a-f]{17}$" + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]*:[0-9]{12}:task/task-[0-9a-f]{17}$" }, "TaskExecutionArn":{ "type":"string", "max":128, - "pattern":"^arn:(aws|aws-cn):datasync:[a-z\\-0-9]*:[0-9]{12}:task/task-[0-9a-f]{17}/execution/exec-[0-9a-f]{17}$" + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]*:[0-9]{12}:task/task-[0-9a-f]{17}/execution/exec-[0-9a-f]{17}$" }, "TaskExecutionList":{ "type":"list", @@ -1515,9 +1661,17 @@ "documentation":"

The Amazon Resource Name (ARN) of the resource name of the task to update.

" }, "Options":{"shape":"Options"}, + "Excludes":{ + "shape":"FilterList", + "documentation":"

A filter that determines which files to exclude from a task based on the specified pattern in the filter. Transfers all files in the task’s subdirectory, except files that match the filter that is set.

" + }, "Name":{ "shape":"TagValue", "documentation":"

The name of the task to update.

" + }, + "CloudWatchLogGroupArn":{ + "shape":"LogGroupArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource name of the CloudWatch LogGroup.

" } }, "documentation":"

UpdateTaskResponse

" @@ -1534,6 +1688,7 @@ "NONE" ] }, + "boolean":{"type":"boolean"}, "long":{"type":"long"}, "string":{"type":"string"} }, diff --git a/bin/botocore/data/dax/2017-04-19/paginators-1.json b/bin/botocore/data/dax/2017-04-19/paginators-1.json index ea142457..c13b2df9 100644 --- a/bin/botocore/data/dax/2017-04-19/paginators-1.json +++ b/bin/botocore/data/dax/2017-04-19/paginators-1.json @@ -1,3 +1,45 @@ { - "pagination": {} + "pagination": { + "DescribeClusters": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Clusters" + }, + "DescribeDefaultParameters": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Parameters" + }, + "DescribeEvents": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Events" + }, + "DescribeParameterGroups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ParameterGroups" + }, + "DescribeParameters": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Parameters" + }, + "DescribeSubnetGroups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "SubnetGroups" + }, + "ListTags": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Tags" + } + } } diff --git a/bin/botocore/data/devicefarm/2015-06-23/paginators-1.json b/bin/botocore/data/devicefarm/2015-06-23/paginators-1.json index 55ee7871..982e07f9 100644 --- a/bin/botocore/data/devicefarm/2015-06-23/paginators-1.json +++ b/bin/botocore/data/devicefarm/2015-06-23/paginators-1.json @@ -72,6 +72,39 @@ "input_token": "nextToken", "output_token": "nextToken", "result_key": "offerings" + }, + "ListDeviceInstances": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "deviceInstances" + }, + "ListInstanceProfiles": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "instanceProfiles" + }, + "ListNetworkProfiles": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "networkProfiles" + }, + "ListOfferingPromotions": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "offeringPromotions" + }, + "ListRemoteAccessSessions": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "remoteAccessSessions" + }, + "ListVPCEConfigurations": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "vpceConfigurations" } } } diff --git a/bin/botocore/data/devicefarm/2015-06-23/service-2.json b/bin/botocore/data/devicefarm/2015-06-23/service-2.json index 7f45e898..a61c8d29 100644 --- a/bin/botocore/data/devicefarm/2015-06-23/service-2.json +++ b/bin/botocore/data/devicefarm/2015-06-23/service-2.json @@ -72,7 +72,8 @@ {"shape":"ArgumentException"}, {"shape":"NotFoundException"}, {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} + {"shape":"ServiceAccountException"}, + {"shape":"TagOperationException"} ], "documentation":"

Creates a new project.

" }, @@ -766,6 +767,20 @@ ], "documentation":"

Gets information about test suites for a given job.

" }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TagOperationException"} + ], + "documentation":"

List the tags for an AWS Device Farm resource.

" + }, "ListTests":{ "name":"ListTests", "http":{ @@ -927,6 +942,36 @@ ], "documentation":"

Initiates a stop request for the current test run. AWS Device Farm will immediately stop the run on devices where tests have not started executing, and you will not be billed for these devices. On devices where tests have started executing, Setup Suite and Teardown Suite tests will run to completion before stopping execution on those devices. You will be billed for Setup, Teardown, and any tests that were in progress or already completed.

" }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TagOperationException"}, + {"shape":"TooManyTagsException"}, + {"shape":"TagPolicyException"} + ], + "documentation":"

Associates the specified tags to a resource with the specified resourceArn. If existing tags on a resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags associated with that resource are deleted as well.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TagOperationException"} + ], + "documentation":"

Deletes the specified tags from a resource.

" + }, "UpdateDeviceInstance":{ "name":"UpdateDeviceInstance", "http":{ @@ -1087,6 +1132,7 @@ "AccountsCleanup":{"type":"boolean"}, "AmazonResourceName":{ "type":"string", + "max":1011, "min":32 }, "AmazonResourceNames":{ @@ -1122,7 +1168,7 @@ }, "type":{ "shape":"ArtifactType", - "documentation":"

The artifact's type.

Allowed values include the following:

  • UNKNOWN: An unknown type.

  • SCREENSHOT: The screenshot type.

  • DEVICE_LOG: The device log type.

  • MESSAGE_LOG: The message log type.

  • RESULT_LOG: The result log type.

  • SERVICE_LOG: The service log type.

  • WEBKIT_LOG: The web kit log type.

  • INSTRUMENTATION_OUTPUT: The instrumentation type.

  • EXERCISER_MONKEY_OUTPUT: For Android, the artifact (log) generated by an Android fuzz test.

  • CALABASH_JSON_OUTPUT: The Calabash JSON output type.

  • CALABASH_PRETTY_OUTPUT: The Calabash pretty output type.

  • CALABASH_STANDARD_OUTPUT: The Calabash standard output type.

  • CALABASH_JAVA_XML_OUTPUT: The Calabash Java XML output type.

  • AUTOMATION_OUTPUT: The automation output type.

  • APPIUM_SERVER_OUTPUT: The Appium server output type.

  • APPIUM_JAVA_OUTPUT: The Appium Java output type.

  • APPIUM_JAVA_XML_OUTPUT: The Appium Java XML output type.

  • APPIUM_PYTHON_OUTPUT: The Appium Python output type.

  • APPIUM_PYTHON_XML_OUTPUT: The Appium Python XML output type.

  • EXPLORER_EVENT_LOG: The Explorer event log output type.

  • EXPLORER_SUMMARY_LOG: The Explorer summary log output type.

  • APPLICATION_CRASH_REPORT: The application crash report output type.

  • XCTEST_LOG: The XCode test output type.

" + "documentation":"

The artifact's type.

Allowed values include the following:

  • UNKNOWN: An unknown type.

  • SCREENSHOT: The screenshot type.

  • DEVICE_LOG: The device log type.

  • MESSAGE_LOG: The message log type.

  • VIDEO_LOG: The video log type.

  • RESULT_LOG: The result log type.

  • SERVICE_LOG: The service log type.

  • WEBKIT_LOG: The web kit log type.

  • INSTRUMENTATION_OUTPUT: The instrumentation type.

  • EXERCISER_MONKEY_OUTPUT: For Android, the artifact (log) generated by an Android fuzz test.

  • CALABASH_JSON_OUTPUT: The Calabash JSON output type.

  • CALABASH_PRETTY_OUTPUT: The Calabash pretty output type.

  • CALABASH_STANDARD_OUTPUT: The Calabash standard output type.

  • CALABASH_JAVA_XML_OUTPUT: The Calabash Java XML output type.

  • AUTOMATION_OUTPUT: The automation output type.

  • APPIUM_SERVER_OUTPUT: The Appium server output type.

  • APPIUM_JAVA_OUTPUT: The Appium Java output type.

  • APPIUM_JAVA_XML_OUTPUT: The Appium Java XML output type.

  • APPIUM_PYTHON_OUTPUT: The Appium Python output type.

  • APPIUM_PYTHON_XML_OUTPUT: The Appium Python XML output type.

  • EXPLORER_EVENT_LOG: The Explorer event log output type.

  • EXPLORER_SUMMARY_LOG: The Explorer summary log output type.

  • APPLICATION_CRASH_REPORT: The application crash report output type.

  • XCTEST_LOG: The XCode test output type.

  • VIDEO: The Video output type.

  • CUSTOMER_ARTIFACT:The Customer Artifact output type.

  • CUSTOMER_ARTIFACT_LOG: The Customer Artifact Log output type.

  • TESTSPEC_OUTPUT: The Test Spec Output type.

" }, "extension":{ "shape":"String", @@ -1273,6 +1319,10 @@ "rules":{ "shape":"Rules", "documentation":"

The device pool's rules.

" + }, + "maxDevices":{ + "shape":"Integer", + "documentation":"

The number of devices that Device Farm can add to your device pool. Device Farm adds devices that are available and that meet the criteria that you assign for the rules parameter. Depending on how many devices meet these constraints, your device pool might contain fewer devices than the value for this parameter.

By specifying the maximum number of devices, you can control the costs that you incur by running tests.

" } }, "documentation":"

Represents a request to the create device pool operation.

" @@ -1513,7 +1563,7 @@ }, "type":{ "shape":"UploadType", - "documentation":"

The upload's upload type.

Must be one of the following values:

  • ANDROID_APP: An Android upload.

  • IOS_APP: An iOS upload.

  • WEB_APP: A web application upload.

  • EXTERNAL_DATA: An external data upload.

  • APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.

  • APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.

  • APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test package upload.

  • APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.

  • APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.

  • APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload.

  • CALABASH_TEST_PACKAGE: A Calabash test package upload.

  • INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.

  • UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload.

  • UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.

  • XCTEST_TEST_PACKAGE: An XCode test package upload.

  • XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload.

  • APPIUM_JAVA_JUNIT_TEST_SPEC: An Appium Java JUnit test spec upload.

  • APPIUM_JAVA_TESTNG_TEST_SPEC: An Appium Java TestNG test spec upload.

  • APPIUM_PYTHON_TEST_SPEC: An Appium Python test spec upload.

  • APPIUM_WEB_JAVA_JUNIT_TEST_SPEC: An Appium Java JUnit test spec upload.

  • APPIUM_WEB_JAVA_TESTNG_TEST_SPEC: An Appium Java TestNG test spec upload.

  • APPIUM_WEB_PYTHON_TEST_SPEC: An Appium Python test spec upload.

  • INSTRUMENTATION_TEST_SPEC: An instrumentation test spec upload.

  • XCTEST_UI_TEST_SPEC: An XCode UI test spec upload.

Note If you call CreateUpload with WEB_APP specified, AWS Device Farm throws an ArgumentException error.

" + "documentation":"

The upload's upload type.

Must be one of the following values:

  • ANDROID_APP: An Android upload.

  • IOS_APP: An iOS upload.

  • WEB_APP: A web application upload.

  • EXTERNAL_DATA: An external data upload.

  • APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.

  • APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.

  • APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test package upload.

  • APPIUM_NODE_TEST_PACKAGE: An Appium Node.js test package upload.

  • APPIUM_RUBY_TEST_PACKAGE: An Appium Ruby test package upload.

  • APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload for a web app.

  • APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload for a web app.

  • APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload for a web app.

  • APPIUM_WEB_NODE_TEST_PACKAGE: An Appium Node.js test package upload for a web app.

  • APPIUM_WEB_RUBY_TEST_PACKAGE: An Appium Ruby test package upload for a web app.

  • CALABASH_TEST_PACKAGE: A Calabash test package upload.

  • INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.

  • UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload.

  • UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.

  • XCTEST_TEST_PACKAGE: An XCode test package upload.

  • XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload.

  • APPIUM_JAVA_JUNIT_TEST_SPEC: An Appium Java JUnit test spec upload.

  • APPIUM_JAVA_TESTNG_TEST_SPEC: An Appium Java TestNG test spec upload.

  • APPIUM_PYTHON_TEST_SPEC: An Appium Python test spec upload.

  • APPIUM_NODE_TEST_SPEC: An Appium Node.js test spec upload.

  • APPIUM_RUBY_TEST_SPEC: An Appium Ruby test spec upload.

  • APPIUM_WEB_JAVA_JUNIT_TEST_SPEC: An Appium Java JUnit test spec upload for a web app.

  • APPIUM_WEB_JAVA_TESTNG_TEST_SPEC: An Appium Java TestNG test spec upload for a web app.

  • APPIUM_WEB_PYTHON_TEST_SPEC: An Appium Python test spec upload for a web app.

  • APPIUM_WEB_NODE_TEST_SPEC: An Appium Node.js test spec upload for a web app.

  • APPIUM_WEB_RUBY_TEST_SPEC: An Appium Ruby test spec upload for a web app.

  • INSTRUMENTATION_TEST_SPEC: An instrumentation test spec upload.

  • XCTEST_UI_TEST_SPEC: An XCode UI test spec upload.

Note If you call CreateUpload with WEB_APP specified, AWS Device Farm throws an ArgumentException error.

" }, "contentType":{ "shape":"ContentType", @@ -1805,7 +1855,7 @@ }, "availability":{ "shape":"DeviceAvailability", - "documentation":"

Reflects how likely a device will be available for a test run.

" + "documentation":"

Reflects how likely a device will be available for a test run. It is currently available in the ListDevices and GetDevice API methods.

" } }, "documentation":"

Represents a device type that an app is tested against.

" @@ -1822,7 +1872,10 @@ "APPIUM_VERSION", "INSTANCE_ARN", "INSTANCE_LABELS", - "FLEET_TYPE" + "FLEET_TYPE", + "OS_VERSION", + "MODEL", + "AVAILABILITY" ] }, "DeviceAvailability":{ @@ -1839,18 +1892,18 @@ "members":{ "attribute":{ "shape":"DeviceFilterAttribute", - "documentation":"

The aspect of a device such as platform or model used as the selection criteria in a device filter.

Allowed values include:

  • ARN: The Amazon Resource Name (ARN) of the device. For example, \"arn:aws:devicefarm:us-west-2::device:12345Example\".

  • PLATFORM: The device platform. Valid values are \"ANDROID\" or \"IOS\".

  • OS_VERSION: The operating system version. For example, \"10.3.2\".

  • MODEL: The device model. For example, \"iPad 5th Gen\".

  • AVAILABILITY: The current availability of the device. Valid values are \"AVAILABLE\", \"HIGHLY_AVAILABLE\", \"BUSY\", or \"TEMPORARY_NOT_AVAILABLE\".

  • FORM_FACTOR: The device form factor. Valid values are \"PHONE\" or \"TABLET\".

  • MANUFACTURER: The device manufacturer. For example, \"Apple\".

  • REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access.

  • REMOTE_DEBUG_ENABLED: Whether the device is enabled for remote debugging.

  • INSTANCE_ARN: The Amazon Resource Name (ARN) of the device instance.

  • INSTANCE_LABELS: The label of the device instance.

  • FLEET_TYPE: The fleet type. Valid values are \"PUBLIC\" or \"PRIVATE\".

" + "documentation":"

The aspect of a device such as platform or model used as the selection criteria in a device filter.

The supported operators for each attribute are provided in the following list.

ARN

The Amazon Resource Name (ARN) of the device. For example, \"arn:aws:devicefarm:us-west-2::device:12345Example\".

Supported operators: EQUALS, IN, NOT_IN

PLATFORM

The device platform. Valid values are \"ANDROID\" or \"IOS\".

Supported operators: EQUALS

OS_VERSION

The operating system version. For example, \"10.3.2\".

Supported operators: EQUALS, GREATER_THAN, GREATER_THAN_OR_EQUALS, IN, LESS_THAN, LESS_THAN_OR_EQUALS, NOT_IN

MODEL

The device model. For example, \"iPad 5th Gen\".

Supported operators: CONTAINS, EQUALS, IN, NOT_IN

AVAILABILITY

The current availability of the device. Valid values are \"AVAILABLE\", \"HIGHLY_AVAILABLE\", \"BUSY\", or \"TEMPORARY_NOT_AVAILABLE\".

Supported operators: EQUALS

FORM_FACTOR

The device form factor. Valid values are \"PHONE\" or \"TABLET\".

Supported operators: EQUALS

MANUFACTURER

The device manufacturer. For example, \"Apple\".

Supported operators: EQUALS, IN, NOT_IN

REMOTE_ACCESS_ENABLED

Whether the device is enabled for remote access. Valid values are \"TRUE\" or \"FALSE\".

Supported operators: EQUALS

REMOTE_DEBUG_ENABLED

Whether the device is enabled for remote debugging. Valid values are \"TRUE\" or \"FALSE\".

Supported operators: EQUALS

INSTANCE_ARN

The Amazon Resource Name (ARN) of the device instance.

Supported operators: EQUALS, IN, NOT_IN

INSTANCE_LABELS

The label of the device instance.

Supported operators: CONTAINS

FLEET_TYPE

The fleet type. Valid values are \"PUBLIC\" or \"PRIVATE\".

Supported operators: EQUALS

" }, "operator":{ - "shape":"DeviceFilterOperator", - "documentation":"

The filter operator.

  • The EQUALS operator is available for every attribute except INSTANCE_LABELS.

  • The CONTAINS operator is available for the INSTANCE_LABELS and MODEL attributes.

  • The IN and NOT_IN operators are available for the ARN, OS_VERSION, MODEL, MANUFACTURER, and INSTANCE_ARN attributes.

  • The LESS_THAN, GREATER_THAN, LESS_THAN_OR_EQUALS, and GREATER_THAN_OR_EQUALS operators are also available for the OS_VERSION attribute.

" + "shape":"RuleOperator", + "documentation":"

Specifies how Device Farm compares the filter's attribute to the value. For the operators that are supported by each attribute, see the attribute descriptions.

" }, "values":{ "shape":"DeviceFilterValues", - "documentation":"

An array of one or more filter values used in a device filter.

Operator Values

  • The IN and NOT operators can take a values array that has more than one element.

  • The other operators require an array with a single element.

Attribute Values

  • The PLATFORM attribute can be set to \"ANDROID\" or \"IOS\".

  • The AVAILABILITY attribute can be set to \"AVAILABLE\", \"HIGHLY_AVAILABLE\", \"BUSY\", or \"TEMPORARY_NOT_AVAILABLE\".

  • The FORM_FACTOR attribute can be set to \"PHONE\" or \"TABLET\".

  • The FLEET_TYPE attribute can be set to \"PUBLIC\" or \"PRIVATE\".

" + "documentation":"

An array of one or more filter values used in a device filter.

Operator Values

  • The IN and NOT_IN operators can take a values array that has more than one element.

  • The other operators require an array with a single element.

Attribute Values

  • The PLATFORM attribute can be set to \"ANDROID\" or \"IOS\".

  • The AVAILABILITY attribute can be set to \"AVAILABLE\", \"HIGHLY_AVAILABLE\", \"BUSY\", or \"TEMPORARY_NOT_AVAILABLE\".

  • The FORM_FACTOR attribute can be set to \"PHONE\" or \"TABLET\".

  • The FLEET_TYPE attribute can be set to \"PUBLIC\" or \"PRIVATE\".

" } }, - "documentation":"

Represents a device filter used to select a set of devices to be included in a test run. This data structure is passed in as the \"deviceSelectionConfiguration\" parameter to ScheduleRun. For an example of the JSON request syntax, see ScheduleRun.

It is also passed in as the \"filters\" parameter to ListDevices. For an example of the JSON request syntax, see ListDevices.

" + "documentation":"

Represents a device filter used to select a set of devices to be included in a test run. This data structure is passed in as the deviceSelectionConfiguration parameter to ScheduleRun. For an example of the JSON request syntax, see ScheduleRun.

It is also passed in as the filters parameter to ListDevices. For an example of the JSON request syntax, see ListDevices.

" }, "DeviceFilterAttribute":{ "type":"string", @@ -1869,19 +1922,6 @@ "FLEET_TYPE" ] }, - "DeviceFilterOperator":{ - "type":"string", - "enum":[ - "EQUALS", - "LESS_THAN", - "LESS_THAN_OR_EQUALS", - "GREATER_THAN", - "GREATER_THAN_OR_EQUALS", - "IN", - "NOT_IN", - "CONTAINS" - ] - }, "DeviceFilterValues":{ "type":"list", "member":{"shape":"String"} @@ -1982,6 +2022,10 @@ "rules":{ "shape":"Rules", "documentation":"

Information about the device pool's rules.

" + }, + "maxDevices":{ + "shape":"Integer", + "documentation":"

The number of devices that Device Farm can add to your device pool. Device Farm adds devices that are available and that meet the criteria that you assign for the rules parameter. Depending on how many devices meet these constraints, your device pool might contain fewer devices than the value for this parameter.

By specifying the maximum number of devices, you can control the costs that you incur by running tests.

" } }, "documentation":"

Represents a collection of device types.

" @@ -2028,14 +2072,14 @@ "members":{ "filters":{ "shape":"DeviceFilters", - "documentation":"

Used to dynamically select a set of devices for a test run. A filter is made up of an attribute, an operator, and one or more values.

  • Attribute: The aspect of a device such as platform or model used as the selection criteria in a device filter.

    Allowed values include:

    • ARN: The Amazon Resource Name (ARN) of the device. For example, \"arn:aws:devicefarm:us-west-2::device:12345Example\".

    • PLATFORM: The device platform. Valid values are \"ANDROID\" or \"IOS\".

    • OS_VERSION: The operating system version. For example, \"10.3.2\".

    • MODEL: The device model. For example, \"iPad 5th Gen\".

    • AVAILABILITY: The current availability of the device. Valid values are \"AVAILABLE\", \"HIGHLY_AVAILABLE\", \"BUSY\", or \"TEMPORARY_NOT_AVAILABLE\".

    • FORM_FACTOR: The device form factor. Valid values are \"PHONE\" or \"TABLET\".

    • MANUFACTURER: The device manufacturer. For example, \"Apple\".

    • REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access.

    • REMOTE_DEBUG_ENABLED: Whether the device is enabled for remote debugging.

    • INSTANCE_ARN: The Amazon Resource Name (ARN) of the device instance.

    • INSTANCE_LABELS: The label of the device instance.

    • FLEET_TYPE: The fleet type. Valid values are \"PUBLIC\" or \"PRIVATE\".

  • Operator: The filter operator.

    • The EQUALS operator is available for every attribute except INSTANCE_LABELS.

    • The CONTAINS operator is available for the INSTANCE_LABELS and MODEL attributes.

    • The IN and NOT_IN operators are available for the ARN, OS_VERSION, MODEL, MANUFACTURER, and INSTANCE_ARN attributes.

    • The LESS_THAN, GREATER_THAN, LESS_THAN_OR_EQUALS, and GREATER_THAN_OR_EQUALS operators are also available for the OS_VERSION attribute.

  • Values: An array of one or more filter values.

    • The IN and NOT operators can take a values array that has more than one element.

    • The other operators require an array with a single element.

    • In a request, the AVAILABILITY attribute takes \"AVAILABLE\", \"HIGHLY_AVAILABLE\", \"BUSY\", or \"TEMPORARY_NOT_AVAILABLE\" as values.

" + "documentation":"

Used to dynamically select a set of devices for a test run. A filter is made up of an attribute, an operator, and one or more values.

  • Attribute

    The aspect of a device such as platform or model used as the selection criteria in a device filter.

    Allowed values include:

    • ARN: The Amazon Resource Name (ARN) of the device. For example, \"arn:aws:devicefarm:us-west-2::device:12345Example\".

    • PLATFORM: The device platform. Valid values are \"ANDROID\" or \"IOS\".

    • OS_VERSION: The operating system version. For example, \"10.3.2\".

    • MODEL: The device model. For example, \"iPad 5th Gen\".

    • AVAILABILITY: The current availability of the device. Valid values are \"AVAILABLE\", \"HIGHLY_AVAILABLE\", \"BUSY\", or \"TEMPORARY_NOT_AVAILABLE\".

    • FORM_FACTOR: The device form factor. Valid values are \"PHONE\" or \"TABLET\".

    • MANUFACTURER: The device manufacturer. For example, \"Apple\".

    • REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access. Valid values are \"TRUE\" or \"FALSE\".

    • REMOTE_DEBUG_ENABLED: Whether the device is enabled for remote debugging. Valid values are \"TRUE\" or \"FALSE\".

    • INSTANCE_ARN: The Amazon Resource Name (ARN) of the device instance.

    • INSTANCE_LABELS: The label of the device instance.

    • FLEET_TYPE: The fleet type. Valid values are \"PUBLIC\" or \"PRIVATE\".

  • Operator

    The filter operator.

    • The EQUALS operator is available for every attribute except INSTANCE_LABELS.

    • The CONTAINS operator is available for the INSTANCE_LABELS and MODEL attributes.

    • The IN and NOT_IN operators are available for the ARN, OS_VERSION, MODEL, MANUFACTURER, and INSTANCE_ARN attributes.

    • The LESS_THAN, GREATER_THAN, LESS_THAN_OR_EQUALS, and GREATER_THAN_OR_EQUALS operators are also available for the OS_VERSION attribute.

  • Values

    An array of one or more filter values.

    Operator Values

    • The IN and NOT_IN operators can take a values array that has more than one element.

    • The other operators require an array with a single element.

    Attribute Values

    • The PLATFORM attribute can be set to \"ANDROID\" or \"IOS\".

    • The AVAILABILITY attribute can be set to \"AVAILABLE\", \"HIGHLY_AVAILABLE\", \"BUSY\", or \"TEMPORARY_NOT_AVAILABLE\".

    • The FORM_FACTOR attribute can be set to \"PHONE\" or \"TABLET\".

    • The FLEET_TYPE attribute can be set to \"PUBLIC\" or \"PRIVATE\".

" }, "maxDevices":{ "shape":"Integer", "documentation":"

The maximum number of devices to be included in a test run.

" } }, - "documentation":"

Represents the device filters used in a test run as well as the maximum number of devices to be included in the run. It is passed in as the deviceSelectionConfiguration request parameter in ScheduleRun.

" + "documentation":"

Represents the device filters used in a test run as well as the maximum number of devices to be included in the run. It is passed in as the deviceSelectionConfiguration request parameter in ScheduleRun.

" }, "DeviceSelectionResult":{ "type":"structure", @@ -2060,6 +2104,7 @@ "member":{"shape":"Device"} }, "Double":{"type":"double"}, + "ExceptionMessage":{"type":"string"}, "ExecutionConfiguration":{ "type":"structure", "members":{ @@ -2173,7 +2218,7 @@ }, "testType":{ "shape":"TestType", - "documentation":"

The test type for the specified device pool.

Allowed values include the following:

  • BUILTIN_FUZZ: The built-in fuzz type.

  • BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT: The Appium Java JUnit type.

  • APPIUM_JAVA_TESTNG: The Appium Java TestNG type.

  • APPIUM_PYTHON: The Appium Python type.

  • APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.

  • APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.

  • APPIUM_WEB_PYTHON: The Appium Python type for Web apps.

  • CALABASH: The Calabash type.

  • INSTRUMENTATION: The Instrumentation type.

  • UIAUTOMATION: The uiautomation type.

  • UIAUTOMATOR: The uiautomator type.

  • XCTEST: The XCode test type.

  • XCTEST_UI: The XCode UI test type.

" + "documentation":"

The test type for the specified device pool.

Allowed values include the following:

  • BUILTIN_FUZZ: The built-in fuzz type.

  • BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT: The Appium Java JUnit type.

  • APPIUM_JAVA_TESTNG: The Appium Java TestNG type.

  • APPIUM_PYTHON: The Appium Python type.

  • APPIUM_NODE: The Appium Node.js type.

  • APPIUM_RUBY: The Appium Ruby type.

  • APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for web apps.

  • APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for web apps.

  • APPIUM_WEB_PYTHON: The Appium Python type for web apps.

  • APPIUM_WEB_NODE: The Appium Node.js type for web apps.

  • APPIUM_WEB_RUBY: The Appium Ruby type for web apps.

  • CALABASH: The Calabash type.

  • INSTRUMENTATION: The Instrumentation type.

  • UIAUTOMATION: The uiautomation type.

  • UIAUTOMATOR: The uiautomator type.

  • XCTEST: The XCode test type.

  • XCTEST_UI: The XCode UI test type.

" }, "test":{ "shape":"ScheduleRunTest", @@ -2618,7 +2663,7 @@ }, "type":{ "shape":"TestType", - "documentation":"

The job's type.

Allowed values include the following:

  • BUILTIN_FUZZ: The built-in fuzz type.

  • BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT: The Appium Java JUnit type.

  • APPIUM_JAVA_TESTNG: The Appium Java TestNG type.

  • APPIUM_PYTHON: The Appium Python type.

  • APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.

  • APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.

  • APPIUM_WEB_PYTHON: The Appium Python type for Web apps.

  • CALABASH: The Calabash type.

  • INSTRUMENTATION: The Instrumentation type.

  • UIAUTOMATION: The uiautomation type.

  • UIAUTOMATOR: The uiautomator type.

  • XCTEST: The XCode test type.

  • XCTEST_UI: The XCode UI test type.

" + "documentation":"

The job's type.

Allowed values include the following:

  • BUILTIN_FUZZ: The built-in fuzz type.

  • BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT: The Appium Java JUnit type.

  • APPIUM_JAVA_TESTNG: The Appium Java TestNG type.

  • APPIUM_PYTHON: The Appium Python type.

  • APPIUM_NODE: The Appium Node.js type.

  • APPIUM_RUBY: The Appium Ruby type.

  • APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for web apps.

  • APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for web apps.

  • APPIUM_WEB_PYTHON: The Appium Python type for web apps.

  • APPIUM_WEB_NODE: The Appium Node.js type for web apps.

  • APPIUM_WEB_RUBY: The Appium Ruby test type for web apps.

  • CALABASH: The Calabash type.

  • INSTRUMENTATION: The Instrumentation type.

  • UIAUTOMATION: The uiautomation type.

  • UIAUTOMATOR: The uiautomator type.

  • XCTEST: The XCode test type.

  • XCTEST_UI: The XCode UI test type.

" }, "created":{ "shape":"DateTime", @@ -2795,7 +2840,7 @@ }, "filters":{ "shape":"DeviceFilters", - "documentation":"

Used to select a set of devices. A filter is made up of an attribute, an operator, and one or more values.

  • Attribute: The aspect of a device such as platform or model used as the selction criteria in a device filter.

    Allowed values include:

    • ARN: The Amazon Resource Name (ARN) of the device. For example, \"arn:aws:devicefarm:us-west-2::device:12345Example\".

    • PLATFORM: The device platform. Valid values are \"ANDROID\" or \"IOS\".

    • OS_VERSION: The operating system version. For example, \"10.3.2\".

    • MODEL: The device model. For example, \"iPad 5th Gen\".

    • AVAILABILITY: The current availability of the device. Valid values are \"AVAILABLE\", \"HIGHLY_AVAILABLE\", \"BUSY\", or \"TEMPORARY_NOT_AVAILABLE\".

    • FORM_FACTOR: The device form factor. Valid values are \"PHONE\" or \"TABLET\".

    • MANUFACTURER: The device manufacturer. For example, \"Apple\".

    • REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access.

    • REMOTE_DEBUG_ENABLED: Whether the device is enabled for remote debugging.

    • INSTANCE_ARN: The Amazon Resource Name (ARN) of the device instance.

    • INSTANCE_LABELS: The label of the device instance.

    • FLEET_TYPE: The fleet type. Valid values are \"PUBLIC\" or \"PRIVATE\".

  • Operator: The filter operator.

    • The EQUALS operator is available for every attribute except INSTANCE_LABELS.

    • The CONTAINS operator is available for the INSTANCE_LABELS and MODEL attributes.

    • The IN and NOT_IN operators are available for the ARN, OS_VERSION, MODEL, MANUFACTURER, and INSTANCE_ARN attributes.

    • The LESS_THAN, GREATER_THAN, LESS_THAN_OR_EQUALS, and GREATER_THAN_OR_EQUALS operators are also available for the OS_VERSION attribute.

  • Values: An array of one or more filter values.

    • The IN and NOT operators can take a values array that has more than one element.

    • The other operators require an array with a single element.

    • In a request, the AVAILABILITY attribute takes \"AVAILABLE\", \"HIGHLY_AVAILABLE\", \"BUSY\", or \"TEMPORARY_NOT_AVAILABLE\" as values.

" + "documentation":"

Used to select a set of devices. A filter is made up of an attribute, an operator, and one or more values.

  • Attribute: The aspect of a device such as platform or model used as the selction criteria in a device filter.

    Allowed values include:

    • ARN: The Amazon Resource Name (ARN) of the device. For example, \"arn:aws:devicefarm:us-west-2::device:12345Example\".

    • PLATFORM: The device platform. Valid values are \"ANDROID\" or \"IOS\".

    • OS_VERSION: The operating system version. For example, \"10.3.2\".

    • MODEL: The device model. For example, \"iPad 5th Gen\".

    • AVAILABILITY: The current availability of the device. Valid values are \"AVAILABLE\", \"HIGHLY_AVAILABLE\", \"BUSY\", or \"TEMPORARY_NOT_AVAILABLE\".

    • FORM_FACTOR: The device form factor. Valid values are \"PHONE\" or \"TABLET\".

    • MANUFACTURER: The device manufacturer. For example, \"Apple\".

    • REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access. Valid values are \"TRUE\" or \"FALSE\".

    • REMOTE_DEBUG_ENABLED: Whether the device is enabled for remote debugging. Valid values are \"TRUE\" or \"FALSE\".

    • INSTANCE_ARN: The Amazon Resource Name (ARN) of the device instance.

    • INSTANCE_LABELS: The label of the device instance.

    • FLEET_TYPE: The fleet type. Valid values are \"PUBLIC\" or \"PRIVATE\".

  • Operator: The filter operator.

    • The EQUALS operator is available for every attribute except INSTANCE_LABELS.

    • The CONTAINS operator is available for the INSTANCE_LABELS and MODEL attributes.

    • The IN and NOT_IN operators are available for the ARN, OS_VERSION, MODEL, MANUFACTURER, and INSTANCE_ARN attributes.

    • The LESS_THAN, GREATER_THAN, LESS_THAN_OR_EQUALS, and GREATER_THAN_OR_EQUALS operators are also available for the OS_VERSION attribute.

  • Values: An array of one or more filter values.

    • The IN and NOT_IN operators take a values array that has one or more elements.

    • The other operators require an array with a single element.

    • In a request, the AVAILABILITY attribute takes \"AVAILABLE\", \"HIGHLY_AVAILABLE\", \"BUSY\", or \"TEMPORARY_NOT_AVAILABLE\" as values.

" } }, "documentation":"

Represents the result of a list devices request.

" @@ -3114,6 +3159,25 @@ }, "documentation":"

Represents the result of a list suites request.

" }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the resource(s) for which to list tags. You can associate tags with the following Device Farm resources: PROJECT, RUN, NETWORK_PROFILE, INSTANCE_PROFILE, DEVICE_INSTANCE, SESSION, DEVICE_POOL, DEVICE, and VPCE_CONFIGURATION.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to add to the resource. A tag is an array of key-value pairs. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

" + } + } + }, "ListTestsRequest":{ "type":"structure", "required":["arn"], @@ -3182,7 +3246,7 @@ }, "type":{ "shape":"UploadType", - "documentation":"

The type of upload.

Must be one of the following values:

  • ANDROID_APP: An Android upload.

  • IOS_APP: An iOS upload.

  • WEB_APP: A web appliction upload.

  • EXTERNAL_DATA: An external data upload.

  • APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.

  • APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.

  • APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test package upload.

  • APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.

  • APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.

  • APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload.

  • CALABASH_TEST_PACKAGE: A Calabash test package upload.

  • INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.

  • UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload.

  • UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.

  • XCTEST_TEST_PACKAGE: An XCode test package upload.

  • XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload.

  • APPIUM_JAVA_JUNIT_TEST_SPEC: An Appium Java JUnit test spec upload.

  • APPIUM_JAVA_TESTNG_TEST_SPEC: An Appium Java TestNG test spec upload.

  • APPIUM_PYTHON_TEST_SPEC: An Appium Python test spec upload.

  • APPIUM_WEB_JAVA_JUNIT_TEST_SPEC: An Appium Java JUnit test spec upload.

  • APPIUM_WEB_JAVA_TESTNG_TEST_SPEC: An Appium Java TestNG test spec upload.

  • APPIUM_WEB_PYTHON_TEST_SPEC: An Appium Python test spec upload.

  • INSTRUMENTATION_TEST_SPEC: An instrumentation test spec upload.

  • XCTEST_UI_TEST_SPEC: An XCode UI test spec upload.

" + "documentation":"

The type of upload.

Must be one of the following values:

  • ANDROID_APP: An Android upload.

  • IOS_APP: An iOS upload.

  • WEB_APP: A web appliction upload.

  • EXTERNAL_DATA: An external data upload.

  • APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.

  • APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.

  • APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test package upload.

  • APPIUM_NODE_TEST_PACKAGE: An Appium Node.js test package upload.

  • APPIUM_RUBY_TEST_PACKAGE: An Appium Ruby test package upload.

  • APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload for a web app.

  • APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload for a web app.

  • APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload for a web app.

  • APPIUM_WEB_NODE_TEST_PACKAGE: An Appium Node.js test package upload for a web app.

  • APPIUM_WEB_RUBY_TEST_PACKAGE: An Appium Ruby test package upload for a web app.

  • CALABASH_TEST_PACKAGE: A Calabash test package upload.

  • INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.

  • UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload.

  • UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.

  • XCTEST_TEST_PACKAGE: An XCode test package upload.

  • XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload.

  • APPIUM_JAVA_JUNIT_TEST_SPEC: An Appium Java JUnit test spec upload.

  • APPIUM_JAVA_TESTNG_TEST_SPEC: An Appium Java TestNG test spec upload.

  • APPIUM_PYTHON_TEST_SPEC: An Appium Python test spec upload.

  • APPIUM_NODE_TEST_SPEC: An Appium Node.js test spec upload.

  • APPIUM_RUBY_TEST_SPEC: An Appium Ruby test spec upload.

  • APPIUM_WEB_JAVA_JUNIT_TEST_SPEC: An Appium Java JUnit test spec upload for a web app.

  • APPIUM_WEB_JAVA_TESTNG_TEST_SPEC: An Appium Java TestNG test spec upload for a web app.

  • APPIUM_WEB_PYTHON_TEST_SPEC: An Appium Python test spec upload for a web app.

  • APPIUM_WEB_NODE_TEST_SPEC: An Appium Node.js test spec upload for a web app.

  • APPIUM_WEB_RUBY_TEST_SPEC: An Appium Ruby test spec upload for a web app.

  • INSTRUMENTATION_TEST_SPEC: An instrumentation test spec upload.

  • XCTEST_UI_TEST_SPEC: An XCode UI test spec upload.

" }, "nextToken":{ "shape":"PaginationToken", @@ -3730,7 +3794,7 @@ }, "billingMethod":{ "shape":"BillingMethod", - "documentation":"

The billing method of the remote access session. Possible values include METERED or UNMETERED. For more information about metered devices, see AWS Device Farm terminology.\"

" + "documentation":"

The billing method of the remote access session. Possible values include METERED or UNMETERED. For more information about metered devices, see AWS Device Farm terminology.\"

" }, "deviceMinutes":{ "shape":"DeviceMinutes", @@ -3802,25 +3866,27 @@ "members":{ "attribute":{ "shape":"DeviceAttribute", - "documentation":"

The rule's attribute. It is the aspect of a device such as platform or model used as selection criteria to create or update a device pool.

Allowed values include:

  • ARN: The Amazon Resource Name (ARN) of a device. For example, \"arn:aws:devicefarm:us-west-2::device:12345Example\".

  • PLATFORM: The device platform. Valid values are \"ANDROID\" or \"IOS\".

  • FORM_FACTOR: The device form factor. Valid values are \"PHONE\" or \"TABLET\".

  • MANUFACTURER: The device manufacturer. For example, \"Apple\".

  • REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access.

  • REMOTE_DEBUG_ENABLED: Whether the device is enabled for remote debugging.

  • APPIUM_VERSION: The Appium version for the test.

  • INSTANCE_ARN: The Amazon Resource Name (ARN) of the device instance.

  • INSTANCE_LABELS: The label of the device instance.

  • FLEET_TYPE: The fleet type. Valid values are \"PUBLIC\" or \"PRIVATE\".

" + "documentation":"

The rule's stringified attribute. For example, specify the value as \"\\\"abc\\\"\".

The supported operators for each attribute are provided in the following list.

APPIUM_VERSION

The Appium version for the test.

Supported operators: CONTAINS

ARN

The Amazon Resource Name (ARN) of the device. For example, \"arn:aws:devicefarm:us-west-2::device:12345Example\".

Supported operators: EQUALS, IN, NOT_IN

AVAILABILITY

The current availability of the device. Valid values are \"AVAILABLE\", \"HIGHLY_AVAILABLE\", \"BUSY\", or \"TEMPORARY_NOT_AVAILABLE\".

Supported operators: EQUALS

FLEET_TYPE

The fleet type. Valid values are \"PUBLIC\" or \"PRIVATE\".

Supported operators: EQUALS

FORM_FACTOR

The device form factor. Valid values are \"PHONE\" or \"TABLET\".

Supported operators: EQUALS, IN, NOT_IN

INSTANCE_ARN

The Amazon Resource Name (ARN) of the device instance.

Supported operators: IN, NOT_IN

INSTANCE_LABELS

The label of the device instance.

Supported operators: CONTAINS

MANUFACTURER

The device manufacturer. For example, \"Apple\".

Supported operators: EQUALS, IN, NOT_IN

MODEL

The device model, such as \"Apple iPad Air 2\" or \"Google Pixel\".

Supported operators: CONTAINS, EQUALS, IN, NOT_IN

OS_VERSION

The operating system version. For example, \"10.3.2\".

Supported operators: EQUALS, GREATER_THAN, GREATER_THAN_OR_EQUALS, IN, LESS_THAN, LESS_THAN_OR_EQUALS, NOT_IN

PLATFORM

The device platform. Valid values are \"ANDROID\" or \"IOS\".

Supported operators: EQUALS, IN, NOT_IN

REMOTE_ACCESS_ENABLED

Whether the device is enabled for remote access. Valid values are \"TRUE\" or \"FALSE\".

Supported operators: EQUALS

REMOTE_DEBUG_ENABLED

Whether the device is enabled for remote debugging. Valid values are \"TRUE\" or \"FALSE\".

Supported operators: EQUALS

" }, "operator":{ "shape":"RuleOperator", - "documentation":"

The rule's operator.

  • EQUALS: The equals operator.

  • GREATER_THAN: The greater-than operator.

  • IN: The in operator.

  • LESS_THAN: The less-than operator.

  • NOT_IN: The not-in operator.

  • CONTAINS: The contains operator.

" + "documentation":"

Specifies how Device Farm compares the rule's attribute to the value. For the operators that are supported by each attribute, see the attribute descriptions.

" }, "value":{ "shape":"String", - "documentation":"

The rule's value.

The value must be passed in as a string using escaped quotes.

For example:

\"value\": \"\\\"ANDROID\\\"\"

" + "documentation":"

The rule's value.

" } }, - "documentation":"

Represents a condition for a device pool. It is passed in as the rules parameter to CreateDevicePool and UpdateDevicePool.

" + "documentation":"

Represents a condition for a device pool.

" }, "RuleOperator":{ "type":"string", "enum":[ "EQUALS", "LESS_THAN", + "LESS_THAN_OR_EQUALS", "GREATER_THAN", + "GREATER_THAN_OR_EQUALS", "IN", "NOT_IN", "CONTAINS" @@ -3843,7 +3909,7 @@ }, "type":{ "shape":"TestType", - "documentation":"

The run's type.

Must be one of the following values:

  • BUILTIN_FUZZ: The built-in fuzz type.

  • BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT: The Appium Java JUnit type.

  • APPIUM_JAVA_TESTNG: The Appium Java TestNG type.

  • APPIUM_PYTHON: The Appium Python type.

  • APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.

  • APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.

  • APPIUM_WEB_PYTHON: The Appium Python type for Web apps.

  • CALABASH: The Calabash type.

  • INSTRUMENTATION: The Instrumentation type.

  • UIAUTOMATION: The uiautomation type.

  • UIAUTOMATOR: The uiautomator type.

  • XCTEST: The XCode test type.

  • XCTEST_UI: The XCode UI test type.

" + "documentation":"

The run's type.

Must be one of the following values:

  • BUILTIN_FUZZ: The built-in fuzz type.

  • BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT: The Appium Java JUnit type.

  • APPIUM_JAVA_TESTNG: The Appium Java TestNG type.

  • APPIUM_PYTHON: The Appium Python type.

  • APPIUM_NODE: The Appium Node.js type.

  • APPIUM_RUBY: The Appium Ruby type.

  • APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for web apps.

  • APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for web apps.

  • APPIUM_WEB_PYTHON: The Appium Python type for web apps.

  • APPIUM_WEB_NODE: The Appium Node.js type for web apps.

  • APPIUM_WEB_RUBY: The Appium Ruby type for web apps.

  • CALABASH: The Calabash type.

  • INSTRUMENTATION: The Instrumentation type.

  • UIAUTOMATION: The uiautomation type.

  • UIAUTOMATOR: The uiautomator type.

  • XCTEST: The XCode test type.

  • XCTEST_UI: The XCode UI test type.

" }, "platform":{ "shape":"DevicePlatform", @@ -4067,11 +4133,11 @@ }, "devicePoolArn":{ "shape":"AmazonResourceName", - "documentation":"

The ARN of the device pool for the run to be scheduled.

Either devicePoolArn or deviceSelectionConfiguration are required in a request.

" + "documentation":"

The ARN of the device pool for the run to be scheduled.

" }, "deviceSelectionConfiguration":{ "shape":"DeviceSelectionConfiguration", - "documentation":"

The filter criteria used to dynamically select a set of devices for a test run, as well as the maximum number of devices to be included in the run.

Either devicePoolArn or deviceSelectionConfiguration are required in a request.

" + "documentation":"

The filter criteria used to dynamically select a set of devices for a test run, as well as the maximum number of devices to be included in the run.

Either devicePoolArn or deviceSelectionConfiguration is required in a request.

" }, "name":{ "shape":"Name", @@ -4108,7 +4174,7 @@ "members":{ "type":{ "shape":"TestType", - "documentation":"

The test's type.

Must be one of the following values:

  • BUILTIN_FUZZ: The built-in fuzz type.

  • BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT: The Appium Java JUnit type.

  • APPIUM_JAVA_TESTNG: The Appium Java TestNG type.

  • APPIUM_PYTHON: The Appium Python type.

  • APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.

  • APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.

  • APPIUM_WEB_PYTHON: The Appium Python type for Web apps.

  • CALABASH: The Calabash type.

  • INSTRUMENTATION: The Instrumentation type.

  • UIAUTOMATION: The uiautomation type.

  • UIAUTOMATOR: The uiautomator type.

  • XCTEST: The XCode test type.

  • XCTEST_UI: The XCode UI test type.

" + "documentation":"

The test's type.

Must be one of the following values:

  • BUILTIN_FUZZ: The built-in fuzz type.

  • BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT: The Appium Java JUnit type.

  • APPIUM_JAVA_TESTNG: The Appium Java TestNG type.

  • APPIUM_PYTHON: The Appium Python type.

  • APPIUM_NODE: The Appium Node.js type.

  • APPIUM_RUBY: The Appium Ruby type.

  • APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for web apps.

  • APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for web apps.

  • APPIUM_WEB_PYTHON: The Appium Python type for web apps.

  • APPIUM_WEB_NODE: The Appium Node.js type for web apps.

  • APPIUM_WEB_RUBY: The Appium Ruby type for web apps.

  • CALABASH: The Calabash type.

  • INSTRUMENTATION: The Instrumentation type.

  • UIAUTOMATION: The uiautomation type.

  • UIAUTOMATOR: The uiautomator type.

  • XCTEST: The XCode test type.

  • XCTEST_UI: The XCode UI test type.

" }, "testPackageArn":{ "shape":"AmazonResourceName", @@ -4124,7 +4190,7 @@ }, "parameters":{ "shape":"TestParameters", - "documentation":"

The test's parameters, such as test framework parameters and fixture settings. Parameters are represented by name-value pairs of strings.

For all tests:

  • app_performance_monitoring: Performance monitoring is enabled by default. Set this parameter to \"false\" to disable it.

For Calabash tests:

  • profile: A cucumber profile, for example, \"my_profile_name\".

  • tags: You can limit execution to features or scenarios that have (or don't have) certain tags, for example, \"@smoke\" or \"@smoke,~@wip\".

For Appium tests (all types):

  • appium_version: The Appium version. Currently supported values are \"1.7.2\", \"1.7.1\", \"1.6.5\", \"latest\", and \"default\".

    • “latest” will run the latest Appium version supported by Device Farm (1.7.2).

    • For “default”, Device Farm will choose a compatible version of Appium for the device. The current behavior is to run 1.7.2 on Android devices and iOS 9 and earlier, 1.7.2 for iOS 10 and later.

    • This behavior is subject to change.

For Fuzz tests (Android only):

  • event_count: The number of events, between 1 and 10000, that the UI fuzz test should perform.

  • throttle: The time, in ms, between 0 and 1000, that the UI fuzz test should wait between events.

  • seed: A seed to use for randomizing the UI fuzz test. Using the same seed value between tests ensures identical event sequences.

For Explorer tests:

  • username: A username to use if the Explorer encounters a login form. If not supplied, no username will be inserted.

  • password: A password to use if the Explorer encounters a login form. If not supplied, no password will be inserted.

For Instrumentation:

  • filter: A test filter string. Examples:

    • Running a single test case: \"com.android.abc.Test1\"

    • Running a single test: \"com.android.abc.Test1#smoke\"

    • Running multiple tests: \"com.android.abc.Test1,com.android.abc.Test2\"

For XCTest and XCTestUI:

  • filter: A test filter string. Examples:

    • Running a single test class: \"LoginTests\"

    • Running a multiple test classes: \"LoginTests,SmokeTests\"

    • Running a single test: \"LoginTests/testValid\"

    • Running multiple tests: \"LoginTests/testValid,LoginTests/testInvalid\"

For UIAutomator:

  • filter: A test filter string. Examples:

    • Running a single test case: \"com.android.abc.Test1\"

    • Running a single test: \"com.android.abc.Test1#smoke\"

    • Running multiple tests: \"com.android.abc.Test1,com.android.abc.Test2\"

" + "documentation":"

The test's parameters, such as test framework parameters and fixture settings. Parameters are represented by name-value pairs of strings.

For all tests:

  • app_performance_monitoring: Performance monitoring is enabled by default. Set this parameter to \"false\" to disable it.

For Calabash tests:

  • profile: A cucumber profile, for example, \"my_profile_name\".

  • tags: You can limit execution to features or scenarios that have (or don't have) certain tags, for example, \"@smoke\" or \"@smoke,~@wip\".

For Appium tests (all types):

  • appium_version: The Appium version. Currently supported values are \"1.6.5\" (and higher), \"latest\", and \"default\".

    • “latest” will run the latest Appium version supported by Device Farm (1.9.1).

    • For “default”, Device Farm will choose a compatible version of Appium for the device. The current behavior is to run 1.7.2 on Android devices and iOS 9 and earlier, 1.7.2 for iOS 10 and later.

    • This behavior is subject to change.

For Fuzz tests (Android only):

  • event_count: The number of events, between 1 and 10000, that the UI fuzz test should perform.

  • throttle: The time, in ms, between 0 and 1000, that the UI fuzz test should wait between events.

  • seed: A seed to use for randomizing the UI fuzz test. Using the same seed value between tests ensures identical event sequences.

For Explorer tests:

  • username: A username to use if the Explorer encounters a login form. If not supplied, no username will be inserted.

  • password: A password to use if the Explorer encounters a login form. If not supplied, no password will be inserted.

For Instrumentation:

  • filter: A test filter string. Examples:

    • Running a single test case: \"com.android.abc.Test1\"

    • Running a single test: \"com.android.abc.Test1#smoke\"

    • Running multiple tests: \"com.android.abc.Test1,com.android.abc.Test2\"

For XCTest and XCTestUI:

  • filter: A test filter string. Examples:

    • Running a single test class: \"LoginTests\"

    • Running a multiple test classes: \"LoginTests,SmokeTests\"

    • Running a single test: \"LoginTests/testValid\"

    • Running multiple tests: \"LoginTests/testValid,LoginTests/testInvalid\"

For UIAutomator:

  • filter: A test filter string. Examples:

    • Running a single test case: \"com.android.abc.Test1\"

    • Running a single test: \"com.android.abc.Test1#smoke\"

    • Running multiple tests: \"com.android.abc.Test1,com.android.abc.Test2\"

" } }, "documentation":"

Represents test settings. This data structure is passed in as the \"test\" parameter to ScheduleRun. For an example of the JSON request syntax, see ScheduleRun.

" @@ -4226,7 +4292,7 @@ }, "type":{ "shape":"TestType", - "documentation":"

The suite's type.

Must be one of the following values:

  • BUILTIN_FUZZ: The built-in fuzz type.

  • BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT: The Appium Java JUnit type.

  • APPIUM_JAVA_TESTNG: The Appium Java TestNG type.

  • APPIUM_PYTHON: The Appium Python type.

  • APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.

  • APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.

  • APPIUM_WEB_PYTHON: The Appium Python type for Web apps.

  • CALABASH: The Calabash type.

  • INSTRUMENTATION: The Instrumentation type.

  • UIAUTOMATION: The uiautomation type.

  • UIAUTOMATOR: The uiautomator type.

  • XCTEST: The XCode test type.

  • XCTEST_UI: The XCode UI test type.

" + "documentation":"

The suite's type.

Must be one of the following values:

  • BUILTIN_FUZZ: The built-in fuzz type.

  • BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT: The Appium Java JUnit type.

  • APPIUM_JAVA_TESTNG: The Appium Java TestNG type.

  • APPIUM_PYTHON: The Appium Python type.

  • APPIUM_NODE: The Appium Node.js type.

  • APPIUM_RUBY: The Appium Ruby type.

  • APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for web apps.

  • APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for web apps.

  • APPIUM_WEB_PYTHON: The Appium Python type for web apps.

  • APPIUM_WEB_NODE: The Appium Node.js type for web apps.

  • APPIUM_WEB_RUBY: The Appium Ruby type for web apps.

  • CALABASH: The Calabash type.

  • INSTRUMENTATION: The Instrumentation type.

  • UIAUTOMATION: The uiautomation type.

  • UIAUTOMATOR: The uiautomator type.

  • XCTEST: The XCode test type.

  • XCTEST_UI: The XCode UI test type.

" }, "created":{ "shape":"DateTime", @@ -4267,6 +4333,84 @@ "type":"list", "member":{"shape":"Suite"} }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).

" + } + }, + "documentation":"

The metadata that you apply to a resource to help you categorize and organize it. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":150 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":150 + }, + "TagOperationException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "resourceName":{"shape":"AmazonResourceName"} + }, + "documentation":"

The operation was not successful. Try again.

", + "exception":true + }, + "TagPolicyException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "resourceName":{"shape":"AmazonResourceName"} + }, + "documentation":"

The request doesn't comply with the AWS Identity and Access Management (IAM) tag policy. Correct your request and then retry it.

", + "exception":true + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "Tags" + ], + "members":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the resource(s) to which to add tags. You can associate tags with the following Device Farm resources: PROJECT, RUN, NETWORK_PROFILE, INSTANCE_PROFILE, DEVICE_INSTANCE, SESSION, DEVICE_POOL, DEVICE, and VPCE_CONFIGURATION.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to add to the resource. A tag is an array of key-value pairs. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, "Test":{ "type":"structure", "members":{ @@ -4280,7 +4424,7 @@ }, "type":{ "shape":"TestType", - "documentation":"

The test's type.

Must be one of the following values:

  • BUILTIN_FUZZ: The built-in fuzz type.

  • BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT: The Appium Java JUnit type.

  • APPIUM_JAVA_TESTNG: The Appium Java TestNG type.

  • APPIUM_PYTHON: The Appium Python type.

  • APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.

  • APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.

  • APPIUM_WEB_PYTHON: The Appium Python type for Web apps.

  • CALABASH: The Calabash type.

  • INSTRUMENTATION: The Instrumentation type.

  • UIAUTOMATION: The uiautomation type.

  • UIAUTOMATOR: The uiautomator type.

  • XCTEST: The XCode test type.

  • XCTEST_UI: The XCode UI test type.

" + "documentation":"

The test's type.

Must be one of the following values:

  • BUILTIN_FUZZ: The built-in fuzz type.

  • BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT: The Appium Java JUnit type.

  • APPIUM_JAVA_TESTNG: The Appium Java TestNG type.

  • APPIUM_PYTHON: The Appium Python type.

  • APPIUM_NODE: The Appium Node.js type.

  • APPIUM_RUBY: The Appium Ruby type.

  • APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for web apps.

  • APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for web apps.

  • APPIUM_WEB_PYTHON: The Appium Python type for web apps.

  • APPIUM_WEB_NODE: The Appium Node.js type for web apps.

  • APPIUM_WEB_RUBY: The Appium Ruby type for web apps.

  • CALABASH: The Calabash type.

  • INSTRUMENTATION: The Instrumentation type.

  • UIAUTOMATION: The uiautomation type.

  • UIAUTOMATOR: The uiautomator type.

  • XCTEST: The XCode test type.

  • XCTEST_UI: The XCode UI test type.

" }, "created":{ "shape":"DateTime", @@ -4331,9 +4475,13 @@ "APPIUM_JAVA_JUNIT", "APPIUM_JAVA_TESTNG", "APPIUM_PYTHON", + "APPIUM_NODE", + "APPIUM_RUBY", "APPIUM_WEB_JAVA_JUNIT", "APPIUM_WEB_JAVA_TESTNG", "APPIUM_WEB_PYTHON", + "APPIUM_WEB_NODE", + "APPIUM_WEB_RUBY", "CALABASH", "INSTRUMENTATION", "UIAUTOMATION", @@ -4348,6 +4496,15 @@ "type":"list", "member":{"shape":"Test"} }, + "TooManyTagsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "resourceName":{"shape":"AmazonResourceName"} + }, + "documentation":"

The list of tags on the repository is over the limit. The maximum number of tags that can be applied to a repository is 50.

", + "exception":true + }, "TransactionIdentifier":{ "type":"string", "min":32 @@ -4394,6 +4551,28 @@ "key":{"shape":"ExecutionResult"}, "value":{"shape":"UniqueProblems"} }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeys" + ], + "members":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the resource(s) from which to delete tags. You can associate tags with the following Device Farm resources: PROJECT, RUN, NETWORK_PROFILE, INSTANCE_PROFILE, DEVICE_INSTANCE, SESSION, DEVICE_POOL, DEVICE, and VPCE_CONFIGURATION.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

The keys of the tags to be removed.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateDeviceInstanceRequest":{ "type":"structure", "required":["arn"], @@ -4440,6 +4619,14 @@ "rules":{ "shape":"Rules", "documentation":"

Represents the rules you wish to modify for the device pool. Updating rules is optional; however, if you choose to update rules for your request, the update will replace the existing rules.

" + }, + "maxDevices":{ + "shape":"Integer", + "documentation":"

The number of devices that Device Farm can add to your device pool. Device Farm adds devices that are available and that meet the criteria that you assign for the rules parameter. Depending on how many devices meet these constraints, your device pool might contain fewer devices than the value for this parameter.

By specifying the maximum number of devices, you can control the costs that you incur by running tests.

If you use this parameter in your request, you cannot use the clearMaxDevices parameter in the same request.

" + }, + "clearMaxDevices":{ + "shape":"Boolean", + "documentation":"

Sets whether the maxDevices parameter applies to your device pool. If you set this parameter to true, the maxDevices parameter does not apply, and Device Farm does not limit the number of devices that it adds to your device pool. In this case, Device Farm adds all available devices that meet the criteria that are specified for the rules parameter.

If you use this parameter in your request, you cannot use the maxDevices parameter in the same request.

" } }, "documentation":"

Represents a request to the update device pool operation.

" @@ -4668,7 +4855,7 @@ }, "type":{ "shape":"UploadType", - "documentation":"

The upload's type.

Must be one of the following values:

  • ANDROID_APP: An Android upload.

  • IOS_APP: An iOS upload.

  • WEB_APP: A web appliction upload.

  • EXTERNAL_DATA: An external data upload.

  • APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.

  • APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.

  • APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test package upload.

  • APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.

  • APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.

  • APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload.

  • CALABASH_TEST_PACKAGE: A Calabash test package upload.

  • INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.

  • UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload.

  • UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.

  • XCTEST_TEST_PACKAGE: An XCode test package upload.

  • XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload.

  • APPIUM_JAVA_JUNIT_TEST_SPEC: An Appium Java JUnit test spec upload.

  • APPIUM_JAVA_TESTNG_TEST_SPEC: An Appium Java TestNG test spec upload.

  • APPIUM_PYTHON_TEST_SPEC: An Appium Python test spec upload.

  • APPIUM_WEB_JAVA_JUNIT_TEST_SPEC: An Appium Java JUnit test spec upload.

  • APPIUM_WEB_JAVA_TESTNG_TEST_SPEC: An Appium Java TestNG test spec upload.

  • APPIUM_WEB_PYTHON_TEST_SPEC: An Appium Python test spec upload.

  • INSTRUMENTATION_TEST_SPEC: An instrumentation test spec upload.

  • XCTEST_UI_TEST_SPEC: An XCode UI test spec upload.

" + "documentation":"

The upload's type.

Must be one of the following values:

  • ANDROID_APP: An Android upload.

  • IOS_APP: An iOS upload.

  • WEB_APP: A web appliction upload.

  • EXTERNAL_DATA: An external data upload.

  • APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.

  • APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.

  • APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test package upload.

  • APPIUM_NODE_TEST_PACKAGE: An Appium Node.js test package upload.

  • APPIUM_RUBY_TEST_PACKAGE: An Appium Ruby test package upload.

  • APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload for web apps.

  • APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload for web apps.

  • APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload for web apps.

  • APPIUM_WEB_NODE_TEST_PACKAGE: An Appium Node.js test package upload for web apps.

  • APPIUM_WEB_RUBY_TEST_PACKAGE: An Appium Ruby test package upload for web apps.

  • CALABASH_TEST_PACKAGE: A Calabash test package upload.

  • INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.

  • UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload.

  • UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.

  • XCTEST_TEST_PACKAGE: An XCode test package upload.

  • XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload.

  • APPIUM_JAVA_JUNIT_TEST_SPEC: An Appium Java JUnit test spec upload.

  • APPIUM_JAVA_TESTNG_TEST_SPEC: An Appium Java TestNG test spec upload.

  • APPIUM_PYTHON_TEST_SPEC: An Appium Python test spec upload.

  • APPIUM_NODE_TEST_SPEC: An Appium Node.js test spec upload.

  • APPIUM_RUBY_TEST_SPEC: An Appium Ruby test spec upload.

  • APPIUM_WEB_JAVA_JUNIT_TEST_SPEC: An Appium Java JUnit test spec upload for a web app.

  • APPIUM_WEB_JAVA_TESTNG_TEST_SPEC: An Appium Java TestNG test spec upload for a web app.

  • APPIUM_WEB_PYTHON_TEST_SPEC: An Appium Python test spec upload for a web app.

  • APPIUM_WEB_NODE_TEST_SPEC: An Appium Node.js test spec upload for a web app.

  • APPIUM_WEB_RUBY_TEST_SPEC: An Appium Ruby test spec upload for a web app.

  • INSTRUMENTATION_TEST_SPEC: An instrumentation test spec upload.

  • XCTEST_UI_TEST_SPEC: An XCode UI test spec upload.

" }, "status":{ "shape":"UploadStatus", @@ -4723,9 +4910,13 @@ "APPIUM_JAVA_JUNIT_TEST_PACKAGE", "APPIUM_JAVA_TESTNG_TEST_PACKAGE", "APPIUM_PYTHON_TEST_PACKAGE", + "APPIUM_NODE_TEST_PACKAGE", + "APPIUM_RUBY_TEST_PACKAGE", "APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE", "APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE", "APPIUM_WEB_PYTHON_TEST_PACKAGE", + "APPIUM_WEB_NODE_TEST_PACKAGE", + "APPIUM_WEB_RUBY_TEST_PACKAGE", "CALABASH_TEST_PACKAGE", "INSTRUMENTATION_TEST_PACKAGE", "UIAUTOMATION_TEST_PACKAGE", @@ -4735,9 +4926,13 @@ "APPIUM_JAVA_JUNIT_TEST_SPEC", "APPIUM_JAVA_TESTNG_TEST_SPEC", "APPIUM_PYTHON_TEST_SPEC", + "APPIUM_NODE_TEST_SPEC", + "APPIUM_RUBY_TEST_SPEC", "APPIUM_WEB_JAVA_JUNIT_TEST_SPEC", "APPIUM_WEB_JAVA_TESTNG_TEST_SPEC", "APPIUM_WEB_PYTHON_TEST_SPEC", + "APPIUM_WEB_NODE_TEST_SPEC", + "APPIUM_WEB_RUBY_TEST_SPEC", "INSTRUMENTATION_TEST_SPEC", "XCTEST_UI_TEST_SPEC" ] diff --git a/bin/botocore/data/directconnect/2012-10-25/paginators-1.json b/bin/botocore/data/directconnect/2012-10-25/paginators-1.json index ea142457..dbca668f 100644 --- a/bin/botocore/data/directconnect/2012-10-25/paginators-1.json +++ b/bin/botocore/data/directconnect/2012-10-25/paginators-1.json @@ -1,3 +1,22 @@ { - "pagination": {} + "pagination": { + "DescribeDirectConnectGatewayAssociations": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "directConnectGatewayAssociations" + }, + "DescribeDirectConnectGatewayAttachments": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "directConnectGatewayAttachments" + }, + "DescribeDirectConnectGateways": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "directConnectGateways" + } + } } diff --git a/bin/botocore/data/directconnect/2012-10-25/service-2.json b/bin/botocore/data/directconnect/2012-10-25/service-2.json index 181c0100..9f0e1ce8 100644 --- a/bin/botocore/data/directconnect/2012-10-25/service-2.json +++ b/bin/botocore/data/directconnect/2012-10-25/service-2.json @@ -12,6 +12,20 @@ "uid":"directconnect-2012-10-25" }, "operations":{ + "AcceptDirectConnectGatewayAssociationProposal":{ + "name":"AcceptDirectConnectGatewayAssociationProposal", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AcceptDirectConnectGatewayAssociationProposalRequest"}, + "output":{"shape":"AcceptDirectConnectGatewayAssociationProposalResult"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Accepts a proposal request to attach a virtual private gateway or transit gateway to a Direct Connect gateway.

" + }, "AllocateConnectionOnInterconnect":{ "name":"AllocateConnectionOnInterconnect", "http":{ @@ -24,7 +38,7 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Deprecated. Use AllocateHostedConnection instead.

Creates a hosted connection on an interconnect.

Allocates a VLAN number and a specified amount of bandwidth for use by a hosted connection on the specified interconnect.

Intended for use by AWS Direct Connect partners only.

", + "documentation":"

Deprecated. Use AllocateHostedConnection instead.

Creates a hosted connection on an interconnect.

Allocates a VLAN number and a specified amount of bandwidth for use by a hosted connection on the specified interconnect.

Intended for use by AWS Direct Connect Partners only.

", "deprecated":true }, "AllocateHostedConnection":{ @@ -39,7 +53,7 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Creates a hosted connection on the specified interconnect or a link aggregation group (LAG).

Allocates a VLAN number and a specified amount of bandwidth for use by a hosted connection on the specified interconnect or LAG.

Intended for use by AWS Direct Connect partners only.

" + "documentation":"

Creates a hosted connection on the specified interconnect or a link aggregation group (LAG) of interconnects.

Allocates a VLAN number and a specified amount of capacity (bandwidth) for use by a hosted connection on the specified interconnect or LAG of interconnects. AWS polices the hosted connection for the specified capacity and the AWS Direct Connect Partner must also police the hosted connection for the specified capacity.

Intended for use by AWS Direct Connect Partners only.

" }, "AllocatePrivateVirtualInterface":{ "name":"AllocatePrivateVirtualInterface", @@ -69,6 +83,20 @@ ], "documentation":"

Provisions a public virtual interface to be owned by the specified AWS account.

The owner of a connection calls this function to provision a public virtual interface to be owned by the specified AWS account.

Virtual interfaces created using this function must be confirmed by the owner using ConfirmPublicVirtualInterface. Until this step has been completed, the virtual interface is in the confirming state and is not available to handle traffic.

When creating an IPv6 public virtual interface, omit the Amazon address and customer address. IPv6 addresses are automatically assigned from the Amazon pool of IPv6 addresses; you cannot specify custom IPv6 addresses.

" }, + "AllocateTransitVirtualInterface":{ + "name":"AllocateTransitVirtualInterface", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AllocateTransitVirtualInterfaceRequest"}, + "output":{"shape":"AllocateTransitVirtualInterfaceResult"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Provisions a transit virtual interface to be owned by the specified AWS account. Use this type of interface to connect a transit gateway to your Direct Connect gateway.

The owner of a connection provisions a transit virtual interface to be owned by the specified AWS account.

After you create a transit virtual interface, it must be confirmed by the owner using ConfirmTransitVirtualInterface. Until this step has been completed, the transit virtual interface is in the requested state and is not available to handle traffic.

" + }, "AssociateConnectionWithLag":{ "name":"AssociateConnectionWithLag", "http":{ @@ -95,7 +123,7 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Associates a hosted connection and its virtual interfaces with a link aggregation group (LAG) or interconnect. If the target interconnect or LAG has an existing hosted connection with a conflicting VLAN number or IP address, the operation fails. This action temporarily interrupts the hosted connection's connectivity to AWS as it is being migrated.

Intended for use by AWS Direct Connect partners only.

" + "documentation":"

Associates a hosted connection and its virtual interfaces with a link aggregation group (LAG) or interconnect. If the target interconnect or LAG has an existing hosted connection with a conflicting VLAN number or IP address, the operation fails. This action temporarily interrupts the hosted connection's connectivity to AWS as it is being migrated.

Intended for use by AWS Direct Connect Partners only.

" }, "AssociateVirtualInterface":{ "name":"AssociateVirtualInterface", @@ -153,6 +181,20 @@ ], "documentation":"

Accepts ownership of a public virtual interface created by another AWS account.

After the virtual interface owner makes this call, the specified virtual interface is created and made available to handle traffic.

" }, + "ConfirmTransitVirtualInterface":{ + "name":"ConfirmTransitVirtualInterface", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ConfirmTransitVirtualInterfaceRequest"}, + "output":{"shape":"ConfirmTransitVirtualInterfaceResponse"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Accepts ownership of a transit virtual interface created by another AWS account.

After the owner of the transit virtual interface makes this call, the specified transit virtual interface is created and made available to handle traffic.

" + }, "CreateBGPPeer":{ "name":"CreateBGPPeer", "http":{ @@ -209,6 +251,20 @@ ], "documentation":"

Creates an association between a Direct Connect gateway and a virtual private gateway. The virtual private gateway must be attached to a VPC and must not be associated with another Direct Connect gateway.

" }, + "CreateDirectConnectGatewayAssociationProposal":{ + "name":"CreateDirectConnectGatewayAssociationProposal", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDirectConnectGatewayAssociationProposalRequest"}, + "output":{"shape":"CreateDirectConnectGatewayAssociationProposalResult"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Creates a proposal to associate the specified virtual private gateway or transit gateway with the specified Direct Connect gateway.

You can only associate a Direct Connect gateway and virtual private gateway or transit gateway when the account that owns the Direct Connect gateway and the account that owns the virtual private gateway or transit gateway have the same AWS Payer ID.

" + }, "CreateInterconnect":{ "name":"CreateInterconnect", "http":{ @@ -221,7 +277,7 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Creates an interconnect between an AWS Direct Connect partner's network and a specific AWS Direct Connect location.

An interconnect is a connection which is capable of hosting other connections. The partner can use an interconnect to provide sub-1Gbps AWS Direct Connect service to tier 2 customers who do not have their own connections. Like a standard connection, an interconnect links the partner's network to an AWS Direct Connect location over a standard Ethernet fiber-optic cable. One end is connected to the partner's router, the other to an AWS Direct Connect router.

You can automatically add the new interconnect to a link aggregation group (LAG) by specifying a LAG ID in the request. This ensures that the new interconnect is allocated on the same AWS Direct Connect endpoint that hosts the specified LAG. If there are no available ports on the endpoint, the request fails and no interconnect is created.

For each end customer, the AWS Direct Connect partner provisions a connection on their interconnect by calling AllocateConnectionOnInterconnect. The end customer can then connect to AWS resources by creating a virtual interface on their connection, using the VLAN assigned to them by the partner.

Intended for use by AWS Direct Connect partners only.

" + "documentation":"

Creates an interconnect between an AWS Direct Connect Partner's network and a specific AWS Direct Connect location.

An interconnect is a connection that is capable of hosting other connections. The AWS Direct Connect partner can use an interconnect to provide AWS Direct Connect hosted connections to customers through their own network services. Like a standard connection, an interconnect links the partner's network to an AWS Direct Connect location over a standard Ethernet fiber-optic cable. One end is connected to the partner's router, the other to an AWS Direct Connect router.

You can automatically add the new interconnect to a link aggregation group (LAG) by specifying a LAG ID in the request. This ensures that the new interconnect is allocated on the same AWS Direct Connect endpoint that hosts the specified LAG. If there are no available ports on the endpoint, the request fails and no interconnect is created.

For each end customer, the AWS Direct Connect Partner provisions a connection on their interconnect by calling AllocateHostedConnection. The end customer can then connect to AWS resources by creating a virtual interface on their connection, using the VLAN assigned to them by the AWS Direct Connect Partner.

Intended for use by AWS Direct Connect Partners only.

" }, "CreateLag":{ "name":"CreateLag", @@ -235,7 +291,7 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Creates a link aggregation group (LAG) with the specified number of bundled physical connections between the customer network and a specific AWS Direct Connect location. A LAG is a logical interface that uses the Link Aggregation Control Protocol (LACP) to aggregate multiple interfaces, enabling you to treat them as a single interface.

All connections in a LAG must use the same bandwidth and must terminate at the same AWS Direct Connect endpoint.

You can have up to 10 connections per LAG. Regardless of this limit, if you request more connections for the LAG than AWS Direct Connect can allocate on a single endpoint, no LAG is created.

You can specify an existing physical connection or interconnect to include in the LAG (which counts towards the total number of connections). Doing so interrupts the current physical connection or hosted connections, and re-establishes them as a member of the LAG. The LAG will be created on the same AWS Direct Connect endpoint to which the connection terminates. Any virtual interfaces associated with the connection are automatically disassociated and re-associated with the LAG. The connection ID does not change.

If the AWS account used to create a LAG is a registered AWS Direct Connect partner, the LAG is automatically enabled to host sub-connections. For a LAG owned by a partner, any associated virtual interfaces cannot be directly configured.

" + "documentation":"

Creates a link aggregation group (LAG) with the specified number of bundled physical connections between the customer network and a specific AWS Direct Connect location. A LAG is a logical interface that uses the Link Aggregation Control Protocol (LACP) to aggregate multiple interfaces, enabling you to treat them as a single interface.

All connections in a LAG must use the same bandwidth and must terminate at the same AWS Direct Connect endpoint.

You can have up to 10 connections per LAG. Regardless of this limit, if you request more connections for the LAG than AWS Direct Connect can allocate on a single endpoint, no LAG is created.

You can specify an existing physical connection or interconnect to include in the LAG (which counts towards the total number of connections). Doing so interrupts the current physical connection or hosted connections, and re-establishes them as a member of the LAG. The LAG will be created on the same AWS Direct Connect endpoint to which the connection terminates. Any virtual interfaces associated with the connection are automatically disassociated and re-associated with the LAG. The connection ID does not change.

If the AWS account used to create a LAG is a registered AWS Direct Connect Partner, the LAG is automatically enabled to host sub-connections. For a LAG owned by a partner, any associated virtual interfaces cannot be directly configured.

" }, "CreatePrivateVirtualInterface":{ "name":"CreatePrivateVirtualInterface", @@ -265,6 +321,20 @@ ], "documentation":"

Creates a public virtual interface. A virtual interface is the VLAN that transports AWS Direct Connect traffic. A public virtual interface supports sending traffic to public services of AWS such as Amazon S3.

When creating an IPv6 public virtual interface (addressFamily is ipv6), leave the customer and amazon address fields blank to use auto-assigned IPv6 space. Custom IPv6 addresses are not supported.

" }, + "CreateTransitVirtualInterface":{ + "name":"CreateTransitVirtualInterface", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTransitVirtualInterfaceRequest"}, + "output":{"shape":"CreateTransitVirtualInterfaceResult"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Creates a transit virtual interface. A transit virtual interface is a VLAN that transports traffic from a Direct Connect gateway to one or more transit gateways. A transit virtual interface enables the connection of multiple VPCs attached to a transit gateway to a Direct Connect gateway.

" + }, "DeleteBGPPeer":{ "name":"DeleteBGPPeer", "http":{ @@ -321,6 +391,20 @@ ], "documentation":"

Deletes the association between the specified Direct Connect gateway and virtual private gateway.

" }, + "DeleteDirectConnectGatewayAssociationProposal":{ + "name":"DeleteDirectConnectGatewayAssociationProposal", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDirectConnectGatewayAssociationProposalRequest"}, + "output":{"shape":"DeleteDirectConnectGatewayAssociationProposalResult"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Deletes the association proposal request between the specified Direct Connect gateway and virtual private gateway or transit gateway.

" + }, "DeleteInterconnect":{ "name":"DeleteInterconnect", "http":{ @@ -333,7 +417,7 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Deletes the specified interconnect.

Intended for use by AWS Direct Connect partners only.

" + "documentation":"

Deletes the specified interconnect.

Intended for use by AWS Direct Connect Partners only.

" }, "DeleteLag":{ "name":"DeleteLag", @@ -375,7 +459,7 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Deprecated. Use DescribeLoa instead.

Gets the LOA-CFA for a connection.

The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is a document that your APN partner or service provider uses when establishing your cross connect to AWS at the colocation facility. For more information, see Requesting Cross Connects at AWS Direct Connect Locations in the AWS Direct Connect User Guide.

", + "documentation":"

Deprecated. Use DescribeLoa instead.

Gets the LOA-CFA for a connection.

The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is a document that your APN partner or service provider uses when establishing your cross connect to AWS at the colocation facility. For more information, see Requesting Cross Connects at AWS Direct Connect Locations in the AWS Direct Connect User Guide.

", "deprecated":true }, "DescribeConnections":{ @@ -404,9 +488,23 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Deprecated. Use DescribeHostedConnections instead.

Lists the connections that have been provisioned on the specified interconnect.

Intended for use by AWS Direct Connect partners only.

", + "documentation":"

Deprecated. Use DescribeHostedConnections instead.

Lists the connections that have been provisioned on the specified interconnect.

Intended for use by AWS Direct Connect Partners only.

", "deprecated":true }, + "DescribeDirectConnectGatewayAssociationProposals":{ + "name":"DescribeDirectConnectGatewayAssociationProposals", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDirectConnectGatewayAssociationProposalsRequest"}, + "output":{"shape":"DescribeDirectConnectGatewayAssociationProposalsResult"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Describes one or more association proposals for connection between a virtual private gateway or transit gateway and a Direct Connect gateway.

" + }, "DescribeDirectConnectGatewayAssociations":{ "name":"DescribeDirectConnectGatewayAssociations", "http":{ @@ -461,7 +559,7 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Lists the hosted connections that have been provisioned on the specified interconnect or link aggregation group (LAG).

Intended for use by AWS Direct Connect partners only.

" + "documentation":"

Lists the hosted connections that have been provisioned on the specified interconnect or link aggregation group (LAG).

Intended for use by AWS Direct Connect Partners only.

" }, "DescribeInterconnectLoa":{ "name":"DescribeInterconnectLoa", @@ -475,7 +573,7 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Deprecated. Use DescribeLoa instead.

Gets the LOA-CFA for the specified interconnect.

The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is a document that is used when establishing your cross connect to AWS at the colocation facility. For more information, see Requesting Cross Connects at AWS Direct Connect Locations in the AWS Direct Connect User Guide.

", + "documentation":"

Deprecated. Use DescribeLoa instead.

Gets the LOA-CFA for the specified interconnect.

The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is a document that is used when establishing your cross connect to AWS at the colocation facility. For more information, see Requesting Cross Connects at AWS Direct Connect Locations in the AWS Direct Connect User Guide.

", "deprecated":true }, "DescribeInterconnects":{ @@ -518,7 +616,7 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Gets the LOA-CFA for a connection, interconnect, or link aggregation group (LAG).

The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is a document that is used when establishing your cross connect to AWS at the colocation facility. For more information, see Requesting Cross Connects at AWS Direct Connect Locations in the AWS Direct Connect User Guide.

" + "documentation":"

Gets the LOA-CFA for a connection, interconnect, or link aggregation group (LAG).

The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is a document that is used when establishing your cross connect to AWS at the colocation facility. For more information, see Requesting Cross Connects at AWS Direct Connect Locations in the AWS Direct Connect User Guide.

" }, "DescribeLocations":{ "name":"DescribeLocations", @@ -586,7 +684,7 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Disassociates a connection from a link aggregation group (LAG). The connection is interrupted and re-established as a standalone connection (the connection is not deleted; to delete the connection, use the DeleteConnection request). If the LAG has associated virtual interfaces or hosted connections, they remain associated with the LAG. A disassociated connection owned by an AWS Direct Connect partner is automatically converted to an interconnect.

If disassociating the connection would cause the LAG to fall below its setting for minimum number of operational connections, the request fails, except when it's the last member of the LAG. If all connections are disassociated, the LAG continues to exist as an empty LAG with no physical connections.

" + "documentation":"

Disassociates a connection from a link aggregation group (LAG). The connection is interrupted and re-established as a standalone connection (the connection is not deleted; to delete the connection, use the DeleteConnection request). If the LAG has associated virtual interfaces or hosted connections, they remain associated with the LAG. A disassociated connection owned by an AWS Direct Connect Partner is automatically converted to an interconnect.

If disassociating the connection would cause the LAG to fall below its setting for minimum number of operational connections, the request fails, except when it's the last member of the LAG. If all connections are disassociated, the LAG continues to exist as an empty LAG with no physical connections.

" }, "TagResource":{ "name":"TagResource", @@ -618,6 +716,20 @@ ], "documentation":"

Removes one or more tags from the specified AWS Direct Connect resource.

" }, + "UpdateDirectConnectGatewayAssociation":{ + "name":"UpdateDirectConnectGatewayAssociation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDirectConnectGatewayAssociationRequest"}, + "output":{"shape":"UpdateDirectConnectGatewayAssociationResult"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Updates the specified attributes of the Direct Connect gateway association.

Add or remove prefixes from the association.

" + }, "UpdateLag":{ "name":"UpdateLag", "http":{ @@ -649,6 +761,38 @@ }, "shapes":{ "ASN":{"type":"integer"}, + "AcceptDirectConnectGatewayAssociationProposalRequest":{ + "type":"structure", + "required":[ + "directConnectGatewayId", + "proposalId", + "associatedGatewayOwnerAccount" + ], + "members":{ + "directConnectGatewayId":{ + "shape":"DirectConnectGatewayId", + "documentation":"

The ID of the Direct Connect gateway.

" + }, + "proposalId":{ + "shape":"DirectConnectGatewayAssociationProposalId", + "documentation":"

The ID of the request proposal.

" + }, + "associatedGatewayOwnerAccount":{ + "shape":"OwnerAccount", + "documentation":"

The ID of the AWS account that owns the virtual private gateway or transit gateway.

" + }, + "overrideAllowedPrefixesToDirectConnectGateway":{ + "shape":"RouteFilterPrefixList", + "documentation":"

Overrides the existing Amazon VPC prefixes advertised to the Direct Connect gateway.

" + } + } + }, + "AcceptDirectConnectGatewayAssociationProposalResult":{ + "type":"structure", + "members":{ + "directConnectGatewayAssociation":{"shape":"DirectConnectGatewayAssociation"} + } + }, "AddressFamily":{ "type":"string", "enum":[ @@ -668,7 +812,7 @@ "members":{ "bandwidth":{ "shape":"Bandwidth", - "documentation":"

The bandwidth of the connection, in Mbps. The possible values are 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, and 500Mbps.

" + "documentation":"

The bandwidth of the connection. The possible values are 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, and 10Gbps. Note that only those AWS Direct Connect Partners who have met specific requirements are allowed to create a 1Gbps, 2Gbps, 5Gbps or 10Gbps hosted connection.

" }, "connectionName":{ "shape":"ConnectionName", @@ -680,7 +824,7 @@ }, "interconnectId":{ "shape":"InterconnectId", - "documentation":"

The ID of the interconnect on which the connection will be provisioned. For example, dxcon-456abc78.

" + "documentation":"

The ID of the interconnect on which the connection will be provisioned.

" }, "vlan":{ "shape":"VLAN", @@ -708,7 +852,7 @@ }, "bandwidth":{ "shape":"Bandwidth", - "documentation":"

The bandwidth of the hosted connection, in Mbps. The possible values are 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, and 500Mbps.

" + "documentation":"

The bandwidth of the connection. The possible values are 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, and 10Gbps. Note that only those AWS Direct Connect Partners who have met specific requirements are allowed to create a 1Gbps, 2Gbps, 5Gbps or 10Gbps hosted connection.

" }, "connectionName":{ "shape":"ConnectionName", @@ -764,6 +908,34 @@ } } }, + "AllocateTransitVirtualInterfaceRequest":{ + "type":"structure", + "required":[ + "connectionId", + "ownerAccount", + "newTransitVirtualInterfaceAllocation" + ], + "members":{ + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the connection on which the transit virtual interface is provisioned.

" + }, + "ownerAccount":{ + "shape":"OwnerAccount", + "documentation":"

The ID of the AWS account that owns the transit virtual interface.

" + }, + "newTransitVirtualInterfaceAllocation":{ + "shape":"NewTransitVirtualInterfaceAllocation", + "documentation":"

Information about the transit virtual interface.

" + } + } + }, + "AllocateTransitVirtualInterfaceResult":{ + "type":"structure", + "members":{ + "virtualInterface":{"shape":"VirtualInterface"} + } + }, "AmazonAddress":{"type":"string"}, "AssociateConnectionWithLagRequest":{ "type":"structure", @@ -774,11 +946,11 @@ "members":{ "connectionId":{ "shape":"ConnectionId", - "documentation":"

The ID of the connection. For example, dxcon-abc123.

" + "documentation":"

The ID of the connection.

" }, "lagId":{ "shape":"LagId", - "documentation":"

The ID of the LAG with which to associate the connection. For example, dxlag-abc123.

" + "documentation":"

The ID of the LAG with which to associate the connection.

" } } }, @@ -816,6 +988,33 @@ } } }, + "AssociatedGateway":{ + "type":"structure", + "members":{ + "id":{ + "shape":"GatewayIdentifier", + "documentation":"

The ID of the associated gateway.

" + }, + "type":{ + "shape":"GatewayType", + "documentation":"

The type of associated gateway.

" + }, + "ownerAccount":{ + "shape":"OwnerAccount", + "documentation":"

The ID of the AWS account that owns the associated virtual private gateway or transit gateway.

" + }, + "region":{ + "shape":"Region", + "documentation":"

The Region where the associated gateway is located.

" + } + }, + "documentation":"

Information about the associated gateway.

" + }, + "AssociatedGatewayId":{"type":"string"}, + "AvailablePortSpeeds":{ + "type":"list", + "member":{"shape":"PortSpeed"} + }, "AwsDevice":{ "type":"string", "deprecated":true @@ -855,7 +1054,7 @@ }, "bgpStatus":{ "shape":"BGPStatus", - "documentation":"

The status of the BGP peer. The following are the possible values:

  • up: The BGP peer is established. This state does not indicate the state of the routing function. Ensure that you are receiving routes over the BGP session.

  • down: The BGP peer is down.

  • unknown: The BGP peer status is unknown.

" + "documentation":"

The status of the BGP peer. The following are the possible values:

  • up: The BGP peer is established. This state does not indicate the state of the routing function. Ensure that you are receiving routes over the BGP session.

  • down: The BGP peer is down.

  • unknown: The BGP peer status is not available.

" }, "awsDeviceV2":{ "shape":"AwsDeviceV2", @@ -883,7 +1082,8 @@ "type":"string", "enum":[ "up", - "down" + "down", + "unknown" ] }, "Bandwidth":{"type":"string"}, @@ -904,7 +1104,7 @@ "members":{ "connectionState":{ "shape":"ConnectionState", - "documentation":"

The state of the connection. The following are the possible values:

  • ordering: The initial state of a hosted connection provisioned on an interconnect. The connection stays in the ordering state until the owner of the hosted connection confirms or declines the connection order.

  • requested: The initial state of a standard connection. The connection stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.

  • pending: The connection has been approved and is being initialized.

  • available: The network link is up and the connection is ready for use.

  • down: The network link is down.

  • deleting: The connection is being deleted.

  • deleted: The connection has been deleted.

  • rejected: A hosted connection in the ordering state enters the rejected state if it is deleted by the customer.

" + "documentation":"

The state of the connection. The following are the possible values:

  • ordering: The initial state of a hosted connection provisioned on an interconnect. The connection stays in the ordering state until the owner of the hosted connection confirms or declines the connection order.

  • requested: The initial state of a standard connection. The connection stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.

  • pending: The connection has been approved and is being initialized.

  • available: The network link is up and the connection is ready for use.

  • down: The network link is down.

  • deleting: The connection is being deleted.

  • deleted: The connection has been deleted.

  • rejected: A hosted connection in the ordering state enters the rejected state if it is deleted by the customer.

  • unknown: The state of the connection is not available.

" } } }, @@ -931,7 +1131,7 @@ "members":{ "virtualInterfaceState":{ "shape":"VirtualInterfaceState", - "documentation":"

The state of the virtual interface. The following are the possible values:

  • confirming: The creation of the virtual interface is pending confirmation from the virtual interface owner. If the owner of the virtual interface is different from the owner of the connection on which it is provisioned, then the virtual interface will remain in this state until it is confirmed by the virtual interface owner.

  • verifying: This state only applies to public virtual interfaces. Each public virtual interface needs validation before the virtual interface can be created.

  • pending: A virtual interface is in this state from the time that it is created until the virtual interface is ready to forward traffic.

  • available: A virtual interface that is able to forward traffic.

  • down: A virtual interface that is BGP down.

  • deleting: A virtual interface is in this state immediately after calling DeleteVirtualInterface until it can no longer forward traffic.

  • deleted: A virtual interface that cannot forward traffic.

  • rejected: The virtual interface owner has declined creation of the virtual interface. If a virtual interface in the Confirming state is deleted by the virtual interface owner, the virtual interface enters the Rejected state.

" + "documentation":"

The state of the virtual interface. The following are the possible values:

  • confirming: The creation of the virtual interface is pending confirmation from the virtual interface owner. If the owner of the virtual interface is different from the owner of the connection on which it is provisioned, then the virtual interface will remain in this state until it is confirmed by the virtual interface owner.

  • verifying: This state only applies to public virtual interfaces. Each public virtual interface needs validation before the virtual interface can be created.

  • pending: A virtual interface is in this state from the time that it is created until the virtual interface is ready to forward traffic.

  • available: A virtual interface that is able to forward traffic.

  • down: A virtual interface that is BGP down.

  • deleting: A virtual interface is in this state immediately after calling DeleteVirtualInterface until it can no longer forward traffic.

  • deleted: A virtual interface that cannot forward traffic.

  • rejected: The virtual interface owner has declined creation of the virtual interface. If a virtual interface in the Confirming state is deleted by the virtual interface owner, the virtual interface enters the Rejected state.

  • unknown: The state of the virtual interface is not available.

" } } }, @@ -950,7 +1150,33 @@ "members":{ "virtualInterfaceState":{ "shape":"VirtualInterfaceState", - "documentation":"

The state of the virtual interface. The following are the possible values:

  • confirming: The creation of the virtual interface is pending confirmation from the virtual interface owner. If the owner of the virtual interface is different from the owner of the connection on which it is provisioned, then the virtual interface will remain in this state until it is confirmed by the virtual interface owner.

  • verifying: This state only applies to public virtual interfaces. Each public virtual interface needs validation before the virtual interface can be created.

  • pending: A virtual interface is in this state from the time that it is created until the virtual interface is ready to forward traffic.

  • available: A virtual interface that is able to forward traffic.

  • down: A virtual interface that is BGP down.

  • deleting: A virtual interface is in this state immediately after calling DeleteVirtualInterface until it can no longer forward traffic.

  • deleted: A virtual interface that cannot forward traffic.

  • rejected: The virtual interface owner has declined creation of the virtual interface. If a virtual interface in the Confirming state is deleted by the virtual interface owner, the virtual interface enters the Rejected state.

" + "documentation":"

The state of the virtual interface. The following are the possible values:

  • confirming: The creation of the virtual interface is pending confirmation from the virtual interface owner. If the owner of the virtual interface is different from the owner of the connection on which it is provisioned, then the virtual interface will remain in this state until it is confirmed by the virtual interface owner.

  • verifying: This state only applies to public virtual interfaces. Each public virtual interface needs validation before the virtual interface can be created.

  • pending: A virtual interface is in this state from the time that it is created until the virtual interface is ready to forward traffic.

  • available: A virtual interface that is able to forward traffic.

  • down: A virtual interface that is BGP down.

  • deleting: A virtual interface is in this state immediately after calling DeleteVirtualInterface until it can no longer forward traffic.

  • deleted: A virtual interface that cannot forward traffic.

  • rejected: The virtual interface owner has declined creation of the virtual interface. If a virtual interface in the Confirming state is deleted by the virtual interface owner, the virtual interface enters the Rejected state.

  • unknown: The state of the virtual interface is not available.

" + } + } + }, + "ConfirmTransitVirtualInterfaceRequest":{ + "type":"structure", + "required":[ + "virtualInterfaceId", + "directConnectGatewayId" + ], + "members":{ + "virtualInterfaceId":{ + "shape":"VirtualInterfaceId", + "documentation":"

The ID of the virtual interface.

" + }, + "directConnectGatewayId":{ + "shape":"DirectConnectGatewayId", + "documentation":"

The ID of the Direct Connect gateway.

" + } + } + }, + "ConfirmTransitVirtualInterfaceResponse":{ + "type":"structure", + "members":{ + "virtualInterfaceState":{ + "shape":"VirtualInterfaceState", + "documentation":"

The state of the virtual interface. The following are the possible values:

  • confirming: The creation of the virtual interface is pending confirmation from the virtual interface owner. If the owner of the virtual interface is different from the owner of the connection on which it is provisioned, then the virtual interface will remain in this state until it is confirmed by the virtual interface owner.

  • verifying: This state only applies to public virtual interfaces. Each public virtual interface needs validation before the virtual interface can be created.

  • pending: A virtual interface is in this state from the time that it is created until the virtual interface is ready to forward traffic.

  • available: A virtual interface that is able to forward traffic.

  • down: A virtual interface that is BGP down.

  • deleting: A virtual interface is in this state immediately after calling DeleteVirtualInterface until it can no longer forward traffic.

  • deleted: A virtual interface that cannot forward traffic.

  • rejected: The virtual interface owner has declined creation of the virtual interface. If a virtual interface in the Confirming state is deleted by the virtual interface owner, the virtual interface enters the Rejected state.

  • unknown: The state of the virtual interface is not available.

" } } }, @@ -971,7 +1197,7 @@ }, "connectionState":{ "shape":"ConnectionState", - "documentation":"

The state of the connection. The following are the possible values:

  • ordering: The initial state of a hosted connection provisioned on an interconnect. The connection stays in the ordering state until the owner of the hosted connection confirms or declines the connection order.

  • requested: The initial state of a standard connection. The connection stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.

  • pending: The connection has been approved and is being initialized.

  • available: The network link is up and the connection is ready for use.

  • down: The network link is down.

  • deleting: The connection is being deleted.

  • deleted: The connection has been deleted.

  • rejected: A hosted connection in the ordering state enters the rejected state if it is deleted by the customer.

" + "documentation":"

The state of the connection. The following are the possible values:

  • ordering: The initial state of a hosted connection provisioned on an interconnect. The connection stays in the ordering state until the owner of the hosted connection confirms or declines the connection order.

  • requested: The initial state of a standard connection. The connection stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.

  • pending: The connection has been approved and is being initialized.

  • available: The network link is up and the connection is ready for use.

  • down: The network link is down.

  • deleting: The connection is being deleted.

  • deleted: The connection has been deleted.

  • rejected: A hosted connection in the ordering state enters the rejected state if it is deleted by the customer.

  • unknown: The state of the connection is not available.

" }, "region":{ "shape":"Region", @@ -1036,7 +1262,8 @@ "down", "deleting", "deleted", - "rejected" + "rejected", + "unknown" ] }, "Connections":{ @@ -1097,17 +1324,61 @@ } } }, - "CreateDirectConnectGatewayAssociationRequest":{ + "CreateDirectConnectGatewayAssociationProposalRequest":{ "type":"structure", "required":[ "directConnectGatewayId", - "virtualGatewayId" + "directConnectGatewayOwnerAccount", + "gatewayId" ], "members":{ "directConnectGatewayId":{ "shape":"DirectConnectGatewayId", "documentation":"

The ID of the Direct Connect gateway.

" }, + "directConnectGatewayOwnerAccount":{ + "shape":"OwnerAccount", + "documentation":"

The ID of the AWS account that owns the Direct Connect gateway.

" + }, + "gatewayId":{ + "shape":"GatewayIdToAssociate", + "documentation":"

The ID of the virtual private gateway or transit gateway.

" + }, + "addAllowedPrefixesToDirectConnectGateway":{ + "shape":"RouteFilterPrefixList", + "documentation":"

The Amazon VPC prefixes to advertise to the Direct Connect gateway.

" + }, + "removeAllowedPrefixesToDirectConnectGateway":{ + "shape":"RouteFilterPrefixList", + "documentation":"

The Amazon VPC prefixes to no longer advertise to the Direct Connect gateway.

" + } + } + }, + "CreateDirectConnectGatewayAssociationProposalResult":{ + "type":"structure", + "members":{ + "directConnectGatewayAssociationProposal":{ + "shape":"DirectConnectGatewayAssociationProposal", + "documentation":"

Information about the Direct Connect gateway proposal.

" + } + } + }, + "CreateDirectConnectGatewayAssociationRequest":{ + "type":"structure", + "required":["directConnectGatewayId"], + "members":{ + "directConnectGatewayId":{ + "shape":"DirectConnectGatewayId", + "documentation":"

The ID of the Direct Connect gateway.

" + }, + "gatewayId":{ + "shape":"GatewayIdToAssociate", + "documentation":"

The ID of the virtual private gateway or transit gateway.

" + }, + "addAllowedPrefixesToDirectConnectGateway":{ + "shape":"RouteFilterPrefixList", + "documentation":"

The Amazon VPC prefixes to advertise to the Direct Connect gateway

" + }, "virtualGatewayId":{ "shape":"VirtualGatewayId", "documentation":"

The ID of the virtual private gateway.

" @@ -1191,7 +1462,7 @@ }, "connectionsBandwidth":{ "shape":"Bandwidth", - "documentation":"

The bandwidth of the individual physical connections bundled by the LAG. The possible values are 1Gbps and 10Gbps.

" + "documentation":"

The bandwidth of the individual physical connections bundled by the LAG. The possible values are 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, and 10Gbps.

" }, "lagName":{ "shape":"LagName", @@ -1237,6 +1508,29 @@ } } }, + "CreateTransitVirtualInterfaceRequest":{ + "type":"structure", + "required":[ + "connectionId", + "newTransitVirtualInterface" + ], + "members":{ + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the connection.

" + }, + "newTransitVirtualInterface":{ + "shape":"NewTransitVirtualInterface", + "documentation":"

Information about the transit virtual interface.

" + } + } + }, + "CreateTransitVirtualInterfaceResult":{ + "type":"structure", + "members":{ + "virtualInterface":{"shape":"VirtualInterface"} + } + }, "CustomerAddress":{"type":"string"}, "DeleteBGPPeerRequest":{ "type":"structure", @@ -1278,13 +1572,32 @@ } } }, + "DeleteDirectConnectGatewayAssociationProposalRequest":{ + "type":"structure", + "required":["proposalId"], + "members":{ + "proposalId":{ + "shape":"DirectConnectGatewayAssociationProposalId", + "documentation":"

The ID of the proposal.

" + } + } + }, + "DeleteDirectConnectGatewayAssociationProposalResult":{ + "type":"structure", + "members":{ + "directConnectGatewayAssociationProposal":{ + "shape":"DirectConnectGatewayAssociationProposal", + "documentation":"

The ID of the associated gateway.

" + } + } + }, "DeleteDirectConnectGatewayAssociationRequest":{ "type":"structure", - "required":[ - "directConnectGatewayId", - "virtualGatewayId" - ], "members":{ + "associationId":{ + "shape":"DirectConnectGatewayAssociationId", + "documentation":"

The ID of the Direct Connect gateway association.

" + }, "directConnectGatewayId":{ "shape":"DirectConnectGatewayId", "documentation":"

The ID of the Direct Connect gateway.

" @@ -1300,7 +1613,7 @@ "members":{ "directConnectGatewayAssociation":{ "shape":"DirectConnectGatewayAssociation", - "documentation":"

The association to be deleted.

" + "documentation":"

Information about the deleted association.

" } } }, @@ -1338,7 +1651,7 @@ "members":{ "interconnectState":{ "shape":"InterconnectState", - "documentation":"

The state of the interconnect. The following are the possible values:

  • requested: The initial state of an interconnect. The interconnect stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.

  • pending: The interconnect is approved, and is being initialized.

  • available: The network link is up, and the interconnect is ready for use.

  • down: The network link is down.

  • deleting: The interconnect is being deleted.

  • deleted: The interconnect is deleted.

" + "documentation":"

The state of the interconnect. The following are the possible values:

  • requested: The initial state of an interconnect. The interconnect stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.

  • pending: The interconnect is approved, and is being initialized.

  • available: The network link is up, and the interconnect is ready for use.

  • down: The network link is down.

  • deleting: The interconnect is being deleted.

  • deleted: The interconnect is deleted.

  • unknown: The state of the interconnect is not available.

" } } }, @@ -1367,7 +1680,7 @@ "members":{ "virtualInterfaceState":{ "shape":"VirtualInterfaceState", - "documentation":"

The state of the virtual interface. The following are the possible values:

  • confirming: The creation of the virtual interface is pending confirmation from the virtual interface owner. If the owner of the virtual interface is different from the owner of the connection on which it is provisioned, then the virtual interface will remain in this state until it is confirmed by the virtual interface owner.

  • verifying: This state only applies to public virtual interfaces. Each public virtual interface needs validation before the virtual interface can be created.

  • pending: A virtual interface is in this state from the time that it is created until the virtual interface is ready to forward traffic.

  • available: A virtual interface that is able to forward traffic.

  • down: A virtual interface that is BGP down.

  • deleting: A virtual interface is in this state immediately after calling DeleteVirtualInterface until it can no longer forward traffic.

  • deleted: A virtual interface that cannot forward traffic.

  • rejected: The virtual interface owner has declined creation of the virtual interface. If a virtual interface in the Confirming state is deleted by the virtual interface owner, the virtual interface enters the Rejected state.

" + "documentation":"

The state of the virtual interface. The following are the possible values:

  • confirming: The creation of the virtual interface is pending confirmation from the virtual interface owner. If the owner of the virtual interface is different from the owner of the connection on which it is provisioned, then the virtual interface will remain in this state until it is confirmed by the virtual interface owner.

  • verifying: This state only applies to public virtual interfaces. Each public virtual interface needs validation before the virtual interface can be created.

  • pending: A virtual interface is in this state from the time that it is created until the virtual interface is ready to forward traffic.

  • available: A virtual interface that is able to forward traffic.

  • down: A virtual interface that is BGP down.

  • deleting: A virtual interface is in this state immediately after calling DeleteVirtualInterface until it can no longer forward traffic.

  • deleted: A virtual interface that cannot forward traffic.

  • rejected: The virtual interface owner has declined creation of the virtual interface. If a virtual interface in the Confirming state is deleted by the virtual interface owner, the virtual interface enters the Rejected state.

  • unknown: The state of the virtual interface is not available.

" } } }, @@ -1417,24 +1730,70 @@ } } }, - "DescribeDirectConnectGatewayAssociationsRequest":{ + "DescribeDirectConnectGatewayAssociationProposalsRequest":{ "type":"structure", "members":{ "directConnectGatewayId":{ "shape":"DirectConnectGatewayId", "documentation":"

The ID of the Direct Connect gateway.

" }, - "virtualGatewayId":{ - "shape":"VirtualGatewayId", - "documentation":"

The ID of the virtual private gateway.

" + "proposalId":{ + "shape":"DirectConnectGatewayAssociationProposalId", + "documentation":"

The ID of the proposal.

" + }, + "associatedGatewayId":{ + "shape":"AssociatedGatewayId", + "documentation":"

The ID of the associated gateway.

" + }, + "maxResults":{ + "shape":"MaxResultSetSize", + "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.

If MaxResults is given a value larger than 100, only 100 results are returned.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The token for the next page of results.

" + } + } + }, + "DescribeDirectConnectGatewayAssociationProposalsResult":{ + "type":"structure", + "members":{ + "directConnectGatewayAssociationProposals":{ + "shape":"DirectConnectGatewayAssociationProposalList", + "documentation":"

Describes the Direct Connect gateway association proposals.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

" + } + } + }, + "DescribeDirectConnectGatewayAssociationsRequest":{ + "type":"structure", + "members":{ + "associationId":{ + "shape":"DirectConnectGatewayAssociationId", + "documentation":"

The ID of the Direct Connect gateway association.

" + }, + "associatedGatewayId":{ + "shape":"AssociatedGatewayId", + "documentation":"

The ID of the associated gateway.

" + }, + "directConnectGatewayId":{ + "shape":"DirectConnectGatewayId", + "documentation":"

The ID of the Direct Connect gateway.

" }, "maxResults":{ "shape":"MaxResultSetSize", - "documentation":"

The maximum number of associations to return per page.

" + "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.

If MaxResults is given a value larger than 100, only 100 results are returned.

" }, "nextToken":{ "shape":"PaginationToken", "documentation":"

The token provided in the previous call to retrieve the next page.

" + }, + "virtualGatewayId":{ + "shape":"VirtualGatewayId", + "documentation":"

The ID of the virtual private gateway.

" } } }, @@ -1443,7 +1802,7 @@ "members":{ "directConnectGatewayAssociations":{ "shape":"DirectConnectGatewayAssociationList", - "documentation":"

The associations.

" + "documentation":"

Information about the associations.

" }, "nextToken":{ "shape":"PaginationToken", @@ -1464,7 +1823,7 @@ }, "maxResults":{ "shape":"MaxResultSetSize", - "documentation":"

The maximum number of attachments to return per page.

" + "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.

If MaxResults is given a value larger than 100, only 100 results are returned.

" }, "nextToken":{ "shape":"PaginationToken", @@ -1494,7 +1853,7 @@ }, "maxResults":{ "shape":"MaxResultSetSize", - "documentation":"

The maximum number of Direct Connect gateways to return per page.

" + "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.

If MaxResults is given a value larger than 100, only 100 results are returned.

" }, "nextToken":{ "shape":"PaginationToken", @@ -1656,7 +2015,7 @@ "documentation":"

The error message if the state of an object failed to advance.

" } }, - "documentation":"

Information about a Direct Connect gateway, which enables you to connect virtual interfaces and virtual private gateways.

" + "documentation":"

Information about a Direct Connect gateway, which enables you to connect virtual interfaces and virtual private gateway or transit gateways.

" }, "DirectConnectGatewayAssociation":{ "type":"structure", @@ -1665,6 +2024,30 @@ "shape":"DirectConnectGatewayId", "documentation":"

The ID of the Direct Connect gateway.

" }, + "directConnectGatewayOwnerAccount":{ + "shape":"OwnerAccount", + "documentation":"

The ID of the AWS account that owns the associated gateway.

" + }, + "associationState":{ + "shape":"DirectConnectGatewayAssociationState", + "documentation":"

The state of the association. The following are the possible values:

  • associating: The initial state after calling CreateDirectConnectGatewayAssociation.

  • associated: The Direct Connect gateway and virtual private gateway or transit gateway are successfully associated and ready to pass traffic.

  • disassociating: The initial state after calling DeleteDirectConnectGatewayAssociation.

  • disassociated: The virtual private gateway or transit gateway is disassociated from the Direct Connect gateway. Traffic flow between the Direct Connect gateway and virtual private gateway or transit gateway is stopped.

" + }, + "stateChangeError":{ + "shape":"StateChangeError", + "documentation":"

The error message if the state of an object failed to advance.

" + }, + "associatedGateway":{ + "shape":"AssociatedGateway", + "documentation":"

Information about the associated gateway.

" + }, + "associationId":{ + "shape":"DirectConnectGatewayAssociationId", + "documentation":"

The ID of the Direct Connect gateway association.

" + }, + "allowedPrefixesToDirectConnectGateway":{ + "shape":"RouteFilterPrefixList", + "documentation":"

The Amazon VPC prefixes to advertise to the Direct Connect gateway.

" + }, "virtualGatewayId":{ "shape":"VirtualGatewayId", "documentation":"

The ID of the virtual private gateway. Applies only to private virtual interfaces.

" @@ -1676,29 +2059,70 @@ "virtualGatewayOwnerAccount":{ "shape":"OwnerAccount", "documentation":"

The ID of the AWS account that owns the virtual private gateway.

" - }, - "associationState":{ - "shape":"DirectConnectGatewayAssociationState", - "documentation":"

The state of the association. The following are the possible values:

  • associating: The initial state after calling CreateDirectConnectGatewayAssociation.

  • associated: The Direct Connect gateway and virtual private gateway are successfully associated and ready to pass traffic.

  • disassociating: The initial state after calling DeleteDirectConnectGatewayAssociation.

  • disassociated: The virtual private gateway is disassociated from the Direct Connect gateway. Traffic flow between the Direct Connect gateway and virtual private gateway is stopped.

" - }, - "stateChangeError":{ - "shape":"StateChangeError", - "documentation":"

The error message if the state of an object failed to advance.

" } }, - "documentation":"

Information about an association between a Direct Connect gateway and a virtual private gateway.

" + "documentation":"

Information about an association between a Direct Connect gateway and a virtual private gateway or transit gateway.

" }, + "DirectConnectGatewayAssociationId":{"type":"string"}, "DirectConnectGatewayAssociationList":{ "type":"list", "member":{"shape":"DirectConnectGatewayAssociation"} }, + "DirectConnectGatewayAssociationProposal":{ + "type":"structure", + "members":{ + "proposalId":{ + "shape":"DirectConnectGatewayAssociationProposalId", + "documentation":"

The ID of the association proposal.

" + }, + "directConnectGatewayId":{ + "shape":"DirectConnectGatewayId", + "documentation":"

The ID of the Direct Connect gateway.

" + }, + "directConnectGatewayOwnerAccount":{ + "shape":"OwnerAccount", + "documentation":"

The ID of the AWS account that owns the Direct Connect gateway.

" + }, + "proposalState":{ + "shape":"DirectConnectGatewayAssociationProposalState", + "documentation":"

The state of the proposal. The following are possible values:

  • accepted: The proposal has been accepted. The Direct Connect gateway association is available to use in this state.

  • deleted: The proposal has been deleted by the owner that made the proposal. The Direct Connect gateway association cannot be used in this state.

  • requested: The proposal has been requested. The Direct Connect gateway association cannot be used in this state.

" + }, + "associatedGateway":{ + "shape":"AssociatedGateway", + "documentation":"

Information about the associated gateway.

" + }, + "existingAllowedPrefixesToDirectConnectGateway":{ + "shape":"RouteFilterPrefixList", + "documentation":"

The existing Amazon VPC prefixes advertised to the Direct Connect gateway.

" + }, + "requestedAllowedPrefixesToDirectConnectGateway":{ + "shape":"RouteFilterPrefixList", + "documentation":"

The Amazon VPC prefixes to advertise to the Direct Connect gateway.

" + } + }, + "documentation":"

Information about the proposal request to attach a virtual private gateway to a Direct Connect gateway.

" + }, + "DirectConnectGatewayAssociationProposalId":{"type":"string"}, + "DirectConnectGatewayAssociationProposalList":{ + "type":"list", + "member":{"shape":"DirectConnectGatewayAssociationProposal"} + }, + "DirectConnectGatewayAssociationProposalState":{ + "type":"string", + "enum":[ + "requested", + "accepted", + "deleted" + ] + }, "DirectConnectGatewayAssociationState":{ "type":"string", "enum":[ "associating", "associated", "disassociating", - "disassociated" + "disassociated", + "updating" ] }, "DirectConnectGatewayAttachment":{ @@ -1724,6 +2148,10 @@ "shape":"DirectConnectGatewayAttachmentState", "documentation":"

The state of the attachment. The following are the possible values:

  • attaching: The initial state after a virtual interface is created using the Direct Connect gateway.

  • attached: The Direct Connect gateway and virtual interface are attached and ready to pass traffic.

  • detaching: The initial state after calling DeleteVirtualInterface.

  • detached: The virtual interface is detached from the Direct Connect gateway. Traffic flow between the Direct Connect gateway and virtual interface is stopped.

" }, + "attachmentType":{ + "shape":"DirectConnectGatewayAttachmentType", + "documentation":"

The type of attachment.

" + }, "stateChangeError":{ "shape":"StateChangeError", "documentation":"

The error message if the state of an object failed to advance.

" @@ -1744,6 +2172,13 @@ "detached" ] }, + "DirectConnectGatewayAttachmentType":{ + "type":"string", + "enum":[ + "TransitVirtualInterface", + "PrivateVirtualInterface" + ] + }, "DirectConnectGatewayId":{"type":"string"}, "DirectConnectGatewayList":{ "type":"list", @@ -1776,11 +2211,11 @@ "members":{ "connectionId":{ "shape":"ConnectionId", - "documentation":"

The ID of the connection. For example, dxcon-abc123.

" + "documentation":"

The ID of the connection.

" }, "lagId":{ "shape":"LagId", - "documentation":"

The ID of the LAG. For example, dxlag-abc123.

" + "documentation":"

The ID of the LAG.

" } } }, @@ -1792,6 +2227,15 @@ "exception":true }, "ErrorMessage":{"type":"string"}, + "GatewayIdToAssociate":{"type":"string"}, + "GatewayIdentifier":{"type":"string"}, + "GatewayType":{ + "type":"string", + "enum":[ + "virtualPrivateGateway", + "transitGateway" + ] + }, "HasLogicalRedundancy":{ "type":"string", "enum":[ @@ -1813,7 +2257,7 @@ }, "interconnectState":{ "shape":"InterconnectState", - "documentation":"

The state of the interconnect. The following are the possible values:

  • requested: The initial state of an interconnect. The interconnect stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.

  • pending: The interconnect is approved, and is being initialized.

  • available: The network link is up, and the interconnect is ready for use.

  • down: The network link is down.

  • deleting: The interconnect is being deleted.

  • deleted: The interconnect is deleted.

" + "documentation":"

The state of the interconnect. The following are the possible values:

  • requested: The initial state of an interconnect. The interconnect stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.

  • pending: The interconnect is approved, and is being initialized.

  • available: The network link is up, and the interconnect is ready for use.

  • down: The network link is down.

  • deleting: The interconnect is being deleted.

  • deleted: The interconnect is deleted.

  • unknown: The state of the interconnect is not available.

" }, "region":{ "shape":"Region", @@ -1868,7 +2312,8 @@ "available", "down", "deleting", - "deleted" + "deleted", + "unknown" ] }, "Interconnects":{ @@ -1886,7 +2331,7 @@ "members":{ "connectionsBandwidth":{ "shape":"Bandwidth", - "documentation":"

The individual bandwidth of the physical connections bundled by the LAG. The possible values are 1Gbps and 10Gbps.

" + "documentation":"

The individual bandwidth of the physical connections bundled by the LAG. The possible values are 1Gbps and 10Gbps.

" }, "numberOfConnections":{ "shape":"Count", @@ -1906,7 +2351,7 @@ }, "lagState":{ "shape":"LagState", - "documentation":"

The state of the LAG. The following are the possible values:

  • requested: The initial state of a LAG. The LAG stays in the requested state until the Letter of Authorization (LOA) is available.

  • pending: The LAG has been approved and is being initialized.

  • available: The network link is established and the LAG is ready for use.

  • down: The network link is down.

  • deleting: The LAG is being deleted.

  • deleted: The LAG is deleted.

" + "documentation":"

The state of the LAG. The following are the possible values:

  • requested: The initial state of a LAG. The LAG stays in the requested state until the Letter of Authorization (LOA) is available.

  • pending: The LAG has been approved and is being initialized.

  • available: The network link is established and the LAG is ready for use.

  • down: The network link is down.

  • deleting: The LAG is being deleted.

  • deleted: The LAG is deleted.

  • unknown: The state of the LAG is not available.

" }, "location":{ "shape":"LocationCode", @@ -1922,11 +2367,11 @@ }, "awsDevice":{ "shape":"AwsDevice", - "documentation":"

The Direct Connect endpoint that hosts the LAG.

" + "documentation":"

The AWS Direct Connect endpoint that hosts the LAG.

" }, "awsDeviceV2":{ "shape":"AwsDeviceV2", - "documentation":"

The Direct Connect endpoint that hosts the LAG.

" + "documentation":"

The AWS Direct Connect endpoint that hosts the LAG.

" }, "connections":{ "shape":"ConnectionList", @@ -1961,7 +2406,8 @@ "available", "down", "deleting", - "deleted" + "deleted", + "unknown" ] }, "Lags":{ @@ -2007,6 +2453,10 @@ "region":{ "shape":"Region", "documentation":"

The AWS Region for the location.

" + }, + "availablePortSpeeds":{ + "shape":"AvailablePortSpeeds", + "documentation":"

The available port speeds for the location.

" } }, "documentation":"

Information about an AWS Direct Connect location.

" @@ -2238,9 +2688,90 @@ }, "documentation":"

Information about a public virtual interface to be provisioned on a connection.

" }, + "NewTransitVirtualInterface":{ + "type":"structure", + "members":{ + "virtualInterfaceName":{ + "shape":"VirtualInterfaceName", + "documentation":"

The name of the virtual interface assigned by the customer network.

" + }, + "vlan":{ + "shape":"VLAN", + "documentation":"

The ID of the VLAN.

" + }, + "asn":{ + "shape":"ASN", + "documentation":"

The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

" + }, + "mtu":{ + "shape":"MTU", + "documentation":"

The maximum transmission unit (MTU), in bytes. The supported values are 1500 and 9001. The default value is 1500.

" + }, + "authKey":{ + "shape":"BGPAuthKey", + "documentation":"

The authentication key for BGP configuration.

" + }, + "amazonAddress":{ + "shape":"AmazonAddress", + "documentation":"

The IP address assigned to the Amazon interface.

" + }, + "customerAddress":{ + "shape":"CustomerAddress", + "documentation":"

The IP address assigned to the customer interface.

" + }, + "addressFamily":{ + "shape":"AddressFamily", + "documentation":"

The address family for the BGP peer.

" + }, + "directConnectGatewayId":{ + "shape":"DirectConnectGatewayId", + "documentation":"

The ID of the Direct Connect gateway.

" + } + }, + "documentation":"

Information about a transit virtual interface.

" + }, + "NewTransitVirtualInterfaceAllocation":{ + "type":"structure", + "members":{ + "virtualInterfaceName":{ + "shape":"VirtualInterfaceName", + "documentation":"

The name of the virtual interface assigned by the customer network.

" + }, + "vlan":{ + "shape":"VLAN", + "documentation":"

The ID of the VLAN.

" + }, + "asn":{ + "shape":"ASN", + "documentation":"

The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

" + }, + "mtu":{ + "shape":"MTU", + "documentation":"

The maximum transmission unit (MTU), in bytes. The supported values are 1500 and 9001. The default value is 1500.

" + }, + "authKey":{ + "shape":"BGPAuthKey", + "documentation":"

The authentication key for BGP configuration.

" + }, + "amazonAddress":{ + "shape":"AmazonAddress", + "documentation":"

The IP address assigned to the Amazon interface.

" + }, + "customerAddress":{ + "shape":"CustomerAddress", + "documentation":"

The IP address assigned to the customer interface.

" + }, + "addressFamily":{ + "shape":"AddressFamily", + "documentation":"

The address family for the BGP peer.

" + } + }, + "documentation":"

Information about a transit virtual interface to be provisioned on a connection.

" + }, "OwnerAccount":{"type":"string"}, "PaginationToken":{"type":"string"}, "PartnerName":{"type":"string"}, + "PortSpeed":{"type":"string"}, "ProviderName":{"type":"string"}, "Region":{"type":"string"}, "ResourceArn":{"type":"string"}, @@ -2369,6 +2900,29 @@ "members":{ } }, + "UpdateDirectConnectGatewayAssociationRequest":{ + "type":"structure", + "members":{ + "associationId":{ + "shape":"DirectConnectGatewayAssociationId", + "documentation":"

The ID of the Direct Connect gateway association.

" + }, + "addAllowedPrefixesToDirectConnectGateway":{ + "shape":"RouteFilterPrefixList", + "documentation":"

The Amazon VPC prefixes to advertise to the Direct Connect gateway.

" + }, + "removeAllowedPrefixesToDirectConnectGateway":{ + "shape":"RouteFilterPrefixList", + "documentation":"

The Amazon VPC prefixes to no longer advertise to the Direct Connect gateway.

" + } + } + }, + "UpdateDirectConnectGatewayAssociationResult":{ + "type":"structure", + "members":{ + "directConnectGatewayAssociation":{"shape":"DirectConnectGatewayAssociation"} + } + }, "UpdateLagRequest":{ "type":"structure", "required":["lagId"], @@ -2416,12 +2970,18 @@ }, "documentation":"

Information about a virtual private gateway for a private virtual interface.

" }, - "VirtualGatewayId":{"type":"string"}, + "VirtualGatewayId":{ + "type":"string", + "deprecated":true + }, "VirtualGatewayList":{ "type":"list", "member":{"shape":"VirtualGateway"} }, - "VirtualGatewayRegion":{"type":"string"}, + "VirtualGatewayRegion":{ + "type":"string", + "deprecated":true + }, "VirtualGatewayState":{"type":"string"}, "VirtualGateways":{ "type":"structure", @@ -2489,7 +3049,7 @@ }, "virtualInterfaceState":{ "shape":"VirtualInterfaceState", - "documentation":"

The state of the virtual interface. The following are the possible values:

  • confirming: The creation of the virtual interface is pending confirmation from the virtual interface owner. If the owner of the virtual interface is different from the owner of the connection on which it is provisioned, then the virtual interface will remain in this state until it is confirmed by the virtual interface owner.

  • verifying: This state only applies to public virtual interfaces. Each public virtual interface needs validation before the virtual interface can be created.

  • pending: A virtual interface is in this state from the time that it is created until the virtual interface is ready to forward traffic.

  • available: A virtual interface that is able to forward traffic.

  • down: A virtual interface that is BGP down.

  • deleting: A virtual interface is in this state immediately after calling DeleteVirtualInterface until it can no longer forward traffic.

  • deleted: A virtual interface that cannot forward traffic.

  • rejected: The virtual interface owner has declined creation of the virtual interface. If a virtual interface in the Confirming state is deleted by the virtual interface owner, the virtual interface enters the Rejected state.

" + "documentation":"

The state of the virtual interface. The following are the possible values:

  • confirming: The creation of the virtual interface is pending confirmation from the virtual interface owner. If the owner of the virtual interface is different from the owner of the connection on which it is provisioned, then the virtual interface will remain in this state until it is confirmed by the virtual interface owner.

  • verifying: This state only applies to public virtual interfaces. Each public virtual interface needs validation before the virtual interface can be created.

  • pending: A virtual interface is in this state from the time that it is created until the virtual interface is ready to forward traffic.

  • available: A virtual interface that is able to forward traffic.

  • down: A virtual interface that is BGP down.

  • deleting: A virtual interface is in this state immediately after calling DeleteVirtualInterface until it can no longer forward traffic.

  • deleted: A virtual interface that cannot forward traffic.

  • rejected: The virtual interface owner has declined creation of the virtual interface. If a virtual interface in the Confirming state is deleted by the virtual interface owner, the virtual interface enters the Rejected state.

  • unknown: The state of the virtual interface is not available.

" }, "customerRouterConfig":{ "shape":"RouterConfig", @@ -2547,7 +3107,8 @@ "down", "deleting", "deleted", - "rejected" + "rejected", + "unknown" ] }, "VirtualInterfaceType":{"type":"string"}, diff --git a/bin/botocore/data/discovery/2015-11-01/paginators-1.json b/bin/botocore/data/discovery/2015-11-01/paginators-1.json index ea142457..9afc883b 100644 --- a/bin/botocore/data/discovery/2015-11-01/paginators-1.json +++ b/bin/botocore/data/discovery/2015-11-01/paginators-1.json @@ -1,3 +1,40 @@ { - "pagination": {} + "pagination": { + "DescribeAgents": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "agentsInfo" + }, + "DescribeContinuousExports": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "descriptions" + }, + "DescribeExportConfigurations": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "exportsInfo" + }, + "DescribeExportTasks": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "exportsInfo" + }, + "DescribeTags": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "tags" + }, + "ListConfigurations": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "configurations" + } + } } diff --git a/bin/botocore/data/discovery/2015-11-01/service-2.json b/bin/botocore/data/discovery/2015-11-01/service-2.json index 3cc37b2d..1f54b8d9 100644 --- a/bin/botocore/data/discovery/2015-11-01/service-2.json +++ b/bin/botocore/data/discovery/2015-11-01/service-2.json @@ -28,6 +28,21 @@ ], "documentation":"

Associates one or more configuration items with an application.

" }, + "BatchDeleteImportData":{ + "name":"BatchDeleteImportData", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchDeleteImportDataRequest"}, + "output":{"shape":"BatchDeleteImportDataResponse"}, + "errors":[ + {"shape":"AuthorizationErrorException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalErrorException"} + ], + "documentation":"

Deletes one or more import tasks, each identified by their import ID. Each import task has a number of records that can identify servers or applications.

AWS Application Discovery Service has built-in matching logic that will identify when discovered servers match existing entries that you've previously discovered, the information for the already-existing discovered server is updated. When you delete an import task that contains records that were used to match, the information in those matched records that comes from the deleted records will also be deleted.

" + }, "CreateApplication":{ "name":"CreateApplication", "http":{ @@ -124,7 +139,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"ServerInternalErrorException"} ], - "documentation":"

Retrieves attributes for a list of configuration item IDs.

All of the supplied IDs must be for the same asset type from one of the follwoing:

  • server

  • application

  • process

  • connection

Output fields are specific to the asset type specified. For example, the output for a server configuration item includes a list of attributes about the server, such as host name, operating system, number of network cards, etc.

For a complete list of outputs for each asset type, see Using the DescribeConfigurations Action.

" + "documentation":"

Retrieves attributes for a list of configuration item IDs.

All of the supplied IDs must be for the same asset type from one of the following:

  • server

  • application

  • process

  • connection

Output fields are specific to the asset type specified. For example, the output for a server configuration item includes a list of attributes about the server, such as host name, operating system, number of network cards, etc.

For a complete list of outputs for each asset type, see Using the DescribeConfigurations Action.

" }, "DescribeContinuousExports":{ "name":"DescribeContinuousExports", @@ -159,7 +174,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"ServerInternalErrorException"} ], - "documentation":"

DescribeExportConfigurations is deprecated.

Use instead DescribeExportTasks .

", + "documentation":"

DescribeExportConfigurations is deprecated. Use DescribeImportTasks, instead.

", "deprecated":true }, "DescribeExportTasks":{ @@ -178,6 +193,21 @@ ], "documentation":"

Retrieve status of one or more export tasks. You can retrieve the status of up to 100 export tasks.

" }, + "DescribeImportTasks":{ + "name":"DescribeImportTasks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeImportTasksRequest"}, + "output":{"shape":"DescribeImportTasksResponse"}, + "errors":[ + {"shape":"AuthorizationErrorException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalErrorException"} + ], + "documentation":"

Returns an array of import tasks for your account, including status information, times, IDs, the Amazon S3 Object URL for the import file, and more.

" + }, "DescribeTags":{ "name":"DescribeTags", "http":{ @@ -329,6 +359,22 @@ ], "documentation":"

Begins the export of discovered data to an S3 bucket.

If you specify agentIds in a filter, the task exports up to 72 hours of detailed data collected by the identified Application Discovery Agent, including network, process, and performance details. A time range for exported agent data may be set by using startTime and endTime. Export of detailed agent data is limited to five concurrently running exports.

If you do not include an agentIds filter, summary data is exported that includes both AWS Agentless Discovery Connector data and summary data from AWS Discovery Agents. Export of summary data is limited to two exports per day.

" }, + "StartImportTask":{ + "name":"StartImportTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartImportTaskRequest"}, + "output":{"shape":"StartImportTaskResponse"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"AuthorizationErrorException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalErrorException"} + ], + "documentation":"

Starts an import task, which allows you to import details of your on-premises environment directly into AWS without having to use the Application Discovery Service (ADS) tools such as the Discovery Connector or Discovery Agent. This gives you the option to perform migration assessment and planning directly from your imported data, including the ability to group your devices as applications and track their migration status.

To start an import request, do this:

  1. Download the specially formatted comma separated value (CSV) import template, which you can find here: https://s3-us-west-2.amazonaws.com/templates-7cffcf56-bd96-4b1c-b45b-a5b42f282e46/import_template.csv.

  2. Fill out the template with your server and application data.

  3. Upload your import file to an Amazon S3 bucket, and make a note of it's Object URL. Your import file must be in the CSV format.

  4. Use the console or the StartImportTask command with the AWS CLI or one of the AWS SDKs to import the records from your file.

For more information, including step-by-step procedures, see Migration Hub Import in the AWS Application Discovery Service User Guide.

There are limits to the number of import tasks you can create (and delete) in an AWS account. For more information, see AWS Application Discovery Service Limits in the AWS Application Discovery Service User Guide.

" + }, "StopContinuousExport":{ "name":"StopContinuousExport", "http":{ @@ -523,11 +569,66 @@ "documentation":"

The AWS user account does not have permission to perform the action. Check the IAM policy associated with this account.

", "exception":true }, + "BatchDeleteImportDataError":{ + "type":"structure", + "members":{ + "importTaskId":{ + "shape":"ImportTaskIdentifier", + "documentation":"

The unique import ID associated with the error that occurred.

" + }, + "errorCode":{ + "shape":"BatchDeleteImportDataErrorCode", + "documentation":"

The type of error that occurred for a specific import task.

" + }, + "errorDescription":{ + "shape":"BatchDeleteImportDataErrorDescription", + "documentation":"

The description of the error that occurred for a specific import task.

" + } + }, + "documentation":"

Error messages returned for each import task that you deleted as a response for this command.

" + }, + "BatchDeleteImportDataErrorCode":{ + "type":"string", + "enum":[ + "NOT_FOUND", + "INTERNAL_SERVER_ERROR", + "OVER_LIMIT" + ] + }, + "BatchDeleteImportDataErrorDescription":{"type":"string"}, + "BatchDeleteImportDataErrorList":{ + "type":"list", + "member":{"shape":"BatchDeleteImportDataError"} + }, + "BatchDeleteImportDataRequest":{ + "type":"structure", + "required":["importTaskIds"], + "members":{ + "importTaskIds":{ + "shape":"ToDeleteIdentifierList", + "documentation":"

The IDs for the import tasks that you want to delete.

" + } + } + }, + "BatchDeleteImportDataResponse":{ + "type":"structure", + "members":{ + "errors":{ + "shape":"BatchDeleteImportDataErrorList", + "documentation":"

Error messages returned for each import task that you deleted as a response for this command.

" + } + } + }, "Boolean":{"type":"boolean"}, "BoxedInteger":{ "type":"integer", "box":true }, + "ClientRequestToken":{ + "type":"string", + "max":100, + "min":1 + }, "Condition":{"type":"string"}, "Configuration":{ "type":"map", @@ -605,7 +706,7 @@ }, "statusDetail":{ "shape":"StringMax255", - "documentation":"

Contains information about any errors that may have occurred.

" + "documentation":"

Contains information about any errors that have occurred. This data type can have the following values:

  • ACCESS_DENIED - You don’t have permission to start Data Exploration in Amazon Athena. Contact your AWS administrator for help. For more information, see Setting Up AWS Application Discovery Service in the Application Discovery Service User Guide.

  • DELIVERY_STREAM_LIMIT_FAILURE - You reached the limit for Amazon Kinesis Data Firehose delivery streams. Reduce the number of streams or request a limit increase and try again. For more information, see Kinesis Data Streams Limits in the Amazon Kinesis Data Streams Developer Guide.

  • FIREHOSE_ROLE_MISSING - The Data Exploration feature is in an error state because your IAM User is missing the AWSApplicationDiscoveryServiceFirehose role. Turn on Data Exploration in Amazon Athena and try again. For more information, see Step 3: Provide Application Discovery Service Access to Non-Administrator Users by Attaching Policies in the Application Discovery Service User Guide.

  • FIREHOSE_STREAM_DOES_NOT_EXIST - The Data Exploration feature is in an error state because your IAM User is missing one or more of the Kinesis data delivery streams.

  • INTERNAL_FAILURE - The Data Exploration feature is in an error state because of an internal failure. Try again later. If this problem persists, contact AWS Support.

  • S3_BUCKET_LIMIT_FAILURE - You reached the limit for Amazon S3 buckets. Reduce the number of Amazon S3 buckets or request a limit increase and try again. For more information, see Bucket Restrictions and Limitations in the Amazon Simple Storage Service Developer Guide.

  • S3_NOT_SIGNED_UP - Your account is not signed up for the Amazon S3 service. You must sign up before you can use Amazon S3. You can sign up at the following URL: https://aws.amazon.com/s3.

" }, "s3Bucket":{ "shape":"S3Bucket", @@ -986,6 +1087,46 @@ } } }, + "DescribeImportTasksFilterList":{ + "type":"list", + "member":{"shape":"ImportTaskFilter"} + }, + "DescribeImportTasksMaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "DescribeImportTasksRequest":{ + "type":"structure", + "members":{ + "filters":{ + "shape":"DescribeImportTasksFilterList", + "documentation":"

An array of name-value pairs that you provide to filter the results for the DescribeImportTask request to a specific subset of results. Currently, wildcard values aren't supported for filters.

" + }, + "maxResults":{ + "shape":"DescribeImportTasksMaxResults", + "documentation":"

The maximum number of results that you want this request to return, up to 100.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to request a specific page of results.

" + } + } + }, + "DescribeImportTasksResponse":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to request the next page of results.

" + }, + "tasks":{ + "shape":"ImportTaskList", + "documentation":"

A returned array of import tasks that match any applied filters, up to the specified number of maximum results.

" + } + } + }, "DescribeTagsRequest":{ "type":"structure", "members":{ @@ -1214,6 +1355,128 @@ } } }, + "ImportStatus":{ + "type":"string", + "enum":[ + "IMPORT_IN_PROGRESS", + "IMPORT_COMPLETE", + "IMPORT_COMPLETE_WITH_ERRORS", + "IMPORT_FAILED", + "IMPORT_FAILED_SERVER_LIMIT_EXCEEDED", + "IMPORT_FAILED_RECORD_LIMIT_EXCEEDED", + "DELETE_IN_PROGRESS", + "DELETE_COMPLETE", + "DELETE_FAILED", + "DELETE_FAILED_LIMIT_EXCEEDED", + "INTERNAL_ERROR" + ] + }, + "ImportTask":{ + "type":"structure", + "members":{ + "importTaskId":{ + "shape":"ImportTaskIdentifier", + "documentation":"

The unique ID for a specific import task. These IDs aren't globally unique, but they are unique within an AWS account.

" + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A unique token used to prevent the same import request from occurring more than once. If you didn't provide a token, a token was automatically generated when the import task request was sent.

" + }, + "name":{ + "shape":"ImportTaskName", + "documentation":"

A descriptive name for an import task. You can use this name to filter future requests related to this import task, such as identifying applications and servers that were included in this import task. We recommend that you use a meaningful name for each import task.

" + }, + "importUrl":{ + "shape":"ImportURL", + "documentation":"

The URL for your import file that you've uploaded to Amazon S3.

" + }, + "status":{ + "shape":"ImportStatus", + "documentation":"

The status of the import task. An import can have the status of IMPORT_COMPLETE and still have some records fail to import from the overall request. More information can be found in the downloadable archive defined in the errorsAndFailedEntriesZip field, or in the Migration Hub management console.

" + }, + "importRequestTime":{ + "shape":"TimeStamp", + "documentation":"

The time that the import task request was made, presented in the Unix time stamp format.

" + }, + "importCompletionTime":{ + "shape":"TimeStamp", + "documentation":"

The time that the import task request finished, presented in the Unix time stamp format.

" + }, + "importDeletedTime":{ + "shape":"TimeStamp", + "documentation":"

The time that the import task request was deleted, presented in the Unix time stamp format.

" + }, + "serverImportSuccess":{ + "shape":"Integer", + "documentation":"

The total number of server records in the import file that were successfully imported.

" + }, + "serverImportFailure":{ + "shape":"Integer", + "documentation":"

The total number of server records in the import file that failed to be imported.

" + }, + "applicationImportSuccess":{ + "shape":"Integer", + "documentation":"

The total number of application records in the import file that were successfully imported.

" + }, + "applicationImportFailure":{ + "shape":"Integer", + "documentation":"

The total number of application records in the import file that failed to be imported.

" + }, + "errorsAndFailedEntriesZip":{ + "shape":"S3PresignedUrl", + "documentation":"

A link to a compressed archive folder (in the ZIP format) that contains an error log and a file of failed records. You can use these two files to quickly identify records that failed, why they failed, and correct those records. Afterward, you can upload the corrected file to your Amazon S3 bucket and create another import task request.

This field also includes authorization information so you can confirm the authenticity of the compressed archive before you download it.

If some records failed to be imported we recommend that you correct the records in the failed entries file and then imports that failed entries file. This prevents you from having to correct and update the larger original file and attempt importing it again.

" + } + }, + "documentation":"

An array of information related to the import task request that includes status information, times, IDs, the Amazon S3 Object URL for the import file, and more.

" + }, + "ImportTaskFilter":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ImportTaskFilterName", + "documentation":"

The name, status, or import task ID for a specific import task.

" + }, + "values":{ + "shape":"ImportTaskFilterValueList", + "documentation":"

An array of strings that you can provide to match against a specific name, status, or import task ID to filter the results for your import task queries.

" + } + }, + "documentation":"

A name-values pair of elements you can use to filter the results when querying your import tasks. Currently, wildcards are not supported for filters.

When filtering by import status, all other filter values are ignored.

" + }, + "ImportTaskFilterName":{ + "type":"string", + "enum":[ + "IMPORT_TASK_ID", + "STATUS", + "NAME" + ] + }, + "ImportTaskFilterValue":{ + "type":"string", + "max":100, + "min":1 + }, + "ImportTaskFilterValueList":{ + "type":"list", + "member":{"shape":"ImportTaskFilterValue"}, + "max":100, + "min":1 + }, + "ImportTaskIdentifier":{"type":"string"}, + "ImportTaskList":{ + "type":"list", + "member":{"shape":"ImportTask"} + }, + "ImportTaskName":{ + "type":"string", + "max":100, + "min":1 + }, + "ImportURL":{ + "type":"string", + "max":4000, + "min":1 + }, "Integer":{"type":"integer"}, "InvalidParameterException":{ "type":"structure", @@ -1384,7 +1647,7 @@ "members":{ "message":{"shape":"Message"} }, - "documentation":"

", + "documentation":"

This issue occurs when the same clientRequestToken is used with the StartImportTask action, but with different parameters. For example, you use the same request token but have two different import URLs, you can encounter this issue. If the import tasks are meant to be different, use a different clientRequestToken, and try again.

", "exception":true }, "ResourceNotFoundException":{ @@ -1396,6 +1659,7 @@ "exception":true }, "S3Bucket":{"type":"string"}, + "S3PresignedUrl":{"type":"string"}, "SchemaStorageConfig":{ "type":"map", "key":{"shape":"DatabaseName"}, @@ -1489,6 +1753,37 @@ } } }, + "StartImportTaskRequest":{ + "type":"structure", + "required":[ + "name", + "importUrl" + ], + "members":{ + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

Optional. A unique token that you can provide to prevent the same import request from occurring more than once. If you don't provide a token, a token is automatically generated.

Sending more than one StartImportTask request with the same client request token will return information about the original import task with that client request token.

", + "idempotencyToken":true + }, + "name":{ + "shape":"ImportTaskName", + "documentation":"

A descriptive name for this request. You can use this name to filter future requests related to this import task, such as identifying applications and servers that were included in this import task. We recommend that you use a meaningful name for each import task.

" + }, + "importUrl":{ + "shape":"ImportURL", + "documentation":"

The URL for your import file that you've uploaded to Amazon S3.

If you're using the AWS CLI, this URL is structured as follows: s3://BucketName/ImportFileName.CSV

" + } + } + }, + "StartImportTaskResponse":{ + "type":"structure", + "members":{ + "task":{ + "shape":"ImportTask", + "documentation":"

An array of information related to the import task request including status information, times, IDs, the Amazon S3 Object URL for the import file, and more.

" + } + } + }, "StopContinuousExportRequest":{ "type":"structure", "required":["exportId"], @@ -1584,6 +1879,12 @@ }, "TagValue":{"type":"string"}, "TimeStamp":{"type":"timestamp"}, + "ToDeleteIdentifierList":{ + "type":"list", + "member":{"shape":"ImportTaskIdentifier"}, + "max":10, + "min":1 + }, "UpdateApplicationRequest":{ "type":"structure", "required":["configurationId"], @@ -1615,5 +1916,5 @@ ] } }, - "documentation":"AWS Application Discovery Service

AWS Application Discovery Service helps you plan application migration projects by automatically identifying servers, virtual machines (VMs), software, and software dependencies running in your on-premises data centers. Application Discovery Service also collects application performance data, which can help you assess the outcome of your migration. The data collected by Application Discovery Service is securely retained in an AWS-hosted and managed database in the cloud. You can export the data as a CSV or XML file into your preferred visualization tool or cloud-migration solution to plan your migration. For more information, see AWS Application Discovery Service FAQ.

Application Discovery Service offers two modes of operation:

  • Agentless discovery mode is recommended for environments that use VMware vCenter Server. This mode doesn't require you to install an agent on each host. Agentless discovery gathers server information regardless of the operating systems, which minimizes the time required for initial on-premises infrastructure assessment. Agentless discovery doesn't collect information about software and software dependencies. It also doesn't work in non-VMware environments.

  • Agent-based discovery mode collects a richer set of data than agentless discovery by using the AWS Application Discovery Agent, which you install on one or more hosts in your data center. The agent captures infrastructure and application information, including an inventory of installed software applications, system and process performance, resource utilization, and network dependencies between workloads. The information collected by agents is secured at rest and in transit to the Application Discovery Service database in the cloud.

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

Application Discovery Service integrates with application discovery solutions from AWS Partner Network (APN) partners. Third-party application discovery tools can query Application Discovery Service and write to the Application Discovery Service database using a public API. You can then import the data into either a visualization tool or cloud-migration solution.

Application Discovery Service doesn't gather sensitive information. All data is handled according to the AWS Privacy Policy. You can operate Application Discovery Service offline to inspect collected data before it is shared with the service.

Your AWS account must be granted access to Application Discovery Service, a process called whitelisting. This is true for AWS partners and customers alike. To request access, sign up for Application Discovery Service.

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

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

" + "documentation":"AWS Application Discovery Service

AWS Application Discovery Service helps you plan application migration projects by automatically identifying servers, virtual machines (VMs), software, and software dependencies running in your on-premises data centers. Application Discovery Service also collects application performance data, which can help you assess the outcome of your migration. The data collected by Application Discovery Service is securely retained in an AWS-hosted and managed database in the cloud. You can export the data as a CSV or XML file into your preferred visualization tool or cloud-migration solution to plan your migration. For more information, see AWS Application Discovery Service FAQ.

Application Discovery Service offers two modes of operation:

  • Agentless discovery mode is recommended for environments that use VMware vCenter Server. This mode doesn't require you to install an agent on each host. Agentless discovery gathers server information regardless of the operating systems, which minimizes the time required for initial on-premises infrastructure assessment. Agentless discovery doesn't collect information about software and software dependencies. It also doesn't work in non-VMware environments.

  • Agent-based discovery mode collects a richer set of data than agentless discovery by using the AWS Application Discovery Agent, which you install on one or more hosts in your data center. The agent captures infrastructure and application information, including an inventory of installed software applications, system and process performance, resource utilization, and network dependencies between workloads. The information collected by agents is secured at rest and in transit to the Application Discovery Service database in the cloud.

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

Application Discovery Service integrates with application discovery solutions from AWS Partner Network (APN) partners. Third-party application discovery tools can query Application Discovery Service and write to the Application Discovery Service database using a public API. You can then import the data into either a visualization tool or cloud-migration solution.

Application Discovery Service doesn't gather sensitive information. All data is handled according to the AWS Privacy Policy. You can operate Application Discovery Service offline to inspect collected data before it is shared with the service.

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

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

" } diff --git a/bin/botocore/data/dlm/2018-01-12/service-2.json b/bin/botocore/data/dlm/2018-01-12/service-2.json index 294ad6c0..287eef1a 100644 --- a/bin/botocore/data/dlm/2018-01-12/service-2.json +++ b/bin/botocore/data/dlm/2018-01-12/service-2.json @@ -143,7 +143,7 @@ "members":{ "Interval":{ "shape":"Interval", - "documentation":"

The interval. The supported values are 12 and 24.

" + "documentation":"

The interval between snapshots. The supported values are 2, 3, 4, 6, 8, 12, and 24.

" }, "IntervalUnit":{ "shape":"IntervalUnitValues", @@ -151,7 +151,7 @@ }, "Times":{ "shape":"TimesList", - "documentation":"

The time, in UTC, to start the operation.

The operation occurs within a one-hour window following the specified time.

" + "documentation":"

The time, in UTC, to start the operation. The supported format is hh:mm.

The operation occurs within a one-hour window following the specified time.

" } }, "documentation":"

Specifies when to create snapshots of EBS volumes.

" @@ -175,6 +175,7 @@ }, "ErrorCode":{"type":"string"}, "ErrorMessage":{"type":"string"}, + "ExcludeBootVolume":{"type":"boolean"}, "ExecutionRoleArn":{"type":"string"}, "GetLifecyclePoliciesRequest":{ "type":"structure", @@ -360,6 +361,16 @@ "type":"list", "member":{"shape":"Parameter"} }, + "Parameters":{ + "type":"structure", + "members":{ + "ExcludeBootVolume":{ + "shape":"ExcludeBootVolume", + "documentation":"

When executing an EBS Snapshot Management – Instance policy, execute all CreateSnapshots calls with the excludeBootVolume set to the supplied field. Defaults to false. Only valid for EBS Snapshot Management – Instance policies.

" + } + }, + "documentation":"

Optional parameters that can be added to the policy. The set of valid parameters depends on the combination of policyType and resourceType values.

" + }, "PolicyDescription":{ "type":"string", "max":500, @@ -368,6 +379,10 @@ "PolicyDetails":{ "type":"structure", "members":{ + "PolicyType":{ + "shape":"PolicyTypeValues", + "documentation":"

This field determines the valid target resource types and actions a policy can manage. This field defaults to EBS_SNAPSHOT_MANAGEMENT if not present.

" + }, "ResourceTypes":{ "shape":"ResourceTypeValuesList", "documentation":"

The resource type.

" @@ -379,6 +394,10 @@ "Schedules":{ "shape":"ScheduleList", "documentation":"

The schedule of policy-defined actions.

" + }, + "Parameters":{ + "shape":"Parameters", + "documentation":"

A set of optional parameters that can be provided by the policy.

" } }, "documentation":"

Specifies the configuration of a lifecycle policy.

" @@ -388,6 +407,10 @@ "type":"list", "member":{"shape":"PolicyId"} }, + "PolicyTypeValues":{ + "type":"string", + "enum":["EBS_SNAPSHOT_MANAGEMENT"] + }, "ResourceNotFoundException":{ "type":"structure", "members":{ @@ -408,7 +431,10 @@ }, "ResourceTypeValues":{ "type":"string", - "enum":["VOLUME"] + "enum":[ + "VOLUME", + "INSTANCE" + ] }, "ResourceTypeValuesList":{ "type":"list", @@ -434,11 +460,18 @@ "shape":"ScheduleName", "documentation":"

The name of the schedule.

" }, - "CopyTags":{"shape":"CopyTags"}, + "CopyTags":{ + "shape":"CopyTags", + "documentation":"

Copy all user-defined tags on a source volume to snapshots of the volume created by this policy.

" + }, "TagsToAdd":{ "shape":"TagsToAddList", "documentation":"

The tags to apply to policy-created resources. These user-defined tags are in addition to the AWS-added lifecycle tags.

" }, + "VariableTags":{ + "shape":"VariableTagsList", + "documentation":"

A collection of key/value pairs with values determined dynamically when the policy is executed. Keys may be any valid Amazon EC2 tag key. Values must be in one of the two following formats: $(instance-id) or $(timestamp). Variable tags are only valid for EBS Snapshot Management – Instance policies.

" + }, "CreateRule":{ "shape":"CreateRule", "documentation":"

The create rule.

" @@ -521,7 +554,10 @@ "member":{"shape":"Time"}, "max":1 }, - "Timestamp":{"type":"timestamp"}, + "Timestamp":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, "UpdateLifecyclePolicyRequest":{ "type":"structure", "required":["PolicyId"], @@ -554,7 +590,13 @@ "type":"structure", "members":{ } + }, + "VariableTagsList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50, + "min":0 } }, - "documentation":"Amazon Data Lifecycle Manager

With Amazon Data Lifecycle Manager, you can manage the lifecycle of your AWS resources. You create lifecycle policies, which are used to automate operations on the specified resources.

Amazon DLM supports Amazon EBS volumes and snapshots. For information about using Amazon DLM with Amazon EBS, see Automating the Amazon EBS Snapshot Lifecycle in the Amazon EC2 User Guide.

" + "documentation":"Amazon Data Lifecycle Manager

With Amazon Data Lifecycle Manager, you can manage the lifecycle of your AWS resources. You create lifecycle policies, which are used to automate operations on the specified resources.

Amazon DLM supports Amazon EBS volumes and snapshots. For information about using Amazon DLM with Amazon EBS, see Automating the Amazon EBS Snapshot Lifecycle in the Amazon EC2 User Guide.

" } diff --git a/bin/botocore/data/dms/2016-01-01/service-2.json b/bin/botocore/data/dms/2016-01-01/service-2.json index c9d81359..341b6d9b 100644 --- a/bin/botocore/data/dms/2016-01-01/service-2.json +++ b/bin/botocore/data/dms/2016-01-01/service-2.json @@ -25,6 +25,19 @@ ], "documentation":"

Adds metadata tags to an AWS DMS resource, including replication instance, endpoint, security group, and migration task. These tags can also be used with cost allocation reporting to track cost associated with DMS resources, or used in a Condition statement in an IAM policy for DMS.

" }, + "ApplyPendingMaintenanceAction":{ + "name":"ApplyPendingMaintenanceAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ApplyPendingMaintenanceActionMessage"}, + "output":{"shape":"ApplyPendingMaintenanceActionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundFault"} + ], + "documentation":"

Applies a pending maintenance action to a resource (for example, to a replication instance).

" + }, "CreateEndpoint":{ "name":"CreateEndpoint", "http":{ @@ -53,12 +66,17 @@ "output":{"shape":"CreateEventSubscriptionResponse"}, "errors":[ {"shape":"ResourceQuotaExceededFault"}, + {"shape":"ResourceNotFoundFault"}, {"shape":"ResourceAlreadyExistsFault"}, {"shape":"SNSInvalidTopicFault"}, {"shape":"SNSNoAuthorizationFault"}, - {"shape":"ResourceNotFoundFault"} + {"shape":"KMSAccessDeniedFault"}, + {"shape":"KMSDisabledFault"}, + {"shape":"KMSInvalidStateFault"}, + {"shape":"KMSNotFoundFault"}, + {"shape":"KMSThrottlingFault"} ], - "documentation":"

Creates an AWS DMS event notification subscription.

You can specify the type of source (SourceType) you want to be notified of, provide a list of AWS DMS source IDs (SourceIds) that triggers the events, and provide a list of event categories (EventCategories) for events you want to be notified of. If you specify both the SourceType and SourceIds, such as SourceType = replication-instance and SourceIdentifier = my-replinstance, you will be notified of all the replication instance events for the specified source. If you specify a SourceType but don't specify a SourceIdentifier, you receive notice of the events for that source type for all your AWS DMS sources. If you don't specify either SourceType nor SourceIdentifier, you will be notified of events generated from all AWS DMS sources belonging to your customer account.

For more information about AWS DMS events, see Working with Events and Notifications in the AWS Database Migration Service User Guide.

" + "documentation":"

Creates an AWS DMS event notification subscription.

You can specify the type of source (SourceType) you want to be notified of, provide a list of AWS DMS source IDs (SourceIds) that triggers the events, and provide a list of event categories (EventCategories) for events you want to be notified of. If you specify both the SourceType and SourceIds, such as SourceType = replication-instance and SourceIdentifier = my-replinstance, you will be notified of all the replication instance events for the specified source. If you specify a SourceType but don't specify a SourceIdentifier, you receive notice of the events for that source type for all your AWS DMS sources. If you don't specify either SourceType nor SourceIdentifier, you will be notified of events generated from all AWS DMS sources belonging to your customer account.

For more information about AWS DMS events, see Working with Events and Notifications in the AWS Database Migration Service User Guide.

" }, "CreateReplicationInstance":{ "name":"CreateReplicationInstance", @@ -269,7 +287,7 @@ }, "input":{"shape":"DescribeEventCategoriesMessage"}, "output":{"shape":"DescribeEventCategoriesResponse"}, - "documentation":"

Lists categories for all event source types, or, if specified, for a specified source type. You can see a list of the event categories and source types in Working with Events and Notifications in the AWS Database Migration Service User Guide.

" + "documentation":"

Lists categories for all event source types, or, if specified, for a specified source type. You can see a list of the event categories and source types in Working with Events and Notifications in the AWS Database Migration Service User Guide.

" }, "DescribeEventSubscriptions":{ "name":"DescribeEventSubscriptions", @@ -292,7 +310,7 @@ }, "input":{"shape":"DescribeEventsMessage"}, "output":{"shape":"DescribeEventsResponse"}, - "documentation":"

Lists events for a given source identifier and source type. You can also specify a start and end time. For more information on AWS DMS events, see Working with Events and Notifications in the AWS Database Migration User Guide.

" + "documentation":"

Lists events for a given source identifier and source type. You can also specify a start and end time. For more information on AWS DMS events, see Working with Events and Notifications in the AWS Database Migration User Guide.

" }, "DescribeOrderableReplicationInstances":{ "name":"DescribeOrderableReplicationInstances", @@ -304,6 +322,19 @@ "output":{"shape":"DescribeOrderableReplicationInstancesResponse"}, "documentation":"

Returns information about the replication instance types that can be created in the specified region.

" }, + "DescribePendingMaintenanceActions":{ + "name":"DescribePendingMaintenanceActions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePendingMaintenanceActionsMessage"}, + "output":{"shape":"DescribePendingMaintenanceActionsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundFault"} + ], + "documentation":"

For internal use only

" + }, "DescribeRefreshSchemasStatus":{ "name":"DescribeRefreshSchemasStatus", "http":{ @@ -469,7 +500,12 @@ {"shape":"ResourceQuotaExceededFault"}, {"shape":"ResourceNotFoundFault"}, {"shape":"SNSInvalidTopicFault"}, - {"shape":"SNSNoAuthorizationFault"} + {"shape":"SNSNoAuthorizationFault"}, + {"shape":"KMSAccessDeniedFault"}, + {"shape":"KMSDisabledFault"}, + {"shape":"KMSInvalidStateFault"}, + {"shape":"KMSNotFoundFault"}, + {"shape":"KMSThrottlingFault"} ], "documentation":"

Modifies an existing AWS DMS event notification subscription.

" }, @@ -482,6 +518,7 @@ "input":{"shape":"ModifyReplicationInstanceMessage"}, "output":{"shape":"ModifyReplicationInstanceResponse"}, "errors":[ + {"shape":"AccessDeniedFault"}, {"shape":"InvalidResourceStateFault"}, {"shape":"ResourceAlreadyExistsFault"}, {"shape":"ResourceNotFoundFault"}, @@ -523,7 +560,7 @@ {"shape":"ResourceAlreadyExistsFault"}, {"shape":"KMSKeyNotAccessibleFault"} ], - "documentation":"

Modifies the specified replication task.

You can't modify the task endpoints. The task must be stopped before you can modify it.

For more information about AWS DMS tasks, see Working with Migration Tasks in the AWS Database Migration Service User Guide.

" + "documentation":"

Modifies the specified replication task.

You can't modify the task endpoints. The task must be stopped before you can modify it.

For more information about AWS DMS tasks, see Working with Migration Tasks in the AWS Database Migration Service User Guide.

" }, "RebootReplicationInstance":{ "name":"RebootReplicationInstance", @@ -595,7 +632,7 @@ {"shape":"InvalidResourceStateFault"}, {"shape":"AccessDeniedFault"} ], - "documentation":"

Starts the replication task.

For more information about AWS DMS tasks, see Working with Migration Tasks in the AWS Database Migration Service User Guide.

" + "documentation":"

Starts the replication task.

For more information about AWS DMS tasks, see Working with Migration Tasks in the AWS Database Migration Service User Guide.

" }, "StartReplicationTaskAssessment":{ "name":"StartReplicationTaskAssessment", @@ -651,7 +688,7 @@ "documentation":"

" } }, - "documentation":"

AWS DMS was denied access to the endpoint.

", + "documentation":"

AWS DMS was denied access to the endpoint. Check that the role is correctly configured.

", "exception":true }, "AccountQuota":{ @@ -700,6 +737,39 @@ }, "documentation":"

" }, + "ApplyPendingMaintenanceActionMessage":{ + "type":"structure", + "required":[ + "ReplicationInstanceArn", + "ApplyAction", + "OptInType" + ], + "members":{ + "ReplicationInstanceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the AWS DMS resource that the pending maintenance action applies to.

" + }, + "ApplyAction":{ + "shape":"String", + "documentation":"

The pending maintenance action to apply to this resource.

" + }, + "OptInType":{ + "shape":"String", + "documentation":"

A value that specifies the type of opt-in request, or undoes an opt-in request. An opt-in request of type immediate cannot be undone.

Valid values:

  • immediate - Apply the maintenance action immediately.

  • next-maintenance - Apply the maintenance action during the next maintenance window for the resource.

  • undo-opt-in - Cancel any existing next-maintenance opt-in requests.

" + } + }, + "documentation":"

" + }, + "ApplyPendingMaintenanceActionResponse":{ + "type":"structure", + "members":{ + "ResourcePendingMaintenanceActions":{ + "shape":"ResourcePendingMaintenanceActions", + "documentation":"

The AWS DMS resource that the pending maintenance action will be applied to.

" + } + }, + "documentation":"

" + }, "AuthMechanismValue":{ "type":"string", "enum":[ @@ -725,6 +795,10 @@ }, "documentation":"

" }, + "AvailabilityZonesList":{ + "type":"list", + "member":{"shape":"String"} + }, "Boolean":{"type":"boolean"}, "BooleanOptional":{"type":"boolean"}, "Certificate":{ @@ -889,11 +963,11 @@ }, "DynamoDbSettings":{ "shape":"DynamoDbSettings", - "documentation":"

Settings in JSON format for the target Amazon DynamoDB endpoint. For more information about the available settings, see Using Object Mapping to Migrate Data to DynamoDB in the AWS Database Migration Service User Guide.

" + "documentation":"

Settings in JSON format for the target Amazon DynamoDB endpoint. For more information about the available settings, see Using Object Mapping to Migrate Data to DynamoDB in the AWS Database Migration Service User Guide.

" }, "S3Settings":{ "shape":"S3Settings", - "documentation":"

Settings in JSON format for the target Amazon S3 endpoint. For more information about the available settings, see Extra Connection Attributes When Using Amazon S3 as a Target for AWS DMS in the AWS Database Migration Service User Guide.

" + "documentation":"

Settings in JSON format for the target Amazon S3 endpoint. For more information about the available settings, see Extra Connection Attributes When Using Amazon S3 as a Target for AWS DMS in the AWS Database Migration Service User Guide.

" }, "DmsTransferSettings":{ "shape":"DmsTransferSettings", @@ -901,16 +975,17 @@ }, "MongoDbSettings":{ "shape":"MongoDbSettings", - "documentation":"

Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see the configuration properties section in Using MongoDB as a Target for AWS Database Migration Service in the AWS Database Migration Service User Guide.

" + "documentation":"

Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see the configuration properties section in Using MongoDB as a Target for AWS Database Migration Service in the AWS Database Migration Service User Guide.

" }, "KinesisSettings":{ "shape":"KinesisSettings", - "documentation":"

Settings in JSON format for the target Amazon Kinesis Data Streams endpoint. For more information about the available settings, see Using Object Mapping to Migrate Data to a Kinesis Data Stream in the AWS Database Migration User Guide.

" + "documentation":"

Settings in JSON format for the target Amazon Kinesis Data Streams endpoint. For more information about the available settings, see Using Object Mapping to Migrate Data to a Kinesis Data Stream in the AWS Database Migration User Guide.

" }, "ElasticsearchSettings":{ "shape":"ElasticsearchSettings", - "documentation":"

Settings in JSON format for the target Elasticsearch endpoint. For more information about the available settings, see Extra Connection Attributes When Using Elasticsearch as a Target for AWS DMS in the AWS Database Migration User Guide.

" - } + "documentation":"

Settings in JSON format for the target Elasticsearch endpoint. For more information about the available settings, see Extra Connection Attributes When Using Elasticsearch as a Target for AWS DMS in the AWS Database Migration User Guide.

" + }, + "RedshiftSettings":{"shape":"RedshiftSettings"} }, "documentation":"

" }, @@ -945,7 +1020,7 @@ }, "EventCategories":{ "shape":"EventCategoriesList", - "documentation":"

A list of event categories for a source type that you want to subscribe to. You can see a list of the categories for a given source type by calling the DescribeEventCategories action or in the topic Working with Events and Notifications in the AWS Database Migration Service User Guide.

" + "documentation":"

A list of event categories for a source type that you want to subscribe to. You can see a list of the categories for a given source type by calling the DescribeEventCategories action or in the topic Working with Events and Notifications in the AWS Database Migration Service User Guide.

" }, "SourceIds":{ "shape":"SourceIdsList", @@ -1122,7 +1197,7 @@ }, "ReplicationTaskSettings":{ "shape":"String", - "documentation":"

Settings for the task, such as target metadata settings. For a complete list of task settings, see Task Settings for AWS Database Migration Service Tasks in the AWS Database Migration User Guide.

" + "documentation":"

Settings for the task, such as target metadata settings. For a complete list of task settings, see Task Settings for AWS Database Migration Service Tasks in the AWS Database Migration User Guide.

" }, "CdcStartTime":{ "shape":"TStamp", @@ -1153,6 +1228,13 @@ }, "documentation":"

" }, + "DataFormatValue":{ + "type":"string", + "enum":[ + "csv", + "parquet" + ] + }, "DeleteCertificateMessage":{ "type":"structure", "required":["CertificateArn"], @@ -1559,6 +1641,42 @@ }, "documentation":"

" }, + "DescribePendingMaintenanceActionsMessage":{ + "type":"structure", + "members":{ + "ReplicationInstanceArn":{ + "shape":"String", + "documentation":"

The ARN of the replication instance.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + } + }, + "documentation":"

" + }, + "DescribePendingMaintenanceActionsResponse":{ + "type":"structure", + "members":{ + "PendingMaintenanceActions":{ + "shape":"PendingMaintenanceActions", + "documentation":"

The pending maintenance action.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

" + }, "DescribeRefreshSchemasStatusMessage":{ "type":"structure", "required":["EndpointArn"], @@ -1729,6 +1847,10 @@ "Marker":{ "shape":"String", "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "WithoutSettings":{ + "shape":"BooleanOptional", + "documentation":"

Set this flag to avoid returning setting information. Use this to reduce overhead when settings are too large. Choose TRUE to use this flag, otherwise choose FALSE (default).

" } }, "documentation":"

" @@ -1881,6 +2003,21 @@ }, "documentation":"

" }, + "EncodingTypeValue":{ + "type":"string", + "enum":[ + "plain", + "plain-dictionary", + "rle-dictionary" + ] + }, + "EncryptionModeValue":{ + "type":"string", + "enum":[ + "sse-s3", + "sse-kms" + ] + }, "Endpoint":{ "type":"structure", "members":{ @@ -1962,7 +2099,7 @@ }, "DmsTransferSettings":{ "shape":"DmsTransferSettings", - "documentation":"

The settings in JSON format for the DMS transfer type of source endpoint.

Possible attributes include the following:

  • serviceAccessRoleArn - The IAM role that has permission to access the Amazon S3 bucket.

  • bucketName - The name of the S3 bucket to use.

  • compressionType - An optional parameter to use GZIP to compress the target files. To use GZIP, set this value to NONE (the default). To keep the files uncompressed, don't use this value.

Shorthand syntax for these attributes is as follows: ServiceAccessRoleArn=string,BucketName=string,CompressionType=string

JSON syntax for these attributes is as follows: { \"ServiceAccessRoleArn\": \"string\", \"BucketName\": \"string\", \"CompressionType\": \"none\"|\"gzip\" }

" + "documentation":"

The settings in JSON format for the DMS transfer type of source endpoint.

Possible attributes include the following:

  • serviceAccessRoleArn - The IAM role that has permission to access the Amazon S3 bucket.

  • bucketName - The name of the S3 bucket to use.

  • compressionType - An optional parameter to use GZIP to compress the target files. To use GZIP, set this value to NONE (the default). To keep the files uncompressed, don't use this value.

Shorthand syntax for these attributes is as follows: ServiceAccessRoleArn=string,BucketName=string,CompressionType=string

JSON syntax for these attributes is as follows: { \"ServiceAccessRoleArn\": \"string\", \"BucketName\": \"string\", \"CompressionType\": \"none\"|\"gzip\" }

" }, "MongoDbSettings":{ "shape":"MongoDbSettings", @@ -1975,6 +2112,10 @@ "ElasticsearchSettings":{ "shape":"ElasticsearchSettings", "documentation":"

The settings for the Elasticsearch source endpoint. For more information, see the ElasticsearchSettings structure.

" + }, + "RedshiftSettings":{ + "shape":"RedshiftSettings", + "documentation":"

Settings for the Amazon Redshift endpoint

" } }, "documentation":"

" @@ -2182,6 +2323,30 @@ "documentation":"

The subnet provided is invalid.

", "exception":true }, + "KMSAccessDeniedFault":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The ciphertext references a key that doesn't exist or DMS account doesn't have an access to

", + "exception":true + }, + "KMSDisabledFault":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The specified master key (CMK) isn't enabled.

", + "exception":true + }, + "KMSInvalidStateFault":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The state of the specified KMS resource isn't valid for this request.

", + "exception":true + }, "KMSKeyNotAccessibleFault":{ "type":"structure", "members":{ @@ -2193,6 +2358,22 @@ "documentation":"

AWS DMS cannot access the KMS key.

", "exception":true }, + "KMSNotFoundFault":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The specified KMS entity or resource can't be found.

", + "exception":true + }, + "KMSThrottlingFault":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

This request triggered KMS request throttling.

", + "exception":true + }, "KeyList":{ "type":"list", "member":{"shape":"String"} @@ -2311,11 +2492,11 @@ }, "DynamoDbSettings":{ "shape":"DynamoDbSettings", - "documentation":"

Settings in JSON format for the target Amazon DynamoDB endpoint. For more information about the available settings, see Using Object Mapping to Migrate Data to DynamoDB in the AWS Database Migration Service User Guide.

" + "documentation":"

Settings in JSON format for the target Amazon DynamoDB endpoint. For more information about the available settings, see Using Object Mapping to Migrate Data to DynamoDB in the AWS Database Migration Service User Guide.

" }, "S3Settings":{ "shape":"S3Settings", - "documentation":"

Settings in JSON format for the target Amazon S3 endpoint. For more information about the available settings, see Extra Connection Attributes When Using Amazon S3 as a Target for AWS DMS in the AWS Database Migration Service User Guide.

" + "documentation":"

Settings in JSON format for the target Amazon S3 endpoint. For more information about the available settings, see Extra Connection Attributes When Using Amazon S3 as a Target for AWS DMS in the AWS Database Migration Service User Guide.

" }, "DmsTransferSettings":{ "shape":"DmsTransferSettings", @@ -2323,16 +2504,17 @@ }, "MongoDbSettings":{ "shape":"MongoDbSettings", - "documentation":"

Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see the configuration properties section in Using MongoDB as a Target for AWS Database Migration Service in the AWS Database Migration Service User Guide.

" + "documentation":"

Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see the configuration properties section in Using MongoDB as a Target for AWS Database Migration Service in the AWS Database Migration Service User Guide.

" }, "KinesisSettings":{ "shape":"KinesisSettings", - "documentation":"

Settings in JSON format for the target Amazon Kinesis Data Streams endpoint. For more information about the available settings, see Using Object Mapping to Migrate Data to a Kinesis Data Stream in the AWS Database Migration User Guide.

" + "documentation":"

Settings in JSON format for the target Amazon Kinesis Data Streams endpoint. For more information about the available settings, see Using Object Mapping to Migrate Data to a Kinesis Data Stream in the AWS Database Migration User Guide.

" }, "ElasticsearchSettings":{ "shape":"ElasticsearchSettings", - "documentation":"

Settings in JSON format for the target Elasticsearch endpoint. For more information about the available settings, see Extra Connection Attributes When Using Elasticsearch as a Target for AWS DMS in the AWS Database Migration User Guide.

" - } + "documentation":"

Settings in JSON format for the target Elasticsearch endpoint. For more information about the available settings, see Extra Connection Attributes When Using Elasticsearch as a Target for AWS DMS in the AWS Database Migration User Guide.

" + }, + "RedshiftSettings":{"shape":"RedshiftSettings"} }, "documentation":"

" }, @@ -2616,6 +2798,10 @@ "IncludedAllocatedStorage":{ "shape":"Integer", "documentation":"

The amount of storage (in gigabytes) that is allocated for the replication instance.

" + }, + "AvailabilityZones":{ + "shape":"AvailabilityZonesList", + "documentation":"

List of availability zones for this replication instance.

" } }, "documentation":"

" @@ -2624,6 +2810,51 @@ "type":"list", "member":{"shape":"OrderableReplicationInstance"} }, + "ParquetVersionValue":{ + "type":"string", + "enum":[ + "parquet-1-0", + "parquet-2-0" + ] + }, + "PendingMaintenanceAction":{ + "type":"structure", + "members":{ + "Action":{ + "shape":"String", + "documentation":"

The type of pending maintenance action that is available for the resource.

" + }, + "AutoAppliedAfterDate":{ + "shape":"TStamp", + "documentation":"

The date of the maintenance window when the action will be applied. The maintenance action will be applied to the resource during its first maintenance window after this date. If this date is specified, any next-maintenance opt-in requests are ignored.

" + }, + "ForcedApplyDate":{ + "shape":"TStamp", + "documentation":"

The date when the maintenance action will be automatically applied. The maintenance action will be applied to the resource on this date regardless of the maintenance window for the resource. If this date is specified, any immediate opt-in requests are ignored.

" + }, + "OptInStatus":{ + "shape":"String", + "documentation":"

Indicates the type of opt-in request that has been received for the resource.

" + }, + "CurrentApplyDate":{ + "shape":"TStamp", + "documentation":"

The effective date when the pending maintenance action will be applied to the resource. This date takes into account opt-in requests received from the ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, and the ForcedApplyDate. This value is blank if an opt-in request has not been received and nothing has been specified as AutoAppliedAfterDate or ForcedApplyDate.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A description providing more detail about the maintenance action.

" + } + }, + "documentation":"

" + }, + "PendingMaintenanceActionDetails":{ + "type":"list", + "member":{"shape":"PendingMaintenanceAction"} + }, + "PendingMaintenanceActions":{ + "type":"list", + "member":{"shape":"ResourcePendingMaintenanceActions"} + }, "RebootReplicationInstanceMessage":{ "type":"structure", "required":["ReplicationInstanceArn"], @@ -2647,6 +2878,112 @@ } } }, + "RedshiftSettings":{ + "type":"structure", + "members":{ + "AcceptAnyDate":{ + "shape":"BooleanOptional", + "documentation":"

Allows any date format, including invalid formats such as 00/00/00 00:00:00, to be loaded without generating an error. You can choose TRUE or FALSE (default).

This parameter applies only to TIMESTAMP and DATE columns. Always use ACCEPTANYDATE with the DATEFORMAT parameter. If the date format for the data does not match the DATEFORMAT specification, Amazon Redshift inserts a NULL value into that field.

" + }, + "AfterConnectScript":{ + "shape":"String", + "documentation":"

Code to run after connecting. This should be the code, not a filename.

" + }, + "BucketFolder":{ + "shape":"String", + "documentation":"

The location where the CSV files are stored before being uploaded to the S3 bucket.

" + }, + "BucketName":{ + "shape":"String", + "documentation":"

The name of the S3 bucket you want to use

" + }, + "ConnectionTimeout":{ + "shape":"IntegerOptional", + "documentation":"

Sets the amount of time to wait (in milliseconds) before timing out, beginning from when you initially establish a connection.

" + }, + "DatabaseName":{ + "shape":"String", + "documentation":"

The name of the Amazon Redshift data warehouse (service) you are working with.

" + }, + "DateFormat":{ + "shape":"String", + "documentation":"

The date format you are using. Valid values are auto (case-sensitive), your date format string enclosed in quotes, or NULL. If this is left unset (NULL), it defaults to a format of 'YYYY-MM-DD'. Using auto recognizes most strings, even some that are not supported when you use a date format string.

If your date and time values use formats different from each other, set this to auto.

" + }, + "EmptyAsNull":{ + "shape":"BooleanOptional", + "documentation":"

Specifies whether AWS DMS should migrate empty CHAR and VARCHAR fields as NULL. A value of TRUE sets empty CHAR and VARCHAR fields to null. The default is FALSE.

" + }, + "EncryptionMode":{ + "shape":"EncryptionModeValue", + "documentation":"

The type of server side encryption you want to use for your data. This is part of the endpoint settings or the extra connections attributes for Amazon S3. You can choose either SSE_S3 (default) or SSE_KMS. To use SSE_S3, create an IAM role with a policy that allows \"arn:aws:s3:::*\" to use the following actions: \"s3:PutObject\", \"s3:ListBucket\".

" + }, + "FileTransferUploadStreams":{ + "shape":"IntegerOptional", + "documentation":"

Specifies the number of threads used to upload a single file. This accepts a value between 1 and 64. It defaults to 10.

" + }, + "LoadTimeout":{ + "shape":"IntegerOptional", + "documentation":"

Sets the amount of time to wait (in milliseconds) before timing out, beginning from when you begin loading.

" + }, + "MaxFileSize":{ + "shape":"IntegerOptional", + "documentation":"

Specifies the maximum size (in KB) of any CSV file used to transfer data to Amazon Redshift. This accepts a value between 1 and 1048576. It defaults to 32768 KB (32 MB).

" + }, + "Password":{ + "shape":"SecretString", + "documentation":"

The password for the user named in the username property.

" + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

The port number for Amazon Redshift. The default value is 5439.

" + }, + "RemoveQuotes":{ + "shape":"BooleanOptional", + "documentation":"

Removes surrounding quotation marks from strings in the incoming data. All characters within the quotation marks, including delimiters, are retained. Choose TRUE to remove quotation marks. The default is FALSE.

" + }, + "ReplaceInvalidChars":{ + "shape":"String", + "documentation":"

A list of chars you want to replace. Use with ReplaceChars.

" + }, + "ReplaceChars":{ + "shape":"String", + "documentation":"

Replaces invalid characters specified in ReplaceInvalidChars, substituting the specified value instead. The default is \"?\".

" + }, + "ServerName":{ + "shape":"String", + "documentation":"

The name of the Amazon Redshift cluster you are using.

" + }, + "ServiceAccessRoleArn":{ + "shape":"String", + "documentation":"

The ARN of the role that has access to the Redshift service.

" + }, + "ServerSideEncryptionKmsKeyId":{ + "shape":"String", + "documentation":"

If you are using SSE_KMS for the EncryptionMode, provide the KMS Key ID. The key you use needs an attached policy that enables IAM user permissions and allows use of the key.

" + }, + "TimeFormat":{ + "shape":"String", + "documentation":"

The time format you want to use. Valid values are auto (case-sensitive), 'timeformat_string', 'epochsecs', or 'epochmillisecs'. It defaults to 10. Using auto recognizes most strings, even some that are not supported when you use a time format string.

If your date and time values use formats different from each other, set this to auto.

" + }, + "TrimBlanks":{ + "shape":"BooleanOptional", + "documentation":"

Removes the trailing white space characters from a VARCHAR string. This parameter applies only to columns with a VARCHAR data type. Choose TRUE to remove unneeded white space. The default is FALSE.

" + }, + "TruncateColumns":{ + "shape":"BooleanOptional", + "documentation":"

Truncates data in columns to the appropriate number of characters, so that it fits in the column. Applies only to columns with a VARCHAR or CHAR data type, and rows with a size of 4 MB or less. Choose TRUE to truncate data. The default is FALSE.

" + }, + "Username":{ + "shape":"String", + "documentation":"

An Amazon Redshift user name for a registered user.

" + }, + "WriteBufferSize":{ + "shape":"IntegerOptional", + "documentation":"

The size of the write buffer to use in rows. Valid values range from 1 to 2048. Defaults to 1024. Use this setting to tune performance.

" + } + }, + "documentation":"

" + }, "RefreshSchemasMessage":{ "type":"structure", "required":[ @@ -3126,11 +3463,13 @@ "message":{ "shape":"ExceptionMessage", "documentation":"

" - } + }, + "resourceArn":{"shape":"ResourceArn"} }, "documentation":"

The resource you are attempting to create already exists.

", "exception":true }, + "ResourceArn":{"type":"string"}, "ResourceNotFoundFault":{ "type":"structure", "members":{ @@ -3142,6 +3481,20 @@ "documentation":"

The resource could not be found.

", "exception":true }, + "ResourcePendingMaintenanceActions":{ + "type":"structure", + "members":{ + "ResourceIdentifier":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the DMS resource that the pending maintenance action applies to. For information about creating an ARN, see Constructing an Amazon Resource Name (ARN) in the DMS documentation.

" + }, + "PendingMaintenanceActionDetails":{ + "shape":"PendingMaintenanceActionDetails", + "documentation":"

Detailed information about the pending maintenance action.

" + } + }, + "documentation":"

" + }, "ResourceQuotaExceededFault":{ "type":"structure", "members":{ @@ -3166,7 +3519,7 @@ }, "CsvRowDelimiter":{ "shape":"String", - "documentation":"

The delimiter used to separate rows in the source files. The default is a carriage return (\\n).

" + "documentation":"

The delimiter used to separate rows in the source files. The default is a carriage return (\\n).

" }, "CsvDelimiter":{ "shape":"String", @@ -3174,7 +3527,7 @@ }, "BucketFolder":{ "shape":"String", - "documentation":"

An optional parameter to set a folder name in the S3 bucket. If provided, tables are created in the path <bucketFolder>/<schema_name>/<table_name>/. If this parameter is not specified, then the path used is <schema_name>/<table_name>/.

" + "documentation":"

An optional parameter to set a folder name in the S3 bucket. If provided, tables are created in the path <bucketFolder>/<schema_name>/<table_name>/. If this parameter is not specified, then the path used is <schema_name>/<table_name>/.

" }, "BucketName":{ "shape":"String", @@ -3182,10 +3535,50 @@ }, "CompressionType":{ "shape":"CompressionTypeValue", - "documentation":"

An optional parameter to use GZIP to compress the target files. Set to GZIP to compress the target files. Set to NONE (the default) or do not use to leave the files uncompressed.

" + "documentation":"

An optional parameter to use GZIP to compress the target files. Set to GZIP to compress the target files. Set to NONE (the default) or do not use to leave the files uncompressed. Applies to both CSV and PARQUET data formats.

" + }, + "EncryptionMode":{ + "shape":"EncryptionModeValue", + "documentation":"

The type of server side encryption you want to use for your data. This is part of the endpoint settings or the extra connections attributes for Amazon S3. You can choose either SSE_S3 (default) or SSE_KMS. To use SSE_S3, you need an IAM role with permission to allow \"arn:aws:s3:::dms-*\" to use the following actions:

  • s3:CreateBucket

  • s3:ListBucket

  • s3:DeleteBucket

  • s3:GetBucketLocation

  • s3:GetObject

  • s3:PutObject

  • s3:DeleteObject

  • s3:GetObjectVersion

  • s3:GetBucketPolicy

  • s3:PutBucketPolicy

  • s3:DeleteBucketPolicy

" + }, + "ServerSideEncryptionKmsKeyId":{ + "shape":"String", + "documentation":"

If you are using SSE_KMS for the EncryptionMode, provide the KMS Key ID. The key you use needs an attached policy that enables IAM user permissions and allows use of the key.

Here is a CLI example: aws dms create-endpoint --endpoint-identifier <value> --endpoint-type target --engine-name s3 --s3-settings ServiceAccessRoleArn=<value>,BucketFolder=<value>,BucketName=<value>,EncryptionMode=SSE_KMS,ServerSideEncryptionKmsKeyId=<value>

" + }, + "DataFormat":{ + "shape":"DataFormatValue", + "documentation":"

The format of the data which you want to use for output. You can choose one of the following:

  • CSV : This is a row-based format with comma-separated values.

  • PARQUET : Apache Parquet is a columnar storage format that features efficient compression and provides faster query response.

" + }, + "EncodingType":{ + "shape":"EncodingTypeValue", + "documentation":"

The type of encoding you are using: RLE_DICTIONARY (default), PLAIN, or PLAIN_DICTIONARY.

  • RLE_DICTIONARY uses a combination of bit-packing and run-length encoding to store repeated values more efficiently.

  • PLAIN does not use encoding at all. Values are stored as they are.

  • PLAIN_DICTIONARY builds a dictionary of the values encountered in a given column. The dictionary is stored in a dictionary page for each column chunk.

" + }, + "DictPageSizeLimit":{ + "shape":"IntegerOptional", + "documentation":"

The maximum size of an encoded dictionary page of a column. If the dictionary page exceeds this, this column is stored using an encoding type of PLAIN. Defaults to 1024 * 1024 bytes (1MiB), the maximum size of a dictionary page before it reverts to PLAIN encoding. For PARQUET format only.

" + }, + "RowGroupLength":{ + "shape":"IntegerOptional", + "documentation":"

The number of rows in a row group. A smaller row group size provides faster reads. But as the number of row groups grows, the slower writes become. Defaults to 10,000 (ten thousand) rows. For PARQUET format only.

If you choose a value larger than the maximum, RowGroupLength is set to the max row group length in bytes (64 * 1024 * 1024).

" + }, + "DataPageSize":{ + "shape":"IntegerOptional", + "documentation":"

The size of one data page in bytes. Defaults to 1024 * 1024 bytes (1MiB). For PARQUET format only.

" + }, + "ParquetVersion":{ + "shape":"ParquetVersionValue", + "documentation":"

The version of Apache Parquet format you want to use: PARQUET_1_0 (default) or PARQUET_2_0.

" + }, + "EnableStatistics":{ + "shape":"BooleanOptional", + "documentation":"

Enables statistics for Parquet pages and rowGroups. Choose TRUE to enable statistics, choose FALSE to disable. Statistics include NULL, DISTINCT, MAX, and MIN values. Defaults to TRUE. For PARQUET format only.

" + }, + "CdcInsertsOnly":{ + "shape":"BooleanOptional", + "documentation":"

Option to write only INSERT operations to the comma-separated value (CSV) output files. By default, the first field in a CSV record contains the letter I (insert), U (update) or D (delete) to indicate whether the row was inserted, updated, or deleted at the source database. If cdcInsertsOnly is set to true, then only INSERTs are recorded in the CSV file, without the I annotation on each line. Valid values are TRUE and FALSE.

" } }, - "documentation":"

" + "documentation":"

Settings for exporting data to Amazon S3.

" }, "SNSInvalidTopicFault":{ "type":"structure", @@ -3563,5 +3956,5 @@ "member":{"shape":"VpcSecurityGroupMembership"} } }, - "documentation":"AWS Database Migration Service

AWS Database Migration Service (AWS DMS) can migrate your data to and from the most widely used commercial and open-source databases such as Oracle, PostgreSQL, Microsoft SQL Server, Amazon Redshift, MariaDB, Amazon Aurora, MySQL, and SAP Adaptive Server Enterprise (ASE). The service supports homogeneous migrations such as Oracle to Oracle, as well as heterogeneous migrations between different database platforms, such as Oracle to MySQL or SQL Server to PostgreSQL.

For more information about AWS DMS, see What Is AWS Database Migration Service? in the AWS Database Migration User Guide.

" + "documentation":"AWS Database Migration Service

AWS Database Migration Service (AWS DMS) can migrate your data to and from the most widely used commercial and open-source databases such as Oracle, PostgreSQL, Microsoft SQL Server, Amazon Redshift, MariaDB, Amazon Aurora, MySQL, and SAP Adaptive Server Enterprise (ASE). The service supports homogeneous migrations such as Oracle to Oracle, as well as heterogeneous migrations between different database platforms, such as Oracle to MySQL or SQL Server to PostgreSQL.

For more information about AWS DMS, see What Is AWS Database Migration Service? in the AWS Database Migration User Guide.

" } diff --git a/bin/botocore/data/dms/2016-01-01/waiters-2.json b/bin/botocore/data/dms/2016-01-01/waiters-2.json index 00727bc1..ebfc736e 100644 --- a/bin/botocore/data/dms/2016-01-01/waiters-2.json +++ b/bin/botocore/data/dms/2016-01-01/waiters-2.json @@ -4,22 +4,22 @@ "TestConnectionSucceeds":{ "acceptors":[ { - "argument":"Connection.Status", + "argument":"Connections[].Status", "expected":"successful", - "matcher":"path", + "matcher":"pathAll", "state":"success" }, { - "argument":"Connection.Status", + "argument":"Connections[].Status", "expected":"failed", - "matcher":"path", + "matcher":"pathAny", "state":"failure" } ], "delay":5, "description":"Wait until testing connection succeeds.", "maxAttempts":60, - "operation":"TestConnection" + "operation":"DescribeConnections" }, "EndpointDeleted":{ "acceptors":[ diff --git a/bin/botocore/data/docdb/2014-10-31/paginators-1.json b/bin/botocore/data/docdb/2014-10-31/paginators-1.json new file mode 100644 index 00000000..f747ff67 --- /dev/null +++ b/bin/botocore/data/docdb/2014-10-31/paginators-1.json @@ -0,0 +1,40 @@ +{ + "pagination": { + "DescribeDBClusters": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "DBClusters" + }, + "DescribeDBEngineVersions": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "DBEngineVersions" + }, + "DescribeDBInstances": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "DBInstances" + }, + "DescribeDBSubnetGroups": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "DBSubnetGroups" + }, + "DescribeEvents": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "Events" + }, + "DescribeOrderableDBInstanceOptions": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "OrderableDBInstanceOptions" + } + } +} diff --git a/bin/botocore/data/docdb/2014-10-31/service-2.json b/bin/botocore/data/docdb/2014-10-31/service-2.json new file mode 100644 index 00000000..777a9e52 --- /dev/null +++ b/bin/botocore/data/docdb/2014-10-31/service-2.json @@ -0,0 +1,3720 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2014-10-31", + "endpointPrefix":"rds", + "protocol":"query", + "serviceAbbreviation":"Amazon DocDB", + "serviceFullName":"Amazon DocumentDB with MongoDB compatibility", + "serviceId":"DocDB", + "signatureVersion":"v4", + "signingName":"rds", + "uid":"docdb-2014-10-31", + "xmlNamespace":"http://rds.amazonaws.com/doc/2014-10-31/" + }, + "operations":{ + "AddTagsToResource":{ + "name":"AddTagsToResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AddTagsToResourceMessage"}, + "errors":[ + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"DBSnapshotNotFoundFault"}, + {"shape":"DBClusterNotFoundFault"} + ], + "documentation":"

Adds metadata tags to an Amazon DocumentDB resource. You can use these tags with cost allocation reporting to track costs that are associated with Amazon DocumentDB resources. or in a Condition statement in an AWS Identity and Access Management (IAM) policy for Amazon DocumentDB.

" + }, + "ApplyPendingMaintenanceAction":{ + "name":"ApplyPendingMaintenanceAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ApplyPendingMaintenanceActionMessage"}, + "output":{ + "shape":"ApplyPendingMaintenanceActionResult", + "resultWrapper":"ApplyPendingMaintenanceActionResult" + }, + "errors":[ + {"shape":"ResourceNotFoundFault"} + ], + "documentation":"

Applies a pending maintenance action to a resource (for example, to a DB instance).

" + }, + "CopyDBClusterParameterGroup":{ + "name":"CopyDBClusterParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CopyDBClusterParameterGroupMessage"}, + "output":{ + "shape":"CopyDBClusterParameterGroupResult", + "resultWrapper":"CopyDBClusterParameterGroupResult" + }, + "errors":[ + {"shape":"DBParameterGroupNotFoundFault"}, + {"shape":"DBParameterGroupQuotaExceededFault"}, + {"shape":"DBParameterGroupAlreadyExistsFault"} + ], + "documentation":"

Copies the specified DB cluster parameter group.

" + }, + "CopyDBClusterSnapshot":{ + "name":"CopyDBClusterSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CopyDBClusterSnapshotMessage"}, + "output":{ + "shape":"CopyDBClusterSnapshotResult", + "resultWrapper":"CopyDBClusterSnapshotResult" + }, + "errors":[ + {"shape":"DBClusterSnapshotAlreadyExistsFault"}, + {"shape":"DBClusterSnapshotNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBClusterSnapshotStateFault"}, + {"shape":"SnapshotQuotaExceededFault"}, + {"shape":"KMSKeyNotAccessibleFault"} + ], + "documentation":"

Copies a snapshot of a DB cluster.

To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.

To cancel the copy operation after it is in progress, delete the target DB cluster snapshot identified by TargetDBClusterSnapshotIdentifier while that DB cluster snapshot is in the copying status.

" + }, + "CreateDBCluster":{ + "name":"CreateDBCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDBClusterMessage"}, + "output":{ + "shape":"CreateDBClusterResult", + "resultWrapper":"CreateDBClusterResult" + }, + "errors":[ + {"shape":"DBClusterAlreadyExistsFault"}, + {"shape":"InsufficientStorageClusterCapacityFault"}, + {"shape":"DBClusterQuotaExceededFault"}, + {"shape":"StorageQuotaExceededFault"}, + {"shape":"DBSubnetGroupNotFoundFault"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBSubnetGroupStateFault"}, + {"shape":"InvalidSubnet"}, + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"DBClusterParameterGroupNotFoundFault"}, + {"shape":"KMSKeyNotAccessibleFault"}, + {"shape":"DBClusterNotFoundFault"}, + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"} + ], + "documentation":"

Creates a new Amazon DocumentDB DB cluster.

" + }, + "CreateDBClusterParameterGroup":{ + "name":"CreateDBClusterParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDBClusterParameterGroupMessage"}, + "output":{ + "shape":"CreateDBClusterParameterGroupResult", + "resultWrapper":"CreateDBClusterParameterGroupResult" + }, + "errors":[ + {"shape":"DBParameterGroupQuotaExceededFault"}, + {"shape":"DBParameterGroupAlreadyExistsFault"} + ], + "documentation":"

Creates a new DB cluster parameter group.

Parameters in a DB cluster parameter group apply to all of the instances in a DB cluster.

A DB cluster parameter group is initially created with the default parameters for the database engine used by instances in the DB cluster. To provide custom values for any of the parameters, you must modify the group after you create it. After you create a DB cluster parameter group, you must associate it with your DB cluster. For the new DB cluster parameter group and associated settings to take effect, you must then reboot the DB instances in the DB cluster without failover.

After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon DocumentDB to fully complete the create action before the DB cluster parameter group is used as the default for a new DB cluster. This step is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter.

" + }, + "CreateDBClusterSnapshot":{ + "name":"CreateDBClusterSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDBClusterSnapshotMessage"}, + "output":{ + "shape":"CreateDBClusterSnapshotResult", + "resultWrapper":"CreateDBClusterSnapshotResult" + }, + "errors":[ + {"shape":"DBClusterSnapshotAlreadyExistsFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"DBClusterNotFoundFault"}, + {"shape":"SnapshotQuotaExceededFault"}, + {"shape":"InvalidDBClusterSnapshotStateFault"} + ], + "documentation":"

Creates a snapshot of a DB cluster.

" + }, + "CreateDBInstance":{ + "name":"CreateDBInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDBInstanceMessage"}, + "output":{ + "shape":"CreateDBInstanceResult", + "resultWrapper":"CreateDBInstanceResult" + }, + "errors":[ + {"shape":"DBInstanceAlreadyExistsFault"}, + {"shape":"InsufficientDBInstanceCapacityFault"}, + {"shape":"DBParameterGroupNotFoundFault"}, + {"shape":"DBSecurityGroupNotFoundFault"}, + {"shape":"InstanceQuotaExceededFault"}, + {"shape":"StorageQuotaExceededFault"}, + {"shape":"DBSubnetGroupNotFoundFault"}, + {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidSubnet"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"DBClusterNotFoundFault"}, + {"shape":"StorageTypeNotSupportedFault"}, + {"shape":"AuthorizationNotFoundFault"}, + {"shape":"KMSKeyNotAccessibleFault"} + ], + "documentation":"

Creates a new DB instance.

" + }, + "CreateDBSubnetGroup":{ + "name":"CreateDBSubnetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDBSubnetGroupMessage"}, + "output":{ + "shape":"CreateDBSubnetGroupResult", + "resultWrapper":"CreateDBSubnetGroupResult" + }, + "errors":[ + {"shape":"DBSubnetGroupAlreadyExistsFault"}, + {"shape":"DBSubnetGroupQuotaExceededFault"}, + {"shape":"DBSubnetQuotaExceededFault"}, + {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, + {"shape":"InvalidSubnet"} + ], + "documentation":"

Creates a new DB subnet group. DB subnet groups must contain at least one subnet in at least two Availability Zones in the AWS Region.

" + }, + "DeleteDBCluster":{ + "name":"DeleteDBCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDBClusterMessage"}, + "output":{ + "shape":"DeleteDBClusterResult", + "resultWrapper":"DeleteDBClusterResult" + }, + "errors":[ + {"shape":"DBClusterNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"DBClusterSnapshotAlreadyExistsFault"}, + {"shape":"SnapshotQuotaExceededFault"}, + {"shape":"InvalidDBClusterSnapshotStateFault"} + ], + "documentation":"

Deletes a previously provisioned DB cluster. When you delete a DB cluster, all automated backups for that DB cluster are deleted and can't be recovered. Manual DB cluster snapshots of the specified DB cluster are not deleted.

" + }, + "DeleteDBClusterParameterGroup":{ + "name":"DeleteDBClusterParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDBClusterParameterGroupMessage"}, + "errors":[ + {"shape":"InvalidDBParameterGroupStateFault"}, + {"shape":"DBParameterGroupNotFoundFault"} + ], + "documentation":"

Deletes a specified DB cluster parameter group. The DB cluster parameter group to be deleted can't be associated with any DB clusters.

" + }, + "DeleteDBClusterSnapshot":{ + "name":"DeleteDBClusterSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDBClusterSnapshotMessage"}, + "output":{ + "shape":"DeleteDBClusterSnapshotResult", + "resultWrapper":"DeleteDBClusterSnapshotResult" + }, + "errors":[ + {"shape":"InvalidDBClusterSnapshotStateFault"}, + {"shape":"DBClusterSnapshotNotFoundFault"} + ], + "documentation":"

Deletes a DB cluster snapshot. If the snapshot is being copied, the copy operation is terminated.

The DB cluster snapshot must be in the available state to be deleted.

" + }, + "DeleteDBInstance":{ + "name":"DeleteDBInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDBInstanceMessage"}, + "output":{ + "shape":"DeleteDBInstanceResult", + "resultWrapper":"DeleteDBInstanceResult" + }, + "errors":[ + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"DBSnapshotAlreadyExistsFault"}, + {"shape":"SnapshotQuotaExceededFault"}, + {"shape":"InvalidDBClusterStateFault"} + ], + "documentation":"

Deletes a previously provisioned DB instance.

" + }, + "DeleteDBSubnetGroup":{ + "name":"DeleteDBSubnetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDBSubnetGroupMessage"}, + "errors":[ + {"shape":"InvalidDBSubnetGroupStateFault"}, + {"shape":"InvalidDBSubnetStateFault"}, + {"shape":"DBSubnetGroupNotFoundFault"} + ], + "documentation":"

Deletes a DB subnet group.

The specified database subnet group must not be associated with any DB instances.

" + }, + "DescribeDBClusterParameterGroups":{ + "name":"DescribeDBClusterParameterGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBClusterParameterGroupsMessage"}, + "output":{ + "shape":"DBClusterParameterGroupsMessage", + "resultWrapper":"DescribeDBClusterParameterGroupsResult" + }, + "errors":[ + {"shape":"DBParameterGroupNotFoundFault"} + ], + "documentation":"

Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName parameter is specified, the list contains only the description of the specified DB cluster parameter group.

" + }, + "DescribeDBClusterParameters":{ + "name":"DescribeDBClusterParameters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBClusterParametersMessage"}, + "output":{ + "shape":"DBClusterParameterGroupDetails", + "resultWrapper":"DescribeDBClusterParametersResult" + }, + "errors":[ + {"shape":"DBParameterGroupNotFoundFault"} + ], + "documentation":"

Returns the detailed parameter list for a particular DB cluster parameter group.

" + }, + "DescribeDBClusterSnapshotAttributes":{ + "name":"DescribeDBClusterSnapshotAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBClusterSnapshotAttributesMessage"}, + "output":{ + "shape":"DescribeDBClusterSnapshotAttributesResult", + "resultWrapper":"DescribeDBClusterSnapshotAttributesResult" + }, + "errors":[ + {"shape":"DBClusterSnapshotNotFoundFault"} + ], + "documentation":"

Returns a list of DB cluster snapshot attribute names and values for a manual DB cluster snapshot.

When you share snapshots with other AWS accounts, DescribeDBClusterSnapshotAttributes returns the restore attribute and a list of IDs for the AWS accounts that are authorized to copy or restore the manual DB cluster snapshot. If all is included in the list of values for the restore attribute, then the manual DB cluster snapshot is public and can be copied or restored by all AWS accounts.

" + }, + "DescribeDBClusterSnapshots":{ + "name":"DescribeDBClusterSnapshots", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBClusterSnapshotsMessage"}, + "output":{ + "shape":"DBClusterSnapshotMessage", + "resultWrapper":"DescribeDBClusterSnapshotsResult" + }, + "errors":[ + {"shape":"DBClusterSnapshotNotFoundFault"} + ], + "documentation":"

Returns information about DB cluster snapshots. This API operation supports pagination.

" + }, + "DescribeDBClusters":{ + "name":"DescribeDBClusters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBClustersMessage"}, + "output":{ + "shape":"DBClusterMessage", + "resultWrapper":"DescribeDBClustersResult" + }, + "errors":[ + {"shape":"DBClusterNotFoundFault"} + ], + "documentation":"

Returns information about provisioned Amazon DocumentDB DB clusters. This API operation supports pagination.

" + }, + "DescribeDBEngineVersions":{ + "name":"DescribeDBEngineVersions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBEngineVersionsMessage"}, + "output":{ + "shape":"DBEngineVersionMessage", + "resultWrapper":"DescribeDBEngineVersionsResult" + }, + "documentation":"

Returns a list of the available DB engines.

" + }, + "DescribeDBInstances":{ + "name":"DescribeDBInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBInstancesMessage"}, + "output":{ + "shape":"DBInstanceMessage", + "resultWrapper":"DescribeDBInstancesResult" + }, + "errors":[ + {"shape":"DBInstanceNotFoundFault"} + ], + "documentation":"

Returns information about provisioned Amazon DocumentDB instances. This API supports pagination.

" + }, + "DescribeDBSubnetGroups":{ + "name":"DescribeDBSubnetGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBSubnetGroupsMessage"}, + "output":{ + "shape":"DBSubnetGroupMessage", + "resultWrapper":"DescribeDBSubnetGroupsResult" + }, + "errors":[ + {"shape":"DBSubnetGroupNotFoundFault"} + ], + "documentation":"

Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified, the list will contain only the descriptions of the specified DBSubnetGroup.

" + }, + "DescribeEngineDefaultClusterParameters":{ + "name":"DescribeEngineDefaultClusterParameters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEngineDefaultClusterParametersMessage"}, + "output":{ + "shape":"DescribeEngineDefaultClusterParametersResult", + "resultWrapper":"DescribeEngineDefaultClusterParametersResult" + }, + "documentation":"

Returns the default engine and system parameter information for the cluster database engine.

" + }, + "DescribeEventCategories":{ + "name":"DescribeEventCategories", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEventCategoriesMessage"}, + "output":{ + "shape":"EventCategoriesMessage", + "resultWrapper":"DescribeEventCategoriesResult" + }, + "documentation":"

Displays a list of categories for all event source types, or, if specified, for a specified source type.

" + }, + "DescribeEvents":{ + "name":"DescribeEvents", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEventsMessage"}, + "output":{ + "shape":"EventsMessage", + "resultWrapper":"DescribeEventsResult" + }, + "documentation":"

Returns events related to DB instances, DB security groups, DB snapshots, and DB parameter groups for the past 14 days. You can obtain events specific to a particular DB instance, DB security group, DB snapshot, or DB parameter group by providing the name as a parameter. By default, the events of the past hour are returned.

" + }, + "DescribeOrderableDBInstanceOptions":{ + "name":"DescribeOrderableDBInstanceOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeOrderableDBInstanceOptionsMessage"}, + "output":{ + "shape":"OrderableDBInstanceOptionsMessage", + "resultWrapper":"DescribeOrderableDBInstanceOptionsResult" + }, + "documentation":"

Returns a list of orderable DB instance options for the specified engine.

" + }, + "DescribePendingMaintenanceActions":{ + "name":"DescribePendingMaintenanceActions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePendingMaintenanceActionsMessage"}, + "output":{ + "shape":"PendingMaintenanceActionsMessage", + "resultWrapper":"DescribePendingMaintenanceActionsResult" + }, + "errors":[ + {"shape":"ResourceNotFoundFault"} + ], + "documentation":"

Returns a list of resources (for example, DB instances) that have at least one pending maintenance action.

" + }, + "FailoverDBCluster":{ + "name":"FailoverDBCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"FailoverDBClusterMessage"}, + "output":{ + "shape":"FailoverDBClusterResult", + "resultWrapper":"FailoverDBClusterResult" + }, + "errors":[ + {"shape":"DBClusterNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBInstanceStateFault"} + ], + "documentation":"

Forces a failover for a DB cluster.

A failover for a DB cluster promotes one of the Amazon DocumentDB replicas (read-only instances) in the DB cluster to be the primary instance (the cluster writer).

If the primary instance fails, Amazon DocumentDB automatically fails over to an Amazon DocumentDB replica, if one exists. You can force a failover when you want to simulate a failure of a primary instance for testing.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceMessage"}, + "output":{ + "shape":"TagListMessage", + "resultWrapper":"ListTagsForResourceResult" + }, + "errors":[ + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"DBSnapshotNotFoundFault"}, + {"shape":"DBClusterNotFoundFault"} + ], + "documentation":"

Lists all tags on an Amazon DocumentDB resource.

" + }, + "ModifyDBCluster":{ + "name":"ModifyDBCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyDBClusterMessage"}, + "output":{ + "shape":"ModifyDBClusterResult", + "resultWrapper":"ModifyDBClusterResult" + }, + "errors":[ + {"shape":"DBClusterNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"StorageQuotaExceededFault"}, + {"shape":"DBSubnetGroupNotFoundFault"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"InvalidDBSubnetGroupStateFault"}, + {"shape":"InvalidSubnet"}, + {"shape":"DBClusterParameterGroupNotFoundFault"}, + {"shape":"InvalidDBSecurityGroupStateFault"}, + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"DBClusterAlreadyExistsFault"} + ], + "documentation":"

Modifies a setting for an Amazon DocumentDB DB cluster. You can change one or more database configuration parameters by specifying these parameters and the new values in the request.

" + }, + "ModifyDBClusterParameterGroup":{ + "name":"ModifyDBClusterParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyDBClusterParameterGroupMessage"}, + "output":{ + "shape":"DBClusterParameterGroupNameMessage", + "resultWrapper":"ModifyDBClusterParameterGroupResult" + }, + "errors":[ + {"shape":"DBParameterGroupNotFoundFault"}, + {"shape":"InvalidDBParameterGroupStateFault"} + ], + "documentation":"

Modifies the parameters of a DB cluster parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot or maintenance window before the change can take effect.

After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon DocumentDB to fully complete the create action before the parameter group is used as the default for a new DB cluster. This step is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter.

" + }, + "ModifyDBClusterSnapshotAttribute":{ + "name":"ModifyDBClusterSnapshotAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyDBClusterSnapshotAttributeMessage"}, + "output":{ + "shape":"ModifyDBClusterSnapshotAttributeResult", + "resultWrapper":"ModifyDBClusterSnapshotAttributeResult" + }, + "errors":[ + {"shape":"DBClusterSnapshotNotFoundFault"}, + {"shape":"InvalidDBClusterSnapshotStateFault"}, + {"shape":"SharedSnapshotQuotaExceededFault"} + ], + "documentation":"

Adds an attribute and values to, or removes an attribute and values from, a manual DB cluster snapshot.

To share a manual DB cluster snapshot with other AWS accounts, specify restore as the AttributeName, and use the ValuesToAdd parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual DB cluster snapshot. Use the value all to make the manual DB cluster snapshot public, which means that it can be copied or restored by all AWS accounts. Do not add the all value for any manual DB cluster snapshots that contain private information that you don't want available to all AWS accounts. If a manual DB cluster snapshot is encrypted, it can be shared, but only by specifying a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't use all as a value for that parameter in this case.

" + }, + "ModifyDBInstance":{ + "name":"ModifyDBInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyDBInstanceMessage"}, + "output":{ + "shape":"ModifyDBInstanceResult", + "resultWrapper":"ModifyDBInstanceResult" + }, + "errors":[ + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"InvalidDBSecurityGroupStateFault"}, + {"shape":"DBInstanceAlreadyExistsFault"}, + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"DBSecurityGroupNotFoundFault"}, + {"shape":"DBParameterGroupNotFoundFault"}, + {"shape":"InsufficientDBInstanceCapacityFault"}, + {"shape":"StorageQuotaExceededFault"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"DBUpgradeDependencyFailureFault"}, + {"shape":"StorageTypeNotSupportedFault"}, + {"shape":"AuthorizationNotFoundFault"}, + {"shape":"CertificateNotFoundFault"} + ], + "documentation":"

Modifies settings for a DB instance. You can change one or more database configuration parameters by specifying these parameters and the new values in the request.

" + }, + "ModifyDBSubnetGroup":{ + "name":"ModifyDBSubnetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyDBSubnetGroupMessage"}, + "output":{ + "shape":"ModifyDBSubnetGroupResult", + "resultWrapper":"ModifyDBSubnetGroupResult" + }, + "errors":[ + {"shape":"DBSubnetGroupNotFoundFault"}, + {"shape":"DBSubnetQuotaExceededFault"}, + {"shape":"SubnetAlreadyInUse"}, + {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, + {"shape":"InvalidSubnet"} + ], + "documentation":"

Modifies an existing DB subnet group. DB subnet groups must contain at least one subnet in at least two Availability Zones in the AWS Region.

" + }, + "RebootDBInstance":{ + "name":"RebootDBInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RebootDBInstanceMessage"}, + "output":{ + "shape":"RebootDBInstanceResult", + "resultWrapper":"RebootDBInstanceResult" + }, + "errors":[ + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"DBInstanceNotFoundFault"} + ], + "documentation":"

You might need to reboot your DB instance, usually for maintenance reasons. For example, if you make certain changes, or if you change the DB cluster parameter group that is associated with the DB instance, you must reboot the instance for the changes to take effect.

Rebooting a DB instance restarts the database engine service. Rebooting a DB instance results in a momentary outage, during which the DB instance status is set to rebooting.

" + }, + "RemoveTagsFromResource":{ + "name":"RemoveTagsFromResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RemoveTagsFromResourceMessage"}, + "errors":[ + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"DBSnapshotNotFoundFault"}, + {"shape":"DBClusterNotFoundFault"} + ], + "documentation":"

Removes metadata tags from an Amazon DocumentDB resource.

" + }, + "ResetDBClusterParameterGroup":{ + "name":"ResetDBClusterParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResetDBClusterParameterGroupMessage"}, + "output":{ + "shape":"DBClusterParameterGroupNameMessage", + "resultWrapper":"ResetDBClusterParameterGroupResult" + }, + "errors":[ + {"shape":"InvalidDBParameterGroupStateFault"}, + {"shape":"DBParameterGroupNotFoundFault"} + ], + "documentation":"

Modifies the parameters of a DB cluster parameter group to the default value. To reset specific parameters, submit a list of the following: ParameterName and ApplyMethod. To reset the entire DB cluster parameter group, specify the DBClusterParameterGroupName and ResetAllParameters parameters.

When you reset the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance reboot.

" + }, + "RestoreDBClusterFromSnapshot":{ + "name":"RestoreDBClusterFromSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RestoreDBClusterFromSnapshotMessage"}, + "output":{ + "shape":"RestoreDBClusterFromSnapshotResult", + "resultWrapper":"RestoreDBClusterFromSnapshotResult" + }, + "errors":[ + {"shape":"DBClusterAlreadyExistsFault"}, + {"shape":"DBClusterQuotaExceededFault"}, + {"shape":"StorageQuotaExceededFault"}, + {"shape":"DBSubnetGroupNotFoundFault"}, + {"shape":"DBSnapshotNotFoundFault"}, + {"shape":"DBClusterSnapshotNotFoundFault"}, + {"shape":"InsufficientDBClusterCapacityFault"}, + {"shape":"InsufficientStorageClusterCapacityFault"}, + {"shape":"InvalidDBSnapshotStateFault"}, + {"shape":"InvalidDBClusterSnapshotStateFault"}, + {"shape":"StorageQuotaExceededFault"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"InvalidRestoreFault"}, + {"shape":"DBSubnetGroupNotFoundFault"}, + {"shape":"InvalidSubnet"}, + {"shape":"KMSKeyNotAccessibleFault"} + ], + "documentation":"

Creates a new DB cluster from a DB snapshot or DB cluster snapshot.

If a DB snapshot is specified, the target DB cluster is created from the source DB snapshot with a default configuration and default security group.

If a DB cluster snapshot is specified, the target DB cluster is created from the source DB cluster restore point with the same configuration as the original source DB cluster, except that the new DB cluster is created with the default security group.

" + }, + "RestoreDBClusterToPointInTime":{ + "name":"RestoreDBClusterToPointInTime", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RestoreDBClusterToPointInTimeMessage"}, + "output":{ + "shape":"RestoreDBClusterToPointInTimeResult", + "resultWrapper":"RestoreDBClusterToPointInTimeResult" + }, + "errors":[ + {"shape":"DBClusterAlreadyExistsFault"}, + {"shape":"DBClusterNotFoundFault"}, + {"shape":"DBClusterQuotaExceededFault"}, + {"shape":"DBClusterSnapshotNotFoundFault"}, + {"shape":"DBSubnetGroupNotFoundFault"}, + {"shape":"InsufficientDBClusterCapacityFault"}, + {"shape":"InsufficientStorageClusterCapacityFault"}, + {"shape":"InvalidDBClusterSnapshotStateFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBSnapshotStateFault"}, + {"shape":"InvalidRestoreFault"}, + {"shape":"InvalidSubnet"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"KMSKeyNotAccessibleFault"}, + {"shape":"StorageQuotaExceededFault"} + ], + "documentation":"

Restores a DB cluster to an arbitrary point in time. Users can restore to any point in time before LatestRestorableTime for up to BackupRetentionPeriod days. The target DB cluster is created from the source DB cluster with the same configuration as the original DB cluster, except that the new DB cluster is created with the default DB security group.

" + } + }, + "shapes":{ + "AddTagsToResourceMessage":{ + "type":"structure", + "required":[ + "ResourceName", + "Tags" + ], + "members":{ + "ResourceName":{ + "shape":"String", + "documentation":"

The Amazon DocumentDB resource that the tags are added to. This value is an Amazon Resource Name (ARN).

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the Amazon DocumentDB resource.

" + } + }, + "documentation":"

Represents the input to AddTagsToResource.

" + }, + "ApplyMethod":{ + "type":"string", + "enum":[ + "immediate", + "pending-reboot" + ] + }, + "ApplyPendingMaintenanceActionMessage":{ + "type":"structure", + "required":[ + "ResourceIdentifier", + "ApplyAction", + "OptInType" + ], + "members":{ + "ResourceIdentifier":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the resource that the pending maintenance action applies to.

" + }, + "ApplyAction":{ + "shape":"String", + "documentation":"

The pending maintenance action to apply to this resource.

Valid values: system-update, db-upgrade

" + }, + "OptInType":{ + "shape":"String", + "documentation":"

A value that specifies the type of opt-in request or undoes an opt-in request. An opt-in request of type immediate can't be undone.

Valid values:

  • immediate - Apply the maintenance action immediately.

  • next-maintenance - Apply the maintenance action during the next maintenance window for the resource.

  • undo-opt-in - Cancel any existing next-maintenance opt-in requests.

" + } + }, + "documentation":"

Represents the input to ApplyPendingMaintenanceAction.

" + }, + "ApplyPendingMaintenanceActionResult":{ + "type":"structure", + "members":{ + "ResourcePendingMaintenanceActions":{"shape":"ResourcePendingMaintenanceActions"} + } + }, + "AttributeValueList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"AttributeValue" + } + }, + "AuthorizationNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified CIDR IP or Amazon EC2 security group isn't authorized for the specified DB security group.

Amazon DocumentDB also might not be authorized to perform necessary actions on your behalf using IAM.

", + "error":{ + "code":"AuthorizationNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "AvailabilityZone":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the Availability Zone.

" + } + }, + "documentation":"

Information about an Availability Zone.

", + "wrapper":true + }, + "AvailabilityZoneList":{ + "type":"list", + "member":{ + "shape":"AvailabilityZone", + "locationName":"AvailabilityZone" + } + }, + "AvailabilityZones":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"AvailabilityZone" + } + }, + "Boolean":{"type":"boolean"}, + "BooleanOptional":{"type":"boolean"}, + "CertificateNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

CertificateIdentifier doesn't refer to an existing certificate.

", + "error":{ + "code":"CertificateNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "CloudwatchLogsExportConfiguration":{ + "type":"structure", + "members":{ + "EnableLogTypes":{ + "shape":"LogTypeList", + "documentation":"

The list of log types to enable.

" + }, + "DisableLogTypes":{ + "shape":"LogTypeList", + "documentation":"

The list of log types to disable.

" + } + }, + "documentation":"

The configuration setting for the log types to be enabled for export to Amazon CloudWatch Logs for a specific DB instance or DB cluster.

The EnableLogTypes and DisableLogTypes arrays determine which logs are exported (or not exported) to CloudWatch Logs. The values within these arrays depend on the DB engine that is being used.

" + }, + "CopyDBClusterParameterGroupMessage":{ + "type":"structure", + "required":[ + "SourceDBClusterParameterGroupIdentifier", + "TargetDBClusterParameterGroupIdentifier", + "TargetDBClusterParameterGroupDescription" + ], + "members":{ + "SourceDBClusterParameterGroupIdentifier":{ + "shape":"String", + "documentation":"

The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter group.

Constraints:

  • Must specify a valid DB cluster parameter group.

  • If the source DB cluster parameter group is in the same AWS Region as the copy, specify a valid DB parameter group identifier; for example, my-db-cluster-param-group, or a valid ARN.

  • If the source DB parameter group is in a different AWS Region than the copy, specify a valid DB cluster parameter group ARN; for example, arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1.

" + }, + "TargetDBClusterParameterGroupIdentifier":{ + "shape":"String", + "documentation":"

The identifier for the copied DB cluster parameter group.

Constraints:

  • Cannot be null, empty, or blank.

  • Must contain from 1 to 255 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster-param-group1

" + }, + "TargetDBClusterParameterGroupDescription":{ + "shape":"String", + "documentation":"

A description for the copied DB cluster parameter group.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags that are to be assigned to the parameter group.

" + } + }, + "documentation":"

Represents the input to CopyDBClusterParameterGroup.

" + }, + "CopyDBClusterParameterGroupResult":{ + "type":"structure", + "members":{ + "DBClusterParameterGroup":{"shape":"DBClusterParameterGroup"} + } + }, + "CopyDBClusterSnapshotMessage":{ + "type":"structure", + "required":[ + "SourceDBClusterSnapshotIdentifier", + "TargetDBClusterSnapshotIdentifier" + ], + "members":{ + "SourceDBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the DB cluster snapshot to copy. This parameter is not case sensitive.

You can't copy an encrypted, shared DB cluster snapshot from one AWS Region to another.

Constraints:

  • Must specify a valid system snapshot in the \"available\" state.

  • If the source snapshot is in the same AWS Region as the copy, specify a valid DB snapshot identifier.

  • If the source snapshot is in a different AWS Region than the copy, specify a valid DB cluster snapshot ARN.

Example: my-cluster-snapshot1

" + }, + "TargetDBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the new DB cluster snapshot to create from the source DB cluster snapshot. This parameter is not case sensitive.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster-snapshot2

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The AWS KMS key ID for an encrypted DB cluster snapshot. The AWS KMS key ID is the Amazon Resource Name (ARN), AWS KMS key identifier, or the AWS KMS key alias for the AWS KMS encryption key.

If you copy an encrypted DB cluster snapshot from your AWS account, you can specify a value for KmsKeyId to encrypt the copy with a new AWS KMS encryption key. If you don't specify a value for KmsKeyId, then the copy of the DB cluster snapshot is encrypted with the same AWS KMS key as the source DB cluster snapshot.

If you copy an encrypted DB cluster snapshot that is shared from another AWS account, then you must specify a value for KmsKeyId.

To copy an encrypted DB cluster snapshot to another AWS Region, set KmsKeyId to the AWS KMS key ID that you want to use to encrypt the copy of the DB cluster snapshot in the destination Region. AWS KMS encryption keys are specific to the AWS Region that they are created in, and you can't use encryption keys from one Region in another Region.

If you copy an unencrypted DB cluster snapshot and specify a value for the KmsKeyId parameter, an error is returned.

" + }, + "PreSignedUrl":{ + "shape":"String", + "documentation":"

The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot API action in the AWS Region that contains the source DB cluster snapshot to copy. You must use the PreSignedUrl parameter when copying an encrypted DB cluster snapshot from another AWS Region.

The presigned URL must be a valid request for the CopyDBSClusterSnapshot API action that can be executed in the source AWS Region that contains the encrypted DB cluster snapshot to be copied. The presigned URL request must contain the following parameter values:

  • KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region. This is the same identifier for both the CopyDBClusterSnapshot action that is called in the destination AWS Region, and the action contained in the presigned URL.

  • DestinationRegion - The name of the AWS Region that the DB cluster snapshot will be created in.

  • SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB cluster snapshot from the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:my-cluster-snapshot-20161115.

" + }, + "CopyTags":{ + "shape":"BooleanOptional", + "documentation":"

Set to true to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot, and otherwise false. The default is false.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the DB cluster snapshot.

" + } + }, + "documentation":"

Represents the input to CopyDBClusterSnapshot.

" + }, + "CopyDBClusterSnapshotResult":{ + "type":"structure", + "members":{ + "DBClusterSnapshot":{"shape":"DBClusterSnapshot"} + } + }, + "CreateDBClusterMessage":{ + "type":"structure", + "required":[ + "DBClusterIdentifier", + "Engine" + ], + "members":{ + "AvailabilityZones":{ + "shape":"AvailabilityZones", + "documentation":"

A list of Amazon EC2 Availability Zones that instances in the DB cluster can be created in.

" + }, + "BackupRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

The number of days for which automated backups are retained. You must specify a minimum value of 1.

Default: 1

Constraints:

  • Must be a value from 1 to 35.

" + }, + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The DB cluster identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster

" + }, + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the DB cluster parameter group to associate with this DB cluster.

" + }, + "VpcSecurityGroupIds":{ + "shape":"VpcSecurityGroupIdList", + "documentation":"

A list of EC2 VPC security groups to associate with this DB cluster.

" + }, + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

A DB subnet group to associate with this DB cluster.

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

Example: mySubnetgroup

" + }, + "Engine":{ + "shape":"String", + "documentation":"

The name of the database engine to be used for this DB cluster.

Valid values: docdb

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The version number of the database engine to use.

" + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

The port number on which the instances in the DB cluster accept connections.

" + }, + "MasterUsername":{ + "shape":"String", + "documentation":"

The name of the master user for the DB cluster.

Constraints:

  • Must be from 1 to 16 letters or numbers.

  • The first character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

" + }, + "MasterUserPassword":{ + "shape":"String", + "documentation":"

The password for the master database user. This password can contain any printable ASCII character except \"/\", \"\"\", or \"@\".

Constraints: Must contain from 8 to 41 characters.

" + }, + "PreferredBackupWindow":{ + "shape":"String", + "documentation":"

The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" + }, + "PreferredMaintenanceWindow":{ + "shape":"String", + "documentation":"

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.

Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the DB cluster.

" + }, + "StorageEncrypted":{ + "shape":"BooleanOptional", + "documentation":"

Specifies whether the DB cluster is encrypted.

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The AWS KMS key identifier for an encrypted DB cluster.

The AWS KMS key identifier is the Amazon Resource Name (ARN) for the AWS KMS encryption key. If you are creating a DB cluster using the same AWS account that owns the AWS KMS encryption key that is used to encrypt the new DB cluster, you can use the AWS KMS key alias instead of the ARN for the AWS KMS encryption key.

If an encryption key is not specified in KmsKeyId:

  • If ReplicationSourceIdentifier identifies an encrypted source, then Amazon DocumentDB uses the encryption key that is used to encrypt the source. Otherwise, Amazon DocumentDB uses your default encryption key.

  • If the StorageEncrypted parameter is true and ReplicationSourceIdentifier is not specified, Amazon DocumentDB uses your default encryption key.

AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

If you create a replica of an encrypted DB cluster in another AWS Region, you must set KmsKeyId to a KMS key ID that is valid in the destination AWS Region. This key is used to encrypt the replica in that AWS Region.

" + }, + "EnableCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

A list of log types that need to be enabled for exporting to Amazon CloudWatch Logs.

" + } + }, + "documentation":"

Represents the input to CreateDBCluster.

" + }, + "CreateDBClusterParameterGroupMessage":{ + "type":"structure", + "required":[ + "DBClusterParameterGroupName", + "DBParameterGroupFamily", + "Description" + ], + "members":{ + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the DB cluster parameter group.

Constraints:

  • Must match the name of an existing DBClusterParameterGroup.

This value is stored as a lowercase string.

" + }, + "DBParameterGroupFamily":{ + "shape":"String", + "documentation":"

The DB cluster parameter group family name.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The description for the DB cluster parameter group.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the DB cluster parameter group.

" + } + }, + "documentation":"

Represents the input of CreateDBClusterParameterGroup.

" + }, + "CreateDBClusterParameterGroupResult":{ + "type":"structure", + "members":{ + "DBClusterParameterGroup":{"shape":"DBClusterParameterGroup"} + } + }, + "CreateDBClusterResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "CreateDBClusterSnapshotMessage":{ + "type":"structure", + "required":[ + "DBClusterSnapshotIdentifier", + "DBClusterIdentifier" + ], + "members":{ + "DBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the DB cluster snapshot. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster-snapshot1

" + }, + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the DB cluster to create a snapshot for. This parameter is not case sensitive.

Constraints:

  • Must match the identifier of an existing DBCluster.

Example: my-cluster

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the DB cluster snapshot.

" + } + }, + "documentation":"

Represents the input of CreateDBClusterSnapshot.

" + }, + "CreateDBClusterSnapshotResult":{ + "type":"structure", + "members":{ + "DBClusterSnapshot":{"shape":"DBClusterSnapshot"} + } + }, + "CreateDBInstanceMessage":{ + "type":"structure", + "required":[ + "DBInstanceIdentifier", + "DBInstanceClass", + "Engine", + "DBClusterIdentifier" + ], + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

The DB instance identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: mydbinstance

" + }, + "DBInstanceClass":{ + "shape":"String", + "documentation":"

The compute and memory capacity of the DB instance; for example, db.m4.large.

" + }, + "Engine":{ + "shape":"String", + "documentation":"

The name of the database engine to be used for this instance.

Valid value: docdb

" + }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Amazon EC2 Availability Zone that the DB instance is created in.

Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

Example: us-east-1d

Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ parameter is set to true. The specified Availability Zone must be in the same AWS Region as the current endpoint.

" + }, + "PreferredMaintenanceWindow":{ + "shape":"String", + "documentation":"

The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.

Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

" + }, + "AutoMinorVersionUpgrade":{ + "shape":"BooleanOptional", + "documentation":"

Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance window.

Default: true

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the DB instance.

" + }, + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the DB cluster that the instance will belong to.

" + }, + "PromotionTier":{ + "shape":"IntegerOptional", + "documentation":"

A value that specifies the order in which an Amazon DocumentDB replica is promoted to the primary instance after a failure of the existing primary instance.

Default: 1

Valid values: 0-15

" + } + }, + "documentation":"

Represents the input to CreateDBInstance.

" + }, + "CreateDBInstanceResult":{ + "type":"structure", + "members":{ + "DBInstance":{"shape":"DBInstance"} + } + }, + "CreateDBSubnetGroupMessage":{ + "type":"structure", + "required":[ + "DBSubnetGroupName", + "DBSubnetGroupDescription", + "SubnetIds" + ], + "members":{ + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

The name for the DB subnet group. This value is stored as a lowercase string.

Constraints: Must contain no more than 255 letters, numbers, periods, underscores, spaces, or hyphens. Must not be default.

Example: mySubnetgroup

" + }, + "DBSubnetGroupDescription":{ + "shape":"String", + "documentation":"

The description for the DB subnet group.

" + }, + "SubnetIds":{ + "shape":"SubnetIdentifierList", + "documentation":"

The Amazon EC2 subnet IDs for the DB subnet group.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the DB subnet group.

" + } + }, + "documentation":"

Represents the input to CreateDBSubnetGroup.

" + }, + "CreateDBSubnetGroupResult":{ + "type":"structure", + "members":{ + "DBSubnetGroup":{"shape":"DBSubnetGroup"} + } + }, + "DBCluster":{ + "type":"structure", + "members":{ + "AvailabilityZones":{ + "shape":"AvailabilityZones", + "documentation":"

Provides the list of Amazon EC2 Availability Zones that instances in the DB cluster can be created in.

" + }, + "BackupRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

Specifies the number of days for which automatic DB snapshots are retained.

" + }, + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

Contains a user-supplied DB cluster identifier. This identifier is the unique key that identifies a DB cluster.

" + }, + "DBClusterParameterGroup":{ + "shape":"String", + "documentation":"

Specifies the name of the DB cluster parameter group for the DB cluster.

" + }, + "DBSubnetGroup":{ + "shape":"String", + "documentation":"

Specifies information on the subnet group that is associated with the DB cluster, including the name, description, and subnets in the subnet group.

" + }, + "Status":{ + "shape":"String", + "documentation":"

Specifies the current state of this DB cluster.

" + }, + "PercentProgress":{ + "shape":"String", + "documentation":"

Specifies the progress of the operation as a percentage.

" + }, + "EarliestRestorableTime":{ + "shape":"TStamp", + "documentation":"

The earliest time to which a database can be restored with point-in-time restore.

" + }, + "Endpoint":{ + "shape":"String", + "documentation":"

Specifies the connection endpoint for the primary instance of the DB cluster.

" + }, + "ReaderEndpoint":{ + "shape":"String", + "documentation":"

The reader endpoint for the DB cluster. The reader endpoint for a DB cluster load balances connections across the Amazon DocumentDB replicas that are available in a DB cluster. As clients request new connections to the reader endpoint, Amazon DocumentDB distributes the connection requests among the Amazon DocumentDB replicas in the DB cluster. This functionality can help balance your read workload across multiple Amazon DocumentDB replicas in your DB cluster.

If a failover occurs, and the Amazon DocumentDB replica that you are connected to is promoted to be the primary instance, your connection is dropped. To continue sending your read workload to other Amazon DocumentDB replicas in the cluster, you can then reconnect to the reader endpoint.

" + }, + "MultiAZ":{ + "shape":"Boolean", + "documentation":"

Specifies whether the DB cluster has instances in multiple Availability Zones.

" + }, + "Engine":{ + "shape":"String", + "documentation":"

Provides the name of the database engine to be used for this DB cluster.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

Indicates the database engine version.

" + }, + "LatestRestorableTime":{ + "shape":"TStamp", + "documentation":"

Specifies the latest time to which a database can be restored with point-in-time restore.

" + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

Specifies the port that the database engine is listening on.

" + }, + "MasterUsername":{ + "shape":"String", + "documentation":"

Contains the master user name for the DB cluster.

" + }, + "PreferredBackupWindow":{ + "shape":"String", + "documentation":"

Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.

" + }, + "PreferredMaintenanceWindow":{ + "shape":"String", + "documentation":"

Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

" + }, + "DBClusterMembers":{ + "shape":"DBClusterMemberList", + "documentation":"

Provides the list of instances that make up the DB cluster.

" + }, + "VpcSecurityGroups":{ + "shape":"VpcSecurityGroupMembershipList", + "documentation":"

Provides a list of virtual private cloud (VPC) security groups that the DB cluster belongs to.

" + }, + "HostedZoneId":{ + "shape":"String", + "documentation":"

Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

" + }, + "StorageEncrypted":{ + "shape":"Boolean", + "documentation":"

Specifies whether the DB cluster is encrypted.

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB cluster.

" + }, + "DbClusterResourceId":{ + "shape":"String", + "documentation":"

The AWS Region-unique, immutable identifier for the DB cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed.

" + }, + "DBClusterArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the DB cluster.

" + }, + "AssociatedRoles":{ + "shape":"DBClusterRoles", + "documentation":"

Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other AWS services on your behalf.

" + }, + "ClusterCreateTime":{ + "shape":"TStamp", + "documentation":"

Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).

" + }, + "EnabledCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

A list of log types that this DB cluster is configured to export to Amazon CloudWatch Logs.

" + } + }, + "documentation":"

Detailed information about a DB cluster.

", + "wrapper":true + }, + "DBClusterAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

You already have a DB cluster with the given identifier.

", + "error":{ + "code":"DBClusterAlreadyExistsFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBClusterList":{ + "type":"list", + "member":{ + "shape":"DBCluster", + "locationName":"DBCluster" + } + }, + "DBClusterMember":{ + "type":"structure", + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

Specifies the instance identifier for this member of the DB cluster.

" + }, + "IsClusterWriter":{ + "shape":"Boolean", + "documentation":"

A value that is true if the cluster member is the primary instance for the DB cluster and false otherwise.

" + }, + "DBClusterParameterGroupStatus":{ + "shape":"String", + "documentation":"

Specifies the status of the DB cluster parameter group for this member of the DB cluster.

" + }, + "PromotionTier":{ + "shape":"IntegerOptional", + "documentation":"

A value that specifies the order in which an Amazon DocumentDB replica is promoted to the primary instance after a failure of the existing primary instance.

" + } + }, + "documentation":"

Contains information about an instance that is part of a DB cluster.

", + "wrapper":true + }, + "DBClusterMemberList":{ + "type":"list", + "member":{ + "shape":"DBClusterMember", + "locationName":"DBClusterMember" + } + }, + "DBClusterMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "DBClusters":{ + "shape":"DBClusterList", + "documentation":"

A list of DB clusters.

" + } + }, + "documentation":"

Represents the output of DescribeDBClusters.

" + }, + "DBClusterNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBClusterIdentifier doesn't refer to an existing DB cluster.

", + "error":{ + "code":"DBClusterNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBClusterParameterGroup":{ + "type":"structure", + "members":{ + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

Provides the name of the DB cluster parameter group.

" + }, + "DBParameterGroupFamily":{ + "shape":"String", + "documentation":"

Provides the name of the DB parameter group family that this DB cluster parameter group is compatible with.

" + }, + "Description":{ + "shape":"String", + "documentation":"

Provides the customer-specified description for this DB cluster parameter group.

" + }, + "DBClusterParameterGroupArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the DB cluster parameter group.

" + } + }, + "documentation":"

Detailed information about a DB cluster parameter group.

", + "wrapper":true + }, + "DBClusterParameterGroupDetails":{ + "type":"structure", + "members":{ + "Parameters":{ + "shape":"ParametersList", + "documentation":"

Provides a list of parameters for the DB cluster parameter group.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

Represents the output of DBClusterParameterGroup.

" + }, + "DBClusterParameterGroupList":{ + "type":"list", + "member":{ + "shape":"DBClusterParameterGroup", + "locationName":"DBClusterParameterGroup" + } + }, + "DBClusterParameterGroupNameMessage":{ + "type":"structure", + "members":{ + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of a DB cluster parameter group.

Constraints:

  • Must be from 1 to 255 letters or numbers.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

This value is stored as a lowercase string.

" + } + }, + "documentation":"

Contains the name of a DB cluster parameter group.

" + }, + "DBClusterParameterGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter group.

", + "error":{ + "code":"DBClusterParameterGroupNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBClusterParameterGroupsMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "DBClusterParameterGroups":{ + "shape":"DBClusterParameterGroupList", + "documentation":"

A list of DB cluster parameter groups.

" + } + }, + "documentation":"

Represents the output of DBClusterParameterGroups.

" + }, + "DBClusterQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The DB cluster can't be created because you have reached the maximum allowed quota of DB clusters.

", + "error":{ + "code":"DBClusterQuotaExceededFault", + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "DBClusterRole":{ + "type":"structure", + "members":{ + "RoleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster.

" + }, + "Status":{ + "shape":"String", + "documentation":"

Describes the state of association between the IAM role and the DB cluster. The Status property returns one of the following values:

  • ACTIVE - The IAM role ARN is associated with the DB cluster and can be used to access other AWS services on your behalf.

  • PENDING - The IAM role ARN is being associated with the DB cluster.

  • INVALID - The IAM role ARN is associated with the DB cluster, but the DB cluster cannot assume the IAM role to access other AWS services on your behalf.

" + } + }, + "documentation":"

Describes an AWS Identity and Access Management (IAM) role that is associated with a DB cluster.

" + }, + "DBClusterRoles":{ + "type":"list", + "member":{ + "shape":"DBClusterRole", + "locationName":"DBClusterRole" + } + }, + "DBClusterSnapshot":{ + "type":"structure", + "members":{ + "AvailabilityZones":{ + "shape":"AvailabilityZones", + "documentation":"

Provides the list of Amazon EC2 Availability Zones that instances in the DB cluster snapshot can be restored in.

" + }, + "DBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

Specifies the identifier for the DB cluster snapshot.

" + }, + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

Specifies the DB cluster identifier of the DB cluster that this DB cluster snapshot was created from.

" + }, + "SnapshotCreateTime":{ + "shape":"TStamp", + "documentation":"

Provides the time when the snapshot was taken, in UTC.

" + }, + "Engine":{ + "shape":"String", + "documentation":"

Specifies the name of the database engine.

" + }, + "Status":{ + "shape":"String", + "documentation":"

Specifies the status of this DB cluster snapshot.

" + }, + "Port":{ + "shape":"Integer", + "documentation":"

Specifies the port that the DB cluster was listening on at the time of the snapshot.

" + }, + "VpcId":{ + "shape":"String", + "documentation":"

Provides the virtual private cloud (VPC) ID that is associated with the DB cluster snapshot.

" + }, + "ClusterCreateTime":{ + "shape":"TStamp", + "documentation":"

Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).

" + }, + "MasterUsername":{ + "shape":"String", + "documentation":"

Provides the master user name for the DB cluster snapshot.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

Provides the version of the database engine for this DB cluster snapshot.

" + }, + "SnapshotType":{ + "shape":"String", + "documentation":"

Provides the type of the DB cluster snapshot.

" + }, + "PercentProgress":{ + "shape":"Integer", + "documentation":"

Specifies the percentage of the estimated data that has been transferred.

" + }, + "StorageEncrypted":{ + "shape":"Boolean", + "documentation":"

Specifies whether the DB cluster snapshot is encrypted.

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB cluster snapshot.

" + }, + "DBClusterSnapshotArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the DB cluster snapshot.

" + }, + "SourceDBClusterSnapshotArn":{ + "shape":"String", + "documentation":"

If the DB cluster snapshot was copied from a source DB cluster snapshot, the ARN for the source DB cluster snapshot; otherwise, a null value.

" + } + }, + "documentation":"

Detailed information about a DB cluster snapshot.

", + "wrapper":true + }, + "DBClusterSnapshotAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

You already have a DB cluster snapshot with the given identifier.

", + "error":{ + "code":"DBClusterSnapshotAlreadyExistsFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBClusterSnapshotAttribute":{ + "type":"structure", + "members":{ + "AttributeName":{ + "shape":"String", + "documentation":"

The name of the manual DB cluster snapshot attribute.

The attribute named restore refers to the list of AWS accounts that have permission to copy or restore the manual DB cluster snapshot.

" + }, + "AttributeValues":{ + "shape":"AttributeValueList", + "documentation":"

The values for the manual DB cluster snapshot attribute.

If the AttributeName field is set to restore, then this element returns a list of IDs of the AWS accounts that are authorized to copy or restore the manual DB cluster snapshot. If a value of all is in the list, then the manual DB cluster snapshot is public and available for any AWS account to copy or restore.

" + } + }, + "documentation":"

Contains the name and values of a manual DB cluster snapshot attribute.

Manual DB cluster snapshot attributes are used to authorize other AWS accounts to restore a manual DB cluster snapshot.

" + }, + "DBClusterSnapshotAttributeList":{ + "type":"list", + "member":{ + "shape":"DBClusterSnapshotAttribute", + "locationName":"DBClusterSnapshotAttribute" + } + }, + "DBClusterSnapshotAttributesResult":{ + "type":"structure", + "members":{ + "DBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the DB cluster snapshot that the attributes apply to.

" + }, + "DBClusterSnapshotAttributes":{ + "shape":"DBClusterSnapshotAttributeList", + "documentation":"

The list of attributes and values for the DB cluster snapshot.

" + } + }, + "documentation":"

Detailed information about the attributes that are associated with a DB cluster snapshot.

", + "wrapper":true + }, + "DBClusterSnapshotList":{ + "type":"list", + "member":{ + "shape":"DBClusterSnapshot", + "locationName":"DBClusterSnapshot" + } + }, + "DBClusterSnapshotMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "DBClusterSnapshots":{ + "shape":"DBClusterSnapshotList", + "documentation":"

Provides a list of DB cluster snapshots.

" + } + }, + "documentation":"

Represents the output of DescribeDBClusterSnapshots.

" + }, + "DBClusterSnapshotNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.

", + "error":{ + "code":"DBClusterSnapshotNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBEngineVersion":{ + "type":"structure", + "members":{ + "Engine":{ + "shape":"String", + "documentation":"

The name of the database engine.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The version number of the database engine.

" + }, + "DBParameterGroupFamily":{ + "shape":"String", + "documentation":"

The name of the DB parameter group family for the database engine.

" + }, + "DBEngineDescription":{ + "shape":"String", + "documentation":"

The description of the database engine.

" + }, + "DBEngineVersionDescription":{ + "shape":"String", + "documentation":"

The description of the database engine version.

" + }, + "ValidUpgradeTarget":{ + "shape":"ValidUpgradeTargetList", + "documentation":"

A list of engine versions that this database engine version can be upgraded to.

" + }, + "ExportableLogTypes":{ + "shape":"LogTypeList", + "documentation":"

The types of logs that the database engine has available for export to Amazon CloudWatch Logs.

" + }, + "SupportsLogExportsToCloudwatchLogs":{ + "shape":"Boolean", + "documentation":"

A value that indicates whether the engine version supports exporting the log types specified by ExportableLogTypes to CloudWatch Logs.

" + } + }, + "documentation":"

Detailed information about a DB engine version.

" + }, + "DBEngineVersionList":{ + "type":"list", + "member":{ + "shape":"DBEngineVersion", + "locationName":"DBEngineVersion" + } + }, + "DBEngineVersionMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "DBEngineVersions":{ + "shape":"DBEngineVersionList", + "documentation":"

Detailed information about one or more DB engine versions.

" + } + }, + "documentation":"

Represents the output of DescribeDBEngineVersions.

" + }, + "DBInstance":{ + "type":"structure", + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

Contains a user-provided database identifier. This identifier is the unique key that identifies a DB instance.

" + }, + "DBInstanceClass":{ + "shape":"String", + "documentation":"

Contains the name of the compute and memory capacity class of the DB instance.

" + }, + "Engine":{ + "shape":"String", + "documentation":"

Provides the name of the database engine to be used for this DB instance.

" + }, + "DBInstanceStatus":{ + "shape":"String", + "documentation":"

Specifies the current state of this database.

" + }, + "Endpoint":{ + "shape":"Endpoint", + "documentation":"

Specifies the connection endpoint.

" + }, + "InstanceCreateTime":{ + "shape":"TStamp", + "documentation":"

Provides the date and time that the DB instance was created.

" + }, + "PreferredBackupWindow":{ + "shape":"String", + "documentation":"

Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.

" + }, + "BackupRetentionPeriod":{ + "shape":"Integer", + "documentation":"

Specifies the number of days for which automatic DB snapshots are retained.

" + }, + "VpcSecurityGroups":{ + "shape":"VpcSecurityGroupMembershipList", + "documentation":"

Provides a list of VPC security group elements that the DB instance belongs to.

" + }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

Specifies the name of the Availability Zone that the DB instance is located in.

" + }, + "DBSubnetGroup":{ + "shape":"DBSubnetGroup", + "documentation":"

Specifies information on the subnet group that is associated with the DB instance, including the name, description, and subnets in the subnet group.

" + }, + "PreferredMaintenanceWindow":{ + "shape":"String", + "documentation":"

Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

" + }, + "PendingModifiedValues":{ + "shape":"PendingModifiedValues", + "documentation":"

Specifies that changes to the DB instance are pending. This element is included only when changes are pending. Specific changes are identified by subelements.

" + }, + "LatestRestorableTime":{ + "shape":"TStamp", + "documentation":"

Specifies the latest time to which a database can be restored with point-in-time restore.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

Indicates the database engine version.

" + }, + "AutoMinorVersionUpgrade":{ + "shape":"Boolean", + "documentation":"

Indicates that minor version patches are applied automatically.

" + }, + "PubliclyAccessible":{ + "shape":"Boolean", + "documentation":"

Specifies the availability options for the DB instance. A value of true specifies an internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address.

" + }, + "StatusInfos":{ + "shape":"DBInstanceStatusInfoList", + "documentation":"

The status of a read replica. If the instance is not a read replica, this is blank.

" + }, + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

Contains the name of the DB cluster that the DB instance is a member of if the DB instance is a member of a DB cluster.

" + }, + "StorageEncrypted":{ + "shape":"Boolean", + "documentation":"

Specifies whether the DB instance is encrypted.

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB instance.

" + }, + "DbiResourceId":{ + "shape":"String", + "documentation":"

The AWS Region-unique, immutable identifier for the DB instance. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB instance is accessed.

" + }, + "PromotionTier":{ + "shape":"IntegerOptional", + "documentation":"

A value that specifies the order in which an Amazon DocumentDB replica is promoted to the primary instance after a failure of the existing primary instance.

" + }, + "DBInstanceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the DB instance.

" + }, + "EnabledCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

A list of log types that this DB instance is configured to export to Amazon CloudWatch Logs.

" + } + }, + "documentation":"

Detailed information about a DB instance.

", + "wrapper":true + }, + "DBInstanceAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

You already have a DB instance with the given identifier.

", + "error":{ + "code":"DBInstanceAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBInstanceList":{ + "type":"list", + "member":{ + "shape":"DBInstance", + "locationName":"DBInstance" + } + }, + "DBInstanceMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "DBInstances":{ + "shape":"DBInstanceList", + "documentation":"

Detailed information about one or more DB instances.

" + } + }, + "documentation":"

Represents the output of DescribeDBInstances.

" + }, + "DBInstanceNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBInstanceIdentifier doesn't refer to an existing DB instance.

", + "error":{ + "code":"DBInstanceNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBInstanceStatusInfo":{ + "type":"structure", + "members":{ + "StatusType":{ + "shape":"String", + "documentation":"

This value is currently \"read replication.\"

" + }, + "Normal":{ + "shape":"Boolean", + "documentation":"

A Boolean value that is true if the instance is operating normally, or false if the instance is in an error state.

" + }, + "Status":{ + "shape":"String", + "documentation":"

Status of the DB instance. For a StatusType of read replica, the values can be replicating, error, stopped, or terminated.

" + }, + "Message":{ + "shape":"String", + "documentation":"

Details of the error if there is an error for the instance. If the instance is not in an error state, this value is blank.

" + } + }, + "documentation":"

Provides a list of status information for a DB instance.

" + }, + "DBInstanceStatusInfoList":{ + "type":"list", + "member":{ + "shape":"DBInstanceStatusInfo", + "locationName":"DBInstanceStatusInfo" + } + }, + "DBParameterGroupAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

A DB parameter group with the same name already exists.

", + "error":{ + "code":"DBParameterGroupAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBParameterGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBParameterGroupName doesn't refer to an existing DB parameter group.

", + "error":{ + "code":"DBParameterGroupNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBParameterGroupQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

This request would cause you to exceed the allowed number of DB parameter groups.

", + "error":{ + "code":"DBParameterGroupQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBSecurityGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBSecurityGroupName doesn't refer to an existing DB security group.

", + "error":{ + "code":"DBSecurityGroupNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBSnapshotAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBSnapshotIdentifier is already being used by an existing snapshot.

", + "error":{ + "code":"DBSnapshotAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBSnapshotNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBSnapshotIdentifier doesn't refer to an existing DB snapshot.

", + "error":{ + "code":"DBSnapshotNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBSubnetGroup":{ + "type":"structure", + "members":{ + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

The name of the DB subnet group.

" + }, + "DBSubnetGroupDescription":{ + "shape":"String", + "documentation":"

Provides the description of the DB subnet group.

" + }, + "VpcId":{ + "shape":"String", + "documentation":"

Provides the virtual private cloud (VPC) ID of the DB subnet group.

" + }, + "SubnetGroupStatus":{ + "shape":"String", + "documentation":"

Provides the status of the DB subnet group.

" + }, + "Subnets":{ + "shape":"SubnetList", + "documentation":"

Detailed information about one or more subnets within a DB subnet group.

" + }, + "DBSubnetGroupArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Identifier (ARN) for the DB subnet group.

" + } + }, + "documentation":"

Detailed information about a DB subnet group.

", + "wrapper":true + }, + "DBSubnetGroupAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBSubnetGroupName is already being used by an existing DB subnet group.

", + "error":{ + "code":"DBSubnetGroupAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBSubnetGroupDoesNotCoverEnoughAZs":{ + "type":"structure", + "members":{ + }, + "documentation":"

Subnets in the DB subnet group should cover at least two Availability Zones unless there is only one Availability Zone.

", + "error":{ + "code":"DBSubnetGroupDoesNotCoverEnoughAZs", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBSubnetGroupMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "DBSubnetGroups":{ + "shape":"DBSubnetGroups", + "documentation":"

Detailed information about one or more DB subnet groups.

" + } + }, + "documentation":"

Represents the output of DescribeDBSubnetGroups.

" + }, + "DBSubnetGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBSubnetGroupName doesn't refer to an existing DB subnet group.

", + "error":{ + "code":"DBSubnetGroupNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBSubnetGroupQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The request would cause you to exceed the allowed number of DB subnet groups.

", + "error":{ + "code":"DBSubnetGroupQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBSubnetGroups":{ + "type":"list", + "member":{ + "shape":"DBSubnetGroup", + "locationName":"DBSubnetGroup" + } + }, + "DBSubnetQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The request would cause you to exceed the allowed number of subnets in a DB subnet group.

", + "error":{ + "code":"DBSubnetQuotaExceededFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBUpgradeDependencyFailureFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The DB upgrade failed because a resource that the DB depends on can't be modified.

", + "error":{ + "code":"DBUpgradeDependencyFailure", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DeleteDBClusterMessage":{ + "type":"structure", + "required":["DBClusterIdentifier"], + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The DB cluster identifier for the DB cluster to be deleted. This parameter isn't case sensitive.

Constraints:

  • Must match an existing DBClusterIdentifier.

" + }, + "SkipFinalSnapshot":{ + "shape":"Boolean", + "documentation":"

Determines whether a final DB cluster snapshot is created before the DB cluster is deleted. If true is specified, no DB cluster snapshot is created. If false is specified, a DB cluster snapshot is created before the DB cluster is deleted.

If SkipFinalSnapshot is false, you must specify a FinalDBSnapshotIdentifier parameter.

Default: false

" + }, + "FinalDBSnapshotIdentifier":{ + "shape":"String", + "documentation":"

The DB cluster snapshot identifier of the new DB cluster snapshot created when SkipFinalSnapshot is set to false.

Specifying this parameter and also setting the SkipFinalShapshot parameter to true results in an error.

Constraints:

  • Must be from 1 to 255 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" + } + }, + "documentation":"

Represents the input to DeleteDBCluster.

" + }, + "DeleteDBClusterParameterGroupMessage":{ + "type":"structure", + "required":["DBClusterParameterGroupName"], + "members":{ + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the DB cluster parameter group.

Constraints:

  • Must be the name of an existing DB cluster parameter group.

  • You can't delete a default DB cluster parameter group.

  • Cannot be associated with any DB clusters.

" + } + }, + "documentation":"

Represents the input to DeleteDBClusterParameterGroup.

" + }, + "DeleteDBClusterResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "DeleteDBClusterSnapshotMessage":{ + "type":"structure", + "required":["DBClusterSnapshotIdentifier"], + "members":{ + "DBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the DB cluster snapshot to delete.

Constraints: Must be the name of an existing DB cluster snapshot in the available state.

" + } + }, + "documentation":"

Represents the input to DeleteDBClusterSnapshot.

" + }, + "DeleteDBClusterSnapshotResult":{ + "type":"structure", + "members":{ + "DBClusterSnapshot":{"shape":"DBClusterSnapshot"} + } + }, + "DeleteDBInstanceMessage":{ + "type":"structure", + "required":["DBInstanceIdentifier"], + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

The DB instance identifier for the DB instance to be deleted. This parameter isn't case sensitive.

Constraints:

  • Must match the name of an existing DB instance.

" + } + }, + "documentation":"

Represents the input to DeleteDBInstance.

" + }, + "DeleteDBInstanceResult":{ + "type":"structure", + "members":{ + "DBInstance":{"shape":"DBInstance"} + } + }, + "DeleteDBSubnetGroupMessage":{ + "type":"structure", + "required":["DBSubnetGroupName"], + "members":{ + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

The name of the database subnet group to delete.

You can't delete the default subnet group.

Constraints:

Must match the name of an existing DBSubnetGroup. Must not be default.

Example: mySubnetgroup

" + } + }, + "documentation":"

Represents the input to DeleteDBSubnetGroup.

" + }, + "DescribeDBClusterParameterGroupsMessage":{ + "type":"structure", + "members":{ + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of a specific DB cluster parameter group to return details for.

Constraints:

  • If provided, must match the name of an existing DBClusterParameterGroup.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (marker) is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

Represents the input to DescribeDBClusterParameterGroups.

" + }, + "DescribeDBClusterParametersMessage":{ + "type":"structure", + "required":["DBClusterParameterGroupName"], + "members":{ + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of a specific DB cluster parameter group to return parameter details for.

Constraints:

  • If provided, must match the name of an existing DBClusterParameterGroup.

" + }, + "Source":{ + "shape":"String", + "documentation":"

A value that indicates to return only parameters for a specific source. Parameter sources can be engine, service, or customer.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (marker) is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

Represents the input to DescribeDBClusterParameters.

" + }, + "DescribeDBClusterSnapshotAttributesMessage":{ + "type":"structure", + "required":["DBClusterSnapshotIdentifier"], + "members":{ + "DBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

The identifier for the DB cluster snapshot to describe the attributes for.

" + } + }, + "documentation":"

Represents the input to DescribeDBClusterSnapshotAttributes.

" + }, + "DescribeDBClusterSnapshotAttributesResult":{ + "type":"structure", + "members":{ + "DBClusterSnapshotAttributesResult":{"shape":"DBClusterSnapshotAttributesResult"} + } + }, + "DescribeDBClusterSnapshotsMessage":{ + "type":"structure", + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The ID of the DB cluster to retrieve the list of DB cluster snapshots for. This parameter can't be used with the DBClusterSnapshotIdentifier parameter. This parameter is not case sensitive.

Constraints:

  • If provided, must match the identifier of an existing DBCluster.

" + }, + "DBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

A specific DB cluster snapshot identifier to describe. This parameter can't be used with the DBClusterIdentifier parameter. This value is stored as a lowercase string.

Constraints:

  • If provided, must match the identifier of an existing DBClusterSnapshot.

  • If this identifier is for an automated snapshot, the SnapshotType parameter must also be specified.

" + }, + "SnapshotType":{ + "shape":"String", + "documentation":"

The type of DB cluster snapshots to be returned. You can specify one of the following values:

  • automated - Return all DB cluster snapshots that Amazon DocumentDB has automatically created for your AWS account.

  • manual - Return all DB cluster snapshots that you have manually created for your AWS account.

  • shared - Return all manual DB cluster snapshots that have been shared to your AWS account.

  • public - Return all DB cluster snapshots that have been marked as public.

If you don't specify a SnapshotType value, then both automated and manual DB cluster snapshots are returned. You can include shared DB cluster snapshots with these results by setting the IncludeShared parameter to true. You can include public DB cluster snapshots with these results by setting the IncludePublic parameter to true.

The IncludeShared and IncludePublic parameters don't apply for SnapshotType values of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to public.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (marker) is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "IncludeShared":{ + "shape":"Boolean", + "documentation":"

Set to true to include shared manual DB cluster snapshots from other AWS accounts that this AWS account has been given permission to copy or restore, and otherwise false. The default is false.

" + }, + "IncludePublic":{ + "shape":"Boolean", + "documentation":"

Set to true to include manual DB cluster snapshots that are public and can be copied or restored by any AWS account, and otherwise false. The default is false.

" + } + }, + "documentation":"

Represents the input to DescribeDBClusterSnapshots.

" + }, + "DescribeDBClustersMessage":{ + "type":"structure", + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The user-provided DB cluster identifier. If this parameter is specified, information from only the specific DB cluster is returned. This parameter isn't case sensitive.

Constraints:

  • If provided, must match an existing DBClusterIdentifier.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

A filter that specifies one or more DB clusters to describe.

Supported filters:

  • db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list only includes information about the DB clusters identified by these ARNs.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (marker) is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

Represents the input to DescribeDBClusters.

" + }, + "DescribeDBEngineVersionsMessage":{ + "type":"structure", + "members":{ + "Engine":{ + "shape":"String", + "documentation":"

The database engine to return.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The database engine version to return.

Example: 5.1.49

" + }, + "DBParameterGroupFamily":{ + "shape":"String", + "documentation":"

The name of a specific DB parameter group family to return details for.

Constraints:

  • If provided, must match an existing DBParameterGroupFamily.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (marker) is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "DefaultOnly":{ + "shape":"Boolean", + "documentation":"

Indicates that only the default version of the specified engine or engine and major version combination is returned.

" + }, + "ListSupportedCharacterSets":{ + "shape":"BooleanOptional", + "documentation":"

If this parameter is specified and the requested engine supports the CharacterSetName parameter for CreateDBInstance, the response includes a list of supported character sets for each engine version.

" + }, + "ListSupportedTimezones":{ + "shape":"BooleanOptional", + "documentation":"

If this parameter is specified and the requested engine supports the TimeZone parameter for CreateDBInstance, the response includes a list of supported time zones for each engine version.

" + } + }, + "documentation":"

Represents the input to DescribeDBEngineVersions.

" + }, + "DescribeDBInstancesMessage":{ + "type":"structure", + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

The user-provided instance identifier. If this parameter is specified, information from only the specific DB instance is returned. This parameter isn't case sensitive.

Constraints:

  • If provided, must match the identifier of an existing DBInstance.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

A filter that specifies one or more DB instances to describe.

Supported filters:

  • db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list includes only the information about the DB instances that are associated with the DB clusters that are identified by these ARNs.

  • db-instance-id - Accepts DB instance identifiers and DB instance ARNs. The results list includes only the information about the DB instances that are identified by these ARNs.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (marker) is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

Represents the input to DescribeDBInstances.

" + }, + "DescribeDBSubnetGroupsMessage":{ + "type":"structure", + "members":{ + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

The name of the DB subnet group to return details for.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (marker) is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

Represents the input to DescribeDBSubnetGroups.

" + }, + "DescribeEngineDefaultClusterParametersMessage":{ + "type":"structure", + "required":["DBParameterGroupFamily"], + "members":{ + "DBParameterGroupFamily":{ + "shape":"String", + "documentation":"

The name of the DB cluster parameter group family to return the engine parameter information for.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (marker) is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

Represents the input to DescribeEngineDefaultClusterParameters.

" + }, + "DescribeEngineDefaultClusterParametersResult":{ + "type":"structure", + "members":{ + "EngineDefaults":{"shape":"EngineDefaults"} + } + }, + "DescribeEventCategoriesMessage":{ + "type":"structure", + "members":{ + "SourceType":{ + "shape":"String", + "documentation":"

The type of source that is generating the events.

Valid values: db-instance, db-parameter-group, db-security-group, db-snapshot

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + } + }, + "documentation":"

Represents the input to DescribeEventCategories.

" + }, + "DescribeEventsMessage":{ + "type":"structure", + "members":{ + "SourceIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the event source for which events are returned. If not specified, then all sources are included in the response.

Constraints:

  • If SourceIdentifier is provided, SourceType must also be provided.

  • If the source type is DBInstance, a DBInstanceIdentifier must be provided.

  • If the source type is DBSecurityGroup, a DBSecurityGroupName must be provided.

  • If the source type is DBParameterGroup, a DBParameterGroupName must be provided.

  • If the source type is DBSnapshot, a DBSnapshotIdentifier must be provided.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" + }, + "SourceType":{ + "shape":"SourceType", + "documentation":"

The event source to retrieve events for. If no value is specified, all events are returned.

" + }, + "StartTime":{ + "shape":"TStamp", + "documentation":"

The beginning of the time interval to retrieve events for, specified in ISO 8601 format.

Example: 2009-07-08T18:00Z

" + }, + "EndTime":{ + "shape":"TStamp", + "documentation":"

The end of the time interval for which to retrieve events, specified in ISO 8601 format.

Example: 2009-07-08T18:00Z

" + }, + "Duration":{ + "shape":"IntegerOptional", + "documentation":"

The number of minutes to retrieve events for.

Default: 60

" + }, + "EventCategories":{ + "shape":"EventCategoriesList", + "documentation":"

A list of event categories that trigger notifications for an event notification subscription.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (marker) is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

Represents the input to DescribeEvents.

" + }, + "DescribeOrderableDBInstanceOptionsMessage":{ + "type":"structure", + "required":["Engine"], + "members":{ + "Engine":{ + "shape":"String", + "documentation":"

The name of the engine to retrieve DB instance options for.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The engine version filter value. Specify this parameter to show only the available offerings that match the specified engine version.

" + }, + "DBInstanceClass":{ + "shape":"String", + "documentation":"

The DB instance class filter value. Specify this parameter to show only the available offerings that match the specified DB instance class.

" + }, + "LicenseModel":{ + "shape":"String", + "documentation":"

The license model filter value. Specify this parameter to show only the available offerings that match the specified license model.

" + }, + "Vpc":{ + "shape":"BooleanOptional", + "documentation":"

The virtual private cloud (VPC) filter value. Specify this parameter to show only the available VPC or non-VPC offerings.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (marker) is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

Represents the input to DescribeOrderableDBInstanceOptions.

" + }, + "DescribePendingMaintenanceActionsMessage":{ + "type":"structure", + "members":{ + "ResourceIdentifier":{ + "shape":"String", + "documentation":"

The ARN of a resource to return pending maintenance actions for.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

A filter that specifies one or more resources to return pending maintenance actions for.

Supported filters:

  • db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list includes only pending maintenance actions for the DB clusters identified by these ARNs.

  • db-instance-id - Accepts DB instance identifiers and DB instance ARNs. The results list includes only pending maintenance actions for the DB instances identified by these ARNs.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (marker) is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + } + }, + "documentation":"

Represents the input to DescribePendingMaintenanceActions.

" + }, + "Endpoint":{ + "type":"structure", + "members":{ + "Address":{ + "shape":"String", + "documentation":"

Specifies the DNS address of the DB instance.

" + }, + "Port":{ + "shape":"Integer", + "documentation":"

Specifies the port that the database engine is listening on.

" + }, + "HostedZoneId":{ + "shape":"String", + "documentation":"

Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

" + } + }, + "documentation":"

Network information for accessing a DB cluster or DB instance. Client programs must specify a valid endpoint to access these Amazon DocumentDB resources.

" + }, + "EngineDefaults":{ + "type":"structure", + "members":{ + "DBParameterGroupFamily":{ + "shape":"String", + "documentation":"

The name of the DB cluster parameter group family to return the engine parameter information for.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "Parameters":{ + "shape":"ParametersList", + "documentation":"

The parameters of a particular DB cluster parameter group family.

" + } + }, + "documentation":"

Contains the result of a successful invocation of the DescribeEngineDefaultClusterParameters operation.

", + "wrapper":true + }, + "Event":{ + "type":"structure", + "members":{ + "SourceIdentifier":{ + "shape":"String", + "documentation":"

Provides the identifier for the source of the event.

" + }, + "SourceType":{ + "shape":"SourceType", + "documentation":"

Specifies the source type for this event.

" + }, + "Message":{ + "shape":"String", + "documentation":"

Provides the text of this event.

" + }, + "EventCategories":{ + "shape":"EventCategoriesList", + "documentation":"

Specifies the category for the event.

" + }, + "Date":{ + "shape":"TStamp", + "documentation":"

Specifies the date and time of the event.

" + }, + "SourceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the event.

" + } + }, + "documentation":"

Detailed information about an event.

" + }, + "EventCategoriesList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"EventCategory" + } + }, + "EventCategoriesMap":{ + "type":"structure", + "members":{ + "SourceType":{ + "shape":"String", + "documentation":"

The source type that the returned categories belong to.

" + }, + "EventCategories":{ + "shape":"EventCategoriesList", + "documentation":"

The event categories for the specified source type.

" + } + }, + "documentation":"

An event source type, accompanied by one or more event category names.

", + "wrapper":true + }, + "EventCategoriesMapList":{ + "type":"list", + "member":{ + "shape":"EventCategoriesMap", + "locationName":"EventCategoriesMap" + } + }, + "EventCategoriesMessage":{ + "type":"structure", + "members":{ + "EventCategoriesMapList":{ + "shape":"EventCategoriesMapList", + "documentation":"

A list of event category maps.

" + } + }, + "documentation":"

Represents the output of DescribeEventCategories.

" + }, + "EventList":{ + "type":"list", + "member":{ + "shape":"Event", + "locationName":"Event" + } + }, + "EventsMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "Events":{ + "shape":"EventList", + "documentation":"

Detailed information about one or more events.

" + } + }, + "documentation":"

Represents the output of DescribeEvents.

" + }, + "FailoverDBClusterMessage":{ + "type":"structure", + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

A DB cluster identifier to force a failover for. This parameter is not case sensitive.

Constraints:

  • Must match the identifier of an existing DBCluster.

" + }, + "TargetDBInstanceIdentifier":{ + "shape":"String", + "documentation":"

The name of the instance to promote to the primary instance.

You must specify the instance identifier for an Amazon DocumentDB replica in the DB cluster. For example, mydbcluster-replica1.

" + } + }, + "documentation":"

Represents the input to FailoverDBCluster.

" + }, + "FailoverDBClusterResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "Filter":{ + "type":"structure", + "required":[ + "Name", + "Values" + ], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the filter. Filter names are case sensitive.

" + }, + "Values":{ + "shape":"FilterValueList", + "documentation":"

One or more filter values. Filter values are case sensitive.

" + } + }, + "documentation":"

A named set of filter values, used to return a more specific list of results. You can use a filter to match a set of resources by specific criteria, such as IDs.

Wildcards are not supported in filters.

" + }, + "FilterList":{ + "type":"list", + "member":{ + "shape":"Filter", + "locationName":"Filter" + } + }, + "FilterValueList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"Value" + } + }, + "InstanceQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The request would cause you to exceed the allowed number of DB instances.

", + "error":{ + "code":"InstanceQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InsufficientDBClusterCapacityFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The DB cluster doesn't have enough capacity for the current operation.

", + "error":{ + "code":"InsufficientDBClusterCapacityFault", + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "InsufficientDBInstanceCapacityFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified DB instance class isn't available in the specified Availability Zone.

", + "error":{ + "code":"InsufficientDBInstanceCapacity", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InsufficientStorageClusterCapacityFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

There is not enough storage available for the current action. You might be able to resolve this error by updating your subnet group to use different Availability Zones that have more storage available.

", + "error":{ + "code":"InsufficientStorageClusterCapacity", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "Integer":{"type":"integer"}, + "IntegerOptional":{"type":"integer"}, + "InvalidDBClusterSnapshotStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The provided value isn't a valid DB cluster snapshot state.

", + "error":{ + "code":"InvalidDBClusterSnapshotStateFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidDBClusterStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The DB cluster isn't in a valid state.

", + "error":{ + "code":"InvalidDBClusterStateFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidDBInstanceStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified DB instance isn't in the available state.

", + "error":{ + "code":"InvalidDBInstanceState", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidDBParameterGroupStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The DB parameter group is in use, or it is in a state that is not valid. If you are trying to delete the parameter group, you can't delete it when the parameter group is in this state.

", + "error":{ + "code":"InvalidDBParameterGroupState", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidDBSecurityGroupStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The state of the DB security group doesn't allow deletion.

", + "error":{ + "code":"InvalidDBSecurityGroupState", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidDBSnapshotStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The state of the DB snapshot doesn't allow deletion.

", + "error":{ + "code":"InvalidDBSnapshotState", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidDBSubnetGroupStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The DB subnet group can't be deleted because it's in use.

", + "error":{ + "code":"InvalidDBSubnetGroupStateFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidDBSubnetStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The DB subnet isn't in the available state.

", + "error":{ + "code":"InvalidDBSubnetStateFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidRestoreFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

You cannot restore from a virtual private cloud (VPC) backup to a non-VPC DB instance.

", + "error":{ + "code":"InvalidRestoreFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidSubnet":{ + "type":"structure", + "members":{ + }, + "documentation":"

The requested subnet is not valid, or multiple subnets were requested that are not all in a common virtual private cloud (VPC).

", + "error":{ + "code":"InvalidSubnet", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidVPCNetworkStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The DB subnet group doesn't cover all Availability Zones after it is created because of changes that were made.

", + "error":{ + "code":"InvalidVPCNetworkStateFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "KMSKeyNotAccessibleFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

An error occurred when accessing an AWS KMS key.

", + "error":{ + "code":"KMSKeyNotAccessibleFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "KeyList":{ + "type":"list", + "member":{"shape":"String"} + }, + "ListTagsForResourceMessage":{ + "type":"structure", + "required":["ResourceName"], + "members":{ + "ResourceName":{ + "shape":"String", + "documentation":"

The Amazon DocumentDB resource with tags to be listed. This value is an Amazon Resource Name (ARN).

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + } + }, + "documentation":"

Represents the input to ListTagsForResource.

" + }, + "LogTypeList":{ + "type":"list", + "member":{"shape":"String"} + }, + "ModifyDBClusterMessage":{ + "type":"structure", + "required":["DBClusterIdentifier"], + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The DB cluster identifier for the cluster that is being modified. This parameter is not case sensitive.

Constraints:

  • Must match the identifier of an existing DBCluster.

" + }, + "NewDBClusterIdentifier":{ + "shape":"String", + "documentation":"

The new DB cluster identifier for the DB cluster when renaming a DB cluster. This value is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster2

" + }, + "ApplyImmediately":{ + "shape":"Boolean", + "documentation":"

A value that specifies whether the changes in this request and any pending changes are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB cluster. If this parameter is set to false, changes to the DB cluster are applied during the next maintenance window.

The ApplyImmediately parameter affects only the NewDBClusterIdentifier and MasterUserPassword values. If you set this parameter value to false, the changes to the NewDBClusterIdentifier and MasterUserPassword values are applied during the next maintenance window. All other changes are applied immediately, regardless of the value of the ApplyImmediately parameter.

Default: false

" + }, + "BackupRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

The number of days for which automated backups are retained. You must specify a minimum value of 1.

Default: 1

Constraints:

  • Must be a value from 1 to 35.

" + }, + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the DB cluster parameter group to use for the DB cluster.

" + }, + "VpcSecurityGroupIds":{ + "shape":"VpcSecurityGroupIdList", + "documentation":"

A list of virtual private cloud (VPC) security groups that the DB cluster will belong to.

" + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

The port number on which the DB cluster accepts connections.

Constraints: Must be a value from 1150 to 65535.

Default: The same port as the original DB cluster.

" + }, + "MasterUserPassword":{ + "shape":"String", + "documentation":"

The new password for the master database user. This password can contain any printable ASCII character except \"/\", \"\"\", or \"@\".

Constraints: Must contain from 8 to 41 characters.

" + }, + "PreferredBackupWindow":{ + "shape":"String", + "documentation":"

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" + }, + "PreferredMaintenanceWindow":{ + "shape":"String", + "documentation":"

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.

Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

" + }, + "CloudwatchLogsExportConfiguration":{ + "shape":"CloudwatchLogsExportConfiguration", + "documentation":"

The configuration setting for the log types to be enabled for export to Amazon CloudWatch Logs for a specific DB instance or DB cluster. The EnableLogTypes and DisableLogTypes arrays determine which logs are exported (or not exported) to CloudWatch Logs.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The version number of the database engine to which you want to upgrade. Changing this parameter results in an outage. The change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true.

" + } + }, + "documentation":"

Represents the input to ModifyDBCluster.

" + }, + "ModifyDBClusterParameterGroupMessage":{ + "type":"structure", + "required":[ + "DBClusterParameterGroupName", + "Parameters" + ], + "members":{ + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the DB cluster parameter group to modify.

" + }, + "Parameters":{ + "shape":"ParametersList", + "documentation":"

A list of parameters in the DB cluster parameter group to modify.

" + } + }, + "documentation":"

Represents the input to ModifyDBClusterParameterGroup.

" + }, + "ModifyDBClusterResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "ModifyDBClusterSnapshotAttributeMessage":{ + "type":"structure", + "required":[ + "DBClusterSnapshotIdentifier", + "AttributeName" + ], + "members":{ + "DBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

The identifier for the DB cluster snapshot to modify the attributes for.

" + }, + "AttributeName":{ + "shape":"String", + "documentation":"

The name of the DB cluster snapshot attribute to modify.

To manage authorization for other AWS accounts to copy or restore a manual DB cluster snapshot, set this value to restore.

" + }, + "ValuesToAdd":{ + "shape":"AttributeValueList", + "documentation":"

A list of DB cluster snapshot attributes to add to the attribute specified by AttributeName.

To authorize other AWS accounts to copy or restore a manual DB cluster snapshot, set this list to include one or more AWS account IDs. To make the manual DB cluster snapshot restorable by any AWS account, set it to all. Do not add the all value for any manual DB cluster snapshots that contain private information that you don't want to be available to all AWS accounts.

" + }, + "ValuesToRemove":{ + "shape":"AttributeValueList", + "documentation":"

A list of DB cluster snapshot attributes to remove from the attribute specified by AttributeName.

To remove authorization for other AWS accounts to copy or restore a manual DB cluster snapshot, set this list to include one or more AWS account identifiers. To remove authorization for any AWS account to copy or restore the DB cluster snapshot, set it to all . If you specify all, an AWS account whose account ID is explicitly added to the restore attribute can still copy or restore a manual DB cluster snapshot.

" + } + }, + "documentation":"

Represents the input to ModifyDBClusterSnapshotAttribute.

" + }, + "ModifyDBClusterSnapshotAttributeResult":{ + "type":"structure", + "members":{ + "DBClusterSnapshotAttributesResult":{"shape":"DBClusterSnapshotAttributesResult"} + } + }, + "ModifyDBInstanceMessage":{ + "type":"structure", + "required":["DBInstanceIdentifier"], + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

The DB instance identifier. This value is stored as a lowercase string.

Constraints:

  • Must match the identifier of an existing DBInstance.

" + }, + "DBInstanceClass":{ + "shape":"String", + "documentation":"

The new compute and memory capacity of the DB instance; for example, db.m4.large. Not all DB instance classes are available in all AWS Regions.

If you modify the DB instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless ApplyImmediately is specified as true for this request.

Default: Uses existing setting.

" + }, + "ApplyImmediately":{ + "shape":"Boolean", + "documentation":"

Specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB instance.

If this parameter is set to false, changes to the DB instance are applied during the next maintenance window. Some parameter changes can cause an outage and are applied on the next reboot.

Default: false

" + }, + "PreferredMaintenanceWindow":{ + "shape":"String", + "documentation":"

The weekly time range (in UTC) during which system maintenance can occur, which might result in an outage. Changing this parameter doesn't result in an outage except in the following situation, and the change is asynchronously applied as soon as possible. If there are pending actions that cause a reboot, and the maintenance window is changed to include the current time, changing this parameter causes a reboot of the DB instance. If you are moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure that pending changes are applied.

Default: Uses existing setting.

Format: ddd:hh24:mi-ddd:hh24:mi

Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Must be at least 30 minutes.

" + }, + "AutoMinorVersionUpgrade":{ + "shape":"BooleanOptional", + "documentation":"

Indicates that minor version upgrades are applied automatically to the DB instance during the maintenance window. Changing this parameter doesn't result in an outage except in the following case, and the change is asynchronously applied as soon as possible. An outage results if this parameter is set to true during the maintenance window, and a newer minor version is available, and Amazon DocumentDB has enabled automatic patching for that engine version.

" + }, + "NewDBInstanceIdentifier":{ + "shape":"String", + "documentation":"

The new DB instance identifier for the DB instance when renaming a DB instance. When you change the DB instance identifier, an instance reboot occurs immediately if you set Apply Immediately to true. It occurs during the next maintenance window if you set Apply Immediately to false. This value is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: mydbinstance

" + }, + "PromotionTier":{ + "shape":"IntegerOptional", + "documentation":"

A value that specifies the order in which an Amazon DocumentDB replica is promoted to the primary instance after a failure of the existing primary instance.

Default: 1

Valid values: 0-15

" + } + }, + "documentation":"

Represents the input to ModifyDBInstance.

" + }, + "ModifyDBInstanceResult":{ + "type":"structure", + "members":{ + "DBInstance":{"shape":"DBInstance"} + } + }, + "ModifyDBSubnetGroupMessage":{ + "type":"structure", + "required":[ + "DBSubnetGroupName", + "SubnetIds" + ], + "members":{ + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

The name for the DB subnet group. This value is stored as a lowercase string. You can't modify the default subnet group.

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

Example: mySubnetgroup

" + }, + "DBSubnetGroupDescription":{ + "shape":"String", + "documentation":"

The description for the DB subnet group.

" + }, + "SubnetIds":{ + "shape":"SubnetIdentifierList", + "documentation":"

The Amazon EC2 subnet IDs for the DB subnet group.

" + } + }, + "documentation":"

Represents the input to ModifyDBSubnetGroup.

" + }, + "ModifyDBSubnetGroupResult":{ + "type":"structure", + "members":{ + "DBSubnetGroup":{"shape":"DBSubnetGroup"} + } + }, + "OrderableDBInstanceOption":{ + "type":"structure", + "members":{ + "Engine":{ + "shape":"String", + "documentation":"

The engine type of a DB instance.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The engine version of a DB instance.

" + }, + "DBInstanceClass":{ + "shape":"String", + "documentation":"

The DB instance class for a DB instance.

" + }, + "LicenseModel":{ + "shape":"String", + "documentation":"

The license model for a DB instance.

" + }, + "AvailabilityZones":{ + "shape":"AvailabilityZoneList", + "documentation":"

A list of Availability Zones for a DB instance.

" + }, + "Vpc":{ + "shape":"Boolean", + "documentation":"

Indicates whether a DB instance is in a virtual private cloud (VPC).

" + } + }, + "documentation":"

The options that are available for a DB instance.

", + "wrapper":true + }, + "OrderableDBInstanceOptionsList":{ + "type":"list", + "member":{ + "shape":"OrderableDBInstanceOption", + "locationName":"OrderableDBInstanceOption" + } + }, + "OrderableDBInstanceOptionsMessage":{ + "type":"structure", + "members":{ + "OrderableDBInstanceOptions":{ + "shape":"OrderableDBInstanceOptionsList", + "documentation":"

The options that are available for a particular orderable DB instance.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

Represents the output of DescribeOrderableDBInstanceOptions.

" + }, + "Parameter":{ + "type":"structure", + "members":{ + "ParameterName":{ + "shape":"String", + "documentation":"

Specifies the name of the parameter.

" + }, + "ParameterValue":{ + "shape":"String", + "documentation":"

Specifies the value of the parameter.

" + }, + "Description":{ + "shape":"String", + "documentation":"

Provides a description of the parameter.

" + }, + "Source":{ + "shape":"String", + "documentation":"

Indicates the source of the parameter value.

" + }, + "ApplyType":{ + "shape":"String", + "documentation":"

Specifies the engine-specific parameters type.

" + }, + "DataType":{ + "shape":"String", + "documentation":"

Specifies the valid data type for the parameter.

" + }, + "AllowedValues":{ + "shape":"String", + "documentation":"

Specifies the valid range of values for the parameter.

" + }, + "IsModifiable":{ + "shape":"Boolean", + "documentation":"

Indicates whether (true) or not (false) the parameter can be modified. Some parameters have security or operational implications that prevent them from being changed.

" + }, + "MinimumEngineVersion":{ + "shape":"String", + "documentation":"

The earliest engine version to which the parameter can apply.

" + }, + "ApplyMethod":{ + "shape":"ApplyMethod", + "documentation":"

Indicates when to apply parameter updates.

" + } + }, + "documentation":"

Detailed information about an individual parameter.

" + }, + "ParametersList":{ + "type":"list", + "member":{ + "shape":"Parameter", + "locationName":"Parameter" + } + }, + "PendingCloudwatchLogsExports":{ + "type":"structure", + "members":{ + "LogTypesToEnable":{ + "shape":"LogTypeList", + "documentation":"

Log types that are in the process of being deactivated. After they are deactivated, these log types aren't exported to CloudWatch Logs.

" + }, + "LogTypesToDisable":{ + "shape":"LogTypeList", + "documentation":"

Log types that are in the process of being enabled. After they are enabled, these log types are exported to Amazon CloudWatch Logs.

" + } + }, + "documentation":"

A list of the log types whose configuration is still pending. These log types are in the process of being activated or deactivated.

" + }, + "PendingMaintenanceAction":{ + "type":"structure", + "members":{ + "Action":{ + "shape":"String", + "documentation":"

The type of pending maintenance action that is available for the resource.

" + }, + "AutoAppliedAfterDate":{ + "shape":"TStamp", + "documentation":"

The date of the maintenance window when the action is applied. The maintenance action is applied to the resource during its first maintenance window after this date. If this date is specified, any next-maintenance opt-in requests are ignored.

" + }, + "ForcedApplyDate":{ + "shape":"TStamp", + "documentation":"

The date when the maintenance action is automatically applied. The maintenance action is applied to the resource on this date regardless of the maintenance window for the resource. If this date is specified, any immediate opt-in requests are ignored.

" + }, + "OptInStatus":{ + "shape":"String", + "documentation":"

Indicates the type of opt-in request that has been received for the resource.

" + }, + "CurrentApplyDate":{ + "shape":"TStamp", + "documentation":"

The effective date when the pending maintenance action is applied to the resource.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A description providing more detail about the maintenance action.

" + } + }, + "documentation":"

Provides information about a pending maintenance action for a resource.

" + }, + "PendingMaintenanceActionDetails":{ + "type":"list", + "member":{ + "shape":"PendingMaintenanceAction", + "locationName":"PendingMaintenanceAction" + } + }, + "PendingMaintenanceActions":{ + "type":"list", + "member":{ + "shape":"ResourcePendingMaintenanceActions", + "locationName":"ResourcePendingMaintenanceActions" + } + }, + "PendingMaintenanceActionsMessage":{ + "type":"structure", + "members":{ + "PendingMaintenanceActions":{ + "shape":"PendingMaintenanceActions", + "documentation":"

The maintenance actions to be applied.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

Represents the output of DescribePendingMaintenanceActions.

" + }, + "PendingModifiedValues":{ + "type":"structure", + "members":{ + "DBInstanceClass":{ + "shape":"String", + "documentation":"

Contains the new DBInstanceClass for the DB instance that will be applied or is currently being applied.

" + }, + "AllocatedStorage":{ + "shape":"IntegerOptional", + "documentation":"

Contains the new AllocatedStorage size for the DB instance that will be applied or is currently being applied.

" + }, + "MasterUserPassword":{ + "shape":"String", + "documentation":"

Contains the pending or currently in-progress change of the master credentials for the DB instance.

" + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

Specifies the pending port for the DB instance.

" + }, + "BackupRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

Specifies the pending number of days for which automated backups are retained.

" + }, + "MultiAZ":{ + "shape":"BooleanOptional", + "documentation":"

Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

Indicates the database engine version.

" + }, + "LicenseModel":{ + "shape":"String", + "documentation":"

The license model for the DB instance.

Valid values: license-included, bring-your-own-license, general-public-license

" + }, + "Iops":{ + "shape":"IntegerOptional", + "documentation":"

Specifies the new Provisioned IOPS value for the DB instance that will be applied or is currently being applied.

" + }, + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

Contains the new DBInstanceIdentifier for the DB instance that will be applied or is currently being applied.

" + }, + "StorageType":{ + "shape":"String", + "documentation":"

Specifies the storage type to be associated with the DB instance.

" + }, + "CACertificateIdentifier":{ + "shape":"String", + "documentation":"

Specifies the identifier of the certificate authority (CA) certificate for the DB instance.

" + }, + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

The new DB subnet group for the DB instance.

" + }, + "PendingCloudwatchLogsExports":{ + "shape":"PendingCloudwatchLogsExports", + "documentation":"

A list of the log types whose configuration is still pending. These log types are in the process of being activated or deactivated.

" + } + }, + "documentation":"

One or more modified settings for a DB instance. These modified settings have been requested, but haven't been applied yet.

" + }, + "RebootDBInstanceMessage":{ + "type":"structure", + "required":["DBInstanceIdentifier"], + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

The DB instance identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must match the identifier of an existing DBInstance.

" + }, + "ForceFailover":{ + "shape":"BooleanOptional", + "documentation":"

When true, the reboot is conducted through a Multi-AZ failover.

Constraint: You can't specify true if the instance is not configured for Multi-AZ.

" + } + }, + "documentation":"

Represents the input to RebootDBInstance.

" + }, + "RebootDBInstanceResult":{ + "type":"structure", + "members":{ + "DBInstance":{"shape":"DBInstance"} + } + }, + "RemoveTagsFromResourceMessage":{ + "type":"structure", + "required":[ + "ResourceName", + "TagKeys" + ], + "members":{ + "ResourceName":{ + "shape":"String", + "documentation":"

The Amazon DocumentDB resource that the tags are removed from. This value is an Amazon Resource Name (ARN).

" + }, + "TagKeys":{ + "shape":"KeyList", + "documentation":"

The tag key (name) of the tag to be removed.

" + } + }, + "documentation":"

Represents the input to RemoveTagsFromResource.

" + }, + "ResetDBClusterParameterGroupMessage":{ + "type":"structure", + "required":["DBClusterParameterGroupName"], + "members":{ + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the DB cluster parameter group to reset.

" + }, + "ResetAllParameters":{ + "shape":"Boolean", + "documentation":"

A value that is set to true to reset all parameters in the DB cluster parameter group to their default values, and false otherwise. You can't use this parameter if there is a list of parameter names specified for the Parameters parameter.

" + }, + "Parameters":{ + "shape":"ParametersList", + "documentation":"

A list of parameter names in the DB cluster parameter group to reset to the default values. You can't use this parameter if the ResetAllParameters parameter is set to true.

" + } + }, + "documentation":"

Represents the input to ResetDBClusterParameterGroup.

" + }, + "ResourceNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified resource ID was not found.

", + "error":{ + "code":"ResourceNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ResourcePendingMaintenanceActions":{ + "type":"structure", + "members":{ + "ResourceIdentifier":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the resource that has pending maintenance actions.

" + }, + "PendingMaintenanceActionDetails":{ + "shape":"PendingMaintenanceActionDetails", + "documentation":"

A list that provides details about the pending maintenance actions for the resource.

" + } + }, + "documentation":"

Represents the output of ApplyPendingMaintenanceAction.

", + "wrapper":true + }, + "RestoreDBClusterFromSnapshotMessage":{ + "type":"structure", + "required":[ + "DBClusterIdentifier", + "SnapshotIdentifier", + "Engine" + ], + "members":{ + "AvailabilityZones":{ + "shape":"AvailabilityZones", + "documentation":"

Provides the list of Amazon EC2 Availability Zones that instances in the restored DB cluster can be created in.

" + }, + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The name of the DB cluster to create from the DB snapshot or DB cluster snapshot. This parameter isn't case sensitive.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-snapshot-id

" + }, + "SnapshotIdentifier":{ + "shape":"String", + "documentation":"

The identifier for the DB snapshot or DB cluster snapshot to restore from.

You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However, you can use only the ARN to specify a DB snapshot.

Constraints:

  • Must match the identifier of an existing snapshot.

" + }, + "Engine":{ + "shape":"String", + "documentation":"

The database engine to use for the new DB cluster.

Default: The same as source.

Constraint: Must be compatible with the engine of the source.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The version of the database engine to use for the new DB cluster.

" + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

The port number on which the new DB cluster accepts connections.

Constraints: Must be a value from 1150 to 65535.

Default: The same port as the original DB cluster.

" + }, + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

The name of the DB subnet group to use for the new DB cluster.

Constraints: If provided, must match the name of an existing DBSubnetGroup.

Example: mySubnetgroup

" + }, + "VpcSecurityGroupIds":{ + "shape":"VpcSecurityGroupIdList", + "documentation":"

A list of virtual private cloud (VPC) security groups that the new DB cluster will belong to.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the restored DB cluster.

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The AWS KMS key identifier to use when restoring an encrypted DB cluster from a DB snapshot or DB cluster snapshot.

The AWS KMS key identifier is the Amazon Resource Name (ARN) for the AWS KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the AWS KMS encryption key used to encrypt the new DB cluster, then you can use the AWS KMS key alias instead of the ARN for the AWS KMS encryption key.

If you do not specify a value for the KmsKeyId parameter, then the following occurs:

  • If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is encrypted, then the restored DB cluster is encrypted using the AWS KMS key that was used to encrypt the DB snapshot or the DB cluster snapshot.

  • If the DB snapshot or the DB cluster snapshot in SnapshotIdentifier is not encrypted, then the restored DB cluster is not encrypted.

" + }, + "EnableCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

A list of log types that must be enabled for exporting to Amazon CloudWatch Logs.

" + } + }, + "documentation":"

Represents the input to RestoreDBClusterFromSnapshot.

" + }, + "RestoreDBClusterFromSnapshotResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "RestoreDBClusterToPointInTimeMessage":{ + "type":"structure", + "required":[ + "DBClusterIdentifier", + "SourceDBClusterIdentifier" + ], + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The name of the new DB cluster to be created.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" + }, + "SourceDBClusterIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the source DB cluster from which to restore.

Constraints:

  • Must match the identifier of an existing DBCluster.

" + }, + "RestoreToTime":{ + "shape":"TStamp", + "documentation":"

The date and time to restore the DB cluster to.

Valid values: A time in Universal Coordinated Time (UTC) format.

Constraints:

  • Must be before the latest restorable time for the DB instance.

  • Must be specified if the UseLatestRestorableTime parameter is not provided.

  • Cannot be specified if the UseLatestRestorableTime parameter is true.

  • Cannot be specified if the RestoreType parameter is copy-on-write.

Example: 2015-03-07T23:45:00Z

" + }, + "UseLatestRestorableTime":{ + "shape":"Boolean", + "documentation":"

A value that is set to true to restore the DB cluster to the latest restorable backup time, and false otherwise.

Default: false

Constraints: Cannot be specified if the RestoreToTime parameter is provided.

" + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

The port number on which the new DB cluster accepts connections.

Constraints: Must be a value from 1150 to 65535.

Default: The default port for the engine.

" + }, + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

The DB subnet group name to use for the new DB cluster.

Constraints: If provided, must match the name of an existing DBSubnetGroup.

Example: mySubnetgroup

" + }, + "VpcSecurityGroupIds":{ + "shape":"VpcSecurityGroupIdList", + "documentation":"

A list of VPC security groups that the new DB cluster belongs to.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the restored DB cluster.

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The AWS KMS key identifier to use when restoring an encrypted DB cluster from an encrypted DB cluster.

The AWS KMS key identifier is the Amazon Resource Name (ARN) for the AWS KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the AWS KMS encryption key used to encrypt the new DB cluster, then you can use the AWS KMS key alias instead of the ARN for the AWS KMS encryption key.

You can restore to a new DB cluster and encrypt the new DB cluster with an AWS KMS key that is different from the AWS KMS key used to encrypt the source DB cluster. The new DB cluster is encrypted with the AWS KMS key identified by the KmsKeyId parameter.

If you do not specify a value for the KmsKeyId parameter, then the following occurs:

  • If the DB cluster is encrypted, then the restored DB cluster is encrypted using the AWS KMS key that was used to encrypt the source DB cluster.

  • If the DB cluster is not encrypted, then the restored DB cluster is not encrypted.

If DBClusterIdentifier refers to a DB cluster that is not encrypted, then the restore request is rejected.

" + }, + "EnableCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

A list of log types that must be enabled for exporting to Amazon CloudWatch Logs.

" + } + }, + "documentation":"

Represents the input to RestoreDBClusterToPointInTime.

" + }, + "RestoreDBClusterToPointInTimeResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "SharedSnapshotQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

You have exceeded the maximum number of accounts that you can share a manual DB snapshot with.

", + "error":{ + "code":"SharedSnapshotQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "SnapshotQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The request would cause you to exceed the allowed number of DB snapshots.

", + "error":{ + "code":"SnapshotQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "SourceType":{ + "type":"string", + "enum":[ + "db-instance", + "db-parameter-group", + "db-security-group", + "db-snapshot", + "db-cluster", + "db-cluster-snapshot" + ] + }, + "StorageQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The request would cause you to exceed the allowed amount of storage available across all DB instances.

", + "error":{ + "code":"StorageQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "StorageTypeNotSupportedFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

Storage of the specified StorageType can't be associated with the DB instance.

", + "error":{ + "code":"StorageTypeNotSupported", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "String":{"type":"string"}, + "Subnet":{ + "type":"structure", + "members":{ + "SubnetIdentifier":{ + "shape":"String", + "documentation":"

Specifies the identifier of the subnet.

" + }, + "SubnetAvailabilityZone":{ + "shape":"AvailabilityZone", + "documentation":"

Specifies the Availability Zone for the subnet.

" + }, + "SubnetStatus":{ + "shape":"String", + "documentation":"

Specifies the status of the subnet.

" + } + }, + "documentation":"

Detailed information about a subnet.

" + }, + "SubnetAlreadyInUse":{ + "type":"structure", + "members":{ + }, + "documentation":"

The DB subnet is already in use in the Availability Zone.

", + "error":{ + "code":"SubnetAlreadyInUse", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "SubnetIdentifierList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"SubnetIdentifier" + } + }, + "SubnetList":{ + "type":"list", + "member":{ + "shape":"Subnet", + "locationName":"Subnet" + } + }, + "TStamp":{"type":"timestamp"}, + "Tag":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"String", + "documentation":"

The required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with \"aws:\" or \"rds:\". The string can contain only the set of Unicode letters, digits, white space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

" + }, + "Value":{ + "shape":"String", + "documentation":"

The optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with \"aws:\" or \"rds:\". The string can contain only the set of Unicode letters, digits, white space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

" + } + }, + "documentation":"

Metadata assigned to an Amazon DocumentDB resource consisting of a key-value pair.

" + }, + "TagList":{ + "type":"list", + "member":{ + "shape":"Tag", + "locationName":"Tag" + } + }, + "TagListMessage":{ + "type":"structure", + "members":{ + "TagList":{ + "shape":"TagList", + "documentation":"

A list of one or more tags.

" + } + }, + "documentation":"

Represents the output of ListTagsForResource.

" + }, + "UpgradeTarget":{ + "type":"structure", + "members":{ + "Engine":{ + "shape":"String", + "documentation":"

The name of the upgrade target database engine.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The version number of the upgrade target database engine.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The version of the database engine that a DB instance can be upgraded to.

" + }, + "AutoUpgrade":{ + "shape":"Boolean", + "documentation":"

A value that indicates whether the target version is applied to any source DB instances that have AutoMinorVersionUpgrade set to true.

" + }, + "IsMajorVersionUpgrade":{ + "shape":"Boolean", + "documentation":"

A value that indicates whether a database engine is upgraded to a major version.

" + } + }, + "documentation":"

The version of the database engine that a DB instance can be upgraded to.

" + }, + "ValidUpgradeTargetList":{ + "type":"list", + "member":{ + "shape":"UpgradeTarget", + "locationName":"UpgradeTarget" + } + }, + "VpcSecurityGroupIdList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"VpcSecurityGroupId" + } + }, + "VpcSecurityGroupMembership":{ + "type":"structure", + "members":{ + "VpcSecurityGroupId":{ + "shape":"String", + "documentation":"

The name of the VPC security group.

" + }, + "Status":{ + "shape":"String", + "documentation":"

The status of the VPC security group.

" + } + }, + "documentation":"

Used as a response element for queries on virtual private cloud (VPC) security group membership.

" + }, + "VpcSecurityGroupMembershipList":{ + "type":"list", + "member":{ + "shape":"VpcSecurityGroupMembership", + "locationName":"VpcSecurityGroupMembership" + } + } + }, + "documentation":"

Amazon DocumentDB API documentation

" +} diff --git a/bin/botocore/data/docdb/2014-10-31/waiters-2.json b/bin/botocore/data/docdb/2014-10-31/waiters-2.json new file mode 100644 index 00000000..e75f03b2 --- /dev/null +++ b/bin/botocore/data/docdb/2014-10-31/waiters-2.json @@ -0,0 +1,90 @@ +{ + "version": 2, + "waiters": { + "DBInstanceAvailable": { + "delay": 30, + "operation": "DescribeDBInstances", + "maxAttempts": 60, + "acceptors": [ + { + "expected": "available", + "matcher": "pathAll", + "state": "success", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "deleted", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "deleting", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "failed", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "incompatible-restore", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "incompatible-parameters", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + } + ] + }, + "DBInstanceDeleted": { + "delay": 30, + "operation": "DescribeDBInstances", + "maxAttempts": 60, + "acceptors": [ + { + "expected": "deleted", + "matcher": "pathAll", + "state": "success", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "DBInstanceNotFound", + "matcher": "error", + "state": "success" + }, + { + "expected": "creating", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "modifying", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "rebooting", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "resetting-master-credentials", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + } + ] + } + } +} diff --git a/bin/botocore/data/ds/2015-04-16/paginators-1.json b/bin/botocore/data/ds/2015-04-16/paginators-1.json index 409e2250..3b74918e 100644 --- a/bin/botocore/data/ds/2015-04-16/paginators-1.json +++ b/bin/botocore/data/ds/2015-04-16/paginators-1.json @@ -5,6 +5,54 @@ "output_token": "NextToken", "input_token": "NextToken", "limit_key": "Limit" + }, + "DescribeDirectories": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "DirectoryDescriptions" + }, + "DescribeSharedDirectories": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "SharedDirectories" + }, + "DescribeSnapshots": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "Snapshots" + }, + "DescribeTrusts": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "Trusts" + }, + "ListIpRoutes": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "IpRoutesInfo" + }, + "ListLogSubscriptions": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "LogSubscriptions" + }, + "ListSchemaExtensions": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "SchemaExtensionsInfo" + }, + "ListTagsForResource": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "Tags" } } } diff --git a/bin/botocore/data/ds/2015-04-16/service-2.json b/bin/botocore/data/ds/2015-04-16/service-2.json index a5c09885..0b142fed 100644 --- a/bin/botocore/data/ds/2015-04-16/service-2.json +++ b/bin/botocore/data/ds/2015-04-16/service-2.json @@ -1122,6 +1122,10 @@ "ConnectSettings":{ "shape":"DirectoryConnectSettings", "documentation":"

A DirectoryConnectSettings object that contains additional information for the operation.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The tags to be assigned to AD Connector.

" } }, "documentation":"

Contains the inputs for the ConnectDirectory operation.

" @@ -1276,6 +1280,10 @@ "VpcSettings":{ "shape":"DirectoryVpcSettings", "documentation":"

A DirectoryVpcSettings object that contains additional information for the operation.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The tags to be assigned to the Simple AD directory.

" } }, "documentation":"

Contains the inputs for the CreateDirectory operation.

" @@ -1343,6 +1351,10 @@ "Edition":{ "shape":"DirectoryEdition", "documentation":"

AWS Managed Microsoft AD is available in two editions: Standard and Enterprise. Enterprise is the default.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The tags to be assigned to the AWS Managed Microsoft AD directory.

" } }, "documentation":"

Creates an AWS Managed Microsoft AD directory.

" diff --git a/bin/botocore/data/dynamodb/2012-08-10/paginators-1.json b/bin/botocore/data/dynamodb/2012-08-10/paginators-1.json index b22762c9..8e10a0c7 100644 --- a/bin/botocore/data/dynamodb/2012-08-10/paginators-1.json +++ b/bin/botocore/data/dynamodb/2012-08-10/paginators-1.json @@ -37,6 +37,11 @@ "non_aggregate_keys": [ "ConsumedCapacity" ] + }, + "ListTagsOfResource": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Tags" } } } diff --git a/bin/botocore/data/dynamodb/2012-08-10/service-2.json b/bin/botocore/data/dynamodb/2012-08-10/service-2.json index 7a0431c8..d19edbef 100644 --- a/bin/botocore/data/dynamodb/2012-08-10/service-2.json +++ b/bin/botocore/data/dynamodb/2012-08-10/service-2.json @@ -27,7 +27,7 @@ {"shape":"RequestLimitExceeded"}, {"shape":"InternalServerError"} ], - "documentation":"

The BatchGetItem operation returns the attributes of one or more items from one or more tables. You identify requested items by primary key.

A single operation can retrieve up to 16 MB of data, which can contain as many as 100 items. BatchGetItem will return a partial result if the response size limit is exceeded, the table's provisioned throughput is exceeded, or an internal processing failure occurs. If a partial result is returned, the operation returns a value for UnprocessedKeys. You can use this value to retry the operation starting with the next item to get.

If you request more than 100 items BatchGetItem will return a ValidationException with the message \"Too many items requested for the BatchGetItem call\".

For example, if you ask to retrieve 100 items, but each individual item is 300 KB in size, the system returns 52 items (so as not to exceed the 16 MB limit). It also returns an appropriate UnprocessedKeys value so you can get the next page of results. If desired, your application can include its own logic to assemble the pages of results into one data set.

If none of the items can be processed due to insufficient provisioned throughput on all of the tables in the request, then BatchGetItem will return a ProvisionedThroughputExceededException. If at least one of the items is successfully processed, then BatchGetItem completes successfully, while returning the keys of the unread items in UnprocessedKeys.

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

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

By default, BatchGetItem performs eventually consistent reads on every table in the request. If you want strongly consistent reads instead, you can set ConsistentRead to true for any or all tables.

In order to minimize response latency, BatchGetItem retrieves items in parallel.

When designing your application, keep in mind that DynamoDB does not return items in any particular order. To help parse the response by item, include the primary key values for the items in your request in the ProjectionExpression parameter.

If a requested item does not exist, it is not returned in the result. Requests for nonexistent items consume the minimum read capacity units according to the type of read. For more information, see Capacity Units Calculations in the Amazon DynamoDB Developer Guide.

", + "documentation":"

The BatchGetItem operation returns the attributes of one or more items from one or more tables. You identify requested items by primary key.

A single operation can retrieve up to 16 MB of data, which can contain as many as 100 items. BatchGetItem will return a partial result if the response size limit is exceeded, the table's provisioned throughput is exceeded, or an internal processing failure occurs. If a partial result is returned, the operation returns a value for UnprocessedKeys. You can use this value to retry the operation starting with the next item to get.

If you request more than 100 items BatchGetItem will return a ValidationException with the message \"Too many items requested for the BatchGetItem call\".

For example, if you ask to retrieve 100 items, but each individual item is 300 KB in size, the system returns 52 items (so as not to exceed the 16 MB limit). It also returns an appropriate UnprocessedKeys value so you can get the next page of results. If desired, your application can include its own logic to assemble the pages of results into one data set.

If none of the items can be processed due to insufficient provisioned throughput on all of the tables in the request, then BatchGetItem will return a ProvisionedThroughputExceededException. If at least one of the items is successfully processed, then BatchGetItem completes successfully, while returning the keys of the unread items in UnprocessedKeys.

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

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

By default, BatchGetItem performs eventually consistent reads on every table in the request. If you want strongly consistent reads instead, you can set ConsistentRead to true for any or all tables.

In order to minimize response latency, BatchGetItem retrieves items in parallel.

When designing your application, keep in mind that DynamoDB does not return items in any particular order. To help parse the response by item, include the primary key values for the items in your request in the ProjectionExpression parameter.

If a requested item does not exist, it is not returned in the result. Requests for nonexistent items consume the minimum read capacity units according to the type of read. For more information, see Capacity Units Calculations in the Amazon DynamoDB Developer Guide.

", "endpointdiscovery":{ } }, @@ -46,7 +46,7 @@ {"shape":"RequestLimitExceeded"}, {"shape":"InternalServerError"} ], - "documentation":"

The BatchWriteItem operation puts or deletes multiple items in one or more tables. A single call to BatchWriteItem can write up to 16 MB of data, which can comprise as many as 25 put or delete requests. Individual items to be written can be as large as 400 KB.

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

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

Note that if none of the items can be processed due to insufficient provisioned throughput on all of the tables in the request, then BatchWriteItem will return a ProvisionedThroughputExceededException.

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

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

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

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

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

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

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

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

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

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

  • There are more than 25 requests in the batch.

  • Any individual item in a batch exceeds 400 KB.

  • The total request size exceeds 16 MB.

", + "documentation":"

The BatchWriteItem operation puts or deletes multiple items in one or more tables. A single call to BatchWriteItem can write up to 16 MB of data, which can comprise as many as 25 put or delete requests. Individual items to be written can be as large as 400 KB.

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

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

Note that if none of the items can be processed due to insufficient provisioned throughput on all of the tables in the request, then BatchWriteItem will return a ProvisionedThroughputExceededException.

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

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

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

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

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

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

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

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

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

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

  • There are more than 25 requests in the batch.

  • Any individual item in a batch exceeds 400 KB.

  • The total request size exceeds 16 MB.

", "endpointdiscovery":{ } }, @@ -202,6 +202,7 @@ }, "input":{"shape":"DescribeEndpointsRequest"}, "output":{"shape":"DescribeEndpointsResponse"}, + "documentation":"

Returns the regional endpoint information.

", "endpointoperation":true }, "DescribeGlobalTable":{ @@ -247,7 +248,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

Returns the current provisioned-capacity limits for your AWS account in a region, both for the region as a whole and for any one DynamoDB table that you create there.

When you establish an AWS account, the account has initial limits on the maximum read capacity units and write capacity units that you can provision across all of your DynamoDB tables in a given region. Also, there are per-table limits that apply when you create a table there. For more information, see Limits page in the Amazon DynamoDB Developer Guide.

Although you can increase these limits by filing a case at AWS Support Center, obtaining the increase is not instantaneous. The DescribeLimits action lets you write code to compare the capacity you are currently using to those limits imposed by your account so that you have enough time to apply for an increase before you hit a limit.

For example, you could use one of the AWS SDKs to do the following:

  1. Call DescribeLimits for a particular region to obtain your current account limits on provisioned capacity there.

  2. Create a variable to hold the aggregate read capacity units provisioned for all your tables in that region, and one to hold the aggregate write capacity units. Zero them both.

  3. Call ListTables to obtain a list of all your DynamoDB tables.

  4. For each table name listed by ListTables, do the following:

    • Call DescribeTable with the table name.

    • Use the data returned by DescribeTable to add the read capacity units and write capacity units provisioned for the table itself to your variables.

    • If the table has one or more global secondary indexes (GSIs), loop over these GSIs and add their provisioned capacity values to your variables as well.

  5. Report the account limits for that region returned by DescribeLimits, along with the total current provisioned capacity levels you have calculated.

This will let you see whether you are getting close to your account-level limits.

The per-table limits apply only when you are creating a new table. They restrict the sum of the provisioned capacity of the new table itself and all its global secondary indexes.

For existing tables and their GSIs, DynamoDB will not let you increase provisioned capacity extremely rapidly, but the only upper limit that applies is that the aggregate provisioned capacity over all your tables and GSIs cannot exceed either of the per-account limits.

DescribeLimits should only be called periodically. You can expect throttling errors if you call it more than once in a minute.

The DescribeLimits Request element has no content.

", + "documentation":"

Returns the current provisioned-capacity limits for your AWS account in a region, both for the region as a whole and for any one DynamoDB table that you create there.

When you establish an AWS account, the account has initial limits on the maximum read capacity units and write capacity units that you can provision across all of your DynamoDB tables in a given region. Also, there are per-table limits that apply when you create a table there. For more information, see Limits page in the Amazon DynamoDB Developer Guide.

Although you can increase these limits by filing a case at AWS Support Center, obtaining the increase is not instantaneous. The DescribeLimits action lets you write code to compare the capacity you are currently using to those limits imposed by your account so that you have enough time to apply for an increase before you hit a limit.

For example, you could use one of the AWS SDKs to do the following:

  1. Call DescribeLimits for a particular region to obtain your current account limits on provisioned capacity there.

  2. Create a variable to hold the aggregate read capacity units provisioned for all your tables in that region, and one to hold the aggregate write capacity units. Zero them both.

  3. Call ListTables to obtain a list of all your DynamoDB tables.

  4. For each table name listed by ListTables, do the following:

    • Call DescribeTable with the table name.

    • Use the data returned by DescribeTable to add the read capacity units and write capacity units provisioned for the table itself to your variables.

    • If the table has one or more global secondary indexes (GSIs), loop over these GSIs and add their provisioned capacity values to your variables as well.

  5. Report the account limits for that region returned by DescribeLimits, along with the total current provisioned capacity levels you have calculated.

This will let you see whether you are getting close to your account-level limits.

The per-table limits apply only when you are creating a new table. They restrict the sum of the provisioned capacity of the new table itself and all its global secondary indexes.

For existing tables and their GSIs, DynamoDB will not let you increase provisioned capacity extremely rapidly, but the only upper limit that applies is that the aggregate provisioned capacity over all your tables and GSIs cannot exceed either of the per-account limits.

DescribeLimits should only be called periodically. You can expect throttling errors if you call it more than once in a minute.

The DescribeLimits Request element has no content.

", "endpointdiscovery":{ } }, @@ -358,7 +359,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InternalServerError"} ], - "documentation":"

List all tags on an Amazon DynamoDB resource. You can call ListTagsOfResource up to 10 times per second, per account.

For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide.

", + "documentation":"

List all tags on an Amazon DynamoDB resource. You can call ListTagsOfResource up to 10 times per second, per account.

For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide.

", "endpointdiscovery":{ } }, @@ -379,7 +380,7 @@ {"shape":"RequestLimitExceeded"}, {"shape":"InternalServerError"} ], - "documentation":"

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

This topic provides general information about the PutItem API.

For information on how to call the PutItem API using the AWS SDK in specific languages, see the following:

When you add an item, the primary key attribute(s) are the only required attributes. Attribute values cannot be null. String and Binary type attributes must have lengths greater than zero. Set type attributes cannot be empty. Requests with empty values will be rejected with a ValidationException exception.

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

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

", + "documentation":"

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

This topic provides general information about the PutItem API.

For information on how to call the PutItem API using the AWS SDK in specific languages, see the following:

When you add an item, the primary key attribute(s) are the only required attributes. Attribute values cannot be null. String and Binary type attributes must have lengths greater than zero. Set type attributes cannot be empty. Requests with empty values will be rejected with a ValidationException exception.

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

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

", "endpointdiscovery":{ } }, @@ -397,7 +398,7 @@ {"shape":"RequestLimitExceeded"}, {"shape":"InternalServerError"} ], - "documentation":"

The Query operation finds items based on primary key values. You can query any table or secondary index that has a composite primary key (a partition key and a sort key).

Use the KeyConditionExpression parameter to provide a specific value for the partition key. The Query operation will return all of the items from the table or index with that partition key value. You can optionally narrow the scope of the Query operation by specifying a sort key value and a comparison operator in KeyConditionExpression. To further refine the Query results, you can optionally provide a FilterExpression. A FilterExpression determines which items within the results should be returned to you. All of the other results are discarded.

A Query operation always returns a result set. If no matching items are found, the result set will be empty. Queries that do not return results consume the minimum number of read capacity units for that type of read operation.

DynamoDB calculates the number of read capacity units consumed based on item size, not on the amount of data that is returned to an application. The number of capacity units consumed will be the same whether you request all of the attributes (the default behavior) or just some of them (using a projection expression). The number will also be the same whether or not you use a FilterExpression.

Query results are always sorted by the sort key value. If the data type of the sort key is Number, the results are returned in numeric order; otherwise, the results are returned in order of UTF-8 bytes. By default, the sort order is ascending. To reverse the order, set the ScanIndexForward parameter to false.

A single Query operation will read up to the maximum number of items set (if using the Limit parameter) or a maximum of 1 MB of data and then apply any filtering to the results using FilterExpression. If LastEvaluatedKey is present in the response, you will need to paginate the result set. For more information, see Paginating the Results in the Amazon DynamoDB Developer Guide.

FilterExpression is applied after a Query finishes, but before the results are returned. A FilterExpression cannot contain partition key or sort key attributes. You need to specify those attributes in the KeyConditionExpression.

A Query operation can return an empty result set and a LastEvaluatedKey if all the items read for the page of results are filtered out.

You can query a table, a local secondary index, or a global secondary index. For a query on a table or on a local secondary index, you can set the ConsistentRead parameter to true and obtain a strongly consistent result. Global secondary indexes support eventually consistent reads only, so do not specify ConsistentRead when querying a global secondary index.

", + "documentation":"

The Query operation finds items based on primary key values. You can query any table or secondary index that has a composite primary key (a partition key and a sort key).

Use the KeyConditionExpression parameter to provide a specific value for the partition key. The Query operation will return all of the items from the table or index with that partition key value. You can optionally narrow the scope of the Query operation by specifying a sort key value and a comparison operator in KeyConditionExpression. To further refine the Query results, you can optionally provide a FilterExpression. A FilterExpression determines which items within the results should be returned to you. All of the other results are discarded.

A Query operation always returns a result set. If no matching items are found, the result set will be empty. Queries that do not return results consume the minimum number of read capacity units for that type of read operation.

DynamoDB calculates the number of read capacity units consumed based on item size, not on the amount of data that is returned to an application. The number of capacity units consumed will be the same whether you request all of the attributes (the default behavior) or just some of them (using a projection expression). The number will also be the same whether or not you use a FilterExpression.

Query results are always sorted by the sort key value. If the data type of the sort key is Number, the results are returned in numeric order; otherwise, the results are returned in order of UTF-8 bytes. By default, the sort order is ascending. To reverse the order, set the ScanIndexForward parameter to false.

A single Query operation will read up to the maximum number of items set (if using the Limit parameter) or a maximum of 1 MB of data and then apply any filtering to the results using FilterExpression. If LastEvaluatedKey is present in the response, you will need to paginate the result set. For more information, see Paginating the Results in the Amazon DynamoDB Developer Guide.

FilterExpression is applied after a Query finishes, but before the results are returned. A FilterExpression cannot contain partition key or sort key attributes. You need to specify those attributes in the KeyConditionExpression.

A Query operation can return an empty result set and a LastEvaluatedKey if all the items read for the page of results are filtered out.

You can query a table, a local secondary index, or a global secondary index. For a query on a table or on a local secondary index, you can set the ConsistentRead parameter to true and obtain a strongly consistent result. Global secondary indexes support eventually consistent reads only, so do not specify ConsistentRead when querying a global secondary index.

", "endpointdiscovery":{ } }, @@ -456,7 +457,7 @@ {"shape":"RequestLimitExceeded"}, {"shape":"InternalServerError"} ], - "documentation":"

The Scan operation returns one or more items and item attributes by accessing every item in a table or a secondary index. To have DynamoDB return fewer items, you can provide a FilterExpression operation.

If the total number of scanned items exceeds the maximum data set size limit of 1 MB, the scan stops and results are returned to the user as a LastEvaluatedKey value to continue the scan in a subsequent operation. The results also include the number of items exceeding the limit. A scan can result in no table data meeting the filter criteria.

A single Scan operation will read up to the maximum number of items set (if using the Limit parameter) or a maximum of 1 MB of data and then apply any filtering to the results using FilterExpression. If LastEvaluatedKey is present in the response, you will need to paginate the result set. For more information, see Paginating the Results in the Amazon DynamoDB Developer Guide.

Scan operations proceed sequentially; however, for faster performance on a large table or secondary index, applications can request a parallel Scan operation by providing the Segment and TotalSegments parameters. For more information, see Parallel Scan in the Amazon DynamoDB Developer Guide.

Scan uses eventually consistent reads when accessing the data in a table; therefore, the result set might not include the changes to data in the table immediately before the operation began. If you need a consistent copy of the data, as of the time that the Scan begins, you can set the ConsistentRead parameter to true.

", + "documentation":"

The Scan operation returns one or more items and item attributes by accessing every item in a table or a secondary index. To have DynamoDB return fewer items, you can provide a FilterExpression operation.

If the total number of scanned items exceeds the maximum data set size limit of 1 MB, the scan stops and results are returned to the user as a LastEvaluatedKey value to continue the scan in a subsequent operation. The results also include the number of items exceeding the limit. A scan can result in no table data meeting the filter criteria.

A single Scan operation will read up to the maximum number of items set (if using the Limit parameter) or a maximum of 1 MB of data and then apply any filtering to the results using FilterExpression. If LastEvaluatedKey is present in the response, you will need to paginate the result set. For more information, see Paginating the Results in the Amazon DynamoDB Developer Guide.

Scan operations proceed sequentially; however, for faster performance on a large table or secondary index, applications can request a parallel Scan operation by providing the Segment and TotalSegments parameters. For more information, see Parallel Scan in the Amazon DynamoDB Developer Guide.

Scan uses eventually consistent reads when accessing the data in a table; therefore, the result set might not include the changes to data in the table immediately before the operation began. If you need a consistent copy of the data, as of the time that the Scan begins, you can set the ConsistentRead parameter to true.

", "endpointdiscovery":{ } }, @@ -473,7 +474,7 @@ {"shape":"InternalServerError"}, {"shape":"ResourceInUseException"} ], - "documentation":"

Associate a set of tags with an Amazon DynamoDB resource. You can then activate these user-defined tags so that they appear on the Billing and Cost Management console for cost allocation tracking. You can call TagResource up to 5 times per second, per account.

For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide.

", + "documentation":"

Associate a set of tags with an Amazon DynamoDB resource. You can then activate these user-defined tags so that they appear on the Billing and Cost Management console for cost allocation tracking. You can call TagResource up to 5 times per second, per account.

For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide.

", "endpointdiscovery":{ } }, @@ -488,6 +489,7 @@ "errors":[ {"shape":"ResourceNotFoundException"}, {"shape":"TransactionCanceledException"}, + {"shape":"ProvisionedThroughputExceededException"}, {"shape":"InternalServerError"} ], "documentation":"

TransactGetItems is a synchronous operation that atomically retrieves multiple items from one or more tables (but not from indexes) in a single account and region. A TransactGetItems call can contain up to 10 TransactGetItem objects, each of which contains a Get structure that specifies an item to retrieve from a table in the account and region. A call to TransactGetItems cannot retrieve items from tables in more than one AWS account or region.

DynamoDB rejects the entire TransactGetItems request if any of the following is true:

  • A conflicting operation is in the process of updating an item to be read.

  • There is insufficient provisioned capacity for the transaction to be completed.

  • There is a user error, such as an invalid data format.

", @@ -507,6 +509,7 @@ {"shape":"TransactionCanceledException"}, {"shape":"TransactionInProgressException"}, {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ProvisionedThroughputExceededException"}, {"shape":"InternalServerError"} ], "documentation":"

TransactWriteItems is a synchronous write operation that groups up to 10 action requests. These actions can target items in different tables, but not in different AWS accounts or regions, and no two actions can target the same item. For example, you cannot both ConditionCheck and Update the same item.

The actions are completed atomically so that either all of them succeed, or all of them fail. They are defined by the following objects:

  • Put  —   Initiates a PutItem operation to write a new item. This structure specifies the primary key of the item to be written, the name of the table to write it in, an optional condition expression that must be satisfied for the write to succeed, a list of the item's attributes, and a field indicating whether or not to retrieve the item's attributes if the condition is not met.

  • Update  —   Initiates an UpdateItem operation to update an existing item. This structure specifies the primary key of the item to be updated, the name of the table where it resides, an optional condition expression that must be satisfied for the update to succeed, an expression that defines one or more attributes to be updated, and a field indicating whether or not to retrieve the item's attributes if the condition is not met.

  • Delete  —   Initiates a DeleteItem operation to delete an existing item. This structure specifies the primary key of the item to be deleted, the name of the table where it resides, an optional condition expression that must be satisfied for the deletion to succeed, and a field indicating whether or not to retrieve the item's attributes if the condition is not met.

  • ConditionCheck  —   Applies a condition to an item that is not being modified by the transaction. This structure specifies the primary key of the item to be checked, the name of the table where it resides, a condition expression that must be satisfied for the transaction to succeed, and a field indicating whether or not to retrieve the item's attributes if the condition is not met.

DynamoDB rejects the entire TransactWriteItems request if any of the following is true:

  • A condition in one of the condition expressions is not met.

  • A conflicting operation is in the process of updating the same item.

  • There is insufficient provisioned capacity for the transaction to be completed.

  • An item size becomes too large (bigger than 400 KB), a Local Secondary Index (LSI) becomes too large, or a similar validation error occurs because of changes made by the transaction.

  • There is a user error, such as an invalid data format.

", @@ -526,7 +529,7 @@ {"shape":"InternalServerError"}, {"shape":"ResourceInUseException"} ], - "documentation":"

Removes the association of tags from an Amazon DynamoDB resource. You can call UntagResource up to 5 times per second, per account.

For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide.

", + "documentation":"

Removes the association of tags from an Amazon DynamoDB resource. You can call UntagResource up to 5 times per second, per account.

For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide.

", "endpointdiscovery":{ } }, @@ -639,7 +642,7 @@ {"shape":"LimitExceededException"}, {"shape":"InternalServerError"} ], - "documentation":"

The UpdateTimeToLive method will enable or disable TTL for the specified table. A successful UpdateTimeToLive call returns the current TimeToLiveSpecification; it may take up to one hour for the change to fully process. Any additional UpdateTimeToLive calls for the same table during this one hour duration result in a ValidationException.

TTL compares the current time in epoch time format to the time stored in the TTL attribute of an item. If the epoch time value stored in the attribute is less than the current time, the item is marked as expired and subsequently deleted.

The epoch time format is the number of seconds elapsed since 12:00:00 AM January 1st, 1970 UTC.

DynamoDB deletes expired items on a best-effort basis to ensure availability of throughput for other data operations.

DynamoDB typically deletes expired items within two days of expiration. The exact duration within which an item gets deleted after expiration is specific to the nature of the workload. Items that have expired and not been deleted will still show up in reads, queries, and scans.

As items are deleted, they are removed from any Local Secondary Index and Global Secondary Index immediately in the same eventually consistent way as a standard delete operation.

For more information, see Time To Live in the Amazon DynamoDB Developer Guide.

", + "documentation":"

The UpdateTimeToLive method will enable or disable TTL for the specified table. A successful UpdateTimeToLive call returns the current TimeToLiveSpecification; it may take up to one hour for the change to fully process. Any additional UpdateTimeToLive calls for the same table during this one hour duration result in a ValidationException.

TTL compares the current time in epoch time format to the time stored in the TTL attribute of an item. If the epoch time value stored in the attribute is less than the current time, the item is marked as expired and subsequently deleted.

The epoch time format is the number of seconds elapsed since 12:00:00 AM January 1st, 1970 UTC.

DynamoDB deletes expired items on a best-effort basis to ensure availability of throughput for other data operations.

DynamoDB typically deletes expired items within two days of expiration. The exact duration within which an item gets deleted after expiration is specific to the nature of the workload. Items that have expired and not been deleted will still show up in reads, queries, and scans.

As items are deleted, they are removed from any Local Secondary Index and Global Secondary Index immediately in the same eventually consistent way as a standard delete operation.

For more information, see Time To Live in the Amazon DynamoDB Developer Guide.

", "endpointdiscovery":{ } } @@ -727,7 +730,7 @@ }, "L":{ "shape":"ListAttributeValue", - "documentation":"

An attribute of type List. For example:

\"L\": [\"Cookies\", \"Coffee\", 3.14159]

" + "documentation":"

An attribute of type List. For example:

\"L\": [ {\"S\": \"Cookies\"} , {\"S\": \"Coffee\"}, {\"N\", \"3.14159\"}]

" }, "NULL":{ "shape":"NullAttributeValue", @@ -738,7 +741,7 @@ "documentation":"

An attribute of type Boolean. For example:

\"BOOL\": true

" } }, - "documentation":"

Represents the data for an attribute.

Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.

For more information, see Data Types in the Amazon DynamoDB Developer Guide.

" + "documentation":"

Represents the data for an attribute.

Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.

For more information, see Data Types in the Amazon DynamoDB Developer Guide.

" }, "AttributeValueList":{ "type":"list", @@ -749,7 +752,7 @@ "members":{ "Value":{ "shape":"AttributeValue", - "documentation":"

Represents the data for an attribute.

Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.

For more information, see Data Types in the Amazon DynamoDB Developer Guide.

" + "documentation":"

Represents the data for an attribute.

Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.

For more information, see Data Types in the Amazon DynamoDB Developer Guide.

" }, "Action":{ "shape":"AttributeAction", @@ -954,7 +957,7 @@ }, "BackupType":{ "shape":"BackupType", - "documentation":"

BackupType:

  • USER - You create and manage these using the on-demand backup feature.

  • SYSTEM - If you delete a table with point-in-time recovery enabled, a SYSTEM backup is automatically created and is retained for 35 days (at no additional cost). System backups allow you to restore the deleted table to the state it was in just before the point of deletion.

" + "documentation":"

BackupType:

  • USER - You create and manage these using the on-demand backup feature.

  • SYSTEM - If you delete a table with point-in-time recovery enabled, a SYSTEM backup is automatically created and is retained for 35 days (at no additional cost). System backups allow you to restore the deleted table to the state it was in just before the point of deletion.

  • AWS_BACKUP - On-demand backup created by you from AWS Backup service.

" }, "BackupCreationDateTime":{ "shape":"BackupCreationDateTime", @@ -1042,7 +1045,7 @@ }, "BackupType":{ "shape":"BackupType", - "documentation":"

BackupType:

  • USER - You create and manage these using the on-demand backup feature.

  • SYSTEM - If you delete a table with point-in-time recovery enabled, a SYSTEM backup is automatically created and is retained for 35 days (at no additional cost). System backups allow you to restore the deleted table to the state it was in just before the point of deletion.

" + "documentation":"

BackupType:

  • USER - You create and manage these using the on-demand backup feature.

  • SYSTEM - If you delete a table with point-in-time recovery enabled, a SYSTEM backup is automatically created and is retained for 35 days (at no additional cost). System backups allow you to restore the deleted table to the state it was in just before the point of deletion.

  • AWS_BACKUP - On-demand backup created by you from AWS Backup service.

" }, "BackupSizeBytes":{ "shape":"BackupSizeBytes", @@ -1055,7 +1058,8 @@ "type":"string", "enum":[ "USER", - "SYSTEM" + "SYSTEM", + "AWS_BACKUP" ] }, "BackupTypeFilter":{ @@ -1063,6 +1067,7 @@ "enum":[ "USER", "SYSTEM", + "AWS_BACKUP", "ALL" ] }, @@ -1077,7 +1082,7 @@ "members":{ "RequestItems":{ "shape":"BatchGetRequestMap", - "documentation":"

A map of one or more table names and, for each table, a map that describes one or more items to retrieve from that table. Each table name can be used only once per BatchGetItem request.

Each element in the map of items to retrieve consists of the following:

  • ConsistentRead - If true, a strongly consistent read is used; if false (the default), an eventually consistent read is used.

  • ExpressionAttributeNames - One or more substitution tokens for attribute names in the ProjectionExpression parameter. The following are some use cases for using ExpressionAttributeNames:

    • To access an attribute whose name conflicts with a DynamoDB reserved word.

    • To create a placeholder for repeating occurrences of an attribute name in an expression.

    • To prevent special characters in an attribute name from being misinterpreted in an expression.

    Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

    • Percentile

    The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

    • {\"#P\":\"Percentile\"}

    You could then use this substitution in an expression, as in this example:

    • #P = :val

    Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

    For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

  • Keys - An array of primary key attribute values that define specific items in the table. For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide the partition key value. For a composite key, you must provide both the partition key value and the sort key value.

  • ProjectionExpression - A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

    If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

    For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

  • AttributesToGet - This is a legacy parameter. Use ProjectionExpression instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer Guide.

" + "documentation":"

A map of one or more table names and, for each table, a map that describes one or more items to retrieve from that table. Each table name can be used only once per BatchGetItem request.

Each element in the map of items to retrieve consists of the following:

  • ConsistentRead - If true, a strongly consistent read is used; if false (the default), an eventually consistent read is used.

  • ExpressionAttributeNames - One or more substitution tokens for attribute names in the ProjectionExpression parameter. The following are some use cases for using ExpressionAttributeNames:

    • To access an attribute whose name conflicts with a DynamoDB reserved word.

    • To create a placeholder for repeating occurrences of an attribute name in an expression.

    • To prevent special characters in an attribute name from being misinterpreted in an expression.

    Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

    • Percentile

    The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

    • {\"#P\":\"Percentile\"}

    You could then use this substitution in an expression, as in this example:

    • #P = :val

    Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

    For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

  • Keys - An array of primary key attribute values that define specific items in the table. For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide the partition key value. For a composite key, you must provide both the partition key value and the sort key value.

  • ProjectionExpression - A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

    If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

    For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

  • AttributesToGet - This is a legacy parameter. Use ProjectionExpression instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer Guide.

" }, "ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"} }, @@ -1224,6 +1229,11 @@ }, "documentation":"

Represents the amount of provisioned throughput capacity consumed on a table or an index.

" }, + "ClientRequestToken":{ + "type":"string", + "max":36, + "min":1 + }, "Code":{"type":"string"}, "ComparisonOperator":{ "type":"string", @@ -1253,7 +1263,7 @@ }, "ComparisonOperator":{ "shape":"ComparisonOperator", - "documentation":"

A comparator for evaluating attributes. For example, equals, greater than, less than, etc.

The following comparison operators are available:

EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN

The following are descriptions of each comparison operator.

  • EQ : Equal. EQ is supported for all data types, including lists and maps.

    AttributeValueList can contain only one AttributeValue element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\", \"1\"]}.

  • NE : Not equal. NE is supported for all data types, including lists and maps.

    AttributeValueList can contain only one AttributeValue of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\", \"1\"]}.

  • LE : Less than or equal.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • LT : Less than.

    AttributeValueList can contain only one AttributeValue of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • GE : Greater than or equal.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • GT : Greater than.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • NOT_NULL : The attribute exists. NOT_NULL is supported for all data types, including lists and maps.

    This operator tests for the existence of an attribute, not its data type. If the data type of attribute \"a\" is null, and you evaluate it using NOT_NULL, the result is a Boolean true. This result is because the attribute \"a\" exists; its data type is not relevant to the NOT_NULL comparison operator.

  • NULL : The attribute does not exist. NULL is supported for all data types, including lists and maps.

    This operator tests for the nonexistence of an attribute, not its data type. If the data type of attribute \"a\" is null, and you evaluate it using NULL, the result is a Boolean false. This is because the attribute \"a\" exists; its data type is not relevant to the NULL comparison operator.

  • CONTAINS : Checks for a subsequence, or value in a set.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set (\"SS\", \"NS\", or \"BS\"), then the operator evaluates to true if it finds an exact match with any member of the set.

    CONTAINS is supported for lists: When evaluating \"a CONTAINS b\", \"a\" can be a list; however, \"b\" cannot be a set, a map, or a list.

  • NOT_CONTAINS : Checks for absence of a subsequence, or absence of a value in a set.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set (\"SS\", \"NS\", or \"BS\"), then the operator evaluates to true if it does not find an exact match with any member of the set.

    NOT_CONTAINS is supported for lists: When evaluating \"a NOT CONTAINS b\", \"a\" can be a list; however, \"b\" cannot be a set, a map, or a list.

  • BEGINS_WITH : Checks for a prefix.

    AttributeValueList can contain only one AttributeValue of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).

  • IN : Checks for matching elements in a list.

    AttributeValueList can contain one or more AttributeValue elements of type String, Number, or Binary. These attributes are compared against an existing attribute of an item. If any elements of the input are equal to the item attribute, the expression evaluates to true.

  • BETWEEN : Greater than or equal to the first value, and less than or equal to the second value.

    AttributeValueList must contain two AttributeValue elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not compare to {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}

For usage examples of AttributeValueList and ComparisonOperator, see Legacy Conditional Parameters in the Amazon DynamoDB Developer Guide.

" + "documentation":"

A comparator for evaluating attributes. For example, equals, greater than, less than, etc.

The following comparison operators are available:

EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN

The following are descriptions of each comparison operator.

  • EQ : Equal. EQ is supported for all data types, including lists and maps.

    AttributeValueList can contain only one AttributeValue element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\", \"1\"]}.

  • NE : Not equal. NE is supported for all data types, including lists and maps.

    AttributeValueList can contain only one AttributeValue of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\", \"1\"]}.

  • LE : Less than or equal.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • LT : Less than.

    AttributeValueList can contain only one AttributeValue of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • GE : Greater than or equal.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • GT : Greater than.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • NOT_NULL : The attribute exists. NOT_NULL is supported for all data types, including lists and maps.

    This operator tests for the existence of an attribute, not its data type. If the data type of attribute \"a\" is null, and you evaluate it using NOT_NULL, the result is a Boolean true. This result is because the attribute \"a\" exists; its data type is not relevant to the NOT_NULL comparison operator.

  • NULL : The attribute does not exist. NULL is supported for all data types, including lists and maps.

    This operator tests for the nonexistence of an attribute, not its data type. If the data type of attribute \"a\" is null, and you evaluate it using NULL, the result is a Boolean false. This is because the attribute \"a\" exists; its data type is not relevant to the NULL comparison operator.

  • CONTAINS : Checks for a subsequence, or value in a set.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set (\"SS\", \"NS\", or \"BS\"), then the operator evaluates to true if it finds an exact match with any member of the set.

    CONTAINS is supported for lists: When evaluating \"a CONTAINS b\", \"a\" can be a list; however, \"b\" cannot be a set, a map, or a list.

  • NOT_CONTAINS : Checks for absence of a subsequence, or absence of a value in a set.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set (\"SS\", \"NS\", or \"BS\"), then the operator evaluates to true if it does not find an exact match with any member of the set.

    NOT_CONTAINS is supported for lists: When evaluating \"a NOT CONTAINS b\", \"a\" can be a list; however, \"b\" cannot be a set, a map, or a list.

  • BEGINS_WITH : Checks for a prefix.

    AttributeValueList can contain only one AttributeValue of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).

  • IN : Checks for matching elements in a list.

    AttributeValueList can contain one or more AttributeValue elements of type String, Number, or Binary. These attributes are compared against an existing attribute of an item. If any elements of the input are equal to the item attribute, the expression evaluates to true.

  • BETWEEN : Greater than or equal to the first value, and less than or equal to the second value.

    AttributeValueList must contain two AttributeValue elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not compare to {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}

For usage examples of AttributeValueList and ComparisonOperator, see Legacy Conditional Parameters in the Amazon DynamoDB Developer Guide.

" } }, "documentation":"

Represents the selection criteria for a Query or Scan operation:

  • For a Query operation, Condition is used for specifying the KeyConditions to use when querying a table or an index. For KeyConditions, only the following comparison operators are supported:

    EQ | LE | LT | GE | GT | BEGINS_WITH | BETWEEN

    Condition is also used in a QueryFilter, which evaluates the query results and returns only the desired values.

  • For a Scan operation, Condition is used in a ScanFilter, which evaluates the scan results and returns only the desired values.

" @@ -1345,7 +1355,7 @@ "documentation":"

The amount of throughput consumed on each global index affected by the operation.

" } }, - "documentation":"

The capacity units consumed by an operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the request asked for it. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

" + "documentation":"

The capacity units consumed by an operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the request asked for it. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

" }, "ConsumedCapacityMultiple":{ "type":"list", @@ -1430,7 +1440,7 @@ }, "ProvisionedThroughput":{ "shape":"ProvisionedThroughput", - "documentation":"

Represents the provisioned throughput settings for the specified global secondary index.

For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

" + "documentation":"

Represents the provisioned throughput settings for the specified global secondary index.

For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

" } }, "documentation":"

Represents a new global secondary index to be added to an existing table.

" @@ -1490,15 +1500,15 @@ }, "KeySchema":{ "shape":"KeySchema", - "documentation":"

Specifies the attributes that make up the primary key for a table or an index. The attributes in KeySchema must also be defined in the AttributeDefinitions array. For more information, see Data Model in the Amazon DynamoDB Developer Guide.

Each KeySchemaElement in the array is composed of:

  • AttributeName - The name of this key attribute.

  • KeyType - The role that the key attribute will assume:

    • HASH - partition key

    • RANGE - sort key

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB' usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

For a simple primary key (partition key), you must provide exactly one element with a KeyType of HASH.

For a composite primary key (partition key and sort key), you must provide exactly two elements, in this order: The first element must have a KeyType of HASH, and the second element must have a KeyType of RANGE.

For more information, see Specifying the Primary Key in the Amazon DynamoDB Developer Guide.

" + "documentation":"

Specifies the attributes that make up the primary key for a table or an index. The attributes in KeySchema must also be defined in the AttributeDefinitions array. For more information, see Data Model in the Amazon DynamoDB Developer Guide.

Each KeySchemaElement in the array is composed of:

  • AttributeName - The name of this key attribute.

  • KeyType - The role that the key attribute will assume:

    • HASH - partition key

    • RANGE - sort key

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB' usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

For a simple primary key (partition key), you must provide exactly one element with a KeyType of HASH.

For a composite primary key (partition key and sort key), you must provide exactly two elements, in this order: The first element must have a KeyType of HASH, and the second element must have a KeyType of RANGE.

For more information, see Specifying the Primary Key in the Amazon DynamoDB Developer Guide.

" }, "LocalSecondaryIndexes":{ "shape":"LocalSecondaryIndexList", - "documentation":"

One or more local secondary indexes (the maximum is five) to be created on the table. Each index is scoped to a given partition key value. There is a 10 GB size limit per partition key value; otherwise, the size of a local secondary index is unconstrained.

Each local secondary index in the array includes the following:

  • IndexName - The name of the local secondary index. Must be unique only for this table.

  • KeySchema - Specifies the key schema for the local secondary index. The key schema must begin with the same partition key as the table.

  • Projection - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:

    • ProjectionType - One of the following:

      • KEYS_ONLY - Only the index and primary keys are projected into the index.

      • INCLUDE - Only the specified table attributes are projected into the index. The list of projected attributes are in NonKeyAttributes.

      • ALL - All of the table attributes are projected into the index.

    • NonKeyAttributes - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in NonKeyAttributes, summed across all of the secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.

" + "documentation":"

One or more local secondary indexes (the maximum is 5) to be created on the table. Each index is scoped to a given partition key value. There is a 10 GB size limit per partition key value; otherwise, the size of a local secondary index is unconstrained.

Each local secondary index in the array includes the following:

  • IndexName - The name of the local secondary index. Must be unique only for this table.

  • KeySchema - Specifies the key schema for the local secondary index. The key schema must begin with the same partition key as the table.

  • Projection - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:

    • ProjectionType - One of the following:

      • KEYS_ONLY - Only the index and primary keys are projected into the index.

      • INCLUDE - Only the specified table attributes are projected into the index. The list of projected attributes are in NonKeyAttributes.

      • ALL - All of the table attributes are projected into the index.

    • NonKeyAttributes - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in NonKeyAttributes, summed across all of the secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.

" }, "GlobalSecondaryIndexes":{ "shape":"GlobalSecondaryIndexList", - "documentation":"

One or more global secondary indexes (the maximum is five) to be created on the table. Each global secondary index in the array includes the following:

  • IndexName - The name of the global secondary index. Must be unique only for this table.

  • KeySchema - Specifies the key schema for the global secondary index.

  • Projection - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:

    • ProjectionType - One of the following:

      • KEYS_ONLY - Only the index and primary keys are projected into the index.

      • INCLUDE - Only the specified table attributes are projected into the index. The list of projected attributes are in NonKeyAttributes.

      • ALL - All of the table attributes are projected into the index.

    • NonKeyAttributes - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in NonKeyAttributes, summed across all of the secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.

  • ProvisionedThroughput - The provisioned throughput settings for the global secondary index, consisting of read and write capacity units.

" + "documentation":"

One or more global secondary indexes (the maximum is 20) to be created on the table. Each global secondary index in the array includes the following:

  • IndexName - The name of the global secondary index. Must be unique only for this table.

  • KeySchema - Specifies the key schema for the global secondary index.

  • Projection - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:

    • ProjectionType - One of the following:

      • KEYS_ONLY - Only the index and primary keys are projected into the index.

      • INCLUDE - Only the specified table attributes are projected into the index. The list of projected attributes are in NonKeyAttributes.

      • ALL - All of the table attributes are projected into the index.

    • NonKeyAttributes - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in NonKeyAttributes, summed across all of the secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.

  • ProvisionedThroughput - The provisioned throughput settings for the global secondary index, consisting of read and write capacity units.

" }, "BillingMode":{ "shape":"BillingMode", @@ -1506,7 +1516,7 @@ }, "ProvisionedThroughput":{ "shape":"ProvisionedThroughput", - "documentation":"

Represents the provisioned throughput settings for a specified table or index. The settings can be modified using the UpdateTable operation.

If you set BillingMode as PROVISIONED, you must specify this property. If you set BillingMode as PAY_PER_REQUEST, you cannot specify this property.

For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

" + "documentation":"

Represents the provisioned throughput settings for a specified table or index. The settings can be modified using the UpdateTable operation.

If you set BillingMode as PROVISIONED, you must specify this property. If you set BillingMode as PAY_PER_REQUEST, you cannot specify this property.

For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

" }, "StreamSpecification":{ "shape":"StreamSpecification", @@ -1515,6 +1525,10 @@ "SSESpecification":{ "shape":"SSESpecification", "documentation":"

Represents the settings used to enable server-side encryption.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A list of key-value pairs to label the table. For more information, see Tagging for DynamoDB.

" } }, "documentation":"

Represents the input of a CreateTable operation.

" @@ -1611,11 +1625,11 @@ }, "Expected":{ "shape":"ExpectedAttributeMap", - "documentation":"

This is a legacy parameter. Use ConditionExpression instead. For more information, see Expected in the Amazon DynamoDB Developer Guide.

" + "documentation":"

This is a legacy parameter. Use ConditionExpression instead. For more information, see Expected in the Amazon DynamoDB Developer Guide.

" }, "ConditionalOperator":{ "shape":"ConditionalOperator", - "documentation":"

This is a legacy parameter. Use ConditionExpression instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.

" + "documentation":"

This is a legacy parameter. Use ConditionExpression instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.

" }, "ReturnValues":{ "shape":"ReturnValue", @@ -1628,15 +1642,15 @@ }, "ConditionExpression":{ "shape":"ConditionExpression", - "documentation":"

A condition that must be satisfied in order for a conditional DeleteItem to succeed.

An expression can contain any of the following:

  • Functions: attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size

    These function names are case-sensitive.

  • Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN

  • Logical operators: AND | OR | NOT

For more information on condition expressions, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" + "documentation":"

A condition that must be satisfied in order for a conditional DeleteItem to succeed.

An expression can contain any of the following:

  • Functions: attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size

    These function names are case-sensitive.

  • Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN

  • Logical operators: AND | OR | NOT

For more information on condition expressions, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" }, "ExpressionAttributeNames":{ "shape":"ExpressionAttributeNameMap", - "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" + "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" }, "ExpressionAttributeValues":{ "shape":"ExpressionAttributeValueMap", - "documentation":"

One or more values that can be substituted in an expression.

Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

Available | Backordered | Discontinued

You would first need to specify ExpressionAttributeValues as follows:

{ \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} }

You could then use these values in an expression, such as this:

ProductStatus IN (:avail, :back, :disc)

For more information on expression attribute values, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" + "documentation":"

One or more values that can be substituted in an expression.

Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

Available | Backordered | Discontinued

You would first need to specify ExpressionAttributeValues as follows:

{ \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} }

You could then use these values in an expression, such as this:

ProductStatus IN (:avail, :back, :disc)

For more information on expression attribute values, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" } }, "documentation":"

Represents the input of a DeleteItem operation.

" @@ -1650,7 +1664,7 @@ }, "ConsumedCapacity":{ "shape":"ConsumedCapacity", - "documentation":"

The capacity units consumed by the DeleteItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

" + "documentation":"

The capacity units consumed by the DeleteItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

" }, "ItemCollectionMetrics":{ "shape":"ItemCollectionMetrics", @@ -1749,7 +1763,10 @@ "type":"structure", "required":["Endpoints"], "members":{ - "Endpoints":{"shape":"Endpoints"} + "Endpoints":{ + "shape":"Endpoints", + "documentation":"

List of endpoints.

" + } } }, "DescribeGlobalTableInput":{ @@ -1870,9 +1887,16 @@ "CachePeriodInMinutes" ], "members":{ - "Address":{"shape":"String"}, - "CachePeriodInMinutes":{"shape":"Long"} - } + "Address":{ + "shape":"String", + "documentation":"

IP address of the endpoint.

" + }, + "CachePeriodInMinutes":{ + "shape":"Long", + "documentation":"

Endpoint cache time to live (TTL) value.

" + } + }, + "documentation":"

An endpoint information details.

" }, "Endpoints":{ "type":"list", @@ -1889,7 +1913,7 @@ "members":{ "Value":{ "shape":"AttributeValue", - "documentation":"

Represents the data for the expected attribute.

Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.

For more information, see Data Types in the Amazon DynamoDB Developer Guide.

" + "documentation":"

Represents the data for the expected attribute.

Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.

For more information, see Data Types in the Amazon DynamoDB Developer Guide.

" }, "Exists":{ "shape":"BooleanObject", @@ -1901,7 +1925,7 @@ }, "AttributeValueList":{ "shape":"AttributeValueList", - "documentation":"

One or more values to evaluate against the supplied attribute. The number of values in the list depends on the ComparisonOperator being used.

For type Number, value comparisons are numeric.

String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, a is greater than A, and a is greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.

For information on specifying data types in JSON, see JSON Data Format in the Amazon DynamoDB Developer Guide.

" + "documentation":"

One or more values to evaluate against the supplied attribute. The number of values in the list depends on the ComparisonOperator being used.

For type Number, value comparisons are numeric.

String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, a is greater than A, and a is greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.

For information on specifying data types in JSON, see JSON Data Format in the Amazon DynamoDB Developer Guide.

" } }, "documentation":"

Represents a condition to be compared with an attribute value. This condition can be used with DeleteItem, PutItem or UpdateItem operations; if the comparison evaluates to true, the operation succeeds; if not, the operation fails. You can use ExpectedAttributeValue in one of two different ways:

  • Use AttributeValueList to specify one or more values to compare against an attribute. Use ComparisonOperator to specify how you want to perform the comparison. If the comparison evaluates to true, then the conditional operation succeeds.

  • Use Value to specify a value that DynamoDB will compare against an attribute. If the values match, then ExpectedAttributeValue evaluates to true and the conditional operation succeeds. Optionally, you can also set Exists to false, indicating that you do not expect to find the attribute value in the table. In this case, the conditional operation succeeds only if the comparison evaluates to false.

Value and Exists are incompatible with AttributeValueList and ComparisonOperator. Note that if you use both sets of parameters at once, DynamoDB will return a ValidationException exception.

" @@ -1966,7 +1990,7 @@ }, "AttributesToGet":{ "shape":"AttributeNameList", - "documentation":"

This is a legacy parameter. Use ProjectionExpression instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer Guide.

" + "documentation":"

This is a legacy parameter. Use ProjectionExpression instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer Guide.

" }, "ConsistentRead":{ "shape":"ConsistentRead", @@ -1975,11 +1999,11 @@ "ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"}, "ProjectionExpression":{ "shape":"ProjectionExpression", - "documentation":"

A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" + "documentation":"

A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" }, "ExpressionAttributeNames":{ "shape":"ExpressionAttributeNameMap", - "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" + "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" } }, "documentation":"

Represents the input of a GetItem operation.

" @@ -1993,7 +2017,7 @@ }, "ConsumedCapacity":{ "shape":"ConsumedCapacity", - "documentation":"

The capacity units consumed by the GetItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

" + "documentation":"

The capacity units consumed by the GetItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

" } }, "documentation":"

Represents the output of a GetItem operation.

" @@ -2020,7 +2044,7 @@ }, "ProvisionedThroughput":{ "shape":"ProvisionedThroughput", - "documentation":"

Represents the provisioned throughput settings for the specified global secondary index.

For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

" + "documentation":"

Represents the provisioned throughput settings for the specified global secondary index.

For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

" } }, "documentation":"

Represents the properties of a global secondary index.

" @@ -2050,7 +2074,7 @@ }, "ProvisionedThroughput":{ "shape":"ProvisionedThroughputDescription", - "documentation":"

Represents the provisioned throughput settings for the specified global secondary index.

For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

" + "documentation":"

Represents the provisioned throughput settings for the specified global secondary index.

For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

" }, "IndexSizeBytes":{ "shape":"Long", @@ -2404,7 +2428,7 @@ }, "AttributesToGet":{ "shape":"AttributeNameList", - "documentation":"

This is a legacy parameter. Use ProjectionExpression instead. For more information, see Legacy Conditional Parameters in the Amazon DynamoDB Developer Guide.

" + "documentation":"

This is a legacy parameter. Use ProjectionExpression instead. For more information, see Legacy Conditional Parameters in the Amazon DynamoDB Developer Guide.

" }, "ConsistentRead":{ "shape":"ConsistentRead", @@ -2412,11 +2436,11 @@ }, "ProjectionExpression":{ "shape":"ProjectionExpression", - "documentation":"

A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the ProjectionExpression must be separated by commas.

If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" + "documentation":"

A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the ProjectionExpression must be separated by commas.

If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" }, "ExpressionAttributeNames":{ "shape":"ExpressionAttributeNameMap", - "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" + "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" } }, "documentation":"

Represents a set of primary keys and, for each key, the attributes to retrieve from the table.

For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide the partition key. For a composite primary key, you must provide both the partition key and the sort key.

" @@ -2429,7 +2453,7 @@ "documentation":"

Too many operations for a given subscriber.

" } }, - "documentation":"

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

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

For tables with secondary indexes, only one of those tables can be in the CREATING state at any point in time. Do not attempt to create more than one such table simultaneously.

The total limit of tables in the ACTIVE state is 250.

", + "documentation":"

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

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

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

There is a soft account limit of 256 tables.

", "exception":true }, "ListAttributeValue":{ @@ -2763,14 +2787,14 @@ "members":{ "ReadCapacityUnits":{ "shape":"PositiveLongObject", - "documentation":"

The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide.

If read/write capacity mode is PAY_PER_REQUEST the value is set to 0.

" + "documentation":"

The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide.

If read/write capacity mode is PAY_PER_REQUEST the value is set to 0.

" }, "WriteCapacityUnits":{ "shape":"PositiveLongObject", - "documentation":"

The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide.

If read/write capacity mode is PAY_PER_REQUEST the value is set to 0.

" + "documentation":"

The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide.

If read/write capacity mode is PAY_PER_REQUEST the value is set to 0.

" } }, - "documentation":"

Represents the provisioned throughput settings for a specified table or index. The settings can be modified using the UpdateTable operation.

For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

" + "documentation":"

Represents the provisioned throughput settings for a specified table or index. The settings can be modified using the UpdateTable operation.

For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

" }, "ProvisionedThroughputDescription":{ "type":"structure", @@ -2785,7 +2809,7 @@ }, "NumberOfDecreasesToday":{ "shape":"PositiveLongObject", - "documentation":"

The number of provisioned throughput decreases for this table during this UTC calendar day. For current maximums on provisioned throughput decreases, see Limits in the Amazon DynamoDB Developer Guide.

" + "documentation":"

The number of provisioned throughput decreases for this table during this UTC calendar day. For current maximums on provisioned throughput decreases, see Limits in the Amazon DynamoDB Developer Guide.

" }, "ReadCapacityUnits":{ "shape":"NonNegativeLongObject", @@ -2806,7 +2830,7 @@ "documentation":"

You exceeded your maximum allowed provisioned throughput.

" } }, - "documentation":"

Your request rate is too high. The AWS SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to Error Retries and Exponential Backoff in the Amazon DynamoDB Developer Guide.

", + "documentation":"

Your request rate is too high. The AWS SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to Error Retries and Exponential Backoff in the Amazon DynamoDB Developer Guide.

", "exception":true }, "Put":{ @@ -2856,11 +2880,11 @@ }, "Item":{ "shape":"PutItemInputAttributeMap", - "documentation":"

A map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item.

You must provide all of the attributes for the primary key. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide both values for both the partition key and the sort key.

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

For more information about primary keys, see Primary Key in the Amazon DynamoDB Developer Guide.

Each element in the Item map is an AttributeValue object.

" + "documentation":"

A map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item.

You must provide all of the attributes for the primary key. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide both values for both the partition key and the sort key.

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

For more information about primary keys, see Primary Key in the Amazon DynamoDB Developer Guide.

Each element in the Item map is an AttributeValue object.

" }, "Expected":{ "shape":"ExpectedAttributeMap", - "documentation":"

This is a legacy parameter. Use ConditionExpression instead. For more information, see Expected in the Amazon DynamoDB Developer Guide.

" + "documentation":"

This is a legacy parameter. Use ConditionExpression instead. For more information, see Expected in the Amazon DynamoDB Developer Guide.

" }, "ReturnValues":{ "shape":"ReturnValue", @@ -2873,19 +2897,19 @@ }, "ConditionalOperator":{ "shape":"ConditionalOperator", - "documentation":"

This is a legacy parameter. Use ConditionExpression instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.

" + "documentation":"

This is a legacy parameter. Use ConditionExpression instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.

" }, "ConditionExpression":{ "shape":"ConditionExpression", - "documentation":"

A condition that must be satisfied in order for a conditional PutItem operation to succeed.

An expression can contain any of the following:

  • Functions: attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size

    These function names are case-sensitive.

  • Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN

  • Logical operators: AND | OR | NOT

For more information on condition expressions, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" + "documentation":"

A condition that must be satisfied in order for a conditional PutItem operation to succeed.

An expression can contain any of the following:

  • Functions: attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size

    These function names are case-sensitive.

  • Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN

  • Logical operators: AND | OR | NOT

For more information on condition expressions, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" }, "ExpressionAttributeNames":{ "shape":"ExpressionAttributeNameMap", - "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" + "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" }, "ExpressionAttributeValues":{ "shape":"ExpressionAttributeValueMap", - "documentation":"

One or more values that can be substituted in an expression.

Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

Available | Backordered | Discontinued

You would first need to specify ExpressionAttributeValues as follows:

{ \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} }

You could then use these values in an expression, such as this:

ProductStatus IN (:avail, :back, :disc)

For more information on expression attribute values, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" + "documentation":"

One or more values that can be substituted in an expression.

Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

Available | Backordered | Discontinued

You would first need to specify ExpressionAttributeValues as follows:

{ \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} }

You could then use these values in an expression, such as this:

ProductStatus IN (:avail, :back, :disc)

For more information on expression attribute values, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" } }, "documentation":"

Represents the input of a PutItem operation.

" @@ -2904,7 +2928,7 @@ }, "ConsumedCapacity":{ "shape":"ConsumedCapacity", - "documentation":"

The capacity units consumed by the PutItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

" + "documentation":"

The capacity units consumed by the PutItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

" }, "ItemCollectionMetrics":{ "shape":"ItemCollectionMetrics", @@ -2942,11 +2966,11 @@ }, "AttributesToGet":{ "shape":"AttributeNameList", - "documentation":"

This is a legacy parameter. Use ProjectionExpression instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer Guide.

" + "documentation":"

This is a legacy parameter. Use ProjectionExpression instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer Guide.

" }, "Limit":{ "shape":"PositiveIntegerObject", - "documentation":"

The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a key in LastEvaluatedKey to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed data set size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a key in LastEvaluatedKey to apply in a subsequent operation to continue the operation. For more information, see Query and Scan in the Amazon DynamoDB Developer Guide.

" + "documentation":"

The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a key in LastEvaluatedKey to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed data set size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a key in LastEvaluatedKey to apply in a subsequent operation to continue the operation. For more information, see Query and Scan in the Amazon DynamoDB Developer Guide.

" }, "ConsistentRead":{ "shape":"ConsistentRead", @@ -2954,15 +2978,15 @@ }, "KeyConditions":{ "shape":"KeyConditions", - "documentation":"

This is a legacy parameter. Use KeyConditionExpression instead. For more information, see KeyConditions in the Amazon DynamoDB Developer Guide.

" + "documentation":"

This is a legacy parameter. Use KeyConditionExpression instead. For more information, see KeyConditions in the Amazon DynamoDB Developer Guide.

" }, "QueryFilter":{ "shape":"FilterConditionMap", - "documentation":"

This is a legacy parameter. Use FilterExpression instead. For more information, see QueryFilter in the Amazon DynamoDB Developer Guide.

" + "documentation":"

This is a legacy parameter. Use FilterExpression instead. For more information, see QueryFilter in the Amazon DynamoDB Developer Guide.

" }, "ConditionalOperator":{ "shape":"ConditionalOperator", - "documentation":"

This is a legacy parameter. Use FilterExpression instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.

" + "documentation":"

This is a legacy parameter. Use FilterExpression instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.

" }, "ScanIndexForward":{ "shape":"BooleanObject", @@ -2975,23 +2999,23 @@ "ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"}, "ProjectionExpression":{ "shape":"ProjectionExpression", - "documentation":"

A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" + "documentation":"

A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" }, "FilterExpression":{ "shape":"ConditionExpression", - "documentation":"

A string that contains conditions that DynamoDB applies after the Query operation, but before the data is returned to you. Items that do not satisfy the FilterExpression criteria are not returned.

A FilterExpression does not allow key attributes. You cannot define a filter expression based on a partition key or a sort key.

A FilterExpression is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.

For more information, see Filter Expressions in the Amazon DynamoDB Developer Guide.

" + "documentation":"

A string that contains conditions that DynamoDB applies after the Query operation, but before the data is returned to you. Items that do not satisfy the FilterExpression criteria are not returned.

A FilterExpression does not allow key attributes. You cannot define a filter expression based on a partition key or a sort key.

A FilterExpression is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.

For more information, see Filter Expressions in the Amazon DynamoDB Developer Guide.

" }, "KeyConditionExpression":{ "shape":"KeyExpression", - "documentation":"

The condition that specifies the key value(s) for items to be retrieved by the Query action.

The condition must perform an equality test on a single partition key value.

The condition can optionally perform one of several comparison tests on a single sort key value. This allows Query to retrieve one item with a given partition key value and sort key value, or several items that have the same partition key value but different sort key values.

The partition key equality test is required, and must be specified in the following format:

partitionKeyName = :partitionkeyval

If you also want to provide a condition for the sort key, it must be combined using AND with the condition for the sort key. Following is an example, using the = comparison operator for the sort key:

partitionKeyName = :partitionkeyval AND sortKeyName = :sortkeyval

Valid comparisons for the sort key condition are as follows:

  • sortKeyName = :sortkeyval - true if the sort key value is equal to :sortkeyval.

  • sortKeyName < :sortkeyval - true if the sort key value is less than :sortkeyval.

  • sortKeyName <= :sortkeyval - true if the sort key value is less than or equal to :sortkeyval.

  • sortKeyName > :sortkeyval - true if the sort key value is greater than :sortkeyval.

  • sortKeyName >= :sortkeyval - true if the sort key value is greater than or equal to :sortkeyval.

  • sortKeyName BETWEEN :sortkeyval1 AND :sortkeyval2 - true if the sort key value is greater than or equal to :sortkeyval1, and less than or equal to :sortkeyval2.

  • begins_with ( sortKeyName, :sortkeyval ) - true if the sort key value begins with a particular operand. (You cannot use this function with a sort key that is of type Number.) Note that the function name begins_with is case-sensitive.

Use the ExpressionAttributeValues parameter to replace tokens such as :partitionval and :sortval with actual values at runtime.

You can optionally use the ExpressionAttributeNames parameter to replace the names of the partition key and sort key with placeholder tokens. This option might be necessary if an attribute name conflicts with a DynamoDB reserved word. For example, the following KeyConditionExpression parameter causes an error because Size is a reserved word:

  • Size = :myval

To work around this, define a placeholder (such a #S) to represent the attribute name Size. KeyConditionExpression then is as follows:

  • #S = :myval

For a list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide.

For more information on ExpressionAttributeNames and ExpressionAttributeValues, see Using Placeholders for Attribute Names and Values in the Amazon DynamoDB Developer Guide.

" + "documentation":"

The condition that specifies the key value(s) for items to be retrieved by the Query action.

The condition must perform an equality test on a single partition key value.

The condition can optionally perform one of several comparison tests on a single sort key value. This allows Query to retrieve one item with a given partition key value and sort key value, or several items that have the same partition key value but different sort key values.

The partition key equality test is required, and must be specified in the following format:

partitionKeyName = :partitionkeyval

If you also want to provide a condition for the sort key, it must be combined using AND with the condition for the sort key. Following is an example, using the = comparison operator for the sort key:

partitionKeyName = :partitionkeyval AND sortKeyName = :sortkeyval

Valid comparisons for the sort key condition are as follows:

  • sortKeyName = :sortkeyval - true if the sort key value is equal to :sortkeyval.

  • sortKeyName < :sortkeyval - true if the sort key value is less than :sortkeyval.

  • sortKeyName <= :sortkeyval - true if the sort key value is less than or equal to :sortkeyval.

  • sortKeyName > :sortkeyval - true if the sort key value is greater than :sortkeyval.

  • sortKeyName >= :sortkeyval - true if the sort key value is greater than or equal to :sortkeyval.

  • sortKeyName BETWEEN :sortkeyval1 AND :sortkeyval2 - true if the sort key value is greater than or equal to :sortkeyval1, and less than or equal to :sortkeyval2.

  • begins_with ( sortKeyName, :sortkeyval ) - true if the sort key value begins with a particular operand. (You cannot use this function with a sort key that is of type Number.) Note that the function name begins_with is case-sensitive.

Use the ExpressionAttributeValues parameter to replace tokens such as :partitionval and :sortval with actual values at runtime.

You can optionally use the ExpressionAttributeNames parameter to replace the names of the partition key and sort key with placeholder tokens. This option might be necessary if an attribute name conflicts with a DynamoDB reserved word. For example, the following KeyConditionExpression parameter causes an error because Size is a reserved word:

  • Size = :myval

To work around this, define a placeholder (such a #S) to represent the attribute name Size. KeyConditionExpression then is as follows:

  • #S = :myval

For a list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide.

For more information on ExpressionAttributeNames and ExpressionAttributeValues, see Using Placeholders for Attribute Names and Values in the Amazon DynamoDB Developer Guide.

" }, "ExpressionAttributeNames":{ "shape":"ExpressionAttributeNameMap", - "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" + "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" }, "ExpressionAttributeValues":{ "shape":"ExpressionAttributeValueMap", - "documentation":"

One or more values that can be substituted in an expression.

Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

Available | Backordered | Discontinued

You would first need to specify ExpressionAttributeValues as follows:

{ \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} }

You could then use these values in an expression, such as this:

ProductStatus IN (:avail, :back, :disc)

For more information on expression attribute values, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" + "documentation":"

One or more values that can be substituted in an expression.

Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

Available | Backordered | Discontinued

You would first need to specify ExpressionAttributeValues as follows:

{ \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} }

You could then use these values in an expression, such as this:

ProductStatus IN (:avail, :back, :disc)

For more information on expression attribute values, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" } }, "documentation":"

Represents the input of a Query operation.

" @@ -3009,7 +3033,7 @@ }, "ScannedCount":{ "shape":"Integer", - "documentation":"

The number of items evaluated, before any QueryFilter is applied. A high ScannedCount value with few, or no, Count results indicates an inefficient Query operation. For more information, see Count and ScannedCount in the Amazon DynamoDB Developer Guide.

If you did not use a filter in the request, then ScannedCount is the same as Count.

" + "documentation":"

The number of items evaluated, before any QueryFilter is applied. A high ScannedCount value with few, or no, Count results indicates an inefficient Query operation. For more information, see Count and ScannedCount in the Amazon DynamoDB Developer Guide.

If you did not use a filter in the request, then ScannedCount is the same as Count.

" }, "LastEvaluatedKey":{ "shape":"Key", @@ -3017,7 +3041,7 @@ }, "ConsumedCapacity":{ "shape":"ConsumedCapacity", - "documentation":"

The capacity units consumed by the Query operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

" + "documentation":"

The capacity units consumed by the Query operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

" } }, "documentation":"

Represents the output of a Query operation.

" @@ -3145,7 +3169,7 @@ }, "ReplicaProvisionedReadCapacityUnits":{ "shape":"NonNegativeLongObject", - "documentation":"

The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide.

" + "documentation":"

The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide.

" }, "ReplicaProvisionedReadCapacityAutoScalingSettings":{ "shape":"AutoScalingSettingsDescription", @@ -3153,7 +3177,7 @@ }, "ReplicaProvisionedWriteCapacityUnits":{ "shape":"NonNegativeLongObject", - "documentation":"

The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide.

" + "documentation":"

The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide.

" }, "ReplicaProvisionedWriteCapacityAutoScalingSettings":{ "shape":"AutoScalingSettingsDescription", @@ -3180,7 +3204,7 @@ }, "ReplicaProvisionedReadCapacityUnits":{ "shape":"PositiveLongObject", - "documentation":"

The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide.

" + "documentation":"

The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide.

" }, "ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate":{ "shape":"AutoScalingSettingsUpdate", @@ -3231,7 +3255,7 @@ "members":{ "message":{"shape":"ErrorMessage"} }, - "documentation":"

Throughput exceeds the current throughput limit for your account. Please contact AWS Support at AWS Support to request a limit increase.

", + "documentation":"

Throughput exceeds the current throughput limit for your account. Please contact AWS Support at AWS Support to request a limit increase.

", "exception":true }, "ResourceArnString":{ @@ -3386,15 +3410,15 @@ "members":{ "Status":{ "shape":"SSEStatus", - "documentation":"

The current state of server-side encryption:

  • ENABLING - Server-side encryption is being enabled.

  • ENABLED - Server-side encryption is enabled.

  • DISABLING - Server-side encryption is being disabled.

  • DISABLED - Server-side encryption is disabled.

  • UPDATING - Server-side encryption is being updated.

" + "documentation":"

Represents the current state of server-side encryption. The only supported values are:

  • ENABLED - Server-side encryption is enabled.

  • UPDATING - Server-side encryption is being updated.

" }, "SSEType":{ "shape":"SSEType", - "documentation":"

Server-side encryption type:

  • AES256 - Server-side encryption which uses the AES256 algorithm (not applicable).

  • KMS - Server-side encryption which uses AWS Key Management Service. Key is stored in your account and is managed by AWS KMS (KMS charges apply).

" + "documentation":"

Server-side encryption type. The only supported value is:

  • KMS - Server-side encryption which uses AWS Key Management Service. Key is stored in your account and is managed by AWS KMS (KMS charges apply).

" }, "KMSMasterKeyArn":{ "shape":"KMSMasterKeyArn", - "documentation":"

The KMS master key ARN used for the KMS encryption.

" + "documentation":"

The KMS customer master key (CMK) ARN used for the KMS encryption.

" } }, "documentation":"

The description of the server-side encryption status on the specified table.

" @@ -3405,15 +3429,15 @@ "members":{ "Enabled":{ "shape":"SSEEnabled", - "documentation":"

Indicates whether server-side encryption is enabled (true) or disabled (false) on the table. If enabled (true), server-side encryption type is set to KMS. If disabled (false) or not specified, server-side encryption is set to AWS owned CMK.

" + "documentation":"

Indicates whether server-side encryption is done using an AWS managed CMK or an AWS owned CMK. If enabled (true), server-side encryption type is set to KMS and an AWS managed CMK is used (AWS KMS charges apply). If disabled (false) or not specified, server-side encryption is set to AWS owned CMK.

" }, "SSEType":{ "shape":"SSEType", - "documentation":"

Server-side encryption type:

  • AES256 - Server-side encryption which uses the AES256 algorithm (not applicable).

  • KMS - Server-side encryption which uses AWS Key Management Service. Key is stored in your account and is managed by AWS KMS (KMS charges apply).

" + "documentation":"

Server-side encryption type. The only supported value is:

  • KMS - Server-side encryption which uses AWS Key Management Service. Key is stored in your account and is managed by AWS KMS (KMS charges apply).

" }, "KMSMasterKeyId":{ "shape":"KMSMasterKeyId", - "documentation":"

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

" + "documentation":"

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

" } }, "documentation":"

Represents the settings used to enable server-side encryption.

" @@ -3457,11 +3481,11 @@ }, "AttributesToGet":{ "shape":"AttributeNameList", - "documentation":"

This is a legacy parameter. Use ProjectionExpression instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer Guide.

" + "documentation":"

This is a legacy parameter. Use ProjectionExpression instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer Guide.

" }, "Limit":{ "shape":"PositiveIntegerObject", - "documentation":"

The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a key in LastEvaluatedKey to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed data set size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a key in LastEvaluatedKey to apply in a subsequent operation to continue the operation. For more information, see Query and Scan in the Amazon DynamoDB Developer Guide.

" + "documentation":"

The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a key in LastEvaluatedKey to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed data set size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a key in LastEvaluatedKey to apply in a subsequent operation to continue the operation. For more information, see Query and Scan in the Amazon DynamoDB Developer Guide.

" }, "Select":{ "shape":"Select", @@ -3469,11 +3493,11 @@ }, "ScanFilter":{ "shape":"FilterConditionMap", - "documentation":"

This is a legacy parameter. Use FilterExpression instead. For more information, see ScanFilter in the Amazon DynamoDB Developer Guide.

" + "documentation":"

This is a legacy parameter. Use FilterExpression instead. For more information, see ScanFilter in the Amazon DynamoDB Developer Guide.

" }, "ConditionalOperator":{ "shape":"ConditionalOperator", - "documentation":"

This is a legacy parameter. Use FilterExpression instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.

" + "documentation":"

This is a legacy parameter. Use FilterExpression instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.

" }, "ExclusiveStartKey":{ "shape":"Key", @@ -3490,19 +3514,19 @@ }, "ProjectionExpression":{ "shape":"ProjectionExpression", - "documentation":"

A string that identifies one or more attributes to retrieve from the specified table or index. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" + "documentation":"

A string that identifies one or more attributes to retrieve from the specified table or index. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" }, "FilterExpression":{ "shape":"ConditionExpression", - "documentation":"

A string that contains conditions that DynamoDB applies after the Scan operation, but before the data is returned to you. Items that do not satisfy the FilterExpression criteria are not returned.

A FilterExpression is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.

For more information, see Filter Expressions in the Amazon DynamoDB Developer Guide.

" + "documentation":"

A string that contains conditions that DynamoDB applies after the Scan operation, but before the data is returned to you. Items that do not satisfy the FilterExpression criteria are not returned.

A FilterExpression is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.

For more information, see Filter Expressions in the Amazon DynamoDB Developer Guide.

" }, "ExpressionAttributeNames":{ "shape":"ExpressionAttributeNameMap", - "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" + "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" }, "ExpressionAttributeValues":{ "shape":"ExpressionAttributeValueMap", - "documentation":"

One or more values that can be substituted in an expression.

Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

Available | Backordered | Discontinued

You would first need to specify ExpressionAttributeValues as follows:

{ \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} }

You could then use these values in an expression, such as this:

ProductStatus IN (:avail, :back, :disc)

For more information on expression attribute values, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" + "documentation":"

One or more values that can be substituted in an expression.

Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

Available | Backordered | Discontinued

You would first need to specify ExpressionAttributeValues as follows:

{ \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} }

You could then use these values in an expression, such as this:

ProductStatus IN (:avail, :back, :disc)

For more information on expression attribute values, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" }, "ConsistentRead":{ "shape":"ConsistentRead", @@ -3524,7 +3548,7 @@ }, "ScannedCount":{ "shape":"Integer", - "documentation":"

The number of items evaluated, before any ScanFilter is applied. A high ScannedCount value with few, or no, Count results indicates an inefficient Scan operation. For more information, see Count and ScannedCount in the Amazon DynamoDB Developer Guide.

If you did not use a filter in the request, then ScannedCount is the same as Count.

" + "documentation":"

The number of items evaluated, before any ScanFilter is applied. A high ScannedCount value with few, or no, Count results indicates an inefficient Scan operation. For more information, see Count and ScannedCount in the Amazon DynamoDB Developer Guide.

If you did not use a filter in the request, then ScannedCount is the same as Count.

" }, "LastEvaluatedKey":{ "shape":"Key", @@ -3532,7 +3556,7 @@ }, "ConsumedCapacity":{ "shape":"ConsumedCapacity", - "documentation":"

The capacity units consumed by the Scan operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

" + "documentation":"

The capacity units consumed by the Scan operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

" } }, "documentation":"

Represents the output of a Scan operation.

" @@ -3694,7 +3718,7 @@ }, "KeySchema":{ "shape":"KeySchema", - "documentation":"

The primary key structure for the table. Each KeySchemaElement consists of:

  • AttributeName - The name of the attribute.

  • KeyType - The role of the attribute:

    • HASH - partition key

    • RANGE - sort key

    The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB' usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

    The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

For more information about primary keys, see Primary Key in the Amazon DynamoDB Developer Guide.

" + "documentation":"

The primary key structure for the table. Each KeySchemaElement consists of:

  • AttributeName - The name of the attribute.

  • KeyType - The role of the attribute:

    • HASH - partition key

    • RANGE - sort key

    The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB' usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

    The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

For more information about primary keys, see Primary Key in the Amazon DynamoDB Developer Guide.

" }, "TableStatus":{ "shape":"TableStatus", @@ -3814,7 +3838,7 @@ "documentation":"

The value of the tag. Tag values are case-sensitive and can be null.

" } }, - "documentation":"

Describes a tag. A tag is a key-value pair. You can add up to 50 tags to a single DynamoDB table.

AWS-assigned tag names and values are automatically assigned the aws: prefix, which the user cannot assign. AWS-assigned tag names do not count towards the tag limit of 50. User-assigned tag names have the prefix user: in the Cost Allocation Report. You cannot backdate the application of a tag.

For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide.

" + "documentation":"

Describes a tag. A tag is a key-value pair. You can add up to 50 tags to a single DynamoDB table.

AWS-assigned tag names and values are automatically assigned the aws: prefix, which the user cannot assign. AWS-assigned tag names do not count towards the tag limit of 50. User-assigned tag names have the prefix user: in the Cost Allocation Report. You cannot backdate the application of a tag.

For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide.

" }, "TagKeyList":{ "type":"list", @@ -3986,7 +4010,7 @@ "documentation":"

Determines whether item collection metrics are returned. If set to SIZE, the response includes statistics about item collections (if any), that were modified during the operation and are returned in the response. If set to NONE (the default), no statistics are returned.

" }, "ClientRequestToken":{ - "shape":"String", + "shape":"ClientRequestToken", "documentation":"

Providing a ClientRequestToken makes the call to TransactWriteItems idempotent, meaning that multiple identical calls have the same effect as one single call.

Although multiple identical calls using the same client request token produce the same result on the server (no side effects), the responses to the calls may not be the same. If the ReturnConsumedCapacity> parameter is set, then the initial TransactWriteItems call returns the amount of write capacity units consumed in making the changes, and subsequent TransactWriteItems calls with the same client token return the amount of read capacity units consumed in reading the item.

A client request token is valid for 10 minutes after the first request that uses it completes. After 10 minutes, any request with the same client token is treated as a new request. Do not resubmit the same request with the same client token for more than 10 minutes or the result may not be idempotent.

If you submit a request with the same client token but a change in other parameters within the 10 minute idempotency window, DynamoDB returns an IdempotentParameterMismatch exception.

", "idempotencyToken":true } @@ -4014,7 +4038,7 @@ "documentation":"

A list of cancellation reasons.

" } }, - "documentation":"

The entire transaction request was rejected.

DynamoDB will reject the entire TransactWriteItems request if any of the following is true:

  • A table in the TransactWriteItems request does not exist.

  • A table in the TransactWriteItems request is on a different account or region.

  • Operations contain item schema violations.

  • More than one write operation (UpdateItem, PutItem, DeleteItem) operates on the same item.

  • More than one check operation operates on the same item.

  • The number of operations sent in the TransactWriteItems request is 0 or greater than 10.

  • A TransactWriteItems request exceeds the maximum 4 MB request size.

  • Any operation in the TransactWriteItems request would cause an item to become larger than 400KB.

", + "documentation":"

The entire transaction request was canceled.

DynamoDB cancels a TransactWriteItems request under the following circumstances:

  • A condition in one of the condition expressions is not met.

  • A table in the TransactWriteItems request is in a different account or region.

  • More than one action in the TransactWriteItems operation targets the same item.

  • There is insufficient provisioned capacity for the transaction to be completed.

  • An item size becomes too large (larger than 400 KB), or a local secondary index (LSI) becomes too large, or a similar validation error occurs because of changes made by the transaction.

  • There is a user error, such as an invalid data format.

DynamoDB cancels a TransactGetItems request under the following circumstances:

  • There is an ongoing TransactGetItems operation that conflicts with a concurrent PutItem, UpdateItem, DeleteItem or TransactWriteItems request. In this case the TransactGetItems operation fails with a TransactionCanceledException.

  • A table in the TransactGetItems request is in a different account or region.

  • There is insufficient provisioned capacity for the transaction to be completed.

  • There is a user error, such as an invalid data format.

If using Java, DynamoDB lists the cancellation reasons on the CancellationReasons property. This property is not set for other languages. Transaction cancellation reasons are ordered in the order of requested items, if an item has no error it will have NONE code and Null message.

Cancellation reason codes and possible error messages:

  • No Errors:

    • Code: NONE

    • Message: null

  • Conditional Check Failed:

    • Code: ConditionalCheckFailed

    • Message: The conditional request failed.

  • Item Collection Size Limit Exceeded:

    • Code: ItemCollectionSizeLimitExceeded

    • Message: Collection size exceeded.

  • Transaction Conflict:

    • Code: TransactionConflict

    • Message: Transaction is ongoing for the item.

  • Provisioned Throughput Exceeded:

    • Code: ProvisionedThroughputExceeded

    • Messages:

      • The level of configured provisioned throughput for the table was exceeded. Consider increasing your provisioning level with the UpdateTable API.

        This Message is received when provisioned throughput is exceeded is on a provisioned DynamoDB table.

      • The level of configured provisioned throughput for one or more global secondary indexes of the table was exceeded. Consider increasing your provisioning level for the under-provisioned global secondary indexes with the UpdateTable API.

        This message is returned when provisioned throughput is exceeded is on a provisioned GSI.

  • Throttling Error:

    • Code: ThrottlingError

    • Messages:

      • Throughput exceeds the current capacity of your table or index. DynamoDB is automatically scaling your table or index so please try again shortly. If exceptions persist, check if you have a hot key: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html.

        This message is returned when writes get throttled on an On-Demand table as DynamoDB is automatically scaling the table.

      • Throughput exceeds the current capacity for one or more global secondary indexes. DynamoDB is automatically scaling your index so please try again shortly.

        This message is returned when when writes get throttled on an On-Demand GSI as DynamoDB is automatically scaling the GSI.

  • Validation Error:

    • Code: ValidationError

    • Messages:

      • One or more parameter values were invalid.

      • The update expression attempted to update the secondary index key beyond allowed size limits.

      • The update expression attempted to update the secondary index key to unsupported type.

      • An operand in the update expression has an incorrect data type.

      • Item size to update has exceeded the maximum allowed size.

      • Number overflow. Attempting to store a number with magnitude larger than supported range.

      • Type mismatch for attribute to update.

      • Nesting Levels have exceeded supported limits.

      • The document path provided in the update expression is invalid for update.

      • The provided expression refers to an attribute that does not exist in the item.

", "exception":true }, "TransactionConflictException":{ @@ -4129,7 +4153,7 @@ }, "ProvisionedThroughput":{ "shape":"ProvisionedThroughput", - "documentation":"

Represents the provisioned throughput settings for the specified global secondary index.

For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

" + "documentation":"

Represents the provisioned throughput settings for the specified global secondary index.

For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

" } }, "documentation":"

Represents the new provisioned throughput settings to be applied to a global secondary index.

" @@ -4220,15 +4244,15 @@ }, "AttributeUpdates":{ "shape":"AttributeUpdates", - "documentation":"

This is a legacy parameter. Use UpdateExpression instead. For more information, see AttributeUpdates in the Amazon DynamoDB Developer Guide.

" + "documentation":"

This is a legacy parameter. Use UpdateExpression instead. For more information, see AttributeUpdates in the Amazon DynamoDB Developer Guide.

" }, "Expected":{ "shape":"ExpectedAttributeMap", - "documentation":"

This is a legacy parameter. Use ConditionExpression instead. For more information, see Expected in the Amazon DynamoDB Developer Guide.

" + "documentation":"

This is a legacy parameter. Use ConditionExpression instead. For more information, see Expected in the Amazon DynamoDB Developer Guide.

" }, "ConditionalOperator":{ "shape":"ConditionalOperator", - "documentation":"

This is a legacy parameter. Use ConditionExpression instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.

" + "documentation":"

This is a legacy parameter. Use ConditionExpression instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.

" }, "ReturnValues":{ "shape":"ReturnValue", @@ -4241,19 +4265,19 @@ }, "UpdateExpression":{ "shape":"UpdateExpression", - "documentation":"

An expression that defines one or more attributes to be updated, the action to be performed on them, and new value(s) for them.

The following action values are available for UpdateExpression.

  • SET - Adds one or more attributes and values to an item. If any of these attribute already exist, they are replaced by the new values. You can also use SET to add or subtract from an attribute that is of type Number. For example: SET myNum = myNum + :val

    SET supports the following functions:

    • if_not_exists (path, operand) - if the item does not contain an attribute at the specified path, then if_not_exists evaluates to operand; otherwise, it evaluates to path. You can use this function to avoid overwriting an attribute that may already be present in the item.

    • list_append (operand, operand) - evaluates to a list with a new element added to it. You can append the new element to the start or the end of the list by reversing the order of the operands.

    These function names are case-sensitive.

  • REMOVE - Removes one or more attributes from an item.

  • ADD - Adds the specified value to the item, if the attribute does not already exist. If the attribute does exist, then the behavior of ADD depends on the data type of the attribute:

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

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

      Similarly, if you use ADD for an existing item to increment or decrement an attribute value that doesn't exist before the update, DynamoDB uses 0 as the initial value. For example, suppose that the item you want to update doesn't have an attribute named itemcount, but you decide to ADD the number 3 to this attribute anyway. DynamoDB will create the itemcount attribute, set its initial value to 0, and finally add 3 to it. The result will be a new itemcount attribute in the item, with a value of 3.

    • If the existing data type is a set and if Value is also a set, then Value is added to the existing set. For example, if the attribute value is the set [1,2], and the ADD action specified [3], then the final attribute value is [1,2,3]. An error occurs if an ADD action is specified for a set attribute and the attribute type specified does not match the existing set type.

      Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the Value must also be a set of strings.

    The ADD action only supports Number and set data types. In addition, ADD can only be used on top-level attributes, not nested attributes.

  • DELETE - Deletes an element from a set.

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

    The DELETE action only supports set data types. In addition, DELETE can only be used on top-level attributes, not nested attributes.

You can have many actions in a single expression, such as the following: SET a=:value1, b=:value2 DELETE :value3, :value4, :value5

For more information on update expressions, see Modifying Items and Attributes in the Amazon DynamoDB Developer Guide.

" + "documentation":"

An expression that defines one or more attributes to be updated, the action to be performed on them, and new value(s) for them.

The following action values are available for UpdateExpression.

  • SET - Adds one or more attributes and values to an item. If any of these attribute already exist, they are replaced by the new values. You can also use SET to add or subtract from an attribute that is of type Number. For example: SET myNum = myNum + :val

    SET supports the following functions:

    • if_not_exists (path, operand) - if the item does not contain an attribute at the specified path, then if_not_exists evaluates to operand; otherwise, it evaluates to path. You can use this function to avoid overwriting an attribute that may already be present in the item.

    • list_append (operand, operand) - evaluates to a list with a new element added to it. You can append the new element to the start or the end of the list by reversing the order of the operands.

    These function names are case-sensitive.

  • REMOVE - Removes one or more attributes from an item.

  • ADD - Adds the specified value to the item, if the attribute does not already exist. If the attribute does exist, then the behavior of ADD depends on the data type of the attribute:

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

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

      Similarly, if you use ADD for an existing item to increment or decrement an attribute value that doesn't exist before the update, DynamoDB uses 0 as the initial value. For example, suppose that the item you want to update doesn't have an attribute named itemcount, but you decide to ADD the number 3 to this attribute anyway. DynamoDB will create the itemcount attribute, set its initial value to 0, and finally add 3 to it. The result will be a new itemcount attribute in the item, with a value of 3.

    • If the existing data type is a set and if Value is also a set, then Value is added to the existing set. For example, if the attribute value is the set [1,2], and the ADD action specified [3], then the final attribute value is [1,2,3]. An error occurs if an ADD action is specified for a set attribute and the attribute type specified does not match the existing set type.

      Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the Value must also be a set of strings.

    The ADD action only supports Number and set data types. In addition, ADD can only be used on top-level attributes, not nested attributes.

  • DELETE - Deletes an element from a set.

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

    The DELETE action only supports set data types. In addition, DELETE can only be used on top-level attributes, not nested attributes.

You can have many actions in a single expression, such as the following: SET a=:value1, b=:value2 DELETE :value3, :value4, :value5

For more information on update expressions, see Modifying Items and Attributes in the Amazon DynamoDB Developer Guide.

" }, "ConditionExpression":{ "shape":"ConditionExpression", - "documentation":"

A condition that must be satisfied in order for a conditional update to succeed.

An expression can contain any of the following:

  • Functions: attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size

    These function names are case-sensitive.

  • Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN

  • Logical operators: AND | OR | NOT

For more information on condition expressions, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" + "documentation":"

A condition that must be satisfied in order for a conditional update to succeed.

An expression can contain any of the following:

  • Functions: attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size

    These function names are case-sensitive.

  • Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN

  • Logical operators: AND | OR | NOT

For more information on condition expressions, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" }, "ExpressionAttributeNames":{ "shape":"ExpressionAttributeNameMap", - "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" + "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" }, "ExpressionAttributeValues":{ "shape":"ExpressionAttributeValueMap", - "documentation":"

One or more values that can be substituted in an expression.

Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

Available | Backordered | Discontinued

You would first need to specify ExpressionAttributeValues as follows:

{ \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} }

You could then use these values in an expression, such as this:

ProductStatus IN (:avail, :back, :disc)

For more information on expression attribute values, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" + "documentation":"

One or more values that can be substituted in an expression.

Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

Available | Backordered | Discontinued

You would first need to specify ExpressionAttributeValues as follows:

{ \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} }

You could then use these values in an expression, such as this:

ProductStatus IN (:avail, :back, :disc)

For more information on expression attribute values, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" } }, "documentation":"

Represents the input of an UpdateItem operation.

" @@ -4267,7 +4291,7 @@ }, "ConsumedCapacity":{ "shape":"ConsumedCapacity", - "documentation":"

The capacity units consumed by the UpdateItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

" + "documentation":"

The capacity units consumed by the UpdateItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

" }, "ItemCollectionMetrics":{ "shape":"ItemCollectionMetrics", @@ -4298,7 +4322,7 @@ }, "GlobalSecondaryIndexUpdates":{ "shape":"GlobalSecondaryIndexUpdateList", - "documentation":"

An array of one or more global secondary indexes for the table. For each index in the array, you can request one action:

  • Create - add a new global secondary index to the table.

  • Update - modify the provisioned throughput settings of an existing global secondary index.

  • Delete - remove a global secondary index from the table.

For more information, see Managing Global Secondary Indexes in the Amazon DynamoDB Developer Guide.

" + "documentation":"

An array of one or more global secondary indexes for the table. For each index in the array, you can request one action:

  • Create - add a new global secondary index to the table.

  • Update - modify the provisioned throughput settings of an existing global secondary index.

  • Delete - remove a global secondary index from the table.

For more information, see Managing Global Secondary Indexes in the Amazon DynamoDB Developer Guide.

" }, "StreamSpecification":{ "shape":"StreamSpecification", diff --git a/bin/botocore/data/ec2/2016-11-15/paginators-1.json b/bin/botocore/data/ec2/2016-11-15/paginators-1.json index ae4cc354..1706fc07 100644 --- a/bin/botocore/data/ec2/2016-11-15/paginators-1.json +++ b/bin/botocore/data/ec2/2016-11-15/paginators-1.json @@ -94,6 +94,306 @@ "limit_key": "MaxResults", "output_token": "NextToken", "result_key": "NetworkInterfaces" + }, + "DescribeVpcEndpoints": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "VpcEndpoints" + }, + "DescribeVpcEndpointServices": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "ServiceDetails" + }, + "DescribeVpcEndpointConnections": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "VpcEndpointConnections" + }, + "DescribeByoipCidrs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ByoipCidrs" + }, + "DescribeCapacityReservations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "CapacityReservations" + }, + "DescribeClassicLinkInstances": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Instances" + }, + "DescribeClientVpnAuthorizationRules": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "AuthorizationRules" + }, + "DescribeClientVpnConnections": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Connections" + }, + "DescribeClientVpnEndpoints": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ClientVpnEndpoints" + }, + "DescribeClientVpnRoutes": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Routes" + }, + "DescribeClientVpnTargetNetworks": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ClientVpnTargetNetworks" + }, + "DescribeEgressOnlyInternetGateways": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "EgressOnlyInternetGateways" + }, + "DescribeFleets": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Fleets" + }, + "DescribeFlowLogs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "FlowLogs" + }, + "DescribeFpgaImages": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "FpgaImages" + }, + "DescribeHostReservationOfferings": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "OfferingSet" + }, + "DescribeHostReservations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "HostReservationSet" + }, + "DescribeHosts": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Hosts" + }, + "DescribeImportImageTasks": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ImportImageTasks" + }, + "DescribeImportSnapshotTasks": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ImportSnapshotTasks" + }, + "DescribeInstanceCreditSpecifications": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "InstanceCreditSpecifications" + }, + "DescribeLaunchTemplateVersions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "LaunchTemplateVersions" + }, + "DescribeLaunchTemplates": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "LaunchTemplates" + }, + "DescribeMovingAddresses": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "MovingAddressStatuses" + }, + "DescribeNetworkInterfacePermissions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "NetworkInterfacePermissions" + }, + "DescribePrefixLists": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "PrefixLists" + }, + "DescribePrincipalIdFormat": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Principals" + }, + "DescribePublicIpv4Pools": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "PublicIpv4Pools" + }, + "DescribeScheduledInstanceAvailability": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ScheduledInstanceAvailabilitySet" + }, + "DescribeScheduledInstances": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ScheduledInstanceSet" + }, + "DescribeStaleSecurityGroups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "StaleSecurityGroupSet" + }, + "DescribeTransitGatewayAttachments": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TransitGatewayAttachments" + }, + "DescribeTransitGatewayRouteTables": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TransitGatewayRouteTables" + }, + "DescribeTransitGatewayVpcAttachments": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TransitGatewayVpcAttachments" + }, + "DescribeTransitGateways": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TransitGateways" + }, + "DescribeVolumesModifications": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "VolumesModifications" + }, + "DescribeVpcClassicLinkDnsSupport": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Vpcs" + }, + "DescribeVpcEndpointConnectionNotifications": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ConnectionNotificationSet" + }, + "DescribeVpcEndpointServiceConfigurations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ServiceConfigurations" + }, + "DescribeVpcEndpointServicePermissions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "AllowedPrincipals" + }, + "DescribeVpcPeeringConnections": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "VpcPeeringConnections" + }, + "GetTransitGatewayAttachmentPropagations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TransitGatewayAttachmentPropagations" + }, + "GetTransitGatewayRouteTableAssociations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Associations" + }, + "GetTransitGatewayRouteTablePropagations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TransitGatewayRouteTablePropagations" + }, + "DescribeInternetGateways": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "InternetGateways" + }, + "DescribeNetworkAcls": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "NetworkAcls" + }, + "DescribeVpcs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Vpcs" + }, + "DescribeSpotInstanceRequests": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "SpotInstanceRequests" + }, + "DescribeDhcpOptions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "DhcpOptions" + }, + "DescribeSubnets": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Subnets" } } } diff --git a/bin/botocore/data/ec2/2016-11-15/service-2.json b/bin/botocore/data/ec2/2016-11-15/service-2.json index 90d7ba59..93bf665f 100644 --- a/bin/botocore/data/ec2/2016-11-15/service-2.json +++ b/bin/botocore/data/ec2/2016-11-15/service-2.json @@ -50,7 +50,7 @@ }, "input":{"shape":"AcceptVpcPeeringConnectionRequest"}, "output":{"shape":"AcceptVpcPeeringConnectionResult"}, - "documentation":"

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

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

" + "documentation":"

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

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

" }, "AdvertiseByoipCidr":{ "name":"AdvertiseByoipCidr", @@ -70,7 +70,7 @@ }, "input":{"shape":"AllocateAddressRequest"}, "output":{"shape":"AllocateAddressResult"}, - "documentation":"

Allocates an Elastic IP address to your AWS account. After you allocate the Elastic IP address you can associate it with an instance or network interface. After you release an Elastic IP address, it is released to the IP address pool and can be allocated to a different AWS account.

You can allocate an Elastic IP address from an address pool owned by AWS or from an address pool created from a public IPv4 address range that you have brought to AWS for use with your AWS resources using bring your own IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses (BYOIP) in the Amazon Elastic Compute Cloud User Guide.

[EC2-VPC] If you release an Elastic IP address, you might be able to recover it. You cannot recover an Elastic IP address that you released after it is allocated to another AWS account. You cannot recover an Elastic IP address for EC2-Classic. To attempt to recover an Elastic IP address that you released, specify it in this operation.

An Elastic IP address is for use either in the EC2-Classic platform or in a VPC. By default, you can allocate 5 Elastic IP addresses for EC2-Classic per region and 5 Elastic IP addresses for EC2-VPC per region.

For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Allocates an Elastic IP address to your AWS account. After you allocate the Elastic IP address you can associate it with an instance or network interface. After you release an Elastic IP address, it is released to the IP address pool and can be allocated to a different AWS account.

You can allocate an Elastic IP address from an address pool owned by AWS or from an address pool created from a public IPv4 address range that you have brought to AWS for use with your AWS resources using bring your own IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses (BYOIP) in the Amazon Elastic Compute Cloud User Guide.

[EC2-VPC] If you release an Elastic IP address, you might be able to recover it. You cannot recover an Elastic IP address that you released after it is allocated to another AWS account. You cannot recover an Elastic IP address for EC2-Classic. To attempt to recover an Elastic IP address that you released, specify it in this operation.

An Elastic IP address is for use either in the EC2-Classic platform or in a VPC. By default, you can allocate 5 Elastic IP addresses for EC2-Classic per Region and 5 Elastic IP addresses for EC2-VPC per Region.

For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

" }, "AllocateHosts":{ "name":"AllocateHosts", @@ -82,6 +82,16 @@ "output":{"shape":"AllocateHostsResult"}, "documentation":"

Allocates a Dedicated Host to your account. At a minimum, specify the instance size type, Availability Zone, and quantity of hosts to allocate.

" }, + "ApplySecurityGroupsToClientVpnTargetNetwork":{ + "name":"ApplySecurityGroupsToClientVpnTargetNetwork", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ApplySecurityGroupsToClientVpnTargetNetworkRequest"}, + "output":{"shape":"ApplySecurityGroupsToClientVpnTargetNetworkResult"}, + "documentation":"

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

" + }, "AssignIpv6Addresses":{ "name":"AssignIpv6Addresses", "http":{ @@ -90,7 +100,7 @@ }, "input":{"shape":"AssignIpv6AddressesRequest"}, "output":{"shape":"AssignIpv6AddressesResult"}, - "documentation":"

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

" + "documentation":"

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

" }, "AssignPrivateIpAddresses":{ "name":"AssignPrivateIpAddresses", @@ -99,7 +109,7 @@ "requestUri":"/" }, "input":{"shape":"AssignPrivateIpAddressesRequest"}, - "documentation":"

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

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

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

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

" + "documentation":"

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

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

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

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

" }, "AssociateAddress":{ "name":"AssociateAddress", @@ -109,7 +119,17 @@ }, "input":{"shape":"AssociateAddressRequest"}, "output":{"shape":"AssociateAddressResult"}, - "documentation":"

Associates an Elastic IP address with an instance or a network interface. Before you can use an Elastic IP address, you must allocate it to your account.

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

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

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

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

" + "documentation":"

Associates an Elastic IP address with an instance or a network interface. Before you can use an Elastic IP address, you must allocate it to your account.

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

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

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

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

" + }, + "AssociateClientVpnTargetNetwork":{ + "name":"AssociateClientVpnTargetNetwork", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateClientVpnTargetNetworkRequest"}, + "output":{"shape":"AssociateClientVpnTargetNetworkResult"}, + "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.

" }, "AssociateDhcpOptions":{ "name":"AssociateDhcpOptions", @@ -118,7 +138,7 @@ "requestUri":"/" }, "input":{"shape":"AssociateDhcpOptionsRequest"}, - "documentation":"

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

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.

For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

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

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.

For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" }, "AssociateIamInstanceProfile":{ "name":"AssociateIamInstanceProfile", @@ -138,7 +158,7 @@ }, "input":{"shape":"AssociateRouteTableRequest"}, "output":{"shape":"AssociateRouteTableResult"}, - "documentation":"

Associates a subnet with a route table. The subnet and route table must be in the same VPC. This association causes traffic originating from the subnet to be routed according to the routes in the route table. The action returns an association ID, which you need in order to disassociate the route table from the subnet later. A route table can be associated with multiple subnets.

For more information, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Associates a subnet with a route table. The subnet and route table must be in the same VPC. This association causes traffic originating from the subnet to be routed according to the routes in the route table. The action returns an association ID, which you need in order to disassociate the route table from the subnet later. A route table can be associated with multiple subnets.

For more information, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" }, "AssociateSubnetCidrBlock":{ "name":"AssociateSubnetCidrBlock", @@ -168,7 +188,7 @@ }, "input":{"shape":"AssociateVpcCidrBlockRequest"}, "output":{"shape":"AssociateVpcCidrBlockResult"}, - "documentation":"

Associates a CIDR block with your VPC. You can associate a secondary IPv4 CIDR block, or you can associate an Amazon-provided IPv6 CIDR block. The IPv6 CIDR block size is fixed at /56.

For more information about associating CIDR blocks with your VPC and applicable restrictions, see VPC and Subnet Sizing in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Associates a CIDR block with your VPC. You can associate a secondary IPv4 CIDR block, or you can associate an Amazon-provided IPv6 CIDR block. The IPv6 CIDR block size is fixed at /56.

For more information about associating CIDR blocks with your VPC and applicable restrictions, see VPC and Subnet Sizing in the Amazon Virtual Private Cloud User Guide.

" }, "AttachClassicLinkVpc":{ "name":"AttachClassicLinkVpc", @@ -187,7 +207,7 @@ "requestUri":"/" }, "input":{"shape":"AttachInternetGatewayRequest"}, - "documentation":"

Attaches an internet gateway to a VPC, enabling connectivity between the internet and the VPC. For more information about your VPC and internet gateway, see the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Attaches an internet gateway to a VPC, enabling connectivity between the internet and the VPC. For more information about your VPC and internet gateway, see the Amazon Virtual Private Cloud User Guide.

" }, "AttachNetworkInterface":{ "name":"AttachNetworkInterface", @@ -207,7 +227,7 @@ }, "input":{"shape":"AttachVolumeRequest"}, "output":{"shape":"VolumeAttachment"}, - "documentation":"

Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.

Encrypted EBS volumes may only be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

For a list of supported device names, see Attaching an EBS Volume to an Instance. Any device names that aren't reserved for instance store volumes can be used for EBS volumes. For more information, see Amazon EC2 Instance Store in the Amazon Elastic Compute Cloud User Guide.

If a volume has an AWS Marketplace product code:

  • The volume can be attached only to a stopped instance.

  • AWS Marketplace product codes are copied from the volume to the instance.

  • You must be subscribed to the product.

  • The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.

For more information about EBS volumes, see Attaching Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.

Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

After you attach an EBS volume, you must make it available. For more information, see Making an EBS Volume Available For Use.

If a volume has an AWS Marketplace product code:

  • The volume can be attached only to a stopped instance.

  • AWS Marketplace product codes are copied from the volume to the instance.

  • You must be subscribed to the product.

  • The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.

For more information, see Attaching Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.

" }, "AttachVpnGateway":{ "name":"AttachVpnGateway", @@ -217,7 +237,17 @@ }, "input":{"shape":"AttachVpnGatewayRequest"}, "output":{"shape":"AttachVpnGatewayResult"}, - "documentation":"

Attaches a virtual private gateway to a VPC. You can attach one virtual private gateway to one VPC at a time.

For more information, see AWS Managed VPN Connections in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Attaches a virtual private gateway to a VPC. You can attach one virtual private gateway to one VPC at a time.

For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.

" + }, + "AuthorizeClientVpnIngress":{ + "name":"AuthorizeClientVpnIngress", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AuthorizeClientVpnIngressRequest"}, + "output":{"shape":"AuthorizeClientVpnIngressResult"}, + "documentation":"

Adds an ingress authorization rule to a Client VPN endpoint. Ingress authorization rules act as firewall rules that grant access to networks. You must configure ingress authorization rules to enable clients to access resources in AWS or on-premises networks.

" }, "AuthorizeSecurityGroupEgress":{ "name":"AuthorizeSecurityGroupEgress", @@ -226,7 +256,7 @@ "requestUri":"/" }, "input":{"shape":"AuthorizeSecurityGroupEgressRequest"}, - "documentation":"

[EC2-VPC only] Adds one or more egress rules to a security group for use with a VPC. Specifically, this action permits instances to send traffic to one or more destination IPv4 or IPv6 CIDR address ranges, or to one or more destination security groups for the same VPC. This action doesn't apply to security groups for use in EC2-Classic. For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide. For more information about security group limits, see Amazon VPC Limits.

Each rule consists of the protocol (for example, TCP), plus either a CIDR range or a source group. For the TCP and UDP protocols, you must also specify the destination port or port range. For the ICMP protocol, you must also specify the ICMP type and code. You can use -1 for the type or code to mean all types or all codes. You can optionally specify a description for the rule.

Rule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.

" + "documentation":"

[VPC only] Adds the specified egress rules to a security group for use with a VPC.

An outbound rule permits instances to send traffic to the specified IPv4 or IPv6 CIDR address ranges, or to the instances associated with the specified destination security groups.

You specify a protocol for each rule (for example, TCP). For the TCP and UDP protocols, you must also specify the destination port or port range. For the ICMP protocol, you must also specify the ICMP type and code. You can use -1 for the type or code to mean all types or all codes.

Rule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.

For more information about VPC security group limits, see Amazon VPC Limits.

" }, "AuthorizeSecurityGroupIngress":{ "name":"AuthorizeSecurityGroupIngress", @@ -235,7 +265,7 @@ "requestUri":"/" }, "input":{"shape":"AuthorizeSecurityGroupIngressRequest"}, - "documentation":"

Adds one or more ingress rules to a security group.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

[EC2-Classic] This action gives one or more IPv4 CIDR address ranges permission to access a security group in your account, or gives one or more security groups (called the source groups) permission to access a security group for your account. A source group can be for your own AWS account, or another. You can have up to 100 rules per group.

[EC2-VPC] This action gives one or more IPv4 or IPv6 CIDR address ranges permission to access a security group in your VPC, or gives one or more other security groups (called the source groups) permission to access a security group for your VPC. The security groups must all be for the same VPC or a peer VPC in a VPC peering connection. For more information about VPC security group limits, see Amazon VPC Limits.

You can optionally specify a description for the security group rule.

" + "documentation":"

Adds the specified ingress rules to a security group.

An inbound rule permits instances to receive traffic from the specified IPv4 or IPv6 CIDR address ranges, or from the instances associated with the specified destination security groups.

You specify a protocol for each rule (for example, TCP). For TCP and UDP, you must also specify the destination port or port range. For ICMP/ICMPv6, you must also specify the ICMP/ICMPv6 type and code. You can use -1 to mean all types or all codes.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

For more information about VPC security group limits, see Amazon VPC Limits.

" }, "BundleInstance":{ "name":"BundleInstance", @@ -274,7 +304,7 @@ "requestUri":"/" }, "input":{"shape":"CancelConversionRequest"}, - "documentation":"

Cancels an active conversion task. The task can be the import of an instance or volume. The action removes all artifacts of the conversion, including a partially uploaded volume or instance. If the conversion is complete or is in the process of transferring the final disk image, the command fails and returns an exception.

For more information, see Importing a Virtual Machine Using the Amazon EC2 CLI.

" + "documentation":"

Cancels an active conversion task. The task can be the import of an instance or volume. The action removes all artifacts of the conversion, including a partially uploaded volume or instance. If the conversion is complete or is in the process of transferring the final disk image, the command fails and returns an exception.

For more information, see Importing a Virtual Machine Using the Amazon EC2 CLI.

" }, "CancelExportTask":{ "name":"CancelExportTask", @@ -303,7 +333,7 @@ }, "input":{"shape":"CancelReservedInstancesListingRequest"}, "output":{"shape":"CancelReservedInstancesListingResult"}, - "documentation":"

Cancels the specified Reserved Instance listing in the Reserved Instance Marketplace.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Cancels the specified Reserved Instance listing in the Reserved Instance Marketplace.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" }, "CancelSpotFleetRequests":{ "name":"CancelSpotFleetRequests", @@ -343,7 +373,7 @@ }, "input":{"shape":"CopyFpgaImageRequest"}, "output":{"shape":"CopyFpgaImageResult"}, - "documentation":"

Copies the specified Amazon FPGA Image (AFI) to the current region.

" + "documentation":"

Copies the specified Amazon FPGA Image (AFI) to the current Region.

" }, "CopyImage":{ "name":"CopyImage", @@ -353,7 +383,7 @@ }, "input":{"shape":"CopyImageRequest"}, "output":{"shape":"CopyImageResult"}, - "documentation":"

Initiates the copy of an AMI from the specified source region to the current region. You specify the destination region by using its endpoint when making the request.

Copies of encrypted backing snapshots for the AMI are encrypted. Copies of unencrypted backing snapshots remain unencrypted, unless you set Encrypted during the copy operation. You cannot create an unencrypted copy of an encrypted backing snapshot.

For more information about the prerequisites and limits when copying an AMI, see Copying an AMI in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Initiates the copy of an AMI from the specified source Region to the current Region. You specify the destination Region by using its endpoint when making the request.

Copies of encrypted backing snapshots for the AMI are encrypted. Copies of unencrypted backing snapshots remain unencrypted, unless you set Encrypted during the copy operation. You cannot create an unencrypted copy of an encrypted backing snapshot.

For more information about the prerequisites and limits when copying an AMI, see Copying an AMI in the Amazon Elastic Compute Cloud User Guide.

" }, "CopySnapshot":{ "name":"CopySnapshot", @@ -363,7 +393,7 @@ }, "input":{"shape":"CopySnapshotRequest"}, "output":{"shape":"CopySnapshotResult"}, - "documentation":"

Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy the snapshot within the same region or from one region to another. You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs). The snapshot is copied to the regional endpoint that you send the HTTP request to.

Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted, unless the Encrypted flag is specified during the snapshot copy operation. By default, encrypted snapshot copies use the default AWS Key Management Service (AWS KMS) customer master key (CMK); however, you can specify a non-default CMK with the KmsKeyId parameter.

To copy an encrypted snapshot that has been shared from another account, you must have permissions for the CMK used to encrypt the snapshot.

Snapshots created by copying another snapshot have an arbitrary volume ID that should not be used for any purpose.

For more information, see Copying an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy the snapshot within the same Region or from one Region to another. You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs).

Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted, unless you enable encryption for the snapshot copy operation. By default, encrypted snapshot copies use the default AWS Key Management Service (AWS KMS) customer master key (CMK); however, you can specify a different CMK.

To copy an encrypted snapshot that has been shared from another account, you must have permissions for the CMK used to encrypt the snapshot.

Snapshots created by copying another snapshot have an arbitrary volume ID that should not be used for any purpose.

For more information, see Copying an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide.

" }, "CreateCapacityReservation":{ "name":"CreateCapacityReservation", @@ -373,7 +403,27 @@ }, "input":{"shape":"CreateCapacityReservationRequest"}, "output":{"shape":"CreateCapacityReservationResult"}, - "documentation":"

Creates a new Capacity Reservation with the specified attributes.

Capacity Reservations enable you to reserve capacity for your Amazon EC2 instances in a specific Availability Zone for any duration. This gives you the flexibility to selectively add capacity reservations and still get the Regional RI discounts for that usage. By 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. For more information, see Capacity Reservations in the Amazon Elastic Compute Cloud User Guide.

Your request to create a Capacity Reservation could fail if Amazon EC2 does not have sufficient capacity to fulfill the request. If your request fails due to Amazon EC2 capacity constraints, either try again at a later time, try in a different Availability Zone, or request a smaller capacity reservation. If your application is flexible across instance types and sizes, try to create a Capacity Reservation with different instance attributes.

Your request could also fail if the requested quantity exceeds your On-Demand Instance limit for the selected instance type. If your request fails due to limit constraints, increase your On-Demand Instance limit for the required instance type and try again. For more information about increasing your instance limits, see Amazon EC2 Service Limits in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Creates a new Capacity Reservation with the specified attributes.

Capacity Reservations enable you to reserve capacity for your Amazon EC2 instances in a specific Availability Zone for any duration. This gives you the flexibility to selectively add capacity reservations and still get the Regional RI discounts for that usage. By 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. For more information, see Capacity Reservations in the Amazon Elastic Compute Cloud User Guide.

Your request to create a Capacity Reservation could fail if Amazon EC2 does not have sufficient capacity to fulfill the request. If your request fails due to Amazon EC2 capacity constraints, either try again at a later time, try in a different Availability Zone, or request a smaller capacity reservation. If your application is flexible across instance types and sizes, try to create a Capacity Reservation with different instance attributes.

Your request could also fail if the requested quantity exceeds your On-Demand Instance limit for the selected instance type. If your request fails due to limit constraints, increase your On-Demand Instance limit for the required instance type and try again. For more information about increasing your instance limits, see Amazon EC2 Service Limits in the Amazon Elastic Compute Cloud User Guide.

" + }, + "CreateClientVpnEndpoint":{ + "name":"CreateClientVpnEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateClientVpnEndpointRequest"}, + "output":{"shape":"CreateClientVpnEndpointResult"}, + "documentation":"

Creates a Client VPN endpoint. A Client VPN endpoint is the resource you create and configure to enable and manage client VPN sessions. It is the destination endpoint at which all client VPN sessions are terminated.

" + }, + "CreateClientVpnRoute":{ + "name":"CreateClientVpnRoute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateClientVpnRouteRequest"}, + "output":{"shape":"CreateClientVpnRouteResult"}, + "documentation":"

Adds a route to a network to a Client VPN endpoint. Each Client VPN endpoint has a route table that describes the available destination network routes. Each route in the route table specifies the path for traffic to specific resources or networks.

" }, "CreateCustomerGateway":{ "name":"CreateCustomerGateway", @@ -383,7 +433,7 @@ }, "input":{"shape":"CreateCustomerGatewayRequest"}, "output":{"shape":"CreateCustomerGatewayResult"}, - "documentation":"

Provides information to AWS about your VPN customer gateway device. The customer gateway is the appliance at your end of the VPN connection. (The device on the AWS side of the VPN connection is the virtual private gateway.) You must provide the Internet-routable IP address of the customer gateway's external interface. The IP address must be static and may be behind a device performing network address translation (NAT).

For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN (in the 64512 - 65534 range).

Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with the exception of 7224, which is reserved in the us-east-1 region, and 9059, which is reserved in the eu-west-1 region.

For more information about VPN customer gateways, see AWS Managed VPN Connections in the Amazon Virtual Private Cloud User Guide.

You cannot create more than one customer gateway with the same VPN type, IP address, and BGP ASN parameter values. If you run an identical request more than one time, the first request creates the customer gateway, and subsequent requests return information about the existing customer gateway. The subsequent requests do not create new customer gateway resources.

" + "documentation":"

Provides information to AWS about your VPN customer gateway device. The customer gateway is the appliance at your end of the VPN connection. (The device on the AWS side of the VPN connection is the virtual private gateway.) You must provide the Internet-routable IP address of the customer gateway's external interface. The IP address must be static and may be behind a device performing network address translation (NAT).

For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN (in the 64512 - 65534 range).

Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with the exception of 7224, which is reserved in the us-east-1 Region, and 9059, which is reserved in the eu-west-1 Region.

For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.

You cannot create more than one customer gateway with the same VPN type, IP address, and BGP ASN parameter values. If you run an identical request more than one time, the first request creates the customer gateway, and subsequent requests return information about the existing customer gateway. The subsequent requests do not create new customer gateway resources.

" }, "CreateDefaultSubnet":{ "name":"CreateDefaultSubnet", @@ -393,7 +443,7 @@ }, "input":{"shape":"CreateDefaultSubnetRequest"}, "output":{"shape":"CreateDefaultSubnetResult"}, - "documentation":"

Creates a default subnet with a size /20 IPv4 CIDR block in the specified Availability Zone in your default VPC. You can have only one default subnet per Availability Zone. For more information, see Creating a Default Subnet in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Creates a default subnet with a size /20 IPv4 CIDR block in the specified Availability Zone in your default VPC. You can have only one default subnet per Availability Zone. For more information, see Creating a Default Subnet in the Amazon Virtual Private Cloud User Guide.

" }, "CreateDefaultVpc":{ "name":"CreateDefaultVpc", @@ -403,7 +453,7 @@ }, "input":{"shape":"CreateDefaultVpcRequest"}, "output":{"shape":"CreateDefaultVpcResult"}, - "documentation":"

Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet in each Availability Zone. For more information about the components of a default VPC, see Default VPC and Default Subnets in the Amazon Virtual Private Cloud User Guide. You cannot specify the components of the default VPC yourself.

If you deleted your previous default VPC, you can create a default VPC. You cannot have more than one default VPC per Region.

If your account supports EC2-Classic, you cannot use this action to create a default VPC in a Region that supports EC2-Classic. If you want a default VPC in a Region that supports EC2-Classic, see \"I really want a default VPC for my existing EC2 account. Is that possible?\" in the Default VPCs FAQ.

" + "documentation":"

Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet in each Availability Zone. For more information about the components of a default VPC, see Default VPC and Default Subnets in the Amazon Virtual Private Cloud User Guide. You cannot specify the components of the default VPC yourself.

If you deleted your previous default VPC, you can create a default VPC. You cannot have more than one default VPC per Region.

If your account supports EC2-Classic, you cannot use this action to create a default VPC in a Region that supports EC2-Classic. If you want a default VPC in a Region that supports EC2-Classic, see \"I really want a default VPC for my existing EC2 account. Is that possible?\" in the Default VPCs FAQ.

" }, "CreateDhcpOptions":{ "name":"CreateDhcpOptions", @@ -413,7 +463,7 @@ }, "input":{"shape":"CreateDhcpOptionsRequest"}, "output":{"shape":"CreateDhcpOptionsResult"}, - "documentation":"

Creates a set of DHCP options for your VPC. After creating the set, you must associate it with the VPC, causing all existing and new instances that you launch in the VPC to use this set of DHCP options. The following are the individual DHCP options you can specify. For more information about the options, see RFC 2132.

  • domain-name-servers - The IP addresses of up to four domain name servers, or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS. If specifying more than one domain name server, specify the IP addresses in a single parameter, separated by commas. ITo have your instance to receive a custom DNS hostname as specified in domain-name, you must set domain-name-servers to a custom DNS server.

  • domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in another region, specify region.compute.internal (for example, ap-northeast-1.compute.internal). Otherwise, specify a domain name (for example, MyCompany.com). This value is used to complete unqualified DNS hostnames. Important: Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP options set is associated with a VPC that has instances with multiple operating systems, specify only one domain name.

  • ntp-servers - The IP addresses of up to four Network Time Protocol (NTP) servers.

  • netbios-name-servers - The IP addresses of up to four NetBIOS name servers.

  • netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2 (broadcast and multicast are not currently supported). For more information about these node types, see RFC 2132.

Your VPC automatically starts out with a set of DHCP options that includes only a DNS server that we provide (AmazonProvidedDNS). If you create a set of options, and if your VPC has an internet gateway, make sure to set the domain-name-servers option either to AmazonProvidedDNS or to a domain name server of your choice. For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Creates a set of DHCP options for your VPC. After creating the set, you must associate it with the VPC, causing all existing and new instances that you launch in the VPC to use this set of DHCP options. The following are the individual DHCP options you can specify. For more information about the options, see RFC 2132.

  • domain-name-servers - The IP addresses of up to four domain name servers, or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS. If specifying more than one domain name server, specify the IP addresses in a single parameter, separated by commas. ITo have your instance to receive a custom DNS hostname as specified in domain-name, you must set domain-name-servers to a custom DNS server.

  • domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in another Region, specify region.compute.internal (for example, ap-northeast-1.compute.internal). Otherwise, specify a domain name (for example, MyCompany.com). This value is used to complete unqualified DNS hostnames. Important: Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP options set is associated with a VPC that has instances with multiple operating systems, specify only one domain name.

  • ntp-servers - The IP addresses of up to four Network Time Protocol (NTP) servers.

  • netbios-name-servers - The IP addresses of up to four NetBIOS name servers.

  • netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2 (broadcast and multicast are not currently supported). For more information about these node types, see RFC 2132.

Your VPC automatically starts out with a set of DHCP options that includes only a DNS server that we provide (AmazonProvidedDNS). If you create a set of options, and if your VPC has an internet gateway, make sure to set the domain-name-servers option either to AmazonProvidedDNS or to a domain name server of your choice. For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" }, "CreateEgressOnlyInternetGateway":{ "name":"CreateEgressOnlyInternetGateway", @@ -433,7 +483,7 @@ }, "input":{"shape":"CreateFleetRequest"}, "output":{"shape":"CreateFleetResult"}, - "documentation":"

Launches an EC2 Fleet.

You can create a single EC2 Fleet that includes multiple launch specifications that vary by instance type, AMI, Availability Zone, or subnet.

For more information, see Launching an EC2 Fleet in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Launches an EC2 Fleet.

You can create a single EC2 Fleet that includes multiple launch specifications that vary by instance type, AMI, Availability Zone, or subnet.

For more information, see Launching an EC2 Fleet in the Amazon Elastic Compute Cloud User Guide.

" }, "CreateFlowLogs":{ "name":"CreateFlowLogs", @@ -443,7 +493,7 @@ }, "input":{"shape":"CreateFlowLogsRequest"}, "output":{"shape":"CreateFlowLogsResult"}, - "documentation":"

Creates one or more flow logs to capture information about IP traffic for a specific network interface, subnet, or VPC.

Flow log data for a monitored network interface is recorded as flow log records, which are log events consisting of fields that describe the traffic flow. For more information, see Flow Log Records in the Amazon Virtual Private Cloud User Guide.

When publishing to CloudWatch Logs, flow log records are published to a log group, and each network interface has a unique log stream in the log group. When publishing to Amazon S3, flow log records for all of the monitored network interfaces are published to a single log file object that is stored in the specified bucket.

For more information, see VPC Flow Logs in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Creates one or more flow logs to capture information about IP traffic for a specific network interface, subnet, or VPC.

Flow log data for a monitored network interface is recorded as flow log records, which are log events consisting of fields that describe the traffic flow. For more information, see Flow Log Records in the Amazon Virtual Private Cloud User Guide.

When publishing to CloudWatch Logs, flow log records are published to a log group, and each network interface has a unique log stream in the log group. When publishing to Amazon S3, flow log records for all of the monitored network interfaces are published to a single log file object that is stored in the specified bucket.

For more information, see VPC Flow Logs in the Amazon Virtual Private Cloud User Guide.

" }, "CreateFpgaImage":{ "name":"CreateFpgaImage", @@ -453,7 +503,7 @@ }, "input":{"shape":"CreateFpgaImageRequest"}, "output":{"shape":"CreateFpgaImageResult"}, - "documentation":"

Creates an Amazon FPGA Image (AFI) from the specified design checkpoint (DCP).

The create operation is asynchronous. To verify that the AFI is ready for use, check the output logs.

An AFI contains the FPGA bitstream that is ready to download to an FPGA. You can securely deploy an AFI on one or more FPGA-accelerated instances. For more information, see the AWS FPGA Hardware Development Kit.

" + "documentation":"

Creates an Amazon FPGA Image (AFI) from the specified design checkpoint (DCP).

The create operation is asynchronous. To verify that the AFI is ready for use, check the output logs.

An AFI contains the FPGA bitstream that is ready to download to an FPGA. You can securely deploy an AFI on multiple FPGA-accelerated instances. For more information, see the AWS FPGA Hardware Development Kit.

" }, "CreateImage":{ "name":"CreateImage", @@ -463,7 +513,7 @@ }, "input":{"shape":"CreateImageRequest"}, "output":{"shape":"CreateImageResult"}, - "documentation":"

Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that is either running or stopped.

If you customized your instance with instance store volumes or EBS volumes in addition to the root device volume, the new AMI contains block device mapping information for those volumes. When you launch an instance from this new AMI, the instance automatically launches with those additional volumes.

For more information, see Creating Amazon EBS-Backed Linux AMIs in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that is either running or stopped.

If you customized your instance with instance store volumes or EBS volumes in addition to the root device volume, the new AMI contains block device mapping information for those volumes. When you launch an instance from this new AMI, the instance automatically launches with those additional volumes.

For more information, see Creating Amazon EBS-Backed Linux AMIs in the Amazon Elastic Compute Cloud User Guide.

" }, "CreateInstanceExportTask":{ "name":"CreateInstanceExportTask", @@ -473,7 +523,7 @@ }, "input":{"shape":"CreateInstanceExportTaskRequest"}, "output":{"shape":"CreateInstanceExportTaskResult"}, - "documentation":"

Exports a running or stopped instance to an S3 bucket.

For information about the supported operating systems, image formats, and known limitations for the types of instances you can export, see Exporting an Instance as a VM Using VM Import/Export in the VM Import/Export User Guide.

" + "documentation":"

Exports a running or stopped instance to an S3 bucket.

For information about the supported operating systems, image formats, and known limitations for the types of instances you can export, see Exporting an Instance as a VM Using VM Import/Export in the VM Import/Export User Guide.

" }, "CreateInternetGateway":{ "name":"CreateInternetGateway", @@ -483,7 +533,7 @@ }, "input":{"shape":"CreateInternetGatewayRequest"}, "output":{"shape":"CreateInternetGatewayResult"}, - "documentation":"

Creates an internet gateway for use with a VPC. After creating the internet gateway, you attach it to a VPC using AttachInternetGateway.

For more information about your VPC and internet gateway, see the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Creates an internet gateway for use with a VPC. After creating the internet gateway, you attach it to a VPC using AttachInternetGateway.

For more information about your VPC and internet gateway, see the Amazon Virtual Private Cloud User Guide.

" }, "CreateKeyPair":{ "name":"CreateKeyPair", @@ -493,7 +543,7 @@ }, "input":{"shape":"CreateKeyPairRequest"}, "output":{"shape":"KeyPair"}, - "documentation":"

Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores the public key and displays the private key for you to save to a file. The private key is returned as an unencrypted PEM encoded PKCS#1 private key. If a key with the specified name already exists, Amazon EC2 returns an error.

You can have up to five thousand key pairs per region.

The key pair returned to you is available only in the region in which you create it. If you prefer, you can create your own key pair using a third-party tool and upload it to any region using ImportKeyPair.

For more information, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores the public key and displays the private key for you to save to a file. The private key is returned as an unencrypted PEM encoded PKCS#1 private key. If a key with the specified name already exists, Amazon EC2 returns an error.

You can have up to five thousand key pairs per Region.

The key pair returned to you is available only in the Region in which you create it. If you prefer, you can create your own key pair using a third-party tool and upload it to any Region using ImportKeyPair.

For more information, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" }, "CreateLaunchTemplate":{ "name":"CreateLaunchTemplate", @@ -523,7 +573,7 @@ }, "input":{"shape":"CreateNatGatewayRequest"}, "output":{"shape":"CreateNatGatewayResult"}, - "documentation":"

Creates a NAT gateway in the specified public subnet. This action creates a network interface in the specified subnet with a private IP address from the IP address range of the subnet. Internet-bound traffic from a private subnet can be routed to the NAT gateway, therefore enabling instances in the private subnet to connect to the internet. For more information, see NAT Gateways in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Creates a NAT gateway in the specified public subnet. This action creates a network interface in the specified subnet with a private IP address from the IP address range of the subnet. Internet-bound traffic from a private subnet can be routed to the NAT gateway, therefore enabling instances in the private subnet to connect to the internet. For more information, see NAT Gateways in the Amazon Virtual Private Cloud User Guide.

" }, "CreateNetworkAcl":{ "name":"CreateNetworkAcl", @@ -533,7 +583,7 @@ }, "input":{"shape":"CreateNetworkAclRequest"}, "output":{"shape":"CreateNetworkAclResult"}, - "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.

For more information, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" + "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.

For more information, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" }, "CreateNetworkAclEntry":{ "name":"CreateNetworkAclEntry", @@ -542,7 +592,7 @@ "requestUri":"/" }, "input":{"shape":"CreateNetworkAclEntryRequest"}, - "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 and a separate set of numbered egress rules. When determining whether a packet should be allowed in or out of a subnet associated 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 ingress rules and a separate set of egress rules.

We recommend that you leave room between the rule numbers (for example, 100, 110, 120, ...), and not number them one right after the other (for example, 101, 102, 103, ...). This makes it easier to add a rule between existing ones without having to renumber the rules.

After you add an entry, you can't modify it; you must either replace it, or create an entry and delete the old one.

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" + "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 and a separate set of numbered egress rules. When determining whether a packet should be allowed in or out of a subnet associated 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 ingress rules and a separate set of egress rules.

We recommend that you leave room between the rule numbers (for example, 100, 110, 120, ...), and not number them one right after the other (for example, 101, 102, 103, ...). This makes it easier to add a rule between existing ones without having to renumber the rules.

After you add an entry, you can't modify it; you must either replace it, or create an entry and delete the old one.

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" }, "CreateNetworkInterface":{ "name":"CreateNetworkInterface", @@ -552,7 +602,7 @@ }, "input":{"shape":"CreateNetworkInterfaceRequest"}, "output":{"shape":"CreateNetworkInterfaceResult"}, - "documentation":"

Creates a network interface in the specified subnet.

For more information about network interfaces, see Elastic Network Interfaces in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Creates a network interface in the specified subnet.

For more information about network interfaces, see Elastic Network Interfaces in the Amazon Virtual Private Cloud User Guide.

" }, "CreateNetworkInterfacePermission":{ "name":"CreateNetworkInterfacePermission", @@ -571,7 +621,7 @@ "requestUri":"/" }, "input":{"shape":"CreatePlacementGroupRequest"}, - "documentation":"

Creates a placement group in which to launch instances. The strategy of the placement group determines how the instances are organized within the group.

A cluster placement group is a logical grouping of instances within a single Availability Zone that benefit from low network latency, high network throughput. A spread placement group places instances on distinct hardware.

For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Creates a placement group in which to launch instances. The strategy of the placement group determines how the instances are organized within the group.

A cluster placement group is a logical grouping of instances within a single Availability Zone that benefit from low network latency, high network throughput. A spread placement group places instances on distinct hardware. A partition placement group places groups of instances in different partitions, where instances in one partition do not share the same hardware with instances in another partition.

For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide.

" }, "CreateReservedInstancesListing":{ "name":"CreateReservedInstancesListing", @@ -581,7 +631,7 @@ }, "input":{"shape":"CreateReservedInstancesListingRequest"}, "output":{"shape":"CreateReservedInstancesListingResult"}, - "documentation":"

Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in the Reserved Instance Marketplace. You can submit one Standard Reserved Instance listing at a time. To get a list of your Standard Reserved Instances, you can use the DescribeReservedInstances operation.

Only Standard Reserved Instances with a capacity reservation can be sold in the Reserved Instance Marketplace. Convertible Reserved Instances and Standard Reserved Instances with a regional benefit cannot be sold.

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.

To sell your Standard Reserved Instances, you must first register as a seller in the Reserved Instance Marketplace. After completing the registration process, you can create a Reserved Instance Marketplace listing of some or all of your Standard Reserved Instances, and specify the upfront price to receive for them. Your Standard Reserved Instance listings then become available for purchase. To view the details of your Standard Reserved Instance listing, you can use the DescribeReservedInstancesListings operation.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in the Reserved Instance Marketplace. You can submit one Standard Reserved Instance listing at a time. To get a list of your Standard Reserved Instances, you can use the DescribeReservedInstances operation.

Only Standard Reserved Instances can be sold in the Reserved Instance Marketplace. Convertible Reserved Instances cannot be sold.

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.

To sell your Standard Reserved Instances, you must first register as a seller in the Reserved Instance Marketplace. After completing the registration process, you can create a Reserved Instance Marketplace listing of some or all of your Standard Reserved Instances, and specify the upfront price to receive for them. Your Standard Reserved Instance listings then become available for purchase. To view the details of your Standard Reserved Instance listing, you can use the DescribeReservedInstancesListings operation.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" }, "CreateRoute":{ "name":"CreateRoute", @@ -591,7 +641,7 @@ }, "input":{"shape":"CreateRouteRequest"}, "output":{"shape":"CreateRouteResult"}, - "documentation":"

Creates a route in a route table within a VPC.

You must specify one of the following targets: internet gateway or virtual private gateway, NAT instance, NAT gateway, VPC peering connection, network interface, or egress-only internet gateway.

When determining how to route traffic, we use the route with the most specific match. For example, traffic is destined for the IPv4 address 192.0.2.3, and the route table includes the following two IPv4 routes:

  • 192.0.2.0/24 (goes to some target A)

  • 192.0.2.0/28 (goes to some target B)

Both routes apply to the traffic destined for 192.0.2.3. However, the second route in the list covers a smaller number of IP addresses and is therefore more specific, so we use that route to determine where to target the traffic.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Creates a route in a route table within a VPC.

You must specify one of the following targets: internet gateway or virtual private gateway, NAT instance, NAT gateway, VPC peering connection, network interface, or egress-only internet gateway.

When determining how to route traffic, we use the route with the most specific match. For example, traffic is destined for the IPv4 address 192.0.2.3, and the route table includes the following two IPv4 routes:

  • 192.0.2.0/24 (goes to some target A)

  • 192.0.2.0/28 (goes to some target B)

Both routes apply to the traffic destined for 192.0.2.3. However, the second route in the list covers a smaller number of IP addresses and is therefore more specific, so we use that route to determine where to target the traffic.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" }, "CreateRouteTable":{ "name":"CreateRouteTable", @@ -601,7 +651,7 @@ }, "input":{"shape":"CreateRouteTableRequest"}, "output":{"shape":"CreateRouteTableResult"}, - "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.

For more information, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" + "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.

For more information, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" }, "CreateSecurityGroup":{ "name":"CreateSecurityGroup", @@ -611,7 +661,7 @@ }, "input":{"shape":"CreateSecurityGroupRequest"}, "output":{"shape":"CreateSecurityGroupResult"}, - "documentation":"

Creates a security group.

A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

EC2-Classic: You can have up to 500 security groups.

EC2-VPC: You can create up to 500 security groups per VPC.

When you create a security group, you specify a friendly name of your choice. You can have a security group for use in EC2-Classic with the same name as a security group for use in a VPC. However, you can't have two security groups for use in EC2-Classic with the same name or two security groups for use in a VPC with the same name.

You have a default security group for use in EC2-Classic and a default security group for use in your VPC. If you don't specify a security group when you launch an instance, the instance is launched into the appropriate default security group. A default security group includes a default rule that grants instances unrestricted network access to each other.

You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress, AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.

" + "documentation":"

Creates a security group.

A security group acts as a virtual firewall for your instance to control inbound and outbound traffic. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

When you create a security group, you specify a friendly name of your choice. You can have a security group for use in EC2-Classic with the same name as a security group for use in a VPC. However, you can't have two security groups for use in EC2-Classic with the same name or two security groups for use in a VPC with the same name.

You have a default security group for use in EC2-Classic and a default security group for use in your VPC. If you don't specify a security group when you launch an instance, the instance is launched into the appropriate default security group. A default security group includes a default rule that grants instances unrestricted network access to each other.

You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress, AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.

For more information about VPC security group limits, see Amazon VPC Limits.

" }, "CreateSnapshot":{ "name":"CreateSnapshot", @@ -621,7 +671,17 @@ }, "input":{"shape":"CreateSnapshotRequest"}, "output":{"shape":"Snapshot"}, - "documentation":"

Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of EBS volumes, and to save data before shutting down an instance.

When a snapshot is created, any AWS Marketplace product codes that are associated with the source volume are propagated to the snapshot.

You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your EBS volume at the time the snapshot command is issued; this may exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending.

To create a snapshot for EBS volumes that serve as root devices, you should stop the instance before taking the snapshot.

Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected.

You can tag your snapshots during creation. For more information, see Tagging Your Amazon EC2 Resources in the Amazon Elastic Compute Cloud User Guide.

For more information, see Amazon Elastic Block Store and Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of EBS volumes, and to save data before shutting down an instance.

When a snapshot is created, any AWS Marketplace product codes that are associated with the source volume are propagated to the snapshot.

You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your EBS volume at the time the snapshot command is issued; this may exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending.

To create a snapshot for EBS volumes that serve as root devices, you should stop the instance before taking the snapshot.

Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected.

You can tag your snapshots during creation. For more information, see Tagging Your Amazon EC2 Resources in the Amazon Elastic Compute Cloud User Guide.

For more information, see Amazon Elastic Block Store and Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" + }, + "CreateSnapshots":{ + "name":"CreateSnapshots", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSnapshotsRequest"}, + "output":{"shape":"CreateSnapshotsResult"}, + "documentation":"

Creates crash-consistent snapshots of multiple EBS volumes and stores the data in S3. Volumes are chosen by specifying an instance. Any attached volumes will produce one snapshot each that is crash-consistent across the instance. Boot volumes can be excluded by changing the paramaters.

" }, "CreateSpotDatafeedSubscription":{ "name":"CreateSpotDatafeedSubscription", @@ -631,7 +691,7 @@ }, "input":{"shape":"CreateSpotDatafeedSubscriptionRequest"}, "output":{"shape":"CreateSpotDatafeedSubscriptionResult"}, - "documentation":"

Creates a data feed for Spot Instances, enabling you to view Spot Instance usage logs. You can create one data feed per AWS account. For more information, see Spot Instance Data Feed in the Amazon EC2 User Guide for Linux Instances.

" + "documentation":"

Creates a data feed for Spot Instances, enabling you to view Spot Instance usage logs. You can create one data feed per AWS account. For more information, see Spot Instance Data Feed in the Amazon EC2 User Guide for Linux Instances.

" }, "CreateSubnet":{ "name":"CreateSubnet", @@ -641,7 +701,7 @@ }, "input":{"shape":"CreateSubnetRequest"}, "output":{"shape":"CreateSubnetResult"}, - "documentation":"

Creates a subnet in an existing VPC.

When you create each subnet, you provide the VPC ID and IPv4 CIDR block for the subnet. After you create a subnet, you can't change its CIDR block. The size of the subnet's IPv4 CIDR block can be the same as a VPC's IPv4 CIDR block, or a subset of a VPC's IPv4 CIDR block. If you create more than one subnet in a VPC, the subnets' CIDR blocks must not overlap. The smallest IPv4 subnet (and VPC) you can create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16 netmask (65,536 IPv4 addresses).

If you've associated an IPv6 CIDR block with your VPC, you can create a subnet with an IPv6 CIDR block that uses a /64 prefix length.

AWS reserves both the first four and the last IPv4 address in each subnet's CIDR block. They're not available for use.

If you add more than one subnet to a VPC, they're set up in a star topology with a logical router in the middle.

If you launch an instance in a VPC using an Amazon EBS-backed AMI, the IP address doesn't change if you stop and restart the instance (unlike a similar instance launched outside a VPC, which gets a new IP address when restarted). It's therefore possible to have a subnet with no running instances (they're all stopped), but no remaining IP addresses available.

For more information about subnets, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Creates a subnet in an existing VPC.

When you create each subnet, you provide the VPC ID and IPv4 CIDR block for the subnet. After you create a subnet, you can't change its CIDR block. The size of the subnet's IPv4 CIDR block can be the same as a VPC's IPv4 CIDR block, or a subset of a VPC's IPv4 CIDR block. If you create more than one subnet in a VPC, the subnets' CIDR blocks must not overlap. The smallest IPv4 subnet (and VPC) you can create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16 netmask (65,536 IPv4 addresses).

If you've associated an IPv6 CIDR block with your VPC, you can create a subnet with an IPv6 CIDR block that uses a /64 prefix length.

AWS reserves both the first four and the last IPv4 address in each subnet's CIDR block. They're not available for use.

If you add more than one subnet to a VPC, they're set up in a star topology with a logical router in the middle.

If you launch an instance in a VPC using an Amazon EBS-backed AMI, the IP address doesn't change if you stop and restart the instance (unlike a similar instance launched outside a VPC, which gets a new IP address when restarted). It's therefore possible to have a subnet with no running instances (they're all stopped), but no remaining IP addresses available.

For more information about subnets, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

" }, "CreateTags":{ "name":"CreateTags", @@ -650,7 +710,7 @@ "requestUri":"/" }, "input":{"shape":"CreateTagsRequest"}, - "documentation":"

Adds or overwrites one or more tags for the specified Amazon EC2 resource or resources. Each resource can have a maximum of 50 tags. Each tag consists of a key and optional value. Tag keys must be unique per resource.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide. For more information about creating IAM policies that control users' access to resources based on tags, see Supported Resource-Level Permissions for Amazon EC2 API Actions in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Adds or overwrites the specified tags for the specified Amazon EC2 resource or resources. Each resource can have a maximum of 50 tags. Each tag consists of a key and optional value. Tag keys must be unique per resource.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide. For more information about creating IAM policies that control users' access to resources based on tags, see Supported Resource-Level Permissions for Amazon EC2 API Actions in the Amazon Elastic Compute Cloud User Guide.

" }, "CreateTransitGateway":{ "name":"CreateTransitGateway", @@ -700,7 +760,7 @@ }, "input":{"shape":"CreateVolumeRequest"}, "output":{"shape":"Volume"}, - "documentation":"

Creates an EBS volume that can be attached to an instance in the same Availability Zone. The volume is created in the regional endpoint that you send the HTTP request to. For more information see Regions and Endpoints.

You can create a new empty volume or restore a volume from an EBS snapshot. Any AWS Marketplace product codes from the snapshot are propagated to the volume.

You can create encrypted volumes with the Encrypted parameter. Encrypted volumes may only be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically encrypted. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

You can tag your volumes during creation. For more information, see Tagging Your Amazon EC2 Resources in the Amazon Elastic Compute Cloud User Guide.

For more information, see Creating an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Creates an EBS volume that can be attached to an instance in the same Availability Zone. The volume is created in the regional endpoint that you send the HTTP request to. For more information see Regions and Endpoints.

You can create a new empty volume or restore a volume from an EBS snapshot. Any AWS Marketplace product codes from the snapshot are propagated to the volume.

You can create encrypted volumes. Encrypted volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically encrypted. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

You can tag your volumes during creation. For more information, see Tagging Your Amazon EC2 Resources in the Amazon Elastic Compute Cloud User Guide.

For more information, see Creating an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

" }, "CreateVpc":{ "name":"CreateVpc", @@ -710,7 +770,7 @@ }, "input":{"shape":"CreateVpcRequest"}, "output":{"shape":"CreateVpcResult"}, - "documentation":"

Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16 netmask (65,536 IPv4 addresses). For more information about how large to make your VPC, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

You can optionally request an Amazon-provided IPv6 CIDR block for the VPC. The IPv6 CIDR block uses a /56 prefix length, and is allocated from Amazon's pool of IPv6 addresses. You cannot choose the IPv6 range for your VPC.

By default, each instance you launch in the VPC has the default DHCP options, which include only a default DNS server that we provide (AmazonProvidedDNS). For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

You can specify the instance tenancy value for the VPC when you create it. You can't change this value for the VPC after you create it. For more information, see Dedicated Instances in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16 netmask (65,536 IPv4 addresses). For more information about how large to make your VPC, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

You can optionally request an Amazon-provided IPv6 CIDR block for the VPC. The IPv6 CIDR block uses a /56 prefix length, and is allocated from Amazon's pool of IPv6 addresses. You cannot choose the IPv6 range for your VPC.

By default, each instance you launch in the VPC has the default DHCP options, which include only a default DNS server that we provide (AmazonProvidedDNS). For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

You can specify the instance tenancy value for the VPC when you create it. You can't change this value for the VPC after you create it. For more information, see Dedicated Instances in the Amazon Elastic Compute Cloud User Guide.

" }, "CreateVpcEndpoint":{ "name":"CreateVpcEndpoint", @@ -720,7 +780,7 @@ }, "input":{"shape":"CreateVpcEndpointRequest"}, "output":{"shape":"CreateVpcEndpointResult"}, - "documentation":"

Creates a VPC endpoint for a specified service. An endpoint enables you to create a private connection between your VPC and the service. The service may be provided by AWS, an AWS Marketplace partner, or another AWS account. For more information, see VPC Endpoints in the Amazon Virtual Private Cloud User Guide.

A gateway endpoint serves as a target for a route in your route table for traffic destined for the AWS service. You can specify an endpoint policy to attach to the endpoint that will control access to the service from your VPC. You can also specify the VPC route tables that use the endpoint.

An interface endpoint is a network interface in your subnet that serves as an endpoint for communicating with the specified service. You can specify the subnets in which to create an endpoint, and the security groups to associate with the endpoint network interface.

Use DescribeVpcEndpointServices to get a list of supported services.

" + "documentation":"

Creates a VPC endpoint for a specified service. An endpoint enables you to create a private connection between your VPC and the service. The service may be provided by AWS, an AWS Marketplace partner, or another AWS account. For more information, see VPC Endpoints in the Amazon Virtual Private Cloud User Guide.

A gateway endpoint serves as a target for a route in your route table for traffic destined for the AWS service. You can specify an endpoint policy to attach to the endpoint that will control access to the service from your VPC. You can also specify the VPC route tables that use the endpoint.

An interface endpoint is a network interface in your subnet that serves as an endpoint for communicating with the specified service. You can specify the subnets in which to create an endpoint, and the security groups to associate with the endpoint network interface.

Use DescribeVpcEndpointServices to get a list of supported services.

" }, "CreateVpcEndpointConnectionNotification":{ "name":"CreateVpcEndpointConnectionNotification", @@ -730,7 +790,7 @@ }, "input":{"shape":"CreateVpcEndpointConnectionNotificationRequest"}, "output":{"shape":"CreateVpcEndpointConnectionNotificationResult"}, - "documentation":"

Creates a connection notification for a specified VPC endpoint or VPC endpoint service. A connection notification notifies you of specific endpoint events. You must create an SNS topic to receive notifications. For more information, see Create a Topic in the Amazon Simple Notification Service Developer Guide.

You can create a connection notification for interface endpoints only.

" + "documentation":"

Creates a connection notification for a specified VPC endpoint or VPC endpoint service. A connection notification notifies you of specific endpoint events. You must create an SNS topic to receive notifications. For more information, see Create a Topic in the Amazon Simple Notification Service Developer Guide.

You can create a connection notification for interface endpoints only.

" }, "CreateVpcEndpointServiceConfiguration":{ "name":"CreateVpcEndpointServiceConfiguration", @@ -740,7 +800,7 @@ }, "input":{"shape":"CreateVpcEndpointServiceConfigurationRequest"}, "output":{"shape":"CreateVpcEndpointServiceConfigurationResult"}, - "documentation":"

Creates a VPC endpoint service configuration to which service consumers (AWS accounts, IAM users, and IAM roles) can connect. Service consumers can create an interface VPC endpoint to connect to your service.

To create an endpoint service configuration, you must first create a Network Load Balancer for your service. For more information, see VPC Endpoint Services in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Creates a VPC endpoint service configuration to which service consumers (AWS accounts, IAM users, and IAM roles) can connect. Service consumers can create an interface VPC endpoint to connect to your service.

To create an endpoint service configuration, you must first create a Network Load Balancer for your service. For more information, see VPC Endpoint Services in the Amazon Virtual Private Cloud User Guide.

" }, "CreateVpcPeeringConnection":{ "name":"CreateVpcPeeringConnection", @@ -750,7 +810,7 @@ }, "input":{"shape":"CreateVpcPeeringConnectionRequest"}, "output":{"shape":"CreateVpcPeeringConnectionResult"}, - "documentation":"

Requests a VPC peering connection between two VPCs: a requester VPC that you own and an accepter VPC with which to create the connection. The accepter VPC can belong to another AWS account and can be in a different Region to the requester VPC. The requester VPC and accepter VPC cannot have overlapping CIDR blocks.

Limitations and rules apply to a VPC peering connection. For more information, see the limitations section in the VPC Peering Guide.

The owner of the accepter VPC must accept the peering request to activate the peering connection. The VPC peering connection request expires after 7 days, after which it cannot be accepted or rejected.

If you create a VPC peering connection request between VPCs with overlapping CIDR blocks, the VPC peering connection has a status of failed.

" + "documentation":"

Requests a VPC peering connection between two VPCs: a requester VPC that you own and an accepter VPC with which to create the connection. The accepter VPC can belong to another AWS account and can be in a different Region to the requester VPC. The requester VPC and accepter VPC cannot have overlapping CIDR blocks.

Limitations and rules apply to a VPC peering connection. For more information, see the limitations section in the VPC Peering Guide.

The owner of the accepter VPC must accept the peering request to activate the peering connection. The VPC peering connection request expires after 7 days, after which it cannot be accepted or rejected.

If you create a VPC peering connection request between VPCs with overlapping CIDR blocks, the VPC peering connection has a status of failed.

" }, "CreateVpnConnection":{ "name":"CreateVpnConnection", @@ -760,7 +820,7 @@ }, "input":{"shape":"CreateVpnConnectionRequest"}, "output":{"shape":"CreateVpnConnectionResult"}, - "documentation":"

Creates a VPN connection between an existing virtual private gateway and a VPN customer gateway. The only supported connection type is ipsec.1.

The response includes information that you need to give to your network administrator to configure your customer gateway.

We strongly recommend that you use HTTPS when calling this operation because the response contains sensitive cryptographic information for configuring your customer gateway.

If you decide to shut down your VPN connection for any reason and later create a new VPN connection, you must reconfigure your customer gateway with the new information returned from this call.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

For more information, see AWS Managed VPN Connections in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Creates a VPN connection between an existing virtual private gateway and a VPN customer gateway. The supported connection types are ipsec.1 and ipsec.2.

The response includes information that you need to give to your network administrator to configure your customer gateway.

We strongly recommend that you use HTTPS when calling this operation because the response contains sensitive cryptographic information for configuring your customer gateway.

If you decide to shut down your VPN connection for any reason and later create a new VPN connection, you must reconfigure your customer gateway with the new information returned from this call.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.

" }, "CreateVpnConnectionRoute":{ "name":"CreateVpnConnectionRoute", @@ -769,7 +829,7 @@ "requestUri":"/" }, "input":{"shape":"CreateVpnConnectionRouteRequest"}, - "documentation":"

Creates a static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

For more information about VPN connections, see AWS Managed VPN Connections in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Creates a static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.

" }, "CreateVpnGateway":{ "name":"CreateVpnGateway", @@ -779,7 +839,27 @@ }, "input":{"shape":"CreateVpnGatewayRequest"}, "output":{"shape":"CreateVpnGatewayResult"}, - "documentation":"

Creates a virtual private gateway. A virtual private gateway is the endpoint on the VPC side of your VPN connection. You can create a virtual private gateway before creating the VPC itself.

For more information about virtual private gateways, see AWS Managed VPN Connections in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Creates a virtual private gateway. A virtual private gateway is the endpoint on the VPC side of your VPN connection. You can create a virtual private gateway before creating the VPC itself.

For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.

" + }, + "DeleteClientVpnEndpoint":{ + "name":"DeleteClientVpnEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteClientVpnEndpointRequest"}, + "output":{"shape":"DeleteClientVpnEndpointResult"}, + "documentation":"

Deletes the specified Client VPN endpoint. You must disassociate all target networks before you can delete a Client VPN endpoint.

" + }, + "DeleteClientVpnRoute":{ + "name":"DeleteClientVpnRoute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteClientVpnRouteRequest"}, + "output":{"shape":"DeleteClientVpnRouteResult"}, + "documentation":"

Deletes a route from a Client VPN endpoint. You can only delete routes that you manually added using the CreateClientVpnRoute action. You cannot delete routes that were automatically added when associating a subnet. To remove routes that have been automatically added, disassociate the target subnet from the Client VPN endpoint.

" }, "DeleteCustomerGateway":{ "name":"DeleteCustomerGateway", @@ -931,7 +1011,7 @@ "requestUri":"/" }, "input":{"shape":"DeletePlacementGroupRequest"}, - "documentation":"

Deletes the specified placement group. You must terminate all instances in the placement group before you can delete the placement group. For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Deletes the specified placement group. You must terminate all instances in the placement group before you can delete the placement group. For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide.

" }, "DeleteRoute":{ "name":"DeleteRoute", @@ -967,7 +1047,7 @@ "requestUri":"/" }, "input":{"shape":"DeleteSnapshotRequest"}, - "documentation":"

Deletes the specified snapshot.

When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume.

You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI. You must first de-register the AMI before you can delete the snapshot.

For more information, see Deleting an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Deletes the specified snapshot.

When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume.

You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI. You must first de-register the AMI before you can delete the snapshot.

For more information, see Deleting an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide.

" }, "DeleteSpotDatafeedSubscription":{ "name":"DeleteSpotDatafeedSubscription", @@ -994,7 +1074,7 @@ "requestUri":"/" }, "input":{"shape":"DeleteTagsRequest"}, - "documentation":"

Deletes the specified set of tags from the specified set of resources.

To list the current tags, use DescribeTags. For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Deletes the specified set of tags from the specified set of resources.

To list the current tags, use DescribeTags. For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide.

" }, "DeleteTransitGateway":{ "name":"DeleteTransitGateway", @@ -1043,7 +1123,7 @@ "requestUri":"/" }, "input":{"shape":"DeleteVolumeRequest"}, - "documentation":"

Deletes the specified EBS volume. The volume must be in the available state (not attached to an instance).

The volume can remain in the deleting state for several minutes.

For more information, see Deleting an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Deletes the specified EBS volume. The volume must be in the available state (not attached to an instance).

The volume can remain in the deleting state for several minutes.

For more information, see Deleting an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

" }, "DeleteVpc":{ "name":"DeleteVpc", @@ -1158,7 +1238,7 @@ }, "input":{"shape":"DescribeAddressesRequest"}, "output":{"shape":"DescribeAddressesResult"}, - "documentation":"

Describes one or more of your Elastic IP addresses.

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

" + "documentation":"

Describes the specified Elastic IP addresses or all of your Elastic IP addresses.

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

" }, "DescribeAggregateIdFormat":{ "name":"DescribeAggregateIdFormat", @@ -1168,7 +1248,7 @@ }, "input":{"shape":"DescribeAggregateIdFormatRequest"}, "output":{"shape":"DescribeAggregateIdFormatResult"}, - "documentation":"

Describes the longer ID format settings for all resource types in a specific region. This request is useful for performing a quick audit to determine whether a specific region is fully opted in for longer IDs (17-character IDs).

This request only returns information about resource types that support longer IDs.

The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

" + "documentation":"

Describes the longer ID format settings for all resource types in a specific Region. This request is useful for performing a quick audit to determine whether a specific Region is fully opted in for longer IDs (17-character IDs).

This request only returns information about resource types that support longer IDs.

The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

" }, "DescribeAvailabilityZones":{ "name":"DescribeAvailabilityZones", @@ -1178,7 +1258,7 @@ }, "input":{"shape":"DescribeAvailabilityZonesRequest"}, "output":{"shape":"DescribeAvailabilityZonesResult"}, - "documentation":"

Describes one or more of the Availability Zones that are available to you. The results include zones only for the region you're currently using. If there is an event impacting an Availability Zone, you can use this request to view the state and any provided message for that Availability Zone.

For more information, see Regions and Availability Zones in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Describes the Availability Zones that are available to you. The results include zones only for the Region you're currently using. If there is an event impacting an Availability Zone, you can use this request to view the state and any provided message for that Availability Zone.

For more information, see Regions and Availability Zones in the Amazon Elastic Compute Cloud User Guide.

" }, "DescribeBundleTasks":{ "name":"DescribeBundleTasks", @@ -1188,7 +1268,7 @@ }, "input":{"shape":"DescribeBundleTasksRequest"}, "output":{"shape":"DescribeBundleTasksResult"}, - "documentation":"

Describes one or more of your bundling tasks.

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.

" + "documentation":"

Describes the specified bundle tasks or all of your bundle tasks.

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.

" }, "DescribeByoipCidrs":{ "name":"DescribeByoipCidrs", @@ -1220,6 +1300,56 @@ "output":{"shape":"DescribeClassicLinkInstancesResult"}, "documentation":"

Describes one or more of your linked EC2-Classic instances. This request only returns information about EC2-Classic instances linked to a VPC through ClassicLink. You cannot use this request to return information about other instances.

" }, + "DescribeClientVpnAuthorizationRules":{ + "name":"DescribeClientVpnAuthorizationRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeClientVpnAuthorizationRulesRequest"}, + "output":{"shape":"DescribeClientVpnAuthorizationRulesResult"}, + "documentation":"

Describes the authorization rules for a specified Client VPN endpoint.

" + }, + "DescribeClientVpnConnections":{ + "name":"DescribeClientVpnConnections", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeClientVpnConnectionsRequest"}, + "output":{"shape":"DescribeClientVpnConnectionsResult"}, + "documentation":"

Describes active client connections and connections that have been terminated within the last 60 minutes for the specified Client VPN endpoint.

" + }, + "DescribeClientVpnEndpoints":{ + "name":"DescribeClientVpnEndpoints", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeClientVpnEndpointsRequest"}, + "output":{"shape":"DescribeClientVpnEndpointsResult"}, + "documentation":"

Describes one or more Client VPN endpoints in the account.

" + }, + "DescribeClientVpnRoutes":{ + "name":"DescribeClientVpnRoutes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeClientVpnRoutesRequest"}, + "output":{"shape":"DescribeClientVpnRoutesResult"}, + "documentation":"

Describes the routes for the specified Client VPN endpoint.

" + }, + "DescribeClientVpnTargetNetworks":{ + "name":"DescribeClientVpnTargetNetworks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeClientVpnTargetNetworksRequest"}, + "output":{"shape":"DescribeClientVpnTargetNetworksResult"}, + "documentation":"

Describes the target networks associated with the specified Client VPN endpoint.

" + }, "DescribeConversionTasks":{ "name":"DescribeConversionTasks", "http":{ @@ -1228,7 +1358,7 @@ }, "input":{"shape":"DescribeConversionTasksRequest"}, "output":{"shape":"DescribeConversionTasksResult"}, - "documentation":"

Describes one or more of your conversion tasks. For more information, see the VM Import/Export User Guide.

For information about the import manifest referenced by this API action, see VM Import Manifest.

" + "documentation":"

Describes the specified conversion tasks or all your conversion tasks. For more information, see the VM Import/Export User Guide.

For information about the import manifest referenced by this API action, see VM Import Manifest.

" }, "DescribeCustomerGateways":{ "name":"DescribeCustomerGateways", @@ -1238,7 +1368,7 @@ }, "input":{"shape":"DescribeCustomerGatewaysRequest"}, "output":{"shape":"DescribeCustomerGatewaysResult"}, - "documentation":"

Describes one or more of your VPN customer gateways.

For more information about VPN customer gateways, see AWS Managed VPN Connections in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Describes one or more of your VPN customer gateways.

For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.

" }, "DescribeDhcpOptions":{ "name":"DescribeDhcpOptions", @@ -1248,7 +1378,7 @@ }, "input":{"shape":"DescribeDhcpOptionsRequest"}, "output":{"shape":"DescribeDhcpOptionsResult"}, - "documentation":"

Describes one or more of your DHCP options sets.

For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Describes one or more of your DHCP options sets.

For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" }, "DescribeEgressOnlyInternetGateways":{ "name":"DescribeEgressOnlyInternetGateways", @@ -1268,7 +1398,7 @@ }, "input":{"shape":"DescribeElasticGpusRequest"}, "output":{"shape":"DescribeElasticGpusResult"}, - "documentation":"

Describes the Elastic Graphics accelerator associated with your instances. For more information about Elastic Graphics, see Amazon Elastic Graphics.

" + "documentation":"

Describes the Elastic Graphics accelerator associated with your instances. For more information about Elastic Graphics, see Amazon Elastic Graphics.

" }, "DescribeExportTasks":{ "name":"DescribeExportTasks", @@ -1278,7 +1408,7 @@ }, "input":{"shape":"DescribeExportTasksRequest"}, "output":{"shape":"DescribeExportTasksResult"}, - "documentation":"

Describes one or more of your export tasks.

" + "documentation":"

Describes the specified export tasks or all your export tasks.

" }, "DescribeFleetHistory":{ "name":"DescribeFleetHistory", @@ -1308,7 +1438,7 @@ }, "input":{"shape":"DescribeFleetsRequest"}, "output":{"shape":"DescribeFleetsResult"}, - "documentation":"

Describes one or more of your EC2 Fleets.

" + "documentation":"

Describes the specified EC2 Fleets or all your EC2 Fleets.

" }, "DescribeFlowLogs":{ "name":"DescribeFlowLogs", @@ -1338,7 +1468,7 @@ }, "input":{"shape":"DescribeFpgaImagesRequest"}, "output":{"shape":"DescribeFpgaImagesResult"}, - "documentation":"

Describes one or more available Amazon FPGA Images (AFIs). These include public AFIs, private AFIs that you own, and AFIs owned by other AWS accounts for which you have load permissions.

" + "documentation":"

Describes the Amazon FPGA Images (AFIs) available to you. These include public AFIs, private AFIs that you own, and AFIs owned by other AWS accounts for which you have load permissions.

" }, "DescribeHostReservationOfferings":{ "name":"DescribeHostReservationOfferings", @@ -1348,7 +1478,7 @@ }, "input":{"shape":"DescribeHostReservationOfferingsRequest"}, "output":{"shape":"DescribeHostReservationOfferingsResult"}, - "documentation":"

Describes the Dedicated Host reservations that are available to purchase.

The results describe all the Dedicated Host reservation offerings, including offerings that may not match the instance family and region of your Dedicated Hosts. When purchasing an offering, ensure that the instance family and Region of the offering matches that of the Dedicated Hosts with which it is to be associated. For more information about supported instance types, see Dedicated Hosts Overview in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Describes the Dedicated Host reservations that are available to purchase.

The results describe all the Dedicated Host reservation offerings, including offerings that may not match the instance family and Region of your Dedicated Hosts. When purchasing an offering, ensure that the instance family and Region of the offering matches that of the Dedicated Hosts with which it is to be associated. For more information about supported instance types, see Dedicated Hosts Overview in the Amazon Elastic Compute Cloud User Guide.

" }, "DescribeHostReservations":{ "name":"DescribeHostReservations", @@ -1368,7 +1498,7 @@ }, "input":{"shape":"DescribeHostsRequest"}, "output":{"shape":"DescribeHostsResult"}, - "documentation":"

Describes one or more of your Dedicated Hosts.

The results describe only the Dedicated Hosts in the region you're currently using. All listed instances consume capacity on your Dedicated Host. Dedicated Hosts that have recently been released are listed with the state released.

" + "documentation":"

Describes the specified Dedicated Hosts or all your Dedicated Hosts.

The results describe only the Dedicated Hosts in the Region you're currently using. All listed instances consume capacity on your Dedicated Host. Dedicated Hosts that have recently been released are listed with the state released.

" }, "DescribeIamInstanceProfileAssociations":{ "name":"DescribeIamInstanceProfileAssociations", @@ -1388,7 +1518,7 @@ }, "input":{"shape":"DescribeIdFormatRequest"}, "output":{"shape":"DescribeIdFormatResult"}, - "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.

The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

These settings apply to the IAM user who makes the request; they do not apply to the entire AWS account. By default, an IAM user defaults to the same settings as the root user, unless they explicitly override the settings by running the ModifyIdFormat command. Resources created with longer IDs are visible to all IAM users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

" + "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.

The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

These settings apply to the IAM user who makes the request; they do not apply to the entire AWS account. By default, an IAM user defaults to the same settings as the root user, unless they explicitly override the settings by running the ModifyIdFormat command. Resources created with longer IDs are visible to all IAM users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

" }, "DescribeIdentityIdFormat":{ "name":"DescribeIdentityIdFormat", @@ -1398,7 +1528,7 @@ }, "input":{"shape":"DescribeIdentityIdFormatRequest"}, "output":{"shape":"DescribeIdentityIdFormatResult"}, - "documentation":"

Describes the ID format settings for resources for the specified IAM user, IAM role, or root user. For example, you can view the resource types that 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. For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

These settings apply to the principal specified in the request. They do not apply to the principal that makes the request.

" + "documentation":"

Describes the ID format settings for resources for the specified IAM user, IAM role, or root user. For example, you can view the resource types that 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. For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

These settings apply to the principal specified in the request. They do not apply to the principal that makes the request.

" }, "DescribeImageAttribute":{ "name":"DescribeImageAttribute", @@ -1418,7 +1548,7 @@ }, "input":{"shape":"DescribeImagesRequest"}, "output":{"shape":"DescribeImagesResult"}, - "documentation":"

Describes one or more of the images (AMIs, AKIs, and ARIs) available to you. Images available to you include public images, private images that you own, and private images owned by other AWS accounts but for which you have explicit launch permissions.

Deregistered images are included in the returned results for an unspecified interval after deregistration.

" + "documentation":"

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

The images available to you include public images, private images that you own, and private images owned by other AWS accounts for which you have explicit launch permissions.

Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image results in an error indicating that the AMI ID cannot be found.

" }, "DescribeImportImageTasks":{ "name":"DescribeImportImageTasks", @@ -1458,7 +1588,7 @@ }, "input":{"shape":"DescribeInstanceCreditSpecificationsRequest"}, "output":{"shape":"DescribeInstanceCreditSpecificationsResult"}, - "documentation":"

Describes the credit option for CPU usage of one or more of your T2 or T3 instances. The credit options are standard and unlimited.

If you do not specify an instance ID, Amazon EC2 returns T2 and T3 instances with the unlimited credit option, as well as instances that were previously configured as T2 or T3 with the unlimited credit option. For example, if you resize a T2 instance, while it is configured as unlimited, to an M4 instance, Amazon EC2 returns the M4 instance.

If you specify one or more instance IDs, Amazon EC2 returns the credit option (standard or unlimited) of those instances. If you specify an instance ID that is not valid, such as an instance that is not a T2 or T3 instance, an error is returned.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If an Availability Zone is experiencing a service disruption and you specify instance IDs in the affected zone, or do not specify any instance IDs at all, the call fails. If you specify only instance IDs in an unaffected zone, the call works normally.

For more information, see Burstable Performance Instances in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Describes the credit option for CPU usage of the specified T2 or T3 instances. The credit options are standard and unlimited.

If you do not specify an instance ID, Amazon EC2 returns T2 and T3 instances with the unlimited credit option, as well as instances that were previously configured as T2 or T3 with the unlimited credit option. For example, if you resize a T2 instance, while it is configured as unlimited, to an M4 instance, Amazon EC2 returns the M4 instance.

If you specify one or more instance IDs, Amazon EC2 returns the credit option (standard or unlimited) of those instances. If you specify an instance ID that is not valid, such as an instance that is not a T2 or T3 instance, an error is returned.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If an Availability Zone is experiencing a service disruption and you specify instance IDs in the affected zone, or do not specify any instance IDs at all, the call fails. If you specify only instance IDs in an unaffected zone, the call works normally.

For more information, see Burstable Performance Instances in the Amazon Elastic Compute Cloud User Guide.

" }, "DescribeInstanceStatus":{ "name":"DescribeInstanceStatus", @@ -1468,7 +1598,7 @@ }, "input":{"shape":"DescribeInstanceStatusRequest"}, "output":{"shape":"DescribeInstanceStatusResult"}, - "documentation":"

Describes the status of one or more instances. By default, only running instances are described, unless you specifically indicate to return the status of all instances.

Instance status includes the following components:

  • Status checks - Amazon EC2 performs status checks on running EC2 instances to identify hardware and software issues. For more information, see Status Checks for Your Instances and Troubleshooting Instances with Failed Status Checks in the Amazon Elastic Compute Cloud User Guide.

  • Scheduled events - Amazon EC2 can schedule events (such as reboot, stop, or terminate) for your instances related to hardware issues, software updates, or system maintenance. For more information, see Scheduled Events for Your Instances in the Amazon Elastic Compute Cloud User Guide.

  • Instance state - You can manage your instances from the moment you launch them through their termination. For more information, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Describes the status of the specified instances or all of your instances. By default, only running instances are described, unless you specifically indicate to return the status of all instances.

Instance status includes the following components:

  • Status checks - Amazon EC2 performs status checks on running EC2 instances to identify hardware and software issues. For more information, see Status Checks for Your Instances and Troubleshooting Instances with Failed Status Checks in the Amazon Elastic Compute Cloud User Guide.

  • Scheduled events - Amazon EC2 can schedule events (such as reboot, stop, or terminate) for your instances related to hardware issues, software updates, or system maintenance. For more information, see Scheduled Events for Your Instances in the Amazon Elastic Compute Cloud User Guide.

  • Instance state - You can manage your instances from the moment you launch them through their termination. For more information, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

" }, "DescribeInstances":{ "name":"DescribeInstances", @@ -1478,7 +1608,7 @@ }, "input":{"shape":"DescribeInstancesRequest"}, "output":{"shape":"DescribeInstancesResult"}, - "documentation":"

Describes one or more of your instances.

If you specify one or more instance IDs, Amazon EC2 returns information for those instances. If you do not specify instance IDs, Amazon EC2 returns information for all relevant instances. If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the returned results.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

" + "documentation":"

Describes the specified instances or all of your instances.

If you specify one or more instance IDs, Amazon EC2 returns information for those instances. If you do not specify instance IDs, Amazon EC2 returns information for all relevant instances. If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the returned results.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

" }, "DescribeInternetGateways":{ "name":"DescribeInternetGateways", @@ -1498,7 +1628,7 @@ }, "input":{"shape":"DescribeKeyPairsRequest"}, "output":{"shape":"DescribeKeyPairsResult"}, - "documentation":"

Describes one or more of your key pairs.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Describes the specified key pairs or all of your key pairs.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" }, "DescribeLaunchTemplateVersions":{ "name":"DescribeLaunchTemplateVersions", @@ -1548,7 +1678,7 @@ }, "input":{"shape":"DescribeNetworkAclsRequest"}, "output":{"shape":"DescribeNetworkAclsResult"}, - "documentation":"

Describes one or more of your network ACLs.

For more information, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Describes one or more of your network ACLs.

For more information, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" }, "DescribeNetworkInterfaceAttribute":{ "name":"DescribeNetworkInterfaceAttribute", @@ -1588,7 +1718,7 @@ }, "input":{"shape":"DescribePlacementGroupsRequest"}, "output":{"shape":"DescribePlacementGroupsResult"}, - "documentation":"

Describes one or more of your placement groups. For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Describes the specified placement groups or all of your placement groups. For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide.

" }, "DescribePrefixLists":{ "name":"DescribePrefixLists", @@ -1628,7 +1758,7 @@ }, "input":{"shape":"DescribeRegionsRequest"}, "output":{"shape":"DescribeRegionsResult"}, - "documentation":"

Describes one or more regions that are currently available to you.

For a list of the regions supported by Amazon EC2, see Regions and Endpoints.

" + "documentation":"

Describes the Regions that are currently available to you. The API returns a list of all the Regions, including Regions that are disabled for your account. For information about enabling Regions for your account, see Enabling and Disabling Regions in the AWS Billing and Cost Management User Guide.

For a list of the Regions supported by Amazon EC2, see Regions and Endpoints.

" }, "DescribeReservedInstances":{ "name":"DescribeReservedInstances", @@ -1638,7 +1768,7 @@ }, "input":{"shape":"DescribeReservedInstancesRequest"}, "output":{"shape":"DescribeReservedInstancesResult"}, - "documentation":"

Describes one or more of the Reserved Instances that you purchased.

For more information about Reserved Instances, see Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Describes one or more of the Reserved Instances that you purchased.

For more information about Reserved Instances, see Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" }, "DescribeReservedInstancesListings":{ "name":"DescribeReservedInstancesListings", @@ -1648,7 +1778,7 @@ }, "input":{"shape":"DescribeReservedInstancesListingsRequest"}, "output":{"shape":"DescribeReservedInstancesListingsResult"}, - "documentation":"

Describes your account's Reserved Instance listings in the Reserved Instance Marketplace.

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.

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.

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.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Describes your account's Reserved Instance listings in the Reserved Instance Marketplace.

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.

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.

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.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" }, "DescribeReservedInstancesModifications":{ "name":"DescribeReservedInstancesModifications", @@ -1658,7 +1788,7 @@ }, "input":{"shape":"DescribeReservedInstancesModificationsRequest"}, "output":{"shape":"DescribeReservedInstancesModificationsResult"}, - "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.

For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" + "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.

For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" }, "DescribeReservedInstancesOfferings":{ "name":"DescribeReservedInstancesOfferings", @@ -1668,7 +1798,7 @@ }, "input":{"shape":"DescribeReservedInstancesOfferingsRequest"}, "output":{"shape":"DescribeReservedInstancesOfferingsResult"}, - "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.

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.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" + "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.

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.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" }, "DescribeRouteTables":{ "name":"DescribeRouteTables", @@ -1678,7 +1808,7 @@ }, "input":{"shape":"DescribeRouteTablesRequest"}, "output":{"shape":"DescribeRouteTablesResult"}, - "documentation":"

Describes one or more of your route tables.

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.

For more information, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Describes one or more of your route tables.

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.

For more information, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" }, "DescribeScheduledInstanceAvailability":{ "name":"DescribeScheduledInstanceAvailability", @@ -1698,7 +1828,7 @@ }, "input":{"shape":"DescribeScheduledInstancesRequest"}, "output":{"shape":"DescribeScheduledInstancesResult"}, - "documentation":"

Describes one or more of your Scheduled Instances.

" + "documentation":"

Describes the specified Scheduled Instances or all your Scheduled Instances.

" }, "DescribeSecurityGroupReferences":{ "name":"DescribeSecurityGroupReferences", @@ -1708,7 +1838,7 @@ }, "input":{"shape":"DescribeSecurityGroupReferencesRequest"}, "output":{"shape":"DescribeSecurityGroupReferencesResult"}, - "documentation":"

[EC2-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.

" + "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.

" }, "DescribeSecurityGroups":{ "name":"DescribeSecurityGroups", @@ -1718,7 +1848,7 @@ }, "input":{"shape":"DescribeSecurityGroupsRequest"}, "output":{"shape":"DescribeSecurityGroupsResult"}, - "documentation":"

Describes one or more of your security groups.

A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Describes the specified security groups or all of your security groups.

A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

" }, "DescribeSnapshotAttribute":{ "name":"DescribeSnapshotAttribute", @@ -1728,7 +1858,7 @@ }, "input":{"shape":"DescribeSnapshotAttributeRequest"}, "output":{"shape":"DescribeSnapshotAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified snapshot. You can specify only one attribute at a time.

For more information about EBS snapshots, see Amazon EBS Snapshots in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Describes the specified attribute of the specified snapshot. You can specify only one attribute at a time.

For more information about EBS snapshots, see Amazon EBS Snapshots in the Amazon Elastic Compute Cloud User Guide.

" }, "DescribeSnapshots":{ "name":"DescribeSnapshots", @@ -1738,7 +1868,7 @@ }, "input":{"shape":"DescribeSnapshotsRequest"}, "output":{"shape":"DescribeSnapshotsResult"}, - "documentation":"

Describes one or more of the EBS snapshots available to you. Available snapshots include public snapshots available for any AWS account to launch, private snapshots that you own, and private snapshots owned by another AWS account but for which you've been given explicit create volume permissions.

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All AWS accounts have create volume permissions for these snapshots.

  • explicit: The owner of the snapshot granted create volume permissions to a specific AWS account.

  • implicit: An AWS account has implicit create volume permissions for all snapshots it owns.

The list of snapshots returned can be modified by specifying snapshot IDs, snapshot owners, or AWS accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners using the OwnerIds option, only snapshots from the specified owners and for which you have access are returned. The results can include the AWS account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify AWS account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, you can paginate the output to make the list more manageable. The MaxResults parameter sets the maximum number of results returned in a single page. If the list of results exceeds your MaxResults value, then that number of results is returned along with a NextToken value that can be passed to a subsequent DescribeSnapshots request to retrieve the remaining results.

For more information about EBS snapshots, see Amazon EBS Snapshots in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Describes the specified EBS snapshots available to you or all of the EBS snapshots available to you.

The snapshots available to you include public snapshots, private snapshots that you own, and private snapshots owned by other AWS accounts for which you have explicit create volume permissions.

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All AWS accounts have create volume permissions for these snapshots.

  • explicit: The owner of the snapshot granted create volume permissions to a specific AWS account.

  • implicit: An AWS account has implicit create volume permissions for all snapshots it owns.

The list of snapshots returned can be modified by specifying snapshot IDs, snapshot owners, or AWS accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners using the OwnerIds option, only snapshots from the specified owners and for which you have access are returned. The results can include the AWS account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify AWS account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, you can paginate the output to make the list more manageable. The MaxResults parameter sets the maximum number of results returned in a single page. If the list of results exceeds your MaxResults value, then that number of results is returned along with a NextToken value that can be passed to a subsequent DescribeSnapshots request to retrieve the remaining results.

For more information about EBS snapshots, see Amazon EBS Snapshots in the Amazon Elastic Compute Cloud User Guide.

" }, "DescribeSpotDatafeedSubscription":{ "name":"DescribeSpotDatafeedSubscription", @@ -1748,7 +1878,7 @@ }, "input":{"shape":"DescribeSpotDatafeedSubscriptionRequest"}, "output":{"shape":"DescribeSpotDatafeedSubscriptionResult"}, - "documentation":"

Describes the data feed for Spot Instances. For more information, see Spot Instance Data Feed in the Amazon EC2 User Guide for Linux Instances.

" + "documentation":"

Describes the data feed for Spot Instances. For more information, see Spot Instance Data Feed in the Amazon EC2 User Guide for Linux Instances.

" }, "DescribeSpotFleetInstances":{ "name":"DescribeSpotFleetInstances", @@ -1788,7 +1918,7 @@ }, "input":{"shape":"DescribeSpotInstanceRequestsRequest"}, "output":{"shape":"DescribeSpotInstanceRequestsResult"}, - "documentation":"

Describes the specified Spot Instance requests.

You can use DescribeSpotInstanceRequests to find a running Spot Instance by examining the response. If the status of the Spot Instance is fulfilled, the instance ID appears in the response and contains the identifier of the instance. Alternatively, you can use DescribeInstances with a filter to look for instances where the instance lifecycle is spot.

Spot Instance requests are deleted four hours after they are canceled and their instances are terminated.

" + "documentation":"

Describes the specified Spot Instance requests.

You can use DescribeSpotInstanceRequests to find a running Spot Instance by examining the response. If the status of the Spot Instance is fulfilled, the instance ID appears in the response and contains the identifier of the instance. Alternatively, you can use DescribeInstances with a filter to look for instances where the instance lifecycle is spot.

We recommend that you set MaxResults to a value between 5 and 1000 to limit the number of results returned. This paginates the output, which makes the list more manageable and returns the results faster. If the list of results exceeds your MaxResults value, then that number of results is returned along with a NextToken value that can be passed to a subsequent DescribeSpotInstanceRequests request to retrieve the remaining results.

Spot Instance requests are deleted four hours after they are canceled and their instances are terminated.

" }, "DescribeSpotPriceHistory":{ "name":"DescribeSpotPriceHistory", @@ -1798,7 +1928,7 @@ }, "input":{"shape":"DescribeSpotPriceHistoryRequest"}, "output":{"shape":"DescribeSpotPriceHistoryResult"}, - "documentation":"

Describes the Spot price history. For more information, see Spot Instance Pricing History in the Amazon EC2 User Guide for Linux Instances.

When you specify a start and end time, this operation returns the prices of the instance types within the time range that you specified and the time when the price changed. The price is valid within the time period that you specified; the response merely indicates the last time that the price changed.

" + "documentation":"

Describes the Spot price history. For more information, see Spot Instance Pricing History in the Amazon EC2 User Guide for Linux Instances.

When you specify a start and end time, this operation returns the prices of the instance types within the time range that you specified and the time when the price changed. The price is valid within the time period that you specified; the response merely indicates the last time that the price changed.

" }, "DescribeStaleSecurityGroups":{ "name":"DescribeStaleSecurityGroups", @@ -1808,7 +1938,7 @@ }, "input":{"shape":"DescribeStaleSecurityGroupsRequest"}, "output":{"shape":"DescribeStaleSecurityGroupsResult"}, - "documentation":"

[EC2-VPC only] Describes the stale security group rules for security groups in a specified VPC. Rules are stale when they reference a deleted security group in a peer VPC, or a security group in a peer VPC for which the VPC peering connection has been deleted.

" + "documentation":"

[VPC only] Describes the stale security group rules for security groups in a specified VPC. Rules are stale when they reference a deleted security group in a peer VPC, or a security group in a peer VPC for which the VPC peering connection has been deleted.

" }, "DescribeSubnets":{ "name":"DescribeSubnets", @@ -1818,7 +1948,7 @@ }, "input":{"shape":"DescribeSubnetsRequest"}, "output":{"shape":"DescribeSubnetsResult"}, - "documentation":"

Describes one or more of your subnets.

For more information, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Describes one or more of your subnets.

For more information, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

" }, "DescribeTags":{ "name":"DescribeTags", @@ -1828,7 +1958,7 @@ }, "input":{"shape":"DescribeTagsRequest"}, "output":{"shape":"DescribeTagsResult"}, - "documentation":"

Describes one or more of the tags for your EC2 resources.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Describes the specified tags for your EC2 resources.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide.

" }, "DescribeTransitGatewayAttachments":{ "name":"DescribeTransitGatewayAttachments", @@ -1878,7 +2008,7 @@ }, "input":{"shape":"DescribeVolumeAttributeRequest"}, "output":{"shape":"DescribeVolumeAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified volume. You can specify only one attribute at a time.

For more information about EBS volumes, see Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Describes the specified attribute of the specified volume. You can specify only one attribute at a time.

For more information about EBS volumes, see Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.

" }, "DescribeVolumeStatus":{ "name":"DescribeVolumeStatus", @@ -1888,7 +2018,7 @@ }, "input":{"shape":"DescribeVolumeStatusRequest"}, "output":{"shape":"DescribeVolumeStatusResult"}, - "documentation":"

Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event.

The DescribeVolumeStatus operation provides the following information about the specified volumes:

Status: Reflects the current status of the volume. The possible values are ok, impaired , warning, or insufficient-data. If all checks pass, the overall status of the volume is ok. If the check fails, the overall status is impaired. If the status is insufficient-data, then the checks may still be taking place on your volume at the time. We recommend that you retry the request. For more information about volume status, see Monitoring the Status of Your Volumes in the Amazon Elastic Compute Cloud User Guide.

Events: Reflect the cause of a volume status and may require you to take action. For example, if your volume returns an impaired status, then the volume event might be potential-data-inconsistency. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and may have inconsistent data.

Actions: Reflect the actions you may have to take in response to an event. For example, if the status of the volume is impaired and the volume event shows potential-data-inconsistency, then the action shows enable-volume-io. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency.

Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error state (for example, when a volume is incapable of accepting I/O.)

" + "documentation":"

Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event.

The DescribeVolumeStatus operation provides the following information about the specified volumes:

Status: Reflects the current status of the volume. The possible values are ok, impaired , warning, or insufficient-data. If all checks pass, the overall status of the volume is ok. If the check fails, the overall status is impaired. If the status is insufficient-data, then the checks may still be taking place on your volume at the time. We recommend that you retry the request. For more information about volume status, see Monitoring the Status of Your Volumes in the Amazon Elastic Compute Cloud User Guide.

Events: Reflect the cause of a volume status and may require you to take action. For example, if your volume returns an impaired status, then the volume event might be potential-data-inconsistency. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and may have inconsistent data.

Actions: Reflect the actions you may have to take in response to an event. For example, if the status of the volume is impaired and the volume event shows potential-data-inconsistency, then the action shows enable-volume-io. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency.

Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error state (for example, when a volume is incapable of accepting I/O.)

" }, "DescribeVolumes":{ "name":"DescribeVolumes", @@ -1898,7 +2028,7 @@ }, "input":{"shape":"DescribeVolumesRequest"}, "output":{"shape":"DescribeVolumesResult"}, - "documentation":"

Describes the specified EBS volumes.

If you are describing a long list of volumes, you can paginate the output to make the list more manageable. The MaxResults parameter sets the maximum number of results returned in a single page. If the list of results exceeds your MaxResults value, then that number of results is returned along with a NextToken value that can be passed to a subsequent DescribeVolumes request to retrieve the remaining results.

For more information about EBS volumes, see Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Describes the specified EBS volumes or all of your EBS volumes.

If you are describing a long list of volumes, you can paginate the output to make the list more manageable. The MaxResults parameter sets the maximum number of results returned in a single page. If the list of results exceeds your MaxResults value, then that number of results is returned along with a NextToken value that can be passed to a subsequent DescribeVolumes request to retrieve the remaining results.

For more information about EBS volumes, see Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.

" }, "DescribeVolumesModifications":{ "name":"DescribeVolumesModifications", @@ -1908,7 +2038,7 @@ }, "input":{"shape":"DescribeVolumesModificationsRequest"}, "output":{"shape":"DescribeVolumesModificationsResult"}, - "documentation":"

Reports the current modification status of EBS volumes.

Current-generation EBS volumes support modification of attributes including type, size, and (for io1 volumes) IOPS provisioning while either attached to or detached from an instance. Following an action from the API or the console to modify a volume, the status of the modification may be modifying, optimizing, completed, or failed. If a volume has never been modified, then certain elements of the returned VolumeModification objects are null.

You can also use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. For more information, see Monitoring Volume Modifications\" in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Reports the current modification status of EBS volumes.

Current-generation EBS volumes support modification of attributes including type, size, and (for io1 volumes) IOPS provisioning while either attached to or detached from an instance. Following an action from the API or the console to modify a volume, the status of the modification may be modifying, optimizing, completed, or failed. If a volume has never been modified, then certain elements of the returned VolumeModification objects are null.

You can also use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. For more information, see Monitoring Volume Modifications\" in the Amazon Elastic Compute Cloud User Guide.

" }, "DescribeVpcAttribute":{ "name":"DescribeVpcAttribute", @@ -1938,7 +2068,7 @@ }, "input":{"shape":"DescribeVpcClassicLinkDnsSupportRequest"}, "output":{"shape":"DescribeVpcClassicLinkDnsSupportResult"}, - "documentation":"

Describes the ClassicLink DNS support status of one or more VPCs. If enabled, the DNS hostname of a linked EC2-Classic instance resolves to its private IP address when addressed from an instance in the VPC to which it's linked. Similarly, the DNS hostname of an instance in a VPC resolves to its private IP address when addressed from a linked EC2-Classic instance. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Describes the ClassicLink DNS support status of one or more VPCs. If enabled, the DNS hostname of a linked EC2-Classic instance resolves to its private IP address when addressed from an instance in the VPC to which it's linked. Similarly, the DNS hostname of an instance in a VPC resolves to its private IP address when addressed from a linked EC2-Classic instance. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" }, "DescribeVpcEndpointConnectionNotifications":{ "name":"DescribeVpcEndpointConnectionNotifications", @@ -2028,7 +2158,7 @@ }, "input":{"shape":"DescribeVpnConnectionsRequest"}, "output":{"shape":"DescribeVpnConnectionsResult"}, - "documentation":"

Describes one or more of your VPN connections.

For more information about VPN connections, see AWS Managed VPN Connections in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Describes one or more of your VPN connections.

For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.

" }, "DescribeVpnGateways":{ "name":"DescribeVpnGateways", @@ -2038,7 +2168,7 @@ }, "input":{"shape":"DescribeVpnGatewaysRequest"}, "output":{"shape":"DescribeVpnGatewaysResult"}, - "documentation":"

Describes one or more of your virtual private gateways.

For more information about virtual private gateways, see AWS Managed VPN Connections in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Describes one or more of your virtual private gateways.

For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.

" }, "DetachClassicLinkVpc":{ "name":"DetachClassicLinkVpc", @@ -2076,7 +2206,7 @@ }, "input":{"shape":"DetachVolumeRequest"}, "output":{"shape":"VolumeAttachment"}, - "documentation":"

Detaches an EBS volume from an instance. Make sure to unmount any file systems on the device within your operating system before detaching the volume. Failure to do so can result in the volume becoming stuck in the busy state while detaching. If this happens, detachment can be delayed indefinitely until you unmount the volume, force detachment, reboot the instance, or all three. If an EBS volume is the root device of an instance, it can't be detached while the instance is running. To detach the root volume, stop the instance first.

When a volume with an AWS Marketplace product code is detached from an instance, the product code is no longer associated with the instance.

For more information, see Detaching an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Detaches an EBS volume from an instance. Make sure to unmount any file systems on the device within your operating system before detaching the volume. Failure to do so can result in the volume becoming stuck in the busy state while detaching. If this happens, detachment can be delayed indefinitely until you unmount the volume, force detachment, reboot the instance, or all three. If an EBS volume is the root device of an instance, it can't be detached while the instance is running. To detach the root volume, stop the instance first.

When a volume with an AWS Marketplace product code is detached from an instance, the product code is no longer associated with the instance.

For more information, see Detaching an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

" }, "DetachVpnGateway":{ "name":"DetachVpnGateway", @@ -2087,6 +2217,16 @@ "input":{"shape":"DetachVpnGatewayRequest"}, "documentation":"

Detaches a virtual private gateway from a VPC. You do this if you're planning to turn off the VPC and not use it anymore. You can confirm a virtual private gateway has been completely detached from a VPC by describing the virtual private gateway (any attachments to the virtual private gateway are also described).

You must wait for the attachment's state to switch to detached before you can delete the VPC or attach a different VPC to the virtual private gateway.

" }, + "DisableEbsEncryptionByDefault":{ + "name":"DisableEbsEncryptionByDefault", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisableEbsEncryptionByDefaultRequest"}, + "output":{"shape":"DisableEbsEncryptionByDefaultResult"}, + "documentation":"

Disables EBS encryption by default for your account in the current Region.

After you disable encryption by default, you can still create encrypted volumes by enabling encryption when you create each volume.

Disabling encryption by default does not change the encryption status of your existing volumes.

For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" + }, "DisableTransitGatewayRouteTablePropagation":{ "name":"DisableTransitGatewayRouteTablePropagation", "http":{ @@ -2124,7 +2264,7 @@ }, "input":{"shape":"DisableVpcClassicLinkDnsSupportRequest"}, "output":{"shape":"DisableVpcClassicLinkDnsSupportResult"}, - "documentation":"

Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve to public IP addresses when addressed between a linked EC2-Classic instance and instances in the VPC to which it's linked. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve to public IP addresses when addressed between a linked EC2-Classic instance and instances in the VPC to which it's linked. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" }, "DisassociateAddress":{ "name":"DisassociateAddress", @@ -2133,7 +2273,17 @@ "requestUri":"/" }, "input":{"shape":"DisassociateAddressRequest"}, - "documentation":"

Disassociates an Elastic IP address from the instance or network interface it's associated with.

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

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

" + "documentation":"

Disassociates an Elastic IP address from the instance or network interface it's associated with.

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

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

" + }, + "DisassociateClientVpnTargetNetwork":{ + "name":"DisassociateClientVpnTargetNetwork", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateClientVpnTargetNetworkRequest"}, + "output":{"shape":"DisassociateClientVpnTargetNetworkResult"}, + "documentation":"

Disassociates a target network from the specified Client VPN endpoint. When you disassociate the last target network from a Client VPN, the following happens:

  • The route that was automatically added for the VPC is deleted

  • All active client connections are terminated

  • New client connections are disallowed

  • The Client VPN endpoint's status changes to pending-associate

" }, "DisassociateIamInstanceProfile":{ "name":"DisassociateIamInstanceProfile", @@ -2152,7 +2302,7 @@ "requestUri":"/" }, "input":{"shape":"DisassociateRouteTableRequest"}, - "documentation":"

Disassociates a subnet from a route table.

After you perform this action, the subnet no longer uses the routes in the route table. Instead, it uses the routes in the VPC's main route table. For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Disassociates a subnet from a route table.

After you perform this action, the subnet no longer uses the routes in the route table. Instead, it uses the routes in the VPC's main route table. For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" }, "DisassociateSubnetCidrBlock":{ "name":"DisassociateSubnetCidrBlock", @@ -2184,6 +2334,16 @@ "output":{"shape":"DisassociateVpcCidrBlockResult"}, "documentation":"

Disassociates a CIDR block from a VPC. To disassociate the CIDR block, you must specify its association ID. You can get the association ID by using DescribeVpcs. You must detach or delete all gateways and resources that are associated with the CIDR block before you can disassociate it.

You cannot disassociate the CIDR block with which you originally created the VPC (the primary CIDR block).

" }, + "EnableEbsEncryptionByDefault":{ + "name":"EnableEbsEncryptionByDefault", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"EnableEbsEncryptionByDefaultRequest"}, + "output":{"shape":"EnableEbsEncryptionByDefaultResult"}, + "documentation":"

Enables EBS encryption by default for your account in the current Region.

After you enable encryption by default, the EBS volumes that you create are are always encrypted, either using the default CMK or the CMK that you specified when you created each volume. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

You can specify the default CMK for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.

Enabling encryption by default has no effect on the encryption status of your existing volumes.

After you enable encryption by default, you can no longer launch instances using instance types that do not support encryption. For more information, see Supported Instance Types.

" + }, "EnableTransitGatewayRouteTablePropagation":{ "name":"EnableTransitGatewayRouteTablePropagation", "http":{ @@ -2220,7 +2380,7 @@ }, "input":{"shape":"EnableVpcClassicLinkRequest"}, "output":{"shape":"EnableVpcClassicLinkResult"}, - "documentation":"

Enables a VPC for ClassicLink. You can then link EC2-Classic instances to your ClassicLink-enabled VPC to allow communication over private IP addresses. You cannot enable your VPC for ClassicLink if any of your VPC route tables have existing routes for address ranges within the 10.0.0.0/8 IP address range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16 IP address ranges. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Enables a VPC for ClassicLink. You can then link EC2-Classic instances to your ClassicLink-enabled VPC to allow communication over private IP addresses. You cannot enable your VPC for ClassicLink if any of your VPC route tables have existing routes for address ranges within the 10.0.0.0/8 IP address range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16 IP address ranges. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" }, "EnableVpcClassicLinkDnsSupport":{ "name":"EnableVpcClassicLinkDnsSupport", @@ -2230,7 +2390,27 @@ }, "input":{"shape":"EnableVpcClassicLinkDnsSupportRequest"}, "output":{"shape":"EnableVpcClassicLinkDnsSupportResult"}, - "documentation":"

Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled, the DNS hostname of a linked EC2-Classic instance resolves to its private IP address when addressed from an instance in the VPC to which it's linked. Similarly, the DNS hostname of an instance in a VPC resolves to its private IP address when addressed from a linked EC2-Classic instance. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled, the DNS hostname of a linked EC2-Classic instance resolves to its private IP address when addressed from an instance in the VPC to which it's linked. Similarly, the DNS hostname of an instance in a VPC resolves to its private IP address when addressed from a linked EC2-Classic instance. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" + }, + "ExportClientVpnClientCertificateRevocationList":{ + "name":"ExportClientVpnClientCertificateRevocationList", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ExportClientVpnClientCertificateRevocationListRequest"}, + "output":{"shape":"ExportClientVpnClientCertificateRevocationListResult"}, + "documentation":"

Downloads the client certificate revocation list for the specified Client VPN endpoint.

" + }, + "ExportClientVpnClientConfiguration":{ + "name":"ExportClientVpnClientConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ExportClientVpnClientConfigurationRequest"}, + "output":{"shape":"ExportClientVpnClientConfigurationResult"}, + "documentation":"

Downloads the contents of the Client VPN endpoint configuration file for the specified Client VPN endpoint. The Client VPN endpoint configuration file includes the Client VPN endpoint and certificate information clients need to establish a connection with the Client VPN endpoint.

" }, "ExportTransitGatewayRoutes":{ "name":"ExportTransitGatewayRoutes", @@ -2250,7 +2430,7 @@ }, "input":{"shape":"GetConsoleOutputRequest"}, "output":{"shape":"GetConsoleOutputResult"}, - "documentation":"

Gets the console output for the specified instance. For Linux instances, the instance console output displays the exact console output that would normally be displayed on a physical monitor attached to a computer. For Windows instances, the instance console output includes the last three system event log errors.

By default, the console output returns buffered information that was posted shortly after an instance transition state (start, stop, reboot, or terminate). This information is available for at least one hour after the most recent post. Only the most recent 64 KB of console output is available.

You can optionally retrieve the latest serial console output at any time during the instance lifecycle. This option is supported on instance types that use the Nitro hypervisor.

For more information, see Instance Console Output in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Gets the console output for the specified instance. For Linux instances, the instance console output displays the exact console output that would normally be displayed on a physical monitor attached to a computer. For Windows instances, the instance console output includes the last three system event log errors.

By default, the console output returns buffered information that was posted shortly after an instance transition state (start, stop, reboot, or terminate). This information is available for at least one hour after the most recent post. Only the most recent 64 KB of console output is available.

You can optionally retrieve the latest serial console output at any time during the instance lifecycle. This option is supported on instance types that use the Nitro hypervisor.

For more information, see Instance Console Output in the Amazon Elastic Compute Cloud User Guide.

" }, "GetConsoleScreenshot":{ "name":"GetConsoleScreenshot", @@ -2262,6 +2442,26 @@ "output":{"shape":"GetConsoleScreenshotResult"}, "documentation":"

Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

The returned content is Base64-encoded.

" }, + "GetEbsDefaultKmsKeyId":{ + "name":"GetEbsDefaultKmsKeyId", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetEbsDefaultKmsKeyIdRequest"}, + "output":{"shape":"GetEbsDefaultKmsKeyIdResult"}, + "documentation":"

Describes the default customer master key (CMK) for EBS encryption by default for your account in this Region. You can change the default CMK for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.

For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" + }, + "GetEbsEncryptionByDefault":{ + "name":"GetEbsEncryptionByDefault", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetEbsEncryptionByDefaultRequest"}, + "output":{"shape":"GetEbsEncryptionByDefaultResult"}, + "documentation":"

Describes whether EBS encryption by default is enabled for your account in the current Region.

For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" + }, "GetHostReservationPurchasePreview":{ "name":"GetHostReservationPurchasePreview", "http":{ @@ -2290,7 +2490,7 @@ }, "input":{"shape":"GetPasswordDataRequest"}, "output":{"shape":"GetPasswordDataResult"}, - "documentation":"

Retrieves the encrypted administrator password for a running Windows instance.

The Windows password is generated at boot by the EC2Config service or EC2Launch scripts (Windows Server 2016 and later). This usually only happens the first time an instance is launched. For more information, see EC2Config and EC2Launch in the Amazon Elastic Compute Cloud User Guide.

For the EC2Config service, the password is not generated for rebundled AMIs unless Ec2SetPassword is enabled before bundling.

The password is encrypted using the key pair that you specified when you launched the instance. You must provide the corresponding key pair file.

When you launch an instance, password generation and encryption may take a few minutes. If you try to retrieve the password before it's available, the output returns an empty string. We recommend that you wait up to 15 minutes after launching an instance before trying to retrieve the generated password.

" + "documentation":"

Retrieves the encrypted administrator password for a running Windows instance.

The Windows password is generated at boot by the EC2Config service or EC2Launch scripts (Windows Server 2016 and later). This usually only happens the first time an instance is launched. For more information, see EC2Config and EC2Launch in the Amazon Elastic Compute Cloud User Guide.

For the EC2Config service, the password is not generated for rebundled AMIs unless Ec2SetPassword is enabled before bundling.

The password is encrypted using the key pair that you specified when you launched the instance. You must provide the corresponding key pair file.

When you launch an instance, password generation and encryption may take a few minutes. If you try to retrieve the password before it's available, the output returns an empty string. We recommend that you wait up to 15 minutes after launching an instance before trying to retrieve the generated password.

" }, "GetReservedInstancesExchangeQuote":{ "name":"GetReservedInstancesExchangeQuote", @@ -2332,6 +2532,16 @@ "output":{"shape":"GetTransitGatewayRouteTablePropagationsResult"}, "documentation":"

Gets information about the route table propagations for the specified transit gateway route table.

" }, + "ImportClientVpnClientCertificateRevocationList":{ + "name":"ImportClientVpnClientCertificateRevocationList", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ImportClientVpnClientCertificateRevocationListRequest"}, + "output":{"shape":"ImportClientVpnClientCertificateRevocationListResult"}, + "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.

Uploading a client certificate revocation list resets existing client connections.

" + }, "ImportImage":{ "name":"ImportImage", "http":{ @@ -2340,7 +2550,7 @@ }, "input":{"shape":"ImportImageRequest"}, "output":{"shape":"ImportImageResult"}, - "documentation":"

Import single or multi-volume disk images or EBS snapshots into an Amazon Machine Image (AMI). For more information, see Importing a VM as an Image Using VM Import/Export in the VM Import/Export User Guide.

" + "documentation":"

Import single or multi-volume disk images or EBS snapshots into an Amazon Machine Image (AMI). For more information, see Importing a VM as an Image Using VM Import/Export in the VM Import/Export User Guide.

" }, "ImportInstance":{ "name":"ImportInstance", @@ -2350,7 +2560,7 @@ }, "input":{"shape":"ImportInstanceRequest"}, "output":{"shape":"ImportInstanceResult"}, - "documentation":"

Creates an import instance task using metadata from the specified disk image. ImportInstance only supports single-volume VMs. To import multi-volume VMs, use ImportImage. For more information, see Importing a Virtual Machine Using the Amazon EC2 CLI.

For information about the import manifest referenced by this API action, see VM Import Manifest.

" + "documentation":"

Creates an import instance task using metadata from the specified disk image. ImportInstance only supports single-volume VMs. To import multi-volume VMs, use ImportImage. For more information, see Importing a Virtual Machine Using the Amazon EC2 CLI.

For information about the import manifest referenced by this API action, see VM Import Manifest.

" }, "ImportKeyPair":{ "name":"ImportKeyPair", @@ -2360,7 +2570,7 @@ }, "input":{"shape":"ImportKeyPairRequest"}, "output":{"shape":"ImportKeyPairResult"}, - "documentation":"

Imports the public key from an RSA key pair that you created with a third-party tool. Compare this with CreateKeyPair, in which AWS creates the key pair and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair, you create the key pair and give AWS just the public key. The private key is never transferred between you and AWS.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Imports the public key from an RSA key pair that you created with a third-party tool. Compare this with CreateKeyPair, in which AWS creates the key pair and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair, you create the key pair and give AWS just the public key. The private key is never transferred between you and AWS.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" }, "ImportSnapshot":{ "name":"ImportSnapshot", @@ -2380,7 +2590,7 @@ }, "input":{"shape":"ImportVolumeRequest"}, "output":{"shape":"ImportVolumeResult"}, - "documentation":"

Creates an import volume task using metadata from the specified disk image.For more information, see Importing Disks to Amazon EBS.

For information about the import manifest referenced by this API action, see VM Import Manifest.

" + "documentation":"

Creates an import volume task using metadata from the specified disk image.For more information, see Importing Disks to Amazon EBS.

For information about the import manifest referenced by this API action, see VM Import Manifest.

" }, "ModifyCapacityReservation":{ "name":"ModifyCapacityReservation", @@ -2392,6 +2602,26 @@ "output":{"shape":"ModifyCapacityReservationResult"}, "documentation":"

Modifies a Capacity Reservation's capacity and the conditions under which it is to be released. You cannot change a Capacity Reservation's instance type, EBS optimization, instance store settings, platform, Availability Zone, or instance eligibility. If you need to modify any of these attributes, we recommend that you cancel the Capacity Reservation, and then create a new one with the required attributes.

" }, + "ModifyClientVpnEndpoint":{ + "name":"ModifyClientVpnEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyClientVpnEndpointRequest"}, + "output":{"shape":"ModifyClientVpnEndpointResult"}, + "documentation":"

Modifies the specified Client VPN endpoint. You can only modify an endpoint's server certificate information, client connection logging information, DNS server, and description. Modifying the DNS server resets existing client connections.

" + }, + "ModifyEbsDefaultKmsKeyId":{ + "name":"ModifyEbsDefaultKmsKeyId", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyEbsDefaultKmsKeyIdRequest"}, + "output":{"shape":"ModifyEbsDefaultKmsKeyIdResult"}, + "documentation":"

Changes the default customer master key (CMK) for EBS encryption by default for your account in this Region.

AWS creates a unique AWS managed CMK in each Region for use with encryption by default. If you change the default CMK to a customer managed CMK, it is used instead of the AWS managed CMK. To reset the default CMK to the AWS managed CMK for EBS, use ResetEbsDefaultKmsKeyId.

If you delete or disable the customer managed CMK that you specified for use with encryption by default, your instances will fail to launch.

For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" + }, "ModifyFleet":{ "name":"ModifyFleet", "http":{ @@ -2429,7 +2659,7 @@ "requestUri":"/" }, "input":{"shape":"ModifyIdFormatRequest"}, - "documentation":"

Modifies the ID format for the specified resource on a per-region basis. You can specify that resources should receive longer IDs (17-character IDs) when they are created.

This request can only be used to modify longer ID settings for resource types that are within the opt-in period. Resources currently in their opt-in period include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | route-table | route-table-association | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

This setting applies to the IAM user who makes the request; it does not apply to the entire AWS account. By default, an IAM user defaults to the same settings as the root user. If you're using this action as the root user, then these settings apply to the entire account, unless an IAM user explicitly overrides these settings for themselves. For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

Resources created with longer IDs are visible to all IAM roles and users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

" + "documentation":"

Modifies the ID format for the specified resource on a per-Region basis. You can specify that resources should receive longer IDs (17-character IDs) when they are created.

This request can only be used to modify longer ID settings for resource types that are within the opt-in period. Resources currently in their opt-in period include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | route-table | route-table-association | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

This setting applies to the IAM user who makes the request; it does not apply to the entire AWS account. By default, an IAM user defaults to the same settings as the root user. If you're using this action as the root user, then these settings apply to the entire account, unless an IAM user explicitly overrides these settings for themselves. For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

Resources created with longer IDs are visible to all IAM roles and users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

" }, "ModifyIdentityIdFormat":{ "name":"ModifyIdentityIdFormat", @@ -2438,7 +2668,7 @@ "requestUri":"/" }, "input":{"shape":"ModifyIdentityIdFormatRequest"}, - "documentation":"

Modifies the ID format of a resource for a specified IAM user, IAM role, or the root user for an account; or all IAM users, IAM roles, and the root user for an account. You can specify that resources should receive longer IDs (17-character IDs) when they are created.

This request can only be used to modify longer ID settings for resource types that are within the opt-in period. Resources currently in their opt-in period include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | route-table | route-table-association | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

This setting applies to the principal specified in the request; it does not apply to the principal that makes the request.

Resources created with longer IDs are visible to all IAM roles and users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

" + "documentation":"

Modifies the ID format of a resource for a specified IAM user, IAM role, or the root user for an account; or all IAM users, IAM roles, and the root user for an account. You can specify that resources should receive longer IDs (17-character IDs) when they are created.

This request can only be used to modify longer ID settings for resource types that are within the opt-in period. Resources currently in their opt-in period include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | route-table | route-table-association | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

This setting applies to the principal specified in the request; it does not apply to the principal that makes the request.

Resources created with longer IDs are visible to all IAM roles and users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

" }, "ModifyImageAttribute":{ "name":"ModifyImageAttribute", @@ -2456,7 +2686,7 @@ "requestUri":"/" }, "input":{"shape":"ModifyInstanceAttributeRequest"}, - "documentation":"

Modifies the specified attribute of the specified instance. You can specify only one attribute at a time.

Note: Using this action to change the security groups associated with an elastic network interface (ENI) attached to an instance in a VPC can result in an error if the instance has more than one ENI. To change the security groups associated with an ENI attached to an instance that has multiple ENIs, we recommend that you use the ModifyNetworkInterfaceAttribute action.

To modify some attributes, the instance must be stopped. For more information, see Modifying Attributes of a Stopped Instance in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Modifies the specified attribute of the specified instance. You can specify only one attribute at a time.

Note: Using this action to change the security groups associated with an elastic network interface (ENI) attached to an instance in a VPC can result in an error if the instance has more than one ENI. To change the security groups associated with an ENI attached to an instance that has multiple ENIs, we recommend that you use the ModifyNetworkInterfaceAttribute action.

To modify some attributes, the instance must be stopped. For more information, see Modifying Attributes of a Stopped Instance in the Amazon Elastic Compute Cloud User Guide.

" }, "ModifyInstanceCapacityReservationAttributes":{ "name":"ModifyInstanceCapacityReservationAttributes", @@ -2476,7 +2706,17 @@ }, "input":{"shape":"ModifyInstanceCreditSpecificationRequest"}, "output":{"shape":"ModifyInstanceCreditSpecificationResult"}, - "documentation":"

Modifies the credit option for CPU usage on a running or stopped T2 or T3 instance. The credit options are standard and unlimited.

For more information, see Burstable Performance Instances in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Modifies the credit option for CPU usage on a running or stopped T2 or T3 instance. The credit options are standard and unlimited.

For more information, see Burstable Performance Instances in the Amazon Elastic Compute Cloud User Guide.

" + }, + "ModifyInstanceEventStartTime":{ + "name":"ModifyInstanceEventStartTime", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyInstanceEventStartTimeRequest"}, + "output":{"shape":"ModifyInstanceEventStartTimeResult"}, + "documentation":"

Modifies the start time for a scheduled Amazon EC2 instance event.

" }, "ModifyInstancePlacement":{ "name":"ModifyInstancePlacement", @@ -2486,7 +2726,7 @@ }, "input":{"shape":"ModifyInstancePlacementRequest"}, "output":{"shape":"ModifyInstancePlacementResult"}, - "documentation":"

Modifies the placement attributes for a specified instance. You can do the following:

  • Modify the affinity between an instance and a Dedicated Host. When affinity is set to host and the instance is not associated with a specific Dedicated Host, the next time the instance is launched, it is automatically associated with the host on which it lands. If the instance is restarted or rebooted, this relationship persists.

  • Change the Dedicated Host with which an instance is associated.

  • Change the instance tenancy of an instance from host to dedicated, or from dedicated to host.

  • Move an instance to or from a placement group.

At least one attribute for affinity, host ID, tenancy, or placement group name must be specified in the request. Affinity and tenancy can be modified in the same request.

To modify the host ID, tenancy, or placement group for an instance, the instance must be in the stopped state.

" + "documentation":"

Modifies the placement attributes for a specified instance. You can do the following:

  • Modify the affinity between an instance and a Dedicated Host. When affinity is set to host and the instance is not associated with a specific Dedicated Host, the next time the instance is launched, it is automatically associated with the host on which it lands. If the instance is restarted or rebooted, this relationship persists.

  • Change the Dedicated Host with which an instance is associated.

  • Change the instance tenancy of an instance from host to dedicated, or from dedicated to host.

  • Move an instance to or from a placement group.

At least one attribute for affinity, host ID, tenancy, or placement group name must be specified in the request. Affinity and tenancy can be modified in the same request.

To modify the host ID, tenancy, placement group, or partition for an instance, the instance must be in the stopped state.

" }, "ModifyLaunchTemplate":{ "name":"ModifyLaunchTemplate", @@ -2505,7 +2745,7 @@ "requestUri":"/" }, "input":{"shape":"ModifyNetworkInterfaceAttributeRequest"}, - "documentation":"

Modifies the specified network interface attribute. You can specify only one attribute at a time.

" + "documentation":"

Modifies the specified network interface attribute. You can specify only one attribute at a time. You can use this action to attach and detach security groups from an existing EC2 instance.

" }, "ModifyReservedInstances":{ "name":"ModifyReservedInstances", @@ -2515,7 +2755,7 @@ }, "input":{"shape":"ModifyReservedInstancesRequest"}, "output":{"shape":"ModifyReservedInstancesResult"}, - "documentation":"

Modifies the Availability Zone, instance count, instance type, or network platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved Instances to be modified must be identical, except for Availability Zone, network platform, and instance type.

For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Modifies the Availability Zone, instance count, instance type, or network platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved Instances to be modified must be identical, except for Availability Zone, network platform, and instance type.

For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" }, "ModifySnapshotAttribute":{ "name":"ModifySnapshotAttribute", @@ -2524,7 +2764,7 @@ "requestUri":"/" }, "input":{"shape":"ModifySnapshotAttributeRequest"}, - "documentation":"

Adds or removes permission settings for the specified snapshot. You may add or remove specified AWS account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single API call. If you need to both add and remove account IDs for a snapshot, you must use multiple API calls.

Encrypted snapshots and snapshots with AWS Marketplace product codes cannot be made public. Snapshots encrypted with your default CMK cannot be shared with other accounts.

For more information about modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Adds or removes permission settings for the specified snapshot. You may add or remove specified AWS account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single operation. If you need to both add and remove account IDs for a snapshot, you must use multiple operations.

Encrypted snapshots and snapshots with AWS Marketplace product codes cannot be made public. Snapshots encrypted with your default CMK cannot be shared with other accounts.

For more information about modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide.

" }, "ModifySpotFleetRequest":{ "name":"ModifySpotFleetRequest", @@ -2534,7 +2774,7 @@ }, "input":{"shape":"ModifySpotFleetRequestRequest"}, "output":{"shape":"ModifySpotFleetRequestResponse"}, - "documentation":"

Modifies the specified Spot Fleet request.

While the Spot Fleet request is being modified, it is in the modifying state.

To scale up your Spot Fleet, increase its target capacity. The Spot Fleet launches the additional Spot Instances according to the allocation strategy for the Spot Fleet request. If the allocation strategy is lowestPrice, the Spot Fleet launches instances using the Spot pool with the lowest price. If the allocation strategy is diversified, the Spot Fleet distributes the instances across the Spot pools.

To scale down your Spot Fleet, decrease its target capacity. First, the Spot Fleet cancels any open requests that exceed the new target capacity. You can request that the Spot Fleet terminate Spot Instances until the size of the fleet no longer exceeds the new target capacity. If the allocation strategy is lowestPrice, the Spot Fleet terminates the instances with the highest price per unit. If the allocation strategy is diversified, the Spot Fleet terminates instances across the Spot pools. Alternatively, you can request that the Spot Fleet keep the fleet at its current size, but not replace any Spot Instances that are interrupted or that you terminate manually.

If you are finished with your Spot Fleet for now, but will use it again later, you can set the target capacity to 0.

" + "documentation":"

Modifies the specified Spot Fleet request.

You can only modify a Spot Fleet request of type maintain.

While the Spot Fleet request is being modified, it is in the modifying state.

To scale up your Spot Fleet, increase its target capacity. The Spot Fleet launches the additional Spot Instances according to the allocation strategy for the Spot Fleet request. If the allocation strategy is lowestPrice, the Spot Fleet launches instances using the Spot pool with the lowest price. If the allocation strategy is diversified, the Spot Fleet distributes the instances across the Spot pools.

To scale down your Spot Fleet, decrease its target capacity. First, the Spot Fleet cancels any open requests that exceed the new target capacity. You can request that the Spot Fleet terminate Spot Instances until the size of the fleet no longer exceeds the new target capacity. If the allocation strategy is lowestPrice, the Spot Fleet terminates the instances with the highest price per unit. If the allocation strategy is diversified, the Spot Fleet terminates instances across the Spot pools. Alternatively, you can request that the Spot Fleet keep the fleet at its current size, but not replace any Spot Instances that are interrupted or that you terminate manually.

If you are finished with your Spot Fleet for now, but will use it again later, you can set the target capacity to 0.

" }, "ModifySubnetAttribute":{ "name":"ModifySubnetAttribute", @@ -2563,7 +2803,7 @@ }, "input":{"shape":"ModifyVolumeRequest"}, "output":{"shape":"ModifyVolumeResult"}, - "documentation":"

You can modify several parameters of an existing EBS volume, including volume size, volume type, and IOPS capacity. If your EBS volume is attached to a current-generation EC2 instance type, you may be able to apply these changes without stopping the instance or detaching the volume from it. For more information about modifying an EBS volume running Linux, see Modifying the Size, IOPS, or Type of an EBS Volume on Linux. For more information about modifying an EBS volume running Windows, see Modifying the Size, IOPS, or Type of an EBS Volume on Windows.

When you complete a resize operation on your volume, you need to extend the volume's file-system size to take advantage of the new storage capacity. For information about extending a Linux file system, see Extending a Linux File System. For information about extending a Windows file system, see Extending a Windows File System.

You can use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. You can also track the status of a modification using the DescribeVolumesModifications API. For information about tracking status changes using either method, see Monitoring Volume Modifications.

With previous-generation instance types, resizing an EBS volume may require detaching and reattaching the volume or stopping and restarting the instance. For more information, see Modifying the Size, IOPS, or Type of an EBS Volume on Linux and Modifying the Size, IOPS, or Type of an EBS Volume on Windows.

If you reach the maximum volume modification rate per volume limit, you will need to wait at least six hours before applying further modifications to the affected EBS volume.

" + "documentation":"

You can modify several parameters of an existing EBS volume, including volume size, volume type, and IOPS capacity. If your EBS volume is attached to a current-generation EC2 instance type, you may be able to apply these changes without stopping the instance or detaching the volume from it. For more information about modifying an EBS volume running Linux, see Modifying the Size, IOPS, or Type of an EBS Volume on Linux. For more information about modifying an EBS volume running Windows, see Modifying the Size, IOPS, or Type of an EBS Volume on Windows.

When you complete a resize operation on your volume, you need to extend the volume's file-system size to take advantage of the new storage capacity. For information about extending a Linux file system, see Extending a Linux File System. For information about extending a Windows file system, see Extending a Windows File System.

You can use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. You can also track the status of a modification using DescribeVolumesModifications. For information about tracking status changes using either method, see Monitoring Volume Modifications.

With previous-generation instance types, resizing an EBS volume may require detaching and reattaching the volume or stopping and restarting the instance. For more information, see Modifying the Size, IOPS, or Type of an EBS Volume on Linux and Modifying the Size, IOPS, or Type of an EBS Volume on Windows.

If you reach the maximum volume modification rate per volume limit, you will need to wait at least six hours before applying further modifications to the affected EBS volume.

" }, "ModifyVolumeAttribute":{ "name":"ModifyVolumeAttribute", @@ -2591,7 +2831,7 @@ }, "input":{"shape":"ModifyVpcEndpointRequest"}, "output":{"shape":"ModifyVpcEndpointResult"}, - "documentation":"

Modifies attributes of a specified VPC endpoint. The attributes that you can modify depend on the type of VPC endpoint (interface or gateway). For more information, see VPC Endpoints in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Modifies attributes of a specified VPC endpoint. The attributes that you can modify depend on the type of VPC endpoint (interface or gateway). For more information, see VPC Endpoints in the Amazon Virtual Private Cloud User Guide.

" }, "ModifyVpcEndpointConnectionNotification":{ "name":"ModifyVpcEndpointConnectionNotification", @@ -2621,7 +2861,7 @@ }, "input":{"shape":"ModifyVpcEndpointServicePermissionsRequest"}, "output":{"shape":"ModifyVpcEndpointServicePermissionsResult"}, - "documentation":"

Modifies the permissions for your VPC endpoint service. You can add or remove permissions for service consumers (IAM users, IAM roles, and AWS accounts) to connect to your endpoint service.

If you grant permissions to all principals, the service is public. Any users who know the name of a public service can send a request to attach an endpoint. If the service does not require manual approval, attachments are automatically approved.

" + "documentation":"

Modifies the permissions for your VPC endpoint service. You can add or remove permissions for service consumers (IAM users, IAM roles, and AWS accounts) to connect to your endpoint service.

If you grant permissions to all principals, the service is public. Any users who know the name of a public service can send a request to attach an endpoint. If the service does not require manual approval, attachments are automatically approved.

" }, "ModifyVpcPeeringConnectionOptions":{ "name":"ModifyVpcPeeringConnectionOptions", @@ -2631,7 +2871,7 @@ }, "input":{"shape":"ModifyVpcPeeringConnectionOptionsRequest"}, "output":{"shape":"ModifyVpcPeeringConnectionOptionsResult"}, - "documentation":"

Modifies the VPC peering connection options on one side of a VPC peering connection. You can do the following:

  • 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.

  • Enable/disable communication over the peering connection between instances in your VPC and an EC2-Classic instance that's linked to the peer VPC.

  • Enable/disable the ability to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.

If the peered VPCs are in the same AWS account, you can enable DNS resolution for queries from the local VPC. This ensures that queries from the local VPC resolve to private IP addresses in the peer VPC. This option is not available if the peered VPCs are in different AWS accounts or different regions. For peered VPCs in different AWS accounts, each AWS account owner must initiate a separate request to modify the peering connection options. For inter-region peering connections, you must use the region for the requester VPC to modify the requester VPC peering options and the region for the accepter VPC to modify the accepter VPC peering options. To verify which VPCs are the accepter and the requester for a VPC peering connection, use the DescribeVpcPeeringConnections command.

" + "documentation":"

Modifies the VPC peering connection options on one side of a VPC peering connection. You can do the following:

  • 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.

  • Enable/disable communication over the peering connection between instances in your VPC and an EC2-Classic instance that's linked to the peer VPC.

  • Enable/disable the ability to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.

If the peered VPCs are in the same AWS account, you can enable DNS resolution for queries from the local VPC. This ensures that queries from the local VPC resolve to private IP addresses in the peer VPC. This option is not available if the peered VPCs are in different AWS accounts or different Regions. For peered VPCs in different AWS accounts, each AWS account owner must initiate a separate request to modify the peering connection options. For inter-region peering connections, you must use the Region for the requester VPC to modify the requester VPC peering options and the Region for the accepter VPC to modify the accepter VPC peering options. To verify which VPCs are the accepter and the requester for a VPC peering connection, use the DescribeVpcPeeringConnections command.

" }, "ModifyVpcTenancy":{ "name":"ModifyVpcTenancy", @@ -2641,7 +2881,17 @@ }, "input":{"shape":"ModifyVpcTenancyRequest"}, "output":{"shape":"ModifyVpcTenancyResult"}, - "documentation":"

Modifies the instance tenancy attribute of the specified VPC. You can change the instance tenancy attribute of a VPC to default only. You cannot change the instance tenancy attribute to dedicated.

After you modify the tenancy of the VPC, any new instances that you launch into the VPC have a tenancy of default, unless you specify otherwise during launch. The tenancy of any existing instances in the VPC is not affected.

For more information, see Dedicated Instances in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Modifies the instance tenancy attribute of the specified VPC. You can change the instance tenancy attribute of a VPC to default only. You cannot change the instance tenancy attribute to dedicated.

After you modify the tenancy of the VPC, any new instances that you launch into the VPC have a tenancy of default, unless you specify otherwise during launch. The tenancy of any existing instances in the VPC is not affected.

For more information, see Dedicated Instances in the Amazon Elastic Compute Cloud User Guide.

" + }, + "ModifyVpnConnection":{ + "name":"ModifyVpnConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyVpnConnectionRequest"}, + "output":{"shape":"ModifyVpnConnectionResult"}, + "documentation":"

Modifies the target gateway of a AWS Site-to-Site VPN connection. The following migration options are available:

  • An existing virtual private gateway to a new virtual private gateway

  • An existing virtual private gateway to a transit gateway

  • An existing transit gateway to a new transit gateway

  • An existing transit gateway to a virtual private gateway

Before you perform the migration to the new gateway, you must configure the new gateway. Use CreateVpnGateway to create a virtual private gateway, or CreateTransitGateway to create a transit gateway.

This step is required when you migrate from a virtual private gateway with static routes to a transit gateway.

You must delete the static routes before you migrate to the new gateway.

Keep a copy of the static route before you delete it. You will need to add back these routes to the transit gateway after the VPN connection migration is complete.

After you migrate to the new gateway, you might need to modify your VPC route table. Use CreateRoute and DeleteRoute to make the changes described in VPN Gateway Target Modification Required VPC Route Table Updates in the AWS Site-to-Site VPN User Guide.

When the new gateway is a transit gateway, modify the transit gateway route table to allow traffic between the VPC and the AWS Site-to-Site VPN connection. Use CreateTransitGatewayRoute to add the routes.

If you deleted VPN static routes, you must add the static routes to the transit gateway route table.

After you perform this operation, the AWS VPN endpoint's IP addresses on the AWS side and the tunnel options remain intact. Your s2slong; connection will be temporarily unavailable for approximately 10 minutes while we provision the new endpoints

" }, "MonitorInstances":{ "name":"MonitorInstances", @@ -2651,7 +2901,7 @@ }, "input":{"shape":"MonitorInstancesRequest"}, "output":{"shape":"MonitorInstancesResult"}, - "documentation":"

Enables detailed monitoring for a running instance. Otherwise, basic monitoring is enabled. For more information, see Monitoring Your Instances and Volumes in the Amazon Elastic Compute Cloud User Guide.

To disable detailed monitoring, see .

" + "documentation":"

Enables detailed monitoring for a running instance. Otherwise, basic monitoring is enabled. For more information, see Monitoring Your Instances and Volumes in the Amazon Elastic Compute Cloud User Guide.

To disable detailed monitoring, see .

" }, "MoveAddressToVpc":{ "name":"MoveAddressToVpc", @@ -2671,7 +2921,7 @@ }, "input":{"shape":"ProvisionByoipCidrRequest"}, "output":{"shape":"ProvisionByoipCidrResult"}, - "documentation":"

Provisions an address range for use with your AWS resources through bring your own IP addresses (BYOIP) and creates a corresponding address pool. After the address range is provisioned, it is ready to be advertised using AdvertiseByoipCidr.

AWS verifies that you own the address range and are authorized to advertise it. You must ensure that the address range is registered to you and that you created an RPKI ROA to authorize Amazon ASNs 16509 and 14618 to advertise the address range. For more information, see Bring Your Own IP Addresses (BYOIP) in the Amazon Elastic Compute Cloud User Guide.

Provisioning an address range is an asynchronous operation, so the call returns immediately, but the address range is not ready to use until its status changes from pending-provision to provisioned. To monitor the status of an address range, use DescribeByoipCidrs. To allocate an Elastic IP address from your address pool, use AllocateAddress with either the specific address from the address pool or the ID of the address pool.

" + "documentation":"

Provisions an address range for use with your AWS resources through bring your own IP addresses (BYOIP) and creates a corresponding address pool. After the address range is provisioned, it is ready to be advertised using AdvertiseByoipCidr.

AWS verifies that you own the address range and are authorized to advertise it. You must ensure that the address range is registered to you and that you created an RPKI ROA to authorize Amazon ASNs 16509 and 14618 to advertise the address range. For more information, see Bring Your Own IP Addresses (BYOIP) in the Amazon Elastic Compute Cloud User Guide.

Provisioning an address range is an asynchronous operation, so the call returns immediately, but the address range is not ready to use until its status changes from pending-provision to provisioned. To monitor the status of an address range, use DescribeByoipCidrs. To allocate an Elastic IP address from your address pool, use AllocateAddress with either the specific address from the address pool or the ID of the address pool.

" }, "PurchaseHostReservation":{ "name":"PurchaseHostReservation", @@ -2691,7 +2941,7 @@ }, "input":{"shape":"PurchaseReservedInstancesOfferingRequest"}, "output":{"shape":"PurchaseReservedInstancesOfferingResult"}, - "documentation":"

Purchases a Reserved Instance for use with your account. With Reserved Instances, you pay a lower hourly rate compared to On-Demand instance pricing.

Use DescribeReservedInstancesOfferings to get a list of Reserved Instance offerings that match your specifications. After you've purchased a Reserved Instance, you can check for your new Reserved Instance with DescribeReservedInstances.

For more information, see Reserved Instances and Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Purchases a Reserved Instance for use with your account. With Reserved Instances, you pay a lower hourly rate compared to On-Demand instance pricing.

Use DescribeReservedInstancesOfferings to get a list of Reserved Instance offerings that match your specifications. After you've purchased a Reserved Instance, you can check for your new Reserved Instance with DescribeReservedInstances.

For more information, see Reserved Instances and Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" }, "PurchaseScheduledInstances":{ "name":"PurchaseScheduledInstances", @@ -2701,7 +2951,7 @@ }, "input":{"shape":"PurchaseScheduledInstancesRequest"}, "output":{"shape":"PurchaseScheduledInstancesResult"}, - "documentation":"

Purchases one or more Scheduled Instances with the specified schedule.

Scheduled Instances enable you to purchase Amazon EC2 compute capacity by the hour for a one-year term. Before you can purchase a Scheduled Instance, you must call DescribeScheduledInstanceAvailability to check for available schedules and obtain a purchase token. After you purchase a Scheduled Instance, you must call RunScheduledInstances during each scheduled time period.

After you purchase a Scheduled Instance, you can't cancel, modify, or resell your purchase.

" + "documentation":"

Purchases the Scheduled Instances with the specified schedule.

Scheduled Instances enable you to purchase Amazon EC2 compute capacity by the hour for a one-year term. Before you can purchase a Scheduled Instance, you must call DescribeScheduledInstanceAvailability to check for available schedules and obtain a purchase token. After you purchase a Scheduled Instance, you must call RunScheduledInstances during each scheduled time period.

After you purchase a Scheduled Instance, you can't cancel, modify, or resell your purchase.

" }, "RebootInstances":{ "name":"RebootInstances", @@ -2710,7 +2960,7 @@ "requestUri":"/" }, "input":{"shape":"RebootInstancesRequest"}, - "documentation":"

Requests a reboot of one or more instances. This operation is asynchronous; it only queues a request to reboot the specified instances. The operation succeeds if the instances are valid and belong to you. Requests to reboot terminated instances are ignored.

If an instance does not cleanly shut down within four minutes, Amazon EC2 performs a hard reboot.

For more information about troubleshooting, see Getting Console Output and Rebooting Instances in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Requests a reboot of the specified instances. This operation is asynchronous; it only queues a request to reboot the specified instances. The operation succeeds if the instances are valid and belong to you. Requests to reboot terminated instances are ignored.

If an instance does not cleanly shut down within four minutes, Amazon EC2 performs a hard reboot.

For more information about troubleshooting, see Getting Console Output and Rebooting Instances in the Amazon Elastic Compute Cloud User Guide.

" }, "RegisterImage":{ "name":"RegisterImage", @@ -2720,7 +2970,7 @@ }, "input":{"shape":"RegisterImageRequest"}, "output":{"shape":"RegisterImageResult"}, - "documentation":"

Registers an AMI. When you're creating an AMI, this is the final step you must complete before you can launch an instance from the AMI. For more information about creating AMIs, see Creating Your Own AMIs in the Amazon Elastic Compute Cloud User Guide.

For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single request, so you don't have to register the AMI yourself.

You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. You specify the snapshot using the block device mapping. For more information, see Launching a Linux Instance from a Backup in the Amazon Elastic Compute Cloud User Guide.

You can't register an image where a secondary (non-root) snapshot has AWS Marketplace product codes.

Some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES), use the EC2 billing product code associated with an AMI to verify the subscription status for package updates. Creating an AMI from an EBS snapshot does not maintain this billing code, and instances launched from such an AMI are not able to connect to package update infrastructure. If you purchase a Reserved Instance offering for one of these Linux distributions and launch instances using an AMI that does not contain the required billing code, your Reserved Instance is not applied to these instances.

To create an AMI for operating systems that require a billing code, see CreateImage.

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. If you make changes to an image, deregister the previous image and register the new image.

" + "documentation":"

Registers an AMI. When you're creating an AMI, this is the final step you must complete before you can launch an instance from the AMI. For more information about creating AMIs, see Creating Your Own AMIs in the Amazon Elastic Compute Cloud User Guide.

For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single request, so you don't have to register the AMI yourself.

You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. You specify the snapshot using the block device mapping. For more information, see Launching a Linux Instance from a Backup in the Amazon Elastic Compute Cloud User Guide.

You can't register an image where a secondary (non-root) snapshot has AWS Marketplace product codes.

Some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES), use the EC2 billing product code associated with an AMI to verify the subscription status for package updates. Creating an AMI from an EBS snapshot does not maintain this billing code, and instances launched from such an AMI are not able to connect to package update infrastructure. If you purchase a Reserved Instance offering for one of these Linux distributions and launch instances using an AMI that does not contain the required billing code, your Reserved Instance is not applied to these instances.

To create an AMI for operating systems that require a billing code, see CreateImage.

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. If you make changes to an image, deregister the previous image and register the new image.

" }, "RejectTransitGatewayVpcAttachment":{ "name":"RejectTransitGatewayVpcAttachment", @@ -2789,7 +3039,7 @@ }, "input":{"shape":"ReplaceNetworkAclAssociationRequest"}, "output":{"shape":"ReplaceNetworkAclAssociationResult"}, - "documentation":"

Changes which network ACL a subnet is associated with. By default when you create a subnet, it's automatically associated with the default network ACL. For more information, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

This is an idempotent operation.

" + "documentation":"

Changes which network ACL a subnet is associated with. By default when you create a subnet, it's automatically associated with the default network ACL. For more information, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

This is an idempotent operation.

" }, "ReplaceNetworkAclEntry":{ "name":"ReplaceNetworkAclEntry", @@ -2798,7 +3048,7 @@ "requestUri":"/" }, "input":{"shape":"ReplaceNetworkAclEntryRequest"}, - "documentation":"

Replaces an entry (rule) in a network ACL. For more information, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Replaces an entry (rule) in a network ACL. For more information, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" }, "ReplaceRoute":{ "name":"ReplaceRoute", @@ -2807,7 +3057,7 @@ "requestUri":"/" }, "input":{"shape":"ReplaceRouteRequest"}, - "documentation":"

Replaces an existing route within a route table in a VPC. You must provide only one of the following: internet gateway or virtual private gateway, NAT instance, NAT gateway, VPC peering connection, network interface, or egress-only internet gateway.

For more information, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Replaces an existing route within a route table in a VPC. You must provide only one of the following: internet gateway or virtual private gateway, NAT instance, NAT gateway, VPC peering connection, network interface, or egress-only internet gateway.

For more information, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" }, "ReplaceRouteTableAssociation":{ "name":"ReplaceRouteTableAssociation", @@ -2817,7 +3067,7 @@ }, "input":{"shape":"ReplaceRouteTableAssociationRequest"}, "output":{"shape":"ReplaceRouteTableAssociationResult"}, - "documentation":"

Changes the route table associated with a given subnet in a VPC. After the operation completes, the subnet uses the routes in the new route table it's associated with. For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

You can also use ReplaceRouteTableAssociation to change which table is the main route table in the VPC. You just specify the main route table's association ID and the route table to be the new main route table.

" + "documentation":"

Changes the route table associated with a given subnet in a VPC. After the operation completes, the subnet uses the routes in the new route table it's associated with. For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

You can also use ReplaceRouteTableAssociation to change which table is the main route table in the VPC. You just specify the main route table's association ID and the route table to be the new main route table.

" }, "ReplaceTransitGatewayRoute":{ "name":"ReplaceTransitGatewayRoute", @@ -2846,7 +3096,7 @@ }, "input":{"shape":"RequestSpotFleetRequest"}, "output":{"shape":"RequestSpotFleetResponse"}, - "documentation":"

Creates a Spot Fleet request.

The Spot Fleet request specifies the total target capacity and the On-Demand target capacity. Amazon EC2 calculates the difference between the total capacity and On-Demand capacity, and launches the difference as Spot capacity.

You can submit a single request that includes multiple launch specifications that vary by instance type, AMI, Availability Zone, or subnet.

By default, the Spot Fleet requests Spot Instances in the Spot pool where the price per unit is the lowest. Each launch specification can include its own instance weighting that reflects the value of the instance type to your application workload.

Alternatively, you can specify that the Spot Fleet distribute the target capacity across the Spot pools included in its launch specifications. By ensuring that the Spot Instances in your Spot Fleet are in different Spot pools, you can improve the availability of your fleet.

You can specify tags for the Spot Instances. You cannot tag other resource types in a Spot Fleet request because only the instance resource type is supported.

For more information, see Spot Fleet Requests in the Amazon EC2 User Guide for Linux Instances.

" + "documentation":"

Creates a Spot Fleet request.

The Spot Fleet request specifies the total target capacity and the On-Demand target capacity. Amazon EC2 calculates the difference between the total capacity and On-Demand capacity, and launches the difference as Spot capacity.

You can submit a single request that includes multiple launch specifications that vary by instance type, AMI, Availability Zone, or subnet.

By default, the Spot Fleet requests Spot Instances in the Spot pool where the price per unit is the lowest. Each launch specification can include its own instance weighting that reflects the value of the instance type to your application workload.

Alternatively, you can specify that the Spot Fleet distribute the target capacity across the Spot pools included in its launch specifications. By ensuring that the Spot Instances in your Spot Fleet are in different Spot pools, you can improve the availability of your fleet.

You can specify tags for the Spot Instances. You cannot tag other resource types in a Spot Fleet request because only the instance resource type is supported.

For more information, see Spot Fleet Requests in the Amazon EC2 User Guide for Linux Instances.

" }, "RequestSpotInstances":{ "name":"RequestSpotInstances", @@ -2856,7 +3106,17 @@ }, "input":{"shape":"RequestSpotInstancesRequest"}, "output":{"shape":"RequestSpotInstancesResult"}, - "documentation":"

Creates a Spot Instance request.

For more information, see Spot Instance Requests in the Amazon EC2 User Guide for Linux Instances.

" + "documentation":"

Creates a Spot Instance request.

For more information, see Spot Instance Requests in the Amazon EC2 User Guide for Linux Instances.

" + }, + "ResetEbsDefaultKmsKeyId":{ + "name":"ResetEbsDefaultKmsKeyId", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResetEbsDefaultKmsKeyIdRequest"}, + "output":{"shape":"ResetEbsDefaultKmsKeyIdResult"}, + "documentation":"

Resets the default customer master key (CMK) for EBS encryption for your account in this Region to the AWS managed CMK for EBS.

After resetting the default CMK to the AWS managed CMK, you can continue to encrypt by a customer managed CMK by specifying it when you create the volume. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" }, "ResetFpgaImageAttribute":{ "name":"ResetFpgaImageAttribute", @@ -2884,7 +3144,7 @@ "requestUri":"/" }, "input":{"shape":"ResetInstanceAttributeRequest"}, - "documentation":"

Resets an attribute of an instance to its default value. To reset the kernel or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck, the instance can be either running or stopped.

The sourceDestCheck attribute controls whether source/destination checking is enabled. The default value is true, which means checking is enabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Resets an attribute of an instance to its default value. To reset the kernel or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck, the instance can be either running or stopped.

The sourceDestCheck attribute controls whether source/destination checking is enabled. The default value is true, which means checking is enabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.

" }, "ResetNetworkInterfaceAttribute":{ "name":"ResetNetworkInterfaceAttribute", @@ -2902,7 +3162,7 @@ "requestUri":"/" }, "input":{"shape":"ResetSnapshotAttributeRequest"}, - "documentation":"

Resets permission settings for the specified snapshot.

For more information about modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Resets permission settings for the specified snapshot.

For more information about modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide.

" }, "RestoreAddressToClassic":{ "name":"RestoreAddressToClassic", @@ -2914,6 +3174,16 @@ "output":{"shape":"RestoreAddressToClassicResult"}, "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.

" }, + "RevokeClientVpnIngress":{ + "name":"RevokeClientVpnIngress", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RevokeClientVpnIngressRequest"}, + "output":{"shape":"RevokeClientVpnIngressResult"}, + "documentation":"

Removes an ingress authorization rule from a Client VPN endpoint.

" + }, "RevokeSecurityGroupEgress":{ "name":"RevokeSecurityGroupEgress", "http":{ @@ -2921,7 +3191,7 @@ "requestUri":"/" }, "input":{"shape":"RevokeSecurityGroupEgressRequest"}, - "documentation":"

[EC2-VPC only] Removes one or more egress rules from a security group for EC2-VPC. This action doesn't apply to security groups for use in EC2-Classic. To remove a rule, the values that you specify (for example, ports) must match the existing rule's values exactly.

Each rule consists of the protocol and the IPv4 or IPv6 CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code. If the security group rule has a description, you do not have to specify the description to revoke the rule.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

" + "documentation":"

[VPC only] Removes the specified egress rules from a security group for EC2-VPC. This action doesn't apply to security groups for use in EC2-Classic. To remove a rule, the values that you specify (for example, ports) must match the existing rule's values exactly.

Each rule consists of the protocol and the IPv4 or IPv6 CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code. If the security group rule has a description, you do not have to specify the description to revoke the rule.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

" }, "RevokeSecurityGroupIngress":{ "name":"RevokeSecurityGroupIngress", @@ -2930,7 +3200,7 @@ "requestUri":"/" }, "input":{"shape":"RevokeSecurityGroupIngressRequest"}, - "documentation":"

Removes one or more ingress rules from a security group. To remove a rule, the values that you specify (for example, ports) must match the existing rule's values exactly.

[EC2-Classic security groups only] If the values you specify do not match the existing rule's values, no error is returned. Use DescribeSecurityGroups to verify that the rule has been removed.

Each rule consists of the protocol and the CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code. If the security group rule has a description, you do not have to specify the description to revoke the rule.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

" + "documentation":"

Removes the specified ingress rules from a security group. To remove a rule, the values that you specify (for example, ports) must match the existing rule's values exactly.

[EC2-Classic only] If the values you specify do not match the existing rule's values, no error is returned. Use DescribeSecurityGroups to verify that the rule has been removed.

Each rule consists of the protocol and the CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code. If the security group rule has a description, you do not have to specify the description to revoke the rule.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

" }, "RunInstances":{ "name":"RunInstances", @@ -2940,7 +3210,7 @@ }, "input":{"shape":"RunInstancesRequest"}, "output":{"shape":"Reservation"}, - "documentation":"

Launches the specified number of instances using an AMI for which you have permissions.

You can specify a number of options, or leave the default options. The following rules apply:

  • [EC2-VPC] If you don't specify a subnet ID, we choose a default subnet from your default VPC for you. If you don't have a default VPC, you must specify a subnet ID in the request.

  • [EC2-Classic] If don't specify an Availability Zone, we choose one for you.

  • Some instance types must be launched into a VPC. If you do not have a default VPC, or if you do not specify a subnet ID, the request fails. For more information, see Instance Types Available Only in a VPC.

  • [EC2-VPC] All instances have a network interface with a primary private IPv4 address. If you don't specify this address, we choose one from the IPv4 range of your subnet.

  • Not all instance types support IPv6 addresses. For more information, see Instance Types.

  • If you don't specify a security group ID, we use the default security group. For more information, see Security Groups.

  • If any of the AMIs have a product code attached for which the user has not subscribed, the request fails.

You can create a launch template, which is a resource that contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify the launch template instead of specifying the launch parameters.

To ensure faster instance launches, break up large requests into smaller batches. For example, create five separate launch requests for 100 instances each instead of one launch request for 500 instances.

An instance is ready for you to use when it's in the running state. You can check the state of your instance using DescribeInstances. You can tag instances and EBS volumes during launch, after launch, or both. For more information, see CreateTags and Tagging Your Amazon EC2 Resources.

Linux instances have access to the public key of the key pair at boot. You can use this key to provide secure access to the instance. Amazon EC2 public images use this feature to provide secure access without passwords. For more information, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

For troubleshooting, see What To Do If An Instance Immediately Terminates, and Troubleshooting Connecting to Your Instance in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Launches the specified number of instances using an AMI for which you have permissions.

You can specify a number of options, or leave the default options. The following rules apply:

  • [EC2-VPC] If you don't specify a subnet ID, we choose a default subnet from your default VPC for you. If you don't have a default VPC, you must specify a subnet ID in the request.

  • [EC2-Classic] If don't specify an Availability Zone, we choose one for you.

  • Some instance types must be launched into a VPC. If you do not have a default VPC, or if you do not specify a subnet ID, the request fails. For more information, see Instance Types Available Only in a VPC.

  • [EC2-VPC] All instances have a network interface with a primary private IPv4 address. If you don't specify this address, we choose one from the IPv4 range of your subnet.

  • Not all instance types support IPv6 addresses. For more information, see Instance Types.

  • If you don't specify a security group ID, we use the default security group. For more information, see Security Groups.

  • If any of the AMIs have a product code attached for which the user has not subscribed, the request fails.

You can create a launch template, which is a resource that contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify the launch template instead of specifying the launch parameters.

To ensure faster instance launches, break up large requests into smaller batches. For example, create five separate launch requests for 100 instances each instead of one launch request for 500 instances.

An instance is ready for you to use when it's in the running state. You can check the state of your instance using DescribeInstances. You can tag instances and EBS volumes during launch, after launch, or both. For more information, see CreateTags and Tagging Your Amazon EC2 Resources.

Linux instances have access to the public key of the key pair at boot. You can use this key to provide secure access to the instance. Amazon EC2 public images use this feature to provide secure access without passwords. For more information, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

For troubleshooting, see What To Do If An Instance Immediately Terminates, and Troubleshooting Connecting to Your Instance in the Amazon Elastic Compute Cloud User Guide.

" }, "RunScheduledInstances":{ "name":"RunScheduledInstances", @@ -2950,7 +3220,7 @@ }, "input":{"shape":"RunScheduledInstancesRequest"}, "output":{"shape":"RunScheduledInstancesResult"}, - "documentation":"

Launches the specified Scheduled Instances.

Before you can launch a Scheduled Instance, you must purchase it and obtain an identifier using PurchaseScheduledInstances.

You must launch a Scheduled Instance during its scheduled time period. You can't stop or reboot a Scheduled Instance, but you can terminate it as needed. If you terminate a Scheduled Instance before the current scheduled time period ends, you can launch it again after a few minutes. For more information, see Scheduled Instances in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Launches the specified Scheduled Instances.

Before you can launch a Scheduled Instance, you must purchase it and obtain an identifier using PurchaseScheduledInstances.

You must launch a Scheduled Instance during its scheduled time period. You can't stop or reboot a Scheduled Instance, but you can terminate it as needed. If you terminate a Scheduled Instance before the current scheduled time period ends, you can launch it again after a few minutes. For more information, see Scheduled Instances in the Amazon Elastic Compute Cloud User Guide.

" }, "SearchTransitGatewayRoutes":{ "name":"SearchTransitGatewayRoutes", @@ -2970,7 +3240,7 @@ }, "input":{"shape":"StartInstancesRequest"}, "output":{"shape":"StartInstancesResult"}, - "documentation":"

Starts an Amazon EBS-backed instance that you've previously stopped.

Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for instance usage. However, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time. Every time you start your Windows instance, Amazon EC2 charges you for a full instance hour. If you stop and restart your Windows instance, a new instance hour begins and Amazon EC2 charges you for another full instance hour even if you are still within the same 60-minute period when it was stopped. Every time you start your Linux instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage.

Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Performing this operation on an instance that uses an instance store as its root device returns an error.

For more information, see Stopping Instances in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Starts an Amazon EBS-backed instance that you've previously stopped.

Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for instance usage. However, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time. Every time you start your Windows instance, Amazon EC2 charges you for a full instance hour. If you stop and restart your Windows instance, a new instance hour begins and Amazon EC2 charges you for another full instance hour even if you are still within the same 60-minute period when it was stopped. Every time you start your Linux instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage.

Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Performing this operation on an instance that uses an instance store as its root device returns an error.

For more information, see Stopping Instances in the Amazon Elastic Compute Cloud User Guide.

" }, "StopInstances":{ "name":"StopInstances", @@ -2980,7 +3250,17 @@ }, "input":{"shape":"StopInstancesRequest"}, "output":{"shape":"StopInstancesResult"}, - "documentation":"

Stops an Amazon EBS-backed instance.

You can use the Stop action to hibernate an instance if the instance is enabled for hibernation and it meets the hibernation prerequisites. For more information, see Hibernate Your Instance in the Amazon Elastic Compute Cloud User Guide.

We don't charge usage for a stopped instance, or data transfer fees; however, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. Every time you start your Windows instance, Amazon EC2 charges you for a full instance hour. If you stop and restart your Windows instance, a new instance hour begins and Amazon EC2 charges you for another full instance hour even if you are still within the same 60-minute period when it was stopped. Every time you start your Linux instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage.

You can't start, stop, or hibernate Spot Instances, and you can't stop or hibernate instance store-backed instances. For information about using hibernation for Spot Instances, see Hibernating Interrupted Spot Instances in the Amazon Elastic Compute Cloud User Guide.

When you stop or hibernate an instance, we shut it down. You can restart your instance at any time. Before stopping or hibernating an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM, but hibernating an instance does preserve data stored in RAM. If an instance cannot hibernate successfully, a normal shutdown occurs.

Stopping and hibernating an instance is different to rebooting or terminating it. For example, when you stop or hibernate an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, the root device and any other devices attached during the instance launch are automatically deleted. For more information about the differences between rebooting, stopping, hibernating, and terminating instances, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

When you stop an instance, we attempt to shut it down forcibly after a short while. If your instance appears stuck in the stopping state after a period of time, there may be an issue with the underlying host computer. For more information, see Troubleshooting Stopping Your Instance in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Stops an Amazon EBS-backed instance.

You can use the Stop action to hibernate an instance if the instance is enabled for hibernation and it meets the hibernation prerequisites. For more information, see Hibernate Your Instance in the Amazon Elastic Compute Cloud User Guide.

We don't charge usage for a stopped instance, or data transfer fees; however, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. Every time you start your Windows instance, Amazon EC2 charges you for a full instance hour. If you stop and restart your Windows instance, a new instance hour begins and Amazon EC2 charges you for another full instance hour even if you are still within the same 60-minute period when it was stopped. Every time you start your Linux instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage.

You can't start, stop, or hibernate Spot Instances, and you can't stop or hibernate instance store-backed instances. For information about using hibernation for Spot Instances, see Hibernating Interrupted Spot Instances in the Amazon Elastic Compute Cloud User Guide.

When you stop or hibernate an instance, we shut it down. You can restart your instance at any time. Before stopping or hibernating an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM, but hibernating an instance does preserve data stored in RAM. If an instance cannot hibernate successfully, a normal shutdown occurs.

Stopping and hibernating an instance is different to rebooting or terminating it. For example, when you stop or hibernate an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, the root device and any other devices attached during the instance launch are automatically deleted. For more information about the differences between rebooting, stopping, hibernating, and terminating instances, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

When you stop an instance, we attempt to shut it down forcibly after a short while. If your instance appears stuck in the stopping state after a period of time, there may be an issue with the underlying host computer. For more information, see Troubleshooting Stopping Your Instance in the Amazon Elastic Compute Cloud User Guide.

" + }, + "TerminateClientVpnConnections":{ + "name":"TerminateClientVpnConnections", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TerminateClientVpnConnectionsRequest"}, + "output":{"shape":"TerminateClientVpnConnectionsResult"}, + "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.

" }, "TerminateInstances":{ "name":"TerminateInstances", @@ -2990,7 +3270,7 @@ }, "input":{"shape":"TerminateInstancesRequest"}, "output":{"shape":"TerminateInstancesResult"}, - "documentation":"

Shuts down one or more instances. This operation is idempotent; if you terminate an instance more than once, each call succeeds.

If you specify multiple instances and the request fails (for example, because of a single incorrect instance ID), none of the instances are terminated.

Terminated instances remain visible after termination (for approximately one hour).

By default, Amazon EC2 deletes all EBS volumes that were attached when the instance launched. Volumes attached after instance launch continue running.

You can stop, start, and terminate EBS-backed instances. You can only terminate instance store-backed instances. What happens to an instance differs if you stop it or terminate it. For example, when you stop an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, any attached EBS volumes with the DeleteOnTermination block device mapping parameter set to true are automatically deleted. For more information about the differences between stopping and terminating instances, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

For more information about troubleshooting, see Troubleshooting Terminating Your Instance in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Shuts down the specified instances. This operation is idempotent; if you terminate an instance more than once, each call succeeds.

If you specify multiple instances and the request fails (for example, because of a single incorrect instance ID), none of the instances are terminated.

Terminated instances remain visible after termination (for approximately one hour).

By default, Amazon EC2 deletes all EBS volumes that were attached when the instance launched. Volumes attached after instance launch continue running.

You can stop, start, and terminate EBS-backed instances. You can only terminate instance store-backed instances. What happens to an instance differs if you stop it or terminate it. For example, when you stop an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, any attached EBS volumes with the DeleteOnTermination block device mapping parameter set to true are automatically deleted. For more information about the differences between stopping and terminating instances, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

For more information about troubleshooting, see Troubleshooting Terminating Your Instance in the Amazon Elastic Compute Cloud User Guide.

" }, "UnassignIpv6Addresses":{ "name":"UnassignIpv6Addresses", @@ -3019,7 +3299,7 @@ }, "input":{"shape":"UnmonitorInstancesRequest"}, "output":{"shape":"UnmonitorInstancesResult"}, - "documentation":"

Disables detailed monitoring for a running instance. For more information, see Monitoring Your Instances and Volumes in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Disables detailed monitoring for a running instance. For more information, see Monitoring Your Instances and Volumes in the Amazon Elastic Compute Cloud User Guide.

" }, "UpdateSecurityGroupRuleDescriptionsEgress":{ "name":"UpdateSecurityGroupRuleDescriptionsEgress", @@ -3029,7 +3309,7 @@ }, "input":{"shape":"UpdateSecurityGroupRuleDescriptionsEgressRequest"}, "output":{"shape":"UpdateSecurityGroupRuleDescriptionsEgressResult"}, - "documentation":"

[EC2-VPC only] Updates the description of an egress (outbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously.

You specify the description as part of the IP permissions structure. You can remove a description for a security group rule by omitting the description parameter in the request.

" + "documentation":"

[VPC only] Updates the description of an egress (outbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously.

You specify the description as part of the IP permissions structure. You can remove a description for a security group rule by omitting the description parameter in the request.

" }, "UpdateSecurityGroupRuleDescriptionsIngress":{ "name":"UpdateSecurityGroupRuleDescriptionsIngress", @@ -3176,7 +3456,7 @@ }, "AttributeValues":{ "shape":"AccountAttributeValueList", - "documentation":"

One or more values for the account attribute.

", + "documentation":"

The values for the account attribute.

", "locationName":"attributeValueSet" } }, @@ -3332,7 +3612,7 @@ "members":{ "Cidr":{ "shape":"String", - "documentation":"

The IPv4 address range, in CIDR notation.

" + "documentation":"

The IPv4 address range, in CIDR notation. This must be the exact range that you provisioned. You can't advertise only a portion of the provisioned range.

" }, "DryRun":{ "shape":"Boolean", @@ -3414,22 +3694,22 @@ "members":{ "AutoPlacement":{ "shape":"AutoPlacement", - "documentation":"

This is enabled by default. This property allows instances to be automatically placed onto available Dedicated Hosts, when you are launching instances without specifying a host ID.

Default: Enabled

", + "documentation":"

Indicates whether the host accepts any untargeted instance launches that match its instance type configuration, or if it only accepts Host tenancy instance launches that specify its unique host ID. For more information, see Understanding Instance Placement and Host Affinity in the Amazon EC2 User Guide for Linux Instances.

Default: on

", "locationName":"autoPlacement" }, "AvailabilityZone":{ "shape":"String", - "documentation":"

The Availability Zone for the Dedicated Hosts.

", + "documentation":"

The Availability Zone in which to allocate the Dedicated Host.

", "locationName":"availabilityZone" }, "ClientToken":{ "shape":"String", - "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide.

", + "documentation":"

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

", "locationName":"clientToken" }, "InstanceType":{ "shape":"String", - "documentation":"

Specify the instance type for which to configure your Dedicated Hosts. When you specify the instance type, that is the only instance type that you can launch onto that host.

", + "documentation":"

Specifies the instance type for which to configure your Dedicated Hosts. When you specify the instance type, that is the only instance type that you can launch onto that host.

", "locationName":"instanceType" }, "Quantity":{ @@ -3441,6 +3721,10 @@ "shape":"TagSpecificationList", "documentation":"

The tags to apply to the Dedicated Host during creation.

", "locationName":"TagSpecification" + }, + "HostRecovery":{ + "shape":"HostRecovery", + "documentation":"

Indicates whether to enable or disable host recovery for the Dedicated Host. Host recovery is disabled by default. For more information, see Host Recovery in the Amazon Elastic Compute Cloud User Guide.

Default: off

" } } }, @@ -3469,7 +3753,8 @@ "under-assessment", "permanent-failure", "released", - "released-permanent-failure" + "released-permanent-failure", + "pending" ] }, "AllocationStrategy":{ @@ -3502,6 +3787,43 @@ "locationName":"item" } }, + "ApplySecurityGroupsToClientVpnTargetNetworkRequest":{ + "type":"structure", + "required":[ + "ClientVpnEndpointId", + "VpcId", + "SecurityGroupIds" + ], + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint.

" + }, + "VpcId":{ + "shape":"String", + "documentation":"

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

" + }, + "SecurityGroupIds":{ + "shape":"ClientVpnSecurityGroupIdSet", + "documentation":"

The IDs of the security groups to apply to the associated target network. Up to 5 security groups can be applied to an associated target network.

", + "locationName":"SecurityGroupId" + }, + "DryRun":{ + "shape":"Boolean", + "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.

" + } + } + }, + "ApplySecurityGroupsToClientVpnTargetNetworkResult":{ + "type":"structure", + "members":{ + "SecurityGroupIds":{ + "shape":"ClientVpnSecurityGroupIdSet", + "documentation":"

The IDs of the applied security groups.

", + "locationName":"securityGroupIds" + } + } + }, "ArchitectureValues":{ "type":"string", "enum":[ @@ -3586,7 +3908,7 @@ }, "PublicIp":{ "shape":"String", - "documentation":"

The Elastic IP address. This is required for EC2-Classic.

" + "documentation":"

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

" }, "AllowReassociation":{ "shape":"Boolean", @@ -3600,7 +3922,7 @@ }, "NetworkInterfaceId":{ "shape":"String", - "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.

", + "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.

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

", "locationName":"networkInterfaceId" }, "PrivateIpAddress":{ @@ -3620,6 +3942,47 @@ } } }, + "AssociateClientVpnTargetNetworkRequest":{ + "type":"structure", + "required":[ + "ClientVpnEndpointId", + "SubnetId" + ], + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint.

" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

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

" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

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

", + "idempotencyToken":true + }, + "DryRun":{ + "shape":"Boolean", + "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.

" + } + } + }, + "AssociateClientVpnTargetNetworkResult":{ + "type":"structure", + "members":{ + "AssociationId":{ + "shape":"String", + "documentation":"

The unique ID of the target network association.

", + "locationName":"associationId" + }, + "Status":{ + "shape":"AssociationStatus", + "documentation":"

The current state of the target network association.

", + "locationName":"status" + } + } + }, "AssociateDhcpOptionsRequest":{ "type":"structure", "required":[ @@ -3808,6 +4171,33 @@ } } }, + "AssociatedNetworkType":{ + "type":"string", + "enum":["vpc"] + }, + "AssociatedTargetNetwork":{ + "type":"structure", + "members":{ + "NetworkId":{ + "shape":"String", + "documentation":"

The ID of the subnet.

", + "locationName":"networkId" + }, + "NetworkType":{ + "shape":"AssociatedNetworkType", + "documentation":"

The target network type.

", + "locationName":"networkType" + } + }, + "documentation":"

Describes a target network that is associated with a Client VPN endpoint. A target network is a subnet in a VPC.

" + }, + "AssociatedTargetNetworkSet":{ + "type":"list", + "member":{ + "shape":"AssociatedTargetNetwork", + "locationName":"item" + } + }, "AssociationIdList":{ "type":"list", "member":{ @@ -3815,6 +4205,32 @@ "locationName":"AssociationId" } }, + "AssociationStatus":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"AssociationStatusCode", + "documentation":"

The state of the target network association.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

A message about the status of the target network association, if applicable.

", + "locationName":"message" + } + }, + "documentation":"

Describes the state of a target network association.

" + }, + "AssociationStatusCode":{ + "type":"string", + "enum":[ + "associating", + "associated", + "association-failed", + "disassociating", + "disassociated" + ] + }, "AttachClassicLinkVpcRequest":{ "type":"structure", "required":[ @@ -4014,34 +4430,125 @@ }, "documentation":"

Describes a value for a resource attribute that is a String.

" }, - "AuthorizeSecurityGroupEgressRequest":{ + "AuthorizationRule":{ "type":"structure", - "required":["GroupId"], "members":{ - "DryRun":{ - "shape":"Boolean", - "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.

", - "locationName":"dryRun" + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint with which the authorization rule is associated.

", + "locationName":"clientVpnEndpointId" + }, + "Description":{ + "shape":"String", + "documentation":"

A brief description of the authorization rule.

", + "locationName":"description" }, "GroupId":{ "shape":"String", - "documentation":"

The ID of the security group.

", + "documentation":"

The ID of the Active Directory group to which the authorization rule grants access.

", "locationName":"groupId" }, - "IpPermissions":{ - "shape":"IpPermissionList", - "documentation":"

One or more sets of IP permissions. You can't specify a destination security group and a CIDR IP address range in the same set of permissions.

", - "locationName":"ipPermissions" + "AccessAll":{ + "shape":"Boolean", + "documentation":"

Indicates whether the authorization rule grants access to all clients.

", + "locationName":"accessAll" }, - "CidrIp":{ + "DestinationCidr":{ "shape":"String", - "documentation":"

Not supported. Use a set of IP permissions to specify the CIDR.

", - "locationName":"cidrIp" - }, - "FromPort":{ - "shape":"Integer", - "documentation":"

Not supported. Use a set of IP permissions to specify the port.

", - "locationName":"fromPort" + "documentation":"

The IPv4 address range, in CIDR notation, of the network to which the authorization rule applies.

", + "locationName":"destinationCidr" + }, + "Status":{ + "shape":"ClientVpnAuthorizationRuleStatus", + "documentation":"

The current state of the authorization rule.

", + "locationName":"status" + } + }, + "documentation":"

Information about an authorization rule.

" + }, + "AuthorizationRuleSet":{ + "type":"list", + "member":{ + "shape":"AuthorizationRule", + "locationName":"item" + } + }, + "AuthorizeClientVpnIngressRequest":{ + "type":"structure", + "required":[ + "ClientVpnEndpointId", + "TargetNetworkCidr" + ], + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint.

" + }, + "TargetNetworkCidr":{ + "shape":"String", + "documentation":"

The IPv4 address range, in CIDR notation, of the network for which access is being authorized.

" + }, + "AccessGroupId":{ + "shape":"String", + "documentation":"

The ID of the Active Directory group to grant access.

" + }, + "AuthorizeAllGroups":{ + "shape":"Boolean", + "documentation":"

Indicates whether to grant access to all clients. Use true to grant all clients who successfully establish a VPN connection access to the network.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A brief description of the authorization rule.

" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

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

", + "idempotencyToken":true + }, + "DryRun":{ + "shape":"Boolean", + "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.

" + } + } + }, + "AuthorizeClientVpnIngressResult":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"ClientVpnAuthorizationRuleStatus", + "documentation":"

The current state of the authorization rule.

", + "locationName":"status" + } + } + }, + "AuthorizeSecurityGroupEgressRequest":{ + "type":"structure", + "required":["GroupId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "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.

", + "locationName":"dryRun" + }, + "GroupId":{ + "shape":"String", + "documentation":"

The ID of the security group.

", + "locationName":"groupId" + }, + "IpPermissions":{ + "shape":"IpPermissionList", + "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.

", + "locationName":"ipPermissions" + }, + "CidrIp":{ + "shape":"String", + "documentation":"

Not supported. Use a set of IP permissions to specify the CIDR.

", + "locationName":"cidrIp" + }, + "FromPort":{ + "shape":"Integer", + "documentation":"

Not supported. Use a set of IP permissions to specify the port.

", + "locationName":"fromPort" }, "IpProtocol":{ "shape":"String", @@ -4070,11 +4577,11 @@ "members":{ "CidrIp":{ "shape":"String", - "documentation":"

The CIDR IPv4 address range. You can't specify this parameter when specifying a source security group.

" + "documentation":"

The IPv4 address range, in CIDR format. You can't specify this parameter when specifying a source security group. To specify an IPv6 address range, use a set of IP permissions.

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

" }, "FromPort":{ "shape":"Integer", - "documentation":"

The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. For the ICMP/ICMPv6 type number, use -1 to specify all types. If you specify all ICMP/ICMPv6 types, you must specify all codes.

" + "documentation":"

The start of port range for the TCP and UDP protocols, or an ICMP type number. For the ICMP type number, use -1 to specify all types. If you specify all ICMP types, you must specify all codes.

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

" }, "GroupId":{ "shape":"String", @@ -4086,11 +4593,11 @@ }, "IpPermissions":{ "shape":"IpPermissionList", - "documentation":"

One or more sets of IP permissions. Can be used to specify multiple rules in a single command.

" + "documentation":"

The sets of IP permissions.

" }, "IpProtocol":{ "shape":"String", - "documentation":"

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). (VPC only) Use -1 to specify all protocols. If you specify -1, or a protocol number other than tcp, udp, icmp, or 58 (ICMPv6), traffic on all ports is allowed, regardless of any ports you specify. For tcp, udp, and icmp, you must specify a port range. For protocol 58 (ICMPv6), you can optionally specify a port range; if you don't, traffic for all types and codes is allowed.

" + "documentation":"

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). To specify icmpv6, use a set of IP permissions.

[VPC only] Use -1 to specify all protocols. If you specify -1 or a protocol other than tcp, udp, or icmp, traffic on all ports is allowed, regardless of any ports you specify.

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

" }, "SourceSecurityGroupName":{ "shape":"String", @@ -4098,11 +4605,11 @@ }, "SourceSecurityGroupOwnerId":{ "shape":"String", - "documentation":"

[EC2-Classic] The AWS account ID for 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. Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol and port range, use a set of IP permissions instead.

" + "documentation":"

[nondefault VPC] The AWS account ID for 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. Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol and port range, use a set of IP permissions instead.

" }, "ToPort":{ "shape":"Integer", - "documentation":"

The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code number. For the ICMP/ICMPv6 code number, use -1 to specify all codes. If you specify all ICMP/ICMPv6 types, you must specify all codes.

" + "documentation":"

The end of port range for the TCP and UDP protocols, or an ICMP code number. For the ICMP code number, use -1 to specify all codes. If you specify all ICMP types, you must specify all codes.

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

" }, "DryRun":{ "shape":"Boolean", @@ -4140,7 +4647,7 @@ }, "RegionName":{ "shape":"String", - "documentation":"

The name of the region.

", + "documentation":"

The name of the Region.

", "locationName":"regionName" }, "ZoneName":{ @@ -4608,10 +5115,6 @@ }, "CancelSpotFleetRequestsError":{ "type":"structure", - "required":[ - "Code", - "Message" - ], "members":{ "Code":{ "shape":"CancelBatchErrorCode", @@ -4628,10 +5131,6 @@ }, "CancelSpotFleetRequestsErrorItem":{ "type":"structure", - "required":[ - "Error", - "SpotFleetRequestId" - ], "members":{ "Error":{ "shape":"CancelSpotFleetRequestsError", @@ -4696,11 +5195,6 @@ }, "CancelSpotFleetRequestsSuccessItem":{ "type":"structure", - "required":[ - "CurrentSpotFleetRequestState", - "PreviousSpotFleetRequestState", - "SpotFleetRequestId" - ], "members":{ "CurrentSpotFleetRequestState":{ "shape":"BatchState", @@ -4886,7 +5380,10 @@ "Windows with SQL Server", "Windows with SQL Server Enterprise", "Windows with SQL Server Standard", - "Windows with SQL Server Web" + "Windows with SQL Server Web", + "Linux with SQL Server Standard", + "Linux with SQL Server Web", + "Linux with SQL Server Enterprise" ] }, "CapacityReservationPreference":{ @@ -4915,7 +5412,7 @@ "documentation":"

Information about the target Capacity Reservation.

" } }, - "documentation":"

Describes an instance's Capacity Reservation targeting option. You can specify only one option at a time. Use the CapacityReservationPreference parameter to configure the instance to run as an On-Demand Instance or to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone). Use the CapacityReservationTarget parameter to explicitly target a specific Capacity Reservation.

" + "documentation":"

Describes an instance's Capacity Reservation targeting option. You can specify only one parameter at a time. If you specify CapacityReservationPreference and CapacityReservationTarget, the request fails.

Use the CapacityReservationPreference parameter to configure the instance to run as an On-Demand Instance or to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone). Use the CapacityReservationTarget parameter to explicitly target a specific Capacity Reservation.

" }, "CapacityReservationSpecificationResponse":{ "type":"structure", @@ -4971,6 +5468,27 @@ "dedicated" ] }, + "CertificateAuthentication":{ + "type":"structure", + "members":{ + "ClientRootCertificateChain":{ + "shape":"String", + "documentation":"

The ARN of the client certificate.

", + "locationName":"clientRootCertificateChain" + } + }, + "documentation":"

Information about the client certificate used for authentication.

" + }, + "CertificateAuthenticationRequest":{ + "type":"structure", + "members":{ + "ClientRootCertificateChainArn":{ + "shape":"String", + "documentation":"

The ARN of the client certificate. The certificate must be signed by a certificate authority (CA) and it must be provisioned in AWS Certificate Manager (ACM).

" + } + }, + "documentation":"

Information about the client certificate to be used for authentication.

" + }, "CidrAuthorizationContext":{ "type":"structure", "required":[ @@ -4987,7 +5505,7 @@ "documentation":"

The signed authorization message for the prefix and account.

" } }, - "documentation":"

Provides authorization for Amazon to bring a specific IP address range to a specific AWS account using bring your own IP addresses (BYOIP).

" + "documentation":"

Provides authorization for Amazon to bring a specific IP address range to a specific AWS account using bring your own IP addresses (BYOIP). For more information, see Prepare to Bring Your Address Range to Your AWS Account in the Amazon Elastic Compute Cloud User Guide.

" }, "CidrBlock":{ "type":"structure", @@ -5065,7 +5583,6 @@ }, "ClassicLoadBalancer":{ "type":"structure", - "required":["Name"], "members":{ "Name":{ "shape":"String", @@ -5086,7 +5603,6 @@ }, "ClassicLoadBalancersConfig":{ "type":"structure", - "required":["ClassicLoadBalancers"], "members":{ "ClassicLoadBalancers":{ "shape":"ClassicLoadBalancers", @@ -5096,6 +5612,29 @@ }, "documentation":"

Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet registers the running Spot Instances with these Classic Load Balancers.

" }, + "ClientCertificateRevocationListStatus":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"ClientCertificateRevocationListStatusCode", + "documentation":"

The state of the client certificate revocation list.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

A message about the status of the client certificate revocation list, if applicable.

", + "locationName":"message" + } + }, + "documentation":"

Describes the state of a client certificate revocation list.

" + }, + "ClientCertificateRevocationListStatusCode":{ + "type":"string", + "enum":[ + "pending", + "active" + ] + }, "ClientData":{ "type":"structure", "members":{ @@ -5118,6 +5657,384 @@ }, "documentation":"

Describes the client-specific data.

" }, + "ClientVpnAuthentication":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"ClientVpnAuthenticationType", + "documentation":"

The authentication type used.

", + "locationName":"type" + }, + "ActiveDirectory":{ + "shape":"DirectoryServiceAuthentication", + "documentation":"

Information about the Active Directory, if applicable.

", + "locationName":"activeDirectory" + }, + "MutualAuthentication":{ + "shape":"CertificateAuthentication", + "documentation":"

Information about the authentication certificates, if applicable.

", + "locationName":"mutualAuthentication" + } + }, + "documentation":"

Describes the authentication methods used by a Client VPN endpoint. Client VPN supports Active Directory and mutual authentication. For more information, see Authentication in the AWS Client VPN Administrator Guide.

" + }, + "ClientVpnAuthenticationList":{ + "type":"list", + "member":{ + "shape":"ClientVpnAuthentication", + "locationName":"item" + } + }, + "ClientVpnAuthenticationRequest":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"ClientVpnAuthenticationType", + "documentation":"

The type of client authentication to be used. Specify certificate-authentication to use certificate-based authentication, or directory-service-authentication to use Active Directory authentication.

" + }, + "ActiveDirectory":{ + "shape":"DirectoryServiceAuthenticationRequest", + "documentation":"

Information about the Active Directory to be used, if applicable. You must provide this information if Type is directory-service-authentication.

" + }, + "MutualAuthentication":{ + "shape":"CertificateAuthenticationRequest", + "documentation":"

Information about the authentication certificates to be used, if applicable. You must provide this information if Type is certificate-authentication.

" + } + }, + "documentation":"

Describes the authentication method to be used by a Client VPN endpoint. Client VPN supports Active Directory and mutual authentication. For more information, see Authentication in the AWS Client VPN Administrator Guide.

" + }, + "ClientVpnAuthenticationRequestList":{ + "type":"list", + "member":{"shape":"ClientVpnAuthenticationRequest"} + }, + "ClientVpnAuthenticationType":{ + "type":"string", + "enum":[ + "certificate-authentication", + "directory-service-authentication" + ] + }, + "ClientVpnAuthorizationRuleStatus":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"ClientVpnAuthorizationRuleStatusCode", + "documentation":"

The state of the authorization rule.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

A message about the status of the authorization rule, if applicable.

", + "locationName":"message" + } + }, + "documentation":"

Describes the state of an authorization rule.

" + }, + "ClientVpnAuthorizationRuleStatusCode":{ + "type":"string", + "enum":[ + "authorizing", + "active", + "failed", + "revoking" + ] + }, + "ClientVpnConnection":{ + "type":"structure", + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint to which the client is connected.

", + "locationName":"clientVpnEndpointId" + }, + "Timestamp":{ + "shape":"String", + "documentation":"

The current date and time.

", + "locationName":"timestamp" + }, + "ConnectionId":{ + "shape":"String", + "documentation":"

The ID of the client connection.

", + "locationName":"connectionId" + }, + "Username":{ + "shape":"String", + "documentation":"

The username of the client who established the client connection. This information is only provided if Active Directory client authentication is used.

", + "locationName":"username" + }, + "ConnectionEstablishedTime":{ + "shape":"String", + "documentation":"

The date and time the client connection was established.

", + "locationName":"connectionEstablishedTime" + }, + "IngressBytes":{ + "shape":"String", + "documentation":"

The number of bytes sent by the client.

", + "locationName":"ingressBytes" + }, + "EgressBytes":{ + "shape":"String", + "documentation":"

The number of bytes received by the client.

", + "locationName":"egressBytes" + }, + "IngressPackets":{ + "shape":"String", + "documentation":"

The number of packets sent by the client.

", + "locationName":"ingressPackets" + }, + "EgressPackets":{ + "shape":"String", + "documentation":"

The number of packets received by the client.

", + "locationName":"egressPackets" + }, + "ClientIp":{ + "shape":"String", + "documentation":"

The IP address of the client.

", + "locationName":"clientIp" + }, + "CommonName":{ + "shape":"String", + "documentation":"

The common name associated with the client. This is either the name of the client certificate, or the Active Directory user name.

", + "locationName":"commonName" + }, + "Status":{ + "shape":"ClientVpnConnectionStatus", + "documentation":"

The current state of the client connection.

", + "locationName":"status" + }, + "ConnectionEndTime":{ + "shape":"String", + "documentation":"

The date and time the client connection was terminated.

", + "locationName":"connectionEndTime" + } + }, + "documentation":"

Describes a client connection.

" + }, + "ClientVpnConnectionSet":{ + "type":"list", + "member":{ + "shape":"ClientVpnConnection", + "locationName":"item" + } + }, + "ClientVpnConnectionStatus":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"ClientVpnConnectionStatusCode", + "documentation":"

The state of the client connection.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

A message about the status of the client connection, if applicable.

", + "locationName":"message" + } + }, + "documentation":"

Describes the status of a client connection.

" + }, + "ClientVpnConnectionStatusCode":{ + "type":"string", + "enum":[ + "active", + "failed-to-terminate", + "terminating", + "terminated" + ] + }, + "ClientVpnEndpoint":{ + "type":"structure", + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint.

", + "locationName":"clientVpnEndpointId" + }, + "Description":{ + "shape":"String", + "documentation":"

A brief description of the endpoint.

", + "locationName":"description" + }, + "Status":{ + "shape":"ClientVpnEndpointStatus", + "documentation":"

The current state of the Client VPN endpoint.

", + "locationName":"status" + }, + "CreationTime":{ + "shape":"String", + "documentation":"

The date and time the Client VPN endpoint was created.

", + "locationName":"creationTime" + }, + "DeletionTime":{ + "shape":"String", + "documentation":"

The date and time the Client VPN endpoint was deleted, if applicable.

", + "locationName":"deletionTime" + }, + "DnsName":{ + "shape":"String", + "documentation":"

The DNS name to be used by clients when connecting to the Client VPN endpoint.

", + "locationName":"dnsName" + }, + "ClientCidrBlock":{ + "shape":"String", + "documentation":"

The IPv4 address range, in CIDR notation, from which client IP addresses are assigned.

", + "locationName":"clientCidrBlock" + }, + "DnsServers":{ + "shape":"ValueStringList", + "documentation":"

Information about the DNS servers to be used for DNS resolution.

", + "locationName":"dnsServer" + }, + "SplitTunnel":{ + "shape":"Boolean", + "documentation":"

Indicates whether VPN split tunneling is supported.

", + "locationName":"splitTunnel" + }, + "VpnProtocol":{ + "shape":"VpnProtocol", + "documentation":"

The protocol used by the VPN session.

", + "locationName":"vpnProtocol" + }, + "TransportProtocol":{ + "shape":"TransportProtocol", + "documentation":"

The transport protocol used by the Client VPN endpoint.

", + "locationName":"transportProtocol" + }, + "AssociatedTargetNetworks":{ + "shape":"AssociatedTargetNetworkSet", + "documentation":"

Information about the associated target networks. A target network is a subnet in a VPC.

", + "deprecated":true, + "deprecatedMessage":"This property is deprecated. To view the target networks associated with a Client VPN endpoint, call DescribeClientVpnTargetNetworks and inspect the clientVpnTargetNetworks response element.", + "locationName":"associatedTargetNetwork" + }, + "ServerCertificateArn":{ + "shape":"String", + "documentation":"

The ARN of the server certificate.

", + "locationName":"serverCertificateArn" + }, + "AuthenticationOptions":{ + "shape":"ClientVpnAuthenticationList", + "documentation":"

Information about the authentication method used by the Client VPN endpoint.

", + "locationName":"authenticationOptions" + }, + "ConnectionLogOptions":{ + "shape":"ConnectionLogResponseOptions", + "documentation":"

Information about the client connection logging options for the Client VPN endpoint.

", + "locationName":"connectionLogOptions" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the Client VPN endpoint.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes a Client VPN endpoint.

" + }, + "ClientVpnEndpointStatus":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"ClientVpnEndpointStatusCode", + "documentation":"

The state of the Client VPN endpoint. Possible states include:

  • pending-associate - The Client VPN endpoint has been created but no target networks have been associated. The Client VPN endpoint cannot accept connections.

  • available - The Client VPN endpoint has been created and a target network has been associated. The Client VPN endpoint can accept connections.

  • deleting - The Client VPN endpoint is being deleted. The Client VPN endpoint cannot accept connections.

  • deleted - The Client VPN endpoint has been deleted. The Client VPN endpoint cannot accept connections.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

A message about the status of the Client VPN endpoint.

", + "locationName":"message" + } + }, + "documentation":"

Describes the state of a Client VPN endpoint.

" + }, + "ClientVpnEndpointStatusCode":{ + "type":"string", + "enum":[ + "pending-associate", + "available", + "deleting", + "deleted" + ] + }, + "ClientVpnRoute":{ + "type":"structure", + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint with which the route is associated.

", + "locationName":"clientVpnEndpointId" + }, + "DestinationCidr":{ + "shape":"String", + "documentation":"

The IPv4 address range, in CIDR notation, of the route destination.

", + "locationName":"destinationCidr" + }, + "TargetSubnet":{ + "shape":"String", + "documentation":"

The ID of the subnet through which traffic is routed.

", + "locationName":"targetSubnet" + }, + "Type":{ + "shape":"String", + "documentation":"

The route type.

", + "locationName":"type" + }, + "Origin":{ + "shape":"String", + "documentation":"

Indicates how the route was associated with the Client VPN endpoint. associate indicates that the route was automatically added when the target network was associated with the Client VPN endpoint. add-route indicates that the route was manually added using the CreateClientVpnRoute action.

", + "locationName":"origin" + }, + "Status":{ + "shape":"ClientVpnRouteStatus", + "documentation":"

The current state of the route.

", + "locationName":"status" + }, + "Description":{ + "shape":"String", + "documentation":"

A brief description of the route.

", + "locationName":"description" + } + }, + "documentation":"

Information about a Client VPN endpoint route.

" + }, + "ClientVpnRouteSet":{ + "type":"list", + "member":{ + "shape":"ClientVpnRoute", + "locationName":"item" + } + }, + "ClientVpnRouteStatus":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"ClientVpnRouteStatusCode", + "documentation":"

The state of the Client VPN endpoint route.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

A message about the status of the Client VPN endpoint route, if applicable.

", + "locationName":"message" + } + }, + "documentation":"

Describes the state of a Client VPN endpoint route.

" + }, + "ClientVpnRouteStatusCode":{ + "type":"string", + "enum":[ + "creating", + "active", + "failed", + "deleting" + ] + }, + "ClientVpnSecurityGroupIdSet":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"item" + } + }, "ConfirmProductInstanceRequest":{ "type":"structure", "required":[ @@ -5155,6 +6072,42 @@ } } }, + "ConnectionLogOptions":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

Indicates whether connection logging is enabled.

" + }, + "CloudwatchLogGroup":{ + "shape":"String", + "documentation":"

The name of the CloudWatch Logs log group.

" + }, + "CloudwatchLogStream":{ + "shape":"String", + "documentation":"

The name of the CloudWatch Logs log stream to which the connection data is published.

" + } + }, + "documentation":"

Describes the client connection logging options for the Client VPN endpoint.

" + }, + "ConnectionLogResponseOptions":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

Indicates whether client connection logging is enabled for the Client VPN endpoint.

" + }, + "CloudwatchLogGroup":{ + "shape":"String", + "documentation":"

The name of the Amazon CloudWatch Logs log group to which connection logging data is published.

" + }, + "CloudwatchLogStream":{ + "shape":"String", + "documentation":"

The name of the Amazon CloudWatch Logs log stream to which connection logging data is published.

" + } + }, + "documentation":"

Information about the client connection logging options for a Client VPN endpoint.

" + }, "ConnectionNotification":{ "type":"structure", "members":{ @@ -5300,11 +6253,11 @@ }, "SourceRegion":{ "shape":"String", - "documentation":"

The region that contains the source AFI.

" + "documentation":"

The Region that contains the source AFI.

" }, "ClientToken":{ "shape":"String", - "documentation":"

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

" + "documentation":"

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

" } } }, @@ -5328,25 +6281,25 @@ "members":{ "ClientToken":{ "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide.

" }, "Description":{ "shape":"String", - "documentation":"

A description for the new AMI in the destination region.

" + "documentation":"

A description for the new AMI in the destination Region.

" }, "Encrypted":{ "shape":"Boolean", - "documentation":"

Specifies whether the destination snapshots of the copied image should be encrypted. You can encrypt a copy of an unencrypted snapshot, but you cannot create an unencrypted copy of an encrypted snapshot. The default CMK for EBS is used unless you specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

", + "documentation":"

Specifies whether the destination snapshots of the copied image should be encrypted. You can encrypt a copy of an unencrypted snapshot, but you cannot create an unencrypted copy of an encrypted snapshot. The default CMK for EBS is used unless you specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

", "locationName":"encrypted" }, "KmsKeyId":{ "shape":"String", - "documentation":"

An identifier for the AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted volume. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set.

The CMK identifier may be provided in any of the following formats:

  • Key ID

  • Key alias, in the form alias/ExampleAlias

  • ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the region of the CMK, the AWS account ID of the CMK owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

  • ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

AWS parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even though you provided an invalid identifier. This action will eventually report failure.

The specified CMK must exist in the region that the snapshot is being copied to.

", + "documentation":"

An identifier for the AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted volume. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

AWS parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even though you provided an invalid identifier. This action will eventually report failure.

The specified CMK must exist in the Region that the snapshot is being copied to.

", "locationName":"kmsKeyId" }, "Name":{ "shape":"String", - "documentation":"

The name of the new AMI in the destination region.

" + "documentation":"

The name of the new AMI in the destination Region.

" }, "SourceImageId":{ "shape":"String", @@ -5354,7 +6307,7 @@ }, "SourceRegion":{ "shape":"String", - "documentation":"

The name of the region that contains the AMI to copy.

" + "documentation":"

The name of the Region that contains the AMI to copy.

" }, "DryRun":{ "shape":"Boolean", @@ -5388,27 +6341,27 @@ }, "DestinationRegion":{ "shape":"String", - "documentation":"

The destination region to use in the PresignedUrl parameter of a snapshot copy operation. This parameter is only valid for specifying the destination region in a PresignedUrl parameter, where it is required.

The snapshot copy is sent to the regional endpoint that you sent the HTTP request to (for example, ec2.us-east-1.amazonaws.com). With the AWS CLI, this is specified using the --region parameter or the default region in your AWS configuration file.

", + "documentation":"

The destination Region to use in the PresignedUrl parameter of a snapshot copy operation. This parameter is only valid for specifying the destination Region in a PresignedUrl parameter, where it is required.

The snapshot copy is sent to the regional endpoint that you sent the HTTP request to (for example, ec2.us-east-1.amazonaws.com). With the AWS CLI, this is specified using the --region parameter or the default Region in your AWS configuration file.

", "locationName":"destinationRegion" }, "Encrypted":{ "shape":"Boolean", - "documentation":"

Specifies whether the destination snapshot should be encrypted. You can encrypt a copy of an unencrypted snapshot, but you cannot use it to create an unencrypted copy of an encrypted snapshot. Your default CMK for EBS is used unless you specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

", + "documentation":"

Specifies whether the destination snapshot should be encrypted. You can encrypt a copy of an unencrypted snapshot, but you cannot use it to create an unencrypted copy of an encrypted snapshot. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

", "locationName":"encrypted" }, "KmsKeyId":{ "shape":"String", - "documentation":"

An identifier for the AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted volume. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set.

The CMK identifier may be provided in any of the following formats:

  • Key ID

  • Key alias

  • ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the region of the CMK, the AWS account ID of the CMK owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

  • ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

AWS parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even though you provided an invalid identifier. The action will eventually fail.

", + "documentation":"

The identifier of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use for Amazon EBS encryption. If this parameter is not specified, your AWS managed CMK for EBS is used. If KmsKeyId is specified, the encrypted state must be true.

You can specify the CMK using any of the following:

  • Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Key alias. For example, alias/ExampleAlias.

  • Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

  • Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

AWS authenticates the CMK asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.

", "locationName":"kmsKeyId" }, "PresignedUrl":{ "shape":"String", - "documentation":"

When you copy an encrypted source snapshot using the Amazon EC2 Query API, you must supply a pre-signed URL. This parameter is optional for unencrypted snapshots. For more information, see Query Requests.

The PresignedUrl should use the snapshot source endpoint, the CopySnapshot action, and include the SourceRegion, SourceSnapshotId, and DestinationRegion parameters. The PresignedUrl must be signed using AWS Signature Version 4. Because EBS snapshots are stored in Amazon S3, the signing algorithm for this parameter uses the same logic that is described in Authenticating Requests by Using Query Parameters (AWS Signature Version 4) in the Amazon Simple Storage Service API Reference. An invalid or improperly signed PresignedUrl will cause the copy operation to fail asynchronously, and the snapshot will move to an error state.

", + "documentation":"

When you copy an encrypted source snapshot using the Amazon EC2 Query API, you must supply a pre-signed URL. This parameter is optional for unencrypted snapshots. For more information, see Query Requests.

The PresignedUrl should use the snapshot source endpoint, the CopySnapshot action, and include the SourceRegion, SourceSnapshotId, and DestinationRegion parameters. The PresignedUrl must be signed using AWS Signature Version 4. Because EBS snapshots are stored in Amazon S3, the signing algorithm for this parameter uses the same logic that is described in Authenticating Requests by Using Query Parameters (AWS Signature Version 4) in the Amazon Simple Storage Service API Reference. An invalid or improperly signed PresignedUrl will cause the copy operation to fail asynchronously, and the snapshot will move to an error state.

", "locationName":"presignedUrl" }, "SourceRegion":{ "shape":"String", - "documentation":"

The ID of the region that contains the snapshot to be copied.

" + "documentation":"

The ID of the Region that contains the snapshot to be copied.

" }, "SourceSnapshotId":{ "shape":"String", @@ -5433,6 +6386,10 @@ }, "documentation":"

Contains the output of CopySnapshot.

" }, + "CopyTagsFromSource":{ + "type":"string", + "enum":["volume"] + }, "CpuOptions":{ "type":"structure", "members":{ @@ -5474,11 +6431,11 @@ "members":{ "ClientToken":{ "shape":"String", - "documentation":"

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

Constraint: Maximum 64 ASCII characters.

" + "documentation":"

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

Constraint: Maximum 64 ASCII characters.

" }, "InstanceType":{ "shape":"String", - "documentation":"

The instance type for which to reserve capacity. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The instance type for which to reserve capacity. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

" }, "InstancePlatform":{ "shape":"CapacityReservationInstancePlatform", @@ -5529,10 +6486,129 @@ "CreateCapacityReservationResult":{ "type":"structure", "members":{ - "CapacityReservation":{ - "shape":"CapacityReservation", - "documentation":"

Information about the Capacity Reservation.

", - "locationName":"capacityReservation" + "CapacityReservation":{ + "shape":"CapacityReservation", + "documentation":"

Information about the Capacity Reservation.

", + "locationName":"capacityReservation" + } + } + }, + "CreateClientVpnEndpointRequest":{ + "type":"structure", + "required":[ + "ClientCidrBlock", + "ServerCertificateArn", + "AuthenticationOptions", + "ConnectionLogOptions" + ], + "members":{ + "ClientCidrBlock":{ + "shape":"String", + "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.

" + }, + "ServerCertificateArn":{ + "shape":"String", + "documentation":"

The ARN of the server certificate. For more information, see the AWS Certificate Manager User Guide.

" + }, + "AuthenticationOptions":{ + "shape":"ClientVpnAuthenticationRequestList", + "documentation":"

Information about the authentication method to be used to authenticate clients.

", + "locationName":"Authentication" + }, + "ConnectionLogOptions":{ + "shape":"ConnectionLogOptions", + "documentation":"

Information about the client connection logging options.

If you enable client connection logging, data about client connections is sent to a Cloudwatch Logs log stream. The following information is logged:

  • Client connection requests

  • Client connection results (successful and unsuccessful)

  • Reasons for unsuccessful client connection requests

  • Client connection termination time

" + }, + "DnsServers":{ + "shape":"ValueStringList", + "documentation":"

Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. If no DNS server is specified, the DNS address of the VPC that is to be associated with Client VPN endpoint is used as the DNS server.

" + }, + "TransportProtocol":{ + "shape":"TransportProtocol", + "documentation":"

The transport protocol to be used by the VPN session.

Default value: udp

" + }, + "Description":{ + "shape":"String", + "documentation":"

A brief description of the Client VPN endpoint.

" + }, + "DryRun":{ + "shape":"Boolean", + "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":{ + "shape":"String", + "documentation":"

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

", + "idempotencyToken":true + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to apply to the Client VPN endpoint during creation.

", + "locationName":"TagSpecification" + } + } + }, + "CreateClientVpnEndpointResult":{ + "type":"structure", + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint.

", + "locationName":"clientVpnEndpointId" + }, + "Status":{ + "shape":"ClientVpnEndpointStatus", + "documentation":"

The current state of the Client VPN endpoint.

", + "locationName":"status" + }, + "DnsName":{ + "shape":"String", + "documentation":"

The DNS name to be used by clients when establishing their VPN session.

", + "locationName":"dnsName" + } + } + }, + "CreateClientVpnRouteRequest":{ + "type":"structure", + "required":[ + "ClientVpnEndpointId", + "DestinationCidrBlock", + "TargetVpcSubnetId" + ], + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint to which to add the route.

" + }, + "DestinationCidrBlock":{ + "shape":"String", + "documentation":"

The IPv4 address range, in CIDR notation, of the route destination. For example:

  • To add a route for Internet access, enter 0.0.0.0/0

  • To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range

  • To add a route for an on-premises network, enter the AWS Site-to-Site VPN connection's IPv4 CIDR range

Route address ranges cannot overlap with the CIDR range specified for client allocation.

" + }, + "TargetVpcSubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet through which you want to route traffic. The specified subnet must be an existing target network of the Client VPN endpoint.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A brief description of the route.

" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

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

", + "idempotencyToken":true + }, + "DryRun":{ + "shape":"Boolean", + "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.

" + } + } + }, + "CreateClientVpnRouteResult":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"ClientVpnRouteStatus", + "documentation":"

The current state of the route.

", + "locationName":"status" } } }, @@ -5651,7 +6727,7 @@ "members":{ "ClientToken":{ "shape":"String", - "documentation":"

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

" + "documentation":"

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

" }, "DryRun":{ "shape":"Boolean", @@ -5693,12 +6769,12 @@ }, "ErrorCode":{ "shape":"String", - "documentation":"

The error code that indicates why the instance could not be launched. For more information about error codes, see Error Codes.

", + "documentation":"

The error code that indicates why the instance could not be launched. For more information about error codes, see Error Codes.

", "locationName":"errorCode" }, "ErrorMessage":{ "shape":"String", - "documentation":"

The error message that describes why the instance could not be launched. For more information about error messages, see ee Error Codes.

", + "documentation":"

The error message that describes why the instance could not be launched. For more information about error messages, see ee Error Codes.

", "locationName":"errorMessage" } }, @@ -5762,7 +6838,7 @@ }, "ClientToken":{ "shape":"String", - "documentation":"

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

" + "documentation":"

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

" }, "SpotOptions":{ "shape":"SpotOptionsRequest", @@ -5790,7 +6866,7 @@ }, "Type":{ "shape":"FleetType", - "documentation":"

The type of the request. By default, the EC2 Fleet places an asynchronous request for your desired capacity, and maintains it by replenishing interrupted Spot Instances (maintain). A value of instant places a synchronous one-time request, and returns errors for any instances that could not be launched. A value of request places an asynchronous one-time request without maintaining capacity or submitting requests in alternative capacity pools if capacity is unavailable. For more information, see EC2 Fleet Request Types in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The type of the request. By default, the EC2 Fleet places an asynchronous request for your desired capacity, and maintains it by replenishing interrupted Spot Instances (maintain). A value of instant places a synchronous one-time request, and returns errors for any instances that could not be launched. A value of request places an asynchronous one-time request without maintaining capacity or submitting requests in alternative capacity pools if capacity is unavailable. For more information, see EC2 Fleet Request Types in the Amazon Elastic Compute Cloud User Guide.

" }, "ValidFrom":{ "shape":"DateTime", @@ -5798,7 +6874,7 @@ }, "ValidUntil":{ "shape":"DateTime", - "documentation":"

The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new EC2 Fleet requests are placed or able to fulfill the request. The default end date is 7 days from the current date.

" + "documentation":"

The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). 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.

" }, "ReplaceUnhealthyInstances":{ "shape":"Boolean", @@ -5806,7 +6882,7 @@ }, "TagSpecifications":{ "shape":"TagSpecificationList", - "documentation":"

The key-value pair for tagging the EC2 Fleet request on creation. The value for ResourceType must be fleet, otherwise the fleet request fails. To tag instances at launch, specify the tags in the launch template. For information about tagging after launch, see Tagging Your Resources.

", + "documentation":"

The key-value pair for tagging the EC2 Fleet request on creation. The value for ResourceType must be fleet, otherwise the fleet request fails. To tag instances at launch, specify the tags in the launch template. For information about tagging after launch, see Tagging Your Resources.

", "locationName":"TagSpecification" } } @@ -5845,36 +6921,36 @@ }, "ClientToken":{ "shape":"String", - "documentation":"

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

" + "documentation":"

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

" }, "DeliverLogsPermissionArn":{ "shape":"String", - "documentation":"

The ARN for the IAM role that's used to post flow logs to a log group.

" + "documentation":"

The ARN for the IAM role that permits Amazon EC2 to publish flow logs to a CloudWatch Logs log group in your account.

If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn or LogGroupName.

" }, "LogGroupName":{ "shape":"String", - "documentation":"

The name of the log group.

" + "documentation":"

The name of a new or existing CloudWatch Logs log group where Amazon EC2 publishes your flow logs.

If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn or LogGroupName.

" }, "ResourceIds":{ "shape":"ValueStringList", - "documentation":"

One or more subnet, network interface, or VPC IDs.

Constraints: Maximum of 1000 resources

", + "documentation":"

The ID of the subnet, network interface, or VPC for which you want to create a flow log.

Constraints: Maximum of 1000 resources

", "locationName":"ResourceId" }, "ResourceType":{ "shape":"FlowLogsResourceType", - "documentation":"

The type of resource on which to create the flow log.

" + "documentation":"

The type of resource for which to create the flow log. For example, if you specified a VPC ID for the ResourceId property, specify VPC for this property.

" }, "TrafficType":{ "shape":"TrafficType", - "documentation":"

The type of traffic to log.

" + "documentation":"

The type of traffic to log. You can log traffic that the resource accepts or rejects, or all traffic.

" }, "LogDestinationType":{ "shape":"LogDestinationType", - "documentation":"

Specifies the type of destination to which the flow log data is to be published. Flow log data can be published to CloudWatch Logs or Amazon S3. To publish flow log data to CloudWatch Logs, specify cloud-watch-logs. To publish flow log data to Amazon S3, specify s3.

Default: cloud-watch-logs

" + "documentation":"

Specifies the type of destination to which the flow log data is to be published. Flow log data can be published to CloudWatch Logs or Amazon S3. To publish flow log data to CloudWatch Logs, specify cloud-watch-logs. To publish flow log data to Amazon S3, specify s3.

If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn or LogGroupName.

Default: cloud-watch-logs

" }, "LogDestination":{ "shape":"String", - "documentation":"

Specifies the destination to which the flow log data is to be published. Flow log data can be published to an CloudWatch Logs log group or an Amazon S3 bucket. The value specified for this parameter depends on the value specified for LogDestinationType.

If LogDestinationType is not specified or cloud-watch-logs, specify the Amazon Resource Name (ARN) of the CloudWatch Logs log group.

If LogDestinationType is s3, specify the ARN of the Amazon S3 bucket. You can also specify a subfolder in the bucket. To specify a subfolder in the bucket, use the following ARN format: bucket_ARN/subfolder_name/. For example, to specify a subfolder named my-logs in a bucket named my-bucket, use the following ARN: arn:aws:s3:::my-bucket/my-logs/. You cannot use AWSLogs as a subfolder name. This is a reserved term.

" + "documentation":"

Specifies the destination to which the flow log data is to be published. Flow log data can be published to a CloudWatch Logs log group or an Amazon S3 bucket. The value specified for this parameter depends on the value specified for LogDestinationType.

If LogDestinationType is not specified or cloud-watch-logs, specify the Amazon Resource Name (ARN) of the CloudWatch Logs log group.

If LogDestinationType is s3, specify the ARN of the Amazon S3 bucket. You can also specify a subfolder in the bucket. To specify a subfolder in the bucket, use the following ARN format: bucket_ARN/subfolder_name/. For example, to specify a subfolder named my-logs in a bucket named my-bucket, use the following ARN: arn:aws:s3:::my-bucket/my-logs/. You cannot use AWSLogs as a subfolder name. This is a reserved term.

" } } }, @@ -5924,7 +7000,7 @@ }, "ClientToken":{ "shape":"String", - "documentation":"

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

" + "documentation":"

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

" } } }, @@ -5952,7 +7028,7 @@ "members":{ "BlockDeviceMappings":{ "shape":"BlockDeviceMappingRequestList", - "documentation":"

Information about one or more block device mappings. This parameter cannot be used to modify the encryption status of existing volumes or snapshots. To create an AMI with encrypted snapshots, use the CopyImage action.

", + "documentation":"

The block device mappings. This parameter cannot be used to modify the encryption status of existing volumes or snapshots. To create an AMI with encrypted snapshots, use the CopyImage action.

", "locationName":"blockDeviceMapping" }, "Description":{ @@ -5980,8 +7056,7 @@ "documentation":"

By default, Amazon EC2 attempts to shut down and reboot the instance before creating the image. If the 'No Reboot' option is set, Amazon EC2 doesn't shut down the instance before creating the image. When this option is used, file system integrity on the created image can't be guaranteed.

", "locationName":"noReboot" } - }, - "documentation":"

Contains the parameters for CreateImage.

" + } }, "CreateImageResult":{ "type":"structure", @@ -5991,8 +7066,7 @@ "documentation":"

The ID of the new AMI.

", "locationName":"imageId" } - }, - "documentation":"

Contains the output of CreateImage.

" + } }, "CreateInstanceExportTaskRequest":{ "type":"structure", @@ -6080,7 +7154,7 @@ }, "ClientToken":{ "shape":"String", - "documentation":"

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

" + "documentation":"

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

Constraint: Maximum 128 ASCII characters.

" }, "LaunchTemplateName":{ "shape":"LaunchTemplateName", @@ -6116,7 +7190,7 @@ }, "ClientToken":{ "shape":"String", - "documentation":"

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

" + "documentation":"

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

Constraint: Maximum 128 ASCII characters.

" }, "LaunchTemplateId":{ "shape":"String", @@ -6163,7 +7237,7 @@ }, "ClientToken":{ "shape":"String", - "documentation":"

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

Constraint: Maximum 64 ASCII characters.

" + "documentation":"

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

Constraint: Maximum 64 ASCII characters.

" }, "SubnetId":{ "shape":"String", @@ -6356,9 +7430,13 @@ }, "SecondaryPrivateIpAddressCount":{ "shape":"Integer", - "documentation":"

The number of secondary private IPv4 addresses to assign to a network interface. When you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR range. You can't specify this option and specify more than one private IP address using privateIpAddresses.

The number of IP addresses you can assign to a network interface varies by instance type. For more information, see IP Addresses Per ENI Per Instance Type in the Amazon Virtual Private Cloud User Guide.

", + "documentation":"

The number of secondary private IPv4 addresses to assign to a network interface. When you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR range. You can't specify this option and specify more than one private IP address using privateIpAddresses.

The number of IP addresses you can assign to a network interface varies by instance type. For more information, see IP Addresses Per ENI Per Instance Type in the Amazon Virtual Private Cloud User Guide.

", "locationName":"secondaryPrivateIpAddressCount" }, + "InterfaceType":{ + "shape":"NetworkInterfaceCreationType", + "documentation":"

Indicates the type of network interface. To create an Elastic Fabric Adapter (EFA), specify efa. For more information, see Elastic Fabric Adapter in the Amazon Elastic Compute Cloud User Guide.

If you are not creating an EFA, specify interface or omit this parameter.

" + }, "SubnetId":{ "shape":"String", "documentation":"

The ID of the subnet to associate with the network interface.

", @@ -6380,10 +7458,6 @@ }, "CreatePlacementGroupRequest":{ "type":"structure", - "required":[ - "GroupName", - "Strategy" - ], "members":{ "DryRun":{ "shape":"Boolean", @@ -6392,13 +7466,17 @@ }, "GroupName":{ "shape":"String", - "documentation":"

A name for the placement group. Must be unique within the scope of your account for the region.

Constraints: Up to 255 ASCII characters

", + "documentation":"

A name for the placement group. Must be unique within the scope of your account for the Region.

Constraints: Up to 255 ASCII characters

", "locationName":"groupName" }, "Strategy":{ "shape":"PlacementStrategy", "documentation":"

The placement strategy.

", "locationName":"strategy" + }, + "PartitionCount":{ + "shape":"Integer", + "documentation":"

The number of partitions. Valid only when Strategy is set to partition.

" } } }, @@ -6413,7 +7491,7 @@ "members":{ "ClientToken":{ "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.

", + "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.

", "locationName":"clientToken" }, "InstanceCount":{ @@ -6603,6 +7681,43 @@ }, "documentation":"

Contains the parameters for CreateSnapshot.

" }, + "CreateSnapshotsRequest":{ + "type":"structure", + "required":["InstanceSpecification"], + "members":{ + "Description":{ + "shape":"String", + "documentation":"

A description propagated to every snapshot specified by the instance.

" + }, + "InstanceSpecification":{ + "shape":"InstanceSpecification", + "documentation":"

The instance to specify which volumes should be included in the snapshots.

" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

Tags to apply to every snapshot specified by the instance.

", + "locationName":"TagSpecification" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

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

" + }, + "CopyTagsFromSource":{ + "shape":"CopyTagsFromSource", + "documentation":"

Copies the tags from the specified instance to all snapshots.

" + } + } + }, + "CreateSnapshotsResult":{ + "type":"structure", + "members":{ + "Snapshots":{ + "shape":"SnapshotSet", + "documentation":"

List of snapshots.

", + "locationName":"snapshotSet" + } + } + }, "CreateSpotDatafeedSubscriptionRequest":{ "type":"structure", "required":["Bucket"], @@ -6694,12 +7809,12 @@ }, "Resources":{ "shape":"ResourceIdList", - "documentation":"

The IDs of one or more resources, separated by spaces.

", + "documentation":"

The IDs of the resources, separated by spaces.

Constraints: Up to 1000 resource IDs. We recommend breaking up this request into smaller batches.

", "locationName":"ResourceId" }, "Tags":{ "shape":"TagList", - "documentation":"

One or more tags. The value parameter is required, but if you don't want the tag to have a value, specify the parameter with no value, and we set the value to an empty string.

", + "documentation":"

The tags. The value parameter is required, but if you don't want the tag to have a value, specify the parameter with no value, and we set the value to an empty string.

", "locationName":"Tag" } } @@ -6757,7 +7872,7 @@ }, "Blackhole":{ "shape":"Boolean", - "documentation":"

Indicates whether traffic matching this route is to be dropped.

" + "documentation":"

Indicates whether to drop traffic that matches this route.

" }, "DryRun":{ "shape":"Boolean", @@ -6866,16 +7981,16 @@ "members":{ "Group":{ "shape":"PermissionGroup", - "documentation":"

The specific group that is to be added or removed from a volume's list of create volume permissions.

", + "documentation":"

The group to be added or removed. The possible value is all.

", "locationName":"group" }, "UserId":{ "shape":"String", - "documentation":"

The specific AWS account ID that is to be added or removed from a volume's list of create volume permissions.

", + "documentation":"

The AWS account ID to be added or removed.

", "locationName":"userId" } }, - "documentation":"

Describes the user or group to be added or removed from the permissions for a volume.

" + "documentation":"

Describes the user or group to be added or removed from the list of create volume permissions for a volume.

" }, "CreateVolumePermissionList":{ "type":"list", @@ -6889,14 +8004,14 @@ "members":{ "Add":{ "shape":"CreateVolumePermissionList", - "documentation":"

Adds a specific AWS account ID or group to a volume's list of create volume permissions.

" + "documentation":"

Adds the specified AWS account ID or group to the list.

" }, "Remove":{ "shape":"CreateVolumePermissionList", - "documentation":"

Removes a specific AWS account ID or group from a volume's list of create volume permissions.

" + "documentation":"

Removes the specified AWS account ID or group from the list.

" } }, - "documentation":"

Describes modifications to the permissions for a volume.

" + "documentation":"

Describes modifications to the list of create volume permissions for a volume.

" }, "CreateVolumeRequest":{ "type":"structure", @@ -6904,32 +8019,32 @@ "members":{ "AvailabilityZone":{ "shape":"String", - "documentation":"

The Availability Zone in which to create the volume. Use DescribeAvailabilityZones to list the Availability Zones that are currently available to you.

" + "documentation":"

The Availability Zone in which to create the volume.

" }, "Encrypted":{ "shape":"Boolean", - "documentation":"

Specifies whether the volume should be encrypted. Encrypted Amazon EBS volumes may only be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are automatically encrypted. There is no way to create an encrypted volume from an unencrypted snapshot or vice versa. If your AMI uses encrypted volumes, you can only launch it on supported instance types. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

", + "documentation":"

Specifies whether the volume should be encrypted. The effect of setting the encryption state to true depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Encryption by Default in the Amazon Elastic Compute Cloud User Guide.

Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Supported Instance Types.

", "locationName":"encrypted" }, "Iops":{ "shape":"Integer", - "documentation":"

The number of I/O operations per second (IOPS) to provision for the volume, with a maximum ratio of 50 IOPS/GiB. Range is 100 to 64,000IOPS for volumes in most regions. Maximum IOPS of 64,000 is guaranteed only on Nitro-based instances. Other instance families guarantee performance up to 32,000 IOPS. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

This parameter is valid only for Provisioned IOPS SSD (io1) volumes.

" + "documentation":"

The number of I/O operations per second (IOPS) to provision for the volume, with a maximum ratio of 50 IOPS/GiB. Range is 100 to 64,000 IOPS for volumes in most Regions. Maximum IOPS of 64,000 is guaranteed only on Nitro-based instances. Other instance families guarantee performance up to 32,000 IOPS. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

This parameter is valid only for Provisioned IOPS SSD (io1) volumes.

" }, "KmsKeyId":{ "shape":"String", - "documentation":"

An identifier for the AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted volume. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set.

The CMK identifier may be provided in any of the following formats:

  • Key ID

  • Key alias

  • ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the region of the CMK, the AWS account ID of the CMK owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

  • ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

AWS parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even though you provided an invalid identifier. The action will eventually fail.

" + "documentation":"

The identifier of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use for Amazon EBS encryption. If this parameter is not specified, your AWS managed CMK for EBS is used. If KmsKeyId is specified, the encrypted state must be true.

You can specify the CMK using any of the following:

  • Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Key alias. For example, alias/ExampleAlias.

  • Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

  • Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

AWS authenticates the CMK asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.

" }, "Size":{ "shape":"Integer", - "documentation":"

The size of the volume, in GiBs.

Constraints: 1-16,384 for gp2, 4-16,384 for io1, 500-16,384 for st1, 500-16,384 for sc1, and 1-1,024 for standard. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.

Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

" + "documentation":"

The size of the volume, in GiBs.

Constraints: 1-16,384 for gp2, 4-16,384 for io1, 500-16,384 for st1, 500-16,384 for sc1, and 1-1,024 for standard. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.

Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

At least one of Size or SnapshotId is required.

" }, "SnapshotId":{ "shape":"String", - "documentation":"

The snapshot from which to create the volume.

" + "documentation":"

The snapshot from which to create the volume.

At least one of Size or SnapshotId are required.

" }, "VolumeType":{ "shape":"VolumeType", - "documentation":"

The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for Magnetic volumes.

Defaults: If no volume type is specified, the default is standard in us-east-1, eu-west-1, eu-central-1, us-west-2, us-west-1, sa-east-1, ap-northeast-1, ap-northeast-2, ap-southeast-1, ap-southeast-2, ap-south-1, us-gov-west-1, and cn-north-1. In all other regions, EBS defaults to gp2.

" + "documentation":"

The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for Magnetic volumes.

Defaults: If no volume type is specified, the default is standard in us-east-1, eu-west-1, eu-central-1, us-west-2, us-west-1, sa-east-1, ap-northeast-1, ap-northeast-2, ap-southeast-1, ap-southeast-2, ap-south-1, us-gov-west-1, and cn-north-1. In all other Regions, EBS defaults to gp2.

" }, "DryRun":{ "shape":"Boolean", @@ -6973,7 +8088,7 @@ }, "ClientToken":{ "shape":"String", - "documentation":"

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

" + "documentation":"

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

" } } }, @@ -7017,7 +8132,7 @@ }, "PolicyDocument":{ "shape":"String", - "documentation":"

(Gateway endpoint) A policy to attach to the endpoint that controls access to the service. The policy must be in valid JSON format. If this parameter is not specified, we attach a default policy that allows full access to the service.

" + "documentation":"

A policy to attach to the endpoint that controls access to the service. The policy must be in valid JSON format. If this parameter is not specified, we attach a default policy that allows full access to the service.

" }, "RouteTableIds":{ "shape":"ValueStringList", @@ -7036,11 +8151,11 @@ }, "ClientToken":{ "shape":"String", - "documentation":"

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

" + "documentation":"

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

" }, "PrivateDnsEnabled":{ "shape":"Boolean", - "documentation":"

(Interface endpoint) Indicate whether to associate a private hosted zone with the specified VPC. The private hosted zone contains a record set for the default public DNS name for the service for the region (for example, kinesis.us-east-1.amazonaws.com) which resolves to the private IP addresses of the endpoint network interfaces in the VPC. This enables you to make requests to the default public DNS name for the service instead of the public DNS names that are automatically generated by the VPC endpoint service.

To use a private hosted zone, you must set the following VPC attributes to true: enableDnsHostnames and enableDnsSupport. Use ModifyVpcAttribute to set the VPC attributes.

Default: false

" + "documentation":"

(Interface endpoint) Indicate whether to associate a private hosted zone with the specified VPC. The private hosted zone contains a record set for the default public DNS name for the service for the Region (for example, kinesis.us-east-1.amazonaws.com) which resolves to the private IP addresses of the endpoint network interfaces in the VPC. This enables you to make requests to the default public DNS name for the service instead of the public DNS names that are automatically generated by the VPC endpoint service.

To use a private hosted zone, you must set the following VPC attributes to true: enableDnsHostnames and enableDnsSupport. Use ModifyVpcAttribute to set the VPC attributes.

Default: true

" } }, "documentation":"

Contains the parameters for CreateVpcEndpoint.

" @@ -7080,7 +8195,7 @@ }, "ClientToken":{ "shape":"String", - "documentation":"

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

" + "documentation":"

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

" } } }, @@ -7124,7 +8239,7 @@ }, "PeerRegion":{ "shape":"String", - "documentation":"

The region code for the accepter VPC, if the accepter VPC is located in a region other than the region in which you make the request.

Default: The region in which you make the request.

" + "documentation":"

The Region code for the accepter VPC, if the accepter VPC is located in a Region other than the Region in which you make the request.

Default: The Region in which you make the request.

" } } }, @@ -7186,7 +8301,7 @@ }, "Type":{ "shape":"String", - "documentation":"

The type of VPN connection (ipsec.1).

" + "documentation":"

The type of VPN connection (ipsec.1 | ipsec.2).

" }, "VpnGatewayId":{ "shape":"String", @@ -7378,6 +8493,65 @@ "on-demand" ] }, + "DeleteClientVpnEndpointRequest":{ + "type":"structure", + "required":["ClientVpnEndpointId"], + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN to be deleted.

" + }, + "DryRun":{ + "shape":"Boolean", + "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.

" + } + } + }, + "DeleteClientVpnEndpointResult":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"ClientVpnEndpointStatus", + "documentation":"

The current state of the Client VPN endpoint.

", + "locationName":"status" + } + } + }, + "DeleteClientVpnRouteRequest":{ + "type":"structure", + "required":[ + "ClientVpnEndpointId", + "DestinationCidrBlock" + ], + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint from which the route is to be deleted.

" + }, + "TargetVpcSubnetId":{ + "shape":"String", + "documentation":"

The ID of the target subnet used by the route.

" + }, + "DestinationCidrBlock":{ + "shape":"String", + "documentation":"

The IPv4 address range, in CIDR notation, of the route to be deleted.

" + }, + "DryRun":{ + "shape":"Boolean", + "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.

" + } + } + }, + "DeleteClientVpnRouteResult":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"ClientVpnRouteStatus", + "documentation":"

The current state of the route.

", + "locationName":"status" + } + } + }, "DeleteCustomerGatewayRequest":{ "type":"structure", "required":["CustomerGatewayId"], @@ -7556,7 +8730,7 @@ }, "FlowLogIds":{ "shape":"ValueStringList", - "documentation":"

One or more flow log IDs.

", + "documentation":"

One or more flow log IDs.

Constraint: Maximum of 1000 flow log IDs.

", "locationName":"FlowLogId" } } @@ -7994,12 +9168,12 @@ }, "Resources":{ "shape":"ResourceIdList", - "documentation":"

The IDs of one or more resources, separated by spaces.

", + "documentation":"

The IDs of the resources, separated by spaces.

Constraints: Up to 1000 resource IDs. We recommend breaking up this request into smaller batches.

", "locationName":"resourceId" }, "Tags":{ "shape":"TagList", - "documentation":"

One or more tags to delete. Specify a tag key and an optional tag value to delete specific tags. If you specify a tag key without a tag value, we delete any tag with this key regardless of its value. If you specify a tag key with an empty string as the tag value, we delete the tag only if its value is an empty string.

If you omit this parameter, we delete all user-defined tags for the specified resources. We do not delete AWS-generated tags (tags that have the aws: prefix).

", + "documentation":"

The tags to delete. Specify a tag key and an optional tag value to delete specific tags. If you specify a tag key without a tag value, we delete any tag with this key regardless of its value. If you specify a tag key with an empty string as the tag value, we delete the tag only if its value is an empty string.

If you omit this parameter, we delete all user-defined tags for the specified resources. We do not delete AWS-generated tags (tags that have the aws: prefix).

", "locationName":"tag" } } @@ -8336,7 +9510,7 @@ "members":{ "AttributeNames":{ "shape":"AccountAttributeNameStringList", - "documentation":"

One or more account attribute names.

", + "documentation":"

The account attribute names.

", "locationName":"attributeName" }, "DryRun":{ @@ -8351,7 +9525,7 @@ "members":{ "AccountAttributes":{ "shape":"AccountAttributeList", - "documentation":"

Information about one or more account attributes.

", + "documentation":"

Information about the account attributes.

", "locationName":"accountAttributeSet" } } @@ -8366,12 +9540,12 @@ }, "PublicIps":{ "shape":"PublicIpStringList", - "documentation":"

[EC2-Classic] One or more Elastic IP addresses.

Default: Describes all your Elastic IP addresses.

", + "documentation":"

One or more Elastic IP addresses.

Default: Describes all your Elastic IP addresses.

", "locationName":"PublicIp" }, "AllocationIds":{ "shape":"AllocationIdList", - "documentation":"

[EC2-VPC] One or more allocation IDs.

Default: Describes all your Elastic IP addresses.

", + "documentation":"

[EC2-VPC] Information about the allocation IDs.

", "locationName":"AllocationId" }, "DryRun":{ @@ -8386,7 +9560,7 @@ "members":{ "Addresses":{ "shape":"AddressList", - "documentation":"

Information about one or more Elastic IP addresses.

", + "documentation":"

Information about the Elastic IP addresses.

", "locationName":"addressesSet" } } @@ -8405,7 +9579,7 @@ "members":{ "UseLongIdsAggregated":{ "shape":"Boolean", - "documentation":"

Indicates whether all resource types in the region are configured to use longer IDs. This value is only true if all users are configured to use longer IDs for all resources types in the region.

", + "documentation":"

Indicates whether all resource types in the Region are configured to use longer IDs. This value is only true if all users are configured to use longer IDs for all resources types in the Region.

", "locationName":"useLongIdsAggregated" }, "Statuses":{ @@ -8420,17 +9594,17 @@ "members":{ "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • message - Information about the Availability Zone.

  • region-name - The name of the region for the Availability Zone (for example, us-east-1).

  • state - The state of the Availability Zone (available | information | impaired | unavailable).

  • zone-id - The ID of the Availability Zone (for example, use1-az1).

  • zone-name - The name of the Availability Zone (for example, us-east-1a).

", + "documentation":"

The filters.

  • message - Information about the Availability Zone.

  • region-name - The name of the Region for the Availability Zone (for example, us-east-1).

  • state - The state of the Availability Zone (available | information | impaired | unavailable).

  • zone-id - The ID of the Availability Zone (for example, use1-az1).

  • zone-name - The name of the Availability Zone (for example, us-east-1a).

", "locationName":"Filter" }, "ZoneNames":{ "shape":"ZoneNameStringList", - "documentation":"

The names of one or more Availability Zones.

", + "documentation":"

The names of the Availability Zones.

", "locationName":"ZoneName" }, "ZoneIds":{ "shape":"ZoneIdStringList", - "documentation":"

The IDs of one or more Availability Zones.

", + "documentation":"

The IDs of the Availability Zones.

", "locationName":"ZoneId" }, "DryRun":{ @@ -8445,7 +9619,7 @@ "members":{ "AvailabilityZones":{ "shape":"AvailabilityZoneList", - "documentation":"

Information about one or more Availability Zones.

", + "documentation":"

Information about the Availability Zones.

", "locationName":"availabilityZoneInfo" } } @@ -8455,12 +9629,12 @@ "members":{ "BundleIds":{ "shape":"BundleIdStringList", - "documentation":"

One or more bundle task IDs.

Default: Describes all your bundle tasks.

", + "documentation":"

The bundle task IDs.

Default: Describes all your bundle tasks.

", "locationName":"BundleId" }, "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • bundle-id - The ID of the bundle task.

  • error-code - If the task failed, the error code returned.

  • error-message - If the task failed, the error message returned.

  • instance-id - The ID of the instance.

  • progress - The level of task completion, as a percentage (for example, 20%).

  • s3-bucket - The Amazon S3 bucket to store the AMI.

  • s3-prefix - The beginning of the AMI name.

  • start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).

  • state - The state of the task (pending | waiting-for-shutdown | bundling | storing | cancelling | complete | failed).

  • update-time - The time of the most recent update for the task.

", + "documentation":"

The filters.

  • bundle-id - The ID of the bundle task.

  • error-code - If the task failed, the error code returned.

  • error-message - If the task failed, the error message returned.

  • instance-id - The ID of the instance.

  • progress - The level of task completion, as a percentage (for example, 20%).

  • s3-bucket - The Amazon S3 bucket to store the AMI.

  • s3-prefix - The beginning of the AMI name.

  • start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).

  • state - The state of the task (pending | waiting-for-shutdown | bundling | storing | cancelling | complete | failed).

  • update-time - The time of the most recent update for the task.

", "locationName":"Filter" }, "DryRun":{ @@ -8468,19 +9642,17 @@ "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.

", "locationName":"dryRun" } - }, - "documentation":"

Contains the parameters for DescribeBundleTasks.

" + } }, "DescribeBundleTasksResult":{ "type":"structure", "members":{ "BundleTasks":{ "shape":"BundleTaskList", - "documentation":"

Information about one or more bundle tasks.

", + "documentation":"

Information about the bundle tasks.

", "locationName":"bundleInstanceTasksSet" } - }, - "documentation":"

Contains the output of DescribeBundleTasks.

" + } }, "DescribeByoipCidrsRequest":{ "type":"structure", @@ -8515,6 +9687,11 @@ } } }, + "DescribeCapacityReservationsMaxResults":{ + "type":"integer", + "max":1000, + "min":1 + }, "DescribeCapacityReservationsRequest":{ "type":"structure", "members":{ @@ -8528,7 +9705,7 @@ "documentation":"

The token to retrieve the next page of results.

" }, "MaxResults":{ - "shape":"Integer", + "shape":"DescribeCapacityReservationsMaxResults", "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.

" }, "Filters":{ @@ -8577,12 +9754,12 @@ }, "MaxResults":{ "shape":"Integer", - "documentation":"

The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1000. If MaxResults is given a value larger than 1000, only 1000 results are returned. You cannot specify this parameter and the instance IDs parameter in the same request.

Constraint: If the value is greater than 1000, we return only 1000 items.

", + "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.

Constraint: If the value is greater than 1000, we return only 1000 items.

", "locationName":"maxResults" }, "NextToken":{ "shape":"String", - "documentation":"

The token to retrieve the next page of results.

", + "documentation":"

The token for the next page of results.

", "locationName":"nextToken" } } @@ -8602,6 +9779,220 @@ } } }, + "DescribeClientVpnAuthorizationRulesRequest":{ + "type":"structure", + "required":["ClientVpnEndpointId"], + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint.

" + }, + "DryRun":{ + "shape":"Boolean", + "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":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next page of results.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. Filter names and values are case-sensitive.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"MaxResults", + "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.

" + } + } + }, + "DescribeClientVpnAuthorizationRulesResult":{ + "type":"structure", + "members":{ + "AuthorizationRules":{ + "shape":"AuthorizationRuleSet", + "documentation":"

Information about the authorization rules.

", + "locationName":"authorizationRule" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeClientVpnConnectionsRequest":{ + "type":"structure", + "required":["ClientVpnEndpointId"], + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. Filter names and values are case-sensitive.

", + "locationName":"Filter" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next page of results.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "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":{ + "shape":"Boolean", + "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.

" + } + } + }, + "DescribeClientVpnConnectionsResult":{ + "type":"structure", + "members":{ + "Connections":{ + "shape":"ClientVpnConnectionSet", + "documentation":"

Information about the active and terminated client connections.

", + "locationName":"connections" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeClientVpnEndpointsRequest":{ + "type":"structure", + "members":{ + "ClientVpnEndpointIds":{ + "shape":"ValueStringList", + "documentation":"

The ID of the Client VPN endpoint.

", + "locationName":"ClientVpnEndpointId" + }, + "MaxResults":{ + "shape":"MaxResults", + "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":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next page of results.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. Filter names and values are case-sensitive.

", + "locationName":"Filter" + }, + "DryRun":{ + "shape":"Boolean", + "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.

" + } + } + }, + "DescribeClientVpnEndpointsResult":{ + "type":"structure", + "members":{ + "ClientVpnEndpoints":{ + "shape":"EndpointSet", + "documentation":"

Information about the Client VPN endpoints.

", + "locationName":"clientVpnEndpoint" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeClientVpnRoutesRequest":{ + "type":"structure", + "required":["ClientVpnEndpointId"], + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. Filter names and values are case-sensitive.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"MaxResults", + "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":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next page of results.

" + }, + "DryRun":{ + "shape":"Boolean", + "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.

" + } + } + }, + "DescribeClientVpnRoutesResult":{ + "type":"structure", + "members":{ + "Routes":{ + "shape":"ClientVpnRouteSet", + "documentation":"

Information about the Client VPN endpoint routes.

", + "locationName":"routes" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeClientVpnTargetNetworksRequest":{ + "type":"structure", + "required":["ClientVpnEndpointId"], + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint.

" + }, + "AssociationIds":{ + "shape":"ValueStringList", + "documentation":"

The IDs of the target network associations.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "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":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next page of results.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. Filter names and values are case-sensitive.

", + "locationName":"Filter" + }, + "DryRun":{ + "shape":"Boolean", + "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.

" + } + } + }, + "DescribeClientVpnTargetNetworksResult":{ + "type":"structure", + "members":{ + "ClientVpnTargetNetworks":{ + "shape":"TargetNetworkSet", + "documentation":"

Information about the associated target networks.

", + "locationName":"clientVpnTargetNetworks" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, "DescribeConversionTaskList":{ "type":"list", "member":{ @@ -8614,7 +10005,7 @@ "members":{ "ConversionTaskIds":{ "shape":"ConversionIdStringList", - "documentation":"

One or more conversion task IDs.

", + "documentation":"

The conversion task IDs.

", "locationName":"conversionTaskId" }, "DryRun":{ @@ -8668,6 +10059,11 @@ }, "documentation":"

Contains the output of DescribeCustomerGateways.

" }, + "DescribeDhcpOptionsMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, "DescribeDhcpOptionsRequest":{ "type":"structure", "members":{ @@ -8685,6 +10081,14 @@ "shape":"Boolean", "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.

", "locationName":"dryRun" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "MaxResults":{ + "shape":"DescribeDhcpOptionsMaxResults", + "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.

" } } }, @@ -8695,6 +10099,11 @@ "shape":"DhcpOptionsList", "documentation":"

Information about one or more DHCP options sets.

", "locationName":"dhcpOptionsSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" } } }, @@ -8712,11 +10121,11 @@ }, "MaxResults":{ "shape":"Integer", - "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 1000. If MaxResults is given a value larger than 1000, only 1000 results are returned.

" + "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.

" }, "NextToken":{ "shape":"String", - "documentation":"

The token to retrieve the next page of results.

" + "documentation":"

The token for the next page of results.

" } } }, @@ -8730,17 +10139,22 @@ }, "NextToken":{ "shape":"String", - "documentation":"

The token to use to retrieve the next page of results.

", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "locationName":"nextToken" } } }, + "DescribeElasticGpusMaxResults":{ + "type":"integer", + "max":1000, + "min":10 + }, "DescribeElasticGpusRequest":{ "type":"structure", "members":{ "ElasticGpuIds":{ "shape":"ElasticGpuIdSet", - "documentation":"

One or more Elastic Graphics accelerator IDs.

", + "documentation":"

The Elastic Graphics accelerator IDs.

", "locationName":"ElasticGpuId" }, "DryRun":{ @@ -8749,11 +10163,11 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • availability-zone - The Availability Zone in which the Elastic Graphics accelerator resides.

  • elastic-gpu-health - The status of the Elastic Graphics accelerator (OK | IMPAIRED).

  • elastic-gpu-state - The state of the Elastic Graphics accelerator (ATTACHED).

  • elastic-gpu-type - The type of Elastic Graphics accelerator; for example, eg1.medium.

  • instance-id - The ID of the instance to which the Elastic Graphics accelerator is associated.

", + "documentation":"

The filters.

  • availability-zone - The Availability Zone in which the Elastic Graphics accelerator resides.

  • elastic-gpu-health - The status of the Elastic Graphics accelerator (OK | IMPAIRED).

  • elastic-gpu-state - The state of the Elastic Graphics accelerator (ATTACHED).

  • elastic-gpu-type - The type of Elastic Graphics accelerator; for example, eg1.medium.

  • instance-id - The ID of the instance to which the Elastic Graphics accelerator is associated.

", "locationName":"Filter" }, "MaxResults":{ - "shape":"Integer", + "shape":"DescribeElasticGpusMaxResults", "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 5 and 1000.

" }, "NextToken":{ @@ -8787,7 +10201,7 @@ "members":{ "ExportTaskIds":{ "shape":"ExportTaskIdStringList", - "documentation":"

One or more export task IDs.

", + "documentation":"

The export task IDs.

", "locationName":"exportTaskId" } }, @@ -8819,12 +10233,12 @@ }, "ErrorCode":{ "shape":"String", - "documentation":"

The error code that indicates why the instance could not be launched. For more information about error codes, see Error Codes.

", + "documentation":"

The error code that indicates why the instance could not be launched. For more information about error codes, see Error Codes.

", "locationName":"errorCode" }, "ErrorMessage":{ "shape":"String", - "documentation":"

The error message that describes why the instance could not be launched. For more information about error messages, see ee Error Codes.

", + "documentation":"

The error message that describes why the instance could not be launched. For more information about error messages, see ee Error Codes.

", "locationName":"errorMessage" } }, @@ -8915,7 +10329,7 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • instance-type - The instance type.

", + "documentation":"

The filters.

  • instance-type - The instance type.

", "locationName":"Filter" } } @@ -9007,7 +10421,7 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • activity-status - The progress of the EC2 Fleet ( error | pending-fulfillment | pending-termination | fulfilled).

  • excess-capacity-termination-policy - Indicates whether to terminate running instances if the target capacity is decreased below the current EC2 Fleet size (true | false).

  • fleet-state - The state of the EC2 Fleet (submitted | active | deleted | failed | deleted-running | deleted-terminating | modifying).

  • replace-unhealthy-instances - Indicates whether EC2 Fleet should replace unhealthy instances (true | false).

  • type - The type of request (instant | request | maintain).

", + "documentation":"

The filters.

  • activity-status - The progress of the EC2 Fleet ( error | pending-fulfillment | pending-termination | fulfilled).

  • excess-capacity-termination-policy - Indicates whether to terminate running instances if the target capacity is decreased below the current EC2 Fleet size (true | false).

  • fleet-state - The state of the EC2 Fleet (submitted | active | deleted | failed | deleted-running | deleted-terminating | modifying).

  • replace-unhealthy-instances - Indicates whether EC2 Fleet should replace unhealthy instances (true | false).

  • type - The type of request (instant | request | maintain).

", "locationName":"Filter" } } @@ -9040,16 +10454,16 @@ }, "FlowLogIds":{ "shape":"ValueStringList", - "documentation":"

One or more flow log IDs.

", + "documentation":"

One or more flow log IDs.

Constraint: Maximum of 1000 flow log IDs.

", "locationName":"FlowLogId" }, "MaxResults":{ "shape":"Integer", - "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 1000. If MaxResults is given a value larger than 1000, only 1000 results are returned. You cannot specify this parameter and the flow log IDs parameter in the same request.

" + "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.

" }, "NextToken":{ "shape":"String", - "documentation":"

The token to retrieve the next page of results.

" + "documentation":"

The token for the next page of results.

" } } }, @@ -9108,7 +10522,7 @@ }, "FpgaImageIds":{ "shape":"FpgaImageIdList", - "documentation":"

One or more AFI IDs.

", + "documentation":"

The AFI IDs.

", "locationName":"FpgaImageId" }, "Owners":{ @@ -9118,7 +10532,7 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • create-time - The creation time of the AFI.

  • fpga-image-id - The FPGA image identifier (AFI ID).

  • fpga-image-global-id - The global FPGA image identifier (AGFI ID).

  • name - The name of the AFI.

  • owner-id - The AWS account ID of the AFI owner.

  • product-code - The product code.

  • shell-version - The version of the AWS Shell that was used to create the bitstream.

  • state - The state of the AFI (pending | failed | available | unavailable).

  • tag:<key> - 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.

  • 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.

  • update-time - The time of the most recent update.

", + "documentation":"

The filters.

  • create-time - The creation time of the AFI.

  • fpga-image-id - The FPGA image identifier (AFI ID).

  • fpga-image-global-id - The global FPGA image identifier (AGFI ID).

  • name - The name of the AFI.

  • owner-id - The AWS account ID of the AFI owner.

  • product-code - The product code.

  • shell-version - The version of the AWS Shell that was used to create the bitstream.

  • state - The state of the AFI (pending | failed | available | unavailable).

  • tag:<key> - 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.

  • 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.

  • update-time - The time of the most recent update.

", "locationName":"Filter" }, "NextToken":{ @@ -9136,7 +10550,7 @@ "members":{ "FpgaImages":{ "shape":"FpgaImageList", - "documentation":"

Information about one or more FPGA images.

", + "documentation":"

Information about the FPGA images.

", "locationName":"fpgaImageSet" }, "NextToken":{ @@ -9151,14 +10565,14 @@ "members":{ "Filter":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • instance-family - The instance family of the offering (for example, m4).

  • payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).

" + "documentation":"

The filters.

  • instance-family - The instance family of the offering (for example, m4).

  • payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).

" }, "MaxDuration":{ "shape":"Integer", "documentation":"

This is the maximum duration of the reservation to purchase, specified in seconds. Reservations are available in one-year and three-year terms. The number of seconds specified must be the number of seconds in a year (365x24x60x60) times one of the supported durations (1 or 3). For example, specify 94608000 for three years.

" }, "MaxResults":{ - "shape":"Integer", + "shape":"DescribeHostReservationsMaxResults", "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.

" }, "MinDuration":{ @@ -9190,16 +10604,21 @@ } } }, + "DescribeHostReservationsMaxResults":{ + "type":"integer", + "max":500, + "min":5 + }, "DescribeHostReservationsRequest":{ "type":"structure", "members":{ "Filter":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • instance-family - The instance family (for example, m4).

  • payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).

  • state - The state of the reservation (payment-pending | payment-failed | active | retired).

" + "documentation":"

The filters.

  • instance-family - The instance family (for example, m4).

  • payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).

  • state - The state of the reservation (payment-pending | payment-failed | active | retired).

  • tag:<key> - 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.

  • 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.

" }, "HostReservationIdSet":{ "shape":"HostReservationIdSet", - "documentation":"

One or more host reservation IDs.

" + "documentation":"

The host reservation IDs.

" }, "MaxResults":{ "shape":"Integer", @@ -9231,7 +10650,7 @@ "members":{ "Filter":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • auto-placement - Whether auto-placement is enabled or disabled (on | off).

  • availability-zone - The Availability Zone of the host.

  • client-token - The idempotency token that you provided when you allocated the host.

  • host-reservation-id - The ID of the reservation assigned to this host.

  • instance-type - The instance type size that the Dedicated Host is configured to support.

  • state - The allocation state of the Dedicated Host (available | under-assessment | permanent-failure | released | released-permanent-failure).

  • 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.

", + "documentation":"

The filters.

  • auto-placement - Whether auto-placement is enabled or disabled (on | off).

  • availability-zone - The Availability Zone of the host.

  • client-token - The idempotency token that you provided when you allocated the host.

  • host-reservation-id - The ID of the reservation assigned to this host.

  • instance-type - The instance type size that the Dedicated Host is configured to support.

  • state - The allocation state of the Dedicated Host (available | under-assessment | permanent-failure | released | released-permanent-failure).

  • 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.

", "locationName":"filter" }, "HostIds":{ @@ -9241,12 +10660,12 @@ }, "MaxResults":{ "shape":"Integer", - "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. You cannot specify this parameter and the host IDs parameter in the same request.

", + "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.

You cannot specify this parameter and the host IDs parameter in the same request.

", "locationName":"maxResults" }, "NextToken":{ "shape":"String", - "documentation":"

The token to retrieve the next page of results.

", + "documentation":"

The token to use to retrieve the next page of results.

", "locationName":"nextToken" } } @@ -9271,12 +10690,12 @@ "members":{ "AssociationIds":{ "shape":"AssociationIdList", - "documentation":"

One or more IAM instance profile associations.

", + "documentation":"

The IAM instance profile associations.

", "locationName":"AssociationId" }, "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • instance-id - The ID of the instance.

  • state - The state of the association (associating | associated | disassociating | disassociated).

", + "documentation":"

The filters.

  • instance-id - The ID of the instance.

  • state - The state of the association (associating | associated | disassociating | disassociated).

", "locationName":"Filter" }, "MaxResults":{ @@ -9294,7 +10713,7 @@ "members":{ "IamInstanceProfileAssociations":{ "shape":"IamInstanceProfileAssociationSet", - "documentation":"

Information about one or more IAM instance profile associations.

", + "documentation":"

Information about the IAM instance profile associations.

", "locationName":"iamInstanceProfileAssociationSet" }, "NextToken":{ @@ -9382,12 +10801,12 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • architecture - The image architecture (i386 | x86_64).

  • block-device-mapping.delete-on-termination - A Boolean value that indicates whether the Amazon EBS volume is deleted on instance termination.

  • block-device-mapping.device-name - The device name specified in the block device mapping (for example, /dev/sdh or xvdh).

  • block-device-mapping.snapshot-id - The ID of the snapshot used for the EBS volume.

  • block-device-mapping.volume-size - The volume size of the EBS volume, in GiB.

  • block-device-mapping.volume-type - The volume type of the EBS volume (gp2 | io1 | st1 | sc1 | standard).

  • description - The description of the image (provided during image creation).

  • ena-support - A Boolean that indicates whether enhanced networking with ENA is enabled.

  • hypervisor - The hypervisor type (ovm | xen).

  • image-id - The ID of the image.

  • image-type - The image type (machine | kernel | ramdisk).

  • is-public - A Boolean that indicates whether the image is public.

  • kernel-id - The kernel ID.

  • manifest-location - The location of the image manifest.

  • name - The name of the AMI (provided during image creation).

  • owner-alias - String value from an Amazon-maintained list (amazon | aws-marketplace | microsoft) of snapshot owners. Not to be confused with the user-configured AWS account alias, which is set from the IAM console.

  • owner-id - The AWS account ID of the image owner.

  • platform - The platform. To only list Windows-based AMIs, use windows.

  • product-code - The product code.

  • product-code.type - The type of the product code (devpay | marketplace).

  • ramdisk-id - The RAM disk ID.

  • root-device-name - The device name of the root device volume (for example, /dev/sda1).

  • root-device-type - The type of the root device volume (ebs | instance-store).

  • state - The state of the image (available | pending | failed).

  • state-reason-code - The reason code for the state change.

  • state-reason-message - The message for the state change.

  • sriov-net-support - A value of simple indicates that enhanced networking with the Intel 82599 VF interface is enabled.

  • tag:<key> - 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.

  • 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.

  • virtualization-type - The virtualization type (paravirtual | hvm).

", + "documentation":"

The filters.

  • architecture - The image architecture (i386 | x86_64 | arm64).

  • block-device-mapping.delete-on-termination - A Boolean value that indicates whether the Amazon EBS volume is deleted on instance termination.

  • block-device-mapping.device-name - The device name specified in the block device mapping (for example, /dev/sdh or xvdh).

  • block-device-mapping.snapshot-id - The ID of the snapshot used for the EBS volume.

  • block-device-mapping.volume-size - The volume size of the EBS volume, in GiB.

  • block-device-mapping.volume-type - The volume type of the EBS volume (gp2 | io1 | st1 | sc1 | standard).

  • block-device-mapping.encrypted - A Boolean that indicates whether the EBS volume is encrypted.

  • description - The description of the image (provided during image creation).

  • ena-support - A Boolean that indicates whether enhanced networking with ENA is enabled.

  • hypervisor - The hypervisor type (ovm | xen).

  • image-id - The ID of the image.

  • image-type - The image type (machine | kernel | ramdisk).

  • is-public - A Boolean that indicates whether the image is public.

  • kernel-id - The kernel ID.

  • manifest-location - The location of the image manifest.

  • name - The name of the AMI (provided during image creation).

  • owner-alias - String value from an Amazon-maintained list (amazon | aws-marketplace | microsoft) of snapshot owners. Not to be confused with the user-configured AWS account alias, which is set from the IAM console.

  • owner-id - The AWS account ID of the image owner.

  • platform - The platform. To only list Windows-based AMIs, use windows.

  • product-code - The product code.

  • product-code.type - The type of the product code (devpay | marketplace).

  • ramdisk-id - The RAM disk ID.

  • root-device-name - The device name of the root device volume (for example, /dev/sda1).

  • root-device-type - The type of the root device volume (ebs | instance-store).

  • state - The state of the image (available | pending | failed).

  • state-reason-code - The reason code for the state change.

  • state-reason-message - The message for the state change.

  • sriov-net-support - A value of simple indicates that enhanced networking with the Intel 82599 VF interface is enabled.

  • tag:<key> - 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.

  • 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.

  • virtualization-type - The virtualization type (paravirtual | hvm).

", "locationName":"Filter" }, "ImageIds":{ "shape":"ImageIdStringList", - "documentation":"

One or more image IDs.

Default: Describes all images available to you.

", + "documentation":"

The image IDs.

Default: Describes all images available to you.

", "locationName":"ImageId" }, "Owners":{ @@ -9400,19 +10819,17 @@ "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.

", "locationName":"dryRun" } - }, - "documentation":"

Contains the parameters for DescribeImages.

" + } }, "DescribeImagesResult":{ "type":"structure", "members":{ "Images":{ "shape":"ImageList", - "documentation":"

Information about one or more images.

", + "documentation":"

Information about the images.

", "locationName":"imagesSet" } - }, - "documentation":"

Contains the output of DescribeImages.

" + } }, "DescribeImportImageTasksRequest":{ "type":"structure", @@ -9466,7 +10883,7 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

" + "documentation":"

The filters.

" }, "ImportTaskIds":{ "shape":"ImportTaskIdList", @@ -9524,6 +10941,11 @@ } } }, + "DescribeInstanceCreditSpecificationsMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, "DescribeInstanceCreditSpecificationsRequest":{ "type":"structure", "members":{ @@ -9533,16 +10955,16 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • instance-id - The ID of the instance.

", + "documentation":"

The filters.

  • instance-id - The ID of the instance.

", "locationName":"Filter" }, "InstanceIds":{ "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

Default: Describes all your instances.

Constraints: Maximum 1000 explicitly specified instance IDs.

", + "documentation":"

The instance IDs.

Default: Describes all your instances.

Constraints: Maximum 1000 explicitly specified instance IDs.

", "locationName":"InstanceId" }, "MaxResults":{ - "shape":"Integer", + "shape":"DescribeInstanceCreditSpecificationsMaxResults", "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 5 and 1000. You cannot specify this parameter and the instance IDs parameter in the same call.

" }, "NextToken":{ @@ -9571,12 +10993,12 @@ "members":{ "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • availability-zone - The Availability Zone of the instance.

  • event.code - The code for the scheduled event (instance-reboot | system-reboot | system-maintenance | instance-retirement | instance-stop).

  • event.description - A description of the event.

  • event.not-after - The latest end time for the scheduled event (for example, 2014-09-15T17:15:20.000Z).

  • event.not-before - The earliest start time for the scheduled event (for example, 2014-09-15T17:15:20.000Z).

  • instance-state-code - The code for the instance state, as a 16-bit unsigned integer. The high byte is used for internal purposes and should be ignored. The low byte is set based on the state represented. The valid values are 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped).

  • instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped).

  • instance-status.reachability - Filters on instance status where the name is reachability (passed | failed | initializing | insufficient-data).

  • instance-status.status - The status of the instance (ok | impaired | initializing | insufficient-data | not-applicable).

  • system-status.reachability - Filters on system status where the name is reachability (passed | failed | initializing | insufficient-data).

  • system-status.status - The system status of the instance (ok | impaired | initializing | insufficient-data | not-applicable).

", + "documentation":"

The filters.

  • availability-zone - The Availability Zone of the instance.

  • event.code - The code for the scheduled event (instance-reboot | system-reboot | system-maintenance | instance-retirement | instance-stop).

  • event.description - A description of the event.

  • event.instance-event-id - The ID of the event whose date and time you are modifying.

  • event.not-after - The latest end time for the scheduled event (for example, 2014-09-15T17:15:20.000Z).

  • event.not-before - The earliest start time for the scheduled event (for example, 2014-09-15T17:15:20.000Z).

  • event.not-before-deadline - The deadline for starting the event (for example, 2014-09-15T17:15:20.000Z).

  • instance-state-code - The code for the instance state, as a 16-bit unsigned integer. The high byte is used for internal purposes and should be ignored. The low byte is set based on the state represented. The valid values are 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped).

  • instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped).

  • instance-status.reachability - Filters on instance status where the name is reachability (passed | failed | initializing | insufficient-data).

  • instance-status.status - The status of the instance (ok | impaired | initializing | insufficient-data | not-applicable).

  • system-status.reachability - Filters on system status where the name is reachability (passed | failed | initializing | insufficient-data).

  • system-status.status - The system status of the instance (ok | impaired | initializing | insufficient-data | not-applicable).

", "locationName":"Filter" }, "InstanceIds":{ "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

Default: Describes all your instances.

Constraints: Maximum 100 explicitly specified instance IDs.

", + "documentation":"

The instance IDs.

Default: Describes all your instances.

Constraints: Maximum 100 explicitly specified instance IDs.

", "locationName":"InstanceId" }, "MaxResults":{ @@ -9604,7 +11026,7 @@ "members":{ "InstanceStatuses":{ "shape":"InstanceStatusList", - "documentation":"

One or more instance status descriptions.

", + "documentation":"

Information about the status of the instances.

", "locationName":"instanceStatusSet" }, "NextToken":{ @@ -9619,12 +11041,12 @@ "members":{ "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • affinity - The affinity setting for an instance running on a Dedicated Host (default | host).

  • architecture - The instance architecture (i386 | x86_64).

  • availability-zone - The Availability Zone of the instance.

  • block-device-mapping.attach-time - The attach time for an EBS volume mapped to the instance, for example, 2010-09-15T17:15:20.000Z.

  • block-device-mapping.delete-on-termination - A Boolean that indicates whether the EBS volume is deleted on instance termination.

  • block-device-mapping.device-name - The device name specified in the block device mapping (for example, /dev/sdh or xvdh).

  • block-device-mapping.status - The status for the EBS volume (attaching | attached | detaching | detached).

  • block-device-mapping.volume-id - The volume ID of the EBS volume.

  • client-token - The idempotency token you provided when you launched the instance.

  • dns-name - The public DNS name of the instance.

  • group-id - The ID of the security group for the instance. EC2-Classic only.

  • group-name - The name of the security group for the instance. EC2-Classic only.

  • hibernation-options.configured - A Boolean that indicates whether the instance is enabled for hibernation. A value of true means that the instance is enabled for hibernation.

  • host-id - The ID of the Dedicated Host on which the instance is running, if applicable.

  • hypervisor - The hypervisor type of the instance (ovm | xen).

  • iam-instance-profile.arn - The instance profile associated with the instance. Specified as an ARN.

  • image-id - The ID of the image used to launch the instance.

  • instance-id - The ID of the instance.

  • instance-lifecycle - Indicates whether this is a Spot Instance or a Scheduled Instance (spot | scheduled).

  • instance-state-code - The state of the instance, as a 16-bit unsigned integer. The high byte is used for internal purposes and should be ignored. The low byte is set based on the state represented. The valid values are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped).

  • instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped).

  • instance-type - The type of instance (for example, t2.micro).

  • instance.group-id - The ID of the security group for the instance.

  • instance.group-name - The name of the security group for the instance.

  • ip-address - The public IPv4 address of the instance.

  • kernel-id - The kernel ID.

  • key-name - The name of the key pair used when the instance was launched.

  • launch-index - When launching multiple instances, this is the index for the instance in the launch group (for example, 0, 1, 2, and so on).

  • launch-time - The time when the instance was launched.

  • monitoring-state - Indicates whether detailed monitoring is enabled (disabled | enabled).

  • network-interface.addresses.private-ip-address - The private IPv4 address associated with the network interface.

  • network-interface.addresses.primary - Specifies whether the IPv4 address of the network interface is the primary private IPv4 address.

  • network-interface.addresses.association.public-ip - The ID of the association of an Elastic IP address (IPv4) with a network interface.

  • network-interface.addresses.association.ip-owner-id - The owner ID of the private IPv4 address associated with the network interface.

  • network-interface.association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

  • network-interface.association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

  • network-interface.association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

  • network-interface.association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

  • network-interface.attachment.attachment-id - The ID of the interface attachment.

  • network-interface.attachment.instance-id - The ID of the instance to which the network interface is attached.

  • network-interface.attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

  • network-interface.attachment.device-index - The device index to which the network interface is attached.

  • network-interface.attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • network-interface.attachment.attach-time - The time that the network interface was attached to an instance.

  • network-interface.attachment.delete-on-termination - Specifies whether the attachment is deleted when an instance is terminated.

  • network-interface.availability-zone - The Availability Zone for the network interface.

  • network-interface.description - The description of the network interface.

  • network-interface.group-id - The ID of a security group associated with the network interface.

  • network-interface.group-name - The name of a security group associated with the network interface.

  • network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated with the network interface.

  • network-interface.mac-address - The MAC address of the network interface.

  • network-interface.network-interface-id - The ID of the network interface.

  • network-interface.owner-id - The ID of the owner of the network interface.

  • network-interface.private-dns-name - The private DNS name of the network interface.

  • network-interface.requester-id - The requester ID for the network interface.

  • network-interface.requester-managed - Indicates whether the network interface is being managed by AWS.

  • network-interface.status - The status of the network interface (available) | in-use).

  • network-interface.source-dest-check - Whether the network interface performs source/destination checking. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

  • network-interface.subnet-id - The ID of the subnet for the network interface.

  • network-interface.vpc-id - The ID of the VPC for the network interface.

  • owner-id - The AWS account ID of the instance owner.

  • placement-group-name - The name of the placement group for the instance.

  • platform - The platform. Use windows if you have Windows instances; otherwise, leave blank.

  • private-dns-name - The private IPv4 DNS name of the instance.

  • private-ip-address - The private IPv4 address of the instance.

  • product-code - The product code associated with the AMI used to launch the instance.

  • product-code.type - The type of product code (devpay | marketplace).

  • ramdisk-id - The RAM disk ID.

  • reason - The reason for the current state of the instance (for example, shows \"User Initiated [date]\" when you stop or terminate the instance). Similar to the state-reason-code filter.

  • requester-id - The ID of the entity that launched the instance on your behalf (for example, AWS Management Console, Auto Scaling, and so on).

  • reservation-id - The ID of the instance's reservation. A reservation ID is created any time you launch an instance. A reservation ID has a one-to-one relationship with an instance launch request, but can be associated with more than one instance if you launch multiple instances using the same launch request. For example, if you launch one instance, you get one reservation ID. If you launch ten instances using the same launch request, you also get one reservation ID.

  • root-device-name - The device name of the root device volume (for example, /dev/sda1).

  • root-device-type - The type of the root device volume (ebs | instance-store).

  • source-dest-check - Indicates whether the instance performs source/destination checking. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the instance to perform network address translation (NAT) in your VPC.

  • spot-instance-request-id - The ID of the Spot Instance request.

  • state-reason-code - The reason code for the state change.

  • state-reason-message - A message that describes the state change.

  • subnet-id - The ID of the subnet for the instance.

  • tag:<key> - 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.

  • 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.

  • tenancy - The tenancy of an instance (dedicated | default | host).

  • virtualization-type - The virtualization type of the instance (paravirtual | hvm).

  • vpc-id - The ID of the VPC that the instance is running in.

", + "documentation":"

The filters.

  • affinity - The affinity setting for an instance running on a Dedicated Host (default | host).

  • architecture - The instance architecture (i386 | x86_64 | arm64).

  • availability-zone - The Availability Zone of the instance.

  • block-device-mapping.attach-time - The attach time for an EBS volume mapped to the instance, for example, 2010-09-15T17:15:20.000Z.

  • block-device-mapping.delete-on-termination - A Boolean that indicates whether the EBS volume is deleted on instance termination.

  • block-device-mapping.device-name - The device name specified in the block device mapping (for example, /dev/sdh or xvdh).

  • block-device-mapping.status - The status for the EBS volume (attaching | attached | detaching | detached).

  • block-device-mapping.volume-id - The volume ID of the EBS volume.

  • client-token - The idempotency token you provided when you launched the instance.

  • dns-name - The public DNS name of the instance.

  • group-id - The ID of the security group for the instance. EC2-Classic only.

  • group-name - The name of the security group for the instance. EC2-Classic only.

  • hibernation-options.configured - A Boolean that indicates whether the instance is enabled for hibernation. A value of true means that the instance is enabled for hibernation.

  • host-id - The ID of the Dedicated Host on which the instance is running, if applicable.

  • hypervisor - The hypervisor type of the instance (ovm | xen).

  • iam-instance-profile.arn - The instance profile associated with the instance. Specified as an ARN.

  • image-id - The ID of the image used to launch the instance.

  • instance-id - The ID of the instance.

  • instance-lifecycle - Indicates whether this is a Spot Instance or a Scheduled Instance (spot | scheduled).

  • instance-state-code - The state of the instance, as a 16-bit unsigned integer. The high byte is used for internal purposes and should be ignored. The low byte is set based on the state represented. The valid values are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped).

  • instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped).

  • instance-type - The type of instance (for example, t2.micro).

  • instance.group-id - The ID of the security group for the instance.

  • instance.group-name - The name of the security group for the instance.

  • ip-address - The public IPv4 address of the instance.

  • kernel-id - The kernel ID.

  • key-name - The name of the key pair used when the instance was launched.

  • launch-index - When launching multiple instances, this is the index for the instance in the launch group (for example, 0, 1, 2, and so on).

  • launch-time - The time when the instance was launched.

  • monitoring-state - Indicates whether detailed monitoring is enabled (disabled | enabled).

  • network-interface.addresses.private-ip-address - The private IPv4 address associated with the network interface.

  • network-interface.addresses.primary - Specifies whether the IPv4 address of the network interface is the primary private IPv4 address.

  • network-interface.addresses.association.public-ip - The ID of the association of an Elastic IP address (IPv4) with a network interface.

  • network-interface.addresses.association.ip-owner-id - The owner ID of the private IPv4 address associated with the network interface.

  • network-interface.association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

  • network-interface.association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

  • network-interface.association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

  • network-interface.association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

  • network-interface.attachment.attachment-id - The ID of the interface attachment.

  • network-interface.attachment.instance-id - The ID of the instance to which the network interface is attached.

  • network-interface.attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

  • network-interface.attachment.device-index - The device index to which the network interface is attached.

  • network-interface.attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • network-interface.attachment.attach-time - The time that the network interface was attached to an instance.

  • network-interface.attachment.delete-on-termination - Specifies whether the attachment is deleted when an instance is terminated.

  • network-interface.availability-zone - The Availability Zone for the network interface.

  • network-interface.description - The description of the network interface.

  • network-interface.group-id - The ID of a security group associated with the network interface.

  • network-interface.group-name - The name of a security group associated with the network interface.

  • network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated with the network interface.

  • network-interface.mac-address - The MAC address of the network interface.

  • network-interface.network-interface-id - The ID of the network interface.

  • network-interface.owner-id - The ID of the owner of the network interface.

  • network-interface.private-dns-name - The private DNS name of the network interface.

  • network-interface.requester-id - The requester ID for the network interface.

  • network-interface.requester-managed - Indicates whether the network interface is being managed by AWS.

  • network-interface.status - The status of the network interface (available) | in-use).

  • network-interface.source-dest-check - Whether the network interface performs source/destination checking. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

  • network-interface.subnet-id - The ID of the subnet for the network interface.

  • network-interface.vpc-id - The ID of the VPC for the network interface.

  • owner-id - The AWS account ID of the instance owner.

  • placement-group-name - The name of the placement group for the instance.

  • placement-partition-number - The partition in which the instance is located.

  • platform - The platform. To list only Windows instances, use windows.

  • private-dns-name - The private IPv4 DNS name of the instance.

  • private-ip-address - The private IPv4 address of the instance.

  • product-code - The product code associated with the AMI used to launch the instance.

  • product-code.type - The type of product code (devpay | marketplace).

  • ramdisk-id - The RAM disk ID.

  • reason - The reason for the current state of the instance (for example, shows \"User Initiated [date]\" when you stop or terminate the instance). Similar to the state-reason-code filter.

  • requester-id - The ID of the entity that launched the instance on your behalf (for example, AWS Management Console, Auto Scaling, and so on).

  • reservation-id - The ID of the instance's reservation. A reservation ID is created any time you launch an instance. A reservation ID has a one-to-one relationship with an instance launch request, but can be associated with more than one instance if you launch multiple instances using the same launch request. For example, if you launch one instance, you get one reservation ID. If you launch ten instances using the same launch request, you also get one reservation ID.

  • root-device-name - The device name of the root device volume (for example, /dev/sda1).

  • root-device-type - The type of the root device volume (ebs | instance-store).

  • source-dest-check - Indicates whether the instance performs source/destination checking. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the instance to perform network address translation (NAT) in your VPC.

  • spot-instance-request-id - The ID of the Spot Instance request.

  • state-reason-code - The reason code for the state change.

  • state-reason-message - A message that describes the state change.

  • subnet-id - The ID of the subnet for the instance.

  • tag:<key> - 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.

  • 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.

  • tenancy - The tenancy of an instance (dedicated | default | host).

  • virtualization-type - The virtualization type of the instance (paravirtual | hvm).

  • vpc-id - The ID of the VPC that the instance is running in.

", "locationName":"Filter" }, "InstanceIds":{ "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

Default: Describes all your instances.

", + "documentation":"

The instance IDs.

Default: Describes all your instances.

", "locationName":"InstanceId" }, "DryRun":{ @@ -9649,7 +11071,7 @@ "members":{ "Reservations":{ "shape":"ReservationList", - "documentation":"

Zero or more reservations.

", + "documentation":"

Information about the reservations.

", "locationName":"reservationSet" }, "NextToken":{ @@ -9659,6 +11081,11 @@ } } }, + "DescribeInternetGatewaysMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, "DescribeInternetGatewaysRequest":{ "type":"structure", "members":{ @@ -9676,6 +11103,14 @@ "shape":"ValueStringList", "documentation":"

One or more internet gateway IDs.

Default: Describes all your internet gateways.

", "locationName":"internetGatewayId" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "MaxResults":{ + "shape":"DescribeInternetGatewaysMaxResults", + "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.

" } } }, @@ -9686,6 +11121,11 @@ "shape":"InternetGatewayList", "documentation":"

Information about one or more internet gateways.

", "locationName":"internetGatewaySet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" } } }, @@ -9694,12 +11134,12 @@ "members":{ "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • fingerprint - The fingerprint of the key pair.

  • key-name - The name of the key pair.

", + "documentation":"

The filters.

  • fingerprint - The fingerprint of the key pair.

  • key-name - The name of the key pair.

", "locationName":"Filter" }, "KeyNames":{ "shape":"KeyNameStringList", - "documentation":"

One or more key pair names.

Default: Describes all your key pairs.

", + "documentation":"

The key pair names.

Default: Describes all your key pairs.

", "locationName":"KeyName" }, "DryRun":{ @@ -9714,7 +11154,7 @@ "members":{ "KeyPairs":{ "shape":"KeyPairList", - "documentation":"

Information about one or more key pairs.

", + "documentation":"

Information about the key pairs.

", "locationName":"keySet" } } @@ -9777,6 +11217,11 @@ } } }, + "DescribeLaunchTemplatesMaxResults":{ + "type":"integer", + "max":200, + "min":1 + }, "DescribeLaunchTemplatesRequest":{ "type":"structure", "members":{ @@ -9804,7 +11249,7 @@ "documentation":"

The token to request the next page of results.

" }, "MaxResults":{ - "shape":"Integer", + "shape":"DescribeLaunchTemplatesMaxResults", "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 1 and 200.

" } } @@ -9878,7 +11323,7 @@ }, "MaxResults":{ "shape":"Integer", - "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.

Constraint: If the value specified is greater than 1000, we return only 1000 items.

" + "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.

" }, "NatGatewayIds":{ "shape":"ValueStringList", @@ -9887,7 +11332,7 @@ }, "NextToken":{ "shape":"String", - "documentation":"

The token to retrieve the next page of results.

" + "documentation":"

The token for the next page of results.

" } } }, @@ -9906,6 +11351,11 @@ } } }, + "DescribeNetworkAclsMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, "DescribeNetworkAclsRequest":{ "type":"structure", "members":{ @@ -9923,6 +11373,14 @@ "shape":"ValueStringList", "documentation":"

One or more network ACL IDs.

Default: Describes all your network ACLs.

", "locationName":"NetworkAclId" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "MaxResults":{ + "shape":"DescribeNetworkAclsMaxResults", + "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.

" } } }, @@ -9933,6 +11391,11 @@ "shape":"NetworkAclList", "documentation":"

Information about one or more network ACLs.

", "locationName":"networkAclSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" } } }, @@ -9989,6 +11452,11 @@ }, "documentation":"

Contains the output of DescribeNetworkInterfaceAttribute.

" }, + "DescribeNetworkInterfacePermissionsMaxResults":{ + "type":"integer", + "max":255, + "min":5 + }, "DescribeNetworkInterfacePermissionsRequest":{ "type":"structure", "members":{ @@ -10007,7 +11475,7 @@ "documentation":"

The token to request the next page of results.

" }, "MaxResults":{ - "shape":"Integer", + "shape":"DescribeNetworkInterfacePermissionsMaxResults", "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. If this parameter is not specified, up to 50 results are returned by default.

" } }, @@ -10029,12 +11497,17 @@ }, "documentation":"

Contains the output for DescribeNetworkInterfacePermissions.

" }, + "DescribeNetworkInterfacesMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, "DescribeNetworkInterfacesRequest":{ "type":"structure", "members":{ "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • addresses.private-ip-address - The private IPv4 addresses associated with the network interface.

  • addresses.primary - Whether the private IPv4 address is the primary IP address associated with the network interface.

  • addresses.association.public-ip - The association ID returned when the network interface was associated with the Elastic IP address (IPv4).

  • addresses.association.owner-id - The owner ID of the addresses associated with the network interface.

  • association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

  • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

  • association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

  • association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

  • association.public-dns-name - The public DNS name for the network interface (IPv4).

  • attachment.attachment-id - The ID of the interface attachment.

  • attachment.attach.time - The time that the network interface was attached to an instance.

  • attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated.

  • attachment.device-index - The device index to which the network interface is attached.

  • attachment.instance-id - The ID of the instance to which the network interface is attached.

  • attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

  • attachment.nat-gateway-id - The ID of the NAT gateway to which the network interface is attached.

  • attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • availability-zone - The Availability Zone of the network interface.

  • description - The description of the network interface.

  • group-id - The ID of a security group associated with the network interface.

  • group-name - The name of a security group associated with the network interface.

  • ipv6-addresses.ipv6-address - An IPv6 address associated with the network interface.

  • mac-address - The MAC address of the network interface.

  • network-interface-id - The ID of the network interface.

  • owner-id - The AWS account ID of the network interface owner.

  • private-ip-address - The private IPv4 address or addresses of the network interface.

  • private-dns-name - The private DNS name of the network interface (IPv4).

  • requester-id - The ID of the entity that launched the instance on your behalf (for example, AWS Management Console, Auto Scaling, and so on).

  • requester-managed - Indicates whether the network interface is being managed by an AWS service (for example, AWS Management Console, Auto Scaling, and so on).

  • source-desk-check - Indicates whether the network interface performs source/destination checking. A value of true means checking is enabled, and false means checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

  • status - The status of the network interface. If the network interface is not attached to an instance, the status is available; if a network interface is attached to an instance the status is in-use.

  • subnet-id - The ID of the subnet for the network interface.

  • tag:<key> - 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.

  • 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.

  • vpc-id - The ID of the VPC for the network interface.

", + "documentation":"

One or more filters.

  • addresses.private-ip-address - The private IPv4 addresses associated with the network interface.

  • addresses.primary - Whether the private IPv4 address is the primary IP address associated with the network interface.

  • addresses.association.public-ip - The association ID returned when the network interface was associated with the Elastic IP address (IPv4).

  • addresses.association.owner-id - The owner ID of the addresses associated with the network interface.

  • association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

  • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

  • association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

  • association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

  • association.public-dns-name - The public DNS name for the network interface (IPv4).

  • attachment.attachment-id - The ID of the interface attachment.

  • attachment.attach.time - The time that the network interface was attached to an instance.

  • attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated.

  • attachment.device-index - The device index to which the network interface is attached.

  • attachment.instance-id - The ID of the instance to which the network interface is attached.

  • attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

  • attachment.nat-gateway-id - The ID of the NAT gateway to which the network interface is attached.

  • attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • availability-zone - The Availability Zone of the network interface.

  • description - The description of the network interface.

  • group-id - The ID of a security group associated with the network interface.

  • group-name - The name of a security group associated with the network interface.

  • ipv6-addresses.ipv6-address - An IPv6 address associated with the network interface.

  • mac-address - The MAC address of the network interface.

  • network-interface-id - The ID of the network interface.

  • owner-id - The AWS account ID of the network interface owner.

  • private-ip-address - The private IPv4 address or addresses of the network interface.

  • private-dns-name - The private DNS name of the network interface (IPv4).

  • requester-id - The ID of the entity that launched the instance on your behalf (for example, AWS Management Console, Auto Scaling, and so on).

  • requester-managed - Indicates whether the network interface is being managed by an AWS service (for example, AWS Management Console, Auto Scaling, and so on).

  • source-dest-check - Indicates whether the network interface performs source/destination checking. A value of true means checking is enabled, and false means checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

  • status - The status of the network interface. If the network interface is not attached to an instance, the status is available; if a network interface is attached to an instance the status is in-use.

  • subnet-id - The ID of the subnet for the network interface.

  • tag:<key> - 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.

  • 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.

  • vpc-id - The ID of the VPC for the network interface.

", "locationName":"filter" }, "DryRun":{ @@ -10052,7 +11525,7 @@ "documentation":"

The token to retrieve the next page of results.

" }, "MaxResults":{ - "shape":"Integer", + "shape":"DescribeNetworkInterfacesMaxResults", "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.

" } }, @@ -10079,7 +11552,7 @@ "members":{ "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • group-name - The name of the placement group.

  • state - The state of the placement group (pending | available | deleting | deleted).

  • strategy - The strategy of the placement group (cluster | spread).

", + "documentation":"

The filters.

  • group-name - The name of the placement group.

  • state - The state of the placement group (pending | available | deleting | deleted).

  • strategy - The strategy of the placement group (cluster | spread | partition).

", "locationName":"Filter" }, "DryRun":{ @@ -10089,7 +11562,7 @@ }, "GroupNames":{ "shape":"PlacementGroupStringList", - "documentation":"

One or more placement group names.

Default: Describes all your placement groups, or only those otherwise specified.

", + "documentation":"

The names of the placement groups.

Default: Describes all your placement groups, or only those otherwise specified.

", "locationName":"groupName" } } @@ -10099,7 +11572,7 @@ "members":{ "PlacementGroups":{ "shape":"PlacementGroupList", - "documentation":"

One or more placement groups.

", + "documentation":"

Information about the placement groups.

", "locationName":"placementGroupSet" } } @@ -10118,11 +11591,11 @@ }, "MaxResults":{ "shape":"Integer", - "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.

Constraint: If the value specified is greater than 1000, we return only 1000 items.

" + "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.

" }, "NextToken":{ "shape":"String", - "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

" + "documentation":"

The token for the next page of results.

" }, "PrefixListIds":{ "shape":"ValueStringList", @@ -10136,7 +11609,7 @@ "members":{ "NextToken":{ "shape":"String", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "locationName":"nextToken" }, "PrefixLists":{ @@ -10221,12 +11694,12 @@ "members":{ "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • endpoint - The endpoint of the region (for example, ec2.us-east-1.amazonaws.com).

  • region-name - The name of the region (for example, us-east-1).

", + "documentation":"

The filters.

  • endpoint - The endpoint of the Region (for example, ec2.us-east-1.amazonaws.com).

  • region-name - The name of the Region (for example, us-east-1).

", "locationName":"Filter" }, "RegionNames":{ "shape":"RegionNameStringList", - "documentation":"

The names of one or more regions.

", + "documentation":"

The names of the Regions.

", "locationName":"RegionName" }, "DryRun":{ @@ -10241,7 +11714,7 @@ "members":{ "Regions":{ "shape":"RegionList", - "documentation":"

Information about one or more regions.

", + "documentation":"

Information about the Regions.

", "locationName":"regionInfo" } } @@ -10333,7 +11806,7 @@ }, "InstanceType":{ "shape":"InstanceType", - "documentation":"

The instance type that the reservation will cover (for example, m1.small). For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The instance type that the reservation will cover (for example, m1.small). For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

" }, "MaxDuration":{ "shape":"Long", @@ -10445,6 +11918,11 @@ }, "documentation":"

Contains the output for DescribeReservedInstances.

" }, + "DescribeRouteTablesMaxResults":{ + "type":"integer", + "max":100, + "min":5 + }, "DescribeRouteTablesRequest":{ "type":"structure", "members":{ @@ -10465,11 +11943,11 @@ }, "NextToken":{ "shape":"String", - "documentation":"

The token to retrieve the next page of results.

" + "documentation":"

The token for the next page of results.

" }, "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 5 and 100.

" + "shape":"DescribeRouteTablesMaxResults", + "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.

" } } }, @@ -10502,7 +11980,7 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • availability-zone - The Availability Zone (for example, us-west-2a).

  • instance-type - The instance type (for example, c4.large).

  • network-platform - The network platform (EC2-Classic or EC2-VPC).

  • platform - The platform (Linux/UNIX or Windows).

", + "documentation":"

The filters.

  • availability-zone - The Availability Zone (for example, us-west-2a).

  • instance-type - The instance type (for example, c4.large).

  • network-platform - The network platform (EC2-Classic or EC2-VPC).

  • platform - The platform (Linux/UNIX or Windows).

", "locationName":"Filter" }, "FirstSlotStartTimeRange":{ @@ -10557,7 +12035,7 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • availability-zone - The Availability Zone (for example, us-west-2a).

  • instance-type - The instance type (for example, c4.large).

  • network-platform - The network platform (EC2-Classic or EC2-VPC).

  • platform - The platform (Linux/UNIX or Windows).

", + "documentation":"

The filters.

  • availability-zone - The Availability Zone (for example, us-west-2a).

  • instance-type - The instance type (for example, c4.large).

  • network-platform - The network platform (EC2-Classic or EC2-VPC).

  • platform - The platform (Linux/UNIX or Windows).

", "locationName":"Filter" }, "MaxResults":{ @@ -10570,7 +12048,7 @@ }, "ScheduledInstanceIds":{ "shape":"ScheduledInstanceIdRequestSet", - "documentation":"

One or more Scheduled Instance IDs.

", + "documentation":"

The Scheduled Instance IDs.

", "locationName":"ScheduledInstanceId" }, "SlotStartTimeRange":{ @@ -10606,7 +12084,7 @@ }, "GroupId":{ "shape":"GroupIds", - "documentation":"

One or more security group IDs in your account.

" + "documentation":"

The IDs of the security groups in your account.

" } } }, @@ -10620,22 +12098,27 @@ } } }, + "DescribeSecurityGroupsMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, "DescribeSecurityGroupsRequest":{ "type":"structure", "members":{ "Filters":{ "shape":"FilterList", - "documentation":"

One or more 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.

  • description - The description of the security group.

  • egress.ip-permission.cidr - An IPv4 CIDR block for an outbound security group rule.

  • egress.ip-permission.from-port - For an outbound rule, the start of port range for the TCP and UDP protocols, or an ICMP type number.

  • egress.ip-permission.group-id - The ID of a security group that has been referenced in an outbound security group rule.

  • egress.ip-permission.group-name - The name of a security group that has been referenced in an outbound security group rule.

  • egress.ip-permission.ipv6-cidr - An IPv6 CIDR block for an outbound security group rule.

  • egress.ip-permission.prefix-list-id - The ID (prefix) of the AWS service to which a security group rule allows outbound access.

  • egress.ip-permission.protocol - The IP protocol for an outbound security group rule (tcp | udp | icmp or a protocol number).

  • egress.ip-permission.to-port - For an outbound rule, the end of port range for the TCP and UDP protocols, or an ICMP code.

  • egress.ip-permission.user-id - The ID of an AWS account that has been referenced in an outbound security group rule.

  • group-id - The ID of the security group.

  • group-name - The name of the security group.

  • ip-permission.cidr - An IPv4 CIDR block for an inbound security group rule.

  • ip-permission.from-port - For an inbound rule, the start of port range for the TCP and UDP protocols, or an ICMP type number.

  • ip-permission.group-id - The ID of a security group that has been referenced in an inbound security group rule.

  • ip-permission.group-name - The name of a security group that has been referenced in an inbound security group rule.

  • ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security group rule.

  • ip-permission.prefix-list-id - The ID (prefix) of the AWS service from which a security group rule allows inbound access.

  • ip-permission.protocol - The IP protocol for an inbound security group rule (tcp | udp | icmp or a protocol number).

  • ip-permission.to-port - For an inbound rule, the end of port range for the TCP and UDP protocols, or an ICMP code.

  • ip-permission.user-id - The ID of an AWS account that has been referenced in an inbound security group rule.

  • owner-id - The AWS account ID of the owner of the security group.

  • tag:<key> - 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.

  • 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.

  • vpc-id - The ID of the VPC specified when the security group was created.

", + "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.

  • description - The description of the security group.

  • egress.ip-permission.cidr - An IPv4 CIDR block for an outbound security group rule.

  • egress.ip-permission.from-port - For an outbound rule, the start of port range for the TCP and UDP protocols, or an ICMP type number.

  • egress.ip-permission.group-id - The ID of a security group that has been referenced in an outbound security group rule.

  • egress.ip-permission.group-name - The name of a security group that has been referenced in an outbound security group rule.

  • egress.ip-permission.ipv6-cidr - An IPv6 CIDR block for an outbound security group rule.

  • egress.ip-permission.prefix-list-id - The ID (prefix) of the AWS service to which a security group rule allows outbound access.

  • egress.ip-permission.protocol - The IP protocol for an outbound security group rule (tcp | udp | icmp or a protocol number).

  • egress.ip-permission.to-port - For an outbound rule, the end of port range for the TCP and UDP protocols, or an ICMP code.

  • egress.ip-permission.user-id - The ID of an AWS account that has been referenced in an outbound security group rule.

  • group-id - The ID of the security group.

  • group-name - The name of the security group.

  • ip-permission.cidr - An IPv4 CIDR block for an inbound security group rule.

  • ip-permission.from-port - For an inbound rule, the start of port range for the TCP and UDP protocols, or an ICMP type number.

  • ip-permission.group-id - The ID of a security group that has been referenced in an inbound security group rule.

  • ip-permission.group-name - The name of a security group that has been referenced in an inbound security group rule.

  • ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security group rule.

  • ip-permission.prefix-list-id - The ID (prefix) of the AWS service from which a security group rule allows inbound access.

  • ip-permission.protocol - The IP protocol for an inbound security group rule (tcp | udp | icmp or a protocol number).

  • ip-permission.to-port - For an inbound rule, the end of port range for the TCP and UDP protocols, or an ICMP code.

  • ip-permission.user-id - The ID of an AWS account that has been referenced in an inbound security group rule.

  • owner-id - The AWS account ID of the owner of the security group.

  • tag:<key> - 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.

  • 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.

  • vpc-id - The ID of the VPC specified when the security group was created.

", "locationName":"Filter" }, "GroupIds":{ "shape":"GroupIdStringList", - "documentation":"

One or more security group IDs. Required for security groups in a nondefault VPC.

Default: Describes all your security groups.

", + "documentation":"

The IDs of the security groups. Required for security groups in a nondefault VPC.

Default: Describes all your security groups.

", "locationName":"GroupId" }, "GroupNames":{ "shape":"GroupNameStringList", - "documentation":"

[EC2-Classic and default VPC only] One or more security group names. You can specify either the security group name or the security group ID. For security groups in a nondefault VPC, use the group-name filter to describe security groups by name.

Default: Describes all your security groups.

", + "documentation":"

[EC2-Classic and default VPC only] The names of the security groups. You can specify either the security group name or the security group ID. For security groups in a nondefault VPC, use the group-name filter to describe security groups by name.

Default: Describes all your security groups.

", "locationName":"GroupName" }, "DryRun":{ @@ -10648,7 +12131,7 @@ "documentation":"

The token to request the next page of results.

" }, "MaxResults":{ - "shape":"Integer", + "shape":"DescribeSecurityGroupsMaxResults", "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another request with the returned NextToken value. This value can be between 5 and 1000. If this parameter is not specified, then all results are returned.

" } } @@ -10658,7 +12141,7 @@ "members":{ "SecurityGroups":{ "shape":"SecurityGroupList", - "documentation":"

Information about one or more security groups.

", + "documentation":"

Information about the security groups.

", "locationName":"securityGroupInfo" }, "NextToken":{ @@ -10696,12 +12179,12 @@ "members":{ "CreateVolumePermissions":{ "shape":"CreateVolumePermissionList", - "documentation":"

A list of permissions for creating volumes from the snapshot.

", + "documentation":"

The users and groups that have the permissions for creating volumes from the snapshot.

", "locationName":"createVolumePermission" }, "ProductCodes":{ "shape":"ProductCodeList", - "documentation":"

A list of product codes.

", + "documentation":"

The product codes.

", "locationName":"productCodes" }, "SnapshotId":{ @@ -10717,7 +12200,7 @@ "members":{ "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • description - A description of the snapshot.

  • owner-alias - Value from an Amazon-maintained list (amazon | aws-marketplace | microsoft) of snapshot owners. Not to be confused with the user-configured AWS account alias, which is set from the IAM console.

  • owner-id - The ID of the AWS account that owns the snapshot.

  • progress - The progress of the snapshot, as a percentage (for example, 80%).

  • snapshot-id - The snapshot ID.

  • start-time - The time stamp when the snapshot was initiated.

  • status - The status of the snapshot (pending | completed | error).

  • tag:<key> - 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.

  • 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.

  • volume-id - The ID of the volume the snapshot is for.

  • volume-size - The size of the volume, in GiB.

", + "documentation":"

The filters.

  • description - A description of the snapshot.

  • encrypted - Indicates whether the snapshot is encrypted (true | false)

  • owner-alias - Value from an Amazon-maintained list (amazon | self | all | aws-marketplace | microsoft) of snapshot owners. Not to be confused with the user-configured AWS account alias, which is set from the IAM console.

  • owner-id - The ID of the AWS account that owns the snapshot.

  • progress - The progress of the snapshot, as a percentage (for example, 80%).

  • snapshot-id - The snapshot ID.

  • start-time - The time stamp when the snapshot was initiated.

  • status - The status of the snapshot (pending | completed | error).

  • tag:<key> - 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.

  • 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.

  • volume-id - The ID of the volume the snapshot is for.

  • volume-size - The size of the volume, in GiB.

", "locationName":"Filter" }, "MaxResults":{ @@ -10730,17 +12213,17 @@ }, "OwnerIds":{ "shape":"OwnerStringList", - "documentation":"

Returns the snapshots owned by the specified owner. Multiple owners can be specified.

", + "documentation":"

Describes the snapshots owned by these owners.

", "locationName":"Owner" }, "RestorableByUserIds":{ "shape":"RestorableByStringList", - "documentation":"

One or more AWS accounts IDs that can create volumes from the snapshot.

", + "documentation":"

The IDs of the AWS accounts that can create volumes from the snapshot.

", "locationName":"RestorableBy" }, "SnapshotIds":{ "shape":"SnapshotIdStringList", - "documentation":"

One or more snapshot IDs.

Default: Describes snapshots for which you have launch permissions.

", + "documentation":"

The snapshot IDs.

Default: Describes the snapshots for which you have create volume permissions.

", "locationName":"SnapshotId" }, "DryRun":{ @@ -10748,8 +12231,7 @@ "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.

", "locationName":"dryRun" } - }, - "documentation":"

Contains the parameters for DescribeSnapshots.

" + } }, "DescribeSnapshotsResult":{ "type":"structure", @@ -10764,8 +12246,7 @@ "documentation":"

The NextToken value to include in a future DescribeSnapshots request. When the results of a DescribeSnapshots request exceed MaxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

", "locationName":"nextToken" } - }, - "documentation":"

Contains the output of DescribeSnapshots.

" + } }, "DescribeSpotDatafeedSubscriptionRequest":{ "type":"structure", @@ -10818,10 +12299,6 @@ }, "DescribeSpotFleetInstancesResponse":{ "type":"structure", - "required":[ - "ActiveInstances", - "SpotFleetRequestId" - ], "members":{ "ActiveInstances":{ "shape":"ActiveInstanceSet", @@ -10883,12 +12360,6 @@ }, "DescribeSpotFleetRequestHistoryResponse":{ "type":"structure", - "required":[ - "HistoryRecords", - "LastEvaluatedTime", - "SpotFleetRequestId", - "StartTime" - ], "members":{ "HistoryRecords":{ "shape":"HistoryRecords", @@ -10946,7 +12417,6 @@ }, "DescribeSpotFleetRequestsResponse":{ "type":"structure", - "required":["SpotFleetRequestConfigs"], "members":{ "NextToken":{ "shape":"String", @@ -10966,7 +12436,7 @@ "members":{ "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • availability-zone-group - The Availability Zone group.

  • create-time - The time stamp when the Spot Instance request was created.

  • fault-code - The fault code related to the request.

  • fault-message - The fault message related to the request.

  • instance-id - The ID of the instance that fulfilled the request.

  • launch-group - The Spot Instance launch group.

  • launch.block-device-mapping.delete-on-termination - Indicates whether the EBS volume is deleted on instance termination.

  • launch.block-device-mapping.device-name - The device name for the volume in the block device mapping (for example, /dev/sdh or xvdh).

  • launch.block-device-mapping.snapshot-id - The ID of the snapshot for the EBS volume.

  • launch.block-device-mapping.volume-size - The size of the EBS volume, in GiB.

  • launch.block-device-mapping.volume-type - The type of EBS volume: gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1for Cold HDD, or standard for Magnetic.

  • launch.group-id - The ID of the security group for the instance.

  • launch.group-name - The name of the security group for the instance.

  • launch.image-id - The ID of the AMI.

  • launch.instance-type - The type of instance (for example, m3.medium).

  • launch.kernel-id - The kernel ID.

  • launch.key-name - The name of the key pair the instance launched with.

  • launch.monitoring-enabled - Whether detailed monitoring is enabled for the Spot Instance.

  • launch.ramdisk-id - The RAM disk ID.

  • launched-availability-zone - The Availability Zone in which the request is launched.

  • network-interface.addresses.primary - Indicates whether the IP address is the primary private IP address.

  • network-interface.delete-on-termination - Indicates whether the network interface is deleted when the instance is terminated.

  • network-interface.description - A description of the network interface.

  • network-interface.device-index - The index of the device for the network interface attachment on the instance.

  • network-interface.group-id - The ID of the security group associated with the network interface.

  • network-interface.network-interface-id - The ID of the network interface.

  • network-interface.private-ip-address - The primary private IP address of the network interface.

  • network-interface.subnet-id - The ID of the subnet for the instance.

  • product-description - The product description associated with the instance (Linux/UNIX | Windows).

  • spot-instance-request-id - The Spot Instance request ID.

  • spot-price - The maximum hourly price for any Spot Instance launched to fulfill the request.

  • state - The state of the Spot Instance request (open | active | closed | cancelled | failed). Spot request status information can help you track your Amazon EC2 Spot Instance requests. For more information, see Spot Request Status in the Amazon EC2 User Guide for Linux Instances.

  • status-code - The short code describing the most recent evaluation of your Spot Instance request.

  • status-message - The message explaining the status of the Spot Instance request.

  • tag:<key> - 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.

  • 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.

  • type - The type of Spot Instance request (one-time | persistent).

  • valid-from - The start date of the request.

  • valid-until - The end date of the request.

", + "documentation":"

One or more filters.

  • availability-zone-group - The Availability Zone group.

  • create-time - The time stamp when the Spot Instance request was created.

  • fault-code - The fault code related to the request.

  • fault-message - The fault message related to the request.

  • instance-id - The ID of the instance that fulfilled the request.

  • launch-group - The Spot Instance launch group.

  • launch.block-device-mapping.delete-on-termination - Indicates whether the EBS volume is deleted on instance termination.

  • launch.block-device-mapping.device-name - The device name for the volume in the block device mapping (for example, /dev/sdh or xvdh).

  • launch.block-device-mapping.snapshot-id - The ID of the snapshot for the EBS volume.

  • launch.block-device-mapping.volume-size - The size of the EBS volume, in GiB.

  • launch.block-device-mapping.volume-type - The type of EBS volume: gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1for Cold HDD, or standard for Magnetic.

  • launch.group-id - The ID of the security group for the instance.

  • launch.group-name - The name of the security group for the instance.

  • launch.image-id - The ID of the AMI.

  • launch.instance-type - The type of instance (for example, m3.medium).

  • launch.kernel-id - The kernel ID.

  • launch.key-name - The name of the key pair the instance launched with.

  • launch.monitoring-enabled - Whether detailed monitoring is enabled for the Spot Instance.

  • launch.ramdisk-id - The RAM disk ID.

  • launched-availability-zone - The Availability Zone in which the request is launched.

  • network-interface.addresses.primary - Indicates whether the IP address is the primary private IP address.

  • network-interface.delete-on-termination - Indicates whether the network interface is deleted when the instance is terminated.

  • network-interface.description - A description of the network interface.

  • network-interface.device-index - The index of the device for the network interface attachment on the instance.

  • network-interface.group-id - The ID of the security group associated with the network interface.

  • network-interface.network-interface-id - The ID of the network interface.

  • network-interface.private-ip-address - The primary private IP address of the network interface.

  • network-interface.subnet-id - The ID of the subnet for the instance.

  • product-description - The product description associated with the instance (Linux/UNIX | Windows).

  • spot-instance-request-id - The Spot Instance request ID.

  • spot-price - The maximum hourly price for any Spot Instance launched to fulfill the request.

  • state - The state of the Spot Instance request (open | active | closed | cancelled | failed). Spot request status information can help you track your Amazon EC2 Spot Instance requests. For more information, see Spot Request Status in the Amazon EC2 User Guide for Linux Instances.

  • status-code - The short code describing the most recent evaluation of your Spot Instance request.

  • status-message - The message explaining the status of the Spot Instance request.

  • tag:<key> - 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.

  • 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.

  • type - The type of Spot Instance request (one-time | persistent).

  • valid-from - The start date of the request.

  • valid-until - The end date of the request.

", "locationName":"Filter" }, "DryRun":{ @@ -10978,6 +12448,14 @@ "shape":"SpotInstanceRequestIdList", "documentation":"

One or more Spot Instance request IDs.

", "locationName":"SpotInstanceRequestId" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to request the next set of results. This value is null when there are no more results to return.

" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return in a single call. Specify a value between 5 and 1000. To retrieve the remaining results, make another call with the returned NextToken value.

" } }, "documentation":"

Contains the parameters for DescribeSpotInstanceRequests.

" @@ -10989,6 +12467,11 @@ "shape":"SpotInstanceRequestList", "documentation":"

One or more Spot Instance requests.

", "locationName":"spotInstanceRequestSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next set of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" } }, "documentation":"

Contains the output of DescribeSpotInstanceRequests.

" @@ -11060,6 +12543,16 @@ }, "documentation":"

Contains the output of DescribeSpotPriceHistory.

" }, + "DescribeStaleSecurityGroupsMaxResults":{ + "type":"integer", + "max":255, + "min":5 + }, + "DescribeStaleSecurityGroupsNextToken":{ + "type":"string", + "max":1024, + "min":1 + }, "DescribeStaleSecurityGroupsRequest":{ "type":"structure", "required":["VpcId"], @@ -11069,11 +12562,11 @@ "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.

" }, "MaxResults":{ - "shape":"MaxResults", + "shape":"DescribeStaleSecurityGroupsMaxResults", "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":{ - "shape":"NextToken", + "shape":"DescribeStaleSecurityGroupsNextToken", "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

" }, "VpcId":{ @@ -11097,6 +12590,11 @@ } } }, + "DescribeSubnetsMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, "DescribeSubnetsRequest":{ "type":"structure", "members":{ @@ -11114,6 +12612,14 @@ "shape":"Boolean", "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.

", "locationName":"dryRun" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "MaxResults":{ + "shape":"DescribeSubnetsMaxResults", + "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.

" } } }, @@ -11124,6 +12630,11 @@ "shape":"SubnetList", "documentation":"

Information about one or more subnets.

", "locationName":"subnetSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" } } }, @@ -11137,7 +12648,7 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • key - The tag key.

  • resource-id - The ID of the resource.

  • resource-type - The resource type (customer-gateway | dedicated-host | dhcp-options | elastic-ip | fleet | fpga-image | image | instance | internet-gateway | launch-template | natgateway | network-acl | network-interface | reserved-instances | route-table | security-group | snapshot | spot-instances-request | subnet | volume | vpc | vpc-peering-connection | vpn-connection | vpn-gateway).

  • tag:<key> - The key/value combination of the tag. For example, specify \"tag:Owner\" for the filter name and \"TeamA\" for the filter value to find resources with the tag \"Owner=TeamA\".

  • value - The tag value.

", + "documentation":"

The filters.

  • key - The tag key.

  • resource-id - The ID of the resource.

  • resource-type - The resource type (customer-gateway | dedicated-host | dhcp-options | elastic-ip | fleet | fpga-image | image | instance | host-reservation | internet-gateway | launch-template | natgateway | network-acl | network-interface | reserved-instances | route-table | security-group | snapshot | spot-instances-request | subnet | volume | vpc | vpc-peering-connection | vpn-connection | vpn-gateway).

  • tag:<key> - The key/value combination of the tag. For example, specify \"tag:Owner\" for the filter name and \"TeamA\" for the filter value to find resources with the tag \"Owner=TeamA\".

  • value - The tag value.

", "locationName":"Filter" }, "MaxResults":{ @@ -11176,7 +12687,7 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters. The possible values are:

  • association-id - The ID of the association.

  • association-route-table-id - The ID of the route table for the transit gateway.

  • associate-state - The state of the association (associating | associated | disassociating).

  • resource-id - The ID of the resource.

  • resource-type - The resource type (vpc | vpn).

  • state - The state of the attachment (pendingAcceptance | pending | available | modifying | deleting | deleted | failed | rejected).

  • transit-gateway-attachment-id - The ID of the attachment.

  • transit-gateway-id - The ID of the transit gateway.

  • transit-gateway-owner - The ID of the AWS account that owns the transit gateway.

", + "documentation":"

One or more filters. The possible values are:

  • association.state - The state of the association (associating | associated | disassociating).

  • association.transit-gateway-route-table-id - The ID of the route table for the transit gateway.

  • resource-id - The ID of the resource.

  • resource-owner-id - The ID of the AWS account that owns the resource.

  • resource-type - The resource type (vpc | vpn).

  • state - The state of the attachment (available | deleted | deleting | failed | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting).

  • transit-gateway-attachment-id - The ID of the attachment.

  • transit-gateway-id - The ID of the transit gateway.

  • transit-gateway-owner-id - The ID of the AWS account that owns the transit gateway.

", "locationName":"Filter" }, "MaxResults":{ @@ -11217,7 +12728,7 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters. The possible values are:

  • default-association-route-table - Indicates whether this is the default association route table for the transit gateway (true | false).

  • default-propagation-route-table - Indicates whether this is the default propagation route table for the transit gateway (true | false).

  • transit-gateway-id - The ID of the transit gateway.

  • transit-gateway-route-table-id - The ID of the transit gateway route table.

  • transit-gateway-route-table-state - The state (pending | available | deleting | deleted).

", + "documentation":"

One or more filters. The possible values are:

  • default-association-route-table - Indicates whether this is the default association route table for the transit gateway (true | false).

  • default-propagation-route-table - Indicates whether this is the default propagation route table for the transit gateway (true | false).

  • state - The state of the attachment (available | deleted | deleting | failed | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting).

  • transit-gateway-id - The ID of the transit gateway.

  • transit-gateway-route-table-id - The ID of the transit gateway route table.

", "locationName":"Filter" }, "MaxResults":{ @@ -11258,7 +12769,7 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters. The possible values are:

  • transit-gateway-attachment-id - The ID of the attachment.

  • transit-gateway-attachment-state - The state of the attachment (pendingAcceptance | pending | available | modifying | deleting | deleted | failed | rejected).

  • transit-gateway-id - The ID of the transit gateway.

  • vpc-id - The ID of the VPC.

", + "documentation":"

One or more filters. The possible values are:

  • state - The state of the attachment (available | deleted | deleting | failed | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting).

  • transit-gateway-attachment-id - The ID of the attachment.

  • transit-gateway-id - The ID of the transit gateway.

  • vpc-id - The ID of the VPC.

", "locationName":"Filter" }, "MaxResults":{ @@ -11299,7 +12810,7 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters. The possible values are:

  • amazon-side-asn - The private ASN for the Amazon side of a BGP session.

  • association-default-route-table-id - The ID of the default association route table.

  • default-route-table-association - Indicates whether resource attachments are automatically associated with the default association route table (enable | disable).

  • default-route-table-propagation - Indicates whether resource attachments automatically propagate routes to the default propagation route table (enable | disable).

  • owner-account-id - The ID of the AWS account that owns the transit gateway.

  • propagation-default-route-table-id - The ID of the default propagation route table.

  • transit-gateway-id - The ID of the transit gateway.

  • transit-gateway-state - The state of the transit gateway (pending | available | deleting | deleted).

", + "documentation":"

One or more filters. The possible values are:

  • options.propagation-default-route-table-id - The ID of the default propagation route table.

  • options.amazon-side-asn - The private ASN for the Amazon side of a BGP session.

  • options.association-default-route-table-id - The ID of the default association route table.

  • options.auto-accept-shared-attachments - Indicates whether there is automatic acceptance of attachment requests (enable | disable).

  • options.default-route-table-association - Indicates whether resource attachments are automatically associated with the default association route table (enable | disable).

  • options.default-route-table-propagation - Indicates whether resource attachments automatically propagate routes to the default propagation route table (enable | disable).

  • options.dns-support - Indicates whether DNS support is enabled (enable | disable).

  • options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol support is enabled (enable | disable).

  • owner-id - The ID of the AWS account that owns the transit gateway.

  • state - The state of the attachment (available | deleted | deleting | failed | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting).

  • transit-gateway-id - The ID of the transit gateway.

", "locationName":"Filter" }, "MaxResults":{ @@ -11380,7 +12891,7 @@ "members":{ "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • action.code - The action code for the event (for example, enable-volume-io).

  • action.description - A description of the action.

  • action.event-id - The event ID associated with the action.

  • availability-zone - The Availability Zone of the instance.

  • event.description - A description of the event.

  • event.event-id - The event ID.

  • event.event-type - The event type (for io-enabled: passed | failed; for io-performance: io-performance:degraded | io-performance:severely-degraded | io-performance:stalled).

  • event.not-after - The latest end time for the event.

  • event.not-before - The earliest start time for the event.

  • volume-status.details-name - The cause for volume-status.status (io-enabled | io-performance).

  • volume-status.details-status - The status of volume-status.details-name (for io-enabled: passed | failed; for io-performance: normal | degraded | severely-degraded | stalled).

  • volume-status.status - The status of the volume (ok | impaired | warning | insufficient-data).

", + "documentation":"

The filters.

  • action.code - The action code for the event (for example, enable-volume-io).

  • action.description - A description of the action.

  • action.event-id - The event ID associated with the action.

  • availability-zone - The Availability Zone of the instance.

  • event.description - A description of the event.

  • event.event-id - The event ID.

  • event.event-type - The event type (for io-enabled: passed | failed; for io-performance: io-performance:degraded | io-performance:severely-degraded | io-performance:stalled).

  • event.not-after - The latest end time for the event.

  • event.not-before - The earliest start time for the event.

  • volume-status.details-name - The cause for volume-status.status (io-enabled | io-performance).

  • volume-status.details-status - The status of volume-status.details-name (for io-enabled: passed | failed; for io-performance: normal | degraded | severely-degraded | stalled).

  • volume-status.status - The status of the volume (ok | impaired | warning | insufficient-data).

", "locationName":"Filter" }, "MaxResults":{ @@ -11393,7 +12904,7 @@ }, "VolumeIds":{ "shape":"VolumeIdStringList", - "documentation":"

One or more volume IDs.

Default: Describes all your volumes.

", + "documentation":"

The IDs of the volumes.

Default: Describes all your volumes.

", "locationName":"VolumeId" }, "DryRun":{ @@ -11401,8 +12912,7 @@ "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.

", "locationName":"dryRun" } - }, - "documentation":"

Contains the parameters for DescribeVolumeStatus.

" + } }, "DescribeVolumeStatusResult":{ "type":"structure", @@ -11414,11 +12924,10 @@ }, "VolumeStatuses":{ "shape":"VolumeStatusList", - "documentation":"

A list of volumes.

", + "documentation":"

Information about the status of the volumes.

", "locationName":"volumeStatusSet" } - }, - "documentation":"

Contains the output of DescribeVolumeStatus.

" + } }, "DescribeVolumesModificationsRequest":{ "type":"structure", @@ -11429,12 +12938,12 @@ }, "VolumeIds":{ "shape":"VolumeIdStringList", - "documentation":"

One or more volume IDs for which in-progress modifications will be described.

", + "documentation":"

The IDs of the volumes for which in-progress modifications will be described.

", "locationName":"VolumeId" }, "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters. Supported filters: volume-id, modification-state, target-size, target-iops, target-volume-type, original-size, original-iops, original-volume-type, start-time.

", + "documentation":"

The filters. Supported filters: volume-id, modification-state, target-size, target-iops, target-volume-type, original-size, original-iops, original-volume-type, start-time.

", "locationName":"Filter" }, "NextToken":{ @@ -11452,7 +12961,7 @@ "members":{ "VolumesModifications":{ "shape":"VolumeModificationList", - "documentation":"

A list of returned VolumeModification objects.

", + "documentation":"

Information about the volume modifications.

", "locationName":"volumeModificationSet" }, "NextToken":{ @@ -11467,12 +12976,12 @@ "members":{ "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • attachment.attach-time - The time stamp when the attachment initiated.

  • attachment.delete-on-termination - Whether the volume is deleted on instance termination.

  • attachment.device - The device name specified in the block device mapping (for example, /dev/sda1).

  • attachment.instance-id - The ID of the instance the volume is attached to.

  • attachment.status - The attachment state (attaching | attached | detaching).

  • availability-zone - The Availability Zone in which the volume was created.

  • create-time - The time stamp when the volume was created.

  • encrypted - The encryption status of the volume.

  • size - The size of the volume, in GiB.

  • snapshot-id - The snapshot from which the volume was created.

  • status - The status of the volume (creating | available | in-use | deleting | deleted | error).

  • tag:<key> - 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.

  • 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.

  • volume-id - The volume ID.

  • volume-type - The Amazon EBS volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for Magnetic volumes.

", + "documentation":"

The filters.

  • attachment.attach-time - The time stamp when the attachment initiated.

  • attachment.delete-on-termination - Whether the volume is deleted on instance termination.

  • attachment.device - The device name specified in the block device mapping (for example, /dev/sda1).

  • attachment.instance-id - The ID of the instance the volume is attached to.

  • attachment.status - The attachment state (attaching | attached | detaching).

  • availability-zone - The Availability Zone in which the volume was created.

  • create-time - The time stamp when the volume was created.

  • encrypted - Indicates whether the volume is encrypted (true | false)

  • size - The size of the volume, in GiB.

  • snapshot-id - The snapshot from which the volume was created.

  • status - The status of the volume (creating | available | in-use | deleting | deleted | error).

  • tag:<key> - 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.

  • 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.

  • volume-id - The volume ID.

  • volume-type - The Amazon EBS volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for Magnetic volumes.

", "locationName":"Filter" }, "VolumeIds":{ "shape":"VolumeIdStringList", - "documentation":"

One or more volume IDs.

", + "documentation":"

The volume IDs.

", "locationName":"VolumeId" }, "DryRun":{ @@ -11490,8 +12999,7 @@ "documentation":"

The NextToken value returned from a previous paginated DescribeVolumes request where MaxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the NextToken value. This value is null when there are no more results to return.

", "locationName":"nextToken" } - }, - "documentation":"

Contains the parameters for DescribeVolumes.

" + } }, "DescribeVolumesResult":{ "type":"structure", @@ -11506,8 +13014,7 @@ "documentation":"

The NextToken value to include in a future DescribeVolumes request. When the results of a DescribeVolumes request exceed MaxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

", "locationName":"nextToken" } - }, - "documentation":"

Contains the output of DescribeVolumes.

" + } }, "DescribeVpcAttributeRequest":{ "type":"structure", @@ -11556,12 +13063,12 @@ "members":{ "MaxResults":{ "shape":"MaxResults", - "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.

", + "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.

", "locationName":"maxResults" }, "NextToken":{ "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

", + "documentation":"

The token for the next page of results.

", "locationName":"nextToken" }, "VpcIds":{ @@ -11575,7 +13082,7 @@ "members":{ "NextToken":{ "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items.

", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "locationName":"nextToken" }, "Vpcs":{ @@ -11707,7 +13214,7 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • service-name - The name of the service.

  • service-id - The ID of the service.

  • service-state - The state of the service (Pending | Available | Deleting | Deleted | Failed).

", + "documentation":"

One or more filters.

  • service-name - The name of the service.

  • service-id - The ID of the service.

  • service-state - The state of the service (Pending | Available | Deleting | Deleted | Failed).

  • tag:<key> - 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.

  • 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.

", "locationName":"Filter" }, "MaxResults":{ @@ -11791,7 +13298,7 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • service-name: The name of the service.

", + "documentation":"

One or more filters.

  • service-name: The name of the service.

  • tag:<key> - 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.

  • 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.

", "locationName":"Filter" }, "MaxResults":{ @@ -11840,7 +13347,7 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters.

  • service-name: The name of the service.

  • vpc-id: The ID of the VPC in which the endpoint resides.

  • vpc-endpoint-id: The ID of the endpoint.

  • vpc-endpoint-state: The state of the endpoint. (pending | available | deleting | deleted)

", + "documentation":"

One or more filters.

  • service-name: The name of the service.

  • vpc-id: The ID of the VPC in which the endpoint resides.

  • vpc-endpoint-id: The ID of the endpoint.

  • vpc-endpoint-state: The state of the endpoint. (pending | available | deleting | deleted)

  • tag:<key> - 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.

  • 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.

", "locationName":"Filter" }, "MaxResults":{ @@ -11870,6 +13377,11 @@ }, "documentation":"

Contains the output of DescribeVpcEndpoints.

" }, + "DescribeVpcPeeringConnectionsMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, "DescribeVpcPeeringConnectionsRequest":{ "type":"structure", "members":{ @@ -11887,6 +13399,14 @@ "shape":"ValueStringList", "documentation":"

One or more VPC peering connection IDs.

Default: Describes all your VPC peering connections.

", "locationName":"VpcPeeringConnectionId" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "MaxResults":{ + "shape":"DescribeVpcPeeringConnectionsMaxResults", + "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.

" } } }, @@ -11897,9 +13417,19 @@ "shape":"VpcPeeringConnectionList", "documentation":"

Information about the VPC peering connections.

", "locationName":"vpcPeeringConnectionSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" } } }, + "DescribeVpcsMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, "DescribeVpcsRequest":{ "type":"structure", "members":{ @@ -11917,6 +13447,14 @@ "shape":"Boolean", "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.

", "locationName":"dryRun" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "MaxResults":{ + "shape":"DescribeVpcsMaxResults", + "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.

" } } }, @@ -11927,6 +13465,11 @@ "shape":"VpcList", "documentation":"

Information about one or more VPCs.

", "locationName":"vpcSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" } } }, @@ -12202,6 +13745,46 @@ "locationName":"item" } }, + "DirectoryServiceAuthentication":{ + "type":"structure", + "members":{ + "DirectoryId":{ + "shape":"String", + "documentation":"

The ID of the Active Directory used for authentication.

", + "locationName":"directoryId" + } + }, + "documentation":"

Describes an Active Directory.

" + }, + "DirectoryServiceAuthenticationRequest":{ + "type":"structure", + "members":{ + "DirectoryId":{ + "shape":"String", + "documentation":"

The ID of the Active Directory to be used for authentication.

" + } + }, + "documentation":"

Describes the Active Directory to be used for client authentication.

" + }, + "DisableEbsEncryptionByDefaultRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "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.

" + } + } + }, + "DisableEbsEncryptionByDefaultResult":{ + "type":"structure", + "members":{ + "EbsEncryptionByDefault":{ + "shape":"Boolean", + "documentation":"

The updated status of encryption by default.

", + "locationName":"ebsEncryptionByDefault" + } + } + }, "DisableTransitGatewayRouteTablePropagationRequest":{ "type":"structure", "required":[ @@ -12314,6 +13897,42 @@ } } }, + "DisassociateClientVpnTargetNetworkRequest":{ + "type":"structure", + "required":[ + "ClientVpnEndpointId", + "AssociationId" + ], + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint from which to disassociate the target network.

" + }, + "AssociationId":{ + "shape":"String", + "documentation":"

The ID of the target network association.

" + }, + "DryRun":{ + "shape":"Boolean", + "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.

" + } + } + }, + "DisassociateClientVpnTargetNetworkResult":{ + "type":"structure", + "members":{ + "AssociationId":{ + "shape":"String", + "documentation":"

The ID of the target network association.

", + "locationName":"associationId" + }, + "Status":{ + "shape":"AssociationStatus", + "documentation":"

The current state of the target network association.

", + "locationName":"status" + } + } + }, "DisassociateIamInstanceProfileRequest":{ "type":"structure", "required":["AssociationId"], @@ -12471,7 +14090,7 @@ }, "ImportManifestUrl":{ "shape":"String", - "documentation":"

A presigned URL for the import manifest stored in Amazon S3. For information about creating a presigned URL for an Amazon S3 object, read the \"Query String Request Authentication Alternative\" section of the Authenticating REST Requests topic in the Amazon Simple Storage Service Developer Guide.

For information about the import manifest referenced by this API action, see VM Import Manifest.

", + "documentation":"

A presigned URL for the import manifest stored in Amazon S3. For information about creating a presigned URL for an Amazon S3 object, read the \"Query String Request Authentication Alternative\" section of the Authenticating REST Requests topic in the Amazon Simple Storage Service Developer Guide.

For information about the import manifest referenced by this API action, see VM Import Manifest.

", "locationName":"importManifestUrl" }, "Size":{ @@ -12502,7 +14121,7 @@ }, "ImportManifestUrl":{ "shape":"String", - "documentation":"

A presigned URL for the import manifest stored in Amazon S3 and presented here as an Amazon S3 presigned URL. For information about creating a presigned URL for an Amazon S3 object, read the \"Query String Request Authentication Alternative\" section of the Authenticating REST Requests topic in the Amazon Simple Storage Service Developer Guide.

For information about the import manifest referenced by this API action, see VM Import Manifest.

", + "documentation":"

A presigned URL for the import manifest stored in Amazon S3 and presented here as an Amazon S3 presigned URL. For information about creating a presigned URL for an Amazon S3 object, read the \"Query String Request Authentication Alternative\" section of the Authenticating REST Requests topic in the Amazon Simple Storage Service Developer Guide.

For information about the import manifest referenced by this API action, see VM Import Manifest.

", "locationName":"importManifestUrl" } }, @@ -12559,6 +14178,20 @@ "locationName":"item" } }, + "DnsServersOptionsModifyStructure":{ + "type":"structure", + "members":{ + "CustomDnsServers":{ + "shape":"ValueStringList", + "documentation":"

The IPv4 address range, in CIDR notation, of the DNS servers to be used. You can specify up to two DNS servers. Ensure that the DNS servers can be reached by the clients. The specified values overwrite the existing values.

" + }, + "Enabled":{ + "shape":"Boolean", + "documentation":"

Indicates whether DNS servers should be used. Specify False to delete the existing DNS servers.

" + } + }, + "documentation":"

Information about the DNS server to be used.

" + }, "DnsSupportValue":{ "type":"string", "enum":[ @@ -12584,7 +14217,7 @@ }, "Iops":{ "shape":"Integer", - "documentation":"

The number of I/O operations per second (IOPS) that the volume supports. For io1, this represents the number of IOPS that are provisioned for the volume. For gp2, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information about General Purpose SSD baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Constraints: Range is 100-10,000 IOPS for gp2 volumes and 100 to 64,000IOPS for io1 volumes in most regions. Maximum io1IOPS of 64,000 is guaranteed only on Nitro-based instances. Other instance families guarantee performance up to 32,000 IOPS. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create gp2, st1, sc1, or standard volumes.

", + "documentation":"

The number of I/O operations per second (IOPS) that the volume supports. For io1 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Constraints: Range is 100-16,000 IOPS for gp2 volumes and 100 to 64,000IOPS for io1 volumes in most Regions. Maximum io1 IOPS of 64,000 is guaranteed only on Nitro-based instances. Other instance families guarantee performance up to 32,000 IOPS. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create gp2, st1, sc1, or standard volumes.

", "locationName":"iops" }, "SnapshotId":{ @@ -12594,22 +14227,22 @@ }, "VolumeSize":{ "shape":"Integer", - "documentation":"

The size of the volume, in GiB.

Constraints: 1-16384 for General Purpose SSD (gp2), 4-16384 for Provisioned IOPS SSD (io1), 500-16384 for Throughput Optimized HDD (st1), 500-16384 for Cold HDD (sc1), and 1-1024 for Magnetic (standard) volumes. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.

Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

", + "documentation":"

The size of the volume, in GiB.

Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

Constraints: 1-16384 for General Purpose SSD (gp2), 4-16384 for Provisioned IOPS SSD (io1), 500-16384 for Throughput Optimized HDD (st1), 500-16384 for Cold HDD (sc1), and 1-1024 for Magnetic (standard) volumes. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.

", "locationName":"volumeSize" }, "VolumeType":{ "shape":"VolumeType", - "documentation":"

The volume type: gp2, io1, st1, sc1, or standard.

Default: standard

", + "documentation":"

The volume type. If you set the type to io1, you must also set the Iops property.

Default: standard

", "locationName":"volumeType" }, "Encrypted":{ "shape":"Boolean", - "documentation":"

Indicates whether the EBS volume is encrypted. Encrypted volumes can only be attached to instances that support Amazon EBS encryption.

If you are creating a volume from a snapshot, you cannot specify an encryption value. This is because only blank volumes can be encrypted on creation. If you are creating a snapshot from an existing EBS volume, you cannot specify an encryption value that differs from that of the EBS volume. We recommend that you omit the encryption value from the block device mappings when creating an image from an instance.

", + "documentation":"

Indicates whether the encryption state of an EBS volume is changed while being restored from a backing snapshot. The default effect of setting the Encrypted parameter to true through the console, API, or CLI depends on the volume's origin (new or from a snapshot), starting encryption state, ownership, and whether account-level encryption is enabled. Each default case can be overridden by specifying a customer master key (CMK) with the KmsKeyId parameter in addition to setting Encrypted to true. For a complete list of possible encryption cases, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

In no case can you remove encryption from an encrypted volume.

Encrypted volumes can only be attached to instances that support Amazon EBS encryption. For more information, see Supported Instance Types.

", "locationName":"encrypted" }, "KmsKeyId":{ "shape":"String", - "documentation":"

Identifier (key ID, key alias, ID ARN, or alias ARN) for a user-managed CMK under which the EBS volume is encrypted.

This parameter is only supported on BlockDeviceMapping objects called by RunInstances, RequestSpotFleet, and RequestSpotInstances.

" + "documentation":"

Identifier (key ID, key alias, ID ARN, or alias ARN) for a user-managed CMK under which the EBS volume is encrypted.

This parameter is only supported on BlockDeviceMapping objects called by RunInstances, RequestSpotFleet, and RequestSpotInstances.

" } }, "documentation":"

Describes a block device for an EBS volume.

" @@ -12841,7 +14474,7 @@ "members":{ "Type":{ "shape":"String", - "documentation":"

The type of elastic inference accelerator. The possible values are eia1.small, eia1.medium, and eia1.large.

" + "documentation":"

The type of elastic inference accelerator. The possible values are eia1.small, eia1.medium, and eia1.large.

" } }, "documentation":"

Describes an elastic inference accelerator.

" @@ -12886,6 +14519,25 @@ "locationName":"item" } }, + "EnableEbsEncryptionByDefaultRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "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.

" + } + } + }, + "EnableEbsEncryptionByDefaultResult":{ + "type":"structure", + "members":{ + "EbsEncryptionByDefault":{ + "shape":"Boolean", + "documentation":"

The updated status of encryption by default.

", + "locationName":"ebsEncryptionByDefault" + } + } + }, "EnableTransitGatewayRouteTablePropagationRequest":{ "type":"structure", "required":[ @@ -12926,11 +14578,11 @@ "members":{ "GatewayId":{ "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" + "documentation":"

The ID of the virtual private gateway that is attached to a VPC. The virtual private gateway must be attached to the same VPC that the routing tables are associated with.

" }, "RouteTableId":{ "shape":"String", - "documentation":"

The ID of the route table.

" + "documentation":"

The ID of the route table. The routing table must be associated with the same VPC that the virtual private gateway is attached to.

" } }, "documentation":"

Contains the parameters for EnableVgwRoutePropagation.

" @@ -13004,6 +14656,13 @@ "limited" ] }, + "EndpointSet":{ + "type":"list", + "member":{ + "shape":"ClientVpnEndpoint", + "locationName":"item" + } + }, "EventCode":{ "type":"string", "enum":[ @@ -13024,7 +14683,7 @@ }, "EventSubType":{ "shape":"String", - "documentation":"

The event.

The following are the error events:

  • iamFleetRoleInvalid - The Spot Fleet did not have the required permissions either to launch or terminate an instance.

  • launchSpecTemporarilyBlacklisted - The configuration is not valid and several attempts to launch instances have failed. For more information, see the description of the event.

  • spotFleetRequestConfigurationInvalid - The configuration is not valid. For more information, see the description of the event.

  • spotInstanceCountLimitExceeded - You've reached the limit on the number of Spot Instances that you can launch.

The following are the fleetRequestChange events:

  • active - The Spot Fleet has been validated and Amazon EC2 is attempting to maintain the target number of running Spot Instances.

  • cancelled - The Spot Fleet is canceled and has no running Spot Instances. The Spot Fleet will be deleted two days after its instances were terminated.

  • cancelled_running - The Spot Fleet is canceled and does not launch additional Spot Instances. Existing Spot Instances continue to run until they are interrupted or terminated.

  • cancelled_terminating - The Spot Fleet is canceled and its Spot Instances are terminating.

  • expired - The Spot Fleet request has expired. A subsequent event indicates that the instances were terminated, if the request was created with TerminateInstancesWithExpiration set.

  • modify_in_progress - A request to modify the Spot Fleet request was accepted and is in progress.

  • modify_successful - The Spot Fleet request was modified.

  • price_update - The price for a launch configuration was adjusted because it was too high. This change is permanent.

  • submitted - The Spot Fleet request is being evaluated and Amazon EC2 is preparing to launch the target number of Spot Instances.

The following are the instanceChange events:

  • launched - A request was fulfilled and a new instance was launched.

  • terminated - An instance was terminated by the user.

The following are the Information events:

  • launchSpecUnusable - The price in a launch specification is not valid because it is below the Spot price or the Spot price is above the On-Demand price.

  • fleetProgressHalted - The price in every launch specification is not valid. A launch specification might become valid if the Spot price changes.

", + "documentation":"

The event.

The following are the error events:

  • iamFleetRoleInvalid - The EC2 Fleet or Spot Fleet did not have the required permissions either to launch or terminate an instance.

  • spotFleetRequestConfigurationInvalid - The configuration is not valid. For more information, see the description of the event.

  • spotInstanceCountLimitExceeded - You've reached the limit on the number of Spot Instances that you can launch.

The following are the fleetRequestChange events:

  • active - The EC2 Fleet or Spot Fleet request has been validated and Amazon EC2 is attempting to maintain the target number of running Spot Instances.

  • cancelled - The EC2 Fleet or Spot Fleet request is canceled and has no running Spot Instances. The EC2 Fleet or Spot Fleet will be deleted two days after its instances were terminated.

  • cancelled_running - The EC2 Fleet or Spot Fleet request is canceled and does not launch additional Spot Instances. Existing Spot Instances continue to run until they are interrupted or terminated.

  • cancelled_terminating - The EC2 Fleet or Spot Fleet request is canceled and its Spot Instances are terminating.

  • expired - The EC2 Fleet or Spot Fleet request has expired. A subsequent event indicates that the instances were terminated, if the request was created with TerminateInstancesWithExpiration set.

  • modify_in_progress - A request to modify the EC2 Fleet or Spot Fleet request was accepted and is in progress.

  • modify_successful - The EC2 Fleet or Spot Fleet request was modified.

  • price_update - The price for a launch configuration was adjusted because it was too high. This change is permanent.

  • submitted - The EC2 Fleet or Spot Fleet request is being evaluated and Amazon EC2 is preparing to launch the target number of Spot Instances.

The following are the instanceChange events:

  • launched - A request was fulfilled and a new instance was launched.

  • terminated - An instance was terminated by the user.

The following are the Information events:

  • launchSpecTemporarilyBlacklisted - The configuration is not valid and several attempts to launch instances have failed. For more information, see the description of the event.

  • launchSpecUnusable - The price in a launch specification is not valid because it is below the Spot price or the Spot price is above the On-Demand price.

  • fleetProgressHalted - The price in every launch specification is not valid. A launch specification might become valid if the Spot price changes.

", "locationName":"eventSubType" }, "InstanceId":{ @@ -13033,7 +14692,7 @@ "locationName":"instanceId" } }, - "documentation":"

Describes a Spot Fleet event.

" + "documentation":"

Describes an EC2 Fleet or Spot Fleet event.

" }, "EventType":{ "type":"string", @@ -13057,6 +14716,59 @@ "locationName":"ExecutableBy" } }, + "ExportClientVpnClientCertificateRevocationListRequest":{ + "type":"structure", + "required":["ClientVpnEndpointId"], + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint.

" + }, + "DryRun":{ + "shape":"Boolean", + "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.

" + } + } + }, + "ExportClientVpnClientCertificateRevocationListResult":{ + "type":"structure", + "members":{ + "CertificateRevocationList":{ + "shape":"String", + "documentation":"

Information about the client certificate revocation list.

", + "locationName":"certificateRevocationList" + }, + "Status":{ + "shape":"ClientCertificateRevocationListStatus", + "documentation":"

The current state of the client certificate revocation list.

", + "locationName":"status" + } + } + }, + "ExportClientVpnClientConfigurationRequest":{ + "type":"structure", + "required":["ClientVpnEndpointId"], + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint.

" + }, + "DryRun":{ + "shape":"Boolean", + "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.

" + } + } + }, + "ExportClientVpnClientConfigurationResult":{ + "type":"structure", + "members":{ + "ClientConfiguration":{ + "shape":"String", + "documentation":"

The contents of the Client VPN endpoint configuration file.

", + "locationName":"clientConfiguration" + } + } + }, "ExportEnvironment":{ "type":"string", "enum":[ @@ -13189,7 +14901,7 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters. The possible values are:

  • transit-gateway-route-destination-cidr-block - The CIDR range.

  • transit-gateway-route-state - The state of the route (active | blackhole).

  • transit-gateway-route-transit-gateway-attachment-id - The ID of the attachment.

  • transit-gateway-route-type - The route type (static | propagated).

  • transit-gateway-route-vpn-connection-id - The ID of the VPN connection.

", + "documentation":"

One or more filters. The possible values are:

  • attachment.transit-gateway-attachment-id - The id of the transit gateway attachment.

  • attachment.resource-id - The resource id of the transit gateway attachment.

  • route-search.exact-match - The exact match of the specified filter.

  • route-search.longest-prefix-match - The longest prefix that matches the route.

  • route-search.subnet-of-match - The routes with a subnet that match the specified CIDR filter.

  • 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.

  • state - The state of the attachment (available | deleted | deleting | failed | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting).

  • transit-gateway-route-destination-cidr-block - The CIDR range.

  • type - The type of route (active | blackhole).

", "locationName":"Filter" }, "S3Bucket":{ @@ -13221,7 +14933,7 @@ }, "Values":{ "shape":"ValueStringList", - "documentation":"

One or more filter values. Filter values are case-sensitive.

", + "documentation":"

The filter values. Filter values are case-sensitive.

", "locationName":"Value" } }, @@ -13268,7 +14980,7 @@ }, "ClientToken":{ "shape":"String", - "documentation":"

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

Constraints: Maximum 64 ASCII characters

", + "documentation":"

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

Constraints: Maximum 64 ASCII characters

", "locationName":"clientToken" }, "ExcessCapacityTerminationPolicy":{ @@ -13538,7 +15250,7 @@ }, "Version":{ "shape":"String", - "documentation":"

The version number of the launch template.

" + "documentation":"

The version number of the launch template. Note: This is a required parameter and will be updated soon.

" } }, "documentation":"

The launch template to use. You must specify either the launch template ID or launch template name in the request.

" @@ -13726,6 +15438,11 @@ "shape":"Boolean", "documentation":"

Indicates whether the AFI is public.

", "locationName":"public" + }, + "DataRetentionSupport":{ + "shape":"Boolean", + "documentation":"

Indicates whether data retention support is enabled for the AFI.

", + "locationName":"dataRetentionSupport" } }, "documentation":"

Describes an Amazon FPGA image (AFI).

" @@ -13750,12 +15467,12 @@ }, "LoadPermissions":{ "shape":"LoadPermissionList", - "documentation":"

One or more load permissions.

", + "documentation":"

The load permissions.

", "locationName":"loadPermissions" }, "ProductCodes":{ "shape":"ProductCodeList", - "documentation":"

One or more product codes.

", + "documentation":"

The product codes.

", "locationName":"productCodes" } }, @@ -13885,6 +15602,44 @@ } } }, + "GetEbsDefaultKmsKeyIdRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "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.

" + } + } + }, + "GetEbsDefaultKmsKeyIdResult":{ + "type":"structure", + "members":{ + "KmsKeyId":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the default CMK for encryption by default.

", + "locationName":"kmsKeyId" + } + } + }, + "GetEbsEncryptionByDefaultRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "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.

" + } + } + }, + "GetEbsEncryptionByDefaultResult":{ + "type":"structure", + "members":{ + "EbsEncryptionByDefault":{ + "shape":"Boolean", + "documentation":"

Indicates whether encryption by default is enabled.

", + "locationName":"ebsEncryptionByDefault" + } + } + }, "GetHostReservationPurchasePreviewRequest":{ "type":"structure", "required":[ @@ -14110,7 +15865,7 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters. The possible values are:

  • association-id - The ID of the association.

  • resource-id - The ID of the resource.

  • resource-type - The resource type (vpc | vpn).

  • transit-gateway-attachment-id - The ID of the attachment.

", + "documentation":"

One or more filters. The possible values are:

  • resource-id - The ID of the resource.

  • resource-type - The resource type (vpc | vpn).

  • transit-gateway-attachment-id - The ID of the attachment.

", "locationName":"Filter" }, "MaxResults":{ @@ -14244,7 +15999,7 @@ "locationName":"configured" } }, - "documentation":"

Indicates whether your instance is configured for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. Hibernation is currently supported only for Amazon Linux. For more information, see Hibernate Your Instance in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Indicates whether your instance is configured for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. Hibernation is currently supported only for Amazon Linux. For more information, see Hibernate Your Instance in the Amazon Elastic Compute Cloud User Guide.

" }, "HibernationOptionsRequest":{ "type":"structure", @@ -14254,15 +16009,10 @@ "documentation":"

If you set this parameter to true, your instance is enabled for hibernation.

Default: false

" } }, - "documentation":"

Indicates whether your instance is configured for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. Hibernation is currently supported only for Amazon Linux. For more information, see Hibernate Your Instance in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Indicates whether your instance is configured for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. Hibernation is currently supported only for Amazon Linux. For more information, see Hibernate Your Instance in the Amazon Elastic Compute Cloud User Guide.

" }, "HistoryRecord":{ "type":"structure", - "required":[ - "EventInformation", - "EventType", - "Timestamp" - ], "members":{ "EventInformation":{ "shape":"EventInformation", @@ -14337,7 +16087,7 @@ }, "ClientToken":{ "shape":"String", - "documentation":"

Unique, case-sensitive identifier that you provide to ensure idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide.

", + "documentation":"

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

", "locationName":"clientToken" }, "HostId":{ @@ -14379,6 +16129,11 @@ "shape":"TagList", "documentation":"

Any tags assigned to the Dedicated Host.

", "locationName":"tagSet" + }, + "HostRecovery":{ + "shape":"HostRecovery", + "documentation":"

Indicates whether host recovery is enabled or disabled for the Dedicated Host.

", + "locationName":"hostRecovery" } }, "documentation":"

Describes the properties of the Dedicated Host.

" @@ -14487,6 +16242,13 @@ }, "documentation":"

Describes properties of a Dedicated Host.

" }, + "HostRecovery":{ + "type":"string", + "enum":[ + "on", + "off" + ] + }, "HostReservation":{ "type":"structure", "members":{ @@ -14554,6 +16316,11 @@ "shape":"String", "documentation":"

The upfront price of the reservation.

", "locationName":"upfrontPrice" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the Dedicated Host Reservation.

", + "locationName":"tagSet" } }, "documentation":"

Details about the Dedicated Host Reservation and associated Dedicated Hosts.

" @@ -14840,7 +16607,7 @@ "members":{ "BlockDeviceMappings":{ "shape":"BlockDeviceMappingList", - "documentation":"

One or more block device mapping entries.

", + "documentation":"

The block device mapping entries.

", "locationName":"blockDeviceMapping" }, "ImageId":{ @@ -14850,12 +16617,12 @@ }, "LaunchPermissions":{ "shape":"LaunchPermissionList", - "documentation":"

One or more launch permissions.

", + "documentation":"

The launch permissions.

", "locationName":"launchPermission" }, "ProductCodes":{ "shape":"ProductCodeList", - "documentation":"

One or more product codes.

", + "documentation":"

The product codes.

", "locationName":"productCodes" }, "Description":{ @@ -14964,12 +16731,43 @@ "ramdisk" ] }, + "ImportClientVpnClientCertificateRevocationListRequest":{ + "type":"structure", + "required":[ + "ClientVpnEndpointId", + "CertificateRevocationList" + ], + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint to which the client certificate revocation list applies.

" + }, + "CertificateRevocationList":{ + "shape":"String", + "documentation":"

The client certificate revocation list file. For more information, see Generate a Client Certificate Revocation List in the AWS Client VPN Administrator Guide.

" + }, + "DryRun":{ + "shape":"Boolean", + "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.

" + } + } + }, + "ImportClientVpnClientCertificateRevocationListResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", + "locationName":"return" + } + } + }, "ImportImageRequest":{ "type":"structure", "members":{ "Architecture":{ "shape":"String", - "documentation":"

The architecture of the virtual machine.

Valid values: i386 | x86_64

" + "documentation":"

The architecture of the virtual machine.

Valid values: i386 | x86_64 | arm64

" }, "ClientData":{ "shape":"ClientData", @@ -14994,7 +16792,7 @@ }, "Encrypted":{ "shape":"Boolean", - "documentation":"

Specifies whether the destination AMI of the imported image should be encrypted. The default CMK for EBS is used unless you specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Specifies whether the destination AMI of the imported image should be encrypted. The default CMK for EBS is used unless you specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" }, "Hypervisor":{ "shape":"String", @@ -15002,11 +16800,11 @@ }, "KmsKeyId":{ "shape":"String", - "documentation":"

An identifier for the AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted AMI. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set.

The CMK identifier may be provided in any of the following formats:

  • Key ID

  • Key alias, in the form alias/ExampleAlias

  • ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the region of the CMK, the AWS account ID of the CMK owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

  • ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

AWS parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even though you provided an invalid identifier. This action will eventually report failure.

The specified CMK must exist in the region that the AMI is being copied to.

" + "documentation":"

An identifier for the AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted AMI. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set.

The CMK identifier may be provided in any of the following formats:

  • Key ID

  • Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

  • ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

  • ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

AWS parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even though you provided an invalid identifier. This action will eventually report failure.

The specified CMK must exist in the Region that the AMI is being copied to.

" }, "LicenseType":{ "shape":"String", - "documentation":"

The license type to be used for the Amazon Machine Image (AMI) after importing.

Note: You may only use BYOL if you have existing licenses with rights to use these licenses in a third party cloud like AWS. For more information, see Prerequisites in the VM Import/Export User Guide.

Valid values: AWS | BYOL

" + "documentation":"

The license type to be used for the Amazon Machine Image (AMI) after importing.

Note: You may only use BYOL if you have existing licenses with rights to use these licenses in a third party cloud like AWS. For more information, see Prerequisites in the VM Import/Export User Guide.

Valid values include:

  • Auto - Detects the source-system operating system (OS) and applies the appropriate license.

  • AWS - Replaces the source-system license with an AWS license, if appropriate.

  • BYOL - Retains the source-system license, if appropriate.

Default value: Auto

" }, "Platform":{ "shape":"String", @@ -15095,7 +16893,7 @@ "members":{ "Architecture":{ "shape":"String", - "documentation":"

The architecture of the virtual machine.

Valid values: i386 | x86_64

", + "documentation":"

The architecture of the virtual machine.

Valid values: i386 | x86_64 | arm64

", "locationName":"architecture" }, "Description":{ @@ -15183,12 +16981,12 @@ }, "GroupIds":{ "shape":"SecurityGroupIdStringList", - "documentation":"

One or more security group IDs.

", + "documentation":"

The security group IDs.

", "locationName":"GroupId" }, "GroupNames":{ "shape":"SecurityGroupStringList", - "documentation":"

One or more security group names.

", + "documentation":"

The security group names.

", "locationName":"GroupName" }, "InstanceInitiatedShutdownBehavior":{ @@ -15198,7 +16996,7 @@ }, "InstanceType":{ "shape":"InstanceType", - "documentation":"

The instance type. For more information about the instance types that you can import, see Instance Types in the VM Import/Export User Guide.

", + "documentation":"

The instance type. For more information about the instance types that you can import, see Instance Types in the VM Import/Export User Guide.

", "locationName":"instanceType" }, "Monitoring":{ @@ -15292,7 +17090,7 @@ }, "Volumes":{ "shape":"ImportInstanceVolumeDetailSet", - "documentation":"

One or more volumes.

", + "documentation":"

The volumes.

", "locationName":"volumes" } }, @@ -15410,11 +17208,11 @@ }, "Encrypted":{ "shape":"Boolean", - "documentation":"

Specifies whether the destination snapshot of the imported image should be encrypted. The default CMK for EBS is used unless you specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Specifies whether the destination snapshot of the imported image should be encrypted. The default CMK for EBS is used unless you specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" }, "KmsKeyId":{ "shape":"String", - "documentation":"

An identifier for the AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted snapshot. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set.

The CMK identifier may be provided in any of the following formats:

  • Key ID

  • Key alias, in the form alias/ExampleAlias

  • ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the region of the CMK, the AWS account ID of the CMK owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

  • ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

AWS parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even though you provided an invalid identifier. This action will eventually report failure.

The specified CMK must exist in the region that the snapshot is being copied to.

" + "documentation":"

An identifier for the AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted snapshot. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set.

The CMK identifier may be provided in any of the following formats:

  • Key ID

  • Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

  • ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

  • ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

AWS parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even though you provided an invalid identifier. This action will eventually report failure.

The specified CMK must exist in the Region that the snapshot is being copied to.

" }, "RoleName":{ "shape":"String", @@ -15712,7 +17510,7 @@ }, "NetworkInterfaces":{ "shape":"InstanceNetworkInterfaceList", - "documentation":"

[EC2-VPC] One or more network interfaces for the instance.

", + "documentation":"

[EC2-VPC] The network interfaces for the instance.

", "locationName":"networkInterfaceSet" }, "RootDeviceName":{ @@ -15727,12 +17525,12 @@ }, "SecurityGroups":{ "shape":"GroupIdentifierList", - "documentation":"

One or more security groups for the instance.

", + "documentation":"

The security groups for the instance.

", "locationName":"groupSet" }, "SourceDestCheck":{ "shape":"Boolean", - "documentation":"

Specifies whether to enable an instance launched in a VPC to perform NAT. This controls whether source/destination checking is enabled on the instance. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.

", + "documentation":"

Specifies whether to enable an instance launched in a VPC to perform NAT. This controls whether source/destination checking is enabled on the instance. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.

", "locationName":"sourceDestCheck" }, "SpotInstanceRequestId":{ @@ -16032,6 +17830,7 @@ }, "documentation":"

Describes the credit option for CPU usage of a T2 or T3 instance.

" }, + "InstanceEventId":{"type":"string"}, "InstanceExportDetails":{ "type":"structure", "members":{ @@ -16262,6 +18061,11 @@ "shape":"String", "documentation":"

The ID of the VPC.

", "locationName":"vpcId" + }, + "InterfaceType":{ + "shape":"String", + "documentation":"

Describes the type of network interface.

Valid values: interface | efa

", + "locationName":"interfaceType" } }, "documentation":"

Describes a network interface.

" @@ -16345,7 +18149,7 @@ }, "DeviceIndex":{ "shape":"Integer", - "documentation":"

The index of the device on the instance for the network interface attachment. If you are specifying a network interface in a RunInstances request, you must provide the device index.

", + "documentation":"

The position of the network interface in the attachment order. A primary network interface has a device index of 0.

If you specify a network interface when launching an instance, you must specify the device index.

", "locationName":"deviceIndex" }, "Groups":{ @@ -16371,24 +18175,28 @@ }, "PrivateIpAddress":{ "shape":"String", - "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 more than one instance in a RunInstances request.

", + "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 more than one instance in a RunInstances request.

", "locationName":"privateIpAddress" }, "PrivateIpAddresses":{ "shape":"PrivateIpAddressSpecificationList", - "documentation":"

One or more 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 launching more than one instance in a RunInstances request.

", + "documentation":"

One or more 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 launching more than one instance in a RunInstances request.

", "locationName":"privateIpAddressesSet", "queryName":"PrivateIpAddresses" }, "SecondaryPrivateIpAddressCount":{ "shape":"Integer", - "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 launching more than one instance in a RunInstances request.

", + "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 launching more than one instance in a RunInstances request.

", "locationName":"secondaryPrivateIpAddressCount" }, "SubnetId":{ "shape":"String", "documentation":"

The ID of the subnet associated with the network string. Applies only if creating a network interface when launching an instance.

", "locationName":"subnetId" + }, + "InterfaceType":{ + "shape":"String", + "documentation":"

The type of network interface. To create an Elastic Fabric Adapter (EFA), specify efa. For more information, see Elastic Fabric Adapter in the Amazon Elastic Compute Cloud User Guide.

If you are not creating an EFA, specify interface or omit this parameter.

Valid values: interface | efa

" } }, "documentation":"

Describes a network interface.

" @@ -16433,12 +18241,26 @@ "locationName":"item" } }, + "InstanceSpecification":{ + "type":"structure", + "members":{ + "InstanceId":{ + "shape":"String", + "documentation":"

The instance to specify which volumes should be snapshotted.

" + }, + "ExcludeBootVolume":{ + "shape":"Boolean", + "documentation":"

Excludes the root volume from being snapshotted.

" + } + }, + "documentation":"

The instance details to specify which volumes should be snapshotted.

" + }, "InstanceState":{ "type":"structure", "members":{ "Code":{ "shape":"Integer", - "documentation":"

The low byte represents the state. The high byte is used for internal purposes and should be ignored.

  • 0 : pending

  • 16 : running

  • 32 : shutting-down

  • 48 : terminated

  • 64 : stopping

  • 80 : stopped

", + "documentation":"

The state of the instance as a 16-bit unsigned integer.

The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal values between 256 and 65,535. These numerical values are used for internal purposes and should be ignored.

The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal values between 0 and 255.

The valid values for instance-state-code will all be in the range of the low byte and they are:

  • 0 : pending

  • 16 : running

  • 32 : shutting-down

  • 48 : terminated

  • 64 : stopping

  • 80 : stopped

You can ignore the high byte value by zeroing out all of the bits above 2^8 or 256 in decimal.

", "locationName":"code" }, "Name":{ @@ -16555,6 +18377,11 @@ "InstanceStatusEvent":{ "type":"structure", "members":{ + "InstanceEventId":{ + "shape":"InstanceEventId", + "documentation":"

The ID of the event.

", + "locationName":"instanceEventId" + }, "Code":{ "shape":"EventCode", "documentation":"

The event code.

", @@ -16574,6 +18401,11 @@ "shape":"DateTime", "documentation":"

The earliest scheduled start time for the event.

", "locationName":"notBefore" + }, + "NotBeforeDeadline":{ + "shape":"DateTime", + "documentation":"

The deadline for starting the event.

", + "locationName":"notBeforeDeadline" } }, "documentation":"

Describes a scheduled event for an instance.

" @@ -16626,6 +18458,13 @@ "t3.large", "t3.xlarge", "t3.2xlarge", + "t3a.nano", + "t3a.micro", + "t3a.small", + "t3a.medium", + "t3a.large", + "t3a.xlarge", + "t3a.2xlarge", "m1.small", "m1.medium", "m1.large", @@ -16659,9 +18498,7 @@ "r5.xlarge", "r5.2xlarge", "r5.4xlarge", - "r5.8xlarge", "r5.12xlarge", - "r5.16xlarge", "r5.24xlarge", "r5.metal", "r5a.large", @@ -16674,11 +18511,17 @@ "r5d.xlarge", "r5d.2xlarge", "r5d.4xlarge", - "r5d.8xlarge", "r5d.12xlarge", - "r5d.16xlarge", "r5d.24xlarge", "r5d.metal", + "r5ad.large", + "r5ad.xlarge", + "r5ad.2xlarge", + "r5ad.4xlarge", + "r5ad.8xlarge", + "r5ad.12xlarge", + "r5ad.16xlarge", + "r5ad.24xlarge", "x1.16xlarge", "x1.32xlarge", "x1e.xlarge", @@ -16698,6 +18541,13 @@ "i3.8xlarge", "i3.16xlarge", "i3.metal", + "i3en.large", + "i3en.xlarge", + "i3en.2xlarge", + "i3en.3xlarge", + "i3en.6xlarge", + "i3en.12xlarge", + "i3en.24xlarge", "hi1.4xlarge", "hs1.8xlarge", "c1.medium", @@ -16717,7 +18567,9 @@ "c5.2xlarge", "c5.4xlarge", "c5.9xlarge", + "c5.12xlarge", "c5.18xlarge", + "c5.24xlarge", "c5d.large", "c5d.xlarge", "c5d.2xlarge", @@ -16745,6 +18597,7 @@ "p3.2xlarge", "p3.8xlarge", "p3.16xlarge", + "p3dn.24xlarge", "d2.xlarge", "d2.2xlarge", "d2.4xlarge", @@ -16758,6 +18611,7 @@ "m5.4xlarge", "m5.12xlarge", "m5.24xlarge", + "m5.metal", "m5a.large", "m5a.xlarge", "m5a.2xlarge", @@ -16770,6 +18624,15 @@ "m5d.4xlarge", "m5d.12xlarge", "m5d.24xlarge", + "m5d.metal", + "m5ad.large", + "m5ad.xlarge", + "m5ad.2xlarge", + "m5ad.4xlarge", + "m5ad.8xlarge", + "m5ad.12xlarge", + "m5ad.16xlarge", + "m5ad.24xlarge", "h1.2xlarge", "h1.4xlarge", "h1.8xlarge", @@ -16780,6 +18643,7 @@ "z1d.3xlarge", "z1d.6xlarge", "z1d.12xlarge", + "z1d.metal", "u-6tb1.metal", "u-9tb1.metal", "u-12tb1.metal", @@ -16868,32 +18732,32 @@ }, "IpProtocol":{ "shape":"String", - "documentation":"

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers).

[EC2-VPC only] Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or 58 (ICMPv6) allows traffic on all ports, regardless of any port range you specify. For tcp, udp, and icmp, you must specify a port range. For 58 (ICMPv6), you can optionally specify a port range; if you don't, traffic for all types and codes is allowed when authorizing rules.

", + "documentation":"

The IP protocol name (tcp, udp, icmp, icmpv6) or number (see Protocol Numbers).

[VPC only] Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless of any port range you specify. For tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range is optional; if you omit the port range, traffic for all types and codes is allowed.

", "locationName":"ipProtocol" }, "IpRanges":{ "shape":"IpRangeList", - "documentation":"

One or more IPv4 ranges.

", + "documentation":"

The IPv4 ranges.

", "locationName":"ipRanges" }, "Ipv6Ranges":{ "shape":"Ipv6RangeList", - "documentation":"

[EC2-VPC only] One or more IPv6 ranges.

", + "documentation":"

[VPC only] The IPv6 ranges.

", "locationName":"ipv6Ranges" }, "PrefixListIds":{ "shape":"PrefixListIdList", - "documentation":"

[EC2-VPC only] One or more prefix list IDs for an AWS service. With AuthorizeSecurityGroupEgress, this is the AWS service that you want to access through a VPC endpoint from instances associated with the security group.

", + "documentation":"

[VPC only] The prefix list IDs for an AWS service. With outbound rules, this is the AWS service to access through a VPC endpoint from instances associated with the security group.

", "locationName":"prefixListIds" }, "ToPort":{ "shape":"Integer", - "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 for the specified ICMP type. If you specify all ICMP/ICMPv6 types, you must specify all codes.

", + "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.

", "locationName":"toPort" }, "UserIdGroupPairs":{ "shape":"UserIdGroupPairList", - "documentation":"

One or more security group and AWS account ID pairs.

", + "documentation":"

The security group and AWS account ID pairs.

", "locationName":"groups" } }, @@ -17423,7 +19287,7 @@ }, "Iops":{ "shape":"Integer", - "documentation":"

The number of I/O operations per second (IOPS) that the volume supports. For io1, this represents the number of IOPS that are provisioned for the volume. For gp2, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information about General Purpose SSD baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create gp2, st1, sc1, or standard volumes.

" + "documentation":"

The number of I/O operations per second (IOPS) that the volume supports. For io1, this represents the number of IOPS that are provisioned for the volume. For gp2, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information about General Purpose SSD baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create gp2, st1, sc1, or standard volumes.

" }, "KmsKeyId":{ "shape":"String", @@ -17510,7 +19374,7 @@ "documentation":"

If you set this parameter to true, the instance is enabled for hibernation.

Default: false

" } }, - "documentation":"

Indicates whether the instance is configured for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. Hibernation is currently supported only for Amazon Linux.

" + "documentation":"

Indicates whether the instance is configured for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. Hibernation is currently supported only for Amazon Linux.

" }, "LaunchTemplateIamInstanceProfileSpecification":{ "type":"structure", @@ -17600,6 +19464,11 @@ "documentation":"

The IDs of one or more security groups.

", "locationName":"groupSet" }, + "InterfaceType":{ + "shape":"String", + "documentation":"

The type of network interface.

", + "locationName":"interfaceType" + }, "Ipv6AddressCount":{ "shape":"Integer", "documentation":"

The number of IPv6 addresses for the network interface.

", @@ -17669,6 +19538,10 @@ "documentation":"

The IDs of one or more security groups.

", "locationName":"SecurityGroupId" }, + "InterfaceType":{ + "shape":"String", + "documentation":"

The type of network interface. To create an Elastic Fabric Adapter (EFA), specify efa. For more information, see Elastic Fabric Adapter in the Amazon Elastic Compute Cloud User Guide.

If you are not creating an EFA, specify interface or omit this parameter.

Valid values: interface | efa

" + }, "Ipv6AddressCount":{ "shape":"Integer", "documentation":"

The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses.

" @@ -17746,7 +19619,7 @@ "type":"string", "max":128, "min":3, - "pattern":"[a-zA-Z0-9\\(\\)\\.-/_]+" + "pattern":"[a-zA-Z0-9\\(\\)\\.\\-/_]+" }, "LaunchTemplateNameStringList":{ "type":"list", @@ -17974,7 +19847,7 @@ "members":{ "ResourceType":{ "shape":"ResourceType", - "documentation":"

The type of resource to tag. Currently, the resource types that support tagging on creation are instance and volume. To tag a resource after it has been created, see CreateTags.

" + "documentation":"

The type of resource to tag. Currently, the resource types that support tagging on creation are instance and volume. To tag a resource after it has been created, see CreateTags.

" }, "Tags":{ "shape":"TagList", @@ -18209,6 +20082,7 @@ "max":255, "min":5 }, + "MillisecondDateTime":{"type":"timestamp"}, "ModifyCapacityReservationRequest":{ "type":"structure", "required":["CapacityReservationId"], @@ -18245,6 +20119,70 @@ } } }, + "ModifyClientVpnEndpointRequest":{ + "type":"structure", + "required":["ClientVpnEndpointId"], + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint to modify.

" + }, + "ServerCertificateArn":{ + "shape":"String", + "documentation":"

The ARN of the server certificate to be used. The server certificate must be provisioned in AWS Certificate Manager (ACM).

" + }, + "ConnectionLogOptions":{ + "shape":"ConnectionLogOptions", + "documentation":"

Information about the client connection logging options.

If you enable client connection logging, data about client connections is sent to a Cloudwatch Logs log stream. The following information is logged:

  • Client connection requests

  • Client connection results (successful and unsuccessful)

  • Reasons for unsuccessful client connection requests

  • Client connection termination time

" + }, + "DnsServers":{ + "shape":"DnsServersOptionsModifyStructure", + "documentation":"

Information about the DNS servers to be used by Client VPN connections. A Client VPN endpoint can have up to two DNS servers.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A brief description of the Client VPN endpoint.

" + }, + "DryRun":{ + "shape":"Boolean", + "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.

" + } + } + }, + "ModifyClientVpnEndpointResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", + "locationName":"return" + } + } + }, + "ModifyEbsDefaultKmsKeyIdRequest":{ + "type":"structure", + "required":["KmsKeyId"], + "members":{ + "KmsKeyId":{ + "shape":"String", + "documentation":"

The identifier of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use for Amazon EBS encryption. If this parameter is not specified, your AWS managed CMK for EBS is used. If KmsKeyId is specified, the encrypted state must be true.

You can specify the CMK using any of the following:

  • Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Key alias. For example, alias/ExampleAlias.

  • Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

  • Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

AWS authenticates the CMK asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.

" + }, + "DryRun":{ + "shape":"Boolean", + "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.

" + } + } + }, + "ModifyEbsDefaultKmsKeyIdResult":{ + "type":"structure", + "members":{ + "KmsKeyId":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the default CMK for encryption by default.

", + "locationName":"kmsKeyId" + } + } + }, "ModifyFleetRequest":{ "type":"structure", "required":[ @@ -18302,17 +20240,17 @@ }, "UserIds":{ "shape":"UserIdStringList", - "documentation":"

One or more AWS account IDs. This parameter is valid only when modifying the loadPermission attribute.

", + "documentation":"

The AWS account IDs. This parameter is valid only when modifying the loadPermission attribute.

", "locationName":"UserId" }, "UserGroups":{ "shape":"UserGroupStringList", - "documentation":"

One or more user groups. This parameter is valid only when modifying the loadPermission attribute.

", + "documentation":"

The user groups. This parameter is valid only when modifying the loadPermission attribute.

", "locationName":"UserGroup" }, "ProductCodes":{ "shape":"ProductCodeStringList", - "documentation":"

One or more product codes. After you add a product code to an AFI, it can't be removed. This parameter is valid only when modifying the productCodes attribute.

", + "documentation":"

The product codes. After you add a product code to an AFI, it can't be removed. This parameter is valid only when modifying the productCodes attribute.

", "locationName":"ProductCode" }, "LoadPermission":{ @@ -18341,10 +20279,7 @@ }, "ModifyHostsRequest":{ "type":"structure", - "required":[ - "AutoPlacement", - "HostIds" - ], + "required":["HostIds"], "members":{ "AutoPlacement":{ "shape":"AutoPlacement", @@ -18355,6 +20290,10 @@ "shape":"RequestHostIdList", "documentation":"

The IDs of the Dedicated Hosts to modify.

", "locationName":"hostId" + }, + "HostRecovery":{ + "shape":"HostRecovery", + "documentation":"

Indicates whether to enable or disable host recovery for the Dedicated Host. For more information, see Host Recovery in the Amazon Elastic Compute Cloud User Guide.

" } } }, @@ -18441,17 +20380,17 @@ }, "ProductCodes":{ "shape":"ProductCodeStringList", - "documentation":"

One or more DevPay product codes. After you add a product code to an AMI, it can't be removed.

", + "documentation":"

The DevPay product codes. After you add a product code to an AMI, it can't be removed.

", "locationName":"ProductCode" }, "UserGroups":{ "shape":"UserGroupStringList", - "documentation":"

One or more user groups. This parameter can be used only when the Attribute parameter is launchPermission.

", + "documentation":"

The user groups. This parameter can be used only when the Attribute parameter is launchPermission.

", "locationName":"UserGroup" }, "UserIds":{ "shape":"UserIdStringList", - "documentation":"

One or more AWS account IDs. This parameter can be used only when the Attribute parameter is launchPermission.

", + "documentation":"

The AWS account IDs. This parameter can be used only when the Attribute parameter is launchPermission.

", "locationName":"UserId" }, "Value":{ @@ -18481,7 +20420,7 @@ }, "BlockDeviceMappings":{ "shape":"InstanceBlockDeviceMappingSpecificationList", - "documentation":"

Modifies the DeleteOnTermination attribute for volumes that are currently attached. The volume must be owned by the caller. If no value is specified for DeleteOnTermination, the default is true and the volume is deleted when the instance is terminated.

To add instance store volumes to an Amazon EBS-backed instance, you must add them when you launch the instance. For more information, see Updating the Block Device Mapping when Launching an Instance in the Amazon Elastic Compute Cloud User Guide.

", + "documentation":"

Modifies the DeleteOnTermination attribute for volumes that are currently attached. The volume must be owned by the caller. If no value is specified for DeleteOnTermination, the default is true and the volume is deleted when the instance is terminated.

To add instance store volumes to an Amazon EBS-backed instance, you must add them when you launch the instance. For more information, see Updating the Block Device Mapping when Launching an Instance in the Amazon Elastic Compute Cloud User Guide.

", "locationName":"blockDeviceMapping" }, "DisableApiTermination":{ @@ -18521,17 +20460,17 @@ }, "InstanceType":{ "shape":"AttributeValue", - "documentation":"

Changes the instance type to the specified value. For more information, see Instance Types. If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.

", + "documentation":"

Changes the instance type to the specified value. For more information, see Instance Types. If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.

", "locationName":"instanceType" }, "Kernel":{ "shape":"AttributeValue", - "documentation":"

Changes the instance's kernel to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", + "documentation":"

Changes the instance's kernel to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", "locationName":"kernel" }, "Ramdisk":{ "shape":"AttributeValue", - "documentation":"

Changes the instance's RAM disk to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", + "documentation":"

Changes the instance's RAM disk to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", "locationName":"ramdisk" }, "SriovNetSupport":{ @@ -18592,7 +20531,7 @@ }, "ClientToken":{ "shape":"String", - "documentation":"

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

" + "documentation":"

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

" }, "InstanceCreditSpecifications":{ "shape":"InstanceCreditSpecificationListRequest", @@ -18616,6 +20555,41 @@ } } }, + "ModifyInstanceEventStartTimeRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "InstanceEventId", + "NotBefore" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "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.

" + }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance with the scheduled event.

" + }, + "InstanceEventId":{ + "shape":"String", + "documentation":"

The ID of the event whose date and time you are modifying.

" + }, + "NotBefore":{ + "shape":"DateTime", + "documentation":"

The new date and time when the event will take place.

" + } + } + }, + "ModifyInstanceEventStartTimeResult":{ + "type":"structure", + "members":{ + "Event":{ + "shape":"InstanceStatusEvent", + "locationName":"event" + } + } + }, "ModifyInstancePlacementRequest":{ "type":"structure", "required":["InstanceId"], @@ -18627,7 +20601,7 @@ }, "GroupName":{ "shape":"String", - "documentation":"

The name of the placement group in which to place the instance. For spread placement groups, the instance must have a tenancy of default. For cluster placement groups, the instance must have a tenancy of default or dedicated.

To remove an instance from a placement group, specify an empty string (\"\").

" + "documentation":"

The name of the placement group in which to place the instance. For spread placement groups, the instance must have a tenancy of default. For cluster and partition placement groups, the instance must have a tenancy of default or dedicated.

To remove an instance from a placement group, specify an empty string (\"\").

" }, "HostId":{ "shape":"String", @@ -18643,6 +20617,10 @@ "shape":"HostTenancy", "documentation":"

The tenancy for the instance.

", "locationName":"tenancy" + }, + "PartitionNumber":{ + "shape":"Integer", + "documentation":"

Reserved for future use.

" } } }, @@ -18665,7 +20643,7 @@ }, "ClientToken":{ "shape":"String", - "documentation":"

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

" + "documentation":"

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

Constraint: Maximum 128 ASCII characters.

" }, "LaunchTemplateId":{ "shape":"String", @@ -18723,7 +20701,7 @@ }, "SourceDestCheck":{ "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether source/destination checking is enabled. A value of true means checking is enabled, and false means checking is disabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.

", + "documentation":"

Indicates whether source/destination checking is enabled. A value of true means checking is enabled, and false means checking is disabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.

", "locationName":"sourceDestCheck" } }, @@ -18743,7 +20721,7 @@ }, "ClientToken":{ "shape":"String", - "documentation":"

A unique, case-sensitive token you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

", + "documentation":"

A unique, case-sensitive token you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

", "locationName":"clientToken" }, "TargetConfigurations":{ @@ -18846,7 +20824,7 @@ }, "MapPublicIpOnLaunch":{ "shape":"AttributeBooleanValue", - "documentation":"

Specify true to indicate that network interfaces created in the specified subnet should be assigned a public IPv4 address. This includes a network interface that's created when launching an instance into the subnet (the instance therefore receives a public IPv4 address).

" + "documentation":"

Specify true to indicate that ENIs attached to instances created in the specified subnet should be assigned a public IPv4 address.

" }, "SubnetId":{ "shape":"String", @@ -18939,7 +20917,7 @@ }, "Size":{ "shape":"Integer", - "documentation":"

The target size of the volume, in GiB. The target volume size must be greater than or equal to than the existing size of the volume. For information about available EBS volume sizes, see Amazon EBS Volume Types.

Default: If no size is specified, the existing size is retained.

" + "documentation":"

The target size of the volume, in GiB. The target volume size must be greater than or equal to than the existing size of the volume. For information about available EBS volume sizes, see Amazon EBS Volume Types.

Default: If no size is specified, the existing size is retained.

" }, "VolumeType":{ "shape":"VolumeType", @@ -18947,7 +20925,7 @@ }, "Iops":{ "shape":"Integer", - "documentation":"

The target IOPS rate of the volume.

This is only valid for Provisioned IOPS SSD (io1) volumes. For more information, see Provisioned IOPS SSD (io1) Volumes.

Default: If no IOPS value is specified, the existing value is retained.

" + "documentation":"

The target IOPS rate of the volume.

This is only valid for Provisioned IOPS SSD (io1) volumes. For more information, see Provisioned IOPS SSD (io1) Volumes.

Default: If no IOPS value is specified, the existing value is retained.

" } } }, @@ -19030,7 +21008,7 @@ }, "PolicyDocument":{ "shape":"String", - "documentation":"

(Gateway endpoint) A policy document to attach to the endpoint. The policy must be in valid JSON format.

" + "documentation":"

A policy to attach to the endpoint that controls access to the service. The policy must be in valid JSON format. If this parameter is not specified, we attach a default policy that allows full access to the service.

" }, "AddRouteTableIds":{ "shape":"ValueStringList", @@ -19217,13 +21195,44 @@ } } }, + "ModifyVpnConnectionRequest":{ + "type":"structure", + "required":["VpnConnectionId"], + "members":{ + "VpnConnectionId":{ + "shape":"String", + "documentation":"

The ID of the VPN connection.

" + }, + "TransitGatewayId":{ + "shape":"String", + "documentation":"

The ID of the transit gateway.

" + }, + "VpnGatewayId":{ + "shape":"String", + "documentation":"

The ID of the virtual private gateway at the AWS side of the VPN connection.

" + }, + "DryRun":{ + "shape":"Boolean", + "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.

" + } + } + }, + "ModifyVpnConnectionResult":{ + "type":"structure", + "members":{ + "VpnConnection":{ + "shape":"VpnConnection", + "locationName":"vpnConnection" + } + } + }, "MonitorInstancesRequest":{ "type":"structure", "required":["InstanceIds"], "members":{ "InstanceIds":{ "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", + "documentation":"

The IDs of the instances.

", "locationName":"InstanceId" }, "DryRun":{ @@ -19359,7 +21368,7 @@ }, "ProvisionedBandwidth":{ "shape":"ProvisionedBandwidth", - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", + "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", "locationName":"provisionedBandwidth" }, "State":{ @@ -19594,7 +21603,7 @@ }, "InterfaceType":{ "shape":"NetworkInterfaceType", - "documentation":"

The type of interface.

", + "documentation":"

The type of network interface.

", "locationName":"interfaceType" }, "Ipv6Addresses":{ @@ -19767,6 +21776,10 @@ "attachment" ] }, + "NetworkInterfaceCreationType":{ + "type":"string", + "enum":["efa"] + }, "NetworkInterfaceIdList":{ "type":"list", "member":{ @@ -19918,7 +21931,8 @@ "type":"string", "enum":[ "interface", - "natGateway" + "natGateway", + "efa" ] }, "NewDhcpConfiguration":{ @@ -19998,6 +22012,11 @@ "documentation":"

Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet.

", "locationName":"singleInstanceType" }, + "SingleAvailabilityZone":{ + "shape":"Boolean", + "documentation":"

Indicates that the fleet launches all On-Demand Instances into a single Availability Zone.

", + "locationName":"singleAvailabilityZone" + }, "MinTargetCapacity":{ "shape":"Integer", "documentation":"

The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances.

", @@ -20017,6 +22036,10 @@ "shape":"Boolean", "documentation":"

Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet.

" }, + "SingleAvailabilityZone":{ + "shape":"Boolean", + "documentation":"

Indicates that the fleet launches all On-Demand Instances into a single Availability Zone.

" + }, "MinTargetCapacity":{ "shape":"Integer", "documentation":"

The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances.

" @@ -20116,7 +22139,7 @@ "members":{ "AvailabilityZone":{ "shape":"String", - "documentation":"

The Availability Zone of the instance.

", + "documentation":"

The Availability Zone of the instance.

If not specified, an Availability Zone will be automatically chosen for you based on the load balancing criteria for the Region.

", "locationName":"availabilityZone" }, "Affinity":{ @@ -20129,6 +22152,11 @@ "documentation":"

The name of the placement group the instance is in.

", "locationName":"groupName" }, + "PartitionNumber":{ + "shape":"Integer", + "documentation":"

The number of the partition the instance is in. Valid only if the placement group strategy is set to partition.

", + "locationName":"partitionNumber" + }, "HostId":{ "shape":"String", "documentation":"

The ID of the Dedicated Host on which the instance resides. This parameter is not supported for the ImportInstance command.

", @@ -20164,6 +22192,11 @@ "shape":"PlacementStrategy", "documentation":"

The placement strategy.

", "locationName":"strategy" + }, + "PartitionCount":{ + "shape":"Integer", + "documentation":"

The number of partitions. Valid only if strategy is set to partition.

", + "locationName":"partitionCount" } }, "documentation":"

Describes a placement group.

" @@ -20203,7 +22236,8 @@ "type":"string", "enum":[ "cluster", - "spread" + "spread", + "partition" ] }, "PlatformValues":{ @@ -20509,7 +22543,7 @@ "members":{ "Cidr":{ "shape":"String", - "documentation":"

The public IPv4 address range, in CIDR notation. The most specific prefix that you can specify is /24. The address range cannot overlap with another address range that you've brought to this or another region.

" + "documentation":"

The public IPv4 address range, in CIDR notation. The most specific prefix that you can specify is /24. The address range cannot overlap with another address range that you've brought to this or another Region.

" }, "CidrAuthorizationContext":{ "shape":"CidrAuthorizationContext", @@ -20540,31 +22574,31 @@ "members":{ "ProvisionTime":{ "shape":"DateTime", - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", + "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", "locationName":"provisionTime" }, "Provisioned":{ "shape":"String", - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", + "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", "locationName":"provisioned" }, "RequestTime":{ "shape":"DateTime", - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", + "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", "locationName":"requestTime" }, "Requested":{ "shape":"String", - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", + "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", "locationName":"requested" }, "Status":{ "shape":"String", - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", + "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", "locationName":"status" } }, - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

" + "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

" }, "PublicIpStringList":{ "type":"list", @@ -20699,7 +22733,7 @@ "members":{ "ClientToken":{ "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

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

" }, "CurrencyCode":{ "shape":"CurrencyCodeValues", @@ -20724,7 +22758,7 @@ "members":{ "ClientToken":{ "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide.

", + "documentation":"

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

", "locationName":"clientToken" }, "CurrencyCode":{ @@ -20820,7 +22854,7 @@ "members":{ "ClientToken":{ "shape":"String", - "documentation":"

Unique, case-sensitive identifier that ensures the idempotency of the request. For more information, see Ensuring Idempotency.

", + "documentation":"

Unique, case-sensitive identifier that ensures the idempotency of the request. For more information, see Ensuring Idempotency.

", "idempotencyToken":true }, "DryRun":{ @@ -20829,7 +22863,7 @@ }, "PurchaseRequests":{ "shape":"PurchaseRequestSet", - "documentation":"

One or more purchase requests.

", + "documentation":"

The purchase requests.

", "locationName":"PurchaseRequest" } }, @@ -20882,7 +22916,7 @@ "members":{ "InstanceIds":{ "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", + "documentation":"

The instance IDs.

", "locationName":"InstanceId" }, "DryRun":{ @@ -20924,16 +22958,16 @@ "members":{ "Endpoint":{ "shape":"String", - "documentation":"

The region service endpoint.

", + "documentation":"

The Region service endpoint.

", "locationName":"regionEndpoint" }, "RegionName":{ "shape":"String", - "documentation":"

The name of the region.

", + "documentation":"

The name of the Region.

", "locationName":"regionName" } }, - "documentation":"

Describes a region.

" + "documentation":"

Describes a Region.

" }, "RegionList":{ "type":"list", @@ -20955,7 +22989,7 @@ "members":{ "ImageLocation":{ "shape":"String", - "documentation":"

The full path to your AMI manifest in Amazon S3 storage.

" + "documentation":"

The full path to your AMI manifest in Amazon S3 storage. The specified bucket must have the aws-exec-read canned access control list (ACL) to ensure that it can be accessed by Amazon EC2. For more information, see Canned ACLs in the Amazon S3 Service Developer Guide.

" }, "Architecture":{ "shape":"ArchitectureValues", @@ -20964,7 +22998,7 @@ }, "BlockDeviceMappings":{ "shape":"BlockDeviceMappingRequestList", - "documentation":"

One or more block device mapping entries.

", + "documentation":"

The block device mapping entries.

", "locationName":"BlockDeviceMapping" }, "Description":{ @@ -21452,12 +23486,12 @@ }, "Instances":{ "shape":"InstanceIdStringList", - "documentation":"

One or more instances.

", + "documentation":"

The instances.

", "locationName":"instanceId" }, "ReasonCodes":{ "shape":"ReasonCodesList", - "documentation":"

One or more reason codes that describe the health state of your instance.

  • instance-stuck-in-state: My instance is stuck in a state.

  • unresponsive: My instance is unresponsive.

  • not-accepting-credentials: My instance is not accepting my credentials.

  • password-not-available: A password is not available for my instance.

  • performance-network: My instance is experiencing performance problems that I believe are network related.

  • performance-instance-store: My instance is experiencing performance problems that I believe are related to the instance stores.

  • performance-ebs-volume: My instance is experiencing performance problems that I believe are related to an EBS volume.

  • performance-other: My instance is experiencing performance problems.

  • other: [explain using the description parameter]

", + "documentation":"

The reason codes that describe the health state of your instance.

  • instance-stuck-in-state: My instance is stuck in a state.

  • unresponsive: My instance is unresponsive.

  • not-accepting-credentials: My instance is not accepting my credentials.

  • password-not-available: A password is not available for my instance.

  • performance-network: My instance is experiencing performance problems that I believe are network related.

  • performance-instance-store: My instance is experiencing performance problems that I believe are related to the instance stores.

  • performance-ebs-volume: My instance is experiencing performance problems that I believe are related to an EBS volume.

  • performance-other: My instance is experiencing performance problems.

  • other: [explain using the description parameter]

", "locationName":"reasonCode" }, "StartTime":{ @@ -21498,7 +23532,7 @@ "members":{ "KernelId":{ "shape":"String", - "documentation":"

The ID of the kernel.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User Provided Kernels in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The ID of the kernel.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User Provided Kernels in the Amazon Elastic Compute Cloud User Guide.

" }, "EbsOptimized":{ "shape":"Boolean", @@ -21515,20 +23549,20 @@ }, "NetworkInterfaces":{ "shape":"LaunchTemplateInstanceNetworkInterfaceSpecificationRequestList", - "documentation":"

One or more network interfaces.

", + "documentation":"

One or more network interfaces. If you specify a network interface, you must specify any security groups as part of the network interface.

", "locationName":"NetworkInterface" }, "ImageId":{ "shape":"String", - "documentation":"

The ID of the AMI, which you can get by using DescribeImages.

" + "documentation":"

The ID of the AMI.

" }, "InstanceType":{ "shape":"InstanceType", - "documentation":"

The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

" }, "KeyName":{ "shape":"String", - "documentation":"

The name of the key pair. You can create a key pair using CreateKeyPair or ImportKeyPair.

If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.

" + "documentation":"

The name of the key pair. You can create a key pair using CreateKeyPair or ImportKeyPair.

If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.

" }, "Monitoring":{ "shape":"LaunchTemplatesMonitoringRequest", @@ -21540,11 +23574,11 @@ }, "RamDiskId":{ "shape":"String", - "documentation":"

The ID of the RAM disk.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User Provided Kernels in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The ID of the RAM disk.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User Provided Kernels in the Amazon Elastic Compute Cloud User Guide.

" }, "DisableApiTermination":{ "shape":"Boolean", - "documentation":"

If set to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API. To change this attribute to false after launch, use ModifyInstanceAttribute.

" + "documentation":"

If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after launch, use ModifyInstanceAttribute. Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate, you can terminate the instance by running the shutdown command from the instance.

" }, "InstanceInitiatedShutdownBehavior":{ "shape":"ShutdownBehavior", @@ -21552,11 +23586,11 @@ }, "UserData":{ "shape":"String", - "documentation":"

The Base64-encoded user data to make available to the instance. For more information, see Running Commands on Your Linux Instance at Launch (Linux) and Adding User Data (Windows).

" + "documentation":"

The Base64-encoded user data to make available to the instance. For more information, see Running Commands on Your Linux Instance at Launch (Linux) and Adding User Data (Windows).

" }, "TagSpecifications":{ "shape":"LaunchTemplateTagSpecificationRequestList", - "documentation":"

The tags to apply to the resources during launch. You can only tag instances and volumes on launch. The specified tags are applied to all instances or volumes that are created during launch. To tag a resource after it has been created, see CreateTags.

", + "documentation":"

The tags to apply to the resources during launch. You can only tag instances and volumes on launch. The specified tags are applied to all instances or volumes that are created during launch. To tag a resource after it has been created, see CreateTags.

", "locationName":"TagSpecification" }, "ElasticGpuSpecifications":{ @@ -21571,7 +23605,7 @@ }, "SecurityGroupIds":{ "shape":"SecurityGroupIdStringList", - "documentation":"

One or more security group IDs. You can create a security group using CreateSecurityGroup. You cannot specify both a security group ID and security name in the same request.

", + "documentation":"

One or more security group IDs. You can create a security group using CreateSecurityGroup. You cannot specify both a security group ID and security name in the same request.

", "locationName":"SecurityGroupId" }, "SecurityGroups":{ @@ -21589,20 +23623,20 @@ }, "CpuOptions":{ "shape":"LaunchTemplateCpuOptionsRequest", - "documentation":"

The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User Guide.

" }, "CapacityReservationSpecification":{ "shape":"LaunchTemplateCapacityReservationSpecificationRequest", - "documentation":"

The Capacity Reservation targeting option.

" - }, - "HibernationOptions":{ - "shape":"LaunchTemplateHibernationOptionsRequest", - "documentation":"

Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. Hibernation is currently supported only for Amazon Linux. For more information, see Hibernate Your Instance in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The Capacity Reservation targeting option. If you do not specify this parameter, the instance's Capacity Reservation preference defaults to open, which enables it to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).

" }, "LicenseSpecifications":{ "shape":"LaunchTemplateLicenseSpecificationListRequest", "documentation":"

The license configurations.

", "locationName":"LicenseSpecification" + }, + "HibernationOptions":{ + "shape":"LaunchTemplateHibernationOptionsRequest", + "documentation":"

Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. Hibernation is currently supported only for Amazon Linux. For more information, see Hibernate Your Instance in the Amazon Elastic Compute Cloud User Guide.

" } }, "documentation":"

The information to include in the launch template.

" @@ -21626,7 +23660,6 @@ }, "RequestSpotFleetResponse":{ "type":"structure", - "required":["SpotFleetRequestId"], "members":{ "SpotFleetRequestId":{ "shape":"String", @@ -21651,7 +23684,7 @@ }, "ClientToken":{ "shape":"String", - "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon EC2 User Guide for Linux Instances.

", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon EC2 User Guide for Linux Instances.

", "locationName":"clientToken" }, "DryRun":{ @@ -21791,7 +23824,7 @@ }, "UserData":{ "shape":"String", - "documentation":"

The Base64-encoded user data for the instance.

", + "documentation":"

The Base64-encoded user data for the instance. User data is limited to 16 KB.

", "locationName":"userData" } }, @@ -21802,12 +23835,12 @@ "members":{ "Groups":{ "shape":"GroupIdentifierList", - "documentation":"

[EC2-Classic only] One or more security groups.

", + "documentation":"

[EC2-Classic only] The security groups.

", "locationName":"groupSet" }, "Instances":{ "shape":"InstanceList", - "documentation":"

One or more instances.

", + "documentation":"

The instances.

", "locationName":"instancesSet" }, "OwnerId":{ @@ -22026,7 +24059,7 @@ }, "InstanceCount":{ "shape":"Integer", - "documentation":"

The number of modified Reserved Instances.

", + "documentation":"

The number of modified Reserved Instances.

This is a required field for a request.

", "locationName":"instanceCount" }, "InstanceType":{ @@ -22041,7 +24074,7 @@ }, "Scope":{ "shape":"scope", - "documentation":"

Whether the Reserved Instance is applied to instances in a region or instances in a specific Availability Zone.

", + "documentation":"

Whether the Reserved Instance is applied to instances in a Region or instances in a specific Availability Zone.

", "locationName":"scope" } }, @@ -22084,7 +24117,7 @@ "members":{ "ClientToken":{ "shape":"String", - "documentation":"

A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. For more information, see Ensuring Idempotency.

", + "documentation":"

A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. For more information, see Ensuring Idempotency.

", "locationName":"clientToken" }, "CreateDate":{ @@ -22147,7 +24180,7 @@ "members":{ "ClientToken":{ "shape":"String", - "documentation":"

A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. For more information, see Ensuring Idempotency.

", + "documentation":"

A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. For more information, see Ensuring Idempotency.

", "locationName":"clientToken" }, "CreateDate":{ @@ -22305,7 +24338,7 @@ }, "Scope":{ "shape":"scope", - "documentation":"

Whether the Reserved Instance is applied to instances in a region or an Availability Zone.

", + "documentation":"

Whether the Reserved Instance is applied to instances in a Region or an Availability Zone.

", "locationName":"scope" } }, @@ -22329,6 +24362,25 @@ "locationName":"item" } }, + "ResetEbsDefaultKmsKeyIdRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "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.

" + } + } + }, + "ResetEbsDefaultKmsKeyIdResult":{ + "type":"structure", + "members":{ + "KmsKeyId":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the default CMK for EBS encryption by default.

", + "locationName":"kmsKeyId" + } + } + }, "ResetFpgaImageAttributeName":{ "type":"string", "enum":["loadPermission"] @@ -22471,12 +24523,14 @@ "ResourceType":{ "type":"string", "enum":[ + "client-vpn-endpoint", "customer-gateway", "dedicated-host", "dhcp-options", "elastic-ip", "fleet", "fpga-image", + "host-reservation", "image", "instance", "internet-gateway", @@ -22640,7 +24694,7 @@ }, "CpuOptions":{ "shape":"LaunchTemplateCpuOptions", - "documentation":"

The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User Guide.

", + "documentation":"

The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User Guide.

", "locationName":"cpuOptions" }, "CapacityReservationSpecification":{ @@ -22648,15 +24702,15 @@ "documentation":"

Information about the Capacity Reservation targeting option.

", "locationName":"capacityReservationSpecification" }, - "HibernationOptions":{ - "shape":"LaunchTemplateHibernationOptions", - "documentation":"

Indicates whether an instance is configured for hibernation. For more information, see Hibernate Your Instance in the Amazon Elastic Compute Cloud User Guide.

", - "locationName":"hibernationOptions" - }, "LicenseSpecifications":{ "shape":"LaunchTemplateLicenseList", "documentation":"

The license configurations.

", "locationName":"licenseSet" + }, + "HibernationOptions":{ + "shape":"LaunchTemplateHibernationOptions", + "documentation":"

Indicates whether an instance is configured for hibernation. For more information, see Hibernate Your Instance in the Amazon Elastic Compute Cloud User Guide.

", + "locationName":"hibernationOptions" } }, "documentation":"

The information for a launch template.

" @@ -22696,6 +24750,45 @@ } } }, + "RevokeClientVpnIngressRequest":{ + "type":"structure", + "required":[ + "ClientVpnEndpointId", + "TargetNetworkCidr" + ], + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint with which the authorization rule is associated.

" + }, + "TargetNetworkCidr":{ + "shape":"String", + "documentation":"

The IPv4 address range, in CIDR notation, of the network for which access is being removed.

" + }, + "AccessGroupId":{ + "shape":"String", + "documentation":"

The ID of the Active Directory group for which to revoke access.

" + }, + "RevokeAllGroups":{ + "shape":"Boolean", + "documentation":"

Indicates whether access should be revoked for all clients.

" + }, + "DryRun":{ + "shape":"Boolean", + "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.

" + } + } + }, + "RevokeClientVpnIngressResult":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"ClientVpnAuthorizationRuleStatus", + "documentation":"

The current state of the authorization rule.

", + "locationName":"status" + } + } + }, "RevokeSecurityGroupEgressRequest":{ "type":"structure", "required":["GroupId"], @@ -22712,7 +24805,7 @@ }, "IpPermissions":{ "shape":"IpPermissionList", - "documentation":"

One or more sets of IP permissions. You can't specify a destination security group and a CIDR IP address range in the same set of permissions.

", + "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.

", "locationName":"ipPermissions" }, "CidrIp":{ @@ -22768,7 +24861,7 @@ }, "IpPermissions":{ "shape":"IpPermissionList", - "documentation":"

One or more sets of IP permissions. You can't specify a source security group and a CIDR IP address range in the same set of permissions.

" + "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.

" }, "IpProtocol":{ "shape":"String", @@ -22995,33 +25088,33 @@ "members":{ "BlockDeviceMappings":{ "shape":"BlockDeviceMappingRequestList", - "documentation":"

One or more block device mapping entries. You can't specify both a snapshot ID and an encryption value. This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its encryption status is used for the volume encryption status.

", + "documentation":"

The block device mapping entries.

", "locationName":"BlockDeviceMapping" }, "ImageId":{ "shape":"String", - "documentation":"

The ID of the AMI, which you can get by calling DescribeImages. An AMI is required to launch an instance and must be specified here or in a launch template.

" + "documentation":"

The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template.

" }, "InstanceType":{ "shape":"InstanceType", - "documentation":"

The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

Default: m1.small

" + "documentation":"

The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

Default: m1.small

" }, "Ipv6AddressCount":{ "shape":"Integer", - "documentation":"

[EC2-VPC] A number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch.

" + "documentation":"

[EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch.

You cannot specify this option and the network interfaces option in the same request.

" }, "Ipv6Addresses":{ "shape":"InstanceIpv6AddressList", - "documentation":"

[EC2-VPC] Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.

", + "documentation":"

[EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.

You cannot specify this option and the network interfaces option in the same request.

", "locationName":"Ipv6Address" }, "KernelId":{ "shape":"String", - "documentation":"

The ID of the kernel.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The ID of the kernel.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB in the Amazon Elastic Compute Cloud User Guide.

" }, "KeyName":{ "shape":"String", - "documentation":"

The name of the key pair. You can create a key pair using CreateKeyPair or ImportKeyPair.

If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.

" + "documentation":"

The name of the key pair. You can create a key pair using CreateKeyPair or ImportKeyPair.

If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.

" }, "MaxCount":{ "shape":"Integer", @@ -23033,7 +25126,7 @@ }, "Monitoring":{ "shape":"RunInstancesMonitoringEnabled", - "documentation":"

The monitoring for the instance.

" + "documentation":"

Specifies whether detailed monitoring is enabled for the instance.

" }, "Placement":{ "shape":"Placement", @@ -23041,25 +25134,25 @@ }, "RamdiskId":{ "shape":"String", - "documentation":"

The ID of the RAM disk.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The ID of the RAM disk to select. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, go to the AWS Resource Center and search for the kernel ID.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB in the Amazon Elastic Compute Cloud User Guide.

" }, "SecurityGroupIds":{ "shape":"SecurityGroupIdStringList", - "documentation":"

One or more security group IDs. You can create a security group using CreateSecurityGroup.

Default: Amazon EC2 uses the default security group.

", + "documentation":"

The IDs of the security groups. You can create a security group using CreateSecurityGroup.

If you specify a network interface, you must specify any security groups as part of the network interface.

", "locationName":"SecurityGroupId" }, "SecurityGroups":{ "shape":"SecurityGroupStringList", - "documentation":"

[EC2-Classic, default VPC] One or more security group names. For a nondefault VPC, you must use security group IDs instead.

Default: Amazon EC2 uses the default security group.

", + "documentation":"

[EC2-Classic, default VPC] The names of the security groups. For a nondefault VPC, you must use security group IDs instead.

If you specify a network interface, you must specify any security groups as part of the network interface.

Default: Amazon EC2 uses the default security group.

", "locationName":"SecurityGroup" }, "SubnetId":{ "shape":"String", - "documentation":"

[EC2-VPC] The ID of the subnet to launch the instance into.

" + "documentation":"

[EC2-VPC] The ID of the subnet to launch the instance into.

You cannot specify this option and the network interfaces option in the same request.

" }, "UserData":{ "shape":"String", - "documentation":"

The user data to make available to the instance. For more information, see Running Commands on Your Linux Instance at Launch (Linux) and Adding User Data (Windows). If you are using a command line tool, base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide base64-encoded text.

" + "documentation":"

The user data to make available to the instance. For more information, see Running Commands on Your Linux Instance at Launch (Linux) and Adding User Data (Windows). If you are using a command line tool, base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide base64-encoded text. User data is limited to 16 KB.

" }, "AdditionalInfo":{ "shape":"String", @@ -23068,12 +25161,12 @@ }, "ClientToken":{ "shape":"String", - "documentation":"

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

Constraints: Maximum 64 ASCII characters

", + "documentation":"

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

Constraints: Maximum 64 ASCII characters

", "locationName":"clientToken" }, "DisableApiTermination":{ "shape":"Boolean", - "documentation":"

If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute to false after launch, use ModifyInstanceAttribute. Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate, you can terminate the instance by running the shutdown command from the instance.

Default: false

", + "documentation":"

If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after launch, use ModifyInstanceAttribute. Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate, you can terminate the instance by running the shutdown command from the instance.

Default: false

", "locationName":"disableApiTermination" }, "DryRun":{ @@ -23098,26 +25191,26 @@ }, "NetworkInterfaces":{ "shape":"InstanceNetworkInterfaceSpecificationList", - "documentation":"

One or more network interfaces.

", + "documentation":"

The network interfaces to associate with the instance. If you specify a network interface, you must specify any security groups as part of the network interface.

", "locationName":"networkInterface" }, "PrivateIpAddress":{ "shape":"String", - "documentation":"

[EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet.

Only one private IP address can be designated as primary. You can't specify this option if you've specified the option to designate a private IP address as the primary IP address in a network interface specification. You cannot specify this option if you're launching more than one instance in the request.

", + "documentation":"

[EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet.

Only one private IP address can be designated as primary. You can't specify this option if you've specified the option to designate a private IP address as the primary IP address in a network interface specification. You cannot specify this option if you're launching more than one instance in the request.

You cannot specify this option and the network interfaces option in the same request.

", "locationName":"privateIpAddress" }, "ElasticGpuSpecification":{ "shape":"ElasticGpuSpecifications", - "documentation":"

An elastic GPU to associate with the instance.

" + "documentation":"

An elastic GPU to associate with the instance. An Elastic GPU is a GPU resource that you can attach to your Windows instance to accelerate the graphics performance of your applications. For more information, see Amazon EC2 Elastic GPUs in the Amazon Elastic Compute Cloud User Guide.

" }, "ElasticInferenceAccelerators":{ "shape":"ElasticInferenceAccelerators", - "documentation":"

An elastic inference accelerator.

", + "documentation":"

An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.

", "locationName":"ElasticInferenceAccelerator" }, "TagSpecifications":{ "shape":"TagSpecificationList", - "documentation":"

The tags to apply to the resources during launch. You can only tag instances and volumes on launch. The specified tags are applied to all instances or volumes that are created during launch. To tag a resource after it has been created, see CreateTags.

", + "documentation":"

The tags to apply to the resources during launch. You can only tag instances and volumes on launch. The specified tags are applied to all instances or volumes that are created during launch. To tag a resource after it has been created, see CreateTags.

", "locationName":"TagSpecification" }, "LaunchTemplate":{ @@ -23130,19 +25223,19 @@ }, "CreditSpecification":{ "shape":"CreditSpecificationRequest", - "documentation":"

The credit option for CPU usage of the instance. Valid values are standard and unlimited. To change this attribute after launch, use ModifyInstanceCreditSpecification. For more information, see Burstable Performance Instances in the Amazon Elastic Compute Cloud User Guide.

Default: standard (T2 instances) or unlimited (T3 instances)

" + "documentation":"

The credit option for CPU usage of the T2 or T3 instance. Valid values are standard and unlimited. To change this attribute after launch, use ModifyInstanceCreditSpecification. For more information, see Burstable Performance Instances in the Amazon Elastic Compute Cloud User Guide.

Default: standard (T2 instances) or unlimited (T3 instances)

" }, "CpuOptions":{ "shape":"CpuOptionsRequest", - "documentation":"

The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User Guide.

" }, "CapacityReservationSpecification":{ "shape":"CapacityReservationSpecification", - "documentation":"

Information about the Capacity Reservation targeting option.

" + "documentation":"

Information about the Capacity Reservation targeting option. If you do not specify this parameter, the instance's Capacity Reservation preference defaults to open, which enables it to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).

" }, "HibernationOptions":{ "shape":"HibernationOptionsRequest", - "documentation":"

Indicates whether an instance is enabled for hibernation. For more information, see Hibernate Your Instance in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Indicates whether an instance is enabled for hibernation. For more information, see Hibernate Your Instance in the Amazon Elastic Compute Cloud User Guide.

" }, "LicenseSpecifications":{ "shape":"LicenseSpecificationListRequest", @@ -23160,7 +25253,7 @@ "members":{ "ClientToken":{ "shape":"String", - "documentation":"

Unique, case-sensitive identifier that ensures the idempotency of the request. For more information, see Ensuring Idempotency.

", + "documentation":"

Unique, case-sensitive identifier that ensures the idempotency of the request. For more information, see Ensuring Idempotency.

", "idempotencyToken":true }, "DryRun":{ @@ -23198,7 +25291,7 @@ "members":{ "AWSAccessKeyId":{ "shape":"String", - "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 in Best Practices for Managing AWS Access Keys.

" + "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 in Best Practices for Managing AWS Access Keys.

" }, "Bucket":{ "shape":"String", @@ -23496,7 +25589,7 @@ }, "Iops":{ "shape":"Integer", - "documentation":"

The number of I/O operations per second (IOPS) that the volume supports. For io1 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information about gp2 baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for gp2 volumes.

Condition: This parameter is required for requests to create io1volumes; it is not used in requests to create gp2, st1, sc1, or standard volumes.

" + "documentation":"

The number of I/O operations per second (IOPS) that the volume supports. For io1 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information about gp2 baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for gp2 volumes.

Condition: This parameter is required for requests to create io1volumes; it is not used in requests to create gp2, st1, sc1, or standard volumes.

" }, "SnapshotId":{ "shape":"String", @@ -23550,7 +25643,7 @@ "members":{ "BlockDeviceMappings":{ "shape":"ScheduledInstancesBlockDeviceMappingSet", - "documentation":"

One or more block device mapping entries.

", + "documentation":"

The block device mapping entries.

", "locationName":"BlockDeviceMapping" }, "EbsOptimized":{ @@ -23583,7 +25676,7 @@ }, "NetworkInterfaces":{ "shape":"ScheduledInstancesNetworkInterfaceSet", - "documentation":"

One or more network interfaces.

", + "documentation":"

The network interfaces.

", "locationName":"NetworkInterface" }, "Placement":{ @@ -23596,7 +25689,7 @@ }, "SecurityGroupIds":{ "shape":"ScheduledInstancesSecurityGroupIdSet", - "documentation":"

The IDs of one or more security groups.

", + "documentation":"

The IDs of the security groups.

", "locationName":"SecurityGroupId" }, "SubnetId":{ @@ -23641,7 +25734,7 @@ }, "Groups":{ "shape":"ScheduledInstancesSecurityGroupIdSet", - "documentation":"

The IDs of one or more security groups.

", + "documentation":"

The IDs of the security groups.

", "locationName":"Group" }, "Ipv6AddressCount":{ @@ -23650,7 +25743,7 @@ }, "Ipv6Addresses":{ "shape":"ScheduledInstancesIpv6AddressList", - "documentation":"

One or more specific IPv6 addresses from the subnet range.

", + "documentation":"

The specific IPv6 addresses from the subnet range.

", "locationName":"Ipv6Address" }, "NetworkInterfaceId":{ @@ -23732,7 +25825,7 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

One or more filters. The possible values are:

  • transit-gateway-route-destination-cidr-block - The CIDR range.

  • transit-gateway-route-state - The state of the route (active | blackhole).

  • transit-gateway-route-transit-gateway-attachment-id - The ID of the attachment.

  • transit-gateway-route-type - The route type (static | propagated).

  • transit-gateway-route-vpn-connection-id - The ID of the VPN connection.

", + "documentation":"

One or more filters. The possible values are:

  • attachment.transit-gateway-attachment-id- The id of the transit gateway attachment.

  • attachment.resource-id - The resource id of the transit gateway attachment.

  • attachment.resource-type - The attachment resource type (vpc | vpn).

  • route-search.exact-match - The exact match of the specified filter.

  • route-search.longest-prefix-match - The longest prefix that matches the route.

  • route-search.subnet-of-match - The routes with a subnet that match the specified CIDR filter.

  • 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.

  • state - The state of the route (active | blackhole).

  • type - The type of roue (propagated | static).

", "locationName":"Filter" }, "MaxResults":{ @@ -23775,7 +25868,7 @@ }, "IpPermissions":{ "shape":"IpPermissionList", - "documentation":"

One or more inbound rules associated with the security group.

", + "documentation":"

The inbound rules associated with the security group.

", "locationName":"ipPermissions" }, "OwnerId":{ @@ -23790,7 +25883,7 @@ }, "IpPermissionsEgress":{ "shape":"IpPermissionList", - "documentation":"

[EC2-VPC] One or more outbound rules associated with the security group.

", + "documentation":"

[VPC only] The outbound rules associated with the security group.

", "locationName":"ipPermissionsEgress" }, "Tags":{ @@ -23800,7 +25893,7 @@ }, "VpcId":{ "shape":"String", - "documentation":"

[EC2-VPC] The ID of the VPC for the security group.

", + "documentation":"

[VPC only] The ID of the VPC for the security group.

", "locationName":"vpcId" } }, @@ -23904,6 +25997,11 @@ "documentation":"

Indicates whether requests from other AWS accounts to create an endpoint to the service must first be accepted.

", "locationName":"acceptanceRequired" }, + "ManagesVpcEndpoints":{ + "shape":"Boolean", + "documentation":"

Indicates whether the service manages it's VPC endpoints. Management of the service VPC endpoints using the VPC endpoint API is restricted.

", + "locationName":"managesVpcEndpoints" + }, "NetworkLoadBalancerArns":{ "shape":"ValueStringList", "documentation":"

The Amazon Resource Names (ARNs) of the Network Load Balancers for the service.

", @@ -23918,6 +26016,11 @@ "shape":"String", "documentation":"

The private DNS name for the service.

", "locationName":"privateDnsName" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the service.

", + "locationName":"tagSet" } }, "documentation":"

Describes a service configuration for a VPC endpoint service.

" @@ -23937,6 +26040,11 @@ "documentation":"

The Amazon Resource Name (ARN) of the service.

", "locationName":"serviceName" }, + "ServiceId":{ + "shape":"String", + "documentation":"

The ID of the endpoint service.

", + "locationName":"serviceId" + }, "ServiceType":{ "shape":"ServiceTypeDetailSet", "documentation":"

The type of service.

", @@ -23971,6 +26079,16 @@ "shape":"Boolean", "documentation":"

Indicates whether VPC endpoint connection requests to the service must be accepted by the service owner.

", "locationName":"acceptanceRequired" + }, + "ManagesVpcEndpoints":{ + "shape":"Boolean", + "documentation":"

Indicates whether the service manages it's VPC endpoints. Management of the service VPC endpoints using the VPC endpoint API is restricted.

", + "locationName":"managesVpcEndpoints" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the service.

", + "locationName":"tagSet" } }, "documentation":"

Describes a VPC endpoint service.

" @@ -24061,7 +26179,7 @@ "members":{ "DataEncryptionKeyId":{ "shape":"String", - "documentation":"

The data encryption key identifier for the snapshot. This value is a unique identifier that corresponds to the data encryption key that was used to encrypt the original volume or snapshot copy. Because data encryption keys are inherited by volumes created from snapshots, and vice versa, if snapshots share the same data encryption key identifier, then they belong to the same volume/snapshot lineage. This parameter is only returned by the DescribeSnapshots API operation.

", + "documentation":"

The data encryption key identifier for the snapshot. This value is a unique identifier that corresponds to the data encryption key that was used to encrypt the original volume or snapshot copy. Because data encryption keys are inherited by volumes created from snapshots, and vice versa, if snapshots share the same data encryption key identifier, then they belong to the same volume/snapshot lineage. This parameter is only returned by DescribeSnapshots.

", "locationName":"dataEncryptionKeyId" }, "Description":{ @@ -24076,7 +26194,7 @@ }, "KmsKeyId":{ "shape":"String", - "documentation":"

The full ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the volume encryption key for the parent volume.

", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the volume encryption key for the parent volume.

", "locationName":"kmsKeyId" }, "OwnerId":{ @@ -24106,7 +26224,7 @@ }, "StateMessage":{ "shape":"String", - "documentation":"

Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy operation fails (for example, if the proper AWS Key Management Service (AWS KMS) permissions are not obtained) this field displays error state details to help you diagnose why the error occurred. This parameter is only returned by the DescribeSnapshots API operation.

", + "documentation":"

Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy operation fails (for example, if the proper AWS Key Management Service (AWS KMS) permissions are not obtained) this field displays error state details to help you diagnose why the error occurred. This parameter is only returned by DescribeSnapshots.

", "locationName":"statusMessage" }, "VolumeId":{ @@ -24121,7 +26239,7 @@ }, "OwnerAlias":{ "shape":"String", - "documentation":"

Value from an Amazon-maintained list (amazon | aws-marketplace | microsoft) of snapshot owners. Not to be confused with the user-configured AWS account alias, which is set from the IAM console.

", + "documentation":"

Value from an Amazon-maintained list (amazon | self | all | aws-marketplace | microsoft) of snapshot owners. Not to be confused with the user-configured AWS account alias, which is set from the IAM console.

", "locationName":"ownerAlias" }, "Tags":{ @@ -24211,7 +26329,7 @@ }, "Format":{ "shape":"String", - "documentation":"

The format of the disk image being imported.

Valid values: VHD | VMDK | OVA

" + "documentation":"

The format of the disk image being imported.

Valid values: VHD | VMDK

" }, "Url":{ "shape":"String", @@ -24231,6 +26349,62 @@ "locationName":"SnapshotId" } }, + "SnapshotInfo":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"String", + "documentation":"

Description specified by the CreateSnapshotRequest that has been applied to all snapshots.

", + "locationName":"description" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Tags associated with this snapshot.

", + "locationName":"tagSet" + }, + "Encrypted":{ + "shape":"Boolean", + "documentation":"

Indicates whether the snapshot is encrypted.

", + "locationName":"encrypted" + }, + "VolumeId":{ + "shape":"String", + "documentation":"

Source volume from which this snapshot was created.

", + "locationName":"volumeId" + }, + "State":{ + "shape":"SnapshotState", + "documentation":"

Current state of the snapshot.

", + "locationName":"state" + }, + "VolumeSize":{ + "shape":"Integer", + "documentation":"

Size of the volume from which this snapshot was created.

", + "locationName":"volumeSize" + }, + "StartTime":{ + "shape":"MillisecondDateTime", + "documentation":"

Time this snapshot was started. This is the same for all snapshots initiated by the same request.

", + "locationName":"startTime" + }, + "Progress":{ + "shape":"String", + "documentation":"

Progress this snapshot has made towards completing.

", + "locationName":"progress" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

Account id used when creating this snapshot.

", + "locationName":"ownerId" + }, + "SnapshotId":{ + "shape":"String", + "documentation":"

Snapshot id that can be used to describe this snapshot.

", + "locationName":"snapshotId" + } + }, + "documentation":"

Information about a snapshot.

" + }, "SnapshotList":{ "type":"list", "member":{ @@ -24238,6 +26412,13 @@ "locationName":"item" } }, + "SnapshotSet":{ + "type":"list", + "member":{ + "shape":"SnapshotInfo", + "locationName":"item" + } + }, "SnapshotState":{ "type":"string", "enum":[ @@ -24360,7 +26541,7 @@ }, "BlockDeviceMappings":{ "shape":"BlockDeviceMappingList", - "documentation":"

One or more block device mapping entries. You can't specify both a snapshot ID and an encryption value. This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its encryption status is used for the volume encryption status.

", + "documentation":"

One or more block devices that are mapped to the Spot instances. You can't specify both a snapshot ID and an encryption value. This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its encryption status is used for the volume encryption status.

", "locationName":"blockDeviceMapping" }, "EbsOptimized":{ @@ -24410,7 +26591,7 @@ }, "RamdiskId":{ "shape":"String", - "documentation":"

The ID of the RAM disk.

", + "documentation":"

The ID of the RAM disk. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, refer to the AWS Resource Center and search for the kernel ID.

", "locationName":"ramdiskId" }, "SpotPrice":{ @@ -24425,12 +26606,12 @@ }, "UserData":{ "shape":"String", - "documentation":"

The Base64-encoded user data to make available to the instances.

", + "documentation":"

The Base64-encoded user data that instances use when starting up.

", "locationName":"userData" }, "WeightedCapacity":{ "shape":"Double", - "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 (instances or a performance characteristic such as vCPUs, memory, or I/O).

If the target capacity divided by this value is not a whole number, we round the number of instances to the next whole number. If this value is not specified, the default is 1.

", + "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.

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.

", "locationName":"weightedCapacity" }, "TagSpecifications":{ @@ -24439,7 +26620,7 @@ "locationName":"tagSpecificationSet" } }, - "documentation":"

Describes the launch specification for one or more Spot Instances.

" + "documentation":"

Describes the launch specification for one or more Spot Instances. If you include On-Demand capacity in your fleet request, you can't use SpotFleetLaunchSpecification; you must use LaunchTemplateConfig.

" }, "SpotFleetMonitoring":{ "type":"structure", @@ -24454,12 +26635,6 @@ }, "SpotFleetRequestConfig":{ "type":"structure", - "required":[ - "CreateTime", - "SpotFleetRequestConfig", - "SpotFleetRequestId", - "SpotFleetRequestState" - ], "members":{ "ActivityStatus":{ "shape":"ActivityStatus", @@ -24508,12 +26683,12 @@ }, "ClientToken":{ "shape":"String", - "documentation":"

A unique, case-sensitive identifier that you provide to ensure the idempotency of your listings. This helps to avoid duplicate listings. For more information, see Ensuring Idempotency.

", + "documentation":"

A unique, case-sensitive identifier that you provide to ensure the idempotency of your listings. This helps to avoid duplicate listings. For more information, see Ensuring Idempotency.

", "locationName":"clientToken" }, "ExcessCapacityTerminationPolicy":{ "shape":"ExcessCapacityTerminationPolicy", - "documentation":"

Indicates whether running Spot Instances should be terminated if the target capacity of the Spot Fleet request is decreased below the current size of the Spot Fleet.

", + "documentation":"

Indicates whether running Spot Instances should be terminated if you decrease the target capacity of the Spot Fleet request below the current size of the Spot Fleet.

", "locationName":"excessCapacityTerminationPolicy" }, "FulfilledCapacity":{ @@ -24528,17 +26703,17 @@ }, "IamFleetRole":{ "shape":"String", - "documentation":"

Grants the Spot Fleet permission to terminate Spot Instances on your behalf when you cancel its Spot Fleet request using CancelSpotFleetRequests or when the Spot Fleet request expires, if you set terminateInstancesWithExpiration.

", + "documentation":"

The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that grants the Spot Fleet the permission to request, launch, terminate, and tag instances on your behalf. For more information, see Spot Fleet Prerequisites in the Amazon EC2 User Guide for Linux Instances. Spot Fleet can terminate Spot Instances on your behalf when you cancel its Spot Fleet request using CancelSpotFleetRequests or when the Spot Fleet request expires, if you set TerminateInstancesWithExpiration.

", "locationName":"iamFleetRole" }, "LaunchSpecifications":{ "shape":"LaunchSpecsList", - "documentation":"

The launch specifications for the Spot Fleet request.

", + "documentation":"

The launch specifications for the Spot Fleet request. If you specify LaunchSpecifications, you can't specify LaunchTemplateConfigs. If you include On-Demand capacity in your request, you must use LaunchTemplateConfigs.

", "locationName":"launchSpecifications" }, "LaunchTemplateConfigs":{ "shape":"LaunchTemplateConfigList", - "documentation":"

The launch template and overrides.

", + "documentation":"

The launch template and overrides. If you specify LaunchTemplateConfigs, you can't specify LaunchSpecifications. If you include On-Demand capacity in your request, you must use LaunchTemplateConfigs.

", "locationName":"launchTemplateConfigs" }, "SpotPrice":{ @@ -24548,7 +26723,7 @@ }, "TargetCapacity":{ "shape":"Integer", - "documentation":"

The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.

", + "documentation":"

The number of units to request for the Spot Fleet. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.

", "locationName":"targetCapacity" }, "OnDemandTargetCapacity":{ @@ -24558,22 +26733,22 @@ }, "TerminateInstancesWithExpiration":{ "shape":"Boolean", - "documentation":"

Indicates whether running Spot Instances should be terminated when the Spot Fleet request expires.

", + "documentation":"

Indicates whether running Spot Instances are terminated when the Spot Fleet request expires.

", "locationName":"terminateInstancesWithExpiration" }, "Type":{ "shape":"FleetType", - "documentation":"

The type of request. Indicates whether the Spot Fleet only requests the target capacity or also attempts to maintain it. When this value is request, the Spot Fleet only places the required requests. It does not attempt to replenish Spot Instances if capacity is diminished, nor does it submit requests in alternative Spot pools if capacity is not available. To maintain a certain target capacity, the Spot Fleet places the required requests to meet capacity and automatically replenishes any interrupted instances. Default: maintain.

", + "documentation":"

The type of request. Indicates whether the Spot Fleet only requests the target capacity or also attempts to maintain it. When this value is request, the Spot Fleet only places the required requests. It does not attempt to replenish Spot Instances if capacity is diminished, nor does it submit requests in alternative Spot pools if capacity is not available. When this value is maintain, the Spot Fleet maintains the target capacity. The Spot Fleet places the required requests to meet capacity and automatically replenishes any interrupted instances. Default: maintain. instant is listed but is not used by Spot Fleet.

", "locationName":"type" }, "ValidFrom":{ "shape":"DateTime", - "documentation":"

The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.

", + "documentation":"

The start date and time of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ). By default, Amazon EC2 starts fulfilling the request immediately.

", "locationName":"validFrom" }, "ValidUntil":{ "shape":"DateTime", - "documentation":"

The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot Instance requests are placed or able to fulfill the request. The default end date is 7 days from the current date.

", + "documentation":"

The end date and time of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ). After the end date and time, no new Spot Instance requests are placed or able to fulfill the request. If no value is specified, the Spot Fleet request remains until you cancel it.

", "locationName":"validUntil" }, "ReplaceUnhealthyInstances":{ @@ -24702,7 +26877,7 @@ }, "State":{ "shape":"SpotInstanceState", - "documentation":"

The state of the Spot Instance request. Spot status information helps track your Spot Instance requests. For more information, see Spot Status in the Amazon EC2 User Guide for Linux Instances.

", + "documentation":"

The state of the Spot Instance request. Spot status information helps track your Spot Instance requests. For more information, see Spot Status in the Amazon EC2 User Guide for Linux Instances.

", "locationName":"state" }, "Status":{ @@ -24783,7 +26958,7 @@ "members":{ "Code":{ "shape":"String", - "documentation":"

The status code. For a list of status codes, see Spot Status Codes in the Amazon EC2 User Guide for Linux Instances.

", + "documentation":"

The status code. For a list of status codes, see Spot Status Codes in the Amazon EC2 User Guide for Linux Instances.

", "locationName":"code" }, "Message":{ @@ -24855,6 +27030,11 @@ "documentation":"

Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet.

", "locationName":"singleInstanceType" }, + "SingleAvailabilityZone":{ + "shape":"Boolean", + "documentation":"

Indicates that the fleet launches all Spot Instances into a single Availability Zone.

", + "locationName":"singleAvailabilityZone" + }, "MinTargetCapacity":{ "shape":"Integer", "documentation":"

The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances.

", @@ -24882,6 +27062,10 @@ "shape":"Boolean", "documentation":"

Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet.

" }, + "SingleAvailabilityZone":{ + "shape":"Boolean", + "documentation":"

Indicates that the fleet launches all Spot Instances into a single Availability Zone.

" + }, "MinTargetCapacity":{ "shape":"Integer", "documentation":"

The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances.

" @@ -24963,12 +27147,12 @@ }, "IpRanges":{ "shape":"IpRanges", - "documentation":"

One or more IP ranges. Not applicable for stale security group rules.

", + "documentation":"

The IP ranges. Not applicable for stale security group rules.

", "locationName":"ipRanges" }, "PrefixListIds":{ "shape":"PrefixListIdSet", - "documentation":"

One or more prefix list IDs for an AWS service. Not applicable for stale security group rules.

", + "documentation":"

The prefix list IDs for an AWS service. Not applicable for stale security group rules.

", "locationName":"prefixListIds" }, "ToPort":{ @@ -24978,7 +27162,7 @@ }, "UserIdGroupPairs":{ "shape":"UserIdGroupPairSet", - "documentation":"

One or more security group pairs. Returns the ID of the referenced security group and VPC, and the ID and status of the VPC peering connection.

", + "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.

", "locationName":"groups" } }, @@ -25040,7 +27224,7 @@ "members":{ "InstanceIds":{ "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", + "documentation":"

The IDs of the instances.

", "locationName":"InstanceId" }, "AdditionalInfo":{ @@ -25060,7 +27244,7 @@ "members":{ "StartingInstances":{ "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more started instances.

", + "documentation":"

Information about the started instances.

", "locationName":"instancesSet" } } @@ -25121,12 +27305,12 @@ "members":{ "InstanceIds":{ "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", + "documentation":"

The IDs of the instances.

", "locationName":"InstanceId" }, "Hibernate":{ "shape":"Boolean", - "documentation":"

Hibernates the instance if the instance was enabled for hibernation at launch. If the instance cannot hibernate successfully, a normal shutdown occurs. For more information, see Hibernate Your Instance in the Amazon Elastic Compute Cloud User Guide.

Default: false

" + "documentation":"

Hibernates the instance if the instance was enabled for hibernation at launch. If the instance cannot hibernate successfully, a normal shutdown occurs. For more information, see Hibernate Your Instance in the Amazon Elastic Compute Cloud User Guide.

Default: false

" }, "DryRun":{ "shape":"Boolean", @@ -25145,7 +27329,7 @@ "members":{ "StoppingInstances":{ "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more stopped instances.

", + "documentation":"

Information about the stopped instances.

", "locationName":"instancesSet" } } @@ -25523,7 +27707,6 @@ }, "TargetGroup":{ "type":"structure", - "required":["Arn"], "members":{ "Arn":{ "shape":"String", @@ -25544,7 +27727,6 @@ }, "TargetGroupsConfig":{ "type":"structure", - "required":["TargetGroups"], "members":{ "TargetGroups":{ "shape":"TargetGroups", @@ -25554,6 +27736,49 @@ }, "documentation":"

Describes the target groups to attach to a Spot Fleet. Spot Fleet registers the running Spot Instances with these target groups.

" }, + "TargetNetwork":{ + "type":"structure", + "members":{ + "AssociationId":{ + "shape":"String", + "documentation":"

The ID of the association.

", + "locationName":"associationId" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC in which the target network (subnet) is located.

", + "locationName":"vpcId" + }, + "TargetNetworkId":{ + "shape":"String", + "documentation":"

The ID of the subnet specified as the target network.

", + "locationName":"targetNetworkId" + }, + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint with which the target network is associated.

", + "locationName":"clientVpnEndpointId" + }, + "Status":{ + "shape":"AssociationStatus", + "documentation":"

The current state of the target network association.

", + "locationName":"status" + }, + "SecurityGroups":{ + "shape":"ValueStringList", + "documentation":"

The IDs of the security groups applied to the target network association.

", + "locationName":"securityGroups" + } + }, + "documentation":"

Describes a target network associated with a Client VPN endpoint.

" + }, + "TargetNetworkSet":{ + "type":"list", + "member":{ + "shape":"TargetNetwork", + "locationName":"item" + } + }, "TargetReservationValue":{ "type":"structure", "members":{ @@ -25592,13 +27817,83 @@ "host" ] }, + "TerminateClientVpnConnectionsRequest":{ + "type":"structure", + "required":["ClientVpnEndpointId"], + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint to which the client is connected.

" + }, + "ConnectionId":{ + "shape":"String", + "documentation":"

The ID of the client connection to be terminated.

" + }, + "Username":{ + "shape":"String", + "documentation":"

The name of the user who initiated the connection. Use this option to terminate all active connections for the specified user. This option can only be used if the user has established up to five connections.

" + }, + "DryRun":{ + "shape":"Boolean", + "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.

" + } + } + }, + "TerminateClientVpnConnectionsResult":{ + "type":"structure", + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint.

", + "locationName":"clientVpnEndpointId" + }, + "Username":{ + "shape":"String", + "documentation":"

The user who established the terminated client connections.

", + "locationName":"username" + }, + "ConnectionStatuses":{ + "shape":"TerminateConnectionStatusSet", + "documentation":"

The current state of the client connections.

", + "locationName":"connectionStatuses" + } + } + }, + "TerminateConnectionStatus":{ + "type":"structure", + "members":{ + "ConnectionId":{ + "shape":"String", + "documentation":"

The ID of the client connection.

", + "locationName":"connectionId" + }, + "PreviousStatus":{ + "shape":"ClientVpnConnectionStatus", + "documentation":"

The state of the client connection.

", + "locationName":"previousStatus" + }, + "CurrentStatus":{ + "shape":"ClientVpnConnectionStatus", + "documentation":"

A message about the status of the client connection, if applicable.

", + "locationName":"currentStatus" + } + }, + "documentation":"

Information about a terminated Client VPN endpoint client connection.

" + }, + "TerminateConnectionStatusSet":{ + "type":"list", + "member":{ + "shape":"TerminateConnectionStatus", + "locationName":"item" + } + }, "TerminateInstancesRequest":{ "type":"structure", "required":["InstanceIds"], "members":{ "InstanceIds":{ "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

Constraints: Up to 1000 instance IDs. We recommend breaking up this request into smaller batches.

", + "documentation":"

The IDs of the instances.

Constraints: Up to 1000 instance IDs. We recommend breaking up this request into smaller batches.

", "locationName":"InstanceId" }, "DryRun":{ @@ -25613,7 +27908,7 @@ "members":{ "TerminatingInstances":{ "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more terminated instances.

", + "documentation":"

Information about the terminated instances.

", "locationName":"instancesSet" } } @@ -25822,7 +28117,8 @@ "type":"string", "enum":[ "vpc", - "vpn" + "vpn", + "direct-connect-gateway" ] }, "TransitGatewayAttachmentState":{ @@ -26268,6 +28564,13 @@ }, "documentation":"

Describes the VPC attachment options.

" }, + "TransportProtocol":{ + "type":"string", + "enum":[ + "tcp", + "udp" + ] + }, "TunnelOptionsList":{ "type":"list", "member":{ @@ -26335,7 +28638,7 @@ "members":{ "InstanceIds":{ "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", + "documentation":"

The IDs of the instances.

", "locationName":"InstanceId" }, "DryRun":{ @@ -26405,7 +28708,6 @@ }, "UnsuccessfulItem":{ "type":"structure", - "required":["Error"], "members":{ "Error":{ "shape":"UnsuccessfulItemError", @@ -26422,10 +28724,6 @@ }, "UnsuccessfulItemError":{ "type":"structure", - "required":[ - "Code", - "Message" - ], "members":{ "Code":{ "shape":"String", @@ -26438,7 +28736,7 @@ "locationName":"message" } }, - "documentation":"

Information about the error that occurred. For more information about errors, see Error Codes.

" + "documentation":"

Information about the error that occurred. For more information about errors, see Error Codes.

" }, "UnsuccessfulItemList":{ "type":"list", @@ -26711,12 +29009,12 @@ }, "Encrypted":{ "shape":"Boolean", - "documentation":"

Indicates whether the volume will be encrypted.

", + "documentation":"

Indicates whether the volume is encrypted.

", "locationName":"encrypted" }, "KmsKeyId":{ "shape":"String", - "documentation":"

The full ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the volume encryption key for the volume.

", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the volume encryption key for the volume.

", "locationName":"kmsKeyId" }, "Size":{ @@ -26741,7 +29039,7 @@ }, "Iops":{ "shape":"Integer", - "documentation":"

The number of I/O operations per second (IOPS) that the volume supports. For Provisioned IOPS SSD volumes, this represents the number of IOPS that are provisioned for the volume. For General Purpose SSD volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information about General Purpose SSD baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Constraints: Range is 100-10,000 IOPS for gp2 volumes and 100 to 64,000IOPS for io1 volumes in most regions. Maximum io1IOPS of 64,000 is guaranteed only on Nitro-based instances. Other instance families guarantee performance up to 32,000 IOPS. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create gp2, st1, sc1, or standard volumes.

", + "documentation":"

The number of I/O operations per second (IOPS) that the volume supports. For Provisioned IOPS SSD volumes, this represents the number of IOPS that are provisioned for the volume. For General Purpose SSD volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Constraints: Range is 100-16,000 IOPS for gp2 volumes and 100 to 64,000IOPS for io1 volumes, in most Regions. The maximum IOPS for io1 of 64,000 is guaranteed only on Nitro-based instances. Other instance families guarantee performance up to 32,000 IOPS.

Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create gp2, st1, sc1, or standard volumes.

", "locationName":"iops" }, "Tags":{ @@ -27338,6 +29636,11 @@ "documentation":"

(Interface endpoint) Indicates whether the VPC is associated with a private hosted zone.

", "locationName":"privateDnsEnabled" }, + "RequesterManaged":{ + "shape":"Boolean", + "documentation":"

Indicates whether the VPC endpoint is being managed by its service.

", + "locationName":"requesterManaged" + }, "NetworkInterfaceIds":{ "shape":"ValueStringList", "documentation":"

(Interface endpoint) One or more network interfaces for the endpoint.

", @@ -27349,9 +29652,19 @@ "locationName":"dnsEntrySet" }, "CreationTimestamp":{ - "shape":"DateTime", + "shape":"MillisecondDateTime", "documentation":"

The date and time the VPC endpoint was created.

", "locationName":"creationTimestamp" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the VPC endpoint.

", + "locationName":"tagSet" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The ID of the AWS account that owns the VPC endpoint.

", + "locationName":"ownerId" } }, "documentation":"

Describes a VPC endpoint.

" @@ -27380,9 +29693,19 @@ "locationName":"vpcEndpointState" }, "CreationTimestamp":{ - "shape":"DateTime", + "shape":"MillisecondDateTime", "documentation":"

The date and time the VPC endpoint was created.

", "locationName":"creationTimestamp" + }, + "DnsEntries":{ + "shape":"DnsEntrySet", + "documentation":"

The DNS entries for the VPC endpoint.

", + "locationName":"dnsEntrySet" + }, + "NetworkLoadBalancerArns":{ + "shape":"ValueStringList", + "documentation":"

The Amazon Resource Names (ARNs) of the network load balancers for the service.

", + "locationName":"networkLoadBalancerArnSet" } }, "documentation":"

Describes a VPC endpoint connection to a service.

" @@ -27579,7 +29902,7 @@ }, "Region":{ "shape":"String", - "documentation":"

The region in which the VPC is located.

", + "documentation":"

The Region in which the VPC is located.

", "locationName":"region" } }, @@ -27611,7 +29934,7 @@ }, "Category":{ "shape":"String", - "documentation":"

The category of the VPN connection. A value of VPN indicates an AWS VPN connection. A value of VPN-Classic indicates an AWS Classic VPN connection. For more information, see AWS Managed VPN Categories in the Amazon Virtual Private Cloud User Guide.

", + "documentation":"

The category of the VPN connection. A value of VPN indicates an AWS VPN connection. A value of VPN-Classic indicates an AWS Classic VPN connection.

", "locationName":"category" }, "State":{ @@ -27764,6 +30087,10 @@ "locationName":"item" } }, + "VpnProtocol":{ + "type":"string", + "enum":["openvpn"] + }, "VpnState":{ "type":"string", "enum":[ diff --git a/bin/botocore/data/ecr/2015-09-21/service-2.json b/bin/botocore/data/ecr/2015-09-21/service-2.json index 333936b2..419c1801 100644 --- a/bin/botocore/data/ecr/2015-09-21/service-2.json +++ b/bin/botocore/data/ecr/2015-09-21/service-2.json @@ -2,13 +2,14 @@ "version":"2.0", "metadata":{ "apiVersion":"2015-09-21", - "endpointPrefix":"ecr", + "endpointPrefix":"api.ecr", "jsonVersion":"1.1", "protocol":"json", "serviceAbbreviation":"Amazon ECR", "serviceFullName":"Amazon EC2 Container Registry", "serviceId":"ECR", "signatureVersion":"v4", + "signingName":"ecr", "targetPrefix":"AmazonEC2ContainerRegistry_V20150921", "uid":"ecr-2015-09-21" }, @@ -89,6 +90,8 @@ "errors":[ {"shape":"ServerException"}, {"shape":"InvalidParameterException"}, + {"shape":"InvalidTagParameterException"}, + {"shape":"TooManyTagsException"}, {"shape":"RepositoryAlreadyExistsException"}, {"shape":"LimitExceededException"} ], @@ -282,6 +285,21 @@ ], "documentation":"

Lists all the image IDs for a given repository.

You can filter images based on whether or not they are tagged by setting the tagStatus parameter to TAGGED or UNTAGGED. For example, you can filter your results to return only UNTAGGED images and then pipe that result to a BatchDeleteImage operation to delete them. Or, you can filter your results to return only TAGGED images to list all of the tags in your repository.

" }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"RepositoryNotFoundException"}, + {"shape":"ServerException"} + ], + "documentation":"

List the tags for an Amazon ECR resource.

" + }, "PutImage":{ "name":"PutImage", "http":{ @@ -347,6 +365,40 @@ ], "documentation":"

Starts a preview of the specified lifecycle policy. This allows you to see the results before creating the lifecycle policy.

" }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidTagParameterException"}, + {"shape":"TooManyTagsException"}, + {"shape":"RepositoryNotFoundException"}, + {"shape":"ServerException"} + ], + "documentation":"

Adds specified tags to a resource with the specified ARN. Existing tags on a resource are not changed if they are not specified in the request parameters.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidTagParameterException"}, + {"shape":"TooManyTagsException"}, + {"shape":"RepositoryNotFoundException"}, + {"shape":"ServerException"} + ], + "documentation":"

Deletes specified tags from a resource.

" + }, "UploadLayerPart":{ "name":"UploadLayerPart", "http":{ @@ -566,6 +618,10 @@ "repositoryName":{ "shape":"RepositoryName", "documentation":"

The name to use for the repository. The repository name may be specified on its own (such as nginx-web-app) or it can be prepended with a namespace to group the repository into a category (such as project-a/nginx-web-app).

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

" } } }, @@ -692,7 +748,7 @@ }, "repositoryName":{ "shape":"RepositoryName", - "documentation":"

A list of repositories to describe. If this parameter is omitted, then all repositories in a registry are described.

" + "documentation":"

A list of repositories to describe.

" }, "imageIds":{ "shape":"ImageIdentifierList", @@ -704,7 +760,7 @@ }, "maxResults":{ "shape":"MaxResults", - "documentation":"

The maximum number of repository results returned by DescribeImages in paginated output. When this parameter is used, DescribeImages only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeImages request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then DescribeImages returns up to 100 results and a nextToken value, if applicable. This option cannot be used when you specify images with imageIds.

" + "documentation":"

The maximum number of repository results returned by DescribeImages in paginated output. When this parameter is used, DescribeImages only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeImages request with the returned nextToken value. This value can be between 1 and 1000. If this parameter is not used, then DescribeImages returns up to 100 results and a nextToken value, if applicable. This option cannot be used when you specify images with imageIds.

" }, "filter":{ "shape":"DescribeImagesFilter", @@ -742,7 +798,7 @@ }, "maxResults":{ "shape":"MaxResults", - "documentation":"

The maximum number of repository results returned by DescribeRepositories in paginated output. When this parameter is used, DescribeRepositories only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeRepositories request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then DescribeRepositories returns up to 100 results and a nextToken value, if applicable. This option cannot be used when you specify repositories with repositoryNames.

" + "documentation":"

The maximum number of repository results returned by DescribeRepositories in paginated output. When this parameter is used, DescribeRepositories only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeRepositories request with the returned nextToken value. This value can be between 1 and 1000. If this parameter is not used, then DescribeRepositories returns up to 100 results and a nextToken value, if applicable. This option cannot be used when you specify repositories with repositoryNames.

" } } }, @@ -853,8 +909,8 @@ "documentation":"

The nextToken value returned from a previous paginated
 GetLifecyclePolicyPreviewRequest request where maxResults was used and the
 results exceeded the value of that parameter. Pagination continues from the end of the
 previous results that returned the nextToken value. This value is
 null when there are no more results to return. This option cannot be used when you specify images with imageIds.

" }, "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of repository results returned by GetLifecyclePolicyPreviewRequest in
 paginated output. When this parameter is used, GetLifecyclePolicyPreviewRequest only returns
 maxResults results in a single page along with a nextToken
 response element. The remaining results of the initial request can be seen by sending
 another GetLifecyclePolicyPreviewRequest request with the returned nextToken
 value. This value can be between 1 and 100. If this
 parameter is not used, then GetLifecyclePolicyPreviewRequest returns up to
 100 results and a nextToken value, if
 applicable. This option cannot be used when you specify images with imageIds.

" + "shape":"LifecyclePreviewMaxResults", + "documentation":"

The maximum number of repository results returned by GetLifecyclePolicyPreviewRequest in
 paginated output. When this parameter is used, GetLifecyclePolicyPreviewRequest only returns
 maxResults results in a single page along with a nextToken
 response element. The remaining results of the initial request can be seen by sending
 another GetLifecyclePolicyPreviewRequest request with the returned nextToken
 value. This value can be between 1 and 1000. If this
 parameter is not used, then GetLifecyclePolicyPreviewRequest returns up to
 100 results and a nextToken value, if
 applicable. This option cannot be used when you specify images with imageIds.

" }, "filter":{ "shape":"LifecyclePolicyPreviewFilter", @@ -1185,6 +1241,14 @@ "documentation":"

The specified parameter is invalid. Review the available parameters for the API request.

", "exception":true }, + "InvalidTagParameterException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

An invalid parameter has been specified. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

", + "exception":true + }, "Layer":{ "type":"structure", "members":{ @@ -1403,9 +1467,14 @@ }, "LifecyclePolicyText":{ "type":"string", - "max":10240, + "max":30720, "min":100 }, + "LifecyclePreviewMaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, "LimitExceededException":{ "type":"structure", "members":{ @@ -1445,7 +1514,7 @@ }, "maxResults":{ "shape":"MaxResults", - "documentation":"

The maximum number of image results returned by ListImages in paginated output. When this parameter is used, ListImages only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListImages request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListImages returns up to 100 results and a nextToken value, if applicable.

" + "documentation":"

The maximum number of image results returned by ListImages in paginated output. When this parameter is used, ListImages only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListImages request with the returned nextToken value. This value can be between 1 and 1000. If this parameter is not used, then ListImages returns up to 100 results and a nextToken value, if applicable.

" }, "filter":{ "shape":"ListImagesFilter", @@ -1466,9 +1535,28 @@ } } }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the only supported resource is an Amazon ECR repository.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagList", + "documentation":"

The tags for the resource.

" + } + } + }, "MaxResults":{ "type":"integer", - "max":100, + "max":1000, "min":1 }, "MediaType":{"type":"string"}, @@ -1745,13 +1833,90 @@ } } }, + "Tag":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).

" + } + }, + "documentation":"

The metadata that you apply to a resource to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

" + }, + "TagKey":{"type":"string"}, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the the resource to which to add tags. Currently, the only supported resource is an Amazon ECR repository.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tags to add to the resource. A tag is an array of key-value pairs. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, "TagStatus":{ "type":"string", "enum":[ "TAGGED", - "UNTAGGED" + "UNTAGGED", + "ANY" ] }, + "TagValue":{"type":"string"}, + "TooManyTagsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The list of tags on the repository is over the limit. The maximum number of tags that can be applied to a repository is 50.

", + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the resource from which to remove tags. Currently, the only supported resource is an Amazon ECR repository.

" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

The keys of the tags to be removed.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, "UploadId":{ "type":"string", "pattern":"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" diff --git a/bin/botocore/data/ecs/2014-11-13/paginators-1.json b/bin/botocore/data/ecs/2014-11-13/paginators-1.json index 43ae3dec..6aa47513 100644 --- a/bin/botocore/data/ecs/2014-11-13/paginators-1.json +++ b/bin/botocore/data/ecs/2014-11-13/paginators-1.json @@ -35,6 +35,18 @@ "output_token": "nextToken", "limit_key": "maxResults", "result_key": "serviceArns" + }, + "ListAccountSettings": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "settings" + }, + "ListAttributes": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "attributes" } } } diff --git a/bin/botocore/data/ecs/2014-11-13/service-2.json b/bin/botocore/data/ecs/2014-11-13/service-2.json index 50798d2d..a19dd094 100644 --- a/bin/botocore/data/ecs/2014-11-13/service-2.json +++ b/bin/botocore/data/ecs/2014-11-13/service-2.json @@ -26,7 +26,7 @@ {"shape":"ClientException"}, {"shape":"InvalidParameterException"} ], - "documentation":"

Creates a new Amazon ECS cluster. By default, your account receives a default cluster when you launch your first container instance. However, you can create your own cluster with a unique name with the CreateCluster action.

When you call the CreateCluster API operation, Amazon ECS attempts to create the service-linked role for your account so that required resources in other AWS services can be managed on your behalf. However, if the IAM user that makes the call does not have permissions to create the service-linked role, it is not created. For more information, see Using Service-Linked Roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

Creates a new Amazon ECS cluster. By default, your account receives a default cluster when you launch your first container instance. However, you can create your own cluster with a unique name with the CreateCluster action.

When you call the CreateCluster API operation, Amazon ECS attempts to create the service-linked role for your account so that required resources in other AWS services can be managed on your behalf. However, if the IAM user that makes the call does not have permissions to create the service-linked role, it is not created. For more information, see Using Service-Linked Roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.

" }, "CreateService":{ "name":"CreateService", @@ -46,7 +46,29 @@ {"shape":"PlatformTaskDefinitionIncompatibilityException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

Runs and maintains a desired number of tasks from a specified task definition. If the number of tasks running in a service drops below desiredCount, Amazon ECS spawns another copy of the task in the specified cluster. To update an existing service, see UpdateService.

In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind a load balancer. The load balancer distributes traffic across the tasks that are associated with the service. For more information, see Service Load Balancing in the Amazon Elastic Container Service Developer Guide.

You can optionally specify a deployment configuration for your service. The deployment is triggered by changing properties, such as the task definition or the desired count of a service, with an UpdateService operation.

If a service is using the ECS deployment controller, the minimum healthy percent represents a lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment, as a percentage of the desired number of tasks (rounded up to the nearest integer), and while any container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a desired number of four tasks and a minimum healthy percent of 50%, the scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. Tasks for services that do not use a load balancer are considered healthy if they are in the RUNNING state; tasks for services that do use a load balancer are considered healthy if they are in the RUNNING state and they are reported as healthy by the load balancer. The default value for minimum healthy percent is 100%.

If a service is using the ECS deployment controller, the maximum percent parameter represents an upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment, as a percentage of the desired number of tasks (rounded down to the nearest integer), and while any container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. This parameter enables you to define the deployment batch size. For example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximum percent is 200%.

If a service is using the CODE_DEPLOY deployment controller and tasks that use the EC2 launch type, the minimum healthy percent and maximum percent values are only used to define the lower and upper limit on the number of the tasks in the service that remain in the RUNNING state while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the minimum healthy percent and maximum percent values are not used, although they are currently visible when describing your service.

Tasks for services that do not use a load balancer are considered healthy if they are in the RUNNING state. Tasks for services that do use a load balancer are considered healthy if they are in the RUNNING state and the container instance they are hosted on is reported as healthy by the load balancer. The default value for a replica service for minimumHealthyPercent is 100%. The default value for a daemon service for minimumHealthyPercent is 0%.

When the service scheduler launches new tasks, it determines task placement in your cluster using the following logic:

  • Determine which of the container instances in your cluster can support your service's task definition (for example, they have the required CPU, memory, ports, and container instance attributes).

  • By default, the service scheduler attempts to balance tasks across Availability Zones in this manner (although you can choose a different placement strategy) with the placementStrategy parameter):

    • Sort the valid container instances, giving priority to instances that have the fewest number of running tasks for this service in their respective Availability Zone. For example, if zone A has one running service task and zones B and C each have zero, valid container instances in either zone B or C are considered optimal for placement.

    • Place the new service task on a valid container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the fewest number of running tasks for this service.

" + "documentation":"

Runs and maintains a desired number of tasks from a specified task definition. If the number of tasks running in a service drops below the desiredCount, Amazon ECS spawns another copy of the task in the specified cluster. To update an existing service, see UpdateService.

In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind a load balancer. The load balancer distributes traffic across the tasks that are associated with the service. For more information, see Service Load Balancing in the Amazon Elastic Container Service Developer Guide.

Tasks for services that do not use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that do use a load balancer are considered healthy if they're in the RUNNING state and the container instance that they're hosted on is reported as healthy by the load balancer.

There are two service scheduler strategies available:

  • REPLICA - The replica scheduling strategy places and maintains the desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. For more information, see Service Scheduler Concepts in the Amazon Elastic Container Service Developer Guide.

  • DAEMON - The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. When using this strategy, you don't need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies. For more information, see Service Scheduler Concepts in the Amazon Elastic Container Service Developer Guide.

You can optionally specify a deployment configuration for your service. The deployment is triggered by changing properties, such as the task definition or the desired count of a service, with an UpdateService operation. The default value for a replica service for minimumHealthyPercent is 100%. The default value for a daemon service for minimumHealthyPercent is 0%.

If a service is using the ECS deployment controller, the minimum healthy percent represents a lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment, as a percentage of the desired number of tasks (rounded up to the nearest integer), and while any container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a desired number of four tasks and a minimum healthy percent of 50%, the scheduler might stop two existing tasks to free up cluster capacity before starting two new tasks. Tasks for services that do not use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that do use a load balancer are considered healthy if they're in the RUNNING state and they're reported as healthy by the load balancer. The default value for minimum healthy percent is 100%.

If a service is using the ECS deployment controller, the maximum percent parameter represents an upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment, as a percentage of the desired number of tasks (rounded down to the nearest integer), and while any container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. This parameter enables you to define the deployment batch size. For example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximum percent is 200%.

If a service is using either the CODE_DEPLOY or EXTERNAL deployment controller types and tasks that use the EC2 launch type, the minimum healthy percent and maximum percent values are used only to define the lower and upper limit on the number of the tasks in the service that remain in the RUNNING state while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the minimum healthy percent and maximum percent values aren't used, although they're currently visible when describing your service.

When creating a service that uses the EXTERNAL deployment controller, you can specify only parameters that aren't controlled at the task set level. The only required parameter is the service name. You control your services using the CreateTaskSet operation. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

When the service scheduler launches new tasks, it determines task placement in your cluster using the following logic:

  • Determine which of the container instances in your cluster can support your service's task definition (for example, they have the required CPU, memory, ports, and container instance attributes).

  • By default, the service scheduler attempts to balance tasks across Availability Zones in this manner (although you can choose a different placement strategy) with the placementStrategy parameter):

    • Sort the valid container instances, giving priority to instances that have the fewest number of running tasks for this service in their respective Availability Zone. For example, if zone A has one running service task and zones B and C each have zero, valid container instances in either zone B or C are considered optimal for placement.

    • Place the new service task on a valid container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the fewest number of running tasks for this service.

" + }, + "CreateTaskSet":{ + "name":"CreateTaskSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTaskSetRequest"}, + "output":{"shape":"CreateTaskSetResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ClusterNotFoundException"}, + {"shape":"UnsupportedFeatureException"}, + {"shape":"PlatformUnknownException"}, + {"shape":"PlatformTaskDefinitionIncompatibilityException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceNotFoundException"}, + {"shape":"ServiceNotActiveException"} + ], + "documentation":"

Create a task set in the specified cluster and service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

" }, "DeleteAccountSetting":{ "name":"DeleteAccountSetting", @@ -61,7 +83,7 @@ {"shape":"ClientException"}, {"shape":"InvalidParameterException"} ], - "documentation":"

Modifies the ARN and resource ID format of a resource for a specified IAM user, IAM role, or the root user for an account. You can specify whether the new ARN and resource ID format are disabled for new resources that are created.

" + "documentation":"

Disables an account setting for a specified IAM user, IAM role, or the root user for an account.

" }, "DeleteAttributes":{ "name":"DeleteAttributes", @@ -114,6 +136,27 @@ ], "documentation":"

Deletes a specified service within a cluster. You can delete a service if you have no running tasks in it and the desired task count is zero. If the service is actively maintaining tasks, you cannot delete it, and you must update the service to a desired task count of zero. For more information, see UpdateService.

When you delete a service, if there are still running tasks that require cleanup, the service status moves from ACTIVE to DRAINING, and the service is no longer visible in the console or in the ListServices API operation. After the tasks have stopped, then the service status moves from DRAINING to INACTIVE. Services in the DRAINING or INACTIVE status can still be viewed with the DescribeServices API operation. However, in the future, INACTIVE services may be cleaned up and purged from Amazon ECS record keeping, and DescribeServices calls on those services return a ServiceNotFoundException error.

If you attempt to create a new service with the same name as an existing service in either ACTIVE or DRAINING status, you receive an error.

" }, + "DeleteTaskSet":{ + "name":"DeleteTaskSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTaskSetRequest"}, + "output":{"shape":"DeleteTaskSetResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ClusterNotFoundException"}, + {"shape":"UnsupportedFeatureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceNotFoundException"}, + {"shape":"ServiceNotActiveException"}, + {"shape":"TaskSetNotFoundException"} + ], + "documentation":"

Deletes a specified task set within a service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

" + }, "DeregisterContainerInstance":{ "name":"DeregisterContainerInstance", "http":{ @@ -207,6 +250,26 @@ ], "documentation":"

Describes a task definition. You can specify a family and revision to find information about a specific task definition, or you can simply specify the family to find the latest ACTIVE revision in that family.

You can only describe INACTIVE task definitions while an active task or service references them.

" }, + "DescribeTaskSets":{ + "name":"DescribeTaskSets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTaskSetsRequest"}, + "output":{"shape":"DescribeTaskSetsResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ClusterNotFoundException"}, + {"shape":"UnsupportedFeatureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceNotFoundException"}, + {"shape":"ServiceNotActiveException"} + ], + "documentation":"

Describes the task sets in the specified cluster and service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

" + }, "DescribeTasks":{ "name":"DescribeTasks", "http":{ @@ -250,7 +313,7 @@ {"shape":"ClientException"}, {"shape":"InvalidParameterException"} ], - "documentation":"

Lists the account settings for an Amazon ECS resource for a specified principal.

" + "documentation":"

Lists the account settings for a specified principal.

" }, "ListAttributes":{ "name":"ListAttributes", @@ -295,7 +358,7 @@ {"shape":"InvalidParameterException"}, {"shape":"ClusterNotFoundException"} ], - "documentation":"

Returns a list of container instances in a specified cluster. You can filter the results of a ListContainerInstances operation with cluster query language statements inside the filter parameter. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

Returns a list of container instances in a specified cluster. You can filter the results of a ListContainerInstances operation with cluster query language statements inside the filter parameter. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.

" }, "ListServices":{ "name":"ListServices", @@ -389,7 +452,22 @@ {"shape":"ClientException"}, {"shape":"InvalidParameterException"} ], - "documentation":"

Modifies the ARN and resource ID format of a resource for a specified IAM user, IAM role, or the root user for an account. You can specify whether the new ARN and resource ID format are enabled for new resources that are created. Enabling this setting is required to use new Amazon ECS features such as resource tagging.

" + "documentation":"

Modifies an account setting. For more information, see Account Settings in the Amazon Elastic Container Service Developer Guide.

When serviceLongArnFormat, taskLongArnFormat, or containerInstanceLongArnFormat are specified, the ARN and resource ID format of the resource type for a specified IAM user, IAM role, or the root user for an account is changed. If you change the account setting for the root user, the default settings for all of the IAM users and roles for which no individual account setting has been specified are reset. The opt-in and opt-out account setting can be specified for each Amazon ECS resource separately. The ARN and resource ID format of a resource will be defined by the opt-in status of the IAM user or role that created the resource. You must enable this setting to use Amazon ECS features such as resource tagging.

When awsvpcTrunking is specified, the elastic network interface (ENI) limit for any new container instances that support the feature is changed. If awsvpcTrunking is enabled, any new container instances that support the feature are launched have the increased ENI limits available to them. For more information, see Elastic Network Interface Trunking in the Amazon Elastic Container Service Developer Guide.

" + }, + "PutAccountSettingDefault":{ + "name":"PutAccountSettingDefault", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutAccountSettingDefaultRequest"}, + "output":{"shape":"PutAccountSettingDefaultResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"InvalidParameterException"} + ], + "documentation":"

Modifies an account setting for all IAM users on an account for whom no individual account setting has been specified.

" }, "PutAttributes":{ "name":"PutAttributes", @@ -405,7 +483,7 @@ {"shape":"AttributeLimitExceededException"}, {"shape":"InvalidParameterException"} ], - "documentation":"

Create or update an attribute on an Amazon ECS resource. If the attribute does not exist, it is created. If the attribute exists, its value is replaced with the specified value. To delete an attribute, use DeleteAttributes. For more information, see Attributes in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

Create or update an attribute on an Amazon ECS resource. If the attribute does not exist, it is created. If the attribute exists, its value is replaced with the specified value. To delete an attribute, use DeleteAttributes. For more information, see Attributes in the Amazon Elastic Container Service Developer Guide.

" }, "RegisterContainerInstance":{ "name":"RegisterContainerInstance", @@ -435,7 +513,7 @@ {"shape":"ClientException"}, {"shape":"InvalidParameterException"} ], - "documentation":"

Registers a new task definition from the supplied family and containerDefinitions. Optionally, you can add data volumes to your containers with the volumes parameter. For more information about task definition parameters and defaults, see Amazon ECS Task Definitions in the Amazon Elastic Container Service Developer Guide.

You can specify an IAM role for your task with the taskRoleArn parameter. When you specify an IAM role for a task, its containers can then use the latest versions of the AWS CLI or SDKs to make API requests to the AWS services that are specified in the IAM policy associated with the role. For more information, see IAM Roles for Tasks in the Amazon Elastic Container Service Developer Guide.

You can specify a Docker networking mode for the containers in your task definition with the networkMode parameter. The available network modes correspond to those described in Network settings in the Docker run reference. If you specify the awsvpc network mode, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration when you create a service or run a task with the task definition. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

Registers a new task definition from the supplied family and containerDefinitions. Optionally, you can add data volumes to your containers with the volumes parameter. For more information about task definition parameters and defaults, see Amazon ECS Task Definitions in the Amazon Elastic Container Service Developer Guide.

You can specify an IAM role for your task with the taskRoleArn parameter. When you specify an IAM role for a task, its containers can then use the latest versions of the AWS CLI or SDKs to make API requests to the AWS services that are specified in the IAM policy associated with the role. For more information, see IAM Roles for Tasks in the Amazon Elastic Container Service Developer Guide.

You can specify a Docker networking mode for the containers in your task definition with the networkMode parameter. The available network modes correspond to those described in Network settings in the Docker run reference. If you specify the awsvpc network mode, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration when you create a service or run a task with the task definition. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

" }, "RunTask":{ "name":"RunTask", @@ -456,7 +534,7 @@ {"shape":"AccessDeniedException"}, {"shape":"BlockedException"} ], - "documentation":"

Starts a new task using the specified task definition.

You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places tasks using placement constraints and placement strategies. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

Alternatively, you can use StartTask to use your own scheduler or place tasks manually on specific container instances.

The Amazon ECS API follows an eventual consistency model, due to the distributed nature of the system supporting the API. This means that the result of an API command you run that affects your Amazon ECS resources might not be immediately visible to all subsequent commands you run. Keep this in mind when you carry out an API command that immediately follows a previous API command.

To manage eventual consistency, you can do the following:

  • Confirm the state of the resource before you run a command to modify it. Run the DescribeTasks command using an exponential backoff algorithm to ensure that you allow enough time for the previous command to propagate through the system. To do this, run the DescribeTasks command repeatedly, starting with a couple of seconds of wait time and increasing gradually up to five minutes of wait time.

  • Add wait time between subsequent commands, even if the DescribeTasks command returns an accurate response. Apply an exponential backoff algorithm starting with a couple of seconds of wait time, and increase gradually up to about five minutes of wait time.

" + "documentation":"

Starts a new task using the specified task definition.

You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places tasks using placement constraints and placement strategies. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

Alternatively, you can use StartTask to use your own scheduler or place tasks manually on specific container instances.

The Amazon ECS API follows an eventual consistency model, due to the distributed nature of the system supporting the API. This means that the result of an API command you run that affects your Amazon ECS resources might not be immediately visible to all subsequent commands you run. Keep this in mind when you carry out an API command that immediately follows a previous API command.

To manage eventual consistency, you can do the following:

  • Confirm the state of the resource before you run a command to modify it. Run the DescribeTasks command using an exponential backoff algorithm to ensure that you allow enough time for the previous command to propagate through the system. To do this, run the DescribeTasks command repeatedly, starting with a couple of seconds of wait time and increasing gradually up to five minutes of wait time.

  • Add wait time between subsequent commands, even if the DescribeTasks command returns an accurate response. Apply an exponential backoff algorithm starting with a couple of seconds of wait time, and increase gradually up to about five minutes of wait time.

" }, "StartTask":{ "name":"StartTask", @@ -472,7 +550,7 @@ {"shape":"InvalidParameterException"}, {"shape":"ClusterNotFoundException"} ], - "documentation":"

Starts a new task from the specified task definition on the specified container instance or instances.

Alternatively, you can use RunTask to place tasks for you. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

Starts a new task from the specified task definition on the specified container instance or instances.

Alternatively, you can use RunTask to place tasks for you. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

" }, "StopTask":{ "name":"StopTask", @@ -488,7 +566,23 @@ {"shape":"InvalidParameterException"}, {"shape":"ClusterNotFoundException"} ], - "documentation":"

Stops a running task. Any tags associated with the task will be deleted.

When StopTask is called on a task, the equivalent of docker stop is issued to the containers running in the task. This results in a SIGTERM value and a default 30-second timeout, after which the SIGKILL value is sent and the containers are forcibly stopped. If the container handles the SIGTERM value gracefully and exits within 30 seconds from receiving it, no SIGKILL value is sent.

The default 30-second timeout can be configured on the Amazon ECS container agent with the ECS_CONTAINER_STOP_TIMEOUT variable. For more information, see Amazon ECS Container Agent Configuration in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

Stops a running task. Any tags associated with the task will be deleted.

When StopTask is called on a task, the equivalent of docker stop is issued to the containers running in the task. This results in a SIGTERM value and a default 30-second timeout, after which the SIGKILL value is sent and the containers are forcibly stopped. If the container handles the SIGTERM value gracefully and exits within 30 seconds from receiving it, no SIGKILL value is sent.

The default 30-second timeout can be configured on the Amazon ECS container agent with the ECS_CONTAINER_STOP_TIMEOUT variable. For more information, see Amazon ECS Container Agent Configuration in the Amazon Elastic Container Service Developer Guide.

" + }, + "SubmitAttachmentStateChanges":{ + "name":"SubmitAttachmentStateChanges", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SubmitAttachmentStateChangesRequest"}, + "output":{"shape":"SubmitAttachmentStateChangesResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterException"} + ], + "documentation":"

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

Sent to acknowledge that an attachment changed states.

" }, "SubmitContainerStateChange":{ "name":"SubmitContainerStateChange", @@ -571,7 +665,7 @@ {"shape":"NoUpdateAvailableException"}, {"shape":"MissingVersionException"} ], - "documentation":"

Updates the Amazon ECS container agent on a specified container instance. Updating the Amazon ECS container agent does not interrupt running tasks or services on the container instance. The process for updating the agent differs depending on whether your container instance was launched with the Amazon ECS-optimized AMI or another operating system.

UpdateContainerAgent requires the Amazon ECS-optimized AMI or Amazon Linux with the ecs-init service installed and running. For help updating the Amazon ECS container agent on other operating systems, see Manually Updating the Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

Updates the Amazon ECS container agent on a specified container instance. Updating the Amazon ECS container agent does not interrupt running tasks or services on the container instance. The process for updating the agent differs depending on whether your container instance was launched with the Amazon ECS-optimized AMI or another operating system.

UpdateContainerAgent requires the Amazon ECS-optimized AMI or Amazon Linux with the ecs-init service installed and running. For help updating the Amazon ECS container agent on other operating systems, see Manually Updating the Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide.

" }, "UpdateContainerInstancesState":{ "name":"UpdateContainerInstancesState", @@ -587,7 +681,7 @@ {"shape":"InvalidParameterException"}, {"shape":"ClusterNotFoundException"} ], - "documentation":"

Modifies the status of an Amazon ECS container instance.

You can change the status of a container instance to DRAINING to manually remove an instance from a cluster, for example to perform system updates, update the Docker daemon, or scale down the cluster size.

When you set a container instance to DRAINING, Amazon ECS prevents new tasks from being scheduled for placement on the container instance and replacement service tasks are started on other container instances in the cluster if the resources are available. Service tasks on the container instance that are in the PENDING state are stopped immediately.

Service tasks on the container instance that are in the RUNNING state are stopped and replaced according to the service's deployment configuration parameters, minimumHealthyPercent and maximumPercent. You can change the deployment configuration of your service using UpdateService.

  • If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount temporarily during task replacement. For example, desiredCount is four tasks, a minimum of 50% allows the scheduler to stop two existing tasks before starting two new tasks. If the minimum is 100%, the service scheduler can't remove existing tasks until the replacement tasks are considered healthy. Tasks for services that do not use a load balancer are considered healthy if they are in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they are in the RUNNING state and the container instance they are hosted on is reported as healthy by the load balancer.

  • The maximumPercent parameter represents an upper limit on the number of running tasks during task replacement, which enables you to define the replacement batch size. For example, if desiredCount is four tasks, a maximum of 200% starts four new tasks before stopping the four tasks to be drained, provided that the cluster resources required to do this are available. If the maximum is 100%, then replacement tasks can't start until the draining tasks have stopped.

Any PENDING or RUNNING tasks that do not belong to a service are not affected. You must wait for them to finish or stop them manually.

A container instance has completed draining when it has no more RUNNING tasks. You can verify this using ListTasks.

When you set a container instance to ACTIVE, the Amazon ECS scheduler can begin scheduling tasks on the instance again.

" + "documentation":"

Modifies the status of an Amazon ECS container instance.

Once a container instance has reached an ACTIVE state, you can change the status of a container instance to DRAINING to manually remove an instance from a cluster, for example to perform system updates, update the Docker daemon, or scale down the cluster size.

A container instance cannot be changed to DRAINING until it has reached an ACTIVE status. If the instance is in any other status, an error will be received.

When you set a container instance to DRAINING, Amazon ECS prevents new tasks from being scheduled for placement on the container instance and replacement service tasks are started on other container instances in the cluster if the resources are available. Service tasks on the container instance that are in the PENDING state are stopped immediately.

Service tasks on the container instance that are in the RUNNING state are stopped and replaced according to the service's deployment configuration parameters, minimumHealthyPercent and maximumPercent. You can change the deployment configuration of your service using UpdateService.

  • If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount temporarily during task replacement. For example, desiredCount is four tasks, a minimum of 50% allows the scheduler to stop two existing tasks before starting two new tasks. If the minimum is 100%, the service scheduler can't remove existing tasks until the replacement tasks are considered healthy. Tasks for services that do not use a load balancer are considered healthy if they are in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they are in the RUNNING state and the container instance they are hosted on is reported as healthy by the load balancer.

  • The maximumPercent parameter represents an upper limit on the number of running tasks during task replacement, which enables you to define the replacement batch size. For example, if desiredCount is four tasks, a maximum of 200% starts four new tasks before stopping the four tasks to be drained, provided that the cluster resources required to do this are available. If the maximum is 100%, then replacement tasks can't start until the draining tasks have stopped.

Any PENDING or RUNNING tasks that do not belong to a service are not affected. You must wait for them to finish or stop them manually.

A container instance has completed draining when it has no more RUNNING tasks. You can verify this using ListTasks.

When a container instance has been drained, you can set a container instance to ACTIVE status and once it has reached that status the Amazon ECS scheduler can begin scheduling tasks on the instance again.

" }, "UpdateService":{ "name":"UpdateService", @@ -608,7 +702,50 @@ {"shape":"PlatformTaskDefinitionIncompatibilityException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

Modifies the parameters of a service.

For services using the rolling update (ECS) deployment controller, the desired count, deployment configuration, network configuration, or task definition used can be updated.

For services using the blue/green (CODE_DEPLOY) deployment controller, only the desired count, deployment configuration, and health check grace period can be updated using this API. If the network configuration, platform version, or task definition need to be updated, a new AWS CodeDeploy deployment should be created. For more information, see CreateDeployment in the AWS CodeDeploy API Reference.

You can add to or subtract from the number of instantiations of a task definition in a service by specifying the cluster that the service is running in and a new desiredCount parameter.

If you have updated the Docker image of your application, you can create a new task definition with that image and deploy it to your service. The service scheduler uses the minimum healthy percent and maximum percent parameters (in the service's deployment configuration) to determine the deployment strategy.

If your updated Docker image uses the same tag as what is in the existing task definition for your service (for example, my_image:latest), you do not need to create a new revision of your task definition. You can update the service using the forceNewDeployment option. The new tasks launched by the deployment pull the current image/tag combination from your repository when they start.

You can also update the deployment configuration of a service. When a deployment is triggered by updating the task definition of a service, the service scheduler uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent, to determine the deployment strategy.

  • If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount temporarily during a deployment. For example, if desiredCount is four tasks, a minimum of 50% allows the scheduler to stop two existing tasks before starting two new tasks. Tasks for services that do not use a load balancer are considered healthy if they are in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they are in the RUNNING state and the container instance they are hosted on is reported as healthy by the load balancer.

  • The maximumPercent parameter represents an upper limit on the number of running tasks during a deployment, which enables you to define the deployment batch size. For example, if desiredCount is four tasks, a maximum of 200% starts four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available).

When UpdateService stops a task during a deployment, the equivalent of docker stop is issued to the containers running in the task. This results in a SIGTERM and a 30-second timeout, after which SIGKILL is sent and the containers are forcibly stopped. If the container handles the SIGTERM gracefully and exits within 30 seconds from receiving it, no SIGKILL is sent.

When the service scheduler launches new tasks, it determines task placement in your cluster with the following logic:

  • Determine which of the container instances in your cluster can support your service's task definition (for example, they have the required CPU, memory, ports, and container instance attributes).

  • By default, the service scheduler attempts to balance tasks across Availability Zones in this manner (although you can choose a different placement strategy):

    • Sort the valid container instances by the fewest number of running tasks for this service in the same Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each have zero, valid container instances in either zone B or C are considered optimal for placement.

    • Place the new service task on a valid container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the fewest number of running tasks for this service.

When the service scheduler stops running tasks, it attempts to maintain balance across the Availability Zones in your cluster using the following logic:

  • Sort the container instances by the largest number of running tasks for this service in the same Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each have two, container instances in either zone B or C are considered optimal for termination.

  • Stop the task on a container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the largest number of running tasks for this service.

" + "documentation":"

Modifies the parameters of a service.

For services using the rolling update (ECS) deployment controller, the desired count, deployment configuration, network configuration, or task definition used can be updated.

For services using the blue/green (CODE_DEPLOY) deployment controller, only the desired count, deployment configuration, and health check grace period can be updated using this API. If the network configuration, platform version, or task definition need to be updated, a new AWS CodeDeploy deployment should be created. For more information, see CreateDeployment in the AWS CodeDeploy API Reference.

For services using an external deployment controller, you can update only the desired count and health check grace period using this API. If the launch type, load balancer, network configuration, platform version, or task definition need to be updated, you should create a new task set. For more information, see CreateTaskSet.

You can add to or subtract from the number of instantiations of a task definition in a service by specifying the cluster that the service is running in and a new desiredCount parameter.

If you have updated the Docker image of your application, you can create a new task definition with that image and deploy it to your service. The service scheduler uses the minimum healthy percent and maximum percent parameters (in the service's deployment configuration) to determine the deployment strategy.

If your updated Docker image uses the same tag as what is in the existing task definition for your service (for example, my_image:latest), you do not need to create a new revision of your task definition. You can update the service using the forceNewDeployment option. The new tasks launched by the deployment pull the current image/tag combination from your repository when they start.

You can also update the deployment configuration of a service. When a deployment is triggered by updating the task definition of a service, the service scheduler uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent, to determine the deployment strategy.

  • If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount temporarily during a deployment. For example, if desiredCount is four tasks, a minimum of 50% allows the scheduler to stop two existing tasks before starting two new tasks. Tasks for services that do not use a load balancer are considered healthy if they are in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they are in the RUNNING state and the container instance they are hosted on is reported as healthy by the load balancer.

  • The maximumPercent parameter represents an upper limit on the number of running tasks during a deployment, which enables you to define the deployment batch size. For example, if desiredCount is four tasks, a maximum of 200% starts four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available).

When UpdateService stops a task during a deployment, the equivalent of docker stop is issued to the containers running in the task. This results in a SIGTERM and a 30-second timeout, after which SIGKILL is sent and the containers are forcibly stopped. If the container handles the SIGTERM gracefully and exits within 30 seconds from receiving it, no SIGKILL is sent.

When the service scheduler launches new tasks, it determines task placement in your cluster with the following logic:

  • Determine which of the container instances in your cluster can support your service's task definition (for example, they have the required CPU, memory, ports, and container instance attributes).

  • By default, the service scheduler attempts to balance tasks across Availability Zones in this manner (although you can choose a different placement strategy):

    • Sort the valid container instances by the fewest number of running tasks for this service in the same Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each have zero, valid container instances in either zone B or C are considered optimal for placement.

    • Place the new service task on a valid container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the fewest number of running tasks for this service.

When the service scheduler stops running tasks, it attempts to maintain balance across the Availability Zones in your cluster using the following logic:

  • Sort the container instances by the largest number of running tasks for this service in the same Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each have two, container instances in either zone B or C are considered optimal for termination.

  • Stop the task on a container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the largest number of running tasks for this service.

" + }, + "UpdateServicePrimaryTaskSet":{ + "name":"UpdateServicePrimaryTaskSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateServicePrimaryTaskSetRequest"}, + "output":{"shape":"UpdateServicePrimaryTaskSetResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ClusterNotFoundException"}, + {"shape":"UnsupportedFeatureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceNotFoundException"}, + {"shape":"ServiceNotActiveException"}, + {"shape":"TaskSetNotFoundException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Modifies which task set in a service is the primary task set. Any parameters that are updated on the primary task set in a service will transition to the service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

" + }, + "UpdateTaskSet":{ + "name":"UpdateTaskSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateTaskSetRequest"}, + "output":{"shape":"UpdateTaskSetResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ClusterNotFoundException"}, + {"shape":"UnsupportedFeatureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceNotFoundException"}, + {"shape":"ServiceNotActiveException"}, + {"shape":"TaskSetNotFoundException"} + ], + "documentation":"

Modifies a task set. This is used when a service uses the EXTERNAL deployment controller type. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

" } }, "shapes":{ @@ -710,7 +847,7 @@ "documentation":"

The ID of the target. You can specify the short form ID for a resource or the full Amazon Resource Name (ARN).

" } }, - "documentation":"

An attribute is a name-value pair associated with an Amazon ECS object. Attributes enable you to extend the Amazon ECS data model by adding custom metadata to your resources. For more information, see Attributes in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

An attribute is a name-value pair associated with an Amazon ECS object. Attributes enable you to extend the Amazon ECS data model by adding custom metadata to your resources. For more information, see Attributes in the Amazon Elastic Container Service Developer Guide.

" }, "AttributeLimitExceededException":{ "type":"structure", @@ -729,11 +866,11 @@ "members":{ "subnets":{ "shape":"StringList", - "documentation":"

The subnets associated with the task or service. There is a limit of 16 subnets able to be specified per AwsVpcConfiguration.

All specified subnets must be from the same VPC.

" + "documentation":"

The subnets associated with the task or service. There is a limit of 16 subnets that can be specified per AwsVpcConfiguration.

All specified subnets must be from the same VPC.

" }, "securityGroups":{ "shape":"StringList", - "documentation":"

The security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. There is a limit of five security groups able to be specified per AwsVpcConfiguration.

All specified security groups must be from the same VPC.

" + "documentation":"

The security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. There is a limit of 5 security groups that can be specified per AwsVpcConfiguration.

All specified security groups must be from the same VPC.

" }, "assignPublicIp":{ "shape":"AssignPublicIp", @@ -771,7 +908,7 @@ "members":{ "clusterArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains the arn:aws:ecs namespace, followed by the Region of the cluster, the AWS account ID of the cluster owner, the cluster namespace, and then the cluster name. For example, arn:aws:ecs:region:012345678910:cluster/test ..

" + "documentation":"

The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains the arn:aws:ecs namespace, followed by the Region of the cluster, the AWS account ID of the cluster owner, the cluster namespace, and then the cluster name. For example, arn:aws:ecs:region:012345678910:cluster/test.

" }, "clusterName":{ "shape":"String", @@ -907,16 +1044,41 @@ "healthStatus":{ "shape":"HealthStatus", "documentation":"

The health status of the container. If health checks are not configured for this container in its task definition, then it reports the health status as UNKNOWN.

" + }, + "cpu":{ + "shape":"String", + "documentation":"

The number of CPU units set for the container. The value will be 0 if no value was specified in the container definition when the task definition was registered.

" + }, + "memory":{ + "shape":"String", + "documentation":"

The hard limit (in MiB) of memory set for the container.

" + }, + "memoryReservation":{ + "shape":"String", + "documentation":"

The soft limit (in MiB) of memory set for the container.

" + }, + "gpuIds":{ + "shape":"GpuIds", + "documentation":"

The IDs of each GPU assigned to the container.

" } }, "documentation":"

A Docker container that is part of a task.

" }, + "ContainerCondition":{ + "type":"string", + "enum":[ + "START", + "COMPLETE", + "SUCCESS", + "HEALTHY" + ] + }, "ContainerDefinition":{ "type":"structure", "members":{ "name":{ "shape":"String", - "documentation":"

The name of a container. If you are linking multiple containers together in a task definition, the name of one container can be entered in the links of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. This parameter maps to name in the Create a container section of the Docker Remote API and the --name option to docker run.

" + "documentation":"

The name of a container. If you are linking multiple containers together in a task definition, the name of one container can be entered in the links of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. This parameter maps to name in the Create a container section of the Docker Remote API and the --name option to docker run.

" }, "image":{ "shape":"String", @@ -932,7 +1094,7 @@ }, "memory":{ "shape":"BoxedInteger", - "documentation":"

The hard limit (in MiB) of memory to present to the container. If your container attempts to exceed the memory specified here, the container is killed. This parameter maps to Memory in the Create a container section of the Docker Remote API and the --memory option to docker run.

If your containers are part of a task using the Fargate launch type, this field is optional and the only requirement is that the total amount of memory reserved for all containers within a task be lower than the task memory value.

For containers that are part of a task using the EC2 launch type, you must specify a non-zero integer for one or both of memory or memoryReservation in container definitions. If you specify both, memory must be greater than memoryReservation. If you specify memoryReservation, then that value is subtracted from the available memory resources for the container instance on which the container is placed. Otherwise, the value of memory is used.

The Docker daemon reserves a minimum of 4 MiB of memory for a container, so you should not specify fewer than 4 MiB of memory for your containers.

" + "documentation":"

The amount (in MiB) of memory to present to the container. If your container attempts to exceed the memory specified here, the container is killed. The total amount of memory reserved for all containers within a task must be lower than the task memory value, if one is specified. This parameter maps to Memory in the Create a container section of the Docker Remote API and the --memory option to docker run.

If your containers are part of a task using the Fargate launch type, this field is optional.

For containers that are part of a task using the EC2 launch type, you must specify a non-zero integer for one or both of memory or memoryReservation in container definitions. If you specify both, memory must be greater than memoryReservation. If you specify memoryReservation, then that value is subtracted from the available memory resources for the container instance on which the container is placed. Otherwise, the value of memory is used.

The Docker daemon reserves a minimum of 4 MiB of memory for a container, so you should not specify fewer than 4 MiB of memory for your containers.

" }, "memoryReservation":{ "shape":"BoxedInteger", @@ -940,7 +1102,7 @@ }, "links":{ "shape":"StringList", - "documentation":"

The link parameter allows containers to communicate with each other without the need for port mappings. Only supported if the network mode of a task definition is set to bridge. The name:internalName construct is analogous to name:alias in Docker links. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. For more information about linking Docker containers, go to https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/. This parameter maps to Links in the Create a container section of the Docker Remote API and the --link option to docker run .

This parameter is not supported for Windows containers.

Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings.

" + "documentation":"

The links parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is bridge. The name:internalName construct is analogous to name:alias in Docker links. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. For more information about linking Docker containers, go to Legacy container links in the Docker documentation. This parameter maps to Links in the Create a container section of the Docker Remote API and the --link option to docker run.

This parameter is not supported for Windows containers.

Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings.

" }, "portMappings":{ "shape":"PortMappingList", @@ -948,7 +1110,7 @@ }, "essential":{ "shape":"BoxedBoolean", - "documentation":"

If the essential parameter of a container is marked as true, and that container fails or stops for any reason, all other containers that are part of the task are stopped. If the essential parameter of a container is marked as false, then its failure does not affect the rest of the containers in a task. If this parameter is omitted, a container is assumed to be essential.

All tasks must have at least one essential container. If you have an application that is composed of multiple containers, you should group containers that are used for a common purpose into components, and separate the different components into multiple task definitions. For more information, see Application Architecture in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

If the essential parameter of a container is marked as true, and that container fails or stops for any reason, all other containers that are part of the task are stopped. If the essential parameter of a container is marked as false, then its failure does not affect the rest of the containers in a task. If this parameter is omitted, a container is assumed to be essential.

All tasks must have at least one essential container. If you have an application that is composed of multiple containers, you should group containers that are used for a common purpose into components, and separate the different components into multiple task definitions. For more information, see Application Architecture in the Amazon Elastic Container Service Developer Guide.

" }, "entryPoint":{ "shape":"StringList", @@ -956,7 +1118,7 @@ }, "command":{ "shape":"StringList", - "documentation":"

The command that is passed to the container. This parameter maps to Cmd in the Create a container section of the Docker Remote API and the COMMAND parameter to docker run. For more information, see https://docs.docker.com/engine/reference/builder/#cmd.

" + "documentation":"

The command that is passed to the container. This parameter maps to Cmd in the Create a container section of the Docker Remote API and the COMMAND parameter to docker run. For more information, see https://docs.docker.com/engine/reference/builder/#cmd. If there are multiple arguments, each argument should be a separated string in the array.

" }, "environment":{ "shape":"EnvironmentVariables", @@ -972,11 +1134,23 @@ }, "linuxParameters":{ "shape":"LinuxParameters", - "documentation":"

Linux-specific modifications that are applied to the container, such as Linux KernelCapabilities.

This parameter is not supported for Windows containers.

" + "documentation":"

Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. For more information see KernelCapabilities.

This parameter is not supported for Windows containers.

" }, "secrets":{ "shape":"SecretList", - "documentation":"

The secrets to pass to the container.

" + "documentation":"

The secrets to pass to the container. For more information, see Specifying Sensitive Data in the Amazon Elastic Container Service Developer Guide.

" + }, + "dependsOn":{ + "shape":"ContainerDependencies", + "documentation":"

The dependencies defined for container startup and shutdown. A container can contain multiple dependencies. When a dependency is defined for container startup, for container shutdown it is reversed.

For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the container agent to enable container dependencies. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see Updating the Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. If you are using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ecs-init package. If your container instances are launched from version 20190301 or later, then they contain the required versions of the container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

This parameter is available for tasks using the Fargate launch type in the Ohio (us-east-2) region only and the task or service requires platform version 1.3.0 or later.

" + }, + "startTimeout":{ + "shape":"BoxedInteger", + "documentation":"

Time duration to wait before giving up on resolving dependencies for a container. For example, you specify two containers in a task definition with containerA having a dependency on containerB reaching a COMPLETE, SUCCESS, or HEALTHY status. If a startTimeout value is specified for containerB and it does not reach the desired status within that time then containerA will give up and not start. This results in the task transitioning to a STOPPED state.

For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the container agent to enable a container start timeout value. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see Updating the Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. If you are using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ecs-init package. If your container instances are launched from version 20190301 or later, then they contain the required versions of the container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

This parameter is available for tasks using the Fargate launch type in the Ohio (us-east-2) region only and the task or service requires platform version 1.3.0 or later.

" + }, + "stopTimeout":{ + "shape":"BoxedInteger", + "documentation":"

Time duration to wait before the container is forcefully killed if it doesn't exit normally on its own. For tasks using the Fargate launch type, the max stopTimeout value is 2 minutes. This parameter is available for tasks using the Fargate launch type in the Ohio (us-east-2) region only and the task or service requires platform version 1.3.0 or later.

For tasks using the EC2 launch type, the stop timeout value for the container takes precedence over the ECS_CONTAINER_STOP_TIMEOUT container agent configuration parameter, if used. Container instances require at least version 1.26.0 of the container agent to enable a container stop timeout value. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see Updating the Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. If you are using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ecs-init package. If your container instances are launched from version 20190301 or later, then they contain the required versions of the container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

" }, "hostname":{ "shape":"String", @@ -984,7 +1158,7 @@ }, "user":{ "shape":"String", - "documentation":"

The user name to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run.

This parameter is not supported for Windows containers.

" + "documentation":"

The user name to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run.

You can use the following formats. If specifying a UID or GID, you must specify it as a positive integer.

  • user

  • user:group

  • uid

  • uid:gid

  • user:gid

  • uid:group

This parameter is not supported for Windows containers.

" }, "workingDirectory":{ "shape":"String", @@ -1016,7 +1190,7 @@ }, "dockerSecurityOptions":{ "shape":"StringList", - "documentation":"

A list of strings to provide custom labels for SELinux and AppArmor multi-level security systems. This field is not valid for containers in tasks using the Fargate launch type.

This parameter maps to SecurityOpt in the Create a container section of the Docker Remote API and the --security-opt option to docker run.

The Amazon ECS container agent running on a container instance must register with the ECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true environment variables before containers placed on that instance can use these security options. For more information, see Amazon ECS Container Agent Configuration in the Amazon Elastic Container Service Developer Guide.

This parameter is not supported for Windows containers.

" + "documentation":"

A list of strings to provide custom labels for SELinux and AppArmor multi-level security systems. This field is not valid for containers in tasks using the Fargate launch type.

This parameter maps to SecurityOpt in the Create a container section of the Docker Remote API and the --security-opt option to docker run.

The Amazon ECS container agent running on a container instance must register with the ECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true environment variables before containers placed on that instance can use these security options. For more information, see Amazon ECS Container Agent Configuration in the Amazon Elastic Container Service Developer Guide.

This parameter is not supported for Windows containers.

" }, "interactive":{ "shape":"BoxedBoolean", @@ -1036,7 +1210,7 @@ }, "logConfiguration":{ "shape":"LogConfiguration", - "documentation":"

The log configuration specification for the container.

If you are using the Fargate launch type, the only supported value is awslogs.

This parameter maps to LogConfig in the Create a container section of the Docker Remote API and the --log-driver option to docker run. By default, containers use the same logging driver that the Docker daemon uses. However the container may use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information on the options for different supported log drivers, see Configure logging drivers in the Docker documentation.

Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type). Additional log drivers may be available in future releases of the Amazon ECS container agent.

This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'

The Amazon ECS container agent running on a container instance must register the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed on that instance can use these log configuration options. For more information, see Amazon ECS Container Agent Configuration in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The log configuration specification for the container.

For tasks using the Fargate launch type, the supported log drivers are awslogs and splunk.

For tasks using the EC2 launch type, the supported log drivers are awslogs, syslog, gelf, fluentd, splunk, journald, and json-file.

This parameter maps to LogConfig in the Create a container section of the Docker Remote API and the --log-driver option to docker run. By default, containers use the same logging driver that the Docker daemon uses. However the container may use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information on the options for different supported log drivers, see Configure logging drivers in the Docker documentation.

Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type). Additional log drivers may be available in future releases of the Amazon ECS container agent.

This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'

The Amazon ECS container agent running on a container instance must register the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed on that instance can use these log configuration options. For more information, see Amazon ECS Container Agent Configuration in the Amazon Elastic Container Service Developer Guide.

" }, "healthCheck":{ "shape":"HealthCheck", @@ -1045,6 +1219,10 @@ "systemControls":{ "shape":"SystemControls", "documentation":"

A list of namespaced kernel parameters to set in the container. This parameter maps to Sysctls in the Create a container section of the Docker Remote API and the --sysctl option to docker run.

It is not recommended that you specify network-related systemControls parameters for multiple containers in a single task that also uses either the awsvpc or host network modes. For tasks that use the awsvpc network mode, the container that is started last determines which systemControls parameters take effect. For tasks that use the host network mode, it changes the container instance's namespaced kernel parameters as well as the containers.

" + }, + "resourceRequirements":{ + "shape":"ResourceRequirements", + "documentation":"

The type and amount of a resource to assign to a container. The only supported resource is a GPU.

" } }, "documentation":"

Container definitions are used in task definitions to describe the different containers that are launched as part of a task.

" @@ -1053,12 +1231,34 @@ "type":"list", "member":{"shape":"ContainerDefinition"} }, + "ContainerDependencies":{ + "type":"list", + "member":{"shape":"ContainerDependency"} + }, + "ContainerDependency":{ + "type":"structure", + "required":[ + "containerName", + "condition" + ], + "members":{ + "containerName":{ + "shape":"String", + "documentation":"

The name of a container.

" + }, + "condition":{ + "shape":"ContainerCondition", + "documentation":"

The dependency condition of the container. The following are the available conditions and their behavior:

  • START - This condition emulates the behavior of links and volumes today. It validates that a dependent container is started before permitting other containers to start.

  • COMPLETE - This condition validates that a dependent container runs to completion (exits) before permitting other containers to start. This can be useful for nonessential containers that run a script and then exit.

  • SUCCESS - This condition is the same as COMPLETE, but it also requires that the container exits with a zero status.

  • HEALTHY - This condition validates that the dependent container passes its Docker health check before permitting other containers to start. This requires that the dependent container has health checks configured. This condition is confirmed only at task startup.

" + } + }, + "documentation":"

The dependencies defined for container startup and shutdown. A container can contain multiple dependencies. When a dependency is defined for container startup, for container shutdown it is reversed.

Your Amazon ECS container instances require at least version 1.26.0 of the container agent to enable container dependencies. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see Updating the Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. If you are using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ecs-init package. If your container instances are launched from version 20190301 or later, then they contain the required versions of the container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

If you are using tasks that use the Fargate launch type, container dependency parameters are not supported.

" + }, "ContainerInstance":{ "type":"structure", "members":{ "containerInstanceArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the container instance. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID .

" + "documentation":"

The Amazon Resource Name (ARN) of the container instance. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

" }, "ec2InstanceId":{ "shape":"String", @@ -1082,7 +1282,11 @@ }, "status":{ "shape":"String", - "documentation":"

The status of the container instance. The valid values are ACTIVE, INACTIVE, or DRAINING. ACTIVE indicates that the container instance can accept tasks. DRAINING indicates that new tasks are not placed on the container instance and any service tasks running on the container instance are removed if possible. For more information, see Container Instance Draining in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The status of the container instance. The valid values are REGISTERING, REGISTRATION_FAILED, ACTIVE, INACTIVE, DEREGISTERING, or DRAINING.

If your account has opted in to the awsvpcTrunking account setting, then any newly registered container instance will transition to a REGISTERING status while the trunk elastic network interface is provisioned for the instance. If the registration fails, the instance will transition to a REGISTRATION_FAILED status. You can describe the container instance and see the reason for failure in the statusReason parameter. Once the container instance is terminated, the instance transitions to a DEREGISTERING status while the trunk elastic network interface is deprovisioned. The instance then transitions to an INACTIVE status.

The ACTIVE status indicates that the container instance can accept tasks. The DRAINING indicates that new tasks are not placed on the container instance and any service tasks running on the container instance are removed if possible. For more information, see Container Instance Draining in the Amazon Elastic Container Service Developer Guide.

" + }, + "statusReason":{ + "shape":"String", + "documentation":"

The reason that the container instance reached its current status.

" }, "agentConnected":{ "shape":"Boolean", @@ -1110,7 +1314,7 @@ }, "attachments":{ "shape":"Attachments", - "documentation":"

The elastic network interfaces associated with the container instance.

" + "documentation":"

The resources attached to a container instance, such as elastic network interfaces.

" }, "tags":{ "shape":"Tags", @@ -1131,7 +1335,10 @@ "type":"string", "enum":[ "ACTIVE", - "DRAINING" + "DRAINING", + "REGISTERING", + "DEREGISTERING", + "REGISTRATION_FAILED" ] }, "ContainerInstances":{ @@ -1164,9 +1371,13 @@ "memoryReservation":{ "shape":"BoxedInteger", "documentation":"

The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition. You must also specify a container name.

" + }, + "resourceRequirements":{ + "shape":"ResourceRequirements", + "documentation":"

The type and amount of a resource to assign to a container, instead of the default value from the task definition. The only supported resource is a GPU.

" } }, - "documentation":"

The overrides that should be sent to a container.

" + "documentation":"

The overrides that should be sent to a container. An empty container override can be passed in. An example of an empty container override would be {\"containerOverrides\": [ ] }. If a non-empty container override is specified, the name parameter must be included.

" }, "ContainerOverrides":{ "type":"list", @@ -1211,7 +1422,7 @@ "members":{ "clusterName":{ "shape":"String", - "documentation":"

The name of your cluster. If you do not specify a name for your cluster, you create a cluster named default. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

" + "documentation":"

The name of your cluster. If you do not specify a name for your cluster, you create a cluster named default. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed.

" }, "tags":{ "shape":"Tags", @@ -1230,10 +1441,7 @@ }, "CreateServiceRequest":{ "type":"structure", - "required":[ - "serviceName", - "taskDefinition" - ], + "required":["serviceName"], "members":{ "cluster":{ "shape":"String", @@ -1241,11 +1449,11 @@ }, "serviceName":{ "shape":"String", - "documentation":"

The name of your service. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. Service names must be unique within a cluster, but you can have similarly named services in multiple clusters within a Region or across multiple Regions.

" + "documentation":"

The name of your service. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. Service names must be unique within a cluster, but you can have similarly named services in multiple clusters within a Region or across multiple Regions.

" }, "taskDefinition":{ "shape":"String", - "documentation":"

The family and revision (family:revision) or full ARN of the task definition to run in your service. If a revision is not specified, the latest ACTIVE revision is used.

" + "documentation":"

The family and revision (family:revision) or full ARN of the task definition to run in your service. If a revision is not specified, the latest ACTIVE revision is used.

A task definition must be specified if the service is using the ECS deployment controller.

" }, "loadBalancers":{ "shape":"LoadBalancers", @@ -1253,7 +1461,7 @@ }, "serviceRegistries":{ "shape":"ServiceRegistries", - "documentation":"

The details of the service discovery registries to assign to this service. For more information, see Service Discovery.

Service discovery is supported for Fargate tasks if you are using platform version v1.1.0 or later. For more information, see AWS Fargate Platform Versions.

" + "documentation":"

The details of the service discovery registries to assign to this service. For more information, see Service Discovery.

Service discovery is supported for Fargate tasks if you are using platform version v1.1.0 or later. For more information, see AWS Fargate Platform Versions.

" }, "desiredCount":{ "shape":"BoxedInteger", @@ -1265,15 +1473,15 @@ }, "launchType":{ "shape":"LaunchType", - "documentation":"

The launch type on which to run your service. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The launch type on which to run your service. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

" }, "platformVersion":{ "shape":"String", - "documentation":"

The platform version on which your tasks in the service are running. A platform version is only specified for tasks using the Fargate launch type. If one is not specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The platform version that your tasks in the service are running on. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" }, "role":{ "shape":"String", - "documentation":"

The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is only permitted if you are using a load balancer with your service and your task definition does not use the awsvpc network mode. If you specify the role parameter, you must also specify a load balancer object with the loadBalancers parameter.

If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here. The service-linked role is required if your task definition uses the awsvpc network mode, in which case you should not specify a role here. For more information, see Using Service-Linked Roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.

If your specified role has a path other than /, then you must either specify the full role ARN (this is recommended) or prefix the role name with the path. For example, if a role with the name bar has a path of /foo/ then you would specify /foo/bar as the role name. For more information, see Friendly Names and Paths in the IAM User Guide.

" + "documentation":"

The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is only permitted if you are using a load balancer with your service and your task definition does not use the awsvpc network mode. If you specify the role parameter, you must also specify a load balancer object with the loadBalancers parameter.

If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here. The service-linked role is required if your task definition uses the awsvpc network mode, in which case you should not specify a role here. For more information, see Using Service-Linked Roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.

If your specified role has a path other than /, then you must either specify the full role ARN (this is recommended) or prefix the role name with the path. For example, if a role with the name bar has a path of /foo/ then you would specify /foo/bar as the role name. For more information, see Friendly Names and Paths in the IAM User Guide.

" }, "deploymentConfiguration":{ "shape":"DeploymentConfiguration", @@ -1289,15 +1497,15 @@ }, "networkConfiguration":{ "shape":"NetworkConfiguration", - "documentation":"

The network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

" }, "healthCheckGracePeriodSeconds":{ "shape":"BoxedInteger", - "documentation":"

The period of time, in seconds, that the Amazon ECS service scheduler should ignore unhealthy Elastic Load Balancing target health checks after a task has first started. This is only valid if your service is configured to use a load balancer. If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace period of up to 7,200 seconds. During that time, the ECS service scheduler ignores health check status. This grace period can prevent the ECS service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.

" + "documentation":"

The period of time, in seconds, that the Amazon ECS service scheduler should ignore unhealthy Elastic Load Balancing target health checks after a task has first started. This is only valid if your service is configured to use a load balancer. If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace period of up to 2,147,483,647 seconds. During that time, the ECS service scheduler ignores health check status. This grace period can prevent the ECS service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.

" }, "schedulingStrategy":{ "shape":"SchedulingStrategy", - "documentation":"

The scheduling strategy to use for the service. For more information, see Services.

There are two service scheduler strategies available:

  • REPLICA-The replica scheduling strategy places and maintains the desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. This scheduler strategy is required if using the CODE_DEPLOY deployment controller.

  • DAEMON-The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. When you are using this strategy, there is no need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies.

    Tasks using the Fargate launch type or the CODE_DEPLOY deploymenet controller do not support the DAEMON scheduling strategy.

" + "documentation":"

The scheduling strategy to use for the service. For more information, see Services.

There are two service scheduler strategies available:

  • REPLICA-The replica scheduling strategy places and maintains the desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. This scheduler strategy is required if the service is using the CODE_DEPLOY or EXTERNAL deployment controller types.

  • DAEMON-The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. When you're using this strategy, you don't need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies.

    Tasks using the Fargate launch type or the CODE_DEPLOY or EXTERNAL deployment controller types don't support the DAEMON scheduling strategy.

" }, "deploymentController":{ "shape":"DeploymentController", @@ -1309,11 +1517,11 @@ }, "enableECSManagedTags":{ "shape":"Boolean", - "documentation":"

Specifies whether to enable Amazon ECS managed tags for the tasks within the service. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

Specifies whether to enable Amazon ECS managed tags for the tasks within the service. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.

" }, "propagateTags":{ "shape":"PropagateTags", - "documentation":"

Specifies whether to propagate the tags from the task definition or the service to the tasks. If no value is specified, the tags are not propagated. Tags can only be propagated to the tasks within the service during service creation. To add tags to a task after service creation, use the TagResource API action.

" + "documentation":"

Specifies whether to propagate the tags from the task definition or the service to the tasks in the service. If no value is specified, the tags are not propagated. Tags can only be propagated to the tasks within the service during service creation. To add tags to a task after service creation, use the TagResource API action.

" } } }, @@ -1326,17 +1534,71 @@ } } }, + "CreateTaskSetRequest":{ + "type":"structure", + "required":[ + "service", + "cluster", + "taskDefinition" + ], + "members":{ + "service":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the service to create the task set in.

" + }, + "cluster":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in.

" + }, + "externalId":{ + "shape":"String", + "documentation":"

An optional non-unique tag that identifies this task set in external systems. If the task set is associated with a service discovery registry, the tasks in this task set will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute set to the provided value.

" + }, + "taskDefinition":{ + "shape":"String", + "documentation":"

The task definition for the tasks in the task set to use.

" + }, + "networkConfiguration":{"shape":"NetworkConfiguration"}, + "loadBalancers":{ + "shape":"LoadBalancers", + "documentation":"

A load balancer object representing the load balancer to use with the task set. The supported load balancer types are either an Application Load Balancer or a Network Load Balancer.

" + }, + "serviceRegistries":{ + "shape":"ServiceRegistries", + "documentation":"

The details of the service discovery registries to assign to this task set. For more information, see Service Discovery.

" + }, + "launchType":{ + "shape":"LaunchType", + "documentation":"

The launch type that new tasks in the task set will use. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

" + }, + "platformVersion":{ + "shape":"String", + "documentation":"

The platform version that the tasks in the task set should use. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the LATEST platform version is used by default.

" + }, + "scale":{"shape":"Scale"}, + "clientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Up to 32 ASCII characters are allowed.

" + } + } + }, + "CreateTaskSetResponse":{ + "type":"structure", + "members":{ + "taskSet":{"shape":"TaskSet"} + } + }, "DeleteAccountSettingRequest":{ "type":"structure", "required":["name"], "members":{ "name":{ "shape":"SettingName", - "documentation":"

The resource name for which to disable the new format. If serviceLongArnFormat is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat is specified, the ARN and resource ID for your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, the ARN and resource ID for your Amazon ECS container instances is affected.

" + "documentation":"

The resource name for which to disable the account setting. If serviceLongArnFormat is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat is specified, the ARN and resource ID for your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, the ARN and resource ID for your Amazon ECS container instances is affected. If awsvpcTrunking is specified, the ENI limit for your Amazon ECS container instances is affected.

" }, "principalArn":{ "shape":"String", - "documentation":"

The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you specify the root user, it modifies the ARN and resource ID format for all IAM users, IAM roles, and the root user of the account unless an IAM user or role explicitly overrides these settings for themselves. If this field is omitted, the setting are changed only for the authenticated user.

" + "documentation":"

The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you specify the root user, it disables the account setting for all IAM users, IAM roles, and the root user of the account unless an IAM user or role explicitly overrides these settings. If this field is omitted, the setting is changed only for the authenticated user.

" } } }, @@ -1418,6 +1680,38 @@ } } }, + "DeleteTaskSetRequest":{ + "type":"structure", + "required":[ + "cluster", + "service", + "taskSet" + ], + "members":{ + "cluster":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task set exists in to delete.

" + }, + "service":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the service that hosts the task set to delete.

" + }, + "taskSet":{ + "shape":"String", + "documentation":"

The task set ID or full Amazon Resource Name (ARN) of the task set to delete.

" + }, + "force":{ + "shape":"BoxedBoolean", + "documentation":"

If true, this allows you to delete a task set even if it hasn't been scaled down to zero.

" + } + } + }, + "DeleteTaskSetResponse":{ + "type":"structure", + "members":{ + "taskSet":{"shape":"TaskSet"} + } + }, "Deployment":{ "type":"structure", "members":{ @@ -1455,32 +1749,32 @@ }, "launchType":{ "shape":"LaunchType", - "documentation":"

The launch type the tasks in the service are using. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The launch type the tasks in the service are using. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

" }, "platformVersion":{ "shape":"String", - "documentation":"

The platform version on which your tasks in the service are running. A platform version is only specified for tasks using the Fargate launch type. If one is not specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The platform version on which your tasks in the service are running. A platform version is only specified for tasks using the Fargate launch type. If one is not specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" }, "networkConfiguration":{ "shape":"NetworkConfiguration", "documentation":"

The VPC subnet and security group configuration for tasks that receive their own elastic network interface by using the awsvpc networking mode.

" } }, - "documentation":"

The details of an Amazon ECS service deployment. This is used when a service uses the CODE_DEPLOY deployment controller type.

" + "documentation":"

The details of an Amazon ECS service deployment. This is used only when a service uses the ECS deployment controller type.

" }, "DeploymentConfiguration":{ "type":"structure", "members":{ "maximumPercent":{ "shape":"BoxedInteger", - "documentation":"

If a service is using the rolling update (ECS) deployment type, the maximum percent parameter represents an upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment, as a percentage of the desired number of tasks (rounded down to the nearest integer), and while any container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. This parameter enables you to define the deployment batch size. For example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximum percent is 200%.

If a service is using the blue/green (CODE_DEPLOY) deployment type and tasks that use the EC2 launch type, the maximum percent value is set to the default value and is used to define the upper limit on the number of the tasks in the service that remain in the RUNNING state while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service.

" + "documentation":"

If a service is using the rolling update (ECS) deployment type, the maximum percent parameter represents an upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment, as a percentage of the desired number of tasks (rounded down to the nearest integer), and while any container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. This parameter enables you to define the deployment batch size. For example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximum percent is 200%.

If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment types and tasks that use the EC2 launch type, the maximum percent value is set to the default value and is used to define the upper limit on the number of the tasks in the service that remain in the RUNNING state while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service.

" }, "minimumHealthyPercent":{ "shape":"BoxedInteger", - "documentation":"

If a service is using the rolling update (ECS) deployment type, the minimum healthy percent represents a lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment, as a percentage of the desired number of tasks (rounded up to the nearest integer), and while any container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a desired number of four tasks and a minimum healthy percent of 50%, the scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. Tasks for services that do not use a load balancer are considered healthy if they are in the RUNNING state; tasks for services that do use a load balancer are considered healthy if they are in the RUNNING state and they are reported as healthy by the load balancer. The default value for minimum healthy percent is 100%.

If a service is using the blue/green (CODE_DEPLOY) deployment type and tasks that use the EC2 launch type, the minimum healthy percent value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the RUNNING state while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.

" + "documentation":"

If a service is using the rolling update (ECS) deployment type, the minimum healthy percent represents a lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment, as a percentage of the desired number of tasks (rounded up to the nearest integer), and while any container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a desired number of four tasks and a minimum healthy percent of 50%, the scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. Tasks for services that do not use a load balancer are considered healthy if they are in the RUNNING state; tasks for services that do use a load balancer are considered healthy if they are in the RUNNING state and they are reported as healthy by the load balancer. The default value for minimum healthy percent is 100%.

If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment types and tasks that use the EC2 launch type, the minimum healthy percent value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the RUNNING state while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.

" } }, - "documentation":"

Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.

" + "documentation":"

Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks.

" }, "DeploymentController":{ "type":"structure", @@ -1488,16 +1782,17 @@ "members":{ "type":{ "shape":"DeploymentControllerType", - "documentation":"

The deployment controller type to use.

There are two deployment controller types available:

ECS

The rolling update (ECS) deployment type involves replacing the current running version of the container with the latest version. The number of containers Amazon ECS adds or removes from the service during a rolling update is controlled by adjusting the minimum and maximum number of healthy tasks allowed during a service deployment, as specified in the DeploymentConfiguration.

CODE_DEPLOY

The blue/green (CODE_DEPLOY) deployment type uses the blue/green deployment model powered by AWS CodeDeploy, which allows you to verify a new deployment of a service before sending production traffic to it. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The deployment controller type to use.

There are three deployment controller types available:

ECS

The rolling update (ECS) deployment type involves replacing the current running version of the container with the latest version. The number of containers Amazon ECS adds or removes from the service during a rolling update is controlled by adjusting the minimum and maximum number of healthy tasks allowed during a service deployment, as specified in the DeploymentConfiguration.

CODE_DEPLOY

The blue/green (CODE_DEPLOY) deployment type uses the blue/green deployment model powered by AWS CodeDeploy, which allows you to verify a new deployment of a service before sending production traffic to it.

EXTERNAL

The external (EXTERNAL) deployment type enables you to use any third-party deployment controller for full control over the deployment process for an Amazon ECS service.

" } }, - "documentation":"

The deployment controller to use for the service. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The deployment controller to use for the service. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

" }, "DeploymentControllerType":{ "type":"string", "enum":[ "ECS", - "CODE_DEPLOY" + "CODE_DEPLOY", + "EXTERNAL" ] }, "Deployments":{ @@ -1514,7 +1809,7 @@ }, "containerInstance":{ "shape":"String", - "documentation":"

The container instance ID or full ARN of the container instance to deregister. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID .

" + "documentation":"

The container instance ID or full ARN of the container instance to deregister. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

" }, "force":{ "shape":"BoxedBoolean", @@ -1582,7 +1877,7 @@ "members":{ "cluster":{ "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to describe. If you do not specify a cluster, the default cluster is assumed.

" + "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required if the container instance or container instances you are describing were launched in any cluster other than the default cluster.

" }, "containerInstances":{ "shape":"StringList", @@ -1613,7 +1908,7 @@ "members":{ "cluster":{ "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN)the cluster that hosts the service to describe. If you do not specify a cluster, the default cluster is assumed.

" + "documentation":"

The short name or full Amazon Resource Name (ARN)the cluster that hosts the service to describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required if the service or services you are describing were launched in any cluster other than the default cluster.

" }, "services":{ "shape":"StringList", @@ -1665,13 +1960,47 @@ } } }, + "DescribeTaskSetsRequest":{ + "type":"structure", + "required":[ + "cluster", + "service" + ], + "members":{ + "cluster":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task sets exist in.

" + }, + "service":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the service that the task sets exist in.

" + }, + "taskSets":{ + "shape":"StringList", + "documentation":"

The ID or full Amazon Resource Name (ARN) of task sets to describe.

" + } + } + }, + "DescribeTaskSetsResponse":{ + "type":"structure", + "members":{ + "taskSets":{ + "shape":"TaskSets", + "documentation":"

The list of task sets described.

" + }, + "failures":{ + "shape":"Failures", + "documentation":"

Any failures associated with the call.

" + } + } + }, "DescribeTasksRequest":{ "type":"structure", "required":["tasks"], "members":{ "cluster":{ "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task to describe. If you do not specify a cluster, the default cluster is assumed.

" + "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task or tasks to describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required if the task or tasks you are describing were launched in any cluster other than the default cluster.

" }, "tasks":{ "shape":"StringList", @@ -1744,7 +2073,7 @@ "members":{ "containerInstance":{ "shape":"String", - "documentation":"

The container instance ID or full ARN of the container instance. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID .

" + "documentation":"

The container instance ID or full ARN of the container instance. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

" }, "cluster":{ "shape":"String", @@ -1783,15 +2112,15 @@ }, "driver":{ "shape":"String", - "documentation":"

The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use docker plugin ls to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. For more information, see Docker plugin discovery. This parameter maps to Driver in the Create a volume section of the Docker Remote API and the xxdriver option to docker volume create .

" + "documentation":"

The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use docker plugin ls to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. For more information, see Docker plugin discovery. This parameter maps to Driver in the Create a volume section of the Docker Remote API and the xxdriver option to docker volume create.

" }, "driverOpts":{ "shape":"StringMap", - "documentation":"

A map of Docker driver-specific options passed through. This parameter maps to DriverOpts in the Create a volume section of the Docker Remote API and the xxopt option to docker volume create .

" + "documentation":"

A map of Docker driver-specific options passed through. This parameter maps to DriverOpts in the Create a volume section of the Docker Remote API and the xxopt option to docker volume create.

" }, "labels":{ "shape":"StringMap", - "documentation":"

Custom metadata to add to your Docker volume. This parameter maps to Labels in the Create a volume section of the Docker Remote API and the xxlabel option to docker volume create .

" + "documentation":"

Custom metadata to add to your Docker volume. This parameter maps to Labels in the Create a volume section of the Docker Remote API and the xxlabel option to docker volume create.

" } }, "documentation":"

This parameter is specified when you are using Docker volumes. Docker volumes are only supported when you are using the EC2 launch type. Windows containers only support the use of the local driver. To use bind mounts, specify a host instead.

" @@ -1819,6 +2148,10 @@ "type":"list", "member":{"shape":"Failure"} }, + "GpuIds":{ + "type":"list", + "member":{"shape":"String"} + }, "HealthCheck":{ "type":"structure", "required":["command"], @@ -1980,7 +2313,7 @@ }, "effectiveSettings":{ "shape":"Boolean", - "documentation":"

Specifies whether to return the effective settings. If true, the account settings for the root user or the default setting for the principalArn. If false, the account settings for the principalArn are returned if they are set. Otherwise, no account settings are returned.

" + "documentation":"

Specifies whether to return the effective settings. If true, the account settings for the root user or the default setting for the principalArn are returned. If false, the account settings for the principalArn are returned if they are set. Otherwise, no account settings are returned.

" }, "nextToken":{ "shape":"String", @@ -2083,7 +2416,7 @@ }, "filter":{ "shape":"String", - "documentation":"

You can filter the results of a ListContainerInstances operation with cluster query language statements. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

You can filter the results of a ListContainerInstances operation with cluster query language statements. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.

" }, "nextToken":{ "shape":"String", @@ -2095,7 +2428,7 @@ }, "status":{ "shape":"ContainerInstanceStatus", - "documentation":"

Filters the container instances by status. For example, if you specify the DRAINING status, the results include only container instances that have been set to DRAINING using UpdateContainerInstancesState. If you do not specify this parameter, the default is to include container instances set to ACTIVE and DRAINING.

" + "documentation":"

Filters the container instances by status. For example, if you specify the DRAINING status, the results include only container instances that have been set to DRAINING using UpdateContainerInstancesState. If you do not specify this parameter, the default is to include container instances set to all states other than INACTIVE.

" } } }, @@ -2300,11 +2633,11 @@ "members":{ "targetGroupArn":{ "shape":"String", - "documentation":"

The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service. For services using the ECS deployment controller, you are limited to one target group. For services using the CODE_DEPLOY deployment controller, you are required to define two target groups for the load balancer.

If your service's task definition uses the awsvpc network mode (which is required for the Fargate launch type), you must choose ip as the target type, not instance, because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.

" + "documentation":"

The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set.

A target group ARN is only specified when using an application load balancer or a network load balancer. If you are using a classic load balancer this should be omitted.

For services using the ECS deployment controller, you are limited to one target group. For services using the CODE_DEPLOY deployment controller, you are required to define two target groups for the load balancer.

If your service's task definition uses the awsvpc network mode (which is required for the Fargate launch type), you must choose ip as the target type, not instance, because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.

" }, "loadBalancerName":{ "shape":"String", - "documentation":"

The name of a load balancer.

" + "documentation":"

The name of the load balancer to associate with the Amazon ECS service or task set.

A load balancer name is only specified when using a classic load balancer. If you are using an application load balancer or a network load balancer this should be omitted.

" }, "containerName":{ "shape":"String", @@ -2315,7 +2648,7 @@ "documentation":"

The port on the container to associate with the load balancer. This port must correspond to a containerPort in the service's task definition. Your container instances must allow ingress traffic on the hostPort of the port mapping.

" } }, - "documentation":"

Details on a load balancer that is used with a service.

If the service is using the ECS deployment controller, you are limited to one load balancer or target group.

If the service is using the CODE_DEPLOY deployment controller, the service is required to use either an Application Load Balancer or Network Load Balancer. When you are creating an AWS CodeDeploy deployment group, you specify two target groups (referred to as a targetGroupPair). Each target group binds to a separate task set in the deployment. The load balancer can also have up to two listeners, a required listener for production traffic and an optional listener that allows you to test new revisions of the service before routing production traffic to it.

Services with tasks that use the awsvpc network mode (for example, those with the Fargate launch type) only support Application Load Balancers and Network Load Balancers. Classic Load Balancers are not supported. Also, when you create any target groups for these services, you must choose ip as the target type, not instance. Tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.

" + "documentation":"

Details on a load balancer to be used with a service or task set.

If the service is using the ECS deployment controller, you are limited to one load balancer or target group.

If the service is using the CODE_DEPLOY deployment controller, the service is required to use either an Application Load Balancer or Network Load Balancer. When you are creating an AWS CodeDeploy deployment group, you specify two target groups (referred to as a targetGroupPair). Each target group binds to a separate task set in the deployment. The load balancer can also have up to two listeners, a required listener for production traffic and an optional listener that allows you to test new revisions of the service before routing production traffic to it.

Services with tasks that use the awsvpc network mode (for example, those with the Fargate launch type) only support Application Load Balancers and Network Load Balancers. Classic Load Balancers are not supported. Also, when you create any target groups for these services, you must choose ip as the target type, not instance. Tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.

" }, "LoadBalancers":{ "type":"list", @@ -2327,11 +2660,15 @@ "members":{ "logDriver":{ "shape":"LogDriver", - "documentation":"

The log driver to use for the container. The valid values listed for this parameter are log drivers that the Amazon ECS container agent can communicate with by default. If you are using the Fargate launch type, the only supported value is awslogs. For more information about using the awslogs driver, see Using the awslogs Log Driver in the Amazon Elastic Container Service Developer Guide.

If you have a custom driver that is not listed above that you would like to work with the Amazon ECS container agent, you can fork the Amazon ECS container agent project that is available on GitHub and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, Amazon Web Services does not currently support running modified copies of this software.

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}}'

" + "documentation":"

The log driver to use for the container. The valid values listed for this parameter are log drivers that the Amazon ECS container agent can communicate with by default.

For tasks using the Fargate launch type, the supported log drivers are awslogs and splunk.

For tasks using the EC2 launch type, the supported log drivers are awslogs, syslog, gelf, fluentd, splunk, journald, and json-file.

For more information about using the awslogs log driver, see Using the awslogs Log Driver in the Amazon Elastic Container Service Developer Guide.

If you have a custom driver that is not listed above that you would like to work with the Amazon ECS container agent, you can fork the Amazon ECS container agent project that is available on GitHub and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, Amazon Web Services does not currently support running modified copies of this software.

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}}'

" }, "options":{ "shape":"LogConfigurationOptionsMap", "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}}'

" + }, + "secretOptions":{ + "shape":"SecretList", + "documentation":"

The secrets to pass to the log configuration.

" } }, "documentation":"

Log configuration options to send to a custom log driver for the container.

" @@ -2473,10 +2810,10 @@ }, "expression":{ "shape":"String", - "documentation":"

A cluster query language expression to apply to the constraint. You cannot specify an expression if the constraint type is distinctInstance. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

A cluster query language expression to apply to the constraint. You cannot specify an expression if the constraint type is distinctInstance. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.

" } }, - "documentation":"

An object representing a constraint on task placement. For more information, see Task Placement Constraints in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

An object representing a constraint on task placement. For more information, see Task Placement Constraints in the Amazon Elastic Container Service Developer Guide.

" }, "PlacementConstraintType":{ "type":"string", @@ -2505,7 +2842,7 @@ "documentation":"

The field to apply the placement strategy against. For the spread placement strategy, valid values are instanceId (or host, which has the same effect), or any platform or custom attribute that is applied to a container instance, such as attribute:ecs.availability-zone. For the binpack placement strategy, valid values are cpu and memory. For the random placement strategy, this field is not used.

" } }, - "documentation":"

The task placement strategy for a task or service. For more information, see Task Placement Strategies in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The task placement strategy for a task or service. For more information, see Task Placement Strategies in the Amazon Elastic Container Service Developer Guide.

" }, "PlacementStrategyType":{ "type":"string", @@ -2515,6 +2852,32 @@ "binpack" ] }, + "PlatformDevice":{ + "type":"structure", + "required":[ + "id", + "type" + ], + "members":{ + "id":{ + "shape":"String", + "documentation":"

The ID for the GPU(s) on the container instance. The available GPU IDs can also be obtained on the container instance in the /var/lib/ecs/gpu/nvidia_gpu_info.json file.

" + }, + "type":{ + "shape":"PlatformDeviceType", + "documentation":"

The type of device that is available on the container instance. The only supported value is GPU.

" + } + }, + "documentation":"

The devices that are available on the container instance. The only supported device type is a GPU.

" + }, + "PlatformDeviceType":{ + "type":"string", + "enum":["GPU"] + }, + "PlatformDevices":{ + "type":"list", + "member":{"shape":"PlatformDevice"} + }, "PlatformTaskDefinitionIncompatibilityException":{ "type":"structure", "members":{ @@ -2534,11 +2897,11 @@ "members":{ "containerPort":{ "shape":"BoxedInteger", - "documentation":"

The port number on the container that is bound to the user-specified or automatically assigned host port.

If you are using containers in a task with the awsvpc or host network mode, exposed ports should be specified using containerPort.

If you are using containers in a task with the bridge network mode and you specify a container port and not a host port, your container automatically receives a host port in the ephemeral port range. For more information, see hostPort. Port mappings that are automatically assigned in this way do not count toward the 100 reserved ports limit of a container instance.

" + "documentation":"

The port number on the container that is bound to the user-specified or automatically assigned host port.

If you are using containers in a task with the awsvpc or host network mode, exposed ports should be specified using containerPort.

If you are using containers in a task with the bridge network mode and you specify a container port and not a host port, your container automatically receives a host port in the ephemeral port range. For more information, see hostPort. Port mappings that are automatically assigned in this way do not count toward the 100 reserved ports limit of a container instance.

You cannot expose the same container port for multiple protocols. An error will be returned if this is attempted.

" }, "hostPort":{ "shape":"BoxedInteger", - "documentation":"

The port number on the container instance to reserve for your container.

If you are using containers in a task with the awsvpc or host network mode, the hostPort can either be left blank or set to the same value as the containerPort.

If you are using containers in a task with the bridge network mode, you can specify a non-reserved host port for your container port mapping, or you can omit the hostPort (or set it to 0) while specifying a containerPort and your container automatically receives a port in the ephemeral port range for your container instance operating system and Docker version.

The default ephemeral port range for Docker version 1.6.0 and later is listed on the instance under /proc/sys/net/ipv4/ip_local_port_range. If this kernel parameter is unavailable, the default ephemeral port range from 49153 through 65535 is used. Do not attempt to specify a host port in the ephemeral port range as these are reserved for automatic assignment. In general, ports below 32768 are outside of the ephemeral port range.

The default ephemeral port range from 49153 through 65535 is always used for Docker versions before 1.6.0.

The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the Amazon ECS container agent ports 51678 and 51679. Any host port that was previously specified in a running task is also reserved while the task is running (after a task stops, the host port is released). The current reserved ports are displayed in the remainingResources of DescribeContainerInstances output. A container instance may have up to 100 reserved ports at a time, including the default reserved ports. Aautomatically assigned ports do not count toward the 100 reserved ports limit.

" + "documentation":"

The port number on the container instance to reserve for your container.

If you are using containers in a task with the awsvpc or host network mode, the hostPort can either be left blank or set to the same value as the containerPort.

If you are using containers in a task with the bridge network mode, you can specify a non-reserved host port for your container port mapping, or you can omit the hostPort (or set it to 0) while specifying a containerPort and your container automatically receives a port in the ephemeral port range for your container instance operating system and Docker version.

The default ephemeral port range for Docker version 1.6.0 and later is listed on the instance under /proc/sys/net/ipv4/ip_local_port_range. If this kernel parameter is unavailable, the default ephemeral port range from 49153 through 65535 is used. Do not attempt to specify a host port in the ephemeral port range as these are reserved for automatic assignment. In general, ports below 32768 are outside of the ephemeral port range.

The default ephemeral port range from 49153 through 65535 is always used for Docker versions before 1.6.0.

The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the Amazon ECS container agent ports 51678-51680. Any host port that was previously specified in a running task is also reserved while the task is running (after a task stops, the host port is released). The current reserved ports are displayed in the remainingResources of DescribeContainerInstances output. A container instance can have up to 100 reserved ports at a time, including the default reserved ports. Automatically assigned ports don't count toward the 100 reserved ports limit.

" }, "protocol":{ "shape":"TransportProtocol", @@ -2558,6 +2921,56 @@ "SERVICE" ] }, + "ProxyConfiguration":{ + "type":"structure", + "required":["containerName"], + "members":{ + "type":{ + "shape":"ProxyConfigurationType", + "documentation":"

The proxy type. The only supported value is APPMESH.

" + }, + "containerName":{ + "shape":"String", + "documentation":"

The name of the container that will serve as the App Mesh proxy.

" + }, + "properties":{ + "shape":"ProxyConfigurationProperties", + "documentation":"

The set of network configuration parameters to provide the Container Network Interface (CNI) plugin, specified as key-value pairs.

  • IgnoredUID - (Required) The user ID (UID) of the proxy container as defined by the user parameter in a container definition. This is used to ensure the proxy ignores its own traffic. If IgnoredGID is specified, this field can be empty.

  • IgnoredGID - (Required) The group ID (GID) of the proxy container as defined by the user parameter in a container definition. This is used to ensure the proxy ignores its own traffic. If IgnoredUID is specified, this field can be empty.

  • AppPorts - (Required) The list of ports that the application uses. Network traffic to these ports is forwarded to the ProxyIngressPort and ProxyEgressPort.

  • ProxyIngressPort - (Required) Specifies the port that incoming traffic to the AppPorts is directed to.

  • ProxyEgressPort - (Required) Specifies the port that outgoing traffic from the AppPorts is directed to.

  • EgressIgnoredPorts - (Required) The egress traffic going to the specified ports is ignored and not redirected to the ProxyEgressPort. It can be an empty list.

  • EgressIgnoredIPs - (Required) The egress traffic going to the specified IP addresses is ignored and not redirected to the ProxyEgressPort. It can be an empty list.

" + } + }, + "documentation":"

The configuration details for the App Mesh proxy.

For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ecs-init package to enable a proxy configuration. If your container instances are launched from the Amazon ECS-optimized AMI version 20190301 or later, then they contain the required versions of the container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

For tasks using the Fargate launch type, the task or service requires platform version 1.3.0 or later.

" + }, + "ProxyConfigurationProperties":{ + "type":"list", + "member":{"shape":"KeyValuePair"} + }, + "ProxyConfigurationType":{ + "type":"string", + "enum":["APPMESH"] + }, + "PutAccountSettingDefaultRequest":{ + "type":"structure", + "required":[ + "name", + "value" + ], + "members":{ + "name":{ + "shape":"SettingName", + "documentation":"

The resource name for which to modify the account setting. If serviceLongArnFormat is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat is specified, the ARN and resource ID for your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, the ARN and resource ID for your Amazon ECS container instances is affected. If awsvpcTrunking is specified, the ENI limit for your Amazon ECS container instances is affected.

" + }, + "value":{ + "shape":"String", + "documentation":"

The account setting value for the specified principal ARN. Accepted values are enabled and disabled.

" + } + } + }, + "PutAccountSettingDefaultResponse":{ + "type":"structure", + "members":{ + "setting":{"shape":"Setting"} + } + }, "PutAccountSettingRequest":{ "type":"structure", "required":[ @@ -2567,15 +2980,15 @@ "members":{ "name":{ "shape":"SettingName", - "documentation":"

The resource name for which to enable the new format. If serviceLongArnFormat is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat is specified, the ARN and resource ID for your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, the ARN and resource ID for your Amazon ECS container instances is affected.

" + "documentation":"

The resource name for which to modify the account setting. If serviceLongArnFormat is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat is specified, the ARN and resource ID for your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, the ARN and resource ID for your Amazon ECS container instances is affected. If awsvpcTrunking is specified, the ENI limit for your Amazon ECS container instances is affected.

" }, "value":{ "shape":"String", - "documentation":"

The account setting value for the specified principal ARN. Accepted values are ENABLED and DISABLED.

" + "documentation":"

The account setting value for the specified principal ARN. Accepted values are enabled and disabled.

" }, "principalArn":{ "shape":"String", - "documentation":"

The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you specify the root user, it modifies the ARN and resource ID format for all IAM users, IAM roles, and the root user of the account unless an IAM user or role explicitly overrides these settings for themselves. If this field is omitted, the setting are changed only for the authenticated user.

" + "documentation":"

The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you specify the root user, it modifies the account setting for all IAM users, IAM roles, and the root user of the account unless an IAM user or role explicitly overrides these settings. If this field is omitted, the setting is changed only for the authenticated user.

" } } }, @@ -2642,6 +3055,10 @@ "shape":"Attributes", "documentation":"

The container instance attributes that this container instance supports.

" }, + "platformDevices":{ + "shape":"PlatformDevices", + "documentation":"

The devices that are available on the container instance. The only supported device type is a GPU.

" + }, "tags":{ "shape":"Tags", "documentation":"

The metadata that you apply to the container instance to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

" @@ -2666,11 +3083,11 @@ "members":{ "family":{ "shape":"String", - "documentation":"

You must specify a family for a task definition, which allows you to track multiple versions of the same task definition. The family is used as a name for your task definition. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

" + "documentation":"

You must specify a family for a task definition, which allows you to track multiple versions of the same task definition. The family is used as a name for your task definition. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed.

" }, "taskRoleArn":{ "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers in this task are granted the permissions that are specified in this role. For more information, see IAM Roles for Tasks in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The short name or full Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers in this task are granted the permissions that are specified in this role. For more information, see IAM Roles for Tasks in the Amazon Elastic Container Service Developer Guide.

" }, "executionRoleArn":{ "shape":"String", @@ -2678,7 +3095,7 @@ }, "networkMode":{ "shape":"NetworkMode", - "documentation":"

The Docker networking mode to use for the containers in the task. The valid values are none, bridge, awsvpc, and host. The default Docker network mode is bridge. If you are using the Fargate launch type, the awsvpc network mode is required. If you are using the EC2 launch type, any network mode can be used. If the network mode is set to none, you cannot specify port mappings in your container definitions, and the tasks containers do not have external connectivity. The host and awsvpc network modes offer the highest networking performance for containers because they use the EC2 network stack instead of the virtualized network stack provided by the bridge mode.

With the host and awsvpc network modes, exposed container ports are mapped directly to the corresponding host port (for the host network mode) or the attached elastic network interface port (for the awsvpc network mode), so you cannot take advantage of dynamic host port mappings.

If the network mode is awsvpc, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration value when you create a service or run a task with the task definition. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with the ecs-init package, or AWS Fargate infrastructure support the awsvpc network mode.

If the network mode is host, you cannot run multiple instantiations of the same task on a single container instance when port mappings are used.

Docker for Windows uses different network modes than Docker for Linux. When you register a task definition with Windows containers, you must not specify a network mode. If you use the console to register a task definition with Windows containers, you must choose the <default> network mode object.

For more information, see Network settings in the Docker run reference.

" + "documentation":"

The Docker networking mode to use for the containers in the task. The valid values are none, bridge, awsvpc, and host. The default Docker network mode is bridge. If you are using the Fargate launch type, the awsvpc network mode is required. If you are using the EC2 launch type, any network mode can be used. If the network mode is set to none, you cannot specify port mappings in your container definitions, and the tasks containers do not have external connectivity. The host and awsvpc network modes offer the highest networking performance for containers because they use the EC2 network stack instead of the virtualized network stack provided by the bridge mode.

With the host and awsvpc network modes, exposed container ports are mapped directly to the corresponding host port (for the host network mode) or the attached elastic network interface port (for the awsvpc network mode), so you cannot take advantage of dynamic host port mappings.

If the network mode is awsvpc, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration value when you create a service or run a task with the task definition. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with the ecs-init package, or AWS Fargate infrastructure support the awsvpc network mode.

If the network mode is host, you cannot run multiple instantiations of the same task on a single container instance when port mappings are used.

Docker for Windows uses different network modes than Docker for Linux. When you register a task definition with Windows containers, you must not specify a network mode. If you use the console to register a task definition with Windows containers, you must choose the <default> network mode object.

For more information, see Network settings in the Docker run reference.

" }, "containerDefinitions":{ "shape":"ContainerDefinitions", @@ -2714,8 +3131,9 @@ }, "ipcMode":{ "shape":"IpcMode", - "documentation":"

The IPC resource namespace to use for the containers in the task. The valid values are host, task, or none. If host is specified, then all containers within the tasks that specified the host IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance. If task is specified, all containers within the specified task share the same IPC resources. If none is specified, then IPC resources within the containers of a task are private and not shared with other containers in a task or on the container instance. If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see IPC settings in the Docker run reference.

If the host IPC mode is used, be aware that there is a heightened risk of undesired IPC namespace expose. For more information, see Docker security.

If you are setting namespaced kernel parameters using systemControls for the containers in the task, the following will apply to your IPC resource namespace. For more information, see System Controls in the Amazon Elastic Container Service Developer Guide.

  • For tasks that use the host IPC mode, IPC namespace related systemControls are not supported.

  • For tasks that use the task IPC mode, IPC namespace related systemControls will apply to all containers within a task.

This parameter is not supported for Windows containers or tasks using the Fargate launch type.

" - } + "documentation":"

The IPC resource namespace to use for the containers in the task. The valid values are host, task, or none. If host is specified, then all containers within the tasks that specified the host IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance. If task is specified, all containers within the specified task share the same IPC resources. If none is specified, then IPC resources within the containers of a task are private and not shared with other containers in a task or on the container instance. If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see IPC settings in the Docker run reference.

If the host IPC mode is used, be aware that there is a heightened risk of undesired IPC namespace expose. For more information, see Docker security.

If you are setting namespaced kernel parameters using systemControls for the containers in the task, the following will apply to your IPC resource namespace. For more information, see System Controls in the Amazon Elastic Container Service Developer Guide.

  • For tasks that use the host IPC mode, IPC namespace related systemControls are not supported.

  • For tasks that use the task IPC mode, IPC namespace related systemControls will apply to all containers within a task.

This parameter is not supported for Windows containers or tasks using the Fargate launch type.

" + }, + "proxyConfiguration":{"shape":"ProxyConfiguration"} } }, "RegisterTaskDefinitionResponse":{ @@ -2783,6 +3201,32 @@ "documentation":"

The specified resource could not be found.

", "exception":true }, + "ResourceRequirement":{ + "type":"structure", + "required":[ + "value", + "type" + ], + "members":{ + "value":{ + "shape":"String", + "documentation":"

The number of physical GPUs the Amazon ECS container agent will reserve for the container. The number of GPUs reserved for all containers in a task should not exceed the number of available GPUs on the container instance the task is launched on.

" + }, + "type":{ + "shape":"ResourceType", + "documentation":"

The type of resource to assign to a container. The only supported value is GPU.

" + } + }, + "documentation":"

The type and amount of a resource to assign to a container. The only supported resource is a GPU. For more information, see Working with GPUs on Amazon ECS in the Amazon Elastic Container Service Developer Guide

" + }, + "ResourceRequirements":{ + "type":"list", + "member":{"shape":"ResourceRequirement"} + }, + "ResourceType":{ + "type":"string", + "enum":["GPU"] + }, "Resources":{ "type":"list", "member":{"shape":"Resource"} @@ -2825,15 +3269,15 @@ }, "launchType":{ "shape":"LaunchType", - "documentation":"

The launch type on which to run your task. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The launch type on which to run your task. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

" }, "platformVersion":{ "shape":"String", - "documentation":"

The platform version the task should run. A platform version is only specified for tasks using the Fargate launch type. If one is not specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The platform version the task should run. A platform version is only specified for tasks using the Fargate launch type. If one is not specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" }, "networkConfiguration":{ "shape":"NetworkConfiguration", - "documentation":"

The network configuration for the task. This parameter is required for task definitions that use the awsvpc network mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The network configuration for the task. This parameter is required for task definitions that use the awsvpc network mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

" }, "tags":{ "shape":"Tags", @@ -2841,11 +3285,11 @@ }, "enableECSManagedTags":{ "shape":"Boolean", - "documentation":"

Specifies whether to enable Amazon ECS managed tags for the task. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

Specifies whether to enable Amazon ECS managed tags for the task. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.

" }, "propagateTags":{ "shape":"PropagateTags", - "documentation":"

Specifies whether to propagate the tags from the task definition or the service to the task. If no value is specified, the tags are not propagated.

" + "documentation":"

Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags are not propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the TagResource API action.

An error will be received if you specify the SERVICE option when running a task.

" } } }, @@ -2867,14 +3311,14 @@ "members":{ "value":{ "shape":"Double", - "documentation":"

The value, specified as a percent total of a service's desiredCount, to scale the task set.

" + "documentation":"

The value, specified as a percent total of a service's desiredCount, to scale the task set. Accepted values are numbers between 0 and 100.

" }, "unit":{ "shape":"ScaleUnit", "documentation":"

The unit of measure for the scale value.

" } }, - "documentation":"

A floating-point percentage of the desired number of tasks to place and keep running in the service. This is used when a service uses the CODE_DEPLOY deployment controller type.

" + "documentation":"

A floating-point percentage of the desired number of tasks to place and keep running in the task set.

" }, "ScaleUnit":{ "type":"string", @@ -2903,14 +3347,14 @@ "members":{ "name":{ "shape":"String", - "documentation":"

The value to set as the environment variable on the container.

" + "documentation":"

The name of the secret.

" }, "valueFrom":{ "shape":"String", - "documentation":"

The secret to expose to the container. Supported values are either the full ARN or the name of the parameter in the AWS Systems Manager Parameter Store.

" + "documentation":"

The secret to expose to the container. The supported values are either the full ARN of the AWS Secrets Manager secret or the full ARN of the parameter in the AWS Systems Manager Parameter Store.

If the AWS Systems Manager Parameter Store parameter exists in the same Region as the task you are launching, then you can use either the full ARN or name of the parameter. If the parameter exists in a different Region, then the full ARN must be specified.

" } }, - "documentation":"

An object representing the secret to expose to your container.

" + "documentation":"

An object representing the secret to expose to your container. Secrets can be exposed to a container in the following ways:

  • To inject sensitive data into your containers as environment variables, use the secrets container definition parameter.

  • To reference sensitive information in the log configuration of a container, use the secretOptions container definition parameter.

For more information, see Specifying Sensitive Data in the Amazon Elastic Container Service Developer Guide.

" }, "SecretList":{ "type":"list", @@ -2930,11 +3374,11 @@ "members":{ "serviceArn":{ "shape":"String", - "documentation":"

The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace, followed by the Region of the service, the AWS account ID of the service owner, the service namespace, and then the service name. For example, arn:aws:ecs:region:012345678910:service/my-service .

" + "documentation":"

The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace, followed by the Region of the service, the AWS account ID of the service owner, the service namespace, and then the service name. For example, arn:aws:ecs:region:012345678910:service/my-service.

" }, "serviceName":{ "shape":"String", - "documentation":"

The name of your service. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. Service names must be unique within a cluster, but you can have similarly named services in multiple clusters within a Region or across multiple Regions.

" + "documentation":"

The name of your service. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. Service names must be unique within a cluster, but you can have similarly named services in multiple clusters within a Region or across multiple Regions.

" }, "clusterArn":{ "shape":"String", @@ -2946,7 +3390,7 @@ }, "serviceRegistries":{ "shape":"ServiceRegistries", - "documentation":"

" + "documentation":"

The details of the service discovery registries to assign to this service. For more information, see Service Discovery.

" }, "status":{ "shape":"String", @@ -2966,11 +3410,11 @@ }, "launchType":{ "shape":"LaunchType", - "documentation":"

The launch type on which your service is running. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The launch type on which your service is running. If no value is specified, it will default to EC2. Valid values include EC2 and FARGATE. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

" }, "platformVersion":{ "shape":"String", - "documentation":"

The platform version on which your tasks in the service are running. A platform version is only specified for tasks using the Fargate launch type. If one is not specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The platform version on which to run your service. A platform version is only specified for tasks using the Fargate launch type. If one is not specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" }, "taskDefinition":{ "shape":"String", @@ -2982,7 +3426,7 @@ }, "taskSets":{ "shape":"TaskSets", - "documentation":"

Information about a set of Amazon ECS tasks in an AWS CodeDeploy deployment. An Amazon ECS task set includes details such as the desired number of tasks, how many tasks are running, and whether the task set serves production traffic.

" + "documentation":"

Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or an EXTERNAL deployment. An Amazon ECS task set includes details such as the desired number of tasks, how many tasks are running, and whether the task set serves production traffic.

" }, "deployments":{ "shape":"Deployments", @@ -3018,7 +3462,7 @@ }, "schedulingStrategy":{ "shape":"SchedulingStrategy", - "documentation":"

The scheduling strategy to use for the service. For more information, see Services.

There are two service scheduler strategies available:

  • REPLICA-The replica scheduling strategy places and maintains the desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions.

  • DAEMON-The daemon scheduling strategy deploys exactly one task on each container instance in your cluster. When you are using this strategy, do not specify a desired number of tasks or any task placement strategies.

    Fargate tasks do not support the DAEMON scheduling strategy.

" + "documentation":"

The scheduling strategy to use for the service. For more information, see Services.

There are two service scheduler strategies available:

  • REPLICA-The replica scheduling strategy places and maintains the desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions.

  • DAEMON-The daemon scheduling strategy deploys exactly one task on each container instance in your cluster. When you are using this strategy, do not specify a desired number of tasks or any task placement strategies.

    Fargate tasks do not support the DAEMON scheduling strategy.

" }, "deploymentController":{ "shape":"DeploymentController", @@ -3034,7 +3478,7 @@ }, "enableECSManagedTags":{ "shape":"Boolean", - "documentation":"

Specifies whether to enable Amazon ECS managed tags for the tasks in the service. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

Specifies whether to enable Amazon ECS managed tags for the tasks in the service. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.

" }, "propagateTags":{ "shape":"PropagateTags", @@ -3096,7 +3540,7 @@ "members":{ "registryArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is Amazon Route 53 Auto Naming. For more information, see Service.

" + "documentation":"

The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is AWS Cloud Map. For more information, see CreateService.

" }, "port":{ "shape":"BoxedInteger", @@ -3126,7 +3570,7 @@ }, "value":{ "shape":"String", - "documentation":"

The current account setting for the resource name. If ENABLED, then the resource will receive the new Amazon Resource Name (ARN) and resource identifier (ID) format. If DISABLED, then the resource will receive the old Amazon Resource Name (ARN) and resource identifier (ID) format.

" + "documentation":"

The current account setting for the resource name. If enabled, the resource receives the new Amazon Resource Name (ARN) and resource identifier (ID) format. If disabled, the resource receives the old Amazon Resource Name (ARN) and resource identifier (ID) format.

" }, "principalArn":{ "shape":"String", @@ -3140,7 +3584,8 @@ "enum":[ "serviceLongArnFormat", "taskLongArnFormat", - "containerInstanceLongArnFormat" + "containerInstanceLongArnFormat", + "awsvpcTrunking" ] }, "Settings":{ @@ -3202,7 +3647,7 @@ }, "enableECSManagedTags":{ "shape":"Boolean", - "documentation":"

Specifies whether to enable Amazon ECS managed tags for the task. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

Specifies whether to enable Amazon ECS managed tags for the task. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.

" }, "propagateTags":{ "shape":"PropagateTags", @@ -3237,7 +3682,7 @@ }, "task":{ "shape":"String", - "documentation":"

The task ID or full ARN entry of the task to stop.

" + "documentation":"

The task ID or full Amazon Resource Name (ARN) of the task to stop.

" }, "reason":{ "shape":"String", @@ -3264,6 +3709,29 @@ "key":{"shape":"String"}, "value":{"shape":"String"} }, + "SubmitAttachmentStateChangesRequest":{ + "type":"structure", + "required":["attachments"], + "members":{ + "cluster":{ + "shape":"String", + "documentation":"

The short name or full ARN of the cluster that hosts the container instance the attachment belongs to.

" + }, + "attachments":{ + "shape":"AttachmentStateChanges", + "documentation":"

Any attachments associated with the state change request.

" + } + } + }, + "SubmitAttachmentStateChangesResponse":{ + "type":"structure", + "members":{ + "acknowledgment":{ + "shape":"String", + "documentation":"

Acknowledgement of the state change.

" + } + } + }, "SubmitContainerStateChangeRequest":{ "type":"structure", "members":{ @@ -3468,11 +3936,11 @@ }, "lastStatus":{ "shape":"String", - "documentation":"

The last known status of the task. For more information, see Task Lifecycle.

" + "documentation":"

The last known status of the task. For more information, see Task Lifecycle.

" }, "desiredStatus":{ "shape":"String", - "documentation":"

The desired status of the task. For more information, see Task Lifecycle.

" + "documentation":"

The desired status of the task. For more information, see Task Lifecycle.

" }, "cpu":{ "shape":"String", @@ -3544,11 +4012,11 @@ }, "launchType":{ "shape":"LaunchType", - "documentation":"

The launch type on which your task is running. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The launch type on which your task is running. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

" }, "platformVersion":{ "shape":"String", - "documentation":"

The platform version on which your task is running. A platform version is only specified for tasks using the Fargate launch type. If one is not specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The platform version on which your task is running. A platform version is only specified for tasks using the Fargate launch type. If one is not specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" }, "attachments":{ "shape":"Attachments", @@ -3574,23 +4042,23 @@ }, "containerDefinitions":{ "shape":"ContainerDefinitions", - "documentation":"

A list of container definitions in JSON format that describe the different containers that make up your task. For more information about container definition parameters and defaults, see Amazon ECS Task Definitions in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

A list of container definitions in JSON format that describe the different containers that make up your task. For more information about container definition parameters and defaults, see Amazon ECS Task Definitions in the Amazon Elastic Container Service Developer Guide.

" }, "family":{ "shape":"String", - "documentation":"

The family of your task definition, used as the definition name.

" + "documentation":"

The name of a family that this task definition is registered to. A family groups multiple versions of a task definition. Amazon ECS gives the first task definition that you registered to a family a revision number of 1. Amazon ECS gives sequential revision numbers to each task definition that you add.

" }, "taskRoleArn":{ "shape":"String", - "documentation":"

The ARN of the IAM role that containers in this task can assume. All containers in this task are granted the permissions that are specified in this role.

IAM roles for tasks on Windows require that the -EnableTaskIAMRole option is set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also run some configuration code in order to take advantage of the feature. For more information, see Windows IAM Roles for Tasks in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that grants containers in the task permission to call AWS APIs on your behalf. For more information, see Amazon ECS Task Role in the Amazon Elastic Container Service Developer Guide.

IAM roles for tasks on Windows require that the -EnableTaskIAMRole option is set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also run some configuration code in order to take advantage of the feature. For more information, see Windows IAM Roles for Tasks in the Amazon Elastic Container Service Developer Guide.

" }, "executionRoleArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume.

" + "documentation":"

The Amazon Resource Name (ARN) of the task execution role that containers in this task can assume. All containers in this task are granted the permissions that are specified in this role.

" }, "networkMode":{ "shape":"NetworkMode", - "documentation":"

The Docker networking mode to use for the containers in the task. The valid values are none, bridge, awsvpc, and host. The default Docker network mode is bridge. If you are using the Fargate launch type, the awsvpc network mode is required. If you are using the EC2 launch type, any network mode can be used. If the network mode is set to none, you cannot specify port mappings in your container definitions, and the tasks containers do not have external connectivity. The host and awsvpc network modes offer the highest networking performance for containers because they use the EC2 network stack instead of the virtualized network stack provided by the bridge mode.

With the host and awsvpc network modes, exposed container ports are mapped directly to the corresponding host port (for the host network mode) or the attached elastic network interface port (for the awsvpc network mode), so you cannot take advantage of dynamic host port mappings.

If the network mode is awsvpc, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration value when you create a service or run a task with the task definition. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with the ecs-init package, or AWS Fargate infrastructure support the awsvpc network mode.

If the network mode is host, you cannot run multiple instantiations of the same task on a single container instance when port mappings are used.

Docker for Windows uses different network modes than Docker for Linux. When you register a task definition with Windows containers, you must not specify a network mode. If you use the console to register a task definition with Windows containers, you must choose the <default> network mode object.

For more information, see Network settings in the Docker run reference.

" + "documentation":"

The Docker networking mode to use for the containers in the task. The valid values are none, bridge, awsvpc, and host. The default Docker network mode is bridge. If you are using the Fargate launch type, the awsvpc network mode is required. If you are using the EC2 launch type, any network mode can be used. If the network mode is set to none, you cannot specify port mappings in your container definitions, and the tasks containers do not have external connectivity. The host and awsvpc network modes offer the highest networking performance for containers because they use the EC2 network stack instead of the virtualized network stack provided by the bridge mode.

With the host and awsvpc network modes, exposed container ports are mapped directly to the corresponding host port (for the host network mode) or the attached elastic network interface port (for the awsvpc network mode), so you cannot take advantage of dynamic host port mappings.

If the network mode is awsvpc, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration value when you create a service or run a task with the task definition. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with the ecs-init package, or AWS Fargate infrastructure support the awsvpc network mode.

If the network mode is host, you cannot run multiple instantiations of the same task on a single container instance when port mappings are used.

Docker for Windows uses different network modes than Docker for Linux. When you register a task definition with Windows containers, you must not specify a network mode. If you use the console to register a task definition with Windows containers, you must choose the <default> network mode object.

For more information, see Network settings in the Docker run reference.

" }, "revision":{ "shape":"Integer", @@ -3598,7 +4066,7 @@ }, "volumes":{ "shape":"VolumeList", - "documentation":"

The list of volumes in a task.

If you are using the Fargate launch type, the host and sourcePath parameters are not supported.

For more information about volume definition parameters and defaults, see Amazon ECS Task Definitions in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The list of volume definitions for the task.

If your tasks are using the Fargate launch type, the host and sourcePath parameters are not supported.

For more information about volume definition parameters and defaults, see Amazon ECS Task Definitions in the Amazon Elastic Container Service Developer Guide.

" }, "status":{ "shape":"TaskDefinitionStatus", @@ -3614,11 +4082,11 @@ }, "compatibilities":{ "shape":"CompatibilityList", - "documentation":"

The launch type to use with your task. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The launch type to use with your task. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

" }, "requiresCompatibilities":{ "shape":"CompatibilityList", - "documentation":"

The launch type that the task is using.

" + "documentation":"

The launch type the task requires. If no value is specified, it will default to EC2. Valid values include EC2 and FARGATE.

" }, "cpu":{ "shape":"String", @@ -3634,10 +4102,14 @@ }, "ipcMode":{ "shape":"IpcMode", - "documentation":"

The IPC resource namespace to use for the containers in the task. The valid values are host, task, or none. If host is specified, then all containers within the tasks that specified the host IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance. If task is specified, all containers within the specified task share the same IPC resources. If none is specified, then IPC resources within the containers of a task are private and not shared with other containers in a task or on the container instance. If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see IPC settings in the Docker run reference.

If the host IPC mode is used, be aware that there is a heightened risk of undesired IPC namespace expose. For more information, see Docker security.

If you are setting namespaced kernel parameters using systemControls for the containers in the task, the following will apply to your IPC resource namespace. For more information, see System Controls in the Amazon Elastic Container Service Developer Guide.

  • For tasks that use the host IPC mode, IPC namespace related systemControls are not supported.

  • For tasks that use the task IPC mode, IPC namespace related systemControls will apply to all containers within a task.

This parameter is not supported for Windows containers or tasks using the Fargate launch type.

" + "documentation":"

The IPC resource namespace to use for the containers in the task. The valid values are host, task, or none. If host is specified, then all containers within the tasks that specified the host IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance. If task is specified, all containers within the specified task share the same IPC resources. If none is specified, then IPC resources within the containers of a task are private and not shared with other containers in a task or on the container instance. If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see IPC settings in the Docker run reference.

If the host IPC mode is used, be aware that there is a heightened risk of undesired IPC namespace expose. For more information, see Docker security.

If you are setting namespaced kernel parameters using systemControls for the containers in the task, the following will apply to your IPC resource namespace. For more information, see System Controls in the Amazon Elastic Container Service Developer Guide.

  • For tasks that use the host IPC mode, IPC namespace related systemControls are not supported.

  • For tasks that use the task IPC mode, IPC namespace related systemControls will apply to all containers within a task.

This parameter is not supported for Windows containers or tasks using the Fargate launch type.

" + }, + "proxyConfiguration":{ + "shape":"ProxyConfiguration", + "documentation":"

The configuration details for the App Mesh proxy.

Your Amazon ECS container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ecs-init package to enable a proxy configuration. If your container instances are launched from the Amazon ECS-optimized AMI version 20190301 or later, then they contain the required versions of the container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

" } }, - "documentation":"

Details of a task definition.

" + "documentation":"

The details of a task definition which describes the container and volume definitions of an Amazon Elastic Container Service task. You can specify which Docker images to use, the required resources, and other configurations related to launching the task definition through an Amazon ECS service or task.

" }, "TaskDefinitionFamilyStatus":{ "type":"string", @@ -3664,10 +4136,10 @@ }, "expression":{ "shape":"String", - "documentation":"

A cluster query language expression to apply to the constraint. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

A cluster query language expression to apply to the constraint. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.

" } }, - "documentation":"

An object representing a constraint on task placement in the task definition.

If you are using the Fargate launch type, task placement constraints are not supported.

For more information, see Task Placement Constraints in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

An object representing a constraint on task placement in the task definition.

If you are using the Fargate launch type, task placement constraints are not supported.

For more information, see Task Placement Constraints in the Amazon Elastic Container Service Developer Guide.

" }, "TaskDefinitionPlacementConstraintType":{ "type":"string", @@ -3721,13 +4193,21 @@ "shape":"String", "documentation":"

The Amazon Resource Name (ARN) of the task set.

" }, + "serviceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the service the task set exists in.

" + }, + "clusterArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the cluster that the service that hosts the task set exists in.

" + }, "startedBy":{ "shape":"String", - "documentation":"

The tag specified when a task set is started. If the task is started by an AWS CodeDeploy deployment, then the startedBy parameter is CODE_DEPLOY.

" + "documentation":"

The tag specified when a task set is started. If the task set is created by an AWS CodeDeploy deployment, the startedBy parameter is CODE_DEPLOY. For a task set created for an external deployment, the startedBy field isn't used.

" }, "externalId":{ "shape":"String", - "documentation":"

The deployment ID of the AWS CodeDeploy deployment.

" + "documentation":"

The external ID associated with the task set.

If a task set is created by an AWS CodeDeploy deployment, the externalId parameter contains the AWS CodeDeploy deployment ID.

If a task set is created for an external deployment and is associated with a service discovery registry, the externalId parameter contains the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute.

" }, "status":{ "shape":"String", @@ -3739,11 +4219,11 @@ }, "computedDesiredCount":{ "shape":"Integer", - "documentation":"

The computed desired count for the task set. This is calculated by multiplying the service's desiredCount by the task set's scale percentage.

" + "documentation":"

The computed desired count for the task set. This is calculated by multiplying the service's desiredCount by the task set's scale percentage. The result is always rounded up. For example, if the computed desired count is 1.2, it rounds up to 2 tasks.

" }, "pendingCount":{ "shape":"Integer", - "documentation":"

The number of tasks in the task set that are in the PENDING status during a deployment. A task in the PENDING state is preparing to enter the RUNNING state. A task set enters the PENDING status when it launches for the first time, or when it is restarted after being in the STOPPED state.

" + "documentation":"

The number of tasks in the task set that are in the PENDING status during a deployment. A task in the PENDING state is preparing to enter the RUNNING state. A task set enters the PENDING status when it launches for the first time or when it is restarted after being in the STOPPED state.

" }, "runningCount":{ "shape":"Integer", @@ -3759,11 +4239,11 @@ }, "launchType":{ "shape":"LaunchType", - "documentation":"

The launch type the tasks in the task set are using. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The launch type the tasks in the task set are using. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

" }, "platformVersion":{ "shape":"String", - "documentation":"

The platform version on which the tasks in the task set are running. A platform version is only specified for tasks using the Fargate launch type. If one is not specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The platform version on which the tasks in the task set are running. A platform version is only specified for tasks using the Fargate launch type. If one is not specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" }, "networkConfiguration":{ "shape":"NetworkConfiguration", @@ -3773,20 +4253,31 @@ "shape":"LoadBalancers", "documentation":"

Details on a load balancer that is used with a task set.

" }, + "serviceRegistries":{ + "shape":"ServiceRegistries", + "documentation":"

The details of the service discovery registries to assign to this task set. For more information, see Service Discovery.

" + }, "scale":{ "shape":"Scale", - "documentation":"

A floating-point percentage of the desired number of tasks to place and keep running in the service.

" + "documentation":"

A floating-point percentage of the desired number of tasks to place and keep running in the task set.

" }, "stabilityStatus":{ "shape":"StabilityStatus", - "documentation":"

The stability status, which indicates whether the task set has reached a steady state. If the following conditions are met, the task set will be in STEADY_STATE:

  • The task runningCount is equal to the computedDesiredCount.

  • The pendingCount is 0.

  • There are no tasks running on container instances in the DRAINING status.

  • All tasks are reporting a healthy status from the load balancers, service discovery, and container health checks.

If any of those conditions are not met, the stability status returns STABILIZING.

" + "documentation":"

The stability status, which indicates whether the task set has reached a steady state. If the following conditions are met, the task set will be in STEADY_STATE:

  • The task runningCount is equal to the computedDesiredCount.

  • The pendingCount is 0.

  • There are no tasks running on container instances in the DRAINING status.

  • All tasks are reporting a healthy status from the load balancers, service discovery, and container health checks.

    If a healthCheckGracePeriodSeconds value was set when the service was created, you may see a STEADY_STATE reached since unhealthy Elastic Load Balancing target health checks will be ignored until it expires.

If any of those conditions are not met, the stability status returns STABILIZING.

" }, "stabilityStatusAt":{ "shape":"Timestamp", "documentation":"

The Unix timestamp for when the task set stability status was retrieved.

" } }, - "documentation":"

Information about a set of Amazon ECS tasks in an AWS CodeDeploy deployment. An Amazon ECS task set includes details such as the desired number of tasks, how many tasks are running, and whether the task set serves production traffic.

" + "documentation":"

Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or an EXTERNAL deployment. An Amazon ECS task set includes details such as the desired number of tasks, how many tasks are running, and whether the task set serves production traffic.

" + }, + "TaskSetNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified task set could not be found. You can view your available container instances with DescribeTaskSets. Task sets are specific to each cluster, service and Region.

", + "exception":true }, "TaskSets":{ "type":"list", @@ -3954,7 +4445,7 @@ }, "status":{ "shape":"ContainerInstanceStatus", - "documentation":"

The container instance state with which to update the container instance.

" + "documentation":"

The container instance state with which to update the container instance. The only valid values for this action are ACTIVE and DRAINING. A container instance can only be updated to DRAINING status once it has reached an ACTIVE state. If a container instance is in REGISTERING, DEREGISTERING, or REGISTRATION_FAILED state you can describe the container instance but will be unable to update the container instance state.

" } } }, @@ -3978,6 +4469,34 @@ "documentation":"

There is already a current Amazon ECS container agent update in progress on the specified container instance. If the container agent becomes disconnected while it is in a transitional stage, such as PENDING or STAGING, the update process can get stuck in that state. However, when the agent reconnects, it resumes where it stopped previously.

", "exception":true }, + "UpdateServicePrimaryTaskSetRequest":{ + "type":"structure", + "required":[ + "cluster", + "service", + "primaryTaskSet" + ], + "members":{ + "cluster":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task set exists in.

" + }, + "service":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.

" + }, + "primaryTaskSet":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the task set to set as the primary task set in the deployment.

" + } + } + }, + "UpdateServicePrimaryTaskSetResponse":{ + "type":"structure", + "members":{ + "taskSet":{"shape":"TaskSet"} + } + }, "UpdateServiceRequest":{ "type":"structure", "required":["service"], @@ -4004,11 +4523,11 @@ }, "networkConfiguration":{ "shape":"NetworkConfiguration", - "documentation":"

The network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

Updating a service to add a subnet to a list of existing subnets does not trigger a service deployment. For example, if your network configuration change is to keep the existing subnets and simply add another subnet to the network configuration, this does not trigger a new service deployment.

" + "documentation":"

The network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

Updating a service to add a subnet to a list of existing subnets does not trigger a service deployment. For example, if your network configuration change is to keep the existing subnets and simply add another subnet to the network configuration, this does not trigger a new service deployment.

" }, "platformVersion":{ "shape":"String", - "documentation":"

The platform version on which your tasks in the service are running. A platform version is only specified for tasks using the Fargate launch type. If one is not specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The platform version on which your tasks in the service are running. A platform version is only specified for tasks using the Fargate launch type. If one is not specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" }, "forceNewDeployment":{ "shape":"Boolean", @@ -4029,6 +4548,36 @@ } } }, + "UpdateTaskSetRequest":{ + "type":"structure", + "required":[ + "cluster", + "service", + "taskSet", + "scale" + ], + "members":{ + "cluster":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task set exists in.

" + }, + "service":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.

" + }, + "taskSet":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the task set to update.

" + }, + "scale":{"shape":"Scale"} + } + }, + "UpdateTaskSetResponse":{ + "type":"structure", + "members":{ + "taskSet":{"shape":"TaskSet"} + } + }, "VersionInfo":{ "type":"structure", "members":{ @@ -4052,7 +4601,7 @@ "members":{ "name":{ "shape":"String", - "documentation":"

The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. This name is referenced in the sourceVolume parameter of container definition mountPoints.

" + "documentation":"

The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. This name is referenced in the sourceVolume parameter of container definition mountPoints.

" }, "host":{ "shape":"HostVolumeProperties", @@ -4063,7 +4612,7 @@ "documentation":"

This parameter is specified when you are using Docker volumes. Docker volumes are only supported when you are using the EC2 launch type. Windows containers only support the use of the local driver. To use bind mounts, specify a host instead.

" } }, - "documentation":"

A data volume used in a task definition. For tasks that use a Docker volume, specify a DockerVolumeConfiguration. For tasks that use a bind mount host volume, specify a host and optional sourcePath. For more information, see Using Data Volumes in Tasks.

" + "documentation":"

A data volume used in a task definition. For tasks that use a Docker volume, specify a DockerVolumeConfiguration. For tasks that use a bind mount host volume, specify a host and optional sourcePath. For more information, see Using Data Volumes in Tasks.

" }, "VolumeFrom":{ "type":"structure", @@ -4088,5 +4637,5 @@ "member":{"shape":"Volume"} } }, - "documentation":"

Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service that makes it easy to run, stop, and manage Docker containers on a cluster. You can host your cluster on a serverless infrastructure that is managed by Amazon ECS by launching your services or tasks using the Fargate launch type. For more control, you can host your tasks on a cluster of Amazon Elastic Compute Cloud (Amazon EC2) instances that you manage by using the EC2 launch type. For more information about launch types, see Amazon ECS Launch Types.

Amazon ECS lets you launch and stop container-based applications with simple API calls, allows you to get the state of your cluster from a centralized service, and gives you access to many familiar Amazon EC2 features.

You can use Amazon ECS to schedule the placement of containers across your cluster based on your resource needs, isolation policies, and availability requirements. Amazon ECS eliminates the need for you to operate your own cluster management and configuration management systems or worry about scaling your management infrastructure.

" + "documentation":"Amazon Elastic Container Service

Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service that makes it easy to run, stop, and manage Docker containers on a cluster. You can host your cluster on a serverless infrastructure that is managed by Amazon ECS by launching your services or tasks using the Fargate launch type. For more control, you can host your tasks on a cluster of Amazon Elastic Compute Cloud (Amazon EC2) instances that you manage by using the EC2 launch type. For more information about launch types, see Amazon ECS Launch Types.

Amazon ECS lets you launch and stop container-based applications with simple API calls, allows you to get the state of your cluster from a centralized service, and gives you access to many familiar Amazon EC2 features.

You can use Amazon ECS to schedule the placement of containers across your cluster based on your resource needs, isolation policies, and availability requirements. Amazon ECS eliminates the need for you to operate your own cluster management and configuration management systems or worry about scaling your management infrastructure.

" } diff --git a/bin/botocore/data/efs/2015-02-01/service-2.json b/bin/botocore/data/efs/2015-02-01/service-2.json index 3166d333..0e0670cf 100644 --- a/bin/botocore/data/efs/2015-02-01/service-2.json +++ b/bin/botocore/data/efs/2015-02-01/service-2.json @@ -28,7 +28,7 @@ {"shape":"InsufficientThroughputCapacity"}, {"shape":"ThroughputLimitExceeded"} ], - "documentation":"

Creates a new, empty file system. The operation requires a creation token in the request that Amazon EFS uses to ensure idempotent creation (calling the operation with same creation token has no effect). If a file system does not currently exist that is owned by the caller's AWS account with the specified creation token, this operation does the following:

  • Creates a new, empty file system. The file system will have an Amazon EFS assigned ID, and an initial lifecycle state creating.

  • Returns with the description of the created file system.

Otherwise, this operation returns a FileSystemAlreadyExists error with the ID of the existing file system.

For basic use cases, you can use a randomly generated UUID for the creation token.

The idempotent operation allows you to retry a CreateFileSystem call without risk of creating an extra file system. This can happen when an initial call fails in a way that leaves it uncertain whether or not a file system was actually created. An example might be that a transport level timeout occurred or your connection was reset. As long as you use the same creation token, if the initial call had succeeded in creating a file system, the client can learn of its existence from the FileSystemAlreadyExists error.

The CreateFileSystem call returns while the file system's lifecycle state is still creating. You can check the file system creation status by calling the DescribeFileSystems operation, which among other things returns the file system state.

This operation also takes an optional PerformanceMode parameter that you choose for your file system. We recommend generalPurpose performance mode for most file systems. File systems using the maxIO performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. The performance mode can't be changed after the file system has been created. For more information, see Amazon EFS: Performance Modes.

After the file system is fully created, Amazon EFS sets its lifecycle state to available, at which point you can create one or more mount targets for the file system in your VPC. For more information, see CreateMountTarget. You mount your Amazon EFS file system on an EC2 instances in your VPC via the mount target. For more information, see Amazon EFS: How it Works.

This operation requires permissions for the elasticfilesystem:CreateFileSystem action.

" + "documentation":"

Creates a new, empty file system. The operation requires a creation token in the request that Amazon EFS uses to ensure idempotent creation (calling the operation with same creation token has no effect). If a file system does not currently exist that is owned by the caller's AWS account with the specified creation token, this operation does the following:

  • Creates a new, empty file system. The file system will have an Amazon EFS assigned ID, and an initial lifecycle state creating.

  • Returns with the description of the created file system.

Otherwise, this operation returns a FileSystemAlreadyExists error with the ID of the existing file system.

For basic use cases, you can use a randomly generated UUID for the creation token.

The idempotent operation allows you to retry a CreateFileSystem call without risk of creating an extra file system. This can happen when an initial call fails in a way that leaves it uncertain whether or not a file system was actually created. An example might be that a transport level timeout occurred or your connection was reset. As long as you use the same creation token, if the initial call had succeeded in creating a file system, the client can learn of its existence from the FileSystemAlreadyExists error.

The CreateFileSystem call returns while the file system's lifecycle state is still creating. You can check the file system creation status by calling the DescribeFileSystems operation, which among other things returns the file system state.

This operation also takes an optional PerformanceMode parameter that you choose for your file system. We recommend generalPurpose performance mode for most file systems. File systems using the maxIO performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. The performance mode can't be changed after the file system has been created. For more information, see Amazon EFS: Performance Modes.

After the file system is fully created, Amazon EFS sets its lifecycle state to available, at which point you can create one or more mount targets for the file system in your VPC. For more information, see CreateMountTarget. You mount your Amazon EFS file system on an EC2 instances in your VPC by using the mount target. For more information, see Amazon EFS: How it Works.

This operation requires permissions for the elasticfilesystem:CreateFileSystem action.

" }, "CreateMountTarget":{ "name":"CreateMountTarget", @@ -53,7 +53,7 @@ {"shape":"SecurityGroupNotFound"}, {"shape":"UnsupportedAvailabilityZone"} ], - "documentation":"

Creates a mount target for a file system. You can then mount the file system on EC2 instances via the mount target.

You can create one mount target in each Availability Zone in your VPC. All EC2 instances in a VPC within a given Availability Zone share a single mount target for a given file system. If you have multiple subnets in an Availability Zone, you create a mount target in one of the subnets. EC2 instances do not need to be in the same subnet as the mount target in order to access their file system. For more information, see Amazon EFS: How it Works.

In the request, you also specify a file system ID for which you are creating the mount target and the file system's lifecycle state must be available. For more information, see DescribeFileSystems.

In the request, you also provide a subnet ID, which determines the following:

  • VPC in which Amazon EFS creates the mount target

  • Availability Zone in which Amazon EFS creates the mount target

  • IP address range from which Amazon EFS selects the IP address of the mount target (if you don't specify an IP address in the request)

After creating the mount target, Amazon EFS returns a response that includes, a MountTargetId and an IpAddress. You use this IP address when mounting the file system in an EC2 instance. You can also use the mount target's DNS name when mounting the file system. The EC2 instance on which you mount the file system via the mount target can resolve the mount target's DNS name to its IP address. For more information, see How it Works: Implementation Overview.

Note that you can create mount targets for a file system in only one VPC, and there can be only one mount target per Availability Zone. That is, if the file system already has one or more mount targets created for it, the subnet specified in the request to add another mount target must meet the following requirements:

  • Must belong to the same VPC as the subnets of the existing mount targets

  • Must not be in the same Availability Zone as any of the subnets of the existing mount targets

If the request satisfies the requirements, Amazon EFS does the following:

  • Creates a new mount target in the specified subnet.

  • Also creates a new network interface in the subnet as follows:

    • If the request provides an IpAddress, Amazon EFS assigns that IP address to the network interface. Otherwise, Amazon EFS assigns a free address in the subnet (in the same way that the Amazon EC2 CreateNetworkInterface call does when a request does not specify a primary private IP address).

    • If the request provides SecurityGroups, this network interface is associated with those security groups. Otherwise, it belongs to the default security group for the subnet's VPC.

    • Assigns the description Mount target fsmt-id for file system fs-id where fsmt-id is the mount target ID, and fs-id is the FileSystemId.

    • Sets the requesterManaged property of the network interface to true, and the requesterId value to EFS.

    Each Amazon EFS mount target has one corresponding requester-managed EC2 network interface. After the network interface is created, Amazon EFS sets the NetworkInterfaceId field in the mount target's description to the network interface ID, and the IpAddress field to its address. If network interface creation fails, the entire CreateMountTarget operation fails.

The CreateMountTarget call returns only after creating the network interface, but while the mount target state is still creating, you can check the mount target creation status by calling the DescribeMountTargets operation, which among other things returns the mount target state.

We recommend you create a mount target in each of the Availability Zones. There are cost considerations for using a file system in an Availability Zone through a mount target created in another Availability Zone. For more information, see Amazon EFS. In addition, by always using a mount target local to the instance's Availability Zone, you eliminate a partial failure scenario. If the Availability Zone in which your mount target is created goes down, then you won't be able to access your file system through that mount target.

This operation requires permissions for the following action on the file system:

  • elasticfilesystem:CreateMountTarget

This operation also requires permissions for the following Amazon EC2 actions:

  • ec2:DescribeSubnets

  • ec2:DescribeNetworkInterfaces

  • ec2:CreateNetworkInterface

" + "documentation":"

Creates a mount target for a file system. You can then mount the file system on EC2 instances by using the mount target.

You can create one mount target in each Availability Zone in your VPC. All EC2 instances in a VPC within a given Availability Zone share a single mount target for a given file system. If you have multiple subnets in an Availability Zone, you create a mount target in one of the subnets. EC2 instances do not need to be in the same subnet as the mount target in order to access their file system. For more information, see Amazon EFS: How it Works.

In the request, you also specify a file system ID for which you are creating the mount target and the file system's lifecycle state must be available. For more information, see DescribeFileSystems.

In the request, you also provide a subnet ID, which determines the following:

  • VPC in which Amazon EFS creates the mount target

  • Availability Zone in which Amazon EFS creates the mount target

  • IP address range from which Amazon EFS selects the IP address of the mount target (if you don't specify an IP address in the request)

After creating the mount target, Amazon EFS returns a response that includes, a MountTargetId and an IpAddress. You use this IP address when mounting the file system in an EC2 instance. You can also use the mount target's DNS name when mounting the file system. The EC2 instance on which you mount the file system by using the mount target can resolve the mount target's DNS name to its IP address. For more information, see How it Works: Implementation Overview.

Note that you can create mount targets for a file system in only one VPC, and there can be only one mount target per Availability Zone. That is, if the file system already has one or more mount targets created for it, the subnet specified in the request to add another mount target must meet the following requirements:

  • Must belong to the same VPC as the subnets of the existing mount targets

  • Must not be in the same Availability Zone as any of the subnets of the existing mount targets

If the request satisfies the requirements, Amazon EFS does the following:

  • Creates a new mount target in the specified subnet.

  • Also creates a new network interface in the subnet as follows:

    • If the request provides an IpAddress, Amazon EFS assigns that IP address to the network interface. Otherwise, Amazon EFS assigns a free address in the subnet (in the same way that the Amazon EC2 CreateNetworkInterface call does when a request does not specify a primary private IP address).

    • If the request provides SecurityGroups, this network interface is associated with those security groups. Otherwise, it belongs to the default security group for the subnet's VPC.

    • Assigns the description Mount target fsmt-id for file system fs-id where fsmt-id is the mount target ID, and fs-id is the FileSystemId.

    • Sets the requesterManaged property of the network interface to true, and the requesterId value to EFS.

    Each Amazon EFS mount target has one corresponding requester-managed EC2 network interface. After the network interface is created, Amazon EFS sets the NetworkInterfaceId field in the mount target's description to the network interface ID, and the IpAddress field to its address. If network interface creation fails, the entire CreateMountTarget operation fails.

The CreateMountTarget call returns only after creating the network interface, but while the mount target state is still creating, you can check the mount target creation status by calling the DescribeMountTargets operation, which among other things returns the mount target state.

We recommend that you create a mount target in each of the Availability Zones. There are cost considerations for using a file system in an Availability Zone through a mount target created in another Availability Zone. For more information, see Amazon EFS. In addition, by always using a mount target local to the instance's Availability Zone, you eliminate a partial failure scenario. If the Availability Zone in which your mount target is created goes down, then you can't access your file system through that mount target.

This operation requires permissions for the following action on the file system:

  • elasticfilesystem:CreateMountTarget

This operation also requires permissions for the following Amazon EC2 actions:

  • ec2:DescribeSubnets

  • ec2:DescribeNetworkInterfaces

  • ec2:CreateNetworkInterface

" }, "CreateTags":{ "name":"CreateTags", @@ -100,7 +100,7 @@ {"shape":"DependencyTimeout"}, {"shape":"MountTargetNotFound"} ], - "documentation":"

Deletes the specified mount target.

This operation forcibly breaks any mounts of the file system via the mount target that is being deleted, which might disrupt instances or applications using those mounts. To avoid applications getting cut off abruptly, you might consider unmounting any mounts of the mount target, if feasible. The operation also deletes the associated network interface. Uncommitted writes may be lost, but breaking a mount target using this operation does not corrupt the file system itself. The file system you created remains. You can mount an EC2 instance in your VPC via another mount target.

This operation requires permissions for the following action on the file system:

  • elasticfilesystem:DeleteMountTarget

The DeleteMountTarget call returns while the mount target state is still deleting. You can check the mount target deletion by calling the DescribeMountTargets operation, which returns a list of mount target descriptions for the given file system.

The operation also requires permissions for the following Amazon EC2 action on the mount target's network interface:

  • ec2:DeleteNetworkInterface

" + "documentation":"

Deletes the specified mount target.

This operation forcibly breaks any mounts of the file system by using the mount target that is being deleted, which might disrupt instances or applications using those mounts. To avoid applications getting cut off abruptly, you might consider unmounting any mounts of the mount target, if feasible. The operation also deletes the associated network interface. Uncommitted writes might be lost, but breaking a mount target using this operation does not corrupt the file system itself. The file system you created remains. You can mount an EC2 instance in your VPC by using another mount target.

This operation requires permissions for the following action on the file system:

  • elasticfilesystem:DeleteMountTarget

The DeleteMountTarget call returns while the mount target state is still deleting. You can check the mount target deletion by calling the DescribeMountTargets operation, which returns a list of mount target descriptions for the given file system.

The operation also requires permissions for the following Amazon EC2 action on the mount target's network interface:

  • ec2:DeleteNetworkInterface

" }, "DeleteTags":{ "name":"DeleteTags", @@ -115,7 +115,7 @@ {"shape":"InternalServerError"}, {"shape":"FileSystemNotFound"} ], - "documentation":"

Deletes the specified tags from a file system. If the DeleteTags request includes a tag key that does not exist, Amazon EFS ignores it and doesn't cause an error. For more information about tags and related restrictions, see Tag Restrictions in the AWS Billing and Cost Management User Guide.

This operation requires permissions for the elasticfilesystem:DeleteTags action.

" + "documentation":"

Deletes the specified tags from a file system. If the DeleteTags request includes a tag key that doesn't exist, Amazon EFS ignores it and doesn't cause an error. For more information about tags and related restrictions, see Tag Restrictions in the AWS Billing and Cost Management User Guide.

This operation requires permissions for the elasticfilesystem:DeleteTags action.

" }, "DescribeFileSystems":{ "name":"DescribeFileSystems", @@ -131,7 +131,23 @@ {"shape":"InternalServerError"}, {"shape":"FileSystemNotFound"} ], - "documentation":"

Returns the description of a specific Amazon EFS file system if either the file system CreationToken or the FileSystemId is provided. Otherwise, it returns descriptions of all file systems owned by the caller's AWS account in the AWS Region of the endpoint that you're calling.

When retrieving all file system descriptions, you can optionally specify the MaxItems parameter to limit the number of descriptions in a response. If more file system descriptions remain, Amazon EFS returns a NextMarker, an opaque token, in the response. In this case, you should send a subsequent request with the Marker request parameter set to the value of NextMarker.

To retrieve a list of your file system descriptions, this operation is used in an iterative process, where DescribeFileSystems is called first without the Marker and then the operation continues to call it with the Marker parameter set to the value of the NextMarker from the previous response until the response has no NextMarker.

The implementation may return fewer than MaxItems file system descriptions while still including a NextMarker value.

The order of file systems returned in the response of one DescribeFileSystems call and the order of file systems returned across the responses of a multi-call iteration is unspecified.

This operation requires permissions for the elasticfilesystem:DescribeFileSystems action.

" + "documentation":"

Returns the description of a specific Amazon EFS file system if either the file system CreationToken or the FileSystemId is provided. Otherwise, it returns descriptions of all file systems owned by the caller's AWS account in the AWS Region of the endpoint that you're calling.

When retrieving all file system descriptions, you can optionally specify the MaxItems parameter to limit the number of descriptions in a response. Currently, this number is automatically set to 10. If more file system descriptions remain, Amazon EFS returns a NextMarker, an opaque token, in the response. In this case, you should send a subsequent request with the Marker request parameter set to the value of NextMarker.

To retrieve a list of your file system descriptions, this operation is used in an iterative process, where DescribeFileSystems is called first without the Marker and then the operation continues to call it with the Marker parameter set to the value of the NextMarker from the previous response until the response has no NextMarker.

The order of file systems returned in the response of one DescribeFileSystems call and the order of file systems returned across the responses of a multi-call iteration is unspecified.

This operation requires permissions for the elasticfilesystem:DescribeFileSystems action.

" + }, + "DescribeLifecycleConfiguration":{ + "name":"DescribeLifecycleConfiguration", + "http":{ + "method":"GET", + "requestUri":"/2015-02-01/file-systems/{FileSystemId}/lifecycle-configuration", + "responseCode":200 + }, + "input":{"shape":"DescribeLifecycleConfigurationRequest"}, + "output":{"shape":"LifecycleConfigurationDescription"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"BadRequest"}, + {"shape":"FileSystemNotFound"} + ], + "documentation":"

Returns the current LifecycleConfiguration object for the specified Amazon EFS file system. EFS lifecycle management uses the LifecycleConfiguration object to identify which files to move to the EFS Infrequent Access (IA) storage class. For a file system without a LifecycleConfiguration object, the call returns an empty array in the response.

This operation requires permissions for the elasticfilesystem:DescribeLifecycleConfiguration operation.

" }, "DescribeMountTargetSecurityGroups":{ "name":"DescribeMountTargetSecurityGroups", @@ -181,7 +197,7 @@ {"shape":"InternalServerError"}, {"shape":"FileSystemNotFound"} ], - "documentation":"

Returns the tags associated with a file system. The order of tags returned in the response of one DescribeTags call and the order of tags returned across the responses of a multi-call iteration (when using pagination) is unspecified.

This operation requires permissions for the elasticfilesystem:DescribeTags action.

" + "documentation":"

Returns the tags associated with a file system. The order of tags returned in the response of one DescribeTags call and the order of tags returned across the responses of a multiple-call iteration (when using pagination) is unspecified.

This operation requires permissions for the elasticfilesystem:DescribeTags action.

" }, "ModifyMountTargetSecurityGroups":{ "name":"ModifyMountTargetSecurityGroups", @@ -201,6 +217,23 @@ ], "documentation":"

Modifies the set of security groups in effect for a mount target.

When you create a mount target, Amazon EFS also creates a new network interface. For more information, see CreateMountTarget. This operation replaces the security groups in effect for the network interface associated with a mount target, with the SecurityGroups provided in the request. This operation requires that the network interface of the mount target has been created and the lifecycle state of the mount target is not deleted.

The operation requires permissions for the following actions:

  • elasticfilesystem:ModifyMountTargetSecurityGroups action on the mount target's file system.

  • ec2:ModifyNetworkInterfaceAttribute action on the mount target's network interface.

" }, + "PutLifecycleConfiguration":{ + "name":"PutLifecycleConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/2015-02-01/file-systems/{FileSystemId}/lifecycle-configuration", + "responseCode":200 + }, + "input":{"shape":"PutLifecycleConfigurationRequest"}, + "output":{"shape":"LifecycleConfigurationDescription"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"InternalServerError"}, + {"shape":"FileSystemNotFound"}, + {"shape":"IncorrectFileSystemLifeCycleState"} + ], + "documentation":"

Enables lifecycle management by creating a new LifecycleConfiguration object. A LifecycleConfiguration object defines when files in an Amazon EFS file system are automatically transitioned to the lower-cost EFS Infrequent Access (IA) storage class. A LifecycleConfiguration applies to all files in a file system.

Each Amazon EFS file system supports one lifecycle configuration, which applies to all files in the file system. If a LifecycleConfiguration object already exists for the specified file system, a PutLifecycleConfiguration call modifies the existing configuration. A PutLifecycleConfiguration call with an empty LifecyclePolicies array in the request body deletes any existing LifecycleConfiguration and disables lifecycle management.

You can enable lifecycle management only for EFS file systems created after the release of EFS infrequent access.

In the request, specify the following:

  • The ID for the file system for which you are creating a lifecycle management configuration.

  • A LifecyclePolicies array of LifecyclePolicy objects that define when files are moved to the IA storage class. The array can contain only one \"TransitionToIA\": \"AFTER_30_DAYS\" LifecyclePolicy item.

This operation requires permissions for the elasticfilesystem:PutLifecycleConfiguration operation.

To apply a LifecycleConfiguration object to an encrypted file system, you need the same AWS Key Management Service (AWS KMS) permissions as when you created the encrypted file system.

" + }, "UpdateFileSystem":{ "name":"UpdateFileSystem", "http":{ @@ -241,27 +274,31 @@ "members":{ "CreationToken":{ "shape":"CreationToken", - "documentation":"

String of up to 64 ASCII characters. Amazon EFS uses this to ensure idempotent creation.

" + "documentation":"

A string of up to 64 ASCII characters. Amazon EFS uses this to ensure idempotent creation.

" }, "PerformanceMode":{ "shape":"PerformanceMode", - "documentation":"

The PerformanceMode of the file system. We recommend generalPurpose performance mode for most file systems. File systems using the maxIO performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. This can't be changed after the file system has been created.

" + "documentation":"

The performance mode of the file system. We recommend generalPurpose performance mode for most file systems. File systems using the maxIO performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. The performance mode can't be changed after the file system has been created.

" }, "Encrypted":{ "shape":"Encrypted", - "documentation":"

A Boolean value that, if true, creates an encrypted file system. When creating an encrypted file system, you have the option of specifying a CreateFileSystemRequest$KmsKeyId for an existing AWS Key Management Service (AWS KMS) customer master key (CMK). If you don't specify a CMK, then the default CMK for Amazon EFS, /aws/elasticfilesystem, is used to protect the encrypted file system.

" + "documentation":"

A Boolean value that, if true, creates an encrypted file system. When creating an encrypted file system, you have the option of specifying CreateFileSystemRequest$KmsKeyId for an existing AWS Key Management Service (AWS KMS) customer master key (CMK). If you don't specify a CMK, then the default CMK for Amazon EFS, /aws/elasticfilesystem, is used to protect the encrypted file system.

" }, "KmsKeyId":{ "shape":"KmsKeyId", - "documentation":"

The ID of the AWS KMS CMK to be used to protect the encrypted file system. This parameter is only required if you want to use a non-default CMK. If this parameter is not specified, the default CMK for Amazon EFS is used. This ID can be in one of the following formats:

  • Key ID - A unique identifier of the key, for example, 1234abcd-12ab-34cd-56ef-1234567890ab.

  • ARN - An Amazon Resource Name (ARN) for the key, for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Key alias - A previously created display name for a key. For example, alias/projectKey1.

  • Key alias ARN - An ARN for a key alias, for example, arn:aws:kms:us-west-2:444455556666:alias/projectKey1.

If KmsKeyId is specified, the CreateFileSystemRequest$Encrypted parameter must be set to true.

" + "documentation":"

The ID of the AWS KMS CMK to be used to protect the encrypted file system. This parameter is only required if you want to use a nondefault CMK. If this parameter is not specified, the default CMK for Amazon EFS is used. This ID can be in one of the following formats:

  • Key ID - A unique identifier of the key, for example 1234abcd-12ab-34cd-56ef-1234567890ab.

  • ARN - An Amazon Resource Name (ARN) for the key, for example arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Key alias - A previously created display name for a key, for example alias/projectKey1.

  • Key alias ARN - An ARN for a key alias, for example arn:aws:kms:us-west-2:444455556666:alias/projectKey1.

If KmsKeyId is specified, the CreateFileSystemRequest$Encrypted parameter must be set to true.

" }, "ThroughputMode":{ "shape":"ThroughputMode", - "documentation":"

The throughput mode for the file system to be created. There are two throughput modes to choose from for your file system: bursting and provisioned. You can decrease your file system's throughput in Provisioned Throughput mode or change between the throughput modes as long as it’s been more than 24 hours since the last decrease or throughput mode change.

" + "documentation":"

The throughput mode for the file system to be created. There are two throughput modes to choose from for your file system: bursting and provisioned. If you set ThroughputMode to provisioned, you must also set a value for ProvisionedThroughPutInMibps. You can decrease your file system's throughput in Provisioned Throughput mode or change between the throughput modes as long as it’s been more than 24 hours since the last decrease or throughput mode change. For more, see Specifying Throughput with Provisioned Mode in the Amazon EFS User Guide.

" }, "ProvisionedThroughputInMibps":{ "shape":"ProvisionedThroughputInMibps", - "documentation":"

The throughput, measured in MiB/s, that you want to provision for a file system that you're creating. The limit on throughput is 1024 MiB/s. You can get these limits increased by contacting AWS Support. For more information, see Amazon EFS Limits That You Can Increase in the Amazon EFS User Guide.

" + "documentation":"

The throughput, measured in MiB/s, that you want to provision for a file system that you're creating. Valid values are 1-1024. Required if ThroughputMode is set to provisioned. The upper limit for throughput is 1024 MiB/s. You can get this limit increased by contacting AWS Support. For more information, see Amazon EFS Limits That You Can Increase in the Amazon EFS User Guide.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A value that specifies to create one or more tags associated with the file system. Each tag is a user-defined key-value pair. Name your file system on creation by including a \"Key\":\"Name\",\"Value\":\"{value}\" key-value pair.

" } } }, @@ -274,11 +311,11 @@ "members":{ "FileSystemId":{ "shape":"FileSystemId", - "documentation":"

ID of the file system for which to create the mount target.

" + "documentation":"

The ID of the file system for which to create the mount target.

" }, "SubnetId":{ "shape":"SubnetId", - "documentation":"

ID of the subnet to add the mount target in.

" + "documentation":"

The ID of the subnet to add the mount target in.

" }, "IpAddress":{ "shape":"IpAddress", @@ -300,13 +337,13 @@ "members":{ "FileSystemId":{ "shape":"FileSystemId", - "documentation":"

ID of the file system whose tags you want to modify (String). This operation modifies the tags only, not the file system.

", + "documentation":"

The ID of the file system whose tags you want to modify (String). This operation modifies the tags only, not the file system.

", "location":"uri", "locationName":"FileSystemId" }, "Tags":{ "shape":"Tags", - "documentation":"

Array of Tag objects to add. Each Tag object is a key-value pair.

" + "documentation":"

An array of Tag objects to add. Each Tag object is a key-value pair.

" } }, "documentation":"

" @@ -322,7 +359,7 @@ "members":{ "FileSystemId":{ "shape":"FileSystemId", - "documentation":"

ID of the file system you want to delete.

", + "documentation":"

The ID of the file system you want to delete.

", "location":"uri", "locationName":"FileSystemId" } @@ -335,7 +372,7 @@ "members":{ "MountTargetId":{ "shape":"MountTargetId", - "documentation":"

ID of the mount target to delete (String).

", + "documentation":"

The ID of the mount target to delete (String).

", "location":"uri", "locationName":"MountTargetId" } @@ -351,13 +388,13 @@ "members":{ "FileSystemId":{ "shape":"FileSystemId", - "documentation":"

ID of the file system whose tags you want to delete (String).

", + "documentation":"

The ID of the file system whose tags you want to delete (String).

", "location":"uri", "locationName":"FileSystemId" }, "TagKeys":{ "shape":"TagKeys", - "documentation":"

List of tag keys to delete.

" + "documentation":"

A list of tag keys to delete.

" } }, "documentation":"

" @@ -378,7 +415,7 @@ "members":{ "MaxItems":{ "shape":"MaxItems", - "documentation":"

(Optional) Specifies the maximum number of file systems to return in the response (integer). This parameter value must be greater than 0. The number of items that Amazon EFS returns is the minimum of the MaxItems parameter specified in the request and the service's internal maximum number of items per page.

", + "documentation":"

(Optional) Specifies the maximum number of file systems to return in the response (integer). Currently, this number is automatically set to 10, and other values are ignored. The response is paginated at 10 per page if you have more than 10 file systems.

", "location":"querystring", "locationName":"MaxItems" }, @@ -412,7 +449,7 @@ }, "FileSystems":{ "shape":"FileSystemDescriptions", - "documentation":"

Array of file system descriptions.

" + "documentation":"

An array of file system descriptions.

" }, "NextMarker":{ "shape":"Marker", @@ -420,13 +457,25 @@ } } }, + "DescribeLifecycleConfigurationRequest":{ + "type":"structure", + "required":["FileSystemId"], + "members":{ + "FileSystemId":{ + "shape":"FileSystemId", + "documentation":"

The ID of the file system whose LifecycleConfiguration object you want to retrieve (String).

", + "location":"uri", + "locationName":"FileSystemId" + } + } + }, "DescribeMountTargetSecurityGroupsRequest":{ "type":"structure", "required":["MountTargetId"], "members":{ "MountTargetId":{ "shape":"MountTargetId", - "documentation":"

ID of the mount target whose security groups you want to retrieve.

", + "documentation":"

The ID of the mount target whose security groups you want to retrieve.

", "location":"uri", "locationName":"MountTargetId" } @@ -439,7 +488,7 @@ "members":{ "SecurityGroups":{ "shape":"SecurityGroups", - "documentation":"

Array of security groups.

" + "documentation":"

An array of security groups.

" } } }, @@ -448,7 +497,7 @@ "members":{ "MaxItems":{ "shape":"MaxItems", - "documentation":"

(Optional) Maximum number of mount targets to return in the response. It must be an integer with a value greater than zero.

", + "documentation":"

(Optional) Maximum number of mount targets to return in the response. Currently, this number is automatically set to 10, and other values are ignored. The response is paginated at 10 per page if you have more than 10 mount targets.

", "location":"querystring", "locationName":"MaxItems" }, @@ -497,19 +546,19 @@ "members":{ "MaxItems":{ "shape":"MaxItems", - "documentation":"

(Optional) Maximum number of file system tags to return in the response. It must be an integer with a value greater than zero.

", + "documentation":"

(Optional) The maximum number of file system tags to return in the response. Currently, this number is automatically set to 10, and other values are ignored. The response is paginated at 10 per page if you have more than 10 tags.

", "location":"querystring", "locationName":"MaxItems" }, "Marker":{ "shape":"Marker", - "documentation":"

(Optional) Opaque pagination token returned from a previous DescribeTags operation (String). If present, it specifies to continue the list from where the previous call left off.

", + "documentation":"

(Optional) An opaque pagination token returned from a previous DescribeTags operation (String). If present, it specifies to continue the list from where the previous call left off.

", "location":"querystring", "locationName":"Marker" }, "FileSystemId":{ "shape":"FileSystemId", - "documentation":"

ID of the file system whose tag set you want to retrieve.

", + "documentation":"

The ID of the file system whose tag set you want to retrieve.

", "location":"uri", "locationName":"FileSystemId" } @@ -566,44 +615,45 @@ "LifeCycleState", "NumberOfMountTargets", "SizeInBytes", - "PerformanceMode" + "PerformanceMode", + "Tags" ], "members":{ "OwnerId":{ "shape":"AwsAccountId", - "documentation":"

AWS account that created the file system. If the file system was created by an IAM user, the parent account to which the user belongs is the owner.

" + "documentation":"

The AWS account that created the file system. If the file system was created by an IAM user, the parent account to which the user belongs is the owner.

" }, "CreationToken":{ "shape":"CreationToken", - "documentation":"

Opaque string specified in the request.

" + "documentation":"

The opaque string specified in the request.

" }, "FileSystemId":{ "shape":"FileSystemId", - "documentation":"

ID of the file system, assigned by Amazon EFS.

" + "documentation":"

The ID of the file system, assigned by Amazon EFS.

" }, "CreationTime":{ "shape":"Timestamp", - "documentation":"

Time that the file system was created, in seconds (since 1970-01-01T00:00:00Z).

" + "documentation":"

The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z).

" }, "LifeCycleState":{ "shape":"LifeCycleState", - "documentation":"

Lifecycle phase of the file system.

" + "documentation":"

The lifecycle phase of the file system.

" }, "Name":{ "shape":"TagValue", - "documentation":"

You can add tags to a file system, including a Name tag. For more information, see CreateTags. If the file system has a Name tag, Amazon EFS returns the value in this field.

" + "documentation":"

You can add tags to a file system, including a Name tag. For more information, see CreateFileSystem. If the file system has a Name tag, Amazon EFS returns the value in this field.

" }, "NumberOfMountTargets":{ "shape":"MountTargetCount", - "documentation":"

Current number of mount targets that the file system has. For more information, see CreateMountTarget.

" + "documentation":"

The current number of mount targets that the file system has. For more information, see CreateMountTarget.

" }, "SizeInBytes":{ "shape":"FileSystemSize", - "documentation":"

Latest known metered size (in bytes) of data stored in the file system, in its Value field, and the time at which that size was determined in its Timestamp field. The Timestamp value is the integer number of seconds since 1970-01-01T00:00:00Z. The SizeInBytes value doesn't represent the size of a consistent snapshot of the file system, but it is eventually consistent when there are no writes to the file system. That is, SizeInBytes represents actual size only if the file system is not modified for a period longer than a couple of hours. Otherwise, the value is not the exact size that the file system was at any point in time.

" + "documentation":"

The latest known metered size (in bytes) of data stored in the file system, in its Value field, and the time at which that size was determined in its Timestamp field. The Timestamp value is the integer number of seconds since 1970-01-01T00:00:00Z. The SizeInBytes value doesn't represent the size of a consistent snapshot of the file system, but it is eventually consistent when there are no writes to the file system. That is, SizeInBytes represents actual size only if the file system is not modified for a period longer than a couple of hours. Otherwise, the value is not the exact size that the file system was at any point in time.

" }, "PerformanceMode":{ "shape":"PerformanceMode", - "documentation":"

The PerformanceMode of the file system.

" + "documentation":"

The performance mode of the file system.

" }, "Encrypted":{ "shape":"Encrypted", @@ -615,14 +665,18 @@ }, "ThroughputMode":{ "shape":"ThroughputMode", - "documentation":"

The throughput mode for a file system. There are two throughput modes to choose from for your file system: bursting and provisioned. You can decrease your file system's throughput in Provisioned Throughput mode or change between the throughput modes as long as it’s been more than 24 hours since the last decrease or throughput mode change.

" + "documentation":"

The throughput mode for a file system. There are two throughput modes to choose from for your file system: bursting and provisioned. If you set ThroughputMode to provisioned, you must also set a value for ProvisionedThroughPutInMibps. You can decrease your file system's throughput in Provisioned Throughput mode or change between the throughput modes as long as it’s been more than 24 hours since the last decrease or throughput mode change.

" }, "ProvisionedThroughputInMibps":{ "shape":"ProvisionedThroughputInMibps", - "documentation":"

The throughput, measured in MiB/s, that you want to provision for a file system. The limit on throughput is 1024 MiB/s. You can get these limits increased by contacting AWS Support. For more information, see Amazon EFS Limits That You Can Increase in the Amazon EFS User Guide.

" + "documentation":"

The throughput, measured in MiB/s, that you want to provision for a file system. Valid values are 1-1024. Required if ThroughputMode is set to provisioned. The limit on throughput is 1024 MiB/s. You can get these limits increased by contacting AWS Support. For more information, see Amazon EFS Limits That You Can Increase in the Amazon EFS User Guide.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The tags associated with the file system, presented as an array of Tag objects.

" } }, - "documentation":"

Description of the file system.

" + "documentation":"

A description of the file system.

" }, "FileSystemDescriptions":{ "type":"list", @@ -662,20 +716,32 @@ "error":{"httpStatusCode":404}, "exception":true }, + "FileSystemNullableSizeValue":{ + "type":"long", + "min":0 + }, "FileSystemSize":{ "type":"structure", "required":["Value"], "members":{ "Value":{ "shape":"FileSystemSizeValue", - "documentation":"

Latest known metered size (in bytes) of data stored in the file system.

" + "documentation":"

The latest known metered size (in bytes) of data stored in the file system.

" }, "Timestamp":{ "shape":"Timestamp", - "documentation":"

Time at which the size of data, returned in the Value field, was determined. The value is the integer number of seconds since 1970-01-01T00:00:00Z.

" + "documentation":"

The time at which the size of data, returned in the Value field, was determined. The value is the integer number of seconds since 1970-01-01T00:00:00Z.

" + }, + "ValueInIA":{ + "shape":"FileSystemNullableSizeValue", + "documentation":"

The latest known metered size (in bytes) of data stored in the Infrequent Access storage class.

" + }, + "ValueInStandard":{ + "shape":"FileSystemNullableSizeValue", + "documentation":"

The latest known metered size (in bytes) of data stored in the Standard storage class.

" } }, - "documentation":"

Latest known metered size (in bytes) of data stored in the file system, in its Value field, and the time at which that size was determined in its Timestamp field. Note that the value does not represent the size of a consistent snapshot of the file system, but it is eventually consistent when there are no writes to the file system. That is, the value will represent the actual size only if the file system is not modified for a period longer than a couple of hours. Otherwise, the value is not necessarily the exact size the file system was at any instant in time.

" + "documentation":"

The latest known metered size (in bytes) of data stored in the file system, in its Value field, and the time at which that size was determined in its Timestamp field. The value doesn't represent the size of a consistent snapshot of the file system, but it is eventually consistent when there are no writes to the file system. That is, the value represents the actual size only if the file system is not modified for a period longer than a couple of hours. Otherwise, the value is not necessarily the exact size the file system was at any instant in time.

" }, "FileSystemSizeValue":{ "type":"long", @@ -752,6 +818,29 @@ "deleted" ] }, + "LifecycleConfigurationDescription":{ + "type":"structure", + "members":{ + "LifecyclePolicies":{ + "shape":"LifecyclePolicies", + "documentation":"

An array of lifecycle management policies. Currently, EFS supports a maximum of one policy per file system.

" + } + } + }, + "LifecyclePolicies":{ + "type":"list", + "member":{"shape":"LifecyclePolicy"} + }, + "LifecyclePolicy":{ + "type":"structure", + "members":{ + "TransitionToIA":{ + "shape":"TransitionToIARules", + "documentation":"

A value that indicates how long it takes to transition files to the IA storage class. Currently, the only valid value is AFTER_30_DAYS.

AFTER_30_DAYS indicates files that have not been read from or written to for 30 days are transitioned from the Standard storage class to the IA storage class. Metadata operations such as listing the contents of a directory don't count as a file access event.

" + } + }, + "documentation":"

Describes a policy used by EFS lifecycle management to transition files to the Infrequent Access (IA) storage class.

" + }, "Marker":{"type":"string"}, "MaxItems":{ "type":"integer", @@ -763,13 +852,13 @@ "members":{ "MountTargetId":{ "shape":"MountTargetId", - "documentation":"

ID of the mount target whose security groups you want to modify.

", + "documentation":"

The ID of the mount target whose security groups you want to modify.

", "location":"uri", "locationName":"MountTargetId" }, "SecurityGroups":{ "shape":"SecurityGroups", - "documentation":"

Array of up to five VPC security group IDs.

" + "documentation":"

An array of up to five VPC security group IDs.

" } }, "documentation":"

" @@ -808,11 +897,11 @@ }, "FileSystemId":{ "shape":"FileSystemId", - "documentation":"

ID of the file system for which the mount target is intended.

" + "documentation":"

The ID of the file system for which the mount target is intended.

" }, "SubnetId":{ "shape":"SubnetId", - "documentation":"

ID of the mount target's subnet.

" + "documentation":"

The ID of the mount target's subnet.

" }, "LifeCycleState":{ "shape":"LifeCycleState", @@ -820,11 +909,11 @@ }, "IpAddress":{ "shape":"IpAddress", - "documentation":"

Address at which the file system may be mounted via the mount target.

" + "documentation":"

Address at which the file system can be mounted by using the mount target.

" }, "NetworkInterfaceId":{ "shape":"NetworkInterfaceId", - "documentation":"

ID of the network interface that Amazon EFS created when it created the mount target.

" + "documentation":"

The ID of the network interface that Amazon EFS created when it created the mount target.

" } }, "documentation":"

Provides a description of a mount target.

" @@ -853,7 +942,7 @@ "ErrorCode":{"shape":"ErrorCode"}, "Message":{"shape":"ErrorMessage"} }, - "documentation":"

The calling account has reached the limit for elastic network interfaces for the specific AWS Region. The client should try to delete some elastic network interfaces or get the account limit raised. For more information, see Amazon VPC Limits in the Amazon VPC User Guide (see the Network interfaces per VPC entry in the table).

", + "documentation":"

The calling account has reached the limit for elastic network interfaces for the specific AWS Region. The client should try to delete some elastic network interfaces or get the account limit raised. For more information, see Amazon VPC Limits in the Amazon VPC User Guide (see the Network interfaces per VPC entry in the table).

", "error":{"httpStatusCode":409}, "exception":true }, @@ -877,7 +966,26 @@ }, "ProvisionedThroughputInMibps":{ "type":"double", - "min":0.0 + "min":1.0 + }, + "PutLifecycleConfigurationRequest":{ + "type":"structure", + "required":[ + "FileSystemId", + "LifecyclePolicies" + ], + "members":{ + "FileSystemId":{ + "shape":"FileSystemId", + "documentation":"

The ID of the file system for which you are creating the LifecycleConfiguration object (String).

", + "location":"uri", + "locationName":"FileSystemId" + }, + "LifecyclePolicies":{ + "shape":"LifecyclePolicies", + "documentation":"

An array of LifecyclePolicy objects that define the file system's LifecycleConfiguration object. A LifecycleConfiguration object tells lifecycle management when to transition files from the Standard storage class to the Infrequent Access storage class.

" + } + } }, "SecurityGroup":{"type":"string"}, "SecurityGroupLimitExceeded":{ @@ -928,14 +1036,14 @@ "members":{ "Key":{ "shape":"TagKey", - "documentation":"

Tag key (String). The key can't start with aws:.

" + "documentation":"

The tag key (String). The key can't start with aws:.

" }, "Value":{ "shape":"TagValue", - "documentation":"

Value of the tag key.

" + "documentation":"

The value of the tag key.

" } }, - "documentation":"

A tag is a key-value pair. Allowed characters: letters, whitespace, and numbers, representable in UTF-8, and the following characters: + - = . _ : /

" + "documentation":"

A tag is a key-value pair. Allowed characters are letters, white space, and numbers that can be represented in UTF-8, and the following characters: + - = . _ : /

" }, "TagKey":{ "type":"string", @@ -984,6 +1092,10 @@ "error":{"httpStatusCode":429}, "exception":true }, + "TransitionToIARules":{ + "type":"string", + "enum":["AFTER_30_DAYS"] + }, "UnsupportedAvailabilityZone":{ "type":"structure", "required":["ErrorCode"], @@ -1007,14 +1119,14 @@ }, "ThroughputMode":{ "shape":"ThroughputMode", - "documentation":"

(Optional) The throughput mode that you want your file system to use. If you're not updating your throughput mode, you don't need to provide this value in your request.

" + "documentation":"

(Optional) The throughput mode that you want your file system to use. If you're not updating your throughput mode, you don't need to provide this value in your request. If you are changing the ThroughputMode to provisioned, you must also set a value for ProvisionedThroughputInMibps.

" }, "ProvisionedThroughputInMibps":{ "shape":"ProvisionedThroughputInMibps", - "documentation":"

(Optional) The amount of throughput, in MiB/s, that you want to provision for your file system. If you're not updating the amount of provisioned throughput for your file system, you don't need to provide this value in your request.

" + "documentation":"

(Optional) The amount of throughput, in MiB/s, that you want to provision for your file system. Valid values are 1-1024. Required if ThroughputMode is changed to provisioned on update. If you're not updating the amount of provisioned throughput for your file system, you don't need to provide this value in your request.

" } } } }, - "documentation":"Amazon Elastic File System

Amazon Elastic File System (Amazon EFS) provides simple, scalable file storage for use with Amazon EC2 instances in the AWS Cloud. With Amazon EFS, storage capacity is elastic, growing and shrinking automatically as you add and remove files, so your applications have the storage they need, when they need it. For more information, see the User Guide.

" + "documentation":"Amazon Elastic File System

Amazon Elastic File System (Amazon EFS) provides simple, scalable file storage for use with Amazon EC2 instances in the AWS Cloud. With Amazon EFS, storage capacity is elastic, growing and shrinking automatically as you add and remove files, so your applications have the storage they need, when they need it. For more information, see the User Guide.

" } diff --git a/bin/botocore/data/eks/2017-11-01/paginators-1.json b/bin/botocore/data/eks/2017-11-01/paginators-1.json index ea142457..10570b9d 100644 --- a/bin/botocore/data/eks/2017-11-01/paginators-1.json +++ b/bin/botocore/data/eks/2017-11-01/paginators-1.json @@ -1,3 +1,16 @@ { - "pagination": {} + "pagination": { + "ListClusters": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "clusters" + }, + "ListUpdates": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "updateIds" + } + } } diff --git a/bin/botocore/data/eks/2017-11-01/service-2.json b/bin/botocore/data/eks/2017-11-01/service-2.json index 449bbf46..c314205d 100644 --- a/bin/botocore/data/eks/2017-11-01/service-2.json +++ b/bin/botocore/data/eks/2017-11-01/service-2.json @@ -30,7 +30,7 @@ {"shape":"ServiceUnavailableException"}, {"shape":"UnsupportedAvailabilityZoneException"} ], - "documentation":"

Creates an Amazon EKS control plane.

The Amazon EKS control plane consists of control plane instances that run the Kubernetes software, like etcd and the API server. The control plane runs in an account managed by AWS, and the Kubernetes API is exposed via the Amazon EKS API server endpoint.

Amazon EKS worker nodes run in your AWS account and connect to your cluster's control plane via the Kubernetes API server endpoint and a certificate file that is created for your cluster.

The cluster control plane is provisioned across multiple Availability Zones and fronted by an Elastic Load Balancing Network Load Balancer. Amazon EKS also provisions elastic network interfaces in your VPC subnets to provide connectivity from the control plane instances to the worker nodes (for example, to support kubectl exec, logs, and proxy data flows).

After you create an Amazon EKS cluster, you must configure your Kubernetes tooling to communicate with the API server and launch worker nodes into your cluster. For more information, see Managing Cluster Authentication and Launching Amazon EKS Worker Nodesin the Amazon EKS User Guide.

" + "documentation":"

Creates an Amazon EKS control plane.

The Amazon EKS control plane consists of control plane instances that run the Kubernetes software, such as etcd and the API server. The control plane runs in an account managed by AWS, and the Kubernetes API is exposed via the Amazon EKS API server endpoint. Each Amazon EKS cluster control plane is single-tenant and unique and runs on its own set of Amazon EC2 instances.

The cluster control plane is provisioned across multiple Availability Zones and fronted by an Elastic Load Balancing Network Load Balancer. Amazon EKS also provisions elastic network interfaces in your VPC subnets to provide connectivity from the control plane instances to the worker nodes (for example, to support kubectl exec, logs, and proxy data flows).

Amazon EKS worker nodes run in your AWS account and connect to your cluster's control plane via the Kubernetes API server endpoint and a certificate file that is created for your cluster.

You can use the endpointPublicAccess and endpointPrivateAccess parameters to enable or disable public and private access to your cluster's Kubernetes API server endpoint. By default, public access is enabled, and private access is disabled. For more information, see Amazon EKS Cluster Endpoint Access Control in the Amazon EKS User Guide .

You can use the logging parameter to enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster Control Plane Logs in the Amazon EKS User Guide .

CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see Amazon CloudWatch Pricing.

Cluster creation typically takes between 10 and 15 minutes. After you create an Amazon EKS cluster, you must configure your Kubernetes tooling to communicate with the API server and launch worker nodes into your cluster. For more information, see Managing Cluster Authentication and Launching Amazon EKS Worker Nodes in the Amazon EKS User Guide.

" }, "DeleteCluster":{ "name":"DeleteCluster", @@ -47,7 +47,7 @@ {"shape":"ServerException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Deletes the Amazon EKS cluster control plane.

If you have active services in your cluster that are associated with a load balancer, you must delete those services before deleting the cluster so that the load balancers are deleted properly. Otherwise, you can have orphaned resources in your VPC that prevent you from being able to delete the VPC. For more information, see Deleting a Cluster in the Amazon EKS User Guide.

" + "documentation":"

Deletes the Amazon EKS cluster control plane.

If you have active services in your cluster that are associated with a load balancer, you must delete those services before deleting the cluster so that the load balancers are deleted properly. Otherwise, you can have orphaned resources in your VPC that prevent you from being able to delete the VPC. For more information, see Deleting a Cluster in the Amazon EKS User Guide.

" }, "DescribeCluster":{ "name":"DescribeCluster", @@ -63,7 +63,23 @@ {"shape":"ServerException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Returns descriptive information about an Amazon EKS cluster.

The API server endpoint and certificate authority data returned by this operation are required for kubelet and kubectl to communicate with your Kubernetes API server. For more information, see Create a kubeconfig for Amazon EKS.

The API server endpoint and certificate authority data are not available until the cluster reaches the ACTIVE state.

" + "documentation":"

Returns descriptive information about an Amazon EKS cluster.

The API server endpoint and certificate authority data returned by this operation are required for kubelet and kubectl to communicate with your Kubernetes API server. For more information, see Create a kubeconfig for Amazon EKS.

The API server endpoint and certificate authority data aren't available until the cluster reaches the ACTIVE state.

" + }, + "DescribeUpdate":{ + "name":"DescribeUpdate", + "http":{ + "method":"GET", + "requestUri":"/clusters/{name}/updates/{updateId}" + }, + "input":{"shape":"DescribeUpdateRequest"}, + "output":{"shape":"DescribeUpdateResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ServerException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns descriptive information about an update against your Amazon EKS cluster.

When the status of the update is Succeeded, the update is complete. If an update fails, the status is Failed, and an error detail explains the reason for the failure.

" }, "ListClusters":{ "name":"ListClusters", @@ -80,15 +96,72 @@ {"shape":"ServiceUnavailableException"} ], "documentation":"

Lists the Amazon EKS clusters in your AWS account in the specified Region.

" + }, + "ListUpdates":{ + "name":"ListUpdates", + "http":{ + "method":"GET", + "requestUri":"/clusters/{name}/updates" + }, + "input":{"shape":"ListUpdatesRequest"}, + "output":{"shape":"ListUpdatesResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ServerException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Lists the updates associated with an Amazon EKS cluster in your AWS account, in the specified Region.

" + }, + "UpdateClusterConfig":{ + "name":"UpdateClusterConfig", + "http":{ + "method":"POST", + "requestUri":"/clusters/{name}/update-config" + }, + "input":{"shape":"UpdateClusterConfigRequest"}, + "output":{"shape":"UpdateClusterConfigResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ServerException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Updates an Amazon EKS cluster configuration. Your cluster continues to function during the update. The response output includes an update ID that you can use to track the status of your cluster update with the DescribeUpdate API operation.

You can use this API operation to enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster Control Plane Logs in the Amazon EKS User Guide .

CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see Amazon CloudWatch Pricing.

You can also use this API operation to enable or disable public and private access to your cluster's Kubernetes API server endpoint. By default, public access is enabled, and private access is disabled. For more information, see Amazon EKS Cluster Endpoint Access Control in the Amazon EKS User Guide .

At this time, you can not update the subnets or security group IDs for an existing cluster.

Cluster updates are asynchronous, and they should finish within a few minutes. During an update, the cluster status moves to UPDATING (this status transition is eventually consistent). When the update is complete (either Failed or Successful), the cluster status moves to Active.

" + }, + "UpdateClusterVersion":{ + "name":"UpdateClusterVersion", + "http":{ + "method":"POST", + "requestUri":"/clusters/{name}/updates" + }, + "input":{"shape":"UpdateClusterVersionRequest"}, + "output":{"shape":"UpdateClusterVersionResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ServerException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Updates an Amazon EKS cluster to the specified Kubernetes version. Your cluster continues to function during the update. The response output includes an update ID that you can use to track the status of your cluster update with the DescribeUpdate API operation.

Cluster updates are asynchronous, and they should finish within a few minutes. During an update, the cluster status moves to UPDATING (this status transition is eventually consistent). When the update is complete (either Failed or Successful), the cluster status moves to Active.

" } }, "shapes":{ + "Boolean":{"type":"boolean"}, + "BoxedBoolean":{ + "type":"boolean", + "box":true + }, "Certificate":{ "type":"structure", "members":{ "data":{ "shape":"String", - "documentation":"

The base64 encoded certificate data required to communicate with your cluster. Add this to the certificate-authority-data section of the kubeconfig file for your cluster.

" + "documentation":"

The Base64-encoded certificate data required to communicate with your cluster. Add this to the certificate-authority-data section of the kubeconfig file for your cluster.

" } }, "documentation":"

An object representing the certificate-authority-data for your cluster.

" @@ -102,7 +175,7 @@ }, "message":{"shape":"String"} }, - "documentation":"

These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an identifier that is not valid.

", + "documentation":"

These errors are usually caused by a client action. Actions can include using an action or resource on behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier that is not valid.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -119,7 +192,7 @@ }, "createdAt":{ "shape":"Timestamp", - "documentation":"

The Unix epoch time stamp in seconds for when the cluster was created.

" + "documentation":"

The Unix epoch timestamp in seconds for when the cluster was created.

" }, "version":{ "shape":"String", @@ -135,7 +208,11 @@ }, "resourcesVpcConfig":{ "shape":"VpcConfigResponse", - "documentation":"

The VPC subnets and security groups used by the cluster control plane. Amazon EKS VPC resources have specific requirements to work properly with Kubernetes. For more information, see Cluster VPC Considerations and Cluster Security Group Considerations in the Amazon EKS User Guide.

" + "documentation":"

The VPC configuration used by the cluster control plane. Amazon EKS VPC resources have specific requirements to work properly with Kubernetes. For more information, see Cluster VPC Considerations and Cluster Security Group Considerations in the Amazon EKS User Guide.

" + }, + "logging":{ + "shape":"Logging", + "documentation":"

The logging configuration for your cluster.

" }, "status":{ "shape":"ClusterStatus", @@ -147,20 +224,20 @@ }, "clientRequestToken":{ "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request.

" + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

" }, "platformVersion":{ "shape":"String", - "documentation":"

The platform version of your Amazon EKS cluster. For more information, see Platform Versions in the Amazon EKS User Guide .

" + "documentation":"

The platform version of your Amazon EKS cluster. For more information, see Platform Versions in the Amazon EKS User Guide .

" } }, "documentation":"

An object representing an Amazon EKS cluster.

" }, "ClusterName":{ "type":"string", - "max":255, + "max":100, "min":1, - "pattern":"[A-Za-z0-9\\-_]*" + "pattern":"^[0-9A-Za-z][A-Za-z0-9\\-_]*" }, "ClusterStatus":{ "type":"string", @@ -185,19 +262,23 @@ }, "version":{ "shape":"String", - "documentation":"

The desired Kubernetes version for your cluster. If you do not specify a value here, the latest version available in Amazon EKS is used.

" + "documentation":"

The desired Kubernetes version for your cluster. If you don't specify a value here, the latest version available in Amazon EKS is used.

" }, "roleArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role that provides permissions for Amazon EKS to make calls to other AWS API operations on your behalf. For more information, see Amazon EKS Service IAM Role in the Amazon EKS User Guide .

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM role that provides permissions for Amazon EKS to make calls to other AWS API operations on your behalf. For more information, see Amazon EKS Service IAM Role in the Amazon EKS User Guide .

" }, "resourcesVpcConfig":{ "shape":"VpcConfigRequest", - "documentation":"

The VPC subnets and security groups used by the cluster control plane. Amazon EKS VPC resources have specific requirements to work properly with Kubernetes. For more information, see Cluster VPC Considerations and Cluster Security Group Considerations in the Amazon EKS User Guide. You must specify at least two subnets. You may specify up to 5 security groups, but we recommend that you use a dedicated security group for your cluster control plane.

" + "documentation":"

The VPC configuration used by the cluster control plane. Amazon EKS VPC resources have specific requirements to work properly with Kubernetes. For more information, see Cluster VPC Considerations and Cluster Security Group Considerations in the Amazon EKS User Guide. You must specify at least two subnets. You can specify up to five security groups, but we recommend that you use a dedicated security group for your cluster control plane.

" + }, + "logging":{ + "shape":"Logging", + "documentation":"

Enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster Control Plane Logs in the Amazon EKS User Guide .

CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see Amazon CloudWatch Pricing.

" }, "clientRequestToken":{ "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request.

", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", "idempotencyToken":true } } @@ -253,6 +334,71 @@ } } }, + "DescribeUpdateRequest":{ + "type":"structure", + "required":[ + "name", + "updateId" + ], + "members":{ + "name":{ + "shape":"String", + "documentation":"

The name of the Amazon EKS cluster to update.

", + "location":"uri", + "locationName":"name" + }, + "updateId":{ + "shape":"String", + "documentation":"

The ID of the update to describe.

", + "location":"uri", + "locationName":"updateId" + } + } + }, + "DescribeUpdateResponse":{ + "type":"structure", + "members":{ + "update":{ + "shape":"Update", + "documentation":"

The full description of the specified update.

" + } + } + }, + "ErrorCode":{ + "type":"string", + "enum":[ + "SubnetNotFound", + "SecurityGroupNotFound", + "EniLimitReached", + "IpNotAvailable", + "AccessDenied", + "OperationNotPermitted", + "VpcIdNotFound", + "Unknown" + ] + }, + "ErrorDetail":{ + "type":"structure", + "members":{ + "errorCode":{ + "shape":"ErrorCode", + "documentation":"

A brief description of the error.

  • SubnetNotFound: We couldn't find one of the subnets associated with the cluster.

  • SecurityGroupNotFound: We couldn't find one of the security groups associated with the cluster.

  • EniLimitReached: You have reached the elastic network interface limit for your account.

  • IpNotAvailable: A subnet associated with the cluster doesn't have any free IP addresses.

  • AccessDenied: You don't have permissions to perform the specified operation.

  • OperationNotPermitted: The service role associated with the cluster doesn't have the required access permissions for Amazon EKS.

  • VpcIdNotFound: We couldn't find the VPC associated with the cluster.

" + }, + "errorMessage":{ + "shape":"String", + "documentation":"

A more complete description of the error.

" + }, + "resourceIds":{ + "shape":"StringList", + "documentation":"

An optional field that contains the resource IDs associated with the error.

" + } + }, + "documentation":"

An object representing an error when an asynchronous operation fails.

" + }, + "ErrorDetails":{ + "type":"list", + "member":{"shape":"ErrorDetail"} + }, "InvalidParameterException":{ "type":"structure", "members":{ @@ -266,18 +412,31 @@ "error":{"httpStatusCode":400}, "exception":true }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "clusterName":{ + "shape":"String", + "documentation":"

The Amazon EKS cluster associated with the exception.

" + }, + "message":{"shape":"String"} + }, + "documentation":"

The request is invalid given the state of the cluster. Check the state of the cluster and the associated operations.

", + "error":{"httpStatusCode":400}, + "exception":true + }, "ListClustersRequest":{ "type":"structure", "members":{ "maxResults":{ "shape":"ListClustersRequestMaxResults", - "documentation":"

The maximum number of cluster results returned by ListClusters in paginated output. When this parameter is used, ListClusters only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListClusters request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListClusters returns up to 100 results and a nextToken value if applicable.

", + "documentation":"

The maximum number of cluster results returned by ListClusters in paginated output. When you use this parameter, ListClusters returns only maxResults results in a single page along with a nextToken response element. You can see the remaining results of the initial request by sending another ListClusters request with the returned nextToken value. This value can be between 1 and 100. If you don't use this parameter, ListClusters returns up to 100 results and a nextToken value if applicable.

", "location":"querystring", "locationName":"maxResults" }, "nextToken":{ "shape":"String", - "documentation":"

The nextToken value returned from a previous paginated ListClusters request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

", + "documentation":"

The nextToken value returned from a previous paginated ListClusters request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.

This token should be treated as an opaque identifier that is used only to retrieve the next items in a list and not for other programmatic purposes.

", "location":"querystring", "locationName":"nextToken" } @@ -298,10 +457,95 @@ }, "nextToken":{ "shape":"String", - "documentation":"

The nextToken value to include in a future ListClusters request. When the results of a ListClusters request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

" + "documentation":"

The nextToken value to include in a future ListClusters request. When the results of a ListClusters request exceed maxResults, you can use this value to retrieve the next page of results. This value is null when there are no more results to return.

" + } + } + }, + "ListUpdatesRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"String", + "documentation":"

The name of the Amazon EKS cluster to list updates for.

", + "location":"uri", + "locationName":"name" + }, + "nextToken":{ + "shape":"String", + "documentation":"

The nextToken value returned from a previous paginated ListUpdates request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"ListUpdatesRequestMaxResults", + "documentation":"

The maximum number of update results returned by ListUpdates in paginated output. When you use this parameter, ListUpdates returns only maxResults results in a single page along with a nextToken response element. You can see the remaining results of the initial request by sending another ListUpdates request with the returned nextToken value. This value can be between 1 and 100. If you don't use this parameter, ListUpdates returns up to 100 results and a nextToken value if applicable.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListUpdatesRequestMaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "ListUpdatesResponse":{ + "type":"structure", + "members":{ + "updateIds":{ + "shape":"StringList", + "documentation":"

A list of all the updates for the specified cluster and Region.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

The nextToken value to include in a future ListUpdates request. When the results of a ListUpdates request exceed maxResults, you can use this value to retrieve the next page of results. This value is null when there are no more results to return.

" } } }, + "LogSetup":{ + "type":"structure", + "members":{ + "types":{ + "shape":"LogTypes", + "documentation":"

The available cluster control plane log types.

" + }, + "enabled":{ + "shape":"BoxedBoolean", + "documentation":"

If a log type is enabled, that log type exports its control plane logs to CloudWatch Logs. If a log type isn't enabled, that log type doesn't export its control plane logs. Each individual log type can be enabled or disabled independently.

" + } + }, + "documentation":"

An object representing the enabled or disabled Kubernetes control plane logs for your cluster.

" + }, + "LogSetups":{ + "type":"list", + "member":{"shape":"LogSetup"} + }, + "LogType":{ + "type":"string", + "enum":[ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler" + ] + }, + "LogTypes":{ + "type":"list", + "member":{"shape":"LogType"} + }, + "Logging":{ + "type":"structure", + "members":{ + "clusterLogging":{ + "shape":"LogSetups", + "documentation":"

The cluster control plane logging configuration for your cluster.

" + } + }, + "documentation":"

An object representing the logging configuration for resources in your cluster.

" + }, "ResourceInUseException":{ "type":"structure", "members":{ @@ -388,9 +632,144 @@ "error":{"httpStatusCode":400}, "exception":true }, + "Update":{ + "type":"structure", + "members":{ + "id":{ + "shape":"String", + "documentation":"

A UUID that is used to track the update.

" + }, + "status":{ + "shape":"UpdateStatus", + "documentation":"

The current status of the update.

" + }, + "type":{ + "shape":"UpdateType", + "documentation":"

The type of the update.

" + }, + "params":{ + "shape":"UpdateParams", + "documentation":"

A key-value map that contains the parameters associated with the update.

" + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

The Unix epoch timestamp in seconds for when the update was created.

" + }, + "errors":{ + "shape":"ErrorDetails", + "documentation":"

Any errors associated with a Failed update.

" + } + }, + "documentation":"

An object representing an asynchronous update.

" + }, + "UpdateClusterConfigRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"String", + "documentation":"

The name of the Amazon EKS cluster to update.

", + "location":"uri", + "locationName":"name" + }, + "resourcesVpcConfig":{"shape":"VpcConfigRequest"}, + "logging":{ + "shape":"Logging", + "documentation":"

Enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster Control Plane Logs in the Amazon EKS User Guide .

CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see Amazon CloudWatch Pricing.

" + }, + "clientRequestToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "idempotencyToken":true + } + } + }, + "UpdateClusterConfigResponse":{ + "type":"structure", + "members":{ + "update":{"shape":"Update"} + } + }, + "UpdateClusterVersionRequest":{ + "type":"structure", + "required":[ + "name", + "version" + ], + "members":{ + "name":{ + "shape":"String", + "documentation":"

The name of the Amazon EKS cluster to update.

", + "location":"uri", + "locationName":"name" + }, + "version":{ + "shape":"String", + "documentation":"

The desired Kubernetes version following a successful update.

" + }, + "clientRequestToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "idempotencyToken":true + } + } + }, + "UpdateClusterVersionResponse":{ + "type":"structure", + "members":{ + "update":{ + "shape":"Update", + "documentation":"

The full description of the specified update

" + } + } + }, + "UpdateParam":{ + "type":"structure", + "members":{ + "type":{ + "shape":"UpdateParamType", + "documentation":"

The keys associated with an update request.

" + }, + "value":{ + "shape":"String", + "documentation":"

The value of the keys submitted as part of an update request.

" + } + }, + "documentation":"

An object representing the details of an update request.

" + }, + "UpdateParamType":{ + "type":"string", + "enum":[ + "Version", + "PlatformVersion", + "EndpointPrivateAccess", + "EndpointPublicAccess", + "ClusterLogging" + ] + }, + "UpdateParams":{ + "type":"list", + "member":{"shape":"UpdateParam"} + }, + "UpdateStatus":{ + "type":"string", + "enum":[ + "InProgress", + "Failed", + "Cancelled", + "Successful" + ] + }, + "UpdateType":{ + "type":"string", + "enum":[ + "VersionUpdate", + "EndpointAccessUpdate", + "LoggingUpdate" + ] + }, "VpcConfigRequest":{ "type":"structure", - "required":["subnetIds"], "members":{ "subnetIds":{ "shape":"StringList", @@ -398,10 +777,18 @@ }, "securityGroupIds":{ "shape":"StringList", - "documentation":"

Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane.

" + "documentation":"

Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane. If you don't specify a security group, the default security group for your VPC is used.

" + }, + "endpointPublicAccess":{ + "shape":"BoxedBoolean", + "documentation":"

Set this value to false to disable public access for your cluster's Kubernetes API server endpoint. If you disable public access, your cluster's Kubernetes API server can receive only requests from within the cluster VPC. The default value for this parameter is true, which enables public access for your Kubernetes API server. For more information, see Amazon EKS Cluster Endpoint Access Control in the Amazon EKS User Guide .

" + }, + "endpointPrivateAccess":{ + "shape":"BoxedBoolean", + "documentation":"

Set this value to true to enable private access for your cluster's Kubernetes API server endpoint. If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC endpoint. The default value for this parameter is false, which disables private access for your Kubernetes API server. For more information, see Amazon EKS Cluster Endpoint Access Control in the Amazon EKS User Guide .

" } }, - "documentation":"

An object representing an Amazon EKS cluster VPC configuration request.

" + "documentation":"

An object representing the VPC configuration to use for an Amazon EKS cluster.

" }, "VpcConfigResponse":{ "type":"structure", @@ -417,6 +804,14 @@ "vpcId":{ "shape":"String", "documentation":"

The VPC associated with your cluster.

" + }, + "endpointPublicAccess":{ + "shape":"Boolean", + "documentation":"

This parameter indicates whether the Amazon EKS public API server endpoint is enabled. If the Amazon EKS public API server endpoint is disabled, your cluster's Kubernetes API server can receive only requests that originate from within the cluster VPC.

" + }, + "endpointPrivateAccess":{ + "shape":"Boolean", + "documentation":"

This parameter indicates whether the Amazon EKS private API server endpoint is enabled. If the Amazon EKS private API server endpoint is enabled, Kubernetes API requests that originate from within your cluster's VPC use the private VPC endpoint instead of traversing the internet.

" } }, "documentation":"

An object representing an Amazon EKS cluster VPC configuration response.

" diff --git a/bin/botocore/data/elasticache/2015-02-02/paginators-1.json b/bin/botocore/data/elasticache/2015-02-02/paginators-1.json index 8724740d..9ee5996e 100644 --- a/bin/botocore/data/elasticache/2015-02-02/paginators-1.json +++ b/bin/botocore/data/elasticache/2015-02-02/paginators-1.json @@ -71,6 +71,18 @@ "output_token": "Marker", "limit_key": "MaxRecords", "result_key": "Snapshots" + }, + "DescribeServiceUpdates": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "ServiceUpdates" + }, + "DescribeUpdateActions": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "UpdateActions" } } } diff --git a/bin/botocore/data/elasticache/2015-02-02/service-2.json b/bin/botocore/data/elasticache/2015-02-02/service-2.json index d3f5f846..376ec002 100644 --- a/bin/botocore/data/elasticache/2015-02-02/service-2.json +++ b/bin/botocore/data/elasticache/2015-02-02/service-2.json @@ -28,7 +28,7 @@ {"shape":"TagQuotaPerResourceExceeded"}, {"shape":"InvalidARNFault"} ], - "documentation":"

Adds up to 50 cost allocation tags to the named resource. A cost allocation tag is a key-value pair where the key and value are case-sensitive. You can use cost allocation tags to categorize and track your AWS costs.

When you apply tags to your ElastiCache resources, AWS generates a cost allocation report as a comma-separated value (CSV) file with your usage and costs aggregated by your tags. You can apply tags that represent business categories (such as cost centers, application names, or owners) to organize your costs across multiple services. For more information, see Using Cost Allocation Tags in Amazon ElastiCache in the ElastiCache User Guide.

" + "documentation":"

Adds up to 50 cost allocation tags to the named resource. A cost allocation tag is a key-value pair where the key and value are case-sensitive. You can use cost allocation tags to categorize and track your AWS costs.

When you apply tags to your ElastiCache resources, AWS generates a cost allocation report as a comma-separated value (CSV) file with your usage and costs aggregated by your tags. You can apply tags that represent business categories (such as cost centers, application names, or owners) to organize your costs across multiple services. For more information, see Using Cost Allocation Tags in Amazon ElastiCache in the ElastiCache User Guide.

" }, "AuthorizeCacheSecurityGroupIngress":{ "name":"AuthorizeCacheSecurityGroupIngress", @@ -50,6 +50,40 @@ ], "documentation":"

Allows network ingress to a cache security group. Applications using ElastiCache must be running on Amazon EC2, and Amazon EC2 security groups are used as the authorization mechanism.

You cannot authorize ingress from an Amazon EC2 security group in one region to an ElastiCache cluster in another region.

" }, + "BatchApplyUpdateAction":{ + "name":"BatchApplyUpdateAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchApplyUpdateActionMessage"}, + "output":{ + "shape":"UpdateActionResultsMessage", + "resultWrapper":"BatchApplyUpdateActionResult" + }, + "errors":[ + {"shape":"ServiceUpdateNotFoundFault"}, + {"shape":"InvalidParameterValueException"} + ], + "documentation":"

Apply the service update. For more information on service updates and applying them, see Applying Service Updates.

" + }, + "BatchStopUpdateAction":{ + "name":"BatchStopUpdateAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchStopUpdateActionMessage"}, + "output":{ + "shape":"UpdateActionResultsMessage", + "resultWrapper":"BatchStopUpdateActionResult" + }, + "errors":[ + {"shape":"ServiceUpdateNotFoundFault"}, + {"shape":"InvalidParameterValueException"} + ], + "documentation":"

Stop the service update. For more information on service updates and stopping them, see Stopping Service Updates.

" + }, "CopySnapshot":{ "name":"CopySnapshot", "http":{ @@ -69,7 +103,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

Makes a copy of an existing snapshot.

This operation is valid for Redis only.

Users or groups that have permissions to use the CopySnapshot operation can create their own Amazon S3 buckets and copy snapshots to it. To control access to your snapshots, use an IAM policy to control who has the ability to use the CopySnapshot operation. For more information about using IAM to control the use of ElastiCache operations, see Exporting Snapshots and Authentication & Access Control.

You could receive the following error messages.

Error Messages

  • Error Message: The S3 bucket %s is outside of the region.

    Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.

  • Error Message: The S3 bucket %s does not exist.

    Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.

  • Error Message: The S3 bucket %s is not owned by the authenticated user.

    Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.

  • Error Message: The authenticated user does not have sufficient permissions to perform the desired activity.

    Solution: Contact your system administrator to get the needed permissions.

  • Error Message: The S3 bucket %s already contains an object with key %s.

    Solution: Give the TargetSnapshotName a new and unique value. If exporting a snapshot, you could alternatively create a new Amazon S3 bucket and use this same value for TargetSnapshotName.

  • Error Message: ElastiCache has not been granted READ permissions %s on the S3 Bucket.

    Solution: Add List and Read permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide.

  • Error Message: ElastiCache has not been granted WRITE permissions %s on the S3 Bucket.

    Solution: Add Upload/Delete permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide.

  • Error Message: ElastiCache has not been granted READ_ACP permissions %s on the S3 Bucket.

    Solution: Add View Permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide.

" + "documentation":"

Makes a copy of an existing snapshot.

This operation is valid for Redis only.

Users or groups that have permissions to use the CopySnapshot operation can create their own Amazon S3 buckets and copy snapshots to it. To control access to your snapshots, use an IAM policy to control who has the ability to use the CopySnapshot operation. For more information about using IAM to control the use of ElastiCache operations, see Exporting Snapshots and Authentication & Access Control.

You could receive the following error messages.

Error Messages

  • Error Message: The S3 bucket %s is outside of the region.

    Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.

  • Error Message: The S3 bucket %s does not exist.

    Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.

  • Error Message: The S3 bucket %s is not owned by the authenticated user.

    Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.

  • Error Message: The authenticated user does not have sufficient permissions to perform the desired activity.

    Solution: Contact your system administrator to get the needed permissions.

  • Error Message: The S3 bucket %s already contains an object with key %s.

    Solution: Give the TargetSnapshotName a new and unique value. If exporting a snapshot, you could alternatively create a new Amazon S3 bucket and use this same value for TargetSnapshotName.

  • Error Message: ElastiCache has not been granted READ permissions %s on the S3 Bucket.

    Solution: Add List and Read permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide.

  • Error Message: ElastiCache has not been granted WRITE permissions %s on the S3 Bucket.

    Solution: Add Upload/Delete permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide.

  • Error Message: ElastiCache has not been granted READ_ACP permissions %s on the S3 Bucket.

    Solution: Add View Permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide.

" }, "CreateCacheCluster":{ "name":"CreateCacheCluster", @@ -118,7 +152,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

Creates a new Amazon ElastiCache cache parameter group. An ElastiCache cache parameter group is a collection of parameters and their values that are applied to all of the nodes in any cluster or replication group using the CacheParameterGroup.

A newly created CacheParameterGroup is an exact duplicate of the default parameter group for the CacheParameterGroupFamily. To customize the newly created CacheParameterGroup you can change the values of specific parameters. For more information, see:

" + "documentation":"

Creates a new Amazon ElastiCache cache parameter group. An ElastiCache cache parameter group is a collection of parameters and their values that are applied to all of the nodes in any cluster or replication group using the CacheParameterGroup.

A newly created CacheParameterGroup is an exact duplicate of the default parameter group for the CacheParameterGroupFamily. To customize the newly created CacheParameterGroup you can change the values of specific parameters. For more information, see:

" }, "CreateCacheSecurityGroup":{ "name":"CreateCacheSecurityGroup", @@ -137,7 +171,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

Creates a new cache security group. Use a cache security group to control access to one or more clusters.

Cache security groups are only used when you are creating a cluster outside of an Amazon Virtual Private Cloud (Amazon VPC). If you are creating a cluster inside of a VPC, use a cache subnet group instead. For more information, see CreateCacheSubnetGroup.

" + "documentation":"

Creates a new cache security group. Use a cache security group to control access to one or more clusters.

Cache security groups are only used when you are creating a cluster outside of an Amazon Virtual Private Cloud (Amazon VPC). If you are creating a cluster inside of a VPC, use a cache subnet group instead. For more information, see CreateCacheSubnetGroup.

" }, "CreateCacheSubnetGroup":{ "name":"CreateCacheSubnetGroup", @@ -186,7 +220,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

Creates a Redis (cluster mode disabled) or a Redis (cluster mode enabled) replication group.

A Redis (cluster mode disabled) replication group is a collection of clusters, where one of the clusters is a read/write primary and the others are read-only replicas. Writes to the primary are asynchronously propagated to the replicas.

A Redis (cluster mode enabled) replication group is a collection of 1 to 15 node groups (shards). Each node group (shard) has one read/write primary node and up to 5 read-only replica nodes. Writes to the primary are asynchronously propagated to the replicas. Redis (cluster mode enabled) replication groups partition the data across node groups (shards).

When a Redis (cluster mode disabled) replication group has been successfully created, you can add one or more read replicas to it, up to a total of 5 read replicas. You cannot alter a Redis (cluster mode enabled) replication group after it has been created. However, if you need to increase or decrease the number of node groups (console: shards), you can avail yourself of ElastiCache for Redis' enhanced backup and restore. For more information, see Restoring From a Backup with Cluster Resizing in the ElastiCache User Guide.

This operation is valid for Redis only.

" + "documentation":"

Creates a Redis (cluster mode disabled) or a Redis (cluster mode enabled) replication group.

A Redis (cluster mode disabled) replication group is a collection of clusters, where one of the clusters is a read/write primary and the others are read-only replicas. Writes to the primary are asynchronously propagated to the replicas.

A Redis (cluster mode enabled) replication group is a collection of 1 to 15 node groups (shards). Each node group (shard) has one read/write primary node and up to 5 read-only replica nodes. Writes to the primary are asynchronously propagated to the replicas. Redis (cluster mode enabled) replication groups partition the data across node groups (shards).

When a Redis (cluster mode disabled) replication group has been successfully created, you can add one or more read replicas to it, up to a total of 5 read replicas. You cannot alter a Redis (cluster mode enabled) replication group after it has been created. However, if you need to increase or decrease the number of node groups (console: shards), you can avail yourself of ElastiCache for Redis' enhanced backup and restore. For more information, see Restoring From a Backup with Cluster Resizing in the ElastiCache User Guide.

This operation is valid for Redis only.

" }, "CreateSnapshot":{ "name":"CreateSnapshot", @@ -259,7 +293,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

Deletes a previously provisioned cluster. DeleteCacheCluster deletes all associated cache nodes, node endpoints and the cluster itself. When you receive a successful response from this operation, Amazon ElastiCache immediately begins deleting the cluster; you cannot cancel or revert this operation.

This operation cannot be used to delete a cluster that is the last read replica of a replication group or node group (shard) that has Multi-AZ mode enabled or a cluster from a Redis (cluster mode enabled) replication group.

This operation is not valid for Redis (cluster mode enabled) clusters.

" + "documentation":"

Deletes a previously provisioned cluster. DeleteCacheCluster deletes all associated cache nodes, node endpoints and the cluster itself. When you receive a successful response from this operation, Amazon ElastiCache immediately begins deleting the cluster; you cannot cancel or revert this operation.

This operation is not valid for:

  • Redis (cluster mode enabled) clusters

  • A cluster that is the last read replica of a replication group

  • A node group (shard) that has Multi-AZ mode enabled

  • A cluster from a Redis (cluster mode enabled) replication group

  • A cluster that is not in the available state

" }, "DeleteCacheParameterGroup":{ "name":"DeleteCacheParameterGroup", @@ -428,7 +462,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

Returns a list of cache security group descriptions. If a cache security group name is specified, the list contains only the description of that group.

" + "documentation":"

Returns a list of cache security group descriptions. If a cache security group name is specified, the list contains only the description of that group. This applicable only when you have ElastiCache in Classic setup

" }, "DescribeCacheSubnetGroups":{ "name":"DescribeCacheSubnetGroups", @@ -444,7 +478,7 @@ "errors":[ {"shape":"CacheSubnetGroupNotFoundFault"} ], - "documentation":"

Returns a list of cache subnet group descriptions. If a subnet group name is specified, the list contains only the description of that group.

" + "documentation":"

Returns a list of cache subnet group descriptions. If a subnet group name is specified, the list contains only the description of that group. This is applicable only when you have ElastiCache in VPC setup. All ElastiCache clusters now launch in VPC by default.

" }, "DescribeEngineDefaultParameters":{ "name":"DescribeEngineDefaultParameters", @@ -534,6 +568,24 @@ ], "documentation":"

Lists available reserved cache node offerings.

" }, + "DescribeServiceUpdates":{ + "name":"DescribeServiceUpdates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeServiceUpdatesMessage"}, + "output":{ + "shape":"ServiceUpdatesMessage", + "resultWrapper":"DescribeServiceUpdatesResult" + }, + "errors":[ + {"shape":"ServiceUpdateNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Returns details of the service updates

" + }, "DescribeSnapshots":{ "name":"DescribeSnapshots", "http":{ @@ -553,6 +605,23 @@ ], "documentation":"

Returns information about cluster or replication group snapshots. By default, DescribeSnapshots lists all of your snapshots; it can optionally describe a single snapshot, or just the snapshots associated with a particular cache cluster.

This operation is valid for Redis only.

" }, + "DescribeUpdateActions":{ + "name":"DescribeUpdateActions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeUpdateActionsMessage"}, + "output":{ + "shape":"UpdateActionsMessage", + "resultWrapper":"DescribeUpdateActionsResult" + }, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Returns details of the update actions

" + }, "IncreaseReplicaCount":{ "name":"IncreaseReplicaCount", "http":{ @@ -614,7 +683,7 @@ {"shape":"SnapshotNotFoundFault"}, {"shape":"InvalidARNFault"} ], - "documentation":"

Lists all cost allocation tags currently on the named resource. A cost allocation tag is a key-value pair where the key is case-sensitive and the value is optional. You can use cost allocation tags to categorize and track your AWS costs.

If the cluster is not in the available state, ListTagsForResource returns an error.

You can have a maximum of 50 cost allocation tags on an ElastiCache resource. For more information, see Monitoring Costs with Tags.

" + "documentation":"

Lists all cost allocation tags currently on the named resource. A cost allocation tag is a key-value pair where the key is case-sensitive and the value is optional. You can use cost allocation tags to categorize and track your AWS costs.

If the cluster is not in the available state, ListTagsForResource returns an error.

You can have a maximum of 50 cost allocation tags on an ElastiCache resource. For more information, see Monitoring Costs with Tags.

" }, "ModifyCacheCluster":{ "name":"ModifyCacheCluster", @@ -706,7 +775,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

Modifies the settings for a replication group.

For Redis (cluster mode enabled) clusters, this operation cannot be used to change a cluster's node type or engine version. For more information, see:

This operation is valid for Redis only.

" + "documentation":"

Modifies the settings for a replication group.

For Redis (cluster mode enabled) clusters, this operation cannot be used to change a cluster's node type or engine version. For more information, see:

This operation is valid for Redis only.

" }, "ModifyReplicationGroupShardConfiguration":{ "name":"ModifyReplicationGroupShardConfiguration", @@ -848,7 +917,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

Represents the input of a TestFailover operation which test automatic failover on a specified node group (called shard in the console) in a replication group (called cluster in the console).

Note the following

  • A customer can use this operation to test automatic failover on up to 5 shards (called node groups in the ElastiCache API and AWS CLI) in any rolling 24-hour period.

  • If calling this operation on shards in different clusters (called replication groups in the API and CLI), the calls can be made concurrently.

  • If calling this operation multiple times on different shards in the same Redis (cluster mode enabled) replication group, the first node replacement must complete before a subsequent call can be made.

  • To determine whether the node replacement is complete you can check Events using the Amazon ElastiCache console, the AWS CLI, or the ElastiCache API. Look for the following automatic failover related events, listed here in order of occurrance:

    1. Replication group message: Test Failover API called for node group <node-group-id>

    2. Cache cluster message: Failover from master node <primary-node-id> to replica node <node-id> completed

    3. Replication group message: Failover from master node <primary-node-id> to replica node <node-id> completed

    4. Cache cluster message: Recovering cache nodes <node-id>

    5. Cache cluster message: Finished recovery for cache nodes <node-id>

    For more information see:

Also see, Testing Multi-AZ with Automatic Failover in the ElastiCache User Guide.

" + "documentation":"

Represents the input of a TestFailover operation which test automatic failover on a specified node group (called shard in the console) in a replication group (called cluster in the console).

Note the following

  • A customer can use this operation to test automatic failover on up to 5 shards (called node groups in the ElastiCache API and AWS CLI) in any rolling 24-hour period.

  • If calling this operation on shards in different clusters (called replication groups in the API and CLI), the calls can be made concurrently.

  • If calling this operation multiple times on different shards in the same Redis (cluster mode enabled) replication group, the first node replacement must complete before a subsequent call can be made.

  • To determine whether the node replacement is complete you can check Events using the Amazon ElastiCache console, the AWS CLI, or the ElastiCache API. Look for the following automatic failover related events, listed here in order of occurrance:

    1. Replication group message: Test Failover API called for node group <node-group-id>

    2. Cache cluster message: Failover from master node <primary-node-id> to replica node <node-id> completed

    3. Replication group message: Failover from master node <primary-node-id> to replica node <node-id> completed

    4. Cache cluster message: Recovering cache nodes <node-id>

    5. Cache cluster message: Finished recovery for cache nodes <node-id>

    For more information see:

Also see, Testing Multi-AZ with Automatic Failover in the ElastiCache User Guide.

" } }, "shapes":{ @@ -880,7 +949,7 @@ "members":{ "ResourceName":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the resource to which the tags are to be added, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. ElastiCache resources are cluster and snapshot.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + "documentation":"

The Amazon Resource Name (ARN) of the resource to which the tags are to be added, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. ElastiCache resources are cluster and snapshot.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" }, "Tags":{ "shape":"TagList", @@ -986,6 +1055,40 @@ } }, "AwsQueryErrorMessage":{"type":"string"}, + "BatchApplyUpdateActionMessage":{ + "type":"structure", + "required":[ + "ReplicationGroupIds", + "ServiceUpdateName" + ], + "members":{ + "ReplicationGroupIds":{ + "shape":"ReplicationGroupIdList", + "documentation":"

The replication group IDs

" + }, + "ServiceUpdateName":{ + "shape":"String", + "documentation":"

The unique ID of the service update

" + } + } + }, + "BatchStopUpdateActionMessage":{ + "type":"structure", + "required":[ + "ReplicationGroupIds", + "ServiceUpdateName" + ], + "members":{ + "ReplicationGroupIds":{ + "shape":"ReplicationGroupIdList", + "documentation":"

The replication group IDs

" + }, + "ServiceUpdateName":{ + "shape":"String", + "documentation":"

The unique ID of the service update

" + } + } + }, "Boolean":{"type":"boolean"}, "BooleanOptional":{"type":"boolean"}, "CacheCluster":{ @@ -1005,7 +1108,7 @@ }, "CacheNodeType":{ "shape":"String", - "documentation":"

The name of the compute and memory capacity node type for the cluster.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

      R4 node types; cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances.

  • Redis (cluster mode enabled): Backup/restore is not supported on T1 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

For a complete listing of node types and specifications, see:

" + "documentation":"

The name of the compute and memory capacity node type for the cluster.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge

      R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

Additional node type info

  • All current generation instance types are created in Amazon VPC by default.

  • Redis append-only files (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ with automatic failover is not supported on T1 instances.

  • Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later.

" }, "Engine":{ "shape":"String", @@ -1150,7 +1253,7 @@ }, "CacheParameterGroupFamily":{ "shape":"String", - "documentation":"

The name of the cache parameter group family associated with this cache engine.

Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2 | redis4.0

" + "documentation":"

The name of the cache parameter group family associated with this cache engine.

Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 | redis4.0 | redis5.0 |

" }, "CacheEngineDescription":{ "shape":"String", @@ -1216,7 +1319,7 @@ "documentation":"

The Availability Zone where this node was created and now resides.

" } }, - "documentation":"

Represents an individual cache node within a cluster. Each cache node runs its own instance of the cluster's protocol-compliant caching software - either Memcached or Redis.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

      R4 node types; cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances.

  • Redis (cluster mode enabled): Backup/restore is not supported on T1 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

For a complete listing of node types and specifications, see:

" + "documentation":"

Represents an individual cache node within a cluster. Each cache node runs its own instance of the cluster's protocol-compliant caching software - either Memcached or Redis.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge

      R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

Additional node type info

  • All current generation instance types are created in Amazon VPC by default.

  • Redis append-only files (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ with automatic failover is not supported on T1 instances.

  • Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later.

" }, "CacheNodeIdsList":{ "type":"list", @@ -1269,7 +1372,7 @@ }, "ChangeType":{ "shape":"ChangeType", - "documentation":"

Indicates whether a change to the parameter is applied immediately or requires a reboot for the change to be applied. You can force a reboot or wait until the next maintenance window's reboot. For more information, see Rebooting a Cluster.

" + "documentation":"

Indicates whether a change to the parameter is applied immediately or requires a reboot for the change to be applied. You can force a reboot or wait until the next maintenance window's reboot. For more information, see Rebooting a Cluster.

" } }, "documentation":"

A parameter that has a different value for each cache node type it is applied to. For example, in a Redis cluster, a cache.m1.large cache node type would have a larger maxmemory value than a cache.m1.small type.

" @@ -1311,7 +1414,7 @@ }, "CacheParameterGroupFamily":{ "shape":"String", - "documentation":"

The name of the cache parameter group family that this cache parameter group is compatible with.

Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2 | redis4.0

" + "documentation":"

The name of the cache parameter group family that this cache parameter group is compatible with.

Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 | redis4.0 | redis5.0 |

" }, "Description":{ "shape":"String", @@ -1671,7 +1774,7 @@ "members":{ "NodeGroupId":{ "shape":"AllowedNodeGroupId", - "documentation":"

The 4-digit id for the node group you are configuring. For Redis (cluster mode disabled) replication groups, the node group id is always 0001. To find a Redis (cluster mode enabled)'s node group's (shard's) id, see Finding a Shard's Id.

" + "documentation":"

The 4-digit id for the node group you are configuring. For Redis (cluster mode disabled) replication groups, the node group id is always 0001. To find a Redis (cluster mode enabled)'s node group's (shard's) id, see Finding a Shard's Id.

" }, "NewReplicaCount":{ "shape":"Integer", @@ -1701,7 +1804,7 @@ }, "TargetBucket":{ "shape":"String", - "documentation":"

The Amazon S3 bucket to which the snapshot is exported. This parameter is used only when exporting a snapshot for external access.

When using this parameter to export a snapshot, be sure Amazon ElastiCache has the needed permissions to this S3 bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the Amazon ElastiCache User Guide.

For more information, see Exporting a Snapshot in the Amazon ElastiCache User Guide.

" + "documentation":"

The Amazon S3 bucket to which the snapshot is exported. This parameter is used only when exporting a snapshot for external access.

When using this parameter to export a snapshot, be sure Amazon ElastiCache has the needed permissions to this S3 bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the Amazon ElastiCache User Guide.

For more information, see Exporting a Snapshot in the Amazon ElastiCache User Guide.

" } }, "documentation":"

Represents the input of a CopySnapshotMessage operation.

" @@ -1742,7 +1845,7 @@ }, "CacheNodeType":{ "shape":"String", - "documentation":"

The compute and memory capacity of the nodes in the node group (shard).

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

      R4 node types; cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances.

  • Redis (cluster mode enabled): Backup/restore is not supported on T1 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

For a complete listing of node types and specifications, see:

" + "documentation":"

The compute and memory capacity of the nodes in the node group (shard).

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge

      R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

Additional node type info

  • All current generation instance types are created in Amazon VPC by default.

  • Redis append-only files (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ with automatic failover is not supported on T1 instances.

  • Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later.

" }, "Engine":{ "shape":"String", @@ -1750,7 +1853,7 @@ }, "EngineVersion":{ "shape":"String", - "documentation":"

The version number of the cache engine to be used for this cluster. To view the supported cache engine versions, use the DescribeCacheEngineVersions operation.

Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version), but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cluster or replication group and create it anew with the earlier engine version.

" + "documentation":"

The version number of the cache engine to be used for this cluster. To view the supported cache engine versions, use the DescribeCacheEngineVersions operation.

Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version), but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cluster or replication group and create it anew with the earlier engine version.

" }, "CacheParameterGroupName":{ "shape":"String", @@ -1758,7 +1861,7 @@ }, "CacheSubnetGroupName":{ "shape":"String", - "documentation":"

The name of the subnet group to be used for the cluster.

Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC).

If you're going to launch your cluster in an Amazon VPC, you need to create a subnet group before you start creating a cluster. For more information, see Subnets and Subnet Groups.

" + "documentation":"

The name of the subnet group to be used for the cluster.

Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC).

If you're going to launch your cluster in an Amazon VPC, you need to create a subnet group before you start creating a cluster. For more information, see Subnets and Subnet Groups.

" }, "CacheSecurityGroupNames":{ "shape":"CacheSecurityGroupNameList", @@ -1831,7 +1934,7 @@ }, "CacheParameterGroupFamily":{ "shape":"String", - "documentation":"

The name of the cache parameter group family that the cache parameter group can be used with.

Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2 | redis4.0

" + "documentation":"

The name of the cache parameter group family that the cache parameter group can be used with.

Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 | redis4.0 | redis5.0 |

" }, "Description":{ "shape":"String", @@ -1920,7 +2023,7 @@ }, "AutomaticFailoverEnabled":{ "shape":"BooleanOptional", - "documentation":"

Specifies whether a read-only replica is automatically promoted to read/write primary if the existing primary fails.

If true, Multi-AZ is enabled for this replication group. If false, Multi-AZ is disabled for this replication group.

AutomaticFailoverEnabled must be enabled for Redis (cluster mode enabled) replication groups.

Default: false

Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:

  • Redis versions earlier than 2.8.6.

  • Redis (cluster mode disabled): T1 and T2 cache node types.

  • Redis (cluster mode enabled): T1 node types.

" + "documentation":"

Specifies whether a read-only replica is automatically promoted to read/write primary if the existing primary fails.

If true, Multi-AZ is enabled for this replication group. If false, Multi-AZ is disabled for this replication group.

AutomaticFailoverEnabled must be enabled for Redis (cluster mode enabled) replication groups.

Default: false

Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:

  • Redis versions earlier than 2.8.6.

  • Redis (cluster mode disabled): T1 node types.

  • Redis (cluster mode enabled): T1 node types.

" }, "NumCacheClusters":{ "shape":"IntegerOptional", @@ -1944,7 +2047,7 @@ }, "CacheNodeType":{ "shape":"String", - "documentation":"

The compute and memory capacity of the nodes in the node group (shard).

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

      R4 node types; cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances.

  • Redis (cluster mode enabled): Backup/restore is not supported on T1 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

For a complete listing of node types and specifications, see:

" + "documentation":"

The compute and memory capacity of the nodes in the node group (shard).

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge

      R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

Additional node type info

  • All current generation instance types are created in Amazon VPC by default.

  • Redis append-only files (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ with automatic failover is not supported on T1 instances.

  • Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later.

" }, "Engine":{ "shape":"String", @@ -1952,15 +2055,15 @@ }, "EngineVersion":{ "shape":"String", - "documentation":"

The version number of the cache engine to be used for the clusters in this replication group. To view the supported cache engine versions, use the DescribeCacheEngineVersions operation.

Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version) in the ElastiCache User Guide, but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cluster or replication group and create it anew with the earlier engine version.

" + "documentation":"

The version number of the cache engine to be used for the clusters in this replication group. To view the supported cache engine versions, use the DescribeCacheEngineVersions operation.

Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version) in the ElastiCache User Guide, but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cluster or replication group and create it anew with the earlier engine version.

" }, "CacheParameterGroupName":{ "shape":"String", - "documentation":"

The name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used.

If you are running Redis version 3.2.4 or later, only one node group (shard), and want to use a default parameter group, we recommend that you specify the parameter group by name.

  • To create a Redis (cluster mode disabled) replication group, use CacheParameterGroupName=default.redis3.2.

  • To create a Redis (cluster mode enabled) replication group, use CacheParameterGroupName=default.redis3.2.cluster.on.

" + "documentation":"

The name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used.

If you are restoring to an engine version that is different than the original, you must specify the default version of that version. For example, CacheParameterGroupName=default.redis4.0.

If you are running Redis version 3.2.4 or later, only one node group (shard), and want to use a default parameter group, we recommend that you specify the parameter group by name.

  • To create a Redis (cluster mode disabled) replication group, use CacheParameterGroupName=default.redis3.2.

  • To create a Redis (cluster mode enabled) replication group, use CacheParameterGroupName=default.redis3.2.cluster.on.

" }, "CacheSubnetGroupName":{ "shape":"String", - "documentation":"

The name of the cache subnet group to be used for the replication group.

If you're going to launch your cluster in an Amazon VPC, you need to create a subnet group before you start creating a cluster. For more information, see Subnets and Subnet Groups.

" + "documentation":"

The name of the cache subnet group to be used for the replication group.

If you're going to launch your cluster in an Amazon VPC, you need to create a subnet group before you start creating a cluster. For more information, see Subnets and Subnet Groups.

" }, "CacheSecurityGroupNames":{ "shape":"CacheSecurityGroupNameList", @@ -1972,7 +2075,7 @@ }, "Tags":{ "shape":"TagList", - "documentation":"

A list of cost allocation tags to be added to this resource. A tag is a key-value pair.

" + "documentation":"

A list of cost allocation tags to be added to this resource. Tags are comma-separated key,value pairs (e.g. Key=myKey, Value=myKeyValue. You can include multiple tags as shown following: Key=myKey, Value=myKeyValue Key=mySecondKey, Value=mySecondKeyValue.

" }, "SnapshotArns":{ "shape":"SnapshotArnsList", @@ -2077,7 +2180,7 @@ }, "ApplyImmediately":{ "shape":"Boolean", - "documentation":"

If True, the number of replica nodes is decreased immediately. If False, the number of replica nodes is decreased during the next maintenance window.

" + "documentation":"

If True, the number of replica nodes is decreased immediately. ApplyImmediately=False is not currently supported.

" } } }, @@ -2222,7 +2325,7 @@ }, "CacheParameterGroupFamily":{ "shape":"String", - "documentation":"

The name of a specific cache parameter group family to return details for.

Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2 | redis4.0

Constraints:

  • Must be 1 to 255 alphanumeric characters

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

" + "documentation":"

The name of a specific cache parameter group family to return details for.

Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 | redis4.0 | redis5.0 |

Constraints:

  • Must be 1 to 255 alphanumeric characters

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

" }, "MaxRecords":{ "shape":"IntegerOptional", @@ -2322,7 +2425,7 @@ "members":{ "CacheParameterGroupFamily":{ "shape":"String", - "documentation":"

The name of the cache parameter group family.

Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2 | redis4.0

" + "documentation":"

The name of the cache parameter group family.

Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 | redis4.0 | redis5.0 |

" }, "MaxRecords":{ "shape":"IntegerOptional", @@ -2406,7 +2509,7 @@ }, "CacheNodeType":{ "shape":"String", - "documentation":"

The cache node type filter value. Use this parameter to show only those reservations matching the specified cache node type.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

      R4 node types; cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances.

  • Redis (cluster mode enabled): Backup/restore is not supported on T1 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

For a complete listing of node types and specifications, see:

" + "documentation":"

The cache node type filter value. Use this parameter to show only those reservations matching the specified cache node type.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge

      R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

Additional node type info

  • All current generation instance types are created in Amazon VPC by default.

  • Redis append-only files (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ with automatic failover is not supported on T1 instances.

  • Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later.

" }, "Duration":{ "shape":"String", @@ -2440,7 +2543,7 @@ }, "CacheNodeType":{ "shape":"String", - "documentation":"

The cache node type filter value. Use this parameter to show only the available offerings matching the specified cache node type.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

      R4 node types; cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances.

  • Redis (cluster mode enabled): Backup/restore is not supported on T1 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

For a complete listing of node types and specifications, see:

" + "documentation":"

The cache node type filter value. Use this parameter to show only the available offerings matching the specified cache node type.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge

      R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

Additional node type info

  • All current generation instance types are created in Amazon VPC by default.

  • Redis append-only files (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ with automatic failover is not supported on T1 instances.

  • Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later.

" }, "Duration":{ "shape":"String", @@ -2465,6 +2568,27 @@ }, "documentation":"

Represents the input of a DescribeReservedCacheNodesOfferings operation.

" }, + "DescribeServiceUpdatesMessage":{ + "type":"structure", + "members":{ + "ServiceUpdateName":{ + "shape":"String", + "documentation":"

The unique ID of the service update

" + }, + "ServiceUpdateStatus":{ + "shape":"ServiceUpdateStatusList", + "documentation":"

The status of the service update

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + } + }, "DescribeSnapshotsListMessage":{ "type":"structure", "members":{ @@ -2513,6 +2637,43 @@ }, "documentation":"

Represents the input of a DescribeSnapshotsMessage operation.

" }, + "DescribeUpdateActionsMessage":{ + "type":"structure", + "members":{ + "ServiceUpdateName":{ + "shape":"String", + "documentation":"

The unique ID of the service update

" + }, + "ReplicationGroupIds":{ + "shape":"ReplicationGroupIdList", + "documentation":"

The replication group IDs

" + }, + "ServiceUpdateStatus":{ + "shape":"ServiceUpdateStatusList", + "documentation":"

The status of the service update

" + }, + "ServiceUpdateTimeRange":{ + "shape":"TimeRangeFilter", + "documentation":"

The range of time specified to search for service updates that are in available status

" + }, + "UpdateActionStatus":{ + "shape":"UpdateActionStatusList", + "documentation":"

The status of the update action.

" + }, + "ShowNodeLevelUpdateStatus":{ + "shape":"BooleanOptional", + "documentation":"

Dictates whether to include node level update status in the response

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + } + }, "Double":{"type":"double"}, "EC2SecurityGroup":{ "type":"structure", @@ -2558,7 +2719,7 @@ "members":{ "CacheParameterGroupFamily":{ "shape":"String", - "documentation":"

Specifies the name of the cache parameter group family to which the engine default parameters apply.

Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2 | redis4.0

" + "documentation":"

Specifies the name of the cache parameter group family to which the engine default parameters apply.

Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 | redis4.0 | redis5.0 |

" }, "Marker":{ "shape":"String", @@ -2640,7 +2801,7 @@ }, "ApplyImmediately":{ "shape":"Boolean", - "documentation":"

If True, the number of replica nodes is increased immediately. If False, the number of replica nodes is increased during the next maintenance window.

" + "documentation":"

If True, the number of replica nodes is increased immediately. ApplyImmediately=False is not currently supported.

" } } }, @@ -2654,7 +2815,7 @@ "type":"structure", "members":{ }, - "documentation":"

The requested cache node type is not available in the specified Availability Zone.

", + "documentation":"

The requested cache node type is not available in the specified Availability Zone. For more information, see InsufficientCacheClusterCapacity in the ElastiCache User Guide.

", "error":{ "code":"InsufficientCacheClusterCapacity", "httpStatusCode":400, @@ -2818,7 +2979,7 @@ "members":{ "ResourceName":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the resource for which you want the list of tags, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + "documentation":"

The Amazon Resource Name (ARN) of the resource for which you want the list of tags, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" } }, "documentation":"

The input parameters for the ListTagsForResource operation.

" @@ -2841,11 +3002,11 @@ }, "AZMode":{ "shape":"AZMode", - "documentation":"

Specifies whether the new nodes in this Memcached cluster are all created in a single Availability Zone or created across multiple Availability Zones.

Valid values: single-az | cross-az.

This option is only supported for Memcached clusters.

You cannot specify single-az if the Memcached cluster already has cache nodes in different Availability Zones. If cross-az is specified, existing Memcached nodes remain in their current Availability Zone.

Only newly created nodes are located in different Availability Zones. For instructions on how to move existing Memcached nodes to different Availability Zones, see the Availability Zone Considerations section of Cache Node Considerations for Memcached.

" + "documentation":"

Specifies whether the new nodes in this Memcached cluster are all created in a single Availability Zone or created across multiple Availability Zones.

Valid values: single-az | cross-az.

This option is only supported for Memcached clusters.

You cannot specify single-az if the Memcached cluster already has cache nodes in different Availability Zones. If cross-az is specified, existing Memcached nodes remain in their current Availability Zone.

Only newly created nodes are located in different Availability Zones. For instructions on how to move existing Memcached nodes to different Availability Zones, see the Availability Zone Considerations section of Cache Node Considerations for Memcached.

" }, "NewAvailabilityZones":{ "shape":"PreferredAvailabilityZoneList", - "documentation":"

The list of Availability Zones where the new Memcached cache nodes are created.

This parameter is only valid when NumCacheNodes in the request is greater than the sum of the number of active cache nodes and the number of cache nodes pending creation (which may be zero). The number of Availability Zones supplied in this list must match the cache nodes being added in this request.

This option is only supported on Memcached clusters.

Scenarios:

  • Scenario 1: You have 3 active nodes and wish to add 2 nodes. Specify NumCacheNodes=5 (3 + 2) and optionally specify two Availability Zones for the two new nodes.

  • Scenario 2: You have 3 active nodes and 2 nodes pending creation (from the scenario 1 call) and want to add 1 more node. Specify NumCacheNodes=6 ((3 + 2) + 1) and optionally specify an Availability Zone for the new node.

  • Scenario 3: You want to cancel all pending operations. Specify NumCacheNodes=3 to cancel all pending operations.

The Availability Zone placement of nodes pending creation cannot be modified. If you wish to cancel any nodes pending creation, add 0 nodes by setting NumCacheNodes to the number of current nodes.

If cross-az is specified, existing Memcached nodes remain in their current Availability Zone. Only newly created nodes can be located in different Availability Zones. For guidance on how to move existing Memcached nodes to different Availability Zones, see the Availability Zone Considerations section of Cache Node Considerations for Memcached.

Impact of new add/remove requests upon pending requests

  • Scenario-1

    • Pending Action: Delete

    • New Request: Delete

    • Result: The new delete, pending or immediate, replaces the pending delete.

  • Scenario-2

    • Pending Action: Delete

    • New Request: Create

    • Result: The new create, pending or immediate, replaces the pending delete.

  • Scenario-3

    • Pending Action: Create

    • New Request: Delete

    • Result: The new delete, pending or immediate, replaces the pending create.

  • Scenario-4

    • Pending Action: Create

    • New Request: Create

    • Result: The new create is added to the pending create.

      Important: If the new create request is Apply Immediately - Yes, all creates are performed immediately. If the new create request is Apply Immediately - No, all creates are pending.

" + "documentation":"

The list of Availability Zones where the new Memcached cache nodes are created.

This parameter is only valid when NumCacheNodes in the request is greater than the sum of the number of active cache nodes and the number of cache nodes pending creation (which may be zero). The number of Availability Zones supplied in this list must match the cache nodes being added in this request.

This option is only supported on Memcached clusters.

Scenarios:

  • Scenario 1: You have 3 active nodes and wish to add 2 nodes. Specify NumCacheNodes=5 (3 + 2) and optionally specify two Availability Zones for the two new nodes.

  • Scenario 2: You have 3 active nodes and 2 nodes pending creation (from the scenario 1 call) and want to add 1 more node. Specify NumCacheNodes=6 ((3 + 2) + 1) and optionally specify an Availability Zone for the new node.

  • Scenario 3: You want to cancel all pending operations. Specify NumCacheNodes=3 to cancel all pending operations.

The Availability Zone placement of nodes pending creation cannot be modified. If you wish to cancel any nodes pending creation, add 0 nodes by setting NumCacheNodes to the number of current nodes.

If cross-az is specified, existing Memcached nodes remain in their current Availability Zone. Only newly created nodes can be located in different Availability Zones. For guidance on how to move existing Memcached nodes to different Availability Zones, see the Availability Zone Considerations section of Cache Node Considerations for Memcached.

Impact of new add/remove requests upon pending requests

  • Scenario-1

    • Pending Action: Delete

    • New Request: Delete

    • Result: The new delete, pending or immediate, replaces the pending delete.

  • Scenario-2

    • Pending Action: Delete

    • New Request: Create

    • Result: The new create, pending or immediate, replaces the pending delete.

  • Scenario-3

    • Pending Action: Create

    • New Request: Delete

    • Result: The new delete, pending or immediate, replaces the pending create.

  • Scenario-4

    • Pending Action: Create

    • New Request: Create

    • Result: The new create is added to the pending create.

      Important: If the new create request is Apply Immediately - Yes, all creates are performed immediately. If the new create request is Apply Immediately - No, all creates are pending.

" }, "CacheSecurityGroupNames":{ "shape":"CacheSecurityGroupNameList", @@ -2877,7 +3038,7 @@ }, "EngineVersion":{ "shape":"String", - "documentation":"

The upgraded version of the cache engine to be run on the cache nodes.

Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version), but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cluster and create it anew with the earlier engine version.

" + "documentation":"

The upgraded version of the cache engine to be run on the cache nodes.

Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version), but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cluster and create it anew with the earlier engine version.

" }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", @@ -2969,7 +3130,7 @@ }, "AutomaticFailoverEnabled":{ "shape":"BooleanOptional", - "documentation":"

Determines whether a read replica is automatically promoted to read/write primary if the existing primary encounters a failure.

Valid values: true | false

Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:

  • Redis versions earlier than 2.8.6.

  • Redis (cluster mode disabled): T1 and T2 cache node types.

  • Redis (cluster mode enabled): T1 node types.

" + "documentation":"

Determines whether a read replica is automatically promoted to read/write primary if the existing primary encounters a failure.

Valid values: true | false

Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:

  • Redis versions earlier than 2.8.6.

  • Redis (cluster mode disabled): T1 node types.

  • Redis (cluster mode enabled): T1 node types.

" }, "CacheSecurityGroupNames":{ "shape":"CacheSecurityGroupNameList", @@ -3001,7 +3162,7 @@ }, "EngineVersion":{ "shape":"String", - "documentation":"

The upgraded version of the cache engine to be run on the clusters in the replication group.

Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version), but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing replication group and create it anew with the earlier engine version.

" + "documentation":"

The upgraded version of the cache engine to be run on the clusters in the replication group.

Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version), but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing replication group and create it anew with the earlier engine version.

" }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", @@ -3059,11 +3220,11 @@ }, "NodeGroupsToRemove":{ "shape":"NodeGroupsToRemoveList", - "documentation":"

If the value of NodeGroupCount is less than the current number of node groups (shards), the NodeGroupsToRemove or NodeGroupsToRetain is a required list of node group ids to remove from or retain in the cluster.

ElastiCache for Redis will attempt to remove all node groups listed by NodeGroupsToRemove from the cluster.

" + "documentation":"

If the value of NodeGroupCount is less than the current number of node groups (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. NodeGroupsToRemove is a list of NodeGroupIds to remove from the cluster.

ElastiCache for Redis will attempt to remove all node groups listed by NodeGroupsToRemove from the cluster.

" }, "NodeGroupsToRetain":{ "shape":"NodeGroupsToRetainList", - "documentation":"

If the value of NodeGroupCount is less than the current number of node groups (shards), the NodeGroupsToRemove or NodeGroupsToRetain is a required list of node group ids to remove from or retain in the cluster.

ElastiCache for Redis will attempt to remove all node groups except those listed by NodeGroupsToRetain from the cluster.

" + "documentation":"

If the value of NodeGroupCount is less than the current number of node groups (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. NodeGroupsToRetain is a list of NodeGroupIds to retain in the cluster.

ElastiCache for Redis will attempt to remove all node groups except those listed by NodeGroupsToRetain from the cluster.

" } }, "documentation":"

Represents the input for a ModifyReplicationGroupShardConfiguration operation.

" @@ -3091,7 +3252,7 @@ "members":{ "NodeGroupId":{ "shape":"String", - "documentation":"

The identifier for the node group (shard). A Redis (cluster mode disabled) replication group contains only 1 node group; therefore, the node group ID is 0001. A Redis (cluster mode enabled) replication group contains 1 to 15 node groups numbered 0001 to 0015.

" + "documentation":"

The identifier for the node group (shard). A Redis (cluster mode disabled) replication group contains only 1 node group; therefore, the node group ID is 0001. A Redis (cluster mode enabled) replication group contains 1 to 15 node groups numbered 0001 to 0015. Optionally, the user can provide the id for a node group.

" }, "Status":{ "shape":"String", @@ -3101,6 +3262,10 @@ "shape":"Endpoint", "documentation":"

The endpoint of the primary node in this node group (shard).

" }, + "ReaderEndpoint":{ + "shape":"Endpoint", + "documentation":"

The endpoint of the replica nodes in this node group (shard).

" + }, "Slots":{ "shape":"String", "documentation":"

The keyspace for this node group (shard).

" @@ -3117,7 +3282,7 @@ "members":{ "NodeGroupId":{ "shape":"AllowedNodeGroupId", - "documentation":"

The 4-digit id for the node group these configuration values apply to.

" + "documentation":"

Either the ElastiCache for Redis supplied 4-digit id or a user supplied id for the node group these configuration values apply to.

" }, "Slots":{ "shape":"String", @@ -3185,6 +3350,55 @@ "locationName":"NodeGroupMember" } }, + "NodeGroupMemberUpdateStatus":{ + "type":"structure", + "members":{ + "CacheClusterId":{ + "shape":"String", + "documentation":"

The cache cluster ID

" + }, + "CacheNodeId":{ + "shape":"String", + "documentation":"

The node ID of the cache cluster

" + }, + "NodeUpdateStatus":{ + "shape":"NodeUpdateStatus", + "documentation":"

The update status of the node

" + }, + "NodeDeletionDate":{ + "shape":"TStamp", + "documentation":"

The deletion date of the node

" + }, + "NodeUpdateStartDate":{ + "shape":"TStamp", + "documentation":"

The start date of the update for a node

" + }, + "NodeUpdateEndDate":{ + "shape":"TStamp", + "documentation":"

The end date of the update for a node

" + }, + "NodeUpdateInitiatedBy":{ + "shape":"NodeUpdateInitiatedBy", + "documentation":"

Reflects whether the update was initiated by the customer or automatically applied

" + }, + "NodeUpdateInitiatedDate":{ + "shape":"TStamp", + "documentation":"

The date when the update is triggered

" + }, + "NodeUpdateStatusModifiedDate":{ + "shape":"TStamp", + "documentation":"

The date when the NodeUpdateStatus was last modified

" + } + }, + "documentation":"

The status of the service update on the node group member

" + }, + "NodeGroupMemberUpdateStatusList":{ + "type":"list", + "member":{ + "shape":"NodeGroupMemberUpdateStatus", + "locationName":"NodeGroupMemberUpdateStatus" + } + }, "NodeGroupNotFoundFault":{ "type":"structure", "members":{ @@ -3197,6 +3411,27 @@ }, "exception":true }, + "NodeGroupUpdateStatus":{ + "type":"structure", + "members":{ + "NodeGroupId":{ + "shape":"String", + "documentation":"

The ID of the node group

" + }, + "NodeGroupMemberUpdateStatus":{ + "shape":"NodeGroupMemberUpdateStatusList", + "documentation":"

The status of the service update on the node group member

" + } + }, + "documentation":"

The status of the service update on the node group

" + }, + "NodeGroupUpdateStatusList":{ + "type":"list", + "member":{ + "shape":"NodeGroupUpdateStatus", + "locationName":"NodeGroupUpdateStatus" + } + }, "NodeGroupsPerReplicationGroupQuotaExceededFault":{ "type":"structure", "members":{ @@ -3293,6 +3528,24 @@ "type":"list", "member":{"shape":"String"} }, + "NodeUpdateInitiatedBy":{ + "type":"string", + "enum":[ + "system", + "customer" + ] + }, + "NodeUpdateStatus":{ + "type":"string", + "enum":[ + "not-applied", + "waiting-to-start", + "in-progress", + "stopping", + "stopped", + "complete" + ] + }, "NotificationConfiguration":{ "type":"structure", "members":{ @@ -3344,7 +3597,7 @@ }, "ChangeType":{ "shape":"ChangeType", - "documentation":"

Indicates whether a change to the parameter is applied immediately or requires a reboot for the change to be applied. You can force a reboot or wait until the next maintenance window's reboot. For more information, see Rebooting a Cluster.

" + "documentation":"

Indicates whether a change to the parameter is applied immediately or requires a reboot for the change to be applied. You can force a reboot or wait until the next maintenance window's reboot. For more information, see Rebooting a Cluster.

" } }, "documentation":"

Describes an individual setting that controls some aspect of ElastiCache behavior.

" @@ -3413,6 +3666,31 @@ "locationName":"PreferredAvailabilityZone" } }, + "ProcessedUpdateAction":{ + "type":"structure", + "members":{ + "ReplicationGroupId":{ + "shape":"String", + "documentation":"

The ID of the replication group

" + }, + "ServiceUpdateName":{ + "shape":"String", + "documentation":"

The unique ID of the service update

" + }, + "UpdateActionStatus":{ + "shape":"UpdateActionStatus", + "documentation":"

The status of the update action on the Redis cluster

" + } + }, + "documentation":"

Update action that has been processed for the corresponding apply/stop request

" + }, + "ProcessedUpdateActionList":{ + "type":"list", + "member":{ + "shape":"ProcessedUpdateAction", + "locationName":"ProcessedUpdateAction" + } + }, "PurchaseReservedCacheNodesOfferingMessage":{ "type":"structure", "required":["ReservedCacheNodesOfferingId"], @@ -3497,7 +3775,7 @@ "members":{ "ResourceName":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the resource from which you want the tags removed, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + "documentation":"

The Amazon Resource Name (ARN) of the resource from which you want the tags removed, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" }, "TagKeys":{ "shape":"KeyList", @@ -3546,7 +3824,7 @@ }, "AutomaticFailover":{ "shape":"AutomaticFailoverStatus", - "documentation":"

Indicates the status of Multi-AZ with automatic failover for this Redis replication group.

Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:

  • Redis versions earlier than 2.8.6.

  • Redis (cluster mode disabled): T1 and T2 cache node types.

  • Redis (cluster mode enabled): T1 node types.

" + "documentation":"

Indicates the status of Multi-AZ with automatic failover for this Redis replication group.

Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:

  • Redis versions earlier than 2.8.6.

  • Redis (cluster mode disabled): T1 node types.

  • Redis (cluster mode enabled): T1 node types.

" }, "ConfigurationEndpoint":{ "shape":"Endpoint", @@ -3596,6 +3874,11 @@ }, "exception":true }, + "ReplicationGroupIdList":{ + "type":"list", + "member":{"shape":"String"}, + "max":20 + }, "ReplicationGroupList":{ "type":"list", "member":{ @@ -3638,7 +3921,7 @@ }, "AutomaticFailoverStatus":{ "shape":"PendingAutomaticFailoverStatus", - "documentation":"

Indicates the status of Multi-AZ with automatic failover for this Redis replication group.

Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:

  • Redis versions earlier than 2.8.6.

  • Redis (cluster mode disabled): T1 and T2 cache node types.

  • Redis (cluster mode enabled): T1 node types.

" + "documentation":"

Indicates the status of Multi-AZ with automatic failover for this Redis replication group.

Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:

  • Redis versions earlier than 2.8.6.

  • Redis (cluster mode disabled): T1 node types.

  • Redis (cluster mode enabled): T1 node types.

" }, "Resharding":{ "shape":"ReshardingStatus", @@ -3660,7 +3943,7 @@ }, "CacheNodeType":{ "shape":"String", - "documentation":"

The cache node type for the reserved cache nodes.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

      R4 node types; cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances.

  • Redis (cluster mode enabled): Backup/restore is not supported on T1 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

For a complete listing of node types and specifications, see:

" + "documentation":"

The cache node type for the reserved cache nodes.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge

      R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

Additional node type info

  • All current generation instance types are created in Amazon VPC by default.

  • Redis append-only files (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ with automatic failover is not supported on T1 instances.

  • Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later.

" }, "StartTime":{ "shape":"TStamp", @@ -3772,7 +4055,7 @@ }, "CacheNodeType":{ "shape":"String", - "documentation":"

The cache node type for the reserved cache node.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

      R4 node types; cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances.

  • Redis (cluster mode enabled): Backup/restore is not supported on T1 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

For a complete listing of node types and specifications, see:

" + "documentation":"

The cache node type for the reserved cache node.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge

      R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

Additional node type info

  • All current generation instance types are created in Amazon VPC by default.

  • Redis append-only files (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ with automatic failover is not supported on T1 instances.

  • Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later.

" }, "Duration":{ "shape":"Integer", @@ -3859,7 +4142,7 @@ "members":{ "NodeGroupId":{ "shape":"AllowedNodeGroupId", - "documentation":"

The 4-digit id for the node group these configuration values apply to.

" + "documentation":"

Either the ElastiCache for Redis supplied 4-digit id or a user supplied id for the node group these configuration values apply to.

" }, "PreferredAvailabilityZones":{ "shape":"AvailabilityZonesList", @@ -3951,6 +4234,126 @@ }, "exception":true }, + "ServiceUpdate":{ + "type":"structure", + "members":{ + "ServiceUpdateName":{ + "shape":"String", + "documentation":"

The unique ID of the service update

" + }, + "ServiceUpdateReleaseDate":{ + "shape":"TStamp", + "documentation":"

The date when the service update is initially available

" + }, + "ServiceUpdateEndDate":{ + "shape":"TStamp", + "documentation":"

The date after which the service update is no longer available

" + }, + "ServiceUpdateSeverity":{ + "shape":"ServiceUpdateSeverity", + "documentation":"

The severity of the service update

" + }, + "ServiceUpdateRecommendedApplyByDate":{ + "shape":"TStamp", + "documentation":"

The recommendend date to apply the service update in order to ensure compliance. For information on compliance, see Self-Service Security Updates for Compliance.

" + }, + "ServiceUpdateStatus":{ + "shape":"ServiceUpdateStatus", + "documentation":"

The status of the service update

" + }, + "ServiceUpdateDescription":{ + "shape":"String", + "documentation":"

Provides details of the service update

" + }, + "ServiceUpdateType":{ + "shape":"ServiceUpdateType", + "documentation":"

Reflects the nature of the service update

" + }, + "Engine":{ + "shape":"String", + "documentation":"

The Redis engine to which the service update applies

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The Redis engine version to which the service update applies

" + }, + "AutoUpdateAfterRecommendedApplyByDate":{ + "shape":"BooleanOptional", + "documentation":"

Indicates whether the service update will be automatically applied once the recommended apply-by date has expired.

" + }, + "EstimatedUpdateTime":{ + "shape":"String", + "documentation":"

The estimated length of time the service update will take

" + } + }, + "documentation":"

An update that you can apply to your Redis clusters.

" + }, + "ServiceUpdateList":{ + "type":"list", + "member":{ + "shape":"ServiceUpdate", + "locationName":"ServiceUpdate" + } + }, + "ServiceUpdateNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The service update doesn't exist

", + "error":{ + "code":"ServiceUpdateNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ServiceUpdateSeverity":{ + "type":"string", + "enum":[ + "critical", + "important", + "medium", + "low" + ] + }, + "ServiceUpdateStatus":{ + "type":"string", + "enum":[ + "available", + "cancelled", + "expired" + ] + }, + "ServiceUpdateStatusList":{ + "type":"list", + "member":{"shape":"ServiceUpdateStatus"}, + "max":3 + }, + "ServiceUpdateType":{ + "type":"string", + "enum":["security-update"] + }, + "ServiceUpdatesMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "ServiceUpdates":{ + "shape":"ServiceUpdateList", + "documentation":"

A list of service updates

" + } + } + }, + "SlaMet":{ + "type":"string", + "enum":[ + "yes", + "no", + "n/a" + ] + }, "SlotMigration":{ "type":"structure", "members":{ @@ -3990,7 +4393,7 @@ }, "CacheNodeType":{ "shape":"String", - "documentation":"

The name of the compute and memory capacity node type for the source cluster.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

      R4 node types; cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances.

  • Redis (cluster mode enabled): Backup/restore is not supported on T1 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

For a complete listing of node types and specifications, see:

" + "documentation":"

The name of the compute and memory capacity node type for the source cluster.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge

      R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

Additional node type info

  • All current generation instance types are created in Amazon VPC by default.

  • Redis append-only files (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ with automatic failover is not supported on T1 instances.

  • Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later.

" }, "Engine":{ "shape":"String", @@ -4054,7 +4457,7 @@ }, "AutomaticFailover":{ "shape":"AutomaticFailoverStatus", - "documentation":"

Indicates the status of Multi-AZ with automatic failover for the source Redis replication group.

Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:

  • Redis versions earlier than 2.8.6.

  • Redis (cluster mode disabled): T1 and T2 cache node types.

  • Redis (cluster mode enabled): T1 node types.

" + "documentation":"

Indicates the status of Multi-AZ with automatic failover for the source Redis replication group.

Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:

  • Redis versions earlier than 2.8.6.

  • Redis (cluster mode disabled): T1 node types.

  • Redis (cluster mode enabled): T1 node types.

" }, "NodeSnapshots":{ "shape":"NodeSnapshotList", @@ -4267,6 +4670,160 @@ "members":{ "ReplicationGroup":{"shape":"ReplicationGroup"} } + }, + "TimeRangeFilter":{ + "type":"structure", + "members":{ + "StartTime":{ + "shape":"TStamp", + "documentation":"

The start time of the time range filter

" + }, + "EndTime":{ + "shape":"TStamp", + "documentation":"

The end time of the time range filter

" + } + }, + "documentation":"

Filters update actions from the service updates that are in available status during the time range.

" + }, + "UnprocessedUpdateAction":{ + "type":"structure", + "members":{ + "ReplicationGroupId":{ + "shape":"String", + "documentation":"

The replication group ID

" + }, + "ServiceUpdateName":{ + "shape":"String", + "documentation":"

The unique ID of the service update

" + }, + "ErrorType":{ + "shape":"String", + "documentation":"

The error type for requests that are not processed

" + }, + "ErrorMessage":{ + "shape":"String", + "documentation":"

The error message that describes the reason the request was not processed

" + } + }, + "documentation":"

Update action that has failed to be processed for the corresponding apply/stop request

" + }, + "UnprocessedUpdateActionList":{ + "type":"list", + "member":{ + "shape":"UnprocessedUpdateAction", + "locationName":"UnprocessedUpdateAction" + } + }, + "UpdateAction":{ + "type":"structure", + "members":{ + "ReplicationGroupId":{ + "shape":"String", + "documentation":"

The ID of the replication group

" + }, + "ServiceUpdateName":{ + "shape":"String", + "documentation":"

The unique ID of the service update

" + }, + "ServiceUpdateReleaseDate":{ + "shape":"TStamp", + "documentation":"

The date the update is first available

" + }, + "ServiceUpdateSeverity":{ + "shape":"ServiceUpdateSeverity", + "documentation":"

The severity of the service update

" + }, + "ServiceUpdateStatus":{ + "shape":"ServiceUpdateStatus", + "documentation":"

The status of the service update

" + }, + "ServiceUpdateRecommendedApplyByDate":{ + "shape":"TStamp", + "documentation":"

The recommended date to apply the service update to ensure compliance. For information on compliance, see Self-Service Security Updates for Compliance.

" + }, + "ServiceUpdateType":{ + "shape":"ServiceUpdateType", + "documentation":"

Reflects the nature of the service update

" + }, + "UpdateActionAvailableDate":{ + "shape":"TStamp", + "documentation":"

The date that the service update is available to a replication group

" + }, + "UpdateActionStatus":{ + "shape":"UpdateActionStatus", + "documentation":"

The status of the update action

" + }, + "NodesUpdated":{ + "shape":"String", + "documentation":"

The progress of the service update on the replication group

" + }, + "UpdateActionStatusModifiedDate":{ + "shape":"TStamp", + "documentation":"

The date when the UpdateActionStatus was last modified

" + }, + "SlaMet":{ + "shape":"SlaMet", + "documentation":"

If yes, all nodes in the replication group have been updated by the recommended apply-by date. If no, at least one node in the replication group have not been updated by the recommended apply-by date. If N/A, the replication group was created after the recommended apply-by date.

" + }, + "NodeGroupUpdateStatus":{ + "shape":"NodeGroupUpdateStatusList", + "documentation":"

The status of the service update on the node group

" + }, + "EstimatedUpdateTime":{ + "shape":"String", + "documentation":"

The estimated length of time for the update to complete

" + } + }, + "documentation":"

The status of the service update for a specific replication group

" + }, + "UpdateActionList":{ + "type":"list", + "member":{ + "shape":"UpdateAction", + "locationName":"UpdateAction" + } + }, + "UpdateActionResultsMessage":{ + "type":"structure", + "members":{ + "ProcessedUpdateActions":{ + "shape":"ProcessedUpdateActionList", + "documentation":"

Update actions that have been processed successfully

" + }, + "UnprocessedUpdateActions":{ + "shape":"UnprocessedUpdateActionList", + "documentation":"

Update actions that haven't been processed successfully

" + } + } + }, + "UpdateActionStatus":{ + "type":"string", + "enum":[ + "not-applied", + "waiting-to-start", + "in-progress", + "stopping", + "stopped", + "complete" + ] + }, + "UpdateActionStatusList":{ + "type":"list", + "member":{"shape":"UpdateActionStatus"}, + "max":6 + }, + "UpdateActionsMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "UpdateActions":{ + "shape":"UpdateActionList", + "documentation":"

Returns a list of update actions

" + } + } } }, "documentation":"Amazon ElastiCache

Amazon ElastiCache is a web service that makes it easier to set up, operate, and scale a distributed cache in the cloud.

With ElastiCache, customers get all of the benefits of a high-performance, in-memory cache with less of the administrative burden involved in launching and managing a distributed cache. The service makes setup, scaling, and cluster failure handling much simpler than in a self-managed cache deployment.

In addition, through integration with Amazon CloudWatch, customers get enhanced visibility into the key performance statistics associated with their cache and can receive alarms if a part of their cache runs hot.

" diff --git a/bin/botocore/data/elasticbeanstalk/2010-12-01/paginators-1.json b/bin/botocore/data/elasticbeanstalk/2010-12-01/paginators-1.json index 350cce4d..4f53c866 100644 --- a/bin/botocore/data/elasticbeanstalk/2010-12-01/paginators-1.json +++ b/bin/botocore/data/elasticbeanstalk/2010-12-01/paginators-1.json @@ -5,6 +5,30 @@ "output_token": "NextToken", "limit_key": "MaxRecords", "result_key": "Events" + }, + "DescribeApplicationVersions": { + "input_token": "NextToken", + "limit_key": "MaxRecords", + "output_token": "NextToken", + "result_key": "ApplicationVersions" + }, + "DescribeEnvironmentManagedActionHistory": { + "input_token": "NextToken", + "limit_key": "MaxItems", + "output_token": "NextToken", + "result_key": "ManagedActionHistoryItems" + }, + "DescribeEnvironments": { + "input_token": "NextToken", + "limit_key": "MaxRecords", + "output_token": "NextToken", + "result_key": "Environments" + }, + "ListPlatformVersions": { + "input_token": "NextToken", + "limit_key": "MaxRecords", + "output_token": "NextToken", + "result_key": "PlatformSummaryList" } } } diff --git a/bin/botocore/data/elasticbeanstalk/2010-12-01/service-2.json b/bin/botocore/data/elasticbeanstalk/2010-12-01/service-2.json index 72d8127e..b66e5eab 100644 --- a/bin/botocore/data/elasticbeanstalk/2010-12-01/service-2.json +++ b/bin/botocore/data/elasticbeanstalk/2010-12-01/service-2.json @@ -69,7 +69,7 @@ {"shape":"TooManyEnvironmentsException"}, {"shape":"InsufficientPrivilegesException"} ], - "documentation":"

Create or update a group of environments that each run a separate component of a single application. Takes a list of version labels that specify application source bundles for each of the environments to create or update. The name of each environment and other required information must be included in the source bundles in an environment manifest named env.yaml. See Compose Environments for details.

" + "documentation":"

Create or update a group of environments that each run a separate component of a single application. Takes a list of version labels that specify application source bundles for each of the environments to create or update. The name of each environment and other required information must be included in the source bundles in an environment manifest named env.yaml. See Compose Environments for details.

" }, "CreateApplication":{ "name":"CreateApplication", @@ -423,7 +423,7 @@ {"shape":"InvalidRequestException"}, {"shape":"ElasticBeanstalkServiceException"} ], - "documentation":"

Retrieves detailed information about the health of instances in your AWS Elastic Beanstalk. This operation requires enhanced health reporting.

" + "documentation":"

Retrieves detailed information about the health of instances in your AWS Elastic Beanstalk. This operation requires enhanced health reporting.

" }, "DescribePlatformVersion":{ "name":"DescribePlatformVersion", @@ -487,7 +487,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ResourceTypeNotSupportedException"} ], - "documentation":"

Returns the tags applied to an AWS Elastic Beanstalk resource. The response contains a list of tag key-value pairs.

Currently, Elastic Beanstalk only supports tagging of Elastic Beanstalk environments. For details about environment tagging, see Tagging Resources in Your Elastic Beanstalk Environment.

" + "documentation":"

Returns the tags applied to an AWS Elastic Beanstalk resource. The response contains a list of tag key-value pairs.

Currently, Elastic Beanstalk only supports tagging of Elastic Beanstalk environments. For details about environment tagging, see Tagging Resources in Your Elastic Beanstalk Environment.

" }, "RebuildEnvironment":{ "name":"RebuildEnvironment", @@ -647,7 +647,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ResourceTypeNotSupportedException"} ], - "documentation":"

Update the list of tags applied to an AWS Elastic Beanstalk resource. Two lists can be passed: TagsToAdd for tags to add or update, and TagsToRemove.

Currently, Elastic Beanstalk only supports tagging of Elastic Beanstalk environments. For details about environment tagging, see Tagging Resources in Your Elastic Beanstalk Environment.

If you create a custom IAM user policy to control permission to this operation, specify one of the following two virtual actions (or both) instead of the API operation name:

elasticbeanstalk:AddTags

Controls permission to call UpdateTagsForResource and pass a list of tags to add in the TagsToAdd parameter.

elasticbeanstalk:RemoveTags

Controls permission to call UpdateTagsForResource and pass a list of tag keys to remove in the TagsToRemove parameter.

For details about creating a custom user policy, see Creating a Custom User Policy.

" + "documentation":"

Update the list of tags applied to an AWS Elastic Beanstalk resource. Two lists can be passed: TagsToAdd for tags to add or update, and TagsToRemove.

Currently, Elastic Beanstalk only supports tagging of Elastic Beanstalk environments. For details about environment tagging, see Tagging Resources in Your Elastic Beanstalk Environment.

If you create a custom IAM user policy to control permission to this operation, specify one of the following two virtual actions (or both) instead of the API operation name:

elasticbeanstalk:AddTags

Controls permission to call UpdateTagsForResource and pass a list of tags to add in the TagsToAdd parameter.

elasticbeanstalk:RemoveTags

Controls permission to call UpdateTagsForResource and pass a list of tag keys to remove in the TagsToRemove parameter.

For details about creating a custom user policy, see Creating a Custom User Policy.

" }, "ValidateConfigurationSettings":{ "name":"ValidateConfigurationSettings", @@ -1130,7 +1130,7 @@ }, "GroupName":{ "shape":"GroupName", - "documentation":"

The name of the group to which the target environments belong. Specify a group name only if the environment name defined in each target environment's manifest ends with a + (plus) character. See Environment Manifest (env.yaml) for details.

" + "documentation":"

The name of the group to which the target environments belong. Specify a group name only if the environment name defined in each target environment's manifest ends with a + (plus) character. See Environment Manifest (env.yaml) for details.

" }, "VersionLabels":{ "shape":"VersionLabels", @@ -1236,7 +1236,7 @@ "documentation":"

The current value for the configuration option.

" } }, - "documentation":"

A specification identifying an individual configuration option along with its current value. For a list of possible option values, go to Option Values in the AWS Elastic Beanstalk Developer Guide.

" + "documentation":"

A specification identifying an individual configuration option along with its current value. For a list of possible option values, go to Option Values in the AWS Elastic Beanstalk Developer Guide.

" }, "ConfigurationOptionSettingsList":{ "type":"list", @@ -1363,6 +1363,10 @@ "ResourceLifecycleConfig":{ "shape":"ApplicationResourceLifecycleConfig", "documentation":"

Specify an application resource lifecycle configuration to prevent your application from accumulating too many versions.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

Specifies the tags applied to the application.

Elastic Beanstalk applies these tags only to the application. Environments that you create in the application don't inherit the tags.

" } }, "documentation":"

Request to create an application.

" @@ -1405,6 +1409,10 @@ "Process":{ "shape":"ApplicationVersionProccess", "documentation":"

Pre-processes and validates the environment manifest (env.yaml) and configuration files (*.config files in the .ebextensions folder) in the source bundle. Validating configuration files can identify issues prior to deploying the application version to an environment.

You must turn processing on for application versions that you create using AWS CodeBuild or AWS CodeCommit. For application versions built from a source bundle in Amazon S3, processing is optional.

The Process option validates Elastic Beanstalk configuration files. It doesn't validate your application's configuration files, like proxy server or Docker configuration.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

Specifies the tags applied to the application version.

Elastic Beanstalk applies these tags only to the application version. Environments that use the application version don't inherit the tags.

" } }, "documentation":"

" @@ -1447,6 +1455,10 @@ "OptionSettings":{ "shape":"ConfigurationOptionSettingsList", "documentation":"

If specified, AWS Elastic Beanstalk sets the specified configuration option to the requested value. The new value overrides the value obtained from the solution stack or the source configuration template.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

Specifies the tags applied to the configuration template.

" } }, "documentation":"

Request to create a configuration template.

" @@ -1465,7 +1477,7 @@ }, "GroupName":{ "shape":"GroupName", - "documentation":"

The name of the group to which the target environment belongs. Specify a group name only if the environment's name is specified in an environment manifest and not with the environment name parameter. See Environment Manifest (env.yaml) for details.

" + "documentation":"

The name of the group to which the target environment belongs. Specify a group name only if the environment's name is specified in an environment manifest and not with the environment name parameter. See Environment Manifest (env.yaml) for details.

" }, "Description":{ "shape":"Description", @@ -1481,7 +1493,7 @@ }, "Tags":{ "shape":"Tags", - "documentation":"

This specifies the tags applied to resources in the environment.

" + "documentation":"

Specifies the tags applied to resources in the environment.

" }, "VersionLabel":{ "shape":"VersionLabel", @@ -1493,7 +1505,7 @@ }, "SolutionStackName":{ "shape":"SolutionStackName", - "documentation":"

This is an alternative to specifying a template name. If specified, AWS Elastic Beanstalk sets the configuration values to the default values associated with the specified solution stack.

For a list of current solution stacks, see Elastic Beanstalk Supported Platforms.

" + "documentation":"

This is an alternative to specifying a template name. If specified, AWS Elastic Beanstalk sets the configuration values to the default values associated with the specified solution stack.

For a list of current solution stacks, see Elastic Beanstalk Supported Platforms.

" }, "PlatformArn":{ "shape":"PlatformArn", @@ -1537,6 +1549,10 @@ "OptionSettings":{ "shape":"ConfigurationOptionSettingsList", "documentation":"

The configuration option settings to apply to the builder environment.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

Specifies the tags applied to the new platform version.

Elastic Beanstalk applies these tags only to the platform version. Environments that you create using the platform version don't inherit the tags.

" } }, "documentation":"

Request to create a new platform version.

" @@ -1825,7 +1841,7 @@ }, "HealthStatus":{ "shape":"String", - "documentation":"

The health status of the environment. For example, Ok.

" + "documentation":"

The health status of the environment. For example, Ok.

" }, "Status":{ "shape":"EnvironmentHealth", @@ -1833,7 +1849,7 @@ }, "Color":{ "shape":"String", - "documentation":"

The health color of the environment.

" + "documentation":"

The health color of the environment.

" }, "Causes":{ "shape":"Causes", @@ -2161,11 +2177,11 @@ }, "Health":{ "shape":"EnvironmentHealth", - "documentation":"

Describes the health status of the environment. AWS Elastic Beanstalk indicates the failure levels for a running environment:

  • Red: Indicates the environment is not responsive. Occurs when three or more consecutive failures occur for an environment.

  • Yellow: Indicates that something is wrong. Occurs when two consecutive failures occur for an environment.

  • Green: Indicates the environment is healthy and fully functional.

  • Grey: Default health for a new environment. The environment is not fully launched and health checks have not started or health checks are suspended during an UpdateEnvironment or RestartEnvironement request.

Default: Grey

" + "documentation":"

Describes the health status of the environment. AWS Elastic Beanstalk indicates the failure levels for a running environment:

  • Red: Indicates the environment is not responsive. Occurs when three or more consecutive failures occur for an environment.

  • Yellow: Indicates that something is wrong. Occurs when two consecutive failures occur for an environment.

  • Green: Indicates the environment is healthy and fully functional.

  • Grey: Default health for a new environment. The environment is not fully launched and health checks have not started or health checks are suspended during an UpdateEnvironment or RestartEnvironment request.

Default: Grey

" }, "HealthStatus":{ "shape":"EnvironmentHealthStatus", - "documentation":"

Returns the health status of the application running in your environment. For more information, see Health Colors and Statuses.

" + "documentation":"

Returns the health status of the application running in your environment. For more information, see Health Colors and Statuses.

" }, "Resources":{ "shape":"EnvironmentResourcesDescription", @@ -2266,7 +2282,7 @@ }, "Message":{ "shape":"Message", - "documentation":"

The retrieved information.

" + "documentation":"

The retrieved information. Currently contains a presigned Amazon S3 URL. The files are deleted after 15 minutes.

Anyone in possession of this URL can access the files before they are deleted. Make the URL available only to trusted parties.

" } }, "documentation":"

The information retrieved from the Amazon EC2 instances.

" @@ -2294,7 +2310,7 @@ "documentation":"

The name of the linked environment (the dependency).

" } }, - "documentation":"

A link to another environment, defined in the environment's manifest. Links provide connection information in system properties that can be used to connect to another environment in the same group. See Environment Manifest (env.yaml) for details.

" + "documentation":"

A link to another environment, defined in the environment's manifest. Links provide connection information in system properties that can be used to connect to another environment in the same group. See Environment Manifest (env.yaml) for details.

" }, "EnvironmentLinks":{ "type":"list", @@ -2328,6 +2344,10 @@ "shape":"LaunchConfigurationList", "documentation":"

The Auto Scaling launch configurations in use by this environment.

" }, + "LaunchTemplates":{ + "shape":"LaunchTemplateList", + "documentation":"

The Amazon EC2 launch templates in use by this environment.

" + }, "LoadBalancers":{ "shape":"LoadBalancerList", "documentation":"

The LoadBalancers in use by this environment.

" @@ -2378,11 +2398,11 @@ "members":{ "Name":{ "shape":"String", - "documentation":"

The name of this environment tier.

" + "documentation":"

The name of this environment tier.

Valid values:

  • For Web server tierWebServer

  • For Worker tierWorker

" }, "Type":{ "shape":"String", - "documentation":"

The type of this environment tier.

" + "documentation":"

The type of this environment tier.

Valid values:

  • For Web server tierStandard

  • For Worker tierSQS/HTTP

" }, "Version":{ "shape":"String", @@ -2541,7 +2561,7 @@ "documentation":"

Red. The health agent is reporting a very high number of request failures or other issues for an instance or environment.

" } }, - "documentation":"

Represents summary information about the health of an instance. For more information, see Health Colors and Statuses.

" + "documentation":"

Represents summary information about the health of an instance. For more information, see Health Colors and Statuses.

" }, "InstanceId":{ "type":"string", @@ -2649,6 +2669,20 @@ "type":"list", "member":{"shape":"LaunchConfiguration"} }, + "LaunchTemplate":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ResourceId", + "documentation":"

The ID of the launch template.

" + } + }, + "documentation":"

Describes an Amazon EC2 launch template.

" + }, + "LaunchTemplateList":{ + "type":"list", + "member":{"shape":"LaunchTemplate"} + }, "LaunchedAt":{"type":"timestamp"}, "ListAvailableSolutionStacksResultMessage":{ "type":"structure", @@ -3409,11 +3443,11 @@ }, "HealthStatus":{ "shape":"String", - "documentation":"

Returns the health status of the specified instance. For more information, see Health Colors and Statuses.

" + "documentation":"

Returns the health status of the specified instance. For more information, see Health Colors and Statuses.

" }, "Color":{ "shape":"String", - "documentation":"

Represents the color indicator that gives you information about the health of the EC2 instance. For more information, see Health Colors and Statuses.

" + "documentation":"

Represents the color indicator that gives you information about the health of the EC2 instance. For more information, see Health Colors and Statuses.

" }, "Causes":{ "shape":"Causes", @@ -3598,7 +3632,7 @@ }, "LoadAverage":{ "shape":"LoadAverage", - "documentation":"

Load average in the last 1-minute, 5-minute, and 15-minute periods. For more information, see Operating System Metrics.

" + "documentation":"

Load average in the last 1-minute, 5-minute, and 15-minute periods. For more information, see Operating System Metrics.

" } }, "documentation":"

CPU utilization and load average metrics for an Amazon EC2 instance.

" @@ -3653,7 +3687,7 @@ }, "TerminateResources":{ "shape":"TerminateEnvironmentResources", - "documentation":"

Indicates whether the associated AWS resources should shut down when the environment is terminated:

  • true: The specified environment as well as the associated AWS resources, such as Auto Scaling group and LoadBalancer, are terminated.

  • false: AWS Elastic Beanstalk resource management is removed from the environment, but the AWS resources continue to operate.

For more information, see the AWS Elastic Beanstalk User Guide.

Default: true

Valid Values: true | false

" + "documentation":"

Indicates whether the associated AWS resources should shut down when the environment is terminated:

  • true: The specified environment as well as the associated AWS resources, such as Auto Scaling group and LoadBalancer, are terminated.

  • false: AWS Elastic Beanstalk resource management is removed from the environment, but the AWS resources continue to operate.

For more information, see the AWS Elastic Beanstalk User Guide.

Default: true

Valid Values: true | false

" }, "ForceTerminate":{ "shape":"ForceTerminate", @@ -3862,7 +3896,7 @@ }, "GroupName":{ "shape":"GroupName", - "documentation":"

The name of the group to which the target environment belongs. Specify a group name only if the environment's name is specified in an environment manifest and not with the environment name or environment ID parameters. See Environment Manifest (env.yaml) for details.

" + "documentation":"

The name of the group to which the target environment belongs. Specify a group name only if the environment's name is specified in an environment manifest and not with the environment name or environment ID parameters. See Environment Manifest (env.yaml) for details.

" }, "Description":{ "shape":"Description", @@ -3993,5 +4027,5 @@ }, "VirtualizationType":{"type":"string"} }, - "documentation":"AWS Elastic Beanstalk

AWS Elastic Beanstalk makes it easy for you to create, deploy, and manage scalable, fault-tolerant applications running on the Amazon Web Services cloud.

For more information about this product, go to the AWS Elastic Beanstalk details page. The location of the latest AWS Elastic Beanstalk WSDL is http://elasticbeanstalk.s3.amazonaws.com/doc/2010-12-01/AWSElasticBeanstalk.wsdl. To install the Software Development Kits (SDKs), Integrated Development Environment (IDE) Toolkits, and command line tools that enable you to access the API, go to Tools for Amazon Web Services.

Endpoints

For a list of region-specific endpoints that AWS Elastic Beanstalk supports, go to Regions and Endpoints in the Amazon Web Services Glossary.

" + "documentation":"AWS Elastic Beanstalk

AWS Elastic Beanstalk makes it easy for you to create, deploy, and manage scalable, fault-tolerant applications running on the Amazon Web Services cloud.

For more information about this product, go to the AWS Elastic Beanstalk details page. The location of the latest AWS Elastic Beanstalk WSDL is http://elasticbeanstalk.s3.amazonaws.com/doc/2010-12-01/AWSElasticBeanstalk.wsdl. To install the Software Development Kits (SDKs), Integrated Development Environment (IDE) Toolkits, and command line tools that enable you to access the API, go to Tools for Amazon Web Services.

Endpoints

For a list of region-specific endpoints that AWS Elastic Beanstalk supports, go to Regions and Endpoints in the Amazon Web Services Glossary.

" } diff --git a/bin/botocore/data/elb/2012-06-01/paginators-1.json b/bin/botocore/data/elb/2012-06-01/paginators-1.json index 444a77a5..b3bd3301 100644 --- a/bin/botocore/data/elb/2012-06-01/paginators-1.json +++ b/bin/botocore/data/elb/2012-06-01/paginators-1.json @@ -5,6 +5,12 @@ "output_token": "NextMarker", "result_key": "LoadBalancerDescriptions", "limit_key": "PageSize" + }, + "DescribeAccountLimits": { + "input_token": "Marker", + "limit_key": "PageSize", + "output_token": "NextMarker", + "result_key": "Limits" } } } diff --git a/bin/botocore/data/elbv2/2015-12-01/paginators-1.json b/bin/botocore/data/elbv2/2015-12-01/paginators-1.json index 138d1763..4521f5c2 100644 --- a/bin/botocore/data/elbv2/2015-12-01/paginators-1.json +++ b/bin/botocore/data/elbv2/2015-12-01/paginators-1.json @@ -17,6 +17,30 @@ "output_token": "NextMarker", "limit_key": "PageSize", "result_key": "Listeners" + }, + "DescribeAccountLimits": { + "input_token": "Marker", + "limit_key": "PageSize", + "output_token": "NextMarker", + "result_key": "Limits" + }, + "DescribeListenerCertificates": { + "input_token": "Marker", + "limit_key": "PageSize", + "output_token": "NextMarker", + "result_key": "Certificates" + }, + "DescribeRules": { + "input_token": "Marker", + "limit_key": "PageSize", + "output_token": "NextMarker", + "result_key": "Rules" + }, + "DescribeSSLPolicies": { + "input_token": "Marker", + "limit_key": "PageSize", + "output_token": "NextMarker", + "result_key": "SslPolicies" } } } diff --git a/bin/botocore/data/elbv2/2015-12-01/service-2.json b/bin/botocore/data/elbv2/2015-12-01/service-2.json index ef0a1aa9..2f6a212d 100644 --- a/bin/botocore/data/elbv2/2015-12-01/service-2.json +++ b/bin/botocore/data/elbv2/2015-12-01/service-2.json @@ -28,7 +28,7 @@ {"shape":"TooManyCertificatesException"}, {"shape":"CertificateNotFoundException"} ], - "documentation":"

Adds the specified certificate to the specified secure listener.

If the certificate was already added, the call is successful but the certificate is not added again.

To list the certificates for your listener, use DescribeListenerCertificates. To remove certificates from your listener, use RemoveListenerCertificates. To specify the default SSL server certificate, use ModifyListener.

" + "documentation":"

Adds the specified certificate to the specified HTTPS listener.

If the certificate was already added, the call is successful but the certificate is not added again.

To list the certificates for your listener, use DescribeListenerCertificates. To remove certificates from your listener, use RemoveListenerCertificates. To specify the default SSL server certificate, use ModifyListener.

" }, "AddTags":{ "name":"AddTags", @@ -77,7 +77,7 @@ {"shape":"TooManyActionsException"}, {"shape":"InvalidLoadBalancerActionException"} ], - "documentation":"

Creates a listener for the specified Application Load Balancer or Network Load Balancer.

To update a listener, use ModifyListener. When you are finished with a listener, you can delete it using DeleteListener. If you are finished with both the listener and the load balancer, you can delete them both using DeleteLoadBalancer.

This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple listeners with the same settings, each call succeeds.

For more information, see Listeners for Your Application Load Balancers in the Application Load Balancers Guide and Listeners for Your Network Load Balancers in the Network Load Balancers Guide.

" + "documentation":"

Creates a listener for the specified Application Load Balancer or Network Load Balancer.

To update a listener, use ModifyListener. When you are finished with a listener, you can delete it using DeleteListener. If you are finished with both the listener and the load balancer, you can delete them both using DeleteLoadBalancer.

This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple listeners with the same settings, each call succeeds.

For more information, see Listeners for Your Application Load Balancers in the Application Load Balancers Guide and Listeners for Your Network Load Balancers in the Network Load Balancers Guide.

" }, "CreateLoadBalancer":{ "name":"CreateLoadBalancer", @@ -105,7 +105,7 @@ {"shape":"AvailabilityZoneNotSupportedException"}, {"shape":"OperationNotPermittedException"} ], - "documentation":"

Creates an Application Load Balancer or a Network Load Balancer.

When you create a load balancer, you can specify security groups, public subnets, IP address type, and tags. Otherwise, you could do so later using SetSecurityGroups, SetSubnets, SetIpAddressType, and AddTags.

To create listeners for your load balancer, use CreateListener. To describe your current load balancers, see DescribeLoadBalancers. When you are finished with a load balancer, you can delete it using DeleteLoadBalancer.

For limit information, see Limits for Your Application Load Balancer in the Application Load Balancers Guide and Limits for Your Network Load Balancer in the Network Load Balancers Guide.

This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple load balancers with the same settings, each call succeeds.

For more information, see Application Load Balancers in the Application Load Balancers Guide and Network Load Balancers in the Network Load Balancers Guide.

" + "documentation":"

Creates an Application Load Balancer or a Network Load Balancer.

When you create a load balancer, you can specify security groups, public subnets, IP address type, and tags. Otherwise, you could do so later using SetSecurityGroups, SetSubnets, SetIpAddressType, and AddTags.

To create listeners for your load balancer, use CreateListener. To describe your current load balancers, see DescribeLoadBalancers. When you are finished with a load balancer, you can delete it using DeleteLoadBalancer.

For limit information, see Limits for Your Application Load Balancer in the Application Load Balancers Guide and Limits for Your Network Load Balancer in the Network Load Balancers Guide.

This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple load balancers with the same settings, each call succeeds.

For more information, see Application Load Balancers in the Application Load Balancers Guide and Network Load Balancers in the Network Load Balancers Guide.

" }, "CreateRule":{ "name":"CreateRule", @@ -133,7 +133,7 @@ {"shape":"TooManyActionsException"}, {"shape":"InvalidLoadBalancerActionException"} ], - "documentation":"

Creates a rule for the specified listener. The listener must be associated with an Application Load Balancer.

Rules are evaluated in priority order, from the lowest value to the highest value. When the conditions for a rule are met, its actions are performed. If the conditions for no rules are met, the actions for the default rule are performed. For more information, see Listener Rules in the Application Load Balancers Guide.

To view your current rules, use DescribeRules. To update a rule, use ModifyRule. To set the priorities of your rules, use SetRulePriorities. To delete a rule, use DeleteRule.

" + "documentation":"

Creates a rule for the specified listener. The listener must be associated with an Application Load Balancer.

Rules are evaluated in priority order, from the lowest value to the highest value. When the conditions for a rule are met, its actions are performed. If the conditions for no rules are met, the actions for the default rule are performed. For more information, see Listener Rules in the Application Load Balancers Guide.

To view your current rules, use DescribeRules. To update a rule, use ModifyRule. To set the priorities of your rules, use SetRulePriorities. To delete a rule, use DeleteRule.

" }, "CreateTargetGroup":{ "name":"CreateTargetGroup", @@ -151,7 +151,7 @@ {"shape":"TooManyTargetGroupsException"}, {"shape":"InvalidConfigurationRequestException"} ], - "documentation":"

Creates a target group.

To register targets with the target group, use RegisterTargets. To update the health check settings for the target group, use ModifyTargetGroup. To monitor the health of targets in the target group, use DescribeTargetHealth.

To route traffic to the targets in a target group, specify the target group in an action using CreateListener or CreateRule.

To delete a target group, use DeleteTargetGroup.

This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple target groups with the same settings, each call succeeds.

For more information, see Target Groups for Your Application Load Balancers in the Application Load Balancers Guide or Target Groups for Your Network Load Balancers in the Network Load Balancers Guide.

" + "documentation":"

Creates a target group.

To register targets with the target group, use RegisterTargets. To update the health check settings for the target group, use ModifyTargetGroup. To monitor the health of targets in the target group, use DescribeTargetHealth.

To route traffic to the targets in a target group, specify the target group in an action using CreateListener or CreateRule.

To delete a target group, use DeleteTargetGroup.

This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple target groups with the same settings, each call succeeds.

For more information, see Target Groups for Your Application Load Balancers in the Application Load Balancers Guide or Target Groups for Your Network Load Balancers in the Network Load Balancers Guide.

" }, "DeleteListener":{ "name":"DeleteListener", @@ -248,7 +248,7 @@ "shape":"DescribeAccountLimitsOutput", "resultWrapper":"DescribeAccountLimitsResult" }, - "documentation":"

Describes the current Elastic Load Balancing resource limits for your AWS account.

For more information, see Limits for Your Application Load Balancers in the Application Load Balancer Guide or Limits for Your Network Load Balancers in the Network Load Balancers Guide.

" + "documentation":"

Describes the current Elastic Load Balancing resource limits for your AWS account.

For more information, see Limits for Your Application Load Balancers in the Application Load Balancer Guide or Limits for Your Network Load Balancers in the Network Load Balancers Guide.

" }, "DescribeListenerCertificates":{ "name":"DescribeListenerCertificates", @@ -264,7 +264,7 @@ "errors":[ {"shape":"ListenerNotFoundException"} ], - "documentation":"

Describes the certificates for the specified secure listener.

" + "documentation":"

Describes the certificates for the specified HTTPS listener.

" }, "DescribeListeners":{ "name":"DescribeListeners", @@ -298,7 +298,7 @@ "errors":[ {"shape":"LoadBalancerNotFoundException"} ], - "documentation":"

Describes the attributes for the specified Application Load Balancer or Network Load Balancer.

For more information, see Load Balancer Attributes in the Application Load Balancers Guide or Load Balancer Attributes in the Network Load Balancers Guide.

" + "documentation":"

Describes the attributes for the specified Application Load Balancer or Network Load Balancer.

For more information, see Load Balancer Attributes in the Application Load Balancers Guide or Load Balancer Attributes in the Network Load Balancers Guide.

" }, "DescribeLoadBalancers":{ "name":"DescribeLoadBalancers", @@ -348,7 +348,7 @@ "errors":[ {"shape":"SSLPolicyNotFoundException"} ], - "documentation":"

Describes the specified policies or all policies used for SSL negotiation.

For more information, see Security Policies in the Application Load Balancers Guide.

" + "documentation":"

Describes the specified policies or all policies used for SSL negotiation.

For more information, see Security Policies in the Application Load Balancers Guide.

" }, "DescribeTags":{ "name":"DescribeTags", @@ -383,7 +383,7 @@ "errors":[ {"shape":"TargetGroupNotFoundException"} ], - "documentation":"

Describes the attributes for the specified target group.

For more information, see Target Group Attributes in the Application Load Balancers Guide or Target Group Attributes in the Network Load Balancers Guide.

" + "documentation":"

Describes the attributes for the specified target group.

For more information, see Target Group Attributes in the Application Load Balancers Guide or Target Group Attributes in the Network Load Balancers Guide.

" }, "DescribeTargetGroups":{ "name":"DescribeTargetGroups", @@ -448,7 +448,7 @@ {"shape":"TooManyActionsException"}, {"shape":"InvalidLoadBalancerActionException"} ], - "documentation":"

Modifies the specified properties of the specified listener.

Any properties that you do not specify retain their current values. However, changing the protocol from HTTPS to HTTP removes the security policy and SSL certificate properties. If you change the protocol from HTTP to HTTPS, you must add the security policy and server certificate.

" + "documentation":"

Modifies the specified properties of the specified listener.

Any properties that you do not specify retain their current values. However, changing the protocol from HTTPS to HTTP, or from TLS to TCP, removes the security policy and server certificate properties. If you change the protocol from HTTP to HTTPS, or from TCP to TLS, you must add the security policy and server certificate properties.

" }, "ModifyLoadBalancerAttributes":{ "name":"ModifyLoadBalancerAttributes", @@ -560,7 +560,7 @@ {"shape":"ListenerNotFoundException"}, {"shape":"OperationNotPermittedException"} ], - "documentation":"

Removes the specified certificate from the specified secure listener.

You can't remove the default certificate for a listener. To replace the default certificate, call ModifyListener.

To list the certificates for your listener, use DescribeListenerCertificates.

" + "documentation":"

Removes the specified certificate from the specified HTTPS listener.

You can't remove the default certificate for a listener. To replace the default certificate, call ModifyListener.

To list the certificates for your listener, use DescribeListenerCertificates.

" }, "RemoveTags":{ "name":"RemoveTags", @@ -673,11 +673,11 @@ }, "AuthenticateOidcConfig":{ "shape":"AuthenticateOidcActionConfig", - "documentation":"

[HTTPS listener] Information about an identity provider that is compliant with OpenID Connect (OIDC). Specify only when Type is authenticate-oidc.

" + "documentation":"

[HTTPS listeners] Information about an identity provider that is compliant with OpenID Connect (OIDC). Specify only when Type is authenticate-oidc.

" }, "AuthenticateCognitoConfig":{ "shape":"AuthenticateCognitoActionConfig", - "documentation":"

[HTTPS listener] Information for using Amazon Cognito to authenticate users. Specify only when Type is authenticate-cognito.

" + "documentation":"

[HTTPS listeners] Information for using Amazon Cognito to authenticate users. Specify only when Type is authenticate-cognito.

" }, "Order":{ "shape":"ActionOrder", @@ -863,8 +863,7 @@ "AuthorizationEndpoint", "TokenEndpoint", "UserInfoEndpoint", - "ClientId", - "ClientSecret" + "ClientId" ], "members":{ "Issuer":{ @@ -889,7 +888,7 @@ }, "ClientSecret":{ "shape":"AuthenticateOidcActionClientSecret", - "documentation":"

The OAuth 2.0 client secret.

" + "documentation":"

The OAuth 2.0 client secret. This parameter is required if you are creating a rule. If you are modifying a rule, you can omit this parameter if you set UseExistingClientSecret to true.

" }, "SessionCookieName":{ "shape":"AuthenticateOidcActionSessionCookieName", @@ -910,6 +909,10 @@ "OnUnauthenticatedRequest":{ "shape":"AuthenticateOidcActionConditionalBehaviorEnum", "documentation":"

The behavior if the user is not authenticated. The following are possible values:

  • deny - Return an HTTP 401 Unauthorized error.

  • allow - Allow the request to be forwarded to the target.

  • authenticate - Redirect the request to the IdP authorization endpoint. This is the default value.

" + }, + "UseExistingClientSecret":{ + "shape":"AuthenticateOidcActionUseExistingClientSecret", + "documentation":"

Indicates whether to use the existing client secret when modifying a rule. If you are creating a rule, you can omit this parameter or set it to false.

" } }, "documentation":"

Request parameters when using an identity provider (IdP) that is compliant with OpenID Connect (OIDC) to authenticate users.

" @@ -919,6 +922,7 @@ "AuthenticateOidcActionSessionCookieName":{"type":"string"}, "AuthenticateOidcActionSessionTimeout":{"type":"long"}, "AuthenticateOidcActionTokenEndpoint":{"type":"string"}, + "AuthenticateOidcActionUseExistingClientSecret":{"type":"boolean"}, "AuthenticateOidcActionUserInfoEndpoint":{"type":"string"}, "AvailabilityZone":{ "type":"structure", @@ -1025,7 +1029,7 @@ }, "Protocol":{ "shape":"ProtocolEnum", - "documentation":"

The protocol for connections from clients to the load balancer. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocol is TCP.

" + "documentation":"

The protocol for connections from clients to the load balancer. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP and TLS.

" }, "Port":{ "shape":"Port", @@ -1033,15 +1037,15 @@ }, "SslPolicy":{ "shape":"SslPolicyName", - "documentation":"

[HTTPS listeners] The security policy that defines which ciphers and protocols are supported. The default is the current predefined security policy.

" + "documentation":"

[HTTPS and TLS listeners] The security policy that defines which ciphers and protocols are supported. The default is the current predefined security policy.

" }, "Certificates":{ "shape":"CertificateList", - "documentation":"

[HTTPS listeners] The default SSL server certificate. You must provide exactly one certificate. Set CertificateArn to the certificate ARN but do not set IsDefault.

To create a certificate list, use AddListenerCertificates.

" + "documentation":"

[HTTPS and TLS listeners] The default SSL server certificate. You must provide exactly one certificate. Set CertificateArn to the certificate ARN but do not set IsDefault.

To create a certificate list, use AddListenerCertificates.

" }, "DefaultActions":{ "shape":"Actions", - "documentation":"

The actions for the default rule. The rule must include one forward action or one or more fixed-response actions.

If the action type is forward, you specify a target group. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer or TCP for a Network Load Balancer.

[HTTPS listener] If the action type is authenticate-oidc, you authenticate users through an identity provider that is OpenID Connect (OIDC) compliant.

[HTTPS listener] If the action type is authenticate-cognito, you authenticate users through the user pools supported by Amazon Cognito.

[Application Load Balancer] If the action type is redirect, you redirect specified client requests from one URL to another.

[Application Load Balancer] If the action type is fixed-response, you drop specified client requests and return a custom HTTP response.

" + "documentation":"

The actions for the default rule. The rule must include one forward action or one or more fixed-response actions.

If the action type is forward, you specify a target group. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer. The protocol of the target group must be TCP or TLS for a Network Load Balancer.

[HTTPS listeners] If the action type is authenticate-oidc, you authenticate users through an identity provider that is OpenID Connect (OIDC) compliant.

[HTTPS listeners] If the action type is authenticate-cognito, you authenticate users through the user pools supported by Amazon Cognito.

[Application Load Balancer] If the action type is redirect, you redirect specified client requests from one URL to another.

[Application Load Balancer] If the action type is fixed-response, you drop specified client requests and return a custom HTTP response.

" } } }, @@ -1124,7 +1128,7 @@ }, "Actions":{ "shape":"Actions", - "documentation":"

The actions. Each rule must include exactly one of the following types of actions: forward, fixed-response, or redirect.

If the action type is forward, you specify a target group. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer or TCP for a Network Load Balancer.

[HTTPS listener] If the action type is authenticate-oidc, you authenticate users through an identity provider that is OpenID Connect (OIDC) compliant.

[HTTPS listener] If the action type is authenticate-cognito, you authenticate users through the user pools supported by Amazon Cognito.

[Application Load Balancer] If the action type is redirect, you redirect specified client requests from one URL to another.

[Application Load Balancer] If the action type is fixed-response, you drop specified client requests and return a custom HTTP response.

" + "documentation":"

The actions. Each rule must include exactly one of the following types of actions: forward, fixed-response, or redirect.

If the action type is forward, you specify a target group. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer. The protocol of the target group must be TCP or TLS for a Network Load Balancer.

[HTTPS listeners] If the action type is authenticate-oidc, you authenticate users through an identity provider that is OpenID Connect (OIDC) compliant.

[HTTPS listeners] If the action type is authenticate-cognito, you authenticate users through the user pools supported by Amazon Cognito.

[Application Load Balancer] If the action type is redirect, you redirect specified client requests from one URL to another.

[Application Load Balancer] If the action type is fixed-response, you drop specified client requests and return a custom HTTP response.

" } } }, @@ -1147,7 +1151,7 @@ }, "Protocol":{ "shape":"ProtocolEnum", - "documentation":"

The protocol to use for routing traffic to the targets. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocol is TCP. If the target is a Lambda function, this parameter does not apply.

" + "documentation":"

The protocol to use for routing traffic to the targets. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP and TLS. If the target is a Lambda function, this parameter does not apply.

" }, "Port":{ "shape":"Port", @@ -1159,7 +1163,7 @@ }, "HealthCheckProtocol":{ "shape":"ProtocolEnum", - "documentation":"

The protocol the load balancer uses when performing health checks on targets. The TCP protocol is supported only if the protocol of the target group is TCP. For Application Load Balancers, the default is HTTP. For Network Load Balancers, the default is TCP.

" + "documentation":"

The protocol the load balancer uses when performing health checks on targets. For Application Load Balancers, the default is HTTP. For Network Load Balancers, the default is TCP. The TCP protocol is supported for health checks only if the protocol of the target group is TCP or TLS. The TLS protocol is not supported for health checks.

" }, "HealthCheckPort":{ "shape":"HealthCheckPort", @@ -1710,7 +1714,27 @@ }, "exception":true }, + "HostHeaderConditionConfig":{ + "type":"structure", + "members":{ + "Values":{"shape":"ListOfString"} + } + }, "HttpCode":{"type":"string"}, + "HttpHeaderConditionConfig":{ + "type":"structure", + "members":{ + "HttpHeaderName":{"shape":"HttpHeaderConditionName"}, + "Values":{"shape":"ListOfString"} + } + }, + "HttpHeaderConditionName":{"type":"string"}, + "HttpRequestMethodConditionConfig":{ + "type":"structure", + "members":{ + "Values":{"shape":"ListOfString"} + } + }, "IncompatibleProtocolsException":{ "type":"structure", "members":{ @@ -1847,7 +1871,7 @@ }, "Certificates":{ "shape":"CertificateList", - "documentation":"

The SSL server certificate. You must provide a certificate if the protocol is HTTPS.

" + "documentation":"

The SSL server certificate. You must provide a certificate if the protocol is HTTPS or TLS.

" }, "SslPolicy":{ "shape":"SslPolicyName", @@ -1963,7 +1987,7 @@ "members":{ "Key":{ "shape":"LoadBalancerAttributeKey", - "documentation":"

The name of the attribute.

The following attributes are supported by both Application Load Balancers and Network Load Balancers:

  • deletion_protection.enabled - Indicates whether deletion protection is enabled. The value is true or false. The default is false.

The following attributes are supported by only Application Load Balancers:

  • access_logs.s3.enabled - Indicates whether access logs are enabled. The value is true or false. The default is false.

  • access_logs.s3.bucket - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.

  • access_logs.s3.prefix - The prefix for the location in the S3 bucket for the access logs.

  • idle_timeout.timeout_seconds - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.

  • routing.http2.enabled - Indicates whether HTTP/2 is enabled. The value is true or false. The default is true.

The following attributes are supported by only Network Load Balancers:

  • load_balancing.cross_zone.enabled - Indicates whether cross-zone load balancing is enabled. The value is true or false. The default is false.

" + "documentation":"

The name of the attribute.

The following attributes are supported by both Application Load Balancers and Network Load Balancers:

  • access_logs.s3.enabled - Indicates whether access logs are enabled. The value is true or false. The default is false.

  • access_logs.s3.bucket - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.

  • access_logs.s3.prefix - The prefix for the location in the S3 bucket for the access logs.

  • deletion_protection.enabled - Indicates whether deletion protection is enabled. The value is true or false. The default is false.

The following attributes are supported by only Application Load Balancers:

  • idle_timeout.timeout_seconds - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.

  • routing.http2.enabled - Indicates whether HTTP/2 is enabled. The value is true or false. The default is true.

The following attributes are supported by only Network Load Balancers:

  • load_balancing.cross_zone.enabled - Indicates whether cross-zone load balancing is enabled. The value is true or false. The default is false.

" }, "Value":{ "shape":"LoadBalancerAttributeValue", @@ -2071,19 +2095,19 @@ }, "Protocol":{ "shape":"ProtocolEnum", - "documentation":"

The protocol for connections from clients to the load balancer. Application Load Balancers support HTTP and HTTPS and Network Load Balancers support TCP.

" + "documentation":"

The protocol for connections from clients to the load balancer. Application Load Balancers support the HTTP and HTTPS protocols. Network Load Balancers support the TCP and TLS protocols.

" }, "SslPolicy":{ "shape":"SslPolicyName", - "documentation":"

[HTTPS listeners] The security policy that defines which protocols and ciphers are supported. For more information, see Security Policies in the Application Load Balancers Guide.

" + "documentation":"

[HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are supported. For more information, see Security Policies in the Application Load Balancers Guide.

" }, "Certificates":{ "shape":"CertificateList", - "documentation":"

[HTTPS listeners] The default SSL server certificate. You must provide exactly one certificate. Set CertificateArn to the certificate ARN but do not set IsDefault.

To create a certificate list, use AddListenerCertificates.

" + "documentation":"

[HTTPS and TLS listeners] The default SSL server certificate. You must provide exactly one certificate. Set CertificateArn to the certificate ARN but do not set IsDefault.

To create a certificate list, use AddListenerCertificates.

" }, "DefaultActions":{ "shape":"Actions", - "documentation":"

The actions for the default rule. The rule must include one forward action or one or more fixed-response actions.

If the action type is forward, you specify a target group. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer or TCP for a Network Load Balancer.

[HTTPS listener] If the action type is authenticate-oidc, you authenticate users through an identity provider that is OpenID Connect (OIDC) compliant.

[HTTPS listener] If the action type is authenticate-cognito, you authenticate users through the user pools supported by Amazon Cognito.

[Application Load Balancer] If the action type is redirect, you redirect specified client requests from one URL to another.

[Application Load Balancer] If the action type is fixed-response, you drop specified client requests and return a custom HTTP response.

" + "documentation":"

The actions for the default rule. The rule must include one forward action or one or more fixed-response actions.

If the action type is forward, you specify a target group. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer. The protocol of the target group must be TCP or TLS for a Network Load Balancer.

[HTTPS listeners] If the action type is authenticate-oidc, you authenticate users through an identity provider that is OpenID Connect (OIDC) compliant.

[HTTPS listeners] If the action type is authenticate-cognito, you authenticate users through the user pools supported by Amazon Cognito.

[Application Load Balancer] If the action type is redirect, you redirect specified client requests from one URL to another.

[Application Load Balancer] If the action type is fixed-response, you drop specified client requests and return a custom HTTP response.

" } } }, @@ -2136,7 +2160,7 @@ }, "Actions":{ "shape":"Actions", - "documentation":"

The actions.

If the action type is forward, you specify a target group. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer or TCP for a Network Load Balancer.

[HTTPS listener] If the action type is authenticate-oidc, you authenticate users through an identity provider that is OpenID Connect (OIDC) compliant.

[HTTPS listener] If the action type is authenticate-cognito, you authenticate users through the user pools supported by Amazon Cognito.

[Application Load Balancer] If the action type is redirect, you redirect specified client requests from one URL to another.

[Application Load Balancer] If the action type is fixed-response, you drop specified client requests and return a custom HTTP response.

" + "documentation":"

The actions.

If the action type is forward, you specify a target group. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer. The protocol of the target group must be TCP or TLS for a Network Load Balancer.

[HTTPS listeners] If the action type is authenticate-oidc, you authenticate users through an identity provider that is OpenID Connect (OIDC) compliant.

[HTTPS listeners] If the action type is authenticate-cognito, you authenticate users through the user pools supported by Amazon Cognito.

[Application Load Balancer] If the action type is redirect, you redirect specified client requests from one URL to another.

[Application Load Balancer] If the action type is fixed-response, you drop specified client requests and return a custom HTTP response.

" } } }, @@ -2185,7 +2209,7 @@ }, "HealthCheckProtocol":{ "shape":"ProtocolEnum", - "documentation":"

The protocol the load balancer uses when performing health checks on targets. The TCP protocol is supported only if the protocol of the target group is TCP.

If the protocol of the target group is TCP, you can't modify this setting.

" + "documentation":"

The protocol the load balancer uses when performing health checks on targets. The TCP protocol is supported for health checks only if the protocol of the target group is TCP or TLS. The TLS protocol is not supported for health checks.

If the protocol of the target group is TCP, you can't modify this setting.

" }, "HealthCheckPort":{ "shape":"HealthCheckPort", @@ -2253,6 +2277,12 @@ "max":1024, "min":1 }, + "PathPatternConditionConfig":{ + "type":"structure", + "members":{ + "Values":{"shape":"ListOfString"} + } + }, "Port":{ "type":"integer", "max":65535, @@ -2275,9 +2305,27 @@ "enum":[ "HTTP", "HTTPS", - "TCP" + "TCP", + "TLS" ] }, + "QueryStringConditionConfig":{ + "type":"structure", + "members":{ + "Values":{"shape":"QueryStringKeyValuePairList"} + } + }, + "QueryStringKeyValuePair":{ + "type":"structure", + "members":{ + "Key":{"shape":"StringValue"}, + "Value":{"shape":"StringValue"} + } + }, + "QueryStringKeyValuePairList":{ + "type":"list", + "member":{"shape":"QueryStringKeyValuePair"} + }, "RedirectActionConfig":{ "type":"structure", "required":["StatusCode"], @@ -2460,7 +2508,13 @@ "Values":{ "shape":"ListOfString", "documentation":"

The condition value.

If the field name is host-header, you can specify a single host name (for example, my.example.com). A host name is case insensitive, can be up to 128 characters in length, and can contain any of the following characters. You can include up to three wildcard characters.

  • A-Z, a-z, 0-9

  • - .

  • * (matches 0 or more characters)

  • ? (matches exactly 1 character)

If the field name is path-pattern, you can specify a single path pattern (for example, /img/*). A path pattern is case-sensitive, can be up to 128 characters in length, and can contain any of the following characters. You can include up to three wildcard characters.

  • A-Z, a-z, 0-9

  • _ - . $ / ~ \" ' @ : +

  • & (using &amp;)

  • * (matches 0 or more characters)

  • ? (matches exactly 1 character)

" - } + }, + "HostHeaderConfig":{"shape":"HostHeaderConditionConfig"}, + "PathPatternConfig":{"shape":"PathPatternConditionConfig"}, + "HttpHeaderConfig":{"shape":"HttpHeaderConditionConfig"}, + "QueryStringConfig":{"shape":"QueryStringConditionConfig"}, + "HttpRequestMethodConfig":{"shape":"HttpRequestMethodConditionConfig"}, + "SourceIpConfig":{"shape":"SourceIpConditionConfig"} }, "documentation":"

Information about a condition for a rule.

" }, @@ -2622,6 +2676,12 @@ } } }, + "SourceIpConditionConfig":{ + "type":"structure", + "members":{ + "Values":{"shape":"ListOfString"} + } + }, "SslPolicies":{ "type":"list", "member":{"shape":"SslPolicy"} @@ -3101,5 +3161,5 @@ "VpcId":{"type":"string"}, "ZoneName":{"type":"string"} }, - "documentation":"Elastic Load Balancing

A load balancer distributes incoming traffic across targets, such as your EC2 instances. This enables you to increase the availability of your application. The load balancer also monitors the health of its registered targets and ensures that it routes traffic only to healthy targets. You configure your load balancer to accept incoming traffic by specifying one or more listeners, which are configured with a protocol and port number for connections from clients to the load balancer. You configure a target group with a protocol and port number for connections from the load balancer to the targets, and with health check settings to be used when checking the health status of the targets.

Elastic Load Balancing supports the following types of load balancers: Application Load Balancers, Network Load Balancers, and Classic Load Balancers.

An Application Load Balancer makes routing and load balancing decisions at the application layer (HTTP/HTTPS). A Network Load Balancer makes routing and load balancing decisions at the transport layer (TCP). Both Application Load Balancers and Network Load Balancers can route requests to one or more ports on each EC2 instance or container instance in your virtual private cloud (VPC).

A Classic Load Balancer makes routing and load balancing decisions either at the transport layer (TCP/SSL) or the application layer (HTTP/HTTPS), and supports either EC2-Classic or a VPC. For more information, see the Elastic Load Balancing User Guide.

This reference covers the 2015-12-01 API, which supports Application Load Balancers and Network Load Balancers. The 2012-06-01 API supports Classic Load Balancers.

To get started, complete the following tasks:

  1. Create a load balancer using CreateLoadBalancer.

  2. Create a target group using CreateTargetGroup.

  3. Register targets for the target group using RegisterTargets.

  4. Create one or more listeners for your load balancer using CreateListener.

To delete a load balancer and its related resources, complete the following tasks:

  1. Delete the load balancer using DeleteLoadBalancer.

  2. Delete the target group using DeleteTargetGroup.

All Elastic Load Balancing operations are idempotent, which means that they complete at most one time. If you repeat an operation, it succeeds.

" + "documentation":"Elastic Load Balancing

A load balancer distributes incoming traffic across targets, such as your EC2 instances. This enables you to increase the availability of your application. The load balancer also monitors the health of its registered targets and ensures that it routes traffic only to healthy targets. You configure your load balancer to accept incoming traffic by specifying one or more listeners, which are configured with a protocol and port number for connections from clients to the load balancer. You configure a target group with a protocol and port number for connections from the load balancer to the targets, and with health check settings to be used when checking the health status of the targets.

Elastic Load Balancing supports the following types of load balancers: Application Load Balancers, Network Load Balancers, and Classic Load Balancers.

An Application Load Balancer makes routing and load balancing decisions at the application layer (HTTP/HTTPS). A Network Load Balancer makes routing and load balancing decisions at the transport layer (TCP/TLS). Both Application Load Balancers and Network Load Balancers can route requests to one or more ports on each EC2 instance or container instance in your virtual private cloud (VPC).

A Classic Load Balancer makes routing and load balancing decisions either at the transport layer (TCP/SSL) or the application layer (HTTP/HTTPS), and supports either EC2-Classic or a VPC. For more information, see the Elastic Load Balancing User Guide.

This reference covers the 2015-12-01 API, which supports Application Load Balancers and Network Load Balancers. The 2012-06-01 API supports Classic Load Balancers.

To get started, complete the following tasks:

  1. Create a load balancer using CreateLoadBalancer.

  2. Create a target group using CreateTargetGroup.

  3. Register targets for the target group using RegisterTargets.

  4. Create one or more listeners for your load balancer using CreateListener.

To delete a load balancer and its related resources, complete the following tasks:

  1. Delete the load balancer using DeleteLoadBalancer.

  2. Delete the target group using DeleteTargetGroup.

All Elastic Load Balancing operations are idempotent, which means that they complete at most one time. If you repeat an operation, it succeeds.

" } diff --git a/bin/botocore/data/emr/2009-03-31/paginators-1.json b/bin/botocore/data/emr/2009-03-31/paginators-1.json index 67ccf448..023eb7cc 100644 --- a/bin/botocore/data/emr/2009-03-31/paginators-1.json +++ b/bin/botocore/data/emr/2009-03-31/paginators-1.json @@ -29,6 +29,11 @@ "input_token": "Marker", "output_token": "Marker", "result_key": "InstanceFleets" + }, + "ListSecurityConfigurations": { + "input_token": "Marker", + "output_token": "Marker", + "result_key": "SecurityConfigurations" } } } diff --git a/bin/botocore/data/emr/2009-03-31/service-2.json b/bin/botocore/data/emr/2009-03-31/service-2.json index 69a49569..16532e48 100644 --- a/bin/botocore/data/emr/2009-03-31/service-2.json +++ b/bin/botocore/data/emr/2009-03-31/service-2.json @@ -10,7 +10,6 @@ "serviceId":"EMR", "signatureVersion":"v4", "targetPrefix":"ElasticMapReduce", - "timestampFormat":"unixTimestamp", "uid":"elasticmapreduce-2009-03-31" }, "operations":{ @@ -52,7 +51,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

AddJobFlowSteps adds new steps to a running cluster. A maximum of 256 steps are allowed in each job flow.

If your cluster is long-running (such as a Hive data warehouse) or complex, you may require more than 256 steps to process your data. You can bypass the 256-step limitation in various ways, including using SSH to connect to the master node and submitting queries directly to the software running on the master node, such as Hive and Hadoop. For more information on how to do this, see Add More than 256 Steps to a Cluster in the Amazon EMR Management Guide.

A step specifies the location of a JAR file stored either on the master node of the cluster or in Amazon S3. Each step is performed by the main function of the main class of the JAR file. The main class can be specified either in the manifest of the JAR or by using the MainFunction parameter of the step.

Amazon EMR executes each step in the order listed. For a step to be considered complete, the main function must exit with a zero exit code and all Hadoop jobs started while the step was running must have completed and run successfully.

You can only add steps to a cluster that is in one of the following states: STARTING, BOOTSTRAPPING, RUNNING, or WAITING.

" + "documentation":"

AddJobFlowSteps adds new steps to a running cluster. A maximum of 256 steps are allowed in each job flow.

If your cluster is long-running (such as a Hive data warehouse) or complex, you may require more than 256 steps to process your data. You can bypass the 256-step limitation in various ways, including using SSH to connect to the master node and submitting queries directly to the software running on the master node, such as Hive and Hadoop. For more information on how to do this, see Add More than 256 Steps to a Cluster in the Amazon EMR Management Guide.

A step specifies the location of a JAR file stored either on the master node of the cluster or in Amazon S3. Each step is performed by the main function of the main class of the JAR file. The main class can be specified either in the manifest of the JAR or by using the MainFunction parameter of the step.

Amazon EMR executes each step in the order listed. For a step to be considered complete, the main function must exit with a zero exit code and all Hadoop jobs started while the step was running must have completed and run successfully.

You can only add steps to a cluster that is in one of the following states: STARTING, BOOTSTRAPPING, RUNNING, or WAITING.

" }, "AddTags":{ "name":"AddTags", @@ -66,7 +65,7 @@ {"shape":"InternalServerException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Adds tags to an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. For more information, see Tag Clusters.

" + "documentation":"

Adds tags to an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. For more information, see Tag Clusters.

" }, "CancelSteps":{ "name":"CancelSteps", @@ -321,7 +320,7 @@ {"shape":"InternalServerException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Removes tags from an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. For more information, see Tag Clusters.

The following example removes the stack tag with value Prod from a cluster:

" + "documentation":"

Removes tags from an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. For more information, see Tag Clusters.

The following example removes the stack tag with value Prod from a cluster:

" }, "RunJobFlow":{ "name":"RunJobFlow", @@ -334,7 +333,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

RunJobFlow creates and starts running a new cluster (job flow). The cluster runs the steps specified. After the steps complete, the cluster stops and the HDFS partition is lost. To prevent loss of data, configure the last step of the job flow to store results in Amazon S3. If the JobFlowInstancesConfig KeepJobFlowAliveWhenNoSteps parameter is set to TRUE, the cluster transitions to the WAITING state rather than shutting down after the steps have completed.

For additional protection, you can set the JobFlowInstancesConfig TerminationProtected parameter to TRUE to lock the cluster and prevent it from being terminated by API call, user intervention, or in the event of a job flow error.

A maximum of 256 steps are allowed in each job flow.

If your cluster is long-running (such as a Hive data warehouse) or complex, you may require more than 256 steps to process your data. You can bypass the 256-step limitation in various ways, including using the SSH shell to connect to the master node and submitting queries directly to the software running on the master node, such as Hive and Hadoop. For more information on how to do this, see Add More than 256 Steps to a Cluster in the Amazon EMR Management Guide.

For long running clusters, we recommend that you periodically store your results.

The instance fleets configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. The RunJobFlow request can contain InstanceFleets parameters or InstanceGroups parameters, but not both.

" + "documentation":"

RunJobFlow creates and starts running a new cluster (job flow). The cluster runs the steps specified. After the steps complete, the cluster stops and the HDFS partition is lost. To prevent loss of data, configure the last step of the job flow to store results in Amazon S3. If the JobFlowInstancesConfig KeepJobFlowAliveWhenNoSteps parameter is set to TRUE, the cluster transitions to the WAITING state rather than shutting down after the steps have completed.

For additional protection, you can set the JobFlowInstancesConfig TerminationProtected parameter to TRUE to lock the cluster and prevent it from being terminated by API call, user intervention, or in the event of a job flow error.

A maximum of 256 steps are allowed in each job flow.

If your cluster is long-running (such as a Hive data warehouse) or complex, you may require more than 256 steps to process your data. You can bypass the 256-step limitation in various ways, including using the SSH shell to connect to the master node and submitting queries directly to the software running on the master node, such as Hive and Hadoop. For more information on how to do this, see Add More than 256 Steps to a Cluster in the Amazon EMR Management Guide.

For long running clusters, we recommend that you periodically store your results.

The instance fleets configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. The RunJobFlow request can contain InstanceFleets parameters or InstanceGroups parameters, but not both.

" }, "SetTerminationProtection":{ "name":"SetTerminationProtection", @@ -346,7 +345,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

SetTerminationProtection locks a cluster (job flow) so the EC2 instances in the cluster cannot be terminated by user intervention, an API call, or in the event of a job-flow error. The cluster still terminates upon successful completion of the job flow. Calling SetTerminationProtection on a cluster is similar to calling the Amazon EC2 DisableAPITermination API on all EC2 instances in a cluster.

SetTerminationProtection is used to prevent accidental termination of a cluster and to ensure that in the event of an error, the instances persist so that you can recover any data stored in their ephemeral instance storage.

To terminate a cluster that has been locked by setting SetTerminationProtection to true, you must first unlock the job flow by a subsequent call to SetTerminationProtection in which you set the value to false.

For more information, seeManaging Cluster Termination in the Amazon EMR Management Guide.

" + "documentation":"

SetTerminationProtection locks a cluster (job flow) so the EC2 instances in the cluster cannot be terminated by user intervention, an API call, or in the event of a job-flow error. The cluster still terminates upon successful completion of the job flow. Calling SetTerminationProtection on a cluster is similar to calling the Amazon EC2 DisableAPITermination API on all EC2 instances in a cluster.

SetTerminationProtection is used to prevent accidental termination of a cluster and to ensure that in the event of an error, the instances persist so that you can recover any data stored in their ephemeral instance storage.

To terminate a cluster that has been locked by setting SetTerminationProtection to true, you must first unlock the job flow by a subsequent call to SetTerminationProtection in which you set the value to false.

For more information, seeManaging Cluster Termination in the Amazon EMR Management Guide.

" }, "SetVisibleToAllUsers":{ "name":"SetVisibleToAllUsers", @@ -525,7 +524,7 @@ "documentation":"

This option is for advanced users only. This is meta information about third-party applications that third-party vendors use for testing purposes.

" } }, - "documentation":"

An application is any Amazon or third-party software that you can add to the cluster. This structure contains a list of strings that indicates the software to use with the cluster and accepts a user argument list. Amazon EMR accepts and forwards the argument list to the corresponding installation script as bootstrap action argument. For more information, see Using the MapR Distribution for Hadoop. Currently supported values are:

  • \"mapr-m3\" - launch the cluster using MapR M3 Edition.

  • \"mapr-m5\" - launch the cluster using MapR M5 Edition.

  • \"mapr\" with the user arguments specifying \"--edition,m3\" or \"--edition,m5\" - launch the cluster using MapR M3 or M5 Edition, respectively.

In Amazon EMR releases 4.x and later, the only accepted parameter is the application name. To pass arguments to applications, you supply a configuration for each application.

" + "documentation":"

With Amazon EMR release version 4.0 and later, the only accepted parameter is the application name. To pass arguments to applications, you use configuration classifications specified using configuration JSON objects. For more information, see Configuring Applications.

With earlier Amazon EMR releases, the application is any Amazon or third-party software that you can add to the cluster. This structure contains a list of strings that indicates the software to use with the cluster and accepts a user argument list. Amazon EMR accepts and forwards the argument list to the corresponding installation script as bootstrap action argument.

" }, "ApplicationList":{ "type":"list", @@ -790,7 +789,7 @@ }, "ReleaseLabel":{ "shape":"String", - "documentation":"

The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the form emr-x.x.x, where x.x.x is an Amazon EMR release version, for example, emr-5.14.0. For more information about Amazon EMR release versions and included application versions and features, see http://docs.aws.amazon.com/emr/latest/ReleaseGuide/. The release label applies only to Amazon EMR releases versions 4.x and later. Earlier versions use AmiVersion.

" + "documentation":"

The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the form emr-x.x.x, where x.x.x is an Amazon EMR release version, for example, emr-5.14.0. For more information about Amazon EMR release versions and included application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/. The release label applies only to Amazon EMR releases versions 4.x and later. Earlier versions use AmiVersion.

" }, "AutoTerminate":{ "shape":"Boolean", @@ -854,7 +853,7 @@ }, "KerberosAttributes":{ "shape":"KerberosAttributes", - "documentation":"

Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the EMR Management Guide.

" + "documentation":"

Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the EMR Management Guide.

" } }, "documentation":"

The detailed description of the cluster.

" @@ -1012,7 +1011,7 @@ "documentation":"

A set of properties specified within a configuration classification.

" } }, - "documentation":"

Amazon EMR releases 4.x or later.

An optional configuration specification to be used when provisioning cluster instances, which can include configurations for applications and software bundled with Amazon EMR. A configuration consists of a classification, properties, and optional nested configurations. A classification refers to an application-specific configuration file. Properties are the settings you want to change in that file. For more information, see Configuring Applications.

" + "documentation":"

Amazon EMR releases 4.x or later.

An optional configuration specification to be used when provisioning cluster instances, which can include configurations for applications and software bundled with Amazon EMR. A configuration consists of a classification, properties, and optional nested configurations. A classification refers to an application-specific configuration file. Properties are the settings you want to change in that file. For more information, see Configuring Applications.

" }, "ConfigurationList":{ "type":"list", @@ -1031,7 +1030,7 @@ }, "SecurityConfiguration":{ "shape":"String", - "documentation":"

The security configuration details in JSON format. For JSON parameters and examples, see Use Security Configurations to Set Up Cluster Security in the Amazon EMR Management Guide.

" + "documentation":"

The security configuration details in JSON format. For JSON parameters and examples, see Use Security Configurations to Set Up Cluster Security in the Amazon EMR Management Guide.

" } } }, @@ -1286,7 +1285,7 @@ }, "EmrManagedSlaveSecurityGroup":{ "shape":"String", - "documentation":"

The identifier of the Amazon EC2 security group for the slave nodes.

" + "documentation":"

The identifier of the Amazon EC2 security group for the core and task nodes.

" }, "ServiceAccessSecurityGroup":{ "shape":"String", @@ -1298,7 +1297,7 @@ }, "AdditionalSlaveSecurityGroups":{ "shape":"StringList", - "documentation":"

A list of additional Amazon EC2 security group IDs for the slave nodes.

" + "documentation":"

A list of additional Amazon EC2 security group IDs for the core and task nodes.

" } }, "documentation":"

Provides information about the EC2 instances in a cluster grouped by category. For example, key name, subnet ID, IAM instance profile, and so on.

" @@ -1671,6 +1670,18 @@ "shape":"ConfigurationList", "documentation":"

Amazon EMR releases 4.x or later.

The list of configurations supplied for an EMR cluster instance group. You can specify a separate configuration for each instance group (master, core, and task).

" }, + "ConfigurationsVersion":{ + "shape":"Long", + "documentation":"

The version number of the requested configuration specification for this instance group.

" + }, + "LastSuccessfullyAppliedConfigurations":{ + "shape":"ConfigurationList", + "documentation":"

A list of configurations that were successfully applied for an instance group last time.

" + }, + "LastSuccessfullyAppliedConfigurationsVersion":{ + "shape":"Long", + "documentation":"

The version number of a configuration specification that was successfully applied for an instance group last time.

" + }, "EbsBlockDevices":{ "shape":"EbsBlockDeviceList", "documentation":"

The EBS block devices that are mapped to this instance group.

" @@ -1844,9 +1855,13 @@ "ShrinkPolicy":{ "shape":"ShrinkPolicy", "documentation":"

Policy for customizing shrink operations.

" + }, + "Configurations":{ + "shape":"ConfigurationList", + "documentation":"

A list of new or modified configurations to apply for an instance group.

" } }, - "documentation":"

Modify an instance group size.

" + "documentation":"

Modify the size or configurations of an instance group.

" }, "InstanceGroupModifyConfigList":{ "type":"list", @@ -1858,6 +1873,7 @@ "PROVISIONING", "BOOTSTRAPPING", "RUNNING", + "RECONFIGURING", "RESIZING", "SUSPENDED", "TERMINATING", @@ -2290,7 +2306,7 @@ }, "SlaveInstanceType":{ "shape":"InstanceType", - "documentation":"

The EC2 instance type of the slave nodes.

" + "documentation":"

The EC2 instance type of the core and task nodes.

" }, "InstanceCount":{ "shape":"Integer", @@ -2338,7 +2354,7 @@ }, "EmrManagedSlaveSecurityGroup":{ "shape":"XmlStringMaxLen256", - "documentation":"

The identifier of the Amazon EC2 security group for the slave nodes.

" + "documentation":"

The identifier of the Amazon EC2 security group for the core and task nodes.

" }, "ServiceAccessSecurityGroup":{ "shape":"XmlStringMaxLen256", @@ -2350,7 +2366,7 @@ }, "AdditionalSlaveSecurityGroups":{ "shape":"SecurityGroupsList", - "documentation":"

A list of additional Amazon EC2 security group IDs for the slave nodes.

" + "documentation":"

A list of additional Amazon EC2 security group IDs for the core and task nodes.

" } }, "documentation":"

A description of the Amazon EC2 instance on which the cluster (job flow) runs. A valid JobFlowInstancesConfig must contain either InstanceGroups or InstanceFleets, which is the recommended configuration. They cannot be used together. You may also have MasterInstanceType, SlaveInstanceType, and InstanceCount (all three must be present), but we don't recommend this configuration.

" @@ -2377,11 +2393,11 @@ }, "SlaveInstanceType":{ "shape":"InstanceType", - "documentation":"

The Amazon EC2 slave node instance type.

" + "documentation":"

The Amazon EC2 core and task node instance type.

" }, "InstanceCount":{ "shape":"Integer", - "documentation":"

The number of Amazon EC2 instances in the cluster. If the value is 1, the same instance serves as both the master and slave node. If the value is greater than 1, one instance is the master node and all others are slave nodes.

" + "documentation":"

The number of Amazon EC2 instances in the cluster. If the value is 1, the same instance serves as both the master and core and task node. If the value is greater than 1, one instance is the master node and all others are core and task nodes.

" }, "InstanceGroups":{ "shape":"InstanceGroupDetailList", @@ -2446,7 +2462,7 @@ "documentation":"

The Active Directory password for ADDomainJoinUser.

" } }, - "documentation":"

Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the EMR Management Guide.

" + "documentation":"

Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the EMR Management Guide.

" }, "KeyValue":{ "type":"structure", @@ -2695,6 +2711,7 @@ }, "documentation":"

This output contains the list of steps returned in reverse order. This means that the last step is the first element in the list.

" }, + "Long":{"type":"long"}, "Marker":{"type":"string"}, "MarketType":{ "type":"string", @@ -2892,7 +2909,7 @@ }, "ReleaseLabel":{ "shape":"XmlStringMaxLen256", - "documentation":"

The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the form emr-x.x.x, where x.x.x is an Amazon EMR release version, for example, emr-5.14.0. For more information about Amazon EMR release versions and included application versions and features, see http://docs.aws.amazon.com/emr/latest/ReleaseGuide/. The release label applies only to Amazon EMR releases versions 4.x and later. Earlier versions use AmiVersion.

" + "documentation":"

The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the form emr-x.x.x, where x.x.x is an Amazon EMR release version, for example, emr-5.14.0. For more information about Amazon EMR release versions and included application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/. The release label applies only to Amazon EMR releases versions 4.x and later. Earlier versions use AmiVersion.

" }, "Instances":{ "shape":"JobFlowInstancesConfig", @@ -2908,15 +2925,15 @@ }, "SupportedProducts":{ "shape":"SupportedProductsList", - "documentation":"

For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, use Applications.

A list of strings that indicates third-party software to use. For more information, see the Amazon EMR Developer Guide. Currently supported values are:

  • \"mapr-m3\" - launch the job flow using MapR M3 Edition.

  • \"mapr-m5\" - launch the job flow using MapR M5 Edition.

" + "documentation":"

For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, use Applications.

A list of strings that indicates third-party software to use. For more information, see the Amazon EMR Developer Guide. Currently supported values are:

  • \"mapr-m3\" - launch the job flow using MapR M3 Edition.

  • \"mapr-m5\" - launch the job flow using MapR M5 Edition.

" }, "NewSupportedProducts":{ "shape":"NewSupportedProductsList", - "documentation":"

For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, use Applications.

A list of strings that indicates third-party software to use with the job flow that accepts a user argument list. EMR accepts and forwards the argument list to the corresponding installation script as bootstrap action arguments. For more information, see \"Launch a Job Flow on the MapR Distribution for Hadoop\" in the Amazon EMR Developer Guide. Supported values are:

  • \"mapr-m3\" - launch the cluster using MapR M3 Edition.

  • \"mapr-m5\" - launch the cluster using MapR M5 Edition.

  • \"mapr\" with the user arguments specifying \"--edition,m3\" or \"--edition,m5\" - launch the job flow using MapR M3 or M5 Edition respectively.

  • \"mapr-m7\" - launch the cluster using MapR M7 Edition.

  • \"hunk\" - launch the cluster with the Hunk Big Data Analtics Platform.

  • \"hue\"- launch the cluster with Hue installed.

  • \"spark\" - launch the cluster with Apache Spark installed.

  • \"ganglia\" - launch the cluster with the Ganglia Monitoring System installed.

" + "documentation":"

For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, use Applications.

A list of strings that indicates third-party software to use with the job flow that accepts a user argument list. EMR accepts and forwards the argument list to the corresponding installation script as bootstrap action arguments. For more information, see \"Launch a Job Flow on the MapR Distribution for Hadoop\" in the Amazon EMR Developer Guide. Supported values are:

  • \"mapr-m3\" - launch the cluster using MapR M3 Edition.

  • \"mapr-m5\" - launch the cluster using MapR M5 Edition.

  • \"mapr\" with the user arguments specifying \"--edition,m3\" or \"--edition,m5\" - launch the job flow using MapR M3 or M5 Edition respectively.

  • \"mapr-m7\" - launch the cluster using MapR M7 Edition.

  • \"hunk\" - launch the cluster with the Hunk Big Data Analtics Platform.

  • \"hue\"- launch the cluster with Hue installed.

  • \"spark\" - launch the cluster with Apache Spark installed.

  • \"ganglia\" - launch the cluster with the Ganglia Monitoring System installed.

" }, "Applications":{ "shape":"ApplicationList", - "documentation":"

For Amazon EMR releases 4.0 and later. A list of applications for the cluster. Valid values are: \"Hadoop\", \"Hive\", \"Mahout\", \"Pig\", and \"Spark.\" They are case insensitive.

" + "documentation":"

Applies to Amazon EMR releases 4.0 and later. A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. For a list of applications available for each Amazon EMR release version, see the Amazon EMR Release Guide.

" }, "Configurations":{ "shape":"ConfigurationList", @@ -2952,7 +2969,7 @@ }, "CustomAmiId":{ "shape":"XmlStringMaxLen256", - "documentation":"

Available only in Amazon EMR version 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when it launches cluster EC2 instances. For more information about custom AMIs in Amazon EMR, see Using a Custom AMI in the Amazon EMR Management Guide. If omitted, the cluster uses the base Linux AMI for the ReleaseLabel specified. For Amazon EMR versions 2.x and 3.x, use AmiVersion instead.

For information about creating a custom AMI, see Creating an Amazon EBS-Backed Linux AMI in the Amazon Elastic Compute Cloud User Guide for Linux Instances. For information about finding an AMI ID, see Finding a Linux AMI.

" + "documentation":"

Available only in Amazon EMR version 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when it launches cluster EC2 instances. For more information about custom AMIs in Amazon EMR, see Using a Custom AMI in the Amazon EMR Management Guide. If omitted, the cluster uses the base Linux AMI for the ReleaseLabel specified. For Amazon EMR versions 2.x and 3.x, use AmiVersion instead.

For information about creating a custom AMI, see Creating an Amazon EBS-Backed Linux AMI in the Amazon Elastic Compute Cloud User Guide for Linux Instances. For information about finding an AMI ID, see Finding a Linux AMI.

" }, "EbsRootVolumeSize":{ "shape":"Integer", @@ -2964,7 +2981,7 @@ }, "KerberosAttributes":{ "shape":"KerberosAttributes", - "documentation":"

Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the EMR Management Guide.

" + "documentation":"

Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the EMR Management Guide.

" } }, "documentation":"

Input to the RunJobFlow operation.

" @@ -3180,7 +3197,7 @@ }, "TimeoutAction":{ "shape":"SpotProvisioningTimeoutAction", - "documentation":"

The action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired. Spot instances are not uprovisioned within the Spot provisioining timeout. Valid values are TERMINATE_CLUSTER and SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.

" + "documentation":"

The action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are TERMINATE_CLUSTER and SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.

" }, "BlockDurationMinutes":{ "shape":"WholeNumber", @@ -3223,7 +3240,7 @@ }, "ActionOnFailure":{ "shape":"ActionOnFailure", - "documentation":"

This specifies what action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE.

" + "documentation":"

The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided for backward compatibility. We recommend using TERMINATE_CLUSTER instead.

" }, "Status":{ "shape":"StepStatus", @@ -3245,7 +3262,7 @@ }, "ActionOnFailure":{ "shape":"ActionOnFailure", - "documentation":"

The action to take if the step fails.

" + "documentation":"

The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided for backward compatibility. We recommend using TERMINATE_CLUSTER instead.

" }, "HadoopJarStep":{ "shape":"HadoopJarStepConfig", @@ -3400,7 +3417,7 @@ }, "ActionOnFailure":{ "shape":"ActionOnFailure", - "documentation":"

This specifies what action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE.

" + "documentation":"

The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is available for backward compatibility. We recommend using TERMINATE_CLUSTER instead.

" }, "Status":{ "shape":"StepStatus", @@ -3464,14 +3481,14 @@ "members":{ "Key":{ "shape":"String", - "documentation":"

A user-defined key, which is the minimum required information for a valid tag. For more information, see Tag .

" + "documentation":"

A user-defined key, which is the minimum required information for a valid tag. For more information, see Tag .

" }, "Value":{ "shape":"String", - "documentation":"

A user-defined value, which is optional in a tag. For more information, see Tag Clusters.

" + "documentation":"

A user-defined value, which is optional in a tag. For more information, see Tag Clusters.

" } }, - "documentation":"

A key/value pair containing user-defined metadata that you can associate with an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. For more information, see Tag Clusters.

" + "documentation":"

A key/value pair containing user-defined metadata that you can associate with an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. For more information, see Tag Clusters.

" }, "TagList":{ "type":"list", diff --git a/bin/botocore/data/endpoints.json b/bin/botocore/data/endpoints.json index 11636fe1..3bce29fc 100644 --- a/bin/botocore/data/endpoints.json +++ b/bin/botocore/data/endpoints.json @@ -10,6 +10,9 @@ "partitionName" : "AWS Standard", "regionRegex" : "^(us|eu|ap|sa|ca)\\-\\w+\\-\\d+$", "regions" : { + "ap-east-1" : { + "description" : "Asia Pacific (Hong Kong)" + }, "ap-northeast-1" : { "description" : "Asia Pacific (Tokyo)" }, @@ -31,6 +34,9 @@ "eu-central-1" : { "description" : "EU (Frankfurt)" }, + "eu-north-1" : { + "description" : "EU (Stockholm)" + }, "eu-west-1" : { "description" : "EU (Ireland)" }, @@ -64,6 +70,7 @@ }, "acm" : { "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -71,6 +78,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -87,24 +95,136 @@ }, "endpoints" : { "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "us-east-1" : { }, "us-east-2" : { }, + "us-west-1" : { }, "us-west-2" : { } } }, + "api.ecr" : { + "endpoints" : { + "ap-east-1" : { + "credentialScope" : { + "region" : "ap-east-1" + }, + "hostname" : "api.ecr.ap-east-1.amazonaws.com" + }, + "ap-northeast-1" : { + "credentialScope" : { + "region" : "ap-northeast-1" + }, + "hostname" : "api.ecr.ap-northeast-1.amazonaws.com" + }, + "ap-northeast-2" : { + "credentialScope" : { + "region" : "ap-northeast-2" + }, + "hostname" : "api.ecr.ap-northeast-2.amazonaws.com" + }, + "ap-south-1" : { + "credentialScope" : { + "region" : "ap-south-1" + }, + "hostname" : "api.ecr.ap-south-1.amazonaws.com" + }, + "ap-southeast-1" : { + "credentialScope" : { + "region" : "ap-southeast-1" + }, + "hostname" : "api.ecr.ap-southeast-1.amazonaws.com" + }, + "ap-southeast-2" : { + "credentialScope" : { + "region" : "ap-southeast-2" + }, + "hostname" : "api.ecr.ap-southeast-2.amazonaws.com" + }, + "ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "api.ecr.ca-central-1.amazonaws.com" + }, + "eu-central-1" : { + "credentialScope" : { + "region" : "eu-central-1" + }, + "hostname" : "api.ecr.eu-central-1.amazonaws.com" + }, + "eu-north-1" : { + "credentialScope" : { + "region" : "eu-north-1" + }, + "hostname" : "api.ecr.eu-north-1.amazonaws.com" + }, + "eu-west-1" : { + "credentialScope" : { + "region" : "eu-west-1" + }, + "hostname" : "api.ecr.eu-west-1.amazonaws.com" + }, + "eu-west-2" : { + "credentialScope" : { + "region" : "eu-west-2" + }, + "hostname" : "api.ecr.eu-west-2.amazonaws.com" + }, + "eu-west-3" : { + "credentialScope" : { + "region" : "eu-west-3" + }, + "hostname" : "api.ecr.eu-west-3.amazonaws.com" + }, + "sa-east-1" : { + "credentialScope" : { + "region" : "sa-east-1" + }, + "hostname" : "api.ecr.sa-east-1.amazonaws.com" + }, + "us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "api.ecr.us-east-1.amazonaws.com" + }, + "us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "api.ecr.us-east-2.amazonaws.com" + }, + "us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "api.ecr.us-west-1.amazonaws.com" + }, + "us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "api.ecr.us-west-2.amazonaws.com" + } + } + }, "api.mediatailor" : { "endpoints" : { "ap-northeast-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, "eu-west-1" : { }, - "us-east-1" : { } + "us-east-1" : { }, + "us-west-2" : { } } }, "api.pricing" : { @@ -130,13 +250,38 @@ "eu-west-1" : { }, "eu-west-2" : { }, "us-east-1" : { }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "api-fips.sagemaker.us-east-1.amazonaws.com" + }, "us-east-2" : { }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "api-fips.sagemaker.us-east-2.amazonaws.com" + }, "us-west-1" : { }, - "us-west-2" : { } + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "api-fips.sagemaker.us-west-1.amazonaws.com" + }, + "us-west-2" : { }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "api-fips.sagemaker.us-west-2.amazonaws.com" + } } }, "apigateway" : { "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -144,6 +289,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -163,6 +309,7 @@ "protocols" : [ "http", "https" ] }, "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -170,6 +317,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -180,6 +328,23 @@ "us-west-2" : { } } }, + "appmesh" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, "appstream2" : { "defaults" : { "credentialScope" : { @@ -189,6 +354,10 @@ }, "endpoints" : { "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, "eu-west-1" : { }, "us-east-1" : { }, "us-west-2" : { } @@ -203,6 +372,7 @@ "ap-southeast-2" : { }, "eu-central-1" : { }, "eu-west-1" : { }, + "eu-west-2" : { }, "us-east-1" : { }, "us-east-2" : { }, "us-west-2" : { } @@ -215,6 +385,7 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, + "ca-central-1" : { }, "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, @@ -228,6 +399,7 @@ "protocols" : [ "http", "https" ] }, "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -235,6 +407,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -254,7 +427,25 @@ "protocols" : [ "http", "https" ] }, "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "backup" : { + "endpoints" : { + "ap-southeast-2" : { }, + "eu-central-1" : { }, "eu-west-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -270,8 +461,10 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -322,7 +515,9 @@ }, "cloud9" : { "endpoints" : { + "ap-northeast-1" : { }, "ap-southeast-1" : { }, + "eu-central-1" : { }, "eu-west-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -333,6 +528,7 @@ "endpoints" : { "ap-southeast-1" : { }, "ap-southeast-2" : { }, + "ca-central-1" : { }, "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, @@ -343,6 +539,7 @@ }, "cloudformation" : { "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -350,6 +547,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -394,6 +592,7 @@ } }, "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -401,6 +600,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -426,6 +626,7 @@ }, "cloudtrail" : { "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -433,6 +634,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -452,6 +654,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -513,6 +716,7 @@ }, "codedeploy" : { "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -520,6 +724,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -640,9 +845,24 @@ "defaults" : { "protocols" : [ "https" ] }, + "endpoints" : { + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "comprehendmedical" : { "endpoints" : { "ap-southeast-2" : { }, + "ca-central-1" : { }, "eu-west-1" : { }, + "eu-west-2" : { }, "us-east-1" : { }, "us-east-2" : { }, "us-west-2" : { } @@ -650,6 +870,7 @@ }, "config" : { "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -657,6 +878,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -693,6 +915,18 @@ "us-west-2" : { } } }, + "data.mediastore" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, "datapipeline" : { "endpoints" : { "ap-northeast-1" : { }, @@ -702,12 +936,27 @@ "us-west-2" : { } } }, + "datasync" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, "dax" : { "endpoints" : { "ap-northeast-1" : { }, "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, + "eu-central-1" : { }, "eu-west-1" : { }, "sa-east-1" : { }, "us-east-1" : { }, @@ -730,6 +979,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -747,6 +997,7 @@ }, "dms" : { "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -754,6 +1005,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -764,6 +1016,58 @@ "us-west-2" : { } } }, + "docdb" : { + "endpoints" : { + "ap-northeast-1" : { + "credentialScope" : { + "region" : "ap-northeast-1" + }, + "hostname" : "rds.ap-northeast-1.amazonaws.com" + }, + "ap-northeast-2" : { + "credentialScope" : { + "region" : "ap-northeast-2" + }, + "hostname" : "rds.ap-northeast-2.amazonaws.com" + }, + "ap-southeast-2" : { + "credentialScope" : { + "region" : "ap-southeast-2" + }, + "hostname" : "rds.ap-southeast-2.amazonaws.com" + }, + "eu-central-1" : { + "credentialScope" : { + "region" : "eu-central-1" + }, + "hostname" : "rds.eu-central-1.amazonaws.com" + }, + "eu-west-1" : { + "credentialScope" : { + "region" : "eu-west-1" + }, + "hostname" : "rds.eu-west-1.amazonaws.com" + }, + "us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "rds.us-east-1.amazonaws.com" + }, + "us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "rds.us-east-2.amazonaws.com" + }, + "us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "rds.us-west-2.amazonaws.com" + } + } + }, "ds" : { "endpoints" : { "ap-northeast-1" : { }, @@ -787,13 +1091,21 @@ "protocols" : [ "http", "https" ] }, "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, "ca-central-1" : { }, + "ca-central-1-fips" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "dynamodb-fips.ca-central-1.amazonaws.com" + }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -806,35 +1118,41 @@ }, "sa-east-1" : { }, "us-east-1" : { }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "dynamodb-fips.us-east-1.amazonaws.com" + }, "us-east-2" : { }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "dynamodb-fips.us-east-2.amazonaws.com" + }, "us-west-1" : { }, - "us-west-2" : { } + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "dynamodb-fips.us-west-1.amazonaws.com" + }, + "us-west-2" : { }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "dynamodb-fips.us-west-2.amazonaws.com" + } } }, "ec2" : { "defaults" : { "protocols" : [ "http", "https" ] - }, - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "ecr" : { + }, "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -842,6 +1160,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -854,6 +1173,7 @@ }, "ecs" : { "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -861,6 +1181,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -873,6 +1194,7 @@ }, "elasticache" : { "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -880,6 +1202,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -898,6 +1221,7 @@ }, "elasticbeanstalk" : { "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -905,6 +1229,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -919,10 +1244,14 @@ "endpoints" : { "ap-northeast-1" : { }, "ap-northeast-2" : { }, + "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, + "ca-central-1" : { }, "eu-central-1" : { }, "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, "us-east-1" : { }, "us-east-2" : { }, "us-west-1" : { }, @@ -934,6 +1263,7 @@ "protocols" : [ "https" ] }, "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -941,6 +1271,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -957,6 +1288,7 @@ "sslCommonName" : "{region}.{service}.{dnsSuffix}" }, "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -966,6 +1298,7 @@ "eu-central-1" : { "sslCommonName" : "{service}.{region}.{dnsSuffix}" }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -992,6 +1325,9 @@ }, "email" : { "endpoints" : { + "ap-south-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, "eu-west-1" : { }, "us-east-1" : { }, "us-west-2" : { } @@ -1009,6 +1345,7 @@ }, "es" : { "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -1016,9 +1353,16 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, + "fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "es-fips.us-west-1.amazonaws.com" + }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -1028,6 +1372,7 @@ }, "events" : { "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -1035,6 +1380,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -1054,6 +1400,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -1069,8 +1416,26 @@ "protocols" : [ "https" ] }, "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "fsx" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-2" : { }, "eu-west-1" : { }, "us-east-1" : { }, + "us-east-2" : { }, "us-west-2" : { } } }, @@ -1097,6 +1462,7 @@ "protocols" : [ "http", "https" ] }, "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -1104,6 +1470,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -1116,6 +1483,7 @@ }, "glue" : { "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -1125,8 +1493,10 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "us-east-1" : { }, "us-east-2" : { }, + "us-west-1" : { }, "us-west-2" : { } } }, @@ -1144,6 +1514,12 @@ }, "isRegionalized" : true }, + "groundstation" : { + "endpoints" : { + "us-east-2" : { }, + "us-west-2" : { } + } + }, "guardduty" : { "defaults" : { "protocols" : [ "https" ] @@ -1156,6 +1532,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -1206,6 +1583,7 @@ "ap-southeast-2" : { }, "eu-central-1" : { }, "eu-west-1" : { }, + "eu-west-2" : { }, "us-east-1" : { }, "us-east-2" : { }, "us-west-1" : { }, @@ -1242,8 +1620,37 @@ "us-west-2" : { } } }, + "iotthingsgraph" : { + "defaults" : { + "credentialScope" : { + "service" : "iotthingsgraph" + } + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-2" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "kafka" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, "kinesis" : { "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -1251,6 +1658,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -1263,15 +1671,22 @@ }, "kinesisanalytics" : { "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, "eu-central-1" : { }, "eu-west-1" : { }, + "eu-west-2" : { }, "us-east-1" : { }, + "us-east-2" : { }, "us-west-2" : { } } }, "kinesisvideo" : { "endpoints" : { "ap-northeast-1" : { }, + "ap-southeast-2" : { }, "eu-central-1" : { }, "eu-west-1" : { }, "us-east-1" : { }, @@ -1280,6 +1695,13 @@ }, "kms" : { "endpoints" : { + "ProdFips" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "kms-fips.ca-central-1.amazonaws.com" + }, + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -1287,6 +1709,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -1298,6 +1721,27 @@ } }, "lambda" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "license-manager" : { "endpoints" : { "ap-northeast-1" : { }, "ap-northeast-2" : { }, @@ -1306,6 +1750,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -1335,6 +1780,7 @@ }, "logs" : { "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -1342,6 +1788,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -1363,6 +1810,24 @@ "us-east-1" : { } } }, + "mediaconnect" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, "mediaconvert" : { "endpoints" : { "ap-northeast-1" : { }, @@ -1374,6 +1839,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -1417,6 +1883,7 @@ "ap-northeast-2" : { }, "ap-southeast-2" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "us-east-1" : { }, "us-west-2" : { } @@ -1429,6 +1896,7 @@ } }, "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -1436,6 +1904,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -1473,6 +1942,7 @@ "protocols" : [ "http", "https" ] }, "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -1480,6 +1950,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -1490,6 +1961,22 @@ "us-west-2" : { } } }, + "mq" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, "mturk-requester" : { "endpoints" : { "sandbox" : { @@ -1501,6 +1988,36 @@ }, "neptune" : { "endpoints" : { + "ap-northeast-1" : { + "credentialScope" : { + "region" : "ap-northeast-1" + }, + "hostname" : "rds.ap-northeast-1.amazonaws.com" + }, + "ap-northeast-2" : { + "credentialScope" : { + "region" : "ap-northeast-2" + }, + "hostname" : "rds.ap-northeast-2.amazonaws.com" + }, + "ap-south-1" : { + "credentialScope" : { + "region" : "ap-south-1" + }, + "hostname" : "rds.ap-south-1.amazonaws.com" + }, + "ap-southeast-1" : { + "credentialScope" : { + "region" : "ap-southeast-1" + }, + "hostname" : "rds.ap-southeast-1.amazonaws.com" + }, + "ap-southeast-2" : { + "credentialScope" : { + "region" : "ap-southeast-2" + }, + "hostname" : "rds.ap-southeast-2.amazonaws.com" + }, "eu-central-1" : { "credentialScope" : { "region" : "eu-central-1" @@ -1590,6 +2107,9 @@ } }, "endpoints" : { + "ap-south-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, "eu-west-1" : { }, "us-east-1" : { }, "us-west-2" : { } @@ -1604,6 +2124,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -1614,8 +2135,38 @@ "us-west-2" : { } } }, + "projects.iot1click" : { + "endpoints" : { + "ap-northeast-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "ram" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, "rds" : { "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -1623,6 +2174,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -1637,6 +2189,7 @@ }, "redshift" : { "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -1644,6 +2197,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -1657,15 +2211,22 @@ "rekognition" : { "endpoints" : { "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, "ap-southeast-2" : { }, + "eu-central-1" : { }, "eu-west-1" : { }, + "eu-west-2" : { }, "us-east-1" : { }, "us-east-2" : { }, + "us-west-1" : { }, "us-west-2" : { } } }, "resource-groups" : { "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -1673,6 +2234,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -1683,6 +2245,14 @@ "us-west-2" : { } } }, + "robomaker" : { + "endpoints" : { + "ap-northeast-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, "route53" : { "endpoints" : { "aws-global" : { @@ -1700,6 +2270,27 @@ "us-east-1" : { } } }, + "route53resolver" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, "runtime.lex" : { "defaults" : { "credentialScope" : { @@ -1724,9 +2315,33 @@ "eu-west-1" : { }, "eu-west-2" : { }, "us-east-1" : { }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "runtime-fips.sagemaker.us-east-1.amazonaws.com" + }, "us-east-2" : { }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "runtime-fips.sagemaker.us-east-2.amazonaws.com" + }, "us-west-1" : { }, - "us-west-2" : { } + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "runtime-fips.sagemaker.us-west-1.amazonaws.com" + }, + "us-west-2" : { }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "runtime-fips.sagemaker.us-west-2.amazonaws.com" + } } }, "s3" : { @@ -1735,6 +2350,7 @@ "signatureVersions" : [ "s3v4" ] }, "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { "hostname" : "s3.ap-northeast-1.amazonaws.com", "signatureVersions" : [ "s3", "s3v4" ] @@ -1751,6 +2367,7 @@ }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { "hostname" : "s3.eu-west-1.amazonaws.com", "signatureVersions" : [ "s3", "s3v4" ] @@ -1840,6 +2457,13 @@ "hostname" : "s3-control.eu-central-1.amazonaws.com", "signatureVersions" : [ "s3v4" ] }, + "eu-north-1" : { + "credentialScope" : { + "region" : "eu-north-1" + }, + "hostname" : "s3-control.eu-north-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, "eu-west-1" : { "credentialScope" : { "region" : "eu-west-1" @@ -1953,6 +2577,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -1987,6 +2612,26 @@ } } }, + "securityhub" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, "serverlessrepo" : { "defaults" : { "protocols" : [ "https" ] @@ -2013,12 +2658,18 @@ "eu-central-1" : { "protocols" : [ "https" ] }, + "eu-north-1" : { + "protocols" : [ "https" ] + }, "eu-west-1" : { "protocols" : [ "https" ] }, "eu-west-2" : { "protocols" : [ "https" ] }, + "eu-west-3" : { + "protocols" : [ "https" ] + }, "sa-east-1" : { "protocols" : [ "https" ] }, @@ -2045,6 +2696,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -2101,7 +2753,7 @@ "shield" : { "defaults" : { "protocols" : [ "https" ], - "sslCommonName" : "Shield.us-east-1.amazonaws.com" + "sslCommonName" : "shield.us-east-1.amazonaws.com" }, "endpoints" : { "us-east-1" : { } @@ -2117,6 +2769,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -2150,6 +2803,7 @@ "protocols" : [ "http", "https" ] }, "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -2157,6 +2811,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -2173,6 +2828,7 @@ "sslCommonName" : "{region}.queue.{dnsSuffix}" }, "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -2180,6 +2836,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -2218,6 +2875,7 @@ }, "ssm" : { "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -2225,6 +2883,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -2237,6 +2896,7 @@ }, "states" : { "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -2244,8 +2904,11 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, "us-west-1" : { }, @@ -2261,6 +2924,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -2285,7 +2949,14 @@ "ap-southeast-1" : { }, "ap-southeast-2" : { }, "ca-central-1" : { }, + "ca-central-1-fips" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "dynamodb-fips.ca-central-1.amazonaws.com" + }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -2298,9 +2969,33 @@ }, "sa-east-1" : { }, "us-east-1" : { }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "dynamodb-fips.us-east-1.amazonaws.com" + }, "us-east-2" : { }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "dynamodb-fips.us-east-2.amazonaws.com" + }, "us-west-1" : { }, - "us-west-2" : { } + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "dynamodb-fips.us-west-1.amazonaws.com" + }, + "us-west-2" : { }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "dynamodb-fips.us-west-2.amazonaws.com" + } } }, "sts" : { @@ -2311,6 +3006,12 @@ "hostname" : "sts.amazonaws.com" }, "endpoints" : { + "ap-east-1" : { + "credentialScope" : { + "region" : "ap-east-1" + }, + "hostname" : "sts.ap-east-1.amazonaws.com" + }, "ap-northeast-1" : { }, "ap-northeast-2" : { "credentialScope" : { @@ -2324,6 +3025,7 @@ "aws-global" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -2361,11 +3063,12 @@ }, "support" : { "endpoints" : { - "us-east-1" : { } + "aws-global" : { } } }, "swf" : { "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -2373,6 +3076,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -2385,6 +3089,7 @@ }, "tagging" : { "endpoints" : { + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, @@ -2392,6 +3097,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -2406,6 +3112,7 @@ "endpoints" : { "ap-northeast-1" : { }, "ap-northeast-2" : { }, + "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, "ca-central-1" : { }, @@ -2424,6 +3131,12 @@ "protocols" : [ "https" ] }, "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, "eu-west-1" : { }, "us-east-1" : { }, "us-east-1-fips" : { @@ -2463,9 +3176,13 @@ "waf-regional" : { "endpoints" : { "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, "ap-southeast-2" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, + "eu-west-2" : { }, "us-east-1" : { }, "us-east-2" : { }, "us-west-1" : { }, @@ -2516,6 +3233,7 @@ "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -2546,6 +3264,22 @@ } }, "services" : { + "api.ecr" : { + "endpoints" : { + "cn-north-1" : { + "credentialScope" : { + "region" : "cn-north-1" + }, + "hostname" : "api.ecr.cn-north-1.amazonaws.com.cn" + }, + "cn-northwest-1" : { + "credentialScope" : { + "region" : "cn-northwest-1" + }, + "hostname" : "api.ecr.cn-northwest-1.amazonaws.com.cn" + } + } + }, "apigateway" : { "endpoints" : { "cn-north-1" : { }, @@ -2580,6 +3314,19 @@ "cn-northwest-1" : { } } }, + "cloudfront" : { + "endpoints" : { + "aws-cn-global" : { + "credentialScope" : { + "region" : "cn-northwest-1" + }, + "hostname" : "cloudfront.cn-northwest-1.amazonaws.com.cn", + "protocols" : [ "http", "https" ] + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-cn-global" + }, "cloudtrail" : { "endpoints" : { "cn-north-1" : { }, @@ -2656,12 +3403,6 @@ "cn-northwest-1" : { } } }, - "ecr" : { - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, "ecs" : { "endpoints" : { "cn-north-1" : { }, @@ -2710,6 +3451,17 @@ "cn-northwest-1" : { } } }, + "firehose" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "gamelift" : { + "endpoints" : { + "cn-north-1" : { } + } + }, "glacier" : { "defaults" : { "protocols" : [ "http", "https" ] @@ -2747,6 +3499,12 @@ "cn-northwest-1" : { } } }, + "kms" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, "lambda" : { "endpoints" : { "cn-north-1" : { }, @@ -2759,6 +3517,16 @@ "cn-northwest-1" : { } } }, + "mediaconvert" : { + "endpoints" : { + "cn-northwest-1" : { + "credentialScope" : { + "region" : "cn-northwest-1" + }, + "hostname" : "subscribe.mediaconvert.cn-northwest-1.amazonaws.com.cn" + } + } + }, "monitoring" : { "defaults" : { "protocols" : [ "http", "https" ] @@ -2853,6 +3621,12 @@ "cn-northwest-1" : { } } }, + "states" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, "storagegateway" : { "endpoints" : { "cn-north-1" : { } @@ -2914,6 +3688,31 @@ "us-gov-west-1" : { } } }, + "acm-pca" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "api.ecr" : { + "endpoints" : { + "us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "api.ecr.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "api.ecr.us-gov-west-1.amazonaws.com" + } + } + }, "api.sagemaker" : { "endpoints" : { "us-gov-west-1" : { } @@ -2931,6 +3730,12 @@ "us-gov-west-1" : { } } }, + "athena" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, "autoscaling" : { "endpoints" : { "us-gov-east-1" : { }, @@ -2962,6 +3767,7 @@ } }, "endpoints" : { + "us-gov-east-1" : { }, "us-gov-west-1" : { } } }, @@ -2971,6 +3777,17 @@ "us-gov-west-1" : { } } }, + "codebuild" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "codecommit" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, "codedeploy" : { "endpoints" : { "us-gov-east-1" : { }, @@ -2989,6 +3806,14 @@ } } }, + "comprehend" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "us-gov-west-1" : { } + } + }, "config" : { "endpoints" : { "us-gov-east-1" : { }, @@ -3018,9 +3843,21 @@ "us-gov-west-1" : { } } }, + "ds" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, "dynamodb" : { "endpoints" : { "us-gov-east-1" : { }, + "us-gov-east-1-fips" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "dynamodb.us-gov-east-1.amazonaws.com" + }, "us-gov-west-1" : { }, "us-gov-west-1-fips" : { "credentialScope" : { @@ -3036,12 +3873,6 @@ "us-gov-west-1" : { } } }, - "ecr" : { - "endpoints" : { - "us-gov-east-1" : { }, - "us-gov-west-1" : { } - } - }, "ecs" : { "endpoints" : { "us-gov-east-1" : { }, @@ -3066,6 +3897,11 @@ "us-gov-west-1" : { } } }, + "elasticfilesystem" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, "elasticloadbalancing" : { "endpoints" : { "us-gov-east-1" : { }, @@ -3084,6 +3920,13 @@ }, "es" : { "endpoints" : { + "fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "es-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, "us-gov-west-1" : { } } }, @@ -3093,6 +3936,11 @@ "us-gov-west-1" : { } } }, + "firehose" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, "glacier" : { "endpoints" : { "us-gov-east-1" : { }, @@ -3101,6 +3949,11 @@ } } }, + "glue" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, "guardduty" : { "defaults" : { "protocols" : [ "https" ] @@ -3146,6 +3999,12 @@ }, "kms" : { "endpoints" : { + "ProdFips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "kms-fips.us-gov-west-1.amazonaws.com" + }, "us-gov-east-1" : { }, "us-gov-west-1" : { } } @@ -3156,12 +4015,23 @@ "us-gov-west-1" : { } } }, + "license-manager" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, "logs" : { "endpoints" : { "us-gov-east-1" : { }, "us-gov-west-1" : { } } }, + "mediaconvert" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, "metering.marketplace" : { "defaults" : { "credentialScope" : { @@ -3178,6 +4048,18 @@ "us-gov-west-1" : { } } }, + "organizations" : { + "endpoints" : { + "aws-us-gov-global" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "organizations.us-gov-west-1.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-us-gov-global" + }, "polly" : { "endpoints" : { "us-gov-west-1" : { } @@ -3262,6 +4144,27 @@ } } }, + "secretsmanager" : { + "endpoints" : { + "us-gov-west-1" : { }, + "us-gov-west-1-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "secretsmanager-fips.us-gov-west-1.amazonaws.com" + } + } + }, + "serverlessrepo" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "us-gov-west-1" : { + "protocols" : [ "https" ] + } + } + }, "sms" : { "endpoints" : { "us-gov-east-1" : { }, @@ -3270,6 +4173,7 @@ }, "snowball" : { "endpoints" : { + "us-gov-east-1" : { }, "us-gov-west-1" : { } } }, @@ -3315,6 +4219,12 @@ }, "endpoints" : { "us-gov-east-1" : { }, + "us-gov-east-1-fips" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "dynamodb.us-gov-east-1.amazonaws.com" + }, "us-gov-west-1" : { }, "us-gov-west-1-fips" : { "credentialScope" : { @@ -3355,6 +4265,16 @@ "hostname" : "translate-fips.us-gov-west-1.amazonaws.com" } } + }, + "waf-regional" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "workspaces" : { + "endpoints" : { + "us-gov-west-1" : { } + } } } } ], diff --git a/bin/botocore/data/es/2015-01-01/paginators-1.json b/bin/botocore/data/es/2015-01-01/paginators-1.json index b6fefece..4c0f24e4 100644 --- a/bin/botocore/data/es/2015-01-01/paginators-1.json +++ b/bin/botocore/data/es/2015-01-01/paginators-1.json @@ -11,6 +11,24 @@ "output_token": "NextToken", "input_token": "NextToken", "limit_key": "MaxResults" + }, + "DescribeReservedElasticsearchInstanceOfferings": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ReservedElasticsearchInstanceOfferings" + }, + "DescribeReservedElasticsearchInstances": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ReservedElasticsearchInstances" + }, + "GetUpgradeHistory": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "UpgradeHistories" } } } diff --git a/bin/botocore/data/es/2015-01-01/service-2.json b/bin/botocore/data/es/2015-01-01/service-2.json index dc2568ff..8c42b356 100644 --- a/bin/botocore/data/es/2015-01-01/service-2.json +++ b/bin/botocore/data/es/2015-01-01/service-2.json @@ -982,6 +982,10 @@ "shape":"Boolean", "documentation":"

A boolean value to indicate whether zone awareness is enabled. See About Zone Awareness for more information.

" }, + "ZoneAwarenessConfig":{ + "shape":"ZoneAwarenessConfig", + "documentation":"

Specifies the zone awareness configuration for a domain when zone awareness is enabled.

" + }, "DedicatedMasterType":{ "shape":"ESPartitionInstanceType", "documentation":"

The instance type for a dedicated master node.

" @@ -2259,6 +2263,16 @@ "gp2", "io1" ] + }, + "ZoneAwarenessConfig":{ + "type":"structure", + "members":{ + "AvailabilityZoneCount":{ + "shape":"IntegerClass", + "documentation":"

An integer value to indicate the number of availability zones for a domain when zone awareness is enabled. This should be equal to number of subnets if VPC endpoints is enabled

" + } + }, + "documentation":"

Specifies the zone awareness configuration for the domain cluster, such as the number of availability zones.

" } }, "documentation":"Amazon Elasticsearch Configuration Service

Use the Amazon Elasticsearch configuration API to create, configure, and manage Elasticsearch domains.

The endpoint for configuration service requests is region-specific: es.region.amazonaws.com. For example, es.us-east-1.amazonaws.com. For a current list of supported regions and endpoints, see Regions and Endpoints.

" diff --git a/bin/botocore/data/events/2015-10-07/paginators-1.json b/bin/botocore/data/events/2015-10-07/paginators-1.json index ea142457..501a3229 100644 --- a/bin/botocore/data/events/2015-10-07/paginators-1.json +++ b/bin/botocore/data/events/2015-10-07/paginators-1.json @@ -1,3 +1,22 @@ { - "pagination": {} + "pagination": { + "ListRuleNamesByTarget": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "Limit", + "result_key": "RuleNames" + }, + "ListRules": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "Limit", + "result_key": "Rules" + }, + "ListTargetsByRule": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "Limit", + "result_key": "Targets" + } + } } diff --git a/bin/botocore/data/events/2015-10-07/service-2.json b/bin/botocore/data/events/2015-10-07/service-2.json index 4f531b8e..08d6a37f 100644 --- a/bin/botocore/data/events/2015-10-07/service-2.json +++ b/bin/botocore/data/events/2015-10-07/service-2.json @@ -110,6 +110,20 @@ ], "documentation":"

Lists your Amazon CloudWatch Events rules. You can either list all the rules or you can provide a prefix to match to the rule names.

ListRules does not list the targets of a rule. To see the targets associated with a rule, use ListTargetsByRule.

" }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalException"} + ], + "documentation":"

Displays the tags associated with a CloudWatch Events resource. In CloudWatch Events, rules can be tagged.

" + }, "ListTargetsByRule":{ "name":"ListTargetsByRule", "http":{ @@ -150,7 +164,7 @@ {"shape":"InternalException"}, {"shape":"ConcurrentModificationException"} ], - "documentation":"

Running PutPermission permits the specified AWS account or AWS organization to put events to your account's default event bus. CloudWatch Events rules in your account are triggered by these events arriving to your default event bus.

For another account to send events to your account, that external account must have a CloudWatch Events rule with your account's default event bus as a target.

To enable multiple AWS accounts to put events to your default event bus, run PutPermission once for each of these accounts. Or, if all the accounts are members of the same AWS organization, you can run PutPermission once specifying Principal as \"*\" and specifying the AWS organization ID in Condition, to grant permissions to all accounts in that organization.

If you grant permissions using an organization, then accounts in that organization must specify a RoleArn with proper permissions when they use PutTarget to add your account's event bus as a target. For more information, see Sending and Receiving Events Between AWS Accounts in the Amazon CloudWatch Events User Guide.

The permission policy on the default event bus cannot exceed 10 KB in size.

" + "documentation":"

Running PutPermission permits the specified AWS account or AWS organization to put events to your account's default event bus. CloudWatch Events rules in your account are triggered by these events arriving to your default event bus.

For another account to send events to your account, that external account must have a CloudWatch Events rule with your account's default event bus as a target.

To enable multiple AWS accounts to put events to your default event bus, run PutPermission once for each of these accounts. Or, if all the accounts are members of the same AWS organization, you can run PutPermission once specifying Principal as \"*\" and specifying the AWS organization ID in Condition, to grant permissions to all accounts in that organization.

If you grant permissions using an organization, then accounts in that organization must specify a RoleArn with proper permissions when they use PutTarget to add your account's event bus as a target. For more information, see Sending and Receiving Events Between AWS Accounts in the Amazon CloudWatch Events User Guide.

The permission policy on the default event bus cannot exceed 10 KB in size.

" }, "PutRule":{ "name":"PutRule", @@ -167,7 +181,7 @@ {"shape":"ManagedRuleException"}, {"shape":"InternalException"} ], - "documentation":"

Creates or updates the specified rule. Rules are enabled by default, or based on value of the state. You can disable a rule using DisableRule.

If you are updating an existing rule, the rule is replaced with what you specify in this PutRule command. If you omit arguments in PutRule, the old values for those arguments are not kept. Instead, they are replaced with null values.

When you create or update a rule, incoming events might not immediately start matching to new or updated rules. Allow a short period of time for changes to take effect.

A rule must contain at least an EventPattern or ScheduleExpression. Rules with EventPatterns are triggered when a matching event is observed. Rules with ScheduleExpressions self-trigger based on the given schedule. A rule can have both an EventPattern and a ScheduleExpression, in which case the rule triggers on matching events as well as on a schedule.

Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). However, CloudWatch Events uses an exact match in event patterns and rules. Be sure to use the correct ARN characters when creating event patterns so that they match the ARN syntax in the event you want to match.

In CloudWatch Events, it is possible to create rules that lead to infinite loops, where a rule is fired repeatedly. For example, a rule might detect that ACLs have changed on an S3 bucket, and trigger software to change them to the desired state. If the rule is not written carefully, the subsequent change to the ACLs fires the rule again, creating an infinite loop.

To prevent this, write the rules so that the triggered actions do not re-fire the same rule. For example, your rule could fire only if ACLs are found to be in a bad state, instead of after any change.

An infinite loop can quickly cause higher than expected charges. We recommend that you use budgeting, which alerts you when charges exceed your specified limit. For more information, see Managing Your Costs with Budgets.

" + "documentation":"

Creates or updates the specified rule. Rules are enabled by default, or based on value of the state. You can disable a rule using DisableRule.

If you are updating an existing rule, the rule is replaced with what you specify in this PutRule command. If you omit arguments in PutRule, the old values for those arguments are not kept. Instead, they are replaced with null values.

When you create or update a rule, incoming events might not immediately start matching to new or updated rules. Allow a short period of time for changes to take effect.

A rule must contain at least an EventPattern or ScheduleExpression. Rules with EventPatterns are triggered when a matching event is observed. Rules with ScheduleExpressions self-trigger based on the given schedule. A rule can have both an EventPattern and a ScheduleExpression, in which case the rule triggers on matching events as well as on a schedule.

When you initially create a rule, you can optionally assign one or more tags to the rule. Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only rules with certain tag values. To use the PutRule operation and assign tags, you must have both the events:PutRule and events:TagResource permissions.

If you are updating an existing rule, any tags you specify in the PutRule operation are ignored. To update the tags of an existing rule, use TagResource and UntagResource.

Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). However, CloudWatch Events uses an exact match in event patterns and rules. Be sure to use the correct ARN characters when creating event patterns so that they match the ARN syntax in the event you want to match.

In CloudWatch Events, it is possible to create rules that lead to infinite loops, where a rule is fired repeatedly. For example, a rule might detect that ACLs have changed on an S3 bucket, and trigger software to change them to the desired state. If the rule is not written carefully, the subsequent change to the ACLs fires the rule again, creating an infinite loop.

To prevent this, write the rules so that the triggered actions do not re-fire the same rule. For example, your rule could fire only if ACLs are found to be in a bad state, instead of after any change.

An infinite loop can quickly cause higher than expected charges. We recommend that you use budgeting, which alerts you when charges exceed your specified limit. For more information, see Managing Your Costs with Budgets.

" }, "PutTargets":{ "name":"PutTargets", @@ -184,7 +198,7 @@ {"shape":"ManagedRuleException"}, {"shape":"InternalException"} ], - "documentation":"

Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule.

Targets are the resources that are invoked when a rule is triggered.

You can configure the following as targets for CloudWatch Events:

  • EC2 instances

  • SSM Run Command

  • SSM Automation

  • AWS Lambda functions

  • Data streams in Amazon Kinesis Data Streams

  • Data delivery streams in Amazon Kinesis Data Firehose

  • Amazon ECS tasks

  • AWS Step Functions state machines

  • AWS Batch jobs

  • AWS CodeBuild projects

  • Pipelines in AWS CodePipeline

  • Amazon Inspector assessment templates

  • Amazon SNS topics

  • Amazon SQS queues, including FIFO queues

  • The default event bus of another AWS account

Creating rules with built-in targets is supported only in the AWS Management Console. The built-in targets are EC2 CreateSnapshot API call, EC2 RebootInstances API call, EC2 StopInstances API call, and EC2 TerminateInstances API call.

For some target types, PutTargets provides target-specific parameters. If the target is a Kinesis data stream, you can optionally specify which shard the event goes to by using the KinesisParameters argument. To invoke a command on multiple EC2 instances with one rule, you can use the RunCommandParameters field.

To be able to make API calls against the resources that you own, Amazon CloudWatch Events needs the appropriate permissions. For AWS Lambda and Amazon SNS resources, CloudWatch Events relies on resource-based policies. For EC2 instances, Kinesis data streams, and AWS Step Functions state machines, CloudWatch Events relies on IAM roles that you specify in the RoleARN argument in PutTargets. For more information, see Authentication and Access Control in the Amazon CloudWatch Events User Guide.

If another AWS account is in the same region and has granted you permission (using PutPermission), you can send events to that account. Set that account's event bus as a target of the rules in your account. To send the matched events to the other account, specify that account's event bus as the Arn value when you run PutTargets. If your account sends events to another account, your account is charged for each sent event. Each event sent to another account is charged as a custom event. The account receiving the event is not charged. For more information, see Amazon CloudWatch Pricing.

If you are setting the event bus of another account as the target, and that account granted permission to your account through an organization instead of directly by the account ID, then you must specify a RoleArn with proper permissions in the Target structure. For more information, see Sending and Receiving Events Between AWS Accounts in the Amazon CloudWatch Events User Guide.

For more information about enabling cross-account events, see PutPermission.

Input, InputPath, and InputTransformer are mutually exclusive and optional parameters of a target. When a rule is triggered due to a matched event:

  • If none of the following arguments are specified for a target, then the entire event is passed to the target in JSON format (unless the target is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from the event is passed to the target).

  • If Input is specified in the form of valid JSON, then the matched event is overridden with this constant.

  • If InputPath is specified in the form of JSONPath (for example, $.detail), then only the part of the event specified in the path is passed to the target (for example, only the detail part of the event is passed).

  • If InputTransformer is specified, then one or more specified JSONPaths are extracted from the event and used as values in a template that you specify as the input to the target.

When you specify InputPath or InputTransformer, you must use JSON dot notation, not bracket notation.

When you add targets to a rule and the associated rule triggers soon after, new or updated targets might not be immediately invoked. Allow a short period of time for changes to take effect.

This action can partially fail if too many requests are made at the same time. If that happens, FailedEntryCount is non-zero in the response and each entry in FailedEntries provides the ID of the failed target and the error code.

" + "documentation":"

Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule.

Targets are the resources that are invoked when a rule is triggered.

You can configure the following as targets for CloudWatch Events:

  • EC2 instances

  • SSM Run Command

  • SSM Automation

  • AWS Lambda functions

  • Data streams in Amazon Kinesis Data Streams

  • Data delivery streams in Amazon Kinesis Data Firehose

  • Amazon ECS tasks

  • AWS Step Functions state machines

  • AWS Batch jobs

  • AWS CodeBuild projects

  • Pipelines in AWS CodePipeline

  • Amazon Inspector assessment templates

  • Amazon SNS topics

  • Amazon SQS queues, including FIFO queues

  • The default event bus of another AWS account

Creating rules with built-in targets is supported only in the AWS Management Console. The built-in targets are EC2 CreateSnapshot API call, EC2 RebootInstances API call, EC2 StopInstances API call, and EC2 TerminateInstances API call.

For some target types, PutTargets provides target-specific parameters. If the target is a Kinesis data stream, you can optionally specify which shard the event goes to by using the KinesisParameters argument. To invoke a command on multiple EC2 instances with one rule, you can use the RunCommandParameters field.

To be able to make API calls against the resources that you own, Amazon CloudWatch Events needs the appropriate permissions. For AWS Lambda and Amazon SNS resources, CloudWatch Events relies on resource-based policies. For EC2 instances, Kinesis data streams, and AWS Step Functions state machines, CloudWatch Events relies on IAM roles that you specify in the RoleARN argument in PutTargets. For more information, see Authentication and Access Control in the Amazon CloudWatch Events User Guide.

If another AWS account is in the same region and has granted you permission (using PutPermission), you can send events to that account. Set that account's event bus as a target of the rules in your account. To send the matched events to the other account, specify that account's event bus as the Arn value when you run PutTargets. If your account sends events to another account, your account is charged for each sent event. Each event sent to another account is charged as a custom event. The account receiving the event is not charged. For more information, see Amazon CloudWatch Pricing.

If you are setting the event bus of another account as the target, and that account granted permission to your account through an organization instead of directly by the account ID, then you must specify a RoleArn with proper permissions in the Target structure. For more information, see Sending and Receiving Events Between AWS Accounts in the Amazon CloudWatch Events User Guide.

For more information about enabling cross-account events, see PutPermission.

Input, InputPath, and InputTransformer are mutually exclusive and optional parameters of a target. When a rule is triggered due to a matched event:

  • If none of the following arguments are specified for a target, then the entire event is passed to the target in JSON format (unless the target is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from the event is passed to the target).

  • If Input is specified in the form of valid JSON, then the matched event is overridden with this constant.

  • If InputPath is specified in the form of JSONPath (for example, $.detail), then only the part of the event specified in the path is passed to the target (for example, only the detail part of the event is passed).

  • If InputTransformer is specified, then one or more specified JSONPaths are extracted from the event and used as values in a template that you specify as the input to the target.

When you specify InputPath or InputTransformer, you must use JSON dot notation, not bracket notation.

When you add targets to a rule and the associated rule triggers soon after, new or updated targets might not be immediately invoked. Allow a short period of time for changes to take effect.

This action can partially fail if too many requests are made at the same time. If that happens, FailedEntryCount is non-zero in the response and each entry in FailedEntries provides the ID of the failed target and the error code.

" }, "RemovePermission":{ "name":"RemovePermission", @@ -216,6 +230,22 @@ ], "documentation":"

Removes the specified targets from the specified rule. When the rule is triggered, those targets are no longer be invoked.

When you remove a target, when the associated rule triggers, removed targets might continue to be invoked. Allow a short period of time for changes to take effect.

This action can partially fail if too many requests are made at the same time. If that happens, FailedEntryCount is non-zero in the response and each entry in FailedEntries provides the ID of the failed target and the error code.

" }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InternalException"}, + {"shape":"ManagedRuleException"} + ], + "documentation":"

Assigns one or more tags (key-value pairs) to the specified CloudWatch Events resource. Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values. In CloudWatch Events, rules can be tagged.

Tags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters.

You can use the TagResource action with a rule that already has tags. If you specify a new tag key for the rule, this tag is appended to the list of tags associated with the rule. If you specify a tag key that is already associated with the rule, the new tag value that you specify replaces the previous value for that tag.

You can associate as many as 50 tags with a resource.

" + }, "TestEventPattern":{ "name":"TestEventPattern", "http":{ @@ -229,6 +259,22 @@ {"shape":"InternalException"} ], "documentation":"

Tests whether the specified event pattern matches the provided event.

Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). However, CloudWatch Events uses an exact match in event patterns and rules. Be sure to use the correct ARN characters when creating event patterns so that they match the ARN syntax in the event you want to match.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ManagedRuleException"} + ], + "documentation":"

Removes one or more tags from the specified CloudWatch Events resource. In CloudWatch Events, rules can be tagged.

" } }, "shapes":{ @@ -405,7 +451,7 @@ }, "EventPattern":{ "shape":"EventPattern", - "documentation":"

The event pattern. For more information, see Events and Event Patterns in the Amazon CloudWatch Events User Guide.

" + "documentation":"

The event pattern. For more information, see Events and Event Patterns in the Amazon CloudWatch Events User Guide.

" }, "ScheduleExpression":{ "shape":"ScheduleExpression", @@ -453,7 +499,7 @@ }, "LaunchType":{ "shape":"LaunchType", - "documentation":"

Specifies the launch type on which your task is running. The launch type that you specify here must match one of the launch type (compatibilities) of the target task. The FARGATE value is supported only in the Regions where AWS Fargate with Amazon ECS is supported. For more information, see AWS Fargate on Amazon ECS in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

Specifies the launch type on which your task is running. The launch type that you specify here must match one of the launch type (compatibilities) of the target task. The FARGATE value is supported only in the Regions where AWS Fargate with Amazon ECS is supported. For more information, see AWS Fargate on Amazon ECS in the Amazon Elastic Container Service Developer Guide.

" }, "NetworkConfiguration":{ "shape":"NetworkConfiguration", @@ -461,7 +507,7 @@ }, "PlatformVersion":{ "shape":"String", - "documentation":"

Specifies the platform version for the task. Specify only the numeric portion of the platform version, such as 1.1.0.

This structure is used only if LaunchType is FARGATE. For more information about valid platform versions, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

Specifies the platform version for the task. Specify only the numeric portion of the platform version, such as 1.1.0.

This structure is used only if LaunchType is FARGATE. For more information about valid platform versions, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" }, "Group":{ "shape":"String", @@ -533,7 +579,7 @@ "members":{ "PartitionKeyPath":{ "shape":"TargetPartitionKeyPath", - "documentation":"

The JSON path to be extracted from the event and used as the partition key. For more information, see Amazon Kinesis Streams Key Concepts in the Amazon Kinesis Streams Developer Guide.

" + "documentation":"

The JSON path to be extracted from the event and used as the partition key. For more information, see Amazon Kinesis Streams Key Concepts in the Amazon Kinesis Streams Developer Guide.

" } }, "documentation":"

This object enables you to specify a JSON path to extract from the event and use as the partition key for the Amazon Kinesis data stream, so that you can control the shard to which the event goes. If you do not include this parameter, the default is to use the eventId as the partition key.

" @@ -622,6 +668,25 @@ } } }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"Arn", + "documentation":"

The ARN of the CloudWatch Events rule for which you want to view tags.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

The list of tag keys and values associated with the rule you specified

" + } + } + }, "ListTargetsByRuleRequest":{ "type":"structure", "required":["Rule"], @@ -662,7 +727,7 @@ "type":"structure", "members":{ }, - "documentation":"

This rule was created by an AWS service on behalf of your account. It is managed by that service. If you see this error in response to DeleteRule or RemoveTargets, you can use the Force parameter in those calls to delete the rule or remove targets from the rule. You cannot modify these managed rules by using DisableRule, EnableRule, PutTargets, or PutRule.

", + "documentation":"

This rule was created by an AWS service on behalf of your account. It is managed by that service. If you see this error in response to DeleteRule or RemoveTargets, you can use the Force parameter in those calls to delete the rule or remove targets from the rule. You cannot modify these managed rules by using DisableRule, EnableRule, PutTargets, PutRule, TagResource, or UntagResource.

", "exception":true }, "MessageGroupId":{"type":"string"}, @@ -793,7 +858,7 @@ }, "Condition":{ "shape":"Condition", - "documentation":"

This parameter enables you to limit the permission to accounts that fulfill a certain condition, such as being a member of a certain AWS organization. For more information about AWS Organizations, see What Is AWS Organizations in the AWS Organizations User Guide.

If you specify Condition with an AWS organization ID, and specify \"*\" as the value for Principal, you grant permission to all the accounts in the named organization.

The Condition is a JSON string which must contain Type, Key, and Value fields.

" + "documentation":"

This parameter enables you to limit the permission to accounts that fulfill a certain condition, such as being a member of a certain AWS organization. For more information about AWS Organizations, see What Is AWS Organizations in the AWS Organizations User Guide.

If you specify Condition with an AWS organization ID, and specify \"*\" as the value for Principal, you grant permission to all the accounts in the named organization.

The Condition is a JSON string which must contain Type, Key, and Value fields.

" } } }, @@ -811,7 +876,7 @@ }, "EventPattern":{ "shape":"EventPattern", - "documentation":"

The event pattern. For more information, see Events and Event Patterns in the Amazon CloudWatch Events User Guide.

" + "documentation":"

The event pattern. For more information, see Events and Event Patterns in the Amazon CloudWatch Events User Guide.

" }, "State":{ "shape":"RuleState", @@ -824,6 +889,10 @@ "RoleArn":{ "shape":"RoleArn", "documentation":"

The Amazon Resource Name (ARN) of the IAM role associated with the rule.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The list of key-value pairs to associate with the rule.

" } } }, @@ -979,7 +1048,7 @@ }, "EventPattern":{ "shape":"EventPattern", - "documentation":"

The event pattern of the rule. For more information, see Events and Event Patterns in the Amazon CloudWatch Events User Guide.

" + "documentation":"

The event pattern of the rule. For more information, see Events and Event Patterns in the Amazon CloudWatch Events User Guide.

" }, "State":{ "shape":"RuleState", @@ -1111,6 +1180,64 @@ "type":"list", "member":{"shape":"String"} }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

A string you can use to assign a value. The combination of tag keys and values can help you organize and categorize your resources.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The value for the specified tag key.

" + } + }, + "documentation":"

A key-value pair associated with an AWS resource. In CloudWatch Events, rules support tagging.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "Tags" + ], + "members":{ + "ResourceARN":{ + "shape":"Arn", + "documentation":"

The ARN of the CloudWatch Events rule that you're adding tags to.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The list of key-value pairs to associate with the rule.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, "Target":{ "type":"structure", "required":[ @@ -1152,18 +1279,18 @@ }, "EcsParameters":{ "shape":"EcsParameters", - "documentation":"

Contains the Amazon ECS task definition and task count to be used, if the event target is an Amazon ECS task. For more information about Amazon ECS tasks, see Task Definitions in the Amazon EC2 Container Service Developer Guide.

" + "documentation":"

Contains the Amazon ECS task definition and task count to be used, if the event target is an Amazon ECS task. For more information about Amazon ECS tasks, see Task Definitions in the Amazon EC2 Container Service Developer Guide.

" }, "BatchParameters":{ "shape":"BatchParameters", - "documentation":"

If the event target is an AWS Batch job, this contains the job definition, job name, and other parameters. For more information, see Jobs in the AWS Batch User Guide.

" + "documentation":"

If the event target is an AWS Batch job, this contains the job definition, job name, and other parameters. For more information, see Jobs in the AWS Batch User Guide.

" }, "SqsParameters":{ "shape":"SqsParameters", "documentation":"

Contains the message group ID to use when the target is a FIFO queue.

If you specify an SQS FIFO queue as a target, the queue must have content-based deduplication enabled.

" } }, - "documentation":"

Targets are the resources to be invoked when a rule is triggered. For a complete list of services and resources that can be set as a target, see PutTargets.

If you are setting the event bus of another account as the target, and that account granted permission to your account through an organization instead of directly by the account ID, then you must specify a RoleArn with proper permissions in the Target structure. For more information, see Sending and Receiving Events Between AWS Accounts in the Amazon CloudWatch Events User Guide.

" + "documentation":"

Targets are the resources to be invoked when a rule is triggered. For a complete list of services and resources that can be set as a target, see PutTargets.

If you are setting the event bus of another account as the target, and that account granted permission to your account through an organization instead of directly by the account ID, then you must specify a RoleArn with proper permissions in the Target structure. For more information, see Sending and Receiving Events Between AWS Accounts in the Amazon CloudWatch Events User Guide.

" }, "TargetArn":{ "type":"string", @@ -1209,7 +1336,7 @@ "members":{ "EventPattern":{ "shape":"EventPattern", - "documentation":"

The event pattern. For more information, see Events and Event Patterns in the Amazon CloudWatch Events User Guide.

" + "documentation":"

The event pattern. For more information, see Events and Event Patterns in the Amazon CloudWatch Events User Guide.

" }, "Event":{ "shape":"String", @@ -1236,7 +1363,29 @@ "key":{"shape":"InputTransformerPathKey"}, "value":{"shape":"TargetInputPath"}, "max":10 + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeys" + ], + "members":{ + "ResourceARN":{ + "shape":"Arn", + "documentation":"

The ARN of the CloudWatch Events rule from which you are removing tags.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

The list of tag keys to remove from the resource.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } } }, - "documentation":"

Amazon CloudWatch Events helps you to respond to state changes in your AWS resources. When your resources change state, they automatically send events into an event stream. You can create rules that match selected events in the stream and route them to targets to take action. You can also use rules to take action on a predetermined schedule. For example, you can configure rules to:

  • Automatically invoke an AWS Lambda function to update DNS entries when an event notifies you that Amazon EC2 instance enters the running state.

  • Direct specific API records from AWS CloudTrail to an Amazon Kinesis data stream for detailed analysis of potential security or availability risks.

  • Periodically invoke a built-in target to create a snapshot of an Amazon EBS volume.

For more information about the features of Amazon CloudWatch Events, see the Amazon CloudWatch Events User Guide.

" + "documentation":"

Amazon CloudWatch Events helps you to respond to state changes in your AWS resources. When your resources change state, they automatically send events into an event stream. You can create rules that match selected events in the stream and route them to targets to take action. You can also use rules to take action on a predetermined schedule. For example, you can configure rules to:

  • Automatically invoke an AWS Lambda function to update DNS entries when an event notifies you that Amazon EC2 instance enters the running state.

  • Direct specific API records from AWS CloudTrail to an Amazon Kinesis data stream for detailed analysis of potential security or availability risks.

  • Periodically invoke a built-in target to create a snapshot of an Amazon EBS volume.

For more information about the features of Amazon CloudWatch Events, see the Amazon CloudWatch Events User Guide.

" } diff --git a/bin/botocore/data/firehose/2015-08-04/service-2.json b/bin/botocore/data/firehose/2015-08-04/service-2.json index 9a100c24..8a7fc705 100644 --- a/bin/botocore/data/firehose/2015-08-04/service-2.json +++ b/bin/botocore/data/firehose/2015-08-04/service-2.json @@ -26,7 +26,7 @@ {"shape":"LimitExceededException"}, {"shape":"ResourceInUseException"} ], - "documentation":"

Creates a Kinesis Data Firehose delivery stream.

By default, you can create up to 50 delivery streams per AWS Region.

This is an asynchronous operation that immediately returns. The initial status of the delivery stream is CREATING. After the delivery stream is created, its status is ACTIVE and it now accepts data. Attempts to send data to a delivery stream that is not in the ACTIVE state cause an exception. To check the state of a delivery stream, use DescribeDeliveryStream.

A Kinesis Data Firehose delivery stream can be configured to receive records directly from providers using PutRecord or PutRecordBatch, or it can be configured to use an existing Kinesis stream as its source. To specify a Kinesis data stream as input, set the DeliveryStreamType parameter to KinesisStreamAsSource, and provide the Kinesis stream Amazon Resource Name (ARN) and role ARN in the KinesisStreamSourceConfiguration parameter.

A delivery stream is configured with a single destination: Amazon S3, Amazon ES, Amazon Redshift, or Splunk. You must specify only one of the following destination configuration parameters: ExtendedS3DestinationConfiguration, S3DestinationConfiguration, ElasticsearchDestinationConfiguration, RedshiftDestinationConfiguration, or SplunkDestinationConfiguration.

When you specify S3DestinationConfiguration, you can also provide the following optional values: BufferingHints, EncryptionConfiguration, and CompressionFormat. By default, if no BufferingHints value is provided, Kinesis Data Firehose buffers data up to 5 MB or for 5 minutes, whichever condition is satisfied first. BufferingHints is a hint, so there are some cases where the service cannot adhere to these conditions strictly. For example, record boundaries might be such that the size is a little over or under the configured buffering size. By default, no encryption is performed. We strongly recommend that you enable encryption to ensure secure data storage in Amazon S3.

A few notes about Amazon Redshift as a destination:

  • An Amazon Redshift destination requires an S3 bucket as intermediate location. Kinesis Data Firehose first delivers data to Amazon S3 and then uses COPY syntax to load data into an Amazon Redshift table. This is specified in the RedshiftDestinationConfiguration.S3Configuration parameter.

  • The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationConfiguration.S3Configuration because the Amazon Redshift COPY operation that reads from the S3 bucket doesn't support these compression formats.

  • We strongly recommend that you use the user name and password you provide exclusively with Kinesis Data Firehose, and that the permissions for the account are restricted for Amazon Redshift INSERT permissions.

Kinesis Data Firehose assumes the IAM role that is configured as part of the destination. The role should allow the Kinesis Data Firehose principal to assume the role, and the role should have permissions that allow the service to deliver the data. For more information, see Grant Kinesis Data Firehose Access to an Amazon S3 Destination in the Amazon Kinesis Data Firehose Developer Guide.

" + "documentation":"

Creates a Kinesis Data Firehose delivery stream.

By default, you can create up to 50 delivery streams per AWS Region.

This is an asynchronous operation that immediately returns. The initial status of the delivery stream is CREATING. After the delivery stream is created, its status is ACTIVE and it now accepts data. Attempts to send data to a delivery stream that is not in the ACTIVE state cause an exception. To check the state of a delivery stream, use DescribeDeliveryStream.

A Kinesis Data Firehose delivery stream can be configured to receive records directly from providers using PutRecord or PutRecordBatch, or it can be configured to use an existing Kinesis stream as its source. To specify a Kinesis data stream as input, set the DeliveryStreamType parameter to KinesisStreamAsSource, and provide the Kinesis stream Amazon Resource Name (ARN) and role ARN in the KinesisStreamSourceConfiguration parameter.

A delivery stream is configured with a single destination: Amazon S3, Amazon ES, Amazon Redshift, or Splunk. You must specify only one of the following destination configuration parameters: ExtendedS3DestinationConfiguration, S3DestinationConfiguration, ElasticsearchDestinationConfiguration, RedshiftDestinationConfiguration, or SplunkDestinationConfiguration.

When you specify S3DestinationConfiguration, you can also provide the following optional values: BufferingHints, EncryptionConfiguration, and CompressionFormat. By default, if no BufferingHints value is provided, Kinesis Data Firehose buffers data up to 5 MB or for 5 minutes, whichever condition is satisfied first. BufferingHints is a hint, so there are some cases where the service cannot adhere to these conditions strictly. For example, record boundaries might be such that the size is a little over or under the configured buffering size. By default, no encryption is performed. We strongly recommend that you enable encryption to ensure secure data storage in Amazon S3.

A few notes about Amazon Redshift as a destination:

  • An Amazon Redshift destination requires an S3 bucket as intermediate location. Kinesis Data Firehose first delivers data to Amazon S3 and then uses COPY syntax to load data into an Amazon Redshift table. This is specified in the RedshiftDestinationConfiguration.S3Configuration parameter.

  • The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationConfiguration.S3Configuration because the Amazon Redshift COPY operation that reads from the S3 bucket doesn't support these compression formats.

  • We strongly recommend that you use the user name and password you provide exclusively with Kinesis Data Firehose, and that the permissions for the account are restricted for Amazon Redshift INSERT permissions.

Kinesis Data Firehose assumes the IAM role that is configured as part of the destination. The role should allow the Kinesis Data Firehose principal to assume the role, and the role should have permissions that allow the service to deliver the data. For more information, see Grant Kinesis Data Firehose Access to an Amazon S3 Destination in the Amazon Kinesis Data Firehose Developer Guide.

" }, "DeleteDeliveryStream":{ "name":"DeleteDeliveryStream", @@ -63,7 +63,7 @@ }, "input":{"shape":"ListDeliveryStreamsInput"}, "output":{"shape":"ListDeliveryStreamsOutput"}, - "documentation":"

Lists your delivery streams in alphabetical order of their names.

The number of delivery streams might be too large to return using a single call to ListDeliveryStreams. You can limit the number of delivery streams returned, using the Limit parameter. To determine whether there are more delivery streams to list, check the value of HasMoreDeliveryStreams in the output. If there are more delivery streams to list, you can request them by calling this operation again and setting the ExclusiveStartDeliveryStreamName parameter to the name of the last delivery stream returned in the last call.

" + "documentation":"

Lists your delivery streams in alphabetical order of their names.

The number of delivery streams might be too large to return using a single call to ListDeliveryStreams. You can limit the number of delivery streams returned, using the Limit parameter. To determine whether there are more delivery streams to list, check the value of HasMoreDeliveryStreams in the output. If there are more delivery streams to list, you can request them by calling this operation again and setting the ExclusiveStartDeliveryStreamName parameter to the name of the last delivery stream returned in the last call.

" }, "ListTagsForDeliveryStream":{ "name":"ListTagsForDeliveryStream", @@ -108,7 +108,7 @@ {"shape":"InvalidArgumentException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Writes multiple data records into a delivery stream in a single call, which can achieve higher throughput per producer than when writing single records. To write single data records into a delivery stream, use PutRecord. Applications using these operations are referred to as producers.

By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. If you use PutRecord and PutRecordBatch, the limits are an aggregate across these two operations for each delivery stream. For more information about limits, see Amazon Kinesis Data Firehose Limits.

Each PutRecordBatch request supports up to 500 records. Each record in the request can be as large as 1,000 KB (before 64-bit encoding), up to a limit of 4 MB for the entire request. These limits cannot be changed.

You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data. For example, it could be a segment from a log file, geographic location data, website clickstream data, and so on.

Kinesis Data Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\\n) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination.

The PutRecordBatch response includes a count of failed records, FailedPutCount, and an array of responses, RequestResponses. Even if the PutRecordBatch call succeeds, the value of FailedPutCount may be greater than 0, indicating that there are records for which the operation didn't succeed. Each entry in the RequestResponses array provides additional information about the processed record. It directly correlates with a record in the request array using the same ordering, from the top to the bottom. The response array always includes the same number of records as the request array. RequestResponses includes both successfully and unsuccessfully processed records. Kinesis Data Firehose tries to process all records in each PutRecordBatch request. A single record failure does not stop the processing of subsequent records.

A successfully processed record includes a RecordId value, which is unique for the record. An unsuccessfully processed record includes ErrorCode and ErrorMessage values. ErrorCode reflects the type of error, and is one of the following values: ServiceUnavailableException or InternalFailure. ErrorMessage provides more detailed information about the error.

If there is an internal server error or a timeout, the write might have completed or it might have failed. If FailedPutCount is greater than 0, retry the request, resending only those records that might have failed processing. This minimizes the possible duplicate records and also reduces the total bytes sent (and corresponding charges). We recommend that you handle any duplicates at the destination.

If PutRecordBatch throws ServiceUnavailableException, back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

Data records sent to Kinesis Data Firehose are stored for 24 hours from the time they are added to a delivery stream as it attempts to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

Don't concatenate two or more base64 strings to form the data fields of your records. Instead, concatenate the raw data, then perform base64 encoding.

" + "documentation":"

Writes multiple data records into a delivery stream in a single call, which can achieve higher throughput per producer than when writing single records. To write single data records into a delivery stream, use PutRecord. Applications using these operations are referred to as producers.

By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. If you use PutRecord and PutRecordBatch, the limits are an aggregate across these two operations for each delivery stream. For more information about limits, see Amazon Kinesis Data Firehose Limits.

Each PutRecordBatch request supports up to 500 records. Each record in the request can be as large as 1,000 KB (before 64-bit encoding), up to a limit of 4 MB for the entire request. These limits cannot be changed.

You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data. For example, it could be a segment from a log file, geographic location data, website clickstream data, and so on.

Kinesis Data Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\\n) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination.

The PutRecordBatch response includes a count of failed records, FailedPutCount, and an array of responses, RequestResponses. Even if the PutRecordBatch call succeeds, the value of FailedPutCount may be greater than 0, indicating that there are records for which the operation didn't succeed. Each entry in the RequestResponses array provides additional information about the processed record. It directly correlates with a record in the request array using the same ordering, from the top to the bottom. The response array always includes the same number of records as the request array. RequestResponses includes both successfully and unsuccessfully processed records. Kinesis Data Firehose tries to process all records in each PutRecordBatch request. A single record failure does not stop the processing of subsequent records.

A successfully processed record includes a RecordId value, which is unique for the record. An unsuccessfully processed record includes ErrorCode and ErrorMessage values. ErrorCode reflects the type of error, and is one of the following values: ServiceUnavailableException or InternalFailure. ErrorMessage provides more detailed information about the error.

If there is an internal server error or a timeout, the write might have completed or it might have failed. If FailedPutCount is greater than 0, retry the request, resending only those records that might have failed processing. This minimizes the possible duplicate records and also reduces the total bytes sent (and corresponding charges). We recommend that you handle any duplicates at the destination.

If PutRecordBatch throws ServiceUnavailableException, back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

Data records sent to Kinesis Data Firehose are stored for 24 hours from the time they are added to a delivery stream as it attempts to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

Don't concatenate two or more base64 strings to form the data fields of your records. Instead, concatenate the raw data, then perform base64 encoding.

" }, "StartDeliveryStreamEncryption":{ "name":"StartDeliveryStreamEncryption", @@ -124,7 +124,7 @@ {"shape":"InvalidArgumentException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Enables server-side encryption (SSE) for the delivery stream. This operation is asynchronous. It returns immediately. When you invoke it, Kinesis Firehose first sets the status of the stream to ENABLING then to ENABLED. You can continue to read and write data to your stream while its status is ENABLING but they won't get encrypted. It can take up to 5 seconds after the encryption status changes to ENABLED before all records written to the delivery stream are encrypted.

To check the encryption state of a delivery stream, use DescribeDeliveryStream.

You can only enable SSE for a delivery stream that uses DirectPut as its source.

The StartDeliveryStreamEncryption and StopDeliveryStreamEncryption operations have a combined limit of 25 calls per delivery stream per 24 hours. For example, you reach the limit if you call StartDeliveryStreamEncryption thirteen times and StopDeliveryStreamEncryption twelve times for the same stream in a 24-hour period.

" + "documentation":"

Enables server-side encryption (SSE) for the delivery stream.

This operation is asynchronous. It returns immediately. When you invoke it, Kinesis Data Firehose first sets the status of the stream to ENABLING, and then to ENABLED. You can continue to read and write data to your stream while its status is ENABLING, but the data is not encrypted. It can take up to 5 seconds after the encryption status changes to ENABLED before all records written to the delivery stream are encrypted. To find out whether a record or a batch of records was encrypted, check the response elements PutRecordOutput$Encrypted and PutRecordBatchOutput$Encrypted, respectively.

To check the encryption state of a delivery stream, use DescribeDeliveryStream.

You can only enable SSE for a delivery stream that uses DirectPut as its source.

The StartDeliveryStreamEncryption and StopDeliveryStreamEncryption operations have a combined limit of 25 calls per delivery stream per 24 hours. For example, you reach the limit if you call StartDeliveryStreamEncryption 13 times and StopDeliveryStreamEncryption 12 times for the same delivery stream in a 24-hour period.

" }, "StopDeliveryStreamEncryption":{ "name":"StopDeliveryStreamEncryption", @@ -140,7 +140,7 @@ {"shape":"InvalidArgumentException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Disables server-side encryption (SSE) for the delivery stream. This operation is asynchronous. It returns immediately. When you invoke it, Kinesis Firehose first sets the status of the stream to DISABLING then to DISABLED. You can continue to read and write data to your stream while its status is DISABLING. It can take up to 5 seconds after the encryption status changes to DISABLED before all records written to the delivery stream are no longer subject to encryption.

To check the encryption state of a delivery stream, use DescribeDeliveryStream.

The StartDeliveryStreamEncryption and StopDeliveryStreamEncryption operations have a combined limit of 25 calls per delivery stream per 24 hours. For example, you reach the limit if you call StartDeliveryStreamEncryption thirteen times and StopDeliveryStreamEncryption twelve times for the same stream in a 24-hour period.

" + "documentation":"

Disables server-side encryption (SSE) for the delivery stream.

This operation is asynchronous. It returns immediately. When you invoke it, Kinesis Data Firehose first sets the status of the stream to DISABLING, and then to DISABLED. You can continue to read and write data to your stream while its status is DISABLING. It can take up to 5 seconds after the encryption status changes to DISABLED before all records written to the delivery stream are no longer subject to encryption. To find out whether a record or a batch of records was encrypted, check the response elements PutRecordOutput$Encrypted and PutRecordBatchOutput$Encrypted, respectively.

To check the encryption state of a delivery stream, use DescribeDeliveryStream.

The StartDeliveryStreamEncryption and StopDeliveryStreamEncryption operations have a combined limit of 25 calls per delivery stream per 24 hours. For example, you reach the limit if you call StartDeliveryStreamEncryption 13 times and StopDeliveryStreamEncryption 12 times for the same delivery stream in a 24-hour period.

" }, "TagDeliveryStream":{ "name":"TagDeliveryStream", @@ -156,7 +156,7 @@ {"shape":"InvalidArgumentException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Adds or updates tags for the specified delivery stream. A tag is a key-value pair (the value is optional) that you can define and assign to AWS resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. Tags are metadata. For example, you can add friendly names and descriptions or other types of information that can help you distinguish the delivery stream. For more information about tags, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

Each delivery stream can have up to 50 tags.

This operation has a limit of five transactions per second per account.

" + "documentation":"

Adds or updates tags for the specified delivery stream. A tag is a key-value pair that you can define and assign to AWS resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. Tags are metadata. For example, you can add friendly names and descriptions or other types of information that can help you distinguish the delivery stream. For more information about tags, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

Each delivery stream can have up to 50 tags.

This operation has a limit of five transactions per second per account.

" }, "UntagDeliveryStream":{ "name":"UntagDeliveryStream", @@ -188,7 +188,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ConcurrentModificationException"} ], - "documentation":"

Updates the specified destination of the specified delivery stream.

Use this operation to change the destination type (for example, to replace the Amazon S3 destination with Amazon Redshift) or change the parameters associated with a destination (for example, to change the bucket name of the Amazon S3 destination). The update might not occur immediately. The target delivery stream remains active while the configurations are updated, so data writes to the delivery stream can continue during this process. The updated configurations are usually effective within a few minutes.

Switching between Amazon ES and other services is not supported. For an Amazon ES destination, you can only update to another Amazon ES destination.

If the destination type is the same, Kinesis Data Firehose merges the configuration parameters specified with the destination configuration that already exists on the delivery stream. If any of the parameters are not specified in the call, the existing values are retained. For example, in the Amazon S3 destination, if EncryptionConfiguration is not specified, then the existing EncryptionConfiguration is maintained on the destination.

If the destination type is not the same, for example, changing the destination from Amazon S3 to Amazon Redshift, Kinesis Data Firehose does not merge any parameters. In this case, all parameters must be specified.

Kinesis Data Firehose uses CurrentDeliveryStreamVersionId to avoid race conditions and conflicting merges. This is a required field, and the service updates the configuration only if the existing configuration has a version ID that matches. After the update is applied successfully, the version ID is updated, and can be retrieved using DescribeDeliveryStream. Use the new version ID to set CurrentDeliveryStreamVersionId in the next call.

" + "documentation":"

Updates the specified destination of the specified delivery stream.

Use this operation to change the destination type (for example, to replace the Amazon S3 destination with Amazon Redshift) or change the parameters associated with a destination (for example, to change the bucket name of the Amazon S3 destination). The update might not occur immediately. The target delivery stream remains active while the configurations are updated, so data writes to the delivery stream can continue during this process. The updated configurations are usually effective within a few minutes.

Switching between Amazon ES and other services is not supported. For an Amazon ES destination, you can only update to another Amazon ES destination.

If the destination type is the same, Kinesis Data Firehose merges the configuration parameters specified with the destination configuration that already exists on the delivery stream. If any of the parameters are not specified in the call, the existing values are retained. For example, in the Amazon S3 destination, if EncryptionConfiguration is not specified, then the existing EncryptionConfiguration is maintained on the destination.

If the destination type is not the same, for example, changing the destination from Amazon S3 to Amazon Redshift, Kinesis Data Firehose does not merge any parameters. In this case, all parameters must be specified.

Kinesis Data Firehose uses CurrentDeliveryStreamVersionId to avoid race conditions and conflicting merges. This is a required field, and the service updates the configuration only if the existing configuration has a version ID that matches. After the update is applied successfully, the version ID is updated, and can be retrieved using DescribeDeliveryStream. Use the new version ID to set CurrentDeliveryStreamVersionId in the next call.

" } }, "shapes":{ @@ -268,7 +268,7 @@ "documentation":"

A message that provides information about the error.

" } }, - "documentation":"

Another modification has already happened. Fetch VersionId again and use it to update the destination.

", + "documentation":"

Another modification has already happened. Fetch VersionId again and use it to update the destination.

", "exception":true }, "CopyCommand":{ @@ -645,7 +645,7 @@ }, "IndexRotationPeriod":{ "shape":"ElasticsearchIndexRotationPeriod", - "documentation":"

The Elasticsearch index rotation period. Index rotation appends a time stamp to the IndexName to facilitate the expiration of old data. For more information, see Index Rotation for the Amazon ES Destination. The default value is OneDay.

" + "documentation":"

The Elasticsearch index rotation period. Index rotation appends a timestamp to the IndexName to facilitate the expiration of old data. For more information, see Index Rotation for the Amazon ES Destination. The default value is OneDay.

" }, "BufferingHints":{ "shape":"ElasticsearchBufferingHints", @@ -733,7 +733,7 @@ }, "DomainARN":{ "shape":"ElasticsearchDomainARN", - "documentation":"

The ARN of the Amazon ES domain. The IAM role must have permissions for DescribeElasticsearchDomain, DescribeElasticsearchDomains, and DescribeElasticsearchDomainConfig after assuming the IAM role specified in RoleARN. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + "documentation":"

The ARN of the Amazon ES domain. The IAM role must have permissions for DescribeElasticsearchDomain, DescribeElasticsearchDomains, and DescribeElasticsearchDomainConfig after assuming the IAM role specified in RoleARN. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" }, "IndexName":{ "shape":"ElasticsearchIndexName", @@ -745,11 +745,11 @@ }, "IndexRotationPeriod":{ "shape":"ElasticsearchIndexRotationPeriod", - "documentation":"

The Elasticsearch index rotation period. Index rotation appends a time stamp to IndexName to facilitate the expiration of old data. For more information, see Index Rotation for the Amazon ES Destination. Default value is OneDay.

" + "documentation":"

The Elasticsearch index rotation period. Index rotation appends a timestamp to IndexName to facilitate the expiration of old data. For more information, see Index Rotation for the Amazon ES Destination. Default value is OneDay.

" }, "BufferingHints":{ "shape":"ElasticsearchBufferingHints", - "documentation":"

The buffering options. If no value is specified, ElasticsearchBufferingHints object default values are used.

" + "documentation":"

The buffering options. If no value is specified, ElasticsearchBufferingHints object default values are used.

" }, "RetryOptions":{ "shape":"ElasticsearchRetryOptions", @@ -834,6 +834,7 @@ }, "ErrorCode":{"type":"string"}, "ErrorMessage":{"type":"string"}, + "ErrorOutputPrefix":{"type":"string"}, "ExtendedS3DestinationConfiguration":{ "type":"structure", "required":[ @@ -853,6 +854,10 @@ "shape":"Prefix", "documentation":"

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered Amazon S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Data Firehose Developer Guide.

" }, + "ErrorOutputPrefix":{ + "shape":"ErrorOutputPrefix", + "documentation":"

A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing them to S3. This prefix appears immediately following the bucket name.

" + }, "BufferingHints":{ "shape":"BufferingHints", "documentation":"

The buffering option.

" @@ -910,6 +915,10 @@ "shape":"Prefix", "documentation":"

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered Amazon S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Data Firehose Developer Guide.

" }, + "ErrorOutputPrefix":{ + "shape":"ErrorOutputPrefix", + "documentation":"

A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing them to S3. This prefix appears immediately following the bucket name.

" + }, "BufferingHints":{ "shape":"BufferingHints", "documentation":"

The buffering option.

" @@ -960,6 +969,10 @@ "shape":"Prefix", "documentation":"

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered Amazon S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Data Firehose Developer Guide.

" }, + "ErrorOutputPrefix":{ + "shape":"ErrorOutputPrefix", + "documentation":"

A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing them to S3. This prefix appears immediately following the bucket name.

" + }, "BufferingHints":{ "shape":"BufferingHints", "documentation":"

The buffering option.

" @@ -1014,7 +1027,7 @@ "members":{ "TimestampFormats":{ "shape":"ListOfNonEmptyStrings", - "documentation":"

Indicates how you want Kinesis Data Firehose to parse the date and time stamps that may be present in your input data JSON. To specify these format strings, follow the pattern syntax of JodaTime's DateTimeFormat format strings. For more information, see Class DateTimeFormat. You can also use the special value millis to parse time stamps in epoch milliseconds. If you don't specify a format, Kinesis Data Firehose uses java.sql.Timestamp::valueOf by default.

" + "documentation":"

Indicates how you want Kinesis Data Firehose to parse the date and timestamps that may be present in your input data JSON. To specify these format strings, follow the pattern syntax of JodaTime's DateTimeFormat format strings. For more information, see Class DateTimeFormat. You can also use the special value millis to parse timestamps in epoch milliseconds. If you don't specify a format, Kinesis Data Firehose uses java.sql.Timestamp::valueOf by default.

" } }, "documentation":"

The native Hive / HCatalog JsonSerDe. Used by Kinesis Data Firehose for deserializing data, which means converting it from the JSON format in preparation for serializing it to the Parquet or ORC format. This is one of two deserializers you can choose, depending on which one offers the functionality you need. The other option is the OpenX SerDe.

" @@ -1093,7 +1106,7 @@ }, "DeliveryStartTimestamp":{ "shape":"DeliveryStartTimestamp", - "documentation":"

Kinesis Data Firehose starts retrieving records from the Kinesis data stream starting with this time stamp.

" + "documentation":"

Kinesis Data Firehose starts retrieving records from the Kinesis data stream starting with this timestamp.

" } }, "documentation":"

Details about a Kinesis data stream used as the source for a Kinesis Data Firehose delivery stream.

" @@ -1802,6 +1815,10 @@ "shape":"Prefix", "documentation":"

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered Amazon S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Data Firehose Developer Guide.

" }, + "ErrorOutputPrefix":{ + "shape":"ErrorOutputPrefix", + "documentation":"

A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing them to S3. This prefix appears immediately following the bucket name.

" + }, "BufferingHints":{ "shape":"BufferingHints", "documentation":"

The buffering option. If no value is specified, BufferingHints object default values are used.

" @@ -1843,6 +1860,10 @@ "shape":"Prefix", "documentation":"

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered Amazon S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Data Firehose Developer Guide.

" }, + "ErrorOutputPrefix":{ + "shape":"ErrorOutputPrefix", + "documentation":"

A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing them to S3. This prefix appears immediately following the bucket name.

" + }, "BufferingHints":{ "shape":"BufferingHints", "documentation":"

The buffering option. If no value is specified, BufferingHints object default values are used.

" @@ -1877,6 +1898,10 @@ "shape":"Prefix", "documentation":"

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered Amazon S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Data Firehose Developer Guide.

" }, + "ErrorOutputPrefix":{ + "shape":"ErrorOutputPrefix", + "documentation":"

A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing them to S3. This prefix appears immediately following the bucket name.

" + }, "BufferingHints":{ "shape":"BufferingHints", "documentation":"

The buffering option. If no value is specified, BufferingHints object default values are used.

" @@ -2247,7 +2272,7 @@ }, "CurrentDeliveryStreamVersionId":{ "shape":"DeliveryStreamVersionId", - "documentation":"

Obtain this value from the VersionId result of DeliveryStreamDescription. This value is required, and helps the service perform conditional operations. For example, if there is an interleaving update and this value is null, then the update destination fails. After the update is successful, the VersionId value is updated. The service then performs a merge of the old configuration with the new configuration.

" + "documentation":"

Obtain this value from the VersionId result of DeliveryStreamDescription. This value is required, and helps the service perform conditional operations. For example, if there is an interleaving update and this value is null, then the update destination fails. After the update is successful, the VersionId value is updated. The service then performs a merge of the old configuration with the new configuration.

" }, "DestinationId":{ "shape":"DestinationId", diff --git a/bin/botocore/data/fms/2018-01-01/paginators-1.json b/bin/botocore/data/fms/2018-01-01/paginators-1.json index ea142457..d72296c5 100644 --- a/bin/botocore/data/fms/2018-01-01/paginators-1.json +++ b/bin/botocore/data/fms/2018-01-01/paginators-1.json @@ -1,3 +1,22 @@ { - "pagination": {} + "pagination": { + "ListComplianceStatus": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "PolicyComplianceStatusList" + }, + "ListMemberAccounts": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "MemberAccounts" + }, + "ListPolicies": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "PolicyList" + } + } } diff --git a/bin/botocore/data/fms/2018-01-01/service-2.json b/bin/botocore/data/fms/2018-01-01/service-2.json index 9022388e..d1f450d2 100644 --- a/bin/botocore/data/fms/2018-01-01/service-2.json +++ b/bin/botocore/data/fms/2018-01-01/service-2.json @@ -68,7 +68,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Disassociates the account that has been set as the AWS Firewall Manager administrator account. You will need to submit an AssociateAdminAccount request to set a new account as the AWS Firewall administrator.

" + "documentation":"

Disassociates the account that has been set as the AWS Firewall Manager administrator account. To set a different account as the administrator account, you must submit an AssociateAdminAccount request .

" }, "GetAdminAccount":{ "name":"GetAdminAccount", @@ -130,6 +130,21 @@ ], "documentation":"

Returns information about the specified AWS Firewall Manager policy.

" }, + "GetProtectionStatus":{ + "name":"GetProtectionStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetProtectionStatusRequest"}, + "output":{"shape":"GetProtectionStatusResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

If you created a Shield Advanced policy, returns policy-level attack summary information in the event of a potential DDoS attack.

" + }, "ListComplianceStatus":{ "name":"ListComplianceStatus", "http":{ @@ -204,14 +219,15 @@ {"shape":"InternalErrorException"}, {"shape":"InvalidTypeException"} ], - "documentation":"

Creates an AWS Firewall Manager policy.

" + "documentation":"

Creates an AWS Firewall Manager policy.

Firewall Manager provides two types of policies: A Shield Advanced policy, which applies Shield Advanced protection to specified accounts and resources, or a WAF policy, which contains a rule group and defines which resources are to be protected by that rule group. A policy is specific to either WAF or Shield Advanced. If you want to enforce both WAF rules and Shield Advanced protection across accounts, you can create multiple policies. You can create one or more policies for WAF rules, and one or more policies for Shield Advanced.

You must be subscribed to Shield Advanced to create a Shield Advanced policy. For more information on subscribing to Shield Advanced, see CreateSubscription.

" } }, "shapes":{ "AWSAccountId":{ "type":"string", "max":1024, - "min":1 + "min":1, + "pattern":"^[0-9]+$" }, "AccountRoleStatus":{ "type":"string", @@ -247,7 +263,7 @@ }, "ResourceType":{ "shape":"ResourceType", - "documentation":"

The resource type. This is in the format shown in AWS Resource Types Reference. Valid values are AWS::ElasticLoadBalancingV2::LoadBalancer or AWS::CloudFront::Distribution.

" + "documentation":"

The resource type. This is in the format shown in AWS Resource Types Reference. For example: AWS::ElasticLoadBalancingV2::LoadBalancer or AWS::CloudFront::Distribution.

" } }, "documentation":"

Details of the resource that is not protected by the policy.

" @@ -259,7 +275,8 @@ "CustomerPolicyScopeId":{ "type":"string", "max":1024, - "min":1 + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" }, "CustomerPolicyScopeIdList":{ "type":"list", @@ -286,6 +303,10 @@ "PolicyId":{ "shape":"PolicyId", "documentation":"

The ID of the policy that you want to delete. PolicyId is returned by PutPolicy and by ListPolicies.

" + }, + "DeleteAllPolicyResources":{ + "shape":"Boolean", + "documentation":"

If True, the request will also perform a clean-up process that will:

  • Delete rule groups created by AWS Firewall Manager

  • Remove web ACLs from in-scope resources

  • Delete web ACLs that contain no rules or rule groups

After the cleanup, in-scope resources will no longer be protected by web ACLs in this policy. Protection of out-of-scope resources will remain unchanged. Scope is determined by tags and accounts associated with the policy. When creating the policy, if you specified that only resources in specific accounts or with specific tags be protected by the policy, those resources are in-scope. All others are out of scope. If you did not specify tags or accounts, all resources are in-scope.

" } } }, @@ -293,13 +314,15 @@ "type":"string", "enum":[ "AWSCONFIG", - "AWSWAF" + "AWSWAF", + "AWSSHIELD_ADVANCED" ] }, "DetailedInfo":{ "type":"string", "max":1024, - "min":1 + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" }, "DisassociateAdminAccountRequest":{ "type":"structure", @@ -414,6 +437,57 @@ } } }, + "GetProtectionStatusRequest":{ + "type":"structure", + "required":["PolicyId"], + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The ID of the policy for which you want to get the attack information.

" + }, + "MemberAccountId":{ + "shape":"AWSAccountId", + "documentation":"

The AWS account that is in scope of the policy that you want to get the details for.

" + }, + "StartTime":{ + "shape":"TimeStamp", + "documentation":"

The start of the time period to query for the attacks. This is a timestamp type. The sample request above indicates a number type because the default used by AWS Firewall Manager is Unix time in seconds. However, any valid timestamp format is allowed.

" + }, + "EndTime":{ + "shape":"TimeStamp", + "documentation":"

The end of the time period to query for the attacks. This is a timestamp type. The sample request above indicates a number type because the default used by AWS Firewall Manager is Unix time in seconds. However, any valid timestamp format is allowed.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

If you specify a value for MaxResults and you have more objects than the number that you specify for MaxResults, AWS Firewall Manager returns a NextToken value in the response that allows you to list another group of objects. For the second and subsequent GetProtectionStatus requests, specify the value of NextToken from the previous response to get information about another batch of objects.

" + }, + "MaxResults":{ + "shape":"PaginationMaxResults", + "documentation":"

Specifies the number of objects that you want AWS Firewall Manager to return for this request. If you have more objects than the number that you specify for MaxResults, the response includes a NextToken value that you can use to get another batch of objects.

" + } + } + }, + "GetProtectionStatusResponse":{ + "type":"structure", + "members":{ + "AdminAccountId":{ + "shape":"AWSAccountId", + "documentation":"

The ID of the AWS Firewall administrator account for this policy.

" + }, + "ServiceType":{ + "shape":"SecurityServiceType", + "documentation":"

The service type that is protected by the policy. Currently, this is always SHIELD_ADVANCED.

" + }, + "Data":{ + "shape":"ProtectionData", + "documentation":"

Details about the attack, including the following:

  • Attack type

  • Account ID

  • ARN of the resource attacked

  • Start time of the attack

  • End time of the attack (ongoing attacks will not have an end time)

The details are in JSON format. An example is shown in the Examples section below.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

If you have more objects than the number that you specified for MaxResults in the request, the response includes a NextToken value. To list more objects, submit another GetProtectionStatus request, and specify the NextToken value from the response in the NextToken value in the next request.

AWS SDKs provide auto-pagination that identify NextToken in a response and make subsequent request calls automatically on your behalf. However, this feature is not supported by GetProtectionStatus. You must submit subsequent requests with NextToken using your own processes.

" + } + } + }, "InternalErrorException":{ "type":"structure", "members":{ @@ -456,7 +530,7 @@ "members":{ "Message":{"shape":"ErrorMessage"} }, - "documentation":"

The operation exceeds a resource limit, for example, the maximum number of policy objects that you can create for an AWS account. For more information, see Firewall Manager Limits in the AWS WAF Developer Guide.

", + "documentation":"

The operation exceeds a resource limit, for example, the maximum number of policy objects that you can create for an AWS account. For more information, see Firewall Manager Limits in the AWS WAF Developer Guide.

", "exception":true }, "ListComplianceStatusRequest":{ @@ -499,7 +573,7 @@ }, "MaxResults":{ "shape":"PaginationMaxResults", - "documentation":"

Specifies the number of member account IDs that you want AWS Firewall Manager to return for this request. If you have more IDs than the number that you specify for MaxResults, the response includes a NextToken value that you can use to get another batch of member account IDs. The maximum value for MaxResults is 100.

" + "documentation":"

Specifies the number of member account IDs that you want AWS Firewall Manager to return for this request. If you have more IDs than the number that you specify for MaxResults, the response includes a NextToken value that you can use to get another batch of member account IDs.

" } } }, @@ -558,7 +632,8 @@ }, "PaginationToken":{ "type":"string", - "min":1 + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" }, "Policy":{ "type":"structure", @@ -588,7 +663,11 @@ }, "ResourceType":{ "shape":"ResourceType", - "documentation":"

The type of resource to protect with the policy, either an Application Load Balancer or a CloudFront distribution. This is in the format shown in AWS Resource Types Reference. Valid values are AWS::ElasticLoadBalancingV2::LoadBalancer or AWS::CloudFront::Distribution.

" + "documentation":"

The type of resource to protect with the policy. This is in the format shown in AWS Resource Types Reference. For example: AWS::ElasticLoadBalancingV2::LoadBalancer or AWS::CloudFront::Distribution.

" + }, + "ResourceTypeList":{ + "shape":"ResourceTypeList", + "documentation":"

An array of ResourceType.

" }, "ResourceTags":{ "shape":"ResourceTags", @@ -604,11 +683,11 @@ }, "IncludeMap":{ "shape":"CustomerPolicyScopeMap", - "documentation":"

Specifies the AWS account IDs to include in the policy. If IncludeMap is null, all accounts in the AWS Organization are included in the policy. If IncludeMap is not null, only values listed in IncludeMap will be included in the policy.

The key to the map is ACCOUNT. For example, a valid IncludeMap would be {“ACCOUNT” : [“accountID1”, “accountID2”]}.

" + "documentation":"

Specifies the AWS account IDs to include in the policy. If IncludeMap is null, all accounts in the organization in AWS Organizations are included in the policy. If IncludeMap is not null, only values listed in IncludeMap are included in the policy.

The key to the map is ACCOUNT. For example, a valid IncludeMap would be {“ACCOUNT” : [“accountID1”, “accountID2”]}.

" }, "ExcludeMap":{ "shape":"CustomerPolicyScopeMap", - "documentation":"

Specifies the AWS account IDs to exclude from the policy. The IncludeMap values are evaluated first, with all of the appropriate account IDs added to the policy. Then the accounts listed in ExcludeMap are removed, resulting in the final list of accounts to add to the policy.

The key to the map is ACCOUNT. For example, a valid ExcludeMap would be {“ACCOUNT” : [“accountID1”, “accountID2”]}.

" + "documentation":"

Specifies the AWS account IDs to exclude from the policy. The IncludeMap values are evaluated first, with all the appropriate account IDs added to the policy. Then the accounts listed in ExcludeMap are removed, resulting in the final list of accounts to add to the policy.

The key to the map is ACCOUNT. For example, a valid ExcludeMap would be {“ACCOUNT” : [“accountID1”, “accountID2”]}.

" } }, "documentation":"

An AWS Firewall Manager policy.

" @@ -642,7 +721,7 @@ }, "IssueInfoMap":{ "shape":"IssueInfoMap", - "documentation":"

Details about problems with dependent services, such as AWS WAF or AWS Config, that are causing a resource to be non-compliant. The details include the name of the dependent service and the error message recieved indicating the problem with the service.

" + "documentation":"

Details about problems with dependent services, such as AWS WAF or AWS Config, that are causing a resource to be non-compliant. The details include the name of the dependent service and the error message received that indicates the problem with the service.

" } }, "documentation":"

Describes the non-compliant resources in a member account for a specific AWS Firewall Manager policy. A maximum of 100 entries are displayed. If more than 100 resources are non-compliant, EvaluationLimitExceeded is set to True.

" @@ -676,7 +755,7 @@ }, "IssueInfoMap":{ "shape":"IssueInfoMap", - "documentation":"

Details about problems with dependent services, such as AWS WAF or AWS Config, that are causing a resource to be non-compliant. The details include the name of the dependent service and the error message recieved indicating the problem with the service.

" + "documentation":"

Details about problems with dependent services, such as AWS WAF or AWS Config, that are causing a resource to be non-compliant. The details include the name of the dependent service and the error message received that indicates the problem with the service.

" } }, "documentation":"

Indicates whether the account is compliant with the specified policy. An account is considered non-compliant if it includes resources that are not protected by the policy.

" @@ -695,7 +774,8 @@ "PolicyId":{ "type":"string", "max":36, - "min":36 + "min":36, + "pattern":"^[a-z0-9A-Z-]{36}$" }, "PolicySummary":{ "type":"structure", @@ -714,11 +794,11 @@ }, "ResourceType":{ "shape":"ResourceType", - "documentation":"

The type of resource to protect with the policy, either an Application Load Balancer or a CloudFront distribution. This is in the format shown in AWS Resource Types Reference. Valid values are AWS::ElasticLoadBalancingV2::LoadBalancer or AWS::CloudFront::Distribution.

" + "documentation":"

The type of resource to protect with the policy. This is in the format shown in AWS Resource Types Reference. For example: AWS::ElasticLoadBalancingV2::LoadBalancer or AWS::CloudFront::Distribution.

" }, "SecurityServiceType":{ "shape":"SecurityServiceType", - "documentation":"

The service that the policy is using to protect the resources. This value is WAF.

" + "documentation":"

The service that the policy is using to protect the resources. This specifies the type of policy that is created, either a WAF policy or Shield Advanced policy.

" }, "RemediationEnabled":{ "shape":"Boolean", @@ -734,8 +814,10 @@ "PolicyUpdateToken":{ "type":"string", "max":1024, - "min":1 + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" }, + "ProtectionData":{"type":"string"}, "PutNotificationChannelRequest":{ "type":"structure", "required":[ @@ -779,7 +861,8 @@ "ResourceArn":{ "type":"string", "max":1024, - "min":1 + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" }, "ResourceCount":{ "type":"long", @@ -788,12 +871,14 @@ "ResourceId":{ "type":"string", "max":1024, - "min":1 + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" }, "ResourceName":{ "type":"string", "max":128, - "min":1 + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" }, "ResourceNotFoundException":{ "type":"structure", @@ -827,7 +912,12 @@ "ResourceType":{ "type":"string", "max":128, - "min":1 + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "ResourceTypeList":{ + "type":"list", + "member":{"shape":"ResourceType"} }, "SecurityServicePolicyData":{ "type":"structure", @@ -835,18 +925,21 @@ "members":{ "Type":{ "shape":"SecurityServiceType", - "documentation":"

The service that the policy is using to protect the resources. This value is WAF.

" + "documentation":"

The service that the policy is using to protect the resources. This specifies the type of policy that is created, either a WAF policy or Shield Advanced policy.

" }, "ManagedServiceData":{ "shape":"ManagedServiceData", - "documentation":"

Details about the service. This contains WAF data in JSON format, as shown in the following example:

ManagedServiceData\": \"{\\\"type\\\": \\\"WAF\\\", \\\"ruleGroups\\\": [{\\\"id\\\": \\\"12345678-1bcd-9012-efga-0987654321ab\\\", \\\"overrideAction\\\" : {\\\"type\\\": \\\"COUNT\\\"}}], \\\"defaultAction\\\": {\\\"type\\\": \\\"BLOCK\\\"}}

" + "documentation":"

Details about the service. This contains WAF data in JSON format, as shown in the following example:

ManagedServiceData\": \"{\\\"type\\\": \\\"WAF\\\", \\\"ruleGroups\\\": [{\\\"id\\\": \\\"12345678-1bcd-9012-efga-0987654321ab\\\", \\\"overrideAction\\\" : {\\\"type\\\": \\\"COUNT\\\"}}], \\\"defaultAction\\\": {\\\"type\\\": \\\"BLOCK\\\"}}

If this is a Shield Advanced policy, this string will be empty.

" } }, "documentation":"

Details about the security service that is being used to protect the resources.

" }, "SecurityServiceType":{ "type":"string", - "enum":["WAF"] + "enum":[ + "WAF", + "SHIELD_ADVANCED" + ] }, "TagKey":{ "type":"string", @@ -865,9 +958,10 @@ "enum":[ "WEB_ACL_MISSING_RULE_GROUP", "RESOURCE_MISSING_WEB_ACL", - "RESOURCE_INCORRECT_WEB_ACL" + "RESOURCE_INCORRECT_WEB_ACL", + "RESOURCE_MISSING_SHIELD_PROTECTION" ] } }, - "documentation":"AWS Firewall Manager

This is the AWS Firewall Manager API Reference. This guide is for developers who need detailed information about the AWS Firewall Manager API actions, data types, and errors. For detailed information about AWS Firewall Manager features, see the AWS Firewall Manager Developer Guide.

" + "documentation":"AWS Firewall Manager

This is the AWS Firewall Manager API Reference. This guide is for developers who need detailed information about the AWS Firewall Manager API actions, data types, and errors. For detailed information about AWS Firewall Manager features, see the AWS Firewall Manager Developer Guide.

" } diff --git a/bin/botocore/data/fsx/2018-03-01/paginators-1.json b/bin/botocore/data/fsx/2018-03-01/paginators-1.json index ea142457..863c57a3 100644 --- a/bin/botocore/data/fsx/2018-03-01/paginators-1.json +++ b/bin/botocore/data/fsx/2018-03-01/paginators-1.json @@ -1,3 +1,22 @@ { - "pagination": {} + "pagination": { + "DescribeBackups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Backups" + }, + "DescribeFileSystems": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "FileSystems" + }, + "ListTagsForResource": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Tags" + } + } } diff --git a/bin/botocore/data/fsx/2018-03-01/service-2.json b/bin/botocore/data/fsx/2018-03-01/service-2.json index c39670b3..0e9ba7aa 100644 --- a/bin/botocore/data/fsx/2018-03-01/service-2.json +++ b/bin/botocore/data/fsx/2018-03-01/service-2.json @@ -44,6 +44,7 @@ {"shape":"ActiveDirectoryError"}, {"shape":"IncompatibleParameterError"}, {"shape":"InvalidImportPath"}, + {"shape":"InvalidExportPath"}, {"shape":"InvalidNetworkSettings"}, {"shape":"ServiceLimitExceeded"}, {"shape":"InternalServerError"}, @@ -81,6 +82,7 @@ "output":{"shape":"DeleteBackupResponse"}, "errors":[ {"shape":"BadRequest"}, + {"shape":"BackupInProgress"}, {"shape":"BackupNotFound"}, {"shape":"BackupRestoring"}, {"shape":"IncompatibleParameterError"}, @@ -476,7 +478,11 @@ }, "ImportPath":{ "shape":"ArchivePath", - "documentation":"

(Optional) The path to the Amazon S3 bucket (and optional prefix) that you're using as the data repository for your FSx for Lustre file system, for example s3://import-bucket/optional-prefix. If you specify a prefix after the Amazon S3 bucket name, only object keys with that prefix are loaded into the file system.

" + "documentation":"

(Optional) The path to the Amazon S3 bucket (including the optional prefix) that you're using as the data repository for your Amazon FSx for Lustre file system. The root of your FSx for Lustre file system will be mapped to the root of the Amazon S3 bucket you select. An example is s3://import-bucket/optional-prefix. If you specify a prefix after the Amazon S3 bucket name, only object keys with that prefix are loaded into the file system.

" + }, + "ExportPath":{ + "shape":"ArchivePath", + "documentation":"

(Optional) The path in Amazon S3 where the root of your Amazon FSx file system is exported. The path must use the same Amazon S3 bucket as specified in ImportPath. You can provide an optional prefix to which new and changed data is to be exported from your Amazon FSx for Lustre file system. If an ExportPath value is not provided, Amazon FSx sets a default export path, s3://import-bucket/FSxLustre[creation-timestamp]. The timestamp is in UTC format, for example s3://import-bucket/FSxLustre20181105T222312Z.

The Amazon S3 export bucket must be the same as the import bucket specified by ImportPath. If you only specify a bucket name, such as s3://import-bucket, you get a 1:1 mapping of file system objects to S3 bucket objects. This mapping means that the input data in S3 is overwritten on export. If you provide a custom prefix in the export path, such as s3://import-bucket/[custom-optional-prefix], Amazon FSx exports the contents of your file system to that export prefix in the Amazon S3 bucket.

" }, "ImportedFileChunkSize":{ "shape":"Megabytes", @@ -595,7 +601,7 @@ }, "ExportPath":{ "shape":"ArchivePath", - "documentation":"

The Amazon S3 commit path to use for storing new and changed Lustre file system files as part of the archive operation from the file system to Amazon S3. The value is s3://import-bucket/FSxLustre[creationtimestamp]. The timestamp is presented in UTC format, for example s3://import-bucket/FSxLustre20181105T222312Z. Files are archived to a different prefix in the Amazon S3 bucket, preventing input data from being overwritten.

" + "documentation":"

The export path to the Amazon S3 bucket (and prefix) that you are using to store new and changed Lustre file system files in S3.

" }, "ImportedFileChunkSize":{ "shape":"Megabytes", @@ -812,7 +818,7 @@ }, "NetworkInterfaceIds":{ "shape":"NetworkInterfaceIds", - "documentation":"

The IDs of the elastic network interface from which a specific file system is accessible. The elastic network interface is automatically created in the same VPC that the Amazon FSx file system was created in. For more information, see Elastic Network Interfaces in the Amazon EC2 User Guide.

For an Amazon FSx for Windows File Server file system, you can have one network interface Id. For an Amazon FSx for Lustre file system, you can have more than one.

" + "documentation":"

The IDs of the elastic network interface from which a specific file system is accessible. The elastic network interface is automatically created in the same VPC that the Amazon FSx file system was created in. For more information, see Elastic Network Interfaces in the Amazon EC2 User Guide.

For an Amazon FSx for Windows File Server file system, you can have one network interface Id. For an Amazon FSx for Lustre file system, you can have more than one.

" }, "DNSName":{ "shape":"DNSName", @@ -828,7 +834,7 @@ }, "Tags":{ "shape":"Tags", - "documentation":"

The tags to associate with the file system. For more information, see Tagging Your Amazon EC2 Resources in the Amazon EC2 User Guide.

" + "documentation":"

The tags to associate with the file system. For more information, see Tagging Your Amazon EC2 Resources in the Amazon EC2 User Guide.

" }, "WindowsConfiguration":{ "shape":"WindowsFileSystemConfiguration", @@ -971,6 +977,14 @@ "exception":true, "fault":true }, + "InvalidExportPath":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The path provided for data repository export isn't valid.

", + "exception":true + }, "InvalidImportPath":{ "type":"structure", "members":{ @@ -991,7 +1005,7 @@ }, "KmsKeyId":{ "type":"string", - "documentation":"

The ID of your AWS Key Management Service (AWS KMS) key. This ID is used to encrypt the data in your file system at rest. For more information, see Encrypt in the AWS Key Management Service API Reference.

", + "documentation":"

The ID of your AWS Key Management Service (AWS KMS) key. This ID is used to encrypt the data in your file system at rest. For more information, see Encrypt in the AWS Key Management Service API Reference.

", "max":2048, "min":1, "pattern":"^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[89aAbB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}|arn:aws[a-z-]{0,7}:kms:[a-z]{2}-[a-z-]{4,}-\\d+:\\d{12}:(key|alias)\\/([a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[89aAbB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}|[a-zA-Z0-9:\\/_-]+)|alias\\/[a-zA-Z0-9:\\/_-]+$" @@ -1066,7 +1080,7 @@ }, "NetworkInterfaceId":{ "type":"string", - "documentation":"

An elastic network interface ID. An elastic network interface is a logical networking component in a virtual private cloud (VPC) that represents a virtual network card. For more information, see Elastic Network Interfaces in the Amazon EC2 User Guide for Linux Instances.

", + "documentation":"

An elastic network interface ID. An elastic network interface is a logical networking component in a virtual private cloud (VPC) that represents a virtual network card. For more information, see Elastic Network Interfaces in the Amazon EC2 User Guide for Linux Instances.

", "max":21, "min":12, "pattern":"^(eni-[0-9a-f]{8,})$" @@ -1110,7 +1124,7 @@ }, "ResourceARN":{ "type":"string", - "documentation":"

The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify AWS resources. We require an ARN when you need to specify a resource unambiguously across all of AWS. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", + "documentation":"

The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify AWS resources. We require an ARN when you need to specify a resource unambiguously across all of AWS. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", "max":512, "min":8, "pattern":"^arn:aws[a-z-]{0,7}:[A-Za-z0-9][A-za-z0-9_/.-]{0,62}:[A-za-z0-9_/.-]{0,63}:[A-za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-za-z0-9_/.-]{0,127}$" @@ -1143,7 +1157,7 @@ }, "SecurityGroupId":{ "type":"string", - "documentation":"

The ID of your Amazon EC2 security group. This ID is used to control network access to the endpoint that Amazon FSx creates on your behalf in each subnet. For more information, see Amazon EC2 Security Groups for Linux Instances in the Amazon EC2 User Guide.

", + "documentation":"

The ID of your Amazon EC2 security group. This ID is used to control network access to the endpoint that Amazon FSx creates on your behalf in each subnet. For more information, see Amazon EC2 Security Groups for Linux Instances in the Amazon EC2 User Guide.

", "max":20, "min":11, "pattern":"^(sg-[0-9a-f]{8,})$" @@ -1180,11 +1194,11 @@ "StorageCapacity":{ "type":"integer", "documentation":"

The storage capacity for your Amazon FSx file system, in gibibytes.

", - "min":300 + "min":1 }, "SubnetId":{ "type":"string", - "documentation":"

The ID for a subnet. A subnet is a range of IP addresses in your virtual private cloud (VPC). For more information, see VPC and Subnets in the Amazon VPC User Guide.

", + "documentation":"

The ID for a subnet. A subnet is a range of IP addresses in your virtual private cloud (VPC). For more information, see VPC and Subnets in the Amazon VPC User Guide.

", "max":24, "min":15, "pattern":"^(subnet-[0-9a-f]{8,})$" @@ -1213,8 +1227,7 @@ "type":"string", "documentation":"

A string of 1 to 128 characters that specifies the key for a tag. Tag keys must be unique for the resource to which they are attached.

", "max":128, - "min":1, - "pattern":"^(^(?!aws:).[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + "min":1 }, "TagKeys":{ "type":"list", @@ -1251,8 +1264,7 @@ "type":"string", "documentation":"

A string of 0 to 256 characters that specifies the value for a tag. Tag values can be null and don't have to be unique in a tag set.

", "max":256, - "min":0, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + "min":0 }, "Tags":{ "type":"list", @@ -1343,7 +1355,7 @@ }, "VpcId":{ "type":"string", - "documentation":"

The ID of your virtual private cloud (VPC). For more information, see VPC and Subnets in the Amazon VPC User Guide.

", + "documentation":"

The ID of your virtual private cloud (VPC). For more information, see VPC and Subnets in the Amazon VPC User Guide.

", "max":21, "min":12, "pattern":"^(vpc-[0-9a-f]{8,})$" diff --git a/bin/botocore/data/gamelift/2015-10-01/paginators-1.json b/bin/botocore/data/gamelift/2015-10-01/paginators-1.json index ea142457..270e8408 100644 --- a/bin/botocore/data/gamelift/2015-10-01/paginators-1.json +++ b/bin/botocore/data/gamelift/2015-10-01/paginators-1.json @@ -1,3 +1,100 @@ { - "pagination": {} + "pagination": { + "DescribeFleetAttributes": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "FleetAttributes" + }, + "DescribeFleetCapacity": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "FleetCapacity" + }, + "DescribeFleetEvents": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "Events" + }, + "DescribeFleetUtilization": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "FleetUtilization" + }, + "DescribeGameSessionDetails": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "GameSessionDetails" + }, + "DescribeGameSessionQueues": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "GameSessionQueues" + }, + "DescribeGameSessions": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "GameSessions" + }, + "DescribeInstances": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "Instances" + }, + "DescribeMatchmakingConfigurations": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "Configurations" + }, + "DescribeMatchmakingRuleSets": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "RuleSets" + }, + "DescribePlayerSessions": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "PlayerSessions" + }, + "DescribeScalingPolicies": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "ScalingPolicies" + }, + "ListAliases": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "Aliases" + }, + "ListBuilds": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "Builds" + }, + "ListFleets": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "FleetIds" + }, + "SearchGameSessions": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "GameSessions" + } + } } diff --git a/bin/botocore/data/gamelift/2015-10-01/service-2.json b/bin/botocore/data/gamelift/2015-10-01/service-2.json index 4b399380..b60c2dee 100644 --- a/bin/botocore/data/gamelift/2015-10-01/service-2.json +++ b/bin/botocore/data/gamelift/2015-10-01/service-2.json @@ -26,7 +26,7 @@ {"shape":"InternalServiceException"}, {"shape":"UnsupportedRegionException"} ], - "documentation":"

Registers a player's acceptance or rejection of a proposed FlexMatch match. A matchmaking configuration may require player acceptance; if so, then matches built with that configuration cannot be completed unless all players accept the proposed match within a specified time limit.

When FlexMatch builds a match, all the matchmaking tickets involved in the proposed match are placed into status REQUIRES_ACCEPTANCE. This is a trigger for your game to get acceptance from all players in the ticket. Acceptances are only valid for tickets when they are in this status; all other acceptances result in an error.

To register acceptance, specify the ticket ID, a response, and one or more players. Once all players have registered acceptance, the matchmaking tickets advance to status PLACING, where a new game session is created for the match.

If any player rejects the match, or if acceptances are not received before a specified timeout, the proposed match is dropped. The matchmaking tickets are then handled in one of two ways: For tickets where all players accepted the match, the ticket status is returned to SEARCHING to find a new match. For tickets where one or more players failed to accept the match, the ticket status is set to FAILED, and processing is terminated. A new matchmaking request for these players can be submitted as needed.

Matchmaking-related operations include:

" + "documentation":"

Registers a player's acceptance or rejection of a proposed FlexMatch match. A matchmaking configuration may require player acceptance; if so, then matches built with that configuration cannot be completed unless all players accept the proposed match within a specified time limit.

When FlexMatch builds a match, all the matchmaking tickets involved in the proposed match are placed into status REQUIRES_ACCEPTANCE. This is a trigger for your game to get acceptance from all players in the ticket. Acceptances are only valid for tickets when they are in this status; all other acceptances result in an error.

To register acceptance, specify the ticket ID, a response, and one or more players. Once all players have registered acceptance, the matchmaking tickets advance to status PLACING, where a new game session is created for the match.

If any player rejects the match, or if acceptances are not received before a specified timeout, the proposed match is dropped. The matchmaking tickets are then handled in one of two ways: For tickets where all players accepted the match, the ticket status is returned to SEARCHING to find a new match. For tickets where one or more players failed to accept the match, the ticket status is set to FAILED, and processing is terminated. A new matchmaking request for these players can be submitted as needed.

" }, "CreateAlias":{ "name":"CreateAlias", @@ -43,7 +43,7 @@ {"shape":"InternalServiceException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Creates an alias for a fleet. In most situations, you can use an alias ID in place of a fleet ID. By using a fleet alias instead of a specific fleet ID, you can switch gameplay and players to a new fleet without changing your game client or other game components. For example, for games in production, using an alias allows you to seamlessly redirect your player base to a new game server update.

Amazon GameLift supports two types of routing strategies for aliases: simple and terminal. A simple alias points to an active fleet. A terminal alias is used to display messaging or link to a URL instead of routing players to an active fleet. For example, you might use a terminal alias when a game version is no longer supported and you want to direct players to an upgrade site.

To create a fleet alias, specify an alias name, routing strategy, and optional description. Each simple alias can point to only one fleet, but a fleet can have multiple aliases. If successful, a new alias record is returned, including an alias ID, which you can reference when creating a game session. You can reassign an alias to another fleet by calling UpdateAlias.

Alias-related operations include:

" + "documentation":"

Creates an alias for a fleet. In most situations, you can use an alias ID in place of a fleet ID. By using a fleet alias instead of a specific fleet ID, you can switch gameplay and players to a new fleet without changing your game client or other game components. For example, for games in production, using an alias allows you to seamlessly redirect your player base to a new game server update.

Amazon GameLift supports two types of routing strategies for aliases: simple and terminal. A simple alias points to an active fleet. A terminal alias is used to display messaging or link to a URL instead of routing players to an active fleet. For example, you might use a terminal alias when a game version is no longer supported and you want to direct players to an upgrade site.

To create a fleet alias, specify an alias name, routing strategy, and optional description. Each simple alias can point to only one fleet, but a fleet can have multiple aliases. If successful, a new alias record is returned, including an alias ID, which you can reference when creating a game session. You can reassign an alias to another fleet by calling UpdateAlias.

" }, "CreateBuild":{ "name":"CreateBuild", @@ -59,7 +59,7 @@ {"shape":"ConflictException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Creates a new Amazon GameLift build record for your game server binary files and points to the location of your game server build files in an Amazon Simple Storage Service (Amazon S3) location.

Game server binaries must be combined into a .zip file for use with Amazon GameLift. See Uploading Your Game for more information.

To create new builds quickly and easily, use the AWS CLI command upload-build . This helper command uploads your build and creates a new build record in one step, and automatically handles the necessary permissions. See Upload Build Files to Amazon GameLift for more help.

The CreateBuild operation should be used only when you need to manually upload your build files, as in the following scenarios:

  • Store a build file in an Amazon S3 bucket under your own AWS account. To use this option, you must first give Amazon GameLift access to that Amazon S3 bucket. See Create a Build with Files in Amazon S3 for detailed help. To create a new build record using files in your Amazon S3 bucket, call CreateBuild and specify a build name, operating system, and the storage location of your game build.

  • Upload a build file directly to Amazon GameLift's Amazon S3 account. To use this option, you first call CreateBuild with a build name and operating system. This action creates a new build record and returns an Amazon S3 storage location (bucket and key only) and temporary access credentials. Use the credentials to manually upload your build file to the storage location (see the Amazon S3 topic Uploading Objects). You can upload files to a location only once.

If successful, this operation creates a new build record with a unique build ID and places it in INITIALIZED status. You can use DescribeBuild to check the status of your build. A build must be in READY status before it can be used to create fleets.

Build-related operations include:

" + "documentation":"

Creates a new Amazon GameLift build record for your game server binary files and points to the location of your game server build files in an Amazon Simple Storage Service (Amazon S3) location.

Game server binaries must be combined into a .zip file for use with Amazon GameLift.

To create new builds quickly and easily, use the AWS CLI command upload-build . This helper command uploads your build and creates a new build record in one step, and automatically handles the necessary permissions.

The CreateBuild operation should be used only when you need to manually upload your build files, as in the following scenarios:

  • Store a build file in an Amazon S3 bucket under your own AWS account. To use this option, you must first give Amazon GameLift access to that Amazon S3 bucket. To create a new build record using files in your Amazon S3 bucket, call CreateBuild and specify a build name, operating system, and the storage location of your game build.

  • Upload a build file directly to Amazon GameLift's Amazon S3 account. To use this option, you first call CreateBuild with a build name and operating system. This action creates a new build record and returns an Amazon S3 storage location (bucket and key only) and temporary access credentials. Use the credentials to manually upload your build file to the storage location (see the Amazon S3 topic Uploading Objects). You can upload files to a location only once.

If successful, this operation creates a new build record with a unique build ID and places it in INITIALIZED status. You can use DescribeBuild to check the status of your build. A build must be in READY status before it can be used to create fleets.

Learn more

Uploading Your Game

Create a Build with Files in Amazon S3

Related operations

" }, "CreateFleet":{ "name":"CreateFleet", @@ -77,7 +77,7 @@ {"shape":"InvalidRequestException"}, {"shape":"UnauthorizedException"} ], - "documentation":"

Creates a new fleet to run your game servers. A fleet is a set of Amazon Elastic Compute Cloud (Amazon EC2) instances, each of which can run multiple server processes to host game sessions. You set up a fleet to use instances with certain hardware specifications (see Amazon EC2 Instance Types for more information), and deploy your game build to run on each instance.

To create a new fleet, you must specify the following: (1) a fleet name, (2) the build ID of a successfully uploaded game build, (3) an EC2 instance type, and (4) a run-time configuration, which describes the server processes to run on each instance in the fleet. If you don't specify a fleet type (on-demand or spot), the new fleet uses on-demand instances by default.

You can also configure the new fleet with the following settings:

  • Fleet description

  • Access permissions for inbound traffic

  • Fleet-wide game session protection

  • Resource usage limits

If you use Amazon CloudWatch for metrics, you can add the new fleet to a metric group. By adding multiple fleets to a metric group, you can view aggregated metrics for all the fleets in the group.

If the CreateFleet call is successful, Amazon GameLift performs the following tasks. You can track the process of a fleet by checking the fleet status or by monitoring fleet creation events:

  • Creates a fleet record. Status: NEW.

  • Begins writing events to the fleet event log, which can be accessed in the Amazon GameLift console.

    Sets the fleet's target capacity to 1 (desired instances), which triggers Amazon GameLift to start one new EC2 instance.

  • Downloads the game build to the new instance and installs it. Statuses: DOWNLOADING, VALIDATING, BUILDING.

  • Starts launching server processes on the instance. If the fleet is configured to run multiple server processes per instance, Amazon GameLift staggers each launch by a few seconds. Status: ACTIVATING.

  • Sets the fleet's status to ACTIVE as soon as one server process is ready to host a game session.

Fleet-related operations include:

" + "documentation":"

Creates a new fleet to run your game servers. whether they are custom game builds or Realtime Servers with game-specific script. A fleet is a set of Amazon Elastic Compute Cloud (Amazon EC2) instances, each of which can host multiple game sessions. When creating a fleet, you choose the hardware specifications, set some configuration options, and specify the game server to deploy on the new fleet.

To create a new fleet, you must provide the following: (1) a fleet name, (2) an EC2 instance type and fleet type (spot or on-demand), (3) the build ID for your game build or script ID if using Realtime Servers, and (4) a run-time configuration, which determines how game servers will run on each instance in the fleet.

When creating a Realtime Servers fleet, we recommend using a minimal version of the Realtime script (see this working code example ). This will make it much easier to troubleshoot any fleet creation issues. Once the fleet is active, you can update your Realtime script as needed.

If the CreateFleet call is successful, Amazon GameLift performs the following tasks. You can track the process of a fleet by checking the fleet status or by monitoring fleet creation events:

  • Creates a fleet record. Status: NEW.

  • Begins writing events to the fleet event log, which can be accessed in the Amazon GameLift console.

    Sets the fleet's target capacity to 1 (desired instances), which triggers Amazon GameLift to start one new EC2 instance.

  • Downloads the game build or Realtime script to the new instance and installs it. Statuses: DOWNLOADING, VALIDATING, BUILDING.

  • Starts launching server processes on the instance. If the fleet is configured to run multiple server processes per instance, Amazon GameLift staggers each launch by a few seconds. Status: ACTIVATING.

  • Sets the fleet's status to ACTIVE as soon as one server process is ready to host a game session.

Learn more

Working with Fleets

Debug Fleet Creation Issues

Related operations

" }, "CreateGameSession":{ "name":"CreateGameSession", @@ -99,7 +99,7 @@ {"shape":"LimitExceededException"}, {"shape":"IdempotentParameterMismatchException"} ], - "documentation":"

Creates a multiplayer game session for players. This action creates a game session record and assigns an available server process in the specified fleet to host the game session. A fleet must have an ACTIVE status before a game session can be created in it.

To create a game session, specify either fleet ID or alias ID and indicate a maximum number of players to allow in the game session. You can also provide a name and game-specific properties for this game session. If successful, a GameSession object is returned containing the game session properties and other settings you specified.

Idempotency tokens. You can add a token that uniquely identifies game session requests. This is useful for ensuring that game session requests are idempotent. Multiple requests with the same idempotency token are processed only once; subsequent requests return the original result. All response values are the same with the exception of game session status, which may change.

Resource creation limits. If you are creating a game session on a fleet with a resource creation limit policy in force, then you must specify a creator ID. Without this ID, Amazon GameLift has no way to evaluate the policy for this new game session request.

Player acceptance policy. By default, newly created game sessions are open to new players. You can restrict new player access by using UpdateGameSession to change the game session's player session creation policy.

Game session logs. Logs are retained for all active game sessions for 14 days. To access the logs, call GetGameSessionLogUrl to download the log files.

Available in Amazon GameLift Local.

Game-session-related operations include:

" + "documentation":"

Creates a multiplayer game session for players. This action creates a game session record and assigns an available server process in the specified fleet to host the game session. A fleet must have an ACTIVE status before a game session can be created in it.

To create a game session, specify either fleet ID or alias ID and indicate a maximum number of players to allow in the game session. You can also provide a name and game-specific properties for this game session. If successful, a GameSession object is returned containing the game session properties and other settings you specified.

Idempotency tokens. You can add a token that uniquely identifies game session requests. This is useful for ensuring that game session requests are idempotent. Multiple requests with the same idempotency token are processed only once; subsequent requests return the original result. All response values are the same with the exception of game session status, which may change.

Resource creation limits. If you are creating a game session on a fleet with a resource creation limit policy in force, then you must specify a creator ID. Without this ID, Amazon GameLift has no way to evaluate the policy for this new game session request.

Player acceptance policy. By default, newly created game sessions are open to new players. You can restrict new player access by using UpdateGameSession to change the game session's player session creation policy.

Game session logs. Logs are retained for all active game sessions for 14 days. To access the logs, call GetGameSessionLogUrl to download the log files.

Available in Amazon GameLift Local.

" }, "CreateGameSessionQueue":{ "name":"CreateGameSessionQueue", @@ -115,7 +115,7 @@ {"shape":"UnauthorizedException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Establishes a new queue for processing requests to place new game sessions. A queue identifies where new game sessions can be hosted -- by specifying a list of destinations (fleets or aliases) -- and how long requests can wait in the queue before timing out. You can set up a queue to try to place game sessions on fleets in multiple regions. To add placement requests to a queue, call StartGameSessionPlacement and reference the queue name.

Destination order. When processing a request for a game session, Amazon GameLift tries each destination in order until it finds one with available resources to host the new game session. A queue's default order is determined by how destinations are listed. The default order is overridden when a game session placement request provides player latency information. Player latency information enables Amazon GameLift to prioritize destinations where players report the lowest average latency, as a result placing the new game session where the majority of players will have the best possible gameplay experience.

Player latency policies. For placement requests containing player latency information, use player latency policies to protect individual players from very high latencies. With a latency cap, even when a destination can deliver a low latency for most players, the game is not placed where any individual player is reporting latency higher than a policy's maximum. A queue can have multiple latency policies, which are enforced consecutively starting with the policy with the lowest latency cap. Use multiple policies to gradually relax latency controls; for example, you might set a policy with a low latency cap for the first 60 seconds, a second policy with a higher cap for the next 60 seconds, etc.

To create a new queue, provide a name, timeout value, a list of destinations and, if desired, a set of latency policies. If successful, a new queue object is returned.

Queue-related operations include:

" + "documentation":"

Establishes a new queue for processing requests to place new game sessions. A queue identifies where new game sessions can be hosted -- by specifying a list of destinations (fleets or aliases) -- and how long requests can wait in the queue before timing out. You can set up a queue to try to place game sessions on fleets in multiple regions. To add placement requests to a queue, call StartGameSessionPlacement and reference the queue name.

Destination order. When processing a request for a game session, Amazon GameLift tries each destination in order until it finds one with available resources to host the new game session. A queue's default order is determined by how destinations are listed. The default order is overridden when a game session placement request provides player latency information. Player latency information enables Amazon GameLift to prioritize destinations where players report the lowest average latency, as a result placing the new game session where the majority of players will have the best possible gameplay experience.

Player latency policies. For placement requests containing player latency information, use player latency policies to protect individual players from very high latencies. With a latency cap, even when a destination can deliver a low latency for most players, the game is not placed where any individual player is reporting latency higher than a policy's maximum. A queue can have multiple latency policies, which are enforced consecutively starting with the policy with the lowest latency cap. Use multiple policies to gradually relax latency controls; for example, you might set a policy with a low latency cap for the first 60 seconds, a second policy with a higher cap for the next 60 seconds, etc.

To create a new queue, provide a name, timeout value, a list of destinations and, if desired, a set of latency policies. If successful, a new queue object is returned.

" }, "CreateMatchmakingConfiguration":{ "name":"CreateMatchmakingConfiguration", @@ -132,7 +132,7 @@ {"shape":"InternalServiceException"}, {"shape":"UnsupportedRegionException"} ], - "documentation":"

Defines a new matchmaking configuration for use with FlexMatch. A matchmaking configuration sets out guidelines for matching players and getting the matches into games. You can set up multiple matchmaking configurations to handle the scenarios needed for your game. Each matchmaking ticket (StartMatchmaking or StartMatchBackfill) specifies a configuration for the match and provides player attributes to support the configuration being used.

To create a matchmaking configuration, at a minimum you must specify the following: configuration name; a rule set that governs how to evaluate players and find acceptable matches; a game session queue to use when placing a new game session for the match; and the maximum time allowed for a matchmaking attempt.

Player acceptance -- In each configuration, you have the option to require that all players accept participation in a proposed match. To enable this feature, set AcceptanceRequired to true and specify a time limit for player acceptance. Players have the option to accept or reject a proposed match, and a match does not move ahead to game session placement unless all matched players accept.

Matchmaking status notification -- There are two ways to track the progress of matchmaking tickets: (1) polling ticket status with DescribeMatchmaking; or (2) receiving notifications with Amazon Simple Notification Service (SNS). To use notifications, you first need to set up an SNS topic to receive the notifications, and provide the topic ARN in the matchmaking configuration (see Setting up Notifications for Matchmaking). Since notifications promise only \"best effort\" delivery, we recommend calling DescribeMatchmaking if no notifications are received within 30 seconds.

Operations related to match configurations and rule sets include:

" + "documentation":"

Defines a new matchmaking configuration for use with FlexMatch. A matchmaking configuration sets out guidelines for matching players and getting the matches into games. You can set up multiple matchmaking configurations to handle the scenarios needed for your game. Each matchmaking ticket (StartMatchmaking or StartMatchBackfill) specifies a configuration for the match and provides player attributes to support the configuration being used.

To create a matchmaking configuration, at a minimum you must specify the following: configuration name; a rule set that governs how to evaluate players and find acceptable matches; a game session queue to use when placing a new game session for the match; and the maximum time allowed for a matchmaking attempt.

Player acceptance -- In each configuration, you have the option to require that all players accept participation in a proposed match. To enable this feature, set AcceptanceRequired to true and specify a time limit for player acceptance. Players have the option to accept or reject a proposed match, and a match does not move ahead to game session placement unless all matched players accept.

Matchmaking status notification -- There are two ways to track the progress of matchmaking tickets: (1) polling ticket status with DescribeMatchmaking; or (2) receiving notifications with Amazon Simple Notification Service (SNS). To use notifications, you first need to set up an SNS topic to receive the notifications, and provide the topic ARN in the matchmaking configuration (see Setting up Notifications for Matchmaking). Since notifications promise only \"best effort\" delivery, we recommend calling DescribeMatchmaking if no notifications are received within 30 seconds.

" }, "CreateMatchmakingRuleSet":{ "name":"CreateMatchmakingRuleSet", @@ -147,7 +147,7 @@ {"shape":"InternalServiceException"}, {"shape":"UnsupportedRegionException"} ], - "documentation":"

Creates a new rule set for FlexMatch matchmaking. A rule set describes the type of match to create, such as the number and size of teams, and sets the parameters for acceptable player matches, such as minimum skill level or character type. Rule sets are used in matchmaking configurations, which define how matchmaking requests are handled. Each MatchmakingConfiguration uses one rule set; you can set up multiple rule sets to handle the scenarios that suit your game (such as for different game modes), and create a separate matchmaking configuration for each rule set. See additional information on rule set content in the MatchmakingRuleSet structure. For help creating rule sets, including useful examples, see the topic Adding FlexMatch to Your Game.

Once created, matchmaking rule sets cannot be changed or deleted, so we recommend checking the rule set syntax using ValidateMatchmakingRuleSet before creating the rule set.

To create a matchmaking rule set, provide the set of rules and a unique name. Rule sets must be defined in the same region as the matchmaking configuration they will be used with. Rule sets cannot be edited or deleted. If you need to change a rule set, create a new one with the necessary edits and then update matchmaking configurations to use the new rule set.

Operations related to match configurations and rule sets include:

" + "documentation":"

Creates a new rule set for FlexMatch matchmaking. A rule set describes the type of match to create, such as the number and size of teams, and sets the parameters for acceptable player matches, such as minimum skill level or character type. A rule set is used by a MatchmakingConfiguration.

To create a matchmaking rule set, provide unique rule set name and the rule set body in JSON format. Rule sets must be defined in the same region as the matchmaking configuration they will be used with.

Since matchmaking rule sets cannot be edited, it is a good idea to check the rule set syntax using ValidateMatchmakingRuleSet before creating a new rule set.

Learn more

Related operations

" }, "CreatePlayerSession":{ "name":"CreatePlayerSession", @@ -166,7 +166,7 @@ {"shape":"InvalidRequestException"}, {"shape":"NotFoundException"} ], - "documentation":"

Adds a player to a game session and creates a player session record. Before a player can be added, a game session must have an ACTIVE status, have a creation policy of ALLOW_ALL, and have an open player slot. To add a group of players to a game session, use CreatePlayerSessions.

To create a player session, specify a game session ID, player ID, and optionally a string of player data. If successful, the player is added to the game session and a new PlayerSession object is returned. Player sessions cannot be updated.

Available in Amazon GameLift Local.

Player-session-related operations include:

" + "documentation":"

Reserves an open player slot in an active game session. Before a player can be added, a game session must have an ACTIVE status, have a creation policy of ALLOW_ALL, and have an open player slot. To add a group of players to a game session, use CreatePlayerSessions. When the player connects to the game server and references a player session ID, the game server contacts the Amazon GameLift service to validate the player reservation and accept the player.

To create a player session, specify a game session ID, player ID, and optionally a string of player data. If successful, a slot is reserved in the game session for the player and a new PlayerSession object is returned. Player sessions cannot be updated.

Available in Amazon GameLift Local.

" }, "CreatePlayerSessions":{ "name":"CreatePlayerSessions", @@ -185,7 +185,23 @@ {"shape":"InvalidRequestException"}, {"shape":"NotFoundException"} ], - "documentation":"

Adds a group of players to a game session. This action is useful with a team matching feature. Before players can be added, a game session must have an ACTIVE status, have a creation policy of ALLOW_ALL, and have an open player slot. To add a single player to a game session, use CreatePlayerSession.

To create player sessions, specify a game session ID, a list of player IDs, and optionally a set of player data strings. If successful, the players are added to the game session and a set of new PlayerSession objects is returned. Player sessions cannot be updated.

Available in Amazon GameLift Local.

Player-session-related operations include:

" + "documentation":"

Reserves open slots in a game session for a group of players. Before players can be added, a game session must have an ACTIVE status, have a creation policy of ALLOW_ALL, and have an open player slot. To add a single player to a game session, use CreatePlayerSession. When a player connects to the game server and references a player session ID, the game server contacts the Amazon GameLift service to validate the player reservation and accept the player.

To create player sessions, specify a game session ID, a list of player IDs, and optionally a set of player data strings. If successful, a slot is reserved in the game session for each player and a set of new PlayerSession objects is returned. Player sessions cannot be updated.

Available in Amazon GameLift Local.

" + }, + "CreateScript":{ + "name":"CreateScript", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateScriptInput"}, + "output":{"shape":"CreateScriptOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Creates a new script record for your Realtime Servers script. Realtime scripts are JavaScript that provide configuration settings and optional custom game logic for your game. The script is deployed when you create a Realtime Servers fleet to host your game sessions. Script logic is executed during an active game session.

To create a new script record, specify a script name and provide the script file(s). The script files and all dependencies must be zipped into a single file. You can pull the zip file from either of these locations:

  • A locally available directory. Use the ZipFile parameter for this option.

  • An Amazon Simple Storage Service (Amazon S3) bucket under your AWS account. Use the StorageLocation parameter for this option. You'll need to have an Identity Access Management (IAM) role that allows the Amazon GameLift service to access your S3 bucket.

If the call is successful, a new script record is created with a unique script ID. If the script file is provided as a local file, the file is uploaded to an Amazon GameLift-owned S3 bucket and the script record's storage location reflects this location. If the script file is provided as an S3 bucket, Amazon GameLift accesses the file at this storage location as needed for deployment.

Learn more

Amazon GameLift Realtime Servers

Set Up a Role for Amazon GameLift Access

Related operations

" }, "CreateVpcPeeringAuthorization":{ "name":"CreateVpcPeeringAuthorization", @@ -201,7 +217,7 @@ {"shape":"NotFoundException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Requests authorization to create or delete a peer connection between the VPC for your Amazon GameLift fleet and a virtual private cloud (VPC) in your AWS account. VPC peering enables the game servers on your fleet to communicate directly with other AWS resources. Once you've received authorization, call CreateVpcPeeringConnection to establish the peering connection. For more information, see VPC Peering with Amazon GameLift Fleets.

You can peer with VPCs that are owned by any AWS account you have access to, including the account that you use to manage your Amazon GameLift fleets. You cannot peer with VPCs that are in different regions.

To request authorization to create a connection, call this operation from the AWS account with the VPC that you want to peer to your Amazon GameLift fleet. For example, to enable your game servers to retrieve data from a DynamoDB table, use the account that manages that DynamoDB resource. Identify the following values: (1) The ID of the VPC that you want to peer with, and (2) the ID of the AWS account that you use to manage Amazon GameLift. If successful, VPC peering is authorized for the specified VPC.

To request authorization to delete a connection, call this operation from the AWS account with the VPC that is peered with your Amazon GameLift fleet. Identify the following values: (1) VPC ID that you want to delete the peering connection for, and (2) ID of the AWS account that you use to manage Amazon GameLift.

The authorization remains valid for 24 hours unless it is canceled by a call to DeleteVpcPeeringAuthorization. You must create or delete the peering connection while the authorization is valid.

VPC peering connection operations include:

" + "documentation":"

Requests authorization to create or delete a peer connection between the VPC for your Amazon GameLift fleet and a virtual private cloud (VPC) in your AWS account. VPC peering enables the game servers on your fleet to communicate directly with other AWS resources. Once you've received authorization, call CreateVpcPeeringConnection to establish the peering connection. For more information, see VPC Peering with Amazon GameLift Fleets.

You can peer with VPCs that are owned by any AWS account you have access to, including the account that you use to manage your Amazon GameLift fleets. You cannot peer with VPCs that are in different regions.

To request authorization to create a connection, call this operation from the AWS account with the VPC that you want to peer to your Amazon GameLift fleet. For example, to enable your game servers to retrieve data from a DynamoDB table, use the account that manages that DynamoDB resource. Identify the following values: (1) The ID of the VPC that you want to peer with, and (2) the ID of the AWS account that you use to manage Amazon GameLift. If successful, VPC peering is authorized for the specified VPC.

To request authorization to delete a connection, call this operation from the AWS account with the VPC that is peered with your Amazon GameLift fleet. Identify the following values: (1) VPC ID that you want to delete the peering connection for, and (2) ID of the AWS account that you use to manage Amazon GameLift.

The authorization remains valid for 24 hours unless it is canceled by a call to DeleteVpcPeeringAuthorization. You must create or delete the peering connection while the authorization is valid.

" }, "CreateVpcPeeringConnection":{ "name":"CreateVpcPeeringConnection", @@ -217,7 +233,7 @@ {"shape":"NotFoundException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Establishes a VPC peering connection between a virtual private cloud (VPC) in an AWS account with the VPC for your Amazon GameLift fleet. VPC peering enables the game servers on your fleet to communicate directly with other AWS resources. You can peer with VPCs in any AWS account that you have access to, including the account that you use to manage your Amazon GameLift fleets. You cannot peer with VPCs that are in different regions. For more information, see VPC Peering with Amazon GameLift Fleets.

Before calling this operation to establish the peering connection, you first need to call CreateVpcPeeringAuthorization and identify the VPC you want to peer with. Once the authorization for the specified VPC is issued, you have 24 hours to establish the connection. These two operations handle all tasks necessary to peer the two VPCs, including acceptance, updating routing tables, etc.

To establish the connection, call this operation from the AWS account that is used to manage the Amazon GameLift fleets. Identify the following values: (1) The ID of the fleet you want to be enable a VPC peering connection for; (2) The AWS account with the VPC that you want to peer with; and (3) The ID of the VPC you want to peer with. This operation is asynchronous. If successful, a VpcPeeringConnection request is created. You can use continuous polling to track the request's status using DescribeVpcPeeringConnections, or by monitoring fleet events for success or failure using DescribeFleetEvents.

VPC peering connection operations include:

" + "documentation":"

Establishes a VPC peering connection between a virtual private cloud (VPC) in an AWS account with the VPC for your Amazon GameLift fleet. VPC peering enables the game servers on your fleet to communicate directly with other AWS resources. You can peer with VPCs in any AWS account that you have access to, including the account that you use to manage your Amazon GameLift fleets. You cannot peer with VPCs that are in different regions. For more information, see VPC Peering with Amazon GameLift Fleets.

Before calling this operation to establish the peering connection, you first need to call CreateVpcPeeringAuthorization and identify the VPC you want to peer with. Once the authorization for the specified VPC is issued, you have 24 hours to establish the connection. These two operations handle all tasks necessary to peer the two VPCs, including acceptance, updating routing tables, etc.

To establish the connection, call this operation from the AWS account that is used to manage the Amazon GameLift fleets. Identify the following values: (1) The ID of the fleet you want to be enable a VPC peering connection for; (2) The AWS account with the VPC that you want to peer with; and (3) The ID of the VPC you want to peer with. This operation is asynchronous. If successful, a VpcPeeringConnection request is created. You can use continuous polling to track the request's status using DescribeVpcPeeringConnections, or by monitoring fleet events for success or failure using DescribeFleetEvents.

" }, "DeleteAlias":{ "name":"DeleteAlias", @@ -232,7 +248,7 @@ {"shape":"InvalidRequestException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Deletes an alias. This action removes all record of the alias. Game clients attempting to access a server process using the deleted alias receive an error. To delete an alias, specify the alias ID to be deleted.

Alias-related operations include:

" + "documentation":"

Deletes an alias. This action removes all record of the alias. Game clients attempting to access a server process using the deleted alias receive an error. To delete an alias, specify the alias ID to be deleted.

" }, "DeleteBuild":{ "name":"DeleteBuild", @@ -247,7 +263,7 @@ {"shape":"InternalServiceException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Deletes a build. This action permanently deletes the build record and any uploaded build files.

To delete a build, specify its ID. Deleting a build does not affect the status of any active fleets using the build, but you can no longer create new fleets with the deleted build.

Build-related operations include:

" + "documentation":"

Deletes a build. This action permanently deletes the build record and any uploaded build files.

To delete a build, specify its ID. Deleting a build does not affect the status of any active fleets using the build, but you can no longer create new fleets with the deleted build.

Learn more

Working with Builds

Related operations

" }, "DeleteFleet":{ "name":"DeleteFleet", @@ -263,7 +279,7 @@ {"shape":"UnauthorizedException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Deletes everything related to a fleet. Before deleting a fleet, you must set the fleet's desired capacity to zero. See UpdateFleetCapacity.

This action removes the fleet's resources and the fleet record. Once a fleet is deleted, you can no longer use that fleet.

Fleet-related operations include:

" + "documentation":"

Deletes everything related to a fleet. Before deleting a fleet, you must set the fleet's desired capacity to zero. See UpdateFleetCapacity.

This action removes the fleet's resources and the fleet record. Once a fleet is deleted, you can no longer use that fleet.

Learn more

Working with Fleets.

Related operations

" }, "DeleteGameSessionQueue":{ "name":"DeleteGameSessionQueue", @@ -279,7 +295,7 @@ {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"} ], - "documentation":"

Deletes a game session queue. This action means that any StartGameSessionPlacement requests that reference this queue will fail. To delete a queue, specify the queue name.

Queue-related operations include:

" + "documentation":"

Deletes a game session queue. This action means that any StartGameSessionPlacement requests that reference this queue will fail. To delete a queue, specify the queue name.

" }, "DeleteMatchmakingConfiguration":{ "name":"DeleteMatchmakingConfiguration", @@ -295,7 +311,23 @@ {"shape":"InternalServiceException"}, {"shape":"UnsupportedRegionException"} ], - "documentation":"

Permanently removes a FlexMatch matchmaking configuration. To delete, specify the configuration name. A matchmaking configuration cannot be deleted if it is being used in any active matchmaking tickets.

Operations related to match configurations and rule sets include:

" + "documentation":"

Permanently removes a FlexMatch matchmaking configuration. To delete, specify the configuration name. A matchmaking configuration cannot be deleted if it is being used in any active matchmaking tickets.

" + }, + "DeleteMatchmakingRuleSet":{ + "name":"DeleteMatchmakingRuleSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteMatchmakingRuleSetInput"}, + "output":{"shape":"DeleteMatchmakingRuleSetOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceException"}, + {"shape":"UnsupportedRegionException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Deletes an existing matchmaking rule set. To delete the rule set, provide the rule set name. Rule sets cannot be deleted if they are currently being used by a matchmaking configuration.

Learn more

Related operations

" }, "DeleteScalingPolicy":{ "name":"DeleteScalingPolicy", @@ -310,7 +342,22 @@ {"shape":"UnauthorizedException"}, {"shape":"NotFoundException"} ], - "documentation":"

Deletes a fleet scaling policy. This action means that the policy is no longer in force and removes all record of it. To delete a scaling policy, specify both the scaling policy name and the fleet ID it is associated with.

To temporarily suspend scaling policies, call StopFleetActions. This operation suspends all policies for the fleet.

Operations related to fleet capacity scaling include:

" + "documentation":"

Deletes a fleet scaling policy. This action means that the policy is no longer in force and removes all record of it. To delete a scaling policy, specify both the scaling policy name and the fleet ID it is associated with.

To temporarily suspend scaling policies, call StopFleetActions. This operation suspends all policies for the fleet.

" + }, + "DeleteScript":{ + "name":"DeleteScript", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteScriptInput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Deletes a Realtime script. This action permanently deletes the script record. If script files were uploaded, they are also deleted (files stored in an S3 bucket are not deleted).

To delete a script, specify the script ID. Before deleting a script, be sure to terminate all fleets that are deployed with the script being deleted. Fleet instances periodically check for script updates, and if the script record no longer exists, the instance will go into an error state and be unable to host game sessions.

Learn more

Amazon GameLift Realtime Servers

Related operations

" }, "DeleteVpcPeeringAuthorization":{ "name":"DeleteVpcPeeringAuthorization", @@ -326,7 +373,7 @@ {"shape":"NotFoundException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Cancels a pending VPC peering authorization for the specified VPC. If the authorization has already been used to create a peering connection, call DeleteVpcPeeringConnection to remove the connection.

VPC peering connection operations include:

" + "documentation":"

Cancels a pending VPC peering authorization for the specified VPC. If the authorization has already been used to create a peering connection, call DeleteVpcPeeringConnection to remove the connection.

" }, "DeleteVpcPeeringConnection":{ "name":"DeleteVpcPeeringConnection", @@ -342,7 +389,7 @@ {"shape":"NotFoundException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Removes a VPC peering connection. To delete the connection, you must have a valid authorization for the VPC peering connection that you want to delete. You can check for an authorization by calling DescribeVpcPeeringAuthorizations or request a new one using CreateVpcPeeringAuthorization.

Once a valid authorization exists, call this operation from the AWS account that is used to manage the Amazon GameLift fleets. Identify the connection to delete by the connection ID and fleet ID. If successful, the connection is removed.

VPC peering connection operations include:

" + "documentation":"

Removes a VPC peering connection. To delete the connection, you must have a valid authorization for the VPC peering connection that you want to delete. You can check for an authorization by calling DescribeVpcPeeringAuthorizations or request a new one using CreateVpcPeeringAuthorization.

Once a valid authorization exists, call this operation from the AWS account that is used to manage the Amazon GameLift fleets. Identify the connection to delete by the connection ID and fleet ID. If successful, the connection is removed.

" }, "DescribeAlias":{ "name":"DescribeAlias", @@ -358,7 +405,7 @@ {"shape":"NotFoundException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Retrieves properties for an alias. This operation returns all alias metadata and settings. To get an alias's target fleet ID only, use ResolveAlias.

To get alias properties, specify the alias ID. If successful, the requested alias record is returned.

Alias-related operations include:

" + "documentation":"

Retrieves properties for an alias. This operation returns all alias metadata and settings. To get an alias's target fleet ID only, use ResolveAlias.

To get alias properties, specify the alias ID. If successful, the requested alias record is returned.

" }, "DescribeBuild":{ "name":"DescribeBuild", @@ -374,7 +421,7 @@ {"shape":"NotFoundException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Retrieves properties for a build. To request a build record, specify a build ID. If successful, an object containing the build properties is returned.

Build-related operations include:

" + "documentation":"

Retrieves properties for a build. To request a build record, specify a build ID. If successful, an object containing the build properties is returned.

Learn more

Working with Builds

Related operations

" }, "DescribeEC2InstanceLimits":{ "name":"DescribeEC2InstanceLimits", @@ -389,7 +436,7 @@ {"shape":"InternalServiceException"}, {"shape":"UnauthorizedException"} ], - "documentation":"

Retrieves the following information for the specified EC2 instance type:

  • maximum number of instances allowed per AWS account (service limit)

  • current usage level for the AWS account

Service limits vary depending on region. Available regions for Amazon GameLift can be found in the AWS Management Console for Amazon GameLift (see the drop-down list in the upper right corner).

Fleet-related operations include:

" + "documentation":"

Retrieves the following information for the specified EC2 instance type:

  • maximum number of instances allowed per AWS account (service limit)

  • current usage level for the AWS account

Service limits vary depending on region. Available regions for Amazon GameLift can be found in the AWS Management Console for Amazon GameLift (see the drop-down list in the upper right corner).

Learn more

Working with Fleets.

Related operations

" }, "DescribeFleetAttributes":{ "name":"DescribeFleetAttributes", @@ -405,7 +452,7 @@ {"shape":"InvalidRequestException"}, {"shape":"UnauthorizedException"} ], - "documentation":"

Retrieves fleet properties, including metadata, status, and configuration, for one or more fleets. You can request attributes for all fleets, or specify a list of one or more fleet IDs. When requesting multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a FleetAttributes object is returned for each requested fleet ID. When specifying a list of fleet IDs, attribute objects are returned only for fleets that currently exist.

Some API actions may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed.

Fleet-related operations include:

" + "documentation":"

Retrieves fleet properties, including metadata, status, and configuration, for one or more fleets. You can request attributes for all fleets, or specify a list of one or more fleet IDs. When requesting multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a FleetAttributes object is returned for each requested fleet ID. When specifying a list of fleet IDs, attribute objects are returned only for fleets that currently exist.

Some API actions may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed.

Learn more

Working with Fleets.

Related operations

" }, "DescribeFleetCapacity":{ "name":"DescribeFleetCapacity", @@ -421,7 +468,7 @@ {"shape":"InvalidRequestException"}, {"shape":"UnauthorizedException"} ], - "documentation":"

Retrieves the current status of fleet capacity for one or more fleets. This information includes the number of instances that have been requested for the fleet and the number currently active. You can request capacity for all fleets, or specify a list of one or more fleet IDs. When requesting multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a FleetCapacity object is returned for each requested fleet ID. When specifying a list of fleet IDs, attribute objects are returned only for fleets that currently exist.

Some API actions may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed.

Fleet-related operations include:

" + "documentation":"

Retrieves the current status of fleet capacity for one or more fleets. This information includes the number of instances that have been requested for the fleet and the number currently active. You can request capacity for all fleets, or specify a list of one or more fleet IDs. When requesting multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a FleetCapacity object is returned for each requested fleet ID. When specifying a list of fleet IDs, attribute objects are returned only for fleets that currently exist.

Some API actions may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed.

Learn more

Working with Fleets.

Related operations

" }, "DescribeFleetEvents":{ "name":"DescribeFleetEvents", @@ -437,7 +484,7 @@ {"shape":"UnauthorizedException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Retrieves entries from the specified fleet's event log. You can specify a time range to limit the result set. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a collection of event log entries matching the request are returned.

Fleet-related operations include:

" + "documentation":"

Retrieves entries from the specified fleet's event log. You can specify a time range to limit the result set. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a collection of event log entries matching the request are returned.

Learn more

Working with Fleets.

Related operations

" }, "DescribeFleetPortSettings":{ "name":"DescribeFleetPortSettings", @@ -453,7 +500,7 @@ {"shape":"InvalidRequestException"}, {"shape":"UnauthorizedException"} ], - "documentation":"

Retrieves the inbound connection permissions for a fleet. Connection permissions include a range of IP addresses and port settings that incoming traffic can use to access server processes in the fleet. To get a fleet's inbound connection permissions, specify a fleet ID. If successful, a collection of IpPermission objects is returned for the requested fleet ID. If the requested fleet has been deleted, the result set is empty.

Fleet-related operations include:

" + "documentation":"

Retrieves the inbound connection permissions for a fleet. Connection permissions include a range of IP addresses and port settings that incoming traffic can use to access server processes in the fleet. To get a fleet's inbound connection permissions, specify a fleet ID. If successful, a collection of IpPermission objects is returned for the requested fleet ID. If the requested fleet has been deleted, the result set is empty.

Learn more

Working with Fleets.

Related operations

" }, "DescribeFleetUtilization":{ "name":"DescribeFleetUtilization", @@ -469,7 +516,7 @@ {"shape":"InvalidRequestException"}, {"shape":"UnauthorizedException"} ], - "documentation":"

Retrieves utilization statistics for one or more fleets. You can request utilization data for all fleets, or specify a list of one or more fleet IDs. When requesting multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a FleetUtilization object is returned for each requested fleet ID. When specifying a list of fleet IDs, utilization objects are returned only for fleets that currently exist.

Some API actions may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed.

Fleet-related operations include:

" + "documentation":"

Retrieves utilization statistics for one or more fleets. You can request utilization data for all fleets, or specify a list of one or more fleet IDs. When requesting multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a FleetUtilization object is returned for each requested fleet ID. When specifying a list of fleet IDs, utilization objects are returned only for fleets that currently exist.

Some API actions may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed.

Learn more

Working with Fleets.

Related operations

" }, "DescribeGameSessionDetails":{ "name":"DescribeGameSessionDetails", @@ -486,7 +533,7 @@ {"shape":"UnauthorizedException"}, {"shape":"TerminalRoutingStrategyException"} ], - "documentation":"

Retrieves properties, including the protection policy in force, for one or more game sessions. This action can be used in several ways: (1) provide a GameSessionId or GameSessionArn to request details for a specific game session; (2) provide either a FleetId or an AliasId to request properties for all game sessions running on a fleet.

To get game session record(s), specify just one of the following: game session ID, fleet ID, or alias ID. You can filter this request by game session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a GameSessionDetail object is returned for each session matching the request.

Game-session-related operations include:

" + "documentation":"

Retrieves properties, including the protection policy in force, for one or more game sessions. This action can be used in several ways: (1) provide a GameSessionId or GameSessionArn to request details for a specific game session; (2) provide either a FleetId or an AliasId to request properties for all game sessions running on a fleet.

To get game session record(s), specify just one of the following: game session ID, fleet ID, or alias ID. You can filter this request by game session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a GameSessionDetail object is returned for each session matching the request.

" }, "DescribeGameSessionPlacement":{ "name":"DescribeGameSessionPlacement", @@ -502,7 +549,7 @@ {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"} ], - "documentation":"

Retrieves properties and current status of a game session placement request. To get game session placement details, specify the placement ID. If successful, a GameSessionPlacement object is returned.

Game-session-related operations include:

" + "documentation":"

Retrieves properties and current status of a game session placement request. To get game session placement details, specify the placement ID. If successful, a GameSessionPlacement object is returned.

" }, "DescribeGameSessionQueues":{ "name":"DescribeGameSessionQueues", @@ -518,7 +565,7 @@ {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"} ], - "documentation":"

Retrieves the properties for one or more game session queues. When requesting multiple queues, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a GameSessionQueue object is returned for each requested queue. When specifying a list of queues, objects are returned only for queues that currently exist in the region.

Queue-related operations include:

" + "documentation":"

Retrieves the properties for one or more game session queues. When requesting multiple queues, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a GameSessionQueue object is returned for each requested queue. When specifying a list of queues, objects are returned only for queues that currently exist in the region.

" }, "DescribeGameSessions":{ "name":"DescribeGameSessions", @@ -535,7 +582,7 @@ {"shape":"UnauthorizedException"}, {"shape":"TerminalRoutingStrategyException"} ], - "documentation":"

Retrieves a set of one or more game sessions. Request a specific game session or request all game sessions on a fleet. Alternatively, use SearchGameSessions to request a set of active game sessions that are filtered by certain criteria. To retrieve protection policy settings for game sessions, use DescribeGameSessionDetails.

To get game sessions, specify one of the following: game session ID, fleet ID, or alias ID. You can filter this request by game session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a GameSession object is returned for each game session matching the request.

Available in Amazon GameLift Local.

Game-session-related operations include:

" + "documentation":"

Retrieves a set of one or more game sessions. Request a specific game session or request all game sessions on a fleet. Alternatively, use SearchGameSessions to request a set of active game sessions that are filtered by certain criteria. To retrieve protection policy settings for game sessions, use DescribeGameSessionDetails.

To get game sessions, specify one of the following: game session ID, fleet ID, or alias ID. You can filter this request by game session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a GameSession object is returned for each game session matching the request.

Available in Amazon GameLift Local.

" }, "DescribeInstances":{ "name":"DescribeInstances", @@ -566,7 +613,7 @@ {"shape":"InternalServiceException"}, {"shape":"UnsupportedRegionException"} ], - "documentation":"

Retrieves one or more matchmaking tickets. Use this operation to retrieve ticket information, including status and--once a successful match is made--acquire connection information for the resulting new game session.

You can use this operation to track the progress of matchmaking requests (through polling) as an alternative to using event notifications. See more details on tracking matchmaking requests through polling or notifications in StartMatchmaking.

To request matchmaking tickets, provide a list of up to 10 ticket IDs. If the request is successful, a ticket object is returned for each requested ID that currently exists.

Matchmaking-related operations include:

" + "documentation":"

Retrieves one or more matchmaking tickets. Use this operation to retrieve ticket information, including status and--once a successful match is made--acquire connection information for the resulting new game session.

You can use this operation to track the progress of matchmaking requests (through polling) as an alternative to using event notifications. See more details on tracking matchmaking requests through polling or notifications in StartMatchmaking.

To request matchmaking tickets, provide a list of up to 10 ticket IDs. If the request is successful, a ticket object is returned for each requested ID that currently exists.

" }, "DescribeMatchmakingConfigurations":{ "name":"DescribeMatchmakingConfigurations", @@ -581,7 +628,7 @@ {"shape":"InternalServiceException"}, {"shape":"UnsupportedRegionException"} ], - "documentation":"

Retrieves the details of FlexMatch matchmaking configurations. with this operation, you have the following options: (1) retrieve all existing configurations, (2) provide the names of one or more configurations to retrieve, or (3) retrieve all configurations that use a specified rule set name. When requesting multiple items, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a configuration is returned for each requested name. When specifying a list of names, only configurations that currently exist are returned.

Operations related to match configurations and rule sets include:

" + "documentation":"

Retrieves the details of FlexMatch matchmaking configurations. with this operation, you have the following options: (1) retrieve all existing configurations, (2) provide the names of one or more configurations to retrieve, or (3) retrieve all configurations that use a specified rule set name. When requesting multiple items, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a configuration is returned for each requested name. When specifying a list of names, only configurations that currently exist are returned.

" }, "DescribeMatchmakingRuleSets":{ "name":"DescribeMatchmakingRuleSets", @@ -597,7 +644,7 @@ {"shape":"NotFoundException"}, {"shape":"UnsupportedRegionException"} ], - "documentation":"

Retrieves the details for FlexMatch matchmaking rule sets. You can request all existing rule sets for the region, or provide a list of one or more rule set names. When requesting multiple items, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a rule set is returned for each requested name.

Operations related to match configurations and rule sets include:

" + "documentation":"

Retrieves the details for FlexMatch matchmaking rule sets. You can request all existing rule sets for the region, or provide a list of one or more rule set names. When requesting multiple items, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a rule set is returned for each requested name.

Learn more

Related operations

" }, "DescribePlayerSessions":{ "name":"DescribePlayerSessions", @@ -613,7 +660,7 @@ {"shape":"InvalidRequestException"}, {"shape":"UnauthorizedException"} ], - "documentation":"

Retrieves properties for one or more player sessions. This action can be used in several ways: (1) provide a PlayerSessionId to request properties for a specific player session; (2) provide a GameSessionId to request properties for all player sessions in the specified game session; (3) provide a PlayerId to request properties for all player sessions of a specified player.

To get game session record(s), specify only one of the following: a player session ID, a game session ID, or a player ID. You can filter this request by player session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a PlayerSession object is returned for each session matching the request.

Available in Amazon GameLift Local.

Player-session-related operations include:

" + "documentation":"

Retrieves properties for one or more player sessions. This action can be used in several ways: (1) provide a PlayerSessionId to request properties for a specific player session; (2) provide a GameSessionId to request properties for all player sessions in the specified game session; (3) provide a PlayerId to request properties for all player sessions of a specified player.

To get game session record(s), specify only one of the following: a player session ID, a game session ID, or a player ID. You can filter this request by player session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a PlayerSession object is returned for each session matching the request.

Available in Amazon GameLift Local.

" }, "DescribeRuntimeConfiguration":{ "name":"DescribeRuntimeConfiguration", @@ -629,7 +676,7 @@ {"shape":"InternalServiceException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Retrieves the current run-time configuration for the specified fleet. The run-time configuration tells Amazon GameLift how to launch server processes on instances in the fleet.

Fleet-related operations include:

" + "documentation":"

Retrieves the current run-time configuration for the specified fleet. The run-time configuration tells Amazon GameLift how to launch server processes on instances in the fleet.

Learn more

Working with Fleets.

Related operations

" }, "DescribeScalingPolicies":{ "name":"DescribeScalingPolicies", @@ -645,7 +692,23 @@ {"shape":"UnauthorizedException"}, {"shape":"NotFoundException"} ], - "documentation":"

Retrieves all scaling policies applied to a fleet.

To get a fleet's scaling policies, specify the fleet ID. You can filter this request by policy status, such as to retrieve only active scaling policies. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, set of ScalingPolicy objects is returned for the fleet.

A fleet may have all of its scaling policies suspended (StopFleetActions). This action does not affect the status of the scaling policies, which remains ACTIVE. To see whether a fleet's scaling policies are in force or suspended, call DescribeFleetAttributes and check the stopped actions.

Operations related to fleet capacity scaling include:

" + "documentation":"

Retrieves all scaling policies applied to a fleet.

To get a fleet's scaling policies, specify the fleet ID. You can filter this request by policy status, such as to retrieve only active scaling policies. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, set of ScalingPolicy objects is returned for the fleet.

A fleet may have all of its scaling policies suspended (StopFleetActions). This action does not affect the status of the scaling policies, which remains ACTIVE. To see whether a fleet's scaling policies are in force or suspended, call DescribeFleetAttributes and check the stopped actions.

" + }, + "DescribeScript":{ + "name":"DescribeScript", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeScriptInput"}, + "output":{"shape":"DescribeScriptOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Retrieves properties for a Realtime script.

To request a script record, specify the script ID. If successful, an object containing the script properties is returned.

Learn more

Amazon GameLift Realtime Servers

Related operations

" }, "DescribeVpcPeeringAuthorizations":{ "name":"DescribeVpcPeeringAuthorizations", @@ -660,7 +723,7 @@ {"shape":"InvalidRequestException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Retrieves valid VPC peering authorizations that are pending for the AWS account. This operation returns all VPC peering authorizations and requests for peering. This includes those initiated and received by this account.

VPC peering connection operations include:

" + "documentation":"

Retrieves valid VPC peering authorizations that are pending for the AWS account. This operation returns all VPC peering authorizations and requests for peering. This includes those initiated and received by this account.

" }, "DescribeVpcPeeringConnections":{ "name":"DescribeVpcPeeringConnections", @@ -676,7 +739,7 @@ {"shape":"NotFoundException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Retrieves information on VPC peering connections. Use this operation to get peering information for all fleets or for one specific fleet ID.

To retrieve connection information, call this operation from the AWS account that is used to manage the Amazon GameLift fleets. Specify a fleet ID or leave the parameter empty to retrieve all connection records. If successful, the retrieved information includes both active and pending connections. Active connections identify the IpV4 CIDR block that the VPC uses to connect.

VPC peering connection operations include:

" + "documentation":"

Retrieves information on VPC peering connections. Use this operation to get peering information for all fleets or for one specific fleet ID.

To retrieve connection information, call this operation from the AWS account that is used to manage the Amazon GameLift fleets. Specify a fleet ID or leave the parameter empty to retrieve all connection records. If successful, the retrieved information includes both active and pending connections. Active connections identify the IpV4 CIDR block that the VPC uses to connect.

" }, "GetGameSessionLogUrl":{ "name":"GetGameSessionLogUrl", @@ -692,7 +755,7 @@ {"shape":"UnauthorizedException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Retrieves the location of stored game session logs for a specified game session. When a game session is terminated, Amazon GameLift automatically stores the logs in Amazon S3 and retains them for 14 days. Use this URL to download the logs.

See the AWS Service Limits page for maximum log file sizes. Log files that exceed this limit are not saved.

Game-session-related operations include:

" + "documentation":"

Retrieves the location of stored game session logs for a specified game session. When a game session is terminated, Amazon GameLift automatically stores the logs in Amazon S3 and retains them for 14 days. Use this URL to download the logs.

See the AWS Service Limits page for maximum log file sizes. Log files that exceed this limit are not saved.

" }, "GetInstanceAccess":{ "name":"GetInstanceAccess", @@ -708,7 +771,7 @@ {"shape":"NotFoundException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Requests remote access to a fleet instance. Remote access is useful for debugging, gathering benchmarking data, or watching activity in real time.

Access requires credentials that match the operating system of the instance. For a Windows instance, Amazon GameLift returns a user name and password as strings for use with a Windows Remote Desktop client. For a Linux instance, Amazon GameLift returns a user name and RSA private key, also as strings, for use with an SSH client. The private key must be saved in the proper format to a .pem file before using. If you're making this request using the AWS CLI, saving the secret can be handled as part of the GetInstanceAccess request. (See the example later in this topic). For more information on remote access, see Remotely Accessing an Instance.

To request access to a specific instance, specify the IDs of the instance and the fleet it belongs to. If successful, an InstanceAccess object is returned containing the instance's IP address and a set of credentials.

" + "documentation":"

Requests remote access to a fleet instance. Remote access is useful for debugging, gathering benchmarking data, or watching activity in real time.

Access requires credentials that match the operating system of the instance. For a Windows instance, Amazon GameLift returns a user name and password as strings for use with a Windows Remote Desktop client. For a Linux instance, Amazon GameLift returns a user name and RSA private key, also as strings, for use with an SSH client. The private key must be saved in the proper format to a .pem file before using. If you're making this request using the AWS CLI, saving the secret can be handled as part of the GetInstanceAccess request. (See the example later in this topic). For more information on remote access, see Remotely Accessing an Instance.

To request access to a specific instance, specify the IDs of both the instance and the fleet it belongs to. You can retrieve a fleet's instance IDs by calling DescribeInstances. If successful, an InstanceAccess object is returned containing the instance's IP address and a set of credentials.

" }, "ListAliases":{ "name":"ListAliases", @@ -723,7 +786,7 @@ {"shape":"InvalidRequestException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Retrieves all aliases for this AWS account. You can filter the result set by alias name and/or routing strategy type. Use the pagination parameters to retrieve results in sequential pages.

Returned aliases are not listed in any particular order.

Alias-related operations include:

" + "documentation":"

Retrieves all aliases for this AWS account. You can filter the result set by alias name and/or routing strategy type. Use the pagination parameters to retrieve results in sequential pages.

Returned aliases are not listed in any particular order.

" }, "ListBuilds":{ "name":"ListBuilds", @@ -738,7 +801,7 @@ {"shape":"InvalidRequestException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Retrieves build records for all builds associated with the AWS account in use. You can limit results to builds that are in a specific status by using the Status parameter. Use the pagination parameters to retrieve results in a set of sequential pages.

Build records are not listed in any particular order.

Build-related operations include:

" + "documentation":"

Retrieves build records for all builds associated with the AWS account in use. You can limit results to builds that are in a specific status by using the Status parameter. Use the pagination parameters to retrieve results in a set of sequential pages.

Build records are not listed in any particular order.

Learn more

Working with Builds

Related operations

" }, "ListFleets":{ "name":"ListFleets", @@ -754,7 +817,22 @@ {"shape":"InvalidRequestException"}, {"shape":"UnauthorizedException"} ], - "documentation":"

Retrieves a collection of fleet records for this AWS account. You can filter the result set by build ID. Use the pagination parameters to retrieve results in sequential pages.

Fleet records are not listed in any particular order.

Fleet-related operations include:

" + "documentation":"

Retrieves a collection of fleet records for this AWS account. You can filter the result set to find only those fleets that are deployed with a specific build or script. Use the pagination parameters to retrieve results in sequential pages.

Fleet records are not listed in a particular order.

Learn more

Set Up Fleets.

Related operations

" + }, + "ListScripts":{ + "name":"ListScripts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListScriptsInput"}, + "output":{"shape":"ListScriptsOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Retrieves script records for all Realtime scripts that are associated with the AWS account in use.

Learn more

Amazon GameLift Realtime Servers

Related operations

" }, "PutScalingPolicy":{ "name":"PutScalingPolicy", @@ -770,7 +848,7 @@ {"shape":"UnauthorizedException"}, {"shape":"NotFoundException"} ], - "documentation":"

Creates or updates a scaling policy for a fleet. Scaling policies are used to automatically scale a fleet's hosting capacity to meet player demand. An active scaling policy instructs Amazon GameLift to track a fleet metric and automatically change the fleet's capacity when a certain threshold is reached. There are two types of scaling policies: target-based and rule-based. Use a target-based policy to quickly and efficiently manage fleet scaling; this option is the most commonly used. Use rule-based policies when you need to exert fine-grained control over auto-scaling.

Fleets can have multiple scaling policies of each type in force at the same time; you can have one target-based policy, one or multiple rule-based scaling policies, or both. We recommend caution, however, because multiple auto-scaling policies can have unintended consequences.

You can temporarily suspend all scaling policies for a fleet by calling StopFleetActions with the fleet action AUTO_SCALING. To resume scaling policies, call StartFleetActions with the same fleet action. To stop just one scaling policy--or to permanently remove it, you must delete the policy with DeleteScalingPolicy.

Learn more about how to work with auto-scaling in Set Up Fleet Automatic Scaling.

Target-based policy

A target-based policy tracks a single metric: PercentAvailableGameSessions. This metric tells us how much of a fleet's hosting capacity is ready to host game sessions but is not currently in use. This is the fleet's buffer; it measures the additional player demand that the fleet could handle at current capacity. With a target-based policy, you set your ideal buffer size and leave it to Amazon GameLift to take whatever action is needed to maintain that target.

For example, you might choose to maintain a 10% buffer for a fleet that has the capacity to host 100 simultaneous game sessions. This policy tells Amazon GameLift to take action whenever the fleet's available capacity falls below or rises above 10 game sessions. Amazon GameLift will start new instances or stop unused instances in order to return to the 10% buffer.

To create or update a target-based policy, specify a fleet ID and name, and set the policy type to \"TargetBased\". Specify the metric to track (PercentAvailableGameSessions) and reference a TargetConfiguration object with your desired buffer value. Exclude all other parameters. On a successful request, the policy name is returned. The scaling policy is automatically in force as soon as it's successfully created. If the fleet's auto-scaling actions are temporarily suspended, the new policy will be in force once the fleet actions are restarted.

Rule-based policy

A rule-based policy tracks specified fleet metric, sets a threshold value, and specifies the type of action to initiate when triggered. With a rule-based policy, you can select from several available fleet metrics. Each policy specifies whether to scale up or scale down (and by how much), so you need one policy for each type of action.

For example, a policy may make the following statement: \"If the percentage of idle instances is greater than 20% for more than 15 minutes, then reduce the fleet capacity by 10%.\"

A policy's rule statement has the following structure:

If [MetricName] is [ComparisonOperator] [Threshold] for [EvaluationPeriods] minutes, then [ScalingAdjustmentType] to/by [ScalingAdjustment].

To implement the example, the rule statement would look like this:

If [PercentIdleInstances] is [GreaterThanThreshold] [20] for [15] minutes, then [PercentChangeInCapacity] to/by [10].

To create or update a scaling policy, specify a unique combination of name and fleet ID, and set the policy type to \"RuleBased\". Specify the parameter values for a policy rule statement. On a successful request, the policy name is returned. Scaling policies are automatically in force as soon as they're successfully created. If the fleet's auto-scaling actions are temporarily suspended, the new policy will be in force once the fleet actions are restarted.

Operations related to fleet capacity scaling include:

" + "documentation":"

Creates or updates a scaling policy for a fleet. Scaling policies are used to automatically scale a fleet's hosting capacity to meet player demand. An active scaling policy instructs Amazon GameLift to track a fleet metric and automatically change the fleet's capacity when a certain threshold is reached. There are two types of scaling policies: target-based and rule-based. Use a target-based policy to quickly and efficiently manage fleet scaling; this option is the most commonly used. Use rule-based policies when you need to exert fine-grained control over auto-scaling.

Fleets can have multiple scaling policies of each type in force at the same time; you can have one target-based policy, one or multiple rule-based scaling policies, or both. We recommend caution, however, because multiple auto-scaling policies can have unintended consequences.

You can temporarily suspend all scaling policies for a fleet by calling StopFleetActions with the fleet action AUTO_SCALING. To resume scaling policies, call StartFleetActions with the same fleet action. To stop just one scaling policy--or to permanently remove it, you must delete the policy with DeleteScalingPolicy.

Learn more about how to work with auto-scaling in Set Up Fleet Automatic Scaling.

Target-based policy

A target-based policy tracks a single metric: PercentAvailableGameSessions. This metric tells us how much of a fleet's hosting capacity is ready to host game sessions but is not currently in use. This is the fleet's buffer; it measures the additional player demand that the fleet could handle at current capacity. With a target-based policy, you set your ideal buffer size and leave it to Amazon GameLift to take whatever action is needed to maintain that target.

For example, you might choose to maintain a 10% buffer for a fleet that has the capacity to host 100 simultaneous game sessions. This policy tells Amazon GameLift to take action whenever the fleet's available capacity falls below or rises above 10 game sessions. Amazon GameLift will start new instances or stop unused instances in order to return to the 10% buffer.

To create or update a target-based policy, specify a fleet ID and name, and set the policy type to \"TargetBased\". Specify the metric to track (PercentAvailableGameSessions) and reference a TargetConfiguration object with your desired buffer value. Exclude all other parameters. On a successful request, the policy name is returned. The scaling policy is automatically in force as soon as it's successfully created. If the fleet's auto-scaling actions are temporarily suspended, the new policy will be in force once the fleet actions are restarted.

Rule-based policy

A rule-based policy tracks specified fleet metric, sets a threshold value, and specifies the type of action to initiate when triggered. With a rule-based policy, you can select from several available fleet metrics. Each policy specifies whether to scale up or scale down (and by how much), so you need one policy for each type of action.

For example, a policy may make the following statement: \"If the percentage of idle instances is greater than 20% for more than 15 minutes, then reduce the fleet capacity by 10%.\"

A policy's rule statement has the following structure:

If [MetricName] is [ComparisonOperator] [Threshold] for [EvaluationPeriods] minutes, then [ScalingAdjustmentType] to/by [ScalingAdjustment].

To implement the example, the rule statement would look like this:

If [PercentIdleInstances] is [GreaterThanThreshold] [20] for [15] minutes, then [PercentChangeInCapacity] to/by [10].

To create or update a scaling policy, specify a unique combination of name and fleet ID, and set the policy type to \"RuleBased\". Specify the parameter values for a policy rule statement. On a successful request, the policy name is returned. Scaling policies are automatically in force as soon as they're successfully created. If the fleet's auto-scaling actions are temporarily suspended, the new policy will be in force once the fleet actions are restarted.

" }, "RequestUploadCredentials":{ "name":"RequestUploadCredentials", @@ -786,7 +864,7 @@ {"shape":"NotFoundException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Retrieves a fresh set of credentials for use when uploading a new set of game build files to Amazon GameLift's Amazon S3. This is done as part of the build creation process; see CreateBuild.

To request new credentials, specify the build ID as returned with an initial CreateBuild request. If successful, a new set of credentials are returned, along with the S3 storage location associated with the build ID.

" + "documentation":"

Retrieves a fresh set of credentials for use when uploading a new set of game build files to Amazon GameLift's Amazon S3. This is done as part of the build creation process; see CreateBuild.

To request new credentials, specify the build ID as returned with an initial CreateBuild request. If successful, a new set of credentials are returned, along with the S3 storage location associated with the build ID.

Learn more

Uploading Your Game

Related operations

" }, "ResolveAlias":{ "name":"ResolveAlias", @@ -803,7 +881,7 @@ {"shape":"TerminalRoutingStrategyException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Retrieves the fleet ID that a specified alias is currently pointing to.

Alias-related operations include:

" + "documentation":"

Retrieves the fleet ID that a specified alias is currently pointing to.

" }, "SearchGameSessions":{ "name":"SearchGameSessions", @@ -820,7 +898,7 @@ {"shape":"UnauthorizedException"}, {"shape":"TerminalRoutingStrategyException"} ], - "documentation":"

Retrieves all active game sessions that match a set of search criteria and sorts them in a specified order. You can search or sort by the following game session attributes:

  • gameSessionId -- Unique identifier for the game session. You can use either a GameSessionId or GameSessionArn value.

  • gameSessionName -- Name assigned to a game session. This value is set when requesting a new game session with CreateGameSession or updating with UpdateGameSession. Game session names do not need to be unique to a game session.

  • gameSessionProperties -- Custom data defined in a game session's GameProperty parameter. GameProperty values are stored as key:value pairs; the filter expression must indicate the key and a string to search the data values for. For example, to search for game sessions with custom data containing the key:value pair \"gameMode:brawl\", specify the following: gameSessionProperties.gameMode = \"brawl\". All custom data values are searched as strings.

  • maximumSessions -- Maximum number of player sessions allowed for a game session. This value is set when requesting a new game session with CreateGameSession or updating with UpdateGameSession.

  • creationTimeMillis -- Value indicating when a game session was created. It is expressed in Unix time as milliseconds.

  • playerSessionCount -- Number of players currently connected to a game session. This value changes rapidly as players join the session or drop out.

  • hasAvailablePlayerSessions -- Boolean value indicating whether a game session has reached its maximum number of players. It is highly recommended that all search requests include this filter attribute to optimize search performance and return only sessions that players can join.

Returned values for playerSessionCount and hasAvailablePlayerSessions change quickly as players join sessions and others drop out. Results should be considered a snapshot in time. Be sure to refresh search results often, and handle sessions that fill up before a player can join.

To search or sort, specify either a fleet ID or an alias ID, and provide a search filter expression, a sort expression, or both. If successful, a collection of GameSession objects matching the request is returned. Use the pagination parameters to retrieve results as a set of sequential pages.

You can search for game sessions one fleet at a time only. To find game sessions across multiple fleets, you must search each fleet separately and combine the results. This search feature finds only game sessions that are in ACTIVE status. To locate games in statuses other than active, use DescribeGameSessionDetails.

Game-session-related operations include:

" + "documentation":"

Retrieves all active game sessions that match a set of search criteria and sorts them in a specified order. You can search or sort by the following game session attributes:

  • gameSessionId -- Unique identifier for the game session. You can use either a GameSessionId or GameSessionArn value.

  • gameSessionName -- Name assigned to a game session. This value is set when requesting a new game session with CreateGameSession or updating with UpdateGameSession. Game session names do not need to be unique to a game session.

  • gameSessionProperties -- Custom data defined in a game session's GameProperty parameter. GameProperty values are stored as key:value pairs; the filter expression must indicate the key and a string to search the data values for. For example, to search for game sessions with custom data containing the key:value pair \"gameMode:brawl\", specify the following: gameSessionProperties.gameMode = \"brawl\". All custom data values are searched as strings.

  • maximumSessions -- Maximum number of player sessions allowed for a game session. This value is set when requesting a new game session with CreateGameSession or updating with UpdateGameSession.

  • creationTimeMillis -- Value indicating when a game session was created. It is expressed in Unix time as milliseconds.

  • playerSessionCount -- Number of players currently connected to a game session. This value changes rapidly as players join the session or drop out.

  • hasAvailablePlayerSessions -- Boolean value indicating whether a game session has reached its maximum number of players. It is highly recommended that all search requests include this filter attribute to optimize search performance and return only sessions that players can join.

Returned values for playerSessionCount and hasAvailablePlayerSessions change quickly as players join sessions and others drop out. Results should be considered a snapshot in time. Be sure to refresh search results often, and handle sessions that fill up before a player can join.

To search or sort, specify either a fleet ID or an alias ID, and provide a search filter expression, a sort expression, or both. If successful, a collection of GameSession objects matching the request is returned. Use the pagination parameters to retrieve results as a set of sequential pages.

You can search for game sessions one fleet at a time only. To find game sessions across multiple fleets, you must search each fleet separately and combine the results. This search feature finds only game sessions that are in ACTIVE status. To locate games in statuses other than active, use DescribeGameSessionDetails.

" }, "StartFleetActions":{ "name":"StartFleetActions", @@ -836,7 +914,7 @@ {"shape":"UnauthorizedException"}, {"shape":"NotFoundException"} ], - "documentation":"

Resumes activity on a fleet that was suspended with StopFleetActions. Currently, this operation is used to restart a fleet's auto-scaling activity.

To start fleet actions, specify the fleet ID and the type of actions to restart. When auto-scaling fleet actions are restarted, Amazon GameLift once again initiates scaling events as triggered by the fleet's scaling policies. If actions on the fleet were never stopped, this operation will have no effect. You can view a fleet's stopped actions using DescribeFleetAttributes.

Operations related to fleet capacity scaling include:

" + "documentation":"

Resumes activity on a fleet that was suspended with StopFleetActions. Currently, this operation is used to restart a fleet's auto-scaling activity.

To start fleet actions, specify the fleet ID and the type of actions to restart. When auto-scaling fleet actions are restarted, Amazon GameLift once again initiates scaling events as triggered by the fleet's scaling policies. If actions on the fleet were never stopped, this operation will have no effect. You can view a fleet's stopped actions using DescribeFleetAttributes.

Learn more

Working with Fleets.

Related operations

" }, "StartGameSessionPlacement":{ "name":"StartGameSessionPlacement", @@ -852,7 +930,7 @@ {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"} ], - "documentation":"

Places a request for a new game session in a queue (see CreateGameSessionQueue). When processing a placement request, Amazon GameLift searches for available resources on the queue's destinations, scanning each until it finds resources or the placement request times out.

A game session placement request can also request player sessions. When a new game session is successfully created, Amazon GameLift creates a player session for each player included in the request.

When placing a game session, by default Amazon GameLift tries each fleet in the order they are listed in the queue configuration. Ideally, a queue's destinations are listed in preference order.

Alternatively, when requesting a game session with players, you can also provide latency data for each player in relevant regions. Latency data indicates the performance lag a player experiences when connected to a fleet in the region. Amazon GameLift uses latency data to reorder the list of destinations to place the game session in a region with minimal lag. If latency data is provided for multiple players, Amazon GameLift calculates each region's average lag for all players and reorders to get the best game play across all players.

To place a new game session request, specify the following:

  • The queue name and a set of game session properties and settings

  • A unique ID (such as a UUID) for the placement. You use this ID to track the status of the placement request

  • (Optional) A set of IDs and player data for each player you want to join to the new game session

  • Latency data for all players (if you want to optimize game play for the players)

If successful, a new game session placement is created.

To track the status of a placement request, call DescribeGameSessionPlacement and check the request's status. If the status is FULFILLED, a new game session has been created and a game session ARN and region are referenced. If the placement request times out, you can resubmit the request or retry it with a different queue.

Game-session-related operations include:

" + "documentation":"

Places a request for a new game session in a queue (see CreateGameSessionQueue). When processing a placement request, Amazon GameLift searches for available resources on the queue's destinations, scanning each until it finds resources or the placement request times out.

A game session placement request can also request player sessions. When a new game session is successfully created, Amazon GameLift creates a player session for each player included in the request.

When placing a game session, by default Amazon GameLift tries each fleet in the order they are listed in the queue configuration. Ideally, a queue's destinations are listed in preference order.

Alternatively, when requesting a game session with players, you can also provide latency data for each player in relevant regions. Latency data indicates the performance lag a player experiences when connected to a fleet in the region. Amazon GameLift uses latency data to reorder the list of destinations to place the game session in a region with minimal lag. If latency data is provided for multiple players, Amazon GameLift calculates each region's average lag for all players and reorders to get the best game play across all players.

To place a new game session request, specify the following:

  • The queue name and a set of game session properties and settings

  • A unique ID (such as a UUID) for the placement. You use this ID to track the status of the placement request

  • (Optional) A set of player data and a unique player ID for each player that you are joining to the new game session (player data is optional, but if you include it, you must also provide a unique ID for each player)

  • Latency data for all players (if you want to optimize game play for the players)

If successful, a new game session placement is created.

To track the status of a placement request, call DescribeGameSessionPlacement and check the request's status. If the status is FULFILLED, a new game session has been created and a game session ARN and region are referenced. If the placement request times out, you can resubmit the request or retry it with a different queue.

" }, "StartMatchBackfill":{ "name":"StartMatchBackfill", @@ -868,7 +946,7 @@ {"shape":"InternalServiceException"}, {"shape":"UnsupportedRegionException"} ], - "documentation":"

Finds new players to fill open slots in an existing game session. This operation can be used to add players to matched games that start with fewer than the maximum number of players or to replace players when they drop out. By backfilling with the same matchmaker used to create the original match, you ensure that new players meet the match criteria and maintain a consistent experience throughout the game session. You can backfill a match anytime after a game session has been created.

To request a match backfill, specify a unique ticket ID, the existing game session's ARN, a matchmaking configuration, and a set of data that describes all current players in the game session. If successful, a match backfill ticket is created and returned with status set to QUEUED. The ticket is placed in the matchmaker's ticket pool and processed. Track the status of the ticket to respond as needed. For more detail how to set up backfilling, see Backfill Existing Games with FlexMatch.

The process of finding backfill matches is essentially identical to the initial matchmaking process. The matchmaker searches the pool and groups tickets together to form potential matches, allowing only one backfill ticket per potential match. Once the a match is formed, the matchmaker creates player sessions for the new players. All tickets in the match are updated with the game session's connection information, and the GameSession object is updated to include matchmaker data on the new players. For more detail on how match backfill requests are processed, see How Amazon GameLift FlexMatch Works.

Matchmaking-related operations include:

" + "documentation":"

Finds new players to fill open slots in an existing game session. This operation can be used to add players to matched games that start with fewer than the maximum number of players or to replace players when they drop out. By backfilling with the same matchmaker used to create the original match, you ensure that new players meet the match criteria and maintain a consistent experience throughout the game session. You can backfill a match anytime after a game session has been created.

To request a match backfill, specify a unique ticket ID, the existing game session's ARN, a matchmaking configuration, and a set of data that describes all current players in the game session. If successful, a match backfill ticket is created and returned with status set to QUEUED. The ticket is placed in the matchmaker's ticket pool and processed. Track the status of the ticket to respond as needed. For more detail how to set up backfilling, see Backfill Existing Games with FlexMatch.

The process of finding backfill matches is essentially identical to the initial matchmaking process. The matchmaker searches the pool and groups tickets together to form potential matches, allowing only one backfill ticket per potential match. Once the a match is formed, the matchmaker creates player sessions for the new players. All tickets in the match are updated with the game session's connection information, and the GameSession object is updated to include matchmaker data on the new players. For more detail on how match backfill requests are processed, see How Amazon GameLift FlexMatch Works.

" }, "StartMatchmaking":{ "name":"StartMatchmaking", @@ -884,7 +962,7 @@ {"shape":"InternalServiceException"}, {"shape":"UnsupportedRegionException"} ], - "documentation":"

Uses FlexMatch to create a game match for a group of players based on custom matchmaking rules, and starts a new game for the matched players. Each matchmaking request specifies the type of match to build (team configuration, rules for an acceptable match, etc.). The request also specifies the players to find a match for and where to host the new game session for optimal performance. A matchmaking request might start with a single player or a group of players who want to play together. FlexMatch finds additional players as needed to fill the match. Match type, rules, and the queue used to place a new game session are defined in a MatchmakingConfiguration. For complete information on setting up and using FlexMatch, see the topic Adding FlexMatch to Your Game.

To start matchmaking, provide a unique ticket ID, specify a matchmaking configuration, and include the players to be matched. You must also include a set of player attributes relevant for the matchmaking configuration. If successful, a matchmaking ticket is returned with status set to QUEUED. Track the status of the ticket to respond as needed and acquire game session connection information for successfully completed matches.

Tracking ticket status -- A couple of options are available for tracking the status of matchmaking requests:

  • Polling -- Call DescribeMatchmaking. This operation returns the full ticket object, including current status and (for completed tickets) game session connection info. We recommend polling no more than once every 10 seconds.

  • Notifications -- Get event notifications for changes in ticket status using Amazon Simple Notification Service (SNS). Notifications are easy to set up (see CreateMatchmakingConfiguration) and typically deliver match status changes faster and more efficiently than polling. We recommend that you use polling to back up to notifications (since delivery is not guaranteed) and call DescribeMatchmaking only when notifications are not received within 30 seconds.

Processing a matchmaking request -- FlexMatch handles a matchmaking request as follows:

  1. Your client code submits a StartMatchmaking request for one or more players and tracks the status of the request ticket.

  2. FlexMatch uses this ticket and others in process to build an acceptable match. When a potential match is identified, all tickets in the proposed match are advanced to the next status.

  3. If the match requires player acceptance (set in the matchmaking configuration), the tickets move into status REQUIRES_ACCEPTANCE. This status triggers your client code to solicit acceptance from all players in every ticket involved in the match, and then call AcceptMatch for each player. If any player rejects or fails to accept the match before a specified timeout, the proposed match is dropped (see AcceptMatch for more details).

  4. Once a match is proposed and accepted, the matchmaking tickets move into status PLACING. FlexMatch locates resources for a new game session using the game session queue (set in the matchmaking configuration) and creates the game session based on the match data.

  5. When the match is successfully placed, the matchmaking tickets move into COMPLETED status. Connection information (including game session endpoint and player session) is added to the matchmaking tickets. Matched players can use the connection information to join the game.

Matchmaking-related operations include:

" + "documentation":"

Uses FlexMatch to create a game match for a group of players based on custom matchmaking rules, and starts a new game for the matched players. Each matchmaking request specifies the type of match to build (team configuration, rules for an acceptable match, etc.). The request also specifies the players to find a match for and where to host the new game session for optimal performance. A matchmaking request might start with a single player or a group of players who want to play together. FlexMatch finds additional players as needed to fill the match. Match type, rules, and the queue used to place a new game session are defined in a MatchmakingConfiguration. For complete information on setting up and using FlexMatch, see the topic Adding FlexMatch to Your Game.

To start matchmaking, provide a unique ticket ID, specify a matchmaking configuration, and include the players to be matched. You must also include a set of player attributes relevant for the matchmaking configuration. If successful, a matchmaking ticket is returned with status set to QUEUED. Track the status of the ticket to respond as needed and acquire game session connection information for successfully completed matches.

Tracking ticket status -- A couple of options are available for tracking the status of matchmaking requests:

  • Polling -- Call DescribeMatchmaking. This operation returns the full ticket object, including current status and (for completed tickets) game session connection info. We recommend polling no more than once every 10 seconds.

  • Notifications -- Get event notifications for changes in ticket status using Amazon Simple Notification Service (SNS). Notifications are easy to set up (see CreateMatchmakingConfiguration) and typically deliver match status changes faster and more efficiently than polling. We recommend that you use polling to back up to notifications (since delivery is not guaranteed) and call DescribeMatchmaking only when notifications are not received within 30 seconds.

Processing a matchmaking request -- FlexMatch handles a matchmaking request as follows:

  1. Your client code submits a StartMatchmaking request for one or more players and tracks the status of the request ticket.

  2. FlexMatch uses this ticket and others in process to build an acceptable match. When a potential match is identified, all tickets in the proposed match are advanced to the next status.

  3. If the match requires player acceptance (set in the matchmaking configuration), the tickets move into status REQUIRES_ACCEPTANCE. This status triggers your client code to solicit acceptance from all players in every ticket involved in the match, and then call AcceptMatch for each player. If any player rejects or fails to accept the match before a specified timeout, the proposed match is dropped (see AcceptMatch for more details).

  4. Once a match is proposed and accepted, the matchmaking tickets move into status PLACING. FlexMatch locates resources for a new game session using the game session queue (set in the matchmaking configuration) and creates the game session based on the match data.

  5. When the match is successfully placed, the matchmaking tickets move into COMPLETED status. Connection information (including game session endpoint and player session) is added to the matchmaking tickets. Matched players can use the connection information to join the game.

" }, "StopFleetActions":{ "name":"StopFleetActions", @@ -900,7 +978,7 @@ {"shape":"UnauthorizedException"}, {"shape":"NotFoundException"} ], - "documentation":"

Suspends activity on a fleet. Currently, this operation is used to stop a fleet's auto-scaling activity. It is used to temporarily stop scaling events triggered by the fleet's scaling policies. The policies can be retained and auto-scaling activity can be restarted using StartFleetActions. You can view a fleet's stopped actions using DescribeFleetAttributes.

To stop fleet actions, specify the fleet ID and the type of actions to suspend. When auto-scaling fleet actions are stopped, Amazon GameLift no longer initiates scaling events except to maintain the fleet's desired instances setting (FleetCapacity. Changes to the fleet's capacity must be done manually using UpdateFleetCapacity.

" + "documentation":"

Suspends activity on a fleet. Currently, this operation is used to stop a fleet's auto-scaling activity. It is used to temporarily stop scaling events triggered by the fleet's scaling policies. The policies can be retained and auto-scaling activity can be restarted using StartFleetActions. You can view a fleet's stopped actions using DescribeFleetAttributes.

To stop fleet actions, specify the fleet ID and the type of actions to suspend. When auto-scaling fleet actions are stopped, Amazon GameLift no longer initiates scaling events except to maintain the fleet's desired instances setting (FleetCapacity. Changes to the fleet's capacity must be done manually using UpdateFleetCapacity.

Learn more

Working with Fleets.

Related operations

" }, "StopGameSessionPlacement":{ "name":"StopGameSessionPlacement", @@ -916,7 +994,7 @@ {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"} ], - "documentation":"

Cancels a game session placement that is in PENDING status. To stop a placement, provide the placement ID values. If successful, the placement is moved to CANCELLED status.

Game-session-related operations include:

" + "documentation":"

Cancels a game session placement that is in PENDING status. To stop a placement, provide the placement ID values. If successful, the placement is moved to CANCELLED status.

" }, "StopMatchmaking":{ "name":"StopMatchmaking", @@ -932,7 +1010,7 @@ {"shape":"InternalServiceException"}, {"shape":"UnsupportedRegionException"} ], - "documentation":"

Cancels a matchmaking ticket that is currently being processed. To stop the matchmaking operation, specify the ticket ID. If successful, work on the ticket is stopped, and the ticket status is changed to CANCELLED.

Matchmaking-related operations include:

" + "documentation":"

Cancels a matchmaking ticket that is currently being processed. To stop the matchmaking operation, specify the ticket ID. If successful, work on the ticket is stopped, and the ticket status is changed to CANCELLED.

" }, "UpdateAlias":{ "name":"UpdateAlias", @@ -948,7 +1026,7 @@ {"shape":"NotFoundException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Updates properties for an alias. To update properties, specify the alias ID to be updated and provide the information to be changed. To reassign an alias to another fleet, provide an updated routing strategy. If successful, the updated alias record is returned.

Alias-related operations include:

" + "documentation":"

Updates properties for an alias. To update properties, specify the alias ID to be updated and provide the information to be changed. To reassign an alias to another fleet, provide an updated routing strategy. If successful, the updated alias record is returned.

" }, "UpdateBuild":{ "name":"UpdateBuild", @@ -964,7 +1042,7 @@ {"shape":"NotFoundException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Updates metadata in a build record, including the build name and version. To update the metadata, specify the build ID to update and provide the new values. If successful, a build object containing the updated metadata is returned.

Build-related operations include:

" + "documentation":"

Updates metadata in a build record, including the build name and version. To update the metadata, specify the build ID to update and provide the new values. If successful, a build object containing the updated metadata is returned.

Learn more

Working with Builds

Related operations

" }, "UpdateFleetAttributes":{ "name":"UpdateFleetAttributes", @@ -983,7 +1061,7 @@ {"shape":"InvalidRequestException"}, {"shape":"UnauthorizedException"} ], - "documentation":"

Updates fleet properties, including name and description, for a fleet. To update metadata, specify the fleet ID and the property values that you want to change. If successful, the fleet ID for the updated fleet is returned.

Fleet-related operations include:

" + "documentation":"

Updates fleet properties, including name and description, for a fleet. To update metadata, specify the fleet ID and the property values that you want to change. If successful, the fleet ID for the updated fleet is returned.

Learn more

Working with Fleets.

Related operations

" }, "UpdateFleetCapacity":{ "name":"UpdateFleetCapacity", @@ -1002,7 +1080,7 @@ {"shape":"InvalidRequestException"}, {"shape":"UnauthorizedException"} ], - "documentation":"

Updates capacity settings for a fleet. Use this action to specify the number of EC2 instances (hosts) that you want this fleet to contain. Before calling this action, you may want to call DescribeEC2InstanceLimits to get the maximum capacity based on the fleet's EC2 instance type.

Specify minimum and maximum number of instances. Amazon GameLift will not change fleet capacity to values fall outside of this range. This is particularly important when using auto-scaling (see PutScalingPolicy) to allow capacity to adjust based on player demand while imposing limits on automatic adjustments.

To update fleet capacity, specify the fleet ID and the number of instances you want the fleet to host. If successful, Amazon GameLift starts or terminates instances so that the fleet's active instance count matches the desired instance count. You can view a fleet's current capacity information by calling DescribeFleetCapacity. If the desired instance count is higher than the instance type's limit, the \"Limit Exceeded\" exception occurs.

Fleet-related operations include:

" + "documentation":"

Updates capacity settings for a fleet. Use this action to specify the number of EC2 instances (hosts) that you want this fleet to contain. Before calling this action, you may want to call DescribeEC2InstanceLimits to get the maximum capacity based on the fleet's EC2 instance type.

Specify minimum and maximum number of instances. Amazon GameLift will not change fleet capacity to values fall outside of this range. This is particularly important when using auto-scaling (see PutScalingPolicy) to allow capacity to adjust based on player demand while imposing limits on automatic adjustments.

To update fleet capacity, specify the fleet ID and the number of instances you want the fleet to host. If successful, Amazon GameLift starts or terminates instances so that the fleet's active instance count matches the desired instance count. You can view a fleet's current capacity information by calling DescribeFleetCapacity. If the desired instance count is higher than the instance type's limit, the \"Limit Exceeded\" exception occurs.

Learn more

Working with Fleets.

Related operations

" }, "UpdateFleetPortSettings":{ "name":"UpdateFleetPortSettings", @@ -1021,7 +1099,7 @@ {"shape":"InvalidRequestException"}, {"shape":"UnauthorizedException"} ], - "documentation":"

Updates port settings for a fleet. To update settings, specify the fleet ID to be updated and list the permissions you want to update. List the permissions you want to add in InboundPermissionAuthorizations, and permissions you want to remove in InboundPermissionRevocations. Permissions to be removed must match existing fleet permissions. If successful, the fleet ID for the updated fleet is returned.

Fleet-related operations include:

" + "documentation":"

Updates port settings for a fleet. To update settings, specify the fleet ID to be updated and list the permissions you want to update. List the permissions you want to add in InboundPermissionAuthorizations, and permissions you want to remove in InboundPermissionRevocations. Permissions to be removed must match existing fleet permissions. If successful, the fleet ID for the updated fleet is returned.

Learn more

Working with Fleets.

Related operations

" }, "UpdateGameSession":{ "name":"UpdateGameSession", @@ -1039,7 +1117,7 @@ {"shape":"InvalidGameSessionStatusException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Updates game session properties. This includes the session name, maximum player count, protection policy, which controls whether or not an active game session can be terminated during a scale-down event, and the player session creation policy, which controls whether or not new players can join the session. To update a game session, specify the game session ID and the values you want to change. If successful, an updated GameSession object is returned.

Game-session-related operations include:

" + "documentation":"

Updates game session properties. This includes the session name, maximum player count, protection policy, which controls whether or not an active game session can be terminated during a scale-down event, and the player session creation policy, which controls whether or not new players can join the session. To update a game session, specify the game session ID and the values you want to change. If successful, an updated GameSession object is returned.

" }, "UpdateGameSessionQueue":{ "name":"UpdateGameSessionQueue", @@ -1055,7 +1133,7 @@ {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"} ], - "documentation":"

Updates settings for a game session queue, which determines how new game session requests in the queue are processed. To update settings, specify the queue name to be updated and provide the new settings. When updating destinations, provide a complete list of destinations.

Queue-related operations include:

" + "documentation":"

Updates settings for a game session queue, which determines how new game session requests in the queue are processed. To update settings, specify the queue name to be updated and provide the new settings. When updating destinations, provide a complete list of destinations.

" }, "UpdateMatchmakingConfiguration":{ "name":"UpdateMatchmakingConfiguration", @@ -1071,7 +1149,7 @@ {"shape":"InternalServiceException"}, {"shape":"UnsupportedRegionException"} ], - "documentation":"

Updates settings for a FlexMatch matchmaking configuration. To update settings, specify the configuration name to be updated and provide the new settings.

Operations related to match configurations and rule sets include:

" + "documentation":"

Updates settings for a FlexMatch matchmaking configuration. To update settings, specify the configuration name to be updated and provide the new settings.

" }, "UpdateRuntimeConfiguration":{ "name":"UpdateRuntimeConfiguration", @@ -1088,7 +1166,23 @@ {"shape":"InvalidRequestException"}, {"shape":"InvalidFleetStatusException"} ], - "documentation":"

Updates the current run-time configuration for the specified fleet, which tells Amazon GameLift how to launch server processes on instances in the fleet. You can update a fleet's run-time configuration at any time after the fleet is created; it does not need to be in an ACTIVE status.

To update run-time configuration, specify the fleet ID and provide a RuntimeConfiguration object with the updated collection of server process configurations.

Each instance in a Amazon GameLift fleet checks regularly for an updated run-time configuration and changes how it launches server processes to comply with the latest version. Existing server processes are not affected by the update; they continue to run until they end, while Amazon GameLift simply adds new server processes to fit the current run-time configuration. As a result, the run-time configuration changes are applied gradually as existing processes shut down and new processes are launched in Amazon GameLift's normal process recycling activity.

Fleet-related operations include:

" + "documentation":"

Updates the current run-time configuration for the specified fleet, which tells Amazon GameLift how to launch server processes on instances in the fleet. You can update a fleet's run-time configuration at any time after the fleet is created; it does not need to be in an ACTIVE status.

To update run-time configuration, specify the fleet ID and provide a RuntimeConfiguration object with an updated set of server process configurations.

Each instance in a Amazon GameLift fleet checks regularly for an updated run-time configuration and changes how it launches server processes to comply with the latest version. Existing server processes are not affected by the update; run-time configuration changes are applied gradually as existing processes shut down and new processes are launched during Amazon GameLift's normal process recycling activity.

Learn more

Working with Fleets.

Related operations

" + }, + "UpdateScript":{ + "name":"UpdateScript", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateScriptInput"}, + "output":{"shape":"UpdateScriptOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Updates Realtime script metadata and content.

To update script metadata, specify the script ID and provide updated name and/or version values.

To update script content, provide an updated zip file by pointing to either a local file or an Amazon S3 bucket location. You can use either method regardless of how the original script was uploaded. Use the Version parameter to track updates to the script.

If the call is successful, the updated metadata is stored in the script record and a revised script is uploaded to the Amazon GameLift service. Once the script is updated and acquired by a fleet instance, the new version is used for all new game sessions.

Learn more

Amazon GameLift Realtime Servers

Related operations

" }, "ValidateMatchmakingRuleSet":{ "name":"ValidateMatchmakingRuleSet", @@ -1103,7 +1197,7 @@ {"shape":"UnsupportedRegionException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Validates the syntax of a matchmaking rule or rule set. This operation checks that the rule set uses syntactically correct JSON and that it conforms to allowed property expressions. To validate syntax, provide a rule set string.

Operations related to match configurations and rule sets include:

" + "documentation":"

Validates the syntax of a matchmaking rule or rule set. This operation checks that the rule set is using syntactically correct JSON and that it conforms to allowed property expressions. To validate syntax, provide a rule set JSON string.

Learn more

Related operations

" } }, "shapes":{ @@ -1174,7 +1268,7 @@ "documentation":"

Time stamp indicating when this data object was last modified. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" } }, - "documentation":"

Properties describing a fleet alias.

Alias-related operations include:

" + "documentation":"

Properties describing a fleet alias.

" }, "AliasId":{ "type":"string", @@ -1245,7 +1339,7 @@ }, "Version":{ "shape":"FreeText", - "documentation":"

Version that is associated with this build. Version strings do not need to be unique. This value can be set using CreateBuild or UpdateBuild.

" + "documentation":"

Version that is associated with a build or script. Version strings do not need to be unique. This value can be set using CreateBuild or UpdateBuild.

" }, "Status":{ "shape":"BuildStatus", @@ -1264,7 +1358,7 @@ "documentation":"

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" } }, - "documentation":"

Properties describing a game build.

Build-related operations include:

" + "documentation":"

Properties describing a custom game build.

Related operations

" }, "BuildId":{ "type":"string", @@ -1340,11 +1434,11 @@ }, "Version":{ "shape":"NonZeroAndMaxString", - "documentation":"

Version that is associated with this build. Version strings do not need to be unique. You can use UpdateBuild to change this value later.

" + "documentation":"

Version that is associated with a build or script. Version strings do not need to be unique. You can use UpdateBuild to change this value later.

" }, "StorageLocation":{ "shape":"S3Location", - "documentation":"

Information indicating where your game build files are stored. Use this parameter only when creating a build with files stored in an Amazon S3 bucket that you own. The storage location must specify an Amazon S3 bucket name and key, as well as a role ARN that you set up to allow Amazon GameLift to access your Amazon S3 bucket. The S3 bucket must be in the same region that you want to create a new build in.

" + "documentation":"

Information indicating where your game build files are stored. Use this parameter only when creating a build with files stored in an Amazon S3 bucket that you own. The storage location must specify an Amazon S3 bucket name and key, as well as a the ARN for a role that you set up to allow Amazon GameLift to access your Amazon S3 bucket. The S3 bucket must be in the same region that you want to create a new build in.

" }, "OperatingSystem":{ "shape":"OperatingSystem", @@ -1375,7 +1469,6 @@ "type":"structure", "required":[ "Name", - "BuildId", "EC2InstanceType" ], "members":{ @@ -1389,7 +1482,11 @@ }, "BuildId":{ "shape":"BuildId", - "documentation":"

Unique identifier for a build to be deployed on the new fleet. The build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created.

" + "documentation":"

Unique identifier for a build to be deployed on the new fleet. The custom game server build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created.

" + }, + "ScriptId":{ + "shape":"ScriptId", + "documentation":"

Unique identifier for a Realtime script to be deployed on the new fleet. The Realtime script must have been successfully uploaded to Amazon GameLift. This fleet setting cannot be changed once the fleet is created.

" }, "ServerLaunchPath":{ "shape":"NonZeroAndMaxString", @@ -1401,7 +1498,7 @@ }, "LogPaths":{ "shape":"StringList", - "documentation":"

This parameter is no longer used. Instead, to specify where Amazon GameLift should store log files once a server process shuts down, use the Amazon GameLift server API ProcessReady() and specify one or more directory paths in logParameters. See more information in the Server API Reference.

" + "documentation":"

This parameter is no longer used. Instead, to specify where Amazon GameLift should store log files once a server process shuts down, use the Amazon GameLift server API ProcessReady() and specify one or more directory paths in logParameters. See more information in the Server API Reference.

" }, "EC2InstanceType":{ "shape":"EC2InstanceType", @@ -1409,7 +1506,7 @@ }, "EC2InboundPermissions":{ "shape":"IpPermissionsList", - "documentation":"

Range of IP addresses and port settings that permit inbound traffic to access server processes running on the fleet. If no inbound permissions are set, including both IP address range and port range, the server processes in the fleet cannot accept connections. You can specify one or more sets of permissions for a fleet.

" + "documentation":"

Range of IP addresses and port settings that permit inbound traffic to access game sessions that running on the fleet. For fleets using a custom game build, this parameter is required before game sessions running on the fleet can accept connections. For Realtime Servers fleets, Amazon GameLift automatically sets TCP and UDP ranges for use by the Realtime servers. You can specify multiple permission settings or add more by updating the fleet.

" }, "NewGameSessionProtectionPolicy":{ "shape":"ProtectionPolicy", @@ -1417,7 +1514,7 @@ }, "RuntimeConfiguration":{ "shape":"RuntimeConfiguration", - "documentation":"

Instructions for launching server processes on each instance in the fleet. The run-time configuration for a fleet has a collection of server process configurations, one for each type of server process to run on an instance. A server process configuration specifies the location of the server executable, launch parameters, and the number of concurrent processes with that configuration to maintain on each instance. A CreateFleet request must include a run-time configuration with at least one server process configuration; otherwise the request fails with an invalid request exception. (This parameter replaces the parameters ServerLaunchPath and ServerLaunchParameters; requests that contain values for these parameters instead of a run-time configuration will continue to work.)

" + "documentation":"

Instructions for launching server processes on each instance in the fleet. Server processes run either a custom game build executable or a Realtime Servers script. The run-time configuration lists the types of server processes to run on an instance and includes the following configuration settings: the server executable or launch script file, launch parameters, and the number of processes to run concurrently on each instance. A CreateFleet request must include a run-time configuration with at least one server process configuration.

" }, "ResourceCreationLimitPolicy":{ "shape":"ResourceCreationLimitPolicy", @@ -1425,19 +1522,23 @@ }, "MetricGroups":{ "shape":"MetricGroupList", - "documentation":"

Name of a metric group to add this fleet to. A metric group tracks metrics across all fleets in the group. Use an existing metric group name to add this fleet to the group, or use a new name to create a new metric group. A fleet can only be included in one metric group at a time.

" + "documentation":"

Name of an Amazon CloudWatch metric group to add this fleet to. A metric group aggregates the metrics for all fleets in the group. Specify an existing metric group name, or provide a new name to create a new metric group. A fleet can only be included in one metric group at a time.

" }, "PeerVpcAwsAccountId":{ "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift fleet with. You can find your Account ID in the AWS Management Console under account settings.

" + "documentation":"

Unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift fleet with. You can find your Account ID in the AWS Management Console under account settings.

" }, "PeerVpcId":{ "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console.

" + "documentation":"

Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. Look up a VPC ID using the VPC Dashboard in the AWS Management Console. Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

" }, "FleetType":{ "shape":"FleetType", - "documentation":"

Indicates whether to use on-demand instances or spot instances for this fleet. If empty, the default is ON_DEMAND. Both categories of instances use identical hardware and configurations, based on the instance type selected for this fleet. You can acquire on-demand instances at any time for a fixed price and keep them as long as you need them. Spot instances have lower prices, but spot pricing is variable, and while in use they can be interrupted (with a two-minute notification). Learn more about Amazon GameLift spot instances with at Choose Computing Resources.

" + "documentation":"

Indicates whether to use on-demand instances or spot instances for this fleet. If empty, the default is ON_DEMAND. Both categories of instances use identical hardware and configurations based on the instance type selected for this fleet. Learn more about On-Demand versus Spot Instances.

" + }, + "InstanceRoleArn":{ + "shape":"NonEmptyString", + "documentation":"

Unique identifier for an AWS IAM role that manages access to your AWS services. With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, including install scripts, server processes, daemons (background processes). Create a role or look up a role's ARN using the IAM dashboard in the AWS Management Console. Learn more about using on-box credentials for your game servers at Access external resources from a game server.

" } }, "documentation":"

Represents the input for a request action.

" @@ -1474,7 +1575,7 @@ }, "GameProperties":{ "shape":"GamePropertyList", - "documentation":"

Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" + "documentation":"

Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" }, "CreatorId":{ "shape":"NonZeroAndMaxString", @@ -1490,7 +1591,7 @@ }, "GameSessionData":{ "shape":"GameSessionData", - "documentation":"

Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" + "documentation":"

Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" } }, "documentation":"

Represents the input for a request action.

" @@ -1558,7 +1659,7 @@ }, "GameSessionQueueArns":{ "shape":"QueueArnsList", - "documentation":"

Amazon Resource Name (ARN) that is assigned to a game session queue and uniquely identifies it. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912. These queues are used when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any region.

" + "documentation":"

Amazon Resource Name (ARN) that is assigned to a game session queue and uniquely identifies it. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912. These queues are used when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any region.

" }, "RequestTimeoutSeconds":{ "shape":"MatchmakingRequestTimeoutInteger", @@ -1590,11 +1691,11 @@ }, "GameProperties":{ "shape":"GamePropertyList", - "documentation":"

Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

" + "documentation":"

Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

" }, "GameSessionData":{ "shape":"GameSessionData", - "documentation":"

Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

" + "documentation":"

Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

" } }, "documentation":"

Represents the input for a request action.

" @@ -1618,11 +1719,11 @@ "members":{ "Name":{ "shape":"MatchmakingIdStringModel", - "documentation":"

Unique identifier for a matchmaking rule set. This name is used to identify the rule set associated with a matchmaking configuration.

" + "documentation":"

Unique identifier for a matchmaking rule set. A matchmaking configuration identifies the rule set it uses by this name value. (Note: The rule set name is different from the optional \"name\" field in the rule set body.)

" }, "RuleSetBody":{ "shape":"RuleSetBody", - "documentation":"

Collection of matchmaking rules, formatted as a JSON string. (Note that comments are not allowed in JSON, but most elements support a description field.)

" + "documentation":"

Collection of matchmaking rules, formatted as a JSON string. Note that comments are not allowed in JSON, but most elements support a description field.

" } }, "documentation":"

Represents the input for a request action.

" @@ -1702,6 +1803,36 @@ }, "documentation":"

Represents the returned data in response to a request action.

" }, + "CreateScriptInput":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Descriptive label that is associated with a script. Script names do not need to be unique. You can use UpdateScript to change this value later.

" + }, + "Version":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Version that is associated with a build or script. Version strings do not need to be unique. You can use UpdateScript to change this value later.

" + }, + "StorageLocation":{ + "shape":"S3Location", + "documentation":"

Location of the Amazon S3 bucket where a zipped file containing your Realtime scripts is stored. The storage location must specify the Amazon S3 bucket name, the zip file name (the \"key\"), and a role ARN that allows Amazon GameLift to access the Amazon S3 storage location. The S3 bucket must be in the same region where you want to create a new script. By default, Amazon GameLift uploads the latest version of the zip file; if you have S3 object versioning turned on, you can use the ObjectVersion parameter to specify an earlier version.

" + }, + "ZipFile":{ + "shape":"ZipBlob", + "documentation":"

Data object containing your Realtime scripts and dependencies as a zip file. The zip file can have one or multiple files. Maximum size of a zip file is 5 MB.

When using the AWS CLI tool to create a script, this parameter is set to the zip file name. It must be prepended with the string \"fileb://\" to indicate that the file data is a binary object. For example: --zip-file fileb://myRealtimeScript.zip.

" + } + } + }, + "CreateScriptOutput":{ + "type":"structure", + "members":{ + "Script":{ + "shape":"Script", + "documentation":"

The newly created script record with a unique script ID. The new script's storage location reflects an Amazon S3 location: (1) If the script was uploaded from an S3 bucket under your account, the storage location reflects the information that was provided in the CreateScript request; (2) If the script file was uploaded from a local zip file, the storage location reflects an S3 location controls by the Amazon GameLift service.

" + } + } + }, "CreateVpcPeeringAuthorizationInput":{ "type":"structure", "required":[ @@ -1715,7 +1846,7 @@ }, "PeerVpcId":{ "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console.

" + "documentation":"

Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. Look up a VPC ID using the VPC Dashboard in the AWS Management Console. Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

" } }, "documentation":"

Represents the input for a request action.

" @@ -1748,7 +1879,7 @@ }, "PeerVpcId":{ "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console.

" + "documentation":"

Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. Look up a VPC ID using the VPC Dashboard in the AWS Management Console. Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

" } }, "documentation":"

Represents the input for a request action.

" @@ -1828,6 +1959,23 @@ "members":{ } }, + "DeleteMatchmakingRuleSetInput":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"MatchmakingIdStringModel", + "documentation":"

Unique identifier for a matchmaking rule set to be deleted. (Note: The rule set name is different from the optional \"name\" field in the rule set body.)

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DeleteMatchmakingRuleSetOutput":{ + "type":"structure", + "members":{ + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, "DeleteScalingPolicyInput":{ "type":"structure", "required":[ @@ -1846,6 +1994,16 @@ }, "documentation":"

Represents the input for a request action.

" }, + "DeleteScriptInput":{ + "type":"structure", + "required":["ScriptId"], + "members":{ + "ScriptId":{ + "shape":"ScriptId", + "documentation":"

Unique identifier for a Realtime script to delete.

" + } + } + }, "DeleteVpcPeeringAuthorizationInput":{ "type":"structure", "required":[ @@ -1859,7 +2017,7 @@ }, "PeerVpcId":{ "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console.

" + "documentation":"

Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. Look up a VPC ID using the VPC Dashboard in the AWS Management Console. Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

" } }, "documentation":"

Represents the input for a request action.

" @@ -2352,7 +2510,7 @@ "members":{ "Names":{ "shape":"MatchmakingRuleSetNameList", - "documentation":"

Unique identifier for a matchmaking rule set. This name is used to identify the rule set associated with a matchmaking configuration.

" + "documentation":"

List of one or more matchmaking rule set names to retrieve details for. (Note: The rule set name is different from the optional \"name\" field in the rule set body.)

" }, "Limit":{ "shape":"RuleSetLimit", @@ -2482,6 +2640,25 @@ }, "documentation":"

Represents the returned data in response to a request action.

" }, + "DescribeScriptInput":{ + "type":"structure", + "required":["ScriptId"], + "members":{ + "ScriptId":{ + "shape":"ScriptId", + "documentation":"

Unique identifier for a Realtime script to retrieve properties for.

" + } + } + }, + "DescribeScriptOutput":{ + "type":"structure", + "members":{ + "Script":{ + "shape":"Script", + "documentation":"

Set of properties describing the requested script.

" + } + } + }, "DescribeVpcPeeringAuthorizationsInput":{ "type":"structure", "members":{ @@ -2568,7 +2745,7 @@ "documentation":"

Number of instances in the fleet that are no longer active but haven't yet been terminated.

" } }, - "documentation":"

Current status of fleet capacity. The number of active instances should match or be in the process of matching the number of desired instances. Pending and terminating counts are non-zero only if fleet capacity is adjusting to an UpdateFleetCapacity request, or if access to resources is temporarily affected.

Fleet-related operations include:

" + "documentation":"

Current status of fleet capacity. The number of active instances should match or be in the process of matching the number of desired instances. Pending and terminating counts are non-zero only if fleet capacity is adjusting to an UpdateFleetCapacity request, or if access to resources is temporarily affected.

" }, "EC2InstanceLimit":{ "type":"structure", @@ -2644,7 +2821,7 @@ }, "EventCode":{ "shape":"EventCode", - "documentation":"

Type of event being logged. The following events are currently in use:

Fleet creation events:

  • FLEET_CREATED -- A fleet record was successfully created with a status of NEW. Event messaging includes the fleet ID.

  • FLEET_STATE_DOWNLOADING -- Fleet status changed from NEW to DOWNLOADING. The compressed build has started downloading to a fleet instance for installation.

  • FLEET_BINARY_DOWNLOAD_FAILED -- The build failed to download to the fleet instance.

  • FLEET_CREATION_EXTRACTING_BUILD – The game server build was successfully downloaded to an instance, and the build files are now being extracted from the uploaded build and saved to an instance. Failure at this stage prevents a fleet from moving to ACTIVE status. Logs for this stage display a list of the files that are extracted and saved on the instance. Access the logs by using the URL in PreSignedLogUrl.

  • FLEET_CREATION_RUNNING_INSTALLER – The game server build files were successfully extracted, and the Amazon GameLift is now running the build's install script (if one is included). Failure in this stage prevents a fleet from moving to ACTIVE status. Logs for this stage list the installation steps and whether or not the install completed successfully. Access the logs by using the URL in PreSignedLogUrl.

  • FLEET_CREATION_VALIDATING_RUNTIME_CONFIG -- The build process was successful, and the Amazon GameLift is now verifying that the game server launch paths, which are specified in the fleet's run-time configuration, exist. If any listed launch path exists, Amazon GameLift tries to launch a game server process and waits for the process to report ready. Failures in this stage prevent a fleet from moving to ACTIVE status. Logs for this stage list the launch paths in the run-time configuration and indicate whether each is found. Access the logs by using the URL in PreSignedLogUrl.

  • FLEET_STATE_VALIDATING -- Fleet status changed from DOWNLOADING to VALIDATING.

  • FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND -- Validation of the run-time configuration failed because the executable specified in a launch path does not exist on the instance.

  • FLEET_STATE_BUILDING -- Fleet status changed from VALIDATING to BUILDING.

  • FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE -- Validation of the run-time configuration failed because the executable specified in a launch path failed to run on the fleet instance.

  • FLEET_STATE_ACTIVATING -- Fleet status changed from BUILDING to ACTIVATING.

  • FLEET_ACTIVATION_FAILED - The fleet failed to successfully complete one of the steps in the fleet activation process. This event code indicates that the game build was successfully downloaded to a fleet instance, built, and validated, but was not able to start a server process. A possible reason for failure is that the game server is not reporting \"process ready\" to the Amazon GameLift service.

  • FLEET_STATE_ACTIVE -- The fleet's status changed from ACTIVATING to ACTIVE. The fleet is now ready to host game sessions.

VPC peering events:

  • FLEET_VPC_PEERING_SUCCEEDED -- A VPC peering connection has been established between the VPC for an Amazon GameLift fleet and a VPC in your AWS account.

  • FLEET_VPC_PEERING_FAILED -- A requested VPC peering connection has failed. Event details and status information (see DescribeVpcPeeringConnections) provide additional detail. A common reason for peering failure is that the two VPCs have overlapping CIDR blocks of IPv4 addresses. To resolve this, change the CIDR block for the VPC in your AWS account. For more information on VPC peering failures, see http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html

  • FLEET_VPC_PEERING_DELETED -- A VPC peering connection has been successfully deleted.

Spot instance events:

  • INSTANCE_INTERRUPTED -- A spot instance was interrupted by EC2 with a two-minute notification.

Other fleet events:

  • FLEET_SCALING_EVENT -- A change was made to the fleet's capacity settings (desired instances, minimum/maximum scaling limits). Event messaging includes the new capacity settings.

  • FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED -- A change was made to the fleet's game session protection policy setting. Event messaging includes both the old and new policy setting.

  • FLEET_DELETED -- A request to delete a fleet was initiated.

  • GENERIC_EVENT -- An unspecified event has occurred.

" + "documentation":"

Type of event being logged. The following events are currently in use:

Fleet creation events:

  • FLEET_CREATED -- A fleet record was successfully created with a status of NEW. Event messaging includes the fleet ID.

  • FLEET_STATE_DOWNLOADING -- Fleet status changed from NEW to DOWNLOADING. The compressed build has started downloading to a fleet instance for installation.

  • FLEET_BINARY_DOWNLOAD_FAILED -- The build failed to download to the fleet instance.

  • FLEET_CREATION_EXTRACTING_BUILD – The game server build was successfully downloaded to an instance, and the build files are now being extracted from the uploaded build and saved to an instance. Failure at this stage prevents a fleet from moving to ACTIVE status. Logs for this stage display a list of the files that are extracted and saved on the instance. Access the logs by using the URL in PreSignedLogUrl.

  • FLEET_CREATION_RUNNING_INSTALLER – The game server build files were successfully extracted, and the Amazon GameLift is now running the build's install script (if one is included). Failure in this stage prevents a fleet from moving to ACTIVE status. Logs for this stage list the installation steps and whether or not the install completed successfully. Access the logs by using the URL in PreSignedLogUrl.

  • FLEET_CREATION_VALIDATING_RUNTIME_CONFIG -- The build process was successful, and the Amazon GameLift is now verifying that the game server launch paths, which are specified in the fleet's run-time configuration, exist. If any listed launch path exists, Amazon GameLift tries to launch a game server process and waits for the process to report ready. Failures in this stage prevent a fleet from moving to ACTIVE status. Logs for this stage list the launch paths in the run-time configuration and indicate whether each is found. Access the logs by using the URL in PreSignedLogUrl.

  • FLEET_STATE_VALIDATING -- Fleet status changed from DOWNLOADING to VALIDATING.

  • FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND -- Validation of the run-time configuration failed because the executable specified in a launch path does not exist on the instance.

  • FLEET_STATE_BUILDING -- Fleet status changed from VALIDATING to BUILDING.

  • FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE -- Validation of the run-time configuration failed because the executable specified in a launch path failed to run on the fleet instance.

  • FLEET_STATE_ACTIVATING -- Fleet status changed from BUILDING to ACTIVATING.

  • FLEET_ACTIVATION_FAILED - The fleet failed to successfully complete one of the steps in the fleet activation process. This event code indicates that the game build was successfully downloaded to a fleet instance, built, and validated, but was not able to start a server process. A possible reason for failure is that the game server is not reporting \"process ready\" to the Amazon GameLift service.

  • FLEET_STATE_ACTIVE -- The fleet's status changed from ACTIVATING to ACTIVE. The fleet is now ready to host game sessions.

VPC peering events:

  • FLEET_VPC_PEERING_SUCCEEDED -- A VPC peering connection has been established between the VPC for an Amazon GameLift fleet and a VPC in your AWS account.

  • FLEET_VPC_PEERING_FAILED -- A requested VPC peering connection has failed. Event details and status information (see DescribeVpcPeeringConnections) provide additional detail. A common reason for peering failure is that the two VPCs have overlapping CIDR blocks of IPv4 addresses. To resolve this, change the CIDR block for the VPC in your AWS account. For more information on VPC peering failures, see https://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html

  • FLEET_VPC_PEERING_DELETED -- A VPC peering connection has been successfully deleted.

Spot instance events:

  • INSTANCE_INTERRUPTED -- A spot instance was interrupted by EC2 with a two-minute notification.

Other fleet events:

  • FLEET_SCALING_EVENT -- A change was made to the fleet's capacity settings (desired instances, minimum/maximum scaling limits). Event messaging includes the new capacity settings.

  • FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED -- A change was made to the fleet's game session protection policy setting. Event messaging includes both the old and new policy setting.

  • FLEET_DELETED -- A request to delete a fleet was initiated.

  • GENERIC_EVENT -- An unspecified event has occurred.

" }, "Message":{ "shape":"NonEmptyString", @@ -2750,12 +2927,16 @@ }, "Status":{ "shape":"FleetStatus", - "documentation":"

Current status of the fleet.

Possible fleet statuses include the following:

  • NEW -- A new fleet has been defined and desired instances is set to 1.

  • DOWNLOADING/VALIDATING/BUILDING/ACTIVATING -- Amazon GameLift is setting up the new fleet, creating new instances with the game build and starting server processes.

  • ACTIVE -- Hosts can now accept game sessions.

  • ERROR -- An error occurred when downloading, validating, building, or activating the fleet.

  • DELETING -- Hosts are responding to a delete fleet request.

  • TERMINATED -- The fleet no longer exists.

" + "documentation":"

Current status of the fleet.

Possible fleet statuses include the following:

  • NEW -- A new fleet has been defined and desired instances is set to 1.

  • DOWNLOADING/VALIDATING/BUILDING/ACTIVATING -- Amazon GameLift is setting up the new fleet, creating new instances with the game build or Realtime script and starting server processes.

  • ACTIVE -- Hosts can now accept game sessions.

  • ERROR -- An error occurred when downloading, validating, building, or activating the fleet.

  • DELETING -- Hosts are responding to a delete fleet request.

  • TERMINATED -- The fleet no longer exists.

" }, "BuildId":{ "shape":"BuildId", "documentation":"

Unique identifier for a build.

" }, + "ScriptId":{ + "shape":"ScriptId", + "documentation":"

Unique identifier for a Realtime script.

" + }, "ServerLaunchPath":{ "shape":"NonZeroAndMaxString", "documentation":"

Path to a game server executable in the fleet's build, specified for fleets created before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch paths for fleets created after this date are specified in the fleet's RuntimeConfiguration.

" @@ -2766,7 +2947,7 @@ }, "LogPaths":{ "shape":"StringList", - "documentation":"

Location of default log files. When a server process is shut down, Amazon GameLift captures and stores any log files in this location. These logs are in addition to game session logs; see more on game session logs in the Amazon GameLift Developer Guide. If no default log path for a fleet is specified, Amazon GameLift automatically uploads logs that are stored on each instance at C:\\game\\logs (for Windows) or /local/game/logs (for Linux). Use the Amazon GameLift console to access stored logs.

" + "documentation":"

Location of default log files. When a server process is shut down, Amazon GameLift captures and stores any log files in this location. These logs are in addition to game session logs; see more on game session logs in the Amazon GameLift Developer Guide. If no default log path for a fleet is specified, Amazon GameLift automatically uploads logs that are stored on each instance at C:\\game\\logs (for Windows) or /local/game/logs (for Linux). Use the Amazon GameLift console to access stored logs.

" }, "NewGameSessionProtectionPolicy":{ "shape":"ProtectionPolicy", @@ -2787,9 +2968,13 @@ "StoppedActions":{ "shape":"FleetActionList", "documentation":"

List of fleet actions that have been suspended using StopFleetActions. This includes auto-scaling.

" + }, + "InstanceRoleArn":{ + "shape":"NonEmptyString", + "documentation":"

Unique identifier for an AWS IAM role that manages access to your AWS services. With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, including install scripts, server processes, daemons (background processes). Create a role or look up a role's ARN using the IAM dashboard in the AWS Management Console. Learn more about using on-box credentials for your game servers at Access external resources from a game server.

" } }, - "documentation":"

General properties describing a fleet.

Fleet-related operations include:

" + "documentation":"

General properties describing a fleet.

" }, "FleetAttributesList":{ "type":"list", @@ -2811,7 +2996,7 @@ "documentation":"

Current status of fleet capacity.

" } }, - "documentation":"

Information about the fleet's capacity. Fleet capacity is measured in EC2 instances. By default, new fleets have a capacity of one instance, but can be updated as needed. The maximum number of instances for a fleet is determined by the fleet's instance type.

Fleet-related operations include:

" + "documentation":"

Information about the fleet's capacity. Fleet capacity is measured in EC2 instances. By default, new fleets have a capacity of one instance, but can be updated as needed. The maximum number of instances for a fleet is determined by the fleet's instance type.

" }, "FleetCapacityExceededException":{ "type":"structure", @@ -2879,7 +3064,7 @@ "documentation":"

Maximum players allowed across all game sessions currently being hosted on all instances in the fleet.

" } }, - "documentation":"

Current status of fleet utilization, including the number of game and player sessions being hosted.

Fleet-related operations include:

" + "documentation":"

Current status of fleet utilization, including the number of game and player sessions being hosted.

" }, "FleetUtilizationList":{ "type":"list", @@ -2903,7 +3088,7 @@ "documentation":"

Game property value.

" } }, - "documentation":"

Set of key-value pairs that contain information about a game session. When included in a game session request, these properties communicate details to be used when setting up the new game session, such as to specify a game mode, level, or map. Game properties are passed to the game server process when initiating a new game session; the server process uses the properties as appropriate. For more information, see the Amazon GameLift Developer Guide.

" + "documentation":"

Set of key-value pairs that contain information about a game session. When included in a game session request, these properties communicate details to be used when setting up the new game session, such as to specify a game mode, level, or map. Game properties are passed to the game server process when initiating a new game session; the server process uses the properties as appropriate. For more information, see the Amazon GameLift Developer Guide.

" }, "GamePropertyKey":{ "type":"string", @@ -2959,7 +3144,7 @@ }, "GameProperties":{ "shape":"GamePropertyList", - "documentation":"

Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). You can search for active game sessions based on this custom data with SearchGameSessions.

" + "documentation":"

Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). You can search for active game sessions based on this custom data with SearchGameSessions.

" }, "IpAddress":{ "shape":"IpAddress", @@ -2979,14 +3164,14 @@ }, "GameSessionData":{ "shape":"GameSessionData", - "documentation":"

Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" + "documentation":"

Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" }, "MatchmakerData":{ "shape":"MatchmakerData", - "documentation":"

Information about the matchmaking process that was used to create the game session. It is in JSON syntax, formatted as a string. In addition the matchmaking configuration used, it contains data on all players assigned to the match, including player attributes and team assignments. For more details on matchmaker data, see Match Data. Matchmaker data is useful when requesting match backfills, and is updated whenever new players are added during a successful backfill (see StartMatchBackfill).

" + "documentation":"

Information about the matchmaking process that was used to create the game session. It is in JSON syntax, formatted as a string. In addition the matchmaking configuration used, it contains data on all players assigned to the match, including player attributes and team assignments. For more details on matchmaker data, see Match Data. Matchmaker data is useful when requesting match backfills, and is updated whenever new players are added during a successful backfill (see StartMatchBackfill).

" } }, - "documentation":"

Properties describing a game session.

A game session in ACTIVE status can host players. When a game session ends, its status is set to TERMINATED.

Once the session ends, the game session object is retained for 30 days. This means you can reuse idempotency token values after this time. Game session logs are retained for 14 days.

Game-session-related operations include:

" + "documentation":"

Properties describing a game session.

A game session in ACTIVE status can host players. When a game session ends, its status is set to TERMINATED.

Once the session ends, the game session object is retained for 30 days. This means you can reuse idempotency token values after this time. Game session logs are retained for 14 days.

" }, "GameSessionActivationTimeoutSeconds":{ "type":"integer", @@ -2998,7 +3183,7 @@ "members":{ "GameSessionArn":{ "shape":"ArnStringModel", - "documentation":"

Amazon Resource Name (ARN) that is assigned to a game session and uniquely identifies it.

" + "documentation":"

Amazon Resource Name (ARN) that is assigned to a game session and uniquely identifies it.

" }, "IpAddress":{ "shape":"StringModel", @@ -3067,7 +3252,7 @@ }, "GameProperties":{ "shape":"GamePropertyList", - "documentation":"

Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" + "documentation":"

Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" }, "MaximumPlayerSessionCount":{ "shape":"WholeNumber", @@ -3115,11 +3300,11 @@ }, "GameSessionData":{ "shape":"GameSessionData", - "documentation":"

Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" + "documentation":"

Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" }, "MatchmakerData":{ "shape":"MatchmakerData", - "documentation":"

Information on the matchmaking process for this game. Data is in JSON syntax, formatted as a string. It identifies the matchmaking configuration used to create the match, and contains data on all players assigned to the match, including player attributes and team assignments. For more details on matchmaker data, see Match Data.

" + "documentation":"

Information on the matchmaking process for this game. Data is in JSON syntax, formatted as a string. It identifies the matchmaking configuration used to create the match, and contains data on all players assigned to the match, including player attributes and team assignments. For more details on matchmaker data, see Match Data.

" } }, "documentation":"

Object that describes a StartGameSessionPlacement request. This object includes the full details of the original request plus the current status and start/end time stamps.

Game session placement-related operations include:

" @@ -3142,7 +3327,7 @@ }, "GameSessionQueueArn":{ "shape":"ArnStringModel", - "documentation":"

Amazon Resource Name (ARN) that is assigned to a game session queue and uniquely identifies it. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.

" + "documentation":"

Amazon Resource Name (ARN) that is assigned to a game session queue and uniquely identifies it. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.

" }, "TimeoutInSeconds":{ "shape":"WholeNumber", @@ -3157,7 +3342,7 @@ "documentation":"

List of fleets that can be used to fulfill game session placement requests in the queue. Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order.

" } }, - "documentation":"

Configuration of a queue that is used to process game session placement requests. The queue configuration identifies several game features:

  • The destinations where a new game session can potentially be hosted. Amazon GameLift tries these destinations in an order based on either the queue's default order or player latency information, if provided in a placement request. With latency information, Amazon GameLift can place game sessions where the majority of players are reporting the lowest possible latency.

  • The length of time that placement requests can wait in the queue before timing out.

  • A set of optional latency policies that protect individual players from high latencies, preventing game sessions from being placed where any individual player is reporting latency higher than a policy's maximum.

Queue-related operations include:

" + "documentation":"

Configuration of a queue that is used to process game session placement requests. The queue configuration identifies several game features:

  • The destinations where a new game session can potentially be hosted. Amazon GameLift tries these destinations in an order based on either the queue's default order or player latency information, if provided in a placement request. With latency information, Amazon GameLift can place game sessions where the majority of players are reporting the lowest possible latency.

  • The length of time that placement requests can wait in the queue before timing out.

  • A set of optional latency policies that protect individual players from high latencies, preventing game sessions from being placed where any individual player is reporting latency higher than a policy's maximum.

" }, "GameSessionQueueDestination":{ "type":"structure", @@ -3167,7 +3352,7 @@ "documentation":"

Amazon Resource Name (ARN) assigned to fleet or fleet alias. ARNs, which include a fleet ID or alias ID and a region name, provide a unique identifier across all regions.

" } }, - "documentation":"

Fleet designated in a game session queue. Requests for new game sessions in the queue are fulfilled by starting a new game session on any destination configured for a queue.

Queue-related operations include:

" + "documentation":"

Fleet designated in a game session queue. Requests for new game sessions in the queue are fulfilled by starting a new game session on any destination configured for a queue.

" }, "GameSessionQueueDestinationList":{ "type":"list", @@ -3217,7 +3402,7 @@ "members":{ "PreSignedUrl":{ "shape":"NonZeroAndMaxString", - "documentation":"

Location of the requested game session logs, available for download.

" + "documentation":"

Location of the requested game session logs, available for download. This URL is valid for 15 minutes, after which S3 will reject any download request using this URL. You can request a new URL any time within the 14-day period that the logs are retained.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -3416,7 +3601,7 @@ "documentation":"

Network communication protocol used by the fleet.

" } }, - "documentation":"

A range of IP addresses and port settings that allow inbound traffic to connect to server processes on Amazon GameLift. Each game session hosted on a fleet is assigned a unique combination of IP address and port number, which must fall into the fleet's allowed ranges. This combination is included in the GameSession object.

" + "documentation":"

A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift. New game sessions that are started on the fleet are assigned an IP address/port number combination, which must fall into the fleet's allowed ranges. For fleets created with a custom game server, the ranges reflect the server's game session assignments. For Realtime Servers fleets, Amazon GameLift automatically opens two port ranges, one for TCP messaging and one for UDP for use by the Realtime servers.

" }, "IpPermissionsList":{ "type":"list", @@ -3518,6 +3703,10 @@ "shape":"BuildId", "documentation":"

Unique identifier for a build to return fleets for. Use this parameter to return only fleets using the specified build. To retrieve all fleets, leave this parameter empty.

" }, + "ScriptId":{ + "shape":"ScriptId", + "documentation":"

Unique identifier for a Realtime script to return fleets for. Use this parameter to return only fleets using the specified script. To retrieve all fleets, leave this parameter empty.

" + }, "Limit":{ "shape":"PositiveInteger", "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

" @@ -3543,6 +3732,32 @@ }, "documentation":"

Represents the returned data in response to a request action.

" }, + "ListScriptsInput":{ + "type":"structure", + "members":{ + "Limit":{ + "shape":"PositiveInteger", + "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

" + }, + "NextToken":{ + "shape":"NonEmptyString", + "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

" + } + } + }, + "ListScriptsOutput":{ + "type":"structure", + "members":{ + "Scripts":{ + "shape":"ScriptList", + "documentation":"

Set of properties describing the requested script.

" + }, + "NextToken":{ + "shape":"NonEmptyString", + "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" + } + } + }, "MatchedPlayerSession":{ "type":"structure", "members":{ @@ -3584,7 +3799,7 @@ }, "GameSessionQueueArns":{ "shape":"QueueArnsList", - "documentation":"

Amazon Resource Name (ARN) that is assigned to a game session queue and uniquely identifies it. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912. These queues are used when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any region.

" + "documentation":"

Amazon Resource Name (ARN) that is assigned to a game session queue and uniquely identifies it. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912. These queues are used when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any region.

" }, "RequestTimeoutSeconds":{ "shape":"MatchmakingRequestTimeoutInteger", @@ -3620,11 +3835,11 @@ }, "GameProperties":{ "shape":"GamePropertyList", - "documentation":"

Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

" + "documentation":"

Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

" }, "GameSessionData":{ "shape":"GameSessionData", - "documentation":"

Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

" + "documentation":"

Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

" } }, "documentation":"

Guidelines for use with FlexMatch to match players into games. All matchmaking requests must specify a matchmaking configuration.

" @@ -3678,7 +3893,7 @@ "documentation":"

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" } }, - "documentation":"

Set of rule statements, used with FlexMatch, that determine how to build a certain kind of player match. Each rule set describes a type of group to be created and defines the parameters for acceptable player matches. Rule sets are used in MatchmakingConfiguration objects.

A rule set may define the following elements for a match. For detailed information and examples showing how to construct a rule set, see Build a FlexMatch Rule Set.

  • Teams -- Required. A rule set must define one or multiple teams for the match and set minimum and maximum team sizes. For example, a rule set might describe a 4x4 match that requires all eight slots to be filled.

  • Player attributes -- Optional. These attributes specify a set of player characteristics to evaluate when looking for a match. Matchmaking requests that use a rule set with player attributes must provide the corresponding attribute values. For example, an attribute might specify a player's skill or level.

  • Rules -- Optional. Rules define how to evaluate potential players for a match based on player attributes. A rule might specify minimum requirements for individual players, teams, or entire matches. For example, a rule might require each player to meet a certain skill level, each team to have at least one player in a certain role, or the match to have a minimum average skill level. or may describe an entire group--such as all teams must be evenly matched or have at least one player in a certain role.

  • Expansions -- Optional. Expansions allow you to relax the rules after a period of time when no acceptable matches are found. This feature lets you balance getting players into games in a reasonable amount of time instead of making them wait indefinitely for the best possible match. For example, you might use an expansion to increase the maximum skill variance between players after 30 seconds.

" + "documentation":"

Set of rule statements, used with FlexMatch, that determine how to build a certain kind of player match. Each rule set describes a type of group to be created and defines the parameters for acceptable player matches. Rule sets are used in MatchmakingConfiguration objects.

A rule set may define the following elements for a match. For detailed information and examples showing how to construct a rule set, see Build a FlexMatch Rule Set.

  • Teams -- Required. A rule set must define one or multiple teams for the match and set minimum and maximum team sizes. For example, a rule set might describe a 4x4 match that requires all eight slots to be filled.

  • Player attributes -- Optional. These attributes specify a set of player characteristics to evaluate when looking for a match. Matchmaking requests that use a rule set with player attributes must provide the corresponding attribute values. For example, an attribute might specify a player's skill or level.

  • Rules -- Optional. Rules define how to evaluate potential players for a match based on player attributes. A rule might specify minimum requirements for individual players, teams, or entire matches. For example, a rule might require each player to meet a certain skill level, each team to have at least one player in a certain role, or the match to have a minimum average skill level. or may describe an entire group--such as all teams must be evenly matched or have at least one player in a certain role.

  • Expansions -- Optional. Expansions allow you to relax the rules after a period of time when no acceptable matches are found. This feature lets you balance getting players into games in a reasonable amount of time instead of making them wait indefinitely for the best possible match. For example, you might use an expansion to increase the maximum skill variance between players after 30 seconds.

" }, "MatchmakingRuleSetList":{ "type":"list", @@ -3817,7 +4032,7 @@ "documentation":"

Unique identifier for a player session.

" } }, - "documentation":"

Information about a player session that was created as part of a StartGameSessionPlacement request. This object contains only the player ID and player session ID. To retrieve full details on a player session, call DescribePlayerSessions with the player session ID.

Player-session-related operations include:

" + "documentation":"

Information about a player session that was created as part of a StartGameSessionPlacement request. This object contains only the player ID and player session ID. To retrieve full details on a player session, call DescribePlayerSessions with the player session ID.

" }, "PlacedPlayerSessionList":{ "type":"list", @@ -3900,7 +4115,7 @@ "documentation":"

The length of time, in seconds, that the policy is enforced while placing a new game session. A null value for this property means that the policy is enforced until the queue times out.

" } }, - "documentation":"

Queue setting that determines the highest latency allowed for individual players when placing a game session. When a latency policy is in force, a game session cannot be placed at any destination in a region where a player is reporting latency higher than the cap. Latency policies are only enforced when the placement request contains player latency information.

Queue-related operations include:

" + "documentation":"

Queue setting that determines the highest latency allowed for individual players when placing a game session. When a latency policy is in force, a game session cannot be placed at any destination in a region where a player is reporting latency higher than the cap. Latency policies are only enforced when the placement request contains player latency information.

" }, "PlayerLatencyPolicyList":{ "type":"list", @@ -3954,7 +4169,7 @@ "documentation":"

Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.

" } }, - "documentation":"

Properties describing a player session. Player session objects are created either by creating a player session for a specific game session, or as part of a game session placement. A player session represents either a player reservation for a game session (status RESERVED) or actual player activity in a game session (status ACTIVE). A player session object (including player data) is automatically passed to a game session when the player connects to the game session and is validated.

When a player disconnects, the player session status changes to COMPLETED. Once the session ends, the player session object is retained for 30 days and then removed.

Player-session-related operations include:

" + "documentation":"

Properties describing a player session. Player session objects are created either by creating a player session for a specific game session, or as part of a game session placement. A player session represents either a player reservation for a game session (status RESERVED) or actual player activity in a game session (status ACTIVE). A player session object (including player data) is automatically passed to a game session when the player connects to the game session and is validated.

When a player disconnects, the player session status changes to COMPLETED. Once the session ends, the player session object is retained for 30 days and then removed.

" }, "PlayerSessionCreationPolicy":{ "type":"string", @@ -4045,7 +4260,7 @@ }, "MetricName":{ "shape":"MetricName", - "documentation":"

Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. For detailed descriptions of fleet metrics, see Monitor Amazon GameLift with Amazon CloudWatch.

  • ActivatingGameSessions -- Game sessions in the process of being created.

  • ActiveGameSessions -- Game sessions that are currently running.

  • ActiveInstances -- Fleet instances that are currently running at least one game session.

  • AvailableGameSessions -- Additional game sessions that fleet could host simultaneously, given current capacity.

  • AvailablePlayerSessions -- Empty player slots in currently active game sessions. This includes game sessions that are not currently accepting players. Reserved player slots are not included.

  • CurrentPlayerSessions -- Player slots in active game sessions that are being used by a player or are reserved for a player.

  • IdleInstances -- Active instances that are currently hosting zero game sessions.

  • PercentAvailableGameSessions -- Unused percentage of the total number of game sessions that a fleet could host simultaneously, given current capacity. Use this metric for a target-based scaling policy.

  • PercentIdleInstances -- Percentage of the total number of active instances that are hosting zero game sessions.

  • QueueDepth -- Pending game session placement requests, in any queue, where the current fleet is the top-priority destination.

  • WaitTime -- Current wait time for pending game session placement requests, in any queue, where the current fleet is the top-priority destination.

" + "documentation":"

Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. For detailed descriptions of fleet metrics, see Monitor Amazon GameLift with Amazon CloudWatch.

  • ActivatingGameSessions -- Game sessions in the process of being created.

  • ActiveGameSessions -- Game sessions that are currently running.

  • ActiveInstances -- Fleet instances that are currently running at least one game session.

  • AvailableGameSessions -- Additional game sessions that fleet could host simultaneously, given current capacity.

  • AvailablePlayerSessions -- Empty player slots in currently active game sessions. This includes game sessions that are not currently accepting players. Reserved player slots are not included.

  • CurrentPlayerSessions -- Player slots in active game sessions that are being used by a player or are reserved for a player.

  • IdleInstances -- Active instances that are currently hosting zero game sessions.

  • PercentAvailableGameSessions -- Unused percentage of the total number of game sessions that a fleet could host simultaneously, given current capacity. Use this metric for a target-based scaling policy.

  • PercentIdleInstances -- Percentage of the total number of active instances that are hosting zero game sessions.

  • QueueDepth -- Pending game session placement requests, in any queue, where the current fleet is the top-priority destination.

  • WaitTime -- Current wait time for pending game session placement requests, in any queue, where the current fleet is the top-priority destination.

" }, "PolicyType":{ "shape":"PolicyType", @@ -4148,7 +4363,7 @@ "documentation":"

Message text to be used with a terminal routing strategy.

" } }, - "documentation":"

Routing configuration for a fleet alias.

Fleet-related operations include:

" + "documentation":"

Routing configuration for a fleet alias.

" }, "RoutingStrategyType":{ "type":"string", @@ -4183,25 +4398,29 @@ "documentation":"

Maximum amount of time (in seconds) that a game session can remain in status ACTIVATING. If the game session is not active before the timeout, activation is terminated and the game session status is changed to TERMINATED.

" } }, - "documentation":"

A collection of server process configurations that describe what processes to run on each instance in a fleet. All fleets must have a run-time configuration. Each instance in the fleet launches the server processes specified in the run-time configuration and launches new ones as existing processes end. Each instance regularly checks for an updated run-time configuration and follows the new instructions.

The run-time configuration enables the instances in a fleet to run multiple processes simultaneously. Potential scenarios are as follows: (1) Run multiple processes of a single game server executable to maximize usage of your hosting resources. (2) Run one or more processes of different build executables, such as your game server executable and a related program, or two or more different versions of a game server. (3) Run multiple processes of a single game server but with different launch parameters, for example to run one process on each instance in debug mode.

A Amazon GameLift instance is limited to 50 processes running simultaneously. A run-time configuration must specify fewer than this limit. To calculate the total number of processes specified in a run-time configuration, add the values of the ConcurrentExecutions parameter for each ServerProcess object in the run-time configuration.

Fleet-related operations include:

" + "documentation":"

A collection of server process configurations that describe what processes to run on each instance in a fleet. Server processes run either a custom game build executable or a Realtime Servers script. Each instance in the fleet starts the specified server processes and continues to start new processes as existing processes end. An instance regularly checks for an updated run-time configuration.

The run-time configuration enables the instances in a fleet to run multiple processes simultaneously. Learn more about Running Multiple Processes on a Fleet .

A Amazon GameLift instance is limited to 50 processes running simultaneously. To calculate the total number of processes in a run-time configuration, add the values of the ConcurrentExecutions parameter for each ServerProcess object.

" }, "S3Location":{ "type":"structure", "members":{ "Bucket":{ "shape":"NonEmptyString", - "documentation":"

Amazon S3 bucket identifier. This is the name of your S3 bucket.

" + "documentation":"

Amazon S3 bucket identifier. This is the name of the S3 bucket.

" }, "Key":{ "shape":"NonEmptyString", - "documentation":"

Name of the zip file containing your build files.

" + "documentation":"

Name of the zip file containing the build files or script files.

" }, "RoleArn":{ "shape":"NonEmptyString", - "documentation":"

Amazon Resource Name (ARN) for the access role that allows Amazon GameLift to access your S3 bucket.

" + "documentation":"

Amazon Resource Name (ARN) for an IAM role that allows Amazon GameLift to access the S3 bucket.

" + }, + "ObjectVersion":{ + "shape":"NonEmptyString", + "documentation":"

Version of the file, if object versioning is turned on for the bucket. Amazon GameLift uses this information when retrieving files from an S3 bucket that you own. Use this parameter to specify a specific version of the file; if not set, the latest version of the file is retrieved.

" } }, - "documentation":"

Location in Amazon Simple Storage Service (Amazon S3) where build files can be stored for access by Amazon GameLift. This location is specified in a CreateBuild request. For more details, see the Create a Build with Files in Amazon S3.

" + "documentation":"

Location in Amazon Simple Storage Service (Amazon S3) where build or script files are stored for access by Amazon GameLift. This location is specified in CreateBuild, CreateScript, and UpdateScript requests.

" }, "ScalingAdjustmentType":{ "type":"string", @@ -4248,7 +4467,7 @@ }, "MetricName":{ "shape":"MetricName", - "documentation":"

Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. For detailed descriptions of fleet metrics, see Monitor Amazon GameLift with Amazon CloudWatch.

  • ActivatingGameSessions -- Game sessions in the process of being created.

  • ActiveGameSessions -- Game sessions that are currently running.

  • ActiveInstances -- Fleet instances that are currently running at least one game session.

  • AvailableGameSessions -- Additional game sessions that fleet could host simultaneously, given current capacity.

  • AvailablePlayerSessions -- Empty player slots in currently active game sessions. This includes game sessions that are not currently accepting players. Reserved player slots are not included.

  • CurrentPlayerSessions -- Player slots in active game sessions that are being used by a player or are reserved for a player.

  • IdleInstances -- Active instances that are currently hosting zero game sessions.

  • PercentAvailableGameSessions -- Unused percentage of the total number of game sessions that a fleet could host simultaneously, given current capacity. Use this metric for a target-based scaling policy.

  • PercentIdleInstances -- Percentage of the total number of active instances that are hosting zero game sessions.

  • QueueDepth -- Pending game session placement requests, in any queue, where the current fleet is the top-priority destination.

  • WaitTime -- Current wait time for pending game session placement requests, in any queue, where the current fleet is the top-priority destination.

" + "documentation":"

Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. For detailed descriptions of fleet metrics, see Monitor Amazon GameLift with Amazon CloudWatch.

  • ActivatingGameSessions -- Game sessions in the process of being created.

  • ActiveGameSessions -- Game sessions that are currently running.

  • ActiveInstances -- Fleet instances that are currently running at least one game session.

  • AvailableGameSessions -- Additional game sessions that fleet could host simultaneously, given current capacity.

  • AvailablePlayerSessions -- Empty player slots in currently active game sessions. This includes game sessions that are not currently accepting players. Reserved player slots are not included.

  • CurrentPlayerSessions -- Player slots in active game sessions that are being used by a player or are reserved for a player.

  • IdleInstances -- Active instances that are currently hosting zero game sessions.

  • PercentAvailableGameSessions -- Unused percentage of the total number of game sessions that a fleet could host simultaneously, given current capacity. Use this metric for a target-based scaling policy.

  • PercentIdleInstances -- Percentage of the total number of active instances that are hosting zero game sessions.

  • QueueDepth -- Pending game session placement requests, in any queue, where the current fleet is the top-priority destination.

  • WaitTime -- Current wait time for pending game session placement requests, in any queue, where the current fleet is the top-priority destination.

" }, "PolicyType":{ "shape":"PolicyType", @@ -4259,7 +4478,7 @@ "documentation":"

Object that contains settings for a target-based scaling policy.

" } }, - "documentation":"

Rule that controls how a fleet is scaled. Scaling policies are uniquely identified by the combination of name and fleet ID.

Operations related to fleet capacity scaling include:

" + "documentation":"

Rule that controls how a fleet is scaled. Scaling policies are uniquely identified by the combination of name and fleet ID.

" }, "ScalingPolicyList":{ "type":"list", @@ -4277,6 +4496,41 @@ "ERROR" ] }, + "Script":{ + "type":"structure", + "members":{ + "ScriptId":{ + "shape":"ScriptId", + "documentation":"

Unique identifier for a Realtime script

" + }, + "Name":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Descriptive label that is associated with a script. Script names do not need to be unique.

" + }, + "Version":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Version that is associated with a build or script. Version strings do not need to be unique.

" + }, + "SizeOnDisk":{ + "shape":"PositiveLong", + "documentation":"

File size of the uploaded Realtime script, expressed in bytes. When files are uploaded from an S3 location, this value remains at \"0\".

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" + }, + "StorageLocation":{"shape":"S3Location"} + }, + "documentation":"

Properties describing a Realtime script.

Related operations

" + }, + "ScriptId":{ + "type":"string", + "pattern":"^script-\\S+|^arn:.*script-\\S+" + }, + "ScriptList":{ + "type":"list", + "member":{"shape":"Script"} + }, "SearchGameSessionsInput":{ "type":"structure", "members":{ @@ -4330,18 +4584,18 @@ "members":{ "LaunchPath":{ "shape":"NonZeroAndMaxString", - "documentation":"

Location of the server executable in a game build. All game builds are installed on instances at the root : for Windows instances C:\\game, and for Linux instances /local/game. A Windows game build with an executable file located at MyGame\\latest\\server.exe must have a launch path of \"C:\\game\\MyGame\\latest\\server.exe\". A Linux game build with an executable file located at MyGame/latest/server.exe must have a launch path of \"/local/game/MyGame/latest/server.exe\".

" + "documentation":"

Location of the server executable in a custom game build or the name of the Realtime script file that contains the Init() function. Game builds and Realtime scripts are installed on instances at the root:

  • Windows (for custom game builds only): C:\\game. Example: \"C:\\game\\MyGame\\server.exe\"

  • Linux: /local/game. Examples: \"/local/game/MyGame/server.exe\" or \"/local/game/MyRealtimeScript.js\"

" }, "Parameters":{ "shape":"NonZeroAndMaxString", - "documentation":"

Optional list of parameters to pass to the server executable on launch.

" + "documentation":"

Optional list of parameters to pass to the server executable or Realtime script on launch.

" }, "ConcurrentExecutions":{ "shape":"PositiveInteger", "documentation":"

Number of server processes using this configuration to run concurrently on an instance.

" } }, - "documentation":"

A set of instructions for launching server processes on each instance in a fleet. Each instruction set identifies the location of the server executable, optional launch parameters, and the number of server processes with this configuration to maintain concurrently on the instance. Server process configurations make up a fleet's RuntimeConfiguration .

" + "documentation":"

A set of instructions for launching server processes on each instance in a fleet. Server processes run either a custom game build executable or a Realtime Servers script. Each instruction set identifies the location of the custom game build executable or Realtime launch script, optional launch parameters, and the number of server processes with this configuration to maintain concurrently on the instance. Server process configurations make up a fleet's RuntimeConfiguration .

" }, "ServerProcessList":{ "type":"list", @@ -4395,7 +4649,7 @@ }, "GameProperties":{ "shape":"GamePropertyList", - "documentation":"

Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" + "documentation":"

Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" }, "MaximumPlayerSessionCount":{ "shape":"WholeNumber", @@ -4415,7 +4669,7 @@ }, "GameSessionData":{ "shape":"GameSessionData", - "documentation":"

Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" + "documentation":"

Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" } }, "documentation":"

Represents the input for a request action.

" @@ -4448,11 +4702,11 @@ }, "GameSessionArn":{ "shape":"ArnStringModel", - "documentation":"

Amazon Resource Name (ARN) that is assigned to a game session and uniquely identifies it.

" + "documentation":"

Amazon Resource Name (ARN) that is assigned to a game session and uniquely identifies it.

" }, "Players":{ "shape":"PlayerList", - "documentation":"

Match information on all players that are currently assigned to the game session. This information is used by the matchmaker to find new players and add them to the existing game.

  • PlayerID, PlayerAttributes, Team -\\\\- This information is maintained in the GameSession object, MatchmakerData property, for all players who are currently assigned to the game session. The matchmaker data is in JSON syntax, formatted as a string. For more details, see Match Data.

  • LatencyInMs -\\\\- If the matchmaker uses player latency, include a latency value, in milliseconds, for the region that the game session is currently in. Do not include latency values for any other region.

" + "documentation":"

Match information on all players that are currently assigned to the game session. This information is used by the matchmaker to find new players and add them to the existing game.

  • PlayerID, PlayerAttributes, Team -\\\\- This information is maintained in the GameSession object, MatchmakerData property, for all players who are currently assigned to the game session. The matchmaker data is in JSON syntax, formatted as a string. For more details, see Match Data.

  • LatencyInMs -\\\\- If the matchmaker uses player latency, include a latency value, in milliseconds, for the region that the game session is currently in. Do not include latency values for any other region.

" } }, "documentation":"

Represents the input for a request action.

" @@ -4577,7 +4831,7 @@ "documentation":"

Desired value to use with a target-based scaling policy. The value must be relevant for whatever metric the scaling policy is using. For example, in a policy using the metric PercentAvailableGameSessions, the target value should be the preferred size of the fleet's buffer (the percent of capacity that should be idle and ready for new game sessions).

" } }, - "documentation":"

Settings for a target-based scaling policy (see ScalingPolicy. A target-based policy tracks a particular fleet metric specifies a target value for the metric. As player usage changes, the policy triggers Amazon GameLift to adjust capacity so that the metric returns to the target value. The target configuration specifies settings as needed for the target based policy, including the target value.

Operations related to fleet capacity scaling include:

" + "documentation":"

Settings for a target-based scaling policy (see ScalingPolicy. A target-based policy tracks a particular fleet metric specifies a target value for the metric. As player usage changes, the policy triggers Amazon GameLift to adjust capacity so that the metric returns to the target value. The target configuration specifies settings as needed for the target based policy, including the target value.

" }, "TerminalRoutingStrategyException":{ "type":"structure", @@ -4651,7 +4905,7 @@ }, "Version":{ "shape":"NonZeroAndMaxString", - "documentation":"

Version that is associated with this build. Version strings do not need to be unique.

" + "documentation":"

Version that is associated with a build or script. Version strings do not need to be unique.

" } }, "documentation":"

Represents the input for a request action.

" @@ -4853,7 +5107,7 @@ }, "GameSessionQueueArns":{ "shape":"QueueArnsList", - "documentation":"

Amazon Resource Name (ARN) that is assigned to a game session queue and uniquely identifies it. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912. These queues are used when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any region.

" + "documentation":"

Amazon Resource Name (ARN) that is assigned to a game session queue and uniquely identifies it. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912. These queues are used when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any region.

" }, "RequestTimeoutSeconds":{ "shape":"MatchmakingRequestTimeoutInteger", @@ -4873,7 +5127,7 @@ }, "NotificationTarget":{ "shape":"SnsArnStringModel", - "documentation":"

SNS topic ARN that is set up to receive matchmaking notifications. See Setting up Notifications for Matchmaking for more information.

" + "documentation":"

SNS topic ARN that is set up to receive matchmaking notifications. See Setting up Notifications for Matchmaking for more information.

" }, "AdditionalPlayerCount":{ "shape":"WholeNumber", @@ -4885,11 +5139,11 @@ }, "GameProperties":{ "shape":"GamePropertyList", - "documentation":"

Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

" + "documentation":"

Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

" }, "GameSessionData":{ "shape":"GameSessionData", - "documentation":"

Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

" + "documentation":"

Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

" } }, "documentation":"

Represents the input for a request action.

" @@ -4917,7 +5171,7 @@ }, "RuntimeConfiguration":{ "shape":"RuntimeConfiguration", - "documentation":"

Instructions for launching server processes on each instance in the fleet. The run-time configuration for a fleet has a collection of server process configurations, one for each type of server process to run on an instance. A server process configuration specifies the location of the server executable, launch parameters, and the number of concurrent processes with that configuration to maintain on each instance.

" + "documentation":"

Instructions for launching server processes on each instance in the fleet. Server processes run either a custom game build executable or a Realtime Servers script. The run-time configuration lists the types of server processes to run on an instance and includes the following configuration settings: the server executable or launch script file, launch parameters, and the number of processes to run concurrently on each instance. A CreateFleet request must include a run-time configuration with at least one server process configuration.

" } }, "documentation":"

Represents the input for a request action.

" @@ -4932,6 +5186,41 @@ }, "documentation":"

Represents the returned data in response to a request action.

" }, + "UpdateScriptInput":{ + "type":"structure", + "required":["ScriptId"], + "members":{ + "ScriptId":{ + "shape":"ScriptId", + "documentation":"

Unique identifier for a Realtime script to update.

" + }, + "Name":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Descriptive label that is associated with a script. Script names do not need to be unique.

" + }, + "Version":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Version that is associated with a build or script. Version strings do not need to be unique.

" + }, + "StorageLocation":{ + "shape":"S3Location", + "documentation":"

Location of the Amazon S3 bucket where a zipped file containing your Realtime scripts is stored. The storage location must specify the Amazon S3 bucket name, the zip file name (the \"key\"), and a role ARN that allows Amazon GameLift to access the Amazon S3 storage location. The S3 bucket must be in the same region where you want to create a new script. By default, Amazon GameLift uploads the latest version of the zip file; if you have S3 object versioning turned on, you can use the ObjectVersion parameter to specify an earlier version.

" + }, + "ZipFile":{ + "shape":"ZipBlob", + "documentation":"

Data object containing your Realtime scripts and dependencies as a zip file. The zip file can have one or multiple files. Maximum size of a zip file is 5 MB.

When using the AWS CLI tool to create a script, this parameter is set to the zip file name. It must be prepended with the string \"fileb://\" to indicate that the file data is a binary object. For example: --zip-file fileb://myRealtimeScript.zip.

" + } + } + }, + "UpdateScriptOutput":{ + "type":"structure", + "members":{ + "Script":{ + "shape":"Script", + "documentation":"

The newly created script record with a unique script ID. The new script's storage location reflects an Amazon S3 location: (1) If the script was uploaded from an S3 bucket under your account, the storage location reflects the information that was provided in the CreateScript request; (2) If the script file was uploaded from a local zip file, the storage location reflects an S3 location controls by the Amazon GameLift service.

" + } + } + }, "ValidateMatchmakingRuleSetInput":{ "type":"structure", "required":["RuleSetBody"], @@ -4966,7 +5255,7 @@ }, "PeerVpcId":{ "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console.

" + "documentation":"

Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. Look up a VPC ID using the VPC Dashboard in the AWS Management Console. Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

" }, "CreationTime":{ "shape":"Timestamp", @@ -4977,7 +5266,7 @@ "documentation":"

Time stamp indicating when this authorization expires (24 hours after issuance). Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" } }, - "documentation":"

Represents an authorization for a VPC peering connection between the VPC for an Amazon GameLift fleet and another VPC on an account you have access to. This authorization must exist and be valid for the peering connection to be established. Authorizations are valid for 24 hours after they are issued.

VPC peering connection operations include:

" + "documentation":"

Represents an authorization for a VPC peering connection between the VPC for an Amazon GameLift fleet and another VPC on an account you have access to. This authorization must exist and be valid for the peering connection to be established. Authorizations are valid for 24 hours after they are issued.

" }, "VpcPeeringAuthorizationList":{ "type":"list", @@ -5004,14 +5293,14 @@ }, "PeerVpcId":{ "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console.

" + "documentation":"

Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. Look up a VPC ID using the VPC Dashboard in the AWS Management Console. Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

" }, "GameLiftVpcId":{ "shape":"NonZeroAndMaxString", "documentation":"

Unique identifier for the VPC that contains the Amazon GameLift fleet for this connection. This VPC is managed by Amazon GameLift and does not appear in your AWS account.

" } }, - "documentation":"

Represents a peering connection between a VPC on one of your AWS accounts and the VPC for your Amazon GameLift fleets. This record may be for an active peering connection or a pending connection that has not yet been established.

VPC peering connection operations include:

" + "documentation":"

Represents a peering connection between a VPC on one of your AWS accounts and the VPC for your Amazon GameLift fleets. This record may be for an active peering connection or a pending connection that has not yet been established.

" }, "VpcPeeringConnectionList":{ "type":"list", @@ -5029,12 +5318,16 @@ "documentation":"

Additional messaging associated with the connection status.

" } }, - "documentation":"

Represents status information for a VPC peering connection. Status is associated with a VpcPeeringConnection object. Status codes and messages are provided from EC2 (see VpcPeeringConnectionStateReason). Connection status information is also communicated as a fleet Event.

" + "documentation":"

Represents status information for a VPC peering connection. Status is associated with a VpcPeeringConnection object. Status codes and messages are provided from EC2 (see VpcPeeringConnectionStateReason). Connection status information is also communicated as a fleet Event.

" }, "WholeNumber":{ "type":"integer", "min":0 + }, + "ZipBlob":{ + "type":"blob", + "max":5000000 } }, - "documentation":"Amazon GameLift Service

Amazon GameLift is a managed service for developers who need a scalable, dedicated server solution for their multiplayer games. Use Amazon GameLift for these tasks: (1) set up computing resources and deploy your game servers, (2) run game sessions and get players into games, (3) automatically scale your resources to meet player demand and manage costs, and (4) track in-depth metrics on game server performance and player usage.

The Amazon GameLift service API includes two important function sets:

  • Manage game sessions and player access -- Retrieve information on available game sessions; create new game sessions; send player requests to join a game session.

  • Configure and manage game server resources -- Manage builds, fleets, queues, and aliases; set auto-scaling policies; retrieve logs and metrics.

This reference guide describes the low-level service API for Amazon GameLift. You can use the API functionality with these tools:

  • The Amazon Web Services software development kit (AWS SDK) is available in multiple languages including C++ and C#. Use the SDK to access the API programmatically from an application, such as a game client.

  • The AWS command-line interface (CLI) tool is primarily useful for handling administrative actions, such as setting up and managing Amazon GameLift settings and resources. You can use the AWS CLI to manage all of your AWS services.

  • The AWS Management Console for Amazon GameLift provides a web interface to manage your Amazon GameLift settings and resources. The console includes a dashboard for tracking key resources, including builds and fleets, and displays usage and performance metrics for your games as customizable graphs.

  • Amazon GameLift Local is a tool for testing your game's integration with Amazon GameLift before deploying it on the service. This tools supports a subset of key API actions, which can be called from either the AWS CLI or programmatically. See Testing an Integration.

Learn more

API SUMMARY

This list offers a functional overview of the Amazon GameLift service API.

Managing Games and Players

Use these actions to start new game sessions, find existing game sessions, track game session status and other information, and enable player access to game sessions.

  • Discover existing game sessions

    • SearchGameSessions -- Retrieve all available game sessions or search for game sessions that match a set of criteria.

  • Start new game sessions

    • Start new games with Queues to find the best available hosting resources across multiple regions, minimize player latency, and balance game session activity for efficiency and cost effectiveness.

    • CreateGameSession -- Start a new game session on a specific fleet. Available in Amazon GameLift Local.

  • Match players to game sessions with FlexMatch matchmaking

    • StartMatchmaking -- Request matchmaking for one players or a group who want to play together.

    • StartMatchBackfill - Request additional player matches to fill empty slots in an existing game session.

    • DescribeMatchmaking -- Get details on a matchmaking request, including status.

    • AcceptMatch -- Register that a player accepts a proposed match, for matches that require player acceptance.

    • StopMatchmaking -- Cancel a matchmaking request.

  • Manage game session data

    • DescribeGameSessions -- Retrieve metadata for one or more game sessions, including length of time active and current player count. Available in Amazon GameLift Local.

    • DescribeGameSessionDetails -- Retrieve metadata and the game session protection setting for one or more game sessions.

    • UpdateGameSession -- Change game session settings, such as maximum player count and join policy.

    • GetGameSessionLogUrl -- Get the location of saved logs for a game session.

  • Manage player sessions

    • CreatePlayerSession -- Send a request for a player to join a game session. Available in Amazon GameLift Local.

    • CreatePlayerSessions -- Send a request for multiple players to join a game session. Available in Amazon GameLift Local.

    • DescribePlayerSessions -- Get details on player activity, including status, playing time, and player data. Available in Amazon GameLift Local.

Setting Up and Managing Game Servers

When setting up Amazon GameLift resources for your game, you first create a game build and upload it to Amazon GameLift. You can then use these actions to configure and manage a fleet of resources to run your game servers, scale capacity to meet player demand, access performance and utilization metrics, and more.

" + "documentation":"Amazon GameLift Service

Amazon GameLift is a managed service for developers who need a scalable, dedicated server solution for their multiplayer games. Use Amazon GameLift for these tasks: (1) set up computing resources and deploy your game servers, (2) run game sessions and get players into games, (3) automatically scale your resources to meet player demand and manage costs, and (4) track in-depth metrics on game server performance and player usage.

When setting up hosting resources, you can deploy your custom game server or use the Amazon GameLift Realtime Servers. Realtime Servers gives you the ability to quickly stand up lightweight, efficient game servers with the core Amazon GameLift infrastructure already built in.

Get Amazon GameLift Tools and Resources

This reference guide describes the low-level service API for Amazon GameLift and provides links to language-specific SDK reference topics. See also Amazon GameLift Tools and Resources.

API Summary

The Amazon GameLift service API includes two key sets of actions:

  • Manage game sessions and player access -- Integrate this functionality into game client services in order to create new game sessions, retrieve information on existing game sessions; reserve a player slot in a game session, request matchmaking, etc.

  • Configure and manage game server resources -- Manage your Amazon GameLift hosting resources, including builds, scripts, fleets, queues, and aliases. Set up matchmakers, configure auto-scaling, retrieve game logs, and get hosting and game metrics.

Task-based list of API actions

" } diff --git a/bin/botocore/data/globalaccelerator/2018-08-08/paginators-1.json b/bin/botocore/data/globalaccelerator/2018-08-08/paginators-1.json index ea142457..ed79e0ad 100644 --- a/bin/botocore/data/globalaccelerator/2018-08-08/paginators-1.json +++ b/bin/botocore/data/globalaccelerator/2018-08-08/paginators-1.json @@ -1,3 +1,22 @@ { - "pagination": {} + "pagination": { + "ListAccelerators": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Accelerators" + }, + "ListEndpointGroups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "EndpointGroups" + }, + "ListListeners": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Listeners" + } + } } diff --git a/bin/botocore/data/globalaccelerator/2018-08-08/service-2.json b/bin/botocore/data/globalaccelerator/2018-08-08/service-2.json index 1ae8d574..c1b523e6 100644 --- a/bin/botocore/data/globalaccelerator/2018-08-08/service-2.json +++ b/bin/botocore/data/globalaccelerator/2018-08-08/service-2.json @@ -44,7 +44,7 @@ {"shape":"InvalidArgumentException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Create an endpoint group for the specified accelerator. An endpoint group is a collection of endpoints in one AWS Region. To see an AWS CLI example of creating an endpoint group, scroll down to Example.

" + "documentation":"

Create an endpoint group for the specified listener. An endpoint group is a collection of endpoints in one AWS Region. To see an AWS CLI example of creating an endpoint group, scroll down to Example.

" }, "CreateListener":{ "name":"CreateListener", @@ -77,7 +77,7 @@ {"shape":"InternalServiceErrorException"}, {"shape":"InvalidArgumentException"} ], - "documentation":"

Delete an accelerator. Note: before you can delete an accelerator, you must disable it.

" + "documentation":"

Delete an accelerator. Note: before you can delete an accelerator, you must disable it and remove all dependent resources (listeners and endpoint groups).

" }, "DeleteEndpointGroup":{ "name":"DeleteEndpointGroup", @@ -318,15 +318,15 @@ "members":{ "FlowLogsEnabled":{ "shape":"GenericBoolean", - "documentation":"

Indicates whether flow logs are enabled. The value is true or false. The default value is false. If the value is true, FlowLogsS3Bucket and FlowLogsS3Prefix must be specified.

" + "documentation":"

Indicates whether flow logs are enabled. The default value is false. If the value is true, FlowLogsS3Bucket and FlowLogsS3Prefix must be specified.

For more information, see Flow Logs in the AWS Global Accelerator Developer Guide.

" }, "FlowLogsS3Bucket":{ "shape":"GenericString", - "documentation":"

The name of the Amazon S3 bucket for the flow logs. This attribute is required if flow logs are enabled. The bucket must exist and have a bucket policy that grants AWS Global Accelerator permission to write to the bucket.

" + "documentation":"

The name of the Amazon S3 bucket for the flow logs. Attribute is required if FlowLogsEnabled is true. The bucket must exist and have a bucket policy that grants AWS Global Accelerator permission to write to the bucket.

" }, "FlowLogsS3Prefix":{ "shape":"GenericString", - "documentation":"

The prefix for the location in the Amazon S3 bucket for the flow logs. If you don’t specify a prefix, the flow logs are stored in the root of the bucket.

" + "documentation":"

The prefix for the location in the Amazon S3 bucket for the flow logs. Attribute is required if FlowLogsEnabled is true. If you don’t specify a prefix, the flow logs are stored in the root of the bucket.

" } }, "documentation":"

Attributes of an accelerator.

" @@ -363,7 +363,7 @@ "members":{ "Message":{"shape":"ErrorMessage"} }, - "documentation":"

The endpoint group that you specified doesn't exist.

", + "documentation":"

The listener that you specified has an endpoint group associated with it. You must remove all dependent resources from a listener before you can delete it.

", "exception":true }, "AssociatedListenerFoundException":{ @@ -371,7 +371,7 @@ "members":{ "Message":{"shape":"ErrorMessage"} }, - "documentation":"

The listener that you specified doesn't exist.

", + "documentation":"

The accelerator that you specified has a listener associated with it. You must remove all dependent resources from an accelerator before you can delete it.

", "exception":true }, "ClientAffinity":{ @@ -453,7 +453,7 @@ }, "HealthCheckIntervalSeconds":{ "shape":"HealthCheckIntervalSeconds", - "documentation":"

The time, in seconds, between each health check for an endpoint. The default value is 30.

" + "documentation":"

The time—10 seconds or 30 seconds—between each health check for an endpoint. The default value is 30.

" }, "ThresholdCount":{ "shape":"ThresholdCount", @@ -497,7 +497,7 @@ }, "ClientAffinity":{ "shape":"ClientAffinity", - "documentation":"

Client affinity lets you direct all requests from a user to the same endpoint, if you have stateful applications, regardless of the port and protocol of the client request. Clienty affinity gives you control over whether to always route each client to the same specific endpoint.

AWS Global Accelerator uses a consistent-flow hashing algorithm to choose the optimal endpoint for a connection. If client affinity is NONE, Global Accelerator uses the \"five-tuple\" (5-tuple) properties—client IP address, client port, destination IP address, destination port, and protocol—to select the hash value, and then chooses the best endpoint. However, with this setting, if someone uses different ports to connect to Global Accelerator, their connections might not be always routed to the same endpoint because the hash value changes.

If you want a given client to always be routed to the same endpoint, set client affinity to CLIENT_IP instead. When you use the CLIENT_IP setting, Global Accelerator uses the \"two-tuple\" (2-tuple) properties— client IP address and destination IP address—to select the hash value. For UDP, Global Accelerator always uses two-tuple properties to select the hash value.

The default value is NONE.

" + "documentation":"

Client affinity lets you direct all requests from a user to the same endpoint, if you have stateful applications, regardless of the port and protocol of the client request. Clienty affinity gives you control over whether to always route each client to the same specific endpoint.

AWS Global Accelerator uses a consistent-flow hashing algorithm to choose the optimal endpoint for a connection. If client affinity is NONE, Global Accelerator uses the \"five-tuple\" (5-tuple) properties—source IP address, source port, destination IP address, destination port, and protocol—to select the hash value, and then chooses the best endpoint. However, with this setting, if someone uses different ports to connect to Global Accelerator, their connections might not be always routed to the same endpoint because the hash value changes.

If you want a given client to always be routed to the same endpoint, set client affinity to SOURCE_IP instead. When you use the SOURCE_IP setting, Global Accelerator uses the \"two-tuple\" (2-tuple) properties— source (client) IP address and destination IP address—to select the hash value.

The default value is NONE.

" }, "IdempotencyToken":{ "shape":"IdempotencyToken", @@ -549,7 +549,7 @@ "members":{ "AcceleratorArn":{ "shape":"GenericString", - "documentation":"

The Amazon Resource Name (ARN) of the accelerator with the attributes that you want to describe.

" + "documentation":"

The Amazon Resource Name (ARN) of the accelerator with the attributes that you want to describe. Value is required.

" } } }, @@ -628,7 +628,7 @@ }, "Weight":{ "shape":"EndpointWeight", - "documentation":"

The weight associated with the endpoint. When you add weights to endpoints, you configure AWS Global Accelerator to route traffic based on proportions that you specify. For example, you might specify endpoint weights of 4, 5, 5, and 6 (sum=20). The result is that 4/20 of your traffic, on average, is routed to the first endpoint, 5/20 is routed both to the second and third endpoints, and 6/20 is routed to the last endpoint. For more information, see Endpoint Weights in the AWS Global Accelerator Developer Guide.

" + "documentation":"

The weight associated with the endpoint. When you add weights to endpoints, you configure AWS Global Accelerator to route traffic based on proportions that you specify. For example, you might specify endpoint weights of 4, 5, 5, and 6 (sum=20). The result is that 4/20 of your traffic, on average, is routed to the first endpoint, 5/20 is routed both to the second and third endpoints, and 6/20 is routed to the last endpoint. For more information, see Endpoint Weights in the AWS Global Accelerator Developer Guide.

" } }, "documentation":"

A complex type for endpoints.

" @@ -648,7 +648,7 @@ }, "Weight":{ "shape":"EndpointWeight", - "documentation":"

The weight associated with the endpoint. When you add weights to endpoints, you configure AWS Global Accelerator to route traffic based on proportions that you specify. For example, you might specify endpoint weights of 4, 5, 5, and 6 (sum=20). The result is that 4/20 of your traffic, on average, is routed to the first endpoint, 5/20 is routed both to the second and third endpoints, and 6/20 is routed to the last endpoint. For more information, see Endpoint Weights in the AWS Global Accelerator Developer Guide.

" + "documentation":"

The weight associated with the endpoint. When you add weights to endpoints, you configure AWS Global Accelerator to route traffic based on proportions that you specify. For example, you might specify endpoint weights of 4, 5, 5, and 6 (sum=20). The result is that 4/20 of your traffic, on average, is routed to the first endpoint, 5/20 is routed both to the second and third endpoints, and 6/20 is routed to the last endpoint. For more information, see Endpoint Weights in the AWS Global Accelerator Developer Guide.

" }, "HealthState":{ "shape":"HealthState", @@ -698,7 +698,7 @@ }, "HealthCheckIntervalSeconds":{ "shape":"HealthCheckIntervalSeconds", - "documentation":"

The elapsed time, in seconds, between health checks for each endpoint. The default value is 30.

" + "documentation":"

The time—10 seconds or 30 seconds—between health checks for each endpoint. The default value is 30.

" }, "ThresholdCount":{ "shape":"ThresholdCount", @@ -942,7 +942,7 @@ }, "ClientAffinity":{ "shape":"ClientAffinity", - "documentation":"

The client properties that Global Accelerator uses to select an endpoint so that you can choose to route traffic from users to their original endpoint. The default value is NONE.

" + "documentation":"

Client affinity lets you direct all requests from a user to the same endpoint, if you have stateful applications, regardless of the port and protocol of the client request. Clienty affinity gives you control over whether to always route each client to the same specific endpoint.

AWS Global Accelerator uses a consistent-flow hashing algorithm to choose the optimal endpoint for a connection. If client affinity is NONE, Global Accelerator uses the \"five-tuple\" (5-tuple) properties—source IP address, source port, destination IP address, destination port, and protocol—to select the hash value, and then chooses the best endpoint. However, with this setting, if someone uses different ports to connect to Global Accelerator, their connections might not be always routed to the same endpoint because the hash value changes.

If you want a given client to always be routed to the same endpoint, set client affinity to SOURCE_IP instead. When you use the SOURCE_IP setting, Global Accelerator uses the \"two-tuple\" (2-tuple) properties— source (client) IP address and destination IP address—to select the hash value.

The default value is NONE.

" } }, "documentation":"

A complex type for a listener.

" @@ -1012,19 +1012,19 @@ "members":{ "AcceleratorArn":{ "shape":"GenericString", - "documentation":"

The Amazon Resource Name (ARN) of the accelerator that you want to update.

" + "documentation":"

The Amazon Resource Name (ARN) of the accelerator that you want to update. Attribute is required.

" }, "FlowLogsEnabled":{ "shape":"GenericBoolean", - "documentation":"

Update whether flow logs are enabled.

" + "documentation":"

Update whether flow logs are enabled. The default value is false. If the value is true, FlowLogsS3Bucket and FlowLogsS3Prefix must be specified.

For more information, see Flow Logs in the AWS Global Accelerator Developer Guide.

" }, "FlowLogsS3Bucket":{ "shape":"GenericString", - "documentation":"

Update the name of the Amazon S3 bucket for the flow logs.

" + "documentation":"

The name of the Amazon S3 bucket for the flow logs. Attribute is required if FlowLogsEnabled is true. The bucket must exist and have a bucket policy that grants AWS Global Accelerator permission to write to the bucket.

" }, "FlowLogsS3Prefix":{ "shape":"GenericString", - "documentation":"

Update the prefix for the location in the Amazon S3 bucket for the flow logs.

" + "documentation":"

Update the prefix for the location in the Amazon S3 bucket for the flow logs. Attribute is required if FlowLogsEnabled is true. If you don’t specify a prefix, the flow logs are stored in the root of the bucket.

" } } }, @@ -1098,7 +1098,7 @@ }, "HealthCheckIntervalSeconds":{ "shape":"HealthCheckIntervalSeconds", - "documentation":"

The time, in seconds, between each health check for an endpoint. The default value is 30.

" + "documentation":"

The time—10 seconds or 30 seconds—between each health check for an endpoint. The default value is 30.

" }, "ThresholdCount":{ "shape":"ThresholdCount", @@ -1133,7 +1133,7 @@ }, "ClientAffinity":{ "shape":"ClientAffinity", - "documentation":"

Client affinity lets you direct all requests from a user to the same endpoint, if you have stateful applications, regardless of the source port and protocol of the user request. This gives you control over whether and how to maintain client affinity to a given endpoint.

The default value is NONE.

" + "documentation":"

Client affinity lets you direct all requests from a user to the same endpoint, if you have stateful applications, regardless of the port and protocol of the client request. Clienty affinity gives you control over whether to always route each client to the same specific endpoint.

AWS Global Accelerator uses a consistent-flow hashing algorithm to choose the optimal endpoint for a connection. If client affinity is NONE, Global Accelerator uses the \"five-tuple\" (5-tuple) properties—source IP address, source port, destination IP address, destination port, and protocol—to select the hash value, and then chooses the best endpoint. However, with this setting, if someone uses different ports to connect to Global Accelerator, their connections might not be always routed to the same endpoint because the hash value changes.

If you want a given client to always be routed to the same endpoint, set client affinity to SOURCE_IP instead. When you use the SOURCE_IP setting, Global Accelerator uses the \"two-tuple\" (2-tuple) properties— source (client) IP address and destination IP address—to select the hash value.

The default value is NONE.

" } } }, @@ -1147,5 +1147,5 @@ } } }, - "documentation":"AWS Global Accelerator

This is the AWS Global Accelerator API Reference. This guide is for developers who need detailed information about AWS Global Accelerator API actions, data types, and errors. For more information about Global Accelerator features, see the AWS Global Accelerator Developer Guide.

AWS Global Accelerator is a network layer service in which you create accelerators to improve availability and performance for internet applications used by a global audience.

Global Accelerator provides you with static IP addresses that you associate with your accelerator. These IP addresses are anycast from the AWS edge network and distribute incoming application traffic across multiple endpoint resources in multiple AWS Regions, which increases the availability of your applications. Endpoints can be Elastic IP addresses, Network Load Balancers, and Application Load Balancers that are located in one AWS Region or multiple Regions.

Global Accelerator uses the AWS global network to route traffic to the optimal regional endpoint based on health, client location, and policies that you configure. The service reacts instantly to changes in health or configuration to ensure that internet traffic from clients is directed to only healthy endpoints.

Global Accelerator includes components that work together to help you improve performance and availability for your applications:

Static IP address

AWS Global Accelerator provides you with a set of static IP addresses which are anycast from the AWS edge network and serve as the single fixed points of contact for your clients. If you already have Elastic Load Balancing or Elastic IP address resources set up for your applications, you can easily add those to Global Accelerator to allow the resources to be accessed by a Global Accelerator static IP address.

Accelerator

An accelerator directs traffic to optimal endpoints over the AWS global network to improve availability and performance for your internet applications that have a global audience. Each accelerator includes one or more listeners.

Network zone

A network zone services the static IP addresses for your accelerator from a unique IP subnet. Similar to an AWS Availability Zone, a network zone is an isolated unit with its own set of physical infrastructure. When you configure an accelerator, Global Accelerator allocates two IPv4 addresses for it. If one IP address from a network zone becomes unavailable due to IP address blocking by certain client networks, or network disruptions, then client applications can retry on the healthy static IP address from the other isolated network zone.

Listener

A listener processes inbound connections from clients to Global Accelerator, based on the protocol and port that you configure. Each listener has one or more endpoint groups associated with it, and traffic is forwarded to endpoints in one of the groups. You associate endpoint groups with listeners by specifying the Regions that you want to distribute traffic to. Traffic is distributed to optimal endpoints within the endpoint groups associated with a listener.

Endpoint group

Each endpoint group is associated with a specific AWS Region. Endpoint groups include one or more endpoints in the Region. You can increase or reduce the percentage of traffic that would be otherwise directed to an endpoint group by adjusting a setting called a traffic dial. The traffic dial lets you easily do performance testing or blue/green deployment testing for new releases across different AWS Regions, for example.

Endpoint

An endpoint is an Elastic IP address, Network Load Balancer, or Application Load Balancer. Traffic is routed to endpoints based on several factors, including the geo-proximity to the user, the health of the endpoint, and the configuration options that you choose, such as endpoint weights. You can configure weights for each endpoint, which are numbers that you can use to specify the proportion of traffic to route to each one. This can be useful, for example, to do performance testing within a Region.

" + "documentation":"AWS Global Accelerator

This is the AWS Global Accelerator API Reference. This guide is for developers who need detailed information about AWS Global Accelerator API actions, data types, and errors. For more information about Global Accelerator features, see the AWS Global Accelerator Developer Guide.

AWS Global Accelerator is a network layer service in which you create accelerators to improve availability and performance for internet applications used by a global audience.

Global Accelerator provides you with static IP addresses that you associate with your accelerator. These IP addresses are anycast from the AWS edge network and distribute incoming application traffic across multiple endpoint resources in multiple AWS Regions, which increases the availability of your applications. Endpoints can be Elastic IP addresses, Network Load Balancers, and Application Load Balancers that are located in one AWS Region or multiple Regions.

Global Accelerator uses the AWS global network to route traffic to the optimal regional endpoint based on health, client location, and policies that you configure. The service reacts instantly to changes in health or configuration to ensure that internet traffic from clients is directed to only healthy endpoints.

Global Accelerator includes components that work together to help you improve performance and availability for your applications:

Static IP address

AWS Global Accelerator provides you with a set of static IP addresses which are anycast from the AWS edge network and serve as the single fixed entry points for your clients. If you already have Elastic Load Balancing or Elastic IP address resources set up for your applications, you can easily add those to Global Accelerator to allow the resources to be accessed by a Global Accelerator static IP address.

Accelerator

An accelerator directs traffic to optimal endpoints over the AWS global network to improve availability and performance for your internet applications that have a global audience. Each accelerator includes one or more listeners.

Network zone

A network zone services the static IP addresses for your accelerator from a unique IP subnet. Similar to an AWS Availability Zone, a network zone is an isolated unit with its own set of physical infrastructure. When you configure an accelerator, Global Accelerator allocates two IPv4 addresses for it. If one IP address from a network zone becomes unavailable due to IP address blocking by certain client networks, or network disruptions, then client applications can retry on the healthy static IP address from the other isolated network zone.

Listener

A listener processes inbound connections from clients to Global Accelerator, based on the protocol and port that you configure. Each listener has one or more endpoint groups associated with it, and traffic is forwarded to endpoints in one of the groups. You associate endpoint groups with listeners by specifying the Regions that you want to distribute traffic to. Traffic is distributed to optimal endpoints within the endpoint groups associated with a listener.

Endpoint group

Each endpoint group is associated with a specific AWS Region. Endpoint groups include one or more endpoints in the Region. You can increase or reduce the percentage of traffic that would be otherwise directed to an endpoint group by adjusting a setting called a traffic dial. The traffic dial lets you easily do performance testing or blue/green deployment testing for new releases across different AWS Regions, for example.

Endpoint

An endpoint is an Elastic IP address, Network Load Balancer, or Application Load Balancer. Traffic is routed to endpoints based on several factors, including the geo-proximity to the user, the health of the endpoint, and the configuration options that you choose, such as endpoint weights. For each endpoint, you can configure weights, which are numbers that you can use to specify the proportion of traffic to route to each one. This can be useful, for example, to do performance testing within a Region.

" } diff --git a/bin/botocore/data/glue/2017-03-31/paginators-1.json b/bin/botocore/data/glue/2017-03-31/paginators-1.json index e90ffafe..9ef561c9 100644 --- a/bin/botocore/data/glue/2017-03-31/paginators-1.json +++ b/bin/botocore/data/glue/2017-03-31/paginators-1.json @@ -77,6 +77,12 @@ "output_token": "NextToken", "input_token": "NextToken", "limit_key": "MaxResults" + }, + "GetSecurityConfigurations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "SecurityConfigurations" } } } diff --git a/bin/botocore/data/glue/2017-03-31/service-2.json b/bin/botocore/data/glue/2017-03-31/service-2.json index c79e22ca..ff17e8e1 100644 --- a/bin/botocore/data/glue/2017-03-31/service-2.json +++ b/bin/botocore/data/glue/2017-03-31/service-2.json @@ -93,6 +93,51 @@ ], "documentation":"

Deletes a specified batch of versions of a table.

" }, + "BatchGetCrawlers":{ + "name":"BatchGetCrawlers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetCrawlersRequest"}, + "output":{"shape":"BatchGetCrawlersResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Returns a list of resource metadata for a given list of crawler names. After calling the ListCrawlers operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags.

" + }, + "BatchGetDevEndpoints":{ + "name":"BatchGetDevEndpoints", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetDevEndpointsRequest"}, + "output":{"shape":"BatchGetDevEndpointsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Returns a list of resource metadata for a given list of DevEndpoint names. After calling the ListDevEndpoints operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags.

" + }, + "BatchGetJobs":{ + "name":"BatchGetJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetJobsRequest"}, + "output":{"shape":"BatchGetJobsResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Returns a list of resource metadata for a given list of job names. After calling the ListJobs operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags.

" + }, "BatchGetPartition":{ "name":"BatchGetPartition", "http":{ @@ -110,6 +155,21 @@ ], "documentation":"

Retrieves partitions in a batch request.

" }, + "BatchGetTriggers":{ + "name":"BatchGetTriggers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetTriggersRequest"}, + "output":{"shape":"BatchGetTriggersResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Returns a list of resource metadata for a given list of trigger names. After calling the ListTriggers operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags.

" + }, "BatchStopJobRun":{ "name":"BatchStopJobRun", "http":{ @@ -138,7 +198,7 @@ {"shape":"InvalidInputException"}, {"shape":"OperationTimeoutException"} ], - "documentation":"

Creates a classifier in the user's account. This may be a GrokClassifier, an XMLClassifier, or abbrev JsonClassifier, depending on which field of the request is present.

" + "documentation":"

Creates a classifier in the user's account. This can be a GrokClassifier, an XMLClassifier, a JsonClassifier, or a CsvClassifier, depending on which field of the request is present.

" }, "CreateConnection":{ "name":"CreateConnection", @@ -171,7 +231,7 @@ {"shape":"OperationTimeoutException"}, {"shape":"ResourceNumberLimitExceededException"} ], - "documentation":"

Creates a new crawler with specified targets, role, configuration, and optional schedule. At least one crawl target must be specified, in the s3Targets field, the jdbcTargets field, or the DynamoDBTargets field.

" + "documentation":"

Creates a new crawler with specified targets, role, configuration, and optional schedule. At least one crawl target must be specified, in the s3Targets field, the jdbcTargets field, or the DynamoDBTargets field.

" }, "CreateDatabase":{ "name":"CreateDatabase", @@ -380,7 +440,7 @@ {"shape":"SchedulerTransitioningException"}, {"shape":"OperationTimeoutException"} ], - "documentation":"

Removes a specified crawler from the Data Catalog, unless the crawler state is RUNNING.

" + "documentation":"

Removes a specified crawler from the AWS Glue Data Catalog, unless the crawler state is RUNNING.

" }, "DeleteDatabase":{ "name":"DeleteDatabase", @@ -995,6 +1055,22 @@ ], "documentation":"

Retrieves the definitions of some or all of the tables in a given Database.

" }, + "GetTags":{ + "name":"GetTags", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTagsRequest"}, + "output":{"shape":"GetTagsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"EntityNotFoundException"} + ], + "documentation":"

Retrieves a list of tags associated with a resource.

" + }, "GetTrigger":{ "name":"GetTrigger", "http":{ @@ -1075,6 +1151,67 @@ ], "documentation":"

Imports an existing Athena Data Catalog to AWS Glue

" }, + "ListCrawlers":{ + "name":"ListCrawlers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCrawlersRequest"}, + "output":{"shape":"ListCrawlersResponse"}, + "errors":[ + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Retrieves the names of all crawler resources in this AWS account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names.

This operation takes the optional Tags field, which you can use as a filter on the response so that tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag are retrieved.

" + }, + "ListDevEndpoints":{ + "name":"ListDevEndpoints", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDevEndpointsRequest"}, + "output":{"shape":"ListDevEndpointsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Retrieves the names of all DevEndpoint resources in this AWS account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names.

This operation takes the optional Tags field, which you can use as a filter on the response so that tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag are retrieved.

" + }, + "ListJobs":{ + "name":"ListJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListJobsRequest"}, + "output":{"shape":"ListJobsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Retrieves the names of all job resources in this AWS account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names.

This operation takes the optional Tags field, which you can use as a filter on the response so that tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag are retrieved.

" + }, + "ListTriggers":{ + "name":"ListTriggers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTriggersRequest"}, + "output":{"shape":"ListTriggersResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Retrieves the names of all trigger resources in this AWS account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names.

This operation takes the optional Tags field, which you can use as a filter on the response so that tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag are retrieved.

" + }, "PutDataCatalogEncryptionSettings":{ "name":"PutDataCatalogEncryptionSettings", "http":{ @@ -1088,7 +1225,7 @@ {"shape":"InvalidInputException"}, {"shape":"OperationTimeoutException"} ], - "documentation":"

Sets the security configuration for a specified catalog. Once the configuration has been set, the specified encryption is applied to every catalog write thereafter.

" + "documentation":"

Sets the security configuration for a specified catalog. After the configuration has been set, the specified encryption is applied to every catalog write thereafter.

" }, "PutResourcePolicy":{ "name":"PutResourcePolicy", @@ -1189,7 +1326,7 @@ {"shape":"ResourceNumberLimitExceededException"}, {"shape":"ConcurrentRunsExceededException"} ], - "documentation":"

Starts an existing trigger. See Triggering Jobs for information about how different types of trigger are started.

" + "documentation":"

Starts an existing trigger. See Triggering Jobs for information about how different types of trigger are started.

" }, "StopCrawler":{ "name":"StopCrawler", @@ -1240,6 +1377,38 @@ ], "documentation":"

Stops a specified trigger.

" }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"EntityNotFoundException"} + ], + "documentation":"

Adds tags to a resource. A tag is a label you can assign to an AWS resource. In AWS Glue, you can tag only certain resources. For information about what resources you can tag, see AWS Tags in AWS Glue.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"EntityNotFoundException"} + ], + "documentation":"

Removes tags from a resource.

" + }, "UpdateClassifier":{ "name":"UpdateClassifier", "http":{ @@ -1254,7 +1423,7 @@ {"shape":"EntityNotFoundException"}, {"shape":"OperationTimeoutException"} ], - "documentation":"

Modifies an existing classifier (a GrokClassifier, XMLClassifier, or JsonClassifier, depending on which field is present).

" + "documentation":"

Modifies an existing classifier (a GrokClassifier, an XMLClassifier, a JsonClassifier, or a CsvClassifier, depending on which field is present).

" }, "UpdateConnection":{ "name":"UpdateConnection", @@ -1450,11 +1619,11 @@ }, "Arguments":{ "shape":"GenericMap", - "documentation":"

Arguments to be passed to the job run.

You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

" + "documentation":"

The job arguments used when this trigger fires. For this job run, they replace the default arguments set in the job definition itself.

You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

" }, "Timeout":{ "shape":"Timeout", - "documentation":"

The JobRun timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.

" + "documentation":"

The JobRun timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.

" }, "NotificationProperty":{ "shape":"NotificationProperty", @@ -1462,7 +1631,7 @@ }, "SecurityConfiguration":{ "shape":"NameString", - "documentation":"

The name of the SecurityConfiguration structure to be used with this action.

" + "documentation":"

The name of the SecurityConfiguration structure to be used with this action.

" } }, "documentation":"

Defines an action to be initiated by a trigger.

" @@ -1524,7 +1693,7 @@ "members":{ "CatalogId":{ "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog in which the connections reside. If none is supplied, the AWS account ID is used by default.

" + "documentation":"

The ID of the Data Catalog in which the connections reside. If none is provided, the AWS account ID is used by default.

" }, "ConnectionNameList":{ "shape":"DeleteConnectionNameList", @@ -1663,6 +1832,75 @@ } } }, + "BatchGetCrawlersRequest":{ + "type":"structure", + "required":["CrawlerNames"], + "members":{ + "CrawlerNames":{ + "shape":"CrawlerNameList", + "documentation":"

A list of crawler names, which might be the names returned from the ListCrawlers operation.

" + } + } + }, + "BatchGetCrawlersResponse":{ + "type":"structure", + "members":{ + "Crawlers":{ + "shape":"CrawlerList", + "documentation":"

A list of crawler definitions.

" + }, + "CrawlersNotFound":{ + "shape":"CrawlerNameList", + "documentation":"

A list of names of crawlers that were not found.

" + } + } + }, + "BatchGetDevEndpointsRequest":{ + "type":"structure", + "required":["DevEndpointNames"], + "members":{ + "DevEndpointNames":{ + "shape":"DevEndpointNames", + "documentation":"

The list of DevEndpoint names, which may be the names returned from the ListDevEndpoint operation.

" + } + } + }, + "BatchGetDevEndpointsResponse":{ + "type":"structure", + "members":{ + "DevEndpoints":{ + "shape":"DevEndpointList", + "documentation":"

A list of DevEndpoint definitions.

" + }, + "DevEndpointsNotFound":{ + "shape":"DevEndpointNames", + "documentation":"

A list of DevEndpoints not found.

" + } + } + }, + "BatchGetJobsRequest":{ + "type":"structure", + "required":["JobNames"], + "members":{ + "JobNames":{ + "shape":"JobNameList", + "documentation":"

A list of job names, which might be the names returned from the ListJobs operation.

" + } + } + }, + "BatchGetJobsResponse":{ + "type":"structure", + "members":{ + "Jobs":{ + "shape":"JobList", + "documentation":"

A list of job definitions.

" + }, + "JobsNotFound":{ + "shape":"JobNameList", + "documentation":"

A list of names of jobs not found.

" + } + } + }, "BatchGetPartitionRequest":{ "type":"structure", "required":[ @@ -1708,16 +1946,39 @@ "max":1000, "min":0 }, + "BatchGetTriggersRequest":{ + "type":"structure", + "required":["TriggerNames"], + "members":{ + "TriggerNames":{ + "shape":"TriggerNameList", + "documentation":"

A list of trigger names, which may be the names returned from the ListTriggers operation.

" + } + } + }, + "BatchGetTriggersResponse":{ + "type":"structure", + "members":{ + "Triggers":{ + "shape":"TriggerList", + "documentation":"

A list of trigger definitions.

" + }, + "TriggersNotFound":{ + "shape":"TriggerNameList", + "documentation":"

A list of names of triggers not found.

" + } + } + }, "BatchStopJobRunError":{ "type":"structure", "members":{ "JobName":{ "shape":"NameString", - "documentation":"

The name of the job definition used in the job run in question.

" + "documentation":"

The name of the job definition that is used in the job run in question.

" }, "JobRunId":{ "shape":"IdString", - "documentation":"

The JobRunId of the job run in question.

" + "documentation":"

The JobRunId of the job run in question.

" }, "ErrorDetail":{ "shape":"ErrorDetail", @@ -1749,7 +2010,7 @@ }, "JobRunIds":{ "shape":"BatchStopJobRunJobRunIdList", - "documentation":"

A list of the JobRunIds that should be stopped for that job definition.

" + "documentation":"

A list of the JobRunIds that should be stopped for that job definition.

" } } }, @@ -1762,7 +2023,7 @@ }, "Errors":{ "shape":"BatchStopJobRunErrorList", - "documentation":"

A list of the errors that were encountered in tryng to stop JobRuns, including the JobRunId for which each error was encountered and details about the error.

" + "documentation":"

A list of the errors that were encountered in trying to stop JobRuns, including the JobRunId for which each error was encountered and details about the error.

" } } }, @@ -1775,10 +2036,10 @@ }, "JobRunId":{ "shape":"IdString", - "documentation":"

The JobRunId of the job run that was stopped.

" + "documentation":"

The JobRunId of the job run that was stopped.

" } }, - "documentation":"

Records a successful request to stop a specified JobRun.

" + "documentation":"

Records a successful request to stop a specified JobRun.

" }, "BatchStopJobRunSuccessfulSubmissionList":{ "type":"list", @@ -1820,7 +2081,7 @@ "documentation":"

The name of the table in question.

" } }, - "documentation":"

Specifies a table definition in the Data Catalog.

" + "documentation":"

Specifies a table definition in the AWS Glue Data Catalog.

" }, "CatalogIdString":{ "type":"string", @@ -1846,24 +2107,55 @@ }, "documentation":"

A structure containing migration status information.

" }, + "CatalogTablesList":{ + "type":"list", + "member":{"shape":"NameString"}, + "min":1 + }, + "CatalogTarget":{ + "type":"structure", + "required":[ + "DatabaseName", + "Tables" + ], + "members":{ + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The name of the database to be synchronized.

" + }, + "Tables":{ + "shape":"CatalogTablesList", + "documentation":"

A list of the tables to be synchronized.

" + } + }, + "documentation":"

Specifies an AWS Glue Data Catalog target.

" + }, + "CatalogTargetList":{ + "type":"list", + "member":{"shape":"CatalogTarget"} + }, "Classification":{"type":"string"}, "Classifier":{ "type":"structure", "members":{ "GrokClassifier":{ "shape":"GrokClassifier", - "documentation":"

A GrokClassifier object.

" + "documentation":"

A classifier that uses grok.

" }, "XMLClassifier":{ "shape":"XMLClassifier", - "documentation":"

An XMLClassifier object.

" + "documentation":"

A classifier for XML content.

" }, "JsonClassifier":{ "shape":"JsonClassifier", - "documentation":"

A JsonClassifier object.

" + "documentation":"

A classifier for JSON content.

" + }, + "CsvClassifier":{ + "shape":"CsvClassifier", + "documentation":"

A classifier for comma-separated values (CSV).

" } }, - "documentation":"

Classifiers are triggered during a crawl task. A classifier checks whether a given file is in a format it can handle, and if it is, the classifier creates a schema in the form of a StructType object that matches that data format.

You can use the standard classifiers that AWS Glue supplies, or you can write your own classifiers to best categorize your data sources and specify the appropriate schemas to use for them. A classifier can be a grok classifier, an XML classifier, or a JSON classifier, as specified in one of the fields in the Classifier object.

" + "documentation":"

Classifiers are triggered during a crawl task. A classifier checks whether a given file is in a format it can handle. If it is, the classifier creates a schema in the form of a StructType object that matches that data format.

You can use the standard classifiers that AWS Glue provides, or you can write your own classifiers to best categorize your data sources and specify the appropriate schemas to use for them. A classifier can be a grok classifier, an XML classifier, a JSON classifier, or a custom CSV classifier, as specified in one of the fields in the Classifier object.

" }, "ClassifierList":{ "type":"list", @@ -1938,7 +2230,7 @@ }, "NodeType":{ "shape":"CodeGenNodeType", - "documentation":"

The type of node this is.

" + "documentation":"

The type of node that this is.

" }, "Args":{ "shape":"CodeGenNodeArgs", @@ -2051,11 +2343,11 @@ }, "JobName":{ "shape":"NameString", - "documentation":"

The name of the Job to whose JobRuns this condition applies and on which this trigger waits.

" + "documentation":"

The name of the job whose JobRuns this condition applies to, and on which this trigger waits.

" }, "State":{ "shape":"JobRunState", - "documentation":"

The condition state. Currently, the values supported are SUCCEEDED, STOPPED, TIMEOUT and FAILED.

" + "documentation":"

The condition state. Currently, the values supported are SUCCEEDED, STOPPED, TIMEOUT, and FAILED.

" } }, "documentation":"

Defines a condition under which a trigger fires.

" @@ -2084,7 +2376,7 @@ }, "Description":{ "shape":"DescriptionString", - "documentation":"

Description of the connection.

" + "documentation":"

The description of the connection.

" }, "ConnectionType":{ "shape":"ConnectionType", @@ -2096,23 +2388,23 @@ }, "ConnectionProperties":{ "shape":"ConnectionProperties", - "documentation":"

These key-value pairs define parameters for the connection:

  • HOST - The host URI: either the fully qualified domain name (FQDN) or the IPv4 address of the database host.

  • PORT - The port number, between 1024 and 65535, of the port on which the database host is listening for database connections.

  • USER_NAME - The name under which to log in to the database. The value string for USER_NAME is \"USERNAME\".

  • PASSWORD - A password, if one is used, for the user name.

  • JDBC_DRIVER_JAR_URI - The S3 path of the a jar file that contains the JDBC driver to use.

  • JDBC_DRIVER_CLASS_NAME - The class name of the JDBC driver to use.

  • JDBC_ENGINE - The name of the JDBC engine to use.

  • JDBC_ENGINE_VERSION - The version of the JDBC engine to use.

  • CONFIG_FILES - (Reserved for future use).

  • INSTANCE_ID - The instance ID to use.

  • JDBC_CONNECTION_URL - The URL for the JDBC connection.

  • JDBC_ENFORCE_SSL - A Boolean string (true, false) specifying whether SSL with hostname matching will be enforced for the JDBC connection on the client. The default is false.

" + "documentation":"

These key-value pairs define parameters for the connection:

  • HOST - The host URI: either the fully qualified domain name (FQDN) or the IPv4 address of the database host.

  • PORT - The port number, between 1024 and 65535, of the port on which the database host is listening for database connections.

  • USER_NAME - The name under which to log in to the database. The value string for USER_NAME is \"USERNAME\".

  • PASSWORD - A password, if one is used, for the user name.

  • ENCRYPTED_PASSWORD - When you enable connection password protection by setting ConnectionPasswordEncryption in the Data Catalog encryption settings, this field stores the encrypted password.

  • JDBC_DRIVER_JAR_URI - The Amazon S3 path of the JAR file that contains the JDBC driver to use.

  • JDBC_DRIVER_CLASS_NAME - The class name of the JDBC driver to use.

  • JDBC_ENGINE - The name of the JDBC engine to use.

  • JDBC_ENGINE_VERSION - The version of the JDBC engine to use.

  • CONFIG_FILES - (Reserved for future use).

  • INSTANCE_ID - The instance ID to use.

  • JDBC_CONNECTION_URL - The URL for the JDBC connection.

  • JDBC_ENFORCE_SSL - A Boolean string (true, false) specifying whether Secure Sockets Layer (SSL) with hostname matching will be enforced for the JDBC connection on the client. The default is false.

" }, "PhysicalConnectionRequirements":{ "shape":"PhysicalConnectionRequirements", - "documentation":"

A map of physical connection requirements, such as VPC and SecurityGroup, needed for making this connection successfully.

" + "documentation":"

A map of physical connection requirements, such as virtual private cloud (VPC) and SecurityGroup, that are needed to make this connection successfully.

" }, "CreationTime":{ "shape":"Timestamp", - "documentation":"

The time this connection definition was created.

" + "documentation":"

The time that this connection definition was created.

" }, "LastUpdatedTime":{ "shape":"Timestamp", - "documentation":"

The last time this connection definition was updated.

" + "documentation":"

The last time that this connection definition was updated.

" }, "LastUpdatedBy":{ "shape":"NameString", - "documentation":"

The user, group or role that last updated this connection definition.

" + "documentation":"

The user, group, or role that last updated this connection definition.

" } }, "documentation":"

Defines a connection to a data source.

" @@ -2131,7 +2423,7 @@ }, "Description":{ "shape":"DescriptionString", - "documentation":"

Description of the connection.

" + "documentation":"

The description of the connection.

" }, "ConnectionType":{ "shape":"ConnectionType", @@ -2147,16 +2439,31 @@ }, "PhysicalConnectionRequirements":{ "shape":"PhysicalConnectionRequirements", - "documentation":"

A map of physical connection requirements, such as VPC and SecurityGroup, needed for making this connection successfully.

" + "documentation":"

A map of physical connection requirements, such as virtual private cloud (VPC) and SecurityGroup, that are needed to successfully make this connection.

" } }, - "documentation":"

A structure used to specify a connection to create or update.

" + "documentation":"

A structure that is used to specify a connection to create or update.

" }, "ConnectionList":{ "type":"list", "member":{"shape":"Connection"} }, "ConnectionName":{"type":"string"}, + "ConnectionPasswordEncryption":{ + "type":"structure", + "required":["ReturnConnectionPasswordEncrypted"], + "members":{ + "ReturnConnectionPasswordEncrypted":{ + "shape":"Boolean", + "documentation":"

When the ReturnConnectionPasswordEncrypted flag is set to \"true\", passwords remain encrypted in the responses of GetConnection and GetConnections. This encryption takes effect independently from catalog encryption.

" + }, + "AwsKmsKeyId":{ + "shape":"NameString", + "documentation":"

An AWS KMS key that is used to encrypt the connection password.

If connection password protection is enabled, the caller of CreateConnection and UpdateConnection needs at least kms:Encrypt permission on the specified AWS KMS key, to encrypt passwords before storing them in the Data Catalog.

You can set the decrypt permission to enable or restrict access on the password key according to your security requirements.

" + } + }, + "documentation":"

The data structure used by the Data Catalog to encrypt the password as part of CreateConnection or UpdateConnection and store it in the ENCRYPTED_PASSWORD field in the connection properties. You can enable catalog encryption or only password encryption.

When a CreationConnection request arrives containing a password, the Data Catalog first encrypts the password using your AWS KMS key. It then encrypts the whole connection object again if catalog encryption is also enabled.

This encryption requires that you set AWS KMS key permissions to enable or restrict access on the password key according to your security requirements. For example, you might want only admin users to have decrypt permission on the password key.

" + }, "ConnectionProperties":{ "type":"map", "key":{"shape":"ConnectionPropertyKey"}, @@ -2171,6 +2478,7 @@ "PORT", "USERNAME", "PASSWORD", + "ENCRYPTED_PASSWORD", "JDBC_DRIVER_JAR_URI", "JDBC_DRIVER_CLASS_NAME", "JDBC_ENGINE", @@ -2203,11 +2511,11 @@ "members":{ "Name":{ "shape":"NameString", - "documentation":"

The crawler name.

" + "documentation":"

The name of the crawler.

" }, "Role":{ "shape":"Role", - "documentation":"

The IAM role (or ARN of an IAM role) used to access customer resources, such as data in Amazon S3.

" + "documentation":"

The Amazon Resource Name (ARN) of an IAM role that's used to access customer resources, such as Amazon Simple Storage Service (Amazon S3) data.

" }, "Targets":{ "shape":"CrawlerTargets", @@ -2215,7 +2523,7 @@ }, "DatabaseName":{ "shape":"DatabaseName", - "documentation":"

The database where metadata is written by this crawler.

" + "documentation":"

The name of the database in which the crawler's output is stored.

" }, "Description":{ "shape":"DescriptionString", @@ -2223,11 +2531,11 @@ }, "Classifiers":{ "shape":"ClassifierNameList", - "documentation":"

A list of custom classifiers associated with the crawler.

" + "documentation":"

A list of UTF-8 strings that specify the custom classifiers that are associated with the crawler.

" }, "SchemaChangePolicy":{ "shape":"SchemaChangePolicy", - "documentation":"

Sets the behavior when the crawler finds a changed or deleted object.

" + "documentation":"

The policy that specifies update and delete behaviors for the crawler.

" }, "State":{ "shape":"CrawlerState", @@ -2247,11 +2555,11 @@ }, "CreationTime":{ "shape":"Timestamp", - "documentation":"

The time when the crawler was created.

" + "documentation":"

The time that the crawler was created.

" }, "LastUpdated":{ "shape":"Timestamp", - "documentation":"

The time the crawler was last updated.

" + "documentation":"

The time that the crawler was last updated.

" }, "LastCrawl":{ "shape":"LastCrawlInfo", @@ -2267,7 +2575,7 @@ }, "CrawlerSecurityConfiguration":{ "shape":"CrawlerSecurityConfiguration", - "documentation":"

The name of the SecurityConfiguration structure to be used by this Crawler.

" + "documentation":"

The name of the SecurityConfiguration structure to be used by this crawler.

" } }, "documentation":"

Specifies a crawler program that examines a data source and uses classifiers to try to determine its schema. If successful, the crawler records metadata concerning the data source in the AWS Glue Data Catalog.

" @@ -2376,7 +2684,7 @@ "members":{ "S3Targets":{ "shape":"S3TargetList", - "documentation":"

Specifies Amazon S3 targets.

" + "documentation":"

Specifies Amazon Simple Storage Service (Amazon S3) targets.

" }, "JdbcTargets":{ "shape":"JdbcTargetList", @@ -2384,7 +2692,11 @@ }, "DynamoDBTargets":{ "shape":"DynamoDBTargetList", - "documentation":"

Specifies DynamoDB targets.

" + "documentation":"

Specifies Amazon DynamoDB targets.

" + }, + "CatalogTargets":{ + "shape":"CatalogTargetList", + "documentation":"

Specifies AWS Glue Data Catalog targets.

" } }, "documentation":"

Specifies data stores to crawl.

" @@ -2403,6 +2715,10 @@ "JsonClassifier":{ "shape":"CreateJsonClassifierRequest", "documentation":"

A JsonClassifier object specifying the classifier to create.

" + }, + "CsvClassifier":{ + "shape":"CreateCsvClassifierRequest", + "documentation":"

A CsvClassifier object specifying the classifier to create.

" } } }, @@ -2417,7 +2733,7 @@ "members":{ "CatalogId":{ "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.

" + "documentation":"

The ID of the Data Catalog in which to create the connection. If none is provided, the AWS account ID is used by default.

" }, "ConnectionInput":{ "shape":"ConnectionInput", @@ -2435,7 +2751,6 @@ "required":[ "Name", "Role", - "DatabaseName", "Targets" ], "members":{ @@ -2445,7 +2760,7 @@ }, "Role":{ "shape":"Role", - "documentation":"

The IAM role (or ARN of an IAM role) used by the new crawler to access customer resources.

" + "documentation":"

The IAM role or Amazon Resource Name (ARN) of an IAM role used by the new crawler to access customer resources.

" }, "DatabaseName":{ "shape":"DatabaseName", @@ -2461,7 +2776,7 @@ }, "Schedule":{ "shape":"CronExpression", - "documentation":"

A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: cron(15 12 * * ? *).

" + "documentation":"

A cron expression used to specify the schedule. For more information, see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, specify cron(15 12 * * ? *).

" }, "Classifiers":{ "shape":"ClassifierNameList", @@ -2473,15 +2788,19 @@ }, "SchemaChangePolicy":{ "shape":"SchemaChangePolicy", - "documentation":"

Policy for the crawler's update and deletion behavior.

" + "documentation":"

The policy for the crawler's update and deletion behavior.

" }, "Configuration":{ "shape":"CrawlerConfiguration", - "documentation":"

Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see Configuring a Crawler.

" + "documentation":"

The crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see Configuring a Crawler.

" }, "CrawlerSecurityConfiguration":{ "shape":"CrawlerSecurityConfiguration", - "documentation":"

The name of the SecurityConfiguration structure to be used by this Crawler.

" + "documentation":"

The name of the SecurityConfiguration structure to be used by this crawler.

" + }, + "Tags":{ + "shape":"TagsMap", + "documentation":"

The tags to use with this crawler request. You can use tags to limit access to the crawler. For more information, see AWS Tags in AWS Glue.

" } } }, @@ -2490,6 +2809,41 @@ "members":{ } }, + "CreateCsvClassifierRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the classifier.

" + }, + "Delimiter":{ + "shape":"CsvColumnDelimiter", + "documentation":"

A custom symbol to denote what separates each column entry in the row.

" + }, + "QuoteSymbol":{ + "shape":"CsvQuoteSymbol", + "documentation":"

A custom symbol to denote what combines content into a single column value. Must be different from the column delimiter.

" + }, + "ContainsHeader":{ + "shape":"CsvHeaderOption", + "documentation":"

Indicates whether the CSV file contains a header.

" + }, + "Header":{ + "shape":"CsvHeader", + "documentation":"

A list of strings representing column names.

" + }, + "DisableValueTrimming":{ + "shape":"NullableBoolean", + "documentation":"

Specifies not to trim values before identifying the type of column values. The default value is true.

" + }, + "AllowSingleColumn":{ + "shape":"NullableBoolean", + "documentation":"

Enables the processing of files that contain only one column.

" + } + }, + "documentation":"

Specifies a custom CSV classifier for CreateClassifier to create.

" + }, "CreateDatabaseRequest":{ "type":"structure", "required":["DatabaseInput"], @@ -2555,6 +2909,14 @@ "SecurityConfiguration":{ "shape":"NameString", "documentation":"

The name of the SecurityConfiguration structure to be used with this DevEndpoint.

" + }, + "Tags":{ + "shape":"TagsMap", + "documentation":"

The tags to use with this DevEndpoint. You may use tags to limit access to the DevEndpoint. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer guide.

" + }, + "Arguments":{ + "shape":"MapValue", + "documentation":"

A map of arguments used to configure the DevEndpoint.

" } } }, @@ -2620,6 +2982,10 @@ "CreatedTimestamp":{ "shape":"TimestampValue", "documentation":"

The point in time at which this DevEndpoint was created.

" + }, + "Arguments":{ + "shape":"MapValue", + "documentation":"

The map of arguments used to configure this DevEndpoint.

" } } }, @@ -2672,19 +3038,19 @@ }, "Role":{ "shape":"RoleString", - "documentation":"

The name or ARN of the IAM role associated with this job.

" + "documentation":"

The name or Amazon Resource Name (ARN) of the IAM role associated with this job.

" }, "ExecutionProperty":{ "shape":"ExecutionProperty", - "documentation":"

An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.

" + "documentation":"

An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.

" }, "Command":{ "shape":"JobCommand", - "documentation":"

The JobCommand that executes this job.

" + "documentation":"

The JobCommand that executes this job.

" }, "DefaultArguments":{ "shape":"GenericMap", - "documentation":"

The default arguments for this job.

You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

" + "documentation":"

The default arguments for this job.

You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

" }, "Connections":{ "shape":"ConnectionsList", @@ -2696,19 +3062,37 @@ }, "AllocatedCapacity":{ "shape":"IntegerValue", - "documentation":"

The number of AWS Glue data processing units (DPUs) to allocate to this Job. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

" + "documentation":"

This parameter is deprecated. Use MaxCapacity instead.

The number of AWS Glue data processing units (DPUs) to allocate to this Job. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

", + "deprecated":true, + "deprecatedMessage":"This property is deprecated, use MaxCapacity instead." }, "Timeout":{ "shape":"Timeout", "documentation":"

The job timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

" }, + "MaxCapacity":{ + "shape":"NullableDouble", + "documentation":"

The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

Do not set Max Capacity if using WorkerType and NumberOfWorkers.

The value that can be allocated for MaxCapacity depends on whether you are running a Python shell job or an Apache Spark ETL job:

  • When you specify a Python shell job (JobCommand.Name=\"pythonshell\"), you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

  • When you specify an Apache Spark ETL job (JobCommand.Name=\"glueetl\"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation.

" + }, "NotificationProperty":{ "shape":"NotificationProperty", "documentation":"

Specifies configuration properties of a job notification.

" }, + "WorkerType":{ + "shape":"WorkerType", + "documentation":"

The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X.

  • For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

  • For the G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

  • For the G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

" + }, + "NumberOfWorkers":{ + "shape":"NullableInteger", + "documentation":"

The number of workers of a defined workerType that are allocated when a job runs.

The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

" + }, "SecurityConfiguration":{ "shape":"NameString", - "documentation":"

The name of the SecurityConfiguration structure to be used with this job.

" + "documentation":"

The name of the SecurityConfiguration structure to be used with this job.

" + }, + "Tags":{ + "shape":"TagsMap", + "documentation":"

The tags to use with this job. You may use tags to limit access to the job. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer guide.

" } } }, @@ -2734,7 +3118,7 @@ }, "JsonPath":{ "shape":"JsonPath", - "documentation":"

A JsonPath string defining the JSON data for the classifier to classify. AWS Glue supports a subset of JsonPath, as described in Writing JsonPath Custom Classifiers.

" + "documentation":"

A JsonPath string defining the JSON data for the classifier to classify. AWS Glue supports a subset of JsonPath, as described in Writing JsonPath Custom Classifiers.

" } }, "documentation":"

Specifies a JSON classifier for CreateClassifier to create.

" @@ -2874,11 +3258,11 @@ }, "Schedule":{ "shape":"GenericString", - "documentation":"

A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: cron(15 12 * * ? *).

This field is required when the trigger type is SCHEDULED.

" + "documentation":"

A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: cron(15 12 * * ? *).

This field is required when the trigger type is SCHEDULED.

" }, "Predicate":{ "shape":"Predicate", - "documentation":"

A predicate to specify when the new trigger should fire.

This field is required when the trigger type is CONDITIONAL.

" + "documentation":"

A predicate to specify when the new trigger should fire.

This field is required when the trigger type is CONDITIONAL.

" }, "Actions":{ "shape":"ActionList", @@ -2890,7 +3274,11 @@ }, "StartOnCreation":{ "shape":"BooleanValue", - "documentation":"

Set to true to start SCHEDULED and CONDITIONAL triggers when created. True not supported for ON_DEMAND triggers.

" + "documentation":"

Set to true to start SCHEDULED and CONDITIONAL triggers when created. True is not supported for ON_DEMAND triggers.

" + }, + "Tags":{ + "shape":"TagsMap", + "documentation":"

The tags to use with this trigger. You may use tags to limit access to the trigger. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer guide.

" } } }, @@ -2946,12 +3334,83 @@ }, "RowTag":{ "shape":"RowTag", - "documentation":"

The XML tag designating the element that contains each record in an XML document being parsed. Note that this cannot identify a self-closing element (closed by />). An empty row element that contains only attributes can be parsed as long as it ends with a closing tag (for example, <row item_a=\"A\" item_b=\"B\"></row> is okay, but <row item_a=\"A\" item_b=\"B\" /> is not).

" + "documentation":"

The XML tag designating the element that contains each record in an XML document being parsed. This can't identify a self-closing element (closed by />). An empty row element that contains only attributes can be parsed as long as it ends with a closing tag (for example, <row item_a=\"A\" item_b=\"B\"></row> is okay, but <row item_a=\"A\" item_b=\"B\" /> is not).

" } }, "documentation":"

Specifies an XML classifier for CreateClassifier to create.

" }, "CronExpression":{"type":"string"}, + "CsvClassifier":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the classifier.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

The time that this classifier was registered.

" + }, + "LastUpdated":{ + "shape":"Timestamp", + "documentation":"

The time that this classifier was last updated.

" + }, + "Version":{ + "shape":"VersionId", + "documentation":"

The version of this classifier.

" + }, + "Delimiter":{ + "shape":"CsvColumnDelimiter", + "documentation":"

A custom symbol to denote what separates each column entry in the row.

" + }, + "QuoteSymbol":{ + "shape":"CsvQuoteSymbol", + "documentation":"

A custom symbol to denote what combines content into a single column value. It must be different from the column delimiter.

" + }, + "ContainsHeader":{ + "shape":"CsvHeaderOption", + "documentation":"

Indicates whether the CSV file contains a header.

" + }, + "Header":{ + "shape":"CsvHeader", + "documentation":"

A list of strings representing column names.

" + }, + "DisableValueTrimming":{ + "shape":"NullableBoolean", + "documentation":"

Specifies not to trim values before identifying the type of column values. The default value is true.

" + }, + "AllowSingleColumn":{ + "shape":"NullableBoolean", + "documentation":"

Enables the processing of files that contain only one column.

" + } + }, + "documentation":"

A classifier for custom CSV content.

" + }, + "CsvColumnDelimiter":{ + "type":"string", + "max":1, + "min":1, + "pattern":"[^\\r\\n]" + }, + "CsvHeader":{ + "type":"list", + "member":{"shape":"NameString"} + }, + "CsvHeaderOption":{ + "type":"string", + "enum":[ + "UNKNOWN", + "PRESENT", + "ABSENT" + ] + }, + "CsvQuoteSymbol":{ + "type":"string", + "max":1, + "min":1, + "pattern":"[^\\r\\n]" + }, "CustomPatterns":{ "type":"string", "max":16000, @@ -2971,7 +3430,11 @@ "members":{ "EncryptionAtRest":{ "shape":"EncryptionAtRest", - "documentation":"

Specifies encryption-at-rest configuration for the Data Catalog.

" + "documentation":"

Specifies the encryption-at-rest configuration for the Data Catalog.

" + }, + "ConnectionPasswordEncryption":{ + "shape":"ConnectionPasswordEncryption", + "documentation":"

When connection password protection is enabled, the Data Catalog uses a customer-provided key to encrypt the password as part of CreateConnection or UpdateConnection and store it in the ENCRYPTED_PASSWORD field in the connection properties. You can enable catalog encryption or only password encryption.

" } }, "documentation":"

Contains configuration information for maintaining Data Catalog security.

" @@ -3066,7 +3529,7 @@ "members":{ "CatalogId":{ "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog in which the connection resides. If none is supplied, the AWS account ID is used by default.

" + "documentation":"

The ID of the Data Catalog in which the connection resides. If none is provided, the AWS account ID is used by default.

" }, "ConnectionName":{ "shape":"NameString", @@ -3085,7 +3548,7 @@ "members":{ "Name":{ "shape":"NameString", - "documentation":"

Name of the crawler to remove.

" + "documentation":"

The name of the crawler to remove.

" } } }, @@ -3407,6 +3870,10 @@ "SecurityConfiguration":{ "shape":"NameString", "documentation":"

The name of the SecurityConfiguration structure to be used with this DevEndpoint.

" + }, + "Arguments":{ + "shape":"MapValue", + "documentation":"

A map of arguments used to configure the DevEndpoint.

Note that currently, we only support \"--enable-glue-datacatalog\": \"\" as a valid argument.

" } }, "documentation":"

A development endpoint where a developer can remotely debug ETL scripts.

" @@ -3429,6 +3896,16 @@ "type":"list", "member":{"shape":"DevEndpoint"} }, + "DevEndpointNameList":{ + "type":"list", + "member":{"shape":"NameString"} + }, + "DevEndpointNames":{ + "type":"list", + "member":{"shape":"GenericString"}, + "max":25, + "min":1 + }, "DynamoDBTarget":{ "type":"structure", "members":{ @@ -3437,7 +3914,7 @@ "documentation":"

The name of the DynamoDB table to crawl.

" } }, - "documentation":"

Specifies a DynamoDB table to crawl.

" + "documentation":"

Specifies an Amazon DynamoDB table to crawl.

" }, "DynamoDBTargetList":{ "type":"list", @@ -3456,7 +3933,7 @@ "documentation":"

The ID of the AWS KMS key to use for encryption at rest.

" } }, - "documentation":"

Specifies encryption-at-rest configuration for the Data Catalog.

" + "documentation":"

Specifies the encryption-at-rest configuration for the Data Catalog.

" }, "EncryptionConfiguration":{ "type":"structure", @@ -3586,7 +4063,7 @@ "members":{ "MaxResults":{ "shape":"PageSize", - "documentation":"

Size of the list to return (optional).

" + "documentation":"

The size of the list to return (optional).

" }, "NextToken":{ "shape":"Token", @@ -3613,11 +4090,15 @@ "members":{ "CatalogId":{ "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog in which the connection resides. If none is supplied, the AWS account ID is used by default.

" + "documentation":"

The ID of the Data Catalog in which the connection resides. If none is provided, the AWS account ID is used by default.

" }, "Name":{ "shape":"NameString", "documentation":"

The name of the connection definition to retrieve.

" + }, + "HidePassword":{ + "shape":"Boolean", + "documentation":"

Allows you to retrieve the connection metadata without returning the password. For instance, the AWS Glue console uses this flag to retrieve the connection, and does not display the password. Set this parameter when the caller might not have permission to use the AWS KMS key to decrypt the password, but does have permission to access the rest of the connection properties.

" } } }, @@ -3642,19 +4123,23 @@ "documentation":"

The type of connections to return. Currently, only JDBC is supported; SFTP is not supported.

" } }, - "documentation":"

Filters the connection definitions returned by the GetConnections API.

" + "documentation":"

Filters the connection definitions that are returned by the GetConnections API operation.

" }, "GetConnectionsRequest":{ "type":"structure", "members":{ "CatalogId":{ "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog in which the connections reside. If none is supplied, the AWS account ID is used by default.

" + "documentation":"

The ID of the Data Catalog in which the connections reside. If none is provided, the AWS account ID is used by default.

" }, "Filter":{ "shape":"GetConnectionsFilter", "documentation":"

A filter that controls which connections will be returned.

" }, + "HidePassword":{ + "shape":"Boolean", + "documentation":"

Allows you to retrieve the connection metadata without returning the password. For instance, the AWS Glue console uses this flag to retrieve the connection, and does not display the password. Set this parameter when the caller might not have permission to use the AWS KMS key to decrypt the password, but does have permission to access the rest of the connection properties.

" + }, "NextToken":{ "shape":"Token", "documentation":"

A continuation token, if this is a continuation call.

" @@ -3714,7 +4199,7 @@ "members":{ "Name":{ "shape":"NameString", - "documentation":"

Name of the crawler to retrieve metadata for.

" + "documentation":"

The name of the crawler to retrieve metadata for.

" } } }, @@ -3758,7 +4243,7 @@ "members":{ "CatalogId":{ "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog for which to retrieve the security configuration. If none is supplied, the AWS account ID is used by default.

" + "documentation":"

The ID of the Data Catalog for which to retrieve the security configuration. If none is provided, the AWS account ID is used by default.

" } } }, @@ -3964,11 +4449,11 @@ "members":{ "JobRuns":{ "shape":"JobRunList", - "documentation":"

A list of job-run metatdata objects.

" + "documentation":"

A list of job-run metadata objects.

" }, "NextToken":{ "shape":"GenericString", - "documentation":"

A continuation token, if not all reequested job runs have been returned.

" + "documentation":"

A continuation token, if not all requested job runs have been returned.

" } } }, @@ -4132,7 +4617,7 @@ }, "Location":{ "shape":"Location", - "documentation":"

Parameters for the mapping.

" + "documentation":"

The parameters for the mapping.

" }, "Language":{ "shape":"Language", @@ -4149,7 +4634,7 @@ }, "ScalaCode":{ "shape":"ScalaCode", - "documentation":"

Scala code to perform the mapping.

" + "documentation":"

The Scala code to perform the mapping.

" } } }, @@ -4373,6 +4858,25 @@ } } }, + "GetTagsRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"GlueResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource for which to retrieve tags.

" + } + } + }, + "GetTagsResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagsMap", + "documentation":"

The requested tags.

" + } + } + }, "GetTriggerRequest":{ "type":"structure", "required":["Name"], @@ -4401,7 +4905,7 @@ }, "DependentJobName":{ "shape":"NameString", - "documentation":"

The name of the job for which to retrieve triggers. The trigger that can start this job will be returned, and if there is no such trigger, all triggers will be returned.

" + "documentation":"

The name of the job to retrieve triggers for. The trigger that can start this job is returned, and if there is no such trigger, all triggers are returned.

" }, "MaxResults":{ "shape":"PageSize", @@ -4505,6 +5009,12 @@ "documentation":"

An encryption operation failed.

", "exception":true }, + "GlueResourceArn":{ + "type":"string", + "max":10240, + "min":1, + "pattern":"arn:aws:glue:.*" + }, "GrokClassifier":{ "type":"structure", "required":[ @@ -4523,11 +5033,11 @@ }, "CreationTime":{ "shape":"Timestamp", - "documentation":"

The time this classifier was registered.

" + "documentation":"

The time that this classifier was registered.

" }, "LastUpdated":{ "shape":"Timestamp", - "documentation":"

The time this classifier was last updated.

" + "documentation":"

The time that this classifier was last updated.

" }, "Version":{ "shape":"VersionId", @@ -4535,11 +5045,11 @@ }, "GrokPattern":{ "shape":"GrokPattern", - "documentation":"

The grok pattern applied to a data store by this classifier. For more information, see built-in patterns in Writing Custom Classifers.

" + "documentation":"

The grok pattern applied to a data store by this classifier. For more information, see built-in patterns in Writing Custom Classifiers.

" }, "CustomPatterns":{ "shape":"CustomPatterns", - "documentation":"

Optional custom grok patterns defined by this classifier. For more information, see custom patterns in Writing Custom Classifers.

" + "documentation":"

Optional custom grok patterns defined by this classifier. For more information, see custom patterns in Writing Custom Classifiers.

" } }, "documentation":"

A classifier that uses grok patterns.

" @@ -4648,7 +5158,7 @@ }, "Description":{ "shape":"DescriptionString", - "documentation":"

Description of the job being defined.

" + "documentation":"

A description of the job.

" }, "LogUri":{ "shape":"UriString", @@ -4656,7 +5166,7 @@ }, "Role":{ "shape":"RoleString", - "documentation":"

The name or ARN of the IAM role associated with this job.

" + "documentation":"

The name or Amazon Resource Name (ARN) of the IAM role associated with this job.

" }, "CreatedOn":{ "shape":"TimestampValue", @@ -4668,15 +5178,15 @@ }, "ExecutionProperty":{ "shape":"ExecutionProperty", - "documentation":"

An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.

" + "documentation":"

An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.

" }, "Command":{ "shape":"JobCommand", - "documentation":"

The JobCommand that executes this job.

" + "documentation":"

The JobCommand that executes this job.

" }, "DefaultArguments":{ "shape":"GenericMap", - "documentation":"

The default arguments for this job, specified as name-value pairs.

You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

" + "documentation":"

The default arguments for this job, specified as name-value pairs.

You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

" }, "Connections":{ "shape":"ConnectionsList", @@ -4688,19 +5198,33 @@ }, "AllocatedCapacity":{ "shape":"IntegerValue", - "documentation":"

The number of AWS Glue data processing units (DPUs) allocated to runs of this job. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

" + "documentation":"

This field is deprecated. Use MaxCapacity instead.

The number of AWS Glue data processing units (DPUs) allocated to runs of this job. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

", + "deprecated":true, + "deprecatedMessage":"This property is deprecated, use MaxCapacity instead." }, "Timeout":{ "shape":"Timeout", "documentation":"

The job timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

" }, - "NotificationProperty":{ - "shape":"NotificationProperty", - "documentation":"

Specifies configuration properties of a job notification.

" + "MaxCapacity":{ + "shape":"NullableDouble", + "documentation":"

The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

Do not set Max Capacity if using WorkerType and NumberOfWorkers.

The value that can be allocated for MaxCapacity depends on whether you are running a Python shell job or an Apache Spark ETL job:

  • When you specify a Python shell job (JobCommand.Name=\"pythonshell\"), you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

  • When you specify an Apache Spark ETL job (JobCommand.Name=\"glueetl\"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation.

" + }, + "WorkerType":{ + "shape":"WorkerType", + "documentation":"

The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X.

  • For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

  • For the G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

  • For the G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

" + }, + "NumberOfWorkers":{ + "shape":"NullableInteger", + "documentation":"

The number of workers of a defined workerType that are allocated when a job runs.

The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

" }, "SecurityConfiguration":{ "shape":"NameString", - "documentation":"

The name of the SecurityConfiguration structure to be used with this job.

" + "documentation":"

The name of the SecurityConfiguration structure to be used with this job.

" + }, + "NotificationProperty":{ + "shape":"NotificationProperty", + "documentation":"

Specifies configuration properties of a job notification.

" } }, "documentation":"

Specifies a job definition.

" @@ -4757,11 +5281,15 @@ "members":{ "Name":{ "shape":"GenericString", - "documentation":"

The name of the job command: this must be glueetl.

" + "documentation":"

The name of the job command. For an Apache Spark ETL job, this must be glueetl. For a Python shell job, it must be pythonshell.

" }, "ScriptLocation":{ "shape":"ScriptLocationString", - "documentation":"

Specifies the S3 path to a script that executes a job (required).

" + "documentation":"

Specifies the Amazon Simple Storage Service (Amazon S3) path to a script that executes a job (required).

" + }, + "PythonVersion":{ + "shape":"PythonVersionString", + "documentation":"

The Python version being used to execute a Python shell job. Allowed values are 2 or 3.

" } }, "documentation":"

Specifies code executed when a job is run.

" @@ -4771,6 +5299,10 @@ "member":{"shape":"Job"} }, "JobName":{"type":"string"}, + "JobNameList":{ + "type":"list", + "member":{"shape":"NameString"} + }, "JobRun":{ "type":"structure", "members":{ @@ -4784,7 +5316,7 @@ }, "PreviousRunId":{ "shape":"IdString", - "documentation":"

The ID of the previous run of this job. For example, the JobRunId specified in the StartJobRun action.

" + "documentation":"

The ID of the previous run of this job. For example, the JobRunId specified in the StartJobRun action.

" }, "TriggerName":{ "shape":"NameString", @@ -4800,11 +5332,11 @@ }, "LastModifiedOn":{ "shape":"TimestampValue", - "documentation":"

The last time this job run was modified.

" + "documentation":"

The last time that this job run was modified.

" }, "CompletedOn":{ "shape":"TimestampValue", - "documentation":"

The date and time this job run completed.

" + "documentation":"

The date and time that this job run completed.

" }, "JobRunState":{ "shape":"JobRunState", @@ -4812,7 +5344,7 @@ }, "Arguments":{ "shape":"GenericMap", - "documentation":"

The job arguments associated with this run. These override equivalent default arguments set for the job.

You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

For information about how to specify and consume your own job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

" + "documentation":"

The job arguments associated with this run. For this job run, they replace the default arguments set in the job definition itself.

You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

For information about how to specify and consume your own job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

" }, "ErrorMessage":{ "shape":"ErrorString", @@ -4824,7 +5356,9 @@ }, "AllocatedCapacity":{ "shape":"IntegerValue", - "documentation":"

The number of AWS Glue data processing units (DPUs) allocated to this JobRun. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

" + "documentation":"

This field is deprecated. Use MaxCapacity instead.

The number of AWS Glue data processing units (DPUs) allocated to this JobRun. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

", + "deprecated":true, + "deprecatedMessage":"This property is deprecated, use MaxCapacity instead." }, "ExecutionTime":{ "shape":"ExecutionTime", @@ -4832,19 +5366,31 @@ }, "Timeout":{ "shape":"Timeout", - "documentation":"

The JobRun timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.

" + "documentation":"

The JobRun timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.

" + }, + "MaxCapacity":{ + "shape":"NullableDouble", + "documentation":"

The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

Do not set Max Capacity if using WorkerType and NumberOfWorkers.

The value that can be allocated for MaxCapacity depends on whether you are running a Python shell job or an Apache Spark ETL job:

  • When you specify a Python shell job (JobCommand.Name=\"pythonshell\"), you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

  • When you specify an Apache Spark ETL job (JobCommand.Name=\"glueetl\"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation.

" }, "NotificationProperty":{ "shape":"NotificationProperty", "documentation":"

Specifies configuration properties of a job run notification.

" }, + "WorkerType":{ + "shape":"WorkerType", + "documentation":"

The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X.

  • For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

  • For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.

  • For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.

" + }, + "NumberOfWorkers":{ + "shape":"NullableInteger", + "documentation":"

The number of workers of a defined workerType that are allocated when a job runs.

The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

" + }, "SecurityConfiguration":{ "shape":"NameString", - "documentation":"

The name of the SecurityConfiguration structure to be used with this job run.

" + "documentation":"

The name of the SecurityConfiguration structure to be used with this job run.

" }, "LogGroupName":{ "shape":"GenericString", - "documentation":"

The name of the log group for secure logging, that can be server-side encrypted in CloudWatch using KMS. This name can be /aws-glue/jobs/, in which case the default encryption is NONE. If you add a role name and SecurityConfiguration name (in other words, /aws-glue/jobs-yourRoleName-yourSecurityConfigurationName/), then that security configuration will be used to encrypt the log group.

" + "documentation":"

The name of the log group for secure logging that can be server-side encrypted in Amazon CloudWatch using AWS KMS. This name can be /aws-glue/jobs/, in which case the default encryption is NONE. If you add a role name and SecurityConfiguration name (in other words, /aws-glue/jobs-yourRoleName-yourSecurityConfigurationName/), then that security configuration is used to encrypt the log group.

" } }, "documentation":"

Contains information about a job run.

" @@ -4878,19 +5424,19 @@ }, "Role":{ "shape":"RoleString", - "documentation":"

The name or ARN of the IAM role associated with this job (required).

" + "documentation":"

The name or Amazon Resource Name (ARN) of the IAM role associated with this job (required).

" }, "ExecutionProperty":{ "shape":"ExecutionProperty", - "documentation":"

An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.

" + "documentation":"

An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.

" }, "Command":{ "shape":"JobCommand", - "documentation":"

The JobCommand that executes this job (required).

" + "documentation":"

The JobCommand that executes this job (required).

" }, "DefaultArguments":{ "shape":"GenericMap", - "documentation":"

The default arguments for this job.

You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

" + "documentation":"

The default arguments for this job.

You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

" }, "Connections":{ "shape":"ConnectionsList", @@ -4902,22 +5448,36 @@ }, "AllocatedCapacity":{ "shape":"IntegerValue", - "documentation":"

The number of AWS Glue data processing units (DPUs) to allocate to this Job. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

" + "documentation":"

This field is deprecated. Use MaxCapacity instead.

The number of AWS Glue data processing units (DPUs) to allocate to this job. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

", + "deprecated":true, + "deprecatedMessage":"This property is deprecated, use MaxCapacity instead." }, "Timeout":{ "shape":"Timeout", "documentation":"

The job timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

" }, - "NotificationProperty":{ - "shape":"NotificationProperty", - "documentation":"

Specifies configuration properties of a job notification.

" + "MaxCapacity":{ + "shape":"NullableDouble", + "documentation":"

The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

Do not set Max Capacity if using WorkerType and NumberOfWorkers.

The value that can be allocated for MaxCapacity depends on whether you are running a Python shell job or an Apache Spark ETL job:

  • When you specify a Python shell job (JobCommand.Name=\"pythonshell\"), you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

  • When you specify an Apache Spark ETL job (JobCommand.Name=\"glueetl\"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation.

" + }, + "WorkerType":{ + "shape":"WorkerType", + "documentation":"

The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X.

  • For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

  • For the G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

  • For the G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

" + }, + "NumberOfWorkers":{ + "shape":"NullableInteger", + "documentation":"

The number of workers of a defined workerType that are allocated when a job runs.

The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

" }, "SecurityConfiguration":{ "shape":"NameString", - "documentation":"

The name of the SecurityConfiguration structure to be used with this job.

" + "documentation":"

The name of the SecurityConfiguration structure to be used with this job.

" + }, + "NotificationProperty":{ + "shape":"NotificationProperty", + "documentation":"

Specifies the configuration properties of a job notification.

" } }, - "documentation":"

Specifies information used to update an existing job definition. Note that the previous job definition will be completely overwritten by this information.

" + "documentation":"

Specifies information used to update an existing job definition. The previous job definition is completely overwritten by this information.

" }, "JsonClassifier":{ "type":"structure", @@ -4932,11 +5492,11 @@ }, "CreationTime":{ "shape":"Timestamp", - "documentation":"

The time this classifier was registered.

" + "documentation":"

The time that this classifier was registered.

" }, "LastUpdated":{ "shape":"Timestamp", - "documentation":"

The time this classifier was last updated.

" + "documentation":"

The time that this classifier was last updated.

" }, "Version":{ "shape":"VersionId", @@ -4944,7 +5504,7 @@ }, "JsonPath":{ "shape":"JsonPath", - "documentation":"

A JsonPath string defining the JSON data for the classifier to classify. AWS Glue supports a subset of JsonPath, as described in Writing JsonPath Custom Classifiers.

" + "documentation":"

A JsonPath string defining the JSON data for the classifier to classify. AWS Glue supports a subset of JsonPath, as described in Writing JsonPath Custom Classifiers.

" } }, "documentation":"

A classifier for JSON content.

" @@ -5006,6 +5566,130 @@ "FAILED" ] }, + "ListCrawlersRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum size of a list to return.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, if this is a continuation request.

" + }, + "Tags":{ + "shape":"TagsMap", + "documentation":"

Specifies to return only these tagged resources.

" + } + } + }, + "ListCrawlersResponse":{ + "type":"structure", + "members":{ + "CrawlerNames":{ + "shape":"CrawlerNameList", + "documentation":"

The names of all crawlers in the account, or the crawlers with the specified tags.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, if the returned list does not contain the last metric available.

" + } + } + }, + "ListDevEndpointsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if this is a continuation request.

" + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum size of a list to return.

" + }, + "Tags":{ + "shape":"TagsMap", + "documentation":"

Specifies to return only these tagged resources.

" + } + } + }, + "ListDevEndpointsResponse":{ + "type":"structure", + "members":{ + "DevEndpointNames":{ + "shape":"DevEndpointNameList", + "documentation":"

The names of all the DevEndpoints in the account, or the DevEndpoints with the specified tags.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if the returned list does not contain the last metric available.

" + } + } + }, + "ListJobsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if this is a continuation request.

" + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum size of a list to return.

" + }, + "Tags":{ + "shape":"TagsMap", + "documentation":"

Specifies to return only these tagged resources.

" + } + } + }, + "ListJobsResponse":{ + "type":"structure", + "members":{ + "JobNames":{ + "shape":"JobNameList", + "documentation":"

The names of all jobs in the account, or the jobs with the specified tags.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if the returned list does not contain the last metric available.

" + } + } + }, + "ListTriggersRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if this is a continuation request.

" + }, + "DependentJobName":{ + "shape":"NameString", + "documentation":"

The name of the job for which to retrieve triggers. The trigger that can start this job is returned. If there is no such trigger, all triggers are returned.

" + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum size of a list to return.

" + }, + "Tags":{ + "shape":"TagsMap", + "documentation":"

Specifies to return only these tagged resources.

" + } + } + }, + "ListTriggersResponse":{ + "type":"structure", + "members":{ + "TriggerNames":{ + "shape":"TriggerNameList", + "documentation":"

The names of all triggers in the account, or the triggers with the specified tags.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if the returned list does not contain the last metric available.

" + } + } + }, "Location":{ "type":"structure", "members":{ @@ -5015,11 +5699,11 @@ }, "S3":{ "shape":"CodeGenNodeArgs", - "documentation":"

An Amazon S3 location.

" + "documentation":"

An Amazon Simple Storage Service (Amazon S3) location.

" }, "DynamoDB":{ "shape":"CodeGenNodeArgs", - "documentation":"

A DynamoDB Table location.

" + "documentation":"

An Amazon DynamoDB table location.

" } }, "documentation":"

The location of resources.

" @@ -5057,6 +5741,13 @@ "type":"string", "enum":["EQUALS"] }, + "MapValue":{ + "type":"map", + "key":{"shape":"GenericString"}, + "value":{"shape":"GenericString"}, + "max":100, + "min":0 + }, "MappingEntry":{ "type":"structure", "members":{ @@ -5151,6 +5842,18 @@ "box":true, "min":1 }, + "NullableBoolean":{ + "type":"boolean", + "box":true + }, + "NullableDouble":{ + "type":"double", + "box":true + }, + "NullableInteger":{ + "type":"integer", + "box":true + }, "OperationTimeoutException":{ "type":"structure", "members":{ @@ -5260,7 +5963,7 @@ "members":{ "Values":{ "shape":"ValueStringList", - "documentation":"

The values of the partition.

" + "documentation":"

The values of the partition. Although this parameter is not required by the SDK, you must specify this parameter for a valid input.

" }, "LastAccessTime":{ "shape":"Timestamp", @@ -5320,7 +6023,7 @@ }, "AvailabilityZone":{ "shape":"NameString", - "documentation":"

The connection's availability zone. This field is redundant, since the specified subnet implies the availability zone to be used. The field must be populated now, but will be deprecated in the future.

" + "documentation":"

The connection's Availability Zone. This field is redundant because the specified subnet implies the Availability Zone to be used. Currently the field must be populated, but it will be deprecated in the future.

" } }, "documentation":"

Specifies the physical requirements for a connection.

" @@ -5353,7 +6056,7 @@ "members":{ "Logical":{ "shape":"Logical", - "documentation":"

Optional field if only one condition is listed. If multiple conditions are listed, then this field is required.

" + "documentation":"

An optional field if only one condition is listed. If multiple conditions are listed, then this field is required.

" }, "Conditions":{ "shape":"ConditionList", @@ -5387,7 +6090,7 @@ "members":{ "CatalogId":{ "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog for which to set the security configuration. If none is supplied, the AWS account ID is used by default.

" + "documentation":"

The ID of the Data Catalog for which to set the security configuration. If none is provided, the AWS account ID is used by default.

" }, "DataCatalogEncryptionSettings":{ "shape":"DataCatalogEncryptionSettings", @@ -5410,7 +6113,7 @@ }, "PolicyHashCondition":{ "shape":"HashString", - "documentation":"

This is the hash value returned when the previous policy was set using PutResourcePolicy. Its purpose is to prevent concurrent modifications of a policy. Do not use this parameter if no previous policy has been set.

" + "documentation":"

The hash value returned when the previous policy was set using PutResourcePolicy. Its purpose is to prevent concurrent modifications of a policy. Do not use this parameter if no previous policy has been set.

" }, "PolicyExistsCondition":{ "shape":"ExistCondition", @@ -5428,6 +6131,10 @@ } }, "PythonScript":{"type":"string"}, + "PythonVersionString":{ + "type":"string", + "pattern":"^[2-3]$" + }, "ResetJobBookmarkRequest":{ "type":"structure", "required":["JobName"], @@ -5531,7 +6238,7 @@ "documentation":"

A list of glob patterns used to exclude from the crawl. For more information, see Catalog Tables with a Crawler.

" } }, - "documentation":"

Specifies a data store in Amazon S3.

" + "documentation":"

Specifies a data store in Amazon Simple Storage Service (Amazon S3).

" }, "S3TargetList":{ "type":"list", @@ -5543,7 +6250,7 @@ "members":{ "ScheduleExpression":{ "shape":"CronExpression", - "documentation":"

A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: cron(15 12 * * ? *).

" + "documentation":"

A cron expression used to specify the schedule. For more information, see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, specify cron(15 12 * * ? *).

" }, "State":{ "shape":"ScheduleState", @@ -5605,7 +6312,7 @@ "documentation":"

The deletion behavior when the crawler finds a deleted object.

" } }, - "documentation":"

Crawler policy for update and deletion behavior.

" + "documentation":"

A policy that specifies update and deletion behaviors for the crawler.

" }, "SchemaPathString":{"type":"string"}, "ScriptLocationString":{"type":"string"}, @@ -5731,27 +6438,41 @@ }, "JobRunId":{ "shape":"IdString", - "documentation":"

The ID of a previous JobRun to retry.

" + "documentation":"

The ID of a previous JobRun to retry.

" }, "Arguments":{ "shape":"GenericMap", - "documentation":"

The job arguments specifically for this run. They override the equivalent default arguments set for in the job definition itself.

You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

" + "documentation":"

The job arguments specifically for this run. For this job run, they replace the default arguments set in the job definition itself.

You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

" }, "AllocatedCapacity":{ "shape":"IntegerValue", - "documentation":"

The number of AWS Glue data processing units (DPUs) to allocate to this JobRun. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

" + "documentation":"

This field is deprecated. Use MaxCapacity instead.

The number of AWS Glue data processing units (DPUs) to allocate to this JobRun. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

", + "deprecated":true, + "deprecatedMessage":"This property is deprecated, use MaxCapacity instead." }, "Timeout":{ "shape":"Timeout", - "documentation":"

The JobRun timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.

" + "documentation":"

The JobRun timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.

" }, - "NotificationProperty":{ - "shape":"NotificationProperty", - "documentation":"

Specifies configuration properties of a job run notification.

" + "MaxCapacity":{ + "shape":"NullableDouble", + "documentation":"

The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

Do not set Max Capacity if using WorkerType and NumberOfWorkers.

The value that can be allocated for MaxCapacity depends on whether you are running a Python shell job, or an Apache Spark ETL job:

  • When you specify a Python shell job (JobCommand.Name=\"pythonshell\"), you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

  • When you specify an Apache Spark ETL job (JobCommand.Name=\"glueetl\"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation.

" + }, + "WorkerType":{ + "shape":"WorkerType", + "documentation":"

The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X.

  • For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

  • For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.

  • For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.

" + }, + "NumberOfWorkers":{ + "shape":"NullableInteger", + "documentation":"

The number of workers of a defined workerType that are allocated when a job runs.

The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

" }, "SecurityConfiguration":{ "shape":"NameString", - "documentation":"

The name of the SecurityConfiguration structure to be used with this job run.

" + "documentation":"

The name of the SecurityConfiguration structure to be used with this job run.

" + }, + "NotificationProperty":{ + "shape":"NotificationProperty", + "documentation":"

Specifies configuration properties of a job run notification.

" } } }, @@ -5936,7 +6657,7 @@ }, "PartitionKeys":{ "shape":"ColumnList", - "documentation":"

A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.

" + "documentation":"

A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.

When creating a table used by Athena, and you do not specify any partitionKeys, you must at least set the value of partitionKeys to an empty list. For example:

\"PartitionKeys\": []

" }, "ViewOriginalText":{ "shape":"ViewTextString", @@ -6013,7 +6734,7 @@ }, "PartitionKeys":{ "shape":"ColumnList", - "documentation":"

A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.

" + "documentation":"

A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.

When creating a table used by Athena, and you do not specify any partitionKeys, you must at least set the value of partitionKeys to an empty list. For example:

\"PartitionKeys\": []

" }, "ViewOriginalText":{ "shape":"ViewTextString", @@ -6084,6 +6805,51 @@ "type":"list", "member":{"shape":"TableVersionError"} }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeysList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagsToAdd" + ], + "members":{ + "ResourceArn":{ + "shape":"GlueResourceArn", + "documentation":"

The ARN of the AWS Glue resource to which to add the tags. For more information about AWS Glue resource ARNs, see the AWS Glue ARN string pattern.

" + }, + "TagsToAdd":{ + "shape":"TagsMap", + "documentation":"

Tags to add to this resource.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "TagsMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":0 + }, "Timeout":{ "type":"integer", "box":true, @@ -6102,7 +6868,7 @@ "members":{ "Name":{ "shape":"NameString", - "documentation":"

Name of the trigger.

" + "documentation":"

The name of the trigger.

" }, "Id":{ "shape":"IdString", @@ -6122,7 +6888,7 @@ }, "Schedule":{ "shape":"GenericString", - "documentation":"

A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: cron(15 12 * * ? *).

" + "documentation":"

A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: cron(15 12 * * ? *).

" }, "Actions":{ "shape":"ActionList", @@ -6139,6 +6905,10 @@ "type":"list", "member":{"shape":"Trigger"} }, + "TriggerNameList":{ + "type":"list", + "member":{"shape":"NameString"} + }, "TriggerState":{ "type":"string", "enum":[ @@ -6173,7 +6943,7 @@ }, "Schedule":{ "shape":"GenericString", - "documentation":"

A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: cron(15 12 * * ? *).

" + "documentation":"

A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: cron(15 12 * * ? *).

" }, "Actions":{ "shape":"ActionList", @@ -6184,7 +6954,7 @@ "documentation":"

The predicate of this trigger, which defines when it will fire.

" } }, - "documentation":"

A structure used to provide information used to update a trigger. This object will update the the previous trigger definition by overwriting it completely.

" + "documentation":"

A structure used to provide information used to update a trigger. This object updates the previous trigger definition by overwriting it completely.

" }, "URI":{ "type":"string", @@ -6192,6 +6962,28 @@ "min":1, "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagsToRemove" + ], + "members":{ + "ResourceArn":{ + "shape":"GlueResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource from which to remove the tags.

" + }, + "TagsToRemove":{ + "shape":"TagKeysList", + "documentation":"

Tags to remove from this resource.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateBehavior":{ "type":"string", "enum":[ @@ -6213,6 +7005,10 @@ "JsonClassifier":{ "shape":"UpdateJsonClassifierRequest", "documentation":"

A JsonClassifier object with updated fields.

" + }, + "CsvClassifier":{ + "shape":"UpdateCsvClassifierRequest", + "documentation":"

A CsvClassifier object with updated fields.

" } } }, @@ -6230,7 +7026,7 @@ "members":{ "CatalogId":{ "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog in which the connection resides. If none is supplied, the AWS account ID is used by default.

" + "documentation":"

The ID of the Data Catalog in which the connection resides. If none is provided, the AWS account ID is used by default.

" }, "Name":{ "shape":"NameString", @@ -6257,7 +7053,7 @@ }, "Role":{ "shape":"Role", - "documentation":"

The IAM role (or ARN of an IAM role) used by the new crawler to access customer resources.

" + "documentation":"

The IAM role or Amazon Resource Name (ARN) of an IAM role that is used by the new crawler to access customer resources.

" }, "DatabaseName":{ "shape":"DatabaseName", @@ -6273,7 +7069,7 @@ }, "Schedule":{ "shape":"CronExpression", - "documentation":"

A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: cron(15 12 * * ? *).

" + "documentation":"

A cron expression used to specify the schedule. For more information, see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, specify cron(15 12 * * ? *).

" }, "Classifiers":{ "shape":"ClassifierNameList", @@ -6285,15 +7081,15 @@ }, "SchemaChangePolicy":{ "shape":"SchemaChangePolicy", - "documentation":"

Policy for the crawler's update and deletion behavior.

" + "documentation":"

The policy for the crawler's update and deletion behavior.

" }, "Configuration":{ "shape":"CrawlerConfiguration", - "documentation":"

Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see Configuring a Crawler.

" + "documentation":"

The crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see Configuring a Crawler.

" }, "CrawlerSecurityConfiguration":{ "shape":"CrawlerSecurityConfiguration", - "documentation":"

The name of the SecurityConfiguration structure to be used by this Crawler.

" + "documentation":"

The name of the SecurityConfiguration structure to be used by this crawler.

" } } }, @@ -6308,11 +7104,11 @@ "members":{ "CrawlerName":{ "shape":"NameString", - "documentation":"

Name of the crawler whose schedule to update.

" + "documentation":"

The name of the crawler whose schedule to update.

" }, "Schedule":{ "shape":"CronExpression", - "documentation":"

The updated cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: cron(15 12 * * ? *).

" + "documentation":"

The updated cron expression used to specify the schedule. For more information, see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, specify cron(15 12 * * ? *).

" } } }, @@ -6321,6 +7117,41 @@ "members":{ } }, + "UpdateCsvClassifierRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the classifier.

" + }, + "Delimiter":{ + "shape":"CsvColumnDelimiter", + "documentation":"

A custom symbol to denote what separates each column entry in the row.

" + }, + "QuoteSymbol":{ + "shape":"CsvQuoteSymbol", + "documentation":"

A custom symbol to denote what combines content into a single column value. It must be different from the column delimiter.

" + }, + "ContainsHeader":{ + "shape":"CsvHeaderOption", + "documentation":"

Indicates whether the CSV file contains a header.

" + }, + "Header":{ + "shape":"CsvHeader", + "documentation":"

A list of strings representing column names.

" + }, + "DisableValueTrimming":{ + "shape":"NullableBoolean", + "documentation":"

Specifies not to trim values before identifying the type of column values. The default value is true.

" + }, + "AllowSingleColumn":{ + "shape":"NullableBoolean", + "documentation":"

Enables the processing of files that contain only one column.

" + } + }, + "documentation":"

Specifies a custom CSV classifier to be updated.

" + }, "UpdateDatabaseRequest":{ "type":"structure", "required":[ @@ -6374,6 +7205,14 @@ "UpdateEtlLibraries":{ "shape":"BooleanValue", "documentation":"

True if the list of custom libraries to be loaded in the development endpoint needs to be updated, or False otherwise.

" + }, + "DeleteArguments":{ + "shape":"StringList", + "documentation":"

The list of argument keys to be deleted from the map of arguments used to configure the DevEndpoint.

" + }, + "AddArguments":{ + "shape":"MapValue", + "documentation":"

The map of arguments to add the map of arguments used to configure the DevEndpoint.

" } } }, @@ -6414,7 +7253,7 @@ "members":{ "JobName":{ "shape":"NameString", - "documentation":"

Name of the job definition to update.

" + "documentation":"

The name of the job definition to update.

" }, "JobUpdate":{ "shape":"JobUpdate", @@ -6441,7 +7280,7 @@ }, "JsonPath":{ "shape":"JsonPath", - "documentation":"

A JsonPath string defining the JSON data for the classifier to classify. AWS Glue supports a subset of JsonPath, as described in Writing JsonPath Custom Classifiers.

" + "documentation":"

A JsonPath string defining the JSON data for the classifier to classify. AWS Glue supports a subset of JsonPath, as described in Writing JsonPath Custom Classifiers.

" } }, "documentation":"

Specifies a JSON classifier to be updated.

" @@ -6583,7 +7422,7 @@ }, "RowTag":{ "shape":"RowTag", - "documentation":"

The XML tag designating the element that contains each record in an XML document being parsed. Note that this cannot identify a self-closing element (closed by />). An empty row element that contains only attributes can be parsed as long as it ends with a closing tag (for example, <row item_a=\"A\" item_b=\"B\"></row> is okay, but <row item_a=\"A\" item_b=\"B\" /> is not).

" + "documentation":"

The XML tag designating the element that contains each record in an XML document being parsed. This cannot identify a self-closing element (closed by />). An empty row element that contains only attributes can be parsed as long as it ends with a closing tag (for example, <row item_a=\"A\" item_b=\"B\"></row> is okay, but <row item_a=\"A\" item_b=\"B\" /> is not).

" } }, "documentation":"

Specifies an XML classifier to be updated.

" @@ -6690,6 +7529,14 @@ "type":"string", "max":409600 }, + "WorkerType":{ + "type":"string", + "enum":[ + "Standard", + "G.1X", + "G.2X" + ] + }, "XMLClassifier":{ "type":"structure", "required":[ @@ -6707,11 +7554,11 @@ }, "CreationTime":{ "shape":"Timestamp", - "documentation":"

The time this classifier was registered.

" + "documentation":"

The time that this classifier was registered.

" }, "LastUpdated":{ "shape":"Timestamp", - "documentation":"

The time this classifier was last updated.

" + "documentation":"

The time that this classifier was last updated.

" }, "Version":{ "shape":"VersionId", @@ -6719,7 +7566,7 @@ }, "RowTag":{ "shape":"RowTag", - "documentation":"

The XML tag designating the element that contains each record in an XML document being parsed. Note that this cannot identify a self-closing element (closed by />). An empty row element that contains only attributes can be parsed as long as it ends with a closing tag (for example, <row item_a=\"A\" item_b=\"B\"></row> is okay, but <row item_a=\"A\" item_b=\"B\" /> is not).

" + "documentation":"

The XML tag designating the element that contains each record in an XML document being parsed. This can't identify a self-closing element (closed by />). An empty row element that contains only attributes can be parsed as long as it ends with a closing tag (for example, <row item_a=\"A\" item_b=\"B\"></row> is okay, but <row item_a=\"A\" item_b=\"B\" /> is not).

" } }, "documentation":"

A classifier for XML content.

" diff --git a/bin/botocore/data/greengrass/2017-06-07/paginators-1.json b/bin/botocore/data/greengrass/2017-06-07/paginators-1.json new file mode 100644 index 00000000..303b4384 --- /dev/null +++ b/bin/botocore/data/greengrass/2017-06-07/paginators-1.json @@ -0,0 +1,118 @@ +{ + "pagination": { + "ListBulkDeploymentDetailedReports": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Deployments" + }, + "ListBulkDeployments": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "BulkDeployments" + }, + "ListConnectorDefinitionVersions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Versions" + }, + "ListConnectorDefinitions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Definitions" + }, + "ListCoreDefinitionVersions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Versions" + }, + "ListCoreDefinitions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Definitions" + }, + "ListDeployments": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Deployments" + }, + "ListDeviceDefinitionVersions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Versions" + }, + "ListDeviceDefinitions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Definitions" + }, + "ListFunctionDefinitionVersions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Versions" + }, + "ListFunctionDefinitions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Definitions" + }, + "ListGroupVersions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Versions" + }, + "ListGroups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Groups" + }, + "ListLoggerDefinitionVersions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Versions" + }, + "ListLoggerDefinitions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Definitions" + }, + "ListResourceDefinitionVersions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Versions" + }, + "ListResourceDefinitions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Definitions" + }, + "ListSubscriptionDefinitionVersions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Versions" + }, + "ListSubscriptionDefinitions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Definitions" + } + } +} diff --git a/bin/botocore/data/greengrass/2017-06-07/service-2.json b/bin/botocore/data/greengrass/2017-06-07/service-2.json index 8ace3ec2..aac0ed9b 100644 --- a/bin/botocore/data/greengrass/2017-06-07/service-2.json +++ b/bin/botocore/data/greengrass/2017-06-07/service-2.json @@ -429,6 +429,22 @@ } ], "documentation" : "Creates a version of a subscription definition which has already been defined." }, + "TagResource" : { + "name" : "TagResource", + "http" : { + "method" : "POST", + "requestUri" : "/tags/{resource-arn}", + "responseCode" : 204 + }, + "input" : { + "shape" : "TagResourceRequest" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Add tags to a resource." + }, "DeleteConnectorDefinition" : { "name" : "DeleteConnectorDefinition", "http" : { @@ -589,6 +605,22 @@ } ], "documentation" : "Deletes a subscription definition." }, + "UntagResource" : { + "name" : "UntagResource", + "http" : { + "method" : "DELETE", + "requestUri" : "/tags/{resource-arn}", + "responseCode" : 204 + }, + "input" : { + "shape" : "UntagResourceRequest" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Remove tags with specified keys from a resource." + }, "DisassociateRoleFromGroup" : { "name" : "DisassociateRoleFromGroup", "http" : { @@ -1464,6 +1496,25 @@ "errors" : [ ], "documentation" : "Retrieves a list of subscription definitions." }, + "ListTagsForResource" : { + "name" : "ListTagsForResource", + "http" : { + "method" : "GET", + "requestUri" : "/tags/{resource-arn}", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListTagsForResourceRequest" + }, + "output" : { + "shape" : "ListTagsForResourceResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Retrieves the tags for a resource." + }, "ResetDeployments" : { "name" : "ResetDeployments", "http" : { @@ -1846,7 +1897,7 @@ }, "DeploymentStatus" : { "shape" : "__string", - "documentation" : "The current status of the group deployment: ''Pending'', ''InProgress'', ''Success'', or ''Failure''." + "documentation" : "The current status of the group deployment: ''InProgress'', ''Building'', ''Success'', or ''Failure''." }, "DeploymentType" : { "shape" : "DeploymentType", @@ -1984,6 +2035,10 @@ "Name" : { "shape" : "__string", "documentation" : "The name of the connector definition." + }, + "tags": { + "shape": "Tags", + "documentation": "Tag(s) to add to the new resource" } } }, @@ -2079,6 +2134,10 @@ "Name" : { "shape" : "__string", "documentation" : "The name of the core definition." + }, + "tags": { + "shape": "Tags", + "documentation": "Tag(s) to add to the new resource" } }, "documentation" : "Information needed to create a core definition." @@ -2174,7 +2233,7 @@ }, "DeploymentType" : { "shape" : "DeploymentType", - "documentation" : "The type of deployment. When used in ''CreateDeployment'', only ''NewDeployment'' and ''Redeployment'' are valid." + "documentation" : "The type of deployment. When used for ''CreateDeployment'', only ''NewDeployment'' and ''Redeployment'' are valid." }, "GroupId" : { "shape" : "__string", @@ -2218,6 +2277,10 @@ "Name" : { "shape" : "__string", "documentation" : "The name of the device definition." + }, + "tags": { + "shape": "Tags", + "documentation": "Tag(s) to add to the new resource" } } }, @@ -2313,6 +2376,10 @@ "Name" : { "shape" : "__string", "documentation" : "The name of the function definition." + }, + "tags": { + "shape": "Tags", + "documentation": "Tag(s) to add to the new resource" } } }, @@ -2360,7 +2427,7 @@ }, "DefaultConfig" : { "shape" : "FunctionDefaultConfig", - "documentation" : "Default configuration that will apply to all Lambda functions in this function definition version" + "documentation" : "The default configuration that applies to all Lambda functions in this function definition version. Individual Lambda functions can override these settings." }, "FunctionDefinitionId" : { "shape" : "__string", @@ -2440,6 +2507,10 @@ "Name" : { "shape" : "__string", "documentation" : "The name of the group." + }, + "tags": { + "shape": "Tags", + "documentation": "Tag(s) to add to the new resource" } } }, @@ -2559,6 +2630,10 @@ "Name" : { "shape" : "__string", "documentation" : "The name of the logger definition." + }, + "tags": { + "shape": "Tags", + "documentation": "Tag(s) to add to the new resource" } } }, @@ -2654,6 +2729,10 @@ "Name" : { "shape" : "__string", "documentation" : "The name of the resource definition." + }, + "tags": { + "shape": "Tags", + "documentation": "Tag(s) to add to the new resource" } } }, @@ -2791,6 +2870,10 @@ "Name" : { "shape" : "__string", "documentation" : "The name of the subscription definition." + }, + "tags": { + "shape": "Tags", + "documentation": "Tag(s) to add to the new resource" } } }, @@ -2870,6 +2953,22 @@ } } }, + "TagResourceRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resource-arn", + "documentation" : "The Amazon Resource Name (ARN) of the resource." + }, + "tags" : { + "shape" : "__mapOf__string", + "documentation" : "A map of the key-value pairs for the resource tag." + } + }, + "required" : [ "ResourceArn", "tags" ] + }, "DefinitionInformation" : { "type" : "structure", "members" : { @@ -2900,6 +2999,11 @@ "Name" : { "shape" : "__string", "documentation" : "The name of the definition." + }, + "Tags" : { + "shape" : "Tags", + "locationName" : "tags", + "documentation" : "The tags for the definition." } }, "documentation" : "Information about a definition." @@ -3032,6 +3136,24 @@ "type" : "structure", "members" : { } }, + "UntagResourceRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resource-arn", + "documentation" : "The Amazon Resource Name (ARN) of the resource." + }, + "TagKeys" : { + "shape" : "__listOf__string", + "location" : "querystring", + "locationName" : "tagKeys", + "documentation" : "A list of the keys to remove from the resource tags." + } + }, + "required" : [ "TagKeys", "ResourceArn" ] + }, "Deployment" : { "type" : "structure", "members" : { @@ -3060,7 +3182,7 @@ }, "DeploymentType" : { "type" : "string", - "documentation" : "The type of deployment.", + "documentation" : "The type of deployment. When used for ''CreateDeployment'', only ''NewDeployment'' and ''Redeployment'' are valid.", "enum" : [ "NewDeployment", "Redeployment", "ResetDeployment", "ForceResetDeployment" ] }, "Deployments" : { @@ -3248,23 +3370,26 @@ "shape" : "FunctionDefaultExecutionConfig" } }, - "documentation" : "Default configuration that will apply to all Lambda functions in the group." + "documentation" : "The default configuration that applies to all Lambda functions in the group. Individual Lambda functions can override these settings." }, "FunctionDefaultExecutionConfig" : { "type" : "structure", "members" : { "IsolationMode" : { "shape" : "FunctionIsolationMode" + }, + "RunAs" : { + "shape" : "FunctionRunAsConfig" } }, - "documentation" : "Configuration that defines the default containerization used for when running Lambda functions in the group. Individual Lambda functions can be override this setting." + "documentation" : "Configuration information that specifies how a Lambda function runs. " }, "FunctionDefinitionVersion" : { "type" : "structure", "members" : { "DefaultConfig" : { "shape" : "FunctionDefaultConfig", - "documentation" : "Default configuration that will apply to all Lambda functions in this function definition version" + "documentation" : "The default configuration that applies to all Lambda functions in this function definition version. Individual Lambda functions can override these settings." }, "Functions" : { "shape" : "__listOfFunction", @@ -3283,7 +3408,7 @@ "shape" : "FunctionRunAsConfig" } }, - "documentation" : "Configuration information that specifies how the Lambda function runs. " + "documentation" : "Configuration information that specifies how a Lambda function runs. " }, "FunctionIsolationMode" : { "type" : "string", @@ -3295,14 +3420,14 @@ "members" : { "Gid" : { "shape" : "__integer", - "documentation" : "The Group ID whose permissions are used to run a Lambda function." + "documentation" : "The group ID whose permissions are used to run a Lambda function." }, "Uid" : { "shape" : "__integer", - "documentation" : "The User ID whose permissions are used to run a Lambda function." + "documentation" : "The user ID whose permissions are used to run a Lambda function." } }, - "documentation" : "Specifies the user and/or group whose permissions are used when running the Lambda function. You can specify one or both values to override the default values (ggc_user/ggc_group). We recommend that you avoid running as root unless absolutely necessary to minimize the risk of unintended changes or malicious attacks. To run as root, you must set IsolationMode to NoContainer and you must update config.json in greengrass-root/config to set allowFunctionsToRunAsRoot to yes." + "documentation" : "Specifies the user and group whose permissions are used when running the Lambda function. You can specify one or both values to override the default values. We recommend that you avoid running as root unless absolutely necessary to minimize the risk of unintended changes or malicious attacks. To run as root, you must set ''IsolationMode'' to ''NoContainer'' and update config.json in ''greengrass-root/config'' to set ''allowFunctionsToRunAsRoot'' to ''yes''." }, "GeneralError" : { "type" : "structure", @@ -3377,6 +3502,10 @@ "ErrorMessage" : { "shape" : "__string", "documentation" : "Error message" + }, + "tags" : { + "shape" : "__mapOf__string", + "documentation" : "The tags for the definition." } } }, @@ -3448,6 +3577,10 @@ "Name" : { "shape" : "__string", "documentation" : "The name of the definition." + }, + "tags" : { + "shape" : "__mapOf__string", + "documentation" : "The tags for the definition." } } }, @@ -3546,6 +3679,10 @@ "Name" : { "shape" : "__string", "documentation" : "The name of the definition." + }, + "tags" : { + "shape" : "__mapOf__string", + "documentation" : "The tags for the definition." } } }, @@ -3619,7 +3756,7 @@ "members" : { "DeploymentStatus" : { "shape" : "__string", - "documentation" : "The status of the deployment: ''Pending'', ''InProgress'', ''Success'', or ''Failure''." + "documentation" : "The status of the deployment: ''InProgress'', ''Building'', ''Success'', or ''Failure''." }, "DeploymentType" : { "shape" : "DeploymentType", @@ -3681,6 +3818,10 @@ "Name" : { "shape" : "__string", "documentation" : "The name of the definition." + }, + "tags" : { + "shape" : "__mapOf__string", + "documentation" : "The tags for the definition." } } }, @@ -3779,6 +3920,10 @@ "Name" : { "shape" : "__string", "documentation" : "The name of the definition." + }, + "tags" : { + "shape" : "__mapOf__string", + "documentation" : "The tags for the definition." } } }, @@ -3941,6 +4086,10 @@ "Name" : { "shape" : "__string", "documentation" : "The name of the definition." + }, + "tags" : { + "shape" : "__mapOf__string", + "documentation" : "The tags for the definition." } } }, @@ -4029,6 +4178,10 @@ "Name" : { "shape" : "__string", "documentation" : "The name of the definition." + }, + "tags" : { + "shape" : "__mapOf__string", + "documentation" : "The tags for the definition." } } }, @@ -4123,6 +4276,10 @@ "Name" : { "shape" : "__string", "documentation" : "The name of the definition." + }, + "tags" : { + "shape" : "__mapOf__string", + "documentation" : "The tags for the definition." } } }, @@ -4228,6 +4385,10 @@ "Name" : { "shape" : "__string", "documentation" : "The name of the definition." + }, + "tags" : { + "shape" : "__mapOf__string", + "documentation" : "The tags for the definition." } } }, @@ -5091,6 +5252,27 @@ } } }, + "ListTagsForResourceRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resource-arn", + "documentation" : "The Amazon Resource Name (ARN) of the resource." + } + }, + "required" : [ "ResourceArn" ] + }, + "ListTagsForResourceResponse" : { + "type" : "structure", + "members" : { + "tags" : { + "shape" : "__mapOf__string", + "documentation" : "A map of the key-value pairs for the resource tag." + } + } + }, "ListVersionsResponse" : { "type" : "structure", "members" : { @@ -5364,6 +5546,10 @@ "InputFileUri" : { "shape" : "__string", "documentation" : "The URI of the input file contained in the S3 bucket. The execution role must have ''getObject'' permissions on this bucket to access the input file. The input file is a JSON-serialized, line delimited file with UTF-8 encoding that provides a list of group and version IDs and the deployment type. This file must be less than 100 MB. Currently, AWS IoT Greengrass supports only ''NewDeployment'' deployment types." + }, + "tags": { + "shape": "Tags", + "documentation": "Tag(s) to add to the new resource" } } }, @@ -5409,7 +5595,7 @@ }, "Subject" : { "shape" : "__string", - "documentation" : "The subject of the message." + "documentation" : "The MQTT topic used to route the message." }, "Target" : { "shape" : "__string", @@ -5429,6 +5615,15 @@ }, "documentation" : "Information about a subscription definition version." }, + "Tags" : { + "type" : "map", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "__string" + } + }, "UpdateAgentLogLevel" : { "type" : "string", "documentation" : "The minimum level of log statements that should be logged by the OTA Agent during an update.", diff --git a/bin/botocore/data/groundstation/2019-05-23/paginators-1.json b/bin/botocore/data/groundstation/2019-05-23/paginators-1.json new file mode 100644 index 00000000..57a762b2 --- /dev/null +++ b/bin/botocore/data/groundstation/2019-05-23/paginators-1.json @@ -0,0 +1,40 @@ +{ + "pagination": { + "ListConfigs": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "configList" + }, + "ListContacts": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "contactList" + }, + "ListDataflowEndpointGroups": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "dataflowEndpointGroupList" + }, + "ListMissionProfiles": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "missionProfileList" + }, + "ListGroundStations": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "groundStationList" + }, + "ListSatellites": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "satellites" + } + } +} diff --git a/bin/botocore/data/groundstation/2019-05-23/service-2.json b/bin/botocore/data/groundstation/2019-05-23/service-2.json new file mode 100644 index 00000000..e5d3cc13 --- /dev/null +++ b/bin/botocore/data/groundstation/2019-05-23/service-2.json @@ -0,0 +1,2355 @@ +{ + "version": "2.0", + "metadata": { + "apiVersion": "2019-05-23", + "endpointPrefix": "groundstation", + "jsonVersion": "1.1", + "protocol": "rest-json", + "serviceFullName": "AWS Ground Station", + "serviceId": "GroundStation", + "signatureVersion": "v4", + "signingName": "groundstation", + "uid": "groundstation-2019-05-23" + }, + "documentation": "

Welcome to the AWS Ground Station API Reference. AWS Ground Station is a fully managed service that\n enables you to control satellite communications, downlink and process satellite data, and\n scale your satellite operations efficiently and cost-effectively without having\n to build or manage your own ground station infrastructure.

", + "operations": { + "CancelContact": { + "name": "CancelContact", + "http": { + "method": "DELETE", + "requestUri": "/contact/{contactId}", + "responseCode": 200 + }, + "input": { + "shape": "CancelContactRequest" + }, + "output": { + "shape": "ContactIdResponse" + }, + "errors": [ + { + "shape": "DependencyException" + }, + { + "shape": "InvalidParameterException" + }, + { + "shape": "ResourceNotFoundException" + } + ], + "documentation": "

Cancels a contact with a specified contact ID.

", + "idempotent": true + }, + "CreateConfig": { + "name": "CreateConfig", + "http": { + "method": "POST", + "requestUri": "/config", + "responseCode": 200 + }, + "input": { + "shape": "CreateConfigRequest" + }, + "output": { + "shape": "ConfigIdResponse" + }, + "errors": [ + { + "shape": "DependencyException" + }, + { + "shape": "InvalidParameterException" + }, + { + "shape": "ResourceNotFoundException" + } + ], + "documentation": "

Creates a Config with the specified configData parameters.

\n

Only one type of configData can be specified.

" + }, + "CreateDataflowEndpointGroup": { + "name": "CreateDataflowEndpointGroup", + "http": { + "method": "POST", + "requestUri": "/dataflowEndpointGroup", + "responseCode": 200 + }, + "input": { + "shape": "CreateDataflowEndpointGroupRequest" + }, + "output": { + "shape": "DataflowEndpointGroupIdResponse" + }, + "errors": [ + { + "shape": "DependencyException" + }, + { + "shape": "InvalidParameterException" + }, + { + "shape": "ResourceNotFoundException" + } + ], + "documentation": "

Creates a DataflowEndpoint group containing the specified list of DataflowEndpoint objects.

\n

The name field in each endpoint is used in your mission profile DataflowEndpointConfig \n to specify which endpoints to use during a contact.

\n

When a contact uses multiple DataflowEndpointConfig objects, each Config \n must match a DataflowEndpoint in the same group.

" + }, + "CreateMissionProfile": { + "name": "CreateMissionProfile", + "http": { + "method": "POST", + "requestUri": "/missionprofile", + "responseCode": 200 + }, + "input": { + "shape": "CreateMissionProfileRequest" + }, + "output": { + "shape": "MissionProfileIdResponse" + }, + "errors": [ + { + "shape": "DependencyException" + }, + { + "shape": "InvalidParameterException" + }, + { + "shape": "ResourceNotFoundException" + } + ], + "documentation": "

Creates a mission profile.

\n

\n dataflowEdges is a list of lists of strings. Each lower level list of strings\n has two elements: a from ARN and a to ARN.

" + }, + "DeleteConfig": { + "name": "DeleteConfig", + "http": { + "method": "DELETE", + "requestUri": "/config/{configType}/{configId}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteConfigRequest" + }, + "output": { + "shape": "ConfigIdResponse" + }, + "errors": [ + { + "shape": "DependencyException" + }, + { + "shape": "InvalidParameterException" + }, + { + "shape": "ResourceNotFoundException" + } + ], + "documentation": "

Deletes a Config.

", + "idempotent": true + }, + "DeleteDataflowEndpointGroup": { + "name": "DeleteDataflowEndpointGroup", + "http": { + "method": "DELETE", + "requestUri": "/dataflowEndpointGroup/{dataflowEndpointGroupId}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteDataflowEndpointGroupRequest" + }, + "output": { + "shape": "DataflowEndpointGroupIdResponse" + }, + "errors": [ + { + "shape": "DependencyException" + }, + { + "shape": "InvalidParameterException" + }, + { + "shape": "ResourceNotFoundException" + } + ], + "documentation": "

Deletes a dataflow endpoint group.

", + "idempotent": true + }, + "DeleteMissionProfile": { + "name": "DeleteMissionProfile", + "http": { + "method": "DELETE", + "requestUri": "/missionprofile/{missionProfileId}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteMissionProfileRequest" + }, + "output": { + "shape": "MissionProfileIdResponse" + }, + "errors": [ + { + "shape": "DependencyException" + }, + { + "shape": "InvalidParameterException" + }, + { + "shape": "ResourceNotFoundException" + } + ], + "documentation": "

Deletes a mission profile.

", + "idempotent": true + }, + "DescribeContact": { + "name": "DescribeContact", + "http": { + "method": "GET", + "requestUri": "/contact/{contactId}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeContactRequest" + }, + "output": { + "shape": "DescribeContactResponse" + }, + "errors": [ + { + "shape": "DependencyException" + }, + { + "shape": "InvalidParameterException" + }, + { + "shape": "ResourceNotFoundException" + } + ], + "documentation": "

Describes an existing contact.

" + }, + "GetConfig": { + "name": "GetConfig", + "http": { + "method": "GET", + "requestUri": "/config/{configType}/{configId}", + "responseCode": 200 + }, + "input": { + "shape": "GetConfigRequest" + }, + "output": { + "shape": "GetConfigResponse" + }, + "errors": [ + { + "shape": "DependencyException" + }, + { + "shape": "InvalidParameterException" + }, + { + "shape": "ResourceNotFoundException" + } + ], + "documentation": "

Returns Config information.

\n

Only one Config response can be returned.

" + }, + "GetDataflowEndpointGroup": { + "name": "GetDataflowEndpointGroup", + "http": { + "method": "GET", + "requestUri": "/dataflowEndpointGroup/{dataflowEndpointGroupId}", + "responseCode": 200 + }, + "input": { + "shape": "GetDataflowEndpointGroupRequest" + }, + "output": { + "shape": "GetDataflowEndpointGroupResponse" + }, + "errors": [ + { + "shape": "DependencyException" + }, + { + "shape": "InvalidParameterException" + }, + { + "shape": "ResourceNotFoundException" + } + ], + "documentation": "

Returns the dataflow endpoint group.

" + }, + "GetMissionProfile": { + "name": "GetMissionProfile", + "http": { + "method": "GET", + "requestUri": "/missionprofile/{missionProfileId}", + "responseCode": 200 + }, + "input": { + "shape": "GetMissionProfileRequest" + }, + "output": { + "shape": "GetMissionProfileResponse" + }, + "errors": [ + { + "shape": "DependencyException" + }, + { + "shape": "InvalidParameterException" + }, + { + "shape": "ResourceNotFoundException" + } + ], + "documentation": "

Returns a mission profile.

" + }, + "ListConfigs": { + "name": "ListConfigs", + "http": { + "method": "GET", + "requestUri": "/config", + "responseCode": 200 + }, + "input": { + "shape": "ListConfigsRequest" + }, + "output": { + "shape": "ListConfigsResponse" + }, + "errors": [ + { + "shape": "DependencyException" + }, + { + "shape": "InvalidParameterException" + }, + { + "shape": "ResourceNotFoundException" + } + ], + "documentation": "

Returns a list of Config objects.

" + }, + "ListContacts": { + "name": "ListContacts", + "http": { + "method": "POST", + "requestUri": "/contacts", + "responseCode": 200 + }, + "input": { + "shape": "ListContactsRequest" + }, + "output": { + "shape": "ListContactsResponse" + }, + "errors": [ + { + "shape": "DependencyException" + }, + { + "shape": "InvalidParameterException" + }, + { + "shape": "ResourceNotFoundException" + } + ], + "documentation": "

Returns a list of contacts.

\n

If statusList contains AVAILABLE, the request must include\n groundstation, missionprofileArn, and satelliteArn.\n

" + }, + "ListDataflowEndpointGroups": { + "name": "ListDataflowEndpointGroups", + "http": { + "method": "GET", + "requestUri": "/dataflowEndpointGroup", + "responseCode": 200 + }, + "input": { + "shape": "ListDataflowEndpointGroupsRequest" + }, + "output": { + "shape": "ListDataflowEndpointGroupsResponse" + }, + "errors": [ + { + "shape": "DependencyException" + }, + { + "shape": "InvalidParameterException" + }, + { + "shape": "ResourceNotFoundException" + } + ], + "documentation": "

Returns a list of DataflowEndpoint groups.

" + }, + "ListMissionProfiles": { + "name": "ListMissionProfiles", + "http": { + "method": "GET", + "requestUri": "/missionprofile", + "responseCode": 200 + }, + "input": { + "shape": "ListMissionProfilesRequest" + }, + "output": { + "shape": "ListMissionProfilesResponse" + }, + "errors": [ + { + "shape": "DependencyException" + }, + { + "shape": "InvalidParameterException" + }, + { + "shape": "ResourceNotFoundException" + } + ], + "documentation": "

Returns a list of mission profiles.

" + }, + "ReserveContact": { + "name": "ReserveContact", + "http": { + "method": "POST", + "requestUri": "/contact", + "responseCode": 200 + }, + "input": { + "shape": "ReserveContactRequest" + }, + "output": { + "shape": "ContactIdResponse" + }, + "errors": [ + { + "shape": "DependencyException" + }, + { + "shape": "InvalidParameterException" + }, + { + "shape": "ResourceNotFoundException" + } + ], + "documentation": "

Reserves a contact using specified parameters.

" + }, + "UpdateConfig": { + "name": "UpdateConfig", + "http": { + "method": "PUT", + "requestUri": "/config/{configType}/{configId}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateConfigRequest" + }, + "output": { + "shape": "ConfigIdResponse" + }, + "errors": [ + { + "shape": "DependencyException" + }, + { + "shape": "InvalidParameterException" + }, + { + "shape": "ResourceNotFoundException" + } + ], + "documentation": "

Updates the Config used when scheduling contacts.

\n

Updating a Config will not update the execution parameters\n for existing future contacts scheduled with this Config.

", + "idempotent": true + }, + "UpdateMissionProfile": { + "name": "UpdateMissionProfile", + "http": { + "method": "PUT", + "requestUri": "/missionprofile/{missionProfileId}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateMissionProfileRequest" + }, + "output": { + "shape": "MissionProfileIdResponse" + }, + "errors": [ + { + "shape": "DependencyException" + }, + { + "shape": "InvalidParameterException" + }, + { + "shape": "ResourceNotFoundException" + } + ], + "documentation": "

Updates a mission profile.

\n

Updating a mission profile will not update the execution parameters\n for existing future contacts.

", + "idempotent": true + }, + "GetMinuteUsage": { + "name": "GetMinuteUsage", + "http": { + "method": "POST", + "requestUri": "/minute-usage", + "responseCode": 200 + }, + "input": { + "shape": "GetMinuteUsageRequest" + }, + "output": { + "shape": "GetMinuteUsageResponse" + }, + "errors": [ + { + "shape": "DependencyException" + }, + { + "shape": "InvalidParameterException" + }, + { + "shape": "ResourceNotFoundException" + } + ], + "documentation": "

Returns the number of minutes used by account.

" + }, + "GetSatellite": { + "name": "GetSatellite", + "http": { + "method": "GET", + "requestUri": "/satellite/{satelliteId}", + "responseCode": 200 + }, + "input": { + "shape": "GetSatelliteRequest" + }, + "output": { + "shape": "GetSatelliteResponse" + }, + "errors": [ + { + "shape": "DependencyException" + }, + { + "shape": "InvalidParameterException" + }, + { + "shape": "ResourceNotFoundException" + } + ], + "documentation": "

Returns a satellite.

" + }, + "ListGroundStations": { + "name": "ListGroundStations", + "http": { + "method": "GET", + "requestUri": "/groundstation", + "responseCode": 200 + }, + "input": { + "shape": "ListGroundStationsRequest" + }, + "output": { + "shape": "ListGroundStationsResponse" + }, + "errors": [ + { + "shape": "DependencyException" + }, + { + "shape": "InvalidParameterException" + }, + { + "shape": "ResourceNotFoundException" + } + ], + "documentation": "

Returns a list of ground stations.

" + }, + "ListSatellites": { + "name": "ListSatellites", + "http": { + "method": "GET", + "requestUri": "/satellite", + "responseCode": 200 + }, + "input": { + "shape": "ListSatellitesRequest" + }, + "output": { + "shape": "ListSatellitesResponse" + }, + "errors": [ + { + "shape": "DependencyException" + }, + { + "shape": "InvalidParameterException" + }, + { + "shape": "ResourceNotFoundException" + } + ], + "documentation": "

Returns a list of satellites.

" + }, + "ListTagsForResource": { + "name": "ListTagsForResource", + "http": { + "method": "GET", + "requestUri": "/tags/{resourceArn}", + "responseCode": 200 + }, + "input": { + "shape": "ListTagsForResourceRequest" + }, + "output": { + "shape": "ListTagsForResourceResponse" + }, + "errors": [ + { + "shape": "DependencyException" + }, + { + "shape": "InvalidParameterException" + }, + { + "shape": "ResourceNotFoundException" + } + ], + "documentation": "

Returns a list of tags or a specified resource.

" + }, + "TagResource": { + "name": "TagResource", + "http": { + "method": "POST", + "requestUri": "/tags/{resourceArn}", + "responseCode": 200 + }, + "input": { + "shape": "TagResourceRequest" + }, + "output": { + "shape": "TagResourceResponse" + }, + "errors": [ + { + "shape": "DependencyException" + }, + { + "shape": "InvalidParameterException" + }, + { + "shape": "ResourceNotFoundException" + } + ], + "documentation": "

Assigns a tag to a resource.

" + }, + "UntagResource": { + "name": "UntagResource", + "http": { + "method": "DELETE", + "requestUri": "/tags/{resourceArn}", + "responseCode": 200 + }, + "input": { + "shape": "UntagResourceRequest" + }, + "output": { + "shape": "UntagResourceResponse" + }, + "errors": [ + { + "shape": "DependencyException" + }, + { + "shape": "InvalidParameterException" + }, + { + "shape": "ResourceNotFoundException" + } + ], + "documentation": "

Deassigns a resource tag.

", + "idempotent": true + } + }, + "shapes": { + "UpdateConfigRequest": { + "type": "structure", + "required": [ + "configData", + "configId", + "configType", + "name" + ], + "members": { + "configData": { + "shape": "ConfigTypeData", + "documentation": "

Parameters for a Config.

" + }, + "configId": { + "shape": "String", + "documentation": "

UUID of a Config.

", + "location": "uri", + "locationName": "configId" + }, + "configType": { + "shape": "ConfigCapabilityType", + "documentation": "

Type of a Config.

", + "location": "uri", + "locationName": "configType" + }, + "name": { + "shape": "SafeName", + "documentation": "

Name of a Config.

" + } + }, + "documentation": "

" + }, + "ConfigTypeData": { + "type": "structure", + "members": { + "antennaDownlinkConfig": { + "shape": "AntennaDownlinkConfig", + "documentation": "

Information about how AWS Ground Station should configure an antenna for downlink during a contact.

" + }, + "antennaDownlinkDemodDecodeConfig": { + "shape": "AntennaDownlinkDemodDecodeConfig", + "documentation": "

Information about how AWS Ground Station should configure an antenna for downlink demod decode during a contact.

" + }, + "antennaUplinkConfig": { + "shape": "AntennaUplinkConfig", + "documentation": "

Information about how AWS Ground Station should configure an antenna for uplink during a contact.

" + }, + "dataflowEndpointConfig": { + "shape": "DataflowEndpointConfig", + "documentation": "

Information about the dataflow endpoint Config.

" + }, + "trackingConfig": { + "shape": "TrackingConfig", + "documentation": "

Object that determines whether tracking should be used during a contact executed with this Config in the mission profile.

" + }, + "uplinkEchoConfig": { + "shape": "UplinkEchoConfig", + "documentation": "

Information about an uplink echo Config.

\n

Parameters from the AntennaUplinkConfig, corresponding to the specified AntennaUplinkConfigArn, are used when this UplinkEchoConfig is used in a contact.

" + } + }, + "documentation": "

Object containing the parameters for a Config.

\n

See the subtype definitions for what each type of Config contains.

" + }, + "noradSatelliteID": { + "type": "integer", + "min": 1, + "max": 99999 + }, + "GroundStationData": { + "type": "structure", + "members": { + "groundStationId": { + "shape": "String", + "documentation": "

ID of a ground station.

" + }, + "groundStationName": { + "shape": "String", + "documentation": "

Name of a ground station.

" + }, + "region": { + "shape": "String", + "documentation": "

Ground station Region.

" + } + }, + "documentation": "

Information about the ground station data.

" + }, + "GetConfigRequest": { + "type": "structure", + "required": [ + "configId", + "configType" + ], + "members": { + "configId": { + "shape": "String", + "documentation": "

UUID of a Config.

", + "location": "uri", + "locationName": "configId" + }, + "configType": { + "shape": "ConfigCapabilityType", + "documentation": "

Type of a Config.

", + "location": "uri", + "locationName": "configType" + } + }, + "documentation": "

" + }, + "GroundStationList": { + "type": "list", + "member": { + "shape": "GroundStationData" + } + }, + "SecurityGroupIdList": { + "type": "list", + "member": { + "shape": "String" + } + }, + "EndpointDetails": { + "type": "structure", + "members": { + "endpoint": { + "shape": "DataflowEndpoint", + "documentation": "

A dataflow endpoint.

" + }, + "securityDetails": { + "shape": "SecurityDetails", + "documentation": "

Endpoint security details.

" + } + }, + "documentation": "

Information about the endpoint details.

" + }, + "DataflowEndpointGroupArn": { + "type": "string" + }, + "GetMinuteUsageResponse": { + "type": "structure", + "members": { + "estimatedMinutesRemaining": { + "shape": "Integer", + "documentation": "

Estimated number of minutes remaining for an account, specific to the month being requested.

" + }, + "isReservedMinutesCustomer": { + "shape": "Boolean", + "documentation": "

Returns whether or not an account has signed up for the reserved minutes pricing plan, specific to the month being requested.

" + }, + "totalReservedMinuteAllocation": { + "shape": "Integer", + "documentation": "

Total number of reserved minutes allocated, specific to the month being requested.

" + }, + "totalScheduledMinutes": { + "shape": "Integer", + "documentation": "

Total scheduled minutes for an account, specific to the month being requested.

" + }, + "upcomingMinutesScheduled": { + "shape": "Integer", + "documentation": "

Upcoming minutes scheduled for an account, specific to the month being requested.

" + } + }, + "documentation": "

" + }, + "MissionProfileListItem": { + "type": "structure", + "members": { + "missionProfileArn": { + "shape": "MissionProfileArn", + "documentation": "

ARN of a mission profile.

" + }, + "missionProfileId": { + "shape": "String", + "documentation": "

ID of a mission profile.

" + }, + "name": { + "shape": "String", + "documentation": "

Name of a mission profile.

" + }, + "region": { + "shape": "String", + "documentation": "

Region of a mission profile.

" + } + }, + "documentation": "

Item in a list of mission profiles.

" + }, + "SatelliteList": { + "type": "list", + "member": { + "shape": "SatelliteListItem" + } + }, + "ListDataflowEndpointGroupsResponse": { + "type": "structure", + "members": { + "dataflowEndpointGroupList": { + "shape": "DataflowEndpointGroupList", + "documentation": "

A list of dataflow endpoint groups.

" + }, + "nextToken": { + "shape": "String", + "documentation": "

Next token returned in the response of a previous ListDataflowEndpointGroups call. Used to get the next page of results.

" + } + }, + "documentation": "

" + }, + "AntennaDownlinkDemodDecodeConfig": { + "type": "structure", + "required": [ + "decodeConfig", + "demodulationConfig", + "spectrumConfig" + ], + "members": { + "decodeConfig": { + "shape": "DecodeConfig", + "documentation": "

Information about the decode Config.

" + }, + "demodulationConfig": { + "shape": "DemodulationConfig", + "documentation": "

Information about the demodulation Config.

" + }, + "spectrumConfig": { + "shape": "SpectrumConfig", + "documentation": "

Information about the spectral Config.

" + } + }, + "documentation": "

Information about how AWS Ground Station should configure an antenna for downlink demod decode during a contact.

" + }, + "MissionProfileIdResponse": { + "type": "structure", + "members": { + "missionProfileId": { + "shape": "String", + "documentation": "

ID of a mission profile.

" + } + }, + "documentation": "

" + }, + "SubnetList": { + "type": "list", + "member": { + "shape": "String" + } + }, + "Polarization": { + "type": "string", + "enum": [ + "LEFT_HAND", + "NONE", + "RIGHT_HAND" + ] + }, + "ConfigList": { + "type": "list", + "member": { + "shape": "ConfigListItem" + } + }, + "AntennaUplinkConfig": { + "type": "structure", + "required": [ + "spectrumConfig", + "targetEirp" + ], + "members": { + "spectrumConfig": { + "shape": "UplinkSpectrumConfig", + "documentation": "

Information about the uplink spectral Config.

" + }, + "targetEirp": { + "shape": "Eirp", + "documentation": "

EIRP of the target.

" + } + }, + "documentation": "

Information about the uplink Config of an antenna.

" + }, + "Integer": { + "type": "integer", + "box": true + }, + "AntennaDownlinkConfig": { + "type": "structure", + "required": [ + "spectrumConfig" + ], + "members": { + "spectrumConfig": { + "shape": "SpectrumConfig", + "documentation": "

Object that describes a spectral Config.

" + } + }, + "documentation": "

Information about how AWS Ground Station should configure an\n antenna for downlink during a contact.

" + }, + "Boolean": { + "type": "boolean", + "box": true + }, + "EndpointStatus": { + "type": "string", + "enum": [ + "created", + "creating", + "deleted", + "deleting", + "failed" + ] + }, + "UplinkEchoConfig": { + "type": "structure", + "required": [ + "antennaUplinkConfigArn", + "enabled" + ], + "members": { + "antennaUplinkConfigArn": { + "shape": "ConfigArn", + "documentation": "

ARN of an uplink Config.

" + }, + "enabled": { + "shape": "Boolean", + "documentation": "

Whether or not an uplink Config is enabled.

" + } + }, + "documentation": "

Information about an uplink echo Config.

\n

Parameters from the AntennaUplinkConfig, corresponding to the \n specified AntennaUplinkConfigArn, are used when this UplinkEchoConfig \n is used in a contact.

" + }, + "DecodeConfig": { + "type": "structure", + "required": [ + "unvalidatedJSON" + ], + "members": { + "unvalidatedJSON": { + "shape": "JsonString", + "documentation": "

Unvalidated JSON of a decode Config.

" + } + }, + "documentation": "

Information about the decode Config.

" + }, + "DeleteDataflowEndpointGroupRequest": { + "type": "structure", + "required": [ + "dataflowEndpointGroupId" + ], + "members": { + "dataflowEndpointGroupId": { + "shape": "String", + "documentation": "

ID of a dataflow endpoint group.

", + "location": "uri", + "locationName": "dataflowEndpointGroupId" + } + }, + "documentation": "

" + }, + "ContactStatus": { + "type": "string", + "enum": [ + "AVAILABLE", + "AWS_CANCELLED", + "CANCELLED", + "COMPLETED", + "FAILED", + "FAILED_TO_SCHEDULE", + "PASS", + "POSTPASS", + "PREPASS", + "SCHEDULED", + "SCHEDULING" + ] + }, + "MissionProfileList": { + "type": "list", + "member": { + "shape": "MissionProfileListItem" + } + }, + "CreateConfigRequest": { + "type": "structure", + "required": [ + "configData", + "name" + ], + "members": { + "configData": { + "shape": "ConfigTypeData", + "documentation": "

Parameters of a Config.

" + }, + "name": { + "shape": "SafeName", + "documentation": "

Name of a Config.

" + }, + "tags": { + "shape": "TagsMap", + "documentation": "

Tags assigned to a Config.

" + } + }, + "documentation": "

" + }, + "Frequency": { + "type": "structure", + "required": [ + "units", + "value" + ], + "members": { + "units": { + "shape": "FrequencyUnits", + "documentation": "

Frequency units.

" + }, + "value": { + "shape": "Double", + "documentation": "

Frequency value.

" + } + }, + "documentation": "

Object that describes the frequency.

" + }, + "UntagResourceResponse": { + "type": "structure", + "members": { }, + "documentation": "

" + }, + "ConfigIdResponse": { + "type": "structure", + "members": { + "configArn": { + "shape": "ConfigArn", + "documentation": "

ARN of a Config.

" + }, + "configId": { + "shape": "String", + "documentation": "

UUID of a Config.

" + }, + "configType": { + "shape": "ConfigCapabilityType", + "documentation": "

Type of a Config.

" + } + }, + "documentation": "

" + }, + "SecurityDetails": { + "type": "structure", + "required": [ + "roleArn", + "securityGroupIds", + "subnetIds" + ], + "members": { + "roleArn": { + "shape": "RoleArn", + "documentation": "

ARN to a role needed for connecting streams to your instances.

" + }, + "securityGroupIds": { + "shape": "SecurityGroupIdList", + "documentation": "

The security groups to attach to the elastic network interfaces.

" + }, + "subnetIds": { + "shape": "SubnetList", + "documentation": "

A list of subnets where AWS Ground Station places elastic network interfaces to send streams to your instances.

" + } + }, + "documentation": "

Information about endpoints.

" + }, + "TrackingConfig": { + "type": "structure", + "required": [ + "autotrack" + ], + "members": { + "autotrack": { + "shape": "Criticality", + "documentation": "

Current setting for autotrack.

" + } + }, + "documentation": "

Object that determines whether tracking should be used during a contact\n executed with this Config in the mission profile.

" + }, + "CreateDataflowEndpointGroupRequest": { + "type": "structure", + "required": [ + "endpointDetails" + ], + "members": { + "endpointDetails": { + "shape": "EndpointDetailsList", + "documentation": "

Endpoint details of each endpoint in the dataflow endpoint group.

" + }, + "tags": { + "shape": "TagsMap", + "documentation": "

Tags of a dataflow endpoint group.

" + } + }, + "documentation": "

" + }, + "Elevation": { + "type": "structure", + "required": [ + "unit", + "value" + ], + "members": { + "unit": { + "shape": "AngleUnits", + "documentation": "

Elevation angle units.

" + }, + "value": { + "shape": "Double", + "documentation": "

Elevation angle value.

" + } + }, + "documentation": "

Elevation angle of the satellite in the sky during a contact.

" + }, + "JsonString": { + "type": "string", + "min": 2, + "max": 8192 + }, + "GetSatelliteRequest": { + "type": "structure", + "required": [ + "satelliteId" + ], + "members": { + "satelliteId": { + "shape": "String", + "documentation": "

UUID of a satellite.

", + "location": "uri", + "locationName": "satelliteId" + } + }, + "documentation": "

" + }, + "CancelContactRequest": { + "type": "structure", + "required": [ + "contactId" + ], + "members": { + "contactId": { + "shape": "String", + "documentation": "

UUID of a contact.

", + "location": "uri", + "locationName": "contactId" + } + }, + "documentation": "

" + }, + "UplinkSpectrumConfig": { + "type": "structure", + "required": [ + "centerFrequency" + ], + "members": { + "centerFrequency": { + "shape": "Frequency", + "documentation": "

Center frequency of an uplink spectral Config.

" + }, + "polarization": { + "shape": "Polarization", + "documentation": "

Polarization of an uplink spectral Config.

" + } + }, + "documentation": "

Information about the uplink spectral Config.

" + }, + "UntagResourceRequest": { + "type": "structure", + "required": [ + "resourceArn", + "tagKeys" + ], + "members": { + "resourceArn": { + "shape": "String", + "documentation": "

ARN of a resource.

", + "location": "uri", + "locationName": "resourceArn" + }, + "tagKeys": { + "shape": "TagKeys", + "documentation": "

Keys of a resource tag.

", + "location": "querystring", + "locationName": "tagKeys" + } + }, + "documentation": "

" + }, + "satelliteArn": { + "type": "string" + }, + "GetMissionProfileResponse": { + "type": "structure", + "members": { + "contactPostPassDurationSeconds": { + "shape": "DurationInSeconds", + "documentation": "

Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished.

" + }, + "contactPrePassDurationSeconds": { + "shape": "DurationInSeconds", + "documentation": "

Amount of time prior to contact start you’d like to receive a CloudWatch event indicating an upcoming pass.

" + }, + "dataflowEdges": { + "shape": "DataflowEdgeList", + "documentation": "

A list of lists of ARNs. Each list of ARNs is an edge, with a from Config and a to \n Config.

" + }, + "minimumViableContactDurationSeconds": { + "shape": "DurationInSeconds", + "documentation": "

Smallest amount of time in seconds that you’d like to see for an available contact. AWS Ground Station will not present you with contacts shorter than this duration.

" + }, + "missionProfileArn": { + "shape": "MissionProfileArn", + "documentation": "

ARN of a mission profile.

" + }, + "missionProfileId": { + "shape": "String", + "documentation": "

ID of a mission profile.

" + }, + "name": { + "shape": "String", + "documentation": "

Name of a mission profile.

" + }, + "region": { + "shape": "String", + "documentation": "

Region of a mission profile.

" + }, + "tags": { + "shape": "TagsMap", + "documentation": "

Tags assigned to a mission profile.

" + }, + "trackingConfigArn": { + "shape": "ConfigArn", + "documentation": "

ARN of a tracking Config.

" + } + }, + "documentation": "

" + }, + "ContactIdResponse": { + "type": "structure", + "members": { + "contactId": { + "shape": "String", + "documentation": "

UUID of a contact.

" + } + }, + "documentation": "

" + }, + "EndpointDetailsList": { + "type": "list", + "member": { + "shape": "EndpointDetails" + } + }, + "ListGroundStationsRequest": { + "type": "structure", + "members": { + "maxResults": { + "shape": "Integer", + "documentation": "

Maximum number of ground stations returned.

", + "location": "querystring", + "locationName": "maxResults" + }, + "nextToken": { + "shape": "String", + "documentation": "

Next token that can be supplied in the next call to get the next page of ground stations.

", + "location": "querystring", + "locationName": "nextToken" + } + }, + "documentation": "

" + }, + "InvalidParameterException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + }, + "parameterName": { + "shape": "String", + "documentation": "

" + } + }, + "documentation": "

One or more parameters are not valid.

", + "exception": true, + "error": { + "code": "InvalidParameterException", + "httpStatusCode": 431, + "senderFault": true + } + }, + "DependencyException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + }, + "parameterName": { + "shape": "String", + "documentation": "

" + } + }, + "documentation": "

Dependency encountered an error.

", + "exception": true, + "error": { + "code": "DependencyException", + "httpStatusCode": 531, + "fault": true + } + }, + "DescribeContactRequest": { + "type": "structure", + "required": [ + "contactId" + ], + "members": { + "contactId": { + "shape": "String", + "documentation": "

UUID of a contact.

", + "location": "uri", + "locationName": "contactId" + } + }, + "documentation": "

" + }, + "ResourceNotFoundException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

Resource was not found.

", + "exception": true, + "error": { + "code": "ResourceNotFoundException", + "httpStatusCode": 434, + "senderFault": true + } + }, + "Timestamp": { + "type": "timestamp" + }, + "DeleteConfigRequest": { + "type": "structure", + "required": [ + "configId", + "configType" + ], + "members": { + "configId": { + "shape": "String", + "documentation": "

UUID of a Config.

", + "location": "uri", + "locationName": "configId" + }, + "configType": { + "shape": "ConfigCapabilityType", + "documentation": "

Type of a Config.

", + "location": "uri", + "locationName": "configType" + } + }, + "documentation": "

" + }, + "BandwidthUnits": { + "type": "string", + "enum": [ + "GHz", + "MHz", + "kHz" + ] + }, + "SpectrumConfig": { + "type": "structure", + "required": [ + "bandwidth", + "centerFrequency" + ], + "members": { + "bandwidth": { + "shape": "FrequencyBandwidth", + "documentation": "

Bandwidth of a spectral Config.

" + }, + "centerFrequency": { + "shape": "Frequency", + "documentation": "

Center frequency of a spectral Config.

" + }, + "polarization": { + "shape": "Polarization", + "documentation": "

Polarization of a spectral Config.

" + } + }, + "documentation": "

Object that describes a spectral Config.

" + }, + "DemodulationConfig": { + "type": "structure", + "required": [ + "unvalidatedJSON" + ], + "members": { + "unvalidatedJSON": { + "shape": "JsonString", + "documentation": "

Unvalidated JSON of a demodulation Config.

" + } + }, + "documentation": "

Information about the demodulation Config.

" + }, + "ListMissionProfilesResponse": { + "type": "structure", + "members": { + "missionProfileList": { + "shape": "MissionProfileList", + "documentation": "

List of mission profiles

" + }, + "nextToken": { + "shape": "String", + "documentation": "

Next token returned in the response of a previous ListMissionProfiles call. Used to get the next page of results.

" + } + }, + "documentation": "

" + }, + "ListConfigsResponse": { + "type": "structure", + "members": { + "configList": { + "shape": "ConfigList", + "documentation": "

List of Config items.

" + }, + "nextToken": { + "shape": "String", + "documentation": "

Next token returned in the response of a previous ListConfigs call. Used to get the next page of results.

" + } + }, + "documentation": "

" + }, + "DataflowEdge": { + "type": "list", + "member": { + "shape": "ConfigArn" + }, + "min": 2, + "max": 2 + }, + "SafeName": { + "type": "string", + "min": 1, + "max": 256, + "pattern": "^[ a-zA-Z0-9_:-]+$" + }, + "Eirp": { + "type": "structure", + "required": [ + "units", + "value" + ], + "members": { + "units": { + "shape": "EirpUnits", + "documentation": "

Units of an EIRP.

" + }, + "value": { + "shape": "Double", + "documentation": "

Value of an EIRP.

" + } + }, + "documentation": "

Object that represents EIRP.

" + }, + "RoleArn": { + "type": "string" + }, + "ListMissionProfilesRequest": { + "type": "structure", + "members": { + "maxResults": { + "shape": "Integer", + "documentation": "

Maximum number of mission profiles returned.

", + "location": "querystring", + "locationName": "maxResults" + }, + "nextToken": { + "shape": "String", + "documentation": "

Next token returned in the request of a previous ListMissionProfiles call. Used to get the next page of results.

", + "location": "querystring", + "locationName": "nextToken" + } + }, + "documentation": "

" + }, + "GetSatelliteResponse": { + "type": "structure", + "members": { + "dateCreated": { + "shape": "Timestamp", + "documentation": "

When a satellite was created.

" + }, + "lastUpdated": { + "shape": "Timestamp", + "documentation": "

When a satellite was last updated.

" + }, + "noradSatelliteID": { + "shape": "noradSatelliteID", + "documentation": "

NORAD satellite ID number.

" + }, + "satelliteArn": { + "shape": "satelliteArn", + "documentation": "

ARN of a satellite.

" + }, + "satelliteId": { + "shape": "Uuid", + "documentation": "

UUID of a satellite.

" + }, + "tags": { + "shape": "TagsMap", + "documentation": "

Tags assigned to a satellite.

" + } + }, + "documentation": "

" + }, + "StatusList": { + "type": "list", + "member": { + "shape": "ContactStatus" + } + }, + "ListContactsRequest": { + "type": "structure", + "required": [ + "endTime", + "startTime", + "statusList" + ], + "members": { + "endTime": { + "shape": "Timestamp", + "documentation": "

End time of a contact.

" + }, + "groundStation": { + "shape": "String", + "documentation": "

Name of a ground station.

" + }, + "maxResults": { + "shape": "Integer", + "documentation": "

Maximum number of contacts returned.

" + }, + "missionProfileArn": { + "shape": "MissionProfileArn", + "documentation": "

ARN of a mission profile.

" + }, + "nextToken": { + "shape": "String", + "documentation": "

Next token returned in the request of a previous ListContacts call. Used to get the next page of results.

" + }, + "satelliteArn": { + "shape": "satelliteArn", + "documentation": "

ARN of a satellite.

" + }, + "startTime": { + "shape": "Timestamp", + "documentation": "

Start time of a contact.

" + }, + "statusList": { + "shape": "StatusList", + "documentation": "

Status of a contact reservation.

" + } + }, + "documentation": "

" + }, + "ContactData": { + "type": "structure", + "members": { + "contactId": { + "shape": "String", + "documentation": "

UUID of a contact.

" + }, + "contactStatus": { + "shape": "ContactStatus", + "documentation": "

Status of a contact.

" + }, + "endTime": { + "shape": "Timestamp", + "documentation": "

End time of a contact.

" + }, + "errorMessage": { + "shape": "String", + "documentation": "

Error message of a contact.

" + }, + "groundStation": { + "shape": "String", + "documentation": "

Name of a ground station.

" + }, + "maximumElevation": { + "shape": "Elevation", + "documentation": "

Maximum elevation angle of a contact.

" + }, + "missionProfileArn": { + "shape": "MissionProfileArn", + "documentation": "

ARN of a mission profile.

" + }, + "postPassEndTime": { + "shape": "Timestamp", + "documentation": "

Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished.

" + }, + "prePassStartTime": { + "shape": "Timestamp", + "documentation": "

Amount of time prior to contact start you’d like to receive a CloudWatch event indicating an upcoming pass.

" + }, + "satelliteArn": { + "shape": "satelliteArn", + "documentation": "

ARN of a satellite.

" + }, + "startTime": { + "shape": "Timestamp", + "documentation": "

Start time of a contact.

" + }, + "tags": { + "shape": "TagsMap", + "documentation": "

Tags assigned to a contact.

" + } + }, + "documentation": "

Data describing a contact.

" + }, + "ListGroundStationsResponse": { + "type": "structure", + "members": { + "groundStationList": { + "shape": "GroundStationList", + "documentation": "

List of ground stations.

" + }, + "nextToken": { + "shape": "String", + "documentation": "

Next token that can be supplied in the next call to get the next page of ground stations.

" + } + }, + "documentation": "

" + }, + "DataflowEndpoint": { + "type": "structure", + "members": { + "address": { + "shape": "SocketAddress", + "documentation": "

Socket address of a dataflow endpoint.

" + }, + "name": { + "shape": "SafeName", + "documentation": "

Name of a dataflow endpoint.

" + }, + "status": { + "shape": "EndpointStatus", + "documentation": "

Status of a dataflow endpoint.

" + } + }, + "documentation": "

Information about a dataflow endpoint.

" + }, + "ListConfigsRequest": { + "type": "structure", + "members": { + "maxResults": { + "shape": "Integer", + "documentation": "

Maximum number of Configs returned.

", + "location": "querystring", + "locationName": "maxResults" + }, + "nextToken": { + "shape": "String", + "documentation": "

Next token returned in the request of a previous ListConfigs call. Used to get the next page of results.

", + "location": "querystring", + "locationName": "nextToken" + } + }, + "documentation": "

" + }, + "SocketAddress": { + "type": "structure", + "required": [ + "name", + "port" + ], + "members": { + "name": { + "shape": "String", + "documentation": "

Name of a socket address.

" + }, + "port": { + "shape": "Integer", + "documentation": "

Port of a socket address.

" + } + }, + "documentation": "

Information about the socket address.

" + }, + "GetConfigResponse": { + "type": "structure", + "required": [ + "configArn", + "configData", + "configId", + "name" + ], + "members": { + "configArn": { + "shape": "ConfigArn", + "documentation": "

ARN of a Config\n

" + }, + "configData": { + "shape": "ConfigTypeData", + "documentation": "

Data elements in a Config.

" + }, + "configId": { + "shape": "String", + "documentation": "

UUID of a Config.

" + }, + "configType": { + "shape": "ConfigCapabilityType", + "documentation": "

Type of a Config.

" + }, + "name": { + "shape": "String", + "documentation": "

Name of a Config.

" + }, + "tags": { + "shape": "TagsMap", + "documentation": "

Tags assigned to a Config.

" + } + }, + "documentation": "

" + }, + "TagsMap": { + "type": "map", + "key": { + "shape": "String" + }, + "value": { + "shape": "String" + } + }, + "TagResourceResponse": { + "type": "structure", + "members": { }, + "documentation": "

" + }, + "DeleteMissionProfileRequest": { + "type": "structure", + "required": [ + "missionProfileId" + ], + "members": { + "missionProfileId": { + "shape": "String", + "documentation": "

UUID of a mission profile.

", + "location": "uri", + "locationName": "missionProfileId" + } + }, + "documentation": "

" + }, + "DataflowEndpointGroupList": { + "type": "list", + "member": { + "shape": "DataflowEndpointListItem" + } + }, + "ContactList": { + "type": "list", + "member": { + "shape": "ContactData" + } + }, + "DurationInSeconds": { + "type": "integer", + "min": 1, + "max": 21600 + }, + "SatelliteListItem": { + "type": "structure", + "members": { + "noradSatelliteID": { + "shape": "noradSatelliteID", + "documentation": "

NORAD satellite ID number.

" + }, + "satelliteArn": { + "shape": "satelliteArn", + "documentation": "

ARN of a satellite.

" + }, + "satelliteId": { + "shape": "Uuid", + "documentation": "

ID of a satellite.

" + } + }, + "documentation": "

Item in a list of satellites.

" + }, + "GetMissionProfileRequest": { + "type": "structure", + "required": [ + "missionProfileId" + ], + "members": { + "missionProfileId": { + "shape": "String", + "documentation": "

UUID of a mission profile.

", + "location": "uri", + "locationName": "missionProfileId" + } + }, + "documentation": "

" + }, + "Double": { + "type": "double", + "box": true + }, + "ListSatellitesResponse": { + "type": "structure", + "members": { + "nextToken": { + "shape": "String", + "documentation": "

Next token that can be supplied in the next call to get the next page of satellites.

" + }, + "satellites": { + "shape": "SatelliteList", + "documentation": "

List of satellites.

" + } + }, + "documentation": "

" + }, + "CreateMissionProfileRequest": { + "type": "structure", + "required": [ + "dataflowEdges", + "minimumViableContactDurationSeconds", + "name", + "trackingConfigArn" + ], + "members": { + "contactPostPassDurationSeconds": { + "shape": "DurationInSeconds", + "documentation": "

Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished.

" + }, + "contactPrePassDurationSeconds": { + "shape": "DurationInSeconds", + "documentation": "

Amount of time prior to contact start you’d like to receive a CloudWatch event indicating an upcoming pass.

" + }, + "dataflowEdges": { + "shape": "DataflowEdgeList", + "documentation": "

A list of lists of ARNs. Each list of ARNs is an edge, with a from Config and a to \n Config.

" + }, + "minimumViableContactDurationSeconds": { + "shape": "DurationInSeconds", + "documentation": "

Smallest amount of time in seconds that you’d like to see for an available contact. AWS Ground Station will not present you with contacts shorter than this duration.

" + }, + "name": { + "shape": "SafeName", + "documentation": "

Name of a mission profile.

" + }, + "tags": { + "shape": "TagsMap", + "documentation": "

Tags assigned to a mission profile.

" + }, + "trackingConfigArn": { + "shape": "ConfigArn", + "documentation": "

ARN of a tracking Config.

" + } + }, + "documentation": "

" + }, + "ReserveContactRequest": { + "type": "structure", + "required": [ + "endTime", + "groundStation", + "missionProfileArn", + "satelliteArn", + "startTime" + ], + "members": { + "endTime": { + "shape": "Timestamp", + "documentation": "

End time of a contact.

" + }, + "groundStation": { + "shape": "String", + "documentation": "

Name of a ground station.

" + }, + "missionProfileArn": { + "shape": "MissionProfileArn", + "documentation": "

ARN of a mission profile.

" + }, + "satelliteArn": { + "shape": "satelliteArn", + "documentation": "

ARN of a satellite

" + }, + "startTime": { + "shape": "Timestamp", + "documentation": "

Start time of a contact.

" + }, + "tags": { + "shape": "TagsMap", + "documentation": "

Tags assigned to a contact.

" + } + }, + "documentation": "

" + }, + "DataflowEndpointConfig": { + "type": "structure", + "required": [ + "dataflowEndpointName" + ], + "members": { + "dataflowEndpointName": { + "shape": "String", + "documentation": "

Name of a dataflow endpoint.

" + } + }, + "documentation": "

Information about the dataflow endpoint Config.

" + }, + "Uuid": { + "type": "string", + "min": 1, + "max": 128, + "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}" + }, + "ListTagsForResourceResponse": { + "type": "structure", + "members": { + "tags": { + "shape": "TagsMap", + "documentation": "

Tags assigned to a resource.

" + } + }, + "documentation": "

" + }, + "MissionProfileArn": { + "type": "string" + }, + "ListContactsResponse": { + "type": "structure", + "members": { + "contactList": { + "shape": "ContactList", + "documentation": "

List of contacts.

" + }, + "nextToken": { + "shape": "String", + "documentation": "

Next token returned in the response of a previous ListContacts call. Used to get the next page of results.

" + } + }, + "documentation": "

" + }, + "DataflowEdgeList": { + "type": "list", + "member": { + "shape": "DataflowEdge" + } + }, + "DescribeContactResponse": { + "type": "structure", + "members": { + "contactId": { + "shape": "String", + "documentation": "

UUID of a contact.

" + }, + "contactStatus": { + "shape": "ContactStatus", + "documentation": "

Status of a contact.

" + }, + "endTime": { + "shape": "Timestamp", + "documentation": "

End time of a contact.

" + }, + "errorMessage": { + "shape": "String", + "documentation": "

Error message for a contact.

" + }, + "groundStation": { + "shape": "String", + "documentation": "

Ground station for a contact.

" + }, + "maximumElevation": { + "shape": "Elevation", + "documentation": "

Maximum elevation angle of a contact.

" + }, + "missionProfileArn": { + "shape": "MissionProfileArn", + "documentation": "

ARN of a mission profile.

" + }, + "postPassEndTime": { + "shape": "Timestamp", + "documentation": "

Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished.

" + }, + "prePassStartTime": { + "shape": "Timestamp", + "documentation": "

Amount of time prior to contact start you’d like to receive a CloudWatch event indicating an upcoming pass.

" + }, + "satelliteArn": { + "shape": "satelliteArn", + "documentation": "

ARN of a satellite.

" + }, + "startTime": { + "shape": "Timestamp", + "documentation": "

Start time of a contact.

" + }, + "tags": { + "shape": "TagsMap", + "documentation": "

Tags assigned to a contact.

" + } + }, + "documentation": "

" + }, + "ConfigListItem": { + "type": "structure", + "members": { + "configArn": { + "shape": "ConfigArn", + "documentation": "

ARN of a Config.

" + }, + "configId": { + "shape": "String", + "documentation": "

UUID of a Config.

" + }, + "configType": { + "shape": "ConfigCapabilityType", + "documentation": "

Type of a Config.

" + }, + "name": { + "shape": "String", + "documentation": "

Name of a Config.

" + } + }, + "documentation": "

An item in a list of Config objects.

" + }, + "ListTagsForResourceRequest": { + "type": "structure", + "required": [ + "resourceArn" + ], + "members": { + "resourceArn": { + "shape": "String", + "documentation": "

ARN of a resource.

", + "location": "uri", + "locationName": "resourceArn" + } + }, + "documentation": "

" + }, + "ListDataflowEndpointGroupsRequest": { + "type": "structure", + "members": { + "maxResults": { + "shape": "Integer", + "documentation": "

Maximum number of dataflow endpoint groups returned.

", + "location": "querystring", + "locationName": "maxResults" + }, + "nextToken": { + "shape": "String", + "documentation": "

Next token returned in the request of a previous ListDataflowEndpointGroups call. Used to get the next page of results.

", + "location": "querystring", + "locationName": "nextToken" + } + }, + "documentation": "

" + }, + "FrequencyBandwidth": { + "type": "structure", + "required": [ + "units", + "value" + ], + "members": { + "units": { + "shape": "BandwidthUnits", + "documentation": "

Frequency bandwidth units.

" + }, + "value": { + "shape": "Double", + "documentation": "

Frequency bandwidth value.

" + } + }, + "documentation": "

Object that describes the frequency bandwidth.

" + }, + "String": { + "type": "string" + }, + "ListSatellitesRequest": { + "type": "structure", + "members": { + "maxResults": { + "shape": "Integer", + "documentation": "

Maximum number of satellites returned.

", + "location": "querystring", + "locationName": "maxResults" + }, + "nextToken": { + "shape": "String", + "documentation": "

Next token that can be supplied in the next call to get the next page of satellites.

", + "location": "querystring", + "locationName": "nextToken" + } + }, + "documentation": "

" + }, + "UpdateMissionProfileRequest": { + "type": "structure", + "required": [ + "missionProfileId" + ], + "members": { + "contactPostPassDurationSeconds": { + "shape": "DurationInSeconds", + "documentation": "

Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished.

" + }, + "contactPrePassDurationSeconds": { + "shape": "DurationInSeconds", + "documentation": "

Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished.

" + }, + "dataflowEdges": { + "shape": "DataflowEdgeList", + "documentation": "

A list of lists of ARNs. Each list of ARNs is an edge, with a from Config and a to \n Config.

" + }, + "minimumViableContactDurationSeconds": { + "shape": "DurationInSeconds", + "documentation": "

Smallest amount of time in seconds that you’d like to see for an available contact. AWS Ground Station will not present you with contacts shorter than this duration.

" + }, + "missionProfileId": { + "shape": "String", + "documentation": "

ID of a mission profile.

", + "location": "uri", + "locationName": "missionProfileId" + }, + "name": { + "shape": "SafeName", + "documentation": "

Name of a mission profile.

" + }, + "trackingConfigArn": { + "shape": "ConfigArn", + "documentation": "

ARN of a tracking Config.

" + } + }, + "documentation": "

" + }, + "FrequencyUnits": { + "type": "string", + "enum": [ + "GHz", + "MHz", + "kHz" + ] + }, + "TagResourceRequest": { + "type": "structure", + "required": [ + "resourceArn" + ], + "members": { + "resourceArn": { + "shape": "String", + "documentation": "

ARN of a resource tag.

", + "location": "uri", + "locationName": "resourceArn" + }, + "tags": { + "shape": "TagsMap", + "documentation": "

Tags assigned to a resource.

" + } + }, + "documentation": "

" + }, + "Criticality": { + "type": "string", + "enum": [ + "PREFERRED", + "REMOVED", + "REQUIRED" + ] + }, + "ConfigCapabilityType": { + "type": "string", + "enum": [ + "antenna-downlink", + "antenna-downlink-demod-decode", + "antenna-uplink", + "dataflow-endpoint", + "tracking", + "uplink-echo" + ] + }, + "TagKeys": { + "type": "list", + "member": { + "shape": "String" + } + }, + "AngleUnits": { + "type": "string", + "enum": [ + "DEGREE_ANGLE", + "RADIAN" + ] + }, + "DataflowEndpointListItem": { + "type": "structure", + "members": { + "dataflowEndpointGroupArn": { + "shape": "DataflowEndpointGroupArn", + "documentation": "

ARN of a dataflow endpoint group.

" + }, + "dataflowEndpointGroupId": { + "shape": "String", + "documentation": "

UUID of a dataflow endpoint group.

" + } + }, + "documentation": "

Item in a list of DataflowEndpoint groups.

" + }, + "GetDataflowEndpointGroupResponse": { + "type": "structure", + "members": { + "dataflowEndpointGroupArn": { + "shape": "DataflowEndpointGroupArn", + "documentation": "

ARN of a dataflow endpoint group.

" + }, + "dataflowEndpointGroupId": { + "shape": "String", + "documentation": "

UUID of a dataflow endpoint group.

" + }, + "endpointsDetails": { + "shape": "EndpointDetailsList", + "documentation": "

Details of a dataflow endpoint.

" + }, + "tags": { + "shape": "TagsMap", + "documentation": "

Tags assigned to a dataflow endpoint group.

" + } + }, + "documentation": "

" + }, + "GetDataflowEndpointGroupRequest": { + "type": "structure", + "required": [ + "dataflowEndpointGroupId" + ], + "members": { + "dataflowEndpointGroupId": { + "shape": "String", + "documentation": "

UUID of a dataflow endpoint group.

", + "location": "uri", + "locationName": "dataflowEndpointGroupId" + } + }, + "documentation": "

" + }, + "ConfigArn": { + "type": "string" + }, + "GetMinuteUsageRequest": { + "type": "structure", + "required": [ + "month", + "year" + ], + "members": { + "month": { + "shape": "Integer", + "documentation": "

The month being requested, with a value of 1-12.

" + }, + "year": { + "shape": "Integer", + "documentation": "

The year being requested, in the format of YYYY.

" + } + }, + "documentation": "

" + }, + "DataflowEndpointGroupIdResponse": { + "type": "structure", + "members": { + "dataflowEndpointGroupId": { + "shape": "String", + "documentation": "

ID of a dataflow endpoint group.

" + } + }, + "documentation": "

" + }, + "EirpUnits": { + "type": "string", + "enum": [ + "dBW" + ] + } + } +} diff --git a/bin/botocore/data/guardduty/2017-11-28/service-2.json b/bin/botocore/data/guardduty/2017-11-28/service-2.json index e5b5e645..dc27145b 100644 --- a/bin/botocore/data/guardduty/2017-11-28/service-2.json +++ b/bin/botocore/data/guardduty/2017-11-28/service-2.json @@ -1,3602 +1,3540 @@ { - "metadata" : { - "apiVersion" : "2017-11-28", - "endpointPrefix" : "guardduty", - "signingName" : "guardduty", - "serviceFullName" : "Amazon GuardDuty", - "serviceId" : "GuardDuty", - "protocol" : "rest-json", - "jsonVersion" : "1.1", - "uid" : "guardduty-2017-11-28", - "signatureVersion" : "v4" + "version":"2.0", + "metadata":{ + "apiVersion":"2017-11-28", + "endpointPrefix":"guardduty", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Amazon GuardDuty", + "serviceId":"GuardDuty", + "signatureVersion":"v4", + "signingName":"guardduty", + "uid":"guardduty-2017-11-28" }, - "operations" : { - "AcceptInvitation" : { - "name" : "AcceptInvitation", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/master", - "responseCode" : 200 - }, - "input" : { - "shape" : "AcceptInvitationRequest" - }, - "output" : { - "shape" : "AcceptInvitationResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Accepts the invitation to be monitored by a master GuardDuty account." - }, - "ArchiveFindings" : { - "name" : "ArchiveFindings", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/findings/archive", - "responseCode" : 200 - }, - "input" : { - "shape" : "ArchiveFindingsRequest" - }, - "output" : { - "shape" : "ArchiveFindingsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Archives Amazon GuardDuty findings specified by the list of finding IDs." - }, - "CreateDetector" : { - "name" : "CreateDetector", - "http" : { - "method" : "POST", - "requestUri" : "/detector", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateDetectorRequest" - }, - "output" : { - "shape" : "CreateDetectorResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Creates a single Amazon GuardDuty detector. A detector is an object that represents the GuardDuty service. A detector must be created in order for GuardDuty to become operational." - }, - "CreateFilter" : { - "name" : "CreateFilter", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/filter", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateFilterRequest" - }, - "output" : { - "shape" : "CreateFilterResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Creates a filter using the specified finding criteria." - }, - "CreateIPSet" : { - "name" : "CreateIPSet", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/ipset", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateIPSetRequest" - }, - "output" : { - "shape" : "CreateIPSetResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Creates a new IPSet - a list of trusted IP addresses that have been whitelisted for secure communication with AWS infrastructure and applications." - }, - "CreateMembers" : { - "name" : "CreateMembers", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/member", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateMembersRequest" - }, - "output" : { - "shape" : "CreateMembersResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Creates member accounts of the current AWS account by specifying a list of AWS account IDs. The current AWS account can then invite these members to manage GuardDuty in their accounts." - }, - "CreateSampleFindings" : { - "name" : "CreateSampleFindings", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/findings/create", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateSampleFindingsRequest" - }, - "output" : { - "shape" : "CreateSampleFindingsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Generates example findings of types specified by the list of finding types. If 'NULL' is specified for findingTypes, the API generates example findings of all supported finding types." - }, - "CreateThreatIntelSet" : { - "name" : "CreateThreatIntelSet", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/threatintelset", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateThreatIntelSetRequest" - }, - "output" : { - "shape" : "CreateThreatIntelSetResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Create a new ThreatIntelSet. ThreatIntelSets consist of known malicious IP addresses. GuardDuty generates findings based on ThreatIntelSets." - }, - "DeclineInvitations" : { - "name" : "DeclineInvitations", - "http" : { - "method" : "POST", - "requestUri" : "/invitation/decline", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeclineInvitationsRequest" - }, - "output" : { - "shape" : "DeclineInvitationsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Declines invitations sent to the current member account by AWS account specified by their account IDs." - }, - "DeleteDetector" : { - "name" : "DeleteDetector", - "http" : { - "method" : "DELETE", - "requestUri" : "/detector/{detectorId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteDetectorRequest" - }, - "output" : { - "shape" : "DeleteDetectorResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Deletes a Amazon GuardDuty detector specified by the detector ID." - }, - "DeleteFilter" : { - "name" : "DeleteFilter", - "http" : { - "method" : "DELETE", - "requestUri" : "/detector/{detectorId}/filter/{filterName}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteFilterRequest" - }, - "output" : { - "shape" : "DeleteFilterResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Deletes the filter specified by the filter name." - }, - "DeleteIPSet" : { - "name" : "DeleteIPSet", - "http" : { - "method" : "DELETE", - "requestUri" : "/detector/{detectorId}/ipset/{ipSetId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteIPSetRequest" - }, - "output" : { - "shape" : "DeleteIPSetResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Deletes the IPSet specified by the IPSet ID." - }, - "DeleteInvitations" : { - "name" : "DeleteInvitations", - "http" : { - "method" : "POST", - "requestUri" : "/invitation/delete", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteInvitationsRequest" - }, - "output" : { - "shape" : "DeleteInvitationsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Deletes invitations sent to the current member account by AWS accounts specified by their account IDs." - }, - "DeleteMembers" : { - "name" : "DeleteMembers", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/member/delete", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteMembersRequest" - }, - "output" : { - "shape" : "DeleteMembersResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Deletes GuardDuty member accounts (to the current GuardDuty master account) specified by the account IDs." - }, - "DeleteThreatIntelSet" : { - "name" : "DeleteThreatIntelSet", - "http" : { - "method" : "DELETE", - "requestUri" : "/detector/{detectorId}/threatintelset/{threatIntelSetId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteThreatIntelSetRequest" - }, - "output" : { - "shape" : "DeleteThreatIntelSetResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Deletes ThreatIntelSet specified by the ThreatIntelSet ID." - }, - "DisassociateFromMasterAccount" : { - "name" : "DisassociateFromMasterAccount", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/master/disassociate", - "responseCode" : 200 - }, - "input" : { - "shape" : "DisassociateFromMasterAccountRequest" - }, - "output" : { - "shape" : "DisassociateFromMasterAccountResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Disassociates the current GuardDuty member account from its master account." - }, - "DisassociateMembers" : { - "name" : "DisassociateMembers", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/member/disassociate", - "responseCode" : 200 - }, - "input" : { - "shape" : "DisassociateMembersRequest" - }, - "output" : { - "shape" : "DisassociateMembersResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Disassociates GuardDuty member accounts (to the current GuardDuty master account) specified by the account IDs." - }, - "GetDetector" : { - "name" : "GetDetector", - "http" : { - "method" : "GET", - "requestUri" : "/detector/{detectorId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetDetectorRequest" - }, - "output" : { - "shape" : "GetDetectorResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Retrieves an Amazon GuardDuty detector specified by the detectorId." - }, - "GetFilter" : { - "name" : "GetFilter", - "http" : { - "method" : "GET", - "requestUri" : "/detector/{detectorId}/filter/{filterName}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetFilterRequest" - }, - "output" : { - "shape" : "GetFilterResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Returns the details of the filter specified by the filter name." - }, - "GetFindings" : { - "name" : "GetFindings", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/findings/get", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetFindingsRequest" - }, - "output" : { - "shape" : "GetFindingsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Describes Amazon GuardDuty findings specified by finding IDs." - }, - "GetFindingsStatistics" : { - "name" : "GetFindingsStatistics", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/findings/statistics", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetFindingsStatisticsRequest" - }, - "output" : { - "shape" : "GetFindingsStatisticsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Lists Amazon GuardDuty findings' statistics for the specified detector ID." - }, - "GetIPSet" : { - "name" : "GetIPSet", - "http" : { - "method" : "GET", - "requestUri" : "/detector/{detectorId}/ipset/{ipSetId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetIPSetRequest" - }, - "output" : { - "shape" : "GetIPSetResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Retrieves the IPSet specified by the IPSet ID." - }, - "GetInvitationsCount" : { - "name" : "GetInvitationsCount", - "http" : { - "method" : "GET", - "requestUri" : "/invitation/count", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetInvitationsCountRequest" - }, - "output" : { - "shape" : "GetInvitationsCountResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Returns the count of all GuardDuty membership invitations that were sent to the current member account except the currently accepted invitation." - }, - "GetMasterAccount" : { - "name" : "GetMasterAccount", - "http" : { - "method" : "GET", - "requestUri" : "/detector/{detectorId}/master", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetMasterAccountRequest" - }, - "output" : { - "shape" : "GetMasterAccountResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Provides the details for the GuardDuty master account to the current GuardDuty member account." - }, - "GetMembers" : { - "name" : "GetMembers", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/member/get", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetMembersRequest" - }, - "output" : { - "shape" : "GetMembersResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Retrieves GuardDuty member accounts (to the current GuardDuty master account) specified by the account IDs." - }, - "GetThreatIntelSet" : { - "name" : "GetThreatIntelSet", - "http" : { - "method" : "GET", - "requestUri" : "/detector/{detectorId}/threatintelset/{threatIntelSetId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetThreatIntelSetRequest" - }, - "output" : { - "shape" : "GetThreatIntelSetResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Retrieves the ThreatIntelSet that is specified by the ThreatIntelSet ID." - }, - "InviteMembers" : { - "name" : "InviteMembers", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/member/invite", - "responseCode" : 200 - }, - "input" : { - "shape" : "InviteMembersRequest" - }, - "output" : { - "shape" : "InviteMembersResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Invites other AWS accounts (created as members of the current AWS account by CreateMembers) to enable GuardDuty and allow the current AWS account to view and manage these accounts' GuardDuty findings on their behalf as the master account." - }, - "ListDetectors" : { - "name" : "ListDetectors", - "http" : { - "method" : "GET", - "requestUri" : "/detector", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListDetectorsRequest" - }, - "output" : { - "shape" : "ListDetectorsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Lists detectorIds of all the existing Amazon GuardDuty detector resources." - }, - "ListFilters" : { - "name" : "ListFilters", - "http" : { - "method" : "GET", - "requestUri" : "/detector/{detectorId}/filter", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListFiltersRequest" - }, - "output" : { - "shape" : "ListFiltersResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Returns a paginated list of the current filters." - }, - "ListFindings" : { - "name" : "ListFindings", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/findings", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListFindingsRequest" - }, - "output" : { - "shape" : "ListFindingsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Lists Amazon GuardDuty findings for the specified detector ID." - }, - "ListIPSets" : { - "name" : "ListIPSets", - "http" : { - "method" : "GET", - "requestUri" : "/detector/{detectorId}/ipset", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListIPSetsRequest" - }, - "output" : { - "shape" : "ListIPSetsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Lists the IPSets of the GuardDuty service specified by the detector ID." - }, - "ListInvitations" : { - "name" : "ListInvitations", - "http" : { - "method" : "GET", - "requestUri" : "/invitation", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListInvitationsRequest" - }, - "output" : { - "shape" : "ListInvitationsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Lists all GuardDuty membership invitations that were sent to the current AWS account." - }, - "ListMembers" : { - "name" : "ListMembers", - "http" : { - "method" : "GET", - "requestUri" : "/detector/{detectorId}/member", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListMembersRequest" - }, - "output" : { - "shape" : "ListMembersResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Lists details about all member accounts for the current GuardDuty master account." - }, - "ListThreatIntelSets" : { - "name" : "ListThreatIntelSets", - "http" : { - "method" : "GET", - "requestUri" : "/detector/{detectorId}/threatintelset", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListThreatIntelSetsRequest" - }, - "output" : { - "shape" : "ListThreatIntelSetsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Lists the ThreatIntelSets of the GuardDuty service specified by the detector ID." - }, - "StartMonitoringMembers" : { - "name" : "StartMonitoringMembers", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/member/start", - "responseCode" : 200 - }, - "input" : { - "shape" : "StartMonitoringMembersRequest" - }, - "output" : { - "shape" : "StartMonitoringMembersResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Re-enables GuardDuty to monitor findings of the member accounts specified by the account IDs. A master GuardDuty account can run this command after disabling GuardDuty from monitoring these members' findings by running StopMonitoringMembers." - }, - "StopMonitoringMembers" : { - "name" : "StopMonitoringMembers", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/member/stop", - "responseCode" : 200 - }, - "input" : { - "shape" : "StopMonitoringMembersRequest" - }, - "output" : { - "shape" : "StopMonitoringMembersResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Disables GuardDuty from monitoring findings of the member accounts specified by the account IDs. After running this command, a master GuardDuty account can run StartMonitoringMembers to re-enable GuardDuty to monitor these members’ findings." - }, - "UnarchiveFindings" : { - "name" : "UnarchiveFindings", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/findings/unarchive", - "responseCode" : 200 - }, - "input" : { - "shape" : "UnarchiveFindingsRequest" - }, - "output" : { - "shape" : "UnarchiveFindingsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Unarchives Amazon GuardDuty findings specified by the list of finding IDs." - }, - "UpdateDetector" : { - "name" : "UpdateDetector", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateDetectorRequest" - }, - "output" : { - "shape" : "UpdateDetectorResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Updates an Amazon GuardDuty detector specified by the detectorId." - }, - "UpdateFilter" : { - "name" : "UpdateFilter", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/filter/{filterName}", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateFilterRequest" - }, - "output" : { - "shape" : "UpdateFilterResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Updates the filter specified by the filter name." - }, - "UpdateFindingsFeedback" : { - "name" : "UpdateFindingsFeedback", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/findings/feedback", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateFindingsFeedbackRequest" - }, - "output" : { - "shape" : "UpdateFindingsFeedbackResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Marks specified Amazon GuardDuty findings as useful or not useful." - }, - "UpdateIPSet" : { - "name" : "UpdateIPSet", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/ipset/{ipSetId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateIPSetRequest" - }, - "output" : { - "shape" : "UpdateIPSetResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Updates the IPSet specified by the IPSet ID." - }, - "UpdateThreatIntelSet" : { - "name" : "UpdateThreatIntelSet", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/threatintelset/{threatIntelSetId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateThreatIntelSetRequest" - }, - "output" : { - "shape" : "UpdateThreatIntelSetResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Updates the ThreatIntelSet specified by ThreatIntelSet ID." + "operations":{ + "AcceptInvitation":{ + "name":"AcceptInvitation", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/master", + "responseCode":200 + }, + "input":{"shape":"AcceptInvitationRequest"}, + "output":{"shape":"AcceptInvitationResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Accepts the invitation to be monitored by a master GuardDuty account.

" + }, + "ArchiveFindings":{ + "name":"ArchiveFindings", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/findings/archive", + "responseCode":200 + }, + "input":{"shape":"ArchiveFindingsRequest"}, + "output":{"shape":"ArchiveFindingsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Archives Amazon GuardDuty findings specified by the list of finding IDs.

" + }, + "CreateDetector":{ + "name":"CreateDetector", + "http":{ + "method":"POST", + "requestUri":"/detector", + "responseCode":200 + }, + "input":{"shape":"CreateDetectorRequest"}, + "output":{"shape":"CreateDetectorResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Creates a single Amazon GuardDuty detector. A detector is an object that represents the GuardDuty service. A detector must be created in order for GuardDuty to become operational.

" + }, + "CreateFilter":{ + "name":"CreateFilter", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/filter", + "responseCode":200 + }, + "input":{"shape":"CreateFilterRequest"}, + "output":{"shape":"CreateFilterResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Creates a filter using the specified finding criteria.

" + }, + "CreateIPSet":{ + "name":"CreateIPSet", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/ipset", + "responseCode":200 + }, + "input":{"shape":"CreateIPSetRequest"}, + "output":{"shape":"CreateIPSetResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Creates a new IPSet - a list of trusted IP addresses that have been whitelisted for secure communication with AWS infrastructure and applications.

" + }, + "CreateMembers":{ + "name":"CreateMembers", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/member", + "responseCode":200 + }, + "input":{"shape":"CreateMembersRequest"}, + "output":{"shape":"CreateMembersResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Creates member accounts of the current AWS account by specifying a list of AWS account IDs. The current AWS account can then invite these members to manage GuardDuty in their accounts.

" + }, + "CreateSampleFindings":{ + "name":"CreateSampleFindings", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/findings/create", + "responseCode":200 + }, + "input":{"shape":"CreateSampleFindingsRequest"}, + "output":{"shape":"CreateSampleFindingsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Generates example findings of types specified by the list of finding types. If 'NULL' is specified for findingTypes, the API generates example findings of all supported finding types.

" + }, + "CreateThreatIntelSet":{ + "name":"CreateThreatIntelSet", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/threatintelset", + "responseCode":200 + }, + "input":{"shape":"CreateThreatIntelSetRequest"}, + "output":{"shape":"CreateThreatIntelSetResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Create a new ThreatIntelSet. ThreatIntelSets consist of known malicious IP addresses. GuardDuty generates findings based on ThreatIntelSets.

" + }, + "DeclineInvitations":{ + "name":"DeclineInvitations", + "http":{ + "method":"POST", + "requestUri":"/invitation/decline", + "responseCode":200 + }, + "input":{"shape":"DeclineInvitationsRequest"}, + "output":{"shape":"DeclineInvitationsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Declines invitations sent to the current member account by AWS account specified by their account IDs.

" + }, + "DeleteDetector":{ + "name":"DeleteDetector", + "http":{ + "method":"DELETE", + "requestUri":"/detector/{detectorId}", + "responseCode":200 + }, + "input":{"shape":"DeleteDetectorRequest"}, + "output":{"shape":"DeleteDetectorResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Deletes a Amazon GuardDuty detector specified by the detector ID.

" + }, + "DeleteFilter":{ + "name":"DeleteFilter", + "http":{ + "method":"DELETE", + "requestUri":"/detector/{detectorId}/filter/{filterName}", + "responseCode":200 + }, + "input":{"shape":"DeleteFilterRequest"}, + "output":{"shape":"DeleteFilterResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Deletes the filter specified by the filter name.

" + }, + "DeleteIPSet":{ + "name":"DeleteIPSet", + "http":{ + "method":"DELETE", + "requestUri":"/detector/{detectorId}/ipset/{ipSetId}", + "responseCode":200 + }, + "input":{"shape":"DeleteIPSetRequest"}, + "output":{"shape":"DeleteIPSetResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Deletes the IPSet specified by the IPSet ID.

" + }, + "DeleteInvitations":{ + "name":"DeleteInvitations", + "http":{ + "method":"POST", + "requestUri":"/invitation/delete", + "responseCode":200 + }, + "input":{"shape":"DeleteInvitationsRequest"}, + "output":{"shape":"DeleteInvitationsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Deletes invitations sent to the current member account by AWS accounts specified by their account IDs.

" + }, + "DeleteMembers":{ + "name":"DeleteMembers", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/member/delete", + "responseCode":200 + }, + "input":{"shape":"DeleteMembersRequest"}, + "output":{"shape":"DeleteMembersResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Deletes GuardDuty member accounts (to the current GuardDuty master account) specified by the account IDs.

" + }, + "DeleteThreatIntelSet":{ + "name":"DeleteThreatIntelSet", + "http":{ + "method":"DELETE", + "requestUri":"/detector/{detectorId}/threatintelset/{threatIntelSetId}", + "responseCode":200 + }, + "input":{"shape":"DeleteThreatIntelSetRequest"}, + "output":{"shape":"DeleteThreatIntelSetResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Deletes ThreatIntelSet specified by the ThreatIntelSet ID.

" + }, + "DisassociateFromMasterAccount":{ + "name":"DisassociateFromMasterAccount", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/master/disassociate", + "responseCode":200 + }, + "input":{"shape":"DisassociateFromMasterAccountRequest"}, + "output":{"shape":"DisassociateFromMasterAccountResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Disassociates the current GuardDuty member account from its master account.

" + }, + "DisassociateMembers":{ + "name":"DisassociateMembers", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/member/disassociate", + "responseCode":200 + }, + "input":{"shape":"DisassociateMembersRequest"}, + "output":{"shape":"DisassociateMembersResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Disassociates GuardDuty member accounts (to the current GuardDuty master account) specified by the account IDs.

" + }, + "GetDetector":{ + "name":"GetDetector", + "http":{ + "method":"GET", + "requestUri":"/detector/{detectorId}", + "responseCode":200 + }, + "input":{"shape":"GetDetectorRequest"}, + "output":{"shape":"GetDetectorResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Retrieves an Amazon GuardDuty detector specified by the detectorId.

" + }, + "GetFilter":{ + "name":"GetFilter", + "http":{ + "method":"GET", + "requestUri":"/detector/{detectorId}/filter/{filterName}", + "responseCode":200 + }, + "input":{"shape":"GetFilterRequest"}, + "output":{"shape":"GetFilterResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Returns the details of the filter specified by the filter name.

" + }, + "GetFindings":{ + "name":"GetFindings", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/findings/get", + "responseCode":200 + }, + "input":{"shape":"GetFindingsRequest"}, + "output":{"shape":"GetFindingsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Describes Amazon GuardDuty findings specified by finding IDs.

" + }, + "GetFindingsStatistics":{ + "name":"GetFindingsStatistics", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/findings/statistics", + "responseCode":200 + }, + "input":{"shape":"GetFindingsStatisticsRequest"}, + "output":{"shape":"GetFindingsStatisticsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Lists Amazon GuardDuty findings' statistics for the specified detector ID.

" + }, + "GetIPSet":{ + "name":"GetIPSet", + "http":{ + "method":"GET", + "requestUri":"/detector/{detectorId}/ipset/{ipSetId}", + "responseCode":200 + }, + "input":{"shape":"GetIPSetRequest"}, + "output":{"shape":"GetIPSetResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Retrieves the IPSet specified by the IPSet ID.

" + }, + "GetInvitationsCount":{ + "name":"GetInvitationsCount", + "http":{ + "method":"GET", + "requestUri":"/invitation/count", + "responseCode":200 + }, + "input":{"shape":"GetInvitationsCountRequest"}, + "output":{"shape":"GetInvitationsCountResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Returns the count of all GuardDuty membership invitations that were sent to the current member account except the currently accepted invitation.

" + }, + "GetMasterAccount":{ + "name":"GetMasterAccount", + "http":{ + "method":"GET", + "requestUri":"/detector/{detectorId}/master", + "responseCode":200 + }, + "input":{"shape":"GetMasterAccountRequest"}, + "output":{"shape":"GetMasterAccountResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Provides the details for the GuardDuty master account to the current GuardDuty member account.

" + }, + "GetMembers":{ + "name":"GetMembers", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/member/get", + "responseCode":200 + }, + "input":{"shape":"GetMembersRequest"}, + "output":{"shape":"GetMembersResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Retrieves GuardDuty member accounts (to the current GuardDuty master account) specified by the account IDs.

" + }, + "GetThreatIntelSet":{ + "name":"GetThreatIntelSet", + "http":{ + "method":"GET", + "requestUri":"/detector/{detectorId}/threatintelset/{threatIntelSetId}", + "responseCode":200 + }, + "input":{"shape":"GetThreatIntelSetRequest"}, + "output":{"shape":"GetThreatIntelSetResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Retrieves the ThreatIntelSet that is specified by the ThreatIntelSet ID.

" + }, + "InviteMembers":{ + "name":"InviteMembers", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/member/invite", + "responseCode":200 + }, + "input":{"shape":"InviteMembersRequest"}, + "output":{"shape":"InviteMembersResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Invites other AWS accounts (created as members of the current AWS account by CreateMembers) to enable GuardDuty and allow the current AWS account to view and manage these accounts' GuardDuty findings on their behalf as the master account.

" + }, + "ListDetectors":{ + "name":"ListDetectors", + "http":{ + "method":"GET", + "requestUri":"/detector", + "responseCode":200 + }, + "input":{"shape":"ListDetectorsRequest"}, + "output":{"shape":"ListDetectorsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Lists detectorIds of all the existing Amazon GuardDuty detector resources.

" + }, + "ListFilters":{ + "name":"ListFilters", + "http":{ + "method":"GET", + "requestUri":"/detector/{detectorId}/filter", + "responseCode":200 + }, + "input":{"shape":"ListFiltersRequest"}, + "output":{"shape":"ListFiltersResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Returns a paginated list of the current filters.

" + }, + "ListFindings":{ + "name":"ListFindings", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/findings", + "responseCode":200 + }, + "input":{"shape":"ListFindingsRequest"}, + "output":{"shape":"ListFindingsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Lists Amazon GuardDuty findings for the specified detector ID.

" + }, + "ListIPSets":{ + "name":"ListIPSets", + "http":{ + "method":"GET", + "requestUri":"/detector/{detectorId}/ipset", + "responseCode":200 + }, + "input":{"shape":"ListIPSetsRequest"}, + "output":{"shape":"ListIPSetsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Lists the IPSets of the GuardDuty service specified by the detector ID.

" + }, + "ListInvitations":{ + "name":"ListInvitations", + "http":{ + "method":"GET", + "requestUri":"/invitation", + "responseCode":200 + }, + "input":{"shape":"ListInvitationsRequest"}, + "output":{"shape":"ListInvitationsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Lists all GuardDuty membership invitations that were sent to the current AWS account.

" + }, + "ListMembers":{ + "name":"ListMembers", + "http":{ + "method":"GET", + "requestUri":"/detector/{detectorId}/member", + "responseCode":200 + }, + "input":{"shape":"ListMembersRequest"}, + "output":{"shape":"ListMembersResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Lists details about all member accounts for the current GuardDuty master account.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Lists tags for a resource. Tagging is currently supported for detectors, finding filters, IP sets, and Threat Intel sets, with a limit of 50 tags per resource. When invoked, this operation returns all assigned tags for a given resource..

" + }, + "ListThreatIntelSets":{ + "name":"ListThreatIntelSets", + "http":{ + "method":"GET", + "requestUri":"/detector/{detectorId}/threatintelset", + "responseCode":200 + }, + "input":{"shape":"ListThreatIntelSetsRequest"}, + "output":{"shape":"ListThreatIntelSetsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Lists the ThreatIntelSets of the GuardDuty service specified by the detector ID.

" + }, + "StartMonitoringMembers":{ + "name":"StartMonitoringMembers", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/member/start", + "responseCode":200 + }, + "input":{"shape":"StartMonitoringMembersRequest"}, + "output":{"shape":"StartMonitoringMembersResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Re-enables GuardDuty to monitor findings of the member accounts specified by the account IDs. A master GuardDuty account can run this command after disabling GuardDuty from monitoring these members' findings by running StopMonitoringMembers.

" + }, + "StopMonitoringMembers":{ + "name":"StopMonitoringMembers", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/member/stop", + "responseCode":200 + }, + "input":{"shape":"StopMonitoringMembersRequest"}, + "output":{"shape":"StopMonitoringMembersResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Disables GuardDuty from monitoring findings of the member accounts specified by the account IDs. After running this command, a master GuardDuty account can run StartMonitoringMembers to re-enable GuardDuty to monitor these members’ findings.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}", + "responseCode":204 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Adds tags to a resource.

" + }, + "UnarchiveFindings":{ + "name":"UnarchiveFindings", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/findings/unarchive", + "responseCode":200 + }, + "input":{"shape":"UnarchiveFindingsRequest"}, + "output":{"shape":"UnarchiveFindingsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Unarchives Amazon GuardDuty findings specified by the list of finding IDs.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}", + "responseCode":204 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Removes tags from a resource.

" + }, + "UpdateDetector":{ + "name":"UpdateDetector", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}", + "responseCode":200 + }, + "input":{"shape":"UpdateDetectorRequest"}, + "output":{"shape":"UpdateDetectorResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Updates an Amazon GuardDuty detector specified by the detectorId.

" + }, + "UpdateFilter":{ + "name":"UpdateFilter", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/filter/{filterName}", + "responseCode":200 + }, + "input":{"shape":"UpdateFilterRequest"}, + "output":{"shape":"UpdateFilterResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Updates the filter specified by the filter name.

" + }, + "UpdateFindingsFeedback":{ + "name":"UpdateFindingsFeedback", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/findings/feedback", + "responseCode":200 + }, + "input":{"shape":"UpdateFindingsFeedbackRequest"}, + "output":{"shape":"UpdateFindingsFeedbackResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Marks specified Amazon GuardDuty findings as useful or not useful.

" + }, + "UpdateIPSet":{ + "name":"UpdateIPSet", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/ipset/{ipSetId}", + "responseCode":200 + }, + "input":{"shape":"UpdateIPSetRequest"}, + "output":{"shape":"UpdateIPSetResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Updates the IPSet specified by the IPSet ID.

" + }, + "UpdateThreatIntelSet":{ + "name":"UpdateThreatIntelSet", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/threatintelset/{threatIntelSetId}", + "responseCode":200 + }, + "input":{"shape":"UpdateThreatIntelSetRequest"}, + "output":{"shape":"UpdateThreatIntelSetResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Updates the ThreatIntelSet specified by ThreatIntelSet ID.

" } }, - "shapes" : { - "AcceptInvitationRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector of the GuardDuty member account." - }, - "InvitationId" : { - "shape" : "InvitationId", - "locationName" : "invitationId", - "documentation" : "This value is used to validate the master account to the member account." - }, - "MasterId" : { - "shape" : "MasterId", - "locationName" : "masterId", - "documentation" : "The account ID of the master GuardDuty account whose invitation you're accepting." + "shapes":{ + "AcceptInvitationRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "MasterId", + "InvitationId" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector of the GuardDuty member account.

", + "location":"uri", + "locationName":"detectorId" + }, + "MasterId":{ + "shape":"String", + "documentation":"

The account ID of the master GuardDuty account whose invitation you're accepting.

", + "locationName":"masterId" + }, + "InvitationId":{ + "shape":"String", + "documentation":"

This value is used to validate the master account to the member account.

", + "locationName":"invitationId" } - }, - "documentation" : "AcceptInvitation request body.", - "required" : [ "DetectorId", "MasterId", "InvitationId" ] - }, - "AcceptInvitationResponse" : { - "type" : "structure", - "members" : { } - }, - "AccessKeyDetails" : { - "type" : "structure", - "members" : { - "AccessKeyId" : { - "shape" : "__string", - "locationName" : "accessKeyId", - "documentation" : "Access key ID of the user." - }, - "PrincipalId" : { - "shape" : "__string", - "locationName" : "principalId", - "documentation" : "The principal ID of the user." - }, - "UserName" : { - "shape" : "__string", - "locationName" : "userName", - "documentation" : "The name of the user." - }, - "UserType" : { - "shape" : "__string", - "locationName" : "userType", - "documentation" : "The type of the user." - } - }, - "documentation" : "The IAM access key details (IAM user information) of a user that engaged in the activity that prompted GuardDuty to generate a finding." + } }, - "AccountDetail" : { - "type" : "structure", - "members" : { - "AccountId" : { - "shape" : "AccountId", - "locationName" : "accountId", - "documentation" : "Member account ID." - }, - "Email" : { - "shape" : "Email", - "locationName" : "email", - "documentation" : "Member account's email address." + "AcceptInvitationResponse":{ + "type":"structure", + "members":{ + } + }, + "AccessKeyDetails":{ + "type":"structure", + "members":{ + "AccessKeyId":{ + "shape":"String", + "documentation":"

Access key ID of the user.

", + "locationName":"accessKeyId" + }, + "PrincipalId":{ + "shape":"String", + "documentation":"

The principal ID of the user.

", + "locationName":"principalId" + }, + "UserName":{ + "shape":"String", + "documentation":"

The name of the user.

", + "locationName":"userName" + }, + "UserType":{ + "shape":"String", + "documentation":"

The type of the user.

", + "locationName":"userType" } - }, - "documentation" : "An object containing the member's accountId and email address.", - "required" : [ "Email", "AccountId" ] - }, - "AccountDetails" : { - "type" : "list", - "documentation" : "A list of account/email pairs.", - "member" : { - "shape" : "AccountDetail" - } - }, - "AccountId" : { - "type" : "string", - "documentation" : "AWS account ID." - }, - "AccountIds" : { - "type" : "list", - "documentation" : "A list of account IDs.", - "member" : { - "shape" : "__string" - } - }, - "Action" : { - "type" : "structure", - "members" : { - "ActionType" : { - "shape" : "__string", - "locationName" : "actionType", - "documentation" : "GuardDuty Finding activity type." - }, - "AwsApiCallAction" : { - "shape" : "AwsApiCallAction", - "locationName" : "awsApiCallAction", - "documentation" : "Information about the AWS_API_CALL action described in this finding." - }, - "DnsRequestAction" : { - "shape" : "DnsRequestAction", - "locationName" : "dnsRequestAction", - "documentation" : "Information about the DNS_REQUEST action described in this finding." - }, - "NetworkConnectionAction" : { - "shape" : "NetworkConnectionAction", - "locationName" : "networkConnectionAction", - "documentation" : "Information about the NETWORK_CONNECTION action described in this finding." - }, - "PortProbeAction" : { - "shape" : "PortProbeAction", - "locationName" : "portProbeAction", - "documentation" : "Information about the PORT_PROBE action described in this finding." + } + }, + "AccountDetail":{ + "type":"structure", + "required":[ + "AccountId", + "Email" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

Member account ID.

", + "locationName":"accountId" + }, + "Email":{ + "shape":"Email", + "documentation":"

Member account's email address.

", + "locationName":"email" } - }, - "documentation" : "Information about the activity described in a finding." - }, - "Activate" : { - "type" : "boolean", - "documentation" : "Whether we should start processing the list immediately or not." - }, - "ArchiveFindingsRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The ID of the detector that specifies the GuardDuty service whose findings you want to archive." - }, - "FindingIds" : { - "shape" : "FindingIds", - "locationName" : "findingIds", - "documentation" : "IDs of the findings that you want to archive." + } + }, + "AccountDetails":{ + "type":"list", + "member":{"shape":"AccountDetail"}, + "max":50, + "min":1 + }, + "AccountId":{ + "type":"string", + "max":12, + "min":12 + }, + "AccountIds":{ + "type":"list", + "member":{"shape":"AccountId"}, + "max":50, + "min":1 + }, + "Action":{ + "type":"structure", + "members":{ + "ActionType":{ + "shape":"String", + "documentation":"

GuardDuty Finding activity type.

", + "locationName":"actionType" + }, + "AwsApiCallAction":{ + "shape":"AwsApiCallAction", + "documentation":"

Information about the AWS_API_CALL action described in this finding.

", + "locationName":"awsApiCallAction" + }, + "DnsRequestAction":{ + "shape":"DnsRequestAction", + "documentation":"

Information about the DNS_REQUEST action described in this finding.

", + "locationName":"dnsRequestAction" + }, + "NetworkConnectionAction":{ + "shape":"NetworkConnectionAction", + "documentation":"

Information about the NETWORK_CONNECTION action described in this finding.

", + "locationName":"networkConnectionAction" + }, + "PortProbeAction":{ + "shape":"PortProbeAction", + "documentation":"

Information about the PORT_PROBE action described in this finding.

", + "locationName":"portProbeAction" } - }, - "documentation" : "ArchiveFindings request body.", - "required" : [ "DetectorId", "FindingIds" ] - }, - "ArchiveFindingsResponse" : { - "type" : "structure", - "members" : { } - }, - "AwsApiCallAction" : { - "type" : "structure", - "members" : { - "Api" : { - "shape" : "__string", - "locationName" : "api", - "documentation" : "AWS API name." - }, - "CallerType" : { - "shape" : "__string", - "locationName" : "callerType", - "documentation" : "AWS API caller type." - }, - "DomainDetails" : { - "shape" : "DomainDetails", - "locationName" : "domainDetails", - "documentation" : "Domain information for the AWS API call." - }, - "RemoteIpDetails" : { - "shape" : "RemoteIpDetails", - "locationName" : "remoteIpDetails", - "documentation" : "Remote IP information of the connection." - }, - "ServiceName" : { - "shape" : "__string", - "locationName" : "serviceName", - "documentation" : "AWS service name whose API was invoked." + } + }, + "ArchiveFindingsRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "FindingIds" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The ID of the detector that specifies the GuardDuty service whose findings you want to archive.

", + "location":"uri", + "locationName":"detectorId" + }, + "FindingIds":{ + "shape":"FindingIds", + "documentation":"

IDs of the findings that you want to archive.

", + "locationName":"findingIds" } - }, - "documentation" : "Information about the AWS_API_CALL action described in this finding." + } }, - "BadRequestException" : { - "type" : "structure", - "members" : { - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "The error message." - }, - "Type" : { - "shape" : "__string", - "locationName" : "__type", - "documentation" : "The error type." + "ArchiveFindingsResponse":{ + "type":"structure", + "members":{ + } + }, + "AwsApiCallAction":{ + "type":"structure", + "members":{ + "Api":{ + "shape":"String", + "documentation":"

AWS API name.

", + "locationName":"api" + }, + "CallerType":{ + "shape":"String", + "documentation":"

AWS API caller type.

", + "locationName":"callerType" + }, + "DomainDetails":{ + "shape":"DomainDetails", + "documentation":"

Domain information for the AWS API call.

", + "locationName":"domainDetails" + }, + "RemoteIpDetails":{ + "shape":"RemoteIpDetails", + "documentation":"

Remote IP information of the connection.

", + "locationName":"remoteIpDetails" + }, + "ServiceName":{ + "shape":"String", + "documentation":"

AWS service name whose API was invoked.

", + "locationName":"serviceName" } - }, - "documentation" : "Error response object.", - "exception" : true, - "error" : { - "httpStatusCode" : 400 } }, - "City" : { - "type" : "structure", - "members" : { - "CityName" : { - "shape" : "__string", - "locationName" : "cityName", - "documentation" : "City name of the remote IP address." + "BadRequestException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"String", + "documentation":"

The error message.

", + "locationName":"message" + }, + "Type":{ + "shape":"String", + "documentation":"

The error type.

", + "locationName":"__type" + } + }, + "documentation":"

Bad request exception object.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Boolean":{"type":"boolean"}, + "City":{ + "type":"structure", + "members":{ + "CityName":{ + "shape":"String", + "documentation":"

City name of the remote IP address.

", + "locationName":"cityName" } - }, - "documentation" : "City information of the remote IP address." - }, - "Comments" : { - "type" : "string", - "documentation" : "Additional feedback about the GuardDuty findings." - }, - "Condition" : { - "type" : "structure", - "members" : { - "Eq" : { - "shape" : "Eq", - "locationName" : "eq", - "documentation" : "Represents the equal condition to be applied to a single field when querying for findings." - }, - "Gt" : { - "shape" : "__integer", - "locationName" : "gt", - "documentation" : "Represents the greater than condition to be applied to a single field when querying for findings." - }, - "Gte" : { - "shape" : "__integer", - "locationName" : "gte", - "documentation" : "Represents the greater than equal condition to be applied to a single field when querying for findings." - }, - "Lt" : { - "shape" : "__integer", - "locationName" : "lt", - "documentation" : "Represents the less than condition to be applied to a single field when querying for findings." - }, - "Lte" : { - "shape" : "__integer", - "locationName" : "lte", - "documentation" : "Represents the less than equal condition to be applied to a single field when querying for findings." - }, - "Neq" : { - "shape" : "Neq", - "locationName" : "neq", - "documentation" : "Represents the not equal condition to be applied to a single field when querying for findings." + } + }, + "ClientToken":{ + "type":"string", + "max":64, + "min":0 + }, + "Condition":{ + "type":"structure", + "members":{ + "Eq":{ + "shape":"Eq", + "documentation":"

Represents the equal condition to be applied to a single field when querying for findings.

", + "deprecated":true, + "locationName":"eq" + }, + "Neq":{ + "shape":"Neq", + "documentation":"

Represents the not equal condition to be applied to a single field when querying for findings.

", + "deprecated":true, + "locationName":"neq" + }, + "Gt":{ + "shape":"Integer", + "documentation":"

Represents a greater than condition to be applied to a single field when querying for findings.

", + "deprecated":true, + "locationName":"gt" + }, + "Gte":{ + "shape":"Integer", + "documentation":"

Represents a greater than equal condition to be applied to a single field when querying for findings.

", + "deprecated":true, + "locationName":"gte" + }, + "Lt":{ + "shape":"Integer", + "documentation":"

Represents a less than condition to be applied to a single field when querying for findings.

", + "deprecated":true, + "locationName":"lt" + }, + "Lte":{ + "shape":"Integer", + "documentation":"

Represents a less than equal condition to be applied to a single field when querying for findings.

", + "deprecated":true, + "locationName":"lte" + }, + "Equals":{ + "shape":"Equals", + "locationName":"equals" + }, + "NotEquals":{ + "shape":"NotEquals", + "locationName":"notEquals" + }, + "GreaterThan":{ + "shape":"Long", + "documentation":"

Represents a greater than condition to be applied to a single field when querying for findings.

", + "locationName":"greaterThan" + }, + "GreaterThanOrEqual":{ + "shape":"Long", + "documentation":"

Represents a greater than equal condition to be applied to a single field when querying for findings.

", + "locationName":"greaterThanOrEqual" + }, + "LessThan":{ + "shape":"Long", + "documentation":"

Represents a less than condition to be applied to a single field when querying for findings.

", + "locationName":"lessThan" + }, + "LessThanOrEqual":{ + "shape":"Long", + "documentation":"

Represents a less than equal condition to be applied to a single field when querying for findings.

", + "locationName":"lessThanOrEqual" } - }, - "documentation" : "Finding attribute (for example, accountId) for which conditions and values must be specified when querying findings." + } }, - "CountBySeverityFindingStatistic" : { - "type" : "integer", - "documentation" : "The count of findings for the given severity." + "CountBySeverity":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"Integer"} }, - "Country" : { - "type" : "structure", - "members" : { - "CountryCode" : { - "shape" : "__string", - "locationName" : "countryCode", - "documentation" : "Country code of the remote IP address." + "Country":{ + "type":"structure", + "members":{ + "CountryCode":{ + "shape":"String", + "documentation":"

Country code of the remote IP address.

", + "locationName":"countryCode" }, - "CountryName" : { - "shape" : "__string", - "locationName" : "countryName", - "documentation" : "Country name of the remote IP address." + "CountryName":{ + "shape":"String", + "documentation":"

Country name of the remote IP address.

", + "locationName":"countryName" } - }, - "documentation" : "Country information of the remote IP address." - }, - "CreateDetectorRequest" : { - "type" : "structure", - "members" : { - "ClientToken" : { - "shape" : "__stringMin0Max64", - "locationName" : "clientToken", - "documentation" : "The idempotency token for the create request.", - "idempotencyToken" : true - }, - "Enable" : { - "shape" : "Enable", - "locationName" : "enable", - "documentation" : "A boolean value that specifies whether the detector is to be enabled." - }, - "FindingPublishingFrequency" : { - "shape" : "FindingPublishingFrequency", - "locationName" : "findingPublishingFrequency", - "documentation" : "A enum value that specifies how frequently customer got Finding updates published." + } + }, + "CreateDetectorRequest":{ + "type":"structure", + "required":["Enable"], + "members":{ + "Enable":{ + "shape":"Boolean", + "documentation":"

A boolean value that specifies whether the detector is to be enabled.

", + "locationName":"enable" + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token for the create request.

", + "idempotencyToken":true, + "locationName":"clientToken" + }, + "FindingPublishingFrequency":{ + "shape":"FindingPublishingFrequency", + "documentation":"

A enum value that specifies how frequently customer got Finding updates published.

", + "locationName":"findingPublishingFrequency" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

The tags to be added to a new detector resource.

", + "locationName":"tags" } - }, - "documentation" : "CreateDetector request body.", - "required" : [ "Enable" ] - }, - "CreateDetectorResponse" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "DetectorId", - "locationName" : "detectorId", - "documentation" : "The unique ID of the created detector." - } - } - }, - "CreateFilterRequest" : { - "type" : "structure", - "members" : { - "Action" : { - "shape" : "FilterAction", - "locationName" : "action", - "documentation" : "Specifies the action that is to be applied to the findings that match the filter." - }, - "ClientToken" : { - "shape" : "__stringMin0Max64", - "locationName" : "clientToken", - "documentation" : "The idempotency token for the create request.", - "idempotencyToken" : true - }, - "Description" : { - "shape" : "FilterDescription", - "locationName" : "description", - "documentation" : "The description of the filter." - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector that you want to update." - }, - "FindingCriteria" : { - "shape" : "FindingCriteria", - "locationName" : "findingCriteria", - "documentation" : "Represents the criteria to be used in the filter for querying findings." - }, - "Name" : { - "shape" : "FilterName", - "locationName" : "name", - "documentation" : "The name of the filter." - }, - "Rank" : { - "shape" : "FilterRank", - "locationName" : "rank", - "documentation" : "Specifies the position of the filter in the list of current filters. Also specifies the order in which this filter is applied to the findings." + } + }, + "CreateDetectorResponse":{ + "type":"structure", + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the created detector.

", + "locationName":"detectorId" } - }, - "documentation" : "CreateFilterRequest request body.", - "required" : [ "DetectorId", "FindingCriteria", "Name" ] - }, - "CreateFilterResponse" : { - "type" : "structure", - "members" : { - "Name" : { - "shape" : "FilterName", - "locationName" : "name", - "documentation" : "The name of the successfully created filter." - } - } - }, - "CreateIPSetRequest" : { - "type" : "structure", - "members" : { - "Activate" : { - "shape" : "Activate", - "locationName" : "activate", - "documentation" : "A boolean value that indicates whether GuardDuty is to start using the uploaded IPSet." - }, - "ClientToken" : { - "shape" : "__stringMin0Max64", - "locationName" : "clientToken", - "documentation" : "The idempotency token for the create request.", - "idempotencyToken" : true - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector that you want to update." - }, - "Format" : { - "shape" : "IpSetFormat", - "locationName" : "format", - "documentation" : "The format of the file that contains the IPSet." - }, - "Location" : { - "shape" : "Location", - "locationName" : "location", - "documentation" : "The URI of the file that contains the IPSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key)" - }, - "Name" : { - "shape" : "Name", - "locationName" : "name", - "documentation" : "The user friendly name to identify the IPSet. This name is displayed in all findings that are triggered by activity that involves IP addresses included in this IPSet." + } + }, + "CreateFilterRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "Name", + "FindingCriteria" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector of the GuardDuty account for which you want to create a filter.

", + "location":"uri", + "locationName":"detectorId" + }, + "Name":{ + "shape":"FilterName", + "documentation":"

The name of the filter.

", + "locationName":"name" + }, + "Description":{ + "shape":"FilterDescription", + "documentation":"

The description of the filter.

", + "locationName":"description" + }, + "Action":{ + "shape":"FilterAction", + "documentation":"

Specifies the action that is to be applied to the findings that match the filter.

", + "locationName":"action" + }, + "Rank":{ + "shape":"FilterRank", + "documentation":"

Specifies the position of the filter in the list of current filters. Also specifies the order in which this filter is applied to the findings.

", + "locationName":"rank" + }, + "FindingCriteria":{ + "shape":"FindingCriteria", + "documentation":"

Represents the criteria to be used in the filter for querying findings.

", + "locationName":"findingCriteria" + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token for the create request.

", + "idempotencyToken":true, + "locationName":"clientToken" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

The tags to be added to a new filter resource.

", + "locationName":"tags" } - }, - "documentation" : "CreateIPSet request body.", - "required" : [ "DetectorId", "Format", "Activate", "Location", "Name" ] + } }, - "CreateIPSetResponse" : { - "type" : "structure", - "members" : { - "IpSetId" : { - "shape" : "IpSetId", - "locationName" : "ipSetId" + "CreateFilterResponse":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"FilterName", + "documentation":"

The name of the successfully created filter.

", + "locationName":"name" } } }, - "CreateMembersRequest" : { - "type" : "structure", - "members" : { - "AccountDetails" : { - "shape" : "AccountDetails", - "locationName" : "accountDetails", - "documentation" : "A list of account ID and email address pairs of the accounts that you want to associate with the master GuardDuty account." - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector of the GuardDuty account with which you want to associate member accounts." + "CreateIPSetRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "Name", + "Format", + "Location", + "Activate" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector of the GuardDuty account for which you want to create an IPSet.

", + "location":"uri", + "locationName":"detectorId" + }, + "Name":{ + "shape":"Name", + "documentation":"

The user friendly name to identify the IPSet. This name is displayed in all findings that are triggered by activity that involves IP addresses included in this IPSet.

", + "locationName":"name" + }, + "Format":{ + "shape":"IpSetFormat", + "documentation":"

The format of the file that contains the IPSet.

", + "locationName":"format" + }, + "Location":{ + "shape":"Location", + "documentation":"

The URI of the file that contains the IPSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key)

", + "locationName":"location" + }, + "Activate":{ + "shape":"Boolean", + "documentation":"

A boolean value that indicates whether GuardDuty is to start using the uploaded IPSet.

", + "locationName":"activate" + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token for the create request.

", + "idempotencyToken":true, + "locationName":"clientToken" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

The tags to be added to a new IP set resource.

", + "locationName":"tags" } - }, - "documentation" : "CreateMembers request body.", - "required" : [ "DetectorId", "AccountDetails" ] + } }, - "CreateMembersResponse" : { - "type" : "structure", - "members" : { - "UnprocessedAccounts" : { - "shape" : "UnprocessedAccounts", - "locationName" : "unprocessedAccounts", - "documentation" : "A list of objects containing the unprocessed account and a result string explaining why it was unprocessed." + "CreateIPSetResponse":{ + "type":"structure", + "required":["IpSetId"], + "members":{ + "IpSetId":{ + "shape":"String", + "documentation":"

The ID of the IPSet resource.

", + "locationName":"ipSetId" } } }, - "CreateSampleFindingsRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The ID of the detector to create sample findings for." - }, - "FindingTypes" : { - "shape" : "FindingTypes", - "locationName" : "findingTypes", - "documentation" : "Types of sample findings that you want to generate." + "CreateMembersRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "AccountDetails" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector of the GuardDuty account with which you want to associate member accounts.

", + "location":"uri", + "locationName":"detectorId" + }, + "AccountDetails":{ + "shape":"AccountDetails", + "documentation":"

A list of account ID and email address pairs of the accounts that you want to associate with the master GuardDuty account.

", + "locationName":"accountDetails" } - }, - "documentation" : "CreateSampleFindings request body.", - "required" : [ "DetectorId" ] - }, - "CreateSampleFindingsResponse" : { - "type" : "structure", - "members" : { } - }, - "CreateThreatIntelSetRequest" : { - "type" : "structure", - "members" : { - "Activate" : { - "shape" : "Activate", - "locationName" : "activate", - "documentation" : "A boolean value that indicates whether GuardDuty is to start using the uploaded ThreatIntelSet." - }, - "ClientToken" : { - "shape" : "__stringMin0Max64", - "locationName" : "clientToken", - "documentation" : "The idempotency token for the create request.", - "idempotencyToken" : true - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector that you want to update." - }, - "Format" : { - "shape" : "ThreatIntelSetFormat", - "locationName" : "format", - "documentation" : "The format of the file that contains the ThreatIntelSet." - }, - "Location" : { - "shape" : "Location", - "locationName" : "location", - "documentation" : "The URI of the file that contains the ThreatIntelSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key)." - }, - "Name" : { - "shape" : "Name", - "locationName" : "name", - "documentation" : "A user-friendly ThreatIntelSet name that is displayed in all finding generated by activity that involves IP addresses included in this ThreatIntelSet." + } + }, + "CreateMembersResponse":{ + "type":"structure", + "required":["UnprocessedAccounts"], + "members":{ + "UnprocessedAccounts":{ + "shape":"UnprocessedAccounts", + "documentation":"

A list of objects containing the unprocessed account and a result string explaining why it was unprocessed.

", + "locationName":"unprocessedAccounts" } - }, - "documentation" : "CreateThreatIntelSet request body.", - "required" : [ "DetectorId", "Format", "Activate", "Location", "Name" ] + } }, - "CreateThreatIntelSetResponse" : { - "type" : "structure", - "members" : { - "ThreatIntelSetId" : { - "shape" : "ThreatIntelSetId", - "locationName" : "threatIntelSetId" + "CreateSampleFindingsRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The ID of the detector to create sample findings for.

", + "location":"uri", + "locationName":"detectorId" + }, + "FindingTypes":{ + "shape":"FindingTypes", + "documentation":"

Types of sample findings that you want to generate.

", + "locationName":"findingTypes" } } }, - "CreatedAt" : { - "type" : "string", - "documentation" : "The first time a resource was created. The format will be ISO-8601." + "CreateSampleFindingsResponse":{ + "type":"structure", + "members":{ + } }, - "DeclineInvitationsRequest" : { - "type" : "structure", - "members" : { - "AccountIds" : { - "shape" : "AccountIds", - "locationName" : "accountIds", - "documentation" : "A list of account IDs of the AWS accounts that sent invitations to the current member account that you want to decline invitations from." + "CreateThreatIntelSetRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "Name", + "Format", + "Location", + "Activate" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector of the GuardDuty account for which you want to create a threatIntelSet.

", + "location":"uri", + "locationName":"detectorId" + }, + "Name":{ + "shape":"Name", + "documentation":"

A user-friendly ThreatIntelSet name that is displayed in all finding generated by activity that involves IP addresses included in this ThreatIntelSet.

", + "locationName":"name" + }, + "Format":{ + "shape":"ThreatIntelSetFormat", + "documentation":"

The format of the file that contains the ThreatIntelSet.

", + "locationName":"format" + }, + "Location":{ + "shape":"Location", + "documentation":"

The URI of the file that contains the ThreatIntelSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key).

", + "locationName":"location" + }, + "Activate":{ + "shape":"Boolean", + "documentation":"

A boolean value that indicates whether GuardDuty is to start using the uploaded ThreatIntelSet.

", + "locationName":"activate" + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token for the create request.

", + "idempotencyToken":true, + "locationName":"clientToken" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

The tags to be added to a new Threat List resource.

", + "locationName":"tags" } - }, - "documentation" : "DeclineInvitations request body.", - "required" : [ "AccountIds" ] + } }, - "DeclineInvitationsResponse" : { - "type" : "structure", - "members" : { - "UnprocessedAccounts" : { - "shape" : "UnprocessedAccounts", - "locationName" : "unprocessedAccounts", - "documentation" : "A list of objects containing the unprocessed account and a result string explaining why it was unprocessed." + "CreateThreatIntelSetResponse":{ + "type":"structure", + "required":["ThreatIntelSetId"], + "members":{ + "ThreatIntelSetId":{ + "shape":"String", + "documentation":"

The ID of the ThreatIntelSet resource.

", + "locationName":"threatIntelSetId" } } }, - "DeleteDetectorRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID that specifies the detector that you want to delete." + "Criterion":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"Condition"} + }, + "DeclineInvitationsRequest":{ + "type":"structure", + "required":["AccountIds"], + "members":{ + "AccountIds":{ + "shape":"AccountIds", + "documentation":"

A list of account IDs of the AWS accounts that sent invitations to the current member account that you want to decline invitations from.

", + "locationName":"accountIds" } - }, - "required" : [ "DetectorId" ] - }, - "DeleteDetectorResponse" : { - "type" : "structure", - "members" : { } - }, - "DeleteFilterRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID that specifies the detector where you want to delete a filter." - }, - "FilterName" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "filterName", - "documentation" : "The name of the filter." + } + }, + "DeclineInvitationsResponse":{ + "type":"structure", + "required":["UnprocessedAccounts"], + "members":{ + "UnprocessedAccounts":{ + "shape":"UnprocessedAccounts", + "documentation":"

A list of objects containing the unprocessed account and a result string explaining why it was unprocessed.

", + "locationName":"unprocessedAccounts" } - }, - "required" : [ "DetectorId", "FilterName" ] - }, - "DeleteFilterResponse" : { - "type" : "structure", - "members" : { } - }, - "DeleteIPSetRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The detectorID that specifies the GuardDuty service whose IPSet you want to delete." - }, - "IpSetId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "ipSetId", - "documentation" : "The unique ID that specifies the IPSet that you want to delete." + } + }, + "DeleteDetectorRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector that you want to delete.

", + "location":"uri", + "locationName":"detectorId" } - }, - "required" : [ "DetectorId", "IpSetId" ] + } }, - "DeleteIPSetResponse" : { - "type" : "structure", - "members" : { } + "DeleteDetectorResponse":{ + "type":"structure", + "members":{ + } }, - "DeleteInvitationsRequest" : { - "type" : "structure", - "members" : { - "AccountIds" : { - "shape" : "AccountIds", - "locationName" : "accountIds", - "documentation" : "A list of account IDs of the AWS accounts that sent invitations to the current member account that you want to delete invitations from." + "DeleteFilterRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "FilterName" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector the filter is associated with.

", + "location":"uri", + "locationName":"detectorId" + }, + "FilterName":{ + "shape":"String", + "documentation":"

The name of the filter you want to delete.

", + "location":"uri", + "locationName":"filterName" } - }, - "documentation" : "DeleteInvitations request body.", - "required" : [ "AccountIds" ] + } }, - "DeleteInvitationsResponse" : { - "type" : "structure", - "members" : { - "UnprocessedAccounts" : { - "shape" : "UnprocessedAccounts", - "locationName" : "unprocessedAccounts", - "documentation" : "A list of objects containing the unprocessed account and a result string explaining why it was unprocessed." + "DeleteFilterResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteIPSetRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "IpSetId" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector the ipSet is associated with.

", + "location":"uri", + "locationName":"detectorId" + }, + "IpSetId":{ + "shape":"String", + "documentation":"

The unique ID of the ipSet you want to delete.

", + "location":"uri", + "locationName":"ipSetId" } } }, - "DeleteMembersRequest" : { - "type" : "structure", - "members" : { - "AccountIds" : { - "shape" : "AccountIds", - "locationName" : "accountIds", - "documentation" : "A list of account IDs of the GuardDuty member accounts that you want to delete." - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector of the GuardDuty account whose members you want to delete." + "DeleteIPSetResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteInvitationsRequest":{ + "type":"structure", + "required":["AccountIds"], + "members":{ + "AccountIds":{ + "shape":"AccountIds", + "documentation":"

A list of account IDs of the AWS accounts that sent invitations to the current member account that you want to delete invitations from.

", + "locationName":"accountIds" } - }, - "documentation" : "DeleteMembers request body.", - "required" : [ "DetectorId", "AccountIds" ] - }, - "DeleteMembersResponse" : { - "type" : "structure", - "members" : { - "UnprocessedAccounts" : { - "shape" : "UnprocessedAccounts", - "locationName" : "unprocessedAccounts", - "documentation" : "A list of objects containing the unprocessed account and a result string explaining why it was unprocessed." - } - } - }, - "DeleteThreatIntelSetRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The detectorID that specifies the GuardDuty service whose ThreatIntelSet you want to delete." - }, - "ThreatIntelSetId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "threatIntelSetId", - "documentation" : "The unique ID that specifies the ThreatIntelSet that you want to delete." + } + }, + "DeleteInvitationsResponse":{ + "type":"structure", + "required":["UnprocessedAccounts"], + "members":{ + "UnprocessedAccounts":{ + "shape":"UnprocessedAccounts", + "documentation":"

A list of objects containing the unprocessed account and a result string explaining why it was unprocessed.

", + "locationName":"unprocessedAccounts" } - }, - "required" : [ "ThreatIntelSetId", "DetectorId" ] + } }, - "DeleteThreatIntelSetResponse" : { - "type" : "structure", - "members" : { } + "DeleteMembersRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "AccountIds" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector of the GuardDuty account whose members you want to delete.

", + "location":"uri", + "locationName":"detectorId" + }, + "AccountIds":{ + "shape":"AccountIds", + "documentation":"

A list of account IDs of the GuardDuty member accounts that you want to delete.

", + "locationName":"accountIds" + } + } }, - "DetectorId" : { - "type" : "string", - "documentation" : "The unique identifier for a detector." + "DeleteMembersResponse":{ + "type":"structure", + "required":["UnprocessedAccounts"], + "members":{ + "UnprocessedAccounts":{ + "shape":"UnprocessedAccounts", + "documentation":"

A list of objects containing the unprocessed account and a result string explaining why it was unprocessed.

", + "locationName":"unprocessedAccounts" + } + } }, - "DetectorIds" : { - "type" : "list", - "documentation" : "A list of detector Ids.", - "member" : { - "shape" : "DetectorId" + "DeleteThreatIntelSetRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "ThreatIntelSetId" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector the threatIntelSet is associated with.

", + "location":"uri", + "locationName":"detectorId" + }, + "ThreatIntelSetId":{ + "shape":"String", + "documentation":"

The unique ID of the threatIntelSet you want to delete.

", + "location":"uri", + "locationName":"threatIntelSetId" + } } }, - "DetectorStatus" : { - "type" : "string", - "documentation" : "The status of detector.", - "enum" : [ "ENABLED", "DISABLED" ] + "DeleteThreatIntelSetResponse":{ + "type":"structure", + "members":{ + } }, - "DisassociateFromMasterAccountRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector of the GuardDuty member account." + "DetectorId":{ + "type":"string", + "max":300, + "min":1 + }, + "DetectorIds":{ + "type":"list", + "member":{"shape":"DetectorId"}, + "max":50, + "min":0 + }, + "DetectorStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ], + "max":300, + "min":1 + }, + "DisassociateFromMasterAccountRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector of the GuardDuty member account.

", + "location":"uri", + "locationName":"detectorId" } - }, - "required" : [ "DetectorId" ] - }, - "DisassociateFromMasterAccountResponse" : { - "type" : "structure", - "members" : { } - }, - "DisassociateMembersRequest" : { - "type" : "structure", - "members" : { - "AccountIds" : { - "shape" : "AccountIds", - "locationName" : "accountIds", - "documentation" : "A list of account IDs of the GuardDuty member accounts that you want to disassociate from master." - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector of the GuardDuty account whose members you want to disassociate from master." + } + }, + "DisassociateFromMasterAccountResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociateMembersRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "AccountIds" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector of the GuardDuty account whose members you want to disassociate from master.

", + "location":"uri", + "locationName":"detectorId" + }, + "AccountIds":{ + "shape":"AccountIds", + "documentation":"

A list of account IDs of the GuardDuty member accounts that you want to disassociate from master.

", + "locationName":"accountIds" } - }, - "documentation" : "DisassociateMembers request body.", - "required" : [ "DetectorId", "AccountIds" ] + } }, - "DisassociateMembersResponse" : { - "type" : "structure", - "members" : { - "UnprocessedAccounts" : { - "shape" : "UnprocessedAccounts", - "locationName" : "unprocessedAccounts", - "documentation" : "A list of objects containing the unprocessed account and a result string explaining why it was unprocessed." + "DisassociateMembersResponse":{ + "type":"structure", + "required":["UnprocessedAccounts"], + "members":{ + "UnprocessedAccounts":{ + "shape":"UnprocessedAccounts", + "documentation":"

A list of objects containing the unprocessed account and a result string explaining why it was unprocessed.

", + "locationName":"unprocessedAccounts" } } }, - "DnsRequestAction" : { - "type" : "structure", - "members" : { - "Domain" : { - "shape" : "Domain", - "locationName" : "domain", - "documentation" : "Domain information for the DNS request." + "DnsRequestAction":{ + "type":"structure", + "members":{ + "Domain":{ + "shape":"String", + "documentation":"

Domain information for the DNS request.

", + "locationName":"domain" } - }, - "documentation" : "Information about the DNS_REQUEST action described in this finding." + } }, - "Domain" : { - "type" : "string", - "documentation" : "A domain name." + "DomainDetails":{ + "type":"structure", + "members":{ + "Domain":{ + "shape":"String", + "documentation":"

Domain information for the AWS API call.

", + "locationName":"domain" + } + } }, - "DomainDetails" : { - "type" : "structure", - "members" : { }, - "documentation" : "Domain information for the AWS API call." + "Double":{"type":"double"}, + "Email":{ + "type":"string", + "max":64, + "min":1 + }, + "Eq":{ + "type":"list", + "member":{"shape":"String"} + }, + "Equals":{ + "type":"list", + "member":{"shape":"String"} + }, + "Feedback":{ + "type":"string", + "enum":[ + "USEFUL", + "NOT_USEFUL" + ] + }, + "FilterAction":{ + "type":"string", + "enum":[ + "NOOP", + "ARCHIVE" + ], + "max":300, + "min":1 + }, + "FilterDescription":{ + "type":"string", + "max":512, + "min":0 + }, + "FilterName":{ + "type":"string", + "max":64, + "min":3 + }, + "FilterNames":{ + "type":"list", + "member":{"shape":"FilterName"}, + "max":50, + "min":0 + }, + "FilterRank":{ + "type":"integer", + "max":100, + "min":1 + }, + "Finding":{ + "type":"structure", + "required":[ + "AccountId", + "Arn", + "CreatedAt", + "Id", + "Region", + "Resource", + "SchemaVersion", + "Severity", + "Type", + "UpdatedAt" + ], + "members":{ + "AccountId":{ + "shape":"String", + "documentation":"

AWS account ID where the activity occurred that prompted GuardDuty to generate a finding.

", + "locationName":"accountId" + }, + "Arn":{ + "shape":"String", + "documentation":"

The ARN of a finding described by the action.

", + "locationName":"arn" + }, + "Confidence":{ + "shape":"Double", + "documentation":"

The confidence level of a finding.

", + "locationName":"confidence" + }, + "CreatedAt":{ + "shape":"String", + "documentation":"

The time stamp at which a finding was generated.

", + "locationName":"createdAt" + }, + "Description":{ + "shape":"String", + "documentation":"

The description of a finding.

", + "locationName":"description" + }, + "Id":{ + "shape":"String", + "documentation":"

The identifier that corresponds to a finding described by the action.

", + "locationName":"id" + }, + "Partition":{ + "shape":"String", + "documentation":"

The AWS resource partition.

", + "locationName":"partition" + }, + "Region":{ + "shape":"String", + "documentation":"

The AWS region where the activity occurred that prompted GuardDuty to generate a finding.

", + "locationName":"region" + }, + "Resource":{ + "shape":"Resource", + "documentation":"

The AWS resource associated with the activity that prompted GuardDuty to generate a finding.

", + "locationName":"resource" + }, + "SchemaVersion":{ + "shape":"String", + "documentation":"

Findings' schema version.

", + "locationName":"schemaVersion" + }, + "Service":{ + "shape":"Service", + "documentation":"

Additional information assigned to the generated finding by GuardDuty.

", + "locationName":"service" + }, + "Severity":{ + "shape":"Double", + "documentation":"

The severity of a finding.

", + "locationName":"severity" + }, + "Title":{ + "shape":"String", + "documentation":"

The title of a finding.

", + "locationName":"title" + }, + "Type":{ + "shape":"FindingType", + "documentation":"

The type of a finding described by the action.

", + "locationName":"type" + }, + "UpdatedAt":{ + "shape":"String", + "documentation":"

The time stamp at which a finding was last updated.

", + "locationName":"updatedAt" + } + } }, - "Email" : { - "type" : "string", - "documentation" : "Member account's email address." + "FindingCriteria":{ + "type":"structure", + "members":{ + "Criterion":{ + "shape":"Criterion", + "documentation":"

Represents a map of finding properties that match specified conditions and values when querying findings.

", + "locationName":"criterion" + } + } }, - "Enable" : { - "type" : "boolean", - "documentation" : "A boolean value that specifies whether the detector is to be enabled." + "FindingId":{ + "type":"string", + "max":300, + "min":1 + }, + "FindingIds":{ + "type":"list", + "member":{"shape":"FindingId"}, + "max":50, + "min":0 + }, + "FindingPublishingFrequency":{ + "type":"string", + "enum":[ + "FIFTEEN_MINUTES", + "ONE_HOUR", + "SIX_HOURS" + ] + }, + "FindingStatisticType":{ + "type":"string", + "enum":["COUNT_BY_SEVERITY"] + }, + "FindingStatisticTypes":{ + "type":"list", + "member":{"shape":"FindingStatisticType"}, + "max":10, + "min":0 + }, + "FindingStatistics":{ + "type":"structure", + "members":{ + "CountBySeverity":{ + "shape":"CountBySeverity", + "documentation":"

Represents a map of severity to count statistic for a set of findings

", + "locationName":"countBySeverity" + } + } }, - "Eq" : { - "type" : "list", - "documentation" : "Represents the equal condition to be applied to a single field when querying for findings.", - "member" : { - "shape" : "__string" + "FindingType":{ + "type":"string", + "max":50, + "min":1 + }, + "FindingTypes":{ + "type":"list", + "member":{"shape":"FindingType"}, + "max":50, + "min":0 + }, + "Findings":{ + "type":"list", + "member":{"shape":"Finding"}, + "max":50, + "min":0 + }, + "GeoLocation":{ + "type":"structure", + "members":{ + "Lat":{ + "shape":"Double", + "documentation":"

Latitude information of remote IP address.

", + "locationName":"lat" + }, + "Lon":{ + "shape":"Double", + "documentation":"

Longitude information of remote IP address.

", + "locationName":"lon" + } } }, - "ErrorResponse" : { - "type" : "structure", - "members" : { - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "The error message." - }, - "Type" : { - "shape" : "__string", - "locationName" : "__type", - "documentation" : "The error type." + "GetDetectorRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector that you want to get.

", + "location":"uri", + "locationName":"detectorId" } - }, - "documentation" : "Error response object." - }, - "Feedback" : { - "type" : "string", - "documentation" : "Finding Feedback Value", - "enum" : [ "USEFUL", "NOT_USEFUL" ] - }, - "FilterAction" : { - "type" : "string", - "documentation" : "The action associated with a filter.", - "enum" : [ "NOOP", "ARCHIVE" ] - }, - "FilterDescription" : { - "type" : "string", - "documentation" : "The filter description" - }, - "FilterName" : { - "type" : "string", - "documentation" : "The unique identifier for a filter" - }, - "FilterNames" : { - "type" : "list", - "documentation" : "A list of filter names", - "member" : { - "shape" : "FilterName" - } - }, - "FilterRank" : { - "type" : "integer", - "documentation" : "Relative position of filter among list of exisiting filters." - }, - "Finding" : { - "type" : "structure", - "members" : { - "AccountId" : { - "shape" : "__string", - "locationName" : "accountId", - "documentation" : "AWS account ID where the activity occurred that prompted GuardDuty to generate a finding." - }, - "Arn" : { - "shape" : "__string", - "locationName" : "arn", - "documentation" : "The ARN of a finding described by the action." - }, - "Confidence" : { - "shape" : "__double", - "locationName" : "confidence", - "documentation" : "The confidence level of a finding." - }, - "CreatedAt" : { - "shape" : "CreatedAt", - "locationName" : "createdAt", - "documentation" : "The time stamp at which a finding was generated." - }, - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "The description of a finding." - }, - "Id" : { - "shape" : "__string", - "locationName" : "id", - "documentation" : "The identifier that corresponds to a finding described by the action." - }, - "Partition" : { - "shape" : "__string", - "locationName" : "partition", - "documentation" : "The AWS resource partition." - }, - "Region" : { - "shape" : "__string", - "locationName" : "region", - "documentation" : "The AWS region where the activity occurred that prompted GuardDuty to generate a finding." - }, - "Resource" : { - "shape" : "Resource", - "locationName" : "resource", - "documentation" : "The AWS resource associated with the activity that prompted GuardDuty to generate a finding." - }, - "SchemaVersion" : { - "shape" : "__string", - "locationName" : "schemaVersion", - "documentation" : "Findings' schema version." - }, - "Service" : { - "shape" : "Service", - "locationName" : "service", - "documentation" : "Additional information assigned to the generated finding by GuardDuty." - }, - "Severity" : { - "shape" : "__double", - "locationName" : "severity", - "documentation" : "The severity of a finding." - }, - "Title" : { - "shape" : "__string", - "locationName" : "title", - "documentation" : "The title of a finding." - }, - "Type" : { - "shape" : "__string", - "locationName" : "type", - "documentation" : "The type of a finding described by the action." - }, - "UpdatedAt" : { - "shape" : "UpdatedAt", - "locationName" : "updatedAt", - "documentation" : "The time stamp at which a finding was last updated." + } + }, + "GetDetectorResponse":{ + "type":"structure", + "required":[ + "ServiceRole", + "Status" + ], + "members":{ + "CreatedAt":{ + "shape":"String", + "documentation":"

Detector creation timestamp.

", + "locationName":"createdAt" + }, + "FindingPublishingFrequency":{ + "shape":"FindingPublishingFrequency", + "documentation":"

Finding publishing frequency.

", + "locationName":"findingPublishingFrequency" + }, + "ServiceRole":{ + "shape":"String", + "documentation":"

The GuardDuty service role.

", + "locationName":"serviceRole" + }, + "Status":{ + "shape":"DetectorStatus", + "documentation":"

The detector status.

", + "locationName":"status" + }, + "UpdatedAt":{ + "shape":"String", + "documentation":"

Detector last update timestamp.

", + "locationName":"updatedAt" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

The tags of the detector resource.

", + "locationName":"tags" } - }, - "documentation" : "Representation of a abnormal or suspicious activity.", - "required" : [ "AccountId", "SchemaVersion", "CreatedAt", "Resource", "Severity", "UpdatedAt", "Type", "Region", "Id", "Arn" ] + } }, - "FindingCriteria" : { - "type" : "structure", - "members" : { - "Criterion" : { - "shape" : "__mapOfCondition", - "locationName" : "criterion", - "documentation" : "Represents a map of finding properties that match specified conditions and values when querying findings." + "GetFilterRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "FilterName" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector the filter is associated with.

", + "location":"uri", + "locationName":"detectorId" + }, + "FilterName":{ + "shape":"String", + "documentation":"

The name of the filter you want to get.

", + "location":"uri", + "locationName":"filterName" } - }, - "documentation" : "Represents the criteria used for querying findings." + } }, - "FindingId" : { - "type" : "string", - "documentation" : "The unique identifier for the Finding" + "GetFilterResponse":{ + "type":"structure", + "required":[ + "Name", + "Action", + "FindingCriteria" + ], + "members":{ + "Name":{ + "shape":"FilterName", + "documentation":"

The name of the filter.

", + "locationName":"name" + }, + "Description":{ + "shape":"FilterDescription", + "documentation":"

The description of the filter.

", + "locationName":"description" + }, + "Action":{ + "shape":"FilterAction", + "documentation":"

Specifies the action that is to be applied to the findings that match the filter.

", + "locationName":"action" + }, + "Rank":{ + "shape":"FilterRank", + "documentation":"

Specifies the position of the filter in the list of current filters. Also specifies the order in which this filter is applied to the findings.

", + "locationName":"rank" + }, + "FindingCriteria":{ + "shape":"FindingCriteria", + "documentation":"

Represents the criteria to be used in the filter for querying findings.

", + "locationName":"findingCriteria" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

The tags of the filter resource.

", + "locationName":"tags" + } + } }, - "FindingIds" : { - "type" : "list", - "documentation" : "The list of the Findings.", - "member" : { - "shape" : "FindingId" + "GetFindingsRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "FindingIds" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The ID of the detector that specifies the GuardDuty service whose findings you want to retrieve.

", + "location":"uri", + "locationName":"detectorId" + }, + "FindingIds":{ + "shape":"FindingIds", + "documentation":"

IDs of the findings that you want to retrieve.

", + "locationName":"findingIds" + }, + "SortCriteria":{ + "shape":"SortCriteria", + "documentation":"

Represents the criteria used for sorting findings.

", + "locationName":"sortCriteria" + } } }, - "FindingPublishingFrequency" : { - "type" : "string", - "documentation" : "A enum value that specifies how frequently customer got Finding updates published.", - "enum" : [ "FIFTEEN_MINUTES", "ONE_HOUR", "SIX_HOURS" ] + "GetFindingsResponse":{ + "type":"structure", + "required":["Findings"], + "members":{ + "Findings":{ + "shape":"Findings", + "documentation":"

A list of findings.

", + "locationName":"findings" + } + } }, - "FindingStatisticType" : { - "type" : "string", - "documentation" : "The types of finding statistics.", - "enum" : [ "COUNT_BY_SEVERITY" ] + "GetFindingsStatisticsRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "FindingStatisticTypes" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The ID of the detector that specifies the GuardDuty service whose findings' statistics you want to retrieve.

", + "location":"uri", + "locationName":"detectorId" + }, + "FindingStatisticTypes":{ + "shape":"FindingStatisticTypes", + "documentation":"

Types of finding statistics to retrieve.

", + "locationName":"findingStatisticTypes" + }, + "FindingCriteria":{ + "shape":"FindingCriteria", + "documentation":"

Represents the criteria used for querying findings.

", + "locationName":"findingCriteria" + } + } }, - "FindingStatisticTypes" : { - "type" : "list", - "documentation" : "The list of the finding statistics.", - "member" : { - "shape" : "FindingStatisticType" + "GetFindingsStatisticsResponse":{ + "type":"structure", + "required":["FindingStatistics"], + "members":{ + "FindingStatistics":{ + "shape":"FindingStatistics", + "documentation":"

Finding statistics object.

", + "locationName":"findingStatistics" + } } }, - "FindingStatistics" : { - "type" : "structure", - "members" : { - "CountBySeverity" : { - "shape" : "__mapOfCountBySeverityFindingStatistic", - "locationName" : "countBySeverity", - "documentation" : "Represents a map of severity to count statistic for a set of findings" + "GetIPSetRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "IpSetId" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector the ipSet is associated with.

", + "location":"uri", + "locationName":"detectorId" + }, + "IpSetId":{ + "shape":"String", + "documentation":"

The unique ID of the ipSet you want to get.

", + "location":"uri", + "locationName":"ipSetId" } - }, - "documentation" : "Finding statistics object." + } }, - "FindingType" : { - "type" : "string", - "documentation" : "The finding type for the finding" + "GetIPSetResponse":{ + "type":"structure", + "required":[ + "Name", + "Format", + "Location", + "Status" + ], + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

The user friendly name to identify the IPSet. This name is displayed in all findings that are triggered by activity that involves IP addresses included in this IPSet.

", + "locationName":"name" + }, + "Format":{ + "shape":"IpSetFormat", + "documentation":"

The format of the file that contains the IPSet.

", + "locationName":"format" + }, + "Location":{ + "shape":"Location", + "documentation":"

The URI of the file that contains the IPSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key)

", + "locationName":"location" + }, + "Status":{ + "shape":"IpSetStatus", + "documentation":"

The status of ipSet file uploaded.

", + "locationName":"status" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

The tags of the IP set resource.

", + "locationName":"tags" + } + } }, - "FindingTypes" : { - "type" : "list", - "documentation" : "The list of the finding types.", - "member" : { - "shape" : "FindingType" + "GetInvitationsCountRequest":{ + "type":"structure", + "members":{ } }, - "Findings" : { - "type" : "list", - "documentation" : "A list of findings.", - "member" : { - "shape" : "Finding" + "GetInvitationsCountResponse":{ + "type":"structure", + "members":{ + "InvitationsCount":{ + "shape":"Integer", + "documentation":"

The number of received invitations.

", + "locationName":"invitationsCount" + } } }, - "GeoLocation" : { - "type" : "structure", - "members" : { - "Lat" : { - "shape" : "__double", - "locationName" : "lat", - "documentation" : "Latitude information of remote IP address." - }, - "Lon" : { - "shape" : "__double", - "locationName" : "lon", - "documentation" : "Longitude information of remote IP address." + "GetMasterAccountRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector of the GuardDuty member account.

", + "location":"uri", + "locationName":"detectorId" } - }, - "documentation" : "Location information of the remote IP address." + } }, - "GetDetectorRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector that you want to retrieve." + "GetMasterAccountResponse":{ + "type":"structure", + "required":["Master"], + "members":{ + "Master":{ + "shape":"Master", + "documentation":"

Master account details.

", + "locationName":"master" } - }, - "required" : [ "DetectorId" ] + } }, - "GetDetectorResponse" : { - "type" : "structure", - "members" : { - "CreatedAt" : { - "shape" : "CreatedAt", - "locationName" : "createdAt" - }, - "FindingPublishingFrequency" : { - "shape" : "FindingPublishingFrequency", - "locationName" : "findingPublishingFrequency" - }, - "ServiceRole" : { - "shape" : "ServiceRole", - "locationName" : "serviceRole" - }, - "Status" : { - "shape" : "DetectorStatus", - "locationName" : "status" - }, - "UpdatedAt" : { - "shape" : "UpdatedAt", - "locationName" : "updatedAt" + "GetMembersRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "AccountIds" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector of the GuardDuty account whose members you want to retrieve.

", + "location":"uri", + "locationName":"detectorId" + }, + "AccountIds":{ + "shape":"AccountIds", + "documentation":"

A list of account IDs of the GuardDuty member accounts that you want to describe.

", + "locationName":"accountIds" } } }, - "GetFilterRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The detector ID that specifies the GuardDuty service where you want to list the details of the specified filter." - }, - "FilterName" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "filterName", - "documentation" : "The name of the filter whose details you want to get." + "GetMembersResponse":{ + "type":"structure", + "required":[ + "Members", + "UnprocessedAccounts" + ], + "members":{ + "Members":{ + "shape":"Members", + "documentation":"

A list of members.

", + "locationName":"members" + }, + "UnprocessedAccounts":{ + "shape":"UnprocessedAccounts", + "documentation":"

A list of objects containing the unprocessed account and a result string explaining why it was unprocessed.

", + "locationName":"unprocessedAccounts" } - }, - "required" : [ "DetectorId", "FilterName" ] - }, - "GetFilterResponse" : { - "type" : "structure", - "members" : { - "Action" : { - "shape" : "FilterAction", - "locationName" : "action", - "documentation" : "Specifies the action that is to be applied to the findings that match the filter." - }, - "Description" : { - "shape" : "FilterDescription", - "locationName" : "description", - "documentation" : "The description of the filter." - }, - "FindingCriteria" : { - "shape" : "FindingCriteria", - "locationName" : "findingCriteria", - "documentation" : "Represents the criteria to be used in the filter for querying findings." - }, - "Name" : { - "shape" : "FilterName", - "locationName" : "name", - "documentation" : "The name of the filter." - }, - "Rank" : { - "shape" : "FilterRank", - "locationName" : "rank", - "documentation" : "Specifies the position of the filter in the list of current filters. Also specifies the order in which this filter is applied to the findings." - } - } - }, - "GetFindingsRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The ID of the detector that specifies the GuardDuty service whose findings you want to retrieve." - }, - "FindingIds" : { - "shape" : "FindingIds", - "locationName" : "findingIds", - "documentation" : "IDs of the findings that you want to retrieve." - }, - "SortCriteria" : { - "shape" : "SortCriteria", - "locationName" : "sortCriteria", - "documentation" : "Represents the criteria used for sorting findings." + } + }, + "GetThreatIntelSetRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "ThreatIntelSetId" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector the threatIntelSet is associated with.

", + "location":"uri", + "locationName":"detectorId" + }, + "ThreatIntelSetId":{ + "shape":"String", + "documentation":"

The unique ID of the threatIntelSet you want to get.

", + "location":"uri", + "locationName":"threatIntelSetId" } - }, - "documentation" : "GetFindings request body.", - "required" : [ "DetectorId", "FindingIds" ] + } }, - "GetFindingsResponse" : { - "type" : "structure", - "members" : { - "Findings" : { - "shape" : "Findings", - "locationName" : "findings" + "GetThreatIntelSetResponse":{ + "type":"structure", + "required":[ + "Name", + "Format", + "Location", + "Status" + ], + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

A user-friendly ThreatIntelSet name that is displayed in all finding generated by activity that involves IP addresses included in this ThreatIntelSet.

", + "locationName":"name" + }, + "Format":{ + "shape":"ThreatIntelSetFormat", + "documentation":"

The format of the threatIntelSet.

", + "locationName":"format" + }, + "Location":{ + "shape":"Location", + "documentation":"

The URI of the file that contains the ThreatIntelSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key).

", + "locationName":"location" + }, + "Status":{ + "shape":"ThreatIntelSetStatus", + "documentation":"

The status of threatIntelSet file uploaded.

", + "locationName":"status" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

The tags of the Threat List resource.

", + "locationName":"tags" } } }, - "GetFindingsStatisticsRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The ID of the detector that specifies the GuardDuty service whose findings' statistics you want to retrieve." - }, - "FindingCriteria" : { - "shape" : "FindingCriteria", - "locationName" : "findingCriteria", - "documentation" : "Represents the criteria used for querying findings." + "GuardDutyArn":{ + "type":"string", + "pattern":"^arn:[A-Za-z_.-]{1,20}:guardduty:[A-Za-z0-9_/.-]{0,63}:\\d+:detector/[A-Za-z0-9_/.-]{32,264}$" + }, + "IamInstanceProfile":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"String", + "documentation":"

AWS EC2 instance profile ARN.

", + "locationName":"arn" }, - "FindingStatisticTypes" : { - "shape" : "FindingStatisticTypes", - "locationName" : "findingStatisticTypes", - "documentation" : "Types of finding statistics to retrieve." + "Id":{ + "shape":"String", + "documentation":"

AWS EC2 instance profile ID.

", + "locationName":"id" } - }, - "documentation" : "GetFindingsStatistics request body.", - "required" : [ "DetectorId", "FindingStatisticTypes" ] - }, - "GetFindingsStatisticsResponse" : { - "type" : "structure", - "members" : { - "FindingStatistics" : { - "shape" : "FindingStatistics", - "locationName" : "findingStatistics", - "documentation" : "Finding statistics object." - } - } - }, - "GetIPSetRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The detectorID that specifies the GuardDuty service whose IPSet you want to retrieve." - }, - "IpSetId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "ipSetId", - "documentation" : "The unique ID that specifies the IPSet that you want to describe." + } + }, + "InstanceDetails":{ + "type":"structure", + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The availability zone of the EC2 instance.

", + "locationName":"availabilityZone" + }, + "IamInstanceProfile":{ + "shape":"IamInstanceProfile", + "documentation":"

The profile information of the EC2 instance.

", + "locationName":"iamInstanceProfile" + }, + "ImageDescription":{ + "shape":"String", + "documentation":"

The image description of the EC2 instance.

", + "locationName":"imageDescription" + }, + "ImageId":{ + "shape":"String", + "documentation":"

The image ID of the EC2 instance.

", + "locationName":"imageId" + }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the EC2 instance.

", + "locationName":"instanceId" + }, + "InstanceState":{ + "shape":"String", + "documentation":"

The state of the EC2 instance.

", + "locationName":"instanceState" + }, + "InstanceType":{ + "shape":"String", + "documentation":"

The type of the EC2 instance.

", + "locationName":"instanceType" + }, + "LaunchTime":{ + "shape":"String", + "documentation":"

The launch time of the EC2 instance.

", + "locationName":"launchTime" + }, + "NetworkInterfaces":{ + "shape":"NetworkInterfaces", + "documentation":"

The network interface information of the EC2 instance.

", + "locationName":"networkInterfaces" + }, + "Platform":{ + "shape":"String", + "documentation":"

The platform of the EC2 instance.

", + "locationName":"platform" + }, + "ProductCodes":{ + "shape":"ProductCodes", + "documentation":"

The product code of the EC2 instance.

", + "locationName":"productCodes" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The tags of the EC2 instance.

", + "locationName":"tags" } - }, - "required" : [ "DetectorId", "IpSetId" ] + } }, - "GetIPSetResponse" : { - "type" : "structure", - "members" : { - "Format" : { - "shape" : "IpSetFormat", - "locationName" : "format", - "documentation" : "The format of the file that contains the IPSet." - }, - "Location" : { - "shape" : "Location", - "locationName" : "location", - "documentation" : "The URI of the file that contains the IPSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key)" - }, - "Name" : { - "shape" : "Name", - "locationName" : "name", - "documentation" : "The user friendly name to identify the IPSet. This name is displayed in all findings that are triggered by activity that involves IP addresses included in this IPSet." - }, - "Status" : { - "shape" : "IpSetStatus", - "locationName" : "status", - "documentation" : "The status of ipSet file uploaded." + "Integer":{"type":"integer"}, + "InternalServerErrorException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"String", + "documentation":"

The error message.

", + "locationName":"message" + }, + "Type":{ + "shape":"String", + "documentation":"

The error type.

", + "locationName":"__type" + } + }, + "documentation":"

Internal server error exception object.

", + "error":{"httpStatusCode":500}, + "exception":true + }, + "Invitation":{ + "type":"structure", + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

Inviter account ID

", + "locationName":"accountId" + }, + "InvitationId":{ + "shape":"String", + "documentation":"

This value is used to validate the inviter account to the member account.

", + "locationName":"invitationId" + }, + "RelationshipStatus":{ + "shape":"String", + "documentation":"

The status of the relationship between the inviter and invitee accounts.

", + "locationName":"relationshipStatus" + }, + "InvitedAt":{ + "shape":"String", + "documentation":"

Timestamp at which the invitation was sent

", + "locationName":"invitedAt" } } }, - "GetInvitationsCountRequest" : { - "type" : "structure", - "members" : { } + "Invitations":{ + "type":"list", + "member":{"shape":"Invitation"}, + "max":50, + "min":0 + }, + "InviteMembersRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "AccountIds" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector of the GuardDuty account with which you want to invite members.

", + "location":"uri", + "locationName":"detectorId" + }, + "AccountIds":{ + "shape":"AccountIds", + "documentation":"

A list of account IDs of the accounts that you want to invite to GuardDuty as members.

", + "locationName":"accountIds" + }, + "DisableEmailNotification":{ + "shape":"Boolean", + "documentation":"

A boolean value that specifies whether you want to disable email notification to the accounts that you’re inviting to GuardDuty as members.

", + "locationName":"disableEmailNotification" + }, + "Message":{ + "shape":"String", + "documentation":"

The invitation message that you want to send to the accounts that you’re inviting to GuardDuty as members.

", + "locationName":"message" + } + } }, - "GetInvitationsCountResponse" : { - "type" : "structure", - "members" : { - "InvitationsCount" : { - "shape" : "__integer", - "locationName" : "invitationsCount", - "documentation" : "The number of received invitations." + "InviteMembersResponse":{ + "type":"structure", + "required":["UnprocessedAccounts"], + "members":{ + "UnprocessedAccounts":{ + "shape":"UnprocessedAccounts", + "documentation":"

A list of objects containing the unprocessed account and a result string explaining why it was unprocessed.

", + "locationName":"unprocessedAccounts" } } }, - "GetMasterAccountRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector of the GuardDuty member account." + "IpSetFormat":{ + "type":"string", + "enum":[ + "TXT", + "STIX", + "OTX_CSV", + "ALIEN_VAULT", + "PROOF_POINT", + "FIRE_EYE" + ], + "max":300, + "min":1 + }, + "IpSetIds":{ + "type":"list", + "member":{"shape":"String"}, + "max":50, + "min":0 + }, + "IpSetStatus":{ + "type":"string", + "enum":[ + "INACTIVE", + "ACTIVATING", + "ACTIVE", + "DEACTIVATING", + "ERROR", + "DELETE_PENDING", + "DELETED" + ], + "max":300, + "min":1 + }, + "Ipv6Addresses":{ + "type":"list", + "member":{"shape":"String"} + }, + "ListDetectorsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 50. The maximum value is 50.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

", + "location":"querystring", + "locationName":"nextToken" } - }, - "required" : [ "DetectorId" ] + } + }, + "ListDetectorsResponse":{ + "type":"structure", + "required":["DetectorIds"], + "members":{ + "DetectorIds":{ + "shape":"DetectorIds", + "documentation":"

A list of detector Ids.

", + "locationName":"detectorIds" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Pagination parameter to be used on the next list operation to retrieve more items.

", + "locationName":"nextToken" + } + } }, - "GetMasterAccountResponse" : { - "type" : "structure", - "members" : { - "Master" : { - "shape" : "Master", - "locationName" : "master" + "ListFiltersRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector the filter is associated with.

", + "location":"uri", + "locationName":"detectorId" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 50. The maximum value is 50.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

", + "location":"querystring", + "locationName":"nextToken" } } }, - "GetMembersRequest" : { - "type" : "structure", - "members" : { - "AccountIds" : { - "shape" : "AccountIds", - "locationName" : "accountIds", - "documentation" : "A list of account IDs of the GuardDuty member accounts that you want to describe." + "ListFiltersResponse":{ + "type":"structure", + "required":["FilterNames"], + "members":{ + "FilterNames":{ + "shape":"FilterNames", + "documentation":"

A list of filter names

", + "locationName":"filterNames" }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector of the GuardDuty account whose members you want to retrieve." + "NextToken":{ + "shape":"String", + "documentation":"

Pagination parameter to be used on the next list operation to retrieve more items.

", + "locationName":"nextToken" } - }, - "documentation" : "GetMembers request body.", - "required" : [ "DetectorId", "AccountIds" ] - }, - "GetMembersResponse" : { - "type" : "structure", - "members" : { - "Members" : { - "shape" : "Members", - "locationName" : "members" - }, - "UnprocessedAccounts" : { - "shape" : "UnprocessedAccounts", - "locationName" : "unprocessedAccounts", - "documentation" : "A list of objects containing the unprocessed account and a result string explaining why it was unprocessed." - } - } - }, - "GetThreatIntelSetRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The detectorID that specifies the GuardDuty service whose ThreatIntelSet you want to describe." - }, - "ThreatIntelSetId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "threatIntelSetId", - "documentation" : "The unique ID that specifies the ThreatIntelSet that you want to describe." + } + }, + "ListFindingsRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The ID of the detector that specifies the GuardDuty service whose findings you want to list.

", + "location":"uri", + "locationName":"detectorId" + }, + "FindingCriteria":{ + "shape":"FindingCriteria", + "documentation":"

Represents the criteria used for querying findings.

", + "locationName":"findingCriteria" + }, + "SortCriteria":{ + "shape":"SortCriteria", + "documentation":"

Represents the criteria used for sorting findings.

", + "locationName":"sortCriteria" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 50. The maximum value is 50.

", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

", + "locationName":"nextToken" } - }, - "required" : [ "ThreatIntelSetId", "DetectorId" ] - }, - "GetThreatIntelSetResponse" : { - "type" : "structure", - "members" : { - "Format" : { - "shape" : "ThreatIntelSetFormat", - "locationName" : "format", - "documentation" : "The format of the threatIntelSet." - }, - "Location" : { - "shape" : "Location", - "locationName" : "location", - "documentation" : "The URI of the file that contains the ThreatIntelSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key)." - }, - "Name" : { - "shape" : "Name", - "locationName" : "name", - "documentation" : "A user-friendly ThreatIntelSet name that is displayed in all finding generated by activity that involves IP addresses included in this ThreatIntelSet." - }, - "Status" : { - "shape" : "ThreatIntelSetStatus", - "locationName" : "status", - "documentation" : "The status of threatIntelSet file uploaded." - } - } - }, - "IamInstanceProfile" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "locationName" : "arn", - "documentation" : "AWS EC2 instance profile ARN." - }, - "Id" : { - "shape" : "__string", - "locationName" : "id", - "documentation" : "AWS EC2 instance profile ID." + } + }, + "ListFindingsResponse":{ + "type":"structure", + "required":["FindingIds"], + "members":{ + "FindingIds":{ + "shape":"FindingIds", + "documentation":"

The IDs of the findings you are listing.

", + "locationName":"findingIds" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Pagination parameter to be used on the next list operation to retrieve more items.

", + "locationName":"nextToken" } - }, - "documentation" : "The profile information of the EC2 instance." - }, - "InstanceDetails" : { - "type" : "structure", - "members" : { - "AvailabilityZone" : { - "shape" : "__string", - "locationName" : "availabilityZone", - "documentation" : "The availability zone of the EC2 instance." - }, - "IamInstanceProfile" : { - "shape" : "IamInstanceProfile", - "locationName" : "iamInstanceProfile" - }, - "ImageDescription" : { - "shape" : "__string", - "locationName" : "imageDescription", - "documentation" : "The image description of the EC2 instance." - }, - "ImageId" : { - "shape" : "__string", - "locationName" : "imageId", - "documentation" : "The image ID of the EC2 instance." - }, - "InstanceId" : { - "shape" : "__string", - "locationName" : "instanceId", - "documentation" : "The ID of the EC2 instance." - }, - "InstanceState" : { - "shape" : "__string", - "locationName" : "instanceState", - "documentation" : "The state of the EC2 instance." - }, - "InstanceType" : { - "shape" : "__string", - "locationName" : "instanceType", - "documentation" : "The type of the EC2 instance." - }, - "LaunchTime" : { - "shape" : "__string", - "locationName" : "launchTime", - "documentation" : "The launch time of the EC2 instance." - }, - "NetworkInterfaces" : { - "shape" : "NetworkInterfaces", - "locationName" : "networkInterfaces", - "documentation" : "The network interface information of the EC2 instance." - }, - "Platform" : { - "shape" : "__string", - "locationName" : "platform", - "documentation" : "The platform of the EC2 instance." - }, - "ProductCodes" : { - "shape" : "ProductCodes", - "locationName" : "productCodes", - "documentation" : "The product code of the EC2 instance." - }, - "Tags" : { - "shape" : "Tags", - "locationName" : "tags", - "documentation" : "The tags of the EC2 instance." + } + }, + "ListIPSetsRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector the ipSet is associated with.

", + "location":"uri", + "locationName":"detectorId" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 50. The maximum value is 50.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

", + "location":"querystring", + "locationName":"nextToken" } - }, - "documentation" : "The information about the EC2 instance associated with the activity that prompted GuardDuty to generate a finding." + } }, - "InternalServerErrorException" : { - "type" : "structure", - "members" : { - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "The error message." + "ListIPSetsResponse":{ + "type":"structure", + "required":["IpSetIds"], + "members":{ + "IpSetIds":{ + "shape":"IpSetIds", + "documentation":"

The IDs of the IPSet resources.

", + "locationName":"ipSetIds" }, - "Type" : { - "shape" : "__string", - "locationName" : "__type", - "documentation" : "The error type." + "NextToken":{ + "shape":"String", + "documentation":"

Pagination parameter to be used on the next list operation to retrieve more items.

", + "locationName":"nextToken" } - }, - "documentation" : "Error response object.", - "exception" : true, - "error" : { - "httpStatusCode" : 500 - } - }, - "Invitation" : { - "type" : "structure", - "members" : { - "AccountId" : { - "shape" : "__string", - "locationName" : "accountId", - "documentation" : "Inviter account ID" - }, - "InvitationId" : { - "shape" : "InvitationId", - "locationName" : "invitationId", - "documentation" : "This value is used to validate the inviter account to the member account." - }, - "InvitedAt" : { - "shape" : "InvitedAt", - "locationName" : "invitedAt", - "documentation" : "Timestamp at which the invitation was sent" - }, - "RelationshipStatus" : { - "shape" : "__string", - "locationName" : "relationshipStatus", - "documentation" : "The status of the relationship between the inviter and invitee accounts." + } + }, + "ListInvitationsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 50. The maximum value is 50.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

", + "location":"querystring", + "locationName":"nextToken" } - }, - "documentation" : "Invitation from an AWS account to become the current account's master." - }, - "InvitationId" : { - "type" : "string", - "documentation" : "This value is used to validate the master account to the member account." - }, - "Invitations" : { - "type" : "list", - "documentation" : "A list of invitation descriptions.", - "member" : { - "shape" : "Invitation" - } - }, - "InviteMembersRequest" : { - "type" : "structure", - "members" : { - "AccountIds" : { - "shape" : "AccountIds", - "locationName" : "accountIds", - "documentation" : "A list of account IDs of the accounts that you want to invite to GuardDuty as members." - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector of the GuardDuty account with which you want to invite members." - }, - "DisableEmailNotification" : { - "shape" : "__boolean", - "locationName" : "disableEmailNotification", - "documentation" : "A boolean value that specifies whether you want to disable email notification to the accounts that you’re inviting to GuardDuty as members." - }, - "Message" : { - "shape" : "Message", - "locationName" : "message", - "documentation" : "The invitation message that you want to send to the accounts that you’re inviting to GuardDuty as members." + } + }, + "ListInvitationsResponse":{ + "type":"structure", + "members":{ + "Invitations":{ + "shape":"Invitations", + "documentation":"

A list of invitation descriptions.

", + "locationName":"invitations" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Pagination parameter to be used on the next list operation to retrieve more items.

", + "locationName":"nextToken" } - }, - "documentation" : "InviteMembers request body.", - "required" : [ "DetectorId", "AccountIds" ] - }, - "InviteMembersResponse" : { - "type" : "structure", - "members" : { - "UnprocessedAccounts" : { - "shape" : "UnprocessedAccounts", - "locationName" : "unprocessedAccounts", - "documentation" : "A list of objects containing the unprocessed account and a result string explaining why it was unprocessed." - } - } - }, - "InvitedAt" : { - "type" : "string", - "documentation" : "Timestamp at which a member has been invited. The format will be ISO-8601." - }, - "IpSetFormat" : { - "type" : "string", - "documentation" : "The format of the ipSet.", - "enum" : [ "TXT", "STIX", "OTX_CSV", "ALIEN_VAULT", "PROOF_POINT", "FIRE_EYE" ] - }, - "IpSetId" : { - "type" : "string", - "documentation" : "The unique identifier for an IP Set" - }, - "IpSetIds" : { - "type" : "list", - "documentation" : "A list of the IP set IDs", - "member" : { - "shape" : "IpSetId" - } - }, - "IpSetStatus" : { - "type" : "string", - "documentation" : "The status of ipSet file uploaded.", - "enum" : [ "INACTIVE", "ACTIVATING", "ACTIVE", "DEACTIVATING", "ERROR", "DELETE_PENDING", "DELETED" ] - }, - "Ipv6Address" : { - "type" : "string", - "documentation" : "IpV6 address of the EC2 instance." - }, - "Ipv6Addresses" : { - "type" : "list", - "documentation" : "A list of EC2 instance IPv6 address information.", - "member" : { - "shape" : "Ipv6Address" - } - }, - "ListDetectorsRequest" : { - "type" : "structure", - "members" : { - "MaxResults" : { - "shape" : "MaxResults", - "location" : "querystring", - "locationName" : "maxResults", - "documentation" : "You can use this parameter to indicate the maximum number of detectors that you want in the response." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "nextToken", - "documentation" : "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListDetectors action. For subsequent calls to the action fill nextToken in the request with the value of nextToken from the previous response to continue listing data." - } - } - }, - "ListDetectorsResponse" : { - "type" : "structure", - "members" : { - "DetectorIds" : { - "shape" : "DetectorIds", - "locationName" : "detectorIds" - }, - "NextToken" : { - "shape" : "NextToken", - "locationName" : "nextToken" - } - } - }, - "ListFiltersRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The ID of the detector that specifies the GuardDuty service where you want to list filters." - }, - "MaxResults" : { - "shape" : "MaxResults", - "location" : "querystring", - "locationName" : "maxResults", - "documentation" : "Indicates the maximum number of items that you want in the response. The maximum value is 50." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "nextToken", - "documentation" : "Paginates results. Set the value of this parameter to NULL on your first call to the ListFilters operation.For subsequent calls to the operation, fill nextToken in the request with the value of nextToken from the previous response to continue listing data." + } + }, + "ListMembersRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector the member is associated with.

", + "location":"uri", + "locationName":"detectorId" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 50. The maximum value is 50.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

", + "location":"querystring", + "locationName":"nextToken" + }, + "OnlyAssociated":{ + "shape":"String", + "documentation":"

Specifies whether to only return associated members or to return all members (including members which haven't been invited yet or have been disassociated).

", + "location":"querystring", + "locationName":"onlyAssociated" } - }, - "required" : [ "DetectorId" ] - }, - "ListFiltersResponse" : { - "type" : "structure", - "members" : { - "FilterNames" : { - "shape" : "FilterNames", - "locationName" : "filterNames" - }, - "NextToken" : { - "shape" : "NextToken", - "locationName" : "nextToken" - } - } - }, - "ListFindingsRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The ID of the detector that specifies the GuardDuty service whose findings you want to list." - }, - "FindingCriteria" : { - "shape" : "FindingCriteria", - "locationName" : "findingCriteria", - "documentation" : "Represents the criteria used for querying findings." - }, - "MaxResults" : { - "shape" : "MaxResults", - "locationName" : "maxResults", - "documentation" : "You can use this parameter to indicate the maximum number of items you want in the response. The default value is 50. The maximum value is 50." - }, - "NextToken" : { - "shape" : "NextToken", - "locationName" : "nextToken", - "documentation" : "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListFindings action. For subsequent calls to the action fill nextToken in the request with the value of nextToken from the previous response to continue listing data." - }, - "SortCriteria" : { - "shape" : "SortCriteria", - "locationName" : "sortCriteria", - "documentation" : "Represents the criteria used for sorting findings." + } + }, + "ListMembersResponse":{ + "type":"structure", + "members":{ + "Members":{ + "shape":"Members", + "documentation":"

A list of members.

", + "locationName":"members" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Pagination parameter to be used on the next list operation to retrieve more items.

", + "locationName":"nextToken" } - }, - "documentation" : "ListFindings request body.", - "required" : [ "DetectorId" ] - }, - "ListFindingsResponse" : { - "type" : "structure", - "members" : { - "FindingIds" : { - "shape" : "FindingIds", - "locationName" : "findingIds" - }, - "NextToken" : { - "shape" : "NextToken", - "locationName" : "nextToken" - } - } - }, - "ListIPSetsRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector that you want to retrieve." - }, - "MaxResults" : { - "shape" : "MaxResults", - "location" : "querystring", - "locationName" : "maxResults", - "documentation" : "You can use this parameter to indicate the maximum number of items that you want in the response. The default value is 7. The maximum value is 7." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "nextToken", - "documentation" : "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListIPSet action. For subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data." + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"GuardDutyArn", + "documentation":"

The Amazon Resource Name (ARN) for the given GuardDuty resource

", + "location":"uri", + "locationName":"resourceArn" } - }, - "required" : [ "DetectorId" ] - }, - "ListIPSetsResponse" : { - "type" : "structure", - "members" : { - "IpSetIds" : { - "shape" : "IpSetIds", - "locationName" : "ipSetIds" - }, - "NextToken" : { - "shape" : "NextToken", - "locationName" : "nextToken" - } - } - }, - "ListInvitationsRequest" : { - "type" : "structure", - "members" : { - "MaxResults" : { - "shape" : "MaxResults", - "location" : "querystring", - "locationName" : "maxResults", - "documentation" : "You can use this parameter to indicate the maximum number of invitations you want in the response. The default value is 50. The maximum value is 50." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "nextToken", - "documentation" : "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListInvitations action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data." - } - } - }, - "ListInvitationsResponse" : { - "type" : "structure", - "members" : { - "Invitations" : { - "shape" : "Invitations", - "locationName" : "invitations" - }, - "NextToken" : { - "shape" : "NextToken", - "locationName" : "nextToken" - } - } - }, - "ListMembersRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector of the GuardDuty account whose members you want to list." - }, - "MaxResults" : { - "shape" : "MaxResults", - "location" : "querystring", - "locationName" : "maxResults", - "documentation" : "You can use this parameter to indicate the maximum number of items you want in the response. The default value is 1. The maximum value is 50." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "nextToken", - "documentation" : "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListMembers action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data." - }, - "OnlyAssociated" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "onlyAssociated", - "documentation" : "Specifies what member accounts the response is to include based on their relationship status with the master account. The default value is TRUE. If onlyAssociated is set to TRUE, the response will include member accounts whose relationship status with the master is set to Enabled, Disabled. If onlyAssociated is set to FALSE, the response will include all existing member accounts." + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagMap", + "locationName":"tags" } - }, - "required" : [ "DetectorId" ] - }, - "ListMembersResponse" : { - "type" : "structure", - "members" : { - "Members" : { - "shape" : "Members", - "locationName" : "members" - }, - "NextToken" : { - "shape" : "NextToken", - "locationName" : "nextToken" - } - } - }, - "ListThreatIntelSetsRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The detectorID that specifies the GuardDuty service whose ThreatIntelSets you want to list." - }, - "MaxResults" : { - "shape" : "MaxResults", - "location" : "querystring", - "locationName" : "maxResults", - "documentation" : "You can use this parameter to indicate the maximum number of items that you want in the response. The default value is 7. The maximum value is 7." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "nextToken", - "documentation" : "Pagination token to start retrieving threat intel sets from." + } + }, + "ListThreatIntelSetsRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector the threatIntelSet is associated with.

", + "location":"uri", + "locationName":"detectorId" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 50. The maximum value is 50.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

", + "location":"querystring", + "locationName":"nextToken" } - }, - "required" : [ "DetectorId" ] + } }, - "ListThreatIntelSetsResponse" : { - "type" : "structure", - "members" : { - "NextToken" : { - "shape" : "NextToken", - "locationName" : "nextToken" + "ListThreatIntelSetsResponse":{ + "type":"structure", + "required":["ThreatIntelSetIds"], + "members":{ + "ThreatIntelSetIds":{ + "shape":"ThreatIntelSetIds", + "documentation":"

The IDs of the ThreatIntelSet resources.

", + "locationName":"threatIntelSetIds" }, - "ThreatIntelSetIds" : { - "shape" : "ThreatIntelSetIds", - "locationName" : "threatIntelSetIds" + "NextToken":{ + "shape":"String", + "documentation":"

Pagination parameter to be used on the next list operation to retrieve more items.

", + "locationName":"nextToken" } } }, - "LocalPortDetails" : { - "type" : "structure", - "members" : { - "Port" : { - "shape" : "__integer", - "locationName" : "port", - "documentation" : "Port number of the local connection." + "LocalPortDetails":{ + "type":"structure", + "members":{ + "Port":{ + "shape":"Integer", + "documentation":"

Port number of the local connection.

", + "locationName":"port" }, - "PortName" : { - "shape" : "__string", - "locationName" : "portName", - "documentation" : "Port name of the local connection." + "PortName":{ + "shape":"String", + "documentation":"

Port name of the local connection.

", + "locationName":"portName" } - }, - "documentation" : "Local port information of the connection." - }, - "Location" : { - "type" : "string", - "documentation" : "The location of the S3 bucket where the list resides. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key)" - }, - "Master" : { - "type" : "structure", - "members" : { - "AccountId" : { - "shape" : "__string", - "locationName" : "accountId", - "documentation" : "Master account ID" - }, - "InvitationId" : { - "shape" : "InvitationId", - "locationName" : "invitationId", - "documentation" : "This value is used to validate the master account to the member account." - }, - "InvitedAt" : { - "shape" : "InvitedAt", - "locationName" : "invitedAt", - "documentation" : "Timestamp at which the invitation was sent" - }, - "RelationshipStatus" : { - "shape" : "__string", - "locationName" : "relationshipStatus", - "documentation" : "The status of the relationship between the master and member accounts." + } + }, + "Location":{ + "type":"string", + "max":300, + "min":1 + }, + "Long":{"type":"long"}, + "Master":{ + "type":"structure", + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

Master account ID

", + "locationName":"accountId" + }, + "InvitationId":{ + "shape":"String", + "documentation":"

This value is used to validate the master account to the member account.

", + "locationName":"invitationId" + }, + "RelationshipStatus":{ + "shape":"String", + "documentation":"

The status of the relationship between the master and member accounts.

", + "locationName":"relationshipStatus" + }, + "InvitedAt":{ + "shape":"String", + "documentation":"

Timestamp at which the invitation was sent

", + "locationName":"invitedAt" } - }, - "documentation" : "Contains details about the master account." - }, - "MasterId" : { - "type" : "string", - "documentation" : "The master account ID." - }, - "MaxResults" : { - "type" : "integer", - "min" : 1, - "max" : 50 - }, - "Member" : { - "type" : "structure", - "members" : { - "AccountId" : { - "shape" : "AccountId", - "locationName" : "accountId" - }, - "DetectorId" : { - "shape" : "DetectorId", - "locationName" : "detectorId" - }, - "Email" : { - "shape" : "Email", - "locationName" : "email", - "documentation" : "Member account's email address." - }, - "InvitedAt" : { - "shape" : "InvitedAt", - "locationName" : "invitedAt", - "documentation" : "Timestamp at which the invitation was sent" - }, - "MasterId" : { - "shape" : "MasterId", - "locationName" : "masterId" - }, - "RelationshipStatus" : { - "shape" : "__string", - "locationName" : "relationshipStatus", - "documentation" : "The status of the relationship between the member and the master." - }, - "UpdatedAt" : { - "shape" : "UpdatedAt", - "locationName" : "updatedAt" + } + }, + "MaxResults":{ + "type":"integer", + "max":50, + "min":1 + }, + "Member":{ + "type":"structure", + "required":[ + "AccountId", + "MasterId", + "Email", + "RelationshipStatus", + "UpdatedAt" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

Member account ID.

", + "locationName":"accountId" + }, + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

Member account's detector ID.

", + "locationName":"detectorId" + }, + "MasterId":{ + "shape":"String", + "documentation":"

Master account ID.

", + "locationName":"masterId" + }, + "Email":{ + "shape":"Email", + "documentation":"

Member account's email address.

", + "locationName":"email" + }, + "RelationshipStatus":{ + "shape":"String", + "documentation":"

The status of the relationship between the member and the master.

", + "locationName":"relationshipStatus" + }, + "InvitedAt":{ + "shape":"String", + "documentation":"

Timestamp at which the invitation was sent

", + "locationName":"invitedAt" + }, + "UpdatedAt":{ + "shape":"String", + "documentation":"

Member last updated timestamp.

", + "locationName":"updatedAt" } - }, - "documentation" : "Contains details about the member account.", - "required" : [ "Email", "AccountId", "MasterId", "UpdatedAt", "RelationshipStatus" ] - }, - "Members" : { - "type" : "list", - "documentation" : "A list of member descriptions.", - "member" : { - "shape" : "Member" - } - }, - "Message" : { - "type" : "string", - "documentation" : "The invitation message that you want to send to the accounts that you’re inviting to GuardDuty as members." - }, - "Name" : { - "type" : "string", - "documentation" : "The user-friendly name to identify the list." - }, - "Neq" : { - "type" : "list", - "documentation" : "Represents the not equal condition to be applied to a single field when querying for findings.", - "member" : { - "shape" : "__string" - } - }, - "NetworkConnectionAction" : { - "type" : "structure", - "members" : { - "Blocked" : { - "shape" : "__boolean", - "locationName" : "blocked", - "documentation" : "Network connection blocked information." - }, - "ConnectionDirection" : { - "shape" : "__string", - "locationName" : "connectionDirection", - "documentation" : "Network connection direction." - }, - "LocalPortDetails" : { - "shape" : "LocalPortDetails", - "locationName" : "localPortDetails", - "documentation" : "Local port information of the connection." - }, - "Protocol" : { - "shape" : "__string", - "locationName" : "protocol", - "documentation" : "Network connection protocol." - }, - "RemoteIpDetails" : { - "shape" : "RemoteIpDetails", - "locationName" : "remoteIpDetails", - "documentation" : "Remote IP information of the connection." - }, - "RemotePortDetails" : { - "shape" : "RemotePortDetails", - "locationName" : "remotePortDetails", - "documentation" : "Remote port information of the connection." + } + }, + "Members":{ + "type":"list", + "member":{"shape":"Member"}, + "max":50, + "min":0 + }, + "Name":{ + "type":"string", + "max":300, + "min":1 + }, + "Neq":{ + "type":"list", + "member":{"shape":"String"} + }, + "NetworkConnectionAction":{ + "type":"structure", + "members":{ + "Blocked":{ + "shape":"Boolean", + "documentation":"

Network connection blocked information.

", + "locationName":"blocked" + }, + "ConnectionDirection":{ + "shape":"String", + "documentation":"

Network connection direction.

", + "locationName":"connectionDirection" + }, + "LocalPortDetails":{ + "shape":"LocalPortDetails", + "documentation":"

Local port information of the connection.

", + "locationName":"localPortDetails" + }, + "Protocol":{ + "shape":"String", + "documentation":"

Network connection protocol.

", + "locationName":"protocol" + }, + "RemoteIpDetails":{ + "shape":"RemoteIpDetails", + "documentation":"

Remote IP information of the connection.

", + "locationName":"remoteIpDetails" + }, + "RemotePortDetails":{ + "shape":"RemotePortDetails", + "documentation":"

Remote port information of the connection.

", + "locationName":"remotePortDetails" } - }, - "documentation" : "Information about the NETWORK_CONNECTION action described in this finding." - }, - "NetworkInterface" : { - "type" : "structure", - "members" : { - "Ipv6Addresses" : { - "shape" : "Ipv6Addresses", - "locationName" : "ipv6Addresses", - "documentation" : "A list of EC2 instance IPv6 address information." - }, - "NetworkInterfaceId" : { - "shape" : "NetworkInterfaceId", - "locationName" : "networkInterfaceId", - "documentation" : "The ID of the network interface" - }, - "PrivateDnsName" : { - "shape" : "PrivateDnsName", - "locationName" : "privateDnsName", - "documentation" : "Private DNS name of the EC2 instance." - }, - "PrivateIpAddress" : { - "shape" : "PrivateIpAddress", - "locationName" : "privateIpAddress", - "documentation" : "Private IP address of the EC2 instance." - }, - "PrivateIpAddresses" : { - "shape" : "PrivateIpAddresses", - "locationName" : "privateIpAddresses", - "documentation" : "Other private IP address information of the EC2 instance." - }, - "PublicDnsName" : { - "shape" : "__string", - "locationName" : "publicDnsName", - "documentation" : "Public DNS name of the EC2 instance." - }, - "PublicIp" : { - "shape" : "__string", - "locationName" : "publicIp", - "documentation" : "Public IP address of the EC2 instance." - }, - "SecurityGroups" : { - "shape" : "SecurityGroups", - "locationName" : "securityGroups", - "documentation" : "Security groups associated with the EC2 instance." - }, - "SubnetId" : { - "shape" : "__string", - "locationName" : "subnetId", - "documentation" : "The subnet ID of the EC2 instance." - }, - "VpcId" : { - "shape" : "__string", - "locationName" : "vpcId", - "documentation" : "The VPC ID of the EC2 instance." + } + }, + "NetworkInterface":{ + "type":"structure", + "members":{ + "Ipv6Addresses":{ + "shape":"Ipv6Addresses", + "documentation":"

A list of EC2 instance IPv6 address information.

", + "locationName":"ipv6Addresses" + }, + "NetworkInterfaceId":{ + "shape":"String", + "documentation":"

The ID of the network interface

", + "locationName":"networkInterfaceId" + }, + "PrivateDnsName":{ + "shape":"String", + "documentation":"

Private DNS name of the EC2 instance.

", + "locationName":"privateDnsName" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

Private IP address of the EC2 instance.

", + "locationName":"privateIpAddress" + }, + "PrivateIpAddresses":{ + "shape":"PrivateIpAddresses", + "documentation":"

Other private IP address information of the EC2 instance.

", + "locationName":"privateIpAddresses" + }, + "PublicDnsName":{ + "shape":"String", + "documentation":"

Public DNS name of the EC2 instance.

", + "locationName":"publicDnsName" + }, + "PublicIp":{ + "shape":"String", + "documentation":"

Public IP address of the EC2 instance.

", + "locationName":"publicIp" + }, + "SecurityGroups":{ + "shape":"SecurityGroups", + "documentation":"

Security groups associated with the EC2 instance.

", + "locationName":"securityGroups" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The subnet ID of the EC2 instance.

", + "locationName":"subnetId" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The VPC ID of the EC2 instance.

", + "locationName":"vpcId" } - }, - "documentation" : "The network interface information of the EC2 instance." - }, - "NetworkInterfaceId" : { - "type" : "string", - "documentation" : "The ID of the network interface." - }, - "NetworkInterfaces" : { - "type" : "list", - "documentation" : "The network interface information of the EC2 instance.", - "member" : { - "shape" : "NetworkInterface" - } - }, - "NextToken" : { - "type" : "string", - "documentation" : "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data." - }, - "OrderBy" : { - "type" : "string", - "enum" : [ "ASC", "DESC" ] - }, - "Organization" : { - "type" : "structure", - "members" : { - "Asn" : { - "shape" : "__string", - "locationName" : "asn", - "documentation" : "Autonomous system number of the internet provider of the remote IP address." - }, - "AsnOrg" : { - "shape" : "__string", - "locationName" : "asnOrg", - "documentation" : "Organization that registered this ASN." - }, - "Isp" : { - "shape" : "__string", - "locationName" : "isp", - "documentation" : "ISP information for the internet provider." - }, - "Org" : { - "shape" : "__string", - "locationName" : "org", - "documentation" : "Name of the internet provider." + } + }, + "NetworkInterfaces":{ + "type":"list", + "member":{"shape":"NetworkInterface"} + }, + "NotEquals":{ + "type":"list", + "member":{"shape":"String"} + }, + "OrderBy":{ + "type":"string", + "enum":[ + "ASC", + "DESC" + ] + }, + "Organization":{ + "type":"structure", + "members":{ + "Asn":{ + "shape":"String", + "documentation":"

Autonomous system number of the internet provider of the remote IP address.

", + "locationName":"asn" + }, + "AsnOrg":{ + "shape":"String", + "documentation":"

Organization that registered this ASN.

", + "locationName":"asnOrg" + }, + "Isp":{ + "shape":"String", + "documentation":"

ISP information for the internet provider.

", + "locationName":"isp" + }, + "Org":{ + "shape":"String", + "documentation":"

Name of the internet provider.

", + "locationName":"org" } - }, - "documentation" : "ISP Organization information of the remote IP address." + } }, - "PortProbeAction" : { - "type" : "structure", - "members" : { - "Blocked" : { - "shape" : "__boolean", - "locationName" : "blocked", - "documentation" : "Port probe blocked information." + "PortProbeAction":{ + "type":"structure", + "members":{ + "Blocked":{ + "shape":"Boolean", + "documentation":"

Port probe blocked information.

", + "locationName":"blocked" }, - "PortProbeDetails" : { - "shape" : "__listOfPortProbeDetail", - "locationName" : "portProbeDetails", - "documentation" : "A list of port probe details objects." + "PortProbeDetails":{ + "shape":"PortProbeDetails", + "documentation":"

A list of port probe details objects.

", + "locationName":"portProbeDetails" } - }, - "documentation" : "Information about the PORT_PROBE action described in this finding." + } }, - "PortProbeDetail" : { - "type" : "structure", - "members" : { - "LocalPortDetails" : { - "shape" : "LocalPortDetails", - "locationName" : "localPortDetails", - "documentation" : "Local port information of the connection." + "PortProbeDetail":{ + "type":"structure", + "members":{ + "LocalPortDetails":{ + "shape":"LocalPortDetails", + "documentation":"

Local port information of the connection.

", + "locationName":"localPortDetails" }, - "RemoteIpDetails" : { - "shape" : "RemoteIpDetails", - "locationName" : "remoteIpDetails", - "documentation" : "Remote IP information of the connection." + "RemoteIpDetails":{ + "shape":"RemoteIpDetails", + "documentation":"

Remote IP information of the connection.

", + "locationName":"remoteIpDetails" } - }, - "documentation" : "Details about the port probe finding." - }, - "PrivateDnsName" : { - "type" : "string", - "documentation" : "Private DNS name of the EC2 instance." + } }, - "PrivateIpAddress" : { - "type" : "string", - "documentation" : "Private IP address of the EC2 instance." + "PortProbeDetails":{ + "type":"list", + "member":{"shape":"PortProbeDetail"} }, - "PrivateIpAddressDetails" : { - "type" : "structure", - "members" : { - "PrivateDnsName" : { - "shape" : "PrivateDnsName", - "locationName" : "privateDnsName", - "documentation" : "Private DNS name of the EC2 instance." + "PrivateIpAddressDetails":{ + "type":"structure", + "members":{ + "PrivateDnsName":{ + "shape":"String", + "documentation":"

Private DNS name of the EC2 instance.

", + "locationName":"privateDnsName" }, - "PrivateIpAddress" : { - "shape" : "PrivateIpAddress", - "locationName" : "privateIpAddress", - "documentation" : "Private IP address of the EC2 instance." + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

Private IP address of the EC2 instance.

", + "locationName":"privateIpAddress" } - }, - "documentation" : "Other private IP address information of the EC2 instance." - }, - "PrivateIpAddresses" : { - "type" : "list", - "documentation" : "Other private IP address information of the EC2 instance.", - "member" : { - "shape" : "PrivateIpAddressDetails" } }, - "ProductCode" : { - "type" : "structure", - "members" : { - "Code" : { - "shape" : "__string", - "locationName" : "code", - "documentation" : "Product code information." + "PrivateIpAddresses":{ + "type":"list", + "member":{"shape":"PrivateIpAddressDetails"} + }, + "ProductCode":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"String", + "documentation":"

Product code information.

", + "locationName":"code" }, - "ProductType" : { - "shape" : "__string", - "locationName" : "productType", - "documentation" : "Product code type." + "ProductType":{ + "shape":"String", + "documentation":"

Product code type.

", + "locationName":"productType" } - }, - "documentation" : "The product code of the EC2 instance." - }, - "ProductCodes" : { - "type" : "list", - "documentation" : "The product code of the EC2 instance.", - "member" : { - "shape" : "ProductCode" - } - }, - "RemoteIpDetails" : { - "type" : "structure", - "members" : { - "City" : { - "shape" : "City", - "locationName" : "city", - "documentation" : "City information of the remote IP address." - }, - "Country" : { - "shape" : "Country", - "locationName" : "country", - "documentation" : "Country code of the remote IP address." - }, - "GeoLocation" : { - "shape" : "GeoLocation", - "locationName" : "geoLocation", - "documentation" : "Location information of the remote IP address." - }, - "IpAddressV4" : { - "shape" : "__string", - "locationName" : "ipAddressV4", - "documentation" : "IPV4 remote address of the connection." - }, - "Organization" : { - "shape" : "Organization", - "locationName" : "organization", - "documentation" : "ISP Organization information of the remote IP address." + } + }, + "ProductCodes":{ + "type":"list", + "member":{"shape":"ProductCode"} + }, + "RemoteIpDetails":{ + "type":"structure", + "members":{ + "City":{ + "shape":"City", + "documentation":"

City information of the remote IP address.

", + "locationName":"city" + }, + "Country":{ + "shape":"Country", + "documentation":"

Country code of the remote IP address.

", + "locationName":"country" + }, + "GeoLocation":{ + "shape":"GeoLocation", + "documentation":"

Location information of the remote IP address.

", + "locationName":"geoLocation" + }, + "IpAddressV4":{ + "shape":"String", + "documentation":"

IPV4 remote address of the connection.

", + "locationName":"ipAddressV4" + }, + "Organization":{ + "shape":"Organization", + "documentation":"

ISP Organization information of the remote IP address.

", + "locationName":"organization" } - }, - "documentation" : "Remote IP information of the connection." + } }, - "RemotePortDetails" : { - "type" : "structure", - "members" : { - "Port" : { - "shape" : "__integer", - "locationName" : "port", - "documentation" : "Port number of the remote connection." + "RemotePortDetails":{ + "type":"structure", + "members":{ + "Port":{ + "shape":"Integer", + "documentation":"

Port number of the remote connection.

", + "locationName":"port" }, - "PortName" : { - "shape" : "__string", - "locationName" : "portName", - "documentation" : "Port name of the remote connection." + "PortName":{ + "shape":"String", + "documentation":"

Port name of the remote connection.

", + "locationName":"portName" } - }, - "documentation" : "Remote port information of the connection." + } }, - "Resource" : { - "type" : "structure", - "members" : { - "AccessKeyDetails" : { - "shape" : "AccessKeyDetails", - "locationName" : "accessKeyDetails" + "Resource":{ + "type":"structure", + "members":{ + "AccessKeyDetails":{ + "shape":"AccessKeyDetails", + "documentation":"

The IAM access key details (IAM user information) of a user that engaged in the activity that prompted GuardDuty to generate a finding.

", + "locationName":"accessKeyDetails" }, - "InstanceDetails" : { - "shape" : "InstanceDetails", - "locationName" : "instanceDetails" + "InstanceDetails":{ + "shape":"InstanceDetails", + "documentation":"

The information about the EC2 instance associated with the activity that prompted GuardDuty to generate a finding.

", + "locationName":"instanceDetails" }, - "ResourceType" : { - "shape" : "__string", - "locationName" : "resourceType", - "documentation" : "The type of the AWS resource." + "ResourceType":{ + "shape":"String", + "documentation":"

The type of the AWS resource.

", + "locationName":"resourceType" } - }, - "documentation" : "The AWS resource associated with the activity that prompted GuardDuty to generate a finding." + } }, - "SecurityGroup" : { - "type" : "structure", - "members" : { - "GroupId" : { - "shape" : "__string", - "locationName" : "groupId", - "documentation" : "EC2 instance's security group ID." + "SecurityGroup":{ + "type":"structure", + "members":{ + "GroupId":{ + "shape":"String", + "documentation":"

EC2 instance's security group ID.

", + "locationName":"groupId" }, - "GroupName" : { - "shape" : "__string", - "locationName" : "groupName", - "documentation" : "EC2 instance's security group name." - } - }, - "documentation" : "Security groups associated with the EC2 instance." - }, - "SecurityGroups" : { - "type" : "list", - "documentation" : "Security groups associated with the EC2 instance.", - "member" : { - "shape" : "SecurityGroup" - } - }, - "Service" : { - "type" : "structure", - "members" : { - "Action" : { - "shape" : "Action", - "locationName" : "action", - "documentation" : "Information about the activity described in a finding." - }, - "Archived" : { - "shape" : "__boolean", - "locationName" : "archived", - "documentation" : "Indicates whether this finding is archived." - }, - "Count" : { - "shape" : "__integer", - "locationName" : "count", - "documentation" : "Total count of the occurrences of this finding type." - }, - "DetectorId" : { - "shape" : "DetectorId", - "locationName" : "detectorId", - "documentation" : "Detector ID for the GuardDuty service." - }, - "EventFirstSeen" : { - "shape" : "__string", - "locationName" : "eventFirstSeen", - "documentation" : "First seen timestamp of the activity that prompted GuardDuty to generate this finding." - }, - "EventLastSeen" : { - "shape" : "__string", - "locationName" : "eventLastSeen", - "documentation" : "Last seen timestamp of the activity that prompted GuardDuty to generate this finding." - }, - "ResourceRole" : { - "shape" : "__string", - "locationName" : "resourceRole", - "documentation" : "Resource role information for this finding." - }, - "ServiceName" : { - "shape" : "__string", - "locationName" : "serviceName", - "documentation" : "The name of the AWS service (GuardDuty) that generated a finding." - }, - "UserFeedback" : { - "shape" : "__string", - "locationName" : "userFeedback", - "documentation" : "Feedback left about the finding." + "GroupName":{ + "shape":"String", + "documentation":"

EC2 instance's security group name.

", + "locationName":"groupName" } - }, - "documentation" : "Additional information assigned to the generated finding by GuardDuty." + } }, - "ServiceRole" : { - "type" : "string", - "documentation" : "Customer serviceRole name or ARN for accessing customer resources" + "SecurityGroups":{ + "type":"list", + "member":{"shape":"SecurityGroup"} + }, + "Service":{ + "type":"structure", + "members":{ + "Action":{ + "shape":"Action", + "documentation":"

Information about the activity described in a finding.

", + "locationName":"action" + }, + "Archived":{ + "shape":"Boolean", + "documentation":"

Indicates whether this finding is archived.

", + "locationName":"archived" + }, + "Count":{ + "shape":"Integer", + "documentation":"

Total count of the occurrences of this finding type.

", + "locationName":"count" + }, + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

Detector ID for the GuardDuty service.

", + "locationName":"detectorId" + }, + "EventFirstSeen":{ + "shape":"String", + "documentation":"

First seen timestamp of the activity that prompted GuardDuty to generate this finding.

", + "locationName":"eventFirstSeen" + }, + "EventLastSeen":{ + "shape":"String", + "documentation":"

Last seen timestamp of the activity that prompted GuardDuty to generate this finding.

", + "locationName":"eventLastSeen" + }, + "ResourceRole":{ + "shape":"String", + "documentation":"

Resource role information for this finding.

", + "locationName":"resourceRole" + }, + "ServiceName":{ + "shape":"String", + "documentation":"

The name of the AWS service (GuardDuty) that generated a finding.

", + "locationName":"serviceName" + }, + "UserFeedback":{ + "shape":"String", + "documentation":"

Feedback left about the finding.

", + "locationName":"userFeedback" + } + } }, - "SortCriteria" : { - "type" : "structure", - "members" : { - "AttributeName" : { - "shape" : "__string", - "locationName" : "attributeName", - "documentation" : "Represents the finding attribute (for example, accountId) by which to sort findings." + "SortCriteria":{ + "type":"structure", + "members":{ + "AttributeName":{ + "shape":"String", + "documentation":"

Represents the finding attribute (for example, accountId) by which to sort findings.

", + "locationName":"attributeName" }, - "OrderBy" : { - "shape" : "OrderBy", - "locationName" : "orderBy", - "documentation" : "Order by which the sorted findings are to be displayed." + "OrderBy":{ + "shape":"OrderBy", + "documentation":"

Order by which the sorted findings are to be displayed.

", + "locationName":"orderBy" } - }, - "documentation" : "Represents the criteria used for sorting findings." - }, - "StartMonitoringMembersRequest" : { - "type" : "structure", - "members" : { - "AccountIds" : { - "shape" : "AccountIds", - "locationName" : "accountIds", - "documentation" : "A list of account IDs of the GuardDuty member accounts whose findings you want the master account to monitor." - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector of the GuardDuty account whom you want to re-enable to monitor members' findings." + } + }, + "StartMonitoringMembersRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "AccountIds" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector of the GuardDuty account whom you want to re-enable to monitor members' findings.

", + "location":"uri", + "locationName":"detectorId" + }, + "AccountIds":{ + "shape":"AccountIds", + "documentation":"

A list of account IDs of the GuardDuty member accounts whose findings you want the master account to monitor.

", + "locationName":"accountIds" } - }, - "documentation" : "StartMonitoringMembers request body.", - "required" : [ "DetectorId", "AccountIds" ] + } }, - "StartMonitoringMembersResponse" : { - "type" : "structure", - "members" : { - "UnprocessedAccounts" : { - "shape" : "UnprocessedAccounts", - "locationName" : "unprocessedAccounts", - "documentation" : "A list of objects containing the unprocessed account and a result string explaining why it was unprocessed." + "StartMonitoringMembersResponse":{ + "type":"structure", + "required":["UnprocessedAccounts"], + "members":{ + "UnprocessedAccounts":{ + "shape":"UnprocessedAccounts", + "documentation":"

A list of objects containing the unprocessed account and a result string explaining why it was unprocessed.

", + "locationName":"unprocessedAccounts" } } }, - "StopMonitoringMembersRequest" : { - "type" : "structure", - "members" : { - "AccountIds" : { - "shape" : "AccountIds", - "locationName" : "accountIds", - "documentation" : "A list of account IDs of the GuardDuty member accounts whose findings you want the master account to stop monitoring." - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector of the GuardDuty account that you want to stop from monitor members' findings." + "StopMonitoringMembersRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "AccountIds" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector of the GuardDuty account that you want to stop from monitor members' findings.

", + "location":"uri", + "locationName":"detectorId" + }, + "AccountIds":{ + "shape":"AccountIds", + "documentation":"

A list of account IDs of the GuardDuty member accounts whose findings you want the master account to stop monitoring.

", + "locationName":"accountIds" } - }, - "documentation" : "StopMonitoringMembers request body.", - "required" : [ "DetectorId", "AccountIds" ] + } }, - "StopMonitoringMembersResponse" : { - "type" : "structure", - "members" : { - "UnprocessedAccounts" : { - "shape" : "UnprocessedAccounts", - "locationName" : "unprocessedAccounts", - "documentation" : "A list of objects containing the unprocessed account and a result string explaining why it was unprocessed." + "StopMonitoringMembersResponse":{ + "type":"structure", + "required":["UnprocessedAccounts"], + "members":{ + "UnprocessedAccounts":{ + "shape":"UnprocessedAccounts", + "documentation":"

A list of objects containing the unprocessed account and a result string explaining why it was unprocessed.

", + "locationName":"unprocessedAccounts" } } }, - "Tag" : { - "type" : "structure", - "members" : { - "Key" : { - "shape" : "__string", - "locationName" : "key", - "documentation" : "EC2 instance tag key." + "String":{"type":"string"}, + "Tag":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"String", + "documentation":"

EC2 instance tag key.

", + "locationName":"key" }, - "Value" : { - "shape" : "__string", - "locationName" : "value", - "documentation" : "EC2 instance tag value." - } - }, - "documentation" : "A tag of the EC2 instance." - }, - "Tags" : { - "type" : "list", - "documentation" : "The tags of the EC2 instance.", - "member" : { - "shape" : "Tag" - } - }, - "ThreatIntelSetFormat" : { - "type" : "string", - "documentation" : "The format of the threatIntelSet.", - "enum" : [ "TXT", "STIX", "OTX_CSV", "ALIEN_VAULT", "PROOF_POINT", "FIRE_EYE" ] - }, - "ThreatIntelSetId" : { - "type" : "string", - "documentation" : "The unique identifier for an threat intel set" - }, - "ThreatIntelSetIds" : { - "type" : "list", - "documentation" : "The list of the threat intel set IDs", - "member" : { - "shape" : "ThreatIntelSetId" - } - }, - "ThreatIntelSetStatus" : { - "type" : "string", - "documentation" : "The status of threatIntelSet file uploaded.", - "enum" : [ "INACTIVE", "ACTIVATING", "ACTIVE", "DEACTIVATING", "ERROR", "DELETE_PENDING", "DELETED" ] - }, - "UnarchiveFindingsRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The ID of the detector that specifies the GuardDuty service whose findings you want to unarchive." - }, - "FindingIds" : { - "shape" : "FindingIds", - "locationName" : "findingIds", - "documentation" : "IDs of the findings that you want to unarchive." - } - }, - "documentation" : "UnarchiveFindings request body.", - "required" : [ "DetectorId", "FindingIds" ] - }, - "UnarchiveFindingsResponse" : { - "type" : "structure", - "members" : { } - }, - "UnprocessedAccount" : { - "type" : "structure", - "members" : { - "AccountId" : { - "shape" : "__string", - "locationName" : "accountId", - "documentation" : "AWS Account ID." - }, - "Result" : { - "shape" : "__string", - "locationName" : "result", - "documentation" : "A reason why the account hasn't been processed." + "Value":{ + "shape":"String", + "documentation":"

EC2 instance tag value.

", + "locationName":"value" } - }, - "documentation" : "An object containing the unprocessed account and a result string explaining why it was unprocessed.", - "required" : [ "AccountId", "Result" ] - }, - "UnprocessedAccounts" : { - "type" : "list", - "documentation" : "A list of objects containing the unprocessed account and a result string explaining why it was unprocessed.", - "member" : { - "shape" : "UnprocessedAccount" - } - }, - "UpdateDetectorRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector that you want to update." - }, - "Enable" : { - "shape" : "Enable", - "locationName" : "enable", - "documentation" : "Updated boolean value for the detector that specifies whether the detector is enabled." - }, - "FindingPublishingFrequency" : { - "shape" : "FindingPublishingFrequency", - "locationName" : "findingPublishingFrequency", - "documentation" : "A enum value that specifies how frequently customer got Finding updates published." - } - }, - "documentation" : "UpdateDetector request body.", - "required" : [ "DetectorId" ] - }, - "UpdateDetectorResponse" : { - "type" : "structure", - "members" : { } - }, - "UpdateFilterRequest" : { - "type" : "structure", - "members" : { - "Action" : { - "shape" : "FilterAction", - "locationName" : "action", - "documentation" : "Specifies the action that is to be applied to the findings that match the filter." - }, - "Description" : { - "shape" : "FilterDescription", - "locationName" : "description", - "documentation" : "The description of the filter." - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector that specifies the GuardDuty service where you want to update a filter." - }, - "FilterName" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "filterName", - "documentation" : "The name of the filter." - }, - "FindingCriteria" : { - "shape" : "FindingCriteria", - "locationName" : "findingCriteria", - "documentation" : "Represents the criteria to be used in the filter for querying findings." - }, - "Rank" : { - "shape" : "FilterRank", - "locationName" : "rank", - "documentation" : "Specifies the position of the filter in the list of current filters. Also specifies the order in which this filter is applied to the findings." - } - }, - "documentation" : "UpdateFilterRequest request body.", - "required" : [ "DetectorId", "FilterName" ] - }, - "UpdateFilterResponse" : { - "type" : "structure", - "members" : { - "Name" : { - "shape" : "FilterName", - "locationName" : "name", - "documentation" : "The name of the filter." - } - } - }, - "UpdateFindingsFeedbackRequest" : { - "type" : "structure", - "members" : { - "Comments" : { - "shape" : "Comments", - "locationName" : "comments", - "documentation" : "Additional feedback about the GuardDuty findings." - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The ID of the detector that specifies the GuardDuty service whose findings you want to mark as useful or not useful." - }, - "Feedback" : { - "shape" : "Feedback", - "locationName" : "feedback", - "documentation" : "Valid values: USEFUL | NOT_USEFUL" - }, - "FindingIds" : { - "shape" : "FindingIds", - "locationName" : "findingIds", - "documentation" : "IDs of the findings that you want to mark as useful or not useful." + } + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^(?!aws:)[a-zA-Z+-=._:/]+$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":1 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":200, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"GuardDutyArn", + "documentation":"

The Amazon Resource Name (ARN) for the given GuardDuty resource

", + "location":"uri", + "locationName":"resourceArn" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

The tags to be added to a resource.

", + "locationName":"tags" } - }, - "documentation" : "UpdateFindingsFeedback request body.", - "required" : [ "DetectorId", "Feedback", "FindingIds" ] - }, - "UpdateFindingsFeedbackResponse" : { - "type" : "structure", - "members" : { } - }, - "UpdateIPSetRequest" : { - "type" : "structure", - "members" : { - "Activate" : { - "shape" : "Activate", - "locationName" : "activate", - "documentation" : "The updated boolean value that specifies whether the IPSet is active or not." - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The detectorID that specifies the GuardDuty service whose IPSet you want to update." - }, - "IpSetId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "ipSetId", - "documentation" : "The unique ID that specifies the IPSet that you want to update." - }, - "Location" : { - "shape" : "Location", - "locationName" : "location", - "documentation" : "The updated URI of the file that contains the IPSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key)." - }, - "Name" : { - "shape" : "Name", - "locationName" : "name", - "documentation" : "The unique ID that specifies the IPSet that you want to update." + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256 + }, + "Tags":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "ThreatIntelSetFormat":{ + "type":"string", + "enum":[ + "TXT", + "STIX", + "OTX_CSV", + "ALIEN_VAULT", + "PROOF_POINT", + "FIRE_EYE" + ], + "max":300, + "min":1 + }, + "ThreatIntelSetIds":{ + "type":"list", + "member":{"shape":"String"}, + "max":50, + "min":0 + }, + "ThreatIntelSetStatus":{ + "type":"string", + "enum":[ + "INACTIVE", + "ACTIVATING", + "ACTIVE", + "DEACTIVATING", + "ERROR", + "DELETE_PENDING", + "DELETED" + ], + "max":300, + "min":1 + }, + "UnarchiveFindingsRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "FindingIds" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The ID of the detector that specifies the GuardDuty service whose findings you want to unarchive.

", + "location":"uri", + "locationName":"detectorId" + }, + "FindingIds":{ + "shape":"FindingIds", + "documentation":"

IDs of the findings that you want to unarchive.

", + "locationName":"findingIds" } - }, - "documentation" : "UpdateIPSet request body.", - "required" : [ "DetectorId", "IpSetId" ] - }, - "UpdateIPSetResponse" : { - "type" : "structure", - "members" : { } - }, - "UpdateThreatIntelSetRequest" : { - "type" : "structure", - "members" : { - "Activate" : { - "shape" : "Activate", - "locationName" : "activate", - "documentation" : "The updated boolean value that specifies whether the ThreateIntelSet is active or not." - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The detectorID that specifies the GuardDuty service whose ThreatIntelSet you want to update." - }, - "Location" : { - "shape" : "Location", - "locationName" : "location", - "documentation" : "The updated URI of the file that contains the ThreateIntelSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key)" - }, - "Name" : { - "shape" : "Name", - "locationName" : "name", - "documentation" : "The unique ID that specifies the ThreatIntelSet that you want to update." - }, - "ThreatIntelSetId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "threatIntelSetId", - "documentation" : "The unique ID that specifies the ThreatIntelSet that you want to update." + } + }, + "UnarchiveFindingsResponse":{ + "type":"structure", + "members":{ + } + }, + "UnprocessedAccount":{ + "type":"structure", + "required":[ + "AccountId", + "Result" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

AWS Account ID.

", + "locationName":"accountId" + }, + "Result":{ + "shape":"String", + "documentation":"

A reason why the account hasn't been processed.

", + "locationName":"result" } - }, - "documentation" : "UpdateThreatIntelSet request body.", - "required" : [ "ThreatIntelSetId", "DetectorId" ] + } }, - "UpdateThreatIntelSetResponse" : { - "type" : "structure", - "members" : { } + "UnprocessedAccounts":{ + "type":"list", + "member":{"shape":"UnprocessedAccount"}, + "max":50, + "min":0 + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"GuardDutyArn", + "documentation":"

The Amazon Resource Name (ARN) for the given GuardDuty resource

", + "location":"uri", + "locationName":"resourceArn" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

The tag keys to remove from a resource.

", + "location":"querystring", + "locationName":"tagKeys" + } + } }, - "UpdatedAt" : { - "type" : "string", - "documentation" : "The first time a resource was created. The format will be ISO-8601." + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } }, - "__boolean" : { - "type" : "boolean" + "UpdateDetectorRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector that you want to update.

", + "location":"uri", + "locationName":"detectorId" + }, + "Enable":{ + "shape":"Boolean", + "documentation":"

Updated boolean value for the detector that specifies whether the detector is enabled.

", + "locationName":"enable" + }, + "FindingPublishingFrequency":{ + "shape":"FindingPublishingFrequency", + "documentation":"

A enum value that specifies how frequently customer got Finding updates published.

", + "locationName":"findingPublishingFrequency" + } + } }, - "__double" : { - "type" : "double" + "UpdateDetectorResponse":{ + "type":"structure", + "members":{ + } }, - "__integer" : { - "type" : "integer" + "UpdateFilterRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "FilterName" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector that specifies the GuardDuty service where you want to update a filter.

", + "location":"uri", + "locationName":"detectorId" + }, + "FilterName":{ + "shape":"String", + "documentation":"

The name of the filter.

", + "location":"uri", + "locationName":"filterName" + }, + "Description":{ + "shape":"FilterDescription", + "documentation":"

The description of the filter.

", + "locationName":"description" + }, + "Action":{ + "shape":"FilterAction", + "documentation":"

Specifies the action that is to be applied to the findings that match the filter.

", + "locationName":"action" + }, + "Rank":{ + "shape":"FilterRank", + "documentation":"

Specifies the position of the filter in the list of current filters. Also specifies the order in which this filter is applied to the findings.

", + "locationName":"rank" + }, + "FindingCriteria":{ + "shape":"FindingCriteria", + "documentation":"

Represents the criteria to be used in the filter for querying findings.

", + "locationName":"findingCriteria" + } + } }, - "__listOfPortProbeDetail" : { - "type" : "list", - "member" : { - "shape" : "PortProbeDetail" + "UpdateFilterResponse":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"FilterName", + "documentation":"

The name of the filter.

", + "locationName":"name" + } } }, - "__long" : { - "type" : "long" + "UpdateFindingsFeedbackRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "FindingIds", + "Feedback" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The ID of the detector that specifies the GuardDuty service whose findings you want to mark as useful or not useful.

", + "location":"uri", + "locationName":"detectorId" + }, + "FindingIds":{ + "shape":"FindingIds", + "documentation":"

IDs of the findings that you want to mark as useful or not useful.

", + "locationName":"findingIds" + }, + "Feedback":{ + "shape":"Feedback", + "documentation":"

Valid values: USEFUL | NOT_USEFUL

", + "locationName":"feedback" + }, + "Comments":{ + "shape":"String", + "documentation":"

Additional feedback about the GuardDuty findings.

", + "locationName":"comments" + } + } }, - "__mapOfCondition" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "Condition" + "UpdateFindingsFeedbackResponse":{ + "type":"structure", + "members":{ } }, - "__mapOfCountBySeverityFindingStatistic" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "CountBySeverityFindingStatistic" + "UpdateIPSetRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "IpSetId" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The detectorID that specifies the GuardDuty service whose IPSet you want to update.

", + "location":"uri", + "locationName":"detectorId" + }, + "IpSetId":{ + "shape":"String", + "documentation":"

The unique ID that specifies the IPSet that you want to update.

", + "location":"uri", + "locationName":"ipSetId" + }, + "Name":{ + "shape":"Name", + "documentation":"

The unique ID that specifies the IPSet that you want to update.

", + "locationName":"name" + }, + "Location":{ + "shape":"Location", + "documentation":"

The updated URI of the file that contains the IPSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key).

", + "locationName":"location" + }, + "Activate":{ + "shape":"Boolean", + "documentation":"

The updated boolean value that specifies whether the IPSet is active or not.

", + "locationName":"activate" + } } }, - "__string" : { - "type" : "string" + "UpdateIPSetResponse":{ + "type":"structure", + "members":{ + } }, - "__stringMin0Max64" : { - "type" : "string", - "min" : 0, - "max" : 64 + "UpdateThreatIntelSetRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "ThreatIntelSetId" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The detectorID that specifies the GuardDuty service whose ThreatIntelSet you want to update.

", + "location":"uri", + "locationName":"detectorId" + }, + "ThreatIntelSetId":{ + "shape":"String", + "documentation":"

The unique ID that specifies the ThreatIntelSet that you want to update.

", + "location":"uri", + "locationName":"threatIntelSetId" + }, + "Name":{ + "shape":"Name", + "documentation":"

The unique ID that specifies the ThreatIntelSet that you want to update.

", + "locationName":"name" + }, + "Location":{ + "shape":"Location", + "documentation":"

The updated URI of the file that contains the ThreateIntelSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key)

", + "locationName":"location" + }, + "Activate":{ + "shape":"Boolean", + "documentation":"

The updated boolean value that specifies whether the ThreateIntelSet is active or not.

", + "locationName":"activate" + } + } }, - "__timestamp" : { - "type" : "timestamp" + "UpdateThreatIntelSetResponse":{ + "type":"structure", + "members":{ + } } }, - "documentation" : "Assess, monitor, manage, and remediate security issues across your AWS infrastructure, applications, and data." -} \ No newline at end of file + "documentation":"

Amazon GuardDuty is a continuous security monitoring service that analyzes and processes the following data sources: VPC Flow Logs, AWS CloudTrail event logs, and DNS logs. It uses threat intelligence feeds, such as lists of malicious IPs and domains, and machine learning to identify unexpected and potentially unauthorized and malicious activity within your AWS environment. This can include issues like escalations of privileges, uses of exposed credentials, or communication with malicious IPs, URLs, or domains. For example, GuardDuty can detect compromised EC2 instances serving malware or mining bitcoin. It also monitors AWS account access behavior for signs of compromise, such as unauthorized infrastructure deployments, like instances deployed in a region that has never been used, or unusual API calls, like a password policy change to reduce password strength. GuardDuty informs you of the status of your AWS environment by producing security findings that you can view in the GuardDuty console or through Amazon CloudWatch events. For more information, see Amazon GuardDuty User Guide.

" +} diff --git a/bin/botocore/data/iam/2010-05-08/service-2.json b/bin/botocore/data/iam/2010-05-08/service-2.json index 69620c12..14f8d436 100644 --- a/bin/botocore/data/iam/2010-05-08/service-2.json +++ b/bin/botocore/data/iam/2010-05-08/service-2.json @@ -42,7 +42,7 @@ {"shape":"UnmodifiableEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Adds the specified IAM role to the specified instance profile. An instance profile can contain only one role, and this limit cannot be increased. You can remove the existing role and then add a different role to an instance profile. You must then wait for the change to appear across all of AWS because of eventual consistency. To force the change, you must disassociate the instance profile and then associate the instance profile, or you can stop your instance and then restart it.

The caller of this API must be granted the PassRole permission on the IAM role by a permission policy.

For more information about roles, go to Working with Roles. For more information about instance profiles, go to About Instance Profiles.

" + "documentation":"

Adds the specified IAM role to the specified instance profile. An instance profile can contain only one role, and this limit cannot be increased. You can remove the existing role and then add a different role to an instance profile. You must then wait for the change to appear across all of AWS because of eventual consistency. To force the change, you must disassociate the instance profile and then associate the instance profile, or you can stop your instance and then restart it.

The caller of this API must be granted the PassRole permission on the IAM role by a permissions policy.

For more information about roles, go to Working with Roles. For more information about instance profiles, go to About Instance Profiles.

" }, "AddUserToGroup":{ "name":"AddUserToGroup", @@ -72,7 +72,7 @@ {"shape":"PolicyNotAttachableException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Attaches the specified managed policy to the specified IAM group.

You use this API to attach a managed policy to a group. To embed an inline policy in a group, use PutGroupPolicy.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Attaches the specified managed policy to the specified IAM group.

You use this API to attach a managed policy to a group. To embed an inline policy in a group, use PutGroupPolicy.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" }, "AttachRolePolicy":{ "name":"AttachRolePolicy", @@ -89,7 +89,7 @@ {"shape":"PolicyNotAttachableException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Attaches the specified managed policy to the specified IAM role. When you attach a managed policy to a role, the managed policy becomes part of the role's permission (access) policy.

You cannot use a managed policy as the role's trust policy. The role's trust policy is created at the same time as the role, using CreateRole. You can update a role's trust policy using UpdateAssumeRolePolicy.

Use this API to attach a managed policy to a role. To embed an inline policy in a role, use PutRolePolicy. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Attaches the specified managed policy to the specified IAM role. When you attach a managed policy to a role, the managed policy becomes part of the role's permission (access) policy.

You cannot use a managed policy as the role's trust policy. The role's trust policy is created at the same time as the role, using CreateRole. You can update a role's trust policy using UpdateAssumeRolePolicy.

Use this API to attach a managed policy to a role. To embed an inline policy in a role, use PutRolePolicy. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" }, "AttachUserPolicy":{ "name":"AttachUserPolicy", @@ -105,7 +105,7 @@ {"shape":"PolicyNotAttachableException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Attaches the specified managed policy to the specified user.

You use this API to attach a managed policy to a user. To embed an inline policy in a user, use PutUserPolicy.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Attaches the specified managed policy to the specified user.

You use this API to attach a managed policy to a user. To embed an inline policy in a user, use PutUserPolicy.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" }, "ChangePassword":{ "name":"ChangePassword", @@ -122,7 +122,7 @@ {"shape":"PasswordPolicyViolationException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Changes the password of the IAM user who is calling this operation. The AWS account root user password is not affected by this operation.

To change the password for a different user, see UpdateLoginProfile. For more information about modifying passwords, see Managing Passwords in the IAM User Guide.

" + "documentation":"

Changes the password of the IAM user who is calling this operation. The AWS account root user password is not affected by this operation.

To change the password for a different user, see UpdateLoginProfile. For more information about modifying passwords, see Managing Passwords in the IAM User Guide.

" }, "CreateAccessKey":{ "name":"CreateAccessKey", @@ -140,7 +140,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Creates a new AWS secret access key and corresponding AWS access key ID for the specified user. The default status for new keys is Active.

If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. Because this operation works for access keys under the AWS account, you can use this operation to manage AWS account root user credentials. This is true even if the AWS account has no associated users.

For information about limits on the number of keys you can create, see Limitations on IAM Entities in the IAM User Guide.

To ensure the security of your AWS account, the secret access key is accessible only during key and user creation. You must save the key (for example, in a text file) if you want to be able to access it again. If a secret key is lost, you can delete the access keys for the associated user and then create new keys.

" + "documentation":"

Creates a new AWS secret access key and corresponding AWS access key ID for the specified user. The default status for new keys is Active.

If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. This operation works for access keys under the AWS account. Consequently, you can use this operation to manage AWS account root user credentials. This is true even if the AWS account has no associated users.

For information about limits on the number of keys you can create, see Limitations on IAM Entities in the IAM User Guide.

To ensure the security of your AWS account, the secret access key is accessible only during key and user creation. You must save the key (for example, in a text file) if you want to be able to access it again. If a secret key is lost, you can delete the access keys for the associated user and then create new keys.

" }, "CreateAccountAlias":{ "name":"CreateAccountAlias", @@ -154,7 +154,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Creates an alias for your AWS account. For information about using an AWS account alias, see Using an Alias for Your AWS Account ID in the IAM User Guide.

" + "documentation":"

Creates an alias for your AWS account. For information about using an AWS account alias, see Using an Alias for Your AWS Account ID in the IAM User Guide.

" }, "CreateGroup":{ "name":"CreateGroup", @@ -173,7 +173,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Creates a new group.

For information about the number of groups you can create, see Limitations on IAM Entities in the IAM User Guide.

" + "documentation":"

Creates a new group.

For information about the number of groups you can create, see Limitations on IAM Entities in the IAM User Guide.

" }, "CreateInstanceProfile":{ "name":"CreateInstanceProfile", @@ -191,7 +191,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Creates a new instance profile. For information about instance profiles, go to About Instance Profiles.

For information about the number of instance profiles you can create, see Limitations on IAM Entities in the IAM User Guide.

" + "documentation":"

Creates a new instance profile. For information about instance profiles, go to About Instance Profiles.

For information about the number of instance profiles you can create, see Limitations on IAM Entities in the IAM User Guide.

" }, "CreateLoginProfile":{ "name":"CreateLoginProfile", @@ -211,7 +211,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Creates a password for the specified user, giving the user the ability to access AWS services through the AWS Management Console. For more information about managing passwords, see Managing Passwords in the IAM User Guide.

" + "documentation":"

Creates a password for the specified user, giving the user the ability to access AWS services through the AWS Management Console. For more information about managing passwords, see Managing Passwords in the IAM User Guide.

" }, "CreateOpenIDConnectProvider":{ "name":"CreateOpenIDConnectProvider", @@ -230,7 +230,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Creates an IAM entity to describe an identity provider (IdP) that supports OpenID Connect (OIDC).

The OIDC provider that you create with this operation can be used as a principal in a role's trust policy. Such a policy establishes a trust relationship between AWS and the OIDC provider.

When you create the IAM OIDC provider, you specify the following:

  • The URL of the OIDC identity provider (IdP) to trust

  • A list of client IDs (also known as audiences) that identify the application or applications that are allowed to authenticate using the OIDC provider

  • A list of thumbprints of the server certificate(s) that the IdP uses.

You get all of this information from the OIDC IdP that you want to use to access AWS.

Because trust for the OIDC provider is derived from the IAM provider that this operation creates, it is best to limit access to the CreateOpenIDConnectProvider operation to highly privileged users.

" + "documentation":"

Creates an IAM entity to describe an identity provider (IdP) that supports OpenID Connect (OIDC).

The OIDC provider that you create with this operation can be used as a principal in a role's trust policy. Such a policy establishes a trust relationship between AWS and the OIDC provider.

When you create the IAM OIDC provider, you specify the following:

  • The URL of the OIDC identity provider (IdP) to trust

  • A list of client IDs (also known as audiences) that identify the application or applications that are allowed to authenticate using the OIDC provider

  • A list of thumbprints of the server certificate(s) that the IdP uses

You get all of this information from the OIDC IdP that you want to use to access AWS.

The trust for the OIDC provider is derived from the IAM provider that this operation creates. Therefore, it is best to limit access to the CreateOpenIDConnectProvider operation to highly privileged users.

" }, "CreatePolicy":{ "name":"CreatePolicy", @@ -250,7 +250,7 @@ {"shape":"MalformedPolicyDocumentException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Creates a new managed policy for your AWS account.

This operation creates a policy version with a version identifier of v1 and sets v1 as the policy's default version. For more information about policy versions, see Versioning for Managed Policies in the IAM User Guide.

For more information about managed policies in general, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Creates a new managed policy for your AWS account.

This operation creates a policy version with a version identifier of v1 and sets v1 as the policy's default version. For more information about policy versions, see Versioning for Managed Policies in the IAM User Guide.

For more information about managed policies in general, see Managed Policies and Inline Policies in the IAM User Guide.

" }, "CreatePolicyVersion":{ "name":"CreatePolicyVersion", @@ -270,7 +270,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Creates a new version of the specified managed policy. To update a managed policy, you create a new policy version. A managed policy can have up to five versions. If the policy has five versions, you must delete an existing version using DeletePolicyVersion before you create a new version.

Optionally, you can set the new version as the policy's default version. The default version is the version that is in effect for the IAM users, groups, and roles to which the policy is attached.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" + "documentation":"

Creates a new version of the specified managed policy. To update a managed policy, you create a new policy version. A managed policy can have up to five versions. If the policy has five versions, you must delete an existing version using DeletePolicyVersion before you create a new version.

Optionally, you can set the new version as the policy's default version. The default version is the version that is in effect for the IAM users, groups, and roles to which the policy is attached.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" }, "CreateRole":{ "name":"CreateRole", @@ -291,7 +291,7 @@ {"shape":"ConcurrentModificationException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Creates a new role for your AWS account. For more information about roles, go to IAM Roles. For information about limitations on role names and the number of roles you can create, go to Limitations on IAM Entities in the IAM User Guide.

" + "documentation":"

Creates a new role for your AWS account. For more information about roles, go to IAM Roles. For information about limitations on role names and the number of roles you can create, go to Limitations on IAM Entities in the IAM User Guide.

" }, "CreateSAMLProvider":{ "name":"CreateSAMLProvider", @@ -310,7 +310,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Creates an IAM resource that describes an identity provider (IdP) that supports SAML 2.0.

The SAML provider resource that you create with this operation can be used as a principal in an IAM role's trust policy. Such a policy can enable federated users who sign-in using the SAML IdP to assume the role. You can create an IAM role that supports Web-based single sign-on (SSO) to the AWS Management Console or one that supports API access to AWS.

When you create the SAML provider resource, you upload a SAML metadata document that you get from your IdP. That document includes the issuer's name, expiration information, and keys that can be used to validate the SAML authentication response (assertions) that the IdP sends. You must generate the metadata document using the identity management software that is used as your organization's IdP.

This operation requires Signature Version 4.

For more information, see Enabling SAML 2.0 Federated Users to Access the AWS Management Console and About SAML 2.0-based Federation in the IAM User Guide.

" + "documentation":"

Creates an IAM resource that describes an identity provider (IdP) that supports SAML 2.0.

The SAML provider resource that you create with this operation can be used as a principal in an IAM role's trust policy. Such a policy can enable federated users who sign in using the SAML IdP to assume the role. You can create an IAM role that supports Web-based single sign-on (SSO) to the AWS Management Console or one that supports API access to AWS.

When you create the SAML provider resource, you upload a SAML metadata document that you get from your IdP. That document includes the issuer's name, expiration information, and keys that can be used to validate the SAML authentication response (assertions) that the IdP sends. You must generate the metadata document using the identity management software that is used as your organization's IdP.

This operation requires Signature Version 4.

For more information, see Enabling SAML 2.0 Federated Users to Access the AWS Management Console and About SAML 2.0-based Federation in the IAM User Guide.

" }, "CreateServiceLinkedRole":{ "name":"CreateServiceLinkedRole", @@ -329,7 +329,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Creates an IAM role that is linked to a specific AWS service. The service controls the attached policies and when the role can be deleted. This helps ensure that the service is not broken by an unexpectedly changed or deleted role, which could put your AWS resources into an unknown state. Allowing the service to control the role helps improve service stability and proper cleanup when a service and its role are no longer needed. For more information, see Using Service-Linked Roles in the IAM User Guide.

To attach a policy to this service-linked role, you must make the request using the AWS service that depends on this role.

" + "documentation":"

Creates an IAM role that is linked to a specific AWS service. The service controls the attached policies and when the role can be deleted. This helps ensure that the service is not broken by an unexpectedly changed or deleted role, which could put your AWS resources into an unknown state. Allowing the service to control the role helps improve service stability and proper cleanup when a service and its role are no longer needed. For more information, see Using Service-Linked Roles in the IAM User Guide.

To attach a policy to this service-linked role, you must make the request using the AWS service that depends on this role.

" }, "CreateServiceSpecificCredential":{ "name":"CreateServiceSpecificCredential", @@ -347,7 +347,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceNotSupportedException"} ], - "documentation":"

Generates a set of credentials consisting of a user name and password that can be used to access the service specified in the request. These credentials are generated by IAM, and can be used only for the specified service.

You can have a maximum of two sets of service-specific credentials for each supported service per user.

The only supported service at this time is AWS CodeCommit.

You can reset the password to a new service-generated value by calling ResetServiceSpecificCredential.

For more information about service-specific credentials, see Using IAM with AWS CodeCommit: Git Credentials, SSH Keys, and AWS Access Keys in the IAM User Guide.

" + "documentation":"

Generates a set of credentials consisting of a user name and password that can be used to access the service specified in the request. These credentials are generated by IAM, and can be used only for the specified service.

You can have a maximum of two sets of service-specific credentials for each supported service per user.

The only supported service at this time is AWS CodeCommit.

You can reset the password to a new service-generated value by calling ResetServiceSpecificCredential.

For more information about service-specific credentials, see Using IAM with AWS CodeCommit: Git Credentials, SSH Keys, and AWS Access Keys in the IAM User Guide.

" }, "CreateUser":{ "name":"CreateUser", @@ -368,7 +368,7 @@ {"shape":"ConcurrentModificationException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Creates a new IAM user for your AWS account.

For information about limitations on the number of IAM users you can create, see Limitations on IAM Entities in the IAM User Guide.

" + "documentation":"

Creates a new IAM user for your AWS account.

For information about limitations on the number of IAM users you can create, see Limitations on IAM Entities in the IAM User Guide.

" }, "CreateVirtualMFADevice":{ "name":"CreateVirtualMFADevice", @@ -386,7 +386,7 @@ {"shape":"EntityAlreadyExistsException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Creates a new virtual MFA device for the AWS account. After creating the virtual MFA, use EnableMFADevice to attach the MFA device to an IAM user. For more information about creating and working with virtual MFA devices, go to Using a Virtual MFA Device in the IAM User Guide.

For information about limits on the number of MFA devices you can create, see Limitations on Entities in the IAM User Guide.

The seed information contained in the QR code and the Base32 string should be treated like any other secret access information, such as your AWS access keys or your passwords. After you provision your virtual device, you should ensure that the information is destroyed following secure procedures.

" + "documentation":"

Creates a new virtual MFA device for the AWS account. After creating the virtual MFA, use EnableMFADevice to attach the MFA device to an IAM user. For more information about creating and working with virtual MFA devices, go to Using a Virtual MFA Device in the IAM User Guide.

For information about limits on the number of MFA devices you can create, see Limitations on Entities in the IAM User Guide.

The seed information contained in the QR code and the Base32 string should be treated like any other secret access information. In other words, protect the seed information as you would your AWS access keys or your passwords. After you provision your virtual device, you should ensure that the information is destroyed following secure procedures.

" }, "DeactivateMFADevice":{ "name":"DeactivateMFADevice", @@ -401,7 +401,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deactivates the specified MFA device and removes it from association with the user name for which it was originally enabled.

For more information about creating and working with virtual MFA devices, go to Using a Virtual MFA Device in the IAM User Guide.

" + "documentation":"

Deactivates the specified MFA device and removes it from association with the user name for which it was originally enabled.

For more information about creating and working with virtual MFA devices, go to Enabling a Virtual Multi-factor Authentication (MFA) Device in the IAM User Guide.

" }, "DeleteAccessKey":{ "name":"DeleteAccessKey", @@ -415,7 +415,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes the access key pair associated with the specified IAM user.

If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. Because this operation works for access keys under the AWS account, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users.

" + "documentation":"

Deletes the access key pair associated with the specified IAM user.

If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. This operation works for access keys under the AWS account. Consequently, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users.

" }, "DeleteAccountAlias":{ "name":"DeleteAccountAlias", @@ -429,7 +429,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes the specified AWS account alias. For information about using an AWS account alias, see Using an Alias for Your AWS Account ID in the IAM User Guide.

" + "documentation":"

Deletes the specified AWS account alias. For information about using an AWS account alias, see Using an Alias for Your AWS Account ID in the IAM User Guide.

" }, "DeleteAccountPasswordPolicy":{ "name":"DeleteAccountPasswordPolicy", @@ -471,7 +471,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes the specified inline policy that is embedded in the specified IAM group.

A group can also have managed policies attached to it. To detach a managed policy from a group, use DetachGroupPolicy. For more information about policies, refer to Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Deletes the specified inline policy that is embedded in the specified IAM group.

A group can also have managed policies attached to it. To detach a managed policy from a group, use DetachGroupPolicy. For more information about policies, refer to Managed Policies and Inline Policies in the IAM User Guide.

" }, "DeleteInstanceProfile":{ "name":"DeleteInstanceProfile", @@ -486,7 +486,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes the specified instance profile. The instance profile must not have an associated role.

Make sure that you do not have any Amazon EC2 instances running with the instance profile you are about to delete. Deleting a role or instance profile that is associated with a running instance will break any applications running on the instance.

For more information about instance profiles, go to About Instance Profiles.

" + "documentation":"

Deletes the specified instance profile. The instance profile must not have an associated role.

Make sure that you do not have any Amazon EC2 instances running with the instance profile you are about to delete. Deleting a role or instance profile that is associated with a running instance will break any applications running on the instance.

For more information about instance profiles, go to About Instance Profiles.

" }, "DeleteLoginProfile":{ "name":"DeleteLoginProfile", @@ -501,7 +501,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes the password for the specified IAM user, which terminates the user's ability to access AWS services through the AWS Management Console.

Deleting a user's password does not prevent a user from accessing AWS through the command line interface or the API. To prevent all user access you must also either make any access keys inactive or delete them. For more information about making keys inactive or deleting them, see UpdateAccessKey and DeleteAccessKey.

" + "documentation":"

Deletes the password for the specified IAM user, which terminates the user's ability to access AWS services through the AWS Management Console.

Deleting a user's password does not prevent a user from accessing AWS through the command line interface or the API. To prevent all user access, you must also either make any access keys inactive or delete them. For more information about making keys inactive or deleting them, see UpdateAccessKey and DeleteAccessKey.

" }, "DeleteOpenIDConnectProvider":{ "name":"DeleteOpenIDConnectProvider", @@ -531,7 +531,7 @@ {"shape":"DeleteConflictException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes the specified managed policy.

Before you can delete a managed policy, you must first detach the policy from all users, groups, and roles that it is attached to. In addition you must delete all the policy's versions. The following steps describe the process for deleting a managed policy:

  • Detach the policy from all users, groups, and roles that the policy is attached to, using the DetachUserPolicy, DetachGroupPolicy, or DetachRolePolicy API operations. To list all the users, groups, and roles that a policy is attached to, use ListEntitiesForPolicy.

  • Delete all versions of the policy using DeletePolicyVersion. To list the policy's versions, use ListPolicyVersions. You cannot use DeletePolicyVersion to delete the version that is marked as the default version. You delete the policy's default version in the next step of the process.

  • Delete the policy (this automatically deletes the policy's default version) using this API.

For information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Deletes the specified managed policy.

Before you can delete a managed policy, you must first detach the policy from all users, groups, and roles that it is attached to. In addition, you must delete all the policy's versions. The following steps describe the process for deleting a managed policy:

  • Detach the policy from all users, groups, and roles that the policy is attached to, using the DetachUserPolicy, DetachGroupPolicy, or DetachRolePolicy API operations. To list all the users, groups, and roles that a policy is attached to, use ListEntitiesForPolicy.

  • Delete all versions of the policy using DeletePolicyVersion. To list the policy's versions, use ListPolicyVersions. You cannot use DeletePolicyVersion to delete the version that is marked as the default version. You delete the policy's default version in the next step of the process.

  • Delete the policy (this automatically deletes the policy's default version) using this API.

For information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide.

" }, "DeletePolicyVersion":{ "name":"DeletePolicyVersion", @@ -547,7 +547,7 @@ {"shape":"DeleteConflictException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes the specified version from the specified managed policy.

You cannot delete the default version from a policy using this API. To delete the default version from a policy, use DeletePolicy. To find out which version of a policy is marked as the default version, use ListPolicyVersions.

For information about versions for managed policies, see Versioning for Managed Policies in the IAM User Guide.

" + "documentation":"

Deletes the specified version from the specified managed policy.

You cannot delete the default version from a policy using this API. To delete the default version from a policy, use DeletePolicy. To find out which version of a policy is marked as the default version, use ListPolicyVersions.

For information about versions for managed policies, see Versioning for Managed Policies in the IAM User Guide.

" }, "DeleteRole":{ "name":"DeleteRole", @@ -564,7 +564,7 @@ {"shape":"ConcurrentModificationException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes the specified role. The role must not have any policies attached. For more information about roles, go to Working with Roles.

Make sure that you do not have any Amazon EC2 instances running with the role you are about to delete. Deleting a role or instance profile that is associated with a running instance will break any applications running on the instance.

" + "documentation":"

Deletes the specified role. The role must not have any policies attached. For more information about roles, go to Working with Roles.

Make sure that you do not have any Amazon EC2 instances running with the role you are about to delete. Deleting a role or instance profile that is associated with a running instance will break any applications running on the instance.

" }, "DeleteRolePermissionsBoundary":{ "name":"DeleteRolePermissionsBoundary", @@ -578,7 +578,7 @@ {"shape":"UnmodifiableEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes the permissions boundary for the specified IAM role.

Deleting the permissions boundary for a role might increase its permissions by allowing anyone who assumes the role to perform all the actions granted in its permissions policies.

" + "documentation":"

Deletes the permissions boundary for the specified IAM role.

Deleting the permissions boundary for a role might increase its permissions. For example, it might allow anyone who assumes the role to perform all the actions granted in its permissions policies.

" }, "DeleteRolePolicy":{ "name":"DeleteRolePolicy", @@ -593,7 +593,7 @@ {"shape":"UnmodifiableEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes the specified inline policy that is embedded in the specified IAM role.

A role can also have managed policies attached to it. To detach a managed policy from a role, use DetachRolePolicy. For more information about policies, refer to Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Deletes the specified inline policy that is embedded in the specified IAM role.

A role can also have managed policies attached to it. To detach a managed policy from a role, use DetachRolePolicy. For more information about policies, refer to Managed Policies and Inline Policies in the IAM User Guide.

" }, "DeleteSAMLProvider":{ "name":"DeleteSAMLProvider", @@ -608,7 +608,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes a SAML provider resource in IAM.

Deleting the provider resource from IAM does not update any roles that reference the SAML provider resource's ARN as a principal in their trust policies. Any attempt to assume a role that references a non-existent provider resource ARN fails.

This operation requires Signature Version 4.

" + "documentation":"

Deletes a SAML provider resource in IAM.

Deleting the provider resource from IAM does not update any roles that reference the SAML provider resource's ARN as a principal in their trust policies. Any attempt to assume a role that references a non-existent provider resource ARN fails.

This operation requires Signature Version 4.

" }, "DeleteSSHPublicKey":{ "name":"DeleteSSHPublicKey", @@ -620,7 +620,7 @@ "errors":[ {"shape":"NoSuchEntityException"} ], - "documentation":"

Deletes the specified SSH public key.

The SSH public key deleted by this operation is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

" + "documentation":"

Deletes the specified SSH public key.

The SSH public key deleted by this operation is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

" }, "DeleteServerCertificate":{ "name":"DeleteServerCertificate", @@ -635,7 +635,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes the specified server certificate.

For more information about working with server certificates, see Working with Server Certificates in the IAM User Guide. This topic also includes a list of AWS services that can use the server certificates that you manage with IAM.

If you are using a server certificate with Elastic Load Balancing, deleting the certificate could have implications for your application. If Elastic Load Balancing doesn't detect the deletion of bound certificates, it may continue to use the certificates. This could cause Elastic Load Balancing to stop accepting traffic. We recommend that you remove the reference to the certificate from Elastic Load Balancing before using this command to delete the certificate. For more information, go to DeleteLoadBalancerListeners in the Elastic Load Balancing API Reference.

" + "documentation":"

Deletes the specified server certificate.

For more information about working with server certificates, see Working with Server Certificates in the IAM User Guide. This topic also includes a list of AWS services that can use the server certificates that you manage with IAM.

If you are using a server certificate with Elastic Load Balancing, deleting the certificate could have implications for your application. If Elastic Load Balancing doesn't detect the deletion of bound certificates, it may continue to use the certificates. This could cause Elastic Load Balancing to stop accepting traffic. We recommend that you remove the reference to the certificate from Elastic Load Balancing before using this command to delete the certificate. For more information, go to DeleteLoadBalancerListeners in the Elastic Load Balancing API Reference.

" }, "DeleteServiceLinkedRole":{ "name":"DeleteServiceLinkedRole", @@ -653,7 +653,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Submits a service-linked role deletion request and returns a DeletionTaskId, which you can use to check the status of the deletion. Before you call this operation, confirm that the role has no active sessions and that any resources used by the role in the linked service are deleted. If you call this operation more than once for the same service-linked role and an earlier deletion task is not complete, then the DeletionTaskId of the earlier request is returned.

If you submit a deletion request for a service-linked role whose linked service is still accessing a resource, then the deletion task fails. If it fails, the GetServiceLinkedRoleDeletionStatus API operation returns the reason for the failure, usually including the resources that must be deleted. To delete the service-linked role, you must first remove those resources from the linked service and then submit the deletion request again. Resources are specific to the service that is linked to the role. For more information about removing resources from a service, see the AWS documentation for your service.

For more information about service-linked roles, see Roles Terms and Concepts: AWS Service-Linked Role in the IAM User Guide.

" + "documentation":"

Submits a service-linked role deletion request and returns a DeletionTaskId, which you can use to check the status of the deletion. Before you call this operation, confirm that the role has no active sessions and that any resources used by the role in the linked service are deleted. If you call this operation more than once for the same service-linked role and an earlier deletion task is not complete, then the DeletionTaskId of the earlier request is returned.

If you submit a deletion request for a service-linked role whose linked service is still accessing a resource, then the deletion task fails. If it fails, the GetServiceLinkedRoleDeletionStatus API operation returns the reason for the failure, usually including the resources that must be deleted. To delete the service-linked role, you must first remove those resources from the linked service and then submit the deletion request again. Resources are specific to the service that is linked to the role. For more information about removing resources from a service, see the AWS documentation for your service.

For more information about service-linked roles, see Roles Terms and Concepts: AWS Service-Linked Role in the IAM User Guide.

" }, "DeleteServiceSpecificCredential":{ "name":"DeleteServiceSpecificCredential", @@ -679,7 +679,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes a signing certificate associated with the specified IAM user.

If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. Because this operation works for access keys under the AWS account, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated IAM users.

" + "documentation":"

Deletes a signing certificate associated with the specified IAM user.

If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. This operation works for access keys under the AWS account. Consequently, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated IAM users.

" }, "DeleteUser":{ "name":"DeleteUser", @@ -695,7 +695,7 @@ {"shape":"ConcurrentModificationException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes the specified IAM user. The user must not belong to any groups or have any access keys, signing certificates, or attached policies.

" + "documentation":"

Deletes the specified IAM user. Unlike the AWS Management Console, when you delete a user programmatically, you must delete the items attached to the user manually, or the deletion fails. For more information, see Deleting an IAM User. Before attempting to delete a user, remove the following items:

" }, "DeleteUserPermissionsBoundary":{ "name":"DeleteUserPermissionsBoundary", @@ -722,7 +722,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes the specified inline policy that is embedded in the specified IAM user.

A user can also have managed policies attached to it. To detach a managed policy from a user, use DetachUserPolicy. For more information about policies, refer to Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Deletes the specified inline policy that is embedded in the specified IAM user.

A user can also have managed policies attached to it. To detach a managed policy from a user, use DetachUserPolicy. For more information about policies, refer to Managed Policies and Inline Policies in the IAM User Guide.

" }, "DeleteVirtualMFADevice":{ "name":"DeleteVirtualMFADevice", @@ -752,7 +752,7 @@ {"shape":"InvalidInputException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Removes the specified managed policy from the specified IAM group.

A group can also have inline policies embedded with it. To delete an inline policy, use the DeleteGroupPolicy API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Removes the specified managed policy from the specified IAM group.

A group can also have inline policies embedded with it. To delete an inline policy, use the DeleteGroupPolicy API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" }, "DetachRolePolicy":{ "name":"DetachRolePolicy", @@ -768,7 +768,7 @@ {"shape":"UnmodifiableEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Removes the specified managed policy from the specified role.

A role can also have inline policies embedded with it. To delete an inline policy, use the DeleteRolePolicy API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Removes the specified managed policy from the specified role.

A role can also have inline policies embedded with it. To delete an inline policy, use the DeleteRolePolicy API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" }, "DetachUserPolicy":{ "name":"DetachUserPolicy", @@ -783,7 +783,7 @@ {"shape":"InvalidInputException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Removes the specified managed policy from the specified user.

A user can also have inline policies embedded with it. To delete an inline policy, use the DeleteUserPolicy API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Removes the specified managed policy from the specified user.

A user can also have inline policies embedded with it. To delete an inline policy, use the DeleteUserPolicy API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" }, "EnableMFADevice":{ "name":"EnableMFADevice", @@ -816,7 +816,24 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Generates a credential report for the AWS account. For more information about the credential report, see Getting Credential Reports in the IAM User Guide.

" + "documentation":"

Generates a credential report for the AWS account. For more information about the credential report, see Getting Credential Reports in the IAM User Guide.

" + }, + "GenerateServiceLastAccessedDetails":{ + "name":"GenerateServiceLastAccessedDetails", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GenerateServiceLastAccessedDetailsRequest"}, + "output":{ + "shape":"GenerateServiceLastAccessedDetailsResponse", + "resultWrapper":"GenerateServiceLastAccessedDetailsResult" + }, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Generates a request for a report that includes details about when an IAM resource (user, group, role, or policy) was last used in an attempt to access AWS services. Recent activity usually appears within four hours. IAM reports activity for the last 365 days, or less if your Region began supporting this feature within the last year. For more information, see Regions Where Data Is Tracked.

The service last accessed data includes all attempts to access an AWS API, not just the successful ones. This includes all attempts that were made using the AWS Management Console, the AWS API through any of the SDKs, or any of the command line tools. An unexpected entry in the service last accessed data does not mean that your account has been compromised, because the request might have been denied. Refer to your CloudTrail logs as the authoritative source for information about all API calls and whether they were successful or denied access. For more information, see Logging IAM Events with CloudTrail in the IAM User Guide.

The GenerateServiceLastAccessedDetails operation returns a JobId. Use this parameter in the following operations to retrieve the following details from your report:

  • GetServiceLastAccessedDetails – Use this operation for users, groups, roles, or policies to list every AWS service that the resource could access using permissions policies. For each service, the response includes information about the most recent access attempt.

  • GetServiceLastAccessedDetailsWithEntities – Use this operation for groups and policies to list information about the associated entities (users or roles) that attempted to access a specific AWS service.

To check the status of the GenerateServiceLastAccessedDetails request, use the JobId parameter in the same operations and test the JobStatus response parameter.

For additional information about the permissions policies that allow an identity (user, group, or role) to access specific services, use the ListPoliciesGrantingServiceAccess operation.

Service last accessed data does not use other policy types when determining whether a resource could access a service. These other policy types include resource-based policies, access control lists, AWS Organizations policies, IAM permissions boundaries, and AWS STS assume role policies. It only applies permissions policy logic. For more about the evaluation of policy types, see Evaluating Policies in the IAM User Guide.

For more information about service last accessed data, see Reducing Policy Scope by Viewing User Activity in the IAM User Guide.

" }, "GetAccessKeyLastUsed":{ "name":"GetAccessKeyLastUsed", @@ -832,7 +849,7 @@ "errors":[ {"shape":"NoSuchEntityException"} ], - "documentation":"

Retrieves information about when the specified access key was last used. The information includes the date and time of last use, along with the AWS service and region that were specified in the last request made with that key.

" + "documentation":"

Retrieves information about when the specified access key was last used. The information includes the date and time of last use, along with the AWS service and Region that were specified in the last request made with that key.

" }, "GetAccountAuthorizationDetails":{ "name":"GetAccountAuthorizationDetails", @@ -864,7 +881,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves the password policy for the AWS account. For more information about using a password policy, go to Managing an IAM Password Policy.

" + "documentation":"

Retrieves the password policy for the AWS account. For more information about using a password policy, go to Managing an IAM Password Policy.

" }, "GetAccountSummary":{ "name":"GetAccountSummary", @@ -879,7 +896,7 @@ "errors":[ {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves information about IAM entity usage and IAM quotas in the AWS account.

For information about limitations on IAM entities, see Limitations on IAM Entities in the IAM User Guide.

" + "documentation":"

Retrieves information about IAM entity usage and IAM quotas in the AWS account.

For information about limitations on IAM entities, see Limitations on IAM Entities in the IAM User Guide.

" }, "GetContextKeysForCustomPolicy":{ "name":"GetContextKeysForCustomPolicy", @@ -930,7 +947,7 @@ {"shape":"CredentialReportNotReadyException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves a credential report for the AWS account. For more information about the credential report, see Getting Credential Reports in the IAM User Guide.

" + "documentation":"

Retrieves a credential report for the AWS account. For more information about the credential report, see Getting Credential Reports in the IAM User Guide.

" }, "GetGroup":{ "name":"GetGroup", @@ -964,7 +981,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves the specified inline policy document that is embedded in the specified IAM group.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

An IAM group can also have managed policies attached to it. To retrieve a managed policy document that is attached to a group, use GetPolicy to determine the policy's default version, then use GetPolicyVersion to retrieve the policy document.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Retrieves the specified inline policy document that is embedded in the specified IAM group.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

An IAM group can also have managed policies attached to it. To retrieve a managed policy document that is attached to a group, use GetPolicy to determine the policy's default version, then use GetPolicyVersion to retrieve the policy document.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" }, "GetInstanceProfile":{ "name":"GetInstanceProfile", @@ -981,7 +998,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves information about the specified instance profile, including the instance profile's path, GUID, ARN, and role. For more information about instance profiles, see About Instance Profiles in the IAM User Guide.

" + "documentation":"

Retrieves information about the specified instance profile, including the instance profile's path, GUID, ARN, and role. For more information about instance profiles, see About Instance Profiles in the IAM User Guide.

" }, "GetLoginProfile":{ "name":"GetLoginProfile", @@ -1034,7 +1051,7 @@ {"shape":"InvalidInputException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves information about the specified managed policy, including the policy's default version and the total number of IAM users, groups, and roles to which the policy is attached. To retrieve the list of the specific users, groups, and roles that the policy is attached to, use the ListEntitiesForPolicy API. This API returns metadata about the policy. To retrieve the actual policy document for a specific version of the policy, use GetPolicyVersion.

This API retrieves information about managed policies. To retrieve information about an inline policy that is embedded with an IAM user, group, or role, use the GetUserPolicy, GetGroupPolicy, or GetRolePolicy API.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Retrieves information about the specified managed policy, including the policy's default version and the total number of IAM users, groups, and roles to which the policy is attached. To retrieve the list of the specific users, groups, and roles that the policy is attached to, use the ListEntitiesForPolicy API. This API returns metadata about the policy. To retrieve the actual policy document for a specific version of the policy, use GetPolicyVersion.

This API retrieves information about managed policies. To retrieve information about an inline policy that is embedded with an IAM user, group, or role, use the GetUserPolicy, GetGroupPolicy, or GetRolePolicy API.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" }, "GetPolicyVersion":{ "name":"GetPolicyVersion", @@ -1052,7 +1069,7 @@ {"shape":"InvalidInputException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves information about the specified version of the specified managed policy, including the policy document.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

To list the available versions for a policy, use ListPolicyVersions.

This API retrieves information about managed policies. To retrieve information about an inline policy that is embedded in a user, group, or role, use the GetUserPolicy, GetGroupPolicy, or GetRolePolicy API.

For more information about the types of policies, see Managed Policies and Inline Policies in the IAM User Guide.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" + "documentation":"

Retrieves information about the specified version of the specified managed policy, including the policy document.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

To list the available versions for a policy, use ListPolicyVersions.

This API retrieves information about managed policies. To retrieve information about an inline policy that is embedded in a user, group, or role, use the GetUserPolicy, GetGroupPolicy, or GetRolePolicy API.

For more information about the types of policies, see Managed Policies and Inline Policies in the IAM User Guide.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" }, "GetRole":{ "name":"GetRole", @@ -1069,7 +1086,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves information about the specified role, including the role's path, GUID, ARN, and the role's trust policy that grants permission to assume the role. For more information about roles, see Working with Roles.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

" + "documentation":"

Retrieves information about the specified role, including the role's path, GUID, ARN, and the role's trust policy that grants permission to assume the role. For more information about roles, see Working with Roles.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

" }, "GetRolePolicy":{ "name":"GetRolePolicy", @@ -1086,7 +1103,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves the specified inline policy document that is embedded with the specified IAM role.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

An IAM role can also have managed policies attached to it. To retrieve a managed policy document that is attached to a role, use GetPolicy to determine the policy's default version, then use GetPolicyVersion to retrieve the policy document.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

For more information about roles, see Using Roles to Delegate Permissions and Federate Identities.

" + "documentation":"

Retrieves the specified inline policy document that is embedded with the specified IAM role.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

An IAM role can also have managed policies attached to it. To retrieve a managed policy document that is attached to a role, use GetPolicy to determine the policy's default version, then use GetPolicyVersion to retrieve the policy document.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

For more information about roles, see Using Roles to Delegate Permissions and Federate Identities.

" }, "GetSAMLProvider":{ "name":"GetSAMLProvider", @@ -1104,7 +1121,7 @@ {"shape":"InvalidInputException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Returns the SAML provider metadocument that was uploaded when the IAM SAML provider resource object was created or updated.

This operation requires Signature Version 4.

" + "documentation":"

Returns the SAML provider metadocument that was uploaded when the IAM SAML provider resource object was created or updated.

This operation requires Signature Version 4.

" }, "GetSSHPublicKey":{ "name":"GetSSHPublicKey", @@ -1121,7 +1138,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"UnrecognizedPublicKeyEncodingException"} ], - "documentation":"

Retrieves the specified SSH public key, including metadata about the key.

The SSH public key retrieved by this operation is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

" + "documentation":"

Retrieves the specified SSH public key, including metadata about the key.

The SSH public key retrieved by this operation is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

" }, "GetServerCertificate":{ "name":"GetServerCertificate", @@ -1138,7 +1155,41 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves information about the specified server certificate stored in IAM.

For more information about working with server certificates, see Working with Server Certificates in the IAM User Guide. This topic includes a list of AWS services that can use the server certificates that you manage with IAM.

" + "documentation":"

Retrieves information about the specified server certificate stored in IAM.

For more information about working with server certificates, see Working with Server Certificates in the IAM User Guide. This topic includes a list of AWS services that can use the server certificates that you manage with IAM.

" + }, + "GetServiceLastAccessedDetails":{ + "name":"GetServiceLastAccessedDetails", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetServiceLastAccessedDetailsRequest"}, + "output":{ + "shape":"GetServiceLastAccessedDetailsResponse", + "resultWrapper":"GetServiceLastAccessedDetailsResult" + }, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

After you generate a user, group, role, or policy report using the GenerateServiceLastAccessedDetails operation, you can use the JobId parameter in GetServiceLastAccessedDetails. This operation retrieves the status of your report job and a list of AWS services that the resource (user, group, role, or managed policy) can access.

Service last accessed data does not use other policy types when determining whether a resource could access a service. These other policy types include resource-based policies, access control lists, AWS Organizations policies, IAM permissions boundaries, and AWS STS assume role policies. It only applies permissions policy logic. For more about the evaluation of policy types, see Evaluating Policies in the IAM User Guide.

For each service that the resource could access using permissions policies, the operation returns details about the most recent access attempt. If there was no attempt, the service is listed without details about the most recent attempt to access the service. If the operation fails, the GetServiceLastAccessedDetails operation returns the reason that it failed.

The GetServiceLastAccessedDetails operation returns a list of services. This list includes the number of entities that have attempted to access the service and the date and time of the last attempt. It also returns the ARN of the following entity, depending on the resource ARN that you used to generate the report:

  • User – Returns the user ARN that you used to generate the report

  • Group – Returns the ARN of the group member (user) that last attempted to access the service

  • Role – Returns the role ARN that you used to generate the report

  • Policy – Returns the ARN of the user or role that last used the policy to attempt to access the service

By default, the list is sorted by service namespace.

" + }, + "GetServiceLastAccessedDetailsWithEntities":{ + "name":"GetServiceLastAccessedDetailsWithEntities", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetServiceLastAccessedDetailsWithEntitiesRequest"}, + "output":{ + "shape":"GetServiceLastAccessedDetailsWithEntitiesResponse", + "resultWrapper":"GetServiceLastAccessedDetailsWithEntitiesResult" + }, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

After you generate a group or policy report using the GenerateServiceLastAccessedDetails operation, you can use the JobId parameter in GetServiceLastAccessedDetailsWithEntities. This operation retrieves the status of your report job and a list of entities that could have used group or policy permissions to access the specified service.

  • Group – For a group report, this operation returns a list of users in the group that could have used the group’s policies in an attempt to access the service.

  • Policy – For a policy report, this operation returns a list of entities (users or roles) that could have used the policy in an attempt to access the service.

You can also use this operation for user or role reports to retrieve details about those entities.

If the operation fails, the GetServiceLastAccessedDetailsWithEntities operation returns the reason that it failed.

By default, the list of associated entities is sorted by date, with the most recent access listed first.

" }, "GetServiceLinkedRoleDeletionStatus":{ "name":"GetServiceLinkedRoleDeletionStatus", @@ -1190,7 +1241,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves the specified inline policy document that is embedded in the specified IAM user.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

An IAM user can also have managed policies attached to it. To retrieve a managed policy document that is attached to a user, use GetPolicy to determine the policy's default version, then use GetPolicyVersion to retrieve the policy document.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Retrieves the specified inline policy document that is embedded in the specified IAM user.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

An IAM user can also have managed policies attached to it. To retrieve a managed policy document that is attached to a user, use GetPolicy to determine the policy's default version. Then use GetPolicyVersion to retrieve the policy document.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" }, "ListAccessKeys":{ "name":"ListAccessKeys", @@ -1207,7 +1258,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Returns information about the access key IDs associated with the specified IAM user. If there are none, the operation returns an empty list.

Although each user is limited to a small number of keys, you can still paginate the results using the MaxItems and Marker parameters.

If the UserName field is not specified, the user name is determined implicitly based on the AWS access key ID used to sign the request. Because this operation works for access keys under the AWS account, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users.

To ensure the security of your AWS account, the secret access key is accessible only during key and user creation.

" + "documentation":"

Returns information about the access key IDs associated with the specified IAM user. If there is none, the operation returns an empty list.

Although each user is limited to a small number of keys, you can still paginate the results using the MaxItems and Marker parameters.

If the UserName field is not specified, the user name is determined implicitly based on the AWS access key ID used to sign the request. This operation works for access keys under the AWS account. Consequently, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users.

To ensure the security of your AWS account, the secret access key is accessible only during key and user creation.

" }, "ListAccountAliases":{ "name":"ListAccountAliases", @@ -1223,7 +1274,7 @@ "errors":[ {"shape":"ServiceFailureException"} ], - "documentation":"

Lists the account alias associated with the AWS account (Note: you can have only one). For information about using an AWS account alias, see Using an Alias for Your AWS Account ID in the IAM User Guide.

" + "documentation":"

Lists the account alias associated with the AWS account (Note: you can have only one). For information about using an AWS account alias, see Using an Alias for Your AWS Account ID in the IAM User Guide.

" }, "ListAttachedGroupPolicies":{ "name":"ListAttachedGroupPolicies", @@ -1241,7 +1292,7 @@ {"shape":"InvalidInputException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Lists all managed policies that are attached to the specified IAM group.

An IAM group can also have inline policies embedded with it. To list the inline policies for a group, use the ListGroupPolicies API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified group (or none that match the specified path prefix), the operation returns an empty list.

" + "documentation":"

Lists all managed policies that are attached to the specified IAM group.

An IAM group can also have inline policies embedded with it. To list the inline policies for a group, use the ListGroupPolicies API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified group (or none that match the specified path prefix), the operation returns an empty list.

" }, "ListAttachedRolePolicies":{ "name":"ListAttachedRolePolicies", @@ -1259,7 +1310,7 @@ {"shape":"InvalidInputException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Lists all managed policies that are attached to the specified IAM role.

An IAM role can also have inline policies embedded with it. To list the inline policies for a role, use the ListRolePolicies API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified role (or none that match the specified path prefix), the operation returns an empty list.

" + "documentation":"

Lists all managed policies that are attached to the specified IAM role.

An IAM role can also have inline policies embedded with it. To list the inline policies for a role, use the ListRolePolicies API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified role (or none that match the specified path prefix), the operation returns an empty list.

" }, "ListAttachedUserPolicies":{ "name":"ListAttachedUserPolicies", @@ -1277,7 +1328,7 @@ {"shape":"InvalidInputException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Lists all managed policies that are attached to the specified IAM user.

An IAM user can also have inline policies embedded with it. To list the inline policies for a user, use the ListUserPolicies API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified group (or none that match the specified path prefix), the operation returns an empty list.

" + "documentation":"

Lists all managed policies that are attached to the specified IAM user.

An IAM user can also have inline policies embedded with it. To list the inline policies for a user, use the ListUserPolicies API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified group (or none that match the specified path prefix), the operation returns an empty list.

" }, "ListEntitiesForPolicy":{ "name":"ListEntitiesForPolicy", @@ -1312,7 +1363,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Lists the names of the inline policies that are embedded in the specified IAM group.

An IAM group can also have managed policies attached to it. To list the managed policies that are attached to a group, use ListAttachedGroupPolicies. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified group, the operation returns an empty list.

" + "documentation":"

Lists the names of the inline policies that are embedded in the specified IAM group.

An IAM group can also have managed policies attached to it. To list the managed policies that are attached to a group, use ListAttachedGroupPolicies. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified group, the operation returns an empty list.

" }, "ListGroups":{ "name":"ListGroups", @@ -1361,7 +1412,7 @@ "errors":[ {"shape":"ServiceFailureException"} ], - "documentation":"

Lists the instance profiles that have the specified path prefix. If there are none, the operation returns an empty list. For more information about instance profiles, go to About Instance Profiles.

You can paginate the results using the MaxItems and Marker parameters.

" + "documentation":"

Lists the instance profiles that have the specified path prefix. If there are none, the operation returns an empty list. For more information about instance profiles, go to About Instance Profiles.

You can paginate the results using the MaxItems and Marker parameters.

" }, "ListInstanceProfilesForRole":{ "name":"ListInstanceProfilesForRole", @@ -1378,7 +1429,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Lists the instance profiles that have the specified associated IAM role. If there are none, the operation returns an empty list. For more information about instance profiles, go to About Instance Profiles.

You can paginate the results using the MaxItems and Marker parameters.

" + "documentation":"

Lists the instance profiles that have the specified associated IAM role. If there are none, the operation returns an empty list. For more information about instance profiles, go to About Instance Profiles.

You can paginate the results using the MaxItems and Marker parameters.

" }, "ListMFADevices":{ "name":"ListMFADevices", @@ -1427,7 +1478,24 @@ "errors":[ {"shape":"ServiceFailureException"} ], - "documentation":"

Lists all the managed policies that are available in your AWS account, including your own customer-defined managed policies and all AWS managed policies.

You can filter the list of policies that is returned using the optional OnlyAttached, Scope, and PathPrefix parameters. For example, to list only the customer managed policies in your AWS account, set Scope to Local. To list only AWS managed policies, set Scope to AWS.

You can paginate the results using the MaxItems and Marker parameters.

For more information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Lists all the managed policies that are available in your AWS account, including your own customer-defined managed policies and all AWS managed policies.

You can filter the list of policies that is returned using the optional OnlyAttached, Scope, and PathPrefix parameters. For example, to list only the customer managed policies in your AWS account, set Scope to Local. To list only AWS managed policies, set Scope to AWS.

You can paginate the results using the MaxItems and Marker parameters.

For more information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + }, + "ListPoliciesGrantingServiceAccess":{ + "name":"ListPoliciesGrantingServiceAccess", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPoliciesGrantingServiceAccessRequest"}, + "output":{ + "shape":"ListPoliciesGrantingServiceAccessResponse", + "resultWrapper":"ListPoliciesGrantingServiceAccessResult" + }, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Retrieves a list of policies that the IAM identity (user, group, or role) can use to access each specified service.

This operation does not use other policy types when determining whether a resource could access a service. These other policy types include resource-based policies, access control lists, AWS Organizations policies, IAM permissions boundaries, and AWS STS assume role policies. It only applies permissions policy logic. For more about the evaluation of policy types, see Evaluating Policies in the IAM User Guide.

The list of policies returned by the operation depends on the ARN of the identity that you provide.

  • User – The list of policies includes the managed and inline policies that are attached to the user directly. The list also includes any additional managed and inline policies that are attached to the group to which the user belongs.

  • Group – The list of policies includes only the managed and inline policies that are attached to the group directly. Policies that are attached to the group’s user are not included.

  • Role – The list of policies includes only the managed and inline policies that are attached to the role.

For each managed policy, this operation returns the ARN and policy name. For each inline policy, it returns the policy name and the entity to which it is attached. Inline policies do not have an ARN. For more information about these policy types, see Managed Policies and Inline Policies in the IAM User Guide.

Policies that are attached to users and roles as permissions boundaries are not returned. To view which managed policy is currently used to set the permissions boundary for a user or role, use the GetUser or GetRole operations.

" }, "ListPolicyVersions":{ "name":"ListPolicyVersions", @@ -1445,7 +1513,7 @@ {"shape":"InvalidInputException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Lists information about the versions of the specified managed policy, including the version that is currently set as the policy's default version.

For more information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Lists information about the versions of the specified managed policy, including the version that is currently set as the policy's default version.

For more information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide.

" }, "ListRolePolicies":{ "name":"ListRolePolicies", @@ -1462,7 +1530,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Lists the names of the inline policies that are embedded in the specified IAM role.

An IAM role can also have managed policies attached to it. To list the managed policies that are attached to a role, use ListAttachedRolePolicies. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified role, the operation returns an empty list.

" + "documentation":"

Lists the names of the inline policies that are embedded in the specified IAM role.

An IAM role can also have managed policies attached to it. To list the managed policies that are attached to a role, use ListAttachedRolePolicies. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified role, the operation returns an empty list.

" }, "ListRoleTags":{ "name":"ListRoleTags", @@ -1479,7 +1547,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Lists the tags that are attached to the specified role. The returned list of tags is sorted by tag key. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" + "documentation":"

Lists the tags that are attached to the specified role. The returned list of tags is sorted by tag key. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" }, "ListRoles":{ "name":"ListRoles", @@ -1495,7 +1563,7 @@ "errors":[ {"shape":"ServiceFailureException"} ], - "documentation":"

Lists the IAM roles that have the specified path prefix. If there are none, the operation returns an empty list. For more information about roles, go to Working with Roles.

You can paginate the results using the MaxItems and Marker parameters.

" + "documentation":"

Lists the IAM roles that have the specified path prefix. If there are none, the operation returns an empty list. For more information about roles, go to Working with Roles.

You can paginate the results using the MaxItems and Marker parameters.

" }, "ListSAMLProviders":{ "name":"ListSAMLProviders", @@ -1511,7 +1579,7 @@ "errors":[ {"shape":"ServiceFailureException"} ], - "documentation":"

Lists the SAML provider resource objects defined in IAM in the account.

This operation requires Signature Version 4.

" + "documentation":"

Lists the SAML provider resource objects defined in IAM in the account.

This operation requires Signature Version 4.

" }, "ListSSHPublicKeys":{ "name":"ListSSHPublicKeys", @@ -1527,7 +1595,7 @@ "errors":[ {"shape":"NoSuchEntityException"} ], - "documentation":"

Returns information about the SSH public keys associated with the specified IAM user. If there are none, the operation returns an empty list.

The SSH public keys returned by this operation are used only for authenticating the IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

Although each user is limited to a small number of keys, you can still paginate the results using the MaxItems and Marker parameters.

" + "documentation":"

Returns information about the SSH public keys associated with the specified IAM user. If none exists, the operation returns an empty list.

The SSH public keys returned by this operation are used only for authenticating the IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

Although each user is limited to a small number of keys, you can still paginate the results using the MaxItems and Marker parameters.

" }, "ListServerCertificates":{ "name":"ListServerCertificates", @@ -1543,7 +1611,7 @@ "errors":[ {"shape":"ServiceFailureException"} ], - "documentation":"

Lists the server certificates stored in IAM that have the specified path prefix. If none exist, the operation returns an empty list.

You can paginate the results using the MaxItems and Marker parameters.

For more information about working with server certificates, see Working with Server Certificates in the IAM User Guide. This topic also includes a list of AWS services that can use the server certificates that you manage with IAM.

" + "documentation":"

Lists the server certificates stored in IAM that have the specified path prefix. If none exist, the operation returns an empty list.

You can paginate the results using the MaxItems and Marker parameters.

For more information about working with server certificates, see Working with Server Certificates in the IAM User Guide. This topic also includes a list of AWS services that can use the server certificates that you manage with IAM.

" }, "ListServiceSpecificCredentials":{ "name":"ListServiceSpecificCredentials", @@ -1560,7 +1628,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceNotSupportedException"} ], - "documentation":"

Returns information about the service-specific credentials associated with the specified IAM user. If there are none, the operation returns an empty list. The service-specific credentials returned by this operation are used only for authenticating the IAM user to a specific service. For more information about using service-specific credentials to authenticate to an AWS service, see Set Up service-specific credentials in the AWS CodeCommit User Guide.

" + "documentation":"

Returns information about the service-specific credentials associated with the specified IAM user. If none exists, the operation returns an empty list. The service-specific credentials returned by this operation are used only for authenticating the IAM user to a specific service. For more information about using service-specific credentials to authenticate to an AWS service, see Set Up service-specific credentials in the AWS CodeCommit User Guide.

" }, "ListSigningCertificates":{ "name":"ListSigningCertificates", @@ -1577,7 +1645,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Returns information about the signing certificates associated with the specified IAM user. If there are none, the operation returns an empty list.

Although each user is limited to a small number of signing certificates, you can still paginate the results using the MaxItems and Marker parameters.

If the UserName field is not specified, the user name is determined implicitly based on the AWS access key ID used to sign the request for this API. Because this operation works for access keys under the AWS account, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users.

" + "documentation":"

Returns information about the signing certificates associated with the specified IAM user. If none exists, the operation returns an empty list.

Although each user is limited to a small number of signing certificates, you can still paginate the results using the MaxItems and Marker parameters.

If the UserName field is not specified, the user name is determined implicitly based on the AWS access key ID used to sign the request for this API. This operation works for access keys under the AWS account. Consequently, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users.

" }, "ListUserPolicies":{ "name":"ListUserPolicies", @@ -1594,7 +1662,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Lists the names of the inline policies embedded in the specified IAM user.

An IAM user can also have managed policies attached to it. To list the managed policies that are attached to a user, use ListAttachedUserPolicies. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified user, the operation returns an empty list.

" + "documentation":"

Lists the names of the inline policies embedded in the specified IAM user.

An IAM user can also have managed policies attached to it. To list the managed policies that are attached to a user, use ListAttachedUserPolicies. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified user, the operation returns an empty list.

" }, "ListUserTags":{ "name":"ListUserTags", @@ -1611,7 +1679,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Lists the tags that are attached to the specified user. The returned list of tags is sorted by tag key. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" + "documentation":"

Lists the tags that are attached to the specified user. The returned list of tags is sorted by tag key. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" }, "ListUsers":{ "name":"ListUsers", @@ -1655,7 +1723,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Adds or updates an inline policy document that is embedded in the specified IAM group.

A user can also have managed policies attached to it. To attach a managed policy to a group, use AttachGroupPolicy. To create a new managed policy, use CreatePolicy. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

For information about limits on the number of inline policies that you can embed in a group, see Limitations on IAM Entities in the IAM User Guide.

Because policy documents can be large, you should use POST rather than GET when calling PutGroupPolicy. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide.

" + "documentation":"

Adds or updates an inline policy document that is embedded in the specified IAM group.

A user can also have managed policies attached to it. To attach a managed policy to a group, use AttachGroupPolicy. To create a new managed policy, use CreatePolicy. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

For information about limits on the number of inline policies that you can embed in a group, see Limitations on IAM Entities in the IAM User Guide.

Because policy documents can be large, you should use POST rather than GET when calling PutGroupPolicy. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide.

" }, "PutRolePermissionsBoundary":{ "name":"PutRolePermissionsBoundary", @@ -1687,7 +1755,7 @@ {"shape":"UnmodifiableEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Adds or updates an inline policy document that is embedded in the specified IAM role.

When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) policy. The role's trust policy is created at the same time as the role, using CreateRole. You can update a role's trust policy using UpdateAssumeRolePolicy. For more information about IAM roles, go to Using Roles to Delegate Permissions and Federate Identities.

A role can also have a managed policy attached to it. To attach a managed policy to a role, use AttachRolePolicy. To create a new managed policy, use CreatePolicy. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

For information about limits on the number of inline policies that you can embed with a role, see Limitations on IAM Entities in the IAM User Guide.

Because policy documents can be large, you should use POST rather than GET when calling PutRolePolicy. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide.

" + "documentation":"

Adds or updates an inline policy document that is embedded in the specified IAM role.

When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) policy. The role's trust policy is created at the same time as the role, using CreateRole. You can update a role's trust policy using UpdateAssumeRolePolicy. For more information about IAM roles, go to Using Roles to Delegate Permissions and Federate Identities.

A role can also have a managed policy attached to it. To attach a managed policy to a role, use AttachRolePolicy. To create a new managed policy, use CreatePolicy. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

For information about limits on the number of inline policies that you can embed with a role, see Limitations on IAM Entities in the IAM User Guide.

Because policy documents can be large, you should use POST rather than GET when calling PutRolePolicy. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide.

" }, "PutUserPermissionsBoundary":{ "name":"PutUserPermissionsBoundary", @@ -1717,7 +1785,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Adds or updates an inline policy document that is embedded in the specified IAM user.

An IAM user can also have a managed policy attached to it. To attach a managed policy to a user, use AttachUserPolicy. To create a new managed policy, use CreatePolicy. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

For information about limits on the number of inline policies that you can embed in a user, see Limitations on IAM Entities in the IAM User Guide.

Because policy documents can be large, you should use POST rather than GET when calling PutUserPolicy. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide.

" + "documentation":"

Adds or updates an inline policy document that is embedded in the specified IAM user.

An IAM user can also have a managed policy attached to it. To attach a managed policy to a user, use AttachUserPolicy. To create a new managed policy, use CreatePolicy. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

For information about limits on the number of inline policies that you can embed in a user, see Limitations on IAM Entities in the IAM User Guide.

Because policy documents can be large, you should use POST rather than GET when calling PutUserPolicy. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide.

" }, "RemoveClientIDFromOpenIDConnectProvider":{ "name":"RemoveClientIDFromOpenIDConnectProvider", @@ -1746,7 +1814,7 @@ {"shape":"UnmodifiableEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Removes the specified IAM role from the specified EC2 instance profile.

Make sure that you do not have any Amazon EC2 instances running with the role you are about to remove from the instance profile. Removing a role from an instance profile that is associated with a running instance might break any applications running on the instance.

For more information about IAM roles, go to Working with Roles. For more information about instance profiles, go to About Instance Profiles.

" + "documentation":"

Removes the specified IAM role from the specified EC2 instance profile.

Make sure that you do not have any Amazon EC2 instances running with the role you are about to remove from the instance profile. Removing a role from an instance profile that is associated with a running instance might break any applications running on the instance.

For more information about IAM roles, go to Working with Roles. For more information about instance profiles, go to About Instance Profiles.

" }, "RemoveUserFromGroup":{ "name":"RemoveUserFromGroup", @@ -1791,7 +1859,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Synchronizes the specified MFA device with its IAM resource object on the AWS servers.

For more information about creating and working with virtual MFA devices, go to Using a Virtual MFA Device in the IAM User Guide.

" + "documentation":"

Synchronizes the specified MFA device with its IAM resource object on the AWS servers.

For more information about creating and working with virtual MFA devices, go to Using a Virtual MFA Device in the IAM User Guide.

" }, "SetDefaultPolicyVersion":{ "name":"SetDefaultPolicyVersion", @@ -1806,7 +1874,19 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Sets the specified version of the specified policy as the policy's default (operative) version.

This operation affects all users, groups, and roles that the policy is attached to. To list the users, groups, and roles that the policy is attached to, use the ListEntitiesForPolicy API.

For information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Sets the specified version of the specified policy as the policy's default (operative) version.

This operation affects all users, groups, and roles that the policy is attached to. To list the users, groups, and roles that the policy is attached to, use the ListEntitiesForPolicy API.

For information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + }, + "SetSecurityTokenServicePreferences":{ + "name":"SetSecurityTokenServicePreferences", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SetSecurityTokenServicePreferencesRequest"}, + "errors":[ + {"shape":"ServiceFailureException"} + ], + "documentation":"

Sets the specified version of the global endpoint token as the token version used for the AWS account.

By default, AWS Security Token Service (STS) is available as a global service, and all STS requests go to a single endpoint at https://sts.amazonaws.com. AWS recommends using Regional STS endpoints to reduce latency, build in redundancy, and increase session token availability. For information about Regional endpoints for STS, see AWS Regions and Endpoints in the AWS General Reference.

If you make an STS call to the global endpoint, the resulting session tokens might be valid in some Regions but not others. It depends on the version that is set in this operation. Version 1 tokens are valid only in AWS Regions that are available by default. These tokens do not work in manually enabled Regions, such as Asia Pacific (Hong Kong). Version 2 tokens are valid in all Regions. However, version 2 tokens are longer and might affect systems where you temporarily store tokens. For information, see Activating and Deactivating STS in an AWS Region in the IAM User Guide.

To view the current session token version, see the GlobalEndpointTokenVersion entry in the response of the GetAccountSummary operation.

" }, "SimulateCustomPolicy":{ "name":"SimulateCustomPolicy", @@ -1841,7 +1921,7 @@ {"shape":"InvalidInputException"}, {"shape":"PolicyEvaluationException"} ], - "documentation":"

Simulate how a set of IAM policies attached to an IAM entity works with a list of API operations and AWS resources to determine the policies' effective permissions. The entity can be an IAM user, group, or role. If you specify a user, then the simulation also includes all of the policies that are attached to groups that the user belongs to.

You can optionally include a list of one or more additional policies specified as strings to include in the simulation. If you want to simulate only policies specified as strings, use SimulateCustomPolicy instead.

You can also optionally include one resource-based policy to be evaluated with each of the resources included in the simulation.

The simulation does not perform the API operations, it only checks the authorization to determine if the simulated policies allow or deny the operations.

Note: This API discloses information about the permissions granted to other users. If you do not want users to see other user's permissions, then consider allowing them to use SimulateCustomPolicy instead.

Context keys are variables maintained by AWS and its services that provide details about the context of an API query request. You can use the Condition element of an IAM policy to evaluate context keys. To get the list of context keys that the policies require for correct simulation, use GetContextKeysForPrincipalPolicy.

If the output is long, you can use the MaxItems and Marker parameters to paginate the results.

" + "documentation":"

Simulate how a set of IAM policies attached to an IAM entity works with a list of API operations and AWS resources to determine the policies' effective permissions. The entity can be an IAM user, group, or role. If you specify a user, then the simulation also includes all of the policies that are attached to groups that the user belongs to.

You can optionally include a list of one or more additional policies specified as strings to include in the simulation. If you want to simulate only policies specified as strings, use SimulateCustomPolicy instead.

You can also optionally include one resource-based policy to be evaluated with each of the resources included in the simulation.

The simulation does not perform the API operations; it only checks the authorization to determine if the simulated policies allow or deny the operations.

Note: This API discloses information about the permissions granted to other users. If you do not want users to see other user's permissions, then consider allowing them to use SimulateCustomPolicy instead.

Context keys are variables maintained by AWS and its services that provide details about the context of an API query request. You can use the Condition element of an IAM policy to evaluate context keys. To get the list of context keys that the policies require for correct simulation, use GetContextKeysForPrincipalPolicy.

If the output is long, you can use the MaxItems and Marker parameters to paginate the results.

" }, "TagRole":{ "name":"TagRole", @@ -1857,7 +1937,7 @@ {"shape":"ConcurrentModificationException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Adds one or more tags to an IAM role. The role can be a regular role or a service-linked role. If a tag with the same key name already exists, then that tag is overwritten with the new value.

A tag consists of a key name and an associated value. By assigning tags to your resources, you can do the following:

  • Administrative grouping and discovery - Attach tags to resources to aid in organization and search. For example, you could search for all resources with the key name Project and the value MyImportantProject. Or search for all resources with the key name Cost Center and the value 41200.

  • Access control - Reference tags in IAM user-based and resource-based policies. You can use tags to restrict access to only an IAM user or role that has a specified tag attached. You can also restrict access to only those resources that have a certain tag attached. For examples of policies that show how to use tags to control access, see Control Access Using IAM Tags in the IAM User Guide.

  • Cost allocation - Use tags to help track which individuals and teams are using which AWS resources.

  • Make sure that you have no invalid tags and that you do not exceed the allowed number of tags per role. In either case, the entire request fails and no tags are added to the role.

  • AWS always interprets the tag Value as a single string. If you need to store an array, you can store comma-separated values in the string. However, you must interpret the value in your code.

For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" + "documentation":"

Adds one or more tags to an IAM role. The role can be a regular role or a service-linked role. If a tag with the same key name already exists, then that tag is overwritten with the new value.

A tag consists of a key name and an associated value. By assigning tags to your resources, you can do the following:

  • Administrative grouping and discovery - Attach tags to resources to aid in organization and search. For example, you could search for all resources with the key name Project and the value MyImportantProject. Or search for all resources with the key name Cost Center and the value 41200.

  • Access control - Reference tags in IAM user-based and resource-based policies. You can use tags to restrict access to only an IAM user or role that has a specified tag attached. You can also restrict access to only those resources that have a certain tag attached. For examples of policies that show how to use tags to control access, see Control Access Using IAM Tags in the IAM User Guide.

  • Cost allocation - Use tags to help track which individuals and teams are using which AWS resources.

  • Make sure that you have no invalid tags and that you do not exceed the allowed number of tags per role. In either case, the entire request fails and no tags are added to the role.

  • AWS always interprets the tag Value as a single string. If you need to store an array, you can store comma-separated values in the string. However, you must interpret the value in your code.

For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" }, "TagUser":{ "name":"TagUser", @@ -1873,7 +1953,7 @@ {"shape":"ConcurrentModificationException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Adds one or more tags to an IAM user. If a tag with the same key name already exists, then that tag is overwritten with the new value.

A tag consists of a key name and an associated value. By assigning tags to your resources, you can do the following:

  • Administrative grouping and discovery - Attach tags to resources to aid in organization and search. For example, you could search for all resources with the key name Project and the value MyImportantProject. Or search for all resources with the key name Cost Center and the value 41200.

  • Access control - Reference tags in IAM user-based and resource-based policies. You can use tags to restrict access to only an IAM requesting user or to a role that has a specified tag attached. You can also restrict access to only those resources that have a certain tag attached. For examples of policies that show how to use tags to control access, see Control Access Using IAM Tags in the IAM User Guide.

  • Cost allocation - Use tags to help track which individuals and teams are using which AWS resources.

  • Make sure that you have no invalid tags and that you do not exceed the allowed number of tags per role. In either case, the entire request fails and no tags are added to the role.

  • AWS always interprets the tag Value as a single string. If you need to store an array, you can store comma-separated values in the string. However, you must interpret the value in your code.

For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" + "documentation":"

Adds one or more tags to an IAM user. If a tag with the same key name already exists, then that tag is overwritten with the new value.

A tag consists of a key name and an associated value. By assigning tags to your resources, you can do the following:

  • Administrative grouping and discovery - Attach tags to resources to aid in organization and search. For example, you could search for all resources with the key name Project and the value MyImportantProject. Or search for all resources with the key name Cost Center and the value 41200.

  • Access control - Reference tags in IAM user-based and resource-based policies. You can use tags to restrict access to only an IAM requesting user or to a role that has a specified tag attached. You can also restrict access to only those resources that have a certain tag attached. For examples of policies that show how to use tags to control access, see Control Access Using IAM Tags in the IAM User Guide.

  • Cost allocation - Use tags to help track which individuals and teams are using which AWS resources.

  • Make sure that you have no invalid tags and that you do not exceed the allowed number of tags per role. In either case, the entire request fails and no tags are added to the role.

  • AWS always interprets the tag Value as a single string. If you need to store an array, you can store comma-separated values in the string. However, you must interpret the value in your code.

For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" }, "UntagRole":{ "name":"UntagRole", @@ -1887,7 +1967,7 @@ {"shape":"ConcurrentModificationException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Removes the specified tags from the role. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" + "documentation":"

Removes the specified tags from the role. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" }, "UntagUser":{ "name":"UntagUser", @@ -1901,7 +1981,7 @@ {"shape":"ConcurrentModificationException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Removes the specified tags from the user. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" + "documentation":"

Removes the specified tags from the user. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" }, "UpdateAccessKey":{ "name":"UpdateAccessKey", @@ -1915,7 +1995,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Changes the status of the specified access key from Active to Inactive, or vice versa. This operation can be used to disable a user's key as part of a key rotation workflow.

If the UserName field is not specified, the user name is determined implicitly based on the AWS access key ID used to sign the request. Because this operation works for access keys under the AWS account, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users.

For information about rotating keys, see Managing Keys and Certificates in the IAM User Guide.

" + "documentation":"

Changes the status of the specified access key from Active to Inactive, or vice versa. This operation can be used to disable a user's key as part of a key rotation workflow.

If the UserName is not specified, the user name is determined implicitly based on the AWS access key ID used to sign the request. This operation works for access keys under the AWS account. Consequently, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users.

For information about rotating keys, see Managing Keys and Certificates in the IAM User Guide.

" }, "UpdateAccountPasswordPolicy":{ "name":"UpdateAccountPasswordPolicy", @@ -1930,7 +2010,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Updates the password policy settings for the AWS account.

  • This operation does not support partial updates. No parameters are required, but if you do not specify a parameter, that parameter's value reverts to its default value. See the Request Parameters section for each parameter's default value. Also note that some parameters do not allow the default parameter to be explicitly set. Instead, to invoke the default value, do not include that parameter when you invoke the operation.

For more information about using a password policy, see Managing an IAM Password Policy in the IAM User Guide.

" + "documentation":"

Updates the password policy settings for the AWS account.

  • This operation does not support partial updates. No parameters are required, but if you do not specify a parameter, that parameter's value reverts to its default value. See the Request Parameters section for each parameter's default value. Also note that some parameters do not allow the default parameter to be explicitly set. Instead, to invoke the default value, do not include that parameter when you invoke the operation.

For more information about using a password policy, see Managing an IAM Password Policy in the IAM User Guide.

" }, "UpdateAssumeRolePolicy":{ "name":"UpdateAssumeRolePolicy", @@ -1946,7 +2026,7 @@ {"shape":"UnmodifiableEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Updates the policy that grants an IAM entity permission to assume a role. This is typically referred to as the \"role trust policy\". For more information about roles, go to Using Roles to Delegate Permissions and Federate Identities.

" + "documentation":"

Updates the policy that grants an IAM entity permission to assume a role. This is typically referred to as the \"role trust policy\". For more information about roles, go to Using Roles to Delegate Permissions and Federate Identities.

" }, "UpdateGroup":{ "name":"UpdateGroup", @@ -1961,7 +2041,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Updates the name and/or the path of the specified IAM group.

You should understand the implications of changing a group's path or name. For more information, see Renaming Users and Groups in the IAM User Guide.

The person making the request (the principal), must have permission to change the role group with the old name and the new name. For example, to change the group named Managers to MGRs, the principal must have a policy that allows them to update both groups. If the principal has permission to update the Managers group, but not the MGRs group, then the update fails. For more information about permissions, see Access Management.

" + "documentation":"

Updates the name and/or the path of the specified IAM group.

You should understand the implications of changing a group's path or name. For more information, see Renaming Users and Groups in the IAM User Guide.

The person making the request (the principal), must have permission to change the role group with the old name and the new name. For example, to change the group named Managers to MGRs, the principal must have a policy that allows them to update both groups. If the principal has permission to update the Managers group, but not the MGRs group, then the update fails. For more information about permissions, see Access Management.

" }, "UpdateLoginProfile":{ "name":"UpdateLoginProfile", @@ -1977,7 +2057,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Changes the password for the specified IAM user.

IAM users can change their own passwords by calling ChangePassword. For more information about modifying passwords, see Managing Passwords in the IAM User Guide.

" + "documentation":"

Changes the password for the specified IAM user.

IAM users can change their own passwords by calling ChangePassword. For more information about modifying passwords, see Managing Passwords in the IAM User Guide.

" }, "UpdateOpenIDConnectProviderThumbprint":{ "name":"UpdateOpenIDConnectProviderThumbprint", @@ -1991,7 +2071,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Replaces the existing list of server certificate thumbprints associated with an OpenID Connect (OIDC) provider resource object with a new list of thumbprints.

The list that you pass with this operation completely replaces the existing list of thumbprints. (The lists are not merged.)

Typically, you need to update a thumbprint only when the identity provider's certificate changes, which occurs rarely. However, if the provider's certificate does change, any attempt to assume an IAM role that specifies the OIDC provider as a principal fails until the certificate thumbprint is updated.

Because trust for the OIDC provider is derived from the provider's certificate and is validated by the thumbprint, it is best to limit access to the UpdateOpenIDConnectProviderThumbprint operation to highly privileged users.

" + "documentation":"

Replaces the existing list of server certificate thumbprints associated with an OpenID Connect (OIDC) provider resource object with a new list of thumbprints.

The list that you pass with this operation completely replaces the existing list of thumbprints. (The lists are not merged.)

Typically, you need to update a thumbprint only when the identity provider's certificate changes, which occurs rarely. However, if the provider's certificate does change, any attempt to assume an IAM role that specifies the OIDC provider as a principal fails until the certificate thumbprint is updated.

Trust for the OIDC provider is derived from the provider's certificate and is validated by the thumbprint. Therefore, it is best to limit access to the UpdateOpenIDConnectProviderThumbprint operation to highly privileged users.

" }, "UpdateRole":{ "name":"UpdateRole", @@ -2027,7 +2107,7 @@ {"shape":"UnmodifiableEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Use instead.

Modifies only the description of a role. This operation performs the same function as the Description parameter in the UpdateRole operation.

" + "documentation":"

Use UpdateRole instead.

Modifies only the description of a role. This operation performs the same function as the Description parameter in the UpdateRole operation.

" }, "UpdateSAMLProvider":{ "name":"UpdateSAMLProvider", @@ -2046,7 +2126,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Updates the metadata document for an existing SAML provider resource object.

This operation requires Signature Version 4.

" + "documentation":"

Updates the metadata document for an existing SAML provider resource object.

This operation requires Signature Version 4.

" }, "UpdateSSHPublicKey":{ "name":"UpdateSSHPublicKey", @@ -2058,7 +2138,7 @@ "errors":[ {"shape":"NoSuchEntityException"} ], - "documentation":"

Sets the status of an IAM user's SSH public key to active or inactive. SSH public keys that are inactive cannot be used for authentication. This operation can be used to disable a user's SSH public key as part of a key rotation work flow.

The SSH public key affected by this operation is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

" + "documentation":"

Sets the status of an IAM user's SSH public key to active or inactive. SSH public keys that are inactive cannot be used for authentication. This operation can be used to disable a user's SSH public key as part of a key rotation work flow.

The SSH public key affected by this operation is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

" }, "UpdateServerCertificate":{ "name":"UpdateServerCertificate", @@ -2073,7 +2153,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Updates the name and/or the path of the specified server certificate stored in IAM.

For more information about working with server certificates, see Working with Server Certificates in the IAM User Guide. This topic also includes a list of AWS services that can use the server certificates that you manage with IAM.

You should understand the implications of changing a server certificate's path or name. For more information, see Renaming a Server Certificate in the IAM User Guide.

The person making the request (the principal), must have permission to change the server certificate with the old name and the new name. For example, to change the certificate named ProductionCert to ProdCert, the principal must have a policy that allows them to update both certificates. If the principal has permission to update the ProductionCert group, but not the ProdCert certificate, then the update fails. For more information about permissions, see Access Management in the IAM User Guide.

" + "documentation":"

Updates the name and/or the path of the specified server certificate stored in IAM.

For more information about working with server certificates, see Working with Server Certificates in the IAM User Guide. This topic also includes a list of AWS services that can use the server certificates that you manage with IAM.

You should understand the implications of changing a server certificate's path or name. For more information, see Renaming a Server Certificate in the IAM User Guide.

The person making the request (the principal), must have permission to change the server certificate with the old name and the new name. For example, to change the certificate named ProductionCert to ProdCert, the principal must have a policy that allows them to update both certificates. If the principal has permission to update the ProductionCert group, but not the ProdCert certificate, then the update fails. For more information about permissions, see Access Management in the IAM User Guide.

" }, "UpdateServiceSpecificCredential":{ "name":"UpdateServiceSpecificCredential", @@ -2099,7 +2179,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Changes the status of the specified user signing certificate from active to disabled, or vice versa. This operation can be used to disable an IAM user's signing certificate as part of a certificate rotation work flow.

If the UserName field is not specified, the user name is determined implicitly based on the AWS access key ID used to sign the request. Because this operation works for access keys under the AWS account, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users.

" + "documentation":"

Changes the status of the specified user signing certificate from active to disabled, or vice versa. This operation can be used to disable an IAM user's signing certificate as part of a certificate rotation work flow.

If the UserName field is not specified, the user name is determined implicitly based on the AWS access key ID used to sign the request. This operation works for access keys under the AWS account. Consequently, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users.

" }, "UpdateUser":{ "name":"UpdateUser", @@ -2116,7 +2196,7 @@ {"shape":"ConcurrentModificationException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Updates the name and/or the path of the specified IAM user.

You should understand the implications of changing an IAM user's path or name. For more information, see Renaming an IAM User and Renaming an IAM Group in the IAM User Guide.

To change a user name, the requester must have appropriate permissions on both the source object and the target object. For example, to change Bob to Robert, the entity making the request must have permission on Bob and Robert, or must have permission on all (*). For more information about permissions, see Permissions and Policies.

" + "documentation":"

Updates the name and/or the path of the specified IAM user.

You should understand the implications of changing an IAM user's path or name. For more information, see Renaming an IAM User and Renaming an IAM Group in the IAM User Guide.

To change a user name, the requester must have appropriate permissions on both the source object and the target object. For example, to change Bob to Robert, the entity making the request must have permission on Bob and Robert, or must have permission on all (*). For more information about permissions, see Permissions and Policies.

" }, "UploadSSHPublicKey":{ "name":"UploadSSHPublicKey", @@ -2136,7 +2216,7 @@ {"shape":"DuplicateSSHPublicKeyException"}, {"shape":"UnrecognizedPublicKeyEncodingException"} ], - "documentation":"

Uploads an SSH public key and associates it with the specified IAM user.

The SSH public key uploaded by this operation can be used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

" + "documentation":"

Uploads an SSH public key and associates it with the specified IAM user.

The SSH public key uploaded by this operation can be used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

" }, "UploadServerCertificate":{ "name":"UploadServerCertificate", @@ -2156,7 +2236,7 @@ {"shape":"KeyPairMismatchException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Uploads a server certificate entity for the AWS account. The server certificate entity includes a public key certificate, a private key, and an optional certificate chain, which should all be PEM-encoded.

We recommend that you use AWS Certificate Manager to provision, manage, and deploy your server certificates. With ACM you can request a certificate, deploy it to AWS resources, and let ACM handle certificate renewals for you. Certificates provided by ACM are free. For more information about using ACM, see the AWS Certificate Manager User Guide.

For more information about working with server certificates, see Working with Server Certificates in the IAM User Guide. This topic includes a list of AWS services that can use the server certificates that you manage with IAM.

For information about the number of server certificates you can upload, see Limitations on IAM Entities and Objects in the IAM User Guide.

Because the body of the public key certificate, private key, and the certificate chain can be large, you should use POST rather than GET when calling UploadServerCertificate. For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about using the Query API with IAM, go to Calling the API by Making HTTP Query Requests in the IAM User Guide.

" + "documentation":"

Uploads a server certificate entity for the AWS account. The server certificate entity includes a public key certificate, a private key, and an optional certificate chain, which should all be PEM-encoded.

We recommend that you use AWS Certificate Manager to provision, manage, and deploy your server certificates. With ACM you can request a certificate, deploy it to AWS resources, and let ACM handle certificate renewals for you. Certificates provided by ACM are free. For more information about using ACM, see the AWS Certificate Manager User Guide.

For more information about working with server certificates, see Working with Server Certificates in the IAM User Guide. This topic includes a list of AWS services that can use the server certificates that you manage with IAM.

For information about the number of server certificates you can upload, see Limitations on IAM Entities and Objects in the IAM User Guide.

Because the body of the public key certificate, private key, and the certificate chain can be large, you should use POST rather than GET when calling UploadServerCertificate. For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about using the Query API with IAM, go to Calling the API by Making HTTP Query Requests in the IAM User Guide.

" }, "UploadSigningCertificate":{ "name":"UploadSigningCertificate", @@ -2178,7 +2258,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Uploads an X.509 signing certificate and associates it with the specified IAM user. Some AWS services use X.509 signing certificates to validate requests that are signed with a corresponding private key. When you upload the certificate, its default status is Active.

If the UserName field is not specified, the IAM user name is determined implicitly based on the AWS access key ID used to sign the request. Because this operation works for access keys under the AWS account, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users.

Because the body of an X.509 certificate can be large, you should use POST rather than GET when calling UploadSigningCertificate. For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide.

" + "documentation":"

Uploads an X.509 signing certificate and associates it with the specified IAM user. Some AWS services use X.509 signing certificates to validate requests that are signed with a corresponding private key. When you upload the certificate, its default status is Active.

If the UserName is not specified, the IAM user name is determined implicitly based on the AWS access key ID used to sign the request. This operation works for access keys under the AWS account. Consequently, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users.

Because the body of an X.509 certificate can be large, you should use POST rather than GET when calling UploadSigningCertificate. For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide.

" } }, "shapes":{ @@ -2224,18 +2304,18 @@ "members":{ "LastUsedDate":{ "shape":"dateType", - "documentation":"

The date and time, in ISO 8601 date-time format, when the access key was most recently used. This field is null in the following situations:

  • The user does not have an access key.

  • An access key exists but has never been used, at least not since IAM started tracking this information on April 22nd, 2015.

  • There is no sign-in data associated with the user

" + "documentation":"

The date and time, in ISO 8601 date-time format, when the access key was most recently used. This field is null in the following situations:

  • The user does not have an access key.

  • An access key exists but has not been used since IAM began tracking this information.

  • There is no sign-in data associated with the user

" }, "ServiceName":{ "shape":"stringType", - "documentation":"

The name of the AWS service with which this access key was most recently used. This field displays \"N/A\" in the following situations:

  • The user does not have an access key.

  • An access key exists but has never been used, at least not since IAM started tracking this information on April 22nd, 2015.

  • There is no sign-in data associated with the user

" + "documentation":"

The name of the AWS service with which this access key was most recently used. The value of this field is \"N/A\" in the following situations:

  • The user does not have an access key.

  • An access key exists but has not been used since IAM started tracking this information.

  • There is no sign-in data associated with the user

" }, "Region":{ "shape":"stringType", - "documentation":"

The AWS region where this access key was most recently used. This field is displays \"N/A\" in the following situations:

  • The user does not have an access key.

  • An access key exists but has never been used, at least not since IAM started tracking this information on April 22nd, 2015.

  • There is no sign-in data associated with the user

For more information about AWS regions, see Regions and Endpoints in the Amazon Web Services General Reference.

" + "documentation":"

The AWS region where this access key was most recently used. The value for this field is \"N/A\" in the following situations:

  • The user does not have an access key.

  • An access key exists but has not been used since IAM began tracking this information.

  • There is no sign-in data associated with the user

For more information about AWS regions, see Regions and Endpoints in the Amazon Web Services General Reference.

" } }, - "documentation":"

Contains information about the last time an AWS access key was used.

This data type is used as a response element in the GetAccessKeyLastUsed operation.

" + "documentation":"

Contains information about the last time an AWS access key was used since IAM began tracking this information on April 22, 2015.

This data type is used as a response element in the GetAccessKeyLastUsed operation.

" }, "AccessKeyMetadata":{ "type":"structure", @@ -2250,7 +2330,7 @@ }, "Status":{ "shape":"statusType", - "documentation":"

The status of the access key. Active means the key is valid for API calls; Inactive means it is not.

" + "documentation":"

The status of the access key. Active means that the key is valid for API calls; Inactive means it is not.

" }, "CreateDate":{ "shape":"dateType", @@ -2294,11 +2374,11 @@ "members":{ "InstanceProfileName":{ "shape":"instanceProfileNameType", - "documentation":"

The name of the instance profile to update.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the instance profile to update.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role to add.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the role to add.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -2311,11 +2391,11 @@ "members":{ "GroupName":{ "shape":"groupNameType", - "documentation":"

The name of the group to update.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the group to update.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user to add.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the user to add.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -2332,11 +2412,11 @@ "members":{ "GroupName":{ "shape":"groupNameType", - "documentation":"

The name (friendly name, not ARN) of the group to attach the policy to.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name (friendly name, not ARN) of the group to attach the policy to.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to attach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to attach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" } } }, @@ -2349,11 +2429,11 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name (friendly name, not ARN) of the role to attach the policy to.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name (friendly name, not ARN) of the role to attach the policy to.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to attach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to attach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" } } }, @@ -2366,11 +2446,11 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name (friendly name, not ARN) of the IAM user to attach the policy to.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name (friendly name, not ARN) of the IAM user to attach the policy to.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to attach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to attach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" } } }, @@ -2397,7 +2477,7 @@ }, "PolicyArn":{"shape":"arnType"} }, - "documentation":"

Contains information about an attached policy.

An attached policy is a managed policy that has been attached to a user, group, or role. This data type is used as a response element in the ListAttachedGroupPolicies, ListAttachedRolePolicies, ListAttachedUserPolicies, and GetAccountAuthorizationDetails operations.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

" + "documentation":"

Contains information about an attached policy.

An attached policy is a managed policy that has been attached to a user, group, or role. This data type is used as a response element in the ListAttachedGroupPolicies, ListAttachedRolePolicies, ListAttachedUserPolicies, and GetAccountAuthorizationDetails operations.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

" }, "BootstrapDatum":{ "type":"blob", @@ -2493,7 +2573,7 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the IAM user that the new key will belong to.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the IAM user that the new key will belong to.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -2514,7 +2594,7 @@ "members":{ "AccountAlias":{ "shape":"accountAliasType", - "documentation":"

The account alias to create.

This parameter allows (per its regex pattern) a string of characters consisting of lowercase letters, digits, and dashes. You cannot start or finish with a dash, nor can you have two dashes in a row.

" + "documentation":"

The account alias to create.

This parameter allows (through its regex pattern) a string of characters consisting of lowercase letters, digits, and dashes. You cannot start or finish with a dash, nor can you have two dashes in a row.

" } } }, @@ -2524,11 +2604,11 @@ "members":{ "Path":{ "shape":"pathType", - "documentation":"

The path to the group. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path to the group. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "GroupName":{ "shape":"groupNameType", - "documentation":"

The name of the group to create. Do not include the path in this value.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-. The group name must be unique within the account. Group names are not distinguished by case. For example, you cannot create groups named both \"ADMINS\" and \"admins\".

" + "documentation":"

The name of the group to create. Do not include the path in this value.

IAM user, group, role, and policy names must be unique within the account. Names are not distinguished by case. For example, you cannot create resources named both \"MyResource\" and \"myresource\".

" } } }, @@ -2549,11 +2629,11 @@ "members":{ "InstanceProfileName":{ "shape":"instanceProfileNameType", - "documentation":"

The name of the instance profile to create.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the instance profile to create.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Path":{ "shape":"pathType", - "documentation":"

The path to the instance profile. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path to the instance profile. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" } } }, @@ -2577,7 +2657,7 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name of the IAM user to create a password for. The user must already exist.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the IAM user to create a password for. The user must already exist.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Password":{ "shape":"passwordType", @@ -2617,7 +2697,7 @@ }, "ThumbprintList":{ "shape":"thumbprintListType", - "documentation":"

A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificates. Typically this list includes only one entry. However, IAM lets you have up to five thumbprints for an OIDC provider. This lets you maintain multiple thumbprints if the identity provider is rotating certificates.

The server certificate thumbprint is the hex-encoded SHA-1 hash value of the X.509 certificate used by the domain where the OpenID Connect provider makes its keys available. It is always a 40-character string.

You must provide at least one thumbprint when creating an IAM OIDC provider. For example, assume that the OIDC provider is server.example.com and the provider stores its keys at https://keys.server.example.com/openid-connect. In that case, the thumbprint string would be the hex-encoded SHA-1 hash value of the certificate used by https://keys.server.example.com.

For more information about obtaining the OIDC provider's thumbprint, see Obtaining the Thumbprint for an OpenID Connect Provider in the IAM User Guide.

" + "documentation":"

A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificates. Typically this list includes only one entry. However, IAM lets you have up to five thumbprints for an OIDC provider. This lets you maintain multiple thumbprints if the identity provider is rotating certificates.

The server certificate thumbprint is the hex-encoded SHA-1 hash value of the X.509 certificate used by the domain where the OpenID Connect provider makes its keys available. It is always a 40-character string.

You must provide at least one thumbprint when creating an IAM OIDC provider. For example, assume that the OIDC provider is server.example.com and the provider stores its keys at https://keys.server.example.com/openid-connect. In that case, the thumbprint string would be the hex-encoded SHA-1 hash value of the certificate used by https://keys.server.example.com.

For more information about obtaining the OIDC provider's thumbprint, see Obtaining the Thumbprint for an OpenID Connect Provider in the IAM User Guide.

" } } }, @@ -2640,15 +2720,15 @@ "members":{ "PolicyName":{ "shape":"policyNameType", - "documentation":"

The friendly name of the policy.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The friendly name of the policy.

IAM user, group, role, and policy names must be unique within the account. Names are not distinguished by case. For example, you cannot create resources named both \"MyResource\" and \"myresource\".

" }, "Path":{ "shape":"policyPathType", - "documentation":"

The path for the policy.

For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path for the policy.

For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "PolicyDocument":{ "shape":"policyDocumentType", - "documentation":"

The JSON policy document that you want to use as the content for the new policy.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" + "documentation":"

The JSON policy document that you want to use as the content for the new policy.

You must provide policies in JSON format in IAM. However, for AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" }, "Description":{ "shape":"policyDescriptionType", @@ -2675,15 +2755,15 @@ "members":{ "PolicyArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy to which you want to add a new version.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM policy to which you want to add a new version.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "PolicyDocument":{ "shape":"policyDocumentType", - "documentation":"

The JSON policy document that you want to use as the content for this new version of the policy.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" + "documentation":"

The JSON policy document that you want to use as the content for this new version of the policy.

You must provide policies in JSON format in IAM. However, for AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" }, "SetAsDefault":{ "shape":"booleanType", - "documentation":"

Specifies whether to set this version as the policy's default version.

When this parameter is true, the new policy version becomes the operative version. That is, it becomes the version that is in effect for the IAM users, groups, and roles that the policy is attached to.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" + "documentation":"

Specifies whether to set this version as the policy's default version.

When this parameter is true, the new policy version becomes the operative version. That is, it becomes the version that is in effect for the IAM users, groups, and roles that the policy is attached to.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" } } }, @@ -2706,31 +2786,31 @@ "members":{ "Path":{ "shape":"pathType", - "documentation":"

The path to the role. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path to the role. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role to create.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

Role names are not distinguished by case. For example, you cannot create roles named both \"PRODROLE\" and \"prodrole\".

" + "documentation":"

The name of the role to create.

IAM user, group, role, and policy names must be unique within the account. Names are not distinguished by case. For example, you cannot create resources named both \"MyResource\" and \"myresource\".

" }, "AssumeRolePolicyDocument":{ "shape":"policyDocumentType", - "documentation":"

The trust relationship policy document that grants an entity permission to assume the role.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" + "documentation":"

The trust relationship policy document that grants an entity permission to assume the role.

in IAM, you must provide a JSON policy that has been converted to a string. However, for AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

Upon success, the response includes the same trust policy as a URL-encoded JSON string.

" }, "Description":{ "shape":"roleDescriptionType", "documentation":"

A description of the role.

" }, - "Tags":{ - "shape":"tagListType", - "documentation":"

A list of tags that you want to attach to the newly created role. Each tag consists of a key name and an associated value. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

If any one of the tags is invalid or if you exceed the allowed number of tags per role, then the entire request fails and the role is not created.

" - }, "MaxSessionDuration":{ "shape":"roleMaxSessionDurationType", - "documentation":"

The maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours.

Anyone who assumes the role from the AWS CLI or API can use the DurationSeconds API parameter or the duration-seconds CLI parameter to request a longer session. The MaxSessionDuration setting determines the maximum duration that can be requested using the DurationSeconds parameter. If users don't specify a value for the DurationSeconds parameter, their security credentials are valid for one hour by default. This applies when you use the AssumeRole* API operations or the assume-role* CLI operations but does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

" + "documentation":"

The maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours.

Anyone who assumes the role from the AWS CLI or API can use the DurationSeconds API parameter or the duration-seconds CLI parameter to request a longer session. The MaxSessionDuration setting determines the maximum duration that can be requested using the DurationSeconds parameter. If users don't specify a value for the DurationSeconds parameter, their security credentials are valid for one hour by default. This applies when you use the AssumeRole* API operations or the assume-role* CLI operations but does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

" }, "PermissionsBoundary":{ "shape":"arnType", "documentation":"

The ARN of the policy that is used to set the permissions boundary for the role.

" + }, + "Tags":{ + "shape":"tagListType", + "documentation":"

A list of tags that you want to attach to the newly created role. Each tag consists of a key name and an associated value. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

If any one of the tags is invalid or if you exceed the allowed number of tags per role, then the entire request fails and the role is not created.

" } } }, @@ -2754,11 +2834,11 @@ "members":{ "SAMLMetadataDocument":{ "shape":"SAMLMetadataDocumentType", - "documentation":"

An XML document generated by an identity provider (IdP) that supports SAML 2.0. The document includes the issuer's name, expiration information, and keys that can be used to validate the SAML authentication response (assertions) that are received from the IdP. You must generate the metadata document using the identity management software that is used as your organization's IdP.

For more information, see About SAML 2.0-based Federation in the IAM User Guide

" + "documentation":"

An XML document generated by an identity provider (IdP) that supports SAML 2.0. The document includes the issuer's name, expiration information, and keys that can be used to validate the SAML authentication response (assertions) that are received from the IdP. You must generate the metadata document using the identity management software that is used as your organization's IdP.

For more information, see About SAML 2.0-based Federation in the IAM User Guide

" }, "Name":{ "shape":"SAMLProviderNameType", - "documentation":"

The name of the provider to create.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the provider to create.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -2778,7 +2858,7 @@ "members":{ "AWSServiceName":{ "shape":"groupNameType", - "documentation":"

The service principal for the AWS service to which this role is attached. You use a string similar to a URL but without the http:// in front. For example: elasticbeanstalk.amazonaws.com.

Service principals are unique and case-sensitive. To find the exact service principal for your service-linked role, see AWS Services That Work with IAM in the IAM User Guide and look for the services that have Yes in the Service-Linked Role column. Choose the Yes link to view the service-linked role documentation for that service.

" + "documentation":"

The service principal for the AWS service to which this role is attached. You use a string similar to a URL but without the http:// in front. For example: elasticbeanstalk.amazonaws.com.

Service principals are unique and case-sensitive. To find the exact service principal for your service-linked role, see AWS Services That Work with IAM in the IAM User Guide. Look for the services that have Yes in the Service-Linked Role column. Choose the Yes link to view the service-linked role documentation for that service.

" }, "Description":{ "shape":"roleDescriptionType", @@ -2808,7 +2888,7 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name of the IAM user that is to be associated with the credentials. The new service-specific credentials have the same permissions as the associated user except that they can be used only to access the specified service.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the IAM user that is to be associated with the credentials. The new service-specific credentials have the same permissions as the associated user except that they can be used only to access the specified service.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "ServiceName":{ "shape":"serviceName", @@ -2821,7 +2901,7 @@ "members":{ "ServiceSpecificCredential":{ "shape":"ServiceSpecificCredential", - "documentation":"

A structure that contains information about the newly created service-specific credential.

This is the only time that the password for this credential set is available. It cannot be recovered later. Instead, you will have to reset the password with ResetServiceSpecificCredential.

" + "documentation":"

A structure that contains information about the newly created service-specific credential.

This is the only time that the password for this credential set is available. It cannot be recovered later. Instead, you must reset the password with ResetServiceSpecificCredential.

" } } }, @@ -2831,19 +2911,19 @@ "members":{ "Path":{ "shape":"pathType", - "documentation":"

The path for the user name. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path for the user name. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "UserName":{ "shape":"userNameType", - "documentation":"

The name of the user to create.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-. User names are not distinguished by case. For example, you cannot create users named both \"TESTUSER\" and \"testuser\".

" - }, - "Tags":{ - "shape":"tagListType", - "documentation":"

A list of tags that you want to attach to the newly created user. Each tag consists of a key name and an associated value. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

If any one of the tags is invalid or if you exceed the allowed number of tags per user, then the entire request fails and the user is not created.

" + "documentation":"

The name of the user to create.

IAM user, group, role, and policy names must be unique within the account. Names are not distinguished by case. For example, you cannot create resources named both \"MyResource\" and \"myresource\".

" }, "PermissionsBoundary":{ "shape":"arnType", "documentation":"

The ARN of the policy that is used to set the permissions boundary for the user.

" + }, + "Tags":{ + "shape":"tagListType", + "documentation":"

A list of tags that you want to attach to the newly created user. Each tag consists of a key name and an associated value. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

If any one of the tags is invalid or if you exceed the allowed number of tags per user, then the entire request fails and the user is not created.

" } } }, @@ -2863,11 +2943,11 @@ "members":{ "Path":{ "shape":"pathType", - "documentation":"

The path for the virtual MFA device. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path for the virtual MFA device. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "VirtualMFADeviceName":{ "shape":"virtualMFADeviceName", - "documentation":"

The name of the virtual MFA device. Use with path to uniquely identify a virtual MFA device.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the virtual MFA device. Use with path to uniquely identify a virtual MFA device.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -2887,7 +2967,7 @@ "members":{ "message":{"shape":"credentialReportExpiredExceptionMessage"} }, - "documentation":"

The request was rejected because the most recent credential report has expired. To generate a new credential report, use GenerateCredentialReport. For more information about credential report expiration, see Getting Credential Reports in the IAM User Guide.

", + "documentation":"

The request was rejected because the most recent credential report has expired. To generate a new credential report, use GenerateCredentialReport. For more information about credential report expiration, see Getting Credential Reports in the IAM User Guide.

", "error":{ "code":"ReportExpired", "httpStatusCode":410, @@ -2930,11 +3010,11 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user whose MFA device you want to deactivate.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the user whose MFA device you want to deactivate.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "SerialNumber":{ "shape":"serialNumberType", - "documentation":"

The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@:/-

" + "documentation":"

The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@:/-

" } } }, @@ -2944,11 +3024,11 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user whose access key pair you want to delete.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the user whose access key pair you want to delete.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "AccessKeyId":{ "shape":"accessKeyIdType", - "documentation":"

The access key ID for the access key ID and secret access key you want to delete.

This parameter allows (per its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" + "documentation":"

The access key ID for the access key ID and secret access key you want to delete.

This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" } } }, @@ -2958,7 +3038,7 @@ "members":{ "AccountAlias":{ "shape":"accountAliasType", - "documentation":"

The name of the account alias to delete.

This parameter allows (per its regex pattern) a string of characters consisting of lowercase letters, digits, and dashes. You cannot start or finish with a dash, nor can you have two dashes in a row.

" + "documentation":"

The name of the account alias to delete.

This parameter allows (through its regex pattern) a string of characters consisting of lowercase letters, digits, and dashes. You cannot start or finish with a dash, nor can you have two dashes in a row.

" } } }, @@ -2984,11 +3064,11 @@ "members":{ "GroupName":{ "shape":"groupNameType", - "documentation":"

The name (friendly name, not ARN) identifying the group that the policy is embedded in.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name (friendly name, not ARN) identifying the group that the policy is embedded in.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyName":{ "shape":"policyNameType", - "documentation":"

The name identifying the policy document to delete.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name identifying the policy document to delete.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -2998,7 +3078,7 @@ "members":{ "GroupName":{ "shape":"groupNameType", - "documentation":"

The name of the IAM group to delete.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the IAM group to delete.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -3008,7 +3088,7 @@ "members":{ "InstanceProfileName":{ "shape":"instanceProfileNameType", - "documentation":"

The name of the instance profile to delete.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the instance profile to delete.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -3018,7 +3098,7 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name of the user whose password you want to delete.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the user whose password you want to delete.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -3038,7 +3118,7 @@ "members":{ "PolicyArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to delete.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to delete.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" } } }, @@ -3051,11 +3131,11 @@ "members":{ "PolicyArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy from which you want to delete a version.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM policy from which you want to delete a version.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "VersionId":{ "shape":"policyVersionIdType", - "documentation":"

The policy version to delete.

This parameter allows (per its regex pattern) a string of characters that consists of the lowercase letter 'v' followed by one or two digits, and optionally followed by a period '.' and a string of letters and digits.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" + "documentation":"

The policy version to delete.

This parameter allows (through its regex pattern) a string of characters that consists of the lowercase letter 'v' followed by one or two digits, and optionally followed by a period '.' and a string of letters and digits.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" } } }, @@ -3078,11 +3158,11 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name (friendly name, not ARN) identifying the role that the policy is embedded in.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name (friendly name, not ARN) identifying the role that the policy is embedded in.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyName":{ "shape":"policyNameType", - "documentation":"

The name of the inline policy to delete from the specified IAM role.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the inline policy to delete from the specified IAM role.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -3092,7 +3172,7 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role to delete.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the role to delete.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -3115,11 +3195,11 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name of the IAM user associated with the SSH public key.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the IAM user associated with the SSH public key.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "SSHPublicKeyId":{ "shape":"publicKeyIdType", - "documentation":"

The unique identifier for the SSH public key.

This parameter allows (per its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" + "documentation":"

The unique identifier for the SSH public key.

This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" } } }, @@ -3129,7 +3209,7 @@ "members":{ "ServerCertificateName":{ "shape":"serverCertificateNameType", - "documentation":"

The name of the server certificate you want to delete.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the server certificate you want to delete.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -3159,11 +3239,11 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name of the IAM user associated with the service-specific credential. If this value is not specified, then the operation assumes the user whose credentials are used to call the operation.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the IAM user associated with the service-specific credential. If this value is not specified, then the operation assumes the user whose credentials are used to call the operation.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "ServiceSpecificCredentialId":{ "shape":"serviceSpecificCredentialId", - "documentation":"

The unique identifier of the service-specific credential. You can get this value by calling ListServiceSpecificCredentials.

This parameter allows (per its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" + "documentation":"

The unique identifier of the service-specific credential. You can get this value by calling ListServiceSpecificCredentials.

This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" } } }, @@ -3173,7 +3253,7 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user the signing certificate belongs to.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the user the signing certificate belongs to.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "CertificateId":{ "shape":"certificateIdType", @@ -3200,11 +3280,11 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name (friendly name, not ARN) identifying the user that the policy is embedded in.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name (friendly name, not ARN) identifying the user that the policy is embedded in.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyName":{ "shape":"policyNameType", - "documentation":"

The name identifying the policy document to delete.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name identifying the policy document to delete.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -3214,7 +3294,7 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user to delete.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the user to delete.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -3224,7 +3304,7 @@ "members":{ "SerialNumber":{ "shape":"serialNumberType", - "documentation":"

The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the same as the ARN.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@:/-

" + "documentation":"

The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the same as the ARN.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@:/-

" } } }, @@ -3265,11 +3345,11 @@ "members":{ "GroupName":{ "shape":"groupNameType", - "documentation":"

The name (friendly name, not ARN) of the IAM group to detach the policy from.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name (friendly name, not ARN) of the IAM group to detach the policy from.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to detach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to detach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" } } }, @@ -3282,11 +3362,11 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name (friendly name, not ARN) of the IAM role to detach the policy from.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name (friendly name, not ARN) of the IAM role to detach the policy from.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to detach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to detach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" } } }, @@ -3299,11 +3379,11 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name (friendly name, not ARN) of the IAM user to detach the policy from.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name (friendly name, not ARN) of the IAM user to detach the policy from.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to detach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to detach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" } } }, @@ -3344,19 +3424,19 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the IAM user for whom you want to enable the MFA device.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the IAM user for whom you want to enable the MFA device.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "SerialNumber":{ "shape":"serialNumberType", - "documentation":"

The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@:/-

" + "documentation":"

The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@:/-

" }, "AuthenticationCode1":{ "shape":"authenticationCodeType", - "documentation":"

An authentication code emitted by the device.

The format for this parameter is a string of six digits.

Submit your request immediately after generating the authentication codes. If you generate the codes and then wait too long to submit the request, the MFA device successfully associates with the user but the MFA device becomes out of sync. This happens because time-based one-time passwords (TOTP) expire after a short period of time. If this happens, you can resync the device.

" + "documentation":"

An authentication code emitted by the device.

The format for this parameter is a string of six digits.

Submit your request immediately after generating the authentication codes. If you generate the codes and then wait too long to submit the request, the MFA device successfully associates with the user but the MFA device becomes out of sync. This happens because time-based one-time passwords (TOTP) expire after a short period of time. If this happens, you can resync the device.

" }, "AuthenticationCode2":{ "shape":"authenticationCodeType", - "documentation":"

A subsequent authentication code emitted by the device.

The format for this parameter is a string of six digits.

Submit your request immediately after generating the authentication codes. If you generate the codes and then wait too long to submit the request, the MFA device successfully associates with the user but the MFA device becomes out of sync. This happens because time-based one-time passwords (TOTP) expire after a short period of time. If this happens, you can resync the device.

" + "documentation":"

A subsequent authentication code emitted by the device.

The format for this parameter is a string of six digits.

Submit your request immediately after generating the authentication codes. If you generate the codes and then wait too long to submit the request, the MFA device successfully associates with the user but the MFA device becomes out of sync. This happens because time-based one-time passwords (TOTP) expire after a short period of time. If this happens, you can resync the device.

" } } }, @@ -3373,6 +3453,50 @@ }, "exception":true }, + "EntityDetails":{ + "type":"structure", + "required":["EntityInfo"], + "members":{ + "EntityInfo":{ + "shape":"EntityInfo", + "documentation":"

The EntityInfo object that contains details about the entity (user or role).

" + }, + "LastAuthenticated":{ + "shape":"dateType", + "documentation":"

The date and time, in ISO 8601 date-time format, when the authenticated entity last attempted to access AWS. AWS does not report unauthenticated requests.

This field is null if no IAM entities attempted to access the service within the reporting period.

" + } + }, + "documentation":"

An object that contains details about when the IAM entities (users or roles) were last used in an attempt to access the specified AWS service.

This data type is a response element in the GetServiceLastAccessedDetailsWithEntities operation.

" + }, + "EntityInfo":{ + "type":"structure", + "required":[ + "Arn", + "Name", + "Type", + "Id" + ], + "members":{ + "Arn":{"shape":"arnType"}, + "Name":{ + "shape":"userNameType", + "documentation":"

The name of the entity (user or role).

" + }, + "Type":{ + "shape":"policyOwnerEntityType", + "documentation":"

The type of entity (user or role).

" + }, + "Id":{ + "shape":"idType", + "documentation":"

The identifier of the entity (user or role).

" + }, + "Path":{ + "shape":"pathType", + "documentation":"

The path to the entity (user or role). For more information about paths, see IAM Identifiers in the Using IAM guide.

" + } + }, + "documentation":"

Contains details about the specified entity (user or role).

This data type is an element of the EntityDetails object.

" + }, "EntityTemporarilyUnmodifiableException":{ "type":"structure", "members":{ @@ -3396,6 +3520,24 @@ "AWSManagedPolicy" ] }, + "ErrorDetails":{ + "type":"structure", + "required":[ + "Message", + "Code" + ], + "members":{ + "Message":{ + "shape":"stringType", + "documentation":"

Detailed information about the reason that the operation failed.

" + }, + "Code":{ + "shape":"stringType", + "documentation":"

The error code associated with the operation failure.

" + } + }, + "documentation":"

Contains information about the reason that the operation failed.

This data type is used as a response element in the GetServiceLastAccessedDetails operation and the GetServiceLastAccessedDetailsWithEntities operation.

" + }, "EvalDecisionDetailsType":{ "type":"map", "key":{"shape":"EvalDecisionSourceType"}, @@ -3427,7 +3569,7 @@ }, "MatchedStatements":{ "shape":"StatementListType", - "documentation":"

A list of the statements in the input policies that determine the result for this scenario. Remember that even if multiple statements allow the operation on the resource, if only one statement denies that operation, then the explicit deny overrides any allow, and the deny statement is the only entry included in the result.

" + "documentation":"

A list of the statements in the input policies that determine the result for this scenario. Remember that even if multiple statements allow the operation on the resource, if only one statement denies that operation, then the explicit deny overrides any allow. Inaddition, the deny statement is the only entry included in the result.

" }, "MissingContextValues":{ "shape":"ContextKeyNamesResultListType", @@ -3439,7 +3581,7 @@ }, "EvalDecisionDetails":{ "shape":"EvalDecisionDetailsType", - "documentation":"

Additional details about the results of the evaluation decision. When there are both IAM policies and resource policies, this parameter explains how each set of policies contributes to the final evaluation decision. When simulating cross-account access to a resource, both the resource-based policy and the caller's IAM policy must grant access. See How IAM Roles Differ from Resource-based Policies

" + "documentation":"

Additional details about the results of the evaluation decision. When there are both IAM policies and resource policies, this parameter explains how each set of policies contributes to the final evaluation decision. When simulating cross-account access to a resource, both the resource-based policy and the caller's IAM policy must grant access. See How IAM Roles Differ from Resource-based Policies

" }, "ResourceSpecificResults":{ "shape":"ResourceSpecificResultListType", @@ -3466,13 +3608,32 @@ }, "documentation":"

Contains the response to a successful GenerateCredentialReport request.

" }, + "GenerateServiceLastAccessedDetailsRequest":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{ + "shape":"arnType", + "documentation":"

The ARN of the IAM resource (user, group, role, or managed policy) used to generate information about when the resource was last used in an attempt to access an AWS service.

" + } + } + }, + "GenerateServiceLastAccessedDetailsResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"jobIDType", + "documentation":"

The job ID that you can use in the GetServiceLastAccessedDetails or GetServiceLastAccessedDetailsWithEntities operations.

" + } + } + }, "GetAccessKeyLastUsedRequest":{ "type":"structure", "required":["AccessKeyId"], "members":{ "AccessKeyId":{ "shape":"accessKeyIdType", - "documentation":"

The identifier of an access key.

This parameter allows (per its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" + "documentation":"

The identifier of an access key.

This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" } } }, @@ -3499,7 +3660,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" }, "Marker":{ "shape":"markerType", @@ -3528,10 +3689,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -3553,7 +3714,7 @@ "members":{ "SummaryMap":{ "shape":"summaryMapType", - "documentation":"

A set of key value pairs containing information about IAM entity usage and IAM quotas.

" + "documentation":"

A set of key–value pairs containing information about IAM entity usage and IAM quotas.

" } }, "documentation":"

Contains the response to a successful GetAccountSummary request.

" @@ -3584,7 +3745,7 @@ "members":{ "PolicySourceArn":{ "shape":"arnType", - "documentation":"

The ARN of a user, group, or role whose policies contain the context keys that you want listed. If you specify a user, the list includes context keys that are found in all policies that are attached to the user. The list also includes all groups that the user is a member of. If you pick a group or a role, then it includes only those context keys that are found in policies attached to that entity. Note that all parameters are shown in unencoded form here for clarity, but must be URL encoded to be included as a part of a real HTML request.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The ARN of a user, group, or role whose policies contain the context keys that you want listed. If you specify a user, the list includes context keys that are found in all policies that are attached to the user. The list also includes all groups that the user is a member of. If you pick a group or a role, then it includes only those context keys that are found in policies attached to that entity. Note that all parameters are shown in unencoded form here for clarity, but must be URL encoded to be included as a part of a real HTML request.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "PolicyInputList":{ "shape":"SimulationPolicyListType", @@ -3619,11 +3780,11 @@ "members":{ "GroupName":{ "shape":"groupNameType", - "documentation":"

The name of the group the policy is associated with.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the group the policy is associated with.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyName":{ "shape":"policyNameType", - "documentation":"

The name of the policy document to get.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the policy document to get.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -3645,7 +3806,7 @@ }, "PolicyDocument":{ "shape":"policyDocumentType", - "documentation":"

The policy document.

" + "documentation":"

The policy document.

IAM stores policies in JSON format. However, resources that were created using AWS CloudFormation templates can be formatted in YAML. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.

" } }, "documentation":"

Contains the response to a successful GetGroupPolicy request.

" @@ -3656,7 +3817,7 @@ "members":{ "GroupName":{ "shape":"groupNameType", - "documentation":"

The name of the group.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the group.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Marker":{ "shape":"markerType", @@ -3664,7 +3825,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -3685,10 +3846,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -3700,7 +3861,7 @@ "members":{ "InstanceProfileName":{ "shape":"instanceProfileNameType", - "documentation":"

The name of the instance profile to get information about.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the instance profile to get information about.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -3721,7 +3882,7 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name of the user whose login profile you want to retrieve.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the user whose login profile you want to retrieve.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -3742,7 +3903,7 @@ "members":{ "OpenIDConnectProviderArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the OIDC provider resource object in IAM to get information for. You can get a list of OIDC provider resource ARNs by using the ListOpenIDConnectProviders operation.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the OIDC provider resource object in IAM to get information for. You can get a list of OIDC provider resource ARNs by using the ListOpenIDConnectProviders operation.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" } } }, @@ -3774,7 +3935,7 @@ "members":{ "PolicyArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the managed policy that you want information about.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the managed policy that you want information about.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" } } }, @@ -3797,11 +3958,11 @@ "members":{ "PolicyArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the managed policy that you want information about.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the managed policy that you want information about.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "VersionId":{ "shape":"policyVersionIdType", - "documentation":"

Identifies the policy version to retrieve.

This parameter allows (per its regex pattern) a string of characters that consists of the lowercase letter 'v' followed by one or two digits, and optionally followed by a period '.' and a string of letters and digits.

" + "documentation":"

Identifies the policy version to retrieve.

This parameter allows (through its regex pattern) a string of characters that consists of the lowercase letter 'v' followed by one or two digits, and optionally followed by a period '.' and a string of letters and digits.

" } } }, @@ -3824,11 +3985,11 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role associated with the policy.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the role associated with the policy.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyName":{ "shape":"policyNameType", - "documentation":"

The name of the policy document to get.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the policy document to get.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -3850,7 +4011,7 @@ }, "PolicyDocument":{ "shape":"policyDocumentType", - "documentation":"

The policy document.

" + "documentation":"

The policy document.

IAM stores policies in JSON format. However, resources that were created using AWS CloudFormation templates can be formatted in YAML. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.

" } }, "documentation":"

Contains the response to a successful GetRolePolicy request.

" @@ -3861,7 +4022,7 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the IAM role to get information about.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the IAM role to get information about.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -3882,7 +4043,7 @@ "members":{ "SAMLProviderArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the SAML provider resource object in IAM to get information about.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the SAML provider resource object in IAM to get information about.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" } } }, @@ -3914,11 +4075,11 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name of the IAM user associated with the SSH public key.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the IAM user associated with the SSH public key.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "SSHPublicKeyId":{ "shape":"publicKeyIdType", - "documentation":"

The unique identifier for the SSH public key.

This parameter allows (per its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" + "documentation":"

The unique identifier for the SSH public key.

This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" }, "Encoding":{ "shape":"encodingType", @@ -3942,7 +4103,7 @@ "members":{ "ServerCertificateName":{ "shape":"serverCertificateNameType", - "documentation":"

The name of the server certificate you want to retrieve information about.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the server certificate you want to retrieve information about.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -3957,6 +4118,127 @@ }, "documentation":"

Contains the response to a successful GetServerCertificate request.

" }, + "GetServiceLastAccessedDetailsRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"jobIDType", + "documentation":"

The ID of the request generated by the GenerateServiceLastAccessedDetails operation.

" + }, + "MaxItems":{ + "shape":"maxItemsType", + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + }, + "Marker":{ + "shape":"markerType", + "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" + } + } + }, + "GetServiceLastAccessedDetailsResponse":{ + "type":"structure", + "required":[ + "JobStatus", + "JobCreationDate", + "ServicesLastAccessed", + "JobCompletionDate" + ], + "members":{ + "JobStatus":{ + "shape":"jobStatusType", + "documentation":"

The status of the job.

" + }, + "JobCreationDate":{ + "shape":"dateType", + "documentation":"

The date and time, in ISO 8601 date-time format, when the report job was created.

" + }, + "ServicesLastAccessed":{ + "shape":"ServicesLastAccessed", + "documentation":"

ServiceLastAccessed object that contains details about the most recent attempt to access the service.

" + }, + "JobCompletionDate":{ + "shape":"dateType", + "documentation":"

The date and time, in ISO 8601 date-time format, when the generated report job was completed or failed.

This field is null if the job is still in progress, as indicated by a JobStatus value of IN_PROGRESS.

" + }, + "IsTruncated":{ + "shape":"booleanType", + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" + }, + "Marker":{ + "shape":"responseMarkerType", + "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" + }, + "Error":{ + "shape":"ErrorDetails", + "documentation":"

An object that contains details about the reason the operation failed.

" + } + } + }, + "GetServiceLastAccessedDetailsWithEntitiesRequest":{ + "type":"structure", + "required":[ + "JobId", + "ServiceNamespace" + ], + "members":{ + "JobId":{ + "shape":"jobIDType", + "documentation":"

The ID of the request generated by the GenerateServiceLastAccessedDetails operation.

" + }, + "ServiceNamespace":{ + "shape":"serviceNamespaceType", + "documentation":"

The service namespace for an AWS service. Provide the service namespace to learn when the IAM entity last attempted to access the specified service.

To learn the service namespace for a service, go to Actions, Resources, and Condition Keys for AWS Services in the IAM User Guide. Choose the name of the service to view details for that service. In the first paragraph, find the service prefix. For example, (service prefix: a4b). For more information about service namespaces, see AWS Service Namespaces in the AWS General Reference.

" + }, + "MaxItems":{ + "shape":"maxItemsType", + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + }, + "Marker":{ + "shape":"markerType", + "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" + } + } + }, + "GetServiceLastAccessedDetailsWithEntitiesResponse":{ + "type":"structure", + "required":[ + "JobStatus", + "JobCreationDate", + "JobCompletionDate", + "EntityDetailsList" + ], + "members":{ + "JobStatus":{ + "shape":"jobStatusType", + "documentation":"

The status of the job.

" + }, + "JobCreationDate":{ + "shape":"dateType", + "documentation":"

The date and time, in ISO 8601 date-time format, when the report job was created.

" + }, + "JobCompletionDate":{ + "shape":"dateType", + "documentation":"

The date and time, in ISO 8601 date-time format, when the generated report job was completed or failed.

" + }, + "EntityDetailsList":{ + "shape":"entityDetailsListType", + "documentation":"

An EntityDetailsList object that contains details about when an IAM entity (user or role) used group or policy permissions in an attempt to access the specified AWS service.

" + }, + "IsTruncated":{ + "shape":"booleanType", + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" + }, + "Marker":{ + "shape":"responseMarkerType", + "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" + }, + "Error":{ + "shape":"ErrorDetails", + "documentation":"

An object that contains details about the reason the operation failed.

" + } + } + }, "GetServiceLinkedRoleDeletionStatusRequest":{ "type":"structure", "required":["DeletionTaskId"], @@ -3990,11 +4272,11 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user who the policy is associated with.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the user who the policy is associated with.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyName":{ "shape":"policyNameType", - "documentation":"

The name of the policy document to get.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the policy document to get.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -4016,7 +4298,7 @@ }, "PolicyDocument":{ "shape":"policyDocumentType", - "documentation":"

The policy document.

" + "documentation":"

The policy document.

IAM stores policies in JSON format. However, resources that were created using AWS CloudFormation templates can be formatted in YAML. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.

" } }, "documentation":"

Contains the response to a successful GetUserPolicy request.

" @@ -4026,7 +4308,7 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user to get information about.

This parameter is optional. If it is not included, it defaults to the user making the request. This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the user to get information about.

This parameter is optional. If it is not included, it defaults to the user making the request. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -4036,7 +4318,7 @@ "members":{ "User":{ "shape":"User", - "documentation":"

A structure containing details about the IAM user.

Due to a service issue, password last used data does not include password use from May 3rd 2018 22:50 PDT to May 23rd 2018 14:08 PDT. This affects last sign-in dates shown in the IAM console and password last used dates in the IAM credential report, and returned by this GetUser API. If users signed in during the affected time, the password last used date that is returned is the date the user last signed in before May 3rd 2018. For users that signed in after May 23rd 2018 14:08 PDT, the returned password last used date is accurate.

If you use password last used information to identify unused credentials for deletion, such as deleting users who did not sign in to AWS in the last 90 days, we recommend that you adjust your evaluation window to include dates after May 23rd 2018. Alternatively, if your users use access keys to access AWS programmatically you can refer to access key last used information because it is accurate for all dates.

" + "documentation":"

A structure containing details about the IAM user.

Due to a service issue, password last used data does not include password use from May 3, 2018 22:50 PDT to May 23, 2018 14:08 PDT. This affects last sign-in dates shown in the IAM console and password last used dates in the IAM credential report, and returned by this GetUser API. If users signed in during the affected time, the password last used date that is returned is the date the user last signed in before May 3, 2018. For users that signed in after May 23, 2018 14:08 PDT, the returned password last used date is accurate.

You can use password last used information to identify unused credentials for deletion. For example, you might delete users who did not sign in to AWS in the last 90 days. In cases like this, we recommend that you adjust your evaluation window to include dates after May 23, 2018. Alternatively, if your users use access keys to access AWS programmatically you can refer to access key last used information because it is accurate for all dates.

" } }, "documentation":"

Contains the response to a successful GetUser request.

" @@ -4053,7 +4335,7 @@ "members":{ "Path":{ "shape":"pathType", - "documentation":"

The path to the group. For more information about paths, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The path to the group. For more information about paths, see IAM Identifiers in the Using IAM guide.

" }, "GroupName":{ "shape":"groupNameType", @@ -4061,11 +4343,11 @@ }, "GroupId":{ "shape":"idType", - "documentation":"

The stable and unique string identifying the group. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The stable and unique string identifying the group. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" }, "Arn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) specifying the group. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The Amazon Resource Name (ARN) specifying the group. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

" }, "CreateDate":{ "shape":"dateType", @@ -4079,7 +4361,7 @@ "members":{ "Path":{ "shape":"pathType", - "documentation":"

The path to the group. For more information about paths, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The path to the group. For more information about paths, see IAM Identifiers in the Using IAM guide.

" }, "GroupName":{ "shape":"groupNameType", @@ -4087,7 +4369,7 @@ }, "GroupId":{ "shape":"idType", - "documentation":"

The stable and unique string identifying the group. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The stable and unique string identifying the group. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" }, "Arn":{"shape":"arnType"}, "CreateDate":{ @@ -4118,7 +4400,7 @@ "members":{ "Path":{ "shape":"pathType", - "documentation":"

The path to the instance profile. For more information about paths, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The path to the instance profile. For more information about paths, see IAM Identifiers in the Using IAM guide.

" }, "InstanceProfileName":{ "shape":"instanceProfileNameType", @@ -4126,11 +4408,11 @@ }, "InstanceProfileId":{ "shape":"idType", - "documentation":"

The stable and unique string identifying the instance profile. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The stable and unique string identifying the instance profile. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" }, "Arn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) specifying the instance profile. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The Amazon Resource Name (ARN) specifying the instance profile. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

" }, "CreateDate":{ "shape":"dateType", @@ -4240,7 +4522,7 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the user.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Marker":{ "shape":"markerType", @@ -4248,7 +4530,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4262,10 +4544,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4280,7 +4562,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4294,10 +4576,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4309,11 +4591,11 @@ "members":{ "GroupName":{ "shape":"groupNameType", - "documentation":"

The name (friendly name, not ARN) of the group to list attached policies for.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name (friendly name, not ARN) of the group to list attached policies for.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PathPrefix":{ "shape":"policyPathType", - "documentation":"

The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies.

This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies.

This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "Marker":{ "shape":"markerType", @@ -4321,7 +4603,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4334,10 +4616,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4349,11 +4631,11 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name (friendly name, not ARN) of the role to list attached policies for.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name (friendly name, not ARN) of the role to list attached policies for.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PathPrefix":{ "shape":"policyPathType", - "documentation":"

The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies.

This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies.

This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "Marker":{ "shape":"markerType", @@ -4361,7 +4643,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4374,10 +4656,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4389,11 +4671,11 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name (friendly name, not ARN) of the user to list attached policies for.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name (friendly name, not ARN) of the user to list attached policies for.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PathPrefix":{ "shape":"policyPathType", - "documentation":"

The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies.

This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies.

This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "Marker":{ "shape":"markerType", @@ -4401,7 +4683,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4414,10 +4696,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4429,7 +4711,7 @@ "members":{ "PolicyArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy for which you want the versions.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM policy for which you want the versions.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "EntityFilter":{ "shape":"EntityType", @@ -4437,7 +4719,7 @@ }, "PathPrefix":{ "shape":"pathType", - "documentation":"

The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all entities.

This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all entities.

This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "PolicyUsageFilter":{ "shape":"PolicyUsageType", @@ -4449,7 +4731,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4470,10 +4752,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4485,7 +4767,7 @@ "members":{ "GroupName":{ "shape":"groupNameType", - "documentation":"

The name of the group to list policies for.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the group to list policies for.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Marker":{ "shape":"markerType", @@ -4493,7 +4775,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4503,14 +4785,14 @@ "members":{ "PolicyNames":{ "shape":"policyNameListType", - "documentation":"

A list of policy names.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

A list of policy names.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4522,7 +4804,7 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user to list groups for.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the user to list groups for.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Marker":{ "shape":"markerType", @@ -4530,7 +4812,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4544,10 +4826,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4558,7 +4840,7 @@ "members":{ "PathPrefix":{ "shape":"pathPrefixType", - "documentation":"

The path prefix for filtering the results. For example, the prefix /division_abc/subdivision_xyz/ gets all groups whose path starts with /division_abc/subdivision_xyz/.

This parameter is optional. If it is not included, it defaults to a slash (/), listing all groups. This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path prefix for filtering the results. For example, the prefix /division_abc/subdivision_xyz/ gets all groups whose path starts with /division_abc/subdivision_xyz/.

This parameter is optional. If it is not included, it defaults to a slash (/), listing all groups. This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "Marker":{ "shape":"markerType", @@ -4566,7 +4848,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4580,10 +4862,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4595,7 +4877,7 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role to list instance profiles for.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the role to list instance profiles for.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Marker":{ "shape":"markerType", @@ -4603,7 +4885,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4617,10 +4899,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4631,7 +4913,7 @@ "members":{ "PathPrefix":{ "shape":"pathPrefixType", - "documentation":"

The path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/ gets all instance profiles whose path starts with /application_abc/component_xyz/.

This parameter is optional. If it is not included, it defaults to a slash (/), listing all instance profiles. This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/ gets all instance profiles whose path starts with /application_abc/component_xyz/.

This parameter is optional. If it is not included, it defaults to a slash (/), listing all instance profiles. This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "Marker":{ "shape":"markerType", @@ -4639,7 +4921,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4653,10 +4935,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4667,7 +4949,7 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user whose MFA devices you want to list.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the user whose MFA devices you want to list.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Marker":{ "shape":"markerType", @@ -4675,7 +4957,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4689,10 +4971,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4713,6 +4995,59 @@ }, "documentation":"

Contains the response to a successful ListOpenIDConnectProviders request.

" }, + "ListPoliciesGrantingServiceAccessEntry":{ + "type":"structure", + "members":{ + "ServiceNamespace":{ + "shape":"serviceNamespaceType", + "documentation":"

The namespace of the service that was accessed.

To learn the service namespace of a service, go to Actions, Resources, and Condition Keys for AWS Services in the IAM User Guide. Choose the name of the service to view details for that service. In the first paragraph, find the service prefix. For example, (service prefix: a4b). For more information about service namespaces, see AWS Service Namespaces in the AWS General Reference.

" + }, + "Policies":{ + "shape":"policyGrantingServiceAccessListType", + "documentation":"

The PoliciesGrantingServiceAccess object that contains details about the policy.

" + } + }, + "documentation":"

Contains details about the permissions policies that are attached to the specified identity (user, group, or role).

This data type is used as a response element in the ListPoliciesGrantingServiceAccess operation.

" + }, + "ListPoliciesGrantingServiceAccessRequest":{ + "type":"structure", + "required":[ + "Arn", + "ServiceNamespaces" + ], + "members":{ + "Marker":{ + "shape":"markerType", + "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" + }, + "Arn":{ + "shape":"arnType", + "documentation":"

The ARN of the IAM identity (user, group, or role) whose policies you want to list.

" + }, + "ServiceNamespaces":{ + "shape":"serviceNamespaceListType", + "documentation":"

The service namespace for the AWS services whose policies you want to list.

To learn the service namespace for a service, go to Actions, Resources, and Condition Keys for AWS Services in the IAM User Guide. Choose the name of the service to view details for that service. In the first paragraph, find the service prefix. For example, (service prefix: a4b). For more information about service namespaces, see AWS Service Namespaces in the AWS General Reference.

" + } + } + }, + "ListPoliciesGrantingServiceAccessResponse":{ + "type":"structure", + "required":["PoliciesGrantingServiceAccess"], + "members":{ + "PoliciesGrantingServiceAccess":{ + "shape":"listPolicyGrantingServiceAccessResponseListType", + "documentation":"

ListPoliciesGrantingServiceAccess object that contains details about the permissions policies attached to the specified identity (user, group, or role).

" + }, + "IsTruncated":{ + "shape":"booleanType", + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" + }, + "Marker":{ + "shape":"responseMarkerType", + "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" + } + } + }, "ListPoliciesRequest":{ "type":"structure", "members":{ @@ -4726,7 +5061,7 @@ }, "PathPrefix":{ "shape":"policyPathType", - "documentation":"

The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies. This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies. This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "PolicyUsageFilter":{ "shape":"PolicyUsageType", @@ -4738,7 +5073,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4751,10 +5086,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4766,7 +5101,7 @@ "members":{ "PolicyArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy for which you want the versions.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM policy for which you want the versions.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "Marker":{ "shape":"markerType", @@ -4774,7 +5109,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4783,14 +5118,14 @@ "members":{ "Versions":{ "shape":"policyDocumentVersionListType", - "documentation":"

A list of policy versions.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" + "documentation":"

A list of policy versions.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4802,7 +5137,7 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role to list policies for.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the role to list policies for.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Marker":{ "shape":"markerType", @@ -4810,7 +5145,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4824,10 +5159,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4843,7 +5178,7 @@ }, "Marker":{ "shape":"markerType", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response to indicate where the next call should start.

" + "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" }, "MaxItems":{ "shape":"maxItemsType", @@ -4864,7 +5199,7 @@ "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can use the Marker request parameter to make a subsequent pagination request that retrieves more items. Note that IAM might return fewer than the MaxItems number of results even when more results are available. Check IsTruncated after every call to ensure that you receive all of your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } } @@ -4874,7 +5209,7 @@ "members":{ "PathPrefix":{ "shape":"pathPrefixType", - "documentation":"

The path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/ gets all roles whose path starts with /application_abc/component_xyz/.

This parameter is optional. If it is not included, it defaults to a slash (/), listing all roles. This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/ gets all roles whose path starts with /application_abc/component_xyz/.

This parameter is optional. If it is not included, it defaults to a slash (/), listing all roles. This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "Marker":{ "shape":"markerType", @@ -4882,7 +5217,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4896,10 +5231,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4925,7 +5260,7 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name of the IAM user to list SSH public keys for. If none is specified, the UserName field is determined implicitly based on the AWS access key used to sign the request.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the IAM user to list SSH public keys for. If none is specified, the UserName field is determined implicitly based on the AWS access key used to sign the request.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Marker":{ "shape":"markerType", @@ -4933,7 +5268,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4946,10 +5281,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4960,7 +5295,7 @@ "members":{ "PathPrefix":{ "shape":"pathPrefixType", - "documentation":"

The path prefix for filtering the results. For example: /company/servercerts would get all server certificates for which the path starts with /company/servercerts.

This parameter is optional. If it is not included, it defaults to a slash (/), listing all server certificates. This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path prefix for filtering the results. For example: /company/servercerts would get all server certificates for which the path starts with /company/servercerts.

This parameter is optional. If it is not included, it defaults to a slash (/), listing all server certificates. This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "Marker":{ "shape":"markerType", @@ -4968,7 +5303,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4982,10 +5317,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4996,7 +5331,7 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name of the user whose service-specific credentials you want information about. If this value is not specified, then the operation assumes the user whose credentials are used to call the operation.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the user whose service-specific credentials you want information about. If this value is not specified, then the operation assumes the user whose credentials are used to call the operation.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "ServiceName":{ "shape":"serviceName", @@ -5018,7 +5353,7 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the IAM user whose signing certificates you want to examine.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the IAM user whose signing certificates you want to examine.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Marker":{ "shape":"markerType", @@ -5026,7 +5361,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -5040,10 +5375,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -5055,7 +5390,7 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user to list policies for.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the user to list policies for.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Marker":{ "shape":"markerType", @@ -5063,7 +5398,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -5077,10 +5412,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -5096,7 +5431,7 @@ }, "Marker":{ "shape":"markerType", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response to indicate where the next call should start.

" + "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" }, "MaxItems":{ "shape":"maxItemsType", @@ -5117,7 +5452,7 @@ "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can use the Marker request parameter to make a subsequent pagination request that retrieves more items. Note that IAM might return fewer than the MaxItems number of results even when more results are available. Check IsTruncated after every call to ensure that you receive all of your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } } @@ -5127,7 +5462,7 @@ "members":{ "PathPrefix":{ "shape":"pathPrefixType", - "documentation":"

The path prefix for filtering the results. For example: /division_abc/subdivision_xyz/, which would get all user names whose path starts with /division_abc/subdivision_xyz/.

This parameter is optional. If it is not included, it defaults to a slash (/), listing all user names. This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path prefix for filtering the results. For example: /division_abc/subdivision_xyz/, which would get all user names whose path starts with /division_abc/subdivision_xyz/.

This parameter is optional. If it is not included, it defaults to a slash (/), listing all user names. This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "Marker":{ "shape":"markerType", @@ -5135,7 +5470,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -5149,10 +5484,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -5163,7 +5498,7 @@ "members":{ "AssignmentStatus":{ "shape":"assignmentStatusType", - "documentation":"

The status (Unassigned or Assigned) of the devices to list. If you do not specify an AssignmentStatus, the operation defaults to Any which lists both assigned and unassigned virtual MFA devices.

" + "documentation":"

The status (Unassigned or Assigned) of the devices to list. If you do not specify an AssignmentStatus, the operation defaults to Any, which lists both assigned and unassigned virtual MFA devices.,

" }, "Marker":{ "shape":"markerType", @@ -5171,7 +5506,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -5185,10 +5520,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -5274,16 +5609,16 @@ }, "PolicyId":{ "shape":"idType", - "documentation":"

The stable and unique string identifying the policy.

For more information about IDs, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The stable and unique string identifying the policy.

For more information about IDs, see IAM Identifiers in the Using IAM guide.

" }, "Arn":{"shape":"arnType"}, "Path":{ "shape":"policyPathType", - "documentation":"

The path to the policy.

For more information about paths, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The path to the policy.

For more information about paths, see IAM Identifiers in the Using IAM guide.

" }, "DefaultVersionId":{ "shape":"policyVersionIdType", - "documentation":"

The identifier for the version of the policy that is set as the default (operative) version.

For more information about policy versions, see Versioning for Managed Policies in the Using IAM guide.

" + "documentation":"

The identifier for the version of the policy that is set as the default (operative) version.

For more information about policy versions, see Versioning for Managed Policies in the Using IAM guide.

" }, "AttachmentCount":{ "shape":"attachmentCountType", @@ -5314,7 +5649,7 @@ "documentation":"

A list containing information about the versions of the policy.

" } }, - "documentation":"

Contains information about a managed policy, including the policy's ARN, versions, and the number of principal entities (users, groups, and roles) that the policy is attached to.

This data type is used as a response element in the GetAccountAuthorizationDetails operation.

For more information about managed policies, see Managed Policies and Inline Policies in the Using IAM guide.

" + "documentation":"

Contains information about a managed policy, including the policy's ARN, versions, and the number of principal entities (users, groups, and roles) that the policy is attached to.

This data type is used as a response element in the GetAccountAuthorizationDetails operation.

For more information about managed policies, see Managed Policies and Inline Policies in the Using IAM guide.

" }, "ManagedPolicyDetailListType":{ "type":"list", @@ -5325,7 +5660,7 @@ "members":{ "message":{"shape":"noSuchEntityMessage"} }, - "documentation":"

The request was rejected because it referenced an entity that does not exist. The error message describes the entity.

", + "documentation":"

The request was rejected because it referenced a resource entity that does not exist. The error message describes the resource.

", "error":{ "code":"NoSuchEntity", "httpStatusCode":404, @@ -5433,12 +5768,12 @@ }, "PolicyId":{ "shape":"idType", - "documentation":"

The stable and unique string identifying the policy.

For more information about IDs, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The stable and unique string identifying the policy.

For more information about IDs, see IAM Identifiers in the Using IAM guide.

" }, "Arn":{"shape":"arnType"}, "Path":{ "shape":"policyPathType", - "documentation":"

The path to the policy.

For more information about paths, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The path to the policy.

For more information about paths, see IAM Identifiers in the Using IAM guide.

" }, "DefaultVersionId":{ "shape":"policyVersionIdType", @@ -5469,7 +5804,7 @@ "documentation":"

The date and time, in ISO 8601 date-time format, when the policy was last updated.

When a policy has only one version, this field contains the date and time when the policy was created. When a policy has more than one version, this field contains the date and time when the most recent policy version was created.

" } }, - "documentation":"

Contains information about a managed policy.

This data type is used as a response element in the CreatePolicy, GetPolicy, and ListPolicies operations.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

" + "documentation":"

Contains information about a managed policy.

This data type is used as a response element in the CreatePolicy, GetPolicy, and ListPolicies operations.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

" }, "PolicyDetail":{ "type":"structure", @@ -5505,6 +5840,33 @@ }, "exception":true }, + "PolicyGrantingServiceAccess":{ + "type":"structure", + "required":[ + "PolicyName", + "PolicyType" + ], + "members":{ + "PolicyName":{ + "shape":"policyNameType", + "documentation":"

The policy name.

" + }, + "PolicyType":{ + "shape":"policyType", + "documentation":"

The policy type. For more information about these policy types, see Managed Policies and Inline Policies in the IAM User Guide.

" + }, + "PolicyArn":{"shape":"arnType"}, + "EntityType":{ + "shape":"policyOwnerEntityType", + "documentation":"

The type of entity (user or role) that used the policy to access the service to which the inline policy is attached.

This field is null for managed policies. For more information about these policy types, see Managed Policies and Inline Policies in the IAM User Guide.

" + }, + "EntityName":{ + "shape":"entityNameType", + "documentation":"

The name of the entity (user or role) to which the inline policy is attached.

This field is null for managed policies. For more information about these policy types, see Managed Policies and Inline Policies in the IAM User Guide.

" + } + }, + "documentation":"

Contains details about the permissions policies that are attached to the specified identity (user, group, or role).

This data type is an element of the ListPoliciesGrantingServiceAccessEntry object.

" + }, "PolicyGroup":{ "type":"structure", "members":{ @@ -5514,10 +5876,10 @@ }, "GroupId":{ "shape":"idType", - "documentation":"

The stable and unique string identifying the group. For more information about IDs, see IAM Identifiers in the IAM User Guide.

" + "documentation":"

The stable and unique string identifying the group. For more information about IDs, see IAM Identifiers in the IAM User Guide.

" } }, - "documentation":"

Contains information about a group that a managed policy is attached to.

This data type is used as a response element in the ListEntitiesForPolicy operation.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

" + "documentation":"

Contains information about a group that a managed policy is attached to.

This data type is used as a response element in the ListEntitiesForPolicy operation.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

" }, "PolicyGroupListType":{ "type":"list", @@ -5546,10 +5908,10 @@ }, "RoleId":{ "shape":"idType", - "documentation":"

The stable and unique string identifying the role. For more information about IDs, see IAM Identifiers in the IAM User Guide.

" + "documentation":"

The stable and unique string identifying the role. For more information about IDs, see IAM Identifiers in the IAM User Guide.

" } }, - "documentation":"

Contains information about a role that a managed policy is attached to.

This data type is used as a response element in the ListEntitiesForPolicy operation.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

" + "documentation":"

Contains information about a role that a managed policy is attached to.

This data type is used as a response element in the ListEntitiesForPolicy operation.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

" }, "PolicyRoleListType":{ "type":"list", @@ -5584,10 +5946,10 @@ }, "UserId":{ "shape":"idType", - "documentation":"

The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the IAM User Guide.

" + "documentation":"

The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the IAM User Guide.

" } }, - "documentation":"

Contains information about a user that a managed policy is attached to.

This data type is used as a response element in the ListEntitiesForPolicy operation.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

" + "documentation":"

Contains information about a user that a managed policy is attached to.

This data type is used as a response element in the ListEntitiesForPolicy operation.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

" }, "PolicyUserListType":{ "type":"list", @@ -5613,7 +5975,7 @@ "documentation":"

The date and time, in ISO 8601 date-time format, when the policy version was created.

" } }, - "documentation":"

Contains information about a version of a managed policy.

This data type is used as a response element in the CreatePolicyVersion, GetPolicyVersion, ListPolicyVersions, and GetAccountAuthorizationDetails operations.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

" + "documentation":"

Contains information about a version of a managed policy.

This data type is used as a response element in the CreatePolicyVersion, GetPolicyVersion, ListPolicyVersions, and GetAccountAuthorizationDetails operations.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

" }, "Position":{ "type":"structure", @@ -5639,15 +6001,15 @@ "members":{ "GroupName":{ "shape":"groupNameType", - "documentation":"

The name of the group to associate the policy with.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the group to associate the policy with.

&regex-name;.

" }, "PolicyName":{ "shape":"policyNameType", - "documentation":"

The name of the policy document.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the policy document.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyDocument":{ "shape":"policyDocumentType", - "documentation":"

The policy document.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" + "documentation":"

The policy document.

You must provide policies in JSON format in IAM. However, for AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" } } }, @@ -5678,15 +6040,15 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role to associate the policy with.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the role to associate the policy with.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyName":{ "shape":"policyNameType", - "documentation":"

The name of the policy document.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the policy document.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyDocument":{ "shape":"policyDocumentType", - "documentation":"

The policy document.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" + "documentation":"

The policy document.

You must provide policies in JSON format in IAM. However, for AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" } } }, @@ -5717,15 +6079,15 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user to associate the policy with.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the user to associate the policy with.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyName":{ "shape":"policyNameType", - "documentation":"

The name of the policy document.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the policy document.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyDocument":{ "shape":"policyDocumentType", - "documentation":"

The policy document.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" + "documentation":"

The policy document.

You must provide policies in JSON format in IAM. However, for AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" } } }, @@ -5747,7 +6109,7 @@ "members":{ "OpenIDConnectProviderArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM OIDC provider resource to remove the client ID from. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders operation.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM OIDC provider resource to remove the client ID from. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders operation.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "ClientID":{ "shape":"clientIDType", @@ -5764,11 +6126,11 @@ "members":{ "InstanceProfileName":{ "shape":"instanceProfileNameType", - "documentation":"

The name of the instance profile to update.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the instance profile to update.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role to remove.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the role to remove.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -5781,11 +6143,11 @@ "members":{ "GroupName":{ "shape":"groupNameType", - "documentation":"

The name of the group to update.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the group to update.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user to remove.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the user to remove.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -5809,11 +6171,11 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name of the IAM user associated with the service-specific credential. If this value is not specified, then the operation assumes the user whose credentials are used to call the operation.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the IAM user associated with the service-specific credential. If this value is not specified, then the operation assumes the user whose credentials are used to call the operation.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "ServiceSpecificCredentialId":{ "shape":"serviceSpecificCredentialId", - "documentation":"

The unique identifier of the service-specific credential.

This parameter allows (per its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" + "documentation":"

The unique identifier of the service-specific credential.

This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" } } }, @@ -5857,7 +6219,7 @@ }, "MatchedStatements":{ "shape":"StatementListType", - "documentation":"

A list of the statements in the input policies that determine the result for this part of the simulation. Remember that even if multiple statements allow the operation on the resource, if any statement denies that operation, then the explicit deny overrides any allow, and the deny statement is the only entry included in the result.

" + "documentation":"

A list of the statements in the input policies that determine the result for this part of the simulation. Remember that even if multiple statements allow the operation on the resource, if any statement denies that operation, then the explicit deny overrides any allow. In addition, the deny statement is the only entry included in the result.

" }, "MissingContextValues":{ "shape":"ContextKeyNamesResultListType", @@ -5885,11 +6247,11 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user whose MFA device you want to resynchronize.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the user whose MFA device you want to resynchronize.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "SerialNumber":{ "shape":"serialNumberType", - "documentation":"

Serial number that uniquely identifies the MFA device.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

Serial number that uniquely identifies the MFA device.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "AuthenticationCode1":{ "shape":"authenticationCodeType", @@ -5913,7 +6275,7 @@ "members":{ "Path":{ "shape":"pathType", - "documentation":"

The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide.

" }, "RoleName":{ "shape":"roleNameType", @@ -5921,11 +6283,11 @@ }, "RoleId":{ "shape":"idType", - "documentation":"

The stable and unique string identifying the role. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The stable and unique string identifying the role. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" }, "Arn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) specifying the role. For more information about ARNs and how to use them in policies, see IAM Identifiers in the IAM User Guide guide.

" + "documentation":"

The Amazon Resource Name (ARN) specifying the role. For more information about ARNs and how to use them in policies, see IAM Identifiers in the IAM User Guide guide.

" }, "CreateDate":{ "shape":"dateType", @@ -5939,17 +6301,17 @@ "shape":"roleDescriptionType", "documentation":"

A description of the role that you provide.

" }, - "Tags":{ - "shape":"tagListType", - "documentation":"

A list of tags that are attached to the specified role. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" - }, "MaxSessionDuration":{ "shape":"roleMaxSessionDurationType", - "documentation":"

The maximum session duration (in seconds) for the specified role. Anyone who uses the AWS CLI or API to assume the role can specify the duration using the optional DurationSeconds API parameter or duration-seconds CLI parameter.

" + "documentation":"

The maximum session duration (in seconds) for the specified role. Anyone who uses the AWS CLI, or API to assume the role can specify the duration using the optional DurationSeconds API parameter or duration-seconds CLI parameter.

" }, "PermissionsBoundary":{ "shape":"AttachedPermissionsBoundary", "documentation":"

The ARN of the policy used to set the permissions boundary for the role.

For more information about permissions boundaries, see Permissions Boundaries for IAM Identities in the IAM User Guide.

" + }, + "Tags":{ + "shape":"tagListType", + "documentation":"

A list of tags that are attached to the specified role. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" } }, "documentation":"

Contains information about an IAM role. This structure is returned as a response element in several API operations that interact with roles.

" @@ -5959,7 +6321,7 @@ "members":{ "Path":{ "shape":"pathType", - "documentation":"

The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide.

" }, "RoleName":{ "shape":"roleNameType", @@ -5967,7 +6329,7 @@ }, "RoleId":{ "shape":"idType", - "documentation":"

The stable and unique string identifying the role. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The stable and unique string identifying the role. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" }, "Arn":{"shape":"arnType"}, "CreateDate":{ @@ -5990,13 +6352,13 @@ "shape":"attachedPoliciesListType", "documentation":"

A list of managed policies attached to the role. These policies are the role's access (permissions) policies.

" }, - "Tags":{ - "shape":"tagListType", - "documentation":"

A list of tags that are attached to the specified role. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" - }, "PermissionsBoundary":{ "shape":"AttachedPermissionsBoundary", "documentation":"

The ARN of the policy used to set the permissions boundary for the role.

For more information about permissions boundaries, see Permissions Boundaries for IAM Identities in the IAM User Guide.

" + }, + "Tags":{ + "shape":"tagListType", + "documentation":"

A list of tags that are attached to the specified role. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" } }, "documentation":"

Contains information about an IAM role, including all of the role's policies.

This data type is used as a response element in the GetAccountAuthorizationDetails operation.

" @@ -6154,7 +6516,7 @@ "members":{ "Path":{ "shape":"pathType", - "documentation":"

The path to the server certificate. For more information about paths, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The path to the server certificate. For more information about paths, see IAM Identifiers in the Using IAM guide.

" }, "ServerCertificateName":{ "shape":"serverCertificateNameType", @@ -6162,11 +6524,11 @@ }, "ServerCertificateId":{ "shape":"idType", - "documentation":"

The stable and unique string identifying the server certificate. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The stable and unique string identifying the server certificate. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" }, "Arn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) specifying the server certificate. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The Amazon Resource Name (ARN) specifying the server certificate. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

" }, "UploadDate":{ "shape":"dateType", @@ -6191,6 +6553,36 @@ }, "exception":true }, + "ServiceLastAccessed":{ + "type":"structure", + "required":[ + "ServiceName", + "ServiceNamespace" + ], + "members":{ + "ServiceName":{ + "shape":"serviceNameType", + "documentation":"

The name of the service in which access was attempted.

" + }, + "LastAuthenticated":{ + "shape":"dateType", + "documentation":"

The date and time, in ISO 8601 date-time format, when an authenticated entity most recently attempted to access the service. AWS does not report unauthenticated requests.

This field is null if no IAM entities attempted to access the service within the reporting period.

" + }, + "ServiceNamespace":{ + "shape":"serviceNamespaceType", + "documentation":"

The namespace of the service in which access was attempted.

To learn the service namespace of a service, go to Actions, Resources, and Condition Keys for AWS Services in the IAM User Guide. Choose the name of the service to view details for that service. In the first paragraph, find the service prefix. For example, (service prefix: a4b). For more information about service namespaces, see AWS Service Namespaces in the AWS General Reference.

" + }, + "LastAuthenticatedEntity":{ + "shape":"arnType", + "documentation":"

The ARN of the authenticated entity (user or role) that last attempted to access the service. AWS does not report unauthenticated requests.

This field is null if no IAM entities attempted to access the service within the reporting period.

" + }, + "TotalAuthenticatedEntities":{ + "shape":"integerType", + "documentation":"

The total number of authenticated entities that have attempted to access the service.

This field is null if no IAM entities attempted to access the service within the reporting period.

" + } + }, + "documentation":"

Contains details about the most recent attempt to access the service.

This data type is used as a response element in the GetServiceLastAccessedDetails operation.

" + }, "ServiceNotSupportedException":{ "type":"structure", "members":{ @@ -6289,6 +6681,10 @@ "type":"list", "member":{"shape":"ServiceSpecificCredentialMetadata"} }, + "ServicesLastAccessed":{ + "type":"list", + "member":{"shape":"ServiceLastAccessed"} + }, "SetDefaultPolicyVersionRequest":{ "type":"structure", "required":[ @@ -6298,11 +6694,21 @@ "members":{ "PolicyArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy whose default version you want to set.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM policy whose default version you want to set.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "VersionId":{ "shape":"policyVersionIdType", - "documentation":"

The version of the policy to set as the default (operative) version.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" + "documentation":"

The version of the policy to set as the default (operative) version.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" + } + } + }, + "SetSecurityTokenServicePreferencesRequest":{ + "type":"structure", + "required":["GlobalEndpointTokenVersion"], + "members":{ + "GlobalEndpointTokenVersion":{ + "shape":"globalEndpointTokenVersion", + "documentation":"

The version of the global endpoint token. Version 1 tokens are valid only in AWS Regions that are available by default. These tokens do not work in manually enabled Regions, such as Asia Pacific (Hong Kong). Version 2 tokens are valid in all Regions. However, version 2 tokens are longer and might affect systems where you temporarily store tokens.

For information, see Activating and Deactivating STS in an AWS Region in the IAM User Guide.

" } } }, @@ -6347,15 +6753,15 @@ "members":{ "PolicyInputList":{ "shape":"SimulationPolicyListType", - "documentation":"

A list of policy documents to include in the simulation. Each document is specified as a string containing the complete, valid JSON text of an IAM policy. Do not include any resource-based policies in this parameter. Any resource-based policy must be submitted with the ResourcePolicy parameter. The policies cannot be \"scope-down\" policies, such as you could include in a call to GetFederationToken or one of the AssumeRole API operations. In other words, do not use policies designed to restrict what a user can do while using the temporary credentials.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" + "documentation":"

A list of policy documents to include in the simulation. Each document is specified as a string containing the complete, valid JSON text of an IAM policy. Do not include any resource-based policies in this parameter. Any resource-based policy must be submitted with the ResourcePolicy parameter. The policies cannot be \"scope-down\" policies, such as you could include in a call to GetFederationToken or one of the AssumeRole API operations. In other words, do not use policies designed to restrict what a user can do while using the temporary credentials.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" }, "ActionNames":{ "shape":"ActionNameListType", - "documentation":"

A list of names of API operations to evaluate in the simulation. Each operation is evaluated against each resource. Each operation must include the service identifier, such as iam:CreateUser.

" + "documentation":"

A list of names of API operations to evaluate in the simulation. Each operation is evaluated against each resource. Each operation must include the service identifier, such as iam:CreateUser. This operation does not support using wildcards (*) in an action name.

" }, "ResourceArns":{ "shape":"ResourceNameListType", - "documentation":"

A list of ARNs of AWS resources to include in the simulation. If this parameter is not provided then the value defaults to * (all resources). Each API in the ActionNames parameter is evaluated for each resource in this list. The simulation determines the access result (allowed or denied) of each combination and reports it in the response.

The simulation does not automatically retrieve policies for the specified resources. If you want to include a resource policy in the simulation, then you must include the policy as a string in the ResourcePolicy parameter.

If you include a ResourcePolicy, then it must be applicable to all of the resources included in the simulation or you receive an invalid input error.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

A list of ARNs of AWS resources to include in the simulation. If this parameter is not provided, then the value defaults to * (all resources). Each API in the ActionNames parameter is evaluated for each resource in this list. The simulation determines the access result (allowed or denied) of each combination and reports it in the response.

The simulation does not automatically retrieve policies for the specified resources. If you want to include a resource policy in the simulation, then you must include the policy as a string in the ResourcePolicy parameter.

If you include a ResourcePolicy, then it must be applicable to all of the resources included in the simulation or you receive an invalid input error.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "ResourcePolicy":{ "shape":"policyDocumentType", @@ -6363,7 +6769,7 @@ }, "ResourceOwner":{ "shape":"ResourceNameType", - "documentation":"

An ARN representing the AWS account ID that specifies the owner of any simulated resource that does not identify its owner in the resource ARN, such as an S3 bucket or object. If ResourceOwner is specified, it is also used as the account owner of any ResourcePolicy included in the simulation. If the ResourceOwner parameter is not specified, then the owner of the resources and the resource policy defaults to the account of the identity provided in CallerArn. This parameter is required only if you specify a resource-based policy and account that owns the resource is different from the account that owns the simulated calling user CallerArn.

The ARN for an account uses the following syntax: arn:aws:iam::AWS-account-ID:root. For example, to represent the account with the 112233445566 ID, use the following ARN: arn:aws:iam::112233445566-ID:root.

" + "documentation":"

An ARN representing the AWS account ID that specifies the owner of any simulated resource that does not identify its owner in the resource ARN. Examples of resource ARNs include an S3 bucket or object. If ResourceOwner is specified, it is also used as the account owner of any ResourcePolicy included in the simulation. If the ResourceOwner parameter is not specified, then the owner of the resources and the resource policy defaults to the account of the identity provided in CallerArn. This parameter is required only if you specify a resource-based policy and account that owns the resource is different from the account that owns the simulated calling user CallerArn.

The ARN for an account uses the following syntax: arn:aws:iam::AWS-account-ID:root. For example, to represent the account with the 112233445566 ID, use the following ARN: arn:aws:iam::112233445566-ID:root.

" }, "CallerArn":{ "shape":"ResourceNameType", @@ -6371,15 +6777,15 @@ }, "ContextEntries":{ "shape":"ContextEntryListType", - "documentation":"

A list of context keys and corresponding values for the simulation to use. Whenever a context key is evaluated in one of the simulated IAM permission policies, the corresponding value is supplied.

" + "documentation":"

A list of context keys and corresponding values for the simulation to use. Whenever a context key is evaluated in one of the simulated IAM permissions policies, the corresponding value is supplied.

" }, "ResourceHandlingOption":{ "shape":"ResourceHandlingOptionType", - "documentation":"

Specifies the type of simulation to run. Different API operations that support resource-based policies require different combinations of resources. By specifying the type of simulation to run, you enable the policy simulator to enforce the presence of the required resources to ensure reliable simulation results. If your simulation does not match one of the following scenarios, then you can omit this parameter. The following list shows each of the supported scenario values and the resources that you must define to run the simulation.

Each of the EC2 scenarios requires that you specify instance, image, and security-group resources. If your scenario includes an EBS volume, then you must specify that volume as a resource. If the EC2 scenario includes VPC, then you must supply the network-interface resource. If it includes an IP subnet, then you must specify the subnet resource. For more information on the EC2 scenario options, see Supported Platforms in the Amazon EC2 User Guide.

  • EC2-Classic-InstanceStore

    instance, image, security-group

  • EC2-Classic-EBS

    instance, image, security-group, volume

  • EC2-VPC-InstanceStore

    instance, image, security-group, network-interface

  • EC2-VPC-InstanceStore-Subnet

    instance, image, security-group, network-interface, subnet

  • EC2-VPC-EBS

    instance, image, security-group, network-interface, volume

  • EC2-VPC-EBS-Subnet

    instance, image, security-group, network-interface, subnet, volume

" + "documentation":"

Specifies the type of simulation to run. Different API operations that support resource-based policies require different combinations of resources. By specifying the type of simulation to run, you enable the policy simulator to enforce the presence of the required resources to ensure reliable simulation results. If your simulation does not match one of the following scenarios, then you can omit this parameter. The following list shows each of the supported scenario values and the resources that you must define to run the simulation.

Each of the EC2 scenarios requires that you specify instance, image, and security-group resources. If your scenario includes an EBS volume, then you must specify that volume as a resource. If the EC2 scenario includes VPC, then you must supply the network-interface resource. If it includes an IP subnet, then you must specify the subnet resource. For more information on the EC2 scenario options, see Supported Platforms in the Amazon EC2 User Guide.

  • EC2-Classic-InstanceStore

    instance, image, security-group

  • EC2-Classic-EBS

    instance, image, security-group, volume

  • EC2-VPC-InstanceStore

    instance, image, security-group, network-interface

  • EC2-VPC-InstanceStore-Subnet

    instance, image, security-group, network-interface, subnet

  • EC2-VPC-EBS

    instance, image, security-group, network-interface, volume

  • EC2-VPC-EBS-Subnet

    instance, image, security-group, network-interface, subnet, volume

" }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" }, "Marker":{ "shape":"markerType", @@ -6396,10 +6802,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -6414,7 +6820,7 @@ "members":{ "PolicySourceArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of a user, group, or role whose policies you want to include in the simulation. If you specify a user, group, or role, the simulation includes all policies that are associated with that entity. If you specify a user, the simulation also includes all policies that are attached to any groups the user belongs to.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of a user, group, or role whose policies you want to include in the simulation. If you specify a user, group, or role, the simulation includes all policies that are associated with that entity. If you specify a user, the simulation also includes all policies that are attached to any groups the user belongs to.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "PolicyInputList":{ "shape":"SimulationPolicyListType", @@ -6426,7 +6832,7 @@ }, "ResourceArns":{ "shape":"ResourceNameListType", - "documentation":"

A list of ARNs of AWS resources to include in the simulation. If this parameter is not provided, then the value defaults to * (all resources). Each API in the ActionNames parameter is evaluated for each resource in this list. The simulation determines the access result (allowed or denied) of each combination and reports it in the response.

The simulation does not automatically retrieve policies for the specified resources. If you want to include a resource policy in the simulation, then you must include the policy as a string in the ResourcePolicy parameter.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

A list of ARNs of AWS resources to include in the simulation. If this parameter is not provided, then the value defaults to * (all resources). Each API in the ActionNames parameter is evaluated for each resource in this list. The simulation determines the access result (allowed or denied) of each combination and reports it in the response.

The simulation does not automatically retrieve policies for the specified resources. If you want to include a resource policy in the simulation, then you must include the policy as a string in the ResourcePolicy parameter.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "ResourcePolicy":{ "shape":"policyDocumentType", @@ -6434,11 +6840,11 @@ }, "ResourceOwner":{ "shape":"ResourceNameType", - "documentation":"

An AWS account ID that specifies the owner of any simulated resource that does not identify its owner in the resource ARN, such as an S3 bucket or object. If ResourceOwner is specified, it is also used as the account owner of any ResourcePolicy included in the simulation. If the ResourceOwner parameter is not specified, then the owner of the resources and the resource policy defaults to the account of the identity provided in CallerArn. This parameter is required only if you specify a resource-based policy and account that owns the resource is different from the account that owns the simulated calling user CallerArn.

" + "documentation":"

An AWS account ID that specifies the owner of any simulated resource that does not identify its owner in the resource ARN. Examples of resource ARNs include an S3 bucket or object. If ResourceOwner is specified, it is also used as the account owner of any ResourcePolicy included in the simulation. If the ResourceOwner parameter is not specified, then the owner of the resources and the resource policy defaults to the account of the identity provided in CallerArn. This parameter is required only if you specify a resource-based policy and account that owns the resource is different from the account that owns the simulated calling user CallerArn.

" }, "CallerArn":{ "shape":"ResourceNameType", - "documentation":"

The ARN of the IAM user that you want to specify as the simulated caller of the API operations. If you do not specify a CallerArn, it defaults to the ARN of the user that you specify in PolicySourceArn, if you specified a user. If you include both a PolicySourceArn (for example, arn:aws:iam::123456789012:user/David) and a CallerArn (for example, arn:aws:iam::123456789012:user/Bob), the result is that you simulate calling the API operations as Bob, as if Bob had David's policies.

You can specify only the ARN of an IAM user. You cannot specify the ARN of an assumed role, federated user, or a service principal.

CallerArn is required if you include a ResourcePolicy and the PolicySourceArn is not the ARN for an IAM user. This is required so that the resource-based policy's Principal element has a value to use in evaluating the policy.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The ARN of the IAM user that you want to specify as the simulated caller of the API operations. If you do not specify a CallerArn, it defaults to the ARN of the user that you specify in PolicySourceArn, if you specified a user. If you include both a PolicySourceArn (for example, arn:aws:iam::123456789012:user/David) and a CallerArn (for example, arn:aws:iam::123456789012:user/Bob), the result is that you simulate calling the API operations as Bob, as if Bob had David's policies.

You can specify only the ARN of an IAM user. You cannot specify the ARN of an assumed role, federated user, or a service principal.

CallerArn is required if you include a ResourcePolicy and the PolicySourceArn is not the ARN for an IAM user. This is required so that the resource-based policy's Principal element has a value to use in evaluating the policy.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "ContextEntries":{ "shape":"ContextEntryListType", @@ -6446,11 +6852,11 @@ }, "ResourceHandlingOption":{ "shape":"ResourceHandlingOptionType", - "documentation":"

Specifies the type of simulation to run. Different API operations that support resource-based policies require different combinations of resources. By specifying the type of simulation to run, you enable the policy simulator to enforce the presence of the required resources to ensure reliable simulation results. If your simulation does not match one of the following scenarios, then you can omit this parameter. The following list shows each of the supported scenario values and the resources that you must define to run the simulation.

Each of the EC2 scenarios requires that you specify instance, image, and security-group resources. If your scenario includes an EBS volume, then you must specify that volume as a resource. If the EC2 scenario includes VPC, then you must supply the network-interface resource. If it includes an IP subnet, then you must specify the subnet resource. For more information on the EC2 scenario options, see Supported Platforms in the Amazon EC2 User Guide.

  • EC2-Classic-InstanceStore

    instance, image, security-group

  • EC2-Classic-EBS

    instance, image, security-group, volume

  • EC2-VPC-InstanceStore

    instance, image, security-group, network-interface

  • EC2-VPC-InstanceStore-Subnet

    instance, image, security-group, network-interface, subnet

  • EC2-VPC-EBS

    instance, image, security-group, network-interface, volume

  • EC2-VPC-EBS-Subnet

    instance, image, security-group, network-interface, subnet, volume

" + "documentation":"

Specifies the type of simulation to run. Different API operations that support resource-based policies require different combinations of resources. By specifying the type of simulation to run, you enable the policy simulator to enforce the presence of the required resources to ensure reliable simulation results. If your simulation does not match one of the following scenarios, then you can omit this parameter. The following list shows each of the supported scenario values and the resources that you must define to run the simulation.

Each of the EC2 scenarios requires that you specify instance, image, and security group resources. If your scenario includes an EBS volume, then you must specify that volume as a resource. If the EC2 scenario includes VPC, then you must supply the network interface resource. If it includes an IP subnet, then you must specify the subnet resource. For more information on the EC2 scenario options, see Supported Platforms in the Amazon EC2 User Guide.

  • EC2-Classic-InstanceStore

    instance, image, security group

  • EC2-Classic-EBS

    instance, image, security group, volume

  • EC2-VPC-InstanceStore

    instance, image, security group, network interface

  • EC2-VPC-InstanceStore-Subnet

    instance, image, security group, network interface, subnet

  • EC2-VPC-EBS

    instance, image, security group, network interface, volume

  • EC2-VPC-EBS-Subnet

    instance, image, security group, network interface, subnet, volume

" }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" }, "Marker":{ "shape":"markerType", @@ -6504,7 +6910,7 @@ "documentation":"

The value associated with this tag. For example, tags with a key name of Department could have values such as Human Resources, Accounting, and Support. Tags with a key name of Cost Center might have values that consist of the number associated with the different cost centers in your company. Typically, many resources have tags with the same key name but with different values.

AWS always interprets the tag Value as a single string. If you need to store an array, you can store comma-separated values in the string. However, you must interpret the value in your code.

" } }, - "documentation":"

A structure that represents user-provided metadata that can be associated with a resource such as an IAM user or role. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" + "documentation":"

A structure that represents user-provided metadata that can be associated with a resource such as an IAM user or role. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" }, "TagRoleRequest":{ "type":"structure", @@ -6609,11 +7015,11 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user whose key you want to update.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the user whose key you want to update.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "AccessKeyId":{ "shape":"accessKeyIdType", - "documentation":"

The access key ID of the secret access key you want to update.

This parameter allows (per its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" + "documentation":"

The access key ID of the secret access key you want to update.

This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" }, "Status":{ "shape":"statusType", @@ -6646,7 +7052,7 @@ }, "AllowUsersToChangePassword":{ "shape":"booleanType", - "documentation":"

Allows all IAM users in your account to use the AWS Management Console to change their own passwords. For more information, see Letting IAM Users Change Their Own Passwords in the IAM User Guide.

If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that IAM users in the account do not automatically have permissions to change their own password.

" + "documentation":"

Allows all IAM users in your account to use the AWS Management Console to change their own passwords. For more information, see Letting IAM Users Change Their Own Passwords in the IAM User Guide.

If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that IAM users in the account do not automatically have permissions to change their own password.

" }, "MaxPasswordAge":{ "shape":"maxPasswordAgeType", @@ -6671,11 +7077,11 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role to update with the new policy.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the role to update with the new policy.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyDocument":{ "shape":"policyDocumentType", - "documentation":"

The policy that grants an entity permission to assume the role.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" + "documentation":"

The policy that grants an entity permission to assume the role.

You must provide policies in JSON format in IAM. However, for AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" } } }, @@ -6685,15 +7091,15 @@ "members":{ "GroupName":{ "shape":"groupNameType", - "documentation":"

Name of the IAM group to update. If you're changing the name of the group, this is the original name.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

Name of the IAM group to update. If you're changing the name of the group, this is the original name.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "NewPath":{ "shape":"pathType", - "documentation":"

New path for the IAM group. Only include this if changing the group's path.

This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

New path for the IAM group. Only include this if changing the group's path.

This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "NewGroupName":{ "shape":"groupNameType", - "documentation":"

New name for the IAM group. Only include this if changing the group's name.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

New name for the IAM group. Only include this if changing the group's name.

IAM user, group, role, and policy names must be unique within the account. Names are not distinguished by case. For example, you cannot create resources named both \"MyResource\" and \"myresource\".

" } } }, @@ -6703,7 +7109,7 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name of the user whose password you want to update.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the user whose password you want to update.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Password":{ "shape":"passwordType", @@ -6724,7 +7130,7 @@ "members":{ "OpenIDConnectProviderArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM OIDC provider resource object for which you want to update the thumbprint. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders operation.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM OIDC provider resource object for which you want to update the thumbprint. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders operation.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "ThumbprintList":{ "shape":"thumbprintListType", @@ -6772,7 +7178,7 @@ }, "MaxSessionDuration":{ "shape":"roleMaxSessionDurationType", - "documentation":"

The maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours.

Anyone who assumes the role from the AWS CLI or API can use the DurationSeconds API parameter or the duration-seconds CLI parameter to request a longer session. The MaxSessionDuration setting determines the maximum duration that can be requested using the DurationSeconds parameter. If users don't specify a value for the DurationSeconds parameter, their security credentials are valid for one hour by default. This applies when you use the AssumeRole* API operations or the assume-role* CLI operations but does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

" + "documentation":"

The maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours.

Anyone who assumes the role from the AWS CLI or API can use the DurationSeconds API parameter or the duration-seconds CLI parameter to request a longer session. The MaxSessionDuration setting determines the maximum duration that can be requested using the DurationSeconds parameter. If users don't specify a value for the DurationSeconds parameter, their security credentials are valid for one hour by default. This applies when you use the AssumeRole* API operations or the assume-role* CLI operations but does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

" } } }, @@ -6794,7 +7200,7 @@ }, "SAMLProviderArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the SAML provider to update.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the SAML provider to update.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" } } }, @@ -6818,11 +7224,11 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name of the IAM user associated with the SSH public key.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the IAM user associated with the SSH public key.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "SSHPublicKeyId":{ "shape":"publicKeyIdType", - "documentation":"

The unique identifier for the SSH public key.

This parameter allows (per its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" + "documentation":"

The unique identifier for the SSH public key.

This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" }, "Status":{ "shape":"statusType", @@ -6836,15 +7242,15 @@ "members":{ "ServerCertificateName":{ "shape":"serverCertificateNameType", - "documentation":"

The name of the server certificate that you want to update.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the server certificate that you want to update.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "NewPath":{ "shape":"pathType", - "documentation":"

The new path for the server certificate. Include this only if you are updating the server certificate's path.

This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The new path for the server certificate. Include this only if you are updating the server certificate's path.

This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "NewServerCertificateName":{ "shape":"serverCertificateNameType", - "documentation":"

The new name for the server certificate. Include this only if you are updating the server certificate's name. The name of the certificate cannot contain any spaces.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The new name for the server certificate. Include this only if you are updating the server certificate's name. The name of the certificate cannot contain any spaces.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -6857,11 +7263,11 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name of the IAM user associated with the service-specific credential. If you do not specify this value, then the operation assumes the user whose credentials are used to call the operation.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the IAM user associated with the service-specific credential. If you do not specify this value, then the operation assumes the user whose credentials are used to call the operation.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "ServiceSpecificCredentialId":{ "shape":"serviceSpecificCredentialId", - "documentation":"

The unique identifier of the service-specific credential.

This parameter allows (per its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" + "documentation":"

The unique identifier of the service-specific credential.

This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" }, "Status":{ "shape":"statusType", @@ -6878,11 +7284,11 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the IAM user the signing certificate belongs to.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the IAM user the signing certificate belongs to.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "CertificateId":{ "shape":"certificateIdType", - "documentation":"

The ID of the signing certificate you want to update.

This parameter allows (per its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" + "documentation":"

The ID of the signing certificate you want to update.

This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" }, "Status":{ "shape":"statusType", @@ -6896,15 +7302,15 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

Name of the user to update. If you're changing the name of the user, this is the original user name.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

Name of the user to update. If you're changing the name of the user, this is the original user name.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "NewPath":{ "shape":"pathType", - "documentation":"

New path for the IAM user. Include this parameter only if you're changing the user's path.

This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

New path for the IAM user. Include this parameter only if you're changing the user's path.

This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "NewUserName":{ "shape":"userNameType", - "documentation":"

New name for the user. Include this parameter only if you're changing the user's name.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

New name for the user. Include this parameter only if you're changing the user's name.

IAM user, group, role, and policy names must be unique within the account. Names are not distinguished by case. For example, you cannot create resources named both \"MyResource\" and \"myresource\".

" } } }, @@ -6917,11 +7323,11 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name of the IAM user to associate the SSH public key with.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the IAM user to associate the SSH public key with.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "SSHPublicKeyBody":{ "shape":"publicKeyMaterialType", - "documentation":"

The SSH public key. The public key must be encoded in ssh-rsa format or PEM format. The miminum bit-length of the public key is 2048 bits. For example, you can generate a 2048-bit key, and the resulting PEM file is 1679 bytes long.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" + "documentation":"

The SSH public key. The public key must be encoded in ssh-rsa format or PEM format. The minimum bit-length of the public key is 2048 bits. For example, you can generate a 2048-bit key, and the resulting PEM file is 1679 bytes long.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" } } }, @@ -6945,11 +7351,11 @@ "members":{ "Path":{ "shape":"pathType", - "documentation":"

The path for the server certificate. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/). This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

If you are uploading a server certificate specifically for use with Amazon CloudFront distributions, you must specify a path using the path parameter. The path must begin with /cloudfront and must include a trailing slash (for example, /cloudfront/test/).

" + "documentation":"

The path for the server certificate. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/). This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

If you are uploading a server certificate specifically for use with Amazon CloudFront distributions, you must specify a path using the path parameter. The path must begin with /cloudfront and must include a trailing slash (for example, /cloudfront/test/).

" }, "ServerCertificateName":{ "shape":"serverCertificateNameType", - "documentation":"

The name for the server certificate. Do not include the path in this value. The name of the certificate cannot contain any spaces.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name for the server certificate. Do not include the path in this value. The name of the certificate cannot contain any spaces.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "CertificateBody":{ "shape":"certificateBodyType", @@ -6981,7 +7387,7 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user the signing certificate is for.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + "documentation":"

The name of the user the signing certificate is for.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "CertificateBody":{ "shape":"certificateBodyType", @@ -7012,7 +7418,7 @@ "members":{ "Path":{ "shape":"pathType", - "documentation":"

The path to the user. For more information about paths, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The path to the user. For more information about paths, see IAM Identifiers in the Using IAM guide.

" }, "UserName":{ "shape":"userNameType", @@ -7020,11 +7426,11 @@ }, "UserId":{ "shape":"idType", - "documentation":"

The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" }, "Arn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use ARNs in policies, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use ARNs in policies, see IAM Identifiers in the Using IAM guide.

" }, "CreateDate":{ "shape":"dateType", @@ -7032,15 +7438,15 @@ }, "PasswordLastUsed":{ "shape":"dateType", - "documentation":"

The date and time, in ISO 8601 date-time format, when the user's password was last used to sign in to an AWS website. For a list of AWS websites that capture a user's last sign-in time, see the Credential Reports topic in the Using IAM guide. If a password is used more than once in a five-minute span, only the first use is returned in this field. If the field is null (no value) then it indicates that they never signed in with a password. This can be because:

  • The user never had a password.

  • A password exists but has not been used since IAM started tracking this information on October 20th, 2014.

A null does not mean that the user never had a password. Also, if the user does not currently have a password, but had one in the past, then this field contains the date and time the most recent password was used.

This value is returned only in the GetUser and ListUsers operations.

" - }, - "Tags":{ - "shape":"tagListType", - "documentation":"

A list of tags that are associated with the specified user. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" + "documentation":"

The date and time, in ISO 8601 date-time format, when the user's password was last used to sign in to an AWS website. For a list of AWS websites that capture a user's last sign-in time, see the Credential Reports topic in the Using IAM guide. If a password is used more than once in a five-minute span, only the first use is returned in this field. If the field is null (no value), then it indicates that they never signed in with a password. This can be because:

  • The user never had a password.

  • A password exists but has not been used since IAM started tracking this information on October 20, 2014.

A null valuedoes not mean that the user never had a password. Also, if the user does not currently have a password, but had one in the past, then this field contains the date and time the most recent password was used.

This value is returned only in the GetUser and ListUsers operations.

" }, "PermissionsBoundary":{ "shape":"AttachedPermissionsBoundary", "documentation":"

The ARN of the policy used to set the permissions boundary for the user.

For more information about permissions boundaries, see Permissions Boundaries for IAM Identities in the IAM User Guide.

" + }, + "Tags":{ + "shape":"tagListType", + "documentation":"

A list of tags that are associated with the specified user. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" } }, "documentation":"

Contains information about an IAM user entity.

This data type is used as a response element in the following operations:

" @@ -7050,7 +7456,7 @@ "members":{ "Path":{ "shape":"pathType", - "documentation":"

The path to the user. For more information about paths, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The path to the user. For more information about paths, see IAM Identifiers in the Using IAM guide.

" }, "UserName":{ "shape":"userNameType", @@ -7058,7 +7464,7 @@ }, "UserId":{ "shape":"idType", - "documentation":"

The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" }, "Arn":{"shape":"arnType"}, "CreateDate":{ @@ -7077,13 +7483,13 @@ "shape":"attachedPoliciesListType", "documentation":"

A list of the managed policies attached to the user.

" }, - "Tags":{ - "shape":"tagListType", - "documentation":"

A list of tags that are associated with the specified user. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" - }, "PermissionsBoundary":{ "shape":"AttachedPermissionsBoundary", "documentation":"

The ARN of the policy used to set the permissions boundary for the user.

For more information about permissions boundaries, see Permissions Boundaries for IAM Identities in the IAM User Guide.

" + }, + "Tags":{ + "shape":"tagListType", + "documentation":"

A list of tags that are associated with the specified user. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" } }, "documentation":"

Contains information about an IAM user, including all the user's policies and all the IAM groups the user is in.

This data type is used as a response element in the GetAccountAuthorizationDetails operation.

" @@ -7098,11 +7504,11 @@ }, "Base32StringSeed":{ "shape":"BootstrapDatum", - "documentation":"

The Base32 seed defined as specified in RFC3548. The Base32StringSeed is Base64-encoded.

" + "documentation":"

The base32 seed defined as specified in RFC3548. The Base32StringSeed is base64-encoded.

" }, "QRCodePNG":{ "shape":"BootstrapDatum", - "documentation":"

A QR code PNG image that encodes otpauth://totp/$virtualMFADeviceName@$AccountName?secret=$Base32String where $virtualMFADeviceName is one of the create call arguments, AccountName is the user name if set (otherwise, the account ID otherwise), and Base32String is the seed in Base32 format. The Base32String value is Base64-encoded.

" + "documentation":"

A QR code PNG image that encodes otpauth://totp/$virtualMFADeviceName@$AccountName?secret=$Base32String where $virtualMFADeviceName is one of the create call arguments. AccountName is the user name if set (otherwise, the account ID otherwise), and Base32String is the seed in base32 format. The Base32String value is base64-encoded.

" }, "User":{ "shape":"User", @@ -7142,7 +7548,7 @@ }, "arnType":{ "type":"string", - "documentation":"

The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", + "documentation":"

The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", "max":2048, "min":20 }, @@ -7223,10 +7629,20 @@ ] }, "entityAlreadyExistsMessage":{"type":"string"}, + "entityDetailsListType":{ + "type":"list", + "member":{"shape":"EntityDetails"} + }, "entityListType":{ "type":"list", "member":{"shape":"EntityType"} }, + "entityNameType":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\w+=,.@-]+" + }, "entityTemporarilyUnmodifiableMessage":{"type":"string"}, "existingUserNameType":{ "type":"string", @@ -7234,6 +7650,13 @@ "min":1, "pattern":"[\\w+=,.@-]+" }, + "globalEndpointTokenVersion":{ + "type":"string", + "enum":[ + "v1Token", + "v2Token" + ] + }, "groupDetailListType":{ "type":"list", "member":{"shape":"GroupDetail"} @@ -7270,13 +7693,31 @@ "min":1, "pattern":"[\\w+=,.@-]+" }, + "integerType":{"type":"integer"}, "invalidAuthenticationCodeMessage":{"type":"string"}, "invalidCertificateMessage":{"type":"string"}, "invalidInputMessage":{"type":"string"}, "invalidPublicKeyMessage":{"type":"string"}, "invalidUserTypeMessage":{"type":"string"}, + "jobIDType":{ + "type":"string", + "max":36, + "min":36 + }, + "jobStatusType":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "COMPLETED", + "FAILED" + ] + }, "keyPairMismatchMessage":{"type":"string"}, "limitExceededMessage":{"type":"string"}, + "listPolicyGrantingServiceAccessResponseListType":{ + "type":"list", + "member":{"shape":"ListPoliciesGrantingServiceAccessEntry"} + }, "malformedCertificateMessage":{"type":"string"}, "malformedPolicyDocumentMessage":{"type":"string"}, "markerType":{ @@ -7352,6 +7793,10 @@ "member":{"shape":"PolicyVersion"} }, "policyEvaluationErrorMessage":{"type":"string"}, + "policyGrantingServiceAccessListType":{ + "type":"list", + "member":{"shape":"PolicyGrantingServiceAccess"} + }, "policyListType":{ "type":"list", "member":{"shape":"Policy"} @@ -7368,8 +7813,18 @@ "pattern":"[\\w+=,.@-]+" }, "policyNotAttachableMessage":{"type":"string"}, + "policyOwnerEntityType":{ + "type":"string", + "enum":[ + "USER", + "ROLE", + "GROUP" + ] + }, "policyPathType":{ "type":"string", + "max":512, + "min":1, "pattern":"((/[A-Za-z0-9\\.,\\+@=_-]+)*)/" }, "policyScopeType":{ @@ -7380,6 +7835,13 @@ "Local" ] }, + "policyType":{ + "type":"string", + "enum":[ + "INLINE", + "MANAGED" + ] + }, "policyVersionIdType":{ "type":"string", "pattern":"v[1-9][0-9]*(\\.[A-Za-z0-9-]*)?" @@ -7409,6 +7871,7 @@ "min":1, "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+" }, + "responseMarkerType":{"type":"string"}, "roleDescriptionType":{ "type":"string", "max":1000, @@ -7452,6 +7915,19 @@ }, "serviceFailureExceptionMessage":{"type":"string"}, "serviceName":{"type":"string"}, + "serviceNameType":{"type":"string"}, + "serviceNamespaceListType":{ + "type":"list", + "member":{"shape":"serviceNamespaceType"}, + "max":200, + "min":1 + }, + "serviceNamespaceType":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[\\w-]*" + }, "serviceNotSupportedMessage":{"type":"string"}, "servicePassword":{ "type":"string", @@ -7504,7 +7980,8 @@ "PolicySizeQuota", "PolicyVersionsInUse", "PolicyVersionsInUseQuota", - "VersionsPerPolicyQuota" + "VersionsPerPolicyQuota", + "GlobalEndpointTokenVersion" ] }, "summaryMapType":{ @@ -7515,7 +7992,8 @@ "summaryValueType":{"type":"integer"}, "tagKeyListType":{ "type":"list", - "member":{"shape":"tagKeyType"} + "member":{"shape":"tagKeyType"}, + "max":50 }, "tagKeyType":{ "type":"string", @@ -7525,7 +8003,8 @@ }, "tagListType":{ "type":"list", - "member":{"shape":"Tag"} + "member":{"shape":"Tag"}, + "max":50 }, "tagValueType":{ "type":"string", @@ -7571,5 +8050,5 @@ "pattern":"[\\w+=,.@-]+" } }, - "documentation":"AWS Identity and Access Management

AWS Identity and Access Management (IAM) is a web service that you can use to manage users and user permissions under your AWS account. This guide provides descriptions of IAM actions that you can call programmatically. For general information about IAM, see AWS Identity and Access Management (IAM). For the user guide for IAM, see Using IAM.

AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to IAM and AWS. For example, the SDKs take care of tasks such as cryptographically signing requests (see below), managing errors, and retrying requests automatically. For information about the AWS SDKs, including how to download and install them, see the Tools for Amazon Web Services page.

We recommend that you use the AWS SDKs to make programmatic API calls to IAM. However, you can also use the IAM Query API to make direct calls to the IAM web service. To learn more about the IAM Query API, see Making Query Requests in the Using IAM guide. IAM supports GET and POST requests for all actions. That is, the API does not require you to use GET for some actions and POST for others. However, GET requests are subject to the limitation size of a URL. Therefore, for operations that require larger sizes, use a POST request.

Signing Requests

Requests must be signed using an access key ID and a secret access key. We strongly recommend that you do not use your AWS account access key ID and secret access key for everyday work with IAM. You can use the access key ID and secret access key for an IAM user or you can use the AWS Security Token Service to generate temporary security credentials and use those to sign requests.

To sign requests, we recommend that you use Signature Version 4. If you have an existing application that uses Signature Version 2, you do not have to update it to use Signature Version 4. However, some operations now require Signature Version 4. The documentation for operations that require version 4 indicate this requirement.

Additional Resources

For more information, see the following:

  • AWS Security Credentials. This topic provides general information about the types of credentials used for accessing AWS.

  • IAM Best Practices. This topic presents a list of suggestions for using the IAM service to help secure your AWS resources.

  • Signing AWS API Requests. This set of topics walk you through the process of signing a request using an access key ID and secret access key.

" + "documentation":"AWS Identity and Access Management

AWS Identity and Access Management (IAM) is a web service that you can use to manage users and user permissions under your AWS account. This guide provides descriptions of IAM actions that you can call programmatically. For general information about IAM, see AWS Identity and Access Management (IAM). For the user guide for IAM, see Using IAM.

AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to IAM and AWS. For example, the SDKs take care of tasks such as cryptographically signing requests (see below), managing errors, and retrying requests automatically. For information about the AWS SDKs, including how to download and install them, see the Tools for Amazon Web Services page.

We recommend that you use the AWS SDKs to make programmatic API calls to IAM. However, you can also use the IAM Query API to make direct calls to the IAM web service. To learn more about the IAM Query API, see Making Query Requests in the Using IAM guide. IAM supports GET and POST requests for all actions. That is, the API does not require you to use GET for some actions and POST for others. However, GET requests are subject to the limitation size of a URL. Therefore, for operations that require larger sizes, use a POST request.

Signing Requests

Requests must be signed using an access key ID and a secret access key. We strongly recommend that you do not use your AWS account access key ID and secret access key for everyday work with IAM. You can use the access key ID and secret access key for an IAM user or you can use the AWS Security Token Service to generate temporary security credentials and use those to sign requests.

To sign requests, we recommend that you use Signature Version 4. If you have an existing application that uses Signature Version 2, you do not have to update it to use Signature Version 4. However, some operations now require Signature Version 4. The documentation for operations that require version 4 indicate this requirement.

Additional Resources

For more information, see the following:

  • AWS Security Credentials. This topic provides general information about the types of credentials used for accessing AWS.

  • IAM Best Practices. This topic presents a list of suggestions for using the IAM service to help secure your AWS resources.

  • Signing AWS API Requests. This set of topics walk you through the process of signing a request using an access key ID and secret access key.

" } diff --git a/bin/botocore/data/iam/2010-05-08/waiters-2.json b/bin/botocore/data/iam/2010-05-08/waiters-2.json index ba453826..62480415 100644 --- a/bin/botocore/data/iam/2010-05-08/waiters-2.json +++ b/bin/botocore/data/iam/2010-05-08/waiters-2.json @@ -34,6 +34,40 @@ "expected": "NoSuchEntity" } ] + }, + "RoleExists": { + "delay": 1, + "operation": "GetRole", + "maxAttempts": 20, + "acceptors": [ + { + "state": "success", + "matcher": "status", + "expected": 200 + }, + { + "state": "retry", + "matcher": "error", + "expected": "NoSuchEntity" + } + ] + }, + "PolicyExists": { + "delay": 1, + "operation": "GetPolicy", + "maxAttempts": 20, + "acceptors": [ + { + "state": "success", + "matcher": "status", + "expected": 200 + }, + { + "state": "retry", + "matcher": "error", + "expected": "NoSuchEntity" + } + ] } } } diff --git a/bin/botocore/data/inspector/2016-02-16/paginators-1.json b/bin/botocore/data/inspector/2016-02-16/paginators-1.json index 83d2ad2c..8dec0410 100644 --- a/bin/botocore/data/inspector/2016-02-16/paginators-1.json +++ b/bin/botocore/data/inspector/2016-02-16/paginators-1.json @@ -47,6 +47,12 @@ "output_token": "nextToken", "input_token": "nextToken", "limit_key": "maxResults" + }, + "ListExclusions": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "exclusionArns" } } } diff --git a/bin/botocore/data/inspector/2016-02-16/service-2.json b/bin/botocore/data/inspector/2016-02-16/service-2.json index db64f442..629fb4ae 100644 --- a/bin/botocore/data/inspector/2016-02-16/service-2.json +++ b/bin/botocore/data/inspector/2016-02-16/service-2.json @@ -46,7 +46,7 @@ {"shape":"InvalidCrossAccountRoleException"}, {"shape":"ServiceTemporarilyUnavailableException"} ], - "documentation":"

Creates a new assessment target using the ARN of the resource group that is generated by CreateResourceGroup. If resourceGroupArn is not specified, all EC2 instances in the current AWS account and region are included in the assessment target. If the service-linked role isn’t already registered, this action also creates and registers a service-linked role to grant Amazon Inspector access to AWS Services needed to perform security assessments. You can create up to 50 assessment targets per AWS account. You can run up to 500 concurrent agents per AWS account. For more information, see Amazon Inspector Assessment Targets.

" + "documentation":"

Creates a new assessment target using the ARN of the resource group that is generated by CreateResourceGroup. If resourceGroupArn is not specified, all EC2 instances in the current AWS account and region are included in the assessment target. If the service-linked role isn’t already registered, this action also creates and registers a service-linked role to grant Amazon Inspector access to AWS Services needed to perform security assessments. You can create up to 50 assessment targets per AWS account. You can run up to 500 concurrent agents per AWS account. For more information, see Amazon Inspector Assessment Targets.

" }, "CreateAssessmentTemplate":{ "name":"CreateAssessmentTemplate", @@ -358,7 +358,7 @@ {"shape":"InvalidInputException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

Lists the ARNs of the assessment targets within this AWS account. For more information about assessment targets, see Amazon Inspector Assessment Targets.

" + "documentation":"

Lists the ARNs of the assessment targets within this AWS account. For more information about assessment targets, see Amazon Inspector Assessment Targets.

" }, "ListAssessmentTemplates":{ "name":"ListAssessmentTemplates", @@ -759,7 +759,7 @@ "AgentIdList":{ "type":"list", "member":{"shape":"AgentId"}, - "max":500, + "max":99, "min":0 }, "AgentPreview":{ @@ -2085,7 +2085,7 @@ }, "reportType":{ "shape":"ReportType", - "documentation":"

Specifies the type of the assessment report that you want to generate. There are two types of assessment reports: a finding report and a full report. For more information, see Assessment Reports.

" + "documentation":"

Specifies the type of the assessment report that you want to generate. There are two types of assessment reports: a finding report and a full report. For more information, see Assessment Reports.

" } } }, @@ -3413,5 +3413,5 @@ "min":0 } }, - "documentation":"Amazon Inspector

Amazon Inspector enables you to analyze the behavior of your AWS resources and to identify potential security issues. For more information, see Amazon Inspector User Guide.

" + "documentation":"Amazon Inspector

Amazon Inspector enables you to analyze the behavior of your AWS resources and to identify potential security issues. For more information, see Amazon Inspector User Guide.

" } diff --git a/bin/botocore/data/iot/2015-05-28/paginators-1.json b/bin/botocore/data/iot/2015-05-28/paginators-1.json index cc1934b2..8d7fefb5 100644 --- a/bin/botocore/data/iot/2015-05-28/paginators-1.json +++ b/bin/botocore/data/iot/2015-05-28/paginators-1.json @@ -65,6 +65,161 @@ "output_token": "nextToken", "limit_key": "maxResults", "result_key": "rules" + }, + "ListActiveViolations": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "activeViolations" + }, + "ListAttachedPolicies": { + "input_token": "marker", + "limit_key": "pageSize", + "output_token": "nextMarker", + "result_key": "policies" + }, + "ListAuditFindings": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "findings" + }, + "ListAuditTasks": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "tasks" + }, + "ListAuthorizers": { + "input_token": "marker", + "limit_key": "pageSize", + "output_token": "nextMarker", + "result_key": "authorizers" + }, + "ListBillingGroups": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "billingGroups" + }, + "ListIndices": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "indexNames" + }, + "ListJobExecutionsForJob": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "executionSummaries" + }, + "ListJobExecutionsForThing": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "executionSummaries" + }, + "ListJobs": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "jobs" + }, + "ListOTAUpdates": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "otaUpdates" + }, + "ListRoleAliases": { + "input_token": "marker", + "limit_key": "pageSize", + "output_token": "nextMarker", + "result_key": "roleAliases" + }, + "ListScheduledAudits": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "scheduledAudits" + }, + "ListSecurityProfiles": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "securityProfileIdentifiers" + }, + "ListSecurityProfilesForTarget": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "securityProfileTargetMappings" + }, + "ListStreams": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "streams" + }, + "ListTagsForResource": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "tags" + }, + "ListTargetsForPolicy": { + "input_token": "marker", + "limit_key": "pageSize", + "output_token": "nextMarker", + "result_key": "targets" + }, + "ListTargetsForSecurityProfile": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "securityProfileTargets" + }, + "ListThingGroups": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "thingGroups" + }, + "ListThingGroupsForThing": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "thingGroups" + }, + "ListThingRegistrationTasks": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "taskIds" + }, + "ListThingsInBillingGroup": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "things" + }, + "ListThingsInThingGroup": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "things" + }, + "ListV2LoggingLevels": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "logTargetConfigurations" + }, + "ListViolationEvents": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "violationEvents" } } } diff --git a/bin/botocore/data/iot/2015-05-28/service-2.json b/bin/botocore/data/iot/2015-05-28/service-2.json index 9f675467..d3542015 100644 --- a/bin/botocore/data/iot/2015-05-28/service-2.json +++ b/bin/botocore/data/iot/2015-05-28/service-2.json @@ -149,7 +149,7 @@ {"shape":"ServiceUnavailableException"}, {"shape":"InternalFailureException"} ], - "documentation":"

Attaches the specified principal to the specified thing.

" + "documentation":"

Attaches the specified principal to the specified thing. A principal can be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities or federated identities.

" }, "CancelAuditTask":{ "name":"CancelAuditTask", @@ -489,7 +489,7 @@ {"shape":"ResourceAlreadyExistsException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Creates a thing record in the registry.

This is a control plane operation. See Authorization for information about authorizing control plane actions.

" + "documentation":"

Creates a thing record in the registry. If this call is made multiple times using the same thing name and configuration, the call will succeed. If this call is made with the same thing name but different configuration a ResourceAlreadyExistsException is thrown.

This is a control plane operation. See Authorization for information about authorizing control plane actions.

" }, "CreateThingGroup":{ "name":"CreateThingGroup", @@ -505,7 +505,7 @@ {"shape":"ThrottlingException"}, {"shape":"InternalFailureException"} ], - "documentation":"

Create a thing group.

This is a control plane operation. See Authorization for information about authorizing control plane actions.

" + "documentation":"

Create a thing group.

This is a control plane operation. See Authorization for information about authorizing control plane actions.

" }, "CreateThingType":{ "name":"CreateThingType", @@ -1325,7 +1325,7 @@ {"shape":"ServiceUnavailableException"}, {"shape":"InternalFailureException"} ], - "documentation":"

Detaches the specified principal from the specified thing.

This call is asynchronous. It might take several seconds for the detachment to propagate.

" + "documentation":"

Detaches the specified principal from the specified thing. A principal can be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities or federated identities.

This call is asynchronous. It might take several seconds for the detachment to propagate.

" }, "DisableTopicRule":{ "name":"DisableTopicRule", @@ -1497,6 +1497,27 @@ ], "documentation":"

Gets a registration code used to register a CA certificate with AWS IoT.

" }, + "GetStatistics":{ + "name":"GetStatistics", + "http":{ + "method":"POST", + "requestUri":"/indices/statistics" + }, + "input":{"shape":"GetStatisticsRequest"}, + "output":{"shape":"GetStatisticsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidQueryException"}, + {"shape":"InvalidAggregationException"}, + {"shape":"IndexNotReadyException"} + ], + "documentation":"

Gets statistics about things that match the specified query.

" + }, "GetTopicRule":{ "name":"GetTopicRule", "http":{ @@ -1846,7 +1867,7 @@ {"shape":"ServiceUnavailableException"}, {"shape":"InternalFailureException"} ], - "documentation":"

Lists the policies attached to the specified principal. If you use an Cognito identity, the ID must be in AmazonCognito Identity format.

Note: This API is deprecated. Please use ListAttachedPolicies instead.

", + "documentation":"

Lists the policies attached to the specified principal. If you use an Cognito identity, the ID must be in AmazonCognito Identity format.

Note: This API is deprecated. Please use ListAttachedPolicies instead.

", "deprecated":true }, "ListPrincipalThings":{ @@ -1865,7 +1886,7 @@ {"shape":"InternalFailureException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Lists the things associated with the specified principal.

" + "documentation":"

Lists the things associated with the specified principal. A principal can be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities or federated identities.

" }, "ListRoleAliases":{ "name":"ListRoleAliases", @@ -2044,7 +2065,7 @@ {"shape":"InternalFailureException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Lists the principals associated with the specified thing.

" + "documentation":"

Lists the principals associated with the specified thing. A principal can be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities or federated identities.

" }, "ListThingRegistrationTaskReports":{ "name":"ListThingRegistrationTaskReports", @@ -3095,11 +3116,19 @@ "members":{ } }, + "AdditionalMetricsToRetainList":{ + "type":"list", + "member":{"shape":"BehaviorMetric"} + }, "AdditionalParameterMap":{ "type":"map", "key":{"shape":"AttributeKey"}, "value":{"shape":"Value"} }, + "AggregationField":{ + "type":"string", + "min":1 + }, "AlarmName":{"type":"string"}, "AlertTarget":{ "type":"structure", @@ -3693,7 +3722,7 @@ "members":{ "comparisonOperator":{ "shape":"ComparisonOperator", - "documentation":"

The operator that relates the thing measured (metric) to the criteria (value).

" + "documentation":"

The operator that relates the thing measured (metric) to the criteria (containing a value or statisticalThreshold).

" }, "value":{ "shape":"MetricValue", @@ -3701,7 +3730,19 @@ }, "durationSeconds":{ "shape":"DurationSeconds", - "documentation":"

Use this to specify the period of time over which the behavior is evaluated, for those criteria which have a time dimension (for example, NUM_MESSAGES_SENT).

" + "documentation":"

Use this to specify the time duration over which the behavior is evaluated, for those criteria which have a time dimension (for example, NUM_MESSAGES_SENT). For a statisticalThreshhold metric comparison, measurements from all devices are accumulated over this time duration before being used to calculate percentiles, and later, measurements from an individual device are also accumulated over this time duration before being given a percentile rank.

" + }, + "consecutiveDatapointsToAlarm":{ + "shape":"ConsecutiveDatapointsToAlarm", + "documentation":"

If a device is in violation of the behavior for the specified number of consecutive datapoints, an alarm occurs. If not specified, the default is 1.

" + }, + "consecutiveDatapointsToClear":{ + "shape":"ConsecutiveDatapointsToClear", + "documentation":"

If an alarm has occurred and the offending device is no longer in violation of the behavior for the specified number of consecutive datapoints, the alarm is cleared. If not specified, the default is 1.

" + }, + "statisticalThreshold":{ + "shape":"StatisticalThreshold", + "documentation":"

A statistical ranking (percentile) which indicates a threshold value by which a behavior is determined to be in compliance or in violation of the behavior.

" } }, "documentation":"

The criteria by which the behavior is determined to be normal.

" @@ -4211,11 +4252,11 @@ }, "metricUnit":{ "shape":"String", - "documentation":"

The metric unit supported by CloudWatch.

" + "documentation":"

The metric unit supported by CloudWatch.

" }, "metricTimestamp":{ "shape":"String", - "documentation":"

An optional Unix timestamp.

" + "documentation":"

An optional Unix timestamp.

" } }, "documentation":"

Describes an action that captures a CloudWatch metric.

" @@ -4306,6 +4347,16 @@ "exception":true }, "ConnectivityTimestamp":{"type":"long"}, + "ConsecutiveDatapointsToAlarm":{ + "type":"integer", + "max":10, + "min":1 + }, + "ConsecutiveDatapointsToClear":{ + "type":"integer", + "max":10, + "min":1 + }, "Count":{"type":"integer"}, "CreateAuthorizerRequest":{ "type":"structure", @@ -4448,7 +4499,7 @@ }, "queryString":{ "shape":"QueryString", - "documentation":"

The dynamic thing group search query string.

See Query Syntax for information about query string syntax.

" + "documentation":"

The dynamic thing group search query string.

See Query Syntax for information about query string syntax.

" }, "queryVersion":{ "shape":"QueryVersion", @@ -4637,6 +4688,10 @@ "additionalParameters":{ "shape":"AdditionalParameterMap", "documentation":"

A list of additional OTA update parameters which are name-value pairs.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Metadata which can be used to manage updates.

" } } }, @@ -4815,6 +4870,10 @@ "shape":"TargetAuditCheckNames", "documentation":"

Which checks are performed during the scheduled audit. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration to see the list of all checks including those that are enabled or UpdateAccountAuditConfiguration to select which checks are enabled.)

" }, + "tags":{ + "shape":"TagList", + "documentation":"

Metadata which can be used to manage the scheduled audit.

" + }, "scheduledAuditName":{ "shape":"ScheduledAuditName", "documentation":"

The name you want to give to the scheduled audit. (Max. 128 chars)

", @@ -4834,10 +4893,7 @@ }, "CreateSecurityProfileRequest":{ "type":"structure", - "required":[ - "securityProfileName", - "behaviors" - ], + "required":["securityProfileName"], "members":{ "securityProfileName":{ "shape":"SecurityProfileName", @@ -4857,6 +4913,10 @@ "shape":"AlertTargets", "documentation":"

Specifies the destinations to which alerts are sent. (Alerts are always sent to the console.) Alerts are generated when a device (thing) violates a behavior.

" }, + "additionalMetricsToRetain":{ + "shape":"AdditionalMetricsToRetainList", + "documentation":"

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors but it is also retained for any metric specified here.

" + }, "tags":{ "shape":"TagList", "documentation":"

Metadata which can be used to manage the security profile.

" @@ -4901,6 +4961,10 @@ "roleArn":{ "shape":"RoleArn", "documentation":"

An IAM role that allows the IoT service principal assumes to access your S3 files.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Metadata which can be used to manage streams.

" } } }, @@ -5064,6 +5128,12 @@ "topicRulePayload":{ "shape":"TopicRulePayload", "documentation":"

The rule payload.

" + }, + "tags":{ + "shape":"String", + "documentation":"

Metadata which can be used to manage the topic rule.

For URI Request parameters use format: ...key1=value1&key2=value2...

For the CLI command-line parameter use format: --tags \"key1=value1&key2=value2...\"

For the cli-input-json file use format: \"tags\": \"key1=value1&key2=value2...\"

", + "location":"header", + "locationName":"x-amz-tagging" } }, "documentation":"

The input for the CreateTopicRule operation.

", @@ -5135,6 +5205,8 @@ "members":{ } }, + "DeleteAdditionalMetricsToRetain":{"type":"boolean"}, + "DeleteAlertTargets":{"type":"boolean"}, "DeleteAuthorizerRequest":{ "type":"structure", "required":["authorizerName"], @@ -5152,6 +5224,7 @@ "members":{ } }, + "DeleteBehaviors":{"type":"boolean"}, "DeleteBillingGroupRequest":{ "type":"structure", "required":["billingGroupName"], @@ -5850,7 +5923,7 @@ }, "schema":{ "shape":"IndexSchema", - "documentation":"

Contains a value that specifies the type of indexing performed. Valid values are:

  • REGISTRY – Your thing index will contain only registry data.

  • REGISTRY_AND_SHADOW - Your thing index will contain registry data and shadow data.

  • REGISTRY_AND_CONNECTIVITY_STATUS - Your thing index will contain registry data and thing connectivity status data.

  • REGISTRY_AND_SHADOW_AND_CONNECTIVITY_STATUS - Your thing index will contain registry data, shadow data, and thing connectivity status data.

" + "documentation":"

Contains a value that specifies the type of indexing performed. Valid values are:

  • REGISTRY – Your thing index contains only registry data.

  • REGISTRY_AND_SHADOW - Your thing index contains registry data and shadow data.

  • REGISTRY_AND_CONNECTIVITY_STATUS - Your thing index contains registry data and thing connectivity status data.

  • REGISTRY_AND_SHADOW_AND_CONNECTIVITY_STATUS - Your thing index contains registry data, shadow data, and thing connectivity status data.

" } } }, @@ -6012,6 +6085,10 @@ "shape":"AlertTargets", "documentation":"

Where the alerts are sent. (Alerts are always sent to the console.)

" }, + "additionalMetricsToRetain":{ + "shape":"AdditionalMetricsToRetainList", + "documentation":"

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors but it is also retained for any metric specified here.

" + }, "version":{ "shape":"Version", "documentation":"

The version of the security profile. A new version is generated whenever the security profile is updated.

" @@ -6459,6 +6536,10 @@ }, "DynamoDBv2Action":{ "type":"structure", + "required":[ + "roleArn", + "putItem" + ], "members":{ "roleArn":{ "shape":"AwsArn", @@ -6576,6 +6657,10 @@ "type":"string", "max":2048 }, + "EvaluationStatistic":{ + "type":"string", + "pattern":"(p0|p0\\.1|p0\\.01|p1|p10|p50|p90|p99|p99\\.9|p99\\.99|p100)" + }, "EventConfigurations":{ "type":"map", "key":{"shape":"EventType"}, @@ -6929,6 +7014,37 @@ }, "documentation":"

The output from the GetRegistrationCode operation.

" }, + "GetStatisticsRequest":{ + "type":"structure", + "required":["queryString"], + "members":{ + "indexName":{ + "shape":"IndexName", + "documentation":"

The name of the index to search. The default value is AWS_Things.

" + }, + "queryString":{ + "shape":"QueryString", + "documentation":"

The query used to search. You can specify \"*\" for the query string to get the count of all indexed things in your AWS account.

" + }, + "aggregationField":{ + "shape":"AggregationField", + "documentation":"

The aggregation field name. Currently not supported.

" + }, + "queryVersion":{ + "shape":"QueryVersion", + "documentation":"

The version of the query used to search.

" + } + } + }, + "GetStatisticsResponse":{ + "type":"structure", + "members":{ + "statistics":{ + "shape":"Statistics", + "documentation":"

The statistics returned by the Fleet Indexing service based on the query and aggregation field.

" + } + } + }, "GetTopicRuleRequest":{ "type":"structure", "required":["ruleName"], @@ -7076,6 +7192,15 @@ "exception":true, "fault":true }, + "InvalidAggregationException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

The aggregation is invalid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, "InvalidQueryException":{ "type":"structure", "members":{ @@ -7220,15 +7345,15 @@ }, "createdAt":{ "shape":"DateType", - "documentation":"

The time, in milliseconds since the epoch, when the job was created.

" + "documentation":"

The time, in seconds since the epoch, when the job was created.

" }, "lastUpdatedAt":{ "shape":"DateType", - "documentation":"

The time, in milliseconds since the epoch, when the job was last updated.

" + "documentation":"

The time, in seconds since the epoch, when the job was last updated.

" }, "completedAt":{ "shape":"DateType", - "documentation":"

The time, in milliseconds since the epoch, when the job was completed.

" + "documentation":"

The time, in seconds since the epoch, when the job was completed.

" }, "jobProcessDetails":{ "shape":"JobProcessDetails", @@ -7281,15 +7406,15 @@ }, "queuedAt":{ "shape":"DateType", - "documentation":"

The time, in milliseconds since the epoch, when the job execution was queued.

" + "documentation":"

The time, in seconds since the epoch, when the job execution was queued.

" }, "startedAt":{ "shape":"DateType", - "documentation":"

The time, in milliseconds since the epoch, when the job execution started.

" + "documentation":"

The time, in seconds since the epoch, when the job execution started.

" }, "lastUpdatedAt":{ "shape":"DateType", - "documentation":"

The time, in milliseconds since the epoch, when the job execution was last updated.

" + "documentation":"

The time, in seconds since the epoch, when the job execution was last updated.

" }, "executionNumber":{ "shape":"ExecutionNumber", @@ -7347,15 +7472,15 @@ }, "queuedAt":{ "shape":"DateType", - "documentation":"

The time, in milliseconds since the epoch, when the job execution was queued.

" + "documentation":"

The time, in seconds since the epoch, when the job execution was queued.

" }, "startedAt":{ "shape":"DateType", - "documentation":"

The time, in milliseconds since the epoch, when the job execution started.

" + "documentation":"

The time, in seconds since the epoch, when the job execution started.

" }, "lastUpdatedAt":{ "shape":"DateType", - "documentation":"

The time, in milliseconds since the epoch, when the job execution was last updated.

" + "documentation":"

The time, in seconds since the epoch, when the job execution was last updated.

" }, "executionNumber":{ "shape":"ExecutionNumber", @@ -7496,15 +7621,15 @@ }, "createdAt":{ "shape":"DateType", - "documentation":"

The time, in milliseconds since the epoch, when the job was created.

" + "documentation":"

The time, in seconds since the epoch, when the job was created.

" }, "lastUpdatedAt":{ "shape":"DateType", - "documentation":"

The time, in milliseconds since the epoch, when the job was last updated.

" + "documentation":"

The time, in seconds since the epoch, when the job was last updated.

" }, "completedAt":{ "shape":"DateType", - "documentation":"

The time, in milliseconds since the epoch, when the job completed.

" + "documentation":"

The time, in seconds since the epoch, when the job completed.

" } }, "documentation":"

The job summary.

" @@ -7988,7 +8113,7 @@ "members":{ "nextToken":{ "shape":"NextToken", - "documentation":"

The token used to get the next set of results, or null if there are no additional results.

", + "documentation":"

The token used to get the next set of results, or null if there are no additional results.

", "location":"querystring", "locationName":"nextToken" }, @@ -8009,7 +8134,7 @@ }, "nextToken":{ "shape":"NextToken", - "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" + "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" } } }, @@ -9810,7 +9935,7 @@ }, "setAsActive":{ "shape":"SetAsActiveFlag", - "documentation":"

A boolean value that specifies if the CA certificate is set to active.

", + "documentation":"

A boolean value that specifies if the certificate is set to active.

", "deprecated":true, "location":"querystring", "locationName":"setAsActive" @@ -9842,11 +9967,11 @@ "members":{ "templateBody":{ "shape":"TemplateBody", - "documentation":"

The provisioning template. See Programmatic Provisioning for more information.

" + "documentation":"

The provisioning template. See Programmatic Provisioning for more information.

" }, "parameters":{ "shape":"Parameters", - "documentation":"

The parameters for provisioning a thing. See Programmatic Provisioning for more information.

" + "documentation":"

The parameters for provisioning a thing. See Programmatic Provisioning for more information.

" } } }, @@ -10234,7 +10359,7 @@ }, "cannedAcl":{ "shape":"CannedAccessControlList", - "documentation":"

The Amazon S3 canned ACL that controls access to the object identified by the object key. For more information, see S3 canned ACLs.

" + "documentation":"

The Amazon S3 canned ACL that controls access to the object identified by the object key. For more information, see S3 canned ACLs.

" } }, "documentation":"

Describes an action to write data to an Amazon S3 bucket.

" @@ -10367,7 +10492,7 @@ }, "nextToken":{ "shape":"NextToken", - "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" + "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" }, "maxResults":{ "shape":"QueryMaxResults", @@ -10384,7 +10509,7 @@ "members":{ "nextToken":{ "shape":"NextToken", - "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" + "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" }, "things":{ "shape":"ThingDocumentList", @@ -10620,7 +10745,7 @@ }, "messageFormat":{ "shape":"MessageFormat", - "documentation":"

(Optional) The message format of the message to publish. Accepted values are \"JSON\" and \"RAW\". The default value of the attribute is \"RAW\". SNS uses this setting to determine if the payload should be parsed and relevant platform-specific bits of the payload should be extracted. To read more about SNS message formats, see http://docs.aws.amazon.com/sns/latest/dg/json-formats.html refer to their official documentation.

" + "documentation":"

(Optional) The message format of the message to publish. Accepted values are \"JSON\" and \"RAW\". The default value of the attribute is \"RAW\". SNS uses this setting to determine if the payload should be parsed and relevant platform-specific bits of the payload should be extracted. To read more about SNS message formats, see https://docs.aws.amazon.com/sns/latest/dg/json-formats.html refer to their official documentation.

" } }, "documentation":"

Describes an action to publish to an Amazon SNS topic.

" @@ -10735,6 +10860,26 @@ "StateMachineName":{"type":"string"}, "StateReason":{"type":"string"}, "StateValue":{"type":"string"}, + "StatisticalThreshold":{ + "type":"structure", + "members":{ + "statistic":{ + "shape":"EvaluationStatistic", + "documentation":"

The percentile which resolves to a threshold value by which compliance with a behavior is determined. Metrics are collected over the specified period (durationSeconds) from all reporting devices in your account and statistical ranks are calculated. Then, the measurements from a device are collected over the same period. If the accumulated measurements from the device fall above or below (comparisonOperator) the value associated with the percentile specified, then the device is considered to be in compliance with the behavior, otherwise a violation occurs.

" + } + }, + "documentation":"

A statistical ranking (percentile) which indicates a threshold value by which a behavior is determined to be in compliance or in violation of the behavior.

" + }, + "Statistics":{ + "type":"structure", + "members":{ + "count":{ + "shape":"Count", + "documentation":"

The count of things that match the query.

" + } + }, + "documentation":"

A map of key-value pairs for all supported statistics. Currently, only count is supported.

" + }, "Status":{ "type":"string", "enum":[ @@ -11141,11 +11286,11 @@ "members":{ "connected":{ "shape":"Boolean", - "documentation":"

True if the thing is connected to the AWS IoT service, false if it is not connected.

" + "documentation":"

True if the thing is connected to the AWS IoT service; false if it is not connected.

" }, "timestamp":{ "shape":"ConnectivityTimestamp", - "documentation":"

The epoch time (in milliseconds) when the thing last connected or disconnected. Note that if the thing has been disconnected for more than a few weeks, the time value can be missing.

" + "documentation":"

The epoch time (in milliseconds) when the thing last connected or disconnected. If the thing has been disconnected for more than a few weeks, the time value might be missing.

" } }, "documentation":"

The connectivity status of the thing.

" @@ -11186,7 +11331,7 @@ }, "connectivity":{ "shape":"ThingConnectivity", - "documentation":"

Indicates whether or not the thing is connected to the AWS IoT service.

" + "documentation":"

Indicates whether the thing is connected to the AWS IoT service.

" } }, "documentation":"

The thing search index document.

" @@ -11312,11 +11457,11 @@ "members":{ "thingIndexingMode":{ "shape":"ThingIndexingMode", - "documentation":"

Thing indexing mode. Valid values are:

  • REGISTRY – Your thing index will contain only registry data.

  • REGISTRY_AND_SHADOW - Your thing index will contain registry and shadow data.

  • OFF - Thing indexing is disabled.

" + "documentation":"

Thing indexing mode. Valid values are:

  • REGISTRY – Your thing index contains registry data only.

  • REGISTRY_AND_SHADOW - Your thing index contains registry and shadow data.

  • OFF - Thing indexing is disabled.

" }, "thingConnectivityIndexingMode":{ "shape":"ThingConnectivityIndexingMode", - "documentation":"

Thing connectivity indexing mode. Valid values are:

  • STATUS – Your thing index will contain connectivity status. In order to enable thing connectivity indexing, thingIndexMode must not be set to OFF.

  • OFF - Thing connectivity status indexing is disabled.

" + "documentation":"

Thing connectivity indexing mode. Valid values are:

  • STATUS – Your thing index contains connectivity status. To enable thing connectivity indexing, thingIndexMode must not be set to OFF.

  • OFF - Thing connectivity status indexing is disabled.

" } }, "documentation":"

The thing indexing configuration. For more information, see Managing Thing Indexing.

" @@ -11530,7 +11675,7 @@ "members":{ "sql":{ "shape":"SQL", - "documentation":"

The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference in the AWS IoT Developer Guide.

" + "documentation":"

The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference in the AWS IoT Developer Guide.

" }, "description":{ "shape":"Description", @@ -12032,6 +12177,22 @@ "shape":"AlertTargets", "documentation":"

Where the alerts are sent. (Alerts are always sent to the console.)

" }, + "additionalMetricsToRetain":{ + "shape":"AdditionalMetricsToRetainList", + "documentation":"

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors but it is also retained for any metric specified here.

" + }, + "deleteBehaviors":{ + "shape":"DeleteBehaviors", + "documentation":"

If true, delete all behaviors defined for this security profile. If any behaviors are defined in the current invocation an exception occurs.

" + }, + "deleteAlertTargets":{ + "shape":"DeleteAlertTargets", + "documentation":"

If true, delete all alertTargets defined for this security profile. If any alertTargets are defined in the current invocation an exception occurs.

" + }, + "deleteAdditionalMetricsToRetain":{ + "shape":"DeleteAdditionalMetricsToRetain", + "documentation":"

If true, delete all additionalMetricsToRetain defined for this security profile. If any additionalMetricsToRetain are defined in the current invocation an exception occurs.

" + }, "expectedVersion":{ "shape":"OptionalVersion", "documentation":"

The expected version of the security profile. A new version is generated whenever the security profile is updated. If you specify a value that is different than the actual version, a VersionConflictException is thrown.

", @@ -12063,6 +12224,10 @@ "shape":"AlertTargets", "documentation":"

Where the alerts are sent. (Alerts are always sent to the console.)

" }, + "additionalMetricsToRetain":{ + "shape":"AdditionalMetricsToRetainList", + "documentation":"

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the security profile's behaviors but it is also retained for any metric specified here.

" + }, "version":{ "shape":"Version", "documentation":"

The updated version of the security profile.

" @@ -12338,5 +12503,5 @@ "resourceArn":{"type":"string"}, "resourceId":{"type":"string"} }, - "documentation":"AWS IoT

AWS IoT provides secure, bi-directional communication between Internet-connected devices (such as sensors, actuators, embedded devices, or smart appliances) and the AWS cloud. You can discover your custom IoT-Data endpoint to communicate with, configure rules for data processing and integration with other services, organize resources associated with each device (Registry), configure logging, and create and manage policies and credentials to authenticate devices.

For more information about how AWS IoT works, see the Developer Guide.

For information about how to use the credentials provider for AWS IoT, see Authorizing Direct Calls to AWS Services.

" + "documentation":"AWS IoT

AWS IoT provides secure, bi-directional communication between Internet-connected devices (such as sensors, actuators, embedded devices, or smart appliances) and the AWS cloud. You can discover your custom IoT-Data endpoint to communicate with, configure rules for data processing and integration with other services, organize resources associated with each device (Registry), configure logging, and create and manage policies and credentials to authenticate devices.

For more information about how AWS IoT works, see the Developer Guide.

For information about how to use the credentials provider for AWS IoT, see Authorizing Direct Calls to AWS Services.

" } diff --git a/bin/botocore/data/iot1click-devices/2018-05-14/paginators-1.json b/bin/botocore/data/iot1click-devices/2018-05-14/paginators-1.json new file mode 100644 index 00000000..237e5581 --- /dev/null +++ b/bin/botocore/data/iot1click-devices/2018-05-14/paginators-1.json @@ -0,0 +1,16 @@ +{ + "pagination": { + "ListDeviceEvents": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Events" + }, + "ListDevices": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Devices" + } + } +} diff --git a/bin/botocore/data/iot1click-devices/2018-05-14/service-2.json b/bin/botocore/data/iot1click-devices/2018-05-14/service-2.json index 127c6d12..0d454760 100644 --- a/bin/botocore/data/iot1click-devices/2018-05-14/service-2.json +++ b/bin/botocore/data/iot1click-devices/2018-05-14/service-2.json @@ -35,7 +35,7 @@ "shape" : "ForbiddenException", "documentation" : "

403 response

" } ], - "documentation" : "

Adds device(s) to your account (i.e., claim one or more devices) if and only if\n you received a claim code with the device(s).

" + "documentation" : "

Adds device(s) to your account (i.e., claim one or more devices) if and only if you\n received a claim code with the device(s).

" }, "DescribeDevice" : { "name" : "DescribeDevice", @@ -61,7 +61,7 @@ "shape" : "InternalFailureException", "documentation" : "

500 response

" } ], - "documentation" : "

Given a device ID, returns a DescribeDeviceResponse object describing\n the details of the device.

" + "documentation" : "

Given a device ID, returns a DescribeDeviceResponse object describing the\n details of the device.

" }, "FinalizeDeviceClaim" : { "name" : "FinalizeDeviceClaim", @@ -93,7 +93,7 @@ "shape" : "ResourceConflictException", "documentation" : "

409 response

" } ], - "documentation" : "

Given a device ID, finalizes the claim request for the associated device.

\n

Claiming a device consists of initiating a claim, then publishing a device\n event, and finalizing the claim. For a device of type button, a\n device event can be published by simply clicking the device.

\n
" + "documentation" : "

Given a device ID, finalizes the claim request for the associated device.

\n

Claiming a device consists of initiating a claim, then publishing a device event,\n and finalizing the claim. For a device of type button, a device event can\n be published by simply clicking the device.

\n
" }, "GetDeviceMethods" : { "name" : "GetDeviceMethods", @@ -119,7 +119,7 @@ "shape" : "InternalFailureException", "documentation" : "

500 response

" } ], - "documentation" : "

Given a device ID, returns the invokable methods associated with the\n device.

" + "documentation" : "

Given a device ID, returns the invokable methods associated with the device.

" }, "InitiateDeviceClaim" : { "name" : "InitiateDeviceClaim", @@ -148,7 +148,7 @@ "shape" : "ResourceConflictException", "documentation" : "

409 response

" } ], - "documentation" : "

Given a device ID, initiates a claim request for the associated device.

\n

Claiming a device consists of initiating a claim, then publishing a device\n event, and finalizing the claim. For a device of type button, a\n device event can be published by simply clicking the device.

\n
" + "documentation" : "

Given a device ID, initiates a claim request for the associated device.

\n

Claiming a device consists of initiating a claim, then publishing a device event,\n and finalizing the claim. For a device of type button, a device event can\n be published by simply clicking the device.

\n
" }, "InvokeDeviceMethod" : { "name" : "InvokeDeviceMethod", @@ -212,7 +212,7 @@ "shape" : "InternalFailureException", "documentation" : "

500 response

" } ], - "documentation" : "

Using a device ID, returns a DeviceEventsResponse object containing\n an array of events for the device.

" + "documentation" : "

Using a device ID, returns a DeviceEventsResponse object containing an\n array of events for the device.

" }, "ListDevices" : { "name" : "ListDevices", @@ -240,6 +240,50 @@ } ], "documentation" : "

Lists the 1-Click compatible devices associated with your AWS account.

" }, + "ListTagsForResource" : { + "name" : "ListTagsForResource", + "http" : { + "method" : "GET", + "requestUri" : "/tags/{resource-arn}", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListTagsForResourceRequest" + }, + "output" : { + "shape" : "ListTagsForResourceResponse" + }, + "errors" : [ { + "shape" : "ResourceNotFoundException", + "documentation" : "

404 response

" + }, { + "shape" : "InternalFailureException", + "documentation" : "

500 response

" + } ], + "documentation" : "

Lists the tags associated with the specified resource ARN.

" + }, + "TagResource" : { + "name" : "TagResource", + "http" : { + "method" : "POST", + "requestUri" : "/tags/{resource-arn}", + "responseCode" : 204 + }, + "input" : { + "shape" : "TagResourceRequest" + }, + "errors" : [ { + "shape" : "ResourceNotFoundException", + "documentation" : "

404 response

" + }, { + "shape" : "InvalidRequestException", + "documentation" : "

400 response

" + }, { + "shape" : "InternalFailureException", + "documentation" : "

500 response

" + } ], + "documentation" : "

Adds or updates the tags associated with the resource ARN. See AWS IoT 1-Click Service Limits for the maximum number of tags allowed per\n resource.

" + }, "UnclaimDevice" : { "name" : "UnclaimDevice", "http" : { @@ -266,6 +310,28 @@ } ], "documentation" : "

Disassociates a device from your AWS account using its device ID.

" }, + "UntagResource" : { + "name" : "UntagResource", + "http" : { + "method" : "DELETE", + "requestUri" : "/tags/{resource-arn}", + "responseCode" : 204 + }, + "input" : { + "shape" : "UntagResourceRequest" + }, + "errors" : [ { + "shape" : "ResourceNotFoundException", + "documentation" : "

404 response

" + }, { + "shape" : "InvalidRequestException", + "documentation" : "

400 response

" + }, { + "shape" : "InternalFailureException", + "documentation" : "

500 response

" + } ], + "documentation" : "

Using tag keys, deletes the tags (key/value pairs) associated with the specified\n resource ARN.

" + }, "UpdateDeviceState" : { "name" : "UpdateDeviceState", "http" : { @@ -321,7 +387,7 @@ "Total" : { "shape" : "__integer", "locationName" : "total", - "documentation" : "

The total number of devices associated with the claim code that has been processed\n in the claim request.

" + "documentation" : "

The total number of devices associated with the claim code that has been processed in\n the claim request.

" } } }, @@ -390,10 +456,15 @@ "DeviceDescription" : { "type" : "structure", "members" : { + "Arn" : { + "shape" : "__string", + "locationName" : "arn", + "documentation" : "

The ARN of the device.

" + }, "Attributes" : { "shape" : "DeviceAttributes", "locationName" : "attributes", - "documentation" : "

An array of zero or more elements of DeviceAttribute objects\n providing user specified device attributes.

" + "documentation" : "

An array of zero or more elements of DeviceAttribute objects providing\n user specified device attributes.

" }, "DeviceId" : { "shape" : "__string", @@ -408,12 +479,17 @@ "RemainingLife" : { "shape" : "__doubleMin0Max100", "locationName" : "remainingLife", - "documentation" : "

A value between 0 and 1 inclusive, representing the fraction of life remaining for\n the device.

" + "documentation" : "

A value between 0 and 1 inclusive, representing the fraction of life remaining for the\n device.

" }, "Type" : { "shape" : "__string", "locationName" : "type", "documentation" : "

The type of the device, such as \"button\".

" + }, + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "

The tags currently associated with the AWS IoT 1-Click device.

" } } }, @@ -475,6 +551,11 @@ "location" : "uri", "locationName" : "deviceId", "documentation" : "

The unique identifier of the device.

" + }, + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "

A collection of key/value pairs defining the resource tags. For example, {\n \"tags\": {\"key1\": \"value1\", \"key2\": \"value2\"} }. For more information, see AWS\n Tagging Strategies.

\n \n

" } }, "required" : [ "DeviceId" ] @@ -641,7 +722,7 @@ "shape" : "MaxResults", "location" : "querystring", "locationName" : "maxResults", - "documentation" : "

The maximum number of results to return per request. If not set, a default value\n of 100 is used.

" + "documentation" : "

The maximum number of results to return per request. If not set, a default value of\n 100 is used.

" }, "NextToken" : { "shape" : "__string", @@ -686,7 +767,7 @@ "shape" : "MaxResults", "location" : "querystring", "locationName" : "maxResults", - "documentation" : "

The maximum number of results to return per request. If not set, a default value\n of 100 is used.

" + "documentation" : "

The maximum number of results to return per request. If not set, a default value of\n 100 is used.

" }, "NextToken" : { "shape" : "__string", @@ -711,6 +792,28 @@ } } }, + "ListTagsForResourceRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resource-arn", + "documentation" : "

The ARN of the resource.

" + } + }, + "required" : [ "ResourceArn" ] + }, + "ListTagsForResourceResponse" : { + "type" : "structure", + "members" : { + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "

A collection of key/value pairs defining the resource tags. For example, {\n \"tags\": {\"key1\": \"value1\", \"key2\": \"value2\"} }. For more information, see AWS\n Tagging Strategies.

\n \n

" + } + } + }, "MaxResults" : { "type" : "integer", "min" : 1, @@ -792,6 +895,23 @@ "httpStatusCode" : 404 } }, + "TagResourceRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resource-arn", + "documentation" : "

The ARN of the resource.

" + }, + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "

A collection of key/value pairs defining the resource tags. For example, {\n \"tags\": {\"key1\": \"value1\", \"key2\": \"value2\"} }. For more information, see AWS\n Tagging Strategies.

\n \n

" + } + }, + "required" : [ "ResourceArn", "Tags" ] + }, "UnclaimDeviceRequest" : { "type" : "structure", "members" : { @@ -814,6 +934,24 @@ } } }, + "UntagResourceRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resource-arn", + "documentation" : "

The ARN of the resource.

" + }, + "TagKeys" : { + "shape" : "__listOf__string", + "location" : "querystring", + "locationName" : "tagKeys", + "documentation" : "

A collections of tag keys. For example, {\"key1\",\"key2\"}

" + } + }, + "required" : [ "TagKeys", "ResourceArn" ] + }, "UpdateDeviceStateRequest" : { "type" : "structure", "members" : { @@ -865,9 +1003,24 @@ "shape" : "DeviceMethod" } }, + "__listOf__string" : { + "type" : "list", + "member" : { + "shape" : "__string" + } + }, "__long" : { "type" : "long" }, + "__mapOf__string" : { + "type" : "map", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "__string" + } + }, "__string" : { "type" : "string" }, @@ -885,5 +1038,5 @@ "timestampFormat" : "unixTimestamp" } }, - "documentation" : "

Stub description

" + "documentation" : "

Describes all of the AWS IoT 1-Click device-related API operations for the service.\n Also provides sample requests, responses, and errors for the supported web services\n protocols.

" } \ No newline at end of file diff --git a/bin/botocore/data/iot1click-projects/2018-05-14/paginators-1.json b/bin/botocore/data/iot1click-projects/2018-05-14/paginators-1.json index ea142457..d17d5df6 100644 --- a/bin/botocore/data/iot1click-projects/2018-05-14/paginators-1.json +++ b/bin/botocore/data/iot1click-projects/2018-05-14/paginators-1.json @@ -1,3 +1,16 @@ { - "pagination": {} + "pagination": { + "ListPlacements": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "placements" + }, + "ListProjects": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "projects" + } + } } diff --git a/bin/botocore/data/iot1click-projects/2018-05-14/service-2.json b/bin/botocore/data/iot1click-projects/2018-05-14/service-2.json index b918b054..229e3f01 100644 --- a/bin/botocore/data/iot1click-projects/2018-05-14/service-2.json +++ b/bin/botocore/data/iot1click-projects/2018-05-14/service-2.json @@ -182,6 +182,51 @@ ], "documentation":"

Lists the AWS IoT 1-Click project(s) associated with your AWS account and region.

" }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Lists the tags (metadata key/value pairs) which you have assigned to the resource.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Creates or modifies tags for a resource. Tags are key/value pairs (metadata) that can be used to manage a resource. For more information, see AWS Tagging Strategies.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Removes one or more tags (metadata key/value pairs) from a resource.

" + }, "UpdatePlacement":{ "name":"UpdatePlacement", "http":{ @@ -311,6 +356,10 @@ "placementTemplate":{ "shape":"PlacementTemplate", "documentation":"

The schema defining the placement to be created. A placement template defines placement default attributes and device templates. You cannot add or remove device templates after the project has been created. However, you can update callbackOverrides for the device templates using the UpdateProject API.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

Optional tags (metadata key/value pairs) to be associated with the project. For example, { {\"key1\": \"value1\", \"key2\": \"value2\"} }. For more information, see AWS Tagging Strategies.

" } } }, @@ -639,6 +688,27 @@ } } }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"ProjectArn", + "documentation":"

The ARN of the resource whose tags you want to list.

", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagMap", + "documentation":"

The tags (metadata key/value pairs) which you have assigned to the resource.

" + } + } + }, "MaxResults":{ "type":"integer", "max":250, @@ -740,6 +810,10 @@ }, "documentation":"

An object defining the template for a placement.

" }, + "ProjectArn":{ + "type":"string", + "pattern":"^arn:aws:iot1click:[A-Za-z0-9_/.-]{0,63}:\\d+:projects/[0-9A-Za-z_-]{1,128}$" + }, "ProjectDescription":{ "type":"structure", "required":[ @@ -748,6 +822,10 @@ "updatedDate" ], "members":{ + "arn":{ + "shape":"ProjectArn", + "documentation":"

The ARN of the project.

" + }, "projectName":{ "shape":"ProjectName", "documentation":"

The name of the project for which to obtain information from.

" @@ -767,6 +845,10 @@ "placementTemplate":{ "shape":"PlacementTemplate", "documentation":"

An object describing the project's placement specifications.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags (metadata key/value pairs) associated with the project.

" } }, "documentation":"

An object providing detailed information for a particular project associated with an AWS account and region.

" @@ -785,6 +867,10 @@ "updatedDate" ], "members":{ + "arn":{ + "shape":"ProjectArn", + "documentation":"

The ARN of the project.

" + }, "projectName":{ "shape":"ProjectName", "documentation":"

The name of the project being summarized.

" @@ -796,6 +882,10 @@ "updatedDate":{ "shape":"Time", "documentation":"

The date when the project was last updated, in UNIX epoch time format. If the project was not updated, then createdDate and updatedDate are the same.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags (metadata key/value pairs) associated with the project.

" } }, "documentation":"

An object providing summary information for a particular project for an associated AWS account and region.

" @@ -832,6 +922,53 @@ "error":{"httpStatusCode":404}, "exception":true }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^(?!aws:)[a-zA-Z+-=._:/]+$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"ProjectArn", + "documentation":"

The ARN of the resouce for which tag(s) should be added or modified.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The new or modifying tag(s) for the resource. See AWS IoT 1-Click Service Limits for the maximum number of tags allowed per resource.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256 + }, "Time":{"type":"timestamp"}, "TooManyRequestsException":{ "type":"structure", @@ -847,6 +984,32 @@ "error":{"httpStatusCode":429}, "exception":true }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"ProjectArn", + "documentation":"

The ARN of the resource whose tag you want to remove.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

The keys of those tags which you want to remove.

", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, "UpdatePlacementRequest":{ "type":"structure", "required":[ @@ -903,5 +1066,5 @@ } } }, - "documentation":"

The AWS IoT 1-Click Project API Reference

" + "documentation":"

The AWS IoT 1-Click Projects API Reference

" } diff --git a/bin/botocore/data/iotanalytics/2017-11-27/paginators-1.json b/bin/botocore/data/iotanalytics/2017-11-27/paginators-1.json index ea142457..d1bfaaaa 100644 --- a/bin/botocore/data/iotanalytics/2017-11-27/paginators-1.json +++ b/bin/botocore/data/iotanalytics/2017-11-27/paginators-1.json @@ -1,3 +1,34 @@ { - "pagination": {} + "pagination": { + "ListChannels": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "channelSummaries" + }, + "ListDatasetContents": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "datasetContentSummaries" + }, + "ListDatasets": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "datasetSummaries" + }, + "ListDatastores": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "datastoreSummaries" + }, + "ListPipelines": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "pipelineSummaries" + } + } } diff --git a/bin/botocore/data/iotanalytics/2017-11-27/service-2.json b/bin/botocore/data/iotanalytics/2017-11-27/service-2.json index 9d30746e..fa9d06b7 100644 --- a/bin/botocore/data/iotanalytics/2017-11-27/service-2.json +++ b/bin/botocore/data/iotanalytics/2017-11-27/service-2.json @@ -99,7 +99,7 @@ {"shape":"ServiceUnavailableException"}, {"shape":"ThrottlingException"} ], - "documentation":"

Creates the content of a data set by applying a SQL action.

" + "documentation":"

Creates the content of a data set by applying a \"queryAction\" (a SQL query) or a \"containerAction\" (executing a containerized application).

" }, "CreateDatastore":{ "name":"CreateDatastore", @@ -137,7 +137,7 @@ {"shape":"ThrottlingException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Creates a pipeline. A pipeline consumes messages from one or more channels and allows you to process the messages before storing them in a data store.

" + "documentation":"

Creates a pipeline. A pipeline consumes messages from one or more channels and allows you to process the messages before storing them in a data store. You must specify both a channel and a datastore activity and, optionally, as many as 23 additional activities in the pipelineActivities array.

" }, "DeleteChannel":{ "name":"DeleteChannel", @@ -592,7 +592,7 @@ {"shape":"ThrottlingException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Updates the settings of a pipeline.

" + "documentation":"

Updates the settings of a pipeline. You must specify both a channel and a datastore activity and, optionally, as many as 23 additional activities in the pipelineActivities array.

" } }, "shapes":{ @@ -681,7 +681,7 @@ }, "messages":{ "shape":"Messages", - "documentation":"

The list of messages to be sent. Each message has format: '{ \"messageId\": \"string\", \"payload\": \"string\"}'.

" + "documentation":"

The list of messages to be sent. Each message has format: '{ \"messageId\": \"string\", \"payload\": \"string\"}'.

Note that the field names of message payloads (data) that you send to AWS IoT Analytics:

  • Must contain only alphanumeric characters and undescores (_); no other special characters are allowed.

  • Must begin with an alphabetic character or single underscore (_).

  • Cannot contain hyphens (-).

  • In regular expression terms: \"^[A-Za-z_]([A-Za-z0-9]*|[A-Za-z0-9][A-Za-z0-9_]*)$\".

  • Cannot be greater than 255 characters.

  • Are case-insensitive. (Fields named \"foo\" and \"FOO\" in the same payload are considered duplicates.)

For example, {\"temp_01\": 29} or {\"_temp_01\": 29} are valid, but {\"temp-01\": 29}, {\"01_temp\": 29} or {\"__temp_01\": 29} are invalid in message payloads.

" } } }, @@ -694,6 +694,18 @@ } } }, + "BucketKeyExpression":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[a-zA-Z0-9!_.*'()/{}:-]*$" + }, + "BucketName":{ + "type":"string", + "max":255, + "min":3, + "pattern":"^[a-zA-Z0-9.\\-_]*$" + }, "CancelPipelineReprocessingRequest":{ "type":"structure", "required":[ @@ -727,6 +739,10 @@ "shape":"ChannelName", "documentation":"

The name of the channel.

" }, + "storage":{ + "shape":"ChannelStorage", + "documentation":"

Where channel data is stored.

" + }, "arn":{ "shape":"ChannelArn", "documentation":"

The ARN of the channel.

" @@ -797,6 +813,34 @@ "DELETING" ] }, + "ChannelStorage":{ + "type":"structure", + "members":{ + "serviceManagedS3":{ + "shape":"ServiceManagedChannelS3Storage", + "documentation":"

Use this to store channel data in an S3 bucket managed by the AWS IoT Analytics service.

" + }, + "customerManagedS3":{ + "shape":"CustomerManagedChannelS3Storage", + "documentation":"

Use this to store channel data in an S3 bucket that you manage.

" + } + }, + "documentation":"

Where channel data is stored.

" + }, + "ChannelStorageSummary":{ + "type":"structure", + "members":{ + "serviceManagedS3":{ + "shape":"ServiceManagedChannelS3StorageSummary", + "documentation":"

Used to store channel data in an S3 bucket managed by the AWS IoT Analytics service.

" + }, + "customerManagedS3":{ + "shape":"CustomerManagedChannelS3StorageSummary", + "documentation":"

Used to store channel data in an S3 bucket that you manage.

" + } + }, + "documentation":"

Where channel data is stored.

" + }, "ChannelSummaries":{ "type":"list", "member":{"shape":"ChannelSummary"} @@ -808,6 +852,10 @@ "shape":"ChannelName", "documentation":"

The name of the channel.

" }, + "channelStorage":{ + "shape":"ChannelStorageSummary", + "documentation":"

Where channel data is stored.

" + }, "status":{ "shape":"ChannelStatus", "documentation":"

The status of the channel.

" @@ -865,6 +913,10 @@ "shape":"ChannelName", "documentation":"

The name of the channel.

" }, + "channelStorage":{ + "shape":"ChannelStorage", + "documentation":"

Where channel data is stored.

" + }, "retentionPeriod":{ "shape":"RetentionPeriod", "documentation":"

How long, in days, message data is kept for the channel.

" @@ -932,10 +984,17 @@ "shape":"DatasetTriggers", "documentation":"

A list of triggers. A trigger causes data set contents to be populated at a specified time interval or when another data set's contents are created. The list of triggers can be empty or contain up to five DataSetTrigger objects.

" }, - "contentDeliveryRules":{"shape":"DatasetContentDeliveryRules"}, + "contentDeliveryRules":{ + "shape":"DatasetContentDeliveryRules", + "documentation":"

When data set contents are created they are delivered to destinations specified here.

" + }, "retentionPeriod":{ "shape":"RetentionPeriod", - "documentation":"

[Optional] How long, in days, message data is kept for the data set. If not given or set to null, the latest version of the dataset content plus the latest succeeded version (if they are different) are retained for at most 90 days.

" + "documentation":"

[Optional] How long, in days, versions of data set contents are kept for the data set. If not specified or set to null, versions of data set contents are retained for at most 90 days. The number of versions of data set contents retained is determined by the versioningConfiguration parameter. (For more information, see https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions)

" + }, + "versioningConfiguration":{ + "shape":"VersioningConfiguration", + "documentation":"

[Optional] How many versions of data set contents are kept. If not specified or set to null, only the latest version plus the latest succeeded version (if they are different) are kept for the time period specified by the \"retentionPeriod\" parameter. (For more information, see https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions)

" }, "tags":{ "shape":"TagList", @@ -956,7 +1015,7 @@ }, "retentionPeriod":{ "shape":"RetentionPeriod", - "documentation":"

How long, in days, message data is kept for the data set.

" + "documentation":"

How long, in days, data set contents are kept for the data set.

" } } }, @@ -968,6 +1027,10 @@ "shape":"DatastoreName", "documentation":"

The name of the data store.

" }, + "datastoreStorage":{ + "shape":"DatastoreStorage", + "documentation":"

Where data store data is stored.

" + }, "retentionPeriod":{ "shape":"RetentionPeriod", "documentation":"

How long, in days, message data is kept for the data store.

" @@ -1008,7 +1071,7 @@ }, "pipelineActivities":{ "shape":"PipelineActivities", - "documentation":"

A list of pipeline activities.

The list can be 1-25 PipelineActivity objects. Activities perform transformations on your messages, such as removing, renaming, or adding message attributes; filtering messages based on attribute values; invoking your Lambda functions on messages for advanced processing; or performing mathematical transformations to normalize device data.

" + "documentation":"

A list of \"PipelineActivity\" objects. Activities perform transformations on your messages, such as removing, renaming or adding message attributes; filtering messages based on attribute values; invoking your Lambda functions on messages for advanced processing; or performing mathematical transformations to normalize device data.

The list can be 2-25 PipelineActivity objects and must contain both a channel and a datastore activity. Each entry in the list must contain only one activity, for example:

pipelineActivities = [ { \"channel\": { ... } }, { \"lambda\": { ... } }, ... ]

" }, "tags":{ "shape":"TagList", @@ -1029,6 +1092,86 @@ } } }, + "CustomerManagedChannelS3Storage":{ + "type":"structure", + "required":[ + "bucket", + "roleArn" + ], + "members":{ + "bucket":{ + "shape":"BucketName", + "documentation":"

The name of the Amazon S3 bucket in which channel data is stored.

" + }, + "keyPrefix":{ + "shape":"S3KeyPrefix", + "documentation":"

The prefix used to create the keys of the channel data objects. Each object in an Amazon S3 bucket has a key that is its unique identifier within the bucket (each object in a bucket has exactly one key).

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the role which grants AWS IoT Analytics permission to interact with your Amazon S3 resources.

" + } + }, + "documentation":"

Use this to store channel data in an S3 bucket that you manage.

" + }, + "CustomerManagedChannelS3StorageSummary":{ + "type":"structure", + "members":{ + "bucket":{ + "shape":"BucketName", + "documentation":"

The name of the Amazon S3 bucket in which channel data is stored.

" + }, + "keyPrefix":{ + "shape":"S3KeyPrefix", + "documentation":"

The prefix used to create the keys of the channel data objects. Each object in an Amazon S3 bucket has a key that is its unique identifier within the bucket (each object in a bucket has exactly one key).

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the role which grants AWS IoT Analytics permission to interact with your Amazon S3 resources.

" + } + }, + "documentation":"

Used to store channel data in an S3 bucket that you manage.

" + }, + "CustomerManagedDatastoreS3Storage":{ + "type":"structure", + "required":[ + "bucket", + "roleArn" + ], + "members":{ + "bucket":{ + "shape":"BucketName", + "documentation":"

The name of the Amazon S3 bucket in which data store data is stored.

" + }, + "keyPrefix":{ + "shape":"S3KeyPrefix", + "documentation":"

The prefix used to create the keys of the data store data objects. Each object in an Amazon S3 bucket has a key that is its unique identifier within the bucket (each object in a bucket has exactly one key).

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the role which grants AWS IoT Analytics permission to interact with your Amazon S3 resources.

" + } + }, + "documentation":"

Use this to store data store data in an S3 bucket that you manage.

" + }, + "CustomerManagedDatastoreS3StorageSummary":{ + "type":"structure", + "members":{ + "bucket":{ + "shape":"BucketName", + "documentation":"

The name of the Amazon S3 bucket in which data store data is stored.

" + }, + "keyPrefix":{ + "shape":"S3KeyPrefix", + "documentation":"

The prefix used to create the keys of the data store data objects. Each object in an Amazon S3 bucket has a key that is its unique identifier within the bucket (each object in a bucket has exactly one key).

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the role which grants AWS IoT Analytics permission to interact with your Amazon S3 resources.

" + } + }, + "documentation":"

Used to store data store data in an S3 bucket that you manage.

" + }, "Dataset":{ "type":"structure", "members":{ @@ -1048,7 +1191,10 @@ "shape":"DatasetTriggers", "documentation":"

The \"DatasetTrigger\" objects that specify when the data set is automatically updated.

" }, - "contentDeliveryRules":{"shape":"DatasetContentDeliveryRules"}, + "contentDeliveryRules":{ + "shape":"DatasetContentDeliveryRules", + "documentation":"

When data set contents are created they are delivered to destinations specified here.

" + }, "status":{ "shape":"DatasetStatus", "documentation":"

The status of the data set.

" @@ -1064,6 +1210,10 @@ "retentionPeriod":{ "shape":"RetentionPeriod", "documentation":"

[Optional] How long, in days, message data is kept for the data set.

" + }, + "versioningConfiguration":{ + "shape":"VersioningConfiguration", + "documentation":"

[Optional] How many versions of data set contents are kept. If not specified or set to null, only the latest version plus the latest succeeded version (if they are different) are kept for the time period specified by the \"retentionPeriod\" parameter. (For more information, see https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions)

" } }, "documentation":"

Information about a data set.

" @@ -1077,14 +1227,14 @@ }, "queryAction":{ "shape":"SqlQueryDatasetAction", - "documentation":"

An \"SqlQueryDatasetAction\" object that contains the SQL query to modify the message.

" + "documentation":"

An \"SqlQueryDatasetAction\" object that uses an SQL query to automatically create data set contents.

" }, "containerAction":{ "shape":"ContainerDatasetAction", "documentation":"

Information which allows the system to run a containerized application in order to create the data set contents. The application must be in a Docker container along with any needed support libraries.

" } }, - "documentation":"

A \"DatasetAction\" object specifying the query that creates the data set content.

" + "documentation":"

A \"DatasetAction\" object that specifies how data set contents are automatically created.

" }, "DatasetActionName":{ "type":"string", @@ -1110,7 +1260,7 @@ "documentation":"

The type of action by which the data set's contents are automatically created.

" } }, - "documentation":"

" + "documentation":"

Information about the action which automatically creates the data set's contents.

" }, "DatasetActionType":{ "type":"string", @@ -1129,16 +1279,31 @@ "DatasetContentDeliveryDestination":{ "type":"structure", "members":{ - "iotEventsDestinationConfiguration":{"shape":"IotEventsDestinationConfiguration"} - } + "iotEventsDestinationConfiguration":{ + "shape":"IotEventsDestinationConfiguration", + "documentation":"

Configuration information for delivery of data set contents to AWS IoT Events.

" + }, + "s3DestinationConfiguration":{ + "shape":"S3DestinationConfiguration", + "documentation":"

Configuration information for delivery of data set contents to Amazon S3.

" + } + }, + "documentation":"

The destination to which data set contents are delivered.

" }, "DatasetContentDeliveryRule":{ "type":"structure", "required":["destination"], "members":{ - "entryName":{"shape":"EntryName"}, - "destination":{"shape":"DatasetContentDeliveryDestination"} - } + "entryName":{ + "shape":"EntryName", + "documentation":"

The name of the data set content delivery rules entry.

" + }, + "destination":{ + "shape":"DatasetContentDeliveryDestination", + "documentation":"

The destination to which data set contents are delivered.

" + } + }, + "documentation":"

When data set contents are created they are delivered to destination specified here.

" }, "DatasetContentDeliveryRules":{ "type":"list", @@ -1205,10 +1370,10 @@ "members":{ "datasetName":{ "shape":"DatasetName", - "documentation":"

The name of the data set whose latest contents will be used as input to the notebook or application.

" + "documentation":"

The name of the data set whose latest contents are used as input to the notebook or application.

" } }, - "documentation":"

The data set whose latest contents will be used as input to the notebook or application.

" + "documentation":"

The data set whose latest contents are used as input to the notebook or application.

" }, "DatasetEntries":{ "type":"list", @@ -1285,7 +1450,7 @@ }, "dataset":{ "shape":"TriggeringDataset", - "documentation":"

The data set whose content creation will trigger the creation of this data set's contents.

" + "documentation":"

The data set whose content creation triggers the creation of this data set's contents.

" } }, "documentation":"

The \"DatasetTrigger\" that specifies when the data set is automatically updated.

" @@ -1303,6 +1468,10 @@ "shape":"DatastoreName", "documentation":"

The name of the data store.

" }, + "storage":{ + "shape":"DatastoreStorage", + "documentation":"

Where data store data is stored.

" + }, "arn":{ "shape":"DatastoreArn", "documentation":"

The ARN of the data store.

" @@ -1369,6 +1538,34 @@ "DELETING" ] }, + "DatastoreStorage":{ + "type":"structure", + "members":{ + "serviceManagedS3":{ + "shape":"ServiceManagedDatastoreS3Storage", + "documentation":"

Use this to store data store data in an S3 bucket managed by the AWS IoT Analytics service.

" + }, + "customerManagedS3":{ + "shape":"CustomerManagedDatastoreS3Storage", + "documentation":"

Use this to store data store data in an S3 bucket that you manage.

" + } + }, + "documentation":"

Where data store data is stored.

" + }, + "DatastoreStorageSummary":{ + "type":"structure", + "members":{ + "serviceManagedS3":{ + "shape":"ServiceManagedDatastoreS3StorageSummary", + "documentation":"

Used to store data store data in an S3 bucket managed by the AWS IoT Analytics service.

" + }, + "customerManagedS3":{ + "shape":"CustomerManagedDatastoreS3StorageSummary", + "documentation":"

Used to store data store data in an S3 bucket that you manage.

" + } + }, + "documentation":"

Where data store data is stored.

" + }, "DatastoreSummaries":{ "type":"list", "member":{"shape":"DatastoreSummary"} @@ -1380,6 +1577,10 @@ "shape":"DatastoreName", "documentation":"

The name of the data store.

" }, + "datastoreStorage":{ + "shape":"DatastoreStorageSummary", + "documentation":"

Where data store data is stored.

" + }, "status":{ "shape":"DatastoreStatus", "documentation":"

The status of the data store.

" @@ -1470,14 +1671,14 @@ "members":{ "offsetSeconds":{ "shape":"OffsetSeconds", - "documentation":"

The number of seconds of estimated \"in flight\" lag time of message data.

" + "documentation":"

The number of seconds of estimated \"in flight\" lag time of message data. When you create data set contents using message data from a specified time frame, some message data may still be \"in flight\" when processing begins, and so will not arrive in time to be processed. Use this field to make allowances for the \"in flight\" time of your message data, so that data not processed from a previous time frame will be included with the next time frame. Without this, missed message data would be excluded from processing during the next time frame as well, because its timestamp places it within the previous time frame.

" }, "timeExpression":{ "shape":"TimeExpression", "documentation":"

An expression by which the time of the message data may be determined. This may be the name of a timestamp field, or a SQL expression which is used to derive the time the message data was generated.

" } }, - "documentation":"

When you create data set contents using message data from a specified time frame, some message data may still be \"in flight\" when processing begins, and so will not arrive in time to be processed. Use this field to make allowances for the \"in flight\" time of your message data, so that data not processed from the previous time frame will be included with the next time frame. Without this, missed message data would be excluded from processing during the next time frame as well, because its timestamp places it within the previous time frame.

" + "documentation":"

Used to limit data to that which has arrived since the last execution of the action.

" }, "DescribeChannelRequest":{ "type":"structure", @@ -1742,6 +1943,36 @@ } } }, + "GlueConfiguration":{ + "type":"structure", + "required":[ + "tableName", + "databaseName" + ], + "members":{ + "tableName":{ + "shape":"GlueTableName", + "documentation":"

The name of the table in your AWS Glue Data Catalog which is used to perform the ETL (extract, transform and load) operations. (An AWS Glue Data Catalog table contains partitioned data and descriptions of data sources and targets.)

" + }, + "databaseName":{ + "shape":"GlueDatabaseName", + "documentation":"

The name of the database in your AWS Glue Data Catalog in which the table is located. (An AWS Glue Data Catalog database contains Glue Data tables.)

" + } + }, + "documentation":"

Configuration information for coordination with the AWS Glue ETL (extract, transform and load) service.

" + }, + "GlueDatabaseName":{ + "type":"string", + "max":150, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "GlueTableName":{ + "type":"string", + "max":150, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, "Image":{ "type":"string", "max":255 @@ -1773,9 +2004,16 @@ "roleArn" ], "members":{ - "inputName":{"shape":"IotEventsInputName"}, - "roleArn":{"shape":"RoleArn"} - } + "inputName":{ + "shape":"IotEventsInputName", + "documentation":"

The name of the AWS IoT Events input to which data set contents are delivered.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the role which grants AWS IoT Analytics permission to deliver data set contents to an AWS IoT Events input.

" + } + }, + "documentation":"

Configuration information for delivery of data set contents to AWS IoT Events.

" }, "IotEventsInputName":{ "type":"string", @@ -1876,6 +2114,18 @@ "documentation":"

The maximum number of results to return in this request.

", "location":"querystring", "locationName":"maxResults" + }, + "scheduledOnOrAfter":{ + "shape":"Timestamp", + "documentation":"

A filter to limit results to those data set contents whose creation is scheduled on or after the given time. See the field triggers.schedule in the CreateDataset request. (timestamp)

", + "location":"querystring", + "locationName":"scheduledOnOrAfter" + }, + "scheduledBefore":{ + "shape":"Timestamp", + "documentation":"

A filter to limit results to those data set contents whose creation is scheduled before the given time. See the field triggers.schedule in the CreateDataset request. (timestamp)

", + "location":"querystring", + "locationName":"scheduledBefore" } } }, @@ -2046,7 +2296,7 @@ }, "attribute":{ "shape":"AttributeName", - "documentation":"

The name of the attribute that will contain the result of the math operation.

" + "documentation":"

The name of the attribute that contains the result of the math operation.

" }, "math":{ "shape":"MathExpression", @@ -2074,6 +2324,11 @@ "max":250, "min":1 }, + "MaxVersions":{ + "type":"integer", + "max":1000, + "min":1 + }, "Message":{ "type":"structure", "required":[ @@ -2123,7 +2378,7 @@ "documentation":"

The URI of the location where data set contents are stored, usually the URI of a file in an S3 bucket.

" } }, - "documentation":"

The URI of the location where data set contents are stored, usually the URI of a file in an S3 bucket.

" + "documentation":"

The value of the variable as a structure that specifies an output file URI.

" }, "Pipeline":{ "type":"structure", @@ -2256,7 +2511,7 @@ "members":{ "deltaTime":{ "shape":"DeltaTime", - "documentation":"

Used to limit data to that which has arrived since the last execution of the action. When you create data set contents using message data from a specified time frame, some message data may still be \"in flight\" when processing begins, and so will not arrive in time to be processed. Use this field to make allowances for the \"in flight\" time of you message data, so that data not processed from a previous time frame will be included with the next time frame. Without this, missed message data would be excluded from processing during the next time frame as well, because its timestamp places it within the previous time frame.

" + "documentation":"

Used to limit data to that which has arrived since the last execution of the action.

" } }, "documentation":"

Information which is used to filter message data, to segregate it according to the time frame in which it arrives.

" @@ -2424,6 +2679,39 @@ } } }, + "S3DestinationConfiguration":{ + "type":"structure", + "required":[ + "bucket", + "key", + "roleArn" + ], + "members":{ + "bucket":{ + "shape":"BucketName", + "documentation":"

The name of the Amazon S3 bucket to which data set contents are delivered.

" + }, + "key":{ + "shape":"BucketKeyExpression", + "documentation":"

The key of the data set contents object. Each object in an Amazon S3 bucket has a key that is its unique identifier within the bucket (each object in a bucket has exactly one key).

" + }, + "glueConfiguration":{ + "shape":"GlueConfiguration", + "documentation":"

Configuration information for coordination with the AWS Glue ETL (extract, transform and load) service.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the role which grants AWS IoT Analytics permission to interact with your Amazon S3 and AWS Glue resources.

" + } + }, + "documentation":"

Configuration information for delivery of data set contents to Amazon S3.

" + }, + "S3KeyPrefix":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[a-zA-Z0-9!_.*'()/{}:-]*/$" + }, "SampleChannelDataRequest":{ "type":"structure", "required":["channelName"], @@ -2468,7 +2756,7 @@ "members":{ "expression":{ "shape":"ScheduleExpression", - "documentation":"

The expression that defines when to trigger an update. For more information, see Schedule Expressions for Rules in the Amazon CloudWatch documentation.

" + "documentation":"

The expression that defines when to trigger an update. For more information, see Schedule Expressions for Rules in the Amazon CloudWatch Events User Guide.

" } }, "documentation":"

The schedule for when to trigger an update.

" @@ -2496,6 +2784,30 @@ }, "documentation":"

Creates a new message using only the specified attributes from the original message.

" }, + "ServiceManagedChannelS3Storage":{ + "type":"structure", + "members":{ + }, + "documentation":"

Use this to store channel data in an S3 bucket managed by the AWS IoT Analytics service.

" + }, + "ServiceManagedChannelS3StorageSummary":{ + "type":"structure", + "members":{ + }, + "documentation":"

Used to store channel data in an S3 bucket managed by the AWS IoT Analytics service.

" + }, + "ServiceManagedDatastoreS3Storage":{ + "type":"structure", + "members":{ + }, + "documentation":"

Use this to store data store data in an S3 bucket managed by the AWS IoT Analytics service.

" + }, + "ServiceManagedDatastoreS3StorageSummary":{ + "type":"structure", + "members":{ + }, + "documentation":"

Used to store data store data in an S3 bucket managed by the AWS IoT Analytics service.

" + }, "ServiceUnavailableException":{ "type":"structure", "members":{ @@ -2602,7 +2914,7 @@ "members":{ "resourceArn":{ "shape":"ResourceArn", - "documentation":"

The ARN of the resource whose tags will be modified.

", + "documentation":"

The ARN of the resource whose tags you want to modify.

", "location":"querystring", "locationName":"resourceArn" }, @@ -2639,12 +2951,13 @@ "members":{ "name":{ "shape":"DatasetName", - "documentation":"

The name of the data set whose content generation will trigger the new data set content generation.

" + "documentation":"

The name of the data set whose content generation triggers the new data set content generation.

" } }, - "documentation":"

Information about the data set whose content generation will trigger the new data set content generation.

" + "documentation":"

Information about the data set whose content generation triggers the new data set content generation.

" }, "UnlimitedRetentionPeriod":{"type":"boolean"}, + "UnlimitedVersioning":{"type":"boolean"}, "UntagResourceRequest":{ "type":"structure", "required":[ @@ -2654,13 +2967,13 @@ "members":{ "resourceArn":{ "shape":"ResourceArn", - "documentation":"

The ARN of the resource whose tags will be removed.

", + "documentation":"

The ARN of the resource whose tags you want to remove.

", "location":"querystring", "locationName":"resourceArn" }, "tagKeys":{ "shape":"TagKeyList", - "documentation":"

The keys of those tags which will be removed.

", + "documentation":"

The keys of those tags which you want to remove.

", "location":"querystring", "locationName":"tagKeys" } @@ -2681,6 +2994,10 @@ "location":"uri", "locationName":"channelName" }, + "channelStorage":{ + "shape":"ChannelStorage", + "documentation":"

Where channel data is stored.

" + }, "retentionPeriod":{ "shape":"RetentionPeriod", "documentation":"

How long, in days, message data is kept for the channel.

" @@ -2708,10 +3025,17 @@ "shape":"DatasetTriggers", "documentation":"

A list of \"DatasetTrigger\" objects. The list can be empty or can contain up to five DataSetTrigger objects.

" }, - "contentDeliveryRules":{"shape":"DatasetContentDeliveryRules"}, + "contentDeliveryRules":{ + "shape":"DatasetContentDeliveryRules", + "documentation":"

When data set contents are created they are delivered to destinations specified here.

" + }, "retentionPeriod":{ "shape":"RetentionPeriod", - "documentation":"

How long, in days, message data is kept for the data set.

" + "documentation":"

How long, in days, data set contents are kept for the data set.

" + }, + "versioningConfiguration":{ + "shape":"VersioningConfiguration", + "documentation":"

[Optional] How many versions of data set contents are kept. If not specified or set to null, only the latest version plus the latest succeeded version (if they are different) are kept for the time period specified by the \"retentionPeriod\" parameter. (For more information, see https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions)

" } } }, @@ -2728,6 +3052,10 @@ "retentionPeriod":{ "shape":"RetentionPeriod", "documentation":"

How long, in days, message data is kept for the data store.

" + }, + "datastoreStorage":{ + "shape":"DatastoreStorage", + "documentation":"

Where data store data is stored.

" } } }, @@ -2746,7 +3074,7 @@ }, "pipelineActivities":{ "shape":"PipelineActivities", - "documentation":"

A list of \"PipelineActivity\" objects.

The list can be 1-25 PipelineActivity objects. Activities perform transformations on your messages, such as removing, renaming or adding message attributes; filtering messages based on attribute values; invoking your Lambda functions on messages for advanced processing; or performing mathematical transformations to normalize device data.

" + "documentation":"

A list of \"PipelineActivity\" objects. Activities perform transformations on your messages, such as removing, renaming or adding message attributes; filtering messages based on attribute values; invoking your Lambda functions on messages for advanced processing; or performing mathematical transformations to normalize device data.

The list can be 2-25 PipelineActivity objects and must contain both a channel and a datastore activity. Each entry in the list must contain only one activity, for example:

pipelineActivities = [ { \"channel\": { ... } }, { \"lambda\": { ... } }, ... ]

" } } }, @@ -2789,6 +3117,20 @@ "max":50, "min":0 }, + "VersioningConfiguration":{ + "type":"structure", + "members":{ + "unlimited":{ + "shape":"UnlimitedVersioning", + "documentation":"

If true, unlimited versions of data set contents will be kept.

" + }, + "maxVersions":{ + "shape":"MaxVersions", + "documentation":"

How many versions of data set contents will be kept. The \"unlimited\" parameter must be false.

" + } + }, + "documentation":"

Information about the versioning of data set contents.

" + }, "VolumeSizeInGB":{ "type":"integer", "max":50, diff --git a/bin/botocore/data/iotevents-data/2018-10-23/paginators-1.json b/bin/botocore/data/iotevents-data/2018-10-23/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/bin/botocore/data/iotevents-data/2018-10-23/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/bin/botocore/data/iotevents-data/2018-10-23/service-2.json b/bin/botocore/data/iotevents-data/2018-10-23/service-2.json new file mode 100644 index 00000000..4146e935 --- /dev/null +++ b/bin/botocore/data/iotevents-data/2018-10-23/service-2.json @@ -0,0 +1,639 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-10-23", + "endpointPrefix":"data.iotevents", + "protocol":"rest-json", + "serviceFullName":"AWS IoT Events Data", + "serviceId":"IoT Events Data", + "signatureVersion":"v4", + "signingName":"ioteventsdata", + "uid":"iotevents-data-2018-10-23" + }, + "operations":{ + "BatchPutMessage":{ + "name":"BatchPutMessage", + "http":{ + "method":"POST", + "requestUri":"/inputs/messages", + "responseCode":200 + }, + "input":{"shape":"BatchPutMessageRequest"}, + "output":{"shape":"BatchPutMessageResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Sends a set of messages to the AWS IoT Events system. Each message payload will be transformed into the input you specify (inputName) and ingested into any detectors that monitor that input. If multiple messages are sent, the order in which the messages are processed is not guaranteed--you must send messages one at a time and wait for a successful response to guarantee ordering.

" + }, + "BatchUpdateDetector":{ + "name":"BatchUpdateDetector", + "http":{ + "method":"POST", + "requestUri":"/detectors", + "responseCode":200 + }, + "input":{"shape":"BatchUpdateDetectorRequest"}, + "output":{"shape":"BatchUpdateDetectorResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Updates the state, variable values, and timer settings of one or more detectors (instances) of a specified detector model.

" + }, + "DescribeDetector":{ + "name":"DescribeDetector", + "http":{ + "method":"GET", + "requestUri":"/detectors/{detectorModelName}/keyValues/" + }, + "input":{"shape":"DescribeDetectorRequest"}, + "output":{"shape":"DescribeDetectorResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns information about the specified detector (instance).

" + }, + "ListDetectors":{ + "name":"ListDetectors", + "http":{ + "method":"GET", + "requestUri":"/detectors/{detectorModelName}" + }, + "input":{"shape":"ListDetectorsRequest"}, + "output":{"shape":"ListDetectorsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Lists detectors (the instances of a detector model).

" + } + }, + "shapes":{ + "BatchPutMessageErrorEntries":{ + "type":"list", + "member":{"shape":"BatchPutMessageErrorEntry"} + }, + "BatchPutMessageErrorEntry":{ + "type":"structure", + "members":{ + "messageId":{ + "shape":"MessageId", + "documentation":"

The ID of the message that caused the error. (See the value corresponding to the messageId key in the message object.)

" + }, + "errorCode":{ + "shape":"ErrorCode", + "documentation":"

The code associated with the error.

" + }, + "errorMessage":{ + "shape":"ErrorMessage", + "documentation":"

More information about the error.

" + } + }, + "documentation":"

Contains informations about the errors encountered.

" + }, + "BatchPutMessageRequest":{ + "type":"structure", + "required":["messages"], + "members":{ + "messages":{ + "shape":"Messages", + "documentation":"

The list of messages to send. Each message has format: '{ \"messageId\": \"string\", \"inputName\": \"string\", \"payload\": \"string\"}'.

" + } + } + }, + "BatchPutMessageResponse":{ + "type":"structure", + "members":{ + "BatchPutMessageErrorEntries":{ + "shape":"BatchPutMessageErrorEntries", + "documentation":"

A list of any errors encountered when sending the messages.

" + } + } + }, + "BatchUpdateDetectorErrorEntries":{ + "type":"list", + "member":{"shape":"BatchUpdateDetectorErrorEntry"} + }, + "BatchUpdateDetectorErrorEntry":{ + "type":"structure", + "members":{ + "messageId":{ + "shape":"MessageId", + "documentation":"

The \"messageId\" of the update request that caused the error. (The value of the messageId in the update request Detector object.)

" + }, + "errorCode":{ + "shape":"ErrorCode", + "documentation":"

The code of the error.

" + }, + "errorMessage":{ + "shape":"ErrorMessage", + "documentation":"

A message describing the error.

" + } + }, + "documentation":"

Information about the error which occured when attempting to update a detector.

" + }, + "BatchUpdateDetectorRequest":{ + "type":"structure", + "required":["detectors"], + "members":{ + "detectors":{ + "shape":"UpdateDetectorRequests", + "documentation":"

The list of detectors (instances) to be updated, along with the values to be updated.

" + } + } + }, + "BatchUpdateDetectorResponse":{ + "type":"structure", + "members":{ + "batchUpdateDetectorErrorEntries":{ + "shape":"BatchUpdateDetectorErrorEntries", + "documentation":"

A list of those detector updates which resulted in errors. (The specific update did not occur if an error is listed here.)

" + } + } + }, + "DescribeDetectorRequest":{ + "type":"structure", + "required":["detectorModelName"], + "members":{ + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model whose detectors (instances) you want information about.

", + "location":"uri", + "locationName":"detectorModelName" + }, + "keyValue":{ + "shape":"KeyValue", + "documentation":"

A filter used to limit results to detectors (instances) created because of the given key ID.

", + "location":"querystring", + "locationName":"keyValue" + } + } + }, + "DescribeDetectorResponse":{ + "type":"structure", + "members":{ + "detector":{ + "shape":"Detector", + "documentation":"

Information about the detector (instance).

" + } + } + }, + "Detector":{ + "type":"structure", + "members":{ + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model that created this detector (instance).

" + }, + "keyValue":{ + "shape":"KeyValue", + "documentation":"

The value of the key (identifying the device or system) that caused the creation of this detector (instance).

" + }, + "detectorModelVersion":{ + "shape":"DetectorModelVersion", + "documentation":"

The version of the detector model that created this detector (instance).

" + }, + "state":{ + "shape":"DetectorState", + "documentation":"

The current state of the detector (instance).

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

The time the detector (instance) was created.

" + }, + "lastUpdateTime":{ + "shape":"Timestamp", + "documentation":"

The time the detector (instance) was last updated.

" + } + }, + "documentation":"

Information about the detector (instance).

" + }, + "DetectorModelName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9_-]+$" + }, + "DetectorModelVersion":{ + "type":"string", + "max":128, + "min":1 + }, + "DetectorState":{ + "type":"structure", + "required":[ + "stateName", + "variables", + "timers" + ], + "members":{ + "stateName":{ + "shape":"StateName", + "documentation":"

The name of the state.

" + }, + "variables":{ + "shape":"Variables", + "documentation":"

The current state of the detector's variables.

" + }, + "timers":{ + "shape":"Timers", + "documentation":"

The current state of the detector's timers.

" + } + }, + "documentation":"

Information about the current state of the detector instance.

" + }, + "DetectorStateDefinition":{ + "type":"structure", + "required":[ + "stateName", + "variables", + "timers" + ], + "members":{ + "stateName":{ + "shape":"StateName", + "documentation":"

The name of the new state of the detector (instance).

" + }, + "variables":{ + "shape":"VariableDefinitions", + "documentation":"

The new values of the detector's variables. Any variable whose value is not specified will be cleared.

" + }, + "timers":{ + "shape":"TimerDefinitions", + "documentation":"

The new values of the detector's timers. Any timer whose value is not specified will be cleared and its timeout event will not occur.

" + } + }, + "documentation":"

The new state, variable values and timer settings of the detector (instance).

" + }, + "DetectorStateSummary":{ + "type":"structure", + "members":{ + "stateName":{ + "shape":"StateName", + "documentation":"

The name of the state.

" + } + }, + "documentation":"

Information about the detector state.

" + }, + "DetectorSummaries":{ + "type":"list", + "member":{"shape":"DetectorSummary"} + }, + "DetectorSummary":{ + "type":"structure", + "members":{ + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model that created this detector (instance).

" + }, + "keyValue":{ + "shape":"KeyValue", + "documentation":"

The value of the key (identifying the device or system) that caused the creation of this detector (instance).

" + }, + "detectorModelVersion":{ + "shape":"DetectorModelVersion", + "documentation":"

The version of the detector model that created this detector (instance).

" + }, + "state":{ + "shape":"DetectorStateSummary", + "documentation":"

The current state of the detector (instance).

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

The time the detector (instance) was created.

" + }, + "lastUpdateTime":{ + "shape":"Timestamp", + "documentation":"

The time the detector (instance) was last updated.

" + } + }, + "documentation":"

Information about the detector (instance).

" + }, + "ErrorCode":{ + "type":"string", + "enum":[ + "ResourceNotFoundException", + "InvalidRequestException", + "InternalFailureException", + "ServiceUnavailableException", + "ThrottlingException" + ] + }, + "ErrorMessage":{"type":"string"}, + "InputName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z][a-zA-Z0-9_]*$" + }, + "InternalFailureException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

An internal failure occured.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The request was invalid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "KeyValue":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9\\-_]+$" + }, + "ListDetectorsRequest":{ + "type":"structure", + "required":["detectorModelName"], + "members":{ + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model whose instances you want to list.

", + "location":"uri", + "locationName":"detectorModelName" + }, + "stateName":{ + "shape":"StateName", + "documentation":"

A filter that limits results to those detectors (instances) in the given state.

", + "location":"querystring", + "locationName":"stateName" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return at one time.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListDetectorsResponse":{ + "type":"structure", + "members":{ + "detectorSummaries":{ + "shape":"DetectorSummaries", + "documentation":"

A list of summary information about the detectors (instances).

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token to retrieve the next set of results, or null if there are no additional results.

" + } + } + }, + "MaxResults":{ + "type":"integer", + "max":250, + "min":1 + }, + "Message":{ + "type":"structure", + "required":[ + "messageId", + "inputName", + "payload" + ], + "members":{ + "messageId":{ + "shape":"MessageId", + "documentation":"

The ID you wish to assign to the message. Each \"messageId\" must be unique within each batch sent.

" + }, + "inputName":{ + "shape":"InputName", + "documentation":"

The name of the input into which the message payload will be transformed.

" + }, + "payload":{ + "shape":"Payload", + "documentation":"

The payload of the message. This can be a JSON string or a Base-64-encoded string representing binary data (in which case you must decode it).

" + } + }, + "documentation":"

Information about a message.

" + }, + "MessageId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9_-]+$" + }, + "Messages":{ + "type":"list", + "member":{"shape":"Message"}, + "min":1 + }, + "NextToken":{"type":"string"}, + "Payload":{"type":"blob"}, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The resource was not found.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "Seconds":{"type":"integer"}, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The service is currently unavailable.

", + "error":{"httpStatusCode":503}, + "exception":true, + "fault":true + }, + "StateName":{ + "type":"string", + "max":128, + "min":1 + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The request could not be completed due to throttling.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "Timer":{ + "type":"structure", + "required":[ + "name", + "timestamp" + ], + "members":{ + "name":{ + "shape":"TimerName", + "documentation":"

The name of the timer.

" + }, + "timestamp":{ + "shape":"Timestamp", + "documentation":"

The number of seconds which have elapsed on the timer.

" + } + }, + "documentation":"

The current state of a timer.

" + }, + "TimerDefinition":{ + "type":"structure", + "required":[ + "name", + "seconds" + ], + "members":{ + "name":{ + "shape":"TimerName", + "documentation":"

The name of the timer.

" + }, + "seconds":{ + "shape":"Seconds", + "documentation":"

The new setting of the timer (the number of seconds before the timer elapses).

" + } + }, + "documentation":"

The new setting of a timer.

" + }, + "TimerDefinitions":{ + "type":"list", + "member":{"shape":"TimerDefinition"} + }, + "TimerName":{ + "type":"string", + "max":128, + "min":1 + }, + "Timers":{ + "type":"list", + "member":{"shape":"Timer"} + }, + "Timestamp":{"type":"timestamp"}, + "UpdateDetectorRequest":{ + "type":"structure", + "required":[ + "messageId", + "detectorModelName", + "state" + ], + "members":{ + "messageId":{ + "shape":"MessageId", + "documentation":"

The ID you wish to assign to the detector update \"message\". Each \"messageId\" must be unique within each batch sent.

" + }, + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model that created the detectors (instances).

" + }, + "keyValue":{ + "shape":"KeyValue", + "documentation":"

The value of the input key attribute (identifying the device or system) that caused the creation of this detector (instance).

" + }, + "state":{ + "shape":"DetectorStateDefinition", + "documentation":"

The new state, variable values, and timer settings of the detector (instance).

" + } + }, + "documentation":"

Information used to update the detector (instance).

" + }, + "UpdateDetectorRequests":{ + "type":"list", + "member":{"shape":"UpdateDetectorRequest"}, + "min":1 + }, + "Variable":{ + "type":"structure", + "required":[ + "name", + "value" + ], + "members":{ + "name":{ + "shape":"VariableName", + "documentation":"

The name of the variable.

" + }, + "value":{ + "shape":"VariableValue", + "documentation":"

The current value of the variable.

" + } + }, + "documentation":"

The current state of the variable.

" + }, + "VariableDefinition":{ + "type":"structure", + "required":[ + "name", + "value" + ], + "members":{ + "name":{ + "shape":"VariableName", + "documentation":"

The name of the variable.

" + }, + "value":{ + "shape":"VariableValue", + "documentation":"

The new value of the variable.

" + } + }, + "documentation":"

The new value of the variable.

" + }, + "VariableDefinitions":{ + "type":"list", + "member":{"shape":"VariableDefinition"} + }, + "VariableName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z][a-zA-Z0-9_]*$" + }, + "VariableValue":{ + "type":"string", + "max":1024, + "min":1 + }, + "Variables":{ + "type":"list", + "member":{"shape":"Variable"} + }, + "errorMessage":{"type":"string"} + }, + "documentation":"

AWS IoT Events monitors your equipment or device fleets for failures or changes in operation, and triggers actions when such events occur.

" +} diff --git a/bin/botocore/data/iotevents/2018-07-27/paginators-1.json b/bin/botocore/data/iotevents/2018-07-27/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/bin/botocore/data/iotevents/2018-07-27/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/bin/botocore/data/iotevents/2018-07-27/service-2.json b/bin/botocore/data/iotevents/2018-07-27/service-2.json new file mode 100644 index 00000000..84863305 --- /dev/null +++ b/bin/botocore/data/iotevents/2018-07-27/service-2.json @@ -0,0 +1,1516 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-07-27", + "endpointPrefix":"iotevents", + "protocol":"rest-json", + "serviceFullName":"AWS IoT Events", + "serviceId":"IoT Events", + "signatureVersion":"v4", + "signingName":"iotevents", + "uid":"iotevents-2018-07-27" + }, + "operations":{ + "CreateDetectorModel":{ + "name":"CreateDetectorModel", + "http":{ + "method":"POST", + "requestUri":"/detector-models" + }, + "input":{"shape":"CreateDetectorModelRequest"}, + "output":{"shape":"CreateDetectorModelResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Creates a detector model.

" + }, + "CreateInput":{ + "name":"CreateInput", + "http":{ + "method":"POST", + "requestUri":"/inputs", + "responseCode":201 + }, + "input":{"shape":"CreateInputRequest"}, + "output":{"shape":"CreateInputResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ResourceAlreadyExistsException"} + ], + "documentation":"

Creates an input.

" + }, + "DeleteDetectorModel":{ + "name":"DeleteDetectorModel", + "http":{ + "method":"DELETE", + "requestUri":"/detector-models/{detectorModelName}", + "responseCode":204 + }, + "input":{"shape":"DeleteDetectorModelRequest"}, + "output":{"shape":"DeleteDetectorModelResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Deletes a detector model. Any active instances of the detector model are also deleted.

" + }, + "DeleteInput":{ + "name":"DeleteInput", + "http":{ + "method":"DELETE", + "requestUri":"/inputs/{inputName}" + }, + "input":{"shape":"DeleteInputRequest"}, + "output":{"shape":"DeleteInputResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes an input.

" + }, + "DescribeDetectorModel":{ + "name":"DescribeDetectorModel", + "http":{ + "method":"GET", + "requestUri":"/detector-models/{detectorModelName}" + }, + "input":{"shape":"DescribeDetectorModelRequest"}, + "output":{"shape":"DescribeDetectorModelResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Describes a detector model. If the version parameter is not specified, information about the latest version is returned.

" + }, + "DescribeInput":{ + "name":"DescribeInput", + "http":{ + "method":"GET", + "requestUri":"/inputs/{inputName}" + }, + "input":{"shape":"DescribeInputRequest"}, + "output":{"shape":"DescribeInputResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Describes an input.

" + }, + "DescribeLoggingOptions":{ + "name":"DescribeLoggingOptions", + "http":{ + "method":"GET", + "requestUri":"/logging" + }, + "input":{"shape":"DescribeLoggingOptionsRequest"}, + "output":{"shape":"DescribeLoggingOptionsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnsupportedOperationException"} + ], + "documentation":"

Retrieves the current settings of the AWS IoT Events logging options.

" + }, + "ListDetectorModelVersions":{ + "name":"ListDetectorModelVersions", + "http":{ + "method":"GET", + "requestUri":"/detector-models/{detectorModelName}/versions" + }, + "input":{"shape":"ListDetectorModelVersionsRequest"}, + "output":{"shape":"ListDetectorModelVersionsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Lists all the versions of a detector model. Only the metadata associated with each detector model version is returned.

" + }, + "ListDetectorModels":{ + "name":"ListDetectorModels", + "http":{ + "method":"GET", + "requestUri":"/detector-models" + }, + "input":{"shape":"ListDetectorModelsRequest"}, + "output":{"shape":"ListDetectorModelsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Lists the detector models you have created. Only the metadata associated with each detector model is returned.

" + }, + "ListInputs":{ + "name":"ListInputs", + "http":{ + "method":"GET", + "requestUri":"/inputs" + }, + "input":{"shape":"ListInputsRequest"}, + "output":{"shape":"ListInputsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Lists the inputs you have created.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists the tags (metadata) you have assigned to the resource.

" + }, + "PutLoggingOptions":{ + "name":"PutLoggingOptions", + "http":{ + "method":"PUT", + "requestUri":"/logging" + }, + "input":{"shape":"PutLoggingOptionsRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Sets or updates the AWS IoT Events logging options.

Note that if you update the value of any loggingOptions field, it takes up to one minute for the change to take effect. Also, if you change the policy attached to the role you specified in the roleArn field (for example, to correct an invalid policy) it takes up to five minutes for that change to take effect.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Add to or modifies the tags of the given resource. Tags are metadata which can be used to manage a resource.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Removes the given tags (metadata) from the resource.

" + }, + "UpdateDetectorModel":{ + "name":"UpdateDetectorModel", + "http":{ + "method":"POST", + "requestUri":"/detector-models/{detectorModelName}" + }, + "input":{"shape":"UpdateDetectorModelRequest"}, + "output":{"shape":"UpdateDetectorModelResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Updates a detector model. Detectors (instances) spawned by the previous version will be deleted and re-created as new inputs arrive.

" + }, + "UpdateInput":{ + "name":"UpdateInput", + "http":{ + "method":"PUT", + "requestUri":"/inputs/{inputName}" + }, + "input":{"shape":"UpdateInputRequest"}, + "output":{"shape":"UpdateInputResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Updates an input.

" + } + }, + "shapes":{ + "Action":{ + "type":"structure", + "members":{ + "setVariable":{ + "shape":"SetVariableAction", + "documentation":"

Sets a variable to a specified value.

" + }, + "sns":{ + "shape":"SNSTopicPublishAction", + "documentation":"

Sends an Amazon SNS message.

" + }, + "iotTopicPublish":{ + "shape":"IotTopicPublishAction", + "documentation":"

Publishes an MQTT message with the given topic to the AWS IoT Message Broker.

" + }, + "setTimer":{ + "shape":"SetTimerAction", + "documentation":"

Information needed to set the timer.

" + }, + "clearTimer":{ + "shape":"ClearTimerAction", + "documentation":"

Information needed to clear the timer.

" + }, + "resetTimer":{ + "shape":"ResetTimerAction", + "documentation":"

Information needed to reset the timer.

" + } + }, + "documentation":"

An action to be performed when the condition is TRUE.

" + }, + "Actions":{ + "type":"list", + "member":{"shape":"Action"} + }, + "AmazonResourceName":{ + "type":"string", + "max":2048, + "min":1 + }, + "Attribute":{ + "type":"structure", + "required":["jsonPath"], + "members":{ + "jsonPath":{ + "shape":"AttributeJsonPath", + "documentation":"

An expression that specifies an attribute-value pair in a JSON structure. Use this to specify an attribute from the JSON payload that is made available by the input. Inputs are derived from messages sent to the AWS IoT Events system (BatchPutMessage). Each such message contains a JSON payload, and the attribute (and its paired value) specified here are available for use in the condition expressions used by detectors.

Syntax: <field-name>.<field-name>...

" + } + }, + "documentation":"

The attributes from the JSON payload that are made available by the input. Inputs are derived from messages sent to the AWS IoT Events system using BatchPutMessage. Each such message contains a JSON payload, and those attributes (and their paired values) specified here are available for use in the condition expressions used by detectors.

" + }, + "AttributeJsonPath":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^((`[\\w\\- ]+`)|([\\w\\-]+))(\\.((`[\\w- ]+`)|([\\w\\-]+)))*$" + }, + "Attributes":{ + "type":"list", + "member":{"shape":"Attribute"}, + "max":200, + "min":1 + }, + "ClearTimerAction":{ + "type":"structure", + "required":["timerName"], + "members":{ + "timerName":{ + "shape":"TimerName", + "documentation":"

The name of the timer to clear.

" + } + }, + "documentation":"

Information needed to clear the timer.

" + }, + "Condition":{ + "type":"string", + "max":512 + }, + "CreateDetectorModelRequest":{ + "type":"structure", + "required":[ + "detectorModelName", + "detectorModelDefinition", + "roleArn" + ], + "members":{ + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model.

" + }, + "detectorModelDefinition":{ + "shape":"DetectorModelDefinition", + "documentation":"

Information that defines how the detectors operate.

" + }, + "detectorModelDescription":{ + "shape":"DetectorModelDescription", + "documentation":"

A brief description of the detector model.

" + }, + "key":{ + "shape":"AttributeJsonPath", + "documentation":"

The input attribute key used to identify a device or system in order to create a detector (an instance of the detector model) and then to route each input received to the appropriate detector (instance). This parameter uses a JSON-path expression to specify the attribute-value pair in the message payload of each input that is used to identify the device associated with the input.

" + }, + "roleArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the role that grants permission to AWS IoT Events to perform its operations.

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

Metadata which can be used to manage the detector model.

" + } + } + }, + "CreateDetectorModelResponse":{ + "type":"structure", + "members":{ + "detectorModelConfiguration":{ + "shape":"DetectorModelConfiguration", + "documentation":"

Information about how the detector model is configured.

" + } + } + }, + "CreateInputRequest":{ + "type":"structure", + "required":[ + "inputName", + "inputDefinition" + ], + "members":{ + "inputName":{ + "shape":"InputName", + "documentation":"

The name you want to give to the input.

" + }, + "inputDescription":{ + "shape":"InputDescription", + "documentation":"

A brief description of the input.

" + }, + "inputDefinition":{ + "shape":"InputDefinition", + "documentation":"

The definition of the input.

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

Metadata which can be used to manage the input.

" + } + } + }, + "CreateInputResponse":{ + "type":"structure", + "members":{ + "inputConfiguration":{ + "shape":"InputConfiguration", + "documentation":"

Information about the configuration of the input.

" + } + } + }, + "DeleteDetectorModelRequest":{ + "type":"structure", + "required":["detectorModelName"], + "members":{ + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model to be deleted.

", + "location":"uri", + "locationName":"detectorModelName" + } + } + }, + "DeleteDetectorModelResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteInputRequest":{ + "type":"structure", + "required":["inputName"], + "members":{ + "inputName":{ + "shape":"InputName", + "documentation":"

The name of the input to be deleted.

", + "location":"uri", + "locationName":"inputName" + } + } + }, + "DeleteInputResponse":{ + "type":"structure", + "members":{ + } + }, + "DescribeDetectorModelRequest":{ + "type":"structure", + "required":["detectorModelName"], + "members":{ + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model.

", + "location":"uri", + "locationName":"detectorModelName" + }, + "detectorModelVersion":{ + "shape":"DetectorModelVersion", + "documentation":"

The version of the detector model.

", + "location":"querystring", + "locationName":"version" + } + } + }, + "DescribeDetectorModelResponse":{ + "type":"structure", + "members":{ + "detectorModel":{ + "shape":"DetectorModel", + "documentation":"

Information about the detector model.

" + } + } + }, + "DescribeInputRequest":{ + "type":"structure", + "required":["inputName"], + "members":{ + "inputName":{ + "shape":"InputName", + "documentation":"

The name of the input.

", + "location":"uri", + "locationName":"inputName" + } + } + }, + "DescribeInputResponse":{ + "type":"structure", + "members":{ + "input":{ + "shape":"Input", + "documentation":"

Information about the input.

" + } + } + }, + "DescribeLoggingOptionsRequest":{ + "type":"structure", + "members":{ + } + }, + "DescribeLoggingOptionsResponse":{ + "type":"structure", + "members":{ + "loggingOptions":{ + "shape":"LoggingOptions", + "documentation":"

The current settings of the AWS IoT Events logging options.

" + } + } + }, + "DetectorDebugOption":{ + "type":"structure", + "required":["detectorModelName"], + "members":{ + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model.

" + }, + "keyValue":{ + "shape":"KeyValue", + "documentation":"

The value of the input attribute key used to create the detector (the instance of the detector model).

" + } + }, + "documentation":"

The detector model and the specific detectors (instances) for which the logging level is given.

" + }, + "DetectorDebugOptions":{ + "type":"list", + "member":{"shape":"DetectorDebugOption"}, + "min":1 + }, + "DetectorModel":{ + "type":"structure", + "members":{ + "detectorModelDefinition":{ + "shape":"DetectorModelDefinition", + "documentation":"

Information that defines how a detector operates.

" + }, + "detectorModelConfiguration":{ + "shape":"DetectorModelConfiguration", + "documentation":"

Information about how the detector is configured.

" + } + }, + "documentation":"

Information about the detector model.

" + }, + "DetectorModelArn":{"type":"string"}, + "DetectorModelConfiguration":{ + "type":"structure", + "members":{ + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model.

" + }, + "detectorModelVersion":{ + "shape":"DetectorModelVersion", + "documentation":"

The version of the detector model.

" + }, + "detectorModelDescription":{ + "shape":"DetectorModelDescription", + "documentation":"

A brief description of the detector model.

" + }, + "detectorModelArn":{ + "shape":"DetectorModelArn", + "documentation":"

The ARN of the detector model.

" + }, + "roleArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the role that grants permission to AWS IoT Events to perform its operations.

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

The time the detector model was created.

" + }, + "lastUpdateTime":{ + "shape":"Timestamp", + "documentation":"

The time the detector model was last updated.

" + }, + "status":{ + "shape":"DetectorModelVersionStatus", + "documentation":"

The status of the detector model.

" + }, + "key":{ + "shape":"AttributeJsonPath", + "documentation":"

The input attribute key used to identify a device or system in order to create a detector (an instance of the detector model) and then to route each input received to the appropriate detector (instance). This parameter uses a JSON-path expression to specify the attribute-value pair in the message payload of each input that is used to identify the device associated with the input.

" + } + }, + "documentation":"

Information about how the detector model is configured.

" + }, + "DetectorModelDefinition":{ + "type":"structure", + "required":[ + "states", + "initialStateName" + ], + "members":{ + "states":{ + "shape":"States", + "documentation":"

Information about the states of the detector.

" + }, + "initialStateName":{ + "shape":"StateName", + "documentation":"

The state that is entered at the creation of each detector (instance).

" + } + }, + "documentation":"

Information that defines how a detector operates.

" + }, + "DetectorModelDescription":{ + "type":"string", + "max":128 + }, + "DetectorModelName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9_-]+$" + }, + "DetectorModelSummaries":{ + "type":"list", + "member":{"shape":"DetectorModelSummary"} + }, + "DetectorModelSummary":{ + "type":"structure", + "members":{ + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model.

" + }, + "detectorModelDescription":{ + "shape":"DetectorModelDescription", + "documentation":"

A brief description of the detector model.

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

The time the detector model was created.

" + } + }, + "documentation":"

Information about the detector model.

" + }, + "DetectorModelVersion":{ + "type":"string", + "max":128, + "min":1 + }, + "DetectorModelVersionStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "ACTIVATING", + "INACTIVE", + "DEPRECATED", + "DRAFT", + "PAUSED", + "FAILED" + ] + }, + "DetectorModelVersionSummaries":{ + "type":"list", + "member":{"shape":"DetectorModelVersionSummary"} + }, + "DetectorModelVersionSummary":{ + "type":"structure", + "members":{ + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model.

" + }, + "detectorModelVersion":{ + "shape":"DetectorModelVersion", + "documentation":"

The ID of the detector model version.

" + }, + "detectorModelArn":{ + "shape":"DetectorModelArn", + "documentation":"

The ARN of the detector model version.

" + }, + "roleArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the role that grants the detector model permission to perform its tasks.

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

The time the detector model version was created.

" + }, + "lastUpdateTime":{ + "shape":"Timestamp", + "documentation":"

The last time the detector model version was updated.

" + }, + "status":{ + "shape":"DetectorModelVersionStatus", + "documentation":"

The status of the detector model version.

" + } + }, + "documentation":"

Information about the detector model version.

" + }, + "Event":{ + "type":"structure", + "required":["eventName"], + "members":{ + "eventName":{ + "shape":"EventName", + "documentation":"

The name of the event.

" + }, + "condition":{ + "shape":"Condition", + "documentation":"

[Optional] The Boolean expression that when TRUE causes the actions to be performed. If not present, the actions are performed (=TRUE); if the expression result is not a Boolean value the actions are NOT performed (=FALSE).

" + }, + "actions":{ + "shape":"Actions", + "documentation":"

The actions to be performed.

" + } + }, + "documentation":"

Specifies the actions to be performed when the condition evaluates to TRUE.

" + }, + "EventName":{ + "type":"string", + "max":128 + }, + "Events":{ + "type":"list", + "member":{"shape":"Event"} + }, + "Input":{ + "type":"structure", + "members":{ + "inputConfiguration":{ + "shape":"InputConfiguration", + "documentation":"

Information about the configuration of an input.

" + }, + "inputDefinition":{ + "shape":"InputDefinition", + "documentation":"

The definition of the input.

" + } + }, + "documentation":"

Information about the input.

" + }, + "InputArn":{"type":"string"}, + "InputConfiguration":{ + "type":"structure", + "required":[ + "inputName", + "inputArn", + "creationTime", + "lastUpdateTime", + "status" + ], + "members":{ + "inputName":{ + "shape":"InputName", + "documentation":"

The name of the input.

" + }, + "inputDescription":{ + "shape":"InputDescription", + "documentation":"

A brief description of the input.

" + }, + "inputArn":{ + "shape":"InputArn", + "documentation":"

The ARN of the input.

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

The time the input was created.

" + }, + "lastUpdateTime":{ + "shape":"Timestamp", + "documentation":"

The last time the input was updated.

" + }, + "status":{ + "shape":"InputStatus", + "documentation":"

The status of the input.

" + } + }, + "documentation":"

Information about the configuration of an input.

" + }, + "InputDefinition":{ + "type":"structure", + "required":["attributes"], + "members":{ + "attributes":{ + "shape":"Attributes", + "documentation":"

The attributes from the JSON payload that are made available by the input. Inputs are derived from messages sent to the AWS IoT Events system using BatchPutMessage. Each such message contains a JSON payload, and those attributes (and their paired values) specified here is available for use in the condition expressions used by detectors that monitor this input.

" + } + }, + "documentation":"

The definition of the input.

" + }, + "InputDescription":{ + "type":"string", + "max":128 + }, + "InputName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z][a-zA-Z0-9_]*$" + }, + "InputStatus":{ + "type":"string", + "enum":[ + "CREATING", + "UPDATING", + "ACTIVE", + "DELETING" + ] + }, + "InputSummaries":{ + "type":"list", + "member":{"shape":"InputSummary"} + }, + "InputSummary":{ + "type":"structure", + "members":{ + "inputName":{ + "shape":"InputName", + "documentation":"

The name of the input.

" + }, + "inputDescription":{ + "shape":"InputDescription", + "documentation":"

A brief description of the input.

" + }, + "inputArn":{ + "shape":"InputArn", + "documentation":"

The ARN of the input.

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

The time the input was created.

" + }, + "lastUpdateTime":{ + "shape":"Timestamp", + "documentation":"

The last time the input was updated.

" + }, + "status":{ + "shape":"InputStatus", + "documentation":"

The status of the input.

" + } + }, + "documentation":"

Information about the input.

" + }, + "InternalFailureException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

An internal failure occurred.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The request was invalid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "IotTopicPublishAction":{ + "type":"structure", + "required":["mqttTopic"], + "members":{ + "mqttTopic":{ + "shape":"MQTTTopic", + "documentation":"

The MQTT topic of the message.

" + } + }, + "documentation":"

Information required to publish the MQTT message via the AWS IoT Message Broker.

" + }, + "KeyValue":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9\\-_]+$" + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

A limit was exceeded.

", + "error":{"httpStatusCode":410}, + "exception":true + }, + "ListDetectorModelVersionsRequest":{ + "type":"structure", + "required":["detectorModelName"], + "members":{ + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model whose versions are returned.

", + "location":"uri", + "locationName":"detectorModelName" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return at one time.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListDetectorModelVersionsResponse":{ + "type":"structure", + "members":{ + "detectorModelVersionSummaries":{ + "shape":"DetectorModelVersionSummaries", + "documentation":"

Summary information about the detector model versions.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token to retrieve the next set of results, or null if there are no additional results.

" + } + } + }, + "ListDetectorModelsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return at one time.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListDetectorModelsResponse":{ + "type":"structure", + "members":{ + "detectorModelSummaries":{ + "shape":"DetectorModelSummaries", + "documentation":"

Summary information about the detector models.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token to retrieve the next set of results, or null if there are no additional results.

" + } + } + }, + "ListInputsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return at one time.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListInputsResponse":{ + "type":"structure", + "members":{ + "inputSummaries":{ + "shape":"InputSummaries", + "documentation":"

Summary information about the inputs.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token to retrieve the next set of results, or null if there are no additional results.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the resource.

", + "location":"querystring", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"Tags", + "documentation":"

The list of tags assigned to the resource.

" + } + } + }, + "LoggingEnabled":{"type":"boolean"}, + "LoggingLevel":{ + "type":"string", + "enum":[ + "ERROR", + "INFO", + "DEBUG" + ] + }, + "LoggingOptions":{ + "type":"structure", + "required":[ + "roleArn", + "level", + "enabled" + ], + "members":{ + "roleArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the role that grants permission to AWS IoT Events to perform logging.

" + }, + "level":{ + "shape":"LoggingLevel", + "documentation":"

The logging level. Currently, only \"ERROR\" is supported.

" + }, + "enabled":{ + "shape":"LoggingEnabled", + "documentation":"

If TRUE, logging is enabled for AWS IoT Events.

" + }, + "detectorDebugOptions":{ + "shape":"DetectorDebugOptions", + "documentation":"

Information that identifies those detector models and their detectors (instances) for which the logging level is given.

" + } + }, + "documentation":"

The values of the AWS IoT Events logging options.

" + }, + "MQTTTopic":{ + "type":"string", + "max":128, + "min":1 + }, + "MaxResults":{ + "type":"integer", + "max":250, + "min":1 + }, + "NextToken":{"type":"string"}, + "OnEnterLifecycle":{ + "type":"structure", + "members":{ + "events":{ + "shape":"Events", + "documentation":"

Specifies the actions that are performed when the state is entered and the condition is TRUE.

" + } + }, + "documentation":"

When entering this state, perform these actions if the condition is TRUE.

" + }, + "OnExitLifecycle":{ + "type":"structure", + "members":{ + "events":{ + "shape":"Events", + "documentation":"

Specifies the actions that are performed when the state is exited and the condition is TRUE.

" + } + }, + "documentation":"

When exiting this state, perform these actions if the specified condition is TRUE.

" + }, + "OnInputLifecycle":{ + "type":"structure", + "members":{ + "events":{ + "shape":"Events", + "documentation":"

Specifies the actions performed when the condition evaluates to TRUE.

" + }, + "transitionEvents":{ + "shape":"TransitionEvents", + "documentation":"

Specifies the actions performed and the next state entered when a condition evaluates to TRUE.

" + } + }, + "documentation":"

Specifies the actions performed when the condition evaluates to TRUE.

" + }, + "PutLoggingOptionsRequest":{ + "type":"structure", + "required":["loggingOptions"], + "members":{ + "loggingOptions":{ + "shape":"LoggingOptions", + "documentation":"

The new values of the AWS IoT Events logging options.

" + } + } + }, + "ResetTimerAction":{ + "type":"structure", + "required":["timerName"], + "members":{ + "timerName":{ + "shape":"TimerName", + "documentation":"

The name of the timer to reset.

" + } + }, + "documentation":"

Information needed to reset the timer.

" + }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + }, + "resourceId":{ + "shape":"resourceId", + "documentation":"

The ID of the resource.

" + }, + "resourceArn":{ + "shape":"resourceArn", + "documentation":"

The ARN of the resource.

" + } + }, + "documentation":"

The resource already exists.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The resource is in use.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The resource was not found.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "SNSTopicPublishAction":{ + "type":"structure", + "required":["targetArn"], + "members":{ + "targetArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the Amazon SNS target to which the message is sent.

" + } + }, + "documentation":"

Information required to publish the Amazon SNS message.

" + }, + "Seconds":{"type":"integer"}, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The service is currently unavailable.

", + "error":{"httpStatusCode":503}, + "exception":true, + "fault":true + }, + "SetTimerAction":{ + "type":"structure", + "required":[ + "timerName", + "seconds" + ], + "members":{ + "timerName":{ + "shape":"TimerName", + "documentation":"

The name of the timer.

" + }, + "seconds":{ + "shape":"Seconds", + "documentation":"

The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy.

" + } + }, + "documentation":"

Information needed to set the timer.

" + }, + "SetVariableAction":{ + "type":"structure", + "required":[ + "variableName", + "value" + ], + "members":{ + "variableName":{ + "shape":"VariableName", + "documentation":"

The name of the variable.

" + }, + "value":{ + "shape":"VariableValue", + "documentation":"

The new value of the variable.

" + } + }, + "documentation":"

Information about the variable and its new value.

" + }, + "State":{ + "type":"structure", + "required":["stateName"], + "members":{ + "stateName":{ + "shape":"StateName", + "documentation":"

The name of the state.

" + }, + "onInput":{ + "shape":"OnInputLifecycle", + "documentation":"

When an input is received and the condition is TRUE, perform the specified actions.

" + }, + "onEnter":{ + "shape":"OnEnterLifecycle", + "documentation":"

When entering this state, perform these actions if the condition is TRUE.

" + }, + "onExit":{ + "shape":"OnExitLifecycle", + "documentation":"

When exiting this state, perform these actions if the specified condition is TRUE.

" + } + }, + "documentation":"

Information that defines a state of a detector.

" + }, + "StateName":{ + "type":"string", + "max":128, + "min":1 + }, + "States":{ + "type":"list", + "member":{"shape":"State"}, + "min":1 + }, + "Tag":{ + "type":"structure", + "required":[ + "key", + "value" + ], + "members":{ + "key":{ + "shape":"TagKey", + "documentation":"

The tag's key.

" + }, + "value":{ + "shape":"TagValue", + "documentation":"

The tag's value.

" + } + }, + "documentation":"

Metadata which can be used to manage the resource.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the resource.

", + "location":"querystring", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"Tags", + "documentation":"

The new or modified tags for the resource.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "Tags":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The request could not be completed due to throttling.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "TimerName":{ + "type":"string", + "max":128, + "min":1 + }, + "Timestamp":{"type":"timestamp"}, + "TransitionEvent":{ + "type":"structure", + "required":[ + "eventName", + "condition", + "nextState" + ], + "members":{ + "eventName":{ + "shape":"EventName", + "documentation":"

The name of the transition event.

" + }, + "condition":{ + "shape":"Condition", + "documentation":"

[Required] A Boolean expression that when TRUE causes the actions to be performed and the nextState to be entered.

" + }, + "actions":{ + "shape":"Actions", + "documentation":"

The actions to be performed.

" + }, + "nextState":{ + "shape":"StateName", + "documentation":"

The next state to enter.

" + } + }, + "documentation":"

Specifies the actions performed and the next state entered when a condition evaluates to TRUE.

" + }, + "TransitionEvents":{ + "type":"list", + "member":{"shape":"TransitionEvent"} + }, + "UnsupportedOperationException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The requested operation is not supported.

", + "error":{"httpStatusCode":501}, + "exception":true, + "fault":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the resource.

", + "location":"querystring", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeys", + "documentation":"

A list of the keys of the tags to be removed from the resource.

", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateDetectorModelRequest":{ + "type":"structure", + "required":[ + "detectorModelName", + "detectorModelDefinition", + "roleArn" + ], + "members":{ + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model to be updated.

", + "location":"uri", + "locationName":"detectorModelName" + }, + "detectorModelDefinition":{ + "shape":"DetectorModelDefinition", + "documentation":"

Information that defines how a detector operates.

" + }, + "detectorModelDescription":{ + "shape":"DetectorModelDescription", + "documentation":"

A brief description of the detector model.

" + }, + "roleArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the role that grants permission to AWS IoT Events to perform its operations.

" + } + } + }, + "UpdateDetectorModelResponse":{ + "type":"structure", + "members":{ + "detectorModelConfiguration":{ + "shape":"DetectorModelConfiguration", + "documentation":"

Information about how the detector model is configured.

" + } + } + }, + "UpdateInputRequest":{ + "type":"structure", + "required":[ + "inputName", + "inputDefinition" + ], + "members":{ + "inputName":{ + "shape":"InputName", + "documentation":"

The name of the input you want to update.

", + "location":"uri", + "locationName":"inputName" + }, + "inputDescription":{ + "shape":"InputDescription", + "documentation":"

A brief description of the input.

" + }, + "inputDefinition":{ + "shape":"InputDefinition", + "documentation":"

The definition of the input.

" + } + } + }, + "UpdateInputResponse":{ + "type":"structure", + "members":{ + "inputConfiguration":{ + "shape":"InputConfiguration", + "documentation":"

Information about the configuration of the input.

" + } + } + }, + "VariableName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z][a-zA-Z0-9_]*$" + }, + "VariableValue":{ + "type":"string", + "max":1024, + "min":1 + }, + "errorMessage":{"type":"string"}, + "resourceArn":{"type":"string"}, + "resourceId":{"type":"string"} + }, + "documentation":"

AWS IoT Events monitors your equipment or device fleets for failures or changes in operation, and triggers actions when such events occur.

" +} diff --git a/bin/botocore/data/iotthingsgraph/2018-09-06/paginators-1.json b/bin/botocore/data/iotthingsgraph/2018-09-06/paginators-1.json new file mode 100644 index 00000000..bc92f846 --- /dev/null +++ b/bin/botocore/data/iotthingsgraph/2018-09-06/paginators-1.json @@ -0,0 +1,64 @@ +{ + "pagination": { + "GetFlowTemplateRevisions": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "summaries" + }, + "GetSystemTemplateRevisions": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "summaries" + }, + "ListFlowExecutionMessages": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "messages" + }, + "ListTagsForResource": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "tags" + }, + "SearchEntities": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "descriptions" + }, + "SearchFlowExecutions": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "summaries" + }, + "SearchFlowTemplates": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "summaries" + }, + "SearchSystemInstances": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "summaries" + }, + "SearchSystemTemplates": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "summaries" + }, + "SearchThings": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "things" + } + } +} diff --git a/bin/botocore/data/iotthingsgraph/2018-09-06/service-2.json b/bin/botocore/data/iotthingsgraph/2018-09-06/service-2.json new file mode 100644 index 00000000..ae9915b8 --- /dev/null +++ b/bin/botocore/data/iotthingsgraph/2018-09-06/service-2.json @@ -0,0 +1,2218 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-09-06", + "endpointPrefix":"iotthingsgraph", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"AWS IoT Things Graph", + "serviceId":"IoTThingsGraph", + "signatureVersion":"v4", + "signingName":"iotthingsgraph", + "targetPrefix":"IotThingsGraphFrontEndService", + "uid":"iotthingsgraph-2018-09-06" + }, + "operations":{ + "AssociateEntityToThing":{ + "name":"AssociateEntityToThing", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateEntityToThingRequest"}, + "output":{"shape":"AssociateEntityToThingResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Associates a device with a concrete thing that is in the user's registry.

A thing can be associated with only one device at a time. If you associate a thing with a new device id, its previous association will be removed.

" + }, + "CreateFlowTemplate":{ + "name":"CreateFlowTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateFlowTemplateRequest"}, + "output":{"shape":"CreateFlowTemplateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Creates a workflow template. Workflows can be created only in the user's namespace. (The public namespace contains only entities.) The workflow can contain only entities in the specified namespace. The workflow is validated against the entities in the latest version of the user's namespace unless another namespace version is specified in the request.

" + }, + "CreateSystemInstance":{ + "name":"CreateSystemInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSystemInstanceRequest"}, + "output":{"shape":"CreateSystemInstanceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a system instance.

This action validates the system instance, prepares the deployment-related resources. For Greengrass deployments, it updates the Greengrass group that is specified by the greengrassGroupName parameter. It also adds a file to the S3 bucket specified by the s3BucketName parameter. You need to call DeploySystemInstance after running this action.

For Greengrass deployments, since this action modifies and adds resources to a Greengrass group and an S3 bucket on the caller's behalf, the calling identity must have write permissions to both the specified Greengrass group and S3 bucket. Otherwise, the call will fail with an authorization error.

For cloud deployments, this action requires a flowActionsRoleArn value. This is an IAM role that has permissions to access AWS services, such as AWS Lambda and AWS IoT, that the flow uses when it executes.

If the definition document doesn't specify a version of the user's namespace, the latest version will be used by default.

" + }, + "CreateSystemTemplate":{ + "name":"CreateSystemTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSystemTemplateRequest"}, + "output":{"shape":"CreateSystemTemplateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Creates a system. The system is validated against the entities in the latest version of the user's namespace unless another namespace version is specified in the request.

" + }, + "DeleteFlowTemplate":{ + "name":"DeleteFlowTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteFlowTemplateRequest"}, + "output":{"shape":"DeleteFlowTemplateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes a workflow. Any new system or deployment that contains this workflow will fail to update or deploy. Existing deployments that contain the workflow will continue to run (since they use a snapshot of the workflow taken at the time of deployment).

" + }, + "DeleteNamespace":{ + "name":"DeleteNamespace", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteNamespaceRequest"}, + "output":{"shape":"DeleteNamespaceResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Deletes the specified namespace. This action deletes all of the entities in the namespace. Delete the systems and flows that use entities in the namespace before performing this action.

" + }, + "DeleteSystemInstance":{ + "name":"DeleteSystemInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSystemInstanceRequest"}, + "output":{"shape":"DeleteSystemInstanceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes a system instance. Only system instances that have never been deployed, or that have been undeployed can be deleted.

Users can create a new system instance that has the same ID as a deleted system instance.

" + }, + "DeleteSystemTemplate":{ + "name":"DeleteSystemTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSystemTemplateRequest"}, + "output":{"shape":"DeleteSystemTemplateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes a system. New deployments can't contain the system after its deletion. Existing deployments that contain the system will continue to work because they use a snapshot of the system that is taken when it is deployed.

" + }, + "DeploySystemInstance":{ + "name":"DeploySystemInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeploySystemInstanceRequest"}, + "output":{"shape":"DeploySystemInstanceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Greengrass and Cloud Deployments

Deploys the system instance to the target specified in CreateSystemInstance.

Greengrass Deployments

If the system or any workflows and entities have been updated before this action is called, then the deployment will create a new Amazon Simple Storage Service resource file and then deploy it.

Since this action creates a Greengrass deployment on the caller's behalf, the calling identity must have write permissions to the specified Greengrass group. Otherwise, the call will fail with an authorization error.

For information about the artifacts that get added to your Greengrass core device when you use this API, see AWS IoT Things Graph and AWS IoT Greengrass.

" + }, + "DeprecateFlowTemplate":{ + "name":"DeprecateFlowTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeprecateFlowTemplateRequest"}, + "output":{"shape":"DeprecateFlowTemplateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Deprecates the specified workflow. This action marks the workflow for deletion. Deprecated flows can't be deployed, but existing deployments will continue to run.

" + }, + "DeprecateSystemTemplate":{ + "name":"DeprecateSystemTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeprecateSystemTemplateRequest"}, + "output":{"shape":"DeprecateSystemTemplateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Deprecates the specified system.

" + }, + "DescribeNamespace":{ + "name":"DescribeNamespace", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeNamespaceRequest"}, + "output":{"shape":"DescribeNamespaceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Gets the latest version of the user's namespace and the public version that it is tracking.

" + }, + "DissociateEntityFromThing":{ + "name":"DissociateEntityFromThing", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DissociateEntityFromThingRequest"}, + "output":{"shape":"DissociateEntityFromThingResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Dissociates a device entity from a concrete thing. The action takes only the type of the entity that you need to dissociate because only one entity of a particular type can be associated with a thing.

" + }, + "GetEntities":{ + "name":"GetEntities", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetEntitiesRequest"}, + "output":{"shape":"GetEntitiesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Gets definitions of the specified entities. Uses the latest version of the user's namespace by default. This API returns the following TDM entities.

  • Properties

  • States

  • Events

  • Actions

  • Capabilities

  • Mappings

  • Devices

  • Device Models

  • Services

This action doesn't return definitions for systems, flows, and deployments.

" + }, + "GetFlowTemplate":{ + "name":"GetFlowTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetFlowTemplateRequest"}, + "output":{"shape":"GetFlowTemplateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Gets the latest version of the DefinitionDocument and FlowTemplateSummary for the specified workflow.

" + }, + "GetFlowTemplateRevisions":{ + "name":"GetFlowTemplateRevisions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetFlowTemplateRevisionsRequest"}, + "output":{"shape":"GetFlowTemplateRevisionsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Gets revisions of the specified workflow. Only the last 100 revisions are stored. If the workflow has been deprecated, this action will return revisions that occurred before the deprecation. This action won't work for workflows that have been deleted.

" + }, + "GetNamespaceDeletionStatus":{ + "name":"GetNamespaceDeletionStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetNamespaceDeletionStatusRequest"}, + "output":{"shape":"GetNamespaceDeletionStatusResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Gets the status of a namespace deletion task.

" + }, + "GetSystemInstance":{ + "name":"GetSystemInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSystemInstanceRequest"}, + "output":{"shape":"GetSystemInstanceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Gets a system instance.

" + }, + "GetSystemTemplate":{ + "name":"GetSystemTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSystemTemplateRequest"}, + "output":{"shape":"GetSystemTemplateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Gets a system.

" + }, + "GetSystemTemplateRevisions":{ + "name":"GetSystemTemplateRevisions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSystemTemplateRevisionsRequest"}, + "output":{"shape":"GetSystemTemplateRevisionsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Gets revisions made to the specified system template. Only the previous 100 revisions are stored. If the system has been deprecated, this action will return the revisions that occurred before its deprecation. This action won't work with systems that have been deleted.

" + }, + "GetUploadStatus":{ + "name":"GetUploadStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetUploadStatusRequest"}, + "output":{"shape":"GetUploadStatusResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Gets the status of the specified upload.

" + }, + "ListFlowExecutionMessages":{ + "name":"ListFlowExecutionMessages", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListFlowExecutionMessagesRequest"}, + "output":{"shape":"ListFlowExecutionMessagesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns a list of objects that contain information about events in a flow execution.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists all tags on an AWS IoT Things Graph resource.

" + }, + "SearchEntities":{ + "name":"SearchEntities", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchEntitiesRequest"}, + "output":{"shape":"SearchEntitiesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Searches for entities of the specified type. You can search for entities in your namespace and the public namespace that you're tracking.

" + }, + "SearchFlowExecutions":{ + "name":"SearchFlowExecutions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchFlowExecutionsRequest"}, + "output":{"shape":"SearchFlowExecutionsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Searches for AWS IoT Things Graph workflow execution instances.

" + }, + "SearchFlowTemplates":{ + "name":"SearchFlowTemplates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchFlowTemplatesRequest"}, + "output":{"shape":"SearchFlowTemplatesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Searches for summary information about workflows.

" + }, + "SearchSystemInstances":{ + "name":"SearchSystemInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchSystemInstancesRequest"}, + "output":{"shape":"SearchSystemInstancesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Searches for system instances in the user's account.

" + }, + "SearchSystemTemplates":{ + "name":"SearchSystemTemplates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchSystemTemplatesRequest"}, + "output":{"shape":"SearchSystemTemplatesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Searches for summary information about systems in the user's account. You can filter by the ID of a workflow to return only systems that use the specified workflow.

" + }, + "SearchThings":{ + "name":"SearchThings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchThingsRequest"}, + "output":{"shape":"SearchThingsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Searches for things associated with the specified entity. You can search by both device and device model.

For example, if two different devices, camera1 and camera2, implement the camera device model, the user can associate thing1 to camera1 and thing2 to camera2. SearchThings(camera2) will return only thing2, but SearchThings(camera) will return both thing1 and thing2.

This action searches for exact matches and doesn't perform partial text matching.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Creates a tag for the specified resource.

" + }, + "UndeploySystemInstance":{ + "name":"UndeploySystemInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UndeploySystemInstanceRequest"}, + "output":{"shape":"UndeploySystemInstanceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Removes a system instance from its target (Cloud or Greengrass).

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Removes a tag from the specified resource.

" + }, + "UpdateFlowTemplate":{ + "name":"UpdateFlowTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateFlowTemplateRequest"}, + "output":{"shape":"UpdateFlowTemplateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Updates the specified workflow. All deployed systems and system instances that use the workflow will see the changes in the flow when it is redeployed. If you don't want this behavior, copy the workflow (creating a new workflow with a different ID), and update the copy. The workflow can contain only entities in the specified namespace.

" + }, + "UpdateSystemTemplate":{ + "name":"UpdateSystemTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSystemTemplateRequest"}, + "output":{"shape":"UpdateSystemTemplateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Updates the specified system. You don't need to run this action after updating a workflow. Any deployment that uses the system will see the changes in the system when it is redeployed.

" + }, + "UploadEntityDefinitions":{ + "name":"UploadEntityDefinitions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UploadEntityDefinitionsRequest"}, + "output":{"shape":"UploadEntityDefinitionsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Asynchronously uploads one or more entity definitions to the user's namespace. The document parameter is required if syncWithPublicNamespace and deleteExistingEntites are false. If the syncWithPublicNamespace parameter is set to true, the user's namespace will synchronize with the latest version of the public namespace. If deprecateExistingEntities is set to true, all entities in the latest version will be deleted before the new DefinitionDocument is uploaded.

When a user uploads entity definitions for the first time, the service creates a new namespace for the user. The new namespace tracks the public namespace. Currently users can have only one namespace. The namespace version increments whenever a user uploads entity definitions that are backwards-incompatible and whenever a user sets the syncWithPublicNamespace parameter or the deprecateExistingEntities parameter to true.

The IDs for all of the entities should be in URN format. Each entity must be in the user's namespace. Users can't create entities in the public namespace, but entity definitions can refer to entities in the public namespace.

Valid entities are Device, DeviceModel, Service, Capability, State, Action, Event, Property, Mapping, Enum.

" + } + }, + "shapes":{ + "Arn":{"type":"string"}, + "AssociateEntityToThingRequest":{ + "type":"structure", + "required":[ + "thingName", + "entityId" + ], + "members":{ + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the thing to which the entity is to be associated.

" + }, + "entityId":{ + "shape":"Urn", + "documentation":"

The ID of the device to be associated with the thing.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:device:DEVICENAME

" + }, + "namespaceVersion":{ + "shape":"Version", + "documentation":"

The version of the user's namespace. Defaults to the latest version of the user's namespace.

" + } + } + }, + "AssociateEntityToThingResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateFlowTemplateRequest":{ + "type":"structure", + "required":["definition"], + "members":{ + "definition":{ + "shape":"DefinitionDocument", + "documentation":"

The workflow DefinitionDocument.

" + }, + "compatibleNamespaceVersion":{ + "shape":"Version", + "documentation":"

The namespace version in which the workflow is to be created.

If no value is specified, the latest version is used by default.

" + } + } + }, + "CreateFlowTemplateResponse":{ + "type":"structure", + "members":{ + "summary":{ + "shape":"FlowTemplateSummary", + "documentation":"

The summary object that describes the created workflow.

" + } + } + }, + "CreateSystemInstanceRequest":{ + "type":"structure", + "required":[ + "definition", + "target" + ], + "members":{ + "tags":{ + "shape":"TagList", + "documentation":"

Metadata, consisting of key-value pairs, that can be used to categorize your system instances.

" + }, + "definition":{"shape":"DefinitionDocument"}, + "target":{ + "shape":"DeploymentTarget", + "documentation":"

The target type of the deployment. Valid values are GREENGRASS and CLOUD.

" + }, + "greengrassGroupName":{ + "shape":"GroupName", + "documentation":"

The name of the Greengrass group where the system instance will be deployed. This value is required if the value of the target parameter is GREENGRASS.

" + }, + "s3BucketName":{ + "shape":"S3BucketName", + "documentation":"

The name of the Amazon Simple Storage Service bucket that will be used to store and deploy the system instance's resource file. This value is required if the value of the target parameter is GREENGRASS.

" + }, + "metricsConfiguration":{"shape":"MetricsConfiguration"}, + "flowActionsRoleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the IAM role that AWS IoT Things Graph will assume when it executes the flow. This role must have read and write access to AWS Lambda and AWS IoT and any other AWS services that the flow uses when it executes. This value is required if the value of the target parameter is CLOUD.

" + } + } + }, + "CreateSystemInstanceResponse":{ + "type":"structure", + "members":{ + "summary":{ + "shape":"SystemInstanceSummary", + "documentation":"

The summary object that describes the new system instance.

" + } + } + }, + "CreateSystemTemplateRequest":{ + "type":"structure", + "required":["definition"], + "members":{ + "definition":{ + "shape":"DefinitionDocument", + "documentation":"

The DefinitionDocument used to create the system.

" + }, + "compatibleNamespaceVersion":{ + "shape":"Version", + "documentation":"

The namespace version in which the system is to be created.

If no value is specified, the latest version is used by default.

" + } + } + }, + "CreateSystemTemplateResponse":{ + "type":"structure", + "members":{ + "summary":{ + "shape":"SystemTemplateSummary", + "documentation":"

The summary object that describes the created system.

" + } + } + }, + "DefinitionDocument":{ + "type":"structure", + "required":[ + "language", + "text" + ], + "members":{ + "language":{ + "shape":"DefinitionLanguage", + "documentation":"

The language used to define the entity. GRAPHQL is the only valid value.

" + }, + "text":{ + "shape":"DefinitionText", + "documentation":"

The GraphQL text that defines the entity.

" + } + }, + "documentation":"

A document that defines an entity.

" + }, + "DefinitionLanguage":{ + "type":"string", + "enum":["GRAPHQL"] + }, + "DefinitionText":{ + "type":"string", + "max":1048576 + }, + "DeleteFlowTemplateRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the workflow to be deleted.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME

" + } + } + }, + "DeleteFlowTemplateResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteNamespaceRequest":{ + "type":"structure", + "members":{ + } + }, + "DeleteNamespaceResponse":{ + "type":"structure", + "members":{ + "namespaceArn":{ + "shape":"Arn", + "documentation":"

The ARN of the namespace to be deleted.

" + }, + "namespaceName":{ + "shape":"NamespaceName", + "documentation":"

The name of the namespace to be deleted.

" + } + } + }, + "DeleteSystemInstanceRequest":{ + "type":"structure", + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the system instance to be deleted.

" + } + } + }, + "DeleteSystemInstanceResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteSystemTemplateRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the system to be deleted.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME

" + } + } + }, + "DeleteSystemTemplateResponse":{ + "type":"structure", + "members":{ + } + }, + "DependencyRevision":{ + "type":"structure", + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the workflow or system.

" + }, + "revisionNumber":{ + "shape":"Version", + "documentation":"

The revision number of the workflow or system.

" + } + }, + "documentation":"

An object that contains the ID and revision number of a workflow or system that is part of a deployment.

" + }, + "DependencyRevisions":{ + "type":"list", + "member":{"shape":"DependencyRevision"} + }, + "DeploySystemInstanceRequest":{ + "type":"structure", + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the system instance. This value is returned by the CreateSystemInstance action.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:deployment:DEPLOYMENTNAME

" + } + } + }, + "DeploySystemInstanceResponse":{ + "type":"structure", + "required":["summary"], + "members":{ + "summary":{ + "shape":"SystemInstanceSummary", + "documentation":"

An object that contains summary information about a system instance that was deployed.

" + }, + "greengrassDeploymentId":{ + "shape":"GreengrassDeploymentId", + "documentation":"

The ID of the Greengrass deployment used to deploy the system instance.

" + } + } + }, + "DeploymentTarget":{ + "type":"string", + "enum":[ + "GREENGRASS", + "CLOUD" + ] + }, + "DeprecateExistingEntities":{"type":"boolean"}, + "DeprecateFlowTemplateRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the workflow to be deleted.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME

" + } + } + }, + "DeprecateFlowTemplateResponse":{ + "type":"structure", + "members":{ + } + }, + "DeprecateSystemTemplateRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the system to delete.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME

" + } + } + }, + "DeprecateSystemTemplateResponse":{ + "type":"structure", + "members":{ + } + }, + "DescribeNamespaceRequest":{ + "type":"structure", + "members":{ + "namespaceName":{ + "shape":"NamespaceName", + "documentation":"

The name of the user's namespace. Set this to aws to get the public namespace.

" + } + } + }, + "DescribeNamespaceResponse":{ + "type":"structure", + "members":{ + "namespaceArn":{ + "shape":"Arn", + "documentation":"

The ARN of the namespace.

" + }, + "namespaceName":{ + "shape":"NamespaceName", + "documentation":"

The name of the namespace.

" + }, + "trackingNamespaceName":{ + "shape":"NamespaceName", + "documentation":"

The name of the public namespace that the latest namespace version is tracking.

" + }, + "trackingNamespaceVersion":{ + "shape":"Version", + "documentation":"

The version of the public namespace that the latest version is tracking.

" + }, + "namespaceVersion":{ + "shape":"Version", + "documentation":"

The version of the user's namespace to describe.

" + } + } + }, + "DissociateEntityFromThingRequest":{ + "type":"structure", + "required":[ + "thingName", + "entityType" + ], + "members":{ + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the thing to disassociate.

" + }, + "entityType":{ + "shape":"EntityType", + "documentation":"

The entity type from which to disassociate the thing.

" + } + } + }, + "DissociateEntityFromThingResponse":{ + "type":"structure", + "members":{ + } + }, + "Enabled":{"type":"boolean"}, + "EntityDescription":{ + "type":"structure", + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The entity ID.

" + }, + "arn":{ + "shape":"Arn", + "documentation":"

The entity ARN.

" + }, + "type":{ + "shape":"EntityType", + "documentation":"

The entity type.

" + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

The time at which the entity was created.

" + }, + "definition":{ + "shape":"DefinitionDocument", + "documentation":"

The definition document of the entity.

" + } + }, + "documentation":"

Describes the properties of an entity.

" + }, + "EntityDescriptions":{ + "type":"list", + "member":{"shape":"EntityDescription"} + }, + "EntityFilter":{ + "type":"structure", + "members":{ + "name":{ + "shape":"EntityFilterName", + "documentation":"

The name of the entity search filter field. REFERENCED_ENTITY_ID filters on entities that are used by the entity in the result set. For example, you can filter on the ID of a property that is used in a state.

" + }, + "value":{ + "shape":"EntityFilterValues", + "documentation":"

An array of string values for the search filter field. Multiple values function as AND criteria in the search.

" + } + }, + "documentation":"

An object that filters an entity search. Multiple filters function as OR criteria in the search. For example a search that includes a NAMESPACE and a REFERENCED_ENTITY_ID filter searches for entities in the specified namespace that use the entity specified by the value of REFERENCED_ENTITY_ID.

" + }, + "EntityFilterName":{ + "type":"string", + "enum":[ + "NAME", + "NAMESPACE", + "SEMANTIC_TYPE_PATH", + "REFERENCED_ENTITY_ID" + ] + }, + "EntityFilterValue":{"type":"string"}, + "EntityFilterValues":{ + "type":"list", + "member":{"shape":"EntityFilterValue"} + }, + "EntityFilters":{ + "type":"list", + "member":{"shape":"EntityFilter"} + }, + "EntityType":{ + "type":"string", + "enum":[ + "DEVICE", + "SERVICE", + "DEVICE_MODEL", + "CAPABILITY", + "STATE", + "ACTION", + "EVENT", + "PROPERTY", + "MAPPING", + "ENUM" + ] + }, + "EntityTypes":{ + "type":"list", + "member":{"shape":"EntityType"} + }, + "ErrorMessage":{ + "type":"string", + "max":2048 + }, + "FlowExecutionEventType":{ + "type":"string", + "enum":[ + "EXECUTION_STARTED", + "EXECUTION_FAILED", + "EXECUTION_ABORTED", + "EXECUTION_SUCCEEDED", + "STEP_STARTED", + "STEP_FAILED", + "STEP_SUCCEEDED", + "ACTIVITY_SCHEDULED", + "ACTIVITY_STARTED", + "ACTIVITY_FAILED", + "ACTIVITY_SUCCEEDED", + "START_FLOW_EXECUTION_TASK", + "SCHEDULE_NEXT_READY_STEPS_TASK", + "THING_ACTION_TASK", + "THING_ACTION_TASK_FAILED", + "THING_ACTION_TASK_SUCCEEDED", + "ACKNOWLEDGE_TASK_MESSAGE" + ] + }, + "FlowExecutionId":{"type":"string"}, + "FlowExecutionMessage":{ + "type":"structure", + "members":{ + "messageId":{ + "shape":"FlowExecutionMessageId", + "documentation":"

The unique identifier of the message.

" + }, + "eventType":{ + "shape":"FlowExecutionEventType", + "documentation":"

The type of flow event .

" + }, + "timestamp":{ + "shape":"Timestamp", + "documentation":"

The date and time when the message was last updated.

" + }, + "payload":{ + "shape":"FlowExecutionMessagePayload", + "documentation":"

A string containing information about the flow event.

" + } + }, + "documentation":"

An object that contains information about a flow event.

" + }, + "FlowExecutionMessageId":{"type":"string"}, + "FlowExecutionMessagePayload":{"type":"string"}, + "FlowExecutionMessages":{ + "type":"list", + "member":{"shape":"FlowExecutionMessage"} + }, + "FlowExecutionStatus":{ + "type":"string", + "enum":[ + "RUNNING", + "ABORTED", + "SUCCEEDED", + "FAILED" + ] + }, + "FlowExecutionSummaries":{ + "type":"list", + "member":{"shape":"FlowExecutionSummary"} + }, + "FlowExecutionSummary":{ + "type":"structure", + "members":{ + "flowExecutionId":{ + "shape":"FlowExecutionId", + "documentation":"

The ID of the flow execution.

" + }, + "status":{ + "shape":"FlowExecutionStatus", + "documentation":"

The current status of the flow execution.

" + }, + "systemInstanceId":{ + "shape":"Urn", + "documentation":"

The ID of the system instance that contains the flow.

" + }, + "flowTemplateId":{ + "shape":"Urn", + "documentation":"

The ID of the flow.

" + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

The date and time when the flow execution summary was created.

" + }, + "updatedAt":{ + "shape":"Timestamp", + "documentation":"

The date and time when the flow execution summary was last updated.

" + } + }, + "documentation":"

An object that contains summary information about a flow execution.

" + }, + "FlowTemplateDescription":{ + "type":"structure", + "members":{ + "summary":{ + "shape":"FlowTemplateSummary", + "documentation":"

An object that contains summary information about a workflow.

" + }, + "definition":{ + "shape":"DefinitionDocument", + "documentation":"

A workflow's definition document.

" + }, + "validatedNamespaceVersion":{ + "shape":"Version", + "documentation":"

The version of the user's namespace against which the workflow was validated. Use this value in your system instance.

" + } + }, + "documentation":"

An object that contains a workflow's definition and summary information.

" + }, + "FlowTemplateFilter":{ + "type":"structure", + "required":[ + "name", + "value" + ], + "members":{ + "name":{ + "shape":"FlowTemplateFilterName", + "documentation":"

The name of the search filter field.

" + }, + "value":{ + "shape":"FlowTemplateFilterValues", + "documentation":"

An array of string values for the search filter field. Multiple values function as AND criteria in the search.

" + } + }, + "documentation":"

An object that filters a workflow search.

" + }, + "FlowTemplateFilterName":{ + "type":"string", + "enum":["DEVICE_MODEL_ID"] + }, + "FlowTemplateFilterValue":{ + "type":"string", + "pattern":"^urn:tdm:(([a-z]{2}-(gov-)?[a-z]{4,9}-[0-9]{1,3}/[0-9]+/)*[\\p{Alnum}_]+(/[\\p{Alnum}_]+)*):([\\p{Alpha}]*):([\\p{Alnum}_]+(/[\\p{Alnum}_]+)*)$" + }, + "FlowTemplateFilterValues":{ + "type":"list", + "member":{"shape":"FlowTemplateFilterValue"} + }, + "FlowTemplateFilters":{ + "type":"list", + "member":{"shape":"FlowTemplateFilter"} + }, + "FlowTemplateSummaries":{ + "type":"list", + "member":{"shape":"FlowTemplateSummary"} + }, + "FlowTemplateSummary":{ + "type":"structure", + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the workflow.

" + }, + "arn":{ + "shape":"Arn", + "documentation":"

The ARN of the workflow.

" + }, + "revisionNumber":{ + "shape":"Version", + "documentation":"

The revision number of the workflow.

" + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

The date when the workflow was created.

" + } + }, + "documentation":"

An object that contains summary information about a workflow.

" + }, + "GetEntitiesRequest":{ + "type":"structure", + "required":["ids"], + "members":{ + "ids":{ + "shape":"Urns", + "documentation":"

An array of entity IDs.

The IDs should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:device:DEVICENAME

" + }, + "namespaceVersion":{ + "shape":"Version", + "documentation":"

The version of the user's namespace. Defaults to the latest version of the user's namespace.

" + } + } + }, + "GetEntitiesResponse":{ + "type":"structure", + "members":{ + "descriptions":{ + "shape":"EntityDescriptions", + "documentation":"

An array of descriptions for the specified entities.

" + } + } + }, + "GetFlowTemplateRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the workflow.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME

" + }, + "revisionNumber":{ + "shape":"Version", + "documentation":"

The number of the workflow revision to retrieve.

" + } + } + }, + "GetFlowTemplateResponse":{ + "type":"structure", + "members":{ + "description":{ + "shape":"FlowTemplateDescription", + "documentation":"

The object that describes the specified workflow.

" + } + } + }, + "GetFlowTemplateRevisionsRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the workflow.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string that specifies the next page of results. Use this when you're paginating results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in the response.

" + } + } + }, + "GetFlowTemplateRevisionsResponse":{ + "type":"structure", + "members":{ + "summaries":{ + "shape":"FlowTemplateSummaries", + "documentation":"

An array of objects that provide summary data about each revision.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string to specify as nextToken when you request the next page of results.

" + } + } + }, + "GetNamespaceDeletionStatusRequest":{ + "type":"structure", + "members":{ + } + }, + "GetNamespaceDeletionStatusResponse":{ + "type":"structure", + "members":{ + "namespaceArn":{ + "shape":"Arn", + "documentation":"

The ARN of the namespace that is being deleted.

" + }, + "namespaceName":{ + "shape":"NamespaceName", + "documentation":"

The name of the namespace that is being deleted.

" + }, + "status":{ + "shape":"NamespaceDeletionStatus", + "documentation":"

The status of the deletion request.

" + }, + "errorCode":{ + "shape":"NamespaceDeletionStatusErrorCodes", + "documentation":"

An error code returned by the namespace deletion task.

" + }, + "errorMessage":{ + "shape":"String", + "documentation":"

An error code returned by the namespace deletion task.

" + } + } + }, + "GetSystemInstanceRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the system deployment instance. This value is returned by CreateSystemInstance.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:deployment:DEPLOYMENTNAME

" + } + } + }, + "GetSystemInstanceResponse":{ + "type":"structure", + "members":{ + "description":{ + "shape":"SystemInstanceDescription", + "documentation":"

An object that describes the system instance.

" + } + } + }, + "GetSystemTemplateRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the system to get. This ID must be in the user's namespace.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME

" + }, + "revisionNumber":{ + "shape":"Version", + "documentation":"

The number that specifies the revision of the system to get.

" + } + } + }, + "GetSystemTemplateResponse":{ + "type":"structure", + "members":{ + "description":{ + "shape":"SystemTemplateDescription", + "documentation":"

An object that contains summary data about the system.

" + } + } + }, + "GetSystemTemplateRevisionsRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the system template.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string that specifies the next page of results. Use this when you're paginating results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in the response.

" + } + } + }, + "GetSystemTemplateRevisionsResponse":{ + "type":"structure", + "members":{ + "summaries":{ + "shape":"SystemTemplateSummaries", + "documentation":"

An array of objects that contain summary data about the system template revisions.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string to specify as nextToken when you request the next page of results.

" + } + } + }, + "GetUploadStatusRequest":{ + "type":"structure", + "required":["uploadId"], + "members":{ + "uploadId":{ + "shape":"UploadId", + "documentation":"

The ID of the upload. This value is returned by the UploadEntityDefinitions action.

" + } + } + }, + "GetUploadStatusResponse":{ + "type":"structure", + "required":[ + "uploadId", + "uploadStatus", + "createdDate" + ], + "members":{ + "uploadId":{ + "shape":"UploadId", + "documentation":"

The ID of the upload.

" + }, + "uploadStatus":{ + "shape":"UploadStatus", + "documentation":"

The status of the upload. The initial status is IN_PROGRESS. The response show all validation failures if the upload fails.

" + }, + "namespaceArn":{ + "shape":"Arn", + "documentation":"

The ARN of the upload.

" + }, + "namespaceName":{ + "shape":"NamespaceName", + "documentation":"

The name of the upload's namespace.

" + }, + "namespaceVersion":{ + "shape":"Version", + "documentation":"

The version of the user's namespace. Defaults to the latest version of the user's namespace.

" + }, + "failureReason":{ + "shape":"StringList", + "documentation":"

The reason for an upload failure.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date at which the upload was created.

" + } + } + }, + "GreengrassDeploymentId":{"type":"string"}, + "GreengrassGroupId":{"type":"string"}, + "GreengrassGroupVersionId":{"type":"string"}, + "GroupName":{"type":"string"}, + "InternalFailureException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

", + "exception":true, + "fault":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

", + "exception":true + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

", + "exception":true + }, + "ListFlowExecutionMessagesRequest":{ + "type":"structure", + "required":["flowExecutionId"], + "members":{ + "flowExecutionId":{ + "shape":"FlowExecutionId", + "documentation":"

The ID of the flow execution.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string that specifies the next page of results. Use this when you're paginating results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in the response.

" + } + } + }, + "ListFlowExecutionMessagesResponse":{ + "type":"structure", + "members":{ + "messages":{ + "shape":"FlowExecutionMessages", + "documentation":"

A list of objects that contain information about events in the specified flow execution.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string to specify as nextToken when you request the next page of results.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of tags to return.

" + }, + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource whose tags are to be returned.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token that specifies the next page of results to return.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagList", + "documentation":"

List of tags returned by the ListTagsForResource operation.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token that specifies the next page of results to return.

" + } + } + }, + "MaxResults":{ + "type":"integer", + "max":250, + "min":1 + }, + "MetricsConfiguration":{ + "type":"structure", + "members":{ + "cloudMetricEnabled":{ + "shape":"Enabled", + "documentation":"

A Boolean that specifies whether cloud metrics are collected.

" + }, + "metricRuleRoleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the role that is used to collect cloud metrics.

" + } + }, + "documentation":"

An object that specifies whether cloud metrics are collected in a deployment and, if so, what role is used to collect metrics.

" + }, + "NamespaceDeletionStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "SUCCEEDED", + "FAILED" + ] + }, + "NamespaceDeletionStatusErrorCodes":{ + "type":"string", + "enum":["VALIDATION_FAILED"] + }, + "NamespaceName":{ + "type":"string", + "max":128 + }, + "NextToken":{"type":"string"}, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

", + "exception":true + }, + "ResourceArn":{ + "type":"string", + "max":2048, + "min":1 + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

", + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

", + "exception":true + }, + "RoleArn":{ + "type":"string", + "max":2048, + "min":20 + }, + "S3BucketName":{"type":"string"}, + "SearchEntitiesRequest":{ + "type":"structure", + "required":["entityTypes"], + "members":{ + "entityTypes":{ + "shape":"EntityTypes", + "documentation":"

The entity types for which to search.

" + }, + "filters":{ + "shape":"EntityFilters", + "documentation":"

Optional filter to apply to the search. Valid filters are NAME NAMESPACE, SEMANTIC_TYPE_PATH and REFERENCED_ENTITY_ID. REFERENCED_ENTITY_ID filters on entities that are used by the entity in the result set. For example, you can filter on the ID of a property that is used in a state.

Multiple filters function as OR criteria in the query. Multiple values passed inside the filter function as AND criteria.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string that specifies the next page of results. Use this when you're paginating results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in the response.

" + }, + "namespaceVersion":{ + "shape":"Version", + "documentation":"

The version of the user's namespace. Defaults to the latest version of the user's namespace.

" + } + } + }, + "SearchEntitiesResponse":{ + "type":"structure", + "members":{ + "descriptions":{ + "shape":"EntityDescriptions", + "documentation":"

An array of descriptions for each entity returned in the search result.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string to specify as nextToken when you request the next page of results.

" + } + } + }, + "SearchFlowExecutionsRequest":{ + "type":"structure", + "required":["systemInstanceId"], + "members":{ + "systemInstanceId":{ + "shape":"Urn", + "documentation":"

The ID of the system instance that contains the flow.

" + }, + "flowExecutionId":{ + "shape":"FlowExecutionId", + "documentation":"

The ID of a flow execution.

" + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"

The date and time of the earliest flow execution to return.

" + }, + "endTime":{ + "shape":"Timestamp", + "documentation":"

The date and time of the latest flow execution to return.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string that specifies the next page of results. Use this when you're paginating results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in the response.

" + } + } + }, + "SearchFlowExecutionsResponse":{ + "type":"structure", + "members":{ + "summaries":{ + "shape":"FlowExecutionSummaries", + "documentation":"

An array of objects that contain summary information about each workflow execution in the result set.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string to specify as nextToken when you request the next page of results.

" + } + } + }, + "SearchFlowTemplatesRequest":{ + "type":"structure", + "members":{ + "filters":{ + "shape":"FlowTemplateFilters", + "documentation":"

An array of objects that limit the result set. The only valid filter is DEVICE_MODEL_ID.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string that specifies the next page of results. Use this when you're paginating results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in the response.

" + } + } + }, + "SearchFlowTemplatesResponse":{ + "type":"structure", + "members":{ + "summaries":{ + "shape":"FlowTemplateSummaries", + "documentation":"

An array of objects that contain summary information about each workflow in the result set.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string to specify as nextToken when you request the next page of results.

" + } + } + }, + "SearchSystemInstancesRequest":{ + "type":"structure", + "members":{ + "filters":{ + "shape":"SystemInstanceFilters", + "documentation":"

Optional filter to apply to the search. Valid filters are SYSTEM_TEMPLATE_ID, STATUS, and GREENGRASS_GROUP_NAME.

Multiple filters function as OR criteria in the query. Multiple values passed inside the filter function as AND criteria.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string that specifies the next page of results. Use this when you're paginating results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in the response.

" + } + } + }, + "SearchSystemInstancesResponse":{ + "type":"structure", + "members":{ + "summaries":{ + "shape":"SystemInstanceSummaries", + "documentation":"

An array of objects that contain summary data abour the system instances in the result set.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string to specify as nextToken when you request the next page of results.

" + } + } + }, + "SearchSystemTemplatesRequest":{ + "type":"structure", + "members":{ + "filters":{ + "shape":"SystemTemplateFilters", + "documentation":"

An array of filters that limit the result set. The only valid filter is FLOW_TEMPLATE_ID.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string that specifies the next page of results. Use this when you're paginating results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in the response.

" + } + } + }, + "SearchSystemTemplatesResponse":{ + "type":"structure", + "members":{ + "summaries":{ + "shape":"SystemTemplateSummaries", + "documentation":"

An array of objects that contain summary information about each system deployment in the result set.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string to specify as nextToken when you request the next page of results.

" + } + } + }, + "SearchThingsRequest":{ + "type":"structure", + "required":["entityId"], + "members":{ + "entityId":{ + "shape":"Urn", + "documentation":"

The ID of the entity to which the things are associated.

The IDs should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:device:DEVICENAME

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string that specifies the next page of results. Use this when you're paginating results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in the response.

" + }, + "namespaceVersion":{ + "shape":"Version", + "documentation":"

The version of the user's namespace. Defaults to the latest version of the user's namespace.

" + } + } + }, + "SearchThingsResponse":{ + "type":"structure", + "members":{ + "things":{ + "shape":"Things", + "documentation":"

An array of things in the result set.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string to specify as nextToken when you request the next page of results.

" + } + } + }, + "String":{"type":"string"}, + "StringList":{ + "type":"list", + "member":{"shape":"String"} + }, + "SyncWithPublicNamespace":{"type":"boolean"}, + "SystemInstanceDeploymentStatus":{ + "type":"string", + "enum":[ + "NOT_DEPLOYED", + "BOOTSTRAP", + "DEPLOY_IN_PROGRESS", + "DEPLOYED_IN_TARGET", + "UNDEPLOY_IN_PROGRESS", + "FAILED", + "PENDING_DELETE", + "DELETED_IN_TARGET" + ] + }, + "SystemInstanceDescription":{ + "type":"structure", + "members":{ + "summary":{ + "shape":"SystemInstanceSummary", + "documentation":"

An object that contains summary information about a system instance.

" + }, + "definition":{"shape":"DefinitionDocument"}, + "s3BucketName":{ + "shape":"S3BucketName", + "documentation":"

The Amazon Simple Storage Service bucket where information about a system instance is stored.

" + }, + "metricsConfiguration":{"shape":"MetricsConfiguration"}, + "validatedNamespaceVersion":{ + "shape":"Version", + "documentation":"

The version of the user's namespace against which the system instance was validated.

" + }, + "validatedDependencyRevisions":{ + "shape":"DependencyRevisions", + "documentation":"

A list of objects that contain all of the IDs and revision numbers of workflows and systems that are used in a system instance.

" + }, + "flowActionsRoleArn":{ + "shape":"RoleArn", + "documentation":"

The AWS Identity and Access Management (IAM) role that AWS IoT Things Graph assumes during flow execution in a cloud deployment. This role must have read and write permissionss to AWS Lambda and AWS IoT and to any other AWS services that the flow uses.

" + } + }, + "documentation":"

An object that contains a system instance definition and summary information.

" + }, + "SystemInstanceFilter":{ + "type":"structure", + "members":{ + "name":{ + "shape":"SystemInstanceFilterName", + "documentation":"

The name of the search filter field.

" + }, + "value":{ + "shape":"SystemInstanceFilterValues", + "documentation":"

An array of string values for the search filter field. Multiple values function as AND criteria in the search.

" + } + }, + "documentation":"

An object that filters a system instance search. Multiple filters function as OR criteria in the search. For example a search that includes a GREENGRASS_GROUP_NAME and a STATUS filter searches for system instances in the specified Greengrass group that have the specified status.

" + }, + "SystemInstanceFilterName":{ + "type":"string", + "enum":[ + "SYSTEM_TEMPLATE_ID", + "STATUS", + "GREENGRASS_GROUP_NAME" + ] + }, + "SystemInstanceFilterValue":{"type":"string"}, + "SystemInstanceFilterValues":{ + "type":"list", + "member":{"shape":"SystemInstanceFilterValue"} + }, + "SystemInstanceFilters":{ + "type":"list", + "member":{"shape":"SystemInstanceFilter"} + }, + "SystemInstanceSummaries":{ + "type":"list", + "member":{"shape":"SystemInstanceSummary"} + }, + "SystemInstanceSummary":{ + "type":"structure", + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the system instance.

" + }, + "arn":{ + "shape":"Arn", + "documentation":"

The ARN of the system instance.

" + }, + "status":{ + "shape":"SystemInstanceDeploymentStatus", + "documentation":"

The status of the system instance.

" + }, + "target":{ + "shape":"DeploymentTarget", + "documentation":"

The target of the system instance.

" + }, + "greengrassGroupName":{ + "shape":"GroupName", + "documentation":"

The ID of the Greengrass group where the system instance is deployed.

" + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

The date when the system instance was created.

" + }, + "updatedAt":{ + "shape":"Timestamp", + "documentation":"

The date and time when the system instance was last updated.

" + }, + "greengrassGroupId":{ + "shape":"GreengrassGroupId", + "documentation":"

The ID of the Greengrass group where the system instance is deployed.

" + }, + "greengrassGroupVersionId":{ + "shape":"GreengrassGroupVersionId", + "documentation":"

The version of the Greengrass group where the system instance is deployed.

" + } + }, + "documentation":"

An object that contains summary information about a system instance.

" + }, + "SystemTemplateDescription":{ + "type":"structure", + "members":{ + "summary":{ + "shape":"SystemTemplateSummary", + "documentation":"

An object that contains summary information about a system.

" + }, + "definition":{ + "shape":"DefinitionDocument", + "documentation":"

The definition document of a system.

" + }, + "validatedNamespaceVersion":{ + "shape":"Version", + "documentation":"

The namespace version against which the system was validated. Use this value in your system instance.

" + } + }, + "documentation":"

An object that contains a system's definition document and summary information.

" + }, + "SystemTemplateFilter":{ + "type":"structure", + "required":[ + "name", + "value" + ], + "members":{ + "name":{ + "shape":"SystemTemplateFilterName", + "documentation":"

The name of the system search filter field.

" + }, + "value":{ + "shape":"SystemTemplateFilterValues", + "documentation":"

An array of string values for the search filter field. Multiple values function as AND criteria in the search.

" + } + }, + "documentation":"

An object that filters a system search.

" + }, + "SystemTemplateFilterName":{ + "type":"string", + "enum":["FLOW_TEMPLATE_ID"] + }, + "SystemTemplateFilterValue":{ + "type":"string", + "pattern":"^urn:tdm:(([a-z]{2}-(gov-)?[a-z]{4,9}-[0-9]{1,3}/[0-9]+/)*[\\p{Alnum}_]+(/[\\p{Alnum}_]+)*):([\\p{Alpha}]*):([\\p{Alnum}_]+(/[\\p{Alnum}_]+)*)$" + }, + "SystemTemplateFilterValues":{ + "type":"list", + "member":{"shape":"SystemTemplateFilterValue"} + }, + "SystemTemplateFilters":{ + "type":"list", + "member":{"shape":"SystemTemplateFilter"} + }, + "SystemTemplateSummaries":{ + "type":"list", + "member":{"shape":"SystemTemplateSummary"} + }, + "SystemTemplateSummary":{ + "type":"structure", + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the system.

" + }, + "arn":{ + "shape":"Arn", + "documentation":"

The ARN of the system.

" + }, + "revisionNumber":{ + "shape":"Version", + "documentation":"

The revision number of the system.

" + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

The date when the system was created.

" + } + }, + "documentation":"

An object that contains information about a system.

" + }, + "Tag":{ + "type":"structure", + "required":[ + "key", + "value" + ], + "members":{ + "key":{ + "shape":"TagKey", + "documentation":"

The required name of the tag. The string value can be from 1 to 128 Unicode characters in length.

" + }, + "value":{ + "shape":"TagValue", + "documentation":"

The optional value of the tag. The string value can be from 1 to 256 Unicode characters in length.

" + } + }, + "documentation":"

Metadata assigned to an AWS IoT Things Graph resource consisting of a key-value pair.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource whose tags are returned.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

A list of tags to add to the resource.>

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":1 + }, + "Thing":{ + "type":"structure", + "members":{ + "thingArn":{ + "shape":"ThingArn", + "documentation":"

The ARN of the thing.

" + }, + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the thing.

" + } + }, + "documentation":"

An AWS IoT thing.

" + }, + "ThingArn":{"type":"string"}, + "ThingName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9:_-]+" + }, + "Things":{ + "type":"list", + "member":{"shape":"Thing"} + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

", + "exception":true + }, + "Timestamp":{"type":"timestamp"}, + "UndeploySystemInstanceRequest":{ + "type":"structure", + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the system instance to remove from its target.

" + } + } + }, + "UndeploySystemInstanceResponse":{ + "type":"structure", + "members":{ + "summary":{ + "shape":"SystemInstanceSummary", + "documentation":"

An object that contains summary information about the system instance that was removed from its target.

" + } + } + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource whose tags are to be removed.

" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

A list of tag key names to remove from the resource. You don't specify the value. Both the key and its associated value are removed.

This parameter to the API requires a JSON text string argument. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateFlowTemplateRequest":{ + "type":"structure", + "required":[ + "id", + "definition" + ], + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the workflow to be updated.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME

" + }, + "definition":{ + "shape":"DefinitionDocument", + "documentation":"

The DefinitionDocument that contains the updated workflow definition.

" + }, + "compatibleNamespaceVersion":{ + "shape":"Version", + "documentation":"

The version of the user's namespace.

If no value is specified, the latest version is used by default. Use the GetFlowTemplateRevisions if you want to find earlier revisions of the flow to update.

" + } + } + }, + "UpdateFlowTemplateResponse":{ + "type":"structure", + "members":{ + "summary":{ + "shape":"FlowTemplateSummary", + "documentation":"

An object containing summary information about the updated workflow.

" + } + } + }, + "UpdateSystemTemplateRequest":{ + "type":"structure", + "required":[ + "id", + "definition" + ], + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the system to be updated.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME

" + }, + "definition":{ + "shape":"DefinitionDocument", + "documentation":"

The DefinitionDocument that contains the updated system definition.

" + }, + "compatibleNamespaceVersion":{ + "shape":"Version", + "documentation":"

The version of the user's namespace. Defaults to the latest version of the user's namespace.

If no value is specified, the latest version is used by default.

" + } + } + }, + "UpdateSystemTemplateResponse":{ + "type":"structure", + "members":{ + "summary":{ + "shape":"SystemTemplateSummary", + "documentation":"

An object containing summary information about the updated system.

" + } + } + }, + "UploadEntityDefinitionsRequest":{ + "type":"structure", + "members":{ + "document":{ + "shape":"DefinitionDocument", + "documentation":"

The DefinitionDocument that defines the updated entities.

" + }, + "syncWithPublicNamespace":{ + "shape":"SyncWithPublicNamespace", + "documentation":"

A Boolean that specifies whether to synchronize with the latest version of the public namespace. If set to true, the upload will create a new namespace version.

" + }, + "deprecateExistingEntities":{ + "shape":"DeprecateExistingEntities", + "documentation":"

A Boolean that specifies whether to deprecate all entities in the latest version before uploading the new DefinitionDocument. If set to true, the upload will create a new namespace version.

" + } + } + }, + "UploadEntityDefinitionsResponse":{ + "type":"structure", + "required":["uploadId"], + "members":{ + "uploadId":{ + "shape":"UploadId", + "documentation":"

The ID that specifies the upload action. You can use this to track the status of the upload.

" + } + } + }, + "UploadId":{ + "type":"string", + "max":40, + "min":1 + }, + "UploadStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "SUCCEEDED", + "FAILED" + ] + }, + "Urn":{ + "type":"string", + "max":160, + "pattern":"^urn:tdm:(([a-z]{2}-(gov-)?[a-z]{4,9}-[0-9]{1,3}/[0-9]+/)*[\\p{Alnum}_]+(/[\\p{Alnum}_]+)*):([\\p{Alpha}]*):([\\p{Alnum}_]+(/[\\p{Alnum}_]+)*)$" + }, + "Urns":{ + "type":"list", + "member":{"shape":"Urn"}, + "max":25, + "min":0 + }, + "Version":{"type":"long"} + }, + "documentation":"AWS IoT Things Graph

AWS IoT Things Graph provides an integrated set of tools that enable developers to connect devices and services that use different standards, such as units of measure and communication protocols. AWS IoT Things Graph makes it possible to build IoT applications with little to no code by connecting devices and services and defining how they interact at an abstract level.

For more information about how AWS IoT Things Graph works, see the User Guide.

" +} diff --git a/bin/botocore/data/kafka/2018-11-14/paginators-1.json b/bin/botocore/data/kafka/2018-11-14/paginators-1.json index ea142457..075d2aff 100644 --- a/bin/botocore/data/kafka/2018-11-14/paginators-1.json +++ b/bin/botocore/data/kafka/2018-11-14/paginators-1.json @@ -1,3 +1,34 @@ { - "pagination": {} + "pagination": { + "ListClusters": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ClusterInfoList" + }, + "ListNodes": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "NodeInfoList" + }, + "ListConfigurations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Configurations" + }, + "ListClusterOperations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "ClusterOperationInfoList" + }, + "ListConfigurationRevisions": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Revisions" + } + } } diff --git a/bin/botocore/data/kafka/2018-11-14/service-2.json b/bin/botocore/data/kafka/2018-11-14/service-2.json index 4a916707..bdcc5b51 100644 --- a/bin/botocore/data/kafka/2018-11-14/service-2.json +++ b/bin/botocore/data/kafka/2018-11-14/service-2.json @@ -27,27 +27,65 @@ }, "errors" : [ { "shape" : "BadRequestException", - "documentation" : "

Bad request due to incorrect input. Correct your request and then retry it.

" + "documentation" : "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " }, { "shape" : "InternalServerErrorException", - "documentation" : "

There was an unexpected internal server error. Retrying your request might resolve the issue.

" + "documentation" : "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " }, { "shape" : "UnauthorizedException", - "documentation" : "

The request is not authorized. The provided credentials couldn't be validated.

" + "documentation" : "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " }, { "shape" : "ForbiddenException", - "documentation" : "

Access forbidden. Check your credentials and then retry your request.

" + "documentation" : "\n

Access forbidden. Check your credentials and then retry your request.

\n " }, { "shape" : "ServiceUnavailableException", - "documentation" : "

503 response

" + "documentation" : "\n

503 response

\n " }, { "shape" : "TooManyRequestsException", - "documentation" : "

429 response

" + "documentation" : "\n

429 response

\n " }, { "shape" : "ConflictException", - "documentation" : "

This cluster name already exists. Retry your request using another name.

" + "documentation" : "\n

This cluster name already exists. Retry your request using another name.

\n " } ], - "documentation" : "

Creates a new MSK cluster.

" + "documentation" : "\n

Creates a new MSK cluster.

\n " + }, + "CreateConfiguration" : { + "name" : "CreateConfiguration", + "http" : { + "method" : "POST", + "requestUri" : "/v1/configurations", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateConfigurationRequest" + }, + "output" : { + "shape" : "CreateConfigurationResponse", + "documentation" : "\n

200 response

\n " + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, { + "shape" : "UnauthorizedException", + "documentation" : "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " + }, { + "shape" : "ForbiddenException", + "documentation" : "\n

Access forbidden. Check your credentials and then retry your request.

\n " + }, { + "shape" : "ServiceUnavailableException", + "documentation" : "\n

503 response

\n " + }, { + "shape" : "TooManyRequestsException", + "documentation" : "\n

429 response

\n " + }, { + "shape" : "ConflictException", + "documentation" : "\n

This cluster name already exists. Retry your request using another name.

\n " + } ], + "documentation" : "\n

Creates a new MSK configuration.

\n " }, "DeleteCluster" : { "name" : "DeleteCluster", @@ -61,22 +99,22 @@ }, "output" : { "shape" : "DeleteClusterResponse", - "documentation" : "

Successful response.

" + "documentation" : "\n

Successful response.

\n " }, "errors" : [ { "shape" : "NotFoundException", - "documentation" : "

The resource could not be found due to incorrect input. Correct your request and then retry it.

" + "documentation" : "\n

The resource could not be found due to incorrect input. Correct the input, then retry the request.

\n " }, { "shape" : "BadRequestException", - "documentation" : "

Bad request due to incorrect input. Correct your request and then retry it.

" + "documentation" : "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " }, { "shape" : "InternalServerErrorException", - "documentation" : "

There was an unexpected internal server error. Retrying your request might resolve the issue.

" + "documentation" : "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " }, { "shape" : "ForbiddenException", - "documentation" : "

Access forbidden. Check your credentials and then retry your request.

" + "documentation" : "\n

Access forbidden. Check your credentials and then retry your request.

\n " } ], - "documentation" : "

Deletes the MSK cluster specified by the Amazon Resource Name (ARN) in the request.

" + "documentation" : "\n

Deletes the MSK cluster specified by the Amazon Resource Name (ARN) in the request.

\n " }, "DescribeCluster" : { "name" : "DescribeCluster", @@ -90,25 +128,127 @@ }, "output" : { "shape" : "DescribeClusterResponse", - "documentation" : "

Successful response.

" + "documentation" : "\n

Successful response.

\n " + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "\n

The resource could not be found due to incorrect input. Correct the input, then retry the request.

\n " + }, { + "shape" : "BadRequestException", + "documentation" : "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, { + "shape" : "UnauthorizedException", + "documentation" : "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, { + "shape" : "ForbiddenException", + "documentation" : "\n

Access forbidden. Check your credentials and then retry your request.

\n " + } ], + "documentation" : "\n

Returns a description of the MSK cluster whose Amazon Resource Name (ARN) is specified in the request.

\n " + }, + "DescribeClusterOperation" : { + "name" : "DescribeClusterOperation", + "http" : { + "method" : "GET", + "requestUri" : "/v1/operations/{clusterOperationArn}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DescribeClusterOperationRequest" + }, + "output" : { + "shape" : "DescribeClusterOperationResponse", + "documentation" : "\n

200 response

\n " + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "\n

The resource could not be found due to incorrect input. Correct the input, then retry the request.

\n " + }, { + "shape" : "BadRequestException", + "documentation" : "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, { + "shape" : "UnauthorizedException", + "documentation" : "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, { + "shape" : "ForbiddenException", + "documentation" : "\n

Access forbidden. Check your credentials and then retry your request.

\n " + } ], + "documentation" : "\n

Returns a description of the cluster operation specified by the ARN.

\n " + }, + "DescribeConfiguration" : { + "name" : "DescribeConfiguration", + "http" : { + "method" : "GET", + "requestUri" : "/v1/configurations/{arn}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DescribeConfigurationRequest" + }, + "output" : { + "shape" : "DescribeConfigurationResponse", + "documentation" : "\n

200 response

\n " }, "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, { + "shape" : "UnauthorizedException", + "documentation" : "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, { + "shape" : "ForbiddenException", + "documentation" : "\n

Access forbidden. Check your credentials and then retry your request.

\n " + }, { "shape" : "NotFoundException", - "documentation" : "

The resource could not be found due to incorrect input. Correct your request and then retry it.

" + "documentation" : "\n

The resource could not be found due to incorrect input. Correct the input, then retry the request.

\n " }, { + "shape" : "ServiceUnavailableException", + "documentation" : "\n

503 response

\n " + } ], + "documentation" : "\n

Returns a description of this MSK configuration.

\n " + }, + "DescribeConfigurationRevision" : { + "name" : "DescribeConfigurationRevision", + "http" : { + "method" : "GET", + "requestUri" : "/v1/configurations/{arn}/revisions/{revision}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DescribeConfigurationRevisionRequest" + }, + "output" : { + "shape" : "DescribeConfigurationRevisionResponse", + "documentation" : "\n

200 response

\n " + }, + "errors" : [ { "shape" : "BadRequestException", - "documentation" : "

Bad request due to incorrect input. Correct your request and then retry it.

" + "documentation" : "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " }, { "shape" : "UnauthorizedException", - "documentation" : "

The request is not authorized. The provided credentials couldn't be validated.

" + "documentation" : "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " }, { "shape" : "InternalServerErrorException", - "documentation" : "

There was an unexpected internal server error. Retrying your request might resolve the issue.

" + "documentation" : "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " }, { "shape" : "ForbiddenException", - "documentation" : "

Access forbidden. Check your credentials and then retry your request.

" + "documentation" : "\n

Access forbidden. Check your credentials and then retry your request.

\n " + }, { + "shape" : "NotFoundException", + "documentation" : "\n

The resource could not be found due to incorrect input. Correct the input, then retry the request.

\n " + }, { + "shape" : "ServiceUnavailableException", + "documentation" : "\n

503 response

\n " } ], - "documentation" : "

Returns a description of the MSK cluster whose Amazon Resource Name (ARN) is specified in the request.

" + "documentation" : "\n

Returns a description of this revision of the configuration.

\n " }, "GetBootstrapBrokers" : { "name" : "GetBootstrapBrokers", @@ -122,25 +262,54 @@ }, "output" : { "shape" : "GetBootstrapBrokersResponse", - "documentation" : "

Successful response.

" + "documentation" : "\n

Successful response.

\n " }, "errors" : [ { "shape" : "BadRequestException", - "documentation" : "

Bad request due to incorrect input. Correct your request and then retry it.

" + "documentation" : "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " }, { "shape" : "UnauthorizedException", - "documentation" : "

The request is not authorized. The provided credentials couldn't be validated.

" + "documentation" : "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " }, { "shape" : "InternalServerErrorException", - "documentation" : "

There was an unexpected internal server error. Retrying your request might resolve the issue.

" + "documentation" : "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " }, { "shape" : "ConflictException", - "documentation" : "

This cluster name already exists. Retry your request using another name.

" + "documentation" : "\n

This cluster name already exists. Retry your request using another name.

\n " + }, { + "shape" : "ForbiddenException", + "documentation" : "\n

Access forbidden. Check your credentials and then retry your request.

\n " + } ], + "documentation" : "\n

A list of brokers that a client application can use to bootstrap.

\n " + }, + "ListClusterOperations" : { + "name" : "ListClusterOperations", + "http" : { + "method" : "GET", + "requestUri" : "/v1/clusters/{clusterArn}/operations", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListClusterOperationsRequest" + }, + "output" : { + "shape" : "ListClusterOperationsResponse", + "documentation" : "\n

Successful response.

\n " + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, { + "shape" : "UnauthorizedException", + "documentation" : "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " }, { "shape" : "ForbiddenException", - "documentation" : "

Access forbidden. Check your credentials and then retry your request.

" + "documentation" : "\n

Access forbidden. Check your credentials and then retry your request.

\n " } ], - "documentation" : "

A list of brokers that a client application can use to bootstrap.

" + "documentation" : "\n

Returns a list of all the operations that have been performed on the specified MSK cluster.

\n " }, "ListClusters" : { "name" : "ListClusters", @@ -154,22 +323,89 @@ }, "output" : { "shape" : "ListClustersResponse", - "documentation" : "

Successful response.

" + "documentation" : "\n

Successful response.

\n " }, "errors" : [ { "shape" : "BadRequestException", - "documentation" : "

Bad request due to incorrect input. Correct your request and then retry it.

" + "documentation" : "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, { + "shape" : "UnauthorizedException", + "documentation" : "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " + }, { + "shape" : "ForbiddenException", + "documentation" : "\n

Access forbidden. Check your credentials and then retry your request.

\n " + } ], + "documentation" : "\n

Returns a list of all the MSK clusters in the current Region.

\n " + }, + "ListConfigurationRevisions" : { + "name" : "ListConfigurationRevisions", + "http" : { + "method" : "GET", + "requestUri" : "/v1/configurations/{arn}/revisions", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListConfigurationRevisionsRequest" + }, + "output" : { + "shape" : "ListConfigurationRevisionsResponse", + "documentation" : "\n

200 response

\n " + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, { + "shape" : "UnauthorizedException", + "documentation" : "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " }, { "shape" : "InternalServerErrorException", - "documentation" : "

There was an unexpected internal server error. Retrying your request might resolve the issue.

" + "documentation" : "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, { + "shape" : "ForbiddenException", + "documentation" : "\n

Access forbidden. Check your credentials and then retry your request.

\n " + }, { + "shape" : "NotFoundException", + "documentation" : "\n

The resource could not be found due to incorrect input. Correct the input, then retry the request.

\n " + }, { + "shape" : "ServiceUnavailableException", + "documentation" : "\n

503 response

\n " + } ], + "documentation" : "\n

Returns a list of all the MSK configurations in this Region.

\n " + }, + "ListConfigurations" : { + "name" : "ListConfigurations", + "http" : { + "method" : "GET", + "requestUri" : "/v1/configurations", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListConfigurationsRequest" + }, + "output" : { + "shape" : "ListConfigurationsResponse", + "documentation" : "\n

200 response

\n " + }, + "errors" : [ { + "shape" : "ServiceUnavailableException", + "documentation" : "\n

503 response

\n " + }, { + "shape" : "BadRequestException", + "documentation" : "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " }, { "shape" : "UnauthorizedException", - "documentation" : "

The request is not authorized. The provided credentials couldn't be validated.

" + "documentation" : "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " }, { "shape" : "ForbiddenException", - "documentation" : "

Access forbidden. Check your credentials and then retry your request.

" + "documentation" : "\n

Access forbidden. Check your credentials and then retry your request.

\n " } ], - "documentation" : "

Returns a list of clusters in an account.

" + "documentation" : "\n

Returns a list of all the MSK configurations in this Region.

\n " }, "ListNodes" : { "name" : "ListNodes", @@ -183,22 +419,159 @@ }, "output" : { "shape" : "ListNodesResponse", - "documentation" : "

Successful response.

" + "documentation" : "\n

Successful response.

\n " }, "errors" : [ { "shape" : "NotFoundException", - "documentation" : "

The resource could not be found due to incorrect input. Correct your request and then retry it.

" + "documentation" : "\n

The resource could not be found due to incorrect input. Correct the input, then retry the request.

\n " }, { "shape" : "BadRequestException", - "documentation" : "

Bad request due to incorrect input. Correct your request and then retry it.

" + "documentation" : "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " }, { "shape" : "InternalServerErrorException", - "documentation" : "

There was an unexpected internal server error. Retrying your request might resolve the issue.

" + "documentation" : "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " }, { "shape" : "ForbiddenException", - "documentation" : "

Access forbidden. Check your credentials and then retry your request.

" + "documentation" : "\n

Access forbidden. Check your credentials and then retry your request.

\n " + } ], + "documentation" : "\n

Returns a list of the broker nodes in the cluster.

\n " + }, + "ListTagsForResource" : { + "name" : "ListTagsForResource", + "http" : { + "method" : "GET", + "requestUri" : "/v1/tags/{resourceArn}", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListTagsForResourceRequest" + }, + "output" : { + "shape" : "ListTagsForResourceResponse", + "documentation" : "\n

Success response.

\n " + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "\n

The resource could not be found due to incorrect input. Correct the input, then retry the request.

\n " + }, { + "shape" : "BadRequestException", + "documentation" : "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + } ], + "documentation" : "\n

Returns a list of the tags associated with the specified resource.

\n " + }, + "TagResource" : { + "name" : "TagResource", + "http" : { + "method" : "POST", + "requestUri" : "/v1/tags/{resourceArn}", + "responseCode" : 204 + }, + "input" : { + "shape" : "TagResourceRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "\n

The resource could not be found due to incorrect input. Correct the input, then retry the request.

\n " + }, { + "shape" : "BadRequestException", + "documentation" : "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " } ], - "documentation" : "

Returns a list of the broker nodes in the cluster.

" + "documentation" : "\n

Adds tags to the specified MSK resource.

\n " + }, + "UntagResource" : { + "name" : "UntagResource", + "http" : { + "method" : "DELETE", + "requestUri" : "/v1/tags/{resourceArn}", + "responseCode" : 204 + }, + "input" : { + "shape" : "UntagResourceRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "\n

The resource could not be found due to incorrect input. Correct the input, then retry the request.

\n " + }, { + "shape" : "BadRequestException", + "documentation" : "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + } ], + "documentation" : "\n

Removes the tags associated with the keys that are provided in the query.

\n " + }, + "UpdateBrokerStorage" : { + "name" : "UpdateBrokerStorage", + "http" : { + "method" : "PUT", + "requestUri" : "/v1/clusters/{clusterArn}/nodes/storage", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateBrokerStorageRequest" + }, + "output" : { + "shape" : "UpdateBrokerStorageResponse", + "documentation" : "\n

Successful response.

\n " + }, + "errors" : [ { + "shape" : "ServiceUnavailableException", + "documentation" : "\n

503 response

\n " + }, { + "shape" : "BadRequestException", + "documentation" : "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, { + "shape" : "UnauthorizedException", + "documentation" : "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, { + "shape" : "ForbiddenException", + "documentation" : "\n

Access forbidden. Check your credentials and then retry your request.

\n " + } ], + "documentation" : "\n

Updates the EBS storage associated with MSK brokers.

\n " + }, + "UpdateClusterConfiguration" : { + "name" : "UpdateClusterConfiguration", + "http" : { + "method" : "PUT", + "requestUri" : "/v1/clusters/{clusterArn}/configuration", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateClusterConfigurationRequest" + }, + "output" : { + "shape" : "UpdateClusterConfigurationResponse", + "documentation" : "\n

Successful response.

\n " + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, { + "shape" : "UnauthorizedException", + "documentation" : "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, { + "shape" : "ForbiddenException", + "documentation" : "\n

Access forbidden. Check your credentials and then retry your request.

\n " + }, { + "shape" : "NotFoundException", + "documentation" : "\n

The resource could not be found due to incorrect input. Correct the input, then retry the request.

\n " + }, { + "shape" : "ServiceUnavailableException", + "documentation" : "\n

503 response

\n " + } ], + "documentation" : "\n

Updates the cluster with the configuration that is specified in the request body.

\n " } }, "shapes" : { @@ -208,15 +581,15 @@ "InvalidParameter" : { "shape" : "__string", "locationName" : "invalidParameter", - "documentation" : "

The parameter that caused the error.

" + "documentation" : "\n

The parameter that caused the error.

\n " }, "Message" : { "shape" : "__string", "locationName" : "message", - "documentation" : "

The description of the error.

" + "documentation" : "\n

The description of the error.

\n " } }, - "documentation" : "

Returns information about an error.

", + "documentation" : "\n

Returns information about an error.

\n ", "exception" : true, "error" : { "httpStatusCode" : 400 @@ -224,39 +597,56 @@ }, "BrokerAZDistribution" : { "type" : "string", - "documentation" : "

The distribution of broker nodes across Availability Zones. By default, broker nodes are distributed among three Availability Zones. Currently, the only supported value is DEFAULT. You can either specify this value explicitly or leave it out.

", + "documentation" : "\n

The distribution of broker nodes across Availability Zones. By default, broker nodes are distributed among three Availability Zones. Currently, the only supported value is DEFAULT. You can either specify this value explicitly or leave it out.

\n ", "enum" : [ "DEFAULT" ] }, + "BrokerEBSVolumeInfo" : { + "type" : "structure", + "members" : { + "KafkaBrokerNodeId" : { + "shape" : "__string", + "locationName" : "kafkaBrokerNodeId", + "documentation" : "\n

The ID of the broker to update.

\n " + }, + "VolumeSizeGB" : { + "shape" : "__integer", + "locationName" : "volumeSizeGB", + "documentation" : "\n

Size of the EBS volume to update.

\n " + } + }, + "documentation" : "\n

Specifies the EBS volume upgrade information. The broker identifier must be set to the keyword ALL. This means the changes apply to all the brokers in the cluster.

\n ", + "required" : [ "VolumeSizeGB", "KafkaBrokerNodeId" ] + }, "BrokerNodeGroupInfo" : { "type" : "structure", "members" : { "BrokerAZDistribution" : { "shape" : "BrokerAZDistribution", "locationName" : "brokerAZDistribution", - "documentation" : "

The distribution of broker nodes across Availability Zones.

" + "documentation" : "\n

The distribution of broker nodes across Availability Zones.

\n " }, "ClientSubnets" : { "shape" : "__listOf__string", "locationName" : "clientSubnets", - "documentation" : "

The list of subnets to connect to in the client virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets. Client applications use elastic network interfaces to produce and consume data. Client subnets can't be in Availability Zone us-east-1e.

" + "documentation" : "\n

The list of subnets to connect to in the client virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets. Client applications use elastic network interfaces to produce and consume data. Client subnets can't be in Availability Zone us-east-1e.

\n " }, "InstanceType" : { "shape" : "__stringMin5Max32", "locationName" : "instanceType", - "documentation" : "

The type of Amazon EC2 instances to use for Kafka brokers. The following instance types are allowed: kafka.m5.large, kafka.m5.xlarge, kafka.m5.2xlarge,\nkafka.m5.4xlarge, kafka.m5.12xlarge, and kafka.m5.24xlarge.

" + "documentation" : "\n

The type of Amazon EC2 instances to use for Kafka brokers. The following instance types are allowed: kafka.m5.large, kafka.m5.xlarge, kafka.m5.2xlarge,\nkafka.m5.4xlarge, kafka.m5.12xlarge, and kafka.m5.24xlarge.

\n " }, "SecurityGroups" : { "shape" : "__listOf__string", "locationName" : "securityGroups", - "documentation" : "

The AWS security groups to associate with the elastic network interfaces in order to specify who can connect to and communicate with the Amazon MSK cluster.

" + "documentation" : "\n

The AWS security groups to associate with the elastic network interfaces in order to specify who can connect to and communicate with the Amazon MSK cluster. If you don't specify a security group, Amazon MSK uses the default security group associated with the VPC.

\n " }, "StorageInfo" : { "shape" : "StorageInfo", "locationName" : "storageInfo", - "documentation" : "

Contains information about storage volumes attached to MSK broker nodes.

" + "documentation" : "\n

Contains information about storage volumes attached to MSK broker nodes.

\n " } }, - "documentation" : "

Describes the setup to be used for Kafka broker nodes in the cluster.

", + "documentation" : "\n

Describes the setup to be used for Kafka broker nodes in the cluster.

\n ", "required" : [ "ClientSubnets", "InstanceType" ] }, "BrokerNodeInfo" : { @@ -265,30 +655,35 @@ "AttachedENIId" : { "shape" : "__string", "locationName" : "attachedENIId", - "documentation" : "

The attached elastic network interface of the broker.

" + "documentation" : "\n

The attached elastic network interface of the broker.

\n " }, "BrokerId" : { "shape" : "__double", "locationName" : "brokerId", - "documentation" : "

The ID of the broker.

" + "documentation" : "\n

The ID of the broker.

\n " }, "ClientSubnet" : { "shape" : "__string", "locationName" : "clientSubnet", - "documentation" : "

The client subnet to which this broker node belongs.

" + "documentation" : "\n

The client subnet to which this broker node belongs.

\n " }, "ClientVpcIpAddress" : { "shape" : "__string", "locationName" : "clientVpcIpAddress", - "documentation" : "

The virtual private cloud (VPC) of the client.

" + "documentation" : "\n

The virtual private cloud (VPC) of the client.

\n " }, "CurrentBrokerSoftwareInfo" : { "shape" : "BrokerSoftwareInfo", "locationName" : "currentBrokerSoftwareInfo", - "documentation" : "

Information about the version of software currently deployed on the Kafka brokers in the cluster.

" + "documentation" : "\n

Information about the version of software currently deployed on the Kafka brokers in the cluster.

\n " + }, + "Endpoints" : { + "shape" : "__listOf__string", + "locationName" : "endpoints", + "documentation" : "\n

Endpoints for accessing the broker.

\n " } }, - "documentation" : "

BrokerNodeInfo

" + "documentation" : "\n

BrokerNodeInfo

\n " }, "BrokerSoftwareInfo" : { "type" : "structure", @@ -296,86 +691,249 @@ "ConfigurationArn" : { "shape" : "__string", "locationName" : "configurationArn", - "documentation" : "

The Amazon Resource Name (ARN) of the configuration used for the cluster.

" + "documentation" : "\n

The Amazon Resource Name (ARN) of the configuration used for the cluster. This field isn't visible in this preview release.

\n " }, "ConfigurationRevision" : { - "shape" : "__string", + "shape" : "__long", "locationName" : "configurationRevision", - "documentation" : "

The revision of the configuration to use.

" + "documentation" : "\n

The revision of the configuration to use. This field isn't visible in this preview release.

\n " }, "KafkaVersion" : { "shape" : "__string", "locationName" : "kafkaVersion", - "documentation" : "

The version of Apache Kafka.

" + "documentation" : "\n

The version of Apache Kafka.

\n " + } + }, + "documentation" : "\n

Information about the current software installed on the cluster.

\n " + }, + "ClientAuthentication" : { + "type" : "structure", + "members" : { + "Tls" : { + "shape" : "Tls", + "locationName" : "tls", + "documentation" : "\n

Details for ClientAuthentication using TLS.

\n " } }, - "documentation" : "

Information about the current software installed on the cluster.

" + "documentation" : "\n

Includes all client authentication information.

\n " + }, + "ClientBroker" : { + "type" : "string", + "documentation" : "\n

Client-broker encryption in transit setting.

\n ", + "enum" : [ "TLS", "TLS_PLAINTEXT", "PLAINTEXT" ] }, "ClusterInfo" : { "type" : "structure", "members" : { + "ActiveOperationArn" : { + "shape" : "__string", + "locationName" : "activeOperationArn", + "documentation" : "\n

Arn of active cluster operation.

\n " + }, "BrokerNodeGroupInfo" : { "shape" : "BrokerNodeGroupInfo", "locationName" : "brokerNodeGroupInfo", - "documentation" : "

Information about the broker nodes.

" + "documentation" : "\n

Information about the broker nodes.

\n " + }, + "ClientAuthentication" : { + "shape" : "ClientAuthentication", + "locationName" : "clientAuthentication", + "documentation" : "\n

Includes all client authentication information.

\n " }, "ClusterArn" : { "shape" : "__string", "locationName" : "clusterArn", - "documentation" : "

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

" + "documentation" : "\n

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

\n " }, "ClusterName" : { "shape" : "__string", "locationName" : "clusterName", - "documentation" : "

The name of the cluster.

" + "documentation" : "\n

The name of the cluster.

\n " }, "CreationTime" : { "shape" : "__timestampIso8601", "locationName" : "creationTime", - "documentation" : "

The time when the cluster was created.

" + "documentation" : "\n

The time when the cluster was created.

\n " }, "CurrentBrokerSoftwareInfo" : { "shape" : "BrokerSoftwareInfo", "locationName" : "currentBrokerSoftwareInfo", - "documentation" : "

Information about the version of software currently deployed on the Kafka brokers in the cluster.

" + "documentation" : "\n

Information about the version of software currently deployed on the Kafka brokers in the cluster.

\n " }, "CurrentVersion" : { "shape" : "__string", "locationName" : "currentVersion", - "documentation" : "

The current version of the MSK cluster.

" + "documentation" : "\n

The current version of the MSK cluster.

\n " }, "EncryptionInfo" : { "shape" : "EncryptionInfo", "locationName" : "encryptionInfo", - "documentation" : "

Includes all encryption-related information.

" + "documentation" : "\n

Includes all encryption-related information.

\n " }, "EnhancedMonitoring" : { "shape" : "EnhancedMonitoring", "locationName" : "enhancedMonitoring", - "documentation" : "

Specifies which metrics are gathered for the MSK cluster. This property has three possible values: DEFAULT, PER_BROKER, and PER_TOPIC_PER_BROKER.

" + "documentation" : "\n

Specifies which metrics are gathered for the MSK cluster. This property has three possible values: DEFAULT, PER_BROKER, and PER_TOPIC_PER_BROKER. For a list of the metrics associated with each of these three levels of monitoring, see Monitoring.

\n " }, "NumberOfBrokerNodes" : { "shape" : "__integer", "locationName" : "numberOfBrokerNodes", - "documentation" : "

The number of Kafka broker nodes in the cluster.

" + "documentation" : "\n

The number of broker nodes in the cluster.

\n " }, "State" : { "shape" : "ClusterState", "locationName" : "state", - "documentation" : "

The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED.

" + "documentation" : "\n

The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED.

\n " + }, + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "\n

Tags attached to the cluster.

\n " }, "ZookeeperConnectString" : { "shape" : "__string", "locationName" : "zookeeperConnectString", - "documentation" : "

The connection string to use to connect to the Apache ZooKeeper cluster.

" + "documentation" : "\n

The connection string to use to connect to the Apache ZooKeeper cluster.

\n " + } + }, + "documentation" : "\n

Returns information about a cluster.

\n " + }, + "ClusterOperationInfo" : { + "type" : "structure", + "members" : { + "ClientRequestId" : { + "shape" : "__string", + "locationName" : "clientRequestId", + "documentation" : "\n

The ID of the API request that triggered this operation.

\n " + }, + "ClusterArn" : { + "shape" : "__string", + "locationName" : "clusterArn", + "documentation" : "\n

ARN of the cluster.

\n " + }, + "CreationTime" : { + "shape" : "__timestampIso8601", + "locationName" : "creationTime", + "documentation" : "\n

The time that the operation was created.

\n " + }, + "EndTime" : { + "shape" : "__timestampIso8601", + "locationName" : "endTime", + "documentation" : "\n

The time at which the operation finished.

\n " + }, + "ErrorInfo" : { + "shape" : "ErrorInfo", + "locationName" : "errorInfo", + "documentation" : "\n

Describes the error if the operation fails.

\n " + }, + "OperationArn" : { + "shape" : "__string", + "locationName" : "operationArn", + "documentation" : "\n

ARN of the cluster operation.

\n " + }, + "OperationState" : { + "shape" : "__string", + "locationName" : "operationState", + "documentation" : "\n

State of the cluster operation.

\n " + }, + "OperationType" : { + "shape" : "__string", + "locationName" : "operationType", + "documentation" : "\n

Type of the cluster operation.

\n " + }, + "SourceClusterInfo" : { + "shape" : "MutableClusterInfo", + "locationName" : "sourceClusterInfo", + "documentation" : "\n

Information about cluster attributes before a cluster is updated.

\n " + }, + "TargetClusterInfo" : { + "shape" : "MutableClusterInfo", + "locationName" : "targetClusterInfo", + "documentation" : "\n

Information about cluster attributes after a cluster is updated.

\n " } }, - "documentation" : "

Returns information about a cluster.

" + "documentation" : "\n

Returns information about a cluster operation.

\n " }, "ClusterState" : { "type" : "string", - "documentation" : "

The state of a Kafka cluster.

", - "enum" : [ "ACTIVE", "CREATING", "DELETING", "FAILED" ] + "documentation" : "\n

The state of a Kafka cluster.

\n ", + "enum" : [ "ACTIVE", "CREATING", "UPDATING", "DELETING", "FAILED" ] + }, + "Configuration" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "locationName" : "arn", + "documentation" : "\n

The Amazon Resource Name (ARN) of the configuration.

\n " + }, + "CreationTime" : { + "shape" : "__timestampIso8601", + "locationName" : "creationTime", + "documentation" : "\n

The time when the configuration was created.

\n " + }, + "Description" : { + "shape" : "__string", + "locationName" : "description", + "documentation" : "\n

The description of the configuration.

\n " + }, + "KafkaVersions" : { + "shape" : "__listOf__string", + "locationName" : "kafkaVersions", + "documentation" : "\n

An array of the versions of Apache Kafka with which you can use this MSK configuration. You can use this configuration for an MSK cluster only if the Apache Kafka version specified for the cluster appears in this array.

\n " + }, + "LatestRevision" : { + "shape" : "ConfigurationRevision", + "locationName" : "latestRevision", + "documentation" : "\n

Latest revision of the configuration.

\n " + }, + "Name" : { + "shape" : "__string", + "locationName" : "name", + "documentation" : "\n

The name of the configuration.

\n " + } + }, + "documentation" : "\n

Represents an MSK Configuration.

\n ", + "required" : [ "Description", "LatestRevision", "CreationTime", "KafkaVersions", "Arn", "Name" ] + }, + "ConfigurationInfo" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "locationName" : "arn", + "documentation" : "\n

ARN of the configuration to use.

\n " + }, + "Revision" : { + "shape" : "__long", + "locationName" : "revision", + "documentation" : "\n

The revision of the configuration to use.

\n " + } + }, + "documentation" : "\n

Specifies the configuration to use for the brokers.

\n ", + "required" : [ "Revision", "Arn" ] + }, + "ConfigurationRevision" : { + "type" : "structure", + "members" : { + "CreationTime" : { + "shape" : "__timestampIso8601", + "locationName" : "creationTime", + "documentation" : "\n

The time when the configuration revision was created.

\n " + }, + "Description" : { + "shape" : "__string", + "locationName" : "description", + "documentation" : "\n

The description of the configuration revision.

\n " + }, + "Revision" : { + "shape" : "__long", + "locationName" : "revision", + "documentation" : "\n

The revision number.

\n " + } + }, + "documentation" : "\n

Describes a configuration revision.

\n ", + "required" : [ "Revision", "CreationTime" ] }, "ConflictException" : { "type" : "structure", @@ -383,15 +941,15 @@ "InvalidParameter" : { "shape" : "__string", "locationName" : "invalidParameter", - "documentation" : "

The parameter that caused the error.

" + "documentation" : "\n

The parameter that caused the error.

\n " }, "Message" : { "shape" : "__string", "locationName" : "message", - "documentation" : "

The description of the error.

" + "documentation" : "\n

The description of the error.

\n " } }, - "documentation" : "

Returns information about an error.

", + "documentation" : "\n

Returns information about an error.

\n ", "exception" : true, "error" : { "httpStatusCode" : 409 @@ -403,32 +961,47 @@ "BrokerNodeGroupInfo" : { "shape" : "BrokerNodeGroupInfo", "locationName" : "brokerNodeGroupInfo", - "documentation" : "

Information about the broker nodes in the cluster.

" + "documentation" : "\n

Information about the broker nodes in the cluster.

\n " + }, + "ClientAuthentication" : { + "shape" : "ClientAuthentication", + "locationName" : "clientAuthentication", + "documentation" : "\n

Includes all client authentication related information.

\n " }, "ClusterName" : { "shape" : "__stringMin1Max64", "locationName" : "clusterName", - "documentation" : "

The name of the cluster.

" + "documentation" : "\n

The name of the cluster.

\n " + }, + "ConfigurationInfo" : { + "shape" : "ConfigurationInfo", + "locationName" : "configurationInfo", + "documentation" : "\n

Represents the configuration that you want MSK to use for the brokers in a cluster.

\n " }, "EncryptionInfo" : { "shape" : "EncryptionInfo", "locationName" : "encryptionInfo", - "documentation" : "

Includes all encryption-related information.

" + "documentation" : "\n

Includes all encryption-related information.

\n " }, "EnhancedMonitoring" : { "shape" : "EnhancedMonitoring", "locationName" : "enhancedMonitoring", - "documentation" : "

Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER, and PER_TOPIC_PER_BROKER.

" + "documentation" : "\n

Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER, and PER_TOPIC_PER_BROKER.

\n " }, "KafkaVersion" : { "shape" : "__stringMin1Max128", "locationName" : "kafkaVersion", - "documentation" : "

The version of Apache Kafka.

" + "documentation" : "\n

The version of Apache Kafka.

\n " }, "NumberOfBrokerNodes" : { "shape" : "__integerMin1Max15", "locationName" : "numberOfBrokerNodes", - "documentation" : "

The number of Kafka broker nodes in the Amazon MSK cluster.

" + "documentation" : "\n

The number of broker nodes in the cluster.

\n " + }, + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "\n

Create tags when creating the cluster.

\n " } }, "required" : [ "BrokerNodeGroupInfo", "KafkaVersion", "NumberOfBrokerNodes", "ClusterName" ] @@ -439,72 +1012,240 @@ "ClusterArn" : { "shape" : "__string", "locationName" : "clusterArn", - "documentation" : "

The Amazon Resource Name (ARN) of the cluster.

" + "documentation" : "\n

The Amazon Resource Name (ARN) of the cluster.

\n " }, "ClusterName" : { "shape" : "__string", "locationName" : "clusterName", - "documentation" : "

The name of the MSK cluster.

" + "documentation" : "\n

The name of the MSK cluster.

\n " }, "State" : { "shape" : "ClusterState", "locationName" : "state", - "documentation" : "

The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED.

" + "documentation" : "\n

The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED.

\n " + } + } + }, + "CreateConfigurationRequest" : { + "type" : "structure", + "members" : { + "Description" : { + "shape" : "__string", + "locationName" : "description", + "documentation" : "\n

The description of the configuration.

\n " + }, + "KafkaVersions" : { + "shape" : "__listOf__string", + "locationName" : "kafkaVersions", + "documentation" : "\n

The versions of Apache Kafka with which you can use this MSK configuration.

\n " + }, + "Name" : { + "shape" : "__string", + "locationName" : "name", + "documentation" : "\n

The name of the configuration.

\n " + }, + "ServerProperties" : { + "shape" : "__blob", + "locationName" : "serverProperties", + "documentation" : "\n

Contents of the server.properties file. When using the API, you must ensure that the contents of the file are base64 encoded. \n When using the AWS Management Console, the SDK, or the AWS CLI, the contents of server.properties can be in plaintext.

\n " + } + }, + "required" : [ "ServerProperties", "KafkaVersions", "Name" ] + }, + "CreateConfigurationResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "locationName" : "arn", + "documentation" : "\n

The Amazon Resource Name (ARN) of the configuration.

\n " + }, + "CreationTime" : { + "shape" : "__timestampIso8601", + "locationName" : "creationTime", + "documentation" : "\n

The time when the configuration was created.

\n " + }, + "LatestRevision" : { + "shape" : "ConfigurationRevision", + "locationName" : "latestRevision", + "documentation" : "\n

Latest revision of the configuration.

\n " + }, + "Name" : { + "shape" : "__string", + "locationName" : "name", + "documentation" : "\n

The name of the configuration.

\n " } } }, "DeleteClusterRequest" : { "type" : "structure", "members" : { - "ClusterArn" : { + "ClusterArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "clusterArn", + "documentation" : "\n

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

\n " + }, + "CurrentVersion" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "currentVersion", + "documentation" : "\n

The current version of the MSK cluster.

\n " + } + }, + "required" : [ "ClusterArn" ] + }, + "DeleteClusterResponse" : { + "type" : "structure", + "members" : { + "ClusterArn" : { + "shape" : "__string", + "locationName" : "clusterArn", + "documentation" : "\n

The Amazon Resource Name (ARN) of the cluster.

\n " + }, + "State" : { + "shape" : "ClusterState", + "locationName" : "state", + "documentation" : "\n

The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED.

\n " + } + } + }, + "DescribeClusterOperationRequest" : { + "type" : "structure", + "members" : { + "ClusterOperationArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "clusterOperationArn", + "documentation" : "\n

The Amazon Resource Name (ARN) that uniquely identifies the MSK cluster operation.

\n " + } + }, + "required" : [ "ClusterOperationArn" ] + }, + "DescribeClusterOperationResponse" : { + "type" : "structure", + "members" : { + "ClusterOperationInfo" : { + "shape" : "ClusterOperationInfo", + "locationName" : "clusterOperationInfo", + "documentation" : "\n

Cluster operation information

\n " + } + } + }, + "DescribeClusterRequest" : { + "type" : "structure", + "members" : { + "ClusterArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "clusterArn", + "documentation" : "\n

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

\n " + } + }, + "required" : [ "ClusterArn" ] + }, + "DescribeClusterResponse" : { + "type" : "structure", + "members" : { + "ClusterInfo" : { + "shape" : "ClusterInfo", + "locationName" : "clusterInfo", + "documentation" : "\n

The cluster information.

\n " + } + } + }, + "DescribeConfigurationRequest" : { + "type" : "structure", + "members" : { + "Arn" : { "shape" : "__string", "location" : "uri", - "locationName" : "clusterArn", - "documentation" : "

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

" - }, - "CurrentVersion" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "currentVersion", - "documentation" : "

The current version of the MSK cluster.

" + "locationName" : "arn", + "documentation" : "\n

The Amazon Resource Name (ARN) that uniquely identifies an MSK configuration and all of its revisions.

\n " } }, - "required" : [ "ClusterArn" ] + "required" : [ "Arn" ] }, - "DeleteClusterResponse" : { + "DescribeConfigurationResponse" : { "type" : "structure", "members" : { - "ClusterArn" : { + "Arn" : { "shape" : "__string", - "locationName" : "clusterArn", - "documentation" : "

The Amazon Resource Name (ARN) of the cluster.

" + "locationName" : "arn", + "documentation" : "\n

The Amazon Resource Name (ARN) of the configuration.

\n " }, - "State" : { - "shape" : "ClusterState", - "locationName" : "state", - "documentation" : "

The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED.

" + "CreationTime" : { + "shape" : "__timestampIso8601", + "locationName" : "creationTime", + "documentation" : "\n

The time when the configuration was created.

\n " + }, + "Description" : { + "shape" : "__string", + "locationName" : "description", + "documentation" : "\n

The description of the configuration.

\n " + }, + "KafkaVersions" : { + "shape" : "__listOf__string", + "locationName" : "kafkaVersions", + "documentation" : "\n

The versions of Apache Kafka with which you can use this MSK configuration.

\n " + }, + "LatestRevision" : { + "shape" : "ConfigurationRevision", + "locationName" : "latestRevision", + "documentation" : "\n

Latest revision of the configuration.

\n " + }, + "Name" : { + "shape" : "__string", + "locationName" : "name", + "documentation" : "\n

The name of the configuration.

\n " } } }, - "DescribeClusterRequest" : { + "DescribeConfigurationRevisionRequest" : { "type" : "structure", "members" : { - "ClusterArn" : { + "Arn" : { "shape" : "__string", "location" : "uri", - "locationName" : "clusterArn", - "documentation" : "

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

" + "locationName" : "arn", + "documentation" : "\n

The Amazon Resource Name (ARN) that uniquely identifies an MSK configuration and all of its revisions.

\n " + }, + "Revision" : { + "shape" : "__long", + "location" : "uri", + "locationName" : "revision", + "documentation" : "\n

A string that uniquely identifies a revision of an MSK configuration.

\n " } }, - "required" : [ "ClusterArn" ] + "required" : [ "Revision", "Arn" ] }, - "DescribeClusterResponse" : { + "DescribeConfigurationRevisionResponse" : { "type" : "structure", "members" : { - "ClusterInfo" : { - "shape" : "ClusterInfo", - "locationName" : "clusterInfo", - "documentation" : "

The cluster information.

" + "Arn" : { + "shape" : "__string", + "locationName" : "arn", + "documentation" : "\n

The Amazon Resource Name (ARN) of the configuration.

\n " + }, + "CreationTime" : { + "shape" : "__timestampIso8601", + "locationName" : "creationTime", + "documentation" : "\n

The time when the configuration was created.

\n " + }, + "Description" : { + "shape" : "__string", + "locationName" : "description", + "documentation" : "\n

The description of the configuration.

\n " + }, + "Revision" : { + "shape" : "__long", + "locationName" : "revision", + "documentation" : "\n

The revision number.

\n " + }, + "ServerProperties" : { + "shape" : "__blob", + "locationName" : "serverProperties", + "documentation" : "\n

Contents of the server.properties file. When using the API, you must ensure that the contents of the file are base64 encoded. \n When using the AWS Management Console, the SDK, or the AWS CLI, the contents of server.properties can be in plaintext.

\n " } } }, @@ -514,10 +1255,10 @@ "VolumeSize" : { "shape" : "__integerMin1Max16384", "locationName" : "volumeSize", - "documentation" : "

The size in GiB of the EBS volume for the data drive on each broker node.

" + "documentation" : "\n

The size in GiB of the EBS volume for the data drive on each broker node.

\n " } }, - "documentation" : "

Contains information about the EBS storage volumes attached to Kafka broker nodes.

" + "documentation" : "\n

Contains information about the EBS storage volumes attached to Kafka broker nodes.

\n " }, "EncryptionAtRest" : { "type" : "structure", @@ -525,26 +1266,47 @@ "DataVolumeKMSKeyId" : { "shape" : "__string", "locationName" : "dataVolumeKMSKeyId", - "documentation" : "

The AWS KMS key used for data encryption.

" + "documentation" : "\n

The ARN of the AWS KMS key for encrypting data at rest. If you don't specify a KMS key, MSK creates one for you and uses it.

\n " } }, - "documentation" : "

The data volume encryption details.

", + "documentation" : "\n

The data-volume encryption details.

\n ", "required" : [ "DataVolumeKMSKeyId" ] }, + "EncryptionInTransit" : { + "type" : "structure", + "members" : { + "ClientBroker" : { + "shape" : "ClientBroker", + "locationName" : "clientBroker", + "documentation" : "\n

Indicates the encryption setting for data in transit between clients and brokers. The following are the possible values.

\n

\n TLS means that client-broker communication is enabled with TLS only.

\n

\n TLS_PLAINTEXT means that client-broker communication is enabled for both TLS-encrypted, as well as plaintext data.

\n

\n PLAINTEXT means that client-broker communication is enabled in plaintext only.

\n

The default value is TLS_PLAINTEXT.

\n " + }, + "InCluster" : { + "shape" : "__boolean", + "locationName" : "inCluster", + "documentation" : "\n

When set to true, it indicates that data communication among the broker nodes of the cluster is encrypted. When set to false, the communication happens in plaintext.

\n

The default value is true.

\n " + } + }, + "documentation" : "\n

The settings for encrypting data in transit.

\n " + }, "EncryptionInfo" : { "type" : "structure", "members" : { "EncryptionAtRest" : { "shape" : "EncryptionAtRest", "locationName" : "encryptionAtRest", - "documentation" : "

The data volume encryption details.

" + "documentation" : "\n

The data-volume encryption details.

\n " + }, + "EncryptionInTransit" : { + "shape" : "EncryptionInTransit", + "locationName" : "encryptionInTransit", + "documentation" : "\n

The details for encryption in transit.

\n " } }, - "documentation" : "

Includes encryption-related information, such as the AWS KMS key used for encrypting data at rest.

" + "documentation" : "\n

Includes encryption-related information, such as the AWS KMS key used for encrypting data at rest and whether you want MSK to encrypt your data in transit.

\n " }, "EnhancedMonitoring" : { "type" : "string", - "documentation" : "

Specifies which metrics are gathered for the MSK cluster. This property has three possible values: DEFAULT, PER_BROKER, and PER_TOPIC_PER_BROKER.

", + "documentation" : "\n

Specifies which metrics are gathered for the MSK cluster. This property has three possible values: DEFAULT, PER_BROKER, and PER_TOPIC_PER_BROKER. For a list of the metrics associated with each of these three levels of monitoring, see Monitoring.

\n ", "enum" : [ "DEFAULT", "PER_BROKER", "PER_TOPIC_PER_BROKER" ] }, "Error" : { @@ -553,15 +1315,31 @@ "InvalidParameter" : { "shape" : "__string", "locationName" : "invalidParameter", - "documentation" : "

The parameter that caused the error.

" + "documentation" : "\n

The parameter that caused the error.

\n " }, "Message" : { "shape" : "__string", "locationName" : "message", - "documentation" : "

The description of the error.

" + "documentation" : "\n

The description of the error.

\n " + } + }, + "documentation" : "\n

Returns information about an error.

\n " + }, + "ErrorInfo" : { + "type" : "structure", + "members" : { + "ErrorCode" : { + "shape" : "__string", + "locationName" : "errorCode", + "documentation" : "\n

A number describing the error programmatically.

\n " + }, + "ErrorString" : { + "shape" : "__string", + "locationName" : "errorString", + "documentation" : "\n

An optional field to provide more details about the error.

\n " } }, - "documentation" : "

Returns information about an error.

" + "documentation" : "\n

Returns information about an error state of the cluster.

\n " }, "ForbiddenException" : { "type" : "structure", @@ -569,15 +1347,15 @@ "InvalidParameter" : { "shape" : "__string", "locationName" : "invalidParameter", - "documentation" : "

The parameter that caused the error.

" + "documentation" : "\n

The parameter that caused the error.

\n " }, "Message" : { "shape" : "__string", "locationName" : "message", - "documentation" : "

The description of the error.

" + "documentation" : "\n

The description of the error.

\n " } }, - "documentation" : "

Returns information about an error.

", + "documentation" : "\n

Returns information about an error.

\n ", "exception" : true, "error" : { "httpStatusCode" : 403 @@ -590,7 +1368,7 @@ "shape" : "__string", "location" : "uri", "locationName" : "clusterArn", - "documentation" : "

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

" + "documentation" : "\n

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

\n " } }, "required" : [ "ClusterArn" ] @@ -601,7 +1379,12 @@ "BootstrapBrokerString" : { "shape" : "__string", "locationName" : "bootstrapBrokerString", - "documentation" : "

A string containing one or more hostname:port pairs.

" + "documentation" : "\n

A string containing one or more hostname:port pairs.

\n " + }, + "BootstrapBrokerStringTls" : { + "shape" : "__string", + "locationName" : "bootstrapBrokerStringTls", + "documentation" : "\n

A string containing one or more DNS names (or IP) and TLS port pairs.

\n " } } }, @@ -611,20 +1394,59 @@ "InvalidParameter" : { "shape" : "__string", "locationName" : "invalidParameter", - "documentation" : "

The parameter that caused the error.

" + "documentation" : "\n

The parameter that caused the error.

\n " }, "Message" : { "shape" : "__string", "locationName" : "message", - "documentation" : "

The description of the error.

" + "documentation" : "\n

The description of the error.

\n " } }, - "documentation" : "

Returns information about an error.

", + "documentation" : "\n

Returns information about an error.

\n ", "exception" : true, "error" : { "httpStatusCode" : 500 } }, + "ListClusterOperationsRequest" : { + "type" : "structure", + "members" : { + "ClusterArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "clusterArn", + "documentation" : "\n

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

\n " + }, + "MaxResults" : { + "shape" : "MaxResults", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "\n

The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

\n " + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "\n

The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. \n To get the next batch, provide this token in your next request.

\n " + } + }, + "required" : [ "ClusterArn" ] + }, + "ListClusterOperationsResponse" : { + "type" : "structure", + "members" : { + "ClusterOperationInfoList" : { + "shape" : "__listOfClusterOperationInfo", + "locationName" : "clusterOperationInfoList", + "documentation" : "\n

An array of cluster operation information objects.

\n " + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "\n

If the response of ListClusterOperations is truncated, it returns a NextToken in the response. This Nexttoken should be sent in the subsequent request to ListClusterOperations.

\n " + } + } + }, "ListClustersRequest" : { "type" : "structure", "members" : { @@ -632,19 +1454,19 @@ "shape" : "__string", "location" : "querystring", "locationName" : "clusterNameFilter", - "documentation" : "

Specify a prefix of the name of the clusters that you want to list. The service lists all the clusters whose names start with this prefix.

" + "documentation" : "\n

Specify a prefix of the name of the clusters that you want to list. The service lists all the clusters whose names start with this prefix.

\n " }, "MaxResults" : { "shape" : "MaxResults", "location" : "querystring", "locationName" : "maxResults", - "documentation" : "

The maximum number of clusters to return in the response. If there are more clusters, the response includes a NextToken parameter.

" + "documentation" : "\n

The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

\n " }, "NextToken" : { "shape" : "__string", "location" : "querystring", "locationName" : "nextToken", - "documentation" : "

The paginated results marker. When the result of a ListClusters operation is truncated, the call returns NextToken in the response. \n To get another batch of clusters, provide this token in your next request.

" + "documentation" : "\n

The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. \n To get the next batch, provide this token in your next request.

\n " } } }, @@ -654,12 +1476,83 @@ "ClusterInfoList" : { "shape" : "__listOfClusterInfo", "locationName" : "clusterInfoList", - "documentation" : "

Information on each of the MSK clusters in the response.

" + "documentation" : "\n

Information on each of the MSK clusters in the response.

\n " + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "\n

The paginated results marker. When the result of a ListClusters operation is truncated, the call returns NextToken in the response. \n To get another batch of clusters, provide this token in your next request.

\n " + } + } + }, + "ListConfigurationRevisionsRequest" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "arn", + "documentation" : "\n

The Amazon Resource Name (ARN) that uniquely identifies an MSK configuration and all of its revisions.

\n " + }, + "MaxResults" : { + "shape" : "MaxResults", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "\n

The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

\n " + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "\n

The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. \n To get the next batch, provide this token in your next request.

\n " + } + }, + "required" : [ "Arn" ] + }, + "ListConfigurationRevisionsResponse" : { + "type" : "structure", + "members" : { + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "\n

Paginated results marker.

\n " + }, + "Revisions" : { + "shape" : "__listOfConfigurationRevision", + "locationName" : "revisions", + "documentation" : "\n

List of ConfigurationRevision objects.

\n " + } + } + }, + "ListConfigurationsRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "MaxResults", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "\n

The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

\n " + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "\n

The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. \n To get the next batch, provide this token in your next request.

\n " + } + } + }, + "ListConfigurationsResponse" : { + "type" : "structure", + "members" : { + "Configurations" : { + "shape" : "__listOfConfiguration", + "locationName" : "configurations", + "documentation" : "\n

An array of MSK configurations.

\n " }, "NextToken" : { "shape" : "__string", "locationName" : "nextToken", - "documentation" : "

The paginated results marker. When the result of a ListClusters operation is truncated, the call returns NextToken in the response. \n To get another batch of clusters, provide this token in your next request.

" + "documentation" : "\n

The paginated results marker. When the result of a ListConfigurations operation is truncated, the call returns NextToken in the response. \n To get another batch of configurations, provide this token in your next request.

\n " } } }, @@ -670,19 +1563,19 @@ "shape" : "__string", "location" : "uri", "locationName" : "clusterArn", - "documentation" : "

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

" + "documentation" : "\n

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

\n " }, "MaxResults" : { "shape" : "MaxResults", "location" : "querystring", "locationName" : "maxResults", - "documentation" : "

The maximum number of clusters to return in the response. If there are more clusters, the response includes a NextToken parameter.

" + "documentation" : "\n

The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

\n " }, "NextToken" : { "shape" : "__string", "location" : "querystring", "locationName" : "nextToken", - "documentation" : "

The paginated results marker. When the result of a ListClusters operation is truncated, the call returns NextToken in the response. \n To get another batch of clusters, provide this token in your next request.

" + "documentation" : "\n

The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. \n To get the next batch, provide this token in your next request.

\n " } }, "required" : [ "ClusterArn" ] @@ -693,12 +1586,34 @@ "NextToken" : { "shape" : "__string", "locationName" : "nextToken", - "documentation" : "

The paginated results marker. When the result of a ListNodes operation is truncated, the call returns NextToken in the response. \n To get another batch of nodes, provide this token in your next request.

" + "documentation" : "\n

The paginated results marker. When the result of a ListNodes operation is truncated, the call returns NextToken in the response. \n To get another batch of nodes, provide this token in your next request.

\n " }, "NodeInfoList" : { "shape" : "__listOfNodeInfo", "locationName" : "nodeInfoList", - "documentation" : "

List containing a NodeInfo object.

" + "documentation" : "\n

List containing a NodeInfo object.

\n " + } + } + }, + "ListTagsForResourceRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resourceArn", + "documentation" : "\n

The Amazon Resource Name (ARN) that uniquely identifies the resource that's associated with the tags.

\n " + } + }, + "required" : [ "ResourceArn" ] + }, + "ListTagsForResourceResponse" : { + "type" : "structure", + "members" : { + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "\n

The key-value pair for the resource tag.

\n " } } }, @@ -707,45 +1622,66 @@ "min" : 1, "max" : 100 }, + "MutableClusterInfo" : { + "type" : "structure", + "members" : { + "BrokerEBSVolumeInfo" : { + "shape" : "__listOfBrokerEBSVolumeInfo", + "locationName" : "brokerEBSVolumeInfo", + "documentation" : "\n

Specifies the size of the EBS volume and the ID of the associated broker.

\n " + }, + "ConfigurationInfo" : { + "shape" : "ConfigurationInfo", + "locationName" : "configurationInfo", + "documentation" : "\n

Information about the changes in the configuration of the brokers.

\n " + }, + "NumberOfBrokerNodes" : { + "shape" : "__integer", + "locationName" : "numberOfBrokerNodes", + "documentation" : "\n

The number of broker nodes in the cluster.

\n " + } + }, + "documentation" : "\n

Information about cluster attributes that can be updated via update APIs.

\n " + }, "NodeInfo" : { "type" : "structure", "members" : { "AddedToClusterTime" : { "shape" : "__string", "locationName" : "addedToClusterTime", - "documentation" : "

The start time.

" + "documentation" : "\n

The start time.

\n " }, "BrokerNodeInfo" : { "shape" : "BrokerNodeInfo", "locationName" : "brokerNodeInfo", - "documentation" : "

The broker node info.

" + "documentation" : "\n

The broker node info.

\n " }, "InstanceType" : { "shape" : "__string", "locationName" : "instanceType", - "documentation" : "

The instance type.

" + "documentation" : "\n

The instance type.

\n " }, "NodeARN" : { "shape" : "__string", "locationName" : "nodeARN", - "documentation" : "

The Amazon Resource Name (ARN) of the node.

" + "documentation" : "\n

The Amazon Resource Name (ARN) of the node.

\n " }, "NodeType" : { "shape" : "NodeType", "locationName" : "nodeType", - "documentation" : "

The node type.

" + "documentation" : "\n

The node type.

\n " }, "ZookeeperNodeInfo" : { "shape" : "ZookeeperNodeInfo", "locationName" : "zookeeperNodeInfo", - "documentation" : "

The ZookeeperNodeInfo.

" + "documentation" : "\n

The ZookeeperNodeInfo.

\n " } }, - "documentation" : "

The node information object.

" + "documentation" : "\n

The node information object.

\n " }, "NodeType" : { "type" : "string", - "documentation" : "

The broker or Zookeeper node.

", + "documentation" : "\n

The broker or Zookeeper node.

\n ", "enum" : [ "BROKER" ] }, "NotFoundException" : { @@ -754,15 +1690,15 @@ "InvalidParameter" : { "shape" : "__string", "locationName" : "invalidParameter", - "documentation" : "

The parameter that caused the error.

" + "documentation" : "\n

The parameter that caused the error.

\n " }, "Message" : { "shape" : "__string", "locationName" : "message", - "documentation" : "

The description of the error.

" + "documentation" : "\n

The description of the error.

\n " } }, - "documentation" : "

Returns information about an error.

", + "documentation" : "\n

Returns information about an error.

\n ", "exception" : true, "error" : { "httpStatusCode" : 404 @@ -774,15 +1710,15 @@ "InvalidParameter" : { "shape" : "__string", "locationName" : "invalidParameter", - "documentation" : "

The parameter that caused the error.

" + "documentation" : "\n

The parameter that caused the error.

\n " }, "Message" : { "shape" : "__string", "locationName" : "message", - "documentation" : "

The description of the error.

" + "documentation" : "\n

The description of the error.

\n " } }, - "documentation" : "

Returns information about an error.

", + "documentation" : "\n

Returns information about an error.

\n ", "exception" : true, "error" : { "httpStatusCode" : 503 @@ -794,10 +1730,38 @@ "EbsStorageInfo" : { "shape" : "EBSStorageInfo", "locationName" : "ebsStorageInfo", - "documentation" : "

EBS volume information.

" + "documentation" : "\n

EBS volume information.

\n " } }, - "documentation" : "

Contains information about storage volumes attached to MSK broker nodes.

" + "documentation" : "\n

Contains information about storage volumes attached to MSK broker nodes.

\n " + }, + "TagResourceRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resourceArn", + "documentation" : "\n

The Amazon Resource Name (ARN) that uniquely identifies the resource that's associated with the tags.

\n " + }, + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "\n

The key-value pair for the resource tag.

\n " + } + }, + "required" : [ "ResourceArn", "Tags" ] + }, + "Tls" : { + "type" : "structure", + "members" : { + "CertificateAuthorityArnList" : { + "shape" : "__listOf__string", + "locationName" : "certificateAuthorityArnList", + "documentation" : "\n

List of ACM Certificate Authority ARNs.

\n " + } + }, + "documentation" : "\n

Details for client authentication using TLS.

\n " }, "TooManyRequestsException" : { "type" : "structure", @@ -805,15 +1769,15 @@ "InvalidParameter" : { "shape" : "__string", "locationName" : "invalidParameter", - "documentation" : "

The parameter that caused the error.

" + "documentation" : "\n

The parameter that caused the error.

\n " }, "Message" : { "shape" : "__string", "locationName" : "message", - "documentation" : "

The description of the error.

" + "documentation" : "\n

The description of the error.

\n " } }, - "documentation" : "

Returns information about an error.

", + "documentation" : "\n

Returns information about an error.

\n ", "exception" : true, "error" : { "httpStatusCode" : 429 @@ -825,49 +1789,149 @@ "InvalidParameter" : { "shape" : "__string", "locationName" : "invalidParameter", - "documentation" : "

The parameter that caused the error.

" + "documentation" : "\n

The parameter that caused the error.

\n " }, "Message" : { "shape" : "__string", "locationName" : "message", - "documentation" : "

The description of the error.

" + "documentation" : "\n

The description of the error.

\n " } }, - "documentation" : "

Returns information about an error.

", + "documentation" : "\n

Returns information about an error.

\n ", "exception" : true, "error" : { "httpStatusCode" : 401 } }, + "UntagResourceRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resourceArn", + "documentation" : "\n

The Amazon Resource Name (ARN) that uniquely identifies the resource that's associated with the tags.

\n " + }, + "TagKeys" : { + "shape" : "__listOf__string", + "location" : "querystring", + "locationName" : "tagKeys", + "documentation" : "\n

Tag keys must be unique for a given cluster. In addition, the following restrictions apply:

\n
    \n
  • \n

    Each tag key must be unique. If you add a tag with a key that's already in\n use, your new tag overwrites the existing key-value pair.

    \n
  • \n
  • \n

    You can't start a tag key with aws: because this prefix is reserved for use\n by AWS. AWS creates tags that begin with this prefix on your behalf, but\n you can't edit or delete them.

    \n
  • \n
  • \n

    Tag keys must be between 1 and 128 Unicode characters in length.

    \n
  • \n
  • \n

    Tag keys must consist of the following characters: Unicode letters, digits,\n white space, and the following special characters: _ . / = + -\n @.

    \n
  • \n
\n " + } + }, + "required" : [ "TagKeys", "ResourceArn" ] + }, + "UpdateBrokerStorageRequest" : { + "type" : "structure", + "members" : { + "ClusterArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "clusterArn", + "documentation" : "\n

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

\n " + }, + "CurrentVersion" : { + "shape" : "__string", + "locationName" : "currentVersion", + "documentation" : "\n

The version of cluster to update from. A successful operation will then generate a new version.

\n " + }, + "TargetBrokerEBSVolumeInfo" : { + "shape" : "__listOfBrokerEBSVolumeInfo", + "locationName" : "targetBrokerEBSVolumeInfo", + "documentation" : "\n

Describes the target volume size and the ID of the broker to apply the update to.

\n " + } + }, + "required" : [ "ClusterArn", "TargetBrokerEBSVolumeInfo", "CurrentVersion" ] + }, + "UpdateBrokerStorageResponse" : { + "type" : "structure", + "members" : { + "ClusterArn" : { + "shape" : "__string", + "locationName" : "clusterArn", + "documentation" : "\n

The Amazon Resource Name (ARN) of the cluster.

\n " + }, + "ClusterOperationArn" : { + "shape" : "__string", + "locationName" : "clusterOperationArn", + "documentation" : "\n

The Amazon Resource Name (ARN) of the cluster operation.

\n " + } + } + }, + "UpdateClusterConfigurationRequest" : { + "type" : "structure", + "members" : { + "ClusterArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "clusterArn", + "documentation" : "\n

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

\n " + }, + "ConfigurationInfo" : { + "shape" : "ConfigurationInfo", + "locationName" : "configurationInfo", + "documentation" : "\n

Represents the configuration that you want MSK to use for the brokers in a cluster.

\n " + }, + "CurrentVersion" : { + "shape" : "__string", + "locationName" : "currentVersion", + "documentation" : "\n

The version of the cluster that needs to be updated.

\n " + } + }, + "required" : [ "ClusterArn", "CurrentVersion", "ConfigurationInfo" ] + }, + "UpdateClusterConfigurationResponse" : { + "type" : "structure", + "members" : { + "ClusterArn" : { + "shape" : "__string", + "locationName" : "clusterArn", + "documentation" : "\n

The Amazon Resource Name (ARN) of the cluster.

\n " + }, + "ClusterOperationArn" : { + "shape" : "__string", + "locationName" : "clusterOperationArn", + "documentation" : "\n

The Amazon Resource Name (ARN) of the cluster operation.

\n " + } + } + }, "ZookeeperNodeInfo" : { "type" : "structure", "members" : { "AttachedENIId" : { "shape" : "__string", "locationName" : "attachedENIId", - "documentation" : "

The attached elastic network interface of the broker.

" + "documentation" : "\n

The attached elastic network interface of the broker.

\n " }, "ClientVpcIpAddress" : { "shape" : "__string", "locationName" : "clientVpcIpAddress", - "documentation" : "

The virtual private cloud (VPC) IP address of the client.

" + "documentation" : "\n

The virtual private cloud (VPC) IP address of the client.

\n " + }, + "Endpoints" : { + "shape" : "__listOf__string", + "locationName" : "endpoints", + "documentation" : "\n

Endpoints for accessing the ZooKeeper.

\n " }, "ZookeeperId" : { "shape" : "__double", "locationName" : "zookeeperId", - "documentation" : "

The role-specific ID for Zookeeper.

" + "documentation" : "\n

The role-specific ID for Zookeeper.

\n " }, "ZookeeperVersion" : { "shape" : "__string", "locationName" : "zookeeperVersion", - "documentation" : "

The version of Zookeeper.

" + "documentation" : "\n

The version of Zookeeper.

\n " } }, - "documentation" : "

Zookeeper node information.

" + "documentation" : "\n

Zookeeper node information.

\n " }, "__boolean" : { "type" : "boolean" }, + "__blob" : { + "type" : "blob" + }, "__double" : { "type" : "double" }, @@ -884,12 +1948,36 @@ "min" : 1, "max" : 16384 }, + "__listOfBrokerEBSVolumeInfo" : { + "type" : "list", + "member" : { + "shape" : "BrokerEBSVolumeInfo" + } + }, "__listOfClusterInfo" : { "type" : "list", "member" : { "shape" : "ClusterInfo" } }, + "__listOfClusterOperationInfo" : { + "type" : "list", + "member" : { + "shape" : "ClusterOperationInfo" + } + }, + "__listOfConfiguration" : { + "type" : "list", + "member" : { + "shape" : "Configuration" + } + }, + "__listOfConfigurationRevision" : { + "type" : "list", + "member" : { + "shape" : "ConfigurationRevision" + } + }, "__listOfNodeInfo" : { "type" : "list", "member" : { @@ -905,6 +1993,15 @@ "__long" : { "type" : "long" }, + "__mapOf__string" : { + "type" : "map", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "__string" + } + }, "__string" : { "type" : "string" }, @@ -932,5 +2029,5 @@ "timestampFormat" : "unixTimestamp" } }, - "documentation" : "

The operations for managing an Amazon MSK cluster.

" + "documentation" : "\n

The operations for managing an Amazon MSK cluster.

\n " } \ No newline at end of file diff --git a/bin/botocore/data/kinesis-video-archived-media/2017-09-30/paginators-1.json b/bin/botocore/data/kinesis-video-archived-media/2017-09-30/paginators-1.json index ea142457..f5e4d732 100644 --- a/bin/botocore/data/kinesis-video-archived-media/2017-09-30/paginators-1.json +++ b/bin/botocore/data/kinesis-video-archived-media/2017-09-30/paginators-1.json @@ -1,3 +1,10 @@ { - "pagination": {} + "pagination": { + "ListFragments": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Fragments" + } + } } diff --git a/bin/botocore/data/kinesis-video-archived-media/2017-09-30/service-2.json b/bin/botocore/data/kinesis-video-archived-media/2017-09-30/service-2.json index 78176e37..d05ab62e 100644 --- a/bin/botocore/data/kinesis-video-archived-media/2017-09-30/service-2.json +++ b/bin/botocore/data/kinesis-video-archived-media/2017-09-30/service-2.json @@ -29,7 +29,7 @@ {"shape":"MissingCodecPrivateDataException"}, {"shape":"InvalidCodecPrivateDataException"} ], - "documentation":"

Retrieves an HTTP Live Streaming (HLS) URL for the stream. You can then open the URL in a browser or media player to view the stream contents.

You must specify either the StreamName or the StreamARN.

An Amazon Kinesis video stream has the following requirements for providing data through HLS:

  • The media type must be video/h264.

  • Data retention must be greater than 0.

  • The fragments must contain codec private data in the AVC (Advanced Video Coding) for H.264 format (MPEG-4 specification ISO/IEC 14496-15). For information about adapting stream data to a given format, see NAL Adaptation Flags.

Kinesis Video Streams HLS sessions contain fragments in the fragmented MPEG-4 form (also called fMP4 or CMAF), rather than the MPEG-2 form (also called TS chunks, which the HLS specification also supports). For more information about HLS fragment types, see the HLS specification.

The following procedure shows how to use HLS with Kinesis Video Streams:

  1. Get an endpoint using GetDataEndpoint, specifying GET_HLS_STREAMING_SESSION_URL for the APIName parameter.

  2. Retrieve the HLS URL using GetHLSStreamingSessionURL. Kinesis Video Streams creates an HLS streaming session to be used for accessing content in a stream using the HLS protocol. GetHLSStreamingSessionURL returns an authenticated URL (that includes an encrypted session token) for the session's HLS master playlist (the root resource needed for streaming with HLS).

    Don't share or store this token where an unauthorized entity could access it. The token provides access to the content of the stream. Safeguard the token with the same measures that you would use with your AWS credentials.

    The media that is made available through the playlist consists only of the requested stream, time range, and format. No other media data (such as frames outside the requested window or alternate bit rates) is made available.

  3. Provide the URL (containing the encrypted session token) for the HLS master playlist to a media player that supports the HLS protocol. Kinesis Video Streams makes the HLS media playlist, initialization fragment, and media fragments available through the master playlist URL. The initialization fragment contains the codec private data for the stream, and other data needed to set up the video decoder and renderer. The media fragments contain H.264-encoded video frames and time stamps.

  4. The media player receives the authenticated URL and requests stream metadata and media data normally. When the media player requests data, it calls the following actions:

    • GetHLSMasterPlaylist: Retrieves an HLS master playlist, which contains a URL for the GetHLSMediaPlaylist action, and additional metadata for the media player, including estimated bit rate and resolution.

    • GetHLSMediaPlaylist: Retrieves an HLS media playlist, which contains a URL to access the MP4 initialization fragment with the GetMP4InitFragment action, and URLs to access the MP4 media fragments with the GetMP4MediaFragment actions. The HLS media playlist also contains metadata about the stream that the player needs to play it, such as whether the PlaybackMode is LIVE or ON_DEMAND. The HLS media playlist is typically static for sessions with a PlaybackType of ON_DEMAND. The HLS media playlist is continually updated with new fragments for sessions with a PlaybackType of LIVE.

    • GetMP4InitFragment: Retrieves the MP4 initialization fragment. The media player typically loads the initialization fragment before loading any media fragments. This fragment contains the \"fytp\" and \"moov\" MP4 atoms, and the child atoms that are needed to initialize the media player decoder.

      The initialization fragment does not correspond to a fragment in a Kinesis video stream. It contains only the codec private data for the stream, which the media player needs to decode video frames.

    • GetMP4MediaFragment: Retrieves MP4 media fragments. These fragments contain the \"moof\" and \"mdat\" MP4 atoms and their child atoms, containing the encoded fragment's video frames and their time stamps.

      After the first media fragment is made available in a streaming session, any fragments that don't contain the same codec private data are excluded in the HLS media playlist. Therefore, the codec private data does not change between fragments in a session.

      Data retrieved with this action is billable. See Pricing for details.

The following restrictions apply to HLS sessions:

  • A streaming session URL should not be shared between players. The service might throttle a session if multiple media players are sharing it. For connection limits, see Kinesis Video Streams Limits.

  • A Kinesis video stream can have a maximum of five active HLS streaming sessions. If a new session is created when the maximum number of sessions is already active, the oldest (earliest created) session is closed. The number of active GetMedia connections on a Kinesis video stream does not count against this limit, and the number of active HLS sessions does not count against the active GetMedia connection limit.

You can monitor the amount of data that the media player consumes by monitoring the GetMP4MediaFragment.OutgoingBytes Amazon CloudWatch metric. For information about using CloudWatch to monitor Kinesis Video Streams, see Monitoring Kinesis Video Streams. For pricing information, see Amazon Kinesis Video Streams Pricing and AWS Pricing. Charges for both HLS sessions and outgoing AWS data apply.

For more information about HLS, see HTTP Live Streaming on the Apple Developer site.

" + "documentation":"

Retrieves an HTTP Live Streaming (HLS) URL for the stream. You can then open the URL in a browser or media player to view the stream contents.

You must specify either the StreamName or the StreamARN.

An Amazon Kinesis video stream has the following requirements for providing data through HLS:

  • The media must contain h.264 encoded video and, optionally, AAC encoded audio. Specifically, the codec id of track 1 should be V_MPEG/ISO/AVC. Optionally, the codec id of track 2 should be A_AAC.

  • Data retention must be greater than 0.

  • The video track of each fragment must contain codec private data in the Advanced Video Coding (AVC) for H.264 format (MPEG-4 specification ISO/IEC 14496-15). For information about adapting stream data to a given format, see NAL Adaptation Flags.

  • The audio track (if present) of each fragment must contain codec private data in the AAC format (AAC specification ISO/IEC 13818-7).

Kinesis Video Streams HLS sessions contain fragments in the fragmented MPEG-4 form (also called fMP4 or CMAF), rather than the MPEG-2 form (also called TS chunks, which the HLS specification also supports). For more information about HLS fragment types, see the HLS specification.

The following procedure shows how to use HLS with Kinesis Video Streams:

  1. Get an endpoint using GetDataEndpoint, specifying GET_HLS_STREAMING_SESSION_URL for the APIName parameter.

  2. Retrieve the HLS URL using GetHLSStreamingSessionURL. Kinesis Video Streams creates an HLS streaming session to be used for accessing content in a stream using the HLS protocol. GetHLSStreamingSessionURL returns an authenticated URL (that includes an encrypted session token) for the session's HLS master playlist (the root resource needed for streaming with HLS).

    Don't share or store this token where an unauthorized entity could access it. The token provides access to the content of the stream. Safeguard the token with the same measures that you would use with your AWS credentials.

    The media that is made available through the playlist consists only of the requested stream, time range, and format. No other media data (such as frames outside the requested window or alternate bitrates) is made available.

  3. Provide the URL (containing the encrypted session token) for the HLS master playlist to a media player that supports the HLS protocol. Kinesis Video Streams makes the HLS media playlist, initialization fragment, and media fragments available through the master playlist URL. The initialization fragment contains the codec private data for the stream, and other data needed to set up the video or audio decoder and renderer. The media fragments contain H.264-encoded video frames or AAC-encoded audio samples.

  4. The media player receives the authenticated URL and requests stream metadata and media data normally. When the media player requests data, it calls the following actions:

    • GetHLSMasterPlaylist: Retrieves an HLS master playlist, which contains a URL for the GetHLSMediaPlaylist action for each track, and additional metadata for the media player, including estimated bitrate and resolution.

    • GetHLSMediaPlaylist: Retrieves an HLS media playlist, which contains a URL to access the MP4 initialization fragment with the GetMP4InitFragment action, and URLs to access the MP4 media fragments with the GetMP4MediaFragment actions. The HLS media playlist also contains metadata about the stream that the player needs to play it, such as whether the PlaybackMode is LIVE or ON_DEMAND. The HLS media playlist is typically static for sessions with a PlaybackType of ON_DEMAND. The HLS media playlist is continually updated with new fragments for sessions with a PlaybackType of LIVE. There is a distinct HLS media playlist for the video track and the audio track (if applicable) that contains MP4 media URLs for the specific track.

    • GetMP4InitFragment: Retrieves the MP4 initialization fragment. The media player typically loads the initialization fragment before loading any media fragments. This fragment contains the \"fytp\" and \"moov\" MP4 atoms, and the child atoms that are needed to initialize the media player decoder.

      The initialization fragment does not correspond to a fragment in a Kinesis video stream. It contains only the codec private data for the stream and respective track, which the media player needs to decode the media frames.

    • GetMP4MediaFragment: Retrieves MP4 media fragments. These fragments contain the \"moof\" and \"mdat\" MP4 atoms and their child atoms, containing the encoded fragment's media frames and their timestamps.

      After the first media fragment is made available in a streaming session, any fragments that don't contain the same codec private data cause an error to be returned when those different media fragments are loaded. Therefore, the codec private data should not change between fragments in a session. This also means that the session fails if the fragments in a stream change from having only video to having both audio and video.

      Data retrieved with this action is billable. See Pricing for details.

    • GetTSFragment: Retrieves MPEG TS fragments containing both initialization and media data for all tracks in the stream.

      If the ContainerFormat is MPEG_TS, this API is used instead of GetMP4InitFragment and GetMP4MediaFragment to retrieve stream media.

      Data retrieved with this action is billable. For more information, see Kinesis Video Streams pricing.

The following restrictions apply to HLS sessions:

  • A streaming session URL should not be shared between players. The service might throttle a session if multiple media players are sharing it. For connection limits, see Kinesis Video Streams Limits.

  • A Kinesis video stream can have a maximum of five active HLS streaming sessions. If a new session is created when the maximum number of sessions is already active, the oldest (earliest created) session is closed. The number of active GetMedia connections on a Kinesis video stream does not count against this limit, and the number of active HLS sessions does not count against the active GetMedia connection limit.

You can monitor the amount of data that the media player consumes by monitoring the GetMP4MediaFragment.OutgoingBytes Amazon CloudWatch metric. For information about using CloudWatch to monitor Kinesis Video Streams, see Monitoring Kinesis Video Streams. For pricing information, see Amazon Kinesis Video Streams Pricing and AWS Pricing. Charges for both HLS sessions and outgoing AWS data apply.

For more information about HLS, see HTTP Live Streaming on the Apple Developer site.

" }, "GetMediaForFragmentList":{ "name":"GetMediaForFragmentList", @@ -45,7 +45,7 @@ {"shape":"ClientLimitExceededException"}, {"shape":"NotAuthorizedException"} ], - "documentation":"

Gets media for a list of fragments (specified by fragment number) from the archived data in an Amazon Kinesis video stream.

The following limits apply when using the GetMediaForFragmentList API:

  • A client can call GetMediaForFragmentList up to five times per second per stream.

  • Kinesis Video Streams sends media data at a rate of up to 25 megabytes per second (or 200 megabits per second) during a GetMediaForFragmentList session.

" + "documentation":"

Gets media for a list of fragments (specified by fragment number) from the archived data in an Amazon Kinesis video stream.

You must first call the GetDataEndpoint API to get an endpoint. Then send the GetMediaForFragmentList requests to this endpoint using the --endpoint-url parameter.

The following limits apply when using the GetMediaForFragmentList API:

  • A client can call GetMediaForFragmentList up to five times per second per stream.

  • Kinesis Video Streams sends media data at a rate of up to 25 megabytes per second (or 200 megabits per second) during a GetMediaForFragmentList session.

" }, "ListFragments":{ "name":"ListFragments", @@ -61,7 +61,7 @@ {"shape":"ClientLimitExceededException"}, {"shape":"NotAuthorizedException"} ], - "documentation":"

Returns a list of Fragment objects from the specified stream and start location within the archived data.

" + "documentation":"

Returns a list of Fragment objects from the specified stream and timestamp range within the archived data.

Listing fragments is eventually consistent. This means that even if the producer receives an acknowledgment that a fragment is persisted, the result might not be returned immediately from a request to ListFragments. However, results are typically available in less than one second.

You must first call the GetDataEndpoint API to get an endpoint. Then send the ListFragments requests to this endpoint using the --endpoint-url parameter.

" } }, "shapes":{ @@ -74,6 +74,13 @@ "error":{"httpStatusCode":400}, "exception":true }, + "ContainerFormat":{ + "type":"string", + "enum":[ + "FRAGMENTED_MP4", + "MPEG_TS" + ] + }, "ContentType":{ "type":"string", "max":128, @@ -87,6 +94,13 @@ "NEVER" ] }, + "DisplayFragmentTimestamp":{ + "type":"string", + "enum":[ + "ALWAYS", + "NEVER" + ] + }, "ErrorMessage":{"type":"string"}, "Expires":{ "type":"integer", @@ -106,11 +120,11 @@ }, "ProducerTimestamp":{ "shape":"Timestamp", - "documentation":"

The time stamp from the producer corresponding to the fragment.

" + "documentation":"

The timestamp from the producer corresponding to the fragment.

" }, "ServerTimestamp":{ "shape":"Timestamp", - "documentation":"

The time stamp from the AWS server corresponding to the fragment.

" + "documentation":"

The timestamp from the AWS server corresponding to the fragment.

" }, "FragmentLengthInMilliseconds":{ "shape":"Long", @@ -144,14 +158,14 @@ "members":{ "FragmentSelectorType":{ "shape":"FragmentSelectorType", - "documentation":"

The origin of the time stamps to use (Server or Producer).

" + "documentation":"

The origin of the timestamps to use (Server or Producer).

" }, "TimestampRange":{ "shape":"TimestampRange", - "documentation":"

The range of time stamps to return.

" + "documentation":"

The range of timestamps to return.

" } }, - "documentation":"

Describes the time stamp range and time stamp origin of a range of fragments.

" + "documentation":"

Describes the timestamp range and timestamp origin of a range of fragments.

Only fragments with a start timestamp greater than or equal to the given start time and less than or equal to the end time are returned. For example, if a stream contains fragments with the following start timestamps:

  • 00:00:00

  • 00:00:02

  • 00:00:04

  • 00:00:06

A fragment selector range with a start time of 00:00:01 and end time of 00:00:04 would return the fragments with start times of 00:00:02 and 00:00:04.

" }, "FragmentSelectorType":{ "type":"string", @@ -173,15 +187,23 @@ }, "PlaybackMode":{ "shape":"PlaybackMode", - "documentation":"

Whether to retrieve live or archived, on-demand data.

Features of the two types of session include the following:

  • LIVE : For sessions of this type, the HLS media playlist is continually updated with the latest fragments as they become available. We recommend that the media player retrieve a new playlist on a one-second interval. When this type of session is played in a media player, the user interface typically displays a \"live\" notification, with no scrubber control for choosing the position in the playback window to display.

    In LIVE mode, the newest available fragments are included in an HLS media playlist, even if there is a gap between fragments (that is, if a fragment is missing). A gap like this might cause a media player to halt or cause a jump in playback. In this mode, fragments are not added to the HLS media playlist if they are older than the newest fragment in the playlist. If the missing fragment becomes available after a subsequent fragment is added to the playlist, the older fragment is not added, and the gap is not filled.

  • ON_DEMAND : For sessions of this type, the HLS media playlist contains all the fragments for the session, up to the number that is specified in MaxMediaPlaylistFragmentResults. The playlist must be retrieved only once for each session. When this type of session is played in a media player, the user interface typically displays a scrubber control for choosing the position in the playback window to display.

In both playback modes, if FragmentSelectorType is PRODUCER_TIMESTAMP, and if there are multiple fragments with the same start time stamp, the fragment that has the larger fragment number (that is, the newer fragment) is included in the HLS media playlist. The other fragments are not included. Fragments that have different time stamps but have overlapping durations are still included in the HLS media playlist. This can lead to unexpected behavior in the media player.

The default is LIVE.

" + "documentation":"

Whether to retrieve live or archived, on-demand data.

Features of the two types of session include the following:

  • LIVE : For sessions of this type, the HLS media playlist is continually updated with the latest fragments as they become available. We recommend that the media player retrieve a new playlist on a one-second interval. When this type of session is played in a media player, the user interface typically displays a \"live\" notification, with no scrubber control for choosing the position in the playback window to display.

    In LIVE mode, the newest available fragments are included in an HLS media playlist, even if there is a gap between fragments (that is, if a fragment is missing). A gap like this might cause a media player to halt or cause a jump in playback. In this mode, fragments are not added to the HLS media playlist if they are older than the newest fragment in the playlist. If the missing fragment becomes available after a subsequent fragment is added to the playlist, the older fragment is not added, and the gap is not filled.

  • ON_DEMAND : For sessions of this type, the HLS media playlist contains all the fragments for the session, up to the number that is specified in MaxMediaPlaylistFragmentResults. The playlist must be retrieved only once for each session. When this type of session is played in a media player, the user interface typically displays a scrubber control for choosing the position in the playback window to display.

In both playback modes, if FragmentSelectorType is PRODUCER_TIMESTAMP, and if there are multiple fragments with the same start timestamp, the fragment that has the larger fragment number (that is, the newer fragment) is included in the HLS media playlist. The other fragments are not included. Fragments that have different timestamps but have overlapping durations are still included in the HLS media playlist. This can lead to unexpected behavior in the media player.

The default is LIVE.

" }, "HLSFragmentSelector":{ "shape":"HLSFragmentSelector", - "documentation":"

The time range of the requested fragment, and the source of the time stamps.

This parameter is required if PlaybackMode is ON_DEMAND. This parameter is optional if PlaybackMode is LIVE. If PlaybackMode is LIVE, the FragmentSelectorType can be set, but the TimestampRange should not be set. If PlaybackMode is ON_DEMAND, both FragmentSelectorType and TimestampRange must be set.

" + "documentation":"

The time range of the requested fragment, and the source of the timestamps.

This parameter is required if PlaybackMode is ON_DEMAND. This parameter is optional if PlaybackMode is LIVE. If PlaybackMode is LIVE, the FragmentSelectorType can be set, but the TimestampRange should not be set. If PlaybackMode is ON_DEMAND, both FragmentSelectorType and TimestampRange must be set.

" + }, + "ContainerFormat":{ + "shape":"ContainerFormat", + "documentation":"

Specifies which format should be used for packaging the media. Specifying the FRAGMENTED_MP4 container format packages the media into MP4 fragments (fMP4 or CMAF). This is the recommended packaging because there is minimal packaging overhead. The other container format option is MPEG_TS. HLS has supported MPEG TS chunks since it was released and is sometimes the only supported packaging on older HLS players. MPEG TS typically has a 5-25 percent packaging overhead. This means MPEG TS typically requires 5-25 percent more bandwidth and cost than fMP4.

The default is FRAGMENTED_MP4.

" }, "DiscontinuityMode":{ "shape":"DiscontinuityMode", - "documentation":"

Specifies when flags marking discontinuities between fragments will be added to the media playlists. The default is ALWAYS when HLSFragmentSelector is SERVER_TIMESTAMP, and NEVER when it is PRODUCER_TIMESTAMP.

Media players typically build a timeline of media content to play, based on the time stamps of each fragment. This means that if there is any overlap between fragments (as is typical if HLSFragmentSelector is SERVER_TIMESTAMP), the media player timeline has small gaps between fragments in some places, and overwrites frames in other places. When there are discontinuity flags between fragments, the media player is expected to reset the timeline, resulting in the fragment being played immediately after the previous fragment. We recommend that you always have discontinuity flags between fragments if the fragment time stamps are not accurate or if fragments might be missing. You should not place discontinuity flags between fragments for the player timeline to accurately map to the producer time stamps.

" + "documentation":"

Specifies when flags marking discontinuities between fragments will be added to the media playlists. The default is ALWAYS when HLSFragmentSelector is SERVER_TIMESTAMP, and NEVER when it is PRODUCER_TIMESTAMP.

Media players typically build a timeline of media content to play, based on the timestamps of each fragment. This means that if there is any overlap between fragments (as is typical if HLSFragmentSelector is SERVER_TIMESTAMP), the media player timeline has small gaps between fragments in some places, and overwrites frames in other places. When there are discontinuity flags between fragments, the media player is expected to reset the timeline, resulting in the fragment being played immediately after the previous fragment. We recommend that you always have discontinuity flags between fragments if the fragment timestamps are not accurate or if fragments might be missing. You should not place discontinuity flags between fragments for the player timeline to accurately map to the producer timestamps.

" + }, + "DisplayFragmentTimestamp":{ + "shape":"DisplayFragmentTimestamp", + "documentation":"

Specifies when the fragment start timestamps should be included in the HLS media playlist. Typically, media players report the playhead position as a time relative to the start of the first fragment in the playback session. However, when the start timestamps are included in the HLS media playlist, some media players might report the current playhead as an absolute time based on the fragment timestamps. This can be useful for creating a playback experience that shows viewers the wall-clock time of the media.

The default is NEVER. When HLSFragmentSelector is SERVER_TIMESTAMP, the timestamps will be the server start timestamps. Similarly, when HLSFragmentSelector is PRODUCER_TIMESTAMP, the timestamps will be the producer start timestamps.

" }, "Expires":{ "shape":"Expires", @@ -230,7 +252,7 @@ }, "Payload":{ "shape":"Payload", - "documentation":"

The payload that Kinesis Video Streams returns is a sequence of chunks from the specified stream. For information about the chunks, see PutMedia. The chunks that Kinesis Video Streams returns in the GetMediaForFragmentList call also include the following additional Matroska (MKV) tags:

  • AWS_KINESISVIDEO_FRAGMENT_NUMBER - Fragment number returned in the chunk.

  • AWS_KINESISVIDEO_SERVER_SIDE_TIMESTAMP - Server-side time stamp of the fragment.

  • AWS_KINESISVIDEO_PRODUCER_SIDE_TIMESTAMP - Producer-side time stamp of the fragment.

The following tags will be included if an exception occurs:

  • AWS_KINESISVIDEO_FRAGMENT_NUMBER - The number of the fragment that threw the exception

  • AWS_KINESISVIDEO_EXCEPTION_ERROR_CODE - The integer code of the exception

  • AWS_KINESISVIDEO_EXCEPTION_MESSAGE - A text description of the exception

" + "documentation":"

The payload that Kinesis Video Streams returns is a sequence of chunks from the specified stream. For information about the chunks, see PutMedia. The chunks that Kinesis Video Streams returns in the GetMediaForFragmentList call also include the following additional Matroska (MKV) tags:

  • AWS_KINESISVIDEO_FRAGMENT_NUMBER - Fragment number returned in the chunk.

  • AWS_KINESISVIDEO_SERVER_SIDE_TIMESTAMP - Server-side timestamp of the fragment.

  • AWS_KINESISVIDEO_PRODUCER_SIDE_TIMESTAMP - Producer-side timestamp of the fragment.

The following tags will be included if an exception occurs:

  • AWS_KINESISVIDEO_FRAGMENT_NUMBER - The number of the fragment that threw the exception

  • AWS_KINESISVIDEO_EXCEPTION_ERROR_CODE - The integer code of the exception

  • AWS_KINESISVIDEO_EXCEPTION_MESSAGE - A text description of the exception

" } }, "payload":"Payload" @@ -240,14 +262,14 @@ "members":{ "FragmentSelectorType":{ "shape":"HLSFragmentSelectorType", - "documentation":"

The source of the time stamps for the requested media.

When FragmentSelectorType is set to PRODUCER_TIMESTAMP and GetHLSStreamingSessionURLInput$PlaybackMode is ON_DEMAND, the first fragment ingested with a producer time stamp within the specified FragmentSelector$TimestampRange is included in the media playlist. In addition, the fragments with producer time stamps within the TimestampRange ingested immediately following the first fragment (up to the GetHLSStreamingSessionURLInput$MaxMediaPlaylistFragmentResults value) are included.

Fragments that have duplicate producer time stamps are deduplicated. This means that if producers are producing a stream of fragments with producer time stamps that are approximately equal to the true clock time, the HLS media playlists will contain all of the fragments within the requested time stamp range. If some fragments are ingested within the same time range and very different points in time, only the oldest ingested collection of fragments are returned.

When FragmentSelectorType is set to PRODUCER_TIMESTAMP and GetHLSStreamingSessionURLInput$PlaybackMode is LIVE, the producer time stamps are used in the MP4 fragments and for deduplication. But the most recently ingested fragments based on server time stamps are included in the HLS media playlist. This means that even if fragments ingested in the past have producer time stamps with values now, they are not included in the HLS media playlist.

The default is SERVER_TIMESTAMP.

" + "documentation":"

The source of the timestamps for the requested media.

When FragmentSelectorType is set to PRODUCER_TIMESTAMP and GetHLSStreamingSessionURLInput$PlaybackMode is ON_DEMAND, the first fragment ingested with a producer timestamp within the specified FragmentSelector$TimestampRange is included in the media playlist. In addition, the fragments with producer timestamps within the TimestampRange ingested immediately following the first fragment (up to the GetHLSStreamingSessionURLInput$MaxMediaPlaylistFragmentResults value) are included.

Fragments that have duplicate producer timestamps are deduplicated. This means that if producers are producing a stream of fragments with producer timestamps that are approximately equal to the true clock time, the HLS media playlists will contain all of the fragments within the requested timestamp range. If some fragments are ingested within the same time range and very different points in time, only the oldest ingested collection of fragments are returned.

When FragmentSelectorType is set to PRODUCER_TIMESTAMP and GetHLSStreamingSessionURLInput$PlaybackMode is LIVE, the producer timestamps are used in the MP4 fragments and for deduplication. But the most recently ingested fragments based on server timestamps are included in the HLS media playlist. This means that even if fragments ingested in the past have producer timestamps with values now, they are not included in the HLS media playlist.

The default is SERVER_TIMESTAMP.

" }, "TimestampRange":{ "shape":"HLSTimestampRange", - "documentation":"

The start and end of the time stamp range for the requested media.

This value should not be present if PlaybackType is LIVE.

" + "documentation":"

The start and end of the timestamp range for the requested media.

This value should not be present if PlaybackType is LIVE.

" } }, - "documentation":"

Contains the range of time stamps for the requested media, and the source of the time stamps.

" + "documentation":"

Contains the range of timestamps for the requested media, and the source of the timestamps.

" }, "HLSFragmentSelectorType":{ "type":"string", @@ -262,14 +284,14 @@ "members":{ "StartTimestamp":{ "shape":"Timestamp", - "documentation":"

The start of the time stamp range for the requested media.

If the HLSTimestampRange value is specified, the StartTimestamp value is required.

This value is inclusive. Fragments that start before the StartTimestamp and continue past it are included in the session. If FragmentSelectorType is SERVER_TIMESTAMP, the StartTimestamp must be later than the stream head.

" + "documentation":"

The start of the timestamp range for the requested media.

If the HLSTimestampRange value is specified, the StartTimestamp value is required.

This value is inclusive. Fragments that start before the StartTimestamp and continue past it are included in the session. If FragmentSelectorType is SERVER_TIMESTAMP, the StartTimestamp must be later than the stream head.

" }, "EndTimestamp":{ "shape":"Timestamp", - "documentation":"

The end of the time stamp range for the requested media. This value must be within 3 hours of the specified StartTimestamp, and it must be later than the StartTimestamp value.

If FragmentSelectorType for the request is SERVER_TIMESTAMP, this value must be in the past.

If the HLSTimestampRange value is specified, the EndTimestamp value is required.

This value is inclusive. The EndTimestamp is compared to the (starting) time stamp of the fragment. Fragments that start before the EndTimestamp value and continue past it are included in the session.

" + "documentation":"

The end of the timestamp range for the requested media. This value must be within 3 hours of the specified StartTimestamp, and it must be later than the StartTimestamp value.

If FragmentSelectorType for the request is SERVER_TIMESTAMP, this value must be in the past.

If the HLSTimestampRange value is specified, the EndTimestamp value is required.

This value is inclusive. The EndTimestamp is compared to the (starting) timestamp of the fragment. Fragments that start before the EndTimestamp value and continue past it are included in the session.

" } }, - "documentation":"

The start and end of the time stamp range for the requested media.

This value should not be present if PlaybackType is LIVE.

The values in the HLSTimestampRange are inclusive. Fragments that begin before the start time but continue past it, or fragments that begin before the end time but continue past it, are included in the session.

" + "documentation":"

The start and end of the timestamp range for the requested media.

This value should not be present if PlaybackType is LIVE.

The values in the HLSTimestampRange are inclusive. Fragments that begin before the start time but continue past it, or fragments that begin before the end time but continue past it, are included in the session.

" }, "InvalidArgumentException":{ "type":"structure", @@ -285,7 +307,7 @@ "members":{ "Message":{"shape":"ErrorMessage"} }, - "documentation":"

The Codec Private Data in the video stream is not valid for this operation.

", + "documentation":"

The codec private data in at least one of the tracks of the video stream is not valid for this operation.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -307,7 +329,7 @@ }, "FragmentSelector":{ "shape":"FragmentSelector", - "documentation":"

Describes the time stamp range and time stamp origin for the range of fragments to return.

" + "documentation":"

Describes the timestamp range and timestamp origin for the range of fragments to return.

" } } }, @@ -316,7 +338,7 @@ "members":{ "Fragments":{ "shape":"FragmentList", - "documentation":"

A list of fragment numbers that correspond to the time stamp range provided.

" + "documentation":"

A list of archived Fragment objects from the stream that meet the selector criteria. Results are in no specific order, even across pages.

" }, "NextToken":{ "shape":"String", @@ -330,7 +352,7 @@ "members":{ "Message":{"shape":"ErrorMessage"} }, - "documentation":"

No Codec Private Data was found in the video stream.

", + "documentation":"

No codec private data was found in at least one of tracks of the video stream.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -403,21 +425,21 @@ "members":{ "StartTimestamp":{ "shape":"Timestamp", - "documentation":"

The starting time stamp in the range of time stamps for which to return fragments.

" + "documentation":"

The starting timestamp in the range of timestamps for which to return fragments.

" }, "EndTimestamp":{ "shape":"Timestamp", - "documentation":"

The ending time stamp in the range of time stamps for which to return fragments.

" + "documentation":"

The ending timestamp in the range of timestamps for which to return fragments.

" } }, - "documentation":"

The range of time stamps for which to return fragments.

" + "documentation":"

The range of timestamps for which to return fragments.

" }, "UnsupportedStreamMediaTypeException":{ "type":"structure", "members":{ "Message":{"shape":"ErrorMessage"} }, - "documentation":"

An HLS streaming session was requested for a stream with a media type that is not video/h264.

", + "documentation":"

The type of the media (for example, h.264 video or ACC audio) could not be determined from the codec IDs of the tracks in the first fragment for a playback session. The codec ID for track 1 should be V_MPEG/ISO/AVC and, optionally, the codec ID for track 2 should be A_AAC.

", "error":{"httpStatusCode":400}, "exception":true } diff --git a/bin/botocore/data/kinesis-video-media/2017-09-30/service-2.json b/bin/botocore/data/kinesis-video-media/2017-09-30/service-2.json index fe307b52..84517b33 100644 --- a/bin/botocore/data/kinesis-video-media/2017-09-30/service-2.json +++ b/bin/botocore/data/kinesis-video-media/2017-09-30/service-2.json @@ -27,7 +27,7 @@ {"shape":"ConnectionLimitExceededException"}, {"shape":"InvalidArgumentException"} ], - "documentation":"

Use this API to retrieve media content from a Kinesis video stream. In the request, you identify stream name or stream Amazon Resource Name (ARN), and the starting chunk. Kinesis Video Streams then returns a stream of chunks in order by fragment number.

You must first call the GetDataEndpoint API to get an endpoint to which you can then send the GetMedia requests.

When you put media data (fragments) on a stream, Kinesis Video Streams stores each incoming fragment and related metadata in what is called a \"chunk.\" For more information, see . The GetMedia API returns a stream of these chunks starting from the chunk that you specify in the request.

The following limits apply when using the GetMedia API:

  • A client can call GetMedia up to five times per second per stream.

  • Kinesis Video Streams sends media data at a rate of up to 25 megabytes per second (or 200 megabits per second) during a GetMedia session.

" + "documentation":"

Use this API to retrieve media content from a Kinesis video stream. In the request, you identify the stream name or stream Amazon Resource Name (ARN), and the starting chunk. Kinesis Video Streams then returns a stream of chunks in order by fragment number.

You must first call the GetDataEndpoint API to get an endpoint. Then send the GetMedia requests to this endpoint using the --endpoint-url parameter.

When you put media data (fragments) on a stream, Kinesis Video Streams stores each incoming fragment and related metadata in what is called a \"chunk.\" For more information, see . The GetMedia API returns a stream of these chunks starting from the chunk that you specify in the request.

The following limits apply when using the GetMedia API:

  • A client can call GetMedia up to five times per second per stream.

  • Kinesis Video Streams sends media data at a rate of up to 25 megabytes per second (or 200 megabits per second) during a GetMedia session.

" } }, "shapes":{ @@ -97,7 +97,7 @@ }, "Payload":{ "shape":"Payload", - "documentation":"

The payload Kinesis Video Streams returns is a sequence of chunks from the specified stream. For information about the chunks, see . The chunks that Kinesis Video Streams returns in the GetMedia call also include the following additional Matroska (MKV) tags:

  • AWS_KINESISVIDEO_CONTINUATION_TOKEN (UTF-8 string) - In the event your GetMedia call terminates, you can use this continuation token in your next request to get the next chunk where the last request terminated.

  • AWS_KINESISVIDEO_MILLIS_BEHIND_NOW (UTF-8 string) - Client applications can use this tag value to determine how far behind the chunk returned in the response is from the latest chunk on the stream.

  • AWS_KINESISVIDEO_FRAGMENT_NUMBER - Fragment number returned in the chunk.

  • AWS_KINESISVIDEO_SERVER_TIMESTAMP - Server time stamp of the fragment.

  • AWS_KINESISVIDEO_PRODUCER_TIMESTAMP - Producer time stamp of the fragment.

The following tags will be present if an error occurs:

  • AWS_KINESISVIDEO_ERROR_CODE - String description of an error that caused GetMedia to stop.

  • AWS_KINESISVIDEO_ERROR_ID: Integer code of the error.

The error codes are as follows:

  • 3002 - Error writing to the stream

  • 4000 - Requested fragment is not found

  • 4500 - Access denied for the stream's KMS key

  • 4501 - Stream's KMS key is disabled

  • 4502 - Validation error on the Stream's KMS key

  • 4503 - KMS key specified in the stream is unavailable

  • 4504 - Invalid usage of the KMS key specified in the stream

  • 4505 - Invalid state of the KMS key specified in the stream

  • 4506 - Unable to find the KMS key specified in the stream

  • 5000 - Internal error

" + "documentation":"

The payload Kinesis Video Streams returns is a sequence of chunks from the specified stream. For information about the chunks, see . The chunks that Kinesis Video Streams returns in the GetMedia call also include the following additional Matroska (MKV) tags:

  • AWS_KINESISVIDEO_CONTINUATION_TOKEN (UTF-8 string) - In the event your GetMedia call terminates, you can use this continuation token in your next request to get the next chunk where the last request terminated.

  • AWS_KINESISVIDEO_MILLIS_BEHIND_NOW (UTF-8 string) - Client applications can use this tag value to determine how far behind the chunk returned in the response is from the latest chunk on the stream.

  • AWS_KINESISVIDEO_FRAGMENT_NUMBER - Fragment number returned in the chunk.

  • AWS_KINESISVIDEO_SERVER_TIMESTAMP - Server timestamp of the fragment.

  • AWS_KINESISVIDEO_PRODUCER_TIMESTAMP - Producer timestamp of the fragment.

The following tags will be present if an error occurs:

  • AWS_KINESISVIDEO_ERROR_CODE - String description of an error that caused GetMedia to stop.

  • AWS_KINESISVIDEO_ERROR_ID: Integer code of the error.

The error codes are as follows:

  • 3002 - Error writing to the stream

  • 4000 - Requested fragment is not found

  • 4500 - Access denied for the stream's KMS key

  • 4501 - Stream's KMS key is disabled

  • 4502 - Validation error on the stream's KMS key

  • 4503 - KMS key specified in the stream is unavailable

  • 4504 - Invalid usage of the KMS key specified in the stream

  • 4505 - Invalid state of the KMS key specified in the stream

  • 4506 - Unable to find the KMS key specified in the stream

  • 5000 - Internal error

" } }, "payload":"Payload" @@ -154,7 +154,7 @@ "members":{ "StartSelectorType":{ "shape":"StartSelectorType", - "documentation":"

Identifies the fragment on the Kinesis video stream where you want to start getting the data from.

  • NOW - Start with the latest chunk on the stream.

  • EARLIEST - Start with earliest available chunk on the stream.

  • FRAGMENT_NUMBER - Start with the chunk containing the specific fragment. You must also specify the StartFragmentNumber.

  • PRODUCER_TIMESTAMP or SERVER_TIMESTAMP - Start with the chunk containing a fragment with the specified producer or server time stamp. You specify the time stamp by adding StartTimestamp.

  • CONTINUATION_TOKEN - Read using the specified continuation token.

If you choose the NOW, EARLIEST, or CONTINUATION_TOKEN as the startSelectorType, you don't provide any additional information in the startSelector.

" + "documentation":"

Identifies the fragment on the Kinesis video stream where you want to start getting the data from.

  • NOW - Start with the latest chunk on the stream.

  • EARLIEST - Start with earliest available chunk on the stream.

  • FRAGMENT_NUMBER - Start with the chunk containing the specific fragment. You must also specify the StartFragmentNumber.

  • PRODUCER_TIMESTAMP or SERVER_TIMESTAMP - Start with the chunk containing a fragment with the specified producer or server timestamp. You specify the timestamp by adding StartTimestamp.

  • CONTINUATION_TOKEN - Read using the specified continuation token.

If you choose the NOW, EARLIEST, or CONTINUATION_TOKEN as the startSelectorType, you don't provide any additional information in the startSelector.

" }, "AfterFragmentNumber":{ "shape":"FragmentNumberString", @@ -162,14 +162,14 @@ }, "StartTimestamp":{ "shape":"Timestamp", - "documentation":"

A time stamp value. This value is required if you choose the PRODUCER_TIMESTAMP or the SERVER_TIMESTAMP as the startSelectorType. The GetMedia API then starts with the chunk containing the fragment that has the specified time stamp.

" + "documentation":"

A timestamp value. This value is required if you choose the PRODUCER_TIMESTAMP or the SERVER_TIMESTAMP as the startSelectorType. The GetMedia API then starts with the chunk containing the fragment that has the specified timestamp.

" }, "ContinuationToken":{ "shape":"ContinuationToken", "documentation":"

Continuation token that Kinesis Video Streams returned in the previous GetMedia response. The GetMedia API then starts with the chunk identified by the continuation token.

" } }, - "documentation":"

Identifies the chunk on the Kinesis video stream where you want the GetMedia API to start returning media data. You have the following options to identify the starting chunk:

  • Choose the latest (or oldest) chunk.

  • Identify a specific chunk. You can identify a specific chunk either by providing a fragment number or time stamp (server or producer).

  • Each chunk's metadata includes a continuation token as a Matroska (MKV) tag (AWS_KINESISVIDEO_CONTINUATION_TOKEN). If your previous GetMedia request terminated, you can use this tag value in your next GetMedia request. The API then starts returning chunks starting where the last API ended.

" + "documentation":"

Identifies the chunk on the Kinesis video stream where you want the GetMedia API to start returning media data. You have the following options to identify the starting chunk:

  • Choose the latest (or oldest) chunk.

  • Identify a specific chunk. You can identify a specific chunk either by providing a fragment number or timestamp (server or producer).

  • Each chunk's metadata includes a continuation token as a Matroska (MKV) tag (AWS_KINESISVIDEO_CONTINUATION_TOKEN). If your previous GetMedia request terminated, you can use this tag value in your next GetMedia request. The API then starts returning chunks starting where the last API ended.

" }, "StartSelectorType":{ "type":"string", diff --git a/bin/botocore/data/kinesis/2013-12-02/paginators-1.json b/bin/botocore/data/kinesis/2013-12-02/paginators-1.json index 5f6d0a45..a88324d3 100644 --- a/bin/botocore/data/kinesis/2013-12-02/paginators-1.json +++ b/bin/botocore/data/kinesis/2013-12-02/paginators-1.json @@ -23,6 +23,18 @@ "more_results": "HasMoreStreams", "output_token": "StreamNames[-1]", "result_key": "StreamNames" + }, + "ListShards": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Shards" + }, + "ListStreamConsumers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Consumers" } } } diff --git a/bin/botocore/data/kinesisanalytics/2015-08-14/service-2.json b/bin/botocore/data/kinesisanalytics/2015-08-14/service-2.json index 70ce2625..bceb851f 100644 --- a/bin/botocore/data/kinesisanalytics/2015-08-14/service-2.json +++ b/bin/botocore/data/kinesisanalytics/2015-08-14/service-2.json @@ -28,7 +28,7 @@ {"shape":"ConcurrentModificationException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Adds a CloudWatch log stream to monitor application configuration errors. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see Working with Amazon CloudWatch Logs.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Adds a CloudWatch log stream to monitor application configuration errors. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see Working with Amazon CloudWatch Logs.

" }, "AddApplicationInput":{ "name":"AddApplicationInput", @@ -46,7 +46,7 @@ {"shape":"CodeValidationException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Adds a streaming source to your Amazon Kinesis application. For conceptual information, see Configuring Application Input.

You can add a streaming source either when you create an application or you can use this operation to add a streaming source after you create an application. For more information, see CreateApplication.

Any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the DescribeApplication operation to find the current application version.

This operation requires permissions to perform the kinesisanalytics:AddApplicationInput action.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Adds a streaming source to your Amazon Kinesis application. For conceptual information, see Configuring Application Input.

You can add a streaming source either when you create an application or you can use this operation to add a streaming source after you create an application. For more information, see CreateApplication.

Any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the DescribeApplication operation to find the current application version.

This operation requires permissions to perform the kinesisanalytics:AddApplicationInput action.

" }, "AddApplicationInputProcessingConfiguration":{ "name":"AddApplicationInputProcessingConfiguration", @@ -63,7 +63,7 @@ {"shape":"ConcurrentModificationException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Adds an InputProcessingConfiguration to an application. An input processor preprocesses records on the input stream before the application's SQL code executes. Currently, the only input processor available is AWS Lambda.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Adds an InputProcessingConfiguration to an application. An input processor preprocesses records on the input stream before the application's SQL code executes. Currently, the only input processor available is AWS Lambda.

" }, "AddApplicationOutput":{ "name":"AddApplicationOutput", @@ -80,7 +80,7 @@ {"shape":"ConcurrentModificationException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Adds an external destination to your Amazon Kinesis Analytics application.

If you want Amazon Kinesis Analytics to deliver data from an in-application stream within your application to an external destination (such as an Amazon Kinesis stream, an Amazon Kinesis Firehose delivery stream, or an AWS Lambda function), you add the relevant configuration to your application using this operation. You can configure one or more outputs for your application. Each output configuration maps an in-application stream and an external destination.

You can use one of the output configurations to deliver data from your in-application error stream to an external destination so that you can analyze the errors. For more information, see Understanding Application Output (Destination).

Any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the DescribeApplication operation to find the current application version.

For the limits on the number of application inputs and outputs you can configure, see Limits.

This operation requires permissions to perform the kinesisanalytics:AddApplicationOutput action.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Adds an external destination to your Amazon Kinesis Analytics application.

If you want Amazon Kinesis Analytics to deliver data from an in-application stream within your application to an external destination (such as an Amazon Kinesis stream, an Amazon Kinesis Firehose delivery stream, or an AWS Lambda function), you add the relevant configuration to your application using this operation. You can configure one or more outputs for your application. Each output configuration maps an in-application stream and an external destination.

You can use one of the output configurations to deliver data from your in-application error stream to an external destination so that you can analyze the errors. For more information, see Understanding Application Output (Destination).

Any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the DescribeApplication operation to find the current application version.

For the limits on the number of application inputs and outputs you can configure, see Limits.

This operation requires permissions to perform the kinesisanalytics:AddApplicationOutput action.

" }, "AddApplicationReferenceDataSource":{ "name":"AddApplicationReferenceDataSource", @@ -97,7 +97,7 @@ {"shape":"ConcurrentModificationException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Adds a reference data source to an existing application.

Amazon Kinesis Analytics reads reference data (that is, an Amazon S3 object) and creates an in-application table within your application. In the request, you provide the source (S3 bucket name and object key name), name of the in-application table to create, and the necessary mapping information that describes how data in Amazon S3 object maps to columns in the resulting in-application table.

For conceptual information, see Configuring Application Input. For the limits on data sources you can add to your application, see Limits.

This operation requires permissions to perform the kinesisanalytics:AddApplicationOutput action.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Adds a reference data source to an existing application.

Amazon Kinesis Analytics reads reference data (that is, an Amazon S3 object) and creates an in-application table within your application. In the request, you provide the source (S3 bucket name and object key name), name of the in-application table to create, and the necessary mapping information that describes how data in Amazon S3 object maps to columns in the resulting in-application table.

For conceptual information, see Configuring Application Input. For the limits on data sources you can add to your application, see Limits.

This operation requires permissions to perform the kinesisanalytics:AddApplicationOutput action.

" }, "CreateApplication":{ "name":"CreateApplication", @@ -111,9 +111,11 @@ {"shape":"CodeValidationException"}, {"shape":"ResourceInUseException"}, {"shape":"LimitExceededException"}, - {"shape":"InvalidArgumentException"} + {"shape":"InvalidArgumentException"}, + {"shape":"TooManyTagsException"}, + {"shape":"ConcurrentModificationException"} ], - "documentation":"

Creates an Amazon Kinesis Analytics application. You can configure each application with one streaming source as input, application code to process the input, and up to three destinations where you want Amazon Kinesis Analytics to write the output data from your application. For an overview, see How it Works.

In the input configuration, you map the streaming source to an in-application stream, which you can think of as a constantly updating table. In the mapping, you must provide a schema for the in-application stream and map each data column in the in-application stream to a data element in the streaming source.

Your application code is one or more SQL statements that read input data, transform it, and generate output. Your application code can create one or more SQL artifacts like SQL streams or pumps.

In the output configuration, you can configure the application to write data from in-application streams created in your applications to up to three destinations.

To read data from your source stream or write data to destination streams, Amazon Kinesis Analytics needs your permissions. You grant these permissions by creating IAM roles. This operation requires permissions to perform the kinesisanalytics:CreateApplication action.

For introductory exercises to create an Amazon Kinesis Analytics application, see Getting Started.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Creates an Amazon Kinesis Analytics application. You can configure each application with one streaming source as input, application code to process the input, and up to three destinations where you want Amazon Kinesis Analytics to write the output data from your application. For an overview, see How it Works.

In the input configuration, you map the streaming source to an in-application stream, which you can think of as a constantly updating table. In the mapping, you must provide a schema for the in-application stream and map each data column in the in-application stream to a data element in the streaming source.

Your application code is one or more SQL statements that read input data, transform it, and generate output. Your application code can create one or more SQL artifacts like SQL streams or pumps.

In the output configuration, you can configure the application to write data from in-application streams created in your applications to up to three destinations.

To read data from your source stream or write data to destination streams, Amazon Kinesis Analytics needs your permissions. You grant these permissions by creating IAM roles. This operation requires permissions to perform the kinesisanalytics:CreateApplication action.

For introductory exercises to create an Amazon Kinesis Analytics application, see Getting Started.

" }, "DeleteApplication":{ "name":"DeleteApplication", @@ -129,7 +131,7 @@ {"shape":"ResourceInUseException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Deletes the specified application. Amazon Kinesis Analytics halts application execution and deletes the application, including any application artifacts (such as in-application streams, reference table, and application code).

This operation requires permissions to perform the kinesisanalytics:DeleteApplication action.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Deletes the specified application. Amazon Kinesis Analytics halts application execution and deletes the application, including any application artifacts (such as in-application streams, reference table, and application code).

This operation requires permissions to perform the kinesisanalytics:DeleteApplication action.

" }, "DeleteApplicationCloudWatchLoggingOption":{ "name":"DeleteApplicationCloudWatchLoggingOption", @@ -146,7 +148,7 @@ {"shape":"ConcurrentModificationException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Deletes a CloudWatch log stream from an application. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see Working with Amazon CloudWatch Logs.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Deletes a CloudWatch log stream from an application. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see Working with Amazon CloudWatch Logs.

" }, "DeleteApplicationInputProcessingConfiguration":{ "name":"DeleteApplicationInputProcessingConfiguration", @@ -163,7 +165,7 @@ {"shape":"ConcurrentModificationException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Deletes an InputProcessingConfiguration from an input.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Deletes an InputProcessingConfiguration from an input.

" }, "DeleteApplicationOutput":{ "name":"DeleteApplicationOutput", @@ -180,7 +182,7 @@ {"shape":"ConcurrentModificationException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Deletes output destination configuration from your application configuration. Amazon Kinesis Analytics will no longer write data from the corresponding in-application stream to the external output destination.

This operation requires permissions to perform the kinesisanalytics:DeleteApplicationOutput action.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Deletes output destination configuration from your application configuration. Amazon Kinesis Analytics will no longer write data from the corresponding in-application stream to the external output destination.

This operation requires permissions to perform the kinesisanalytics:DeleteApplicationOutput action.

" }, "DeleteApplicationReferenceDataSource":{ "name":"DeleteApplicationReferenceDataSource", @@ -197,7 +199,7 @@ {"shape":"ConcurrentModificationException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Deletes a reference data source configuration from the specified application configuration.

If the application is running, Amazon Kinesis Analytics immediately removes the in-application table that you created using the AddApplicationReferenceDataSource operation.

This operation requires permissions to perform the kinesisanalytics.DeleteApplicationReferenceDataSource action.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Deletes a reference data source configuration from the specified application configuration.

If the application is running, Amazon Kinesis Analytics immediately removes the in-application table that you created using the AddApplicationReferenceDataSource operation.

This operation requires permissions to perform the kinesisanalytics.DeleteApplicationReferenceDataSource action.

" }, "DescribeApplication":{ "name":"DescribeApplication", @@ -211,7 +213,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Returns information about a specific Amazon Kinesis Analytics application.

If you want to retrieve a list of all applications in your account, use the ListApplications operation.

This operation requires permissions to perform the kinesisanalytics:DescribeApplication action. You can use DescribeApplication to get the current application versionId, which you need to call other operations such as Update.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Returns information about a specific Amazon Kinesis Analytics application.

If you want to retrieve a list of all applications in your account, use the ListApplications operation.

This operation requires permissions to perform the kinesisanalytics:DescribeApplication action. You can use DescribeApplication to get the current application versionId, which you need to call other operations such as Update.

" }, "DiscoverInputSchema":{ "name":"DiscoverInputSchema", @@ -227,7 +229,7 @@ {"shape":"ResourceProvisionedThroughputExceededException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Infers a schema by evaluating sample records on the specified streaming source (Amazon Kinesis stream or Amazon Kinesis Firehose delivery stream) or S3 object. In the response, the operation returns the inferred schema and also the sample records that the operation used to infer the schema.

You can use the inferred schema when configuring a streaming source for your application. For conceptual information, see Configuring Application Input. Note that when you create an application using the Amazon Kinesis Analytics console, the console uses this operation to infer a schema and show it in the console user interface.

This operation requires permissions to perform the kinesisanalytics:DiscoverInputSchema action.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Infers a schema by evaluating sample records on the specified streaming source (Amazon Kinesis stream or Amazon Kinesis Firehose delivery stream) or S3 object. In the response, the operation returns the inferred schema and also the sample records that the operation used to infer the schema.

You can use the inferred schema when configuring a streaming source for your application. For conceptual information, see Configuring Application Input. Note that when you create an application using the Amazon Kinesis Analytics console, the console uses this operation to infer a schema and show it in the console user interface.

This operation requires permissions to perform the kinesisanalytics:DiscoverInputSchema action.

" }, "ListApplications":{ "name":"ListApplications", @@ -237,7 +239,22 @@ }, "input":{"shape":"ListApplicationsRequest"}, "output":{"shape":"ListApplicationsResponse"}, - "documentation":"

Returns a list of Amazon Kinesis Analytics applications in your account. For each application, the response includes the application name, Amazon Resource Name (ARN), and status. If the response returns the HasMoreApplications value as true, you can send another request by adding the ExclusiveStartApplicationName in the request body, and set the value of this to the last application name from the previous response.

If you want detailed information about a specific application, use DescribeApplication.

This operation requires permissions to perform the kinesisanalytics:ListApplications action.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Returns a list of Amazon Kinesis Analytics applications in your account. For each application, the response includes the application name, Amazon Resource Name (ARN), and status. If the response returns the HasMoreApplications value as true, you can send another request by adding the ExclusiveStartApplicationName in the request body, and set the value of this to the last application name from the previous response.

If you want detailed information about a specific application, use DescribeApplication.

This operation requires permissions to perform the kinesisanalytics:ListApplications action.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Retrieves the list of key-value tags assigned to the application.

" }, "StartApplication":{ "name":"StartApplication", @@ -254,7 +271,7 @@ {"shape":"InvalidApplicationConfigurationException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Starts the specified Amazon Kinesis Analytics application. After creating an application, you must exclusively call this operation to start your application.

After the application starts, it begins consuming the input data, processes it, and writes the output to the configured destination.

The application status must be READY for you to start an application. You can get the application status in the console or using the DescribeApplication operation.

After you start the application, you can stop the application from processing the input by calling the StopApplication operation.

This operation requires permissions to perform the kinesisanalytics:StartApplication action.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Starts the specified Amazon Kinesis Analytics application. After creating an application, you must exclusively call this operation to start your application.

After the application starts, it begins consuming the input data, processes it, and writes the output to the configured destination.

The application status must be READY for you to start an application. You can get the application status in the console or using the DescribeApplication operation.

After you start the application, you can stop the application from processing the input by calling the StopApplication operation.

This operation requires permissions to perform the kinesisanalytics:StartApplication action.

" }, "StopApplication":{ "name":"StopApplication", @@ -269,7 +286,41 @@ {"shape":"ResourceInUseException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Stops the application from processing input data. You can stop an application only if it is in the running state. You can use the DescribeApplication operation to find the application state. After the application is stopped, Amazon Kinesis Analytics stops reading data from the input, the application stops processing data, and there is no output written to the destination.

This operation requires permissions to perform the kinesisanalytics:StopApplication action.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Stops the application from processing input data. You can stop an application only if it is in the running state. You can use the DescribeApplication operation to find the application state. After the application is stopped, Amazon Kinesis Analytics stops reading data from the input, the application stops processing data, and there is no output written to the destination.

This operation requires permissions to perform the kinesisanalytics:StopApplication action.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Adds one or more key-value tags to a Kinesis Analytics application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Removes one or more tags from a Kinesis Analytics application.

" }, "UpdateApplication":{ "name":"UpdateApplication", @@ -287,7 +338,7 @@ {"shape":"ConcurrentModificationException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Updates an existing Amazon Kinesis Analytics application. Using this API, you can update application code, input configuration, and output configuration.

Note that Amazon Kinesis Analytics updates the CurrentApplicationVersionId each time you update your application.

This operation requires permission for the kinesisanalytics:UpdateApplication action.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Updates an existing Amazon Kinesis Analytics application. Using this API, you can update application code, input configuration, and output configuration.

Note that Amazon Kinesis Analytics updates the CurrentApplicationVersionId each time you update your application.

This operation requires permission for the kinesisanalytics:UpdateApplication action.

" } }, "shapes":{ @@ -333,15 +384,15 @@ }, "CurrentApplicationVersionId":{ "shape":"ApplicationVersionId", - "documentation":"

Version of the application to which you want to add the input processing configuration. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" + "documentation":"

Version of the application to which you want to add the input processing configuration. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" }, "InputId":{ "shape":"Id", - "documentation":"

The ID of the input configuration to add the input processing configuration to. You can get a list of the input IDs for an application using the DescribeApplication operation.

" + "documentation":"

The ID of the input configuration to add the input processing configuration to. You can get a list of the input IDs for an application using the DescribeApplication operation.

" }, "InputProcessingConfiguration":{ "shape":"InputProcessingConfiguration", - "documentation":"

The InputProcessingConfiguration to add to the application.

" + "documentation":"

The InputProcessingConfiguration to add to the application.

" } } }, @@ -364,11 +415,11 @@ }, "CurrentApplicationVersionId":{ "shape":"ApplicationVersionId", - "documentation":"

Current version of your Amazon Kinesis Analytics application. You can use the DescribeApplication operation to find the current application version.

" + "documentation":"

Current version of your Amazon Kinesis Analytics application. You can use the DescribeApplication operation to find the current application version.

" }, "Input":{ "shape":"Input", - "documentation":"

The Input to add.

" + "documentation":"

The Input to add.

" } }, "documentation":"

" @@ -393,7 +444,7 @@ }, "CurrentApplicationVersionId":{ "shape":"ApplicationVersionId", - "documentation":"

Version of the application to which you want to add the output configuration. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" + "documentation":"

Version of the application to which you want to add the output configuration. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" }, "Output":{ "shape":"Output", @@ -422,7 +473,7 @@ }, "CurrentApplicationVersionId":{ "shape":"ApplicationVersionId", - "documentation":"

Version of the application for which you are adding the reference data source. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" + "documentation":"

Version of the application for which you are adding the reference data source. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" }, "ReferenceDataSource":{ "shape":"ReferenceDataSource", @@ -482,19 +533,19 @@ }, "InputDescriptions":{ "shape":"InputDescriptions", - "documentation":"

Describes the application input configuration. For more information, see Configuring Application Input.

" + "documentation":"

Describes the application input configuration. For more information, see Configuring Application Input.

" }, "OutputDescriptions":{ "shape":"OutputDescriptions", - "documentation":"

Describes the application output configuration. For more information, see Configuring Application Output.

" + "documentation":"

Describes the application output configuration. For more information, see Configuring Application Output.

" }, "ReferenceDataSourceDescriptions":{ "shape":"ReferenceDataSourceDescriptions", - "documentation":"

Describes reference data sources configured for the application. For more information, see Configuring Application Input.

" + "documentation":"

Describes reference data sources configured for the application. For more information, see Configuring Application Input.

" }, "CloudWatchLoggingOptionDescriptions":{ "shape":"CloudWatchLoggingOptionDescriptions", - "documentation":"

Describes the CloudWatch log streams that are configured to receive application messages. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see Working with Amazon CloudWatch Logs.

" + "documentation":"

Describes the CloudWatch log streams that are configured to receive application messages. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see Working with Amazon CloudWatch Logs.

" }, "ApplicationCode":{ "shape":"ApplicationCode", @@ -505,7 +556,7 @@ "documentation":"

Provides the current application version.

" } }, - "documentation":"

Provides a description of the application, including the application Amazon Resource Name (ARN), status, latest version, and input and output configuration.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Provides a description of the application, including the application Amazon Resource Name (ARN), status, latest version, and input and output configuration.

" }, "ApplicationName":{ "type":"string", @@ -549,7 +600,7 @@ "documentation":"

Status of the application.

" } }, - "documentation":"

Provides application summary information, including the application Amazon Resource Name (ARN), name, and status.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Provides application summary information, including the application Amazon Resource Name (ARN), name, and status.

" }, "ApplicationUpdate":{ "type":"structure", @@ -722,11 +773,15 @@ }, "CloudWatchLoggingOptions":{ "shape":"CloudWatchLoggingOptions", - "documentation":"

Use this parameter to configure a CloudWatch log stream to monitor application configuration errors. For more information, see Working with Amazon CloudWatch Logs.

" + "documentation":"

Use this parameter to configure a CloudWatch log stream to monitor application configuration errors. For more information, see Working with Amazon CloudWatch Logs.

" }, "ApplicationCode":{ "shape":"ApplicationCode", - "documentation":"

One or more SQL statements that read input data, transform it, and generate output. For example, you can write a SQL statement that reads data from one in-application stream, generates a running average of the number of advertisement clicks by vendor, and insert resulting rows in another in-application stream using pumps. For more information about the typical pattern, see Application Code.

You can provide such series of SQL statements, where output of one statement can be used as the input for the next statement. You store intermediate results by creating in-application streams and pumps.

Note that the application code must create the streams with names specified in the Outputs. For example, if your Outputs defines output streams named ExampleOutputStream1 and ExampleOutputStream2, then your application code must create these streams.

" + "documentation":"

One or more SQL statements that read input data, transform it, and generate output. For example, you can write a SQL statement that reads data from one in-application stream, generates a running average of the number of advertisement clicks by vendor, and insert resulting rows in another in-application stream using pumps. For more information about the typical pattern, see Application Code.

You can provide such series of SQL statements, where output of one statement can be used as the input for the next statement. You store intermediate results by creating in-application streams and pumps.

Note that the application code must create the streams with names specified in the Outputs. For example, if your Outputs defines output streams named ExampleOutputStream1 and ExampleOutputStream2, then your application code must create these streams.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A list of one or more tags to assign to the application. A tag is a key-value pair that identifies an application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management Guide.

" } }, "documentation":"

TBD

" @@ -760,7 +815,7 @@ }, "CloudWatchLoggingOptionId":{ "shape":"Id", - "documentation":"

The CloudWatchLoggingOptionId of the CloudWatch logging option to delete. You can get the CloudWatchLoggingOptionId by using the DescribeApplication operation.

" + "documentation":"

The CloudWatchLoggingOptionId of the CloudWatch logging option to delete. You can get the CloudWatchLoggingOptionId by using the DescribeApplication operation.

" } } }, @@ -787,7 +842,7 @@ }, "InputId":{ "shape":"Id", - "documentation":"

The ID of the input configuration from which to delete the input processing configuration. You can get a list of the input IDs for an application by using the DescribeApplication operation.

" + "documentation":"

The ID of the input configuration from which to delete the input processing configuration. You can get a list of the input IDs for an application by using the DescribeApplication operation.

" } } }, @@ -810,11 +865,11 @@ }, "CurrentApplicationVersionId":{ "shape":"ApplicationVersionId", - "documentation":"

Amazon Kinesis Analytics application version. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" + "documentation":"

Amazon Kinesis Analytics application version. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" }, "OutputId":{ "shape":"Id", - "documentation":"

The ID of the configuration to delete. Each output configuration that is added to the application, either when the application is created or later using the AddApplicationOutput operation, has a unique ID. You need to provide the ID to uniquely identify the output configuration that you want to delete from the application configuration. You can use the DescribeApplication operation to get the specific OutputId.

" + "documentation":"

The ID of the configuration to delete. Each output configuration that is added to the application, either when the application is created or later using the AddApplicationOutput operation, has a unique ID. You need to provide the ID to uniquely identify the output configuration that you want to delete from the application configuration. You can use the DescribeApplication operation to get the specific OutputId.

" } }, "documentation":"

" @@ -839,11 +894,11 @@ }, "CurrentApplicationVersionId":{ "shape":"ApplicationVersionId", - "documentation":"

Version of the application. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" + "documentation":"

Version of the application. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" }, "ReferenceId":{ "shape":"Id", - "documentation":"

ID of the reference data source. When you add a reference data source to your application using the AddApplicationReferenceDataSource, Amazon Kinesis Analytics assigns an ID. You can use the DescribeApplication operation to get the reference ID.

" + "documentation":"

ID of the reference data source. When you add a reference data source to your application using the AddApplicationReferenceDataSource, Amazon Kinesis Analytics assigns an ID. You can use the DescribeApplication operation to get the reference ID.

" } } }, @@ -907,7 +962,7 @@ "documentation":"

Specifies the format of the records on the output stream.

" } }, - "documentation":"

Describes the data format when records are written to the destination. For more information, see Configuring Application Output.

" + "documentation":"

Describes the data format when records are written to the destination. For more information, see Configuring Application Output.

" }, "DiscoverInputSchemaRequest":{ "type":"structure", @@ -930,7 +985,7 @@ }, "InputProcessingConfiguration":{ "shape":"InputProcessingConfiguration", - "documentation":"

The InputProcessingConfiguration to use to preprocess the records before discovering the schema of the records.

" + "documentation":"

The InputProcessingConfiguration to use to preprocess the records before discovering the schema of the records.

" } } }, @@ -971,8 +1026,7 @@ "InAppStreamName":{ "type":"string", "max":32, - "min":1, - "pattern":"[a-zA-Z][a-zA-Z0-9_]+" + "min":1 }, "InAppStreamNames":{ "type":"list", @@ -981,8 +1035,7 @@ "InAppTableName":{ "type":"string", "max":32, - "min":1, - "pattern":"[a-zA-Z][a-zA-Z0-9_]+" + "min":1 }, "Input":{ "type":"structure", @@ -997,7 +1050,7 @@ }, "InputProcessingConfiguration":{ "shape":"InputProcessingConfiguration", - "documentation":"

The InputProcessingConfiguration for the input. An input processor transforms records as they are received from the stream, before the application's SQL code executes. Currently, the only input processing configuration available is InputLambdaProcessor.

" + "documentation":"

The InputProcessingConfiguration for the input. An input processor transforms records as they are received from the stream, before the application's SQL code executes. Currently, the only input processing configuration available is InputLambdaProcessor.

" }, "KinesisStreamsInput":{ "shape":"KinesisStreamsInput", @@ -1009,14 +1062,14 @@ }, "InputParallelism":{ "shape":"InputParallelism", - "documentation":"

Describes the number of in-application streams to create.

Data from your source is routed to these in-application input streams.

(see Configuring Application Input.

" + "documentation":"

Describes the number of in-application streams to create.

Data from your source is routed to these in-application input streams.

(see Configuring Application Input.

" }, "InputSchema":{ "shape":"SourceSchema", "documentation":"

Describes the format of the data in the streaming source, and how each data element maps to corresponding columns in the in-application stream that is being created.

Also used to describe the format of the reference data source.

" } }, - "documentation":"

When you configure the application input, you specify the streaming source, the in-application stream name that is created, and the mapping between the two. For more information, see Configuring Application Input.

" + "documentation":"

When you configure the application input, you specify the streaming source, the in-application stream name that is created, and the mapping between the two. For more information, see Configuring Application Input.

" }, "InputConfiguration":{ "type":"structure", @@ -1027,7 +1080,7 @@ "members":{ "Id":{ "shape":"Id", - "documentation":"

Input source ID. You can get this ID by calling the DescribeApplication operation.

" + "documentation":"

Input source ID. You can get this ID by calling the DescribeApplication operation.

" }, "InputStartingPositionConfiguration":{ "shape":"InputStartingPositionConfiguration", @@ -1080,7 +1133,7 @@ "documentation":"

Point at which the application is configured to read from the input stream.

" } }, - "documentation":"

Describes the application input configuration. For more information, see Configuring Application Input.

" + "documentation":"

Describes the application input configuration. For more information, see Configuring Application Input.

" }, "InputDescriptions":{ "type":"list", @@ -1095,52 +1148,52 @@ "members":{ "ResourceARN":{ "shape":"ResourceARN", - "documentation":"

The ARN of the AWS Lambda function that operates on records in the stream.

" + "documentation":"

The ARN of the AWS Lambda function that operates on records in the stream.

To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda

" }, "RoleARN":{ "shape":"RoleARN", "documentation":"

The ARN of the IAM role that is used to access the AWS Lambda function.

" } }, - "documentation":"

An object that contains the Amazon Resource Name (ARN) of the AWS Lambda function that is used to preprocess records in the stream, and the ARN of the IAM role that is used to access the AWS Lambda function.

" + "documentation":"

An object that contains the Amazon Resource Name (ARN) of the AWS Lambda function that is used to preprocess records in the stream, and the ARN of the IAM role that is used to access the AWS Lambda function.

" }, "InputLambdaProcessorDescription":{ "type":"structure", "members":{ "ResourceARN":{ "shape":"ResourceARN", - "documentation":"

The ARN of the AWS Lambda function that is used to preprocess the records in the stream.

" + "documentation":"

The ARN of the AWS Lambda function that is used to preprocess the records in the stream.

" }, "RoleARN":{ "shape":"RoleARN", "documentation":"

The ARN of the IAM role that is used to access the AWS Lambda function.

" } }, - "documentation":"

An object that contains the Amazon Resource Name (ARN) of the AWS Lambda function that is used to preprocess records in the stream, and the ARN of the IAM role that is used to access the AWS Lambda expression.

" + "documentation":"

An object that contains the Amazon Resource Name (ARN) of the AWS Lambda function that is used to preprocess records in the stream, and the ARN of the IAM role that is used to access the AWS Lambda expression.

" }, "InputLambdaProcessorUpdate":{ "type":"structure", "members":{ "ResourceARNUpdate":{ "shape":"ResourceARN", - "documentation":"

The Amazon Resource Name (ARN) of the new AWS Lambda function that is used to preprocess the records in the stream.

" + "documentation":"

The Amazon Resource Name (ARN) of the new AWS Lambda function that is used to preprocess the records in the stream.

To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda

" }, "RoleARNUpdate":{ "shape":"RoleARN", "documentation":"

The ARN of the new IAM role that is used to access the AWS Lambda function.

" } }, - "documentation":"

Represents an update to the InputLambdaProcessor that is used to preprocess the records in the stream.

" + "documentation":"

Represents an update to the InputLambdaProcessor that is used to preprocess the records in the stream.

" }, "InputParallelism":{ "type":"structure", "members":{ "Count":{ "shape":"InputParallelismCount", - "documentation":"

Number of in-application streams to create. For more information, see Limits.

" + "documentation":"

Number of in-application streams to create. For more information, see Limits.

" } }, - "documentation":"

Describes the number of in-application streams to create for a given streaming source. For information about parallelism, see Configuring Application Input.

" + "documentation":"

Describes the number of in-application streams to create for a given streaming source. For information about parallelism, see Configuring Application Input.

" }, "InputParallelismCount":{ "type":"integer", @@ -1163,20 +1216,20 @@ "members":{ "InputLambdaProcessor":{ "shape":"InputLambdaProcessor", - "documentation":"

The InputLambdaProcessor that is used to preprocess the records in the stream before being processed by your application code.

" + "documentation":"

The InputLambdaProcessor that is used to preprocess the records in the stream before being processed by your application code.

" } }, - "documentation":"

Provides a description of a processor that is used to preprocess the records in the stream before being processed by your application code. Currently, the only input processor available is AWS Lambda.

" + "documentation":"

Provides a description of a processor that is used to preprocess the records in the stream before being processed by your application code. Currently, the only input processor available is AWS Lambda.

" }, "InputProcessingConfigurationDescription":{ "type":"structure", "members":{ "InputLambdaProcessorDescription":{ "shape":"InputLambdaProcessorDescription", - "documentation":"

Provides configuration information about the associated InputLambdaProcessorDescription.

" + "documentation":"

Provides configuration information about the associated InputLambdaProcessorDescription.

" } }, - "documentation":"

Provides configuration information about an input processor. Currently, the only input processor available is AWS Lambda.

" + "documentation":"

Provides configuration information about an input processor. Currently, the only input processor available is AWS Lambda.

" }, "InputProcessingConfigurationUpdate":{ "type":"structure", @@ -1184,10 +1237,10 @@ "members":{ "InputLambdaProcessorUpdate":{ "shape":"InputLambdaProcessorUpdate", - "documentation":"

Provides update information for an InputLambdaProcessor.

" + "documentation":"

Provides update information for an InputLambdaProcessor.

" } }, - "documentation":"

Describes updates to an InputProcessingConfiguration.

" + "documentation":"

Describes updates to an InputProcessingConfiguration.

" }, "InputSchemaUpdate":{ "type":"structure", @@ -1301,6 +1354,12 @@ }, "documentation":"

Provides additional mapping information when JSON is the record format on the streaming source.

" }, + "KinesisAnalyticsARN":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:aws:kinesisanalytics:[a-z]{2}-[a-z]+-\\d{1}+:\\d{12}+:application/[a-zA-Z0-9_.-]{1,128}" + }, "KinesisFirehoseInput":{ "type":"structure", "required":[ @@ -1391,7 +1450,7 @@ "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream on your behalf. You need to grant the necessary permissions to this role.

" } }, - "documentation":"

When updating an output configuration using the UpdateApplication operation, provides information about an Amazon Kinesis Firehose delivery stream configured as the destination.

" + "documentation":"

When updating an output configuration using the UpdateApplication operation, provides information about an Amazon Kinesis Firehose delivery stream configured as the destination.

" }, "KinesisStreamsInput":{ "type":"structure", @@ -1483,7 +1542,7 @@ "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream on your behalf. You need to grant the necessary permissions to this role.

" } }, - "documentation":"

When updating an output configuration using the UpdateApplication operation, provides information about an Amazon Kinesis stream configured as the destination.

" + "documentation":"

When updating an output configuration using the UpdateApplication operation, provides information about an Amazon Kinesis stream configured as the destination.

" }, "LambdaOutput":{ "type":"structure", @@ -1494,7 +1553,7 @@ "members":{ "ResourceARN":{ "shape":"ResourceARN", - "documentation":"

Amazon Resource Name (ARN) of the destination Lambda function to write to.

" + "documentation":"

Amazon Resource Name (ARN) of the destination Lambda function to write to.

To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda

" }, "RoleARN":{ "shape":"RoleARN", @@ -1522,14 +1581,14 @@ "members":{ "ResourceARNUpdate":{ "shape":"ResourceARN", - "documentation":"

Amazon Resource Name (ARN) of the destination Lambda function.

" + "documentation":"

Amazon Resource Name (ARN) of the destination Lambda function.

To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda

" }, "RoleARNUpdate":{ "shape":"RoleARN", "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to write to the destination function on your behalf. You need to grant the necessary permissions to this role.

" } }, - "documentation":"

When updating an output configuration using the UpdateApplication operation, provides information about an AWS Lambda function configured as the destination.

" + "documentation":"

When updating an output configuration using the UpdateApplication operation, provides information about an AWS Lambda function configured as the destination.

" }, "LimitExceededException":{ "type":"structure", @@ -1579,6 +1638,25 @@ }, "documentation":"

" }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"KinesisAnalyticsARN", + "documentation":"

The ARN of the application for which to retrieve tags.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"Tags", + "documentation":"

The key-value tags assigned to the application.

" + } + } + }, "LogStreamARN":{ "type":"string", "max":2048, @@ -1624,10 +1702,10 @@ }, "DestinationSchema":{ "shape":"DestinationSchema", - "documentation":"

Describes the data format when records are written to the destination. For more information, see Configuring Application Output.

" + "documentation":"

Describes the data format when records are written to the destination. For more information, see Configuring Application Output.

" } }, - "documentation":"

Describes application output configuration in which you identify an in-application stream and a destination where you want the in-application stream data to be written. The destination can be an Amazon Kinesis stream or an Amazon Kinesis Firehose delivery stream.

For limits on how many destinations an application can write and other limitations, see Limits.

" + "documentation":"

Describes application output configuration in which you identify an in-application stream and a destination where you want the in-application stream data to be written. The destination can be an Amazon Kinesis stream or an Amazon Kinesis Firehose delivery stream.

For limits on how many destinations an application can write and other limitations, see Limits.

" }, "OutputDescription":{ "type":"structure", @@ -1689,7 +1767,7 @@ }, "DestinationSchemaUpdate":{ "shape":"DestinationSchema", - "documentation":"

Describes the data format when records are written to the destination. For more information, see Configuring Application Output.

" + "documentation":"

Describes the data format when records are written to the destination. For more information, see Configuring Application Output.

" } }, "documentation":"

Describes updates to the output configuration identified by the OutputId.

" @@ -1734,7 +1812,7 @@ }, "Mapping":{ "shape":"RecordColumnMapping", - "documentation":"

Reference to the data element in the streaming input of the reference data source.

" + "documentation":"

Reference to the data element in the streaming input or the reference data source. This element is required if the RecordFormatType is JSON.

" }, "SqlType":{ "shape":"RecordColumnSqlType", @@ -1748,10 +1826,7 @@ "min":1 }, "RecordColumnMapping":{"type":"string"}, - "RecordColumnName":{ - "type":"string", - "pattern":"[a-zA-Z_][a-zA-Z0-9_]*" - }, + "RecordColumnName":{"type":"string"}, "RecordColumnSqlType":{ "type":"string", "min":1 @@ -1809,7 +1884,7 @@ }, "S3ReferenceDataSource":{ "shape":"S3ReferenceDataSource", - "documentation":"

Identifies the S3 bucket and object that contains the reference data. Also identifies the IAM role Amazon Kinesis Analytics can assume to read this object on your behalf. An Amazon Kinesis Analytics application loads reference data only once. If the data changes, you call the UpdateApplication operation to trigger reloading of data into your application.

" + "documentation":"

Identifies the S3 bucket and object that contains the reference data. Also identifies the IAM role Amazon Kinesis Analytics can assume to read this object on your behalf. An Amazon Kinesis Analytics application loads reference data only once. If the data changes, you call the UpdateApplication operation to trigger reloading of data into your application.

" }, "ReferenceSchema":{ "shape":"SourceSchema", @@ -1828,7 +1903,7 @@ "members":{ "ReferenceId":{ "shape":"Id", - "documentation":"

ID of the reference data source. This is the ID that Amazon Kinesis Analytics assigns when you add the reference data source to your application using the AddApplicationReferenceDataSource operation.

" + "documentation":"

ID of the reference data source. This is the ID that Amazon Kinesis Analytics assigns when you add the reference data source to your application using the AddApplicationReferenceDataSource operation.

" }, "TableName":{ "shape":"InAppTableName", @@ -1855,7 +1930,7 @@ "members":{ "ReferenceId":{ "shape":"Id", - "documentation":"

ID of the reference data source being updated. You can use the DescribeApplication operation to get this value.

" + "documentation":"

ID of the reference data source being updated. You can use the DescribeApplication operation to get this value.

" }, "TableNameUpdate":{ "shape":"InAppTableName", @@ -1909,7 +1984,7 @@ "members":{ "message":{"shape":"ErrorMessage"} }, - "documentation":"

Discovery failed to get a record from the streaming source because of the Amazon Kinesis Streams ProvisionedThroughputExceededException. For more information, see GetRecords in the Amazon Kinesis Streams API Reference.

", + "documentation":"

Discovery failed to get a record from the streaming source because of the Amazon Kinesis Streams ProvisionedThroughputExceededException. For more information, see GetRecords in the Amazon Kinesis Streams API Reference.

", "exception":true }, "RoleARN":{ @@ -1962,7 +2037,7 @@ "documentation":"

ARN of the IAM role that the service can assume to read data on your behalf. This role must have permission for the s3:GetObject action on the object and trust policy that allows Amazon Kinesis Analytics service principal to assume this role.

" } }, - "documentation":"

Identifies the S3 bucket and object that contains the reference data. Also identifies the IAM role Amazon Kinesis Analytics can assume to read this object on your behalf.

An Amazon Kinesis Analytics application loads reference data only once. If the data changes, you call the UpdateApplication operation to trigger reloading of data into your application.

" + "documentation":"

Identifies the S3 bucket and object that contains the reference data. Also identifies the IAM role Amazon Kinesis Analytics can assume to read this object on your behalf.

An Amazon Kinesis Analytics application loads reference data only once. If the data changes, you call the UpdateApplication operation to trigger reloading of data into your application.

" }, "S3ReferenceDataSourceDescription":{ "type":"structure", @@ -2077,7 +2152,74 @@ }, "documentation":"

" }, + "Tag":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

The key of the key-value tag.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The value of the key-value tag. The value is optional.

" + } + }, + "documentation":"

A key-value pair (the value is optional) that you can define and assign to AWS resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management Guide.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "Tags" + ], + "members":{ + "ResourceARN":{ + "shape":"KinesisAnalyticsARN", + "documentation":"

The ARN of the application to assign the tags.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The key-value tags to assign to the application.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "Tags":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200, + "min":1 + }, "Timestamp":{"type":"timestamp"}, + "TooManyTagsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Application created with too many tags, or too many tags added to an application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50.

", + "exception":true + }, "UnableToDetectSchemaException":{ "type":"structure", "members":{ @@ -2093,8 +2235,31 @@ "members":{ "message":{"shape":"ErrorMessage"} }, + "documentation":"

The request was rejected because a specified parameter is not supported or a specified resource is not valid for this operation.

", "exception":true }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeys" + ], + "members":{ + "ResourceARN":{ + "shape":"KinesisAnalyticsARN", + "documentation":"

The ARN of the Kinesis Analytics application from which to remove the tags.

" + }, + "TagKeys":{ + "shape":"TagKeys", + "documentation":"

A list of keys of tags to remove from the specified application.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateApplicationRequest":{ "type":"structure", "required":[ @@ -2109,7 +2274,7 @@ }, "CurrentApplicationVersionId":{ "shape":"ApplicationVersionId", - "documentation":"

The current application version ID. You can use the DescribeApplication operation to get this value.

" + "documentation":"

The current application version ID. You can use the DescribeApplication operation to get this value.

" }, "ApplicationUpdate":{ "shape":"ApplicationUpdate", @@ -2122,5 +2287,6 @@ "members":{ } } - } + }, + "documentation":"Amazon Kinesis Analytics

Overview

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

This is the Amazon Kinesis Analytics v1 API Reference. The Amazon Kinesis Analytics Developer Guide provides additional information.

" } diff --git a/bin/botocore/data/kinesisanalyticsv2/2018-05-23/paginators-1.json b/bin/botocore/data/kinesisanalyticsv2/2018-05-23/paginators-1.json index ea142457..70052cd3 100644 --- a/bin/botocore/data/kinesisanalyticsv2/2018-05-23/paginators-1.json +++ b/bin/botocore/data/kinesisanalyticsv2/2018-05-23/paginators-1.json @@ -1,3 +1,16 @@ { - "pagination": {} + "pagination": { + "ListApplicationSnapshots": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "SnapshotSummaries" + }, + "ListApplications": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "ApplicationSummaries" + } + } } diff --git a/bin/botocore/data/kinesisanalyticsv2/2018-05-23/service-2.json b/bin/botocore/data/kinesisanalyticsv2/2018-05-23/service-2.json index 223c60b3..eaecff58 100644 --- a/bin/botocore/data/kinesisanalyticsv2/2018-05-23/service-2.json +++ b/bin/botocore/data/kinesisanalyticsv2/2018-05-23/service-2.json @@ -27,7 +27,8 @@ {"shape":"ResourceInUseException"}, {"shape":"InvalidArgumentException"}, {"shape":"ConcurrentModificationException"}, - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InvalidApplicationConfigurationException"} ], "documentation":"

Adds an Amazon CloudWatch log stream to monitor application configuration errors.

" }, @@ -113,9 +114,11 @@ {"shape":"ResourceInUseException"}, {"shape":"LimitExceededException"}, {"shape":"InvalidArgumentException"}, - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"TooManyTagsException"}, + {"shape":"ConcurrentModificationException"} ], - "documentation":"

Creates an Amazon Kinesis Data Analytics application. For information about creating a Kinesis Data Analytics application, see Creating an Application.

SQL is not enabled for this private beta release. Using SQL parameters (such as SqlApplicationConfiguration) will result in an error.

" + "documentation":"

Creates an Amazon Kinesis Data Analytics application. For information about creating a Kinesis Data Analytics application, see Creating an Application.

" }, "CreateApplicationSnapshot":{ "name":"CreateApplicationSnapshot", @@ -148,7 +151,8 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ResourceInUseException"}, {"shape":"InvalidArgumentException"}, - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InvalidApplicationConfigurationException"} ], "documentation":"

Deletes the specified application. Kinesis Data Analytics halts application execution and deletes the application.

" }, @@ -165,7 +169,8 @@ {"shape":"ResourceInUseException"}, {"shape":"InvalidArgumentException"}, {"shape":"ConcurrentModificationException"}, - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InvalidApplicationConfigurationException"} ], "documentation":"

Deletes an Amazon CloudWatch log stream from an Amazon Kinesis Data Analytics application.

" }, @@ -311,6 +316,21 @@ ], "documentation":"

Returns a list of Amazon Kinesis Data Analytics applications in your account. For each application, the response includes the application name, Amazon Resource Name (ARN), and status.

If you want detailed information about a specific application, use DescribeApplication.

" }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Retrieves the list of key-value tags assigned to the application.

" + }, "StartApplication":{ "name":"StartApplication", "http":{ @@ -326,7 +346,7 @@ {"shape":"InvalidApplicationConfigurationException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Starts the specified Amazon Kinesis Data Analytics application. After creating an application, you must exclusively call this operation to start your application.

SQL is not enabled for this private beta. Using SQL parameters (such as RunConfiguration$SqlRunConfigurations) will result in an error.

" + "documentation":"

Starts the specified Amazon Kinesis Data Analytics application. After creating an application, you must exclusively call this operation to start your application.

" }, "StopApplication":{ "name":"StopApplication", @@ -340,10 +360,45 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ResourceInUseException"}, {"shape":"InvalidArgumentException"}, - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InvalidApplicationConfigurationException"} ], "documentation":"

Stops the application from processing data. You can stop an application only if it is in the running state. You can use the DescribeApplication operation to find the application state.

" }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Adds one or more key-value tags to a Kinesis Analytics application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Removes one or more tags from a Kinesis Analytics application.

" + }, "UpdateApplication":{ "name":"UpdateApplication", "http":{ @@ -358,9 +413,10 @@ {"shape":"ResourceInUseException"}, {"shape":"InvalidArgumentException"}, {"shape":"ConcurrentModificationException"}, - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"InvalidApplicationConfigurationException"} ], - "documentation":"

Updates an existing Amazon Kinesis Data Analytics application. Using this operation, you can update application code, input configuration, and output configuration.

Kinesis Data Analytics updates the ApplicationVersionId each time you update your application.

SQL is not enabled for this private beta. Using SQL parameters (such as SqlApplicationConfigurationUpdate) will result in an error.

" + "documentation":"

Updates an existing Amazon Kinesis Data Analytics application. Using this operation, you can update application code, input configuration, and output configuration.

Kinesis Data Analytics updates the ApplicationVersionId each time you update your application.

" } }, "shapes":{ @@ -525,7 +581,7 @@ }, "OutputDescriptions":{ "shape":"OutputDescriptions", - "documentation":"

Describes the application output configuration. For more information, see Configuring Application Output.

" + "documentation":"

Describes the application output configuration. For more information, see Configuring Application Output.

" } } }, @@ -724,7 +780,7 @@ }, "RuntimeEnvironment":{ "shape":"RuntimeEnvironment", - "documentation":"

The runtime environment for the application (SQL-1.0 or JAVA-8-FLINK-1.5).

" + "documentation":"

The runtime environment for the application (SQL-1.0 or FLINK-1_6).

" }, "ServiceExecutionRole":{ "shape":"RoleARN", @@ -862,7 +918,7 @@ }, "RuntimeEnvironment":{ "shape":"RuntimeEnvironment", - "documentation":"

The runtime environment for the application (SQL-1.0 or JAVA-8-FLINK-1.5).

" + "documentation":"

The runtime environment for the application (SQL-1.0 or FLINK-1_6).

" } }, "documentation":"

Provides application summary information, including the application Amazon Resource Name (ARN), name, and status.

" @@ -1141,7 +1197,7 @@ }, "RuntimeEnvironment":{ "shape":"RuntimeEnvironment", - "documentation":"

The runtime environment for the application (SQL-1.0 or JAVA-8-FLINK-1.5).

" + "documentation":"

The runtime environment for the application (SQL-1.0 or FLINK-1_6).

" }, "ServiceExecutionRole":{ "shape":"RoleARN", @@ -1154,6 +1210,10 @@ "CloudWatchLoggingOptions":{ "shape":"CloudWatchLoggingOptions", "documentation":"

Use this parameter to configure an Amazon CloudWatch log stream to monitor application configuration errors.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A list of one or more tags to assign to the application. A tag is a key-value pair that identifies an application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management Guide.

" } } }, @@ -1596,8 +1656,7 @@ "InAppStreamName":{ "type":"string", "max":32, - "min":1, - "pattern":"[a-zA-Z][a-zA-Z0-9_]+" + "min":1 }, "InAppStreamNames":{ "type":"list", @@ -1606,8 +1665,7 @@ "InAppTableName":{ "type":"string", "max":32, - "min":1, - "pattern":"[a-zA-Z][a-zA-Z0-9_]+" + "min":1 }, "Input":{ "type":"structure", @@ -1695,7 +1753,7 @@ "members":{ "ResourceARN":{ "shape":"ResourceARN", - "documentation":"

The ARN of the AWS Lambda function that operates on records in the stream.

" + "documentation":"

The ARN of the AWS Lambda function that operates on records in the stream.

To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda

" } }, "documentation":"

An object that contains the Amazon Resource Name (ARN) of the AWS Lambda function that is used to preprocess records in the stream in an SQL-based Amazon Kinesis Data Analytics application.

" @@ -1706,7 +1764,7 @@ "members":{ "ResourceARN":{ "shape":"ResourceARN", - "documentation":"

The ARN of the AWS Lambda function that is used to preprocess the records in the stream.

" + "documentation":"

The ARN of the AWS Lambda function that is used to preprocess the records in the stream.

To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda

" }, "RoleARN":{ "shape":"RoleARN", @@ -1721,7 +1779,7 @@ "members":{ "ResourceARNUpdate":{ "shape":"ResourceARN", - "documentation":"

The Amazon Resource Name (ARN) of the new AWS Lambda function that is used to preprocess the records in the stream.

" + "documentation":"

The Amazon Resource Name (ARN) of the new AWS Lambda function that is used to preprocess the records in the stream.

To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda

" } }, "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, represents an update to the InputLambdaProcessor that is used to preprocess the records in the stream.

" @@ -1899,6 +1957,12 @@ "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, provides additional mapping information when JSON is the record format on the streaming source.

" }, "JobPlanDescription":{"type":"string"}, + "KinesisAnalyticsARN":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:aws:kinesisanalytics:[a-z]{2}-[a-z]+-\\d{1}+:\\d{12}+:application/[a-zA-Z0-9_.-]{1,128}" + }, "KinesisFirehoseInput":{ "type":"structure", "required":["ResourceARN"], @@ -2053,7 +2117,7 @@ "members":{ "ResourceARN":{ "shape":"ResourceARN", - "documentation":"

The Amazon Resource Name (ARN) of the destination Lambda function to write to.

" + "documentation":"

The Amazon Resource Name (ARN) of the destination Lambda function to write to.

To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda

" } }, "documentation":"

When you configure an SQL-based Amazon Kinesis Data Analytics application's output, identifies an AWS Lambda function as the destination. You provide the function Amazon Resource Name (ARN) of the Lambda function.

" @@ -2079,7 +2143,7 @@ "members":{ "ResourceARNUpdate":{ "shape":"ResourceARN", - "documentation":"

The Amazon Resource Name (ARN) of the destination AWS Lambda function.

" + "documentation":"

The Amazon Resource Name (ARN) of the destination AWS Lambda function.

To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda

" } }, "documentation":"

When you update an SQL-based Amazon Kinesis Data Analytics application's output configuration using the UpdateApplication operation, provides information about an AWS Lambda function that is configured as the destination.

" @@ -2160,6 +2224,25 @@ "max":50, "min":1 }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"KinesisAnalyticsARN", + "documentation":"

The ARN of the application for which to retrieve tags.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"Tags", + "documentation":"

The key-value tags assigned to the application.

" + } + } + }, "LogLevel":{ "type":"string", "enum":[ @@ -2219,7 +2302,7 @@ "documentation":"

Describes the verbosity of the CloudWatch Logs for an application.

" } }, - "documentation":"

Describes configuration parameters for Amazon CloudWatch logging for a Java-based Kinesis Data Analytics application. For more information about CloudWatch logging, see Monitoring.

" + "documentation":"

Describes configuration parameters for Amazon CloudWatch logging for a Java-based Kinesis Data Analytics application. For more information about CloudWatch logging, see Monitoring.

" }, "MonitoringConfigurationDescription":{ "type":"structure", @@ -2517,7 +2600,7 @@ }, "Mapping":{ "shape":"RecordColumnMapping", - "documentation":"

A reference to the data element in the streaming input of the reference data source.

" + "documentation":"

A reference to the data element in the streaming input or the reference data source.

" }, "SqlType":{ "shape":"RecordColumnSqlType", @@ -2531,10 +2614,7 @@ "min":1 }, "RecordColumnMapping":{"type":"string"}, - "RecordColumnName":{ - "type":"string", - "pattern":"[a-zA-Z_][a-zA-Z0-9_]*" - }, + "RecordColumnName":{"type":"string"}, "RecordColumnSqlType":{ "type":"string", "min":1 @@ -3060,12 +3140,79 @@ "members":{ } }, + "Tag":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

The key of the key-value tag.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The value of the key-value tag. The value is optional.

" + } + }, + "documentation":"

A key-value pair (the value is optional) that you can define and assign to AWS resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management Guide.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "Tags" + ], + "members":{ + "ResourceARN":{ + "shape":"KinesisAnalyticsARN", + "documentation":"

The ARN of the application to assign the tags.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The key-value tags to assign to the application.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "Tags":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200, + "min":1 + }, "TextContent":{ "type":"string", "max":102400, "min":0 }, "Timestamp":{"type":"timestamp"}, + "TooManyTagsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Application created with too many tags, or too many tags added to an application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50.

", + "exception":true + }, "UnableToDetectSchemaException":{ "type":"structure", "members":{ @@ -3090,6 +3237,28 @@ "documentation":"

The request was rejected because a specified parameter is not supported or a specified resource is not valid for this operation.

", "exception":true }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeys" + ], + "members":{ + "ResourceARN":{ + "shape":"KinesisAnalyticsARN", + "documentation":"

The ARN of the Kinesis Analytics application from which to remove the tags.

" + }, + "TagKeys":{ + "shape":"TagKeys", + "documentation":"

A list of keys of tags to remove from the specified application.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateApplicationRequest":{ "type":"structure", "required":[ @@ -3139,5 +3308,5 @@ "min":0 } }, - "documentation":"

Documentation for Kinesis Data Analytics API v2

" + "documentation":"

Amazon Kinesis Data Analytics is a fully managed service that you can use to process and analyze streaming data using SQL or Java. The service enables you to quickly author and run SQL or Java code against streaming sources to perform time series analytics, feed real-time dashboards, and create real-time metrics.

" } diff --git a/bin/botocore/data/kinesisvideo/2017-09-30/paginators-1.json b/bin/botocore/data/kinesisvideo/2017-09-30/paginators-1.json index ea142457..bb58205d 100644 --- a/bin/botocore/data/kinesisvideo/2017-09-30/paginators-1.json +++ b/bin/botocore/data/kinesisvideo/2017-09-30/paginators-1.json @@ -1,3 +1,10 @@ { - "pagination": {} + "pagination": { + "ListStreams": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "StreamInfoList" + } + } } diff --git a/bin/botocore/data/kinesisvideo/2017-09-30/service-2.json b/bin/botocore/data/kinesisvideo/2017-09-30/service-2.json index 98504cc0..aeca0da8 100644 --- a/bin/botocore/data/kinesisvideo/2017-09-30/service-2.json +++ b/bin/botocore/data/kinesisvideo/2017-09-30/service-2.json @@ -25,9 +25,10 @@ {"shape":"ResourceInUseException"}, {"shape":"InvalidDeviceException"}, {"shape":"InvalidArgumentException"}, - {"shape":"ClientLimitExceededException"} + {"shape":"ClientLimitExceededException"}, + {"shape":"TagsPerResourceExceededLimitException"} ], - "documentation":"

Creates a new Kinesis video stream.

When you create a new stream, Kinesis Video Streams assigns it a version number. When you change the stream's metadata, Kinesis Video Streams updates the version.

CreateStream is an asynchronous operation.

For information about how the service works, see How it Works.

You must have permissions for the KinesisVideo:CreateStream action.

" + "documentation":"

Creates a new Kinesis video stream.

When you create a new stream, Kinesis Video Streams assigns it a version number. When you change the stream's metadata, Kinesis Video Streams updates the version.

CreateStream is an asynchronous operation.

For information about how the service works, see How it Works.

You must have permissions for the KinesisVideo:CreateStream action.

" }, "DeleteStream":{ "name":"DeleteStream", @@ -41,7 +42,8 @@ {"shape":"ClientLimitExceededException"}, {"shape":"InvalidArgumentException"}, {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"} + {"shape":"NotAuthorizedException"}, + {"shape":"VersionMismatchException"} ], "documentation":"

Deletes a Kinesis video stream and the data contained in the stream.

This method marks the stream for deletion, and makes the data in the stream inaccessible immediately.

To ensure that you have the latest version of the stream before deleting it, you can specify the stream version. Kinesis Video Streams assigns a version to each stream. When you update a stream, Kinesis Video Streams assigns a new version number. To get the latest stream version, use the DescribeStream API.

This operation requires permission for the KinesisVideo:DeleteStream action.

" }, @@ -124,7 +126,7 @@ {"shape":"InvalidResourceFormatException"}, {"shape":"TagsPerResourceExceededLimitException"} ], - "documentation":"

Adds one or more tags to a stream. A tag is a key-value pair (the value is optional) that you can define and assign to AWS resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

You must provide either the StreamName or the StreamARN.

This operation requires permission for the KinesisVideo:TagStream action.

Kinesis video streams support up to 50 tags.

" + "documentation":"

Adds one or more tags to a stream. A tag is a key-value pair (the value is optional) that you can define and assign to AWS resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

You must provide either the StreamName or the StreamARN.

This operation requires permission for the KinesisVideo:TagStream action.

Kinesis video streams support up to 50 tags.

" }, "UntagStream":{ "name":"UntagStream", @@ -227,15 +229,19 @@ }, "MediaType":{ "shape":"MediaType", - "documentation":"

The media type of the stream. Consumers of the stream can use this information when processing the stream. For more information about media types, see Media Types. If you choose to specify the MediaType, see Naming Requirements for guidelines.

To play video on the console, the media must be H.264 encoded, and you need to specify this video type in this parameter as video/h264.

This parameter is optional; the default value is null (or empty in JSON).

" + "documentation":"

The media type of the stream. Consumers of the stream can use this information when processing the stream. For more information about media types, see Media Types. If you choose to specify the MediaType, see Naming Requirements for guidelines.

This parameter is optional; the default value is null (or empty in JSON).

" }, "KmsKeyId":{ "shape":"KmsKeyId", - "documentation":"

The ID of the AWS Key Management Service (AWS KMS) key that you want Kinesis Video Streams to use to encrypt stream data.

If no key ID is specified, the default, Kinesis Video-managed key (aws/kinesisvideo) is used.

For more information, see DescribeKey.

" + "documentation":"

The ID of the AWS Key Management Service (AWS KMS) key that you want Kinesis Video Streams to use to encrypt stream data.

If no key ID is specified, the default, Kinesis Video-managed key (aws/kinesisvideo) is used.

For more information, see DescribeKey.

" }, "DataRetentionInHours":{ "shape":"DataRetentionInHours", "documentation":"

The number of hours that you want to retain the data in the stream. Kinesis Video Streams retains the data in a data store that is associated with the stream.

The default value is 0, indicating that the stream does not persist data.

When the DataRetentionInHours value is 0, consumers can still consume the fragments that remain in the service host buffer, which has a retention time limit of 5 minutes and a retention memory limit of 200 MB. Fragments are removed from the buffer when either limit is reached.

" + }, + "Tags":{ + "shape":"ResourceTags", + "documentation":"

A list of tags to associate with the specified stream. Each tag is a key-value pair (the value is optional).

" } } }, @@ -442,7 +448,7 @@ "type":"string", "max":128, "min":1, - "pattern":"[\\w\\-\\.\\+]+/[\\w\\-\\.\\+]+" + "pattern":"[\\w\\-\\.\\+]+/[\\w\\-\\.\\+]+(,[\\w\\-\\.\\+]+/[\\w\\-\\.\\+]+)*" }, "NextToken":{ "type":"string", @@ -662,7 +668,7 @@ }, "DataRetentionChangeInHours":{ "shape":"DataRetentionChangeInHours", - "documentation":"

The retention period, in hours. The value you specify replaces the current value.

" + "documentation":"

The retention period, in hours. The value you specify replaces the current value. The maximum value for this parameter is 87600 (ten years).

" } } }, @@ -720,7 +726,7 @@ "members":{ "Message":{"shape":"ErrorMessage"} }, - "documentation":"

The stream version that you specified is not the latest version. To get the latest version, use the DescribeStream API.

", + "documentation":"

The stream version that you specified is not the latest version. To get the latest version, use the DescribeStream API.

", "error":{"httpStatusCode":400}, "exception":true } diff --git a/bin/botocore/data/kms/2014-11-01/service-2.json b/bin/botocore/data/kms/2014-11-01/service-2.json index be6d5ab5..715b236d 100644 --- a/bin/botocore/data/kms/2014-11-01/service-2.json +++ b/bin/botocore/data/kms/2014-11-01/service-2.json @@ -28,7 +28,7 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Cancels the deletion of a customer master key (CMK). When this operation is successful, the CMK is set to the Disabled state. To enable a CMK, use EnableKey. You cannot perform this operation on a CMK in a different AWS account.

For more information about scheduling and canceling deletion of a CMK, see Deleting Customer Master Keys in the AWS Key Management Service Developer Guide.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + "documentation":"

Cancels the deletion of a customer master key (CMK). When this operation is successful, the CMK is set to the Disabled state. To enable a CMK, use EnableKey. You cannot perform this operation on a CMK in a different AWS account.

For more information about scheduling and canceling deletion of a CMK, see Deleting Customer Master Keys in the AWS Key Management Service Developer Guide.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "ConnectCustomKeyStore":{ "name":"ConnectCustomKeyStore", @@ -45,7 +45,7 @@ {"shape":"KMSInternalException"}, {"shape":"CloudHsmClusterInvalidConfigurationException"} ], - "documentation":"

Connects or reconnects a custom key store to its associated AWS CloudHSM cluster.

The custom key store must be connected before you can create customer master keys (CMKs) in the key store or use the CMKs it contains. You can disconnect and reconnect a custom key store at any time.

To connect a custom key store, its associated AWS CloudHSM cluster must have at least one active HSM. To get the number of active HSMs in a cluster, use the DescribeClusters operation. To add HSMs to the cluster, use the CreateHsm operation.

The connection process can take an extended amount of time to complete; up to 20 minutes. This operation starts the connection process, but it does not wait for it to complete. When it succeeds, this operation quickly returns an HTTP 200 response and a JSON object with no properties. However, this response does not indicate that the custom key store is connected. To get the connection state of the custom key store, use the DescribeCustomKeyStores operation.

During the connection process, AWS KMS finds the AWS CloudHSM cluster that is associated with the custom key store, creates the connection infrastructure, connects to the cluster, logs into the AWS CloudHSM client as the kmsuser crypto user (CU), and rotates its password.

The ConnectCustomKeyStore operation might fail for various reasons. To find the reason, use the DescribeCustomKeyStores operation and see the ConnectionErrorCode in the response. For help interpreting the ConnectionErrorCode, see CustomKeyStoresListEntry.

To fix the failure, use the DisconnectCustomKeyStore operation to disconnect the custom key store, correct the error, use the UpdateCustomKeyStore operation if necessary, and then use ConnectCustomKeyStore again.

If you are having trouble connecting or disconnecting a custom key store, see Troubleshooting a Custom Key Store in the AWS Key Management Service Developer Guide.

" + "documentation":"

Connects or reconnects a custom key store to its associated AWS CloudHSM cluster.

The custom key store must be connected before you can create customer master keys (CMKs) in the key store or use the CMKs it contains. You can disconnect and reconnect a custom key store at any time.

To connect a custom key store, its associated AWS CloudHSM cluster must have at least one active HSM. To get the number of active HSMs in a cluster, use the DescribeClusters operation. To add HSMs to the cluster, use the CreateHsm operation.

The connection process can take an extended amount of time to complete; up to 20 minutes. This operation starts the connection process, but it does not wait for it to complete. When it succeeds, this operation quickly returns an HTTP 200 response and a JSON object with no properties. However, this response does not indicate that the custom key store is connected. To get the connection state of the custom key store, use the DescribeCustomKeyStores operation.

During the connection process, AWS KMS finds the AWS CloudHSM cluster that is associated with the custom key store, creates the connection infrastructure, connects to the cluster, logs into the AWS CloudHSM client as the kmsuser crypto user (CU), and rotates its password.

The ConnectCustomKeyStore operation might fail for various reasons. To find the reason, use the DescribeCustomKeyStores operation and see the ConnectionErrorCode in the response. For help interpreting the ConnectionErrorCode, see CustomKeyStoresListEntry.

To fix the failure, use the DisconnectCustomKeyStore operation to disconnect the custom key store, correct the error, use the UpdateCustomKeyStore operation if necessary, and then use ConnectCustomKeyStore again.

If you are having trouble connecting or disconnecting a custom key store, see Troubleshooting a Custom Key Store in the AWS Key Management Service Developer Guide.

" }, "CreateAlias":{ "name":"CreateAlias", @@ -63,7 +63,7 @@ {"shape":"LimitExceededException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Creates a display name for a customer master key (CMK). You can use an alias to identify a CMK in selected operations, such as Encrypt and GenerateDataKey.

Each CMK can have multiple aliases, but each alias points to only one CMK. The alias name must be unique in the AWS account and region. To simplify code that runs in multiple regions, use the same alias name, but point it to a different CMK in each region.

Because an alias is not a property of a CMK, you can delete and change the aliases of a CMK without affecting the CMK. Also, aliases do not appear in the response from the DescribeKey operation. To get the aliases of all CMKs, use the ListAliases operation.

An alias must start with the word alias followed by a forward slash (alias/). The alias name can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). Alias names cannot begin with aws; that alias name prefix is reserved by Amazon Web Services (AWS).

The alias and the CMK it is mapped to must be in the same AWS account and the same region. You cannot perform this operation on an alias in a different AWS account.

To map an existing alias to a different CMK, call UpdateAlias.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + "documentation":"

Creates a display name for a customer managed customer master key (CMK). You can use an alias to identify a CMK in selected operations, such as Encrypt and GenerateDataKey.

Each CMK can have multiple aliases, but each alias points to only one CMK. The alias name must be unique in the AWS account and region. To simplify code that runs in multiple regions, use the same alias name, but point it to a different CMK in each region.

Because an alias is not a property of a CMK, you can delete and change the aliases of a CMK without affecting the CMK. Also, aliases do not appear in the response from the DescribeKey operation. To get the aliases of all CMKs, use the ListAliases operation.

The alias name must begin with alias/ followed by a name, such as alias/ExampleAlias. It can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). The alias name cannot begin with alias/aws/. The alias/aws/ prefix is reserved for AWS managed CMKs.

The alias and the CMK it is mapped to must be in the same AWS account and the same region. You cannot perform this operation on an alias in a different AWS account.

To map an existing alias to a different CMK, call UpdateAlias.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "CreateCustomKeyStore":{ "name":"CreateCustomKeyStore", @@ -82,7 +82,7 @@ {"shape":"IncorrectTrustAnchorException"}, {"shape":"CloudHsmClusterInvalidConfigurationException"} ], - "documentation":"

Creates a custom key store that is associated with an AWS CloudHSM cluster that you own and manage.

This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.

When the operation completes successfully, it returns the ID of the new custom key store. Before you can use your new custom key store, you need to use the ConnectCustomKeyStore operation to connect the new key store to its AWS CloudHSM cluster.

The CreateCustomKeyStore operation requires the following elements.

  • You must specify an active AWS CloudHSM cluster in the same account and AWS Region as the custom key store. You can use an existing cluster or create and activate a new AWS CloudHSM cluster for the key store. AWS KMS does not require exclusive use of the cluster.

  • You must include the content of the trust anchor certificate for the cluster. You created this certificate, and saved it in the customerCA.crt file, when you initialized the cluster.

  • You must provide the password of the dedicated kmsuser crypto user (CU) account in the cluster.

    Before you create the custom key store, use the createUser command in cloudhsm_mgmt_util to create a crypto user (CU) named kmsuser in specified AWS CloudHSM cluster. AWS KMS uses the kmsuser CU account to create and manage key material on your behalf. For instructions, see Create the kmsuser Crypto User in the AWS Key Management Service Developer Guide.

The AWS CloudHSM cluster that you specify must meet the following requirements.

  • The cluster must be active and be in the same AWS account and Region as the custom key store.

  • Each custom key store must be associated with a different AWS CloudHSM cluster. The cluster cannot be associated with another custom key store or have the same cluster certificate as a cluster that is associated with another custom key store. To view the cluster certificate, use the AWS CloudHSM DescribeClusters operation. Clusters that share a backup history have the same cluster certificate.

  • The cluster must be configured with subnets in at least two different Availability Zones in the Region. Because AWS CloudHSM is not supported in all Availability Zones, we recommend that the cluster have subnets in all Availability Zones in the Region.

  • The cluster must contain at least two active HSMs, each in a different Availability Zone.

New custom key stores are not automatically connected. After you create your custom key store, use the ConnectCustomKeyStore operation to connect the custom key store to its associated AWS CloudHSM cluster. Even if you are not going to use your custom key store immediately, you might want to connect it to verify that all settings are correct and then disconnect it until you are ready to use it.

If this operation succeeds, it returns the ID of the new custom key store. For help with failures, see Troubleshoot a Custom Key Store in the AWS KMS Developer Guide.

" + "documentation":"

Creates a custom key store that is associated with an AWS CloudHSM cluster that you own and manage.

This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.

Before you create the custom key store, you must assemble the required elements, including an AWS CloudHSM cluster that fulfills the requirements for a custom key store. For details about the required elements, see Assemble the Prerequisites in the AWS Key Management Service Developer Guide.

When the operation completes successfully, it returns the ID of the new custom key store. Before you can use your new custom key store, you need to use the ConnectCustomKeyStore operation to connect the new key store to its AWS CloudHSM cluster. Even if you are not going to use your custom key store immediately, you might want to connect it to verify that all settings are correct and then disconnect it until you are ready to use it.

For help with failures, see Troubleshooting a Custom Key Store in the AWS Key Management Service Developer Guide.

" }, "CreateGrant":{ "name":"CreateGrant", @@ -102,7 +102,7 @@ {"shape":"LimitExceededException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Adds a grant to a customer master key (CMK). The grant specifies who can use the CMK and under what conditions. When setting permissions, grants are an alternative to key policies.

To perform this operation on a CMK in a different AWS account, specify the key ARN in the value of the KeyId parameter. For more information about grants, see Grants in the AWS Key Management Service Developer Guide.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + "documentation":"

Adds a grant to a customer master key (CMK). The grant allows the grantee principal to use the CMK when the conditions specified in the grant are met. When setting permissions, grants are an alternative to key policies.

To create a grant that allows a cryptographic operation only when the encryption context in the operation request matches or includes a specified encryption context, use the Constraints parameter. For details, see GrantConstraints.

To perform this operation on a CMK in a different AWS account, specify the key ARN in the value of the KeyId parameter. For more information about grants, see Grants in the AWS Key Management Service Developer Guide .

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "CreateKey":{ "name":"CreateKey", @@ -124,7 +124,7 @@ {"shape":"CustomKeyStoreInvalidStateException"}, {"shape":"CloudHsmClusterInvalidConfigurationException"} ], - "documentation":"

Creates a customer master key (CMK) in the caller's AWS account.

You can use a CMK to encrypt small amounts of data (4 KiB or less) directly, but CMKs are more commonly used to encrypt data keys, which are used to encrypt raw data. For more information about data keys and the difference between CMKs and data keys, see the following:

If you plan to import key material, use the Origin parameter with a value of EXTERNAL to create a CMK with no key material.

To create a CMK in a custom key store, use CustomKeyStoreId parameter to specify the custom key store. You must also use the Origin parameter with a value of AWS_CLOUDHSM. The AWS CloudHSM cluster that is associated with the custom key store must have at least two active HSMs, each in a different Availability Zone in the Region.

You cannot use this operation to create a CMK in a different AWS account.

" + "documentation":"

Creates a customer managed customer master key (CMK) in your AWS account.

You can use a CMK to encrypt small amounts of data (up to 4096 bytes) directly. But CMKs are more commonly used to encrypt the data keys that are used to encrypt data.

To create a CMK for imported key material, use the Origin parameter with a value of EXTERNAL.

To create a CMK in a custom key store, use the CustomKeyStoreId parameter to specify the custom key store. You must also use the Origin parameter with a value of AWS_CLOUDHSM. The AWS CloudHSM cluster that is associated with the custom key store must have at least two active HSMs in different Availability Zones in the AWS Region.

You cannot use this operation to create a CMK in a different AWS account.

" }, "Decrypt":{ "name":"Decrypt", @@ -144,7 +144,7 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Decrypts ciphertext. Ciphertext is plaintext that has been previously encrypted by using any of the following operations:

Note that if a caller has been granted access permissions to all keys (through, for example, IAM user policies that grant Decrypt permission on all resources), then ciphertext encrypted by using keys in other accounts where the key grants access to the caller can be decrypted. To remedy this, we recommend that you do not grant Decrypt access in an IAM user policy. Instead grant Decrypt access only in key policies. If you must grant Decrypt access in an IAM user policy, you should scope the resource to specific keys or to specific trusted accounts.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + "documentation":"

Decrypts ciphertext. Ciphertext is plaintext that has been previously encrypted by using any of the following operations:

Whenever possible, use key policies to give users permission to call the Decrypt operation on the CMK, instead of IAM policies. Otherwise, you might create an IAM user policy that gives the user Decrypt permission on all CMKs. This user could decrypt ciphertext that was encrypted by CMKs in other accounts if the key policy for the cross-account CMK permits it. If you must use an IAM policy for Decrypt permissions, limit the user to particular CMKs or particular trusted accounts.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "DeleteAlias":{ "name":"DeleteAlias", @@ -175,7 +175,7 @@ {"shape":"CustomKeyStoreNotFoundException"}, {"shape":"KMSInternalException"} ], - "documentation":"

Deletes a custom key store. This operation does not delete the AWS CloudHSM cluster that is associated with the custom key store, or affect any users or keys in the cluster.

The custom key store that you delete cannot contain any AWS KMS customer master keys (CMKs). Before deleting the key store, verify that you will never need to use any of the CMKs in the key store for any cryptographic operations. Then, use ScheduleKeyDeletion to delete the AWS KMS customer master keys (CMKs) from the key store. When the scheduled waiting period expires, the ScheduleKeyDeletion operation deletes the CMKs. Then it makes a best effort to delete the key material from the associated cluster. However, you might need to manually delete the orphaned key material from the cluster and its backups.

After all CMKs are deleted from AWS KMS, use DisconnectCustomKeyStore to disconnect the key store from AWS KMS. Then, you can delete the custom key store.

Instead of deleting the custom key store, consider using DisconnectCustomKeyStore to disconnect it from AWS KMS. While the key store is disconnected, you cannot create or use the CMKs in the key store. But, you do not need to delete CMKs and you can reconnect a disconnected custom key store at any time.

If the operation succeeds, it returns a JSON object with no properties.

This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.

" + "documentation":"

Deletes a custom key store. This operation does not delete the AWS CloudHSM cluster that is associated with the custom key store, or affect any users or keys in the cluster.

The custom key store that you delete cannot contain any AWS KMS customer master keys (CMKs). Before deleting the key store, verify that you will never need to use any of the CMKs in the key store for any cryptographic operations. Then, use ScheduleKeyDeletion to delete the AWS KMS customer master keys (CMKs) from the key store. When the scheduled waiting period expires, the ScheduleKeyDeletion operation deletes the CMKs. Then it makes a best effort to delete the key material from the associated cluster. However, you might need to manually delete the orphaned key material from the cluster and its backups.

After all CMKs are deleted from AWS KMS, use DisconnectCustomKeyStore to disconnect the key store from AWS KMS. Then, you can delete the custom key store.

Instead of deleting the custom key store, consider using DisconnectCustomKeyStore to disconnect it from AWS KMS. While the key store is disconnected, you cannot create or use the CMKs in the key store. But, you do not need to delete CMKs and you can reconnect a disconnected custom key store at any time.

If the operation succeeds, it returns a JSON object with no properties.

This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.

" }, "DeleteImportedKeyMaterial":{ "name":"DeleteImportedKeyMaterial", @@ -192,7 +192,7 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Deletes key material that you previously imported. This operation makes the specified customer master key (CMK) unusable. For more information about importing key material into AWS KMS, see Importing Key Material in the AWS Key Management Service Developer Guide. You cannot perform this operation on a CMK in a different AWS account.

When the specified CMK is in the PendingDeletion state, this operation does not change the CMK's state. Otherwise, it changes the CMK's state to PendingImport.

After you delete key material, you can use ImportKeyMaterial to reimport the same key material into the CMK.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + "documentation":"

Deletes key material that you previously imported. This operation makes the specified customer master key (CMK) unusable. For more information about importing key material into AWS KMS, see Importing Key Material in the AWS Key Management Service Developer Guide. You cannot perform this operation on a CMK in a different AWS account.

When the specified CMK is in the PendingDeletion state, this operation does not change the CMK's state. Otherwise, it changes the CMK's state to PendingImport.

After you delete key material, you can use ImportKeyMaterial to reimport the same key material into the CMK.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "DescribeCustomKeyStores":{ "name":"DescribeCustomKeyStores", @@ -206,7 +206,7 @@ {"shape":"CustomKeyStoreNotFoundException"}, {"shape":"KMSInternalException"} ], - "documentation":"

Gets information about custom key stores in the account and region.

This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.

By default, this operation returns information about all custom key stores in the account and region. To get only information about a particular custom key store, use either the CustomKeyStoreName or CustomKeyStoreId parameter (but not both).

To determine whether the custom key store is connected to its AWS CloudHSM cluster, use the ConnectionState element in the response. If an attempt to connect the custom key store failed, the ConnectionState value is FAILED and the ConnectionErrorCode element in the response indicates the cause of the failure. For help interpreting the ConnectionErrorCode, see CustomKeyStoresListEntry.

Custom key stores have a DISCONNECTED connection state if the key store has never been connected or you use the DisconnectCustomKeyStore operation to disconnect it. If your custom key store state is CONNECTED but you are having trouble using it, make sure that its associated AWS CloudHSM cluster is active and contains the minimum number of HSMs required for the operation, if any.

For help repairing your custom key store, see the Troubleshooting Custom Key Stores topic in the AWS Key Management Service Developer Guide.

" + "documentation":"

Gets information about custom key stores in the account and region.

This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.

By default, this operation returns information about all custom key stores in the account and region. To get only information about a particular custom key store, use either the CustomKeyStoreName or CustomKeyStoreId parameter (but not both).

To determine whether the custom key store is connected to its AWS CloudHSM cluster, use the ConnectionState element in the response. If an attempt to connect the custom key store failed, the ConnectionState value is FAILED and the ConnectionErrorCode element in the response indicates the cause of the failure. For help interpreting the ConnectionErrorCode, see CustomKeyStoresListEntry.

Custom key stores have a DISCONNECTED connection state if the key store has never been connected or you use the DisconnectCustomKeyStore operation to disconnect it. If your custom key store state is CONNECTED but you are having trouble using it, make sure that its associated AWS CloudHSM cluster is active and contains the minimum number of HSMs required for the operation, if any.

For help repairing your custom key store, see the Troubleshooting Custom Key Stores topic in the AWS Key Management Service Developer Guide.

" }, "DescribeKey":{ "name":"DescribeKey", @@ -222,7 +222,7 @@ {"shape":"DependencyTimeoutException"}, {"shape":"KMSInternalException"} ], - "documentation":"

Provides detailed information about the specified customer master key (CMK).

If you use DescribeKey on a predefined AWS alias, that is, an AWS alias with no key ID, AWS KMS associates the alias with an AWS managed CMK and returns its KeyId and Arn in the response.

To perform this operation on a CMK in a different AWS account, specify the key ARN or alias ARN in the value of the KeyId parameter.

" + "documentation":"

Provides detailed information about the specified customer master key (CMK).

You can use DescribeKey on a predefined AWS alias, that is, an AWS alias with no key ID. When you do, AWS KMS associates the alias with an AWS managed CMK and returns its KeyId and Arn in the response.

To perform this operation on a CMK in a different AWS account, specify the key ARN or alias ARN in the value of the KeyId parameter.

" }, "DisableKey":{ "name":"DisableKey", @@ -238,7 +238,7 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Sets the state of a customer master key (CMK) to disabled, thereby preventing its use for cryptographic operations. You cannot perform this operation on a CMK in a different AWS account.

For more information about how key state affects the use of a CMK, see How Key State Affects the Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + "documentation":"

Sets the state of a customer master key (CMK) to disabled, thereby preventing its use for cryptographic operations. You cannot perform this operation on a CMK in a different AWS account.

For more information about how key state affects the use of a CMK, see How Key State Affects the Use of a Customer Master Key in the AWS Key Management Service Developer Guide .

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "DisableKeyRotation":{ "name":"DisableKeyRotation", @@ -256,7 +256,7 @@ {"shape":"KMSInvalidStateException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Disables automatic rotation of the key material for the specified customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + "documentation":"

Disables automatic rotation of the key material for the specified customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "DisconnectCustomKeyStore":{ "name":"DisconnectCustomKeyStore", @@ -271,7 +271,7 @@ {"shape":"CustomKeyStoreNotFoundException"}, {"shape":"KMSInternalException"} ], - "documentation":"

Disconnects the custom key store from its associated AWS CloudHSM cluster. While a custom key store is disconnected, you can manage the custom key store and its customer master keys (CMKs), but you cannot create or use CMKs in the custom key store. You can reconnect the custom key store at any time.

While a custom key store is disconnected, all attempts to create customer master keys (CMKs) in the custom key store or to use existing CMKs in cryptographic operations will fail. This action can prevent users from storing and accessing sensitive data.

To find the connection state of a custom key store, use the DescribeCustomKeyStores operation. To reconnect a custom key store, use the ConnectCustomKeyStore operation.

If the operation succeeds, it returns a JSON object with no properties.

This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.

" + "documentation":"

Disconnects the custom key store from its associated AWS CloudHSM cluster. While a custom key store is disconnected, you can manage the custom key store and its customer master keys (CMKs), but you cannot create or use CMKs in the custom key store. You can reconnect the custom key store at any time.

While a custom key store is disconnected, all attempts to create customer master keys (CMKs) in the custom key store or to use existing CMKs in cryptographic operations will fail. This action can prevent users from storing and accessing sensitive data.

To find the connection state of a custom key store, use the DescribeCustomKeyStores operation. To reconnect a custom key store, use the ConnectCustomKeyStore operation.

If the operation succeeds, it returns a JSON object with no properties.

This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.

" }, "EnableKey":{ "name":"EnableKey", @@ -288,7 +288,7 @@ {"shape":"LimitExceededException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Sets the key state of a customer master key (CMK) to enabled. This allows you to use the CMK for cryptographic operations. You cannot perform this operation on a CMK in a different AWS account.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + "documentation":"

Sets the key state of a customer master key (CMK) to enabled. This allows you to use the CMK for cryptographic operations. You cannot perform this operation on a CMK in a different AWS account.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "EnableKeyRotation":{ "name":"EnableKeyRotation", @@ -306,7 +306,7 @@ {"shape":"KMSInvalidStateException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Enables automatic rotation of the key material for the specified customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account.

You cannot enable automatic rotation of CMKs with imported key material or CMKs in a custom key store.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + "documentation":"

Enables automatic rotation of the key material for the specified customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account.

You cannot enable automatic rotation of CMKs with imported key material or CMKs in a custom key store.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "Encrypt":{ "name":"Encrypt", @@ -326,7 +326,7 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Encrypts plaintext into ciphertext by using a customer master key (CMK). The Encrypt operation has two primary use cases:

  • You can encrypt up to 4 kilobytes (4096 bytes) of arbitrary data such as an RSA key, a database password, or other sensitive information.

  • To move encrypted data from one AWS region to another, you can use this operation to encrypt in the new region the plaintext data key that was used to encrypt the data in the original region. This provides you with an encrypted copy of the data key that can be decrypted in the new region and used there to decrypt the encrypted data.

To perform this operation on a CMK in a different AWS account, specify the key ARN or alias ARN in the value of the KeyId parameter.

Unless you are moving encrypted data from one region to another, you don't use this operation to encrypt a generated data key within a region. To get data keys that are already encrypted, call the GenerateDataKey or GenerateDataKeyWithoutPlaintext operation. Data keys don't need to be encrypted again by calling Encrypt.

To encrypt data locally in your application, use the GenerateDataKey operation to return a plaintext data encryption key and a copy of the key encrypted under the CMK of your choosing.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + "documentation":"

Encrypts plaintext into ciphertext by using a customer master key (CMK). The Encrypt operation has two primary use cases:

  • You can encrypt up to 4 kilobytes (4096 bytes) of arbitrary data such as an RSA key, a database password, or other sensitive information.

  • You can use the Encrypt operation to move encrypted data from one AWS region to another. In the first region, generate a data key and use the plaintext key to encrypt the data. Then, in the new region, call the Encrypt method on same plaintext data key. Now, you can safely move the encrypted data and encrypted data key to the new region, and decrypt in the new region when necessary.

You don't need use this operation to encrypt a data key within a region. The GenerateDataKey and GenerateDataKeyWithoutPlaintext operations return an encrypted data key.

Also, you don't need to use this operation to encrypt data in your application. You can use the plaintext and encrypted data keys that the GenerateDataKey operation returns.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

To perform this operation on a CMK in a different AWS account, specify the key ARN or alias ARN in the value of the KeyId parameter.

" }, "GenerateDataKey":{ "name":"GenerateDataKey", @@ -346,7 +346,7 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Returns a data encryption key that you can use in your application to encrypt data locally.

You must specify the customer master key (CMK) under which to generate the data key. You must also specify the length of the data key using either the KeySpec or NumberOfBytes field. You must specify one field or the other, but not both. For common key lengths (128-bit and 256-bit symmetric keys), we recommend that you use KeySpec. To perform this operation on a CMK in a different AWS account, specify the key ARN or alias ARN in the value of the KeyId parameter.

This operation returns a plaintext copy of the data key in the Plaintext field of the response, and an encrypted copy of the data key in the CiphertextBlob field. The data key is encrypted under the CMK specified in the KeyId field of the request.

We recommend that you use the following pattern to encrypt data locally in your application:

  1. Use this operation (GenerateDataKey) to get a data encryption key.

  2. Use the plaintext data encryption key (returned in the Plaintext field of the response) to encrypt data locally, then erase the plaintext data key from memory.

  3. Store the encrypted data key (returned in the CiphertextBlob field of the response) alongside the locally encrypted data.

To decrypt data locally:

  1. Use the Decrypt operation to decrypt the encrypted data key into a plaintext copy of the data key.

  2. Use the plaintext data key to decrypt data locally, then erase the plaintext data key from memory.

To return only an encrypted copy of the data key, use GenerateDataKeyWithoutPlaintext. To return a random byte string that is cryptographically secure, use GenerateRandom.

If you use the optional EncryptionContext field, you must store at least enough information to be able to reconstruct the full encryption context when you later send the ciphertext to the Decrypt operation. It is a good practice to choose an encryption context that you can reconstruct on the fly to better secure the ciphertext. For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + "documentation":"

Generates a unique data key. This operation returns a plaintext copy of the data key and a copy that is encrypted under a customer master key (CMK) that you specify. You can use the plaintext key to encrypt your data outside of KMS and store the encrypted data key with the encrypted data.

GenerateDataKey returns a unique data key for each request. The bytes in the key are not related to the caller or CMK that is used to encrypt the data key.

To generate a data key, you need to specify the customer master key (CMK) that will be used to encrypt the data key. You must also specify the length of the data key using either the KeySpec or NumberOfBytes field (but not both). For common key lengths (128-bit and 256-bit symmetric keys), we recommend that you use KeySpec. To perform this operation on a CMK in a different AWS account, specify the key ARN or alias ARN in the value of the KeyId parameter.

You will find the plaintext copy of the data key in the Plaintext field of the response, and the encrypted copy of the data key in the CiphertextBlob field.

We recommend that you use the following pattern to encrypt data locally in your application:

  1. Use the GenerateDataKey operation to get a data encryption key.

  2. Use the plaintext data key (returned in the Plaintext field of the response) to encrypt data locally, then erase the plaintext data key from memory.

  3. Store the encrypted data key (returned in the CiphertextBlob field of the response) alongside the locally encrypted data.

To decrypt data locally:

  1. Use the Decrypt operation to decrypt the encrypted data key. The operation returns a plaintext copy of the data key.

  2. Use the plaintext data key to decrypt data locally, then erase the plaintext data key from memory.

To get only an encrypted copy of the data key, use GenerateDataKeyWithoutPlaintext. To get a cryptographically secure random byte string, use GenerateRandom.

You can use the optional encryption context to add additional security to your encryption operation. When you specify an EncryptionContext in the GenerateDataKey operation, you must specify the same encryption context (a case-sensitive exact match) in your request to Decrypt the data key. Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the AWS Key Management Service Developer Guide .

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "GenerateDataKeyWithoutPlaintext":{ "name":"GenerateDataKeyWithoutPlaintext", @@ -366,7 +366,7 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Returns a data encryption key encrypted under a customer master key (CMK). This operation is identical to GenerateDataKey but returns only the encrypted copy of the data key.

To perform this operation on a CMK in a different AWS account, specify the key ARN or alias ARN in the value of the KeyId parameter.

This operation is useful in a system that has multiple components with different degrees of trust. For example, consider a system that stores encrypted data in containers. Each container stores the encrypted data and an encrypted copy of the data key. One component of the system, called the control plane, creates new containers. When it creates a new container, it uses this operation (GenerateDataKeyWithoutPlaintext) to get an encrypted data key and then stores it in the container. Later, a different component of the system, called the data plane, puts encrypted data into the containers. To do this, it passes the encrypted data key to the Decrypt operation, then uses the returned plaintext data key to encrypt data, and finally stores the encrypted data in the container. In this system, the control plane never sees the plaintext data key.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + "documentation":"

Generates a unique data key. This operation returns a data key that is encrypted under a customer master key (CMK) that you specify. GenerateDataKeyWithoutPlaintext is identical to GenerateDataKey except that returns only the encrypted copy of the data key.

Like GenerateDataKey, GenerateDataKeyWithoutPlaintext returns a unique data key for each request. The bytes in the key are not related to the caller or CMK that is used to encrypt the data key.

This operation is useful for systems that need to encrypt data at some point, but not immediately. When you need to encrypt the data, you call the Decrypt operation on the encrypted copy of the key.

It's also useful in distributed systems with different levels of trust. For example, you might store encrypted data in containers. One component of your system creates new containers and stores an encrypted data key with each container. Then, a different component puts the data into the containers. That component first decrypts the data key, uses the plaintext data key to encrypt data, puts the encrypted data into the container, and then destroys the plaintext data key. In this system, the component that creates the containers never sees the plaintext data key.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "GenerateRandom":{ "name":"GenerateRandom", @@ -382,7 +382,7 @@ {"shape":"CustomKeyStoreNotFoundException"}, {"shape":"CustomKeyStoreInvalidStateException"} ], - "documentation":"

Returns a random byte string that is cryptographically secure.

By default, the random byte string is generated in AWS KMS. To generate the byte string in the AWS CloudHSM cluster that is associated with a custom key store, specify the custom key store ID.

For more information about entropy and random number generation, see the AWS Key Management Service Cryptographic Details whitepaper.

" + "documentation":"

Returns a random byte string that is cryptographically secure.

By default, the random byte string is generated in AWS KMS. To generate the byte string in the AWS CloudHSM cluster that is associated with a custom key store, specify the custom key store ID.

For more information about entropy and random number generation, see the AWS Key Management Service Cryptographic Details whitepaper.

" }, "GetKeyPolicy":{ "name":"GetKeyPolicy", @@ -417,7 +417,7 @@ {"shape":"KMSInvalidStateException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Gets a Boolean value that indicates whether automatic rotation of the key material is enabled for the specified customer master key (CMK).

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

  • Disabled: The key rotation status does not change when you disable a CMK. However, while the CMK is disabled, AWS KMS does not rotate the backing key.

  • Pending deletion: While a CMK is pending deletion, its key rotation status is false and AWS KMS does not rotate the backing key. If you cancel the deletion, the original key rotation status is restored.

To perform this operation on a CMK in a different AWS account, specify the key ARN in the value of the KeyId parameter.

" + "documentation":"

Gets a Boolean value that indicates whether automatic rotation of the key material is enabled for the specified customer master key (CMK).

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

  • Disabled: The key rotation status does not change when you disable a CMK. However, while the CMK is disabled, AWS KMS does not rotate the backing key.

  • Pending deletion: While a CMK is pending deletion, its key rotation status is false and AWS KMS does not rotate the backing key. If you cancel the deletion, the original key rotation status is restored.

To perform this operation on a CMK in a different AWS account, specify the key ARN in the value of the KeyId parameter.

" }, "GetParametersForImport":{ "name":"GetParametersForImport", @@ -435,7 +435,7 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Returns the items you need in order to import key material into AWS KMS from your existing key management infrastructure. For more information about importing key material into AWS KMS, see Importing Key Material in the AWS Key Management Service Developer Guide.

You must specify the key ID of the customer master key (CMK) into which you will import key material. This CMK's Origin must be EXTERNAL. You must also specify the wrapping algorithm and type of wrapping key (public key) that you will use to encrypt the key material. You cannot perform this operation on a CMK in a different AWS account.

This operation returns a public key and an import token. Use the public key to encrypt the key material. Store the import token to send with a subsequent ImportKeyMaterial request. The public key and import token from the same response must be used together. These items are valid for 24 hours. When they expire, they cannot be used for a subsequent ImportKeyMaterial request. To get new ones, send another GetParametersForImport request.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + "documentation":"

Returns the items you need in order to import key material into AWS KMS from your existing key management infrastructure. For more information about importing key material into AWS KMS, see Importing Key Material in the AWS Key Management Service Developer Guide.

You must specify the key ID of the customer master key (CMK) into which you will import key material. This CMK's Origin must be EXTERNAL. You must also specify the wrapping algorithm and type of wrapping key (public key) that you will use to encrypt the key material. You cannot perform this operation on a CMK in a different AWS account.

This operation returns a public key and an import token. Use the public key to encrypt the key material. Store the import token to send with a subsequent ImportKeyMaterial request. The public key and import token from the same response must be used together. These items are valid for 24 hours. When they expire, they cannot be used for a subsequent ImportKeyMaterial request. To get new ones, send another GetParametersForImport request.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "ImportKeyMaterial":{ "name":"ImportKeyMaterial", @@ -457,7 +457,7 @@ {"shape":"ExpiredImportTokenException"}, {"shape":"InvalidImportTokenException"} ], - "documentation":"

Imports key material into an existing AWS KMS customer master key (CMK) that was created without key material. You cannot perform this operation on a CMK in a different AWS account. For more information about creating CMKs with no key material and then importing key material, see Importing Key Material in the AWS Key Management Service Developer Guide.

Before using this operation, call GetParametersForImport. Its response includes a public key and an import token. Use the public key to encrypt the key material. Then, submit the import token from the same GetParametersForImport response.

When calling this operation, you must specify the following values:

  • The key ID or key ARN of a CMK with no key material. Its Origin must be EXTERNAL.

    To create a CMK with no key material, call CreateKey and set the value of its Origin parameter to EXTERNAL. To get the Origin of a CMK, call DescribeKey.)

  • The encrypted key material. To get the public key to encrypt the key material, call GetParametersForImport.

  • The import token that GetParametersForImport returned. This token and the public key used to encrypt the key material must have come from the same response.

  • Whether the key material expires and if so, when. If you set an expiration date, you can change it only by reimporting the same key material and specifying a new expiration date. If the key material expires, AWS KMS deletes the key material and the CMK becomes unusable. To use the CMK again, you must reimport the same key material.

When this operation is successful, the key state of the CMK changes from PendingImport to Enabled, and you can use the CMK. After you successfully import key material into a CMK, you can reimport the same key material into that CMK, but you cannot import different key material.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + "documentation":"

Imports key material into an existing AWS KMS customer master key (CMK) that was created without key material. You cannot perform this operation on a CMK in a different AWS account. For more information about creating CMKs with no key material and then importing key material, see Importing Key Material in the AWS Key Management Service Developer Guide.

Before using this operation, call GetParametersForImport. Its response includes a public key and an import token. Use the public key to encrypt the key material. Then, submit the import token from the same GetParametersForImport response.

When calling this operation, you must specify the following values:

  • The key ID or key ARN of a CMK with no key material. Its Origin must be EXTERNAL.

    To create a CMK with no key material, call CreateKey and set the value of its Origin parameter to EXTERNAL. To get the Origin of a CMK, call DescribeKey.)

  • The encrypted key material. To get the public key to encrypt the key material, call GetParametersForImport.

  • The import token that GetParametersForImport returned. This token and the public key used to encrypt the key material must have come from the same response.

  • Whether the key material expires and if so, when. If you set an expiration date, you can change it only by reimporting the same key material and specifying a new expiration date. If the key material expires, AWS KMS deletes the key material and the CMK becomes unusable. To use the CMK again, you must reimport the same key material.

When this operation is successful, the key state of the CMK changes from PendingImport to Enabled, and you can use the CMK. After you successfully import key material into a CMK, you can reimport the same key material into that CMK, but you cannot import different key material.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "ListAliases":{ "name":"ListAliases", @@ -474,7 +474,7 @@ {"shape":"InvalidArnException"}, {"shape":"NotFoundException"} ], - "documentation":"

Gets a list of all aliases in the caller's AWS account and region. You cannot list aliases in other accounts. For more information about aliases, see CreateAlias.

By default, the ListAliases command returns all aliases in the account and region. To get only the aliases that point to a particular customer master key (CMK), use the KeyId parameter.

The ListAliases response might include several aliases have no TargetKeyId field. These are predefined aliases that AWS has created but has not yet associated with a CMK. Aliases that AWS creates in your account, including predefined aliases, do not count against your AWS KMS aliases limit.

" + "documentation":"

Gets a list of aliases in the caller's AWS account and region. You cannot list aliases in other accounts. For more information about aliases, see CreateAlias.

By default, the ListAliases command returns all aliases in the account and region. To get only the aliases that point to a particular customer master key (CMK), use the KeyId parameter.

The ListAliases response can include aliases that you created and associated with your customer managed CMKs, and aliases that AWS created and associated with AWS managed CMKs in your account. You can recognize AWS aliases because their names have the format aws/<service-name>, such as aws/dynamodb.

The response might also include aliases that have no TargetKeyId field. These are predefined aliases that AWS has created but has not yet associated with a CMK. Aliases that AWS creates in your account, including predefined aliases, do not count against your AWS KMS aliases limit.

" }, "ListGrants":{ "name":"ListGrants", @@ -576,7 +576,7 @@ {"shape":"LimitExceededException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Attaches a key policy to the specified customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account.

For more information about key policies, see Key Policies in the AWS Key Management Service Developer Guide.

" + "documentation":"

Attaches a key policy to the specified customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account.

For more information about key policies, see Key Policies in the AWS Key Management Service Developer Guide.

" }, "ReEncrypt":{ "name":"ReEncrypt", @@ -597,7 +597,7 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Encrypts data on the server side with a new customer master key (CMK) without exposing the plaintext of the data on the client side. The data is first decrypted and then reencrypted. You can also use this operation to change the encryption context of a ciphertext.

You can reencrypt data using CMKs in different AWS accounts.

Unlike other operations, ReEncrypt is authorized twice, once as ReEncryptFrom on the source CMK and once as ReEncryptTo on the destination CMK. We recommend that you include the \"kms:ReEncrypt*\" permission in your key policies to permit reencryption from or to the CMK. This permission is automatically included in the key policy when you create a CMK through the console, but you must include it manually when you create a CMK programmatically or when you set a key policy with the PutKeyPolicy operation.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + "documentation":"

Encrypts data on the server side with a new customer master key (CMK) without exposing the plaintext of the data on the client side. The data is first decrypted and then reencrypted. You can also use this operation to change the encryption context of a ciphertext.

You can reencrypt data using CMKs in different AWS accounts.

Unlike other operations, ReEncrypt is authorized twice, once as ReEncryptFrom on the source CMK and once as ReEncryptTo on the destination CMK. We recommend that you include the \"kms:ReEncrypt*\" permission in your key policies to permit reencryption from or to the CMK. This permission is automatically included in the key policy when you create a CMK through the console. But you must include it manually when you create a CMK programmatically or when you set a key policy with the PutKeyPolicy operation.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "RetireGrant":{ "name":"RetireGrant", @@ -649,7 +649,7 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Schedules the deletion of a customer master key (CMK). You may provide a waiting period, specified in days, before deletion occurs. If you do not provide a waiting period, the default period of 30 days is used. When this operation is successful, the key state of the CMK changes to PendingDeletion. Before the waiting period ends, you can use CancelKeyDeletion to cancel the deletion of the CMK. After the waiting period ends, AWS KMS deletes the CMK and all AWS KMS data associated with it, including all aliases that refer to it.

Deleting a CMK is a destructive and potentially dangerous operation. When a CMK is deleted, all data that was encrypted under the CMK is unrecoverable. To prevent the use of a CMK without deleting it, use DisableKey.

If you schedule deletion of a CMK from a custom key store, when the waiting period expires, ScheduleKeyDeletion deletes the CMK from AWS KMS. Then AWS KMS makes a best effort to delete the key material from the associated AWS CloudHSM cluster. However, you might need to manually delete the orphaned key material from the cluster and its backups.

You cannot perform this operation on a CMK in a different AWS account.

For more information about scheduling a CMK for deletion, see Deleting Customer Master Keys in the AWS Key Management Service Developer Guide.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + "documentation":"

Schedules the deletion of a customer master key (CMK). You may provide a waiting period, specified in days, before deletion occurs. If you do not provide a waiting period, the default period of 30 days is used. When this operation is successful, the key state of the CMK changes to PendingDeletion. Before the waiting period ends, you can use CancelKeyDeletion to cancel the deletion of the CMK. After the waiting period ends, AWS KMS deletes the CMK and all AWS KMS data associated with it, including all aliases that refer to it.

Deleting a CMK is a destructive and potentially dangerous operation. When a CMK is deleted, all data that was encrypted under the CMK is unrecoverable. To prevent the use of a CMK without deleting it, use DisableKey.

If you schedule deletion of a CMK from a custom key store, when the waiting period expires, ScheduleKeyDeletion deletes the CMK from AWS KMS. Then AWS KMS makes a best effort to delete the key material from the associated AWS CloudHSM cluster. However, you might need to manually delete the orphaned key material from the cluster and its backups.

You cannot perform this operation on a CMK in a different AWS account.

For more information about scheduling a CMK for deletion, see Deleting Customer Master Keys in the AWS Key Management Service Developer Guide.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "TagResource":{ "name":"TagResource", @@ -666,7 +666,7 @@ {"shape":"LimitExceededException"}, {"shape":"TagException"} ], - "documentation":"

Adds or edits tags for a customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account.

Each tag consists of a tag key and a tag value. Tag keys and tag values are both required, but tag values can be empty (null) strings.

You can only use a tag key once for each CMK. If you use the tag key again, AWS KMS replaces the current tag value with the specified value.

For information about the rules that apply to tag keys and tag values, see User-Defined Tag Restrictions in the AWS Billing and Cost Management User Guide.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + "documentation":"

Adds or edits tags for a customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account.

Each tag consists of a tag key and a tag value. Tag keys and tag values are both required, but tag values can be empty (null) strings.

You can only use a tag key once for each CMK. If you use the tag key again, AWS KMS replaces the current tag value with the specified value.

For information about the rules that apply to tag keys and tag values, see User-Defined Tag Restrictions in the AWS Billing and Cost Management User Guide.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "UntagResource":{ "name":"UntagResource", @@ -682,7 +682,7 @@ {"shape":"KMSInvalidStateException"}, {"shape":"TagException"} ], - "documentation":"

Removes the specified tags from the specified customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account.

To remove a tag, specify the tag key. To change the tag value of an existing tag key, use TagResource.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + "documentation":"

Removes the specified tags from the specified customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account.

To remove a tag, specify the tag key. To change the tag value of an existing tag key, use TagResource.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "UpdateAlias":{ "name":"UpdateAlias", @@ -697,7 +697,7 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Associates an existing alias with a different customer master key (CMK). Each CMK can have multiple aliases, but the aliases must be unique within the account and region. You cannot perform this operation on an alias in a different AWS account.

This operation works only on existing aliases. To change the alias of a CMK to a new value, use CreateAlias to create a new alias and DeleteAlias to delete the old alias.

Because an alias is not a property of a CMK, you can create, update, and delete the aliases of a CMK without affecting the CMK. Also, aliases do not appear in the response from the DescribeKey operation. To get the aliases of all CMKs in the account, use the ListAliases operation.

An alias name can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). An alias must start with the word alias followed by a forward slash (alias/). The alias name can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). Alias names cannot begin with aws; that alias name prefix is reserved by Amazon Web Services (AWS).

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + "documentation":"

Associates an existing alias with a different customer master key (CMK). Each CMK can have multiple aliases, but the aliases must be unique within the account and region. You cannot perform this operation on an alias in a different AWS account.

This operation works only on existing aliases. To change the alias of a CMK to a new value, use CreateAlias to create a new alias and DeleteAlias to delete the old alias.

Because an alias is not a property of a CMK, you can create, update, and delete the aliases of a CMK without affecting the CMK. Also, aliases do not appear in the response from the DescribeKey operation. To get the aliases of all CMKs in the account, use the ListAliases operation.

The alias name must begin with alias/ followed by a name, such as alias/ExampleAlias. It can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). The alias name cannot begin with alias/aws/. The alias/aws/ prefix is reserved for AWS managed CMKs.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "UpdateCustomKeyStore":{ "name":"UpdateCustomKeyStore", @@ -716,7 +716,7 @@ {"shape":"CloudHsmClusterNotActiveException"}, {"shape":"CloudHsmClusterInvalidConfigurationException"} ], - "documentation":"

Changes the properties of a custom key store. Use the CustomKeyStoreId parameter to identify the custom key store you want to edit. Use the remaining parameters to change the properties of the custom key store.

You can only update a custom key store that is disconnected. To disconnect the custom key store, use DisconnectCustomKeyStore. To reconnect the custom key store after the update completes, use ConnectCustomKeyStore. To find the connection state of a custom key store, use the DescribeCustomKeyStores operation.

Use the NewCustomKeyStoreName parameter to change the friendly name of the custom key store to the value that you specify.

Use the KeyStorePassword parameter tell AWS KMS the current password of the kmsuser crypto user (CU) in the associated AWS CloudHSM cluster. You can use this parameter to fix connection failures that occur when AWS KMS cannot log into the associated cluster because the kmsuser password has changed. This value does not change the password in the AWS CloudHSM cluster.

Use the CloudHsmClusterId parameter to associate the custom key store with a related AWS CloudHSM cluster, that is, a cluster that shares a backup history with the original cluster. You can use this parameter to repair a custom key store if its AWS CloudHSM cluster becomes corrupted or is deleted, or when you need to create or restore a cluster from a backup.

The cluster ID must identify a AWS CloudHSM cluster with the following requirements.

  • The cluster must be active and be in the same AWS account and Region as the custom key store.

  • The cluster must have the same cluster certificate as the original cluster. You cannot use this parameter to associate the custom key store with an unrelated cluster. To view the cluster certificate, use the AWS CloudHSM DescribeClusters operation. Clusters that share a backup history have the same cluster certificate.

  • The cluster must be configured with subnets in at least two different Availability Zones in the Region. Because AWS CloudHSM is not supported in all Availability Zones, we recommend that the cluster have subnets in all Availability Zones in the Region.

  • The cluster must contain at least two active HSMs, each in a different Availability Zone.

If the operation succeeds, it returns a JSON object with no properties.

This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.

" + "documentation":"

Changes the properties of a custom key store. Use the CustomKeyStoreId parameter to identify the custom key store you want to edit. Use the remaining parameters to change the properties of the custom key store.

You can only update a custom key store that is disconnected. To disconnect the custom key store, use DisconnectCustomKeyStore. To reconnect the custom key store after the update completes, use ConnectCustomKeyStore. To find the connection state of a custom key store, use the DescribeCustomKeyStores operation.

Use the parameters of UpdateCustomKeyStore to edit your keystore settings.

  • Use the NewCustomKeyStoreName parameter to change the friendly name of the custom key store to the value that you specify.

  • Use the KeyStorePassword parameter tell AWS KMS the current password of the kmsuser crypto user (CU) in the associated AWS CloudHSM cluster. You can use this parameter to fix connection failures that occur when AWS KMS cannot log into the associated cluster because the kmsuser password has changed. This value does not change the password in the AWS CloudHSM cluster.

  • Use the CloudHsmClusterId parameter to associate the custom key store with a different, but related, AWS CloudHSM cluster. You can use this parameter to repair a custom key store if its AWS CloudHSM cluster becomes corrupted or is deleted, or when you need to create or restore a cluster from a backup.

If the operation succeeds, it returns a JSON object with no properties.

This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.

" }, "UpdateKeyDescription":{ "name":"UpdateKeyDescription", @@ -732,7 +732,7 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Updates the description of a customer master key (CMK). To see the decription of a CMK, use DescribeKey.

You cannot perform this operation on a CMK in a different AWS account.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + "documentation":"

Updates the description of a customer master key (CMK). To see the description of a CMK, use DescribeKey.

You cannot perform this operation on a CMK in a different AWS account.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" } }, "shapes":{ @@ -754,7 +754,7 @@ "members":{ "AliasName":{ "shape":"AliasNameType", - "documentation":"

String that contains the alias.

" + "documentation":"

String that contains the alias. This value begins with alias/.

" }, "AliasArn":{ "shape":"ArnType", @@ -821,7 +821,7 @@ "members":{ "message":{"shape":"ErrorMessageType"} }, - "documentation":"

The request was rejected because the specified AWS CloudHSM cluster is already associated with a custom key store or it shares a backup history with a cluster that is associated with a custom key store. Each custom key store must be associated with a different AWS CloudHSM cluster.

Clusters that share a backup history have the same cluster certificate. To view the cluster certificate of a cluster, use the DescribeClusters operation.

", + "documentation":"

The request was rejected because the specified AWS CloudHSM cluster is already associated with a custom key store or it shares a backup history with a cluster that is associated with a custom key store. Each custom key store must be associated with a different AWS CloudHSM cluster.

Clusters that share a backup history have the same cluster certificate. To view the cluster certificate of a cluster, use the DescribeClusters operation.

", "exception":true }, "CloudHsmClusterInvalidConfigurationException":{ @@ -829,7 +829,7 @@ "members":{ "message":{"shape":"ErrorMessageType"} }, - "documentation":"

The request was rejected because the associated AWS CloudHSM cluster did not meet the configuration requirements for a custom key store. The cluster must be configured with private subnets in at least two different Availability Zones in the Region. Also, it must contain at least as many HSMs as the operation requires.

For the CreateCustomKeyStore, UpdateCustomKeyStore, and CreateKey operations, the AWS CloudHSM cluster must have at least two active HSMs, each in a different Availability Zone. For the ConnectCustomKeyStore operation, the AWS CloudHSM must contain at least one active HSM.

For information about creating a private subnet for a AWS CloudHSM cluster, see Create a Private Subnet in the AWS CloudHSM User Guide. To add HSMs, use the AWS CloudHSM CreateHsm operation.

", + "documentation":"

The request was rejected because the associated AWS CloudHSM cluster did not meet the configuration requirements for a custom key store.

  • The cluster must be configured with private subnets in at least two different Availability Zones in the Region.

  • The security group for the cluster (cloudhsm-cluster-<cluster-id>-sg) must include inbound rules and outbound rules that allow TCP traffic on ports 2223-2225. The Source in the inbound rules and the Destination in the outbound rules must match the security group ID. These rules are set by default when you create the cluster. Do not delete or change them. To get information about a particular security group, use the DescribeSecurityGroups operation.

  • The cluster must contain at least as many HSMs as the operation requires. To add HSMs, use the AWS CloudHSM CreateHsm operation.

    For the CreateCustomKeyStore, UpdateCustomKeyStore, and CreateKey operations, the AWS CloudHSM cluster must have at least two active HSMs, each in a different Availability Zone. For the ConnectCustomKeyStore operation, the AWS CloudHSM must contain at least one active HSM.

For information about the requirements for an AWS CloudHSM cluster that is associated with a custom key store, see Assemble the Prerequisites in the AWS Key Management Service Developer Guide. For information about creating a private subnet for an AWS CloudHSM cluster, see Create a Private Subnet in the AWS CloudHSM User Guide. For information about cluster security groups, see Configure a Default Security Group in the AWS CloudHSM User Guide .

", "exception":true }, "CloudHsmClusterNotActiveException":{ @@ -837,7 +837,7 @@ "members":{ "message":{"shape":"ErrorMessageType"} }, - "documentation":"

The request was rejected because the AWS CloudHSM cluster that is associated with the custom key store is not active. Initialize and activate the cluster and try the command again. For detailed instructions, see Getting Started in the AWS CloudHSM User Guide.

", + "documentation":"

The request was rejected because the AWS CloudHSM cluster that is associated with the custom key store is not active. Initialize and activate the cluster and try the command again. For detailed instructions, see Getting Started in the AWS CloudHSM User Guide.

", "exception":true }, "CloudHsmClusterNotFoundException":{ @@ -853,7 +853,7 @@ "members":{ "message":{"shape":"ErrorMessageType"} }, - "documentation":"

The request was rejected because the specified AWS CloudHSM cluster has a different cluster certificate than the original cluster. You cannot use the operation to specify an unrelated cluster.

Specify a cluster that shares a backup history with the original cluster. This includes clusters that were created from a backup of the current cluster, and clusters that were created from the same backup that produced the current cluster.

Clusters that share a backup history have the same cluster certificate. To view the cluster certificate of a cluster, use the DescribeClusters operation.

", + "documentation":"

The request was rejected because the specified AWS CloudHSM cluster has a different cluster certificate than the original cluster. You cannot use the operation to specify an unrelated cluster.

Specify a cluster that shares a backup history with the original cluster. This includes clusters that were created from a backup of the current cluster, and clusters that were created from the same backup that produced the current cluster.

Clusters that share a backup history have the same cluster certificate. To view the cluster certificate of a cluster, use the DescribeClusters operation.

", "exception":true }, "ConnectCustomKeyStoreRequest":{ @@ -877,6 +877,7 @@ "INVALID_CREDENTIALS", "CLUSTER_NOT_FOUND", "NETWORK_ERRORS", + "INTERNAL_ERROR", "INSUFFICIENT_CLOUDHSM_HSMS", "USER_LOCKED_OUT" ] @@ -900,11 +901,11 @@ "members":{ "AliasName":{ "shape":"AliasNameType", - "documentation":"

String that contains the display name. The name must start with the word \"alias\" followed by a forward slash (alias/). Aliases that begin with \"alias/AWS\" are reserved.

" + "documentation":"

Specifies the alias name. This value must begin with alias/ followed by a name, such as alias/ExampleAlias. The alias name cannot begin with alias/aws/. The alias/aws/ prefix is reserved for AWS managed CMKs.

" }, "TargetKeyId":{ "shape":"KeyIdType", - "documentation":"

Identifies the CMK for which you are creating the alias. This value cannot be an alias.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" + "documentation":"

Identifies the CMK to which the alias refers. Specify the key ID or the Amazon Resource Name (ARN) of the CMK. You cannot specify another alias. For help finding the key ID and ARN, see Finding the Key ID and ARN in the AWS Key Management Service Developer Guide.

" } } }, @@ -923,15 +924,15 @@ }, "CloudHsmClusterId":{ "shape":"CloudHsmClusterIdType", - "documentation":"

Identifies the AWS CloudHSM cluster for the custom key store. Enter the cluster ID of any active AWS CloudHSM cluster that is not already associated with a custom key store. To find the cluster ID, use the DescribeClusters operation.

" + "documentation":"

Identifies the AWS CloudHSM cluster for the custom key store. Enter the cluster ID of any active AWS CloudHSM cluster that is not already associated with a custom key store. To find the cluster ID, use the DescribeClusters operation.

" }, "TrustAnchorCertificate":{ "shape":"TrustAnchorCertificateType", - "documentation":"

Enter the content of the trust anchor certificate for the cluster. This is the content of the customerCA.crt file that you created when you initialized the cluster.

" + "documentation":"

Enter the content of the trust anchor certificate for the cluster. This is the content of the customerCA.crt file that you created when you initialized the cluster.

" }, "KeyStorePassword":{ "shape":"KeyStorePasswordType", - "documentation":"

Enter the password of the kmsuser crypto user (CU) account in the specified AWS CloudHSM cluster. AWS KMS logs into the cluster as this user to manage key material on your behalf.

This parameter tells AWS KMS the kmsuser account password; it does not change the password in the AWS CloudHSM cluster.

" + "documentation":"

Enter the password of the kmsuser crypto user (CU) account in the specified AWS CloudHSM cluster. AWS KMS logs into the cluster as this user to manage key material on your behalf.

This parameter tells AWS KMS the kmsuser account password; it does not change the password in the AWS CloudHSM cluster.

" } } }, @@ -958,11 +959,11 @@ }, "GranteePrincipal":{ "shape":"PrincipalIdType", - "documentation":"

The principal that is given permission to perform the operations that the grant permits.

To specify the principal, use the Amazon Resource Name (ARN) of an AWS principal. Valid AWS principals include AWS accounts (root), IAM users, IAM roles, federated users, and assumed role users. For examples of the ARN syntax to use for specifying a principal, see AWS Identity and Access Management (IAM) in the Example ARNs section of the AWS General Reference.

" + "documentation":"

The principal that is given permission to perform the operations that the grant permits.

To specify the principal, use the Amazon Resource Name (ARN) of an AWS principal. Valid AWS principals include AWS accounts (root), IAM users, IAM roles, federated users, and assumed role users. For examples of the ARN syntax to use for specifying a principal, see AWS Identity and Access Management (IAM) in the Example ARNs section of the AWS General Reference.

" }, "RetiringPrincipal":{ "shape":"PrincipalIdType", - "documentation":"

The principal that is given permission to retire the grant by using RetireGrant operation.

To specify the principal, use the Amazon Resource Name (ARN) of an AWS principal. Valid AWS principals include AWS accounts (root), IAM users, federated users, and assumed role users. For examples of the ARN syntax to use for specifying a principal, see AWS Identity and Access Management (IAM) in the Example ARNs section of the AWS General Reference.

" + "documentation":"

The principal that is given permission to retire the grant by using RetireGrant operation.

To specify the principal, use the Amazon Resource Name (ARN) of an AWS principal. Valid AWS principals include AWS accounts (root), IAM users, federated users, and assumed role users. For examples of the ARN syntax to use for specifying a principal, see AWS Identity and Access Management (IAM) in the Example ARNs section of the AWS General Reference.

" }, "Operations":{ "shape":"GrantOperationList", @@ -970,15 +971,15 @@ }, "Constraints":{ "shape":"GrantConstraints", - "documentation":"

A structure that you can use to allow certain operations in the grant only when the desired encryption context is present. For more information about encryption context, see Encryption Context in the AWS Key Management Service Developer Guide.

" + "documentation":"

Allows a cryptographic operation only when the encryption context matches or includes the encryption context specified in this structure. For more information about encryption context, see Encryption Context in the AWS Key Management Service Developer Guide .

" }, "GrantTokens":{ "shape":"GrantTokenList", - "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" + "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" }, "Name":{ "shape":"GrantNameType", - "documentation":"

A friendly name for identifying the grant. Use this value to prevent unintended creation of duplicate grants when retrying this request.

When this value is absent, all CreateGrant requests result in a new grant with a unique GrantId even if all the supplied parameters are identical. This can result in unintended duplicates when you retry the CreateGrant request.

When this value is present, you can retry a CreateGrant request with identical parameters; if the grant already exists, the original GrantId is returned without creating a new grant. Note that the returned grant token is unique with every CreateGrant request, even when a duplicate GrantId is returned. All grant tokens obtained in this way can be used interchangeably.

" + "documentation":"

A friendly name for identifying the grant. Use this value to prevent the unintended creation of duplicate grants when retrying this request.

When this value is absent, all CreateGrant requests result in a new grant with a unique GrantId even if all the supplied parameters are identical. This can result in unintended duplicates when you retry the CreateGrant request.

When this value is present, you can retry a CreateGrant request with identical parameters; if the grant already exists, the original GrantId is returned without creating a new grant. Note that the returned grant token is unique with every CreateGrant request, even when a duplicate GrantId is returned. All grant tokens obtained in this way can be used interchangeably.

" } } }, @@ -987,7 +988,7 @@ "members":{ "GrantToken":{ "shape":"GrantTokenType", - "documentation":"

The grant token.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" + "documentation":"

The grant token.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" }, "GrantId":{ "shape":"GrantIdType", @@ -1000,7 +1001,7 @@ "members":{ "Policy":{ "shape":"PolicyType", - "documentation":"

The key policy to attach to the CMK.

If you provide a key policy, it must meet the following criteria:

  • If you don't set BypassPolicyLockoutSafetyCheck to true, the key policy must allow the principal that is making the CreateKey request to make a subsequent PutKeyPolicy request on the CMK. This reduces the risk that the CMK becomes unmanageable. For more information, refer to the scenario in the Default Key Policy section of the AWS Key Management Service Developer Guide.

  • Each statement in the key policy must contain one or more principals. The principals in the key policy must exist and be visible to AWS KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before including the new principal in a key policy because the new principal might not be immediately visible to AWS KMS. For more information, see Changes that I make are not always immediately visible in the AWS Identity and Access Management User Guide.

If you do not provide a key policy, AWS KMS attaches a default key policy to the CMK. For more information, see Default Key Policy in the AWS Key Management Service Developer Guide.

The key policy size limit is 32 kilobytes (32768 bytes).

" + "documentation":"

The key policy to attach to the CMK.

If you provide a key policy, it must meet the following criteria:

  • If you don't set BypassPolicyLockoutSafetyCheck to true, the key policy must allow the principal that is making the CreateKey request to make a subsequent PutKeyPolicy request on the CMK. This reduces the risk that the CMK becomes unmanageable. For more information, refer to the scenario in the Default Key Policy section of the AWS Key Management Service Developer Guide .

  • Each statement in the key policy must contain one or more principals. The principals in the key policy must exist and be visible to AWS KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before including the new principal in a key policy because the new principal might not be immediately visible to AWS KMS. For more information, see Changes that I make are not always immediately visible in the AWS Identity and Access Management User Guide.

If you do not provide a key policy, AWS KMS attaches a default key policy to the CMK. For more information, see Default Key Policy in the AWS Key Management Service Developer Guide.

The key policy size limit is 32 kilobytes (32768 bytes).

" }, "Description":{ "shape":"DescriptionType", @@ -1008,19 +1009,19 @@ }, "KeyUsage":{ "shape":"KeyUsageType", - "documentation":"

The intended use of the CMK.

You can use CMKs only for symmetric encryption and decryption.

" + "documentation":"

The cryptographic operations for which you can use the CMK. The only valid value is ENCRYPT_DECRYPT, which means you can use the CMK to encrypt and decrypt data.

" }, "Origin":{ "shape":"OriginType", - "documentation":"

The source of the CMK's key material. You cannot change the origin after you create the CMK.

The default is AWS_KMS, which means AWS KMS creates the key material in its own key store.

When the parameter value is EXTERNAL, AWS KMS creates a CMK without key material so that you can import key material from your existing key management infrastructure. For more information about importing key material into AWS KMS, see Importing Key Material in the AWS Key Management Service Developer Guide.

When the parameter value is AWS_CLOUDHSM, AWS KMS creates the CMK in a AWS KMS custom key store and creates its key material in the associated AWS CloudHSM cluster. You must also use the CustomKeyStoreId parameter to identify the custom key store.

" + "documentation":"

The source of the key material for the CMK. You cannot change the origin after you create the CMK.

The default is AWS_KMS, which means AWS KMS creates the key material in its own key store.

When the parameter value is EXTERNAL, AWS KMS creates a CMK without key material so that you can import key material from your existing key management infrastructure. For more information about importing key material into AWS KMS, see Importing Key Material in the AWS Key Management Service Developer Guide.

When the parameter value is AWS_CLOUDHSM, AWS KMS creates the CMK in an AWS KMS custom key store and creates its key material in the associated AWS CloudHSM cluster. You must also use the CustomKeyStoreId parameter to identify the custom key store.

" }, "CustomKeyStoreId":{ "shape":"CustomKeyStoreIdType", - "documentation":"

Creates the CMK in the specified custom key store and the key material in its associated AWS CloudHSM cluster. To create a CMK in a custom key store, you must also specify the Origin parameter with a value of AWS_CLOUDHSM. The AWS CloudHSM cluster that is associated with the custom key store must have at least two active HSMs, each in a different Availability Zone in the Region.

To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

The response includes the custom key store ID and the ID of the AWS CloudHSM cluster.

This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.

" + "documentation":"

Creates the CMK in the specified custom key store and the key material in its associated AWS CloudHSM cluster. To create a CMK in a custom key store, you must also specify the Origin parameter with a value of AWS_CLOUDHSM. The AWS CloudHSM cluster that is associated with the custom key store must have at least two active HSMs, each in a different Availability Zone in the Region.

To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

The response includes the custom key store ID and the ID of the AWS CloudHSM cluster.

This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.

" }, "BypassPolicyLockoutSafetyCheck":{ "shape":"BooleanType", - "documentation":"

A flag to indicate whether to bypass the key policy lockout safety check.

Setting this value to true increases the risk that the CMK becomes unmanageable. Do not set this value to true indiscriminately.

For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.

Use this parameter only when you include a policy in the request and you intend to prevent the principal that is making the request from making a subsequent PutKeyPolicy request on the CMK.

The default value is false.

" + "documentation":"

A flag to indicate whether to bypass the key policy lockout safety check.

Setting this value to true increases the risk that the CMK becomes unmanageable. Do not set this value to true indiscriminately.

For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide .

Use this parameter only when you include a policy in the request and you intend to prevent the principal that is making the request from making a subsequent PutKeyPolicy request on the CMK.

The default value is false.

" }, "Tags":{ "shape":"TagList", @@ -1100,15 +1101,15 @@ }, "TrustAnchorCertificate":{ "shape":"TrustAnchorCertificateType", - "documentation":"

The trust anchor certificate of the associated AWS CloudHSM cluster. When you initialize the cluster, you create this certificate and save it in the customerCA.crt file.

" + "documentation":"

The trust anchor certificate of the associated AWS CloudHSM cluster. When you initialize the cluster, you create this certificate and save it in the customerCA.crt file.

" }, "ConnectionState":{ "shape":"ConnectionStateType", - "documentation":"

Indicates whether the custom key store is connected to its AWS CloudHSM cluster.

You can create and use CMKs in your custom key stores only when its connection state is CONNECTED.

The value is DISCONNECTED if the key store has never been connected or you use the DisconnectCustomKeyStore operation to disconnect it. If the value is CONNECTED but you are having trouble using the custom key store, make sure that its associated AWS CloudHSM cluster is active and contains at least one active HSM.

A value of FAILED indicates that an attempt to connect was unsuccessful. For help resolving a connection failure, see Troubleshooting a Custom Key Store in the AWS Key Management Service Developer Guide.

" + "documentation":"

Indicates whether the custom key store is connected to its AWS CloudHSM cluster.

You can create and use CMKs in your custom key stores only when its connection state is CONNECTED.

The value is DISCONNECTED if the key store has never been connected or you use the DisconnectCustomKeyStore operation to disconnect it. If the value is CONNECTED but you are having trouble using the custom key store, make sure that its associated AWS CloudHSM cluster is active and contains at least one active HSM.

A value of FAILED indicates that an attempt to connect was unsuccessful. For help resolving a connection failure, see Troubleshooting a Custom Key Store in the AWS Key Management Service Developer Guide.

" }, "ConnectionErrorCode":{ "shape":"ConnectionErrorCodeType", - "documentation":"

Describes the connection error. Valid values are:

  • CLUSTER_NOT_FOUND - AWS KMS cannot find the AWS CloudHSM cluster with the specified cluster ID.

  • INSUFFICIENT_CLOUDHSM_HSMS - The associated AWS CloudHSM cluster does not contain any active HSMs. To connect a custom key store to its AWS CloudHSM cluster, the cluster must contain at least one active HSM.

  • INVALID_CREDENTIALS - AWS KMS does not have the correct password for the kmsuser crypto user in the AWS CloudHSM cluster.

  • NETWORK_ERRORS - Network errors are preventing AWS KMS from connecting to the custom key store.

  • USER_LOCKED_OUT - The kmsuser CU account is locked out of the associated AWS CloudHSM cluster due to too many failed password attempts. Before you can connect your custom key store to its AWS CloudHSM cluster, you must change the kmsuser account password and update the password value for the custom key store.

For help with connection failures, see Troubleshooting Custom Key Stores in the AWS Key Management Service Developer Guide.

" + "documentation":"

Describes the connection error. Valid values are:

  • CLUSTER_NOT_FOUND - AWS KMS cannot find the AWS CloudHSM cluster with the specified cluster ID.

  • INSUFFICIENT_CLOUDHSM_HSMS - The associated AWS CloudHSM cluster does not contain any active HSMs. To connect a custom key store to its AWS CloudHSM cluster, the cluster must contain at least one active HSM.

  • INTERNAL_ERROR - AWS KMS could not complete the request due to an internal error. Retry the request. For ConnectCustomKeyStore requests, disconnect the custom key store before trying to connect again.

  • INVALID_CREDENTIALS - AWS KMS does not have the correct password for the kmsuser crypto user in the AWS CloudHSM cluster.

  • NETWORK_ERRORS - Network errors are preventing AWS KMS from connecting to the custom key store.

  • USER_LOCKED_OUT - The kmsuser CU account is locked out of the associated AWS CloudHSM cluster due to too many failed password attempts. Before you can connect your custom key store to its AWS CloudHSM cluster, you must change the kmsuser account password and update the password value for the custom key store.

For help with connection failures, see Troubleshooting Custom Key Stores in the AWS Key Management Service Developer Guide.

" }, "CreationDate":{ "shape":"DateType", @@ -1135,11 +1136,11 @@ }, "EncryptionContext":{ "shape":"EncryptionContextType", - "documentation":"

The encryption context. If this was specified in the Encrypt function, it must be specified here or the decryption operation will fail. For more information, see Encryption Context.

" + "documentation":"

The encryption context. If this was specified in the Encrypt function, it must be specified here or the decryption operation will fail. For more information, see Encryption Context.

" }, "GrantTokens":{ "shape":"GrantTokenList", - "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" + "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" } } }, @@ -1152,7 +1153,7 @@ }, "Plaintext":{ "shape":"PlaintextType", - "documentation":"

Decrypted plaintext data. When you use the HTTP API or the AWS CLI, the value is Base64-encdoded. Otherwise, it is not encoded.

" + "documentation":"

Decrypted plaintext data. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not encoded.

" } } }, @@ -1162,7 +1163,7 @@ "members":{ "AliasName":{ "shape":"AliasNameType", - "documentation":"

The alias to be deleted. The name must start with the word \"alias\" followed by a forward slash (alias/). Aliases that begin with \"alias/aws\" are reserved.

" + "documentation":"

The alias to be deleted. The alias name must begin with alias/ followed by the alias name, such as alias/ExampleAlias.

" } } }, @@ -1187,7 +1188,7 @@ "members":{ "KeyId":{ "shape":"KeyIdType", - "documentation":"

The identifier of the CMK whose key material to delete. The CMK's Origin must be EXTERNAL.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" + "documentation":"

Identifies the CMK from which you are deleting imported key material. The Origin of the CMK must be EXTERNAL.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" } } }, @@ -1234,7 +1235,7 @@ }, "Truncated":{ "shape":"BooleanType", - "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

" + "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in thisresponse to the Marker parameter in a subsequent request.

" } } }, @@ -1244,11 +1245,11 @@ "members":{ "KeyId":{ "shape":"KeyIdType", - "documentation":"

Describes the specified customer master key (CMK).

If you specify a predefined AWS alias (an AWS alias with no key ID), KMS associates the alias with an AWS managed CMK and returns its KeyId and Arn in the response.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" + "documentation":"

Describes the specified customer master key (CMK).

If you specify a predefined AWS alias (an AWS alias with no key ID), KMS associates the alias with an AWS managed CMK and returns its KeyId and Arn in the response.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" }, "GrantTokens":{ "shape":"GrantTokenList", - "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" + "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" } } }, @@ -1338,7 +1339,7 @@ "members":{ "KeyId":{ "shape":"KeyIdType", - "documentation":"

A unique identifier for the customer master key (CMK).

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" + "documentation":"

A unique identifier for the customer master key (CMK).

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" }, "Plaintext":{ "shape":"PlaintextType", @@ -1346,11 +1347,11 @@ }, "EncryptionContext":{ "shape":"EncryptionContextType", - "documentation":"

Name-value pair that specifies the encryption context to be used for authenticated encryption. If used here, the same value must be supplied to the Decrypt API or decryption will fail. For more information, see Encryption Context.

" + "documentation":"

Name-value pair that specifies the encryption context to be used for authenticated encryption. If used here, the same value must be supplied to the Decrypt API or decryption will fail. For more information, see Encryption Context.

" }, "GrantTokens":{ "shape":"GrantTokenList", - "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" + "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" } } }, @@ -1359,7 +1360,7 @@ "members":{ "CiphertextBlob":{ "shape":"CiphertextType", - "documentation":"

The encrypted plaintext. When you use the HTTP API or the AWS CLI, the value is Base64-encdoded. Otherwise, it is not encoded.

" + "documentation":"

The encrypted plaintext. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not encoded.

" }, "KeyId":{ "shape":"KeyIdType", @@ -1396,23 +1397,23 @@ "members":{ "KeyId":{ "shape":"KeyIdType", - "documentation":"

The identifier of the CMK under which to generate and encrypt the data encryption key.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" + "documentation":"

An identifier for the CMK that encrypts the data key.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" }, "EncryptionContext":{ "shape":"EncryptionContextType", - "documentation":"

A set of key-value pairs that represents additional authenticated data.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

" + "documentation":"

A set of key-value pairs that represents additional authenticated data.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

" }, "NumberOfBytes":{ "shape":"NumberOfBytesType", - "documentation":"

The length of the data encryption key in bytes. For example, use the value 64 to generate a 512-bit data key (64 bytes is 512 bits). For common key lengths (128-bit and 256-bit symmetric keys), we recommend that you use the KeySpec field instead of this one.

" + "documentation":"

The length of the data key in bytes. For example, use the value 64 to generate a 512-bit data key (64 bytes is 512 bits). For common key lengths (128-bit and 256-bit symmetric keys), we recommend that you use the KeySpec field instead of this one.

" }, "KeySpec":{ "shape":"DataKeySpec", - "documentation":"

The length of the data encryption key. Use AES_128 to generate a 128-bit symmetric key, or AES_256 to generate a 256-bit symmetric key.

" + "documentation":"

The length of the data key. Use AES_128 to generate a 128-bit symmetric key, or AES_256 to generate a 256-bit symmetric key.

" }, "GrantTokens":{ "shape":"GrantTokenList", - "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" + "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" } } }, @@ -1421,15 +1422,15 @@ "members":{ "CiphertextBlob":{ "shape":"CiphertextType", - "documentation":"

The encrypted data encryption key. When you use the HTTP API or the AWS CLI, the value is Base64-encdoded. Otherwise, it is not encoded.

" + "documentation":"

The encrypted copy of the data key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not encoded.

" }, "Plaintext":{ "shape":"PlaintextType", - "documentation":"

The data encryption key. When you use the HTTP API or the AWS CLI, the value is Base64-encdoded. Otherwise, it is not encoded. Use this data key for local encryption and decryption, then remove it from memory as soon as possible.

" + "documentation":"

The plaintext data key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not encoded. Use this data key to encrypt your data outside of KMS. Then, remove it from memory as soon as possible.

" }, "KeyId":{ "shape":"KeyIdType", - "documentation":"

The identifier of the CMK under which the data encryption key was generated and encrypted.

" + "documentation":"

The identifier of the CMK that encrypted the data key.

" } } }, @@ -1439,23 +1440,23 @@ "members":{ "KeyId":{ "shape":"KeyIdType", - "documentation":"

The identifier of the customer master key (CMK) under which to generate and encrypt the data encryption key.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" + "documentation":"

The identifier of the customer master key (CMK) that encrypts the data key.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" }, "EncryptionContext":{ "shape":"EncryptionContextType", - "documentation":"

A set of key-value pairs that represents additional authenticated data.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

" + "documentation":"

A set of key-value pairs that represents additional authenticated data.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

" }, "KeySpec":{ "shape":"DataKeySpec", - "documentation":"

The length of the data encryption key. Use AES_128 to generate a 128-bit symmetric key, or AES_256 to generate a 256-bit symmetric key.

" + "documentation":"

The length of the data key. Use AES_128 to generate a 128-bit symmetric key, or AES_256 to generate a 256-bit symmetric key.

" }, "NumberOfBytes":{ "shape":"NumberOfBytesType", - "documentation":"

The length of the data encryption key in bytes. For example, use the value 64 to generate a 512-bit data key (64 bytes is 512 bits). For common key lengths (128-bit and 256-bit symmetric keys), we recommend that you use the KeySpec field instead of this one.

" + "documentation":"

The length of the data key in bytes. For example, use the value 64 to generate a 512-bit data key (64 bytes is 512 bits). For common key lengths (128-bit and 256-bit symmetric keys), we recommend that you use the KeySpec field instead of this one.

" }, "GrantTokens":{ "shape":"GrantTokenList", - "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" + "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" } } }, @@ -1464,11 +1465,11 @@ "members":{ "CiphertextBlob":{ "shape":"CiphertextType", - "documentation":"

The encrypted data encryption key. When you use the HTTP API or the AWS CLI, the value is Base64-encdoded. Otherwise, it is not encoded.

" + "documentation":"

The encrypted data key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not encoded.

" }, "KeyId":{ "shape":"KeyIdType", - "documentation":"

The identifier of the CMK under which the data encryption key was generated and encrypted.

" + "documentation":"

The identifier of the CMK that encrypted the data key.

" } } }, @@ -1481,7 +1482,7 @@ }, "CustomKeyStoreId":{ "shape":"CustomKeyStoreIdType", - "documentation":"

Generates the random byte string in the AWS CloudHSM cluster that is associated with the specified custom key store. To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

" + "documentation":"

Generates the random byte string in the AWS CloudHSM cluster that is associated with the specified custom key store. To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

" } } }, @@ -1490,7 +1491,7 @@ "members":{ "Plaintext":{ "shape":"PlaintextType", - "documentation":"

The random byte string. When you use the HTTP API or the AWS CLI, the value is Base64-encdoded. Otherwise, it is not encoded.

" + "documentation":"

The random byte string. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not encoded.

" } } }, @@ -1553,7 +1554,7 @@ }, "WrappingAlgorithm":{ "shape":"AlgorithmSpec", - "documentation":"

The algorithm you will use to encrypt the key material before importing it with ImportKeyMaterial. For more information, see Encrypt the Key Material in the AWS Key Management Service Developer Guide.

" + "documentation":"

The algorithm you will use to encrypt the key material before importing it with ImportKeyMaterial. For more information, see Encrypt the Key Material in the AWS Key Management Service Developer Guide.

" }, "WrappingKeySpec":{ "shape":"WrappingKeySpec", @@ -1587,14 +1588,14 @@ "members":{ "EncryptionContextSubset":{ "shape":"EncryptionContextType", - "documentation":"

A list of key-value pairs, all of which must be present in the encryption context of certain subsequent operations that the grant allows. When certain subsequent operations allowed by the grant include encryption context that matches this list or is a superset of this list, the grant allows the operation. Otherwise, the grant does not allow the operation.

" + "documentation":"

A list of key-value pairs that must be included in the encryption context of the cryptographic operation request. The grant allows the cryptographic operation only when the encryption context in the request includes the key-value pairs specified in this constraint, although it can include additional key-value pairs.

" }, "EncryptionContextEquals":{ "shape":"EncryptionContextType", - "documentation":"

A list of key-value pairs that must be present in the encryption context of certain subsequent operations that the grant allows. When certain subsequent operations allowed by the grant include encryption context that matches this list, the grant allows the operation. Otherwise, the grant does not allow the operation.

" + "documentation":"

A list of key-value pairs that must match the encryption context in the cryptographic operation request. The grant allows the operation only when the encryption context in the request is the same as the encryption context specified in this constraint.

" } }, - "documentation":"

A structure that you can use to allow certain operations in the grant only when the desired encryption context is present. For more information about encryption context, see Encryption Context in the AWS Key Management Service Developer Guide.

Grant constraints apply only to operations that accept encryption context as input. For example, the DescribeKey operation does not accept encryption context as input. A grant that allows the DescribeKey operation does so regardless of the grant constraints. In constrast, the Encrypt operation accepts encryption context as input. A grant that allows the Encrypt operation does so only when the encryption context of the Encrypt operation satisfies the grant constraints.

" + "documentation":"

Use this structure to allow cryptographic operations in the grant only when the operation request includes the specified encryption context.

AWS KMS applies the grant constraints only when the grant allows a cryptographic operation that accepts an encryption context as input, such as the following.

AWS KMS does not apply the grant constraints to other operations, such as DescribeKey or ScheduleKeyDeletion.

In a cryptographic operation, the encryption context in the decryption operation must be an exact, case-sensitive match for the keys and values in the encryption context of the encryption operation. Only the order of the pairs can vary.

However, in a grant constraint, the key in each key-value pair is not case sensitive, but the value is case sensitive.

To avoid confusion, do not use multiple encryption context pairs that differ only by case. To require a fully case-sensitive encryption context, use the kms:EncryptionContext: and kms:EncryptionContextKeys conditions in an IAM or key policy. For details, see kms:EncryptionContext: in the AWS Key Management Service Developer Guide .

" }, "GrantIdType":{ "type":"string", @@ -1730,7 +1731,7 @@ "members":{ "message":{"shape":"ErrorMessageType"} }, - "documentation":"

The request was rejected because the trust anchor certificate in the request is not the trust anchor certificate for the specified AWS CloudHSM cluster.

When you initialize the cluster, you create the trust anchor certificate and save it in the customerCA.crt file.

", + "documentation":"

The request was rejected because the trust anchor certificate in the request is not the trust anchor certificate for the specified AWS CloudHSM cluster.

When you initialize the cluster, you create the trust anchor certificate and save it in the customerCA.crt file.

", "exception":true }, "InvalidAliasNameException":{ @@ -1746,7 +1747,7 @@ "members":{ "message":{"shape":"ErrorMessageType"} }, - "documentation":"

The request was rejected because a specified ARN was not valid.

", + "documentation":"

The request was rejected because a specified ARN, or an ARN in a key policy, is not valid.

", "exception":true }, "InvalidCiphertextException":{ @@ -1811,7 +1812,7 @@ "members":{ "message":{"shape":"ErrorMessageType"} }, - "documentation":"

The request was rejected because the state of the specified resource is not valid for this request.

For more information about how key state affects the use of a CMK, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", + "documentation":"

The request was rejected because the state of the specified resource is not valid for this request.

For more information about how key state affects the use of a CMK, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", "exception":true }, "KeyIdType":{ @@ -1858,7 +1859,7 @@ }, "Arn":{ "shape":"ArnType", - "documentation":"

The Amazon Resource Name (ARN) of the CMK. For examples, see AWS Key Management Service (AWS KMS) in the Example ARNs section of the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the CMK. For examples, see AWS Key Management Service (AWS KMS) in the Example ARNs section of the AWS General Reference.

" }, "CreationDate":{ "shape":"DateType", @@ -1874,11 +1875,11 @@ }, "KeyUsage":{ "shape":"KeyUsageType", - "documentation":"

The cryptographic operations for which you can use the CMK. Currently the only allowed value is ENCRYPT_DECRYPT, which means you can use the CMK for the Encrypt and Decrypt operations.

" + "documentation":"

The cryptographic operations for which you can use the CMK. The only valid value is ENCRYPT_DECRYPT, which means you can use the CMK to encrypt and decrypt data.

" }, "KeyState":{ "shape":"KeyState", - "documentation":"

The state of the CMK.

For more information about how key state affects the use of a CMK, see How Key State Affects the Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + "documentation":"

The state of the CMK.

For more information about how key state affects the use of a CMK, see How Key State Affects the Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "DeletionDate":{ "shape":"DateType", @@ -1894,11 +1895,11 @@ }, "CustomKeyStoreId":{ "shape":"CustomKeyStoreIdType", - "documentation":"

A unique identifier for the custom key store that contains the CMK. This value is present only when the CMK is created in a custom key store.

" + "documentation":"

A unique identifier for the custom key store that contains the CMK. This value is present only when the CMK is created in a custom key store.

" }, "CloudHsmClusterId":{ "shape":"CloudHsmClusterIdType", - "documentation":"

The cluster ID of the AWS CloudHSM cluster that contains the key material for the CMK. When you create a CMK in a custom key store, AWS KMS creates the key material for the CMK in the associated AWS CloudHSM cluster. This value is present only when the CMK is created in a custom key store.

" + "documentation":"

The cluster ID of the AWS CloudHSM cluster that contains the key material for the CMK. When you create a CMK in a custom key store, AWS KMS creates the key material for the CMK in the associated AWS CloudHSM cluster. This value is present only when the CMK is created in a custom key store.

" }, "ExpirationModel":{ "shape":"ExpirationModelType", @@ -1906,7 +1907,7 @@ }, "KeyManager":{ "shape":"KeyManagerType", - "documentation":"

The CMK's manager. CMKs are either customer-managed or AWS-managed. For more information about the difference, see Customer Master Keys in the AWS Key Management Service Developer Guide.

" + "documentation":"

The manager of the CMK. CMKs in your AWS account are either customer managed or AWS managed. For more information about the difference, see Customer Master Keys in the AWS Key Management Service Developer Guide.

" } }, "documentation":"

Contains metadata about a customer master key (CMK).

This data type is used as a response element for the CreateKey and DescribeKey operations.

" @@ -1944,7 +1945,7 @@ "members":{ "message":{"shape":"ErrorMessageType"} }, - "documentation":"

The request was rejected because a limit was exceeded. For more information, see Limits in the AWS Key Management Service Developer Guide.

", + "documentation":"

The request was rejected because a limit was exceeded. For more information, see Limits in the AWS Key Management Service Developer Guide.

", "exception":true }, "LimitType":{ @@ -1982,7 +1983,7 @@ }, "Truncated":{ "shape":"BooleanType", - "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

" + "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in thisresponse to the Marker parameter in a subsequent request.

" } } }, @@ -2017,7 +2018,7 @@ }, "Truncated":{ "shape":"BooleanType", - "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

" + "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in thisresponse to the Marker parameter in a subsequent request.

" } } }, @@ -2031,7 +2032,7 @@ }, "Limit":{ "shape":"LimitType", - "documentation":"

Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer.

This value is optional. If you include a value, it must be between 1 and 1000, inclusive. If you do not include a value, it defaults to 100.

Currently only 1 policy can be attached to a key.

" + "documentation":"

Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer.

This value is optional. If you include a value, it must be between 1 and 1000, inclusive. If you do not include a value, it defaults to 100.

Only one policy can be attached to a key.

" }, "Marker":{ "shape":"MarkerType", @@ -2044,7 +2045,7 @@ "members":{ "PolicyNames":{ "shape":"PolicyNameList", - "documentation":"

A list of key policy names. Currently, there is only one key policy per CMK and it is always named default.

" + "documentation":"

A list of key policy names. The only valid value is default.

" }, "NextMarker":{ "shape":"MarkerType", @@ -2052,7 +2053,7 @@ }, "Truncated":{ "shape":"BooleanType", - "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

" + "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in thisresponse to the Marker parameter in a subsequent request.

" } } }, @@ -2082,7 +2083,7 @@ }, "Truncated":{ "shape":"BooleanType", - "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

" + "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in thisresponse to the Marker parameter in a subsequent request.

" } } }, @@ -2117,7 +2118,7 @@ }, "Truncated":{ "shape":"BooleanType", - "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

" + "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in thisresponse to the Marker parameter in a subsequent request.

" } } }, @@ -2135,7 +2136,7 @@ }, "RetiringPrincipal":{ "shape":"PrincipalIdType", - "documentation":"

The retiring principal for which to list grants.

To specify the retiring principal, use the Amazon Resource Name (ARN) of an AWS principal. Valid AWS principals include AWS accounts (root), IAM users, federated users, and assumed role users. For examples of the ARN syntax for specifying a principal, see AWS Identity and Access Management (IAM) in the Example ARNs section of the Amazon Web Services General Reference.

" + "documentation":"

The retiring principal for which to list grants.

To specify the retiring principal, use the Amazon Resource Name (ARN) of an AWS principal. Valid AWS principals include AWS accounts (root), IAM users, federated users, and assumed role users. For examples of the ARN syntax for specifying a principal, see AWS Identity and Access Management (IAM) in the Example ARNs section of the Amazon Web Services General Reference.

" } } }, @@ -2225,11 +2226,11 @@ }, "Policy":{ "shape":"PolicyType", - "documentation":"

The key policy to attach to the CMK.

The key policy must meet the following criteria:

  • If you don't set BypassPolicyLockoutSafetyCheck to true, the key policy must allow the principal that is making the PutKeyPolicy request to make a subsequent PutKeyPolicy request on the CMK. This reduces the risk that the CMK becomes unmanageable. For more information, refer to the scenario in the Default Key Policy section of the AWS Key Management Service Developer Guide.

  • Each statement in the key policy must contain one or more principals. The principals in the key policy must exist and be visible to AWS KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before including the new principal in a key policy because the new principal might not be immediately visible to AWS KMS. For more information, see Changes that I make are not always immediately visible in the AWS Identity and Access Management User Guide.

The key policy size limit is 32 kilobytes (32768 bytes).

" + "documentation":"

The key policy to attach to the CMK.

The key policy must meet the following criteria:

  • If you don't set BypassPolicyLockoutSafetyCheck to true, the key policy must allow the principal that is making the PutKeyPolicy request to make a subsequent PutKeyPolicy request on the CMK. This reduces the risk that the CMK becomes unmanageable. For more information, refer to the scenario in the Default Key Policy section of the AWS Key Management Service Developer Guide.

  • Each statement in the key policy must contain one or more principals. The principals in the key policy must exist and be visible to AWS KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before including the new principal in a key policy because the new principal might not be immediately visible to AWS KMS. For more information, see Changes that I make are not always immediately visible in the AWS Identity and Access Management User Guide.

The key policy size limit is 32 kilobytes (32768 bytes).

" }, "BypassPolicyLockoutSafetyCheck":{ "shape":"BooleanType", - "documentation":"

A flag to indicate whether to bypass the key policy lockout safety check.

Setting this value to true increases the risk that the CMK becomes unmanageable. Do not set this value to true indiscriminately.

For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.

Use this parameter only when you intend to prevent the principal that is making the request from making a subsequent PutKeyPolicy request on the CMK.

The default value is false.

" + "documentation":"

A flag to indicate whether to bypass the key policy lockout safety check.

Setting this value to true increases the risk that the CMK becomes unmanageable. Do not set this value to true indiscriminately.

For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.

Use this parameter only when you intend to prevent the principal that is making the request from making a subsequent PutKeyPolicy request on the CMK.

The default value is false.

" } } }, @@ -2250,7 +2251,7 @@ }, "DestinationKeyId":{ "shape":"KeyIdType", - "documentation":"

A unique identifier for the CMK that is used to reencrypt the data.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" + "documentation":"

A unique identifier for the CMK that is used to reencrypt the data.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" }, "DestinationEncryptionContext":{ "shape":"EncryptionContextType", @@ -2258,7 +2259,7 @@ }, "GrantTokens":{ "shape":"GrantTokenList", - "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" + "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" } } }, @@ -2267,7 +2268,7 @@ "members":{ "CiphertextBlob":{ "shape":"CiphertextType", - "documentation":"

The reencrypted data. When you use the HTTP API or the AWS CLI, the value is Base64-encdoded. Otherwise, it is not encoded.

" + "documentation":"

The reencrypted data. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not encoded.

" }, "SourceKeyId":{ "shape":"KeyIdType", @@ -2356,7 +2357,7 @@ "documentation":"

The value of the tag.

" } }, - "documentation":"

A key-value pair. A tag consists of a tag key and a tag value. Tag keys and tag values are both required, but tag values can be empty (null) strings.

For information about the rules that apply to tag keys and tag values, see User-Defined Tag Restrictions in the AWS Billing and Cost Management User Guide.

" + "documentation":"

A key-value pair. A tag consists of a tag key and a tag value. Tag keys and tag values are both required, but tag values can be empty (null) strings.

For information about the rules that apply to tag keys and tag values, see User-Defined Tag Restrictions in the AWS Billing and Cost Management User Guide.

" }, "TagException":{ "type":"structure", @@ -2440,11 +2441,11 @@ "members":{ "AliasName":{ "shape":"AliasNameType", - "documentation":"

String that contains the name of the alias to be modified. The name must start with the word \"alias\" followed by a forward slash (alias/). Aliases that begin with \"alias/aws\" are reserved.

" + "documentation":"

Specifies the name of the alias to change. This value must begin with alias/ followed by the alias name, such as alias/ExampleAlias.

" }, "TargetKeyId":{ "shape":"KeyIdType", - "documentation":"

Unique identifier of the customer master key to be mapped to the alias.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

To verify that the alias is mapped to the correct CMK, use ListAliases.

" + "documentation":"

Unique identifier of the customer master key (CMK) to be mapped to the alias. When the update operation completes, the alias will point to this CMK.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

To verify that the alias is mapped to the correct CMK, use ListAliases.

" } } }, @@ -2466,7 +2467,7 @@ }, "CloudHsmClusterId":{ "shape":"CloudHsmClusterIdType", - "documentation":"

Associates the custom key store with a related AWS CloudHSM cluster.

Enter the cluster ID of the cluster that you used to create the custom key store or a cluster that shares a backup history with the original cluster. You cannot use this parameter to associate a custom key store with a different cluster.

Clusters that share a backup history have the same cluster certificate. To view the cluster certificate of a cluster, use the DescribeClusters operation.

" + "documentation":"

Associates the custom key store with a related AWS CloudHSM cluster.

Enter the cluster ID of the cluster that you used to create the custom key store or a cluster that shares a backup history and has the same cluster certificate as the original cluster. You cannot use this parameter to associate a custom key store with an unrelated cluster. In addition, the replacement cluster must fulfill the requirements for a cluster associated with a custom key store. To view the cluster certificate of a cluster, use the DescribeClusters operation.

" } } }, @@ -2497,5 +2498,5 @@ "enum":["RSA_2048"] } }, - "documentation":"AWS Key Management Service

AWS Key Management Service (AWS KMS) is an encryption and key management web service. This guide describes the AWS KMS operations that you can call programmatically. For general information about AWS KMS, see the AWS Key Management Service Developer Guide .

AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .Net, macOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to AWS KMS and other AWS services. For example, the SDKs take care of tasks such as signing requests (see below), managing errors, and retrying requests automatically. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services.

We recommend that you use the AWS SDKs to make programmatic API calls to AWS KMS.

Clients must support TLS (Transport Layer Security) 1.0. We recommend TLS 1.2. Clients must also support cipher suites with Perfect Forward Secrecy (PFS) such as Ephemeral Diffie-Hellman (DHE) or Elliptic Curve Ephemeral Diffie-Hellman (ECDHE). Most modern systems such as Java 7 and later support these modes.

Signing Requests

Requests must be signed by using an access key ID and a secret access key. We strongly recommend that you do not use your AWS account (root) access key ID and secret key for everyday work with AWS KMS. Instead, use the access key ID and secret access key for an IAM user, or you can use the AWS Security Token Service to generate temporary security credentials that you can use to sign requests.

All AWS KMS operations require Signature Version 4.

Logging API Requests

AWS KMS supports AWS CloudTrail, a service that logs AWS API calls and related events for your AWS account and delivers them to an Amazon S3 bucket that you specify. By using the information collected by CloudTrail, you can determine what requests were made to AWS KMS, who made the request, when it was made, and so on. To learn more about CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User Guide.

Additional Resources

For more information about credentials and request signing, see the following:

Commonly Used APIs

Of the APIs discussed in this guide, the following will prove the most useful for most applications. You will likely perform actions other than these, such as creating keys and assigning policies, by using the console.

" + "documentation":"AWS Key Management Service

AWS Key Management Service (AWS KMS) is an encryption and key management web service. This guide describes the AWS KMS operations that you can call programmatically. For general information about AWS KMS, see the AWS Key Management Service Developer Guide .

AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .Net, macOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to AWS KMS and other AWS services. For example, the SDKs take care of tasks such as signing requests (see below), managing errors, and retrying requests automatically. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services.

We recommend that you use the AWS SDKs to make programmatic API calls to AWS KMS.

Clients must support TLS (Transport Layer Security) 1.0. We recommend TLS 1.2. Clients must also support cipher suites with Perfect Forward Secrecy (PFS) such as Ephemeral Diffie-Hellman (DHE) or Elliptic Curve Ephemeral Diffie-Hellman (ECDHE). Most modern systems such as Java 7 and later support these modes.

Signing Requests

Requests must be signed by using an access key ID and a secret access key. We strongly recommend that you do not use your AWS account (root) access key ID and secret key for everyday work with AWS KMS. Instead, use the access key ID and secret access key for an IAM user. You can also use the AWS Security Token Service to generate temporary security credentials that you can use to sign requests.

All AWS KMS operations require Signature Version 4.

Logging API Requests

AWS KMS supports AWS CloudTrail, a service that logs AWS API calls and related events for your AWS account and delivers them to an Amazon S3 bucket that you specify. By using the information collected by CloudTrail, you can determine what requests were made to AWS KMS, who made the request, when it was made, and so on. To learn more about CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User Guide.

Additional Resources

For more information about credentials and request signing, see the following:

Commonly Used API Operations

Of the API operations discussed in this guide, the following will prove the most useful for most applications. You will likely perform operations other than these, such as creating keys and assigning policies, by using the console.

" } diff --git a/bin/botocore/data/lambda/2015-03-31/paginators-1.json b/bin/botocore/data/lambda/2015-03-31/paginators-1.json index b2d1577f..c7918f89 100644 --- a/bin/botocore/data/lambda/2015-03-31/paginators-1.json +++ b/bin/botocore/data/lambda/2015-03-31/paginators-1.json @@ -17,6 +17,24 @@ "output_token": "NextMarker", "limit_key": "MaxItems", "result_key": "Aliases" + }, + "ListLayerVersions": { + "input_token": "Marker", + "limit_key": "MaxItems", + "output_token": "NextMarker", + "result_key": "LayerVersions" + }, + "ListLayers": { + "input_token": "Marker", + "limit_key": "MaxItems", + "output_token": "NextMarker", + "result_key": "Layers" + }, + "ListVersionsByFunction": { + "input_token": "Marker", + "limit_key": "MaxItems", + "output_token": "NextMarker", + "result_key": "Versions" } } } diff --git a/bin/botocore/data/lambda/2015-03-31/service-2.json b/bin/botocore/data/lambda/2015-03-31/service-2.json index 7a481b3a..e5289b83 100644 --- a/bin/botocore/data/lambda/2015-03-31/service-2.json +++ b/bin/botocore/data/lambda/2015-03-31/service-2.json @@ -28,7 +28,7 @@ {"shape":"PolicyLengthExceededException"}, {"shape":"PreconditionFailedException"} ], - "documentation":"

Adds permissions to the resource-based policy of a version of a function layer. Use this action to grant layer usage permission to other accounts. You can grant permission to a single account, all AWS accounts, or all accounts in an organization.

To revoke permission, call RemoveLayerVersionPermission with the statement ID that you specified when you added it.

" + "documentation":"

Adds permissions to the resource-based policy of a version of an AWS Lambda layer. Use this action to grant layer usage permission to other accounts. You can grant permission to a single account, all AWS accounts, or all accounts in an organization.

To revoke permission, call RemoveLayerVersionPermission with the statement ID that you specified when you added it.

" }, "AddPermission":{ "name":"AddPermission", @@ -48,7 +48,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"PreconditionFailedException"} ], - "documentation":"

Adds a permission to the resource policy associated with the specified AWS Lambda function. You use resource policies to grant permissions to event sources that use the push model. In a push model, event sources (such as Amazon S3 and custom applications) invoke your Lambda function. Each permission you add to the resource policy allows an event source permission to invoke the Lambda function.

Permissions apply to the Amazon Resource Name (ARN) used to invoke the function, which can be unqualified (the unpublished version of the function), or include a version or alias. If a client uses a version or alias to invoke a function, use the Qualifier parameter to apply permissions to that ARN. For more information about versioning, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:AddPermission action.

" + "documentation":"

Grants an AWS service or another account permission to use a function. You can apply the policy at the function level, or specify a qualifier to restrict access to a single version or alias. If you use a qualifier, the invoker must use the full Amazon Resource Name (ARN) of that version or alias to invoke the function.

To grant permission to another account, specify the account ID as the Principal. For AWS services, the principal is a domain-style identifier defined by the service, like s3.amazonaws.com or sns.amazonaws.com. For AWS services, you can also specify the ARN or owning account of the associated resource as the SourceArn or SourceAccount. If you grant permission to a service principal without specifying the source, other accounts could potentially configure resources in their account to invoke your Lambda function.

This action adds a statement to a resource-based permission policy for the function. For more information about function policies, see Lambda Function Policies.

" }, "CreateAlias":{ "name":"CreateAlias", @@ -66,7 +66,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Creates an alias that points to the specified Lambda function version. For more information, see Introduction to AWS Lambda Aliases.

Alias names are unique for a given function. This requires permission for the lambda:CreateAlias action.

" + "documentation":"

Creates an alias for a Lambda function version. Use aliases to provide clients with a function identifier that you can update to invoke a different version.

You can also map an alias to split invocation requests between two versions. Use the RoutingConfig parameter to specify a second version and the percentage of invocation requests that it receives.

" }, "CreateEventSourceMapping":{ "name":"CreateEventSourceMapping", @@ -84,7 +84,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Creates a mapping between an event source and an AWS Lambda function. Lambda reads items from the event source and triggers the function.

For details about each event source type, see the following topics.

" + "documentation":"

Creates a mapping between an event source and an AWS Lambda function. Lambda reads items from the event source and triggers the function.

For details about each event source type, see the following topics.

" }, "CreateFunction":{ "name":"CreateFunction", @@ -103,7 +103,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"CodeStorageExceededException"} ], - "documentation":"

Creates a new Lambda function. The function configuration is created from the request parameters, and the code for the function is provided by a .zip file. The function name is case-sensitive.

This operation requires permission for the lambda:CreateFunction action.

" + "documentation":"

Creates a Lambda function. To create a function, you need a deployment package and an execution role. The deployment package contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.

A function has an unpublished version, and can have published versions and aliases. The unpublished version changes when you update your function's code and configuration. A published version is a snapshot of your function code and configuration that can't be changed. An alias is a named resource that maps to a version, and can be changed to map to a different version. Use the Publish parameter to create version 1 of your function from its initial configuration.

The other parameters let you configure version-specific and function-level settings. You can modify version-specific settings later with UpdateFunctionConfiguration. Function-level settings apply to both the unpublished and published versions of the function, and include tags (TagResource) and per-function concurrency limits (PutFunctionConcurrency).

If another account or an AWS service invokes your function, use AddPermission to grant permission by creating a resource-based IAM policy. You can grant permissions at the function level, on a version, or on an alias.

To invoke your function directly, use Invoke. To invoke your function in response to events in other AWS services, create an event source mapping (CreateEventSourceMapping), or configure a function trigger in the other service. For more information, see Invoking Functions.

" }, "DeleteAlias":{ "name":"DeleteAlias", @@ -118,7 +118,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Deletes the specified Lambda function alias. For more information, see Introduction to AWS Lambda Aliases.

This requires permission for the lambda:DeleteAlias action.

" + "documentation":"

Deletes a Lambda function alias.

" }, "DeleteEventSourceMapping":{ "name":"DeleteEventSourceMapping", @@ -136,7 +136,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"ResourceInUseException"} ], - "documentation":"

Deletes an event source mapping.

" + "documentation":"

Deletes an event source mapping. You can get the identifier of a mapping from the output of ListEventSourceMappings.

" }, "DeleteFunction":{ "name":"DeleteFunction", @@ -153,7 +153,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"ResourceConflictException"} ], - "documentation":"

Deletes a Lambda function. To delete a specific function version, use the Qualifier parameter. Otherwise, all versions and aliases are deleted. Event source mappings are not deleted.

This operation requires permission for the lambda:DeleteFunction action.

" + "documentation":"

Deletes a Lambda function. To delete a specific function version, use the Qualifier parameter. Otherwise, all versions and aliases are deleted.

To delete Lambda event source mappings that invoke a function, use DeleteEventSourceMapping. For AWS services and resources that invoke your function directly, delete the trigger in the service where you originally configured it.

" }, "DeleteFunctionConcurrency":{ "name":"DeleteFunctionConcurrency", @@ -169,7 +169,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"InvalidParameterValueException"} ], - "documentation":"

Removes concurrent execution limits from this function. For more information, see Managing Concurrency.

" + "documentation":"

Removes a concurrent execution limit from a function.

" }, "DeleteLayerVersion":{ "name":"DeleteLayerVersion", @@ -183,7 +183,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Deletes a version of a function layer. Deleted versions can no longer be viewed or added to functions. However, a copy of the version remains in Lambda until no functions refer to it.

" + "documentation":"

Deletes a version of an AWS Lambda layer. Deleted versions can no longer be viewed or added to functions. To avoid breaking functions, a copy of the version remains in Lambda until no functions refer to it.

" }, "GetAccountSettings":{ "name":"GetAccountSettings", @@ -198,7 +198,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"ServiceException"} ], - "documentation":"

Retrieves details about your account's limits and usage in a region.

" + "documentation":"

Retrieves details about your account's limits and usage in an AWS Region.

" }, "GetAlias":{ "name":"GetAlias", @@ -215,7 +215,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Returns the specified alias information such as the alias ARN, description, and function version it is pointing to. For more information, see Introduction to AWS Lambda Aliases.

This requires permission for the lambda:GetAlias action.

" + "documentation":"

Returns details about a Lambda function alias.

" }, "GetEventSourceMapping":{ "name":"GetEventSourceMapping", @@ -232,7 +232,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Returns details about an event source mapping.

" + "documentation":"

Returns details about an event source mapping. You can get the identifier of a mapping from the output of ListEventSourceMappings.

" }, "GetFunction":{ "name":"GetFunction", @@ -249,7 +249,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"InvalidParameterValueException"} ], - "documentation":"

Returns the configuration information of the Lambda function and a presigned URL link to the .zip file you uploaded with CreateFunction so you can download the .zip file. Note that the URL is valid for up to 10 minutes. The configuration information is the same information you provided as parameters when uploading the function.

Use the Qualifier parameter to retrieve a published version of the function. Otherwise, returns the unpublished version ($LATEST). For more information, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:GetFunction action.

" + "documentation":"

Returns information about the function or function version, with a link to download the deployment package that's valid for 10 minutes. If you specify a function version, only details that are specific to that version are returned.

" }, "GetFunctionConfiguration":{ "name":"GetFunctionConfiguration", @@ -266,7 +266,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"InvalidParameterValueException"} ], - "documentation":"

Returns the configuration information of the Lambda function. This the same information you provided as parameters when uploading the function by using CreateFunction.

If you are using the versioning feature, you can retrieve this information for a specific function version by using the optional Qualifier parameter and specifying the function version or alias that points to it. If you don't provide it, the API returns information about the $LATEST version of the function. For more information about versioning, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:GetFunctionConfiguration operation.

" + "documentation":"

Returns the version-specific settings of a Lambda function or version. The output includes only options that can vary between versions of a function. To modify these settings, use UpdateFunctionConfiguration.

To get all of a function's details, including function-level settings, use GetFunction.

" }, "GetLayerVersion":{ "name":"GetLayerVersion", @@ -283,7 +283,24 @@ {"shape":"TooManyRequestsException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Returns information about a version of a function layer, with a link to download the layer archive that's valid for 10 minutes.

" + "documentation":"

Returns information about a version of an AWS Lambda layer, with a link to download the layer archive that's valid for 10 minutes.

" + }, + "GetLayerVersionByArn":{ + "name":"GetLayerVersionByArn", + "http":{ + "method":"GET", + "requestUri":"/2018-10-31/layers?find=LayerVersion", + "responseCode":200 + }, + "input":{"shape":"GetLayerVersionByArnRequest"}, + "output":{"shape":"GetLayerVersionResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns information about a version of an AWS Lambda layer, with a link to download the layer archive that's valid for 10 minutes.

" }, "GetLayerVersionPolicy":{ "name":"GetLayerVersionPolicy", @@ -300,7 +317,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"InvalidParameterValueException"} ], - "documentation":"

Returns the permission policy for a layer version. For more information, see AddLayerVersionPermission.

" + "documentation":"

Returns the permission policy for a version of an AWS Lambda layer. For more information, see AddLayerVersionPermission.

" }, "GetPolicy":{ "name":"GetPolicy", @@ -317,7 +334,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"InvalidParameterValueException"} ], - "documentation":"

Returns the resource policy associated with the specified Lambda function.

This action requires permission for the lambda:GetPolicy action.

" + "documentation":"

Returns the resource-based IAM policy for a function, version, or alias.

" }, "Invoke":{ "name":"Invoke", @@ -349,7 +366,7 @@ {"shape":"KMSNotFoundException"}, {"shape":"InvalidRuntimeException"} ], - "documentation":"

Invokes a Lambda function. For an example, see Create the Lambda Function and Test It Manually.

Specify just a function name to invoke the latest version of the function. To invoke a published version, use the Qualifier parameter to specify a version or alias.

If you use the RequestResponse (synchronous) invocation option, the function will be invoked only once. If you use the Event (asynchronous) invocation option, the function will be invoked at least once in response to an event and the function must be idempotent to handle this.

For functions with a long timeout, your client may be disconnected during synchronous invocation while it waits for a response. Configure your HTTP client, SDK, firewall, proxy, or operating system to allow for long connections with timeout or keep-alive settings.

This operation requires permission for the lambda:InvokeFunction action.

The TooManyRequestsException noted below will return the following: ConcurrentInvocationLimitExceeded will be returned if you have no functions with reserved concurrency and have exceeded your account concurrent limit or if a function without reserved concurrency exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded will be returned when a function with reserved concurrency exceeds its configured concurrency limit.

" + "documentation":"

Invokes a Lambda function. You can invoke a function synchronously (and wait for the response), or asynchronously. To invoke a function asynchronously, set InvocationType to Event.

For synchronous invocation, details about the function response, including errors, are included in the response body and headers. For either invocation type, you can find more information in the execution log and trace. To record function errors for asynchronous invocations, configure your function with a dead letter queue.

When an error occurs, your function may be invoked multiple times. Retry behavior varies by error type, client, event source, and invocation type. For example, if you invoke a function asynchronously and it returns an error, Lambda executes the function up to two more times. For more information, see Retry Behavior.

The status code in the API response doesn't reflect function errors. Error codes are reserved for errors that prevent your function from executing, such as permissions errors, limit errors, or issues with your function's code and configuration. For example, Lambda returns TooManyRequestsException if executing the function would cause you to exceed a concurrency limit at either the account level (ConcurrentInvocationLimitExceeded) or function level (ReservedFunctionConcurrentInvocationLimitExceeded).

For functions with a long timeout, your client might be disconnected during synchronous invocation while it waits for a response. Configure your HTTP client, SDK, firewall, proxy, or operating system to allow for long connections with timeout or keep-alive settings.

This operation requires permission for the lambda:InvokeFunction action.

" }, "InvokeAsync":{ "name":"InvokeAsync", @@ -366,7 +383,7 @@ {"shape":"InvalidRequestContentException"}, {"shape":"InvalidRuntimeException"} ], - "documentation":"

For asynchronous function invocation, use Invoke.

Submits an invocation request to AWS Lambda. Upon receiving the request, Lambda executes the specified function asynchronously. To see the logs generated by the Lambda function execution, see the CloudWatch Logs console.

This operation requires permission for the lambda:InvokeFunction action.

", + "documentation":"

For asynchronous function invocation, use Invoke.

Invokes a function asynchronously.

", "deprecated":true }, "ListAliases":{ @@ -384,7 +401,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Returns list of aliases created for a Lambda function. For each alias, the response includes information such as the alias ARN, description, alias name, and the function version to which it points. For more information, see Introduction to AWS Lambda Aliases.

This requires permission for the lambda:ListAliases action.

" + "documentation":"

Returns a list of aliases for a Lambda function.

" }, "ListEventSourceMappings":{ "name":"ListEventSourceMappings", @@ -417,7 +434,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"InvalidParameterValueException"} ], - "documentation":"

Returns a list of your Lambda functions. For each function, the response includes the function configuration information. You must use GetFunction to retrieve the code for your function.

This operation requires permission for the lambda:ListFunctions action.

If you are using the versioning feature, you can list all of your functions or only $LATEST versions. For information about the versioning feature, see AWS Lambda Function Versioning and Aliases.

" + "documentation":"

Returns a list of Lambda functions, with the version-specific configuration of each.

Set FunctionVersion to ALL to include all published versions of each function in addition to the unpublished version. To get more information about a function or version, use GetFunction.

" }, "ListLayerVersions":{ "name":"ListLayerVersions", @@ -434,7 +451,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Lists the versions of a function layer. Versions that have been deleted aren't listed. Specify a runtime identifier to list only versions that indicate that they're compatible with that runtime.

" + "documentation":"

Lists the versions of an AWS Lambda layer. Versions that have been deleted aren't listed. Specify a runtime identifier to list only versions that indicate that they're compatible with that runtime.

" }, "ListLayers":{ "name":"ListLayers", @@ -450,7 +467,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Lists function layers and shows information about the latest version of each. Specify a runtime identifier to list only layers that indicate that they're compatible with that runtime.

" + "documentation":"

Lists AWS Lambda layers and shows information about the latest version of each. Specify a runtime identifier to list only layers that indicate that they're compatible with that runtime.

" }, "ListTags":{ "name":"ListTags", @@ -466,7 +483,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Returns a list of tags assigned to a function when supplied the function ARN (Amazon Resource Name). For more information on Tagging, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

" + "documentation":"

Returns a function's tags. You can also view tags with GetFunction.

" }, "ListVersionsByFunction":{ "name":"ListVersionsByFunction", @@ -483,7 +500,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Lists all versions of a function. For information about versioning, see AWS Lambda Function Versioning and Aliases.

" + "documentation":"

Returns a list of versions, with the version-specific configuration of each.

" }, "PublishLayerVersion":{ "name":"PublishLayerVersion", @@ -501,7 +518,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"CodeStorageExceededException"} ], - "documentation":"

Creates a function layer from a ZIP archive. Each time you call PublishLayerVersion with the same version name, a new version is created.

Add layers to your function with CreateFunction or UpdateFunctionConfiguration.

" + "documentation":"

Creates an AWS Lambda layer from a ZIP archive. Each time you call PublishLayerVersion with the same version name, a new version is created.

Add layers to your function with CreateFunction or UpdateFunctionConfiguration.

" }, "PublishVersion":{ "name":"PublishVersion", @@ -520,7 +537,7 @@ {"shape":"CodeStorageExceededException"}, {"shape":"PreconditionFailedException"} ], - "documentation":"

Publishes a version of your function from the current snapshot of $LATEST. That is, AWS Lambda takes a snapshot of the function code and configuration information from $LATEST and publishes a new version. The code and configuration cannot be modified after publication. For information about the versioning feature, see AWS Lambda Function Versioning and Aliases.

" + "documentation":"

Creates a version from the current code and configuration of a function. Use versions to create a snapshot of your function code and configuration that doesn't change.

AWS Lambda doesn't publish a version if the function's configuration and code haven't changed since the last version. Use UpdateFunctionCode or UpdateFunctionConfiguration to update the function before publishing a version.

Clients can invoke versions directly or with an alias. To create an alias, use CreateAlias.

" }, "PutFunctionConcurrency":{ "name":"PutFunctionConcurrency", @@ -537,7 +554,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Sets a limit on the number of concurrent executions available to this function. It is a subset of your account's total concurrent execution limit per region. Note that Lambda automatically reserves a buffer of 100 concurrent executions for functions without any reserved concurrency limit. This means if your account limit is 1000, you have a total of 900 available to allocate to individual functions. For more information, see Managing Concurrency.

" + "documentation":"

Sets the maximum number of simultaneous executions for a function, and reserves capacity for that concurrency level.

Concurrency settings apply to the function as a whole, including all published versions and the unpublished version. Reserving concurrency both ensures that your function has capacity to process the specified number of events simultaneously, and prevents it from scaling beyond that level. Use GetFunction to see the current setting for a function.

Use GetAccountSettings to see your regional concurrency limit. You can reserve concurrency for as many functions as you like, as long as you leave at least 100 simultaneous executions unreserved for functions that aren't configured with a per-function limit. For more information, see Managing Concurrency.

" }, "RemoveLayerVersionPermission":{ "name":"RemoveLayerVersionPermission", @@ -554,7 +571,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"PreconditionFailedException"} ], - "documentation":"

Removes a statement from the permissions policy for a layer version. For more information, see AddLayerVersionPermission.

" + "documentation":"

Removes a statement from the permissions policy for a version of an AWS Lambda layer. For more information, see AddLayerVersionPermission.

" }, "RemovePermission":{ "name":"RemovePermission", @@ -571,7 +588,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"PreconditionFailedException"} ], - "documentation":"

Removes permissions from a function. You can remove individual permissions from an resource policy associated with a Lambda function by providing a statement ID that you provided when you added the permission. When you remove permissions, disable the event source mapping or trigger configuration first to avoid errors.

Permissions apply to the Amazon Resource Name (ARN) used to invoke the function, which can be unqualified (the unpublished version of the function), or include a version or alias. If a client uses a version or alias to invoke a function, use the Qualifier parameter to apply permissions to that ARN. For more information about versioning, see AWS Lambda Function Versioning and Aliases.

You need permission for the lambda:RemovePermission action.

" + "documentation":"

Revokes function-use permission from an AWS service or another account. You can get the ID of the statement from the output of GetPolicy.

" }, "TagResource":{ "name":"TagResource", @@ -587,7 +604,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Creates a list of tags (key-value pairs) on the Lambda function. Requires the Lambda function ARN (Amazon Resource Name). If a key is specified without a value, Lambda creates a tag with the specified key and a value of null. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

" + "documentation":"

Adds tags to a function.

" }, "UntagResource":{ "name":"UntagResource", @@ -603,7 +620,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Removes tags from a Lambda function. Requires the function ARN (Amazon Resource Name). For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

" + "documentation":"

Removes tags from a function.

" }, "UpdateAlias":{ "name":"UpdateAlias", @@ -621,7 +638,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"PreconditionFailedException"} ], - "documentation":"

Using this API you can update the function version to which the alias points and the alias description. For more information, see Introduction to AWS Lambda Aliases.

This requires permission for the lambda:UpdateAlias action.

" + "documentation":"

Updates the configuration of a Lambda function alias.

" }, "UpdateEventSourceMapping":{ "name":"UpdateEventSourceMapping", @@ -659,7 +676,7 @@ {"shape":"CodeStorageExceededException"}, {"shape":"PreconditionFailedException"} ], - "documentation":"

Updates the code for the specified Lambda function. This operation must only be used on an existing Lambda function and cannot be used to update the function configuration.

If you are using the versioning feature, note this API will always update the $LATEST version of your Lambda function. For information about the versioning feature, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:UpdateFunctionCode action.

" + "documentation":"

Updates a Lambda function's code.

The function's code is locked when you publish a version. You can't modify the code of a published version, only the unpublished version.

" }, "UpdateFunctionConfiguration":{ "name":"UpdateFunctionConfiguration", @@ -678,7 +695,7 @@ {"shape":"ResourceConflictException"}, {"shape":"PreconditionFailedException"} ], - "documentation":"

Updates the configuration parameters for the specified Lambda function by using the values provided in the request. You provide only the parameters you want to change. This operation must only be used on an existing Lambda function and cannot be used to update the function's code.

If you are using the versioning feature, note this API will always update the $LATEST version of your Lambda function. For information about the versioning feature, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:UpdateFunctionConfiguration action.

" + "documentation":"

Modify the version-specific settings of a Lambda function.

These settings can vary between versions of a function and are locked when you publish a version. You can't modify the configuration of a published version, only the unpublished version.

To configure function concurrency, use PutFunctionConcurrency. To grant invoke permissions to an account or AWS service, use AddPermission.

" } }, "shapes":{ @@ -687,40 +704,40 @@ "members":{ "TotalCodeSize":{ "shape":"Long", - "documentation":"

Maximum size, in bytes, of a code package you can upload per region. The default size is 75 GB.

" + "documentation":"

The amount of storage space that you can use for all deployment packages and layer archives.

" }, "CodeSizeUnzipped":{ "shape":"Long", - "documentation":"

Size, in bytes, of code/dependencies that you can zip into a deployment package (uncompressed zip/jar size) for uploading. The default limit is 250 MB.

" + "documentation":"

The maximum size of your function's code and layers when they're extracted.

" }, "CodeSizeZipped":{ "shape":"Long", - "documentation":"

Size, in bytes, of a single zipped code/dependencies package you can upload for your Lambda function(.zip/.jar file). Try using Amazon S3 for uploading larger files. Default limit is 50 MB.

" + "documentation":"

The maximum size of a deployment package when it's uploaded directly to AWS Lambda. Use Amazon S3 for larger files.

" }, "ConcurrentExecutions":{ "shape":"Integer", - "documentation":"

Number of simultaneous executions of your function per region. The default limit is 1000.

" + "documentation":"

The maximum number of simultaneous function executions.

" }, "UnreservedConcurrentExecutions":{ "shape":"UnreservedConcurrentExecutions", - "documentation":"

The number of concurrent executions available to functions that do not have concurrency limits set. For more information, see Managing Concurrency.

" + "documentation":"

The maximum number of simultaneous function executions, minus the capacity that's reserved for individual functions with PutFunctionConcurrency.

" } }, - "documentation":"

Provides limits of code size and concurrency associated with the current account and region. For more information or to request a limit increase for concurrent executions, see Lambda Limits.

" + "documentation":"

Limits that are related to concurrency and code storage. All file and storage sizes are in bytes.

" }, "AccountUsage":{ "type":"structure", "members":{ "TotalCodeSize":{ "shape":"Long", - "documentation":"

Total size, in bytes, of the account's deployment packages per region.

" + "documentation":"

The amount of storage space, in bytes, that's being used by deployment packages and layer archives.

" }, "FunctionCount":{ "shape":"Long", - "documentation":"

The number of your account's existing functions per region.

" + "documentation":"

The number of Lambda functions.

" } }, - "documentation":"

Provides code size usage and function count associated with the current account and region.

" + "documentation":"

The number of functions and amount of storage in use.

" }, "Action":{ "type":"string", @@ -738,7 +755,7 @@ "members":{ "LayerName":{ "shape":"LayerName", - "documentation":"

The name of the layer.

", + "documentation":"

The name or Amazon Resource Name (ARN) of the layer.

", "location":"uri", "locationName":"LayerName" }, @@ -796,33 +813,33 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "documentation":"

The name of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "StatementId":{ "shape":"StatementId", - "documentation":"

A unique statement identifier.

" + "documentation":"

A statement identifier that differentiates the statement from others in the same policy.

" }, "Action":{ "shape":"Action", - "documentation":"

The AWS Lambda action you want to allow in this statement. Each Lambda action is a string starting with lambda: followed by the API name . For example, lambda:CreateFunction. You can use wildcard (lambda:*) to grant permission for all AWS Lambda actions.

" + "documentation":"

The action that the principal can use on the function. For example, lambda:InvokeFunction or lambda:GetFunction.

" }, "Principal":{ "shape":"Principal", - "documentation":"

The principal who is getting this permission. The principal can be an AWS service (e.g. s3.amazonaws.com or sns.amazonaws.com) for service triggers, or an account ID for cross-account access. If you specify a service as a principal, use the SourceArn parameter to limit who can invoke the function through that service.

" + "documentation":"

The AWS service or account that invokes the function. If you specify a service, use SourceArn or SourceAccount to limit who can invoke the function through that service.

" }, "SourceArn":{ "shape":"Arn", - "documentation":"

The Amazon Resource Name of the invoker.

If you add a permission to a service principal without providing the source ARN, any AWS account that creates a mapping to your function ARN can invoke your Lambda function.

" + "documentation":"

For AWS services, the ARN of the AWS resource that invokes the function. For example, an Amazon S3 bucket or Amazon SNS topic.

" }, "SourceAccount":{ "shape":"SourceOwner", - "documentation":"

This parameter is used for S3 and SES. The AWS account ID (without a hyphen) of the source owner. For example, if the SourceArn identifies a bucket, then this is the bucket owner's account ID. You can use this additional condition to ensure the bucket you specify is owned by a specific account (it is possible the bucket owner deleted the bucket and some other AWS account created the bucket). You can also use this condition to specify all sources (that is, you don't specify the SourceArn) owned by a specific account.

" + "documentation":"

For AWS services, the ID of the account that owns the resource. Use this instead of SourceArn to grant permission to resources that are owned by another account (for example, all of an account's Amazon S3 buckets). Or use it together with SourceArn to ensure that the resource is owned by the specified account. For example, an Amazon S3 bucket could be deleted by its owner and recreated by another account.

" }, "EventSourceToken":{ "shape":"EventSourceToken", - "documentation":"

A unique token that must be supplied by the principal invoking the function. This is currently only used for Alexa Smart Home functions.

" + "documentation":"

For Alexa Smart Home functions, a token that must be supplied by the invoker.

" }, "Qualifier":{ "shape":"Qualifier", @@ -832,7 +849,7 @@ }, "RevisionId":{ "shape":"String", - "documentation":"

An optional value you can use to ensure you are updating the latest update of the function version or alias. If the RevisionID you pass doesn't match the latest RevisionId of the function or alias, it will fail with an error message, advising you to retrieve the latest function version or alias RevisionID using either GetFunction or GetAlias

" + "documentation":"

Only update the policy if the revision ID matches the ID that's specified. Use this option to avoid modifying a policy that has changed since you last read it.

" } } }, @@ -841,7 +858,7 @@ "members":{ "Statement":{ "shape":"String", - "documentation":"

The permission statement you specified in the request. The response returns the same as a string using a backslash (\"\\\") as an escape character in the JSON.

" + "documentation":"

The permission statement that's added to the function policy.

" } } }, @@ -867,30 +884,30 @@ "members":{ "AliasArn":{ "shape":"FunctionArn", - "documentation":"

Lambda function ARN that is qualified using the alias name as the suffix. For example, if you create an alias called BETA that points to a helloworld function version, the ARN is arn:aws:lambda:aws-regions:acct-id:function:helloworld:BETA.

" + "documentation":"

The Amazon Resource Name (ARN) of the alias.

" }, "Name":{ "shape":"Alias", - "documentation":"

Alias name.

" + "documentation":"

The name of the alias.

" }, "FunctionVersion":{ "shape":"Version", - "documentation":"

Function version to which the alias points.

" + "documentation":"

The function version that the alias invokes.

" }, "Description":{ "shape":"Description", - "documentation":"

Alias description.

" + "documentation":"

A description of the alias.

" }, "RoutingConfig":{ "shape":"AliasRoutingConfiguration", - "documentation":"

Specifies an additional function versions the alias points to, allowing you to dictate what percentage of traffic will invoke each version.

" + "documentation":"

The routing configuration of the alias.

" }, "RevisionId":{ "shape":"String", - "documentation":"

Represents the latest updated revision of the function or alias.

" + "documentation":"

A unique identifier that changes when you update the alias.

" } }, - "documentation":"

Provides configuration information about a Lambda function version alias.

" + "documentation":"

Provides configuration information about a Lambda function alias.

" }, "AliasList":{ "type":"list", @@ -901,10 +918,10 @@ "members":{ "AdditionalVersionWeights":{ "shape":"AdditionalVersionWeights", - "documentation":"

The name of the second alias, and the percentage of traffic that is routed to it.

" + "documentation":"

The name of the second alias, and the percentage of traffic that's routed to it.

" } }, - "documentation":"

The alias's traffic shifting configuration.

" + "documentation":"

The traffic-shifting configuration of a Lambda function alias.

" }, "Arn":{ "type":"string", @@ -933,7 +950,7 @@ }, "message":{"shape":"String"} }, - "documentation":"

You have exceeded your maximum total code size per account. Limits

", + "documentation":"

You have exceeded your maximum total code size per account. Learn more

", "error":{"httpStatusCode":400}, "exception":true }, @@ -947,7 +964,7 @@ "members":{ "ReservedConcurrentExecutions":{ "shape":"ReservedConcurrentExecutions", - "documentation":"

The number of concurrent executions reserved for this function. For more information, see Managing Concurrency.

" + "documentation":"

The number of concurrent executions that are reserved for this function. For more information, see Managing Concurrency.

" } } }, @@ -961,25 +978,25 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The name of the lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "Name":{ "shape":"Alias", - "documentation":"

Name for the alias you are creating.

" + "documentation":"

The name of the alias.

" }, "FunctionVersion":{ "shape":"Version", - "documentation":"

Lambda function version for which you are creating the alias.

" + "documentation":"

The function version that the alias invokes.

" }, "Description":{ "shape":"Description", - "documentation":"

Description of the alias.

" + "documentation":"

A description of the alias.

" }, "RoutingConfig":{ "shape":"AliasRoutingConfiguration", - "documentation":"

Specifies an additional version your alias can point to, allowing you to dictate what percentage of traffic will invoke each version. For more information, see Traffic Shifting Using Aliases.

" + "documentation":"

The routing configuration of the alias.

" } } }, @@ -1012,7 +1029,7 @@ }, "StartingPositionTimestamp":{ "shape":"Date", - "documentation":"

With StartingPosition set to AT_TIMESTAMP, the Unix time in seconds from which to start reading.

" + "documentation":"

With StartingPosition set to AT_TIMESTAMP, the time from which to start reading.

" } } }, @@ -1028,19 +1045,19 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

" + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - my-function.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

" }, "Runtime":{ "shape":"Runtime", - "documentation":"

The runtime version for the function.

" + "documentation":"

The identifier of the function's runtime.

" }, "Role":{ "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) of the function's execution role.

" + "documentation":"

The Amazon Resource Name (ARN) of the function's execution role.

" }, "Handler":{ "shape":"Handler", - "documentation":"

The name of the method within your code that Lambda calls to execute your function. For more information, see Programming Model.

" + "documentation":"

The name of the method within your code that Lambda calls to execute your function. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see Programming Model.

" }, "Code":{ "shape":"FunctionCode", @@ -1052,11 +1069,11 @@ }, "Timeout":{ "shape":"Timeout", - "documentation":"

The amount of time that Lambda allows a function to run before terminating it. The default is 3 seconds. The maximum allowed value is 900 seconds.

" + "documentation":"

The amount of time that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds.

" }, "MemorySize":{ "shape":"MemorySize", - "documentation":"

The amount of memory that your function has access to. Increasing the function's memory also increases it's CPU allocation. The default value is 128 MB. The value must be a multiple of 64 MB.

" + "documentation":"

The amount of memory that your function has access to. Increasing the function's memory also increases its CPU allocation. The default value is 128 MB. The value must be a multiple of 64 MB.

" }, "Publish":{ "shape":"Boolean", @@ -1064,11 +1081,11 @@ }, "VpcConfig":{ "shape":"VpcConfig", - "documentation":"

If your Lambda function accesses resources in a VPC, you provide this parameter identifying the list of security group IDs and subnet IDs. These must belong to the same VPC. You must provide at least one security group and one subnet ID.

" + "documentation":"

For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC. When you connect a function to a VPC, it can only access resources and the internet through that VPC. For more information, see VPC Settings.

" }, "DeadLetterConfig":{ "shape":"DeadLetterConfig", - "documentation":"

A dead letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see Dead Letter Queues.

" + "documentation":"

A dead letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see Dead Letter Queues.

" }, "Environment":{ "shape":"Environment", @@ -1076,7 +1093,7 @@ }, "KMSKeyArn":{ "shape":"KMSKeyArn", - "documentation":"

The ARN of the KMS key used to encrypt your function's environment variables. If not provided, AWS Lambda will use a default service key.

" + "documentation":"

The ARN of the AWS Key Management Service (AWS KMS) key that's used to encrypt your function's environment variables. If it's not provided, AWS Lambda uses a default service key.

" }, "TracingConfig":{ "shape":"TracingConfig", @@ -1084,11 +1101,11 @@ }, "Tags":{ "shape":"Tags", - "documentation":"

The list of tags (key-value pairs) assigned to the new function. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

" + "documentation":"

A list of tags to apply to the function.

" }, "Layers":{ "shape":"LayerList", - "documentation":"

A list of function layers to add to the function's execution environment.

" + "documentation":"

A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.

" } } }, @@ -1101,7 +1118,7 @@ "documentation":"

The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic.

" } }, - "documentation":"

The dead letter queue for failed asynchronous invocations.

" + "documentation":"

The dead letter queue for failed asynchronous invocations.

" }, "DeleteAliasRequest":{ "type":"structure", @@ -1112,13 +1129,13 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The name of the lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "Name":{ "shape":"Alias", - "documentation":"

Name of the alias to delete.

", + "documentation":"

The name of the alias.

", "location":"uri", "locationName":"Name" } @@ -1142,7 +1159,7 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - my-function.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" } @@ -1154,13 +1171,13 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "documentation":"

The name of the Lambda function or version.

Name formats

  • Function name - my-function (name-only), my-function:1 (with version).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "Qualifier":{ "shape":"Qualifier", - "documentation":"

Specify a version to delete. You cannot delete a version that is referenced by an alias.

", + "documentation":"

Specify a version to delete. You can't delete a version that's referenced by an alias.

", "location":"querystring", "locationName":"Qualifier" } @@ -1175,7 +1192,7 @@ "members":{ "LayerName":{ "shape":"LayerName", - "documentation":"

The name of the layer.

", + "documentation":"

The name or Amazon Resource Name (ARN) of the layer.

", "location":"uri", "locationName":"LayerName" }, @@ -1256,7 +1273,7 @@ "documentation":"

The error message.

" } }, - "documentation":"

Error messages for environment variables that could not be applied.

" + "documentation":"

Error messages for environment variables that couldn't be applied.

" }, "EnvironmentResponse":{ "type":"structure", @@ -1267,7 +1284,7 @@ }, "Error":{ "shape":"EnvironmentError", - "documentation":"

Error messages for environment variables that could not be applied.

" + "documentation":"

Error messages for environment variables that couldn't be applied.

" } }, "documentation":"

The results of a configuration update that applied environment variables.

" @@ -1308,7 +1325,7 @@ }, "LastModified":{ "shape":"Date", - "documentation":"

The date that the event source mapping was last updated, in Unix time seconds.

" + "documentation":"

The date that the event source mapping was last updated.

" }, "LastProcessingResult":{ "shape":"String", @@ -1352,11 +1369,11 @@ "members":{ "ZipFile":{ "shape":"Blob", - "documentation":"

The base64-encoded contents of your zip file containing your deployment package. AWS SDK and AWS CLI clients handle the encoding for you.

" + "documentation":"

The base64-encoded contents of the deployment package. AWS SDK and AWS CLI clients handle the encoding for you.

" }, "S3Bucket":{ "shape":"S3Bucket", - "documentation":"

An Amazon S3 bucket in the same region as your function.

" + "documentation":"

An Amazon S3 bucket in the same AWS Region as your function. The bucket can be in a different AWS account.

" }, "S3Key":{ "shape":"S3Key", @@ -1367,21 +1384,21 @@ "documentation":"

For versioned objects, the version of the deployment package object to use.

" } }, - "documentation":"

The code for the Lambda function. You can specify either an S3 location, or upload a deployment package directly.

" + "documentation":"

The code for the Lambda function. You can specify either an object in Amazon S3, or upload a deployment package directly.

" }, "FunctionCodeLocation":{ "type":"structure", "members":{ "RepositoryType":{ "shape":"String", - "documentation":"

The repository from which you can download the function.

" + "documentation":"

The service that's hosting the file.

" }, "Location":{ "shape":"String", - "documentation":"

The presigned URL you can use to download the function's .zip file that you previously uploaded. The URL is valid for up to 10 minutes.

" + "documentation":"

A presigned URL that you can use to download the deployment package.

" } }, - "documentation":"

The object for the Lambda function location.

" + "documentation":"

Details about a function's deployment package.

" }, "FunctionConfiguration":{ "type":"structure", @@ -1392,7 +1409,7 @@ }, "FunctionArn":{ "shape":"NameSpacedFunctionArn", - "documentation":"

The function's Amazon Resource Name.

" + "documentation":"

The function's Amazon Resource Name (ARN).

" }, "Runtime":{ "shape":"Runtime", @@ -1404,11 +1421,11 @@ }, "Handler":{ "shape":"Handler", - "documentation":"

The function Lambda calls to begin executing your function.

" + "documentation":"

The function that Lambda calls to begin executing your function.

" }, "CodeSize":{ "shape":"Long", - "documentation":"

The size of the function's deployment package in bytes.

" + "documentation":"

The size of the function's deployment package, in bytes.

" }, "Description":{ "shape":"Description", @@ -1416,11 +1433,11 @@ }, "Timeout":{ "shape":"Timeout", - "documentation":"

The amount of time that Lambda allows a function to run before terminating it.

" + "documentation":"

The amount of time that Lambda allows a function to run before stopping it.

" }, "MemorySize":{ "shape":"MemorySize", - "documentation":"

The memory allocated to the function

" + "documentation":"

The memory that's allocated to the function.

" }, "LastModified":{ "shape":"Timestamp", @@ -1448,7 +1465,7 @@ }, "KMSKeyArn":{ "shape":"KMSKeyArn", - "documentation":"

The KMS key used to encrypt the function's environment variables. Only returned if you've configured a customer managed CMK.

" + "documentation":"

The KMS key that's used to encrypt the function's environment variables. This key is only returned if you've configured a customer-managed CMK.

" }, "TracingConfig":{ "shape":"TracingConfigResponse", @@ -1456,18 +1473,18 @@ }, "MasterArn":{ "shape":"FunctionArn", - "documentation":"

The ARN of the master function.

" + "documentation":"

For Lambda@Edge functions, the ARN of the master function.

" }, "RevisionId":{ "shape":"String", - "documentation":"

Represents the latest updated revision of the function or alias.

" + "documentation":"

The latest updated revision of the function or alias.

" }, "Layers":{ "shape":"LayersReferenceList", - "documentation":"

A list of function layers.

" + "documentation":"

The function's layers.

" } }, - "documentation":"

A Lambda function's configuration settings.

" + "documentation":"

Details about a function's configuration.

" }, "FunctionList":{ "type":"list", @@ -1493,7 +1510,7 @@ "members":{ "AccountLimit":{ "shape":"AccountLimit", - "documentation":"

Limits related to concurrency and code storage.

" + "documentation":"

Limits that are related to concurrency and code storage.

" }, "AccountUsage":{ "shape":"AccountUsage", @@ -1510,13 +1527,13 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The name of the lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "Name":{ "shape":"Alias", - "documentation":"

Name of the alias for which you want to retrieve information.

", + "documentation":"

The name of the alias.

", "location":"uri", "locationName":"Name" } @@ -1540,7 +1557,7 @@ "members":{ "FunctionName":{ "shape":"NamespacedFunctionName", - "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "documentation":"

The name of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, @@ -1558,7 +1575,7 @@ "members":{ "FunctionName":{ "shape":"NamespacedFunctionName", - "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "documentation":"

The name of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, @@ -1575,22 +1592,33 @@ "members":{ "Configuration":{ "shape":"FunctionConfiguration", - "documentation":"

The function's configuration.

" + "documentation":"

The configuration of the function or version.

" }, "Code":{ "shape":"FunctionCodeLocation", - "documentation":"

The function's code.

" + "documentation":"

The deployment package of the function or version.

" }, "Tags":{ "shape":"Tags", - "documentation":"

Returns the list of tags associated with the function. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

" + "documentation":"

The function's tags.

" }, "Concurrency":{ "shape":"Concurrency", - "documentation":"

The concurrent execution limit set for this function. For more information, see Managing Concurrency.

" + "documentation":"

The function's reserved concurrency.

" } - }, - "documentation":"

This response contains the object for the Lambda function location (see FunctionCodeLocation.

" + } + }, + "GetLayerVersionByArnRequest":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{ + "shape":"LayerVersionArn", + "documentation":"

The ARN of the layer version.

", + "location":"querystring", + "locationName":"Arn" + } + } }, "GetLayerVersionPolicyRequest":{ "type":"structure", @@ -1601,7 +1629,7 @@ "members":{ "LayerName":{ "shape":"LayerName", - "documentation":"

The name of the layer.

", + "documentation":"

The name or Amazon Resource Name (ARN) of the layer.

", "location":"uri", "locationName":"LayerName" }, @@ -1635,7 +1663,7 @@ "members":{ "LayerName":{ "shape":"LayerName", - "documentation":"

The name of the layer.

", + "documentation":"

The name or Amazon Resource Name (ARN) of the layer.

", "location":"uri", "locationName":"LayerName" }, @@ -1656,7 +1684,7 @@ }, "LayerArn":{ "shape":"LayerArn", - "documentation":"

The Amazon Resource Name (ARN) of the function layer.

" + "documentation":"

The ARN of the layer.

" }, "LayerVersionArn":{ "shape":"LayerVersionArn", @@ -1690,13 +1718,13 @@ "members":{ "FunctionName":{ "shape":"NamespacedFunctionName", - "documentation":"

The name of the lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "documentation":"

The name of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "Qualifier":{ "shape":"Qualifier", - "documentation":"

You can specify this optional query parameter to specify a function version or an alias name in which case this API will return all permissions associated with the specific qualified ARN. If you don't provide this parameter, the API will return permissions that apply to the unqualified function ARN.

", + "documentation":"

Specify a version or alias to get the policy for that resource.

", "location":"querystring", "locationName":"Qualifier" } @@ -1707,11 +1735,11 @@ "members":{ "Policy":{ "shape":"String", - "documentation":"

The resource policy associated with the specified function. The response returns the same as a string using a backslash (\"\\\") as an escape character in the JSON.

" + "documentation":"

The resource-based policy.

" }, "RevisionId":{ "shape":"String", - "documentation":"

Represents the latest updated revision of the function or alias.

" + "documentation":"

A unique identifier for the current revision of the policy.

" } } }, @@ -1800,31 +1828,31 @@ "members":{ "FunctionName":{ "shape":"NamespacedFunctionName", - "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "documentation":"

The name of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "InvocationType":{ "shape":"InvocationType", - "documentation":"

Choose from the following options.

  • RequestResponse (default) - Invoke the function synchronously. Keep the connection open until the function returns a response or times out.

  • Event - Invoke the function asynchronously. Send events that fail multiple times to the function's dead-letter queue (if configured).

  • DryRun - Validate parameter values and verify that the user or role has permission to invoke the function.

", + "documentation":"

Choose from the following options.

  • RequestResponse (default) - Invoke the function synchronously. Keep the connection open until the function returns a response or times out. The API response includes the function response and additional data.

  • Event - Invoke the function asynchronously. Send events that fail multiple times to the function's dead-letter queue (if it's configured). The API response only includes a status code.

  • DryRun - Validate parameter values and verify that the user or role has permission to invoke the function.

", "location":"header", "locationName":"X-Amz-Invocation-Type" }, "LogType":{ "shape":"LogType", - "documentation":"

You can set this optional parameter to Tail in the request only if you specify the InvocationType parameter with value RequestResponse. In this case, AWS Lambda returns the base64-encoded last 4 KB of log data produced by your Lambda function in the x-amz-log-result header.

", + "documentation":"

Set to Tail to include the execution log in the response.

", "location":"header", "locationName":"X-Amz-Log-Type" }, "ClientContext":{ "shape":"String", - "documentation":"

Using the ClientContext you can pass client-specific information to the Lambda function you are invoking. You can then process the client information in your Lambda function as you choose through the context variable. For an example of a ClientContext JSON, see PutEvents in the Amazon Mobile Analytics API Reference and User Guide.

The ClientContext JSON must be base64-encoded and has a maximum size of 3583 bytes.

ClientContext information is returned only if you use the synchronous (RequestResponse) invocation type.

", + "documentation":"

Up to 3583 bytes of base64-encoded data about the invoking client to pass to the function in the context object.

", "location":"header", "locationName":"X-Amz-Client-Context" }, "Payload":{ "shape":"Blob", - "documentation":"

JSON that you want to provide to your Lambda function as input.

" + "documentation":"

The JSON that you want to provide to your Lambda function as input.

" }, "Qualifier":{ "shape":"Qualifier", @@ -1840,33 +1868,32 @@ "members":{ "StatusCode":{ "shape":"Integer", - "documentation":"

The HTTP status code will be in the 200 range for successful request. For the RequestResponse invocation type this status code will be 200. For the Event invocation type this status code will be 202. For the DryRun invocation type the status code will be 204.

", + "documentation":"

The HTTP status code is in the 200 range for a successful request. For the RequestResponse invocation type, this status code is 200. For the Event invocation type, this status code is 202. For the DryRun invocation type, the status code is 204.

", "location":"statusCode" }, "FunctionError":{ "shape":"String", - "documentation":"

Indicates whether an error occurred while executing the Lambda function. If an error occurred this field will have one of two values; Handled or Unhandled. Handled errors are errors that are reported by the function while the Unhandled errors are those detected and reported by AWS Lambda. Unhandled errors include out of memory errors and function timeouts. For information about how to report an Handled error, see Programming Model.

", + "documentation":"

If present, indicates that an error occurred during function execution. Details about the error are included in the response payload.

  • Handled - The runtime caught an error thrown by the function and formatted it into a JSON document.

  • Unhandled - The runtime didn't handle the error. For example, the function ran out of memory or timed out.

", "location":"header", "locationName":"X-Amz-Function-Error" }, "LogResult":{ "shape":"String", - "documentation":"

It is the base64-encoded logs for the Lambda function invocation. This is present only if the invocation type is RequestResponse and the logs were requested.

", + "documentation":"

The last 4 KB of the execution log, which is base64 encoded.

", "location":"header", "locationName":"X-Amz-Log-Result" }, "Payload":{ "shape":"Blob", - "documentation":"

It is the JSON representation of the object returned by the Lambda function. This is present only if the invocation type is RequestResponse.

In the event of a function error this field contains a message describing the error. For the Handled errors the Lambda function will report this message. For Unhandled errors AWS Lambda reports the message.

" + "documentation":"

The response from the function, or an error object.

" }, "ExecutedVersion":{ "shape":"Version", - "documentation":"

The function version that has been executed. This value is returned only if the invocation type is RequestResponse. For more information, see Traffic Shifting Using Aliases.

", + "documentation":"

The version of the function that executed. When you invoke a function with an alias, this indicates which version the alias resolved to.

", "location":"header", "locationName":"X-Amz-Executed-Version" } }, - "documentation":"

Upon success, returns an empty response. Otherwise, throws an exception.

", "payload":"Payload" }, "InvocationType":{ @@ -1886,13 +1913,13 @@ "members":{ "FunctionName":{ "shape":"NamespacedFunctionName", - "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - my-function.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "InvokeArgs":{ "shape":"BlobStream", - "documentation":"

JSON that you want to provide to your Lambda function as input.

" + "documentation":"

The JSON that you want to provide to your Lambda function as input.

" } }, "deprecated":true, @@ -1903,11 +1930,11 @@ "members":{ "Status":{ "shape":"HttpStatus", - "documentation":"

It will be 202 upon success.

", + "documentation":"

The status code.

", "location":"statusCode" } }, - "documentation":"

Upon success, it returns empty response. Otherwise, throws an exception.

", + "documentation":"

A success response (202 Accepted) indicates that the request is queued for invocation.

", "deprecated":true }, "KMSAccessDeniedException":{ @@ -1966,7 +1993,7 @@ "documentation":"

The size of the layer archive in bytes.

" } }, - "documentation":"

A function layer.

" + "documentation":"

An AWS Lambda layer.

" }, "LayerArn":{ "type":"string", @@ -2018,7 +2045,7 @@ "documentation":"

The base64-encoded contents of the layer archive. AWS SDK and AWS CLI clients handle the encoding for you.

" } }, - "documentation":"

A ZIP archive that contains the contents of the function layer. You can specify either an Amazon S3 location, or upload a layer archive directly.

" + "documentation":"

A ZIP archive that contains the contents of an AWS Lambda layer. You can specify either an Amazon S3 location, or upload a layer archive directly.

" }, "LayerVersionContentOutput":{ "type":"structure", @@ -2036,7 +2063,7 @@ "documentation":"

The size of the layer archive in bytes.

" } }, - "documentation":"

Details about a layer version.

" + "documentation":"

Details about a version of an AWS Lambda layer.

" }, "LayerVersionNumber":{"type":"long"}, "LayerVersionsList":{ @@ -2071,7 +2098,7 @@ "documentation":"

The layer's open-source license.

" } }, - "documentation":"

Details about a layer version.

" + "documentation":"

Details about a version of an AWS Lambda layer.

" }, "LayersList":{ "type":"list", @@ -2093,7 +2120,7 @@ "documentation":"

The newest version of the layer.

" } }, - "documentation":"

Details about a function layer.

" + "documentation":"

Details about an AWS Lambda layer.

" }, "LayersReferenceList":{ "type":"list", @@ -2109,25 +2136,25 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The name of the lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "FunctionVersion":{ "shape":"Version", - "documentation":"

If you specify this optional parameter, the API returns only the aliases that are pointing to the specific Lambda function version, otherwise the API returns all of the aliases created for the Lambda function.

", + "documentation":"

Specify a function version to only list aliases that invoke that version.

", "location":"querystring", "locationName":"FunctionVersion" }, "Marker":{ "shape":"String", - "documentation":"

Optional string. An opaque pagination token returned from a previous ListAliases operation. If present, indicates where to continue the listing.

", + "documentation":"

Specify the pagination token that's returned by a previous request to retrieve the next page of results.

", "location":"querystring", "locationName":"Marker" }, "MaxItems":{ "shape":"MaxListItems", - "documentation":"

Optional integer. Specifies the maximum number of aliases to return in response. This parameter value must be greater than 0.

", + "documentation":"

Limit the number of aliases returned.

", "location":"querystring", "locationName":"MaxItems" } @@ -2138,7 +2165,7 @@ "members":{ "NextMarker":{ "shape":"String", - "documentation":"

A string, present if there are more aliases.

" + "documentation":"

The pagination token that's included if more results are available.

" }, "Aliases":{ "shape":"AliasList", @@ -2193,25 +2220,25 @@ "members":{ "MasterRegion":{ "shape":"MasterRegion", - "documentation":"

Specify a region (e.g. us-east-2) to only list functions that were created in that region, or ALL to include functions replicated from any region. If specified, you also must specify the FunctionVersion.

", + "documentation":"

For Lambda@Edge functions, the AWS Region of the master function. For example, us-east-2 or ALL. If specified, you must set FunctionVersion to ALL.

", "location":"querystring", "locationName":"MasterRegion" }, "FunctionVersion":{ "shape":"FunctionVersion", - "documentation":"

Set to ALL to list all published versions. If not specified, only the latest unpublished version ARN is returned.

", + "documentation":"

Set to ALL to include entries for all published versions of each function.

", "location":"querystring", "locationName":"FunctionVersion" }, "Marker":{ "shape":"String", - "documentation":"

Optional string. An opaque pagination token returned from a previous ListFunctions operation. If present, indicates where to continue the listing.

", + "documentation":"

Specify the pagination token that's returned by a previous request to retrieve the next page of results.

", "location":"querystring", "locationName":"Marker" }, "MaxItems":{ "shape":"MaxListItems", - "documentation":"

Optional integer. Specifies the maximum number of AWS Lambda functions to return in response. This parameter value must be greater than 0. The absolute maximum of AWS Lambda functions that can be returned is 50.

", + "documentation":"

Specify a value between 1 and 50 to limit the number of functions in the response.

", "location":"querystring", "locationName":"MaxItems" } @@ -2222,7 +2249,7 @@ "members":{ "NextMarker":{ "shape":"String", - "documentation":"

A string, present if there are more functions.

" + "documentation":"

The pagination token that's included if more results are available.

" }, "Functions":{ "shape":"FunctionList", @@ -2243,7 +2270,7 @@ }, "LayerName":{ "shape":"LayerName", - "documentation":"

The name of the layer.

", + "documentation":"

The name or Amazon Resource Name (ARN) of the layer.

", "location":"uri", "locationName":"LayerName" }, @@ -2316,7 +2343,7 @@ "members":{ "Resource":{ "shape":"FunctionArn", - "documentation":"

The ARN (Amazon Resource Name) of the function. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

", + "documentation":"

The function's Amazon Resource Name (ARN).

", "location":"uri", "locationName":"ARN" } @@ -2327,7 +2354,7 @@ "members":{ "Tags":{ "shape":"Tags", - "documentation":"

The list of tags assigned to the function. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

" + "documentation":"

The function's tags.

" } } }, @@ -2337,19 +2364,19 @@ "members":{ "FunctionName":{ "shape":"NamespacedFunctionName", - "documentation":"

The name of the lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "Marker":{ "shape":"String", - "documentation":"

Optional string. An opaque pagination token returned from a previous ListVersionsByFunction operation. If present, indicates where to continue the listing.

", + "documentation":"

Specify the pagination token that's returned by a previous request to retrieve the next page of results.

", "location":"querystring", "locationName":"Marker" }, "MaxItems":{ "shape":"MaxListItems", - "documentation":"

Optional integer. Specifies the maximum number of AWS Lambda function versions to return in response. This parameter value must be greater than 0.

", + "documentation":"

Limit the number of versions that are returned.

", "location":"querystring", "locationName":"MaxItems" } @@ -2360,7 +2387,7 @@ "members":{ "NextMarker":{ "shape":"String", - "documentation":"

A string, present if there are more function versions.

" + "documentation":"

The pagination token that's included if more results are available.

" }, "Versions":{ "shape":"FunctionList", @@ -2421,7 +2448,7 @@ "Type":{"shape":"String"}, "message":{"shape":"String"} }, - "documentation":"

Lambda function access policy is limited to 20 KB.

", + "documentation":"

The permissions policy for the resource is too large. Learn more

", "error":{"httpStatusCode":400}, "exception":true }, @@ -2454,7 +2481,7 @@ "members":{ "LayerName":{ "shape":"LayerName", - "documentation":"

The name of the layer.

", + "documentation":"

The name or Amazon Resource Name (ARN) of the layer.

", "location":"uri", "locationName":"LayerName" }, @@ -2468,7 +2495,7 @@ }, "CompatibleRuntimes":{ "shape":"CompatibleRuntimes", - "documentation":"

A list of compatible function runtimes. Used for filtering with ListLayers and ListLayerVersions.

" + "documentation":"

A list of compatible function runtimes. Used for filtering with ListLayers and ListLayerVersions.

" }, "LicenseInfo":{ "shape":"LicenseInfo", @@ -2485,7 +2512,7 @@ }, "LayerArn":{ "shape":"LayerArn", - "documentation":"

The Amazon Resource Name (ARN) of the function layer.

" + "documentation":"

The ARN of the layer.

" }, "LayerVersionArn":{ "shape":"LayerVersionArn", @@ -2519,21 +2546,21 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The name of the lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "CodeSha256":{ "shape":"String", - "documentation":"

The SHA256 hash of the deployment package you want to publish. This provides validation on the code you are publishing. If you provide this parameter, the value must match the SHA256 of the $LATEST version for the publication to succeed. You can use the DryRun parameter of UpdateFunctionCode to verify the hash value that will be returned before publishing your new version.

" + "documentation":"

Only publish a version if the hash value matches the value that's specified. Use this option to avoid publishing a version if the function code has changed since you last updated it. You can get the hash for the version that you uploaded from the output of UpdateFunctionCode.

" }, "Description":{ "shape":"Description", - "documentation":"

The description for the version you are publishing. If not provided, AWS Lambda copies the description from the $LATEST version.

" + "documentation":"

A description for the version to override the description in the function configuration.

" }, "RevisionId":{ "shape":"String", - "documentation":"

An optional value you can use to ensure you are updating the latest update of the function version or alias. If the RevisionID you pass doesn't match the latest RevisionId of the function or alias, it will fail with an error message, advising you retrieve the latest function version or alias RevisionID using either GetFunction or GetAlias.

" + "documentation":"

Only update the function if the revision ID matches the ID that's specified. Use this option to avoid publishing a version if the function configuration has changed since you last updated it.

" } } }, @@ -2546,13 +2573,13 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - my-function.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "ReservedConcurrentExecutions":{ "shape":"ReservedConcurrentExecutions", - "documentation":"

The concurrent execution limit reserved for this function.

" + "documentation":"

The number of simultaneous executions to reserve for the function.

" } } }, @@ -2572,7 +2599,7 @@ "members":{ "LayerName":{ "shape":"LayerName", - "documentation":"

The name of the layer.

", + "documentation":"

The name or Amazon Resource Name (ARN) of the layer.

", "location":"uri", "locationName":"LayerName" }, @@ -2605,7 +2632,7 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "documentation":"

The name of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, @@ -2623,7 +2650,7 @@ }, "RevisionId":{ "shape":"String", - "documentation":"

An optional value you can use to ensure you are updating the latest update of the function version or alias. If the RevisionID you pass doesn't match the latest RevisionId of the function or alias, it will fail with an error message, advising you to retrieve the latest function version or alias RevisionID using either GetFunction or GetAlias.

", + "documentation":"

Only update the policy if the revision ID matches the ID that's specified. Use this option to avoid modifying a policy that has changed since you last read it.

", "location":"querystring", "locationName":"RevisionId" } @@ -2635,7 +2662,7 @@ "Type":{"shape":"String"}, "message":{"shape":"String"} }, - "documentation":"

The request payload exceeded the Invoke request body JSON input limit. For more information, see Limits.

", + "documentation":"

The request payload exceeded the Invoke request body JSON input limit. For more information, see Limits.

", "error":{"httpStatusCode":413}, "exception":true }, @@ -2669,7 +2696,7 @@ "Type":{"shape":"String"}, "Message":{"shape":"String"} }, - "documentation":"

The operation conflicts with the resource's availability. For example, you attempted to update an EventSoure Mapping in CREATING, or tried to delete a EventSoure mapping currently in the UPDATING state.

", + "documentation":"

The operation conflicts with the resource's availability. For example, you attempted to update an EventSource Mapping in CREATING, or tried to delete a EventSource mapping currently in the UPDATING state.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -2694,6 +2721,7 @@ "nodejs4.3", "nodejs6.10", "nodejs8.10", + "nodejs10.x", "java8", "python2.7", "python3.6", @@ -2784,13 +2812,13 @@ "members":{ "Resource":{ "shape":"FunctionArn", - "documentation":"

The ARN (Amazon Resource Name) of the Lambda function. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

", + "documentation":"

The function's Amazon Resource Name (ARN).

", "location":"uri", "locationName":"ARN" }, "Tags":{ "shape":"Tags", - "documentation":"

The list of tags (key-value pairs) you are assigning to the Lambda function. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

" + "documentation":"

A list of tags to apply to the function.

" } } }, @@ -2828,7 +2856,7 @@ "message":{"shape":"String"}, "Reason":{"shape":"ThrottleReason"} }, - "documentation":"

Request throughput limit exceeded

", + "documentation":"

Request throughput limit exceeded.

", "error":{"httpStatusCode":429}, "exception":true }, @@ -2882,13 +2910,13 @@ "members":{ "Resource":{ "shape":"FunctionArn", - "documentation":"

The ARN (Amazon Resource Name) of the function. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

", + "documentation":"

The function's Amazon Resource Name (ARN).

", "location":"uri", "locationName":"ARN" }, "TagKeys":{ "shape":"TagKeyList", - "documentation":"

The list of tag keys to be deleted from the function. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

", + "documentation":"

A list of tag keys to remove from the function.

", "location":"querystring", "locationName":"tagKeys" } @@ -2903,31 +2931,31 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The name of the lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "Name":{ "shape":"Alias", - "documentation":"

The alias name.

", + "documentation":"

The name of the alias.

", "location":"uri", "locationName":"Name" }, "FunctionVersion":{ "shape":"Version", - "documentation":"

Using this parameter you can change the Lambda function version to which the alias points.

" + "documentation":"

The function version that the alias invokes.

" }, "Description":{ "shape":"Description", - "documentation":"

You can change the description of the alias using this parameter.

" + "documentation":"

A description of the alias.

" }, "RoutingConfig":{ "shape":"AliasRoutingConfiguration", - "documentation":"

Specifies an additional version your alias can point to, allowing you to dictate what percentage of traffic will invoke each version. For more information, see Traffic Shifting Using Aliases.

" + "documentation":"

The routing configuration of the alias.

" }, "RevisionId":{ "shape":"String", - "documentation":"

An optional value you can use to ensure you are updating the latest update of the function version or alias. If the RevisionID you pass doesn't match the latest RevisionId of the function or alias, it will fail with an error message, advising you retrieve the latest function version or alias RevisionID using either GetFunction or GetAlias.

" + "documentation":"

Only update the alias if the revision ID matches the ID that's specified. Use this option to avoid modifying an alias that has changed since you last read it.

" } } }, @@ -2961,37 +2989,37 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - my-function.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "ZipFile":{ "shape":"Blob", - "documentation":"

The contents of your zip file containing your deployment package. If you are using the web API directly, the contents of the zip file must be base64-encoded. If you are using the AWS SDKs or the AWS CLI, the SDKs or CLI will do the encoding for you. For more information about creating a .zip file, see Execution Permissions.

" + "documentation":"

The base64-encoded contents of the deployment package. AWS SDK and AWS CLI clients handle the encoding for you.

" }, "S3Bucket":{ "shape":"S3Bucket", - "documentation":"

Amazon S3 bucket name where the .zip file containing your deployment package is stored. This bucket must reside in the same AWS Region where you are creating the Lambda function.

" + "documentation":"

An Amazon S3 bucket in the same AWS Region as your function. The bucket can be in a different AWS account.

" }, "S3Key":{ "shape":"S3Key", - "documentation":"

The Amazon S3 object (the deployment package) key name you want to upload.

" + "documentation":"

The Amazon S3 key of the deployment package.

" }, "S3ObjectVersion":{ "shape":"S3ObjectVersion", - "documentation":"

The Amazon S3 object (the deployment package) version you want to upload.

" + "documentation":"

For versioned objects, the version of the deployment package object to use.

" }, "Publish":{ "shape":"Boolean", - "documentation":"

This boolean parameter can be used to request AWS Lambda to update the Lambda function and publish a version as an atomic operation.

" + "documentation":"

Set to true to publish a new version of the function after updating the code. This has the same effect as calling PublishVersion separately.

" }, "DryRun":{ "shape":"Boolean", - "documentation":"

This boolean parameter can be used to test your request to AWS Lambda to update the Lambda function and publish a version as an atomic operation. It will do all necessary computation and validation of your code but will not upload it or a publish a version. Each time this operation is invoked, the CodeSha256 hash value of the provided code will also be computed and returned in the response.

" + "documentation":"

Set to true to validate the request parameters and access permissions without modifying the function code.

" }, "RevisionId":{ "shape":"String", - "documentation":"

An optional value you can use to ensure you are updating the latest update of the function version or alias. If the RevisionID you pass doesn't match the latest RevisionId of the function or alias, it will fail with an error message, advising you to retrieve the latest function version or alias RevisionID using either using using either GetFunction or GetAlias.

" + "documentation":"

Only update the function if the revision ID matches the ID that's specified. Use this option to avoid modifying a function that has changed since you last read it.

" } } }, @@ -3001,49 +3029,49 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - my-function.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "Role":{ "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role that Lambda will assume when it executes your function.

" + "documentation":"

The Amazon Resource Name (ARN) of the function's execution role.

" }, "Handler":{ "shape":"Handler", - "documentation":"

The function that Lambda calls to begin executing your function. For Node.js, it is the module-name.export value in your function.

" + "documentation":"

The name of the method within your code that Lambda calls to execute your function. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see Programming Model.

" }, "Description":{ "shape":"Description", - "documentation":"

A short user-defined function description. AWS Lambda does not use this value. Assign a meaningful description as you see fit.

" + "documentation":"

A description of the function.

" }, "Timeout":{ "shape":"Timeout", - "documentation":"

The amount of time that Lambda allows a function to run before terminating it. The default is 3 seconds. The maximum allowed value is 900 seconds.

" + "documentation":"

The amount of time that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds.

" }, "MemorySize":{ "shape":"MemorySize", - "documentation":"

The amount of memory, in MB, your Lambda function is given. AWS Lambda uses this memory size to infer the amount of CPU allocated to your function. Your function use-case determines your CPU and memory requirements. For example, a database operation might need less memory compared to an image processing function. The default value is 128 MB. The value must be a multiple of 64 MB.

" + "documentation":"

The amount of memory that your function has access to. Increasing the function's memory also increases its CPU allocation. The default value is 128 MB. The value must be a multiple of 64 MB.

" }, "VpcConfig":{ "shape":"VpcConfig", - "documentation":"

Specify security groups and subnets in a VPC to which your Lambda function needs access.

" + "documentation":"

For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC. When you connect a function to a VPC, it can only access resources and the internet through that VPC. For more information, see VPC Settings.

" }, "Environment":{ "shape":"Environment", - "documentation":"

The parent object that contains your environment's configuration settings.

" + "documentation":"

Environment variables that are accessible from function code during execution.

" }, "Runtime":{ "shape":"Runtime", - "documentation":"

The runtime version for the function.

" + "documentation":"

The identifier of the function's runtime.

" }, "DeadLetterConfig":{ "shape":"DeadLetterConfig", - "documentation":"

A dead letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see Dead Letter Queues.

" + "documentation":"

A dead letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see Dead Letter Queues.

" }, "KMSKeyArn":{ "shape":"KMSKeyArn", - "documentation":"

The Amazon Resource Name (ARN) of the KMS key used to encrypt your function's environment variables. If you elect to use the AWS Lambda default service key, pass in an empty string (\"\") for this parameter.

" + "documentation":"

The ARN of the AWS Key Management Service (AWS KMS) key that's used to encrypt your function's environment variables. If it's not provided, AWS Lambda uses a default service key.

" }, "TracingConfig":{ "shape":"TracingConfig", @@ -3051,11 +3079,11 @@ }, "RevisionId":{ "shape":"String", - "documentation":"

An optional value you can use to ensure you are updating the latest update of the function version or alias. If the RevisionID you pass doesn't match the latest RevisionId of the function or alias, it will fail with an error message, advising you to retrieve the latest function version or alias RevisionID using either GetFunction or GetAlias.

" + "documentation":"

Only update the function if the revision ID matches the ID that's specified. Use this option to avoid modifying a function that has changed since you last read it.

" }, "Layers":{ "shape":"LayerList", - "documentation":"

A list of function layers to add to the function's execution environment.

" + "documentation":"

A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.

" } } }, @@ -3077,7 +3105,7 @@ "documentation":"

A list of VPC security groups IDs.

" } }, - "documentation":"

The VPC security groups and subnets attached to a Lambda function.

" + "documentation":"

The VPC security groups and subnets that are attached to a Lambda function.

" }, "VpcConfigResponse":{ "type":"structure", @@ -3095,7 +3123,7 @@ "documentation":"

The ID of the VPC.

" } }, - "documentation":"

The VPC security groups and subnets attached to a Lambda function.

" + "documentation":"

The VPC security groups and subnets that are attached to a Lambda function.

" }, "VpcId":{"type":"string"}, "Weight":{ @@ -3104,5 +3132,5 @@ "min":0.0 } }, - "documentation":"AWS Lambda

Overview

This is the AWS Lambda API Reference. The AWS Lambda Developer Guide provides additional information. For the service overview, see What is AWS Lambda, and for information about how the service works, see AWS Lambda: How it Works in the AWS Lambda Developer Guide.

" + "documentation":"AWS Lambda

Overview

This is the AWS Lambda API Reference. The AWS Lambda Developer Guide provides additional information. For the service overview, see What is AWS Lambda, and for information about how the service works, see AWS Lambda: How it Works in the AWS Lambda Developer Guide.

" } diff --git a/bin/botocore/data/lambda/2015-03-31/waiters-2.json b/bin/botocore/data/lambda/2015-03-31/waiters-2.json new file mode 100644 index 00000000..07d1ab25 --- /dev/null +++ b/bin/botocore/data/lambda/2015-03-31/waiters-2.json @@ -0,0 +1,22 @@ +{ + "version": 2, + "waiters": { + "FunctionExists": { + "delay": 1, + "operation": "GetFunction", + "maxAttempts": 20, + "acceptors": [ + { + "state": "success", + "matcher": "status", + "expected": 200 + }, + { + "state": "retry", + "matcher": "error", + "expected": "ResourceNotFoundException" + } + ] + } + } +} diff --git a/bin/botocore/data/license-manager/2018-08-01/paginators-1.json b/bin/botocore/data/license-manager/2018-08-01/paginators-1.json index ea142457..03a3ca4d 100644 --- a/bin/botocore/data/license-manager/2018-08-01/paginators-1.json +++ b/bin/botocore/data/license-manager/2018-08-01/paginators-1.json @@ -1,3 +1,34 @@ { - "pagination": {} + "pagination": { + "ListAssociationsForLicenseConfiguration": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "LicenseConfigurationAssociations" + }, + "ListLicenseConfigurations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "LicenseConfigurations" + }, + "ListLicenseSpecificationsForResource": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "LicenseSpecifications" + }, + "ListResourceInventory": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ResourceInventoryList" + }, + "ListUsageForLicenseConfiguration": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "LicenseConfigurationUsageList" + } + } } diff --git a/bin/botocore/data/lightsail/2016-11-28/paginators-1.json b/bin/botocore/data/lightsail/2016-11-28/paginators-1.json index 7c9c475f..fbea9383 100644 --- a/bin/botocore/data/lightsail/2016-11-28/paginators-1.json +++ b/bin/botocore/data/lightsail/2016-11-28/paginators-1.json @@ -44,6 +44,61 @@ "input_token": "pageToken", "output_token": "nextPageToken", "result_key": "staticIps" + }, + "GetCloudFormationStackRecords": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "cloudFormationStackRecords" + }, + "GetDiskSnapshots": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "diskSnapshots" + }, + "GetDisks": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "disks" + }, + "GetExportSnapshotRecords": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "exportSnapshotRecords" + }, + "GetLoadBalancers": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "loadBalancers" + }, + "GetRelationalDatabaseBlueprints": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "blueprints" + }, + "GetRelationalDatabaseBundles": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "bundles" + }, + "GetRelationalDatabaseEvents": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "relationalDatabaseEvents" + }, + "GetRelationalDatabaseParameters": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "parameters" + }, + "GetRelationalDatabaseSnapshots": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "relationalDatabaseSnapshots" + }, + "GetRelationalDatabases": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "relationalDatabases" } } } diff --git a/bin/botocore/data/lightsail/2016-11-28/service-2.json b/bin/botocore/data/lightsail/2016-11-28/service-2.json index 86ad9ae5..6bbad6a5 100644 --- a/bin/botocore/data/lightsail/2016-11-28/service-2.json +++ b/bin/botocore/data/lightsail/2016-11-28/service-2.json @@ -219,7 +219,7 @@ {"shape":"AccountSetupInProgressException"}, {"shape":"UnauthenticatedException"} ], - "documentation":"

Creates a snapshot of a block storage disk. You can use snapshots for backups, to make copies of disks, and to save data before shutting down a Lightsail instance.

You can take a snapshot of an attached disk that is in use; however, snapshots only capture data that has been written to your disk at the time the snapshot command is issued. This may exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the disk long enough to take a snapshot, your snapshot should be complete. Nevertheless, if you cannot pause all file writes to the disk, you should unmount the disk from within the Lightsail instance, issue the create disk snapshot command, and then remount the disk to ensure a consistent and complete snapshot. You may remount and use your disk while the snapshot status is pending.

The create disk snapshot operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide.

" + "documentation":"

Creates a snapshot of a block storage disk. You can use snapshots for backups, to make copies of disks, and to save data before shutting down a Lightsail instance.

You can take a snapshot of an attached disk that is in use; however, snapshots only capture data that has been written to your disk at the time the snapshot command is issued. This may exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the disk long enough to take a snapshot, your snapshot should be complete. Nevertheless, if you cannot pause all file writes to the disk, you should unmount the disk from within the Lightsail instance, issue the create disk snapshot command, and then remount the disk to ensure a consistent and complete snapshot. You may remount and use your disk while the snapshot status is pending.

You can also use this operation to create a snapshot of an instance's system volume. You might want to do this, for example, to recover data from the system volume of a botched instance or to create a backup of the system volume like you would for a block storage disk. To create a snapshot of a system volume, just define the instance name parameter when issuing the snapshot command, and a snapshot of the defined instance's system volume will be created. After the snapshot is available, you can create a block storage disk from the snapshot and attach it to a running instance to access the data on the disk.

The create disk snapshot operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide.

" }, "CreateDomain":{ "name":"CreateDomain", @@ -257,7 +257,7 @@ {"shape":"AccountSetupInProgressException"}, {"shape":"UnauthenticatedException"} ], - "documentation":"

Creates one of the following entry records associated with the domain: A record, CNAME record, TXT record, or MX record.

The create domain entry operation supports tag-based access control via resource tags applied to the resource identified by domainName. For more information, see the Lightsail Dev Guide.

" + "documentation":"

Creates one of the following entry records associated with the domain: Address (A), canonical name (CNAME), mail exchanger (MX), name server (NS), start of authority (SOA), service locator (SRV), or text (TXT).

The create domain entry operation supports tag-based access control via resource tags applied to the resource identified by domainName. For more information, see the Lightsail Dev Guide.

" }, "CreateInstanceSnapshot":{ "name":"CreateInstanceSnapshot", @@ -563,6 +563,25 @@ ], "documentation":"

Deletes a specific SSH key pair.

The delete key pair operation supports tag-based access control via resource tags applied to the resource identified by keyPairName. For more information, see the Lightsail Dev Guide.

" }, + "DeleteKnownHostKeys":{ + "name":"DeleteKnownHostKeys", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteKnownHostKeysRequest"}, + "output":{"shape":"DeleteKnownHostKeysResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Deletes the known host key or certificate used by the Amazon Lightsail browser-based SSH or RDP clients to authenticate an instance. This operation enables the Lightsail browser-based SSH or RDP clients to connect to the instance after a host key mismatch.

Perform this operation only if you were expecting the host key or certificate mismatch or if you are familiar with the new host key or certificate on the instance. For more information, see Troubleshooting connection issues when using the Amazon Lightsail browser-based SSH or RDP client.

" + }, "DeleteLoadBalancer":{ "name":"DeleteLoadBalancer", "http":{ @@ -732,7 +751,7 @@ {"shape":"AccountSetupInProgressException"}, {"shape":"UnauthenticatedException"} ], - "documentation":"

Exports a Amazon Lightsail instance or block storage disk snapshot to Amazon Elastic Compute Cloud (Amazon EC2). This operation results in an export snapshot record that can be used with the create cloud formation stack operation to create new Amazon EC2 instances.

Exported instance snapshots appear in Amazon EC2 as Amazon Machine Images (AMIs), and the instance system disk appears as an Amazon Elastic Block Store (Amazon EBS) volume. Exported disk snapshots appear in Amazon EC2 as Amazon EBS volumes. Snapshots are exported to the same Amazon Web Services Region in Amazon EC2 as the source Lightsail snapshot.

The export snapshot operation supports tag-based access control via resource tags applied to the resource identified by sourceSnapshotName. For more information, see the Lightsail Dev Guide.

Use the get instance snapshots or get disk snapshots operations to get a list of snapshots that you can export to Amazon EC2.

" + "documentation":"

Exports an Amazon Lightsail instance or block storage disk snapshot to Amazon Elastic Compute Cloud (Amazon EC2). This operation results in an export snapshot record that can be used with the create cloud formation stack operation to create new Amazon EC2 instances.

Exported instance snapshots appear in Amazon EC2 as Amazon Machine Images (AMIs), and the instance system disk appears as an Amazon Elastic Block Store (Amazon EBS) volume. Exported disk snapshots appear in Amazon EC2 as Amazon EBS volumes. Snapshots are exported to the same Amazon Web Services Region in Amazon EC2 as the source Lightsail snapshot.

The export snapshot operation supports tag-based access control via resource tags applied to the resource identified by sourceSnapshotName. For more information, see the Lightsail Dev Guide.

Use the get instance snapshots or get disk snapshots operations to get a list of snapshots that you can export to Amazon EC2.

" }, "GetActiveNames":{ "name":"GetActiveNames", @@ -1663,7 +1682,7 @@ {"shape":"AccountSetupInProgressException"}, {"shape":"UnauthenticatedException"} ], - "documentation":"

Restarts a specific instance. When your Amazon Lightsail instance is finished rebooting, Lightsail assigns a new public IP address. To use the same IP address after restarting, create a static IP address and attach it to the instance.

The reboot instance operation supports tag-based access control via resource tags applied to the resource identified by instanceName. For more information, see the Lightsail Dev Guide.

" + "documentation":"

Restarts a specific instance.

The reboot instance operation supports tag-based access control via resource tags applied to the resource identified by instanceName. For more information, see the Lightsail Dev Guide.

" }, "RebootRelationalDatabase":{ "name":"RebootRelationalDatabase", @@ -1720,7 +1739,7 @@ {"shape":"AccountSetupInProgressException"}, {"shape":"UnauthenticatedException"} ], - "documentation":"

Starts a specific Amazon Lightsail instance from a stopped state. To restart an instance, use the reboot instance operation.

The start instance operation supports tag-based access control via resource tags applied to the resource identified by instanceName. For more information, see the Lightsail Dev Guide.

" + "documentation":"

Starts a specific Amazon Lightsail instance from a stopped state. To restart an instance, use the reboot instance operation.

When you start a stopped instance, Lightsail assigns a new public IP address to the instance. To use the same IP address after stopping and starting an instance, create a static IP address and attach it to the instance. For more information, see the Lightsail Dev Guide.

The start instance operation supports tag-based access control via resource tags applied to the resource identified by instanceName. For more information, see the Lightsail Dev Guide.

" }, "StartRelationalDatabase":{ "name":"StartRelationalDatabase", @@ -1758,7 +1777,7 @@ {"shape":"AccountSetupInProgressException"}, {"shape":"UnauthenticatedException"} ], - "documentation":"

Stops a specific Amazon Lightsail instance that is currently running.

The stop instance operation supports tag-based access control via resource tags applied to the resource identified by instanceName. For more information, see the Lightsail Dev Guide.

" + "documentation":"

Stops a specific Amazon Lightsail instance that is currently running.

When you start a stopped instance, Lightsail assigns a new public IP address to the instance. To use the same IP address after stopping and starting an instance, create a static IP address and attach it to the instance. For more information, see the Lightsail Dev Guide.

The stop instance operation supports tag-based access control via resource tags applied to the resource identified by instanceName. For more information, see the Lightsail Dev Guide.

" }, "StopRelationalDatabase":{ "name":"StopRelationalDatabase", @@ -2435,19 +2454,20 @@ }, "CreateDiskSnapshotRequest":{ "type":"structure", - "required":[ - "diskName", - "diskSnapshotName" - ], + "required":["diskSnapshotName"], "members":{ "diskName":{ "shape":"ResourceName", - "documentation":"

The unique name of the source disk (e.g., my-source-disk).

" + "documentation":"

The unique name of the source disk (e.g., Disk-Virginia-1).

This parameter cannot be defined together with the instance name parameter. The disk name and instance name parameters are mutually exclusive.

" }, "diskSnapshotName":{ "shape":"ResourceName", "documentation":"

The name of the destination disk snapshot (e.g., my-disk-snapshot) based on the source disk.

" }, + "instanceName":{ + "shape":"ResourceName", + "documentation":"

The unique name of the source instance (e.g., Amazon_Linux-512MB-Virginia-1). When this is defined, a snapshot of the instance's system volume is created.

This parameter cannot be defined together with the disk name parameter. The instance name and disk name parameters are mutually exclusive.

" + }, "tags":{ "shape":"TagList", "documentation":"

The tag keys and optional values to add to the resource during create.

To tag a resource after it has been created, see the tag resource operation.

" @@ -3053,6 +3073,25 @@ } } }, + "DeleteKnownHostKeysRequest":{ + "type":"structure", + "required":["instanceName"], + "members":{ + "instanceName":{ + "shape":"ResourceName", + "documentation":"

The name of the instance for which you want to reset the host key or certificate.

" + } + } + }, + "DeleteKnownHostKeysResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

A list of objects describing the API operation.

" + } + } + }, "DeleteLoadBalancerRequest":{ "type":"structure", "required":["loadBalancerName"], @@ -3391,11 +3430,19 @@ }, "fromDiskName":{ "shape":"ResourceName", - "documentation":"

The unique name of the source disk from which you are creating the disk snapshot.

" + "documentation":"

The unique name of the source disk from which the disk snapshot was created.

" }, "fromDiskArn":{ "shape":"NonEmptyString", - "documentation":"

The Amazon Resource Name (ARN) of the source disk from which you are creating the disk snapshot.

" + "documentation":"

The Amazon Resource Name (ARN) of the source disk from which the disk snapshot was created.

" + }, + "fromInstanceName":{ + "shape":"ResourceName", + "documentation":"

The unique name of the source instance from which the disk (system volume) snapshot was created.

" + }, + "fromInstanceArn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the source instance from which the disk (system volume) snapshot was created.

" } }, "documentation":"

Describes a block storage disk snapshot.

" @@ -3492,7 +3539,7 @@ }, "type":{ "shape":"DomainEntryType", - "documentation":"

The type of domain entry (e.g., SOA or NS).

" + "documentation":"

The type of domain entry, such as address (A), canonical name (CNAME), mail exchanger (MX), name server (NS), start of authority (SOA), service locator (SRV), or text (TXT).

The following domain entry types can be used:

  • A

  • CNAME

  • MX

  • NS

  • SOA

  • SRV

  • TXT

" }, "options":{ "shape":"DomainEntryOptions", @@ -4712,6 +4759,44 @@ } } }, + "HostKeyAttributes":{ + "type":"structure", + "members":{ + "algorithm":{ + "shape":"string", + "documentation":"

The SSH host key algorithm or the RDP certificate format.

For SSH host keys, the algorithm may be ssh-rsa, ecdsa-sha2-nistp256, ssh-ed25519, etc. For RDP certificates, the algorithm is always x509-cert.

" + }, + "publicKey":{ + "shape":"string", + "documentation":"

The public SSH host key or the RDP certificate.

" + }, + "witnessedAt":{ + "shape":"IsoDate", + "documentation":"

The time that the SSH host key or RDP certificate was recorded by Lightsail.

" + }, + "fingerprintSHA1":{ + "shape":"string", + "documentation":"

The SHA-1 fingerprint of the returned SSH host key or RDP certificate.

  • Example of an SHA-1 SSH fingerprint:

    SHA1:1CHH6FaAaXjtFOsR/t83vf91SR0

  • Example of an SHA-1 RDP fingerprint:

    af:34:51:fe:09:f0:e0:da:b8:4e:56:ca:60:c2:10:ff:38:06:db:45

" + }, + "fingerprintSHA256":{ + "shape":"string", + "documentation":"

The SHA-256 fingerprint of the returned SSH host key or RDP certificate.

  • Example of an SHA-256 SSH fingerprint:

    SHA256:KTsMnRBh1IhD17HpdfsbzeGA4jOijm5tyXsMjKVbB8o

  • Example of an SHA-256 RDP fingerprint:

    03:9b:36:9f:4b:de:4e:61:70:fc:7c:c9:78:e7:d2:1a:1c:25:a8:0c:91:f6:7c:e4:d6:a0:85:c8:b4:53:99:68

" + }, + "notValidBefore":{ + "shape":"IsoDate", + "documentation":"

The returned RDP certificate is valid after this point in time.

This value is listed only for RDP certificates.

" + }, + "notValidAfter":{ + "shape":"IsoDate", + "documentation":"

The returned RDP certificate is not valid after this point in time.

This value is listed only for RDP certificates.

" + } + }, + "documentation":"

Describes the public SSH host keys or the RDP certificate.

" + }, + "HostKeysList":{ + "type":"list", + "member":{"shape":"HostKeyAttributes"} + }, "ImportKeyPairRequest":{ "type":"structure", "required":[ @@ -4858,6 +4943,10 @@ "username":{ "shape":"string", "documentation":"

The user name to use when logging in to the Amazon Lightsail instance.

" + }, + "hostKeys":{ + "shape":"HostKeysList", + "documentation":"

Describes the public SSH host keys or the RDP certificate.

" } }, "documentation":"

The parameters for gaining temporary access to one of your Amazon Lightsail instances.

" @@ -4888,7 +4977,7 @@ }, "portInfoSource":{ "shape":"PortInfoSourceType", - "documentation":"

The port configuration to use for the new Amazon EC2 instance.

The following configuration options are available:

  • DEFAULT — Use the default firewall settings from the image.

  • INSTANCE — Use the firewall settings from the source Lightsail instance.

  • NONE — Default to Amazon EC2.

" + "documentation":"

The port configuration to use for the new Amazon EC2 instance.

The following configuration options are available:

  • DEFAULT — Use the default firewall settings from the image.

  • INSTANCE — Use the firewall settings from the source Lightsail instance.

  • NONE — Default to Amazon EC2.

  • CLOSED — All ports closed.

" }, "userData":{ "shape":"string", @@ -5876,6 +5965,7 @@ "OperationType":{ "type":"string", "enum":[ + "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", @@ -6029,7 +6119,8 @@ "enum":[ "DEFAULT", "INSTANCE", - "NONE" + "NONE", + "CLOSED" ] }, "PortList":{ @@ -7008,5 +7099,5 @@ "string":{"type":"string"}, "timestamp":{"type":"timestamp"} }, - "documentation":"

Amazon Lightsail is the easiest way to get started with AWS for developers who just need virtual private servers. Lightsail includes everything you need to launch your project quickly - a virtual machine, SSD-based storage, data transfer, DNS management, and a static IP - for a low, predictable price. You manage those Lightsail servers through the Lightsail console or by using the API or command-line interface (CLI).

For more information about Lightsail concepts and tasks, see the Lightsail Dev Guide.

To use the Lightsail API or the CLI, you will need to use AWS Identity and Access Management (IAM) to generate access keys. For details about how to set this up, see the Lightsail Dev Guide.

" + "documentation":"

Amazon Lightsail is the easiest way to get started with AWS for developers who just need virtual private servers. Lightsail includes everything you need to launch your project quickly - a virtual machine, a managed database, SSD-based storage, data transfer, DNS management, and a static IP - for a low, predictable price. You manage those Lightsail servers through the Lightsail console or by using the API or command-line interface (CLI).

For more information about Lightsail concepts and tasks, see the Lightsail Dev Guide.

To use the Lightsail API or the CLI, you will need to use AWS Identity and Access Management (IAM) to generate access keys. For details about how to set this up, see the Lightsail Dev Guide.

" } diff --git a/bin/botocore/data/logs/2014-03-28/paginators-1.json b/bin/botocore/data/logs/2014-03-28/paginators-1.json index 57449c57..c5c1645f 100644 --- a/bin/botocore/data/logs/2014-03-28/paginators-1.json +++ b/bin/botocore/data/logs/2014-03-28/paginators-1.json @@ -38,6 +38,24 @@ "events", "searchedLogStreams" ] + }, + "DescribeExportTasks": { + "input_token": "nextToken", + "limit_key": "limit", + "output_token": "nextToken", + "result_key": "exportTasks" + }, + "DescribeQueries": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "queries" + }, + "DescribeResourcePolicies": { + "input_token": "nextToken", + "limit_key": "limit", + "output_token": "nextToken", + "result_key": "resourcePolicies" } } } diff --git a/bin/botocore/data/logs/2014-03-28/service-2.json b/bin/botocore/data/logs/2014-03-28/service-2.json index ab66bf17..fdc3f098 100644 --- a/bin/botocore/data/logs/2014-03-28/service-2.json +++ b/bin/botocore/data/logs/2014-03-28/service-2.json @@ -401,7 +401,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Returns the results from the specified query. If the query is in progress, partial results of that current execution are returned. Only the fields requested in the query are returned.

GetQueryResults does not start a query execution. To run a query, use .

" + "documentation":"

Returns the results from the specified query. If the query is in progress, partial results of that current execution are returned.

Only the fields requested in the query are returned, along with a @ptr field which is the identifier for the log record. You can use the value of @ptr in a operation to get the full log record.

GetQueryResults does not start a query execution. To run a query, use .

" }, "ListTagsLogGroup":{ "name":"ListTagsLogGroup", @@ -444,7 +444,7 @@ {"shape":"OperationAbortedException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Creates or updates an access policy associated with an existing destination. An access policy is an IAM policy document that is used to authorize claims to register a subscription filter against a given destination.

" + "documentation":"

Creates or updates an access policy associated with an existing destination. An access policy is an IAM policy document that is used to authorize claims to register a subscription filter against a given destination.

" }, "PutLogEvents":{ "name":"PutLogEvents", @@ -462,7 +462,7 @@ {"shape":"ServiceUnavailableException"}, {"shape":"UnrecognizedClientException"} ], - "documentation":"

Uploads a batch of log events to the specified log stream.

You must include the sequence token obtained from the response of the previous call. An upload in a newly created log stream does not require a sequence token. You can also get the sequence token using DescribeLogStreams. If you call PutLogEvents twice within a narrow time period using the same value for sequenceToken, both calls may be successful, or one may be rejected.

The batch of events must satisfy the following constraints:

  • The maximum batch size is 1,048,576 bytes, and this size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event.

  • None of the log events in the batch can be more than 2 hours in the future.

  • None of the log events in the batch can be older than 14 days or the retention period of the log group.

  • The log events in the batch must be in chronological ordered by their timestamp. The timestamp is the time the event occurred, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. (In AWS Tools for PowerShell and the AWS SDK for .NET, the timestamp is specified in .NET format: yyyy-mm-ddThh:mm:ss. For example, 2017-09-15T13:45:30.)

  • The maximum number of log events in a batch is 10,000.

  • A batch of log events in a single request cannot span more than 24 hours. Otherwise, the operation fails.

If a call to PutLogEvents returns \"UnrecognizedClientException\" the most likely cause is an invalid AWS access key ID or secret key.

" + "documentation":"

Uploads a batch of log events to the specified log stream.

You must include the sequence token obtained from the response of the previous call. An upload in a newly created log stream does not require a sequence token. You can also get the sequence token using DescribeLogStreams. If you call PutLogEvents twice within a narrow time period using the same value for sequenceToken, both calls may be successful, or one may be rejected.

The batch of events must satisfy the following constraints:

  • The maximum batch size is 1,048,576 bytes, and this size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event.

  • None of the log events in the batch can be more than 2 hours in the future.

  • None of the log events in the batch can be older than 14 days or older than the retention period of the log group.

  • The log events in the batch must be in chronological ordered by their timestamp. The timestamp is the time the event occurred, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. (In AWS Tools for PowerShell and the AWS SDK for .NET, the timestamp is specified in .NET format: yyyy-mm-ddThh:mm:ss. For example, 2017-09-15T13:45:30.)

  • The maximum number of log events in a batch is 10,000.

  • A batch of log events in a single request cannot span more than 24 hours. Otherwise, the operation fails.

If a call to PutLogEvents returns \"UnrecognizedClientException\" the most likely cause is an invalid AWS access key ID or secret key.

" }, "PutMetricFilter":{ "name":"PutMetricFilter", @@ -541,7 +541,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Schedules a query of a log group using CloudWatch Logs Insights. You specify the log group to query, the query string to use, and the time to query.

For more information, see CloudWatch Logs Insights Query Syntax.

" + "documentation":"

Schedules a query of a log group using CloudWatch Logs Insights. You specify the log group and time range to query, and the query string to use.

For more information, see CloudWatch Logs Insights Query Syntax.

Queries time out after 15 minutes of execution. If your queries are timing out, reduce the time range being searched, or partition your query into a number of queries.

" }, "StopQuery":{ "name":"StopQuery", @@ -569,7 +569,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterException"} ], - "documentation":"

Adds or updates the specified tags for the specified log group.

To list the tags for a log group, use ListTagsLogGroup. To remove tags, use UntagLogGroup.

For more information about tags, see Tag Log Groups in Amazon CloudWatch Logs in the Amazon CloudWatch Logs User Guide.

" + "documentation":"

Adds or updates the specified tags for the specified log group.

To list the tags for a log group, use ListTagsLogGroup. To remove tags, use UntagLogGroup.

For more information about tags, see Tag Log Groups in Amazon CloudWatch Logs in the Amazon CloudWatch Logs User Guide.

" }, "TestMetricFilter":{ "name":"TestMetricFilter", @@ -617,7 +617,7 @@ }, "kmsKeyId":{ "shape":"KmsKeyId", - "documentation":"

The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. For more information, see Amazon Resource Names - AWS Key Management Service (AWS KMS).

" + "documentation":"

The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. For more information, see Amazon Resource Names - AWS Key Management Service (AWS KMS).

" } } }, @@ -689,7 +689,7 @@ }, "kmsKeyId":{ "shape":"KmsKeyId", - "documentation":"

The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. For more information, see Amazon Resource Names - AWS Key Management Service (AWS KMS).

" + "documentation":"

The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. For more information, see Amazon Resource Names - AWS Key Management Service (AWS KMS).

" }, "tags":{ "shape":"Tags", @@ -1280,7 +1280,7 @@ }, "filterPattern":{ "shape":"FilterPattern", - "documentation":"

The filter pattern to use. For more information, see Filter and Pattern Syntax.

If not provided, all the events are matched.

" + "documentation":"

The filter pattern to use. For more information, see Filter and Pattern Syntax.

If not provided, all the events are matched.

" }, "nextToken":{ "shape":"NextToken", @@ -1292,7 +1292,7 @@ }, "interleaved":{ "shape":"Interleaved", - "documentation":"

If the value is true, the operation makes a best effort to provide responses that contain events from multiple log streams within the log group, interleaved in a single response. If the value is false, all the matched log events in the first log stream are searched first, then those in the next log stream, and so on. The default is false.

" + "documentation":"

If the value is true, the operation makes a best effort to provide responses that contain events from multiple log streams within the log group, interleaved in a single response. If the value is false, all the matched log events in the first log stream are searched first, then those in the next log stream, and so on. The default is false.

IMPORTANT: Starting on June 17, 2019, this parameter will be ignored and the value will be assumed to be true. The response from this operation will always interleave events from multiple log streams within a log group.

" } } }, @@ -1474,7 +1474,7 @@ }, "status":{ "shape":"QueryStatus", - "documentation":"

The status of the most recent running of the query. Possible values are Cancelled, Complete, Failed, Running, Scheduled, and Unknown.

" + "documentation":"

The status of the most recent running of the query. Possible values are Cancelled, Complete, Failed, Running, Scheduled, Timeout, and Unknown.

Queries time out after 15 minutes of execution. To avoid having your queries time out, reduce the time range being searched, or partition your query into a number of queries.

" } } }, @@ -1660,7 +1660,7 @@ }, "storedBytes":{ "shape":"StoredBytes", - "documentation":"

The number of bytes stored.

" + "documentation":"

The number of bytes stored.

IMPORTANT: Starting on June 17, 2019, this parameter will be deprecated for log streams, and will be reported as zero. This change applies only to log streams. The storedBytes parameter for log groups is not affected.

" } }, "documentation":"

Represents a log stream, which is a sequence of log events from a single emitter of logs.

" @@ -1681,7 +1681,7 @@ "members":{ "queryCompileError":{"shape":"QueryCompileError"} }, - "documentation":"

The query string is not valid. Details about this error are displayed in a QueryCompileError object. For more information, see .

For more information about valid query syntax, see CloudWatch Logs Insights Query Syntax.

", + "documentation":"

The query string is not valid. Details about this error are displayed in a QueryCompileError object. For more information, see .

For more information about valid query syntax, see CloudWatch Logs Insights Query Syntax.

", "exception":true }, "Message":{"type":"string"}, @@ -1770,7 +1770,7 @@ "documentation":"

(Optional) The value to emit when a filter pattern does not match a log event. This value can be null.

" } }, - "documentation":"

Indicates how to transform ingested log eventsto metric data in a CloudWatch metric.

" + "documentation":"

Indicates how to transform ingested log events to metric data in a CloudWatch metric.

" }, "MetricTransformations":{ "type":"list", @@ -1958,7 +1958,7 @@ }, "policyDocument":{ "shape":"PolicyDocument", - "documentation":"

Details of the new policy, including the identity of the principal that is enabled to put logs to this account. This is formatted as a JSON string.

The following example creates a resource policy enabling the Route 53 service to put DNS query logs in to the specified log group. Replace \"logArn\" with the ARN of your CloudWatch Logs resource, such as a log group or log stream.

{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Sid\": \"Route53LogsToCloudWatchLogs\", \"Effect\": \"Allow\", \"Principal\": { \"Service\": [ \"route53.amazonaws.com\" ] }, \"Action\":\"logs:PutLogEvents\", \"Resource\": \"logArn\" } ] }

" + "documentation":"

Details of the new policy, including the identity of the principal that is enabled to put logs to this account. This is formatted as a JSON string. This parameter is required.

The following example creates a resource policy enabling the Route 53 service to put DNS query logs in to the specified log group. Replace \"logArn\" with the ARN of your CloudWatch Logs resource, such as a log group or log stream.

{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Sid\": \"Route53LogsToCloudWatchLogs\", \"Effect\": \"Allow\", \"Principal\": { \"Service\": [ \"route53.amazonaws.com\" ] }, \"Action\":\"logs:PutLogEvents\", \"Resource\": \"logArn\" } ] }

" } } }, @@ -2243,15 +2243,15 @@ }, "startTime":{ "shape":"Timestamp", - "documentation":"

The time to start the query. Specified as epoch time, the number of seconds since January 1, 1970, 00:00:00 UTC.

" + "documentation":"

The beginning of the time range to query. The range is inclusive, so the specified start time is included in the query. Specified as epoch time, the number of seconds since January 1, 1970, 00:00:00 UTC.

" }, "endTime":{ "shape":"Timestamp", - "documentation":"

The time to end this query, if it is still running. Specified as epoch time, the number of seconds since January 1, 1970, 00:00:00 UTC.

" + "documentation":"

The end of the time range to query. The range is inclusive, so the specified end time is included in the query. Specified as epoch time, the number of seconds since January 1, 1970, 00:00:00 UTC.

" }, "queryString":{ "shape":"QueryString", - "documentation":"

The query string to use. For more information, see CloudWatch Logs Insights Query Syntax.

" + "documentation":"

The query string to use. For more information, see CloudWatch Logs Insights Query Syntax.

" }, "limit":{ "shape":"EventsLimit", diff --git a/bin/botocore/data/macie/2017-12-19/paginators-1.json b/bin/botocore/data/macie/2017-12-19/paginators-1.json index ea142457..f7b6a2c2 100644 --- a/bin/botocore/data/macie/2017-12-19/paginators-1.json +++ b/bin/botocore/data/macie/2017-12-19/paginators-1.json @@ -1,3 +1,16 @@ { - "pagination": {} + "pagination": { + "ListMemberAccounts": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "memberAccounts" + }, + "ListS3Resources": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "s3Resources" + } + } } diff --git a/bin/botocore/data/managedblockchain/2018-09-24/paginators-1.json b/bin/botocore/data/managedblockchain/2018-09-24/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/bin/botocore/data/managedblockchain/2018-09-24/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/bin/botocore/data/managedblockchain/2018-09-24/service-2.json b/bin/botocore/data/managedblockchain/2018-09-24/service-2.json new file mode 100644 index 00000000..36523922 --- /dev/null +++ b/bin/botocore/data/managedblockchain/2018-09-24/service-2.json @@ -0,0 +1,1863 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-09-24", + "endpointPrefix":"managedblockchain", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"ManagedBlockchain", + "serviceFullName":"Amazon Managed Blockchain", + "serviceId":"ManagedBlockchain", + "signatureVersion":"v4", + "signingName":"managedblockchain", + "uid":"managedblockchain-2018-09-24" + }, + "operations":{ + "CreateMember":{ + "name":"CreateMember", + "http":{ + "method":"POST", + "requestUri":"/networks/{networkId}/members" + }, + "input":{"shape":"CreateMemberInput"}, + "output":{"shape":"CreateMemberOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotReadyException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Creates a member within a Managed Blockchain network.

" + }, + "CreateNetwork":{ + "name":"CreateNetwork", + "http":{ + "method":"POST", + "requestUri":"/networks" + }, + "input":{"shape":"CreateNetworkInput"}, + "output":{"shape":"CreateNetworkOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Creates a new blockchain network using Amazon Managed Blockchain.

" + }, + "CreateNode":{ + "name":"CreateNode", + "http":{ + "method":"POST", + "requestUri":"/networks/{networkId}/members/{memberId}/nodes" + }, + "input":{"shape":"CreateNodeInput"}, + "output":{"shape":"CreateNodeOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotReadyException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Creates a peer node in a member.

" + }, + "CreateProposal":{ + "name":"CreateProposal", + "http":{ + "method":"POST", + "requestUri":"/networks/{networkId}/proposals" + }, + "input":{"shape":"CreateProposalInput"}, + "output":{"shape":"CreateProposalOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceNotReadyException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Creates a proposal for a change to the network that other members of the network can vote on, for example, a proposal to add a new member to the network. Any member can create a proposal.

" + }, + "DeleteMember":{ + "name":"DeleteMember", + "http":{ + "method":"DELETE", + "requestUri":"/networks/{networkId}/members/{memberId}" + }, + "input":{"shape":"DeleteMemberInput"}, + "output":{"shape":"DeleteMemberOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceNotReadyException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Deletes a member. Deleting a member removes the member and all associated resources from the network. DeleteMember can only be called for a specified MemberId if the principal performing the action is associated with the AWS account that owns the member. In all other cases, the DeleteMember action is carried out as the result of an approved proposal to remove a member. If MemberId is the last member in a network specified by the last AWS account, the network is deleted also.

" + }, + "DeleteNode":{ + "name":"DeleteNode", + "http":{ + "method":"DELETE", + "requestUri":"/networks/{networkId}/members/{memberId}/nodes/{nodeId}" + }, + "input":{"shape":"DeleteNodeInput"}, + "output":{"shape":"DeleteNodeOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceNotReadyException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Deletes a peer node from a member that your AWS account owns. All data on the node is lost and cannot be recovered.

" + }, + "GetMember":{ + "name":"GetMember", + "http":{ + "method":"GET", + "requestUri":"/networks/{networkId}/members/{memberId}" + }, + "input":{"shape":"GetMemberInput"}, + "output":{"shape":"GetMemberOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Returns detailed information about a member.

" + }, + "GetNetwork":{ + "name":"GetNetwork", + "http":{ + "method":"GET", + "requestUri":"/networks/{networkId}" + }, + "input":{"shape":"GetNetworkInput"}, + "output":{"shape":"GetNetworkOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Returns detailed information about a network.

" + }, + "GetNode":{ + "name":"GetNode", + "http":{ + "method":"GET", + "requestUri":"/networks/{networkId}/members/{memberId}/nodes/{nodeId}" + }, + "input":{"shape":"GetNodeInput"}, + "output":{"shape":"GetNodeOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Returns detailed information about a peer node.

" + }, + "GetProposal":{ + "name":"GetProposal", + "http":{ + "method":"GET", + "requestUri":"/networks/{networkId}/proposals/{proposalId}" + }, + "input":{"shape":"GetProposalInput"}, + "output":{"shape":"GetProposalOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Returns detailed information about a proposal.

" + }, + "ListInvitations":{ + "name":"ListInvitations", + "http":{ + "method":"GET", + "requestUri":"/invitations" + }, + "input":{"shape":"ListInvitationsInput"}, + "output":{"shape":"ListInvitationsOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Returns a listing of all invitations made on the specified network.

" + }, + "ListMembers":{ + "name":"ListMembers", + "http":{ + "method":"GET", + "requestUri":"/networks/{networkId}/members" + }, + "input":{"shape":"ListMembersInput"}, + "output":{"shape":"ListMembersOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Returns a listing of the members in a network and properties of their configurations.

" + }, + "ListNetworks":{ + "name":"ListNetworks", + "http":{ + "method":"GET", + "requestUri":"/networks" + }, + "input":{"shape":"ListNetworksInput"}, + "output":{"shape":"ListNetworksOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Returns information about the networks in which the current AWS account has members.

" + }, + "ListNodes":{ + "name":"ListNodes", + "http":{ + "method":"GET", + "requestUri":"/networks/{networkId}/members/{memberId}/nodes" + }, + "input":{"shape":"ListNodesInput"}, + "output":{"shape":"ListNodesOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Returns information about the nodes within a network.

" + }, + "ListProposalVotes":{ + "name":"ListProposalVotes", + "http":{ + "method":"GET", + "requestUri":"/networks/{networkId}/proposals/{proposalId}/votes" + }, + "input":{"shape":"ListProposalVotesInput"}, + "output":{"shape":"ListProposalVotesOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Returns the listing of votes for a specified proposal, including the value of each vote and the unique identifier of the member that cast the vote.

" + }, + "ListProposals":{ + "name":"ListProposals", + "http":{ + "method":"GET", + "requestUri":"/networks/{networkId}/proposals" + }, + "input":{"shape":"ListProposalsInput"}, + "output":{"shape":"ListProposalsOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Returns a listing of proposals for the network.

" + }, + "RejectInvitation":{ + "name":"RejectInvitation", + "http":{ + "method":"DELETE", + "requestUri":"/invitations/{invitationId}" + }, + "input":{"shape":"RejectInvitationInput"}, + "output":{"shape":"RejectInvitationOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"IllegalActionException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Rejects an invitation to join a network. This action can be called by a principal in an AWS account that has received an invitation to create a member and join a network.

" + }, + "VoteOnProposal":{ + "name":"VoteOnProposal", + "http":{ + "method":"POST", + "requestUri":"/networks/{networkId}/proposals/{proposalId}/votes" + }, + "input":{"shape":"VoteOnProposalInput"}, + "output":{"shape":"VoteOnProposalOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"IllegalActionException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Casts a vote for a specified ProposalId on behalf of a member. The member to vote as, specified by VoterMemberId, must be in the same AWS account as the principal that calls the action.

" + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You do not have sufficient access to perform this action.

", + "error":{"httpStatusCode":403}, + "exception":true + }, + "ApprovalThresholdPolicy":{ + "type":"structure", + "members":{ + "ThresholdPercentage":{ + "shape":"ThresholdPercentageInt", + "documentation":"

The percentage of votes among all members that must be YES for a proposal to be approved. For example, a ThresholdPercentage value of 50 indicates 50%. The ThresholdComparator determines the precise comparison. If a ThresholdPercentage value of 50 is specified on a network with 10 members, along with a ThresholdComparator value of GREATER_THAN, this indicates that 6 YES votes are required for the proposal to be approved.

" + }, + "ProposalDurationInHours":{ + "shape":"ProposalDurationInt", + "documentation":"

The duration from the time that a proposal is created until it expires. If members cast neither the required number of YES votes to approve the proposal nor the number of NO votes required to reject it before the duration expires, the proposal is EXPIRED and ProposalActions are not carried out.

" + }, + "ThresholdComparator":{ + "shape":"ThresholdComparator", + "documentation":"

Determines whether the vote percentage must be greater than the ThresholdPercentage or must be greater than or equal to the ThreholdPercentage to be approved.

" + } + }, + "documentation":"

A policy type that defines the voting rules for the network. The rules decide if a proposal is approved. Approval may be based on criteria such as the percentage of YES votes and the duration of the proposal. The policy applies to all proposals and is specified when the network is created.

" + }, + "AvailabilityZoneString":{"type":"string"}, + "ClientRequestTokenString":{ + "type":"string", + "max":64, + "min":1 + }, + "CreateMemberInput":{ + "type":"structure", + "required":[ + "ClientRequestToken", + "InvitationId", + "NetworkId", + "MemberConfiguration" + ], + "members":{ + "ClientRequestToken":{ + "shape":"ClientRequestTokenString", + "documentation":"

A unique, case-sensitive identifier that you provide to ensure the idempotency of the operation. An idempotent operation completes no more than one time. This identifier is required only if you make a service request directly using an HTTP client. It is generated automatically if you use an AWS SDK or the AWS CLI.

", + "idempotencyToken":true + }, + "InvitationId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the invitation that is sent to the member to join the network.

" + }, + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network in which the member is created.

", + "location":"uri", + "locationName":"networkId" + }, + "MemberConfiguration":{ + "shape":"MemberConfiguration", + "documentation":"

Member configuration parameters.

" + } + } + }, + "CreateMemberOutput":{ + "type":"structure", + "members":{ + "MemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member.

" + } + } + }, + "CreateNetworkInput":{ + "type":"structure", + "required":[ + "ClientRequestToken", + "Name", + "Framework", + "FrameworkVersion", + "VotingPolicy", + "MemberConfiguration" + ], + "members":{ + "ClientRequestToken":{ + "shape":"ClientRequestTokenString", + "documentation":"

A unique, case-sensitive identifier that you provide to ensure the idempotency of the operation. An idempotent operation completes no more than one time. This identifier is required only if you make a service request directly using an HTTP client. It is generated automatically if you use an AWS SDK or the AWS CLI.

", + "idempotencyToken":true + }, + "Name":{ + "shape":"NameString", + "documentation":"

The name of the network.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

An optional description for the network.

" + }, + "Framework":{ + "shape":"Framework", + "documentation":"

The blockchain framework that the network uses.

" + }, + "FrameworkVersion":{ + "shape":"FrameworkVersionString", + "documentation":"

The version of the blockchain framework that the network uses.

" + }, + "FrameworkConfiguration":{ + "shape":"NetworkFrameworkConfiguration", + "documentation":"

Configuration properties of the blockchain framework relevant to the network configuration.

" + }, + "VotingPolicy":{ + "shape":"VotingPolicy", + "documentation":"

The voting rules used by the network to determine if a proposal is approved.

" + }, + "MemberConfiguration":{ + "shape":"MemberConfiguration", + "documentation":"

Configuration properties for the first member within the network.

" + } + } + }, + "CreateNetworkOutput":{ + "type":"structure", + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier for the network.

" + }, + "MemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier for the first member within the network.

" + } + } + }, + "CreateNodeInput":{ + "type":"structure", + "required":[ + "ClientRequestToken", + "NetworkId", + "MemberId", + "NodeConfiguration" + ], + "members":{ + "ClientRequestToken":{ + "shape":"ClientRequestTokenString", + "documentation":"

A unique, case-sensitive identifier that you provide to ensure the idempotency of the operation. An idempotent operation completes no more than one time. This identifier is required only if you make a service request directly using an HTTP client. It is generated automatically if you use an AWS SDK or the AWS CLI.

", + "idempotencyToken":true + }, + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network in which this node runs.

", + "location":"uri", + "locationName":"networkId" + }, + "MemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member that owns this node.

", + "location":"uri", + "locationName":"memberId" + }, + "NodeConfiguration":{ + "shape":"NodeConfiguration", + "documentation":"

The properties of a node configuration.

" + } + } + }, + "CreateNodeOutput":{ + "type":"structure", + "members":{ + "NodeId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the node.

" + } + } + }, + "CreateProposalInput":{ + "type":"structure", + "required":[ + "ClientRequestToken", + "NetworkId", + "MemberId", + "Actions" + ], + "members":{ + "ClientRequestToken":{ + "shape":"ClientRequestTokenString", + "documentation":"

A unique, case-sensitive identifier that you provide to ensure the idempotency of the operation. An idempotent operation completes no more than one time. This identifier is required only if you make a service request directly using an HTTP client. It is generated automatically if you use an AWS SDK or the AWS CLI.

", + "idempotencyToken":true + }, + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network for which the proposal is made.

", + "location":"uri", + "locationName":"networkId" + }, + "MemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member that is creating the proposal. This identifier is especially useful for identifying the member making the proposal when multiple members exist in a single AWS account.

" + }, + "Actions":{ + "shape":"ProposalActions", + "documentation":"

The type of actions proposed, such as inviting a member or removing a member. The types of Actions in a proposal are mutually exclusive. For example, a proposal with Invitations actions cannot also contain Removals actions.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

A description for the proposal that is visible to voting members, for example, \"Proposal to add Example Corp. as member.\"

" + } + } + }, + "CreateProposalOutput":{ + "type":"structure", + "members":{ + "ProposalId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the proposal.

" + } + } + }, + "DeleteMemberInput":{ + "type":"structure", + "required":[ + "NetworkId", + "MemberId" + ], + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network from which the member is removed.

", + "location":"uri", + "locationName":"networkId" + }, + "MemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member to remove.

", + "location":"uri", + "locationName":"memberId" + } + } + }, + "DeleteMemberOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteNodeInput":{ + "type":"structure", + "required":[ + "NetworkId", + "MemberId", + "NodeId" + ], + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network that the node belongs to.

", + "location":"uri", + "locationName":"networkId" + }, + "MemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member that owns this node.

", + "location":"uri", + "locationName":"memberId" + }, + "NodeId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the node.

", + "location":"uri", + "locationName":"nodeId" + } + } + }, + "DeleteNodeOutput":{ + "type":"structure", + "members":{ + } + }, + "DescriptionString":{ + "type":"string", + "max":128 + }, + "Edition":{ + "type":"string", + "enum":[ + "STARTER", + "STANDARD" + ] + }, + "Framework":{ + "type":"string", + "enum":["HYPERLEDGER_FABRIC"] + }, + "FrameworkVersionString":{ + "type":"string", + "max":8, + "min":1 + }, + "GetMemberInput":{ + "type":"structure", + "required":[ + "NetworkId", + "MemberId" + ], + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network to which the member belongs.

", + "location":"uri", + "locationName":"networkId" + }, + "MemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member.

", + "location":"uri", + "locationName":"memberId" + } + } + }, + "GetMemberOutput":{ + "type":"structure", + "members":{ + "Member":{ + "shape":"Member", + "documentation":"

The properties of a member.

" + } + } + }, + "GetNetworkInput":{ + "type":"structure", + "required":["NetworkId"], + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network to get information about.

", + "location":"uri", + "locationName":"networkId" + } + } + }, + "GetNetworkOutput":{ + "type":"structure", + "members":{ + "Network":{ + "shape":"Network", + "documentation":"

An object containing network configuration parameters.

" + } + } + }, + "GetNodeInput":{ + "type":"structure", + "required":[ + "NetworkId", + "MemberId", + "NodeId" + ], + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network to which the node belongs.

", + "location":"uri", + "locationName":"networkId" + }, + "MemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member that owns the node.

", + "location":"uri", + "locationName":"memberId" + }, + "NodeId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the node.

", + "location":"uri", + "locationName":"nodeId" + } + } + }, + "GetNodeOutput":{ + "type":"structure", + "members":{ + "Node":{ + "shape":"Node", + "documentation":"

Properties of the node configuration.

" + } + } + }, + "GetProposalInput":{ + "type":"structure", + "required":[ + "NetworkId", + "ProposalId" + ], + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network for which the proposal is made.

", + "location":"uri", + "locationName":"networkId" + }, + "ProposalId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the proposal.

", + "location":"uri", + "locationName":"proposalId" + } + } + }, + "GetProposalOutput":{ + "type":"structure", + "members":{ + "Proposal":{ + "shape":"Proposal", + "documentation":"

Information about a proposal.

" + } + } + }, + "IllegalActionException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InstanceTypeString":{"type":"string"}, + "InternalServiceErrorException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The request processing has failed because of an unknown error, exception or failure.

", + "error":{"httpStatusCode":500}, + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The action or operation requested is invalid. Verify that the action is typed correctly.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Invitation":{ + "type":"structure", + "members":{ + "InvitationId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier for the invitation.

" + }, + "CreationDate":{ + "shape":"Timestamp", + "documentation":"

The date and time that the invitation was created.

" + }, + "ExpirationDate":{ + "shape":"Timestamp", + "documentation":"

The date and time that the invitation expires. This is the CreationDate plus the ProposalDurationInHours that is specified in the ProposalThresholdPolicy. After this date and time, the invitee can no longer create a member and join the network using this InvitationId.

" + }, + "Status":{ + "shape":"InvitationStatus", + "documentation":"

The status of the invitation:

  • PENDING - The invitee has not created a member to join the network, and the invitation has not yet expired.

  • ACCEPTING - The invitee has begun creating a member, and creation has not yet completed.

  • ACCEPTED - The invitee created a member and joined the network using the InvitationID.

  • REJECTED - The invitee rejected the invitation.

  • EXPIRED - The invitee neither created a member nor rejected the invitation before the ExpirationDate.

" + }, + "NetworkSummary":{"shape":"NetworkSummary"} + }, + "documentation":"

An invitation to an AWS account to create a member and join the network.

" + }, + "InvitationList":{ + "type":"list", + "member":{"shape":"Invitation"} + }, + "InvitationStatus":{ + "type":"string", + "enum":[ + "PENDING", + "ACCEPTED", + "ACCEPTING", + "REJECTED", + "EXPIRED" + ] + }, + "InviteAction":{ + "type":"structure", + "required":["Principal"], + "members":{ + "Principal":{ + "shape":"PrincipalString", + "documentation":"

The AWS account ID to invite.

" + } + }, + "documentation":"

An action to invite a specific AWS account to create a member and join the network. The InviteAction is carried out when a Proposal is APPROVED.

" + }, + "InviteActionList":{ + "type":"list", + "member":{"shape":"InviteAction"} + }, + "IsOwned":{ + "type":"boolean", + "box":true + }, + "ListInvitationsInput":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"ProposalListMaxResults", + "documentation":"

The maximum number of invitations to return.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListInvitationsOutput":{ + "type":"structure", + "members":{ + "Invitations":{ + "shape":"InvitationList", + "documentation":"

The invitations for the network.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

" + } + } + }, + "ListMembersInput":{ + "type":"structure", + "required":["NetworkId"], + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network for which to list members.

", + "location":"uri", + "locationName":"networkId" + }, + "Name":{ + "shape":"String", + "documentation":"

The optional name of the member to list.

", + "location":"querystring", + "locationName":"name" + }, + "Status":{ + "shape":"MemberStatus", + "documentation":"

An optional status specifier. If provided, only members currently in this status are listed.

", + "location":"querystring", + "locationName":"status" + }, + "IsOwned":{ + "shape":"IsOwned", + "documentation":"

An optional Boolean value. If provided, the request is limited either to members that the current AWS account owns (true) or that other AWS accounts own (false). If omitted, all members are listed.

", + "location":"querystring", + "locationName":"isOwned" + }, + "MaxResults":{ + "shape":"MemberListMaxResults", + "documentation":"

The maximum number of members to return in the request.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListMembersOutput":{ + "type":"structure", + "members":{ + "Members":{ + "shape":"MemberSummaryList", + "documentation":"

An array of MemberSummary objects. Each object contains details about a network member.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

" + } + } + }, + "ListNetworksInput":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the network.

", + "location":"querystring", + "locationName":"name" + }, + "Framework":{ + "shape":"Framework", + "documentation":"

An optional framework specifier. If provided, only networks of this framework type are listed.

", + "location":"querystring", + "locationName":"framework" + }, + "Status":{ + "shape":"NetworkStatus", + "documentation":"

An optional status specifier. If provided, only networks currently in this status are listed.

", + "location":"querystring", + "locationName":"status" + }, + "MaxResults":{ + "shape":"NetworkListMaxResults", + "documentation":"

The maximum number of networks to list.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListNetworksOutput":{ + "type":"structure", + "members":{ + "Networks":{ + "shape":"NetworkSummaryList", + "documentation":"

An array of NetworkSummary objects that contain configuration properties for each network.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

" + } + } + }, + "ListNodesInput":{ + "type":"structure", + "required":[ + "NetworkId", + "MemberId" + ], + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network for which to list nodes.

", + "location":"uri", + "locationName":"networkId" + }, + "MemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member who owns the nodes to list.

", + "location":"uri", + "locationName":"memberId" + }, + "Status":{ + "shape":"NodeStatus", + "documentation":"

An optional status specifier. If provided, only nodes currently in this status are listed.

", + "location":"querystring", + "locationName":"status" + }, + "MaxResults":{ + "shape":"NodeListMaxResults", + "documentation":"

The maximum number of nodes to list.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListNodesOutput":{ + "type":"structure", + "members":{ + "Nodes":{ + "shape":"NodeSummaryList", + "documentation":"

An array of NodeSummary objects that contain configuration properties for each node.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

" + } + } + }, + "ListProposalVotesInput":{ + "type":"structure", + "required":[ + "NetworkId", + "ProposalId" + ], + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network.

", + "location":"uri", + "locationName":"networkId" + }, + "ProposalId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the proposal.

", + "location":"uri", + "locationName":"proposalId" + }, + "MaxResults":{ + "shape":"ProposalListMaxResults", + "documentation":"

The maximum number of votes to return.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListProposalVotesOutput":{ + "type":"structure", + "members":{ + "ProposalVotes":{ + "shape":"ProposalVoteList", + "documentation":"

The listing of votes.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

" + } + } + }, + "ListProposalsInput":{ + "type":"structure", + "required":["NetworkId"], + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network.

", + "location":"uri", + "locationName":"networkId" + }, + "MaxResults":{ + "shape":"ProposalListMaxResults", + "documentation":"

The maximum number of proposals to return.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListProposalsOutput":{ + "type":"structure", + "members":{ + "Proposals":{ + "shape":"ProposalSummaryList", + "documentation":"

The summary of each proposal made on the network.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

" + } + } + }, + "Member":{ + "type":"structure", + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network to which the member belongs.

" + }, + "Id":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member.

" + }, + "Name":{ + "shape":"NetworkMemberNameString", + "documentation":"

The name of the member.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

An optional description for the member.

" + }, + "FrameworkAttributes":{ + "shape":"MemberFrameworkAttributes", + "documentation":"

Attributes relevant to a member for the blockchain framework that the Managed Blockchain network uses.

" + }, + "Status":{ + "shape":"MemberStatus", + "documentation":"

The status of a member.

  • CREATING - The AWS account is in the process of creating a member.

  • AVAILABLE - The member has been created and can participate in the network.

  • CREATE_FAILED - The AWS account attempted to create a member and creation failed.

  • DELETING - The member and all associated resources are in the process of being deleted. Either the AWS account that owns the member deleted it, or the member is being deleted as the result of an APPROVED PROPOSAL to remove the member.

  • DELETED - The member can no longer participate on the network and all associated resources are deleted. Either the AWS account that owns the member deleted it, or the member is being deleted as the result of an APPROVED PROPOSAL to remove the member.

" + }, + "CreationDate":{ + "shape":"Timestamp", + "documentation":"

The date and time that the member was created.

" + } + }, + "documentation":"

Member configuration properties.

" + }, + "MemberConfiguration":{ + "type":"structure", + "required":[ + "Name", + "FrameworkConfiguration" + ], + "members":{ + "Name":{ + "shape":"NetworkMemberNameString", + "documentation":"

The name of the member.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

An optional description of the member.

" + }, + "FrameworkConfiguration":{ + "shape":"MemberFrameworkConfiguration", + "documentation":"

Configuration properties of the blockchain framework relevant to the member.

" + } + }, + "documentation":"

Configuration properties of the member.

" + }, + "MemberFabricAttributes":{ + "type":"structure", + "members":{ + "AdminUsername":{ + "shape":"UsernameString", + "documentation":"

The user name for the initial administrator user for the member.

" + }, + "CaEndpoint":{ + "shape":"String", + "documentation":"

The endpoint used to access the member's certificate authority.

" + } + }, + "documentation":"

Attributes of Hyperledger Fabric for a member in a Managed Blockchain network using the Hyperledger Fabric framework.

" + }, + "MemberFabricConfiguration":{ + "type":"structure", + "required":[ + "AdminUsername", + "AdminPassword" + ], + "members":{ + "AdminUsername":{ + "shape":"UsernameString", + "documentation":"

The user name for the member's initial administrative user.

" + }, + "AdminPassword":{ + "shape":"PasswordString", + "documentation":"

The password for the member's initial administrative user. The AdminPassword must be at least eight characters long and no more than 32 characters. It must contain at least one uppercase letter, one lowercase letter, and one digit. It cannot have a single quote(‘), double quote(“), forward slash(/), backward slash(\\), @, or a space.

" + } + }, + "documentation":"

Configuration properties for Hyperledger Fabric for a member in a Managed Blockchain network using the Hyperledger Fabric framework.

" + }, + "MemberFrameworkAttributes":{ + "type":"structure", + "members":{ + "Fabric":{ + "shape":"MemberFabricAttributes", + "documentation":"

Attributes of Hyperledger Fabric relevant to a member on a Managed Blockchain network that uses Hyperledger Fabric.

" + } + }, + "documentation":"

Attributes relevant to a member for the blockchain framework that the Managed Blockchain network uses.

" + }, + "MemberFrameworkConfiguration":{ + "type":"structure", + "members":{ + "Fabric":{ + "shape":"MemberFabricConfiguration", + "documentation":"

Attributes of Hyperledger Fabric for a member on a Managed Blockchain network that uses Hyperledger Fabric.

" + } + }, + "documentation":"

Configuration properties relevant to a member for the blockchain framework that the Managed Blockchain network uses.

" + }, + "MemberListMaxResults":{ + "type":"integer", + "box":true, + "max":20, + "min":1 + }, + "MemberStatus":{ + "type":"string", + "enum":[ + "CREATING", + "AVAILABLE", + "CREATE_FAILED", + "DELETING", + "DELETED" + ] + }, + "MemberSummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member.

" + }, + "Name":{ + "shape":"NetworkMemberNameString", + "documentation":"

The name of the member.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

An optional description of the member.

" + }, + "Status":{ + "shape":"MemberStatus", + "documentation":"

The status of the member.

  • CREATING - The AWS account is in the process of creating a member.

  • AVAILABLE - The member has been created and can participate in the network.

  • CREATE_FAILED - The AWS account attempted to create a member and creation failed.

  • DELETING - The member and all associated resources are in the process of being deleted. Either the AWS account that owns the member deleted it, or the member is being deleted as the result of an APPROVED PROPOSAL to remove the member.

  • DELETED - The member can no longer participate on the network and all associated resources are deleted. Either the AWS account that owns the member deleted it, or the member is being deleted as the result of an APPROVED PROPOSAL to remove the member.

" + }, + "CreationDate":{ + "shape":"Timestamp", + "documentation":"

The date and time that the member was created.

" + }, + "IsOwned":{ + "shape":"IsOwned", + "documentation":"

An indicator of whether the member is owned by your AWS account or a different AWS account.

" + } + }, + "documentation":"

A summary of configuration properties for a member.

" + }, + "MemberSummaryList":{ + "type":"list", + "member":{"shape":"MemberSummary"} + }, + "NameString":{ + "type":"string", + "max":64, + "min":1, + "pattern":".*\\S.*" + }, + "Network":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network.

" + }, + "Name":{ + "shape":"NameString", + "documentation":"

The name of the network.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

Attributes of the blockchain framework for the network.

" + }, + "Framework":{ + "shape":"Framework", + "documentation":"

The blockchain framework that the network uses.

" + }, + "FrameworkVersion":{ + "shape":"FrameworkVersionString", + "documentation":"

The version of the blockchain framework that the network uses.

" + }, + "FrameworkAttributes":{ + "shape":"NetworkFrameworkAttributes", + "documentation":"

Attributes of the blockchain framework that the network uses.

" + }, + "VpcEndpointServiceName":{ + "shape":"String", + "documentation":"

The VPC endpoint service name of the VPC endpoint service of the network. Members use the VPC endpoint service name to create a VPC endpoint to access network resources.

" + }, + "VotingPolicy":{ + "shape":"VotingPolicy", + "documentation":"

The voting rules for the network to decide if a proposal is accepted.

" + }, + "Status":{ + "shape":"NetworkStatus", + "documentation":"

The current status of the network.

" + }, + "CreationDate":{ + "shape":"Timestamp", + "documentation":"

The date and time that the network was created.

" + } + }, + "documentation":"

Network configuration properties.

" + }, + "NetworkFabricAttributes":{ + "type":"structure", + "members":{ + "OrderingServiceEndpoint":{ + "shape":"String", + "documentation":"

The endpoint of the ordering service for the network.

" + }, + "Edition":{ + "shape":"Edition", + "documentation":"

The edition of Amazon Managed Blockchain that Hyperledger Fabric uses. For more information, see Amazon Managed Blockchain Pricing.

" + } + }, + "documentation":"

Attributes of Hyperledger Fabric for a network.

" + }, + "NetworkFabricConfiguration":{ + "type":"structure", + "required":["Edition"], + "members":{ + "Edition":{ + "shape":"Edition", + "documentation":"

The edition of Amazon Managed Blockchain that the network uses. For more information, see Amazon Managed Blockchain Pricing.

" + } + }, + "documentation":"

Hyperledger Fabric configuration properties for the network.

" + }, + "NetworkFrameworkAttributes":{ + "type":"structure", + "members":{ + "Fabric":{ + "shape":"NetworkFabricAttributes", + "documentation":"

Attributes of Hyperledger Fabric for a Managed Blockchain network that uses Hyperledger Fabric.

" + } + }, + "documentation":"

Attributes relevant to the network for the blockchain framework that the network uses.

" + }, + "NetworkFrameworkConfiguration":{ + "type":"structure", + "members":{ + "Fabric":{ + "shape":"NetworkFabricConfiguration", + "documentation":"

Hyperledger Fabric configuration properties for a Managed Blockchain network that uses Hyperledger Fabric.

" + } + }, + "documentation":"

Configuration properties relevant to the network for the blockchain framework that the network uses.

" + }, + "NetworkListMaxResults":{ + "type":"integer", + "box":true, + "max":10, + "min":1 + }, + "NetworkMemberNameString":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^(?!-)^[^0-9](?!.*--)[A-Za-z0-9-]+[^- ]$" + }, + "NetworkStatus":{ + "type":"string", + "enum":[ + "CREATING", + "AVAILABLE", + "CREATE_FAILED", + "DELETING", + "DELETED" + ] + }, + "NetworkSummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network.

" + }, + "Name":{ + "shape":"NameString", + "documentation":"

The name of the network.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

An optional description of the network.

" + }, + "Framework":{ + "shape":"Framework", + "documentation":"

The blockchain framework that the network uses.

" + }, + "FrameworkVersion":{ + "shape":"FrameworkVersionString", + "documentation":"

The version of the blockchain framework that the network uses.

" + }, + "Status":{ + "shape":"NetworkStatus", + "documentation":"

The current status of the network.

" + }, + "CreationDate":{ + "shape":"Timestamp", + "documentation":"

The date and time that the network was created.

" + } + }, + "documentation":"

A summary of network configuration properties.

" + }, + "NetworkSummaryList":{ + "type":"list", + "member":{"shape":"NetworkSummary"} + }, + "Node":{ + "type":"structure", + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network that the node is in.

" + }, + "MemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member to which the node belongs.

" + }, + "Id":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the node.

" + }, + "InstanceType":{ + "shape":"InstanceTypeString", + "documentation":"

The instance type of the node.

" + }, + "AvailabilityZone":{ + "shape":"AvailabilityZoneString", + "documentation":"

The Availability Zone in which the node exists.

" + }, + "FrameworkAttributes":{ + "shape":"NodeFrameworkAttributes", + "documentation":"

Attributes of the blockchain framework being used.

" + }, + "Status":{ + "shape":"NodeStatus", + "documentation":"

The status of the node.

" + }, + "CreationDate":{ + "shape":"Timestamp", + "documentation":"

The date and time that the node was created.

" + } + }, + "documentation":"

Configuration properties of a peer node.

" + }, + "NodeConfiguration":{ + "type":"structure", + "required":[ + "InstanceType", + "AvailabilityZone" + ], + "members":{ + "InstanceType":{ + "shape":"InstanceTypeString", + "documentation":"

The Amazon Managed Blockchain instance type for the node.

" + }, + "AvailabilityZone":{ + "shape":"AvailabilityZoneString", + "documentation":"

The Availability Zone in which the node exists.

" + } + }, + "documentation":"

Configuration properties of a peer node.

" + }, + "NodeFabricAttributes":{ + "type":"structure", + "members":{ + "PeerEndpoint":{ + "shape":"String", + "documentation":"

The endpoint that identifies the peer node for all services except peer channel-based event services.

" + }, + "PeerEventEndpoint":{ + "shape":"String", + "documentation":"

The endpoint that identifies the peer node for peer channel-based event services.

" + } + }, + "documentation":"

Attributes of Hyperledger Fabric for a peer node on a Managed Blockchain network that uses Hyperledger Fabric.

" + }, + "NodeFrameworkAttributes":{ + "type":"structure", + "members":{ + "Fabric":{ + "shape":"NodeFabricAttributes", + "documentation":"

Attributes of Hyperledger Fabric for a peer node on a Managed Blockchain network that uses Hyperledger Fabric.

" + } + }, + "documentation":"

Attributes relevant to a peer node on a Managed Blockchain network for the blockchain framework that the network uses.

" + }, + "NodeListMaxResults":{ + "type":"integer", + "box":true, + "max":20, + "min":1 + }, + "NodeStatus":{ + "type":"string", + "enum":[ + "CREATING", + "AVAILABLE", + "CREATE_FAILED", + "DELETING", + "DELETED", + "FAILED" + ] + }, + "NodeSummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the node.

" + }, + "Status":{ + "shape":"NodeStatus", + "documentation":"

The status of the node.

" + }, + "CreationDate":{ + "shape":"Timestamp", + "documentation":"

The date and time that the node was created.

" + }, + "AvailabilityZone":{ + "shape":"AvailabilityZoneString", + "documentation":"

The Availability Zone in which the node exists.

" + }, + "InstanceType":{ + "shape":"InstanceTypeString", + "documentation":"

The EC2 instance type for the node.

" + } + }, + "documentation":"

A summary of configuration properties for a peer node.

" + }, + "NodeSummaryList":{ + "type":"list", + "member":{"shape":"NodeSummary"} + }, + "PaginationToken":{ + "type":"string", + "max":128 + }, + "PasswordString":{ + "type":"string", + "max":32, + "min":8, + "pattern":"^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?!.*[@'\\\\\"/])[a-zA-Z0-9\\S]*$", + "sensitive":true + }, + "PrincipalString":{"type":"string"}, + "Proposal":{ + "type":"structure", + "members":{ + "ProposalId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the proposal.

" + }, + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network for which the proposal is made.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

The description of the proposal.

" + }, + "Actions":{ + "shape":"ProposalActions", + "documentation":"

The actions to perform on the network if the proposal is APPROVED.

" + }, + "ProposedByMemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member that created the proposal.

" + }, + "ProposedByMemberName":{ + "shape":"NetworkMemberNameString", + "documentation":"

The name of the member that created the proposal.

" + }, + "Status":{ + "shape":"ProposalStatus", + "documentation":"

The status of the proposal. Values are as follows:

  • IN_PROGRESS - The proposal is active and open for member voting.

  • APPROVED - The proposal was approved with sufficient YES votes among members according to the VotingPolicy specified for the Network. The specified proposal actions are carried out.

  • REJECTED - The proposal was rejected with insufficient YES votes among members according to the VotingPolicy specified for the Network. The specified ProposalActions are not carried out.

  • EXPIRED - Members did not cast the number of votes required to determine the proposal outcome before the proposal expired. The specified ProposalActions are not carried out.

  • ACTION_FAILED - One or more of the specified ProposalActions in a proposal that was approved could not be completed because of an error.

" + }, + "CreationDate":{ + "shape":"Timestamp", + "documentation":"

The date and time that the proposal was created.

" + }, + "ExpirationDate":{ + "shape":"Timestamp", + "documentation":"

The date and time that the proposal expires. This is the CreationDate plus the ProposalDurationInHours that is specified in the ProposalThresholdPolicy. After this date and time, if members have not cast enough votes to determine the outcome according to the voting policy, the proposal is EXPIRED and Actions are not carried out.

" + }, + "YesVoteCount":{ + "shape":"VoteCount", + "documentation":"

The current total of YES votes cast on the proposal by members.

" + }, + "NoVoteCount":{ + "shape":"VoteCount", + "documentation":"

The current total of NO votes cast on the proposal by members.

" + }, + "OutstandingVoteCount":{ + "shape":"VoteCount", + "documentation":"

The number of votes remaining to be cast on the proposal by members. In other words, the number of members minus the sum of YES votes and NO votes.

" + } + }, + "documentation":"

Properties of a proposal on a Managed Blockchain network.

" + }, + "ProposalActions":{ + "type":"structure", + "members":{ + "Invitations":{ + "shape":"InviteActionList", + "documentation":"

The actions to perform for an APPROVED proposal to invite an AWS account to create a member and join the network.

" + }, + "Removals":{ + "shape":"RemoveActionList", + "documentation":"

The actions to perform for an APPROVED proposal to remove a member from the network, which deletes the member and all associated member resources from the network.

" + } + }, + "documentation":"

The actions to carry out if a proposal is APPROVED.

" + }, + "ProposalDurationInt":{ + "type":"integer", + "box":true, + "max":168, + "min":1 + }, + "ProposalListMaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "ProposalStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "APPROVED", + "REJECTED", + "EXPIRED", + "ACTION_FAILED" + ] + }, + "ProposalSummary":{ + "type":"structure", + "members":{ + "ProposalId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the proposal.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

The description of the proposal.

" + }, + "ProposedByMemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member that created the proposal.

" + }, + "ProposedByMemberName":{ + "shape":"NetworkMemberNameString", + "documentation":"

The name of the member that created the proposal.

" + }, + "Status":{ + "shape":"ProposalStatus", + "documentation":"

The status of the proposal. Values are as follows:

  • IN_PROGRESS - The proposal is active and open for member voting.

  • APPROVED - The proposal was approved with sufficient YES votes among members according to the VotingPolicy specified for the Network. The specified proposal actions are carried out.

  • REJECTED - The proposal was rejected with insufficient YES votes among members according to the VotingPolicy specified for the Network. The specified ProposalActions are not carried out.

  • EXPIRED - Members did not cast the number of votes required to determine the proposal outcome before the proposal expired. The specified ProposalActions are not carried out.

  • ACTION_FAILED - One or more of the specified ProposalActions in a proposal that was approved could not be completed because of an error.

" + }, + "CreationDate":{ + "shape":"Timestamp", + "documentation":"

The date and time that the proposal was created.

" + }, + "ExpirationDate":{ + "shape":"Timestamp", + "documentation":"

The date and time that the proposal expires. This is the CreationDate plus the ProposalDurationInHours that is specified in the ProposalThresholdPolicy. After this date and time, if members have not cast enough votes to determine the outcome according to the voting policy, the proposal is EXPIRED and Actions are not carried out.

" + } + }, + "documentation":"

Properties of a proposal.

" + }, + "ProposalSummaryList":{ + "type":"list", + "member":{"shape":"ProposalSummary"} + }, + "ProposalVoteList":{ + "type":"list", + "member":{"shape":"VoteSummary"} + }, + "RejectInvitationInput":{ + "type":"structure", + "required":["InvitationId"], + "members":{ + "InvitationId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the invitation to reject.

", + "location":"uri", + "locationName":"invitationId" + } + } + }, + "RejectInvitationOutput":{ + "type":"structure", + "members":{ + } + }, + "RemoveAction":{ + "type":"structure", + "required":["MemberId"], + "members":{ + "MemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member to remove.

" + } + }, + "documentation":"

An action to remove a member from a Managed Blockchain network as the result of a removal proposal that is APPROVED. The member and all associated resources are deleted from the network.

" + }, + "RemoveActionList":{ + "type":"list", + "member":{"shape":"RemoveAction"} + }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

A resource request is issued for a resource that already exists.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ResourceIdString":{ + "type":"string", + "max":32, + "min":1 + }, + "ResourceLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The maximum number of resources of that type already exist. Ensure the resources requested are within the boundaries of the service edition and your account limits.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

A requested resource does not exist on the network. It may have been deleted or referenced inaccurately.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "ResourceNotReadyException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The requested resource exists but is not in a status that can complete the operation.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "String":{"type":"string"}, + "ThresholdComparator":{ + "type":"string", + "enum":[ + "GREATER_THAN", + "GREATER_THAN_OR_EQUAL_TO" + ] + }, + "ThresholdPercentageInt":{ + "type":"integer", + "box":true, + "max":100, + "min":0 + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The request or operation could not be performed because a service is throttling requests. The most common source of throttling errors is launching EC2 instances such that your service limit for EC2 instances is exceeded. Request a limit increase or delete unused resources if possible.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "Timestamp":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "UsernameString":{ + "type":"string", + "max":16, + "min":1, + "pattern":"^[a-zA-Z][a-zA-Z0-9]*$" + }, + "VoteCount":{ + "type":"integer", + "box":true + }, + "VoteOnProposalInput":{ + "type":"structure", + "required":[ + "NetworkId", + "ProposalId", + "VoterMemberId", + "Vote" + ], + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network.

", + "location":"uri", + "locationName":"networkId" + }, + "ProposalId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the proposal.

", + "location":"uri", + "locationName":"proposalId" + }, + "VoterMemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member casting the vote.

" + }, + "Vote":{ + "shape":"VoteValue", + "documentation":"

The value of the vote.

" + } + } + }, + "VoteOnProposalOutput":{ + "type":"structure", + "members":{ + } + }, + "VoteSummary":{ + "type":"structure", + "members":{ + "Vote":{ + "shape":"VoteValue", + "documentation":"

The vote value, either YES or NO.

" + }, + "MemberName":{ + "shape":"NetworkMemberNameString", + "documentation":"

The name of the member that cast the vote.

" + }, + "MemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member that cast the vote.

" + } + }, + "documentation":"

Properties of an individual vote that a member cast for a proposal.

" + }, + "VoteValue":{ + "type":"string", + "enum":[ + "YES", + "NO" + ] + }, + "VotingPolicy":{ + "type":"structure", + "members":{ + "ApprovalThresholdPolicy":{ + "shape":"ApprovalThresholdPolicy", + "documentation":"

Defines the rules for the network for voting on proposals, such as the percentage of YES votes required for the proposal to be approved and the duration of the proposal. The policy applies to all proposals and is specified when the network is created.

" + } + }, + "documentation":"

The voting rules for the network to decide if a proposal is accepted

" + } + }, + "documentation":"

Amazon Managed Blockchain is a fully managed service for creating and managing blockchain networks using open source frameworks. Blockchain allows you to build applications where multiple parties can securely and transparently run transactions and share data without the need for a trusted, central authority. Currently, Managed Blockchain supports the Hyperledger Fabric open source framework.

" +} diff --git a/bin/botocore/data/marketplace-entitlement/2017-01-11/paginators-1.json b/bin/botocore/data/marketplace-entitlement/2017-01-11/paginators-1.json index ea142457..8dbf525e 100644 --- a/bin/botocore/data/marketplace-entitlement/2017-01-11/paginators-1.json +++ b/bin/botocore/data/marketplace-entitlement/2017-01-11/paginators-1.json @@ -1,3 +1,10 @@ { - "pagination": {} + "pagination": { + "GetEntitlements": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Entitlements" + } + } } diff --git a/bin/botocore/data/mediaconnect/2018-11-14/paginators-1.json b/bin/botocore/data/mediaconnect/2018-11-14/paginators-1.json index ce5b17e3..bfc962af 100644 --- a/bin/botocore/data/mediaconnect/2018-11-14/paginators-1.json +++ b/bin/botocore/data/mediaconnect/2018-11-14/paginators-1.json @@ -5,6 +5,12 @@ "output_token": "NextToken", "limit_key": "MaxResults", "result_key": "Flows" + }, + "ListEntitlements": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Entitlements" } } } diff --git a/bin/botocore/data/mediaconnect/2018-11-14/service-2.json b/bin/botocore/data/mediaconnect/2018-11-14/service-2.json index d375646d..344e3227 100644 --- a/bin/botocore/data/mediaconnect/2018-11-14/service-2.json +++ b/bin/botocore/data/mediaconnect/2018-11-14/service-2.json @@ -1,1763 +1,2181 @@ { - "metadata" : { - "apiVersion" : "2018-11-14", - "endpointPrefix" : "mediaconnect", - "signingName" : "mediaconnect", - "serviceFullName" : "AWS MediaConnect", - "serviceId" : "MediaConnect", - "protocol" : "rest-json", - "jsonVersion" : "1.1", - "uid" : "mediaconnect-2018-11-14", - "signatureVersion" : "v4" + "metadata": { + "apiVersion": "2018-11-14", + "endpointPrefix": "mediaconnect", + "signingName": "mediaconnect", + "serviceFullName": "AWS MediaConnect", + "serviceId": "MediaConnect", + "protocol": "rest-json", + "jsonVersion": "1.1", + "uid": "mediaconnect-2018-11-14", + "signatureVersion": "v4" }, - "operations" : { - "AddFlowOutputs" : { - "name" : "AddFlowOutputs", - "http" : { - "method" : "POST", - "requestUri" : "/v1/flows/{flowArn}/outputs", - "responseCode" : 201 - }, - "input" : { - "shape" : "AddFlowOutputsRequest" - }, - "output" : { - "shape" : "AddFlowOutputsResponse", - "documentation" : "AWS Elemental MediaConnect added the outputs successfully." - }, - "errors" : [ { - "shape" : "AddFlowOutputs420Exception", - "documentation" : "AWS Elemental MediaConnect can't complete this request because this flow already has the maximum number of allowed outputs (20). For more information, contact AWS Customer Support." - }, { - "shape" : "BadRequestException", - "documentation" : "The request that you submitted is not valid." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." - }, { - "shape" : "ForbiddenException", - "documentation" : "You don't have the required permissions to perform this operation." - }, { - "shape" : "NotFoundException", - "documentation" : "AWS Elemental MediaConnect did not find the resource that you specified in the request." - }, { - "shape" : "ServiceUnavailableException", - "documentation" : "AWS Elemental MediaConnect is currently unavailable. Try again later." - }, { - "shape" : "TooManyRequestsException", - "documentation" : "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." - } ], - "documentation" : "Adds outputs to an existing flow. You can create up to 20 outputs per flow." - }, - "CreateFlow" : { - "name" : "CreateFlow", - "http" : { - "method" : "POST", - "requestUri" : "/v1/flows", - "responseCode" : 201 - }, - "input" : { - "shape" : "CreateFlowRequest" - }, - "output" : { - "shape" : "CreateFlowResponse", - "documentation" : "AWS Elemental MediaConnect created the new flow successfully." - }, - "errors" : [ { - "shape" : "CreateFlow420Exception", - "documentation" : "Your account already contains the maximum number of 20 flows per account, per Region. For more information, contact AWS Customer Support." - }, { - "shape" : "BadRequestException", - "documentation" : "The request that you submitted is not valid." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." - }, { - "shape" : "ForbiddenException", - "documentation" : "You don't have the required permissions to perform this operation." - }, { - "shape" : "ServiceUnavailableException", - "documentation" : "AWS Elemental MediaConnect is currently unavailable. Try again later." - }, { - "shape" : "TooManyRequestsException", - "documentation" : "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." - } ], - "documentation" : "Creates a new flow. The request must include one source. The request optionally can include outputs (up to 20) and entitlements (up to 50)." - }, - "DeleteFlow" : { - "name" : "DeleteFlow", - "http" : { - "method" : "DELETE", - "requestUri" : "/v1/flows/{flowArn}", - "responseCode" : 202 - }, - "input" : { - "shape" : "DeleteFlowRequest" - }, - "output" : { - "shape" : "DeleteFlowResponse", - "documentation" : "AWS Elemental MediaConnect is deleting the flow." - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "The request that you submitted is not valid." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." - }, { - "shape" : "ForbiddenException", - "documentation" : "You don't have the required permissions to perform this operation." - }, { - "shape" : "NotFoundException", - "documentation" : "AWS Elemental MediaConnect did not find the resource that you specified in the request." - }, { - "shape" : "ServiceUnavailableException", - "documentation" : "AWS Elemental MediaConnect is currently unavailable. Try again later." - }, { - "shape" : "TooManyRequestsException", - "documentation" : "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." - } ], - "documentation" : "Deletes a flow. Before you can delete a flow, you must stop the flow." - }, - "DescribeFlow" : { - "name" : "DescribeFlow", - "http" : { - "method" : "GET", - "requestUri" : "/v1/flows/{flowArn}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DescribeFlowRequest" - }, - "output" : { - "shape" : "DescribeFlowResponse", - "documentation" : "AWS Elemental MediaConnect returned the flow details successfully." - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "The request that you submitted is not valid." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." - }, { - "shape" : "ForbiddenException", - "documentation" : "You don't have the required permissions to perform this operation." - }, { - "shape" : "NotFoundException", - "documentation" : "AWS Elemental MediaConnect did not find the resource that you specified in the request." - }, { - "shape" : "ServiceUnavailableException", - "documentation" : "AWS Elemental MediaConnect is currently unavailable. Try again later." - }, { - "shape" : "TooManyRequestsException", - "documentation" : "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." - } ], - "documentation" : "Displays the details of a flow. The response includes the flow ARN, name, and Availability Zone, as well as details about the source, outputs, and entitlements." - }, - "GrantFlowEntitlements" : { - "name" : "GrantFlowEntitlements", - "http" : { - "method" : "POST", - "requestUri" : "/v1/flows/{flowArn}/entitlements", - "responseCode" : 200 - }, - "input" : { - "shape" : "GrantFlowEntitlementsRequest" - }, - "output" : { - "shape" : "GrantFlowEntitlementsResponse", - "documentation" : "AWS Elemental MediaConnect granted the entitlements successfully." - }, - "errors" : [ { - "shape" : "GrantFlowEntitlements420Exception", - "documentation" : "AWS Elemental MediaConnect can't complete this request because this flow already has the maximum number of allowed entitlements (50). For more information, contact AWS Customer Support." - }, { - "shape" : "BadRequestException", - "documentation" : "The request that you submitted is not valid." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." - }, { - "shape" : "ForbiddenException", - "documentation" : "You don't have the required permissions to perform this operation." - }, { - "shape" : "NotFoundException", - "documentation" : "AWS Elemental MediaConnect did not find the resource that you specified in the request." - }, { - "shape" : "ServiceUnavailableException", - "documentation" : "AWS Elemental MediaConnect is currently unavailable. Try again later." - }, { - "shape" : "TooManyRequestsException", - "documentation" : "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." - } ], - "documentation" : "Grants entitlements to an existing flow." - }, - "ListEntitlements" : { - "name" : "ListEntitlements", - "http" : { - "method" : "GET", - "requestUri" : "/v1/entitlements", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListEntitlementsRequest" - }, - "output" : { - "shape" : "ListEntitlementsResponse", - "documentation" : "AWS Elemental MediaConnect returned the list of entitlements successfully." - }, - "errors" : [ { - "shape" : "ServiceUnavailableException", - "documentation" : "AWS Elemental MediaConnect is currently unavailable. Try again later." - }, { - "shape" : "TooManyRequestsException", - "documentation" : "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." - }, { - "shape" : "BadRequestException", - "documentation" : "The request that you submitted is not valid." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." - } ], - "documentation" : "Displays a list of all entitlements that have been granted to this account. This request returns 20 results per page." - }, - "ListFlows" : { - "name" : "ListFlows", - "http" : { - "method" : "GET", - "requestUri" : "/v1/flows", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListFlowsRequest" - }, - "output" : { - "shape" : "ListFlowsResponse", - "documentation" : "AWS Elemental MediaConnect returned the list of flows successfully." - }, - "errors" : [ { - "shape" : "ServiceUnavailableException", - "documentation" : "AWS Elemental MediaConnect is currently unavailable. Try again later." - }, { - "shape" : "TooManyRequestsException", - "documentation" : "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." - }, { - "shape" : "BadRequestException", - "documentation" : "The request that you submitted is not valid." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." - } ], - "documentation" : "Displays a list of flows that are associated with this account. This request returns a paginated result." - }, - "RemoveFlowOutput" : { - "name" : "RemoveFlowOutput", - "http" : { - "method" : "DELETE", - "requestUri" : "/v1/flows/{flowArn}/outputs/{outputArn}", - "responseCode" : 202 - }, - "input" : { - "shape" : "RemoveFlowOutputRequest" - }, - "output" : { - "shape" : "RemoveFlowOutputResponse", - "documentation" : "output successfully removed from flow configuration." - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "The request that you submitted is not valid." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." - }, { - "shape" : "ForbiddenException", - "documentation" : "You don't have the required permissions to perform this operation." - }, { - "shape" : "NotFoundException", - "documentation" : "AWS Elemental MediaConnect did not find the resource that you specified in the request." - }, { - "shape" : "ServiceUnavailableException", - "documentation" : "AWS Elemental MediaConnect is currently unavailable. Try again later." - }, { - "shape" : "TooManyRequestsException", - "documentation" : "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." - } ], - "documentation" : "Removes an output from an existing flow. This request can be made only on an output that does not have an entitlement associated with it. If the output has an entitlement, you must revoke the entitlement instead. When an entitlement is revoked from a flow, the service automatically removes the associated output." - }, - "RevokeFlowEntitlement" : { - "name" : "RevokeFlowEntitlement", - "http" : { - "method" : "DELETE", - "requestUri" : "/v1/flows/{flowArn}/entitlements/{entitlementArn}", - "responseCode" : 202 - }, - "input" : { - "shape" : "RevokeFlowEntitlementRequest" - }, - "output" : { - "shape" : "RevokeFlowEntitlementResponse", - "documentation" : "AWS Elemental MediaConnect revoked the entitlement successfully." - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "The request that you submitted is not valid." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." - }, { - "shape" : "ForbiddenException", - "documentation" : "You don't have the required permissions to perform this operation." - }, { - "shape" : "NotFoundException", - "documentation" : "AWS Elemental MediaConnect did not find the resource that you specified in the request." - }, { - "shape" : "ServiceUnavailableException", - "documentation" : "AWS Elemental MediaConnect is currently unavailable. Try again later." - }, { - "shape" : "TooManyRequestsException", - "documentation" : "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." - } ], - "documentation" : "Revokes an entitlement from a flow. Once an entitlement is revoked, the content becomes unavailable to the subscriber and the associated output is removed." - }, - "StartFlow" : { - "name" : "StartFlow", - "http" : { - "method" : "POST", - "requestUri" : "/v1/flows/start/{flowArn}", - "responseCode" : 202 - }, - "input" : { - "shape" : "StartFlowRequest" - }, - "output" : { - "shape" : "StartFlowResponse", - "documentation" : "AWS Elemental MediaConnect is starting the flow." - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "The request that you submitted is not valid." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." - }, { - "shape" : "ForbiddenException", - "documentation" : "You don't have the required permissions to perform this operation." - }, { - "shape" : "NotFoundException", - "documentation" : "AWS Elemental MediaConnect did not find the resource that you specified in the request." - }, { - "shape" : "ServiceUnavailableException", - "documentation" : "AWS Elemental MediaConnect is currently unavailable. Try again later." - }, { - "shape" : "TooManyRequestsException", - "documentation" : "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." - } ], - "documentation" : "Starts a flow." - }, - "StopFlow" : { - "name" : "StopFlow", - "http" : { - "method" : "POST", - "requestUri" : "/v1/flows/stop/{flowArn}", - "responseCode" : 202 - }, - "input" : { - "shape" : "StopFlowRequest" - }, - "output" : { - "shape" : "StopFlowResponse", - "documentation" : "AWS Elemental MediaConnect is stopping the flow." - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "The request that you submitted is not valid." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." - }, { - "shape" : "ForbiddenException", - "documentation" : "You don't have the required permissions to perform this operation." - }, { - "shape" : "NotFoundException", - "documentation" : "AWS Elemental MediaConnect did not find the resource that you specified in the request." - }, { - "shape" : "ServiceUnavailableException", - "documentation" : "AWS Elemental MediaConnect is currently unavailable. Try again later." - }, { - "shape" : "TooManyRequestsException", - "documentation" : "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." - } ], - "documentation" : "Stops a flow." - }, - "UpdateFlowEntitlement" : { - "name" : "UpdateFlowEntitlement", - "http" : { - "method" : "PUT", - "requestUri" : "/v1/flows/{flowArn}/entitlements/{entitlementArn}", - "responseCode" : 202 - }, - "input" : { - "shape" : "UpdateFlowEntitlementRequest" - }, - "output" : { - "shape" : "UpdateFlowEntitlementResponse", - "documentation" : "AWS Elemental MediaConnect updated the entitlement successfully." - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "The request that you submitted is not valid." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." - }, { - "shape" : "ForbiddenException", - "documentation" : "You don't have the required permissions to perform this operation." - }, { - "shape" : "NotFoundException", - "documentation" : "AWS Elemental MediaConnect did not find the resource that you specified in the request." - }, { - "shape" : "ServiceUnavailableException", - "documentation" : "AWS Elemental MediaConnect is currently unavailable. Try again later." - }, { - "shape" : "TooManyRequestsException", - "documentation" : "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." - } ], - "documentation" : "You can change an entitlement's description, subscribers, and encryption. If you change the subscribers, the service will remove the outputs that are are used by the subscribers that are removed." - }, - "UpdateFlowOutput" : { - "name" : "UpdateFlowOutput", - "http" : { - "method" : "PUT", - "requestUri" : "/v1/flows/{flowArn}/outputs/{outputArn}", - "responseCode" : 202 - }, - "input" : { - "shape" : "UpdateFlowOutputRequest" - }, - "output" : { - "shape" : "UpdateFlowOutputResponse", - "documentation" : "AWS Elemental MediaConnect updated the output successfully." - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "The request that you submitted is not valid." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." - }, { - "shape" : "ForbiddenException", - "documentation" : "You don't have the required permissions to perform this operation." - }, { - "shape" : "NotFoundException", - "documentation" : "AWS Elemental MediaConnect did not find the resource that you specified in the request." - }, { - "shape" : "ServiceUnavailableException", - "documentation" : "AWS Elemental MediaConnect is currently unavailable. Try again later." - }, { - "shape" : "TooManyRequestsException", - "documentation" : "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." - } ], - "documentation" : "Updates an existing flow output." - }, - "UpdateFlowSource" : { - "name" : "UpdateFlowSource", - "http" : { - "method" : "PUT", - "requestUri" : "/v1/flows/{flowArn}/source/{sourceArn}", - "responseCode" : 202 - }, - "input" : { - "shape" : "UpdateFlowSourceRequest" - }, - "output" : { - "shape" : "UpdateFlowSourceResponse", - "documentation" : "AWS Elemental MediaConnect updated the flow successfully." - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "The request that you submitted is not valid." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." - }, { - "shape" : "ForbiddenException", - "documentation" : "You don't have the required permissions to perform this operation." - }, { - "shape" : "NotFoundException", - "documentation" : "AWS Elemental MediaConnect did not find the resource that you specified in the request." - }, { - "shape" : "ServiceUnavailableException", - "documentation" : "AWS Elemental MediaConnect is currently unavailable. Try again later." - }, { - "shape" : "TooManyRequestsException", - "documentation" : "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." - } ], - "documentation" : "Updates the source of a flow." + "operations": { + "AddFlowOutputs": { + "name": "AddFlowOutputs", + "http": { + "method": "POST", + "requestUri": "/v1/flows/{flowArn}/outputs", + "responseCode": 201 + }, + "input": { + "shape": "AddFlowOutputsRequest" + }, + "output": { + "shape": "AddFlowOutputsResponse", + "documentation": "AWS Elemental MediaConnect added the outputs successfully." + }, + "errors": [ + { + "shape": "AddFlowOutputs420Exception", + "documentation": "AWS Elemental MediaConnect can't complete this request because this flow already has the maximum number of allowed outputs (20). For more information, contact AWS Customer Support." + }, + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Adds outputs to an existing flow. You can create up to 20 outputs per flow." + }, + "CreateFlow": { + "name": "CreateFlow", + "http": { + "method": "POST", + "requestUri": "/v1/flows", + "responseCode": 201 + }, + "input": { + "shape": "CreateFlowRequest" + }, + "output": { + "shape": "CreateFlowResponse", + "documentation": "AWS Elemental MediaConnect created the new flow successfully." + }, + "errors": [ + { + "shape": "CreateFlow420Exception", + "documentation": "Your account already contains the maximum number of 20 flows per account, per Region. For more information, contact AWS Customer Support." + }, + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Creates a new flow. The request must include one source. The request optionally can include outputs (up to 20) and entitlements (up to 50)." + }, + "DeleteFlow": { + "name": "DeleteFlow", + "http": { + "method": "DELETE", + "requestUri": "/v1/flows/{flowArn}", + "responseCode": 202 + }, + "input": { + "shape": "DeleteFlowRequest" + }, + "output": { + "shape": "DeleteFlowResponse", + "documentation": "AWS Elemental MediaConnect is deleting the flow." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Deletes a flow. Before you can delete a flow, you must stop the flow." + }, + "DescribeFlow": { + "name": "DescribeFlow", + "http": { + "method": "GET", + "requestUri": "/v1/flows/{flowArn}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeFlowRequest" + }, + "output": { + "shape": "DescribeFlowResponse", + "documentation": "AWS Elemental MediaConnect returned the flow details successfully." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Displays the details of a flow. The response includes the flow ARN, name, and Availability Zone, as well as details about the source, outputs, and entitlements." + }, + "GrantFlowEntitlements": { + "name": "GrantFlowEntitlements", + "http": { + "method": "POST", + "requestUri": "/v1/flows/{flowArn}/entitlements", + "responseCode": 200 + }, + "input": { + "shape": "GrantFlowEntitlementsRequest" + }, + "output": { + "shape": "GrantFlowEntitlementsResponse", + "documentation": "AWS Elemental MediaConnect granted the entitlements successfully." + }, + "errors": [ + { + "shape": "GrantFlowEntitlements420Exception", + "documentation": "AWS Elemental MediaConnect can't complete this request because this flow already has the maximum number of allowed entitlements (50). For more information, contact AWS Customer Support." + }, + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Grants entitlements to an existing flow." + }, + "ListEntitlements": { + "name": "ListEntitlements", + "http": { + "method": "GET", + "requestUri": "/v1/entitlements", + "responseCode": 200 + }, + "input": { + "shape": "ListEntitlementsRequest" + }, + "output": { + "shape": "ListEntitlementsResponse", + "documentation": "AWS Elemental MediaConnect returned the list of entitlements successfully." + }, + "errors": [ + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + }, + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + } + ], + "documentation": "Displays a list of all entitlements that have been granted to this account. This request returns 20 results per page." + }, + "ListFlows": { + "name": "ListFlows", + "http": { + "method": "GET", + "requestUri": "/v1/flows", + "responseCode": 200 + }, + "input": { + "shape": "ListFlowsRequest" + }, + "output": { + "shape": "ListFlowsResponse", + "documentation": "AWS Elemental MediaConnect returned the list of flows successfully." + }, + "errors": [ + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + }, + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + } + ], + "documentation": "Displays a list of flows that are associated with this account. This request returns a paginated result." + }, + "ListTagsForResource": { + "name": "ListTagsForResource", + "http": { + "method": "GET", + "requestUri": "/tags/{resourceArn}", + "responseCode": 200 + }, + "input": { + "shape": "ListTagsForResourceRequest" + }, + "output": { + "shape": "ListTagsForResourceResponse", + "documentation": "The tags for the resource" + }, + "errors": [ + { + "shape": "NotFoundException", + "documentation": "The requested resource was not found" + }, + { + "shape": "BadRequestException", + "documentation": "The client performed an invalid request" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal service error" + } + ], + "documentation": "List all tags on an AWS Elemental MediaConnect resource" + }, + "RemoveFlowOutput": { + "name": "RemoveFlowOutput", + "http": { + "method": "DELETE", + "requestUri": "/v1/flows/{flowArn}/outputs/{outputArn}", + "responseCode": 202 + }, + "input": { + "shape": "RemoveFlowOutputRequest" + }, + "output": { + "shape": "RemoveFlowOutputResponse", + "documentation": "output successfully removed from flow configuration." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Removes an output from an existing flow. This request can be made only on an output that does not have an entitlement associated with it. If the output has an entitlement, you must revoke the entitlement instead. When an entitlement is revoked from a flow, the service automatically removes the associated output." + }, + "RevokeFlowEntitlement": { + "name": "RevokeFlowEntitlement", + "http": { + "method": "DELETE", + "requestUri": "/v1/flows/{flowArn}/entitlements/{entitlementArn}", + "responseCode": 202 + }, + "input": { + "shape": "RevokeFlowEntitlementRequest" + }, + "output": { + "shape": "RevokeFlowEntitlementResponse", + "documentation": "AWS Elemental MediaConnect revoked the entitlement successfully." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Revokes an entitlement from a flow. Once an entitlement is revoked, the content becomes unavailable to the subscriber and the associated output is removed." + }, + "StartFlow": { + "name": "StartFlow", + "http": { + "method": "POST", + "requestUri": "/v1/flows/start/{flowArn}", + "responseCode": 202 + }, + "input": { + "shape": "StartFlowRequest" + }, + "output": { + "shape": "StartFlowResponse", + "documentation": "AWS Elemental MediaConnect is starting the flow." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Starts a flow." + }, + "StopFlow": { + "name": "StopFlow", + "http": { + "method": "POST", + "requestUri": "/v1/flows/stop/{flowArn}", + "responseCode": 202 + }, + "input": { + "shape": "StopFlowRequest" + }, + "output": { + "shape": "StopFlowResponse", + "documentation": "AWS Elemental MediaConnect is stopping the flow." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Stops a flow." + }, + "TagResource": { + "name": "TagResource", + "http": { + "method": "POST", + "requestUri": "/tags/{resourceArn}", + "responseCode": 204 + }, + "input": { + "shape": "TagResourceRequest" + }, + "errors": [ + { + "shape": "NotFoundException", + "documentation": "The requested resource was not found" + }, + { + "shape": "BadRequestException", + "documentation": "The client performed an invalid request" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal service error" + } + ], + "documentation": "Associates the specified tags to a resource with the specified resourceArn. If existing tags on a resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags associated with that resource are deleted as well." + }, + "UntagResource": { + "name": "UntagResource", + "http": { + "method": "DELETE", + "requestUri": "/tags/{resourceArn}", + "responseCode": 204 + }, + "input": { + "shape": "UntagResourceRequest" + }, + "errors": [ + { + "shape": "NotFoundException", + "documentation": "The requested resource was not found" + }, + { + "shape": "BadRequestException", + "documentation": "The client performed an invalid request" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal service error" + } + ], + "documentation": "Deletes specified tags from a resource." + }, + "UpdateFlowEntitlement": { + "name": "UpdateFlowEntitlement", + "http": { + "method": "PUT", + "requestUri": "/v1/flows/{flowArn}/entitlements/{entitlementArn}", + "responseCode": 202 + }, + "input": { + "shape": "UpdateFlowEntitlementRequest" + }, + "output": { + "shape": "UpdateFlowEntitlementResponse", + "documentation": "AWS Elemental MediaConnect updated the entitlement successfully." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "You can change an entitlement's description, subscribers, and encryption. If you change the subscribers, the service will remove the outputs that are are used by the subscribers that are removed." + }, + "UpdateFlowOutput": { + "name": "UpdateFlowOutput", + "http": { + "method": "PUT", + "requestUri": "/v1/flows/{flowArn}/outputs/{outputArn}", + "responseCode": 202 + }, + "input": { + "shape": "UpdateFlowOutputRequest" + }, + "output": { + "shape": "UpdateFlowOutputResponse", + "documentation": "AWS Elemental MediaConnect updated the output successfully." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Updates an existing flow output." + }, + "UpdateFlowSource": { + "name": "UpdateFlowSource", + "http": { + "method": "PUT", + "requestUri": "/v1/flows/{flowArn}/source/{sourceArn}", + "responseCode": 202 + }, + "input": { + "shape": "UpdateFlowSourceRequest" + }, + "output": { + "shape": "UpdateFlowSourceResponse", + "documentation": "AWS Elemental MediaConnect updated the flow successfully." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Updates the source of a flow." } }, - "shapes" : { - "AddFlowOutputs420Exception" : { - "type" : "structure", - "members" : { - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "The error message returned by AWS Elemental MediaConnect." - } - }, - "documentation" : "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", - "required" : [ "Message" ], - "exception" : true, - "error" : { - "httpStatusCode" : 420 + "shapes": { + "AddFlowOutputs420Exception": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "The error message returned by AWS Elemental MediaConnect." + } + }, + "documentation": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "required": [ + "Message" + ], + "exception": true, + "error": { + "httpStatusCode": 420 } }, - "AddFlowOutputsRequest" : { - "type" : "structure", - "members" : { - "FlowArn" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "flowArn", - "documentation" : "The flow that you want to add outputs to." - }, - "Outputs" : { - "shape" : "__listOfAddOutputRequest", - "locationName" : "outputs", - "documentation" : "A list of outputs that you want to add." - } - }, - "documentation" : "A request to add outputs to the specified flow.", - "required" : [ "FlowArn", "Outputs" ] - }, - "AddFlowOutputsResponse" : { - "type" : "structure", - "members" : { - "FlowArn" : { - "shape" : "__string", - "locationName" : "flowArn", - "documentation" : "The ARN of the flow that these outputs were added to." - }, - "Outputs" : { - "shape" : "__listOfOutput", - "locationName" : "outputs", - "documentation" : "The details of the newly added outputs." + "AddFlowOutputsRequest": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The flow that you want to add outputs to." + }, + "Outputs": { + "shape": "__listOfAddOutputRequest", + "locationName": "outputs", + "documentation": "A list of outputs that you want to add." + } + }, + "documentation": "A request to add outputs to the specified flow.", + "required": [ + "FlowArn", + "Outputs" + ] + }, + "AddFlowOutputsResponse": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the flow that these outputs were added to." + }, + "Outputs": { + "shape": "__listOfOutput", + "locationName": "outputs", + "documentation": "The details of the newly added outputs." } } }, - "AddOutputRequest" : { - "type" : "structure", - "members" : { - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "A description of the output. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the end user." - }, - "Destination" : { - "shape" : "__string", - "locationName" : "destination", - "documentation" : "The IP address from which video will be sent to output destinations." - }, - "Encryption" : { - "shape" : "Encryption", - "locationName" : "encryption", - "documentation" : "The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key)." - }, - "MaxLatency" : { - "shape" : "__integer", - "locationName" : "maxLatency", - "documentation" : "The maximum latency in milliseconds for Zixi-based streams." - }, - "Name" : { - "shape" : "__string", - "locationName" : "name", - "documentation" : "The name of the output. This value must be unique within the current flow." - }, - "Port" : { - "shape" : "__integer", - "locationName" : "port", - "documentation" : "The port to use when content is distributed to this output." - }, - "Protocol" : { - "shape" : "Protocol", - "locationName" : "protocol", - "documentation" : "The protocol to use for the output." - }, - "SmoothingLatency" : { - "shape" : "__integer", - "locationName" : "smoothingLatency", - "documentation" : "The smoothing latency in milliseconds for RTP and RTP-FEC streams." - }, - "StreamId" : { - "shape" : "__string", - "locationName" : "streamId", - "documentation" : "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams." - } - }, - "documentation" : "The output that you want to add to this flow.", - "required" : [ "Destination", "Port", "Protocol" ] - }, - "Algorithm" : { - "type" : "string", - "enum" : [ "aes128", "aes192", "aes256" ] - }, - "BadRequestException" : { - "type" : "structure", - "members" : { - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "The error message returned by AWS Elemental MediaConnect." - } - }, - "documentation" : "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", - "required" : [ "Message" ], - "exception" : true, - "error" : { - "httpStatusCode" : 400 + "AddOutputRequest": { + "type": "structure", + "members": { + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "A description of the output. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the end user." + }, + "Destination": { + "shape": "__string", + "locationName": "destination", + "documentation": "The IP address from which video will be sent to output destinations." + }, + "Encryption": { + "shape": "Encryption", + "locationName": "encryption", + "documentation": "The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key)." + }, + "MaxLatency": { + "shape": "__integer", + "locationName": "maxLatency", + "documentation": "The maximum latency in milliseconds for Zixi-based streams." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the output. This value must be unique within the current flow." + }, + "Port": { + "shape": "__integer", + "locationName": "port", + "documentation": "The port to use when content is distributed to this output." + }, + "Protocol": { + "shape": "Protocol", + "locationName": "protocol", + "documentation": "The protocol to use for the output." + }, + "SmoothingLatency": { + "shape": "__integer", + "locationName": "smoothingLatency", + "documentation": "The smoothing latency in milliseconds for RTP and RTP-FEC streams." + }, + "StreamId": { + "shape": "__string", + "locationName": "streamId", + "documentation": "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams." + } + }, + "documentation": "The output that you want to add to this flow.", + "required": [ + "Destination", + "Port", + "Protocol" + ] + }, + "Algorithm": { + "type": "string", + "enum": [ + "aes128", + "aes192", + "aes256" + ] + }, + "BadRequestException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "The error message returned by AWS Elemental MediaConnect." + } + }, + "documentation": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "required": [ + "Message" + ], + "exception": true, + "error": { + "httpStatusCode": 400 } }, - "CreateFlow420Exception" : { - "type" : "structure", - "members" : { - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "The error message returned by AWS Elemental MediaConnect." + "CreateFlow420Exception": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "The error message returned by AWS Elemental MediaConnect." } }, - "documentation" : "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", - "required" : [ "Message" ], - "exception" : true, - "error" : { - "httpStatusCode" : 420 + "documentation": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "required": [ + "Message" + ], + "exception": true, + "error": { + "httpStatusCode": 420 } }, - "CreateFlowRequest" : { - "type" : "structure", - "members" : { - "AvailabilityZone" : { - "shape" : "__string", - "locationName" : "availabilityZone", - "documentation" : "The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS Region." - }, - "Entitlements" : { - "shape" : "__listOfGrantEntitlementRequest", - "locationName" : "entitlements", - "documentation" : "The entitlements that you want to grant on a flow." - }, - "Name" : { - "shape" : "__string", - "locationName" : "name", - "documentation" : "The name of the flow." - }, - "Outputs" : { - "shape" : "__listOfAddOutputRequest", - "locationName" : "outputs", - "documentation" : "The outputs that you want to add to this flow." - }, - "Source" : { - "shape" : "SetSourceRequest", - "locationName" : "source" + "CreateFlowRequest": { + "type": "structure", + "members": { + "AvailabilityZone": { + "shape": "__string", + "locationName": "availabilityZone", + "documentation": "The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS Region." + }, + "Entitlements": { + "shape": "__listOfGrantEntitlementRequest", + "locationName": "entitlements", + "documentation": "The entitlements that you want to grant on a flow." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the flow." + }, + "Outputs": { + "shape": "__listOfAddOutputRequest", + "locationName": "outputs", + "documentation": "The outputs that you want to add to this flow." + }, + "Source": { + "shape": "SetSourceRequest", + "locationName": "source" } }, - "documentation" : "Creates a new flow. The request must include one source. The request optionally can include outputs (up to 20) and entitlements (up to 50).", - "required" : [ "Source", "Name" ] - }, - "CreateFlowResponse" : { - "type" : "structure", - "members" : { - "Flow" : { - "shape" : "Flow", - "locationName" : "flow" + "documentation": "Creates a new flow. The request must include one source. The request optionally can include outputs (up to 20) and entitlements (up to 50).", + "required": [ + "Source", + "Name" + ] + }, + "CreateFlowResponse": { + "type": "structure", + "members": { + "Flow": { + "shape": "Flow", + "locationName": "flow" } } }, - "DeleteFlowRequest" : { - "type" : "structure", - "members" : { - "FlowArn" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "flowArn", - "documentation" : "The ARN of the flow that you want to delete." + "DeleteFlowRequest": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The ARN of the flow that you want to delete." } }, - "required" : [ "FlowArn" ] - }, - "DeleteFlowResponse" : { - "type" : "structure", - "members" : { - "FlowArn" : { - "shape" : "__string", - "locationName" : "flowArn", - "documentation" : "The ARN of the flow that was deleted." - }, - "Status" : { - "shape" : "Status", - "locationName" : "status", - "documentation" : "The status of the flow when the DeleteFlow process begins." + "required": [ + "FlowArn" + ] + }, + "DeleteFlowResponse": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the flow that was deleted." + }, + "Status": { + "shape": "Status", + "locationName": "status", + "documentation": "The status of the flow when the DeleteFlow process begins." } } }, - "DescribeFlowRequest" : { - "type" : "structure", - "members" : { - "FlowArn" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "flowArn", - "documentation" : "The ARN of the flow that you want to describe." + "DescribeFlowRequest": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The ARN of the flow that you want to describe." } }, - "required" : [ "FlowArn" ] + "required": [ + "FlowArn" + ] }, - "DescribeFlowResponse" : { - "type" : "structure", - "members" : { - "Flow" : { - "shape" : "Flow", - "locationName" : "flow" + "DescribeFlowResponse": { + "type": "structure", + "members": { + "Flow": { + "shape": "Flow", + "locationName": "flow" }, - "Messages" : { - "shape" : "Messages", - "locationName" : "messages" + "Messages": { + "shape": "Messages", + "locationName": "messages" } } }, - "Encryption" : { - "type" : "structure", - "members" : { - "Algorithm" : { - "shape" : "Algorithm", - "locationName" : "algorithm", - "documentation" : "The type of algorithm that is used for the encryption (such as aes128, aes192, or aes256)." - }, - "KeyType" : { - "shape" : "KeyType", - "locationName" : "keyType", - "documentation" : "The type of key that is used for the encryption. If no keyType is provided, the service will use the default setting (static-key)." - }, - "RoleArn" : { - "shape" : "__string", - "locationName" : "roleArn", - "documentation" : "The ARN of the role that you created during setup (when you set up AWS Elemental MediaConnect as a trusted entity)." - }, - "SecretArn" : { - "shape" : "__string", - "locationName" : "secretArn", - "documentation" : "The ARN that was assigned to the secret that you created in AWS Secrets Manager to store the encryption key." - } - }, - "documentation" : "Information about the encryption of the flow.", - "required" : [ "SecretArn", "Algorithm", "RoleArn" ] - }, - "Entitlement" : { - "type" : "structure", - "members" : { - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "A description of the entitlement." - }, - "Encryption" : { - "shape" : "Encryption", - "locationName" : "encryption", - "documentation" : "The type of encryption that will be used on the output that is associated with this entitlement." - }, - "EntitlementArn" : { - "shape" : "__string", - "locationName" : "entitlementArn", - "documentation" : "The ARN of the entitlement." - }, - "Name" : { - "shape" : "__string", - "locationName" : "name", - "documentation" : "The name of the entitlement." - }, - "Subscribers" : { - "shape" : "__listOf__string", - "locationName" : "subscribers", - "documentation" : "The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flow using your content as the source." - } - }, - "documentation" : "The settings for a flow entitlement.", - "required" : [ "EntitlementArn", "Subscribers", "Name" ] - }, - "Flow" : { - "type" : "structure", - "members" : { - "AvailabilityZone" : { - "shape" : "__string", - "locationName" : "availabilityZone", - "documentation" : "The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS." - }, - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "A description of the flow. This value is not used or seen outside of the current AWS Elemental MediaConnect account." - }, - "EgressIp" : { - "shape" : "__string", - "locationName" : "egressIp", - "documentation" : "The IP address from which video will be sent to output destinations." - }, - "Entitlements" : { - "shape" : "__listOfEntitlement", - "locationName" : "entitlements", - "documentation" : "The entitlements in this flow." - }, - "FlowArn" : { - "shape" : "__string", - "locationName" : "flowArn", - "documentation" : "The Amazon Resource Name (ARN), a unique identifier for any AWS resource, of the flow." - }, - "Name" : { - "shape" : "__string", - "locationName" : "name", - "documentation" : "The name of the flow." - }, - "Outputs" : { - "shape" : "__listOfOutput", - "locationName" : "outputs", - "documentation" : "The outputs in this flow." - }, - "Source" : { - "shape" : "Source", - "locationName" : "source" - }, - "Status" : { - "shape" : "Status", - "locationName" : "status", - "documentation" : "The current status of the flow." - } - }, - "documentation" : "The settings for a flow, including its source, outputs, and entitlements.", - "required" : [ "Status", "Entitlements", "Outputs", "AvailabilityZone", "FlowArn", "Source", "Name" ] - }, - "ForbiddenException" : { - "type" : "structure", - "members" : { - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "The error message returned by AWS Elemental MediaConnect." - } - }, - "documentation" : "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", - "required" : [ "Message" ], - "exception" : true, - "error" : { - "httpStatusCode" : 403 + "Encryption": { + "type": "structure", + "members": { + "Algorithm": { + "shape": "Algorithm", + "locationName": "algorithm", + "documentation": "The type of algorithm that is used for the encryption (such as aes128, aes192, or aes256)." + }, + "ConstantInitializationVector": { + "shape": "__string", + "locationName": "constantInitializationVector", + "documentation": "A 128-bit, 16-byte hex value represented by a 32-character string, to be used with the key for encrypting content. This parameter is not valid for static key encryption." + }, + "DeviceId": { + "shape": "__string", + "locationName": "deviceId", + "documentation": "The value of one of the devices that you configured with your digital rights management (DRM) platform key provider. This parameter is required for SPEKE encryption and is not valid for static key encryption." + }, + "KeyType": { + "shape": "KeyType", + "locationName": "keyType", + "documentation": "The type of key that is used for the encryption. If no keyType is provided, the service will use the default setting (static-key)." + }, + "Region": { + "shape": "__string", + "locationName": "region", + "documentation": "The AWS Region that the API Gateway proxy endpoint was created in. This parameter is required for SPEKE encryption and is not valid for static key encryption." + }, + "ResourceId": { + "shape": "__string", + "locationName": "resourceId", + "documentation": "An identifier for the content. The service sends this value to the key server to identify the current endpoint. The resource ID is also known as the content ID. This parameter is required for SPEKE encryption and is not valid for static key encryption." + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn", + "documentation": "The ARN of the role that you created during setup (when you set up AWS Elemental MediaConnect as a trusted entity)." + }, + "SecretArn": { + "shape": "__string", + "locationName": "secretArn", + "documentation": "The ARN of the secret that you created in AWS Secrets Manager to store the encryption key. This parameter is required for static key encryption and is not valid for SPEKE encryption." + }, + "Url": { + "shape": "__string", + "locationName": "url", + "documentation": "The URL from the API Gateway proxy that you set up to talk to your key server. This parameter is required for SPEKE encryption and is not valid for static key encryption." + } + }, + "documentation": "Information about the encryption of the flow.", + "required": [ + "Algorithm", + "RoleArn" + ] + }, + "Entitlement": { + "type": "structure", + "members": { + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "A description of the entitlement." + }, + "Encryption": { + "shape": "Encryption", + "locationName": "encryption", + "documentation": "The type of encryption that will be used on the output that is associated with this entitlement." + }, + "EntitlementArn": { + "shape": "__string", + "locationName": "entitlementArn", + "documentation": "The ARN of the entitlement." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the entitlement." + }, + "Subscribers": { + "shape": "__listOf__string", + "locationName": "subscribers", + "documentation": "The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flow using your content as the source." + } + }, + "documentation": "The settings for a flow entitlement.", + "required": [ + "EntitlementArn", + "Subscribers", + "Name" + ] + }, + "Flow": { + "type": "structure", + "members": { + "AvailabilityZone": { + "shape": "__string", + "locationName": "availabilityZone", + "documentation": "The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS." + }, + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "A description of the flow. This value is not used or seen outside of the current AWS Elemental MediaConnect account." + }, + "EgressIp": { + "shape": "__string", + "locationName": "egressIp", + "documentation": "The IP address from which video will be sent to output destinations." + }, + "Entitlements": { + "shape": "__listOfEntitlement", + "locationName": "entitlements", + "documentation": "The entitlements in this flow." + }, + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The Amazon Resource Name (ARN), a unique identifier for any AWS resource, of the flow." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the flow." + }, + "Outputs": { + "shape": "__listOfOutput", + "locationName": "outputs", + "documentation": "The outputs in this flow." + }, + "Source": { + "shape": "Source", + "locationName": "source" + }, + "Status": { + "shape": "Status", + "locationName": "status", + "documentation": "The current status of the flow." + } + }, + "documentation": "The settings for a flow, including its source, outputs, and entitlements.", + "required": [ + "Status", + "Entitlements", + "Outputs", + "AvailabilityZone", + "FlowArn", + "Source", + "Name" + ] + }, + "ForbiddenException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "The error message returned by AWS Elemental MediaConnect." + } + }, + "documentation": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "required": [ + "Message" + ], + "exception": true, + "error": { + "httpStatusCode": 403 } }, - "GrantEntitlementRequest" : { - "type" : "structure", - "members" : { - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "A description of the entitlement. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the subscriber or end user." - }, - "Encryption" : { - "shape" : "Encryption", - "locationName" : "encryption", - "documentation" : "The type of encryption that will be used on the output that is associated with this entitlement." - }, - "Name" : { - "shape" : "__string", - "locationName" : "name", - "documentation" : "The name of the entitlement. This value must be unique within the current flow." - }, - "Subscribers" : { - "shape" : "__listOf__string", - "locationName" : "subscribers", - "documentation" : "The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flows using your content as the source." - } - }, - "documentation" : "The entitlements that you want to grant on a flow.", - "required" : [ "Subscribers" ] - }, - "GrantFlowEntitlements420Exception" : { - "type" : "structure", - "members" : { - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "The error message returned by AWS Elemental MediaConnect." - } - }, - "documentation" : "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", - "required" : [ "Message" ], - "exception" : true, - "error" : { - "httpStatusCode" : 420 + "GrantEntitlementRequest": { + "type": "structure", + "members": { + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "A description of the entitlement. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the subscriber or end user." + }, + "Encryption": { + "shape": "Encryption", + "locationName": "encryption", + "documentation": "The type of encryption that will be used on the output that is associated with this entitlement." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the entitlement. This value must be unique within the current flow." + }, + "Subscribers": { + "shape": "__listOf__string", + "locationName": "subscribers", + "documentation": "The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flows using your content as the source." + } + }, + "documentation": "The entitlements that you want to grant on a flow.", + "required": [ + "Subscribers" + ] + }, + "GrantFlowEntitlements420Exception": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "The error message returned by AWS Elemental MediaConnect." + } + }, + "documentation": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "required": [ + "Message" + ], + "exception": true, + "error": { + "httpStatusCode": 420 } }, - "GrantFlowEntitlementsRequest" : { - "type" : "structure", - "members" : { - "Entitlements" : { - "shape" : "__listOfGrantEntitlementRequest", - "locationName" : "entitlements", - "documentation" : "The list of entitlements that you want to grant." - }, - "FlowArn" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "flowArn", - "documentation" : "The flow that you want to grant entitlements on." - } - }, - "documentation" : "A request to grant entitlements on a flow.", - "required" : [ "FlowArn", "Entitlements" ] - }, - "GrantFlowEntitlementsResponse" : { - "type" : "structure", - "members" : { - "Entitlements" : { - "shape" : "__listOfEntitlement", - "locationName" : "entitlements", - "documentation" : "The entitlements that were just granted." - }, - "FlowArn" : { - "shape" : "__string", - "locationName" : "flowArn", - "documentation" : "The ARN of the flow that these entitlements were granted to." + "GrantFlowEntitlementsRequest": { + "type": "structure", + "members": { + "Entitlements": { + "shape": "__listOfGrantEntitlementRequest", + "locationName": "entitlements", + "documentation": "The list of entitlements that you want to grant." + }, + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The flow that you want to grant entitlements on." + } + }, + "documentation": "A request to grant entitlements on a flow.", + "required": [ + "FlowArn", + "Entitlements" + ] + }, + "GrantFlowEntitlementsResponse": { + "type": "structure", + "members": { + "Entitlements": { + "shape": "__listOfEntitlement", + "locationName": "entitlements", + "documentation": "The entitlements that were just granted." + }, + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the flow that these entitlements were granted to." } } }, - "InternalServerErrorException" : { - "type" : "structure", - "members" : { - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "The error message returned by AWS Elemental MediaConnect." + "InternalServerErrorException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "The error message returned by AWS Elemental MediaConnect." } }, - "documentation" : "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", - "required" : [ "Message" ], - "exception" : true, - "error" : { - "httpStatusCode" : 500 + "documentation": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "required": [ + "Message" + ], + "exception": true, + "error": { + "httpStatusCode": 500 } }, - "KeyType" : { - "type" : "string", - "enum" : [ "static-key" ] - }, - "ListEntitlementsRequest" : { - "type" : "structure", - "members" : { - "MaxResults" : { - "shape" : "MaxResults", - "location" : "querystring", - "locationName" : "maxResults", - "documentation" : "The maximum number of results to return per API request. For example, you submit a ListEntitlements request with MaxResults set at 5. Although 20 items match your request, the service returns no more than the first 5 items. (The service also returns a NextToken value that you can use to fetch the next batch of results.) The service might return fewer results than the MaxResults value. If MaxResults is not included in the request, the service defaults to pagination with a maximum of 20 results per page." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "nextToken", - "documentation" : "The token that identifies which batch of results that you want to see. For example, you submit a ListEntitlements request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListEntitlements request a second time and specify the NextToken value." + "KeyType": { + "type": "string", + "enum": [ + "speke", + "static-key" + ] + }, + "ListEntitlementsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults", + "documentation": "The maximum number of results to return per API request. For example, you submit a ListEntitlements request with MaxResults set at 5. Although 20 items match your request, the service returns no more than the first 5 items. (The service also returns a NextToken value that you can use to fetch the next batch of results.) The service might return fewer results than the MaxResults value. If MaxResults is not included in the request, the service defaults to pagination with a maximum of 20 results per page." + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken", + "documentation": "The token that identifies which batch of results that you want to see. For example, you submit a ListEntitlements request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListEntitlements request a second time and specify the NextToken value." } } }, - "ListEntitlementsResponse" : { - "type" : "structure", - "members" : { - "Entitlements" : { - "shape" : "__listOfListedEntitlement", - "locationName" : "entitlements", - "documentation" : "A list of entitlements that have been granted to you from other AWS accounts." - }, - "NextToken" : { - "shape" : "__string", - "locationName" : "nextToken", - "documentation" : "The token that identifies which batch of results that you want to see. For example, you submit a ListEntitlements request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListEntitlements request a second time and specify the NextToken value." + "ListEntitlementsResponse": { + "type": "structure", + "members": { + "Entitlements": { + "shape": "__listOfListedEntitlement", + "locationName": "entitlements", + "documentation": "A list of entitlements that have been granted to you from other AWS accounts." + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "The token that identifies which batch of results that you want to see. For example, you submit a ListEntitlements request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListEntitlements request a second time and specify the NextToken value." } } }, - "ListFlowsRequest" : { - "type" : "structure", - "members" : { - "MaxResults" : { - "shape" : "MaxResults", - "location" : "querystring", - "locationName" : "maxResults", - "documentation" : "The maximum number of results to return per API request. For example, you submit a ListFlows request with MaxResults set at 5. Although 20 items match your request, the service returns no more than the first 5 items. (The service also returns a NextToken value that you can use to fetch the next batch of results.) The service might return fewer results than the MaxResults value. If MaxResults is not included in the request, the service defaults to pagination with a maximum of 10 results per page." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "nextToken", - "documentation" : "The token that identifies which batch of results that you want to see. For example, you submit a ListFlows request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListFlows request a second time and specify the NextToken value." + "ListFlowsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults", + "documentation": "The maximum number of results to return per API request. For example, you submit a ListFlows request with MaxResults set at 5. Although 20 items match your request, the service returns no more than the first 5 items. (The service also returns a NextToken value that you can use to fetch the next batch of results.) The service might return fewer results than the MaxResults value. If MaxResults is not included in the request, the service defaults to pagination with a maximum of 10 results per page." + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken", + "documentation": "The token that identifies which batch of results that you want to see. For example, you submit a ListFlows request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListFlows request a second time and specify the NextToken value." } } }, - "ListFlowsResponse" : { - "type" : "structure", - "members" : { - "Flows" : { - "shape" : "__listOfListedFlow", - "locationName" : "flows", - "documentation" : "A list of flow summaries." - }, - "NextToken" : { - "shape" : "__string", - "locationName" : "nextToken", - "documentation" : "The token that identifies which batch of results that you want to see. For example, you submit a ListFlows request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListFlows request a second time and specify the NextToken value." + "ListFlowsResponse": { + "type": "structure", + "members": { + "Flows": { + "shape": "__listOfListedFlow", + "locationName": "flows", + "documentation": "A list of flow summaries." + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "The token that identifies which batch of results that you want to see. For example, you submit a ListFlows request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListFlows request a second time and specify the NextToken value." } } }, - "ListedEntitlement" : { - "type" : "structure", - "members" : { - "EntitlementArn" : { - "shape" : "__string", - "locationName" : "entitlementArn", - "documentation" : "The ARN of the entitlement." - }, - "EntitlementName" : { - "shape" : "__string", - "locationName" : "entitlementName", - "documentation" : "The name of the entitlement." - } - }, - "documentation" : "An entitlement that has been granted to you from other AWS accounts.", - "required" : [ "EntitlementArn", "EntitlementName" ] - }, - "ListedFlow" : { - "type" : "structure", - "members" : { - "AvailabilityZone" : { - "shape" : "__string", - "locationName" : "availabilityZone", - "documentation" : "The Availability Zone that the flow was created in." - }, - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "A description of the flow." - }, - "FlowArn" : { - "shape" : "__string", - "locationName" : "flowArn", - "documentation" : "The ARN of the flow." - }, - "Name" : { - "shape" : "__string", - "locationName" : "name", - "documentation" : "The name of the flow." - }, - "SourceType" : { - "shape" : "SourceType", - "locationName" : "sourceType", - "documentation" : "The type of source. This value is either owned (originated somewhere other than an AWS Elemental MediaConnect flow owned by another AWS account) or entitled (originated at an AWS Elemental MediaConnect flow owned by another AWS account)." - }, - "Status" : { - "shape" : "Status", - "locationName" : "status", - "documentation" : "The current status of the flow." - } - }, - "documentation" : "Provides a summary of a flow, including its ARN, Availability Zone, and source type.", - "required" : [ "Status", "Description", "SourceType", "AvailabilityZone", "FlowArn", "Name" ] - }, - "MaxResults" : { - "type" : "integer", - "min" : 1, - "max" : 1000 - }, - "Messages" : { - "type" : "structure", - "members" : { - "Errors" : { - "shape" : "__listOf__string", - "locationName" : "errors", - "documentation" : "A list of errors that might have been generated from processes on this flow." - } - }, - "documentation" : "Messages that provide the state of the flow.", - "required" : [ "Errors" ] - }, - "NotFoundException" : { - "type" : "structure", - "members" : { - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "The error message returned by AWS Elemental MediaConnect." - } - }, - "documentation" : "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", - "required" : [ "Message" ], - "exception" : true, - "error" : { - "httpStatusCode" : 404 + "ListTagsForResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resourceArn", + "documentation": "The Amazon Resource Name (ARN) that identifies the AWS Elemental MediaConnect resource for which to list the tags." + } + }, + "required": [ + "ResourceArn" + ] + }, + "ListTagsForResourceResponse": { + "type": "structure", + "members": { + "Tags": { + "shape": "__mapOf__string", + "locationName": "tags", + "documentation": "A map from tag keys to values. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters." + } } }, - "Output" : { - "type" : "structure", - "members" : { - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "A description of the output." - }, - "Destination" : { - "shape" : "__string", - "locationName" : "destination", - "documentation" : "The address where you want to send the output." - }, - "Encryption" : { - "shape" : "Encryption", - "locationName" : "encryption", - "documentation" : "The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key)." - }, - "EntitlementArn" : { - "shape" : "__string", - "locationName" : "entitlementArn", - "documentation" : "The ARN of the entitlement on the originator''s flow. This value is relevant only on entitled flows." - }, - "MediaLiveInputArn" : { - "shape" : "__string", - "locationName" : "mediaLiveInputArn", - "documentation" : "The input ARN of the AWS Elemental MediaLive channel. This parameter is relevant only for outputs that were added by creating a MediaLive input." - }, - "Name" : { - "shape" : "__string", - "locationName" : "name", - "documentation" : "The name of the output. This value must be unique within the current flow." - }, - "OutputArn" : { - "shape" : "__string", - "locationName" : "outputArn", - "documentation" : "The ARN of the output." - }, - "Port" : { - "shape" : "__integer", - "locationName" : "port", - "documentation" : "The port to use when content is distributed to this output." - }, - "Transport" : { - "shape" : "Transport", - "locationName" : "transport", - "documentation" : "Attributes related to the transport stream that are used in the output." - } - }, - "documentation" : "The settings for an output.", - "required" : [ "OutputArn", "Name" ] - }, - "Protocol" : { - "type" : "string", - "enum" : [ "zixi-push", "rtp-fec", "rtp" ] - }, - "RemoveFlowOutputRequest" : { - "type" : "structure", - "members" : { - "FlowArn" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "flowArn", - "documentation" : "The flow that you want to remove an output from." - }, - "OutputArn" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "outputArn", - "documentation" : "The ARN of the output that you want to remove." - } - }, - "required" : [ "FlowArn", "OutputArn" ] - }, - "RemoveFlowOutputResponse" : { - "type" : "structure", - "members" : { - "FlowArn" : { - "shape" : "__string", - "locationName" : "flowArn", - "documentation" : "The ARN of the flow that is associated with the output you removed." - }, - "OutputArn" : { - "shape" : "__string", - "locationName" : "outputArn", - "documentation" : "The ARN of the output that was removed." + "ListedEntitlement": { + "type": "structure", + "members": { + "EntitlementArn": { + "shape": "__string", + "locationName": "entitlementArn", + "documentation": "The ARN of the entitlement." + }, + "EntitlementName": { + "shape": "__string", + "locationName": "entitlementName", + "documentation": "The name of the entitlement." + } + }, + "documentation": "An entitlement that has been granted to you from other AWS accounts.", + "required": [ + "EntitlementArn", + "EntitlementName" + ] + }, + "ListedFlow": { + "type": "structure", + "members": { + "AvailabilityZone": { + "shape": "__string", + "locationName": "availabilityZone", + "documentation": "The Availability Zone that the flow was created in." + }, + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "A description of the flow." + }, + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the flow." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the flow." + }, + "SourceType": { + "shape": "SourceType", + "locationName": "sourceType", + "documentation": "The type of source. This value is either owned (originated somewhere other than an AWS Elemental MediaConnect flow owned by another AWS account) or entitled (originated at an AWS Elemental MediaConnect flow owned by another AWS account)." + }, + "Status": { + "shape": "Status", + "locationName": "status", + "documentation": "The current status of the flow." } + }, + "documentation": "Provides a summary of a flow, including its ARN, Availability Zone, and source type.", + "required": [ + "Status", + "Description", + "SourceType", + "AvailabilityZone", + "FlowArn", + "Name" + ] + }, + "MaxResults": { + "type": "integer", + "min": 1, + "max": 1000 + }, + "Messages": { + "type": "structure", + "members": { + "Errors": { + "shape": "__listOf__string", + "locationName": "errors", + "documentation": "A list of errors that might have been generated from processes on this flow." + } + }, + "documentation": "Messages that provide the state of the flow.", + "required": [ + "Errors" + ] + }, + "NotFoundException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "The error message returned by AWS Elemental MediaConnect." + } + }, + "documentation": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "required": [ + "Message" + ], + "exception": true, + "error": { + "httpStatusCode": 404 } }, - "ResponseError" : { - "type" : "structure", - "members" : { - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "The error message returned by AWS Elemental MediaConnect." - } - }, - "documentation" : "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", - "required" : [ "Message" ] - }, - "RevokeFlowEntitlementRequest" : { - "type" : "structure", - "members" : { - "EntitlementArn" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "entitlementArn", - "documentation" : "The ARN of the entitlement that you want to revoke." - }, - "FlowArn" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "flowArn", - "documentation" : "The flow that you want to revoke an entitlement from." - } - }, - "required" : [ "FlowArn", "EntitlementArn" ] - }, - "RevokeFlowEntitlementResponse" : { - "type" : "structure", - "members" : { - "EntitlementArn" : { - "shape" : "__string", - "locationName" : "entitlementArn", - "documentation" : "The ARN of the entitlement that was revoked." - }, - "FlowArn" : { - "shape" : "__string", - "locationName" : "flowArn", - "documentation" : "The ARN of the flow that the entitlement was revoked from." + "Output": { + "type": "structure", + "members": { + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "A description of the output." + }, + "Destination": { + "shape": "__string", + "locationName": "destination", + "documentation": "The address where you want to send the output." + }, + "Encryption": { + "shape": "Encryption", + "locationName": "encryption", + "documentation": "The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key)." + }, + "EntitlementArn": { + "shape": "__string", + "locationName": "entitlementArn", + "documentation": "The ARN of the entitlement on the originator''s flow. This value is relevant only on entitled flows." + }, + "MediaLiveInputArn": { + "shape": "__string", + "locationName": "mediaLiveInputArn", + "documentation": "The input ARN of the AWS Elemental MediaLive channel. This parameter is relevant only for outputs that were added by creating a MediaLive input." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the output. This value must be unique within the current flow." + }, + "OutputArn": { + "shape": "__string", + "locationName": "outputArn", + "documentation": "The ARN of the output." + }, + "Port": { + "shape": "__integer", + "locationName": "port", + "documentation": "The port to use when content is distributed to this output." + }, + "Transport": { + "shape": "Transport", + "locationName": "transport", + "documentation": "Attributes related to the transport stream that are used in the output." + } + }, + "documentation": "The settings for an output.", + "required": [ + "OutputArn", + "Name" + ] + }, + "Protocol": { + "type": "string", + "enum": [ + "zixi-push", + "rtp-fec", + "rtp" + ] + }, + "RemoveFlowOutputRequest": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The flow that you want to remove an output from." + }, + "OutputArn": { + "shape": "__string", + "location": "uri", + "locationName": "outputArn", + "documentation": "The ARN of the output that you want to remove." + } + }, + "required": [ + "FlowArn", + "OutputArn" + ] + }, + "RemoveFlowOutputResponse": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the flow that is associated with the output you removed." + }, + "OutputArn": { + "shape": "__string", + "locationName": "outputArn", + "documentation": "The ARN of the output that was removed." } } }, - "ServiceUnavailableException" : { - "type" : "structure", - "members" : { - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "The error message returned by AWS Elemental MediaConnect." + "ResponseError": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "The error message returned by AWS Elemental MediaConnect." } }, - "documentation" : "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", - "required" : [ "Message" ], - "exception" : true, - "error" : { - "httpStatusCode" : 503 + "documentation": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "required": [ + "Message" + ] + }, + "RevokeFlowEntitlementRequest": { + "type": "structure", + "members": { + "EntitlementArn": { + "shape": "__string", + "location": "uri", + "locationName": "entitlementArn", + "documentation": "The ARN of the entitlement that you want to revoke." + }, + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The flow that you want to revoke an entitlement from." + } + }, + "required": [ + "FlowArn", + "EntitlementArn" + ] + }, + "RevokeFlowEntitlementResponse": { + "type": "structure", + "members": { + "EntitlementArn": { + "shape": "__string", + "locationName": "entitlementArn", + "documentation": "The ARN of the entitlement that was revoked." + }, + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the flow that the entitlement was revoked from." + } } }, - "SetSourceRequest" : { - "type" : "structure", - "members" : { - "Decryption" : { - "shape" : "Encryption", - "locationName" : "decryption", - "documentation" : "The type of encryption that is used on the content ingested from this source." - }, - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account." - }, - "EntitlementArn" : { - "shape" : "__string", - "locationName" : "entitlementArn", - "documentation" : "The ARN of the entitlement that allows you to subscribe to this flow. The entitlement is set by the flow originator, and the ARN is generated as part of the originator's flow." - }, - "IngestPort" : { - "shape" : "__integer", - "locationName" : "ingestPort", - "documentation" : "The port that the flow will be listening on for incoming content." - }, - "MaxBitrate" : { - "shape" : "__integer", - "locationName" : "maxBitrate", - "documentation" : "The smoothing max bitrate for RTP and RTP-FEC streams." - }, - "MaxLatency" : { - "shape" : "__integer", - "locationName" : "maxLatency", - "documentation" : "The maximum latency in milliseconds for Zixi-based streams." - }, - "Name" : { - "shape" : "__string", - "locationName" : "name", - "documentation" : "The name of the source." - }, - "Protocol" : { - "shape" : "Protocol", - "locationName" : "protocol", - "documentation" : "The protocol that is used by the source." - }, - "StreamId" : { - "shape" : "__string", - "locationName" : "streamId", - "documentation" : "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams." - }, - "WhitelistCidr" : { - "shape" : "__string", - "locationName" : "whitelistCidr", - "documentation" : "The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16." - } - }, - "documentation" : "The settings for the source of the flow." - }, - "Source" : { - "type" : "structure", - "members" : { - "Decryption" : { - "shape" : "Encryption", - "locationName" : "decryption", - "documentation" : "The type of encryption that is used on the content ingested from this source." - }, - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account." - }, - "EntitlementArn" : { - "shape" : "__string", - "locationName" : "entitlementArn", - "documentation" : "The ARN of the entitlement that allows you to subscribe to content that comes from another AWS account. The entitlement is set by the content originator and the ARN is generated as part of the originator's flow." - }, - "IngestIp" : { - "shape" : "__string", - "locationName" : "ingestIp", - "documentation" : "The IP address that the flow will be listening on for incoming content." - }, - "IngestPort" : { - "shape" : "__integer", - "locationName" : "ingestPort", - "documentation" : "The port that the flow will be listening on for incoming content." - }, - "Name" : { - "shape" : "__string", - "locationName" : "name", - "documentation" : "The name of the source." - }, - "SourceArn" : { - "shape" : "__string", - "locationName" : "sourceArn", - "documentation" : "The ARN of the source." - }, - "Transport" : { - "shape" : "Transport", - "locationName" : "transport", - "documentation" : "Attributes related to the transport stream that are used in the source." - }, - "WhitelistCidr" : { - "shape" : "__string", - "locationName" : "whitelistCidr", - "documentation" : "The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16." - } - }, - "documentation" : "The settings for the source of the flow.", - "required" : [ "SourceArn", "Name" ] - }, - "SourceType" : { - "type" : "string", - "enum" : [ "OWNED", "ENTITLED" ] - }, - "StartFlowRequest" : { - "type" : "structure", - "members" : { - "FlowArn" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "flowArn", - "documentation" : "The ARN of the flow that you want to start." - } - }, - "required" : [ "FlowArn" ] - }, - "StartFlowResponse" : { - "type" : "structure", - "members" : { - "FlowArn" : { - "shape" : "__string", - "locationName" : "flowArn", - "documentation" : "The ARN of the flow that you started." - }, - "Status" : { - "shape" : "Status", - "locationName" : "status", - "documentation" : "The status of the flow when the StartFlow process begins." + "ServiceUnavailableException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "The error message returned by AWS Elemental MediaConnect." } + }, + "documentation": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "required": [ + "Message" + ], + "exception": true, + "error": { + "httpStatusCode": 503 } }, - "Status" : { - "type" : "string", - "enum" : [ "STANDBY", "ACTIVE", "UPDATING", "DELETING", "STARTING", "STOPPING", "ERROR" ] - }, - "StopFlowRequest" : { - "type" : "structure", - "members" : { - "FlowArn" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "flowArn", - "documentation" : "The ARN of the flow that you want to stop." + "SetSourceRequest": { + "type": "structure", + "members": { + "Decryption": { + "shape": "Encryption", + "locationName": "decryption", + "documentation": "The type of encryption that is used on the content ingested from this source." + }, + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account." + }, + "EntitlementArn": { + "shape": "__string", + "locationName": "entitlementArn", + "documentation": "The ARN of the entitlement that allows you to subscribe to this flow. The entitlement is set by the flow originator, and the ARN is generated as part of the originator's flow." + }, + "IngestPort": { + "shape": "__integer", + "locationName": "ingestPort", + "documentation": "The port that the flow will be listening on for incoming content." + }, + "MaxBitrate": { + "shape": "__integer", + "locationName": "maxBitrate", + "documentation": "The smoothing max bitrate for RTP and RTP-FEC streams." + }, + "MaxLatency": { + "shape": "__integer", + "locationName": "maxLatency", + "documentation": "The maximum latency in milliseconds for Zixi-based streams." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the source." + }, + "Protocol": { + "shape": "Protocol", + "locationName": "protocol", + "documentation": "The protocol that is used by the source." + }, + "StreamId": { + "shape": "__string", + "locationName": "streamId", + "documentation": "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams." + }, + "WhitelistCidr": { + "shape": "__string", + "locationName": "whitelistCidr", + "documentation": "The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16." + } + }, + "documentation": "The settings for the source of the flow." + }, + "Source": { + "type": "structure", + "members": { + "Decryption": { + "shape": "Encryption", + "locationName": "decryption", + "documentation": "The type of encryption that is used on the content ingested from this source." + }, + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account." + }, + "EntitlementArn": { + "shape": "__string", + "locationName": "entitlementArn", + "documentation": "The ARN of the entitlement that allows you to subscribe to content that comes from another AWS account. The entitlement is set by the content originator and the ARN is generated as part of the originator's flow." + }, + "IngestIp": { + "shape": "__string", + "locationName": "ingestIp", + "documentation": "The IP address that the flow will be listening on for incoming content." + }, + "IngestPort": { + "shape": "__integer", + "locationName": "ingestPort", + "documentation": "The port that the flow will be listening on for incoming content." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the source." + }, + "SourceArn": { + "shape": "__string", + "locationName": "sourceArn", + "documentation": "The ARN of the source." + }, + "Transport": { + "shape": "Transport", + "locationName": "transport", + "documentation": "Attributes related to the transport stream that are used in the source." + }, + "WhitelistCidr": { + "shape": "__string", + "locationName": "whitelistCidr", + "documentation": "The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16." + } + }, + "documentation": "The settings for the source of the flow.", + "required": [ + "SourceArn", + "Name" + ] + }, + "SourceType": { + "type": "string", + "enum": [ + "OWNED", + "ENTITLED" + ] + }, + "StartFlowRequest": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The ARN of the flow that you want to start." } }, - "required" : [ "FlowArn" ] + "required": [ + "FlowArn" + ] + }, + "StartFlowResponse": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the flow that you started." + }, + "Status": { + "shape": "Status", + "locationName": "status", + "documentation": "The status of the flow when the StartFlow process begins." + } + } }, - "StopFlowResponse" : { - "type" : "structure", - "members" : { - "FlowArn" : { - "shape" : "__string", - "locationName" : "flowArn", - "documentation" : "The ARN of the flow that you stopped." - }, - "Status" : { - "shape" : "Status", - "locationName" : "status", - "documentation" : "The status of the flow when the StopFlow process begins." + "Status": { + "type": "string", + "enum": [ + "STANDBY", + "ACTIVE", + "UPDATING", + "DELETING", + "STARTING", + "STOPPING", + "ERROR" + ] + }, + "StopFlowRequest": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The ARN of the flow that you want to stop." + } + }, + "required": [ + "FlowArn" + ] + }, + "StopFlowResponse": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the flow that you stopped." + }, + "Status": { + "shape": "Status", + "locationName": "status", + "documentation": "The status of the flow when the StopFlow process begins." } } }, - "TooManyRequestsException" : { - "type" : "structure", - "members" : { - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "The error message returned by AWS Elemental MediaConnect." + "TagResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resourceArn", + "documentation": "The Amazon Resource Name (ARN) that identifies the AWS Elemental MediaConnect resource to which to add tags." + }, + "Tags": { + "shape": "__mapOf__string", + "locationName": "tags", + "documentation": "A map from tag keys to values. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters." } }, - "documentation" : "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", - "required" : [ "Message" ], - "exception" : true, - "error" : { - "httpStatusCode" : 429 + "documentation": "The tags to add to the resource. A tag is an array of key-value pairs. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.", + "required": [ + "ResourceArn", + "Tags" + ] + }, + "TooManyRequestsException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "The error message returned by AWS Elemental MediaConnect." + } + }, + "documentation": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "required": [ + "Message" + ], + "exception": true, + "error": { + "httpStatusCode": 429 } }, - "Transport" : { - "type" : "structure", - "members" : { - "MaxBitrate" : { - "shape" : "__integer", - "locationName" : "maxBitrate", - "documentation" : "The smoothing max bitrate for RTP and RTP-FEC streams." - }, - "MaxLatency" : { - "shape" : "__integer", - "locationName" : "maxLatency", - "documentation" : "The maximum latency in milliseconds for Zixi-based streams." - }, - "Protocol" : { - "shape" : "Protocol", - "locationName" : "protocol", - "documentation" : "The protocol that is used by the source or output." - }, - "SmoothingLatency" : { - "shape" : "__integer", - "locationName" : "smoothingLatency", - "documentation" : "The smoothing latency in milliseconds for RTP and RTP-FEC streams." - }, - "StreamId" : { - "shape" : "__string", - "locationName" : "streamId", - "documentation" : "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams." - } - }, - "documentation" : "Attributes related to the transport stream that are used in a source or output.", - "required" : [ "Protocol" ] - }, - "UpdateEncryption" : { - "type" : "structure", - "members" : { - "Algorithm" : { - "shape" : "Algorithm", - "locationName" : "algorithm", - "documentation" : "The type of algorithm that is used for the encryption (such as aes128, aes192, or aes256)." - }, - "KeyType" : { - "shape" : "KeyType", - "locationName" : "keyType", - "documentation" : "The type of key that is used for the encryption. If no keyType is provided, the service will use the default setting (static-key)." - }, - "RoleArn" : { - "shape" : "__string", - "locationName" : "roleArn", - "documentation" : "The ARN of the role that you created during setup (when you set up AWS Elemental MediaConnect as a trusted entity)." - }, - "SecretArn" : { - "shape" : "__string", - "locationName" : "secretArn", - "documentation" : "The ARN that was assigned to the secret that you created in AWS Secrets Manager to store the encryption key." - } - }, - "documentation" : "Information about the encryption of the flow." - }, - "UpdateFlowEntitlementRequest" : { - "type" : "structure", - "members" : { - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "A description of the entitlement. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the subscriber or end user." - }, - "Encryption" : { - "shape" : "UpdateEncryption", - "locationName" : "encryption", - "documentation" : "The type of encryption that will be used on the output associated with this entitlement." - }, - "EntitlementArn" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "entitlementArn", - "documentation" : "The ARN of the entitlement that you want to update." - }, - "FlowArn" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "flowArn", - "documentation" : "The flow that is associated with the entitlement that you want to update." - }, - "Subscribers" : { - "shape" : "__listOf__string", - "locationName" : "subscribers", - "documentation" : "The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flow using your content as the source." - } - }, - "documentation" : "The entitlement fields that you want to update.", - "required" : [ "FlowArn", "EntitlementArn" ] - }, - "UpdateFlowEntitlementResponse" : { - "type" : "structure", - "members" : { - "Entitlement" : { - "shape" : "Entitlement", - "locationName" : "entitlement" - }, - "FlowArn" : { - "shape" : "__string", - "locationName" : "flowArn", - "documentation" : "The ARN of the flow that this entitlement was granted on." + "Transport": { + "type": "structure", + "members": { + "MaxBitrate": { + "shape": "__integer", + "locationName": "maxBitrate", + "documentation": "The smoothing max bitrate for RTP and RTP-FEC streams." + }, + "MaxLatency": { + "shape": "__integer", + "locationName": "maxLatency", + "documentation": "The maximum latency in milliseconds for Zixi-based streams." + }, + "Protocol": { + "shape": "Protocol", + "locationName": "protocol", + "documentation": "The protocol that is used by the source or output." + }, + "SmoothingLatency": { + "shape": "__integer", + "locationName": "smoothingLatency", + "documentation": "The smoothing latency in milliseconds for RTP and RTP-FEC streams." + }, + "StreamId": { + "shape": "__string", + "locationName": "streamId", + "documentation": "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams." + } + }, + "documentation": "Attributes related to the transport stream that are used in a source or output.", + "required": [ + "Protocol" + ] + }, + "UntagResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resourceArn", + "documentation": "The Amazon Resource Name (ARN) that identifies the AWS Elemental MediaConnect resource from which to delete tags." + }, + "TagKeys": { + "shape": "__listOf__string", + "location": "querystring", + "locationName": "tagKeys", + "documentation": "The keys of the tags to be removed." + } + }, + "required": [ + "TagKeys", + "ResourceArn" + ] + }, + "UpdateEncryption": { + "type": "structure", + "members": { + "Algorithm": { + "shape": "Algorithm", + "locationName": "algorithm", + "documentation": "The type of algorithm that is used for the encryption (such as aes128, aes192, or aes256)." + }, + "ConstantInitializationVector": { + "shape": "__string", + "locationName": "constantInitializationVector", + "documentation": "A 128-bit, 16-byte hex value represented by a 32-character string, to be used with the key for encrypting content. This parameter is not valid for static key encryption." + }, + "DeviceId": { + "shape": "__string", + "locationName": "deviceId", + "documentation": "The value of one of the devices that you configured with your digital rights management (DRM) platform key provider. This parameter is required for SPEKE encryption and is not valid for static key encryption." + }, + "KeyType": { + "shape": "KeyType", + "locationName": "keyType", + "documentation": "The type of key that is used for the encryption. If no keyType is provided, the service will use the default setting (static-key)." + }, + "Region": { + "shape": "__string", + "locationName": "region", + "documentation": "The AWS Region that the API Gateway proxy endpoint was created in. This parameter is required for SPEKE encryption and is not valid for static key encryption." + }, + "ResourceId": { + "shape": "__string", + "locationName": "resourceId", + "documentation": "An identifier for the content. The service sends this value to the key server to identify the current endpoint. The resource ID is also known as the content ID. This parameter is required for SPEKE encryption and is not valid for static key encryption." + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn", + "documentation": "The ARN of the role that you created during setup (when you set up AWS Elemental MediaConnect as a trusted entity)." + }, + "SecretArn": { + "shape": "__string", + "locationName": "secretArn", + "documentation": "The ARN of the secret that you created in AWS Secrets Manager to store the encryption key. This parameter is required for static key encryption and is not valid for SPEKE encryption." + }, + "Url": { + "shape": "__string", + "locationName": "url", + "documentation": "The URL from the API Gateway proxy that you set up to talk to your key server. This parameter is required for SPEKE encryption and is not valid for static key encryption." + } + }, + "documentation": "Information about the encryption of the flow." + }, + "UpdateFlowEntitlementRequest": { + "type": "structure", + "members": { + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "A description of the entitlement. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the subscriber or end user." + }, + "Encryption": { + "shape": "UpdateEncryption", + "locationName": "encryption", + "documentation": "The type of encryption that will be used on the output associated with this entitlement." + }, + "EntitlementArn": { + "shape": "__string", + "location": "uri", + "locationName": "entitlementArn", + "documentation": "The ARN of the entitlement that you want to update." + }, + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The flow that is associated with the entitlement that you want to update." + }, + "Subscribers": { + "shape": "__listOf__string", + "locationName": "subscribers", + "documentation": "The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flow using your content as the source." + } + }, + "documentation": "The entitlement fields that you want to update.", + "required": [ + "FlowArn", + "EntitlementArn" + ] + }, + "UpdateFlowEntitlementResponse": { + "type": "structure", + "members": { + "Entitlement": { + "shape": "Entitlement", + "locationName": "entitlement" + }, + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the flow that this entitlement was granted on." } } }, - "UpdateFlowOutputRequest" : { - "type" : "structure", - "members" : { - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "A description of the output. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the end user." - }, - "Destination" : { - "shape" : "__string", - "locationName" : "destination", - "documentation" : "The IP address where you want to send the output." - }, - "Encryption" : { - "shape" : "UpdateEncryption", - "locationName" : "encryption", - "documentation" : "The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key)." - }, - "FlowArn" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "flowArn", - "documentation" : "The flow that is associated with the output that you want to update." - }, - "MaxLatency" : { - "shape" : "__integer", - "locationName" : "maxLatency", - "documentation" : "The maximum latency in milliseconds for Zixi-based streams." - }, - "OutputArn" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "outputArn", - "documentation" : "The ARN of the output that you want to update." - }, - "Port" : { - "shape" : "__integer", - "locationName" : "port", - "documentation" : "The port to use when content is distributed to this output." - }, - "Protocol" : { - "shape" : "Protocol", - "locationName" : "protocol", - "documentation" : "The protocol to use for the output." - }, - "SmoothingLatency" : { - "shape" : "__integer", - "locationName" : "smoothingLatency", - "documentation" : "The smoothing latency in milliseconds for RTP and RTP-FEC streams." - }, - "StreamId" : { - "shape" : "__string", - "locationName" : "streamId", - "documentation" : "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams." - } - }, - "documentation" : "The fields that you want to update in the output.", - "required" : [ "FlowArn", "OutputArn" ] - }, - "UpdateFlowOutputResponse" : { - "type" : "structure", - "members" : { - "FlowArn" : { - "shape" : "__string", - "locationName" : "flowArn", - "documentation" : "The ARN of the flow that is associated with the updated output." - }, - "Output" : { - "shape" : "Output", - "locationName" : "output" + "UpdateFlowOutputRequest": { + "type": "structure", + "members": { + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "A description of the output. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the end user." + }, + "Destination": { + "shape": "__string", + "locationName": "destination", + "documentation": "The IP address where you want to send the output." + }, + "Encryption": { + "shape": "UpdateEncryption", + "locationName": "encryption", + "documentation": "The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key)." + }, + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The flow that is associated with the output that you want to update." + }, + "MaxLatency": { + "shape": "__integer", + "locationName": "maxLatency", + "documentation": "The maximum latency in milliseconds for Zixi-based streams." + }, + "OutputArn": { + "shape": "__string", + "location": "uri", + "locationName": "outputArn", + "documentation": "The ARN of the output that you want to update." + }, + "Port": { + "shape": "__integer", + "locationName": "port", + "documentation": "The port to use when content is distributed to this output." + }, + "Protocol": { + "shape": "Protocol", + "locationName": "protocol", + "documentation": "The protocol to use for the output." + }, + "SmoothingLatency": { + "shape": "__integer", + "locationName": "smoothingLatency", + "documentation": "The smoothing latency in milliseconds for RTP and RTP-FEC streams." + }, + "StreamId": { + "shape": "__string", + "locationName": "streamId", + "documentation": "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams." + } + }, + "documentation": "The fields that you want to update in the output.", + "required": [ + "FlowArn", + "OutputArn" + ] + }, + "UpdateFlowOutputResponse": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the flow that is associated with the updated output." + }, + "Output": { + "shape": "Output", + "locationName": "output" } } }, - "UpdateFlowSourceRequest" : { - "type" : "structure", - "members" : { - "Decryption" : { - "shape" : "UpdateEncryption", - "locationName" : "decryption", - "documentation" : "The type of encryption used on the content ingested from this source." - }, - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account." - }, - "EntitlementArn" : { - "shape" : "__string", - "locationName" : "entitlementArn", - "documentation" : "The ARN of the entitlement that allows you to subscribe to this flow. The entitlement is set by the flow originator, and the ARN is generated as part of the originator's flow." - }, - "FlowArn" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "flowArn", - "documentation" : "The flow that is associated with the source that you want to update." - }, - "IngestPort" : { - "shape" : "__integer", - "locationName" : "ingestPort", - "documentation" : "The port that the flow will be listening on for incoming content." - }, - "MaxBitrate" : { - "shape" : "__integer", - "locationName" : "maxBitrate", - "documentation" : "The smoothing max bitrate for RTP and RTP-FEC streams." - }, - "MaxLatency" : { - "shape" : "__integer", - "locationName" : "maxLatency", - "documentation" : "The maximum latency in milliseconds for Zixi-based streams." - }, - "Protocol" : { - "shape" : "Protocol", - "locationName" : "protocol", - "documentation" : "The protocol that is used by the source." - }, - "SourceArn" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "sourceArn", - "documentation" : "The ARN of the source that you want to update." - }, - "StreamId" : { - "shape" : "__string", - "locationName" : "streamId", - "documentation" : "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams." - }, - "WhitelistCidr" : { - "shape" : "__string", - "locationName" : "whitelistCidr", - "documentation" : "The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16." - } - }, - "documentation" : "A request to update the source of a flow.", - "required" : [ "FlowArn", "SourceArn" ] - }, - "UpdateFlowSourceResponse" : { - "type" : "structure", - "members" : { - "FlowArn" : { - "shape" : "__string", - "locationName" : "flowArn", - "documentation" : "The ARN of the flow that you want to update." - }, - "Source" : { - "shape" : "Source", - "locationName" : "source", - "documentation" : "The settings for the source of the flow." + "UpdateFlowSourceRequest": { + "type": "structure", + "members": { + "Decryption": { + "shape": "UpdateEncryption", + "locationName": "decryption", + "documentation": "The type of encryption used on the content ingested from this source." + }, + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account." + }, + "EntitlementArn": { + "shape": "__string", + "locationName": "entitlementArn", + "documentation": "The ARN of the entitlement that allows you to subscribe to this flow. The entitlement is set by the flow originator, and the ARN is generated as part of the originator's flow." + }, + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The flow that is associated with the source that you want to update." + }, + "IngestPort": { + "shape": "__integer", + "locationName": "ingestPort", + "documentation": "The port that the flow will be listening on for incoming content." + }, + "MaxBitrate": { + "shape": "__integer", + "locationName": "maxBitrate", + "documentation": "The smoothing max bitrate for RTP and RTP-FEC streams." + }, + "MaxLatency": { + "shape": "__integer", + "locationName": "maxLatency", + "documentation": "The maximum latency in milliseconds for Zixi-based streams." + }, + "Protocol": { + "shape": "Protocol", + "locationName": "protocol", + "documentation": "The protocol that is used by the source." + }, + "SourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "sourceArn", + "documentation": "The ARN of the source that you want to update." + }, + "StreamId": { + "shape": "__string", + "locationName": "streamId", + "documentation": "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams." + }, + "WhitelistCidr": { + "shape": "__string", + "locationName": "whitelistCidr", + "documentation": "The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16." + } + }, + "documentation": "A request to update the source of a flow.", + "required": [ + "FlowArn", + "SourceArn" + ] + }, + "UpdateFlowSourceResponse": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the flow that you want to update." + }, + "Source": { + "shape": "Source", + "locationName": "source", + "documentation": "The settings for the source of the flow." } } }, - "__boolean" : { - "type" : "boolean" + "__boolean": { + "type": "boolean" }, - "__double" : { - "type" : "double" + "__double": { + "type": "double" }, - "__integer" : { - "type" : "integer" + "__integer": { + "type": "integer" }, - "__listOfAddOutputRequest" : { - "type" : "list", - "member" : { - "shape" : "AddOutputRequest" + "__listOfAddOutputRequest": { + "type": "list", + "member": { + "shape": "AddOutputRequest" } }, - "__listOfEntitlement" : { - "type" : "list", - "member" : { - "shape" : "Entitlement" + "__listOfEntitlement": { + "type": "list", + "member": { + "shape": "Entitlement" } }, - "__listOfGrantEntitlementRequest" : { - "type" : "list", - "member" : { - "shape" : "GrantEntitlementRequest" + "__listOfGrantEntitlementRequest": { + "type": "list", + "member": { + "shape": "GrantEntitlementRequest" } }, - "__listOfListedEntitlement" : { - "type" : "list", - "member" : { - "shape" : "ListedEntitlement" + "__listOfListedEntitlement": { + "type": "list", + "member": { + "shape": "ListedEntitlement" } }, - "__listOfListedFlow" : { - "type" : "list", - "member" : { - "shape" : "ListedFlow" + "__listOfListedFlow": { + "type": "list", + "member": { + "shape": "ListedFlow" } }, - "__listOfOutput" : { - "type" : "list", - "member" : { - "shape" : "Output" + "__listOfOutput": { + "type": "list", + "member": { + "shape": "Output" } }, - "__listOf__string" : { - "type" : "list", - "member" : { - "shape" : "__string" + "__listOf__string": { + "type": "list", + "member": { + "shape": "__string" } }, - "__long" : { - "type" : "long" + "__long": { + "type": "long" + }, + "__mapOf__string": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "__string" + } }, - "__string" : { - "type" : "string" + "__string": { + "type": "string" }, - "__timestampIso8601" : { - "type" : "timestamp", - "timestampFormat" : "iso8601" + "__timestampIso8601": { + "type": "timestamp", + "timestampFormat": "iso8601" }, - "__timestampUnix" : { - "type" : "timestamp", - "timestampFormat" : "unixTimestamp" + "__timestampUnix": { + "type": "timestamp", + "timestampFormat": "unixTimestamp" } }, - "documentation" : "API for AWS Elemental MediaConnect" -} \ No newline at end of file + "documentation": "API for AWS Elemental MediaConnect" +} diff --git a/bin/botocore/data/mediaconvert/2017-08-29/service-2.json b/bin/botocore/data/mediaconvert/2017-08-29/service-2.json index 4c2c3529..10ba9ed2 100644 --- a/bin/botocore/data/mediaconvert/2017-08-29/service-2.json +++ b/bin/botocore/data/mediaconvert/2017-08-29/service-2.json @@ -92,7 +92,7 @@ "documentation": "The service couldn't complete your request because there is a conflict with the current state of the resource." } ], - "documentation": "Permanently remove a job from a queue. Once you have canceled a job, you can't start it again. You can't delete a running job." + "documentation": "Permanently cancel a job. Once you have canceled a job, you can't start it again." }, "CreateJob": { "name": "CreateJob", @@ -1088,28 +1088,33 @@ "members": { "AudioDescriptionBroadcasterMix": { "shape": "AacAudioDescriptionBroadcasterMix", - "locationName": "audioDescriptionBroadcasterMix" + "locationName": "audioDescriptionBroadcasterMix", + "documentation": "Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio + audio description (AD) as a stereo pair. The value for AudioType will be set to 3, which signals to downstream systems that this stream contains \"broadcaster mixed AD\". Note that the input received by the encoder must contain pre-mixed audio; the encoder does not perform the mixing. When you choose BROADCASTER_MIXED_AD, the encoder ignores any values you provide in AudioType and FollowInputAudioType. Choose NORMAL when the input does not contain pre-mixed audio + audio description (AD). In this case, the encoder will use any values you provide for AudioType and FollowInputAudioType." }, "Bitrate": { "shape": "__integerMin6000Max1024000", "locationName": "bitrate", - "documentation": "Average bitrate in bits/second. Defaults and valid values depend on rate control mode and profile." + "documentation": "Average bitrate in bits/second. The set of valid values for this setting is: 6000, 8000, 10000, 12000, 14000, 16000, 20000, 24000, 28000, 32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000, 128000, 160000, 192000, 224000, 256000, 288000, 320000, 384000, 448000, 512000, 576000, 640000, 768000, 896000, 1024000. The value you set is also constrained by the values you choose for Profile (codecProfile), Bitrate control mode (codingMode), and Sample rate (sampleRate). Default values depend on Bitrate control mode and Profile." }, "CodecProfile": { "shape": "AacCodecProfile", - "locationName": "codecProfile" + "locationName": "codecProfile", + "documentation": "AAC Profile." }, "CodingMode": { "shape": "AacCodingMode", - "locationName": "codingMode" + "locationName": "codingMode", + "documentation": "Mono (Audio Description), Mono, Stereo, or 5.1 channel layout. Valid values depend on rate control mode and profile. \"1.0 - Audio Description (Receiver Mix)\" setting receives a stereo description plus control track and emits a mono AAC encode of the description track, with control data emitted in the PES header as per ETSI TS 101 154 Annex E." }, "RateControlMode": { "shape": "AacRateControlMode", - "locationName": "rateControlMode" + "locationName": "rateControlMode", + "documentation": "Rate Control Mode." }, "RawFormat": { "shape": "AacRawFormat", - "locationName": "rawFormat" + "locationName": "rawFormat", + "documentation": "Enables LATM/LOAS AAC output. Note that if you use LATM/LOAS AAC in an output, you must choose \"No container\" for the output container." }, "SampleRate": { "shape": "__integerMin8000Max96000", @@ -1118,11 +1123,13 @@ }, "Specification": { "shape": "AacSpecification", - "locationName": "specification" + "locationName": "specification", + "documentation": "Use MPEG-2 AAC instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream containers." }, "VbrQuality": { "shape": "AacVbrQuality", - "locationName": "vbrQuality" + "locationName": "vbrQuality", + "documentation": "VBR Quality Level - Only used if rate_control_mode is VBR." } }, "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value AAC. The service accepts one of two mutually exclusive groups of AAC settings--VBR and CBR. To select one of these modes, set the value of Bitrate control mode (rateControlMode) to \"VBR\" or \"CBR\". In VBR mode, you control the audio quality with the setting VBR quality (vbrQuality). In CBR mode, you use the setting Bitrate (bitrate). Defaults and valid values depend on the rate control mode." @@ -1203,11 +1210,13 @@ }, "BitstreamMode": { "shape": "Ac3BitstreamMode", - "locationName": "bitstreamMode" + "locationName": "bitstreamMode", + "documentation": "Specifies the \"Bitstream Mode\" (bsmod) for the emitted AC-3 stream. See ATSC A/52-2012 for background on these values." }, "CodingMode": { "shape": "Ac3CodingMode", - "locationName": "codingMode" + "locationName": "codingMode", + "documentation": "Dolby Digital coding mode. Determines number of channels." }, "Dialnorm": { "shape": "__integerMin1Max31", @@ -1216,15 +1225,18 @@ }, "DynamicRangeCompressionProfile": { "shape": "Ac3DynamicRangeCompressionProfile", - "locationName": "dynamicRangeCompressionProfile" + "locationName": "dynamicRangeCompressionProfile", + "documentation": "If set to FILM_STANDARD, adds dynamic range compression signaling to the output bitstream as defined in the Dolby Digital specification." }, "LfeFilter": { "shape": "Ac3LfeFilter", - "locationName": "lfeFilter" + "locationName": "lfeFilter", + "documentation": "Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with 3_2_LFE coding mode." }, "MetadataControl": { "shape": "Ac3MetadataControl", - "locationName": "metadataControl" + "locationName": "metadataControl", + "documentation": "When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used." }, "SampleRate": { "shape": "__integerMin48000Max48000", @@ -1234,9 +1246,31 @@ }, "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value AC3." }, + "AccelerationMode": { + "type": "string", + "documentation": "Enable Acceleration (AccelerationMode) on any job that you want processed with accelerated transcoding.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "AccelerationSettings": { + "type": "structure", + "members": { + "Mode": { + "shape": "AccelerationMode", + "locationName": "mode", + "documentation": "Acceleration configuration for the job." + } + }, + "documentation": "Accelerated transcoding can significantly speed up jobs with long, visually complex content. Outputs that use this feature incur pro-tier pricing. For information about feature limitations, see the AWS Elemental MediaConvert User Guide.", + "required": [ + "Mode" + ] + }, "AfdSignaling": { "type": "string", - "documentation": "This setting only applies to H.264, H.265, and MPEG2 outputs. Use Insert AFD signaling (AfdSignaling) to specify whether the service includes AFD values in the output video data and what those values are. * Choose None to remove all AFD values from this output. * Choose Fixed to ignore input AFD values and instead encode the value specified in the job. * Choose Auto to calculate output AFD values based on the input AFD scaler data.", + "documentation": "This setting only applies to H.264, H.265, and MPEG2 outputs. Use Insert AFD signaling (AfdSignaling) to specify whether the service includes AFD values in the output video data and what those values are. * Choose None to remove all AFD values from this output. * Choose Fixed to ignore input AFD values and instead encode the value specified in the job. * Choose Auto to calculate output AFD values based on the input AFD scaler data.", "enum": [ "NONE", "AUTO", @@ -1277,7 +1311,7 @@ }, "AntiAlias": { "type": "string", - "documentation": "Enable Anti-alias (AntiAlias) to enhance sharp edges in video output when your input resolution is much larger than your output resolution. Default is enabled.", + "documentation": "The service automatically applies the anti-alias filter to all outputs. The service no longer accepts the value DISABLED for AntiAlias. If you specify that in your job, the service will ignore the setting.", "enum": [ "DISABLED", "ENABLED" @@ -1319,31 +1353,38 @@ "members": { "AacSettings": { "shape": "AacSettings", - "locationName": "aacSettings" + "locationName": "aacSettings", + "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value AAC. The service accepts one of two mutually exclusive groups of AAC settings--VBR and CBR. To select one of these modes, set the value of Bitrate control mode (rateControlMode) to \"VBR\" or \"CBR\". In VBR mode, you control the audio quality with the setting VBR quality (vbrQuality). In CBR mode, you use the setting Bitrate (bitrate). Defaults and valid values depend on the rate control mode." }, "Ac3Settings": { "shape": "Ac3Settings", - "locationName": "ac3Settings" + "locationName": "ac3Settings", + "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value AC3." }, "AiffSettings": { "shape": "AiffSettings", - "locationName": "aiffSettings" + "locationName": "aiffSettings", + "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value AIFF." }, "Codec": { "shape": "AudioCodec", - "locationName": "codec" + "locationName": "codec", + "documentation": "Type of Audio codec." }, "Eac3Settings": { "shape": "Eac3Settings", - "locationName": "eac3Settings" + "locationName": "eac3Settings", + "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value EAC3." }, "Mp2Settings": { "shape": "Mp2Settings", - "locationName": "mp2Settings" + "locationName": "mp2Settings", + "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value MP2." }, "WavSettings": { "shape": "WavSettings", - "locationName": "wavSettings" + "locationName": "wavSettings", + "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value WAV." } }, "documentation": "Audio codec settings (CodecSettings) under (AudioDescriptions) contains the group of settings related to audio encoding. The settings in this group vary depending on the value you choose for Audio codec (Codec). For each codec enum you choose, define the corresponding settings object. The following lists the codec enum, settings object pairs. * AAC, AacSettings * MP2, Mp2Settings * WAV, WavSettings * AIFF, AiffSettings * AC3, Ac3Settings * EAC3, Eac3Settings" @@ -1361,7 +1402,8 @@ "members": { "AudioNormalizationSettings": { "shape": "AudioNormalizationSettings", - "locationName": "audioNormalizationSettings" + "locationName": "audioNormalizationSettings", + "documentation": "Advanced audio normalization settings." }, "AudioSourceName": { "shape": "__string", @@ -1375,11 +1417,13 @@ }, "AudioTypeControl": { "shape": "AudioTypeControl", - "locationName": "audioTypeControl" + "locationName": "audioTypeControl", + "documentation": "When set to FOLLOW_INPUT, if the input contains an ISO 639 audio_type, then that value is passed through to the output. If the input contains no ISO 639 audio_type, the value in Audio Type is included in the output. Otherwise the value in Audio Type is included in the output. Note that this field and audioType are both ignored if audioDescriptionBroadcasterMix is set to BROADCASTER_MIXED_AD." }, "CodecSettings": { "shape": "AudioCodecSettings", - "locationName": "codecSettings" + "locationName": "codecSettings", + "documentation": "Audio codec settings (CodecSettings) under (AudioDescriptions) contains the group of settings related to audio encoding. The settings in this group vary depending on the value you choose for Audio codec (Codec). For each codec enum you choose, define the corresponding settings object. The following lists the codec enum, settings object pairs. * AAC, AacSettings * MP2, Mp2Settings * WAV, WavSettings * AIFF, AiffSettings * AC3, Ac3Settings * EAC3, Eac3Settings" }, "CustomLanguageCode": { "shape": "__stringMin3Max3PatternAZaZ3", @@ -1393,7 +1437,8 @@ }, "LanguageCodeControl": { "shape": "AudioLanguageCodeControl", - "locationName": "languageCodeControl" + "locationName": "languageCodeControl", + "documentation": "Choosing FOLLOW_INPUT will cause the ISO 639 language code of the output to follow the ISO 639 language code of the input. The language specified for languageCode' will be used when USE_CONFIGURED is selected or when FOLLOW_INPUT is selected but there is no ISO 639 language code specified by the input." }, "RemixSettings": { "shape": "RemixSettings", @@ -1453,11 +1498,13 @@ "members": { "Algorithm": { "shape": "AudioNormalizationAlgorithm", - "locationName": "algorithm" + "locationName": "algorithm", + "documentation": "Audio normalization algorithm to use. 1770-1 conforms to the CALM Act specification, 1770-2 conforms to the EBU R-128 specification." }, "AlgorithmControl": { "shape": "AudioNormalizationAlgorithmControl", - "locationName": "algorithmControl" + "locationName": "algorithmControl", + "documentation": "When enabled the output audio is corrected using the chosen algorithm. If disabled, the audio will be measured but not adjusted." }, "CorrectionGateLevel": { "shape": "__integerMinNegative70Max0", @@ -1466,11 +1513,13 @@ }, "LoudnessLogging": { "shape": "AudioNormalizationLoudnessLogging", - "locationName": "loudnessLogging" + "locationName": "loudnessLogging", + "documentation": "If set to LOG, log each output's audio track loudness to a CSV file." }, "PeakCalculation": { "shape": "AudioNormalizationPeakCalculation", - "locationName": "peakCalculation" + "locationName": "peakCalculation", + "documentation": "If set to TRUE_PEAK, calculate and log the TruePeak for each output's audio track loudness." }, "TargetLkfs": { "shape": "__doubleMinNegative59Max0", @@ -1490,7 +1539,8 @@ }, "DefaultSelection": { "shape": "AudioDefaultSelection", - "locationName": "defaultSelection" + "locationName": "defaultSelection", + "documentation": "Enable this setting on one audio selector to set it as the default for the job. The service uses this default for outputs where it can't find the specified input audio. If you don't set a default, those outputs have no audio." }, "ExternalAudioFileInput": { "shape": "__stringPatternS3MM2VVMMPPEEGGAAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMAAAACCAAIIFFFFMMPP2AACC3EECC3DDTTSSEE", @@ -1524,7 +1574,8 @@ }, "SelectorType": { "shape": "AudioSelectorType", - "locationName": "selectorType" + "locationName": "selectorType", + "documentation": "Specifies the type of the audio selector." }, "Tracks": { "shape": "__listOf__integerMin1Max2147483647", @@ -1601,11 +1652,13 @@ "members": { "Alignment": { "shape": "BurninSubtitleAlignment", - "locationName": "alignment" + "locationName": "alignment", + "documentation": "If no explicit x_position or y_position is provided, setting alignment to centered will place the captions at the bottom center of the output. Similarly, setting a left alignment will align captions to the bottom left of the output. If x and y positions are given in conjunction with the alignment parameter, the font will be justified (either left or centered) relative to those coordinates. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." }, "BackgroundColor": { "shape": "BurninSubtitleBackgroundColor", - "locationName": "backgroundColor" + "locationName": "backgroundColor", + "documentation": "Specifies the color of the rectangle behind the captions.\nAll burn-in and DVB-Sub font settings must match." }, "BackgroundOpacity": { "shape": "__integerMin0Max255", @@ -1614,7 +1667,8 @@ }, "FontColor": { "shape": "BurninSubtitleFontColor", - "locationName": "fontColor" + "locationName": "fontColor", + "documentation": "Specifies the color of the burned-in captions. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." }, "FontOpacity": { "shape": "__integerMin0Max255", @@ -1626,6 +1680,11 @@ "locationName": "fontResolution", "documentation": "Font resolution in DPI (dots per inch); default is 96 dpi.\nAll burn-in and DVB-Sub font settings must match." }, + "FontScript": { + "shape": "FontScript", + "locationName": "fontScript", + "documentation": "Provide the font script, using an ISO 15924 script code, if the LanguageCode is not sufficient for determining the script type. Where LanguageCode or CustomLanguageCode is sufficient, use \"AUTOMATIC\" or leave unset. This is used to help determine the appropriate font for rendering burn-in captions." + }, "FontSize": { "shape": "__integerMin0Max96", "locationName": "fontSize", @@ -1633,7 +1692,8 @@ }, "OutlineColor": { "shape": "BurninSubtitleOutlineColor", - "locationName": "outlineColor" + "locationName": "outlineColor", + "documentation": "Specifies font outline color. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." }, "OutlineSize": { "shape": "__integerMin0Max10", @@ -1642,7 +1702,8 @@ }, "ShadowColor": { "shape": "BurninSubtitleShadowColor", - "locationName": "shadowColor" + "locationName": "shadowColor", + "documentation": "Specifies the color of the shadow cast by the captions.\nAll burn-in and DVB-Sub font settings must match." }, "ShadowOpacity": { "shape": "__integerMin0Max255", @@ -1661,7 +1722,8 @@ }, "TeletextSpacing": { "shape": "BurninSubtitleTeletextSpacing", - "locationName": "teletextSpacing" + "locationName": "teletextSpacing", + "documentation": "Only applies to jobs with input captions in Teletext or STL formats. Specify whether the spacing between letters in your captions is set by the captions grid or varies depending on letter width. Choose fixed grid to conform to the spacing specified in the captions file more accurately. Choose proportional to make the text easier to read if the captions are closed caption." }, "XPosition": { "shape": "__integerMin0Max2147483647", @@ -1764,16 +1826,17 @@ "CustomLanguageCode": { "shape": "__stringMin3Max3PatternAZaZ3", "locationName": "customLanguageCode", - "documentation": "Indicates the language of the caption output track, using the ISO 639-2 or ISO 639-3 three-letter language code" + "documentation": "Indicates the language of the caption output track, using the ISO 639-2 or ISO 639-3 three-letter language code. For most captions output formats, the encoder puts this language information in the output captions metadata. If your output captions format is DVB-Sub or Burn in, the encoder uses this language information to choose the font language for rendering the captions text." }, "DestinationSettings": { "shape": "CaptionDestinationSettings", - "locationName": "destinationSettings" + "locationName": "destinationSettings", + "documentation": "Specific settings required by destination type. Note that burnin_destination_settings are not available if the source of the caption data is Embedded or Teletext." }, "LanguageCode": { "shape": "LanguageCode", "locationName": "languageCode", - "documentation": "Indicates the language of the caption output track." + "documentation": "Specify the language of this captions output track. For most captions output formats, the encoder puts this language information in the output captions metadata. If your output captions format is DVB-Sub or Burn in, the encoder uses this language information to choose the font language for rendering the captions text." }, "LanguageDescription": { "shape": "__string", @@ -1789,16 +1852,17 @@ "CustomLanguageCode": { "shape": "__stringMin3Max3PatternAZaZ3", "locationName": "customLanguageCode", - "documentation": "Indicates the language of the caption output track, using the ISO 639-2 or ISO 639-3 three-letter language code" + "documentation": "Indicates the language of the caption output track, using the ISO 639-2 or ISO 639-3 three-letter language code. For most captions output formats, the encoder puts this language information in the output captions metadata. If your output captions format is DVB-Sub or Burn in, the encoder uses this language information to choose the font language for rendering the captions text." }, "DestinationSettings": { "shape": "CaptionDestinationSettings", - "locationName": "destinationSettings" + "locationName": "destinationSettings", + "documentation": "Specific settings required by destination type. Note that burnin_destination_settings are not available if the source of the caption data is Embedded or Teletext." }, "LanguageCode": { "shape": "LanguageCode", "locationName": "languageCode", - "documentation": "Indicates the language of the caption output track." + "documentation": "Specify the language of this captions output track. For most captions output formats, the encoder puts this language information in the output captions metadata. If your output captions format is DVB-Sub or Burn in, the encoder uses this language information to choose the font language for rendering the captions text." }, "LanguageDescription": { "shape": "__string", @@ -1813,34 +1877,45 @@ "members": { "BurninDestinationSettings": { "shape": "BurninDestinationSettings", - "locationName": "burninDestinationSettings" + "locationName": "burninDestinationSettings", + "documentation": "Burn-In Destination Settings." }, "DestinationType": { "shape": "CaptionDestinationType", - "locationName": "destinationType" + "locationName": "destinationType", + "documentation": "Specify the format for this set of captions on this output. The default format is embedded without SCTE-20. Other options are embedded with SCTE-20, burn-in, DVB-sub, SCC, SRT, teletext, TTML, and web-VTT. If you are using SCTE-20, choose SCTE-20 plus embedded (SCTE20_PLUS_EMBEDDED) to create an output that complies with the SCTE-43 spec. To create a non-compliant output where the embedded captions come first, choose Embedded plus SCTE-20 (EMBEDDED_PLUS_SCTE20)." }, "DvbSubDestinationSettings": { "shape": "DvbSubDestinationSettings", - "locationName": "dvbSubDestinationSettings" + "locationName": "dvbSubDestinationSettings", + "documentation": "DVB-Sub Destination Settings" + }, + "EmbeddedDestinationSettings": { + "shape": "EmbeddedDestinationSettings", + "locationName": "embeddedDestinationSettings", + "documentation": "Settings specific to embedded/ancillary caption outputs, including 608/708 Channel destination number." }, "SccDestinationSettings": { "shape": "SccDestinationSettings", - "locationName": "sccDestinationSettings" + "locationName": "sccDestinationSettings", + "documentation": "Settings for SCC caption output." }, "TeletextDestinationSettings": { "shape": "TeletextDestinationSettings", - "locationName": "teletextDestinationSettings" + "locationName": "teletextDestinationSettings", + "documentation": "Settings for Teletext caption output" }, "TtmlDestinationSettings": { "shape": "TtmlDestinationSettings", - "locationName": "ttmlDestinationSettings" + "locationName": "ttmlDestinationSettings", + "documentation": "Settings specific to TTML caption outputs, including Pass style information (TtmlStylePassthrough)." } }, "documentation": "Specific settings required by destination type. Note that burnin_destination_settings are not available if the source of the caption data is Embedded or Teletext." }, "CaptionDestinationType": { "type": "string", - "documentation": "Type of Caption output, including Burn-In, Embedded (with or without SCTE20), SCC, SMI, SRT, TTML, WebVTT, DVB-Sub, Teletext.", + "documentation": "Specify the format for this set of captions on this output. The default format is embedded without SCTE-20. Other options are embedded with SCTE-20, burn-in, DVB-sub, SCC, SRT, teletext, TTML, and web-VTT. If you are using SCTE-20, choose SCTE-20 plus embedded (SCTE20_PLUS_EMBEDDED) to create an output that complies with the SCTE-43 spec. To create a non-compliant output where the embedded captions come first, choose Embedded plus SCTE-20 (EMBEDDED_PLUS_SCTE20).", "enum": [ "BURN_IN", "DVB_SUB", @@ -1870,7 +1945,8 @@ }, "SourceSettings": { "shape": "CaptionSourceSettings", - "locationName": "sourceSettings" + "locationName": "sourceSettings", + "documentation": "Source settings (SourceSettings) contains the group of settings for captions in the input." } }, "documentation": "Set up captions in your outputs by first selecting them from your input here." @@ -1880,27 +1956,38 @@ "members": { "AncillarySourceSettings": { "shape": "AncillarySourceSettings", - "locationName": "ancillarySourceSettings" + "locationName": "ancillarySourceSettings", + "documentation": "Settings for ancillary captions source." }, "DvbSubSourceSettings": { "shape": "DvbSubSourceSettings", - "locationName": "dvbSubSourceSettings" + "locationName": "dvbSubSourceSettings", + "documentation": "DVB Sub Source Settings" }, "EmbeddedSourceSettings": { "shape": "EmbeddedSourceSettings", - "locationName": "embeddedSourceSettings" + "locationName": "embeddedSourceSettings", + "documentation": "Settings for embedded captions Source" }, "FileSourceSettings": { "shape": "FileSourceSettings", - "locationName": "fileSourceSettings" + "locationName": "fileSourceSettings", + "documentation": "Settings for File-based Captions in Source" }, "SourceType": { "shape": "CaptionSourceType", - "locationName": "sourceType" + "locationName": "sourceType", + "documentation": "Use Source (SourceType) to identify the format of your input captions. The service cannot auto-detect caption format." }, "TeletextSourceSettings": { "shape": "TeletextSourceSettings", - "locationName": "teletextSourceSettings" + "locationName": "teletextSourceSettings", + "documentation": "Settings specific to Teletext caption sources, including Page number." + }, + "TrackSourceSettings": { + "shape": "TrackSourceSettings", + "locationName": "trackSourceSettings", + "documentation": "Settings specific to caption sources that are specfied by track number. Sources include IMSC in IMF." } }, "documentation": "Source settings (SourceSettings) contains the group of settings for captions in the input." @@ -1919,7 +2006,8 @@ "SRT", "SMI", "TELETEXT", - "NULL_SOURCE" + "NULL_SOURCE", + "IMSC" ] }, "ChannelMapping": { @@ -1959,19 +2047,23 @@ }, "EncryptionMethod": { "shape": "CmafEncryptionType", - "locationName": "encryptionMethod" + "locationName": "encryptionMethod", + "documentation": "Encrypts the segments with the given encryption scheme. Leave blank to disable. Selecting 'Disabled' in the web interface also disables encryption." }, "InitializationVectorInManifest": { "shape": "CmafInitializationVectorInManifest", - "locationName": "initializationVectorInManifest" + "locationName": "initializationVectorInManifest", + "documentation": "The Initialization Vector is a 128-bit number used in conjunction with the key for encrypting blocks. If set to INCLUDE, Initialization Vector is listed in the manifest. Otherwise Initialization Vector is not in the manifest." }, "StaticKeyProvider": { "shape": "StaticKeyProvider", - "locationName": "staticKeyProvider" + "locationName": "staticKeyProvider", + "documentation": "Use these settings to set up encryption with a static key provider." }, "Type": { "shape": "CmafKeyProviderType", - "locationName": "type" + "locationName": "type", + "documentation": "Indicates which type of key provider is used for encryption." } }, "documentation": "Settings for CMAF encryption" @@ -1993,17 +2085,24 @@ }, "ClientCache": { "shape": "CmafClientCache", - "locationName": "clientCache" + "locationName": "clientCache", + "documentation": "When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client from saving media segments for later replay." }, "CodecSpecification": { "shape": "CmafCodecSpecification", - "locationName": "codecSpecification" + "locationName": "codecSpecification", + "documentation": "Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation." }, "Destination": { "shape": "__stringPatternS3", "locationName": "destination", "documentation": "Use Destination (Destination) to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file." }, + "DestinationSettings": { + "shape": "DestinationSettings", + "locationName": "destinationSettings", + "documentation": "Settings associated with the destination. Will vary based on the type of destination" + }, "Encryption": { "shape": "CmafEncryptionSettings", "locationName": "encryption", @@ -2016,11 +2115,13 @@ }, "ManifestCompression": { "shape": "CmafManifestCompression", - "locationName": "manifestCompression" + "locationName": "manifestCompression", + "documentation": "When set to GZIP, compresses HLS playlist." }, "ManifestDurationFormat": { "shape": "CmafManifestDurationFormat", - "locationName": "manifestDurationFormat" + "locationName": "manifestDurationFormat", + "documentation": "Indicates whether the output manifest should use floating point values for segment duration." }, "MinBufferTime": { "shape": "__integerMin0Max2147483647", @@ -2034,7 +2135,8 @@ }, "SegmentControl": { "shape": "CmafSegmentControl", - "locationName": "segmentControl" + "locationName": "segmentControl", + "documentation": "When set to SINGLE_FILE, a single output file is generated, which is internally segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, separate segment files will be created." }, "SegmentLength": { "shape": "__integerMin1Max2147483647", @@ -2043,15 +2145,18 @@ }, "StreamInfResolution": { "shape": "CmafStreamInfResolution", - "locationName": "streamInfResolution" + "locationName": "streamInfResolution", + "documentation": "Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest." }, "WriteDashManifest": { "shape": "CmafWriteDASHManifest", - "locationName": "writeDashManifest" + "locationName": "writeDashManifest", + "documentation": "When set to ENABLED, a DASH MPD manifest will be generated for this output." }, "WriteHlsManifest": { "shape": "CmafWriteHLSManifest", - "locationName": "writeHlsManifest" + "locationName": "writeHlsManifest", + "documentation": "When set to ENABLED, an Apple HLS manifest will be generated for this output." } }, "documentation": "Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to CMAF_GROUP_SETTINGS. Each output in a CMAF Output Group may only contain a single video, audio, or caption output." @@ -2129,7 +2234,8 @@ }, "ColorSpaceConversion": { "shape": "ColorSpaceConversion", - "locationName": "colorSpaceConversion" + "locationName": "colorSpaceConversion", + "documentation": "Determines if colorspace conversion will be performed. If set to _None_, no conversion will be performed. If _Force 601_ or _Force 709_ are selected, conversion will be performed for inputs with differing colorspaces. An input's colorspace can be specified explicitly in the \"Video Selector\":#inputs-video_selector if necessary." }, "Contrast": { "shape": "__integerMin1Max100", @@ -2138,7 +2244,8 @@ }, "Hdr10Metadata": { "shape": "Hdr10Metadata", - "locationName": "hdr10Metadata" + "locationName": "hdr10Metadata", + "documentation": "Use the HDR master display (Hdr10Metadata) settings to correct HDR metadata or to provide missing metadata. Note that these settings are not color correction." }, "Hue": { "shape": "__integerMinNegative180Max180", @@ -2217,27 +2324,33 @@ "members": { "Container": { "shape": "ContainerType", - "locationName": "container" + "locationName": "container", + "documentation": "Container for this output. Some containers require a container settings object. If not specified, the default object will be created." }, "F4vSettings": { "shape": "F4vSettings", - "locationName": "f4vSettings" + "locationName": "f4vSettings", + "documentation": "Settings for F4v container" }, "M2tsSettings": { "shape": "M2tsSettings", - "locationName": "m2tsSettings" + "locationName": "m2tsSettings", + "documentation": "MPEG-2 TS container settings. These apply to outputs in a File output group when the output's container (ContainerType) is MPEG-2 Transport Stream (M2TS). In these assets, data is organized by the program map table (PMT). Each transport stream program contains subsets of data, including audio, video, and metadata. Each of these subsets of data has a numerical label called a packet identifier (PID). Each transport stream program corresponds to one MediaConvert output. The PMT lists the types of data in a program along with their PID. Downstream systems and players use the program map table to look up the PID for each type of data it accesses and then uses the PIDs to locate specific data within the asset." }, "M3u8Settings": { "shape": "M3u8Settings", - "locationName": "m3u8Settings" + "locationName": "m3u8Settings", + "documentation": "Settings for TS segments in HLS" }, "MovSettings": { "shape": "MovSettings", - "locationName": "movSettings" + "locationName": "movSettings", + "documentation": "Settings for MOV Container." }, "Mp4Settings": { "shape": "Mp4Settings", - "locationName": "mp4Settings" + "locationName": "mp4Settings", + "documentation": "Settings for MP4 Container" } }, "documentation": "Container specific settings." @@ -2261,9 +2374,15 @@ "CreateJobRequest": { "type": "structure", "members": { + "AccelerationSettings": { + "shape": "AccelerationSettings", + "locationName": "accelerationSettings", + "documentation": "Accelerated transcoding can significantly speed up jobs with long, visually complex content. Outputs that use this feature incur pro-tier pricing. For information about feature limitations, see the AWS Elemental MediaConvert User Guide." + }, "BillingTagsSource": { "shape": "BillingTagsSource", - "locationName": "billingTagsSource" + "locationName": "billingTagsSource", + "documentation": "Optional. Choose a tag type that AWS Billing and Cost Management will use to sort your AWS Elemental MediaConvert costs on any billing report that you set up. Any transcoding outputs that don't have an associated tag will appear in your billing report unsorted. If you don't choose a valid value for this field, your job outputs will appear on the billing report unsorted." }, "ClientRequestToken": { "shape": "__string", @@ -2288,7 +2407,13 @@ }, "Settings": { "shape": "JobSettings", - "locationName": "settings" + "locationName": "settings", + "documentation": "JobSettings contains all the transcode settings for a job." + }, + "StatusUpdateInterval": { + "shape": "StatusUpdateInterval", + "locationName": "statusUpdateInterval", + "documentation": "Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error." }, "UserMetadata": { "shape": "__mapOf__string", @@ -2306,13 +2431,19 @@ "members": { "Job": { "shape": "Job", - "locationName": "job" + "locationName": "job", + "documentation": "Each job converts an input file into an output file or files. For more information, see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html" } } }, "CreateJobTemplateRequest": { "type": "structure", "members": { + "AccelerationSettings": { + "shape": "AccelerationSettings", + "locationName": "accelerationSettings", + "documentation": "Accelerated transcoding can significantly speed up jobs with long, visually complex content. Outputs that use this feature incur pro-tier pricing. For information about feature limitations, see the AWS Elemental MediaConvert User Guide." + }, "Category": { "shape": "__string", "locationName": "category", @@ -2335,7 +2466,13 @@ }, "Settings": { "shape": "JobTemplateSettings", - "locationName": "settings" + "locationName": "settings", + "documentation": "JobTemplateSettings contains all the transcode settings saved in the template that will be applied to jobs created from it." + }, + "StatusUpdateInterval": { + "shape": "StatusUpdateInterval", + "locationName": "statusUpdateInterval", + "documentation": "Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error." }, "Tags": { "shape": "__mapOf__string", @@ -2353,7 +2490,8 @@ "members": { "JobTemplate": { "shape": "JobTemplate", - "locationName": "jobTemplate" + "locationName": "jobTemplate", + "documentation": "A job template is a pre-made set of encoding instructions that you can use to quickly create a job." } } }, @@ -2377,7 +2515,8 @@ }, "Settings": { "shape": "PresetSettings", - "locationName": "settings" + "locationName": "settings", + "documentation": "Settings for preset" }, "Tags": { "shape": "__mapOf__string", @@ -2395,7 +2534,8 @@ "members": { "Preset": { "shape": "Preset", - "locationName": "preset" + "locationName": "preset", + "documentation": "A preset is a collection of preconfigured media conversion settings that you want MediaConvert to apply to the output during the conversion process." } } }, @@ -2437,16 +2577,23 @@ "members": { "Queue": { "shape": "Queue", - "locationName": "queue" + "locationName": "queue", + "documentation": "You can use queues to manage the resources that are available to your AWS account for running multiple transcoding jobs at the same time. If you don't specify a queue, the service sends all jobs through the default queue. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/working-with-queues.html." } } }, "DashIsoEncryptionSettings": { "type": "structure", "members": { + "PlaybackDeviceCompatibility": { + "shape": "DashIsoPlaybackDeviceCompatibility", + "locationName": "playbackDeviceCompatibility", + "documentation": "This setting can improve the compatibility of your output with video players on obsolete devices. It applies only to DASH H.264 outputs with DRM encryption. Choose Unencrypted SEI (UNENCRYPTED_SEI) only to correct problems with playback on older devices. Otherwise, keep the default setting CENC v1 (CENC_V1). If you choose Unencrypted SEI, for that output, the service will exclude the access unit delimiter and will leave the SEI NAL units unencrypted." + }, "SpekeKeyProvider": { "shape": "SpekeKeyProvider", - "locationName": "spekeKeyProvider" + "locationName": "spekeKeyProvider", + "documentation": "Settings for use with a SPEKE key provider" } }, "documentation": "Specifies DRM settings for DASH outputs." @@ -2464,6 +2611,11 @@ "locationName": "destination", "documentation": "Use Destination (Destination) to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file." }, + "DestinationSettings": { + "shape": "DestinationSettings", + "locationName": "destinationSettings", + "documentation": "Settings associated with the destination. Will vary based on the type of destination" + }, "Encryption": { "shape": "DashIsoEncryptionSettings", "locationName": "encryption", @@ -2476,7 +2628,8 @@ }, "HbbtvCompliance": { "shape": "DashIsoHbbtvCompliance", - "locationName": "hbbtvCompliance" + "locationName": "hbbtvCompliance", + "documentation": "Supports HbbTV specification as indicated" }, "MinBufferTime": { "shape": "__integerMin0Max2147483647", @@ -2485,7 +2638,8 @@ }, "SegmentControl": { "shape": "DashIsoSegmentControl", - "locationName": "segmentControl" + "locationName": "segmentControl", + "documentation": "When set to SINGLE_FILE, a single output file is generated, which is internally segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, separate segment files will be created." }, "SegmentLength": { "shape": "__integerMin1Max2147483647", @@ -2508,6 +2662,14 @@ "NONE" ] }, + "DashIsoPlaybackDeviceCompatibility": { + "type": "string", + "documentation": "This setting can improve the compatibility of your output with video players on obsolete devices. It applies only to DASH H.264 outputs with DRM encryption. Choose Unencrypted SEI (UNENCRYPTED_SEI) only to correct problems with playback on older devices. Otherwise, keep the default setting CENC v1 (CENC_V1). If you choose Unencrypted SEI, for that output, the service will exclude the access unit delimiter and will leave the SEI NAL units unencrypted.", + "enum": [ + "CENC_V1", + "UNENCRYPTED_SEI" + ] + }, "DashIsoSegmentControl": { "type": "string", "documentation": "When set to SINGLE_FILE, a single output file is generated, which is internally segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, separate segment files will be created.", @@ -2526,7 +2688,7 @@ }, "DecryptionMode": { "type": "string", - "documentation": "This specifies how the encrypted file needs to be decrypted.", + "documentation": "Specify the encryption mode that you used to encrypt your input files.", "enum": [ "AES_CTR", "AES_CBC", @@ -2548,15 +2710,18 @@ "members": { "Algorithm": { "shape": "DeinterlaceAlgorithm", - "locationName": "algorithm" + "locationName": "algorithm", + "documentation": "Only applies when you set Deinterlacer (DeinterlaceMode) to Deinterlace (DEINTERLACE) or Adaptive (ADAPTIVE). Motion adaptive interpolate (INTERPOLATE) produces sharper pictures, while blend (BLEND) produces smoother motion. Use (INTERPOLATE_TICKER) OR (BLEND_TICKER) if your source file includes a ticker, such as a scrolling headline at the bottom of the frame." }, "Control": { "shape": "DeinterlacerControl", - "locationName": "control" + "locationName": "control", + "documentation": "- When set to NORMAL (default), the deinterlacer does not convert frames that are tagged in metadata as progressive. It will only convert those that are tagged as some other type. - When set to FORCE_ALL_FRAMES, the deinterlacer converts every frame to progressive - even those that are already tagged as progressive. Turn Force mode on only if there is a good chance that the metadata has tagged frames as progressive when they are not progressive. Do not turn on otherwise; processing frames that are already progressive into progressive will probably result in lower quality video." }, "Mode": { "shape": "DeinterlacerMode", - "locationName": "mode" + "locationName": "mode", + "documentation": "Use Deinterlacer (DeinterlaceMode) to choose how the service will do deinterlacing. Default is Deinterlace. - Deinterlace converts interlaced to progressive. - Inverse telecine converts Hard Telecine 29.97i to progressive 23.976p. - Adaptive auto-detects and converts to progressive." } }, "documentation": "Settings for deinterlacer" @@ -2653,7 +2818,8 @@ }, "Mode": { "shape": "DescribeEndpointsMode", - "locationName": "mode" + "locationName": "mode", + "documentation": "Optional field, defaults to DEFAULT. Specify DEFAULT for this operation to return your endpoints if any exist, or to create an endpoint for you and return it if one doesn't already exist. Specify GET_ONLY to return your endpoints if any exist, or an empty list if none exist." }, "NextToken": { "shape": "__string", @@ -2678,13 +2844,25 @@ } } }, + "DestinationSettings": { + "type": "structure", + "members": { + "S3Settings": { + "shape": "S3DestinationSettings", + "locationName": "s3Settings", + "documentation": "Settings associated with S3 destination" + } + }, + "documentation": "Settings associated with the destination. Will vary based on the type of destination" + }, "DisassociateCertificateRequest": { "type": "structure", "members": { "Arn": { "shape": "__string", "locationName": "arn", - "documentation": "The ARN of the ACM certificate that you want to disassociate from your MediaConvert resource." + "documentation": "The ARN of the ACM certificate that you want to disassociate from your MediaConvert resource.", + "location": "uri" } }, "required": [ @@ -2730,7 +2908,8 @@ "members": { "OutputSdt": { "shape": "OutputSdt", - "locationName": "outputSdt" + "locationName": "outputSdt", + "documentation": "Selects method of inserting SDT information into output stream. \"Follow input SDT\" copies SDT information from input stream to output stream. \"Follow input SDT if present\" copies SDT information from input stream to output stream if SDT information is present in the input, otherwise it will fall back on the user-defined values. Enter \"SDT Manually\" means user will enter the SDT information. \"No SDT\" means output stream will not contain SDT information." }, "SdtInterval": { "shape": "__integerMin25Max2000", @@ -2755,11 +2934,13 @@ "members": { "Alignment": { "shape": "DvbSubtitleAlignment", - "locationName": "alignment" + "locationName": "alignment", + "documentation": "If no explicit x_position or y_position is provided, setting alignment to centered will place the captions at the bottom center of the output. Similarly, setting a left alignment will align captions to the bottom left of the output. If x and y positions are given in conjunction with the alignment parameter, the font will be justified (either left or centered) relative to those coordinates. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." }, "BackgroundColor": { "shape": "DvbSubtitleBackgroundColor", - "locationName": "backgroundColor" + "locationName": "backgroundColor", + "documentation": "Specifies the color of the rectangle behind the captions.\nAll burn-in and DVB-Sub font settings must match." }, "BackgroundOpacity": { "shape": "__integerMin0Max255", @@ -2768,7 +2949,8 @@ }, "FontColor": { "shape": "DvbSubtitleFontColor", - "locationName": "fontColor" + "locationName": "fontColor", + "documentation": "Specifies the color of the burned-in captions. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." }, "FontOpacity": { "shape": "__integerMin0Max255", @@ -2780,6 +2962,11 @@ "locationName": "fontResolution", "documentation": "Font resolution in DPI (dots per inch); default is 96 dpi.\nAll burn-in and DVB-Sub font settings must match." }, + "FontScript": { + "shape": "FontScript", + "locationName": "fontScript", + "documentation": "Provide the font script, using an ISO 15924 script code, if the LanguageCode is not sufficient for determining the script type. Where LanguageCode or CustomLanguageCode is sufficient, use \"AUTOMATIC\" or leave unset. This is used to help determine the appropriate font for rendering DVB-Sub captions." + }, "FontSize": { "shape": "__integerMin0Max96", "locationName": "fontSize", @@ -2787,7 +2974,8 @@ }, "OutlineColor": { "shape": "DvbSubtitleOutlineColor", - "locationName": "outlineColor" + "locationName": "outlineColor", + "documentation": "Specifies font outline color. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." }, "OutlineSize": { "shape": "__integerMin0Max10", @@ -2796,7 +2984,8 @@ }, "ShadowColor": { "shape": "DvbSubtitleShadowColor", - "locationName": "shadowColor" + "locationName": "shadowColor", + "documentation": "Specifies the color of the shadow cast by the captions.\nAll burn-in and DVB-Sub font settings must match." }, "ShadowOpacity": { "shape": "__integerMin0Max255", @@ -2815,7 +3004,8 @@ }, "TeletextSpacing": { "shape": "DvbSubtitleTeletextSpacing", - "locationName": "teletextSpacing" + "locationName": "teletextSpacing", + "documentation": "Only applies to jobs with input captions in Teletext or STL formats. Specify whether the spacing between letters in your captions is set by the captions grid or varies depending on letter width. Choose fixed grid to conform to the spacing specified in the captions file more accurately. Choose proportional to make the text easier to read if the captions are closed caption." }, "XPosition": { "shape": "__integerMin0Max2147483647", @@ -3015,7 +3205,8 @@ "members": { "AttenuationControl": { "shape": "Eac3AttenuationControl", - "locationName": "attenuationControl" + "locationName": "attenuationControl", + "documentation": "If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels. Only used for 3/2 coding mode." }, "Bitrate": { "shape": "__integerMin64000Max640000", @@ -3024,15 +3215,18 @@ }, "BitstreamMode": { "shape": "Eac3BitstreamMode", - "locationName": "bitstreamMode" + "locationName": "bitstreamMode", + "documentation": "Specifies the \"Bitstream Mode\" (bsmod) for the emitted E-AC-3 stream. See ATSC A/52-2012 (Annex E) for background on these values." }, "CodingMode": { "shape": "Eac3CodingMode", - "locationName": "codingMode" + "locationName": "codingMode", + "documentation": "Dolby Digital Plus coding mode. Determines number of channels." }, "DcFilter": { "shape": "Eac3DcFilter", - "locationName": "dcFilter" + "locationName": "dcFilter", + "documentation": "Activates a DC highpass filter for all input channels." }, "Dialnorm": { "shape": "__integerMin1Max31", @@ -3041,19 +3235,23 @@ }, "DynamicRangeCompressionLine": { "shape": "Eac3DynamicRangeCompressionLine", - "locationName": "dynamicRangeCompressionLine" + "locationName": "dynamicRangeCompressionLine", + "documentation": "Enables Dynamic Range Compression that restricts the absolute peak level for a signal." }, "DynamicRangeCompressionRf": { "shape": "Eac3DynamicRangeCompressionRf", - "locationName": "dynamicRangeCompressionRf" + "locationName": "dynamicRangeCompressionRf", + "documentation": "Enables Heavy Dynamic Range Compression, ensures that the instantaneous signal peaks do not exceed specified levels." }, "LfeControl": { "shape": "Eac3LfeControl", - "locationName": "lfeControl" + "locationName": "lfeControl", + "documentation": "When encoding 3/2 audio, controls whether the LFE channel is enabled" }, "LfeFilter": { "shape": "Eac3LfeFilter", - "locationName": "lfeFilter" + "locationName": "lfeFilter", + "documentation": "Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with 3_2_LFE coding mode." }, "LoRoCenterMixLevel": { "shape": "__doubleMinNegative60Max3", @@ -3077,15 +3275,18 @@ }, "MetadataControl": { "shape": "Eac3MetadataControl", - "locationName": "metadataControl" + "locationName": "metadataControl", + "documentation": "When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used." }, "PassthroughControl": { "shape": "Eac3PassthroughControl", - "locationName": "passthroughControl" + "locationName": "passthroughControl", + "documentation": "When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it is present on the input. this detection is dynamic over the life of the transcode. Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+ output as the system alternates between passthrough and encoding." }, "PhaseControl": { "shape": "Eac3PhaseControl", - "locationName": "phaseControl" + "locationName": "phaseControl", + "documentation": "Controls the amount of phase-shift applied to the surround channels. Only used for 3/2 coding mode." }, "SampleRate": { "shape": "__integerMin48000Max48000", @@ -3094,15 +3295,18 @@ }, "StereoDownmix": { "shape": "Eac3StereoDownmix", - "locationName": "stereoDownmix" + "locationName": "stereoDownmix", + "documentation": "Stereo downmix preference. Only used for 3/2 coding mode." }, "SurroundExMode": { "shape": "Eac3SurroundExMode", - "locationName": "surroundExMode" + "locationName": "surroundExMode", + "documentation": "When encoding 3/2 audio, sets whether an extra center back surround channel is matrix encoded into the left and right surround channels." }, "SurroundMode": { "shape": "Eac3SurroundMode", - "locationName": "surroundMode" + "locationName": "surroundMode", + "documentation": "When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the two channels." } }, "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value EAC3." @@ -3143,12 +3347,24 @@ "DISABLED" ] }, + "EmbeddedDestinationSettings": { + "type": "structure", + "members": { + "Destination608ChannelNumber": { + "shape": "__integerMin1Max4", + "locationName": "destination608ChannelNumber", + "documentation": "Ignore this setting unless your input captions are SCC format and your output container is MXF. With this combination of input captions format and output container, you can optionally use this setting to replace the input channel number with the track number that you specify. Specify a different number for each output captions track. If you don't specify an output track number, the system uses the input channel number for the output channel number. This setting applies to each output individually. You can optionally combine two captions channels in your output. The two output channel numbers can be one of the following pairs: 1,3; 2,4; 1,4; or 2,3." + } + }, + "documentation": "Settings specific to embedded/ancillary caption outputs, including 608/708 Channel destination number." + }, "EmbeddedSourceSettings": { "type": "structure", "members": { "Convert608To708": { "shape": "EmbeddedConvert608To708", - "locationName": "convert608To708" + "locationName": "convert608To708", + "documentation": "When set to UPCONVERT, 608 data is both passed through via the \"608 compatibility bytes\" fields of the 708 wrapper as well as translated into 708. 708 data present in the source content will be discarded." }, "Source608ChannelNumber": { "shape": "__integerMin1Max4", @@ -3174,6 +3390,49 @@ }, "documentation": "Describes an account-specific API endpoint." }, + "EsamManifestConfirmConditionNotification": { + "type": "structure", + "members": { + "MccXml": { + "shape": "__stringPatternSNManifestConfirmConditionNotificationNS", + "locationName": "mccXml", + "documentation": "Provide your ESAM ManifestConfirmConditionNotification XML document inside your JSON job settings. Form the XML document as per OC-SP-ESAM-API-I03-131025. The transcoder will use the Manifest Conditioning instructions in the message that you supply." + } + }, + "documentation": "ESAM ManifestConfirmConditionNotification defined by OC-SP-ESAM-API-I03-131025." + }, + "EsamSettings": { + "type": "structure", + "members": { + "ManifestConfirmConditionNotification": { + "shape": "EsamManifestConfirmConditionNotification", + "locationName": "manifestConfirmConditionNotification", + "documentation": "Specifies an ESAM ManifestConfirmConditionNotification XML as per OC-SP-ESAM-API-I03-131025. The transcoder uses the manifest conditioning instructions that you provide in the setting MCC XML (mccXml)." + }, + "ResponseSignalPreroll": { + "shape": "__integerMin0Max30000", + "locationName": "responseSignalPreroll", + "documentation": "Specifies the stream distance, in milliseconds, between the SCTE 35 messages that the transcoder places and the splice points that they refer to. If the time between the start of the asset and the SCTE-35 message is less than this value, then the transcoder places the SCTE-35 marker at the beginning of the stream." + }, + "SignalProcessingNotification": { + "shape": "EsamSignalProcessingNotification", + "locationName": "signalProcessingNotification", + "documentation": "Specifies an ESAM SignalProcessingNotification XML as per OC-SP-ESAM-API-I03-131025. The transcoder uses the signal processing instructions that you provide in the setting SCC XML (sccXml)." + } + }, + "documentation": "Settings for Event Signaling And Messaging (ESAM). If you don't do ad insertion, you can ignore these settings." + }, + "EsamSignalProcessingNotification": { + "type": "structure", + "members": { + "SccXml": { + "shape": "__stringPatternSNSignalProcessingNotificationNS", + "locationName": "sccXml", + "documentation": "Provide your ESAM SignalProcessingNotification XML document inside your JSON job settings. Form the XML document as per OC-SP-ESAM-API-I03-131025. The transcoder will use the signal processing instructions in the message that you supply. Provide your ESAM SignalProcessingNotification XML document inside your JSON job settings. If you want the service to place SCTE-35 markers at the insertion points you specify in the XML document, you must also enable SCTE-35 ESAM (scte35Esam). Note that you can either specify an ESAM XML document or enable SCTE-35 passthrough. You can't do both." + } + }, + "documentation": "ESAM SignalProcessingNotification data defined by OC-SP-ESAM-API-I03-131025." + }, "ExceptionBody": { "type": "structure", "members": { @@ -3196,7 +3455,8 @@ "members": { "MoovPlacement": { "shape": "F4vMoovPlacement", - "locationName": "moovPlacement" + "locationName": "moovPlacement", + "documentation": "If set to PROGRESSIVE_DOWNLOAD, the MOOV atom is relocated to the beginning of the archive as required for progressive downloading. Otherwise it is placed normally at the end." } }, "documentation": "Settings for F4v container" @@ -3208,6 +3468,11 @@ "shape": "__stringPatternS3", "locationName": "destination", "documentation": "Use Destination (Destination) to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file." + }, + "DestinationSettings": { + "shape": "DestinationSettings", + "locationName": "destinationSettings", + "documentation": "Settings associated with the destination. Will vary based on the type of destination" } }, "documentation": "Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to FILE_GROUP_SETTINGS." @@ -3225,7 +3490,8 @@ "members": { "Convert608To708": { "shape": "FileSourceConvert608To708", - "locationName": "convert608To708" + "locationName": "convert608To708", + "documentation": "If set to UPCONVERT, 608 caption data is both passed through via the \"608 compatibility bytes\" fields of the 708 wrapper as well as translated into 708. 708 data present in the source content will be discarded." }, "SourceFile": { "shape": "__stringMin14PatternS3SccSCCTtmlTTMLDfxpDFXPStlSTLSrtSRTSmiSMI", @@ -3240,6 +3506,15 @@ }, "documentation": "Settings for File-based Captions in Source" }, + "FontScript": { + "type": "string", + "documentation": "Provide the font script, using an ISO 15924 script code, if the LanguageCode is not sufficient for determining the script type. Where LanguageCode or CustomLanguageCode is sufficient, use \"AUTOMATIC\" or leave unset.", + "enum": [ + "AUTOMATIC", + "HANS", + "HANT" + ] + }, "ForbiddenException": { "type": "structure", "members": { @@ -3299,7 +3574,8 @@ "members": { "Job": { "shape": "Job", - "locationName": "job" + "locationName": "job", + "documentation": "Each job converts an input file into an output file or files. For more information, see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html" } } }, @@ -3322,7 +3598,8 @@ "members": { "JobTemplate": { "shape": "JobTemplate", - "locationName": "jobTemplate" + "locationName": "jobTemplate", + "documentation": "A job template is a pre-made set of encoding instructions that you can use to quickly create a job." } } }, @@ -3345,7 +3622,8 @@ "members": { "Preset": { "shape": "Preset", - "locationName": "preset" + "locationName": "preset", + "documentation": "A preset is a collection of preconfigured media conversion settings that you want MediaConvert to apply to the output during the conversion process." } } }, @@ -3368,7 +3646,8 @@ "members": { "Queue": { "shape": "Queue", - "locationName": "queue" + "locationName": "queue", + "documentation": "You can use queues to manage the resources that are available to your AWS account for running multiple transcoding jobs at the same time. If you don't specify a queue, the service sends all jobs through the default queue. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/working-with-queues.html." } } }, @@ -3386,7 +3665,7 @@ }, "H264CodecLevel": { "type": "string", - "documentation": "H.264 Level.", + "documentation": "Specify an H.264 level that is consistent with your output video settings. If you aren't sure what level to specify, choose Auto (AUTO).", "enum": [ "AUTO", "LEVEL_1", @@ -3453,7 +3732,7 @@ }, "H264FramerateControl": { "type": "string", - "documentation": "If you are using the console, use the Framerate setting to specify the framerate for this output. If you want to keep the same framerate as the input video, choose Follow source. If you want to do framerate conversion, choose a framerate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your framerate as a fraction. If you are creating your transcoding job specification as a JSON file without the console, use FramerateControl to specify which value the service uses for the framerate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the framerate from the input. Choose SPECIFIED if you want the service to use the framerate you specify in the settings FramerateNumerator and FramerateDenominator.", + "documentation": "If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job specification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator.", "enum": [ "INITIALIZE_FROM_SOURCE", "SPECIFIED" @@ -3461,7 +3740,7 @@ }, "H264FramerateConversionAlgorithm": { "type": "string", - "documentation": "When set to INTERPOLATE, produces smoother motion during framerate conversion.", + "documentation": "When set to INTERPOLATE, produces smoother motion during frame rate conversion.", "enum": [ "DUPLICATE_DROP", "INTERPOLATE" @@ -3557,7 +3836,8 @@ "members": { "AdaptiveQuantization": { "shape": "H264AdaptiveQuantization", - "locationName": "adaptiveQuantization" + "locationName": "adaptiveQuantization", + "documentation": "Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality." }, "Bitrate": { "shape": "__integerMin1000Max1152000000", @@ -3566,11 +3846,13 @@ }, "CodecLevel": { "shape": "H264CodecLevel", - "locationName": "codecLevel" + "locationName": "codecLevel", + "documentation": "Specify an H.264 level that is consistent with your output video settings. If you aren't sure what level to specify, choose Auto (AUTO)." }, "CodecProfile": { "shape": "H264CodecProfile", - "locationName": "codecProfile" + "locationName": "codecProfile", + "documentation": "H.264 Profile. High 4:2:2 and 10-bit profiles are only available with the AVC-I License." }, "DynamicSubGop": { "shape": "H264DynamicSubGop", @@ -3579,37 +3861,43 @@ }, "EntropyEncoding": { "shape": "H264EntropyEncoding", - "locationName": "entropyEncoding" + "locationName": "entropyEncoding", + "documentation": "Entropy encoding mode. Use CABAC (must be in Main or High profile) or CAVLC." }, "FieldEncoding": { "shape": "H264FieldEncoding", - "locationName": "fieldEncoding" + "locationName": "fieldEncoding", + "documentation": "Choosing FORCE_FIELD disables PAFF encoding for interlaced outputs." }, "FlickerAdaptiveQuantization": { "shape": "H264FlickerAdaptiveQuantization", - "locationName": "flickerAdaptiveQuantization" + "locationName": "flickerAdaptiveQuantization", + "documentation": "Adjust quantization within each frame to reduce flicker or 'pop' on I-frames." }, "FramerateControl": { "shape": "H264FramerateControl", - "locationName": "framerateControl" + "locationName": "framerateControl", + "documentation": "If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job specification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator." }, "FramerateConversionAlgorithm": { "shape": "H264FramerateConversionAlgorithm", - "locationName": "framerateConversionAlgorithm" + "locationName": "framerateConversionAlgorithm", + "documentation": "When set to INTERPOLATE, produces smoother motion during frame rate conversion." }, "FramerateDenominator": { "shape": "__integerMin1Max2147483647", "locationName": "framerateDenominator", - "documentation": "When you use the API for transcode jobs that use framerate conversion, specify the framerate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateDenominator to specify the denominator of this fraction. In this example, use 1001 for the value of FramerateDenominator. When you use the console for transcode jobs that use framerate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976." + "documentation": "When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateDenominator to specify the denominator of this fraction. In this example, use 1001 for the value of FramerateDenominator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976." }, "FramerateNumerator": { "shape": "__integerMin1Max2147483647", "locationName": "framerateNumerator", - "documentation": "Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps." + "documentation": "Frame rate numerator - frame rate is a fraction, e.g. 24000 / 1001 = 23.976 fps." }, "GopBReference": { "shape": "H264GopBReference", - "locationName": "gopBReference" + "locationName": "gopBReference", + "documentation": "If enable, use reference B frames for GOP structures that have B frames > 1." }, "GopClosedCadence": { "shape": "__integerMin0Max2147483647", @@ -3623,7 +3911,8 @@ }, "GopSizeUnits": { "shape": "H264GopSizeUnits", - "locationName": "gopSizeUnits" + "locationName": "gopSizeUnits", + "documentation": "Indicates if the GOP Size in H264 is specified in frames or seconds. If seconds the system will convert the GOP Size into a frame count at run time." }, "HrdBufferInitialFillPercentage": { "shape": "__integerMin0Max100", @@ -3637,7 +3926,8 @@ }, "InterlaceMode": { "shape": "H264InterlaceMode", - "locationName": "interlaceMode" + "locationName": "interlaceMode", + "documentation": "Use Interlace mode (InterlaceMode) to choose the scan line type for the output. * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce interlaced output with the entire output having the same field polarity (top or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore, behavior depends on the input scan type, as follows.\n - If the source is interlaced, the output will be interlaced with the same polarity as the source (it will follow the source). The output could therefore be a mix of \"top field first\" and \"bottom field first\".\n - If the source is progressive, the output will be interlaced with \"top field first\" or \"bottom field first\" polarity, depending on which of the Follow options you chose." }, "MaxBitrate": { "shape": "__integerMin1000Max1152000000", @@ -3661,7 +3951,8 @@ }, "ParControl": { "shape": "H264ParControl", - "locationName": "parControl" + "locationName": "parControl", + "documentation": "Using the API, enable ParFollowSource if you want the service to use the pixel aspect ratio from the input. Using the console, do this by choosing Follow source for Pixel aspect ratio." }, "ParDenominator": { "shape": "__integerMin1Max2147483647", @@ -3675,7 +3966,8 @@ }, "QualityTuningLevel": { "shape": "H264QualityTuningLevel", - "locationName": "qualityTuningLevel" + "locationName": "qualityTuningLevel", + "documentation": "Use Quality tuning level (H264QualityTuningLevel) to specifiy whether to use fast single-pass, high-quality singlepass, or high-quality multipass video encoding." }, "QvbrSettings": { "shape": "H264QvbrSettings", @@ -3684,15 +3976,18 @@ }, "RateControlMode": { "shape": "H264RateControlMode", - "locationName": "rateControlMode" + "locationName": "rateControlMode", + "documentation": "Use this setting to specify whether this output has a variable bitrate (VBR), constant bitrate (CBR) or quality-defined variable bitrate (QVBR)." }, "RepeatPps": { "shape": "H264RepeatPps", - "locationName": "repeatPps" + "locationName": "repeatPps", + "documentation": "Places a PPS header on each encoded picture, even if repeated." }, "SceneChangeDetect": { "shape": "H264SceneChangeDetect", - "locationName": "sceneChangeDetect" + "locationName": "sceneChangeDetect", + "documentation": "Scene change detection (inserts I-frames on scene changes)." }, "Slices": { "shape": "__integerMin1Max32", @@ -3701,7 +3996,8 @@ }, "SlowPal": { "shape": "H264SlowPal", - "locationName": "slowPal" + "locationName": "slowPal", + "documentation": "Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled as 25fps, and audio is sped up correspondingly." }, "Softness": { "shape": "__integerMin0Max128", @@ -3710,23 +4006,28 @@ }, "SpatialAdaptiveQuantization": { "shape": "H264SpatialAdaptiveQuantization", - "locationName": "spatialAdaptiveQuantization" + "locationName": "spatialAdaptiveQuantization", + "documentation": "Adjust quantization within each frame based on spatial variation of content complexity." }, "Syntax": { "shape": "H264Syntax", - "locationName": "syntax" + "locationName": "syntax", + "documentation": "Produces a bitstream compliant with SMPTE RP-2027." }, "Telecine": { "shape": "H264Telecine", - "locationName": "telecine" + "locationName": "telecine", + "documentation": "This field applies only if the Streams > Advanced > Framerate (framerate) field is set to 29.970. This field works with the Streams > Advanced > Preprocessors > Deinterlacer field (deinterlace_mode) and the Streams > Advanced > Interlaced Mode field (interlace_mode) to identify the scan type for the output: Progressive, Interlaced, Hard Telecine or Soft Telecine. - Hard: produces 29.97i output from 23.976 input. - Soft: produces 23.976; the player converts this output to 29.97i." }, "TemporalAdaptiveQuantization": { "shape": "H264TemporalAdaptiveQuantization", - "locationName": "temporalAdaptiveQuantization" + "locationName": "temporalAdaptiveQuantization", + "documentation": "Adjust quantization within each frame based on temporal variation of content complexity." }, "UnregisteredSeiTimecode": { "shape": "H264UnregisteredSeiTimecode", - "locationName": "unregisteredSeiTimecode" + "locationName": "unregisteredSeiTimecode", + "documentation": "Inserts timecode for each frame as 4 bytes of an unregistered SEI message." } }, "documentation": "Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value H_264." @@ -3852,7 +4153,7 @@ }, "H265FramerateControl": { "type": "string", - "documentation": "If you are using the console, use the Framerate setting to specify the framerate for this output. If you want to keep the same framerate as the input video, choose Follow source. If you want to do framerate conversion, choose a framerate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your framerate as a fraction. If you are creating your transcoding job sepecification as a JSON file without the console, use FramerateControl to specify which value the service uses for the framerate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the framerate from the input. Choose SPECIFIED if you want the service to use the framerate you specify in the settings FramerateNumerator and FramerateDenominator.", + "documentation": "If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job sepecification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator.", "enum": [ "INITIALIZE_FROM_SOURCE", "SPECIFIED" @@ -3860,7 +4161,7 @@ }, "H265FramerateConversionAlgorithm": { "type": "string", - "documentation": "When set to INTERPOLATE, produces smoother motion during framerate conversion.", + "documentation": "When set to INTERPOLATE, produces smoother motion during frame rate conversion.", "enum": [ "DUPLICATE_DROP", "INTERPOLATE" @@ -3957,11 +4258,13 @@ "members": { "AdaptiveQuantization": { "shape": "H265AdaptiveQuantization", - "locationName": "adaptiveQuantization" + "locationName": "adaptiveQuantization", + "documentation": "Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality." }, "AlternateTransferFunctionSei": { "shape": "H265AlternateTransferFunctionSei", - "locationName": "alternateTransferFunctionSei" + "locationName": "alternateTransferFunctionSei", + "documentation": "Enables Alternate Transfer Function SEI message for outputs using Hybrid Log Gamma (HLG) Electro-Optical Transfer Function (EOTF)." }, "Bitrate": { "shape": "__integerMin1000Max1466400000", @@ -3970,11 +4273,13 @@ }, "CodecLevel": { "shape": "H265CodecLevel", - "locationName": "codecLevel" + "locationName": "codecLevel", + "documentation": "H.265 Level." }, "CodecProfile": { "shape": "H265CodecProfile", - "locationName": "codecProfile" + "locationName": "codecProfile", + "documentation": "Represents the Profile and Tier, per the HEVC (H.265) specification. Selections are grouped as [Profile] / [Tier], so \"Main/High\" represents Main Profile with High Tier. 4:2:2 profiles are only available with the HEVC 4:2:2 License." }, "DynamicSubGop": { "shape": "H265DynamicSubGop", @@ -3983,29 +4288,33 @@ }, "FlickerAdaptiveQuantization": { "shape": "H265FlickerAdaptiveQuantization", - "locationName": "flickerAdaptiveQuantization" + "locationName": "flickerAdaptiveQuantization", + "documentation": "Adjust quantization within each frame to reduce flicker or 'pop' on I-frames." }, "FramerateControl": { "shape": "H265FramerateControl", - "locationName": "framerateControl" + "locationName": "framerateControl", + "documentation": "If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job sepecification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator." }, "FramerateConversionAlgorithm": { "shape": "H265FramerateConversionAlgorithm", - "locationName": "framerateConversionAlgorithm" + "locationName": "framerateConversionAlgorithm", + "documentation": "When set to INTERPOLATE, produces smoother motion during frame rate conversion." }, "FramerateDenominator": { "shape": "__integerMin1Max2147483647", "locationName": "framerateDenominator", - "documentation": "Framerate denominator." + "documentation": "Frame rate denominator." }, "FramerateNumerator": { "shape": "__integerMin1Max2147483647", "locationName": "framerateNumerator", - "documentation": "Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps." + "documentation": "Frame rate numerator - frame rate is a fraction, e.g. 24000 / 1001 = 23.976 fps." }, "GopBReference": { "shape": "H265GopBReference", - "locationName": "gopBReference" + "locationName": "gopBReference", + "documentation": "If enable, use reference B frames for GOP structures that have B frames > 1." }, "GopClosedCadence": { "shape": "__integerMin0Max2147483647", @@ -4019,7 +4328,8 @@ }, "GopSizeUnits": { "shape": "H265GopSizeUnits", - "locationName": "gopSizeUnits" + "locationName": "gopSizeUnits", + "documentation": "Indicates if the GOP Size in H265 is specified in frames or seconds. If seconds the system will convert the GOP Size into a frame count at run time." }, "HrdBufferInitialFillPercentage": { "shape": "__integerMin0Max100", @@ -4033,7 +4343,8 @@ }, "InterlaceMode": { "shape": "H265InterlaceMode", - "locationName": "interlaceMode" + "locationName": "interlaceMode", + "documentation": "Use Interlace mode (InterlaceMode) to choose the scan line type for the output. * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce interlaced output with the entire output having the same field polarity (top or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore, behavior depends on the input scan type.\n - If the source is interlaced, the output will be interlaced with the same polarity as the source (it will follow the source). The output could therefore be a mix of \"top field first\" and \"bottom field first\".\n - If the source is progressive, the output will be interlaced with \"top field first\" or \"bottom field first\" polarity, depending on which of the Follow options you chose." }, "MaxBitrate": { "shape": "__integerMin1000Max1466400000", @@ -4057,7 +4368,8 @@ }, "ParControl": { "shape": "H265ParControl", - "locationName": "parControl" + "locationName": "parControl", + "documentation": "Using the API, enable ParFollowSource if you want the service to use the pixel aspect ratio from the input. Using the console, do this by choosing Follow source for Pixel aspect ratio." }, "ParDenominator": { "shape": "__integerMin1Max2147483647", @@ -4071,7 +4383,8 @@ }, "QualityTuningLevel": { "shape": "H265QualityTuningLevel", - "locationName": "qualityTuningLevel" + "locationName": "qualityTuningLevel", + "documentation": "Use Quality tuning level (H265QualityTuningLevel) to specifiy whether to use fast single-pass, high-quality singlepass, or high-quality multipass video encoding." }, "QvbrSettings": { "shape": "H265QvbrSettings", @@ -4080,15 +4393,18 @@ }, "RateControlMode": { "shape": "H265RateControlMode", - "locationName": "rateControlMode" + "locationName": "rateControlMode", + "documentation": "Use this setting to specify whether this output has a variable bitrate (VBR), constant bitrate (CBR) or quality-defined variable bitrate (QVBR)." }, "SampleAdaptiveOffsetFilterMode": { "shape": "H265SampleAdaptiveOffsetFilterMode", - "locationName": "sampleAdaptiveOffsetFilterMode" + "locationName": "sampleAdaptiveOffsetFilterMode", + "documentation": "Specify Sample Adaptive Offset (SAO) filter strength. Adaptive mode dynamically selects best strength based on content" }, "SceneChangeDetect": { "shape": "H265SceneChangeDetect", - "locationName": "sceneChangeDetect" + "locationName": "sceneChangeDetect", + "documentation": "Scene change detection (inserts I-frames on scene changes)." }, "Slices": { "shape": "__integerMin1Max32", @@ -4097,35 +4413,43 @@ }, "SlowPal": { "shape": "H265SlowPal", - "locationName": "slowPal" + "locationName": "slowPal", + "documentation": "Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled as 25fps, and audio is sped up correspondingly." }, "SpatialAdaptiveQuantization": { "shape": "H265SpatialAdaptiveQuantization", - "locationName": "spatialAdaptiveQuantization" + "locationName": "spatialAdaptiveQuantization", + "documentation": "Adjust quantization within each frame based on spatial variation of content complexity." }, "Telecine": { "shape": "H265Telecine", - "locationName": "telecine" + "locationName": "telecine", + "documentation": "This field applies only if the Streams > Advanced > Framerate (framerate) field is set to 29.970. This field works with the Streams > Advanced > Preprocessors > Deinterlacer field (deinterlace_mode) and the Streams > Advanced > Interlaced Mode field (interlace_mode) to identify the scan type for the output: Progressive, Interlaced, Hard Telecine or Soft Telecine. - Hard: produces 29.97i output from 23.976 input. - Soft: produces 23.976; the player converts this output to 29.97i." }, "TemporalAdaptiveQuantization": { "shape": "H265TemporalAdaptiveQuantization", - "locationName": "temporalAdaptiveQuantization" + "locationName": "temporalAdaptiveQuantization", + "documentation": "Adjust quantization within each frame based on temporal variation of content complexity." }, "TemporalIds": { "shape": "H265TemporalIds", - "locationName": "temporalIds" + "locationName": "temporalIds", + "documentation": "Enables temporal layer identifiers in the encoded bitstream. Up to 3 layers are supported depending on GOP structure: I- and P-frames form one layer, reference B-frames can form a second layer and non-reference b-frames can form a third layer. Decoders can optionally decode only the lower temporal layers to generate a lower frame rate output. For example, given a bitstream with temporal IDs and with b-frames = 1 (i.e. IbPbPb display order), a decoder could decode all the frames for full frame rate output or only the I and P frames (lowest temporal layer) for a half frame rate output." }, "Tiles": { "shape": "H265Tiles", - "locationName": "tiles" + "locationName": "tiles", + "documentation": "Enable use of tiles, allowing horizontal as well as vertical subdivision of the encoded pictures." }, "UnregisteredSeiTimecode": { "shape": "H265UnregisteredSeiTimecode", - "locationName": "unregisteredSeiTimecode" + "locationName": "unregisteredSeiTimecode", + "documentation": "Inserts timecode for each frame as 4 bytes of an unregistered SEI message." }, "WriteMp4PackagingType": { "shape": "H265WriteMp4PackagingType", - "locationName": "writeMp4PackagingType" + "locationName": "writeMp4PackagingType", + "documentation": "Use this setting only for outputs encoded with H.265 that are in CMAF or DASH output groups. If you include writeMp4PackagingType in your JSON job specification for other outputs, your video might not work properly with downstream systems and video players. If the location of parameter set NAL units don't matter in your workflow, ignore this setting. The service defaults to marking your output as HEV1. Choose HVC1 to mark your output as HVC1. This makes your output compliant with this specification: ISO IECJTC1 SC29 N13798 Text ISO/IEC FDIS 14496-15 3rd Edition. For these outputs, the service stores parameter set NAL units in the sample headers but not in the samples directly. Keep the default HEV1 to mark your output as HEV1. For these outputs, the service writes parameter set NAL units directly into the samples." } }, "documentation": "Settings for H265 codec" @@ -4189,7 +4513,7 @@ }, "H265WriteMp4PackagingType": { "type": "string", - "documentation": "If HVC1, output that is H.265 will be marked as HVC1 and adhere to the ISO-IECJTC1-SC29_N13798_Text_ISOIEC_FDIS_14496-15_3rd_E spec which states that parameter set NAL units will be stored in the sample headers but not in the samples directly. If HEV1, then H.265 will be marked as HEV1 and parameter set NAL units will be written into the samples.", + "documentation": "Use this setting only for outputs encoded with H.265 that are in CMAF or DASH output groups. If you include writeMp4PackagingType in your JSON job specification for other outputs, your video might not work properly with downstream systems and video players. If the location of parameter set NAL units don't matter in your workflow, ignore this setting. The service defaults to marking your output as HEV1. Choose HVC1 to mark your output as HVC1. This makes your output compliant with this specification: ISO IECJTC1 SC29 N13798 Text ISO/IEC FDIS 14496-15 3rd Edition. For these outputs, the service stores parameter set NAL units in the sample headers but not in the samples directly. Keep the default HEV1 to mark your output as HEV1. For these outputs, the service writes parameter set NAL units directly into the samples.", "enum": [ "HVC1", "HEV1" @@ -4259,7 +4583,7 @@ "documentation": "HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction." } }, - "documentation": "Use the HDR master display (Hdr10Metadata) settings to correct HDR metadata or to provide missing metadata. These values vary depending on the input video and must be provided by a color grader. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that these settings are not color correction. Note that if you are creating HDR outputs inside of an HLS CMAF package, to comply with the Apple specification, you must use the HVC1 for H.265 setting." + "documentation": "Use the \"HDR master display information\" (Hdr10Metadata) settings to correct HDR metadata or to provide missing metadata. These values vary depending on the input video and must be provided by a color grader. Range is 0 to 50,000; each increment represents 0.00002 in CIE1931 color coordinate. Note that these settings are not color correction. Note that if you are creating HDR outputs inside of an HLS CMAF package, to comply with the Apple specification, you must use the following settings. Set \"MP4 packaging type\" (writeMp4PackagingType) to HVC1 (HVC1). Set \"Profile\" (H265Settings > codecProfile) to Main10/High (MAIN10_HIGH). Set \"Level\" (H265Settings > codecLevel) to 5 (LEVEL_5)." }, "HlsAdMarkers": { "type": "string", @@ -4293,7 +4617,8 @@ }, "LanguageCode": { "shape": "LanguageCode", - "locationName": "languageCode" + "locationName": "languageCode", + "documentation": "Specify the language, using the ISO 639-2 three-letter code listed at https://www.loc.gov/standards/iso639-2/php/code_list.php." }, "LanguageDescription": { "shape": "__string", @@ -4346,23 +4671,33 @@ }, "EncryptionMethod": { "shape": "HlsEncryptionType", - "locationName": "encryptionMethod" + "locationName": "encryptionMethod", + "documentation": "Encrypts the segments with the given encryption scheme. Leave blank to disable. Selecting 'Disabled' in the web interface also disables encryption." }, "InitializationVectorInManifest": { "shape": "HlsInitializationVectorInManifest", - "locationName": "initializationVectorInManifest" + "locationName": "initializationVectorInManifest", + "documentation": "The Initialization Vector is a 128-bit number used in conjunction with the key for encrypting blocks. If set to INCLUDE, Initialization Vector is listed in the manifest. Otherwise Initialization Vector is not in the manifest." + }, + "OfflineEncrypted": { + "shape": "HlsOfflineEncrypted", + "locationName": "offlineEncrypted", + "documentation": "Enable this setting to insert the EXT-X-SESSION-KEY element into the master playlist. This allows for offline Apple HLS FairPlay content protection." }, "SpekeKeyProvider": { "shape": "SpekeKeyProvider", - "locationName": "spekeKeyProvider" + "locationName": "spekeKeyProvider", + "documentation": "Settings for use with a SPEKE key provider" }, "StaticKeyProvider": { "shape": "StaticKeyProvider", - "locationName": "staticKeyProvider" + "locationName": "staticKeyProvider", + "documentation": "Use these settings to set up encryption with a static key provider." }, "Type": { "shape": "HlsKeyProviderType", - "locationName": "type" + "locationName": "type", + "documentation": "Indicates which type of key provider is used for encryption." } }, "documentation": "Settings for HLS encryption" @@ -4395,24 +4730,33 @@ }, "CaptionLanguageSetting": { "shape": "HlsCaptionLanguageSetting", - "locationName": "captionLanguageSetting" + "locationName": "captionLanguageSetting", + "documentation": "Applies only to 608 Embedded output captions. Insert: Include CLOSED-CAPTIONS lines in the manifest. Specify at least one language in the CC1 Language Code field. One CLOSED-CAPTION line is added for each Language Code you specify. Make sure to specify the languages in the order in which they appear in the original source (if the source is embedded format) or the order of the caption selectors (if the source is other than embedded). Otherwise, languages in the manifest will not match up properly with the output captions. None: Include CLOSED-CAPTIONS=NONE line in the manifest. Omit: Omit any CLOSED-CAPTIONS line from the manifest." }, "ClientCache": { "shape": "HlsClientCache", - "locationName": "clientCache" + "locationName": "clientCache", + "documentation": "When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client from saving media segments for later replay." }, "CodecSpecification": { "shape": "HlsCodecSpecification", - "locationName": "codecSpecification" + "locationName": "codecSpecification", + "documentation": "Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation." }, "Destination": { "shape": "__stringPatternS3", "locationName": "destination", "documentation": "Use Destination (Destination) to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file." }, + "DestinationSettings": { + "shape": "DestinationSettings", + "locationName": "destinationSettings", + "documentation": "Settings associated with the destination. Will vary based on the type of destination" + }, "DirectoryStructure": { "shape": "HlsDirectoryStructure", - "locationName": "directoryStructure" + "locationName": "directoryStructure", + "documentation": "Indicates whether segments should be placed in subdirectories." }, "Encryption": { "shape": "HlsEncryptionSettings", @@ -4421,11 +4765,13 @@ }, "ManifestCompression": { "shape": "HlsManifestCompression", - "locationName": "manifestCompression" + "locationName": "manifestCompression", + "documentation": "When set to GZIP, compresses HLS playlist." }, "ManifestDurationFormat": { "shape": "HlsManifestDurationFormat", - "locationName": "manifestDurationFormat" + "locationName": "manifestDurationFormat", + "documentation": "Indicates whether the output manifest should use floating point values for segment duration." }, "MinFinalSegmentLength": { "shape": "__doubleMin0Max2147483647", @@ -4439,11 +4785,13 @@ }, "OutputSelection": { "shape": "HlsOutputSelection", - "locationName": "outputSelection" + "locationName": "outputSelection", + "documentation": "Indicates whether the .m3u8 manifest file should be generated for this HLS output group." }, "ProgramDateTime": { "shape": "HlsProgramDateTime", - "locationName": "programDateTime" + "locationName": "programDateTime", + "documentation": "Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files. The value is calculated as follows: either the program date and time are initialized using the input timecode source, or the time is initialized using the input timecode source and the date is initialized using the timestamp_offset." }, "ProgramDateTimePeriod": { "shape": "__integerMin0Max3600", @@ -4452,7 +4800,8 @@ }, "SegmentControl": { "shape": "HlsSegmentControl", - "locationName": "segmentControl" + "locationName": "segmentControl", + "documentation": "When set to SINGLE_FILE, emits program as a single media resource (.ts) file, uses #EXT-X-BYTERANGE tags to index segment for playback." }, "SegmentLength": { "shape": "__integerMin1Max2147483647", @@ -4466,11 +4815,13 @@ }, "StreamInfResolution": { "shape": "HlsStreamInfResolution", - "locationName": "streamInfResolution" + "locationName": "streamInfResolution", + "documentation": "Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest." }, "TimedMetadataId3Frame": { "shape": "HlsTimedMetadataId3Frame", - "locationName": "timedMetadataId3Frame" + "locationName": "timedMetadataId3Frame", + "documentation": "Indicates ID3 frame that has the timecode." }, "TimedMetadataId3Period": { "shape": "__integerMinNegative2147483648Max2147483647", @@ -4525,6 +4876,14 @@ "INTEGER" ] }, + "HlsOfflineEncrypted": { + "type": "string", + "documentation": "Enable this setting to insert the EXT-X-SESSION-KEY element into the master playlist. This allows for offline Apple HLS FairPlay content protection.", + "enum": [ + "ENABLED", + "DISABLED" + ] + }, "HlsOutputSelection": { "type": "string", "documentation": "Indicates whether the .m3u8 manifest file should be generated for this HLS output group.", @@ -4564,11 +4923,13 @@ }, "AudioTrackType": { "shape": "HlsAudioTrackType", - "locationName": "audioTrackType" + "locationName": "audioTrackType", + "documentation": "Four types of audio-only tracks are supported: Audio-Only Variant Stream The client can play back this audio-only stream instead of video in low-bandwidth scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest. Alternate Audio, Auto Select, Default Alternate rendition that the client should try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=YES, AUTOSELECT=YES Alternate Audio, Auto Select, Not Default Alternate rendition that the client may try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES Alternate Audio, not Auto Select Alternate rendition that the client will not try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=NO" }, "IFrameOnlyManifest": { "shape": "HlsIFrameOnlyManifest", - "locationName": "iFrameOnlyManifest" + "locationName": "iFrameOnlyManifest", + "documentation": "When set to INCLUDE, writes I-Frame Only Manifest in addition to the HLS manifest" }, "SegmentModifier": { "shape": "__string", @@ -4620,7 +4981,7 @@ "documentation": "Specify the images that you want to overlay on your video. The images must be PNG or TGA files." } }, - "documentation": "Enable the Image inserter (ImageInserter) feature to include a graphic overlay on your video. Enable or disable this feature for each input or output individually. This setting is disabled by default." + "documentation": "Enable the image inserter feature to include a graphic overlay on your video. Enable or disable this feature for each input or output individually. This setting is disabled by default." }, "Input": { "type": "structure", @@ -4642,25 +5003,28 @@ }, "DeblockFilter": { "shape": "InputDeblockFilter", - "locationName": "deblockFilter" + "locationName": "deblockFilter", + "documentation": "Enable Deblock (InputDeblockFilter) to produce smoother motion in the output. Default is disabled. Only manaully controllable for MPEG2 and uncompressed video inputs." }, "DecryptionSettings": { "shape": "InputDecryptionSettings", "locationName": "decryptionSettings", - "documentation": "If the input file is encrypted, decryption settings to decrypt the media file" + "documentation": "Settings for decrypting any input files that you encrypt before you upload them to Amazon S3. MediaConvert can decrypt files only when you use AWS Key Management Service (KMS) to encrypt the data key that you use to encrypt your content." }, "DenoiseFilter": { "shape": "InputDenoiseFilter", - "locationName": "denoiseFilter" + "locationName": "denoiseFilter", + "documentation": "Enable Denoise (InputDenoiseFilter) to filter noise from the input. Default is disabled. Only applicable to MPEG2, H.264, H.265, and uncompressed video inputs." }, "FileInput": { - "shape": "__stringPatternS3MM2VVMMPPEEGGAAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MM", + "shape": "__stringPatternS3MM2VVMMPPEEGGAAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMXXMMLL", "locationName": "fileInput", - "documentation": "Use Input (fileInput) to define the source file used in the transcode job. There can be multiple inputs in a job. These inputs are concantenated, in the order they are specified in the job, to create the output." + "documentation": "Specify the source file for your transcoding job. You can use multiple inputs in a single job. The service concatenates these inputs, in the order that you specify them in the job, to create the outputs. If your input format is IMF, specify your input by providing the path to your CPL. For example, \"s3://bucket/vf/cpl.xml\". If the CPL is in an incomplete IMP, make sure to use *Supplemental IMPs* (SupplementalImps) to specify any supplemental IMPs that contain assets referenced by the CPL." }, "FilterEnable": { "shape": "InputFilterEnable", - "locationName": "filterEnable" + "locationName": "filterEnable", + "documentation": "Use Filter enable (InputFilterEnable) to specify how the transcoding service applies the denoise and deblock filters. You must also enable the filters separately, with Denoise (InputDenoiseFilter) and Deblock (InputDeblockFilter). * Auto - The transcoding service determines whether to apply filtering, depending on input type and quality. * Disable - The input is not filtered. This is true even if you use the API to enable them in (InputDeblockFilter) and (InputDeblockFilter). * Force - The in put is filtered regardless of input type." }, "FilterStrength": { "shape": "__integerMinNegative5Max5", @@ -4670,7 +5034,7 @@ "ImageInserter": { "shape": "ImageInserter", "locationName": "imageInserter", - "documentation": "Enable the Image inserter (ImageInserter) feature to include a graphic overlay on your video. Enable or disable this feature for each input individually. This setting is disabled by default." + "documentation": "Enable the image inserter feature to include a graphic overlay on your video. Enable or disable this feature for each input individually. This setting is disabled by default." }, "InputClippings": { "shape": "__listOfInputClipping", @@ -4684,15 +5048,23 @@ }, "PsiControl": { "shape": "InputPsiControl", - "locationName": "psiControl" + "locationName": "psiControl", + "documentation": "Set PSI control (InputPsiControl) for transport stream inputs to specify which data the demux process to scans. * Ignore PSI - Scan all PIDs for audio and video. * Use PSI - Scan only PSI data." + }, + "SupplementalImps": { + "shape": "__listOf__stringPatternS3ASSETMAPXml", + "locationName": "supplementalImps", + "documentation": "Provide a list of any necessary supplemental IMPs. You need supplemental IMPs if the CPL that you're using for your input is in an incomplete IMP. Specify either the supplemental IMP directories with a trailing slash or the ASSETMAP.xml files. For example [\"s3://bucket/ov/\", \"s3://bucket/vf2/ASSETMAP.xml\"]. You don't need to specify the IMP that contains your input CPL, because the service automatically detects it." }, "TimecodeSource": { "shape": "InputTimecodeSource", - "locationName": "timecodeSource" + "locationName": "timecodeSource", + "documentation": "Timecode source under input settings (InputTimecodeSource) only affects the behavior of features that apply to a single input at a time, such as input clipping and synchronizing some captions formats. Use this setting to specify whether the service counts frames by timecodes embedded in the video (EMBEDDED) or by starting the first frame at zero (ZEROBASED). In both cases, the timecode format is HH:MM:SS:FF or HH:MM:SS;FF, where FF is the frame number. Only set this to EMBEDDED if your source video has embedded timecodes." }, "VideoSelector": { "shape": "VideoSelector", - "locationName": "videoSelector" + "locationName": "videoSelector", + "documentation": "Selector for video." } }, "documentation": "Specifies media input" @@ -4726,25 +5098,26 @@ "members": { "DecryptionMode": { "shape": "DecryptionMode", - "locationName": "decryptionMode" + "locationName": "decryptionMode", + "documentation": "Specify the encryption mode that you used to encrypt your input files." }, "EncryptedDecryptionKey": { "shape": "__stringMin24Max512PatternAZaZ0902", "locationName": "encryptedDecryptionKey", - "documentation": "Decryption key either 128 or 192 or 256 bits encrypted with KMS" + "documentation": "Warning! Don't provide your encryption key in plaintext. Your job settings could be intercepted, making your encrypted content vulnerable. Specify the encrypted version of the data key that you used to encrypt your content. The data key must be encrypted by AWS Key Management Service (KMS). The key can be 128, 192, or 256 bits." }, "InitializationVector": { "shape": "__stringMin16Max24PatternAZaZ0922AZaZ0916", "locationName": "initializationVector", - "documentation": "Initialization Vector 96 bits (CTR/GCM mode only) or 128 bits." + "documentation": "Specify the initialization vector that you used when you encrypted your content before uploading it to Amazon S3. You can use a 16-byte initialization vector with any encryption mode. Or, you can use a 12-byte initialization vector with GCM or CTR. MediaConvert accepts only initialization vectors that are base64-encoded." }, "KmsKeyRegion": { "shape": "__stringMin9Max19PatternAZ26EastWestCentralNorthSouthEastWest1912", "locationName": "kmsKeyRegion", - "documentation": "The AWS region in which decryption key was encrypted with KMS" + "documentation": "Specify the AWS Region for AWS Key Management Service (KMS) that you used to encrypt your data key, if that Region is different from the one you are using for AWS Elemental MediaConvert." } }, - "documentation": "Specify the decryption settings used to decrypt encrypted input" + "documentation": "Settings for decrypting any input files that you encrypt before you upload them to Amazon S3. MediaConvert can decrypt files only when you use AWS Key Management Service (KMS) to encrypt the data key that you use to encrypt your content." }, "InputDenoiseFilter": { "type": "string", @@ -4771,6 +5144,17 @@ "USE_PSI" ] }, + "InputRotate": { + "type": "string", + "documentation": "Use Rotate (InputRotate) to specify how the service rotates your video. You can choose automatic rotation or specify a rotation. You can specify a clockwise rotation of 0, 90, 180, or 270 degrees. If your input video container is .mov or .mp4 and your input has rotation metadata, you can choose Automatic to have the service rotate your video according to the rotation specified in the metadata. The rotation must be within one degree of 90, 180, or 270 degrees. If the rotation metadata specifies any other rotation, the service will default to no rotation. By default, the service does no rotation, even if your input video has rotation metadata. The service doesn't pass through rotation metadata.", + "enum": [ + "DEGREE_0", + "DEGREES_90", + "DEGREES_180", + "DEGREES_270", + "AUTO" + ] + }, "InputTemplate": { "type": "structure", "members": { @@ -4791,15 +5175,18 @@ }, "DeblockFilter": { "shape": "InputDeblockFilter", - "locationName": "deblockFilter" + "locationName": "deblockFilter", + "documentation": "Enable Deblock (InputDeblockFilter) to produce smoother motion in the output. Default is disabled. Only manaully controllable for MPEG2 and uncompressed video inputs." }, "DenoiseFilter": { "shape": "InputDenoiseFilter", - "locationName": "denoiseFilter" + "locationName": "denoiseFilter", + "documentation": "Enable Denoise (InputDenoiseFilter) to filter noise from the input. Default is disabled. Only applicable to MPEG2, H.264, H.265, and uncompressed video inputs." }, "FilterEnable": { "shape": "InputFilterEnable", - "locationName": "filterEnable" + "locationName": "filterEnable", + "documentation": "Use Filter enable (InputFilterEnable) to specify how the transcoding service applies the denoise and deblock filters. You must also enable the filters separately, with Denoise (InputDenoiseFilter) and Deblock (InputDeblockFilter). * Auto - The transcoding service determines whether to apply filtering, depending on input type and quality. * Disable - The input is not filtered. This is true even if you use the API to enable them in (InputDeblockFilter) and (InputDeblockFilter). * Force - The in put is filtered regardless of input type." }, "FilterStrength": { "shape": "__integerMinNegative5Max5", @@ -4809,7 +5196,7 @@ "ImageInserter": { "shape": "ImageInserter", "locationName": "imageInserter", - "documentation": "Enable the Image inserter (ImageInserter) feature to include a graphic overlay on your video. Enable or disable this feature for each input individually. This setting is disabled by default." + "documentation": "Enable the image inserter feature to include a graphic overlay on your video. Enable or disable this feature for each input individually. This setting is disabled by default." }, "InputClippings": { "shape": "__listOfInputClipping", @@ -4823,15 +5210,18 @@ }, "PsiControl": { "shape": "InputPsiControl", - "locationName": "psiControl" + "locationName": "psiControl", + "documentation": "Set PSI control (InputPsiControl) for transport stream inputs to specify which data the demux process to scans. * Ignore PSI - Scan all PIDs for audio and video. * Use PSI - Scan only PSI data." }, "TimecodeSource": { "shape": "InputTimecodeSource", - "locationName": "timecodeSource" + "locationName": "timecodeSource", + "documentation": "Timecode source under input settings (InputTimecodeSource) only affects the behavior of features that apply to a single input at a time, such as input clipping and synchronizing some captions formats. Use this setting to specify whether the service counts frames by timecodes embedded in the video (EMBEDDED) or by starting the first frame at zero (ZEROBASED). In both cases, the timecode format is HH:MM:SS:FF or HH:MM:SS;FF, where FF is the frame number. Only set this to EMBEDDED if your source video has embedded timecodes." }, "VideoSelector": { "shape": "VideoSelector", - "locationName": "videoSelector" + "locationName": "videoSelector", + "documentation": "Selector for video." } }, "documentation": "Specified video input in a template." @@ -4851,12 +5241,12 @@ "Duration": { "shape": "__integerMin0Max2147483647", "locationName": "duration", - "documentation": "Set the time, in milliseconds, for the image to remain on the output video." + "documentation": "Specify the time, in milliseconds, for the image to remain on the output video. This duration includes fade-in time but not fade-out time." }, "FadeIn": { "shape": "__integerMin0Max2147483647", "locationName": "fadeIn", - "documentation": "Set the length of time, in milliseconds, between the Start time that you specify for the image insertion and the time that the image appears at full opacity. Full opacity is the level that you specify for the opacity setting. If you don't specify a value for Fade-in, the image will appear abruptly at the overlay start time." + "documentation": "Specify the length of time, in milliseconds, between the Start time that you specify for the image insertion and the time that the image appears at full opacity. Full opacity is the level that you specify for the opacity setting. If you don't specify a value for Fade-in, the image will appear abruptly at the overlay start time." }, "FadeOut": { "shape": "__integerMin0Max2147483647", @@ -4871,17 +5261,17 @@ "ImageInserterInput": { "shape": "__stringMin14PatternS3BmpBMPPngPNGTgaTGA", "locationName": "imageInserterInput", - "documentation": "Use Image location (imageInserterInput) to specify the Amazon S3 location of the image to be inserted into the output. Use a PNG or TGA file that fits inside the video frame." + "documentation": "Specify the Amazon S3 location of the image that you want to overlay on the video. Use a PNG or TGA file." }, "ImageX": { "shape": "__integerMin0Max2147483647", "locationName": "imageX", - "documentation": "Use Left (ImageX) to set the distance, in pixels, between the inserted image and the left edge of the video frame. Required for any image overlay that you specify." + "documentation": "Specify the distance, in pixels, between the inserted image and the left edge of the video frame. Required for any image overlay that you specify." }, "ImageY": { "shape": "__integerMin0Max2147483647", "locationName": "imageY", - "documentation": "Use Top (ImageY) to set the distance, in pixels, between the overlaid image and the top edge of the video frame. Required for any image overlay that you specify." + "documentation": "Specify the distance, in pixels, between the overlaid image and the top edge of the video frame. Required for any image overlay that you specify." }, "Layer": { "shape": "__integerMin0Max99", @@ -4896,7 +5286,7 @@ "StartTime": { "shape": "__stringPattern01D20305D205D", "locationName": "startTime", - "documentation": "Use Start time (StartTime) to specify the video timecode when the image is inserted in the output. This must be in timecode (HH:MM:SS:FF or HH:MM:SS;FF) format." + "documentation": "Specify the timecode of the frame that you want the overlay to first appear on. This must be in timecode (HH:MM:SS:FF or HH:MM:SS;FF) format. Remember to take into account your timecode source settings." }, "Width": { "shape": "__integerMin0Max2147483647", @@ -4904,7 +5294,7 @@ "documentation": "Specify the width of the inserted image in pixels. If you specify a value that's larger than the video resolution width, the service will crop your overlaid image to fit. To use the native width of the image, keep this setting blank." } }, - "documentation": "Settings that specify how your overlay appears." + "documentation": "Settings that specify how your still graphic overlay appears." }, "InternalServerErrorException": { "type": "structure", @@ -4923,6 +5313,11 @@ "Job": { "type": "structure", "members": { + "AccelerationSettings": { + "shape": "AccelerationSettings", + "locationName": "accelerationSettings", + "documentation": "Accelerated transcoding can significantly speed up jobs with long, visually complex content." + }, "Arn": { "shape": "__string", "locationName": "arn", @@ -4930,13 +5325,19 @@ }, "BillingTagsSource": { "shape": "BillingTagsSource", - "locationName": "billingTagsSource" + "locationName": "billingTagsSource", + "documentation": "Optional. Choose a tag type that AWS Billing and Cost Management will use to sort your AWS Elemental MediaConvert costs on any billing report that you set up. Any transcoding outputs that don't have an associated tag will appear in your billing report unsorted. If you don't choose a valid value for this field, your job outputs will appear on the billing report unsorted." }, "CreatedAt": { "shape": "__timestampUnix", "locationName": "createdAt", "documentation": "The time, in Unix epoch format in seconds, when the job got created." }, + "CurrentPhase": { + "shape": "JobPhase", + "locationName": "currentPhase", + "documentation": "A job's phase can be PROBING, TRANSCODING OR UPLOADING" + }, "ErrorCode": { "shape": "__integer", "locationName": "errorCode", @@ -4952,6 +5353,11 @@ "locationName": "id", "documentation": "A portion of the job's ARN, unique within your AWS Elemental MediaConvert resources" }, + "JobPercentComplete": { + "shape": "__integer", + "locationName": "jobPercentComplete", + "documentation": "An estimate of how far your job has progressed. This estimate is shown as a percentage of the total time from when your job leaves its queue to when your output files appear in your output Amazon S3 bucket. AWS Elemental MediaConvert provides jobPercentComplete in CloudWatch STATUS_UPDATE events and in the response to GetJob and ListJobs requests. The jobPercentComplete estimate is reliable for the following input containers: Quicktime, Transport Stream, MP4, and MXF. For some jobs, including audio-only jobs and jobs that use input clipping, the service can't provide information about job progress. In those cases, jobPercentComplete returns a null value." + }, "JobTemplate": { "shape": "__string", "locationName": "jobTemplate", @@ -4967,6 +5373,11 @@ "locationName": "queue", "documentation": "Optional. When you create a job, you can specify a queue to send it to. If you don't specify, the job will go to the default queue. For more about queues, see the User Guide topic at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html" }, + "RetryCount": { + "shape": "__integer", + "locationName": "retryCount", + "documentation": "The number of times that the service automatically attempted to process your job after encountering an error." + }, "Role": { "shape": "__string", "locationName": "role", @@ -4974,15 +5385,23 @@ }, "Settings": { "shape": "JobSettings", - "locationName": "settings" + "locationName": "settings", + "documentation": "JobSettings contains all the transcode settings for a job." }, "Status": { "shape": "JobStatus", - "locationName": "status" + "locationName": "status", + "documentation": "A job's status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or ERROR." + }, + "StatusUpdateInterval": { + "shape": "StatusUpdateInterval", + "locationName": "statusUpdateInterval", + "documentation": "Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error." }, "Timing": { "shape": "Timing", - "locationName": "timing" + "locationName": "timing", + "documentation": "Information about when jobs are submitted, started, and finished is specified in Unix epoch format in seconds." }, "UserMetadata": { "shape": "__mapOf__string", @@ -4996,6 +5415,15 @@ "Settings" ] }, + "JobPhase": { + "type": "string", + "documentation": "A job's phase can be PROBING, TRANSCODING OR UPLOADING", + "enum": [ + "PROBING", + "TRANSCODING", + "UPLOADING" + ] + }, "JobSettings": { "type": "structure", "members": { @@ -5009,6 +5437,11 @@ "locationName": "availBlanking", "documentation": "Settings for ad avail blanking. Video can be blanked or overlaid with an image, and audio muted during SCTE-35 triggered ad avails." }, + "Esam": { + "shape": "EsamSettings", + "locationName": "esam", + "documentation": "Settings for Event Signaling And Messaging (ESAM)." + }, "Inputs": { "shape": "__listOfInput", "locationName": "inputs", @@ -5021,7 +5454,8 @@ }, "NielsenConfiguration": { "shape": "NielsenConfiguration", - "locationName": "nielsenConfiguration" + "locationName": "nielsenConfiguration", + "documentation": "Settings for Nielsen Configuration" }, "OutputGroups": { "shape": "__listOfOutputGroup", @@ -5035,7 +5469,8 @@ }, "TimedMetadataInsertion": { "shape": "TimedMetadataInsertion", - "locationName": "timedMetadataInsertion" + "locationName": "timedMetadataInsertion", + "documentation": "Enable Timed metadata insertion (TimedMetadataInsertion) to include ID3 tags in your job. To include timed metadata, you must enable it here, enable it in each output container, and specify tags and timecodes in ID3 insertion (Id3Insertion) objects." } }, "documentation": "JobSettings contains all the transcode settings for a job." @@ -5054,6 +5489,11 @@ "JobTemplate": { "type": "structure", "members": { + "AccelerationSettings": { + "shape": "AccelerationSettings", + "locationName": "accelerationSettings", + "documentation": "Accelerated transcoding is currently in private preview. Contact AWS for more information." + }, "Arn": { "shape": "__string", "locationName": "arn", @@ -5091,7 +5531,13 @@ }, "Settings": { "shape": "JobTemplateSettings", - "locationName": "settings" + "locationName": "settings", + "documentation": "JobTemplateSettings contains all the transcode settings saved in the template that will be applied to jobs created from it." + }, + "StatusUpdateInterval": { + "shape": "StatusUpdateInterval", + "locationName": "statusUpdateInterval", + "documentation": "Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error." }, "Type": { "shape": "Type", @@ -5127,6 +5573,11 @@ "locationName": "availBlanking", "documentation": "Settings for ad avail blanking. Video can be blanked or overlaid with an image, and audio muted during SCTE-35 triggered ad avails." }, + "Esam": { + "shape": "EsamSettings", + "locationName": "esam", + "documentation": "Settings for Event Signaling And Messaging (ESAM)." + }, "Inputs": { "shape": "__listOfInputTemplate", "locationName": "inputs", @@ -5139,7 +5590,8 @@ }, "NielsenConfiguration": { "shape": "NielsenConfiguration", - "locationName": "nielsenConfiguration" + "locationName": "nielsenConfiguration", + "documentation": "Settings for Nielsen Configuration" }, "OutputGroups": { "shape": "__listOfOutputGroup", @@ -5153,7 +5605,8 @@ }, "TimedMetadataInsertion": { "shape": "TimedMetadataInsertion", - "locationName": "timedMetadataInsertion" + "locationName": "timedMetadataInsertion", + "documentation": "Enable Timed metadata insertion (TimedMetadataInsertion) to include ID3 tags in your job. To include timed metadata, you must enable it here, enable it in each output container, and specify tags and timecodes in ID3 insertion (Id3Insertion) objects." } }, "documentation": "JobTemplateSettings contains all the transcode settings saved in the template that will be applied to jobs created from it." @@ -5367,6 +5820,7 @@ "ListBy": { "shape": "JobTemplateListBy", "locationName": "listBy", + "documentation": "Optional. When you request a list of job templates, you can choose to list them alphabetically by NAME or chronologically by CREATION_DATE. If you don't specify, the service will list them by name.", "location": "querystring" }, "MaxResults": { @@ -5384,6 +5838,7 @@ "Order": { "shape": "Order", "locationName": "order", + "documentation": "When you request lists of resources, you can optionally specify whether they are sorted in ASCENDING or DESCENDING order. Default varies by resource.", "location": "querystring" } } @@ -5421,6 +5876,7 @@ "Order": { "shape": "Order", "locationName": "order", + "documentation": "When you request lists of resources, you can optionally specify whether they are sorted in ASCENDING or DESCENDING order. Default varies by resource.", "location": "querystring" }, "Queue": { @@ -5432,6 +5888,7 @@ "Status": { "shape": "JobStatus", "locationName": "status", + "documentation": "A job's status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or ERROR.", "location": "querystring" } } @@ -5463,6 +5920,7 @@ "ListBy": { "shape": "PresetListBy", "locationName": "listBy", + "documentation": "Optional. When you request a list of presets, you can choose to list them alphabetically by NAME or chronologically by CREATION_DATE. If you don't specify, the service will list them by name.", "location": "querystring" }, "MaxResults": { @@ -5480,6 +5938,7 @@ "Order": { "shape": "Order", "locationName": "order", + "documentation": "When you request lists of resources, you can optionally specify whether they are sorted in ASCENDING or DESCENDING order. Default varies by resource.", "location": "querystring" } } @@ -5505,6 +5964,7 @@ "ListBy": { "shape": "QueueListBy", "locationName": "listBy", + "documentation": "Optional. When you request a list of queues, you can choose to list them alphabetically by NAME or chronologically by CREATION_DATE. If you don't specify, the service will list them by creation date.", "location": "querystring" }, "MaxResults": { @@ -5522,6 +5982,7 @@ "Order": { "shape": "Order", "locationName": "order", + "documentation": "When you request lists of resources, you can optionally specify whether they are sorted in ASCENDING or DESCENDING order. Default varies by resource.", "location": "querystring" } } @@ -5560,7 +6021,8 @@ "members": { "ResourceTags": { "shape": "ResourceTags", - "locationName": "resourceTags" + "locationName": "resourceTags", + "documentation": "The Amazon Resource Name (ARN) and tags for an AWS Elemental MediaConvert resource." } } }, @@ -5604,6 +6066,14 @@ "EXCLUDE" ] }, + "M2tsForceTsVideoEbpOrder": { + "type": "string", + "documentation": "Keep the default value (DEFAULT) unless you know that your audio EBP markers are incorrectly appearing before your video EBP markers. To correct this problem, set this value to Force (FORCE).", + "enum": [ + "FORCE", + "DEFAULT" + ] + }, "M2tsNielsenId3": { "type": "string", "documentation": "If INSERT, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output.", @@ -5628,6 +6098,17 @@ "CBR" ] }, + "M2tsScte35Esam": { + "type": "structure", + "members": { + "Scte35EsamPid": { + "shape": "__integerMin32Max8182", + "locationName": "scte35EsamPid", + "documentation": "Packet Identifier (PID) of the SCTE-35 stream in the transport stream generated by ESAM." + } + }, + "documentation": "Settings for SCTE-35 signals from ESAM. Include this in your job settings to put SCTE-35 markers in your HLS and transport stream outputs at the insertion points that you specify in an ESAM XML document. Provide the document in the setting SCC XML (sccXml)." + }, "M2tsScte35Source": { "type": "string", "documentation": "Enables SCTE-35 passthrough (scte35Source) to pass any SCTE-35 signals from input to output.", @@ -5661,7 +6142,8 @@ "members": { "AudioBufferModel": { "shape": "M2tsAudioBufferModel", - "locationName": "audioBufferModel" + "locationName": "audioBufferModel", + "documentation": "Selects between the DVB and ATSC buffer models for Dolby Digital audio." }, "AudioFramesPerPes": { "shape": "__integerMin0Max2147483647", @@ -5671,60 +6153,72 @@ "AudioPids": { "shape": "__listOf__integerMin32Max8182", "locationName": "audioPids", - "documentation": "Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are accepted, and can be entered in ranges and/or by comma separation." + "documentation": "Specify the packet identifiers (PIDs) for any elementary audio streams you include in this output. Specify multiple PIDs as a JSON array. Default is the range 482-492." }, "Bitrate": { "shape": "__integerMin0Max2147483647", "locationName": "bitrate", - "documentation": "The output bitrate of the transport stream in bits per second. Setting to 0 lets the muxer automatically determine the appropriate bitrate. Other common values are 3750000, 7500000, and 15000000." + "documentation": "Specify the output bitrate of the transport stream in bits per second. Setting to 0 lets the muxer automatically determine the appropriate bitrate. Other common values are 3750000, 7500000, and 15000000." }, "BufferModel": { "shape": "M2tsBufferModel", - "locationName": "bufferModel" + "locationName": "bufferModel", + "documentation": "Controls what buffer model to use for accurate interleaving. If set to MULTIPLEX, use multiplex buffer model. If set to NONE, this can lead to lower latency, but low-memory devices may not be able to play back the stream without interruptions." }, "DvbNitSettings": { "shape": "DvbNitSettings", - "locationName": "dvbNitSettings" + "locationName": "dvbNitSettings", + "documentation": "Inserts DVB Network Information Table (NIT) at the specified table repetition interval." }, "DvbSdtSettings": { "shape": "DvbSdtSettings", - "locationName": "dvbSdtSettings" + "locationName": "dvbSdtSettings", + "documentation": "Inserts DVB Service Description Table (NIT) at the specified table repetition interval." }, "DvbSubPids": { "shape": "__listOf__integerMin32Max8182", "locationName": "dvbSubPids", - "documentation": "Packet Identifier (PID) for input source DVB Subtitle data to this output. Multiple values are accepted, and can be entered in ranges and/or by comma separation." + "documentation": "Specify the packet identifiers (PIDs) for DVB subtitle data included in this output. Specify multiple PIDs as a JSON array. Default is the range 460-479." }, "DvbTdtSettings": { "shape": "DvbTdtSettings", - "locationName": "dvbTdtSettings" + "locationName": "dvbTdtSettings", + "documentation": "Inserts DVB Time and Date Table (TDT) at the specified table repetition interval." }, "DvbTeletextPid": { "shape": "__integerMin32Max8182", "locationName": "dvbTeletextPid", - "documentation": "Packet Identifier (PID) for input source DVB Teletext data to this output." + "documentation": "Specify the packet identifier (PID) for DVB teletext data you include in this output. Default is 499." }, "EbpAudioInterval": { "shape": "M2tsEbpAudioInterval", - "locationName": "ebpAudioInterval" + "locationName": "ebpAudioInterval", + "documentation": "When set to VIDEO_AND_FIXED_INTERVALS, audio EBP markers will be added to partitions 3 and 4. The interval between these additional markers will be fixed, and will be slightly shorter than the video EBP marker interval. When set to VIDEO_INTERVAL, these additional markers will not be inserted. Only applicable when EBP segmentation markers are is selected (segmentationMarkers is EBP or EBP_LEGACY)." }, "EbpPlacement": { "shape": "M2tsEbpPlacement", - "locationName": "ebpPlacement" + "locationName": "ebpPlacement", + "documentation": "Selects which PIDs to place EBP markers on. They can either be placed only on the video PID, or on both the video PID and all audio PIDs. Only applicable when EBP segmentation markers are is selected (segmentationMarkers is EBP or EBP_LEGACY)." }, "EsRateInPes": { "shape": "M2tsEsRateInPes", - "locationName": "esRateInPes" + "locationName": "esRateInPes", + "documentation": "Controls whether to include the ES Rate field in the PES header." + }, + "ForceTsVideoEbpOrder": { + "shape": "M2tsForceTsVideoEbpOrder", + "locationName": "forceTsVideoEbpOrder", + "documentation": "Keep the default value (DEFAULT) unless you know that your audio EBP markers are incorrectly appearing before your video EBP markers. To correct this problem, set this value to Force (FORCE)." }, "FragmentTime": { "shape": "__doubleMin0", "locationName": "fragmentTime", - "documentation": "The length in seconds of each fragment. Only used with EBP markers." + "documentation": "The length, in seconds, of each fragment. Only used with EBP markers." }, "MaxPcrInterval": { "shape": "__integerMin0Max500", "locationName": "maxPcrInterval", - "documentation": "Maximum time in milliseconds between Program Clock References (PCRs) inserted into the transport stream." + "documentation": "Specify the maximum time, in milliseconds, between Program Clock References (PCRs) inserted into the transport stream." }, "MinEbpInterval": { "shape": "__integerMin0Max10000", @@ -5733,7 +6227,8 @@ }, "NielsenId3": { "shape": "M2tsNielsenId3", - "locationName": "nielsenId3" + "locationName": "nielsenId3", + "documentation": "If INSERT, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output." }, "NullPacketBitrate": { "shape": "__doubleMin0", @@ -5747,76 +6242,86 @@ }, "PcrControl": { "shape": "M2tsPcrControl", - "locationName": "pcrControl" + "locationName": "pcrControl", + "documentation": "When set to PCR_EVERY_PES_PACKET, a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This is effective only when the PCR PID is the same as the video or audio elementary stream." }, "PcrPid": { "shape": "__integerMin32Max8182", "locationName": "pcrPid", - "documentation": "Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the encoder will assign the same value as the Video PID." + "documentation": "Specify the packet identifier (PID) for the program clock reference (PCR) in this output. If you do not specify a value, the service will use the value for Video PID (VideoPid)." }, "PmtInterval": { "shape": "__integerMin0Max1000", "locationName": "pmtInterval", - "documentation": "The number of milliseconds between instances of this table in the output transport stream." + "documentation": "Specify the number of milliseconds between instances of the program map table (PMT) in the output transport stream." }, "PmtPid": { "shape": "__integerMin32Max8182", "locationName": "pmtPid", - "documentation": "Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream." + "documentation": "Specify the packet identifier (PID) for the program map table (PMT) itself. Default is 480." }, "PrivateMetadataPid": { "shape": "__integerMin32Max8182", "locationName": "privateMetadataPid", - "documentation": "Packet Identifier (PID) of the private metadata stream in the transport stream." + "documentation": "Specify the packet identifier (PID) of the private metadata stream. Default is 503." }, "ProgramNumber": { "shape": "__integerMin0Max65535", "locationName": "programNumber", - "documentation": "The value of the program number field in the Program Map Table." + "documentation": "Use Program number (programNumber) to specify the program number used in the program map table (PMT) for this output. Default is 1. Program numbers and program map tables are parts of MPEG-2 transport stream containers, used for organizing data." }, "RateMode": { "shape": "M2tsRateMode", - "locationName": "rateMode" + "locationName": "rateMode", + "documentation": "When set to CBR, inserts null packets into transport stream to fill specified bitrate. When set to VBR, the bitrate setting acts as the maximum bitrate, but the output will not be padded up to that bitrate." + }, + "Scte35Esam": { + "shape": "M2tsScte35Esam", + "locationName": "scte35Esam", + "documentation": "Include this in your job settings to put SCTE-35 markers in your HLS and transport stream outputs at the insertion points that you specify in an ESAM XML document. Provide the document in the setting SCC XML (sccXml)." }, "Scte35Pid": { "shape": "__integerMin32Max8182", "locationName": "scte35Pid", - "documentation": "Packet Identifier (PID) of the SCTE-35 stream in the transport stream." + "documentation": "Specify the packet identifier (PID) of the SCTE-35 stream in the transport stream." }, "Scte35Source": { "shape": "M2tsScte35Source", - "locationName": "scte35Source" + "locationName": "scte35Source", + "documentation": "Enables SCTE-35 passthrough (scte35Source) to pass any SCTE-35 signals from input to output." }, "SegmentationMarkers": { "shape": "M2tsSegmentationMarkers", - "locationName": "segmentationMarkers" + "locationName": "segmentationMarkers", + "documentation": "Inserts segmentation markers at each segmentation_time period. rai_segstart sets the Random Access Indicator bit in the adaptation field. rai_adapt sets the RAI bit and adds the current timecode in the private data bytes. psi_segstart inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary Point information to the adaptation field as per OpenCable specification OC-SP-EBP-I01-130118. ebp_legacy adds Encoder Boundary Point information to the adaptation field using a legacy proprietary format." }, "SegmentationStyle": { "shape": "M2tsSegmentationStyle", - "locationName": "segmentationStyle" + "locationName": "segmentationStyle", + "documentation": "The segmentation style parameter controls how segmentation markers are inserted into the transport stream. With avails, it is possible that segments may be truncated, which can influence where future segmentation markers are inserted. When a segmentation style of \"reset_cadence\" is selected and a segment is truncated due to an avail, we will reset the segmentation cadence. This means the subsequent segment will have a duration of of $segmentation_time seconds. When a segmentation style of \"maintain_cadence\" is selected and a segment is truncated due to an avail, we will not reset the segmentation cadence. This means the subsequent segment will likely be truncated as well. However, all segments after that will have a duration of $segmentation_time seconds. Note that EBP lookahead is a slight exception to this rule." }, "SegmentationTime": { "shape": "__doubleMin0", "locationName": "segmentationTime", - "documentation": "The length in seconds of each segment. Required unless markers is set to _none_." + "documentation": "Specify the length, in seconds, of each segment. Required unless markers is set to _none_." }, "TimedMetadataPid": { "shape": "__integerMin32Max8182", "locationName": "timedMetadataPid", - "documentation": "Packet Identifier (PID) of the timed metadata stream in the transport stream." + "documentation": "Specify the packet identifier (PID) for timed metadata in this output. Default is 502." }, "TransportStreamId": { "shape": "__integerMin0Max65535", "locationName": "transportStreamId", - "documentation": "The value of the transport stream ID field in the Program Map Table." + "documentation": "Specify the ID for the transport stream itself in the program map table for this output. Transport stream IDs and program map tables are parts of MPEG-2 transport stream containers, used for organizing data." }, "VideoPid": { "shape": "__integerMin32Max8182", "locationName": "videoPid", - "documentation": "Packet Identifier (PID) of the elementary video stream in the transport stream." + "documentation": "Specify the packet identifier (PID) of the elementary video stream in the transport stream." } }, - "documentation": "Settings for M2TS Container." + "documentation": "MPEG-2 TS container settings. These apply to outputs in a File output group when the output's container (ContainerType) is MPEG-2 Transport Stream (M2TS). In these assets, data is organized by the program map table (PMT). Each transport stream program contains subsets of data, including audio, video, and metadata. Each of these subsets of data has a numerical label called a packet identifier (PID). Each transport stream program corresponds to one MediaConvert output. The PMT lists the types of data in a program along with their PID. Downstream systems and players use the program map table to look up the PID for each type of data it accesses and then uses the PIDs to locate specific data within the asset." }, "M3u8NielsenId3": { "type": "string", @@ -5857,7 +6362,8 @@ }, "NielsenId3": { "shape": "M3u8NielsenId3", - "locationName": "nielsenId3" + "locationName": "nielsenId3", + "documentation": "If INSERT, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output." }, "PatInterval": { "shape": "__integerMin0Max1000", @@ -5866,7 +6372,8 @@ }, "PcrControl": { "shape": "M3u8PcrControl", - "locationName": "pcrControl" + "locationName": "pcrControl", + "documentation": "When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio elementary stream." }, "PcrPid": { "shape": "__integerMin32Max8182", @@ -5900,11 +6407,13 @@ }, "Scte35Source": { "shape": "M3u8Scte35Source", - "locationName": "scte35Source" + "locationName": "scte35Source", + "documentation": "Enables SCTE-35 passthrough (scte35Source) to pass any SCTE-35 signals from input to output." }, "TimedMetadata": { "shape": "TimedMetadata", - "locationName": "timedMetadata" + "locationName": "timedMetadata", + "documentation": "Applies only to HLS outputs. Use this setting to specify whether the service inserts the ID3 timed metadata from the input in this output." }, "TimedMetadataPid": { "shape": "__integerMin32Max8182", @@ -5930,7 +6439,7 @@ "Framerate": { "shape": "MotionImageInsertionFramerate", "locationName": "framerate", - "documentation": "If your motion graphic asset is a .mov file, keep this setting unspecified. If your motion graphic asset is a series of .png files, specify the framerate of the overlay in frames per second, as a fraction. For example, specify 24 fps as 24/1. Make sure that the number of images in your series matches the framerate and your intended overlay duration. For example, if you want a 30-second overlay at 30 fps, you should have 900 .png images. This overlay framerate doesn't need to match the framerate of the underlying video." + "documentation": "If your motion graphic asset is a .mov file, keep this setting unspecified. If your motion graphic asset is a series of .png files, specify the frame rate of the overlay in frames per second, as a fraction. For example, specify 24 fps as 24/1. Make sure that the number of images in your series matches the frame rate and your intended overlay duration. For example, if you want a 30-second overlay at 30 fps, you should have 900 .png images. This overlay frame rate doesn't need to match the frame rate of the underlying video." }, "Input": { "shape": "__stringMin14Max1285PatternS3Mov09Png", @@ -5966,15 +6475,15 @@ "FramerateDenominator": { "shape": "__integerMin1Max17895697", "locationName": "framerateDenominator", - "documentation": "The bottom of the fraction that expresses your overlay framerate. For example, if your framerate is 24 fps, set this value to 1." + "documentation": "The bottom of the fraction that expresses your overlay frame rate. For example, if your frame rate is 24 fps, set this value to 1." }, "FramerateNumerator": { "shape": "__integerMin1Max2147483640", "locationName": "framerateNumerator", - "documentation": "The top of the fraction that expresses your overlay framerate. For example, if your framerate is 24 fps, set this value to 24." + "documentation": "The top of the fraction that expresses your overlay frame rate. For example, if your frame rate is 24 fps, set this value to 24." } }, - "documentation": "For motion overlays that don't have a built-in framerate, specify the framerate of the overlay in frames per second, as a fraction. For example, specify 24 fps as 24/1. The overlay framerate doesn't need to match the framerate of the underlying video." + "documentation": "For motion overlays that don't have a built-in frame rate, specify the frame rate of the overlay in frames per second, as a fraction. For example, specify 24 fps as 24/1. The overlay frame rate doesn't need to match the frame rate of the underlying video." }, "MotionImageInsertionMode": { "type": "string", @@ -6042,7 +6551,7 @@ }, "MovReference": { "type": "string", - "documentation": "A value of 'external' creates separate media files and the wrapper file (.mov) contains references to these media files. A value of 'self_contained' creates only a wrapper (.mov) file and this file contains all of the media.", + "documentation": "Always keep the default value (SELF_CONTAINED) for this setting.", "enum": [ "SELF_CONTAINED", "EXTERNAL" @@ -6053,23 +6562,28 @@ "members": { "ClapAtom": { "shape": "MovClapAtom", - "locationName": "clapAtom" + "locationName": "clapAtom", + "documentation": "When enabled, include 'clap' atom if appropriate for the video output settings." }, "CslgAtom": { "shape": "MovCslgAtom", - "locationName": "cslgAtom" + "locationName": "cslgAtom", + "documentation": "When enabled, file composition times will start at zero, composition times in the 'ctts' (composition time to sample) box for B-frames will be negative, and a 'cslg' (composition shift least greatest) box will be included per 14496-1 amendment 1. This improves compatibility with Apple players and tools." }, "Mpeg2FourCCControl": { "shape": "MovMpeg2FourCCControl", - "locationName": "mpeg2FourCCControl" + "locationName": "mpeg2FourCCControl", + "documentation": "When set to XDCAM, writes MPEG2 video streams into the QuickTime file using XDCAM fourcc codes. This increases compatibility with Apple editors and players, but may decrease compatibility with other players. Only applicable when the video codec is MPEG2." }, "PaddingControl": { "shape": "MovPaddingControl", - "locationName": "paddingControl" + "locationName": "paddingControl", + "documentation": "If set to OMNEON, inserts Omneon-compatible padding" }, "Reference": { "shape": "MovReference", - "locationName": "reference" + "locationName": "reference", + "documentation": "Always keep the default value (SELF_CONTAINED) for this setting." } }, "documentation": "Settings for MOV Container." @@ -6124,15 +6638,18 @@ "members": { "CslgAtom": { "shape": "Mp4CslgAtom", - "locationName": "cslgAtom" + "locationName": "cslgAtom", + "documentation": "When enabled, file composition times will start at zero, composition times in the 'ctts' (composition time to sample) box for B-frames will be negative, and a 'cslg' (composition shift least greatest) box will be included per 14496-1 amendment 1. This improves compatibility with Apple players and tools." }, "FreeSpaceBox": { "shape": "Mp4FreeSpaceBox", - "locationName": "freeSpaceBox" + "locationName": "freeSpaceBox", + "documentation": "Inserts a free-space box immediately after the moov box." }, "MoovPlacement": { "shape": "Mp4MoovPlacement", - "locationName": "moovPlacement" + "locationName": "moovPlacement", + "documentation": "If set to PROGRESSIVE_DOWNLOAD, the MOOV atom is relocated to the beginning of the archive as required for progressive downloading. Otherwise it is placed normally at the end." }, "Mp4MajorBrand": { "shape": "__string", @@ -6181,7 +6698,7 @@ }, "Mpeg2FramerateControl": { "type": "string", - "documentation": "If you are using the console, use the Framerate setting to specify the framerate for this output. If you want to keep the same framerate as the input video, choose Follow source. If you want to do framerate conversion, choose a framerate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your framerate as a fraction. If you are creating your transcoding job sepecification as a JSON file without the console, use FramerateControl to specify which value the service uses for the framerate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the framerate from the input. Choose SPECIFIED if you want the service to use the framerate you specify in the settings FramerateNumerator and FramerateDenominator.", + "documentation": "If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job sepecification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator.", "enum": [ "INITIALIZE_FROM_SOURCE", "SPECIFIED" @@ -6189,7 +6706,7 @@ }, "Mpeg2FramerateConversionAlgorithm": { "type": "string", - "documentation": "When set to INTERPOLATE, produces smoother motion during framerate conversion.", + "documentation": "When set to INTERPOLATE, produces smoother motion during frame rate conversion.", "enum": [ "DUPLICATE_DROP", "INTERPOLATE" @@ -6262,7 +6779,8 @@ "members": { "AdaptiveQuantization": { "shape": "Mpeg2AdaptiveQuantization", - "locationName": "adaptiveQuantization" + "locationName": "adaptiveQuantization", + "documentation": "Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality." }, "Bitrate": { "shape": "__integerMin1000Max288000000", @@ -6271,11 +6789,13 @@ }, "CodecLevel": { "shape": "Mpeg2CodecLevel", - "locationName": "codecLevel" + "locationName": "codecLevel", + "documentation": "Use Level (Mpeg2CodecLevel) to set the MPEG-2 level for the video output." }, "CodecProfile": { "shape": "Mpeg2CodecProfile", - "locationName": "codecProfile" + "locationName": "codecProfile", + "documentation": "Use Profile (Mpeg2CodecProfile) to set the MPEG-2 profile for the video output." }, "DynamicSubGop": { "shape": "Mpeg2DynamicSubGop", @@ -6284,21 +6804,23 @@ }, "FramerateControl": { "shape": "Mpeg2FramerateControl", - "locationName": "framerateControl" + "locationName": "framerateControl", + "documentation": "If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job sepecification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator." }, "FramerateConversionAlgorithm": { "shape": "Mpeg2FramerateConversionAlgorithm", - "locationName": "framerateConversionAlgorithm" + "locationName": "framerateConversionAlgorithm", + "documentation": "When set to INTERPOLATE, produces smoother motion during frame rate conversion." }, "FramerateDenominator": { "shape": "__integerMin1Max1001", "locationName": "framerateDenominator", - "documentation": "Framerate denominator." + "documentation": "Frame rate denominator." }, "FramerateNumerator": { "shape": "__integerMin24Max60000", "locationName": "framerateNumerator", - "documentation": "Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps." + "documentation": "Frame rate numerator - frame rate is a fraction, e.g. 24000 / 1001 = 23.976 fps." }, "GopClosedCadence": { "shape": "__integerMin0Max2147483647", @@ -6312,7 +6834,8 @@ }, "GopSizeUnits": { "shape": "Mpeg2GopSizeUnits", - "locationName": "gopSizeUnits" + "locationName": "gopSizeUnits", + "documentation": "Indicates if the GOP Size in MPEG2 is specified in frames or seconds. If seconds the system will convert the GOP Size into a frame count at run time." }, "HrdBufferInitialFillPercentage": { "shape": "__integerMin0Max100", @@ -6326,11 +6849,13 @@ }, "InterlaceMode": { "shape": "Mpeg2InterlaceMode", - "locationName": "interlaceMode" + "locationName": "interlaceMode", + "documentation": "Use Interlace mode (InterlaceMode) to choose the scan line type for the output. * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce interlaced output with the entire output having the same field polarity (top or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore, behavior depends on the input scan type.\n - If the source is interlaced, the output will be interlaced with the same polarity as the source (it will follow the source). The output could therefore be a mix of \"top field first\" and \"bottom field first\".\n - If the source is progressive, the output will be interlaced with \"top field first\" or \"bottom field first\" polarity, depending on which of the Follow options you chose." }, "IntraDcPrecision": { "shape": "Mpeg2IntraDcPrecision", - "locationName": "intraDcPrecision" + "locationName": "intraDcPrecision", + "documentation": "Use Intra DC precision (Mpeg2IntraDcPrecision) to set quantization precision for intra-block DC coefficients. If you choose the value auto, the service will automatically select the precision based on the per-frame compression ratio." }, "MaxBitrate": { "shape": "__integerMin1000Max300000000", @@ -6349,7 +6874,8 @@ }, "ParControl": { "shape": "Mpeg2ParControl", - "locationName": "parControl" + "locationName": "parControl", + "documentation": "Using the API, enable ParFollowSource if you want the service to use the pixel aspect ratio from the input. Using the console, do this by choosing Follow source for Pixel aspect ratio." }, "ParDenominator": { "shape": "__integerMin1Max2147483647", @@ -6363,19 +6889,23 @@ }, "QualityTuningLevel": { "shape": "Mpeg2QualityTuningLevel", - "locationName": "qualityTuningLevel" + "locationName": "qualityTuningLevel", + "documentation": "Use Quality tuning level (Mpeg2QualityTuningLevel) to specifiy whether to use single-pass or multipass video encoding." }, "RateControlMode": { "shape": "Mpeg2RateControlMode", - "locationName": "rateControlMode" + "locationName": "rateControlMode", + "documentation": "Use Rate control mode (Mpeg2RateControlMode) to specifiy whether the bitrate is variable (vbr) or constant (cbr)." }, "SceneChangeDetect": { "shape": "Mpeg2SceneChangeDetect", - "locationName": "sceneChangeDetect" + "locationName": "sceneChangeDetect", + "documentation": "Scene change detection (inserts I-frames on scene changes)." }, "SlowPal": { "shape": "Mpeg2SlowPal", - "locationName": "slowPal" + "locationName": "slowPal", + "documentation": "Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled as 25fps, and audio is sped up correspondingly." }, "Softness": { "shape": "__integerMin0Max128", @@ -6384,19 +6914,23 @@ }, "SpatialAdaptiveQuantization": { "shape": "Mpeg2SpatialAdaptiveQuantization", - "locationName": "spatialAdaptiveQuantization" + "locationName": "spatialAdaptiveQuantization", + "documentation": "Adjust quantization within each frame based on spatial variation of content complexity." }, "Syntax": { "shape": "Mpeg2Syntax", - "locationName": "syntax" + "locationName": "syntax", + "documentation": "Produces a Type D-10 compatible bitstream (SMPTE 356M-2001)." }, "Telecine": { "shape": "Mpeg2Telecine", - "locationName": "telecine" + "locationName": "telecine", + "documentation": "Only use Telecine (Mpeg2Telecine) when you set Framerate (Framerate) to 29.970. Set Telecine (Mpeg2Telecine) to Hard (hard) to produce a 29.97i output from a 23.976 input. Set it to Soft (soft) to produce 23.976 output and leave converstion to the player." }, "TemporalAdaptiveQuantization": { "shape": "Mpeg2TemporalAdaptiveQuantization", - "locationName": "temporalAdaptiveQuantization" + "locationName": "temporalAdaptiveQuantization", + "documentation": "Adjust quantization within each frame based on temporal variation of content complexity." } }, "documentation": "Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value MPEG2." @@ -6455,7 +6989,8 @@ "members": { "SpekeKeyProvider": { "shape": "SpekeKeyProvider", - "locationName": "spekeKeyProvider" + "locationName": "spekeKeyProvider", + "documentation": "Settings for use with a SPEKE key provider" } }, "documentation": "If you are using DRM, set DRM System (MsSmoothEncryptionSettings) to specify the value SpekeKeyProvider." @@ -6465,25 +7000,33 @@ "members": { "AudioDeduplication": { "shape": "MsSmoothAudioDeduplication", - "locationName": "audioDeduplication" + "locationName": "audioDeduplication", + "documentation": "COMBINE_DUPLICATE_STREAMS combines identical audio encoding settings across a Microsoft Smooth output group into a single audio stream." }, "Destination": { "shape": "__stringPatternS3", "locationName": "destination", "documentation": "Use Destination (Destination) to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file." }, + "DestinationSettings": { + "shape": "DestinationSettings", + "locationName": "destinationSettings", + "documentation": "Settings associated with the destination. Will vary based on the type of destination" + }, "Encryption": { "shape": "MsSmoothEncryptionSettings", - "locationName": "encryption" + "locationName": "encryption", + "documentation": "If you are using DRM, set DRM System (MsSmoothEncryptionSettings) to specify the value SpekeKeyProvider." }, "FragmentLength": { "shape": "__integerMin1Max2147483647", "locationName": "fragmentLength", - "documentation": "Use Fragment length (FragmentLength) to specify the mp4 fragment sizes in seconds. Fragment length must be compatible with GOP size and framerate." + "documentation": "Use Fragment length (FragmentLength) to specify the mp4 fragment sizes in seconds. Fragment length must be compatible with GOP size and frame rate." }, "ManifestEncoding": { "shape": "MsSmoothManifestEncoding", - "locationName": "manifestEncoding" + "locationName": "manifestEncoding", + "documentation": "Use Manifest encoding (MsSmoothManifestEncoding) to specify the encoding format for the server and client manifest. Valid options are utf8 and utf16." } }, "documentation": "Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to MS_SMOOTH_GROUP_SETTINGS." @@ -6517,15 +7060,18 @@ "members": { "Filter": { "shape": "NoiseReducerFilter", - "locationName": "filter" + "locationName": "filter", + "documentation": "Use Noise reducer filter (NoiseReducerFilter) to select one of the following spatial image filtering functions. To use this setting, you must also enable Noise reducer (NoiseReducer). * Bilateral is an edge preserving noise reduction filter. * Mean (softest), Gaussian, Lanczos, and Sharpen (sharpest) are convolution filters. * Conserve is a min/max noise reduction filter. * Spatial is a frequency-domain filter based on JND principles." }, "FilterSettings": { "shape": "NoiseReducerFilterSettings", - "locationName": "filterSettings" + "locationName": "filterSettings", + "documentation": "Settings for a noise reducer filter" }, "SpatialFilterSettings": { "shape": "NoiseReducerSpatialFilterSettings", - "locationName": "spatialFilterSettings" + "locationName": "spatialFilterSettings", + "documentation": "Noise reducer filter settings for spatial filter." } }, "documentation": "Enable the Noise reducer (NoiseReducer) feature to remove noise from your video output if necessary. Enable or disable this feature for each output individually. This setting is disabled by default. When you enable Noise reducer (NoiseReducer), you must also select a value for Noise reducer filter (NoiseReducerFilter)." @@ -6612,7 +7158,8 @@ }, "ContainerSettings": { "shape": "ContainerSettings", - "locationName": "containerSettings" + "locationName": "containerSettings", + "documentation": "Container specific settings." }, "Extension": { "shape": "__string", @@ -6626,7 +7173,8 @@ }, "OutputSettings": { "shape": "OutputSettings", - "locationName": "outputSettings" + "locationName": "outputSettings", + "documentation": "Specific settings for this type of output." }, "Preset": { "shape": "__stringMin0", @@ -6662,7 +7210,8 @@ }, "VideoDetails": { "shape": "VideoDetail", - "locationName": "videoDetails" + "locationName": "videoDetails", + "documentation": "Contains details about the output's video stream" } }, "documentation": "Details regarding output" @@ -6682,7 +7231,8 @@ }, "OutputGroupSettings": { "shape": "OutputGroupSettings", - "locationName": "outputGroupSettings" + "locationName": "outputGroupSettings", + "documentation": "Output Group settings, including type" }, "Outputs": { "shape": "__listOfOutput", @@ -6708,27 +7258,33 @@ "members": { "CmafGroupSettings": { "shape": "CmafGroupSettings", - "locationName": "cmafGroupSettings" + "locationName": "cmafGroupSettings", + "documentation": "Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to CMAF_GROUP_SETTINGS. Each output in a CMAF Output Group may only contain a single video, audio, or caption output." }, "DashIsoGroupSettings": { "shape": "DashIsoGroupSettings", - "locationName": "dashIsoGroupSettings" + "locationName": "dashIsoGroupSettings", + "documentation": "Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to DASH_ISO_GROUP_SETTINGS." }, "FileGroupSettings": { "shape": "FileGroupSettings", - "locationName": "fileGroupSettings" + "locationName": "fileGroupSettings", + "documentation": "Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to FILE_GROUP_SETTINGS." }, "HlsGroupSettings": { "shape": "HlsGroupSettings", - "locationName": "hlsGroupSettings" + "locationName": "hlsGroupSettings", + "documentation": "Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to HLS_GROUP_SETTINGS." }, "MsSmoothGroupSettings": { "shape": "MsSmoothGroupSettings", - "locationName": "msSmoothGroupSettings" + "locationName": "msSmoothGroupSettings", + "documentation": "Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to MS_SMOOTH_GROUP_SETTINGS." }, "Type": { "shape": "OutputGroupType", - "locationName": "type" + "locationName": "type", + "documentation": "Type of output group (File group, Apple HLS, DASH ISO, Microsoft Smooth Streaming, CMAF)" } }, "documentation": "Output Group settings, including type" @@ -6759,7 +7315,8 @@ "members": { "HlsSettings": { "shape": "HlsSettings", - "locationName": "hlsSettings" + "locationName": "hlsSettings", + "documentation": "Settings for HLS output groups" } }, "documentation": "Specific settings for this type of output." @@ -6799,7 +7356,8 @@ }, "Settings": { "shape": "PresetSettings", - "locationName": "settings" + "locationName": "settings", + "documentation": "Settings for preset" }, "Type": { "shape": "Type", @@ -6837,7 +7395,8 @@ }, "ContainerSettings": { "shape": "ContainerSettings", - "locationName": "containerSettings" + "locationName": "containerSettings", + "documentation": "Container specific settings." }, "VideoDescription": { "shape": "VideoDescription", @@ -6867,7 +7426,7 @@ }, "ProresFramerateControl": { "type": "string", - "documentation": "If you are using the console, use the Framerate setting to specify the framerate for this output. If you want to keep the same framerate as the input video, choose Follow source. If you want to do framerate conversion, choose a framerate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your framerate as a fraction. If you are creating your transcoding job sepecification as a JSON file without the console, use FramerateControl to specify which value the service uses for the framerate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the framerate from the input. Choose SPECIFIED if you want the service to use the framerate you specify in the settings FramerateNumerator and FramerateDenominator.", + "documentation": "If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job sepecification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator.", "enum": [ "INITIALIZE_FROM_SOURCE", "SPECIFIED" @@ -6875,7 +7434,7 @@ }, "ProresFramerateConversionAlgorithm": { "type": "string", - "documentation": "When set to INTERPOLATE, produces smoother motion during framerate conversion.", + "documentation": "When set to INTERPOLATE, produces smoother motion during frame rate conversion.", "enum": [ "DUPLICATE_DROP", "INTERPOLATE" @@ -6905,33 +7464,38 @@ "members": { "CodecProfile": { "shape": "ProresCodecProfile", - "locationName": "codecProfile" + "locationName": "codecProfile", + "documentation": "Use Profile (ProResCodecProfile) to specifiy the type of Apple ProRes codec to use for this output." }, "FramerateControl": { "shape": "ProresFramerateControl", - "locationName": "framerateControl" + "locationName": "framerateControl", + "documentation": "If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job sepecification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator." }, "FramerateConversionAlgorithm": { "shape": "ProresFramerateConversionAlgorithm", - "locationName": "framerateConversionAlgorithm" + "locationName": "framerateConversionAlgorithm", + "documentation": "When set to INTERPOLATE, produces smoother motion during frame rate conversion." }, "FramerateDenominator": { "shape": "__integerMin1Max2147483647", "locationName": "framerateDenominator", - "documentation": "Framerate denominator." + "documentation": "Frame rate denominator." }, "FramerateNumerator": { "shape": "__integerMin1Max2147483647", "locationName": "framerateNumerator", - "documentation": "When you use the API for transcode jobs that use framerate conversion, specify the framerate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator of this fraction. In this example, use 24000 for the value of FramerateNumerator." + "documentation": "When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator of this fraction. In this example, use 24000 for the value of FramerateNumerator." }, "InterlaceMode": { "shape": "ProresInterlaceMode", - "locationName": "interlaceMode" + "locationName": "interlaceMode", + "documentation": "Use Interlace mode (InterlaceMode) to choose the scan line type for the output. * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce interlaced output with the entire output having the same field polarity (top or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore, behavior depends on the input scan type.\n - If the source is interlaced, the output will be interlaced with the same polarity as the source (it will follow the source). The output could therefore be a mix of \"top field first\" and \"bottom field first\".\n - If the source is progressive, the output will be interlaced with \"top field first\" or \"bottom field first\" polarity, depending on which of the Follow options you chose." }, "ParControl": { "shape": "ProresParControl", - "locationName": "parControl" + "locationName": "parControl", + "documentation": "Use (ProresParControl) to specify how the service determines the pixel aspect ratio. Set to Follow source (INITIALIZE_FROM_SOURCE) to use the pixel aspect ratio from the input. To specify a different pixel aspect ratio: Using the console, choose it from the dropdown menu. Using the API, set ProresParControl to (SPECIFIED) and provide for (ParNumerator) and (ParDenominator)." }, "ParDenominator": { "shape": "__integerMin1Max2147483647", @@ -6945,11 +7509,13 @@ }, "SlowPal": { "shape": "ProresSlowPal", - "locationName": "slowPal" + "locationName": "slowPal", + "documentation": "Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled as 25fps, and audio is sped up correspondingly." }, "Telecine": { "shape": "ProresTelecine", - "locationName": "telecine" + "locationName": "telecine", + "documentation": "Only use Telecine (ProresTelecine) when you set Framerate (Framerate) to 29.970. Set Telecine (ProresTelecine) to Hard (hard) to produce a 29.97i output from a 23.976 input. Set it to Soft (soft) to produce 23.976 output and leave converstion to the player." } }, "documentation": "Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value PRORES." @@ -7081,7 +7647,8 @@ "members": { "ChannelMapping": { "shape": "ChannelMapping", - "locationName": "channelMapping" + "locationName": "channelMapping", + "documentation": "Channel mapping (ChannelMapping) contains the group of fields that hold the remixing value for each channel. Units are in dB. Acceptable values are within the range from -60 (mute) through 6. A setting of 0 passes the input channel unchanged to the output channel (no attenuation or amplification)." }, "ChannelsIn": { "shape": "__integerMin1Max16", @@ -7199,9 +7766,44 @@ "PASSTHROUGH" ] }, + "S3DestinationSettings": { + "type": "structure", + "members": { + "Encryption": { + "shape": "S3EncryptionSettings", + "locationName": "encryption", + "documentation": "Settings for how your job outputs are encrypted as they are uploaded to Amazon S3." + } + }, + "documentation": "Settings associated with S3 destination" + }, + "S3EncryptionSettings": { + "type": "structure", + "members": { + "EncryptionType": { + "shape": "S3ServerSideEncryptionType", + "locationName": "encryptionType", + "documentation": "Specify how you want your data keys managed. AWS uses data keys to encrypt your content. AWS also encrypts the data keys themselves, using a customer master key (CMK), and then stores the encrypted data keys alongside your encrypted content. Use this setting to specify which AWS service manages the CMK. For simplest set up, choose Amazon S3 (SERVER_SIDE_ENCRYPTION_S3). If you want your master key to be managed by AWS Key Management Service (KMS), choose AWS KMS (SERVER_SIDE_ENCRYPTION_KMS). By default, when you choose AWS KMS, KMS uses the AWS managed customer master key (CMK) associated with Amazon S3 to encrypt your data keys. You can optionally choose to specify a different, customer managed CMK. Do so by specifying the Amazon Resource Name (ARN) of the key for the setting KMS ARN (kmsKeyArn)." + }, + "KmsKeyArn": { + "shape": "__stringPatternArnAwsUsGovKmsAZ26EastWestCentralNorthSouthEastWest1912D12KeyAFAF098AFAF094AFAF094AFAF094AFAF0912", + "locationName": "kmsKeyArn", + "documentation": "Optionally, specify the customer master key (CMK) that you want to use to encrypt the data key that AWS uses to encrypt your output content. Enter the Amazon Resource Name (ARN) of the CMK. To use this setting, you must also set Server-side encryption (S3ServerSideEncryptionType) to AWS KMS (SERVER_SIDE_ENCRYPTION_KMS). If you set Server-side encryption to AWS KMS but don't specify a CMK here, AWS uses the AWS managed CMK associated with Amazon S3." + } + }, + "documentation": "Settings for how your job outputs are encrypted as they are uploaded to Amazon S3." + }, + "S3ServerSideEncryptionType": { + "type": "string", + "documentation": "Specify how you want your data keys managed. AWS uses data keys to encrypt your content. AWS also encrypts the data keys themselves, using a customer master key (CMK), and then stores the encrypted data keys alongside your encrypted content. Use this setting to specify which AWS service manages the CMK. For simplest set up, choose Amazon S3 (SERVER_SIDE_ENCRYPTION_S3). If you want your master key to be managed by AWS Key Management Service (KMS), choose AWS KMS (SERVER_SIDE_ENCRYPTION_KMS). By default, when you choose AWS KMS, KMS uses the AWS managed customer master key (CMK) associated with Amazon S3 to encrypt your data keys. You can optionally choose to specify a different, customer managed CMK. Do so by specifying the Amazon Resource Name (ARN) of the key for the setting KMS ARN (kmsKeyArn).", + "enum": [ + "SERVER_SIDE_ENCRYPTION_S3", + "SERVER_SIDE_ENCRYPTION_KMS" + ] + }, "ScalingBehavior": { "type": "string", - "documentation": "Applies only if your input aspect ratio is different from your output aspect ratio. Enable Stretch to output (StretchToOutput) to have the service stretch your video image to fit. Leave this setting disabled to allow the service to letterbox your video instead. This setting overrides any positioning value you specify elsewhere in the job.", + "documentation": "Applies only if your input aspect ratio is different from your output aspect ratio. Choose \"Stretch to output\" to have the service stretch your video image to fit. Keep the setting \"Default\" to allow the service to letterbox your video instead. This setting overrides any positioning value you specify elsewhere in the job.", "enum": [ "DEFAULT", "STRETCH_TO_OUTPUT" @@ -7209,7 +7811,7 @@ }, "SccDestinationFramerate": { "type": "string", - "documentation": "Set Framerate (SccDestinationFramerate) to make sure that the captions and the video are synchronized in the output. Specify a framerate that matches the framerate of the associated video. If the video framerate is 29.97, choose 29.97 dropframe (FRAMERATE_29_97_DROPFRAME) only if the video has video_insertion=true and drop_frame_timecode=true; otherwise, choose 29.97 non-dropframe (FRAMERATE_29_97_NON_DROPFRAME).", + "documentation": "Set Framerate (SccDestinationFramerate) to make sure that the captions and the video are synchronized in the output. Specify a frame rate that matches the frame rate of the associated video. If the video frame rate is 29.97, choose 29.97 dropframe (FRAMERATE_29_97_DROPFRAME) only if the video has video_insertion=true and drop_frame_timecode=true; otherwise, choose 29.97 non-dropframe (FRAMERATE_29_97_NON_DROPFRAME).", "enum": [ "FRAMERATE_23_97", "FRAMERATE_24", @@ -7222,7 +7824,8 @@ "members": { "Framerate": { "shape": "SccDestinationFramerate", - "locationName": "framerate" + "locationName": "framerate", + "documentation": "Set Framerate (SccDestinationFramerate) to make sure that the captions and the video are synchronized in the output. Specify a frame rate that matches the frame rate of the associated video. If the video frame rate is 29.97, choose 29.97 dropframe (FRAMERATE_29_97_DROPFRAME) only if the video has video_insertion=true and drop_frame_timecode=true; otherwise, choose 29.97 non-dropframe (FRAMERATE_29_97_NON_DROPFRAME)." } }, "documentation": "Settings for SCC caption output." @@ -7231,7 +7834,7 @@ "type": "structure", "members": { "CertificateArn": { - "shape": "__stringPatternArnAwsAcm", + "shape": "__stringPatternArnAwsUsGovAcm", "locationName": "certificateArn", "documentation": "Optional AWS Certificate Manager ARN for a certificate to send to the keyprovider. The certificate holds a key used by the keyprovider to encrypt the keys in its response." }, @@ -7279,6 +7882,27 @@ }, "documentation": "Use these settings to set up encryption with a static key provider." }, + "StatusUpdateInterval": { + "type": "string", + "documentation": "Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error.", + "enum": [ + "SECONDS_10", + "SECONDS_12", + "SECONDS_15", + "SECONDS_20", + "SECONDS_30", + "SECONDS_60", + "SECONDS_120", + "SECONDS_180", + "SECONDS_240", + "SECONDS_300", + "SECONDS_360", + "SECONDS_420", + "SECONDS_480", + "SECONDS_540", + "SECONDS_600" + ] + }, "TagResourceRequest": { "type": "structure", "members": { @@ -7335,7 +7959,8 @@ }, "Position": { "shape": "TimecodeBurninPosition", - "locationName": "position" + "locationName": "position", + "documentation": "Use Position (Position) under under Timecode burn-in (TimecodeBurnIn) to specify the location the burned-in timecode on output video." }, "Prefix": { "shape": "__stringPattern", @@ -7366,11 +7991,12 @@ "Anchor": { "shape": "__stringPattern010920405090509092", "locationName": "anchor", - "documentation": "If you use an editing platform that relies on an anchor timecode, use Anchor Timecode (Anchor) to specify a timecode that will match the input video frame to the output video frame. Use 24-hour format with frame number, (HH:MM:SS:FF) or (HH:MM:SS;FF). This setting ignores framerate conversion. System behavior for Anchor Timecode varies depending on your setting for Source (TimecodeSource). * If Source (TimecodeSource) is set to Specified Start (SPECIFIEDSTART), the first input frame is the specified value in Start Timecode (Start). Anchor Timecode (Anchor) and Start Timecode (Start) are used calculate output timecode. * If Source (TimecodeSource) is set to Start at 0 (ZEROBASED) the first frame is 00:00:00:00. * If Source (TimecodeSource) is set to Embedded (EMBEDDED), the first frame is the timecode value on the first input frame of the input." + "documentation": "If you use an editing platform that relies on an anchor timecode, use Anchor Timecode (Anchor) to specify a timecode that will match the input video frame to the output video frame. Use 24-hour format with frame number, (HH:MM:SS:FF) or (HH:MM:SS;FF). This setting ignores frame rate conversion. System behavior for Anchor Timecode varies depending on your setting for Source (TimecodeSource). * If Source (TimecodeSource) is set to Specified Start (SPECIFIEDSTART), the first input frame is the specified value in Start Timecode (Start). Anchor Timecode (Anchor) and Start Timecode (Start) are used calculate output timecode. * If Source (TimecodeSource) is set to Start at 0 (ZEROBASED) the first frame is 00:00:00:00. * If Source (TimecodeSource) is set to Embedded (EMBEDDED), the first frame is the timecode value on the first input frame of the input." }, "Source": { "shape": "TimecodeSource", - "locationName": "source" + "locationName": "source", + "documentation": "Use Source (TimecodeSource) to set how timecodes are handled within this job. To make sure that your video, audio, captions, and markers are synchronized and that time-based features, such as image inserter, work correctly, choose the Timecode source option that matches your assets. All timecodes are in a 24-hour format with frame number (HH:MM:SS:FF). * Embedded (EMBEDDED) - Use the timecode that is in the input video. If no embedded timecode is in the source, the service will use Start at 0 (ZEROBASED) instead. * Start at 0 (ZEROBASED) - Set the timecode of the initial frame to 00:00:00:00. * Specified Start (SPECIFIEDSTART) - Set the timecode of the initial frame to a value other than zero. You use Start timecode (Start) to provide this value." }, "Start": { "shape": "__stringPattern010920405090509092", @@ -7448,12 +8074,24 @@ }, "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." }, + "TrackSourceSettings": { + "type": "structure", + "members": { + "TrackNumber": { + "shape": "__integerMin1Max2147483647", + "locationName": "trackNumber", + "documentation": "Use this setting to select a single captions track from a source. Track numbers correspond to the order in the captions source file. For IMF sources, track numbering is based on the order that the captions appear in the CPL. For example, use 1 to select the captions asset that is listed first in the CPL. To include more than one captions track in your job outputs, create multiple input captions selectors. Specify one track per selector." + } + }, + "documentation": "Settings specific to caption sources that are specfied by track number. Sources include IMSC in IMF." + }, "TtmlDestinationSettings": { "type": "structure", "members": { "StylePassthrough": { "shape": "TtmlStylePassthrough", - "locationName": "stylePassthrough" + "locationName": "stylePassthrough", + "documentation": "Pass through style and position information from a TTML-like input source (TTML, SMPTE-TT, CFF-TT) to the CFF-TT output or TTML output." } }, "documentation": "Settings specific to TTML caption outputs, including Pass style information (TtmlStylePassthrough)." @@ -7500,6 +8138,11 @@ "UpdateJobTemplateRequest": { "type": "structure", "members": { + "AccelerationSettings": { + "shape": "AccelerationSettings", + "locationName": "accelerationSettings", + "documentation": "Accelerated transcoding can significantly speed up jobs with long, visually complex content. Outputs that use this feature incur pro-tier pricing. For information about feature limitations, see the AWS Elemental MediaConvert User Guide." + }, "Category": { "shape": "__string", "locationName": "category", @@ -7523,7 +8166,13 @@ }, "Settings": { "shape": "JobTemplateSettings", - "locationName": "settings" + "locationName": "settings", + "documentation": "JobTemplateSettings contains all the transcode settings saved in the template that will be applied to jobs created from it." + }, + "StatusUpdateInterval": { + "shape": "StatusUpdateInterval", + "locationName": "statusUpdateInterval", + "documentation": "Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error." } }, "required": [ @@ -7535,7 +8184,8 @@ "members": { "JobTemplate": { "shape": "JobTemplate", - "locationName": "jobTemplate" + "locationName": "jobTemplate", + "documentation": "A job template is a pre-made set of encoding instructions that you can use to quickly create a job." } } }, @@ -7560,7 +8210,8 @@ }, "Settings": { "shape": "PresetSettings", - "locationName": "settings" + "locationName": "settings", + "documentation": "Settings for preset" } }, "required": [ @@ -7572,7 +8223,8 @@ "members": { "Preset": { "shape": "Preset", - "locationName": "preset" + "locationName": "preset", + "documentation": "A preset is a collection of preconfigured media conversion settings that you want MediaConvert to apply to the output during the conversion process." } } }, @@ -7610,7 +8262,8 @@ "members": { "Queue": { "shape": "Queue", - "locationName": "queue" + "locationName": "queue", + "documentation": "You can use queues to manage the resources that are available to your AWS account for running multiple transcoding jobs at the same time. If you don't specify a queue, the service sends all jobs through the default queue. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/working-with-queues.html." } } }, @@ -7635,23 +8288,28 @@ }, "FrameCaptureSettings": { "shape": "FrameCaptureSettings", - "locationName": "frameCaptureSettings" + "locationName": "frameCaptureSettings", + "documentation": "Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value FRAME_CAPTURE." }, "H264Settings": { "shape": "H264Settings", - "locationName": "h264Settings" + "locationName": "h264Settings", + "documentation": "Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value H_264." }, "H265Settings": { "shape": "H265Settings", - "locationName": "h265Settings" + "locationName": "h265Settings", + "documentation": "Settings for H265 codec" }, "Mpeg2Settings": { "shape": "Mpeg2Settings", - "locationName": "mpeg2Settings" + "locationName": "mpeg2Settings", + "documentation": "Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value MPEG2." }, "ProresSettings": { "shape": "ProresSettings", - "locationName": "proresSettings" + "locationName": "proresSettings", + "documentation": "Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value PRORES." } }, "documentation": "Video codec settings, (CodecSettings) under (VideoDescription), contains the group of settings related to video encoding. The settings in this group vary depending on the value you choose for Video codec (Codec). For each codec enum you choose, define the corresponding settings object. The following lists the codec enum, settings object pairs. * H_264, H264Settings * H_265, H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings * FRAME_CAPTURE, FrameCaptureSettings" @@ -7661,28 +8319,33 @@ "members": { "AfdSignaling": { "shape": "AfdSignaling", - "locationName": "afdSignaling" + "locationName": "afdSignaling", + "documentation": "This setting only applies to H.264, H.265, and MPEG2 outputs. Use Insert AFD signaling (AfdSignaling) to specify whether the service includes AFD values in the output video data and what those values are. * Choose None to remove all AFD values from this output. * Choose Fixed to ignore input AFD values and instead encode the value specified in the job. * Choose Auto to calculate output AFD values based on the input AFD scaler data." }, "AntiAlias": { "shape": "AntiAlias", - "locationName": "antiAlias" + "locationName": "antiAlias", + "documentation": "The service automatically applies the anti-alias filter to all outputs. The service no longer accepts the value DISABLED for AntiAlias. If you specify that in your job, the service will ignore the setting." }, "CodecSettings": { "shape": "VideoCodecSettings", - "locationName": "codecSettings" + "locationName": "codecSettings", + "documentation": "Video codec settings, (CodecSettings) under (VideoDescription), contains the group of settings related to video encoding. The settings in this group vary depending on the value you choose for Video codec (Codec). For each codec enum you choose, define the corresponding settings object. The following lists the codec enum, settings object pairs. * H_264, H264Settings * H_265, H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings * FRAME_CAPTURE, FrameCaptureSettings" }, "ColorMetadata": { "shape": "ColorMetadata", - "locationName": "colorMetadata" + "locationName": "colorMetadata", + "documentation": "Enable Insert color metadata (ColorMetadata) to include color metadata in this output. This setting is enabled by default." }, "Crop": { "shape": "Rectangle", "locationName": "crop", - "documentation": "Applies only if your input aspect ratio is different from your output aspect ratio. Use Input cropping rectangle (Crop) to specify the video area the service will include in the output. This will crop the input source, causing video pixels to be removed on encode. Do not use this setting if you have enabled Stretch to output (stretchToOutput) in your output settings." + "documentation": "Applies only if your input aspect ratio is different from your output aspect ratio. Use Input cropping rectangle (Crop) to specify the video area the service will include in the output. This will crop the input source, causing video pixels to be removed on encode. If you crop your input frame size to smaller than your output frame size, make sure to specify the behavior you want in your output setting \"Scaling behavior\"." }, "DropFrameTimecode": { "shape": "DropFrameTimecode", - "locationName": "dropFrameTimecode" + "locationName": "dropFrameTimecode", + "documentation": "Applies only to 29.97 fps outputs. When this feature is enabled, the service will use drop-frame timecode on outputs. If it is not possible to use drop-frame timecode, the system will fall back to non-drop-frame. This setting is enabled by default when Timecode insertion (TimecodeInsertion) is enabled." }, "FixedAfd": { "shape": "__integerMin0Max15", @@ -7701,20 +8364,23 @@ }, "RespondToAfd": { "shape": "RespondToAfd", - "locationName": "respondToAfd" + "locationName": "respondToAfd", + "documentation": "Use Respond to AFD (RespondToAfd) to specify how the service changes the video itself in response to AFD values in the input. * Choose Respond to clip the input video frame according to the AFD value, input display aspect ratio, and output display aspect ratio. * Choose Passthrough to include the input AFD values. Do not choose this when AfdSignaling is set to (NONE). A preferred implementation of this workflow is to set RespondToAfd to (NONE) and set AfdSignaling to (AUTO). * Choose None to remove all input AFD values from this output." }, "ScalingBehavior": { "shape": "ScalingBehavior", - "locationName": "scalingBehavior" + "locationName": "scalingBehavior", + "documentation": "Applies only if your input aspect ratio is different from your output aspect ratio. Choose \"Stretch to output\" to have the service stretch your video image to fit. Keep the setting \"Default\" to allow the service to letterbox your video instead. This setting overrides any positioning value you specify elsewhere in the job." }, "Sharpness": { "shape": "__integerMin0Max100", "locationName": "sharpness", - "documentation": "Use Sharpness (Sharpness)setting to specify the strength of anti-aliasing. This setting changes the width of the anti-alias filter kernel used for scaling. Sharpness only applies if your output resolution is different from your input resolution, and if you set Anti-alias (AntiAlias) to ENABLED. 0 is the softest setting, 100 the sharpest, and 50 recommended for most content." + "documentation": "Use Sharpness (Sharpness) setting to specify the strength of anti-aliasing. This setting changes the width of the anti-alias filter kernel used for scaling. Sharpness only applies if your output resolution is different from your input resolution. 0 is the softest setting, 100 the sharpest, and 50 recommended for most content." }, "TimecodeInsertion": { "shape": "VideoTimecodeInsertion", - "locationName": "timecodeInsertion" + "locationName": "timecodeInsertion", + "documentation": "Applies only to H.264, H.265, MPEG2, and ProRes outputs. Only enable Timecode insertion when the input frame rate is identical to the output frame rate. To include timecodes in this output, set Timecode insertion (VideoTimecodeInsertion) to PIC_TIMING_SEI. To leave them out, set it to DISABLED. Default is DISABLED. When the service inserts timecodes in an output, by default, it uses any embedded timecodes from the input. If none are present, the service will set the timecode for the first output frame to zero. To change this default behavior, adjust the settings under Timecode configuration (TimecodeConfig). In the console, these settings are located under Job > Job settings > Timecode configuration. Note - Timecode source under input settings (InputTimecodeSource) does not affect the timecodes that are inserted in the output. Source under Job settings > Timecode configuration (TimecodeSource) does." }, "VideoPreprocessors": { "shape": "VideoPreprocessor", @@ -7781,15 +8447,18 @@ "members": { "ColorSpace": { "shape": "ColorSpace", - "locationName": "colorSpace" + "locationName": "colorSpace", + "documentation": "If your input video has accurate color space metadata, or if you don't know about color space, leave this set to the default value FOLLOW. The service will automatically detect your input color space. If your input video has metadata indicating the wrong color space, or if your input video is missing color space metadata that should be there, specify the accurate color space here. If you choose HDR10, you can also correct inaccurate color space coefficients, using the HDR master display information controls. You must also set Color space usage (ColorSpaceUsage) to FORCE for the service to use these values." }, "ColorSpaceUsage": { "shape": "ColorSpaceUsage", - "locationName": "colorSpaceUsage" + "locationName": "colorSpaceUsage", + "documentation": "There are two sources for color metadata, the input file and the job configuration (in the Color space and HDR master display informaiton settings). The Color space usage setting controls which takes precedence. FORCE: The system will use color metadata supplied by user, if any. If the user does not supply color metadata, the system will use data from the source. FALLBACK: The system will use color metadata from the source. If source has no color metadata, the system will use user-supplied color metadata values if available." }, "Hdr10Metadata": { "shape": "Hdr10Metadata", - "locationName": "hdr10Metadata" + "locationName": "hdr10Metadata", + "documentation": "Use the \"HDR master display information\" (Hdr10Metadata) settings to correct HDR metadata or to provide missing metadata. These values vary depending on the input video and must be provided by a color grader. Range is 0 to 50,000; each increment represents 0.00002 in CIE1931 color coordinate. Note that these settings are not color correction. Note that if you are creating HDR outputs inside of an HLS CMAF package, to comply with the Apple specification, you must use the following settings. Set \"MP4 packaging type\" (writeMp4PackagingType) to HVC1 (HVC1). Set \"Profile\" (H265Settings > codecProfile) to Main10/High (MAIN10_HIGH). Set \"Level\" (H265Settings > codecLevel) to 5 (LEVEL_5)." }, "Pid": { "shape": "__integerMin1Max2147483647", @@ -7800,13 +8469,18 @@ "shape": "__integerMinNegative2147483648Max2147483647", "locationName": "programNumber", "documentation": "Selects a specific program from within a multi-program transport stream. Note that Quad 4K is not currently supported." + }, + "Rotate": { + "shape": "InputRotate", + "locationName": "rotate", + "documentation": "Use Rotate (InputRotate) to specify how the service rotates your video. You can choose automatic rotation or specify a rotation. You can specify a clockwise rotation of 0, 90, 180, or 270 degrees. If your input video container is .mov or .mp4 and your input has rotation metadata, you can choose Automatic to have the service rotate your video according to the rotation specified in the metadata. The rotation must be within one degree of 90, 180, or 270 degrees. If the rotation metadata specifies any other rotation, the service will default to no rotation. By default, the service does no rotation, even if your input video has rotation metadata. The service doesn't pass through rotation metadata." } }, "documentation": "Selector for video." }, "VideoTimecodeInsertion": { "type": "string", - "documentation": "Applies only to H.264, H.265, MPEG2, and ProRes outputs. Only enable Timecode insertion when the input framerate is identical to the output framerate. To include timecodes in this output, set Timecode insertion (VideoTimecodeInsertion) to PIC_TIMING_SEI. To leave them out, set it to DISABLED. Default is DISABLED. When the service inserts timecodes in an output, by default, it uses any embedded timecodes from the input. If none are present, the service will set the timecode for the first output frame to zero. To change this default behavior, adjust the settings under Timecode configuration (TimecodeConfig). In the console, these settings are located under Job > Job settings > Timecode configuration. Note - Timecode source under input settings (InputTimecodeSource) does not affect the timecodes that are inserted in the output. Source under Job settings > Timecode configuration (TimecodeSource) does.", + "documentation": "Applies only to H.264, H.265, MPEG2, and ProRes outputs. Only enable Timecode insertion when the input frame rate is identical to the output frame rate. To include timecodes in this output, set Timecode insertion (VideoTimecodeInsertion) to PIC_TIMING_SEI. To leave them out, set it to DISABLED. Default is DISABLED. When the service inserts timecodes in an output, by default, it uses any embedded timecodes from the input. If none are present, the service will set the timecode for the first output frame to zero. To change this default behavior, adjust the settings under Timecode configuration (TimecodeConfig). In the console, these settings are located under Job > Job settings > Timecode configuration. Note - Timecode source under input settings (InputTimecodeSource) does not affect the timecodes that are inserted in the output. Source under Job settings > Timecode configuration (TimecodeSource) does.", "enum": [ "DISABLED", "PIC_TIMING_SEI" @@ -7835,7 +8509,8 @@ }, "Format": { "shape": "WavFormat", - "locationName": "format" + "locationName": "format", + "documentation": "The service defaults to using RIFF for WAV outputs. If your output audio is likely to exceed 4 GB in file size, or if you otherwise need the extended support of the RF64 format, set your output WAV file format to RF64." }, "SampleRate": { "shape": "__integerMin8000Max192000", @@ -7934,6 +8609,11 @@ "min": 0, "max": 30 }, + "__integerMin0Max30000": { + "type": "integer", + "min": 0, + "max": 30000 + }, "__integerMin0Max3600": { "type": "integer", "min": 0, @@ -8365,6 +9045,12 @@ "shape": "__stringPattern09aFAF809aFAF409aFAF409aFAF409aFAF12" } }, + "__listOf__stringPatternS3ASSETMAPXml": { + "type": "list", + "member": { + "shape": "__stringPatternS3ASSETMAPXml" + } + }, "__long": { "type": "long" }, @@ -8511,9 +9197,13 @@ "type": "string", "pattern": "^[A-Za-z0-9]{32}$" }, - "__stringPatternArnAwsAcm": { + "__stringPatternArnAwsUsGovAcm": { "type": "string", - "pattern": "^arn:aws:acm:" + "pattern": "^arn:aws(-us-gov)?:acm:" + }, + "__stringPatternArnAwsUsGovKmsAZ26EastWestCentralNorthSouthEastWest1912D12KeyAFAF098AFAF094AFAF094AFAF094AFAF0912": { + "type": "string", + "pattern": "^arn:aws(-us-gov)?:kms:[a-z-]{2,6}-(east|west|central|((north|south)(east|west)?))-[1-9]{1,2}:\\d{12}:key/[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}$" }, "__stringPatternDD": { "type": "string", @@ -8531,14 +9221,26 @@ "type": "string", "pattern": "^s3:\\/\\/" }, - "__stringPatternS3MM2VVMMPPEEGGAAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MM": { + "__stringPatternS3ASSETMAPXml": { "type": "string", - "pattern": "^(s3:\\/\\/)([^\\/]+\\/)+([^\\/\\.]+|(([^\\/]*)\\.([mM]2[vV]|[mM][pP][eE][gG]|[aA][vV][iI]|[mM][pP]4|[fF][lL][vV]|[mM][pP][tT]|[mM][pP][gG]|[mM]4[vV]|[tT][rR][pP]|[fF]4[vV]|[mM]2[tT][sS]|[tT][sS]|264|[hH]264|[mM][kK][vV]|[mM][oO][vV]|[mM][tT][sS]|[mM]2[tT]|[wW][mM][vV]|[aA][sS][fF]|[vV][oO][bB]|3[gG][pP]|3[gG][pP][pP]|[mM][xX][fF]|[dD][iI][vV][xX]|[xX][vV][iI][dD]|[rR][aA][wW]|[dD][vV]|[gG][xX][fF]|[mM]1[vV]|3[gG]2|[vV][mM][fF]|[mM]3[uU]8|[lL][cC][hH]|[gG][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF][hH][dD]|[wW][aA][vV]|[yY]4[mM])))$" + "pattern": "^s3:\\/\\/.*\\/(ASSETMAP.xml)?$" }, "__stringPatternS3MM2VVMMPPEEGGAAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMAAAACCAAIIFFFFMMPP2AACC3EECC3DDTTSSEE": { "type": "string", "pattern": "^(s3:\\/\\/)([^\\/]+\\/)+([^\\/\\.]+|(([^\\/]*)\\.([mM]2[vV]|[mM][pP][eE][gG]|[aA][vV][iI]|[mM][pP]4|[fF][lL][vV]|[mM][pP][tT]|[mM][pP][gG]|[mM]4[vV]|[tT][rR][pP]|[fF]4[vV]|[mM]2[tT][sS]|[tT][sS]|264|[hH]264|[mM][kK][vV]|[mM][oO][vV]|[mM][tT][sS]|[mM]2[tT]|[wW][mM][vV]|[aA][sS][fF]|[vV][oO][bB]|3[gG][pP]|3[gG][pP][pP]|[mM][xX][fF]|[dD][iI][vV][xX]|[xX][vV][iI][dD]|[rR][aA][wW]|[dD][vV]|[gG][xX][fF]|[mM]1[vV]|3[gG]2|[vV][mM][fF]|[mM]3[uU]8|[lL][cC][hH]|[gG][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF][hH][dD]|[wW][aA][vV]|[yY]4[mM]|[aA][aA][cC]|[aA][iI][fF][fF]|[mM][pP]2|[aA][cC]3|[eE][cC]3|[dD][tT][sS][eE])))$" }, + "__stringPatternS3MM2VVMMPPEEGGAAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMXXMMLL": { + "type": "string", + "pattern": "^(s3:\\/\\/)([^\\/]+\\/)+([^\\/\\.]+|(([^\\/]*)\\.([mM]2[vV]|[mM][pP][eE][gG]|[aA][vV][iI]|[mM][pP]4|[fF][lL][vV]|[mM][pP][tT]|[mM][pP][gG]|[mM]4[vV]|[tT][rR][pP]|[fF]4[vV]|[mM]2[tT][sS]|[tT][sS]|264|[hH]264|[mM][kK][vV]|[mM][oO][vV]|[mM][tT][sS]|[mM]2[tT]|[wW][mM][vV]|[aA][sS][fF]|[vV][oO][bB]|3[gG][pP]|3[gG][pP][pP]|[mM][xX][fF]|[dD][iI][vV][xX]|[xX][vV][iI][dD]|[rR][aA][wW]|[dD][vV]|[gG][xX][fF]|[mM]1[vV]|3[gG]2|[vV][mM][fF]|[mM]3[uU]8|[lL][cC][hH]|[gG][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF][hH][dD]|[wW][aA][vV]|[yY]4[mM]|[xX][mM][lL])))$" + }, + "__stringPatternSNManifestConfirmConditionNotificationNS": { + "type": "string", + "pattern": "^\\s*<(.|\\n)*ManifestConfirmConditionNotification(.|\\n)*>\\s*$" + }, + "__stringPatternSNSignalProcessingNotificationNS": { + "type": "string", + "pattern": "^\\s*<(.|\\n)*SignalProcessingNotification(.|\\n)*>\\s*$" + }, "__stringPatternWS": { "type": "string", "pattern": "^[\\w\\s]*$" diff --git a/bin/botocore/data/medialive/2017-10-14/service-2.json b/bin/botocore/data/medialive/2017-10-14/service-2.json index 4151a45b..1674bd5d 100644 --- a/bin/botocore/data/medialive/2017-10-14/service-2.json +++ b/bin/botocore/data/medialive/2017-10-14/service-2.json @@ -196,6 +196,36 @@ ], "documentation": "Creates a Input Security Group" }, + "CreateTags": { + "name": "CreateTags", + "http": { + "method": "POST", + "requestUri": "/prod/tags/{resource-arn}", + "responseCode": 204 + }, + "input": { + "shape": "CreateTagsRequest" + }, + "errors": [ + { + "shape": "NotFoundException", + "documentation": "The arn was not found." + }, + { + "shape": "BadRequestException", + "documentation": "This request was invalid" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal Service Error" + }, + { + "shape": "ForbiddenException", + "documentation": "Access was denied" + } + ], + "documentation": "Create tags for a resource" + }, "DeleteChannel": { "name": "DeleteChannel", "http": { @@ -392,6 +422,82 @@ ], "documentation": "Delete an expired reservation." }, + "DeleteSchedule": { + "name": "DeleteSchedule", + "http": { + "method": "DELETE", + "requestUri": "/prod/channels/{channelId}/schedule", + "responseCode": 200 + }, + "input": { + "shape": "DeleteScheduleRequest" + }, + "output": { + "shape": "DeleteScheduleResponse", + "documentation": "Successful delete of the schedule." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request to delete the schedule on this channel was invalid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to delete the channel schedule." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error" + }, + { + "shape": "NotFoundException", + "documentation": "The specified channel does not exist to have its schedule deleted." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on delete schedule calls." + } + ], + "documentation": "Delete all schedule actions on a channel." + }, + "DeleteTags": { + "name": "DeleteTags", + "http": { + "method": "DELETE", + "requestUri": "/prod/tags/{resource-arn}", + "responseCode": 204 + }, + "input": { + "shape": "DeleteTagsRequest" + }, + "errors": [ + { + "shape": "NotFoundException", + "documentation": "The arn was not found." + }, + { + "shape": "BadRequestException", + "documentation": "This request was invalid" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal Service Error" + }, + { + "shape": "ForbiddenException", + "documentation": "Access was denied" + } + ], + "documentation": "Removes tags for a resource" + }, "DescribeChannel": { "name": "DescribeChannel", "http": { @@ -878,6 +984,40 @@ ], "documentation": "List purchased reservations." }, + "ListTagsForResource": { + "name": "ListTagsForResource", + "http": { + "method": "GET", + "requestUri": "/prod/tags/{resource-arn}", + "responseCode": 200 + }, + "input": { + "shape": "ListTagsForResourceRequest" + }, + "output": { + "shape": "ListTagsForResourceResponse", + "documentation": "An array of tags" + }, + "errors": [ + { + "shape": "NotFoundException", + "documentation": "The arn was not found" + }, + { + "shape": "BadRequestException", + "documentation": "This request was invalid" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal Service Error" + }, + { + "shape": "ForbiddenException", + "documentation": "Access was denied" + } + ], + "documentation": "Produces list of tags that have been created for a resource" + }, "PurchaseOffering": { "name": "PurchaseOffering", "http": { @@ -1074,6 +1214,60 @@ ], "documentation": "Updates a channel." }, + "UpdateChannelClass": { + "name": "UpdateChannelClass", + "http": { + "method": "PUT", + "requestUri": "/prod/channels/{channelId}/channelClass", + "responseCode": 200 + }, + "input": { + "shape": "UpdateChannelClassRequest" + }, + "output": { + "shape": "UpdateChannelClassResponse", + "documentation": "The class of the channel has been successfully updated." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request to update the channel class was invalid." + }, + { + "shape": "UnprocessableEntityException", + "documentation": "The channel configuration failed validation when attempting to update the channel class." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to update the class of this channel." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error" + }, + { + "shape": "NotFoundException", + "documentation": "The channel you're trying to update the class on does not exist." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on update channel class calls." + }, + { + "shape": "ConflictException", + "documentation": "The channel class cannot be updated due to an issue with channel resources." + } + ], + "documentation": "Changes the class of the channel." + }, "UpdateInput": { "name": "UpdateInput", "http": { @@ -1165,52 +1359,102 @@ } ], "documentation": "Update an Input Security Group's Whilelists." + }, + "UpdateReservation": { + "name": "UpdateReservation", + "http": { + "method": "PUT", + "requestUri": "/prod/reservations/{reservationId}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateReservationRequest" + }, + "output": { + "shape": "UpdateReservationResponse", + "documentation": "Updated reservation" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal service error" + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to update reservation" + }, + { + "shape": "BadGatewayException", + "documentation": "Bad gateway error" + }, + { + "shape": "NotFoundException", + "documentation": "Reservation not found" + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway timeout error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded" + }, + { + "shape": "ConflictException", + "documentation": "The reservation could not be updated" + } + ], + "documentation": "Update reservation." } }, "shapes": { "AacCodingMode": { "type": "string", + "documentation": "Aac Coding Mode", "enum": [ "AD_RECEIVER_MIX", "CODING_MODE_1_0", "CODING_MODE_1_1", "CODING_MODE_2_0", "CODING_MODE_5_1" - ], - "documentation": "Placeholder documentation for AacCodingMode" + ] }, "AacInputType": { "type": "string", + "documentation": "Aac Input Type", "enum": [ "BROADCASTER_MIXED_AD", "NORMAL" - ], - "documentation": "Placeholder documentation for AacInputType" + ] }, "AacProfile": { "type": "string", + "documentation": "Aac Profile", "enum": [ "HEV1", "HEV2", "LC" - ], - "documentation": "Placeholder documentation for AacProfile" + ] }, "AacRateControlMode": { "type": "string", + "documentation": "Aac Rate Control Mode", "enum": [ "CBR", "VBR" - ], - "documentation": "Placeholder documentation for AacRateControlMode" + ] }, "AacRawFormat": { "type": "string", + "documentation": "Aac Raw Format", "enum": [ "LATM_LOAS", "NONE" - ], - "documentation": "Placeholder documentation for AacRawFormat" + ] }, "AacSettings": { "type": "structure", @@ -1261,28 +1505,29 @@ "documentation": "VBR Quality Level - Only used if rateControlMode is VBR." } }, - "documentation": "Placeholder documentation for AacSettings" + "documentation": "Aac Settings" }, "AacSpec": { "type": "string", + "documentation": "Aac Spec", "enum": [ "MPEG2", "MPEG4" - ], - "documentation": "Placeholder documentation for AacSpec" + ] }, "AacVbrQuality": { "type": "string", + "documentation": "Aac Vbr Quality", "enum": [ "HIGH", "LOW", "MEDIUM_HIGH", "MEDIUM_LOW" - ], - "documentation": "Placeholder documentation for AacVbrQuality" + ] }, "Ac3BitstreamMode": { "type": "string", + "documentation": "Ac3 Bitstream Mode", "enum": [ "COMMENTARY", "COMPLETE_MAIN", @@ -1292,42 +1537,41 @@ "MUSIC_AND_EFFECTS", "VISUALLY_IMPAIRED", "VOICE_OVER" - ], - "documentation": "Placeholder documentation for Ac3BitstreamMode" + ] }, "Ac3CodingMode": { "type": "string", + "documentation": "Ac3 Coding Mode", "enum": [ "CODING_MODE_1_0", "CODING_MODE_1_1", "CODING_MODE_2_0", "CODING_MODE_3_2_LFE" - ], - "documentation": "Placeholder documentation for Ac3CodingMode" + ] }, "Ac3DrcProfile": { "type": "string", + "documentation": "Ac3 Drc Profile", "enum": [ "FILM_STANDARD", "NONE" - ], - "documentation": "Placeholder documentation for Ac3DrcProfile" + ] }, "Ac3LfeFilter": { "type": "string", + "documentation": "Ac3 Lfe Filter", "enum": [ "DISABLED", "ENABLED" - ], - "documentation": "Placeholder documentation for Ac3LfeFilter" + ] }, "Ac3MetadataControl": { "type": "string", + "documentation": "Ac3 Metadata Control", "enum": [ "FOLLOW_INPUT", "USE_CONFIGURED" - ], - "documentation": "Placeholder documentation for Ac3MetadataControl" + ] }, "Ac3Settings": { "type": "structure", @@ -1368,7 +1612,7 @@ "documentation": "When set to \"followInput\", encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used." } }, - "documentation": "Placeholder documentation for Ac3Settings" + "documentation": "Ac3 Settings" }, "AccessDenied": { "type": "structure", @@ -1382,12 +1626,12 @@ }, "AfdSignaling": { "type": "string", + "documentation": "Afd Signaling", "enum": [ "AUTO", "FIXED", "NONE" - ], - "documentation": "Placeholder documentation for AfdSignaling" + ] }, "ArchiveContainerSettings": { "type": "structure", @@ -1397,7 +1641,7 @@ "locationName": "m2tsSettings" } }, - "documentation": "Placeholder documentation for ArchiveContainerSettings" + "documentation": "Archive Container Settings" }, "ArchiveGroupSettings": { "type": "structure", @@ -1405,7 +1649,7 @@ "Destination": { "shape": "OutputLocationRef", "locationName": "destination", - "documentation": "A directory and base filename where archive files should be written. If the base filename portion of the URI is left blank, the base filename of the first input will be automatically inserted." + "documentation": "A directory and base filename where archive files should be written." }, "RolloverInterval": { "shape": "__integerMin1", @@ -1413,10 +1657,10 @@ "documentation": "Number of seconds to write to archive file before closing and starting a new one." } }, + "documentation": "Archive Group Settings", "required": [ "Destination" - ], - "documentation": "Placeholder documentation for ArchiveGroupSettings" + ] }, "ArchiveOutputSettings": { "type": "structure", @@ -1437,22 +1681,22 @@ "documentation": "String concatenated to the end of the destination filename. Required for multiple outputs of the same type." } }, + "documentation": "Archive Output Settings", "required": [ "ContainerSettings" - ], - "documentation": "Placeholder documentation for ArchiveOutputSettings" + ] }, "AribDestinationSettings": { "type": "structure", "members": { }, - "documentation": "Placeholder documentation for AribDestinationSettings" + "documentation": "Arib Destination Settings" }, "AribSourceSettings": { "type": "structure", "members": { }, - "documentation": "Placeholder documentation for AribSourceSettings" + "documentation": "Arib Source Settings" }, "AudioChannelMapping": { "type": "structure", @@ -1468,11 +1712,11 @@ "documentation": "The index of the output channel being produced." } }, + "documentation": "Audio Channel Mapping", "required": [ "OutputChannel", "InputChannelLevels" - ], - "documentation": "Placeholder documentation for AudioChannelMapping" + ] }, "AudioCodecSettings": { "type": "structure", @@ -1498,7 +1742,7 @@ "locationName": "passThroughSettings" } }, - "documentation": "Placeholder documentation for AudioCodecSettings" + "documentation": "Audio Codec Settings" }, "AudioDescription": { "type": "structure", @@ -1554,27 +1798,27 @@ "documentation": "Used for MS Smooth and Apple HLS outputs. Indicates the name displayed by the player (eg. English, or Director Commentary)." } }, + "documentation": "Audio Description", "required": [ "AudioSelectorName", "Name" - ], - "documentation": "Placeholder documentation for AudioDescription" + ] }, "AudioDescriptionAudioTypeControl": { "type": "string", + "documentation": "Audio Description Audio Type Control", "enum": [ "FOLLOW_INPUT", "USE_CONFIGURED" - ], - "documentation": "Placeholder documentation for AudioDescriptionAudioTypeControl" + ] }, "AudioDescriptionLanguageCodeControl": { "type": "string", + "documentation": "Audio Description Language Code Control", "enum": [ "FOLLOW_INPUT", "USE_CONFIGURED" - ], - "documentation": "Placeholder documentation for AudioDescriptionLanguageCodeControl" + ] }, "AudioLanguageSelection": { "type": "structure", @@ -1590,33 +1834,33 @@ "documentation": "When set to \"strict\", the transport stream demux strictly identifies audio streams by their language descriptor. If a PMT update occurs such that an audio stream matching the initially selected language is no longer present then mute will be encoded until the language returns. If \"loose\", then on a PMT update the demux will choose another audio stream in the program with the same stream type if it can't find one with the same language." } }, + "documentation": "Audio Language Selection", "required": [ "LanguageCode" - ], - "documentation": "Placeholder documentation for AudioLanguageSelection" + ] }, "AudioLanguageSelectionPolicy": { "type": "string", + "documentation": "Audio Language Selection Policy", "enum": [ "LOOSE", "STRICT" - ], - "documentation": "Placeholder documentation for AudioLanguageSelectionPolicy" + ] }, "AudioNormalizationAlgorithm": { "type": "string", + "documentation": "Audio Normalization Algorithm", "enum": [ "ITU_1770_1", "ITU_1770_2" - ], - "documentation": "Placeholder documentation for AudioNormalizationAlgorithm" + ] }, "AudioNormalizationAlgorithmControl": { "type": "string", + "documentation": "Audio Normalization Algorithm Control", "enum": [ "CORRECT_AUDIO" - ], - "documentation": "Placeholder documentation for AudioNormalizationAlgorithmControl" + ] }, "AudioNormalizationSettings": { "type": "structure", @@ -1637,7 +1881,7 @@ "documentation": "Target LKFS(loudness) to adjust volume to. If no value is entered, a default value will be used according to the chosen algorithm. The CALM Act (1770-1) recommends a target of -24 LKFS. The EBU R-128 specification (1770-2) recommends a target of -23 LKFS." } }, - "documentation": "Placeholder documentation for AudioNormalizationSettings" + "documentation": "Audio Normalization Settings" }, "AudioOnlyHlsSettings": { "type": "structure", @@ -1658,17 +1902,17 @@ "documentation": "Four types of audio-only tracks are supported:\n\nAudio-Only Variant Stream\nThe client can play back this audio-only stream instead of video in low-bandwidth scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest.\n\nAlternate Audio, Auto Select, Default\nAlternate rendition that the client should try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=YES, AUTOSELECT=YES\n\nAlternate Audio, Auto Select, Not Default\nAlternate rendition that the client may try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES\n\nAlternate Audio, not Auto Select\nAlternate rendition that the client will not try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=NO" } }, - "documentation": "Placeholder documentation for AudioOnlyHlsSettings" + "documentation": "Audio Only Hls Settings" }, "AudioOnlyHlsTrackType": { "type": "string", + "documentation": "Audio Only Hls Track Type", "enum": [ "ALTERNATE_AUDIO_AUTO_SELECT", "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT", "ALTERNATE_AUDIO_NOT_AUTO_SELECT", "AUDIO_ONLY_VARIANT_STREAM" - ], - "documentation": "Placeholder documentation for AudioOnlyHlsTrackType" + ] }, "AudioPidSelection": { "type": "structure", @@ -1679,10 +1923,10 @@ "documentation": "Selects a specific PID from within a source." } }, + "documentation": "Audio Pid Selection", "required": [ "Pid" - ], - "documentation": "Placeholder documentation for AudioPidSelection" + ] }, "AudioSelector": { "type": "structure", @@ -1698,10 +1942,10 @@ "documentation": "The audio selector settings." } }, + "documentation": "Audio Selector", "required": [ "Name" - ], - "documentation": "Placeholder documentation for AudioSelector" + ] }, "AudioSelectorSettings": { "type": "structure", @@ -1715,25 +1959,25 @@ "locationName": "audioPidSelection" } }, - "documentation": "Placeholder documentation for AudioSelectorSettings" + "documentation": "Audio Selector Settings" }, "AudioType": { "type": "string", + "documentation": "Audio Type", "enum": [ "CLEAN_EFFECTS", "HEARING_IMPAIRED", "UNDEFINED", "VISUAL_IMPAIRED_COMMENTARY" - ], - "documentation": "Placeholder documentation for AudioType" + ] }, "AuthenticationScheme": { "type": "string", + "documentation": "Authentication Scheme", "enum": [ "AKAMAI", "COMMON" - ], - "documentation": "Placeholder documentation for AuthenticationScheme" + ] }, "AvailBlanking": { "type": "structure", @@ -1749,15 +1993,15 @@ "documentation": "When set to enabled, causes video, audio and captions to be blanked when insertion metadata is added." } }, - "documentation": "Placeholder documentation for AvailBlanking" + "documentation": "Avail Blanking" }, "AvailBlankingState": { "type": "string", + "documentation": "Avail Blanking State", "enum": [ "DISABLED", "ENABLED" - ], - "documentation": "Placeholder documentation for AvailBlankingState" + ] }, "AvailConfiguration": { "type": "structure", @@ -1768,7 +2012,7 @@ "documentation": "Ad avail settings." } }, - "documentation": "Placeholder documentation for AvailConfiguration" + "documentation": "Avail Configuration" }, "AvailSettings": { "type": "structure", @@ -1782,7 +2026,7 @@ "locationName": "scte35TimeSignalApos" } }, - "documentation": "Placeholder documentation for AvailSettings" + "documentation": "Avail Settings" }, "BadGatewayException": { "type": "structure", @@ -1954,41 +2198,41 @@ "documentation": "When set to enabled, causes video, audio and captions to be blanked when indicated by program metadata." } }, - "documentation": "Placeholder documentation for BlackoutSlate" + "documentation": "Blackout Slate" }, "BlackoutSlateNetworkEndBlackout": { "type": "string", + "documentation": "Blackout Slate Network End Blackout", "enum": [ "DISABLED", "ENABLED" - ], - "documentation": "Placeholder documentation for BlackoutSlateNetworkEndBlackout" + ] }, "BlackoutSlateState": { "type": "string", + "documentation": "Blackout Slate State", "enum": [ "DISABLED", "ENABLED" - ], - "documentation": "Placeholder documentation for BlackoutSlateState" + ] }, "BurnInAlignment": { "type": "string", + "documentation": "Burn In Alignment", "enum": [ "CENTERED", "LEFT", "SMART" - ], - "documentation": "Placeholder documentation for BurnInAlignment" + ] }, "BurnInBackgroundColor": { "type": "string", + "documentation": "Burn In Background Color", "enum": [ "BLACK", "NONE", "WHITE" - ], - "documentation": "Placeholder documentation for BurnInBackgroundColor" + ] }, "BurnInDestinationSettings": { "type": "structure", @@ -2079,10 +2323,11 @@ "documentation": "Specifies the vertical position of the caption relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit yPosition is provided, the caption will be positioned towards the bottom of the output. All burn-in and DVB-Sub font settings must match." } }, - "documentation": "Placeholder documentation for BurnInDestinationSettings" + "documentation": "Burn In Destination Settings" }, "BurnInFontColor": { "type": "string", + "documentation": "Burn In Font Color", "enum": [ "BLACK", "BLUE", @@ -2090,11 +2335,11 @@ "RED", "WHITE", "YELLOW" - ], - "documentation": "Placeholder documentation for BurnInFontColor" + ] }, "BurnInOutlineColor": { "type": "string", + "documentation": "Burn In Outline Color", "enum": [ "BLACK", "BLUE", @@ -2102,25 +2347,24 @@ "RED", "WHITE", "YELLOW" - ], - "documentation": "Placeholder documentation for BurnInOutlineColor" + ] }, "BurnInShadowColor": { "type": "string", + "documentation": "Burn In Shadow Color", "enum": [ "BLACK", "NONE", "WHITE" - ], - "documentation": "Placeholder documentation for BurnInShadowColor" + ] }, "BurnInTeletextGridControl": { "type": "string", + "documentation": "Burn In Teletext Grid Control", "enum": [ "FIXED", "SCALED" - ], - "documentation": "Placeholder documentation for BurnInTeletextGridControl" + ] }, "CaptionDescription": { "type": "structure", @@ -2209,7 +2453,7 @@ "locationName": "webvttDestinationSettings" } }, - "documentation": "Placeholder documentation for CaptionDestinationSettings" + "documentation": "Caption Destination Settings" }, "CaptionLanguageMapping": { "type": "structure", @@ -2289,7 +2533,7 @@ "locationName": "teletextSourceSettings" } }, - "documentation": "Placeholder documentation for CaptionSelectorSettings" + "documentation": "Caption Selector Settings" }, "Channel": { "type": "structure", @@ -2299,6 +2543,11 @@ "locationName": "arn", "documentation": "The unique arn of the channel." }, + "ChannelClass": { + "shape": "ChannelClass", + "locationName": "channelClass", + "documentation": "The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline." + }, "Destinations": { "shape": "__listOfOutputDestination", "locationName": "destinations", @@ -2350,10 +2599,23 @@ "State": { "shape": "ChannelState", "locationName": "state" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." } }, "documentation": "Placeholder documentation for Channel" }, + "ChannelClass": { + "type": "string", + "documentation": "A standard channel has two encoding pipelines and a single pipeline channel only has one.", + "enum": [ + "STANDARD", + "SINGLE_PIPELINE" + ] + }, "ChannelConfigurationValidationError": { "type": "structure", "members": { @@ -2391,7 +2653,9 @@ "RECOVERING", "STOPPING", "DELETING", - "DELETED" + "DELETED", + "UPDATING", + "UPDATE_FAILED" ], "documentation": "Placeholder documentation for ChannelState" }, @@ -2403,6 +2667,11 @@ "locationName": "arn", "documentation": "The unique arn of the channel." }, + "ChannelClass": { + "shape": "ChannelClass", + "locationName": "channelClass", + "documentation": "The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline." + }, "Destinations": { "shape": "__listOfOutputDestination", "locationName": "destinations", @@ -2450,6 +2719,11 @@ "State": { "shape": "ChannelState", "locationName": "state" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." } }, "documentation": "Placeholder documentation for ChannelSummary" @@ -2471,6 +2745,11 @@ "CreateChannel": { "type": "structure", "members": { + "ChannelClass": { + "shape": "ChannelClass", + "locationName": "channelClass", + "documentation": "The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline." + }, "Destinations": { "shape": "__listOfOutputDestination", "locationName": "destinations" @@ -2515,6 +2794,11 @@ "shape": "__string", "locationName": "roleArn", "documentation": "An optional Amazon Resource Name (ARN) of the role to assume when running the Channel." + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." } }, "documentation": "Placeholder documentation for CreateChannel" @@ -2522,6 +2806,11 @@ "CreateChannelRequest": { "type": "structure", "members": { + "ChannelClass": { + "shape": "ChannelClass", + "locationName": "channelClass", + "documentation": "The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline." + }, "Destinations": { "shape": "__listOfOutputDestination", "locationName": "destinations" @@ -2566,6 +2855,11 @@ "shape": "__string", "locationName": "roleArn", "documentation": "An optional Amazon Resource Name (ARN) of the role to assume when running the Channel." + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." } }, "documentation": "A request to create a channel" @@ -2629,9 +2923,18 @@ "locationName": "sources", "documentation": "The source URLs for a PULL-type input. Every PULL type input needs\nexactly two source URLs for redundancy.\nOnly specify sources for PULL type Inputs. Leave Destinations empty.\n" }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + }, "Type": { "shape": "InputType", "locationName": "type" + }, + "Vpc": { + "shape": "InputVpcRequest", + "locationName": "vpc" } }, "documentation": "Placeholder documentation for CreateInput" @@ -2675,9 +2978,18 @@ "locationName": "sources", "documentation": "The source URLs for a PULL-type input. Every PULL type input needs\nexactly two source URLs for redundancy.\nOnly specify sources for PULL type Inputs. Leave Destinations empty.\n" }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + }, "Type": { "shape": "InputType", "locationName": "type" + }, + "Vpc": { + "shape": "InputVpcRequest", + "locationName": "vpc" } }, "documentation": "The name of the input" @@ -2705,6 +3017,11 @@ "CreateInputSecurityGroupRequest": { "type": "structure", "members": { + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + }, "WhitelistRules": { "shape": "__listOfInputWhitelistRuleCidr", "locationName": "whitelistRules", @@ -2733,6 +3050,24 @@ }, "documentation": "Placeholder documentation for CreateInputSecurityGroupResultModel" }, + "CreateTagsRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resource-arn" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + }, + "required": [ + "ResourceArn" + ], + "documentation": "Placeholder documentation for CreateTagsRequest" + }, "DeleteChannelRequest": { "type": "structure", "members": { @@ -2756,6 +3091,11 @@ "locationName": "arn", "documentation": "The unique arn of the channel." }, + "ChannelClass": { + "shape": "ChannelClass", + "locationName": "channelClass", + "documentation": "The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline." + }, "Destinations": { "shape": "__listOfOutputDestination", "locationName": "destinations", @@ -2807,6 +3147,11 @@ "State": { "shape": "ChannelState", "locationName": "state" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." } }, "documentation": "Placeholder documentation for DeleteChannelResponse" @@ -2951,6 +3296,11 @@ "locationName": "state", "documentation": "Current state of reservation, e.g. 'ACTIVE'" }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs" + }, "UsagePrice": { "shape": "__double", "locationName": "usagePrice", @@ -2959,6 +3309,48 @@ }, "documentation": "Placeholder documentation for DeleteReservationResponse" }, + "DeleteScheduleRequest": { + "type": "structure", + "members": { + "ChannelId": { + "shape": "__string", + "location": "uri", + "locationName": "channelId", + "documentation": "Id of the channel whose schedule is being deleted." + } + }, + "required": [ + "ChannelId" + ], + "documentation": "Placeholder documentation for DeleteScheduleRequest" + }, + "DeleteScheduleResponse": { + "type": "structure", + "members": { + }, + "documentation": "Placeholder documentation for DeleteScheduleResponse" + }, + "DeleteTagsRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resource-arn" + }, + "TagKeys": { + "shape": "__listOf__string", + "location": "querystring", + "locationName": "tagKeys", + "documentation": "An array of tag keys to delete" + } + }, + "required": [ + "TagKeys", + "ResourceArn" + ], + "documentation": "Placeholder documentation for DeleteTagsRequest" + }, "DescribeChannelRequest": { "type": "structure", "members": { @@ -2982,6 +3374,11 @@ "locationName": "arn", "documentation": "The unique arn of the channel." }, + "ChannelClass": { + "shape": "ChannelClass", + "locationName": "channelClass", + "documentation": "The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline." + }, "Destinations": { "shape": "__listOfOutputDestination", "locationName": "destinations", @@ -3033,6 +3430,11 @@ "State": { "shape": "ChannelState", "locationName": "state" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." } }, "documentation": "Placeholder documentation for DescribeChannelResponse" @@ -3075,6 +3477,11 @@ "locationName": "id", "documentation": "The generated ID of the input (unique for user account, immutable)." }, + "InputClass": { + "shape": "InputClass", + "locationName": "inputClass", + "documentation": "STANDARD - MediaLive expects two sources to be connected to this input. If the channel is also STANDARD, both sources will be ingested. If the channel is SINGLE_PIPELINE, only the first source will be ingested; the second source will always be ignored, even if the first source fails.\nSINGLE_PIPELINE - You can connect only one source to this input. If the ChannelClass is also SINGLE_PIPELINE, this value is valid. If the ChannelClass is STANDARD, this value is not valid because the channel requires two sources in the input.\n" + }, "MediaConnectFlows": { "shape": "__listOfMediaConnectFlow", "locationName": "mediaConnectFlows", @@ -3093,7 +3500,7 @@ "SecurityGroups": { "shape": "__listOf__string", "locationName": "securityGroups", - "documentation": "A list of IDs for all the security groups attached to the input." + "documentation": "A list of IDs for all the Input Security Groups attached to the input." }, "Sources": { "shape": "__listOfInputSource", @@ -3104,6 +3511,11 @@ "shape": "InputState", "locationName": "state" }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + }, "Type": { "shape": "InputType", "locationName": "type" @@ -3149,6 +3561,11 @@ "locationName": "state", "documentation": "The current state of the Input Security Group." }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + }, "WhitelistRules": { "shape": "__listOfInputWhitelistRule", "locationName": "whitelistRules", @@ -3331,6 +3748,11 @@ "locationName": "state", "documentation": "Current state of reservation, e.g. 'ACTIVE'" }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs" + }, "UsagePrice": { "shape": "__double", "locationName": "usagePrice", @@ -3407,13 +3829,13 @@ }, "DvbSdtOutputSdt": { "type": "string", + "documentation": "Dvb Sdt Output Sdt", "enum": [ "SDT_FOLLOW", "SDT_FOLLOW_IF_PRESENT", "SDT_MANUAL", "SDT_NONE" - ], - "documentation": "Placeholder documentation for DvbSdtOutputSdt" + ] }, "DvbSdtSettings": { "type": "structure", @@ -3443,24 +3865,25 @@ }, "DvbSubDestinationAlignment": { "type": "string", + "documentation": "Dvb Sub Destination Alignment", "enum": [ "CENTERED", "LEFT", "SMART" - ], - "documentation": "Placeholder documentation for DvbSubDestinationAlignment" + ] }, "DvbSubDestinationBackgroundColor": { "type": "string", + "documentation": "Dvb Sub Destination Background Color", "enum": [ "BLACK", "NONE", "WHITE" - ], - "documentation": "Placeholder documentation for DvbSubDestinationBackgroundColor" + ] }, "DvbSubDestinationFontColor": { "type": "string", + "documentation": "Dvb Sub Destination Font Color", "enum": [ "BLACK", "BLUE", @@ -3468,11 +3891,11 @@ "RED", "WHITE", "YELLOW" - ], - "documentation": "Placeholder documentation for DvbSubDestinationFontColor" + ] }, "DvbSubDestinationOutlineColor": { "type": "string", + "documentation": "Dvb Sub Destination Outline Color", "enum": [ "BLACK", "BLUE", @@ -3480,8 +3903,7 @@ "RED", "WHITE", "YELLOW" - ], - "documentation": "Placeholder documentation for DvbSubDestinationOutlineColor" + ] }, "DvbSubDestinationSettings": { "type": "structure", @@ -3572,24 +3994,24 @@ "documentation": "Specifies the vertical position of the caption relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit yPosition is provided, the caption will be positioned towards the bottom of the output. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." } }, - "documentation": "Placeholder documentation for DvbSubDestinationSettings" + "documentation": "Dvb Sub Destination Settings" }, "DvbSubDestinationShadowColor": { "type": "string", + "documentation": "Dvb Sub Destination Shadow Color", "enum": [ "BLACK", "NONE", "WHITE" - ], - "documentation": "Placeholder documentation for DvbSubDestinationShadowColor" + ] }, "DvbSubDestinationTeletextGridControl": { "type": "string", + "documentation": "Dvb Sub Destination Teletext Grid Control", "enum": [ "FIXED", "SCALED" - ], - "documentation": "Placeholder documentation for DvbSubDestinationTeletextGridControl" + ] }, "DvbSubSourceSettings": { "type": "structure", @@ -3600,7 +4022,7 @@ "documentation": "When using DVB-Sub with Burn-In or SMPTE-TT, use this PID for the source content. Unused for DVB-Sub passthrough. All DVB-Sub content is passed through, regardless of selectors." } }, - "documentation": "Placeholder documentation for DvbSubSourceSettings" + "documentation": "Dvb Sub Source Settings" }, "DvbTdtSettings": { "type": "structure", @@ -3615,42 +4037,43 @@ }, "Eac3AttenuationControl": { "type": "string", + "documentation": "Eac3 Attenuation Control", "enum": [ "ATTENUATE_3_DB", "NONE" - ], - "documentation": "Placeholder documentation for Eac3AttenuationControl" + ] }, "Eac3BitstreamMode": { "type": "string", + "documentation": "Eac3 Bitstream Mode", "enum": [ "COMMENTARY", "COMPLETE_MAIN", "EMERGENCY", "HEARING_IMPAIRED", "VISUALLY_IMPAIRED" - ], - "documentation": "Placeholder documentation for Eac3BitstreamMode" + ] }, "Eac3CodingMode": { "type": "string", + "documentation": "Eac3 Coding Mode", "enum": [ "CODING_MODE_1_0", "CODING_MODE_2_0", "CODING_MODE_3_2" - ], - "documentation": "Placeholder documentation for Eac3CodingMode" + ] }, "Eac3DcFilter": { "type": "string", + "documentation": "Eac3 Dc Filter", "enum": [ "DISABLED", "ENABLED" - ], - "documentation": "Placeholder documentation for Eac3DcFilter" + ] }, "Eac3DrcLine": { "type": "string", + "documentation": "Eac3 Drc Line", "enum": [ "FILM_LIGHT", "FILM_STANDARD", @@ -3658,11 +4081,11 @@ "MUSIC_STANDARD", "NONE", "SPEECH" - ], - "documentation": "Placeholder documentation for Eac3DrcLine" + ] }, "Eac3DrcRf": { "type": "string", + "documentation": "Eac3 Drc Rf", "enum": [ "FILM_LIGHT", "FILM_STANDARD", @@ -3670,48 +4093,47 @@ "MUSIC_STANDARD", "NONE", "SPEECH" - ], - "documentation": "Placeholder documentation for Eac3DrcRf" + ] }, "Eac3LfeControl": { "type": "string", + "documentation": "Eac3 Lfe Control", "enum": [ "LFE", "NO_LFE" - ], - "documentation": "Placeholder documentation for Eac3LfeControl" + ] }, "Eac3LfeFilter": { "type": "string", + "documentation": "Eac3 Lfe Filter", "enum": [ "DISABLED", "ENABLED" - ], - "documentation": "Placeholder documentation for Eac3LfeFilter" + ] }, "Eac3MetadataControl": { "type": "string", + "documentation": "Eac3 Metadata Control", "enum": [ "FOLLOW_INPUT", "USE_CONFIGURED" - ], - "documentation": "Placeholder documentation for Eac3MetadataControl" + ] }, "Eac3PassthroughControl": { "type": "string", + "documentation": "Eac3 Passthrough Control", "enum": [ "NO_PASSTHROUGH", "WHEN_POSSIBLE" - ], - "documentation": "Placeholder documentation for Eac3PassthroughControl" + ] }, "Eac3PhaseControl": { "type": "string", + "documentation": "Eac3 Phase Control", "enum": [ "NO_SHIFT", "SHIFT_90_DEGREES" - ], - "documentation": "Placeholder documentation for Eac3PhaseControl" + ] }, "Eac3Settings": { "type": "structure", @@ -3817,63 +4239,63 @@ "documentation": "When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the two channels." } }, - "documentation": "Placeholder documentation for Eac3Settings" + "documentation": "Eac3 Settings" }, "Eac3StereoDownmix": { "type": "string", + "documentation": "Eac3 Stereo Downmix", "enum": [ "DPL2", "LO_RO", "LT_RT", "NOT_INDICATED" - ], - "documentation": "Placeholder documentation for Eac3StereoDownmix" + ] }, "Eac3SurroundExMode": { "type": "string", + "documentation": "Eac3 Surround Ex Mode", "enum": [ "DISABLED", "ENABLED", "NOT_INDICATED" - ], - "documentation": "Placeholder documentation for Eac3SurroundExMode" + ] }, "Eac3SurroundMode": { "type": "string", + "documentation": "Eac3 Surround Mode", "enum": [ "DISABLED", "ENABLED", "NOT_INDICATED" - ], - "documentation": "Placeholder documentation for Eac3SurroundMode" + ] }, "EmbeddedConvert608To708": { "type": "string", + "documentation": "Embedded Convert608 To708", "enum": [ "DISABLED", "UPCONVERT" - ], - "documentation": "Placeholder documentation for EmbeddedConvert608To708" + ] }, "EmbeddedDestinationSettings": { "type": "structure", "members": { }, - "documentation": "Placeholder documentation for EmbeddedDestinationSettings" + "documentation": "Embedded Destination Settings" }, "EmbeddedPlusScte20DestinationSettings": { "type": "structure", "members": { }, - "documentation": "Placeholder documentation for EmbeddedPlusScte20DestinationSettings" + "documentation": "Embedded Plus Scte20 Destination Settings" }, "EmbeddedScte20Detection": { "type": "string", + "documentation": "Embedded Scte20 Detection", "enum": [ "AUTO", "OFF" - ], - "documentation": "Placeholder documentation for EmbeddedScte20Detection" + ] }, "EmbeddedSourceSettings": { "type": "structure", @@ -3899,7 +4321,7 @@ "documentation": "This field is unused and deprecated." } }, - "documentation": "Placeholder documentation for EmbeddedSourceSettings" + "documentation": "Embedded Source Settings" }, "Empty": { "type": "structure", @@ -3953,21 +4375,21 @@ "locationName": "videoDescriptions" } }, + "documentation": "Encoder Settings", "required": [ "VideoDescriptions", "AudioDescriptions", "OutputGroups", "TimecodeConfig" - ], - "documentation": "Placeholder documentation for EncoderSettings" + ] }, "FecOutputIncludeFec": { "type": "string", + "documentation": "Fec Output Include Fec", "enum": [ "COLUMN", "COLUMN_AND_ROW" - ], - "documentation": "Placeholder documentation for FecOutputIncludeFec" + ] }, "FecOutputSettings": { "type": "structure", @@ -3988,10 +4410,11 @@ "documentation": "Parameter L from SMPTE 2022-1. The width of the FEC protection matrix. Must be between 1 and 20, inclusive. If only Column FEC is used, then larger values increase robustness. If Row FEC is used, then this is the number of transport stream packets per row error correction packet, and the value must be between 4 and 20, inclusive, if includeFec is columnAndRow. If includeFec is column, this value must be 1 to 20, inclusive." } }, - "documentation": "Placeholder documentation for FecOutputSettings" + "documentation": "Fec Output Settings" }, "FixedAfd": { "type": "string", + "documentation": "Fixed Afd", "enum": [ "AFD_0000", "AFD_0010", @@ -4004,8 +4427,7 @@ "AFD_1101", "AFD_1110", "AFD_1111" - ], - "documentation": "Placeholder documentation for FixedAfd" + ] }, "FixedModeScheduleActionStartSettings": { "type": "structure", @@ -4063,6 +4485,45 @@ }, "documentation": "Placeholder documentation for ForbiddenException" }, + "FrameCaptureGroupSettings": { + "type": "structure", + "members": { + "Destination": { + "shape": "OutputLocationRef", + "locationName": "destination", + "documentation": "The destination for the frame capture files. Either the URI for an Amazon S3 bucket and object, plus a file name prefix (for example, s3ssl://sportsDelivery/highlights/20180820/curling_) or the URI for a MediaStore container, plus a file name prefix (for example, mediastoressl://sportsDelivery/20180820/curling_). The final file names consist of the prefix from the destination field (for example, \"curling_\") + name modifier + the counter (5 digits, starting from 00001) + extension (which is always .jpg). For example, curlingLow.00001.jpg" + } + }, + "documentation": "Frame Capture Group Settings", + "required": [ + "Destination" + ] + }, + "FrameCaptureOutputSettings": { + "type": "structure", + "members": { + "NameModifier": { + "shape": "__string", + "locationName": "nameModifier", + "documentation": "Required if the output group contains more than one output. This modifier forms part of the output file name." + } + }, + "documentation": "Frame Capture Output Settings" + }, + "FrameCaptureSettings": { + "type": "structure", + "members": { + "CaptureInterval": { + "shape": "__integerMin1Max3600", + "locationName": "captureInterval", + "documentation": "The frequency, in seconds, for capturing frames for inclusion in the output. For example, \"10\" means capture a frame every 10 seconds." + } + }, + "documentation": "Frame Capture Settings", + "required": [ + "CaptureInterval" + ] + }, "GatewayTimeoutException": { "type": "structure", "members": { @@ -4095,6 +4556,11 @@ "locationName": "inputLossBehavior", "documentation": "Settings for system actions when input is lost." }, + "OutputLockingMode": { + "shape": "GlobalConfigurationOutputLockingMode", + "locationName": "outputLockingMode", + "documentation": "Indicates how MediaLive pipelines are synchronized.\n\nPIPELINELOCKING - MediaLive will attempt to synchronize the output of each pipeline to the other.\nEPOCHLOCKING - MediaLive will attempt to synchronize the output of each pipeline to the Unix epoch." + }, "OutputTimingSource": { "shape": "GlobalConfigurationOutputTimingSource", "locationName": "outputTimingSource", @@ -4106,34 +4572,43 @@ "documentation": "Adjusts video input buffer for streams with very low video framerates. This is commonly set to enabled for music channels with less than one video frame per second." } }, - "documentation": "Placeholder documentation for GlobalConfiguration" + "documentation": "Global Configuration" }, "GlobalConfigurationInputEndAction": { "type": "string", + "documentation": "Global Configuration Input End Action", "enum": [ "NONE", "SWITCH_AND_LOOP_INPUTS" - ], - "documentation": "Placeholder documentation for GlobalConfigurationInputEndAction" + ] }, "GlobalConfigurationLowFramerateInputs": { "type": "string", + "documentation": "Global Configuration Low Framerate Inputs", "enum": [ "DISABLED", "ENABLED" - ], - "documentation": "Placeholder documentation for GlobalConfigurationLowFramerateInputs" + ] + }, + "GlobalConfigurationOutputLockingMode": { + "type": "string", + "documentation": "Global Configuration Output Locking Mode", + "enum": [ + "EPOCH_LOCKING", + "PIPELINE_LOCKING" + ] }, "GlobalConfigurationOutputTimingSource": { "type": "string", + "documentation": "Global Configuration Output Timing Source", "enum": [ "INPUT_CLOCK", "SYSTEM_CLOCK" - ], - "documentation": "Placeholder documentation for GlobalConfigurationOutputTimingSource" + ] }, "H264AdaptiveQuantization": { "type": "string", + "documentation": "H264 Adaptive Quantization", "enum": [ "HIGH", "HIGHER", @@ -4141,59 +4616,59 @@ "MAX", "MEDIUM", "OFF" - ], - "documentation": "Placeholder documentation for H264AdaptiveQuantization" + ] }, "H264ColorMetadata": { "type": "string", + "documentation": "H264 Color Metadata", "enum": [ "IGNORE", "INSERT" - ], - "documentation": "Placeholder documentation for H264ColorMetadata" + ] }, "H264EntropyEncoding": { "type": "string", + "documentation": "H264 Entropy Encoding", "enum": [ "CABAC", "CAVLC" - ], - "documentation": "Placeholder documentation for H264EntropyEncoding" + ] }, "H264FlickerAq": { "type": "string", + "documentation": "H264 Flicker Aq", "enum": [ "DISABLED", "ENABLED" - ], - "documentation": "Placeholder documentation for H264FlickerAq" + ] }, "H264FramerateControl": { "type": "string", + "documentation": "H264 Framerate Control", "enum": [ "INITIALIZE_FROM_SOURCE", "SPECIFIED" - ], - "documentation": "Placeholder documentation for H264FramerateControl" + ] }, "H264GopBReference": { "type": "string", + "documentation": "H264 Gop BReference", "enum": [ "DISABLED", "ENABLED" - ], - "documentation": "Placeholder documentation for H264GopBReference" + ] }, "H264GopSizeUnits": { "type": "string", + "documentation": "H264 Gop Size Units", "enum": [ "FRAMES", "SECONDS" - ], - "documentation": "Placeholder documentation for H264GopSizeUnits" + ] }, "H264Level": { "type": "string", + "documentation": "H264 Level", "enum": [ "H264_LEVEL_1", "H264_LEVEL_1_1", @@ -4212,28 +4687,28 @@ "H264_LEVEL_5_1", "H264_LEVEL_5_2", "H264_LEVEL_AUTO" - ], - "documentation": "Placeholder documentation for H264Level" + ] }, "H264LookAheadRateControl": { "type": "string", + "documentation": "H264 Look Ahead Rate Control", "enum": [ "HIGH", "LOW", "MEDIUM" - ], - "documentation": "Placeholder documentation for H264LookAheadRateControl" + ] }, "H264ParControl": { "type": "string", + "documentation": "H264 Par Control", "enum": [ "INITIALIZE_FROM_SOURCE", "SPECIFIED" - ], - "documentation": "Placeholder documentation for H264ParControl" + ] }, "H264Profile": { "type": "string", + "documentation": "H264 Profile", "enum": [ "BASELINE", "HIGH", @@ -4241,33 +4716,32 @@ "HIGH_422", "HIGH_422_10BIT", "MAIN" - ], - "documentation": "Placeholder documentation for H264Profile" + ] }, "H264RateControlMode": { "type": "string", + "documentation": "H264 Rate Control Mode", "enum": [ "CBR", "QVBR", "VBR" - ], - "documentation": "Placeholder documentation for H264RateControlMode" + ] }, "H264ScanType": { "type": "string", + "documentation": "H264 Scan Type", "enum": [ "INTERLACED", "PROGRESSIVE" - ], - "documentation": "Placeholder documentation for H264ScanType" + ] }, "H264SceneChangeDetect": { "type": "string", + "documentation": "H264 Scene Change Detect", "enum": [ "DISABLED", "ENABLED" - ], - "documentation": "Placeholder documentation for H264SceneChangeDetect" + ] }, "H264Settings": { "type": "structure", @@ -4323,12 +4797,12 @@ "documentation": "This field indicates how the output video frame rate is specified. If \"specified\" is selected then the output video frame rate is determined by framerateNumerator and framerateDenominator, else if \"initializeFromSource\" is selected then the output video frame rate will be set equal to the input video frame rate of the first input." }, "FramerateDenominator": { - "shape": "__integer", + "shape": "__integerMin1", "locationName": "framerateDenominator", "documentation": "Framerate denominator." }, "FramerateNumerator": { - "shape": "__integer", + "shape": "__integerMin1", "locationName": "framerateNumerator", "documentation": "Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps." }, @@ -4437,6 +4911,11 @@ "locationName": "spatialAq", "documentation": "If set to enabled, adjust quantization within each frame based on spatial variation of content complexity." }, + "SubgopLength": { + "shape": "H264SubGopLength", + "locationName": "subgopLength", + "documentation": "If set to fixed, use gopNumBFrames B-frames per sub-GOP. If set to dynamic, optimize the number of B-frames used for each sub-GOP to improve visual quality." + }, "Syntax": { "shape": "H264Syntax", "locationName": "syntax", @@ -4453,56 +4932,64 @@ "documentation": "Determines how timecodes should be inserted into the video elementary stream.\n- 'disabled': Do not include timecodes\n- 'picTimingSei': Pass through picture timing SEI messages from the source specified in Timecode Config" } }, - "documentation": "Placeholder documentation for H264Settings" + "documentation": "H264 Settings" }, "H264SpatialAq": { "type": "string", + "documentation": "H264 Spatial Aq", "enum": [ "DISABLED", "ENABLED" - ], - "documentation": "Placeholder documentation for H264SpatialAq" + ] + }, + "H264SubGopLength": { + "type": "string", + "documentation": "H264 Sub Gop Length", + "enum": [ + "DYNAMIC", + "FIXED" + ] }, "H264Syntax": { "type": "string", + "documentation": "H264 Syntax", "enum": [ "DEFAULT", "RP2027" - ], - "documentation": "Placeholder documentation for H264Syntax" + ] }, "H264TemporalAq": { "type": "string", + "documentation": "H264 Temporal Aq", "enum": [ "DISABLED", "ENABLED" - ], - "documentation": "Placeholder documentation for H264TemporalAq" + ] }, "H264TimecodeInsertionBehavior": { "type": "string", + "documentation": "H264 Timecode Insertion Behavior", "enum": [ "DISABLED", "PIC_TIMING_SEI" - ], - "documentation": "Placeholder documentation for H264TimecodeInsertionBehavior" + ] }, "HlsAdMarkers": { "type": "string", + "documentation": "Hls Ad Markers", "enum": [ "ADOBE", "ELEMENTAL", "ELEMENTAL_SCTE35" - ], - "documentation": "Placeholder documentation for HlsAdMarkers" + ] }, "HlsAkamaiHttpTransferMode": { "type": "string", + "documentation": "Hls Akamai Http Transfer Mode", "enum": [ "CHUNKED", "NON_CHUNKED" - ], - "documentation": "Placeholder documentation for HlsAkamaiHttpTransferMode" + ] }, "HlsAkamaiSettings": { "type": "structure", @@ -4543,7 +5030,7 @@ "documentation": "Token parameter for authenticated akamai. If not specified, _gda_ is used." } }, - "documentation": "Placeholder documentation for HlsAkamaiSettings" + "documentation": "Hls Akamai Settings" }, "HlsBasicPutSettings": { "type": "structure", @@ -4569,16 +5056,16 @@ "documentation": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart." } }, - "documentation": "Placeholder documentation for HlsBasicPutSettings" + "documentation": "Hls Basic Put Settings" }, "HlsCaptionLanguageSetting": { "type": "string", + "documentation": "Hls Caption Language Setting", "enum": [ "INSERT", "NONE", "OMIT" - ], - "documentation": "Placeholder documentation for HlsCaptionLanguageSetting" + ] }, "HlsCdnSettings": { "type": "structure", @@ -4600,39 +5087,39 @@ "locationName": "hlsWebdavSettings" } }, - "documentation": "Placeholder documentation for HlsCdnSettings" + "documentation": "Hls Cdn Settings" }, "HlsClientCache": { "type": "string", + "documentation": "Hls Client Cache", "enum": [ "DISABLED", "ENABLED" - ], - "documentation": "Placeholder documentation for HlsClientCache" + ] }, "HlsCodecSpecification": { "type": "string", + "documentation": "Hls Codec Specification", "enum": [ "RFC_4281", "RFC_6381" - ], - "documentation": "Placeholder documentation for HlsCodecSpecification" + ] }, "HlsDirectoryStructure": { "type": "string", + "documentation": "Hls Directory Structure", "enum": [ "SINGLE_DIRECTORY", "SUBDIRECTORY_PER_STREAM" - ], - "documentation": "Placeholder documentation for HlsDirectoryStructure" + ] }, "HlsEncryptionType": { "type": "string", + "documentation": "Hls Encryption Type", "enum": [ "AES128", "SAMPLE_AES" - ], - "documentation": "Placeholder documentation for HlsEncryptionType" + ] }, "HlsGroupSettings": { "type": "structure", @@ -4697,10 +5184,15 @@ "locationName": "hlsCdnSettings", "documentation": "Parameters that control interactions with the CDN." }, + "IFrameOnlyPlaylists": { + "shape": "IFrameOnlyPlaylistType", + "locationName": "iFrameOnlyPlaylists", + "documentation": "DISABLED: Do not create an I-frame-only manifest, but do create the master and media manifests (according to the Output Selection field).\n\nSTANDARD: Create an I-frame-only manifest for each output that contains video, as well as the other manifests (according to the Output Selection field). The I-frame manifest contains a #EXT-X-I-FRAMES-ONLY tag to indicate it is I-frame only, and one or more #EXT-X-BYTERANGE entries identifying the I-frame position. For example, #EXT-X-BYTERANGE:160364@1461888\"" + }, "IndexNSegments": { "shape": "__integerMin3", "locationName": "indexNSegments", - "documentation": "If mode is \"live\", the number of segments to retain in the manifest (.m3u8) file. This number must be less than or equal to keepSegments. If mode is \"vod\", this parameter has no effect." + "documentation": "Applies only if Mode field is LIVE. Specifies the maximum number of segments in the media manifest file. After this maximum, older segments are removed from the media manifest. This number must be less than or equal to the Keep Segments field." }, "InputLossAction": { "shape": "InputLossActionForHlsOut", @@ -4720,7 +5212,7 @@ "KeepSegments": { "shape": "__integerMin1", "locationName": "keepSegments", - "documentation": "If mode is \"live\", the number of TS segments to retain in the destination directory. If mode is \"vod\", this parameter has no effect." + "documentation": "Applies only if Mode field is LIVE. Specifies the number of media segments (.ts files) to retain in the destination directory." }, "KeyFormat": { "shape": "__string", @@ -4760,7 +5252,7 @@ "OutputSelection": { "shape": "HlsOutputSelection", "locationName": "outputSelection", - "documentation": "Generates the .m3u8 playlist file for this HLS output group. The segmentsOnly option will output segments without the .m3u8 file." + "documentation": "MANIFESTSANDSEGMENTS: Generates manifests (master manifest, if applicable, and media manifests) for this output group.\n\nSEGMENTSONLY: Does not generate any manifests for this output group." }, "ProgramDateTime": { "shape": "HlsProgramDateTime", @@ -4775,7 +5267,7 @@ "RedundantManifest": { "shape": "HlsRedundantManifest", "locationName": "redundantManifest", - "documentation": "When set to \"enabled\", includes the media playlists from both pipelines in the master manifest (.m3u8) file." + "documentation": "ENABLED: The master manifest (.m3u8 file) for each pipeline includes information about both pipelines: first its own media files, then the media files of the other pipeline. This feature allows playout device that support stale manifest detection to switch from one manifest to the other, when the current manifest seems to be stale. There are still two destinations and two master manifests, but both master manifests reference the media files from both pipelines.\n\nDISABLED: The master manifest (.m3u8 file) for each pipeline includes information about its own pipeline only.\n\nFor an HLS output group with MediaPackage as the destination, the DISABLED behavior is always followed. MediaPackage regenerates the manifests it serves to players so a redundant manifest from MediaLive is irrelevant." }, "SegmentLength": { "shape": "__integerMin1", @@ -4785,7 +5277,7 @@ "SegmentationMode": { "shape": "HlsSegmentationMode", "locationName": "segmentationMode", - "documentation": "When set to useInputSegmentation, the output segment or fragment points are set by the RAI markers from the input streams." + "documentation": "useInputSegmentation has been deprecated. The configured segment size is always used." }, "SegmentsPerSubdirectory": { "shape": "__integerMin1", @@ -4815,13 +5307,13 @@ "TsFileMode": { "shape": "HlsTsFileMode", "locationName": "tsFileMode", - "documentation": "When set to \"singleFile\", emits the program as a single media resource (.ts) file, and uses #EXT-X-BYTERANGE tags to index segment for playback. Playback of VOD mode content during event is not guaranteed due to HTTP server caching." + "documentation": "SEGMENTEDFILES: Emit the program as segments - multiple .ts media files.\n\nSINGLEFILE: Applies only if Mode field is VOD. Emit the program as a single .ts media file. The media manifest includes #EXT-X-BYTERANGE tags to index segments for playback. A typical use for this value is when sending the output to AWS Elemental MediaConvert, which can accept only a single media file. Playback while the channel is running is not guaranteed due to HTTP server caching." } }, + "documentation": "Hls Group Settings", "required": [ "Destination" - ], - "documentation": "Placeholder documentation for HlsGroupSettings" + ] }, "HlsInputSettings": { "type": "structure", @@ -4847,39 +5339,39 @@ "documentation": "The number of seconds between retries when an attempt to read a manifest or segment fails." } }, - "documentation": "Placeholder documentation for HlsInputSettings" + "documentation": "Hls Input Settings" }, "HlsIvInManifest": { "type": "string", + "documentation": "Hls Iv In Manifest", "enum": [ "EXCLUDE", "INCLUDE" - ], - "documentation": "Placeholder documentation for HlsIvInManifest" + ] }, "HlsIvSource": { "type": "string", + "documentation": "Hls Iv Source", "enum": [ "EXPLICIT", "FOLLOWS_SEGMENT_NUMBER" - ], - "documentation": "Placeholder documentation for HlsIvSource" + ] }, "HlsManifestCompression": { "type": "string", + "documentation": "Hls Manifest Compression", "enum": [ "GZIP", "NONE" - ], - "documentation": "Placeholder documentation for HlsManifestCompression" + ] }, "HlsManifestDurationFormat": { "type": "string", + "documentation": "Hls Manifest Duration Format", "enum": [ "FLOATING_POINT", "INTEGER" - ], - "documentation": "Placeholder documentation for HlsManifestDurationFormat" + ] }, "HlsMediaStoreSettings": { "type": "structure", @@ -4910,30 +5402,30 @@ "documentation": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart." } }, - "documentation": "Placeholder documentation for HlsMediaStoreSettings" + "documentation": "Hls Media Store Settings" }, "HlsMediaStoreStorageClass": { "type": "string", + "documentation": "Hls Media Store Storage Class", "enum": [ "TEMPORAL" - ], - "documentation": "Placeholder documentation for HlsMediaStoreStorageClass" + ] }, "HlsMode": { "type": "string", + "documentation": "Hls Mode", "enum": [ "LIVE", "VOD" - ], - "documentation": "Placeholder documentation for HlsMode" + ] }, "HlsOutputSelection": { "type": "string", + "documentation": "Hls Output Selection", "enum": [ "MANIFESTS_AND_SEGMENTS", "SEGMENTS_ONLY" - ], - "documentation": "Placeholder documentation for HlsOutputSelection" + ] }, "HlsOutputSettings": { "type": "structure", @@ -4954,34 +5446,34 @@ "documentation": "String concatenated to end of segment filenames." } }, + "documentation": "Hls Output Settings", "required": [ "HlsSettings" - ], - "documentation": "Placeholder documentation for HlsOutputSettings" + ] }, "HlsProgramDateTime": { "type": "string", + "documentation": "Hls Program Date Time", "enum": [ "EXCLUDE", "INCLUDE" - ], - "documentation": "Placeholder documentation for HlsProgramDateTime" + ] }, "HlsRedundantManifest": { "type": "string", + "documentation": "Hls Redundant Manifest", "enum": [ "DISABLED", "ENABLED" - ], - "documentation": "HLS Redundant Manifest" + ] }, "HlsSegmentationMode": { "type": "string", + "documentation": "Hls Segmentation Mode", "enum": [ "USE_INPUT_SEGMENTATION", "USE_SEGMENT_DURATION" - ], - "documentation": "Placeholder documentation for HlsSegmentationMode" + ] }, "HlsSettings": { "type": "structure", @@ -4995,40 +5487,54 @@ "locationName": "standardHlsSettings" } }, - "documentation": "Placeholder documentation for HlsSettings" + "documentation": "Hls Settings" }, "HlsStreamInfResolution": { "type": "string", + "documentation": "Hls Stream Inf Resolution", "enum": [ "EXCLUDE", "INCLUDE" - ], - "documentation": "Placeholder documentation for HlsStreamInfResolution" + ] }, "HlsTimedMetadataId3Frame": { "type": "string", + "documentation": "Hls Timed Metadata Id3 Frame", "enum": [ "NONE", "PRIV", "TDRL" - ], - "documentation": "Placeholder documentation for HlsTimedMetadataId3Frame" + ] + }, + "HlsTimedMetadataScheduleActionSettings": { + "type": "structure", + "members": { + "Id3": { + "shape": "__string", + "locationName": "id3", + "documentation": "Base64 string formatted according to the ID3 specification: http://id3.org/id3v2.4.0-structure" + } + }, + "documentation": "Settings for the action to emit HLS metadata", + "required": [ + "Id3" + ] }, "HlsTsFileMode": { "type": "string", + "documentation": "Hls Ts File Mode", "enum": [ "SEGMENTED_FILES", "SINGLE_FILE" - ], - "documentation": "Placeholder documentation for HlsTsFileMode" + ] }, "HlsWebdavHttpTransferMode": { "type": "string", + "documentation": "Hls Webdav Http Transfer Mode", "enum": [ "CHUNKED", "NON_CHUNKED" - ], - "documentation": "Placeholder documentation for HlsWebdavHttpTransferMode" + ] }, "HlsWebdavSettings": { "type": "structure", @@ -5059,7 +5565,15 @@ "documentation": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart." } }, - "documentation": "Placeholder documentation for HlsWebdavSettings" + "documentation": "Hls Webdav Settings" + }, + "IFrameOnlyPlaylistType": { + "type": "string", + "documentation": "When set to \"standard\", an I-Frame only playlist will be written out for each video output in the output group. This I-Frame only playlist will contain byte range offsets pointing to the I-frame(s) in each segment.", + "enum": [ + "DISABLED", + "STANDARD" + ] }, "Input": { "type": "structure", @@ -5084,6 +5598,11 @@ "locationName": "id", "documentation": "The generated ID of the input (unique for user account, immutable)." }, + "InputClass": { + "shape": "InputClass", + "locationName": "inputClass", + "documentation": "STANDARD - MediaLive expects two sources to be connected to this input. If the channel is also STANDARD, both sources will be ingested. If the channel is SINGLE_PIPELINE, only the first source will be ingested; the second source will always be ignored, even if the first source fails.\nSINGLE_PIPELINE - You can connect only one source to this input. If the ChannelClass is also SINGLE_PIPELINE, this value is valid. If the ChannelClass is STANDARD, this value is not valid because the channel requires two sources in the input.\n" + }, "MediaConnectFlows": { "shape": "__listOfMediaConnectFlow", "locationName": "mediaConnectFlows", @@ -5102,7 +5621,7 @@ "SecurityGroups": { "shape": "__listOf__string", "locationName": "securityGroups", - "documentation": "A list of IDs for all the security groups attached to the input." + "documentation": "A list of IDs for all the Input Security Groups attached to the input." }, "Sources": { "shape": "__listOfInputSource", @@ -5113,6 +5632,11 @@ "shape": "InputState", "locationName": "state" }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + }, "Type": { "shape": "InputType", "locationName": "type" @@ -5155,11 +5679,19 @@ "documentation": "The index of the input channel used as a source." } }, + "documentation": "Input Channel Level", "required": [ "InputChannel", "Gain" - ], - "documentation": "Placeholder documentation for InputChannelLevel" + ] + }, + "InputClass": { + "type": "string", + "documentation": "A standard input has two sources and a single pipeline input only has one.", + "enum": [ + "STANDARD", + "SINGLE_PIPELINE" + ] }, "InputCodec": { "type": "string", @@ -5172,19 +5704,19 @@ }, "InputDeblockFilter": { "type": "string", + "documentation": "Input Deblock Filter", "enum": [ "DISABLED", "ENABLED" - ], - "documentation": "Placeholder documentation for InputDeblockFilter" + ] }, "InputDenoiseFilter": { "type": "string", + "documentation": "Input Denoise Filter", "enum": [ "DISABLED", "ENABLED" - ], - "documentation": "Placeholder documentation for InputDenoiseFilter" + ] }, "InputDestination": { "type": "structure", @@ -5203,6 +5735,10 @@ "shape": "__string", "locationName": "url", "documentation": "This represents the endpoint that the customer stream will be\npushed to.\n" + }, + "Vpc": { + "shape": "InputDestinationVpc", + "locationName": "vpc" } }, "documentation": "The settings for a PUSH type input." @@ -5218,14 +5754,30 @@ }, "documentation": "Endpoint settings for a PUSH type input." }, + "InputDestinationVpc": { + "type": "structure", + "members": { + "AvailabilityZone": { + "shape": "__string", + "locationName": "availabilityZone", + "documentation": "The availability zone of the Input destination.\n" + }, + "NetworkInterfaceId": { + "shape": "__string", + "locationName": "networkInterfaceId", + "documentation": "The network interface ID of the Input destination in the VPC.\n" + } + }, + "documentation": "The properties for a VPC type input destination." + }, "InputFilter": { "type": "string", + "documentation": "Input Filter", "enum": [ "AUTO", "DISABLED", "FORCED" - ], - "documentation": "Placeholder documentation for InputFilter" + ] }, "InputLocation": { "type": "structure", @@ -5246,43 +5798,43 @@ "documentation": "Documentation update needed" } }, + "documentation": "Input Location", "required": [ "Uri" - ], - "documentation": "Placeholder documentation for InputLocation" + ] }, "InputLossActionForHlsOut": { "type": "string", + "documentation": "Input Loss Action For Hls Out", "enum": [ "EMIT_OUTPUT", "PAUSE_OUTPUT" - ], - "documentation": "Placeholder documentation for InputLossActionForHlsOut" + ] }, "InputLossActionForMsSmoothOut": { "type": "string", + "documentation": "Input Loss Action For Ms Smooth Out", "enum": [ "EMIT_OUTPUT", "PAUSE_OUTPUT" - ], - "documentation": "Placeholder documentation for InputLossActionForMsSmoothOut" + ] }, "InputLossActionForRtmpOut": { "type": "string", + "documentation": "Input Loss Action For Rtmp Out", "enum": [ "EMIT_OUTPUT", "PAUSE_OUTPUT" - ], - "documentation": "Input Loss Action" + ] }, "InputLossActionForUdpOut": { "type": "string", + "documentation": "Input Loss Action For Udp Out", "enum": [ "DROP_PROGRAM", "DROP_TS", "EMIT_PROGRAM" - ], - "documentation": "Placeholder documentation for InputLossActionForUdpOut" + ] }, "InputLossBehavior": { "type": "structure", @@ -5313,15 +5865,15 @@ "documentation": "Documentation update needed" } }, - "documentation": "Placeholder documentation for InputLossBehavior" + "documentation": "Input Loss Behavior" }, "InputLossImageType": { "type": "string", + "documentation": "Input Loss Image Type", "enum": [ "COLOR", "SLATE" - ], - "documentation": "Placeholder documentation for InputLossImageType" + ] }, "InputMaximumBitrate": { "type": "string", @@ -5364,6 +5916,11 @@ "locationName": "state", "documentation": "The current state of the Input Security Group." }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + }, "WhitelistRules": { "shape": "__listOfInputWhitelistRule", "locationName": "whitelistRules", @@ -5385,6 +5942,11 @@ "InputSecurityGroupWhitelistRequest": { "type": "structure", "members": { + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + }, "WhitelistRules": { "shape": "__listOfInputWhitelistRuleCidr", "locationName": "whitelistRules", @@ -5467,11 +6029,11 @@ }, "InputSourceEndBehavior": { "type": "string", + "documentation": "Input Source End Behavior", "enum": [ "CONTINUE", "LOOP" - ], - "documentation": "Placeholder documentation for InputSourceEndBehavior" + ] }, "InputSourceRequest": { "type": "structure", @@ -5553,6 +6115,25 @@ ], "documentation": "Placeholder documentation for InputType" }, + "InputVpcRequest": { + "type": "structure", + "members": { + "SecurityGroupIds": { + "shape": "__listOf__string", + "locationName": "securityGroupIds", + "documentation": "A list of up to 5 EC2 VPC security group IDs to attach to the Input VPC network interfaces.\nRequires subnetIds. If none are specified then the VPC default security group will be used.\n" + }, + "SubnetIds": { + "shape": "__listOf__string", + "locationName": "subnetIds", + "documentation": "A list of 2 VPC subnet IDs from the same VPC.\nSubnet IDs must be mapped to two unique availability zones (AZ).\n" + } + }, + "documentation": "Settings for a private VPC Input.\nWhen this property is specified, the input destination addresses will be created in a VPC rather than with public Internet addresses.\nThis property requires setting the roleArn property on Input creation.\nNot compatible with the inputSecurityGroups property.\n", + "required": [ + "SubnetIds" + ] + }, "InputWhitelistRule": { "type": "structure", "members": { @@ -5617,7 +6198,7 @@ "locationName": "staticKeySettings" } }, - "documentation": "Placeholder documentation for KeyProviderSettings" + "documentation": "Key Provider Settings" }, "LimitExceeded": { "type": "structure", @@ -5766,6 +6347,12 @@ "ListOfferingsRequest": { "type": "structure", "members": { + "ChannelClass": { + "shape": "__string", + "location": "querystring", + "locationName": "channelClass", + "documentation": "Filter by channel class, 'STANDARD' or 'SINGLE_PIPELINE'\n" + }, "ChannelConfiguration": { "shape": "__string", "location": "querystring", @@ -5862,6 +6449,12 @@ "ListReservationsRequest": { "type": "structure", "members": { + "ChannelClass": { + "shape": "__string", + "location": "querystring", + "locationName": "channelClass", + "documentation": "Filter by channel class, 'STANDARD' or 'SINGLE_PIPELINE'\n" + }, "Codec": { "shape": "__string", "location": "querystring", @@ -5949,6 +6542,30 @@ }, "documentation": "ListReservations response" }, + "ListTagsForResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resource-arn" + } + }, + "required": [ + "ResourceArn" + ], + "documentation": "Placeholder documentation for ListTagsForResourceRequest" + }, + "ListTagsForResourceResponse": { + "type": "structure", + "members": { + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + }, + "documentation": "Placeholder documentation for ListTagsForResourceResponse" + }, "LogLevel": { "type": "string", "documentation": "The log level the user wants for their channel.", @@ -5962,126 +6579,127 @@ }, "M2tsAbsentInputAudioBehavior": { "type": "string", + "documentation": "M2ts Absent Input Audio Behavior", "enum": [ "DROP", "ENCODE_SILENCE" - ], - "documentation": "Placeholder documentation for M2tsAbsentInputAudioBehavior" + ] }, "M2tsArib": { "type": "string", + "documentation": "M2ts Arib", "enum": [ "DISABLED", "ENABLED" - ], - "documentation": "Placeholder documentation for M2tsArib" + ] }, "M2tsAribCaptionsPidControl": { "type": "string", + "documentation": "M2ts Arib Captions Pid Control", "enum": [ "AUTO", "USE_CONFIGURED" - ], - "documentation": "Placeholder documentation for M2tsAribCaptionsPidControl" + ] }, "M2tsAudioBufferModel": { "type": "string", + "documentation": "M2ts Audio Buffer Model", "enum": [ "ATSC", "DVB" - ], - "documentation": "Placeholder documentation for M2tsAudioBufferModel" + ] }, "M2tsAudioInterval": { "type": "string", + "documentation": "M2ts Audio Interval", "enum": [ "VIDEO_AND_FIXED_INTERVALS", "VIDEO_INTERVAL" - ], - "documentation": "Placeholder documentation for M2tsAudioInterval" + ] }, "M2tsAudioStreamType": { "type": "string", + "documentation": "M2ts Audio Stream Type", "enum": [ "ATSC", "DVB" - ], - "documentation": "Placeholder documentation for M2tsAudioStreamType" + ] }, "M2tsBufferModel": { "type": "string", + "documentation": "M2ts Buffer Model", "enum": [ "MULTIPLEX", "NONE" - ], - "documentation": "Placeholder documentation for M2tsBufferModel" + ] }, "M2tsCcDescriptor": { "type": "string", + "documentation": "M2ts Cc Descriptor", "enum": [ "DISABLED", "ENABLED" - ], - "documentation": "Placeholder documentation for M2tsCcDescriptor" + ] }, "M2tsEbifControl": { "type": "string", + "documentation": "M2ts Ebif Control", "enum": [ "NONE", "PASSTHROUGH" - ], - "documentation": "Placeholder documentation for M2tsEbifControl" + ] }, "M2tsEbpPlacement": { "type": "string", + "documentation": "M2ts Ebp Placement", "enum": [ "VIDEO_AND_AUDIO_PIDS", "VIDEO_PID" - ], - "documentation": "Placeholder documentation for M2tsEbpPlacement" + ] }, "M2tsEsRateInPes": { "type": "string", + "documentation": "M2ts Es Rate In Pes", "enum": [ "EXCLUDE", "INCLUDE" - ], - "documentation": "Placeholder documentation for M2tsEsRateInPes" + ] }, "M2tsKlv": { "type": "string", + "documentation": "M2ts Klv", "enum": [ "NONE", "PASSTHROUGH" - ], - "documentation": "Placeholder documentation for M2tsKlv" + ] }, "M2tsPcrControl": { "type": "string", + "documentation": "M2ts Pcr Control", "enum": [ "CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET" - ], - "documentation": "Placeholder documentation for M2tsPcrControl" + ] }, "M2tsRateMode": { "type": "string", + "documentation": "M2ts Rate Mode", "enum": [ "CBR", "VBR" - ], - "documentation": "Placeholder documentation for M2tsRateMode" + ] }, "M2tsScte35Control": { "type": "string", + "documentation": "M2ts Scte35 Control", "enum": [ "NONE", "PASSTHROUGH" - ], - "documentation": "Placeholder documentation for M2tsScte35Control" + ] }, "M2tsSegmentationMarkers": { "type": "string", + "documentation": "M2ts Segmentation Markers", "enum": [ "EBP", "EBP_LEGACY", @@ -6089,16 +6707,15 @@ "PSI_SEGSTART", "RAI_ADAPT", "RAI_SEGSTART" - ], - "documentation": "Placeholder documentation for M2tsSegmentationMarkers" + ] }, "M2tsSegmentationStyle": { "type": "string", + "documentation": "M2ts Segmentation Style", "enum": [ "MAINTAIN_CADENCE", "RESET_CADENCE" - ], - "documentation": "Placeholder documentation for M2tsSegmentationStyle" + ] }, "M2tsSettings": { "type": "structure", @@ -6334,31 +6951,31 @@ "documentation": "Packet Identifier (PID) of the elementary video stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6)." } }, - "documentation": "Placeholder documentation for M2tsSettings" + "documentation": "M2ts Settings" }, "M2tsTimedMetadataBehavior": { "type": "string", + "documentation": "M2ts Timed Metadata Behavior", "enum": [ "NO_PASSTHROUGH", "PASSTHROUGH" - ], - "documentation": "Placeholder documentation for M2tsTimedMetadataBehavior" + ] }, "M3u8PcrControl": { "type": "string", + "documentation": "M3u8 Pcr Control", "enum": [ "CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET" - ], - "documentation": "Placeholder documentation for M3u8PcrControl" + ] }, "M3u8Scte35Behavior": { "type": "string", + "documentation": "M3u8 Scte35 Behavior", "enum": [ "NO_PASSTHROUGH", "PASSTHROUGH" - ], - "documentation": "Placeholder documentation for M3u8Scte35Behavior" + ] }, "M3u8Settings": { "type": "structure", @@ -6448,11 +7065,11 @@ }, "M3u8TimedMetadataBehavior": { "type": "string", + "documentation": "M3u8 Timed Metadata Behavior", "enum": [ "NO_PASSTHROUGH", "PASSTHROUGH" - ], - "documentation": "Placeholder documentation for M3u8TimedMetadataBehavior" + ] }, "MaxResults": { "type": "integer", @@ -6482,13 +7099,44 @@ }, "documentation": "The settings for a MediaConnect Flow." }, + "MediaPackageGroupSettings": { + "type": "structure", + "members": { + "Destination": { + "shape": "OutputLocationRef", + "locationName": "destination", + "documentation": "MediaPackage channel destination." + } + }, + "documentation": "Media Package Group Settings", + "required": [ + "Destination" + ] + }, + "MediaPackageOutputDestinationSettings": { + "type": "structure", + "members": { + "ChannelId": { + "shape": "__stringMin1", + "locationName": "channelId", + "documentation": "ID of the channel in MediaPackage that is the destination for this output group. You do not need to specify the individual inputs in MediaPackage; MediaLive will handle the connection of the two MediaLive pipelines to the two MediaPackage inputs. The MediaPackage channel and MediaLive channel must be in the same region." + } + }, + "documentation": "Media Package Output Destination Settings" + }, + "MediaPackageOutputSettings": { + "type": "structure", + "members": { + }, + "documentation": "Media Package Output Settings" + }, "Mp2CodingMode": { "type": "string", + "documentation": "Mp2 Coding Mode", "enum": [ "CODING_MODE_1_0", "CODING_MODE_2_0" - ], - "documentation": "Placeholder documentation for Mp2CodingMode" + ] }, "Mp2Settings": { "type": "structure", @@ -6509,7 +7157,7 @@ "documentation": "Sample rate in Hz." } }, - "documentation": "Placeholder documentation for Mp2Settings" + "documentation": "Mp2 Settings" }, "MsSmoothGroupSettings": { "type": "structure", @@ -6582,7 +7230,7 @@ "SegmentationMode": { "shape": "SmoothGroupSegmentationMode", "locationName": "segmentationMode", - "documentation": "When set to useInputSegmentation, the output segment or fragment points are set by the RAI markers from the input streams." + "documentation": "useInputSegmentation has been deprecated. The configured segment size is always used." }, "SendDelayMs": { "shape": "__integerMin0Max10000", @@ -6610,10 +7258,10 @@ "documentation": "Type of timestamp date offset to use.\n- useEventStartDate: Use the date the event was started as the offset\n- useConfiguredOffset: Use an explicitly configured date as the offset" } }, + "documentation": "Ms Smooth Group Settings", "required": [ "Destination" - ], - "documentation": "Placeholder documentation for MsSmoothGroupSettings" + ] }, "MsSmoothOutputSettings": { "type": "structure", @@ -6624,15 +7272,15 @@ "documentation": "String concatenated to the end of the destination filename. Required for multiple outputs of the same type." } }, - "documentation": "Placeholder documentation for MsSmoothOutputSettings" + "documentation": "Ms Smooth Output Settings" }, "NetworkInputServerValidation": { "type": "string", + "documentation": "Network Input Server Validation", "enum": [ "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME", "CHECK_CRYPTOGRAPHY_ONLY" - ], - "documentation": "Placeholder documentation for NetworkInputServerValidation" + ] }, "NetworkInputSettings": { "type": "structure", @@ -6781,10 +7429,15 @@ "locationName": "id", "documentation": "User-specified id. This is used in an output group or an output." }, + "MediaPackageSettings": { + "shape": "__listOfMediaPackageOutputDestinationSettings", + "locationName": "mediaPackageSettings", + "documentation": "Destination settings for a MediaPackage output; one destination for both encoders." + }, "Settings": { "shape": "__listOfOutputDestinationSettings", "locationName": "settings", - "documentation": "Destination settings for output; one for each redundant encoder." + "documentation": "Destination settings for a standard output; one destination for each redundant encoder." } }, "documentation": "Placeholder documentation for OutputDestination" @@ -6846,10 +7499,18 @@ "shape": "ArchiveGroupSettings", "locationName": "archiveGroupSettings" }, + "FrameCaptureGroupSettings": { + "shape": "FrameCaptureGroupSettings", + "locationName": "frameCaptureGroupSettings" + }, "HlsGroupSettings": { "shape": "HlsGroupSettings", "locationName": "hlsGroupSettings" }, + "MediaPackageGroupSettings": { + "shape": "MediaPackageGroupSettings", + "locationName": "mediaPackageGroupSettings" + }, "MsSmoothGroupSettings": { "shape": "MsSmoothGroupSettings", "locationName": "msSmoothGroupSettings" @@ -6863,7 +7524,7 @@ "locationName": "udpGroupSettings" } }, - "documentation": "Placeholder documentation for OutputGroupSettings" + "documentation": "Output Group Settings" }, "OutputLocationRef": { "type": "structure", @@ -6882,10 +7543,18 @@ "shape": "ArchiveOutputSettings", "locationName": "archiveOutputSettings" }, + "FrameCaptureOutputSettings": { + "shape": "FrameCaptureOutputSettings", + "locationName": "frameCaptureOutputSettings" + }, "HlsOutputSettings": { "shape": "HlsOutputSettings", "locationName": "hlsOutputSettings" }, + "MediaPackageOutputSettings": { + "shape": "MediaPackageOutputSettings", + "locationName": "mediaPackageOutputSettings" + }, "MsSmoothOutputSettings": { "shape": "MsSmoothOutputSettings", "locationName": "msSmoothOutputSettings" @@ -6899,13 +7568,45 @@ "locationName": "udpOutputSettings" } }, - "documentation": "Placeholder documentation for OutputSettings" + "documentation": "Output Settings" }, "PassThroughSettings": { "type": "structure", "members": { }, - "documentation": "Placeholder documentation for PassThroughSettings" + "documentation": "Pass Through Settings" + }, + "PauseStateScheduleActionSettings": { + "type": "structure", + "members": { + "Pipelines": { + "shape": "__listOfPipelinePauseStateSettings", + "locationName": "pipelines" + } + }, + "documentation": "Settings for the action to set pause state of a channel." + }, + "PipelineId": { + "type": "string", + "documentation": "Pipeline ID", + "enum": [ + "PIPELINE_0", + "PIPELINE_1" + ] + }, + "PipelinePauseStateSettings": { + "type": "structure", + "members": { + "PipelineId": { + "shape": "PipelineId", + "locationName": "pipelineId", + "documentation": "Pipeline ID to pause (\"PIPELINE_0\" or \"PIPELINE_1\")." + } + }, + "documentation": "Settings for pausing a pipeline.", + "required": [ + "PipelineId" + ] }, "PurchaseOffering": { "type": "structure", @@ -6930,6 +7631,11 @@ "shape": "__string", "locationName": "start", "documentation": "Requested reservation start time (UTC) in ISO-8601 format. The specified time must be between the first day of the current month and one year from now. If no value is given, the default is now." + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs" } }, "documentation": "PurchaseOffering request", @@ -6966,6 +7672,11 @@ "shape": "__string", "locationName": "start", "documentation": "Requested reservation start time (UTC) in ISO-8601 format. The specified time must be between the first day of the current month and one year from now. If no value is given, the default is now." + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs" } }, "required": [ @@ -7013,10 +7724,10 @@ "documentation": "Number of output channels to be produced.\nValid values: 1, 2, 4, 6, 8" } }, + "documentation": "Remix Settings", "required": [ "ChannelMappings" - ], - "documentation": "Placeholder documentation for RemixSettings" + ] }, "Reservation": { "type": "structure", @@ -7101,6 +7812,11 @@ "locationName": "state", "documentation": "Current state of reservation, e.g. 'ACTIVE'" }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs" + }, "UsagePrice": { "shape": "__double", "locationName": "usagePrice", @@ -7148,6 +7864,11 @@ "ReservationResourceSpecification": { "type": "structure", "members": { + "ChannelClass": { + "shape": "ChannelClass", + "locationName": "channelClass", + "documentation": "Channel class, e.g. 'STANDARD'" + }, "Codec": { "shape": "ReservationCodec", "locationName": "codec", @@ -7244,26 +7965,26 @@ }, "RtmpCacheFullBehavior": { "type": "string", + "documentation": "Rtmp Cache Full Behavior", "enum": [ "DISCONNECT_IMMEDIATELY", "WAIT_FOR_SERVER" - ], - "documentation": "Placeholder documentation for RtmpCacheFullBehavior" + ] }, "RtmpCaptionData": { "type": "string", + "documentation": "Rtmp Caption Data", "enum": [ "ALL", "FIELD1_608", "FIELD1_AND_FIELD2_608" - ], - "documentation": "Placeholder documentation for RtmpCaptionData" + ] }, "RtmpCaptionInfoDestinationSettings": { "type": "structure", "members": { }, - "documentation": "Placeholder documentation for RtmpCaptionInfoDestinationSettings" + "documentation": "Rtmp Caption Info Destination Settings" }, "RtmpGroupSettings": { "type": "structure", @@ -7299,15 +8020,15 @@ "documentation": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart." } }, - "documentation": "Placeholder documentation for RtmpGroupSettings" + "documentation": "Rtmp Group Settings" }, "RtmpOutputCertificateMode": { "type": "string", + "documentation": "Rtmp Output Certificate Mode", "enum": [ "SELF_SIGNED", "VERIFY_AUTHENTICITY" - ], - "documentation": "Placeholder documentation for RtmpOutputCertificateMode" + ] }, "RtmpOutputSettings": { "type": "structure", @@ -7333,10 +8054,10 @@ "documentation": "Number of retry attempts." } }, + "documentation": "Rtmp Output Settings", "required": [ "Destination" - ], - "documentation": "Placeholder documentation for RtmpOutputSettings" + ] }, "ScheduleAction": { "type": "structure", @@ -7367,35 +8088,45 @@ "ScheduleActionSettings": { "type": "structure", "members": { + "HlsTimedMetadataSettings": { + "shape": "HlsTimedMetadataScheduleActionSettings", + "locationName": "hlsTimedMetadataSettings", + "documentation": "Action to insert HLS metadata" + }, "InputSwitchSettings": { "shape": "InputSwitchScheduleActionSettings", "locationName": "inputSwitchSettings", - "documentation": "Settings to switch an input" + "documentation": "Action to switch the input" + }, + "PauseStateSettings": { + "shape": "PauseStateScheduleActionSettings", + "locationName": "pauseStateSettings", + "documentation": "Action to pause or unpause one or both channel pipelines" }, "Scte35ReturnToNetworkSettings": { "shape": "Scte35ReturnToNetworkScheduleActionSettings", "locationName": "scte35ReturnToNetworkSettings", - "documentation": "Settings for SCTE-35 return_to_network message" + "documentation": "Action to insert SCTE-35 return_to_network message" }, "Scte35SpliceInsertSettings": { "shape": "Scte35SpliceInsertScheduleActionSettings", "locationName": "scte35SpliceInsertSettings", - "documentation": "Settings for SCTE-35 splice_insert message" + "documentation": "Action to insert SCTE-35 splice_insert message" }, "Scte35TimeSignalSettings": { "shape": "Scte35TimeSignalScheduleActionSettings", "locationName": "scte35TimeSignalSettings", - "documentation": "Settings for SCTE-35 time_signal message" + "documentation": "Action to insert SCTE-35 time_signal message" }, "StaticImageActivateSettings": { "shape": "StaticImageActivateScheduleActionSettings", "locationName": "staticImageActivateSettings", - "documentation": "Settings to activate a static image overlay" + "documentation": "Action to activate a static image overlay" }, "StaticImageDeactivateSettings": { "shape": "StaticImageDeactivateScheduleActionSettings", "locationName": "staticImageDeactivateSettings", - "documentation": "Settings to deactivate a static image overlay" + "documentation": "Action to deactivate a static image overlay" } }, "documentation": "Holds the settings for a single schedule action." @@ -7416,6 +8147,12 @@ }, "documentation": "Settings to specify the start time for an action." }, + "ScheduleDeleteResultModel": { + "type": "structure", + "members": { + }, + "documentation": "Result of a schedule deletion." + }, "ScheduleDescribeResultModel": { "type": "structure", "members": { @@ -7437,17 +8174,17 @@ }, "Scte20Convert608To708": { "type": "string", + "documentation": "Scte20 Convert608 To708", "enum": [ "DISABLED", "UPCONVERT" - ], - "documentation": "Placeholder documentation for Scte20Convert608To708" + ] }, "Scte20PlusEmbeddedDestinationSettings": { "type": "structure", "members": { }, - "documentation": "Placeholder documentation for Scte20PlusEmbeddedDestinationSettings" + "documentation": "Scte20 Plus Embedded Destination Settings" }, "Scte20SourceSettings": { "type": "structure", @@ -7463,13 +8200,13 @@ "documentation": "Specifies the 608/708 channel number within the video track from which to extract captions. Unused for passthrough." } }, - "documentation": "Placeholder documentation for Scte20SourceSettings" + "documentation": "Scte20 Source Settings" }, "Scte27DestinationSettings": { "type": "structure", "members": { }, - "documentation": "Placeholder documentation for Scte27DestinationSettings" + "documentation": "Scte27 Destination Settings" }, "Scte27SourceSettings": { "type": "structure", @@ -7480,23 +8217,23 @@ "documentation": "The pid field is used in conjunction with the caption selector languageCode field as follows:\n - Specify PID and Language: Extracts captions from that PID; the language is \"informational\".\n - Specify PID and omit Language: Extracts the specified PID.\n - Omit PID and specify Language: Extracts the specified language, whichever PID that happens to be.\n - Omit PID and omit Language: Valid only if source is DVB-Sub that is being passed through; all languages will be passed through." } }, - "documentation": "Placeholder documentation for Scte27SourceSettings" + "documentation": "Scte27 Source Settings" }, "Scte35AposNoRegionalBlackoutBehavior": { "type": "string", + "documentation": "Scte35 Apos No Regional Blackout Behavior", "enum": [ "FOLLOW", "IGNORE" - ], - "documentation": "Placeholder documentation for Scte35AposNoRegionalBlackoutBehavior" + ] }, "Scte35AposWebDeliveryAllowedBehavior": { "type": "string", + "documentation": "Scte35 Apos Web Delivery Allowed Behavior", "enum": [ "FOLLOW", "IGNORE" - ], - "documentation": "Placeholder documentation for Scte35AposWebDeliveryAllowedBehavior" + ] }, "Scte35ArchiveAllowedFlag": { "type": "string", @@ -7690,15 +8427,15 @@ "documentation": "When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to 0 will no longer trigger blackouts or Ad Avail slates" } }, - "documentation": "Placeholder documentation for Scte35SpliceInsert" + "documentation": "Scte35 Splice Insert" }, "Scte35SpliceInsertNoRegionalBlackoutBehavior": { "type": "string", + "documentation": "Scte35 Splice Insert No Regional Blackout Behavior", "enum": [ "FOLLOW", "IGNORE" - ], - "documentation": "Placeholder documentation for Scte35SpliceInsertNoRegionalBlackoutBehavior" + ] }, "Scte35SpliceInsertScheduleActionSettings": { "type": "structure", @@ -7721,11 +8458,11 @@ }, "Scte35SpliceInsertWebDeliveryAllowedBehavior": { "type": "string", + "documentation": "Scte35 Splice Insert Web Delivery Allowed Behavior", "enum": [ "FOLLOW", "IGNORE" - ], - "documentation": "Placeholder documentation for Scte35SpliceInsertWebDeliveryAllowedBehavior" + ] }, "Scte35TimeSignalApos": { "type": "structure", @@ -7746,7 +8483,7 @@ "documentation": "When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to 0 will no longer trigger blackouts or Ad Avail slates" } }, - "documentation": "Placeholder documentation for Scte35TimeSignalApos" + "documentation": "Scte35 Time Signal Apos" }, "Scte35TimeSignalScheduleActionSettings": { "type": "structure", @@ -7772,74 +8509,74 @@ }, "SmoothGroupAudioOnlyTimecodeControl": { "type": "string", + "documentation": "Smooth Group Audio Only Timecode Control", "enum": [ "PASSTHROUGH", "USE_CONFIGURED_CLOCK" - ], - "documentation": "Placeholder documentation for SmoothGroupAudioOnlyTimecodeControl" + ] }, "SmoothGroupCertificateMode": { "type": "string", + "documentation": "Smooth Group Certificate Mode", "enum": [ "SELF_SIGNED", "VERIFY_AUTHENTICITY" - ], - "documentation": "Placeholder documentation for SmoothGroupCertificateMode" + ] }, "SmoothGroupEventIdMode": { "type": "string", + "documentation": "Smooth Group Event Id Mode", "enum": [ "NO_EVENT_ID", "USE_CONFIGURED", "USE_TIMESTAMP" - ], - "documentation": "Placeholder documentation for SmoothGroupEventIdMode" + ] }, "SmoothGroupEventStopBehavior": { "type": "string", + "documentation": "Smooth Group Event Stop Behavior", "enum": [ "NONE", "SEND_EOS" - ], - "documentation": "Placeholder documentation for SmoothGroupEventStopBehavior" + ] }, "SmoothGroupSegmentationMode": { "type": "string", + "documentation": "Smooth Group Segmentation Mode", "enum": [ "USE_INPUT_SEGMENTATION", "USE_SEGMENT_DURATION" - ], - "documentation": "Placeholder documentation for SmoothGroupSegmentationMode" + ] }, "SmoothGroupSparseTrackType": { "type": "string", + "documentation": "Smooth Group Sparse Track Type", "enum": [ "NONE", "SCTE_35" - ], - "documentation": "Placeholder documentation for SmoothGroupSparseTrackType" + ] }, "SmoothGroupStreamManifestBehavior": { "type": "string", + "documentation": "Smooth Group Stream Manifest Behavior", "enum": [ "DO_NOT_SEND", "SEND" - ], - "documentation": "Placeholder documentation for SmoothGroupStreamManifestBehavior" + ] }, "SmoothGroupTimestampOffsetMode": { "type": "string", + "documentation": "Smooth Group Timestamp Offset Mode", "enum": [ "USE_CONFIGURED_OFFSET", "USE_EVENT_START_DATE" - ], - "documentation": "Placeholder documentation for SmoothGroupTimestampOffsetMode" + ] }, "SmpteTtDestinationSettings": { "type": "structure", "members": { }, - "documentation": "Placeholder documentation for SmpteTtDestinationSettings" + "documentation": "Smpte Tt Destination Settings" }, "StandardHlsSettings": { "type": "structure", @@ -7854,10 +8591,10 @@ "locationName": "m3u8Settings" } }, + "documentation": "Standard Hls Settings", "required": [ "M3u8Settings" - ], - "documentation": "Placeholder documentation for StandardHlsSettings" + ] }, "StartChannelRequest": { "type": "structure", @@ -7882,6 +8619,11 @@ "locationName": "arn", "documentation": "The unique arn of the channel." }, + "ChannelClass": { + "shape": "ChannelClass", + "locationName": "channelClass", + "documentation": "The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline." + }, "Destinations": { "shape": "__listOfOutputDestination", "locationName": "destinations", @@ -7933,6 +8675,11 @@ "State": { "shape": "ChannelState", "locationName": "state" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." } }, "documentation": "Placeholder documentation for StartChannelResponse" @@ -8026,10 +8773,10 @@ "documentation": "Static key value as a 32 character hexadecimal string." } }, + "documentation": "Static Key Settings", "required": [ "StaticKeyValue" - ], - "documentation": "Placeholder documentation for StaticKeySettings" + ] }, "StopChannelRequest": { "type": "structure", @@ -8054,6 +8801,11 @@ "locationName": "arn", "documentation": "The unique arn of the channel." }, + "ChannelClass": { + "shape": "ChannelClass", + "locationName": "channelClass", + "documentation": "The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline." + }, "Destinations": { "shape": "__listOfOutputDestination", "locationName": "destinations", @@ -8105,15 +8857,40 @@ "State": { "shape": "ChannelState", "locationName": "state" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." } }, "documentation": "Placeholder documentation for StopChannelResponse" }, + "Tags": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "__string" + }, + "documentation": "Placeholder documentation for Tags" + }, + "TagsModel": { + "type": "structure", + "members": { + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + }, + "documentation": "Placeholder documentation for TagsModel" + }, "TeletextDestinationSettings": { "type": "structure", "members": { }, - "documentation": "Placeholder documentation for TeletextDestinationSettings" + "documentation": "Teletext Destination Settings" }, "TeletextSourceSettings": { "type": "structure", @@ -8124,7 +8901,7 @@ "documentation": "Specifies the teletext page number within the data stream from which to extract captions. Range of 0x100 (256) to 0x8FF (2303). Unused for passthrough. Should be specified as a hexadecimal string with no \"0x\" prefix." } }, - "documentation": "Placeholder documentation for TeletextSourceSettings" + "documentation": "Teletext Source Settings" }, "TimecodeConfig": { "type": "structure", @@ -8140,19 +8917,19 @@ "documentation": "Threshold in frames beyond which output timecode is resynchronized to the input timecode. Discrepancies below this threshold are permitted to avoid unnecessary discontinuities in the output timecode. No timecode sync when this is not specified." } }, + "documentation": "Timecode Config", "required": [ "Source" - ], - "documentation": "Placeholder documentation for TimecodeConfig" + ] }, "TimecodeConfigSource": { "type": "string", + "documentation": "Timecode Config Source", "enum": [ "EMBEDDED", "SYSTEMCLOCK", "ZEROBASED" - ], - "documentation": "Placeholder documentation for TimecodeConfigSource" + ] }, "TooManyRequestsException": { "type": "structure", @@ -8177,15 +8954,15 @@ "documentation": "When set to passthrough, passes through style and position information from a TTML-like input source (TTML, SMPTE-TT, CFF-TT) to the CFF-TT output or TTML output." } }, - "documentation": "Placeholder documentation for TtmlDestinationSettings" + "documentation": "Ttml Destination Settings" }, "TtmlDestinationStyleControl": { "type": "string", + "documentation": "Ttml Destination Style Control", "enum": [ "PASSTHROUGH", "USE_CONFIGURED" - ], - "documentation": "Placeholder documentation for TtmlDestinationStyleControl" + ] }, "UdpContainerSettings": { "type": "structure", @@ -8195,7 +8972,7 @@ "locationName": "m2tsSettings" } }, - "documentation": "Placeholder documentation for UdpContainerSettings" + "documentation": "Udp Container Settings" }, "UdpGroupSettings": { "type": "structure", @@ -8216,7 +8993,7 @@ "documentation": "Timed Metadata interval in seconds." } }, - "documentation": "Placeholder documentation for UdpGroupSettings" + "documentation": "Udp Group Settings" }, "UdpOutputSettings": { "type": "structure", @@ -8241,20 +9018,20 @@ "documentation": "Settings for enabling and adjusting Forward Error Correction on UDP outputs." } }, + "documentation": "Udp Output Settings", "required": [ "Destination", "ContainerSettings" - ], - "documentation": "Placeholder documentation for UdpOutputSettings" + ] }, "UdpTimedMetadataId3Frame": { "type": "string", + "documentation": "Udp Timed Metadata Id3 Frame", "enum": [ "NONE", "PRIV", "TDRL" - ], - "documentation": "Placeholder documentation for UdpTimedMetadataId3Frame" + ] }, "UnprocessableEntityException": { "type": "structure", @@ -8315,6 +9092,61 @@ }, "documentation": "Placeholder documentation for UpdateChannel" }, + "UpdateChannelClass": { + "type": "structure", + "members": { + "ChannelClass": { + "shape": "ChannelClass", + "locationName": "channelClass", + "documentation": "The channel class that you wish to update this channel to use." + }, + "Destinations": { + "shape": "__listOfOutputDestination", + "locationName": "destinations", + "documentation": "A list of output destinations for this channel." + } + }, + "required": [ + "ChannelClass" + ], + "documentation": "Placeholder documentation for UpdateChannelClass" + }, + "UpdateChannelClassRequest": { + "type": "structure", + "members": { + "ChannelClass": { + "shape": "ChannelClass", + "locationName": "channelClass", + "documentation": "The channel class that you wish to update this channel to use." + }, + "ChannelId": { + "shape": "__string", + "location": "uri", + "locationName": "channelId", + "documentation": "Channel Id of the channel whose class should be updated." + }, + "Destinations": { + "shape": "__listOfOutputDestination", + "locationName": "destinations", + "documentation": "A list of output destinations for this channel." + } + }, + "documentation": "Channel class that the channel should be updated to.", + "required": [ + "ChannelId", + "ChannelClass" + ] + }, + "UpdateChannelClassResponse": { + "type": "structure", + "members": { + "Channel": { + "shape": "Channel", + "locationName": "channel" + } + }, + "documentation": "Placeholder documentation for UpdateChannelClassResponse" + }, "UpdateChannelRequest": { "type": "structure", "members": { @@ -8494,6 +9326,11 @@ "locationName": "inputSecurityGroupId", "documentation": "The id of the Input Security Group to update." }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + }, "WhitelistRules": { "shape": "__listOfInputWhitelistRuleCidr", "locationName": "whitelistRules", @@ -8525,6 +9362,57 @@ }, "documentation": "Placeholder documentation for UpdateInputSecurityGroupResultModel" }, + "UpdateReservation": { + "type": "structure", + "members": { + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "Name of the reservation" + } + }, + "documentation": "UpdateReservation request" + }, + "UpdateReservationRequest": { + "type": "structure", + "members": { + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "Name of the reservation" + }, + "ReservationId": { + "shape": "__string", + "location": "uri", + "locationName": "reservationId", + "documentation": "Unique reservation ID, e.g. '1234567'" + } + }, + "documentation": "Request to update a reservation", + "required": [ + "ReservationId" + ] + }, + "UpdateReservationResponse": { + "type": "structure", + "members": { + "Reservation": { + "shape": "Reservation", + "locationName": "reservation" + } + }, + "documentation": "Placeholder documentation for UpdateReservationResponse" + }, + "UpdateReservationResultModel": { + "type": "structure", + "members": { + "Reservation": { + "shape": "Reservation", + "locationName": "reservation" + } + }, + "documentation": "UpdateReservation response" + }, "ValidationError": { "type": "structure", "members": { @@ -8542,12 +9430,16 @@ "VideoCodecSettings": { "type": "structure", "members": { + "FrameCaptureSettings": { + "shape": "FrameCaptureSettings", + "locationName": "frameCaptureSettings" + }, "H264Settings": { "shape": "H264Settings", "locationName": "h264Settings" } }, - "documentation": "Placeholder documentation for VideoCodecSettings" + "documentation": "Video Codec Settings" }, "VideoDescription": { "type": "structure", @@ -8560,7 +9452,7 @@ "Height": { "shape": "__integer", "locationName": "height", - "documentation": "Output video height (in pixels). Leave blank to use source video height. If left blank, width must also be unspecified." + "documentation": "Output video height, in pixels. Must be an even number. For most codecs, you can leave this field and width blank in order to use the height and width (resolution) from the source. Note, however, that leaving blank is not recommended. For the Frame Capture codec, height and width are required." }, "Name": { "shape": "__string", @@ -8570,22 +9462,22 @@ "RespondToAfd": { "shape": "VideoDescriptionRespondToAfd", "locationName": "respondToAfd", - "documentation": "Indicates how to respond to the AFD values in the input stream. Setting to \"respond\" causes input video to be clipped, depending on AFD value, input display aspect ratio and output display aspect ratio." + "documentation": "Indicates how to respond to the AFD values in the input stream. RESPOND causes input video to be clipped, depending on the AFD value, input display aspect ratio, and output display aspect ratio, and (except for FRAMECAPTURE codec) includes the values in the output. PASSTHROUGH (does not apply to FRAMECAPTURE codec) ignores the AFD values and includes the values in the output, so input video is not clipped. NONE ignores the AFD values and does not include the values through to the output, so input video is not clipped." }, "ScalingBehavior": { "shape": "VideoDescriptionScalingBehavior", "locationName": "scalingBehavior", - "documentation": "When set to \"stretchToOutput\", automatically configures the output position to stretch the video to the specified output resolution. This option will override any position value." + "documentation": "STRETCHTOOUTPUT configures the output position to stretch the video to the specified output resolution (height and width). This option will override any position value. DEFAULT may insert black boxes (pillar boxes or letter boxes) around the video to provide the specified output resolution." }, "Sharpness": { "shape": "__integerMin0Max100", "locationName": "sharpness", - "documentation": "Changes the width of the anti-alias filter kernel used for scaling. Only applies if scaling is being performed and antiAlias is set to true. 0 is the softest setting, 100 the sharpest, and 50 recommended for most content." + "documentation": "Changes the strength of the anti-alias filter used for scaling. 0 is the softest setting, 100 is the sharpest. A setting of 50 is recommended for most content." }, "Width": { "shape": "__integer", "locationName": "width", - "documentation": "Output video width (in pixels). Leave out to use source video width. If left out, height must also be left out. Display aspect ratio is always preserved by letterboxing or pillarboxing when necessary." + "documentation": "Output video width, in pixels. Must be an even number. For most codecs, you can leave this field and height blank in order to use the height and width (resolution) from the source. Note, however, that leaving blank is not recommended. For the Frame Capture codec, height and width are required." } }, "documentation": "Video settings for this stream.", @@ -8595,20 +9487,20 @@ }, "VideoDescriptionRespondToAfd": { "type": "string", + "documentation": "Video Description Respond To Afd", "enum": [ "NONE", "PASSTHROUGH", "RESPOND" - ], - "documentation": "Placeholder documentation for VideoDescriptionRespondToAfd" + ] }, "VideoDescriptionScalingBehavior": { "type": "string", + "documentation": "Video Description Scaling Behavior", "enum": [ "DEFAULT", "STRETCH_TO_OUTPUT" - ], - "documentation": "Placeholder documentation for VideoDescriptionScalingBehavior" + ] }, "VideoSelector": { "type": "structure", @@ -8633,20 +9525,20 @@ }, "VideoSelectorColorSpace": { "type": "string", + "documentation": "Video Selector Color Space", "enum": [ "FOLLOW", "REC_601", "REC_709" - ], - "documentation": "Placeholder documentation for VideoSelectorColorSpace" + ] }, "VideoSelectorColorSpaceUsage": { "type": "string", + "documentation": "Video Selector Color Space Usage", "enum": [ "FALLBACK", "FORCE" - ], - "documentation": "Placeholder documentation for VideoSelectorColorSpaceUsage" + ] }, "VideoSelectorPid": { "type": "structure", @@ -8657,7 +9549,7 @@ "documentation": "Selects a specific PID from within a video source." } }, - "documentation": "Placeholder documentation for VideoSelectorPid" + "documentation": "Video Selector Pid" }, "VideoSelectorProgramId": { "type": "structure", @@ -8668,7 +9560,7 @@ "documentation": "Selects a specific program from within a multi-program transport stream. If the program doesn't exist, the first program within the transport stream will be selected by default." } }, - "documentation": "Placeholder documentation for VideoSelectorProgramId" + "documentation": "Video Selector Program Id" }, "VideoSelectorSettings": { "type": "structure", @@ -8682,13 +9574,13 @@ "locationName": "videoSelectorProgramId" } }, - "documentation": "Placeholder documentation for VideoSelectorSettings" + "documentation": "Video Selector Settings" }, "WebvttDestinationSettings": { "type": "structure", "members": { }, - "documentation": "Placeholder documentation for WebvttDestinationSettings" + "documentation": "Webvtt Destination Settings" }, "__boolean": { "type": "boolean", @@ -8885,6 +9777,12 @@ "max": 32, "documentation": "Placeholder documentation for __integerMin1Max32" }, + "__integerMin1Max3600": { + "type": "integer", + "min": 1, + "max": 3600, + "documentation": "Placeholder documentation for __integerMin1Max3600" + }, "__integerMin1Max4": { "type": "integer", "min": 1, @@ -9108,6 +10006,13 @@ }, "documentation": "Placeholder documentation for __listOfMediaConnectFlowRequest" }, + "__listOfMediaPackageOutputDestinationSettings": { + "type": "list", + "member": { + "shape": "MediaPackageOutputDestinationSettings" + }, + "documentation": "Placeholder documentation for __listOfMediaPackageOutputDestinationSettings" + }, "__listOfOffering": { "type": "list", "member": { @@ -9143,6 +10048,13 @@ }, "documentation": "Placeholder documentation for __listOfOutputGroup" }, + "__listOfPipelinePauseStateSettings": { + "type": "list", + "member": { + "shape": "PipelinePauseStateSettings" + }, + "documentation": "Placeholder documentation for __listOfPipelinePauseStateSettings" + }, "__listOfReservation": { "type": "list", "member": { diff --git a/bin/botocore/data/medialive/2017-10-14/waiters-2.json b/bin/botocore/data/medialive/2017-10-14/waiters-2.json new file mode 100644 index 00000000..93721381 --- /dev/null +++ b/bin/botocore/data/medialive/2017-10-14/waiters-2.json @@ -0,0 +1,111 @@ +{ + "version": 2, + "waiters": { + "ChannelCreated": { + "description": "Wait until a channel has been created", + "operation": "DescribeChannel", + "delay": 3, + "maxAttempts": 5, + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "State", + "expected": "IDLE" + }, + { + "state": "retry", + "matcher": "path", + "argument": "State", + "expected": "CREATING" + }, + { + "state": "retry", + "matcher": "status", + "expected": 500 + }, + { + "state": "failure", + "matcher": "path", + "argument": "State", + "expected": "CREATE_FAILED" + } + ] + }, + "ChannelRunning": { + "description": "Wait until a channel is running", + "operation": "DescribeChannel", + "delay": 5, + "maxAttempts": 120, + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "State", + "expected": "RUNNING" + }, + { + "state": "retry", + "matcher": "path", + "argument": "State", + "expected": "STARTING" + }, + { + "state": "retry", + "matcher": "status", + "expected": 500 + } + ] + }, + "ChannelStopped": { + "description": "Wait until a channel has is stopped", + "operation": "DescribeChannel", + "delay": 5, + "maxAttempts": 28, + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "State", + "expected": "IDLE" + }, + { + "state": "retry", + "matcher": "path", + "argument": "State", + "expected": "STOPPING" + }, + { + "state": "retry", + "matcher": "status", + "expected": 500 + } + ] + }, + "ChannelDeleted": { + "description": "Wait until a channel has been deleted", + "operation": "DescribeChannel", + "delay": 5, + "maxAttempts": 20, + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "State", + "expected": "DELETED" + }, + { + "state": "retry", + "matcher": "path", + "argument": "State", + "expected": "DELETING" + }, + { + "state": "retry", + "matcher": "status", + "expected": 500 + } + ] + } + } +} diff --git a/bin/botocore/data/mediapackage-vod/2018-11-07/paginators-1.json b/bin/botocore/data/mediapackage-vod/2018-11-07/paginators-1.json new file mode 100644 index 00000000..df498b9f --- /dev/null +++ b/bin/botocore/data/mediapackage-vod/2018-11-07/paginators-1.json @@ -0,0 +1,22 @@ +{ + "pagination": { + "ListAssets": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Assets" + }, + "ListPackagingConfigurations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "PackagingConfigurations" + }, + "ListPackagingGroups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "PackagingGroups" + } + } +} diff --git a/bin/botocore/data/mediapackage-vod/2018-11-07/service-2.json b/bin/botocore/data/mediapackage-vod/2018-11-07/service-2.json new file mode 100644 index 00000000..b6ddb13c --- /dev/null +++ b/bin/botocore/data/mediapackage-vod/2018-11-07/service-2.json @@ -0,0 +1,1663 @@ +{ + "documentation": "AWS Elemental MediaPackage VOD", + "metadata": { + "apiVersion": "2018-11-07", + "endpointPrefix": "mediapackage-vod", + "jsonVersion": "1.1", + "protocol": "rest-json", + "serviceAbbreviation": "MediaPackage Vod", + "serviceFullName": "AWS Elemental MediaPackage VOD", + "serviceId": "MediaPackage Vod", + "signatureVersion": "v4", + "signingName": "mediapackage-vod", + "uid": "mediapackage-vod-2018-11-07" + }, + "operations": { + "CreateAsset": { + "documentation": "Creates a new MediaPackage VOD Asset resource.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "POST", + "requestUri": "/assets", + "responseCode": 200 + }, + "input": { + "shape": "CreateAssetRequest" + }, + "name": "CreateAsset", + "output": { + "documentation": "The new MediaPackage VOD Asset resource.", + "shape": "CreateAssetResponse" + } + }, + "CreatePackagingConfiguration": { + "documentation": "Creates a new MediaPackage VOD PackagingConfiguration resource.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "POST", + "requestUri": "/packaging_configurations", + "responseCode": 200 + }, + "input": { + "shape": "CreatePackagingConfigurationRequest" + }, + "name": "CreatePackagingConfiguration", + "output": { + "documentation": "The new MediaPackage VOD PackagingConfiguration resource.", + "shape": "CreatePackagingConfigurationResponse" + } + }, + "CreatePackagingGroup": { + "documentation": "Creates a new MediaPackage VOD PackagingGroup resource.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "POST", + "requestUri": "/packaging_groups", + "responseCode": 200 + }, + "input": { + "shape": "CreatePackagingGroupRequest" + }, + "name": "CreatePackagingGroup", + "output": { + "documentation": "The new MediaPackage VOD PackagingGroup resource.", + "shape": "CreatePackagingGroupResponse" + } + }, + "DeleteAsset": { + "documentation": "Deletes an existing MediaPackage VOD Asset resource.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "DELETE", + "requestUri": "/assets/{id}", + "responseCode": 202 + }, + "input": { + "shape": "DeleteAssetRequest" + }, + "name": "DeleteAsset", + "output": { + "documentation": "The MediaPackage VOD Asset resource has been deleted.", + "shape": "DeleteAssetResponse" + } + }, + "DeletePackagingConfiguration": { + "documentation": "Deletes a MediaPackage VOD PackagingConfiguration resource.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "DELETE", + "requestUri": "/packaging_configurations/{id}", + "responseCode": 202 + }, + "input": { + "shape": "DeletePackagingConfigurationRequest" + }, + "name": "DeletePackagingConfiguration", + "output": { + "documentation": "The MediaPackage VOD PackagingConfiguration resource has been deleted.", + "shape": "DeletePackagingConfigurationResponse" + } + }, + "DeletePackagingGroup": { + "documentation": "Deletes a MediaPackage VOD PackagingGroup resource.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "DELETE", + "requestUri": "/packaging_groups/{id}", + "responseCode": 202 + }, + "input": { + "shape": "DeletePackagingGroupRequest" + }, + "name": "DeletePackagingGroup", + "output": { + "documentation": "The MediaPackage VOD PackagingGroup resource has been deleted.", + "shape": "DeletePackagingGroupResponse" + } + }, + "DescribeAsset": { + "documentation": "Returns a description of a MediaPackage VOD Asset resource.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "GET", + "requestUri": "/assets/{id}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeAssetRequest" + }, + "name": "DescribeAsset", + "output": { + "documentation": "A MediaPackage VOD Asset resource.", + "shape": "DescribeAssetResponse" + } + }, + "DescribePackagingConfiguration": { + "documentation": "Returns a description of a MediaPackage VOD PackagingConfiguration resource.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "GET", + "requestUri": "/packaging_configurations/{id}", + "responseCode": 200 + }, + "input": { + "shape": "DescribePackagingConfigurationRequest" + }, + "name": "DescribePackagingConfiguration", + "output": { + "documentation": "A MediaPackage VOD PackagingConfiguration resource.", + "shape": "DescribePackagingConfigurationResponse" + } + }, + "DescribePackagingGroup": { + "documentation": "Returns a description of a MediaPackage VOD PackagingGroup resource.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "GET", + "requestUri": "/packaging_groups/{id}", + "responseCode": 200 + }, + "input": { + "shape": "DescribePackagingGroupRequest" + }, + "name": "DescribePackagingGroup", + "output": { + "documentation": "A MediaPackage VOD PackagingGroup resource.", + "shape": "DescribePackagingGroupResponse" + } + }, + "ListAssets": { + "documentation": "Returns a collection of MediaPackage VOD Asset resources.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "GET", + "requestUri": "/assets", + "responseCode": 200 + }, + "input": { + "shape": "ListAssetsRequest" + }, + "name": "ListAssets", + "output": { + "documentation": "A collection of MediaPackage VOD Asset resources.", + "shape": "ListAssetsResponse" + } + }, + "ListPackagingConfigurations": { + "documentation": "Returns a collection of MediaPackage VOD PackagingConfiguration resources.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "GET", + "requestUri": "/packaging_configurations", + "responseCode": 200 + }, + "input": { + "shape": "ListPackagingConfigurationsRequest" + }, + "name": "ListPackagingConfigurations", + "output": { + "documentation": "A collection of MediaPackage VOD PackagingConfiguration resources.", + "shape": "ListPackagingConfigurationsResponse" + } + }, + "ListPackagingGroups": { + "documentation": "Returns a collection of MediaPackage VOD PackagingGroup resources.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "GET", + "requestUri": "/packaging_groups", + "responseCode": 200 + }, + "input": { + "shape": "ListPackagingGroupsRequest" + }, + "name": "ListPackagingGroups", + "output": { + "documentation": "A collection of MediaPackage VOD PackagingGroup resources.", + "shape": "ListPackagingGroupsResponse" + } + } + }, + "shapes": { + "AdMarkers": { + "enum": [ + "NONE", + "SCTE35_ENHANCED", + "PASSTHROUGH" + ], + "type": "string" + }, + "Asset": { + "documentation": "A MediaPackage VOD Asset resource.", + "members": { + "Arn": { + "documentation": "The ARN of the Asset.", + "locationName": "arn", + "shape": "__string" + }, + "EgressEndpoints": { + "documentation": "The list of egress endpoints available for the Asset.", + "locationName": "egressEndpoints", + "shape": "__listOfEgressEndpoint" + }, + "Id": { + "documentation": "The unique identifier for the Asset.", + "locationName": "id", + "shape": "__string" + }, + "PackagingGroupId": { + "documentation": "The ID of the PackagingGroup for the Asset.", + "locationName": "packagingGroupId", + "shape": "__string" + }, + "ResourceId": { + "documentation": "The resource ID to include in SPEKE key requests.", + "locationName": "resourceId", + "shape": "__string" + }, + "SourceArn": { + "documentation": "ARN of the source object in S3.", + "locationName": "sourceArn", + "shape": "__string" + }, + "SourceRoleArn": { + "documentation": "The IAM role_arn used to access the source S3 bucket.", + "locationName": "sourceRoleArn", + "shape": "__string" + } + }, + "type": "structure" + }, + "AssetCreateParameters": { + "documentation": "Parameters used to create a MediaPackage VOD Asset.", + "members": { + "Id": { + "documentation": "The unique identifier for the Asset.", + "locationName": "id", + "shape": "__string" + }, + "PackagingGroupId": { + "documentation": "The ID of the PackagingGroup for the Asset.", + "locationName": "packagingGroupId", + "shape": "__string" + }, + "ResourceId": { + "documentation": "The resource ID to include in SPEKE key requests.", + "locationName": "resourceId", + "shape": "__string" + }, + "SourceArn": { + "documentation": "ARN of the source object in S3.", + "locationName": "sourceArn", + "shape": "__string" + }, + "SourceRoleArn": { + "documentation": "The IAM role ARN used to access the source S3 bucket.", + "locationName": "sourceRoleArn", + "shape": "__string" + } + }, + "required": [ + "SourceArn", + "Id", + "PackagingGroupId", + "SourceRoleArn" + ], + "type": "structure" + }, + "AssetList": { + "documentation": "A collection of MediaPackage VOD Asset resources.", + "members": { + "Assets": { + "documentation": "A list of MediaPackage VOD Asset resources.", + "locationName": "assets", + "shape": "__listOfAssetShallow" + }, + "NextToken": { + "documentation": "A token that can be used to resume pagination from the end of the collection.", + "locationName": "nextToken", + "shape": "__string" + } + }, + "type": "structure" + }, + "AssetShallow": { + "documentation": "A MediaPackage VOD Asset resource.", + "members": { + "Arn": { + "documentation": "The ARN of the Asset.", + "locationName": "arn", + "shape": "__string" + }, + "Id": { + "documentation": "The unique identifier for the Asset.", + "locationName": "id", + "shape": "__string" + }, + "PackagingGroupId": { + "documentation": "The ID of the PackagingGroup for the Asset.", + "locationName": "packagingGroupId", + "shape": "__string" + }, + "ResourceId": { + "documentation": "The resource ID to include in SPEKE key requests.", + "locationName": "resourceId", + "shape": "__string" + }, + "SourceArn": { + "documentation": "ARN of the source object in S3.", + "locationName": "sourceArn", + "shape": "__string" + }, + "SourceRoleArn": { + "documentation": "The IAM role ARN used to access the source S3 bucket.", + "locationName": "sourceRoleArn", + "shape": "__string" + } + }, + "type": "structure" + }, + "CmafEncryption": { + "documentation": "A CMAF encryption configuration.", + "members": { + "SpekeKeyProvider": { + "locationName": "spekeKeyProvider", + "shape": "SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "structure" + }, + "CmafPackage": { + "documentation": "A CMAF packaging configuration.", + "members": { + "Encryption": { + "locationName": "encryption", + "shape": "CmafEncryption" + }, + "HlsManifests": { + "documentation": "A list of HLS manifest configurations.", + "locationName": "hlsManifests", + "shape": "__listOfHlsManifest" + }, + "SegmentDurationSeconds": { + "documentation": "Duration (in seconds) of each fragment. Actual fragments will be\nrounded to the nearest multiple of the source fragment duration.\n", + "locationName": "segmentDurationSeconds", + "shape": "__integer" + } + }, + "required": [ + "HlsManifests" + ], + "type": "structure" + }, + "CreateAssetRequest": { + "documentation": "A new MediaPackage VOD Asset configuration.", + "members": { + "Id": { + "documentation": "The unique identifier for the Asset.", + "locationName": "id", + "shape": "__string" + }, + "PackagingGroupId": { + "documentation": "The ID of the PackagingGroup for the Asset.", + "locationName": "packagingGroupId", + "shape": "__string" + }, + "ResourceId": { + "documentation": "The resource ID to include in SPEKE key requests.", + "locationName": "resourceId", + "shape": "__string" + }, + "SourceArn": { + "documentation": "ARN of the source object in S3.", + "locationName": "sourceArn", + "shape": "__string" + }, + "SourceRoleArn": { + "documentation": "The IAM role ARN used to access the source S3 bucket.", + "locationName": "sourceRoleArn", + "shape": "__string" + } + }, + "required": [ + "SourceArn", + "Id", + "PackagingGroupId", + "SourceRoleArn" + ], + "type": "structure" + }, + "CreateAssetResponse": { + "members": { + "Arn": { + "documentation": "The ARN of the Asset.", + "locationName": "arn", + "shape": "__string" + }, + "EgressEndpoints": { + "documentation": "The list of egress endpoints available for the Asset.", + "locationName": "egressEndpoints", + "shape": "__listOfEgressEndpoint" + }, + "Id": { + "documentation": "The unique identifier for the Asset.", + "locationName": "id", + "shape": "__string" + }, + "PackagingGroupId": { + "documentation": "The ID of the PackagingGroup for the Asset.", + "locationName": "packagingGroupId", + "shape": "__string" + }, + "ResourceId": { + "documentation": "The resource ID to include in SPEKE key requests.", + "locationName": "resourceId", + "shape": "__string" + }, + "SourceArn": { + "documentation": "ARN of the source object in S3.", + "locationName": "sourceArn", + "shape": "__string" + }, + "SourceRoleArn": { + "documentation": "The IAM role_arn used to access the source S3 bucket.", + "locationName": "sourceRoleArn", + "shape": "__string" + } + }, + "type": "structure" + }, + "CreatePackagingConfigurationRequest": { + "documentation": "A new MediaPackage VOD PackagingConfiguration resource configuration.", + "members": { + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackage" + }, + "DashPackage": { + "locationName": "dashPackage", + "shape": "DashPackage" + }, + "HlsPackage": { + "locationName": "hlsPackage", + "shape": "HlsPackage" + }, + "Id": { + "documentation": "The ID of the PackagingConfiguration.", + "locationName": "id", + "shape": "__string" + }, + "MssPackage": { + "locationName": "mssPackage", + "shape": "MssPackage" + }, + "PackagingGroupId": { + "documentation": "The ID of a PackagingGroup.", + "locationName": "packagingGroupId", + "shape": "__string" + } + }, + "required": [ + "Id", + "PackagingGroupId" + ], + "type": "structure" + }, + "CreatePackagingConfigurationResponse": { + "members": { + "Arn": { + "documentation": "The ARN of the PackagingConfiguration.", + "locationName": "arn", + "shape": "__string" + }, + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackage" + }, + "DashPackage": { + "locationName": "dashPackage", + "shape": "DashPackage" + }, + "HlsPackage": { + "locationName": "hlsPackage", + "shape": "HlsPackage" + }, + "Id": { + "documentation": "The ID of the PackagingConfiguration.", + "locationName": "id", + "shape": "__string" + }, + "MssPackage": { + "locationName": "mssPackage", + "shape": "MssPackage" + }, + "PackagingGroupId": { + "documentation": "The ID of a PackagingGroup.", + "locationName": "packagingGroupId", + "shape": "__string" + } + }, + "type": "structure" + }, + "CreatePackagingGroupRequest": { + "documentation": "A new MediaPackage VOD PackagingGroup resource configuration.", + "members": { + "Id": { + "documentation": "The ID of the PackagingGroup.", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "CreatePackagingGroupResponse": { + "members": { + "Arn": { + "documentation": "The ARN of the PackagingGroup.", + "locationName": "arn", + "shape": "__string" + }, + "Id": { + "documentation": "The ID of the PackagingGroup.", + "locationName": "id", + "shape": "__string" + } + }, + "type": "structure" + }, + "DashEncryption": { + "documentation": "A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration.", + "members": { + "SpekeKeyProvider": { + "locationName": "spekeKeyProvider", + "shape": "SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "structure" + }, + "DashManifest": { + "documentation": "A DASH manifest configuration.", + "members": { + "ManifestName": { + "documentation": "An optional string to include in the name of the manifest.", + "locationName": "manifestName", + "shape": "__string" + }, + "MinBufferTimeSeconds": { + "documentation": "Minimum duration (in seconds) that a player will buffer media before starting the presentation.", + "locationName": "minBufferTimeSeconds", + "shape": "__integer" + }, + "Profile": { + "documentation": "The Dynamic Adaptive Streaming over HTTP (DASH) profile type. When set to \"HBBTV_1_5\", HbbTV 1.5 compliant output is enabled.", + "locationName": "profile", + "shape": "Profile" + }, + "StreamSelection": { + "locationName": "streamSelection", + "shape": "StreamSelection" + } + }, + "type": "structure" + }, + "DashPackage": { + "documentation": "A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.", + "members": { + "DashManifests": { + "documentation": "A list of DASH manifest configurations.", + "locationName": "dashManifests", + "shape": "__listOfDashManifest" + }, + "Encryption": { + "locationName": "encryption", + "shape": "DashEncryption" + }, + "SegmentDurationSeconds": { + "documentation": "Duration (in seconds) of each segment. Actual segments will be\nrounded to the nearest multiple of the source segment duration.\n", + "locationName": "segmentDurationSeconds", + "shape": "__integer" + } + }, + "required": [ + "DashManifests" + ], + "type": "structure" + }, + "DeleteAssetRequest": { + "members": { + "Id": { + "documentation": "The ID of the MediaPackage VOD Asset resource to delete.", + "location": "uri", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "DeleteAssetResponse": { + "members": {}, + "type": "structure" + }, + "DeletePackagingConfigurationRequest": { + "members": { + "Id": { + "documentation": "The ID of the MediaPackage VOD PackagingConfiguration resource to delete.", + "location": "uri", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "DeletePackagingConfigurationResponse": { + "members": {}, + "type": "structure" + }, + "DeletePackagingGroupRequest": { + "members": { + "Id": { + "documentation": "The ID of the MediaPackage VOD PackagingGroup resource to delete.", + "location": "uri", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "DeletePackagingGroupResponse": { + "members": {}, + "type": "structure" + }, + "DescribeAssetRequest": { + "members": { + "Id": { + "documentation": "The ID of an MediaPackage VOD Asset resource.", + "location": "uri", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "DescribeAssetResponse": { + "members": { + "Arn": { + "documentation": "The ARN of the Asset.", + "locationName": "arn", + "shape": "__string" + }, + "EgressEndpoints": { + "documentation": "The list of egress endpoints available for the Asset.", + "locationName": "egressEndpoints", + "shape": "__listOfEgressEndpoint" + }, + "Id": { + "documentation": "The unique identifier for the Asset.", + "locationName": "id", + "shape": "__string" + }, + "PackagingGroupId": { + "documentation": "The ID of the PackagingGroup for the Asset.", + "locationName": "packagingGroupId", + "shape": "__string" + }, + "ResourceId": { + "documentation": "The resource ID to include in SPEKE key requests.", + "locationName": "resourceId", + "shape": "__string" + }, + "SourceArn": { + "documentation": "ARN of the source object in S3.", + "locationName": "sourceArn", + "shape": "__string" + }, + "SourceRoleArn": { + "documentation": "The IAM role_arn used to access the source S3 bucket.", + "locationName": "sourceRoleArn", + "shape": "__string" + } + }, + "type": "structure" + }, + "DescribePackagingConfigurationRequest": { + "members": { + "Id": { + "documentation": "The ID of a MediaPackage VOD PackagingConfiguration resource.", + "location": "uri", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "DescribePackagingConfigurationResponse": { + "members": { + "Arn": { + "documentation": "The ARN of the PackagingConfiguration.", + "locationName": "arn", + "shape": "__string" + }, + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackage" + }, + "DashPackage": { + "locationName": "dashPackage", + "shape": "DashPackage" + }, + "HlsPackage": { + "locationName": "hlsPackage", + "shape": "HlsPackage" + }, + "Id": { + "documentation": "The ID of the PackagingConfiguration.", + "locationName": "id", + "shape": "__string" + }, + "MssPackage": { + "locationName": "mssPackage", + "shape": "MssPackage" + }, + "PackagingGroupId": { + "documentation": "The ID of a PackagingGroup.", + "locationName": "packagingGroupId", + "shape": "__string" + } + }, + "type": "structure" + }, + "DescribePackagingGroupRequest": { + "members": { + "Id": { + "documentation": "The ID of a MediaPackage VOD PackagingGroup resource.", + "location": "uri", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "DescribePackagingGroupResponse": { + "members": { + "Arn": { + "documentation": "The ARN of the PackagingGroup.", + "locationName": "arn", + "shape": "__string" + }, + "Id": { + "documentation": "The ID of the PackagingGroup.", + "locationName": "id", + "shape": "__string" + } + }, + "type": "structure" + }, + "EgressEndpoint": { + "documentation": "The endpoint URL used to access an Asset using one PackagingConfiguration.", + "members": { + "PackagingConfigurationId": { + "documentation": "The ID of the PackagingConfiguration being applied to the Asset.", + "locationName": "packagingConfigurationId", + "shape": "__string" + }, + "Url": { + "documentation": "The URL of the parent manifest for the repackaged Asset.", + "locationName": "url", + "shape": "__string" + } + }, + "type": "structure" + }, + "EncryptionMethod": { + "enum": [ + "AES_128", + "SAMPLE_AES" + ], + "type": "string" + }, + "ForbiddenException": { + "documentation": "The client is not authorized to access the requested resource.", + "error": { + "httpStatusCode": 403 + }, + "exception": true, + "members": { + "Message": { + "locationName": "message", + "shape": "__string" + } + }, + "type": "structure" + }, + "HlsEncryption": { + "documentation": "An HTTP Live Streaming (HLS) encryption configuration.", + "members": { + "EncryptionMethod": { + "documentation": "The encryption method to use.", + "locationName": "encryptionMethod", + "shape": "EncryptionMethod" + }, + "SpekeKeyProvider": { + "locationName": "spekeKeyProvider", + "shape": "SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "structure" + }, + "HlsManifest": { + "documentation": "An HTTP Live Streaming (HLS) manifest configuration.", + "members": { + "AdMarkers": { + "documentation": "This setting controls how ad markers are included in the packaged OriginEndpoint.\n\"NONE\" will omit all SCTE-35 ad markers from the output.\n\"PASSTHROUGH\" causes the manifest to contain a copy of the SCTE-35 ad\nmarkers (comments) taken directly from the input HTTP Live Streaming (HLS) manifest.\n\"SCTE35_ENHANCED\" generates ad markers and blackout tags based on SCTE-35\nmessages in the input source.\n", + "locationName": "adMarkers", + "shape": "AdMarkers" + }, + "IncludeIframeOnlyStream": { + "documentation": "When enabled, an I-Frame only stream will be included in the output.", + "locationName": "includeIframeOnlyStream", + "shape": "__boolean" + }, + "ManifestName": { + "documentation": "An optional string to include in the name of the manifest.", + "locationName": "manifestName", + "shape": "__string" + }, + "ProgramDateTimeIntervalSeconds": { + "documentation": "The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME tag\ninserted into manifests. Additionally, when an interval is specified\nID3Timed Metadata messages will be generated every 5 seconds using the\ningest time of the content.\nIf the interval is not specified, or set to 0, then\nno EXT-X-PROGRAM-DATE-TIME tags will be inserted into manifests and no\nID3Timed Metadata messages will be generated. Note that irrespective\nof this parameter, if any ID3 Timed Metadata is found in HTTP Live Streaming (HLS) input,\nit will be passed through to HLS output.\n", + "locationName": "programDateTimeIntervalSeconds", + "shape": "__integer" + }, + "RepeatExtXKey": { + "documentation": "When enabled, the EXT-X-KEY tag will be repeated in output manifests.", + "locationName": "repeatExtXKey", + "shape": "__boolean" + }, + "StreamSelection": { + "locationName": "streamSelection", + "shape": "StreamSelection" + } + }, + "type": "structure" + }, + "HlsPackage": { + "documentation": "An HTTP Live Streaming (HLS) packaging configuration.", + "members": { + "Encryption": { + "locationName": "encryption", + "shape": "HlsEncryption" + }, + "HlsManifests": { + "documentation": "A list of HLS manifest configurations.", + "locationName": "hlsManifests", + "shape": "__listOfHlsManifest" + }, + "SegmentDurationSeconds": { + "documentation": "Duration (in seconds) of each fragment. Actual fragments will be\nrounded to the nearest multiple of the source fragment duration.\n", + "locationName": "segmentDurationSeconds", + "shape": "__integer" + }, + "UseAudioRenditionGroup": { + "documentation": "When enabled, audio streams will be placed in rendition groups in the output.", + "locationName": "useAudioRenditionGroup", + "shape": "__boolean" + } + }, + "required": [ + "HlsManifests" + ], + "type": "structure" + }, + "InternalServerErrorException": { + "documentation": "An unexpected error occurred.", + "error": { + "httpStatusCode": 500 + }, + "exception": true, + "members": { + "Message": { + "locationName": "message", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListAssetsRequest": { + "members": { + "MaxResults": { + "documentation": "Upper bound on number of records to return.", + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" + }, + "NextToken": { + "documentation": "A token used to resume pagination from the end of a previous request.", + "location": "querystring", + "locationName": "nextToken", + "shape": "__string" + }, + "PackagingGroupId": { + "documentation": "Returns Assets associated with the specified PackagingGroup.", + "location": "querystring", + "locationName": "packagingGroupId", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListAssetsResponse": { + "members": { + "Assets": { + "documentation": "A list of MediaPackage VOD Asset resources.", + "locationName": "assets", + "shape": "__listOfAssetShallow" + }, + "NextToken": { + "documentation": "A token that can be used to resume pagination from the end of the collection.", + "locationName": "nextToken", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListPackagingConfigurationsRequest": { + "members": { + "MaxResults": { + "documentation": "Upper bound on number of records to return.", + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" + }, + "NextToken": { + "documentation": "A token used to resume pagination from the end of a previous request.", + "location": "querystring", + "locationName": "nextToken", + "shape": "__string" + }, + "PackagingGroupId": { + "documentation": "Returns MediaPackage VOD PackagingConfigurations associated with the specified PackagingGroup.", + "location": "querystring", + "locationName": "packagingGroupId", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListPackagingConfigurationsResponse": { + "members": { + "NextToken": { + "documentation": "A token that can be used to resume pagination from the end of the collection.", + "locationName": "nextToken", + "shape": "__string" + }, + "PackagingConfigurations": { + "documentation": "A list of MediaPackage VOD PackagingConfiguration resources.", + "locationName": "packagingConfigurations", + "shape": "__listOfPackagingConfiguration" + } + }, + "type": "structure" + }, + "ListPackagingGroupsRequest": { + "members": { + "MaxResults": { + "documentation": "Upper bound on number of records to return.", + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" + }, + "NextToken": { + "documentation": "A token used to resume pagination from the end of a previous request.", + "location": "querystring", + "locationName": "nextToken", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListPackagingGroupsResponse": { + "members": { + "NextToken": { + "documentation": "A token that can be used to resume pagination from the end of the collection.", + "locationName": "nextToken", + "shape": "__string" + }, + "PackagingGroups": { + "documentation": "A list of MediaPackage VOD PackagingGroup resources.", + "locationName": "packagingGroups", + "shape": "__listOfPackagingGroup" + } + }, + "type": "structure" + }, + "MaxResults": { + "max": 1000, + "min": 1, + "type": "integer" + }, + "MssEncryption": { + "documentation": "A Microsoft Smooth Streaming (MSS) encryption configuration.", + "members": { + "SpekeKeyProvider": { + "locationName": "spekeKeyProvider", + "shape": "SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "structure" + }, + "MssManifest": { + "documentation": "A Microsoft Smooth Streaming (MSS) manifest configuration.", + "members": { + "ManifestName": { + "documentation": "An optional string to include in the name of the manifest.", + "locationName": "manifestName", + "shape": "__string" + }, + "StreamSelection": { + "locationName": "streamSelection", + "shape": "StreamSelection" + } + }, + "type": "structure" + }, + "MssPackage": { + "documentation": "A Microsoft Smooth Streaming (MSS) PackagingConfiguration.", + "members": { + "Encryption": { + "locationName": "encryption", + "shape": "MssEncryption" + }, + "MssManifests": { + "documentation": "A list of MSS manifest configurations.", + "locationName": "mssManifests", + "shape": "__listOfMssManifest" + }, + "SegmentDurationSeconds": { + "documentation": "The duration (in seconds) of each segment.", + "locationName": "segmentDurationSeconds", + "shape": "__integer" + } + }, + "required": [ + "MssManifests" + ], + "type": "structure" + }, + "NotFoundException": { + "documentation": "The requested resource does not exist.", + "error": { + "httpStatusCode": 404 + }, + "exception": true, + "members": { + "Message": { + "locationName": "message", + "shape": "__string" + } + }, + "type": "structure" + }, + "PackagingConfiguration": { + "documentation": "A MediaPackage VOD PackagingConfiguration resource.", + "members": { + "Arn": { + "documentation": "The ARN of the PackagingConfiguration.", + "locationName": "arn", + "shape": "__string" + }, + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackage" + }, + "DashPackage": { + "locationName": "dashPackage", + "shape": "DashPackage" + }, + "HlsPackage": { + "locationName": "hlsPackage", + "shape": "HlsPackage" + }, + "Id": { + "documentation": "The ID of the PackagingConfiguration.", + "locationName": "id", + "shape": "__string" + }, + "MssPackage": { + "locationName": "mssPackage", + "shape": "MssPackage" + }, + "PackagingGroupId": { + "documentation": "The ID of a PackagingGroup.", + "locationName": "packagingGroupId", + "shape": "__string" + } + }, + "type": "structure" + }, + "PackagingConfigurationCreateParameters": { + "documentation": "Parameters used to create a new MediaPackage VOD PackagingConfiguration resource.", + "members": { + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackage" + }, + "DashPackage": { + "locationName": "dashPackage", + "shape": "DashPackage" + }, + "HlsPackage": { + "locationName": "hlsPackage", + "shape": "HlsPackage" + }, + "Id": { + "documentation": "The ID of the PackagingConfiguration.", + "locationName": "id", + "shape": "__string" + }, + "MssPackage": { + "locationName": "mssPackage", + "shape": "MssPackage" + }, + "PackagingGroupId": { + "documentation": "The ID of a PackagingGroup.", + "locationName": "packagingGroupId", + "shape": "__string" + } + }, + "required": [ + "Id", + "PackagingGroupId" + ], + "type": "structure" + }, + "PackagingConfigurationList": { + "documentation": "A collection of MediaPackage VOD PackagingConfiguration resources.", + "members": { + "NextToken": { + "documentation": "A token that can be used to resume pagination from the end of the collection.", + "locationName": "nextToken", + "shape": "__string" + }, + "PackagingConfigurations": { + "documentation": "A list of MediaPackage VOD PackagingConfiguration resources.", + "locationName": "packagingConfigurations", + "shape": "__listOfPackagingConfiguration" + } + }, + "type": "structure" + }, + "PackagingGroup": { + "documentation": "A MediaPackage VOD PackagingGroup resource.", + "members": { + "Arn": { + "documentation": "The ARN of the PackagingGroup.", + "locationName": "arn", + "shape": "__string" + }, + "Id": { + "documentation": "The ID of the PackagingGroup.", + "locationName": "id", + "shape": "__string" + } + }, + "type": "structure" + }, + "PackagingGroupCreateParameters": { + "documentation": "Parameters used to create a new MediaPackage VOD PackagingGroup resource.", + "members": { + "Id": { + "documentation": "The ID of the PackagingGroup.", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "PackagingGroupList": { + "documentation": "A collection of MediaPackage VOD PackagingGroup resources.", + "members": { + "NextToken": { + "documentation": "A token that can be used to resume pagination from the end of the collection.", + "locationName": "nextToken", + "shape": "__string" + }, + "PackagingGroups": { + "documentation": "A list of MediaPackage VOD PackagingGroup resources.", + "locationName": "packagingGroups", + "shape": "__listOfPackagingGroup" + } + }, + "type": "structure" + }, + "Profile": { + "enum": [ + "NONE", + "HBBTV_1_5" + ], + "type": "string" + }, + "ServiceUnavailableException": { + "documentation": "An unexpected error occurred.", + "error": { + "httpStatusCode": 503 + }, + "exception": true, + "members": { + "Message": { + "locationName": "message", + "shape": "__string" + } + }, + "type": "structure" + }, + "SpekeKeyProvider": { + "documentation": "A configuration for accessing an external Secure Packager and Encoder Key Exchange (SPEKE) service that will provide encryption keys.", + "members": { + "RoleArn": { + "documentation": "An Amazon Resource Name (ARN) of an IAM role that AWS Elemental\nMediaPackage will assume when accessing the key provider service.\n", + "locationName": "roleArn", + "shape": "__string" + }, + "SystemIds": { + "documentation": "The system IDs to include in key requests.", + "locationName": "systemIds", + "shape": "__listOf__string" + }, + "Url": { + "documentation": "The URL of the external key provider service.", + "locationName": "url", + "shape": "__string" + } + }, + "required": [ + "SystemIds", + "Url", + "RoleArn" + ], + "type": "structure" + }, + "StreamOrder": { + "enum": [ + "ORIGINAL", + "VIDEO_BITRATE_ASCENDING", + "VIDEO_BITRATE_DESCENDING" + ], + "type": "string" + }, + "StreamSelection": { + "documentation": "A StreamSelection configuration.", + "members": { + "MaxVideoBitsPerSecond": { + "documentation": "The maximum video bitrate (bps) to include in output.", + "locationName": "maxVideoBitsPerSecond", + "shape": "__integer" + }, + "MinVideoBitsPerSecond": { + "documentation": "The minimum video bitrate (bps) to include in output.", + "locationName": "minVideoBitsPerSecond", + "shape": "__integer" + }, + "StreamOrder": { + "documentation": "A directive that determines the order of streams in the output.", + "locationName": "streamOrder", + "shape": "StreamOrder" + } + }, + "type": "structure" + }, + "TooManyRequestsException": { + "documentation": "The client has exceeded their resource or throttling limits.", + "error": { + "httpStatusCode": 429 + }, + "exception": true, + "members": { + "Message": { + "locationName": "message", + "shape": "__string" + } + }, + "type": "structure" + }, + "UnprocessableEntityException": { + "documentation": "The parameters sent in the request are not valid.", + "error": { + "httpStatusCode": 422 + }, + "exception": true, + "members": { + "Message": { + "locationName": "message", + "shape": "__string" + } + }, + "type": "structure" + }, + "__boolean": { + "type": "boolean" + }, + "__double": { + "type": "double" + }, + "__integer": { + "type": "integer" + }, + "__listOfAssetShallow": { + "member": { + "shape": "AssetShallow" + }, + "type": "list" + }, + "__listOfDashManifest": { + "member": { + "shape": "DashManifest" + }, + "type": "list" + }, + "__listOfEgressEndpoint": { + "member": { + "shape": "EgressEndpoint" + }, + "type": "list" + }, + "__listOfHlsManifest": { + "member": { + "shape": "HlsManifest" + }, + "type": "list" + }, + "__listOfMssManifest": { + "member": { + "shape": "MssManifest" + }, + "type": "list" + }, + "__listOfPackagingConfiguration": { + "member": { + "shape": "PackagingConfiguration" + }, + "type": "list" + }, + "__listOfPackagingGroup": { + "member": { + "shape": "PackagingGroup" + }, + "type": "list" + }, + "__listOf__string": { + "member": { + "shape": "__string" + }, + "type": "list" + }, + "__long": { + "type": "long" + }, + "__string": { + "type": "string" + } + } +} \ No newline at end of file diff --git a/bin/botocore/data/mediapackage/2017-10-12/service-2.json b/bin/botocore/data/mediapackage/2017-10-12/service-2.json index 2f8693b6..8d12918e 100644 --- a/bin/botocore/data/mediapackage/2017-10-12/service-2.json +++ b/bin/botocore/data/mediapackage/2017-10-12/service-2.json @@ -301,6 +301,22 @@ "shape": "ListOriginEndpointsResponse" } }, + "ListTagsForResource": { + "errors": [], + "http": { + "method": "GET", + "requestUri": "/tags/{resource-arn}", + "responseCode": 200 + }, + "input": { + "shape": "ListTagsForResourceRequest" + }, + "name": "ListTagsForResource", + "output": { + "documentation": "200 response", + "shape": "ListTagsForResourceResponse" + } + }, "RotateChannelCredentials": { "deprecated": true, "deprecatedMessage": "This API is deprecated. Please use RotateIngestEndpointCredentials instead", @@ -375,6 +391,30 @@ "shape": "RotateIngestEndpointCredentialsResponse" } }, + "TagResource": { + "errors": [], + "http": { + "method": "POST", + "requestUri": "/tags/{resource-arn}", + "responseCode": 204 + }, + "input": { + "shape": "TagResourceRequest" + }, + "name": "TagResource" + }, + "UntagResource": { + "errors": [], + "http": { + "method": "DELETE", + "requestUri": "/tags/{resource-arn}", + "responseCode": 204 + }, + "input": { + "shape": "UntagResourceRequest" + }, + "name": "UntagResource" + }, "UpdateChannel": { "documentation": "Updates an existing Channel.", "errors": [ @@ -478,6 +518,10 @@ "documentation": "The ID of the Channel.", "locationName": "id", "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" } }, "type": "structure" @@ -494,6 +538,10 @@ "documentation": "The ID of the Channel. The ID must be unique within the region and it\ncannot be changed after a Channel is created.\n", "locationName": "id", "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" } }, "required": [ @@ -616,6 +664,10 @@ "documentation": "The ID of the Channel. The ID must be unique within the region and it\ncannot be changed after a Channel is created.\n", "locationName": "id", "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" } }, "required": [ @@ -643,6 +695,10 @@ "documentation": "The ID of the Channel.", "locationName": "id", "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" } }, "type": "structure" @@ -691,6 +747,10 @@ "locationName": "startoverWindowSeconds", "shape": "__integer" }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + }, "TimeDelaySeconds": { "documentation": "Amount of delay (seconds) to enforce on the playback of live content.\nIf not specified, there will be no time delay in effect for the OriginEndpoint.\n", "locationName": "timeDelaySeconds", @@ -756,6 +816,10 @@ "locationName": "startoverWindowSeconds", "shape": "__integer" }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + }, "TimeDelaySeconds": { "documentation": "Amount of delay (seconds) to enforce on the playback of live content.\nIf not specified, there will be no time delay in effect for the OriginEndpoint.\n", "locationName": "timeDelaySeconds", @@ -799,6 +863,11 @@ "locationName": "encryption", "shape": "DashEncryption" }, + "ManifestLayout": { + "documentation": "Determines the position of some tags in the Media Presentation Description (MPD). When set to FULL, elements like SegmentTemplate and ContentProtection are included in each Representation. When set to COMPACT, duplicate elements are combined and presented at the AdaptationSet level.", + "locationName": "manifestLayout", + "shape": "ManifestLayout" + }, "ManifestWindowSeconds": { "documentation": "Time window (in seconds) contained in each manifest.", "locationName": "manifestWindowSeconds", @@ -829,6 +898,11 @@ "locationName": "segmentDurationSeconds", "shape": "__integer" }, + "SegmentTemplateFormat": { + "documentation": "Determines the type of SegmentTemplate included in the Media Presentation Description (MPD). When set to NUMBER_WITH_TIMELINE, a full timeline is presented in each SegmentTemplate, with $Number$ media URLs. When set to TIME_WITH_TIMELINE, a full timeline is presented in each SegmentTemplate, with $Time$ media URLs. When set to NUMBER_WITH_DURATION, only a duration is included in each SegmentTemplate, with $Number$ media URLs.", + "locationName": "segmentTemplateFormat", + "shape": "SegmentTemplateFormat" + }, "StreamSelection": { "locationName": "streamSelection", "shape": "StreamSelection" @@ -911,6 +985,10 @@ "documentation": "The ID of the Channel.", "locationName": "id", "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" } }, "type": "structure" @@ -977,6 +1055,10 @@ "locationName": "startoverWindowSeconds", "shape": "__integer" }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + }, "TimeDelaySeconds": { "documentation": "Amount of delay (seconds) to enforce on the playback of live content.\nIf not specified, there will be no time delay in effect for the OriginEndpoint.\n", "locationName": "timeDelaySeconds", @@ -1312,6 +1394,35 @@ }, "type": "structure" }, + "ListTagsForResourceRequest": { + "members": { + "ResourceArn": { + "location": "uri", + "locationName": "resource-arn", + "shape": "__string" + } + }, + "required": [ + "ResourceArn" + ], + "type": "structure" + }, + "ListTagsForResourceResponse": { + "members": { + "Tags": { + "locationName": "tags", + "shape": "__mapOf__string" + } + }, + "type": "structure" + }, + "ManifestLayout": { + "enum": [ + "FULL", + "COMPACT" + ], + "type": "string" + }, "MaxResults": { "max": 1000, "min": 1, @@ -1417,6 +1528,10 @@ "locationName": "startoverWindowSeconds", "shape": "__integer" }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + }, "TimeDelaySeconds": { "documentation": "Amount of delay (seconds) to enforce on the playback of live content.\nIf not specified, there will be no time delay in effect for the OriginEndpoint.\n", "locationName": "timeDelaySeconds", @@ -1479,6 +1594,10 @@ "locationName": "startoverWindowSeconds", "shape": "__integer" }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + }, "TimeDelaySeconds": { "documentation": "Amount of delay (seconds) to enforce on the playback of live content.\nIf not specified, there will be no time delay in effect for the OriginEndpoint.\n", "locationName": "timeDelaySeconds", @@ -1610,6 +1729,10 @@ "documentation": "The ID of the Channel.", "locationName": "id", "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" } }, "type": "structure" @@ -1655,10 +1778,22 @@ "documentation": "The ID of the Channel.", "locationName": "id", "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" } }, "type": "structure" }, + "SegmentTemplateFormat": { + "enum": [ + "NUMBER_WITH_TIMELINE", + "TIME_WITH_TIMELINE", + "NUMBER_WITH_DURATION" + ], + "type": "string" + }, "ServiceUnavailableException": { "documentation": "An unexpected error occurred.", "error": { @@ -1739,6 +1874,46 @@ }, "type": "structure" }, + "TagResourceRequest": { + "members": { + "ResourceArn": { + "location": "uri", + "locationName": "resource-arn", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "__mapOf__string" + } + }, + "required": [ + "ResourceArn", + "Tags" + ], + "type": "structure" + }, + "Tags": { + "documentation": "A collection of tags associated with a resource", + "key": { + "shape": "__string" + }, + "type": "map", + "value": { + "shape": "__string" + } + }, + "TagsModel": { + "members": { + "Tags": { + "locationName": "tags", + "shape": "__mapOf__string" + } + }, + "required": [ + "Tags" + ], + "type": "structure" + }, "TooManyRequestsException": { "documentation": "The client has exceeded their resource or throttling limits.", "error": { @@ -1767,6 +1942,26 @@ }, "type": "structure" }, + "UntagResourceRequest": { + "members": { + "ResourceArn": { + "location": "uri", + "locationName": "resource-arn", + "shape": "__string" + }, + "TagKeys": { + "documentation": "The key(s) of tag to be deleted", + "location": "querystring", + "locationName": "tagKeys", + "shape": "__listOf__string" + } + }, + "required": [ + "TagKeys", + "ResourceArn" + ], + "type": "structure" + }, "UpdateChannelRequest": { "documentation": "Configuration parameters used to update the Channel.", "members": { @@ -1807,6 +2002,10 @@ "documentation": "The ID of the Channel.", "locationName": "id", "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" } }, "type": "structure" @@ -1915,6 +2114,10 @@ "locationName": "startoverWindowSeconds", "shape": "__integer" }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + }, "TimeDelaySeconds": { "documentation": "Amount of delay (seconds) to enforce on the playback of live content.\nIf not specified, there will be no time delay in effect for the OriginEndpoint.\n", "locationName": "timeDelaySeconds", @@ -1993,8 +2196,17 @@ "__long": { "type": "long" }, + "__mapOf__string": { + "key": { + "shape": "__string" + }, + "type": "map", + "value": { + "shape": "__string" + } + }, "__string": { "type": "string" } } -} \ No newline at end of file +} diff --git a/bin/botocore/data/mediastore-data/2017-09-01/paginators-1.json b/bin/botocore/data/mediastore-data/2017-09-01/paginators-1.json index ea142457..7b1c0f7e 100644 --- a/bin/botocore/data/mediastore-data/2017-09-01/paginators-1.json +++ b/bin/botocore/data/mediastore-data/2017-09-01/paginators-1.json @@ -1,3 +1,10 @@ { - "pagination": {} + "pagination": { + "ListItems": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Items" + } + } } diff --git a/bin/botocore/data/mediastore-data/2017-09-01/service-2.json b/bin/botocore/data/mediastore-data/2017-09-01/service-2.json index 83685853..960e523f 100644 --- a/bin/botocore/data/mediastore-data/2017-09-01/service-2.json +++ b/bin/botocore/data/mediastore-data/2017-09-01/service-2.json @@ -56,7 +56,7 @@ {"shape":"RequestedRangeNotSatisfiableException"}, {"shape":"InternalServerError"} ], - "documentation":"

Downloads the object at the specified path.

" + "documentation":"

Downloads the object at the specified path. If the object’s upload availability is set to streaming, AWS Elemental MediaStore downloads the object even if it’s still uploading the object.

" }, "ListItems":{ "name":"ListItems", @@ -84,7 +84,7 @@ {"shape":"ContainerNotFoundException"}, {"shape":"InternalServerError"} ], - "documentation":"

Uploads an object to the specified path. Object sizes are limited to 25 MB.

", + "documentation":"

Uploads an object to the specified path. Object sizes are limited to 25 MB for standard upload availability and 10 MB for streaming upload availability.

", "authtype":"v4-unsigned-body" } }, @@ -194,7 +194,7 @@ }, "Range":{ "shape":"RangePattern", - "documentation":"

The range bytes of an object to retrieve. For more information about the Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.

", + "documentation":"

The range bytes of an object to retrieve. For more information about the Range header, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. AWS Elemental MediaStore ignores this header for partially uploaded objects that have streaming upload availability.

", "location":"header", "locationName":"Range" } @@ -411,6 +411,12 @@ "documentation":"

Indicates the storage class of a Put request. Defaults to high-performance temporal storage class, and objects are persisted into durable storage shortly after being received.

", "location":"header", "locationName":"x-amz-storage-class" + }, + "UploadAvailability":{ + "shape":"UploadAvailability", + "documentation":"

Indicates the availability of an object while it is still uploading. If the value is set to streaming, the object is available for downloading after some initial buffering but before the object is uploaded completely. If the value is set to standard, the object is available for downloading only when it is uploaded completely. The default value for this header is standard.

To use this header, you must also set the HTTP Transfer-Encoding header to chunked.

", + "location":"header", + "locationName":"x-amz-upload-availability" } }, "payload":"Body" @@ -459,6 +465,15 @@ }, "StringPrimitive":{"type":"string"}, "TimeStamp":{"type":"timestamp"}, + "UploadAvailability":{ + "type":"string", + "enum":[ + "STANDARD", + "STREAMING" + ], + "max":16, + "min":1 + }, "statusCode":{"type":"integer"} }, "documentation":"

An AWS Elemental MediaStore asset is an object, similar to an object in the Amazon S3 service. Objects are the fundamental entities that are stored in AWS Elemental MediaStore.

" diff --git a/bin/botocore/data/mediastore/2017-09-01/paginators-1.json b/bin/botocore/data/mediastore/2017-09-01/paginators-1.json index ea142457..ed3ece02 100644 --- a/bin/botocore/data/mediastore/2017-09-01/paginators-1.json +++ b/bin/botocore/data/mediastore/2017-09-01/paginators-1.json @@ -1,3 +1,10 @@ { - "pagination": {} + "pagination": { + "ListContainers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Containers" + } + } } diff --git a/bin/botocore/data/mediastore/2017-09-01/service-2.json b/bin/botocore/data/mediastore/2017-09-01/service-2.json index 4e2ce7ec..bcf6e470 100644 --- a/bin/botocore/data/mediastore/2017-09-01/service-2.json +++ b/bin/botocore/data/mediastore/2017-09-01/service-2.json @@ -76,6 +76,22 @@ ], "documentation":"

Deletes the cross-origin resource sharing (CORS) configuration information that is set for the container.

To use this operation, you must have permission to perform the MediaStore:DeleteCorsPolicy action. The container owner has this permission by default and can grant this permission to others.

" }, + "DeleteLifecyclePolicy":{ + "name":"DeleteLifecyclePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteLifecyclePolicyInput"}, + "output":{"shape":"DeleteLifecyclePolicyOutput"}, + "errors":[ + {"shape":"ContainerInUseException"}, + {"shape":"ContainerNotFoundException"}, + {"shape":"PolicyNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Removes an object lifecycle policy from a container. It takes up to 20 minutes for the change to take effect.

" + }, "DescribeContainer":{ "name":"DescribeContainer", "http":{ @@ -122,6 +138,22 @@ ], "documentation":"

Returns the cross-origin resource sharing (CORS) configuration information that is set for the container.

To use this operation, you must have permission to perform the MediaStore:GetCorsPolicy action. By default, the container owner has this permission and can grant it to others.

" }, + "GetLifecyclePolicy":{ + "name":"GetLifecyclePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetLifecyclePolicyInput"}, + "output":{"shape":"GetLifecyclePolicyOutput"}, + "errors":[ + {"shape":"ContainerInUseException"}, + {"shape":"ContainerNotFoundException"}, + {"shape":"PolicyNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Retrieves the object lifecycle policy that is assigned to a container.

" + }, "ListContainers":{ "name":"ListContainers", "http":{ @@ -163,7 +195,52 @@ {"shape":"ContainerInUseException"}, {"shape":"InternalServerError"} ], - "documentation":"

Sets the cross-origin resource sharing (CORS) configuration on a container so that the container can service cross-origin requests. For example, you might want to enable a request whose origin is http://www.example.com to access your AWS Elemental MediaStore container at my.example.container.com by using the browser's XMLHttpRequest capability.

To enable CORS on a container, you attach a CORS policy to the container. In the CORS policy, you configure rules that identify origins and the HTTP methods that can be executed on your container. The policy can contain up to 398,000 characters. You can add up to 100 rules to a CORS policy. If more than one rule applies, the service uses the first applicable rule listed.

" + "documentation":"

Sets the cross-origin resource sharing (CORS) configuration on a container so that the container can service cross-origin requests. For example, you might want to enable a request whose origin is http://www.example.com to access your AWS Elemental MediaStore container at my.example.container.com by using the browser's XMLHttpRequest capability.

To enable CORS on a container, you attach a CORS policy to the container. In the CORS policy, you configure rules that identify origins and the HTTP methods that can be executed on your container. The policy can contain up to 398,000 characters. You can add up to 100 rules to a CORS policy. If more than one rule applies, the service uses the first applicable rule listed.

To learn more about CORS, see Cross-Origin Resource Sharing (CORS) in AWS Elemental MediaStore.

" + }, + "PutLifecyclePolicy":{ + "name":"PutLifecyclePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutLifecyclePolicyInput"}, + "output":{"shape":"PutLifecyclePolicyOutput"}, + "errors":[ + {"shape":"ContainerInUseException"}, + {"shape":"ContainerNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Writes an object lifecycle policy to a container. If the container already has an object lifecycle policy, the service replaces the existing policy with the new policy. It takes up to 20 minutes for the change to take effect.

For information about how to construct an object lifecycle policy, see Components of an Object Lifecycle Policy.

" + }, + "StartAccessLogging":{ + "name":"StartAccessLogging", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartAccessLoggingInput"}, + "output":{"shape":"StartAccessLoggingOutput"}, + "errors":[ + {"shape":"ContainerInUseException"}, + {"shape":"ContainerNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Starts access logging on the specified container. When you enable access logging on a container, MediaStore delivers access logs for objects stored in that container to Amazon CloudWatch Logs.

" + }, + "StopAccessLogging":{ + "name":"StopAccessLogging", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopAccessLoggingInput"}, + "output":{"shape":"StopAccessLoggingOutput"}, + "errors":[ + {"shape":"ContainerInUseException"}, + {"shape":"ContainerNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Stops access logging on the specified container. When you stop access logging on a container, MediaStore stops sending access logs to Amazon CloudWatch Logs. These access logs are not saved and are not retrievable.

" } }, "shapes":{ @@ -175,11 +252,15 @@ }, "AllowedMethods":{ "type":"list", - "member":{"shape":"MethodName"} + "member":{"shape":"MethodName"}, + "max":4, + "min":1 }, "AllowedOrigins":{ "type":"list", - "member":{"shape":"Origin"} + "member":{"shape":"Origin"}, + "max":100, + "min":1 }, "Container":{ "type":"structure", @@ -203,6 +284,10 @@ "Status":{ "shape":"ContainerStatus", "documentation":"

The status of container creation or deletion. The status is one of the following: CREATING, ACTIVE, or DELETING. While the service is creating the container, the status is CREATING. When the endpoint is available, the status changes to ACTIVE.

" + }, + "AccessLoggingEnabled":{ + "shape":"ContainerAccessLoggingEnabled", + "documentation":"

The state of access logging on the container. This value is false by default, indicating that AWS Elemental MediaStore does not send access logs to Amazon CloudWatch Logs. When you enable access logging on the container, MediaStore changes this value to true, indicating that the service delivers access logs for objects stored in that container to CloudWatch Logs.

" } }, "documentation":"

This section describes operations that you can perform on an AWS Elemental MediaStore container.

" @@ -213,12 +298,13 @@ "min":1, "pattern":"arn:aws:mediastore:[a-z]+-[a-z]+-\\d:\\d{12}:container/\\w{1,255}" }, + "ContainerAccessLoggingEnabled":{"type":"boolean"}, "ContainerInUseException":{ "type":"structure", "members":{ "Message":{"shape":"ErrorMessage"} }, - "documentation":"

Resource already exists or is being updated.

", + "documentation":"

The container that you specified in the request already exists or is being updated.

", "exception":true }, "ContainerList":{ @@ -234,14 +320,14 @@ "type":"string", "max":255, "min":1, - "pattern":"\\w+" + "pattern":"[\\w-]+" }, "ContainerNotFoundException":{ "type":"structure", "members":{ "Message":{"shape":"ErrorMessage"} }, - "documentation":"

Could not perform an operation on a container that does not exist.

", + "documentation":"

The container that you specified in the request does not exist.

", "exception":true }, "ContainerPolicy":{ @@ -272,19 +358,23 @@ "members":{ "Message":{"shape":"ErrorMessage"} }, - "documentation":"

Could not perform an operation on a policy that does not exist.

", + "documentation":"

The CORS policy that you specified in the request does not exist.

", "exception":true }, "CorsRule":{ "type":"structure", + "required":[ + "AllowedOrigins", + "AllowedHeaders" + ], "members":{ "AllowedOrigins":{ "shape":"AllowedOrigins", - "documentation":"

One or more response headers that you want users to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).

Each CORS rule must have at least one AllowedOrigin element. The string value can include only one wildcard character (*), for example, http://*.example.com. Additionally, you can specify only one wildcard character to allow cross-origin access for all origins.

" + "documentation":"

One or more response headers that you want users to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).

Each CORS rule must have at least one AllowedOrigins element. The string value can include only one wildcard character (*), for example, http://*.example.com. Additionally, you can specify only one wildcard character to allow cross-origin access for all origins.

" }, "AllowedMethods":{ "shape":"AllowedMethods", - "documentation":"

Identifies an HTTP method that the origin that is specified in the rule is allowed to execute.

Each CORS rule must contain at least one AllowedMethod and one AllowedOrigin element.

" + "documentation":"

Identifies an HTTP method that the origin that is specified in the rule is allowed to execute.

Each CORS rule must contain at least one AllowedMethods and one AllowedOrigins element.

" }, "AllowedHeaders":{ "shape":"AllowedHeaders", @@ -366,6 +456,21 @@ "members":{ } }, + "DeleteLifecyclePolicyInput":{ + "type":"structure", + "required":["ContainerName"], + "members":{ + "ContainerName":{ + "shape":"ContainerName", + "documentation":"

The name of the container that holds the object lifecycle policy.

" + } + } + }, + "DeleteLifecyclePolicyOutput":{ + "type":"structure", + "members":{ + } + }, "DescribeContainerInput":{ "type":"structure", "members":{ @@ -435,7 +540,30 @@ "type":"structure", "required":["CorsPolicy"], "members":{ - "CorsPolicy":{"shape":"CorsPolicy"} + "CorsPolicy":{ + "shape":"CorsPolicy", + "documentation":"

The CORS policy assigned to the container.

" + } + } + }, + "GetLifecyclePolicyInput":{ + "type":"structure", + "required":["ContainerName"], + "members":{ + "ContainerName":{ + "shape":"ContainerName", + "documentation":"

The name of the container that the object lifecycle policy is assigned to.

" + } + } + }, + "GetLifecyclePolicyOutput":{ + "type":"structure", + "required":["LifecyclePolicy"], + "members":{ + "LifecyclePolicy":{ + "shape":"LifecyclePolicy", + "documentation":"

The object lifecycle policy that is assigned to the container.

" + } } }, "Header":{ @@ -453,6 +581,12 @@ "exception":true, "fault":true }, + "LifecyclePolicy":{ + "type":"string", + "max":8192, + "min":0, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+" + }, "LimitExceededException":{ "type":"structure", "members":{ @@ -504,11 +638,13 @@ }, "Origin":{ "type":"string", + "max":2048, + "min":1, "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+" }, "PaginationToken":{ "type":"string", - "max":255, + "max":1024, "min":1, "pattern":"[0-9A-Za-z=/+]+" }, @@ -517,7 +653,7 @@ "members":{ "Message":{"shape":"ErrorMessage"} }, - "documentation":"

Could not perform an operation on a policy that does not exist.

", + "documentation":"

The policy that you specified in the request does not exist.

", "exception":true }, "PutContainerPolicyInput":{ @@ -564,6 +700,58 @@ "members":{ } }, + "PutLifecyclePolicyInput":{ + "type":"structure", + "required":[ + "ContainerName", + "LifecyclePolicy" + ], + "members":{ + "ContainerName":{ + "shape":"ContainerName", + "documentation":"

The name of the container that you want to assign the object lifecycle policy to.

" + }, + "LifecyclePolicy":{ + "shape":"LifecyclePolicy", + "documentation":"

The object lifecycle policy to apply to the container.

" + } + } + }, + "PutLifecyclePolicyOutput":{ + "type":"structure", + "members":{ + } + }, + "StartAccessLoggingInput":{ + "type":"structure", + "required":["ContainerName"], + "members":{ + "ContainerName":{ + "shape":"ContainerName", + "documentation":"

The name of the container that you want to start access logging on.

" + } + } + }, + "StartAccessLoggingOutput":{ + "type":"structure", + "members":{ + } + }, + "StopAccessLoggingInput":{ + "type":"structure", + "required":["ContainerName"], + "members":{ + "ContainerName":{ + "shape":"ContainerName", + "documentation":"

The name of the container that you want to stop access logging on.

" + } + } + }, + "StopAccessLoggingOutput":{ + "type":"structure", + "members":{ + } + }, "TimeStamp":{"type":"timestamp"} }, "documentation":"

An AWS Elemental MediaStore container is a namespace that holds folders and objects. You use a container endpoint to create, read, and delete objects.

" diff --git a/bin/botocore/data/mediatailor/2018-04-23/paginators-1.json b/bin/botocore/data/mediatailor/2018-04-23/paginators-1.json index ea142457..993b5eaf 100644 --- a/bin/botocore/data/mediatailor/2018-04-23/paginators-1.json +++ b/bin/botocore/data/mediatailor/2018-04-23/paginators-1.json @@ -1,3 +1,10 @@ { - "pagination": {} + "pagination": { + "ListPlaybackConfigurations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Items" + } + } } diff --git a/bin/botocore/data/mediatailor/2018-04-23/service-2.json b/bin/botocore/data/mediatailor/2018-04-23/service-2.json index 43ba04c1..a1820ba2 100644 --- a/bin/botocore/data/mediatailor/2018-04-23/service-2.json +++ b/bin/botocore/data/mediatailor/2018-04-23/service-2.json @@ -1,376 +1,616 @@ { - "metadata" : { - "apiVersion" : "2018-04-23", - "endpointPrefix" : "api.mediatailor", - "signingName" : "mediatailor", - "serviceFullName" : "AWS MediaTailor", - "serviceId" : "MediaTailor", - "protocol" : "rest-json", - "jsonVersion" : "1.1", - "uid" : "mediatailor-2018-04-23", - "signatureVersion" : "v4", - "serviceAbbreviation": "MediaTailor" - }, - "operations" : { - "DeletePlaybackConfiguration" : { - "name" : "DeletePlaybackConfiguration", - "http" : { - "method" : "DELETE", - "requestUri" : "/playbackConfiguration/{Name}", - "responseCode" : 204 - }, - "input" : { - "shape" : "DeletePlaybackConfigurationRequest" - }, - "output" : { - "shape" : "DeletePlaybackConfigurationResponse" - }, - "errors" : [ ], - "documentation" : "

Deletes the configuration for the specified name.

" - }, - "GetPlaybackConfiguration" : { - "name" : "GetPlaybackConfiguration", - "http" : { - "method" : "GET", - "requestUri" : "/playbackConfiguration/{Name}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetPlaybackConfigurationRequest" - }, - "output" : { - "shape" : "GetPlaybackConfigurationResponse" - }, - "errors" : [ ], - "documentation" : "

Returns the configuration for the specified name.

" - }, - "ListPlaybackConfigurations" : { - "name" : "ListPlaybackConfigurations", - "http" : { - "method" : "GET", - "requestUri" : "/playbackConfigurations", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListPlaybackConfigurationsRequest" - }, - "output" : { - "shape" : "ListPlaybackConfigurationsResponse" - }, - "errors" : [ ], - "documentation" : "

Returns a list of the configurations defined in AWS Elemental MediaTailor. You can specify a max number of configurations to return at a time. The default max is 50. Results are returned in pagefuls. If AWS Elemental MediaTailor has more configurations than the specified max, it provides parameters in the response that you can use to retrieve the next pageful.

" - }, - "PutPlaybackConfiguration" : { - "name" : "PutPlaybackConfiguration", - "http" : { - "method" : "PUT", - "requestUri" : "/playbackConfiguration", - "responseCode" : 200 - }, - "input" : { - "shape" : "PutPlaybackConfigurationRequest" - }, - "output" : { - "shape" : "PutPlaybackConfigurationResponse" - }, - "errors" : [ ], - "documentation" : "

Adds a new configuration to AWS Elemental MediaTailor.

" - } - }, - "shapes" : { - "CdnConfiguration" : { - "type" : "structure", - "members" : { - "AdSegmentUrlPrefix" : { - "shape" : "__string", - "documentation" : "

A non-default content delivery network (CDN) to serve ad segments. By default, AWS Elemental MediaTailor uses Amazon CloudFront with default cache settings as its CDN for ad segments. To set up an alternate CDN, create a rule in your CDN for the following origin: ads.mediatailor.<region>.amazonaws.com. Then specify the rule's name in this AdSegmentUrlPrefix. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for ad segments.

" - }, - "ContentSegmentUrlPrefix" : { - "shape" : "__string", - "documentation" : "

A content delivery network (CDN) to cache content segments, so that content requests don’t always have to go to the origin server. First, create a rule in your CDN for the content segment origin server. Then specify the rule's name in this ContentSegmentUrlPrefix. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for content segments.

" - } - }, - "documentation" : "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

" - }, - "HlsConfiguration" : { - "type" : "structure", - "members" : { - "ManifestEndpointPrefix" : { - "shape" : "__string", - "documentation" : "

The URL that is used to initiate a playback session for devices that support Apple HLS. The session uses server-side reporting.

" - } - }, - "documentation" : "

The configuration for HLS content.

" - }, - "DashConfiguration" : { - "type" : "structure", - "members" : { - "ManifestEndpointPrefix" : { - "shape" : "__string", - "documentation" : "

The URL that is used to initiate a playback session for devices that support DASH.

" - }, - "MpdLocation" : { - "shape" : "__string", - "documentation" : "

The setting that controls whether MediaTailor includes the Location tag in DASH Manifests. MediaTailor populates the Location tag with the URL for manifest update requests, to be used by players that don't support sticky redirects. Disable this if you have CDN routing rules set up for accessing MediaTailor manifests and you are either using client-side reporting or your players support sticky HTTP redirects. Valid values are DISABLED and EMT_DEFAULT. The EMT_DEFAULT setting enables the inclusion of the tag and is the default value.

" - } - }, - "documentation" : "

The configuration object for DASH content.

" - }, - "DashConfigurationForPut" : { - "type" : "structure", - "members" : { - "MpdLocation" : { - "shape" : "__string", - "documentation" : "

The setting that controls whether MediaTailor includes the Location tag in DASH Manifests. MediaTailor populates the Location tag with the URL for manifest update requests, to be used by players that don't support sticky redirects. Disable this if you have CDN routing rules set up for accessing MediaTailor manifests and you are either using client-side reporting or your players support sticky HTTP redirects. Valid values are DISABLED and EMT_DEFAULT. The EMT_DEFAULT setting enables the inclusion of the tag and is the default value.

" - } - }, - "documentation" : "

The configuration object for DASH content.

" - }, - "DeletePlaybackConfigurationRequest" : { - "type" : "structure", - "members" : { - "Name" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "Name", - "documentation" : "

The identifier for the configuration.

" - } - }, - "required" : [ "Name" ] - }, - "DeletePlaybackConfigurationResponse" : { - "type" : "structure", - "members" : { } - }, - "Empty" : { - "type" : "structure", - "members" : { } - }, - "GetPlaybackConfigurationRequest" : { - "type" : "structure", - "members" : { - "Name" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "Name", - "documentation" : "

The identifier for the configuration.

" - } - }, - "required" : [ "Name" ] - }, - "GetPlaybackConfigurationResponse" : { - "type" : "structure", - "members" : { - "AdDecisionServerUrl" : { - "shape" : "__string", - "documentation" : "

The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25000 characters.

" - }, - "CdnConfiguration" : { - "shape" : "CdnConfiguration", - "documentation" : "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

" - }, - "DashConfiguration" : { - "shape" : "DashConfiguration", - "documentation" : "

The configuration object for DASH content.

" - }, - "HlsConfiguration" : { - "shape" : "HlsConfiguration", - "documentation" : "

The configuration for HLS content.

" - }, - "Name" : { - "shape" : "__string", - "documentation" : "

The identifier for the configuration.

" - }, - "PlaybackEndpointPrefix" : { - "shape" : "__string", - "documentation" : "

The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. This session will use server-side reporting.

" - }, - "SessionInitializationEndpointPrefix" : { - "shape" : "__string", - "documentation" : "

The URL that the player uses to initialize a session that uses client-side reporting.

" - }, - "SlateAdUrl" : { - "shape" : "__string", - "documentation" : "

URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID configurations. For VPAID, the slate is required because AWS Elemental MediaTailor provides it in the slots designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

" - }, - "TranscodeProfileName" : { - "shape" : "__string", - "documentation" : "

Associate this playbackConfiguration with a custom transcode profile, overriding MediaTailor's dynamic transcoding defaults. Do not include this field if you have not setup custom profiles with the MediaTailor service team.

" - }, - "VideoContentSourceUrl" : { - "shape" : "__string", - "documentation" : "

The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

" - } - } - }, - "PlaybackConfiguration" : { - "type" : "structure", - "documentation": "

The AWSMediaTailor configuration.

", - "members" : { - "AdDecisionServerUrl" : { - "shape" : "__string", - "documentation" : "

The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25000 characters.

" - }, - "CdnConfiguration" : { - "shape" : "CdnConfiguration", - "documentation" : "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

" - }, - "Name" : { - "shape" : "__string", - "documentation" : "

The identifier for the configuration.

" - }, - "SlateAdUrl" : { - "shape" : "__string", - "documentation" : "

URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID configurations. For VPAID, the slate is required because AWS Elemental MediaTailor provides it in the slots designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

" - }, - "VideoContentSourceUrl" : { - "shape" : "__string", - "documentation" : "

The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

" - } - } - }, - "ListPlaybackConfigurationsRequest" : { - "type" : "structure", - "members" : { - "MaxResults" : { - "shape" : "__integerMin1Max100", - "location" : "querystring", - "locationName" : "MaxResults", - "documentation" : "

Maximum number of records to return.

" - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "NextToken", - "documentation" : "

Pagination token returned by the GET list request when results overrun the meximum allowed. Use the token to fetch the next page of results.

" - } - } - }, - "ListPlaybackConfigurationsResponse" : { - "type" : "structure", - "members" : { - "Items" : { - "shape" : "__listOfPlaybackConfigurations", - "documentation" : "

Array of playback configurations. This may be all of the available configurations or a subset, depending on the settings you provide and on the total number of configurations stored.

" - }, - "NextToken" : { - "shape" : "__string", - "documentation" : "

Pagination token returned by the GET list request when results overrun the meximum allowed. Use the token to fetch the next page of results.

" - } - } - }, - "PutPlaybackConfigurationRequest" : { - "type" : "structure", - "members" : { - "AdDecisionServerUrl" : { - "shape" : "__string", - "documentation" : "

The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing you can provide a static VAST URL. The maximum length is 25000 characters.

" - }, - "CdnConfiguration" : { - "shape" : "CdnConfiguration", - "documentation" : "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

" - }, - "DashConfiguration" : { - "shape" : "DashConfigurationForPut", - "documentation" : "

The configuration object for DASH content.

" - }, - "Name" : { - "shape" : "__string", - "documentation" : "

The identifier for the configuration.

" - }, - "SlateAdUrl" : { - "shape" : "__string", - "documentation" : "

The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID configurations. For VPAID, the slate is required because AWS Elemental MediaTailor provides it in the slots that are designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

" - }, - "TranscodeProfileName" : { - "shape" : "__string", - "documentation" : "

Associate this playbackConfiguration with a custom transcode profile, overriding MediaTailor's dynamic transcoding defaults. Do not include this field if you have not setup custom profiles with the MediaTailor service team.

" - }, - "VideoContentSourceUrl" : { - "shape" : "__string", - "documentation" : "

The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

" + "documentation": "

Use the AWS Elemental MediaTailor SDK to configure scalable ad insertion for your live and VOD content. With AWS Elemental MediaTailor, you can serve targeted ads to viewers while maintaining broadcast quality in over-the-top (OTT) video applications. For information about using the service, including detailed information about the settings covered in this guide, see the AWS Elemental MediaTailor User Guide.

Through the SDK, you manage AWS Elemental MediaTailor configurations the same as you do through the console. For example, you specify ad insertion behavior and mapping information for the origin server and the ad decision server (ADS).

", + "metadata": { + "apiVersion": "2018-04-23", + "endpointPrefix": "api.mediatailor", + "jsonVersion": "1.1", + "protocol": "rest-json", + "serviceAbbreviation": "MediaTailor", + "serviceFullName": "AWS MediaTailor", + "serviceId": "MediaTailor", + "signatureVersion": "v4", + "signingName": "mediatailor", + "uid": "mediatailor-2018-04-23" + }, + "operations": { + "DeletePlaybackConfiguration": { + "documentation": "

Deletes the playback configuration for the specified name.

", + "errors": [], + "http": { + "method": "DELETE", + "requestUri": "/playbackConfiguration/{Name}", + "responseCode": 204 + }, + "input": { + "shape": "DeletePlaybackConfigurationRequest" + }, + "name": "DeletePlaybackConfiguration", + "output": { + "documentation": "

The request was successful and there is no content in the response.

", + "shape": "DeletePlaybackConfigurationResponse" + } + }, + "GetPlaybackConfiguration": { + "documentation": "

Returns the playback configuration for the specified name.

", + "errors": [], + "http": { + "method": "GET", + "requestUri": "/playbackConfiguration/{Name}", + "responseCode": 200 + }, + "input": { + "shape": "GetPlaybackConfigurationRequest" + }, + "name": "GetPlaybackConfiguration", + "output": { + "documentation": "

Success.

", + "shape": "GetPlaybackConfigurationResponse" + } + }, + "ListPlaybackConfigurations": { + "documentation": "

Returns a list of the playback configurations defined in AWS Elemental MediaTailor. You can specify a maximum number of configurations to return at a time. The default maximum is 50. Results are returned in pagefuls. If MediaTailor has more configurations than the specified maximum, it provides parameters in the response that you can use to retrieve the next pageful.

", + "errors": [], + "http": { + "method": "GET", + "requestUri": "/playbackConfigurations", + "responseCode": 200 + }, + "input": { + "shape": "ListPlaybackConfigurationsRequest" + }, + "name": "ListPlaybackConfigurations", + "output": { + "documentation": "

Success.

", + "shape": "ListPlaybackConfigurationsResponse" + } + }, + "ListTagsForResource": { + "documentation": "

Returns a list of the tags assigned to the specified playback configuration resource.

", + "errors": [ + { + "documentation": "

Invalid request parameters.

", + "shape": "BadRequestException" + } + ], + "http": { + "method": "GET", + "requestUri": "/tags/{ResourceArn}", + "responseCode": 200 + }, + "input": { + "shape": "ListTagsForResourceRequest" + }, + "name": "ListTagsForResource", + "output": { + "documentation": "

Success.

", + "shape": "ListTagsForResourceResponse" + } + }, + "PutPlaybackConfiguration": { + "documentation": "

Adds a new playback configuration to AWS Elemental MediaTailor.

", + "errors": [], + "http": { + "method": "PUT", + "requestUri": "/playbackConfiguration", + "responseCode": 200 + }, + "input": { + "shape": "PutPlaybackConfigurationRequest" + }, + "name": "PutPlaybackConfiguration", + "output": { + "documentation": "

Success.

", + "shape": "PutPlaybackConfigurationResponse" + } + }, + "TagResource": { + "documentation": "

Adds tags to the specified playback configuration resource. You can specify one or more tags to add.

", + "errors": [ + { + "documentation": "

Invalid request parameters.

", + "shape": "BadRequestException" + } + ], + "http": { + "method": "POST", + "requestUri": "/tags/{ResourceArn}", + "responseCode": 204 + }, + "input": { + "shape": "TagResourceRequest" + }, + "name": "TagResource" + }, + "UntagResource": { + "documentation": "

Removes tags from the specified playback configuration resource. You can specify one or more tags to remove.

", + "errors": [ + { + "documentation": "

Invalid request parameters.

", + "shape": "BadRequestException" + } + ], + "http": { + "method": "DELETE", + "requestUri": "/tags/{ResourceArn}", + "responseCode": 204 + }, + "input": { + "shape": "UntagResourceRequest" + }, + "name": "UntagResource" } - } - }, - "PutPlaybackConfigurationResponse" : { - "type" : "structure", - "members" : { - "AdDecisionServerUrl" : { - "shape" : "__string", - "documentation" : "

The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25000 characters.

" - }, - "CdnConfiguration" : { - "shape" : "CdnConfiguration", - "documentation" : "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

" - }, - "DashConfiguration" : { - "shape" : "DashConfiguration", - "documentation" : "

The configuration object for DASH content.

" - }, - "HlsConfiguration" : { - "shape" : "HlsConfiguration", - "documentation" : "

The configuration for HLS content.

" - }, - "Name" : { - "shape" : "__string", - "documentation" : "

The identifier for the configuration.

" - }, - "PlaybackEndpointPrefix" : { - "shape" : "__string", - "documentation" : "

The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. This session will use server-side reporting.

" - }, - "SessionInitializationEndpointPrefix" : { - "shape" : "__string", - "documentation" : "

The URL that the player uses to initialize a session that uses client-side reporting.

" - }, - "SlateAdUrl" : { - "shape" : "__string", - "documentation" : "

URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID configurations. For VPAID, the slate is required because AWS Elemental MediaTailor provides it in the slots designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

" - }, - "TranscodeProfileName" : { - "shape" : "__string", - "documentation" : "

Associate this playbackConfiguration with a custom transcode profile, overriding MediaTailor's dynamic transcoding defaults. Do not include this field if you have not setup custom profiles with the MediaTailor service team.

" - }, - "VideoContentSourceUrl" : { - "shape" : "__string", - "documentation" : "

The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

" + }, + "shapes": { + "BadRequestException": { + "documentation": "

Invalid request parameters.

", + "error": { + "httpStatusCode": 400 + }, + "exception": true, + "members": { + "Message": { + "shape": "__string" + } + }, + "type": "structure" + }, + "CdnConfiguration": { + "documentation": "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

", + "members": { + "AdSegmentUrlPrefix": { + "documentation": "

A non-default content delivery network (CDN) to serve ad segments. By default, AWS Elemental MediaTailor uses Amazon CloudFront with default cache settings as its CDN for ad segments. To set up an alternate CDN, create a rule in your CDN for the following origin: ads.mediatailor.<region>.amazonaws.com. Then specify the rule's name in this AdSegmentUrlPrefix. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for ad segments.

", + "shape": "__string" + }, + "ContentSegmentUrlPrefix": { + "documentation": "

A content delivery network (CDN) to cache content segments, so that content requests don’t always have to go to the origin server. First, create a rule in your CDN for the content segment origin server. Then specify the rule's name in this ContentSegmentUrlPrefix. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for content segments.

", + "shape": "__string" + } + }, + "type": "structure" + }, + "DashConfiguration": { + "documentation": "

The configuration for DASH content.

", + "members": { + "ManifestEndpointPrefix": { + "documentation": "

The URL generated by MediaTailor to initiate a playback session. The session uses server-side reporting. This setting is ignored in PUT operations.

", + "shape": "__string" + }, + "MpdLocation": { + "documentation": "

The setting that controls whether MediaTailor includes the Location tag in DASH manifests. MediaTailor populates the Location tag with the URL for manifest update requests, to be used by players that don't support sticky redirects. Disable this if you have CDN routing rules set up for accessing MediaTailor manifests, and you are either using client-side reporting or your players support sticky HTTP redirects. Valid values are DISABLED and EMT_DEFAULT. The EMT_DEFAULT setting enables the inclusion of the tag and is the default value.

", + "shape": "__string" + }, + "OriginManifestType": { + "documentation": "

The setting that controls whether MediaTailor handles manifests from the origin server as multi-period manifests or single-period manifests. If your origin server produces single-period manifests, set this to SINGLE_PERIOD. The default setting is MULTI_PERIOD. For multi-period manifests, omit this setting or set it to MULTI_PERIOD.

", + "shape": "OriginManifestType" + } + }, + "type": "structure" + }, + "DashConfigurationForPut": { + "documentation": "

The configuration for DASH PUT operations.

", + "members": { + "MpdLocation": { + "documentation": "

The setting that controls whether MediaTailor includes the Location tag in DASH manifests. MediaTailor populates the Location tag with the URL for manifest update requests, to be used by players that don't support sticky redirects. Disable this if you have CDN routing rules set up for accessing MediaTailor manifests, and you are either using client-side reporting or your players support sticky HTTP redirects. Valid values are DISABLED and EMT_DEFAULT. The EMT_DEFAULT setting enables the inclusion of the tag and is the default value.

", + "shape": "__string" + }, + "OriginManifestType": { + "documentation": "

The setting that controls whether MediaTailor handles manifests from the origin server as multi-period manifests or single-period manifests. If your origin server produces single-period manifests, set this to SINGLE_PERIOD. The default setting is MULTI_PERIOD. For multi-period manifests, omit this setting or set it to MULTI_PERIOD.

", + "shape": "OriginManifestType" + } + }, + "type": "structure" + }, + "DeletePlaybackConfigurationRequest": { + "members": { + "Name": { + "documentation": "

The identifier for the playback configuration.

", + "location": "uri", + "locationName": "Name", + "shape": "__string" + } + }, + "required": [ + "Name" + ], + "type": "structure" + }, + "DeletePlaybackConfigurationResponse": { + "members": {}, + "type": "structure" + }, + "Empty": { + "members": {}, + "type": "structure" + }, + "GetPlaybackConfigurationRequest": { + "members": { + "Name": { + "documentation": "

The identifier for the playback configuration.

", + "location": "uri", + "locationName": "Name", + "shape": "__string" + } + }, + "required": [ + "Name" + ], + "type": "structure" + }, + "GetPlaybackConfigurationResponse": { + "members": { + "AdDecisionServerUrl": { + "documentation": "

The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25,000 characters.

", + "shape": "__string" + }, + "CdnConfiguration": { + "documentation": "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

", + "shape": "CdnConfiguration" + }, + "DashConfiguration": { + "documentation": "

The configuration for DASH content.

", + "shape": "DashConfiguration" + }, + "HlsConfiguration": { + "documentation": "

The configuration for HLS content.

", + "shape": "HlsConfiguration" + }, + "Name": { + "documentation": "

The identifier for the playback configuration.

", + "shape": "__string" + }, + "PlaybackConfigurationArn": { + "documentation": "

The Amazon Resource Name (ARN) for the playback configuration.

", + "shape": "__string" + }, + "PlaybackEndpointPrefix": { + "documentation": "

The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. This session will use server-side reporting.

", + "shape": "__string" + }, + "SessionInitializationEndpointPrefix": { + "documentation": "

The URL that the player uses to initialize a session that uses client-side reporting.

", + "shape": "__string" + }, + "SlateAdUrl": { + "documentation": "

The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID playback configurations. For VPAID, the slate is required because MediaTailor provides it in the slots designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

", + "shape": "__string" + }, + "Tags": { + "documentation": "

The tags assigned to the playback configuration.

", + "locationName": "tags", + "shape": "__mapOf__string" + }, + "TranscodeProfileName": { + "documentation": "

The name that is used to associate this playback configuration with a custom transcode profile. This overrides the dynamic transcoding defaults of MediaTailor. Use this only if you have already set up custom profiles with the help of AWS Support.

", + "shape": "__string" + }, + "VideoContentSourceUrl": { + "documentation": "

The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

", + "shape": "__string" + } + }, + "type": "structure" + }, + "HlsConfiguration": { + "documentation": "

The configuration for HLS content.

", + "members": { + "ManifestEndpointPrefix": { + "documentation": "

The URL that is used to initiate a playback session for devices that support Apple HLS. The session uses server-side reporting.

", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListPlaybackConfigurationsRequest": { + "members": { + "MaxResults": { + "documentation": "

Maximum number of records to return.

", + "location": "querystring", + "locationName": "MaxResults", + "shape": "__integerMin1Max100" + }, + "NextToken": { + "documentation": "

Pagination token returned by the GET list request when results exceed the maximum allowed. Use the token to fetch the next page of results.

", + "location": "querystring", + "locationName": "NextToken", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListPlaybackConfigurationsResponse": { + "members": { + "Items": { + "documentation": "

Array of playback configurations. This might be all the available configurations or a subset, depending on the settings that you provide and the total number of configurations stored.

", + "shape": "__listOfPlaybackConfigurations" + }, + "NextToken": { + "documentation": "

Pagination token returned by the GET list request when results exceed the maximum allowed. Use the token to fetch the next page of results.

", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListTagsForResourceRequest": { + "members": { + "ResourceArn": { + "documentation": "

The Amazon Resource Name (ARN) for the playback configuration. You can get this from the response to any playback configuration request.

", + "location": "uri", + "locationName": "ResourceArn", + "shape": "__string" + } + }, + "required": [ + "ResourceArn" + ], + "type": "structure" + }, + "ListTagsForResourceResponse": { + "members": { + "Tags": { + "documentation": "

A comma-separated list of tag key:value pairs. For example: \n {\n \"Key1\": \"Value1\",\n \"Key2\": \"Value2\"\n }\n

", + "locationName": "tags", + "shape": "__mapOf__string" + } + }, + "type": "structure" + }, + "OriginManifestType": { + "enum": [ + "SINGLE_PERIOD", + "MULTI_PERIOD" + ], + "type": "string" + }, + "PlaybackConfiguration": { + "documentation": "

The AWSMediaTailor configuration.

", + "members": { + "AdDecisionServerUrl": { + "documentation": "

The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25,000 characters.

", + "shape": "__string" + }, + "CdnConfiguration": { + "documentation": "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

", + "shape": "CdnConfiguration" + }, + "DashConfiguration": { + "documentation": "

The configuration for DASH content.

", + "shape": "DashConfiguration" + }, + "HlsConfiguration": { + "documentation": "

The configuration for HLS content.

", + "shape": "HlsConfiguration" + }, + "Name": { + "documentation": "

The identifier for the playback configuration.

", + "shape": "__string" + }, + "PlaybackConfigurationArn": { + "documentation": "

The Amazon Resource Name (ARN) for the playback configuration.

", + "shape": "__string" + }, + "PlaybackEndpointPrefix": { + "documentation": "

The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. This session will use server-side reporting.

", + "shape": "__string" + }, + "SessionInitializationEndpointPrefix": { + "documentation": "

The URL that the player uses to initialize a session that uses client-side reporting.

", + "shape": "__string" + }, + "SlateAdUrl": { + "documentation": "

The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID playback configurations. For VPAID, the slate is required because MediaTailor provides it in the slots designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

", + "shape": "__string" + }, + "Tags": { + "documentation": "

The tags assigned to the playback configuration.

", + "locationName": "tags", + "shape": "__mapOf__string" + }, + "TranscodeProfileName": { + "documentation": "

The name that is used to associate this playback configuration with a custom transcode profile. This overrides the dynamic transcoding defaults of MediaTailor. Use this only if you have already set up custom profiles with the help of AWS Support.

", + "shape": "__string" + }, + "VideoContentSourceUrl": { + "documentation": "

The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

", + "shape": "__string" + } + }, + "type": "structure" + }, + "PutPlaybackConfigurationRequest": { + "members": { + "AdDecisionServerUrl": { + "documentation": "

The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing you can provide a static VAST URL. The maximum length is 25,000 characters.

", + "shape": "__string" + }, + "CdnConfiguration": { + "documentation": "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

", + "shape": "CdnConfiguration" + }, + "DashConfiguration": { + "documentation": "

The configuration for DASH content.

", + "shape": "DashConfigurationForPut" + }, + "Name": { + "documentation": "

The identifier for the playback configuration.

", + "shape": "__string" + }, + "SlateAdUrl": { + "documentation": "

The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID configurations. For VPAID, the slate is required because MediaTailor provides it in the slots that are designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

", + "shape": "__string" + }, + "Tags": { + "documentation": "

The tags to assign to the playback configuration.

", + "locationName": "tags", + "shape": "__mapOf__string" + }, + "TranscodeProfileName": { + "documentation": "

The name that is used to associate this playback configuration with a custom transcode profile. This overrides the dynamic transcoding defaults of MediaTailor. Use this only if you have already set up custom profiles with the help of AWS Support.

", + "shape": "__string" + }, + "VideoContentSourceUrl": { + "documentation": "

The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

", + "shape": "__string" + } + }, + "type": "structure" + }, + "PutPlaybackConfigurationResponse": { + "members": { + "AdDecisionServerUrl": { + "documentation": "

The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25,000 characters.

", + "shape": "__string" + }, + "CdnConfiguration": { + "documentation": "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

", + "shape": "CdnConfiguration" + }, + "DashConfiguration": { + "documentation": "

The configuration for DASH content.

", + "shape": "DashConfiguration" + }, + "HlsConfiguration": { + "documentation": "

The configuration for HLS content.

", + "shape": "HlsConfiguration" + }, + "Name": { + "documentation": "

The identifier for the playback configuration.

", + "shape": "__string" + }, + "PlaybackConfigurationArn": { + "documentation": "

The Amazon Resource Name (ARN) for the playback configuration.

", + "shape": "__string" + }, + "PlaybackEndpointPrefix": { + "documentation": "

The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. This session will use server-side reporting.

", + "shape": "__string" + }, + "SessionInitializationEndpointPrefix": { + "documentation": "

The URL that the player uses to initialize a session that uses client-side reporting.

", + "shape": "__string" + }, + "SlateAdUrl": { + "documentation": "

The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID playback configurations. For VPAID, the slate is required because MediaTailor provides it in the slots designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

", + "shape": "__string" + }, + "Tags": { + "documentation": "

The tags assigned to the playback configuration.

", + "locationName": "tags", + "shape": "__mapOf__string" + }, + "TranscodeProfileName": { + "documentation": "

The name that is used to associate this playback configuration with a custom transcode profile. This overrides the dynamic transcoding defaults of MediaTailor. Use this only if you have already set up custom profiles with the help of AWS Support.

", + "shape": "__string" + }, + "VideoContentSourceUrl": { + "documentation": "

The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

", + "shape": "__string" + } + }, + "type": "structure" + }, + "TagResourceRequest": { + "members": { + "ResourceArn": { + "documentation": "

The Amazon Resource Name (ARN) for the playback configuration. You can get this from the response to any playback configuration request.

", + "location": "uri", + "locationName": "ResourceArn", + "shape": "__string" + }, + "Tags": { + "documentation": "

A comma-separated list of tag key:value pairs. For example: \n {\n \"Key1\": \"Value1\",\n \"Key2\": \"Value2\"\n }\n

", + "locationName": "tags", + "shape": "__mapOf__string" + } + }, + "required": [ + "ResourceArn", + "Tags" + ], + "type": "structure" + }, + "TagsModel": { + "documentation": "

A set of tags assigned to a resource.

", + "members": { + "Tags": { + "documentation": "

A comma-separated list of tag key:value pairs. For example: \n {\n \"Key1\": \"Value1\",\n \"Key2\": \"Value2\"\n }\n

", + "locationName": "tags", + "shape": "__mapOf__string" + } + }, + "required": [ + "Tags" + ], + "type": "structure" + }, + "UntagResourceRequest": { + "members": { + "ResourceArn": { + "documentation": "

The Amazon Resource Name (ARN) for the playback configuration. You can get this from the response to any playback configuration request.

", + "location": "uri", + "locationName": "ResourceArn", + "shape": "__string" + }, + "TagKeys": { + "documentation": "

A comma-separated list of the tag keys to remove from the playback configuration.

", + "location": "querystring", + "locationName": "tagKeys", + "shape": "__listOf__string" + } + }, + "required": [ + "ResourceArn", + "TagKeys" + ], + "type": "structure" + }, + "__boolean": { + "type": "boolean" + }, + "__double": { + "type": "double" + }, + "__integer": { + "type": "integer" + }, + "__integerMin1Max100": { + "max": 100, + "min": 1, + "type": "integer" + }, + "__listOfPlaybackConfigurations": { + "member": { + "shape": "PlaybackConfiguration" + }, + "type": "list" + }, + "__listOf__string": { + "member": { + "shape": "__string" + }, + "type": "list" + }, + "__long": { + "type": "long" + }, + "__mapOf__string": { + "key": { + "shape": "__string" + }, + "type": "map", + "value": { + "shape": "__string" + } + }, + "__string": { + "type": "string" + }, + "__timestampIso8601": { + "timestampFormat": "iso8601", + "type": "timestamp" + }, + "__timestampUnix": { + "timestampFormat": "unixTimestamp", + "type": "timestamp" } - } - }, - "__boolean" : { - "type" : "boolean" - }, - "__double" : { - "type" : "double" - }, - "__integer" : { - "type" : "integer" - }, - "__listOfPlaybackConfigurations" : { - "type" : "list", - "member" : { - "shape" : "PlaybackConfiguration" - } - }, - "__long" : { - "type" : "long" - }, - "__string" : { - "type" : "string" - }, - "__integerMin1Max100" : { - "type": "integer", - "min": 1, - "max": 100 - }, - "__timestampIso8601" : { - "type" : "timestamp", - "timestampFormat" : "iso8601" - }, - "__timestampUnix" : { - "type" : "timestamp", - "timestampFormat" : "unixTimestamp" } - }, - "documentation" : "

Use the AWS Elemental MediaTailor SDK to configure scalable ad insertion for your live and VOD content. With AWS Elemental MediaTailor, you can serve targeted ads to viewers while maintaining broadcast quality in over-the-top (OTT) video applications. For information about using the service, including detailed information about the settings covered in this guide, see the AWS Elemental MediaTailor User Guide.

Through the SDK, you manage AWS Elemental MediaTailor configurations the same as you do through the console. For example, you specify ad insertion behavior and mapping information for the origin server and the ad decision server (ADS).

" } diff --git a/bin/botocore/data/meteringmarketplace/2016-01-14/service-2.json b/bin/botocore/data/meteringmarketplace/2016-01-14/service-2.json index 3ca3699f..b74f8b39 100644 --- a/bin/botocore/data/meteringmarketplace/2016-01-14/service-2.json +++ b/bin/botocore/data/meteringmarketplace/2016-01-14/service-2.json @@ -230,9 +230,7 @@ "required":[ "ProductCode", "Timestamp", - "UsageDimension", - "UsageQuantity", - "DryRun" + "UsageDimension" ], "members":{ "ProductCode":{ @@ -241,7 +239,7 @@ }, "Timestamp":{ "shape":"Timestamp", - "documentation":"

Timestamp of the hour, recorded in UTC. The seconds and milliseconds portions of the timestamp will be ignored.

" + "documentation":"

Timestamp, in UTC, for which the usage is being reported. Your application can meter usage for up to one hour in the past. Make sure the timestamp value is not before the start of the software usage.

" }, "UsageDimension":{ "shape":"UsageDimension", @@ -249,11 +247,11 @@ }, "UsageQuantity":{ "shape":"UsageQuantity", - "documentation":"

Consumption value for the hour.

" + "documentation":"

Consumption value for the hour. Defaults to 0 if not specified.

" }, "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the permissions required for the action, but does not make the request. If you have the permissions, the request returns DryRunOperation; otherwise, it returns UnauthorizedException.

" + "documentation":"

Checks whether you have the permissions required for the action, but does not make the request. If you have the permissions, the request returns DryRunOperation; otherwise, it returns UnauthorizedException. Defaults to false if not specified.

" } } }, @@ -371,7 +369,7 @@ }, "UsageQuantity":{ "type":"integer", - "max":1000000, + "max":2147483647, "min":0 }, "UsageRecord":{ @@ -379,13 +377,12 @@ "required":[ "Timestamp", "CustomerIdentifier", - "Dimension", - "Quantity" + "Dimension" ], "members":{ "Timestamp":{ "shape":"Timestamp", - "documentation":"

Timestamp of the hour, recorded in UTC. The seconds and milliseconds portions of the timestamp will be ignored.

Your application can meter usage for up to one hour in the past.

" + "documentation":"

Timestamp, in UTC, for which the usage is being reported.

Your application can meter usage for up to one hour in the past. Make sure the timestamp value is not before the start of the software usage.

" }, "CustomerIdentifier":{ "shape":"CustomerIdentifier", @@ -397,7 +394,7 @@ }, "Quantity":{ "shape":"UsageQuantity", - "documentation":"

The quantity of usage consumed by the customer for the given dimension and time.

" + "documentation":"

The quantity of usage consumed by the customer for the given dimension and time. Defaults to 0 if not specified.

" } }, "documentation":"

A UsageRecord indicates a quantity of usage for a given product, customer, dimension and time.

Multiple requests with the same UsageRecords as input will be deduplicated to prevent double charges.

" @@ -444,5 +441,5 @@ }, "errorMessage":{"type":"string"} }, - "documentation":"AWS Marketplace Metering Service

This reference provides descriptions of the low-level AWS Marketplace Metering Service API.

AWS Marketplace sellers can use this API to submit usage data for custom usage dimensions.

Submitting Metering Records

  • MeterUsage- Submits the metering record for a Marketplace product. MeterUsage is called from an EC2 instance.

  • BatchMeterUsage- Submits the metering record for a set of customers. BatchMeterUsage is called from a software-as-a-service (SaaS) application.

Accepting New Customers

  • ResolveCustomer- Called by a SaaS application during the registration process. When a buyer visits your website during the registration process, the buyer submits a Registration Token through the browser. The Registration Token is resolved through this API to obtain a CustomerIdentifier and Product Code.

Entitlement and Metering for Paid Container Products

  • Paid container software products sold through AWS Marketplace must integrate with the AWS Marketplace Metering Service and call the RegisterUsage operation for software entitlement and metering. Calling RegisterUsage from containers running outside of Amazon Elastic Container Service (Amazon ECR) isn't supported. Free and BYOL products for ECS aren't required to call RegisterUsage, but you can do so if you want to receive usage data in your seller reports. For more information on using the RegisterUsage operation, see Container-Based Products.

BatchMeterUsage API calls are captured by AWS CloudTrail. You can use Cloudtrail to verify that the SaaS metering records that you sent are accurate by searching for records with the eventName of BatchMeterUsage. You can also use CloudTrail to audit records over time. For more information, see the AWS CloudTrail User Guide .

" + "documentation":"AWS Marketplace Metering Service

This reference provides descriptions of the low-level AWS Marketplace Metering Service API.

AWS Marketplace sellers can use this API to submit usage data for custom usage dimensions.

Submitting Metering Records

  • MeterUsage- Submits the metering record for a Marketplace product. MeterUsage is called from an EC2 instance.

  • BatchMeterUsage- Submits the metering record for a set of customers. BatchMeterUsage is called from a software-as-a-service (SaaS) application.

Accepting New Customers

  • ResolveCustomer- Called by a SaaS application during the registration process. When a buyer visits your website during the registration process, the buyer submits a Registration Token through the browser. The Registration Token is resolved through this API to obtain a CustomerIdentifier and Product Code.

Entitlement and Metering for Paid Container Products

  • Paid container software products sold through AWS Marketplace must integrate with the AWS Marketplace Metering Service and call the RegisterUsage operation for software entitlement and metering. Calling RegisterUsage from containers running outside of Amazon Elastic Container Service (Amazon ECR) isn't supported. Free and BYOL products for ECS aren't required to call RegisterUsage, but you can do so if you want to receive usage data in your seller reports. For more information on using the RegisterUsage operation, see Container-Based Products.

BatchMeterUsage API calls are captured by AWS CloudTrail. You can use Cloudtrail to verify that the SaaS metering records that you sent are accurate by searching for records with the eventName of BatchMeterUsage. You can also use CloudTrail to audit records over time. For more information, see the AWS CloudTrail User Guide .

" } diff --git a/bin/botocore/data/mgh/2017-05-31/paginators-1.json b/bin/botocore/data/mgh/2017-05-31/paginators-1.json index ea142457..4a1efc37 100644 --- a/bin/botocore/data/mgh/2017-05-31/paginators-1.json +++ b/bin/botocore/data/mgh/2017-05-31/paginators-1.json @@ -1,3 +1,28 @@ { - "pagination": {} + "pagination": { + "ListCreatedArtifacts": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "CreatedArtifactList" + }, + "ListDiscoveredResources": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "DiscoveredResourceList" + }, + "ListMigrationTasks": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "MigrationTaskSummaryList" + }, + "ListProgressUpdateStreams": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ProgressUpdateStreamSummaryList" + } + } } diff --git a/bin/botocore/data/mq/2017-11-27/paginators-1.json b/bin/botocore/data/mq/2017-11-27/paginators-1.json index ea142457..55160732 100644 --- a/bin/botocore/data/mq/2017-11-27/paginators-1.json +++ b/bin/botocore/data/mq/2017-11-27/paginators-1.json @@ -1,3 +1,10 @@ { - "pagination": {} + "pagination": { + "ListBrokers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "BrokerSummaries" + } + } } diff --git a/bin/botocore/data/mq/2017-11-27/service-2.json b/bin/botocore/data/mq/2017-11-27/service-2.json index 890d258d..4b0f3fb1 100644 --- a/bin/botocore/data/mq/2017-11-27/service-2.json +++ b/bin/botocore/data/mq/2017-11-27/service-2.json @@ -1,13 +1,13 @@ { "metadata" : { "apiVersion" : "2017-11-27", - "endpointPrefix": "mq", + "endpointPrefix" : "mq", "signingName" : "mq", - "serviceFullName": "AmazonMQ", - "serviceId": "mq", + "serviceFullName" : "AmazonMQ", + "serviceId" : "mq", "protocol" : "rest-json", "jsonVersion" : "1.1", - "uid": "mq-2017-11-27", + "uid" : "mq-2017-11-27", "signatureVersion" : "v4" }, "operations" : { @@ -72,35 +72,30 @@ } ], "documentation" : "Creates a new configuration for the specified configuration name. Amazon MQ uses the default configuration (the engine type and version)." }, - "CreateTags": { - "name": "CreateTags", - "http": { - "method": "POST", - "requestUri": "/v1/tags/{resource-arn}", - "responseCode": 204 + "CreateTags" : { + "name" : "CreateTags", + "http" : { + "method" : "POST", + "requestUri" : "/v1/tags/{resource-arn}", + "responseCode" : 204 }, - "input": { - "shape": "CreateTagsRequest" + "input" : { + "shape" : "CreateTagsRequest" }, - "errors": [ - { - "shape": "NotFoundException", - "documentation": "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." - }, - { - "shape": "BadRequestException", - "documentation": "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." - }, - { - "shape": "InternalServerErrorException", - "documentation": "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." - }, - { - "shape": "ForbiddenException", - "documentation": "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." - } - ], - "documentation": "Add a tag to a resource." + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." + } ], + "documentation" : "Add a tag to a resource." }, "CreateUser" : { "name" : "CreateUser", @@ -163,35 +158,30 @@ } ], "documentation" : "Deletes a broker. Note: This API is asynchronous." }, - "DeleteTags": { - "name": "DeleteTags", - "http": { - "method": "DELETE", - "requestUri": "/v1/tags/{resource-arn}", - "responseCode": 204 + "DeleteTags" : { + "name" : "DeleteTags", + "http" : { + "method" : "DELETE", + "requestUri" : "/v1/tags/{resource-arn}", + "responseCode" : 204 }, - "input": { - "shape": "DeleteTagsRequest" + "input" : { + "shape" : "DeleteTagsRequest" }, - "errors": [ - { - "shape": "NotFoundException", - "documentation": "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." - }, - { - "shape": "BadRequestException", - "documentation": "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." - }, - { - "shape": "InternalServerErrorException", - "documentation": "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." - }, - { - "shape": "ForbiddenException", - "documentation": "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." - } - ], - "documentation": "Remove a tag from a resource." + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." + } ], + "documentation" : "Removes a tag from a resource." }, "DeleteUser" : { "name" : "DeleteUser", @@ -251,6 +241,58 @@ } ], "documentation" : "Returns information about the specified broker." }, + "DescribeBrokerEngineTypes" : { + "name" : "DescribeBrokerEngineTypes", + "http" : { + "method" : "GET", + "requestUri" : "/v1/broker-engine-types", + "responseCode" : 200 + }, + "input" : { + "shape" : "DescribeBrokerEngineTypesRequest" + }, + "output" : { + "shape" : "DescribeBrokerEngineTypesResponse", + "documentation" : "HTTP Status Code 200: OK." + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." + } ], + "documentation" : "Describe available engine types and versions." + }, + "DescribeBrokerInstanceOptions" : { + "name" : "DescribeBrokerInstanceOptions", + "http" : { + "method" : "GET", + "requestUri" : "/v1/broker-instance-options", + "responseCode" : 200 + }, + "input" : { + "shape" : "DescribeBrokerInstanceOptionsRequest" + }, + "output" : { + "shape" : "DescribeBrokerInstanceOptionsResponse", + "documentation" : "HTTP Status Code 200: OK." + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." + } ], + "documentation" : "Describe available broker instance options." + }, "DescribeConfiguration" : { "name" : "DescribeConfiguration", "http" : { @@ -419,39 +461,34 @@ } ], "documentation" : "Returns a list of all configurations." }, - "ListTags": { - "name": "ListTags", - "http": { - "method": "GET", - "requestUri": "/v1/tags/{resource-arn}", - "responseCode": 200 + "ListTags" : { + "name" : "ListTags", + "http" : { + "method" : "GET", + "requestUri" : "/v1/tags/{resource-arn}", + "responseCode" : 200 }, - "input": { - "shape": "ListTagsRequest" + "input" : { + "shape" : "ListTagsRequest" }, - "output": { - "shape": "ListTagsResponse", - "documentation": "HTTP Status Code 200: OK." + "output" : { + "shape" : "ListTagsResponse", + "documentation" : "HTTP Status Code 200: OK." }, - "errors": [ - { - "shape": "NotFoundException", - "documentation": "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." - }, - { - "shape": "BadRequestException", - "documentation": "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." - }, - { - "shape": "InternalServerErrorException", - "documentation": "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." - }, - { - "shape": "ForbiddenException", - "documentation": "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." - } - ], - "documentation": "Lists tags for a resource." + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." + } ], + "documentation" : "Lists tags for a resource." }, "ListUsers" : { "name" : "ListUsers", @@ -609,6 +646,17 @@ } }, "shapes" : { + "AvailabilityZone" : { + "type" : "structure", + "members" : { + "Name" : { + "shape" : "__string", + "locationName" : "name", + "documentation" : "Id for the availability zone." + } + }, + "documentation" : "Name of the availability zone." + }, "BadRequestException" : { "type" : "structure", "members" : { @@ -629,6 +677,43 @@ "httpStatusCode" : 400 } }, + "BrokerEngineType" : { + "type" : "structure", + "members" : { + "EngineType" : { + "shape" : "EngineType", + "locationName" : "engineType", + "documentation" : "The type of broker engine." + }, + "EngineVersions" : { + "shape" : "__listOfEngineVersion", + "locationName" : "engineVersions", + "documentation" : "The list of engine versions." + } + }, + "documentation" : "Types of broker engines." + }, + "BrokerEngineTypeOutput" : { + "type" : "structure", + "members" : { + "BrokerEngineTypes" : { + "shape" : "__listOfBrokerEngineType", + "locationName" : "brokerEngineTypes", + "documentation" : "List of available engine types and versions." + }, + "MaxResults" : { + "shape" : "__integerMin5Max100", + "locationName" : "maxResults", + "documentation" : "Required. The maximum number of engine types that can be returned per page (20 by default). This value must be an integer from 5 to 100." + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." + } + }, + "documentation" : "Returns a list of broker engine type." + }, "BrokerInstance" : { "type" : "structure", "members" : { @@ -650,6 +735,53 @@ }, "documentation" : "Returns information about all brokers." }, + "BrokerInstanceOption" : { + "type" : "structure", + "members" : { + "AvailabilityZones" : { + "shape" : "__listOfAvailabilityZone", + "locationName" : "availabilityZones", + "documentation" : "The list of available az." + }, + "EngineType" : { + "shape" : "EngineType", + "locationName" : "engineType", + "documentation" : "The type of broker engine." + }, + "HostInstanceType" : { + "shape" : "__string", + "locationName" : "hostInstanceType", + "documentation" : "The type of broker instance." + }, + "SupportedEngineVersions" : { + "shape" : "__listOf__string", + "locationName" : "supportedEngineVersions", + "documentation" : "The list of supported engine versions." + } + }, + "documentation" : "Option for host instance type." + }, + "BrokerInstanceOptionsOutput" : { + "type" : "structure", + "members" : { + "BrokerInstanceOptions" : { + "shape" : "__listOfBrokerInstanceOption", + "locationName" : "brokerInstanceOptions", + "documentation" : "List of available broker instance options." + }, + "MaxResults" : { + "shape" : "__integerMin5Max100", + "locationName" : "maxResults", + "documentation" : "Required. The maximum number of instance options that can be returned per page (20 by default). This value must be an integer from 5 to 100." + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." + } + }, + "documentation" : "Returns a list of broker instance options." + }, "BrokerState" : { "type" : "string", "documentation" : "The status of the broker.", @@ -727,7 +859,7 @@ "EngineVersion" : { "shape" : "__string", "locationName" : "engineVersion", - "documentation": "Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + "documentation" : "Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" }, "Id" : { "shape" : "__string", @@ -744,10 +876,10 @@ "locationName" : "name", "documentation" : "Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long." }, - "Tags": { - "shape": "__mapOf__string", - "locationName": "tags", - "documentation": "The list of all tags associated with this configuration." + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "The list of all tags associated with this configuration." } }, "documentation" : "Returns information about all configurations." @@ -867,7 +999,7 @@ "EngineVersion" : { "shape" : "__string", "locationName" : "engineVersion", - "documentation": "Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + "documentation" : "Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" }, "HostInstanceType" : { "shape" : "__string", @@ -899,10 +1031,10 @@ "locationName" : "subnetIds", "documentation" : "The list of groups (2 maximum) that define which subnets and IP ranges the broker can use from different Availability Zones. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets." }, - "Tags": { - "shape": "__mapOf__string", - "locationName": "tags", - "documentation": "Create tags when creating the broker." + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "Create tags when creating the broker." }, "Users" : { "shape" : "__listOfUser", @@ -965,7 +1097,7 @@ "EngineVersion" : { "shape" : "__string", "locationName" : "engineVersion", - "documentation": "Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + "documentation" : "Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" }, "HostInstanceType" : { "shape" : "__string", @@ -997,10 +1129,10 @@ "locationName" : "subnetIds", "documentation" : "The list of groups (2 maximum) that define which subnets and IP ranges the broker can use from different Availability Zones. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets." }, - "Tags": { - "shape": "__mapOf__string", - "locationName": "tags", - "documentation": "Create tags when creating the broker." + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "Create tags when creating the broker." }, "Users" : { "shape" : "__listOfUser", @@ -1036,17 +1168,17 @@ "EngineVersion" : { "shape" : "__string", "locationName" : "engineVersion", - "documentation": "Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + "documentation" : "Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" }, "Name" : { "shape" : "__string", "locationName" : "name", "documentation" : "Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long." }, - "Tags": { - "shape": "__mapOf__string", - "locationName": "tags", - "documentation": "Create tags when creating the configuration." + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "Create tags when creating the configuration." } }, "documentation" : "Creates a new configuration for the specified configuration name. Amazon MQ uses the default configuration (the engine type and version)." @@ -1093,17 +1225,17 @@ "EngineVersion" : { "shape" : "__string", "locationName" : "engineVersion", - "documentation": "Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + "documentation" : "Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" }, "Name" : { "shape" : "__string", "locationName" : "name", "documentation" : "Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long." }, - "Tags": { - "shape": "__mapOf__string", - "locationName": "tags", - "documentation": "Create tags when creating the configuration." + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "Create tags when creating the configuration." } }, "documentation" : "Creates a new configuration for the specified configuration name. Amazon MQ uses the default configuration (the engine type and version)." @@ -1138,25 +1270,23 @@ } } }, - "CreateTagsRequest": { - "type": "structure", - "members": { - "ResourceArn": { - "shape": "__string", - "location": "uri", - "locationName": "resource-arn", - "documentation": "the Amazon Resource Name (ARN)" + "CreateTagsRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resource-arn", + "documentation" : "The Amazon Resource Name (ARN) of the resource tag." }, - "Tags": { - "shape": "__mapOf__string", - "locationName": "tags", - "documentation": "The key-value pair for the resource tag." + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "The key-value pair for the resource tag." } }, - "documentation": "A map of the key-value pairs for the resource tag.", - "required": [ - "ResourceArn" - ] + "documentation" : "A map of the key-value pairs for the resource tag.", + "required" : [ "ResourceArn" ] }, "CreateUserInput" : { "type" : "structure", @@ -1254,26 +1384,23 @@ } } }, - "DeleteTagsRequest": { - "type": "structure", - "members": { - "ResourceArn": { - "shape": "__string", - "location": "uri", - "locationName": "resource-arn", - "documentation": "the Amazon Resource Name (ARN)" + "DeleteTagsRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resource-arn", + "documentation" : "The Amazon Resource Name (ARN) of the resource tag." }, - "TagKeys": { - "shape": "__listOf__string", - "location": "querystring", - "locationName": "tagKeys", - "documentation": "An array of tag keys to delete" + "TagKeys" : { + "shape" : "__listOf__string", + "location" : "querystring", + "locationName" : "tagKeys", + "documentation" : "An array of tag keys to delete" } }, - "required": [ - "TagKeys", - "ResourceArn" - ] + "required" : [ "TagKeys", "ResourceArn" ] }, "DeleteUserRequest" : { "type" : "structure", @@ -1302,6 +1429,98 @@ "documentation" : "The deployment mode of the broker.", "enum" : [ "SINGLE_INSTANCE", "ACTIVE_STANDBY_MULTI_AZ" ] }, + "DescribeBrokerEngineTypesRequest" : { + "type" : "structure", + "members" : { + "EngineType" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "engineType", + "documentation" : "Filter response by engine type." + }, + "MaxResults" : { + "shape" : "MaxResults", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "The maximum number of engine types that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." + } + } + }, + "DescribeBrokerEngineTypesResponse" : { + "type" : "structure", + "members" : { + "BrokerEngineTypes" : { + "shape" : "__listOfBrokerEngineType", + "locationName" : "brokerEngineTypes", + "documentation" : "List of available engine types and versions." + }, + "MaxResults" : { + "shape" : "__integerMin5Max100", + "locationName" : "maxResults", + "documentation" : "Required. The maximum number of engine types that can be returned per page (20 by default). This value must be an integer from 5 to 100." + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." + } + } + }, + "DescribeBrokerInstanceOptionsRequest" : { + "type" : "structure", + "members" : { + "EngineType" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "engineType", + "documentation" : "Filter response by engine type." + }, + "HostInstanceType" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "hostInstanceType", + "documentation" : "Filter response by host instance type." + }, + "MaxResults" : { + "shape" : "MaxResults", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "The maximum number of instance options that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." + } + } + }, + "DescribeBrokerInstanceOptionsResponse" : { + "type" : "structure", + "members" : { + "BrokerInstanceOptions" : { + "shape" : "__listOfBrokerInstanceOption", + "locationName" : "brokerInstanceOptions", + "documentation" : "List of available broker instance options." + }, + "MaxResults" : { + "shape" : "__integerMin5Max100", + "locationName" : "maxResults", + "documentation" : "Required. The maximum number of instance options that can be returned per page (20 by default). This value must be an integer from 5 to 100." + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." + } + } + }, "DescribeBrokerOutput" : { "type" : "structure", "members" : { @@ -1358,7 +1577,7 @@ "EngineVersion" : { "shape" : "__string", "locationName" : "engineVersion", - "documentation": "The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + "documentation" : "The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" }, "HostInstanceType" : { "shape" : "__string", @@ -1378,7 +1597,7 @@ "PendingEngineVersion" : { "shape" : "__string", "locationName" : "pendingEngineVersion", - "documentation": "The version of the broker engine to upgrade to. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + "documentation" : "The version of the broker engine to upgrade to. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" }, "PubliclyAccessible" : { "shape" : "__boolean", @@ -1395,10 +1614,10 @@ "locationName" : "subnetIds", "documentation" : "The list of groups (2 maximum) that define which subnets and IP ranges the broker can use from different Availability Zones. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets." }, - "Tags": { - "shape": "__mapOf__string", - "locationName": "tags", - "documentation": "The list of all tags associated with this broker." + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "The list of all tags associated with this broker." }, "Users" : { "shape" : "__listOfUserSummary", @@ -1406,7 +1625,7 @@ "documentation" : "The list of all ActiveMQ usernames for the specified broker." } }, - "documentation": "The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + "documentation" : "The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" }, "DescribeBrokerRequest" : { "type" : "structure", @@ -1476,7 +1695,7 @@ "EngineVersion" : { "shape" : "__string", "locationName" : "engineVersion", - "documentation": "The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + "documentation" : "The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" }, "HostInstanceType" : { "shape" : "__string", @@ -1496,7 +1715,7 @@ "PendingEngineVersion" : { "shape" : "__string", "locationName" : "pendingEngineVersion", - "documentation": "The version of the broker engine to upgrade to. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + "documentation" : "The version of the broker engine to upgrade to. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" }, "PubliclyAccessible" : { "shape" : "__boolean", @@ -1513,10 +1732,10 @@ "locationName" : "subnetIds", "documentation" : "The list of groups (2 maximum) that define which subnets and IP ranges the broker can use from different Availability Zones. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets." }, - "Tags": { - "shape": "__mapOf__string", - "locationName": "tags", - "documentation": "The list of all tags associated with this broker." + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "The list of all tags associated with this broker." }, "Users" : { "shape" : "__listOfUserSummary", @@ -1563,7 +1782,7 @@ "EngineVersion" : { "shape" : "__string", "locationName" : "engineVersion", - "documentation": "Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + "documentation" : "Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" }, "Id" : { "shape" : "__string", @@ -1580,10 +1799,10 @@ "locationName" : "name", "documentation" : "Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long." }, - "Tags": { - "shape": "__mapOf__string", - "locationName": "tags", - "documentation": "The list of all tags associated with this configuration." + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "The list of all tags associated with this configuration." } } }, @@ -1740,6 +1959,17 @@ "documentation" : "The type of broker engine. Note: Currently, Amazon MQ supports only ActiveMQ.", "enum" : [ "ACTIVEMQ" ] }, + "EngineVersion" : { + "type" : "structure", + "members" : { + "Name" : { + "shape" : "__string", + "locationName" : "name", + "documentation" : "Id for the version." + } + }, + "documentation" : "Id of the engine version." + }, "Error" : { "type" : "structure", "members" : { @@ -1977,27 +2207,25 @@ } } }, - "ListTagsRequest": { - "type": "structure", - "members": { - "ResourceArn": { - "shape": "__string", - "location": "uri", - "locationName": "resource-arn", - "documentation": "the Amazon Resource Name (ARN)" + "ListTagsRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resource-arn", + "documentation" : "The Amazon Resource Name (ARN) of the resource tag." } }, - "required": [ - "ResourceArn" - ] + "required" : [ "ResourceArn" ] }, - "ListTagsResponse": { - "type": "structure", - "members": { - "Tags": { - "shape": "__mapOf__string", - "locationName": "tags", - "documentation": "The key-value pair for the resource tag." + "ListTagsResponse" : { + "type" : "structure", + "members" : { + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "The key-value pair for the resource tag." } } }, @@ -2206,16 +2434,16 @@ "documentation" : "The reason for which the XML elements or attributes were sanitized.", "enum" : [ "DISALLOWED_ELEMENT_REMOVED", "DISALLOWED_ATTRIBUTE_REMOVED", "INVALID_ATTRIBUTE_VALUE_REMOVED" ] }, - "Tags": { - "type": "structure", - "members": { - "Tags": { - "shape": "__mapOf__string", - "locationName": "tags", - "documentation": "The key-value pair for the resource tag." + "Tags" : { + "type" : "structure", + "members" : { + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "The key-value pair for the resource tag." } }, - "documentation": "A map of the key-value pairs for the resource tag." + "documentation" : "A map of the key-value pairs for the resource tag." }, "UnauthorizedException" : { "type" : "structure", @@ -2253,7 +2481,7 @@ "EngineVersion" : { "shape" : "__string", "locationName" : "engineVersion", - "documentation": "The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + "documentation" : "The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" }, "Logs" : { "shape" : "Logs", @@ -2284,7 +2512,7 @@ "EngineVersion" : { "shape" : "__string", "locationName" : "engineVersion", - "documentation": "The version of the broker engine to upgrade to. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + "documentation" : "The version of the broker engine to upgrade to. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" }, "Logs" : { "shape" : "Logs", @@ -2316,7 +2544,7 @@ "EngineVersion" : { "shape" : "__string", "locationName" : "engineVersion", - "documentation": "The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + "documentation" : "The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" }, "Logs" : { "shape" : "Logs", @@ -2348,7 +2576,7 @@ "EngineVersion" : { "shape" : "__string", "locationName" : "engineVersion", - "documentation": "The version of the broker engine to upgrade to. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + "documentation" : "The version of the broker engine to upgrade to. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" }, "Logs" : { "shape" : "Logs", @@ -2624,12 +2852,30 @@ "min" : 5, "max" : 100 }, + "__listOfAvailabilityZone" : { + "type" : "list", + "member" : { + "shape" : "AvailabilityZone" + } + }, + "__listOfBrokerEngineType" : { + "type" : "list", + "member" : { + "shape" : "BrokerEngineType" + } + }, "__listOfBrokerInstance" : { "type" : "list", "member" : { "shape" : "BrokerInstance" } }, + "__listOfBrokerInstanceOption" : { + "type" : "list", + "member" : { + "shape" : "BrokerInstanceOption" + } + }, "__listOfBrokerSummary" : { "type" : "list", "member" : { @@ -2654,6 +2900,12 @@ "shape" : "ConfigurationRevision" } }, + "__listOfEngineVersion" : { + "type" : "list", + "member" : { + "shape" : "EngineVersion" + } + }, "__listOfSanitizationWarning" : { "type" : "list", "member" : { @@ -2681,13 +2933,13 @@ "__long" : { "type" : "long" }, - "__mapOf__string": { - "type": "map", - "key": { - "shape": "__string" + "__mapOf__string" : { + "type" : "map", + "key" : { + "shape" : "__string" }, - "value": { - "shape": "__string" + "value" : { + "shape" : "__string" } }, "__string" : { diff --git a/bin/botocore/data/neptune/2014-10-31/paginators-1.json b/bin/botocore/data/neptune/2014-10-31/paginators-1.json index f1a247f7..a93bd84d 100644 --- a/bin/botocore/data/neptune/2014-10-31/paginators-1.json +++ b/bin/botocore/data/neptune/2014-10-31/paginators-1.json @@ -53,6 +53,36 @@ "limit_key": "MaxRecords", "output_token": "Marker", "result_key": "OrderableDBInstanceOptions" + }, + "DescribeDBClusterParameterGroups": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "DBClusterParameterGroups" + }, + "DescribeDBClusterParameters": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "Parameters" + }, + "DescribeDBClusterSnapshots": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "DBClusterSnapshots" + }, + "DescribeDBClusters": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "DBClusters" + }, + "DescribePendingMaintenanceActions": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "PendingMaintenanceActions" } } } diff --git a/bin/botocore/data/neptune/2014-10-31/service-2.json b/bin/botocore/data/neptune/2014-10-31/service-2.json index bb7d1563..cf3ebb8e 100644 --- a/bin/botocore/data/neptune/2014-10-31/service-2.json +++ b/bin/botocore/data/neptune/2014-10-31/service-2.json @@ -26,7 +26,7 @@ {"shape":"InvalidDBClusterStateFault"}, {"shape":"DBClusterRoleQuotaExceededFault"} ], - "documentation":"

Associates an Identity and Access Management (IAM) role from an Neptune DB cluster.

" + "documentation":"

Associates an Identity and Access Management (IAM) role from an Neptune DB cluster.

" }, "AddSourceIdentifierToSubscription":{ "name":"AddSourceIdentifierToSubscription", @@ -112,7 +112,7 @@ {"shape":"SnapshotQuotaExceededFault"}, {"shape":"KMSKeyNotAccessibleFault"} ], - "documentation":"

Copies a snapshot of a DB cluster.

To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.

You can copy an encrypted DB cluster snapshot from another AWS Region. In that case, the AWS Region where you call the CopyDBClusterSnapshot action is the destination AWS Region for the encrypted DB cluster snapshot to be copied to. To copy an encrypted DB cluster snapshot from another AWS Region, you must provide the following values:

  • KmsKeyId - The AWS Key Management System (AWS KMS) key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region.

  • PreSignedUrl - A URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot action to be called in the source AWS Region where the DB cluster snapshot is copied from. The pre-signed URL must be a valid request for the CopyDBClusterSnapshot API action that can be executed in the source AWS Region that contains the encrypted DB cluster snapshot to be copied.

    The pre-signed URL request must contain the following parameter values:

    • KmsKeyId - The KMS key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region. This is the same identifier for both the CopyDBClusterSnapshot action that is called in the destination AWS Region, and the action contained in the pre-signed URL.

    • DestinationRegion - The name of the AWS Region that the DB cluster snapshot will be created in.

    • SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB cluster snapshot from the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:neptune-cluster1-snapshot-20161115.

    To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

  • TargetDBClusterSnapshotIdentifier - The identifier for the new copy of the DB cluster snapshot in the destination AWS Region.

  • SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the ARN format for the source AWS Region and is the same value as the SourceDBClusterSnapshotIdentifier in the pre-signed URL.

To cancel the copy operation once it is in progress, delete the target DB cluster snapshot identified by TargetDBClusterSnapshotIdentifier while that DB cluster snapshot is in \"copying\" status.

" + "documentation":"

Copies a snapshot of a DB cluster.

To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.

You can't copy from one AWS Region to another.

" }, "CopyDBParameterGroup":{ "name":"CopyDBParameterGroup", @@ -160,7 +160,7 @@ {"shape":"DBInstanceNotFoundFault"}, {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"} ], - "documentation":"

Creates a new Amazon Neptune DB cluster.

You can use the ReplicationSourceIdentifier parameter to create the DB cluster as a Read Replica of another DB cluster or Amazon Neptune DB instance. For cross-region replication where the DB cluster identified by ReplicationSourceIdentifier is encrypted, you must also specify the PreSignedUrl parameter.

" + "documentation":"

Creates a new Amazon Neptune DB cluster.

You can use the ReplicationSourceIdentifier parameter to create the DB cluster as a Read Replica of another DB cluster or Amazon Neptune DB instance.

" }, "CreateDBClusterParameterGroup":{ "name":"CreateDBClusterParameterGroup", @@ -177,7 +177,7 @@ {"shape":"DBParameterGroupQuotaExceededFault"}, {"shape":"DBParameterGroupAlreadyExistsFault"} ], - "documentation":"

Creates a new DB cluster parameter group.

Parameters in a DB cluster parameter group apply to all of the instances in a DB cluster.

A DB cluster parameter group is initially created with the default parameters for the database engine used by instances in the DB cluster. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBClusterParameterGroup. Once you've created a DB cluster parameter group, you need to associate it with your DB cluster using ModifyDBCluster. When you associate a new DB cluster parameter group with a running DB cluster, you need to reboot the DB instances in the DB cluster without failover for the new DB cluster parameter group and associated settings to take effect.

After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon Neptune to fully complete the create action before the DB cluster parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon Neptune console or the DescribeDBClusterParameters command to verify that your DB cluster parameter group has been created or modified.

" + "documentation":"

Creates a new DB cluster parameter group.

Parameters in a DB cluster parameter group apply to all of the instances in a DB cluster.

A DB cluster parameter group is initially created with the default parameters for the database engine used by instances in the DB cluster. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBClusterParameterGroup. Once you've created a DB cluster parameter group, you need to associate it with your DB cluster using ModifyDBCluster. When you associate a new DB cluster parameter group with a running DB cluster, you need to reboot the DB instances in the DB cluster without failover for the new DB cluster parameter group and associated settings to take effect.

After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon Neptune to fully complete the create action before the DB cluster parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon Neptune console or the DescribeDBClusterParameters command to verify that your DB cluster parameter group has been created or modified.

" }, "CreateDBClusterSnapshot":{ "name":"CreateDBClusterSnapshot", @@ -197,7 +197,7 @@ {"shape":"SnapshotQuotaExceededFault"}, {"shape":"InvalidDBClusterSnapshotStateFault"} ], - "documentation":"

Creates a snapshot of a DB cluster.

" + "documentation":"

Creates a snapshot of a DB cluster.

" }, "CreateDBInstance":{ "name":"CreateDBInstance", @@ -247,7 +247,7 @@ {"shape":"DBParameterGroupQuotaExceededFault"}, {"shape":"DBParameterGroupAlreadyExistsFault"} ], - "documentation":"

Creates a new DB parameter group.

A DB parameter group is initially created with the default parameters for the database engine used by the DB instance. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBParameterGroup. Once you've created a DB parameter group, you need to associate it with your DB instance using ModifyDBInstance. When you associate a new DB parameter group with a running DB instance, you need to reboot the DB instance without failover for the new DB parameter group and associated settings to take effect.

After you create a DB parameter group, you should wait at least 5 minutes before creating your first DB instance that uses that DB parameter group as the default parameter group. This allows Amazon Neptune to fully complete the create action before the parameter group is used as the default for a new DB instance. This is especially important for parameters that are critical when creating the default database for a DB instance, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon Neptune console or the DescribeDBParameters command to verify that your DB parameter group has been created or modified.

" + "documentation":"

Creates a new DB parameter group.

A DB parameter group is initially created with the default parameters for the database engine used by the DB instance. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBParameterGroup. Once you've created a DB parameter group, you need to associate it with your DB instance using ModifyDBInstance. When you associate a new DB parameter group with a running DB instance, you need to reboot the DB instance without failover for the new DB parameter group and associated settings to take effect.

After you create a DB parameter group, you should wait at least 5 minutes before creating your first DB instance that uses that DB parameter group as the default parameter group. This allows Amazon Neptune to fully complete the create action before the parameter group is used as the default for a new DB instance. This is especially important for parameters that are critical when creating the default database for a DB instance, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon Neptune console or the DescribeDBParameters command to verify that your DB parameter group has been created or modified.

" }, "CreateDBSubnetGroup":{ "name":"CreateDBSubnetGroup", @@ -309,7 +309,7 @@ {"shape":"SnapshotQuotaExceededFault"}, {"shape":"InvalidDBClusterSnapshotStateFault"} ], - "documentation":"

The DeleteDBCluster action deletes a previously provisioned DB cluster. When you delete a DB cluster, all automated backups for that DB cluster are deleted and can't be recovered. Manual DB cluster snapshots of the specified DB cluster are not deleted.

" + "documentation":"

The DeleteDBCluster action deletes a previously provisioned DB cluster. When you delete a DB cluster, all automated backups for that DB cluster are deleted and can't be recovered. Manual DB cluster snapshots of the specified DB cluster are not deleted.

" }, "DeleteDBClusterParameterGroup":{ "name":"DeleteDBClusterParameterGroup", @@ -359,7 +359,7 @@ {"shape":"SnapshotQuotaExceededFault"}, {"shape":"InvalidDBClusterStateFault"} ], - "documentation":"

The DeleteDBInstance action deletes a previously provisioned DB instance. When you delete a DB instance, all automated backups for that instance are deleted and can't be recovered. Manual DB snapshots of the DB instance to be deleted by DeleteDBInstance are not deleted.

If you request a final DB snapshot the status of the Amazon Neptune DB instance is deleting until the DB snapshot is created. The API action DescribeDBInstance is used to monitor the status of this operation. The action can't be canceled or reverted once submitted.

Note that when a DB instance is in a failure state and has a status of failed, incompatible-restore, or incompatible-network, you can only delete it when the SkipFinalSnapshot parameter is set to true.

If the specified DB instance is part of a DB cluster, you can't delete the DB instance if both of the following conditions are true:

  • The DB cluster is a Read Replica of another DB cluster.

  • The DB instance is the only instance in the DB cluster.

To delete a DB instance in this case, first call the PromoteReadReplicaDBCluster API action to promote the DB cluster so it's no longer a Read Replica. After the promotion completes, then call the DeleteDBInstance API action to delete the final instance in the DB cluster.

" + "documentation":"

The DeleteDBInstance action deletes a previously provisioned DB instance. When you delete a DB instance, all automated backups for that instance are deleted and can't be recovered. Manual DB snapshots of the DB instance to be deleted by DeleteDBInstance are not deleted.

If you request a final DB snapshot the status of the Amazon Neptune DB instance is deleting until the DB snapshot is created. The API action DescribeDBInstance is used to monitor the status of this operation. The action can't be canceled or reverted once submitted.

Note that when a DB instance is in a failure state and has a status of failed, incompatible-restore, or incompatible-network, you can only delete it when the SkipFinalSnapshot parameter is set to true.

You can't delete a DB instance if it is the only instance in the DB cluster.

" }, "DeleteDBParameterGroup":{ "name":"DeleteDBParameterGroup", @@ -419,7 +419,7 @@ "errors":[ {"shape":"DBParameterGroupNotFoundFault"} ], - "documentation":"

Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName parameter is specified, the list will contain only the description of the specified DB cluster parameter group.

" + "documentation":"

Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName parameter is specified, the list will contain only the description of the specified DB cluster parameter group.

" }, "DescribeDBClusterParameters":{ "name":"DescribeDBClusterParameters", @@ -528,7 +528,7 @@ "errors":[ {"shape":"DBParameterGroupNotFoundFault"} ], - "documentation":"

Returns a list of DBParameterGroup descriptions. If a DBParameterGroupName is specified, the list will contain only the description of the specified DB parameter group.

" + "documentation":"

Returns a list of DBParameterGroup descriptions. If a DBParameterGroupName is specified, the list will contain only the description of the specified DB parameter group.

" }, "DescribeDBParameters":{ "name":"DescribeDBParameters", @@ -560,7 +560,7 @@ "errors":[ {"shape":"DBSubnetGroupNotFoundFault"} ], - "documentation":"

Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified, the list will contain only the descriptions of the specified DBSubnetGroup.

For an overview of CIDR ranges, go to the Wikipedia Tutorial.

" + "documentation":"

Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified, the list will contain only the descriptions of the specified DBSubnetGroup.

For an overview of CIDR ranges, go to the Wikipedia Tutorial.

" }, "DescribeEngineDefaultClusterParameters":{ "name":"DescribeEngineDefaultClusterParameters", @@ -599,7 +599,7 @@ "shape":"EventCategoriesMessage", "resultWrapper":"DescribeEventCategoriesResult" }, - "documentation":"

Displays a list of categories for all event source types, or, if specified, for a specified source type.

" + "documentation":"

Displays a list of categories for all event source types, or, if specified, for a specified source type.

" }, "DescribeEventSubscriptions":{ "name":"DescribeEventSubscriptions", @@ -674,7 +674,7 @@ {"shape":"DBInstanceNotFoundFault"}, {"shape":"InvalidDBInstanceStateFault"} ], - "documentation":"

You can call DescribeValidDBInstanceModifications to learn what modifications you can make to your DB instance. You can use this information when you call ModifyDBInstance.

" + "documentation":"

You can call DescribeValidDBInstanceModifications to learn what modifications you can make to your DB instance. You can use this information when you call ModifyDBInstance.

" }, "FailoverDBCluster":{ "name":"FailoverDBCluster", @@ -736,7 +736,7 @@ {"shape":"InvalidDBInstanceStateFault"}, {"shape":"DBClusterAlreadyExistsFault"} ], - "documentation":"

Modify a setting for a DB cluster. You can change one or more database configuration parameters by specifying these parameters and the new values in the request.

" + "documentation":"

Modify a setting for a DB cluster. You can change one or more database configuration parameters by specifying these parameters and the new values in the request.

" }, "ModifyDBClusterParameterGroup":{ "name":"ModifyDBClusterParameterGroup", @@ -753,7 +753,7 @@ {"shape":"DBParameterGroupNotFoundFault"}, {"shape":"InvalidDBParameterGroupStateFault"} ], - "documentation":"

Modifies the parameters of a DB cluster parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB cluster associated with the parameter group before the change can take effect.

After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon Neptune to fully complete the create action before the parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon Neptune console or the DescribeDBClusterParameters command to verify that your DB cluster parameter group has been created or modified.

" + "documentation":"

Modifies the parameters of a DB cluster parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB cluster associated with the parameter group before the change can take effect.

After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon Neptune to fully complete the create action before the parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon Neptune console or the DescribeDBClusterParameters command to verify that your DB cluster parameter group has been created or modified.

" }, "ModifyDBClusterSnapshotAttribute":{ "name":"ModifyDBClusterSnapshotAttribute", @@ -802,7 +802,7 @@ {"shape":"CertificateNotFoundFault"}, {"shape":"DomainNotFoundFault"} ], - "documentation":"

Modifies settings for a DB instance. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. To learn what modifications you can make to your DB instance, call DescribeValidDBInstanceModifications before you call ModifyDBInstance.

" + "documentation":"

Modifies settings for a DB instance. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. To learn what modifications you can make to your DB instance, call DescribeValidDBInstanceModifications before you call ModifyDBInstance.

" }, "ModifyDBParameterGroup":{ "name":"ModifyDBParameterGroup", @@ -819,7 +819,7 @@ {"shape":"DBParameterGroupNotFoundFault"}, {"shape":"InvalidDBParameterGroupStateFault"} ], - "documentation":"

Modifies the parameters of a DB parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB instance associated with the parameter group before the change can take effect.

After you modify a DB parameter group, you should wait at least 5 minutes before creating your first DB instance that uses that DB parameter group as the default parameter group. This allows Amazon Neptune to fully complete the modify action before the parameter group is used as the default for a new DB instance. This is especially important for parameters that are critical when creating the default database for a DB instance, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon Neptune console or the DescribeDBParameters command to verify that your DB parameter group has been created or modified.

" + "documentation":"

Modifies the parameters of a DB parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB instance associated with the parameter group before the change can take effect.

After you modify a DB parameter group, you should wait at least 5 minutes before creating your first DB instance that uses that DB parameter group as the default parameter group. This allows Amazon Neptune to fully complete the modify action before the parameter group is used as the default for a new DB instance. This is especially important for parameters that are critical when creating the default database for a DB instance, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon Neptune console or the DescribeDBParameters command to verify that your DB parameter group has been created or modified.

" }, "ModifyDBSubnetGroup":{ "name":"ModifyDBSubnetGroup", @@ -877,7 +877,7 @@ {"shape":"DBClusterNotFoundFault"}, {"shape":"InvalidDBClusterStateFault"} ], - "documentation":"

Promotes a Read Replica DB cluster to a standalone DB cluster.

" + "documentation":"

Not supported.

" }, "RebootDBInstance":{ "name":"RebootDBInstance", @@ -894,7 +894,7 @@ {"shape":"InvalidDBInstanceStateFault"}, {"shape":"DBInstanceNotFoundFault"} ], - "documentation":"

You might need to reboot your DB instance, usually for maintenance reasons. For example, if you make certain modifications, or if you change the DB parameter group associated with the DB instance, you must reboot the instance for the changes to take effect.

Rebooting a DB instance restarts the database engine service. Rebooting a DB instance results in a momentary outage, during which the DB instance status is set to rebooting.

" + "documentation":"

You might need to reboot your DB instance, usually for maintenance reasons. For example, if you make certain modifications, or if you change the DB parameter group associated with the DB instance, you must reboot the instance for the changes to take effect.

Rebooting a DB instance restarts the database engine service. Rebooting a DB instance results in a momentary outage, during which the DB instance status is set to rebooting.

" }, "RemoveRoleFromDBCluster":{ "name":"RemoveRoleFromDBCluster", @@ -908,7 +908,7 @@ {"shape":"DBClusterRoleNotFoundFault"}, {"shape":"InvalidDBClusterStateFault"} ], - "documentation":"

Disassociates an Identity and Access Management (IAM) role from a DB cluster.

" + "documentation":"

Disassociates an Identity and Access Management (IAM) role from a DB cluster.

" }, "RemoveSourceIdentifierFromSubscription":{ "name":"RemoveSourceIdentifierFromSubscription", @@ -956,7 +956,7 @@ {"shape":"InvalidDBParameterGroupStateFault"}, {"shape":"DBParameterGroupNotFoundFault"} ], - "documentation":"

Modifies the parameters of a DB cluster parameter group to the default value. To reset specific parameters submit a list of the following: ParameterName and ApplyMethod. To reset the entire DB cluster parameter group, specify the DBClusterParameterGroupName and ResetAllParameters parameters.

When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance restart or RebootDBInstance request. You must call RebootDBInstance for every DB instance in your DB cluster that you want the updated static parameter to apply to.

" + "documentation":"

Modifies the parameters of a DB cluster parameter group to the default value. To reset specific parameters submit a list of the following: ParameterName and ApplyMethod. To reset the entire DB cluster parameter group, specify the DBClusterParameterGroupName and ResetAllParameters parameters.

When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance restart or RebootDBInstance request. You must call RebootDBInstance for every DB instance in your DB cluster that you want the updated static parameter to apply to.

" }, "ResetDBParameterGroup":{ "name":"ResetDBParameterGroup", @@ -973,7 +973,7 @@ {"shape":"InvalidDBParameterGroupStateFault"}, {"shape":"DBParameterGroupNotFoundFault"} ], - "documentation":"

Modifies the parameters of a DB parameter group to the engine/system default value. To reset specific parameters, provide a list of the following: ParameterName and ApplyMethod. To reset the entire DB parameter group, specify the DBParameterGroup name and ResetAllParameters parameters. When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance restart or RebootDBInstance request.

" + "documentation":"

Modifies the parameters of a DB parameter group to the engine/system default value. To reset specific parameters, provide a list of the following: ParameterName and ApplyMethod. To reset the entire DB parameter group, specify the DBParameterGroup name and ResetAllParameters parameters. When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance restart or RebootDBInstance request.

" }, "RestoreDBClusterFromSnapshot":{ "name":"RestoreDBClusterFromSnapshot", @@ -1003,7 +1003,8 @@ {"shape":"DBSubnetGroupNotFoundFault"}, {"shape":"InvalidSubnet"}, {"shape":"OptionGroupNotFoundFault"}, - {"shape":"KMSKeyNotAccessibleFault"} + {"shape":"KMSKeyNotAccessibleFault"}, + {"shape":"DBClusterParameterGroupNotFoundFault"} ], "documentation":"

Creates a new DB cluster from a DB snapshot or DB cluster snapshot.

If a DB snapshot is specified, the target DB cluster is created from the source DB snapshot with a default configuration and default security group.

If a DB cluster snapshot is specified, the target DB cluster is created from the source DB cluster restore point with the same configuration as the original source DB cluster, except that the new DB cluster is created with the default security group.

" }, @@ -1034,9 +1035,10 @@ {"shape":"InvalidVPCNetworkStateFault"}, {"shape":"KMSKeyNotAccessibleFault"}, {"shape":"OptionGroupNotFoundFault"}, - {"shape":"StorageQuotaExceededFault"} + {"shape":"StorageQuotaExceededFault"}, + {"shape":"DBClusterParameterGroupNotFoundFault"} ], - "documentation":"

Restores a DB cluster to an arbitrary point in time. Users can restore to any point in time before LatestRestorableTime for up to BackupRetentionPeriod days. The target DB cluster is created from the source DB cluster with the same configuration as the original DB cluster, except that the new DB cluster is created with the default DB security group.

This action only restores the DB cluster, not the DB instances for that DB cluster. You must invoke the CreateDBInstance action to create DB instances for the restored DB cluster, specifying the identifier of the restored DB cluster in DBClusterIdentifier. You can create DB instances only after the RestoreDBClusterToPointInTime action has completed and the DB cluster is available.

" + "documentation":"

Restores a DB cluster to an arbitrary point in time. Users can restore to any point in time before LatestRestorableTime for up to BackupRetentionPeriod days. The target DB cluster is created from the source DB cluster with the same configuration as the original DB cluster, except that the new DB cluster is created with the default DB security group.

This action only restores the DB cluster, not the DB instances for that DB cluster. You must invoke the CreateDBInstance action to create DB instances for the restored DB cluster, specifying the identifier of the restored DB cluster in DBClusterIdentifier. You can create DB instances only after the RestoreDBClusterToPointInTime action has completed and the DB cluster is available.

" } }, "shapes":{ @@ -1072,8 +1074,7 @@ "shape":"String", "documentation":"

The identifier of the event source to be added.

Constraints:

  • If the source type is a DB instance, then a DBInstanceIdentifier must be supplied.

  • If the source type is a DB security group, a DBSecurityGroupName must be supplied.

  • If the source type is a DB parameter group, a DBParameterGroupName must be supplied.

  • If the source type is a DB snapshot, a DBSnapshotIdentifier must be supplied.

" } - }, - "documentation":"

" + } }, "AddSourceIdentifierToSubscriptionResult":{ "type":"structure", @@ -1090,14 +1091,13 @@ "members":{ "ResourceName":{ "shape":"String", - "documentation":"

The Amazon Neptune resource that the tags are added to. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an Amazon Resource Name (ARN).

" + "documentation":"

The Amazon Neptune resource that the tags are added to. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an Amazon Resource Name (ARN).

" }, "Tags":{ "shape":"TagList", "documentation":"

The tags to be assigned to the Amazon Neptune resource.

" } - }, - "documentation":"

" + } }, "ApplyMethod":{ "type":"string", @@ -1116,7 +1116,7 @@ "members":{ "ResourceIdentifier":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the resource that the pending maintenance action applies to. For information about creating an ARN, see Constructing an Amazon Resource Name (ARN).

" + "documentation":"

The Amazon Resource Name (ARN) of the resource that the pending maintenance action applies to. For information about creating an ARN, see Constructing an Amazon Resource Name (ARN).

" }, "ApplyAction":{ "shape":"String", @@ -1126,8 +1126,7 @@ "shape":"String", "documentation":"

A value that specifies the type of opt-in request, or undoes an opt-in request. An opt-in request of type immediate can't be undone.

Valid values:

  • immediate - Apply the maintenance action immediately.

  • next-maintenance - Apply the maintenance action during the next maintenance window for the resource.

  • undo-opt-in - Cancel any existing next-maintenance opt-in requests.

" } - }, - "documentation":"

" + } }, "ApplyPendingMaintenanceActionResult":{ "type":"structure", @@ -1162,7 +1161,7 @@ "documentation":"

The name of the availability zone.

" } }, - "documentation":"

Contains Availability Zone information.

This data type is used as an element in the following data type:

", + "documentation":"

Specifies an Availability Zone.

", "wrapper":true }, "AvailabilityZoneList":{ @@ -1185,7 +1184,7 @@ "type":"structure", "members":{ }, - "documentation":"

CertificateIdentifier does not refer to an existing certificate.

", + "documentation":"

CertificateIdentifier does not refer to an existing certificate.

", "error":{ "code":"CertificateNotFound", "httpStatusCode":404, @@ -1205,7 +1204,7 @@ "documentation":"

The description of the character set.

" } }, - "documentation":"

This data type is used as a response element in the action DescribeDBEngineVersions.

" + "documentation":"

Specifies a character set.

" }, "CloudwatchLogsExportConfiguration":{ "type":"structure", @@ -1219,7 +1218,7 @@ "documentation":"

The list of log types to disable.

" } }, - "documentation":"

The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance or DB cluster.

" + "documentation":"

The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance or DB cluster.

The EnableLogTypes and DisableLogTypes arrays determine which logs will be exported (or not exported) to CloudWatch Logs.

" }, "CopyDBClusterParameterGroupMessage":{ "type":"structure", @@ -1231,7 +1230,7 @@ "members":{ "SourceDBClusterParameterGroupIdentifier":{ "shape":"String", - "documentation":"

The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter group. For information about creating an ARN, see Constructing an Amazon Resource Name (ARN).

Constraints:

  • Must specify a valid DB cluster parameter group.

  • If the source DB cluster parameter group is in the same AWS Region as the copy, specify a valid DB parameter group identifier, for example my-db-cluster-param-group, or a valid ARN.

  • If the source DB parameter group is in a different AWS Region than the copy, specify a valid DB cluster parameter group ARN, for example arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1.

" + "documentation":"

The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter group. For information about creating an ARN, see Constructing an Amazon Resource Name (ARN).

Constraints:

  • Must specify a valid DB cluster parameter group.

  • If the source DB cluster parameter group is in the same AWS Region as the copy, specify a valid DB parameter group identifier, for example my-db-cluster-param-group, or a valid ARN.

  • If the source DB parameter group is in a different AWS Region than the copy, specify a valid DB cluster parameter group ARN, for example arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1.

" }, "TargetDBClusterParameterGroupIdentifier":{ "shape":"String", @@ -1241,7 +1240,10 @@ "shape":"String", "documentation":"

A description for the copied DB cluster parameter group.

" }, - "Tags":{"shape":"TagList"} + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the copied DB cluster parameter group.

" + } } }, "CopyDBClusterParameterGroupResult":{ @@ -1259,7 +1261,7 @@ "members":{ "SourceDBClusterSnapshotIdentifier":{ "shape":"String", - "documentation":"

The identifier of the DB cluster snapshot to copy. This parameter is not case-sensitive.

You can't copy an encrypted, shared DB cluster snapshot from one AWS Region to another.

Constraints:

  • Must specify a valid system snapshot in the \"available\" state.

  • If the source snapshot is in the same AWS Region as the copy, specify a valid DB snapshot identifier.

  • If the source snapshot is in a different AWS Region than the copy, specify a valid DB cluster snapshot ARN.

Example: my-cluster-snapshot1

" + "documentation":"

The identifier of the DB cluster snapshot to copy. This parameter is not case-sensitive.

You can't copy from one AWS Region to another.

Constraints:

  • Must specify a valid system snapshot in the \"available\" state.

  • Specify a valid DB snapshot identifier.

Example: my-cluster-snapshot1

" }, "TargetDBClusterSnapshotIdentifier":{ "shape":"String", @@ -1267,19 +1269,21 @@ }, "KmsKeyId":{ "shape":"String", - "documentation":"

The AWS AWS KMS key ID for an encrypted DB cluster snapshot. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

If you copy an unencrypted DB cluster snapshot and specify a value for the KmsKeyId parameter, Amazon Neptune encrypts the target DB cluster snapshot using the specified KMS encryption key.

If you copy an encrypted DB cluster snapshot from your AWS account, you can specify a value for KmsKeyId to encrypt the copy with a new KMS encryption key. If you don't specify a value for KmsKeyId, then the copy of the DB cluster snapshot is encrypted with the same KMS key as the source DB cluster snapshot.

If you copy an encrypted DB cluster snapshot that is shared from another AWS account, then you must specify a value for KmsKeyId.

To copy an encrypted DB cluster snapshot to another AWS Region, you must set KmsKeyId to the KMS key ID you want to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region. KMS encryption keys are specific to the AWS Region that they are created in, and you can't use encryption keys from one AWS Region in another AWS Region.

" + "documentation":"

The AWS AWS KMS key ID for an encrypted DB cluster snapshot. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

If you copy an unencrypted DB cluster snapshot and specify a value for the KmsKeyId parameter, Amazon Neptune encrypts the target DB cluster snapshot using the specified KMS encryption key.

If you copy an encrypted DB cluster snapshot from your AWS account, you can specify a value for KmsKeyId to encrypt the copy with a new KMS encryption key. If you don't specify a value for KmsKeyId, then the copy of the DB cluster snapshot is encrypted with the same KMS key as the source DB cluster snapshot.

If you copy an encrypted DB cluster snapshot that is shared from another AWS account, then you must specify a value for KmsKeyId.

KMS encryption keys are specific to the AWS Region that they are created in, and you can't use encryption keys from one AWS Region in another AWS Region.

" }, "PreSignedUrl":{ "shape":"String", - "documentation":"

The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot API action in the AWS Region that contains the source DB cluster snapshot to copy. The PreSignedUrl parameter must be used when copying an encrypted DB cluster snapshot from another AWS Region.

The pre-signed URL must be a valid request for the CopyDBSClusterSnapshot API action that can be executed in the source AWS Region that contains the encrypted DB cluster snapshot to be copied. The pre-signed URL request must contain the following parameter values:

  • KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region. This is the same identifier for both the CopyDBClusterSnapshot action that is called in the destination AWS Region, and the action contained in the pre-signed URL.

  • DestinationRegion - The name of the AWS Region that the DB cluster snapshot will be created in.

  • SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB cluster snapshot from the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:neptune-cluster1-snapshot-20161115.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

" + "documentation":"

Not currently supported.

" }, "CopyTags":{ "shape":"BooleanOptional", "documentation":"

True to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot, and otherwise false. The default is false.

" }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to assign to the new DB cluster snapshot copy.

" + } + } }, "CopyDBClusterSnapshotResult":{ "type":"structure", @@ -1297,19 +1301,21 @@ "members":{ "SourceDBParameterGroupIdentifier":{ "shape":"String", - "documentation":"

The identifier or ARN for the source DB parameter group. For information about creating an ARN, see Constructing an Amazon Resource Name (ARN).

Constraints:

  • Must specify a valid DB parameter group.

  • Must specify a valid DB parameter group identifier, for example my-db-param-group, or a valid ARN.

" + "documentation":"

The identifier or ARN for the source DB parameter group. For information about creating an ARN, see Constructing an Amazon Resource Name (ARN).

Constraints:

  • Must specify a valid DB parameter group.

  • Must specify a valid DB parameter group identifier, for example my-db-param-group, or a valid ARN.

" }, "TargetDBParameterGroupIdentifier":{ "shape":"String", - "documentation":"

The identifier for the copied DB parameter group.

Constraints:

  • Cannot be null, empty, or blank

  • Must contain from 1 to 255 letters, numbers, or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-db-parameter-group

" + "documentation":"

The identifier for the copied DB parameter group.

Constraints:

  • Cannot be null, empty, or blank.

  • Must contain from 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-db-parameter-group

" }, "TargetDBParameterGroupDescription":{ "shape":"String", "documentation":"

A description for the copied DB parameter group.

" }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the copied DB parameter group.

" + } + } }, "CopyDBParameterGroupResult":{ "type":"structure", @@ -1326,7 +1332,7 @@ "members":{ "AvailabilityZones":{ "shape":"AvailabilityZones", - "documentation":"

A list of EC2 Availability Zones that instances in the DB cluster can be created in.

" + "documentation":"

A list of EC2 Availability Zones that instances in the DB cluster can be created in.

" }, "BackupRetentionPeriod":{ "shape":"IntegerOptional", @@ -1346,7 +1352,7 @@ }, "DBClusterParameterGroupName":{ "shape":"String", - "documentation":"

The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, the default is used.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

" + "documentation":"

The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, the default is used.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

" }, "VpcSecurityGroupIds":{ "shape":"VpcSecurityGroupIdList", @@ -1382,35 +1388,41 @@ }, "PreferredBackupWindow":{ "shape":"String", - "documentation":"

The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon Neptune User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" + "documentation":"

The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon Neptune User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" }, "PreferredMaintenanceWindow":{ "shape":"String", - "documentation":"

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon Neptune User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

" + "documentation":"

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon Neptune User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

" }, "ReplicationSourceIdentifier":{ "shape":"String", "documentation":"

The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a Read Replica.

" }, - "Tags":{"shape":"TagList"}, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to assign to the new DB cluster.

" + }, "StorageEncrypted":{ "shape":"BooleanOptional", "documentation":"

Specifies whether the DB cluster is encrypted.

" }, "KmsKeyId":{ "shape":"String", - "documentation":"

The AWS KMS key identifier for an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

If an encryption key is not specified in KmsKeyId:

  • If ReplicationSourceIdentifier identifies an encrypted source, then Amazon Neptune will use the encryption key used to encrypt the source. Otherwise, Amazon Neptune will use your default encryption key.

  • If the StorageEncrypted parameter is true and ReplicationSourceIdentifier is not specified, then Amazon Neptune will use your default encryption key.

AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

If you create a Read Replica of an encrypted DB cluster in another AWS Region, you must set KmsKeyId to a KMS key ID that is valid in the destination AWS Region. This key is used to encrypt the Read Replica in that AWS Region.

" + "documentation":"

The AWS KMS key identifier for an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

If an encryption key is not specified in KmsKeyId:

  • If ReplicationSourceIdentifier identifies an encrypted source, then Amazon Neptune will use the encryption key used to encrypt the source. Otherwise, Amazon Neptune will use your default encryption key.

  • If the StorageEncrypted parameter is true and ReplicationSourceIdentifier is not specified, then Amazon Neptune will use your default encryption key.

AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

If you create a Read Replica of an encrypted DB cluster in another AWS Region, you must set KmsKeyId to a KMS key ID that is valid in the destination AWS Region. This key is used to encrypt the Read Replica in that AWS Region.

" }, "PreSignedUrl":{ "shape":"String", - "documentation":"

A URL that contains a Signature Version 4 signed request for the CreateDBCluster action to be called in the source AWS Region where the DB cluster is replicated from. You only need to specify PreSignedUrl when you are performing cross-region replication from an encrypted DB cluster.

The pre-signed URL must be a valid request for the CreateDBCluster API action that can be executed in the source AWS Region that contains the encrypted DB cluster to be copied.

The pre-signed URL request must contain the following parameter values:

  • KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the copy of the DB cluster in the destination AWS Region. This should refer to the same KMS key for both the CreateDBCluster action that is called in the destination AWS Region, and the action contained in the pre-signed URL.

  • DestinationRegion - The name of the AWS Region that Read Replica will be created in.

  • ReplicationSourceIdentifier - The DB cluster identifier for the encrypted DB cluster to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB cluster from the us-west-2 AWS Region, then your ReplicationSourceIdentifier would look like Example: arn:aws:rds:us-west-2:123456789012:cluster:neptune-cluster1.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

" + "documentation":"

This parameter is not currently supported.

" }, "EnableIAMDatabaseAuthentication":{ "shape":"BooleanOptional", "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" + }, + "EnableCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

The list of log types that need to be enabled for exporting to CloudWatch Logs.

" } - }, - "documentation":"

" + } }, "CreateDBClusterParameterGroupMessage":{ "type":"structure", @@ -1432,9 +1444,11 @@ "shape":"String", "documentation":"

The description for the DB cluster parameter group.

" }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the new DB cluster parameter group.

" + } + } }, "CreateDBClusterParameterGroupResult":{ "type":"structure", @@ -1467,8 +1481,7 @@ "shape":"TagList", "documentation":"

The tags to be assigned to the DB cluster snapshot.

" } - }, - "documentation":"

" + } }, "CreateDBClusterSnapshotResult":{ "type":"structure", @@ -1486,7 +1499,7 @@ "members":{ "DBName":{ "shape":"String", - "documentation":"

The database name.

Type: String

" + "documentation":"

Not supported.

" }, "DBInstanceIdentifier":{ "shape":"String", @@ -1498,11 +1511,11 @@ }, "DBInstanceClass":{ "shape":"String", - "documentation":"

The compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions.

" + "documentation":"

The compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions.

" }, "Engine":{ "shape":"String", - "documentation":"

The name of the database engine to be used for this instance.

Valid Values: neptune

" + "documentation":"

The name of the database engine to be used for this instance.

Valid Values: neptune

" }, "MasterUsername":{ "shape":"String", @@ -1510,7 +1523,7 @@ }, "MasterUserPassword":{ "shape":"String", - "documentation":"

The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

Not used.

" + "documentation":"

The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

Not used.

" }, "DBSecurityGroups":{ "shape":"DBSecurityGroupNameList", @@ -1522,7 +1535,7 @@ }, "AvailabilityZone":{ "shape":"String", - "documentation":"

The EC2 Availability Zone that the DB instance is created in.

Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

Example: us-east-1d

Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ parameter is set to true. The specified Availability Zone must be in the same AWS Region as the current endpoint.

" + "documentation":"

The EC2 Availability Zone that the DB instance is created in

Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

Example: us-east-1d

Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ parameter is set to true. The specified Availability Zone must be in the same AWS Region as the current endpoint.

" }, "DBSubnetGroupName":{ "shape":"String", @@ -1530,7 +1543,7 @@ }, "PreferredMaintenanceWindow":{ "shape":"String", - "documentation":"

The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

" + "documentation":"

The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

" }, "DBParameterGroupName":{ "shape":"String", @@ -1542,7 +1555,7 @@ }, "PreferredBackupWindow":{ "shape":"String", - "documentation":"

The daily time range during which automated backups are created.

Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see CreateDBCluster.

" + "documentation":"

The daily time range during which automated backups are created.

Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see CreateDBCluster.

" }, "Port":{ "shape":"IntegerOptional", @@ -1566,7 +1579,7 @@ }, "Iops":{ "shape":"IntegerOptional", - "documentation":"

The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.

" + "documentation":"

The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.

" }, "OptionGroupName":{ "shape":"String", @@ -1578,10 +1591,13 @@ }, "PubliclyAccessible":{ "shape":"BooleanOptional", - "documentation":"

This parameter is not supported.

", + "documentation":"

This flag should no longer be used.

", "deprecated":true }, - "Tags":{"shape":"TagList"}, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to assign to the new instance.

" + }, "DBClusterIdentifier":{ "shape":"String", "documentation":"

The identifier of the DB cluster that the instance will belong to.

For information on creating a DB cluster, see CreateDBCluster.

Type: String

" @@ -1632,7 +1648,7 @@ }, "Timezone":{ "shape":"String", - "documentation":"

The time zone of the DB instance.

" + "documentation":"

The time zone of the DB instance.

" }, "EnableIAMDatabaseAuthentication":{ "shape":"BooleanOptional", @@ -1640,7 +1656,7 @@ }, "EnablePerformanceInsights":{ "shape":"BooleanOptional", - "documentation":"

True to enable Performance Insights for the DB instance, and otherwise false.

" + "documentation":"

True to enable Performance Insights for the DB instance, and otherwise false.

" }, "PerformanceInsightsKMSKeyId":{ "shape":"String", @@ -1650,8 +1666,7 @@ "shape":"LogTypeList", "documentation":"

The list of log types that need to be enabled for exporting to CloudWatch Logs.

" } - }, - "documentation":"

" + } }, "CreateDBInstanceResult":{ "type":"structure", @@ -1679,9 +1694,11 @@ "shape":"String", "documentation":"

The description for the DB parameter group.

" }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the new DB parameter group.

" + } + } }, "CreateDBParameterGroupResult":{ "type":"structure", @@ -1709,9 +1726,11 @@ "shape":"SubnetIdentifierList", "documentation":"

The EC2 Subnet IDs for the DB subnet group.

" }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the new DB subnet group.

" + } + } }, "CreateDBSubnetGroupResult":{ "type":"structure", @@ -1740,7 +1759,7 @@ }, "EventCategories":{ "shape":"EventCategoriesList", - "documentation":"

A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType by using the DescribeEventCategories action.

" + "documentation":"

A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType by using the DescribeEventCategories action.

" }, "SourceIds":{ "shape":"SourceIdsList", @@ -1748,11 +1767,13 @@ }, "Enabled":{ "shape":"BooleanOptional", - "documentation":"

A Boolean value; set to true to activate the subscription, set to false to create the subscription but not active it.

" + "documentation":"

A Boolean value; set to true to activate the subscription, set to false to create the subscription but not active it.

" }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be applied to the new event subscription.

" + } + } }, "CreateEventSubscriptionResult":{ "type":"structure", @@ -1813,7 +1834,7 @@ }, "ReaderEndpoint":{ "shape":"String", - "documentation":"

The reader endpoint for the DB cluster. The reader endpoint for a DB cluster load-balances connections across the Read Replicas that are available in a DB cluster. As clients request new connections to the reader endpoint, Neptune distributes the connection requests among the Read Replicas in the DB cluster. This functionality can help balance your read workload across multiple Read Replicas in your DB cluster.

If a failover occurs, and the Read Replica that you are connected to is promoted to be the primary instance, your connection is dropped. To continue sending your read workload to other Read Replicas in the cluster, you can then reconnect to the reader endpoint.

" + "documentation":"

The reader endpoint for the DB cluster. The reader endpoint for a DB cluster load-balances connections across the Read Replicas that are available in a DB cluster. As clients request new connections to the reader endpoint, Neptune distributes the connection requests among the Read Replicas in the DB cluster. This functionality can help balance your read workload across multiple Read Replicas in your DB cluster.

If a failover occurs, and the Read Replica that you are connected to is promoted to be the primary instance, your connection is dropped. To continue sending your read workload to other Read Replicas in the cluster, you can then reconnect to the reader endpoint.

" }, "MultiAZ":{ "shape":"Boolean", @@ -1845,7 +1866,7 @@ }, "PreferredBackupWindow":{ "shape":"String", - "documentation":"

Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.

" + "documentation":"

Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.

" }, "PreferredMaintenanceWindow":{ "shape":"String", @@ -1853,7 +1874,7 @@ }, "ReplicationSourceIdentifier":{ "shape":"String", - "documentation":"

Contains the identifier of the source DB cluster if this DB cluster is a Read Replica.

" + "documentation":"

Not supported by Neptune.

" }, "ReadReplicaIdentifiers":{ "shape":"ReadReplicaIdentifierList", @@ -1902,9 +1923,13 @@ "ClusterCreateTime":{ "shape":"TStamp", "documentation":"

Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).

" + }, + "EnabledCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

A list of log types that this DB cluster is configured to export to CloudWatch Logs.

" } }, - "documentation":"

Contains the details of an Amazon Neptune DB cluster.

This data type is used as a response element in the DescribeDBClusters action.

", + "documentation":"

Contains the details of an Amazon Neptune DB cluster.

This data type is used as a response element in the DescribeDBClusters action.

", "wrapper":true }, "DBClusterAlreadyExistsFault":{ @@ -1943,7 +1968,7 @@ }, "PromotionTier":{ "shape":"IntegerOptional", - "documentation":"

A value that specifies the order in which a Read Replica is promoted to the primary instance after a failure of the existing primary instance.

" + "documentation":"

A value that specifies the order in which a Read Replica is promoted to the primary instance after a failure of the existing primary instance.

" } }, "documentation":"

Contains information about an instance that is part of a DB cluster.

", @@ -1967,14 +1992,13 @@ "shape":"DBClusterList", "documentation":"

Contains a list of DB clusters for the user.

" } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBClusters action.

" + } }, "DBClusterNotFoundFault":{ "type":"structure", "members":{ }, - "documentation":"

DBClusterIdentifier does not refer to an existing DB cluster.

", + "documentation":"

DBClusterIdentifier does not refer to an existing DB cluster.

", "error":{ "code":"DBClusterNotFoundFault", "httpStatusCode":404, @@ -2023,7 +2047,7 @@ "documentation":"

The Amazon Resource Name (ARN) for the DB cluster parameter group.

" } }, - "documentation":"

Contains the details of an Amazon Neptune DB cluster parameter group.

This data type is used as a response element in the DescribeDBClusterParameterGroups action.

", + "documentation":"

Contains the details of an Amazon Neptune DB cluster parameter group.

This data type is used as a response element in the DescribeDBClusterParameterGroups action.

", "wrapper":true }, "DBClusterParameterGroupDetails":{ @@ -2035,10 +2059,9 @@ }, "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBClusterParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" + "documentation":"

An optional pagination token provided by a previous DescribeDBClusterParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" } - }, - "documentation":"

Provides details about a DB cluster parameter group including the parameters in the DB cluster parameter group.

" + } }, "DBClusterParameterGroupList":{ "type":"list", @@ -2054,14 +2077,13 @@ "shape":"String", "documentation":"

The name of the DB cluster parameter group.

Constraints:

  • Must be 1 to 255 letters or numbers.

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

This value is stored as a lowercase string.

" } - }, - "documentation":"

" + } }, "DBClusterParameterGroupNotFoundFault":{ "type":"structure", "members":{ }, - "documentation":"

DBClusterParameterGroupName does not refer to an existing DB Cluster parameter group.

", + "documentation":"

DBClusterParameterGroupName does not refer to an existing DB Cluster parameter group.

", "error":{ "code":"DBClusterParameterGroupNotFound", "httpStatusCode":404, @@ -2074,14 +2096,13 @@ "members":{ "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBClusterParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional pagination token provided by a previous DescribeDBClusterParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" }, "DBClusterParameterGroups":{ "shape":"DBClusterParameterGroupList", "documentation":"

A list of DB cluster parameter groups.

" } - }, - "documentation":"

" + } }, "DBClusterQuotaExceededFault":{ "type":"structure", @@ -2236,7 +2257,7 @@ "documentation":"

True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

" } }, - "documentation":"

Contains the details for an Amazon Neptune DB cluster snapshot

This data type is used as a response element in the DescribeDBClusterSnapshots action.

", + "documentation":"

Contains the details for an Amazon Neptune DB cluster snapshot

This data type is used as a response element in the DescribeDBClusterSnapshots action.

", "wrapper":true }, "DBClusterSnapshotAlreadyExistsFault":{ @@ -2305,14 +2326,13 @@ "shape":"DBClusterSnapshotList", "documentation":"

Provides a list of DB cluster snapshots for the user.

" } - }, - "documentation":"

Provides a list of DB cluster snapshots for the user as the result of a call to the DescribeDBClusterSnapshots action.

" + } }, "DBClusterSnapshotNotFoundFault":{ "type":"structure", "members":{ }, - "documentation":"

DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.

", + "documentation":"

DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.

", "error":{ "code":"DBClusterSnapshotNotFoundFault", "httpStatusCode":404, @@ -2345,11 +2365,11 @@ }, "DefaultCharacterSet":{ "shape":"CharacterSet", - "documentation":"

The default character set for new instances of this engine version, if the CharacterSetName parameter of the CreateDBInstance API is not specified.

" + "documentation":"

The default character set for new instances of this engine version, if the CharacterSetName parameter of the CreateDBInstance API is not specified.

" }, "SupportedCharacterSets":{ "shape":"SupportedCharacterSetsList", - "documentation":"

A list of the character sets supported by this engine for the CharacterSetName parameter of the CreateDBInstance action.

" + "documentation":"

A list of the character sets supported by this engine for the CharacterSetName parameter of the CreateDBInstance action.

" }, "ValidUpgradeTarget":{ "shape":"ValidUpgradeTargetList", @@ -2357,7 +2377,7 @@ }, "SupportedTimezones":{ "shape":"SupportedTimezonesList", - "documentation":"

A list of the time zones supported by this engine for the Timezone parameter of the CreateDBInstance action.

" + "documentation":"

A list of the time zones supported by this engine for the Timezone parameter of the CreateDBInstance action.

" }, "ExportableLogTypes":{ "shape":"LogTypeList", @@ -2372,7 +2392,7 @@ "documentation":"

Indicates whether the database engine version supports read replicas.

" } }, - "documentation":"

This data type is used as a response element in the action DescribeDBEngineVersions.

" + "documentation":"

This data type is used as a response element in the action DescribeDBEngineVersions.

" }, "DBEngineVersionList":{ "type":"list", @@ -2386,14 +2406,13 @@ "members":{ "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" }, "DBEngineVersions":{ "shape":"DBEngineVersionList", - "documentation":"

A list of DBEngineVersion elements.

" + "documentation":"

A list of DBEngineVersion elements.

" } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBEngineVersions action.

" + } }, "DBInstance":{ "type":"structure", @@ -2436,7 +2455,7 @@ }, "PreferredBackupWindow":{ "shape":"String", - "documentation":"

Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.

" + "documentation":"

Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.

" }, "BackupRetentionPeriod":{ "shape":"Integer", @@ -2444,7 +2463,7 @@ }, "DBSecurityGroups":{ "shape":"DBSecurityGroupMembershipList", - "documentation":"

Provides List of DB security group elements containing only DBSecurityGroup.Name and DBSecurityGroup.Status subelements.

" + "documentation":"

Provides List of DB security group elements containing only DBSecurityGroup.Name and DBSecurityGroup.Status subelements.

" }, "VpcSecurityGroups":{ "shape":"VpcSecurityGroupMembershipList", @@ -2520,7 +2539,7 @@ }, "PubliclyAccessible":{ "shape":"Boolean", - "documentation":"

This parameter is not supported.

", + "documentation":"

This flag should no longer be used.

", "deprecated":true }, "StatusInfos":{ @@ -2545,11 +2564,11 @@ }, "StorageEncrypted":{ "shape":"Boolean", - "documentation":"

Specifies whether the DB instance is encrypted.

" + "documentation":"

Not supported: The encryption for DB instances is managed by the DB cluster.

" }, "KmsKeyId":{ "shape":"String", - "documentation":"

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB instance.

" + "documentation":"

Not supported: The encryption for DB instances is managed by the DB cluster.

" }, "DbiResourceId":{ "shape":"String", @@ -2589,7 +2608,7 @@ }, "Timezone":{ "shape":"String", - "documentation":"

Not supported.

" + "documentation":"

Not supported.

" }, "IAMDatabaseAuthenticationEnabled":{ "shape":"Boolean", @@ -2608,7 +2627,7 @@ "documentation":"

A list of log types that this DB instance is configured to export to CloudWatch Logs.

" } }, - "documentation":"

Contains the details of an Amazon Neptune DB instance.

This data type is used as a response element in the DescribeDBInstances action.

", + "documentation":"

Contains the details of an Amazon Neptune DB instance.

This data type is used as a response element in the DescribeDBInstances action.

", "wrapper":true }, "DBInstanceAlreadyExistsFault":{ @@ -2635,20 +2654,19 @@ "members":{ "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" }, "DBInstances":{ "shape":"DBInstanceList", - "documentation":"

A list of DBInstance instances.

" + "documentation":"

A list of DBInstance instances.

" } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBInstances action.

" + } }, "DBInstanceNotFoundFault":{ "type":"structure", "members":{ }, - "documentation":"

DBInstanceIdentifier does not refer to an existing DB instance.

", + "documentation":"

DBInstanceIdentifier does not refer to an existing DB instance.

", "error":{ "code":"DBInstanceNotFound", "httpStatusCode":404, @@ -2705,7 +2723,7 @@ "documentation":"

The Amazon Resource Name (ARN) for the DB parameter group.

" } }, - "documentation":"

Contains the details of an Amazon Neptune DB parameter group.

This data type is used as a response element in the DescribeDBParameterGroups action.

", + "documentation":"

Contains the details of an Amazon Neptune DB parameter group.

This data type is used as a response element in the DescribeDBParameterGroups action.

", "wrapper":true }, "DBParameterGroupAlreadyExistsFault":{ @@ -2725,14 +2743,13 @@ "members":{ "Parameters":{ "shape":"ParametersList", - "documentation":"

A list of Parameter values.

" + "documentation":"

A list of Parameter values.

" }, "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBParameters action.

" + } }, "DBParameterGroupList":{ "type":"list", @@ -2748,14 +2765,13 @@ "shape":"String", "documentation":"

Provides the name of the DB parameter group.

" } - }, - "documentation":"

Contains the result of a successful invocation of the ModifyDBParameterGroup or ResetDBParameterGroup action.

" + } }, "DBParameterGroupNotFoundFault":{ "type":"structure", "members":{ }, - "documentation":"

DBParameterGroupName does not refer to an existing DB parameter group.

", + "documentation":"

DBParameterGroupName does not refer to an existing DB parameter group.

", "error":{ "code":"DBParameterGroupNotFound", "httpStatusCode":404, @@ -2801,14 +2817,13 @@ "members":{ "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" }, "DBParameterGroups":{ "shape":"DBParameterGroupList", - "documentation":"

A list of DBParameterGroup instances.

" + "documentation":"

A list of DBParameterGroup instances.

" } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBParameterGroups action.

" + } }, "DBSecurityGroupMembership":{ "type":"structure", @@ -2822,7 +2837,7 @@ "documentation":"

The status of the DB security group.

" } }, - "documentation":"

This data type is used as a response element in the following actions:

" + "documentation":"

Specifies membership in a designated DB security group.

" }, "DBSecurityGroupMembershipList":{ "type":"list", @@ -2842,7 +2857,7 @@ "type":"structure", "members":{ }, - "documentation":"

DBSecurityGroupName does not refer to an existing DB security group.

", + "documentation":"

DBSecurityGroupName does not refer to an existing DB security group.

", "error":{ "code":"DBSecurityGroupNotFound", "httpStatusCode":404, @@ -2854,7 +2869,7 @@ "type":"structure", "members":{ }, - "documentation":"

DBSnapshotIdentifier is already used by an existing snapshot.

", + "documentation":"

DBSnapshotIdentifier is already used by an existing snapshot.

", "error":{ "code":"DBSnapshotAlreadyExists", "httpStatusCode":400, @@ -2866,7 +2881,7 @@ "type":"structure", "members":{ }, - "documentation":"

DBSnapshotIdentifier does not refer to an existing DB snapshot.

", + "documentation":"

DBSnapshotIdentifier does not refer to an existing DB snapshot.

", "error":{ "code":"DBSnapshotNotFound", "httpStatusCode":404, @@ -2895,21 +2910,21 @@ }, "Subnets":{ "shape":"SubnetList", - "documentation":"

Contains a list of Subnet elements.

" + "documentation":"

Contains a list of Subnet elements.

" }, "DBSubnetGroupArn":{ "shape":"String", "documentation":"

The Amazon Resource Name (ARN) for the DB subnet group.

" } }, - "documentation":"

Contains the details of an Amazon Neptune DB subnet group.

This data type is used as a response element in the DescribeDBSubnetGroups action.

", + "documentation":"

Contains the details of an Amazon Neptune DB subnet group.

This data type is used as a response element in the DescribeDBSubnetGroups action.

", "wrapper":true }, "DBSubnetGroupAlreadyExistsFault":{ "type":"structure", "members":{ }, - "documentation":"

DBSubnetGroupName is already used by an existing DB subnet group.

", + "documentation":"

DBSubnetGroupName is already used by an existing DB subnet group.

", "error":{ "code":"DBSubnetGroupAlreadyExists", "httpStatusCode":400, @@ -2934,20 +2949,19 @@ "members":{ "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" }, "DBSubnetGroups":{ "shape":"DBSubnetGroups", - "documentation":"

A list of DBSubnetGroup instances.

" + "documentation":"

A list of DBSubnetGroup instances.

" } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBSubnetGroups action.

" + } }, "DBSubnetGroupNotFoundFault":{ "type":"structure", "members":{ }, - "documentation":"

DBSubnetGroupName does not refer to an existing DB subnet group.

", + "documentation":"

DBSubnetGroupName does not refer to an existing DB subnet group.

", "error":{ "code":"DBSubnetGroupNotFoundFault", "httpStatusCode":404, @@ -3008,14 +3022,13 @@ }, "SkipFinalSnapshot":{ "shape":"Boolean", - "documentation":"

Determines whether a final DB cluster snapshot is created before the DB cluster is deleted. If true is specified, no DB cluster snapshot is created. If false is specified, a DB cluster snapshot is created before the DB cluster is deleted.

You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot is false.

Default: false

" + "documentation":"

Determines whether a final DB cluster snapshot is created before the DB cluster is deleted. If true is specified, no DB cluster snapshot is created. If false is specified, a DB cluster snapshot is created before the DB cluster is deleted.

You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot is false.

Default: false

" }, "FinalDBSnapshotIdentifier":{ "shape":"String", - "documentation":"

The DB cluster snapshot identifier of the new DB cluster snapshot created when SkipFinalSnapshot is set to false.

Specifying this parameter and also setting the SkipFinalShapshot parameter to true results in an error.

Constraints:

  • Must be 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

" + "documentation":"

The DB cluster snapshot identifier of the new DB cluster snapshot created when SkipFinalSnapshot is set to false.

Specifying this parameter and also setting the SkipFinalShapshot parameter to true results in an error.

Constraints:

  • Must be 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

" } - }, - "documentation":"

" + } }, "DeleteDBClusterParameterGroupMessage":{ "type":"structure", @@ -3025,8 +3038,7 @@ "shape":"String", "documentation":"

The name of the DB cluster parameter group.

Constraints:

  • Must be the name of an existing DB cluster parameter group.

  • You can't delete a default DB cluster parameter group.

  • Cannot be associated with any DB clusters.

" } - }, - "documentation":"

" + } }, "DeleteDBClusterResult":{ "type":"structure", @@ -3042,8 +3054,7 @@ "shape":"String", "documentation":"

The identifier of the DB cluster snapshot to delete.

Constraints: Must be the name of an existing DB cluster snapshot in the available state.

" } - }, - "documentation":"

" + } }, "DeleteDBClusterSnapshotResult":{ "type":"structure", @@ -3061,14 +3072,13 @@ }, "SkipFinalSnapshot":{ "shape":"Boolean", - "documentation":"

Determines whether a final DB snapshot is created before the DB instance is deleted. If true is specified, no DBSnapshot is created. If false is specified, a DB snapshot is created before the DB instance is deleted.

Note that when a DB instance is in a failure state and has a status of 'failed', 'incompatible-restore', or 'incompatible-network', it can only be deleted when the SkipFinalSnapshot parameter is set to \"true\".

Specify true when deleting a Read Replica.

The FinalDBSnapshotIdentifier parameter must be specified if SkipFinalSnapshot is false.

Default: false

" + "documentation":"

Determines whether a final DB snapshot is created before the DB instance is deleted. If true is specified, no DBSnapshot is created. If false is specified, a DB snapshot is created before the DB instance is deleted.

Note that when a DB instance is in a failure state and has a status of 'failed', 'incompatible-restore', or 'incompatible-network', it can only be deleted when the SkipFinalSnapshot parameter is set to \"true\".

Specify true when deleting a Read Replica.

The FinalDBSnapshotIdentifier parameter must be specified if SkipFinalSnapshot is false.

Default: false

" }, "FinalDBSnapshotIdentifier":{ "shape":"String", - "documentation":"

The DBSnapshotIdentifier of the new DBSnapshot created when SkipFinalSnapshot is set to false.

Specifying this parameter and also setting the SkipFinalShapshot parameter to true results in an error.

Constraints:

  • Must be 1 to 255 letters or numbers.

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

  • Cannot be specified when deleting a Read Replica.

" + "documentation":"

The DBSnapshotIdentifier of the new DBSnapshot created when SkipFinalSnapshot is set to false.

Specifying this parameter and also setting the SkipFinalShapshot parameter to true results in an error.

Constraints:

  • Must be 1 to 255 letters or numbers.

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

  • Cannot be specified when deleting a Read Replica.

" } - }, - "documentation":"

" + } }, "DeleteDBInstanceResult":{ "type":"structure", @@ -3084,8 +3094,7 @@ "shape":"String", "documentation":"

The name of the DB parameter group.

Constraints:

  • Must be the name of an existing DB parameter group

  • You can't delete a default DB parameter group

  • Cannot be associated with any DB instances

" } - }, - "documentation":"

" + } }, "DeleteDBSubnetGroupMessage":{ "type":"structure", @@ -3095,8 +3104,7 @@ "shape":"String", "documentation":"

The name of the database subnet group to delete.

You can't delete the default subnet group.

Constraints:

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

Example: mySubnetgroup

" } - }, - "documentation":"

" + } }, "DeleteEventSubscriptionMessage":{ "type":"structure", @@ -3106,8 +3114,7 @@ "shape":"String", "documentation":"

The name of the event notification subscription you want to delete.

" } - }, - "documentation":"

" + } }, "DeleteEventSubscriptionResult":{ "type":"structure", @@ -3128,14 +3135,13 @@ }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" }, "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBClusterParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional pagination token provided by a previous DescribeDBClusterParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" } - }, - "documentation":"

" + } }, "DescribeDBClusterParametersMessage":{ "type":"structure", @@ -3147,7 +3153,7 @@ }, "Source":{ "shape":"String", - "documentation":"

A value that indicates to return only parameters for a specific source. Parameter sources can be engine, service, or customer.

" + "documentation":"

A value that indicates to return only parameters for a specific source. Parameter sources can be engine, service, or customer.

" }, "Filters":{ "shape":"FilterList", @@ -3155,14 +3161,13 @@ }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" }, "Marker":{ "shape":"String", "documentation":"

An optional pagination token provided by a previous DescribeDBClusterParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" } - }, - "documentation":"

" + } }, "DescribeDBClusterSnapshotAttributesMessage":{ "type":"structure", @@ -3172,8 +3177,7 @@ "shape":"String", "documentation":"

The identifier for the DB cluster snapshot to describe the attributes for.

" } - }, - "documentation":"

" + } }, "DescribeDBClusterSnapshotAttributesResult":{ "type":"structure", @@ -3186,11 +3190,11 @@ "members":{ "DBClusterIdentifier":{ "shape":"String", - "documentation":"

The ID of the DB cluster to retrieve the list of DB cluster snapshots for. This parameter can't be used in conjunction with the DBClusterSnapshotIdentifier parameter. This parameter is not case-sensitive.

Constraints:

  • If supplied, must match the identifier of an existing DBCluster.

" + "documentation":"

The ID of the DB cluster to retrieve the list of DB cluster snapshots for. This parameter can't be used in conjunction with the DBClusterSnapshotIdentifier parameter. This parameter is not case-sensitive.

Constraints:

  • If supplied, must match the identifier of an existing DBCluster.

" }, "DBClusterSnapshotIdentifier":{ "shape":"String", - "documentation":"

A specific DB cluster snapshot identifier to describe. This parameter can't be used in conjunction with the DBClusterIdentifier parameter. This value is stored as a lowercase string.

Constraints:

  • If supplied, must match the identifier of an existing DBClusterSnapshot.

  • If this identifier is for an automated snapshot, the SnapshotType parameter must also be specified.

" + "documentation":"

A specific DB cluster snapshot identifier to describe. This parameter can't be used in conjunction with the DBClusterIdentifier parameter. This value is stored as a lowercase string.

Constraints:

  • If supplied, must match the identifier of an existing DBClusterSnapshot.

  • If this identifier is for an automated snapshot, the SnapshotType parameter must also be specified.

" }, "SnapshotType":{ "shape":"String", @@ -3202,7 +3206,7 @@ }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" }, "Marker":{ "shape":"String", @@ -3216,8 +3220,7 @@ "shape":"Boolean", "documentation":"

True to include manual DB cluster snapshots that are public and can be copied or restored by any AWS account, and otherwise false. The default is false. The default is false.

You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute API action.

" } - }, - "documentation":"

" + } }, "DescribeDBClustersMessage":{ "type":"structure", @@ -3232,14 +3235,13 @@ }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" }, "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional pagination token provided by a previous DescribeDBClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" } - }, - "documentation":"

" + } }, "DescribeDBEngineVersionsMessage":{ "type":"structure", @@ -3262,11 +3264,11 @@ }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more than the MaxRecords value is available, a pagination token called a marker is included in the response so that the following results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + "documentation":"

The maximum number of records to include in the response. If more than the MaxRecords value is available, a pagination token called a marker is included in the response so that the following results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" }, "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" }, "DefaultOnly":{ "shape":"Boolean", @@ -3274,11 +3276,11 @@ }, "ListSupportedCharacterSets":{ "shape":"BooleanOptional", - "documentation":"

If this parameter is specified and the requested engine supports the CharacterSetName parameter for CreateDBInstance, the response includes a list of supported character sets for each engine version.

" + "documentation":"

If this parameter is specified and the requested engine supports the CharacterSetName parameter for CreateDBInstance, the response includes a list of supported character sets for each engine version.

" }, "ListSupportedTimezones":{ "shape":"BooleanOptional", - "documentation":"

If this parameter is specified and the requested engine supports the TimeZone parameter for CreateDBInstance, the response includes a list of supported time zones for each engine version.

" + "documentation":"

If this parameter is specified and the requested engine supports the TimeZone parameter for CreateDBInstance, the response includes a list of supported time zones for each engine version.

" } } }, @@ -3295,14 +3297,13 @@ }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" }, "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBInstances request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional pagination token provided by a previous DescribeDBInstances request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" } - }, - "documentation":"

" + } }, "DescribeDBParameterGroupsMessage":{ "type":"structure", @@ -3317,14 +3318,13 @@ }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" }, "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional pagination token provided by a previous DescribeDBParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" } - }, - "documentation":"

" + } }, "DescribeDBParametersMessage":{ "type":"structure", @@ -3344,11 +3344,11 @@ }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" }, "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional pagination token provided by a previous DescribeDBParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" } } }, @@ -3365,14 +3365,13 @@ }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" }, "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBSubnetGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional pagination token provided by a previous DescribeDBSubnetGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" } - }, - "documentation":"

" + } }, "DescribeEngineDefaultClusterParametersMessage":{ "type":"structure", @@ -3388,14 +3387,13 @@ }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" }, "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeEngineDefaultClusterParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional pagination token provided by a previous DescribeEngineDefaultClusterParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" } - }, - "documentation":"

" + } }, "DescribeEngineDefaultClusterParametersResult":{ "type":"structure", @@ -3417,14 +3415,13 @@ }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" }, "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeEngineDefaultParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional pagination token provided by a previous DescribeEngineDefaultParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" } - }, - "documentation":"

" + } }, "DescribeEngineDefaultParametersResult":{ "type":"structure", @@ -3443,8 +3440,7 @@ "shape":"FilterList", "documentation":"

This parameter is not currently supported.

" } - }, - "documentation":"

" + } }, "DescribeEventSubscriptionsMessage":{ "type":"structure", @@ -3459,14 +3455,13 @@ }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" }, "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" + "documentation":"

An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" } - }, - "documentation":"

" + } }, "DescribeEventsMessage":{ "type":"structure", @@ -3501,14 +3496,13 @@ }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" }, "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeEvents request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional pagination token provided by a previous DescribeEvents request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" } - }, - "documentation":"

" + } }, "DescribeOrderableDBInstanceOptionsMessage":{ "type":"structure", @@ -3540,14 +3534,13 @@ }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" }, "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" + "documentation":"

An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" } - }, - "documentation":"

" + } }, "DescribePendingMaintenanceActionsMessage":{ "type":"structure", @@ -3562,14 +3555,13 @@ }, "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribePendingMaintenanceActions request. If this parameter is specified, the response includes only records beyond the marker, up to a number of records specified by MaxRecords.

" + "documentation":"

An optional pagination token provided by a previous DescribePendingMaintenanceActions request. If this parameter is specified, the response includes only records beyond the marker, up to a number of records specified by MaxRecords.

" }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" } - }, - "documentation":"

" + } }, "DescribeValidDBInstanceModificationsMessage":{ "type":"structure", @@ -3577,10 +3569,9 @@ "members":{ "DBInstanceIdentifier":{ "shape":"String", - "documentation":"

The customer identifier or the ARN of your DB instance.

" + "documentation":"

The customer identifier or the ARN of your DB instance.

" } - }, - "documentation":"

" + } }, "DescribeValidDBInstanceModificationsResult":{ "type":"structure", @@ -3608,21 +3599,20 @@ "documentation":"

The name of the IAM role to be used when making API calls to the Directory Service.

" } }, - "documentation":"

An Active Directory Domain membership record associated with the DB instance.

" + "documentation":"

An Active Directory Domain membership record associated with a DB instance.

" }, "DomainMembershipList":{ "type":"list", "member":{ "shape":"DomainMembership", "locationName":"DomainMembership" - }, - "documentation":"

List of Active Directory Domain membership records associated with a DB instance.

" + } }, "DomainNotFoundFault":{ "type":"structure", "members":{ }, - "documentation":"

Domain does not refer to an existing Active Directory Domain.

", + "documentation":"

Domain does not refer to an existing Active Directory Domain.

", "error":{ "code":"DomainNotFoundFault", "httpStatusCode":404, @@ -3669,7 +3659,7 @@ "documentation":"

Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

" } }, - "documentation":"

This data type is used as a response element in the following actions:

" + "documentation":"

Specifies a connection endpoint.

" }, "EngineDefaults":{ "type":"structure", @@ -3680,14 +3670,14 @@ }, "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous EngineDefaults request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" + "documentation":"

An optional pagination token provided by a previous EngineDefaults request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" }, "Parameters":{ "shape":"ParametersList", "documentation":"

Contains a list of engine default parameters.

" } }, - "documentation":"

Contains the result of a successful invocation of the DescribeEngineDefaultParameters action.

", + "documentation":"

Contains the result of a successful invocation of the DescribeEngineDefaultParameters action.

", "wrapper":true }, "Event":{ @@ -3718,7 +3708,7 @@ "documentation":"

The Amazon Resource Name (ARN) for the event.

" } }, - "documentation":"

This data type is used as a response element in the DescribeEvents action.

" + "documentation":"

This data type is used as a response element in the DescribeEvents action.

" }, "EventCategoriesList":{ "type":"list", @@ -3756,8 +3746,7 @@ "shape":"EventCategoriesMapList", "documentation":"

A list of EventCategoriesMap data types.

" } - }, - "documentation":"

Data returned from the DescribeEventCategories action.

" + } }, "EventList":{ "type":"list", @@ -3817,6 +3806,7 @@ "type":"structure", "members":{ }, + "documentation":"

You have exceeded the number of events you can subscribe to.

", "error":{ "code":"EventSubscriptionQuotaExceeded", "httpStatusCode":400, @@ -3836,28 +3826,26 @@ "members":{ "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" }, "EventSubscriptionsList":{ "shape":"EventSubscriptionsList", "documentation":"

A list of EventSubscriptions data types.

" } - }, - "documentation":"

Data returned by the DescribeEventSubscriptions action.

" + } }, "EventsMessage":{ "type":"structure", "members":{ "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous Events request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" + "documentation":"

An optional pagination token provided by a previous Events request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" }, "Events":{ "shape":"EventList", - "documentation":"

A list of Event instances.

" + "documentation":"

A list of Event instances.

" } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeEvents action.

" + } }, "FailoverDBClusterMessage":{ "type":"structure", @@ -3870,8 +3858,7 @@ "shape":"String", "documentation":"

The name of the instance to promote to the primary instance.

You must specify the instance identifier for an Read Replica in the DB cluster. For example, mydbcluster-replica1.

" } - }, - "documentation":"

" + } }, "FailoverDBClusterResult":{ "type":"structure", @@ -3989,7 +3976,7 @@ "type":"structure", "members":{ }, - "documentation":"

The specified DB instance is not in the available state.

", + "documentation":"

The specified DB instance is not in the available state.

", "error":{ "code":"InvalidDBInstanceState", "httpStatusCode":400, @@ -4049,7 +4036,7 @@ "type":"structure", "members":{ }, - "documentation":"

The DB subnet is not in the available state.

", + "documentation":"

The DB subnet is not in the available state.

", "error":{ "code":"InvalidDBSubnetStateFault", "httpStatusCode":400, @@ -4061,6 +4048,7 @@ "type":"structure", "members":{ }, + "documentation":"

The event subscription is in an invalid state.

", "error":{ "code":"InvalidEventSubscriptionState", "httpStatusCode":400, @@ -4126,14 +4114,13 @@ "members":{ "ResourceName":{ "shape":"String", - "documentation":"

The Amazon Neptune resource with tags to be listed. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an Amazon Resource Name (ARN).

" + "documentation":"

The Amazon Neptune resource with tags to be listed. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an Amazon Resource Name (ARN).

" }, "Filters":{ "shape":"FilterList", "documentation":"

This parameter is not currently supported.

" } - }, - "documentation":"

" + } }, "LogTypeList":{ "type":"list", @@ -4177,26 +4164,29 @@ }, "OptionGroupName":{ "shape":"String", - "documentation":"

A value that indicates that the DB cluster should be associated with the specified option group. Changing this parameter doesn't result in an outage except in the following case, and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If the parameter change results in an option group that enables OEM, this change can cause a brief (sub-second) period during which new connections are rejected but existing connections are not interrupted.

Permanent options can't be removed from an option group. The option group can't be removed from a DB cluster once it is associated with a DB cluster.

" + "documentation":"

A value that indicates that the DB cluster should be associated with the specified option group. Changing this parameter doesn't result in an outage except in the following case, and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If the parameter change results in an option group that enables OEM, this change can cause a brief (sub-second) period during which new connections are rejected but existing connections are not interrupted.

Permanent options can't be removed from an option group. The option group can't be removed from a DB cluster once it is associated with a DB cluster.

" }, "PreferredBackupWindow":{ "shape":"String", - "documentation":"

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" + "documentation":"

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" }, "PreferredMaintenanceWindow":{ "shape":"String", - "documentation":"

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

" + "documentation":"

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

" }, "EnableIAMDatabaseAuthentication":{ "shape":"BooleanOptional", "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" }, + "CloudwatchLogsExportConfiguration":{ + "shape":"CloudwatchLogsExportConfiguration", + "documentation":"

The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB cluster.

" + }, "EngineVersion":{ "shape":"String", "documentation":"

The version number of the database engine to which you want to upgrade. Changing this parameter results in an outage. The change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true.

For a list of valid engine versions, see CreateDBInstance, or call DescribeDBEngineVersions.

" } - }, - "documentation":"

" + } }, "ModifyDBClusterParameterGroupMessage":{ "type":"structure", @@ -4213,8 +4203,7 @@ "shape":"ParametersList", "documentation":"

A list of parameters in the DB cluster parameter group to modify.

" } - }, - "documentation":"

" + } }, "ModifyDBClusterResult":{ "type":"structure", @@ -4245,8 +4234,7 @@ "shape":"AttributeValueList", "documentation":"

A list of DB cluster snapshot attributes to remove from the attribute specified by AttributeName.

To remove authorization for other AWS accounts to copy or restore a manual DB cluster snapshot, set this list to include one or more AWS account identifiers, or all to remove authorization for any AWS account to copy or restore the DB cluster snapshot. If you specify all, an AWS account whose account ID is explicitly added to the restore attribute can still copy or restore a manual DB cluster snapshot.

" } - }, - "documentation":"

" + } }, "ModifyDBClusterSnapshotAttributeResult":{ "type":"structure", @@ -4264,15 +4252,15 @@ }, "AllocatedStorage":{ "shape":"IntegerOptional", - "documentation":"

The new amount of storage (in gibibytes) to allocate for the DB instance.

Not applicable. Storage is managed by the DB Cluster.

" + "documentation":"

The new amount of storage (in gibibytes) to allocate for the DB instance.

Not applicable. Storage is managed by the DB Cluster.

" }, "DBInstanceClass":{ "shape":"String", - "documentation":"

The new compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions.

If you modify the DB instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless ApplyImmediately is specified as true for this request.

Default: Uses existing setting

" + "documentation":"

The new compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions.

If you modify the DB instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless ApplyImmediately is specified as true for this request.

Default: Uses existing setting

" }, "DBSubnetGroupName":{ "shape":"String", - "documentation":"

The new DB subnet group for the DB instance. You can use this parameter to move your DB instance to a different VPC.

Changing the subnet group causes an outage during the change. The change is applied during the next maintenance window, unless you specify true for the ApplyImmediately parameter.

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

Example: mySubnetGroup

" + "documentation":"

The new DB subnet group for the DB instance. You can use this parameter to move your DB instance to a different VPC.

Changing the subnet group causes an outage during the change. The change is applied during the next maintenance window, unless you specify true for the ApplyImmediately parameter.

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

Example: mySubnetGroup

" }, "DBSecurityGroups":{ "shape":"DBSecurityGroupNameList", @@ -4284,11 +4272,11 @@ }, "ApplyImmediately":{ "shape":"Boolean", - "documentation":"

Specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB instance.

If this parameter is set to false, changes to the DB instance are applied during the next maintenance window. Some parameter changes can cause an outage and are applied on the next call to RebootDBInstance, or the next failure reboot.

Default: false

" + "documentation":"

Specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB instance.

If this parameter is set to false, changes to the DB instance are applied during the next maintenance window. Some parameter changes can cause an outage and are applied on the next call to RebootDBInstance, or the next failure reboot.

Default: false

" }, "MasterUserPassword":{ "shape":"String", - "documentation":"

The new password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

Not applicable.

Default: Uses existing setting

" + "documentation":"

Not applicable.

" }, "DBParameterGroupName":{ "shape":"String", @@ -4296,11 +4284,11 @@ }, "BackupRetentionPeriod":{ "shape":"IntegerOptional", - "documentation":"

The number of days to retain automated backups. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

Not applicable. The retention period for automated backups is managed by the DB cluster. For more information, see ModifyDBCluster.

Default: Uses existing setting

" + "documentation":"

Not applicable. The retention period for automated backups is managed by the DB cluster. For more information, see ModifyDBCluster.

Default: Uses existing setting

" }, "PreferredBackupWindow":{ "shape":"String", - "documentation":"

The daily time range during which automated backups are created if automated backups are enabled.

Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see ModifyDBCluster.

Constraints:

  • Must be in the format hh24:mi-hh24:mi

  • Must be in Universal Time Coordinated (UTC)

  • Must not conflict with the preferred maintenance window

  • Must be at least 30 minutes

" + "documentation":"

The daily time range during which automated backups are created if automated backups are enabled.

Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see ModifyDBCluster.

Constraints:

  • Must be in the format hh24:mi-hh24:mi

  • Must be in Universal Time Coordinated (UTC)

  • Must not conflict with the preferred maintenance window

  • Must be at least 30 minutes

" }, "PreferredMaintenanceWindow":{ "shape":"String", @@ -4308,11 +4296,11 @@ }, "MultiAZ":{ "shape":"BooleanOptional", - "documentation":"

Specifies if the DB instance is a Multi-AZ deployment. Changing this parameter doesn't result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request.

" + "documentation":"

Specifies if the DB instance is a Multi-AZ deployment. Changing this parameter doesn't result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request.

" }, "EngineVersion":{ "shape":"String", - "documentation":"

The version number of the database engine to upgrade to. Changing this parameter results in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request.

For major version upgrades, if a nondefault DB parameter group is currently in use, a new DB parameter group in the DB parameter group family for the new engine version must be specified. The new DB parameter group can be the default for that DB parameter group family.

" + "documentation":"

The version number of the database engine to upgrade to. Changing this parameter results in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request.

For major version upgrades, if a nondefault DB parameter group is currently in use, a new DB parameter group in the DB parameter group family for the new engine version must be specified. The new DB parameter group can be the default for that DB parameter group family.

" }, "AllowMajorVersionUpgrade":{ "shape":"Boolean", @@ -4320,27 +4308,27 @@ }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", - "documentation":"

Indicates that minor version upgrades are applied automatically to the DB instance during the maintenance window. Changing this parameter doesn't result in an outage except in the following case and the change is asynchronously applied as soon as possible. An outage will result if this parameter is set to true during the maintenance window, and a newer minor version is available, and Neptune has enabled auto patching for that engine version.

" + "documentation":"

Indicates that minor version upgrades are applied automatically to the DB instance during the maintenance window. Changing this parameter doesn't result in an outage except in the following case and the change is asynchronously applied as soon as possible. An outage will result if this parameter is set to true during the maintenance window, and a newer minor version is available, and Neptune has enabled auto patching for that engine version.

" }, "LicenseModel":{ "shape":"String", - "documentation":"

The license model for the DB instance.

Valid values: license-included | bring-your-own-license | general-public-license

" + "documentation":"

Not supported.

" }, "Iops":{ "shape":"IntegerOptional", - "documentation":"

The new Provisioned IOPS (I/O operations per second) value for the instance.

Changing this setting doesn't result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request.

Default: Uses existing setting

" + "documentation":"

The new Provisioned IOPS (I/O operations per second) value for the instance.

Changing this setting doesn't result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request.

Default: Uses existing setting

" }, "OptionGroupName":{ "shape":"String", - "documentation":"

Indicates that the DB instance should be associated with the specified option group. Changing this parameter doesn't result in an outage except in the following case and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If the parameter change results in an option group that enables OEM, this change can cause a brief (sub-second) period during which new connections are rejected but existing connections are not interrupted.

Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

" + "documentation":"

Indicates that the DB instance should be associated with the specified option group. Changing this parameter doesn't result in an outage except in the following case and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If the parameter change results in an option group that enables OEM, this change can cause a brief (sub-second) period during which new connections are rejected but existing connections are not interrupted.

Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

" }, "NewDBInstanceIdentifier":{ "shape":"String", - "documentation":"

The new DB instance identifier for the DB instance when renaming a DB instance. When you change the DB instance identifier, an instance reboot will occur immediately if you set Apply Immediately to true, or will occur during the next maintenance window if Apply Immediately to false. This value is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: mydbinstance

" + "documentation":"

The new DB instance identifier for the DB instance when renaming a DB instance. When you change the DB instance identifier, an instance reboot will occur immediately if you set Apply Immediately to true, or will occur during the next maintenance window if Apply Immediately to false. This value is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: mydbinstance

" }, "StorageType":{ "shape":"String", - "documentation":"

Specifies the storage type to be associated with the DB instance.

If you specify Provisioned IOPS (io1), you must also include a value for the Iops parameter.

If you choose to migrate your DB instance from using standard storage to using Provisioned IOPS, or from using Provisioned IOPS to using standard storage, the process can take time. The duration of the migration depends on several factors such as database load, storage size, storage type (standard or Provisioned IOPS), amount of IOPS provisioned (if any), and the number of prior scale storage operations. Typical migration times are under 24 hours, but the process can take up to several days in some cases. During the migration, the DB instance is available for use, but might experience performance degradation. While the migration takes place, nightly backups for the instance are suspended. No other Amazon Neptune operations can take place for the instance, including modifying the instance, rebooting the instance, deleting the instance, creating a Read Replica for the instance, and creating a DB snapshot of the instance.

Valid values: standard | gp2 | io1

Default: io1 if the Iops parameter is specified, otherwise standard

" + "documentation":"

Not supported.

" }, "TdeCredentialArn":{ "shape":"String", @@ -4356,7 +4344,7 @@ }, "Domain":{ "shape":"String", - "documentation":"

Not supported.

" + "documentation":"

Not supported.

" }, "CopyTagsToSnapshot":{ "shape":"BooleanOptional", @@ -4372,12 +4360,12 @@ }, "PubliclyAccessible":{ "shape":"BooleanOptional", - "documentation":"

This parameter is not supported.

", + "documentation":"

This flag should no longer be used.

", "deprecated":true }, "MonitoringRoleArn":{ "shape":"String", - "documentation":"

The ARN for the IAM role that permits Neptune to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

" + "documentation":"

The ARN for the IAM role that permits Neptune to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

" }, "DomainIAMRoleName":{ "shape":"String", @@ -4385,7 +4373,7 @@ }, "PromotionTier":{ "shape":"IntegerOptional", - "documentation":"

A value that specifies the order in which a Read Replica is promoted to the primary instance after a failure of the existing primary instance.

Default: 1

Valid Values: 0 - 15

" + "documentation":"

A value that specifies the order in which a Read Replica is promoted to the primary instance after a failure of the existing primary instance.

Default: 1

Valid Values: 0 - 15

" }, "EnableIAMDatabaseAuthentication":{ "shape":"BooleanOptional", @@ -4393,18 +4381,17 @@ }, "EnablePerformanceInsights":{ "shape":"BooleanOptional", - "documentation":"

True to enable Performance Insights for the DB instance, and otherwise false.

" + "documentation":"

Not supported.

" }, "PerformanceInsightsKMSKeyId":{ "shape":"String", - "documentation":"

The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

" + "documentation":"

Not supported.

" }, "CloudwatchLogsExportConfiguration":{ "shape":"CloudwatchLogsExportConfiguration", "documentation":"

The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance or DB cluster.

" } - }, - "documentation":"

" + } }, "ModifyDBInstanceResult":{ "type":"structure", @@ -4427,8 +4414,7 @@ "shape":"ParametersList", "documentation":"

An array of parameter names, values, and the apply method for the parameter update. At least one parameter name, value, and apply method must be supplied; subsequent arguments are optional. A maximum of 20 parameters can be modified in a single request.

Valid Values (for the application method): immediate | pending-reboot

You can use the immediate value with dynamic parameters only. You can use the pending-reboot value for both dynamic and static parameters, and changes are applied when you reboot the DB instance without failover.

" } - }, - "documentation":"

" + } }, "ModifyDBSubnetGroupMessage":{ "type":"structure", @@ -4439,7 +4425,7 @@ "members":{ "DBSubnetGroupName":{ "shape":"String", - "documentation":"

The name for the DB subnet group. This value is stored as a lowercase string. You can't modify the default subnet group.

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

Example: mySubnetgroup

" + "documentation":"

The name for the DB subnet group. This value is stored as a lowercase string. You can't modify the default subnet group.

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

Example: mySubnetgroup

" }, "DBSubnetGroupDescription":{ "shape":"String", @@ -4449,8 +4435,7 @@ "shape":"SubnetIdentifierList", "documentation":"

The EC2 subnet IDs for the DB subnet group.

" } - }, - "documentation":"

" + } }, "ModifyDBSubnetGroupResult":{ "type":"structure", @@ -4476,14 +4461,13 @@ }, "EventCategories":{ "shape":"EventCategoriesList", - "documentation":"

A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType by using the DescribeEventCategories action.

" + "documentation":"

A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType by using the DescribeEventCategories action.

" }, "Enabled":{ "shape":"BooleanOptional", - "documentation":"

A Boolean value; set to true to activate the subscription.

" + "documentation":"

A Boolean value; set to true to activate the subscription.

" } - }, - "documentation":"

" + } }, "ModifyEventSubscriptionResult":{ "type":"structure", @@ -4500,7 +4484,7 @@ }, "Status":{ "shape":"String", - "documentation":"

The status of the DB instance's option group membership. Valid values are: in-sync, pending-apply, pending-removal, pending-maintenance-apply, pending-maintenance-removal, applying, removing, and failed.

" + "documentation":"

The status of the DB instance's option group membership. Valid values are: in-sync, pending-apply, pending-removal, pending-maintenance-apply, pending-maintenance-removal, applying, removing, and failed.

" } }, "documentation":"

Provides information on the option groups the DB instance is a member of.

" @@ -4516,6 +4500,7 @@ "type":"structure", "members":{ }, + "documentation":"

The designated option group could not be found.

", "error":{ "code":"OptionGroupNotFoundFault", "httpStatusCode":404, @@ -4607,7 +4592,7 @@ "documentation":"

Maximum provisioned IOPS per GiB for a DB instance.

" } }, - "documentation":"

Contains a list of available options for a DB instance.

This data type is used as a response element in the DescribeOrderableDBInstanceOptions action.

", + "documentation":"

Contains a list of available options for a DB instance.

This data type is used as a response element in the DescribeOrderableDBInstanceOptions action.

", "wrapper":true }, "OrderableDBInstanceOptionsList":{ @@ -4626,10 +4611,9 @@ }, "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous OrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" + "documentation":"

An optional pagination token provided by a previous OrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeOrderableDBInstanceOptions action.

" + } }, "Parameter":{ "type":"structure", @@ -4664,7 +4648,7 @@ }, "IsModifiable":{ "shape":"Boolean", - "documentation":"

Indicates whether (true) or not (false) the parameter can be modified. Some parameters have security or operational implications that prevent them from being changed.

" + "documentation":"

Indicates whether (true) or not (false) the parameter can be modified. Some parameters have security or operational implications that prevent them from being changed.

" }, "MinimumEngineVersion":{ "shape":"String", @@ -4675,7 +4659,7 @@ "documentation":"

Indicates when to apply parameter updates.

" } }, - "documentation":"

This data type is used as a request parameter in the ModifyDBParameterGroup and ResetDBParameterGroup actions.

This data type is used as a response element in the DescribeEngineDefaultParameters and DescribeDBParameters actions.

" + "documentation":"

Specifies a parameter.

" }, "ParametersList":{ "type":"list", @@ -4751,21 +4735,20 @@ }, "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribePendingMaintenanceActions request. If this parameter is specified, the response includes only records beyond the marker, up to a number of records specified by MaxRecords.

" + "documentation":"

An optional pagination token provided by a previous DescribePendingMaintenanceActions request. If this parameter is specified, the response includes only records beyond the marker, up to a number of records specified by MaxRecords.

" } - }, - "documentation":"

Data returned from the DescribePendingMaintenanceActions action.

" + } }, "PendingModifiedValues":{ "type":"structure", "members":{ "DBInstanceClass":{ "shape":"String", - "documentation":"

Contains the new DBInstanceClass for the DB instance that will be applied or is currently being applied.

" + "documentation":"

Contains the new DBInstanceClass for the DB instance that will be applied or is currently being applied.

" }, "AllocatedStorage":{ "shape":"IntegerOptional", - "documentation":"

Contains the new AllocatedStorage size for the DB instance that will be applied or is currently being applied.

" + "documentation":"

Contains the new AllocatedStorage size for the DB instance that will be applied or is currently being applied.

" }, "MasterUserPassword":{ "shape":"String", @@ -4797,7 +4780,7 @@ }, "DBInstanceIdentifier":{ "shape":"String", - "documentation":"

Contains the new DBInstanceIdentifier for the DB instance that will be applied or is currently being applied.

" + "documentation":"

Contains the new DBInstanceIdentifier for the DB instance that will be applied or is currently being applied.

" }, "StorageType":{ "shape":"String", @@ -4809,11 +4792,14 @@ }, "DBSubnetGroupName":{ "shape":"String", - "documentation":"

The new DB subnet group for the DB instance.

" + "documentation":"

The new DB subnet group for the DB instance.

" }, - "PendingCloudwatchLogsExports":{"shape":"PendingCloudwatchLogsExports"} + "PendingCloudwatchLogsExports":{ + "shape":"PendingCloudwatchLogsExports", + "documentation":"

Specifies the CloudWatch logs to be exported.

" + } }, - "documentation":"

This data type is used as a response element in the ModifyDBInstance action.

" + "documentation":"

This data type is used as a response element in the ModifyDBInstance action.

" }, "PromoteReadReplicaDBClusterMessage":{ "type":"structure", @@ -4821,10 +4807,9 @@ "members":{ "DBClusterIdentifier":{ "shape":"String", - "documentation":"

The identifier of the DB cluster Read Replica to promote. This parameter is not case-sensitive.

Constraints:

  • Must match the identifier of an existing DBCluster Read Replica.

Example: my-cluster-replica1

" + "documentation":"

Not supported.

" } - }, - "documentation":"

" + } }, "PromoteReadReplicaDBClusterResult":{ "type":"structure", @@ -4857,7 +4842,7 @@ }, "Step":{ "shape":"IntegerOptional", - "documentation":"

The step value for the range. For example, if you have a range of 5,000 to 10,000, with a step value of 1,000, the valid values start at 5,000 and step up by 1,000. Even though 7,500 is within the range, it isn't a valid value for the range. The valid values are 5,000, 6,000, 7,000, 8,000...

" + "documentation":"

The step value for the range. For example, if you have a range of 5,000 to 10,000, with a step value of 1,000, the valid values start at 5,000 and step up by 1,000. Even though 7,500 is within the range, it isn't a valid value for the range. The valid values are 5,000, 6,000, 7,000, 8,000...

" } }, "documentation":"

A range of integer values.

" @@ -4900,10 +4885,9 @@ }, "ForceFailover":{ "shape":"BooleanOptional", - "documentation":"

When true, the reboot is conducted through a MultiAZ failover.

Constraint: You can't specify true if the instance is not configured for MultiAZ.

" + "documentation":"

When true, the reboot is conducted through a MultiAZ failover.

Constraint: You can't specify true if the instance is not configured for MultiAZ.

" } - }, - "documentation":"

" + } }, "RebootDBInstanceResult":{ "type":"structure", @@ -4941,10 +4925,9 @@ }, "SourceIdentifier":{ "shape":"String", - "documentation":"

The source identifier to be removed from the subscription, such as the DB instance identifier for a DB instance or the name of a security group.

" + "documentation":"

The source identifier to be removed from the subscription, such as the DB instance identifier for a DB instance or the name of a security group.

" } - }, - "documentation":"

" + } }, "RemoveSourceIdentifierFromSubscriptionResult":{ "type":"structure", @@ -4961,14 +4944,13 @@ "members":{ "ResourceName":{ "shape":"String", - "documentation":"

The Amazon Neptune resource that the tags are removed from. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an Amazon Resource Name (ARN).

" + "documentation":"

The Amazon Neptune resource that the tags are removed from. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an Amazon Resource Name (ARN).

" }, "TagKeys":{ "shape":"KeyList", "documentation":"

The tag key (name) of the tag to be removed.

" } - }, - "documentation":"

" + } }, "ResetDBClusterParameterGroupMessage":{ "type":"structure", @@ -4986,8 +4968,7 @@ "shape":"ParametersList", "documentation":"

A list of parameter names in the DB cluster parameter group to reset to the default values. You can't use this parameter if the ResetAllParameters parameter is set to true.

" } - }, - "documentation":"

" + } }, "ResetDBParameterGroupMessage":{ "type":"structure", @@ -4999,14 +4980,13 @@ }, "ResetAllParameters":{ "shape":"Boolean", - "documentation":"

Specifies whether (true) or not (false) to reset all parameters in the DB parameter group to default values.

Default: true

" + "documentation":"

Specifies whether (true) or not (false) to reset all parameters in the DB parameter group to default values.

Default: true

" }, "Parameters":{ "shape":"ParametersList", "documentation":"

To reset the entire DB parameter group, specify the DBParameterGroup name and ResetAllParameters parameters. To reset specific parameters, provide a list of the following: ParameterName and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

Valid Values (for Apply method): pending-reboot

" } - }, - "documentation":"

" + } }, "ResourceNotFoundFault":{ "type":"structure", @@ -5073,7 +5053,7 @@ }, "DatabaseName":{ "shape":"String", - "documentation":"

The database name for the restored DB cluster.

" + "documentation":"

Not supported.

" }, "OptionGroupName":{ "shape":"String", @@ -5094,9 +5074,16 @@ "EnableIAMDatabaseAuthentication":{ "shape":"BooleanOptional", "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" + }, + "EnableCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

The list of logs that the restored DB cluster is to export to Amazon CloudWatch Logs.

" + }, + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the DB cluster parameter group to associate with the new DB cluster.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

" } - }, - "documentation":"

" + } }, "RestoreDBClusterFromSnapshotResult":{ "type":"structure", @@ -5117,7 +5104,7 @@ }, "RestoreType":{ "shape":"String", - "documentation":"

The type of restore to be performed. You can specify one of the following values:

  • full-copy - The new DB cluster is restored as a full copy of the source DB cluster.

  • copy-on-write - The new DB cluster is restored as a clone of the source DB cluster.

Constraints: You can't specify copy-on-write if the engine version of the source DB cluster is earlier than 1.11.

If you don't specify a RestoreType value, then the new DB cluster is restored as a full copy of the source DB cluster.

" + "documentation":"

The type of restore to be performed. You can specify one of the following values:

  • full-copy - The new DB cluster is restored as a full copy of the source DB cluster.

  • copy-on-write - The new DB cluster is restored as a clone of the source DB cluster.

If you don't specify a RestoreType value, then the new DB cluster is restored as a full copy of the source DB cluster.

" }, "SourceDBClusterIdentifier":{ "shape":"String", @@ -5129,7 +5116,7 @@ }, "UseLatestRestorableTime":{ "shape":"Boolean", - "documentation":"

A value that is set to true to restore the DB cluster to the latest restorable backup time, and false otherwise.

Default: false

Constraints: Cannot be specified if RestoreToTime parameter is provided.

" + "documentation":"

A value that is set to true to restore the DB cluster to the latest restorable backup time, and false otherwise.

Default: false

Constraints: Cannot be specified if RestoreToTime parameter is provided.

" }, "Port":{ "shape":"IntegerOptional", @@ -5147,7 +5134,10 @@ "shape":"VpcSecurityGroupIdList", "documentation":"

A list of VPC security groups that the new DB cluster belongs to.

" }, - "Tags":{"shape":"TagList"}, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be applied to the restored DB cluster.

" + }, "KmsKeyId":{ "shape":"String", "documentation":"

The AWS KMS key identifier to use when restoring an encrypted DB cluster from an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

You can restore to a new DB cluster and encrypt the new DB cluster with a KMS key that is different than the KMS key used to encrypt the source DB cluster. The new DB cluster is encrypted with the KMS key identified by the KmsKeyId parameter.

If you do not specify a value for the KmsKeyId parameter, then the following will occur:

  • If the DB cluster is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the source DB cluster.

  • If the DB cluster is not encrypted, then the restored DB cluster is not encrypted.

If DBClusterIdentifier refers to a DB cluster that is not encrypted, then the restore request is rejected.

" @@ -5155,9 +5145,16 @@ "EnableIAMDatabaseAuthentication":{ "shape":"BooleanOptional", "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" + }, + "EnableCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

The list of logs that the restored DB cluster is to export to CloudWatch Logs.

" + }, + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the DB cluster parameter group to associate with the new DB cluster.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

" } - }, - "documentation":"

" + } }, "RestoreDBClusterToPointInTimeResult":{ "type":"structure", @@ -5169,6 +5166,7 @@ "type":"structure", "members":{ }, + "documentation":"

The SNS topic is invalid.

", "error":{ "code":"SNSInvalidTopic", "httpStatusCode":400, @@ -5180,6 +5178,7 @@ "type":"structure", "members":{ }, + "documentation":"

There is no SNS authorization.

", "error":{ "code":"SNSNoAuthorization", "httpStatusCode":400, @@ -5191,6 +5190,7 @@ "type":"structure", "members":{ }, + "documentation":"

The ARN of the SNS topic could not be found.

", "error":{ "code":"SNSTopicArnNotFound", "httpStatusCode":404, @@ -5233,6 +5233,7 @@ "type":"structure", "members":{ }, + "documentation":"

The source could not be found.

", "error":{ "code":"SourceNotFound", "httpStatusCode":404, @@ -5267,7 +5268,7 @@ "type":"structure", "members":{ }, - "documentation":"

StorageType specified cannot be associated with the DB Instance.

", + "documentation":"

StorageType specified cannot be associated with the DB Instance.

", "error":{ "code":"StorageTypeNotSupported", "httpStatusCode":400, @@ -5283,13 +5284,16 @@ "shape":"String", "documentation":"

Specifies the identifier of the subnet.

" }, - "SubnetAvailabilityZone":{"shape":"AvailabilityZone"}, + "SubnetAvailabilityZone":{ + "shape":"AvailabilityZone", + "documentation":"

Specifies the EC2 Availability Zone that the subnet is in.

" + }, "SubnetStatus":{ "shape":"String", "documentation":"

Specifies the status of the subnet.

" } }, - "documentation":"

This data type is used as a response element in the DescribeDBSubnetGroups action.

" + "documentation":"

Specifies a subnet.

This data type is used as a response element in the DescribeDBSubnetGroups action.

" }, "SubnetAlreadyInUse":{ "type":"structure", @@ -5321,6 +5325,7 @@ "type":"structure", "members":{ }, + "documentation":"

This subscription already exists.

", "error":{ "code":"SubscriptionAlreadyExist", "httpStatusCode":400, @@ -5332,6 +5337,7 @@ "type":"structure", "members":{ }, + "documentation":"

The designated subscription category could not be found.

", "error":{ "code":"SubscriptionCategoryNotFound", "httpStatusCode":404, @@ -5343,6 +5349,7 @@ "type":"structure", "members":{ }, + "documentation":"

The designated subscription could not be found.

", "error":{ "code":"SubscriptionNotFound", "httpStatusCode":404, @@ -5384,8 +5391,7 @@ "member":{ "shape":"Tag", "locationName":"Tag" - }, - "documentation":"

A list of tags. For more information, see Tagging Amazon Neptune Resources.

" + } }, "TagListMessage":{ "type":"structure", @@ -5394,8 +5400,7 @@ "shape":"TagList", "documentation":"

List of tags returned by the ListTagsForResource operation.

" } - }, - "documentation":"

" + } }, "Timezone":{ "type":"structure", @@ -5405,7 +5410,7 @@ "documentation":"

The name of the time zone.

" } }, - "documentation":"

A time zone associated with a DBInstance. This data type is an element in the response to the DescribeDBInstances, and the DescribeDBEngineVersions actions.

" + "documentation":"

A time zone associated with a DBInstance.

" }, "UpgradeTarget":{ "type":"structure", @@ -5438,7 +5443,7 @@ "members":{ "Storage":{ "shape":"ValidStorageOptionsList", - "documentation":"

Valid storage options for your DB instance.

" + "documentation":"

Valid storage options for your DB instance.

" } }, "documentation":"

Information about valid modifications that you can make to your DB instance. Contains the result of a successful call to the DescribeValidDBInstanceModifications action. You can use this information when you call ModifyDBInstance.

", @@ -5449,22 +5454,22 @@ "members":{ "StorageType":{ "shape":"String", - "documentation":"

The valid storage types for your DB instance. For example, gp2, io1.

" + "documentation":"

The valid storage types for your DB instance. For example, gp2, io1.

" }, "StorageSize":{ "shape":"RangeList", - "documentation":"

The valid range of storage in gibibytes. For example, 100 to 16384.

" + "documentation":"

The valid range of storage in gibibytes. For example, 100 to 16384.

" }, "ProvisionedIops":{ "shape":"RangeList", - "documentation":"

The valid range of provisioned IOPS. For example, 1000-20000.

" + "documentation":"

The valid range of provisioned IOPS. For example, 1000-20000.

" }, "IopsToStorageRatio":{ "shape":"DoubleRangeList", - "documentation":"

The valid range of Provisioned IOPS to gibibytes of storage multiplier. For example, 3-10, which means that provisioned IOPS can be between 3 and 10 times storage.

" + "documentation":"

The valid range of Provisioned IOPS to gibibytes of storage multiplier. For example, 3-10, which means that provisioned IOPS can be between 3 and 10 times storage.

" } }, - "documentation":"

Information about valid modifications that you can make to your DB instance. Contains the result of a successful call to the DescribeValidDBInstanceModifications action.

" + "documentation":"

Information about valid modifications that you can make to your DB instance.

Contains the result of a successful call to the DescribeValidDBInstanceModifications action.

" }, "ValidStorageOptionsList":{ "type":"list", @@ -5509,5 +5514,5 @@ } } }, - "documentation":"Amazon Neptune

Amazon Neptune is a fast, reliable, fully-managed graph database service that makes it easy to build and run applications that work with highly connected datasets. The core of Amazon Neptune is a purpose-built, high-performance graph database engine optimized for storing billions of relationships and querying the graph with milliseconds latency. Amazon Neptune supports popular graph models Property Graph and W3C's RDF, and their respective query languages Apache TinkerPop Gremlin and SPARQL, allowing you to easily build queries that efficiently navigate highly connected datasets. Neptune powers graph use cases such as recommendation engines, fraud detection, knowledge graphs, drug discovery, and network security.

This interface reference for Amazon Neptune contains documentation for a programming or command line interface you can use to manage Amazon Neptune. Note that Amazon Neptune is asynchronous, which means that some interfaces might require techniques such as polling or callback functions to determine when a command has been applied. In this reference, the parameter descriptions indicate whether a command is applied immediately, on the next instance reboot, or during the maintenance window. The reference structure is as follows, and we list following some related topics from the user guide.

Amazon Neptune API Reference

" + "documentation":"Amazon Neptune

Amazon Neptune is a fast, reliable, fully-managed graph database service that makes it easy to build and run applications that work with highly connected datasets. The core of Amazon Neptune is a purpose-built, high-performance graph database engine optimized for storing billions of relationships and querying the graph with milliseconds latency. Amazon Neptune supports popular graph models Property Graph and W3C's RDF, and their respective query languages Apache TinkerPop Gremlin and SPARQL, allowing you to easily build queries that efficiently navigate highly connected datasets. Neptune powers graph use cases such as recommendation engines, fraud detection, knowledge graphs, drug discovery, and network security.

This interface reference for Amazon Neptune contains documentation for a programming or command line interface you can use to manage Amazon Neptune. Note that Amazon Neptune is asynchronous, which means that some interfaces might require techniques such as polling or callback functions to determine when a command has been applied. In this reference, the parameter descriptions indicate whether a command is applied immediately, on the next instance reboot, or during the maintenance window. The reference structure is as follows, and we list following some related topics from the user guide.

" } diff --git a/bin/botocore/data/opsworkscm/2016-11-01/paginators-1.json b/bin/botocore/data/opsworkscm/2016-11-01/paginators-1.json index ea142457..3324f85e 100644 --- a/bin/botocore/data/opsworkscm/2016-11-01/paginators-1.json +++ b/bin/botocore/data/opsworkscm/2016-11-01/paginators-1.json @@ -1,3 +1,22 @@ { - "pagination": {} + "pagination": { + "DescribeBackups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Backups" + }, + "DescribeEvents": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ServerEvents" + }, + "DescribeServers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Servers" + } + } } diff --git a/bin/botocore/data/opsworkscm/2016-11-01/service-2.json b/bin/botocore/data/opsworkscm/2016-11-01/service-2.json index c4b4ba9d..76c7c852 100644 --- a/bin/botocore/data/opsworkscm/2016-11-01/service-2.json +++ b/bin/botocore/data/opsworkscm/2016-11-01/service-2.json @@ -99,7 +99,7 @@ }, "input":{"shape":"DescribeAccountAttributesRequest"}, "output":{"shape":"DescribeAccountAttributesResponse"}, - "documentation":"

Describes your account attributes, and creates requests to increase limits before they are reached or exceeded.

This operation is synchronous.

" + "documentation":"

Describes your OpsWorks-CM account attributes.

This operation is synchronous.

" }, "DescribeBackups":{ "name":"DescribeBackups", @@ -248,7 +248,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ValidationException"} ], - "documentation":"

Updates engine-specific attributes on a specified server. The server enters the MODIFYING state when this operation is in progress. Only one update can occur at a time. You can use this command to reset a Chef server's private key (CHEF_PIVOTAL_KEY), a Chef server's admin password (CHEF_DELIVERY_ADMIN_PASSWORD), or a Puppet server's admin password (PUPPET_ADMIN_PASSWORD).

This operation is asynchronous.

This operation can only be called for servers in HEALTHY or UNHEALTHY states. Otherwise, an InvalidStateException is raised. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid.

" + "documentation":"

Updates engine-specific attributes on a specified server. The server enters the MODIFYING state when this operation is in progress. Only one update can occur at a time. You can use this command to reset a Chef server's public key (CHEF_PIVOTAL_KEY) or a Puppet server's admin password (PUPPET_ADMIN_PASSWORD).

This operation is asynchronous.

This operation can only be called for servers in HEALTHY or UNHEALTHY states. Otherwise, an InvalidStateException is raised. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid.

" } }, "shapes":{ @@ -488,7 +488,7 @@ }, "Engine":{ "shape":"String", - "documentation":"

The configuration management engine to use. Valid values include Chef and Puppet.

" + "documentation":"

The configuration management engine to use. Valid values include ChefAutomate and Puppet.

" }, "EngineModel":{ "shape":"String", @@ -500,7 +500,7 @@ }, "EngineAttributes":{ "shape":"EngineAttributes", - "documentation":"

Optional engine attributes on a specified server.

Attributes accepted in a Chef createServer request:

  • CHEF_PIVOTAL_KEY: A base64-encoded RSA private key that is not stored by AWS OpsWorks for Chef Automate. This private key is required to access the Chef API. When no CHEF_PIVOTAL_KEY is set, one is generated and returned in the response.

  • CHEF_DELIVERY_ADMIN_PASSWORD: The password for the administrative user in the Chef Automate GUI. The password length is a minimum of eight characters, and a maximum of 32. The password can contain letters, numbers, and special characters (!/@#$%^&+=_). The password must contain at least one lower case letter, one upper case letter, one number, and one special character. When no CHEF_DELIVERY_ADMIN_PASSWORD is set, one is generated and returned in the response.

Attributes accepted in a Puppet createServer request:

  • PUPPET_ADMIN_PASSWORD: To work with the Puppet Enterprise console, a password must use ASCII characters.

" + "documentation":"

Optional engine attributes on a specified server.

Attributes accepted in a Chef createServer request:

  • CHEF_AUTOMATE_PIVOTAL_KEY: A base64-encoded RSA public key. The corresponding private key is required to access the Chef API. When no CHEF_AUTOMATE_PIVOTAL_KEY is set, a private key is generated and returned in the response.

  • CHEF_AUTOMATE_ADMIN_PASSWORD: The password for the administrative user in the Chef Automate web-based dashboard. The password length is a minimum of eight characters, and a maximum of 32. The password can contain letters, numbers, and special characters (!/@#$%^&+=_). The password must contain at least one lower case letter, one upper case letter, one number, and one special character. When no CHEF_AUTOMATE_ADMIN_PASSWORD is set, one is generated and returned in the response.

Attributes accepted in a Puppet createServer request:

  • PUPPET_ADMIN_PASSWORD: To work with the Puppet Enterprise console, a password must use ASCII characters.

  • PUPPET_R10K_REMOTE: The r10k remote is the URL of your control repository (for example, ssh://git@your.git-repo.com:user/control-repo.git). Specifying an r10k remote opens TCP port 8170.

  • PUPPET_R10K_PRIVATE_KEY: If you are using a private Git repository, add PUPPET_R10K_PRIVATE_KEY to specify a PEM-encoded private SSH key.

" }, "BackupRetentionCount":{ "shape":"BackupRetentionCountDefinition", @@ -516,7 +516,7 @@ }, "InstanceType":{ "shape":"String", - "documentation":"

The Amazon EC2 instance type to use. For example, m4.large. Recommended instance types include t2.medium and greater, m4.*, or c4.xlarge and greater.

" + "documentation":"

The Amazon EC2 instance type to use. For example, m5.large.

" }, "KeyPair":{ "shape":"KeyPair", @@ -540,7 +540,7 @@ }, "SubnetIds":{ "shape":"Strings", - "documentation":"

The IDs of subnets in which to launch the server EC2 instance.

Amazon EC2-Classic customers: This field is required. All servers must run within a VPC. The VPC must have \"Auto Assign Public IP\" enabled.

EC2-VPC customers: This field is optional. If you do not specify subnet IDs, your EC2 instances are created in a default subnet that is selected by Amazon EC2. If you specify subnet IDs, the VPC must have \"Auto Assign Public IP\" enabled.

For more information about supported Amazon EC2 platforms, see Supported Platforms.

" + "documentation":"

The IDs of subnets in which to launch the server EC2 instance.

Amazon EC2-Classic customers: This field is required. All servers must run within a VPC. The VPC must have \"Auto Assign Public IP\" enabled.

EC2-VPC customers: This field is optional. If you do not specify subnet IDs, your EC2 instances are created in a default subnet that is selected by Amazon EC2. If you specify subnet IDs, the VPC must have \"Auto Assign Public IP\" enabled.

For more information about supported Amazon EC2 platforms, see Supported Platforms.

" }, "BackupId":{ "shape":"BackupId", @@ -788,15 +788,15 @@ "members":{ "ExportAttributeName":{ "shape":"String", - "documentation":"

The name of the export attribute. Currently supported export attribute is \"Userdata\" which exports a userdata script filled out with parameters provided in the InputAttributes list.

" + "documentation":"

The name of the export attribute. Currently, the supported export attribute is Userdata. This exports a user data script that includes parameters and values provided in the InputAttributes list.

" }, "ServerName":{ "shape":"ServerName", - "documentation":"

The name of the Server to which the attribute is being exported from

" + "documentation":"

The name of the server from which you are exporting the attribute.

" }, "InputAttributes":{ "shape":"EngineAttributes", - "documentation":"

The list of engine attributes. The list type is EngineAttribute. EngineAttribute is a pair of attribute name and value. For ExportAttributeName \"Userdata\", currently supported input attribute names are: - \"RunList\": For Chef, an ordered list of roles and/or recipes that are run in the exact order. For Puppet, this parameter is ignored. - \"OrganizationName\": For Chef, an organization name. AWS OpsWorks for Chef Server always creates the organization \"default\". For Puppet, this parameter is ignored. - \"NodeEnvironment\": For Chef, a node environment (eg. development, staging, onebox). For Puppet, this parameter is ignored. - \"NodeClientVersion\": For Chef, version of Chef Engine (3 numbers separated by dots, eg. \"13.8.5\"). If empty, it uses the latest one. For Puppet, this parameter is ignored.

" + "documentation":"

The list of engine attributes. The list type is EngineAttribute. An EngineAttribute list item is a pair that includes an attribute name and its value. For the Userdata ExportAttributeName, the following are supported engine attribute names.

  • RunList In Chef, a list of roles or recipes that are run in the specified order. In Puppet, this parameter is ignored.

  • OrganizationName In Chef, an organization name. AWS OpsWorks for Chef Automate always creates the organization default. In Puppet, this parameter is ignored.

  • NodeEnvironment In Chef, a node environment (for example, development, staging, or one-box). In Puppet, this parameter is ignored.

  • NodeClientVersion In Chef, the version of the Chef engine (three numbers separated by dots, such as 13.8.5). If this attribute is empty, OpsWorks for Chef Automate uses the most current version. In Puppet, this parameter is ignored.

" } } }, @@ -805,11 +805,11 @@ "members":{ "EngineAttribute":{ "shape":"EngineAttribute", - "documentation":"

The requested engine attribute pair with attribute name and value.

" + "documentation":"

The requested engine attribute pair with attribute name and value.

" }, "ServerName":{ "shape":"ServerName", - "documentation":"

The requested ServerName.

" + "documentation":"

The server name used in the request.

" } } }, @@ -876,7 +876,7 @@ "NodeAssociationStatusToken":{"type":"string"}, "NodeName":{ "type":"string", - "documentation":"

The node name that is used by chef-client or puppet-agentfor a new node. We recommend to use a unique FQDN as hostname. For more information, see the Chef or Puppet documentation.

", + "documentation":"

The node name that is used by chef-client or puppet-agentfor a new node. We recommend to use a unique FQDN as hostname. For more information, see the Chef or Puppet documentation.

", "pattern":"^[\\-\\p{Alnum}_:.]+$" }, "ResourceAlreadyExistsException":{ @@ -918,7 +918,7 @@ }, "InstanceType":{ "shape":"String", - "documentation":"

The type of the instance to create. Valid values must be specified in the following format: ^([cm][34]|t2).* For example, m4.large. Valid values are t2.medium, m4.large, and m4.2xlarge. If you do not specify this parameter, RestoreServer uses the instance type from the specified backup.

" + "documentation":"

The type of the instance to create. Valid values must be specified in the following format: ^([cm][34]|t2).* For example, m5.large. Valid values are m5.large, r5.xlarge, and r5.2xlarge. If you do not specify this parameter, RestoreServer uses the instance type from the specified backup.

" }, "KeyPair":{ "shape":"KeyPair", @@ -964,7 +964,7 @@ }, "Engine":{ "shape":"String", - "documentation":"

The engine type of the server. Valid values in this release include Chef and Puppet.

" + "documentation":"

The engine type of the server. Valid values in this release include ChefAutomate and Puppet.

" }, "EngineModel":{ "shape":"String", @@ -972,7 +972,7 @@ }, "EngineAttributes":{ "shape":"EngineAttributes", - "documentation":"

The response of a createServer() request returns the master credential to access the server in EngineAttributes. These credentials are not stored by AWS OpsWorks CM; they are returned only as part of the result of createServer().

Attributes returned in a createServer response for Chef

  • CHEF_PIVOTAL_KEY: A base64-encoded RSA private key that is generated by AWS OpsWorks for Chef Automate. This private key is required to access the Chef API.

  • CHEF_STARTER_KIT: A base64-encoded ZIP file. The ZIP file contains a Chef starter kit, which includes a README, a configuration file, and the required RSA private key. Save this file, unzip it, and then change to the directory where you've unzipped the file contents. From this directory, you can run Knife commands.

Attributes returned in a createServer response for Puppet

  • PUPPET_STARTER_KIT: A base64-encoded ZIP file. The ZIP file contains a Puppet starter kit, including a README and a required private key. Save this file, unzip it, and then change to the directory where you've unzipped the file contents.

  • PUPPET_ADMIN_PASSWORD: An administrator password that you can use to sign in to the Puppet Enterprise console after the server is online.

" + "documentation":"

The response of a createServer() request returns the master credential to access the server in EngineAttributes. These credentials are not stored by AWS OpsWorks CM; they are returned only as part of the result of createServer().

Attributes returned in a createServer response for Chef

  • CHEF_AUTOMATE_PIVOTAL_KEY: A base64-encoded RSA private key that is generated by AWS OpsWorks for Chef Automate. This private key is required to access the Chef API.

  • CHEF_STARTER_KIT: A base64-encoded ZIP file. The ZIP file contains a Chef starter kit, which includes a README, a configuration file, and the required RSA private key. Save this file, unzip it, and then change to the directory where you've unzipped the file contents. From this directory, you can run Knife commands.

Attributes returned in a createServer response for Puppet

  • PUPPET_STARTER_KIT: A base64-encoded ZIP file. The ZIP file contains a Puppet starter kit, including a README and a required private key. Save this file, unzip it, and then change to the directory where you've unzipped the file contents.

  • PUPPET_ADMIN_PASSWORD: An administrator password that you can use to sign in to the Puppet Enterprise console after the server is online.

" }, "EngineVersion":{ "shape":"String", @@ -1192,5 +1192,5 @@ "exception":true } }, - "documentation":"AWS OpsWorks CM

AWS OpsWorks for configuration management (CM) is a service that runs and manages configuration management servers. You can use AWS OpsWorks CM to create and manage AWS OpsWorks for Chef Automate and AWS OpsWorks for Puppet Enterprise servers, and add or remove nodes for the servers to manage.

Glossary of terms

  • Server: A configuration management server that can be highly-available. The configuration management server runs on an Amazon Elastic Compute Cloud (EC2) instance, and may use various other AWS services, such as Amazon Relational Database Service (RDS) and Elastic Load Balancing. A server is a generic abstraction over the configuration manager that you want to use, much like Amazon RDS. In AWS OpsWorks CM, you do not start or stop servers. After you create servers, they continue to run until they are deleted.

  • Engine: The engine is the specific configuration manager that you want to use. Valid values in this release include Chef and Puppet.

  • Backup: This is an application-level backup of the data that the configuration manager stores. AWS OpsWorks CM creates an S3 bucket for backups when you launch the first server. A backup maintains a snapshot of a server's configuration-related attributes at the time the backup starts.

  • Events: Events are always related to a server. Events are written during server creation, when health checks run, when backups are created, when system maintenance is performed, etc. When you delete a server, the server's events are also deleted.

  • Account attributes: Every account has attributes that are assigned in the AWS OpsWorks CM database. These attributes store information about configuration limits (servers, backups, etc.) and your customer account.

Endpoints

AWS OpsWorks CM supports the following endpoints, all HTTPS. You must connect to one of the following endpoints. Your servers can only be accessed or managed within the endpoint in which they are created.

  • opsworks-cm.us-east-1.amazonaws.com

  • opsworks-cm.us-east-2.amazonaws.com

  • opsworks-cm.us-west-1.amazonaws.com

  • opsworks-cm.us-west-2.amazonaws.com

  • opsworks-cm.ap-northeast-1.amazonaws.com

  • opsworks-cm.ap-southeast-1.amazonaws.com

  • opsworks-cm.ap-southeast-2.amazonaws.com

  • opsworks-cm.eu-central-1.amazonaws.com

  • opsworks-cm.eu-west-1.amazonaws.com

Throttling limits

All API operations allow for five requests per second with a burst of 10 requests per second.

" + "documentation":"AWS OpsWorks CM

AWS OpsWorks for configuration management (CM) is a service that runs and manages configuration management servers. You can use AWS OpsWorks CM to create and manage AWS OpsWorks for Chef Automate and AWS OpsWorks for Puppet Enterprise servers, and add or remove nodes for the servers to manage.

Glossary of terms

  • Server: A configuration management server that can be highly-available. The configuration management server runs on an Amazon Elastic Compute Cloud (EC2) instance, and may use various other AWS services, such as Amazon Relational Database Service (RDS) and Elastic Load Balancing. A server is a generic abstraction over the configuration manager that you want to use, much like Amazon RDS. In AWS OpsWorks CM, you do not start or stop servers. After you create servers, they continue to run until they are deleted.

  • Engine: The engine is the specific configuration manager that you want to use. Valid values in this release include ChefAutomate and Puppet.

  • Backup: This is an application-level backup of the data that the configuration manager stores. AWS OpsWorks CM creates an S3 bucket for backups when you launch the first server. A backup maintains a snapshot of a server's configuration-related attributes at the time the backup starts.

  • Events: Events are always related to a server. Events are written during server creation, when health checks run, when backups are created, when system maintenance is performed, etc. When you delete a server, the server's events are also deleted.

  • Account attributes: Every account has attributes that are assigned in the AWS OpsWorks CM database. These attributes store information about configuration limits (servers, backups, etc.) and your customer account.

Endpoints

AWS OpsWorks CM supports the following endpoints, all HTTPS. You must connect to one of the following endpoints. Your servers can only be accessed or managed within the endpoint in which they are created.

  • opsworks-cm.us-east-1.amazonaws.com

  • opsworks-cm.us-east-2.amazonaws.com

  • opsworks-cm.us-west-1.amazonaws.com

  • opsworks-cm.us-west-2.amazonaws.com

  • opsworks-cm.ap-northeast-1.amazonaws.com

  • opsworks-cm.ap-southeast-1.amazonaws.com

  • opsworks-cm.ap-southeast-2.amazonaws.com

  • opsworks-cm.eu-central-1.amazonaws.com

  • opsworks-cm.eu-west-1.amazonaws.com

Throttling limits

All API operations allow for five requests per second with a burst of 10 requests per second.

" } diff --git a/bin/botocore/data/organizations/2016-11-28/paginators-1.json b/bin/botocore/data/organizations/2016-11-28/paginators-1.json index 1c8f978b..cb7df330 100644 --- a/bin/botocore/data/organizations/2016-11-28/paginators-1.json +++ b/bin/botocore/data/organizations/2016-11-28/paginators-1.json @@ -77,6 +77,11 @@ "output_token": "NextToken", "input_token": "NextToken", "limit_key": "MaxResults" + }, + "ListTagsForResource": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Tags" } } } diff --git a/bin/botocore/data/organizations/2016-11-28/service-2.json b/bin/botocore/data/organizations/2016-11-28/service-2.json index 3265dbdd..7f58865e 100644 --- a/bin/botocore/data/organizations/2016-11-28/service-2.json +++ b/bin/botocore/data/organizations/2016-11-28/service-2.json @@ -34,7 +34,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"AccessDeniedForDependencyException"} ], - "documentation":"

Sends a response to the originator of a handshake agreeing to the action proposed by the handshake request.

This operation can be called only by the following principals when they also have the relevant IAM permissions:

  • Invitation to join or Approve all features request handshakes: only a principal from the member account.

    The user who calls the API for an invitation to join must have the organizations:AcceptHandshake permission. If you enabled all features in the organization, then the user must also have the iam:CreateServiceLinkedRole permission so that Organizations can create the required service-linked role named AWSServiceRoleForOrganizations. For more information, see AWS Organizations and Service-Linked Roles in the AWS Organizations User Guide.

  • Enable all features final confirmation handshake: only a principal from the master account.

    For more information about invitations, see Inviting an AWS Account to Join Your Organization in the AWS Organizations User Guide. For more information about requests to enable all features in the organization, see Enabling All Features in Your Organization in the AWS Organizations User Guide.

After you accept a handshake, it continues to appear in the results of relevant APIs for only 30 days. After that it is deleted.

" + "documentation":"

Sends a response to the originator of a handshake agreeing to the action proposed by the handshake request.

This operation can be called only by the following principals when they also have the relevant IAM permissions:

  • Invitation to join or Approve all features request handshakes: only a principal from the member account.

    The user who calls the API for an invitation to join must have the organizations:AcceptHandshake permission. If you enabled all features in the organization, the user must also have the iam:CreateServiceLinkedRole permission so that AWS Organizations can create the required service-linked role named AWSServiceRoleForOrganizations. For more information, see AWS Organizations and Service-Linked Roles in the AWS Organizations User Guide.

  • Enable all features final confirmation handshake: only a principal from the master account.

    For more information about invitations, see Inviting an AWS Account to Join Your Organization in the AWS Organizations User Guide. For more information about requests to enable all features in the organization, see Enabling All Features in Your Organization in the AWS Organizations User Guide.

After you accept a handshake, it continues to appear in the results of relevant APIs for only 30 days. After that, it's deleted.

" }, "AttachPolicy":{ "name":"AttachPolicy", @@ -56,7 +56,7 @@ {"shape":"TargetNotFoundException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Attaches a policy to a root, an organizational unit (OU), or an individual account. How the policy affects accounts depends on the type of policy:

  • Service control policy (SCP) - An SCP specifies what permissions can be delegated to users in affected member accounts. The scope of influence for a policy depends on what you attach the policy to:

    • If you attach an SCP to a root, it affects all accounts in the organization.

    • If you attach an SCP to an OU, it affects all accounts in that OU and in any child OUs.

    • If you attach the policy directly to an account, then it affects only that account.

    SCPs essentially are permission \"filters\". When you attach one SCP to a higher level root or OU, and you also attach a different SCP to a child OU or to an account, the child policy can further restrict only the permissions that pass through the parent filter and are available to the child. An SCP that is attached to a child cannot grant a permission that is not already granted by the parent. For example, imagine that the parent SCP allows permissions A, B, C, D, and E. The child SCP allows C, D, E, F, and G. The result is that the accounts affected by the child SCP are allowed to use only C, D, and E. They cannot use A or B because they were filtered out by the child OU. They also cannot use F and G because they were filtered out by the parent OU. They cannot be granted back by the child SCP; child SCPs can only filter the permissions they receive from the parent SCP.

    AWS Organizations attaches a default SCP named \"FullAWSAccess to every root, OU, and account. This default SCP allows all services and actions, enabling any new child OU or account to inherit the permissions of the parent root or OU. If you detach the default policy, you must replace it with a policy that specifies the permissions that you want to allow in that OU or account.

    For more information about how Organizations policies permissions work, see Using Service Control Policies in the AWS Organizations User Guide.

This operation can be called only from the organization's master account.

" + "documentation":"

Attaches a policy to a root, an organizational unit (OU), or an individual account. How the policy affects accounts depends on the type of policy:

  • Service control policy (SCP) - An SCP specifies what permissions can be delegated to users in affected member accounts. The scope of influence for a policy depends on what you attach the policy to:

    • If you attach an SCP to a root, it affects all accounts in the organization

    • If you attach an SCP to an OU, it affects all accounts in that OU and in any child OUs

    • If you attach the policy directly to an account, it affects only that account

    SCPs are JSON policies that specify the maximum permissions for an organization or organizational unit (OU). When you attach one SCP to a higher level root or OU, and you also attach a different SCP to a child OU or to an account, the child policy can further restrict only the permissions that pass through the parent filter and are available to the child. An SCP that is attached to a child can't grant a permission that the paren't hasn't already granted. For example, imagine that the parent SCP allows permissions A, B, C, D, and E. The child SCP allows C, D, E, F, and G. The result is that the accounts affected by the child SCP are allowed to use only C, D, and E. They can't use A or B because the child OU filtered them out. They also can't use F and G because the parent OU filtered them out. They can't be granted back by the child SCP; child SCPs can only filter the permissions they receive from the parent SCP.

    AWS Organizations attaches a default SCP named \"FullAWSAccess to every root, OU, and account. This default SCP allows all services and actions, enabling any new child OU or account to inherit the permissions of the parent root or OU. If you detach the default policy, you must replace it with a policy that specifies the permissions that you want to allow in that OU or account.

    For more information about how AWS Organizations policies permissions work, see Using Service Control Policies in the AWS Organizations User Guide.

This operation can be called only from the organization's master account.

" }, "CancelHandshake":{ "name":"CancelHandshake", @@ -76,7 +76,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Cancels a handshake. Canceling a handshake sets the handshake state to CANCELED.

This operation can be called only from the account that originated the handshake. The recipient of the handshake can't cancel it, but can use DeclineHandshake instead. After a handshake is canceled, the recipient can no longer respond to that handshake.

After you cancel a handshake, it continues to appear in the results of relevant APIs for only 30 days. After that it is deleted.

" + "documentation":"

Cancels a handshake. Canceling a handshake sets the handshake state to CANCELED.

This operation can be called only from the account that originated the handshake. The recipient of the handshake can't cancel it, but can use DeclineHandshake instead. After a handshake is canceled, the recipient can no longer respond to that handshake.

After you cancel a handshake, it continues to appear in the results of relevant APIs for only 30 days. After that, it's deleted.

" }, "CreateAccount":{ "name":"CreateAccount", @@ -94,9 +94,31 @@ {"shape":"InvalidInputException"}, {"shape":"FinalizingOrganizationException"}, {"shape":"ServiceException"}, - {"shape":"TooManyRequestsException"} + {"shape":"TooManyRequestsException"}, + {"shape":"UnsupportedAPIEndpointException"} ], - "documentation":"

Creates an AWS account that is automatically a member of the organization whose credentials made the request. This is an asynchronous request that AWS performs in the background. Because CreateAccount operates asynchronously, it can return a successful completion message even though account initialization might still be in progress. You might need to wait a few minutes before you can successfully access the account. To check the status of the request, do one of the following:

The user who calls the API to create an account must have the organizations:CreateAccount permission. If you enabled all features in the organization, AWS Organizations will create the required service-linked role named AWSServiceRoleForOrganizations. For more information, see AWS Organizations and Service-Linked Roles in the AWS Organizations User Guide.

AWS Organizations preconfigures the new member account with a role (named OrganizationAccountAccessRole by default) that grants users in the master account administrator permissions in the new member account. Principals in the master account can assume the role. AWS Organizations clones the company name and address information for the new account from the organization's master account.

This operation can be called only from the organization's master account.

For more information about creating accounts, see Creating an AWS Account in Your Organization in the AWS Organizations User Guide.

  • When you create an account in an organization using the AWS Organizations console, API, or CLI commands, the information required for the account to operate as a standalone account, such as a payment method and signing the end user license agreement (EULA) is not automatically collected. If you must remove an account from your organization later, you can do so only after you provide the missing information. Follow the steps at To leave an organization as a member account in the AWS Organizations User Guide.

  • If you get an exception that indicates that you exceeded your account limits for the organization, contact AWS Support.

  • If you get an exception that indicates that the operation failed because your organization is still initializing, wait one hour and then try again. If the error persists, contact AWS Support.

When you create a member account with this operation, you can choose whether to create the account with the IAM User and Role Access to Billing Information switch enabled. If you enable it, IAM users and roles that have appropriate permissions can view billing information for the account. If you disable it, only the account root user can access billing information. For information about how to disable this switch for an account, see Granting Access to Your Billing Information and Tools.

" + "documentation":"

Creates an AWS account that is automatically a member of the organization whose credentials made the request. This is an asynchronous request that AWS performs in the background. Because CreateAccount operates asynchronously, it can return a successful completion message even though account initialization might still be in progress. You might need to wait a few minutes before you can successfully access the account. To check the status of the request, do one of the following:

The user who calls the API to create an account must have the organizations:CreateAccount permission. If you enabled all features in the organization, AWS Organizations will create the required service-linked role named AWSServiceRoleForOrganizations. For more information, see AWS Organizations and Service-Linked Roles in the AWS Organizations User Guide.

AWS Organizations preconfigures the new member account with a role (named OrganizationAccountAccessRole by default) that grants users in the master account administrator permissions in the new member account. Principals in the master account can assume the role. AWS Organizations clones the company name and address information for the new account from the organization's master account.

This operation can be called only from the organization's master account.

For more information about creating accounts, see Creating an AWS Account in Your Organization in the AWS Organizations User Guide.

  • When you create an account in an organization using the AWS Organizations console, API, or CLI commands, the information required for the account to operate as a standalone account, such as a payment method and signing the end user license agreement (EULA) is not automatically collected. If you must remove an account from your organization later, you can do so only after you provide the missing information. Follow the steps at To leave an organization as a member account in the AWS Organizations User Guide.

  • If you get an exception that indicates that you exceeded your account limits for the organization, contact AWS Support.

  • If you get an exception that indicates that the operation failed because your organization is still initializing, wait one hour and then try again. If the error persists, contact AWS Support.

  • Using CreateAccount to create multiple temporary accounts isn't recommended. You can only close an account from the Billing and Cost Management Console, and you must be signed in as the root user. For information on the requirements and process for closing an account, see Closing an AWS Account in the AWS Organizations User Guide.

When you create a member account with this operation, you can choose whether to create the account with the IAM User and Role Access to Billing Information switch enabled. If you enable it, IAM users and roles that have appropriate permissions can view billing information for the account. If you disable it, only the account root user can access billing information. For information about how to disable this switch for an account, see Granting Access to Your Billing Information and Tools.

" + }, + "CreateGovCloudAccount":{ + "name":"CreateGovCloudAccount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateGovCloudAccountRequest"}, + "output":{"shape":"CreateGovCloudAccountResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"FinalizingOrganizationException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"UnsupportedAPIEndpointException"} + ], + "documentation":"

This action is available if all of the following are true:

  • You're authorized to create accounts in the AWS GovCloud (US) Region. For more information on the AWS GovCloud (US) Region, see the AWS GovCloud User Guide.

  • You already have an account in the AWS GovCloud (US) Region that is associated with your master account in the commercial Region.

  • You call this action from the master account of your organization in the commercial Region.

  • You have the organizations:CreateGovCloudAccount permission. AWS Organizations creates the required service-linked role named AWSServiceRoleForOrganizations. For more information, see AWS Organizations and Service-Linked Roles in the AWS Organizations User Guide.

AWS automatically enables AWS CloudTrail for AWS GovCloud (US) accounts, but you should also do the following:

  • Verify that AWS CloudTrail is enabled to store logs.

  • Create an S3 bucket for AWS CloudTrail log storage.

    For more information, see Verifying AWS CloudTrail Is Enabled in the AWS GovCloud User Guide.

You call this action from the master account of your organization in the commercial Region to create a standalone AWS account in the AWS GovCloud (US) Region. After the account is created, the master account of an organization in the AWS GovCloud (US) Region can invite it to that organization. For more information on inviting standalone accounts in the AWS GovCloud (US) to join an organization, see AWS Organizations in the AWS GovCloud User Guide.

Calling CreateGovCloudAccount is an asynchronous request that AWS performs in the background. Because CreateGovCloudAccount operates asynchronously, it can return a successful completion message even though account initialization might still be in progress. You might need to wait a few minutes before you can successfully access the account. To check the status of the request, do one of the following:

When you call the CreateGovCloudAccount action, you create two accounts: a standalone account in the AWS GovCloud (US) Region and an associated account in the commercial Region for billing and support purposes. The account in the commercial Region is automatically a member of the organization whose credentials made the request. Both accounts are associated with the same email address.

A role is created in the new account in the commercial Region that allows the master account in the organization in the commercial Region to assume it. An AWS GovCloud (US) account is then created and associated with the commercial account that you just created. A role is created in the new AWS GovCloud (US) account that can be assumed by the AWS GovCloud (US) account that is associated with the master account of the commercial organization. For more information and to view a diagram that explains how account access works, see AWS Organizations in the AWS GovCloud User Guide.

For more information about creating accounts, see Creating an AWS Account in Your Organization in the AWS Organizations User Guide.

  • When you create an account in an organization using the AWS Organizations console, API, or CLI commands, the information required for the account to operate as a standalone account, such as a payment method and signing the end user license agreement (EULA) is not automatically collected. If you must remove an account from your organization later, you can do so only after you provide the missing information. Follow the steps at To leave an organization as a member account in the AWS Organizations User Guide.

  • If you get an exception that indicates that you exceeded your account limits for the organization, contact AWS Support.

  • If you get an exception that indicates that the operation failed because your organization is still initializing, wait one hour and then try again. If the error persists, contact AWS Support.

  • Using CreateGovCloudAccount to create multiple temporary accounts isn't recommended. You can only close an account from the AWS Billing and Cost Management console, and you must be signed in as the root user. For information on the requirements and process for closing an account, see Closing an AWS Account in the AWS Organizations User Guide.

When you create a member account with this operation, you can choose whether to create the account with the IAM User and Role Access to Billing Information switch enabled. If you enable it, IAM users and roles that have appropriate permissions can view billing information for the account. If you disable it, only the account root user can access billing information. For information about how to disable this switch for an account, see Granting Access to Your Billing Information and Tools.

" }, "CreateOrganization":{ "name":"CreateOrganization", @@ -116,7 +138,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"AccessDeniedForDependencyException"} ], - "documentation":"

Creates an AWS organization. The account whose user is calling the CreateOrganization operation automatically becomes the master account of the new organization.

This operation must be called using credentials from the account that is to become the new organization's master account. The principal must also have the relevant IAM permissions.

By default (or if you set the FeatureSet parameter to ALL), the new organization is created with all features enabled and service control policies automatically enabled in the root. If you instead choose to create the organization supporting only the consolidated billing features by setting the FeatureSet parameter to CONSOLIDATED_BILLING\", then no policy types are enabled by default and you cannot use organization policies.

" + "documentation":"

Creates an AWS organization. The account whose user is calling the CreateOrganization operation automatically becomes the master account of the new organization.

This operation must be called using credentials from the account that is to become the new organization's master account. The principal must also have the relevant IAM permissions.

By default (or if you set the FeatureSet parameter to ALL), the new organization is created with all features enabled and service control policies automatically enabled in the root. If you instead choose to create the organization supporting only the consolidated billing features by setting the FeatureSet parameter to CONSOLIDATED_BILLING\", no policy types are enabled by default, and you can't use organization policies.

" }, "CreateOrganizationalUnit":{ "name":"CreateOrganizationalUnit", @@ -137,7 +159,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Creates an organizational unit (OU) within a root or parent OU. An OU is a container for accounts that enables you to organize your accounts to apply policies according to your business requirements. The number of levels deep that you can nest OUs is dependent upon the policy types enabled for that root. For service control policies, the limit is five.

For more information about OUs, see Managing Organizational Units in the AWS Organizations User Guide.

This operation can be called only from the organization's master account.

" + "documentation":"

Creates an organizational unit (OU) within a root or parent OU. An OU is a container for accounts that enables you to organize your accounts to apply policies according to your business requirements. The number of levels deep that you can nest OUs is dependent upon the policy types enabled for that root. For service control policies, the limit is five.

For more information about OUs, see Managing Organizational Units in the AWS Organizations User Guide.

This operation can be called only from the organization's master account.

" }, "CreatePolicy":{ "name":"CreatePolicy", @@ -159,7 +181,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Creates a policy of a specified type that you can attach to a root, an organizational unit (OU), or an individual AWS account.

For more information about policies and their use, see Managing Organization Policies.

This operation can be called only from the organization's master account.

" + "documentation":"

Creates a policy of a specified type that you can attach to a root, an organizational unit (OU), or an individual AWS account.

For more information about policies and their use, see Managing Organization Policies.

This operation can be called only from the organization's master account.

" }, "DeclineHandshake":{ "name":"DeclineHandshake", @@ -179,7 +201,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Declines a handshake request. This sets the handshake state to DECLINED and effectively deactivates the request.

This operation can be called only from the account that received the handshake. The originator of the handshake can use CancelHandshake instead. The originator can't reactivate a declined request, but can re-initiate the process with a new handshake request.

After you decline a handshake, it continues to appear in the results of relevant APIs for only 30 days. After that it is deleted.

" + "documentation":"

Declines a handshake request. This sets the handshake state to DECLINED and effectively deactivates the request.

This operation can be called only from the account that received the handshake. The originator of the handshake can use CancelHandshake instead. The originator can't reactivate a declined request, but can reinitiate the process with a new handshake request.

After you decline a handshake, it continues to appear in the results of relevant APIs for only 30 days. After that, it's deleted.

" }, "DeleteOrganization":{ "name":"DeleteOrganization", @@ -252,7 +274,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Retrieves Organizations-related information about the specified account.

This operation can be called only from the organization's master account.

" + "documentation":"

Retrieves AWS Organizations-related information about the specified account.

This operation can be called only from the organization's master account.

" }, "DescribeCreateAccountStatus":{ "name":"DescribeCreateAccountStatus", @@ -268,7 +290,8 @@ {"shape":"CreateAccountStatusNotFoundException"}, {"shape":"InvalidInputException"}, {"shape":"ServiceException"}, - {"shape":"TooManyRequestsException"} + {"shape":"TooManyRequestsException"}, + {"shape":"UnsupportedAPIEndpointException"} ], "documentation":"

Retrieves the current status of an asynchronous request to create an account.

This operation can be called only from the organization's master account.

" }, @@ -288,7 +311,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Retrieves information about a previously requested handshake. The handshake ID comes from the response to the original InviteAccountToOrganization operation that generated the handshake.

You can access handshakes that are ACCEPTED, DECLINED, or CANCELED for only 30 days after they change to that state. They are then deleted and no longer accessible.

This operation can be called from any account in the organization.

" + "documentation":"

Retrieves information about a previously requested handshake. The handshake ID comes from the response to the original InviteAccountToOrganization operation that generated the handshake.

You can access handshakes that are ACCEPTED, DECLINED, or CANCELED for only 30 days after they change to that state. They're then deleted and no longer accessible.

This operation can be called from any account in the organization.

" }, "DescribeOrganization":{ "name":"DescribeOrganization", @@ -304,7 +327,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Retrieves information about the organization that the user's account belongs to.

This operation can be called from any account in the organization.

Even if a policy type is shown as available in the organization, it can be disabled separately at the root level with DisablePolicyType. Use ListRoots to see the status of policy types for a specified root.

" + "documentation":"

Retrieves information about the organization that the user's account belongs to.

This operation can be called from any account in the organization.

Even if a policy type is shown as available in the organization, you can disable it separately at the root level with DisablePolicyType. Use ListRoots to see the status of policy types for a specified root.

" }, "DescribeOrganizationalUnit":{ "name":"DescribeOrganizationalUnit", @@ -361,7 +384,7 @@ {"shape":"TargetNotFoundException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Detaches a policy from a target root, organizational unit (OU), or account. If the policy being detached is a service control policy (SCP), the changes to permissions for IAM users and roles in affected accounts are immediate.

Note: Every root, OU, and account must have at least one SCP attached. If you want to replace the default FullAWSAccess policy with one that limits the permissions that can be delegated, then you must attach the replacement policy before you can remove the default one. This is the authorization strategy of whitelisting. If you instead attach a second SCP and leave the FullAWSAccess SCP still attached, and specify \"Effect\": \"Deny\" in the second SCP to override the \"Effect\": \"Allow\" in the FullAWSAccess policy (or any other attached SCP), then you are using the authorization strategy of blacklisting.

This operation can be called only from the organization's master account.

" + "documentation":"

Detaches a policy from a target root, organizational unit (OU), or account. If the policy being detached is a service control policy (SCP), the changes to permissions for IAM users and roles in affected accounts are immediate.

Note: Every root, OU, and account must have at least one SCP attached. If you want to replace the default FullAWSAccess policy with one that limits the permissions that can be delegated, you must attach the replacement policy before you can remove the default one. This is the authorization strategy of whitelisting. If you instead attach a second SCP and leave the FullAWSAccess SCP still attached, and specify \"Effect\": \"Deny\" in the second SCP to override the \"Effect\": \"Allow\" in the FullAWSAccess policy (or any other attached SCP), you're using the authorization strategy of blacklisting.

This operation can be called only from the organization's master account.

" }, "DisableAWSServiceAccess":{ "name":"DisableAWSServiceAccess", @@ -379,7 +402,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Disables the integration of an AWS service (the service that is specified by ServicePrincipal) with AWS Organizations. When you disable integration, the specified service no longer can create a service-linked role in new accounts in your organization. This means the service can't perform operations on your behalf on any new accounts in your organization. The service can still perform operations in older accounts until the service completes its clean-up from AWS Organizations.

We recommend that you disable integration between AWS Organizations and the specified AWS service by using the console or commands that are provided by the specified service. Doing so ensures that the other service is aware that it can clean up any resources that are required only for the integration. How the service cleans up its resources in the organization's accounts depends on that service. For more information, see the documentation for the other AWS service.

After you perform the DisableAWSServiceAccess operation, the specified service can no longer perform operations in your organization's accounts unless the operations are explicitly permitted by the IAM policies that are attached to your roles.

For more information about integrating other services with AWS Organizations, including the list of services that work with Organizations, see Integrating AWS Organizations with Other AWS Services in the AWS Organizations User Guide.

This operation can be called only from the organization's master account.

" + "documentation":"

Disables the integration of an AWS service (the service that is specified by ServicePrincipal) with AWS Organizations. When you disable integration, the specified service no longer can create a service-linked role in new accounts in your organization. This means the service can't perform operations on your behalf on any new accounts in your organization. The service can still perform operations in older accounts until the service completes its clean-up from AWS Organizations.

We recommend that you disable integration between AWS Organizations and the specified AWS service by using the console or commands that are provided by the specified service. Doing so ensures that the other service is aware that it can clean up any resources that are required only for the integration. How the service cleans up its resources in the organization's accounts depends on that service. For more information, see the documentation for the other AWS service.

After you perform the DisableAWSServiceAccess operation, the specified service can no longer perform operations in your organization's accounts unless the operations are explicitly permitted by the IAM policies that are attached to your roles.

For more information about integrating other services with AWS Organizations, including the list of services that work with Organizations, see Integrating AWS Organizations with Other AWS Services in the AWS Organizations User Guide.

This operation can be called only from the organization's master account.

" }, "DisablePolicyType":{ "name":"DisablePolicyType", @@ -418,7 +441,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Enables the integration of an AWS service (the service that is specified by ServicePrincipal) with AWS Organizations. When you enable integration, you allow the specified service to create a service-linked role in all the accounts in your organization. This allows the service to perform operations on your behalf in your organization and its accounts.

We recommend that you enable integration between AWS Organizations and the specified AWS service by using the console or commands that are provided by the specified service. Doing so ensures that the service is aware that it can create the resources that are required for the integration. How the service creates those resources in the organization's accounts depends on that service. For more information, see the documentation for the other AWS service.

For more information about enabling services to integrate with AWS Organizations, see Integrating AWS Organizations with Other AWS Services in the AWS Organizations User Guide.

This operation can be called only from the organization's master account and only if the organization has enabled all features.

" + "documentation":"

Enables the integration of an AWS service (the service that is specified by ServicePrincipal) with AWS Organizations. When you enable integration, you allow the specified service to create a service-linked role in all the accounts in your organization. This allows the service to perform operations on your behalf in your organization and its accounts.

We recommend that you enable integration between AWS Organizations and the specified AWS service by using the console or commands that are provided by the specified service. Doing so ensures that the service is aware that it can create the resources that are required for the integration. How the service creates those resources in the organization's accounts depends on that service. For more information, see the documentation for the other AWS service.

For more information about enabling services to integrate with AWS Organizations, see Integrating AWS Organizations with Other AWS Services in the AWS Organizations User Guide.

This operation can be called only from the organization's master account and only if the organization has enabled all features.

" }, "EnableAllFeatures":{ "name":"EnableAllFeatures", @@ -437,7 +460,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Enables all features in an organization. This enables the use of organization policies that can restrict the services and actions that can be called in each account. Until you enable all features, you have access only to consolidated billing, and you can't use any of the advanced account administration features that AWS Organizations supports. For more information, see Enabling All Features in Your Organization in the AWS Organizations User Guide.

This operation is required only for organizations that were created explicitly with only the consolidated billing features enabled. Calling this operation sends a handshake to every invited account in the organization. The feature set change can be finalized and the additional features enabled only after all administrators in the invited accounts approve the change by accepting the handshake.

After you enable all features, you can separately enable or disable individual policy types in a root using EnablePolicyType and DisablePolicyType. To see the status of policy types in a root, use ListRoots.

After all invited member accounts accept the handshake, you finalize the feature set change by accepting the handshake that contains \"Action\": \"ENABLE_ALL_FEATURES\". This completes the change.

After you enable all features in your organization, the master account in the organization can apply policies on all member accounts. These policies can restrict what users and even administrators in those accounts can do. The master account can apply policies that prevent accounts from leaving the organization. Ensure that your account administrators are aware of this.

This operation can be called only from the organization's master account.

" + "documentation":"

Enables all features in an organization. This enables the use of organization policies that can restrict the services and actions that can be called in each account. Until you enable all features, you have access only to consolidated billing, and you can't use any of the advanced account administration features that AWS Organizations supports. For more information, see Enabling All Features in Your Organization in the AWS Organizations User Guide.

This operation is required only for organizations that were created explicitly with only the consolidated billing features enabled. Calling this operation sends a handshake to every invited account in the organization. The feature set change can be finalized and the additional features enabled only after all administrators in the invited accounts approve the change by accepting the handshake.

After you enable all features, you can separately enable or disable individual policy types in a root using EnablePolicyType and DisablePolicyType. To see the status of policy types in a root, use ListRoots.

After all invited member accounts accept the handshake, you finalize the feature set change by accepting the handshake that contains \"Action\": \"ENABLE_ALL_FEATURES\". This completes the change.

After you enable all features in your organization, the master account in the organization can apply policies on all member accounts. These policies can restrict what users and even administrators in those accounts can do. The master account can apply policies that prevent accounts from leaving the organization. Ensure that your account administrators are aware of this.

This operation can be called only from the organization's master account.

" }, "EnablePolicyType":{ "name":"EnablePolicyType", @@ -481,7 +504,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Sends an invitation to another account to join your organization as a member account. Organizations sends email on your behalf to the email address that is associated with the other account's owner. The invitation is implemented as a Handshake whose details are in the response.

  • You can invite AWS accounts only from the same seller as the master account. For example, if your organization's master account was created by Amazon Internet Services Pvt. Ltd (AISPL), an AWS seller in India, then you can only invite other AISPL accounts to your organization. You can't combine accounts from AISPL and AWS, or any other AWS seller. For more information, see Consolidated Billing in India.

  • If you receive an exception that indicates that you exceeded your account limits for the organization or that the operation failed because your organization is still initializing, wait one hour and then try again. If the error persists after an hour, then contact AWS Customer Support.

This operation can be called only from the organization's master account.

" + "documentation":"

Sends an invitation to another account to join your organization as a member account. AWS Organizations sends email on your behalf to the email address that is associated with the other account's owner. The invitation is implemented as a Handshake whose details are in the response.

  • You can invite AWS accounts only from the same seller as the master account. For example, if your organization's master account was created by Amazon Internet Services Pvt. Ltd (AISPL), an AWS seller in India, you can invite only other AISPL accounts to your organization. You can't combine accounts from AISPL and AWS or from any other AWS seller. For more information, see Consolidated Billing in India.

  • If you receive an exception that indicates that you exceeded your account limits for the organization or that the operation failed because your organization is still initializing, wait one hour and then try again. If the error persists after an hour, contact AWS Support.

This operation can be called only from the organization's master account.

" }, "LeaveOrganization":{ "name":"LeaveOrganization", @@ -500,7 +523,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Removes a member account from its parent organization. This version of the operation is performed by the account that wants to leave. To remove a member account as a user in the master account, use RemoveAccountFromOrganization instead.

This operation can be called only from a member account in the organization.

  • The master account in an organization with all features enabled can set service control policies (SCPs) that can restrict what administrators of member accounts can do, including preventing them from successfully calling LeaveOrganization and leaving the organization.

  • You can leave an organization as a member account only if the account is configured with the information required to operate as a standalone account. When you create an account in an organization using the AWS Organizations console, API, or CLI commands, the information required of standalone accounts is not automatically collected. For each account that you want to make standalone, you must accept the End User License Agreement (EULA), choose a support plan, provide and verify the required contact information, and provide a current payment method. AWS uses the payment method to charge for any billable (not free tier) AWS activity that occurs while the account is not attached to an organization. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • You can leave an organization only after you enable IAM user access to billing in your account. For more information, see Activating Access to the Billing and Cost Management Console in the AWS Billing and Cost Management User Guide.

" + "documentation":"

Removes a member account from its parent organization. This version of the operation is performed by the account that wants to leave. To remove a member account as a user in the master account, use RemoveAccountFromOrganization instead.

This operation can be called only from a member account in the organization.

  • The master account in an organization with all features enabled can set service control policies (SCPs) that can restrict what administrators of member accounts can do, including preventing them from successfully calling LeaveOrganization and leaving the organization.

  • You can leave an organization as a member account only if the account is configured with the information required to operate as a standalone account. When you create an account in an organization using the AWS Organizations console, API, or CLI commands, the information required of standalone accounts is not automatically collected. For each account that you want to make standalone, you must accept the end user license agreement (EULA), choose a support plan, provide and verify the required contact information, and provide a current payment method. AWS uses the payment method to charge for any billable (not free tier) AWS activity that occurs while the account isn't attached to an organization. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • You can leave an organization only after you enable IAM user access to billing in your account. For more information, see Activating Access to the Billing and Cost Management Console in the AWS Billing and Cost Management User Guide.

" }, "ListAWSServiceAccessForOrganization":{ "name":"ListAWSServiceAccessForOrganization", @@ -518,7 +541,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Returns a list of the AWS services that you enabled to integrate with your organization. After a service on this list creates the resources that it requires for the integration, it can perform operations on your organization and its accounts.

For more information about integrating other services with AWS Organizations, including the list of services that currently work with Organizations, see Integrating AWS Organizations with Other AWS Services in the AWS Organizations User Guide.

This operation can be called only from the organization's master account.

" + "documentation":"

Returns a list of the AWS services that you enabled to integrate with your organization. After a service on this list creates the resources that it requires for the integration, it can perform operations on your organization and its accounts.

For more information about integrating other services with AWS Organizations, including the list of services that currently work with Organizations, see Integrating AWS Organizations with Other AWS Services in the AWS Organizations User Guide.

This operation can be called only from the organization's master account.

" }, "ListAccounts":{ "name":"ListAccounts", @@ -553,7 +576,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Lists the accounts in an organization that are contained by the specified target root or organizational unit (OU). If you specify the root, you get a list of all the accounts that are not in any OU. If you specify an OU, you get a list of all the accounts in only that OU, and not in any child OUs. To get a list of all accounts in the organization, use the ListAccounts operation.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account.

" + "documentation":"

Lists the accounts in an organization that are contained by the specified target root or organizational unit (OU). If you specify the root, you get a list of all the accounts that aren't in any OU. If you specify an OU, you get a list of all the accounts in only that OU and not in any child OUs. To get a list of all accounts in the organization, use the ListAccounts operation.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account.

" }, "ListChildren":{ "name":"ListChildren", @@ -586,7 +609,8 @@ {"shape":"AWSOrganizationsNotInUseException"}, {"shape":"InvalidInputException"}, {"shape":"ServiceException"}, - {"shape":"TooManyRequestsException"} + {"shape":"TooManyRequestsException"}, + {"shape":"UnsupportedAPIEndpointException"} ], "documentation":"

Lists the account creation requests that match the specified status that is currently being tracked for the organization.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account.

" }, @@ -605,7 +629,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Lists the current handshakes that are associated with the account of the requesting user.

Handshakes that are ACCEPTED, DECLINED, or CANCELED appear in the results of this API for only 30 days after changing to that state. After that they are deleted and no longer accessible.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called from any account in the organization.

" + "documentation":"

Lists the current handshakes that are associated with the account of the requesting user.

Handshakes that are ACCEPTED, DECLINED, or CANCELED appear in the results of this API for only 30 days after changing to that state. After that, they're deleted and no longer accessible.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called from any account in the organization.

" }, "ListHandshakesForOrganization":{ "name":"ListHandshakesForOrganization", @@ -623,7 +647,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Lists the handshakes that are associated with the organization that the requesting user is part of. The ListHandshakesForOrganization operation returns a list of handshake structures. Each structure contains details and status about a handshake.

Handshakes that are ACCEPTED, DECLINED, or CANCELED appear in the results of this API for only 30 days after changing to that state. After that they are deleted and no longer accessible.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account.

" + "documentation":"

Lists the handshakes that are associated with the organization that the requesting user is part of. The ListHandshakesForOrganization operation returns a list of handshake structures. Each structure contains details and status about a handshake.

Handshakes that are ACCEPTED, DECLINED, or CANCELED appear in the results of this API for only 30 days after changing to that state. After that, they're deleted and no longer accessible.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account.

" }, "ListOrganizationalUnitsForParent":{ "name":"ListOrganizationalUnitsForParent", @@ -711,7 +735,25 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Lists the roots that are defined in the current organization.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account.

Policy types can be enabled and disabled in roots. This is distinct from whether they are available in the organization. When you enable all features, you make policy types available for use in that organization. Individual policy types can then be enabled and disabled in a root. To see the availability of a policy type in an organization, use DescribeOrganization.

" + "documentation":"

Lists the roots that are defined in the current organization.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account.

Policy types can be enabled and disabled in roots. This is distinct from whether they're available in the organization. When you enable all features, you make policy types available for use in that organization. Individual policy types can then be enabled and disabled in a root. To see the availability of a policy type in an organization, use DescribeOrganization.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"TargetNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Lists tags for the specified resource.

Currently, you can list tags on an account in AWS Organizations.

" }, "ListTargetsForPolicy":{ "name":"ListTargetsForPolicy", @@ -729,7 +771,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Lists all the roots, organizaitonal units (OUs), and accounts to which the specified policy is attached.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account.

" + "documentation":"

Lists all the roots, organizational units (OUs), and accounts that the specified policy is attached to.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account.

" }, "MoveAccount":{ "name":"MoveAccount", @@ -770,7 +812,45 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Removes the specified account from the organization.

The removed account becomes a stand-alone account that is not a member of any organization. It is no longer subject to any policies and is responsible for its own bill payments. The organization's master account is no longer charged for any expenses accrued by the member account after it is removed from the organization.

This operation can be called only from the organization's master account. Member accounts can remove themselves with LeaveOrganization instead.

You can remove an account from your organization only if the account is configured with the information required to operate as a standalone account. When you create an account in an organization using the AWS Organizations console, API, or CLI commands, the information required of standalone accounts is not automatically collected. For an account that you want to make standalone, you must accept the End User License Agreement (EULA), choose a support plan, provide and verify the required contact information, and provide a current payment method. AWS uses the payment method to charge for any billable (not free tier) AWS activity that occurs while the account is not attached to an organization. To remove an account that does not yet have this information, you must sign in as the member account and follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

" + "documentation":"

Removes the specified account from the organization.

The removed account becomes a standalone account that isn't a member of any organization. It's no longer subject to any policies and is responsible for its own bill payments. The organization's master account is no longer charged for any expenses accrued by the member account after it's removed from the organization.

This operation can be called only from the organization's master account. Member accounts can remove themselves with LeaveOrganization instead.

You can remove an account from your organization only if the account is configured with the information required to operate as a standalone account. When you create an account in an organization using the AWS Organizations console, API, or CLI commands, the information required of standalone accounts is not automatically collected. For an account that you want to make standalone, you must accept the end user license agreement (EULA), choose a support plan, provide and verify the required contact information, and provide a current payment method. AWS uses the payment method to charge for any billable (not free tier) AWS activity that occurs while the account isn't attached to an organization. To remove an account that doesn't yet have this information, you must sign in as the member account and follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"TargetNotFoundException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Adds one or more tags to the specified resource.

Currently, you can tag and untag accounts in AWS Organizations.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"TargetNotFoundException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Removes a tag from the specified resource.

Currently, you can tag and untag accounts in AWS Organizations.

" }, "UpdateOrganizationalUnit":{ "name":"UpdateOrganizationalUnit", @@ -790,7 +870,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Renames the specified organizational unit (OU). The ID and ARN do not change. The child OUs and accounts remain in place, and any attached policies of the OU remain attached.

This operation can be called only from the organization's master account.

" + "documentation":"

Renames the specified organizational unit (OU). The ID and ARN don't change. The child OUs and accounts remain in place, and any attached policies of the OU remain attached.

This operation can be called only from the organization's master account.

" }, "UpdatePolicy":{ "name":"UpdatePolicy", @@ -812,7 +892,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Updates an existing policy with a new name, description, or content. If any parameter is not supplied, that value remains unchanged. Note that you cannot change a policy's type.

This operation can be called only from the organization's master account.

" + "documentation":"

Updates an existing policy with a new name, description, or content. If you don't supply any parameter, that value remains unchanged. You can't change a policy's type.

This operation can be called only from the organization's master account.

" } }, "shapes":{ @@ -848,7 +928,7 @@ "members":{ "Message":{"shape":"ExceptionMessage"} }, - "documentation":"

You don't have permissions to perform the requested operation. The user or role that is making the request must have at least one IAM permissions policy attached that grants the required permissions. For more information, see Access Management in the IAM User Guide.

", + "documentation":"

You don't have permissions to perform the requested operation. The user or role that is making the request must have at least one IAM permissions policy attached that grants the required permissions. For more information, see Access Management in the IAM User Guide.

", "exception":true }, "AccessDeniedForDependencyException":{ @@ -857,7 +937,7 @@ "Message":{"shape":"ExceptionMessage"}, "Reason":{"shape":"AccessDeniedForDependencyExceptionReason"} }, - "documentation":"

The operation that you attempted requires you to have the iam:CreateServiceLinkedRole so that AWS Organizations can create the required service-linked role. You don't have that permission.

", + "documentation":"

The operation that you attempted requires you to have the iam:CreateServiceLinkedRole for organizations.amazonaws.com permission so that AWS Organizations can create the required service-linked role. You don't have that permission.

", "exception":true }, "AccessDeniedForDependencyExceptionReason":{ @@ -873,7 +953,7 @@ }, "Arn":{ "shape":"AccountArn", - "documentation":"

The Amazon Resource Name (ARN) of the account.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" + "documentation":"

The Amazon Resource Name (ARN) of the account.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" }, "Email":{ "shape":"Email", @@ -933,7 +1013,7 @@ "members":{ "Message":{"shape":"ExceptionMessage"} }, - "documentation":"

You can't invite an existing account to your organization until you verify that you own the email address associated with the master account. For more information, see Email Address Verification in the AWS Organizations User Guide.

", + "documentation":"

You can't invite an existing account to your organization until you verify that you own the email address associated with the master account. For more information, see Email Address Verification in the AWS Organizations User Guide.

", "exception":true }, "AccountStatus":{ @@ -1052,7 +1132,7 @@ "Message":{"shape":"ExceptionMessage"}, "Reason":{"shape":"ConstraintViolationExceptionReason"} }, - "documentation":"

Performing this operation violates a minimum or maximum value limit. For example, attempting to removing the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the organization, or attaching too many policies to an account, OU, or root. This exception includes a reason that contains additional information about the violated limit.

Some of the reasons in the following list might not be applicable to this specific API or operation:

  • ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an organization. If you need more accounts, contactAWS Support to request an increase in your limit.

    Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in your organization. Send fewer invitations or contact AWS Support to request an increase in the number of accounts.

    Deleted and closed accounts still count toward your limit.

    If you get receive this exception when running a command immediately after creating the organization, wait one hour and try again. If after an hour it continues to fail with this error, contact AWS Support.

  • HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one day.

  • OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization.

  • OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep.

  • ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the organization to be configured to support all features. An organization that supports only consolidated billing features can't perform this operation.

  • POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of policies that you can have in an organization.

  • MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain type that can be attached to an entity at one time.

  • MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would cause the entity to have fewer than the minimum number of policies of a certain type required.

  • ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account from the organization that doesn't yet have enough information to exist as a standalone account. This account requires you to first agree to the AWS Customer Agreement. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization that doesn't yet have enough information to exist as a standalone account. This account requires you to first complete phone verification. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this master account, you first must associate a payment instrument, such as a credit card, with the account. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you first must associate a payment instrument, such as a credit card, with the account. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create in one day.

  • MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first must migrate the organization's master account to the marketplace that corresponds to the master account's address. For example, accounts with India addresses must be associated with the AISPL marketplace. All accounts in an organization must be associated with the same marketplace.

  • MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide contact a valid address and phone number for the master account. Then try the operation again.

", + "documentation":"

Performing this operation violates a minimum or maximum value limit. For example, attempting to remove the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the organization, or attaching too many policies to an account, OU, or root. This exception includes a reason that contains additional information about the violated limit.

Some of the reasons in the following list might not be applicable to this specific API or operation:

  • ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account from the organization that doesn't yet have enough information to exist as a standalone account. This account requires you to first agree to the AWS Customer Agreement. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization that doesn't yet have enough information to exist as a standalone account. This account requires you to first complete phone verification. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create in one day.

  • ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an organization. If you need more accounts, contact AWS Support to request an increase in your limit.

    Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in your organization. Send fewer invitations or contact AWS Support to request an increase in the number of accounts.

    Deleted and closed accounts still count toward your limit.

    If you get receive this exception when running a command immediately after creating the organization, wait one hour and try again. If after an hour it continues to fail with this error, contact AWS Support.

  • HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one day.

  • MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first must migrate the organization's master account to the marketplace that corresponds to the master account's address. For example, accounts with India addresses must be associated with the AISPL marketplace. All accounts in an organization must be associated with the same marketplace.

  • MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide contact a valid address and phone number for the master account. Then try the operation again.

  • MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the master account must have an associated account in the AWS GovCloud (US-West) Region. For more information, see AWS Organizations in the AWS GovCloud User Guide.

  • MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this master account, you first must associate a valid payment instrument, such as a credit card, with the account. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain type that can be attached to an entity at one time.

  • MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource.

  • MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you first must associate a valid payment instrument, such as a credit card, with the account. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would cause the entity to have fewer than the minimum number of policies of a certain type required.

  • OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep.

  • ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the organization to be configured to support all features. An organization that supports only consolidated billing features can't perform this operation.

  • OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization.

  • POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of policies that you can have in an organization.

", "exception":true }, "ConstraintViolationExceptionReason":{ @@ -1073,9 +1153,13 @@ "ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED", "MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE", "MASTER_ACCOUNT_MISSING_CONTACT_INFO", + "MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED", "ORGANIZATION_NOT_IN_ALL_FEATURES_MODE", + "CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION", "EMAIL_VERIFICATION_CODE_EXPIRED", - "WAIT_PERIOD_ACTIVE" + "WAIT_PERIOD_ACTIVE", + "MAX_TAG_LIMIT_EXCEEDED", + "TAG_POLICY_VIOLATION" ] }, "CreateAccountFailureReason":{ @@ -1106,11 +1190,11 @@ }, "RoleName":{ "shape":"RoleName", - "documentation":"

(Optional)

The name of an IAM role that AWS Organizations automatically preconfigures in the new member account. This role trusts the master account, allowing users in the master account to assume the role, as permitted by the master account administrator. The role has administrator permissions in the new member account.

If you don't specify this parameter, the role name defaults to OrganizationAccountAccessRole.

For more information about how to use this role to access the member account, see Accessing and Administering the Member Accounts in Your Organization in the AWS Organizations User Guide, and steps 2 and 3 in Tutorial: Delegate Access Across AWS Accounts Using IAM Roles in the IAM User Guide.

The regex pattern that is used to validate this parameter is a string of characters that can consist of uppercase letters, lowercase letters, digits with no spaces, and any of the following characters: =,.@-

" + "documentation":"

(Optional)

The name of an IAM role that AWS Organizations automatically preconfigures in the new member account. This role trusts the master account, allowing users in the master account to assume the role, as permitted by the master account administrator. The role has administrator permissions in the new member account.

If you don't specify this parameter, the role name defaults to OrganizationAccountAccessRole.

For more information about how to use this role to access the member account, see Accessing and Administering the Member Accounts in Your Organization in the AWS Organizations User Guide, and steps 2 and 3 in Tutorial: Delegate Access Across AWS Accounts Using IAM Roles in the IAM User Guide.

The regex pattern that is used to validate this parameter is a string of characters that can consist of uppercase letters, lowercase letters, digits with no spaces, and any of the following characters: =,.@-

" }, "IamUserAccessToBilling":{ "shape":"IAMUserAccessToBilling", - "documentation":"

If set to ALLOW, the new account enables IAM users to access account billing information if they have the required permissions. If set to DENY, only the root user of the new account can access account billing information. For more information, see Activating Access to the Billing and Cost Management Console in the AWS Billing and Cost Management User Guide.

If you don't specify this parameter, the value defaults to ALLOW, and IAM users and roles with the required permissions can access billing information for the new account.

" + "documentation":"

If set to ALLOW, the new account enables IAM users to access account billing information if they have the required permissions. If set to DENY, only the root user of the new account can access account billing information. For more information, see Activating Access to the Billing and Cost Management Console in the AWS Billing and Cost Management User Guide.

If you don't specify this parameter, the value defaults to ALLOW, and IAM users and roles with the required permissions can access billing information for the new account.

" } } }, @@ -1166,12 +1250,16 @@ "shape":"AccountId", "documentation":"

If the account was created successfully, the unique identifier (ID) of the new account.

The regex pattern for an account ID string requires exactly 12 digits.

" }, + "GovCloudAccountId":{ + "shape":"AccountId", + "documentation":"

If the account was created successfully, the unique identifier (ID) of the new account in the AWS GovCloud (US) Region.

" + }, "FailureReason":{ "shape":"CreateAccountFailureReason", "documentation":"

If the request failed, a description of the reason for the failure.

  • ACCOUNT_LIMIT_EXCEEDED: The account could not be created because you have reached the limit on the number of accounts in your organization.

  • EMAIL_ALREADY_EXISTS: The account could not be created because another AWS account with that email address already exists.

  • INVALID_ADDRESS: The account could not be created because the address you provided is not valid.

  • INVALID_EMAIL: The account could not be created because the email address you provided is not valid.

  • INTERNAL_FAILURE: The account could not be created because of an internal failure. Try again later. If the problem persists, contact Customer Support.

" } }, - "documentation":"

Contains the status about a CreateAccount request to create an AWS account in an organization.

" + "documentation":"

Contains the status about a CreateAccount or CreateGovCloudAccount request to create an AWS account or an AWS GovCloud (US) account in an organization.

" }, "CreateAccountStatusNotFoundException":{ "type":"structure", @@ -1185,12 +1273,43 @@ "type":"list", "member":{"shape":"CreateAccountStatus"} }, + "CreateGovCloudAccountRequest":{ + "type":"structure", + "required":[ + "Email", + "AccountName" + ], + "members":{ + "Email":{ + "shape":"Email", + "documentation":"

The email address of the owner to assign to the new member account in the commercial Region. This email address must not already be associated with another AWS account. You must use a valid email address to complete account creation. You can't access the root user of the account or remove an account that was created with an invalid email address. Like all request parameters for CreateGovCloudAccount, the request for the email address for the AWS GovCloud (US) account originates from the commercial Region, not from the AWS GovCloud (US) Region.

" + }, + "AccountName":{ + "shape":"AccountName", + "documentation":"

The friendly name of the member account.

" + }, + "RoleName":{ + "shape":"RoleName", + "documentation":"

(Optional)

The name of an IAM role that AWS Organizations automatically preconfigures in the new member accounts in both the AWS GovCloud (US) Region and in the commercial Region. This role trusts the master account, allowing users in the master account to assume the role, as permitted by the master account administrator. The role has administrator permissions in the new member account.

If you don't specify this parameter, the role name defaults to OrganizationAccountAccessRole.

For more information about how to use this role to access the member account, see Accessing and Administering the Member Accounts in Your Organization in the AWS Organizations User Guide and steps 2 and 3 in Tutorial: Delegate Access Across AWS Accounts Using IAM Roles in the IAM User Guide.

The regex pattern that is used to validate this parameter is a string of characters that can consist of uppercase letters, lowercase letters, digits with no spaces, and any of the following characters: =,.@-

" + }, + "IamUserAccessToBilling":{ + "shape":"IAMUserAccessToBilling", + "documentation":"

If set to ALLOW, the new linked account in the commercial Region enables IAM users to access account billing information if they have the required permissions. If set to DENY, only the root user of the new account can access account billing information. For more information, see Activating Access to the Billing and Cost Management Console in the AWS Billing and Cost Management User Guide.

If you don't specify this parameter, the value defaults to ALLOW, and IAM users and roles with the required permissions can access billing information for the new account.

" + } + } + }, + "CreateGovCloudAccountResponse":{ + "type":"structure", + "members":{ + "CreateAccountStatus":{"shape":"CreateAccountStatus"} + } + }, "CreateOrganizationRequest":{ "type":"structure", "members":{ "FeatureSet":{ "shape":"OrganizationFeatureSet", - "documentation":"

Specifies the feature set supported by the new organization. Each feature set supports different levels of functionality.

  • CONSOLIDATED_BILLING: All member accounts have their bills consolidated to and paid by the master account. For more information, see Consolidated Billing in the AWS Organizations User Guide.

  • ALL: In addition to all the features supported by the consolidated billing feature set, the master account can also apply any type of policy to any member account in the organization. For more information, see All features in the AWS Organizations User Guide.

" + "documentation":"

Specifies the feature set supported by the new organization. Each feature set supports different levels of functionality.

  • CONSOLIDATED_BILLING: All member accounts have their bills consolidated to and paid by the master account. For more information, see Consolidated billing in the AWS Organizations User Guide.

    The consolidated billing feature subset isn't available for organizations in the AWS GovCloud (US) Region.

  • ALL: In addition to all the features supported by the consolidated billing feature set, the master account can also apply any type of policy to any member account in the organization. For more information, see All features in the AWS Organizations User Guide.

" } } }, @@ -1212,7 +1331,7 @@ "members":{ "ParentId":{ "shape":"ParentId", - "documentation":"

The unique identifier (ID) of the parent root or OU in which you want to create the new OU.

The regex pattern for a parent ID string requires one of the following:

  • Root: a string that begins with \"r-\" followed by from 4 to 32 lower-case letters or digits.

  • Organizational unit (OU): a string that begins with \"ou-\" followed by from 4 to 32 lower-case letters or digits (the ID of the root that the OU is in) followed by a second \"-\" dash and from 8 to 32 additional lower-case letters or digits.

" + "documentation":"

The unique identifier (ID) of the parent root or OU that you want to create the new OU in.

The regex pattern for a parent ID string requires one of the following:

  • Root: a string that begins with \"r-\" followed by from 4 to 32 lower-case letters or digits.

  • Organizational unit (OU): a string that begins with \"ou-\" followed by from 4 to 32 lower-case letters or digits (the ID of the root that the OU is in) followed by a second \"-\" dash and from 8 to 32 additional lower-case letters or digits.

" }, "Name":{ "shape":"OrganizationalUnitName", @@ -1240,7 +1359,7 @@ "members":{ "Content":{ "shape":"PolicyContent", - "documentation":"

The policy content to add to the new policy. For example, if you create a service control policy (SCP), this string must be JSON text that specifies the permissions that admins in attached accounts can delegate to their users, groups, and roles. For more information about the SCP syntax, see Service Control Policy Syntax in the AWS Organizations User Guide.

" + "documentation":"

The policy content to add to the new policy. For example, if you create a service control policy (SCP), this string must be JSON text that specifies the permissions that admins in attached accounts can delegate to their users, groups, and roles. For more information about the SCP syntax, see Service Control Policy Syntax in the AWS Organizations User Guide.

" }, "Description":{ "shape":"PolicyDescription", @@ -1429,7 +1548,7 @@ }, "TargetId":{ "shape":"PolicyTargetId", - "documentation":"

The unique identifier (ID) of the root, OU, or account from which you want to detach the policy. You can get the ID from the ListRoots, ListOrganizationalUnitsForParent, or ListAccounts operations.

The regex pattern for a target ID string requires one of the following:

  • Root: a string that begins with \"r-\" followed by from 4 to 32 lower-case letters or digits.

  • Account: a string that consists of exactly 12 digits.

  • Organizational unit (OU): a string that begins with \"ou-\" followed by from 4 to 32 lower-case letters or digits (the ID of the root that the OU is in) followed by a second \"-\" dash and from 8 to 32 additional lower-case letters or digits.

" + "documentation":"

The unique identifier (ID) of the root, OU, or account that you want to detach the policy from. You can get the ID from the ListRoots, ListOrganizationalUnitsForParent, or ListAccounts operations.

The regex pattern for a target ID string requires one of the following:

  • Root: a string that begins with \"r-\" followed by from 4 to 32 lower-case letters or digits.

  • Account: a string that consists of exactly 12 digits.

  • Organizational unit (OU): a string that begins with \"ou-\" followed by from 4 to 32 lower-case letters or digits (the ID of the root that the OU is in) followed by a second \"-\" dash and from 8 to 32 additional lower-case letters or digits.

" } } }, @@ -1607,7 +1726,7 @@ }, "Arn":{ "shape":"HandshakeArn", - "documentation":"

The Amazon Resource Name (ARN) of a handshake.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" + "documentation":"

The Amazon Resource Name (ARN) of a handshake.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" }, "Parties":{ "shape":"HandshakeParties", @@ -1654,7 +1773,7 @@ "Message":{"shape":"ExceptionMessage"}, "Reason":{"shape":"HandshakeConstraintViolationExceptionReason"} }, - "documentation":"

The requested operation would violate the constraint identified in the reason code.

Some of the reasons in the following list might not be applicable to this specific API or operation:

  • ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an organization. Note that deleted and closed accounts still count toward your limit.

    If you get this exception immediately after creating the organization, wait one hour and try again. If after an hour it continues to fail with this error, contact AWS Support.

  • HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one day.

  • ALREADY_IN_AN_ORGANIZATION: The handshake request is invalid because the invited account is already a member of an organization.

  • ORGANIZATION_ALREADY_HAS_ALL_FEATURES: The handshake request is invalid because the organization has already enabled all features.

  • INVITE_DISABLED_DURING_ENABLE_ALL_FEATURES: You can't issue new invitations to join an organization while it's in the process of enabling all features. You can resume inviting accounts after you finalize the process when all accounts have agreed to the change.

  • PAYMENT_INSTRUMENT_REQUIRED: You can't complete the operation with an account that doesn't have a payment instrument, such as a credit card, associated with it.

  • ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD: The request failed because the account is from a different marketplace than the accounts in the organization. For example, accounts with India addresses must be associated with the AISPL marketplace. All accounts in an organization must be from the same marketplace.

  • ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED: You attempted to change the membership of an account too quickly after its previous change.

", + "documentation":"

The requested operation would violate the constraint identified in the reason code.

Some of the reasons in the following list might not be applicable to this specific API or operation:

  • ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an organization. Note that deleted and closed accounts still count toward your limit.

    If you get this exception immediately after creating the organization, wait one hour and try again. If after an hour it continues to fail with this error, contact AWS Support.

  • ALREADY_IN_AN_ORGANIZATION: The handshake request is invalid because the invited account is already a member of an organization.

  • HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one day.

  • INVITE_DISABLED_DURING_ENABLE_ALL_FEATURES: You can't issue new invitations to join an organization while it's in the process of enabling all features. You can resume inviting accounts after you finalize the process when all accounts have agreed to the change.

  • ORGANIZATION_ALREADY_HAS_ALL_FEATURES: The handshake request is invalid because the organization has already enabled all features.

  • ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD: The request failed because the account is from a different marketplace than the accounts in the organization. For example, accounts with India addresses must be associated with the AISPL marketplace. All accounts in an organization must be from the same marketplace.

  • ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED: You attempted to change the membership of an account too quickly after its previous change.

  • PAYMENT_INSTRUMENT_REQUIRED: You can't complete the operation with an account that doesn't have a payment instrument, such as a credit card, associated with it.

", "exception":true }, "HandshakeConstraintViolationExceptionReason":{ @@ -1812,7 +1931,7 @@ "Message":{"shape":"ExceptionMessage"}, "Reason":{"shape":"InvalidInputExceptionReason"} }, - "documentation":"

The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit:

Some of the reasons in the following list might not be applicable to this specific API or operation:

  • IMMUTABLE_POLICY: You specified a policy that is managed by AWS and can't be modified.

  • INPUT_REQUIRED: You must include a value for all required parameters.

  • INVALID_ENUM: You specified a value that isn't valid for that parameter.

  • INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters.

  • INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value.

  • INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a party.

  • INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a previous call of the operation.

  • INVALID_PATTERN: You provided a value that doesn't match the required pattern.

  • INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern.

  • INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved prefix AWSServiceRoleFor.

  • INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the organization.

  • INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.

  • MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation.

  • MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed.

  • MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed.

  • MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed.

  • MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed.

  • MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root.

", + "documentation":"

The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit:

Some of the reasons in the following list might not be applicable to this specific API or operation:

  • IMMUTABLE_POLICY: You specified a policy that is managed by AWS and can't be modified.

  • INPUT_REQUIRED: You must include a value for all required parameters.

  • INVALID_ENUM: You specified a value that isn't valid for that parameter.

  • INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters.

  • INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value.

  • INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a previous call of the operation.

  • INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a party.

  • INVALID_PATTERN: You provided a value that doesn't match the required pattern.

  • INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern.

  • INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved prefix AWSServiceRoleFor.

  • INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the organization.

  • INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.

  • INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or delete system tag keys because they're reserved for AWS use. System tags don’t count against your tags per resource limit.

  • MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation.

  • MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed.

  • MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed.

  • MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed.

  • MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed.

  • MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root.

", "exception":true }, "InvalidInputExceptionReason":{ @@ -1836,7 +1955,8 @@ "MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS", "INVALID_FULL_NAME_TARGET", "UNRECOGNIZED_SERVICE_PRINCIPAL", - "INVALID_ROLE_NAME" + "INVALID_ROLE_NAME", + "INVALID_SYSTEM_TAGS_PARAMETER" ] }, "InviteAccountToOrganizationRequest":{ @@ -1845,7 +1965,7 @@ "members":{ "Target":{ "shape":"HandshakeParty", - "documentation":"

The identifier (ID) of the AWS account that you want to invite to join your organization. This is a JSON object that contains the following elements:

{ \"Type\": \"ACCOUNT\", \"Id\": \"< account id number >\" }

If you use the AWS CLI, you can submit this as a single string, similar to the following example:

--target Id=123456789012,Type=ACCOUNT

If you specify \"Type\": \"ACCOUNT\", then you must provide the AWS account ID number as the Id. If you specify \"Type\": \"EMAIL\", then you must specify the email address that is associated with the account.

--target Id=diego@example.com,Type=EMAIL

" + "documentation":"

The identifier (ID) of the AWS account that you want to invite to join your organization. This is a JSON object that contains the following elements:

{ \"Type\": \"ACCOUNT\", \"Id\": \"< account id number >\" }

If you use the AWS CLI, you can submit this as a single string, similar to the following example:

--target Id=123456789012,Type=ACCOUNT

If you specify \"Type\": \"ACCOUNT\", you must provide the AWS account ID number as the Id. If you specify \"Type\": \"EMAIL\", you must specify the email address that is associated with the account.

--target Id=diego@example.com,Type=EMAIL

" }, "Notes":{ "shape":"HandshakeNotes", @@ -1988,7 +2108,7 @@ "members":{ "States":{ "shape":"CreateAccountStates", - "documentation":"

A list of one or more states that you want included in the response. If this parameter is not present, then all requests are included in the response.

" + "documentation":"

A list of one or more states that you want included in the response. If this parameter isn't present, all requests are included in the response.

" }, "NextToken":{ "shape":"NextToken", @@ -2018,7 +2138,7 @@ "members":{ "Filter":{ "shape":"HandshakeFilter", - "documentation":"

Filters the handshakes that you want included in the response. The default is all types. Use the ActionType element to limit the output to only a specified type, such as INVITE, ENABLE-FULL-CONTROL, or APPROVE-FULL-CONTROL. Alternatively, for the ENABLE-FULL-CONTROL handshake that generates a separate child handshake for each member account, you can specify ParentHandshakeId to see only the handshakes that were generated by that parent request.

" + "documentation":"

Filters the handshakes that you want included in the response. The default is all types. Use the ActionType element to limit the output to only a specified type, such as INVITE, ENABLE_ALL_FEATURES, or APPROVE_ALL_FEATURES. Alternatively, for the ENABLE_ALL_FEATURES handshake that generates a separate child handshake for each member account, you can specify ParentHandshakeId to see only the handshakes that were generated by that parent request.

" }, "NextToken":{ "shape":"NextToken", @@ -2110,7 +2230,7 @@ "members":{ "ChildId":{ "shape":"ChildId", - "documentation":"

The unique identifier (ID) of the OU or account whose parent containers you want to list. Do not specify a root.

The regex pattern for a child ID string requires one of the following:

  • Account: a string that consists of exactly 12 digits.

  • Organizational unit (OU): a string that begins with \"ou-\" followed by from 4 to 32 lower-case letters or digits (the ID of the root that contains the OU) followed by a second \"-\" dash and from 8 to 32 additional lower-case letters or digits.

" + "documentation":"

The unique identifier (ID) of the OU or account whose parent containers you want to list. Don't specify a root.

The regex pattern for a child ID string requires one of the following:

  • Account: a string that consists of exactly 12 digits.

  • Organizational unit (OU): a string that begins with \"ou-\" followed by from 4 to 32 lower-case letters or digits (the ID of the root that contains the OU) followed by a second \"-\" dash and from 8 to 32 additional lower-case letters or digits.

" }, "NextToken":{ "shape":"NextToken", @@ -2196,7 +2316,7 @@ "members":{ "Policies":{ "shape":"Policies", - "documentation":"

A list of policies that match the filter criteria in the request. The output list does not include the policy contents. To see the content for a policy, see DescribePolicy.

" + "documentation":"

A list of policies that match the filter criteria in the request. The output list doesn't include the policy contents. To see the content for a policy, see DescribePolicy.

" }, "NextToken":{ "shape":"NextToken", @@ -2230,13 +2350,40 @@ } } }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceId"], + "members":{ + "ResourceId":{ + "shape":"TaggableResourceId", + "documentation":"

The ID of the resource that you want to retrieve tags for.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

Use this parameter if you receive a NextToken response in a previous request that indicates that there is more output available. Set it to the value of the previous call's NextToken response to indicate where the output should continue from.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"Tags", + "documentation":"

The tags that are assigned to the resource.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, this value indicates that there is more output available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, "ListTargetsForPolicyRequest":{ "type":"structure", "required":["PolicyId"], "members":{ "PolicyId":{ "shape":"PolicyId", - "documentation":"

The unique identifier (ID) of the policy for which you want to know its attachments.

The regex pattern for a policy ID string requires \"p-\" followed by from 8 to 128 lower-case letters or digits.

" + "documentation":"

The unique identifier (ID) of the policy whose attachments you want to know.

The regex pattern for a policy ID string requires \"p-\" followed by from 8 to 128 lower-case letters or digits.

" }, "NextToken":{ "shape":"NextToken", @@ -2266,7 +2413,7 @@ "members":{ "Message":{"shape":"ExceptionMessage"} }, - "documentation":"

The provided policy document doesn't meet the requirements of the specified policy type. For example, the syntax might be incorrect. For details about service control policy syntax, see Service Control Policy Syntax in the AWS Organizations User Guide.

", + "documentation":"

The provided policy document doesn't meet the requirements of the specified policy type. For example, the syntax might be incorrect. For details about service control policy syntax, see Service Control Policy Syntax in the AWS Organizations User Guide.

", "exception":true }, "MasterCannotLeaveOrganizationException":{ @@ -2315,15 +2462,15 @@ }, "Arn":{ "shape":"OrganizationArn", - "documentation":"

The Amazon Resource Name (ARN) of an organization.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" + "documentation":"

The Amazon Resource Name (ARN) of an organization.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" }, "FeatureSet":{ "shape":"OrganizationFeatureSet", - "documentation":"

Specifies the functionality that currently is available to the organization. If set to \"ALL\", then all features are enabled and policies can be applied to accounts in the organization. If set to \"CONSOLIDATED_BILLING\", then only consolidated billing functionality is available. For more information, see Enabling All Features in Your Organization in the AWS Organizations User Guide.

" + "documentation":"

Specifies the functionality that currently is available to the organization. If set to \"ALL\", then all features are enabled and policies can be applied to accounts in the organization. If set to \"CONSOLIDATED_BILLING\", then only consolidated billing functionality is available. For more information, see Enabling All Features in Your Organization in the AWS Organizations User Guide.

" }, "MasterAccountArn":{ "shape":"AccountArn", - "documentation":"

The Amazon Resource Name (ARN) of the account that is designated as the master account for the organization.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" + "documentation":"

The Amazon Resource Name (ARN) of the account that is designated as the master account for the organization.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" }, "MasterAccountId":{ "shape":"AccountId", @@ -2372,7 +2519,7 @@ }, "Arn":{ "shape":"OrganizationalUnitArn", - "documentation":"

The Amazon Resource Name (ARN) of this OU.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" + "documentation":"

The Amazon Resource Name (ARN) of this OU.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" }, "Name":{ "shape":"OrganizationalUnitName", @@ -2524,7 +2671,7 @@ }, "Arn":{ "shape":"PolicyArn", - "documentation":"

The Amazon Resource Name (ARN) of the policy.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" + "documentation":"

The Amazon Resource Name (ARN) of the policy.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" }, "Name":{ "shape":"PolicyName", @@ -2558,7 +2705,7 @@ }, "Arn":{ "shape":"GenericArn", - "documentation":"

The Amazon Resource Name (ARN) of the policy target.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" + "documentation":"

The Amazon Resource Name (ARN) of the policy target.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" }, "Name":{ "shape":"TargetName", @@ -2592,7 +2739,7 @@ "members":{ "Message":{"shape":"ExceptionMessage"} }, - "documentation":"

You can't use the specified policy type with the feature set currently enabled for this organization. For example, you can enable SCPs only after you enable all features in the organization. For more information, see Enabling and Disabling a Policy Type on a Root in the AWS Organizations User Guide.

", + "documentation":"

You can't use the specified policy type with the feature set currently enabled for this organization. For example, you can enable SCPs only after you enable all features in the organization. For more information, see Enabling and Disabling a Policy Type on a Root in the AWS Organizations User Guide.

", "exception":true }, "PolicyTypeNotEnabledException":{ @@ -2600,7 +2747,7 @@ "members":{ "Message":{"shape":"ExceptionMessage"} }, - "documentation":"

The specified policy type isn't currently enabled in this root. You can't attach policies of the specified type to entities in a root until you enable that type in the root. For more information, see Enabling All Features in Your Organization in the AWS Organizations User Guide.

", + "documentation":"

The specified policy type isn't currently enabled in this root. You can't attach policies of the specified type to entities in a root until you enable that type in the root. For more information, see Enabling All Features in Your Organization in the AWS Organizations User Guide.

", "exception":true }, "PolicyTypeStatus":{ @@ -2652,7 +2799,7 @@ }, "Arn":{ "shape":"RootArn", - "documentation":"

The Amazon Resource Name (ARN) of the root.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" + "documentation":"

The Amazon Resource Name (ARN) of the root.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" }, "Name":{ "shape":"RootName", @@ -2712,6 +2859,61 @@ "documentation":"

We can't find a source root or OU with the ParentId that you specified.

", "exception":true }, + "Tag":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

The key identifier, or name, of the tag.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The string value that's associated with the key of the tag.

" + } + }, + "documentation":"

A custom key-value pair associated with a resource such as an account within your organization.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceId", + "Tags" + ], + "members":{ + "ResourceId":{ + "shape":"TaggableResourceId", + "documentation":"

The ID of the resource to add a tag to.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The tag to add to the specified resource.

" + } + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TaggableResourceId":{ + "type":"string", + "pattern":"^\\d{12}$" + }, + "Tags":{ + "type":"list", + "member":{"shape":"Tag"} + }, "TargetName":{ "type":"string", "max":128, @@ -2740,9 +2942,34 @@ "Type":{"shape":"ExceptionType"}, "Message":{"shape":"ExceptionMessage"} }, - "documentation":"

You've sent too many requests in too short a period of time. The limit helps protect against denial-of-service attacks. Try again later.

", + "documentation":"

You have sent too many requests in too short a period of time. The limit helps protect against denial-of-service attacks. Try again later.

For information on limits that affect AWS Organizations, see Limits of AWS Organizations in the AWS Organizations User Guide.

", + "exception":true + }, + "UnsupportedAPIEndpointException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

This action isn't available in the current Region.

", "exception":true }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceId", + "TagKeys" + ], + "members":{ + "ResourceId":{ + "shape":"TaggableResourceId", + "documentation":"

The ID of the resource to remove the tag from.

" + }, + "TagKeys":{ + "shape":"TagKeys", + "documentation":"

The tag to remove from the specified resource.

" + } + } + }, "UpdateOrganizationalUnitRequest":{ "type":"structure", "required":["OrganizationalUnitId"], @@ -2784,7 +3011,7 @@ }, "Content":{ "shape":"PolicyContent", - "documentation":"

If provided, the new content for the policy. The text must be correctly formatted JSON that complies with the syntax for the policy's type. For more information, see Service Control Policy Syntax in the AWS Organizations User Guide.

" + "documentation":"

If provided, the new content for the policy. The text must be correctly formatted JSON that complies with the syntax for the policy's type. For more information, see Service Control Policy Syntax in the AWS Organizations User Guide.

" } } }, @@ -2798,5 +3025,5 @@ } } }, - "documentation":"AWS Organizations API Reference

AWS Organizations is a web service that enables you to consolidate your multiple AWS accounts into an organization and centrally manage your accounts and their resources.

This guide provides descriptions of the Organizations API. For more information about using this service, see the AWS Organizations User Guide.

API Version

This version of the Organizations API Reference documents the Organizations API version 2016-11-28.

As an alternative to using the API directly, you can use one of the AWS SDKs, which consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .NET, iOS, Android, and more). The SDKs provide a convenient way to create programmatic access to AWS Organizations. For example, the SDKs take care of cryptographically signing requests, managing errors, and retrying requests automatically. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services.

We recommend that you use the AWS SDKs to make programmatic API calls to Organizations. However, you also can use the Organizations Query API to make direct calls to the Organizations web service. To learn more about the Organizations Query API, see Making Query Requests in the AWS Organizations User Guide. Organizations supports GET and POST requests for all actions. That is, the API does not require you to use GET for some actions and POST for others. However, GET requests are subject to the limitation size of a URL. Therefore, for operations that require larger sizes, use a POST request.

Signing Requests

When you send HTTP requests to AWS, you must sign the requests so that AWS can identify who sent them. You sign requests with your AWS access key, which consists of an access key ID and a secret access key. We strongly recommend that you do not create an access key for your root account. Anyone who has the access key for your root account has unrestricted access to all the resources in your account. Instead, create an access key for an IAM user account that has administrative privileges. As another option, use AWS Security Token Service to generate temporary security credentials, and use those credentials to sign requests.

To sign requests, we recommend that you use Signature Version 4. If you have an existing application that uses Signature Version 2, you do not have to update it to use Signature Version 4. However, some operations now require Signature Version 4. The documentation for operations that require version 4 indicate this requirement.

When you use the AWS Command Line Interface (AWS CLI) or one of the AWS SDKs to make requests to AWS, these tools automatically sign the requests for you with the access key that you specify when you configure the tools.

In this release, each organization can have only one root. In a future release, a single organization will support multiple roots.

Support and Feedback for AWS Organizations

We welcome your feedback. Send your comments to feedback-awsorganizations@amazon.com or post your feedback and questions in the AWS Organizations support forum. For more information about the AWS support forums, see Forums Help.

Endpoint to Call When Using the CLI or the AWS API

For the current release of Organizations, you must specify the us-east-1 region for all AWS API and CLI calls. You can do this in the CLI by using these parameters and commands:

  • Use the following parameter with each command to specify both the endpoint and its region:

    --endpoint-url https://organizations.us-east-1.amazonaws.com

  • Use the default endpoint, but configure your default region with this command:

    aws configure set default.region us-east-1

  • Use the following parameter with each command to specify the endpoint:

    --region us-east-1

For the various SDKs used to call the APIs, see the documentation for the SDK of interest to learn how to direct the requests to a specific endpoint. For more information, see Regions and Endpoints in the AWS General Reference.

How examples are presented

The JSON returned by the AWS Organizations service as response to your requests is returned as a single long string without line breaks or formatting whitespace. Both line breaks and whitespace are included in the examples in this guide to improve readability. When example input parameters also would result in long strings that would extend beyond the screen, we insert line breaks to enhance readability. You should always submit the input as a single JSON text string.

Recording API Requests

AWS Organizations supports AWS CloudTrail, a service that records AWS API calls for your AWS account and delivers log files to an Amazon S3 bucket. By using information collected by AWS CloudTrail, you can determine which requests were successfully made to Organizations, who made the request, when it was made, and so on. For more about AWS Organizations and its support for AWS CloudTrail, see Logging AWS Organizations Events with AWS CloudTrail in the AWS Organizations User Guide. To learn more about CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User Guide.

" + "documentation":"AWS Organizations API Reference

AWS Organizations is a web service that enables you to consolidate your multiple AWS accounts into an organization and centrally manage your accounts and their resources.

This guide provides descriptions of the Organizations API. For more information about using this service, see the AWS Organizations User Guide.

API Version

This version of the Organizations API Reference documents the Organizations API version 2016-11-28.

As an alternative to using the API directly, you can use one of the AWS SDKs, which consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .NET, iOS, Android, and more). The SDKs provide a convenient way to create programmatic access to AWS Organizations. For example, the SDKs take care of cryptographically signing requests, managing errors, and retrying requests automatically. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services.

We recommend that you use the AWS SDKs to make programmatic API calls to Organizations. However, you also can use the Organizations Query API to make direct calls to the Organizations web service. To learn more about the Organizations Query API, see Making Query Requests in the AWS Organizations User Guide. Organizations supports GET and POST requests for all actions. That is, the API does not require you to use GET for some actions and POST for others. However, GET requests are subject to the limitation size of a URL. Therefore, for operations that require larger sizes, use a POST request.

Signing Requests

When you send HTTP requests to AWS, you must sign the requests so that AWS can identify who sent them. You sign requests with your AWS access key, which consists of an access key ID and a secret access key. We strongly recommend that you do not create an access key for your root account. Anyone who has the access key for your root account has unrestricted access to all the resources in your account. Instead, create an access key for an IAM user account that has administrative privileges. As another option, use AWS Security Token Service to generate temporary security credentials, and use those credentials to sign requests.

To sign requests, we recommend that you use Signature Version 4. If you have an existing application that uses Signature Version 2, you do not have to update it to use Signature Version 4. However, some operations now require Signature Version 4. The documentation for operations that require version 4 indicate this requirement.

When you use the AWS Command Line Interface (AWS CLI) or one of the AWS SDKs to make requests to AWS, these tools automatically sign the requests for you with the access key that you specify when you configure the tools.

In this release, each organization can have only one root. In a future release, a single organization will support multiple roots.

Support and Feedback for AWS Organizations

We welcome your feedback. Send your comments to feedback-awsorganizations@amazon.com or post your feedback and questions in the AWS Organizations support forum. For more information about the AWS support forums, see Forums Help.

Endpoint to Call When Using the CLI or the AWS API

For the current release of Organizations, you must specify the us-east-1 region for all AWS API and CLI calls. You can do this in the CLI by using these parameters and commands:

  • Use the following parameter with each command to specify both the endpoint and its region:

    --endpoint-url https://organizations.us-east-1.amazonaws.com

  • Use the default endpoint, but configure your default region with this command:

    aws configure set default.region us-east-1

  • Use the following parameter with each command to specify the endpoint:

    --region us-east-1

For the various SDKs used to call the APIs, see the documentation for the SDK of interest to learn how to direct the requests to a specific endpoint. For more information, see Regions and Endpoints in the AWS General Reference.

How examples are presented

The JSON returned by the AWS Organizations service as response to your requests is returned as a single long string without line breaks or formatting whitespace. Both line breaks and whitespace are included in the examples in this guide to improve readability. When example input parameters also would result in long strings that would extend beyond the screen, we insert line breaks to enhance readability. You should always submit the input as a single JSON text string.

Recording API Requests

AWS Organizations supports AWS CloudTrail, a service that records AWS API calls for your AWS account and delivers log files to an Amazon S3 bucket. By using information collected by AWS CloudTrail, you can determine which requests were successfully made to Organizations, who made the request, when it was made, and so on. For more about AWS Organizations and its support for AWS CloudTrail, see Logging AWS Organizations Events with AWS CloudTrail in the AWS Organizations User Guide. To learn more about CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User Guide.

" } diff --git a/bin/botocore/data/personalize-events/2018-03-22/paginators-1.json b/bin/botocore/data/personalize-events/2018-03-22/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/bin/botocore/data/personalize-events/2018-03-22/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/bin/botocore/data/personalize-events/2018-03-22/service-2.json b/bin/botocore/data/personalize-events/2018-03-22/service-2.json new file mode 100644 index 00000000..5b3518b5 --- /dev/null +++ b/bin/botocore/data/personalize-events/2018-03-22/service-2.json @@ -0,0 +1,117 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-03-22", + "endpointPrefix":"personalize-events", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Amazon Personalize Events", + "serviceId":"Personalize Events", + "signatureVersion":"v4", + "signingName":"personalize", + "uid":"personalize-events-2018-03-22" + }, + "operations":{ + "PutEvents":{ + "name":"PutEvents", + "http":{ + "method":"POST", + "requestUri":"/events" + }, + "input":{"shape":"PutEventsRequest"}, + "errors":[ + {"shape":"InvalidInputException"} + ], + "documentation":"

Records user interaction event data.

" + } + }, + "shapes":{ + "Date":{"type":"timestamp"}, + "ErrorMessage":{"type":"string"}, + "Event":{ + "type":"structure", + "required":[ + "eventType", + "properties", + "sentAt" + ], + "members":{ + "eventId":{ + "shape":"StringType", + "documentation":"

An ID associated with the event. If an event ID is not provided, Amazon Personalize generates a unique ID for the event. An event ID is not used as an input to the model. Amazon Personalize uses the event ID to distinquish unique events. Any subsequent events after the first with the same event ID are not used in model training.

" + }, + "eventType":{ + "shape":"StringType", + "documentation":"

The type of event. This property corresponds to the EVENT_TYPE field of the Interactions schema.

" + }, + "properties":{ + "shape":"EventPropertiesJSON", + "documentation":"

A string map of event-specific data that you might choose to record. For example, if a user rates a movie on your site, you might send the movie ID and rating, and the number of movie ratings made by the user.

Each item in the map consists of a key-value pair. For example,

{\"itemId\": \"movie1\"}

{\"itemId\": \"movie2\", \"eventValue\": \"4.5\"}

{\"itemId\": \"movie3\", \"eventValue\": \"3\", \"numberOfRatings\": \"12\"}

The keys use camel case names that match the fields in the Interactions schema. The itemId and eventValue keys correspond to the ITEM_ID and EVENT_VALUE fields. In the above example, the eventType might be 'MovieRating' with eventValue being the rating. The numberOfRatings would match the 'NUMBER_OF_RATINGS' field defined in the Interactions schema.

", + "jsonvalue":true + }, + "sentAt":{ + "shape":"Date", + "documentation":"

The timestamp on the client side when the event occurred.

" + } + }, + "documentation":"

Represents user interaction event information sent using the PutEvents API.

" + }, + "EventList":{ + "type":"list", + "member":{"shape":"Event"}, + "max":10, + "min":1 + }, + "EventPropertiesJSON":{ + "type":"string", + "max":1024, + "min":1 + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Provide a valid value for the field or parameter.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "PutEventsRequest":{ + "type":"structure", + "required":[ + "trackingId", + "sessionId", + "eventList" + ], + "members":{ + "trackingId":{ + "shape":"StringType", + "documentation":"

The tracking ID for the event. The ID is generated by a call to the CreateEventTracker API.

" + }, + "userId":{ + "shape":"UserId", + "documentation":"

The user associated with the event.

" + }, + "sessionId":{ + "shape":"StringType", + "documentation":"

The session ID associated with the user's visit.

" + }, + "eventList":{ + "shape":"EventList", + "documentation":"

A list of event data from the session.

" + } + } + }, + "StringType":{ + "type":"string", + "max":256, + "min":1 + }, + "UserId":{ + "type":"string", + "max":256, + "min":1 + } + }, + "documentation":"

" +} diff --git a/bin/botocore/data/personalize-runtime/2018-05-22/paginators-1.json b/bin/botocore/data/personalize-runtime/2018-05-22/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/bin/botocore/data/personalize-runtime/2018-05-22/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/bin/botocore/data/personalize-runtime/2018-05-22/service-2.json b/bin/botocore/data/personalize-runtime/2018-05-22/service-2.json new file mode 100644 index 00000000..08efae25 --- /dev/null +++ b/bin/botocore/data/personalize-runtime/2018-05-22/service-2.json @@ -0,0 +1,168 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-05-22", + "endpointPrefix":"personalize-runtime", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Amazon Personalize Runtime", + "serviceId":"Personalize Runtime", + "signatureVersion":"v4", + "signingName":"personalize", + "uid":"personalize-runtime-2018-05-22" + }, + "operations":{ + "GetPersonalizedRanking":{ + "name":"GetPersonalizedRanking", + "http":{ + "method":"POST", + "requestUri":"/personalize-ranking" + }, + "input":{"shape":"GetPersonalizedRankingRequest"}, + "output":{"shape":"GetPersonalizedRankingResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Re-ranks a list of recommended items for the given user. The first item in the list is deemed the most likely item to be of interest to the user.

The solution backing the campaign must have been created using a recipe of type PERSONALIZED_RANKING.

", + "idempotent":true + }, + "GetRecommendations":{ + "name":"GetRecommendations", + "http":{ + "method":"POST", + "requestUri":"/recommendations" + }, + "input":{"shape":"GetRecommendationsRequest"}, + "output":{"shape":"GetRecommendationsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns a list of recommended items. The required input depends on the recipe type used to create the solution backing the campaign, as follows:

  • RELATED_ITEMS - itemId required, userId not used

  • USER_PERSONALIZATION - itemId optional, userId required

Campaigns that are backed by a solution created using a recipe of type PERSONALIZED_RANKING use the API.

", + "idempotent":true + } + }, + "shapes":{ + "Arn":{ + "type":"string", + "max":256, + "pattern":"arn:([a-z\\d-]+):personalize:.*:.*:.+" + }, + "ErrorMessage":{"type":"string"}, + "GetPersonalizedRankingRequest":{ + "type":"structure", + "required":[ + "campaignArn", + "inputList", + "userId" + ], + "members":{ + "campaignArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the campaign to use for generating the personalized ranking.

" + }, + "inputList":{ + "shape":"InputList", + "documentation":"

A list of items (itemId's) to rank. If an item was not included in the training dataset, the item is appended to the end of the reranked list.

" + }, + "userId":{ + "shape":"UserID", + "documentation":"

The user for which you want the campaign to provide a personalized ranking.

" + } + } + }, + "GetPersonalizedRankingResponse":{ + "type":"structure", + "members":{ + "personalizedRanking":{ + "shape":"ItemList", + "documentation":"

A list of items in order of most likely interest to the user.

" + } + } + }, + "GetRecommendationsRequest":{ + "type":"structure", + "required":["campaignArn"], + "members":{ + "campaignArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the campaign to use for getting recommendations.

" + }, + "itemId":{ + "shape":"ItemID", + "documentation":"

The item ID to provide recommendations for.

Required for RELATED_ITEMS recipe type.

" + }, + "userId":{ + "shape":"UserID", + "documentation":"

The user ID to provide recommendations for.

Required for USER_PERSONALIZATION recipe type.

" + }, + "numResults":{ + "shape":"NumResults", + "documentation":"

The number of results to return. The default is 25. The maximum is 100.

" + } + } + }, + "GetRecommendationsResponse":{ + "type":"structure", + "members":{ + "itemList":{ + "shape":"ItemList", + "documentation":"

A list of recommendations.

" + } + } + }, + "InputList":{ + "type":"list", + "member":{"shape":"ItemID"}, + "max":100 + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Provide a valid value for the field or parameter.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ItemID":{ + "type":"string", + "max":256 + }, + "ItemList":{ + "type":"list", + "member":{"shape":"PredictedItem"}, + "max":100 + }, + "NumResults":{ + "type":"integer", + "max":100, + "min":0 + }, + "PredictedItem":{ + "type":"structure", + "members":{ + "itemId":{ + "shape":"ItemID", + "documentation":"

The recommended item ID.

" + } + }, + "documentation":"

An object that identifies an item.

The and APIs return a list of PredictedItems.

" + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified resource does not exist.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "UserID":{ + "type":"string", + "max":256 + } + }, + "documentation":"

" +} diff --git a/bin/botocore/data/personalize/2018-05-22/paginators-1.json b/bin/botocore/data/personalize/2018-05-22/paginators-1.json new file mode 100644 index 00000000..ecbdbd5f --- /dev/null +++ b/bin/botocore/data/personalize/2018-05-22/paginators-1.json @@ -0,0 +1,58 @@ +{ + "pagination": { + "ListCampaigns": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "campaigns" + }, + "ListDatasetGroups": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "datasetGroups" + }, + "ListDatasetImportJobs": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "datasetImportJobs" + }, + "ListDatasets": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "datasets" + }, + "ListEventTrackers": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "eventTrackers" + }, + "ListRecipes": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "recipes" + }, + "ListSchemas": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "schemas" + }, + "ListSolutionVersions": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "solutionVersions" + }, + "ListSolutions": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "solutions" + } + } +} diff --git a/bin/botocore/data/personalize/2018-05-22/service-2.json b/bin/botocore/data/personalize/2018-05-22/service-2.json new file mode 100644 index 00000000..4fe9ee24 --- /dev/null +++ b/bin/botocore/data/personalize/2018-05-22/service-2.json @@ -0,0 +1,2696 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-05-22", + "endpointPrefix":"personalize", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"Amazon Personalize", + "serviceId":"Personalize", + "signatureVersion":"v4", + "signingName":"personalize", + "targetPrefix":"AmazonPersonalize", + "uid":"personalize-2018-05-22" + }, + "operations":{ + "CreateCampaign":{ + "name":"CreateCampaign", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateCampaignRequest"}, + "output":{"shape":"CreateCampaignResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Creates a campaign by deploying a solution version. When a client calls the GetRecommendations and GetPersonalizedRanking APIs, a campaign is specified in the request.

Minimum Provisioned TPS and Auto-Scaling

A transaction is a single GetRecommendations or GetPersonalizedRanking call. Transactions per second (TPS) is the throughput and unit of billing for Amazon Personalize. The minimum provisioned TPS (minProvisionedTPS) specifies the baseline throughput provisioned by Amazon Personalize, and thus, the minimum billing charge. If your TPS increases beyond minProvisionedTPS, Amazon Personalize auto-scales the provisioned capacity up and down, but never below minProvisionedTPS, to maintain a 70% utilization. There's a short time delay while the capacity is increased that might cause loss of transactions. It's recommended to start with a low minProvisionedTPS, track your usage using Amazon CloudWatch metrics, and then increase the minProvisionedTPS as necessary.

Status

A campaign can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

To get the campaign status, call DescribeCampaign.

Wait until the status of the campaign is ACTIVE before asking the campaign for recommendations.

Related APIs

", + "idempotent":true + }, + "CreateDataset":{ + "name":"CreateDataset", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDatasetRequest"}, + "output":{"shape":"CreateDatasetResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Creates an empty dataset and adds it to the specified dataset group. Use CreateDatasetImportJob to import your training data to a dataset.

There are three types of datasets:

  • Interactions

  • Items

  • Users

Each dataset type has an associated schema with required field types. Only the Interactions dataset is required in order to train a model (also referred to as creating a solution).

A dataset can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

To get the status of the dataset, call DescribeDataset.

Related APIs

", + "idempotent":true + }, + "CreateDatasetGroup":{ + "name":"CreateDatasetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDatasetGroupRequest"}, + "output":{"shape":"CreateDatasetGroupResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates an empty dataset group. A dataset group contains related datasets that supply data for training a model. A dataset group can contain at most three datasets, one for each type of dataset:

  • Interactions

  • Items

  • Users

To train a model (create a solution), a dataset group that contains an Interactions dataset is required. Call CreateDataset to add a dataset to the group.

A dataset group can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING

To get the status of the dataset group, call DescribeDatasetGroup. If the status shows as CREATE FAILED, the response includes a failureReason key, which describes why the creation failed.

You must wait until the status of the dataset group is ACTIVE before adding a dataset to the group.

You can specify an AWS Key Management Service (KMS) key to encrypt the datasets in the group. If you specify a KMS key, you must also include an AWS Identity and Access Management (IAM) role that has permission to access the key.

APIs that require a dataset group ARN in the request

Related APIs

" + }, + "CreateDatasetImportJob":{ + "name":"CreateDatasetImportJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDatasetImportJobRequest"}, + "output":{"shape":"CreateDatasetImportJobResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a job that imports training data from your data source (an Amazon S3 bucket) to an Amazon Personalize dataset. To allow Amazon Personalize to import the training data, you must specify an AWS Identity and Access Management (IAM) role that has permission to read from the data source.

The dataset import job replaces any previous data in the dataset.

Status

A dataset import job can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

To get the status of the import job, call DescribeDatasetImportJob, providing the Amazon Resource Name (ARN) of the dataset import job. The dataset import is complete when the status shows as ACTIVE. If the status shows as CREATE FAILED, the response includes a failureReason key, which describes why the job failed.

Importing takes time. You must wait until the status shows as ACTIVE before training a model using the dataset.

Related APIs

" + }, + "CreateEventTracker":{ + "name":"CreateEventTracker", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateEventTrackerRequest"}, + "output":{"shape":"CreateEventTrackerResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Creates an event tracker that you use when sending event data to the specified dataset group using the PutEvents API.

When Amazon Personalize creates an event tracker, it also creates an event-interactions dataset in the dataset group associated with the event tracker. The event-interactions dataset stores the event data from the PutEvents call. The contents of this dataset are not available to the user.

Only one event tracker can be associated with a dataset group. You will get an error if you call CreateEventTracker using the same dataset group as an existing event tracker.

When you send event data you include your tracking ID. The tracking ID identifies the customer and authorizes the customer to send the data.

The event tracker can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

To get the status of the event tracker, call DescribeEventTracker.

The event tracker must be in the ACTIVE state before using the tracking ID.

Related APIs

", + "idempotent":true + }, + "CreateSchema":{ + "name":"CreateSchema", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSchemaRequest"}, + "output":{"shape":"CreateSchemaResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates an Amazon Personalize schema from the specified schema string. The schema you create must be in Avro JSON format.

Amazon Personalize recognizes three schema variants. Each schema is associated with a dataset type and has a set of required field and keywords. You specify a schema when you call CreateDataset.

Related APIs

", + "idempotent":true + }, + "CreateSolution":{ + "name":"CreateSolution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSolutionRequest"}, + "output":{"shape":"CreateSolutionResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Creates the configuration for training a model. A trained model is known as a solution. After the configuration is created, you train the model (create a solution) by calling the CreateSolutionVersion operation. Every time you call CreateSolutionVersion, a new version of the solution is created.

After creating a solution version, you check its accuracy by calling GetSolutionMetrics. When you are satisfied with the version, you deploy it using CreateCampaign. The campaign provides recommendations to a client through the GetRecommendations API.

To train a model, Amazon Personalize requires training data and a recipe. The training data comes from the dataset group that you provide in the request. A recipe specifies the training algorithm and a feature transformation. You can specify one of the predefined recipes provided by Amazon Personalize. Alternatively, you can specify performAutoML and Amazon Personalize will analyze your data and select the optimum USER_PERSONALIZATION recipe for you.

Status

A solution can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

To get the status of the solution, call DescribeSolution. Wait until the status shows as ACTIVE before calling CreateSolutionVersion.

Related APIs

" + }, + "CreateSolutionVersion":{ + "name":"CreateSolutionVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSolutionVersionRequest"}, + "output":{"shape":"CreateSolutionVersionResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Trains or retrains an active solution. A solution is created using the CreateSolution operation and must be in the ACTIVE state before calling CreateSolutionVersion. A new version of the solution is created every time you call this operation.

Status

A solution version can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

To get the status of the version, call DescribeSolutionVersion. Wait until the status shows as ACTIVE before calling CreateCampaign.

If the status shows as CREATE FAILED, the response includes a failureReason key, which describes why the job failed.

Related APIs

" + }, + "DeleteCampaign":{ + "name":"DeleteCampaign", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteCampaignRequest"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Removes a campaign by deleting the solution deployment. The solution that the campaign is based on is not deleted and can be redeployed when needed. A deleted campaign can no longer be specified in a GetRecommendations request. For more information on campaigns, see CreateCampaign.

", + "idempotent":true + }, + "DeleteDataset":{ + "name":"DeleteDataset", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDatasetRequest"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes a dataset. You can't delete a dataset if an associated DatasetImportJob or SolutionVersion is in the CREATE PENDING or IN PROGRESS state. For more information on datasets, see CreateDataset.

", + "idempotent":true + }, + "DeleteDatasetGroup":{ + "name":"DeleteDatasetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDatasetGroupRequest"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes a dataset group. Before you delete a dataset group, you must delete the following:

  • All associated event trackers.

  • All associated solutions.

  • All datasets in the dataset group.

", + "idempotent":true + }, + "DeleteEventTracker":{ + "name":"DeleteEventTracker", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteEventTrackerRequest"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes the event tracker. Does not delete the event-interactions dataset from the associated dataset group. For more information on event trackers, see CreateEventTracker.

", + "idempotent":true + }, + "DeleteSchema":{ + "name":"DeleteSchema", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSchemaRequest"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes a schema. Before deleting a schema, you must delete all datasets referencing the schema. For more information on schemas, see CreateSchema.

", + "idempotent":true + }, + "DeleteSolution":{ + "name":"DeleteSolution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSolutionRequest"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes all versions of a solution and the Solution object itself. Before deleting a solution, you must delete all campaigns based on the solution. To determine what campaigns are using the solution, call ListCampaigns and supply the Amazon Resource Name (ARN) of the solution. You can't delete a solution if an associated SolutionVersion is in the CREATE PENDING or IN PROGRESS state. For more information on solutions, see CreateSolution.

", + "idempotent":true + }, + "DescribeAlgorithm":{ + "name":"DescribeAlgorithm", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAlgorithmRequest"}, + "output":{"shape":"DescribeAlgorithmResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes the given algorithm.

", + "idempotent":true + }, + "DescribeCampaign":{ + "name":"DescribeCampaign", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCampaignRequest"}, + "output":{"shape":"DescribeCampaignResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes the given campaign, including its status.

A campaign can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

When the status is CREATE FAILED, the response includes the failureReason key, which describes why.

For more information on campaigns, see CreateCampaign.

", + "idempotent":true + }, + "DescribeDataset":{ + "name":"DescribeDataset", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDatasetRequest"}, + "output":{"shape":"DescribeDatasetResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes the given dataset. For more information on datasets, see CreateDataset.

", + "idempotent":true + }, + "DescribeDatasetGroup":{ + "name":"DescribeDatasetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDatasetGroupRequest"}, + "output":{"shape":"DescribeDatasetGroupResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes the given dataset group. For more information on dataset groups, see CreateDatasetGroup.

", + "idempotent":true + }, + "DescribeDatasetImportJob":{ + "name":"DescribeDatasetImportJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDatasetImportJobRequest"}, + "output":{"shape":"DescribeDatasetImportJobResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes the dataset import job created by CreateDatasetImportJob, including the import job status.

", + "idempotent":true + }, + "DescribeEventTracker":{ + "name":"DescribeEventTracker", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEventTrackerRequest"}, + "output":{"shape":"DescribeEventTrackerResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes an event tracker. The response includes the trackingId and status of the event tracker. For more information on event trackers, see CreateEventTracker.

", + "idempotent":true + }, + "DescribeFeatureTransformation":{ + "name":"DescribeFeatureTransformation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeFeatureTransformationRequest"}, + "output":{"shape":"DescribeFeatureTransformationResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes the given feature transformation.

", + "idempotent":true + }, + "DescribeRecipe":{ + "name":"DescribeRecipe", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeRecipeRequest"}, + "output":{"shape":"DescribeRecipeResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes a recipe.

A recipe contains three items:

  • An algorithm that trains a model.

  • Hyperparameters that govern the training.

  • Feature transformation information for modifying the input data before training.

Amazon Personalize provides a set of predefined recipes. You specify a recipe when you create a solution with the CreateSolution API. CreateSolution trains a model by using the algorithm in the specified recipe and a training dataset. The solution, when deployed as a campaign, can provide recommendations using the GetRecommendations API.

", + "idempotent":true + }, + "DescribeSchema":{ + "name":"DescribeSchema", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSchemaRequest"}, + "output":{"shape":"DescribeSchemaResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes a schema. For more information on schemas, see CreateSchema.

", + "idempotent":true + }, + "DescribeSolution":{ + "name":"DescribeSolution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSolutionRequest"}, + "output":{"shape":"DescribeSolutionResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes a solution. For more information on solutions, see CreateSolution.

", + "idempotent":true + }, + "DescribeSolutionVersion":{ + "name":"DescribeSolutionVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSolutionVersionRequest"}, + "output":{"shape":"DescribeSolutionVersionResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes a specific version of a solution. For more information on solutions, see CreateSolution.

", + "idempotent":true + }, + "GetSolutionMetrics":{ + "name":"GetSolutionMetrics", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSolutionMetricsRequest"}, + "output":{"shape":"GetSolutionMetricsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Gets the metrics for the specified solution version.

" + }, + "ListCampaigns":{ + "name":"ListCampaigns", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCampaignsRequest"}, + "output":{"shape":"ListCampaignsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns a list of campaigns that use the given solution. When a solution is not specified, all the campaigns associated with the account are listed. The response provides the properties for each campaign, including the Amazon Resource Name (ARN). For more information on campaigns, see CreateCampaign.

", + "idempotent":true + }, + "ListDatasetGroups":{ + "name":"ListDatasetGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDatasetGroupsRequest"}, + "output":{"shape":"ListDatasetGroupsResponse"}, + "errors":[ + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns a list of dataset groups. The response provides the properties for each dataset group, including the Amazon Resource Name (ARN). For more information on dataset groups, see CreateDatasetGroup.

", + "idempotent":true + }, + "ListDatasetImportJobs":{ + "name":"ListDatasetImportJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDatasetImportJobsRequest"}, + "output":{"shape":"ListDatasetImportJobsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns a list of dataset import jobs that use the given dataset. When a dataset is not specified, all the dataset import jobs associated with the account are listed. The response provides the properties for each dataset import job, including the Amazon Resource Name (ARN). For more information on dataset import jobs, see CreateDatasetImportJob. For more information on datasets, see CreateDataset.

", + "idempotent":true + }, + "ListDatasets":{ + "name":"ListDatasets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDatasetsRequest"}, + "output":{"shape":"ListDatasetsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns the list of datasets contained in the given dataset group. The response provides the properties for each dataset, including the Amazon Resource Name (ARN). For more information on datasets, see CreateDataset.

", + "idempotent":true + }, + "ListEventTrackers":{ + "name":"ListEventTrackers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListEventTrackersRequest"}, + "output":{"shape":"ListEventTrackersResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns the list of event trackers associated with the account. The response provides the properties for each event tracker, including the Amazon Resource Name (ARN) and tracking ID. For more information on event trackers, see CreateEventTracker.

", + "idempotent":true + }, + "ListRecipes":{ + "name":"ListRecipes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRecipesRequest"}, + "output":{"shape":"ListRecipesResponse"}, + "errors":[ + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns a list of available recipes. The response provides the properties for each recipe, including the recipe's Amazon Resource Name (ARN).

", + "idempotent":true + }, + "ListSchemas":{ + "name":"ListSchemas", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSchemasRequest"}, + "output":{"shape":"ListSchemasResponse"}, + "errors":[ + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns the list of schemas associated with the account. The response provides the properties for each schema, including the Amazon Resource Name (ARN). For more information on schemas, see CreateSchema.

", + "idempotent":true + }, + "ListSolutionVersions":{ + "name":"ListSolutionVersions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSolutionVersionsRequest"}, + "output":{"shape":"ListSolutionVersionsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns a list of solution versions for the given solution. When a solution is not specified, all the solution versions associated with the account are listed. The response provides the properties for each solution version, including the Amazon Resource Name (ARN). For more information on solutions, see CreateSolution.

", + "idempotent":true + }, + "ListSolutions":{ + "name":"ListSolutions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSolutionsRequest"}, + "output":{"shape":"ListSolutionsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns a list of solutions that use the given dataset group. When a dataset group is not specified, all the solutions associated with the account are listed. The response provides the properties for each solution, including the Amazon Resource Name (ARN). For more information on solutions, see CreateSolution.

", + "idempotent":true + }, + "UpdateCampaign":{ + "name":"UpdateCampaign", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateCampaignRequest"}, + "output":{"shape":"UpdateCampaignResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Updates a campaign by either deploying a new solution or changing the value of the campaign's minProvisionedTPS parameter.

To update a campaign, the campaign status must be ACTIVE or CREATE FAILED. Check the campaign status using the DescribeCampaign API.

You must wait until the status of the updated campaign is ACTIVE before asking the campaign for recommendations.

For more information on campaigns, see CreateCampaign.

", + "idempotent":true + } + }, + "shapes":{ + "AccountId":{ + "type":"string", + "max":256 + }, + "Algorithm":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the algorithm.

" + }, + "algorithmArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the algorithm.

" + }, + "algorithmImage":{ + "shape":"AlgorithmImage", + "documentation":"

The URI of the Docker container for the algorithm image.

" + }, + "defaultHyperParameters":{ + "shape":"HyperParameters", + "documentation":"

Specifies the default hyperparameters.

" + }, + "defaultHyperParameterRanges":{ + "shape":"DefaultHyperParameterRanges", + "documentation":"

Specifies the default hyperparameters, their ranges, and whether they are tunable. A tunable hyperparameter can have its value determined during hyperparameter optimization (HPO).

" + }, + "defaultResourceConfig":{ + "shape":"ResourceConfig", + "documentation":"

Specifies the default maximum number of training jobs and parallel training jobs.

" + }, + "trainingInputMode":{ + "shape":"TrainingInputMode", + "documentation":"

The training input mode.

" + }, + "roleArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the role.

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the algorithm was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the algorithm was last updated.

" + } + }, + "documentation":"

Describes a custom algorithm.

" + }, + "AlgorithmImage":{ + "type":"structure", + "required":["dockerURI"], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the algorithm image.

" + }, + "dockerURI":{ + "shape":"DockerURI", + "documentation":"

The URI of the Docker container for the algorithm image.

" + } + }, + "documentation":"

Describes an algorithm image.

" + }, + "Arn":{ + "type":"string", + "max":256, + "pattern":"arn:([a-z\\d-]+):personalize:.*:.*:.+" + }, + "ArnList":{ + "type":"list", + "member":{"shape":"Arn"}, + "max":100 + }, + "AutoMLConfig":{ + "type":"structure", + "members":{ + "metricName":{ + "shape":"MetricName", + "documentation":"

The metric to optimize.

" + }, + "recipeList":{ + "shape":"ArnList", + "documentation":"

The list of candidate recipes.

" + } + }, + "documentation":"

When the solution performs AutoML (performAutoML is true in CreateSolution), Amazon Personalize determines which recipe, from the specified list, optimizes the given metric. Amazon Personalize then uses that recipe for the solution.

" + }, + "AutoMLResult":{ + "type":"structure", + "members":{ + "bestRecipeArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the best recipe.

" + } + }, + "documentation":"

When the solution performs AutoML (performAutoML is true in CreateSolution), specifies the recipe that best optimized the specified metric.

" + }, + "AvroSchema":{ + "type":"string", + "max":10000 + }, + "Campaign":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the campaign.

" + }, + "campaignArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the campaign.

" + }, + "solutionVersionArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of a specific version of the solution.

" + }, + "minProvisionedTPS":{ + "shape":"TransactionsPerSecond", + "documentation":"

Specifies the requested minimum provisioned transactions (recommendations) per second.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the campaign.

A campaign can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

" + }, + "failureReason":{ + "shape":"FailureReason", + "documentation":"

If a campaign fails, the reason behind the failure.

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix format) that the campaign was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix format) that the campaign was last updated.

" + }, + "latestCampaignUpdate":{"shape":"CampaignUpdateSummary"} + }, + "documentation":"

Describes a deployed solution version, otherwise known as a campaign. For more information on campaigns, see CreateCampaign.

" + }, + "CampaignSummary":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the campaign.

" + }, + "campaignArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the campaign.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the campaign.

A campaign can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the campaign was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the campaign was last updated.

" + }, + "failureReason":{ + "shape":"FailureReason", + "documentation":"

If a campaign fails, the reason behind the failure.

" + } + }, + "documentation":"

Provides a summary of the properties of a campaign. For a complete listing, call the DescribeCampaign API.

" + }, + "CampaignUpdateSummary":{ + "type":"structure", + "members":{ + "solutionVersionArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the deployed solution version.

" + }, + "minProvisionedTPS":{ + "shape":"TransactionsPerSecond", + "documentation":"

Specifies the requested minimum provisioned transactions (recommendations) per second that Amazon Personalize will support.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the campaign update.

A campaign update can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

" + }, + "failureReason":{ + "shape":"FailureReason", + "documentation":"

If a campaign update fails, the reason behind the failure.

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the campaign update was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the campaign update was last updated.

" + } + }, + "documentation":"

Provides a summary of the properties of a campaign update. For a complete listing, call the DescribeCampaign API.

" + }, + "Campaigns":{ + "type":"list", + "member":{"shape":"CampaignSummary"}, + "max":100 + }, + "CategoricalHyperParameterRange":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ParameterName", + "documentation":"

The name of the hyperparameter.

" + }, + "values":{ + "shape":"CategoricalValues", + "documentation":"

A list of the categories for the hyperparameter.

" + } + }, + "documentation":"

Provides the name and range of a categorical hyperparameter.

" + }, + "CategoricalHyperParameterRanges":{ + "type":"list", + "member":{"shape":"CategoricalHyperParameterRange"}, + "max":100 + }, + "CategoricalValue":{ + "type":"string", + "max":1000 + }, + "CategoricalValues":{ + "type":"list", + "member":{"shape":"CategoricalValue"}, + "max":100 + }, + "ContinuousHyperParameterRange":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ParameterName", + "documentation":"

The name of the hyperparameter.

" + }, + "minValue":{ + "shape":"ContinuousMinValue", + "documentation":"

The minimum allowable value for the hyperparameter.

" + }, + "maxValue":{ + "shape":"ContinuousMaxValue", + "documentation":"

The maximum allowable value for the hyperparameter.

" + } + }, + "documentation":"

Provides the name and range of a continuous hyperparameter.

" + }, + "ContinuousHyperParameterRanges":{ + "type":"list", + "member":{"shape":"ContinuousHyperParameterRange"}, + "max":100 + }, + "ContinuousMaxValue":{ + "type":"double", + "min":-1000000 + }, + "ContinuousMinValue":{ + "type":"double", + "min":-1000000 + }, + "CreateCampaignRequest":{ + "type":"structure", + "required":[ + "name", + "solutionVersionArn", + "minProvisionedTPS" + ], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

A name for the new campaign. The campaign name must be unique within your account.

" + }, + "solutionVersionArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the solution version to deploy.

" + }, + "minProvisionedTPS":{ + "shape":"TransactionsPerSecond", + "documentation":"

Specifies the requested minimum provisioned transactions (recommendations) per second that Amazon Personalize will support.

" + } + } + }, + "CreateCampaignResponse":{ + "type":"structure", + "members":{ + "campaignArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the campaign.

" + } + } + }, + "CreateDatasetGroupRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name for the new dataset group.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the IAM role that has permissions to access the KMS key. Supplying an IAM role is only valid when also specifying a KMS key.

" + }, + "kmsKeyArn":{ + "shape":"KmsKeyArn", + "documentation":"

The Amazon Resource Name (ARN) of a KMS key used to encrypt the datasets.

" + } + } + }, + "CreateDatasetGroupResponse":{ + "type":"structure", + "members":{ + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the new dataset group.

" + } + } + }, + "CreateDatasetImportJobRequest":{ + "type":"structure", + "required":[ + "jobName", + "datasetArn", + "dataSource", + "roleArn" + ], + "members":{ + "jobName":{ + "shape":"Name", + "documentation":"

The name for the dataset import job.

" + }, + "datasetArn":{ + "shape":"Arn", + "documentation":"

The ARN of the dataset that receives the imported data.

" + }, + "dataSource":{ + "shape":"DataSource", + "documentation":"

The Amazon S3 bucket that contains the training data to import.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the IAM role that has permissions to read from the Amazon S3 data source.

" + } + } + }, + "CreateDatasetImportJobResponse":{ + "type":"structure", + "members":{ + "datasetImportJobArn":{ + "shape":"Arn", + "documentation":"

The ARN of the dataset import job.

" + } + } + }, + "CreateDatasetRequest":{ + "type":"structure", + "required":[ + "name", + "schemaArn", + "datasetGroupArn", + "datasetType" + ], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name for the dataset.

" + }, + "schemaArn":{ + "shape":"Arn", + "documentation":"

The ARN of the schema to associate with the dataset. The schema defines the dataset fields.

" + }, + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group to add the dataset to.

" + }, + "datasetType":{ + "shape":"DatasetType", + "documentation":"

The type of dataset.

One of the following (case insensitive) values:

  • Interactions

  • Items

  • Users

" + } + } + }, + "CreateDatasetResponse":{ + "type":"structure", + "members":{ + "datasetArn":{ + "shape":"Arn", + "documentation":"

The ARN of the dataset.

" + } + } + }, + "CreateEventTrackerRequest":{ + "type":"structure", + "required":[ + "name", + "datasetGroupArn" + ], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name for the event tracker.

" + }, + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group that receives the event data.

" + } + } + }, + "CreateEventTrackerResponse":{ + "type":"structure", + "members":{ + "eventTrackerArn":{ + "shape":"Arn", + "documentation":"

The ARN of the event tracker.

" + }, + "trackingId":{ + "shape":"TrackingId", + "documentation":"

The ID of the event tracker. Include this ID in requests to the PutEvents API.

" + } + } + }, + "CreateSchemaRequest":{ + "type":"structure", + "required":[ + "name", + "schema" + ], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name for the schema.

" + }, + "schema":{ + "shape":"AvroSchema", + "documentation":"

A schema in Avro JSON format.

" + } + } + }, + "CreateSchemaResponse":{ + "type":"structure", + "members":{ + "schemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the created schema.

" + } + } + }, + "CreateSolutionRequest":{ + "type":"structure", + "required":[ + "name", + "datasetGroupArn" + ], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name for the solution.

" + }, + "performHPO":{ + "shape":"PerformHPO", + "documentation":"

Whether to perform hyperparameter optimization (HPO) on the specified or selected recipe. The default is false.

When performing AutoML, this parameter is always true and you should not set it to false.

" + }, + "performAutoML":{ + "shape":"PerformAutoML", + "documentation":"

Whether to perform automated machine learning (AutoML). The default is false. For this case, you must specify recipeArn.

When set to true, Amazon Personalize analyzes your training data and selects the optimal USER_PERSONALIZATION recipe and hyperparameters. In this case, you must omit recipeArn. Amazon Personalize determines the optimal recipe by running tests with different values for the hyperparameters. AutoML lengthens the training process as compared to selecting a specific recipe.

" + }, + "recipeArn":{ + "shape":"Arn", + "documentation":"

The ARN of the recipe to use for model training. Only specified when performAutoML is false.

" + }, + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group that provides the training data.

" + }, + "eventType":{ + "shape":"EventType", + "documentation":"

When your have multiple event types (using an EVENT_TYPE schema field), this parameter specifies which event type (for example, 'click' or 'like') is used for training the model.

" + }, + "solutionConfig":{ + "shape":"SolutionConfig", + "documentation":"

The configuration to use with the solution. When performAutoML is set to true, Amazon Personalize only evaluates the autoMLConfig section of the solution configuration.

" + } + } + }, + "CreateSolutionResponse":{ + "type":"structure", + "members":{ + "solutionArn":{ + "shape":"Arn", + "documentation":"

The ARN of the solution.

" + } + } + }, + "CreateSolutionVersionRequest":{ + "type":"structure", + "required":["solutionArn"], + "members":{ + "solutionArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the solution containing the training configuration information.

" + } + } + }, + "CreateSolutionVersionResponse":{ + "type":"structure", + "members":{ + "solutionVersionArn":{ + "shape":"Arn", + "documentation":"

The ARN of the new solution version.

" + } + } + }, + "DataSource":{ + "type":"structure", + "members":{ + "dataLocation":{ + "shape":"S3Location", + "documentation":"

The path to the Amazon S3 bucket where the data that you want to upload to your dataset is stored. For example:

s3://bucket-name/training-data.csv

" + } + }, + "documentation":"

Describes the data source that contains the data to upload to a dataset.

" + }, + "Dataset":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the dataset.

" + }, + "datasetArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset that you want metadata for.

" + }, + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group.

" + }, + "datasetType":{ + "shape":"DatasetType", + "documentation":"

One of the following values:

  • Interactions

  • Items

  • Users

" + }, + "schemaArn":{ + "shape":"Arn", + "documentation":"

The ARN of the associated schema.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the dataset.

A dataset can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The creation date and time (in Unix time) of the dataset.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

A time stamp that shows when the dataset was updated.

" + } + }, + "documentation":"

Provides metadata for a dataset.

" + }, + "DatasetGroup":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the dataset group.

" + }, + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The current status of the dataset group.

A dataset group can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the IAM role that has permissions to create the dataset group.

" + }, + "kmsKeyArn":{ + "shape":"KmsKeyArn", + "documentation":"

The Amazon Resource Name (ARN) of the KMS key used to encrypt the datasets.

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The creation date and time (in Unix time) of the dataset group.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The last update date and time (in Unix time) of the dataset group.

" + }, + "failureReason":{ + "shape":"FailureReason", + "documentation":"

If creating a dataset group fails, provides the reason why.

" + } + }, + "documentation":"

A dataset group is a collection of related datasets (Interactions, User, and Item). You create a dataset group by calling CreateDatasetGroup. You then create a dataset and add it to a dataset group by calling CreateDataset. The dataset group is used to create and train a solution by calling CreateSolution. A dataset group can contain only one of each type of dataset.

You can specify an AWS Key Management Service (KMS) key to encrypt the datasets in the group.

" + }, + "DatasetGroupSummary":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the dataset group.

" + }, + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the dataset group.

A dataset group can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the dataset group was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the dataset group was last updated.

" + }, + "failureReason":{ + "shape":"FailureReason", + "documentation":"

If creating a dataset group fails, the reason behind the failure.

" + } + }, + "documentation":"

Provides a summary of the properties of a dataset group. For a complete listing, call the DescribeDatasetGroup API.

" + }, + "DatasetGroups":{ + "type":"list", + "member":{"shape":"DatasetGroupSummary"}, + "max":100 + }, + "DatasetImportJob":{ + "type":"structure", + "members":{ + "jobName":{ + "shape":"Name", + "documentation":"

The name of the import job.

" + }, + "datasetImportJobArn":{ + "shape":"Arn", + "documentation":"

The ARN of the dataset import job.

" + }, + "datasetArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset that receives the imported data.

" + }, + "dataSource":{ + "shape":"DataSource", + "documentation":"

The Amazon S3 bucket that contains the training data to import.

" + }, + "roleArn":{ + "shape":"Arn", + "documentation":"

The ARN of the AWS Identity and Access Management (IAM) role that has permissions to read from the Amazon S3 data source.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the dataset import job.

A dataset import job can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The creation date and time (in Unix time) of the dataset import job.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) the dataset was last updated.

" + }, + "failureReason":{ + "shape":"FailureReason", + "documentation":"

If a dataset import job fails, provides the reason why.

" + } + }, + "documentation":"

Describes a job that imports training data from a data source (Amazon S3 bucket) to an Amazon Personalize dataset. For more information, see CreateDatasetImportJob.

A dataset import job can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

" + }, + "DatasetImportJobSummary":{ + "type":"structure", + "members":{ + "datasetImportJobArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset import job.

" + }, + "jobName":{ + "shape":"Name", + "documentation":"

The name of the dataset import job.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the dataset import job.

A dataset import job can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the dataset import job was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the dataset was last updated.

" + }, + "failureReason":{ + "shape":"FailureReason", + "documentation":"

If a dataset import job fails, the reason behind the failure.

" + } + }, + "documentation":"

Provides a summary of the properties of a dataset import job. For a complete listing, call the DescribeDatasetImportJob API.

" + }, + "DatasetImportJobs":{ + "type":"list", + "member":{"shape":"DatasetImportJobSummary"}, + "max":100 + }, + "DatasetSchema":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the schema.

" + }, + "schemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the schema.

" + }, + "schema":{ + "shape":"AvroSchema", + "documentation":"

The schema.

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the schema was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the schema was last updated.

" + } + }, + "documentation":"

Describes the schema for a dataset. For more information on schemas, see CreateSchema.

" + }, + "DatasetSchemaSummary":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the schema.

" + }, + "schemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the schema.

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the schema was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the schema was last updated.

" + } + }, + "documentation":"

Provides a summary of the properties of a dataset schema. For a complete listing, call the DescribeSchema API.

" + }, + "DatasetSummary":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the dataset.

" + }, + "datasetArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset.

" + }, + "datasetType":{ + "shape":"DatasetType", + "documentation":"

The dataset type. One of the following values:

  • Interactions

  • Items

  • Users

  • Event-Interactions

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the dataset.

A dataset can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the dataset was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the dataset was last updated.

" + } + }, + "documentation":"

Provides a summary of the properties of a dataset. For a complete listing, call the DescribeDataset API.

" + }, + "DatasetType":{ + "type":"string", + "max":256 + }, + "Datasets":{ + "type":"list", + "member":{"shape":"DatasetSummary"}, + "max":100 + }, + "Date":{"type":"timestamp"}, + "DefaultCategoricalHyperParameterRange":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ParameterName", + "documentation":"

The name of the hyperparameter.

" + }, + "values":{ + "shape":"CategoricalValues", + "documentation":"

A list of the categories for the hyperparameter.

" + }, + "isTunable":{ + "shape":"Tunable", + "documentation":"

Whether the hyperparameter is tunable.

" + } + }, + "documentation":"

Provides the name and default range of a categorical hyperparameter and whether the hyperparameter is tunable. A tunable hyperparameter can have its value determined during hyperparameter optimization (HPO).

" + }, + "DefaultCategoricalHyperParameterRanges":{ + "type":"list", + "member":{"shape":"DefaultCategoricalHyperParameterRange"}, + "max":100 + }, + "DefaultContinuousHyperParameterRange":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ParameterName", + "documentation":"

The name of the hyperparameter.

" + }, + "minValue":{ + "shape":"ContinuousMinValue", + "documentation":"

The minimum allowable value for the hyperparameter.

" + }, + "maxValue":{ + "shape":"ContinuousMaxValue", + "documentation":"

The maximum allowable value for the hyperparameter.

" + }, + "isTunable":{ + "shape":"Tunable", + "documentation":"

Whether the hyperparameter is tunable.

" + } + }, + "documentation":"

Provides the name and default range of a continuous hyperparameter and whether the hyperparameter is tunable. A tunable hyperparameter can have its value determined during hyperparameter optimization (HPO).

" + }, + "DefaultContinuousHyperParameterRanges":{ + "type":"list", + "member":{"shape":"DefaultContinuousHyperParameterRange"}, + "max":100 + }, + "DefaultHyperParameterRanges":{ + "type":"structure", + "members":{ + "integerHyperParameterRanges":{ + "shape":"DefaultIntegerHyperParameterRanges", + "documentation":"

The integer-valued hyperparameters and their default ranges.

" + }, + "continuousHyperParameterRanges":{ + "shape":"DefaultContinuousHyperParameterRanges", + "documentation":"

The continuous hyperparameters and their default ranges.

" + }, + "categoricalHyperParameterRanges":{ + "shape":"DefaultCategoricalHyperParameterRanges", + "documentation":"

The categorical hyperparameters and their default ranges.

" + } + }, + "documentation":"

Specifies the hyperparameters and their default ranges. Hyperparameters can be categorical, continuous, or integer-valued.

" + }, + "DefaultIntegerHyperParameterRange":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ParameterName", + "documentation":"

The name of the hyperparameter.

" + }, + "minValue":{ + "shape":"IntegerMinValue", + "documentation":"

The minimum allowable value for the hyperparameter.

" + }, + "maxValue":{ + "shape":"IntegerMaxValue", + "documentation":"

The maximum allowable value for the hyperparameter.

" + }, + "isTunable":{ + "shape":"Tunable", + "documentation":"

Indicates whether the hyperparameter is tunable.

" + } + }, + "documentation":"

Provides the name and default range of a integer-valued hyperparameter and whether the hyperparameter is tunable. A tunable hyperparameter can have its value determined during hyperparameter optimization (HPO).

" + }, + "DefaultIntegerHyperParameterRanges":{ + "type":"list", + "member":{"shape":"DefaultIntegerHyperParameterRange"}, + "max":100 + }, + "DeleteCampaignRequest":{ + "type":"structure", + "required":["campaignArn"], + "members":{ + "campaignArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the campaign to delete.

" + } + } + }, + "DeleteDatasetGroupRequest":{ + "type":"structure", + "required":["datasetGroupArn"], + "members":{ + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of the dataset group to delete.

" + } + } + }, + "DeleteDatasetRequest":{ + "type":"structure", + "required":["datasetArn"], + "members":{ + "datasetArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset to delete.

" + } + } + }, + "DeleteEventTrackerRequest":{ + "type":"structure", + "required":["eventTrackerArn"], + "members":{ + "eventTrackerArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the event tracker to delete.

" + } + } + }, + "DeleteSchemaRequest":{ + "type":"structure", + "required":["schemaArn"], + "members":{ + "schemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the schema to delete.

" + } + } + }, + "DeleteSolutionRequest":{ + "type":"structure", + "required":["solutionArn"], + "members":{ + "solutionArn":{ + "shape":"Arn", + "documentation":"

The ARN of the solution to delete.

" + } + } + }, + "DescribeAlgorithmRequest":{ + "type":"structure", + "required":["algorithmArn"], + "members":{ + "algorithmArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the algorithm to describe.

" + } + } + }, + "DescribeAlgorithmResponse":{ + "type":"structure", + "members":{ + "algorithm":{ + "shape":"Algorithm", + "documentation":"

A listing of the properties of the algorithm.

" + } + } + }, + "DescribeCampaignRequest":{ + "type":"structure", + "required":["campaignArn"], + "members":{ + "campaignArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the campaign.

" + } + } + }, + "DescribeCampaignResponse":{ + "type":"structure", + "members":{ + "campaign":{ + "shape":"Campaign", + "documentation":"

The properties of the campaign.

" + } + } + }, + "DescribeDatasetGroupRequest":{ + "type":"structure", + "required":["datasetGroupArn"], + "members":{ + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group to describe.

" + } + } + }, + "DescribeDatasetGroupResponse":{ + "type":"structure", + "members":{ + "datasetGroup":{ + "shape":"DatasetGroup", + "documentation":"

A listing of the dataset group's properties.

" + } + } + }, + "DescribeDatasetImportJobRequest":{ + "type":"structure", + "required":["datasetImportJobArn"], + "members":{ + "datasetImportJobArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset import job to describe.

" + } + } + }, + "DescribeDatasetImportJobResponse":{ + "type":"structure", + "members":{ + "datasetImportJob":{ + "shape":"DatasetImportJob", + "documentation":"

Information about the dataset import job, including the status.

The status is one of the following values:

  • CREATE PENDING

  • CREATE IN_PROGRESS

  • ACTIVE

  • CREATE FAILED

" + } + } + }, + "DescribeDatasetRequest":{ + "type":"structure", + "required":["datasetArn"], + "members":{ + "datasetArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset to describe.

" + } + } + }, + "DescribeDatasetResponse":{ + "type":"structure", + "members":{ + "dataset":{ + "shape":"Dataset", + "documentation":"

A listing of the dataset's properties.

" + } + } + }, + "DescribeEventTrackerRequest":{ + "type":"structure", + "required":["eventTrackerArn"], + "members":{ + "eventTrackerArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the event tracker to describe.

" + } + } + }, + "DescribeEventTrackerResponse":{ + "type":"structure", + "members":{ + "eventTracker":{ + "shape":"EventTracker", + "documentation":"

An object that describes the event tracker.

" + } + } + }, + "DescribeFeatureTransformationRequest":{ + "type":"structure", + "required":["featureTransformationArn"], + "members":{ + "featureTransformationArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the feature transformation to describe.

" + } + } + }, + "DescribeFeatureTransformationResponse":{ + "type":"structure", + "members":{ + "featureTransformation":{ + "shape":"FeatureTransformation", + "documentation":"

A listing of the FeatureTransformation properties.

" + } + } + }, + "DescribeRecipeRequest":{ + "type":"structure", + "required":["recipeArn"], + "members":{ + "recipeArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the recipe to describe.

" + } + } + }, + "DescribeRecipeResponse":{ + "type":"structure", + "members":{ + "recipe":{ + "shape":"Recipe", + "documentation":"

An object that describes the recipe.

" + } + } + }, + "DescribeSchemaRequest":{ + "type":"structure", + "required":["schemaArn"], + "members":{ + "schemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the schema to retrieve.

" + } + } + }, + "DescribeSchemaResponse":{ + "type":"structure", + "members":{ + "schema":{ + "shape":"DatasetSchema", + "documentation":"

The requested schema.

" + } + } + }, + "DescribeSolutionRequest":{ + "type":"structure", + "required":["solutionArn"], + "members":{ + "solutionArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the solution to describe.

" + } + } + }, + "DescribeSolutionResponse":{ + "type":"structure", + "members":{ + "solution":{ + "shape":"Solution", + "documentation":"

An object that describes the solution.

" + } + } + }, + "DescribeSolutionVersionRequest":{ + "type":"structure", + "required":["solutionVersionArn"], + "members":{ + "solutionVersionArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the solution version.

" + } + } + }, + "DescribeSolutionVersionResponse":{ + "type":"structure", + "members":{ + "solutionVersion":{ + "shape":"SolutionVersion", + "documentation":"

The solution version.

" + } + } + }, + "Description":{"type":"string"}, + "DockerURI":{ + "type":"string", + "max":256 + }, + "ErrorMessage":{"type":"string"}, + "EventTracker":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the event tracker.

" + }, + "eventTrackerArn":{ + "shape":"Arn", + "documentation":"

The ARN of the event tracker.

" + }, + "accountId":{ + "shape":"AccountId", + "documentation":"

The Amazon AWS account that owns the event tracker.

" + }, + "trackingId":{ + "shape":"TrackingId", + "documentation":"

The ID of the event tracker. Include this ID in requests to the PutEvents API.

" + }, + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group that receives the event data.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the event tracker.

An event tracker can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix format) that the event tracker was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the event tracker was last updated.

" + } + }, + "documentation":"

Provides information about an event tracker.

" + }, + "EventTrackerSummary":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the event tracker.

" + }, + "eventTrackerArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the event tracker.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the event tracker.

An event tracker can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the event tracker was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the event tracker was last updated.

" + } + }, + "documentation":"

Provides a summary of the properties of an event tracker. For a complete listing, call the DescribeEventTracker API.

" + }, + "EventTrackers":{ + "type":"list", + "member":{"shape":"EventTrackerSummary"}, + "max":100 + }, + "EventType":{ + "type":"string", + "max":256 + }, + "EventValueThreshold":{ + "type":"string", + "max":256 + }, + "FailureReason":{"type":"string"}, + "FeatureTransformation":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the feature transformation.

" + }, + "featureTransformationArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the FeatureTransformation object.

" + }, + "defaultParameters":{ + "shape":"FeaturizationParameters", + "documentation":"

Provides the default parameters for feature transformation.

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The creation date and time (in Unix time) of the feature transformation.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The last update date and time (in Unix time) of the feature transformation.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the feature transformation.

A feature transformation can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

" + } + }, + "documentation":"

Provides feature transformation information. Feature transformation is the process of modifying raw input data into a form more suitable for model training.

" + }, + "FeatureTransformationParameters":{ + "type":"map", + "key":{"shape":"ParameterName"}, + "value":{"shape":"ParameterValue"}, + "max":100 + }, + "FeaturizationParameters":{ + "type":"map", + "key":{"shape":"ParameterName"}, + "value":{"shape":"ParameterValue"}, + "max":100 + }, + "GetSolutionMetricsRequest":{ + "type":"structure", + "required":["solutionVersionArn"], + "members":{ + "solutionVersionArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the solution version for which to get metrics.

" + } + } + }, + "GetSolutionMetricsResponse":{ + "type":"structure", + "members":{ + "solutionVersionArn":{ + "shape":"Arn", + "documentation":"

The same solution version ARN as specified in the request.

" + }, + "metrics":{ + "shape":"Metrics", + "documentation":"

The metrics for the solution version.

" + } + } + }, + "HPOConfig":{ + "type":"structure", + "members":{ + "hpoObjective":{ + "shape":"HPOObjective", + "documentation":"

The metric to optimize during HPO.

" + }, + "hpoResourceConfig":{ + "shape":"HPOResourceConfig", + "documentation":"

Describes the resource configuration for HPO.

" + }, + "algorithmHyperParameterRanges":{ + "shape":"HyperParameterRanges", + "documentation":"

The hyperparameters and their allowable ranges.

" + } + }, + "documentation":"

Describes the properties for hyperparameter optimization (HPO). For use with the bring-your-own-recipe feature. Do not use for Amazon Personalize native recipes.

" + }, + "HPOObjective":{ + "type":"structure", + "members":{ + "type":{ + "shape":"HPOObjectiveType", + "documentation":"

The data type of the metric.

" + }, + "metricName":{ + "shape":"MetricName", + "documentation":"

The name of the metric.

" + }, + "metricRegex":{ + "shape":"MetricRegex", + "documentation":"

A regular expression for finding the metric in the training job logs.

" + } + }, + "documentation":"

The metric to optimize during hyperparameter optimization (HPO).

" + }, + "HPOObjectiveType":{ + "type":"string", + "max":256 + }, + "HPOResource":{ + "type":"string", + "max":256 + }, + "HPOResourceConfig":{ + "type":"structure", + "members":{ + "maxNumberOfTrainingJobs":{ + "shape":"HPOResource", + "documentation":"

The maximum number of training jobs.

" + }, + "maxParallelTrainingJobs":{ + "shape":"HPOResource", + "documentation":"

The maximum number of parallel training jobs.

" + } + }, + "documentation":"

Describes the resource configuration for hyperparameter optimization (HPO).

" + }, + "HyperParameterRanges":{ + "type":"structure", + "members":{ + "integerHyperParameterRanges":{ + "shape":"IntegerHyperParameterRanges", + "documentation":"

The integer-valued hyperparameters and their ranges.

" + }, + "continuousHyperParameterRanges":{ + "shape":"ContinuousHyperParameterRanges", + "documentation":"

The continuous hyperparameters and their ranges.

" + }, + "categoricalHyperParameterRanges":{ + "shape":"CategoricalHyperParameterRanges", + "documentation":"

The categorical hyperparameters and their ranges.

" + } + }, + "documentation":"

Specifies the hyperparameters and their ranges. Hyperparameters can be categorical, continuous, or integer-valued.

" + }, + "HyperParameters":{ + "type":"map", + "key":{"shape":"ParameterName"}, + "value":{"shape":"ParameterValue"}, + "max":100 + }, + "IntegerHyperParameterRange":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ParameterName", + "documentation":"

The name of the hyperparameter.

" + }, + "minValue":{ + "shape":"IntegerMinValue", + "documentation":"

The minimum allowable value for the hyperparameter.

" + }, + "maxValue":{ + "shape":"IntegerMaxValue", + "documentation":"

The maximum allowable value for the hyperparameter.

" + } + }, + "documentation":"

Provides the name and range of an integer-valued hyperparameter.

" + }, + "IntegerHyperParameterRanges":{ + "type":"list", + "member":{"shape":"IntegerHyperParameterRange"}, + "max":100 + }, + "IntegerMaxValue":{ + "type":"integer", + "max":1000000 + }, + "IntegerMinValue":{ + "type":"integer", + "min":-1000000 + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Provide a valid value for the field or parameter.

", + "exception":true + }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The token is not valid.

", + "exception":true + }, + "KmsKeyArn":{"type":"string"}, + "LimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The limit on the number of requests per second has been exceeded.

", + "exception":true + }, + "ListCampaignsRequest":{ + "type":"structure", + "members":{ + "solutionArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the solution to list the campaigns for. When a solution is not specified, all the campaigns associated with the account are listed.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token returned from the previous call to ListCampaigns for getting the next set of campaigns (if they exist).

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of campaigns to return.

" + } + } + }, + "ListCampaignsResponse":{ + "type":"structure", + "members":{ + "campaigns":{ + "shape":"Campaigns", + "documentation":"

A list of the campaigns.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token for getting the next set of campaigns (if they exist).

" + } + } + }, + "ListDatasetGroupsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token returned from the previous call to ListDatasetGroups for getting the next set of dataset groups (if they exist).

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of dataset groups to return.

" + } + } + }, + "ListDatasetGroupsResponse":{ + "type":"structure", + "members":{ + "datasetGroups":{ + "shape":"DatasetGroups", + "documentation":"

The list of your dataset groups.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token for getting the next set of dataset groups (if they exist).

" + } + } + }, + "ListDatasetImportJobsRequest":{ + "type":"structure", + "members":{ + "datasetArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset to list the dataset import jobs for.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token returned from the previous call to ListDatasetImportJobs for getting the next set of dataset import jobs (if they exist).

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of dataset import jobs to return.

" + } + } + }, + "ListDatasetImportJobsResponse":{ + "type":"structure", + "members":{ + "datasetImportJobs":{ + "shape":"DatasetImportJobs", + "documentation":"

The list of dataset import jobs.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token for getting the next set of dataset import jobs (if they exist).

" + } + } + }, + "ListDatasetsRequest":{ + "type":"structure", + "members":{ + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group that contains the datasets to list.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token returned from the previous call to ListDatasetImportJobs for getting the next set of dataset import jobs (if they exist).

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of datasets to return.

" + } + } + }, + "ListDatasetsResponse":{ + "type":"structure", + "members":{ + "datasets":{ + "shape":"Datasets", + "documentation":"

An array of Dataset objects. Each object provides metadata information.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token for getting the next set of datasets (if they exist).

" + } + } + }, + "ListEventTrackersRequest":{ + "type":"structure", + "members":{ + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of a dataset group used to filter the response.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token returned from the previous call to ListEventTrackers for getting the next set of event trackers (if they exist).

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of event trackers to return.

" + } + } + }, + "ListEventTrackersResponse":{ + "type":"structure", + "members":{ + "eventTrackers":{ + "shape":"EventTrackers", + "documentation":"

A list of event trackers.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token for getting the next set of event trackers (if they exist).

" + } + } + }, + "ListRecipesRequest":{ + "type":"structure", + "members":{ + "recipeProvider":{ + "shape":"RecipeProvider", + "documentation":"

The default is SERVICE.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token returned from the previous call to ListRecipes for getting the next set of recipes (if they exist).

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of recipes to return.

" + } + } + }, + "ListRecipesResponse":{ + "type":"structure", + "members":{ + "recipes":{ + "shape":"Recipes", + "documentation":"

The list of available recipes.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token for getting the next set of recipes.

" + } + } + }, + "ListSchemasRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token returned from the previous call to ListSchemas for getting the next set of schemas (if they exist).

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of schemas to return.

" + } + } + }, + "ListSchemasResponse":{ + "type":"structure", + "members":{ + "schemas":{ + "shape":"Schemas", + "documentation":"

A list of schemas.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token used to get the next set of schemas (if they exist).

" + } + } + }, + "ListSolutionVersionsRequest":{ + "type":"structure", + "members":{ + "solutionArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the solution.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token returned from the previous call to ListSolutionVersions for getting the next set of solution versions (if they exist).

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of solution versions to return.

" + } + } + }, + "ListSolutionVersionsResponse":{ + "type":"structure", + "members":{ + "solutionVersions":{ + "shape":"SolutionVersions", + "documentation":"

A list of solution versions describing the version properties.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token for getting the next set of solution versions (if they exist).

" + } + } + }, + "ListSolutionsRequest":{ + "type":"structure", + "members":{ + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token returned from the previous call to ListSolutions for getting the next set of solutions (if they exist).

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of solutions to return.

" + } + } + }, + "ListSolutionsResponse":{ + "type":"structure", + "members":{ + "solutions":{ + "shape":"Solutions", + "documentation":"

A list of the current solutions.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token for getting the next set of solutions (if they exist).

" + } + } + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "MetricName":{ + "type":"string", + "max":256 + }, + "MetricRegex":{ + "type":"string", + "max":256 + }, + "MetricValue":{"type":"double"}, + "Metrics":{ + "type":"map", + "key":{"shape":"MetricName"}, + "value":{"shape":"MetricValue"}, + "max":100 + }, + "Name":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^[a-zA-Z0-9][a-zA-Z0-9\\-_]*" + }, + "NextToken":{ + "type":"string", + "max":1300 + }, + "ParameterName":{ + "type":"string", + "max":256 + }, + "ParameterValue":{ + "type":"string", + "max":1000 + }, + "PerformAutoML":{"type":"boolean"}, + "PerformHPO":{"type":"boolean"}, + "Recipe":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the recipe.

" + }, + "recipeArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the recipe.

" + }, + "algorithmArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the algorithm that Amazon Personalize uses to train the model.

" + }, + "featureTransformationArn":{ + "shape":"Arn", + "documentation":"

The ARN of the FeatureTransformation object.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the recipe.

" + }, + "description":{ + "shape":"Description", + "documentation":"

The description of the recipe.

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix format) that the recipe was created.

" + }, + "recipeType":{ + "shape":"RecipeType", + "documentation":"

One of the following values:

  • PERSONALIZED_RANKING

  • RELATED_ITEMS

  • USER_PERSONALIZATION

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix format) that the recipe was last updated.

" + } + }, + "documentation":"

Provides information about a recipe. Each recipe provides an algorithm that Amazon Personalize uses in model training when you use the CreateSolution operation.

" + }, + "RecipeProvider":{ + "type":"string", + "enum":["SERVICE"] + }, + "RecipeSummary":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the recipe.

" + }, + "recipeArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the recipe.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the recipe.

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the recipe was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the recipe was last updated.

" + } + }, + "documentation":"

Provides a summary of the properties of a recipe. For a complete listing, call the DescribeRecipe API.

" + }, + "RecipeType":{ + "type":"string", + "max":256 + }, + "Recipes":{ + "type":"list", + "member":{"shape":"RecipeSummary"}, + "max":100 + }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified resource already exists.

", + "exception":true + }, + "ResourceConfig":{ + "type":"map", + "key":{"shape":"ParameterName"}, + "value":{"shape":"ParameterValue"}, + "max":100 + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified resource is in use.

", + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Could not find the specified resource.

", + "exception":true + }, + "RoleArn":{ + "type":"string", + "max":256, + "pattern":"arn:([a-z\\d-]+):iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+" + }, + "S3Location":{ + "type":"string", + "max":256 + }, + "Schemas":{ + "type":"list", + "member":{"shape":"DatasetSchemaSummary"}, + "max":100 + }, + "Solution":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the solution.

" + }, + "solutionArn":{ + "shape":"Arn", + "documentation":"

The ARN of the solution.

" + }, + "performHPO":{ + "shape":"PerformHPO", + "documentation":"

Whether to perform hyperparameter optimization (HPO) on the chosen recipe. The default is false.

" + }, + "performAutoML":{ + "shape":"PerformAutoML", + "documentation":"

When true, Amazon Personalize performs a search for the best USER_PERSONALIZATION recipe from the list specified in the solution configuration (recipeArn must not be specified). When false (the default), Amazon Personalize uses recipeArn for training.

" + }, + "recipeArn":{ + "shape":"Arn", + "documentation":"

The ARN of the recipe used to create the solution.

" + }, + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group that provides the training data.

" + }, + "eventType":{ + "shape":"EventType", + "documentation":"

The event type (for example, 'click' or 'like') that is used for training the model.

" + }, + "solutionConfig":{ + "shape":"SolutionConfig", + "documentation":"

Describes the configuration properties for the solution.

" + }, + "autoMLResult":{ + "shape":"AutoMLResult", + "documentation":"

When performAutoML is true, specifies the best recipe found.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the solution.

A solution can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The creation date and time (in Unix time) of the solution.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the solution was last updated.

" + }, + "latestSolutionVersion":{ + "shape":"SolutionVersionSummary", + "documentation":"

Describes the latest version of the solution, including the status and the ARN.

" + } + }, + "documentation":"

An object that provides information about a solution. A solution is a trained model that can be deployed as a campaign.

" + }, + "SolutionConfig":{ + "type":"structure", + "members":{ + "eventValueThreshold":{ + "shape":"EventValueThreshold", + "documentation":"

Only events with a value greater than or equal to this threshold are used for training a model.

" + }, + "hpoConfig":{ + "shape":"HPOConfig", + "documentation":"

Describes the properties for hyperparameter optimization (HPO). For use with the bring-your-own-recipe feature. Not used with Amazon Personalize predefined recipes.

" + }, + "algorithmHyperParameters":{ + "shape":"HyperParameters", + "documentation":"

Lists the hyperparameter names and ranges.

" + }, + "featureTransformationParameters":{ + "shape":"FeatureTransformationParameters", + "documentation":"

Lists the feature transformation parameters.

" + }, + "autoMLConfig":{ + "shape":"AutoMLConfig", + "documentation":"

The AutoMLConfig object containing a list of recipes to search when AutoML is performed.

" + } + }, + "documentation":"

Describes the configuration properties for the solution.

" + }, + "SolutionSummary":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the solution.

" + }, + "solutionArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the solution.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the solution.

A solution can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the solution was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the solution was last updated.

" + } + }, + "documentation":"

Provides a summary of the properties of a solution. For a complete listing, call the DescribeSolution API.

" + }, + "SolutionVersion":{ + "type":"structure", + "members":{ + "solutionVersionArn":{ + "shape":"Arn", + "documentation":"

The ARN of the solution version.

" + }, + "solutionArn":{ + "shape":"Arn", + "documentation":"

The ARN of the solution.

" + }, + "performHPO":{ + "shape":"PerformHPO", + "documentation":"

Whether to perform hyperparameter optimization (HPO) on the chosen recipe. The default is false.

" + }, + "performAutoML":{ + "shape":"PerformAutoML", + "documentation":"

When true, Amazon Personalize performs a search for the most optimal recipe according to the solution configuration. When false (the default), Amazon Personalize uses recipeArn.

" + }, + "recipeArn":{ + "shape":"Arn", + "documentation":"

The ARN of the recipe used in the solution.

" + }, + "eventType":{ + "shape":"EventType", + "documentation":"

The event type (for example, 'click' or 'like') that is used for training the model.

" + }, + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group providing the training data.

" + }, + "solutionConfig":{ + "shape":"SolutionConfig", + "documentation":"

Describes the configuration properties for the solution.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the solution version.

A solution version can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

" + }, + "failureReason":{ + "shape":"FailureReason", + "documentation":"

If training a solution version fails, the reason behind the failure.

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that this version of the solution was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the solution was last updated.

" + } + }, + "documentation":"

An object that provides information about a specific version of a Solution.

" + }, + "SolutionVersionSummary":{ + "type":"structure", + "members":{ + "solutionVersionArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the solution version.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the solution version.

A solution version can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that this version of a solution was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the solution version was last updated.

" + }, + "failureReason":{ + "shape":"FailureReason", + "documentation":"

If a solution version fails, the reason behind the failure.

" + } + }, + "documentation":"

Provides a summary of the properties of a solution version. For a complete listing, call the DescribeSolutionVersion API.

" + }, + "SolutionVersions":{ + "type":"list", + "member":{"shape":"SolutionVersionSummary"}, + "max":100 + }, + "Solutions":{ + "type":"list", + "member":{"shape":"SolutionSummary"}, + "max":100 + }, + "Status":{ + "type":"string", + "max":256 + }, + "TrackingId":{ + "type":"string", + "max":256 + }, + "TrainingInputMode":{ + "type":"string", + "max":256 + }, + "TransactionsPerSecond":{ + "type":"integer", + "min":1 + }, + "Tunable":{"type":"boolean"}, + "UpdateCampaignRequest":{ + "type":"structure", + "required":["campaignArn"], + "members":{ + "campaignArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the campaign.

" + }, + "solutionVersionArn":{ + "shape":"Arn", + "documentation":"

The ARN of a new solution version to deploy.

" + }, + "minProvisionedTPS":{ + "shape":"TransactionsPerSecond", + "documentation":"

Specifies the requested minimum provisioned transactions (recommendations) per second that Amazon Personalize will support.

" + } + } + }, + "UpdateCampaignResponse":{ + "type":"structure", + "members":{ + "campaignArn":{ + "shape":"Arn", + "documentation":"

The same campaign ARN as given in the request.

" + } + } + } + }, + "documentation":"

Amazon Personalize is a machine learning service that makes it easy to add individualized recommendations to customers.

" +} diff --git a/bin/botocore/data/pinpoint-email/2018-07-26/paginators-1.json b/bin/botocore/data/pinpoint-email/2018-07-26/paginators-1.json index ea142457..f2693b19 100644 --- a/bin/botocore/data/pinpoint-email/2018-07-26/paginators-1.json +++ b/bin/botocore/data/pinpoint-email/2018-07-26/paginators-1.json @@ -1,3 +1,34 @@ { - "pagination": {} + "pagination": { + "GetDedicatedIps": { + "input_token": "NextToken", + "limit_key": "PageSize", + "output_token": "NextToken", + "result_key": "DedicatedIps" + }, + "ListConfigurationSets": { + "input_token": "NextToken", + "limit_key": "PageSize", + "output_token": "NextToken", + "result_key": "ConfigurationSets" + }, + "ListDedicatedIpPools": { + "input_token": "NextToken", + "limit_key": "PageSize", + "output_token": "NextToken", + "result_key": "DedicatedIpPools" + }, + "ListDeliverabilityTestReports": { + "input_token": "NextToken", + "limit_key": "PageSize", + "output_token": "NextToken", + "result_key": "DeliverabilityTestReports" + }, + "ListEmailIdentities": { + "input_token": "NextToken", + "limit_key": "PageSize", + "output_token": "NextToken", + "result_key": "EmailIdentities" + } + } } diff --git a/bin/botocore/data/pinpoint-email/2018-07-26/service-2.json b/bin/botocore/data/pinpoint-email/2018-07-26/service-2.json index 663e06e8..a02d6eaa 100644 --- a/bin/botocore/data/pinpoint-email/2018-07-26/service-2.json +++ b/bin/botocore/data/pinpoint-email/2018-07-26/service-2.json @@ -10,7 +10,6 @@ "serviceId":"Pinpoint Email", "signatureVersion":"v4", "signingName":"ses", - "targetPrefix":"com.amazonaws.services.pinpoint.email", "uid":"pinpoint-email-2018-07-26" }, "operations":{ @@ -27,7 +26,8 @@ {"shape":"NotFoundException"}, {"shape":"TooManyRequestsException"}, {"shape":"LimitExceededException"}, - {"shape":"BadRequestException"} + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"} ], "documentation":"

Create a configuration set. Configuration sets are groups of rules that you can apply to the emails you send using Amazon Pinpoint. You apply a configuration set to an email by including a reference to the configuration set in the headers of the email. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email.

" }, @@ -60,10 +60,32 @@ {"shape":"AlreadyExistsException"}, {"shape":"LimitExceededException"}, {"shape":"TooManyRequestsException"}, - {"shape":"BadRequestException"} + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"} ], "documentation":"

Create a new pool of dedicated IP addresses. A pool can include one or more dedicated IP addresses that are associated with your Amazon Pinpoint account. You can associate a pool with a configuration set. When you send an email that uses that configuration set, Amazon Pinpoint sends it using only the IP addresses in the associated pool.

" }, + "CreateDeliverabilityTestReport":{ + "name":"CreateDeliverabilityTestReport", + "http":{ + "method":"POST", + "requestUri":"/v1/email/deliverability-dashboard/test" + }, + "input":{"shape":"CreateDeliverabilityTestReportRequest"}, + "output":{"shape":"CreateDeliverabilityTestReportResponse"}, + "errors":[ + {"shape":"AccountSuspendedException"}, + {"shape":"SendingPausedException"}, + {"shape":"MessageRejected"}, + {"shape":"MailFromDomainNotVerifiedException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Create a new predictive inbox placement test. Predictive inbox placement tests can help you predict how your messages will be handled by various email providers around the world. When you perform a predictive inbox placement test, you provide a sample message that contains the content that you plan to send to your customers. Amazon Pinpoint then sends that message to special email addresses spread across several major email providers. After about 24 hours, the test is complete, and you can use the GetDeliverabilityTestReport operation to view the results of the test.

" + }, "CreateEmailIdentity":{ "name":"CreateEmailIdentity", "http":{ @@ -75,7 +97,8 @@ "errors":[ {"shape":"LimitExceededException"}, {"shape":"TooManyRequestsException"}, - {"shape":"BadRequestException"} + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"} ], "documentation":"

Verifies an email identity for use with Amazon Pinpoint. In Amazon Pinpoint, an identity is an email address or domain that you use when you send email. Before you can use an identity to send email with Amazon Pinpoint, you first have to verify it. By verifying an address, you demonstrate that you're the owner of the address, and that you've given Amazon Pinpoint permission to send email from the address.

When you verify an email address, Amazon Pinpoint sends an email to the address. Your email address is verified as soon as you follow the link in the verification email.

When you verify a domain, this operation provides a set of DKIM tokens, which you can convert into CNAME tokens. You add these CNAME tokens to the DNS configuration for your domain. Your domain is verified when Amazon Pinpoint detects these records in the DNS configuration for your domain. It usually takes around 72 hours to complete the domain verification process.

" }, @@ -90,7 +113,8 @@ "errors":[ {"shape":"NotFoundException"}, {"shape":"TooManyRequestsException"}, - {"shape":"BadRequestException"} + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"} ], "documentation":"

Delete an existing configuration set.

In Amazon Pinpoint, configuration sets are groups of rules that you can apply to the emails you send. You apply a configuration set to an email by including a reference to the configuration set in the headers of the email. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email.

" }, @@ -120,7 +144,8 @@ "errors":[ {"shape":"NotFoundException"}, {"shape":"TooManyRequestsException"}, - {"shape":"BadRequestException"} + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"} ], "documentation":"

Delete a dedicated IP pool.

" }, @@ -135,7 +160,8 @@ "errors":[ {"shape":"NotFoundException"}, {"shape":"TooManyRequestsException"}, - {"shape":"BadRequestException"} + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"} ], "documentation":"

Deletes an email identity that you previously verified for use with Amazon Pinpoint. An identity can be either an email address or a domain name.

" }, @@ -153,6 +179,21 @@ ], "documentation":"

Obtain information about the email-sending status and capabilities of your Amazon Pinpoint account in the current AWS Region.

" }, + "GetBlacklistReports":{ + "name":"GetBlacklistReports", + "http":{ + "method":"GET", + "requestUri":"/v1/email/deliverability-dashboard/blacklist-report" + }, + "input":{"shape":"GetBlacklistReportsRequest"}, + "output":{"shape":"GetBlacklistReportsResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Retrieve a list of the blacklists that your dedicated IP addresses appear on.

" + }, "GetConfigurationSet":{ "name":"GetConfigurationSet", "http":{ @@ -213,6 +254,66 @@ ], "documentation":"

List the dedicated IP addresses that are associated with your Amazon Pinpoint account.

" }, + "GetDeliverabilityDashboardOptions":{ + "name":"GetDeliverabilityDashboardOptions", + "http":{ + "method":"GET", + "requestUri":"/v1/email/deliverability-dashboard" + }, + "input":{"shape":"GetDeliverabilityDashboardOptionsRequest"}, + "output":{"shape":"GetDeliverabilityDashboardOptionsResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Retrieve information about the status of the Deliverability dashboard for your Amazon Pinpoint account. When the Deliverability dashboard is enabled, you gain access to reputation, deliverability, and other metrics for the domains that you use to send email using Amazon Pinpoint. You also gain the ability to perform predictive inbox placement tests.

When you use the Deliverability dashboard, you pay a monthly subscription charge, in addition to any other fees that you accrue by using Amazon Pinpoint. For more information about the features and cost of a Deliverability dashboard subscription, see Amazon Pinpoint Pricing.

" + }, + "GetDeliverabilityTestReport":{ + "name":"GetDeliverabilityTestReport", + "http":{ + "method":"GET", + "requestUri":"/v1/email/deliverability-dashboard/test-reports/{ReportId}" + }, + "input":{"shape":"GetDeliverabilityTestReportRequest"}, + "output":{"shape":"GetDeliverabilityTestReportResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Retrieve the results of a predictive inbox placement test.

" + }, + "GetDomainDeliverabilityCampaign":{ + "name":"GetDomainDeliverabilityCampaign", + "http":{ + "method":"GET", + "requestUri":"/v1/email/deliverability-dashboard/campaigns/{CampaignId}" + }, + "input":{"shape":"GetDomainDeliverabilityCampaignRequest"}, + "output":{"shape":"GetDomainDeliverabilityCampaignResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Retrieve all the deliverability data for a specific campaign. This data is available for a campaign only if the campaign sent email by using a domain that the Deliverability dashboard is enabled for (PutDeliverabilityDashboardOption operation).

" + }, + "GetDomainStatisticsReport":{ + "name":"GetDomainStatisticsReport", + "http":{ + "method":"GET", + "requestUri":"/v1/email/deliverability-dashboard/statistics-report/{Domain}" + }, + "input":{"shape":"GetDomainStatisticsReportRequest"}, + "output":{"shape":"GetDomainStatisticsReportResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Retrieve inbox placement and engagement rates for the domains that you use to send email.

" + }, "GetEmailIdentity":{ "name":"GetEmailIdentity", "http":{ @@ -256,6 +357,36 @@ ], "documentation":"

List all of the dedicated IP pools that exist in your Amazon Pinpoint account in the current AWS Region.

" }, + "ListDeliverabilityTestReports":{ + "name":"ListDeliverabilityTestReports", + "http":{ + "method":"GET", + "requestUri":"/v1/email/deliverability-dashboard/test-reports" + }, + "input":{"shape":"ListDeliverabilityTestReportsRequest"}, + "output":{"shape":"ListDeliverabilityTestReportsResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Show a list of the predictive inbox placement tests that you've performed, regardless of their statuses. For predictive inbox placement tests that are complete, you can use the GetDeliverabilityTestReport operation to view the results.

" + }, + "ListDomainDeliverabilityCampaigns":{ + "name":"ListDomainDeliverabilityCampaigns", + "http":{ + "method":"GET", + "requestUri":"/v1/email/deliverability-dashboard/domains/{SubscribedDomain}/campaigns" + }, + "input":{"shape":"ListDomainDeliverabilityCampaignsRequest"}, + "output":{"shape":"ListDomainDeliverabilityCampaignsResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Retrieve deliverability data for all the campaigns that used a specific domain to send email during a specified time range. This data is available for a domain only if you enabled the Deliverability dashboard (PutDeliverabilityDashboardOption operation) for the domain.

" + }, "ListEmailIdentities":{ "name":"ListEmailIdentities", "http":{ @@ -270,6 +401,21 @@ ], "documentation":"

Returns a list of all of the email identities that are associated with your Amazon Pinpoint account. An identity can be either an email address or a domain. This operation returns identities that are verified as well as those that aren't.

" }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/v1/email/tags" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Retrieve a list of the tags (keys and values) that are associated with a specified resource. A tag is a label that you optionally define and associate with a resource in Amazon Pinpoint. Each tag consists of a required tag key and an optional associated tag value. A tag key is a general label that acts as a category for more specific tag values. A tag value acts as a descriptor within a tag key.

" + }, "PutAccountDedicatedIpWarmupAttributes":{ "name":"PutAccountDedicatedIpWarmupAttributes", "http":{ @@ -388,6 +534,23 @@ ], "documentation":"

" }, + "PutDeliverabilityDashboardOption":{ + "name":"PutDeliverabilityDashboardOption", + "http":{ + "method":"PUT", + "requestUri":"/v1/email/deliverability-dashboard" + }, + "input":{"shape":"PutDeliverabilityDashboardOptionRequest"}, + "output":{"shape":"PutDeliverabilityDashboardOptionResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Enable or disable the Deliverability dashboard for your Amazon Pinpoint account. When you enable the Deliverability dashboard, you gain access to reputation, deliverability, and other metrics for the domains that you use to send email using Amazon Pinpoint. You also gain the ability to perform predictive inbox placement tests.

When you use the Deliverability dashboard, you pay a monthly subscription charge, in addition to any other fees that you accrue by using Amazon Pinpoint. For more information about the features and cost of a Deliverability dashboard subscription, see Amazon Pinpoint Pricing.

" + }, "PutEmailIdentityDkimAttributes":{ "name":"PutEmailIdentityDkimAttributes", "http":{ @@ -453,6 +616,38 @@ ], "documentation":"

Sends an email message. You can use the Amazon Pinpoint Email API to send two types of messages:

  • Simple – A standard email message. When you create this type of message, you specify the sender, the recipient, and the message body, and Amazon Pinpoint assembles the message for you.

  • Raw – A raw, MIME-formatted email message. When you send this type of email, you have to specify all of the message headers, as well as the message body. You can use this message type to send messages that contain attachments. The message that you specify has to be a valid MIME message.

" }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/v1/email/tags" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Add one or more tags (keys and values) to a specified resource. A tag is a label that you optionally define and associate with a resource in Amazon Pinpoint. Tags can help you categorize and manage resources in different ways, such as by purpose, owner, environment, or other criteria. A resource can have as many as 50 tags.

Each tag consists of a required tag key and an associated tag value, both of which you define. A tag key is a general label that acts as a category for more specific tag values. A tag value acts as a descriptor within a tag key.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/v1/email/tags" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Remove one or more tags (keys and values) from a specified resource.

" + }, "UpdateConfigurationSetEventDestination":{ "name":"UpdateConfigurationSetEventDestination", "http":{ @@ -503,6 +698,45 @@ "REJECT_MESSAGE" ] }, + "BlacklistEntries":{ + "type":"list", + "member":{"shape":"BlacklistEntry"} + }, + "BlacklistEntry":{ + "type":"structure", + "members":{ + "RblName":{ + "shape":"RblName", + "documentation":"

The name of the blacklist that the IP address appears on.

" + }, + "ListingTime":{ + "shape":"Timestamp", + "documentation":"

The time when the blacklisting event occurred, shown in Unix time format.

" + }, + "Description":{ + "shape":"BlacklistingDescription", + "documentation":"

Additional information about the blacklisting event, as provided by the blacklist maintainer.

" + } + }, + "documentation":"

An object that contains information about a blacklisting event that impacts one of the dedicated IP addresses that is associated with your account.

" + }, + "BlacklistItemName":{ + "type":"string", + "documentation":"

An IP address that you want to obtain blacklist information for.

" + }, + "BlacklistItemNames":{ + "type":"list", + "member":{"shape":"BlacklistItemName"} + }, + "BlacklistReport":{ + "type":"map", + "key":{"shape":"BlacklistItemName"}, + "value":{"shape":"BlacklistEntries"} + }, + "BlacklistingDescription":{ + "type":"string", + "documentation":"

A description of the blacklisting event.

" + }, "Body":{ "type":"structure", "members":{ @@ -517,6 +751,7 @@ }, "documentation":"

Represents the body of the email message.

" }, + "CampaignId":{"type":"string"}, "Charset":{"type":"string"}, "CloudWatchDestination":{ "type":"structure", @@ -556,6 +791,14 @@ "type":"list", "member":{"shape":"CloudWatchDimensionConfiguration"} }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The resource is being modified by another operation or thread.

", + "error":{"httpStatusCode":500}, + "exception":true + }, "ConfigurationSetName":{ "type":"string", "documentation":"

The name of a configuration set.

In Amazon Pinpoint, configuration sets are groups of rules that you can apply to the emails you send. You apply a configuration set to an email by including a reference to the configuration set in the headers of the email. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email.

" @@ -612,6 +855,7 @@ }, "CreateConfigurationSetRequest":{ "type":"structure", + "required":["ConfigurationSetName"], "members":{ "ConfigurationSetName":{ "shape":"ConfigurationSetName", @@ -632,6 +876,10 @@ "SendingOptions":{ "shape":"SendingOptions", "documentation":"

An object that defines whether or not Amazon Pinpoint can send email that you send using the configuration set.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

An array of objects that define the tags (keys and values) that you want to associate with the configuration set.

" } }, "documentation":"

A request to create a configuration set.

" @@ -649,6 +897,10 @@ "PoolName":{ "shape":"PoolName", "documentation":"

The name of the dedicated IP pool.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

An object that defines the tags (keys and values) that you want to associate with the pool.

" } }, "documentation":"

A request to create a new dedicated IP pool.

" @@ -659,6 +911,50 @@ }, "documentation":"

An HTTP 200 response if the request succeeds, or an error message if the request fails.

" }, + "CreateDeliverabilityTestReportRequest":{ + "type":"structure", + "required":[ + "FromEmailAddress", + "Content" + ], + "members":{ + "ReportName":{ + "shape":"ReportName", + "documentation":"

A unique name that helps you to identify the predictive inbox placement test when you retrieve the results.

" + }, + "FromEmailAddress":{ + "shape":"EmailAddress", + "documentation":"

The email address that the predictive inbox placement test email was sent from.

" + }, + "Content":{ + "shape":"EmailContent", + "documentation":"

The HTML body of the message that you sent when you performed the predictive inbox placement test.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

An array of objects that define the tags (keys and values) that you want to associate with the predictive inbox placement test.

" + } + }, + "documentation":"

A request to perform a predictive inbox placement test. Predictive inbox placement tests can help you predict how your messages will be handled by various email providers around the world. When you perform a predictive inbox placement test, you provide a sample message that contains the content that you plan to send to your customers. Amazon Pinpoint then sends that message to special email addresses spread across several major email providers. After about 24 hours, the test is complete, and you can use the GetDeliverabilityTestReport operation to view the results of the test.

" + }, + "CreateDeliverabilityTestReportResponse":{ + "type":"structure", + "required":[ + "ReportId", + "DeliverabilityTestStatus" + ], + "members":{ + "ReportId":{ + "shape":"ReportId", + "documentation":"

A unique string that identifies the predictive inbox placement test.

" + }, + "DeliverabilityTestStatus":{ + "shape":"DeliverabilityTestStatus", + "documentation":"

The status of the predictive inbox placement test. If the status is IN_PROGRESS, then the predictive inbox placement test is currently running. Predictive inbox placement tests are usually complete within 24 hours of creating the test. If the status is COMPLETE, then the test is finished, and you can use the GetDeliverabilityTestReport to view the results of the test.

" + } + }, + "documentation":"

Information about the predictive inbox placement test that you created.

" + }, "CreateEmailIdentityRequest":{ "type":"structure", "required":["EmailIdentity"], @@ -666,6 +962,10 @@ "EmailIdentity":{ "shape":"Identity", "documentation":"

The email address or domain that you want to verify.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

An array of objects that define the tags (keys and values) that you want to associate with the email identity.

" } }, "documentation":"

A request to begin the verification process for an email identity (an email address or domain).

" @@ -679,7 +979,7 @@ }, "VerifiedForSendingStatus":{ "shape":"Enabled", - "documentation":"

Specifies whether or not the identity is verified. In Amazon Pinpoint, you can only send email from verified email addresses or domains. For more information about verifying identities, see the Amazon Pinpoint User Guide.

" + "documentation":"

Specifies whether or not the identity is verified. In Amazon Pinpoint, you can only send email from verified email addresses or domains. For more information about verifying identities, see the Amazon Pinpoint User Guide.

" }, "DkimAttributes":{ "shape":"DkimAttributes", @@ -692,6 +992,28 @@ "type":"string", "documentation":"

The domain that you want to use for tracking open and click events.

" }, + "DailyVolume":{ + "type":"structure", + "members":{ + "StartDate":{ + "shape":"Timestamp", + "documentation":"

The date that the DailyVolume metrics apply to, in Unix time.

" + }, + "VolumeStatistics":{ + "shape":"VolumeStatistics", + "documentation":"

An object that contains inbox placement metrics for a specific day in the analysis period.

" + }, + "DomainIspPlacements":{ + "shape":"DomainIspPlacements", + "documentation":"

An object that contains inbox placement metrics for a specified day in the analysis period, broken out by the recipient's email provider.

" + } + }, + "documentation":"

An object that contains information about the volume of email sent on each day of the analysis period.

" + }, + "DailyVolumes":{ + "type":"list", + "member":{"shape":"DailyVolume"} + }, "DedicatedIp":{ "type":"structure", "required":[ @@ -813,9 +1135,68 @@ }, "documentation":"

An HTTP 200 response if the request succeeds, or an error message if the request fails.

" }, + "DeliverabilityDashboardAccountStatus":{ + "type":"string", + "documentation":"

The current status of your Deliverability dashboard subscription. If this value is PENDING_EXPIRATION, your subscription is scheduled to expire at the end of the current calendar month.

", + "enum":[ + "ACTIVE", + "PENDING_EXPIRATION", + "DISABLED" + ] + }, + "DeliverabilityTestReport":{ + "type":"structure", + "members":{ + "ReportId":{ + "shape":"ReportId", + "documentation":"

A unique string that identifies the predictive inbox placement test.

" + }, + "ReportName":{ + "shape":"ReportName", + "documentation":"

A name that helps you identify a predictive inbox placement test report.

" + }, + "Subject":{ + "shape":"DeliverabilityTestSubject", + "documentation":"

The subject line for an email that you submitted in a predictive inbox placement test.

" + }, + "FromEmailAddress":{ + "shape":"EmailAddress", + "documentation":"

The sender address that you specified for the predictive inbox placement test.

" + }, + "CreateDate":{ + "shape":"Timestamp", + "documentation":"

The date and time when the predictive inbox placement test was created, in Unix time format.

" + }, + "DeliverabilityTestStatus":{ + "shape":"DeliverabilityTestStatus", + "documentation":"

The status of the predictive inbox placement test. If the status is IN_PROGRESS, then the predictive inbox placement test is currently running. Predictive inbox placement tests are usually complete within 24 hours of creating the test. If the status is COMPLETE, then the test is finished, and you can use the GetDeliverabilityTestReport to view the results of the test.

" + } + }, + "documentation":"

An object that contains metadata related to a predictive inbox placement test.

" + }, + "DeliverabilityTestReports":{ + "type":"list", + "member":{"shape":"DeliverabilityTestReport"} + }, + "DeliverabilityTestStatus":{ + "type":"string", + "documentation":"

The status of a predictive inbox placement test. If the status is IN_PROGRESS, then the predictive inbox placement test is currently running. Predictive inbox placement tests are usually complete within 24 hours of creating the test. If the status is COMPLETE, then the test is finished, and you can use the GetDeliverabilityTestReport operation to view the results of the test.

", + "enum":[ + "IN_PROGRESS", + "COMPLETED" + ] + }, + "DeliverabilityTestSubject":{ + "type":"string", + "documentation":"

The subject line for an email that you submitted in a predictive inbox placement test.

" + }, "DeliveryOptions":{ "type":"structure", "members":{ + "TlsPolicy":{ + "shape":"TlsPolicy", + "documentation":"

Specifies whether Amazon Pinpoint should require that incoming email is delivered over a connection that’s encrypted by using Transport Layer Security (TLS). If this value is set to Require, Amazon Pinpoint will bounce email messages that cannot be delivered over TLS. The default value is Optional.

" + }, "SendingPoolName":{ "shape":"PoolName", "documentation":"

The name of the dedicated IP pool that you want to associate with the configuration set.

" @@ -888,6 +1269,127 @@ "type":"list", "member":{"shape":"DnsToken"} }, + "Domain":{"type":"string"}, + "DomainDeliverabilityCampaign":{ + "type":"structure", + "members":{ + "CampaignId":{ + "shape":"CampaignId", + "documentation":"

The unique identifier for the campaign. Amazon Pinpoint automatically generates and assigns this identifier to a campaign. This value is not the same as the campaign identifier that Amazon Pinpoint assigns to campaigns that you create and manage by using the Amazon Pinpoint API or the Amazon Pinpoint console.

" + }, + "ImageUrl":{ + "shape":"ImageUrl", + "documentation":"

The URL of an image that contains a snapshot of the email message that was sent.

" + }, + "Subject":{ + "shape":"Subject", + "documentation":"

The subject line, or title, of the email message.

" + }, + "FromAddress":{ + "shape":"Identity", + "documentation":"

The verified email address that the email message was sent from.

" + }, + "SendingIps":{ + "shape":"IpList", + "documentation":"

The IP addresses that were used to send the email message.

" + }, + "FirstSeenDateTime":{ + "shape":"Timestamp", + "documentation":"

The first time, in Unix time format, when the email message was delivered to any recipient's inbox. This value can help you determine how long it took for a campaign to deliver an email message.

" + }, + "LastSeenDateTime":{ + "shape":"Timestamp", + "documentation":"

The last time, in Unix time format, when the email message was delivered to any recipient's inbox. This value can help you determine how long it took for a campaign to deliver an email message.

" + }, + "InboxCount":{ + "shape":"Volume", + "documentation":"

The number of email messages that were delivered to recipients’ inboxes.

" + }, + "SpamCount":{ + "shape":"Volume", + "documentation":"

The number of email messages that were delivered to recipients' spam or junk mail folders.

" + }, + "ReadRate":{ + "shape":"Percentage", + "documentation":"

The percentage of email messages that were opened by recipients. Due to technical limitations, this value only includes recipients who opened the message by using an email client that supports images.

" + }, + "DeleteRate":{ + "shape":"Percentage", + "documentation":"

The percentage of email messages that were deleted by recipients, without being opened first. Due to technical limitations, this value only includes recipients who opened the message by using an email client that supports images.

" + }, + "ReadDeleteRate":{ + "shape":"Percentage", + "documentation":"

The percentage of email messages that were opened and then deleted by recipients. Due to technical limitations, this value only includes recipients who opened the message by using an email client that supports images.

" + }, + "ProjectedVolume":{ + "shape":"Volume", + "documentation":"

The projected number of recipients that the email message was sent to.

" + }, + "Esps":{ + "shape":"Esps", + "documentation":"

The major email providers who handled the email message.

" + } + }, + "documentation":"

An object that contains the deliverability data for a specific campaign. This data is available for a campaign only if the campaign sent email by using a domain that the Deliverability dashboard is enabled for (PutDeliverabilityDashboardOption operation).

" + }, + "DomainDeliverabilityCampaignList":{ + "type":"list", + "member":{"shape":"DomainDeliverabilityCampaign"}, + "documentation":"

" + }, + "DomainDeliverabilityTrackingOption":{ + "type":"structure", + "members":{ + "Domain":{ + "shape":"Domain", + "documentation":"

A verified domain that’s associated with your AWS account and currently has an active Deliverability dashboard subscription.

" + }, + "SubscriptionStartDate":{ + "shape":"Timestamp", + "documentation":"

The date, in Unix time format, when you enabled the Deliverability dashboard for the domain.

" + }, + "InboxPlacementTrackingOption":{ + "shape":"InboxPlacementTrackingOption", + "documentation":"

An object that contains information about the inbox placement data settings for the domain.

" + } + }, + "documentation":"

An object that contains information about the Deliverability dashboard subscription for a verified domain that you use to send email and currently has an active Deliverability dashboard subscription. If a Deliverability dashboard subscription is active for a domain, you gain access to reputation, inbox placement, and other metrics for the domain.

" + }, + "DomainDeliverabilityTrackingOptions":{ + "type":"list", + "member":{"shape":"DomainDeliverabilityTrackingOption"}, + "documentation":"

An object that contains information about the Deliverability dashboard subscription for a verified domain that you use to send email and currently has an active Deliverability dashboard subscription. If a Deliverability dashboard subscription is active for a domain, you gain access to reputation, inbox placement, and other metrics for the domain.

" + }, + "DomainIspPlacement":{ + "type":"structure", + "members":{ + "IspName":{ + "shape":"IspName", + "documentation":"

The name of the email provider that the inbox placement data applies to.

" + }, + "InboxRawCount":{ + "shape":"Volume", + "documentation":"

The total number of messages that were sent from the selected domain to the specified email provider that arrived in recipients' inboxes.

" + }, + "SpamRawCount":{ + "shape":"Volume", + "documentation":"

The total number of messages that were sent from the selected domain to the specified email provider that arrived in recipients' spam or junk mail folders.

" + }, + "InboxPercentage":{ + "shape":"Percentage", + "documentation":"

The percentage of messages that were sent from the selected domain to the specified email provider that arrived in recipients' inboxes.

" + }, + "SpamPercentage":{ + "shape":"Percentage", + "documentation":"

The percentage of messages that were sent from the selected domain to the specified email provider that arrived in recipients' spam or junk mail folders.

" + } + }, + "documentation":"

An object that contains inbox placement data for email sent from one of your email domains to a specific email provider.

" + }, + "DomainIspPlacements":{ + "type":"list", + "member":{"shape":"DomainIspPlacement"} + }, "EmailAddress":{"type":"string"}, "EmailAddressList":{ "type":"list", @@ -908,6 +1410,11 @@ "documentation":"

An object that defines the entire content of the email, including the message headers and the body content. You can create a simple email message, in which you specify the subject and the text and HTML versions of the message body. You can also create raw messages, in which you specify a complete MIME-formatted message. Raw messages can include attachments and custom headers.

" }, "Enabled":{"type":"boolean"}, + "Esp":{"type":"string"}, + "Esps":{ + "type":"list", + "member":{"shape":"Esp"} + }, "EventDestination":{ "type":"structure", "required":[ @@ -1035,6 +1542,30 @@ }, "documentation":"

A list of details about the email-sending capabilities of your Amazon Pinpoint account in the current AWS Region.

" }, + "GetBlacklistReportsRequest":{ + "type":"structure", + "required":["BlacklistItemNames"], + "members":{ + "BlacklistItemNames":{ + "shape":"BlacklistItemNames", + "documentation":"

A list of IP addresses that you want to retrieve blacklist information about. You can only specify the dedicated IP addresses that you use to send email using Amazon Pinpoint or Amazon SES.

", + "location":"querystring", + "locationName":"BlacklistItemNames" + } + }, + "documentation":"

A request to retrieve a list of the blacklists that your dedicated IP addresses appear on.

" + }, + "GetBlacklistReportsResponse":{ + "type":"structure", + "required":["BlacklistReport"], + "members":{ + "BlacklistReport":{ + "shape":"BlacklistReport", + "documentation":"

An object that contains information about a blacklist that one of your dedicated IP addresses appears on.

" + } + }, + "documentation":"

An object that contains information about blacklist events.

" + }, "GetConfigurationSetEventDestinationsRequest":{ "type":"structure", "required":["ConfigurationSetName"], @@ -1093,6 +1624,10 @@ "SendingOptions":{ "shape":"SendingOptions", "documentation":"

An object that defines whether or not Amazon Pinpoint can send email that you send using the configuration set.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

An array of objects that define the tags (keys and values) that are associated with the configuration set.

" } }, "documentation":"

Information about a configuration set.

" @@ -1125,15 +1660,21 @@ "members":{ "PoolName":{ "shape":"PoolName", - "documentation":"

The name of the IP pool that the dedicated IP address is associated with.

" + "documentation":"

The name of the IP pool that the dedicated IP address is associated with.

", + "location":"querystring", + "locationName":"PoolName" }, "NextToken":{ "shape":"NextToken", - "documentation":"

A token returned from a previous call to GetDedicatedIps to indicate the position of the dedicated IP pool in the list of IP pools.

" + "documentation":"

A token returned from a previous call to GetDedicatedIps to indicate the position of the dedicated IP pool in the list of IP pools.

", + "location":"querystring", + "locationName":"NextToken" }, "PageSize":{ "shape":"MaxItems", - "documentation":"

The number of results to show in a single call to GetDedicatedIpsRequest. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

" + "documentation":"

The number of results to show in a single call to GetDedicatedIpsRequest. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

", + "location":"querystring", + "locationName":"PageSize" } }, "documentation":"

A request to obtain more information about dedicated IP pools.

" @@ -1152,6 +1693,154 @@ }, "documentation":"

Information about the dedicated IP addresses that are associated with your Amazon Pinpoint account.

" }, + "GetDeliverabilityDashboardOptionsRequest":{ + "type":"structure", + "members":{ + }, + "documentation":"

Retrieve information about the status of the Deliverability dashboard for your Amazon Pinpoint account. When the Deliverability dashboard is enabled, you gain access to reputation, deliverability, and other metrics for the domains that you use to send email using Amazon Pinpoint. You also gain the ability to perform predictive inbox placement tests.

When you use the Deliverability dashboard, you pay a monthly subscription charge, in addition to any other fees that you accrue by using Amazon Pinpoint. For more information about the features and cost of a Deliverability dashboard subscription, see Amazon Pinpoint Pricing.

" + }, + "GetDeliverabilityDashboardOptionsResponse":{ + "type":"structure", + "required":["DashboardEnabled"], + "members":{ + "DashboardEnabled":{ + "shape":"Enabled", + "documentation":"

Specifies whether the Deliverability dashboard is enabled for your Amazon Pinpoint account. If this value is true, the dashboard is enabled.

" + }, + "SubscriptionExpiryDate":{ + "shape":"Timestamp", + "documentation":"

The date, in Unix time format, when your current subscription to the Deliverability dashboard is scheduled to expire, if your subscription is scheduled to expire at the end of the current calendar month. This value is null if you have an active subscription that isn’t due to expire at the end of the month.

" + }, + "AccountStatus":{ + "shape":"DeliverabilityDashboardAccountStatus", + "documentation":"

The current status of your Deliverability dashboard subscription. If this value is PENDING_EXPIRATION, your subscription is scheduled to expire at the end of the current calendar month.

" + }, + "ActiveSubscribedDomains":{ + "shape":"DomainDeliverabilityTrackingOptions", + "documentation":"

An array of objects, one for each verified domain that you use to send email and currently has an active Deliverability dashboard subscription that isn’t scheduled to expire at the end of the current calendar month.

" + }, + "PendingExpirationSubscribedDomains":{ + "shape":"DomainDeliverabilityTrackingOptions", + "documentation":"

An array of objects, one for each verified domain that you use to send email and currently has an active Deliverability dashboard subscription that's scheduled to expire at the end of the current calendar month.

" + } + }, + "documentation":"

An object that shows the status of the Deliverability dashboard for your Amazon Pinpoint account.

" + }, + "GetDeliverabilityTestReportRequest":{ + "type":"structure", + "required":["ReportId"], + "members":{ + "ReportId":{ + "shape":"ReportId", + "documentation":"

A unique string that identifies the predictive inbox placement test.

", + "location":"uri", + "locationName":"ReportId" + } + }, + "documentation":"

A request to retrieve the results of a predictive inbox placement test.

" + }, + "GetDeliverabilityTestReportResponse":{ + "type":"structure", + "required":[ + "DeliverabilityTestReport", + "OverallPlacement", + "IspPlacements" + ], + "members":{ + "DeliverabilityTestReport":{ + "shape":"DeliverabilityTestReport", + "documentation":"

An object that contains the results of the predictive inbox placement test.

" + }, + "OverallPlacement":{ + "shape":"PlacementStatistics", + "documentation":"

An object that specifies how many test messages that were sent during the predictive inbox placement test were delivered to recipients' inboxes, how many were sent to recipients' spam folders, and how many weren't delivered.

" + }, + "IspPlacements":{ + "shape":"IspPlacements", + "documentation":"

An object that describes how the test email was handled by several email providers, including Gmail, Hotmail, Yahoo, AOL, and others.

" + }, + "Message":{ + "shape":"MessageContent", + "documentation":"

An object that contains the message that you sent when you performed this predictive inbox placement test.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

An array of objects that define the tags (keys and values) that are associated with the predictive inbox placement test.

" + } + }, + "documentation":"

The results of the predictive inbox placement test.

" + }, + "GetDomainDeliverabilityCampaignRequest":{ + "type":"structure", + "required":["CampaignId"], + "members":{ + "CampaignId":{ + "shape":"CampaignId", + "documentation":"

The unique identifier for the campaign. Amazon Pinpoint automatically generates and assigns this identifier to a campaign. This value is not the same as the campaign identifier that Amazon Pinpoint assigns to campaigns that you create and manage by using the Amazon Pinpoint API or the Amazon Pinpoint console.

", + "location":"uri", + "locationName":"CampaignId" + } + }, + "documentation":"

Retrieve all the deliverability data for a specific campaign. This data is available for a campaign only if the campaign sent email by using a domain that the Deliverability dashboard is enabled for (PutDeliverabilityDashboardOption operation).

" + }, + "GetDomainDeliverabilityCampaignResponse":{ + "type":"structure", + "required":["DomainDeliverabilityCampaign"], + "members":{ + "DomainDeliverabilityCampaign":{ + "shape":"DomainDeliverabilityCampaign", + "documentation":"

An object that contains the deliverability data for the campaign.

" + } + }, + "documentation":"

An object that contains all the deliverability data for a specific campaign. This data is available for a campaign only if the campaign sent email by using a domain that the Deliverability dashboard is enabled for (PutDeliverabilityDashboardOption operation).

" + }, + "GetDomainStatisticsReportRequest":{ + "type":"structure", + "required":[ + "Domain", + "StartDate", + "EndDate" + ], + "members":{ + "Domain":{ + "shape":"Identity", + "documentation":"

The domain that you want to obtain deliverability metrics for.

", + "location":"uri", + "locationName":"Domain" + }, + "StartDate":{ + "shape":"Timestamp", + "documentation":"

The first day (in Unix time) that you want to obtain domain deliverability metrics for.

", + "location":"querystring", + "locationName":"StartDate" + }, + "EndDate":{ + "shape":"Timestamp", + "documentation":"

The last day (in Unix time) that you want to obtain domain deliverability metrics for. The EndDate that you specify has to be less than or equal to 30 days after the StartDate.

", + "location":"querystring", + "locationName":"EndDate" + } + }, + "documentation":"

A request to obtain deliverability metrics for a domain.

" + }, + "GetDomainStatisticsReportResponse":{ + "type":"structure", + "required":[ + "OverallVolume", + "DailyVolumes" + ], + "members":{ + "OverallVolume":{ + "shape":"OverallVolume", + "documentation":"

An object that contains deliverability metrics for the domain that you specified. The data in this object is a summary of all of the data that was collected from the StartDate to the EndDate.

" + }, + "DailyVolumes":{ + "shape":"DailyVolumes", + "documentation":"

An object that contains deliverability metrics for the domain that you specified. This object contains data for each day, starting on the StartDate and ending on the EndDate.

" + } + }, + "documentation":"

An object that includes statistics that are related to the domain that you specified.

" + }, "GetEmailIdentityRequest":{ "type":"structure", "required":["EmailIdentity"], @@ -1178,7 +1867,7 @@ }, "VerifiedForSendingStatus":{ "shape":"Enabled", - "documentation":"

Specifies whether or not the identity is verified. In Amazon Pinpoint, you can only send email from verified email addresses or domains. For more information about verifying identities, see the Amazon Pinpoint User Guide.

" + "documentation":"

Specifies whether or not the identity is verified. In Amazon Pinpoint, you can only send email from verified email addresses or domains. For more information about verifying identities, see the Amazon Pinpoint User Guide.

" }, "DkimAttributes":{ "shape":"DkimAttributes", @@ -1187,6 +1876,10 @@ "MailFromAttributes":{ "shape":"MailFromAttributes", "documentation":"

An object that contains information about the Mail-From attributes for the email identity.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

An array of objects that define the tags (keys and values) that are associated with the email identity.

" } }, "documentation":"

Details about an email identity.

" @@ -1223,10 +1916,55 @@ "MANAGED_DOMAIN" ] }, + "ImageUrl":{"type":"string"}, + "InboxPlacementTrackingOption":{ + "type":"structure", + "members":{ + "Global":{ + "shape":"Enabled", + "documentation":"

Specifies whether inbox placement data is being tracked for the domain.

" + }, + "TrackedIsps":{ + "shape":"IspNameList", + "documentation":"

An array of strings, one for each major email provider that the inbox placement data applies to.

" + } + }, + "documentation":"

An object that contains information about the inbox placement data settings for a verified domain that’s associated with your AWS account. This data is available only if you enabled the Deliverability dashboard for the domain (PutDeliverabilityDashboardOption operation).

" + }, "Ip":{ "type":"string", "documentation":"

A dedicated IP address that is associated with your Amazon Pinpoint account.

" }, + "IpList":{ + "type":"list", + "member":{"shape":"Ip"} + }, + "IspName":{ + "type":"string", + "documentation":"

The name of an email provider.

" + }, + "IspNameList":{ + "type":"list", + "member":{"shape":"IspName"} + }, + "IspPlacement":{ + "type":"structure", + "members":{ + "IspName":{ + "shape":"IspName", + "documentation":"

The name of the email provider that the inbox placement data applies to.

" + }, + "PlacementStatistics":{ + "shape":"PlacementStatistics", + "documentation":"

An object that contains inbox placement metrics for a specific email provider.

" + } + }, + "documentation":"

An object that describes how email sent during the predictive inbox placement test was handled by a certain email provider.

" + }, + "IspPlacements":{ + "type":"list", + "member":{"shape":"IspPlacement"} + }, "KinesisFirehoseDestination":{ "type":"structure", "required":[ @@ -1247,7 +1985,7 @@ }, "LastFreshStart":{ "type":"timestamp", - "documentation":"

The date and time when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start.

" + "documentation":"

The date and time (in Unix time) when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start.

" }, "LimitExceededException":{ "type":"structure", @@ -1262,11 +2000,15 @@ "members":{ "NextToken":{ "shape":"NextToken", - "documentation":"

A token returned from a previous call to ListConfigurationSets to indicate the position in the list of configuration sets.

" + "documentation":"

A token returned from a previous call to ListConfigurationSets to indicate the position in the list of configuration sets.

", + "location":"querystring", + "locationName":"NextToken" }, "PageSize":{ "shape":"MaxItems", - "documentation":"

The number of results to show in a single call to ListConfigurationSets. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

" + "documentation":"

The number of results to show in a single call to ListConfigurationSets. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

", + "location":"querystring", + "locationName":"PageSize" } }, "documentation":"

A request to obtain a list of configuration sets for your Amazon Pinpoint account in the current AWS Region.

" @@ -1290,11 +2032,15 @@ "members":{ "NextToken":{ "shape":"NextToken", - "documentation":"

A token returned from a previous call to ListDedicatedIpPools to indicate the position in the list of dedicated IP pools.

" + "documentation":"

A token returned from a previous call to ListDedicatedIpPools to indicate the position in the list of dedicated IP pools.

", + "location":"querystring", + "locationName":"NextToken" }, "PageSize":{ "shape":"MaxItems", - "documentation":"

The number of results to show in a single call to ListDedicatedIpPools. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

" + "documentation":"

The number of results to show in a single call to ListDedicatedIpPools. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

", + "location":"querystring", + "locationName":"PageSize" } }, "documentation":"

A request to obtain a list of dedicated IP pools.

" @@ -1313,16 +2059,109 @@ }, "documentation":"

A list of dedicated IP pools.

" }, + "ListDeliverabilityTestReportsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

A token returned from a previous call to ListDeliverabilityTestReports to indicate the position in the list of predictive inbox placement tests.

", + "location":"querystring", + "locationName":"NextToken" + }, + "PageSize":{ + "shape":"MaxItems", + "documentation":"

The number of results to show in a single call to ListDeliverabilityTestReports. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

The value you specify has to be at least 0, and can be no more than 1000.

", + "location":"querystring", + "locationName":"PageSize" + } + }, + "documentation":"

A request to list all of the predictive inbox placement tests that you've performed.

" + }, + "ListDeliverabilityTestReportsResponse":{ + "type":"structure", + "required":["DeliverabilityTestReports"], + "members":{ + "DeliverabilityTestReports":{ + "shape":"DeliverabilityTestReports", + "documentation":"

An object that contains a lists of predictive inbox placement tests that you've performed.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A token that indicates that there are additional predictive inbox placement tests to list. To view additional predictive inbox placement tests, issue another request to ListDeliverabilityTestReports, and pass this token in the NextToken parameter.

" + } + }, + "documentation":"

A list of the predictive inbox placement test reports that are available for your account, regardless of whether or not those tests are complete.

" + }, + "ListDomainDeliverabilityCampaignsRequest":{ + "type":"structure", + "required":[ + "StartDate", + "EndDate", + "SubscribedDomain" + ], + "members":{ + "StartDate":{ + "shape":"Timestamp", + "documentation":"

The first day, in Unix time format, that you want to obtain deliverability data for.

", + "location":"querystring", + "locationName":"StartDate" + }, + "EndDate":{ + "shape":"Timestamp", + "documentation":"

The last day, in Unix time format, that you want to obtain deliverability data for. This value has to be less than or equal to 30 days after the value of the StartDate parameter.

", + "location":"querystring", + "locationName":"EndDate" + }, + "SubscribedDomain":{ + "shape":"Domain", + "documentation":"

The domain to obtain deliverability data for.

", + "location":"uri", + "locationName":"SubscribedDomain" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A token that’s returned from a previous call to the ListDomainDeliverabilityCampaigns operation. This token indicates the position of a campaign in the list of campaigns.

", + "location":"querystring", + "locationName":"NextToken" + }, + "PageSize":{ + "shape":"MaxItems", + "documentation":"

The maximum number of results to include in response to a single call to the ListDomainDeliverabilityCampaigns operation. If the number of results is larger than the number that you specify in this parameter, the response includes a NextToken element, which you can use to obtain additional results.

", + "location":"querystring", + "locationName":"PageSize" + } + }, + "documentation":"

Retrieve deliverability data for all the campaigns that used a specific domain to send email during a specified time range. This data is available for a domain only if you enabled the Deliverability dashboard (PutDeliverabilityDashboardOption operation) for the domain.

" + }, + "ListDomainDeliverabilityCampaignsResponse":{ + "type":"structure", + "required":["DomainDeliverabilityCampaigns"], + "members":{ + "DomainDeliverabilityCampaigns":{ + "shape":"DomainDeliverabilityCampaignList", + "documentation":"

An array of responses, one for each campaign that used the domain to send email during the specified time range.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A token that’s returned from a previous call to the ListDomainDeliverabilityCampaigns operation. This token indicates the position of the campaign in the list of campaigns.

" + } + }, + "documentation":"

An array of objects that provide deliverability data for all the campaigns that used a specific domain to send email during a specified time range. This data is available for a domain only if you enabled the Deliverability dashboard (PutDeliverabilityDashboardOption operation) for the domain.

" + }, "ListEmailIdentitiesRequest":{ "type":"structure", "members":{ "NextToken":{ "shape":"NextToken", - "documentation":"

A token returned from a previous call to ListEmailIdentities to indicate the position in the list of identities.

" + "documentation":"

A token returned from a previous call to ListEmailIdentities to indicate the position in the list of identities.

", + "location":"querystring", + "locationName":"NextToken" }, "PageSize":{ "shape":"MaxItems", - "documentation":"

The number of results to show in a single call to ListEmailIdentities. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

The value you specify has to be at least 0, and can be no more than 1000.

" + "documentation":"

The number of results to show in a single call to ListEmailIdentities. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

The value you specify has to be at least 0, and can be no more than 1000.

", + "location":"querystring", + "locationName":"PageSize" } }, "documentation":"

A request to list all of the email identities associated with your Amazon Pinpoint account. This list includes identities that you've already verified, identities that are unverified, and identities that were verified in the past, but are no longer verified.

" @@ -1346,6 +2185,28 @@ "member":{"shape":"PoolName"}, "documentation":"

A list of dedicated IP pools that are associated with your Amazon Pinpoint account.

" }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the resource that you want to retrieve tag information for.

", + "location":"querystring", + "locationName":"ResourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "required":["Tags"], + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

An array that lists all the tags that are associated with the resource. Each tag consists of a required tag key (Key) and an associated tag value (Value)

" + } + } + }, "MailFromAttributes":{ "type":"structure", "required":[ @@ -1412,6 +2273,10 @@ }, "documentation":"

Represents the email message that you're sending. The Message object consists of a subject line and a message body.

" }, + "MessageContent":{ + "type":"string", + "documentation":"

The body of an email message.

" + }, "MessageData":{"type":"string"}, "MessageRejected":{ "type":"structure", @@ -1462,6 +2327,28 @@ "exception":true }, "OutboundMessageId":{"type":"string"}, + "OverallVolume":{ + "type":"structure", + "members":{ + "VolumeStatistics":{ + "shape":"VolumeStatistics", + "documentation":"

An object that contains information about the numbers of messages that arrived in recipients' inboxes and junk mail folders.

" + }, + "ReadRatePercent":{ + "shape":"Percentage", + "documentation":"

The percentage of emails that were sent from the domain that were read by their recipients.

" + }, + "DomainIspPlacements":{ + "shape":"DomainIspPlacements", + "documentation":"

An object that contains inbox and junk mail placement metrics for individual email providers.

" + } + }, + "documentation":"

An object that contains information about email that was sent from the selected domain.

" + }, + "Percentage":{ + "type":"double", + "documentation":"

An object that contains information about inbox placement percentages.

" + }, "Percentage100Wrapper":{"type":"integer"}, "PinpointDestination":{ "type":"structure", @@ -1473,6 +2360,32 @@ }, "documentation":"

An object that defines a Amazon Pinpoint destination for email events. You can use Amazon Pinpoint events to create attributes in Amazon Pinpoint projects. You can use these attributes to create segments for your campaigns.

" }, + "PlacementStatistics":{ + "type":"structure", + "members":{ + "InboxPercentage":{ + "shape":"Percentage", + "documentation":"

The percentage of emails that arrived in recipients' inboxes during the predictive inbox placement test.

" + }, + "SpamPercentage":{ + "shape":"Percentage", + "documentation":"

The percentage of emails that arrived in recipients' spam or junk mail folders during the predictive inbox placement test.

" + }, + "MissingPercentage":{ + "shape":"Percentage", + "documentation":"

The percentage of emails that didn't arrive in recipients' inboxes at all during the predictive inbox placement test.

" + }, + "SpfPercentage":{ + "shape":"Percentage", + "documentation":"

The percentage of emails that were authenticated by using Sender Policy Framework (SPF) during the predictive inbox placement test.

" + }, + "DkimPercentage":{ + "shape":"Percentage", + "documentation":"

The percentage of emails that were authenticated by using DomainKeys Identified Mail (DKIM) during the predictive inbox placement test.

" + } + }, + "documentation":"

An object that contains inbox placement data for an email provider.

" + }, "PoolName":{ "type":"string", "documentation":"

The name of a dedicated IP pool.

" @@ -1519,6 +2432,10 @@ "location":"uri", "locationName":"ConfigurationSetName" }, + "TlsPolicy":{ + "shape":"TlsPolicy", + "documentation":"

Whether Amazon Pinpoint should require that incoming email is delivered over a connection encrypted with Transport Layer Security (TLS).

" + }, "SendingPoolName":{ "shape":"SendingPoolName", "documentation":"

The name of the dedicated IP pool that you want to associate with the configuration set.

" @@ -1624,7 +2541,8 @@ "PutDedicatedIpInPoolResponse":{ "type":"structure", "members":{ - } + }, + "documentation":"

An HTTP 200 response if the request succeeds, or an error message if the request fails.

" }, "PutDedicatedIpWarmupAttributesRequest":{ "type":"structure", @@ -1652,6 +2570,27 @@ }, "documentation":"

An HTTP 200 response if the request succeeds, or an error message if the request fails.

" }, + "PutDeliverabilityDashboardOptionRequest":{ + "type":"structure", + "required":["DashboardEnabled"], + "members":{ + "DashboardEnabled":{ + "shape":"Enabled", + "documentation":"

Specifies whether to enable the Deliverability dashboard for your Amazon Pinpoint account. To enable the dashboard, set this value to true.

" + }, + "SubscribedDomains":{ + "shape":"DomainDeliverabilityTrackingOptions", + "documentation":"

An array of objects, one for each verified domain that you use to send email and enabled the Deliverability dashboard for.

" + } + }, + "documentation":"

Enable or disable the Deliverability dashboard for your Amazon Pinpoint account. When you enable the Deliverability dashboard, you gain access to reputation, deliverability, and other metrics for the domains that you use to send email using Amazon Pinpoint. You also gain the ability to perform predictive inbox placement tests.

When you use the Deliverability dashboard, you pay a monthly subscription charge, in addition to any other fees that you accrue by using Amazon Pinpoint. For more information about the features and cost of a Deliverability dashboard subscription, see Amazon Pinpoint Pricing.

" + }, + "PutDeliverabilityDashboardOptionResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

A response that indicates whether the Deliverability dashboard is enabled for your Amazon Pinpoint account.

" + }, "PutEmailIdentityDkimAttributesRequest":{ "type":"structure", "required":["EmailIdentity"], @@ -1740,6 +2679,18 @@ "type":"blob", "documentation":"

The raw email message. The message has to meet the following criteria:

  • The message has to contain a header and a body, separated by one blank line.

  • All of the required header fields must be present in the message.

  • Each part of a multipart MIME message must be formatted properly.

  • Attachments must be in a file format that Amazon Pinpoint supports.

  • The entire message must be Base64 encoded.

  • If any of the MIME parts in your message contain content that is outside of the 7-bit ASCII character range, you should encode that content to ensure that recipients' email clients render the message properly.

  • The length of any single line of text in the message can't exceed 1,000 characters. This restriction is defined in RFC 5321.

" }, + "RblName":{ + "type":"string", + "documentation":"

The name of a blacklist that an IP address was found on.

" + }, + "ReportId":{ + "type":"string", + "documentation":"

A unique string that identifies a Deliverability dashboard report.

" + }, + "ReportName":{ + "type":"string", + "documentation":"

A name that helps you identify a report generated by the Deliverability dashboard.

" + }, "ReputationOptions":{ "type":"structure", "members":{ @@ -1749,7 +2700,7 @@ }, "LastFreshStart":{ "shape":"LastFreshStart", - "documentation":"

The date and time when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start.

" + "documentation":"

The date and time (in Unix time) when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start.

" } }, "documentation":"

Enable or disable collection of reputation metrics for emails that you send using this configuration set in the current AWS Region.

" @@ -1849,11 +2800,71 @@ "members":{ "TopicArn":{ "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic that you want to publish email events to. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

" + "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic that you want to publish email events to. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

" } }, "documentation":"

An object that defines an Amazon SNS destination for email events. You can use Amazon SNS to send notification when certain email events occur.

" }, + "Subject":{"type":"string"}, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

One part of a key-value pair that defines a tag. The maximum length of a tag key is 128 characters. The minimum length is 1 character.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The optional part of a key-value pair that defines a tag. The maximum length of a tag value is 256 characters. The minimum length is 0 characters. If you don’t want a resource to have a specific tag value, don’t specify a value for this parameter. Amazon Pinpoint will set the value to an empty string.

" + } + }, + "documentation":"

An object that defines the tags that are associated with a resource. A tag is a label that you optionally define and associate with a resource in Amazon Pinpoint. Tags can help you categorize and manage resources in different ways, such as by purpose, owner, environment, or other criteria. A resource can have as many as 50 tags.

Each tag consists of a required tag key and an associated tag value, both of which you define. A tag key is a general label that acts as a category for a more specific tag value. A tag value acts as a descriptor within a tag key. A tag key can contain as many as 128 characters. A tag value can contain as many as 256 characters. The characters can be Unicode letters, digits, white space, or one of the following symbols: _ . : / = + -. The following additional restrictions apply to tags:

  • Tag keys and values are case sensitive.

  • For each associated resource, each tag key must be unique and it can have only one value.

  • The aws: prefix is reserved for use by AWS; you can’t use it in any tag keys or values that you define. In addition, you can't edit or remove tag keys or values that use this prefix. Tags that use this prefix don’t count against the limit of 50 tags per resource.

  • You can associate tags with public or shared resources, but the tags are available only for your AWS account, not any other accounts that share the resource. In addition, the tags are available only for resources that are located in the specified AWS Region for your AWS account.

" + }, + "TagKey":{"type":"string"}, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the resource that you want to add one or more tags to.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A list of the tags that you want to add to the resource. A tag consists of a required tag key (Key) and an associated tag value (Value). The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{"type":"string"}, + "Timestamp":{"type":"timestamp"}, + "TlsPolicy":{ + "type":"string", + "documentation":"

Specifies whether Amazon Pinpoint should require that incoming email is delivered over a connection encrypted with Transport Layer Security (TLS). If this parameter is set to Require, Amazon Pinpoint rejects emails that weren't received over TLS. If the parameter is set to Optional, then Amazon Pinpoint accepts emails that weren't received over TLS. The default value is Optional.

", + "enum":[ + "REQUIRE", + "OPTIONAL" + ] + }, "TooManyRequestsException":{ "type":"structure", "members":{ @@ -1873,6 +2884,32 @@ }, "documentation":"

An object that defines the tracking options for a configuration set. When you use Amazon Pinpoint to send an email, it contains an invisible image that's used to track when recipients open your email. If your email contains links, those links are changed slightly in order to track when recipients click them.

These images and links include references to a domain operated by AWS. You can optionally configure Amazon Pinpoint to use a domain that you operate for these images and links.

" }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the resource that you want to remove one or more tags from.

", + "location":"querystring", + "locationName":"ResourceArn" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

The tags (tag keys) that you want to remove from the resource. When you specify a tag key, the action removes both that key and its associated tag value.

To remove more than one tag from the resource, append the TagKeys parameter and argument for each additional tag to remove, separated by an ampersand. For example: /v1/email/tags?ResourceArn=ResourceArn&TagKeys=Key1&TagKeys=Key2

", + "location":"querystring", + "locationName":"TagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateConfigurationSetEventDestinationRequest":{ "type":"structure", "required":[ @@ -1906,6 +2943,32 @@ }, "documentation":"

An HTTP 200 response if the request succeeds, or an error message if the request fails.

" }, + "Volume":{ + "type":"long", + "documentation":"

An object that contains information about inbox placement volume.

" + }, + "VolumeStatistics":{ + "type":"structure", + "members":{ + "InboxRawCount":{ + "shape":"Volume", + "documentation":"

The total number of emails that arrived in recipients' inboxes.

" + }, + "SpamRawCount":{ + "shape":"Volume", + "documentation":"

The total number of emails that arrived in recipients' spam or junk mail folders.

" + }, + "ProjectedInbox":{ + "shape":"Volume", + "documentation":"

An estimate of the percentage of emails sent from the current domain that will arrive in recipients' inboxes.

" + }, + "ProjectedSpam":{ + "shape":"Volume", + "documentation":"

An estimate of the percentage of emails sent from the current domain that will arrive in recipients' spam or junk mail folders.

" + } + }, + "documentation":"

An object that contains information about the amount of email that was delivered to recipients.

" + }, "WarmupStatus":{ "type":"string", "documentation":"

The warmup status of a dedicated IP.

", @@ -1915,5 +2978,5 @@ ] } }, - "documentation":"Amazon Pinpoint Email Service

This document contains reference information for the Amazon Pinpoint Email API, version 1.0. This document is best used in conjunction with the Amazon Pinpoint Developer Guide.

The Amazon Pinpoint API is available in the US East (N. Virginia) Region at the following endpoint: email.us-east-1.amazonaws.com

" + "documentation":"Amazon Pinpoint Email Service

This document contains reference information for the Amazon Pinpoint Email API, version 1.0. This document is best used in conjunction with the Amazon Pinpoint Developer Guide.

The Amazon Pinpoint Email API is available in several AWS Regions and it provides an endpoint for each of these Regions. For a list of all the Regions and endpoints where the API is currently available, see AWS Regions and Endpoints in the Amazon Web Services General Reference.

In each Region, AWS maintains multiple Availability Zones. These Availability Zones are physically isolated from each other, but are united by private, low-latency, high-throughput, and highly redundant network connections. These Availability Zones enable us to provide very high levels of availability and redundancy, while also minimizing latency. To learn more about the number of Availability Zones that are available in each Region, see AWS Global Infrastructure.

" } diff --git a/bin/botocore/data/pinpoint-sms-voice/2018-09-05/service-2.json b/bin/botocore/data/pinpoint-sms-voice/2018-09-05/service-2.json new file mode 100644 index 00000000..7938a2ce --- /dev/null +++ b/bin/botocore/data/pinpoint-sms-voice/2018-09-05/service-2.json @@ -0,0 +1,677 @@ +{ + "metadata" : { + "apiVersion" : "2018-09-05", + "endpointPrefix" : "sms-voice.pinpoint", + "signingName" : "sms-voice", + "serviceAbbreviation":"Pinpoint SMS Voice", + "serviceFullName" : "Amazon Pinpoint SMS and Voice Service", + "serviceId" : "Pinpoint SMS Voice", + "protocol" : "rest-json", + "jsonVersion" : "1.1", + "uid" : "pinpoint-sms-voice-2018-09-05", + "signatureVersion" : "v4" + }, + "operations" : { + "CreateConfigurationSet" : { + "name" : "CreateConfigurationSet", + "http" : { + "method" : "POST", + "requestUri" : "/v1/sms-voice/configuration-sets", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateConfigurationSetRequest" + }, + "output" : { + "shape" : "CreateConfigurationSetResponse", + "documentation" : "CreateConfigurationSetResponse" + }, + "errors" : [ { + "shape" : "TooManyRequestsException", + "documentation" : "TooManyRequestsException" + }, { + "shape" : "BadRequestException", + "documentation" : "BadRequestException" + }, { + "shape" : "LimitExceededException", + "documentation" : "LimitExceededException" + }, { + "shape" : "InternalServiceErrorException", + "documentation" : "InternalServiceErrorException" + }, { + "shape" : "AlreadyExistsException", + "documentation" : "AlreadyExistsException" + } ], + "documentation" : "Create a new configuration set. After you create the configuration set, you can add one or more event destinations to it." + }, + "CreateConfigurationSetEventDestination" : { + "name" : "CreateConfigurationSetEventDestination", + "http" : { + "method" : "POST", + "requestUri" : "/v1/sms-voice/configuration-sets/{ConfigurationSetName}/event-destinations", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateConfigurationSetEventDestinationRequest" + }, + "output" : { + "shape" : "CreateConfigurationSetEventDestinationResponse", + "documentation" : "CreateConfigurationSetEventDestinationResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "BadRequestException" + }, { + "shape" : "LimitExceededException", + "documentation" : "LimitExceededException" + }, { + "shape" : "InternalServiceErrorException", + "documentation" : "InternalServiceErrorException" + }, { + "shape" : "NotFoundException", + "documentation" : "NotFoundException" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "TooManyRequestsException" + }, { + "shape" : "AlreadyExistsException", + "documentation" : "AlreadyExistsException" + } ], + "documentation" : "Create a new event destination in a configuration set." + }, + "DeleteConfigurationSet" : { + "name" : "DeleteConfigurationSet", + "http" : { + "method" : "DELETE", + "requestUri" : "/v1/sms-voice/configuration-sets/{ConfigurationSetName}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteConfigurationSetRequest" + }, + "output" : { + "shape" : "DeleteConfigurationSetResponse", + "documentation" : "DeleteConfigurationSetResponse" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "NotFoundException" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "TooManyRequestsException" + }, { + "shape" : "BadRequestException", + "documentation" : "BadRequestException" + }, { + "shape" : "InternalServiceErrorException", + "documentation" : "InternalServiceErrorException" + } ], + "documentation" : "Deletes an existing configuration set." + }, + "DeleteConfigurationSetEventDestination" : { + "name" : "DeleteConfigurationSetEventDestination", + "http" : { + "method" : "DELETE", + "requestUri" : "/v1/sms-voice/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteConfigurationSetEventDestinationRequest" + }, + "output" : { + "shape" : "DeleteConfigurationSetEventDestinationResponse", + "documentation" : "DeleteConfigurationSetEventDestinationResponse" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "NotFoundException" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "TooManyRequestsException" + }, { + "shape" : "BadRequestException", + "documentation" : "BadRequestException" + }, { + "shape" : "InternalServiceErrorException", + "documentation" : "InternalServiceErrorException" + } ], + "documentation" : "Deletes an event destination in a configuration set." + }, + "GetConfigurationSetEventDestinations" : { + "name" : "GetConfigurationSetEventDestinations", + "http" : { + "method" : "GET", + "requestUri" : "/v1/sms-voice/configuration-sets/{ConfigurationSetName}/event-destinations", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetConfigurationSetEventDestinationsRequest" + }, + "output" : { + "shape" : "GetConfigurationSetEventDestinationsResponse", + "documentation" : "GetConfigurationSetEventDestinationsResponse" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "NotFoundException" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "TooManyRequestsException" + }, { + "shape" : "BadRequestException", + "documentation" : "BadRequestException" + }, { + "shape" : "InternalServiceErrorException", + "documentation" : "InternalServiceErrorException" + } ], + "documentation" : "Obtain information about an event destination, including the types of events it reports, the Amazon Resource Name (ARN) of the destination, and the name of the event destination." + }, + "SendVoiceMessage" : { + "name" : "SendVoiceMessage", + "http" : { + "method" : "POST", + "requestUri" : "/v1/sms-voice/voice/message", + "responseCode" : 200 + }, + "input" : { + "shape" : "SendVoiceMessageRequest" + }, + "output" : { + "shape" : "SendVoiceMessageResponse", + "documentation" : "SendVoiceMessageResponse" + }, + "errors" : [ { + "shape" : "TooManyRequestsException", + "documentation" : "TooManyRequestsException" + }, { + "shape" : "BadRequestException", + "documentation" : "BadRequestException" + }, { + "shape" : "InternalServiceErrorException", + "documentation" : "InternalServiceErrorException" + } ], + "documentation" : "Create a new voice message and send it to a recipient's phone number." + }, + "UpdateConfigurationSetEventDestination" : { + "name" : "UpdateConfigurationSetEventDestination", + "http" : { + "method" : "PUT", + "requestUri" : "/v1/sms-voice/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateConfigurationSetEventDestinationRequest" + }, + "output" : { + "shape" : "UpdateConfigurationSetEventDestinationResponse", + "documentation" : "UpdateConfigurationSetEventDestinationResponse" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "NotFoundException" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "TooManyRequestsException" + }, { + "shape" : "BadRequestException", + "documentation" : "BadRequestException" + }, { + "shape" : "InternalServiceErrorException", + "documentation" : "InternalServiceErrorException" + } ], + "documentation" : "Update an event destination in a configuration set. An event destination is a location that you publish information about your voice calls to. For example, you can log an event to an Amazon CloudWatch destination when a call fails." + } + }, + "shapes" : { + "AlreadyExistsException" : { + "type" : "structure", + "documentation" : "The resource specified in your request already exists.", + "members" : { + "Message" : { + "shape" : "String" + } + }, + "exception" : true, + "error" : { + "httpStatusCode" : 409 + } + }, + "BadRequestException" : { + "type" : "structure", + "documentation" : "The input you provided is invalid.", + "members" : { + "Message" : { + "shape" : "String" + } + }, + "exception" : true, + "error" : { + "httpStatusCode" : 400 + } + }, + "Boolean" : { + "type" : "boolean" + }, + "CallInstructionsMessageType" : { + "type" : "structure", + "members" : { + "Text" : { + "shape" : "NonEmptyString", + "documentation" : "The language to use when delivering the message. For a complete list of supported languages, see the Amazon Polly Developer Guide." + } + }, + "documentation" : "An object that defines a message that contains text formatted using Amazon Pinpoint Voice Instructions markup.", + "required" : [ ] + }, + "CloudWatchLogsDestination" : { + "type" : "structure", + "members" : { + "IamRoleArn" : { + "shape" : "String", + "documentation" : "The Amazon Resource Name (ARN) of an Amazon Identity and Access Management (IAM) role that is able to write event data to an Amazon CloudWatch destination." + }, + "LogGroupArn" : { + "shape" : "String", + "documentation" : "The name of the Amazon CloudWatch Log Group that you want to record events in." + } + }, + "documentation" : "An object that contains information about an event destination that sends data to Amazon CloudWatch Logs.", + "required" : [ ] + }, + "CreateConfigurationSetEventDestinationRequest" : { + "type" : "structure", + "members" : { + "ConfigurationSetName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ConfigurationSetName", + "documentation" : "ConfigurationSetName" + }, + "EventDestination" : { + "shape" : "EventDestinationDefinition" + }, + "EventDestinationName" : { + "shape" : "NonEmptyString", + "documentation" : "A name that identifies the event destination." + } + }, + "documentation" : "Create a new event destination in a configuration set.", + "required" : [ "ConfigurationSetName" ] + }, + "CreateConfigurationSetEventDestinationResponse" : { + "type" : "structure", + "members" : { }, + "documentation" : "An empty object that indicates that the event destination was created successfully." + }, + "CreateConfigurationSetRequest" : { + "type" : "structure", + "members" : { + "ConfigurationSetName" : { + "shape" : "WordCharactersWithDelimiters", + "documentation" : "The name that you want to give the configuration set." + } + }, + "documentation" : "A request to create a new configuration set." + }, + "CreateConfigurationSetResponse" : { + "type" : "structure", + "members" : { }, + "documentation" : "An empty object that indicates that the configuration set was successfully created." + }, + "DeleteConfigurationSetEventDestinationRequest" : { + "type" : "structure", + "members" : { + "ConfigurationSetName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ConfigurationSetName", + "documentation" : "ConfigurationSetName" + }, + "EventDestinationName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "EventDestinationName", + "documentation" : "EventDestinationName" + } + }, + "required" : [ "EventDestinationName", "ConfigurationSetName" ] + }, + "DeleteConfigurationSetEventDestinationResponse" : { + "type" : "structure", + "members" : { }, + "documentation" : "An empty object that indicates that the event destination was deleted successfully." + }, + "DeleteConfigurationSetRequest" : { + "type" : "structure", + "members" : { + "ConfigurationSetName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ConfigurationSetName", + "documentation" : "ConfigurationSetName" + } + }, + "required" : [ "ConfigurationSetName" ] + }, + "DeleteConfigurationSetResponse" : { + "type" : "structure", + "members" : { }, + "documentation" : "An empty object that indicates that the configuration set was deleted successfully." + }, + "EventDestination" : { + "type" : "structure", + "members" : { + "CloudWatchLogsDestination" : { + "shape" : "CloudWatchLogsDestination" + }, + "Enabled" : { + "shape" : "Boolean", + "documentation" : "Indicates whether or not the event destination is enabled. If the event destination is enabled, then Amazon Pinpoint sends response data to the specified event destination." + }, + "KinesisFirehoseDestination" : { + "shape" : "KinesisFirehoseDestination" + }, + "MatchingEventTypes" : { + "shape" : "EventTypes" + }, + "Name" : { + "shape" : "String", + "documentation" : "A name that identifies the event destination configuration." + }, + "SnsDestination" : { + "shape" : "SnsDestination" + } + }, + "documentation" : "An object that defines an event destination." + }, + "EventDestinationDefinition" : { + "type" : "structure", + "members" : { + "CloudWatchLogsDestination" : { + "shape" : "CloudWatchLogsDestination" + }, + "Enabled" : { + "shape" : "Boolean", + "documentation" : "Indicates whether or not the event destination is enabled. If the event destination is enabled, then Amazon Pinpoint sends response data to the specified event destination." + }, + "KinesisFirehoseDestination" : { + "shape" : "KinesisFirehoseDestination" + }, + "MatchingEventTypes" : { + "shape" : "EventTypes" + }, + "SnsDestination" : { + "shape" : "SnsDestination" + } + }, + "documentation" : "An object that defines a single event destination.", + "required" : [ ] + }, + "EventDestinations" : { + "type" : "list", + "documentation" : "An array of EventDestination objects. Each EventDestination object includes ARNs and other information that define an event destination.", + "member" : { + "shape" : "EventDestination" + } + }, + "EventType" : { + "type" : "string", + "documentation" : "The types of events that are sent to the event destination.", + "enum" : [ "INITIATED_CALL", "RINGING", "ANSWERED", "COMPLETED_CALL", "BUSY", "FAILED", "NO_ANSWER" ] + }, + "EventTypes" : { + "type" : "list", + "documentation" : "An array of EventDestination objects. Each EventDestination object includes ARNs and other information that define an event destination.", + "member" : { + "shape" : "EventType" + } + }, + "GetConfigurationSetEventDestinationsRequest" : { + "type" : "structure", + "members" : { + "ConfigurationSetName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ConfigurationSetName", + "documentation" : "ConfigurationSetName" + } + }, + "required" : [ "ConfigurationSetName" ] + }, + "GetConfigurationSetEventDestinationsResponse" : { + "type" : "structure", + "members" : { + "EventDestinations" : { + "shape" : "EventDestinations" + } + }, + "documentation" : "An object that contains information about an event destination." + }, + "InternalServiceErrorException" : { + "type" : "structure", + "members" : { + "Message" : { + "shape" : "String" + } + }, + "documentation" : "The API encountered an unexpected error and couldn't complete the request. You might be able to successfully issue the request again in the future.", + "exception" : true, + "error" : { + "httpStatusCode" : 500 + } + }, + "KinesisFirehoseDestination" : { + "type" : "structure", + "members" : { + "DeliveryStreamArn" : { + "shape" : "String", + "documentation" : "The Amazon Resource Name (ARN) of an IAM role that can write data to an Amazon Kinesis Data Firehose stream." + }, + "IamRoleArn" : { + "shape" : "String", + "documentation" : "The Amazon Resource Name (ARN) of the Amazon Kinesis Data Firehose destination that you want to use in the event destination." + } + }, + "documentation" : "An object that contains information about an event destination that sends data to Amazon Kinesis Data Firehose.", + "required" : [ ] + }, + "LimitExceededException" : { + "type" : "structure", + "documentation" : "There are too many instances of the specified resource type.", + "exception" : true, + "members" : { + "Message" : { + "shape" : "String" + } + }, + "error" : { + "httpStatusCode" : 412 + } + }, + "NonEmptyString" : { + "type" : "string" + }, + "NotFoundException" : { + "type" : "structure", + "documentation" : "The resource you attempted to access doesn't exist.", + "exception" : true, + "members" : { + "Message" : { + "shape" : "String" + } + }, + "error" : { + "httpStatusCode" : 404 + } + }, + "PlainTextMessageType" : { + "type" : "structure", + "members" : { + "LanguageCode" : { + "shape" : "String", + "documentation" : "The language to use when delivering the message. For a complete list of supported languages, see the Amazon Polly Developer Guide." + }, + "Text" : { + "shape" : "NonEmptyString", + "documentation" : "The plain (not SSML-formatted) text to deliver to the recipient." + }, + "VoiceId" : { + "shape" : "String", + "documentation" : "The name of the voice that you want to use to deliver the message. For a complete list of supported voices, see the Amazon Polly Developer Guide." + } + }, + "documentation" : "An object that defines a message that contains unformatted text.", + "required" : [ ] + }, + "SSMLMessageType" : { + "type" : "structure", + "members" : { + "LanguageCode" : { + "shape" : "String", + "documentation" : "The language to use when delivering the message. For a complete list of supported languages, see the Amazon Polly Developer Guide." + }, + "Text" : { + "shape" : "NonEmptyString", + "documentation" : "The SSML-formatted text to deliver to the recipient." + }, + "VoiceId" : { + "shape" : "String", + "documentation" : "The name of the voice that you want to use to deliver the message. For a complete list of supported voices, see the Amazon Polly Developer Guide." + } + }, + "documentation" : "An object that defines a message that contains SSML-formatted text.", + "required" : [ ] + }, + "SendVoiceMessageRequest" : { + "type" : "structure", + "members" : { + "CallerId" : { + "shape" : "String", + "documentation" : "The phone number that appears on recipients' devices when they receive the message." + }, + "ConfigurationSetName" : { + "shape" : "WordCharactersWithDelimiters", + "documentation" : "The name of the configuration set that you want to use to send the message." + }, + "Content" : { + "shape" : "VoiceMessageContent" + }, + "DestinationPhoneNumber" : { + "shape" : "NonEmptyString", + "documentation" : "The phone number that you want to send the voice message to." + }, + "OriginationPhoneNumber" : { + "shape" : "NonEmptyString", + "documentation" : "The phone number that Amazon Pinpoint should use to send the voice message. This isn't necessarily the phone number that appears on recipients' devices when they receive the message, because you can specify a CallerId parameter in the request." + } + }, + "documentation" : "SendVoiceMessageRequest" + }, + "SendVoiceMessageResponse" : { + "type" : "structure", + "members" : { + "MessageId" : { + "shape" : "String", + "documentation" : "A unique identifier for the voice message." + } + }, + "documentation" : "An object that that contains the Message ID of a Voice message that was sent successfully." + }, + "SnsDestination" : { + "type" : "structure", + "members" : { + "TopicArn" : { + "shape" : "String", + "documentation" : "The Amazon Resource Name (ARN) of the Amazon SNS topic that you want to publish events to." + } + }, + "documentation" : "An object that contains information about an event destination that sends data to Amazon SNS.", + "required" : [ ] + }, + "String" : { + "type" : "string" + }, + "TooManyRequestsException" : { + "type" : "structure", + "documentation" : "You've issued too many requests to the resource. Wait a few minutes, and then try again.", + "exception" : true, + "members" : { + "Message" : { + "shape" : "String" + } + }, + "error" : { + "httpStatusCode" : 429 + } + }, + "UpdateConfigurationSetEventDestinationRequest" : { + "type" : "structure", + "members" : { + "ConfigurationSetName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ConfigurationSetName", + "documentation" : "ConfigurationSetName" + }, + "EventDestination" : { + "shape" : "EventDestinationDefinition" + }, + "EventDestinationName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "EventDestinationName", + "documentation" : "EventDestinationName" + } + }, + "documentation" : "UpdateConfigurationSetEventDestinationRequest", + "required" : [ "EventDestinationName", "ConfigurationSetName" ] + }, + "UpdateConfigurationSetEventDestinationResponse" : { + "type" : "structure", + "members" : { }, + "documentation" : "An empty object that indicates that the event destination was updated successfully." + }, + "VoiceMessageContent" : { + "type" : "structure", + "members" : { + "CallInstructionsMessage" : { + "shape" : "CallInstructionsMessageType" + }, + "PlainTextMessage" : { + "shape" : "PlainTextMessageType" + }, + "SSMLMessage" : { + "shape" : "SSMLMessageType" + } + }, + "documentation" : "An object that contains a voice message and information about the recipient that you want to send it to." + }, + "WordCharactersWithDelimiters" : { + "type" : "string" + }, + "__boolean" : { + "type" : "boolean" + }, + "__double" : { + "type" : "double" + }, + "__integer" : { + "type" : "integer" + }, + "__long" : { + "type" : "long" + }, + "__string" : { + "type" : "string" + }, + "__timestampIso8601" : { + "type" : "timestamp", + "timestampFormat" : "iso8601" + }, + "__timestampUnix" : { + "type" : "timestamp", + "timestampFormat" : "unixTimestamp" + } + }, + "documentation" : "Pinpoint SMS and Voice Messaging public facing APIs" +} \ No newline at end of file diff --git a/bin/botocore/data/pinpoint/2016-12-01/service-2.json b/bin/botocore/data/pinpoint/2016-12-01/service-2.json index 5eae4b6f..e74763f2 100644 --- a/bin/botocore/data/pinpoint/2016-12-01/service-2.json +++ b/bin/botocore/data/pinpoint/2016-12-01/service-2.json @@ -1867,6 +1867,22 @@ } ], "documentation" : "Get a Voice Channel" }, + "ListTagsForResource" : { + "name" : "ListTagsForResource", + "http" : { + "method" : "GET", + "requestUri" : "/v1/tags/{resource-arn}", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListTagsForResourceRequest" + }, + "output" : { + "shape" : "ListTagsForResourceResponse", + "documentation" : "200 response" + }, + "errors" : [ ] + }, "PhoneNumberValidate" : { "name" : "PhoneNumberValidate", "http" : { @@ -2077,6 +2093,30 @@ } ], "documentation" : "Used to send a message to a list of users." }, + "TagResource" : { + "name" : "TagResource", + "http" : { + "method" : "POST", + "requestUri" : "/v1/tags/{resource-arn}", + "responseCode" : 204 + }, + "input" : { + "shape" : "TagResourceRequest" + }, + "errors" : [ ] + }, + "UntagResource" : { + "name" : "UntagResource", + "http" : { + "method" : "DELETE", + "requestUri" : "/v1/tags/{resource-arn}", + "responseCode" : 204 + }, + "input" : { + "shape" : "UntagResourceRequest" + }, + "errors" : [ ] + }, "UpdateAdmChannel" : { "name" : "UpdateAdmChannel", "http" : { @@ -3301,6 +3341,10 @@ "ApplicationResponse" : { "type" : "structure", "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The arn for the application." + }, "Id" : { "shape" : "__string", "documentation" : "The unique application ID." @@ -3308,6 +3352,11 @@ "Name" : { "shape" : "__string", "documentation" : "The display name of the application." + }, + "tags": { + "shape" : "MapOf__string", + "locationName" : "tags", + "documentation" : "The Tags for the application." } }, "documentation" : "Application Response.", @@ -3631,6 +3680,10 @@ "shape" : "__string", "documentation" : "The ID of the application to which the campaign applies." }, + "Arn" : { + "shape" : "__string", + "documentation" : "The arn for the campaign." + }, "CreationDate" : { "shape" : "__string", "documentation" : "The date the campaign was created in ISO 8601 format." @@ -3691,6 +3744,11 @@ "shape" : "CampaignState", "documentation" : "The campaign status.\n\nAn A/B test campaign will have a status of COMPLETED only when all treatments have a status of COMPLETED." }, + "tags": { + "shape" : "MapOf__string", + "locationName" : "tags", + "documentation" : "The Tags for the campaign." + }, "TreatmentDescription" : { "shape" : "__string", "documentation" : "A custom description for the treatment." @@ -3837,6 +3895,11 @@ "Name" : { "shape" : "__string", "documentation" : "The display name of the application. Used in the Amazon Pinpoint console." + }, + "tags": { + "shape" : "MapOf__string", + "locationName" : "tags", + "documentation" : "The Tags for the app." } }, "documentation" : "Application Request.", @@ -4901,6 +4964,18 @@ "Event" : { "type" : "structure", "members" : { + "AppPackageName" : { + "shape" : "__string", + "documentation" : "The package name associated with the app that's recording the event." + }, + "AppTitle" : { + "shape" : "__string", + "documentation" : "The title of the app that's recording the event." + }, + "AppVersionCode" : { + "shape" : "__string", + "documentation" : "The version number of the app that's recording the event." + }, "Attributes" : { "shape" : "MapOf__string", "documentation" : "Custom attributes that are associated with the event you're adding or updating." @@ -4917,6 +4992,10 @@ "shape" : "MapOf__double", "documentation" : "Custom metrics related to the event." }, + "SdkName" : { + "shape" : "__string", + "documentation" : "The name of the SDK that's being used to record the event." + }, "Session" : { "shape" : "Session", "documentation" : "Information about the session in which the event occurred." @@ -6447,6 +6526,27 @@ "type" : "string", "enum" : [ "CREATED", "INITIALIZING", "PROCESSING", "COMPLETING", "COMPLETED", "FAILING", "FAILED" ] }, + "ListTagsForResourceRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resource-arn" + } + }, + "required" : [ "ResourceArn" ] + }, + "ListTagsForResourceResponse" : { + "type" : "structure", + "members" : { + "TagsModel" : { + "shape" : "TagsModel" + } + }, + "required" : [ "TagsModel" ], + "payload" : "TagsModel" + }, "Message" : { "type" : "structure", "members" : { @@ -7284,6 +7384,10 @@ "shape" : "__string", "documentation" : "The ID of the application that the segment applies to." }, + "Arn" : { + "shape" : "__string", + "documentation" : "The arn for the segment." + }, "CreationDate" : { "shape" : "__string", "documentation" : "The date and time when the segment was created." @@ -7316,6 +7420,11 @@ "shape" : "SegmentType", "documentation" : "The segment type:\nDIMENSIONAL - A dynamic segment built from selection criteria based on endpoint data reported by your app. You create this type of segment by using the segment builder in the Amazon Pinpoint console or by making a POST request to the segments resource.\nIMPORT - A static segment built from an imported set of endpoint definitions. You create this type of segment by importing a segment in the Amazon Pinpoint console or by making a POST request to the jobs/import resource." }, + "tags": { + "shape" : "MapOf__string", + "locationName" : "tags", + "documentation" : "The Tags for the segment." + }, "Version" : { "shape" : "__integer", "documentation" : "The segment version number." @@ -7511,6 +7620,31 @@ "type" : "string", "enum" : [ "ALL", "ANY", "NONE" ] }, + "TagResourceRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resource-arn" + }, + "TagsModel" : { + "shape" : "TagsModel" + } + }, + "required" : [ "ResourceArn", "TagsModel" ], + "payload" : "TagsModel" + }, + "TagsModel" : { + "type" : "structure", + "members" : { + "tags": { + "shape" : "MapOf__string", + "locationName" : "tags" + } + }, + "required" : [ "tags" ] + }, "TooManyRequestsException" : { "type" : "structure", "members" : { @@ -7568,6 +7702,23 @@ "type" : "string", "enum" : [ "ALL", "ANY", "NONE" ] }, + "UntagResourceRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resource-arn" + }, + "TagKeys" : { + "shape" : "ListOf__string", + "location" : "querystring", + "locationName" : "tagKeys", + "documentation" : "The key(s) of tag to be deleted" + } + }, + "required" : [ "TagKeys", "ResourceArn" ] + }, "UpdateAdmChannelRequest" : { "type" : "structure", "members" : { @@ -8138,6 +8289,11 @@ "shape" : "__integer", "documentation" : "The version of the segment to which the campaign sends messages." }, + "tags": { + "shape" : "MapOf__string", + "locationName" : "tags", + "documentation" : "The Tags for the campaign." + }, "TreatmentDescription" : { "shape" : "__string", "documentation" : "A custom description for the treatment." @@ -8178,6 +8334,11 @@ "SegmentGroups" : { "shape" : "SegmentGroupList", "documentation" : "A segment group, which consists of zero or more source segments, plus dimensions that are applied to those source segments. Your request can only include one segment group. Your request can include either a SegmentGroups object or a Dimensions object, but not both." + }, + "tags": { + "shape" : "MapOf__string", + "locationName" : "tags", + "documentation" : "The Tags for the segments." } }, "documentation" : "Segment definition.", @@ -8462,4 +8623,4 @@ "timestampFormat" : "unixTimestamp" } } -} +} \ No newline at end of file diff --git a/bin/botocore/data/polly/2016-06-10/paginators-1.json b/bin/botocore/data/polly/2016-06-10/paginators-1.json index c24ff035..dc76e7c1 100644 --- a/bin/botocore/data/polly/2016-06-10/paginators-1.json +++ b/bin/botocore/data/polly/2016-06-10/paginators-1.json @@ -4,6 +4,17 @@ "input_token": "NextToken", "output_token": "NextToken", "result_key": "Voices" + }, + "ListLexicons": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Lexicons" + }, + "ListSpeechSynthesisTasks": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "SynthesisTasks" } } } diff --git a/bin/botocore/data/polly/2016-06-10/service-2.json b/bin/botocore/data/polly/2016-06-10/service-2.json index cd9fb026..a9a451af 100644 --- a/bin/botocore/data/polly/2016-06-10/service-2.json +++ b/bin/botocore/data/polly/2016-06-10/service-2.json @@ -358,6 +358,7 @@ "LanguageCode":{ "type":"string", "enum":[ + "arb", "cmn-CN", "cy-GB", "da-DK", @@ -588,7 +589,11 @@ "max":100, "min":1 }, - "NextToken":{"type":"string"}, + "NextToken":{ + "type":"string", + "max":4096, + "min":0 + }, "OutputFormat":{ "type":"string", "enum":[ @@ -646,7 +651,7 @@ "Size":{"type":"integer"}, "SnsTopicArn":{ "type":"string", - "pattern":"^arn:aws(-(cn|iso(-b)?|us-gov))?:sns:.*:\\w{12}:.+$" + "pattern":"^arn:aws(-(cn|iso(-b)?|us-gov))?:sns:[a-z0-9_-]{1,50}:\\d{12}:[a-zA-Z0-9_-]{1,256}$" }, "SpeechMarkType":{ "type":"string", @@ -876,8 +881,7 @@ }, "TaskId":{ "type":"string", - "max":128, - "min":1 + "pattern":"^[a-zA-Z0-9_-]{1,100}$" }, "TaskStatus":{ "type":"string", @@ -957,63 +961,64 @@ "VoiceId":{ "type":"string", "enum":[ - "Geraint", - "Gwyneth", - "Mads", - "Naja", - "Hans", - "Marlene", - "Nicole", - "Russell", + "Aditi", "Amy", + "Astrid", + "Bianca", "Brian", + "Carla", + "Carmen", + "Celine", + "Chantal", + "Conchita", + "Cristiano", + "Dora", "Emma", - "Raveena", + "Enrique", + "Ewa", + "Filiz", + "Geraint", + "Giorgio", + "Gwyneth", + "Hans", + "Ines", "Ivy", + "Jacek", + "Jan", "Joanna", "Joey", "Justin", + "Karl", "Kendra", "Kimberly", - "Matthew", - "Salli", - "Conchita", - "Enrique", - "Miguel", - "Penelope", - "Chantal", - "Celine", "Lea", - "Mathieu", - "Dora", - "Karl", - "Carla", - "Giorgio", - "Mizuki", "Liv", "Lotte", - "Ruben", - "Ewa", - "Jacek", - "Jan", + "Lucia", + "Mads", "Maja", - "Ricardo", - "Vitoria", - "Cristiano", - "Ines", - "Carmen", + "Marlene", + "Mathieu", + "Matthew", "Maxim", + "Mia", + "Miguel", + "Mizuki", + "Naja", + "Nicole", + "Penelope", + "Raveena", + "Ricardo", + "Ruben", + "Russell", + "Salli", + "Seoyeon", + "Takumi", "Tatyana", - "Astrid", - "Filiz", "Vicki", - "Takumi", - "Seoyeon", - "Aditi", - "Zhiyu", - "Bianca", - "Lucia", - "Mia" + "Vitoria", + "Zeina", + "Zhiyu" ] }, "VoiceList":{ diff --git a/bin/botocore/data/quicksight/2018-04-01/service-2.json b/bin/botocore/data/quicksight/2018-04-01/service-2.json index 6751a032..66ed1e41 100644 --- a/bin/botocore/data/quicksight/2018-04-01/service-2.json +++ b/bin/botocore/data/quicksight/2018-04-01/service-2.json @@ -30,7 +30,7 @@ {"shape":"InternalFailureException"}, {"shape":"ResourceUnavailableException"} ], - "documentation":"

Creates an Amazon QuickSight group.

The permissions resource is arn:aws:quicksight:us-east-1:<relevant-aws-account-id>:group/default/<group-name> .

The response is a group object.

" + "documentation":"

Creates an Amazon QuickSight group.

The permissions resource is arn:aws:quicksight:us-east-1:<relevant-aws-account-id>:group/default/<group-name> .

The response is a group object.

CLI Sample:

aws quicksight create-group --aws-account-id=111122223333 --namespace=default --group-name=\"Sales-Management\" --description=\"Sales Management - Forecasting\"

" }, "CreateGroupMembership":{ "name":"CreateGroupMembership", @@ -49,7 +49,7 @@ {"shape":"InternalFailureException"}, {"shape":"ResourceUnavailableException"} ], - "documentation":"

Adds an Amazon QuickSight user to an Amazon QuickSight group.

The permissions resource is arn:aws:quicksight:us-east-1:<aws-account-id>:group/default/<group-name> .

The condition resource is the user name.

The condition key is quicksight:UserName.

The response is the group member object.

" + "documentation":"

Adds an Amazon QuickSight user to an Amazon QuickSight group.

The permissions resource is arn:aws:quicksight:us-east-1:<aws-account-id>:group/default/<group-name> .

The condition resource is the user name.

The condition key is quicksight:UserName.

The response is the group member object.

CLI Sample:

aws quicksight create-group-membership --aws-account-id=111122223333 --namespace=default --group-name=Sales --member-name=Pat

" }, "DeleteGroup":{ "name":"DeleteGroup", @@ -68,7 +68,7 @@ {"shape":"InternalFailureException"}, {"shape":"ResourceUnavailableException"} ], - "documentation":"

Removes a user group from Amazon QuickSight.

The permissions resource is arn:aws:quicksight:us-east-1:<aws-account-id>:group/default/<group-name> .

" + "documentation":"

Removes a user group from Amazon QuickSight.

The permissions resource is arn:aws:quicksight:us-east-1:<aws-account-id>:group/default/<group-name> .

CLI Sample:

aws quicksight delete-group -\\-aws-account-id=111122223333 -\\-namespace=default -\\-group-name=Sales-Management

" }, "DeleteGroupMembership":{ "name":"DeleteGroupMembership", @@ -87,7 +87,7 @@ {"shape":"InternalFailureException"}, {"shape":"ResourceUnavailableException"} ], - "documentation":"

Removes a user from a group so that the user is no longer a member of the group.

The permissions resource is arn:aws:quicksight:us-east-1:<aws-account-id>:group/default/<group-name> .

The condition resource is the user name.

The condition key is quicksight:UserName.

" + "documentation":"

Removes a user from a group so that the user is no longer a member of the group.

The permissions resource is arn:aws:quicksight:us-east-1:<aws-account-id>:group/default/<group-name> .

The condition resource is the user name.

The condition key is quicksight:UserName.

CLI Sample:

aws quicksight delete-group-membership --aws-account-id=111122223333 --namespace=default --group-name=Sales-Management --member-name=Charlie

" }, "DeleteUser":{ "name":"DeleteUser", @@ -105,7 +105,25 @@ {"shape":"InternalFailureException"}, {"shape":"ResourceUnavailableException"} ], - "documentation":"

Deletes the Amazon QuickSight user that is associated with the identity of the AWS Identity and Access Management (IAM) user or role that's making the call. The IAM user isn't deleted as a result of this call.

The permission resource is arn:aws:quicksight:us-east-1:<aws-account-id>:user/default/<user-name> .

" + "documentation":"

Deletes the Amazon QuickSight user that is associated with the identity of the AWS Identity and Access Management (IAM) user or role that's making the call. The IAM user isn't deleted as a result of this call.

The permission resource is arn:aws:quicksight:us-east-1:<aws-account-id>:user/default/<user-name> .

CLI Sample:

aws quicksight delete-user --aws-account-id=111122223333 --namespace=default --user-name=Pat

" + }, + "DeleteUserByPrincipalId":{ + "name":"DeleteUserByPrincipalId", + "http":{ + "method":"DELETE", + "requestUri":"/accounts/{AwsAccountId}/namespaces/{Namespace}/user-principals/{PrincipalId}" + }, + "input":{"shape":"DeleteUserByPrincipalIdRequest"}, + "output":{"shape":"DeleteUserByPrincipalIdResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceUnavailableException"} + ], + "documentation":"

Deletes a user after locating the user by its principal ID.

" }, "DescribeGroup":{ "name":"DescribeGroup", @@ -124,7 +142,7 @@ {"shape":"InternalFailureException"}, {"shape":"ResourceUnavailableException"} ], - "documentation":"

Returns an Amazon QuickSight group's description and Amazon Resource Name (ARN).

The permissions resource is arn:aws:quicksight:us-east-1:<relevant-aws-account-id>:group/default/<group-name> .

The response is the group object.

" + "documentation":"

Returns an Amazon QuickSight group's description and Amazon Resource Name (ARN).

The permissions resource is arn:aws:quicksight:us-east-1:<relevant-aws-account-id>:group/default/<group-name> .

The response is the group object.

CLI Sample:

aws quicksight describe-group -\\-aws-account-id=11112222333 -\\-namespace=default -\\-group-name=Sales

" }, "DescribeUser":{ "name":"DescribeUser", @@ -142,7 +160,7 @@ {"shape":"InternalFailureException"}, {"shape":"ResourceUnavailableException"} ], - "documentation":"

Returns information about a user, given the user name.

The permission resource is arn:aws:quicksight:us-east-1:<aws-account-id>:user/default/<user-name> .

The response is a user object that contains the user's Amazon Resource Name (ARN), AWS Identity and Access Management (IAM) role, and email address.

" + "documentation":"

Returns information about a user, given the user name.

The permission resource is arn:aws:quicksight:us-east-1:<aws-account-id>:user/default/<user-name> .

The response is a user object that contains the user's Amazon Resource Name (ARN), AWS Identity and Access Management (IAM) role, and email address.

CLI Sample:

aws quicksight describe-user --aws-account-id=111122223333 --namespace=default --user-name=Pat

" }, "GetDashboardEmbedUrl":{ "name":"GetDashboardEmbedUrl", @@ -167,7 +185,7 @@ {"shape":"InternalFailureException"}, {"shape":"ResourceUnavailableException"} ], - "documentation":"

Generates an embedded URL and authorization code. Before this can work properly, you need to configure the dashboards and user permissions first.

" + "documentation":"

Generates a server-side embeddable URL and authorization code. Before this can work properly, first you need to configure the dashboards and user permissions. For more information, see Embedding Amazon QuickSight Dashboards.

Currently, you can use GetDashboardEmbedURL only from the server, not from the user’s browser.

CLI Sample:

Assume the role with permissions enabled for actions: quickSight:RegisterUser and quicksight:GetDashboardEmbedURL. You can use assume-role, assume-role-with-web-identity, or assume-role-with-saml.

aws sts assume-role --role-arn \"arn:aws:iam::111122223333:role/embedding_quicksight_dashboard_role\" --role-session-name embeddingsession

If the user does not exist in QuickSight, register the user:

aws quicksight register-user --aws-account-id 111122223333 --namespace default --identity-type IAM --iam-arn \"arn:aws:iam::111122223333:role/embedding_quicksight_dashboard_role\" --user-role READER --session-name \"embeddingsession\" --email user123@example.com --region us-east-1

Get the URL for the embedded dashboard

aws quicksight get-dashboard-embed-url --aws-account-id 111122223333 --dashboard-id 1a1ac2b2-3fc3-4b44-5e5d-c6db6778df89 --identity-type IAM

" }, "ListGroupMemberships":{ "name":"ListGroupMemberships", @@ -187,7 +205,7 @@ {"shape":"InternalFailureException"}, {"shape":"ResourceUnavailableException"} ], - "documentation":"

Lists member users in a group.

The permissions resource is arn:aws:quicksight:us-east-1:<aws-account-id>:group/default/<group-name> .

The response is a list of group member objects.

" + "documentation":"

Lists member users in a group.

The permissions resource is arn:aws:quicksight:us-east-1:<aws-account-id>:group/default/<group-name> .

The response is a list of group member objects.

CLI Sample:

aws quicksight list-group-memberships -\\-aws-account-id=111122223333 -\\-namespace=default

" }, "ListGroups":{ "name":"ListGroups", @@ -207,7 +225,7 @@ {"shape":"InternalFailureException"}, {"shape":"ResourceUnavailableException"} ], - "documentation":"

Lists all user groups in Amazon QuickSight.

The permissions resource is arn:aws:quicksight:us-east-1:<aws-account-id>:group/default/*.

The response is a list of group objects.

" + "documentation":"

Lists all user groups in Amazon QuickSight.

The permissions resource is arn:aws:quicksight:us-east-1:<aws-account-id>:group/default/*.

The response is a list of group objects.

CLI Sample:

aws quicksight list-groups -\\-aws-account-id=111122223333 -\\-namespace=default

" }, "ListUserGroups":{ "name":"ListUserGroups", @@ -225,7 +243,7 @@ {"shape":"InternalFailureException"}, {"shape":"ResourceUnavailableException"} ], - "documentation":"

Lists the Amazon QuickSight groups that a user is part of.

" + "documentation":"

Lists the Amazon QuickSight groups that an Amazon QuickSight user is a member of.

The permission resource is arn:aws:quicksight:us-east-1:<aws-account-id>:user/default/<user-name> .

The response is a one or more group objects.

CLI Sample:

aws quicksight list-user-groups -\\-user-name=Pat -\\-aws-account-id=111122223333 -\\-namespace=default -\\-region=us-east-1

" }, "ListUsers":{ "name":"ListUsers", @@ -244,7 +262,7 @@ {"shape":"InternalFailureException"}, {"shape":"ResourceUnavailableException"} ], - "documentation":"

Returns a list of all of the Amazon QuickSight users belonging to this account.

The permission resource is arn:aws:quicksight:us-east-1:<aws-account-id>:user/default/* .

The response is a list of user objects, containing each user's Amazon Resource Name (ARN), AWS Identity and Access Management (IAM) role, and email address.

" + "documentation":"

Returns a list of all of the Amazon QuickSight users belonging to this account.

The permission resource is arn:aws:quicksight:us-east-1:<aws-account-id>:user/default/* .

The response is a list of user objects, containing each user's Amazon Resource Name (ARN), AWS Identity and Access Management (IAM) role, and email address.

CLI Sample:

aws quicksight list-users --aws-account-id=111122223333 --namespace=default

" }, "RegisterUser":{ "name":"RegisterUser", @@ -265,7 +283,7 @@ {"shape":"InternalFailureException"}, {"shape":"ResourceUnavailableException"} ], - "documentation":"

Creates an Amazon QuickSight user, whose identity is associated with the AWS Identity and Access Management (IAM) identity or role specified in the request.

The permission resource is arn:aws:quicksight:us-east-1:<aws-account-id>:user/default/<user-name> .

The condition resource is the Amazon Resource Name (ARN) for the IAM user or role, and the session name.

The condition keys are quicksight:IamArn and quicksight:SessionName.

" + "documentation":"

Creates an Amazon QuickSight user, whose identity is associated with the AWS Identity and Access Management (IAM) identity or role specified in the request.

The permission resource is arn:aws:quicksight:us-east-1:<aws-account-id>:user/default/<user-name> .

The condition resource is the Amazon Resource Name (ARN) for the IAM user or role, and the session name.

The condition keys are quicksight:IamArn and quicksight:SessionName.

CLI Sample:

aws quicksight register-user -\\-aws-account-id=111122223333 -\\-namespace=default -\\-email=pat@example.com -\\-identity-type=IAM -\\-user-role=AUTHOR -\\-iam-arn=arn:aws:iam::111122223333:user/Pat

" }, "UpdateGroup":{ "name":"UpdateGroup", @@ -284,7 +302,7 @@ {"shape":"InternalFailureException"}, {"shape":"ResourceUnavailableException"} ], - "documentation":"

Changes a group description.

The permissions resource is arn:aws:quicksight:us-east-1:<aws-account-id>:group/default/<group-name> .

The response is a group object.

" + "documentation":"

Changes a group description.

The permissions resource is arn:aws:quicksight:us-east-1:<aws-account-id>:group/default/<group-name> .

The response is a group object.

CLI Sample:

aws quicksight update-group --aws-account-id=111122223333 --namespace=default --group-name=Sales --description=\"Sales BI Dashboards\"

" }, "UpdateUser":{ "name":"UpdateUser", @@ -302,7 +320,7 @@ {"shape":"InternalFailureException"}, {"shape":"ResourceUnavailableException"} ], - "documentation":"

Updates an Amazon QuickSight user.

" + "documentation":"

Updates an Amazon QuickSight user.

The permission resource is arn:aws:quicksight:us-east-1:<aws-account-id>:user/default/<user-name> .

The response is a user object that contains the user's Amazon QuickSight user name, email address, active or inactive status in Amazon QuickSight, Amazon QuickSight role, and Amazon Resource Name (ARN).

CLI Sample:

aws quicksight update-user --user-name=Pat --role=ADMIN --email=new_address@amazon.com --aws-account-id=111122223333 --namespace=default --region=us-east-1

" } }, "shapes":{ @@ -315,7 +333,7 @@ "documentation":"

The AWS request id for this request.

" } }, - "documentation":"

You don't have access to this.

", + "documentation":"

You don't have access to this. The provided credentials couldn't be validated. You might not be authorized to carry out the request. Ensure that your account is authorized to use the Amazon QuickSight service, that your policies have the correct permissions, and that you are using the correct access keys.

", "error":{"httpStatusCode":401}, "exception":true }, @@ -521,6 +539,48 @@ } } }, + "DeleteUserByPrincipalIdRequest":{ + "type":"structure", + "required":[ + "PrincipalId", + "AwsAccountId", + "Namespace" + ], + "members":{ + "PrincipalId":{ + "shape":"String", + "documentation":"

The principal ID of the user.

", + "location":"uri", + "locationName":"PrincipalId" + }, + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

The ID for the AWS account that the user is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.

", + "location":"uri", + "locationName":"AwsAccountId" + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

The namespace. Currently, you should set this to default.

", + "location":"uri", + "locationName":"Namespace" + } + } + }, + "DeleteUserByPrincipalIdResponse":{ + "type":"structure", + "members":{ + "RequestId":{ + "shape":"String", + "documentation":"

The AWS request ID for this operation.

" + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

The http status of the request.

", + "location":"statusCode" + } + } + }, "DeleteUserRequest":{ "type":"structure", "required":[ @@ -665,7 +725,7 @@ } }, "documentation":"

The domain specified is not on the allowlist. All domains for embedded dashboards must be added to the approved list by an Amazon QuickSight admin.

", - "error":{"httpStatusCode":407}, + "error":{"httpStatusCode":403}, "exception":true }, "EmbeddingUrl":{ @@ -706,7 +766,7 @@ }, "IdentityType":{ "shape":"IdentityType", - "documentation":"

The authentication method the user uses to sign in (IAM or QUICKSIGHT).

", + "documentation":"

The authentication method the user uses to sign in (IAM only).

", "location":"querystring", "locationName":"creds-type" }, @@ -735,7 +795,7 @@ "members":{ "EmbedUrl":{ "shape":"EmbeddingUrl", - "documentation":"

Call the GetDashboardEmbedUrl API to get the URL that you can embed in your dashboard. This URL is valid for 5 minutes, and the resulting session is valid for 10 hours. The API provides the URL with an auth_code that enables a single-signon session.

" + "documentation":"

URL that you can put into your server-side webpage to embed your dashboard. This URL is valid for 5 minutes, and the resulting session is valid for 10 hours. The API provides the URL with an auth_code that enables a single-signon session.

" }, "Status":{ "shape":"StatusCode", @@ -762,6 +822,10 @@ "Description":{ "shape":"GroupDescription", "documentation":"

The group description.

" + }, + "PrincipalId":{ + "shape":"String", + "documentation":"

The principal ID of the group.

" } }, "documentation":"

A group in Amazon QuickSight consists of a set of users. You can use groups to make it easier to manage access and security. Currently, an Amazon QuickSight subscription can't contain more than 500 Amazon QuickSight groups.

" @@ -820,8 +884,8 @@ "documentation":"

The AWS request ID for this request.

" } }, - "documentation":"

The identity type specified is not supported. Supported identity types include: IAM and QUICKSIGHT.

", - "error":{"httpStatusCode":416}, + "documentation":"

The identity type specified is not supported. Supported identity types include IAM and QUICKSIGHT.

", + "error":{"httpStatusCode":403}, "exception":true }, "InternalFailureException":{ @@ -1010,13 +1074,13 @@ "members":{ "UserName":{ "shape":"UserName", - "documentation":"

The name of the user that you want to list groups for.

", + "documentation":"

The Amazon QuickSight user name that you want to list group memberships for.

", "location":"uri", "locationName":"UserName" }, "AwsAccountId":{ "shape":"AwsAccountId", - "documentation":"

The AWS Account ID that the user is in. Currently, use the AWS Account ID which contains your Amazon QuickSight account.

", + "documentation":"

The AWS Account ID that the user is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.

", "location":"uri", "locationName":"AwsAccountId" }, @@ -1058,7 +1122,7 @@ }, "Status":{ "shape":"StatusCode", - "documentation":"

The http status of the request.

", + "documentation":"

The HTTP status of the request.

", "location":"statusCode" } } @@ -1150,8 +1214,8 @@ "documentation":"

The AWS request ID for this request.

" } }, - "documentation":"

The user is not found. This could happen in any operation that requires finding a user based on the provided user name, such as DeleteUser, DescribeUser, and so on.

", - "error":{"httpStatusCode":412}, + "documentation":"

The user is not found. This error can happen in any operation that requires finding a user based on a provided user name, such as DeleteUser, DescribeUser, and so on.

", + "error":{"httpStatusCode":404}, "exception":true }, "RegisterUserRequest":{ @@ -1181,7 +1245,7 @@ "documentation":"

The ARN of the IAM user or role that you are registering with Amazon QuickSight.

" }, "SessionName":{ - "shape":"String", + "shape":"RoleSessionName", "documentation":"

The name of the session with the assumed IAM role. By using this parameter, you can register multiple users with the same IAM role, provided that each has a different session name. For more information on assuming IAM roles, see assume-role in the AWS CLI Reference.

" }, "AwsAccountId":{ @@ -1209,6 +1273,10 @@ "shape":"User", "documentation":"

The user name.

" }, + "UserInvitationUrl":{ + "shape":"String", + "documentation":"

The URL the user visits to complete registration and provide a password. This is returned only for users with an identity type of QUICKSIGHT.

" + }, "RequestId":{ "shape":"String", "documentation":"

The AWS request ID for this operation.

" @@ -1250,7 +1318,7 @@ "documentation":"

The AWS request ID for this request.

" } }, - "documentation":"

One or more resources couldn't be found.

", + "documentation":"

One or more resources can't be found.

", "error":{"httpStatusCode":404}, "exception":true }, @@ -1271,6 +1339,12 @@ "error":{"httpStatusCode":503}, "exception":true }, + "RoleSessionName":{ + "type":"string", + "max":64, + "min":2, + "pattern":"[\\w+=.@-]*" + }, "SessionLifetimeInMinutes":{ "type":"long", "max":600, @@ -1285,8 +1359,8 @@ "documentation":"

The AWS request ID for this request.

" } }, - "documentation":"

The number of minutes specified for the lifetime of a session is invalid. The session lifetime must be between 15 and 600 minutes.

", - "error":{"httpStatusCode":418}, + "documentation":"

The number of minutes specified for the lifetime of a session is not valid. The session lifetime must be from 15 to 600 minutes.

", + "error":{"httpStatusCode":400}, "exception":true }, "StatusCode":{"type":"integer"}, @@ -1313,8 +1387,8 @@ "documentation":"

The AWS request ID for this request.

" } }, - "documentation":"

Indicates that you are calling an operation on an Amazon QuickSight subscription where the edition does not include support for that operation. Amazon QuickSight currently has Standard Edition and Enterprise Edition. Not every operation and capability is available in every edition.

", - "error":{"httpStatusCode":419}, + "documentation":"

This error indicates that you are calling an operation on an Amazon QuickSight subscription where the edition doesn't include support for that operation. Amazon QuickSight currently has Standard Edition and Enterprise Edition. Not every operation and capability is available in every edition.

", + "error":{"httpStatusCode":403}, "exception":true }, "UpdateGroupRequest":{ @@ -1449,6 +1523,10 @@ "Active":{ "shape":"Boolean", "documentation":"

Active status of user. When you create an Amazon QuickSight user that’s not an IAM user or an AD user, that user is inactive until they sign in and provide a password

" + }, + "PrincipalId":{ + "shape":"String", + "documentation":"

The principal ID of the user.

" } }, "documentation":"

A registered user of Amazon QuickSight. Currently, an Amazon QuickSight subscription can't contain more than 20 million users.

" @@ -1474,5 +1552,5 @@ }, "boolean":{"type":"boolean"} }, - "documentation":"Amazon QuickSight API Reference

Amazon QuickSight is a fast, cloud-powered BI service that makes it easy to build visualizations, perform ad hoc analysis, and quickly get business insights from your data. This API interface reference contains documentation for a programming interface that you can use to manage Amazon QuickSight.

" + "documentation":"Amazon QuickSight API Reference

Amazon QuickSight is a fully managed, serverless, cloud business intelligence service that makes it easy to extend data and insights to every user in your organization. This API interface reference contains documentation for a programming interface that you can use to manage Amazon QuickSight.

" } diff --git a/bin/botocore/data/ram/2018-01-04/paginators-1.json b/bin/botocore/data/ram/2018-01-04/paginators-1.json index ea142457..ec438a09 100644 --- a/bin/botocore/data/ram/2018-01-04/paginators-1.json +++ b/bin/botocore/data/ram/2018-01-04/paginators-1.json @@ -1,3 +1,40 @@ { - "pagination": {} + "pagination": { + "GetResourcePolicies": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "policies" + }, + "GetResourceShareAssociations": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "resourceShareAssociations" + }, + "GetResourceShareInvitations": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "resourceShareInvitations" + }, + "GetResourceShares": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "resourceShares" + }, + "ListPrincipals": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "principals" + }, + "ListResources": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "resources" + } + } } diff --git a/bin/botocore/data/rds-data/2018-08-01/service-2.json b/bin/botocore/data/rds-data/2018-08-01/service-2.json index 9058c641..345dbd95 100644 --- a/bin/botocore/data/rds-data/2018-08-01/service-2.json +++ b/bin/botocore/data/rds-data/2018-08-01/service-2.json @@ -11,8 +11,104 @@ "signingName": "rds-data", "uid": "rds-data-2018-08-01" }, - "documentation": "AWS RDS DataService provides Http Endpoint to query RDS databases.", + "documentation": "Amazon RDS Data Service\n

Amazon RDS provides an HTTP endpoint to run SQL statements on an Amazon Aurora\n Serverless DB cluster. To run these statements, you work with the Data Service\n API.

\n

For more information about the Data Service API, see Using the Data API for Aurora\n Serverless in the Amazon Aurora User Guide.

", "operations": { + "BatchExecuteStatement": { + "name": "BatchExecuteStatement", + "http": { + "method": "POST", + "requestUri": "/BatchExecute", + "responseCode": 200 + }, + "input": { + "shape": "BatchExecuteStatementRequest" + }, + "output": { + "shape": "BatchExecuteStatementResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceUnavailableError" + }, + { + "shape": "StatementTimeoutException" + } + ], + "documentation": "

Runs a batch SQL statement over an array of data.

\n

You can run bulk update and insert operations for multiple records using a DML \n statement with different parameter sets. Bulk operations can provide a significant \n performance improvement over individual insert and update operations.

\n \n

If a call isn't part of a transaction because it doesn't include the\n transactionID parameter, changes that result from the call are\n committed automatically.

\n
" + }, + "BeginTransaction": { + "name": "BeginTransaction", + "http": { + "method": "POST", + "requestUri": "/BeginTransaction", + "responseCode": 200 + }, + "input": { + "shape": "BeginTransactionRequest" + }, + "output": { + "shape": "BeginTransactionResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceUnavailableError" + }, + { + "shape": "StatementTimeoutException" + } + ], + "documentation": "

Starts a SQL transaction.

\n \n \n

A transaction can run for a maximum of 24 hours. A transaction is terminated and \n rolled back automatically after 24 hours.

\n

A transaction times out if no calls use its transaction ID in three minutes. \n If a transaction times out before it's committed, it's rolled back\n automatically.

\n

DDL statements inside a transaction cause an implicit commit. We recommend \n that you run each DDL statement in a separate ExecuteStatement call with \n continueAfterTimeout enabled.

\n
" + }, + "CommitTransaction": { + "name": "CommitTransaction", + "http": { + "method": "POST", + "requestUri": "/CommitTransaction", + "responseCode": 200 + }, + "input": { + "shape": "CommitTransactionRequest" + }, + "output": { + "shape": "CommitTransactionResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableError" + } + ], + "documentation": "

Ends a SQL transaction started with the BeginTransaction operation and\n commits the changes.

" + }, "ExecuteSql": { "name": "ExecuteSql", "http": { @@ -40,37 +136,373 @@ "shape": "ServiceUnavailableError" } ], - "documentation": "Executes any SQL statement on the target database synchronously" + "deprecated": true, + "documentation": "

Runs one or more SQL statements.

\n \n

This operation is deprecated. Use the BatchExecuteStatement or\n ExecuteStatement operation.

\n
" + }, + "ExecuteStatement": { + "name": "ExecuteStatement", + "http": { + "method": "POST", + "requestUri": "/Execute", + "responseCode": 200 + }, + "input": { + "shape": "ExecuteStatementRequest" + }, + "output": { + "shape": "ExecuteStatementResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceUnavailableError" + }, + { + "shape": "StatementTimeoutException" + } + ], + "documentation": "

Runs a SQL statement against a database.

\n \n

If a call isn't part of a transaction because it doesn't include the\n transactionID parameter, changes that result from the call are\n committed automatically.

\n
\n

The response size limit is 1 MB or 1,000 records. If the call returns more than 1 MB of response data or over 1,000 records, the call is terminated.

" + }, + "RollbackTransaction": { + "name": "RollbackTransaction", + "http": { + "method": "POST", + "requestUri": "/RollbackTransaction", + "responseCode": 200 + }, + "input": { + "shape": "RollbackTransactionRequest" + }, + "output": { + "shape": "RollbackTransactionResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableError" + } + ], + "documentation": "

Performs a rollback of a transaction. Rolling back a transaction cancels its changes.

" } }, "shapes": { - "Boolean": { - "type": "boolean", + "SqlStatementResults": { + "type": "list", + "member": { + "shape": "SqlStatementResult" + } + }, + "ResultFrame": { + "type": "structure", + "members": { + "records": { + "shape": "Records", + "documentation": "

The records in the result set.

" + }, + "resultSetMetadata": { + "shape": "ResultSetMetadata", + "documentation": "

The result-set metadata in the result set.

" + } + }, + "documentation": "

The result set returned by a SQL statement.

" + }, + "SqlParameterSets": { + "type": "list", + "member": { + "shape": "SqlParametersList" + } + }, + "NotFoundException": { + "type": "structure", + "members": { + "message": { + "shape": "ErrorMessage", + "documentation": "

The error message returned by this NotFoundException error.

" + } + }, + "documentation": "

The resourceArn, secretArn, or transactionId value can't be found.

", + "exception": true, + "error": { + "code": "NotFoundException", + "httpStatusCode": 404, + "senderFault": true + } + }, + "BatchExecuteStatementRequest": { + "type": "structure", + "required": [ + "resourceArn", + "secretArn", + "sql" + ], + "members": { + "database": { + "shape": "DbName", + "documentation": "

The name of the database.

" + }, + "parameterSets": { + "shape": "SqlParameterSets", + "documentation": "

The parameter set for the batch operation.

" + }, + "resourceArn": { + "shape": "Arn", + "documentation": "

The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster.

" + }, + "schema": { + "shape": "DbName", + "documentation": "

The name of the database schema.

" + }, + "secretArn": { + "shape": "Arn", + "documentation": "

The name or ARN of the secret that enables access to the DB cluster.

" + }, + "sql": { + "shape": "SqlStatement", + "documentation": "

The SQL statement to run.

" + }, + "transactionId": { + "shape": "Id", + "documentation": "

The identifier of a transaction that was started by using the\n BeginTransaction operation. Specify the transaction ID of the\n transaction that you want to include the SQL statement in.

\n

If the SQL statement is not part of a transaction, don't set this\n parameter.

" + } + }, + "documentation": "

The request parameters represent the input of a SQL statement over an array of\n data.

" + }, + "ArrayValueList": { + "type": "list", + "member": { + "shape": "Value" + } + }, + "UpdateResults": { + "type": "list", + "member": { + "shape": "UpdateResult" + } + }, + "Row": { + "type": "list", + "member": { + "shape": "Value" + } + }, + "SqlRecords": { + "type": "list", + "member": { + "shape": "FieldList" + } + }, + "Long": { + "type": "long" + }, + "BoxedInteger": { + "type": "integer", "box": true }, - "SqlStatementResult": { + "CommitTransactionResponse": { "type": "structure", "members": { - "numberOfRecordsUpdated": { - "shape": "Long", - "documentation": "Number of rows updated." + "transactionStatus": { + "shape": "TransactionStatus", + "documentation": "

The status of the commit operation.

" + } + }, + "documentation": "

The response elements represent the output of a commit transaction request.

" + }, + "Integer": { + "type": "integer" + }, + "BoxedLong": { + "type": "long", + "box": true + }, + "SqlParameter": { + "type": "structure", + "members": { + "name": { + "shape": "ParameterName", + "documentation": "

The name of the parameter.

" }, - "resultFrame": { - "shape": "ResultFrame", - "documentation": "ResultFrame returned by executing the sql statement" + "value": { + "shape": "Field", + "documentation": "

The value of the parameter.

" + } + }, + "documentation": "

A parameter used in a SQL statement.

" + }, + "Field": { + "type": "structure", + "members": { + "blobValue": { + "shape": "Blob", + "documentation": "

A value of BLOB data type.

" + }, + "booleanValue": { + "shape": "BoxedBoolean", + "documentation": "

A value of Boolean data type.

" + }, + "doubleValue": { + "shape": "BoxedDouble", + "documentation": "

A value of double data type.

" + }, + "isNull": { + "shape": "BoxedBoolean", + "documentation": "

A NULL value.

" + }, + "longValue": { + "shape": "BoxedLong", + "documentation": "

A value of long data type.

" + }, + "stringValue": { + "shape": "String", + "documentation": "

A value of string data type.

" + } + }, + "documentation": "

Contains a value.

" + }, + "ExecuteSqlRequest": { + "type": "structure", + "required": [ + "awsSecretStoreArn", + "dbClusterOrInstanceArn", + "sqlStatements" + ], + "members": { + "awsSecretStoreArn": { + "shape": "Arn", + "documentation": "

The Amazon Resource Name (ARN) of the secret that enables access to the DB cluster.

" + }, + "database": { + "shape": "DbName", + "documentation": "

The name of the database.

" + }, + "dbClusterOrInstanceArn": { + "shape": "Arn", + "documentation": "

The ARN of the Aurora Serverless DB cluster.

" + }, + "schema": { + "shape": "DbName", + "documentation": "

The name of the database schema.

" + }, + "sqlStatements": { + "shape": "SqlStatement", + "documentation": "

One or more SQL statements to run on the DB cluster.

\n

You can separate SQL statements from each other with a semicolon (;). Any valid SQL\n statement is permitted, including data definition, data manipulation, and commit\n statements.

" + } + }, + "documentation": "

The request parameters represent the input of a request to run one or more SQL\n statements.

" + }, + "Arn": { + "type": "string", + "max": 100 + }, + "StructValue": { + "type": "structure", + "members": { + "attributes": { + "shape": "ArrayValueList", + "documentation": "

The attributes returned in the record.

" + } + }, + "documentation": "

A structure value returned by a call.

" + }, + "Boolean": { + "type": "boolean" + }, + "BadRequestException": { + "type": "structure", + "members": { + "message": { + "shape": "ErrorMessage", + "documentation": "

The error message returned by this BadRequestException error.

" + } + }, + "documentation": "

There is an error in the call or in a SQL statement.

", + "exception": true, + "error": { + "code": "BadRequestException", + "httpStatusCode": 400, + "senderFault": true + } + }, + "TransactionStatus": { + "type": "string", + "max": 128 + }, + "SqlStatement": { + "type": "string", + "max": 65536 + }, + "RollbackTransactionRequest": { + "type": "structure", + "required": [ + "resourceArn", + "secretArn", + "transactionId" + ], + "members": { + "resourceArn": { + "shape": "Arn", + "documentation": "

The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster.

" + }, + "secretArn": { + "shape": "Arn", + "documentation": "

The name or ARN of the secret that enables access to the DB cluster.

" + }, + "transactionId": { + "shape": "Id", + "documentation": "

The identifier of the transaction to roll back.

" + } + }, + "documentation": "

The request parameters represent the input of a request to perform a rollback of a\n transaction.

" + }, + "ErrorMessage": { + "type": "string" + }, + "Record": { + "type": "structure", + "members": { + "values": { + "shape": "Row", + "documentation": "

The values returned in the record.

" } }, - "documentation": "SQL statement execution result" + "documentation": "

A record returned by a call.

" + }, + "BoxedFloat": { + "type": "float", + "box": true + }, + "BoxedDouble": { + "type": "double", + "box": true }, "ForbiddenException": { "type": "structure", "members": { "message": { - "shape": "String", - "documentation": "Error message" + "shape": "ErrorMessage", + "documentation": "

The error message returned by this ForbiddenException error.

" } }, - "documentation": "Access denied exception", + "documentation": "

There are insufficient privileges to make the call.

", "exception": true, "error": { "code": "ForbiddenException", @@ -82,296 +514,395 @@ "type": "structure", "members": { "arrayValues": { - "shape": "ArrayValues", - "documentation": "Arbitrarily nested arrays" + "shape": "ArrayValueList", + "documentation": "

An array of column values.

" }, "bigIntValue": { - "shape": "Long", - "documentation": "Long value" + "shape": "BoxedLong", + "documentation": "

A value for a column of big integer data type.

" }, "bitValue": { - "shape": "Boolean", - "documentation": "Bit value" + "shape": "BoxedBoolean", + "documentation": "

A value for a column of BIT data type.

" }, "blobValue": { "shape": "Blob", - "documentation": "Blob value" + "documentation": "

A value for a column of BLOB data type.

" }, "doubleValue": { - "shape": "Double", - "documentation": "Double value" + "shape": "BoxedDouble", + "documentation": "

A value for a column of double data type.

" }, "intValue": { - "shape": "Integer", - "documentation": "Integer value" + "shape": "BoxedInteger", + "documentation": "

A value for a column of integer data type.

" }, "isNull": { - "shape": "Boolean", - "documentation": "Is column null" + "shape": "BoxedBoolean", + "documentation": "

A NULL value.

" }, "realValue": { - "shape": "Float", - "documentation": "Float value" + "shape": "BoxedFloat", + "documentation": "

A value for a column of real data type.

" }, "stringValue": { "shape": "String", - "documentation": "String value" + "documentation": "

A value for a column of string data type.

" }, "structValue": { "shape": "StructValue", - "documentation": "Struct or UDT" + "documentation": "

A value for a column of STRUCT data type.

" } }, - "documentation": "Column value" + "documentation": "

Contains the value of a column.

" }, - "SqlStatementResults": { + "FieldList": { "type": "list", "member": { - "shape": "SqlStatementResult" + "shape": "Field" + } + }, + "StatementTimeoutException": { + "type": "structure", + "members": { + "dbConnectionId": { + "shape": "Long", + "documentation": "

The database connection ID that executed the SQL statement.

" + }, + "message": { + "shape": "ErrorMessage", + "documentation": "

The error message returned by this StatementTimeoutException error.

" + } }, - "documentation": "SQL statement execution results" + "documentation": "

The execution of the SQL statement timed out.

", + "exception": true, + "error": { + "code": "StatementTimeoutException", + "httpStatusCode": 400, + "senderFault": true + } }, - "ColumnMetadataList": { + "ExecuteStatementResponse": { + "type": "structure", + "members": { + "columnMetadata": { + "shape": "Metadata", + "documentation": "

Metadata for the columns included in the results.

" + }, + "generatedFields": { + "shape": "FieldList", + "documentation": "

Values for fields generated during the request.

" + }, + "numberOfRecordsUpdated": { + "shape": "RecordsUpdated", + "documentation": "

The number of records updated by the request.

" + }, + "records": { + "shape": "SqlRecords", + "documentation": "

The records returned by the SQL statement.

" + } + }, + "documentation": "

The response elements represent the output of a request to run a SQL statement against\n a database.

" + }, + "BoxedBoolean": { + "type": "boolean", + "box": true + }, + "RecordsUpdated": { + "type": "long" + }, + "UpdateResult": { + "type": "structure", + "members": { + "generatedFields": { + "shape": "FieldList", + "documentation": "

Values for fields generated during the request.

" + } + }, + "documentation": "

The response elements represent the results of an update.

" + }, + "SqlParametersList": { + "type": "list", + "member": { + "shape": "SqlParameter" + } + }, + "ParameterName": { + "type": "string" + }, + "Metadata": { "type": "list", "member": { "shape": "ColumnMetadata" + } + }, + "ExecuteSqlResponse": { + "type": "structure", + "members": { + "sqlStatementResults": { + "shape": "SqlStatementResults", + "documentation": "

The results of the SQL statement or statements.

" + } + }, + "documentation": "

The response elements represent the output of a request to run one or more SQL\n statements.

" + }, + "SqlStatementResult": { + "type": "structure", + "members": { + "numberOfRecordsUpdated": { + "shape": "RecordsUpdated", + "documentation": "

The number of records updated by a SQL statement.

" + }, + "resultFrame": { + "shape": "ResultFrame", + "documentation": "

The result set of the SQL statement.

" + } + }, + "documentation": "

The result of a SQL statement.

" + }, + "BeginTransactionRequest": { + "type": "structure", + "required": [ + "resourceArn", + "secretArn" + ], + "members": { + "database": { + "shape": "DbName", + "documentation": "

The name of the database.

" + }, + "resourceArn": { + "shape": "Arn", + "documentation": "

The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster.

" + }, + "schema": { + "shape": "DbName", + "documentation": "

The name of the database schema.

" + }, + "secretArn": { + "shape": "Arn", + "documentation": "

The name or ARN of the secret that enables access to the DB cluster.

" + } + }, + "documentation": "

The request parameters represent the input of a request to start a SQL\n transaction.

" + }, + "RollbackTransactionResponse": { + "type": "structure", + "members": { + "transactionStatus": { + "shape": "TransactionStatus", + "documentation": "

The status of the rollback operation.

" + } }, - "documentation": "List of Column metadata" + "documentation": "

The response elements represent the output of a request to perform a rollback of a\n transaction.

" + }, + "BatchExecuteStatementResponse": { + "type": "structure", + "members": { + "updateResults": { + "shape": "UpdateResults", + "documentation": "

The execution results of each batch entry.

" + } + }, + "documentation": "

The response elements represent the output of a SQL statement over an array of\n data.

" }, "ResultSetMetadata": { "type": "structure", "members": { "columnCount": { "shape": "Long", - "documentation": "Number of columns" + "documentation": "

The number of columns in the result set.

" }, "columnMetadata": { - "shape": "ColumnMetadataList", - "documentation": "List of columns and their types" + "shape": "Metadata", + "documentation": "

The metadata of the columns in the result set.

" } }, - "documentation": "List of columns and their types." + "documentation": "

The metadata of the result set returned by a SQL statement.

" }, "Records": { "type": "list", "member": { "shape": "Record" - }, - "documentation": "List of records" + } }, - "ResultFrame": { + "ExecuteStatementRequest": { "type": "structure", + "required": [ + "resourceArn", + "secretArn", + "sql" + ], "members": { - "records": { - "shape": "Records", - "documentation": "ResultSet Metadata." + "continueAfterTimeout": { + "shape": "Boolean", + "documentation": "

A value that indicates whether to continue running the statement after \n the call times out. By default, the statement stops running when the call \n times out.

\n \n

For DDL statements, we recommend continuing to run the statement after \n the call times out. When a DDL statement terminates before it is finished \n running, it can result in errors and possibly corrupted data structures.

\n
" }, - "resultSetMetadata": { - "shape": "ResultSetMetadata", - "documentation": "ResultSet Metadata." + "database": { + "shape": "DbName", + "documentation": "

The name of the database.

" + }, + "includeResultMetadata": { + "shape": "Boolean", + "documentation": "

A value that indicates whether to include metadata in the results.

" + }, + "parameters": { + "shape": "SqlParametersList", + "documentation": "

The parameters for the SQL statement.

" + }, + "resourceArn": { + "shape": "Arn", + "documentation": "

The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster.

" + }, + "schema": { + "shape": "DbName", + "documentation": "

The name of the database schema.

" + }, + "secretArn": { + "shape": "Arn", + "documentation": "

The name or ARN of the secret that enables access to the DB cluster.

" + }, + "sql": { + "shape": "SqlStatement", + "documentation": "

The SQL statement to run.

" + }, + "transactionId": { + "shape": "Id", + "documentation": "

The identifier of a transaction that was started by using the\n BeginTransaction operation. Specify the transaction ID of the\n transaction that you want to include the SQL statement in.

\n

If the SQL statement is not part of a transaction, don't set this parameter.

" } }, - "documentation": "Result Frame" + "documentation": "

The request parameters represent the input of a request to run a SQL statement against\n a database.

" }, - "ExecuteSqlRequest": { + "Blob": { + "type": "blob" + }, + "String": { + "type": "string" + }, + "BeginTransactionResponse": { + "type": "structure", + "members": { + "transactionId": { + "shape": "Id", + "documentation": "

The transaction ID of the transaction started by the call.

" + } + }, + "documentation": "

The response elements represent the output of a request to start a SQL\n transaction.

" + }, + "Id": { + "type": "string", + "max": 192 + }, + "CommitTransactionRequest": { "type": "structure", "required": [ - "awsSecretStoreArn", - "dbClusterOrInstanceArn", - "sqlStatements" + "resourceArn", + "secretArn", + "transactionId" ], "members": { - "awsSecretStoreArn": { + "resourceArn": { + "shape": "Arn", + "documentation": "

The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster.

" + }, + "secretArn": { + "shape": "Arn", + "documentation": "

The name or ARN of the secret that enables access to the DB cluster.

" + }, + "transactionId": { + "shape": "Id", + "documentation": "

The identifier of the transaction to end and commit.

" + } + }, + "documentation": "

The request parameters represent the input of a commit transaction request.

" + }, + "ServiceUnavailableError": { + "type": "structure", + "members": { }, + "documentation": "

The service specified by the resourceArn parameter is not\n available.

", + "exception": true, + "error": { + "code": "ServiceUnavailableError", + "httpStatusCode": 503, + "fault": true + } + }, + "ColumnMetadata": { + "type": "structure", + "members": { + "arrayBaseColumnType": { + "shape": "Integer", + "documentation": "

The type of the column.

" + }, + "isAutoIncrement": { + "shape": "Boolean", + "documentation": "

A value that indicates whether the column increments automatically.

" + }, + "isCaseSensitive": { + "shape": "Boolean", + "documentation": "

A value that indicates whether the column is case-sensitive.

" + }, + "isCurrency": { + "shape": "Boolean", + "documentation": "

A value that indicates whether the column contains currency values.

" + }, + "isSigned": { + "shape": "Boolean", + "documentation": "

A value that indicates whether an integer column is signed.

" + }, + "label": { "shape": "String", - "documentation": "ARN of the db credentials in AWS Secret Store or the friendly secret name" + "documentation": "

The label for the column.

" }, - "database": { + "name": { "shape": "String", - "documentation": "Target DB name" + "documentation": "

The name of the column.

" }, - "dbClusterOrInstanceArn": { + "nullable": { + "shape": "Integer", + "documentation": "

A value that indicates whether the column is nullable.

" + }, + "precision": { + "shape": "Integer", + "documentation": "

The precision value of a decimal number column.

" + }, + "scale": { + "shape": "Integer", + "documentation": "

The scale value of a decimal number column.

" + }, + "schemaName": { "shape": "String", - "documentation": "ARN of the target db cluster or instance" + "documentation": "

The name of the schema that owns the table that includes the column.

" }, - "schema": { + "tableName": { "shape": "String", - "documentation": "Target Schema name" + "documentation": "

The name of the table that includes the column.

" }, - "sqlStatements": { + "type": { + "shape": "Integer", + "documentation": "

The type of the column.

" + }, + "typeName": { "shape": "String", - "documentation": "SQL statement(s) to be executed. Statements can be chained by using semicolons" + "documentation": "

The database-specific data type of the column.

" } }, - "documentation": "Execute SQL Request" + "documentation": "

Contains the metadata for a column.

" }, - "Long": { - "type": "long", - "box": true + "DbName": { + "type": "string", + "max": 64 }, - "StructValue": { + "InternalServerErrorException": { "type": "structure", - "members": { - "attributes": { - "shape": "ArrayValues", - "documentation": "Struct or UDT" - } - }, - "documentation": "User Defined Type" - }, - "BadRequestException": { - "type": "structure", - "members": { - "message": { - "shape": "String", - "documentation": "Error message" - } - }, - "documentation": "Invalid Request exception", - "exception": true, - "error": { - "code": "BadRequestException", - "httpStatusCode": 400, - "senderFault": true - } - }, - "Blob": { - "type": "blob" - }, - "Row": { - "type": "list", - "member": { - "shape": "Value" - }, - "documentation": "List of column values" - }, - "String": { - "type": "string" - }, - "ArrayValues": { - "type": "list", - "member": { - "shape": "Value" - }, - "documentation": "Array value" - }, - "Double": { - "type": "double", - "box": true - }, - "ServiceUnavailableError": { - "type": "structure", - "members": { }, - "documentation": "Internal service unavailable error", - "exception": true, - "error": { - "code": "ServiceUnavailableError", - "httpStatusCode": 503, - "fault": true - } - }, - "ColumnMetadata": { - "type": "structure", - "members": { - "arrayBaseColumnType": { - "shape": "Integer", - "documentation": "Homogenous array base SQL type from java.sql.Types." - }, - "isAutoIncrement": { - "shape": "Boolean", - "documentation": "Whether the designated column is automatically numbered" - }, - "isCaseSensitive": { - "shape": "Boolean", - "documentation": "Whether values in the designated column's case matters" - }, - "isCurrency": { - "shape": "Boolean", - "documentation": "Whether values in the designated column is a cash value" - }, - "isSigned": { - "shape": "Boolean", - "documentation": "Whether values in the designated column are signed numbers" - }, - "label": { - "shape": "String", - "documentation": "Usually specified by the SQL AS. If not specified, return column name." - }, - "name": { - "shape": "String", - "documentation": "Name of the column." - }, - "nullable": { - "shape": "Integer", - "documentation": "Indicates the nullability of values in the designated column. One of columnNoNulls (0), columnNullable (1), columnNullableUnknown (2)" - }, - "precision": { - "shape": "Integer", - "documentation": "Get the designated column's specified column size.For numeric data, this is the maximum precision. For character data, this is the length in characters. For datetime datatypes, this is the length in characters of the String representation (assuming the maximum allowed precision of the fractional seconds component). For binary data, this is the length in bytes. For the ROWID datatype, this is the length in bytes. 0 is returned for data types where the column size is not applicable." - }, - "scale": { - "shape": "Integer", - "documentation": "Designated column's number of digits to right of the decimal point. 0 is returned for data types where the scale is not applicable." - }, - "schemaName": { - "shape": "String", - "documentation": "Designated column's table's schema" - }, - "tableName": { - "shape": "String", - "documentation": "Designated column's table name" - }, - "type": { - "shape": "Integer", - "documentation": "SQL type from java.sql.Types." - }, - "typeName": { - "shape": "String", - "documentation": "Database-specific type name." - } - }, - "documentation": "Column Metadata" - }, - "Integer": { - "type": "integer", - "box": true - }, - "Float": { - "type": "float", - "box": true - }, - "Record": { - "type": "structure", - "members": { - "values": { - "shape": "Row", - "documentation": "Record" - } - }, - "documentation": "Row or Record" - }, - "InternalServerErrorException": { - "type": "structure", - "members": { }, - "documentation": "Internal service error", - "exception": true, - "error": { - "code": "InternalServerErrorException", - "httpStatusCode": 500, - "fault": true - } - }, - "ExecuteSqlResponse": { - "type": "structure", - "required": [ - "sqlStatementResults" - ], - "members": { - "sqlStatementResults": { - "shape": "SqlStatementResults", - "documentation": "Results returned by executing the sql statement(s)" - } - }, - "documentation": "Execute SQL response" - } - } - } + "members": { }, + "documentation": "

An internal error occurred.

", + "exception": true, + "error": { + "code": "InternalServerErrorException", + "httpStatusCode": 500, + "fault": true + } + } + } +} diff --git a/bin/botocore/data/rds/2014-10-31/paginators-1.json b/bin/botocore/data/rds/2014-10-31/paginators-1.json index acdf7a3a..b920e8cb 100644 --- a/bin/botocore/data/rds/2014-10-31/paginators-1.json +++ b/bin/botocore/data/rds/2014-10-31/paginators-1.json @@ -1,17 +1,53 @@ { "pagination": { + "DescribeCertificates": { + "input_token": "Marker", + "output_token": "Marker", + "limit_key": "MaxRecords", + "result_key": "Certificates" + }, + "DescribeDBClusterBacktracks": { + "input_token": "Marker", + "output_token": "Marker", + "limit_key": "MaxRecords", + "result_key": "DBClusterBacktracks" + }, + "DescribeDBClusterParameterGroups": { + "input_token": "Marker", + "output_token": "Marker", + "limit_key": "MaxRecords", + "result_key": "DBClusterParameterGroups" + }, + "DescribeDBClusterParameters": { + "input_token": "Marker", + "output_token": "Marker", + "limit_key": "MaxRecords", + "result_key": "Parameters" + }, "DescribeDBClusterSnapshots": { "input_token": "Marker", "output_token": "Marker", "limit_key": "MaxRecords", "result_key": "DBClusterSnapshots" }, + "DescribeDBClusters": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "DBClusters" + }, "DescribeDBEngineVersions": { "input_token": "Marker", "output_token": "Marker", "limit_key": "MaxRecords", "result_key": "DBEngineVersions" }, + "DescribeDBInstanceAutomatedBackups": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "DBInstanceAutomatedBackups" + }, "DescribeDBInstances": { "input_token": "Marker", "output_token": "Marker", @@ -54,6 +90,12 @@ "limit_key": "MaxRecords", "result_key": "DBSubnetGroups" }, + "DescribeEngineDefaultClusterParameters": { + "input_token": "Marker", + "output_token": "EngineDefaults.Marker", + "limit_key": "MaxRecords", + "result_key": "EngineDefaults.Parameters" + }, "DescribeEngineDefaultParameters": { "input_token": "Marker", "output_token": "EngineDefaults.Marker", @@ -72,6 +114,12 @@ "limit_key": "MaxRecords", "result_key": "Events" }, + "DescribeGlobalClusters": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "GlobalClusters" + }, "DescribeOptionGroupOptions": { "input_token": "Marker", "output_token": "Marker", @@ -90,6 +138,12 @@ "limit_key": "MaxRecords", "result_key": "OrderableDBInstanceOptions" }, + "DescribePendingMaintenanceActions": { + "input_token": "Marker", + "output_token": "Marker", + "limit_key": "MaxRecords", + "result_key": "PendingMaintenanceActions" + }, "DescribeReservedDBInstances": { "input_token": "Marker", "output_token": "Marker", @@ -102,30 +156,24 @@ "limit_key": "MaxRecords", "result_key": "ReservedDBInstancesOfferings" }, - "DownloadDBLogFilePortion": { + "DescribeSourceRegions": { "input_token": "Marker", "output_token": "Marker", - "limit_key": "NumberOfLines", - "more_results": "AdditionalDataPending", - "result_key": "LogFileData" - }, - "DescribeDBClusters": { - "input_token": "Marker", "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "DBClusters" + "result_key": "SourceRegions" }, - "DescribeDBInstanceAutomatedBackups": { + "DownloadDBLogFilePortion": { "input_token": "Marker", - "limit_key": "MaxRecords", "output_token": "Marker", - "result_key": "DBInstanceAutomatedBackups" + "limit_key": "NumberOfLines", + "more_results": "AdditionalDataPending", + "result_key": "LogFileData" }, - "DescribeGlobalClusters": { + "DescribeDBClusterEndpoints": { "input_token": "Marker", "limit_key": "MaxRecords", "output_token": "Marker", - "result_key": "GlobalClusters" + "result_key": "DBClusterEndpoints" } } } diff --git a/bin/botocore/data/rds/2014-10-31/service-2.json b/bin/botocore/data/rds/2014-10-31/service-2.json index ac33d1b7..8fa3d9ff 100644 --- a/bin/botocore/data/rds/2014-10-31/service-2.json +++ b/bin/botocore/data/rds/2014-10-31/service-2.json @@ -25,7 +25,22 @@ {"shape":"InvalidDBClusterStateFault"}, {"shape":"DBClusterRoleQuotaExceededFault"} ], - "documentation":"

Associates an Identity and Access Management (IAM) role from an Aurora DB cluster. For more information, see Authorizing Amazon Aurora MySQL to Access Other AWS Services on Your Behalf in the Amazon Aurora User Guide.

" + "documentation":"

Associates an Identity and Access Management (IAM) role from an Amazon Aurora DB cluster. For more information, see Authorizing Amazon Aurora MySQL to Access Other AWS Services on Your Behalf in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

" + }, + "AddRoleToDBInstance":{ + "name":"AddRoleToDBInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AddRoleToDBInstanceMessage"}, + "errors":[ + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"DBInstanceRoleAlreadyExistsFault"}, + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"DBInstanceRoleQuotaExceededFault"} + ], + "documentation":"

Associates an AWS Identity and Access Management (IAM) role with a DB instance.

To add a role to a DB instance, the status of the DB instance must be available.

" }, "AddSourceIdentifierToSubscription":{ "name":"AddSourceIdentifierToSubscription", @@ -56,7 +71,7 @@ {"shape":"DBSnapshotNotFoundFault"}, {"shape":"DBClusterNotFoundFault"} ], - "documentation":"

Adds metadata tags to an Amazon RDS resource. These tags can also be used with cost allocation reporting to track cost associated with Amazon RDS resources, or used in a Condition statement in an IAM policy for Amazon RDS.

For an overview on tagging Amazon RDS resources, see Tagging Amazon RDS Resources.

" + "documentation":"

Adds metadata tags to an Amazon RDS resource. These tags can also be used with cost allocation reporting to track cost associated with Amazon RDS resources, or used in a Condition statement in an IAM policy for Amazon RDS.

For an overview on tagging Amazon RDS resources, see Tagging Amazon RDS Resources.

" }, "ApplyPendingMaintenanceAction":{ "name":"ApplyPendingMaintenanceAction", @@ -110,7 +125,7 @@ {"shape":"DBClusterNotFoundFault"}, {"shape":"InvalidDBClusterStateFault"} ], - "documentation":"

Backtracks a DB cluster to a specific time, without creating a new DB cluster.

For more information on backtracking, see Backtracking an Aurora DB Cluster in the Amazon Aurora User Guide.

" + "documentation":"

Backtracks a DB cluster to a specific time, without creating a new DB cluster.

For more information on backtracking, see Backtracking an Aurora DB Cluster in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

" }, "CopyDBClusterParameterGroup":{ "name":"CopyDBClusterParameterGroup", @@ -128,7 +143,7 @@ {"shape":"DBParameterGroupQuotaExceededFault"}, {"shape":"DBParameterGroupAlreadyExistsFault"} ], - "documentation":"

Copies the specified DB cluster parameter group.

" + "documentation":"

Copies the specified DB cluster parameter group.

This action only applies to Aurora DB clusters.

" }, "CopyDBClusterSnapshot":{ "name":"CopyDBClusterSnapshot", @@ -149,7 +164,7 @@ {"shape":"SnapshotQuotaExceededFault"}, {"shape":"KMSKeyNotAccessibleFault"} ], - "documentation":"

Copies a snapshot of a DB cluster.

To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.

You can copy an encrypted DB cluster snapshot from another AWS Region. In that case, the AWS Region where you call the CopyDBClusterSnapshot action is the destination AWS Region for the encrypted DB cluster snapshot to be copied to. To copy an encrypted DB cluster snapshot from another AWS Region, you must provide the following values:

  • KmsKeyId - The AWS Key Management System (AWS KMS) key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region.

  • PreSignedUrl - A URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot action to be called in the source AWS Region where the DB cluster snapshot is copied from. The pre-signed URL must be a valid request for the CopyDBClusterSnapshot API action that can be executed in the source AWS Region that contains the encrypted DB cluster snapshot to be copied.

    The pre-signed URL request must contain the following parameter values:

    • KmsKeyId - The KMS key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region. This is the same identifier for both the CopyDBClusterSnapshot action that is called in the destination AWS Region, and the action contained in the pre-signed URL.

    • DestinationRegion - The name of the AWS Region that the DB cluster snapshot will be created in.

    • SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB cluster snapshot from the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.

    To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

  • TargetDBClusterSnapshotIdentifier - The identifier for the new copy of the DB cluster snapshot in the destination AWS Region.

  • SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the ARN format for the source AWS Region and is the same value as the SourceDBClusterSnapshotIdentifier in the pre-signed URL.

To cancel the copy operation once it is in progress, delete the target DB cluster snapshot identified by TargetDBClusterSnapshotIdentifier while that DB cluster snapshot is in \"copying\" status.

For more information on copying encrypted DB cluster snapshots from one AWS Region to another, see Copying a Snapshot in the Amazon Aurora User Guide.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" + "documentation":"

Copies a snapshot of a DB cluster.

To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.

You can copy an encrypted DB cluster snapshot from another AWS Region. In that case, the AWS Region where you call the CopyDBClusterSnapshot action is the destination AWS Region for the encrypted DB cluster snapshot to be copied to. To copy an encrypted DB cluster snapshot from another AWS Region, you must provide the following values:

  • KmsKeyId - The AWS Key Management System (AWS KMS) key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region.

  • PreSignedUrl - A URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot action to be called in the source AWS Region where the DB cluster snapshot is copied from. The pre-signed URL must be a valid request for the CopyDBClusterSnapshot API action that can be executed in the source AWS Region that contains the encrypted DB cluster snapshot to be copied.

    The pre-signed URL request must contain the following parameter values:

    • KmsKeyId - The KMS key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region. This is the same identifier for both the CopyDBClusterSnapshot action that is called in the destination AWS Region, and the action contained in the pre-signed URL.

    • DestinationRegion - The name of the AWS Region that the DB cluster snapshot will be created in.

    • SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB cluster snapshot from the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.

    To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

  • TargetDBClusterSnapshotIdentifier - The identifier for the new copy of the DB cluster snapshot in the destination AWS Region.

  • SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the ARN format for the source AWS Region and is the same value as the SourceDBClusterSnapshotIdentifier in the pre-signed URL.

To cancel the copy operation once it is in progress, delete the target DB cluster snapshot identified by TargetDBClusterSnapshotIdentifier while that DB cluster snapshot is in \"copying\" status.

For more information on copying encrypted DB cluster snapshots from one AWS Region to another, see Copying a Snapshot in the Amazon Aurora User Guide.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

" }, "CopyDBParameterGroup":{ "name":"CopyDBParameterGroup", @@ -187,7 +202,7 @@ {"shape":"SnapshotQuotaExceededFault"}, {"shape":"KMSKeyNotAccessibleFault"} ], - "documentation":"

Copies the specified DB snapshot. The source DB snapshot must be in the \"available\" state.

You can copy a snapshot from one AWS Region to another. In that case, the AWS Region where you call the CopyDBSnapshot action is the destination AWS Region for the DB snapshot copy.

For more information about copying snapshots, see Copying a DB Snapshot in the Amazon RDS User Guide.

" + "documentation":"

Copies the specified DB snapshot. The source DB snapshot must be in the \"available\" state.

You can copy a snapshot from one AWS Region to another. In that case, the AWS Region where you call the CopyDBSnapshot action is the destination AWS Region for the DB snapshot copy.

For more information about copying snapshots, see Copying a DB Snapshot in the Amazon RDS User Guide.

" }, "CopyOptionGroup":{ "name":"CopyOptionGroup", @@ -237,7 +252,7 @@ {"shape":"GlobalClusterNotFoundFault"}, {"shape":"InvalidGlobalClusterStateFault"} ], - "documentation":"

Creates a new Amazon Aurora DB cluster.

You can use the ReplicationSourceIdentifier parameter to create the DB cluster as a Read Replica of another DB cluster or Amazon RDS MySQL DB instance. For cross-region replication where the DB cluster identified by ReplicationSourceIdentifier is encrypted, you must also specify the PreSignedUrl parameter.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" + "documentation":"

Creates a new Amazon Aurora DB cluster.

You can use the ReplicationSourceIdentifier parameter to create the DB cluster as a Read Replica of another DB cluster or Amazon RDS MySQL DB instance. For cross-region replication where the DB cluster identified by ReplicationSourceIdentifier is encrypted, you must also specify the PreSignedUrl parameter.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

" }, "CreateDBClusterEndpoint":{ "name":"CreateDBClusterEndpoint", @@ -258,7 +273,7 @@ {"shape":"DBInstanceNotFoundFault"}, {"shape":"InvalidDBInstanceStateFault"} ], - "documentation":"

Creates a new custom endpoint and associates it with an Amazon Aurora DB cluster.

" + "documentation":"

Creates a new custom endpoint and associates it with an Amazon Aurora DB cluster.

This action only applies to Aurora DB clusters.

" }, "CreateDBClusterParameterGroup":{ "name":"CreateDBClusterParameterGroup", @@ -275,7 +290,7 @@ {"shape":"DBParameterGroupQuotaExceededFault"}, {"shape":"DBParameterGroupAlreadyExistsFault"} ], - "documentation":"

Creates a new DB cluster parameter group.

Parameters in a DB cluster parameter group apply to all of the instances in a DB cluster.

A DB cluster parameter group is initially created with the default parameters for the database engine used by instances in the DB cluster. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBClusterParameterGroup. Once you've created a DB cluster parameter group, you need to associate it with your DB cluster using ModifyDBCluster. When you associate a new DB cluster parameter group with a running DB cluster, you need to reboot the DB instances in the DB cluster without failover for the new DB cluster parameter group and associated settings to take effect.

After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the DB cluster parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBClusterParameters command to verify that your DB cluster parameter group has been created or modified.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" + "documentation":"

Creates a new DB cluster parameter group.

Parameters in a DB cluster parameter group apply to all of the instances in a DB cluster.

A DB cluster parameter group is initially created with the default parameters for the database engine used by instances in the DB cluster. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBClusterParameterGroup. Once you've created a DB cluster parameter group, you need to associate it with your DB cluster using ModifyDBCluster. When you associate a new DB cluster parameter group with a running DB cluster, you need to reboot the DB instances in the DB cluster without failover for the new DB cluster parameter group and associated settings to take effect.

After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the DB cluster parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBClusterParameters action to verify that your DB cluster parameter group has been created or modified.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

" }, "CreateDBClusterSnapshot":{ "name":"CreateDBClusterSnapshot", @@ -295,7 +310,7 @@ {"shape":"SnapshotQuotaExceededFault"}, {"shape":"InvalidDBClusterSnapshotStateFault"} ], - "documentation":"

Creates a snapshot of a DB cluster. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" + "documentation":"

Creates a snapshot of a DB cluster. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

" }, "CreateDBInstance":{ "name":"CreateDBInstance", @@ -362,7 +377,7 @@ {"shape":"StorageTypeNotSupportedFault"}, {"shape":"KMSKeyNotAccessibleFault"} ], - "documentation":"

Creates a new DB instance that acts as a Read Replica for an existing source DB instance. You can create a Read Replica for a DB instance running MySQL, MariaDB, or PostgreSQL. For more information, see Working with PostgreSQL, MySQL, and MariaDB Read Replicas in the Amazon RDS User Guide.

Amazon Aurora doesn't support this action. You must call the CreateDBInstance action to create a DB instance for an Aurora DB cluster.

All Read Replica DB instances are created with backups disabled. All other DB instance attributes (including DB security groups and DB parameter groups) are inherited from the source DB instance, except as specified following.

Your source DB instance must have backup retention enabled.

" + "documentation":"

Creates a new DB instance that acts as a Read Replica for an existing source DB instance. You can create a Read Replica for a DB instance running MySQL, MariaDB, Oracle, or PostgreSQL. For more information, see Working with Read Replicas in the Amazon RDS User Guide.

Amazon Aurora doesn't support this action. You must call the CreateDBInstance action to create a DB instance for an Aurora DB cluster.

All Read Replica DB instances are created with backups disabled. All other DB instance attributes (including DB security groups and DB parameter groups) are inherited from the source DB instance, except as specified following.

Your source DB instance must have backup retention enabled.

" }, "CreateDBParameterGroup":{ "name":"CreateDBParameterGroup", @@ -477,7 +492,7 @@ {"shape":"InvalidDBClusterStateFault"}, {"shape":"DBClusterNotFoundFault"} ], - "documentation":"

Creates an Aurora global database spread across multiple regions. The global database contains a single primary cluster with read-write capability, and a read-only secondary cluster that receives data from the primary cluster through high-speed replication performed by the Aurora storage subsystem.

You can create a global database that is initially empty, and then add a primary cluster and a secondary cluster to it. Or you can specify an existing Aurora cluster during the create operation, and this cluster becomes the primary cluster of the global database.

" + "documentation":"

Creates an Aurora global database spread across multiple regions. The global database contains a single primary cluster with read-write capability, and a read-only secondary cluster that receives data from the primary cluster through high-speed replication performed by the Aurora storage subsystem.

You can create a global database that is initially empty, and then add a primary cluster and a secondary cluster to it. Or you can specify an existing Aurora cluster during the create operation, and this cluster becomes the primary cluster of the global database.

This action only applies to Aurora DB clusters.

" }, "CreateOptionGroup":{ "name":"CreateOptionGroup", @@ -514,7 +529,7 @@ {"shape":"SnapshotQuotaExceededFault"}, {"shape":"InvalidDBClusterSnapshotStateFault"} ], - "documentation":"

The DeleteDBCluster action deletes a previously provisioned DB cluster. When you delete a DB cluster, all automated backups for that DB cluster are deleted and can't be recovered. Manual DB cluster snapshots of the specified DB cluster are not deleted.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" + "documentation":"

The DeleteDBCluster action deletes a previously provisioned DB cluster. When you delete a DB cluster, all automated backups for that DB cluster are deleted and can't be recovered. Manual DB cluster snapshots of the specified DB cluster are not deleted.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

" }, "DeleteDBClusterEndpoint":{ "name":"DeleteDBClusterEndpoint", @@ -532,7 +547,7 @@ {"shape":"DBClusterEndpointNotFoundFault"}, {"shape":"InvalidDBClusterStateFault"} ], - "documentation":"

Deletes a custom endpoint and removes it from an Amazon Aurora DB cluster.

" + "documentation":"

Deletes a custom endpoint and removes it from an Amazon Aurora DB cluster.

This action only applies to Aurora DB clusters.

" }, "DeleteDBClusterParameterGroup":{ "name":"DeleteDBClusterParameterGroup", @@ -545,7 +560,7 @@ {"shape":"InvalidDBParameterGroupStateFault"}, {"shape":"DBParameterGroupNotFoundFault"} ], - "documentation":"

Deletes a specified DB cluster parameter group. The DB cluster parameter group to be deleted can't be associated with any DB clusters.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" + "documentation":"

Deletes a specified DB cluster parameter group. The DB cluster parameter group to be deleted can't be associated with any DB clusters.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

" }, "DeleteDBClusterSnapshot":{ "name":"DeleteDBClusterSnapshot", @@ -562,7 +577,7 @@ {"shape":"InvalidDBClusterSnapshotStateFault"}, {"shape":"DBClusterSnapshotNotFoundFault"} ], - "documentation":"

Deletes a DB cluster snapshot. If the snapshot is being copied, the copy operation is terminated.

The DB cluster snapshot must be in the available state to be deleted.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" + "documentation":"

Deletes a DB cluster snapshot. If the snapshot is being copied, the copy operation is terminated.

The DB cluster snapshot must be in the available state to be deleted.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

" }, "DeleteDBInstance":{ "name":"DeleteDBInstance", @@ -583,7 +598,7 @@ {"shape":"InvalidDBClusterStateFault"}, {"shape":"DBInstanceAutomatedBackupQuotaExceededFault"} ], - "documentation":"

The DeleteDBInstance action deletes a previously provisioned DB instance. When you delete a DB instance, all automated backups for that instance are deleted and can't be recovered. Manual DB snapshots of the DB instance to be deleted by DeleteDBInstance are not deleted.

If you request a final DB snapshot the status of the Amazon RDS DB instance is deleting until the DB snapshot is created. The API action DescribeDBInstance is used to monitor the status of this operation. The action can't be canceled or reverted once submitted.

Note that when a DB instance is in a failure state and has a status of failed, incompatible-restore, or incompatible-network, you can only delete it when the SkipFinalSnapshot parameter is set to true.

If the specified DB instance is part of an Amazon Aurora DB cluster, you can't delete the DB instance if both of the following conditions are true:

  • The DB cluster is a Read Replica of another Amazon Aurora DB cluster.

  • The DB instance is the only instance in the DB cluster.

To delete a DB instance in this case, first call the PromoteReadReplicaDBCluster API action to promote the DB cluster so it's no longer a Read Replica. After the promotion completes, then call the DeleteDBInstance API action to delete the final instance in the DB cluster.

" + "documentation":"

The DeleteDBInstance action deletes a previously provisioned DB instance. When you delete a DB instance, all automated backups for that instance are deleted and can't be recovered. Manual DB snapshots of the DB instance to be deleted by DeleteDBInstance are not deleted.

If you request a final DB snapshot the status of the Amazon RDS DB instance is deleting until the DB snapshot is created. The API action DescribeDBInstance is used to monitor the status of this operation. The action can't be canceled or reverted once submitted.

Note that when a DB instance is in a failure state and has a status of failed, incompatible-restore, or incompatible-network, you can only delete it when you skip creation of the final snapshot with the SkipFinalSnapshot parameter.

If the specified DB instance is part of an Amazon Aurora DB cluster, you can't delete the DB instance if both of the following conditions are true:

  • The DB cluster is a Read Replica of another Amazon Aurora DB cluster.

  • The DB instance is the only instance in the DB cluster.

To delete a DB instance in this case, first call the PromoteReadReplicaDBCluster API action to promote the DB cluster so it's no longer a Read Replica. After the promotion completes, then call the DeleteDBInstance API action to delete the final instance in the DB cluster.

" }, "DeleteDBInstanceAutomatedBackup":{ "name":"DeleteDBInstanceAutomatedBackup", @@ -691,7 +706,7 @@ {"shape":"GlobalClusterNotFoundFault"}, {"shape":"InvalidGlobalClusterStateFault"} ], - "documentation":"

Deletes a global database cluster. The primary and secondary clusters must already be detached or destroyed first.

" + "documentation":"

Deletes a global database cluster. The primary and secondary clusters must already be detached or destroyed first.

This action only applies to Aurora DB clusters.

" }, "DeleteOptionGroup":{ "name":"DeleteOptionGroup", @@ -750,7 +765,7 @@ {"shape":"DBClusterNotFoundFault"}, {"shape":"DBClusterBacktrackNotFoundFault"} ], - "documentation":"

Returns information about backtracks for a DB cluster.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" + "documentation":"

Returns information about backtracks for a DB cluster.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

" }, "DescribeDBClusterEndpoints":{ "name":"DescribeDBClusterEndpoints", @@ -766,7 +781,7 @@ "errors":[ {"shape":"DBClusterNotFoundFault"} ], - "documentation":"

Returns information about endpoints for an Amazon Aurora DB cluster.

" + "documentation":"

Returns information about endpoints for an Amazon Aurora DB cluster.

This action only applies to Aurora DB clusters.

" }, "DescribeDBClusterParameterGroups":{ "name":"DescribeDBClusterParameterGroups", @@ -782,7 +797,7 @@ "errors":[ {"shape":"DBParameterGroupNotFoundFault"} ], - "documentation":"

Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName parameter is specified, the list will contain only the description of the specified DB cluster parameter group.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" + "documentation":"

Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName parameter is specified, the list will contain only the description of the specified DB cluster parameter group.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

" }, "DescribeDBClusterParameters":{ "name":"DescribeDBClusterParameters", @@ -798,7 +813,7 @@ "errors":[ {"shape":"DBParameterGroupNotFoundFault"} ], - "documentation":"

Returns the detailed parameter list for a particular DB cluster parameter group.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" + "documentation":"

Returns the detailed parameter list for a particular DB cluster parameter group.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

" }, "DescribeDBClusterSnapshotAttributes":{ "name":"DescribeDBClusterSnapshotAttributes", @@ -814,7 +829,7 @@ "errors":[ {"shape":"DBClusterSnapshotNotFoundFault"} ], - "documentation":"

Returns a list of DB cluster snapshot attribute names and values for a manual DB cluster snapshot.

When sharing snapshots with other AWS accounts, DescribeDBClusterSnapshotAttributes returns the restore attribute and a list of IDs for the AWS accounts that are authorized to copy or restore the manual DB cluster snapshot. If all is included in the list of values for the restore attribute, then the manual DB cluster snapshot is public and can be copied or restored by all AWS accounts.

To add or remove access for an AWS account to copy or restore a manual DB cluster snapshot, or to make the manual DB cluster snapshot public or private, use the ModifyDBClusterSnapshotAttribute API action.

" + "documentation":"

Returns a list of DB cluster snapshot attribute names and values for a manual DB cluster snapshot.

When sharing snapshots with other AWS accounts, DescribeDBClusterSnapshotAttributes returns the restore attribute and a list of IDs for the AWS accounts that are authorized to copy or restore the manual DB cluster snapshot. If all is included in the list of values for the restore attribute, then the manual DB cluster snapshot is public and can be copied or restored by all AWS accounts.

To add or remove access for an AWS account to copy or restore a manual DB cluster snapshot, or to make the manual DB cluster snapshot public or private, use the ModifyDBClusterSnapshotAttribute API action.

This action only applies to Aurora DB clusters.

" }, "DescribeDBClusterSnapshots":{ "name":"DescribeDBClusterSnapshots", @@ -830,7 +845,7 @@ "errors":[ {"shape":"DBClusterSnapshotNotFoundFault"} ], - "documentation":"

Returns information about DB cluster snapshots. This API action supports pagination.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" + "documentation":"

Returns information about DB cluster snapshots. This API action supports pagination.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

" }, "DescribeDBClusters":{ "name":"DescribeDBClusters", @@ -846,7 +861,7 @@ "errors":[ {"shape":"DBClusterNotFoundFault"} ], - "documentation":"

Returns information about provisioned Aurora DB clusters. This API supports pagination.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" + "documentation":"

Returns information about provisioned Aurora DB clusters. This API supports pagination.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

" }, "DescribeDBEngineVersions":{ "name":"DescribeDBEngineVersions", @@ -971,7 +986,7 @@ "errors":[ {"shape":"DBSnapshotNotFoundFault"} ], - "documentation":"

Returns a list of DB snapshot attribute names and values for a manual DB snapshot.

When sharing snapshots with other AWS accounts, DescribeDBSnapshotAttributes returns the restore attribute and a list of IDs for the AWS accounts that are authorized to copy or restore the manual DB snapshot. If all is included in the list of values for the restore attribute, then the manual DB snapshot is public and can be copied or restored by all AWS accounts.

To add or remove access for an AWS account to copy or restore a manual DB snapshot, or to make the manual DB snapshot public or private, use the ModifyDBSnapshotAttribute API action.

" + "documentation":"

Returns a list of DB snapshot attribute names and values for a manual DB snapshot.

When sharing snapshots with other AWS accounts, DescribeDBSnapshotAttributes returns the restore attribute and a list of IDs for the AWS accounts that are authorized to copy or restore the manual DB snapshot. If all is included in the list of values for the restore attribute, then the manual DB snapshot is public and can be copied or restored by all AWS accounts.

To add or remove access for an AWS account to copy or restore a manual DB snapshot, or to make the manual DB snapshot public or private, use the ModifyDBSnapshotAttribute API action.

" }, "DescribeDBSnapshots":{ "name":"DescribeDBSnapshots", @@ -1016,7 +1031,7 @@ "shape":"DescribeEngineDefaultClusterParametersResult", "resultWrapper":"DescribeEngineDefaultClusterParametersResult" }, - "documentation":"

Returns the default engine and system parameter information for the cluster database engine.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" + "documentation":"

Returns the default engine and system parameter information for the cluster database engine.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" }, "DescribeEngineDefaultParameters":{ "name":"DescribeEngineDefaultParameters", @@ -1042,7 +1057,7 @@ "shape":"EventCategoriesMessage", "resultWrapper":"DescribeEventCategoriesResult" }, - "documentation":"

Displays a list of categories for all event source types, or, if specified, for a specified source type. You can see a list of the event categories and source types in the Events topic in the Amazon RDS User Guide.

" + "documentation":"

Displays a list of categories for all event source types, or, if specified, for a specified source type. You can see a list of the event categories and source types in the Events topic in the Amazon RDS User Guide.

" }, "DescribeEventSubscriptions":{ "name":"DescribeEventSubscriptions", @@ -1087,7 +1102,7 @@ "errors":[ {"shape":"GlobalClusterNotFoundFault"} ], - "documentation":"

Returns information about Aurora global database clusters. This API supports pagination.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" + "documentation":"

Returns information about Aurora global database clusters. This API supports pagination.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

" }, "DescribeOptionGroupOptions":{ "name":"DescribeOptionGroupOptions", @@ -1207,7 +1222,7 @@ {"shape":"DBInstanceNotFoundFault"}, {"shape":"InvalidDBInstanceStateFault"} ], - "documentation":"

You can call DescribeValidDBInstanceModifications to learn what modifications you can make to your DB instance. You can use this information when you call ModifyDBInstance.

" + "documentation":"

You can call DescribeValidDBInstanceModifications to learn what modifications you can make to your DB instance. You can use this information when you call ModifyDBInstance.

" }, "DownloadDBLogFilePortion":{ "name":"DownloadDBLogFilePortion", @@ -1242,7 +1257,7 @@ {"shape":"InvalidDBClusterStateFault"}, {"shape":"InvalidDBInstanceStateFault"} ], - "documentation":"

Forces a failover for a DB cluster.

A failover for a DB cluster promotes one of the Aurora Replicas (read-only instances) in the DB cluster to be the primary instance (the cluster writer).

Amazon Aurora will automatically fail over to an Aurora Replica, if one exists, when the primary instance fails. You can force a failover when you want to simulate a failure of a primary instance for testing. Because each instance in a DB cluster has its own endpoint address, you will need to clean up and re-establish any existing connections that use those endpoint addresses when the failover is complete.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" + "documentation":"

Forces a failover for a DB cluster.

A failover for a DB cluster promotes one of the Aurora Replicas (read-only instances) in the DB cluster to be the primary instance (the cluster writer).

Amazon Aurora will automatically fail over to an Aurora Replica, if one exists, when the primary instance fails. You can force a failover when you want to simulate a failure of a primary instance for testing. Because each instance in a DB cluster has its own endpoint address, you will need to clean up and re-establish any existing connections that use those endpoint addresses when the failover is complete.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

" }, "ListTagsForResource":{ "name":"ListTagsForResource", @@ -1260,7 +1275,7 @@ {"shape":"DBSnapshotNotFoundFault"}, {"shape":"DBClusterNotFoundFault"} ], - "documentation":"

Lists all tags on an Amazon RDS resource.

For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.

" + "documentation":"

Lists all tags on an Amazon RDS resource.

For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.

" }, "ModifyCurrentDBClusterCapacity":{ "name":"ModifyCurrentDBClusterCapacity", @@ -1278,7 +1293,7 @@ {"shape":"InvalidDBClusterStateFault"}, {"shape":"InvalidDBClusterCapacityFault"} ], - "documentation":"

Set the capacity of an Aurora Serverless DB cluster to a specific value.

Aurora Serverless scales seamlessly based on the workload on the DB cluster. In some cases, the capacity might not scale fast enough to meet a sudden change in workload, such as a large number of new transactions. Call ModifyCurrentDBClusterCapacity to set the capacity explicitly.

After this call sets the DB cluster capacity, Aurora Serverless can automatically scale the DB cluster based on the cooldown period for scaling up and the cooldown period for scaling down.

For more information about Aurora Serverless, see Using Amazon Aurora Serverless in the Amazon Aurora User Guide.

If you call ModifyCurrentDBClusterCapacity with the default TimeoutAction, connections that prevent Aurora Serverless from finding a scaling point might be dropped. For more information about scaling points, see Autoscaling for Aurora Serverless in the Amazon Aurora User Guide.

" + "documentation":"

Set the capacity of an Aurora Serverless DB cluster to a specific value.

Aurora Serverless scales seamlessly based on the workload on the DB cluster. In some cases, the capacity might not scale fast enough to meet a sudden change in workload, such as a large number of new transactions. Call ModifyCurrentDBClusterCapacity to set the capacity explicitly.

After this call sets the DB cluster capacity, Aurora Serverless can automatically scale the DB cluster based on the cooldown period for scaling up and the cooldown period for scaling down.

For more information about Aurora Serverless, see Using Amazon Aurora Serverless in the Amazon Aurora User Guide.

If you call ModifyCurrentDBClusterCapacity with the default TimeoutAction, connections that prevent Aurora Serverless from finding a scaling point might be dropped. For more information about scaling points, see Autoscaling for Aurora Serverless in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

" }, "ModifyDBCluster":{ "name":"ModifyDBCluster", @@ -1304,7 +1319,7 @@ {"shape":"InvalidDBInstanceStateFault"}, {"shape":"DBClusterAlreadyExistsFault"} ], - "documentation":"

Modify a setting for an Amazon Aurora DB cluster. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" + "documentation":"

Modify a setting for an Amazon Aurora DB cluster. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

" }, "ModifyDBClusterEndpoint":{ "name":"ModifyDBClusterEndpoint", @@ -1324,7 +1339,7 @@ {"shape":"DBInstanceNotFoundFault"}, {"shape":"InvalidDBInstanceStateFault"} ], - "documentation":"

Modifies the properties of an endpoint in an Amazon Aurora DB cluster.

" + "documentation":"

Modifies the properties of an endpoint in an Amazon Aurora DB cluster.

This action only applies to Aurora DB clusters.

" }, "ModifyDBClusterParameterGroup":{ "name":"ModifyDBClusterParameterGroup", @@ -1341,7 +1356,7 @@ {"shape":"DBParameterGroupNotFoundFault"}, {"shape":"InvalidDBParameterGroupStateFault"} ], - "documentation":"

Modifies the parameters of a DB cluster parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB cluster associated with the parameter group before the change can take effect.

After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBClusterParameters command to verify that your DB cluster parameter group has been created or modified.

" + "documentation":"

Modifies the parameters of a DB cluster parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB cluster associated with the parameter group before the change can take effect.

After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBClusterParameters action to verify that your DB cluster parameter group has been created or modified.

This action only applies to Aurora DB clusters.

" }, "ModifyDBClusterSnapshotAttribute":{ "name":"ModifyDBClusterSnapshotAttribute", @@ -1359,7 +1374,7 @@ {"shape":"InvalidDBClusterSnapshotStateFault"}, {"shape":"SharedSnapshotQuotaExceededFault"} ], - "documentation":"

Adds an attribute and values to, or removes an attribute and values from, a manual DB cluster snapshot.

To share a manual DB cluster snapshot with other AWS accounts, specify restore as the AttributeName and use the ValuesToAdd parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual DB cluster snapshot. Use the value all to make the manual DB cluster snapshot public, which means that it can be copied or restored by all AWS accounts. Do not add the all value for any manual DB cluster snapshots that contain private information that you don't want available to all AWS accounts. If a manual DB cluster snapshot is encrypted, it can be shared, but only by specifying a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't use all as a value for that parameter in this case.

To view which AWS accounts have access to copy or restore a manual DB cluster snapshot, or whether a manual DB cluster snapshot public or private, use the DescribeDBClusterSnapshotAttributes API action.

" + "documentation":"

Adds an attribute and values to, or removes an attribute and values from, a manual DB cluster snapshot.

To share a manual DB cluster snapshot with other AWS accounts, specify restore as the AttributeName and use the ValuesToAdd parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual DB cluster snapshot. Use the value all to make the manual DB cluster snapshot public, which means that it can be copied or restored by all AWS accounts. Do not add the all value for any manual DB cluster snapshots that contain private information that you don't want available to all AWS accounts. If a manual DB cluster snapshot is encrypted, it can be shared, but only by specifying a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't use all as a value for that parameter in this case.

To view which AWS accounts have access to copy or restore a manual DB cluster snapshot, or whether a manual DB cluster snapshot public or private, use the DescribeDBClusterSnapshotAttributes API action.

This action only applies to Aurora DB clusters.

" }, "ModifyDBInstance":{ "name":"ModifyDBInstance", @@ -1391,7 +1406,7 @@ {"shape":"DomainNotFoundFault"}, {"shape":"BackupPolicyNotFoundFault"} ], - "documentation":"

Modifies settings for a DB instance. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. To learn what modifications you can make to your DB instance, call DescribeValidDBInstanceModifications before you call ModifyDBInstance.

" + "documentation":"

Modifies settings for a DB instance. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. To learn what modifications you can make to your DB instance, call DescribeValidDBInstanceModifications before you call ModifyDBInstance.

" }, "ModifyDBParameterGroup":{ "name":"ModifyDBParameterGroup", @@ -1442,7 +1457,7 @@ {"shape":"InvalidDBSnapshotStateFault"}, {"shape":"SharedSnapshotQuotaExceededFault"} ], - "documentation":"

Adds an attribute and values to, or removes an attribute and values from, a manual DB snapshot.

To share a manual DB snapshot with other AWS accounts, specify restore as the AttributeName and use the ValuesToAdd parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual DB snapshot. Uses the value all to make the manual DB snapshot public, which means it can be copied or restored by all AWS accounts. Do not add the all value for any manual DB snapshots that contain private information that you don't want available to all AWS accounts. If the manual DB snapshot is encrypted, it can be shared, but only by specifying a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't use all as a value for that parameter in this case.

To view which AWS accounts have access to copy or restore a manual DB snapshot, or whether a manual DB snapshot public or private, use the DescribeDBSnapshotAttributes API action.

" + "documentation":"

Adds an attribute and values to, or removes an attribute and values from, a manual DB snapshot.

To share a manual DB snapshot with other AWS accounts, specify restore as the AttributeName and use the ValuesToAdd parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual DB snapshot. Uses the value all to make the manual DB snapshot public, which means it can be copied or restored by all AWS accounts. Do not add the all value for any manual DB snapshots that contain private information that you don't want available to all AWS accounts. If the manual DB snapshot is encrypted, it can be shared, but only by specifying a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't use all as a value for that parameter in this case.

To view which AWS accounts have access to copy or restore a manual DB snapshot, or whether a manual DB snapshot public or private, use the DescribeDBSnapshotAttributes API action.

" }, "ModifyDBSubnetGroup":{ "name":"ModifyDBSubnetGroup", @@ -1483,7 +1498,7 @@ {"shape":"SNSTopicArnNotFoundFault"}, {"shape":"SubscriptionCategoryNotFoundFault"} ], - "documentation":"

Modifies an existing RDS event notification subscription. Note that you can't modify the source identifiers using this call; to change source identifiers for a subscription, use the AddSourceIdentifierToSubscription and RemoveSourceIdentifierFromSubscription calls.

You can see a list of the event categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action.

" + "documentation":"

Modifies an existing RDS event notification subscription. Note that you can't modify the source identifiers using this call; to change source identifiers for a subscription, use the AddSourceIdentifierToSubscription and RemoveSourceIdentifierFromSubscription calls.

You can see a list of the event categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action.

" }, "ModifyGlobalCluster":{ "name":"ModifyGlobalCluster", @@ -1500,7 +1515,7 @@ {"shape":"GlobalClusterNotFoundFault"}, {"shape":"InvalidGlobalClusterStateFault"} ], - "documentation":"

Modify a setting for an Amazon Aurora global cluster. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" + "documentation":"

Modify a setting for an Amazon Aurora global cluster. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

" }, "ModifyOptionGroup":{ "name":"ModifyOptionGroup", @@ -1551,7 +1566,7 @@ {"shape":"DBClusterNotFoundFault"}, {"shape":"InvalidDBClusterStateFault"} ], - "documentation":"

Promotes a Read Replica DB cluster to a standalone DB cluster.

" + "documentation":"

Promotes a Read Replica DB cluster to a standalone DB cluster.

This action only applies to Aurora DB clusters.

" }, "PurchaseReservedDBInstancesOffering":{ "name":"PurchaseReservedDBInstancesOffering", @@ -1586,7 +1601,7 @@ {"shape":"InvalidDBInstanceStateFault"}, {"shape":"DBInstanceNotFoundFault"} ], - "documentation":"

You might need to reboot your DB instance, usually for maintenance reasons. For example, if you make certain modifications, or if you change the DB parameter group associated with the DB instance, you must reboot the instance for the changes to take effect.

Rebooting a DB instance restarts the database engine service. Rebooting a DB instance results in a momentary outage, during which the DB instance status is set to rebooting.

For more information about rebooting, see Rebooting a DB Instance in the Amazon RDS User Guide.

" + "documentation":"

You might need to reboot your DB instance, usually for maintenance reasons. For example, if you make certain modifications, or if you change the DB parameter group associated with the DB instance, you must reboot the instance for the changes to take effect.

Rebooting a DB instance restarts the database engine service. Rebooting a DB instance results in a momentary outage, during which the DB instance status is set to rebooting.

For more information about rebooting, see Rebooting a DB Instance in the Amazon RDS User Guide.

" }, "RemoveFromGlobalCluster":{ "name":"RemoveFromGlobalCluster", @@ -1604,7 +1619,7 @@ {"shape":"InvalidGlobalClusterStateFault"}, {"shape":"DBClusterNotFoundFault"} ], - "documentation":"

Detaches an Aurora secondary cluster from an Aurora global database cluster. The cluster becomes a standalone cluster with read-write capability instead of being read-only and receiving data from a primary cluster in a different region.

" + "documentation":"

Detaches an Aurora secondary cluster from an Aurora global database cluster. The cluster becomes a standalone cluster with read-write capability instead of being read-only and receiving data from a primary cluster in a different region.

This action only applies to Aurora DB clusters.

" }, "RemoveRoleFromDBCluster":{ "name":"RemoveRoleFromDBCluster", @@ -1618,7 +1633,21 @@ {"shape":"DBClusterRoleNotFoundFault"}, {"shape":"InvalidDBClusterStateFault"} ], - "documentation":"

Disassociates an Identity and Access Management (IAM) role from an Aurora DB cluster. For more information, see Authorizing Amazon Aurora MySQL to Access Other AWS Services on Your Behalf in the Amazon Aurora User Guide.

" + "documentation":"

Disassociates an AWS Identity and Access Management (IAM) role from an Amazon Aurora DB cluster. For more information, see Authorizing Amazon Aurora MySQL to Access Other AWS Services on Your Behalf in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

" + }, + "RemoveRoleFromDBInstance":{ + "name":"RemoveRoleFromDBInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RemoveRoleFromDBInstanceMessage"}, + "errors":[ + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"DBInstanceRoleNotFoundFault"}, + {"shape":"InvalidDBInstanceStateFault"} + ], + "documentation":"

Disassociates an AWS Identity and Access Management (IAM) role from a DB instance.

" }, "RemoveSourceIdentifierFromSubscription":{ "name":"RemoveSourceIdentifierFromSubscription", @@ -1649,7 +1678,7 @@ {"shape":"DBSnapshotNotFoundFault"}, {"shape":"DBClusterNotFoundFault"} ], - "documentation":"

Removes metadata tags from an Amazon RDS resource.

For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.

" + "documentation":"

Removes metadata tags from an Amazon RDS resource.

For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.

" }, "ResetDBClusterParameterGroup":{ "name":"ResetDBClusterParameterGroup", @@ -1666,7 +1695,7 @@ {"shape":"InvalidDBParameterGroupStateFault"}, {"shape":"DBParameterGroupNotFoundFault"} ], - "documentation":"

Modifies the parameters of a DB cluster parameter group to the default value. To reset specific parameters submit a list of the following: ParameterName and ApplyMethod. To reset the entire DB cluster parameter group, specify the DBClusterParameterGroupName and ResetAllParameters parameters.

When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance restart or RebootDBInstance request. You must call RebootDBInstance for every DB instance in your DB cluster that you want the updated static parameter to apply to.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" + "documentation":"

Modifies the parameters of a DB cluster parameter group to the default value. To reset specific parameters submit a list of the following: ParameterName and ApplyMethod. To reset the entire DB cluster parameter group, specify the DBClusterParameterGroupName and ResetAllParameters parameters.

When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance restart or RebootDBInstance request. You must call RebootDBInstance for every DB instance in your DB cluster that you want the updated static parameter to apply to.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

" }, "ResetDBParameterGroup":{ "name":"ResetDBParameterGroup", @@ -1711,7 +1740,7 @@ {"shape":"DBClusterNotFoundFault"}, {"shape":"InsufficientStorageClusterCapacityFault"} ], - "documentation":"

Creates an Amazon Aurora DB cluster from data stored in an Amazon S3 bucket. Amazon RDS must be authorized to access the Amazon S3 bucket and the data must be created using the Percona XtraBackup utility as described in Migrating Data to an Amazon Aurora MySQL DB Cluster in the Amazon Aurora User Guide.

" + "documentation":"

Creates an Amazon Aurora DB cluster from data stored in an Amazon S3 bucket. Amazon RDS must be authorized to access the Amazon S3 bucket and the data must be created using the Percona XtraBackup utility as described in Migrating Data to an Amazon Aurora MySQL DB Cluster in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

" }, "RestoreDBClusterFromSnapshot":{ "name":"RestoreDBClusterFromSnapshot", @@ -1744,7 +1773,7 @@ {"shape":"KMSKeyNotAccessibleFault"}, {"shape":"DBClusterParameterGroupNotFoundFault"} ], - "documentation":"

Creates a new DB cluster from a DB snapshot or DB cluster snapshot.

If a DB snapshot is specified, the target DB cluster is created from the source DB snapshot with a default configuration and default security group.

If a DB cluster snapshot is specified, the target DB cluster is created from the source DB cluster restore point with the same configuration as the original source DB cluster, except that the new DB cluster is created with the default security group.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" + "documentation":"

Creates a new DB cluster from a DB snapshot or DB cluster snapshot.

If a DB snapshot is specified, the target DB cluster is created from the source DB snapshot with a default configuration and default security group.

If a DB cluster snapshot is specified, the target DB cluster is created from the source DB cluster restore point with the same configuration as the original source DB cluster, except that the new DB cluster is created with the default security group.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

" }, "RestoreDBClusterToPointInTime":{ "name":"RestoreDBClusterToPointInTime", @@ -1776,7 +1805,7 @@ {"shape":"StorageQuotaExceededFault"}, {"shape":"DBClusterParameterGroupNotFoundFault"} ], - "documentation":"

Restores a DB cluster to an arbitrary point in time. Users can restore to any point in time before LatestRestorableTime for up to BackupRetentionPeriod days. The target DB cluster is created from the source DB cluster with the same configuration as the original DB cluster, except that the new DB cluster is created with the default DB security group.

This action only restores the DB cluster, not the DB instances for that DB cluster. You must invoke the CreateDBInstance action to create DB instances for the restored DB cluster, specifying the identifier of the restored DB cluster in DBClusterIdentifier. You can create DB instances only after the RestoreDBClusterToPointInTime action has completed and the DB cluster is available.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" + "documentation":"

Restores a DB cluster to an arbitrary point in time. Users can restore to any point in time before LatestRestorableTime for up to BackupRetentionPeriod days. The target DB cluster is created from the source DB cluster with the same configuration as the original DB cluster, except that the new DB cluster is created with the default DB security group.

This action only restores the DB cluster, not the DB instances for that DB cluster. You must invoke the CreateDBInstance action to create DB instances for the restored DB cluster, specifying the identifier of the restored DB cluster in DBClusterIdentifier. You can create DB instances only after the RestoreDBClusterToPointInTime action has completed and the DB cluster is available.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

" }, "RestoreDBInstanceFromDBSnapshot":{ "name":"RestoreDBInstanceFromDBSnapshot", @@ -1811,7 +1840,7 @@ {"shape":"DBParameterGroupNotFoundFault"}, {"shape":"BackupPolicyNotFoundFault"} ], - "documentation":"

Creates a new DB instance from a DB snapshot. The target database is created from the source database restore point with the most of original configuration with the default security group and the default DB parameter group. By default, the new DB instance is created as a single-AZ deployment except when the instance is a SQL Server instance that has an option group that is associated with mirroring; in this case, the instance becomes a mirrored AZ deployment and not a single-AZ deployment.

If your intent is to replace your original DB instance with the new, restored DB instance, then rename your original DB instance before you call the RestoreDBInstanceFromDBSnapshot action. RDS doesn't allow two DB instances with the same name. Once you have renamed your original DB instance with a different identifier, then you can pass the original name of the DB instance as the DBInstanceIdentifier in the call to the RestoreDBInstanceFromDBSnapshot action. The result is that you will replace the original DB instance with the DB instance created from the snapshot.

If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier must be the ARN of the shared DB snapshot.

This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora, use RestoreDBClusterFromSnapshot.

" + "documentation":"

Creates a new DB instance from a DB snapshot. The target database is created from the source database restore point with the most of original configuration with the default security group and the default DB parameter group. By default, the new DB instance is created as a single-AZ deployment except when the instance is a SQL Server instance that has an option group that is associated with mirroring; in this case, the instance becomes a mirrored AZ deployment and not a single-AZ deployment.

If your intent is to replace your original DB instance with the new, restored DB instance, then rename your original DB instance before you call the RestoreDBInstanceFromDBSnapshot action. RDS doesn't allow two DB instances with the same name. Once you have renamed your original DB instance with a different identifier, then you can pass the original name of the DB instance as the DBInstanceIdentifier in the call to the RestoreDBInstanceFromDBSnapshot action. The result is that you will replace the original DB instance with the DB instance created from the snapshot.

If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier must be the ARN of the shared DB snapshot.

This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora, use RestoreDBClusterFromSnapshot.

" }, "RestoreDBInstanceFromS3":{ "name":"RestoreDBInstanceFromS3", @@ -1843,7 +1872,7 @@ {"shape":"KMSKeyNotAccessibleFault"}, {"shape":"BackupPolicyNotFoundFault"} ], - "documentation":"

Amazon Relational Database Service (Amazon RDS) supports importing MySQL databases by using backup files. You can create a backup of your on-premises database, store it on Amazon Simple Storage Service (Amazon S3), and then restore the backup file onto a new Amazon RDS DB instance running MySQL. For more information, see Importing Data into an Amazon RDS MySQL DB Instance in the Amazon RDS User Guide.

" + "documentation":"

Amazon Relational Database Service (Amazon RDS) supports importing MySQL databases by using backup files. You can create a backup of your on-premises database, store it on Amazon Simple Storage Service (Amazon S3), and then restore the backup file onto a new Amazon RDS DB instance running MySQL. For more information, see Importing Data into an Amazon RDS MySQL DB Instance in the Amazon RDS User Guide.

" }, "RestoreDBInstanceToPointInTime":{ "name":"RestoreDBInstanceToPointInTime", @@ -1880,7 +1909,7 @@ {"shape":"DBParameterGroupNotFoundFault"}, {"shape":"DBInstanceAutomatedBackupNotFoundFault"} ], - "documentation":"

Restores a DB instance to an arbitrary point in time. You can restore to any point in time before the time identified by the LatestRestorableTime property. You can restore to a point up to the number of days specified by the BackupRetentionPeriod property.

The target database is created with most of the original configuration, but in a system-selected Availability Zone, with the default security group, the default subnet group, and the default DB parameter group. By default, the new DB instance is created as a single-AZ deployment except when the instance is a SQL Server instance that has an option group that is associated with mirroring; in this case, the instance becomes a mirrored deployment and not a single-AZ deployment.

This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora, use RestoreDBClusterToPointInTime.

" + "documentation":"

Restores a DB instance to an arbitrary point in time. You can restore to any point in time before the time identified by the LatestRestorableTime property. You can restore to a point up to the number of days specified by the BackupRetentionPeriod property.

The target database is created with most of the original configuration, but in a system-selected Availability Zone, with the default security group, the default subnet group, and the default DB parameter group. By default, the new DB instance is created as a single-AZ deployment except when the instance is a SQL Server instance that has an option group that is associated with mirroring; in this case, the instance becomes a mirrored deployment and not a single-AZ deployment.

This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora, use RestoreDBClusterToPointInTime.

" }, "RevokeDBSecurityGroupIngress":{ "name":"RevokeDBSecurityGroupIngress", @@ -1900,6 +1929,27 @@ ], "documentation":"

Revokes ingress from a DBSecurityGroup for previously authorized IP ranges or EC2 or VPC Security Groups. Required parameters for this API are one of CIDRIP, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId).

" }, + "StartActivityStream":{ + "name":"StartActivityStream", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartActivityStreamRequest"}, + "output":{ + "shape":"StartActivityStreamResponse", + "resultWrapper":"StartActivityStreamResult" + }, + "errors":[ + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"ResourceNotFoundFault"}, + {"shape":"DBClusterNotFoundFault"}, + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"KMSKeyNotAccessibleFault"} + ], + "documentation":"

Starts a database activity stream to monitor activity on the database. For more information, see Database Activity Streams in the Amazon Aurora User Guide.

" + }, "StartDBCluster":{ "name":"StartDBCluster", "http":{ @@ -1916,7 +1966,7 @@ {"shape":"InvalidDBClusterStateFault"}, {"shape":"InvalidDBInstanceStateFault"} ], - "documentation":"

Starts an Amazon Aurora DB cluster that was stopped using the AWS console, the stop-db-cluster AWS CLI command, or the StopDBCluster action.

For more information, see Stopping and Starting an Aurora Cluster in the Amazon Aurora User Guide.

" + "documentation":"

Starts an Amazon Aurora DB cluster that was stopped using the AWS console, the stop-db-cluster AWS CLI command, or the StopDBCluster action.

For more information, see Stopping and Starting an Aurora Cluster in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

" }, "StartDBInstance":{ "name":"StartDBInstance", @@ -1942,7 +1992,27 @@ {"shape":"AuthorizationNotFoundFault"}, {"shape":"KMSKeyNotAccessibleFault"} ], - "documentation":"

Starts an Amazon RDS DB instance that was stopped using the AWS console, the stop-db-instance AWS CLI command, or the StopDBInstance action.

For more information, see Starting an Amazon RDS DB instance That Was Previously Stopped in the Amazon RDS User Guide.

This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora DB clusters, use StartDBCluster instead.

" + "documentation":"

Starts an Amazon RDS DB instance that was stopped using the AWS console, the stop-db-instance AWS CLI command, or the StopDBInstance action.

For more information, see Starting an Amazon RDS DB instance That Was Previously Stopped in the Amazon RDS User Guide.

This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora DB clusters, use StartDBCluster instead.

" + }, + "StopActivityStream":{ + "name":"StopActivityStream", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopActivityStreamRequest"}, + "output":{ + "shape":"StopActivityStreamResponse", + "resultWrapper":"StopActivityStreamResult" + }, + "errors":[ + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"ResourceNotFoundFault"}, + {"shape":"DBClusterNotFoundFault"}, + {"shape":"DBInstanceNotFoundFault"} + ], + "documentation":"

Stops a database activity stream that was started using the AWS console, the start-activity-stream AWS CLI command, or the StartActivityStream action.

For more information, see Database Activity Streams in the Amazon Aurora User Guide.

" }, "StopDBCluster":{ "name":"StopDBCluster", @@ -1960,7 +2030,7 @@ {"shape":"InvalidDBClusterStateFault"}, {"shape":"InvalidDBInstanceStateFault"} ], - "documentation":"

Stops an Amazon Aurora DB cluster. When you stop a DB cluster, Aurora retains the DB cluster's metadata, including its endpoints and DB parameter groups. Aurora also retains the transaction logs so you can do a point-in-time restore if necessary.

For more information, see Stopping and Starting an Aurora Cluster in the Amazon Aurora User Guide.

" + "documentation":"

Stops an Amazon Aurora DB cluster. When you stop a DB cluster, Aurora retains the DB cluster's metadata, including its endpoints and DB parameter groups. Aurora also retains the transaction logs so you can do a point-in-time restore if necessary.

For more information, see Stopping and Starting an Aurora Cluster in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

" }, "StopDBInstance":{ "name":"StopDBInstance", @@ -1980,7 +2050,7 @@ {"shape":"SnapshotQuotaExceededFault"}, {"shape":"InvalidDBClusterStateFault"} ], - "documentation":"

Stops an Amazon RDS DB instance. When you stop a DB instance, Amazon RDS retains the DB instance's metadata, including its endpoint, DB parameter group, and option group membership. Amazon RDS also retains the transaction logs so you can do a point-in-time restore if necessary.

For more information, see Stopping an Amazon RDS DB Instance Temporarily in the Amazon RDS User Guide.

This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora clusters, use StopDBCluster instead.

" + "documentation":"

Stops an Amazon RDS DB instance. When you stop a DB instance, Amazon RDS retains the DB instance's metadata, including its endpoint, DB parameter group, and option group membership. Amazon RDS also retains the transaction logs so you can do a point-in-time restore if necessary.

For more information, see Stopping an Amazon RDS DB Instance Temporarily in the Amazon RDS User Guide.

This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora clusters, use StopDBCluster instead.

" } }, "shapes":{ @@ -1989,7 +2059,7 @@ "members":{ "AccountQuotas":{ "shape":"AccountQuotaList", - "documentation":"

A list of AccountQuota objects. Within this list, each quota has a name, a count of usage toward the quota maximum, and a maximum value for the quota.

" + "documentation":"

A list of AccountQuota objects. Within this list, each quota has a name, a count of usage toward the quota maximum, and a maximum value for the quota.

" } }, "documentation":"

Data returned by the DescribeAccountAttributes action.

" @@ -2010,7 +2080,7 @@ "documentation":"

The maximum allowed value for the quota.

" } }, - "documentation":"

Describes a quota for an AWS account, for example, the number of DB instances allowed.

", + "documentation":"

Describes a quota for an AWS account.

The following are account quotas:

  • AllocatedStorage - The total allocated storage per account, in GiB. The used value is the total allocated storage in the account, in GiB.

  • AuthorizationsPerDBSecurityGroup - The number of ingress rules per DB security group. The used value is the highest number of ingress rules in a DB security group in the account. Other DB security groups in the account might have a lower number of ingress rules.

  • CustomEndpointsPerDBCluster - The number of custom endpoints per DB cluster. The used value is the highest number of custom endpoints in a DB clusters in the account. Other DB clusters in the account might have a lower number of custom endpoints.

  • DBClusterParameterGroups - The number of DB cluster parameter groups per account, excluding default parameter groups. The used value is the count of nondefault DB cluster parameter groups in the account.

  • DBClusterRoles - The number of associated AWS Identity and Access Management (IAM) roles per DB cluster. The used value is the highest number of associated IAM roles for a DB cluster in the account. Other DB clusters in the account might have a lower number of associated IAM roles.

  • DBClusters - The number of DB clusters per account. The used value is the count of DB clusters in the account.

  • DBInstanceRoles - The number of associated IAM roles per DB instance. The used value is the highest number of associated IAM roles for a DB instance in the account. Other DB instances in the account might have a lower number of associated IAM roles.

  • DBInstances - The number of DB instances per account. The used value is the count of the DB instances in the account.

  • DBParameterGroups - The number of DB parameter groups per account, excluding default parameter groups. The used value is the count of nondefault DB parameter groups in the account.

  • DBSecurityGroups - The number of DB security groups (not VPC security groups) per account, excluding the default security group. The used value is the count of nondefault DB security groups in the account.

  • DBSubnetGroups - The number of DB subnet groups per account. The used value is the count of the DB subnet groups in the account.

  • EventSubscriptions - The number of event subscriptions per account. The used value is the count of the event subscriptions in the account.

  • ManualSnapshots - The number of manual DB snapshots per account. The used value is the count of the manual DB snapshots in the account.

  • OptionGroups - The number of DB option groups per account, excluding default option groups. The used value is the count of nondefault DB option groups in the account.

  • ReadReplicasPerMaster - The number of Read Replicas per DB instance. The used value is the highest number of Read Replicas for a DB instance in the account. Other DB instances in the account might have a lower number of Read Replicas.

  • ReservedDBInstances - The number of reserved DB instances per account. The used value is the count of the active reserved DB instances in the account.

  • SubnetsPerDBSubnetGroup - The number of subnets per DB subnet group. The used value is highest number of subnets for a DB subnet group in the account. Other DB subnet groups in the account might have a lower number of subnets.

For more information, see Limits in the Amazon RDS User Guide and Limits in the Amazon Aurora User Guide.

", "wrapper":true }, "AccountQuotaList":{ @@ -2020,6 +2090,22 @@ "locationName":"AccountQuota" } }, + "ActivityStreamMode":{ + "type":"string", + "enum":[ + "sync", + "async" + ] + }, + "ActivityStreamStatus":{ + "type":"string", + "enum":[ + "stopped", + "starting", + "started", + "stopping" + ] + }, "AddRoleToDBClusterMessage":{ "type":"structure", "required":[ @@ -2034,6 +2120,32 @@ "RoleArn":{ "shape":"String", "documentation":"

The Amazon Resource Name (ARN) of the IAM role to associate with the Aurora DB cluster, for example arn:aws:iam::123456789012:role/AuroraAccessRole.

" + }, + "FeatureName":{ + "shape":"String", + "documentation":"

The name of the feature for the DB cluster that the IAM role is to be associated with. For the list of supported feature names, see DBEngineVersion.

" + } + } + }, + "AddRoleToDBInstanceMessage":{ + "type":"structure", + "required":[ + "DBInstanceIdentifier", + "RoleArn", + "FeatureName" + ], + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

The name of the DB instance to associate the IAM role with.

" + }, + "RoleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role to associate with the DB instance, for example arn:aws:iam::123456789012:role/AccessRole.

" + }, + "FeatureName":{ + "shape":"String", + "documentation":"

The name of the feature for the DB instance that the IAM role is to be associated with. For the list of supported feature names, see DBEngineVersion.

" } } }, @@ -2070,7 +2182,7 @@ "members":{ "ResourceName":{ "shape":"String", - "documentation":"

The Amazon RDS resource that the tags are added to. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

" + "documentation":"

The Amazon RDS resource that the tags are added to. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

" }, "Tags":{ "shape":"TagList", @@ -2096,11 +2208,11 @@ "members":{ "ResourceIdentifier":{ "shape":"String", - "documentation":"

The RDS Amazon Resource Name (ARN) of the resource that the pending maintenance action applies to. For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

" + "documentation":"

The RDS Amazon Resource Name (ARN) of the resource that the pending maintenance action applies to. For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

" }, "ApplyAction":{ "shape":"String", - "documentation":"

The pending maintenance action to apply to this resource.

Valid values: system-update, db-upgrade

" + "documentation":"

The pending maintenance action to apply to this resource.

Valid values: system-update, db-upgrade, hardware-maintenance

" }, "OptInType":{ "shape":"String", @@ -2199,7 +2311,7 @@ "documentation":"

The name of the Availability Zone.

" } }, - "documentation":"

Contains Availability Zone information.

This data type is used as an element in the following data type:

", + "documentation":"

Contains Availability Zone information.

This data type is used as an element in the OrderableDBInstanceOption data type.

", "wrapper":true }, "AvailabilityZoneList":{ @@ -2232,7 +2344,7 @@ "documentation":"

The allowed values for the processor feature of the DB instance class.

" } }, - "documentation":"

Contains the available processor feature information for the DB instance class of a DB instance.

For more information, see Configuring the Processor of the DB Instance Class in the Amazon RDS User Guide.

" + "documentation":"

Contains the available processor feature information for the DB instance class of a DB instance.

For more information, see Configuring the Processor of the DB Instance Class in the Amazon RDS User Guide.

" }, "AvailableProcessorFeatureList":{ "type":"list", @@ -2258,11 +2370,11 @@ }, "Force":{ "shape":"BooleanOptional", - "documentation":"

A value that, if specified, forces the DB cluster to backtrack when binary logging is enabled. Otherwise, an error occurs when binary logging is enabled.

" + "documentation":"

A value that indicates whether to force the DB cluster to backtrack when binary logging is enabled. Otherwise, an error occurs when binary logging is enabled.

" }, "UseEarliestTimeOnPointInTimeUnavailable":{ "shape":"BooleanOptional", - "documentation":"

If BacktrackTo is set to a timestamp earlier than the earliest backtrack time, this value backtracks the DB cluster to the earliest possible backtrack time. Otherwise, an error occurs.

" + "documentation":"

A value that indicates whether to backtrack the DB cluster to the earliest possible backtrack time when BacktrackTo is set to a timestamp earlier than the earliest backtrack time. When this parameter is disabled and BacktrackTo is set to a timestamp earlier than the earliest backtrack time, an error occurs.

" } }, "documentation":"

" @@ -2325,11 +2437,11 @@ "members":{ "Certificates":{ "shape":"CertificateList", - "documentation":"

The list of Certificate objects for the AWS account.

" + "documentation":"

The list of Certificate objects for the AWS account.

" }, "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeCertificates request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" + "documentation":"

An optional pagination token provided by a previous DescribeCertificates request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" } }, "documentation":"

Data returned by the DescribeCertificates action.

" @@ -2358,7 +2470,7 @@ "documentation":"

The description of the character set.

" } }, - "documentation":"

This data type is used as a response element in the action DescribeDBEngineVersions.

" + "documentation":"

This data type is used as a response element in the action DescribeDBEngineVersions.

" }, "CloudwatchLogsExportConfiguration":{ "type":"structure", @@ -2372,7 +2484,7 @@ "documentation":"

The list of log types to disable.

" } }, - "documentation":"

The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance or DB cluster.

The EnableLogTypes and DisableLogTypes arrays determine which logs will be exported (or not exported) to CloudWatch Logs. The values within these arrays depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

" + "documentation":"

The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance or DB cluster.

The EnableLogTypes and DisableLogTypes arrays determine which logs will be exported (or not exported) to CloudWatch Logs. The values within these arrays depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

" }, "CopyDBClusterParameterGroupMessage":{ "type":"structure", @@ -2384,7 +2496,7 @@ "members":{ "SourceDBClusterParameterGroupIdentifier":{ "shape":"String", - "documentation":"

The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter group. For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon Aurora User Guide.

Constraints:

  • Must specify a valid DB cluster parameter group.

  • If the source DB cluster parameter group is in the same AWS Region as the copy, specify a valid DB parameter group identifier, for example my-db-cluster-param-group, or a valid ARN.

  • If the source DB parameter group is in a different AWS Region than the copy, specify a valid DB cluster parameter group ARN, for example arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1.

" + "documentation":"

The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter group. For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon Aurora User Guide.

Constraints:

  • Must specify a valid DB cluster parameter group.

  • If the source DB cluster parameter group is in the same AWS Region as the copy, specify a valid DB parameter group identifier, for example my-db-cluster-param-group, or a valid ARN.

  • If the source DB parameter group is in a different AWS Region than the copy, specify a valid DB cluster parameter group ARN, for example arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1.

" }, "TargetDBClusterParameterGroupIdentifier":{ "shape":"String", @@ -2412,7 +2524,7 @@ "members":{ "SourceDBClusterSnapshotIdentifier":{ "shape":"String", - "documentation":"

The identifier of the DB cluster snapshot to copy. This parameter is not case-sensitive.

You can't copy an encrypted, shared DB cluster snapshot from one AWS Region to another.

Constraints:

  • Must specify a valid system snapshot in the \"available\" state.

  • If the source snapshot is in the same AWS Region as the copy, specify a valid DB snapshot identifier.

  • If the source snapshot is in a different AWS Region than the copy, specify a valid DB cluster snapshot ARN. For more information, go to Copying Snapshots Across AWS Regions in the Amazon Aurora User Guide.

Example: my-cluster-snapshot1

" + "documentation":"

The identifier of the DB cluster snapshot to copy. This parameter is not case-sensitive.

You can't copy an encrypted, shared DB cluster snapshot from one AWS Region to another.

Constraints:

  • Must specify a valid system snapshot in the \"available\" state.

  • If the source snapshot is in the same AWS Region as the copy, specify a valid DB snapshot identifier.

  • If the source snapshot is in a different AWS Region than the copy, specify a valid DB cluster snapshot ARN. For more information, go to Copying Snapshots Across AWS Regions in the Amazon Aurora User Guide.

Example: my-cluster-snapshot1

" }, "TargetDBClusterSnapshotIdentifier":{ "shape":"String", @@ -2424,11 +2536,11 @@ }, "PreSignedUrl":{ "shape":"String", - "documentation":"

The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot API action in the AWS Region that contains the source DB cluster snapshot to copy. The PreSignedUrl parameter must be used when copying an encrypted DB cluster snapshot from another AWS Region.

The pre-signed URL must be a valid request for the CopyDBSClusterSnapshot API action that can be executed in the source AWS Region that contains the encrypted DB cluster snapshot to be copied. The pre-signed URL request must contain the following parameter values:

  • KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region. This is the same identifier for both the CopyDBClusterSnapshot action that is called in the destination AWS Region, and the action contained in the pre-signed URL.

  • DestinationRegion - The name of the AWS Region that the DB cluster snapshot will be created in.

  • SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB cluster snapshot from the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

" + "documentation":"

The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot API action in the AWS Region that contains the source DB cluster snapshot to copy. The PreSignedUrl parameter must be used when copying an encrypted DB cluster snapshot from another AWS Region.

The pre-signed URL must be a valid request for the CopyDBSClusterSnapshot API action that can be executed in the source AWS Region that contains the encrypted DB cluster snapshot to be copied. The pre-signed URL request must contain the following parameter values:

  • KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region. This is the same identifier for both the CopyDBClusterSnapshot action that is called in the destination AWS Region, and the action contained in the pre-signed URL.

  • DestinationRegion - The name of the AWS Region that the DB cluster snapshot will be created in.

  • SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB cluster snapshot from the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

" }, "CopyTags":{ "shape":"BooleanOptional", - "documentation":"

True to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot, and otherwise false. The default is false.

" + "documentation":"

A value that indicates whether to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot. By default, tags are not copied.

" }, "Tags":{"shape":"TagList"} }, @@ -2450,7 +2562,7 @@ "members":{ "SourceDBParameterGroupIdentifier":{ "shape":"String", - "documentation":"

The identifier or ARN for the source DB parameter group. For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide.

Constraints:

  • Must specify a valid DB parameter group.

  • Must specify a valid DB parameter group identifier, for example my-db-param-group, or a valid ARN.

" + "documentation":"

The identifier or ARN for the source DB parameter group. For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide.

Constraints:

  • Must specify a valid DB parameter group.

  • Must specify a valid DB parameter group identifier, for example my-db-param-group, or a valid ARN.

" }, "TargetDBParameterGroupIdentifier":{ "shape":"String", @@ -2492,15 +2604,15 @@ "Tags":{"shape":"TagList"}, "CopyTags":{ "shape":"BooleanOptional", - "documentation":"

True to copy all tags from the source DB snapshot to the target DB snapshot, and otherwise false. The default is false.

" + "documentation":"

A value that indicates whether to copy all tags from the source DB snapshot to the target DB snapshot. By default, tags are not copied.

" }, "PreSignedUrl":{ "shape":"String", - "documentation":"

The URL that contains a Signature Version 4 signed request for the CopyDBSnapshot API action in the source AWS Region that contains the source DB snapshot to copy.

You must specify this parameter when you copy an encrypted DB snapshot from another AWS Region by using the Amazon RDS API. You can specify the --source-region option instead of this parameter when you copy an encrypted DB snapshot from another AWS Region by using the AWS CLI.

The presigned URL must be a valid request for the CopyDBSnapshot API action that can be executed in the source AWS Region that contains the encrypted DB snapshot to be copied. The presigned URL request must contain the following parameter values:

  • DestinationRegion - The AWS Region that the encrypted DB snapshot is copied to. This AWS Region is the same one where the CopyDBSnapshot action is called that contains this presigned URL.

    For example, if you copy an encrypted DB snapshot from the us-west-2 AWS Region to the us-east-1 AWS Region, then you call the CopyDBSnapshot action in the us-east-1 AWS Region and provide a presigned URL that contains a call to the CopyDBSnapshot action in the us-west-2 AWS Region. For this example, the DestinationRegion in the presigned URL must be set to the us-east-1 AWS Region.

  • KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the copy of the DB snapshot in the destination AWS Region. This is the same identifier for both the CopyDBSnapshot action that is called in the destination AWS Region, and the action contained in the presigned URL.

  • SourceDBSnapshotIdentifier - The DB snapshot identifier for the encrypted snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB snapshot from the us-west-2 AWS Region, then your SourceDBSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

" + "documentation":"

The URL that contains a Signature Version 4 signed request for the CopyDBSnapshot API action in the source AWS Region that contains the source DB snapshot to copy.

You must specify this parameter when you copy an encrypted DB snapshot from another AWS Region by using the Amazon RDS API. You can specify the --source-region option instead of this parameter when you copy an encrypted DB snapshot from another AWS Region by using the AWS CLI.

The presigned URL must be a valid request for the CopyDBSnapshot API action that can be executed in the source AWS Region that contains the encrypted DB snapshot to be copied. The presigned URL request must contain the following parameter values:

  • DestinationRegion - The AWS Region that the encrypted DB snapshot is copied to. This AWS Region is the same one where the CopyDBSnapshot action is called that contains this presigned URL.

    For example, if you copy an encrypted DB snapshot from the us-west-2 AWS Region to the us-east-1 AWS Region, then you call the CopyDBSnapshot action in the us-east-1 AWS Region and provide a presigned URL that contains a call to the CopyDBSnapshot action in the us-west-2 AWS Region. For this example, the DestinationRegion in the presigned URL must be set to the us-east-1 AWS Region.

  • KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the copy of the DB snapshot in the destination AWS Region. This is the same identifier for both the CopyDBSnapshot action that is called in the destination AWS Region, and the action contained in the presigned URL.

  • SourceDBSnapshotIdentifier - The DB snapshot identifier for the encrypted snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB snapshot from the us-west-2 AWS Region, then your SourceDBSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

" }, "OptionGroupName":{ "shape":"String", - "documentation":"

The name of an option group to associate with the copy of the snapshot.

Specify this option if you are copying a snapshot from one AWS Region to another, and your DB instance uses a nondefault option group. If your source DB instance uses Transparent Data Encryption for Oracle or Microsoft SQL Server, you must specify this option when copying across AWS Regions. For more information, see Option Group Considerations in the Amazon RDS User Guide.

" + "documentation":"

The name of an option group to associate with the copy of the snapshot.

Specify this option if you are copying a snapshot from one AWS Region to another, and your DB instance uses a nondefault option group. If your source DB instance uses Transparent Data Encryption for Oracle or Microsoft SQL Server, you must specify this option when copying across AWS Regions. For more information, see Option Group Considerations in the Amazon RDS User Guide.

" } }, "documentation":"

" @@ -2521,7 +2633,7 @@ "members":{ "SourceOptionGroupIdentifier":{ "shape":"String", - "documentation":"

The identifier or ARN for the source option group. For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide.

Constraints:

  • Must specify a valid option group.

  • If the source option group is in the same AWS Region as the copy, specify a valid option group identifier, for example my-option-group, or a valid ARN.

  • If the source option group is in a different AWS Region than the copy, specify a valid option group ARN, for example arn:aws:rds:us-west-2:123456789012:og:special-options.

" + "documentation":"

The identifier or ARN for the source option group. For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide.

Constraints:

  • Must specify a valid option group.

  • If the source option group is in the same AWS Region as the copy, specify a valid option group identifier, for example my-option-group, or a valid ARN.

  • If the source option group is in a different AWS Region than the copy, specify a valid option group ARN, for example arn:aws:rds:us-west-2:123456789012:og:special-options.

" }, "TargetOptionGroupIdentifier":{ "shape":"String", @@ -2580,11 +2692,11 @@ "members":{ "AvailabilityZones":{ "shape":"AvailabilityZones", - "documentation":"

A list of EC2 Availability Zones that instances in the DB cluster can be created in. For information on AWS Regions and Availability Zones, see Choosing the Regions and Availability Zones in the Amazon Aurora User Guide.

" + "documentation":"

A list of Availability Zones (AZs) where instances in the DB cluster can be created. For information on AWS Regions and Availability Zones, see Choosing the Regions and Availability Zones in the Amazon Aurora User Guide.

" }, "BackupRetentionPeriod":{ "shape":"IntegerOptional", - "documentation":"

The number of days for which automated backups are retained. You must specify a minimum value of 1.

Default: 1

Constraints:

  • Must be a value from 1 to 35

" + "documentation":"

The number of days for which automated backups are retained.

Default: 1

Constraints:

  • Must be a value from 1 to 35

" }, "CharacterSetName":{ "shape":"String", @@ -2636,32 +2748,35 @@ }, "PreferredBackupWindow":{ "shape":"String", - "documentation":"

The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" + "documentation":"

The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" }, "PreferredMaintenanceWindow":{ "shape":"String", - "documentation":"

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

" + "documentation":"

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

" }, "ReplicationSourceIdentifier":{ "shape":"String", "documentation":"

The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a Read Replica.

" }, - "Tags":{"shape":"TagList"}, + "Tags":{ + "shape":"TagList", + "documentation":"

Tags to assign to the DB cluster.

" + }, "StorageEncrypted":{ "shape":"BooleanOptional", - "documentation":"

Specifies whether the DB cluster is encrypted.

" + "documentation":"

A value that indicates whether the DB cluster is encrypted.

" }, "KmsKeyId":{ "shape":"String", - "documentation":"

The AWS KMS key identifier for an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

If an encryption key is not specified in KmsKeyId:

  • If ReplicationSourceIdentifier identifies an encrypted source, then Amazon RDS will use the encryption key used to encrypt the source. Otherwise, Amazon RDS will use your default encryption key.

  • If the StorageEncrypted parameter is true and ReplicationSourceIdentifier is not specified, then Amazon RDS will use your default encryption key.

AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

If you create a Read Replica of an encrypted DB cluster in another AWS Region, you must set KmsKeyId to a KMS key ID that is valid in the destination AWS Region. This key is used to encrypt the Read Replica in that AWS Region.

" + "documentation":"

The AWS KMS key identifier for an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

If an encryption key is not specified in KmsKeyId:

  • If ReplicationSourceIdentifier identifies an encrypted source, then Amazon RDS will use the encryption key used to encrypt the source. Otherwise, Amazon RDS will use your default encryption key.

  • If the StorageEncrypted parameter is enabled and ReplicationSourceIdentifier is not specified, then Amazon RDS will use your default encryption key.

AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

If you create a Read Replica of an encrypted DB cluster in another AWS Region, you must set KmsKeyId to a KMS key ID that is valid in the destination AWS Region. This key is used to encrypt the Read Replica in that AWS Region.

" }, "PreSignedUrl":{ "shape":"String", - "documentation":"

A URL that contains a Signature Version 4 signed request for the CreateDBCluster action to be called in the source AWS Region where the DB cluster is replicated from. You only need to specify PreSignedUrl when you are performing cross-region replication from an encrypted DB cluster.

The pre-signed URL must be a valid request for the CreateDBCluster API action that can be executed in the source AWS Region that contains the encrypted DB cluster to be copied.

The pre-signed URL request must contain the following parameter values:

  • KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the copy of the DB cluster in the destination AWS Region. This should refer to the same KMS key for both the CreateDBCluster action that is called in the destination AWS Region, and the action contained in the pre-signed URL.

  • DestinationRegion - The name of the AWS Region that Aurora Read Replica will be created in.

  • ReplicationSourceIdentifier - The DB cluster identifier for the encrypted DB cluster to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB cluster from the us-west-2 AWS Region, then your ReplicationSourceIdentifier would look like Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

" + "documentation":"

A URL that contains a Signature Version 4 signed request for the CreateDBCluster action to be called in the source AWS Region where the DB cluster is replicated from. You only need to specify PreSignedUrl when you are performing cross-region replication from an encrypted DB cluster.

The pre-signed URL must be a valid request for the CreateDBCluster API action that can be executed in the source AWS Region that contains the encrypted DB cluster to be copied.

The pre-signed URL request must contain the following parameter values:

  • KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the copy of the DB cluster in the destination AWS Region. This should refer to the same KMS key for both the CreateDBCluster action that is called in the destination AWS Region, and the action contained in the pre-signed URL.

  • DestinationRegion - The name of the AWS Region that Aurora Read Replica will be created in.

  • ReplicationSourceIdentifier - The DB cluster identifier for the encrypted DB cluster to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB cluster from the us-west-2 AWS Region, then your ReplicationSourceIdentifier would look like Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

" }, "EnableIAMDatabaseAuthentication":{ "shape":"BooleanOptional", - "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" + "documentation":"

A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.

" }, "BacktrackWindow":{ "shape":"LongOptional", @@ -2669,7 +2784,7 @@ }, "EnableCloudwatchLogsExports":{ "shape":"LogTypeList", - "documentation":"

The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

" + "documentation":"

The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

" }, "EngineMode":{ "shape":"String", @@ -2681,11 +2796,15 @@ }, "DeletionProtection":{ "shape":"BooleanOptional", - "documentation":"

Indicates if the DB cluster should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false.

" + "documentation":"

A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.

" }, "GlobalClusterIdentifier":{ "shape":"String", "documentation":"

The global cluster ID of an Aurora cluster that becomes the primary cluster in the new global database cluster.

" + }, + "CopyTagsToSnapshot":{ + "shape":"BooleanOptional", + "documentation":"

A value that indicates whether to copy all tags from the DB cluster to snapshots of the DB cluster. The default is not to copy them.

" } }, "documentation":"

" @@ -2710,7 +2829,10 @@ "shape":"String", "documentation":"

The description for the DB cluster parameter group.

" }, - "Tags":{"shape":"TagList"} + "Tags":{ + "shape":"TagList", + "documentation":"

Tags to assign to the DB cluster parameter group.

" + } }, "documentation":"

" }, @@ -2764,7 +2886,7 @@ "members":{ "DBName":{ "shape":"String", - "documentation":"

The meaning of this parameter differs according to the database engine you use.

Type: String

MySQL

The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.

Constraints:

  • Must contain 1 to 64 letters or numbers.

  • Can't be a word reserved by the specified database engine

MariaDB

The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.

Constraints:

  • Must contain 1 to 64 letters or numbers.

  • Can't be a word reserved by the specified database engine

PostgreSQL

The name of the database to create when the DB instance is created. If this parameter is not specified, the default \"postgres\" database is created in the DB instance.

Constraints:

  • Must contain 1 to 63 letters, numbers, or underscores.

  • Must begin with a letter or an underscore. Subsequent characters can be letters, underscores, or digits (0-9).

  • Can't be a word reserved by the specified database engine

Oracle

The Oracle System ID (SID) of the created DB instance. If you specify null, the default value ORCL is used. You can't specify the string NULL, or any other reserved word, for DBName.

Default: ORCL

Constraints:

  • Can't be longer than 8 characters

SQL Server

Not applicable. Must be null.

Amazon Aurora

The name of the database to create when the primary instance of the DB cluster is created. If this parameter is not specified, no database is created in the DB instance.

Constraints:

  • Must contain 1 to 64 letters or numbers.

  • Can't be a word reserved by the specified database engine

" + "documentation":"

The meaning of this parameter differs according to the database engine you use.

MySQL

The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.

Constraints:

  • Must contain 1 to 64 letters or numbers.

  • Can't be a word reserved by the specified database engine

MariaDB

The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.

Constraints:

  • Must contain 1 to 64 letters or numbers.

  • Can't be a word reserved by the specified database engine

PostgreSQL

The name of the database to create when the DB instance is created. If this parameter is not specified, the default \"postgres\" database is created in the DB instance.

Constraints:

  • Must contain 1 to 63 letters, numbers, or underscores.

  • Must begin with a letter or an underscore. Subsequent characters can be letters, underscores, or digits (0-9).

  • Can't be a word reserved by the specified database engine

Oracle

The Oracle System ID (SID) of the created DB instance. If you specify null, the default value ORCL is used. You can't specify the string NULL, or any other reserved word, for DBName.

Default: ORCL

Constraints:

  • Can't be longer than 8 characters

SQL Server

Not applicable. Must be null.

Amazon Aurora

The name of the database to create when the primary instance of the DB cluster is created. If this parameter is not specified, no database is created in the DB instance.

Constraints:

  • Must contain 1 to 64 letters or numbers.

  • Can't be a word reserved by the specified database engine

" }, "DBInstanceIdentifier":{ "shape":"String", @@ -2772,11 +2894,11 @@ }, "AllocatedStorage":{ "shape":"IntegerOptional", - "documentation":"

The amount of storage (in gibibytes) to allocate for the DB instance.

Type: Integer

Amazon Aurora

Not applicable. Aurora cluster volumes automatically grow as the amount of data in your database increases, though you are only charged for the space that you use in an Aurora cluster volume.

MySQL

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp2): Must be an integer from 20 to 16384.

  • Provisioned IOPS storage (io1): Must be an integer from 100 to 16384.

  • Magnetic storage (standard): Must be an integer from 5 to 3072.

MariaDB

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp2): Must be an integer from 20 to 16384.

  • Provisioned IOPS storage (io1): Must be an integer from 100 to 16384.

  • Magnetic storage (standard): Must be an integer from 5 to 3072.

PostgreSQL

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp2): Must be an integer from 20 to 16384.

  • Provisioned IOPS storage (io1): Must be an integer from 100 to 16384.

  • Magnetic storage (standard): Must be an integer from 5 to 3072.

Oracle

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp2): Must be an integer from 20 to 32768.

  • Provisioned IOPS storage (io1): Must be an integer from 100 to 32768.

  • Magnetic storage (standard): Must be an integer from 10 to 3072.

SQL Server

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp2):

    • Enterprise and Standard editions: Must be an integer from 200 to 16384.

    • Web and Express editions: Must be an integer from 20 to 16384.

  • Provisioned IOPS storage (io1):

    • Enterprise and Standard editions: Must be an integer from 200 to 16384.

    • Web and Express editions: Must be an integer from 100 to 16384.

  • Magnetic storage (standard):

    • Enterprise and Standard editions: Must be an integer from 200 to 1024.

    • Web and Express editions: Must be an integer from 20 to 1024.

" + "documentation":"

The amount of storage (in gibibytes) to allocate for the DB instance.

Type: Integer

Amazon Aurora

Not applicable. Aurora cluster volumes automatically grow as the amount of data in your database increases, though you are only charged for the space that you use in an Aurora cluster volume.

MySQL

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.

  • Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

  • Magnetic storage (standard): Must be an integer from 5 to 3072.

MariaDB

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.

  • Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

  • Magnetic storage (standard): Must be an integer from 5 to 3072.

PostgreSQL

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.

  • Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

  • Magnetic storage (standard): Must be an integer from 5 to 3072.

Oracle

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.

  • Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

  • Magnetic storage (standard): Must be an integer from 10 to 3072.

SQL Server

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp2):

    • Enterprise and Standard editions: Must be an integer from 200 to 16384.

    • Web and Express editions: Must be an integer from 20 to 16384.

  • Provisioned IOPS storage (io1):

    • Enterprise and Standard editions: Must be an integer from 200 to 16384.

    • Web and Express editions: Must be an integer from 100 to 16384.

  • Magnetic storage (standard):

    • Enterprise and Standard editions: Must be an integer from 200 to 1024.

    • Web and Express editions: Must be an integer from 20 to 1024.

" }, "DBInstanceClass":{ "shape":"String", - "documentation":"

The compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

" + "documentation":"

The compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

" }, "Engine":{ "shape":"String", @@ -2784,11 +2906,11 @@ }, "MasterUsername":{ "shape":"String", - "documentation":"

The name for the master user.

Amazon Aurora

Not applicable. The name for the master user is managed by the DB cluster. For more information, see CreateDBCluster.

MariaDB

Constraints:

  • Required for MariaDB.

  • Must be 1 to 16 letters or numbers.

  • Can't be a reserved word for the chosen database engine.

Microsoft SQL Server

Constraints:

  • Required for SQL Server.

  • Must be 1 to 128 letters or numbers.

  • The first character must be a letter.

  • Can't be a reserved word for the chosen database engine.

MySQL

Constraints:

  • Required for MySQL.

  • Must be 1 to 16 letters or numbers.

  • First character must be a letter.

  • Can't be a reserved word for the chosen database engine.

Oracle

Constraints:

  • Required for Oracle.

  • Must be 1 to 30 letters or numbers.

  • First character must be a letter.

  • Can't be a reserved word for the chosen database engine.

PostgreSQL

Constraints:

  • Required for PostgreSQL.

  • Must be 1 to 63 letters or numbers.

  • First character must be a letter.

  • Can't be a reserved word for the chosen database engine.

" + "documentation":"

The name for the master user.

Amazon Aurora

Not applicable. The name for the master user is managed by the DB cluster.

MariaDB

Constraints:

  • Required for MariaDB.

  • Must be 1 to 16 letters or numbers.

  • Can't be a reserved word for the chosen database engine.

Microsoft SQL Server

Constraints:

  • Required for SQL Server.

  • Must be 1 to 128 letters or numbers.

  • The first character must be a letter.

  • Can't be a reserved word for the chosen database engine.

MySQL

Constraints:

  • Required for MySQL.

  • Must be 1 to 16 letters or numbers.

  • First character must be a letter.

  • Can't be a reserved word for the chosen database engine.

Oracle

Constraints:

  • Required for Oracle.

  • Must be 1 to 30 letters or numbers.

  • First character must be a letter.

  • Can't be a reserved word for the chosen database engine.

PostgreSQL

Constraints:

  • Required for PostgreSQL.

  • Must be 1 to 63 letters or numbers.

  • First character must be a letter.

  • Can't be a reserved word for the chosen database engine.

" }, "MasterUserPassword":{ "shape":"String", - "documentation":"

The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

Amazon Aurora

Not applicable. The password for the master user is managed by the DB cluster. For more information, see CreateDBCluster.

MariaDB

Constraints: Must contain from 8 to 41 characters.

Microsoft SQL Server

Constraints: Must contain from 8 to 128 characters.

MySQL

Constraints: Must contain from 8 to 41 characters.

Oracle

Constraints: Must contain from 8 to 30 characters.

PostgreSQL

Constraints: Must contain from 8 to 128 characters.

" + "documentation":"

The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

Amazon Aurora

Not applicable. The password for the master user is managed by the DB cluster.

MariaDB

Constraints: Must contain from 8 to 41 characters.

Microsoft SQL Server

Constraints: Must contain from 8 to 128 characters.

MySQL

Constraints: Must contain from 8 to 41 characters.

Oracle

Constraints: Must contain from 8 to 30 characters.

PostgreSQL

Constraints: Must contain from 8 to 128 characters.

" }, "DBSecurityGroups":{ "shape":"DBSecurityGroupNameList", @@ -2796,11 +2918,11 @@ }, "VpcSecurityGroupIds":{ "shape":"VpcSecurityGroupIdList", - "documentation":"

A list of Amazon EC2 VPC security groups to associate with this DB instance.

Amazon Aurora

Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more information, see CreateDBCluster.

Default: The default EC2 VPC security group for the DB subnet group's VPC.

" + "documentation":"

A list of Amazon EC2 VPC security groups to associate with this DB instance.

Amazon Aurora

Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster.

Default: The default EC2 VPC security group for the DB subnet group's VPC.

" }, "AvailabilityZone":{ "shape":"String", - "documentation":"

The EC2 Availability Zone that the DB instance is created in. For information on AWS Regions and Availability Zones, see Regions and Availability Zones.

Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

Example: us-east-1d

Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ parameter is set to true. The specified Availability Zone must be in the same AWS Region as the current endpoint.

" + "documentation":"

The Availability Zone (AZ) where the database will be created. For information on AWS Regions and Availability Zones, see Regions and Availability Zones.

Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

Example: us-east-1d

Constraint: The AvailabilityZone parameter can't be specified if the DB instance is a Multi-AZ deployment. The specified Availability Zone must be in the same AWS Region as the current endpoint.

" }, "DBSubnetGroupName":{ "shape":"String", @@ -2808,7 +2930,7 @@ }, "PreferredMaintenanceWindow":{ "shape":"String", - "documentation":"

The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC). For more information, see Amazon RDS Maintenance Window.

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

" + "documentation":"

The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC). For more information, see Amazon RDS Maintenance Window.

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

" }, "DBParameterGroupName":{ "shape":"String", @@ -2816,11 +2938,11 @@ }, "BackupRetentionPeriod":{ "shape":"IntegerOptional", - "documentation":"

The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

Amazon Aurora

Not applicable. The retention period for automated backups is managed by the DB cluster. For more information, see CreateDBCluster.

Default: 1

Constraints:

  • Must be a value from 0 to 35

  • Can't be set to 0 if the DB instance is a source to Read Replicas

" + "documentation":"

The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

Amazon Aurora

Not applicable. The retention period for automated backups is managed by the DB cluster.

Default: 1

Constraints:

  • Must be a value from 0 to 35

  • Can't be set to 0 if the DB instance is a source to Read Replicas

" }, "PreferredBackupWindow":{ "shape":"String", - "documentation":"

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter. For more information, see The Backup Window in the Amazon RDS User Guide.

Amazon Aurora

Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see CreateDBCluster.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred DB Instance Maintenance Window in the Amazon RDS User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" + "documentation":"

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter. For more information, see The Backup Window in the Amazon RDS User Guide.

Amazon Aurora

Not applicable. The daily time range for creating automated backups is managed by the DB cluster.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred DB Instance Maintenance Window in the Amazon RDS User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" }, "Port":{ "shape":"IntegerOptional", @@ -2828,15 +2950,15 @@ }, "MultiAZ":{ "shape":"BooleanOptional", - "documentation":"

A value that specifies whether the DB instance is a Multi-AZ deployment. You can't set the AvailabilityZone parameter if the MultiAZ parameter is set to true.

" + "documentation":"

A value that indicates whether the DB instance is a Multi-AZ deployment. You can't set the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

" }, "EngineVersion":{ "shape":"String", - "documentation":"

The version number of the database engine to use.

For a list of valid engine versions, call DescribeDBEngineVersions.

The following are the database engines and links to information about the major and minor versions that are available with Amazon RDS. Not every database engine is available for every AWS Region.

Amazon Aurora

Not applicable. The version number of the database engine to be used by the DB instance is managed by the DB cluster. For more information, see CreateDBCluster.

MariaDB

See MariaDB on Amazon RDS Versions in the Amazon RDS User Guide.

Microsoft SQL Server

See Version and Feature Support on Amazon RDS in the Amazon RDS User Guide.

MySQL

See MySQL on Amazon RDS Versions in the Amazon RDS User Guide.

Oracle

See Oracle Database Engine Release Notes in the Amazon RDS User Guide.

PostgreSQL

See Supported PostgreSQL Database Versions in the Amazon RDS User Guide.

" + "documentation":"

The version number of the database engine to use.

For a list of valid engine versions, use the DescribeDBEngineVersions action.

The following are the database engines and links to information about the major and minor versions that are available with Amazon RDS. Not every database engine is available for every AWS Region.

Amazon Aurora

Not applicable. The version number of the database engine to be used by the DB instance is managed by the DB cluster.

MariaDB

See MariaDB on Amazon RDS Versions in the Amazon RDS User Guide.

Microsoft SQL Server

See Version and Feature Support on Amazon RDS in the Amazon RDS User Guide.

MySQL

See MySQL on Amazon RDS Versions in the Amazon RDS User Guide.

Oracle

See Oracle Database Engine Release Notes in the Amazon RDS User Guide.

PostgreSQL

See Supported PostgreSQL Database Versions in the Amazon RDS User Guide.

" }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", - "documentation":"

Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance window.

Default: true

" + "documentation":"

A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. By default, minor engine upgrades are applied automatically.

" }, "LicenseModel":{ "shape":"String", @@ -2844,7 +2966,7 @@ }, "Iops":{ "shape":"IntegerOptional", - "documentation":"

The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance. For information about valid Iops values, see see Amazon RDS Provisioned IOPS Storage to Improve Performance in the Amazon RDS User Guide.

Constraints: Must be a multiple between 1 and 50 of the storage amount for the DB instance.

" + "documentation":"

The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance. For information about valid Iops values, see see Amazon RDS Provisioned IOPS Storage to Improve Performance in the Amazon RDS User Guide.

Constraints: Must be a multiple between 1 and 50 of the storage amount for the DB instance.

" }, "OptionGroupName":{ "shape":"String", @@ -2852,20 +2974,23 @@ }, "CharacterSetName":{ "shape":"String", - "documentation":"

For supported engines, indicates that the DB instance should be associated with the specified CharacterSet.

Amazon Aurora

Not applicable. The character set is managed by the DB cluster. For more information, see CreateDBCluster.

" + "documentation":"

For supported engines, indicates that the DB instance should be associated with the specified CharacterSet.

Amazon Aurora

Not applicable. The character set is managed by the DB cluster. For more information, see CreateDBCluster.

" }, "PubliclyAccessible":{ "shape":"BooleanOptional", - "documentation":"

Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address.

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

If DBSubnetGroupName is not specified, and PubliclyAccessible is not specified, the following applies:

  • If the default VPC in the target region doesn’t have an Internet gateway attached to it, the DB instance is private.

  • If the default VPC in the target region has an Internet gateway attached to it, the DB instance is public.

If DBSubnetGroupName is specified, and PubliclyAccessible is not specified, the following applies:

  • If the subnets are part of a VPC that doesn’t have an Internet gateway attached to it, the DB instance is private.

  • If the subnets are part of a VPC that has an Internet gateway attached to it, the DB instance is public.

" + "documentation":"

A value that indicates whether the DB instance is publicly accessible. When the DB instance is publicly accessible, it is an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. When the DB instance is not publicly accessible, it is an internal instance with a DNS name that resolves to a private IP address.

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

If DBSubnetGroupName is not specified, and PubliclyAccessible is not specified, the following applies:

  • If the default VPC in the target region doesn’t have an Internet gateway attached to it, the DB instance is private.

  • If the default VPC in the target region has an Internet gateway attached to it, the DB instance is public.

If DBSubnetGroupName is specified, and PubliclyAccessible is not specified, the following applies:

  • If the subnets are part of a VPC that doesn’t have an Internet gateway attached to it, the DB instance is private.

  • If the subnets are part of a VPC that has an Internet gateway attached to it, the DB instance is public.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Tags to assign to the DB instance.

" }, - "Tags":{"shape":"TagList"}, "DBClusterIdentifier":{ "shape":"String", - "documentation":"

The identifier of the DB cluster that the instance will belong to.

For information on creating a DB cluster, see CreateDBCluster.

Type: String

" + "documentation":"

The identifier of the DB cluster that the instance will belong to.

" }, "StorageType":{ "shape":"String", - "documentation":"

Specifies the storage type to be associated with the DB instance.

Valid values: standard | gp2 | io1

If you specify io1, you must also include a value for the Iops parameter.

Default: io1 if the Iops parameter is specified, otherwise standard

" + "documentation":"

Specifies the storage type to be associated with the DB instance.

Valid values: standard | gp2 | io1

If you specify io1, you must also include a value for the Iops parameter.

Default: io1 if the Iops parameter is specified, otherwise gp2

" }, "TdeCredentialArn":{ "shape":"String", @@ -2877,19 +3002,19 @@ }, "StorageEncrypted":{ "shape":"BooleanOptional", - "documentation":"

Specifies whether the DB instance is encrypted.

Amazon Aurora

Not applicable. The encryption for DB instances is managed by the DB cluster. For more information, see CreateDBCluster.

Default: false

" + "documentation":"

A value that indicates whether the DB instance is encrypted. By default, it is not encrypted.

Amazon Aurora

Not applicable. The encryption for DB instances is managed by the DB cluster.

" }, "KmsKeyId":{ "shape":"String", - "documentation":"

The AWS KMS key identifier for an encrypted DB instance.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same AWS account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key.

Amazon Aurora

Not applicable. The KMS key identifier is managed by the DB cluster. For more information, see CreateDBCluster.

If the StorageEncrypted parameter is true, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

" + "documentation":"

The AWS KMS key identifier for an encrypted DB instance.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same AWS account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key.

Amazon Aurora

Not applicable. The KMS key identifier is managed by the DB cluster. For more information, see CreateDBCluster.

If StorageEncrypted is enabled, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

" }, "Domain":{ "shape":"String", - "documentation":"

Specify the Active Directory Domain to create the instance in.

" + "documentation":"

For an Amazon RDS DB instance that's running Microsoft SQL Server, this parameter specifies the Active Directory directory ID to create the instance in. Amazon RDS uses Windows Authentication to authenticate users that connect to the DB instance. For more information, see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft SQL Server in the Amazon RDS User Guide.

" }, "CopyTagsToSnapshot":{ "shape":"BooleanOptional", - "documentation":"

True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false.

" + "documentation":"

A value that indicates whether to copy tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.

Amazon Aurora

Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting this value for an Aurora DB instance has no effect on the DB cluster setting.

" }, "MonitoringInterval":{ "shape":"IntegerOptional", @@ -2897,7 +3022,7 @@ }, "MonitoringRoleArn":{ "shape":"String", - "documentation":"

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to Setting Up and Enabling Enhanced Monitoring in the Amazon RDS User Guide.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

" + "documentation":"

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to Setting Up and Enabling Enhanced Monitoring in the Amazon RDS User Guide.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

" }, "DomainIAMRoleName":{ "shape":"String", @@ -2905,23 +3030,23 @@ }, "PromotionTier":{ "shape":"IntegerOptional", - "documentation":"

A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.

Default: 1

Valid Values: 0 - 15

" + "documentation":"

A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.

Default: 1

Valid Values: 0 - 15

" }, "Timezone":{ "shape":"String", - "documentation":"

The time zone of the DB instance. The time zone parameter is currently supported only by Microsoft SQL Server.

" + "documentation":"

The time zone of the DB instance. The time zone parameter is currently supported only by Microsoft SQL Server.

" }, "EnableIAMDatabaseAuthentication":{ "shape":"BooleanOptional", - "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

You can enable IAM database authentication for the following database engines:

Amazon Aurora

Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster. For more information, see CreateDBCluster.

MySQL

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

Default: false

" + "documentation":"

A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.

You can enable IAM database authentication for the following database engines:

Amazon Aurora

Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster.

MySQL

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

" }, "EnablePerformanceInsights":{ "shape":"BooleanOptional", - "documentation":"

True to enable Performance Insights for the DB instance, and otherwise false.

For more information, see Using Amazon Performance Insights in the Amazon Relational Database Service User Guide.

" + "documentation":"

A value that indicates whether to enable Performance Insights for the DB instance.

For more information, see Using Amazon Performance Insights in the Amazon Relational Database Service User Guide.

" }, "PerformanceInsightsKMSKeyId":{ "shape":"String", - "documentation":"

The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

" + "documentation":"

The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS uses your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

" }, "PerformanceInsightsRetentionPeriod":{ "shape":"IntegerOptional", @@ -2929,7 +3054,7 @@ }, "EnableCloudwatchLogsExports":{ "shape":"LogTypeList", - "documentation":"

The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Relational Database Service User Guide.

" + "documentation":"

The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Relational Database Service User Guide.

" }, "ProcessorFeatures":{ "shape":"ProcessorFeatureList", @@ -2937,7 +3062,7 @@ }, "DeletionProtection":{ "shape":"BooleanOptional", - "documentation":"

Indicates if the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false. For more information, see Deleting a DB Instance.

" + "documentation":"

A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. For more information, see Deleting a DB Instance.

" } }, "documentation":"

" @@ -2955,15 +3080,15 @@ }, "SourceDBInstanceIdentifier":{ "shape":"String", - "documentation":"

The identifier of the DB instance that will act as the source for the Read Replica. Each DB instance can have up to five Read Replicas.

Constraints:

  • Must be the identifier of an existing MySQL, MariaDB, or PostgreSQL DB instance.

  • Can specify a DB instance that is a MySQL Read Replica only if the source is running MySQL 5.6 or later.

  • Can specify a DB instance that is a PostgreSQL DB instance only if the source is running PostgreSQL 9.3.5 or later (9.4.7 and higher for cross-region replication).

  • The specified DB instance must have automatic backups enabled, its backup retention period must be greater than 0.

  • If the source DB instance is in the same AWS Region as the Read Replica, specify a valid DB instance identifier.

  • If the source DB instance is in a different AWS Region than the Read Replica, specify a valid DB instance ARN. For more information, go to Constructing an ARN for Amazon RDS in the Amazon RDS User Guide.

" + "documentation":"

The identifier of the DB instance that will act as the source for the Read Replica. Each DB instance can have up to five Read Replicas.

Constraints:

  • Must be the identifier of an existing MySQL, MariaDB, Oracle, or PostgreSQL DB instance.

  • Can specify a DB instance that is a MySQL Read Replica only if the source is running MySQL 5.6 or later.

  • For the limitations of Oracle Read Replicas, see Read Replica Limitations with Oracle in the Amazon RDS User Guide.

  • Can specify a DB instance that is a PostgreSQL DB instance only if the source is running PostgreSQL 9.3.5 or later (9.4.7 and higher for cross-region replication).

  • The specified DB instance must have automatic backups enabled, its backup retention period must be greater than 0.

  • If the source DB instance is in the same AWS Region as the Read Replica, specify a valid DB instance identifier.

  • If the source DB instance is in a different AWS Region than the Read Replica, specify a valid DB instance ARN. For more information, go to Constructing an ARN for Amazon RDS in the Amazon RDS User Guide.

" }, "DBInstanceClass":{ "shape":"String", - "documentation":"

The compute and memory capacity of the Read Replica, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

Default: Inherits from the source DB instance.

" + "documentation":"

The compute and memory capacity of the Read Replica, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

Default: Inherits from the source DB instance.

" }, "AvailabilityZone":{ "shape":"String", - "documentation":"

The Amazon EC2 Availability Zone that the Read Replica is created in.

Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

Example: us-east-1d

" + "documentation":"

The Availability Zone (AZ) where the Read Replica will be created.

Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

Example: us-east-1d

" }, "Port":{ "shape":"IntegerOptional", @@ -2971,11 +3096,11 @@ }, "MultiAZ":{ "shape":"BooleanOptional", - "documentation":"

Specifies whether the Read Replica is in a Multi-AZ deployment.

You can create a Read Replica as a Multi-AZ DB instance. RDS creates a standby of your replica in another Availability Zone for failover support for the replica. Creating your Read Replica as a Multi-AZ DB instance is independent of whether the source database is a Multi-AZ DB instance.

" + "documentation":"

A value that indicates whether the Read Replica is in a Multi-AZ deployment.

You can create a Read Replica as a Multi-AZ DB instance. RDS creates a standby of your replica in another Availability Zone for failover support for the replica. Creating your Read Replica as a Multi-AZ DB instance is independent of whether the source database is a Multi-AZ DB instance.

" }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", - "documentation":"

Indicates that minor engine upgrades are applied automatically to the Read Replica during the maintenance window.

Default: Inherits from the source DB instance

" + "documentation":"

A value that indicates whether minor engine upgrades are applied automatically to the Read Replica during the maintenance window.

Default: Inherits from the source DB instance

" }, "Iops":{ "shape":"IntegerOptional", @@ -2983,11 +3108,11 @@ }, "OptionGroupName":{ "shape":"String", - "documentation":"

The option group the DB instance is associated with. If omitted, the default option group for the engine specified is used.

" + "documentation":"

The option group the DB instance is associated with. If omitted, the option group associated with the source instance is used.

" }, "PubliclyAccessible":{ "shape":"BooleanOptional", - "documentation":"

Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address. For more information, see CreateDBInstance.

" + "documentation":"

A value that indicates whether the DB instance is publicly accessible. When the DB instance is publicly accessible, it is an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. When the DB instance is not publicly accessible, it is an internal instance with a DNS name that resolves to a private IP address. For more information, see CreateDBInstance.

" }, "Tags":{"shape":"TagList"}, "DBSubnetGroupName":{ @@ -3000,11 +3125,11 @@ }, "StorageType":{ "shape":"String", - "documentation":"

Specifies the storage type to be associated with the Read Replica.

Valid values: standard | gp2 | io1

If you specify io1, you must also include a value for the Iops parameter.

Default: io1 if the Iops parameter is specified, otherwise standard

" + "documentation":"

Specifies the storage type to be associated with the Read Replica.

Valid values: standard | gp2 | io1

If you specify io1, you must also include a value for the Iops parameter.

Default: io1 if the Iops parameter is specified, otherwise gp2

" }, "CopyTagsToSnapshot":{ "shape":"BooleanOptional", - "documentation":"

True to copy all tags from the Read Replica to snapshots of the Read Replica, and otherwise false. The default is false.

" + "documentation":"

A value that indicates whether to copy all tags from the Read Replica to snapshots of the Read Replica. By default, tags are not copied.

" }, "MonitoringInterval":{ "shape":"IntegerOptional", @@ -3012,7 +3137,7 @@ }, "MonitoringRoleArn":{ "shape":"String", - "documentation":"

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

" + "documentation":"

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

" }, "KmsKeyId":{ "shape":"String", @@ -3020,19 +3145,19 @@ }, "PreSignedUrl":{ "shape":"String", - "documentation":"

The URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica API action in the source AWS Region that contains the source DB instance.

You must specify this parameter when you create an encrypted Read Replica from another AWS Region by using the Amazon RDS API. You can specify the --source-region option instead of this parameter when you create an encrypted Read Replica from another AWS Region by using the AWS CLI.

The presigned URL must be a valid request for the CreateDBInstanceReadReplica API action that can be executed in the source AWS Region that contains the encrypted source DB instance. The presigned URL request must contain the following parameter values:

  • DestinationRegion - The AWS Region that the encrypted Read Replica is created in. This AWS Region is the same one where the CreateDBInstanceReadReplica action is called that contains this presigned URL.

    For example, if you create an encrypted DB instance in the us-west-1 AWS Region, from a source DB instance in the us-east-2 AWS Region, then you call the CreateDBInstanceReadReplica action in the us-east-1 AWS Region and provide a presigned URL that contains a call to the CreateDBInstanceReadReplica action in the us-west-2 AWS Region. For this example, the DestinationRegion in the presigned URL must be set to the us-east-1 AWS Region.

  • KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the Read Replica in the destination AWS Region. This is the same identifier for both the CreateDBInstanceReadReplica action that is called in the destination AWS Region, and the action contained in the presigned URL.

  • SourceDBInstanceIdentifier - The DB instance identifier for the encrypted DB instance to be replicated. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are creating an encrypted Read Replica from a DB instance in the us-west-2 AWS Region, then your SourceDBInstanceIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

" + "documentation":"

The URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica API action in the source AWS Region that contains the source DB instance.

You must specify this parameter when you create an encrypted Read Replica from another AWS Region by using the Amazon RDS API. You can specify the --source-region option instead of this parameter when you create an encrypted Read Replica from another AWS Region by using the AWS CLI.

The presigned URL must be a valid request for the CreateDBInstanceReadReplica API action that can be executed in the source AWS Region that contains the encrypted source DB instance. The presigned URL request must contain the following parameter values:

  • DestinationRegion - The AWS Region that the encrypted Read Replica is created in. This AWS Region is the same one where the CreateDBInstanceReadReplica action is called that contains this presigned URL.

    For example, if you create an encrypted DB instance in the us-west-1 AWS Region, from a source DB instance in the us-east-2 AWS Region, then you call the CreateDBInstanceReadReplica action in the us-east-1 AWS Region and provide a presigned URL that contains a call to the CreateDBInstanceReadReplica action in the us-west-2 AWS Region. For this example, the DestinationRegion in the presigned URL must be set to the us-east-1 AWS Region.

  • KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the Read Replica in the destination AWS Region. This is the same identifier for both the CreateDBInstanceReadReplica action that is called in the destination AWS Region, and the action contained in the presigned URL.

  • SourceDBInstanceIdentifier - The DB instance identifier for the encrypted DB instance to be replicated. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are creating an encrypted Read Replica from a DB instance in the us-west-2 AWS Region, then your SourceDBInstanceIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

" }, "EnableIAMDatabaseAuthentication":{ "shape":"BooleanOptional", - "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

You can enable IAM database authentication for the following database engines

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

  • Aurora MySQL 5.6 or higher

Default: false

" + "documentation":"

A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.

You can enable IAM database authentication for the following database engines

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

  • Aurora MySQL 5.6 or higher

" }, "EnablePerformanceInsights":{ "shape":"BooleanOptional", - "documentation":"

True to enable Performance Insights for the read replica, and otherwise false.

For more information, see Using Amazon Performance Insights in the Amazon RDS User Guide.

" + "documentation":"

A value that indicates whether to enable Performance Insights for the Read Replica.

For more information, see Using Amazon Performance Insights in the Amazon RDS User Guide.

" }, "PerformanceInsightsKMSKeyId":{ "shape":"String", - "documentation":"

The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

" + "documentation":"

The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS uses your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

" }, "PerformanceInsightsRetentionPeriod":{ "shape":"IntegerOptional", @@ -3040,7 +3165,7 @@ }, "EnableCloudwatchLogsExports":{ "shape":"LogTypeList", - "documentation":"

The list of logs that the new DB instance is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

" + "documentation":"

The list of logs that the new DB instance is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

" }, "ProcessorFeatures":{ "shape":"ProcessorFeatureList", @@ -3048,11 +3173,11 @@ }, "UseDefaultProcessorFeatures":{ "shape":"BooleanOptional", - "documentation":"

A value that specifies that the DB instance class of the DB instance uses its default processor features.

" + "documentation":"

A value that indicates whether the DB instance class of the DB instance uses its default processor features.

" }, "DeletionProtection":{ "shape":"BooleanOptional", - "documentation":"

Indicates if the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false. For more information, see Deleting a DB Instance.

" + "documentation":"

A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. For more information, see Deleting a DB Instance.

" } } }, @@ -3088,7 +3213,10 @@ "shape":"String", "documentation":"

The description for the DB parameter group.

" }, - "Tags":{"shape":"TagList"} + "Tags":{ + "shape":"TagList", + "documentation":"

Tags to assign to the DB parameter group.

" + } }, "documentation":"

" }, @@ -3113,7 +3241,10 @@ "shape":"String", "documentation":"

The description for the DB security group.

" }, - "Tags":{"shape":"TagList"} + "Tags":{ + "shape":"TagList", + "documentation":"

Tags to assign to the DB security group.

" + } }, "documentation":"

" }, @@ -3168,7 +3299,10 @@ "shape":"SubnetIdentifierList", "documentation":"

The EC2 Subnet IDs for the DB subnet group.

" }, - "Tags":{"shape":"TagList"} + "Tags":{ + "shape":"TagList", + "documentation":"

Tags to assign to the DB subnet group.

" + } }, "documentation":"

" }, @@ -3199,7 +3333,7 @@ }, "EventCategories":{ "shape":"EventCategoriesList", - "documentation":"

A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action.

" + "documentation":"

A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action.

" }, "SourceIds":{ "shape":"SourceIdsList", @@ -3207,7 +3341,7 @@ }, "Enabled":{ "shape":"BooleanOptional", - "documentation":"

A Boolean value; set to true to activate the subscription, set to false to create the subscription but not active it.

" + "documentation":"

A value that indicates whether to activate the subscription. If the event notification subscription is not activated, the subscription is created but not active.

" }, "Tags":{"shape":"TagList"} }, @@ -3240,7 +3374,7 @@ }, "DeletionProtection":{ "shape":"BooleanOptional", - "documentation":"

The deletion protection setting for the new global database. The global database can't be deleted when this value is set to true.

" + "documentation":"

The deletion protection setting for the new global database. The global database can't be deleted when deletion protection is enabled.

" }, "DatabaseName":{ "shape":"String", @@ -3283,7 +3417,10 @@ "shape":"String", "documentation":"

The description of the option group.

" }, - "Tags":{"shape":"TagList"} + "Tags":{ + "shape":"TagList", + "documentation":"

Tags to assign to the option group.

" + } }, "documentation":"

" }, @@ -3302,7 +3439,7 @@ }, "AvailabilityZones":{ "shape":"AvailabilityZones", - "documentation":"

Provides the list of EC2 Availability Zones that instances in the DB cluster can be created in.

" + "documentation":"

Provides the list of Availability Zones (AZs) where instances in the DB cluster can be created.

" }, "BackupRetentionPeriod":{ "shape":"IntegerOptional", @@ -3414,7 +3551,7 @@ }, "KmsKeyId":{ "shape":"String", - "documentation":"

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB cluster.

" + "documentation":"

If StorageEncrypted is enabled, the AWS KMS key identifier for the encrypted DB cluster.

" }, "DbClusterResourceId":{ "shape":"String", @@ -3430,7 +3567,7 @@ }, "IAMDatabaseAuthenticationEnabled":{ "shape":"Boolean", - "documentation":"

True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

" + "documentation":"

A value that indicates whether the mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled.

" }, "CloneGroupId":{ "shape":"String", @@ -3454,11 +3591,11 @@ }, "EnabledCloudwatchLogsExports":{ "shape":"LogTypeList", - "documentation":"

A list of log types that this DB cluster is configured to export to CloudWatch Logs.

Log types vary by DB engine. For information about the log types for each DB engine, see Amazon RDS Database Log Files in the Amazon Aurora User Guide.

" + "documentation":"

A list of log types that this DB cluster is configured to export to CloudWatch Logs.

Log types vary by DB engine. For information about the log types for each DB engine, see Amazon RDS Database Log Files in the Amazon Aurora User Guide.

" }, "Capacity":{ "shape":"IntegerOptional", - "documentation":"

The current capacity of an Aurora Serverless DB cluster. The capacity is 0 (zero) when the cluster is paused.

For more information about Aurora Serverless, see Using Amazon Aurora Serverless in the Amazon Aurora User Guide.

" + "documentation":"

The current capacity of an Aurora Serverless DB cluster. The capacity is 0 (zero) when the cluster is paused.

For more information about Aurora Serverless, see Using Amazon Aurora Serverless in the Amazon Aurora User Guide.

" }, "EngineMode":{ "shape":"String", @@ -3467,14 +3604,34 @@ "ScalingConfigurationInfo":{"shape":"ScalingConfigurationInfo"}, "DeletionProtection":{ "shape":"Boolean", - "documentation":"

Indicates if the DB cluster has deletion protection enabled. The database can't be deleted when this value is set to true.

" + "documentation":"

Indicates if the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled.

" }, "HttpEndpointEnabled":{ "shape":"Boolean", - "documentation":"

HTTP endpoint functionality is in beta for Aurora Serverless and is subject to change.

Value that is true if the HTTP endpoint for an Aurora Serverless DB cluster is enabled and false otherwise.

When enabled, the HTTP endpoint provides a connectionless web service API for running SQL queries on the Aurora Serverless DB cluster. You can also query your database from inside the RDS console with the query editor.

For more information about Aurora Serverless, see Using Amazon Aurora Serverless in the Amazon Aurora User Guide.

" + "documentation":"

A value that indicates whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled.

When enabled, the HTTP endpoint provides a connectionless web service API for running SQL queries on the Aurora Serverless DB cluster. You can also query your database from inside the RDS console with the query editor.

For more information, see Using the Data API for Aurora Serverless in the Amazon Aurora User Guide.

" + }, + "ActivityStreamMode":{ + "shape":"ActivityStreamMode", + "documentation":"

The mode of the database activity stream. Database events such as a change or access generate an activity stream event. The database session can handle these events either synchronously or asynchronously.

" + }, + "ActivityStreamStatus":{ + "shape":"ActivityStreamStatus", + "documentation":"

The status of the database activity stream.

" + }, + "ActivityStreamKmsKeyId":{ + "shape":"String", + "documentation":"

The AWS KMS key identifier used for encrypting messages in the database activity stream.

" + }, + "ActivityStreamKinesisStreamName":{ + "shape":"String", + "documentation":"

The name of the Amazon Kinesis data stream used for the database activity stream.

" + }, + "CopyTagsToSnapshot":{ + "shape":"Boolean", + "documentation":"

Specifies whether tags are copied from the DB cluster to snapshots of the DB cluster.

" } }, - "documentation":"

Contains the details of an Amazon Aurora DB cluster.

This data type is used as a response element in the DescribeDBClusters, StopDBCluster, and StartDBCluster actions.

", + "documentation":"

Contains the details of an Amazon Aurora DB cluster.

This data type is used as a response element in the DescribeDBClusters, StopDBCluster, and StartDBCluster actions.

", "wrapper":true }, "DBClusterAlreadyExistsFault":{ @@ -3517,7 +3674,7 @@ "documentation":"

The status of the backtrack. This property returns one of the following values:

  • applying - The backtrack is currently being applied to or rolled back from the DB cluster.

  • completed - The backtrack has successfully been applied to or rolled back from the DB cluster.

  • failed - An error occurred while the backtrack was applied to or rolled back from the DB cluster.

  • pending - The backtrack is currently pending application to or rollback from the DB cluster.

" } }, - "documentation":"

This data type is used as a response element in the DescribeDBClusterBacktracks action.

" + "documentation":"

This data type is used as a response element in the DescribeDBClusterBacktracks action.

" }, "DBClusterBacktrackList":{ "type":"list", @@ -3531,14 +3688,14 @@ "members":{ "Marker":{ "shape":"String", - "documentation":"

A pagination token that can be used in a subsequent DescribeDBClusterBacktracks request.

" + "documentation":"

A pagination token that can be used in a subsequent DescribeDBClusterBacktracks request.

" }, "DBClusterBacktracks":{ "shape":"DBClusterBacktrackList", "documentation":"

Contains a list of backtracks for the user.

" } }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBClusterBacktracks action.

" + "documentation":"

Contains the result of a successful invocation of the DescribeDBClusterBacktracks action.

" }, "DBClusterBacktrackNotFoundFault":{ "type":"structure", @@ -3621,7 +3778,7 @@ "documentation":"

The Amazon Resource Name (ARN) for the endpoint.

" } }, - "documentation":"

This data type represents the information you need to connect to an Amazon Aurora DB cluster. This data type is used as a response element in the following actions:

For the data structure that represents Amazon RDS DB instance endpoints, see Endpoint.

" + "documentation":"

This data type represents the information you need to connect to an Amazon Aurora DB cluster. This data type is used as a response element in the following actions:

  • CreateDBClusterEndpoint

  • DescribeDBClusterEndpoints

  • ModifyDBClusterEndpoint

  • DeleteDBClusterEndpoint

For the data structure that represents Amazon RDS DB instance endpoints, see Endpoint.

" }, "DBClusterEndpointAlreadyExistsFault":{ "type":"structure", @@ -3647,7 +3804,7 @@ "members":{ "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBClusterEndpoints request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional pagination token provided by a previous DescribeDBClusterEndpoints request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" }, "DBClusterEndpoints":{ "shape":"DBClusterEndpointList", @@ -3695,7 +3852,7 @@ }, "IsClusterWriter":{ "shape":"Boolean", - "documentation":"

Value that is true if the cluster member is the primary instance for the DB cluster and false otherwise.

" + "documentation":"

A value that indicates whehter the cluster member is the primary instance for the DB cluster.

" }, "DBClusterParameterGroupStatus":{ "shape":"String", @@ -3703,7 +3860,7 @@ }, "PromotionTier":{ "shape":"IntegerOptional", - "documentation":"

A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.

" + "documentation":"

A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.

" } }, "documentation":"

Contains information about an instance that is part of a DB cluster.

", @@ -3728,7 +3885,7 @@ "documentation":"

Contains a list of DB clusters for the user.

" } }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBClusters action.

" + "documentation":"

Contains the result of a successful invocation of the DescribeDBClusters action.

" }, "DBClusterNotFoundFault":{ "type":"structure", @@ -3783,7 +3940,7 @@ "documentation":"

The Amazon Resource Name (ARN) for the DB cluster parameter group.

" } }, - "documentation":"

Contains the details of an Amazon RDS DB cluster parameter group.

This data type is used as a response element in the DescribeDBClusterParameterGroups action.

", + "documentation":"

Contains the details of an Amazon RDS DB cluster parameter group.

This data type is used as a response element in the DescribeDBClusterParameterGroups action.

", "wrapper":true }, "DBClusterParameterGroupDetails":{ @@ -3866,7 +4023,10 @@ "shape":"String", "documentation":"

Describes the state of association between the IAM role and the DB cluster. The Status property returns one of the following values:

  • ACTIVE - the IAM role ARN is associated with the DB cluster and can be used to access other AWS services on your behalf.

  • PENDING - the IAM role ARN is being associated with the DB cluster.

  • INVALID - the IAM role ARN is associated with the DB cluster, but the DB cluster is unable to assume the IAM role in order to access other AWS services on your behalf.

" }, - "FeatureName":{"shape":"String"} + "FeatureName":{ + "shape":"String", + "documentation":"

The name of the feature associated with the AWS Identity and Access Management (IAM) role. For the list of supported feature names, see DBEngineVersion.

" + } }, "documentation":"

Describes an AWS Identity and Access Management (IAM) role that is associated with a DB cluster.

" }, @@ -3918,7 +4078,7 @@ "members":{ "AvailabilityZones":{ "shape":"AvailabilityZones", - "documentation":"

Provides the list of EC2 Availability Zones that instances in the DB cluster snapshot can be restored in.

" + "documentation":"

Provides the list of Availability Zones (AZs) where instances in the DB cluster snapshot can be restored.

" }, "DBClusterSnapshotIdentifier":{ "shape":"String", @@ -3997,7 +4157,7 @@ "documentation":"

True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

" } }, - "documentation":"

Contains the details for an Amazon RDS DB cluster snapshot

This data type is used as a response element in the DescribeDBClusterSnapshots action.

", + "documentation":"

Contains the details for an Amazon RDS DB cluster snapshot

This data type is used as a response element in the DescribeDBClusterSnapshots action.

", "wrapper":true }, "DBClusterSnapshotAlreadyExistsFault":{ @@ -4017,14 +4177,14 @@ "members":{ "AttributeName":{ "shape":"String", - "documentation":"

The name of the manual DB cluster snapshot attribute.

The attribute named restore refers to the list of AWS accounts that have permission to copy or restore the manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute API action.

" + "documentation":"

The name of the manual DB cluster snapshot attribute.

The attribute named restore refers to the list of AWS accounts that have permission to copy or restore the manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute API action.

" }, "AttributeValues":{ "shape":"AttributeValueList", "documentation":"

The value(s) for the manual DB cluster snapshot attribute.

If the AttributeName field is set to restore, then this element returns a list of IDs of the AWS accounts that are authorized to copy or restore the manual DB cluster snapshot. If a value of all is in the list, then the manual DB cluster snapshot is public and available for any AWS account to copy or restore.

" } }, - "documentation":"

Contains the name and values of a manual DB cluster snapshot attribute.

Manual DB cluster snapshot attributes are used to authorize other AWS accounts to restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute API action.

" + "documentation":"

Contains the name and values of a manual DB cluster snapshot attribute.

Manual DB cluster snapshot attributes are used to authorize other AWS accounts to restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute API action.

" }, "DBClusterSnapshotAttributeList":{ "type":"list", @@ -4045,7 +4205,7 @@ "documentation":"

The list of attributes and values for the manual DB cluster snapshot.

" } }, - "documentation":"

Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes API action.

Manual DB cluster snapshot attributes are used to authorize other AWS accounts to copy or restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute API action.

", + "documentation":"

Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes API action.

Manual DB cluster snapshot attributes are used to authorize other AWS accounts to copy or restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute API action.

", "wrapper":true }, "DBClusterSnapshotList":{ @@ -4060,14 +4220,14 @@ "members":{ "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBClusterSnapshots request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional pagination token provided by a previous DescribeDBClusterSnapshots request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" }, "DBClusterSnapshots":{ "shape":"DBClusterSnapshotList", "documentation":"

Provides a list of DB cluster snapshots for the user.

" } }, - "documentation":"

Provides a list of DB cluster snapshots for the user as the result of a call to the DescribeDBClusterSnapshots action.

" + "documentation":"

Provides a list of DB cluster snapshots for the user as the result of a call to the DescribeDBClusterSnapshots action.

" }, "DBClusterSnapshotNotFoundFault":{ "type":"structure", @@ -4130,14 +4290,22 @@ }, "SupportsReadReplica":{ "shape":"Boolean", - "documentation":"

Indicates whether the database engine version supports read replicas.

" + "documentation":"

Indicates whether the database engine version supports Read Replicas.

" }, "SupportedEngineModes":{ "shape":"EngineModeList", "documentation":"

A list of the supported DB engine modes.

" + }, + "SupportedFeatureNames":{ + "shape":"FeatureNameList", + "documentation":"

A list of features supported by the DB engine. Supported feature names include the following.

  • s3Import

" + }, + "Status":{ + "shape":"String", + "documentation":"

The status of the DB engine version, either available or deprecated.

" } }, - "documentation":"

This data type is used as a response element in the action DescribeDBEngineVersions.

" + "documentation":"

This data type is used as a response element in the action DescribeDBEngineVersions.

" }, "DBEngineVersionList":{ "type":"list", @@ -4158,7 +4326,7 @@ "documentation":"

A list of DBEngineVersion elements.

" } }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBEngineVersions action.

" + "documentation":"

Contains the result of a successful invocation of the DescribeDBEngineVersions action.

" }, "DBInstance":{ "type":"structure", @@ -4185,7 +4353,7 @@ }, "DBName":{ "shape":"String", - "documentation":"

The meaning of this parameter differs according to the database engine you use. For example, this value returns MySQL, MariaDB, or PostgreSQL information when returning values from CreateDBInstanceReadReplica since Read Replicas are only supported for these engines.

MySQL, MariaDB, SQL Server, PostgreSQL

Contains the name of the initial database of this instance that was provided at create time, if one was specified when the DB instance was created. This same name is returned for the life of the DB instance.

Type: String

Oracle

Contains the Oracle System ID (SID) of the created DB instance. Not shown when the returned parameters do not apply to an Oracle DB instance.

" + "documentation":"

The meaning of this parameter differs according to the database engine you use.

MySQL, MariaDB, SQL Server, PostgreSQL

Contains the name of the initial database of this instance that was provided at create time, if one was specified when the DB instance was created. This same name is returned for the life of the DB instance.

Type: String

Oracle

Contains the Oracle System ID (SID) of the created DB instance. Not shown when the returned parameters do not apply to an Oracle DB instance.

" }, "Endpoint":{ "shape":"Endpoint", @@ -4209,7 +4377,7 @@ }, "DBSecurityGroups":{ "shape":"DBSecurityGroupMembershipList", - "documentation":"

Provides List of DB security group elements containing only DBSecurityGroup.Name and DBSecurityGroup.Status subelements.

" + "documentation":"

A list of DB security group elements containing DBSecurityGroup.Name and DBSecurityGroup.Status subelements.

" }, "VpcSecurityGroups":{ "shape":"VpcSecurityGroupMembershipList", @@ -4329,7 +4497,7 @@ }, "CopyTagsToSnapshot":{ "shape":"Boolean", - "documentation":"

Specifies whether tags are copied from the DB instance to snapshots of the DB instance.

" + "documentation":"

Specifies whether tags are copied from the DB instance to snapshots of the DB instance.

Amazon Aurora

Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting this value for an Aurora DB instance has no effect on the DB cluster setting. For more information, see DBCluster.

" }, "MonitoringInterval":{ "shape":"IntegerOptional", @@ -4345,7 +4513,7 @@ }, "PromotionTier":{ "shape":"IntegerOptional", - "documentation":"

A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.

" + "documentation":"

A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.

" }, "DBInstanceArn":{ "shape":"String", @@ -4373,7 +4541,7 @@ }, "EnabledCloudwatchLogsExports":{ "shape":"LogTypeList", - "documentation":"

A list of log types that this DB instance is configured to export to CloudWatch Logs.

Log types vary by DB engine. For information about the log types for each DB engine, see Amazon RDS Database Log Files in the Amazon RDS User Guide.

" + "documentation":"

A list of log types that this DB instance is configured to export to CloudWatch Logs.

Log types vary by DB engine. For information about the log types for each DB engine, see Amazon RDS Database Log Files in the Amazon RDS User Guide.

" }, "ProcessorFeatures":{ "shape":"ProcessorFeatureList", @@ -4381,14 +4549,18 @@ }, "DeletionProtection":{ "shape":"Boolean", - "documentation":"

Indicates if the DB instance has deletion protection enabled. The database can't be deleted when this value is set to true. For more information, see Deleting a DB Instance.

" + "documentation":"

Indicates if the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. For more information, see Deleting a DB Instance.

" + }, + "AssociatedRoles":{ + "shape":"DBInstanceRoles", + "documentation":"

The AWS Identity and Access Management (IAM) roles associated with the DB instance.

" }, "ListenerEndpoint":{ "shape":"Endpoint", "documentation":"

Specifies the listener connection endpoint for SQL Server Always On.

" } }, - "documentation":"

Contains the details of an Amazon RDS DB instance.

This data type is used as a response element in the DescribeDBInstances action.

", + "documentation":"

Contains the details of an Amazon RDS DB instance.

This data type is used as a response element in the DescribeDBInstances action.

", "wrapper":true }, "DBInstanceAlreadyExistsFault":{ @@ -4440,7 +4612,7 @@ }, "AvailabilityZone":{ "shape":"String", - "documentation":"

The Availability Zone that the automated backup was created in. For information on AWS Regions and Availability Zones, see Regions and Availability Zones.

" + "documentation":"

The Availability Zone that the automated backup was created in. For information on AWS Regions and Availability Zones, see Regions and Availability Zones.

" }, "VpcId":{ "shape":"String", @@ -4518,10 +4690,10 @@ }, "DBInstanceAutomatedBackups":{ "shape":"DBInstanceAutomatedBackupList", - "documentation":"

A list of DBInstanceAutomatedBackup instances.

" + "documentation":"

A list of DBInstanceAutomatedBackup instances.

" } }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBInstanceAutomatedBackups action.

" + "documentation":"

Contains the result of a successful invocation of the DescribeDBInstanceAutomatedBackups action.

" }, "DBInstanceAutomatedBackupNotFoundFault":{ "type":"structure", @@ -4563,10 +4735,10 @@ }, "DBInstances":{ "shape":"DBInstanceList", - "documentation":"

A list of DBInstance instances.

" + "documentation":"

A list of DBInstance instances.

" } }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBInstances action.

" + "documentation":"

Contains the result of a successful invocation of the DescribeDBInstances action.

" }, "DBInstanceNotFoundFault":{ "type":"structure", @@ -4580,6 +4752,67 @@ }, "exception":true }, + "DBInstanceRole":{ + "type":"structure", + "members":{ + "RoleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role that is associated with the DB instance.

" + }, + "FeatureName":{ + "shape":"String", + "documentation":"

The name of the feature associated with the AWS Identity and Access Management (IAM) role. For the list of supported feature names, see DBEngineVersion.

" + }, + "Status":{ + "shape":"String", + "documentation":"

Describes the state of association between the IAM role and the DB instance. The Status property returns one of the following values:

  • ACTIVE - the IAM role ARN is associated with the DB instance and can be used to access other AWS services on your behalf.

  • PENDING - the IAM role ARN is being associated with the DB instance.

  • INVALID - the IAM role ARN is associated with the DB instance, but the DB instance is unable to assume the IAM role in order to access other AWS services on your behalf.

" + } + }, + "documentation":"

Describes an AWS Identity and Access Management (IAM) role that is associated with a DB instance.

" + }, + "DBInstanceRoleAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified RoleArn or FeatureName value is already associated with the DB instance.

", + "error":{ + "code":"DBInstanceRoleAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBInstanceRoleNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified RoleArn value doesn't match the specifed feature for the DB instance.

", + "error":{ + "code":"DBInstanceRoleNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBInstanceRoleQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

You can't associate any more AWS Identity and Access Management (IAM) roles with the DB instance because the quota has been reached.

", + "error":{ + "code":"DBInstanceRoleQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBInstanceRoles":{ + "type":"list", + "member":{ + "shape":"DBInstanceRole", + "locationName":"DBInstanceRole" + } + }, "DBInstanceStatusInfo":{ "type":"structure", "members":{ @@ -4593,7 +4826,7 @@ }, "Status":{ "shape":"String", - "documentation":"

Status of the DB instance. For a StatusType of read replica, the values can be replicating, replication stop point set, replication stop point reached, error, stopped, or terminated.

" + "documentation":"

Status of the DB instance. For a StatusType of Read Replica, the values can be replicating, replication stop point set, replication stop point reached, error, stopped, or terminated.

" }, "Message":{ "shape":"String", @@ -4641,7 +4874,7 @@ "documentation":"

The Amazon Resource Name (ARN) for the DB parameter group.

" } }, - "documentation":"

Contains the details of an Amazon RDS DB parameter group.

This data type is used as a response element in the DescribeDBParameterGroups action.

", + "documentation":"

Contains the details of an Amazon RDS DB parameter group.

This data type is used as a response element in the DescribeDBParameterGroups action.

", "wrapper":true }, "DBParameterGroupAlreadyExistsFault":{ @@ -4661,14 +4894,14 @@ "members":{ "Parameters":{ "shape":"ParametersList", - "documentation":"

A list of Parameter values.

" + "documentation":"

A list of Parameter values.

" }, "Marker":{ "shape":"String", "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" } }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBParameters action.

" + "documentation":"

Contains the result of a successful invocation of the DescribeDBParameters action.

" }, "DBParameterGroupList":{ "type":"list", @@ -4685,7 +4918,7 @@ "documentation":"

Provides the name of the DB parameter group.

" } }, - "documentation":"

Contains the result of a successful invocation of the ModifyDBParameterGroup or ResetDBParameterGroup action.

" + "documentation":"

Contains the result of a successful invocation of the ModifyDBParameterGroup or ResetDBParameterGroup action.

" }, "DBParameterGroupNotFoundFault":{ "type":"structure", @@ -4723,7 +4956,7 @@ "documentation":"

The status of parameter updates.

" } }, - "documentation":"

The status of the DB parameter group.

This data type is used as a response element in the following actions:

" + "documentation":"

The status of the DB parameter group.

This data type is used as a response element in the following actions:

  • CreateDBInstance

  • CreateDBInstanceReadReplica

  • DeleteDBInstance

  • ModifyDBInstance

  • RebootDBInstance

  • RestoreDBInstanceFromDBSnapshot

" }, "DBParameterGroupStatusList":{ "type":"list", @@ -4741,10 +4974,10 @@ }, "DBParameterGroups":{ "shape":"DBParameterGroupList", - "documentation":"

A list of DBParameterGroup instances.

" + "documentation":"

A list of DBParameterGroup instances.

" } }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBParameterGroups action.

" + "documentation":"

Contains the result of a successful invocation of the DescribeDBParameterGroups action.

" }, "DBSecurityGroup":{ "type":"structure", @@ -4767,18 +5000,18 @@ }, "EC2SecurityGroups":{ "shape":"EC2SecurityGroupList", - "documentation":"

Contains a list of EC2SecurityGroup elements.

" + "documentation":"

Contains a list of EC2SecurityGroup elements.

" }, "IPRanges":{ "shape":"IPRangeList", - "documentation":"

Contains a list of IPRange elements.

" + "documentation":"

Contains a list of IPRange elements.

" }, "DBSecurityGroupArn":{ "shape":"String", "documentation":"

The Amazon Resource Name (ARN) for the DB security group.

" } }, - "documentation":"

Contains the details for an Amazon RDS DB security group.

This data type is used as a response element in the DescribeDBSecurityGroups action.

", + "documentation":"

Contains the details for an Amazon RDS DB security group.

This data type is used as a response element in the DescribeDBSecurityGroups action.

", "wrapper":true }, "DBSecurityGroupAlreadyExistsFault":{ @@ -4805,7 +5038,7 @@ "documentation":"

The status of the DB security group.

" } }, - "documentation":"

This data type is used as a response element in the following actions:

" + "documentation":"

This data type is used as a response element in the following actions:

  • ModifyDBInstance

  • RebootDBInstance

  • RestoreDBInstanceFromDBSnapshot

  • RestoreDBInstanceToPointInTime

" }, "DBSecurityGroupMembershipList":{ "type":"list", @@ -4823,10 +5056,10 @@ }, "DBSecurityGroups":{ "shape":"DBSecurityGroups", - "documentation":"

A list of DBSecurityGroup instances.

" + "documentation":"

A list of DBSecurityGroup instances.

" } }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBSecurityGroups action.

" + "documentation":"

Contains the result of a successful invocation of the DescribeDBSecurityGroups action.

" }, "DBSecurityGroupNameList":{ "type":"list", @@ -4994,7 +5227,7 @@ "documentation":"

The identifier for the source DB instance, which can't be changed and which is unique to an AWS Region.

" } }, - "documentation":"

Contains the details of an Amazon RDS DB snapshot.

This data type is used as a response element in the DescribeDBSnapshots action.

", + "documentation":"

Contains the details of an Amazon RDS DB snapshot.

This data type is used as a response element in the DescribeDBSnapshots action.

", "wrapper":true }, "DBSnapshotAlreadyExistsFault":{ @@ -5014,14 +5247,14 @@ "members":{ "AttributeName":{ "shape":"String", - "documentation":"

The name of the manual DB snapshot attribute.

The attribute named restore refers to the list of AWS accounts that have permission to copy or restore the manual DB cluster snapshot. For more information, see the ModifyDBSnapshotAttribute API action.

" + "documentation":"

The name of the manual DB snapshot attribute.

The attribute named restore refers to the list of AWS accounts that have permission to copy or restore the manual DB cluster snapshot. For more information, see the ModifyDBSnapshotAttribute API action.

" }, "AttributeValues":{ "shape":"AttributeValueList", "documentation":"

The value or values for the manual DB snapshot attribute.

If the AttributeName field is set to restore, then this element returns a list of IDs of the AWS accounts that are authorized to copy or restore the manual DB snapshot. If a value of all is in the list, then the manual DB snapshot is public and available for any AWS account to copy or restore.

" } }, - "documentation":"

Contains the name and values of a manual DB snapshot attribute

Manual DB snapshot attributes are used to authorize other AWS accounts to restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute API.

", + "documentation":"

Contains the name and values of a manual DB snapshot attribute

Manual DB snapshot attributes are used to authorize other AWS accounts to restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute API.

", "wrapper":true }, "DBSnapshotAttributeList":{ @@ -5043,7 +5276,7 @@ "documentation":"

The list of attributes and values for the manual DB snapshot.

" } }, - "documentation":"

Contains the results of a successful call to the DescribeDBSnapshotAttributes API action.

Manual DB snapshot attributes are used to authorize other AWS accounts to copy or restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute API action.

", + "documentation":"

Contains the results of a successful call to the DescribeDBSnapshotAttributes API action.

Manual DB snapshot attributes are used to authorize other AWS accounts to copy or restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute API action.

", "wrapper":true }, "DBSnapshotList":{ @@ -5062,10 +5295,10 @@ }, "DBSnapshots":{ "shape":"DBSnapshotList", - "documentation":"

A list of DBSnapshot instances.

" + "documentation":"

A list of DBSnapshot instances.

" } }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBSnapshots action.

" + "documentation":"

Contains the result of a successful invocation of the DescribeDBSnapshots action.

" }, "DBSnapshotNotFoundFault":{ "type":"structure", @@ -5100,14 +5333,14 @@ }, "Subnets":{ "shape":"SubnetList", - "documentation":"

Contains a list of Subnet elements.

" + "documentation":"

Contains a list of Subnet elements.

" }, "DBSubnetGroupArn":{ "shape":"String", "documentation":"

The Amazon Resource Name (ARN) for the DB subnet group.

" } }, - "documentation":"

Contains the details of an Amazon RDS DB subnet group.

This data type is used as a response element in the DescribeDBSubnetGroups action.

", + "documentation":"

Contains the details of an Amazon RDS DB subnet group.

This data type is used as a response element in the DescribeDBSubnetGroups action.

", "wrapper":true }, "DBSubnetGroupAlreadyExistsFault":{ @@ -5143,10 +5376,10 @@ }, "DBSubnetGroups":{ "shape":"DBSubnetGroups", - "documentation":"

A list of DBSubnetGroup instances.

" + "documentation":"

A list of DBSubnetGroup instances.

" } }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBSubnetGroups action.

" + "documentation":"

Contains the result of a successful invocation of the DescribeDBSubnetGroups action.

" }, "DBSubnetGroupNotAllowedFault":{ "type":"structure", @@ -5235,11 +5468,11 @@ }, "SkipFinalSnapshot":{ "shape":"Boolean", - "documentation":"

Determines whether a final DB cluster snapshot is created before the DB cluster is deleted. If true is specified, no DB cluster snapshot is created. If false is specified, a DB cluster snapshot is created before the DB cluster is deleted.

You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot is false.

Default: false

" + "documentation":"

A value that indicates whether to skip the creation of a final DB cluster snapshot before the DB cluster is deleted. If skip is specified, no DB cluster snapshot is created. If skip is not specified, a DB cluster snapshot is created before the DB cluster is deleted. By default, skip is not specified, and the DB cluster snapshot is created. By default, this parameter is disabled.

You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot is disabled.

" }, "FinalDBSnapshotIdentifier":{ "shape":"String", - "documentation":"

The DB cluster snapshot identifier of the new DB cluster snapshot created when SkipFinalSnapshot is set to false.

Specifying this parameter and also setting the SkipFinalShapshot parameter to true results in an error.

Constraints:

  • Must be 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter

  • Can't end with a hyphen or contain two consecutive hyphens

" + "documentation":"

The DB cluster snapshot identifier of the new DB cluster snapshot created when SkipFinalSnapshot is disabled.

Specifying this parameter and also skipping the creation of a final DB cluster snapshot with the SkipFinalShapshot parameter results in an error.

Constraints:

  • Must be 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter

  • Can't end with a hyphen or contain two consecutive hyphens

" } }, "documentation":"

" @@ -5305,15 +5538,15 @@ }, "SkipFinalSnapshot":{ "shape":"Boolean", - "documentation":"

A value that indicates whether a final DB snapshot is created before the DB instance is deleted. If true is specified, no DB snapshot is created. If false is specified, a DB snapshot is created before the DB instance is deleted.

When a DB instance is in a failure state and has a status of failed, incompatible-restore, or incompatible-network, you can only delete it when the SkipFinalSnapshot parameter is set to true.

Specify true when deleting a Read Replica.

The FinalDBSnapshotIdentifier parameter must be specified if SkipFinalSnapshot is false.

Default: false

" + "documentation":"

A value that indicates whether to skip the creation of a final DB snapshot before the DB instance is deleted. If skip is specified, no DB snapshot is created. If skip is not specified, a DB snapshot is created before the DB instance is deleted. By default, skip is not specified, and the DB snapshot is created.

Note that when a DB instance is in a failure state and has a status of 'failed', 'incompatible-restore', or 'incompatible-network', it can only be deleted when skip is specified.

Specify skip when deleting a Read Replica.

The FinalDBSnapshotIdentifier parameter must be specified if skip is not specified.

" }, "FinalDBSnapshotIdentifier":{ "shape":"String", - "documentation":"

The DBSnapshotIdentifier of the new DB snapshot created when SkipFinalSnapshot is set to false.

Specifying this parameter and also setting the SkipFinalShapshot parameter to true results in an error.

Constraints:

  • Must be 1 to 255 letters or numbers.

  • First character must be a letter.

  • Can't end with a hyphen or contain two consecutive hyphens.

  • Can't be specified when deleting a Read Replica.

" + "documentation":"

The DBSnapshotIdentifier of the new DBSnapshot created when the SkipFinalSnapshot parameter is disabled.

Specifying this parameter and also specifying to skip final DB snapshot creation in SkipFinalShapshot results in an error.

Constraints:

  • Must be 1 to 255 letters or numbers.

  • First character must be a letter.

  • Can't end with a hyphen or contain two consecutive hyphens.

  • Can't be specified when deleting a Read Replica.

" }, "DeleteAutomatedBackups":{ "shape":"BooleanOptional", - "documentation":"

A value that indicates whether to remove automated backups immediately after the DB instance is deleted. This parameter isn't case-sensitive. This parameter defaults to true.

" + "documentation":"

A value that indicates whether to remove automated backups immediately after the DB instance is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB instance is deleted.

" } }, "documentation":"

" @@ -5441,7 +5674,7 @@ }, "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeCertificates request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional pagination token provided by a previous DescribeCertificates request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" } }, "documentation":"

" @@ -5460,7 +5693,7 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

A filter that specifies one or more DB clusters to describe. Supported filters include the following:

  • db-cluster-backtrack-id - Accepts backtrack identifiers. The results list includes information about only the backtracks identified by these identifiers.

  • db-cluster-backtrack-status - Accepts any of the following backtrack status values:

    • applying

    • completed

    • failed

    • pending

    The results list includes information about only the backtracks identified by these values. For more information about backtrack status values, see DBClusterBacktrack.

" + "documentation":"

A filter that specifies one or more DB clusters to describe. Supported filters include the following:

  • db-cluster-backtrack-id - Accepts backtrack identifiers. The results list includes information about only the backtracks identified by these identifiers.

  • db-cluster-backtrack-status - Accepts any of the following backtrack status values:

    • applying

    • completed

    • failed

    • pending

    The results list includes information about only the backtracks identified by these values.

" }, "MaxRecords":{ "shape":"IntegerOptional", @@ -5468,7 +5701,7 @@ }, "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBClusterBacktracks request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional pagination token provided by a previous DescribeDBClusterBacktracks request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" } }, "documentation":"

" @@ -5494,7 +5727,7 @@ }, "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBClusterEndpoints request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional pagination token provided by a previous DescribeDBClusterEndpoints request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" } } }, @@ -5577,7 +5810,7 @@ }, "SnapshotType":{ "shape":"String", - "documentation":"

The type of DB cluster snapshots to be returned. You can specify one of the following values:

  • automated - Return all DB cluster snapshots that have been automatically taken by Amazon RDS for my AWS account.

  • manual - Return all DB cluster snapshots that have been taken by my AWS account.

  • shared - Return all manual DB cluster snapshots that have been shared to my AWS account.

  • public - Return all DB cluster snapshots that have been marked as public.

If you don't specify a SnapshotType value, then both automated and manual DB cluster snapshots are returned. You can include shared DB cluster snapshots with these results by setting the IncludeShared parameter to true. You can include public DB cluster snapshots with these results by setting the IncludePublic parameter to true.

The IncludeShared and IncludePublic parameters don't apply for SnapshotType values of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to public.

" + "documentation":"

The type of DB cluster snapshots to be returned. You can specify one of the following values:

  • automated - Return all DB cluster snapshots that have been automatically taken by Amazon RDS for my AWS account.

  • manual - Return all DB cluster snapshots that have been taken by my AWS account.

  • shared - Return all manual DB cluster snapshots that have been shared to my AWS account.

  • public - Return all DB cluster snapshots that have been marked as public.

If you don't specify a SnapshotType value, then both automated and manual DB cluster snapshots are returned. You can include shared DB cluster snapshots with these results by enabling the IncludeShared parameter. You can include public DB cluster snapshots with these results by enabling the IncludePublic parameter.

The IncludeShared and IncludePublic parameters don't apply for SnapshotType values of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to public.

" }, "Filters":{ "shape":"FilterList", @@ -5593,11 +5826,11 @@ }, "IncludeShared":{ "shape":"Boolean", - "documentation":"

True to include shared manual DB cluster snapshots from other AWS accounts that this AWS account has been given permission to copy or restore, and otherwise false. The default is false.

You can give an AWS account permission to restore a manual DB cluster snapshot from another AWS account by the ModifyDBClusterSnapshotAttribute API action.

" + "documentation":"

A value that indicates whether to include shared manual DB cluster snapshots from other AWS accounts that this AWS account has been given permission to copy or restore. By default, these snapshots are not included.

You can give an AWS account permission to restore a manual DB cluster snapshot from another AWS account by the ModifyDBClusterSnapshotAttribute API action.

" }, "IncludePublic":{ "shape":"Boolean", - "documentation":"

True to include manual DB cluster snapshots that are public and can be copied or restored by any AWS account, and otherwise false. The default is false. The default is false.

You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute API action.

" + "documentation":"

A value that indicates whether to include manual DB cluster snapshots that are public and can be copied or restored by any AWS account. By default, the public snapshots are not included.

You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute API action.

" } }, "documentation":"

" @@ -5619,7 +5852,7 @@ }, "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional pagination token provided by a previous DescribeDBClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" } }, "documentation":"

" @@ -5653,15 +5886,19 @@ }, "DefaultOnly":{ "shape":"Boolean", - "documentation":"

Indicates that only the default version of the specified engine or engine and major version combination is returned.

" + "documentation":"

A value that indicates whether only the default version of the specified engine or engine and major version combination is returned.

" }, "ListSupportedCharacterSets":{ "shape":"BooleanOptional", - "documentation":"

If this parameter is specified and the requested engine supports the CharacterSetName parameter for CreateDBInstance, the response includes a list of supported character sets for each engine version.

" + "documentation":"

A value that indicates whether to list the supported character sets for each engine version.

If this parameter is enabled and the requested engine supports the CharacterSetName parameter for CreateDBInstance, the response includes a list of supported character sets for each engine version.

" }, "ListSupportedTimezones":{ "shape":"BooleanOptional", - "documentation":"

If this parameter is specified and the requested engine supports the TimeZone parameter for CreateDBInstance, the response includes a list of supported time zones for each engine version.

" + "documentation":"

A value that indicates whether to list the supported time zones for each engine version.

If this parameter is enabled and the requested engine supports the TimeZone parameter for CreateDBInstance, the response includes a list of supported time zones for each engine version.

" + }, + "IncludeAll":{ + "shape":"BooleanOptional", + "documentation":"

A value that indicates whether to include engine versions that aren't available in the list. The default is to list only available engine versions.

" } } }, @@ -5729,7 +5966,7 @@ "documentation":"

The size, in bytes, of the log file for the specified DB instance.

" } }, - "documentation":"

This data type is used as a response element to DescribeDBLogFiles.

" + "documentation":"

This data type is used as a response element to DescribeDBLogFiles.

" }, "DescribeDBLogFilesList":{ "type":"list", @@ -5785,7 +6022,7 @@ "documentation":"

A pagination token that can be used in a subsequent DescribeDBLogFiles request.

" } }, - "documentation":"

The response from a call to DescribeDBLogFiles.

" + "documentation":"

The response from a call to DescribeDBLogFiles.

" }, "DescribeDBParameterGroupsMessage":{ "type":"structure", @@ -5887,7 +6124,7 @@ }, "SnapshotType":{ "shape":"String", - "documentation":"

The type of snapshots to be returned. You can specify one of the following values:

  • automated - Return all DB snapshots that have been automatically taken by Amazon RDS for my AWS account.

  • manual - Return all DB snapshots that have been taken by my AWS account.

  • shared - Return all manual DB snapshots that have been shared to my AWS account.

  • public - Return all DB snapshots that have been marked as public.

If you don't specify a SnapshotType value, then both automated and manual snapshots are returned. Shared and public DB snapshots are not included in the returned results by default. You can include shared snapshots with these results by setting the IncludeShared parameter to true. You can include public snapshots with these results by setting the IncludePublic parameter to true.

The IncludeShared and IncludePublic parameters don't apply for SnapshotType values of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to public.

" + "documentation":"

The type of snapshots to be returned. You can specify one of the following values:

  • automated - Return all DB snapshots that have been automatically taken by Amazon RDS for my AWS account.

  • manual - Return all DB snapshots that have been taken by my AWS account.

  • shared - Return all manual DB snapshots that have been shared to my AWS account.

  • public - Return all DB snapshots that have been marked as public.

  • awsbackup - Return the DB snapshots managed by the AWS Backup service.

    For information about AWS Backup, see the AWS Backup Developer Guide.

    The awsbackup type does not apply to Aurora.

If you don't specify a SnapshotType value, then both automated and manual snapshots are returned. Shared and public DB snapshots are not included in the returned results by default. You can include shared snapshots with these results by enabling the IncludeShared parameter. You can include public snapshots with these results by enabling the IncludePublic parameter.

The IncludeShared and IncludePublic parameters don't apply for SnapshotType values of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to public.

" }, "Filters":{ "shape":"FilterList", @@ -5903,11 +6140,11 @@ }, "IncludeShared":{ "shape":"Boolean", - "documentation":"

True to include shared manual DB snapshots from other AWS accounts that this AWS account has been given permission to copy or restore, and otherwise false. The default is false.

You can give an AWS account permission to restore a manual DB snapshot from another AWS account by using the ModifyDBSnapshotAttribute API action.

" + "documentation":"

A value that indicates whether to include shared manual DB cluster snapshots from other AWS accounts that this AWS account has been given permission to copy or restore. By default, these snapshots are not included.

You can give an AWS account permission to restore a manual DB snapshot from another AWS account by using the ModifyDBSnapshotAttribute API action.

" }, "IncludePublic":{ "shape":"Boolean", - "documentation":"

True to include manual DB snapshots that are public and can be copied or restored by any AWS account, and otherwise false. The default is false.

You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute API.

" + "documentation":"

A value that indicates whether to include manual DB cluster snapshots that are public and can be copied or restored by any AWS account. By default, the public snapshots are not included.

You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute API.

" }, "DbiResourceId":{ "shape":"String", @@ -6091,7 +6328,7 @@ }, "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeGlobalClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional pagination token provided by a previous DescribeGlobalClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" } } }, @@ -6174,7 +6411,7 @@ }, "Vpc":{ "shape":"BooleanOptional", - "documentation":"

The VPC filter value. Specify this parameter to show only the available VPC or non-VPC offerings.

" + "documentation":"

A value that indicates whether to show only VPC or non-VPC offerings.

" }, "Filters":{ "shape":"FilterList", @@ -6242,7 +6479,7 @@ }, "MultiAZ":{ "shape":"BooleanOptional", - "documentation":"

The Multi-AZ filter value. Specify this parameter to show only those reservations matching the specified Multi-AZ parameter.

" + "documentation":"

A value that indicates whether to show only those reservations that support Multi-AZ.

" }, "Filters":{ "shape":"FilterList", @@ -6284,7 +6521,7 @@ }, "MultiAZ":{ "shape":"BooleanOptional", - "documentation":"

The Multi-AZ filter value. Specify this parameter to show only the available offerings matching the specified Multi-AZ parameter.

" + "documentation":"

A value that indicates whether to show only those reservations that support Multi-AZ.

" }, "Filters":{ "shape":"FilterList", @@ -6314,7 +6551,7 @@ }, "Marker":{ "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeSourceRegions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + "documentation":"

An optional pagination token provided by a previous DescribeSourceRegions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" }, "Filters":{ "shape":"FilterList", @@ -6421,7 +6658,7 @@ "documentation":"

Boolean value that if true, indicates there is more data to be downloaded.

" } }, - "documentation":"

This data type is used as a response element to DownloadDBLogFilePortion.

" + "documentation":"

This data type is used as a response element to DownloadDBLogFilePortion.

" }, "DownloadDBLogFilePortionMessage":{ "type":"structure", @@ -6469,7 +6706,7 @@ "documentation":"

Specifies the AWS ID of the owner of the EC2 security group specified in the EC2SecurityGroupName field.

" } }, - "documentation":"

This data type is used as a response element in the following actions:

" + "documentation":"

This data type is used as a response element in the following actions:

  • AuthorizeDBSecurityGroupIngress

  • DescribeDBSecurityGroups

  • RevokeDBSecurityGroupIngress

" }, "EC2SecurityGroupList":{ "type":"list", @@ -6494,7 +6731,7 @@ "documentation":"

Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

" } }, - "documentation":"

This data type represents the information you need to connect to an Amazon RDS DB instance. This data type is used as a response element in the following actions:

For the data structure that represents Amazon Aurora DB cluster endpoints, see DBClusterEndpoint.

" + "documentation":"

This data type represents the information you need to connect to an Amazon RDS DB instance. This data type is used as a response element in the following actions:

  • CreateDBInstance

  • DescribeDBInstances

  • DeleteDBInstance

For the data structure that represents Amazon Aurora DB cluster endpoints, see DBClusterEndpoint.

" }, "EngineDefaults":{ "type":"structure", @@ -6512,7 +6749,7 @@ "documentation":"

Contains a list of engine default parameters.

" } }, - "documentation":"

Contains the result of a successful invocation of the DescribeEngineDefaultParameters action.

", + "documentation":"

Contains the result of a successful invocation of the DescribeEngineDefaultParameters action.

", "wrapper":true }, "EngineModeList":{ @@ -6547,7 +6784,7 @@ "documentation":"

The Amazon Resource Name (ARN) for the event.

" } }, - "documentation":"

This data type is used as a response element in the DescribeEvents action.

" + "documentation":"

This data type is used as a response element in the DescribeEvents action.

" }, "EventCategoriesList":{ "type":"list", @@ -6568,7 +6805,7 @@ "documentation":"

The event categories for the specified source type

" } }, - "documentation":"

Contains the results of a successful invocation of the DescribeEventCategories action.

", + "documentation":"

Contains the results of a successful invocation of the DescribeEventCategories action.

", "wrapper":true }, "EventCategoriesMapList":{ @@ -6639,7 +6876,7 @@ "documentation":"

The Amazon Resource Name (ARN) for the event subscription.

" } }, - "documentation":"

Contains the results of a successful invocation of the DescribeEventSubscriptions action.

", + "documentation":"

Contains the results of a successful invocation of the DescribeEventSubscriptions action.

", "wrapper":true }, "EventSubscriptionQuotaExceededFault":{ @@ -6684,10 +6921,10 @@ }, "Events":{ "shape":"EventList", - "documentation":"

A list of Event instances.

" + "documentation":"

A list of Event instances.

" } }, - "documentation":"

Contains the result of a successful invocation of the DescribeEvents action.

" + "documentation":"

Contains the result of a successful invocation of the DescribeEvents action.

" }, "FailoverDBClusterMessage":{ "type":"structure", @@ -6710,6 +6947,10 @@ "DBCluster":{"shape":"DBCluster"} } }, + "FeatureNameList":{ + "type":"list", + "member":{"shape":"String"} + }, "Filter":{ "type":"structure", "required":[ @@ -6726,7 +6967,7 @@ "documentation":"

One or more filter values. Filter values are case-sensitive.

" } }, - "documentation":"

A filter name and value pair that is used to return a more specific list of results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as IDs. The filters supported by a describe operation are documented with the describe operation.

Currently, wildcards are not supported in filters.

The following actions can be filtered:

" + "documentation":"

A filter name and value pair that is used to return a more specific list of results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as IDs. The filters supported by a describe operation are documented with the describe operation.

Currently, wildcards are not supported in filters.

The following actions can be filtered:

  • DescribeDBClusterBacktracks

  • DescribeDBClusterEndpoints

  • DescribeDBClusters

  • DescribeDBInstances

  • DescribePendingMaintenanceActions

" }, "FilterList":{ "type":"list", @@ -6883,7 +7124,7 @@ "documentation":"

Specifies the IP range.

" } }, - "documentation":"

This data type is used as a response element in the DescribeDBSecurityGroups action.

" + "documentation":"

This data type is used as a response element in the DescribeDBSecurityGroups action.

" }, "IPRangeList":{ "type":"list", @@ -7192,7 +7433,7 @@ "members":{ "ResourceName":{ "shape":"String", - "documentation":"

The Amazon RDS resource with tags to be listed. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide.

" + "documentation":"

The Amazon RDS resource with tags to be listed. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide.

" }, "Filters":{ "shape":"FilterList", @@ -7238,7 +7479,7 @@ }, "Capacity":{ "shape":"IntegerOptional", - "documentation":"

The DB cluster capacity.

Constraints:

  • Value must be 2, 4, 8, 16, 32, 64, 128, or 256.

" + "documentation":"

The DB cluster capacity.

When you change the capacity of a paused Aurora Serverless DB cluster, it automatically resumes.

Constraints:

  • Value must be 1, 2, 4, 8, 16, 32, 64, 128, or 256.

" }, "SecondsBeforeTimeout":{ "shape":"IntegerOptional", @@ -7286,7 +7527,7 @@ }, "ApplyImmediately":{ "shape":"Boolean", - "documentation":"

A value that specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB cluster. If this parameter is set to false, changes to the DB cluster are applied during the next maintenance window.

The ApplyImmediately parameter only affects the EnableIAMDatabaseAuthentication, MasterUserPassword, and NewDBClusterIdentifier values. If you set the ApplyImmediately parameter value to false, then changes to the EnableIAMDatabaseAuthentication, MasterUserPassword, and NewDBClusterIdentifier values are applied during the next maintenance window. All other changes are applied immediately, regardless of the value of the ApplyImmediately parameter.

Default: false

" + "documentation":"

A value that indicates whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB cluster. If this parameter is disabled, changes to the DB cluster are applied during the next maintenance window.

The ApplyImmediately parameter only affects the EnableIAMDatabaseAuthentication, MasterUserPassword, and NewDBClusterIdentifier values. If the ApplyImmediately parameter is disabled, then changes to the EnableIAMDatabaseAuthentication, MasterUserPassword, and NewDBClusterIdentifier values are applied during the next maintenance window. All other changes are applied immediately, regardless of the value of the ApplyImmediately parameter.

By default, this parameter is disabled.

" }, "BackupRetentionPeriod":{ "shape":"IntegerOptional", @@ -7310,19 +7551,19 @@ }, "OptionGroupName":{ "shape":"String", - "documentation":"

A value that indicates that the DB cluster should be associated with the specified option group. Changing this parameter doesn't result in an outage except in the following case, and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If the parameter change results in an option group that enables OEM, this change can cause a brief (sub-second) period during which new connections are rejected but existing connections are not interrupted.

Permanent options can't be removed from an option group. The option group can't be removed from a DB cluster once it is associated with a DB cluster.

" + "documentation":"

A value that indicates that the DB cluster should be associated with the specified option group. Changing this parameter doesn't result in an outage except in the following case, and the change is applied during the next maintenance window unless the ApplyImmediately is enabled for this request. If the parameter change results in an option group that enables OEM, this change can cause a brief (sub-second) period during which new connections are rejected but existing connections are not interrupted.

Permanent options can't be removed from an option group. The option group can't be removed from a DB cluster once it is associated with a DB cluster.

" }, "PreferredBackupWindow":{ "shape":"String", - "documentation":"

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" + "documentation":"

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" }, "PreferredMaintenanceWindow":{ "shape":"String", - "documentation":"

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

" + "documentation":"

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

" }, "EnableIAMDatabaseAuthentication":{ "shape":"BooleanOptional", - "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" + "documentation":"

A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.

" }, "BacktrackWindow":{ "shape":"LongOptional", @@ -7334,7 +7575,7 @@ }, "EngineVersion":{ "shape":"String", - "documentation":"

The version number of the database engine to which you want to upgrade. Changing this parameter results in an outage. The change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true.

For a list of valid engine versions, see CreateDBCluster, or call DescribeDBEngineVersions.

" + "documentation":"

The version number of the database engine to which you want to upgrade. Changing this parameter results in an outage. The change is applied during the next maintenance window unless ApplyImmediately is enabled.

For a list of valid engine versions, use DescribeDBEngineVersions.

" }, "ScalingConfiguration":{ "shape":"ScalingConfiguration", @@ -7342,11 +7583,15 @@ }, "DeletionProtection":{ "shape":"BooleanOptional", - "documentation":"

Indicates if the DB cluster has deletion protection enabled. The database can't be deleted when this value is set to true.

" + "documentation":"

A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.

" }, "EnableHttpEndpoint":{ "shape":"BooleanOptional", - "documentation":"

HTTP endpoint functionality is in beta for Aurora Serverless and is subject to change.

A value that indicates whether to enable the HTTP endpoint for an Aurora Serverless DB cluster. By default, the HTTP endpoint is disabled.

When enabled, the HTTP endpoint provides a connectionless web service API for running SQL queries on the Aurora Serverless DB cluster. You can also query your database from inside the RDS console with the query editor.

For more information about Aurora Serverless, see Using Amazon Aurora Serverless in the Amazon Aurora User Guide.

" + "documentation":"

A value that indicates whether to enable the HTTP endpoint for an Aurora Serverless DB cluster. By default, the HTTP endpoint is disabled.

When enabled, the HTTP endpoint provides a connectionless web service API for running SQL queries on the Aurora Serverless DB cluster. You can also query your database from inside the RDS console with the query editor.

For more information, see Using the Data API for Aurora Serverless in the Amazon Aurora User Guide.

" + }, + "CopyTagsToSnapshot":{ + "shape":"BooleanOptional", + "documentation":"

A value that indicates whether to copy all tags from the DB cluster to snapshots of the DB cluster. The default is not to copy them.

" } }, "documentation":"

" @@ -7417,15 +7662,15 @@ }, "AllocatedStorage":{ "shape":"IntegerOptional", - "documentation":"

The new amount of storage (in gibibytes) to allocate for the DB instance.

For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value.

For the valid values for allocated storage for each engine, see CreateDBInstance.

" + "documentation":"

The new amount of storage (in gibibytes) to allocate for the DB instance.

For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value.

For the valid values for allocated storage for each engine, see CreateDBInstance.

" }, "DBInstanceClass":{ "shape":"String", - "documentation":"

The new compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

If you modify the DB instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless ApplyImmediately is specified as true for this request.

Default: Uses existing setting

" + "documentation":"

The new compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

If you modify the DB instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless ApplyImmediately is enabled for this request.

Default: Uses existing setting

" }, "DBSubnetGroupName":{ "shape":"String", - "documentation":"

The new DB subnet group for the DB instance. You can use this parameter to move your DB instance to a different VPC. If your DB instance is not in a VPC, you can also use this parameter to move your DB instance into a VPC. For more information, see Updating the VPC for a DB Instance in the Amazon RDS User Guide.

Changing the subnet group causes an outage during the change. The change is applied during the next maintenance window, unless you specify true for the ApplyImmediately parameter.

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

Example: mySubnetGroup

" + "documentation":"

The new DB subnet group for the DB instance. You can use this parameter to move your DB instance to a different VPC. If your DB instance is not in a VPC, you can also use this parameter to move your DB instance into a VPC. For more information, see Updating the VPC for a DB Instance in the Amazon RDS User Guide.

Changing the subnet group causes an outage during the change. The change is applied during the next maintenance window, unless you enable ApplyImmediately.

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

Example: mySubnetGroup

" }, "DBSecurityGroups":{ "shape":"DBSecurityGroupNameList", @@ -7433,27 +7678,27 @@ }, "VpcSecurityGroupIds":{ "shape":"VpcSecurityGroupIdList", - "documentation":"

A list of EC2 VPC security groups to authorize on this DB instance. This change is asynchronously applied as soon as possible.

Amazon Aurora

Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more information, see ModifyDBCluster.

Constraints:

  • If supplied, must match existing VpcSecurityGroupIds.

" + "documentation":"

A list of EC2 VPC security groups to authorize on this DB instance. This change is asynchronously applied as soon as possible.

Amazon Aurora

Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more information, see ModifyDBCluster.

Constraints:

  • If supplied, must match existing VpcSecurityGroupIds.

" }, "ApplyImmediately":{ "shape":"Boolean", - "documentation":"

Specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB instance.

If this parameter is set to false, changes to the DB instance are applied during the next maintenance window. Some parameter changes can cause an outage and are applied on the next call to RebootDBInstance, or the next failure reboot. Review the table of parameters in Modifying a DB Instance and Using the Apply Immediately Parameter in the Amazon RDS User Guide. to see the impact that setting ApplyImmediately to true or false has for each modified parameter and to determine when the changes are applied.

Default: false

" + "documentation":"

A value that indicates whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB instance. By default, this parameter is disabled.

If this parameter is disabled, changes to the DB instance are applied during the next maintenance window. Some parameter changes can cause an outage and are applied on the next call to RebootDBInstance, or the next failure reboot. Review the table of parameters in Modifying a DB Instance in the Amazon RDS User Guide. to see the impact of enabling or disabling ApplyImmediately for each modified parameter and to determine when the changes are applied.

" }, "MasterUserPassword":{ "shape":"String", - "documentation":"

The new password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible. Between the time of the request and the completion of the request, the MasterUserPassword element exists in the PendingModifiedValues element of the operation response.

Amazon Aurora

Not applicable. The password for the master user is managed by the DB cluster. For more information, see ModifyDBCluster.

Default: Uses existing setting

MariaDB

Constraints: Must contain from 8 to 41 characters.

Microsoft SQL Server

Constraints: Must contain from 8 to 128 characters.

MySQL

Constraints: Must contain from 8 to 41 characters.

Oracle

Constraints: Must contain from 8 to 30 characters.

PostgreSQL

Constraints: Must contain from 8 to 128 characters.

Amazon RDS API actions never return the password, so this action provides a way to regain access to a primary instance user if the password is lost. This includes restoring privileges that might have been accidentally revoked.

" + "documentation":"

The new password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible. Between the time of the request and the completion of the request, the MasterUserPassword element exists in the PendingModifiedValues element of the operation response.

Amazon Aurora

Not applicable. The password for the master user is managed by the DB cluster. For more information, see ModifyDBCluster.

Default: Uses existing setting

MariaDB

Constraints: Must contain from 8 to 41 characters.

Microsoft SQL Server

Constraints: Must contain from 8 to 128 characters.

MySQL

Constraints: Must contain from 8 to 41 characters.

Oracle

Constraints: Must contain from 8 to 30 characters.

PostgreSQL

Constraints: Must contain from 8 to 128 characters.

Amazon RDS API actions never return the password, so this action provides a way to regain access to a primary instance user if the password is lost. This includes restoring privileges that might have been accidentally revoked.

" }, "DBParameterGroupName":{ "shape":"String", - "documentation":"

The name of the DB parameter group to apply to the DB instance. Changing this setting doesn't result in an outage. The parameter group name itself is changed immediately, but the actual parameter changes are not applied until you reboot the instance without failover. The db instance will NOT be rebooted automatically and the parameter changes will NOT be applied during the next maintenance window.

Default: Uses existing setting

Constraints: The DB parameter group must be in the same DB parameter group family as this DB instance.

" + "documentation":"

The name of the DB parameter group to apply to the DB instance. Changing this setting doesn't result in an outage. The parameter group name itself is changed immediately, but the actual parameter changes are not applied until you reboot the instance without failover. The DB instance will NOT be rebooted automatically and the parameter changes will NOT be applied during the next maintenance window.

Default: Uses existing setting

Constraints: The DB parameter group must be in the same DB parameter group family as this DB instance.

" }, "BackupRetentionPeriod":{ "shape":"IntegerOptional", - "documentation":"

The number of days to retain automated backups. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

Changing this parameter can result in an outage if you change from 0 to a non-zero value or from a non-zero value to 0. These changes are applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If you change the parameter from one non-zero value to another non-zero value, the change is asynchronously applied as soon as possible.

Amazon Aurora

Not applicable. The retention period for automated backups is managed by the DB cluster. For more information, see ModifyDBCluster.

Default: Uses existing setting

Constraints:

  • Must be a value from 0 to 35

  • Can be specified for a MySQL Read Replica only if the source is running MySQL 5.6 or later

  • Can be specified for a PostgreSQL Read Replica only if the source is running PostgreSQL 9.3.5

  • Can't be set to 0 if the DB instance is a source to Read Replicas

" + "documentation":"

The number of days to retain automated backups. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

Changing this parameter can result in an outage if you change from 0 to a non-zero value or from a non-zero value to 0. These changes are applied during the next maintenance window unless the ApplyImmediately parameter is enabled for this request. If you change the parameter from one non-zero value to another non-zero value, the change is asynchronously applied as soon as possible.

Amazon Aurora

Not applicable. The retention period for automated backups is managed by the DB cluster. For more information, see ModifyDBCluster.

Default: Uses existing setting

Constraints:

  • Must be a value from 0 to 35

  • Can be specified for a MySQL Read Replica only if the source is running MySQL 5.6 or later

  • Can be specified for a PostgreSQL Read Replica only if the source is running PostgreSQL 9.3.5

  • Can't be set to 0 if the DB instance is a source to Read Replicas

" }, "PreferredBackupWindow":{ "shape":"String", - "documentation":"

The daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod parameter. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.

Amazon Aurora

Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see ModifyDBCluster.

Constraints:

  • Must be in the format hh24:mi-hh24:mi

  • Must be in Universal Time Coordinated (UTC)

  • Must not conflict with the preferred maintenance window

  • Must be at least 30 minutes

" + "documentation":"

The daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod parameter. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.

Amazon Aurora

Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see ModifyDBCluster.

Constraints:

  • Must be in the format hh24:mi-hh24:mi

  • Must be in Universal Time Coordinated (UTC)

  • Must not conflict with the preferred maintenance window

  • Must be at least 30 minutes

" }, "PreferredMaintenanceWindow":{ "shape":"String", @@ -7461,19 +7706,19 @@ }, "MultiAZ":{ "shape":"BooleanOptional", - "documentation":"

Specifies if the DB instance is a Multi-AZ deployment. Changing this parameter doesn't result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request.

" + "documentation":"

A value that indicates whether the DB instance is a Multi-AZ deployment. Changing this parameter doesn't result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is enabled for this request.

" }, "EngineVersion":{ "shape":"String", - "documentation":"

The version number of the database engine to upgrade to. Changing this parameter results in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request.

For major version upgrades, if a nondefault DB parameter group is currently in use, a new DB parameter group in the DB parameter group family for the new engine version must be specified. The new DB parameter group can be the default for that DB parameter group family.

For information about valid engine versions, see CreateDBInstance, or call DescribeDBEngineVersions.

" + "documentation":"

The version number of the database engine to upgrade to. Changing this parameter results in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is eanbled for this request.

For major version upgrades, if a nondefault DB parameter group is currently in use, a new DB parameter group in the DB parameter group family for the new engine version must be specified. The new DB parameter group can be the default for that DB parameter group family.

For information about valid engine versions, see CreateDBInstance, or call DescribeDBEngineVersions.

" }, "AllowMajorVersionUpgrade":{ "shape":"Boolean", - "documentation":"

Indicates that major version upgrades are allowed. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.

Constraints: This parameter must be set to true when specifying a value for the EngineVersion parameter that is a different major version than the DB instance's current version.

" + "documentation":"

A value that indicates whether major version upgrades are allowed. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.

Constraints: Major version upgrades must be allowed when specifying a value for the EngineVersion parameter that is a different major version than the DB instance's current version.

" }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", - "documentation":"

Indicates that minor version upgrades are applied automatically to the DB instance during the maintenance window. Changing this parameter doesn't result in an outage except in the following case and the change is asynchronously applied as soon as possible. An outage will result if this parameter is set to true during the maintenance window, and a newer minor version is available, and RDS has enabled auto patching for that engine version.

" + "documentation":"

A value that indicates whether minor version upgrades are applied automatically to the DB instance during the maintenance window. Changing this parameter doesn't result in an outage except in the following case and the change is asynchronously applied as soon as possible. An outage results if this parameter is enabled during the maintenance window, and a newer minor version is available, and RDS has enabled auto patching for that engine version.

" }, "LicenseModel":{ "shape":"String", @@ -7481,19 +7726,19 @@ }, "Iops":{ "shape":"IntegerOptional", - "documentation":"

The new Provisioned IOPS (I/O operations per second) value for the RDS instance.

Changing this setting doesn't result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If you are migrating from Provisioned IOPS to standard storage, set this value to 0. The DB instance will require a reboot for the change in storage type to take effect.

If you choose to migrate your DB instance from using standard storage to using Provisioned IOPS, or from using Provisioned IOPS to using standard storage, the process can take time. The duration of the migration depends on several factors such as database load, storage size, storage type (standard or Provisioned IOPS), amount of IOPS provisioned (if any), and the number of prior scale storage operations. Typical migration times are under 24 hours, but the process can take up to several days in some cases. During the migration, the DB instance is available for use, but might experience performance degradation. While the migration takes place, nightly backups for the instance are suspended. No other Amazon RDS operations can take place for the instance, including modifying the instance, rebooting the instance, deleting the instance, creating a Read Replica for the instance, and creating a DB snapshot of the instance.

Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value.

Default: Uses existing setting

" + "documentation":"

The new Provisioned IOPS (I/O operations per second) value for the RDS instance.

Changing this setting doesn't result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is enabled for this request. If you are migrating from Provisioned IOPS to standard storage, set this value to 0. The DB instance will require a reboot for the change in storage type to take effect.

If you choose to migrate your DB instance from using standard storage to using Provisioned IOPS, or from using Provisioned IOPS to using standard storage, the process can take time. The duration of the migration depends on several factors such as database load, storage size, storage type (standard or Provisioned IOPS), amount of IOPS provisioned (if any), and the number of prior scale storage operations. Typical migration times are under 24 hours, but the process can take up to several days in some cases. During the migration, the DB instance is available for use, but might experience performance degradation. While the migration takes place, nightly backups for the instance are suspended. No other Amazon RDS operations can take place for the instance, including modifying the instance, rebooting the instance, deleting the instance, creating a Read Replica for the instance, and creating a DB snapshot of the instance.

Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value.

Default: Uses existing setting

" }, "OptionGroupName":{ "shape":"String", - "documentation":"

Indicates that the DB instance should be associated with the specified option group. Changing this parameter doesn't result in an outage except in the following case and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If the parameter change results in an option group that enables OEM, this change can cause a brief (sub-second) period during which new connections are rejected but existing connections are not interrupted.

Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

" + "documentation":"

Indicates that the DB instance should be associated with the specified option group. Changing this parameter doesn't result in an outage except in the following case and the change is applied during the next maintenance window unless the ApplyImmediately parameter is enabled for this request. If the parameter change results in an option group that enables OEM, this change can cause a brief (sub-second) period during which new connections are rejected but existing connections are not interrupted.

Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

" }, "NewDBInstanceIdentifier":{ "shape":"String", - "documentation":"

The new DB instance identifier for the DB instance when renaming a DB instance. When you change the DB instance identifier, an instance reboot will occur immediately if you set Apply Immediately to true, or will occur during the next maintenance window if Apply Immediately to false. This value is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Can't end with a hyphen or contain two consecutive hyphens.

Example: mydbinstance

" + "documentation":"

The new DB instance identifier for the DB instance when renaming a DB instance. When you change the DB instance identifier, an instance reboot occurs immediately if you enable ApplyImmediately, or will occur during the next maintenance window if you disable Apply Immediately. This value is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Can't end with a hyphen or contain two consecutive hyphens.

Example: mydbinstance

" }, "StorageType":{ "shape":"String", - "documentation":"

Specifies the storage type to be associated with the DB instance.

If you specify Provisioned IOPS (io1), you must also include a value for the Iops parameter.

If you choose to migrate your DB instance from using standard storage to using Provisioned IOPS, or from using Provisioned IOPS to using standard storage, the process can take time. The duration of the migration depends on several factors such as database load, storage size, storage type (standard or Provisioned IOPS), amount of IOPS provisioned (if any), and the number of prior scale storage operations. Typical migration times are under 24 hours, but the process can take up to several days in some cases. During the migration, the DB instance is available for use, but might experience performance degradation. While the migration takes place, nightly backups for the instance are suspended. No other Amazon RDS operations can take place for the instance, including modifying the instance, rebooting the instance, deleting the instance, creating a Read Replica for the instance, and creating a DB snapshot of the instance.

Valid values: standard | gp2 | io1

Default: io1 if the Iops parameter is specified, otherwise standard

" + "documentation":"

Specifies the storage type to be associated with the DB instance.

If you specify Provisioned IOPS (io1), you must also include a value for the Iops parameter.

If you choose to migrate your DB instance from using standard storage to using Provisioned IOPS, or from using Provisioned IOPS to using standard storage, the process can take time. The duration of the migration depends on several factors such as database load, storage size, storage type (standard or Provisioned IOPS), amount of IOPS provisioned (if any), and the number of prior scale storage operations. Typical migration times are under 24 hours, but the process can take up to several days in some cases. During the migration, the DB instance is available for use, but might experience performance degradation. While the migration takes place, nightly backups for the instance are suspended. No other Amazon RDS operations can take place for the instance, including modifying the instance, rebooting the instance, deleting the instance, creating a Read Replica for the instance, and creating a DB snapshot of the instance.

Valid values: standard | gp2 | io1

Default: io1 if the Iops parameter is specified, otherwise gp2

" }, "TdeCredentialArn":{ "shape":"String", @@ -7513,7 +7758,7 @@ }, "CopyTagsToSnapshot":{ "shape":"BooleanOptional", - "documentation":"

True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false.

" + "documentation":"

A value that indicates whether to copy all tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.

Amazon Aurora

Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting this value for an Aurora DB instance has no effect on the DB cluster setting. For more information, see ModifyDBCluster.

" }, "MonitoringInterval":{ "shape":"IntegerOptional", @@ -7525,11 +7770,11 @@ }, "PubliclyAccessible":{ "shape":"BooleanOptional", - "documentation":"

Boolean value that indicates if the DB instance has a publicly resolvable DNS name. Set to True to make the DB instance Internet-facing with a publicly resolvable DNS name, which resolves to a public IP address. Set to False to make the DB instance internal with a DNS name that resolves to a private IP address.

PubliclyAccessible only applies to DB instances in a VPC. The DB instance must be part of a public subnet and PubliclyAccessible must be true in order for it to be publicly accessible.

Changes to the PubliclyAccessible parameter are applied immediately regardless of the value of the ApplyImmediately parameter.

Default: false

" + "documentation":"

A value that indicates whether the DB instance is publicly accessible. When the DB instance is publicly accessible, it is an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. When the DB instance is not publicly accessible, it is an internal instance with a DNS name that resolves to a private IP address.

PubliclyAccessible only applies to DB instances in a VPC. The DB instance must be part of a public subnet and PubliclyAccessible must be enabled for it to be publicly accessible.

Changes to the PubliclyAccessible parameter are applied immediately regardless of the value of the ApplyImmediately parameter.

" }, "MonitoringRoleArn":{ "shape":"String", - "documentation":"

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

" + "documentation":"

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

" }, "DomainIAMRoleName":{ "shape":"String", @@ -7537,19 +7782,19 @@ }, "PromotionTier":{ "shape":"IntegerOptional", - "documentation":"

A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.

Default: 1

Valid Values: 0 - 15

" + "documentation":"

A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.

Default: 1

Valid Values: 0 - 15

" }, "EnableIAMDatabaseAuthentication":{ "shape":"BooleanOptional", - "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

You can enable IAM database authentication for the following database engines

Amazon Aurora

Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster. For more information, see ModifyDBCluster.

MySQL

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

Default: false

" + "documentation":"

A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.

You can enable IAM database authentication for the following database engines

Amazon Aurora

Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster. For more information, see ModifyDBCluster.

MySQL

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

" }, "EnablePerformanceInsights":{ "shape":"BooleanOptional", - "documentation":"

True to enable Performance Insights for the DB instance, and otherwise false.

For more information, see Using Amazon Performance Insights in the Amazon Relational Database Service User Guide.

" + "documentation":"

A value that indicates whether to enable Performance Insights for the DB instance.

For more information, see Using Amazon Performance Insights in the Amazon Relational Database Service User Guide.

" }, "PerformanceInsightsKMSKeyId":{ "shape":"String", - "documentation":"

The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

" + "documentation":"

The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS uses your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

" }, "PerformanceInsightsRetentionPeriod":{ "shape":"IntegerOptional", @@ -7557,7 +7802,7 @@ }, "CloudwatchLogsExportConfiguration":{ "shape":"CloudwatchLogsExportConfiguration", - "documentation":"

The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance.

" + "documentation":"

The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance.

A change to the CloudwatchLogsExportConfiguration parameter is always applied to the DB instance immediately. Therefore, the ApplyImmediately parameter has no effect.

" }, "ProcessorFeatures":{ "shape":"ProcessorFeatureList", @@ -7565,11 +7810,11 @@ }, "UseDefaultProcessorFeatures":{ "shape":"BooleanOptional", - "documentation":"

A value that specifies that the DB instance class of the DB instance uses its default processor features.

" + "documentation":"

A value that indicates whether the DB instance class of the DB instance uses its default processor features.

" }, "DeletionProtection":{ "shape":"BooleanOptional", - "documentation":"

Indicates if the DB instance has deletion protection enabled. The database can't be deleted when this value is set to true. For more information, see Deleting a DB Instance.

" + "documentation":"

A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. For more information, see Deleting a DB Instance.

" } }, "documentation":"

" @@ -7700,11 +7945,11 @@ }, "EventCategories":{ "shape":"EventCategoriesList", - "documentation":"

A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action.

" + "documentation":"

A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action.

" }, "Enabled":{ "shape":"BooleanOptional", - "documentation":"

A Boolean value; set to true to activate the subscription.

" + "documentation":"

A value that indicates whether to activate the subscription.

" } }, "documentation":"

" @@ -7728,7 +7973,7 @@ }, "DeletionProtection":{ "shape":"BooleanOptional", - "documentation":"

Indicates if the global database cluster has deletion protection enabled. The global database cluster can't be deleted when this value is set to true.

" + "documentation":"

Indicates if the global database cluster has deletion protection enabled. The global database cluster can't be deleted when deletion protection is enabled.

" } } }, @@ -7756,7 +8001,7 @@ }, "ApplyImmediately":{ "shape":"Boolean", - "documentation":"

Indicates whether the changes should be applied immediately, or during the next maintenance window for each instance associated with the option group.

" + "documentation":"

A value that indicates whether to apply the change immediately or during the next maintenance window for each instance associated with the option group.

" } }, "documentation":"

" @@ -7827,11 +8072,11 @@ }, "DBSecurityGroupMemberships":{ "shape":"DBSecurityGroupNameList", - "documentation":"

A list of DBSecurityGroupMemebrship name strings used for this option.

" + "documentation":"

A list of DBSecurityGroupMembership name strings used for this option.

" }, "VpcSecurityGroupMemberships":{ "shape":"VpcSecurityGroupIdList", - "documentation":"

A list of VpcSecurityGroupMemebrship name strings used for this option.

" + "documentation":"

A list of VpcSecurityGroupMembership name strings used for this option.

" }, "OptionSettings":{ "shape":"OptionSettingsList", @@ -8177,7 +8422,7 @@ "documentation":"

True if the version is the default version of the option, and otherwise false.

" } }, - "documentation":"

The version for an option. Option group option versions are returned by the DescribeOptionGroupOptions action.

" + "documentation":"

The version for an option. Option group option versions are returned by the DescribeOptionGroupOptions action.

" }, "OptionsConflictsWith":{ "type":"list", @@ -8292,7 +8537,7 @@ "documentation":"

A list of the supported DB engine modes.

" } }, - "documentation":"

Contains a list of available options for a DB instance.

This data type is used as a response element in the DescribeOrderableDBInstanceOptions action.

", + "documentation":"

Contains a list of available options for a DB instance.

This data type is used as a response element in the DescribeOrderableDBInstanceOptions action.

", "wrapper":true }, "OrderableDBInstanceOptionsList":{ @@ -8307,14 +8552,14 @@ "members":{ "OrderableDBInstanceOptions":{ "shape":"OrderableDBInstanceOptionsList", - "documentation":"

An OrderableDBInstanceOption structure containing information about orderable options for the DB instance.

" + "documentation":"

An OrderableDBInstanceOption structure containing information about orderable options for the DB instance.

" }, "Marker":{ "shape":"String", "documentation":"

An optional pagination token provided by a previous OrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" } }, - "documentation":"

Contains the result of a successful invocation of the DescribeOrderableDBInstanceOptions action.

" + "documentation":"

Contains the result of a successful invocation of the DescribeOrderableDBInstanceOptions action.

" }, "Parameter":{ "type":"structure", @@ -8364,7 +8609,7 @@ "documentation":"

The valid DB engine modes.

" } }, - "documentation":"

This data type is used as a request parameter in the ModifyDBParameterGroup and ResetDBParameterGroup actions.

This data type is used as a response element in the DescribeEngineDefaultParameters and DescribeDBParameters actions.

" + "documentation":"

This data type is used as a request parameter in the ModifyDBParameterGroup and ResetDBParameterGroup actions.

This data type is used as a response element in the DescribeEngineDefaultParameters and DescribeDBParameters actions.

" }, "ParametersList":{ "type":"list", @@ -8392,7 +8637,7 @@ "members":{ "Action":{ "shape":"String", - "documentation":"

The type of pending maintenance action that is available for the resource.

" + "documentation":"

The type of pending maintenance action that is available for the resource. Valid actions are system-update, db-upgrade, and hardware-maintenance.

" }, "AutoAppliedAfterDate":{ "shape":"TStamp", @@ -8408,7 +8653,7 @@ }, "CurrentApplyDate":{ "shape":"TStamp", - "documentation":"

The effective date when the pending maintenance action is applied to the resource. This date takes into account opt-in requests received from the ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, and the ForcedApplyDate. This value is blank if an opt-in request has not been received and nothing has been specified as AutoAppliedAfterDate or ForcedApplyDate.

" + "documentation":"

The effective date when the pending maintenance action is applied to the resource. This date takes into account opt-in requests received from the ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, and the ForcedApplyDate. This value is blank if an opt-in request has not been received and nothing has been specified as AutoAppliedAfterDate or ForcedApplyDate.

" }, "Description":{ "shape":"String", @@ -8506,7 +8751,7 @@ "documentation":"

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

" } }, - "documentation":"

This data type is used as a response element in the ModifyDBInstance action.

" + "documentation":"

This data type is used as a response element in the ModifyDBInstance action.

" }, "PointInTimeRestoreNotEnabledFault":{ "type":"structure", @@ -8532,7 +8777,7 @@ "documentation":"

The value of a processor feature name.

" } }, - "documentation":"

Contains the processor features of a DB instance class.

To specify the number of CPU cores, use the coreCount feature name for the Name parameter. To specify the number of threads per core, use the threadsPerCore feature name for the Name parameter.

You can set the processor features of the DB instance class for a DB instance when you call one of the following actions:

You can view the valid processor values for a particular instance class by calling the DescribeOrderableDBInstanceOptions action and specifying the instance class for the DBInstanceClass parameter.

In addition, you can use the following actions for DB instance class processor information:

For more information, see Configuring the Processor of the DB Instance Class in the Amazon RDS User Guide.

" + "documentation":"

Contains the processor features of a DB instance class.

To specify the number of CPU cores, use the coreCount feature name for the Name parameter. To specify the number of threads per core, use the threadsPerCore feature name for the Name parameter.

You can set the processor features of the DB instance class for a DB instance when you call one of the following actions:

  • CreateDBInstance

  • ModifyDBInstance

  • RestoreDBInstanceFromDBSnapshot

  • RestoreDBInstanceFromS3

  • RestoreDBInstanceToPointInTime

You can view the valid processor values for a particular instance class by calling the DescribeOrderableDBInstanceOptions action and specifying the instance class for the DBInstanceClass parameter.

In addition, you can use the following actions for DB instance class processor information:

  • DescribeDBInstances

  • DescribeDBSnapshots

  • DescribeValidDBInstanceModifications

For more information, see Configuring the Processor of the DB Instance Class in the Amazon RDS User Guide.

" }, "ProcessorFeatureList":{ "type":"list", @@ -8572,7 +8817,7 @@ }, "PreferredBackupWindow":{ "shape":"String", - "documentation":"

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" + "documentation":"

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" } }, "documentation":"

" @@ -8681,7 +8926,7 @@ }, "ForceFailover":{ "shape":"BooleanOptional", - "documentation":"

When true, the reboot is conducted through a MultiAZ failover.

Constraint: You can't specify true if the instance is not configured for MultiAZ.

" + "documentation":"

A value that indicates whether the reboot is conducted through a Multi-AZ failover.

Constraint: You can't enable force failover if the instance is not configured for Multi-AZ.

" } }, "documentation":"

" @@ -8704,7 +8949,7 @@ "documentation":"

The frequency of the recurring charge.

" } }, - "documentation":"

This data type is used as a response element in the DescribeReservedDBInstances and DescribeReservedDBInstancesOfferings actions.

", + "documentation":"

This data type is used as a response element in the DescribeReservedDBInstances and DescribeReservedDBInstancesOfferings actions.

", "wrapper":true }, "RecurringChargeList":{ @@ -8747,6 +8992,32 @@ "RoleArn":{ "shape":"String", "documentation":"

The Amazon Resource Name (ARN) of the IAM role to disassociate from the Aurora DB cluster, for example arn:aws:iam::123456789012:role/AuroraAccessRole.

" + }, + "FeatureName":{ + "shape":"String", + "documentation":"

The name of the feature for the DB cluster that the IAM role is to be disassociated from. For the list of supported feature names, see DBEngineVersion.

" + } + } + }, + "RemoveRoleFromDBInstanceMessage":{ + "type":"structure", + "required":[ + "DBInstanceIdentifier", + "RoleArn", + "FeatureName" + ], + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

The name of the DB instance to disassociate the IAM role from.

" + }, + "RoleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role to disassociate from the DB instance, for example arn:aws:iam::123456789012:role/AccessRole.

" + }, + "FeatureName":{ + "shape":"String", + "documentation":"

The name of the feature for the DB instance that the IAM role is to be disassociated from. For the list of supported feature names, see DBEngineVersion.

" } } }, @@ -8783,7 +9054,7 @@ "members":{ "ResourceName":{ "shape":"String", - "documentation":"

The Amazon RDS resource that the tags are removed from. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide.

" + "documentation":"

The Amazon RDS resource that the tags are removed from. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide.

" }, "TagKeys":{ "shape":"KeyList", @@ -8856,7 +9127,7 @@ "documentation":"

The Amazon Resource Name (ARN) for the reserved DB instance.

" } }, - "documentation":"

This data type is used as a response element in the DescribeReservedDBInstances and PurchaseReservedDBInstancesOffering actions.

", + "documentation":"

This data type is used as a response element in the DescribeReservedDBInstances and PurchaseReservedDBInstancesOffering actions.

", "wrapper":true }, "ReservedDBInstanceAlreadyExistsFault":{ @@ -8890,7 +9161,7 @@ "documentation":"

A list of reserved DB instances.

" } }, - "documentation":"

Contains the result of a successful invocation of the DescribeReservedDBInstances action.

" + "documentation":"

Contains the result of a successful invocation of the DescribeReservedDBInstances action.

" }, "ReservedDBInstanceNotFoundFault":{ "type":"structure", @@ -8960,7 +9231,7 @@ "documentation":"

The recurring price charged to run this reserved DB instance.

" } }, - "documentation":"

This data type is used as a response element in the DescribeReservedDBInstancesOfferings action.

", + "documentation":"

This data type is used as a response element in the DescribeReservedDBInstancesOfferings action.

", "wrapper":true }, "ReservedDBInstancesOfferingList":{ @@ -8982,7 +9253,7 @@ "documentation":"

A list of reserved DB instance offerings.

" } }, - "documentation":"

Contains the result of a successful invocation of the DescribeReservedDBInstancesOfferings action.

" + "documentation":"

Contains the result of a successful invocation of the DescribeReservedDBInstancesOfferings action.

" }, "ReservedDBInstancesOfferingNotFoundFault":{ "type":"structure", @@ -9006,11 +9277,11 @@ }, "ResetAllParameters":{ "shape":"Boolean", - "documentation":"

A value that is set to true to reset all parameters in the DB cluster parameter group to their default values, and false otherwise. You can't use this parameter if there is a list of parameter names specified for the Parameters parameter.

" + "documentation":"

A value that indicates whether to reset all parameters in the DB cluster parameter group to their default values. You can't use this parameter if there is a list of parameter names specified for the Parameters parameter.

" }, "Parameters":{ "shape":"ParametersList", - "documentation":"

A list of parameter names in the DB cluster parameter group to reset to the default values. You can't use this parameter if the ResetAllParameters parameter is set to true.

" + "documentation":"

A list of parameter names in the DB cluster parameter group to reset to the default values. You can't use this parameter if the ResetAllParameters parameter is enabled.

" } }, "documentation":"

" @@ -9025,7 +9296,7 @@ }, "ResetAllParameters":{ "shape":"Boolean", - "documentation":"

Specifies whether (true) or not (false) to reset all parameters in the DB parameter group to default values.

Default: true

" + "documentation":"

A value that indicates whether to reset all parameters in the DB parameter group to default values. By default, all parameters in the DB parameter group are reset to default values.

" }, "Parameters":{ "shape":"ParametersList", @@ -9076,7 +9347,7 @@ "members":{ "AvailabilityZones":{ "shape":"AvailabilityZones", - "documentation":"

A list of EC2 Availability Zones that instances in the restored DB cluster can be created in.

" + "documentation":"

A list of Availability Zones (AZs) where instances in the restored DB cluster can be created.

" }, "BackupRetentionPeriod":{ "shape":"IntegerOptional", @@ -9132,24 +9403,24 @@ }, "PreferredBackupWindow":{ "shape":"String", - "documentation":"

The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon Aurora User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" + "documentation":"

The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon Aurora User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" }, "PreferredMaintenanceWindow":{ "shape":"String", - "documentation":"

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon Aurora User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

" + "documentation":"

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon Aurora User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

" }, "Tags":{"shape":"TagList"}, "StorageEncrypted":{ "shape":"BooleanOptional", - "documentation":"

Specifies whether the restored DB cluster is encrypted.

" + "documentation":"

A value that indicates whether the restored DB cluster is encrypted.

" }, "KmsKeyId":{ "shape":"String", - "documentation":"

The AWS KMS key identifier for an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KM encryption key.

If the StorageEncrypted parameter is true, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

" + "documentation":"

The AWS KMS key identifier for an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KM encryption key.

If the StorageEncrypted parameter is enabled, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

" }, "EnableIAMDatabaseAuthentication":{ "shape":"BooleanOptional", - "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" + "documentation":"

A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.

" }, "SourceEngine":{ "shape":"String", @@ -9177,11 +9448,15 @@ }, "EnableCloudwatchLogsExports":{ "shape":"LogTypeList", - "documentation":"

The list of logs that the restored DB cluster is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

" + "documentation":"

The list of logs that the restored DB cluster is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

" }, "DeletionProtection":{ "shape":"BooleanOptional", - "documentation":"

Indicates if the DB cluster should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false.

" + "documentation":"

A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.

" + }, + "CopyTagsToSnapshot":{ + "shape":"BooleanOptional", + "documentation":"

A value that indicates whether to copy all tags from the restored DB cluster to snapshots of the restored DB cluster. The default is not to copy them.

" } } }, @@ -9201,7 +9476,7 @@ "members":{ "AvailabilityZones":{ "shape":"AvailabilityZones", - "documentation":"

Provides the list of Amazon EC2 Availability Zones that instances in the restored DB cluster can be created in.

" + "documentation":"

Provides the list of Availability Zones (AZs) where instances in the restored DB cluster can be created.

" }, "DBClusterIdentifier":{ "shape":"String", @@ -9249,7 +9524,7 @@ }, "EnableIAMDatabaseAuthentication":{ "shape":"BooleanOptional", - "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" + "documentation":"

A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.

" }, "BacktrackWindow":{ "shape":"LongOptional", @@ -9257,7 +9532,7 @@ }, "EnableCloudwatchLogsExports":{ "shape":"LogTypeList", - "documentation":"

The list of logs that the restored DB cluster is to export to Amazon CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

" + "documentation":"

The list of logs that the restored DB cluster is to export to Amazon CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

" }, "EngineMode":{ "shape":"String", @@ -9273,7 +9548,11 @@ }, "DeletionProtection":{ "shape":"BooleanOptional", - "documentation":"

Indicates if the DB cluster should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false.

" + "documentation":"

A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.

" + }, + "CopyTagsToSnapshot":{ + "shape":"BooleanOptional", + "documentation":"

A value that indicates whether to copy all tags from the restored DB cluster to snapshots of the restored DB cluster. The default is not to copy them.

" } }, "documentation":"

" @@ -9305,11 +9584,11 @@ }, "RestoreToTime":{ "shape":"TStamp", - "documentation":"

The date and time to restore the DB cluster to.

Valid Values: Value must be a time in Universal Coordinated Time (UTC) format

Constraints:

  • Must be before the latest restorable time for the DB instance

  • Must be specified if UseLatestRestorableTime parameter is not provided

  • Can't be specified if UseLatestRestorableTime parameter is true

  • Can't be specified if RestoreType parameter is copy-on-write

Example: 2015-03-07T23:45:00Z

" + "documentation":"

The date and time to restore the DB cluster to.

Valid Values: Value must be a time in Universal Coordinated Time (UTC) format

Constraints:

  • Must be before the latest restorable time for the DB instance

  • Must be specified if UseLatestRestorableTime parameter is not provided

  • Can't be specified if the UseLatestRestorableTime parameter is enabled

  • Can't be specified if the RestoreType parameter is copy-on-write

Example: 2015-03-07T23:45:00Z

" }, "UseLatestRestorableTime":{ "shape":"Boolean", - "documentation":"

A value that is set to true to restore the DB cluster to the latest restorable backup time, and false otherwise.

Default: false

Constraints: Can't be specified if RestoreToTime parameter is provided.

" + "documentation":"

A value that indicates whether to restore the DB cluster to the latest restorable backup time. By default, the DB cluster is not restored to the latest restorable backup time.

Constraints: Can't be specified if RestoreToTime parameter is provided.

" }, "Port":{ "shape":"IntegerOptional", @@ -9334,7 +9613,7 @@ }, "EnableIAMDatabaseAuthentication":{ "shape":"BooleanOptional", - "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" + "documentation":"

A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.

" }, "BacktrackWindow":{ "shape":"LongOptional", @@ -9342,7 +9621,7 @@ }, "EnableCloudwatchLogsExports":{ "shape":"LogTypeList", - "documentation":"

The list of logs that the restored DB cluster is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

" + "documentation":"

The list of logs that the restored DB cluster is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

" }, "DBClusterParameterGroupName":{ "shape":"String", @@ -9350,7 +9629,11 @@ }, "DeletionProtection":{ "shape":"BooleanOptional", - "documentation":"

Indicates if the DB cluster should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false.

" + "documentation":"

A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.

" + }, + "CopyTagsToSnapshot":{ + "shape":"BooleanOptional", + "documentation":"

A value that indicates whether to copy all tags from the restored DB cluster to snapshots of the restored DB cluster. The default is not to copy them.

" } }, "documentation":"

" @@ -9378,7 +9661,7 @@ }, "DBInstanceClass":{ "shape":"String", - "documentation":"

The compute and memory capacity of the Amazon RDS DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

Default: The same DBInstanceClass as the original DB instance.

" + "documentation":"

The compute and memory capacity of the Amazon RDS DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

Default: The same DBInstanceClass as the original DB instance.

" }, "Port":{ "shape":"IntegerOptional", @@ -9386,7 +9669,7 @@ }, "AvailabilityZone":{ "shape":"String", - "documentation":"

The EC2 Availability Zone that the DB instance is created in.

Default: A random, system-chosen Availability Zone.

Constraint: You can't specify the AvailabilityZone parameter if the MultiAZ parameter is set to true.

Example: us-east-1a

" + "documentation":"

The Availability Zone (AZ) where the DB instance will be created.

Default: A random, system-chosen Availability Zone.

Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

Example: us-east-1a

" }, "DBSubnetGroupName":{ "shape":"String", @@ -9394,15 +9677,15 @@ }, "MultiAZ":{ "shape":"BooleanOptional", - "documentation":"

Specifies if the DB instance is a Multi-AZ deployment.

Constraint: You can't specify the AvailabilityZone parameter if the MultiAZ parameter is set to true.

" + "documentation":"

A value that indicates whether the DB instance is a Multi-AZ deployment.

Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

" }, "PubliclyAccessible":{ "shape":"BooleanOptional", - "documentation":"

Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address. For more information, see CreateDBInstance.

" + "documentation":"

A value that indicates whether the DB instance is publicly accessible. When the DB instance is publicly accessible, it is an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. When the DB instance is not publicly accessible, it is an internal instance with a DNS name that resolves to a private IP address. For more information, see CreateDBInstance.

" }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", - "documentation":"

Indicates that minor version upgrades are applied automatically to the DB instance during the maintenance window.

" + "documentation":"

A value that indicates whether minor version upgrades are applied automatically to the DB instance during the maintenance window.

" }, "LicenseModel":{ "shape":"String", @@ -9418,7 +9701,7 @@ }, "Iops":{ "shape":"IntegerOptional", - "documentation":"

Specifies the amount of provisioned IOPS for the DB instance, expressed in I/O operations per second. If this parameter is not specified, the IOPS value is taken from the backup. If this parameter is set to 0, the new instance is converted to a non-PIOPS instance. The conversion takes additional time, though your DB instance is available for connections before the conversion starts.

The provisioned IOPS value must follow the requirements for your database engine. For more information, see Amazon RDS Provisioned IOPS Storage to Improve Performance in the Amazon RDS User Guide.

Constraints: Must be an integer greater than 1000.

" + "documentation":"

Specifies the amount of provisioned IOPS for the DB instance, expressed in I/O operations per second. If this parameter is not specified, the IOPS value is taken from the backup. If this parameter is set to 0, the new instance is converted to a non-PIOPS instance. The conversion takes additional time, though your DB instance is available for connections before the conversion starts.

The provisioned IOPS value must follow the requirements for your database engine. For more information, see Amazon RDS Provisioned IOPS Storage to Improve Performance in the Amazon RDS User Guide.

Constraints: Must be an integer greater than 1000.

" }, "OptionGroupName":{ "shape":"String", @@ -9427,7 +9710,7 @@ "Tags":{"shape":"TagList"}, "StorageType":{ "shape":"String", - "documentation":"

Specifies the storage type to be associated with the DB instance.

Valid values: standard | gp2 | io1

If you specify io1, you must also include a value for the Iops parameter.

Default: io1 if the Iops parameter is specified, otherwise standard

" + "documentation":"

Specifies the storage type to be associated with the DB instance.

Valid values: standard | gp2 | io1

If you specify io1, you must also include a value for the Iops parameter.

Default: io1 if the Iops parameter is specified, otherwise gp2

" }, "TdeCredentialArn":{ "shape":"String", @@ -9447,7 +9730,7 @@ }, "CopyTagsToSnapshot":{ "shape":"BooleanOptional", - "documentation":"

True to copy all tags from the restored DB instance to snapshots of the DB instance, and otherwise false. The default is false.

" + "documentation":"

A value that indicates whether to copy all tags from the restored DB instance to snapshots of the DB instance. By default, tags are not copied.

" }, "DomainIAMRoleName":{ "shape":"String", @@ -9455,11 +9738,11 @@ }, "EnableIAMDatabaseAuthentication":{ "shape":"BooleanOptional", - "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

You can enable IAM database authentication for the following database engines

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

Default: false

" + "documentation":"

A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.

You can enable IAM database authentication for the following database engines

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

" }, "EnableCloudwatchLogsExports":{ "shape":"LogTypeList", - "documentation":"

The list of logs that the restored DB instance is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

" + "documentation":"

The list of logs that the restored DB instance is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

" }, "ProcessorFeatures":{ "shape":"ProcessorFeatureList", @@ -9467,7 +9750,7 @@ }, "UseDefaultProcessorFeatures":{ "shape":"BooleanOptional", - "documentation":"

A value that specifies that the DB instance class of the DB instance uses its default processor features.

" + "documentation":"

A value that indicates whether the DB instance class of the DB instance uses its default processor features.

" }, "DBParameterGroupName":{ "shape":"String", @@ -9475,7 +9758,7 @@ }, "DeletionProtection":{ "shape":"BooleanOptional", - "documentation":"

Indicates if the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false. For more information, see Deleting a DB Instance.

" + "documentation":"

A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. For more information, see Deleting a DB Instance.

" } }, "documentation":"

" @@ -9500,7 +9783,7 @@ "members":{ "DBName":{ "shape":"String", - "documentation":"

The name of the database to create when the DB instance is created. Follow the naming rules specified in CreateDBInstance.

" + "documentation":"

The name of the database to create when the DB instance is created. Follow the naming rules specified in CreateDBInstance.

" }, "DBInstanceIdentifier":{ "shape":"String", @@ -9508,11 +9791,11 @@ }, "AllocatedStorage":{ "shape":"IntegerOptional", - "documentation":"

The amount of storage (in gigabytes) to allocate initially for the DB instance. Follow the allocation rules specified in CreateDBInstance.

Be sure to allocate enough memory for your new DB instance so that the restore operation can succeed. You can also allocate additional memory for future growth.

" + "documentation":"

The amount of storage (in gigabytes) to allocate initially for the DB instance. Follow the allocation rules specified in CreateDBInstance.

Be sure to allocate enough memory for your new DB instance so that the restore operation can succeed. You can also allocate additional memory for future growth.

" }, "DBInstanceClass":{ "shape":"String", - "documentation":"

The compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

Importing from Amazon S3 is not supported on the db.t2.micro DB instance class.

" + "documentation":"

The compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

Importing from Amazon S3 is not supported on the db.t2.micro DB instance class.

" }, "Engine":{ "shape":"String", @@ -9536,7 +9819,7 @@ }, "AvailabilityZone":{ "shape":"String", - "documentation":"

The Availability Zone that the DB instance is created in. For information about AWS Regions and Availability Zones, see Regions and Availability Zones in the Amazon RDS User Guide.

Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

Example: us-east-1d

Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ parameter is set to true. The specified Availability Zone must be in the same AWS Region as the current endpoint.

" + "documentation":"

The Availability Zone that the DB instance is created in. For information about AWS Regions and Availability Zones, see Regions and Availability Zones in the Amazon RDS User Guide.

Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

Example: us-east-1d

Constraint: The AvailabilityZone parameter can't be specified if the DB instance is a Multi-AZ deployment. The specified Availability Zone must be in the same AWS Region as the current endpoint.

" }, "DBSubnetGroupName":{ "shape":"String", @@ -9544,7 +9827,7 @@ }, "PreferredMaintenanceWindow":{ "shape":"String", - "documentation":"

The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC). For more information, see Amazon RDS Maintenance Window in the Amazon RDS User Guide.

Constraints:

  • Must be in the format ddd:hh24:mi-ddd:hh24:mi.

  • Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred backup window.

  • Must be at least 30 minutes.

" + "documentation":"

The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC). For more information, see Amazon RDS Maintenance Window in the Amazon RDS User Guide.

Constraints:

  • Must be in the format ddd:hh24:mi-ddd:hh24:mi.

  • Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred backup window.

  • Must be at least 30 minutes.

" }, "DBParameterGroupName":{ "shape":"String", @@ -9552,11 +9835,11 @@ }, "BackupRetentionPeriod":{ "shape":"IntegerOptional", - "documentation":"

The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. For more information, see CreateDBInstance.

" + "documentation":"

The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. For more information, see CreateDBInstance.

" }, "PreferredBackupWindow":{ "shape":"String", - "documentation":"

The time range each day during which automated backups are created if automated backups are enabled. For more information, see The Backup Window in the Amazon RDS User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" + "documentation":"

The time range each day during which automated backups are created if automated backups are enabled. For more information, see The Backup Window in the Amazon RDS User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" }, "Port":{ "shape":"IntegerOptional", @@ -9564,15 +9847,15 @@ }, "MultiAZ":{ "shape":"BooleanOptional", - "documentation":"

Specifies whether the DB instance is a Multi-AZ deployment. If MultiAZ is set to true, you can't set the AvailabilityZone parameter.

" + "documentation":"

A value that indicates whether the DB instance is a Multi-AZ deployment. If the DB instance is a Multi-AZ deployment, you can't set the AvailabilityZone parameter.

" }, "EngineVersion":{ "shape":"String", - "documentation":"

The version number of the database engine to use. Choose the latest minor version of your database engine. For information about engine versions, see CreateDBInstance, or call DescribeDBEngineVersions.

" + "documentation":"

The version number of the database engine to use. Choose the latest minor version of your database engine. For information about engine versions, see CreateDBInstance, or call DescribeDBEngineVersions.

" }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", - "documentation":"

True to indicate that minor engine upgrades are applied automatically to the DB instance during the maintenance window, and otherwise false.

Default: true

" + "documentation":"

A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. By default, minor engine upgrades are not applied automatically.

" }, "LicenseModel":{ "shape":"String", @@ -9580,7 +9863,7 @@ }, "Iops":{ "shape":"IntegerOptional", - "documentation":"

The amount of Provisioned IOPS (input/output operations per second) to allocate initially for the DB instance. For information about valid Iops values, see see Amazon RDS Provisioned IOPS Storage to Improve Performance in the Amazon RDS User Guide.

" + "documentation":"

The amount of Provisioned IOPS (input/output operations per second) to allocate initially for the DB instance. For information about valid Iops values, see see Amazon RDS Provisioned IOPS Storage to Improve Performance in the Amazon RDS User Guide.

" }, "OptionGroupName":{ "shape":"String", @@ -9588,27 +9871,27 @@ }, "PubliclyAccessible":{ "shape":"BooleanOptional", - "documentation":"

Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address. For more information, see CreateDBInstance.

" + "documentation":"

A value that indicates whether the DB instance is publicly accessible. When the DB instance is publicly accessible, it is an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. When the DB instance is not publicly accessible, it is an internal instance with a DNS name that resolves to a private IP address. For more information, see CreateDBInstance.

" }, "Tags":{ "shape":"TagList", - "documentation":"

A list of tags to associate with this DB instance. For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.

" + "documentation":"

A list of tags to associate with this DB instance. For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.

" }, "StorageType":{ "shape":"String", - "documentation":"

Specifies the storage type to be associated with the DB instance.

Valid values: standard | gp2 | io1

If you specify io1, you must also include a value for the Iops parameter.

Default: io1 if the Iops parameter is specified; otherwise standard

" + "documentation":"

Specifies the storage type to be associated with the DB instance.

Valid values: standard | gp2 | io1

If you specify io1, you must also include a value for the Iops parameter.

Default: io1 if the Iops parameter is specified; otherwise gp2

" }, "StorageEncrypted":{ "shape":"BooleanOptional", - "documentation":"

Specifies whether the new DB instance is encrypted or not.

" + "documentation":"

A value that indicates whether the new DB instance is encrypted or not.

" }, "KmsKeyId":{ "shape":"String", - "documentation":"

The AWS KMS key identifier for an encrypted DB instance.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same AWS account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key.

If the StorageEncrypted parameter is true, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

" + "documentation":"

The AWS KMS key identifier for an encrypted DB instance.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same AWS account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key.

If the StorageEncrypted parameter is enabled, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

" }, "CopyTagsToSnapshot":{ "shape":"BooleanOptional", - "documentation":"

True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false.

Default: false.

" + "documentation":"

A value that indicates whether to copy all tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.

" }, "MonitoringInterval":{ "shape":"IntegerOptional", @@ -9616,11 +9899,11 @@ }, "MonitoringRoleArn":{ "shape":"String", - "documentation":"

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, see Setting Up and Enabling Enhanced Monitoring in the Amazon RDS User Guide.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

" + "documentation":"

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, see Setting Up and Enabling Enhanced Monitoring in the Amazon RDS User Guide.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

" }, "EnableIAMDatabaseAuthentication":{ "shape":"BooleanOptional", - "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" + "documentation":"

A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.

" }, "SourceEngine":{ "shape":"String", @@ -9644,11 +9927,11 @@ }, "EnablePerformanceInsights":{ "shape":"BooleanOptional", - "documentation":"

True to enable Performance Insights for the DB instance, and otherwise false.

For more information, see Using Amazon Performance Insights in the Amazon Relational Database Service User Guide.

" + "documentation":"

A value that indicates whether to enable Performance Insights for the DB instance.

For more information, see Using Amazon Performance Insights in the Amazon Relational Database Service User Guide.

" }, "PerformanceInsightsKMSKeyId":{ "shape":"String", - "documentation":"

The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier, or the KMS key alias for the KMS encryption key.

" + "documentation":"

The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier, or the KMS key alias for the KMS encryption key.

If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS uses your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

" }, "PerformanceInsightsRetentionPeriod":{ "shape":"IntegerOptional", @@ -9656,7 +9939,7 @@ }, "EnableCloudwatchLogsExports":{ "shape":"LogTypeList", - "documentation":"

The list of logs that the restored DB instance is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

" + "documentation":"

The list of logs that the restored DB instance is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

" }, "ProcessorFeatures":{ "shape":"ProcessorFeatureList", @@ -9664,11 +9947,11 @@ }, "UseDefaultProcessorFeatures":{ "shape":"BooleanOptional", - "documentation":"

A value that specifies that the DB instance class of the DB instance uses its default processor features.

" + "documentation":"

A value that indicates whether the DB instance class of the DB instance uses its default processor features.

" }, "DeletionProtection":{ "shape":"BooleanOptional", - "documentation":"

Indicates if the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false. For more information, see Deleting a DB Instance.

" + "documentation":"

A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. For more information, see Deleting a DB Instance.

" } } }, @@ -9692,15 +9975,15 @@ }, "RestoreTime":{ "shape":"TStamp", - "documentation":"

The date and time to restore from.

Valid Values: Value must be a time in Universal Coordinated Time (UTC) format

Constraints:

  • Must be before the latest restorable time for the DB instance

  • Can't be specified if UseLatestRestorableTime parameter is true

Example: 2009-09-07T23:45:00Z

" + "documentation":"

The date and time to restore from.

Valid Values: Value must be a time in Universal Coordinated Time (UTC) format

Constraints:

  • Must be before the latest restorable time for the DB instance

  • Can't be specified if the UseLatestRestorableTime parameter is enabled

Example: 2009-09-07T23:45:00Z

" }, "UseLatestRestorableTime":{ "shape":"Boolean", - "documentation":"

Specifies whether (true) or not (false) the DB instance is restored from the latest backup time.

Default: false

Constraints: Can't be specified if RestoreTime parameter is provided.

" + "documentation":"

A value that indicates whether the DB instance is restored from the latest backup time. By default, the DB instance is not restored from the latest backup time.

Constraints: Can't be specified if the RestoreTime parameter is provided.

" }, "DBInstanceClass":{ "shape":"String", - "documentation":"

The compute and memory capacity of the Amazon RDS DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

Default: The same DBInstanceClass as the original DB instance.

" + "documentation":"

The compute and memory capacity of the Amazon RDS DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

Default: The same DBInstanceClass as the original DB instance.

" }, "Port":{ "shape":"IntegerOptional", @@ -9708,7 +9991,7 @@ }, "AvailabilityZone":{ "shape":"String", - "documentation":"

The EC2 Availability Zone that the DB instance is created in.

Default: A random, system-chosen Availability Zone.

Constraint: You can't specify the AvailabilityZone parameter if the MultiAZ parameter is set to true.

Example: us-east-1a

" + "documentation":"

The Availability Zone (AZ) where the DB instance will be created.

Default: A random, system-chosen Availability Zone.

Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

Example: us-east-1a

" }, "DBSubnetGroupName":{ "shape":"String", @@ -9716,15 +9999,15 @@ }, "MultiAZ":{ "shape":"BooleanOptional", - "documentation":"

Specifies if the DB instance is a Multi-AZ deployment.

Constraint: You can't specify the AvailabilityZone parameter if the MultiAZ parameter is set to true.

" + "documentation":"

A value that indicates whether the DB instance is a Multi-AZ deployment.

Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

" }, "PubliclyAccessible":{ "shape":"BooleanOptional", - "documentation":"

Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address. For more information, see CreateDBInstance.

" + "documentation":"

A value that indicates whether the DB instance is publicly accessible. When the DB instance is publicly accessible, it is an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. When the DB instance is not publicly accessible, it is an internal instance with a DNS name that resolves to a private IP address. For more information, see CreateDBInstance.

" }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", - "documentation":"

Indicates that minor version upgrades are applied automatically to the DB instance during the maintenance window.

" + "documentation":"

A value that indicates whether minor version upgrades are applied automatically to the DB instance during the maintenance window.

" }, "LicenseModel":{ "shape":"String", @@ -9748,12 +10031,12 @@ }, "CopyTagsToSnapshot":{ "shape":"BooleanOptional", - "documentation":"

True to copy all tags from the restored DB instance to snapshots of the DB instance, and otherwise false. The default is false.

" + "documentation":"

A value that indicates whether to copy all tags from the restored DB instance to snapshots of the DB instance. By default, tags are not copied.

" }, "Tags":{"shape":"TagList"}, "StorageType":{ "shape":"String", - "documentation":"

Specifies the storage type to be associated with the DB instance.

Valid values: standard | gp2 | io1

If you specify io1, you must also include a value for the Iops parameter.

Default: io1 if the Iops parameter is specified, otherwise standard

" + "documentation":"

Specifies the storage type to be associated with the DB instance.

Valid values: standard | gp2 | io1

If you specify io1, you must also include a value for the Iops parameter.

Default: io1 if the Iops parameter is specified, otherwise gp2

" }, "TdeCredentialArn":{ "shape":"String", @@ -9777,11 +10060,11 @@ }, "EnableIAMDatabaseAuthentication":{ "shape":"BooleanOptional", - "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

You can enable IAM database authentication for the following database engines

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

Default: false

" + "documentation":"

A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.

You can enable IAM database authentication for the following database engines

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

" }, "EnableCloudwatchLogsExports":{ "shape":"LogTypeList", - "documentation":"

The list of logs that the restored DB instance is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

" + "documentation":"

The list of logs that the restored DB instance is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

" }, "ProcessorFeatures":{ "shape":"ProcessorFeatureList", @@ -9789,7 +10072,7 @@ }, "UseDefaultProcessorFeatures":{ "shape":"BooleanOptional", - "documentation":"

A value that specifies that the DB instance class of the DB instance uses its default processor features.

" + "documentation":"

A value that indicates whether the DB instance class of the DB instance uses its default processor features.

" }, "DBParameterGroupName":{ "shape":"String", @@ -9797,7 +10080,7 @@ }, "DeletionProtection":{ "shape":"BooleanOptional", - "documentation":"

Indicates if the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false. For more information, see Deleting a DB Instance.

" + "documentation":"

A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. For more information, see Deleting a DB Instance.

" }, "SourceDbiResourceId":{ "shape":"String", @@ -9900,22 +10183,26 @@ "members":{ "MinCapacity":{ "shape":"IntegerOptional", - "documentation":"

The minimum capacity for an Aurora DB cluster in serverless DB engine mode.

Valid capacity values are 2, 4, 8, 16, 32, 64, 128, and 256.

The minimum capacity must be less than or equal to the maximum capacity.

" + "documentation":"

The minimum capacity for an Aurora DB cluster in serverless DB engine mode.

Valid capacity values are 1, 2, 4, 8, 16, 32, 64, 128, and 256.

The minimum capacity must be less than or equal to the maximum capacity.

" }, "MaxCapacity":{ "shape":"IntegerOptional", - "documentation":"

The maximum capacity for an Aurora DB cluster in serverless DB engine mode.

Valid capacity values are 2, 4, 8, 16, 32, 64, 128, and 256.

The maximum capacity must be greater than or equal to the minimum capacity.

" + "documentation":"

The maximum capacity for an Aurora DB cluster in serverless DB engine mode.

Valid capacity values are 1, 2, 4, 8, 16, 32, 64, 128, and 256.

The maximum capacity must be greater than or equal to the minimum capacity.

" }, "AutoPause":{ "shape":"BooleanOptional", - "documentation":"

A value that specifies whether to allow or disallow automatic pause for an Aurora DB cluster in serverless DB engine mode. A DB cluster can be paused only when it's idle (it has no connections).

If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it.

" + "documentation":"

A value that indicates whether to allow or disallow automatic pause for an Aurora DB cluster in serverless DB engine mode. A DB cluster can be paused only when it's idle (it has no connections).

If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it.

" }, "SecondsUntilAutoPause":{ "shape":"IntegerOptional", "documentation":"

The time, in seconds, before an Aurora DB cluster in serverless mode is paused.

" + }, + "TimeoutAction":{ + "shape":"String", + "documentation":"

The action to take when the timeout is reached, either ForceApplyCapacityChange or RollbackCapacityChange.

ForceApplyCapacityChange sets the capacity to the specified value as soon as possible.

RollbackCapacityChange, the default, ignores the capacity change if a scaling point is not found in the timeout period.

If you specify ForceApplyCapacityChange, connections that prevent Aurora Serverless from finding a scaling point might be dropped.

For more information, see Autoscaling for Aurora Serverless in the Amazon Aurora User Guide.

" } }, - "documentation":"

Contains the scaling configuration of an Aurora Serverless DB cluster.

For more information, see Using Amazon Aurora Serverless in the Amazon Aurora User Guide.

" + "documentation":"

Contains the scaling configuration of an Aurora Serverless DB cluster.

For more information, see Using Amazon Aurora Serverless in the Amazon Aurora User Guide.

" }, "ScalingConfigurationInfo":{ "type":"structure", @@ -9930,14 +10217,18 @@ }, "AutoPause":{ "shape":"BooleanOptional", - "documentation":"

A value that indicates whether automatic pause is allowed for the Aurora DB cluster in serverless DB engine mode.

" + "documentation":"

A value that indicates whether automatic pause is allowed for the Aurora DB cluster in serverless DB engine mode.

When the value is set to false for an Aurora Serverless DB cluster, the DB cluster automatically resumes.

" }, "SecondsUntilAutoPause":{ "shape":"IntegerOptional", "documentation":"

The remaining amount of time, in seconds, before the Aurora DB cluster in serverless mode is paused. A DB cluster can be paused only when it's idle (it has no connections).

" + }, + "TimeoutAction":{ + "shape":"String", + "documentation":"

The timeout action of a call to ModifyCurrentDBClusterCapacity, either ForceApplyCapacityChange or RollbackCapacityChange.

" } }, - "documentation":"

Shows the scaling configuration for an Aurora DB cluster in serverless DB engine mode.

For more information, see Using Amazon Aurora Serverless in the Amazon Aurora User Guide.

" + "documentation":"

Shows the scaling configuration for an Aurora DB cluster in serverless DB engine mode.

For more information, see Using Amazon Aurora Serverless in the Amazon Aurora User Guide.

" }, "SharedSnapshotQuotaExceededFault":{ "type":"structure", @@ -9998,7 +10289,7 @@ "documentation":"

The status of the source AWS Region.

" } }, - "documentation":"

Contains an AWS Region name as the result of a successful call to the DescribeSourceRegions action.

" + "documentation":"

Contains an AWS Region name as the result of a successful call to the DescribeSourceRegions action.

" }, "SourceRegionList":{ "type":"list", @@ -10019,7 +10310,7 @@ "documentation":"

A list of SourceRegion instances that contains each source AWS Region that the current AWS Region can get a Read Replica or a DB snapshot from.

" } }, - "documentation":"

Contains the result of a successful invocation of the DescribeSourceRegions action.

" + "documentation":"

Contains the result of a successful invocation of the DescribeSourceRegions action.

" }, "SourceType":{ "type":"string", @@ -10032,6 +10323,57 @@ "db-cluster-snapshot" ] }, + "StartActivityStreamRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Mode", + "KmsKeyId" + ], + "members":{ + "ResourceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the DB cluster, for example arn:aws:rds:us-east-1:12345667890:cluster:das-cluster.

" + }, + "Mode":{ + "shape":"ActivityStreamMode", + "documentation":"

Specifies the mode of the database activity stream. Database events such as a change or access generate an activity stream event. The database session can handle these events either synchronously or asynchronously.

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The AWS KMS key identifier for encrypting messages in the database activity stream. The key identifier can be either a key ID, a key ARN, or a key alias.

" + }, + "ApplyImmediately":{ + "shape":"BooleanOptional", + "documentation":"

Specifies whether or not the database activity stream is to start as soon as possible, regardless of the maintenance window for the database.

" + } + } + }, + "StartActivityStreamResponse":{ + "type":"structure", + "members":{ + "KmsKeyId":{ + "shape":"String", + "documentation":"

The AWS KMS key identifier for encryption of messages in the database activity stream.

" + }, + "KinesisStreamName":{ + "shape":"String", + "documentation":"

The name of the Amazon Kinesis data stream to be used for the database activity stream.

" + }, + "Status":{ + "shape":"ActivityStreamStatus", + "documentation":"

The status of the database activity stream.

" + }, + "Mode":{ + "shape":"ActivityStreamMode", + "documentation":"

The mode of the database activity stream.

" + }, + "ApplyImmediately":{ + "shape":"Boolean", + "documentation":"

Indicates whether or not the database activity stream will start as soon as possible, regardless of the maintenance window for the database.

" + } + } + }, "StartDBClusterMessage":{ "type":"structure", "required":["DBClusterIdentifier"], @@ -10064,6 +10406,37 @@ "DBInstance":{"shape":"DBInstance"} } }, + "StopActivityStreamRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the DB cluster for the database activity stream. For example, arn:aws:rds:us-east-1:12345667890:cluster:das-cluster.

" + }, + "ApplyImmediately":{ + "shape":"BooleanOptional", + "documentation":"

Specifies whether or not the database activity stream is to stop as soon as possible, regardless of the maintenance window for the database.

" + } + } + }, + "StopActivityStreamResponse":{ + "type":"structure", + "members":{ + "KmsKeyId":{ + "shape":"String", + "documentation":"

The AWS KMS key identifier used for encrypting messages in the database activity stream.

" + }, + "KinesisStreamName":{ + "shape":"String", + "documentation":"

The name of the Amazon Kinesis data stream used for the database activity stream.

" + }, + "Status":{ + "shape":"ActivityStreamStatus", + "documentation":"

The status of the database activity stream.

" + } + } + }, "StopDBClusterMessage":{ "type":"structure", "required":["DBClusterIdentifier"], @@ -10142,7 +10515,7 @@ "documentation":"

Specifies the status of the subnet.

" } }, - "documentation":"

This data type is used as a response element in the DescribeDBSubnetGroups action.

" + "documentation":"

This data type is used as a response element in the DescribeDBSubnetGroups action.

" }, "SubnetAlreadyInUse":{ "type":"structure", @@ -10241,7 +10614,7 @@ "shape":"Tag", "locationName":"Tag" }, - "documentation":"

A list of tags. For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.

" + "documentation":"

A list of tags. For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.

" }, "TagListMessage":{ "type":"structure", @@ -10261,7 +10634,7 @@ "documentation":"

The name of the time zone.

" } }, - "documentation":"

A time zone associated with a DBInstance or a DBSnapshot. This data type is an element in the response to the DescribeDBInstances, the DescribeDBSnapshots, and the DescribeDBEngineVersions actions.

" + "documentation":"

A time zone associated with a DBInstance or a DBSnapshot. This data type is an element in the response to the DescribeDBInstances, the DescribeDBSnapshots, and the DescribeDBEngineVersions actions.

" }, "UpgradeTarget":{ "type":"structure", @@ -10280,7 +10653,7 @@ }, "AutoUpgrade":{ "shape":"Boolean", - "documentation":"

A value that indicates whether the target version is applied to any source DB instances that have AutoMinorVersionUpgrade set to true.

" + "documentation":"

A value that indicates whether the target version is applied to any source DB instances that have AutoMinorVersionUpgrade set to true.

" }, "IsMajorVersionUpgrade":{ "shape":"Boolean", @@ -10301,7 +10674,7 @@ "documentation":"

Valid processor features for your DB instance.

" } }, - "documentation":"

Information about valid modifications that you can make to your DB instance. Contains the result of a successful call to the DescribeValidDBInstanceModifications action. You can use this information when you call ModifyDBInstance.

", + "documentation":"

Information about valid modifications that you can make to your DB instance. Contains the result of a successful call to the DescribeValidDBInstanceModifications action. You can use this information when you call ModifyDBInstance.

", "wrapper":true }, "ValidStorageOptions":{ @@ -10324,7 +10697,7 @@ "documentation":"

The valid range of Provisioned IOPS to gibibytes of storage multiplier. For example, 3-10, which means that provisioned IOPS can be between 3 and 10 times storage.

" } }, - "documentation":"

Information about valid modifications that you can make to your DB instance. Contains the result of a successful call to the DescribeValidDBInstanceModifications action.

" + "documentation":"

Information about valid modifications that you can make to your DB instance. Contains the result of a successful call to the DescribeValidDBInstanceModifications action.

" }, "ValidStorageOptionsList":{ "type":"list", @@ -10369,5 +10742,5 @@ } } }, - "documentation":"Amazon Relational Database Service

Amazon Relational Database Service (Amazon RDS) is a web service that makes it easier to set up, operate, and scale a relational database in the cloud. It provides cost-efficient, resizable capacity for an industry-standard relational database and manages common database administration tasks, freeing up developers to focus on what makes their applications and businesses unique.

Amazon RDS gives you access to the capabilities of a MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, Oracle, or Amazon Aurora database server. These capabilities mean that the code, applications, and tools you already use today with your existing databases work with Amazon RDS without modification. Amazon RDS automatically backs up your database and maintains the database software that powers your DB instance. Amazon RDS is flexible: you can scale your DB instance's compute resources and storage capacity to meet your application's demand. As with all Amazon Web Services, there are no up-front investments, and you pay only for the resources you use.

This interface reference for Amazon RDS contains documentation for a programming or command line interface you can use to manage Amazon RDS. Note that Amazon RDS is asynchronous, which means that some interfaces might require techniques such as polling or callback functions to determine when a command has been applied. In this reference, the parameter descriptions indicate whether a command is applied immediately, on the next instance reboot, or during the maintenance window. The reference structure is as follows, and we list following some related topics from the user guide.

Amazon RDS API Reference

Amazon RDS User Guide

" + "documentation":"Amazon Relational Database Service

Amazon Relational Database Service (Amazon RDS) is a web service that makes it easier to set up, operate, and scale a relational database in the cloud. It provides cost-efficient, resizable capacity for an industry-standard relational database and manages common database administration tasks, freeing up developers to focus on what makes their applications and businesses unique.

Amazon RDS gives you access to the capabilities of a MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, Oracle, or Amazon Aurora database server. These capabilities mean that the code, applications, and tools you already use today with your existing databases work with Amazon RDS without modification. Amazon RDS automatically backs up your database and maintains the database software that powers your DB instance. Amazon RDS is flexible: you can scale your DB instance's compute resources and storage capacity to meet your application's demand. As with all Amazon Web Services, there are no up-front investments, and you pay only for the resources you use.

This interface reference for Amazon RDS contains documentation for a programming or command line interface you can use to manage Amazon RDS. Note that Amazon RDS is asynchronous, which means that some interfaces might require techniques such as polling or callback functions to determine when a command has been applied. In this reference, the parameter descriptions indicate whether a command is applied immediately, on the next instance reboot, or during the maintenance window. The reference structure is as follows, and we list following some related topics from the user guide.

Amazon RDS API Reference

Amazon RDS User Guide

" } diff --git a/bin/botocore/data/redshift/2012-12-01/paginators-1.json b/bin/botocore/data/redshift/2012-12-01/paginators-1.json index 03027de3..e423444e 100644 --- a/bin/botocore/data/redshift/2012-12-01/paginators-1.json +++ b/bin/botocore/data/redshift/2012-12-01/paginators-1.json @@ -89,6 +89,48 @@ "output_token": "Marker", "limit_key": "MaxRecords", "result_key": "ReservedNodes" + }, + "DescribeClusterDbRevisions": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "ClusterDbRevisions" + }, + "DescribeClusterTracks": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "MaintenanceTracks" + }, + "DescribeSnapshotCopyGrants": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "SnapshotCopyGrants" + }, + "DescribeSnapshotSchedules": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "SnapshotSchedules" + }, + "DescribeTableRestoreStatus": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "TableRestoreStatusDetails" + }, + "DescribeTags": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "TaggedResources" + }, + "GetReservedNodeExchangeOfferings": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "ReservedNodeOfferings" } } } diff --git a/bin/botocore/data/redshift/2012-12-01/service-2.json b/bin/botocore/data/redshift/2012-12-01/service-2.json index fc0935b2..07a6ef6f 100644 --- a/bin/botocore/data/redshift/2012-12-01/service-2.json +++ b/bin/botocore/data/redshift/2012-12-01/service-2.json @@ -50,7 +50,7 @@ {"shape":"AuthorizationAlreadyExistsFault"}, {"shape":"AuthorizationQuotaExceededFault"} ], - "documentation":"

Adds an inbound (ingress) rule to an Amazon Redshift security group. Depending on whether the application accessing your cluster is running on the Internet or an Amazon EC2 instance, you can authorize inbound access to either a Classless Interdomain Routing (CIDR)/Internet Protocol (IP) range or to an Amazon EC2 security group. You can add as many as 20 ingress rules to an Amazon Redshift security group.

If you authorize access to an Amazon EC2 security group, specify EC2SecurityGroupName and EC2SecurityGroupOwnerId. The Amazon EC2 security group and Amazon Redshift cluster must be in the same AWS Region.

If you authorize access to a CIDR/IP address range, specify CIDRIP. For an overview of CIDR blocks, see the Wikipedia article on Classless Inter-Domain Routing.

You must also associate the security group with a cluster so that clients running on these IP addresses or the EC2 instance are authorized to connect to the cluster. For information about managing security groups, go to Working with Security Groups in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Adds an inbound (ingress) rule to an Amazon Redshift security group. Depending on whether the application accessing your cluster is running on the Internet or an Amazon EC2 instance, you can authorize inbound access to either a Classless Interdomain Routing (CIDR)/Internet Protocol (IP) range or to an Amazon EC2 security group. You can add as many as 20 ingress rules to an Amazon Redshift security group.

If you authorize access to an Amazon EC2 security group, specify EC2SecurityGroupName and EC2SecurityGroupOwnerId. The Amazon EC2 security group and Amazon Redshift cluster must be in the same AWS Region.

If you authorize access to a CIDR/IP address range, specify CIDRIP. For an overview of CIDR blocks, see the Wikipedia article on Classless Inter-Domain Routing.

You must also associate the security group with a cluster so that clients running on these IP addresses or the EC2 instance are authorized to connect to the cluster. For information about managing security groups, go to Working with Security Groups in the Amazon Redshift Cluster Management Guide.

" }, "AuthorizeSnapshotAccess":{ "name":"AuthorizeSnapshotAccess", @@ -71,7 +71,7 @@ {"shape":"InvalidClusterSnapshotStateFault"}, {"shape":"LimitExceededFault"} ], - "documentation":"

Authorizes the specified AWS customer account to restore the specified snapshot.

For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Authorizes the specified AWS customer account to restore the specified snapshot.

For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

" }, "BatchDeleteClusterSnapshots":{ "name":"BatchDeleteClusterSnapshots", @@ -143,7 +143,7 @@ {"shape":"ClusterSnapshotQuotaExceededFault"}, {"shape":"InvalidRetentionPeriodFault"} ], - "documentation":"

Copies the specified automated cluster snapshot to a new manual cluster snapshot. The source must be an automated snapshot and it must be in the available state.

When you delete a cluster, Amazon Redshift deletes any automated snapshots of the cluster. Also, when the retention period of the snapshot expires, Amazon Redshift automatically deletes it. If you want to keep an automated snapshot for a longer period, you can make a manual copy of the snapshot. Manual snapshots are retained until you delete them.

For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Copies the specified automated cluster snapshot to a new manual cluster snapshot. The source must be an automated snapshot and it must be in the available state.

When you delete a cluster, Amazon Redshift deletes any automated snapshots of the cluster. Also, when the retention period of the snapshot expires, Amazon Redshift automatically deletes it. If you want to keep an automated snapshot for a longer period, you can make a manual copy of the snapshot. Manual snapshots are retained until you delete them.

For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

" }, "CreateCluster":{ "name":"CreateCluster", @@ -180,7 +180,7 @@ {"shape":"SnapshotScheduleNotFoundFault"}, {"shape":"InvalidRetentionPeriodFault"} ], - "documentation":"

Creates a new cluster.

To create a cluster in Virtual Private Cloud (VPC), you must provide a cluster subnet group name. The cluster subnet group identifies the subnets of your VPC that Amazon Redshift uses when creating the cluster. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Creates a new cluster.

To create a cluster in Virtual Private Cloud (VPC), you must provide a cluster subnet group name. The cluster subnet group identifies the subnets of your VPC that Amazon Redshift uses when creating the cluster. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

" }, "CreateClusterParameterGroup":{ "name":"CreateClusterParameterGroup", @@ -199,7 +199,7 @@ {"shape":"TagLimitExceededFault"}, {"shape":"InvalidTagFault"} ], - "documentation":"

Creates an Amazon Redshift parameter group.

Creating parameter groups is independent of creating clusters. You can associate a cluster with a parameter group when you create the cluster. You can also associate an existing cluster with a parameter group after the cluster is created by using ModifyCluster.

Parameters in the parameter group define specific behavior that applies to the databases you create on the cluster. For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Creates an Amazon Redshift parameter group.

Creating parameter groups is independent of creating clusters. You can associate a cluster with a parameter group when you create the cluster. You can also associate an existing cluster with a parameter group after the cluster is created by using ModifyCluster.

Parameters in the parameter group define specific behavior that applies to the databases you create on the cluster. For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

" }, "CreateClusterSecurityGroup":{ "name":"CreateClusterSecurityGroup", @@ -218,7 +218,7 @@ {"shape":"TagLimitExceededFault"}, {"shape":"InvalidTagFault"} ], - "documentation":"

Creates a new Amazon Redshift security group. You use security groups to control access to non-VPC clusters.

For information about managing security groups, go to Amazon Redshift Cluster Security Groups in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Creates a new Amazon Redshift security group. You use security groups to control access to non-VPC clusters.

For information about managing security groups, go to Amazon Redshift Cluster Security Groups in the Amazon Redshift Cluster Management Guide.

" }, "CreateClusterSnapshot":{ "name":"CreateClusterSnapshot", @@ -240,7 +240,7 @@ {"shape":"InvalidTagFault"}, {"shape":"InvalidRetentionPeriodFault"} ], - "documentation":"

Creates a manual snapshot of the specified cluster. The cluster must be in the available state.

For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Creates a manual snapshot of the specified cluster. The cluster must be in the available state.

For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

" }, "CreateClusterSubnetGroup":{ "name":"CreateClusterSubnetGroup", @@ -263,7 +263,7 @@ {"shape":"InvalidTagFault"}, {"shape":"DependentServiceRequestThrottlingFault"} ], - "documentation":"

Creates a new Amazon Redshift subnet group. You must provide a list of one or more subnets in your existing Amazon Virtual Private Cloud (Amazon VPC) when creating Amazon Redshift subnet group.

For information about subnet groups, go to Amazon Redshift Cluster Subnet Groups in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Creates a new Amazon Redshift subnet group. You must provide a list of one or more subnets in your existing Amazon Virtual Private Cloud (Amazon VPC) when creating Amazon Redshift subnet group.

For information about subnet groups, go to Amazon Redshift Cluster Subnet Groups in the Amazon Redshift Cluster Management Guide.

" }, "CreateEventSubscription":{ "name":"CreateEventSubscription", @@ -308,7 +308,7 @@ {"shape":"TagLimitExceededFault"}, {"shape":"InvalidTagFault"} ], - "documentation":"

Creates an HSM client certificate that an Amazon Redshift cluster will use to connect to the client's HSM in order to store and retrieve the keys used to encrypt the cluster databases.

The command returns a public key, which you must store in the HSM. In addition to creating the HSM certificate, you must create an Amazon Redshift HSM configuration that provides a cluster the information needed to store and use encryption keys in the HSM. For more information, go to Hardware Security Modules in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Creates an HSM client certificate that an Amazon Redshift cluster will use to connect to the client's HSM in order to store and retrieve the keys used to encrypt the cluster databases.

The command returns a public key, which you must store in the HSM. In addition to creating the HSM certificate, you must create an Amazon Redshift HSM configuration that provides a cluster the information needed to store and use encryption keys in the HSM. For more information, go to Hardware Security Modules in the Amazon Redshift Cluster Management Guide.

" }, "CreateHsmConfiguration":{ "name":"CreateHsmConfiguration", @@ -327,7 +327,7 @@ {"shape":"TagLimitExceededFault"}, {"shape":"InvalidTagFault"} ], - "documentation":"

Creates an HSM configuration that contains the information required by an Amazon Redshift cluster to store and use database encryption keys in a Hardware Security Module (HSM). After creating the HSM configuration, you can specify it as a parameter when creating a cluster. The cluster will then store its encryption keys in the HSM.

In addition to creating an HSM configuration, you must also create an HSM client certificate. For more information, go to Hardware Security Modules in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Creates an HSM configuration that contains the information required by an Amazon Redshift cluster to store and use database encryption keys in a Hardware Security Module (HSM). After creating the HSM configuration, you can specify it as a parameter when creating a cluster. The cluster will then store its encryption keys in the HSM.

In addition to creating an HSM configuration, you must also create an HSM client certificate. For more information, go to Hardware Security Modules in the Amazon Redshift Cluster Management Guide.

" }, "CreateSnapshotCopyGrant":{ "name":"CreateSnapshotCopyGrant", @@ -348,7 +348,7 @@ {"shape":"InvalidTagFault"}, {"shape":"DependentServiceRequestThrottlingFault"} ], - "documentation":"

Creates a snapshot copy grant that permits Amazon Redshift to use a customer master key (CMK) from AWS Key Management Service (AWS KMS) to encrypt copied snapshots in a destination region.

For more information about managing snapshot copy grants, go to Amazon Redshift Database Encryption in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Creates a snapshot copy grant that permits Amazon Redshift to use a customer master key (CMK) from AWS Key Management Service (AWS KMS) to encrypt copied snapshots in a destination region.

For more information about managing snapshot copy grants, go to Amazon Redshift Database Encryption in the Amazon Redshift Cluster Management Guide.

" }, "CreateSnapshotSchedule":{ "name":"CreateSnapshotSchedule", @@ -402,7 +402,7 @@ {"shape":"ClusterSnapshotQuotaExceededFault"}, {"shape":"InvalidRetentionPeriodFault"} ], - "documentation":"

Deletes a previously provisioned cluster. A successful response from the web service indicates that the request was received correctly. Use DescribeClusters to monitor the status of the deletion. The delete operation cannot be canceled or reverted once submitted. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

If you want to shut down the cluster and retain it for future use, set SkipFinalClusterSnapshot to false and specify a name for FinalClusterSnapshotIdentifier. You can later restore this snapshot to resume using the cluster. If a final cluster snapshot is requested, the status of the cluster will be \"final-snapshot\" while the snapshot is being taken, then it's \"deleting\" once Amazon Redshift begins deleting the cluster.

For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Deletes a previously provisioned cluster. A successful response from the web service indicates that the request was received correctly. Use DescribeClusters to monitor the status of the deletion. The delete operation cannot be canceled or reverted once submitted. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

If you want to shut down the cluster and retain it for future use, set SkipFinalClusterSnapshot to false and specify a name for FinalClusterSnapshotIdentifier. You can later restore this snapshot to resume using the cluster. If a final cluster snapshot is requested, the status of the cluster will be \"final-snapshot\" while the snapshot is being taken, then it's \"deleting\" once Amazon Redshift begins deleting the cluster.

For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

" }, "DeleteClusterParameterGroup":{ "name":"DeleteClusterParameterGroup", @@ -428,7 +428,7 @@ {"shape":"InvalidClusterSecurityGroupStateFault"}, {"shape":"ClusterSecurityGroupNotFoundFault"} ], - "documentation":"

Deletes an Amazon Redshift security group.

You cannot delete a security group that is associated with any clusters. You cannot delete the default security group.

For information about managing security groups, go to Amazon Redshift Cluster Security Groups in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Deletes an Amazon Redshift security group.

You cannot delete a security group that is associated with any clusters. You cannot delete the default security group.

For information about managing security groups, go to Amazon Redshift Cluster Security Groups in the Amazon Redshift Cluster Management Guide.

" }, "DeleteClusterSnapshot":{ "name":"DeleteClusterSnapshot", @@ -584,7 +584,7 @@ {"shape":"ClusterParameterGroupNotFoundFault"}, {"shape":"InvalidTagFault"} ], - "documentation":"

Returns a list of Amazon Redshift parameter groups, including parameter groups you created and the default parameter group. For each parameter group, the response includes the parameter group name, description, and parameter group family name. You can optionally specify a name to retrieve the description of a specific parameter group.

For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

If you specify both tag keys and tag values in the same request, Amazon Redshift returns all parameter groups that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all parameter groups that have any combination of those values are returned.

If both tag keys and values are omitted from the request, parameter groups are returned regardless of whether they have tag keys or values associated with them.

" + "documentation":"

Returns a list of Amazon Redshift parameter groups, including parameter groups you created and the default parameter group. For each parameter group, the response includes the parameter group name, description, and parameter group family name. You can optionally specify a name to retrieve the description of a specific parameter group.

For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

If you specify both tag keys and tag values in the same request, Amazon Redshift returns all parameter groups that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all parameter groups that have any combination of those values are returned.

If both tag keys and values are omitted from the request, parameter groups are returned regardless of whether they have tag keys or values associated with them.

" }, "DescribeClusterParameters":{ "name":"DescribeClusterParameters", @@ -600,7 +600,7 @@ "errors":[ {"shape":"ClusterParameterGroupNotFoundFault"} ], - "documentation":"

Returns a detailed list of parameters contained within the specified Amazon Redshift parameter group. For each parameter the response includes information such as parameter name, description, data type, value, whether the parameter value is modifiable, and so on.

You can specify source filter to retrieve parameters of only specific type. For example, to retrieve parameters that were modified by a user action such as from ModifyClusterParameterGroup, you can specify source equal to user.

For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Returns a detailed list of parameters contained within the specified Amazon Redshift parameter group. For each parameter the response includes information such as parameter name, description, data type, value, whether the parameter value is modifiable, and so on.

You can specify source filter to retrieve parameters of only specific type. For example, to retrieve parameters that were modified by a user action such as from ModifyClusterParameterGroup, you can specify source equal to user.

For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

" }, "DescribeClusterSecurityGroups":{ "name":"DescribeClusterSecurityGroups", @@ -617,7 +617,7 @@ {"shape":"ClusterSecurityGroupNotFoundFault"}, {"shape":"InvalidTagFault"} ], - "documentation":"

Returns information about Amazon Redshift security groups. If the name of a security group is specified, the response will contain only information about only that security group.

For information about managing security groups, go to Amazon Redshift Cluster Security Groups in the Amazon Redshift Cluster Management Guide.

If you specify both tag keys and tag values in the same request, Amazon Redshift returns all security groups that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all security groups that have any combination of those values are returned.

If both tag keys and values are omitted from the request, security groups are returned regardless of whether they have tag keys or values associated with them.

" + "documentation":"

Returns information about Amazon Redshift security groups. If the name of a security group is specified, the response will contain only information about only that security group.

For information about managing security groups, go to Amazon Redshift Cluster Security Groups in the Amazon Redshift Cluster Management Guide.

If you specify both tag keys and tag values in the same request, Amazon Redshift returns all security groups that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all security groups that have any combination of those values are returned.

If both tag keys and values are omitted from the request, security groups are returned regardless of whether they have tag keys or values associated with them.

" }, "DescribeClusterSnapshots":{ "name":"DescribeClusterSnapshots", @@ -682,7 +682,7 @@ "shape":"ClusterVersionsMessage", "resultWrapper":"DescribeClusterVersionsResult" }, - "documentation":"

Returns descriptions of the available Amazon Redshift cluster versions. You can call this operation even before creating any clusters to learn more about the Amazon Redshift versions. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Returns descriptions of the available Amazon Redshift cluster versions. You can call this operation even before creating any clusters to learn more about the Amazon Redshift versions. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

" }, "DescribeClusters":{ "name":"DescribeClusters", @@ -699,7 +699,7 @@ {"shape":"ClusterNotFoundFault"}, {"shape":"InvalidTagFault"} ], - "documentation":"

Returns properties of provisioned clusters including general cluster properties, cluster database properties, maintenance and backup properties, and security and access properties. This operation supports pagination. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

If you specify both tag keys and tag values in the same request, Amazon Redshift returns all clusters that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all clusters that have any combination of those values are returned.

If both tag keys and values are omitted from the request, clusters are returned regardless of whether they have tag keys or values associated with them.

" + "documentation":"

Returns properties of provisioned clusters including general cluster properties, cluster database properties, maintenance and backup properties, and security and access properties. This operation supports pagination. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

If you specify both tag keys and tag values in the same request, Amazon Redshift returns all clusters that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all clusters that have any combination of those values are returned.

If both tag keys and values are omitted from the request, clusters are returned regardless of whether they have tag keys or values associated with them.

" }, "DescribeDefaultClusterParameters":{ "name":"DescribeDefaultClusterParameters", @@ -712,7 +712,7 @@ "shape":"DescribeDefaultClusterParametersResult", "resultWrapper":"DescribeDefaultClusterParametersResult" }, - "documentation":"

Returns a list of parameter settings for the specified parameter group family.

For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Returns a list of parameter settings for the specified parameter group family.

For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

" }, "DescribeEventCategories":{ "name":"DescribeEventCategories", @@ -725,7 +725,7 @@ "shape":"EventCategoriesMessage", "resultWrapper":"DescribeEventCategoriesResult" }, - "documentation":"

Displays a list of event categories for all event source types, or for a specified source type. For a list of the event categories and source types, go to Amazon Redshift Event Notifications.

" + "documentation":"

Displays a list of event categories for all event source types, or for a specified source type. For a list of the event categories and source types, go to Amazon Redshift Event Notifications.

" }, "DescribeEventSubscriptions":{ "name":"DescribeEventSubscriptions", @@ -818,7 +818,7 @@ "shape":"OrderableClusterOptionsMessage", "resultWrapper":"DescribeOrderableClusterOptionsResult" }, - "documentation":"

Returns a list of orderable cluster options. Before you create a new cluster you can use this operation to find what options are available, such as the EC2 Availability Zones (AZ) in the specific AWS Region that you can specify, and the node types you can request. The node types differ by available storage, memory, CPU and price. With the cost involved you might want to obtain a list of cluster options in the specific region and specify values when creating a cluster. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Returns a list of orderable cluster options. Before you create a new cluster you can use this operation to find what options are available, such as the EC2 Availability Zones (AZ) in the specific AWS Region that you can specify, and the node types you can request. The node types differ by available storage, memory, CPU and price. With the cost involved you might want to obtain a list of cluster options in the specific region and specify values when creating a cluster. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

" }, "DescribeReservedNodeOfferings":{ "name":"DescribeReservedNodeOfferings", @@ -836,7 +836,7 @@ {"shape":"UnsupportedOperationFault"}, {"shape":"DependentServiceUnavailableFault"} ], - "documentation":"

Returns a list of the available reserved node offerings by Amazon Redshift with their descriptions including the node type, the fixed and recurring costs of reserving the node and duration the node will be reserved for you. These descriptions help you determine which reserve node offering you want to purchase. You then use the unique offering ID in you call to PurchaseReservedNodeOffering to reserve one or more nodes for your Amazon Redshift cluster.

For more information about reserved node offerings, go to Purchasing Reserved Nodes in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Returns a list of the available reserved node offerings by Amazon Redshift with their descriptions including the node type, the fixed and recurring costs of reserving the node and duration the node will be reserved for you. These descriptions help you determine which reserve node offering you want to purchase. You then use the unique offering ID in you call to PurchaseReservedNodeOffering to reserve one or more nodes for your Amazon Redshift cluster.

For more information about reserved node offerings, go to Purchasing Reserved Nodes in the Amazon Redshift Cluster Management Guide.

" }, "DescribeReservedNodes":{ "name":"DescribeReservedNodes", @@ -887,7 +887,7 @@ {"shape":"SnapshotCopyGrantNotFoundFault"}, {"shape":"InvalidTagFault"} ], - "documentation":"

Returns a list of snapshot copy grants owned by the AWS account in the destination region.

For more information about managing snapshot copy grants, go to Amazon Redshift Database Encryption in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Returns a list of snapshot copy grants owned by the AWS account in the destination region.

For more information about managing snapshot copy grants, go to Amazon Redshift Database Encryption in the Amazon Redshift Cluster Management Guide.

" }, "DescribeSnapshotSchedules":{ "name":"DescribeSnapshotSchedules", @@ -1044,7 +1044,7 @@ {"shape":"ClusterNotFoundFault"}, {"shape":"UnsupportedOperationFault"} ], - "documentation":"

Returns a database user name and temporary password with temporary authorization to log on to an Amazon Redshift database. The action returns the database user name prefixed with IAM: if AutoCreate is False or IAMA: if AutoCreate is True. You can optionally specify one or more database user groups that the user will join at log on. By default, the temporary credentials expire in 900 seconds. You can optionally specify a duration between 900 seconds (15 minutes) and 3600 seconds (60 minutes). For more information, see Using IAM Authentication to Generate Database User Credentials in the Amazon Redshift Cluster Management Guide.

The AWS Identity and Access Management (IAM)user or role that executes GetClusterCredentials must have an IAM policy attached that allows access to all necessary actions and resources. For more information about permissions, see Resource Policies for GetClusterCredentials in the Amazon Redshift Cluster Management Guide.

If the DbGroups parameter is specified, the IAM policy must allow the redshift:JoinGroup action with access to the listed dbgroups.

In addition, if the AutoCreate parameter is set to True, then the policy must include the redshift:CreateClusterUser privilege.

If the DbName parameter is specified, the IAM policy must allow access to the resource dbname for the specified database name.

" + "documentation":"

Returns a database user name and temporary password with temporary authorization to log on to an Amazon Redshift database. The action returns the database user name prefixed with IAM: if AutoCreate is False or IAMA: if AutoCreate is True. You can optionally specify one or more database user groups that the user will join at log on. By default, the temporary credentials expire in 900 seconds. You can optionally specify a duration between 900 seconds (15 minutes) and 3600 seconds (60 minutes). For more information, see Using IAM Authentication to Generate Database User Credentials in the Amazon Redshift Cluster Management Guide.

The AWS Identity and Access Management (IAM)user or role that executes GetClusterCredentials must have an IAM policy attached that allows access to all necessary actions and resources. For more information about permissions, see Resource Policies for GetClusterCredentials in the Amazon Redshift Cluster Management Guide.

If the DbGroups parameter is specified, the IAM policy must allow the redshift:JoinGroup action with access to the listed dbgroups.

In addition, if the AutoCreate parameter is set to True, then the policy must include the redshift:CreateClusterUser privilege.

If the DbName parameter is specified, the IAM policy must allow access to the resource dbname for the specified database name.

" }, "GetReservedNodeExchangeOfferings":{ "name":"GetReservedNodeExchangeOfferings", @@ -1099,7 +1099,7 @@ {"shape":"InvalidClusterTrackFault"}, {"shape":"InvalidRetentionPeriodFault"} ], - "documentation":"

Modifies the settings for a cluster. For example, you can add another security or parameter group, update the preferred maintenance window, or change the master user password. Resetting a cluster password or modifying the security groups associated with a cluster do not need a reboot. However, modifying a parameter group requires a reboot for parameters to take effect. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

You can also change node type and the number of nodes to scale up or down the cluster. When resizing a cluster, you must specify both the number of nodes and the node type even if one of the parameters does not change.

" + "documentation":"

Modifies the settings for a cluster. For example, you can add another security or parameter group, update the preferred maintenance window, or change the master user password. Resetting a cluster password or modifying the security groups associated with a cluster do not need a reboot. However, modifying a parameter group requires a reboot for parameters to take effect. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

You can also change node type and the number of nodes to scale up or down the cluster. When resizing a cluster, you must specify both the number of nodes and the node type even if one of the parameters does not change.

" }, "ModifyClusterDbRevision":{ "name":"ModifyClusterDbRevision", @@ -1167,7 +1167,7 @@ {"shape":"ClusterParameterGroupNotFoundFault"}, {"shape":"InvalidClusterParameterGroupStateFault"} ], - "documentation":"

Modifies the parameters of a parameter group.

For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Modifies the parameters of a parameter group.

For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

" }, "ModifyClusterSnapshot":{ "name":"ModifyClusterSnapshot", @@ -1301,7 +1301,7 @@ {"shape":"ReservedNodeQuotaExceededFault"}, {"shape":"UnsupportedOperationFault"} ], - "documentation":"

Allows you to purchase reserved nodes. Amazon Redshift offers a predefined set of reserved node offerings. You can purchase one or more of the offerings. You can call the DescribeReservedNodeOfferings API to obtain the available reserved node offerings. You can call this API by providing a specific reserved node offering and the number of nodes you want to reserve.

For more information about reserved node offerings, go to Purchasing Reserved Nodes in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Allows you to purchase reserved nodes. Amazon Redshift offers a predefined set of reserved node offerings. You can purchase one or more of the offerings. You can call the DescribeReservedNodeOfferings API to obtain the available reserved node offerings. You can call this API by providing a specific reserved node offering and the number of nodes you want to reserve.

For more information about reserved node offerings, go to Purchasing Reserved Nodes in the Amazon Redshift Cluster Management Guide.

" }, "RebootCluster":{ "name":"RebootCluster", @@ -1318,7 +1318,7 @@ {"shape":"InvalidClusterStateFault"}, {"shape":"ClusterNotFoundFault"} ], - "documentation":"

Reboots a cluster. This action is taken as soon as possible. It results in a momentary outage to the cluster, during which the cluster status is set to rebooting. A cluster event is created when the reboot is completed. Any pending cluster modifications (see ModifyCluster) are applied at this reboot. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Reboots a cluster. This action is taken as soon as possible. It results in a momentary outage to the cluster, during which the cluster status is set to rebooting. A cluster event is created when the reboot is completed. Any pending cluster modifications (see ModifyCluster) are applied at this reboot. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

" }, "ResetClusterParameterGroup":{ "name":"ResetClusterParameterGroup", @@ -1397,7 +1397,7 @@ {"shape":"InvalidClusterTrackFault"}, {"shape":"SnapshotScheduleNotFoundFault"} ], - "documentation":"

Creates a new cluster from a snapshot. By default, Amazon Redshift creates the resulting cluster with the same configuration as the original cluster from which the snapshot was created, except that the new cluster is created with the default cluster security and parameter groups. After Amazon Redshift creates the cluster, you can use the ModifyCluster API to associate a different security group and different parameter group with the restored cluster. If you are using a DS node type, you can also choose to change to another DS node type of the same size during restore.

If you restore a cluster into a VPC, you must provide a cluster subnet group where you want the cluster restored.

For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Creates a new cluster from a snapshot. By default, Amazon Redshift creates the resulting cluster with the same configuration as the original cluster from which the snapshot was created, except that the new cluster is created with the default cluster security and parameter groups. After Amazon Redshift creates the cluster, you can use the ModifyCluster API to associate a different security group and different parameter group with the restored cluster. If you are using a DS node type, you can also choose to change to another DS node type of the same size during restore.

If you restore a cluster into a VPC, you must provide a cluster subnet group where you want the cluster restored.

For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

" }, "RestoreTableFromClusterSnapshot":{ "name":"RestoreTableFromClusterSnapshot", @@ -1437,7 +1437,7 @@ {"shape":"AuthorizationNotFoundFault"}, {"shape":"InvalidClusterSecurityGroupStateFault"} ], - "documentation":"

Revokes an ingress rule in an Amazon Redshift security group for a previously authorized IP range or Amazon EC2 security group. To add an ingress rule, see AuthorizeClusterSecurityGroupIngress. For information about managing security groups, go to Amazon Redshift Cluster Security Groups in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Revokes an ingress rule in an Amazon Redshift security group for a previously authorized IP range or Amazon EC2 security group. To add an ingress rule, see AuthorizeClusterSecurityGroupIngress. For information about managing security groups, go to Amazon Redshift Cluster Security Groups in the Amazon Redshift Cluster Management Guide.

" }, "RevokeSnapshotAccess":{ "name":"RevokeSnapshotAccess", @@ -1455,7 +1455,7 @@ {"shape":"AuthorizationNotFoundFault"}, {"shape":"ClusterSnapshotNotFoundFault"} ], - "documentation":"

Removes the ability of the specified AWS customer account to restore the specified snapshot. If the account is currently restoring the snapshot, the restore will run to completion.

For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Removes the ability of the specified AWS customer account to restore the specified snapshot. If the account is currently restoring the snapshot, the restore will run to completion.

For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

" }, "RotateEncryptionKey":{ "name":"RotateEncryptionKey", @@ -1497,7 +1497,10 @@ "AcceptReservedNodeExchangeOutputMessage":{ "type":"structure", "members":{ - "ExchangedReservedNode":{"shape":"ReservedNode"} + "ExchangedReservedNode":{ + "shape":"ReservedNode", + "documentation":"

" + } } }, "AccessToSnapshotDeniedFault":{ @@ -1556,6 +1559,13 @@ "locationName":"AccountWithRestoreAccess" } }, + "AssociatedClusterList":{ + "type":"list", + "member":{ + "shape":"ClusterAssociatedToSchedule", + "locationName":"ClusterAssociatedToSchedule" + } + }, "AttributeList":{ "type":"list", "member":{ @@ -1687,7 +1697,10 @@ "shape":"String", "documentation":"

The name of the availability zone.

" }, - "SupportedPlatforms":{"shape":"SupportedPlatformsList"} + "SupportedPlatforms":{ + "shape":"SupportedPlatformsList", + "documentation":"

" + } }, "documentation":"

Describes an availability zone.

", "wrapper":true @@ -1914,7 +1927,10 @@ "shape":"RestoreStatus", "documentation":"

A value that describes the status of a cluster restore action. This parameter returns null if the cluster was not created by restoring a snapshot.

" }, - "DataTransferProgress":{"shape":"DataTransferProgress"}, + "DataTransferProgress":{ + "shape":"DataTransferProgress", + "documentation":"

" + }, "HsmStatus":{ "shape":"HsmStatus", "documentation":"

A value that reports whether the Amazon Redshift cluster has finished applying any hardware security module (HSM) settings changes specified in a modify cluster command.

Values: active, applying

" @@ -1949,7 +1965,7 @@ }, "EnhancedVpcRouting":{ "shape":"Boolean", - "documentation":"

An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

If this option is true, enhanced VPC routing is enabled.

Default: false

" + "documentation":"

An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

If this option is true, enhanced VPC routing is enabled.

Default: false

" }, "IamRoles":{ "shape":"ClusterIamRoleList", @@ -1999,6 +2015,20 @@ }, "exception":true }, + "ClusterAssociatedToSchedule":{ + "type":"structure", + "members":{ + "ClusterIdentifier":{ + "shape":"String", + "documentation":"

" + }, + "ScheduleAssociationState":{ + "shape":"ScheduleState", + "documentation":"

" + } + }, + "documentation":"

" + }, "ClusterCredentials":{ "type":"structure", "members":{ @@ -2212,7 +2242,7 @@ "type":"structure", "members":{ }, - "documentation":"

The request would result in the user exceeding the allowed number of cluster parameter groups. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", + "documentation":"

The request would result in the user exceeding the allowed number of cluster parameter groups. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", "error":{ "code":"ClusterParameterGroupQuotaExceeded", "httpStatusCode":400, @@ -2233,7 +2263,7 @@ }, "ClusterParameterStatusList":{ "shape":"ClusterParameterStatusList", - "documentation":"

The list of parameter statuses.

For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

The list of parameter statuses.

For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

" } }, "documentation":"

Describes the status of a parameter group.

" @@ -2285,7 +2315,7 @@ "type":"structure", "members":{ }, - "documentation":"

The request would exceed the allowed number of cluster instances for this account. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", + "documentation":"

The request would exceed the allowed number of cluster instances for this account. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", "error":{ "code":"ClusterQuotaExceeded", "httpStatusCode":400, @@ -2390,7 +2420,7 @@ "type":"structure", "members":{ }, - "documentation":"

The request would result in the user exceeding the allowed number of cluster security groups. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", + "documentation":"

The request would result in the user exceeding the allowed number of cluster security groups. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", "error":{ "code":"QuotaExceeded.ClusterSecurityGroup", "httpStatusCode":400, @@ -2536,7 +2566,7 @@ "type":"structure", "members":{ }, - "documentation":"

The request would result in user exceeding the allowed number of cluster subnet groups. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", + "documentation":"

The request would result in user exceeding the allowed number of cluster subnet groups. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", "error":{ "code":"ClusterSubnetGroupQuotaExceeded", "httpStatusCode":400, @@ -2555,7 +2585,7 @@ "type":"structure", "members":{ }, - "documentation":"

The request would result in user exceeding the allowed number of subnets in a cluster subnet groups. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", + "documentation":"

The request would result in user exceeding the allowed number of subnets in a cluster subnet groups. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", "error":{ "code":"ClusterSubnetQuotaExceededFault", "httpStatusCode":400, @@ -2671,7 +2701,7 @@ "members":{ "DBName":{ "shape":"String", - "documentation":"

The name of the first database to be created when the cluster is created.

To create additional databases after the cluster is created, connect to the cluster with a SQL client and use SQL commands to create a database. For more information, go to Create a Database in the Amazon Redshift Database Developer Guide.

Default: dev

Constraints:

  • Must contain 1 to 64 alphanumeric characters.

  • Must contain only lowercase letters.

  • Cannot be a word that is reserved by the service. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.

" + "documentation":"

The name of the first database to be created when the cluster is created.

To create additional databases after the cluster is created, connect to the cluster with a SQL client and use SQL commands to create a database. For more information, go to Create a Database in the Amazon Redshift Database Developer Guide.

Default: dev

Constraints:

  • Must contain 1 to 64 alphanumeric characters.

  • Must contain only lowercase letters.

  • Cannot be a word that is reserved by the service. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.

" }, "ClusterIdentifier":{ "shape":"String", @@ -2683,11 +2713,11 @@ }, "NodeType":{ "shape":"String", - "documentation":"

The node type to be provisioned for the cluster. For information about node types, go to Working with Clusters in the Amazon Redshift Cluster Management Guide.

Valid Values: ds2.xlarge | ds2.8xlarge | ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge | dc2.large | dc2.8xlarge

" + "documentation":"

The node type to be provisioned for the cluster. For information about node types, go to Working with Clusters in the Amazon Redshift Cluster Management Guide.

Valid Values: ds2.xlarge | ds2.8xlarge | ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge | dc2.large | dc2.8xlarge

" }, "MasterUsername":{ "shape":"String", - "documentation":"

The user name associated with the master user account for the cluster that is being created.

Constraints:

  • Must be 1 - 128 alphanumeric characters. The user name can't be PUBLIC.

  • First character must be a letter.

  • Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.

" + "documentation":"

The user name associated with the master user account for the cluster that is being created.

Constraints:

  • Must be 1 - 128 alphanumeric characters. The user name can't be PUBLIC.

  • First character must be a letter.

  • Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.

" }, "MasterUserPassword":{ "shape":"String", @@ -2711,11 +2741,11 @@ }, "PreferredMaintenanceWindow":{ "shape":"String", - "documentation":"

The weekly time range (in UTC) during which automated cluster maintenance can occur.

Format: ddd:hh24:mi-ddd:hh24:mi

Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week. For more information about the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.

Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

Constraints: Minimum 30-minute window.

" + "documentation":"

The weekly time range (in UTC) during which automated cluster maintenance can occur.

Format: ddd:hh24:mi-ddd:hh24:mi

Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week. For more information about the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.

Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

Constraints: Minimum 30-minute window.

" }, "ClusterParameterGroupName":{ "shape":"String", - "documentation":"

The name of the parameter group to be associated with this cluster.

Default: The default Amazon Redshift cluster parameter group. For information about the default parameter group, go to Working with Amazon Redshift Parameter Groups

Constraints:

  • Must be 1 to 255 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" + "documentation":"

The name of the parameter group to be associated with this cluster.

Default: The default Amazon Redshift cluster parameter group. For information about the default parameter group, go to Working with Amazon Redshift Parameter Groups

Constraints:

  • Must be 1 to 255 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" }, "AutomatedSnapshotRetentionPeriod":{ "shape":"IntegerOptional", @@ -2739,7 +2769,7 @@ }, "NumberOfNodes":{ "shape":"IntegerOptional", - "documentation":"

The number of compute nodes in the cluster. This parameter is required when the ClusterType parameter is specified as multi-node.

For information about determining how many nodes you need, go to Working with Clusters in the Amazon Redshift Cluster Management Guide.

If you don't specify this parameter, you get a single-node cluster. When requesting a multi-node cluster, you must specify the number of nodes that you want in the cluster.

Default: 1

Constraints: Value must be at least 1 and no more than 100.

" + "documentation":"

The number of compute nodes in the cluster. This parameter is required when the ClusterType parameter is specified as multi-node.

For information about determining how many nodes you need, go to Working with Clusters in the Amazon Redshift Cluster Management Guide.

If you don't specify this parameter, you get a single-node cluster. When requesting a multi-node cluster, you must specify the number of nodes that you want in the cluster.

Default: 1

Constraints: Value must be at least 1 and no more than 100.

" }, "PubliclyAccessible":{ "shape":"BooleanOptional", @@ -2759,7 +2789,7 @@ }, "ElasticIp":{ "shape":"String", - "documentation":"

The Elastic IP (EIP) address for the cluster.

Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. For more information about provisioning clusters in EC2-VPC, go to Supported Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

The Elastic IP (EIP) address for the cluster.

Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. For more information about provisioning clusters in EC2-VPC, go to Supported Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.

" }, "Tags":{ "shape":"TagList", @@ -2771,7 +2801,7 @@ }, "EnhancedVpcRouting":{ "shape":"BooleanOptional", - "documentation":"

An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

If this option is true, enhanced VPC routing is enabled.

Default: false

" + "documentation":"

An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

If this option is true, enhanced VPC routing is enabled.

Default: false

" }, "AdditionalInfo":{ "shape":"String", @@ -3081,9 +3111,18 @@ "shape":"String", "documentation":"

The description of the snapshot schedule.

" }, - "Tags":{"shape":"TagList"}, - "DryRun":{"shape":"BooleanOptional"}, - "NextInvocations":{"shape":"IntegerOptional"} + "Tags":{ + "shape":"TagList", + "documentation":"

An optional set of tags you can use to search for the schedule.

" + }, + "DryRun":{ + "shape":"BooleanOptional", + "documentation":"

" + }, + "NextInvocations":{ + "shape":"IntegerOptional", + "documentation":"

" + } } }, "CreateTagsMessage":{ @@ -3490,7 +3529,7 @@ "members":{ "ClusterIdentifier":{ "shape":"String", - "documentation":"

The identifier of the cluster for which information about snapshots is requested.

" + "documentation":"

The identifier of the cluster which generated the requested snapshots.

" }, "SnapshotIdentifier":{ "shape":"String", @@ -3530,9 +3569,12 @@ }, "ClusterExists":{ "shape":"BooleanOptional", - "documentation":"

A value that indicates whether to return snapshots only for an existing cluster. Table-level restore can be performed only using a snapshot of an existing cluster, that is, a cluster that has not been deleted. If ClusterExists is set to true, ClusterIdentifier is required.

" + "documentation":"

A value that indicates whether to return snapshots only for an existing cluster. You can perform table-level restore only by using a snapshot of an existing cluster, that is, a cluster that has not been deleted. Values for this parameter work as follows:

  • If ClusterExists is set to true, ClusterIdentifier is required.

  • If ClusterExists is set to false and ClusterIdentifier isn't specified, all snapshots associated with deleted clusters (orphaned snapshots) are returned.

  • If ClusterExists is set to false and ClusterIdentifier is specified for a deleted cluster, snapshots associated with that cluster are returned.

  • If ClusterExists is set to false and ClusterIdentifier is specified for an existing cluster, no snapshots are returned.

" }, - "SortingEntities":{"shape":"SnapshotSortingEntityList"} + "SortingEntities":{ + "shape":"SnapshotSortingEntityList", + "documentation":"

" + } }, "documentation":"

" }, @@ -3953,7 +3995,7 @@ }, "ResourceType":{ "shape":"String", - "documentation":"

The type of resource with which you want to view tags. Valid resource types are:

  • Cluster

  • CIDR/IP

  • EC2 security group

  • Snapshot

  • Cluster security group

  • Subnet group

  • HSM connection

  • HSM certificate

  • Parameter group

  • Snapshot copy grant

For more information about Amazon Redshift resource types and constructing ARNs, go to Specifying Policy Elements: Actions, Effects, Resources, and Principals in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

The type of resource with which you want to view tags. Valid resource types are:

  • Cluster

  • CIDR/IP

  • EC2 security group

  • Snapshot

  • Cluster security group

  • Subnet group

  • HSM connection

  • HSM certificate

  • Parameter group

  • Snapshot copy grant

For more information about Amazon Redshift resource types and constructing ARNs, go to Specifying Policy Elements: Actions, Effects, Resources, and Principals in the Amazon Redshift Cluster Management Guide.

" }, "MaxRecords":{ "shape":"IntegerOptional", @@ -4089,7 +4131,7 @@ }, "DestinationRegion":{ "shape":"String", - "documentation":"

The destination AWS Region that you want to copy snapshots to.

Constraints: Must be the name of a valid AWS Region. For more information, see Regions and Endpoints in the Amazon Web Services General Reference.

" + "documentation":"

The destination AWS Region that you want to copy snapshots to.

Constraints: Must be the name of a valid AWS Region. For more information, see Regions and Endpoints in the Amazon Web Services General Reference.

" }, "RetentionPeriod":{ "shape":"IntegerOptional", @@ -4291,7 +4333,7 @@ "type":"structure", "members":{ }, - "documentation":"

The request would exceed the allowed number of event subscriptions for this account. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", + "documentation":"

The request would exceed the allowed number of event subscriptions for this account. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", "error":{ "code":"EventSubscriptionQuotaExceeded", "httpStatusCode":400, @@ -4343,7 +4385,7 @@ "members":{ "DbUser":{ "shape":"String", - "documentation":"

The name of a database user. If a user name matching DbUser exists in the database, the temporary user credentials have the same permissions as the existing user. If DbUser doesn't exist in the database and Autocreate is True, a new user is created using the value for DbUser with PUBLIC permissions. If a database user matching the value for DbUser doesn't exist and Autocreate is False, then the command succeeds but the connection attempt will fail because the user doesn't exist in the database.

For more information, see CREATE USER in the Amazon Redshift Database Developer Guide.

Constraints:

  • Must be 1 to 64 alphanumeric characters or hyphens. The user name can't be PUBLIC.

  • Must contain only lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen.

  • First character must be a letter.

  • Must not contain a colon ( : ) or slash ( / ).

  • Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.

" + "documentation":"

The name of a database user. If a user name matching DbUser exists in the database, the temporary user credentials have the same permissions as the existing user. If DbUser doesn't exist in the database and Autocreate is True, a new user is created using the value for DbUser with PUBLIC permissions. If a database user matching the value for DbUser doesn't exist and Autocreate is False, then the command succeeds but the connection attempt will fail because the user doesn't exist in the database.

For more information, see CREATE USER in the Amazon Redshift Database Developer Guide.

Constraints:

  • Must be 1 to 64 alphanumeric characters or hyphens. The user name can't be PUBLIC.

  • Must contain only lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen.

  • First character must be a letter.

  • Must not contain a colon ( : ) or slash ( / ).

  • Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.

" }, "DbName":{ "shape":"String", @@ -4468,7 +4510,7 @@ "type":"structure", "members":{ }, - "documentation":"

The quota for HSM client certificates has been reached. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", + "documentation":"

The quota for HSM client certificates has been reached. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", "error":{ "code":"HsmClientCertificateQuotaExceededFault", "httpStatusCode":400, @@ -4552,7 +4594,7 @@ "type":"structure", "members":{ }, - "documentation":"

The quota for HSM configurations has been reached. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", + "documentation":"

The quota for HSM configurations has been reached. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", "error":{ "code":"HsmConfigurationQuotaExceededFault", "httpStatusCode":400, @@ -4844,7 +4886,7 @@ "type":"structure", "members":{ }, - "documentation":"

The S3 bucket name is invalid. For more information about naming rules, go to Bucket Restrictions and Limitations in the Amazon Simple Storage Service (S3) Developer Guide.

", + "documentation":"

The S3 bucket name is invalid. For more information about naming rules, go to Bucket Restrictions and Limitations in the Amazon Simple Storage Service (S3) Developer Guide.

", "error":{ "code":"InvalidS3BucketNameFault", "httpStatusCode":400, @@ -5084,7 +5126,7 @@ }, "DeferMaintenanceDuration":{ "shape":"IntegerOptional", - "documentation":"

An integer indicating the duration of the maintenance window in days. If you specify a duration, you can't specify an end time. The duration must be 14 days or less.

" + "documentation":"

An integer indicating the duration of the maintenance window in days. If you specify a duration, you can't specify an end time. The duration must be 45 days or less.

" } } }, @@ -5144,7 +5186,7 @@ }, "ClusterVersion":{ "shape":"String", - "documentation":"

The new version number of the Amazon Redshift engine to upgrade to.

For major version upgrades, if a non-default cluster parameter group is currently in use, a new cluster parameter group in the cluster parameter group family for the new version must be specified. The new cluster parameter group can be the default for that cluster parameter group family. For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

Example: 1.0

" + "documentation":"

The new version number of the Amazon Redshift engine to upgrade to.

For major version upgrades, if a non-default cluster parameter group is currently in use, a new cluster parameter group in the cluster parameter group family for the new version must be specified. The new cluster parameter group can be the default for that cluster parameter group family. For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

Example: 1.0

" }, "AllowVersionUpgrade":{ "shape":"BooleanOptional", @@ -5168,11 +5210,11 @@ }, "ElasticIp":{ "shape":"String", - "documentation":"

The Elastic IP (EIP) address for the cluster.

Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. For more information about provisioning clusters in EC2-VPC, go to Supported Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

The Elastic IP (EIP) address for the cluster.

Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. For more information about provisioning clusters in EC2-VPC, go to Supported Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.

" }, "EnhancedVpcRouting":{ "shape":"BooleanOptional", - "documentation":"

An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

If this option is true, enhanced VPC routing is enabled.

Default: false

" + "documentation":"

An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

If this option is true, enhanced VPC routing is enabled.

Default: false

" }, "MaintenanceTrackName":{ "shape":"String", @@ -5385,7 +5427,7 @@ "type":"structure", "members":{ }, - "documentation":"

The operation would exceed the number of nodes allotted to the account. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", + "documentation":"

The operation would exceed the number of nodes allotted to the account. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", "error":{ "code":"NumberOfNodesQuotaExceeded", "httpStatusCode":400, @@ -5466,7 +5508,7 @@ }, "ApplyType":{ "shape":"ParameterApplyType", - "documentation":"

Specifies how to apply the WLM configuration parameter. Some properties can be applied dynamically, while other properties require that any associated clusters be rebooted for the configuration changes to be applied. For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

Specifies how to apply the WLM configuration parameter. Some properties can be applied dynamically, while other properties require that any associated clusters be rebooted for the configuration changes to be applied. For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

" }, "IsModifiable":{ "shape":"Boolean", @@ -5541,7 +5583,7 @@ }, "EnhancedVpcRouting":{ "shape":"BooleanOptional", - "documentation":"

An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

If this option is true, enhanced VPC routing is enabled.

Default: false

" + "documentation":"

An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

If this option is true, enhanced VPC routing is enabled.

Default: false

" }, "MaintenanceTrackName":{ "shape":"String", @@ -5665,7 +5707,10 @@ "shape":"RecurringChargeList", "documentation":"

The recurring charges for the reserved node.

" }, - "ReservedNodeOfferingType":{"shape":"ReservedNodeOfferingType"} + "ReservedNodeOfferingType":{ + "shape":"ReservedNodeOfferingType", + "documentation":"

" + } }, "documentation":"

Describes a reserved node. You can call the DescribeReservedNodeOfferings API to obtain the available reserved node offerings.

", "wrapper":true @@ -5748,7 +5793,10 @@ "shape":"RecurringChargeList", "documentation":"

The charge to your account regardless of whether you are creating any clusters using the node offering. Recurring charges are only in effect for heavy-utilization reserved nodes.

" }, - "ReservedNodeOfferingType":{"shape":"ReservedNodeOfferingType"} + "ReservedNodeOfferingType":{ + "shape":"ReservedNodeOfferingType", + "documentation":"

" + } }, "documentation":"

Describes a reserved node offering.

", "wrapper":true @@ -5797,7 +5845,7 @@ "type":"structure", "members":{ }, - "documentation":"

Request would exceed the user's compute node quota. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", + "documentation":"

Request would exceed the user's compute node quota. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", "error":{ "code":"ReservedNodeQuotaExceeded", "httpStatusCode":400, @@ -5961,6 +6009,10 @@ "TargetEncryptionType":{ "shape":"String", "documentation":"

The type of encryption for the cluster after the resize is complete.

Possible values are KMS and None. In the China region possible values are: Legacy and None.

" + }, + "DataTransferProgressPercent":{ + "shape":"DoubleOptional", + "documentation":"

The percent of data transferred from source cluster to target cluster.

" } }, "documentation":"

Describes the result of a cluster resize operation.

" @@ -6041,7 +6093,7 @@ }, "ClusterParameterGroupName":{ "shape":"String", - "documentation":"

The name of the parameter group to be associated with this cluster.

Default: The default Amazon Redshift cluster parameter group. For information about the default parameter group, go to Working with Amazon Redshift Parameter Groups.

Constraints:

  • Must be 1 to 255 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" + "documentation":"

The name of the parameter group to be associated with this cluster.

Default: The default Amazon Redshift cluster parameter group. For information about the default parameter group, go to Working with Amazon Redshift Parameter Groups.

Constraints:

  • Must be 1 to 255 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" }, "ClusterSecurityGroups":{ "shape":"ClusterSecurityGroupNameList", @@ -6053,24 +6105,27 @@ }, "PreferredMaintenanceWindow":{ "shape":"String", - "documentation":"

The weekly time range (in UTC) during which automated cluster maintenance can occur.

Format: ddd:hh24:mi-ddd:hh24:mi

Default: The value selected for the cluster from which the snapshot was taken. For more information about the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.

Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

Constraints: Minimum 30-minute window.

" + "documentation":"

The weekly time range (in UTC) during which automated cluster maintenance can occur.

Format: ddd:hh24:mi-ddd:hh24:mi

Default: The value selected for the cluster from which the snapshot was taken. For more information about the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.

Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

Constraints: Minimum 30-minute window.

" }, "AutomatedSnapshotRetentionPeriod":{ "shape":"IntegerOptional", "documentation":"

The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with CreateClusterSnapshot.

Default: The value selected for the cluster from which the snapshot was taken.

Constraints: Must be a value from 0 to 35.

" }, - "ManualSnapshotRetentionPeriod":{"shape":"IntegerOptional"}, + "ManualSnapshotRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots.

The value must be either -1 or an integer between 1 and 3,653.

" + }, "KmsKeyId":{ "shape":"String", "documentation":"

The AWS Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the cluster that you restore from a shared snapshot.

" }, "NodeType":{ "shape":"String", - "documentation":"

The node type that the restored cluster will be provisioned with.

Default: The node type of the cluster from which the snapshot was taken. You can modify this if you are using any DS node type. In that case, you can choose to restore into another DS node type of the same size. For example, you can restore ds1.8xlarge into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. If you have a DC instance type, you must restore into that same instance type and size. In other words, you can only restore a dc1.large instance type into another dc1.large instance type or dc2.large instance type. You can't restore dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlareg cluster, then resize to a dc2.8large cluster. For more information about node types, see About Clusters and Nodes in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

The node type that the restored cluster will be provisioned with.

Default: The node type of the cluster from which the snapshot was taken. You can modify this if you are using any DS node type. In that case, you can choose to restore into another DS node type of the same size. For example, you can restore ds1.8xlarge into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. If you have a DC instance type, you must restore into that same instance type and size. In other words, you can only restore a dc1.large instance type into another dc1.large instance type or dc2.large instance type. You can't restore dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlareg cluster, then resize to a dc2.8large cluster. For more information about node types, see About Clusters and Nodes in the Amazon Redshift Cluster Management Guide.

" }, "EnhancedVpcRouting":{ "shape":"BooleanOptional", - "documentation":"

An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

If this option is true, enhanced VPC routing is enabled.

Default: false

" + "documentation":"

An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

If this option is true, enhanced VPC routing is enabled.

Default: false

" }, "AdditionalInfo":{ "shape":"String", @@ -6468,7 +6523,7 @@ }, "EnhancedVpcRouting":{ "shape":"Boolean", - "documentation":"

An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

If this option is true, enhanced VPC routing is enabled.

Default: false

" + "documentation":"

An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

If this option is true, enhanced VPC routing is enabled.

Default: false

" }, "MaintenanceTrackName":{ "shape":"String", @@ -6550,7 +6605,7 @@ "documentation":"

A list of tag instances.

" } }, - "documentation":"

The snapshot copy grant that grants Amazon Redshift permission to encrypt copied snapshots with the specified customer master key (CMK) from AWS KMS in the destination region.

For more information about managing snapshot copy grants, go to Amazon Redshift Database Encryption in the Amazon Redshift Cluster Management Guide.

", + "documentation":"

The snapshot copy grant that grants Amazon Redshift permission to encrypt copied snapshots with the specified customer master key (CMK) from AWS KMS in the destination region.

For more information about managing snapshot copy grants, go to Amazon Redshift Database Encryption in the Amazon Redshift Cluster Management Guide.

", "wrapper":true }, "SnapshotCopyGrantAlreadyExistsFault":{ @@ -6665,7 +6720,7 @@ "members":{ "ScheduleDefinitions":{ "shape":"ScheduleDefinitionList", - "documentation":"

A list of ScheduleDefinitions

" + "documentation":"

A list of ScheduleDefinitions.

" }, "ScheduleIdentifier":{ "shape":"String", @@ -6679,7 +6734,18 @@ "shape":"TagList", "documentation":"

An optional set of tags describing the schedule.

" }, - "NextInvocations":{"shape":"ScheduledSnapshotTimeList"} + "NextInvocations":{ + "shape":"ScheduledSnapshotTimeList", + "documentation":"

" + }, + "AssociatedClusterCount":{ + "shape":"IntegerOptional", + "documentation":"

The number of clusters associated with the schedule.

" + }, + "AssociatedClusters":{ + "shape":"AssociatedClusterList", + "documentation":"

A list of clusters associated with the schedule. A maximum of 100 clusters is returned.

" + } }, "documentation":"

Describes a snapshot schedule. You can set a regular interval for creating snapshots of a cluster. You can also schedule snapshots for specific dates.

" }, @@ -6803,7 +6869,10 @@ "shape":"String", "documentation":"

The identifier of the subnet.

" }, - "SubnetAvailabilityZone":{"shape":"AvailabilityZone"}, + "SubnetAvailabilityZone":{ + "shape":"AvailabilityZone", + "documentation":"

" + }, "SubnetStatus":{ "shape":"String", "documentation":"

The status of the subnet.

" @@ -6917,7 +6986,10 @@ "SupportedPlatform":{ "type":"structure", "members":{ - "Name":{"shape":"String"} + "Name":{ + "shape":"String", + "documentation":"

" + } }, "documentation":"

A list of supported platforms for orderable clusters.

", "wrapper":true @@ -7108,7 +7180,7 @@ }, "ResourceType":{ "shape":"String", - "documentation":"

The type of resource with which the tag is associated. Valid resource types are:

  • Cluster

  • CIDR/IP

  • EC2 security group

  • Snapshot

  • Cluster security group

  • Subnet group

  • HSM connection

  • HSM certificate

  • Parameter group

For more information about Amazon Redshift resource types and constructing ARNs, go to Constructing an Amazon Redshift Amazon Resource Name (ARN) in the Amazon Redshift Cluster Management Guide.

" + "documentation":"

The type of resource with which the tag is associated. Valid resource types are:

  • Cluster

  • CIDR/IP

  • EC2 security group

  • Snapshot

  • Cluster security group

  • Subnet group

  • HSM connection

  • HSM certificate

  • Parameter group

For more information about Amazon Redshift resource types and constructing ARNs, go to Constructing an Amazon Redshift Amazon Resource Name (ARN) in the Amazon Redshift Cluster Management Guide.

" } }, "documentation":"

A tag and its associated resource.

" @@ -7249,5 +7321,5 @@ } } }, - "documentation":"Amazon Redshift

Overview

This is an interface reference for Amazon Redshift. It contains documentation for one of the programming or command line interfaces you can use to manage Amazon Redshift clusters. Note that Amazon Redshift is asynchronous, which means that some interfaces may require techniques, such as polling or asynchronous callback handlers, to determine when a command has been applied. In this reference, the parameter descriptions indicate whether a change is applied immediately, on the next instance reboot, or during the next maintenance window. For a summary of the Amazon Redshift cluster management interfaces, go to Using the Amazon Redshift Management Interfaces.

Amazon Redshift manages all the work of setting up, operating, and scaling a data warehouse: provisioning capacity, monitoring and backing up the cluster, and applying patches and upgrades to the Amazon Redshift engine. You can focus on using your data to acquire new insights for your business and customers.

If you are a first-time user of Amazon Redshift, we recommend that you begin by reading the Amazon Redshift Getting Started Guide.

If you are a database developer, the Amazon Redshift Database Developer Guide explains how to design, build, query, and maintain the databases that make up your data warehouse.

" + "documentation":"Amazon Redshift

Overview

This is an interface reference for Amazon Redshift. It contains documentation for one of the programming or command line interfaces you can use to manage Amazon Redshift clusters. Note that Amazon Redshift is asynchronous, which means that some interfaces may require techniques, such as polling or asynchronous callback handlers, to determine when a command has been applied. In this reference, the parameter descriptions indicate whether a change is applied immediately, on the next instance reboot, or during the next maintenance window. For a summary of the Amazon Redshift cluster management interfaces, go to Using the Amazon Redshift Management Interfaces.

Amazon Redshift manages all the work of setting up, operating, and scaling a data warehouse: provisioning capacity, monitoring and backing up the cluster, and applying patches and upgrades to the Amazon Redshift engine. You can focus on using your data to acquire new insights for your business and customers.

If you are a first-time user of Amazon Redshift, we recommend that you begin by reading the Amazon Redshift Getting Started Guide.

If you are a database developer, the Amazon Redshift Database Developer Guide explains how to design, build, query, and maintain the databases that make up your data warehouse.

" } diff --git a/bin/botocore/data/rekognition/2016-06-27/service-2.json b/bin/botocore/data/rekognition/2016-06-27/service-2.json index 886a9b5d..537e0408 100644 --- a/bin/botocore/data/rekognition/2016-06-27/service-2.json +++ b/bin/botocore/data/rekognition/2016-06-27/service-2.json @@ -48,7 +48,7 @@ {"shape":"ProvisionedThroughputExceededException"}, {"shape":"ResourceAlreadyExistsException"} ], - "documentation":"

Creates a collection in an AWS Region. You can add faces to the collection using the operation.

For example, you might create collections, one for each of your application users. A user can then index faces using the IndexFaces operation and persist results in a specific collection. Then, a user can search the collection for faces in the user-specific container.

When you create a collection, it is associated with the latest version of the face model version.

Collection names are case-sensitive.

This operation requires permissions to perform the rekognition:CreateCollection action.

" + "documentation":"

Creates a collection in an AWS Region. You can add faces to the collection using the IndexFaces operation.

For example, you might create collections, one for each of your application users. A user can then index faces using the IndexFaces operation and persist results in a specific collection. Then, a user can search the collection for faces in the user-specific container.

When you create a collection, it is associated with the latest version of the face model version.

Collection names are case-sensitive.

This operation requires permissions to perform the rekognition:CreateCollection action.

" }, "CreateStreamProcessor":{ "name":"CreateStreamProcessor", @@ -67,7 +67,7 @@ {"shape":"ResourceInUseException"}, {"shape":"ProvisionedThroughputExceededException"} ], - "documentation":"

Creates an Amazon Rekognition stream processor that you can use to detect and recognize faces in a streaming video.

Amazon Rekognition Video is a consumer of live video from Amazon Kinesis Video Streams. Amazon Rekognition Video sends analysis results to Amazon Kinesis Data Streams.

You provide as input a Kinesis video stream (Input) and a Kinesis data stream (Output) stream. You also specify the face recognition criteria in Settings. For example, the collection containing faces that you want to recognize. Use Name to assign an identifier for the stream processor. You use Name to manage the stream processor. For example, you can start processing the source video by calling with the Name field.

After you have finished analyzing a streaming video, use to stop processing. You can delete the stream processor by calling .

" + "documentation":"

Creates an Amazon Rekognition stream processor that you can use to detect and recognize faces in a streaming video.

Amazon Rekognition Video is a consumer of live video from Amazon Kinesis Video Streams. Amazon Rekognition Video sends analysis results to Amazon Kinesis Data Streams.

You provide as input a Kinesis video stream (Input) and a Kinesis data stream (Output) stream. You also specify the face recognition criteria in Settings. For example, the collection containing faces that you want to recognize. Use Name to assign an identifier for the stream processor. You use Name to manage the stream processor. For example, you can start processing the source video by calling StartStreamProcessor with the Name field.

After you have finished analyzing a streaming video, use StopStreamProcessor to stop processing. You can delete the stream processor by calling DeleteStreamProcessor.

" }, "DeleteCollection":{ "name":"DeleteCollection", @@ -122,7 +122,7 @@ {"shape":"ResourceInUseException"}, {"shape":"ProvisionedThroughputExceededException"} ], - "documentation":"

Deletes the stream processor identified by Name. You assign the value for Name when you create the stream processor with . You might not be able to use the same name for a stream processor for a few seconds after calling DeleteStreamProcessor.

" + "documentation":"

Deletes the stream processor identified by Name. You assign the value for Name when you create the stream processor with CreateStreamProcessor. You might not be able to use the same name for a stream processor for a few seconds after calling DeleteStreamProcessor.

" }, "DescribeCollection":{ "name":"DescribeCollection", @@ -158,7 +158,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ProvisionedThroughputExceededException"} ], - "documentation":"

Provides information about a stream processor created by . You can get information about the input and output streams, the input parameters for the face recognition being performed, and the current status of the stream processor.

" + "documentation":"

Provides information about a stream processor created by CreateStreamProcessor. You can get information about the input and output streams, the input parameters for the face recognition being performed, and the current status of the stream processor.

" }, "DetectFaces":{ "name":"DetectFaces", @@ -198,7 +198,7 @@ {"shape":"ProvisionedThroughputExceededException"}, {"shape":"InvalidImageFormatException"} ], - "documentation":"

Detects instances of real-world entities within an image (JPEG or PNG) provided as input. This includes objects like flower, tree, and table; events like wedding, graduation, and birthday party; and concepts like landscape, evening, and nature.

For an example, see Analyzing Images Stored in an Amazon S3 Bucket in the Amazon Rekognition Developer Guide.

DetectLabels does not support the detection of activities. However, activity detection is supported for label detection in videos. For more information, see StartLabelDetection in the Amazon Rekognition Developer Guide.

You pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

For each object, scene, and concept the API returns one or more labels. Each label provides the object name, and the level of confidence that the image contains the object. For example, suppose the input image has a lighthouse, the sea, and a rock. The response includes all three labels, one for each object.

{Name: lighthouse, Confidence: 98.4629}

{Name: rock,Confidence: 79.2097}

{Name: sea,Confidence: 75.061}

In the preceding example, the operation returns one label for each of the three objects. The operation can also return multiple labels for the same object in the image. For example, if the input image shows a flower (for example, a tulip), the operation might return the following three labels.

{Name: flower,Confidence: 99.0562}

{Name: plant,Confidence: 99.0562}

{Name: tulip,Confidence: 99.0562}

In this example, the detection algorithm more precisely identifies the flower as a tulip.

In response, the API returns an array of labels. In addition, the response also includes the orientation correction. Optionally, you can specify MinConfidence to control the confidence threshold for the labels returned. The default is 50%. You can also add the MaxLabels parameter to limit the number of labels returned.

If the object detected is a person, the operation doesn't provide the same facial details that the DetectFaces operation provides.

DetectLabels returns bounding boxes for instances of common object labels in an array of objects. An Instance object contains a object, for the location of the label on the image. It also includes the confidence by which the bounding box was detected.

DetectLabels also returns a hierarchical taxonomy of detected labels. For example, a detected car might be assigned the label car. The label car has two parent labels: Vehicle (its parent) and Transportation (its grandparent). The response returns the entire list of ancestors for a label. Each ancestor is a unique label in the response. In the previous example, Car, Vehicle, and Transportation are returned as unique labels in the response.

This is a stateless API operation. That is, the operation does not persist any data.

This operation requires permissions to perform the rekognition:DetectLabels action.

" + "documentation":"

Detects instances of real-world entities within an image (JPEG or PNG) provided as input. This includes objects like flower, tree, and table; events like wedding, graduation, and birthday party; and concepts like landscape, evening, and nature.

For an example, see Analyzing Images Stored in an Amazon S3 Bucket in the Amazon Rekognition Developer Guide.

DetectLabels does not support the detection of activities. However, activity detection is supported for label detection in videos. For more information, see StartLabelDetection in the Amazon Rekognition Developer Guide.

You pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

For each object, scene, and concept the API returns one or more labels. Each label provides the object name, and the level of confidence that the image contains the object. For example, suppose the input image has a lighthouse, the sea, and a rock. The response includes all three labels, one for each object.

{Name: lighthouse, Confidence: 98.4629}

{Name: rock,Confidence: 79.2097}

{Name: sea,Confidence: 75.061}

In the preceding example, the operation returns one label for each of the three objects. The operation can also return multiple labels for the same object in the image. For example, if the input image shows a flower (for example, a tulip), the operation might return the following three labels.

{Name: flower,Confidence: 99.0562}

{Name: plant,Confidence: 99.0562}

{Name: tulip,Confidence: 99.0562}

In this example, the detection algorithm more precisely identifies the flower as a tulip.

In response, the API returns an array of labels. In addition, the response also includes the orientation correction. Optionally, you can specify MinConfidence to control the confidence threshold for the labels returned. The default is 55%. You can also add the MaxLabels parameter to limit the number of labels returned.

If the object detected is a person, the operation doesn't provide the same facial details that the DetectFaces operation provides.

DetectLabels returns bounding boxes for instances of common object labels in an array of Instance objects. An Instance object contains a BoundingBox object, for the location of the label on the image. It also includes the confidence by which the bounding box was detected.

DetectLabels also returns a hierarchical taxonomy of detected labels. For example, a detected car might be assigned the label car. The label car has two parent labels: Vehicle (its parent) and Transportation (its grandparent). The response returns the entire list of ancestors for a label. Each ancestor is a unique label in the response. In the previous example, Car, Vehicle, and Transportation are returned as unique labels in the response.

This is a stateless API operation. That is, the operation does not persist any data.

This operation requires permissions to perform the rekognition:DetectLabels action.

" }, "DetectModerationLabels":{ "name":"DetectModerationLabels", @@ -238,7 +238,7 @@ {"shape":"ProvisionedThroughputExceededException"}, {"shape":"InvalidImageFormatException"} ], - "documentation":"

Detects text in the input image and converts it into machine-readable text.

Pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, you must pass it as a reference to an image in an Amazon S3 bucket. For the AWS CLI, passing image bytes is not supported. The image must be either a .png or .jpeg formatted file.

The DetectText operation returns text in an array of elements, TextDetections. Each TextDetection element provides information about a single word or line of text that was detected in the image.

A word is one or more ISO basic latin script characters that are not separated by spaces. DetectText can detect up to 50 words in an image.

A line is a string of equally spaced words. A line isn't necessarily a complete sentence. For example, a driver's license number is detected as a line. A line ends when there is no aligned text after it. Also, a line ends when there is a large gap between words, relative to the length of the words. This means, depending on the gap between words, Amazon Rekognition may detect multiple lines in text aligned in the same direction. Periods don't represent the end of a line. If a sentence spans multiple lines, the DetectText operation returns multiple lines.

To determine whether a TextDetection element is a line of text or a word, use the TextDetection object Type field.

To be detected, text must be within +/- 90 degrees orientation of the horizontal axis.

For more information, see DetectText in the Amazon Rekognition Developer Guide.

" + "documentation":"

Detects text in the input image and converts it into machine-readable text.

Pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, you must pass it as a reference to an image in an Amazon S3 bucket. For the AWS CLI, passing image bytes is not supported. The image must be either a .png or .jpeg formatted file.

The DetectText operation returns text in an array of TextDetection elements, TextDetections. Each TextDetection element provides information about a single word or line of text that was detected in the image.

A word is one or more ISO basic latin script characters that are not separated by spaces. DetectText can detect up to 50 words in an image.

A line is a string of equally spaced words. A line isn't necessarily a complete sentence. For example, a driver's license number is detected as a line. A line ends when there is no aligned text after it. Also, a line ends when there is a large gap between words, relative to the length of the words. This means, depending on the gap between words, Amazon Rekognition may detect multiple lines in text aligned in the same direction. Periods don't represent the end of a line. If a sentence spans multiple lines, the DetectText operation returns multiple lines.

To determine whether a TextDetection element is a line of text or a word, use the TextDetection object Type field.

To be detected, text must be within +/- 90 degrees orientation of the horizontal axis.

For more information, see DetectText in the Amazon Rekognition Developer Guide.

" }, "GetCelebrityInfo":{ "name":"GetCelebrityInfo", @@ -275,7 +275,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"} ], - "documentation":"

Gets the celebrity recognition results for a Amazon Rekognition Video analysis started by .

Celebrity recognition in a video is an asynchronous operation. Analysis is started by a call to which returns a job identifier (JobId). When the celebrity recognition operation finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartCelebrityRecognition. To get the results of the celebrity recognition analysis, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetCelebrityDetection and pass the job identifier (JobId) from the initial call to StartCelebrityDetection.

For more information, see Working With Stored Videos in the Amazon Rekognition Developer Guide.

GetCelebrityRecognition returns detected celebrities and the time(s) they are detected in an array (Celebrities) of objects. Each CelebrityRecognition contains information about the celebrity in a object and the time, Timestamp, the celebrity was detected.

GetCelebrityRecognition only returns the default facial attributes (BoundingBox, Confidence, Landmarks, Pose, and Quality). The other facial attributes listed in the Face object of the following response syntax are not returned. For more information, see FaceDetail in the Amazon Rekognition Developer Guide.

By default, the Celebrities array is sorted by time (milliseconds from the start of the video). You can also sort the array by celebrity by specifying the value ID in the SortBy input parameter.

The CelebrityDetail object includes the celebrity identifer and additional information urls. If you don't store the additional information urls, you can get them later by calling with the celebrity identifer.

No information is returned for faces not recognized as celebrities.

Use MaxResults parameter to limit the number of labels returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetCelebrityDetection and populate the NextToken request parameter with the token value returned from the previous call to GetCelebrityRecognition.

" + "documentation":"

Gets the celebrity recognition results for a Amazon Rekognition Video analysis started by StartCelebrityRecognition.

Celebrity recognition in a video is an asynchronous operation. Analysis is started by a call to StartCelebrityRecognition which returns a job identifier (JobId). When the celebrity recognition operation finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartCelebrityRecognition. To get the results of the celebrity recognition analysis, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetCelebrityDetection and pass the job identifier (JobId) from the initial call to StartCelebrityDetection.

For more information, see Working With Stored Videos in the Amazon Rekognition Developer Guide.

GetCelebrityRecognition returns detected celebrities and the time(s) they are detected in an array (Celebrities) of CelebrityRecognition objects. Each CelebrityRecognition contains information about the celebrity in a CelebrityDetail object and the time, Timestamp, the celebrity was detected.

GetCelebrityRecognition only returns the default facial attributes (BoundingBox, Confidence, Landmarks, Pose, and Quality). The other facial attributes listed in the Face object of the following response syntax are not returned. For more information, see FaceDetail in the Amazon Rekognition Developer Guide.

By default, the Celebrities array is sorted by time (milliseconds from the start of the video). You can also sort the array by celebrity by specifying the value ID in the SortBy input parameter.

The CelebrityDetail object includes the celebrity identifer and additional information urls. If you don't store the additional information urls, you can get them later by calling GetCelebrityInfo with the celebrity identifer.

No information is returned for faces not recognized as celebrities.

Use MaxResults parameter to limit the number of labels returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetCelebrityDetection and populate the NextToken request parameter with the token value returned from the previous call to GetCelebrityRecognition.

" }, "GetContentModeration":{ "name":"GetContentModeration", @@ -294,7 +294,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"} ], - "documentation":"

Gets the content moderation analysis results for a Amazon Rekognition Video analysis started by .

Content moderation analysis of a video is an asynchronous operation. You start analysis by calling . which returns a job identifier (JobId). When analysis finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartContentModeration. To get the results of the content moderation analysis, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetCelebrityDetection and pass the job identifier (JobId) from the initial call to StartCelebrityDetection.

For more information, see Working with Stored Videos in the Amazon Rekognition Devlopers Guide.

GetContentModeration returns detected content moderation labels, and the time they are detected, in an array, ModerationLabels, of objects.

By default, the moderated labels are returned sorted by time, in milliseconds from the start of the video. You can also sort them by moderated label by specifying NAME for the SortBy input parameter.

Since video analysis can return a large number of results, use the MaxResults parameter to limit the number of labels returned in a single call to GetContentModeration. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetContentModeration and populate the NextToken request parameter with the value of NextToken returned from the previous call to GetContentModeration.

For more information, see Detecting Unsafe Content in the Amazon Rekognition Developer Guide.

" + "documentation":"

Gets the content moderation analysis results for a Amazon Rekognition Video analysis started by StartContentModeration.

Content moderation analysis of a video is an asynchronous operation. You start analysis by calling StartContentModeration which returns a job identifier (JobId). When analysis finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartContentModeration. To get the results of the content moderation analysis, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetContentModeration and pass the job identifier (JobId) from the initial call to StartContentModeration.

For more information, see Working with Stored Videos in the Amazon Rekognition Devlopers Guide.

GetContentModeration returns detected content moderation labels, and the time they are detected, in an array, ModerationLabels, of ContentModerationDetection objects.

By default, the moderated labels are returned sorted by time, in milliseconds from the start of the video. You can also sort them by moderated label by specifying NAME for the SortBy input parameter.

Since video analysis can return a large number of results, use the MaxResults parameter to limit the number of labels returned in a single call to GetContentModeration. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetContentModeration and populate the NextToken request parameter with the value of NextToken returned from the previous call to GetContentModeration.

For more information, see Detecting Unsafe Content in the Amazon Rekognition Developer Guide.

" }, "GetFaceDetection":{ "name":"GetFaceDetection", @@ -313,7 +313,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"} ], - "documentation":"

Gets face detection results for a Amazon Rekognition Video analysis started by .

Face detection with Amazon Rekognition Video is an asynchronous operation. You start face detection by calling which returns a job identifier (JobId). When the face detection operation finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartFaceDetection. To get the results of the face detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call and pass the job identifier (JobId) from the initial call to StartFaceDetection.

GetFaceDetection returns an array of detected faces (Faces) sorted by the time the faces were detected.

Use MaxResults parameter to limit the number of labels returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetFaceDetection and populate the NextToken request parameter with the token value returned from the previous call to GetFaceDetection.

" + "documentation":"

Gets face detection results for a Amazon Rekognition Video analysis started by StartFaceDetection.

Face detection with Amazon Rekognition Video is an asynchronous operation. You start face detection by calling StartFaceDetection which returns a job identifier (JobId). When the face detection operation finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartFaceDetection. To get the results of the face detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetFaceDetection and pass the job identifier (JobId) from the initial call to StartFaceDetection.

GetFaceDetection returns an array of detected faces (Faces) sorted by the time the faces were detected.

Use MaxResults parameter to limit the number of labels returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetFaceDetection and populate the NextToken request parameter with the token value returned from the previous call to GetFaceDetection.

" }, "GetFaceSearch":{ "name":"GetFaceSearch", @@ -332,7 +332,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"} ], - "documentation":"

Gets the face search results for Amazon Rekognition Video face search started by . The search returns faces in a collection that match the faces of persons detected in a video. It also includes the time(s) that faces are matched in the video.

Face search in a video is an asynchronous operation. You start face search by calling to which returns a job identifier (JobId). When the search operation finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartFaceSearch. To get the search results, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetFaceSearch and pass the job identifier (JobId) from the initial call to StartFaceSearch.

For more information, see Searching Faces in a Collection in the Amazon Rekognition Developer Guide.

The search results are retured in an array, Persons, of objects. EachPersonMatch element contains details about the matching faces in the input collection, person information (facial attributes, bounding boxes, and person identifer) for the matched person, and the time the person was matched in the video.

GetFaceSearch only returns the default facial attributes (BoundingBox, Confidence, Landmarks, Pose, and Quality). The other facial attributes listed in the Face object of the following response syntax are not returned. For more information, see FaceDetail in the Amazon Rekognition Developer Guide.

By default, the Persons array is sorted by the time, in milliseconds from the start of the video, persons are matched. You can also sort by persons by specifying INDEX for the SORTBY input parameter.

" + "documentation":"

Gets the face search results for Amazon Rekognition Video face search started by StartFaceSearch. The search returns faces in a collection that match the faces of persons detected in a video. It also includes the time(s) that faces are matched in the video.

Face search in a video is an asynchronous operation. You start face search by calling to StartFaceSearch which returns a job identifier (JobId). When the search operation finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartFaceSearch. To get the search results, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetFaceSearch and pass the job identifier (JobId) from the initial call to StartFaceSearch.

For more information, see Searching Faces in a Collection in the Amazon Rekognition Developer Guide.

The search results are retured in an array, Persons, of PersonMatch objects. EachPersonMatch element contains details about the matching faces in the input collection, person information (facial attributes, bounding boxes, and person identifer) for the matched person, and the time the person was matched in the video.

GetFaceSearch only returns the default facial attributes (BoundingBox, Confidence, Landmarks, Pose, and Quality). The other facial attributes listed in the Face object of the following response syntax are not returned. For more information, see FaceDetail in the Amazon Rekognition Developer Guide.

By default, the Persons array is sorted by the time, in milliseconds from the start of the video, persons are matched. You can also sort by persons by specifying INDEX for the SORTBY input parameter.

" }, "GetLabelDetection":{ "name":"GetLabelDetection", @@ -351,7 +351,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"} ], - "documentation":"

Gets the label detection results of a Amazon Rekognition Video analysis started by .

The label detection operation is started by a call to which returns a job identifier (JobId). When the label detection operation finishes, Amazon Rekognition publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartlabelDetection. To get the results of the label detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call and pass the job identifier (JobId) from the initial call to StartLabelDetection.

GetLabelDetection returns an array of detected labels (Labels) sorted by the time the labels were detected. You can also sort by the label name by specifying NAME for the SortBy input parameter.

The labels returned include the label name, the percentage confidence in the accuracy of the detected label, and the time the label was detected in the video.

Use MaxResults parameter to limit the number of labels returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetlabelDetection and populate the NextToken request parameter with the token value returned from the previous call to GetLabelDetection.

GetLabelDetection doesn't return a hierarchical taxonomy, or bounding box information, for detected labels. GetLabelDetection returns null for the Parents and Instances attributes of the object which is returned in the Labels array.

" + "documentation":"

Gets the label detection results of a Amazon Rekognition Video analysis started by StartLabelDetection.

The label detection operation is started by a call to StartLabelDetection which returns a job identifier (JobId). When the label detection operation finishes, Amazon Rekognition publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartlabelDetection. To get the results of the label detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetLabelDetection and pass the job identifier (JobId) from the initial call to StartLabelDetection.

GetLabelDetection returns an array of detected labels (Labels) sorted by the time the labels were detected. You can also sort by the label name by specifying NAME for the SortBy input parameter.

The labels returned include the label name, the percentage confidence in the accuracy of the detected label, and the time the label was detected in the video.

The returned labels also include bounding box information for common objects, a hierarchical taxonomy of detected labels, and the version of the label model used for detection.

Use MaxResults parameter to limit the number of labels returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetlabelDetection and populate the NextToken request parameter with the token value returned from the previous call to GetLabelDetection.

" }, "GetPersonTracking":{ "name":"GetPersonTracking", @@ -370,7 +370,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"} ], - "documentation":"

Gets the path tracking results of a Amazon Rekognition Video analysis started by .

The person path tracking operation is started by a call to StartPersonTracking which returns a job identifier (JobId). When the operation finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartPersonTracking.

To get the results of the person path tracking operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call and pass the job identifier (JobId) from the initial call to StartPersonTracking.

GetPersonTracking returns an array, Persons, of tracked persons and the time(s) their paths were tracked in the video.

GetPersonTracking only returns the default facial attributes (BoundingBox, Confidence, Landmarks, Pose, and Quality). The other facial attributes listed in the Face object of the following response syntax are not returned.

For more information, see FaceDetail in the Amazon Rekognition Developer Guide.

By default, the array is sorted by the time(s) a person's path is tracked in the video. You can sort by tracked persons by specifying INDEX for the SortBy input parameter.

Use the MaxResults parameter to limit the number of items returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetPersonTracking and populate the NextToken request parameter with the token value returned from the previous call to GetPersonTracking.

" + "documentation":"

Gets the path tracking results of a Amazon Rekognition Video analysis started by StartPersonTracking.

The person path tracking operation is started by a call to StartPersonTracking which returns a job identifier (JobId). When the operation finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartPersonTracking.

To get the results of the person path tracking operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetPersonTracking and pass the job identifier (JobId) from the initial call to StartPersonTracking.

GetPersonTracking returns an array, Persons, of tracked persons and the time(s) their paths were tracked in the video.

GetPersonTracking only returns the default facial attributes (BoundingBox, Confidence, Landmarks, Pose, and Quality). The other facial attributes listed in the Face object of the following response syntax are not returned.

For more information, see FaceDetail in the Amazon Rekognition Developer Guide.

By default, the array is sorted by the time(s) a person's path is tracked in the video. You can sort by tracked persons by specifying INDEX for the SortBy input parameter.

Use the MaxResults parameter to limit the number of items returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetPersonTracking and populate the NextToken request parameter with the token value returned from the previous call to GetPersonTracking.

" }, "IndexFaces":{ "name":"IndexFaces", @@ -391,7 +391,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidImageFormatException"} ], - "documentation":"

Detects faces in the input image and adds them to the specified collection.

Amazon Rekognition doesn't save the actual faces that are detected. Instead, the underlying detection algorithm first detects the faces in the input image. For each face, the algorithm extracts facial features into a feature vector, and stores it in the backend database. Amazon Rekognition uses feature vectors when it performs face match and search operations using the and operations.

For more information, see Adding Faces to a Collection in the Amazon Rekognition Developer Guide.

To get the number of faces in a collection, call .

If you're using version 1.0 of the face detection model, IndexFaces indexes the 15 largest faces in the input image. Later versions of the face detection model index the 100 largest faces in the input image.

If you're using version 4 or later of the face model, image orientation information is not returned in the OrientationCorrection field.

To determine which version of the model you're using, call and supply the collection ID. You can also get the model version from the value of FaceModelVersion in the response from IndexFaces

For more information, see Model Versioning in the Amazon Rekognition Developer Guide.

If you provide the optional ExternalImageID for the input image you provided, Amazon Rekognition associates this ID with all faces that it detects. When you call the operation, the response returns the external ID. You can use this external image ID to create a client-side index to associate the faces with each image. You can then use the index to find all faces in an image.

You can specify the maximum number of faces to index with the MaxFaces input parameter. This is useful when you want to index the largest faces in an image and don't want to index smaller faces, such as those belonging to people standing in the background.

The QualityFilter input parameter allows you to filter out detected faces that don’t meet the required quality bar chosen by Amazon Rekognition. The quality bar is based on a variety of common use cases. By default, IndexFaces filters detected faces. You can also explicitly filter detected faces by specifying AUTO for the value of QualityFilter. If you do not want to filter detected faces, specify NONE.

To use quality filtering, you need a collection associated with version 3 of the face model. To get the version of the face model associated with a collection, call .

Information about faces detected in an image, but not indexed, is returned in an array of objects, UnindexedFaces. Faces aren't indexed for reasons such as:

  • The number of faces detected exceeds the value of the MaxFaces request parameter.

  • The face is too small compared to the image dimensions.

  • The face is too blurry.

  • The image is too dark.

  • The face has an extreme pose.

In response, the IndexFaces operation returns an array of metadata for all detected faces, FaceRecords. This includes:

  • The bounding box, BoundingBox, of the detected face.

  • A confidence value, Confidence, which indicates the confidence that the bounding box contains a face.

  • A face ID, faceId, assigned by the service for each face that's detected and stored.

  • An image ID, ImageId, assigned by the service for the input image.

If you request all facial attributes (by using the detectionAttributes parameter), Amazon Rekognition returns detailed facial attributes, such as facial landmarks (for example, location of eye and mouth) and other facial attributes like gender. If you provide the same image, specify the same collection, and use the same external ID in the IndexFaces operation, Amazon Rekognition doesn't save duplicate face metadata.

The input image is passed either as base64-encoded image bytes, or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes isn't supported. The image must be formatted as a PNG or JPEG file.

This operation requires permissions to perform the rekognition:IndexFaces action.

" + "documentation":"

Detects faces in the input image and adds them to the specified collection.

Amazon Rekognition doesn't save the actual faces that are detected. Instead, the underlying detection algorithm first detects the faces in the input image. For each face, the algorithm extracts facial features into a feature vector, and stores it in the backend database. Amazon Rekognition uses feature vectors when it performs face match and search operations using the SearchFaces and SearchFacesByImage operations.

For more information, see Adding Faces to a Collection in the Amazon Rekognition Developer Guide.

To get the number of faces in a collection, call DescribeCollection.

If you're using version 1.0 of the face detection model, IndexFaces indexes the 15 largest faces in the input image. Later versions of the face detection model index the 100 largest faces in the input image.

If you're using version 4 or later of the face model, image orientation information is not returned in the OrientationCorrection field.

To determine which version of the model you're using, call DescribeCollection and supply the collection ID. You can also get the model version from the value of FaceModelVersion in the response from IndexFaces

For more information, see Model Versioning in the Amazon Rekognition Developer Guide.

If you provide the optional ExternalImageID for the input image you provided, Amazon Rekognition associates this ID with all faces that it detects. When you call the ListFaces operation, the response returns the external ID. You can use this external image ID to create a client-side index to associate the faces with each image. You can then use the index to find all faces in an image.

You can specify the maximum number of faces to index with the MaxFaces input parameter. This is useful when you want to index the largest faces in an image and don't want to index smaller faces, such as those belonging to people standing in the background.

The QualityFilter input parameter allows you to filter out detected faces that don’t meet the required quality bar chosen by Amazon Rekognition. The quality bar is based on a variety of common use cases. By default, IndexFaces filters detected faces. You can also explicitly filter detected faces by specifying AUTO for the value of QualityFilter. If you do not want to filter detected faces, specify NONE.

To use quality filtering, you need a collection associated with version 3 of the face model. To get the version of the face model associated with a collection, call DescribeCollection.

Information about faces detected in an image, but not indexed, is returned in an array of UnindexedFace objects, UnindexedFaces. Faces aren't indexed for reasons such as:

  • The number of faces detected exceeds the value of the MaxFaces request parameter.

  • The face is too small compared to the image dimensions.

  • The face is too blurry.

  • The image is too dark.

  • The face has an extreme pose.

In response, the IndexFaces operation returns an array of metadata for all detected faces, FaceRecords. This includes:

  • The bounding box, BoundingBox, of the detected face.

  • A confidence value, Confidence, which indicates the confidence that the bounding box contains a face.

  • A face ID, FaceId, assigned by the service for each face that's detected and stored.

  • An image ID, ImageId, assigned by the service for the input image.

If you request all facial attributes (by using the detectionAttributes parameter), Amazon Rekognition returns detailed facial attributes, such as facial landmarks (for example, location of eye and mouth) and other facial attributes like gender. If you provide the same image, specify the same collection, and use the same external ID in the IndexFaces operation, Amazon Rekognition doesn't save duplicate face metadata.

The input image is passed either as base64-encoded image bytes, or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes isn't supported. The image must be formatted as a PNG or JPEG file.

This operation requires permissions to perform the rekognition:IndexFaces action.

" }, "ListCollections":{ "name":"ListCollections", @@ -447,7 +447,7 @@ {"shape":"InvalidPaginationTokenException"}, {"shape":"ProvisionedThroughputExceededException"} ], - "documentation":"

Gets a list of stream processors that you have created with .

" + "documentation":"

Gets a list of stream processors that you have created with CreateStreamProcessor.

" }, "RecognizeCelebrities":{ "name":"RecognizeCelebrities", @@ -468,7 +468,7 @@ {"shape":"ProvisionedThroughputExceededException"}, {"shape":"InvalidImageFormatException"} ], - "documentation":"

Returns an array of celebrities recognized in the input image. For more information, see Recognizing Celebrities in the Amazon Rekognition Developer Guide.

RecognizeCelebrities returns the 100 largest faces in the image. It lists recognized celebrities in the CelebrityFaces array and unrecognized faces in the UnrecognizedFaces array. RecognizeCelebrities doesn't return celebrities whose faces aren't among the largest 100 faces in the image.

For each celebrity recognized, RecognizeCelebrities returns a Celebrity object. The Celebrity object contains the celebrity name, ID, URL links to additional information, match confidence, and a ComparedFace object that you can use to locate the celebrity's face on the image.

Amazon Rekognition doesn't retain information about which images a celebrity has been recognized in. Your application must store this information and use the Celebrity ID property as a unique identifier for the celebrity. If you don't store the celebrity name or additional information URLs returned by RecognizeCelebrities, you will need the ID to identify the celebrity in a call to the operation.

You pass the input image either as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

For an example, see Recognizing Celebrities in an Image in the Amazon Rekognition Developer Guide.

This operation requires permissions to perform the rekognition:RecognizeCelebrities operation.

" + "documentation":"

Returns an array of celebrities recognized in the input image. For more information, see Recognizing Celebrities in the Amazon Rekognition Developer Guide.

RecognizeCelebrities returns the 100 largest faces in the image. It lists recognized celebrities in the CelebrityFaces array and unrecognized faces in the UnrecognizedFaces array. RecognizeCelebrities doesn't return celebrities whose faces aren't among the largest 100 faces in the image.

For each celebrity recognized, RecognizeCelebrities returns a Celebrity object. The Celebrity object contains the celebrity name, ID, URL links to additional information, match confidence, and a ComparedFace object that you can use to locate the celebrity's face on the image.

Amazon Rekognition doesn't retain information about which images a celebrity has been recognized in. Your application must store this information and use the Celebrity ID property as a unique identifier for the celebrity. If you don't store the celebrity name or additional information URLs returned by RecognizeCelebrities, you will need the ID to identify the celebrity in a call to the GetCelebrityInfo operation.

You pass the input image either as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

For an example, see Recognizing Celebrities in an Image in the Amazon Rekognition Developer Guide.

This operation requires permissions to perform the rekognition:RecognizeCelebrities operation.

" }, "SearchFaces":{ "name":"SearchFaces", @@ -507,7 +507,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidImageFormatException"} ], - "documentation":"

For a given input image, first detects the largest face in the image, and then searches the specified collection for matching faces. The operation compares the features of the input face with faces in the specified collection.

To search for all faces in an input image, you might first call the operation, and then use the face IDs returned in subsequent calls to the operation.

You can also call the DetectFaces operation and use the bounding boxes in the response to make face crops, which then you can pass in to the SearchFacesByImage operation.

You pass the input image either as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

The response returns an array of faces that match, ordered by similarity score with the highest similarity first. More specifically, it is an array of metadata for each face match found. Along with the metadata, the response also includes a similarity indicating how similar the face is to the input face. In the response, the operation also returns the bounding box (and a confidence level that the bounding box contains a face) of the face that Amazon Rekognition used for the input image.

For an example, Searching for a Face Using an Image in the Amazon Rekognition Developer Guide.

This operation requires permissions to perform the rekognition:SearchFacesByImage action.

" + "documentation":"

For a given input image, first detects the largest face in the image, and then searches the specified collection for matching faces. The operation compares the features of the input face with faces in the specified collection.

To search for all faces in an input image, you might first call the IndexFaces operation, and then use the face IDs returned in subsequent calls to the SearchFaces operation.

You can also call the DetectFaces operation and use the bounding boxes in the response to make face crops, which then you can pass in to the SearchFacesByImage operation.

You pass the input image either as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

The response returns an array of faces that match, ordered by similarity score with the highest similarity first. More specifically, it is an array of metadata for each face match found. Along with the metadata, the response also includes a similarity indicating how similar the face is to the input face. In the response, the operation also returns the bounding box (and a confidence level that the bounding box contains a face) of the face that Amazon Rekognition used for the input image.

For an example, Searching for a Face Using an Image in the Amazon Rekognition Developer Guide.

This operation requires permissions to perform the rekognition:SearchFacesByImage action.

" }, "StartCelebrityRecognition":{ "name":"StartCelebrityRecognition", @@ -528,7 +528,7 @@ {"shape":"LimitExceededException"}, {"shape":"ThrottlingException"} ], - "documentation":"

Starts asynchronous recognition of celebrities in a stored video.

Amazon Rekognition Video can detect celebrities in a video must be stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartCelebrityRecognition returns a job identifier (JobId) which you use to get the results of the analysis. When celebrity recognition analysis is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel. To get the results of the celebrity recognition analysis, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call and pass the job identifier (JobId) from the initial call to StartCelebrityRecognition.

For more information, see Recognizing Celebrities in the Amazon Rekognition Developer Guide.

", + "documentation":"

Starts asynchronous recognition of celebrities in a stored video.

Amazon Rekognition Video can detect celebrities in a video must be stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartCelebrityRecognition returns a job identifier (JobId) which you use to get the results of the analysis. When celebrity recognition analysis is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel. To get the results of the celebrity recognition analysis, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetCelebrityRecognition and pass the job identifier (JobId) from the initial call to StartCelebrityRecognition.

For more information, see Recognizing Celebrities in the Amazon Rekognition Developer Guide.

", "idempotent":true }, "StartContentModeration":{ @@ -550,7 +550,7 @@ {"shape":"LimitExceededException"}, {"shape":"ThrottlingException"} ], - "documentation":"

Starts asynchronous detection of explicit or suggestive adult content in a stored video.

Amazon Rekognition Video can moderate content in a video stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartContentModeration returns a job identifier (JobId) which you use to get the results of the analysis. When content moderation analysis is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel.

To get the results of the content moderation analysis, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call and pass the job identifier (JobId) from the initial call to StartContentModeration.

For more information, see Detecting Unsafe Content in the Amazon Rekognition Developer Guide.

", + "documentation":"

Starts asynchronous detection of explicit or suggestive adult content in a stored video.

Amazon Rekognition Video can moderate content in a video stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartContentModeration returns a job identifier (JobId) which you use to get the results of the analysis. When content moderation analysis is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel.

To get the results of the content moderation analysis, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetContentModeration and pass the job identifier (JobId) from the initial call to StartContentModeration.

For more information, see Detecting Unsafe Content in the Amazon Rekognition Developer Guide.

", "idempotent":true }, "StartFaceDetection":{ @@ -572,7 +572,7 @@ {"shape":"LimitExceededException"}, {"shape":"ThrottlingException"} ], - "documentation":"

Starts asynchronous detection of faces in a stored video.

Amazon Rekognition Video can detect faces in a video stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartFaceDetection returns a job identifier (JobId) that you use to get the results of the operation. When face detection is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel. To get the results of the face detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call and pass the job identifier (JobId) from the initial call to StartFaceDetection.

For more information, see Detecting Faces in a Stored Video in the Amazon Rekognition Developer Guide.

", + "documentation":"

Starts asynchronous detection of faces in a stored video.

Amazon Rekognition Video can detect faces in a video stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartFaceDetection returns a job identifier (JobId) that you use to get the results of the operation. When face detection is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel. To get the results of the face detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetFaceDetection and pass the job identifier (JobId) from the initial call to StartFaceDetection.

For more information, see Detecting Faces in a Stored Video in the Amazon Rekognition Developer Guide.

", "idempotent":true }, "StartFaceSearch":{ @@ -595,7 +595,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"} ], - "documentation":"

Starts the asynchronous search for faces in a collection that match the faces of persons detected in a stored video.

The video must be stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartFaceSearch returns a job identifier (JobId) which you use to get the search results once the search has completed. When searching is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel. To get the search results, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call and pass the job identifier (JobId) from the initial call to StartFaceSearch. For more information, see procedure-person-search-videos.

", + "documentation":"

Starts the asynchronous search for faces in a collection that match the faces of persons detected in a stored video.

The video must be stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartFaceSearch returns a job identifier (JobId) which you use to get the search results once the search has completed. When searching is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel. To get the search results, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetFaceSearch and pass the job identifier (JobId) from the initial call to StartFaceSearch. For more information, see procedure-person-search-videos.

", "idempotent":true }, "StartLabelDetection":{ @@ -617,7 +617,7 @@ {"shape":"LimitExceededException"}, {"shape":"ThrottlingException"} ], - "documentation":"

Starts asynchronous detection of labels in a stored video.

Amazon Rekognition Video can detect labels in a video. Labels are instances of real-world entities. This includes objects like flower, tree, and table; events like wedding, graduation, and birthday party; concepts like landscape, evening, and nature; and activities like a person getting out of a car or a person skiing.

The video must be stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartLabelDetection returns a job identifier (JobId) which you use to get the results of the operation. When label detection is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel.

To get the results of the label detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call and pass the job identifier (JobId) from the initial call to StartLabelDetection.

", + "documentation":"

Starts asynchronous detection of labels in a stored video.

Amazon Rekognition Video can detect labels in a video. Labels are instances of real-world entities. This includes objects like flower, tree, and table; events like wedding, graduation, and birthday party; concepts like landscape, evening, and nature; and activities like a person getting out of a car or a person skiing.

The video must be stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartLabelDetection returns a job identifier (JobId) which you use to get the results of the operation. When label detection is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel.

To get the results of the label detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetLabelDetection and pass the job identifier (JobId) from the initial call to StartLabelDetection.

", "idempotent":true }, "StartPersonTracking":{ @@ -639,7 +639,7 @@ {"shape":"LimitExceededException"}, {"shape":"ThrottlingException"} ], - "documentation":"

Starts the asynchronous tracking of a person's path in a stored video.

Amazon Rekognition Video can track the path of people in a video stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartPersonTracking returns a job identifier (JobId) which you use to get the results of the operation. When label detection is finished, Amazon Rekognition publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel.

To get the results of the person detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call and pass the job identifier (JobId) from the initial call to StartPersonTracking.

", + "documentation":"

Starts the asynchronous tracking of a person's path in a stored video.

Amazon Rekognition Video can track the path of people in a video stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartPersonTracking returns a job identifier (JobId) which you use to get the results of the operation. When label detection is finished, Amazon Rekognition publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel.

To get the results of the person detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetPersonTracking and pass the job identifier (JobId) from the initial call to StartPersonTracking.

", "idempotent":true }, "StartStreamProcessor":{ @@ -659,7 +659,7 @@ {"shape":"ResourceInUseException"}, {"shape":"ProvisionedThroughputExceededException"} ], - "documentation":"

Starts processing a stream processor. You create a stream processor by calling . To tell StartStreamProcessor which stream processor to start, use the value of the Name field specified in the call to CreateStreamProcessor.

" + "documentation":"

Starts processing a stream processor. You create a stream processor by calling CreateStreamProcessor. To tell StartStreamProcessor which stream processor to start, use the value of the Name field specified in the call to CreateStreamProcessor.

" }, "StopStreamProcessor":{ "name":"StopStreamProcessor", @@ -678,7 +678,7 @@ {"shape":"ResourceInUseException"}, {"shape":"ProvisionedThroughputExceededException"} ], - "documentation":"

Stops a running stream processor that was created by .

" + "documentation":"

Stops a running stream processor that was created by CreateStreamProcessor.

" } }, "shapes":{ @@ -775,7 +775,7 @@ "documentation":"

The confidence, in percentage, that Amazon Rekognition has that the recognized face is the celebrity.

" } }, - "documentation":"

Provides information about a celebrity recognized by the operation.

" + "documentation":"

Provides information about a celebrity recognized by the RecognizeCelebrities operation.

" }, "CelebrityDetail":{ "type":"structure", @@ -879,11 +879,11 @@ "members":{ "SourceImage":{ "shape":"Image", - "documentation":"

The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

" + "documentation":"

The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.

" }, "TargetImage":{ "shape":"Image", - "documentation":"

The target image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

" + "documentation":"

The target image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.

" }, "SimilarityThreshold":{ "shape":"Percent", @@ -1036,7 +1036,7 @@ }, "Name":{ "shape":"StreamProcessorName", - "documentation":"

An identifier you assign to the stream processor. You can use Name to manage the stream processor. For example, you can get the current status of the stream processor by calling . Name is idempotent.

" + "documentation":"

An identifier you assign to the stream processor. You can use Name to manage the stream processor. For example, you can get the current status of the stream processor by calling DescribeStreamProcessor. Name is idempotent.

" }, "Settings":{ "shape":"StreamProcessorSettings", @@ -1138,7 +1138,7 @@ "members":{ "FaceCount":{ "shape":"ULong", - "documentation":"

The number of faces that are indexed into the collection. To index faces into a collection, use .

" + "documentation":"

The number of faces that are indexed into the collection. To index faces into a collection, use IndexFaces.

" }, "FaceModelVersion":{ "shape":"String", @@ -1215,7 +1215,7 @@ "members":{ "Image":{ "shape":"Image", - "documentation":"

The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

" + "documentation":"

The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.

" }, "Attributes":{ "shape":"Attributes", @@ -1242,7 +1242,7 @@ "members":{ "Image":{ "shape":"Image", - "documentation":"

The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

" + "documentation":"

The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. Images stored in an S3 Bucket do not need to be base64-encoded.

If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.

" }, "MaxLabels":{ "shape":"UInteger", @@ -1250,7 +1250,7 @@ }, "MinConfidence":{ "shape":"Percent", - "documentation":"

Specifies the minimum confidence level for the labels to return. Amazon Rekognition doesn't return any labels with confidence lower than this specified value.

If MinConfidence is not specified, the operation returns labels with a confidence values greater than or equal to 50 percent.

" + "documentation":"

Specifies the minimum confidence level for the labels to return. Amazon Rekognition doesn't return any labels with confidence lower than this specified value.

If MinConfidence is not specified, the operation returns labels with a confidence values greater than or equal to 55 percent.

" } } }, @@ -1277,7 +1277,7 @@ "members":{ "Image":{ "shape":"Image", - "documentation":"

The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

" + "documentation":"

The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.

" }, "MinConfidence":{ "shape":"Percent", @@ -1291,6 +1291,10 @@ "ModerationLabels":{ "shape":"ModerationLabels", "documentation":"

Array of detected Moderation labels and the time, in millseconds from the start of the video, they were detected.

" + }, + "ModerationModelVersion":{ + "shape":"String", + "documentation":"

Version number of the moderation detection model that was used to detect unsafe content.

" } } }, @@ -1300,7 +1304,7 @@ "members":{ "Image":{ "shape":"Image", - "documentation":"

The input image as base64-encoded bytes or an Amazon S3 object. If you use the AWS CLI to call Amazon Rekognition operations, you can't pass image bytes.

" + "documentation":"

The input image as base64-encoded bytes or an Amazon S3 object. If you use the AWS CLI to call Amazon Rekognition operations, you can't pass image bytes.

If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.

" } } }, @@ -1475,7 +1479,7 @@ "documentation":"

Confidence level that the bounding box contains a face (and not a different object such as a tree). Default attribute.

" } }, - "documentation":"

Structure containing attributes of the face that the algorithm detected.

A FaceDetail object contains either the default facial attributes or all facial attributes. The default attributes are BoundingBox, Confidence, Landmarks, Pose, and Quality.

is the only Amazon Rekognition Video stored video operation that can return a FaceDetail object with all attributes. To specify which attributes to return, use the FaceAttributes input parameter for . The following Amazon Rekognition Video operations return only the default attributes. The corresponding Start operations don't have a FaceAttributes input parameter.

  • GetCelebrityRecognition

  • GetPersonTracking

  • GetFaceSearch

The Amazon Rekognition Image and operations can return all facial attributes. To specify which attributes to return, use the Attributes input parameter for DetectFaces. For IndexFaces, use the DetectAttributes input parameter.

" + "documentation":"

Structure containing attributes of the face that the algorithm detected.

A FaceDetail object contains either the default facial attributes or all facial attributes. The default attributes are BoundingBox, Confidence, Landmarks, Pose, and Quality.

GetFaceDetection is the only Amazon Rekognition Video stored video operation that can return a FaceDetail object with all attributes. To specify which attributes to return, use the FaceAttributes input parameter for StartFaceDetection. The following Amazon Rekognition Video operations return only the default attributes. The corresponding Start operations don't have a FaceAttributes input parameter.

  • GetCelebrityRecognition

  • GetPersonTracking

  • GetFaceSearch

The Amazon Rekognition Image DetectFaces and IndexFaces operations can return all facial attributes. To specify which attributes to return, use the Attributes input parameter for DetectFaces. For IndexFaces, use the DetectAttributes input parameter.

" }, "FaceDetailList":{ "type":"list", @@ -1565,7 +1569,7 @@ "documentation":"

Minimum face match confidence score that must be met to return a result for a recognized face. Default is 70. 0 is the lowest confidence. 100 is the highest confidence.

" } }, - "documentation":"

Input face recognition parameters for an Amazon Rekognition stream processor. FaceRecognitionSettings is a request parameter for .

" + "documentation":"

Input face recognition parameters for an Amazon Rekognition stream processor. FaceRecognitionSettings is a request parameter for CreateStreamProcessor.

" }, "FaceSearchSortBy":{ "type":"string", @@ -1608,7 +1612,7 @@ "documentation":"

Within the bounding box, a fine-grained polygon around the detected text.

" } }, - "documentation":"

Information about where the text detected by is located on an image.

" + "documentation":"

Information about where the text detected by DetectText is located on an image.

" }, "GetCelebrityInfoRequest":{ "type":"structure", @@ -1616,7 +1620,7 @@ "members":{ "Id":{ "shape":"RekognitionUniqueId", - "documentation":"

The ID for the celebrity. You get the celebrity ID from a call to the operation, which recognizes celebrities in an image.

" + "documentation":"

The ID for the celebrity. You get the celebrity ID from a call to the RecognizeCelebrities operation, which recognizes celebrities in an image.

" } } }, @@ -1724,6 +1728,10 @@ "NextToken":{ "shape":"PaginationToken", "documentation":"

If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of moderation labels.

" + }, + "ModerationModelVersion":{ + "shape":"String", + "documentation":"

Version number of the moderation detection model that was used to detect unsafe content.

" } } }, @@ -1813,7 +1821,7 @@ }, "Persons":{ "shape":"PersonMatches", - "documentation":"

An array of persons, , in the video whose face(s) match the face(s) in an Amazon Rekognition collection. It also includes time information for when persons are matched in the video. You specify the input collection in an initial call to StartFaceSearch. Each Persons element includes a time the person was matched, face match details (FaceMatches) for matching faces in the collection, and person information (Person) for the matched person.

" + "documentation":"

An array of persons, PersonMatch, in the video whose face(s) match the face(s) in an Amazon Rekognition collection. It also includes time information for when persons are matched in the video. You specify the input collection in an initial call to StartFaceSearch. Each Persons element includes a time the person was matched, face match details (FaceMatches) for matching faces in the collection, and person information (Person) for the matched person.

" } } }, @@ -1861,6 +1869,10 @@ "Labels":{ "shape":"LabelDetections", "documentation":"

An array of labels detected in the video. Each element contains the detected label and the time, in milliseconds from the start of the video, that the label was detected.

" + }, + "LabelModelVersion":{ + "shape":"String", + "documentation":"

Version number of the label detection model that was used to detect labels.

" } } }, @@ -1975,7 +1987,7 @@ }, "Image":{ "shape":"Image", - "documentation":"

The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes isn't supported.

" + "documentation":"

The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes isn't supported.

If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.

" }, "ExternalImageId":{ "shape":"ExternalImageId", @@ -2004,7 +2016,7 @@ }, "OrientationCorrection":{ "shape":"OrientationCorrection", - "documentation":"

If your collection is associated with a face detection model that's later than version 3.0, the value of OrientationCorrection is always null and no orientation information is returned.

If your collection is associated with a face detection model that's version 3.0 or earlier, the following applies:

  • If the input image is in .jpeg format, it might contain exchangeable image file format (Exif) metadata that includes the image's orientation. Amazon Rekognition uses this orientation information to perform image correction - the bounding box coordinates are translated to represent object locations after the orientation information in the Exif metadata is used to correct the image orientation. Images in .png format don't contain Exif metadata. The value of OrientationCorrection is null.

  • If the image doesn't contain orientation information in its Exif metadata, Amazon Rekognition returns an estimated orientation (ROTATE_0, ROTATE_90, ROTATE_180, ROTATE_270). Amazon Rekognition doesn’t perform image correction for images. The bounding box coordinates aren't translated and represent the object locations before the image is rotated.

Bounding box information is returned in the FaceRecords array. You can get the version of the face detection model by calling .

" + "documentation":"

If your collection is associated with a face detection model that's later than version 3.0, the value of OrientationCorrection is always null and no orientation information is returned.

If your collection is associated with a face detection model that's version 3.0 or earlier, the following applies:

  • If the input image is in .jpeg format, it might contain exchangeable image file format (Exif) metadata that includes the image's orientation. Amazon Rekognition uses this orientation information to perform image correction - the bounding box coordinates are translated to represent object locations after the orientation information in the Exif metadata is used to correct the image orientation. Images in .png format don't contain Exif metadata. The value of OrientationCorrection is null.

  • If the image doesn't contain orientation information in its Exif metadata, Amazon Rekognition returns an estimated orientation (ROTATE_0, ROTATE_90, ROTATE_180, ROTATE_270). Amazon Rekognition doesn’t perform image correction for images. The bounding box coordinates aren't translated and represent the object locations before the image is rotated.

Bounding box information is returned in the FaceRecords array. You can get the version of the face detection model by calling DescribeCollection.

" }, "FaceModelVersion":{ "shape":"String", @@ -2025,10 +2037,10 @@ }, "Confidence":{ "shape":"Percent", - "documentation":"

The confidence that Amazon Rekognition Image has in the accuracy of the bounding box.

" + "documentation":"

The confidence that Amazon Rekognition has in the accuracy of the bounding box.

" } }, - "documentation":"

An instance of a label detected by .

" + "documentation":"

An instance of a label returned by Amazon Rekognition Image (DetectLabels) or by Amazon Rekognition Video (GetLabelDetection).

" }, "Instances":{ "type":"list", @@ -2123,14 +2135,14 @@ }, "Instances":{ "shape":"Instances", - "documentation":"

If Label represents an object, Instances contains the bounding boxes for each instance of the detected object. Bounding boxes are returned for common object labels such as people, cars, furniture, apparel or pets.

Amazon Rekognition Video does not support bounding box information for detected labels. The value of Instances is returned as null by GetLabelDetection.

" + "documentation":"

If Label represents an object, Instances contains the bounding boxes for each instance of the detected object. Bounding boxes are returned for common object labels such as people, cars, furniture, apparel or pets.

" }, "Parents":{ "shape":"Parents", - "documentation":"

The parent labels for a label. The response includes all ancestor labels.

Amazon Rekognition Video does not support a hierarchical taxonomy of detected labels. The value of Parents is returned as null by GetLabelDetection.

" + "documentation":"

The parent labels for a label. The response includes all ancestor labels.

" } }, - "documentation":"

Structure containing details about the detected label, including the name, and level of confidence.

The Amazon Rekognition Image operation operation returns a hierarchical taxonomy (Parents) for detected labels and also bounding box information (Instances) for detected labels. Amazon Rekognition Video doesn't return this information and returns null for the Parents and Instances attributes.

" + "documentation":"

Structure containing details about the detected label, including the name, detected instances, parent labels, and level of confidence.

" }, "LabelDetection":{ "type":"structure", @@ -2464,7 +2476,7 @@ "documentation":"

Details about a person whose path was tracked in a video.

" } }, - "documentation":"

Details and path tracking information for a single time a person's path is tracked in a video. Amazon Rekognition operations that track people's paths return an array of PersonDetection objects with elements for each time a person's path is tracked in a video.

For more information, see API_GetPersonTracking in the Amazon Rekognition Developer Guide.

" + "documentation":"

Details and path tracking information for a single time a person's path is tracked in a video. Amazon Rekognition operations that track people's paths return an array of PersonDetection objects with elements for each time a person's path is tracked in a video.

For more information, see GetPersonTracking in the Amazon Rekognition Developer Guide.

" }, "PersonDetections":{ "type":"list", @@ -2487,7 +2499,7 @@ "documentation":"

Information about the faces in the input collection that match the face of a person in the video.

" } }, - "documentation":"

Information about a person whose face matches a face(s) in an Amazon Rekognition collection. Includes information about the faces in the Amazon Rekognition collection (), information about the person (PersonDetail), and the time stamp for when the person was detected in a video. An array of PersonMatch objects is returned by .

" + "documentation":"

Information about a person whose face matches a face(s) in an Amazon Rekognition collection. Includes information about the faces in the Amazon Rekognition collection (FaceMatch), information about the person (PersonDetail), and the time stamp for when the person was detected in a video. An array of PersonMatch objects is returned by GetFaceSearch.

" }, "PersonMatches":{ "type":"list", @@ -2512,7 +2524,7 @@ "documentation":"

The value of the Y coordinate for a point on a Polygon.

" } }, - "documentation":"

The X and Y coordinates of a point on an image. The X and Y values returned are ratios of the overall image size. For example, if the input image is 700x200 and the operation returns X=0.5 and Y=0.25, then the point is at the (350,50) pixel coordinate on the image.

An array of Point objects, Polygon, is returned by . Polygon represents a fine-grained polygon around detected text. For more information, see Geometry in the Amazon Rekognition Developer Guide.

" + "documentation":"

The X and Y coordinates of a point on an image. The X and Y values returned are ratios of the overall image size. For example, if the input image is 700x200 and the operation returns X=0.5 and Y=0.25, then the point is at the (350,50) pixel coordinate on the image.

An array of Point objects, Polygon, is returned by DetectText. Polygon represents a fine-grained polygon around detected text. For more information, see Geometry in the Amazon Rekognition Developer Guide.

" }, "Polygon":{ "type":"list", @@ -2571,7 +2583,7 @@ "members":{ "Image":{ "shape":"Image", - "documentation":"

The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

" + "documentation":"

The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.

" } } }, @@ -2672,7 +2684,7 @@ }, "Image":{ "shape":"Image", - "documentation":"

The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

" + "documentation":"

The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.

" }, "MaxFaces":{ "shape":"MaxFaces", @@ -2992,7 +3004,7 @@ "members":{ "Name":{ "shape":"StreamProcessorName", - "documentation":"

The name of a stream processor created by .

" + "documentation":"

The name of a stream processor created by CreateStreamProcessor.

" } } }, @@ -3013,7 +3025,7 @@ "documentation":"

Current status of the Amazon Rekognition stream processor.

" } }, - "documentation":"

An object that recognizes faces in a streaming video. An Amazon Rekognition stream processor is created by a call to . The request parameters for CreateStreamProcessor describe the Kinesis video stream source for the streaming video, face recognition parameters, and where to stream the analysis resullts.

" + "documentation":"

An object that recognizes faces in a streaming video. An Amazon Rekognition stream processor is created by a call to CreateStreamProcessor. The request parameters for CreateStreamProcessor describe the Kinesis video stream source for the streaming video, face recognition parameters, and where to stream the analysis resullts.

" }, "StreamProcessorArn":{ "type":"string", @@ -3112,7 +3124,7 @@ "documentation":"

The location of the detected text on the image. Includes an axis aligned coarse bounding box surrounding the text and a finer grain polygon for more accurate spatial information.

" } }, - "documentation":"

Information about a word or line of text detected by .

The DetectedText field contains the text that Amazon Rekognition detected in the image.

Every word and line has an identifier (Id). Each word belongs to a line and has a parent identifier (ParentId) that identifies the line of text in which the word appears. The word Id is also an index for the word within a line of words.

For more information, see Detecting Text in the Amazon Rekognition Developer Guide.

" + "documentation":"

Information about a word or line of text detected by DetectText.

The DetectedText field contains the text that Amazon Rekognition detected in the image.

Every word and line has an identifier (Id). Each word belongs to a line and has a parent identifier (ParentId) that identifies the line of text in which the word appears. The word Id is also an index for the word within a line of words.

For more information, see Detecting Text in the Amazon Rekognition Developer Guide.

" }, "TextDetectionList":{ "type":"list", @@ -3154,7 +3166,7 @@ "documentation":"

The structure that contains attributes of a face that IndexFacesdetected, but didn't index.

" } }, - "documentation":"

A face that detected, but didn't index. Use the Reasons response attribute to determine why a face wasn't indexed.

" + "documentation":"

A face that IndexFaces detected, but didn't index. Use the Reasons response attribute to determine why a face wasn't indexed.

" }, "UnindexedFaces":{ "type":"list", @@ -3173,7 +3185,7 @@ "documentation":"

The Amazon S3 bucket name and file name for the video.

" } }, - "documentation":"

Video file stored in an Amazon S3 bucket. Amazon Rekognition video start operations such as use Video to specify a video for analysis. The supported file formats are .mp4, .mov and .avi.

" + "documentation":"

Video file stored in an Amazon S3 bucket. Amazon Rekognition video start operations such as StartLabelDetection use Video to specify a video for analysis. The supported file formats are .mp4, .mov and .avi.

" }, "VideoJobStatus":{ "type":"string", diff --git a/bin/botocore/data/resource-groups/2017-11-27/service-2.json b/bin/botocore/data/resource-groups/2017-11-27/service-2.json index 9bcc9540..cded5101 100644 --- a/bin/botocore/data/resource-groups/2017-11-27/service-2.json +++ b/bin/botocore/data/resource-groups/2017-11-27/service-2.json @@ -99,7 +99,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"InternalServerErrorException"} ], - "documentation":"

Returns a list of tags that are associated with a resource, specified by an ARN.

" + "documentation":"

Returns a list of tags that are associated with a resource group, specified by an ARN.

" }, "ListGroupResources":{ "name":"ListGroupResources", @@ -171,7 +171,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"InternalServerErrorException"} ], - "documentation":"

Adds specified tags to a resource with the specified ARN. Existing tags on a resource are not changed if they are not specified in the request parameters.

" + "documentation":"

Adds tags to a resource group with the specified ARN. Existing tags on a resource group are not changed if they are not specified in the request parameters.

" }, "Untag":{ "name":"Untag", @@ -363,7 +363,7 @@ "members":{ "Arn":{ "shape":"GroupArn", - "documentation":"

The ARN of the resource for which you want a list of tags. The resource must exist within the account you are using.

", + "documentation":"

The ARN of the resource group for which you want a list of tags. The resource must exist within the account you are using.

", "location":"uri", "locationName":"Arn" } @@ -374,11 +374,11 @@ "members":{ "Arn":{ "shape":"GroupArn", - "documentation":"

The ARN of the tagged resource.

" + "documentation":"

The ARN of the tagged resource group.

" }, "Tags":{ "shape":"Tags", - "documentation":"

The tags associated with the specified resource.

" + "documentation":"

The tags associated with the specified resource group.

" } } }, @@ -406,7 +406,9 @@ }, "GroupArn":{ "type":"string", - "pattern":"arn:aws:resource-groups:[a-z]{2}-[a-z]+-\\d{1}:[0-9]{12}:group/[a-zA-Z0-9_\\.-]{1,128}" + "max":1600, + "min":12, + "pattern":"arn:aws(-[a-z]+)*:resource-groups:[a-z]{2}-[a-z]+-\\d{1}:[0-9]{12}:group/[a-zA-Z0-9_\\.-]{1,128}" }, "GroupDescription":{ "type":"string", @@ -442,7 +444,8 @@ "GroupFilterValue":{ "type":"string", "max":128, - "min":1 + "min":1, + "pattern":"AWS::(AllSupported|[a-zA-Z0-9]+::[a-zA-Z0-9]+)" }, "GroupFilterValues":{ "type":"list", @@ -604,7 +607,12 @@ "error":{"httpStatusCode":405}, "exception":true }, - "NextToken":{"type":"string"}, + "NextToken":{ + "type":"string", + "max":8192, + "min":0, + "pattern":"^[a-zA-Z0-9+/]*={0,2}$" + }, "NotFoundException":{ "type":"structure", "members":{ @@ -616,7 +624,8 @@ }, "Query":{ "type":"string", - "max":2048 + "max":4096, + "pattern":"[\\s\\S]*" }, "QueryError":{ "type":"structure", @@ -649,11 +658,14 @@ "enum":[ "TAG_FILTERS_1_0", "CLOUDFORMATION_STACK_1_0" - ] + ], + "max":128, + "min":1, + "pattern":"^\\w+$" }, "ResourceArn":{ "type":"string", - "pattern":"arn:aws:[a-z0-9\\-]*:([a-z]{2}-[a-z]+-\\d{1})?:([0-9]{12})?:.+" + "pattern":"arn:aws(-[a-z]+)*:[a-z0-9\\-]*:([a-z]{2}-[a-z]+-\\d{1})?:([0-9]{12})?:.+" }, "ResourceFilter":{ "type":"structure", @@ -720,7 +732,7 @@ "members":{ "Type":{ "shape":"QueryType", - "documentation":"

The type of the query. The valid values in this release are TAG_FILTERS_1_0 and CLOUDFORMATION_STACK_1_0.

TAG_FILTERS_1_0: A JSON syntax that lets you specify a collection of simple tag filters for resource types and tags, as supported by the AWS Tagging API GetResources operation. If you specify more than one tag key, only resources that match all tag keys, and at least one value of each specified tag key, are returned in your query. If you specify more than one value for a tag key, a resource matches the filter if it has a tag key value that matches any of the specified values.

For example, consider the following sample query for resources that have two tags, Stage and Version, with two values each. ([{\"Key\":\"Stage\",\"Values\":[\"Test\",\"Deploy\"]},{\"Key\":\"Version\",\"Values\":[\"1\",\"2\"]}]) The results of this query might include the following.

  • An EC2 instance that has the following two tags: {\"Key\":\"Stage\",\"Values\":[\"Deploy\"]}, and {\"Key\":\"Version\",\"Values\":[\"2\"]}

  • An S3 bucket that has the following two tags: {\"Key\":\"Stage\",\"Values\":[\"Test\",\"Deploy\"]}, and {\"Key\":\"Version\",\"Values\":[\"1\"]}

The query would not return the following results, however. The following EC2 instance does not have all tag keys specified in the filter, so it is rejected. The RDS database has all of the tag keys, but no values that match at least one of the specified tag key values in the filter.

  • An EC2 instance that has only the following tag: {\"Key\":\"Stage\",\"Values\":[\"Deploy\"]}.

  • An RDS database that has the following two tags: {\"Key\":\"Stage\",\"Values\":[\"Archived\"]}, and {\"Key\":\"Version\",\"Values\":[\"4\"]}

CLOUDFORMATION_STACK_1_0: A JSON syntax that lets you specify a CloudFormation stack ARN.

" + "documentation":"

The type of the query. The valid values in this release are TAG_FILTERS_1_0 and CLOUDFORMATION_STACK_1_0.

TAG_FILTERS_1_0: A JSON syntax that lets you specify a collection of simple tag filters for resource types and tags, as supported by the AWS Tagging API GetResources operation. If you specify more than one tag key, only resources that match all tag keys, and at least one value of each specified tag key, are returned in your query. If you specify more than one value for a tag key, a resource matches the filter if it has a tag key value that matches any of the specified values.

For example, consider the following sample query for resources that have two tags, Stage and Version, with two values each. ([{\"Key\":\"Stage\",\"Values\":[\"Test\",\"Deploy\"]},{\"Key\":\"Version\",\"Values\":[\"1\",\"2\"]}]) The results of this query might include the following.

  • An EC2 instance that has the following two tags: {\"Key\":\"Stage\",\"Value\":\"Deploy\"}, and {\"Key\":\"Version\",\"Value\":\"2\"}

  • An S3 bucket that has the following two tags: {\"Key\":\"Stage\",\"Value\":\"Test\"}, and {\"Key\":\"Version\",\"Value\":\"1\"}

The query would not return the following results, however. The following EC2 instance does not have all tag keys specified in the filter, so it is rejected. The RDS database has all of the tag keys, but no values that match at least one of the specified tag key values in the filter.

  • An EC2 instance that has only the following tag: {\"Key\":\"Stage\",\"Value\":\"Deploy\"}.

  • An RDS database that has the following two tags: {\"Key\":\"Stage\",\"Value\":\"Archived\"}, and {\"Key\":\"Version\",\"Value\":\"4\"}

CLOUDFORMATION_STACK_1_0: A JSON syntax that lets you specify a CloudFormation stack ARN.

" }, "Query":{ "shape":"Query", diff --git a/bin/botocore/data/resourcegroupstaggingapi/2017-01-26/paginators-1.json b/bin/botocore/data/resourcegroupstaggingapi/2017-01-26/paginators-1.json index 7c8ba892..7312afc5 100644 --- a/bin/botocore/data/resourcegroupstaggingapi/2017-01-26/paginators-1.json +++ b/bin/botocore/data/resourcegroupstaggingapi/2017-01-26/paginators-1.json @@ -15,6 +15,12 @@ "input_token": "PaginationToken", "output_token": "PaginationToken", "result_key": "TagValues" + }, + "GetComplianceSummary": { + "input_token": "PaginationToken", + "limit_key": "MaxResults", + "output_token": "PaginationToken", + "result_key": "SummaryList" } } } diff --git a/bin/botocore/data/resourcegroupstaggingapi/2017-01-26/service-2.json b/bin/botocore/data/resourcegroupstaggingapi/2017-01-26/service-2.json index 7c0b518a..200bc711 100644 --- a/bin/botocore/data/resourcegroupstaggingapi/2017-01-26/service-2.json +++ b/bin/botocore/data/resourcegroupstaggingapi/2017-01-26/service-2.json @@ -12,6 +12,106 @@ "uid":"resourcegroupstaggingapi-2017-01-26" }, "operations":{ + "DeleteTagPolicy":{ + "name":"DeleteTagPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTagPolicyInput"}, + "output":{"shape":"DeleteTagPolicyOutput"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottledException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Deletes the policy that is attached to the specified organization root or account.

You can call this operation from the organization's master account only and from the us-east-1 Region only.

" + }, + "DescribeReportCreation":{ + "name":"DescribeReportCreation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeReportCreationInput"}, + "output":{"shape":"DescribeReportCreationOutput"}, + "errors":[ + {"shape":"ConstraintViolationException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottledException"} + ], + "documentation":"

Describes the status of the StartReportCreation operation.

You can call this operation from the organization's master account only and from the us-east-1 Region only.

" + }, + "DisableTagPolicies":{ + "name":"DisableTagPolicies", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisableTagPoliciesInput"}, + "output":{"shape":"DisableTagPoliciesOutput"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottledException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Disables tag policies for your organization and deletes all tag policies.

You can call this operation from the organization's master account only and from the us-east-1 Region only.

Use caution when disabling tag policies, as this is a destructive operation that applies to your entire organization. You cannot undo this operation.

" + }, + "EnableTagPolicies":{ + "name":"EnableTagPolicies", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"EnableTagPoliciesInput"}, + "output":{"shape":"EnableTagPoliciesOutput"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottledException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Enables tag policies for your organization. To use tag policies, you must be using AWS Organizations with all features enabled.

You can call this operation from the organization's master account only and from the us-east-1 Region only.

This operation does the following:

  • Enables tag policies for the specified organization.

  • Calls the EnableAWSServiceAccess API on your behalf to allow service access with the tagpolicies.tag.amazonaws.com service principal.

  • Creates a service-linked role named AWSServiceRoleForTagPolicies.

For more information on tag policies, see Tag Policies in the AWS Resource Groups User Guide.

" + }, + "GetComplianceSummary":{ + "name":"GetComplianceSummary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetComplianceSummaryInput"}, + "output":{"shape":"GetComplianceSummaryOutput"}, + "errors":[ + {"shape":"ConstraintViolationException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottledException"} + ], + "documentation":"

Returns a table that shows counts of resources that are noncompliant with their tag policies.

For more information on tag policies, see Tag Policies in the AWS Resource Groups User Guide.

You can call this operation from the organization's master account only and from the us-east-1 Region only.

" + }, + "GetEffectiveTagPolicy":{ + "name":"GetEffectiveTagPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetEffectiveTagPolicyInput"}, + "output":{"shape":"GetEffectiveTagPolicyOutput"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottledException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Returns the contents of the effective tag policy for the AWS account. Depending on how you use tag policies, the effective tag policy for an account is one of the following:

  • The tag policy attached to the organization that the account belongs to.

  • The tag policy attached to the account.

  • The combination of both policies if tag policies are attached to the organization root and account.

" + }, "GetResources":{ "name":"GetResources", "http":{ @@ -26,7 +126,7 @@ {"shape":"InternalServiceException"}, {"shape":"PaginationTokenExpiredException"} ], - "documentation":"

Returns all the tagged resources that are associated with the specified tags (keys and values) located in the specified region for the AWS account. The tags and the resource types that you specify in the request are known as filters. The response includes all tags that are associated with the requested resources. If no filter is provided, this action returns a paginated resource list with the associated tags.

" + "documentation":"

Returns all the tagged or previously tagged resources that are located in the specified Region for the AWS account.

Depending on what information you want returned, you can also specify the following:

  • Filters that specify what tags and resource types you want returned. The response includes all tags that are associated with the requested resources.

  • Information about compliance with tag policies. If supplied, the compliance check follows the specified tag policy instead of following the effective tag policy. For more information on tag policies, see Tag Policies in the AWS Resource Groups User Guide.

You can check the PaginationToken response parameter to determine if a query completed. Queries can occasionally return fewer results on a page than allowed. The PaginationToken response parameter value is null only when there are no more results to display.

" }, "GetTagKeys":{ "name":"GetTagKeys", @@ -42,7 +142,23 @@ {"shape":"InternalServiceException"}, {"shape":"PaginationTokenExpiredException"} ], - "documentation":"

Returns all tag keys in the specified region for the AWS account.

" + "documentation":"

Returns all tag keys in the specified Region for the AWS account.

You can check the PaginationToken response parameter to determine if a query completed. Queries can occasionally return fewer results on a page than allowed. The PaginationToken response parameter value is null only when there are no more results to display.

" + }, + "GetTagPolicy":{ + "name":"GetTagPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTagPolicyInput"}, + "output":{"shape":"GetTagPolicyOutput"}, + "errors":[ + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottledException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Returns the policy that is attached to the specified target.

You can call this operation from the organization's master account only and from the us-east-1 Region only.

" }, "GetTagValues":{ "name":"GetTagValues", @@ -58,7 +174,41 @@ {"shape":"InternalServiceException"}, {"shape":"PaginationTokenExpiredException"} ], - "documentation":"

Returns all tag values for the specified key in the specified region for the AWS account.

" + "documentation":"

Returns all tag values for the specified key in the specified Region for the AWS account.

You can check the PaginationToken response parameter to determine if a query completed. Queries can occasionally return fewer results on a page than allowed. The PaginationToken response parameter value is null only when there are no more results to display.

" + }, + "PutTagPolicy":{ + "name":"PutTagPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutTagPolicyInput"}, + "output":{"shape":"PutTagPolicyOutput"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottledException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Validates the tag policy and then attaches it to the account or organization root. This policy determines whether a resource is compliant.

Validating the tag policy includes checking that the tag policy document includes the required components, uses JSON syntax, and has fewer than 5,000 characters (including spaces). For more information, see Tag Policy Structure in the AWS Resource Groups User Guide.

If you later call this operation to attach a tag policy to the same organization root or account, it overwrites the original call without prompting you to confirm.

You can call this operation from the organization's master account only, and from the us-east-1 Region only.

" + }, + "StartReportCreation":{ + "name":"StartReportCreation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartReportCreationInput"}, + "output":{"shape":"StartReportCreationOutput"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottledException"} + ], + "documentation":"

Generates a report that lists all tagged resources in accounts across your organization, and whether each resource is compliant with the effective tag policy.

You can call this operation from the organization's master account only and from the us-east-1 Region only.

" }, "TagResources":{ "name":"TagResources", @@ -73,7 +223,7 @@ {"shape":"ThrottledException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Applies one or more tags to the specified resources. Note the following:

  • Not all resources can have tags. For a list of resources that support tagging, see Supported Resources in the AWS Resource Groups and Tag Editor User Guide.

  • Each resource can have up to 50 tags. For other limits, see Tag Restrictions in the Amazon EC2 User Guide for Linux Instances.

  • You can only tag resources that are located in the specified region for the AWS account.

  • To add tags to a resource, you need the necessary permissions for the service that the resource belongs to as well as permissions for adding tags. For more information, see Obtaining Permissions for Tagging in the AWS Resource Groups and Tag Editor User Guide.

" + "documentation":"

Applies one or more tags to the specified resources. Note the following:

  • Not all resources can have tags. For a list of resources that support tagging, see this list.

  • Each resource can have up to 50 tags.

  • You can only tag resources that are located in the specified Region for the AWS account.

  • To add tags to a resource, you need the necessary permissions for the service that the resource belongs to as well as permissions for adding tags. For more information, see Set Up Permissions in the AWS Resource Groups User Guide.

" }, "UntagResources":{ "name":"UntagResources", @@ -88,7 +238,7 @@ {"shape":"ThrottledException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Removes the specified tags from the specified resources. When you specify a tag key, the action removes both that key and its associated value. The operation succeeds even if you attempt to remove tags from a resource that were already removed. Note the following:

  • To remove tags from a resource, you need the necessary permissions for the service that the resource belongs to as well as permissions for removing tags. For more information, see Obtaining Permissions for Tagging in the AWS Resource Groups and Tag Editor User Guide.

  • You can only tag resources that are located in the specified region for the AWS account.

" + "documentation":"

Removes the specified tags from the specified resources. When you specify a tag key, the action removes both that key and its associated value. The operation succeeds even if you attempt to remove tags from a resource that were already removed. Note the following:

  • To remove tags from a resource, you need the necessary permissions for the service that the resource belongs to as well as permissions for removing tags. For more information, see Set Up Permissions in the AWS Resource Groups User Guide.

  • You can only tag resources that are located in the specified Region for the AWS account.

" } }, "shapes":{ @@ -97,6 +247,107 @@ "max":256, "min":0 }, + "ComplianceDetails":{ + "type":"structure", + "members":{ + "MissingKeys":{ + "shape":"TagKeyList", + "documentation":"

A tag key that is required by the effective tag policy is missing.

" + }, + "InvalidKeys":{ + "shape":"TagKeyList", + "documentation":"

The tag key is noncompliant with the effective tag policy.

" + }, + "InvalidValues":{ + "shape":"TagKeyList", + "documentation":"

The tag value is noncompliant with the effective tag policy.

" + }, + "ComplianceStatus":{ + "shape":"ComplianceStatus", + "documentation":"

Whether a resource is compliant with the effective tag policy.

" + } + }, + "documentation":"

Details on whether a resource is compliant with the effective tag policy, including information any noncompliant tag keys.

" + }, + "ComplianceStatus":{"type":"boolean"}, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The target of the operation is currently being modified by a different request. Try again later.

", + "exception":true + }, + "ConstraintViolationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The request was denied as performing this operation violates a constraint.

Some of the reasons in the following list might not apply to this specific API or operation:

  • Your account must be part of an organization, and you must enable all features in AWS Organizations. Set Up Permissions in the AWS Resource Groups User Guide.

  • The previous report expired.

", + "exception":true + }, + "DeleteTagPolicyInput":{ + "type":"structure", + "required":["TargetId"], + "members":{ + "TargetId":{ + "shape":"TargetId", + "documentation":"

The account ID or the root identifier of the organization. If you don't know the root ID, you can call the AWS Organizations ListRoots API to find it.

" + } + } + }, + "DeleteTagPolicyOutput":{ + "type":"structure", + "members":{ + } + }, + "DescribeReportCreationInput":{ + "type":"structure", + "members":{ + } + }, + "DescribeReportCreationOutput":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"Status", + "documentation":"

Reports the status of the operation.

The operation status can be one of the following:

  • RUNNING: Report generation is in progress.

  • SUCCEEDED: Report generation is complete. You can open the report from the Amazon S3 bucket you specified when you ran StartReportGeneration.

  • FAILED: Report generation timed out or the Amazon S3 bucket is not accessible.

" + }, + "S3Location":{ + "shape":"S3Location", + "documentation":"

The path to the Amazon S3 bucket where the report is stored.

" + }, + "ErrorMessage":{ + "shape":"ErrorMessage", + "documentation":"

Details of the common errors that all operations return.

" + } + } + }, + "DisableTagPoliciesInput":{ + "type":"structure", + "members":{ + } + }, + "DisableTagPoliciesOutput":{ + "type":"structure", + "members":{ + } + }, + "EnableTagPoliciesInput":{ + "type":"structure", + "required":["RootId"], + "members":{ + "RootId":{ + "shape":"RootId", + "documentation":"

The root identifier of the organization. If you don't know the root ID, you can call the AWS Organizations ListRoots API to find it.

" + } + } + }, + "EnableTagPoliciesOutput":{ + "type":"structure", + "members":{ + } + }, "ErrorCode":{ "type":"string", "enum":[ @@ -110,6 +361,7 @@ "max":2048, "min":0 }, + "ExcludeCompliantResources":{"type":"boolean"}, "FailedResourcesMap":{ "type":"map", "key":{"shape":"ResourceARN"}, @@ -133,6 +385,74 @@ }, "documentation":"

Details of the common errors that all actions return.

" }, + "GetComplianceSummaryInput":{ + "type":"structure", + "members":{ + "TargetIdFilters":{ + "shape":"TargetIdFilterList", + "documentation":"

The target identifiers (usually, specific account IDs) to limit the output by. If you use this parameter, the count of returned noncompliant resources includes only resources in the specified target IDs.

" + }, + "RegionFilters":{ + "shape":"RegionFilterList", + "documentation":"

A list of Regions to limit the output by. If you use this parameter, the count of returned noncompliant resources includes only resources in the specified Regions.

" + }, + "ResourceTypeFilters":{ + "shape":"ResourceTypeFilterList", + "documentation":"

The constraints on the resources that you want returned. The format of each resource type is service[:resourceType]. For example, specifying a resource type of ec2 returns all Amazon EC2 resources (which includes EC2 instances). Specifying a resource type of ec2:instance returns only EC2 instances.

The string for each service name and resource type is the same as that embedded in a resource's Amazon Resource Name (ARN). Consult the AWS General Reference for the following:

You can specify multiple resource types by using an array. The array can include up to 100 items. Note that the length constraint requirement applies to each resource type filter.

" + }, + "TagKeyFilters":{ + "shape":"TagKeyFilterList", + "documentation":"

A list of tag keys to limit the output by. If you use this parameter, the count of returned noncompliant resources includes only resources that have the specified tag keys.

" + }, + "GroupBy":{ + "shape":"GroupBy", + "documentation":"

A list of attributes to group the counts of noncompliant resources by. If supplied, the counts are sorted by those attributes.

" + }, + "MaxResults":{ + "shape":"MaxResultsGetComplianceSummary", + "documentation":"

A limit that restricts the number of results that are returned per page.

" + }, + "PaginationToken":{ + "shape":"PaginationToken", + "documentation":"

A string that indicates that additional data is available. Leave this value empty for your initial request. If the response includes a PaginationToken, use that string for this value to request an additional page of data.

" + } + } + }, + "GetComplianceSummaryOutput":{ + "type":"structure", + "members":{ + "SummaryList":{ + "shape":"SummaryList", + "documentation":"

A table that shows counts of noncompliant resources.

" + }, + "PaginationToken":{ + "shape":"PaginationToken", + "documentation":"

A string that indicates that the response contains more data than can be returned in a single response. To receive additional data, specify this string for the PaginationToken value in a subsequent request.

" + } + } + }, + "GetEffectiveTagPolicyInput":{ + "type":"structure", + "members":{ + "TargetId":{ + "shape":"TargetId", + "documentation":"

The unique identifier of the organization root or account whose tag policy you want returned.

" + } + } + }, + "GetEffectiveTagPolicyOutput":{ + "type":"structure", + "members":{ + "Policy":{ + "shape":"Policy", + "documentation":"

The contents of the tag policy that is effective for this account.

" + }, + "LastUpdated":{ + "shape":"LastUpdated", + "documentation":"

The last time this tag policy was updated.

" + } + } + }, "GetResourcesInput":{ "type":"structure", "members":{ @@ -142,19 +462,31 @@ }, "TagFilters":{ "shape":"TagFilterList", - "documentation":"

A list of tags (keys and values). A request can include up to 50 keys, and each key can include up to 20 values.

If you specify multiple filters connected by an AND operator in a single request, the response returns only those resources that are associated with every specified filter.

If you specify multiple filters connected by an OR operator in a single request, the response returns all resources that are associated with at least one or possibly more of the specified filters.

" + "documentation":"

A list of TagFilters (keys and values). Each TagFilter specified must contain a key with values as optional. A request can include up to 50 keys, and each key can include up to 20 values.

Note the following when deciding how to use TagFilters:

  • If you do specify a TagFilter, the response returns only those resources that are currently associated with the specified tag.

  • If you don't specify a TagFilter, the response includes all resources that were ever associated with tags. Resources that currently don't have associated tags are shown with an empty tag set, like this: \"Tags\": [].

  • If you specify more than one filter in a single request, the response returns only those resources that satisfy all specified filters.

  • If you specify a filter that contains more than one value for a key, the response returns resources that match any of the specified values for that key.

  • If you don't specify any values for a key, the response returns resources that are tagged with that key irrespective of the value.

    For example, for filters: filter1 = {key1, {value1}}, filter2 = {key2, {value2,value3,value4}} , filter3 = {key3}:

    • GetResources( {filter1} ) returns resources tagged with key1=value1

    • GetResources( {filter2} ) returns resources tagged with key2=value2 or key2=value3 or key2=value4

    • GetResources( {filter3} ) returns resources tagged with any tag containing key3 as its tag key, irrespective of its value

    • GetResources( {filter1,filter2,filter3} ) returns resources tagged with ( key1=value1) and ( key2=value2 or key2=value3 or key2=value4) and (key3, irrespective of the value)

" }, "ResourcesPerPage":{ "shape":"ResourcesPerPage", - "documentation":"

A limit that restricts the number of resources returned by GetResources in paginated output. You can set ResourcesPerPage to a minimum of 1 item and the maximum of 50 items.

" + "documentation":"

A limit that restricts the number of resources returned by GetResources in paginated output. You can set ResourcesPerPage to a minimum of 1 item and the maximum of 100 items.

" }, "TagsPerPage":{ "shape":"TagsPerPage", - "documentation":"

A limit that restricts the number of tags (key and value pairs) returned by GetResources in paginated output. A resource with no tags is counted as having one tag (one key and value pair).

GetResources does not split a resource and its associated tags across pages. If the specified TagsPerPage would cause such a break, a PaginationToken is returned in place of the affected resource and its tags. Use that token in another request to get the remaining data. For example, if you specify a TagsPerPage of 100 and the account has 22 resources with 10 tags each (meaning that each resource has 10 key and value pairs), the output will consist of 3 pages, with the first page displaying the first 10 resources, each with its 10 tags, the second page displaying the next 10 resources each with its 10 tags, and the third page displaying the remaining 2 resources, each with its 10 tags.

You can set TagsPerPage to a minimum of 100 items and the maximum of 500 items.

" + "documentation":"

A limit that restricts the number of tags (key and value pairs) returned by GetResources in paginated output. A resource with no tags is counted as having one tag (one key and value pair).

GetResources does not split a resource and its associated tags across pages. If the specified TagsPerPage would cause such a break, a PaginationToken is returned in place of the affected resource and its tags. Use that token in another request to get the remaining data. For example, if you specify a TagsPerPage of 100 and the account has 22 resources with 10 tags each (meaning that each resource has 10 key and value pairs), the output will consist of 3 pages, with the first page displaying the first 10 resources, each with its 10 tags, the second page displaying the next 10 resources each with its 10 tags, and the third page displaying the remaining 2 resources, each with its 10 tags.

You can set TagsPerPage to a minimum of 100 items and the maximum of 500 items.

" }, "ResourceTypeFilters":{ "shape":"ResourceTypeFilterList", - "documentation":"

The constraints on the resources that you want returned. The format of each resource type is service[:resourceType]. For example, specifying a resource type of ec2 returns all tagged Amazon EC2 resources (which includes tagged EC2 instances). Specifying a resource type of ec2:instance returns only EC2 instances.

The string for each service name and resource type is the same as that embedded in a resource's Amazon Resource Name (ARN). Consult the AWS General Reference for the following:

" + "documentation":"

The constraints on the resources that you want returned. The format of each resource type is service[:resourceType]. For example, specifying a resource type of ec2 returns all Amazon EC2 resources (which includes EC2 instances). Specifying a resource type of ec2:instance returns only EC2 instances.

The string for each service name and resource type is the same as that embedded in a resource's Amazon Resource Name (ARN). Consult the AWS General Reference for the following:

You can specify multiple resource types by using an array. The array can include up to 100 items. Note that the length constraint requirement applies to each resource type filter.

" + }, + "IncludeComplianceDetails":{ + "shape":"IncludeComplianceDetails", + "documentation":"

Specifies whether to include details regarding the compliance with the effective tag policy. Set this to true to determine whether resources are compliant with the tag policy and to get details.

" + }, + "ExcludeCompliantResources":{ + "shape":"ExcludeCompliantResources", + "documentation":"

Specifies whether to exclude resources that are compliant with the tag policy. Set this to true if you are interested in retrieving information on noncompliant resources only.

You can use this parameter only if the IncludeComplianceDetails parameter is also set to true.

" + }, + "Policy":{ + "shape":"Policy", + "documentation":"

The tag policy to check resources against for compliance. If supplied, the compliance check follows the specified tag policy instead of following the effective tag policy. Using this parameter to specify a tag policy is useful for testing new tag policies before attaching them to a target.

You can only use this parameter if the IncludeComplianceDetails parameter is also set to true.

" } } }, @@ -176,7 +508,11 @@ "members":{ "PaginationToken":{ "shape":"PaginationToken", - "documentation":"

A string that indicates that additional data is available. Leave this value empty for your initial request. If the response includes a PaginationToken, use that string for this value to request an additional page of data.

" + "documentation":"

A string that indicates that additional data is available. Leave this value empty for your initial request. If the response includes a PaginationToken, use that string for this value to request an additional page of data.

" + }, + "MaxResults":{ + "shape":"MaxResultTagsDS1", + "documentation":"

A limit that restricts the number of results that are returned per page.

" } } }, @@ -193,17 +529,44 @@ } } }, + "GetTagPolicyInput":{ + "type":"structure", + "required":["TargetId"], + "members":{ + "TargetId":{ + "shape":"TargetId", + "documentation":"

The account ID or the root identifier of the organization. If you don't know the root ID, you can call the AWS Organizations ListRoots API to find it.

" + } + } + }, + "GetTagPolicyOutput":{ + "type":"structure", + "members":{ + "Policy":{ + "shape":"Policy", + "documentation":"

The policy that is attached to the specified target.

" + }, + "LastUpdated":{ + "shape":"LastUpdated", + "documentation":"

The last time this policy was updated.

" + } + } + }, "GetTagValuesInput":{ "type":"structure", "required":["Key"], "members":{ "PaginationToken":{ "shape":"PaginationToken", - "documentation":"

A string that indicates that additional data is available. Leave this value empty for your initial request. If the response includes a PaginationToken, use that string for this value to request an additional page of data.

" + "documentation":"

A string that indicates that additional data is available. Leave this value empty for your initial request. If the response includes a PaginationToken, use that string for this value to request an additional page of data.

" }, "Key":{ "shape":"TagKey", - "documentation":"

The key for which you want to list all existing values in the specified region for the AWS account.

" + "documentation":"

The key for which you want to list all existing values in the specified Region for the AWS account.

" + }, + "MaxResults":{ + "shape":"MaxResultTagsDS1", + "documentation":"

A limit that restricts the number of results that are returned per page.

" } } }, @@ -220,6 +583,19 @@ } } }, + "GroupBy":{ + "type":"list", + "member":{"shape":"GroupByAttribute"} + }, + "GroupByAttribute":{ + "type":"string", + "enum":[ + "TARGET_ID", + "REGION", + "RESOURCE_TYPE" + ] + }, + "IncludeComplianceDetails":{"type":"boolean"}, "InternalServiceException":{ "type":"structure", "members":{ @@ -234,9 +610,24 @@ "members":{ "Message":{"shape":"ExceptionMessage"} }, - "documentation":"

A parameter is missing or a malformed string or invalid or out-of-range value was supplied for the request parameter.

", + "documentation":"

This error indicates one of the following:

  • A parameter is missing.

  • A malformed string was supplied for the request parameter.

  • An out-of-range value was supplied for the request parameter.

  • The target ID is invalid, unsupported, or doesn't exist.

  • There is an issue with the tag policy: It exceeds the maximum size limit, is invalid, or doesn't use JSON syntax.

  • You can't access the Amazon S3 bucket for report storage. For more information, see Additional Requirements for Running Organization-Wide Tag Compliance Report in the AWS Resource Groups User Guide.

", "exception":true }, + "LastUpdated":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "MaxResultTagsDS1":{ + "type":"integer", + "max":50, + "min":1 + }, + "MaxResultsGetComplianceSummary":{ + "type":"integer", + "max":1000, + "min":1 + }, + "NonCompliantResources":{"type":"long"}, "PaginationToken":{ "type":"string", "max":2048, @@ -250,9 +641,43 @@ "documentation":"

A PaginationToken is valid for a maximum of 15 minutes. Your request was denied because the specified PaginationToken has expired.

", "exception":true }, + "Policy":{ + "type":"string", + "max":5000, + "min":34 + }, + "PutTagPolicyInput":{ + "type":"structure", + "required":[ + "TargetId", + "Policy" + ], + "members":{ + "TargetId":{ + "shape":"TargetId", + "documentation":"

The account ID or the root identifier of the organization. If you don't know the root ID, you can call the AWS Organizations ListRoots API to find it.

" + }, + "Policy":{ + "shape":"Policy", + "documentation":"

The tag policy to attach to the target.

" + } + } + }, + "PutTagPolicyOutput":{ + "type":"structure", + "members":{ + } + }, + "Region":{"type":"string"}, + "RegionFilterList":{ + "type":"list", + "member":{"shape":"Region"}, + "max":100, + "min":1 + }, "ResourceARN":{ "type":"string", - "max":1600, + "max":1011, "min":1 }, "ResourceARNList":{ @@ -266,11 +691,15 @@ "members":{ "ResourceARN":{ "shape":"ResourceARN", - "documentation":"

An array of resource ARN(s).

" + "documentation":"

The ARN of the resource.

" }, "Tags":{ "shape":"TagList", "documentation":"

The tags that have been applied to one or more AWS resources.

" + }, + "ComplianceDetails":{ + "shape":"ComplianceDetails", + "documentation":"

Details on whether a resource is compliant with the effective tag policy, including information about any noncompliant tag keys.

" } }, "documentation":"

A list of resource ARNs and the tags (keys and values) that are associated with each.

" @@ -284,7 +713,61 @@ "member":{"shape":"AmazonResourceType"} }, "ResourcesPerPage":{"type":"integer"}, + "RootId":{ + "type":"string", + "max":34, + "min":6, + "pattern":"r-.*" + }, + "S3Bucket":{"type":"string"}, + "S3Location":{"type":"string"}, + "StartReportCreationInput":{ + "type":"structure", + "required":["S3Bucket"], + "members":{ + "S3Bucket":{ + "shape":"S3Bucket", + "documentation":"

The name of the Amazon S3 bucket where the report will be stored.

For more information on S3 bucket requirements, including an example bucket policy, see Additional Requirements for Running Organization-Wide Tag Compliance Report in the AWS Resource Groups User Guide.

" + } + } + }, + "StartReportCreationOutput":{ + "type":"structure", + "members":{ + } + }, + "Status":{"type":"string"}, "StatusCode":{"type":"integer"}, + "Summary":{ + "type":"structure", + "members":{ + "LastUpdated":{ + "shape":"LastUpdated", + "documentation":"

The timestamp that shows when this summary was generated in this Region.

" + }, + "TargetId":{ + "shape":"TargetId", + "documentation":"

The account identifier or the root identifier of the organization. If you don't know the root ID, you can call the AWS Organizations ListRoots API.

" + }, + "Region":{ + "shape":"Region", + "documentation":"

The AWS Region that the summary applies to.

" + }, + "ResourceType":{ + "shape":"AmazonResourceType", + "documentation":"

The resource type.

" + }, + "NonCompliantResources":{ + "shape":"NonCompliantResources", + "documentation":"

The count of noncompliant resources.

" + } + }, + "documentation":"

A count of noncompliant resources.

" + }, + "SummaryList":{ + "type":"list", + "member":{"shape":"Summary"} + }, "Tag":{ "type":"structure", "required":[ @@ -328,6 +811,12 @@ "max":128, "min":1 }, + "TagKeyFilterList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, "TagKeyList":{ "type":"list", "member":{"shape":"TagKey"} @@ -358,7 +847,7 @@ "members":{ "ResourceARNList":{ "shape":"ResourceARNList", - "documentation":"

A list of ARNs. An ARN (Amazon Resource Name) uniquely identifies a resource. You can specify a minimum of 1 and a maximum of 20 ARNs (resources) to tag. An ARN can be set to a maximum of 1600 characters. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

A list of ARNs. An ARN (Amazon Resource Name) uniquely identifies a resource. You can specify a minimum of 1 and a maximum of 20 ARNs (resources) to tag. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "Tags":{ "shape":"TagMap", @@ -391,6 +880,17 @@ "member":{"shape":"TagValue"} }, "TagsPerPage":{"type":"integer"}, + "TargetId":{ + "type":"string", + "max":68, + "min":6 + }, + "TargetIdFilterList":{ + "type":"list", + "member":{"shape":"TargetId"}, + "max":100, + "min":1 + }, "ThrottledException":{ "type":"structure", "members":{ @@ -408,7 +908,7 @@ "members":{ "ResourceARNList":{ "shape":"ResourceARNList", - "documentation":"

A list of ARNs. An ARN (Amazon Resource Name) uniquely identifies a resource. You can specify a minimum of 1 and a maximum of 20 ARNs (resources) to untag. An ARN can be set to a maximum of 1600 characters. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

A list of ARNs. An ARN (Amazon Resource Name) uniquely identifies a resource. You can specify a minimum of 1 and a maximum of 20 ARNs (resources) to untag. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "TagKeys":{ "shape":"TagKeyListForUntag", @@ -426,5 +926,5 @@ } } }, - "documentation":"Resource Groups Tagging API

This guide describes the API operations for the resource groups tagging.

A tag is a label that you assign to an AWS resource. A tag consists of a key and a value, both of which you define. For example, if you have two Amazon EC2 instances, you might assign both a tag key of \"Stack.\" But the value of \"Stack\" might be \"Testing\" for one and \"Production\" for the other.

Tagging can help you organize your resources and enables you to simplify resource management, access management and cost allocation. For more information about tagging, see Working with Tag Editor and Working with Resource Groups. For more information about permissions you need to use the resource groups tagging APIs, see Obtaining Permissions for Resource Groups and Obtaining Permissions for Tagging .

You can use the resource groups tagging APIs to complete the following tasks:

  • Tag and untag supported resources located in the specified region for the AWS account

  • Use tag-based filters to search for resources located in the specified region for the AWS account

  • List all existing tag keys in the specified region for the AWS account

  • List all existing values for the specified key in the specified region for the AWS account

Not all resources can have tags. For a lists of resources that you can tag, see Supported Resources in the AWS Resource Groups and Tag Editor User Guide.

To make full use of the resource groups tagging APIs, you might need additional IAM permissions, including permission to access the resources of individual services as well as permission to view and apply tags to those resources. For more information, see Obtaining Permissions for Tagging in the AWS Resource Groups and Tag Editor User Guide.

" + "documentation":"Resource Groups Tagging API

This guide describes the API operations for the resource groups tagging.

A tag is a key-value pair that you can add to an AWS resource. A tag consists of a key and a value, both of which you define. For example, if you have two Amazon EC2 instances, you might assign both a tag key of \"Stack.\" But the value of \"Stack\" might be \"Testing\" for one and \"Production\" for the other.

Tagging can help you organize your resources and enables you to simplify resource management, access management, and cost allocation.

You can use the resource groups tagging API operations to complete the following tasks:

  • Tag and untag supported resources located in the specified Region for the AWS account.

  • Use tag-based filters to search for resources located in the specified Region for the AWS account.

  • List all existing tag keys in the specified Region for the AWS account.

  • List all existing values for the specified key in the specified Region for the AWS account.

  • Configure tag policies to help maintain standardized tags across your organization's resources. For more information on tag policies, see Tag Policiesin the AWS Resource Groups User Guide.

To make full use of the resource groups tagging API operations, you might need additional IAM permissions, including permission to access the resources of individual services as well as permission to view and apply tags to those resources. For more information, see Set Up Permissions in the AWS Resource Groups User Guide.

You can use the Resource Groups Tagging API to tag resources for the following AWS services.

  • Alexa for Business (a4b)

  • API Gateway

  • AWS AppStream

  • Amazon Athena

  • Amazon Aurora

  • AWS Certificate Manager

  • AWS Certificate Manager Private CA

  • Amazon Cloud Directory

  • AWS CloudFormation

  • Amazon CloudFront

  • AWS CloudHSM

  • AWS CloudTrail

  • Amazon CloudWatch (alarms only)

  • Amazon CloudWatch Events

  • Amazon CloudWatch Logs

  • AWS CodeBuild

  • AWS CodeStar

  • Amazon Cognito Identity

  • Amazon Cognito User Pools

  • Amazon Comprehend

  • AWS Config

  • AWS Data Pipeline

  • AWS Database Migration Service

  • AWS Datasync

  • AWS Direct Connect

  • AWS Directory Service

  • Amazon DynamoDB

  • Amazon EBS

  • Amazon EC2

  • Amazon ECR

  • Amazon ECS

  • AWS Elastic Beanstalk

  • Amazon Elastic File System

  • Elastic Load Balancing

  • Amazon ElastiCache

  • Amazon Elasticsearch Service

  • AWS Elemental MediaLive

  • AWS Elemental MediaPackage

  • AWS Elemental MediaTailor

  • Amazon EMR

  • Amazon FSx

  • Amazon Glacier

  • AWS Glue

  • Amazon Inspector

  • AWS IoT Analytics

  • AWS IoT Core

  • AWS IoT Device Defender

  • AWS IoT Device Management

  • AWS Key Management Service

  • Amazon Kinesis

  • Amazon Kinesis Data Firehose

  • AWS Lambda

  • AWS License Manager

  • Amazon Machine Learning

  • Amazon MQ

  • Amazon MSK

  • Amazon Neptune

  • AWS OpsWorks

  • Amazon RDS

  • Amazon Redshift

  • AWS Resource Access Manager

  • AWS Resource Groups

  • AWS RoboMaker

  • Amazon Route 53

  • Amazon Route 53 Resolver

  • Amazon S3 (buckets only)

  • Amazon SageMaker

  • AWS Secrets Manager

  • AWS Service Catalog

  • Amazon Simple Queue Service (SQS)

  • AWS Simple System Manager (SSM)

  • AWS Step Functions

  • AWS Storage Gateway

  • AWS Transfer for SFTP

  • Amazon VPC

  • Amazon WorkSpaces

" } diff --git a/bin/botocore/data/robomaker/2018-06-29/paginators-1.json b/bin/botocore/data/robomaker/2018-06-29/paginators-1.json index ea142457..314046d4 100644 --- a/bin/botocore/data/robomaker/2018-06-29/paginators-1.json +++ b/bin/botocore/data/robomaker/2018-06-29/paginators-1.json @@ -1,3 +1,40 @@ { - "pagination": {} + "pagination": { + "ListDeploymentJobs": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "deploymentJobs" + }, + "ListFleets": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "fleetDetails" + }, + "ListRobotApplications": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "robotApplicationSummaries" + }, + "ListRobots": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "robots" + }, + "ListSimulationApplications": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "simulationApplicationSummaries" + }, + "ListSimulationJobs": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "simulationJobSummaries" + } + } } diff --git a/bin/botocore/data/robomaker/2018-06-29/service-2.json b/bin/botocore/data/robomaker/2018-06-29/service-2.json index fe8f9c19..8d1777a1 100644 --- a/bin/botocore/data/robomaker/2018-06-29/service-2.json +++ b/bin/botocore/data/robomaker/2018-06-29/service-2.json @@ -29,6 +29,22 @@ ], "documentation":"

Describes one or more simulation jobs.

" }, + "CancelDeploymentJob":{ + "name":"CancelDeploymentJob", + "http":{ + "method":"POST", + "requestUri":"/cancelDeploymentJob" + }, + "input":{"shape":"CancelDeploymentJobRequest"}, + "output":{"shape":"CancelDeploymentJobResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Cancels the specified deployment job.

" + }, "CancelSimulationJob":{ "name":"CancelSimulationJob", "http":{ @@ -62,7 +78,7 @@ {"shape":"ConcurrentDeploymentException"}, {"shape":"IdempotentParameterMismatchException"} ], - "documentation":"

Creates a deployment job.

" + "documentation":"

Deploys a specific version of a robot application to robots in a fleet.

The robot application must have a numbered applicationVersion for consistency reasons. To create a new version, use CreateRobotApplicationVersion or see Creating a Robot Application Version.

After 90 days, deployment jobs expire and will be deleted. They will no longer be accessible.

" }, "CreateFleet":{ "name":"CreateFleet", @@ -181,9 +197,10 @@ {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, {"shape":"LimitExceededException"}, - {"shape":"IdempotentParameterMismatchException"} + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

Creates a simulation job.

" + "documentation":"

Creates a simulation job.

After 90 days, simulation jobs expire and will be deleted. They will no longer be accessible.

" }, "DeleteFleet":{ "name":"DeleteFleet", @@ -275,7 +292,7 @@ {"shape":"InternalServerException"}, {"shape":"ThrottlingException"} ], - "documentation":"

Describes a deployment job. [Does it work regardless of deployment status, e.g. Failed?]

" + "documentation":"

Describes a deployment job.

" }, "DescribeFleet":{ "name":"DescribeFleet", @@ -371,7 +388,7 @@ {"shape":"InternalServerException"}, {"shape":"ThrottlingException"} ], - "documentation":"

Returns a list of deployment jobs for a fleet. You can optionally provide filters to retrieve specific deployment jobs.

" + "documentation":"

Returns a list of deployment jobs for a fleet. You can optionally provide filters to retrieve specific deployment jobs.

" }, "ListFleets":{ "name":"ListFleets", @@ -387,7 +404,7 @@ {"shape":"InternalServerException"}, {"shape":"ThrottlingException"} ], - "documentation":"

Returns a list of fleets. You can optionally provide filters to retrieve specific fleets.

" + "documentation":"

Returns a list of fleets. You can optionally provide filters to retrieve specific fleets.

" }, "ListRobotApplications":{ "name":"ListRobotApplications", @@ -433,7 +450,7 @@ {"shape":"ThrottlingException"}, {"shape":"InternalServerException"} ], - "documentation":"

Returns a list of simulation applications. You can optionally provide filters to retrieve specific simulation applications.

" + "documentation":"

Returns a list of simulation applications. You can optionally provide filters to retrieve specific simulation applications.

" }, "ListSimulationJobs":{ "name":"ListSimulationJobs", @@ -448,7 +465,23 @@ {"shape":"InternalServerException"}, {"shape":"ThrottlingException"} ], - "documentation":"

Returns a list of simulation jobs. You can optionally provide filters to retrieve specific simulation jobs.

" + "documentation":"

Returns a list of simulation jobs. You can optionally provide filters to retrieve specific simulation jobs.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Lists all tags on a AWS RoboMaker resource.

" }, "RegisterRobot":{ "name":"RegisterRobot", @@ -503,6 +536,38 @@ ], "documentation":"

Syncrhonizes robots in a fleet to the latest deployment. This is helpful if robots were added after a deployment.

" }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Adds or edits tags for a AWS RoboMaker resource.

Each tag consists of a tag key and a tag value. Tag keys and tag values are both required, but tag values can be empty strings.

For information about the rules that apply to tag keys and tag values, see User-Defined Tag Restrictions in the AWS Billing and Cost Management User Guide.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Removes the specified tags from the specified AWS RoboMaker resource.

To remove a tag, specify the tag key. To change the tag value of an existing tag key, use TagResource .

" + }, "UpdateRobotApplication":{ "name":"UpdateRobotApplication", "http":{ @@ -583,6 +648,21 @@ } }, "Boolean":{"type":"boolean"}, + "CancelDeploymentJobRequest":{ + "type":"structure", + "required":["job"], + "members":{ + "job":{ + "shape":"Arn", + "documentation":"

The deployment job ARN to cancel.

" + } + } + }, + "CancelDeploymentJobResponse":{ + "type":"structure", + "members":{ + } + }, "CancelSimulationJobRequest":{ "type":"structure", "required":["job"], @@ -604,12 +684,18 @@ "min":1, "pattern":"[a-zA-Z0-9_\\-=]*" }, + "Command":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"[a-zA-Z0-9_.\\-]*" + }, "ConcurrentDeploymentException":{ "type":"structure", "members":{ "message":{"shape":"errorMessage"} }, - "documentation":"

", + "documentation":"

The failure percentage threshold percentage was met.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -637,6 +723,10 @@ "deploymentApplicationConfigs":{ "shape":"DeploymentApplicationConfigs", "documentation":"

The deployment application configuration.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

A map that contains tag keys and tag values that are attached to the deployment job.

" } } }, @@ -665,7 +755,7 @@ }, "failureCode":{ "shape":"DeploymentJobErrorCode", - "documentation":"

The failure code of the deployment job if it failed.

" + "documentation":"

The failure code of the simulation job if it failed:

BadPermissionError

AWS Greengrass requires a service-level role permission to access other services. The role must include the AWSGreengrassResourceAccessRolePolicy managed policy.

ExtractingBundleFailure

The robot application could not be extracted from the bundle.

FailureThresholdBreached

The percentage of robots that could not be updated exceeded the percentage set for the deployment.

GreengrassDeploymentFailed

The robot application could not be deployed to the robot.

GreengrassGroupVersionDoesNotExist

The AWS Greengrass group or version associated with a robot is missing.

InternalServerError

An internal error has occurred. Retry your request, but if the problem persists, contact us with details.

MissingRobotApplicationArchitecture

The robot application does not have a source that matches the architecture of the robot.

MissingRobotDeploymentResource

One or more of the resources specified for the robot application are missing. For example, does the robot application have the correct launch package and launch file?

PostLaunchFileFailure

The post-launch script failed.

PreLaunchFileFailure

The pre-launch script failed.

ResourceNotFound

One or more deployment resources are missing. For example, do robot application source bundles still exist?

RobotDeploymentNoResponse

There is no response from the robot. It might not be powered on or connected to the internet.

" }, "createdAt":{ "shape":"CreatedAt", @@ -674,6 +764,10 @@ "deploymentConfig":{ "shape":"DeploymentConfig", "documentation":"

The deployment configuration.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The list of all tags added to the deployment job.

" } } }, @@ -684,6 +778,10 @@ "name":{ "shape":"Name", "documentation":"

The name of the fleet.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

A map that contains tag keys and tag values that are attached to the fleet.

" } } }, @@ -701,6 +799,10 @@ "createdAt":{ "shape":"CreatedAt", "documentation":"

The time, in milliseconds since the epoch, when the fleet was created.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The list of all tags added to the fleet.

" } } }, @@ -723,6 +825,10 @@ "robotSoftwareSuite":{ "shape":"RobotSoftwareSuite", "documentation":"

The robot software suite used by the robot application.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

A map that contains tag keys and tag values that are attached to the robot application.

" } } }, @@ -756,6 +862,10 @@ "revisionId":{ "shape":"RevisionId", "documentation":"

The revision id of the robot application.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The list of all tags added to the robot application.

" } } }, @@ -825,6 +935,10 @@ "greengrassGroupId":{ "shape":"Id", "documentation":"

The Greengrass group id.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

A map that contains tag keys and tag values that are attached to the robot.

" } } }, @@ -850,6 +964,10 @@ "architecture":{ "shape":"Architecture", "documentation":"

The target architecture of the robot.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The list of all tags added to the robot.

" } } }, @@ -882,6 +1000,10 @@ "renderingEngine":{ "shape":"RenderingEngine", "documentation":"

The rendering engine for the simulation application.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

A map that contains tag keys and tag values that are attached to the simulation application.

" } } }, @@ -923,6 +1045,10 @@ "revisionId":{ "shape":"RevisionId", "documentation":"

The revision id of the simulation application.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The list of all tags added to the simulation application.

" } } }, @@ -1003,7 +1129,7 @@ }, "iamRole":{ "shape":"IamRole", - "documentation":"

The IAM role that allows the simulation instance to call the AWS APIs that are specified in its associated policies on your behalf. This is how credentials are passed in to your simulation job. See how to specify AWS security credentials for your application.

" + "documentation":"

The IAM role name that allows the simulation instance to call the AWS APIs that are specified in its associated policies on your behalf. This is how credentials are passed in to your simulation job.

" }, "failureBehavior":{ "shape":"FailureBehavior", @@ -1017,6 +1143,10 @@ "shape":"SimulationApplicationConfigs", "documentation":"

The simulation application to use in the simulation job.

" }, + "tags":{ + "shape":"TagMap", + "documentation":"

A map that contains tag keys and tag values that are attached to the simulation job.

" + }, "vpcConfig":{ "shape":"VPCConfig", "documentation":"

If your simulation job accesses resources in a VPC, you provide this parameter identifying the list of security group IDs and subnet IDs. These must belong to the same VPC. You must provide at least one security group and one subnet ID.

" @@ -1034,6 +1164,10 @@ "shape":"SimulationJobStatus", "documentation":"

The status of the simulation job.

" }, + "lastStartedAt":{ + "shape":"LastStartedAt", + "documentation":"

The time, in milliseconds since the epoch, when the simulation job was last started.

" + }, "lastUpdatedAt":{ "shape":"LastUpdatedAt", "documentation":"

The time, in milliseconds since the epoch, when the simulation job was last updated.

" @@ -1044,7 +1178,7 @@ }, "failureCode":{ "shape":"SimulationJobErrorCode", - "documentation":"

The failure code of the simulation job if it failed.

" + "documentation":"

The failure code of the simulation job if it failed:

InternalServiceError

Internal service error.

RobotApplicationCrash

Robot application exited abnormally.

SimulationApplicationCrash

Simulation application exited abnormally.

BadPermissionsRobotApplication

Robot application bundle could not be downloaded.

BadPermissionsSimulationApplication

Simulation application bundle could not be downloaded.

BadPermissionsS3Output

Unable to publish outputs to customer-provided S3 bucket.

BadPermissionsCloudwatchLogs

Unable to publish logs to customer-provided CloudWatch Logs resource.

SubnetIpLimitExceeded

Subnet IP limit exceeded.

ENILimitExceeded

ENI limit exceeded.

BadPermissionsUserCredentials

Unable to use the Role provided.

InvalidBundleRobotApplication

Robot bundle cannot be extracted (invalid format, bundling error, or other issue).

InvalidBundleSimulationApplication

Simulation bundle cannot be extracted (invalid format, bundling error, or other issue).

RobotApplicationVersionMismatchedEtag

Etag for RobotApplication does not match value during version creation.

SimulationApplicationVersionMismatchedEtag

Etag for SimulationApplication does not match value during version creation.

" }, "clientRequestToken":{ "shape":"ClientRequestToken", @@ -1056,7 +1190,7 @@ }, "maxJobDurationInSeconds":{ "shape":"JobDuration", - "documentation":"

The maximum simulation job duration in seconds. The value must be 8 days (691,200 seconds) or less.

" + "documentation":"

The maximum simulation job duration in seconds.

" }, "simulationTimeMillis":{ "shape":"SimulationTimeMillis", @@ -1074,6 +1208,10 @@ "shape":"SimulationApplicationConfigs", "documentation":"

The simulation application used by the simulation job.

" }, + "tags":{ + "shape":"TagMap", + "documentation":"

The list of all tags added to the simulation job.

" + }, "vpcConfig":{ "shape":"VPCConfigResponse", "documentation":"

Information about the vpc configuration.

" @@ -1159,15 +1297,15 @@ "members":{ "application":{ "shape":"Arn", - "documentation":"

The application.

" + "documentation":"

The Amazon Resource Name (ARN) of the robot application.

" }, "applicationVersion":{ - "shape":"Version", + "shape":"DeploymentVersion", "documentation":"

The version of the application.

" }, "launchConfig":{ "shape":"DeploymentLaunchConfig", - "documentation":"

The launch configuration, usually roslaunch.

" + "documentation":"

The launch configuration.

" } }, "documentation":"

Information about a deployment application configuration.

" @@ -1234,8 +1372,12 @@ "type":"string", "enum":[ "ResourceNotFound", + "EnvironmentSetupError", + "EtagMismatch", "FailureThresholdBreached", + "RobotDeploymentAborted", "RobotDeploymentNoResponse", + "RobotAgentConnectionTimeout", "GreengrassDeploymentFailed", "MissingRobotArchitecture", "MissingRobotApplicationArchitecture", @@ -1262,24 +1404,24 @@ ], "members":{ "packageName":{ - "shape":"GenericString", + "shape":"Command", "documentation":"

The package name.

" }, "preLaunchFile":{ - "shape":"GenericString", - "documentation":"

The deployment pre-launch file. This file will be executed prior to the deployment launch file.

" + "shape":"Path", + "documentation":"

The deployment pre-launch file. This file will be executed prior to the launch file.

" }, "launchFile":{ - "shape":"GenericString", - "documentation":"

The deployment launch file.

" + "shape":"Command", + "documentation":"

The launch file name.

" }, "postLaunchFile":{ - "shape":"GenericString", - "documentation":"

The deployment post-launch file. This file will be executed after the deployment launch file.

" + "shape":"Path", + "documentation":"

The deployment post-launch file. This file will be executed after the launch file.

" }, "environmentVariables":{ "shape":"EnvironmentVariableMap", - "documentation":"

An array of key/value pairs specifying environment variables for the deployment application.

" + "documentation":"

An array of key/value pairs specifying environment variables for the robot application

" } }, "documentation":"

Configuration information for a deployment launch.

" @@ -1291,9 +1433,16 @@ "Preparing", "InProgress", "Failed", - "Succeeded" + "Succeeded", + "Canceled" ] }, + "DeploymentVersion":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[0-9]*" + }, "DeregisterRobotRequest":{ "type":"structure", "required":[ @@ -1372,6 +1521,10 @@ "robotDeploymentSummary":{ "shape":"RobotDeploymentSummary", "documentation":"

A list of robot deployment summaries.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The list of all tags added to the specified deployment job.

" } } }, @@ -1415,6 +1568,10 @@ "lastDeploymentTime":{ "shape":"CreatedAt", "documentation":"

The time of the last deployment.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The list of all tags added to the specified fleet.

" } } }, @@ -1462,6 +1619,10 @@ "lastUpdatedAt":{ "shape":"LastUpdatedAt", "documentation":"

The time, in milliseconds since the epoch, when the robot application was last updated.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The list of all tags added to the specified robot application.

" } } }, @@ -1513,6 +1674,10 @@ "lastDeploymentTime":{ "shape":"CreatedAt", "documentation":"

The time of the last deployment job.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The list of all tags added to the specified robot.

" } } }, @@ -1568,6 +1733,10 @@ "lastUpdatedAt":{ "shape":"LastUpdatedAt", "documentation":"

The time, in milliseconds since the epoch, when the simulation application was last updated.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The list of all tags added to the specified simulation application.

" } } }, @@ -1596,6 +1765,10 @@ "shape":"SimulationJobStatus", "documentation":"

The status of the simulation job.

" }, + "lastStartedAt":{ + "shape":"LastStartedAt", + "documentation":"

The time, in milliseconds since the epoch, when the simulation job was last started.

" + }, "lastUpdatedAt":{ "shape":"LastUpdatedAt", "documentation":"

The time, in milliseconds since the epoch, when the simulation job was last updated.

" @@ -1606,7 +1779,11 @@ }, "failureCode":{ "shape":"SimulationJobErrorCode", - "documentation":"

The failure code of the simulation job if it failed:

InternalServiceError

Internal service error

RobotApplicationCrash

Robot application exited abnormally (segfault, etc.)

SimulationApplicationCrash

Simulation application exited abnormally (segfault, etc.)

BadPermissionsRobotApplication

Robot application bundle could not be downloaded

BadPermissionsSimulationApplication

Simulation application bundle could not be downloaded

BadPermissionsS3Output

Unable to publish outputs to customer-provided S3 bucket

BadPermissionsCloudwatchLogs

Unable to publish logs to customer-provided CloudWatch Logs resource

SubnetIpLimitExceeded

Subnet IP limit exceeded

ENILimitExceeded

ENI limit exceeded

BadPermissionsUserCredentials

Unable to use the Role provided

InvalidBundleRobotApplication

Robot bundle cannot be extracted (invalid format, bundling error, etc.)

InvalidBundleSimulationApplication

Simulation bundle cannot be extracted (invalid format, bundling error, etc.)

RobotApplicationVersionMismatchedEtag

Etag for RobotApplication does not match value during version creation

SimulationApplicationVersionMismatchedEtag

Etag for SimulationApplication does not match value during version creation

" + "documentation":"

The failure code of the simulation job if it failed:

InternalServiceError

Internal service error.

RobotApplicationCrash

Robot application exited abnormally.

SimulationApplicationCrash

Simulation application exited abnormally.

BadPermissionsRobotApplication

Robot application bundle could not be downloaded.

BadPermissionsSimulationApplication

Simulation application bundle could not be downloaded.

BadPermissionsS3Output

Unable to publish outputs to customer-provided S3 bucket.

BadPermissionsCloudwatchLogs

Unable to publish logs to customer-provided CloudWatch Logs resource.

SubnetIpLimitExceeded

Subnet IP limit exceeded.

ENILimitExceeded

ENI limit exceeded.

BadPermissionsUserCredentials

Unable to use the Role provided.

InvalidBundleRobotApplication

Robot bundle cannot be extracted (invalid format, bundling error, or other issue).

InvalidBundleSimulationApplication

Simulation bundle cannot be extracted (invalid format, bundling error, or other issue).

RobotApplicationVersionMismatchedEtag

Etag for RobotApplication does not match value during version creation.

SimulationApplicationVersionMismatchedEtag

Etag for SimulationApplication does not match value during version creation.

" + }, + "failureReason":{ + "shape":"GenericString", + "documentation":"

Details about why the simulation job failed. For more information about troubleshooting, see Troubleshooting.

" }, "clientRequestToken":{ "shape":"ClientRequestToken", @@ -1636,6 +1813,10 @@ "shape":"SimulationApplicationConfigs", "documentation":"

A list of simulation applications.

" }, + "tags":{ + "shape":"TagMap", + "documentation":"

The list of all tags added to the specified simulation job.

" + }, "vpcConfig":{ "shape":"VPCConfigResponse", "documentation":"

The VPC configuration.

" @@ -1729,6 +1910,7 @@ "max":200, "min":0 }, + "GenericInteger":{"type":"integer"}, "GenericString":{"type":"string"}, "IamRole":{ "type":"string", @@ -1769,6 +1951,7 @@ "exception":true }, "JobDuration":{"type":"long"}, + "LastStartedAt":{"type":"timestamp"}, "LastUpdatedAt":{"type":"timestamp"}, "LaunchConfig":{ "type":"structure", @@ -1778,12 +1961,12 @@ ], "members":{ "packageName":{ - "shape":"GenericString", + "shape":"Command", "documentation":"

The package name.

" }, "launchFile":{ - "shape":"GenericString", - "documentation":"

The launch file.

" + "shape":"Command", + "documentation":"

The launch file name.

" }, "environmentVariables":{ "shape":"EnvironmentVariableMap", @@ -1806,7 +1989,7 @@ "members":{ "filters":{ "shape":"Filters", - "documentation":"

Optional filters to limit results.

" + "documentation":"

Optional filters to limit results.

The filter names status and fleetName are supported. When filtering, you must use the complete value of the filtered item. You can use up to three filters, but they must be for the same named item. For example, if you are looking for items with the status InProgress or the status Pending.

" }, "nextToken":{ "shape":"PaginationToken", @@ -1844,7 +2027,7 @@ }, "filters":{ "shape":"Filters", - "documentation":"

Optional filters to limit results.

" + "documentation":"

Optional filters to limit results.

The filter name name is supported. When filtering, you must use the complete value of the filtered item. You can use up to three filters.

" } } }, @@ -1874,11 +2057,11 @@ }, "maxResults":{ "shape":"MaxResults", - "documentation":"

The maximum number of deployment job results returned by ListRobotApplications in paginated output. When this parameter is used, ListRobotApplications only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListFleets request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListRobotApplications returns up to 100 results and a nextToken value if applicable.

" + "documentation":"

The maximum number of deployment job results returned by ListRobotApplications in paginated output. When this parameter is used, ListRobotApplications only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListRobotApplications request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListRobotApplications returns up to 100 results and a nextToken value if applicable.

" }, "filters":{ "shape":"Filters", - "documentation":"

Optional filters to limit results.

" + "documentation":"

Optional filters to limit results.

The filter name name is supported. When filtering, you must use the complete value of the filtered item. You can use up to three filters.

" } } }, @@ -1904,11 +2087,11 @@ }, "maxResults":{ "shape":"MaxResults", - "documentation":"

The maximum number of deployment job results returned by ListRobots in paginated output. When this parameter is used, ListRobots only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListFleets request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListRobots returns up to 100 results and a nextToken value if applicable.

" + "documentation":"

The maximum number of deployment job results returned by ListRobots in paginated output. When this parameter is used, ListRobots only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListRobots request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListRobots returns up to 100 results and a nextToken value if applicable.

" }, "filters":{ "shape":"Filters", - "documentation":"

Optional filters to limit results.

" + "documentation":"

Optional filters to limit results.

The filter names status and fleetName are supported. When filtering, you must use the complete value of the filtered item. You can use up to three filters, but they must be for the same named item. For example, if you are looking for items with the status Registered or the status Available.

" } } }, @@ -1938,11 +2121,11 @@ }, "maxResults":{ "shape":"MaxResults", - "documentation":"

The maximum number of deployment job results returned by ListSimulationApplications in paginated output. When this parameter is used, ListSimulationApplications only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListFleets request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListSimulationApplications returns up to 100 results and a nextToken value if applicable.

" + "documentation":"

The maximum number of deployment job results returned by ListSimulationApplications in paginated output. When this parameter is used, ListSimulationApplications only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListSimulationApplications request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListSimulationApplications returns up to 100 results and a nextToken value if applicable.

" }, "filters":{ "shape":"Filters", - "documentation":"

Optional list of filters to limit results. The only valid filter name is name.

" + "documentation":"

Optional list of filters to limit results.

The filter name name is supported. When filtering, you must use the complete value of the filtered item. You can use up to three filters.

" } } }, @@ -1968,11 +2151,11 @@ }, "maxResults":{ "shape":"MaxResults", - "documentation":"

The maximum number of deployment job results returned by ListSimulationJobs in paginated output. When this parameter is used, ListSimulationJobs only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListFleets request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListSimulationJobs returns up to 100 results and a nextToken value if applicable.

" + "documentation":"

The maximum number of deployment job results returned by ListSimulationJobs in paginated output. When this parameter is used, ListSimulationJobs only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListSimulationJobs request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListSimulationJobs returns up to 100 results and a nextToken value if applicable.

" }, "filters":{ "shape":"Filters", - "documentation":"

Optional filters to limit results.

" + "documentation":"

Optional filters to limit results.

The filter names status and simulationApplicationName and robotApplicationName are supported. When filtering, you must use the complete value of the filtered item. You can use up to three filters, but they must be for the same named item. For example, if you are looking for items with the status Preparing or the status Running.

" } } }, @@ -1990,6 +2173,27 @@ } } }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

The AWS RoboMaker Amazon Resource Name (ARN) with tags to be listed.

", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagMap", + "documentation":"

The list of all tags added to the specified resource.

" + } + } + }, "MaxResults":{"type":"integer"}, "Name":{ "type":"string", @@ -2017,6 +2221,16 @@ "min":1, "pattern":"[a-zA-Z0-9_.\\-\\/+=]*" }, + "Path":{ + "type":"string", + "max":1024, + "min":1 + }, + "PercentDone":{ + "type":"float", + "max":100.0, + "min":0.0 + }, "Percentage":{ "type":"integer", "max":100, @@ -2026,8 +2240,16 @@ "type":"structure", "members":{ "currentProgress":{ - "shape":"GenericString", - "documentation":"

The current progress status.

" + "shape":"RobotDeploymentStep", + "documentation":"

The current progress status.

Validating

Validating the deployment.

DownloadingExtracting

Downloading and extracting the bundle on the robot.

ExecutingPreLaunch

Executing pre-launch script(s) if provided.

Launching

Launching the robot application.

ExecutingPostLaunch

Executing post-launch script(s) if provided.

Finished

Deployment is complete.

" + }, + "percentDone":{ + "shape":"PercentDone", + "documentation":"

Precentage of the step that is done. This currently only applies to the Downloading/Extracting step of the deployment. It is empty for other steps.

" + }, + "estimatedTimeRemainingSeconds":{ + "shape":"GenericInteger", + "documentation":"

Estimated amount of time in seconds remaining in the step. This currently only applies to the Downloading/Extracting step of the deployment. It is empty for other steps.

" }, "targetResource":{ "shape":"GenericString", @@ -2093,7 +2315,7 @@ "members":{ "message":{"shape":"errorMessage"} }, - "documentation":"

The specified resource already exists

", + "documentation":"

The specified resource already exists.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -2227,6 +2449,10 @@ "lastUpdatedAt":{ "shape":"LastUpdatedAt", "documentation":"

The time, in milliseconds since the epoch, when the robot application was last updated.

" + }, + "robotSoftwareSuite":{ + "shape":"RobotSoftwareSuite", + "documentation":"

Information about a robot software suite.

" } }, "documentation":"

Summary information for a robot application.

" @@ -2265,6 +2491,17 @@ }, "documentation":"

Information about a robot deployment.

" }, + "RobotDeploymentStep":{ + "type":"string", + "enum":[ + "Validating", + "DownloadingExtracting", + "ExecutingPreLaunch", + "Launching", + "ExecutingPostLaunch", + "Finished" + ] + }, "RobotDeploymentSummary":{ "type":"list", "member":{"shape":"RobotDeployment"} @@ -2328,6 +2565,15 @@ "max":5, "min":1 }, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

The request has failed due to a temporary failure of the server.

", + "error":{"httpStatusCode":503}, + "exception":true + }, "SimulationApplicationConfig":{ "type":"structure", "required":[ @@ -2386,6 +2632,14 @@ "lastUpdatedAt":{ "shape":"LastUpdatedAt", "documentation":"

The time, in milliseconds since the epoch, when the simulation application was last updated.

" + }, + "robotSoftwareSuite":{ + "shape":"RobotSoftwareSuite", + "documentation":"

Information about a robot software suite.

" + }, + "simulationSoftwareSuite":{ + "shape":"SimulationSoftwareSuite", + "documentation":"

Information about a simulation software suite.

" } }, "documentation":"

Summary information for a simulation application.

" @@ -2405,6 +2659,10 @@ "shape":"SimulationJobStatus", "documentation":"

Status of the simulation job.

" }, + "lastStartedAt":{ + "shape":"LastStartedAt", + "documentation":"

The time, in milliseconds since the epoch, when the simulation job was last started.

" + }, "lastUpdatedAt":{ "shape":"LastUpdatedAt", "documentation":"

The time, in milliseconds since the epoch, when the simulation job was last updated.

" @@ -2417,6 +2675,10 @@ "shape":"SimulationJobErrorCode", "documentation":"

The failure code of the simulation job if it failed.

" }, + "failureReason":{ + "shape":"GenericString", + "documentation":"

The reason why the simulation job failed.

" + }, "clientRequestToken":{ "shape":"ClientRequestToken", "documentation":"

A unique identifier for this SimulationJob request.

" @@ -2435,7 +2697,7 @@ }, "iamRole":{ "shape":"IamRole", - "documentation":"

The IAM role that allows the simulation instance to call the AWS APIs that are specified in its associated policies on your behalf. This is how credentials are passed in to your simulation job. See how to specify AWS security credentials for your application.

" + "documentation":"

The IAM role that allows the simulation instance to call the AWS APIs that are specified in its associated policies on your behalf. This is how credentials are passed in to your simulation job.

" }, "robotApplications":{ "shape":"RobotApplicationConfigs", @@ -2445,6 +2707,10 @@ "shape":"SimulationApplicationConfigs", "documentation":"

A list of simulation applications.

" }, + "tags":{ + "shape":"TagMap", + "documentation":"

A map that contains tag keys and tag values that are attached to the simulation job.

" + }, "vpcConfig":{ "shape":"VPCConfigResponse", "documentation":"

VPC configuration information.

" @@ -2468,7 +2734,10 @@ "InvalidBundleRobotApplication", "InvalidBundleSimulationApplication", "RobotApplicationVersionMismatchedEtag", - "SimulationApplicationVersionMismatchedEtag" + "SimulationApplicationVersionMismatchedEtag", + "WrongRegionS3Output", + "WrongRegionRobotApplication", + "WrongRegionSimulationApplication" ] }, "SimulationJobStatus":{ @@ -2546,7 +2815,7 @@ }, "SimulationSoftwareSuiteVersionType":{ "type":"string", - "pattern":"7" + "pattern":"7|9" }, "SimulationTimeMillis":{"type":"long"}, "Source":{ @@ -2650,7 +2919,7 @@ }, "failureCode":{ "shape":"DeploymentJobErrorCode", - "documentation":"

The failure code if the job fails.

" + "documentation":"

The failure code if the job fails:

InternalServiceError

Internal service error.

RobotApplicationCrash

Robot application exited abnormally.

SimulationApplicationCrash

Simulation application exited abnormally.

BadPermissionsRobotApplication

Robot application bundle could not be downloaded.

BadPermissionsSimulationApplication

Simulation application bundle could not be downloaded.

BadPermissionsS3Output

Unable to publish outputs to customer-provided S3 bucket.

BadPermissionsCloudwatchLogs

Unable to publish logs to customer-provided CloudWatch Logs resource.

SubnetIpLimitExceeded

Subnet IP limit exceeded.

ENILimitExceeded

ENI limit exceeded.

BadPermissionsUserCredentials

Unable to use the Role provided.

InvalidBundleRobotApplication

Robot bundle cannot be extracted (invalid format, bundling error, or other issue).

InvalidBundleSimulationApplication

Simulation bundle cannot be extracted (invalid format, bundling error, or other issue).

RobotApplicationVersionMismatchedEtag

Etag for RobotApplication does not match value during version creation.

SimulationApplicationVersionMismatchedEtag

Etag for SimulationApplication does not match value during version creation.

" }, "createdAt":{ "shape":"CreatedAt", @@ -2658,6 +2927,53 @@ } } }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9 _.\\-\\/+=:]*" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS RoboMaker resource you are tagging.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

A map that contains tag keys and tag values that are attached to the resource.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"[a-zA-Z0-9 _.\\-\\/+=:]*" + }, "ThrottlingException":{ "type":"structure", "members":{ @@ -2667,6 +2983,32 @@ "error":{"httpStatusCode":400}, "exception":true }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS RoboMaker resource you are removing tags.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

A map that contains tag keys and tag values that will be unattached from the resource.

", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateRobotApplicationRequest":{ "type":"structure", "required":[ @@ -2856,5 +3198,5 @@ }, "errorMessage":{"type":"string"} }, - "documentation":"

his section provides documentation for the AWS RoboMaker API operations.

" + "documentation":"

This section provides documentation for the AWS RoboMaker API operations.

" } diff --git a/bin/botocore/data/route53/2013-04-01/paginators-1.json b/bin/botocore/data/route53/2013-04-01/paginators-1.json index d472f47a..8d8e433d 100644 --- a/bin/botocore/data/route53/2013-04-01/paginators-1.json +++ b/bin/botocore/data/route53/2013-04-01/paginators-1.json @@ -28,6 +28,22 @@ "NextRecordType", "NextRecordIdentifier" ] + }, + "ListVPCAssociationAuthorizations": { + "input_token": "NextToken", + "output_token": "NextToken", + "non_aggregate_keys": [ + "HostedZoneId" + ], + "result_key": [ + "VPCs" + ] + }, + "ListQueryLoggingConfigs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "QueryLoggingConfigs" } } } diff --git a/bin/botocore/data/route53/2013-04-01/service-2.json b/bin/botocore/data/route53/2013-04-01/service-2.json index 3007dba4..438d352a 100644 --- a/bin/botocore/data/route53/2013-04-01/service-2.json +++ b/bin/botocore/data/route53/2013-04-01/service-2.json @@ -54,7 +54,7 @@ {"shape":"InvalidInput"}, {"shape":"PriorRequestNotComplete"} ], - "documentation":"

Creates, changes, or deletes a resource record set, which contains authoritative DNS information for a specified domain name or subdomain name. For example, you can use ChangeResourceRecordSets to create a resource record set that routes traffic for test.example.com to a web server that has an IP address of 192.0.2.44.

Change Batches and Transactional Changes

The request body must include a document with a ChangeResourceRecordSetsRequest element. The request body contains a list of change items, known as a change batch. Change batches are considered transactional changes. When using the Amazon Route 53 API to change resource record sets, Route 53 either makes all or none of the changes in a change batch request. This ensures that Route 53 never partially implements the intended changes to the resource record sets in a hosted zone.

For example, a change batch request that deletes the CNAME record for www.example.com and creates an alias resource record set for www.example.com. Route 53 deletes the first resource record set and creates the second resource record set in a single operation. If either the DELETE or the CREATE action fails, then both changes (plus any other changes in the batch) fail, and the original CNAME record continues to exist.

Due to the nature of transactional changes, you can't delete the same resource record set more than once in a single change batch. If you attempt to delete the same change batch more than once, Route 53 returns an InvalidChangeBatch error.

Traffic Flow

To create resource record sets for complex routing configurations, use either the traffic flow visual editor in the Route 53 console or the API actions for traffic policies and traffic policy instances. Save the configuration as a traffic policy, then associate the traffic policy with one or more domain names (such as example.com) or subdomain names (such as www.example.com), in the same hosted zone or in multiple hosted zones. You can roll back the updates if the new configuration isn't performing as expected. For more information, see Using Traffic Flow to Route DNS Traffic in the Amazon Route 53 Developer Guide.

Create, Delete, and Upsert

Use ChangeResourceRecordsSetsRequest to perform the following actions:

  • CREATE: Creates a resource record set that has the specified values.

  • DELETE: Deletes an existing resource record set that has the specified values.

  • UPSERT: If a resource record set does not already exist, AWS creates it. If a resource set does exist, Route 53 updates it with the values in the request.

Syntaxes for Creating, Updating, and Deleting Resource Record Sets

The syntax for a request depends on the type of resource record set that you want to create, delete, or update, such as weighted, alias, or failover. The XML elements in your request must appear in the order listed in the syntax.

For an example for each type of resource record set, see \"Examples.\"

Don't refer to the syntax in the \"Parameter Syntax\" section, which includes all of the elements for every kind of resource record set that you can create, delete, or update by using ChangeResourceRecordSets.

Change Propagation to Route 53 DNS Servers

When you submit a ChangeResourceRecordSets request, Route 53 propagates your changes to all of the Route 53 authoritative DNS servers. While your changes are propagating, GetChange returns a status of PENDING. When propagation is complete, GetChange returns a status of INSYNC. Changes generally propagate to all Route 53 name servers within 60 seconds. For more information, see GetChange.

Limits on ChangeResourceRecordSets Requests

For information about the limits on a ChangeResourceRecordSets request, see Limits in the Amazon Route 53 Developer Guide.

" + "documentation":"

Creates, changes, or deletes a resource record set, which contains authoritative DNS information for a specified domain name or subdomain name. For example, you can use ChangeResourceRecordSets to create a resource record set that routes traffic for test.example.com to a web server that has an IP address of 192.0.2.44.

Change Batches and Transactional Changes

The request body must include a document with a ChangeResourceRecordSetsRequest element. The request body contains a list of change items, known as a change batch. Change batches are considered transactional changes. When using the Amazon Route 53 API to change resource record sets, Route 53 either makes all or none of the changes in a change batch request. This ensures that Route 53 never partially implements the intended changes to the resource record sets in a hosted zone.

For example, a change batch request that deletes the CNAME record for www.example.com and creates an alias resource record set for www.example.com. Route 53 deletes the first resource record set and creates the second resource record set in a single operation. If either the DELETE or the CREATE action fails, then both changes (plus any other changes in the batch) fail, and the original CNAME record continues to exist.

Due to the nature of transactional changes, you can't delete the same resource record set more than once in a single change batch. If you attempt to delete the same change batch more than once, Route 53 returns an InvalidChangeBatch error.

Traffic Flow

To create resource record sets for complex routing configurations, use either the traffic flow visual editor in the Route 53 console or the API actions for traffic policies and traffic policy instances. Save the configuration as a traffic policy, then associate the traffic policy with one or more domain names (such as example.com) or subdomain names (such as www.example.com), in the same hosted zone or in multiple hosted zones. You can roll back the updates if the new configuration isn't performing as expected. For more information, see Using Traffic Flow to Route DNS Traffic in the Amazon Route 53 Developer Guide.

Create, Delete, and Upsert

Use ChangeResourceRecordsSetsRequest to perform the following actions:

  • CREATE: Creates a resource record set that has the specified values.

  • DELETE: Deletes an existing resource record set that has the specified values.

  • UPSERT: If a resource record set does not already exist, AWS creates it. If a resource set does exist, Route 53 updates it with the values in the request.

Syntaxes for Creating, Updating, and Deleting Resource Record Sets

The syntax for a request depends on the type of resource record set that you want to create, delete, or update, such as weighted, alias, or failover. The XML elements in your request must appear in the order listed in the syntax.

For an example for each type of resource record set, see \"Examples.\"

Don't refer to the syntax in the \"Parameter Syntax\" section, which includes all of the elements for every kind of resource record set that you can create, delete, or update by using ChangeResourceRecordSets.

Change Propagation to Route 53 DNS Servers

When you submit a ChangeResourceRecordSets request, Route 53 propagates your changes to all of the Route 53 authoritative DNS servers. While your changes are propagating, GetChange returns a status of PENDING. When propagation is complete, GetChange returns a status of INSYNC. Changes generally propagate to all Route 53 name servers within 60 seconds. For more information, see GetChange.

Limits on ChangeResourceRecordSets Requests

For information about the limits on a ChangeResourceRecordSets request, see Limits in the Amazon Route 53 Developer Guide.

" }, "ChangeTagsForResource":{ "name":"ChangeTagsForResource", @@ -75,7 +75,7 @@ {"shape":"PriorRequestNotComplete"}, {"shape":"ThrottlingException"} ], - "documentation":"

Adds, edits, or deletes tags for a health check or a hosted zone.

For information about using tags for cost allocation, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" + "documentation":"

Adds, edits, or deletes tags for a health check or a hosted zone.

For information about using tags for cost allocation, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" }, "CreateHealthCheck":{ "name":"CreateHealthCheck", @@ -95,7 +95,7 @@ {"shape":"HealthCheckAlreadyExists"}, {"shape":"InvalidInput"} ], - "documentation":"

Creates a new health check.

For information about adding health checks to resource record sets, see ResourceRecordSet$HealthCheckId in ChangeResourceRecordSets.

ELB Load Balancers

If you're registering EC2 instances with an Elastic Load Balancing (ELB) load balancer, do not create Amazon Route 53 health checks for the EC2 instances. When you register an EC2 instance with a load balancer, you configure settings for an ELB health check, which performs a similar function to a Route 53 health check.

Private Hosted Zones

You can associate health checks with failover resource record sets in a private hosted zone. Note the following:

  • Route 53 health checkers are outside the VPC. To check the health of an endpoint within a VPC by IP address, you must assign a public IP address to the instance in the VPC.

  • You can configure a health checker to check the health of an external resource that the instance relies on, such as a database server.

  • You can create a CloudWatch metric, associate an alarm with the metric, and then create a health check that is based on the state of the alarm. For example, you might create a CloudWatch metric that checks the status of the Amazon EC2 StatusCheckFailed metric, add an alarm to the metric, and then create a health check that is based on the state of the alarm. For information about creating CloudWatch metrics and alarms by using the CloudWatch console, see the Amazon CloudWatch User Guide.

" + "documentation":"

Creates a new health check.

For information about adding health checks to resource record sets, see HealthCheckId in ChangeResourceRecordSets.

ELB Load Balancers

If you're registering EC2 instances with an Elastic Load Balancing (ELB) load balancer, do not create Amazon Route 53 health checks for the EC2 instances. When you register an EC2 instance with a load balancer, you configure settings for an ELB health check, which performs a similar function to a Route 53 health check.

Private Hosted Zones

You can associate health checks with failover resource record sets in a private hosted zone. Note the following:

  • Route 53 health checkers are outside the VPC. To check the health of an endpoint within a VPC by IP address, you must assign a public IP address to the instance in the VPC.

  • You can configure a health checker to check the health of an external resource that the instance relies on, such as a database server.

  • You can create a CloudWatch metric, associate an alarm with the metric, and then create a health check that is based on the state of the alarm. For example, you might create a CloudWatch metric that checks the status of the Amazon EC2 StatusCheckFailed metric, add an alarm to the metric, and then create a health check that is based on the state of the alarm. For information about creating CloudWatch metrics and alarms by using the CloudWatch console, see the Amazon CloudWatch User Guide.

" }, "CreateHostedZone":{ "name":"CreateHostedZone", @@ -144,7 +144,7 @@ {"shape":"QueryLoggingConfigAlreadyExists"}, {"shape":"InsufficientCloudWatchLogsResourcePolicy"} ], - "documentation":"

Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group.

DNS query logs contain information about the queries that Route 53 receives for a specified public hosted zone, such as the following:

  • Route 53 edge location that responded to the DNS query

  • Domain or subdomain that was requested

  • DNS record type, such as A or AAAA

  • DNS response code, such as NoError or ServFail

Log Group and Resource Policy

Before you create a query logging configuration, perform the following operations.

If you create a query logging configuration using the Route 53 console, Route 53 performs these operations automatically.

  1. Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging configuration. Note the following:

    • You must create the log group in the us-east-1 region.

    • You must use the same AWS account to create the log group and the hosted zone that you want to configure query logging for.

    • When you create log groups for query logging, we recommend that you use a consistent prefix, for example:

      /aws/route53/hosted zone name

      In the next step, you'll create a resource policy, which controls access to one or more log groups and the associated AWS resources, such as Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging.

  2. Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams and to send query logs to log streams. For the value of Resource, specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with *, for example:

    arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*

    You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of the AWS SDKs, or the AWS CLI.

Log Streams and Edge Locations

When Route 53 finishes creating the configuration for DNS query logging, it does the following:

  • Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the specified hosted zone. That log stream is used to log all queries that Route 53 responds to for that edge location.

  • Begins to send query logs to the applicable log stream.

The name of each log stream is in the following format:

hosted zone ID/edge location code

The edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The three-letter code typically corresponds with the International Air Transport Association airport code for an airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations, see \"The Route 53 Global Network\" on the Route 53 Product Details page.

Queries That Are Logged

Query logs contain only the queries that DNS resolvers forward to Route 53. If a DNS resolver has already cached the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue to return the cached response. It doesn't forward another query to Route 53 until the TTL for the corresponding resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and depending on the TTL for that resource record set, query logs might contain information about only one query out of every several thousand queries that are submitted to DNS. For more information about how DNS works, see Routing Internet Traffic to Your Website or Web Application in the Amazon Route 53 Developer Guide.

Log File Format

For a list of the values in each query log and the format of each value, see Logging DNS Queries in the Amazon Route 53 Developer Guide.

Pricing

For information about charges for query logs, see Amazon CloudWatch Pricing.

How to Stop Logging

If you want Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For more information, see DeleteQueryLoggingConfig.

" + "documentation":"

Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group.

DNS query logs contain information about the queries that Route 53 receives for a specified public hosted zone, such as the following:

  • Route 53 edge location that responded to the DNS query

  • Domain or subdomain that was requested

  • DNS record type, such as A or AAAA

  • DNS response code, such as NoError or ServFail

Log Group and Resource Policy

Before you create a query logging configuration, perform the following operations.

If you create a query logging configuration using the Route 53 console, Route 53 performs these operations automatically.

  1. Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging configuration. Note the following:

    • You must create the log group in the us-east-1 region.

    • You must use the same AWS account to create the log group and the hosted zone that you want to configure query logging for.

    • When you create log groups for query logging, we recommend that you use a consistent prefix, for example:

      /aws/route53/hosted zone name

      In the next step, you'll create a resource policy, which controls access to one or more log groups and the associated AWS resources, such as Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging.

  2. Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams and to send query logs to log streams. For the value of Resource, specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with *, for example:

    arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*

    You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of the AWS SDKs, or the AWS CLI.

Log Streams and Edge Locations

When Route 53 finishes creating the configuration for DNS query logging, it does the following:

  • Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the specified hosted zone. That log stream is used to log all queries that Route 53 responds to for that edge location.

  • Begins to send query logs to the applicable log stream.

The name of each log stream is in the following format:

hosted zone ID/edge location code

The edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The three-letter code typically corresponds with the International Air Transport Association airport code for an airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations, see \"The Route 53 Global Network\" on the Route 53 Product Details page.

Queries That Are Logged

Query logs contain only the queries that DNS resolvers forward to Route 53. If a DNS resolver has already cached the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue to return the cached response. It doesn't forward another query to Route 53 until the TTL for the corresponding resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and depending on the TTL for that resource record set, query logs might contain information about only one query out of every several thousand queries that are submitted to DNS. For more information about how DNS works, see Routing Internet Traffic to Your Website or Web Application in the Amazon Route 53 Developer Guide.

Log File Format

For a list of the values in each query log and the format of each value, see Logging DNS Queries in the Amazon Route 53 Developer Guide.

Pricing

For information about charges for query logs, see Amazon CloudWatch Pricing.

How to Stop Logging

If you want Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For more information, see DeleteQueryLoggingConfig.

" }, "CreateReusableDelegationSet":{ "name":"CreateReusableDelegationSet", @@ -286,7 +286,7 @@ {"shape":"InvalidInput"}, {"shape":"InvalidDomainName"} ], - "documentation":"

Deletes a hosted zone.

If the name servers for the hosted zone are associated with a domain and if you want to make the domain unavailable on the Internet, we recommend that you delete the name servers from the domain to prevent future DNS queries from possibly being misrouted. If the domain is registered with Amazon Route 53, see UpdateDomainNameservers. If the domain is registered with another registrar, use the method provided by the registrar to delete name servers for the domain.

Some domain registries don't allow you to remove all of the name servers for a domain. If the registry for your domain requires one or more name servers, we recommend that you delete the hosted zone only if you transfer DNS service to another service provider, and you replace the name servers for the domain with name servers from the new provider.

You can delete a hosted zone only if it contains only the default SOA record and NS resource record sets. If the hosted zone contains other resource record sets, you must delete them before you can delete the hosted zone. If you try to delete a hosted zone that contains other resource record sets, the request fails, and Route 53 returns a HostedZoneNotEmpty error. For information about deleting records from your hosted zone, see ChangeResourceRecordSets.

To verify that the hosted zone has been deleted, do one of the following:

  • Use the GetHostedZone action to request information about the hosted zone.

  • Use the ListHostedZones action to get a list of the hosted zones associated with the current AWS account.

" + "documentation":"

Deletes a hosted zone.

If the hosted zone was created by another service, such as AWS Cloud Map, see Deleting Public Hosted Zones That Were Created by Another Service in the Amazon Route 53 Developer Guide for information about how to delete it. (The process is the same for public and private hosted zones that were created by another service.)

If you want to keep your domain registration but you want to stop routing internet traffic to your website or web application, we recommend that you delete resource record sets in the hosted zone instead of deleting the hosted zone.

If you delete a hosted zone, you can't undelete it. You must create a new hosted zone and update the name servers for your domain registration, which can require up to 48 hours to take effect. (If you delegated responsibility for a subdomain to a hosted zone and you delete the child hosted zone, you must update the name servers in the parent hosted zone.) In addition, if you delete a hosted zone, someone could hijack the domain and route traffic to their own resources using your domain name.

If you want to avoid the monthly charge for the hosted zone, you can transfer DNS service for the domain to a free DNS service. When you transfer DNS service, you have to update the name servers for the domain registration. If the domain is registered with Route 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 registered with another registrar, use the method provided by the registrar to update name servers for the domain registration. For more information, perform an internet search on \"free DNS service.\"

You can delete a hosted zone only if it contains only the default SOA record and NS resource record sets. If the hosted zone contains other resource record sets, you must delete them before you can delete the hosted zone. If you try to delete a hosted zone that contains other resource record sets, the request fails, and Route 53 returns a HostedZoneNotEmpty error. For information about deleting records from your hosted zone, see ChangeResourceRecordSets.

To verify that the hosted zone has been deleted, do one of the following:

  • Use the GetHostedZone action to request information about the hosted zone.

  • Use the ListHostedZones action to get a list of the hosted zones associated with the current AWS account.

" }, "DeleteQueryLoggingConfig":{ "name":"DeleteQueryLoggingConfig", @@ -301,7 +301,7 @@ {"shape":"NoSuchQueryLoggingConfig"}, {"shape":"InvalidInput"} ], - "documentation":"

Deletes a configuration for DNS query logging. If you delete a configuration, Amazon Route 53 stops sending query logs to CloudWatch Logs. Route 53 doesn't delete any logs that are already in CloudWatch Logs.

For more information about DNS query logs, see CreateQueryLoggingConfig.

" + "documentation":"

Deletes a configuration for DNS query logging. If you delete a configuration, Amazon Route 53 stops sending query logs to CloudWatch Logs. Route 53 doesn't delete any logs that are already in CloudWatch Logs.

For more information about DNS query logs, see CreateQueryLoggingConfig.

" }, "DeleteReusableDelegationSet":{ "name":"DeleteReusableDelegationSet", @@ -317,7 +317,7 @@ {"shape":"DelegationSetNotReusable"}, {"shape":"InvalidInput"} ], - "documentation":"

Deletes a reusable delegation set.

You can delete a reusable delegation set only if it isn't associated with any hosted zones.

To verify that the reusable delegation set is not associated with any hosted zones, submit a GetReusableDelegationSet request and specify the ID of the reusable delegation set that you want to delete.

" + "documentation":"

Deletes a reusable delegation set.

You can delete a reusable delegation set only if it isn't associated with any hosted zones.

To verify that the reusable delegation set is not associated with any hosted zones, submit a GetReusableDelegationSet request and specify the ID of the reusable delegation set that you want to delete.

" }, "DeleteTrafficPolicy":{ "name":"DeleteTrafficPolicy", @@ -403,7 +403,7 @@ "errors":[ {"shape":"InvalidInput"} ], - "documentation":"

Gets the specified limit for the current account, for example, the maximum number of health checks that you can create using the account.

For the default limit, see Limits in the Amazon Route 53 Developer Guide. To request a higher limit, open a case.

" + "documentation":"

Gets the specified limit for the current account, for example, the maximum number of health checks that you can create using the account.

For the default limit, see Limits in the Amazon Route 53 Developer Guide. To request a higher limit, open a case.

You can also view account limits in AWS Trusted Advisor. Sign in to the AWS Management Console and open the Trusted Advisor console at https://console.aws.amazon.com/trustedadvisor/. Then choose Service limits in the navigation pane.

" }, "GetChange":{ "name":"GetChange", @@ -536,7 +536,7 @@ {"shape":"InvalidInput"}, {"shape":"HostedZoneNotPrivate"} ], - "documentation":"

Gets the specified limit for a specified hosted zone, for example, the maximum number of records that you can create in the hosted zone.

For the default limit, see Limits in the Amazon Route 53 Developer Guide. To request a higher limit, open a case.

" + "documentation":"

Gets the specified limit for a specified hosted zone, for example, the maximum number of records that you can create in the hosted zone.

For the default limit, see Limits in the Amazon Route 53 Developer Guide. To request a higher limit, open a case.

" }, "GetQueryLoggingConfig":{ "name":"GetQueryLoggingConfig", @@ -550,7 +550,7 @@ {"shape":"NoSuchQueryLoggingConfig"}, {"shape":"InvalidInput"} ], - "documentation":"

Gets information about a specified configuration for DNS query logging.

For more information about DNS query logs, see CreateQueryLoggingConfig and Logging DNS Queries.

" + "documentation":"

Gets information about a specified configuration for DNS query logging.

For more information about DNS query logs, see CreateQueryLoggingConfig and Logging DNS Queries.

" }, "GetReusableDelegationSet":{ "name":"GetReusableDelegationSet", @@ -579,7 +579,7 @@ {"shape":"InvalidInput"}, {"shape":"NoSuchDelegationSet"} ], - "documentation":"

Gets the maximum number of hosted zones that you can associate with the specified reusable delegation set.

For the default limit, see Limits in the Amazon Route 53 Developer Guide. To request a higher limit, open a case.

" + "documentation":"

Gets the maximum number of hosted zones that you can associate with the specified reusable delegation set.

For the default limit, see Limits in the Amazon Route 53 Developer Guide. To request a higher limit, open a case.

" }, "GetTrafficPolicy":{ "name":"GetTrafficPolicy", @@ -688,7 +688,7 @@ {"shape":"InvalidPaginationToken"}, {"shape":"NoSuchHostedZone"} ], - "documentation":"

Lists the configurations for DNS query logging that are associated with the current AWS account or the configuration that is associated with a specified hosted zone.

For more information about DNS query logs, see CreateQueryLoggingConfig. Additional information, including the format of DNS query logs, appears in Logging DNS Queries in the Amazon Route 53 Developer Guide.

" + "documentation":"

Lists the configurations for DNS query logging that are associated with the current AWS account or the configuration that is associated with a specified hosted zone.

For more information about DNS query logs, see CreateQueryLoggingConfig. Additional information, including the format of DNS query logs, appears in Logging DNS Queries in the Amazon Route 53 Developer Guide.

" }, "ListResourceRecordSets":{ "name":"ListResourceRecordSets", @@ -732,7 +732,7 @@ {"shape":"PriorRequestNotComplete"}, {"shape":"ThrottlingException"} ], - "documentation":"

Lists tags for one health check or hosted zone.

For information about using tags for cost allocation, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" + "documentation":"

Lists tags for one health check or hosted zone.

For information about using tags for cost allocation, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" }, "ListTagsForResources":{ "name":"ListTagsForResources", @@ -753,7 +753,7 @@ {"shape":"PriorRequestNotComplete"}, {"shape":"ThrottlingException"} ], - "documentation":"

Lists tags for up to 10 health checks or hosted zones.

For information about using tags for cost allocation, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" + "documentation":"

Lists tags for up to 10 health checks or hosted zones.

For information about using tags for cost allocation, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" }, "ListTrafficPolicies":{ "name":"ListTrafficPolicies", @@ -947,7 +947,7 @@ }, "Value":{ "shape":"LimitValue", - "documentation":"

The current value for the limit that is specified by AccountLimit$Type.

" + "documentation":"

The current value for the limit that is specified by Type.

" } }, "documentation":"

A complex type that contains the type of limit that you specified in the request and the current value for that limit.

" @@ -996,18 +996,18 @@ "members":{ "HostedZoneId":{ "shape":"ResourceId", - "documentation":"

Alias resource records sets only: The value used depends on where you want to route traffic:

CloudFront distribution

Specify Z2FDTNDATAQYW2.

Alias resource record sets for CloudFront can't be created in a private zone.

Elastic Beanstalk environment

Specify the hosted zone ID for the region that you created the environment in. The environment must have a regionalized subdomain. For a list of regions and the corresponding hosted zone IDs, see AWS Elastic Beanstalk in the \"AWS Regions and Endpoints\" chapter of the Amazon Web Services General Reference.

ELB load balancer

Specify the value of the hosted zone ID for the load balancer. Use the following methods to get the hosted zone ID:

  • Elastic Load Balancing table in the \"AWS Regions and Endpoints\" chapter of the Amazon Web Services General Reference: Use the value that corresponds with the region that you created your load balancer in. Note that there are separate columns for Application and Classic Load Balancers and for Network Load Balancers.

  • AWS Management Console: Go to the Amazon EC2 page, choose Load Balancers in the navigation pane, select the load balancer, and get the value of the Hosted zone field on the Description tab.

  • Elastic Load Balancing API: Use DescribeLoadBalancers to get the applicable value. For more information, see the applicable guide:

  • AWS CLI: Use describe-load-balancers to get the applicable value. For more information, see the applicable guide:

An Amazon S3 bucket configured as a static website

Specify the hosted zone ID for the region that you created the bucket in. For more information about valid values, see the Amazon Simple Storage Service Website Endpoints table in the \"AWS Regions and Endpoints\" chapter of the Amazon Web Services General Reference.

Another Route 53 resource record set in your hosted zone

Specify the hosted zone ID of your hosted zone. (An alias resource record set can't reference a resource record set in a different hosted zone.)

" + "documentation":"

Alias resource records sets only: The value used depends on where you want to route traffic:

Amazon API Gateway custom regional APIs and edge-optimized APIs

Specify the hosted zone ID for your API. You can get the applicable value using the AWS CLI command get-domain-names:

  • For regional APIs, specify the value of regionalHostedZoneId.

  • For edge-optimized APIs, specify the value of distributionHostedZoneId.

Amazon Virtual Private Cloud interface VPC endpoint

Specify the hosted zone ID for your interface endpoint. You can get the value of HostedZoneId using the AWS CLI command describe-vpc-endpoints.

CloudFront distribution

Specify Z2FDTNDATAQYW2.

Alias resource record sets for CloudFront can't be created in a private zone.

Elastic Beanstalk environment

Specify the hosted zone ID for the region that you created the environment in. The environment must have a regionalized subdomain. For a list of regions and the corresponding hosted zone IDs, see AWS Elastic Beanstalk in the \"AWS Regions and Endpoints\" chapter of the Amazon Web Services General Reference.

ELB load balancer

Specify the value of the hosted zone ID for the load balancer. Use the following methods to get the hosted zone ID:

  • Elastic Load Balancing table in the \"AWS Regions and Endpoints\" chapter of the Amazon Web Services General Reference: Use the value that corresponds with the region that you created your load balancer in. Note that there are separate columns for Application and Classic Load Balancers and for Network Load Balancers.

  • AWS Management Console: Go to the Amazon EC2 page, choose Load Balancers in the navigation pane, select the load balancer, and get the value of the Hosted zone field on the Description tab.

  • Elastic Load Balancing API: Use DescribeLoadBalancers to get the applicable value. For more information, see the applicable guide:

  • AWS CLI: Use describe-load-balancers to get the applicable value. For more information, see the applicable guide:

An Amazon S3 bucket configured as a static website

Specify the hosted zone ID for the region that you created the bucket in. For more information about valid values, see the Amazon Simple Storage Service Website Endpoints table in the \"AWS Regions and Endpoints\" chapter of the Amazon Web Services General Reference.

Another Route 53 resource record set in your hosted zone

Specify the hosted zone ID of your hosted zone. (An alias resource record set can't reference a resource record set in a different hosted zone.)

" }, "DNSName":{ "shape":"DNSName", - "documentation":"

Alias resource record sets only: The value that you specify depends on where you want to route queries:

CloudFront distribution

Specify the domain name that CloudFront assigned when you created your distribution.

Your CloudFront distribution must include an alternate domain name that matches the name of the resource record set. For example, if the name of the resource record set is acme.example.com, your CloudFront distribution must include acme.example.com as one of the alternate domain names. For more information, see Using Alternate Domain Names (CNAMEs) in the Amazon CloudFront Developer Guide.

For failover alias records, you can't specify a CloudFront distribution for both the primary and secondary records. A distribution must include an alternate domain name that matches the name of the record. However, the primary and secondary records have the same name, and you can't include the same alternate domain name in more than one distribution.

Elastic Beanstalk environment

If the domain name for your Elastic Beanstalk environment includes the region that you deployed the environment in, you can create an alias record that routes traffic to the environment. For example, the domain name my-environment.us-west-2.elasticbeanstalk.com is a regionalized domain name.

For environments that were created before early 2016, the domain name doesn't include the region. To route traffic to these environments, you must create a CNAME record instead of an alias record. Note that you can't create a CNAME record for the root domain name. For example, if your domain name is example.com, you can create a record that routes traffic for acme.example.com to your Elastic Beanstalk environment, but you can't create a record that routes traffic for example.com to your Elastic Beanstalk environment.

For Elastic Beanstalk environments that have regionalized subdomains, specify the CNAME attribute for the environment. You can use the following methods to get the value of the CNAME attribute:

  • AWS Management Console: For information about how to get the value by using the console, see Using Custom Domains with AWS Elastic Beanstalk in the AWS Elastic Beanstalk Developer Guide.

  • Elastic Beanstalk API: Use the DescribeEnvironments action to get the value of the CNAME attribute. For more information, see DescribeEnvironments in the AWS Elastic Beanstalk API Reference.

  • AWS CLI: Use the describe-environments command to get the value of the CNAME attribute. For more information, see describe-environments in the AWS Command Line Interface Reference.

ELB load balancer

Specify the DNS name that is associated with the load balancer. Get the DNS name by using the AWS Management Console, the ELB API, or the AWS CLI.

  • AWS Management Console: Go to the EC2 page, choose Load Balancers in the navigation pane, choose the load balancer, choose the Description tab, and get the value of the DNS name field. (If you're routing traffic to a Classic Load Balancer, get the value that begins with dualstack.)

  • Elastic Load Balancing API: Use DescribeLoadBalancers to get the value of DNSName. For more information, see the applicable guide:

  • AWS CLI: Use describe-load-balancers to get the value of DNSName. For more information, see the applicable guide:

Amazon S3 bucket that is configured as a static website

Specify the domain name of the Amazon S3 website endpoint that you created the bucket in, for example, s3-website-us-east-2.amazonaws.com. For more information about valid values, see the table Amazon Simple Storage Service (S3) Website Endpoints in the Amazon Web Services General Reference. For more information about using S3 buckets for websites, see Getting Started with Amazon Route 53 in the Amazon Route 53 Developer Guide.

Another Route 53 resource record set

Specify the value of the Name element for a resource record set in the current hosted zone.

If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't specify the domain name for a record for which the value of Type is CNAME. This is because the alias record must have the same type as the record that you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.

" + "documentation":"

Alias resource record sets only: The value that you specify depends on where you want to route queries:

Amazon API Gateway custom regional APIs and edge-optimized APIs

Specify the applicable domain name for your API. You can get the applicable value using the AWS CLI command get-domain-names:

  • For regional APIs, specify the value of regionalDomainName.

  • For edge-optimized APIs, specify the value of distributionDomainName. This is the name of the associated CloudFront distribution, such as da1b2c3d4e5.cloudfront.net.

The name of the record that you're creating must match a custom domain name for your API, such as api.example.com.

Amazon Virtual Private Cloud interface VPC endpoint

Enter the API endpoint for the interface endpoint, such as vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com. For edge-optimized APIs, this is the domain name for the corresponding CloudFront distribution. You can get the value of DnsName using the AWS CLI command describe-vpc-endpoints.

CloudFront distribution

Specify the domain name that CloudFront assigned when you created your distribution.

Your CloudFront distribution must include an alternate domain name that matches the name of the resource record set. For example, if the name of the resource record set is acme.example.com, your CloudFront distribution must include acme.example.com as one of the alternate domain names. For more information, see Using Alternate Domain Names (CNAMEs) in the Amazon CloudFront Developer Guide.

You can't create a resource record set in a private hosted zone to route traffic to a CloudFront distribution.

For failover alias records, you can't specify a CloudFront distribution for both the primary and secondary records. A distribution must include an alternate domain name that matches the name of the record. However, the primary and secondary records have the same name, and you can't include the same alternate domain name in more than one distribution.

Elastic Beanstalk environment

If the domain name for your Elastic Beanstalk environment includes the region that you deployed the environment in, you can create an alias record that routes traffic to the environment. For example, the domain name my-environment.us-west-2.elasticbeanstalk.com is a regionalized domain name.

For environments that were created before early 2016, the domain name doesn't include the region. To route traffic to these environments, you must create a CNAME record instead of an alias record. Note that you can't create a CNAME record for the root domain name. For example, if your domain name is example.com, you can create a record that routes traffic for acme.example.com to your Elastic Beanstalk environment, but you can't create a record that routes traffic for example.com to your Elastic Beanstalk environment.

For Elastic Beanstalk environments that have regionalized subdomains, specify the CNAME attribute for the environment. You can use the following methods to get the value of the CNAME attribute:

  • AWS Management Console: For information about how to get the value by using the console, see Using Custom Domains with AWS Elastic Beanstalk in the AWS Elastic Beanstalk Developer Guide.

  • Elastic Beanstalk API: Use the DescribeEnvironments action to get the value of the CNAME attribute. For more information, see DescribeEnvironments in the AWS Elastic Beanstalk API Reference.

  • AWS CLI: Use the describe-environments command to get the value of the CNAME attribute. For more information, see describe-environments in the AWS Command Line Interface Reference.

ELB load balancer

Specify the DNS name that is associated with the load balancer. Get the DNS name by using the AWS Management Console, the ELB API, or the AWS CLI.

  • AWS Management Console: Go to the EC2 page, choose Load Balancers in the navigation pane, choose the load balancer, choose the Description tab, and get the value of the DNS name field.

    If you're routing traffic to a Classic Load Balancer, get the value that begins with dualstack. If you're routing traffic to another type of load balancer, get the value that applies to the record type, A or AAAA.

  • Elastic Load Balancing API: Use DescribeLoadBalancers to get the value of DNSName. For more information, see the applicable guide:

  • AWS CLI: Use describe-load-balancers to get the value of DNSName. For more information, see the applicable guide:

Amazon S3 bucket that is configured as a static website

Specify the domain name of the Amazon S3 website endpoint that you created the bucket in, for example, s3-website.us-east-2.amazonaws.com. For more information about valid values, see the table Amazon Simple Storage Service (S3) Website Endpoints in the Amazon Web Services General Reference. For more information about using S3 buckets for websites, see Getting Started with Amazon Route 53 in the Amazon Route 53 Developer Guide.

Another Route 53 resource record set

Specify the value of the Name element for a resource record set in the current hosted zone.

If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't specify the domain name for a record for which the value of Type is CNAME. This is because the alias record must have the same type as the record that you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.

" }, "EvaluateTargetHealth":{ "shape":"AliasHealthEnabled", - "documentation":"

Applies only to alias, failover alias, geolocation alias, latency alias, and weighted alias resource record sets: When EvaluateTargetHealth is true, an alias resource record set inherits the health of the referenced AWS resource, such as an ELB load balancer or another resource record set in the hosted zone.

Note the following:

CloudFront distributions

You can't set EvaluateTargetHealth to true when the alias target is a CloudFront distribution.

Elastic Beanstalk environments that have regionalized subdomains

If you specify an Elastic Beanstalk environment in DNSName and the environment contains an ELB load balancer, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. (An environment automatically contains an ELB load balancer if it includes more than one Amazon EC2 instance.) If you set EvaluateTargetHealth to true and either no Amazon EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other available resources that are healthy, if any.

If the environment contains a single Amazon EC2 instance, there are no special requirements.

ELB load balancers

Health checking behavior depends on the type of load balancer:

  • Classic Load Balancers: If you specify an ELB Classic Load Balancer in DNSName, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. If you set EvaluateTargetHealth to true and either no EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other resources.

  • Application and Network Load Balancers: If you specify an ELB Application or Network Load Balancer and you set EvaluateTargetHealth to true, Route 53 routes queries to the load balancer based on the health of the target groups that are associated with the load balancer:

    • For an Application or Network Load Balancer to be considered healthy, every target group that contains targets must contain at least one healthy target. If any target group contains only unhealthy targets, the load balancer is considered unhealthy, and Route 53 routes queries to other resources.

    • A target group that has no registered targets is considered healthy.

When you create a load balancer, you configure settings for Elastic Load Balancing health checks; they're not Route 53 health checks, but they perform a similar function. Do not create Route 53 health checks for the EC2 instances that you register with an ELB load balancer.

S3 buckets

There are no special requirements for setting EvaluateTargetHealth to true when the alias target is an S3 bucket.

Other records in the same hosted zone

If the AWS resource that you specify in DNSName is a record or a group of records (for example, a group of weighted records) but is not another alias record, we recommend that you associate a health check with all of the records in the alias target. For more information, see What Happens When You Omit Health Checks? in the Amazon Route 53 Developer Guide.

For more information and examples, see Amazon Route 53 Health Checks and DNS Failover in the Amazon Route 53 Developer Guide.

" + "documentation":"

Applies only to alias, failover alias, geolocation alias, latency alias, and weighted alias resource record sets: When EvaluateTargetHealth is true, an alias resource record set inherits the health of the referenced AWS resource, such as an ELB load balancer or another resource record set in the hosted zone.

Note the following:

CloudFront distributions

You can't set EvaluateTargetHealth to true when the alias target is a CloudFront distribution.

Elastic Beanstalk environments that have regionalized subdomains

If you specify an Elastic Beanstalk environment in DNSName and the environment contains an ELB load balancer, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. (An environment automatically contains an ELB load balancer if it includes more than one Amazon EC2 instance.) If you set EvaluateTargetHealth to true and either no Amazon EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other available resources that are healthy, if any.

If the environment contains a single Amazon EC2 instance, there are no special requirements.

ELB load balancers

Health checking behavior depends on the type of load balancer:

  • Classic Load Balancers: If you specify an ELB Classic Load Balancer in DNSName, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. If you set EvaluateTargetHealth to true and either no EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other resources.

  • Application and Network Load Balancers: If you specify an ELB Application or Network Load Balancer and you set EvaluateTargetHealth to true, Route 53 routes queries to the load balancer based on the health of the target groups that are associated with the load balancer:

    • For an Application or Network Load Balancer to be considered healthy, every target group that contains targets must contain at least one healthy target. If any target group contains only unhealthy targets, the load balancer is considered unhealthy, and Route 53 routes queries to other resources.

    • A target group that has no registered targets is considered unhealthy.

When you create a load balancer, you configure settings for Elastic Load Balancing health checks; they're not Route 53 health checks, but they perform a similar function. Do not create Route 53 health checks for the EC2 instances that you register with an ELB load balancer.

S3 buckets

There are no special requirements for setting EvaluateTargetHealth to true when the alias target is an S3 bucket.

Other records in the same hosted zone

If the AWS resource that you specify in DNSName is a record or a group of records (for example, a group of weighted records) but is not another alias record, we recommend that you associate a health check with all of the records in the alias target. For more information, see What Happens When You Omit Health Checks? in the Amazon Route 53 Developer Guide.

For more information and examples, see Amazon Route 53 Health Checks and DNS Failover in the Amazon Route 53 Developer Guide.

" } }, - "documentation":"

Alias resource record sets only: Information about the CloudFront distribution, Elastic Beanstalk environment, ELB load balancer, Amazon S3 bucket, or Amazon Route 53 resource record set that you're redirecting queries to. An Elastic Beanstalk environment must have a regionalized subdomain.

When creating resource record sets for a private hosted zone, note the following:

  • Resource record sets can't be created for CloudFront distributions in a private hosted zone.

  • Creating geolocation alias resource record sets or latency alias resource record sets in a private hosted zone is unsupported.

  • For information about creating failover resource record sets in a private hosted zone, see Configuring Failover in a Private Hosted Zone.

" + "documentation":"

Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to.

When creating resource record sets for a private hosted zone, note the following:

  • Creating geolocation alias resource record sets or latency alias resource record sets in a private hosted zone is unsupported.

  • For information about creating failover resource record sets in a private hosted zone, see Configuring Failover in a Private Hosted Zone.

" }, "AssociateVPCComment":{"type":"string"}, "AssociateVPCWithHostedZoneRequest":{ @@ -1054,7 +1054,7 @@ "members":{ "Action":{ "shape":"ChangeAction", - "documentation":"

The action to perform:

  • CREATE: Creates a resource record set that has the specified values.

  • DELETE: Deletes a existing resource record set.

    To delete the resource record set that is associated with a traffic policy instance, use DeleteTrafficPolicyInstance . Amazon Route 53 will delete the resource record set automatically. If you delete the resource record set by using ChangeResourceRecordSets, Route 53 doesn't automatically delete the traffic policy instance, and you'll continue to be charged for it even though it's no longer in use.

  • UPSERT: If a resource record set doesn't already exist, Route 53 creates it. If a resource record set does exist, Route 53 updates it with the values in the request.

" + "documentation":"

The action to perform:

  • CREATE: Creates a resource record set that has the specified values.

  • DELETE: Deletes a existing resource record set.

    To delete the resource record set that is associated with a traffic policy instance, use DeleteTrafficPolicyInstance. Amazon Route 53 will delete the resource record set automatically. If you delete the resource record set by using ChangeResourceRecordSets, Route 53 doesn't automatically delete the traffic policy instance, and you'll continue to be charged for it even though it's no longer in use.

  • UPSERT: If a resource record set doesn't already exist, Route 53 creates it. If a resource record set does exist, Route 53 updates it with the values in the request.

" }, "ResourceRecordSet":{ "shape":"ResourceRecordSet", @@ -1108,7 +1108,7 @@ }, "Comment":{ "shape":"ResourceDescription", - "documentation":"

A complex type that describes change information about changes made to your hosted zone.

This element contains an ID that you use when performing a GetChange action to get detailed information about the change.

" + "documentation":"

A complex type that describes change information about changes made to your hosted zone.

This element contains an ID that you use when performing a GetChange action to get detailed information about the change.

" } }, "documentation":"

A complex type that describes change information about changes made to your hosted zone.

" @@ -1139,7 +1139,7 @@ "members":{ "ChangeInfo":{ "shape":"ChangeInfo", - "documentation":"

A complex type that contains information about changes made to your hosted zone.

This element contains an ID that you use when performing a GetChange action to get detailed information about the change.

" + "documentation":"

A complex type that contains information about changes made to your hosted zone.

This element contains an ID that you use when performing a GetChange action to get detailed information about the change.

" } }, "documentation":"

A complex type containing the response for the request.

" @@ -1267,13 +1267,17 @@ "eu-west-1", "eu-west-2", "eu-west-3", + "ap-east-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", - "sa-east-1" + "eu-north-1", + "sa-east-1", + "cn-northwest-1", + "cn-north-1" ], "max":64, "min":1 @@ -1304,7 +1308,7 @@ "members":{ "message":{"shape":"ErrorMessage"} }, - "documentation":"

The cause of this error depends on whether you're trying to create a public or a private hosted zone:

  • Public hosted zone: Two hosted zones that have the same name or that have a parent/child relationship (example.com and test.example.com) can't have any common name servers. You tried to create a hosted zone that has the same name as an existing hosted zone or that's the parent or child of an existing hosted zone, and you specified a delegation set that shares one or more name servers with the existing hosted zone. For more information, see CreateReusableDelegationSet.

  • Private hosted zone: You specified an Amazon VPC that you're already using for another hosted zone, and the domain that you specified for one of the hosted zones is a subdomain of the domain that you specified for the other hosted zone. For example, you can't use the same Amazon VPC for the hosted zones for example.com and test.example.com.

", + "documentation":"

The cause of this error depends on whether you're trying to create a public or a private hosted zone:

  • Public hosted zone: Two hosted zones that have the same name or that have a parent/child relationship (example.com and test.example.com) can't have any common name servers. You tried to create a hosted zone that has the same name as an existing hosted zone or that's the parent or child of an existing hosted zone, and you specified a delegation set that shares one or more name servers with the existing hosted zone. For more information, see CreateReusableDelegationSet.

  • Private hosted zone: You specified an Amazon VPC that you're already using for another hosted zone, and the domain that you specified for one of the hosted zones is a subdomain of the domain that you specified for the other hosted zone. For example, you can't use the same Amazon VPC for the hosted zones for example.com and test.example.com.

", "exception":true }, "ConflictingTypes":{ @@ -1370,7 +1374,7 @@ }, "VPC":{ "shape":"VPC", - "documentation":"

(Private hosted zones only) A complex type that contains information about the Amazon VPC that you're associating with this hosted zone.

You can specify only one Amazon VPC when you create a private hosted zone. To associate additional Amazon VPCs with the hosted zone, use AssociateVPCWithHostedZone after you create a hosted zone.

" + "documentation":"

(Private hosted zones only) A complex type that contains information about the Amazon VPC that you're associating with this hosted zone.

You can specify only one Amazon VPC when you create a private hosted zone. To associate additional Amazon VPCs with the hosted zone, use AssociateVPCWithHostedZone after you create a hosted zone.

" }, "CallerReference":{ "shape":"Nonce", @@ -1382,7 +1386,7 @@ }, "DelegationSetId":{ "shape":"ResourceId", - "documentation":"

If you want to associate a reusable delegation set with this hosted zone, the ID that Amazon Route 53 assigned to the reusable delegation set when you created it. For more information about reusable delegation sets, see CreateReusableDelegationSet.

" + "documentation":"

If you want to associate a reusable delegation set with this hosted zone, the ID that Amazon Route 53 assigned to the reusable delegation set when you created it. For more information about reusable delegation sets, see CreateReusableDelegationSet.

" } }, "documentation":"

A complex type that contains information about the request to create a public or private hosted zone.

" @@ -1434,7 +1438,7 @@ }, "CloudWatchLogsLogGroupArn":{ "shape":"CloudWatchLogsLogGroupArn", - "documentation":"

The Amazon Resource Name (ARN) for the log group that you want to Amazon Route 53 to send query logs to. This is the format of the ARN:

arn:aws:logs:region:account-id:log-group:log_group_name

To get the ARN for a log group, you can use the CloudWatch console, the DescribeLogGroups API action, the describe-log-groups command, or the applicable command in one of the AWS SDKs.

" + "documentation":"

The Amazon Resource Name (ARN) for the log group that you want to Amazon Route 53 to send query logs to. This is the format of the ARN:

arn:aws:logs:region:account-id:log-group:log_group_name

To get the ARN for a log group, you can use the CloudWatch console, the DescribeLogGroups API action, the describe-log-groups command, or the applicable command in one of the AWS SDKs.

" } } }, @@ -1556,7 +1560,7 @@ }, "Document":{ "shape":"TrafficPolicyDocument", - "documentation":"

The definition of this traffic policy in JSON format. For more information, see Traffic Policy Document Format.

" + "documentation":"

The definition of this traffic policy in JSON format. For more information, see Traffic Policy Document Format.

" }, "Comment":{ "shape":"TrafficPolicyComment", @@ -1600,7 +1604,7 @@ }, "Document":{ "shape":"TrafficPolicyDocument", - "documentation":"

The definition of this version of the traffic policy, in JSON format. You specified the JSON in the CreateTrafficPolicyVersion request. For more information about the JSON format, see CreateTrafficPolicy.

" + "documentation":"

The definition of this version of the traffic policy, in JSON format. You specified the JSON in the CreateTrafficPolicyVersion request. For more information about the JSON format, see CreateTrafficPolicy.

" }, "Comment":{ "shape":"TrafficPolicyComment", @@ -2146,14 +2150,19 @@ "GetCheckerIpRangesRequest":{ "type":"structure", "members":{ - } + }, + "documentation":"

Empty request.

" }, "GetCheckerIpRangesResponse":{ "type":"structure", "required":["CheckerIpRanges"], "members":{ - "CheckerIpRanges":{"shape":"CheckerIpRanges"} - } + "CheckerIpRanges":{ + "shape":"CheckerIpRanges", + "documentation":"

A complex type that contains sorted list of IP ranges in CIDR format for Amazon Route 53 health checkers.

" + } + }, + "documentation":"

A complex type that contains the CheckerIpRanges element.

" }, "GetGeoLocationRequest":{ "type":"structure", @@ -2386,7 +2395,7 @@ "members":{ "QueryLoggingConfig":{ "shape":"QueryLoggingConfig", - "documentation":"

A complex type that contains information about the query logging configuration that you specified in a GetQueryLoggingConfig request.

" + "documentation":"

A complex type that contains information about the query logging configuration that you specified in a GetQueryLoggingConfig request.

" } } }, @@ -2582,7 +2591,7 @@ "members":{ "IPAddress":{ "shape":"IPAddress", - "documentation":"

The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53 to perform health checks on. If you don't specify a value for IPAddress, Route 53 sends a DNS request to resolve the domain name that you specify in FullyQualifiedDomainName at the interval that you specify in RequestInterval. Using an IP address returned by DNS, Route 53 then checks the health of the endpoint.

Use one of the following formats for the value of IPAddress:

  • IPv4 address: four values between 0 and 255, separated by periods (.), for example, 192.0.2.44.

  • IPv6 address: eight groups of four hexadecimal values, separated by colons (:), for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345. You can also shorten IPv6 addresses as described in RFC 5952, for example, 2001:db8:85a3::abcd:1:2345.

If the endpoint is an EC2 instance, we recommend that you create an Elastic IP address, associate it with your EC2 instance, and specify the Elastic IP address for IPAddress. This ensures that the IP address of your instance will never change.

For more information, see HealthCheckConfig$FullyQualifiedDomainName.

Constraints: Route 53 can't check the health of endpoints for which the IP address is in local, private, non-routable, or multicast ranges. For more information about IP addresses for which you can't create health checks, see the following documents:

When the value of Type is CALCULATED or CLOUDWATCH_METRIC, omit IPAddress.

" + "documentation":"

The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53 to perform health checks on. If you don't specify a value for IPAddress, Route 53 sends a DNS request to resolve the domain name that you specify in FullyQualifiedDomainName at the interval that you specify in RequestInterval. Using an IP address returned by DNS, Route 53 then checks the health of the endpoint.

Use one of the following formats for the value of IPAddress:

  • IPv4 address: four values between 0 and 255, separated by periods (.), for example, 192.0.2.44.

  • IPv6 address: eight groups of four hexadecimal values, separated by colons (:), for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345. You can also shorten IPv6 addresses as described in RFC 5952, for example, 2001:db8:85a3::abcd:1:2345.

If the endpoint is an EC2 instance, we recommend that you create an Elastic IP address, associate it with your EC2 instance, and specify the Elastic IP address for IPAddress. This ensures that the IP address of your instance will never change.

For more information, see FullyQualifiedDomainName.

Constraints: Route 53 can't check the health of endpoints for which the IP address is in local, private, non-routable, or multicast ranges. For more information about IP addresses for which you can't create health checks, see the following documents:

When the value of Type is CALCULATED or CLOUDWATCH_METRIC, omit IPAddress.

" }, "Port":{ "shape":"Port", @@ -2590,7 +2599,7 @@ }, "Type":{ "shape":"HealthCheckType", - "documentation":"

The type of health check that you want to create, which indicates how Amazon Route 53 determines whether an endpoint is healthy.

You can't change the value of Type after you create a health check.

You can create the following types of health checks:

  • HTTP: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and waits for an HTTP status code of 200 or greater and less than 400.

  • HTTPS: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTPS request and waits for an HTTP status code of 200 or greater and less than 400.

    If you specify HTTPS for the value of Type, the endpoint must support TLS v1.0 or later.

  • HTTP_STR_MATCH: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and searches the first 5,120 bytes of the response body for the string that you specify in SearchString.

  • HTTPS_STR_MATCH: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTPS request and searches the first 5,120 bytes of the response body for the string that you specify in SearchString.

  • TCP: Route 53 tries to establish a TCP connection.

  • CLOUDWATCH_METRIC: The health check is associated with a CloudWatch alarm. If the state of the alarm is OK, the health check is considered healthy. If the state is ALARM, the health check is considered unhealthy. If CloudWatch doesn't have sufficient data to determine whether the state is OK or ALARM, the health check status depends on the setting for InsufficientDataHealthStatus: Healthy, Unhealthy, or LastKnownStatus.

  • CALCULATED: For health checks that monitor the status of other health checks, Route 53 adds up the number of health checks that Route 53 health checkers consider to be healthy and compares that number with the value of HealthThreshold.

For more information, see How Route 53 Determines Whether an Endpoint Is Healthy in the Amazon Route 53 Developer Guide.

" + "documentation":"

The type of health check that you want to create, which indicates how Amazon Route 53 determines whether an endpoint is healthy.

You can't change the value of Type after you create a health check.

You can create the following types of health checks:

  • HTTP: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and waits for an HTTP status code of 200 or greater and less than 400.

  • HTTPS: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTPS request and waits for an HTTP status code of 200 or greater and less than 400.

    If you specify HTTPS for the value of Type, the endpoint must support TLS v1.0 or later.

  • HTTP_STR_MATCH: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and searches the first 5,120 bytes of the response body for the string that you specify in SearchString.

  • HTTPS_STR_MATCH: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTPS request and searches the first 5,120 bytes of the response body for the string that you specify in SearchString.

  • TCP: Route 53 tries to establish a TCP connection.

  • CLOUDWATCH_METRIC: The health check is associated with a CloudWatch alarm. If the state of the alarm is OK, the health check is considered healthy. If the state is ALARM, the health check is considered unhealthy. If CloudWatch doesn't have sufficient data to determine whether the state is OK or ALARM, the health check status depends on the setting for InsufficientDataHealthStatus: Healthy, Unhealthy, or LastKnownStatus.

  • CALCULATED: For health checks that monitor the status of other health checks, Route 53 adds up the number of health checks that Route 53 health checkers consider to be healthy and compares that number with the value of HealthThreshold.

For more information, see How Route 53 Determines Whether an Endpoint Is Healthy in the Amazon Route 53 Developer Guide.

" }, "ResourcePath":{ "shape":"ResourcePath", @@ -2622,11 +2631,11 @@ }, "Disabled":{ "shape":"Disabled", - "documentation":"

Stops Route 53 from performing health checks. When you disable a health check, here's what happens:

  • Health checks that check the health of endpoints: Route 53 stops submitting requests to your application, server, or other resource.

  • Calculated health checks: Route 53 stops aggregating the status of the referenced health checks.

  • Health checks that monitor CloudWatch alarms: Route 53 stops monitoring the corresponding CloudWatch metrics.

After you disable a health check, Route 53 considers the status of the health check to always be healthy. If you configured DNS failover, Route 53 continues to route traffic to the corresponding resources. If you want to stop routing traffic to a resource, change the value of UpdateHealthCheckRequest$Inverted.

Charges for a health check still apply when the health check is disabled. For more information, see Amazon Route 53 Pricing.

" + "documentation":"

Stops Route 53 from performing health checks. When you disable a health check, here's what happens:

  • Health checks that check the health of endpoints: Route 53 stops submitting requests to your application, server, or other resource.

  • Calculated health checks: Route 53 stops aggregating the status of the referenced health checks.

  • Health checks that monitor CloudWatch alarms: Route 53 stops monitoring the corresponding CloudWatch metrics.

After you disable a health check, Route 53 considers the status of the health check to always be healthy. If you configured DNS failover, Route 53 continues to route traffic to the corresponding resources. If you want to stop routing traffic to a resource, change the value of Inverted.

Charges for a health check still apply when the health check is disabled. For more information, see Amazon Route 53 Pricing.

" }, "HealthThreshold":{ "shape":"HealthThreshold", - "documentation":"

The number of child health checks that are associated with a CALCULATED health that Amazon Route 53 must consider healthy for the CALCULATED health check to be considered healthy. To specify the child health checks that you want to associate with a CALCULATED health check, use the HealthCheckConfig$ChildHealthChecks and HealthCheckConfig$ChildHealthChecks elements.

Note the following:

  • If you specify a number greater than the number of child health checks, Route 53 always considers this health check to be unhealthy.

  • If you specify 0, Route 53 always considers this health check to be healthy.

" + "documentation":"

The number of child health checks that are associated with a CALCULATED health check that Amazon Route 53 must consider healthy for the CALCULATED health check to be considered healthy. To specify the child health checks that you want to associate with a CALCULATED health check, use the ChildHealthChecks element.

Note the following:

  • If you specify a number greater than the number of child health checks, Route 53 always considers this health check to be unhealthy.

  • If you specify 0, Route 53 always considers this health check to be healthy.

" }, "ChildHealthChecks":{ "shape":"ChildHealthCheckList", @@ -2774,7 +2783,7 @@ }, "Name":{ "shape":"DNSName", - "documentation":"

The name of the domain. For public hosted zones, this is the name that you have registered with your DNS registrar.

For information about how to specify characters other than a-z, 0-9, and - (hyphen) and how to specify internationalized domain names, see CreateHostedZone.

" + "documentation":"

The name of the domain. For public hosted zones, this is the name that you have registered with your DNS registrar.

For information about how to specify characters other than a-z, 0-9, and - (hyphen) and how to specify internationalized domain names, see CreateHostedZone.

" }, "CallerReference":{ "shape":"Nonce", @@ -3027,7 +3036,7 @@ "documentation":"

Descriptive message for the error response.

" } }, - "documentation":"

This operation can't be completed either because the current account has reached the limit on reusable delegation sets that it can create or because you've reached the limit on the number of Amazon VPCs that you can associate with a private hosted zone. To get the current limit on the number of reusable delegation sets, see GetAccountLimit. To get the current limit on the number of Amazon VPCs that you can associate with a private hosted zone, see GetHostedZoneLimit. To request a higher limit, create a case with the AWS Support Center.

", + "documentation":"

This operation can't be completed either because the current account has reached the limit on reusable delegation sets that it can create or because you've reached the limit on the number of Amazon VPCs that you can associate with a private hosted zone. To get the current limit on the number of reusable delegation sets, see GetAccountLimit. To get the current limit on the number of Amazon VPCs that you can associate with a private hosted zone, see GetHostedZoneLimit. To request a higher limit, create a case with the AWS Support Center.

", "exception":true }, "LinkedService":{ @@ -3294,7 +3303,7 @@ }, "MaxResults":{ "shape":"MaxResults", - "documentation":"

(Optional) The maximum number of query logging configurations that you want Amazon Route 53 to return in response to the current request. If the current AWS account has more than MaxResults configurations, use the value of ListQueryLoggingConfigsResponse$NextToken in the response to get the next page of results.

If you don't specify a value for MaxResults, Route 53 returns up to 100 configurations.

", + "documentation":"

(Optional) The maximum number of query logging configurations that you want Amazon Route 53 to return in response to the current request. If the current AWS account has more than MaxResults configurations, use the value of NextToken in the response to get the next page of results.

If you don't specify a value for MaxResults, Route 53 returns up to 100 configurations.

", "location":"querystring", "locationName":"maxresults" } @@ -3306,11 +3315,11 @@ "members":{ "QueryLoggingConfigs":{ "shape":"QueryLoggingConfigs", - "documentation":"

An array that contains one QueryLoggingConfig element for each configuration for DNS query logging that is associated with the current AWS account.

" + "documentation":"

An array that contains one QueryLoggingConfig element for each configuration for DNS query logging that is associated with the current AWS account.

" }, "NextToken":{ "shape":"PaginationToken", - "documentation":"

If a response includes the last of the query logging configurations that are associated with the current AWS account, NextToken doesn't appear in the response.

If a response doesn't include the last of the configurations, you can get more configurations by submitting another ListQueryLoggingConfigs request. Get the value of NextToken that Amazon Route 53 returned in the previous response and include it in NextToken in the next request.

" + "documentation":"

If a response includes the last of the query logging configurations that are associated with the current AWS account, NextToken doesn't appear in the response.

If a response doesn't include the last of the configurations, you can get more configurations by submitting another ListQueryLoggingConfigs request. Get the value of NextToken that Amazon Route 53 returned in the previous response and include it in NextToken in the next request.

" } } }, @@ -3332,7 +3341,7 @@ }, "StartRecordType":{ "shape":"RRType", - "documentation":"

The type of resource record set to begin the record listing from.

Valid values for basic resource record sets: A | AAAA | CAA | CNAME | MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT

Values for weighted, latency, geolocation, and failover resource record sets: A | AAAA | CAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT

Values for alias resource record sets:

  • CloudFront distribution: A or AAAA

  • Elastic Beanstalk environment that has a regionalized subdomain: A

  • ELB load balancer: A | AAAA

  • Amazon S3 bucket: A

  • Another resource record set in this hosted zone: The type of the resource record set that the alias references.

Constraint: Specifying type without specifying name returns an InvalidInput error.

", + "documentation":"

The type of resource record set to begin the record listing from.

Valid values for basic resource record sets: A | AAAA | CAA | CNAME | MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT

Values for weighted, latency, geolocation, and failover resource record sets: A | AAAA | CAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT

Values for alias resource record sets:

  • API Gateway custom regional API or edge-optimized API: A

  • CloudFront distribution: A or AAAA

  • Elastic Beanstalk environment that has a regionalized subdomain: A

  • Elastic Load Balancing load balancer: A | AAAA

  • Amazon S3 bucket: A

  • Amazon VPC interface VPC endpoint: A

  • Another resource record set in this hosted zone: The type of the resource record set that the alias references.

Constraint: Specifying type without specifying name returns an InvalidInput error.

", "location":"querystring", "locationName":"type" }, @@ -3377,7 +3386,7 @@ }, "NextRecordIdentifier":{ "shape":"ResourceRecordSetIdentifier", - "documentation":"

Resource record sets that have a routing policy other than simple: If results were truncated for a given DNS name and type, the value of SetIdentifier for the next resource record set that has the current DNS name and type.

For information about routing policies, see Choosing a Routing Policy in the Amazon Route 53 Developer Guide.

" + "documentation":"

Resource record sets that have a routing policy other than simple: If results were truncated for a given DNS name and type, the value of SetIdentifier for the next resource record set that has the current DNS name and type.

For information about routing policies, see Choosing a Routing Policy in the Amazon Route 53 Developer Guide.

" }, "MaxItems":{ "shape":"PageMaxItems", @@ -4150,7 +4159,7 @@ "members":{ "Value":{ "shape":"RData", - "documentation":"

The current or new DNS record value, not to exceed 4,000 characters. In the case of a DELETE action, if the current value does not match the actual value, an error is returned. For descriptions about how to format Value for different record types, see Supported DNS Resource Record Types in the Amazon Route 53 Developer Guide.

You can specify more than one value for all record types except CNAME and SOA.

If you're creating an alias resource record set, omit Value.

" + "documentation":"

The current or new DNS record value, not to exceed 4,000 characters. In the case of a DELETE action, if the current value does not match the actual value, an error is returned. For descriptions about how to format Value for different record types, see Supported DNS Resource Record Types in the Amazon Route 53 Developer Guide.

You can specify more than one value for all record types except CNAME and SOA.

If you're creating an alias resource record set, omit Value.

" } }, "documentation":"

Information specific to the resource record.

If you're creating an alias resource record set, omit ResourceRecord.

" @@ -4168,11 +4177,11 @@ }, "Type":{ "shape":"RRType", - "documentation":"

The DNS record type. For information about different record types and how data is encoded for them, see Supported DNS Resource Record Types in the Amazon Route 53 Developer Guide.

Valid values for basic resource record sets: A | AAAA | CAA | CNAME | MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT

Values for weighted, latency, geolocation, and failover resource record sets: A | AAAA | CAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT. When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.

Valid values for multivalue answer resource record sets: A | AAAA | MX | NAPTR | PTR | SPF | SRV | TXT

SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of Type is SPF. RFC 7208, Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1, has been updated to say, \"...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it.\" In RFC 7208, see section 14.1, The SPF DNS Record Type.

Values for alias resource record sets:

  • CloudFront distributions: A

    If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of A and one with a value of AAAA.

  • AWS Elastic Beanstalk environment that has a regionalized subdomain: A

  • ELB load balancers: A | AAAA

  • Amazon S3 buckets: A

  • Another resource record set in this hosted zone: Specify the type of the resource record set that you're creating the alias for. All values are supported except NS and SOA.

    If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't route traffic to a record for which the value of Type is CNAME. This is because the alias record must have the same type as the record you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.

" + "documentation":"

The DNS record type. For information about different record types and how data is encoded for them, see Supported DNS Resource Record Types in the Amazon Route 53 Developer Guide.

Valid values for basic resource record sets: A | AAAA | CAA | CNAME | MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT

Values for weighted, latency, geolocation, and failover resource record sets: A | AAAA | CAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT. When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.

Valid values for multivalue answer resource record sets: A | AAAA | MX | NAPTR | PTR | SPF | SRV | TXT

SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of Type is SPF. RFC 7208, Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1, has been updated to say, \"...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it.\" In RFC 7208, see section 14.1, The SPF DNS Record Type.

Values for alias resource record sets:

  • Amazon API Gateway custom regional APIs and edge-optimized APIs: A

  • CloudFront distributions: A

    If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of A and one with a value of AAAA.

  • AWS Elastic Beanstalk environment that has a regionalized subdomain: A

  • ELB load balancers: A | AAAA

  • Amazon S3 buckets: A

  • Amazon Virtual Private Cloud interface VPC endpoints A

  • Another resource record set in this hosted zone: Specify the type of the resource record set that you're creating the alias for. All values are supported except NS and SOA.

    If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't route traffic to a record for which the value of Type is CNAME. This is because the alias record must have the same type as the record you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.

" }, "SetIdentifier":{ "shape":"ResourceRecordSetIdentifier", - "documentation":"

Resource record sets that have a routing policy other than simple: An identifier that differentiates among multiple resource record sets that have the same combination of name and type, such as multiple weighted resource record sets named acme.example.com that have a type of A. In a group of resource record sets that have the same name and type, the value of SetIdentifier must be unique for each resource record set.

For information about routing policies, see Choosing a Routing Policy in the Amazon Route 53 Developer Guide.

" + "documentation":"

Resource record sets that have a routing policy other than simple: An identifier that differentiates among multiple resource record sets that have the same combination of name and type, such as multiple weighted resource record sets named acme.example.com that have a type of A. In a group of resource record sets that have the same name and type, the value of SetIdentifier must be unique for each resource record set.

For information about routing policies, see Choosing a Routing Policy in the Amazon Route 53 Developer Guide.

" }, "Weight":{ "shape":"ResourceRecordSetWeight", @@ -4204,11 +4213,11 @@ }, "AliasTarget":{ "shape":"AliasTarget", - "documentation":"

Alias resource record sets only: Information about the CloudFront distribution, AWS Elastic Beanstalk environment, ELB load balancer, Amazon S3 bucket, or Amazon Route 53 resource record set to which you're redirecting queries. The AWS Elastic Beanstalk environment must have a regionalized subdomain.

If you're creating resource records sets for a private hosted zone, note the following:

  • You can't create alias resource record sets for CloudFront distributions in a private hosted zone.

  • Creating geolocation alias resource record sets or latency alias resource record sets in a private hosted zone is unsupported.

  • For information about creating failover resource record sets in a private hosted zone, see Configuring Failover in a Private Hosted Zone in the Amazon Route 53 Developer Guide.

" + "documentation":"

Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to.

If you're creating resource records sets for a private hosted zone, note the following:

  • You can't create an alias resource record set in a private hosted zone to route traffic to a CloudFront distribution.

  • Creating geolocation alias resource record sets or latency alias resource record sets in a private hosted zone is unsupported.

  • For information about creating failover resource record sets in a private hosted zone, see Configuring Failover in a Private Hosted Zone in the Amazon Route 53 Developer Guide.

" }, "HealthCheckId":{ "shape":"HealthCheckId", - "documentation":"

If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check.

Route 53 determines whether a resource record set is healthy based on one of the following:

  • By periodically sending a request to the endpoint that is specified in the health check

  • By aggregating the status of a specified group of health checks (calculated health checks)

  • By determining the current state of a CloudWatch alarm (CloudWatch metric health checks)

Route 53 doesn't check the health of the endpoint that is specified in the resource record set, for example, the endpoint specified by the IP address in the Value element. When you add a HealthCheckId element to a resource record set, Route 53 checks the health of the endpoint that you specified in the health check.

For more information, see the following topics in the Amazon Route 53 Developer Guide:

When to Specify HealthCheckId

Specifying a value for HealthCheckId is useful only when Route 53 is choosing between two or more resource record sets to respond to a DNS query, and you want Route 53 to base the choice in part on the status of a health check. Configuring health checks makes sense only in the following configurations:

  • Non-alias resource record sets: You're checking the health of a group of non-alias resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A) and you specify health check IDs for all the resource record sets.

    If the health check status for a resource record set is healthy, Route 53 includes the record among the records that it responds to DNS queries with.

    If the health check status for a resource record set is unhealthy, Route 53 stops responding to DNS queries using the value for that resource record set.

    If the health check status for all resource record sets in the group is unhealthy, Route 53 considers all resource record sets in the group healthy and responds to DNS queries accordingly.

  • Alias resource record sets: You specify the following settings:

    • You set EvaluateTargetHealth to true for an alias resource record set in a group of resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A).

    • You configure the alias resource record set to route traffic to a non-alias resource record set in the same hosted zone.

    • You specify a health check ID for the non-alias resource record set.

    If the health check status is healthy, Route 53 considers the alias resource record set to be healthy and includes the alias record among the records that it responds to DNS queries with.

    If the health check status is unhealthy, Route 53 stops responding to DNS queries using the alias resource record set.

    The alias resource record set can also route traffic to a group of non-alias resource record sets that have the same routing policy, name, and type. In that configuration, associate health checks with all of the resource record sets in the group of non-alias resource record sets.

Geolocation Routing

For geolocation resource record sets, if an endpoint is unhealthy, Route 53 looks for a resource record set for the larger, associated geographic region. For example, suppose you have resource record sets for a state in the United States, for the entire United States, for North America, and a resource record set that has * for CountryCode is *, which applies to all locations. If the endpoint for the state resource record set is unhealthy, Route 53 checks for healthy resource record sets in the following order until it finds a resource record set for which the endpoint is healthy:

  • The United States

  • North America

  • The default resource record set

Specifying the Health Check Endpoint by Domain Name

If your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. For example, create a health check for each HTTP server that is serving content for www.example.com. For the value of FullyQualifiedDomainName, specify the domain name of the server (such as us-east-2-www.example.com), not the name of the resource record sets (www.example.com).

Health check results will be unpredictable if you do the following:

  • Create a health check that has the same value for FullyQualifiedDomainName as the name of a resource record set.

  • Associate that health check with the resource record set.

" + "documentation":"

If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check.

Route 53 determines whether a resource record set is healthy based on one of the following:

  • By periodically sending a request to the endpoint that is specified in the health check

  • By aggregating the status of a specified group of health checks (calculated health checks)

  • By determining the current state of a CloudWatch alarm (CloudWatch metric health checks)

Route 53 doesn't check the health of the endpoint that is specified in the resource record set, for example, the endpoint specified by the IP address in the Value element. When you add a HealthCheckId element to a resource record set, Route 53 checks the health of the endpoint that you specified in the health check.

For more information, see the following topics in the Amazon Route 53 Developer Guide:

When to Specify HealthCheckId

Specifying a value for HealthCheckId is useful only when Route 53 is choosing between two or more resource record sets to respond to a DNS query, and you want Route 53 to base the choice in part on the status of a health check. Configuring health checks makes sense only in the following configurations:

  • Non-alias resource record sets: You're checking the health of a group of non-alias resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A) and you specify health check IDs for all the resource record sets.

    If the health check status for a resource record set is healthy, Route 53 includes the record among the records that it responds to DNS queries with.

    If the health check status for a resource record set is unhealthy, Route 53 stops responding to DNS queries using the value for that resource record set.

    If the health check status for all resource record sets in the group is unhealthy, Route 53 considers all resource record sets in the group healthy and responds to DNS queries accordingly.

  • Alias resource record sets: You specify the following settings:

    • You set EvaluateTargetHealth to true for an alias resource record set in a group of resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A).

    • You configure the alias resource record set to route traffic to a non-alias resource record set in the same hosted zone.

    • You specify a health check ID for the non-alias resource record set.

    If the health check status is healthy, Route 53 considers the alias resource record set to be healthy and includes the alias record among the records that it responds to DNS queries with.

    If the health check status is unhealthy, Route 53 stops responding to DNS queries using the alias resource record set.

    The alias resource record set can also route traffic to a group of non-alias resource record sets that have the same routing policy, name, and type. In that configuration, associate health checks with all of the resource record sets in the group of non-alias resource record sets.

Geolocation Routing

For geolocation resource record sets, if an endpoint is unhealthy, Route 53 looks for a resource record set for the larger, associated geographic region. For example, suppose you have resource record sets for a state in the United States, for the entire United States, for North America, and a resource record set that has * for CountryCode is *, which applies to all locations. If the endpoint for the state resource record set is unhealthy, Route 53 checks for healthy resource record sets in the following order until it finds a resource record set for which the endpoint is healthy:

  • The United States

  • North America

  • The default resource record set

Specifying the Health Check Endpoint by Domain Name

If your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. For example, create a health check for each HTTP server that is serving content for www.example.com. For the value of FullyQualifiedDomainName, specify the domain name of the server (such as us-east-2-www.example.com), not the name of the resource record sets (www.example.com).

Health check results will be unpredictable if you do the following:

  • Create a health check that has the same value for FullyQualifiedDomainName as the name of a resource record set.

  • Associate that health check with the resource record set.

" }, "TrafficPolicyInstanceId":{ "shape":"TrafficPolicyInstanceId", @@ -4247,9 +4256,11 @@ "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", + "eu-north-1", "sa-east-1", "cn-north-1", "cn-northwest-1", + "ap-east-1", "ap-south-1" ], "max":64, @@ -4530,7 +4541,7 @@ "members":{ "message":{"shape":"ErrorMessage"} }, - "documentation":"

This health check can't be created because the current account has reached the limit on the number of active health checks.

For information about default limits, see Limits in the Amazon Route 53 Developer Guide.

For information about how to get the current limit for an account, see GetAccountLimit. To request a higher limit, create a case with the AWS Support Center.

You have reached the maximum number of active health checks for an AWS account. To request a higher limit, create a case with the AWS Support Center.

", + "documentation":"

This health check can't be created because the current account has reached the limit on the number of active health checks.

For information about default limits, see Limits in the Amazon Route 53 Developer Guide.

For information about how to get the current limit for an account, see GetAccountLimit. To request a higher limit, create a case with the AWS Support Center.

You have reached the maximum number of active health checks for an AWS account. To request a higher limit, create a case with the AWS Support Center.

", "exception":true }, "TooManyHostedZones":{ @@ -4541,7 +4552,7 @@ "documentation":"

Descriptive message for the error response.

" } }, - "documentation":"

This operation can't be completed either because the current account has reached the limit on the number of hosted zones or because you've reached the limit on the number of hosted zones that can be associated with a reusable delegation set.

For information about default limits, see Limits in the Amazon Route 53 Developer Guide.

To get the current limit on hosted zones that can be created by an account, see GetAccountLimit.

To get the current limit on hosted zones that can be associated with a reusable delegation set, see GetReusableDelegationSetLimit.

To request a higher limit, create a case with the AWS Support Center.

", + "documentation":"

This operation can't be completed either because the current account has reached the limit on the number of hosted zones or because you've reached the limit on the number of hosted zones that can be associated with a reusable delegation set.

For information about default limits, see Limits in the Amazon Route 53 Developer Guide.

To get the current limit on hosted zones that can be created by an account, see GetAccountLimit.

To get the current limit on hosted zones that can be associated with a reusable delegation set, see GetReusableDelegationSetLimit.

To request a higher limit, create a case with the AWS Support Center.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -4553,7 +4564,7 @@ "documentation":"

Descriptive message for the error response.

" } }, - "documentation":"

This traffic policy can't be created because the current account has reached the limit on the number of traffic policies.

For information about default limits, see Limits in the Amazon Route 53 Developer Guide.

To get the current limit for an account, see GetAccountLimit.

To request a higher limit, create a case with the AWS Support Center.

", + "documentation":"

This traffic policy can't be created because the current account has reached the limit on the number of traffic policies.

For information about default limits, see Limits in the Amazon Route 53 Developer Guide.

To get the current limit for an account, see GetAccountLimit.

To request a higher limit, create a case with the AWS Support Center.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -4565,7 +4576,7 @@ "documentation":"

Descriptive message for the error response.

" } }, - "documentation":"

This traffic policy instance can't be created because the current account has reached the limit on the number of traffic policy instances.

For information about default limits, see Limits in the Amazon Route 53 Developer Guide.

For information about how to get the current limit for an account, see GetAccountLimit.

To request a higher limit, create a case with the AWS Support Center.

", + "documentation":"

This traffic policy instance can't be created because the current account has reached the limit on the number of traffic policy instances.

For information about default limits, see Limits in the Amazon Route 53 Developer Guide.

For information about how to get the current limit for an account, see GetAccountLimit.

To request a higher limit, create a case with the AWS Support Center.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -4577,7 +4588,7 @@ "documentation":"

Descriptive message for the error response.

" } }, - "documentation":"

This traffic policy version can't be created because you've reached the limit of 1000 on the number of versions that you can create for the current traffic policy.

To create more traffic policy versions, you can use GetTrafficPolicy to get the traffic policy document for a specified traffic policy version, and then use CreateTrafficPolicy to create a new traffic policy using the traffic policy document.

", + "documentation":"

This traffic policy version can't be created because you've reached the limit of 1000 on the number of versions that you can create for the current traffic policy.

To create more traffic policy versions, you can use GetTrafficPolicy to get the traffic policy document for a specified traffic policy version, and then use CreateTrafficPolicy to create a new traffic policy using the traffic policy document.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -4628,7 +4639,7 @@ }, "Document":{ "shape":"TrafficPolicyDocument", - "documentation":"

The definition of a traffic policy in JSON format. You specify the JSON document to use for a new traffic policy in the CreateTrafficPolicy request. For more information about the JSON format, see Traffic Policy Document Format.

" + "documentation":"

The definition of a traffic policy in JSON format. You specify the JSON document to use for a new traffic policy in the CreateTrafficPolicy request. For more information about the JSON format, see Traffic Policy Document Format.

" }, "Comment":{ "shape":"TrafficPolicyComment", @@ -4823,7 +4834,7 @@ }, "IPAddress":{ "shape":"IPAddress", - "documentation":"

The IPv4 or IPv6 IP address for the endpoint that you want Amazon Route 53 to perform health checks on. If you don't specify a value for IPAddress, Route 53 sends a DNS request to resolve the domain name that you specify in FullyQualifiedDomainName at the interval that you specify in RequestInterval. Using an IP address that is returned by DNS, Route 53 then checks the health of the endpoint.

Use one of the following formats for the value of IPAddress:

  • IPv4 address: four values between 0 and 255, separated by periods (.), for example, 192.0.2.44.

  • IPv6 address: eight groups of four hexadecimal values, separated by colons (:), for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345. You can also shorten IPv6 addresses as described in RFC 5952, for example, 2001:db8:85a3::abcd:1:2345.

If the endpoint is an EC2 instance, we recommend that you create an Elastic IP address, associate it with your EC2 instance, and specify the Elastic IP address for IPAddress. This ensures that the IP address of your instance never changes. For more information, see the applicable documentation:

If a health check already has a value for IPAddress, you can change the value. However, you can't update an existing health check to add or remove the value of IPAddress.

For more information, see UpdateHealthCheckRequest$FullyQualifiedDomainName.

Constraints: Route 53 can't check the health of endpoints for which the IP address is in local, private, non-routable, or multicast ranges. For more information about IP addresses for which you can't create health checks, see the following documents:

" + "documentation":"

The IPv4 or IPv6 IP address for the endpoint that you want Amazon Route 53 to perform health checks on. If you don't specify a value for IPAddress, Route 53 sends a DNS request to resolve the domain name that you specify in FullyQualifiedDomainName at the interval that you specify in RequestInterval. Using an IP address that is returned by DNS, Route 53 then checks the health of the endpoint.

Use one of the following formats for the value of IPAddress:

  • IPv4 address: four values between 0 and 255, separated by periods (.), for example, 192.0.2.44.

  • IPv6 address: eight groups of four hexadecimal values, separated by colons (:), for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345. You can also shorten IPv6 addresses as described in RFC 5952, for example, 2001:db8:85a3::abcd:1:2345.

If the endpoint is an EC2 instance, we recommend that you create an Elastic IP address, associate it with your EC2 instance, and specify the Elastic IP address for IPAddress. This ensures that the IP address of your instance never changes. For more information, see the applicable documentation:

If a health check already has a value for IPAddress, you can change the value. However, you can't update an existing health check to add or remove the value of IPAddress.

For more information, see FullyQualifiedDomainName.

Constraints: Route 53 can't check the health of endpoints for which the IP address is in local, private, non-routable, or multicast ranges. For more information about IP addresses for which you can't create health checks, see the following documents:

" }, "Port":{ "shape":"Port", @@ -4851,7 +4862,7 @@ }, "Disabled":{ "shape":"Disabled", - "documentation":"

Stops Route 53 from performing health checks. When you disable a health check, here's what happens:

  • Health checks that check the health of endpoints: Route 53 stops submitting requests to your application, server, or other resource.

  • Calculated health checks: Route 53 stops aggregating the status of the referenced health checks.

  • Health checks that monitor CloudWatch alarms: Route 53 stops monitoring the corresponding CloudWatch metrics.

After you disable a health check, Route 53 considers the status of the health check to always be healthy. If you configured DNS failover, Route 53 continues to route traffic to the corresponding resources. If you want to stop routing traffic to a resource, change the value of UpdateHealthCheckRequest$Inverted.

Charges for a health check still apply when the health check is disabled. For more information, see Amazon Route 53 Pricing.

" + "documentation":"

Stops Route 53 from performing health checks. When you disable a health check, here's what happens:

  • Health checks that check the health of endpoints: Route 53 stops submitting requests to your application, server, or other resource.

  • Calculated health checks: Route 53 stops aggregating the status of the referenced health checks.

  • Health checks that monitor CloudWatch alarms: Route 53 stops monitoring the corresponding CloudWatch metrics.

After you disable a health check, Route 53 considers the status of the health check to always be healthy. If you configured DNS failover, Route 53 continues to route traffic to the corresponding resources. If you want to stop routing traffic to a resource, change the value of Inverted.

Charges for a health check still apply when the health check is disabled. For more information, see Amazon Route 53 Pricing.

" }, "HealthThreshold":{ "shape":"HealthThreshold", @@ -4879,7 +4890,7 @@ }, "ResetElements":{ "shape":"ResettableElementNameList", - "documentation":"

A complex type that contains one ResettableElementName element for each element that you want to reset to the default value. Valid values for ResettableElementName include the following:

" + "documentation":"

A complex type that contains one ResettableElementName element for each element that you want to reset to the default value. Valid values for ResettableElementName include the following:

" } }, "documentation":"

A complex type that contains information about a request to update a health check.

" @@ -4892,7 +4903,8 @@ "shape":"HealthCheck", "documentation":"

A complex type that contains the response to an UpdateHealthCheck request.

" } - } + }, + "documentation":"

A complex type that contains the response to the UpdateHealthCheck request.

" }, "UpdateHostedZoneCommentRequest":{ "type":"structure", @@ -5056,12 +5068,14 @@ "eu-west-2", "eu-west-3", "eu-central-1", + "ap-east-1", "ap-southeast-1", "ap-southeast-2", "ap-south-1", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", + "eu-north-1", "sa-east-1", "ca-central-1", "cn-north-1" @@ -5078,5 +5092,6 @@ "documentation":"

(Private hosted zones only) A list of VPC elements.

", "min":1 } - } + }, + "documentation":"

Amazon Route 53 is a highly available and scalable Domain Name System (DNS) web service.

" } diff --git a/bin/botocore/data/route53domains/2014-05-15/paginators-1.json b/bin/botocore/data/route53domains/2014-05-15/paginators-1.json index 8d1a73ab..7ccbf9da 100644 --- a/bin/botocore/data/route53domains/2014-05-15/paginators-1.json +++ b/bin/botocore/data/route53domains/2014-05-15/paginators-1.json @@ -12,6 +12,12 @@ "input_token": "Marker", "output_token": "NextPageMarker", "result_key": "Operations" + }, + "ViewBilling": { + "input_token": "Marker", + "limit_key": "MaxItems", + "output_token": "NextPageMarker", + "result_key": "BillingRecords" } } } diff --git a/bin/botocore/data/route53resolver/2018-04-01/paginators-1.json b/bin/botocore/data/route53resolver/2018-04-01/paginators-1.json index ea142457..5a36213a 100644 --- a/bin/botocore/data/route53resolver/2018-04-01/paginators-1.json +++ b/bin/botocore/data/route53resolver/2018-04-01/paginators-1.json @@ -1,3 +1,10 @@ { - "pagination": {} + "pagination": { + "ListTagsForResource": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Tags" + } + } } diff --git a/bin/botocore/data/s3/2006-03-01/service-2.json b/bin/botocore/data/s3/2006-03-01/service-2.json index 887dcefd..ac06e5f0 100644 --- a/bin/botocore/data/s3/2006-03-01/service-2.json +++ b/bin/botocore/data/s3/2006-03-01/service-2.json @@ -17,7 +17,8 @@ "name":"AbortMultipartUpload", "http":{ "method":"DELETE", - "requestUri":"/{Bucket}/{Key+}" + "requestUri":"/{Bucket}/{Key+}", + "responseCode":204 }, "input":{"shape":"AbortMultipartUploadRequest"}, "output":{"shape":"AbortMultipartUploadOutput"}, @@ -85,7 +86,8 @@ "name":"DeleteBucket", "http":{ "method":"DELETE", - "requestUri":"/{Bucket}" + "requestUri":"/{Bucket}", + "responseCode":204 }, "input":{"shape":"DeleteBucketRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETE.html", @@ -95,16 +97,18 @@ "name":"DeleteBucketAnalyticsConfiguration", "http":{ "method":"DELETE", - "requestUri":"/{Bucket}?analytics" + "requestUri":"/{Bucket}?analytics", + "responseCode":204 }, "input":{"shape":"DeleteBucketAnalyticsConfigurationRequest"}, - "documentation":"

Deletes an analytics configuration for the bucket (specified by the analytics configuration ID).

" + "documentation":"

Deletes an analytics configuration for the bucket (specified by the analytics configuration ID).

To use this operation, you must have permissions to perform the s3:PutAnalyticsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others.

" }, "DeleteBucketCors":{ "name":"DeleteBucketCors", "http":{ "method":"DELETE", - "requestUri":"/{Bucket}?cors" + "requestUri":"/{Bucket}?cors", + "responseCode":204 }, "input":{"shape":"DeleteBucketCorsRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEcors.html", @@ -114,7 +118,8 @@ "name":"DeleteBucketEncryption", "http":{ "method":"DELETE", - "requestUri":"/{Bucket}?encryption" + "requestUri":"/{Bucket}?encryption", + "responseCode":204 }, "input":{"shape":"DeleteBucketEncryptionRequest"}, "documentation":"

Deletes the server-side encryption configuration from the bucket.

" @@ -123,7 +128,8 @@ "name":"DeleteBucketInventoryConfiguration", "http":{ "method":"DELETE", - "requestUri":"/{Bucket}?inventory" + "requestUri":"/{Bucket}?inventory", + "responseCode":204 }, "input":{"shape":"DeleteBucketInventoryConfigurationRequest"}, "documentation":"

Deletes an inventory configuration (identified by the inventory ID) from the bucket.

" @@ -132,7 +138,8 @@ "name":"DeleteBucketLifecycle", "http":{ "method":"DELETE", - "requestUri":"/{Bucket}?lifecycle" + "requestUri":"/{Bucket}?lifecycle", + "responseCode":204 }, "input":{"shape":"DeleteBucketLifecycleRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETElifecycle.html", @@ -142,7 +149,8 @@ "name":"DeleteBucketMetricsConfiguration", "http":{ "method":"DELETE", - "requestUri":"/{Bucket}?metrics" + "requestUri":"/{Bucket}?metrics", + "responseCode":204 }, "input":{"shape":"DeleteBucketMetricsConfigurationRequest"}, "documentation":"

Deletes a metrics configuration (specified by the metrics configuration ID) from the bucket.

" @@ -151,7 +159,8 @@ "name":"DeleteBucketPolicy", "http":{ "method":"DELETE", - "requestUri":"/{Bucket}?policy" + "requestUri":"/{Bucket}?policy", + "responseCode":204 }, "input":{"shape":"DeleteBucketPolicyRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEpolicy.html", @@ -161,7 +170,8 @@ "name":"DeleteBucketReplication", "http":{ "method":"DELETE", - "requestUri":"/{Bucket}?replication" + "requestUri":"/{Bucket}?replication", + "responseCode":204 }, "input":{"shape":"DeleteBucketReplicationRequest"}, "documentation":"

Deletes the replication configuration from the bucket. For information about replication configuration, see Cross-Region Replication (CRR) in the Amazon S3 Developer Guide.

" @@ -170,7 +180,8 @@ "name":"DeleteBucketTagging", "http":{ "method":"DELETE", - "requestUri":"/{Bucket}?tagging" + "requestUri":"/{Bucket}?tagging", + "responseCode":204 }, "input":{"shape":"DeleteBucketTaggingRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEtagging.html", @@ -180,7 +191,8 @@ "name":"DeleteBucketWebsite", "http":{ "method":"DELETE", - "requestUri":"/{Bucket}?website" + "requestUri":"/{Bucket}?website", + "responseCode":204 }, "input":{"shape":"DeleteBucketWebsiteRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEwebsite.html", @@ -190,7 +202,8 @@ "name":"DeleteObject", "http":{ "method":"DELETE", - "requestUri":"/{Bucket}/{Key+}" + "requestUri":"/{Bucket}/{Key+}", + "responseCode":204 }, "input":{"shape":"DeleteObjectRequest"}, "output":{"shape":"DeleteObjectOutput"}, @@ -201,7 +214,8 @@ "name":"DeleteObjectTagging", "http":{ "method":"DELETE", - "requestUri":"/{Bucket}/{Key+}?tagging" + "requestUri":"/{Bucket}/{Key+}?tagging", + "responseCode":204 }, "input":{"shape":"DeleteObjectTaggingRequest"}, "output":{"shape":"DeleteObjectTaggingOutput"}, @@ -223,7 +237,8 @@ "name":"DeletePublicAccessBlock", "http":{ "method":"DELETE", - "requestUri":"/{Bucket}?publicAccessBlock" + "requestUri":"/{Bucket}?publicAccessBlock", + "responseCode":204 }, "input":{"shape":"DeletePublicAccessBlockRequest"}, "documentation":"

Removes the PublicAccessBlock configuration from an Amazon S3 bucket.

" @@ -299,7 +314,7 @@ "input":{"shape":"GetBucketLifecycleRequest"}, "output":{"shape":"GetBucketLifecycleOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlifecycle.html", - "documentation":"

Deprecated, see the GetBucketLifecycleConfiguration operation.

", + "documentation":"

No longer used, see the GetBucketLifecycleConfiguration operation.

", "deprecated":true }, "GetBucketLifecycleConfiguration":{ @@ -353,7 +368,7 @@ "input":{"shape":"GetBucketNotificationConfigurationRequest"}, "output":{"shape":"NotificationConfigurationDeprecated"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETnotification.html", - "documentation":"

Deprecated, see the GetBucketNotificationConfiguration operation.

", + "documentation":"

No longer used, see the GetBucketNotificationConfiguration operation.

", "deprecated":true }, "GetBucketNotificationConfiguration":{ @@ -487,7 +502,7 @@ }, "input":{"shape":"GetObjectLockConfigurationRequest"}, "output":{"shape":"GetObjectLockConfigurationOutput"}, - "documentation":"

Gets the Object Lock configuration for a bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket.

" + "documentation":"

Gets the object lock configuration for a bucket. The rule specified in the object lock configuration will be applied by default to every new object placed in the specified bucket.

" }, "GetObjectRetention":{ "name":"GetObjectRetention", @@ -724,7 +739,7 @@ }, "input":{"shape":"PutBucketLifecycleRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html", - "documentation":"

Deprecated, see the PutBucketLifecycleConfiguration operation.

", + "documentation":"

No longer used, see the PutBucketLifecycleConfiguration operation.

", "deprecated":true }, "PutBucketLifecycleConfiguration":{ @@ -763,7 +778,7 @@ }, "input":{"shape":"PutBucketNotificationRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTnotification.html", - "documentation":"

Deprecated, see the PutBucketNotificationConfiguraiton operation.

", + "documentation":"

No longer used, see the PutBucketNotificationConfiguration operation.

", "deprecated":true }, "PutBucketNotificationConfiguration":{ @@ -783,7 +798,7 @@ }, "input":{"shape":"PutBucketPolicyRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTpolicy.html", - "documentation":"

Replaces a policy on a bucket. If the bucket already has a policy, the one in this request completely replaces it.

" + "documentation":"

Applies an Amazon S3 bucket policy to an Amazon S3 bucket.

" }, "PutBucketReplication":{ "name":"PutBucketReplication", @@ -792,7 +807,7 @@ "requestUri":"/{Bucket}?replication" }, "input":{"shape":"PutBucketReplicationRequest"}, - "documentation":"

Creates a replication configuration or replaces an existing one. For more information, see Cross-Region Replication (CRR) in the Amazon S3 Developer Guide.

" + "documentation":"

Creates a replication configuration or replaces an existing one. For more information, see Cross-Region Replication (CRR) in the Amazon S3 Developer Guide.

" }, "PutBucketRequestPayment":{ "name":"PutBucketRequestPayment", @@ -877,7 +892,7 @@ }, "input":{"shape":"PutObjectLockConfigurationRequest"}, "output":{"shape":"PutObjectLockConfigurationOutput"}, - "documentation":"

Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket.

" + "documentation":"

Places an object lock configuration on the specified bucket. The rule specified in the object lock configuration will be applied by default to every new object placed in the specified bucket.

" }, "PutObjectRetention":{ "name":"PutObjectRetention", @@ -967,10 +982,10 @@ "members":{ "DaysAfterInitiation":{ "shape":"DaysAfterInitiation", - "documentation":"

Indicates the number of days that must pass since initiation for Lifecycle to abort an Incomplete Multipart Upload.

" + "documentation":"

Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload.

" } }, - "documentation":"

Specifies the days since the initiation of an Incomplete Multipart Upload that Lifecycle will wait before permanently removing all parts of the upload.

" + "documentation":"

Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy in the Amazon Simple Storage Service Developer Guide.

" }, "AbortMultipartUploadOutput":{ "type":"structure", @@ -992,16 +1007,19 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

Name of the bucket to which the multipart upload was initiated.

", "location":"uri", "locationName":"Bucket" }, "Key":{ "shape":"ObjectKey", + "documentation":"

Key of the object for which the multipart upload was initiated.

", "location":"uri", "locationName":"Key" }, "UploadId":{ "shape":"MultipartUploadId", + "documentation":"

Upload ID that identifies the multipart upload.

", "location":"querystring", "locationName":"uploadId" }, @@ -1018,9 +1036,10 @@ "members":{ "Status":{ "shape":"BucketAccelerateStatus", - "documentation":"

The accelerate configuration of the bucket.

" + "documentation":"

Specifies the transfer acceleration status of the bucket.

" } - } + }, + "documentation":"

Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see Amazon S3 Transfer Acceleration in the Amazon Simple Storage Service Developer Guide.

" }, "AcceptRanges":{"type":"string"}, "AccessControlPolicy":{ @@ -1031,8 +1050,12 @@ "documentation":"

A list of grants.

", "locationName":"AccessControlList" }, - "Owner":{"shape":"Owner"} - } + "Owner":{ + "shape":"Owner", + "documentation":"

Container for the bucket owner's display name and ID.

" + } + }, + "documentation":"

Contains the elements that set the ACL permissions for an object per grantee.

" }, "AccessControlTranslation":{ "type":"structure", @@ -1040,7 +1063,7 @@ "members":{ "Owner":{ "shape":"OwnerOverride", - "documentation":"

The override value for the owner of the replica object.

" + "documentation":"

Specifies the replica ownership. For default and valid values, see PUT bucket replication in the Amazon Simple Storage Service API Reference.

" } }, "documentation":"

A container for information about access control for replicas.

" @@ -1070,7 +1093,7 @@ "members":{ "Prefix":{ "shape":"Prefix", - "documentation":"

The prefix to use when evaluating an AND predicate.

" + "documentation":"

The prefix to use when evaluating an AND predicate: The prefix that an object must have to be included in the metrics results.

" }, "Tags":{ "shape":"TagSet", @@ -1078,7 +1101,8 @@ "flattened":true, "locationName":"Tag" } - } + }, + "documentation":"

A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter. The operator must have at least two predicates in any combination, and an object must match all of the predicates for the filter to apply.

" }, "AnalyticsConfiguration":{ "type":"structure", @@ -1089,7 +1113,7 @@ "members":{ "Id":{ "shape":"AnalyticsId", - "documentation":"

The identifier used to represent an analytics configuration.

" + "documentation":"

The ID that identifies the analytics configuration.

" }, "Filter":{ "shape":"AnalyticsFilter", @@ -1097,9 +1121,10 @@ }, "StorageClassAnalysis":{ "shape":"StorageClassAnalysis", - "documentation":"

If present, it indicates that data related to access patterns will be collected and made available to analyze the tradeoffs between different storage classes.

" + "documentation":"

Contains data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes.

" } - } + }, + "documentation":"

Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.

For more information, see GET Bucket analytics in the Amazon Simple Storage Service API Reference.

" }, "AnalyticsConfigurationList":{ "type":"list", @@ -1114,7 +1139,8 @@ "shape":"AnalyticsS3BucketDestination", "documentation":"

A destination signifying output to an S3 bucket.

" } - } + }, + "documentation":"

Where to publish the analytics results.

" }, "AnalyticsFilter":{ "type":"structure", @@ -1131,7 +1157,8 @@ "shape":"AnalyticsAndOperator", "documentation":"

A conjunction (logical AND) of predicates, which is used in evaluating an analytics filter. The operator must have at least two predicates.

" } - } + }, + "documentation":"

" }, "AnalyticsId":{"type":"string"}, "AnalyticsS3BucketDestination":{ @@ -1143,7 +1170,7 @@ "members":{ "Format":{ "shape":"AnalyticsS3ExportFileFormat", - "documentation":"

The file format used when exporting data to Amazon S3.

" + "documentation":"

Specifies the file format used when exporting data to Amazon S3.

" }, "BucketAccountId":{ "shape":"AccountId", @@ -1151,13 +1178,14 @@ }, "Bucket":{ "shape":"BucketName", - "documentation":"

The Amazon resource name (ARN) of the bucket to which data is exported.

" + "documentation":"

The Amazon Resource Name (ARN) of the bucket to which data is exported.

" }, "Prefix":{ "shape":"Prefix", - "documentation":"

The prefix to use when exporting data. The exported data begins with this prefix.

" + "documentation":"

The prefix to use when exporting data. The prefix is prepended to all results.

" } - } + }, + "documentation":"

" }, "AnalyticsS3ExportFileFormat":{ "type":"string", @@ -1175,7 +1203,8 @@ "shape":"CreationDate", "documentation":"

Date the bucket was created.

" } - } + }, + "documentation":"

" }, "BucketAccelerateStatus":{ "type":"string", @@ -1195,6 +1224,7 @@ "type":"structure", "members":{ }, + "documentation":"

", "exception":true }, "BucketCannedACL":{ @@ -1212,9 +1242,11 @@ "members":{ "Rules":{ "shape":"LifecycleRules", + "documentation":"

A lifecycle rule for individual objects in an Amazon S3 bucket.

", "locationName":"Rule" } - } + }, + "documentation":"

Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see Object Lifecycle Management in the Amazon Simple Storage Service Developer Guide.

" }, "BucketLocationConstraint":{ "type":"string", @@ -1235,8 +1267,12 @@ "BucketLoggingStatus":{ "type":"structure", "members":{ - "LoggingEnabled":{"shape":"LoggingEnabled"} - } + "LoggingEnabled":{ + "shape":"LoggingEnabled", + "documentation":"

" + } + }, + "documentation":"

" }, "BucketLogsPermission":{ "type":"string", @@ -1271,9 +1307,11 @@ "members":{ "CORSRules":{ "shape":"CORSRules", + "documentation":"

A set of allowed origins and methods.

", "locationName":"CORSRule" } - } + }, + "documentation":"

Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see Enabling Cross-Origin Resource Sharing in the Amazon Simple Storage Service Developer Guide.

" }, "CORSRule":{ "type":"structure", @@ -1284,12 +1322,12 @@ "members":{ "AllowedHeaders":{ "shape":"AllowedHeaders", - "documentation":"

Specifies which headers are allowed in a pre-flight OPTIONS request.

", + "documentation":"

Headers that are specified in the Access-Control-Request-Headers header. These headers are allowed in a preflight OPTIONS request. In response to any preflight OPTIONS request, Amazon S3 returns any requested headers that are allowed.

", "locationName":"AllowedHeader" }, "AllowedMethods":{ "shape":"AllowedMethods", - "documentation":"

Identifies HTTP methods that the domain/origin specified in the rule is allowed to execute.

", + "documentation":"

An HTTP method that you allow the origin to execute. Valid values are GET, PUT, HEAD, POST, and DELETE.

", "locationName":"AllowedMethod" }, "AllowedOrigins":{ @@ -1299,14 +1337,15 @@ }, "ExposeHeaders":{ "shape":"ExposeHeaders", - "documentation":"

One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).

", + "documentation":"

One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).

", "locationName":"ExposeHeader" }, "MaxAgeSeconds":{ "shape":"MaxAgeSeconds", "documentation":"

The time in seconds that your browser is to cache the preflight response for the specified resource.

" } - } + }, + "documentation":"

Specifies a cross-origin access rule for an Amazon S3 bucket.

" }, "CORSRules":{ "type":"list", @@ -1385,11 +1424,19 @@ }, "Events":{ "shape":"EventList", + "documentation":"

", "locationName":"Event" }, - "CloudFunction":{"shape":"CloudFunction"}, - "InvocationRole":{"shape":"CloudFunctionInvocationRole"} - } + "CloudFunction":{ + "shape":"CloudFunction", + "documentation":"

" + }, + "InvocationRole":{ + "shape":"CloudFunctionInvocationRole", + "documentation":"

" + } + }, + "documentation":"

" }, "CloudFunctionInvocationRole":{"type":"string"}, "Code":{"type":"string"}, @@ -1397,8 +1444,12 @@ "CommonPrefix":{ "type":"structure", "members":{ - "Prefix":{"shape":"Prefix"} - } + "Prefix":{ + "shape":"Prefix", + "documentation":"

" + } + }, + "documentation":"

" }, "CommonPrefixList":{ "type":"list", @@ -1408,9 +1459,18 @@ "CompleteMultipartUploadOutput":{ "type":"structure", "members":{ - "Location":{"shape":"Location"}, - "Bucket":{"shape":"BucketName"}, - "Key":{"shape":"ObjectKey"}, + "Location":{ + "shape":"Location", + "documentation":"

" + }, + "Bucket":{ + "shape":"BucketName", + "documentation":"

" + }, + "Key":{ + "shape":"ObjectKey", + "documentation":"

" + }, "Expiration":{ "shape":"Expiration", "documentation":"

If the object expiration is configured, this will contain the expiration date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.

", @@ -1456,21 +1516,25 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, "Key":{ "shape":"ObjectKey", + "documentation":"

", "location":"uri", "locationName":"Key" }, "MultipartUpload":{ "shape":"CompletedMultipartUpload", + "documentation":"

", "locationName":"CompleteMultipartUpload", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} }, "UploadId":{ "shape":"MultipartUploadId", + "documentation":"

", "location":"querystring", "locationName":"uploadId" }, @@ -1487,9 +1551,11 @@ "members":{ "Parts":{ "shape":"CompletedPartList", + "documentation":"

", "locationName":"Part" } - } + }, + "documentation":"

" }, "CompletedPart":{ "type":"structure", @@ -1502,7 +1568,8 @@ "shape":"PartNumber", "documentation":"

Part number that identifies the part. This is a positive integer between 1 and 10,000.

" } - } + }, + "documentation":"

" }, "CompletedPartList":{ "type":"list", @@ -1522,13 +1589,14 @@ "members":{ "HttpErrorCodeReturnedEquals":{ "shape":"HttpErrorCodeReturnedEquals", - "documentation":"

The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect is applied. Required when parent element Condition is specified and sibling KeyPrefixEquals is not specified. If both are specified, then both must be true for the redirect to be applied.

" + "documentation":"

The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect is applied. Required when parent element Condition is specified and sibling KeyPrefixEquals is not specified. If both are specified, then both must be true for the redirect to be applied.

" }, "KeyPrefixEquals":{ "shape":"KeyPrefixEquals", - "documentation":"

The object key name prefix when the redirect is applied. For example, to redirect requests for ExamplePage.html, the key prefix will be ExamplePage.html. To redirect request for all pages with the prefix docs/, the key prefix will be /docs, which identifies all objects in the docs/ folder. Required when the parent element Condition is specified and sibling HttpErrorCodeReturnedEquals is not specified. If both conditions are specified, both must be true for the redirect to be applied.

" + "documentation":"

The object key name prefix when the redirect is applied. For example, to redirect requests for ExamplePage.html, the key prefix will be ExamplePage.html. To redirect request for all pages with the prefix docs/, the key prefix will be /docs, which identifies all objects in the docs/ folder. Required when the parent element Condition is specified and sibling HttpErrorCodeReturnedEquals is not specified. If both conditions are specified, both must be true for the redirect to be applied.

" } - } + }, + "documentation":"

Specifies a condition that must be met for a redirect to apply.

" }, "ConfirmRemoveSelfBucketAccess":{"type":"boolean"}, "ContentDisposition":{"type":"string"}, @@ -1542,12 +1610,16 @@ "type":"structure", "members":{ }, + "documentation":"

", "event":true }, "CopyObjectOutput":{ "type":"structure", "members":{ - "CopyObjectResult":{"shape":"CopyObjectResult"}, + "CopyObjectResult":{ + "shape":"CopyObjectResult", + "documentation":"

" + }, "Expiration":{ "shape":"Expiration", "documentation":"

If the object expiration is configured, the response includes this header.

", @@ -1556,6 +1628,7 @@ }, "CopySourceVersionId":{ "shape":"CopySourceVersionId", + "documentation":"

", "location":"header", "locationName":"x-amz-copy-source-version-id" }, @@ -1613,6 +1686,7 @@ }, "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, @@ -1708,6 +1782,7 @@ }, "Key":{ "shape":"ObjectKey", + "documentation":"

", "location":"uri", "locationName":"Key" }, @@ -1802,13 +1877,13 @@ }, "ObjectLockMode":{ "shape":"ObjectLockMode", - "documentation":"

The Object Lock mode that you want to apply to the copied object.

", + "documentation":"

The object lock mode that you want to apply to the copied object.

", "location":"header", "locationName":"x-amz-object-lock-mode" }, "ObjectLockRetainUntilDate":{ "shape":"ObjectLockRetainUntilDate", - "documentation":"

The date and time when you want the copied object's Object Lock to expire.

", + "documentation":"

The date and time when you want the copied object's object lock to expire.

", "location":"header", "locationName":"x-amz-object-lock-retain-until-date" }, @@ -1823,9 +1898,16 @@ "CopyObjectResult":{ "type":"structure", "members":{ - "ETag":{"shape":"ETag"}, - "LastModified":{"shape":"LastModified"} - } + "ETag":{ + "shape":"ETag", + "documentation":"

" + }, + "LastModified":{ + "shape":"LastModified", + "documentation":"

" + } + }, + "documentation":"

" }, "CopyPartResult":{ "type":"structure", @@ -1838,7 +1920,8 @@ "shape":"LastModified", "documentation":"

Date and time at which the object was uploaded.

" } - } + }, + "documentation":"

" }, "CopySource":{ "type":"string", @@ -1861,15 +1944,17 @@ "members":{ "LocationConstraint":{ "shape":"BucketLocationConstraint", - "documentation":"

Specifies the region where the bucket will be created. If you don't specify a region, the bucket will be created in US Standard.

" + "documentation":"

Specifies the region where the bucket will be created. If you don't specify a region, the bucket is created in US East (N. Virginia) Region (us-east-1).

" } - } + }, + "documentation":"

" }, "CreateBucketOutput":{ "type":"structure", "members":{ "Location":{ "shape":"Location", + "documentation":"

", "location":"header", "locationName":"Location" } @@ -1887,11 +1972,13 @@ }, "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, "CreateBucketConfiguration":{ "shape":"CreateBucketConfiguration", + "documentation":"

", "locationName":"CreateBucketConfiguration", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} }, @@ -1927,7 +2014,7 @@ }, "ObjectLockEnabledForBucket":{ "shape":"ObjectLockEnabledForBucket", - "documentation":"

Specifies whether you want S3 Object Lock to be enabled for the new bucket.

", + "documentation":"

Specifies whether you want Amazon S3 object lock to be enabled for the new bucket.

", "location":"header", "locationName":"x-amz-bucket-object-lock-enabled" } @@ -2008,6 +2095,7 @@ }, "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, @@ -2073,6 +2161,7 @@ }, "Key":{ "shape":"ObjectKey", + "documentation":"

", "location":"uri", "locationName":"Key" }, @@ -2137,13 +2226,13 @@ }, "ObjectLockMode":{ "shape":"ObjectLockMode", - "documentation":"

Specifies the Object Lock mode that you want to apply to the uploaded object.

", + "documentation":"

Specifies the object lock mode that you want to apply to the uploaded object.

", "location":"header", "locationName":"x-amz-object-lock-mode" }, "ObjectLockRetainUntilDate":{ "shape":"ObjectLockRetainUntilDate", - "documentation":"

Specifies the date and time when you want the Object Lock to expire.

", + "documentation":"

Specifies the date and time when you want the object lock to expire.

", "location":"header", "locationName":"x-amz-object-lock-retain-until-date" }, @@ -2167,7 +2256,7 @@ "members":{ "Mode":{ "shape":"ObjectLockRetentionMode", - "documentation":"

The default Object Lock retention mode you want to apply to new objects placed in the specified bucket.

" + "documentation":"

The default object lock retention mode you want to apply to new objects placed in the specified bucket.

" }, "Days":{ "shape":"Days", @@ -2178,7 +2267,7 @@ "documentation":"

The number of years that you want to specify for the default retention period.

" } }, - "documentation":"

The container element for specifying the default Object Lock retention settings for new objects placed in the specified bucket.

" + "documentation":"

The container element for specifying the default object lock retention settings for new objects placed in the specified bucket.

" }, "Delete":{ "type":"structure", @@ -2186,13 +2275,15 @@ "members":{ "Objects":{ "shape":"ObjectIdentifierList", + "documentation":"

", "locationName":"Object" }, "Quiet":{ "shape":"Quiet", "documentation":"

Element to enable quiet mode for the request. When you add this element, you must set its value to true.

" } - } + }, + "documentation":"

" }, "DeleteBucketAnalyticsConfigurationRequest":{ "type":"structure", @@ -2209,7 +2300,7 @@ }, "Id":{ "shape":"AnalyticsId", - "documentation":"

The identifier used to represent an analytics configuration.

", + "documentation":"

The ID that identifies the analytics configuration.

", "location":"querystring", "locationName":"id" } @@ -2221,6 +2312,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" } @@ -2265,6 +2357,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" } @@ -2297,6 +2390,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" } @@ -2320,6 +2414,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" } @@ -2331,6 +2426,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" } @@ -2342,6 +2438,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" } @@ -2351,7 +2448,10 @@ "DeleteMarkerEntry":{ "type":"structure", "members":{ - "Owner":{"shape":"Owner"}, + "Owner":{ + "shape":"Owner", + "documentation":"

" + }, "Key":{ "shape":"ObjectKey", "documentation":"

The object key.

" @@ -2368,7 +2468,8 @@ "shape":"LastModified", "documentation":"

Date and time the object was last modified.

" } - } + }, + "documentation":"

" }, "DeleteMarkerReplication":{ "type":"structure", @@ -2424,11 +2525,13 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, "Key":{ "shape":"ObjectKey", + "documentation":"

", "location":"uri", "locationName":"Key" }, @@ -2451,7 +2554,7 @@ }, "BypassGovernanceRetention":{ "shape":"BypassGovernanceRetention", - "documentation":"

Indicates whether S3 Object Lock should bypass Governance-mode restrictions to process this operation.

", + "documentation":"

Indicates whether Amazon S3 object lock should bypass governance-mode restrictions to process this operation.

", "location":"header", "locationName":"x-amz-bypass-governance-retention" } @@ -2477,11 +2580,13 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, "Key":{ "shape":"ObjectKey", + "documentation":"

", "location":"uri", "locationName":"Key" }, @@ -2496,7 +2601,10 @@ "DeleteObjectsOutput":{ "type":"structure", "members":{ - "Deleted":{"shape":"DeletedObjects"}, + "Deleted":{ + "shape":"DeletedObjects", + "documentation":"

" + }, "RequestCharged":{ "shape":"RequestCharged", "location":"header", @@ -2504,6 +2612,7 @@ }, "Errors":{ "shape":"Errors", + "documentation":"

", "locationName":"Error" } } @@ -2517,11 +2626,13 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, "Delete":{ "shape":"Delete", + "documentation":"

", "locationName":"Delete", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} }, @@ -2538,7 +2649,7 @@ }, "BypassGovernanceRetention":{ "shape":"BypassGovernanceRetention", - "documentation":"

Specifies whether you want to delete this object even if it has a Governance-type Object Lock in place. You must have sufficient permissions to perform this operation.

", + "documentation":"

Specifies whether you want to delete this object even if it has a Governance-type object lock in place. You must have sufficient permissions to perform this operation.

", "location":"header", "locationName":"x-amz-bypass-governance-retention" } @@ -2560,11 +2671,24 @@ "DeletedObject":{ "type":"structure", "members":{ - "Key":{"shape":"ObjectKey"}, - "VersionId":{"shape":"ObjectVersionId"}, - "DeleteMarker":{"shape":"DeleteMarker"}, - "DeleteMarkerVersionId":{"shape":"DeleteMarkerVersionId"} - } + "Key":{ + "shape":"ObjectKey", + "documentation":"

" + }, + "VersionId":{ + "shape":"ObjectVersionId", + "documentation":"

" + }, + "DeleteMarker":{ + "shape":"DeleteMarker", + "documentation":"

" + }, + "DeleteMarkerVersionId":{ + "shape":"DeleteMarkerVersionId", + "documentation":"

" + } + }, + "documentation":"

" }, "DeletedObjects":{ "type":"list", @@ -2579,26 +2703,26 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"

The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store replicas of the object identified by the rule.

If there are multiple rules in your replication configuration, all rules must specify the same bucket as the destination. A replication configuration can replicate objects to only one destination bucket.

" + "documentation":"

The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store replicas of the object identified by the rule.

A replication configuration can replicate objects to only one destination bucket. If there are multiple rules in your replication configuration, all rules must specify the same destination bucket.

" }, "Account":{ "shape":"AccountId", - "documentation":"

The account ID of the destination bucket. Currently, Amazon S3 verifies this value only if Access Control Translation is enabled.

In a cross-account scenario, if you change replica ownership to the AWS account that owns the destination bucket by adding the AccessControlTranslation element, this is the account ID of the owner of the destination bucket.

" + "documentation":"

Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 to change replica ownership to the AWS account that owns the destination bucket by specifying the AccessControlTranslation property, this is the account ID of the destination bucket owner. For more information, see Cross-Region Replication Additional Configuration: Change Replica Owner in the Amazon Simple Storage Service Developer Guide.

" }, "StorageClass":{ "shape":"StorageClass", - "documentation":"

The class of storage used to store the object. By default Amazon S3 uses storage class of the source object when creating a replica.

" + "documentation":"

The storage class to use when replicating objects, such as standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica.

For valid values, see the StorageClass element of the PUT Bucket replication action in the Amazon Simple Storage Service API Reference.

" }, "AccessControlTranslation":{ "shape":"AccessControlTranslation", - "documentation":"

A container for information about access control for replicas.

Use this element only in a cross-account scenario where source and destination bucket owners are not the same to change replica ownership to the AWS account that owns the destination bucket. If you don't add this element to the replication configuration, the replicas are owned by same AWS account that owns the source object.

" + "documentation":"

Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS account that owns the source object.

" }, "EncryptionConfiguration":{ "shape":"EncryptionConfiguration", - "documentation":"

A container that provides information about encryption. If SourceSelectionCriteria is specified, you must specify this element.

" + "documentation":"

A container that provides information about encryption. If SourceSelectionCriteria is specified, you must specify this element.

" } }, - "documentation":"

A container for information about the replication destination.

" + "documentation":"

Specifies information about where to publish analysis or configuration results for an Amazon S3 bucket.

" }, "DisplayName":{"type":"string"}, "ETag":{"type":"string"}, @@ -2633,25 +2757,39 @@ "members":{ "ReplicaKmsKeyID":{ "shape":"ReplicaKmsKeyID", - "documentation":"

The ID of the AWS KMS key for the AWS Region where the destination bucket resides. Amazon S3 uses this key to encrypt the replica object.

" + "documentation":"

Specifies the AWS KMS Key ID (Key ARN or Alias ARN) for the destination bucket. Amazon S3 uses this key to encrypt replica objects.

" } }, - "documentation":"

A container for information about the encryption-based configuration for replicas.

" + "documentation":"

Specifies encryption-related information for an Amazon S3 bucket that is a destination for replicated objects.

" }, "EndEvent":{ "type":"structure", "members":{ }, + "documentation":"

", "event":true }, "Error":{ "type":"structure", "members":{ - "Key":{"shape":"ObjectKey"}, - "VersionId":{"shape":"ObjectVersionId"}, - "Code":{"shape":"Code"}, - "Message":{"shape":"Message"} - } + "Key":{ + "shape":"ObjectKey", + "documentation":"

" + }, + "VersionId":{ + "shape":"ObjectVersionId", + "documentation":"

" + }, + "Code":{ + "shape":"Code", + "documentation":"

" + }, + "Message":{ + "shape":"Message", + "documentation":"

" + } + }, + "documentation":"

" }, "ErrorDocument":{ "type":"structure", @@ -2661,7 +2799,8 @@ "shape":"ObjectKey", "documentation":"

The object key name to use when a 4XX class error occurs.

" } - } + }, + "documentation":"

" }, "Errors":{ "type":"list", @@ -2726,11 +2865,14 @@ "members":{ "Name":{ "shape":"FilterRuleName", - "documentation":"

The object key name prefix or suffix identifying one or more objects to which the filtering rule applies. The maximum prefix length is 1,024 characters. Overlapping prefixes and suffixes are not supported. For more information, see Configuring Event Notifications in the Amazon Simple Storage Service Developer Guide.

" + "documentation":"

The object key name prefix or suffix identifying one or more objects to which the filtering rule applies. The maximum length is 1,024 characters. Overlapping prefixes and suffixes are not supported. For more information, see Configuring Event Notifications in the Amazon Simple Storage Service Developer Guide.

" }, - "Value":{"shape":"FilterRuleValue"} + "Value":{ + "shape":"FilterRuleValue", + "documentation":"

The value that the filter searches for in object key names.

" + } }, - "documentation":"

A container for a key value pair that defines the criteria for the filter rule.

" + "documentation":"

Specifies the Amazon S3 object key name to filter on and whether to filter on the suffix or prefix of the key name.

" }, "FilterRuleList":{ "type":"list", @@ -2770,7 +2912,10 @@ "GetBucketAclOutput":{ "type":"structure", "members":{ - "Owner":{"shape":"Owner"}, + "Owner":{ + "shape":"Owner", + "documentation":"

" + }, "Grants":{ "shape":"Grants", "documentation":"

A list of grants.

", @@ -2784,6 +2929,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" } @@ -2814,7 +2960,7 @@ }, "Id":{ "shape":"AnalyticsId", - "documentation":"

The identifier used to represent an analytics configuration.

", + "documentation":"

The ID that identifies the analytics configuration.

", "location":"querystring", "locationName":"id" } @@ -2825,6 +2971,7 @@ "members":{ "CORSRules":{ "shape":"CORSRules", + "documentation":"

", "locationName":"CORSRule" } } @@ -2835,6 +2982,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" } @@ -2843,7 +2991,10 @@ "GetBucketEncryptionOutput":{ "type":"structure", "members":{ - "ServerSideEncryptionConfiguration":{"shape":"ServerSideEncryptionConfiguration"} + "ServerSideEncryptionConfiguration":{ + "shape":"ServerSideEncryptionConfiguration", + "documentation":"

" + } }, "payload":"ServerSideEncryptionConfiguration" }, @@ -2895,6 +3046,7 @@ "members":{ "Rules":{ "shape":"LifecycleRules", + "documentation":"

", "locationName":"Rule" } } @@ -2905,6 +3057,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" } @@ -2915,6 +3068,7 @@ "members":{ "Rules":{ "shape":"Rules", + "documentation":"

", "locationName":"Rule" } } @@ -2925,6 +3079,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" } @@ -2933,7 +3088,10 @@ "GetBucketLocationOutput":{ "type":"structure", "members":{ - "LocationConstraint":{"shape":"BucketLocationConstraint"} + "LocationConstraint":{ + "shape":"BucketLocationConstraint", + "documentation":"

" + } } }, "GetBucketLocationRequest":{ @@ -2942,6 +3100,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" } @@ -2950,7 +3109,10 @@ "GetBucketLoggingOutput":{ "type":"structure", "members":{ - "LoggingEnabled":{"shape":"LoggingEnabled"} + "LoggingEnabled":{ + "shape":"LoggingEnabled", + "documentation":"

" + } } }, "GetBucketLoggingRequest":{ @@ -2959,6 +3121,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" } @@ -3023,6 +3186,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" } @@ -3053,7 +3217,10 @@ "GetBucketReplicationOutput":{ "type":"structure", "members":{ - "ReplicationConfiguration":{"shape":"ReplicationConfiguration"} + "ReplicationConfiguration":{ + "shape":"ReplicationConfiguration", + "documentation":"

" + } }, "payload":"ReplicationConfiguration" }, @@ -3063,6 +3230,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" } @@ -3083,6 +3251,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" } @@ -3092,7 +3261,10 @@ "type":"structure", "required":["TagSet"], "members":{ - "TagSet":{"shape":"TagSet"} + "TagSet":{ + "shape":"TagSet", + "documentation":"

" + } } }, "GetBucketTaggingRequest":{ @@ -3101,6 +3273,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" } @@ -3126,6 +3299,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" } @@ -3134,10 +3308,22 @@ "GetBucketWebsiteOutput":{ "type":"structure", "members":{ - "RedirectAllRequestsTo":{"shape":"RedirectAllRequestsTo"}, - "IndexDocument":{"shape":"IndexDocument"}, - "ErrorDocument":{"shape":"ErrorDocument"}, - "RoutingRules":{"shape":"RoutingRules"} + "RedirectAllRequestsTo":{ + "shape":"RedirectAllRequestsTo", + "documentation":"

" + }, + "IndexDocument":{ + "shape":"IndexDocument", + "documentation":"

" + }, + "ErrorDocument":{ + "shape":"ErrorDocument", + "documentation":"

" + }, + "RoutingRules":{ + "shape":"RoutingRules", + "documentation":"

" + } } }, "GetBucketWebsiteRequest":{ @@ -3146,6 +3332,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" } @@ -3154,7 +3341,10 @@ "GetObjectAclOutput":{ "type":"structure", "members":{ - "Owner":{"shape":"Owner"}, + "Owner":{ + "shape":"Owner", + "documentation":"

" + }, "Grants":{ "shape":"Grants", "documentation":"

A list of grants.

", @@ -3176,11 +3366,13 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, "Key":{ "shape":"ObjectKey", + "documentation":"

", "location":"uri", "locationName":"Key" }, @@ -3244,7 +3436,7 @@ "members":{ "ObjectLockConfiguration":{ "shape":"ObjectLockConfiguration", - "documentation":"

The specified bucket's Object Lock configuration.

" + "documentation":"

The specified bucket's object lock configuration.

" } }, "payload":"ObjectLockConfiguration" @@ -3255,7 +3447,7 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"

The bucket whose Object Lock configuration you want to retrieve.

", + "documentation":"

The bucket whose object lock configuration you want to retrieve.

", "location":"uri", "locationName":"Bucket" } @@ -3277,6 +3469,7 @@ }, "AcceptRanges":{ "shape":"AcceptRanges", + "documentation":"

", "location":"header", "locationName":"accept-ranges" }, @@ -3402,6 +3595,7 @@ }, "StorageClass":{ "shape":"StorageClass", + "documentation":"

", "location":"header", "locationName":"x-amz-storage-class" }, @@ -3412,6 +3606,7 @@ }, "ReplicationStatus":{ "shape":"ReplicationStatus", + "documentation":"

", "location":"header", "locationName":"x-amz-replication-status" }, @@ -3429,13 +3624,13 @@ }, "ObjectLockMode":{ "shape":"ObjectLockMode", - "documentation":"

The Object Lock mode currently in place for this object.

", + "documentation":"

The object lock mode currently in place for this object.

", "location":"header", "locationName":"x-amz-object-lock-mode" }, "ObjectLockRetainUntilDate":{ "shape":"ObjectLockRetainUntilDate", - "documentation":"

The date and time when this object's Object Lock will expire.

", + "documentation":"

The date and time when this object's object lock will expire.

", "location":"header", "locationName":"x-amz-object-lock-retain-until-date" }, @@ -3457,6 +3652,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, @@ -3486,6 +3682,7 @@ }, "Key":{ "shape":"ObjectKey", + "documentation":"

", "location":"uri", "locationName":"Key" }, @@ -3616,10 +3813,14 @@ "members":{ "VersionId":{ "shape":"ObjectVersionId", + "documentation":"

", "location":"header", "locationName":"x-amz-version-id" }, - "TagSet":{"shape":"TagSet"} + "TagSet":{ + "shape":"TagSet", + "documentation":"

" + } } }, "GetObjectTaggingRequest":{ @@ -3631,16 +3832,19 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, "Key":{ "shape":"ObjectKey", + "documentation":"

", "location":"uri", "locationName":"Key" }, "VersionId":{ "shape":"ObjectVersionId", + "documentation":"

", "location":"querystring", "locationName":"versionId" } @@ -3651,6 +3855,7 @@ "members":{ "Body":{ "shape":"Body", + "documentation":"

", "streaming":true }, "RequestCharged":{ @@ -3670,11 +3875,13 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, "Key":{ "shape":"ObjectKey", + "documentation":"

", "location":"uri", "locationName":"Key" }, @@ -3715,17 +3922,22 @@ "shape":"Tier", "documentation":"

Glacier retrieval tier at which the restore will be processed.

" } - } + }, + "documentation":"

" }, "Grant":{ "type":"structure", "members":{ - "Grantee":{"shape":"Grantee"}, + "Grantee":{ + "shape":"Grantee", + "documentation":"

" + }, "Permission":{ "shape":"Permission", "documentation":"

Specifies the permission given to the grantee.

" } - } + }, + "documentation":"

" }, "GrantFullControl":{"type":"string"}, "GrantRead":{"type":"string"}, @@ -3759,6 +3971,7 @@ "documentation":"

URI of the grantee group.

" } }, + "documentation":"

", "xmlNamespace":{ "prefix":"xsi", "uri":"http://www.w3.org/2001/XMLSchema-instance" @@ -3777,6 +3990,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" } @@ -3793,6 +4007,7 @@ }, "AcceptRanges":{ "shape":"AcceptRanges", + "documentation":"

", "location":"header", "locationName":"accept-ranges" }, @@ -3912,6 +4127,7 @@ }, "StorageClass":{ "shape":"StorageClass", + "documentation":"

", "location":"header", "locationName":"x-amz-storage-class" }, @@ -3922,6 +4138,7 @@ }, "ReplicationStatus":{ "shape":"ReplicationStatus", + "documentation":"

", "location":"header", "locationName":"x-amz-replication-status" }, @@ -3933,13 +4150,13 @@ }, "ObjectLockMode":{ "shape":"ObjectLockMode", - "documentation":"

The Object Lock mode currently in place for this object.

", + "documentation":"

The object lock mode currently in place for this object.

", "location":"header", "locationName":"x-amz-object-lock-mode" }, "ObjectLockRetainUntilDate":{ "shape":"ObjectLockRetainUntilDate", - "documentation":"

The date and time when this object's Object Lock will expire.

", + "documentation":"

The date and time when this object's object lock expires.

", "location":"header", "locationName":"x-amz-object-lock-retain-until-date" }, @@ -3960,6 +4177,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, @@ -3989,6 +4207,7 @@ }, "Key":{ "shape":"ObjectKey", + "documentation":"

", "location":"uri", "locationName":"Key" }, @@ -4051,7 +4270,8 @@ "shape":"Suffix", "documentation":"

A suffix that is appended to a request that is for a directory on the website endpoint (e.g. if the suffix is index.html and you make a request to samplebucket/images/ the data that is returned will be for the object with the key name images/index.html) The suffix must not be empty and must not include a slash character.

" } - } + }, + "documentation":"

" }, "Initiated":{"type":"timestamp"}, "Initiator":{ @@ -4065,7 +4285,8 @@ "shape":"DisplayName", "documentation":"

Name of the Principal.

" } - } + }, + "documentation":"

" }, "InputSerialization":{ "type":"structure", @@ -4105,7 +4326,7 @@ }, "IsEnabled":{ "shape":"IsEnabled", - "documentation":"

Specifies whether the inventory is enabled or disabled.

" + "documentation":"

Specifies whether the inventory is enabled or disabled. If set to True, an inventory list is generated. If set to False, no inventory list is generated.

" }, "Filter":{ "shape":"InventoryFilter", @@ -4117,7 +4338,7 @@ }, "IncludedObjectVersions":{ "shape":"InventoryIncludedObjectVersions", - "documentation":"

Specifies which object version(s) to included in the inventory results.

" + "documentation":"

Object versions to include in the inventory list. If set to All, the list includes all the object versions, which adds the version-related fields VersionId, IsLatest, and DeleteMarker to the list. If set to Current, the list does not contain these version-related fields.

" }, "OptionalFields":{ "shape":"InventoryOptionalFields", @@ -4127,7 +4348,8 @@ "shape":"InventorySchedule", "documentation":"

Specifies the schedule for generating inventory results.

" } - } + }, + "documentation":"

Specifies the inventory configuration for an Amazon S3 bucket. For more information, see GET Bucket inventory in the Amazon Simple Storage Service API Reference.

" }, "InventoryConfigurationList":{ "type":"list", @@ -4142,7 +4364,8 @@ "shape":"InventoryS3BucketDestination", "documentation":"

Contains the bucket name, file format, bucket owner (optional), and prefix (optional) where inventory results are published.

" } - } + }, + "documentation":"

" }, "InventoryEncryption":{ "type":"structure", @@ -4168,7 +4391,8 @@ "shape":"Prefix", "documentation":"

The prefix that an object must have to be included in the inventory results.

" } - } + }, + "documentation":"

" }, "InventoryFormat":{ "type":"string", @@ -4242,7 +4466,8 @@ "shape":"InventoryEncryption", "documentation":"

Contains the type of server-side encryption used to encrypt the inventory results.

" } - } + }, + "documentation":"

" }, "InventorySchedule":{ "type":"structure", @@ -4252,7 +4477,8 @@ "shape":"InventoryFrequency", "documentation":"

Specifies how frequently inventory results are produced.

" } - } + }, + "documentation":"

" }, "IsEnabled":{"type":"boolean"}, "IsLatest":{"type":"boolean"}, @@ -4265,7 +4491,8 @@ "shape":"JSONType", "documentation":"

The type of JSON. Valid values: Document, Lines.

" } - } + }, + "documentation":"

" }, "JSONOutput":{ "type":"structure", @@ -4274,7 +4501,8 @@ "shape":"RecordDelimiter", "documentation":"

The value used to separate individual records in the output.

" } - } + }, + "documentation":"

" }, "JSONType":{ "type":"string", @@ -4298,14 +4526,18 @@ "Id":{"shape":"NotificationId"}, "LambdaFunctionArn":{ "shape":"LambdaFunctionArn", - "documentation":"

The Amazon Resource Name (ARN) of the Lambda cloud function that Amazon S3 can invoke when it detects events of the specified type.

", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 invokes when the specified event type occurs.

", "locationName":"CloudFunction" }, "Events":{ "shape":"EventList", + "documentation":"

The Amazon S3 bucket event for which to invoke the AWS Lambda function. For more information, see Supported Event Types in the Amazon Simple Storage Service Developer Guide.

", "locationName":"Event" }, - "Filter":{"shape":"NotificationConfigurationFilter"} + "Filter":{ + "shape":"NotificationConfigurationFilter", + "documentation":"

" + } }, "documentation":"

A container for specifying the configuration for AWS Lambda notifications.

" }, @@ -4321,9 +4553,11 @@ "members":{ "Rules":{ "shape":"Rules", + "documentation":"

", "locationName":"Rule" } - } + }, + "documentation":"

" }, "LifecycleExpiration":{ "type":"structure", @@ -4340,43 +4574,62 @@ "shape":"ExpiredObjectDeleteMarker", "documentation":"

Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set to true, the delete marker will be expired; if set to false the policy takes no action. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.

" } - } + }, + "documentation":"

" }, "LifecycleRule":{ "type":"structure", "required":["Status"], "members":{ - "Expiration":{"shape":"LifecycleExpiration"}, + "Expiration":{ + "shape":"LifecycleExpiration", + "documentation":"

" + }, "ID":{ "shape":"ID", "documentation":"

Unique identifier for the rule. The value cannot be longer than 255 characters.

" }, "Prefix":{ "shape":"Prefix", - "documentation":"

Prefix identifying one or more objects to which the rule applies. This is deprecated; use Filter instead.

", + "documentation":"

Prefix identifying one or more objects to which the rule applies. This is No longer used; use Filter instead.

", "deprecated":true }, - "Filter":{"shape":"LifecycleRuleFilter"}, + "Filter":{ + "shape":"LifecycleRuleFilter", + "documentation":"

" + }, "Status":{ "shape":"ExpirationStatus", "documentation":"

If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied.

" }, "Transitions":{ "shape":"TransitionList", + "documentation":"

", "locationName":"Transition" }, "NoncurrentVersionTransitions":{ "shape":"NoncurrentVersionTransitionList", + "documentation":"

", "locationName":"NoncurrentVersionTransition" }, - "NoncurrentVersionExpiration":{"shape":"NoncurrentVersionExpiration"}, - "AbortIncompleteMultipartUpload":{"shape":"AbortIncompleteMultipartUpload"} - } + "NoncurrentVersionExpiration":{ + "shape":"NoncurrentVersionExpiration", + "documentation":"

" + }, + "AbortIncompleteMultipartUpload":{ + "shape":"AbortIncompleteMultipartUpload", + "documentation":"

" + } + }, + "documentation":"

" }, "LifecycleRuleAndOperator":{ "type":"structure", "members":{ - "Prefix":{"shape":"Prefix"}, + "Prefix":{ + "shape":"Prefix", + "documentation":"

" + }, "Tags":{ "shape":"TagSet", "documentation":"

All of these tags must exist in the object's tag set in order for the rule to apply.

", @@ -4397,7 +4650,10 @@ "shape":"Tag", "documentation":"

This tag must exist in the object's tag set in order for the rule to apply.

" }, - "And":{"shape":"LifecycleRuleAndOperator"} + "And":{ + "shape":"LifecycleRuleAndOperator", + "documentation":"

" + } }, "documentation":"

The Filter is used to identify objects that a Lifecycle Rule applies to. A Filter must have exactly one of Prefix, Tag, or And specified.

" }, @@ -4529,8 +4785,14 @@ "ListBucketsOutput":{ "type":"structure", "members":{ - "Buckets":{"shape":"Buckets"}, - "Owner":{"shape":"Owner"} + "Buckets":{ + "shape":"Buckets", + "documentation":"

" + }, + "Owner":{ + "shape":"Owner", + "documentation":"

" + } } }, "ListMultipartUploadsOutput":{ @@ -4556,7 +4818,10 @@ "shape":"Prefix", "documentation":"

When a prefix is provided in the request, this field contains the specified prefix. The result contains only keys starting with the specified prefix.

" }, - "Delimiter":{"shape":"Delimiter"}, + "Delimiter":{ + "shape":"Delimiter", + "documentation":"

" + }, "NextUploadIdMarker":{ "shape":"NextUploadIdMarker", "documentation":"

When a list is truncated, this element specifies the value that should be used for the upload-id-marker request parameter in a subsequent request.

" @@ -4571,9 +4836,13 @@ }, "Uploads":{ "shape":"MultipartUploadList", + "documentation":"

", "locationName":"Upload" }, - "CommonPrefixes":{"shape":"CommonPrefixList"}, + "CommonPrefixes":{ + "shape":"CommonPrefixList", + "documentation":"

" + }, "EncodingType":{ "shape":"EncodingType", "documentation":"

Encoding type used by Amazon S3 to encode object keys in the response.

" @@ -4586,6 +4855,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, @@ -4637,7 +4907,10 @@ "shape":"KeyMarker", "documentation":"

Marks the last Key returned in a truncated response.

" }, - "VersionIdMarker":{"shape":"VersionIdMarker"}, + "VersionIdMarker":{ + "shape":"VersionIdMarker", + "documentation":"

" + }, "NextKeyMarker":{ "shape":"NextKeyMarker", "documentation":"

Use this value for the key marker request parameter in a subsequent request.

" @@ -4648,17 +4921,34 @@ }, "Versions":{ "shape":"ObjectVersionList", + "documentation":"

", "locationName":"Version" }, "DeleteMarkers":{ "shape":"DeleteMarkers", + "documentation":"

", "locationName":"DeleteMarker" }, - "Name":{"shape":"BucketName"}, - "Prefix":{"shape":"Prefix"}, - "Delimiter":{"shape":"Delimiter"}, - "MaxKeys":{"shape":"MaxKeys"}, - "CommonPrefixes":{"shape":"CommonPrefixList"}, + "Name":{ + "shape":"BucketName", + "documentation":"

" + }, + "Prefix":{ + "shape":"Prefix", + "documentation":"

" + }, + "Delimiter":{ + "shape":"Delimiter", + "documentation":"

" + }, + "MaxKeys":{ + "shape":"MaxKeys", + "documentation":"

" + }, + "CommonPrefixes":{ + "shape":"CommonPrefixList", + "documentation":"

" + }, "EncodingType":{ "shape":"EncodingType", "documentation":"

Encoding type used by Amazon S3 to encode object keys in the response.

" @@ -4671,6 +4961,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, @@ -4718,17 +5009,38 @@ "shape":"IsTruncated", "documentation":"

A flag that indicates whether or not Amazon S3 returned all of the results that satisfied the search criteria.

" }, - "Marker":{"shape":"Marker"}, + "Marker":{ + "shape":"Marker", + "documentation":"

" + }, "NextMarker":{ "shape":"NextMarker", "documentation":"

When response is truncated (the IsTruncated element value in the response is true), you can use the key name in this field as marker in the subsequent request to get next set of objects. Amazon S3 lists objects in alphabetical order Note: This element is returned only if you have delimiter request parameter specified. If response does not include the NextMaker and it is truncated, you can use the value of the last Key in the response as the marker in the subsequent request to get the next set of object keys.

" }, - "Contents":{"shape":"ObjectList"}, - "Name":{"shape":"BucketName"}, - "Prefix":{"shape":"Prefix"}, - "Delimiter":{"shape":"Delimiter"}, - "MaxKeys":{"shape":"MaxKeys"}, - "CommonPrefixes":{"shape":"CommonPrefixList"}, + "Contents":{ + "shape":"ObjectList", + "documentation":"

" + }, + "Name":{ + "shape":"BucketName", + "documentation":"

" + }, + "Prefix":{ + "shape":"Prefix", + "documentation":"

" + }, + "Delimiter":{ + "shape":"Delimiter", + "documentation":"

" + }, + "MaxKeys":{ + "shape":"MaxKeys", + "documentation":"

" + }, + "CommonPrefixes":{ + "shape":"CommonPrefixList", + "documentation":"

" + }, "EncodingType":{ "shape":"EncodingType", "documentation":"

Encoding type used by Amazon S3 to encode object keys in the response.

" @@ -4741,6 +5053,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, @@ -4939,13 +5252,17 @@ }, "Parts":{ "shape":"Parts", + "documentation":"

", "locationName":"Part" }, "Initiator":{ "shape":"Initiator", "documentation":"

Identifies who initiated the multipart upload.

" }, - "Owner":{"shape":"Owner"}, + "Owner":{ + "shape":"Owner", + "documentation":"

" + }, "StorageClass":{ "shape":"StorageClass", "documentation":"

The class of storage used to store the object.

" @@ -4967,11 +5284,13 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, "Key":{ "shape":"ObjectKey", + "documentation":"

", "location":"uri", "locationName":"Key" }, @@ -5013,13 +5332,16 @@ "shape":"TargetBucket", "documentation":"

Specifies the bucket where you want Amazon S3 to store server access logs. You can have your logs delivered to any bucket that you own, including the same bucket that is being logged. You can also configure multiple buckets to deliver their logs to the same target bucket. In this case you should choose a different TargetPrefix for each source bucket so that the delivered log files can be distinguished by key.

" }, - "TargetGrants":{"shape":"TargetGrants"}, + "TargetGrants":{ + "shape":"TargetGrants", + "documentation":"

" + }, "TargetPrefix":{ "shape":"TargetPrefix", - "documentation":"

This element lets you specify a prefix for the keys that the log files will be stored under.

" + "documentation":"

A prefix for all log object keys. If you store log files from multiple Amazon S3 buckets in a single bucket, you can use a prefix to distinguish which log files came from which bucket.

" } }, - "documentation":"

Container for logging information. Presence of this element indicates that logging is enabled. Parameters TargetBucket and TargetPrefix are required in this case.

" + "documentation":"

Describes where logs are stored and the prefix that Amazon S3 assigns to all log object keys for a bucket. For more information, see PUT Bucket logging in the Amazon Simple Storage Service API Reference.

" }, "MFA":{"type":"string"}, "MFADelete":{ @@ -5057,8 +5379,14 @@ "MetadataEntry":{ "type":"structure", "members":{ - "Name":{"shape":"MetadataKey"}, - "Value":{"shape":"MetadataValue"} + "Name":{ + "shape":"MetadataKey", + "documentation":"

" + }, + "Value":{ + "shape":"MetadataValue", + "documentation":"

" + } }, "documentation":"

A metadata key-value pair to store with an object.

" }, @@ -5077,7 +5405,8 @@ "flattened":true, "locationName":"Tag" } - } + }, + "documentation":"

" }, "MetricsConfiguration":{ "type":"structure", @@ -5091,7 +5420,8 @@ "shape":"MetricsFilter", "documentation":"

Specifies a metrics configuration filter. The metrics configuration will only include objects that meet the filter's criteria. A filter must be a prefix, a tag, or a conjunction (MetricsAndOperator).

" } - } + }, + "documentation":"

Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see PUT Bucket metrics in the Amazon Simple Storage Service API Reference.

" }, "MetricsConfigurationList":{ "type":"list", @@ -5113,7 +5443,8 @@ "shape":"MetricsAndOperator", "documentation":"

A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter. The operator must have at least two predicates, and an object must match all of the predicates in order for the filter to apply.

" } - } + }, + "documentation":"

" }, "MetricsId":{"type":"string"}, "MissingMeta":{"type":"integer"}, @@ -5136,12 +5467,16 @@ "shape":"StorageClass", "documentation":"

The class of storage used to store the object.

" }, - "Owner":{"shape":"Owner"}, + "Owner":{ + "shape":"Owner", + "documentation":"

" + }, "Initiator":{ "shape":"Initiator", "documentation":"

Identifies who initiated the multipart upload.

" } - } + }, + "documentation":"

" }, "MultipartUploadId":{"type":"string"}, "MultipartUploadList":{ @@ -5181,7 +5516,7 @@ "members":{ "NoncurrentDays":{ "shape":"Days", - "documentation":"

Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see How Amazon S3 Calculates When an Object Became Noncurrent in the Amazon Simple Storage Service Developer Guide.

" + "documentation":"

Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see How Amazon S3 Calculates When an Object Became Noncurrent in the Amazon Simple Storage Service Developer Guide.

" } }, "documentation":"

Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent object versions at a specific period in the object's lifetime.

" @@ -5191,14 +5526,14 @@ "members":{ "NoncurrentDays":{ "shape":"Days", - "documentation":"

Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see How Amazon S3 Calculates When an Object Became Noncurrent in the Amazon Simple Storage Service Developer Guide.

" + "documentation":"

Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see How Amazon S3 Calculates When an Object Became Noncurrent in the Amazon Simple Storage Service Developer Guide.

" }, "StorageClass":{ "shape":"TransitionStorageClass", "documentation":"

The class of storage used to store the object.

" } }, - "documentation":"

Container for the transition rule that describes when noncurrent objects transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING or GLACIER storage class. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING or GLACIER storage class at a specific period in the object's lifetime.

" + "documentation":"

Container for the transition rule that describes when noncurrent objects transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, or DEEP_ARCHIVE storage class at a specific period in the object's lifetime.

" }, "NoncurrentVersionTransitionList":{ "type":"list", @@ -5210,14 +5545,17 @@ "members":{ "TopicConfigurations":{ "shape":"TopicConfigurationList", + "documentation":"

The topic to which notifications are sent and the events for which notifications are generated.

", "locationName":"TopicConfiguration" }, "QueueConfigurations":{ "shape":"QueueConfigurationList", + "documentation":"

The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.

", "locationName":"QueueConfiguration" }, "LambdaFunctionConfigurations":{ "shape":"LambdaFunctionConfigurationList", + "documentation":"

Describes the AWS Lambda functions to invoke and the events for which to invoke them.

", "locationName":"CloudFunctionConfiguration" } }, @@ -5226,9 +5564,18 @@ "NotificationConfigurationDeprecated":{ "type":"structure", "members":{ - "TopicConfiguration":{"shape":"TopicConfigurationDeprecated"}, - "QueueConfiguration":{"shape":"QueueConfigurationDeprecated"}, - "CloudFunctionConfiguration":{"shape":"CloudFunctionConfiguration"} + "TopicConfiguration":{ + "shape":"TopicConfigurationDeprecated", + "documentation":"

" + }, + "QueueConfiguration":{ + "shape":"QueueConfigurationDeprecated", + "documentation":"

" + }, + "CloudFunctionConfiguration":{ + "shape":"CloudFunctionConfiguration", + "documentation":"

" + } } }, "NotificationConfigurationFilter":{ @@ -5236,10 +5583,11 @@ "members":{ "Key":{ "shape":"S3KeyFilter", + "documentation":"

", "locationName":"S3Key" } }, - "documentation":"

A container for object key name filtering rules. For information about key name filtering, see Configuring Event Notifications in the Amazon Simple Storage Service Developer Guide.

" + "documentation":"

Specifies object key name filtering rules. For information about key name filtering, see Configuring Event Notifications in the Amazon Simple Storage Service Developer Guide.

" }, "NotificationId":{ "type":"string", @@ -5248,16 +5596,32 @@ "Object":{ "type":"structure", "members":{ - "Key":{"shape":"ObjectKey"}, - "LastModified":{"shape":"LastModified"}, - "ETag":{"shape":"ETag"}, - "Size":{"shape":"Size"}, + "Key":{ + "shape":"ObjectKey", + "documentation":"

" + }, + "LastModified":{ + "shape":"LastModified", + "documentation":"

" + }, + "ETag":{ + "shape":"ETag", + "documentation":"

" + }, + "Size":{ + "shape":"Size", + "documentation":"

" + }, "StorageClass":{ "shape":"ObjectStorageClass", "documentation":"

The class of storage used to store the object.

" }, - "Owner":{"shape":"Owner"} - } + "Owner":{ + "shape":"Owner", + "documentation":"

" + } + }, + "documentation":"

" }, "ObjectAlreadyInActiveTierError":{ "type":"structure", @@ -5290,7 +5654,8 @@ "shape":"ObjectVersionId", "documentation":"

VersionId for the specific version of the object to delete.

" } - } + }, + "documentation":"

" }, "ObjectIdentifierList":{ "type":"list", @@ -5311,14 +5676,14 @@ "members":{ "ObjectLockEnabled":{ "shape":"ObjectLockEnabled", - "documentation":"

Indicates whether this bucket has an Object Lock configuration enabled.

" + "documentation":"

Indicates whether this bucket has an object lock configuration enabled.

" }, "Rule":{ "shape":"ObjectLockRule", - "documentation":"

The Object Lock rule in place for the specified object.

" + "documentation":"

The object lock rule in place for the specified object.

" } }, - "documentation":"

The container element for Object Lock configuration parameters.

" + "documentation":"

The container element for object lock configuration parameters.

" }, "ObjectLockEnabled":{ "type":"string", @@ -5362,7 +5727,7 @@ }, "RetainUntilDate":{ "shape":"Date", - "documentation":"

The date on which this Object Lock Retention will expire.

" + "documentation":"

The date on which this object lock retention expires.

" } }, "documentation":"

A Retention configuration for an object.

" @@ -5382,7 +5747,7 @@ "documentation":"

The default retention period that you want to apply to new objects placed in the specified bucket.

" } }, - "documentation":"

The container element for an Object Lock rule.

" + "documentation":"

The container element for an object lock rule.

" }, "ObjectLockToken":{"type":"string"}, "ObjectNotInActiveTierError":{ @@ -5400,13 +5765,17 @@ "GLACIER", "STANDARD_IA", "ONEZONE_IA", - "INTELLIGENT_TIERING" + "INTELLIGENT_TIERING", + "DEEP_ARCHIVE" ] }, "ObjectVersion":{ "type":"structure", "members":{ - "ETag":{"shape":"ETag"}, + "ETag":{ + "shape":"ETag", + "documentation":"

" + }, "Size":{ "shape":"Size", "documentation":"

Size in bytes of the object.

" @@ -5431,8 +5800,12 @@ "shape":"LastModified", "documentation":"

Date and time the object was last modified.

" }, - "Owner":{"shape":"Owner"} - } + "Owner":{ + "shape":"Owner", + "documentation":"

" + } + }, + "documentation":"

" }, "ObjectVersionId":{"type":"string"}, "ObjectVersionList":{ @@ -5471,9 +5844,16 @@ "Owner":{ "type":"structure", "members":{ - "DisplayName":{"shape":"DisplayName"}, - "ID":{"shape":"ID"} - } + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

" + }, + "ID":{ + "shape":"ID", + "documentation":"

" + } + }, + "documentation":"

" }, "OwnerOverride":{ "type":"string", @@ -5482,7 +5862,8 @@ "ParquetInput":{ "type":"structure", "members":{ - } + }, + "documentation":"

" }, "Part":{ "type":"structure", @@ -5503,7 +5884,8 @@ "shape":"Size", "documentation":"

Size in bytes of the uploaded part data.

" } - } + }, + "documentation":"

" }, "PartNumber":{"type":"integer"}, "PartNumberMarker":{"type":"integer"}, @@ -5559,7 +5941,8 @@ "shape":"BytesReturned", "documentation":"

The current number of bytes of records payload data returned.

" } - } + }, + "documentation":"

" }, "ProgressEvent":{ "type":"structure", @@ -5570,6 +5953,7 @@ "eventpayload":true } }, + "documentation":"

", "event":true }, "Protocol":{ @@ -5602,7 +5986,8 @@ "documentation":"

Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to TRUE restricts access to this bucket to only AWS services and authorized users within this account if the bucket has a public policy.

Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.

", "locationName":"RestrictPublicBuckets" } - } + }, + "documentation":"

Specifies the Block Public Access configuration for an Amazon S3 bucket.

" }, "PutBucketAccelerateConfigurationRequest":{ "type":"structure", @@ -5638,16 +6023,19 @@ }, "AccessControlPolicy":{ "shape":"AccessControlPolicy", + "documentation":"

Contains the elements that set the ACL permissions for an object per grantee.

", "locationName":"AccessControlPolicy", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} }, "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, "ContentMD5":{ "shape":"ContentMD5", + "documentation":"

", "location":"header", "locationName":"Content-MD5" }, @@ -5700,7 +6088,7 @@ }, "Id":{ "shape":"AnalyticsId", - "documentation":"

The identifier used to represent an analytics configuration.

", + "documentation":"

The ID that identifies the analytics configuration.

", "location":"querystring", "locationName":"id" }, @@ -5722,16 +6110,19 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, "CORSConfiguration":{ "shape":"CORSConfiguration", + "documentation":"

", "locationName":"CORSConfiguration", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} }, "ContentMD5":{ "shape":"ContentMD5", + "documentation":"

", "location":"header", "locationName":"Content-MD5" } @@ -5747,18 +6138,19 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"

The name of the bucket for which the server-side encryption configuration is set.

", + "documentation":"

Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3) or AWS KMS-managed keys (SSE-KMS). For information about the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption in the Amazon Simple Storage Service Developer Guide.

", "location":"uri", "locationName":"Bucket" }, "ContentMD5":{ "shape":"ContentMD5", - "documentation":"

The base64-encoded 128-bit MD5 digest of the server-side encryption configuration.

", + "documentation":"

The base64-encoded 128-bit MD5 digest of the server-side encryption configuration. This parameter is auto-populated when using the command from the CLI.

", "location":"header", "locationName":"Content-MD5" }, "ServerSideEncryptionConfiguration":{ "shape":"ServerSideEncryptionConfiguration", + "documentation":"

", "locationName":"ServerSideEncryptionConfiguration", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} } @@ -5800,11 +6192,13 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, "LifecycleConfiguration":{ "shape":"BucketLifecycleConfiguration", + "documentation":"

", "locationName":"LifecycleConfiguration", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} } @@ -5817,16 +6211,19 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, "ContentMD5":{ "shape":"ContentMD5", + "documentation":"

", "location":"header", "locationName":"Content-MD5" }, "LifecycleConfiguration":{ "shape":"LifecycleConfiguration", + "documentation":"

", "locationName":"LifecycleConfiguration", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} } @@ -5842,16 +6239,19 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, "BucketLoggingStatus":{ "shape":"BucketLoggingStatus", + "documentation":"

", "locationName":"BucketLoggingStatus", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} }, "ContentMD5":{ "shape":"ContentMD5", + "documentation":"

", "location":"header", "locationName":"Content-MD5" } @@ -5896,11 +6296,13 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, "NotificationConfiguration":{ "shape":"NotificationConfiguration", + "documentation":"

", "locationName":"NotificationConfiguration", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} } @@ -5916,16 +6318,19 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, "ContentMD5":{ "shape":"ContentMD5", + "documentation":"

", "location":"header", "locationName":"Content-MD5" }, "NotificationConfiguration":{ "shape":"NotificationConfigurationDeprecated", + "documentation":"

", "locationName":"NotificationConfiguration", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} } @@ -5941,11 +6346,13 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, "ContentMD5":{ "shape":"ContentMD5", + "documentation":"

", "location":"header", "locationName":"Content-MD5" }, @@ -5971,18 +6378,27 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, "ContentMD5":{ "shape":"ContentMD5", + "documentation":"

The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message integrity check to verify that the request body was not corrupted in transit.

", "location":"header", "locationName":"Content-MD5" }, "ReplicationConfiguration":{ "shape":"ReplicationConfiguration", + "documentation":"

", "locationName":"ReplicationConfiguration", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} + }, + "Token":{ + "shape":"ObjectLockToken", + "documentation":"

A token that allows Amazon S3 object lock to be enabled for an existing bucket.

", + "location":"header", + "locationName":"x-amz-bucket-object-lock-token" } }, "payload":"ReplicationConfiguration" @@ -5996,16 +6412,19 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, "ContentMD5":{ "shape":"ContentMD5", + "documentation":"

", "location":"header", "locationName":"Content-MD5" }, "RequestPaymentConfiguration":{ "shape":"RequestPaymentConfiguration", + "documentation":"

", "locationName":"RequestPaymentConfiguration", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} } @@ -6021,16 +6440,19 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, "ContentMD5":{ "shape":"ContentMD5", + "documentation":"

", "location":"header", "locationName":"Content-MD5" }, "Tagging":{ "shape":"Tagging", + "documentation":"

", "locationName":"Tagging", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} } @@ -6046,11 +6468,13 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, "ContentMD5":{ "shape":"ContentMD5", + "documentation":"

", "location":"header", "locationName":"Content-MD5" }, @@ -6062,6 +6486,7 @@ }, "VersioningConfiguration":{ "shape":"VersioningConfiguration", + "documentation":"

", "locationName":"VersioningConfiguration", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} } @@ -6077,16 +6502,19 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, "ContentMD5":{ "shape":"ContentMD5", + "documentation":"

", "location":"header", "locationName":"Content-MD5" }, "WebsiteConfiguration":{ "shape":"WebsiteConfiguration", + "documentation":"

", "locationName":"WebsiteConfiguration", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} } @@ -6118,16 +6546,19 @@ }, "AccessControlPolicy":{ "shape":"AccessControlPolicy", + "documentation":"

Contains the elements that set the ACL permissions for an object per grantee.

", "locationName":"AccessControlPolicy", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} }, "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, "ContentMD5":{ "shape":"ContentMD5", + "documentation":"

", "location":"header", "locationName":"Content-MD5" }, @@ -6163,6 +6594,7 @@ }, "Key":{ "shape":"ObjectKey", + "documentation":"

", "location":"uri", "locationName":"Key" }, @@ -6251,13 +6683,13 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"

The bucket whose Object Lock configuration you want to create or replace.

", + "documentation":"

The bucket whose object lock configuration you want to create or replace.

", "location":"uri", "locationName":"Bucket" }, "ObjectLockConfiguration":{ "shape":"ObjectLockConfiguration", - "documentation":"

The Object Lock configuration that you want to apply to the specified bucket.

", + "documentation":"

The object lock configuration that you want to apply to the specified bucket.

", "locationName":"ObjectLockConfiguration", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} }, @@ -6268,6 +6700,7 @@ }, "Token":{ "shape":"ObjectLockToken", + "documentation":"

A token to allow Amazon S3 object lock to be enabled for an existing bucket.

", "location":"header", "locationName":"x-amz-bucket-object-lock-token" }, @@ -6388,7 +6821,7 @@ }, "ContentMD5":{ "shape":"ContentMD5", - "documentation":"

The base64-encoded 128-bit MD5 digest of the part data.

", + "documentation":"

The base64-encoded 128-bit MD5 digest of the part data. This parameter is auto-populated when using the command from the CLI. This parameted is required if object lock parameters are specified.

", "location":"header", "locationName":"Content-MD5" }, @@ -6495,13 +6928,13 @@ }, "ObjectLockMode":{ "shape":"ObjectLockMode", - "documentation":"

The Object Lock mode that you want to apply to this object.

", + "documentation":"

The object lock mode that you want to apply to this object.

", "location":"header", "locationName":"x-amz-object-lock-mode" }, "ObjectLockRetainUntilDate":{ "shape":"ObjectLockRetainUntilDate", - "documentation":"

The date and time when you want this object's Object Lock to expire.

", + "documentation":"

The date and time when you want this object's object lock to expire.

", "location":"header", "locationName":"x-amz-object-lock-retain-until-date" }, @@ -6580,6 +7013,7 @@ "members":{ "VersionId":{ "shape":"ObjectVersionId", + "documentation":"

", "location":"header", "locationName":"x-amz-version-id" } @@ -6595,26 +7029,31 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, "Key":{ "shape":"ObjectKey", + "documentation":"

", "location":"uri", "locationName":"Key" }, "VersionId":{ "shape":"ObjectVersionId", + "documentation":"

", "location":"querystring", "locationName":"versionId" }, "ContentMD5":{ "shape":"ContentMD5", + "documentation":"

", "location":"header", "locationName":"Content-MD5" }, "Tagging":{ "shape":"Tagging", + "documentation":"

", "locationName":"Tagging", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} } @@ -6660,16 +7099,20 @@ "Id":{"shape":"NotificationId"}, "QueueArn":{ "shape":"QueueArn", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 will publish a message when it detects events of the specified type.

", + "documentation":"

The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 publishes a message when it detects events of the specified type.

", "locationName":"Queue" }, "Events":{ "shape":"EventList", + "documentation":"

", "locationName":"Event" }, - "Filter":{"shape":"NotificationConfigurationFilter"} + "Filter":{ + "shape":"NotificationConfigurationFilter", + "documentation":"

" + } }, - "documentation":"

A container for specifying the configuration for publication of messages to an Amazon Simple Queue Service (Amazon SQS) queue.when Amazon S3 detects specified events.

" + "documentation":"

Specifies the configuration for publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when Amazon S3 detects specified events.

" }, "QueueConfigurationDeprecated":{ "type":"structure", @@ -6681,10 +7124,15 @@ }, "Events":{ "shape":"EventList", + "documentation":"

", "locationName":"Event" }, - "Queue":{"shape":"QueueArn"} - } + "Queue":{ + "shape":"QueueArn", + "documentation":"

" + } + }, + "documentation":"

" }, "QueueConfigurationList":{ "type":"list", @@ -6712,6 +7160,7 @@ "eventpayload":true } }, + "documentation":"

", "event":true }, "Redirect":{ @@ -6727,17 +7176,18 @@ }, "Protocol":{ "shape":"Protocol", - "documentation":"

Protocol to use (http, https) when redirecting requests. The default is the protocol that is used in the original request.

" + "documentation":"

Protocol to use when redirecting requests. The default is the protocol that is used in the original request.

" }, "ReplaceKeyPrefixWith":{ "shape":"ReplaceKeyPrefixWith", - "documentation":"

The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix docs/ (objects in the docs/ folder) to documents/, you can set a condition block with KeyPrefixEquals set to docs/ and in the Redirect set ReplaceKeyPrefixWith to /documents. Not required if one of the siblings is present. Can be present only if ReplaceKeyWith is not provided.

" + "documentation":"

The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix docs/ (objects in the docs/ folder) to documents/, you can set a condition block with KeyPrefixEquals set to docs/ and in the Redirect set ReplaceKeyPrefixWith to /documents. Not required if one of the siblings is present. Can be present only if ReplaceKeyWith is not provided.

" }, "ReplaceKeyWith":{ "shape":"ReplaceKeyWith", - "documentation":"

The specific object key to use in the redirect request. For example, redirect request to error.html. Not required if one of the sibling is present. Can be present only if ReplaceKeyPrefixWith is not provided.

" + "documentation":"

The specific object key to use in the redirect request. For example, redirect request to error.html. Not required if one of the siblings is present. Can be present only if ReplaceKeyPrefixWith is not provided.

" } - } + }, + "documentation":"

Specifies how requests are redirected. In the event of an error, you can specify a different error code to return.

" }, "RedirectAllRequestsTo":{ "type":"structure", @@ -6745,13 +7195,14 @@ "members":{ "HostName":{ "shape":"HostName", - "documentation":"

Name of the host where requests will be redirected.

" + "documentation":"

Name of the host where requests are redirected.

" }, "Protocol":{ "shape":"Protocol", - "documentation":"

Protocol to use (http, https) when redirecting requests. The default is the protocol that is used in the original request.

" + "documentation":"

Protocol to use when redirecting requests. The default is the protocol that is used in the original request.

" } - } + }, + "documentation":"

Specifies the redirect behavior of all requests to a website endpoint of an Amazon S3 bucket.

" }, "ReplaceKeyPrefixWith":{"type":"string"}, "ReplaceKeyWith":{"type":"string"}, @@ -6765,7 +7216,7 @@ "members":{ "Role":{ "shape":"Role", - "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that Amazon S3 can assume when replicating the objects.

" + "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that Amazon S3 assumes when replicating objects. For more information, see How to Set Up Cross-Region Replication in the Amazon Simple Storage Service Developer Guide.

" }, "Rules":{ "shape":"ReplicationRules", @@ -6792,36 +7243,47 @@ }, "Prefix":{ "shape":"Prefix", - "documentation":"

An object keyname prefix that identifies the object or objects to which the rule applies. The maximum prefix length is 1,024 characters.

", + "documentation":"

An object keyname prefix that identifies the object or objects to which the rule applies. The maximum prefix length is 1,024 characters. To include all objects in a bucket, specify an empty string.

", "deprecated":true }, - "Filter":{"shape":"ReplicationRuleFilter"}, + "Filter":{ + "shape":"ReplicationRuleFilter", + "documentation":"

" + }, "Status":{ "shape":"ReplicationRuleStatus", - "documentation":"

If status isn't enabled, the rule is ignored.

" + "documentation":"

Specifies whether the rule is enabled.

" }, "SourceSelectionCriteria":{ "shape":"SourceSelectionCriteria", - "documentation":"

A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects. Currently, Amazon S3 supports only the filter that you can specify for objects created with server-side encryption using an AWS KMS-Managed Key (SSE-KMS).

If you want Amazon S3 to replicate objects created with server-side encryption using AWS KMS-Managed Keys.

" + "documentation":"

A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects. Currently, Amazon S3 supports only the filter that you can specify for objects created with server-side encryption using an AWS KMS-Managed Key (SSE-KMS).

" }, "Destination":{ "shape":"Destination", "documentation":"

A container for information about the replication destination.

" }, - "DeleteMarkerReplication":{"shape":"DeleteMarkerReplication"} + "DeleteMarkerReplication":{ + "shape":"DeleteMarkerReplication", + "documentation":"

" + } }, - "documentation":"

A container for information about a specific replication rule.

" + "documentation":"

Specifies which Amazon S3 objects to replicate and where to store the replicas.

" }, "ReplicationRuleAndOperator":{ "type":"structure", "members":{ - "Prefix":{"shape":"Prefix"}, + "Prefix":{ + "shape":"Prefix", + "documentation":"

" + }, "Tags":{ "shape":"TagSet", + "documentation":"

", "flattened":true, "locationName":"Tag" } - } + }, + "documentation":"

" }, "ReplicationRuleFilter":{ "type":"structure", @@ -6880,7 +7342,8 @@ "shape":"Payer", "documentation":"

Specifies who pays for the download and request fees.

" } - } + }, + "documentation":"

" }, "RequestProgress":{ "type":"structure", @@ -6889,7 +7352,8 @@ "shape":"EnableRequestProgress", "documentation":"

Specifies whether periodic QueryProgress frames should be sent. Valid values: TRUE, FALSE. Default value: FALSE.

" } - } + }, + "documentation":"

" }, "ResponseCacheControl":{"type":"string"}, "ResponseContentDisposition":{"type":"string"}, @@ -6923,21 +7387,25 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, "Key":{ "shape":"ObjectKey", + "documentation":"

", "location":"uri", "locationName":"Key" }, "VersionId":{ "shape":"ObjectVersionId", + "documentation":"

", "location":"querystring", "locationName":"versionId" }, "RestoreRequest":{ "shape":"RestoreRequest", + "documentation":"

", "locationName":"RestoreRequest", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} }, @@ -6995,13 +7463,14 @@ "members":{ "Condition":{ "shape":"Condition", - "documentation":"

A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the /docs folder, redirect to the /documents folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.

" + "documentation":"

A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the /docs folder, redirect to the /documents folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.

" }, "Redirect":{ "shape":"Redirect", "documentation":"

Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can specify a different error code to return.

" } - } + }, + "documentation":"

Specifies the redirect behavior and when a redirect is applied.

" }, "RoutingRules":{ "type":"list", @@ -7017,24 +7486,40 @@ "Status" ], "members":{ - "Expiration":{"shape":"LifecycleExpiration"}, + "Expiration":{ + "shape":"LifecycleExpiration", + "documentation":"

" + }, "ID":{ "shape":"ID", - "documentation":"

Unique identifier for the rule. The value cannot be longer than 255 characters.

" + "documentation":"

Unique identifier for the rule. The value can't be longer than 255 characters.

" }, "Prefix":{ "shape":"Prefix", - "documentation":"

Prefix identifying one or more objects to which the rule applies.

" + "documentation":"

Object key prefix that identifies one or more objects to which this rule applies.

" }, "Status":{ "shape":"ExpirationStatus", - "documentation":"

If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied.

" + "documentation":"

If Enabled, the rule is currently being applied. If Disabled, the rule is not currently being applied.

" }, - "Transition":{"shape":"Transition"}, - "NoncurrentVersionTransition":{"shape":"NoncurrentVersionTransition"}, - "NoncurrentVersionExpiration":{"shape":"NoncurrentVersionExpiration"}, - "AbortIncompleteMultipartUpload":{"shape":"AbortIncompleteMultipartUpload"} - } + "Transition":{ + "shape":"Transition", + "documentation":"

" + }, + "NoncurrentVersionTransition":{ + "shape":"NoncurrentVersionTransition", + "documentation":"

" + }, + "NoncurrentVersionExpiration":{ + "shape":"NoncurrentVersionExpiration", + "documentation":"

" + }, + "AbortIncompleteMultipartUpload":{ + "shape":"AbortIncompleteMultipartUpload", + "documentation":"

" + } + }, + "documentation":"

Specifies lifecycle rules for an Amazon S3 bucket. For more information, see PUT Bucket lifecycle in the Amazon Simple Storage Service API Reference.

" }, "Rules":{ "type":"list", @@ -7046,6 +7531,7 @@ "members":{ "FilterRules":{ "shape":"FilterRuleList", + "documentation":"

", "locationName":"FilterRule" } }, @@ -7066,7 +7552,10 @@ "shape":"LocationPrefix", "documentation":"

The prefix that is prepended to the restore results for this request.

" }, - "Encryption":{"shape":"Encryption"}, + "Encryption":{ + "shape":"Encryption", + "documentation":"

" + }, "CannedACL":{ "shape":"ObjectCannedACL", "documentation":"

The canned ACL to apply to the restore results.

" @@ -7143,12 +7632,16 @@ "documentation":"

The End Event.

" } }, + "documentation":"

", "eventstream":true }, "SelectObjectContentOutput":{ "type":"structure", "members":{ - "Payload":{"shape":"SelectObjectContentEventStream"} + "Payload":{ + "shape":"SelectObjectContentEventStream", + "documentation":"

" + } }, "payload":"Payload" }, @@ -7177,19 +7670,19 @@ }, "SSECustomerAlgorithm":{ "shape":"SSECustomerAlgorithm", - "documentation":"

The SSE Algorithm used to encrypt the object. For more information, see Server-Side Encryption (Using Customer-Provided Encryption Keys.

", + "documentation":"

The SSE Algorithm used to encrypt the object. For more information, see Server-Side Encryption (Using Customer-Provided Encryption Keys.

", "location":"header", "locationName":"x-amz-server-side-encryption-customer-algorithm" }, "SSECustomerKey":{ "shape":"SSECustomerKey", - "documentation":"

The SSE Customer Key. For more information, see Server-Side Encryption (Using Customer-Provided Encryption Keys.

", + "documentation":"

The SSE Customer Key. For more information, see Server-Side Encryption (Using Customer-Provided Encryption Keys.

", "location":"header", "locationName":"x-amz-server-side-encryption-customer-key" }, "SSECustomerKeyMD5":{ "shape":"SSECustomerKeyMD5", - "documentation":"

The SSE Customer Key MD5. For more information, see Server-Side Encryption (Using Customer-Provided Encryption Keys.

", + "documentation":"

The SSE Customer Key MD5. For more information, see Server-Side Encryption (Using Customer-Provided Encryption Keys.

", "location":"header", "locationName":"x-amz-server-side-encryption-customer-key-MD5" }, @@ -7214,7 +7707,7 @@ "documentation":"

Describes the format of the data that you want Amazon S3 to return in response.

" } }, - "documentation":"

Request to filter the contents of an Amazon S3 object based on a simple Structured Query Language (SQL) statement. In the request, along with the SQL expression, you must specify a data serialization format (JSON or CSV) of the object. Amazon S3 uses this to parse object data into records. It returns only records that match the specified SQL expression. You must also specify the data serialization format for the response. For more information, see S3Select API Documentation.

" + "documentation":"

Request to filter the contents of an Amazon S3 object based on a simple Structured Query Language (SQL) statement. In the request, along with the SQL expression, you must specify a data serialization format (JSON or CSV) of the object. Amazon S3 uses this to parse object data into records. It returns only records that match the specified SQL expression. You must also specify the data serialization format for the response. For more information, see S3Select API Documentation.

" }, "SelectParameters":{ "type":"structure", @@ -7261,10 +7754,10 @@ }, "KMSMasterKeyID":{ "shape":"SSEKMSKeyId", - "documentation":"

KMS master key ID to use for the default encryption. This parameter is allowed if SSEAlgorithm is aws:kms.

" + "documentation":"

KMS master key ID to use for the default encryption. This parameter is allowed if and only if SSEAlgorithm is set to aws:kms.

" } }, - "documentation":"

Describes the default server-side encryption to apply to new objects in the bucket. If Put Object request does not specify any server-side encryption, this default encryption will be applied.

" + "documentation":"

Describes the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied. For more information, see PUT Bucket encryption in the Amazon Simple Storage Service API Reference.

" }, "ServerSideEncryptionConfiguration":{ "type":"structure", @@ -7276,17 +7769,17 @@ "locationName":"Rule" } }, - "documentation":"

Container for server-side encryption configuration rules. Currently S3 supports one rule only.

" + "documentation":"

Specifies the default server-side-encryption configuration.

" }, "ServerSideEncryptionRule":{ "type":"structure", "members":{ "ApplyServerSideEncryptionByDefault":{ "shape":"ServerSideEncryptionByDefault", - "documentation":"

Describes the default server-side encryption to apply to new objects in the bucket. If Put Object request does not specify any server-side encryption, this default encryption will be applied.

" + "documentation":"

Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.

" } }, - "documentation":"

Container for information about a particular server-side encryption configuration rule.

" + "documentation":"

Specifies the default server-side encryption configuration.

" }, "ServerSideEncryptionRules":{ "type":"list", @@ -7300,10 +7793,10 @@ "members":{ "SseKmsEncryptedObjects":{ "shape":"SseKmsEncryptedObjects", - "documentation":"

A container for filter information for the selection of S3 objects encrypted with AWS KMS. If you include SourceSelectionCriteria in the replication configuration, this element is required.

" + "documentation":"

A container for filter information for the selection of Amazon S3 objects encrypted with AWS KMS. If you include SourceSelectionCriteria in the replication configuration, this element is required.

" } }, - "documentation":"

A container for filters that define which source objects should be replicated.

" + "documentation":"

A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects. Currently, Amazon S3 supports only the filter that you can specify for objects created with server-side encryption using an AWS KMS-Managed Key (SSE-KMS).

" }, "SseKmsEncryptedObjects":{ "type":"structure", @@ -7311,7 +7804,7 @@ "members":{ "Status":{ "shape":"SseKmsEncryptedObjectsStatus", - "documentation":"

If the status is not Enabled, replication for S3 objects encrypted with AWS KMS is disabled.

" + "documentation":"

Specifies whether Amazon S3 replicates objects created with server-side encryption using an AWS KMS-managed key.

" } }, "documentation":"

A container for filter information for the selection of S3 objects encrypted with AWS KMS.

" @@ -7339,7 +7832,8 @@ "shape":"BytesReturned", "documentation":"

The total number of bytes of records payload data returned.

" } - } + }, + "documentation":"

" }, "StatsEvent":{ "type":"structure", @@ -7350,6 +7844,7 @@ "eventpayload":true } }, + "documentation":"

", "event":true }, "StorageClass":{ @@ -7360,7 +7855,8 @@ "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", - "GLACIER" + "GLACIER", + "DEEP_ARCHIVE" ] }, "StorageClassAnalysis":{ @@ -7368,9 +7864,10 @@ "members":{ "DataExport":{ "shape":"StorageClassAnalysisDataExport", - "documentation":"

A container used to describe how data related to the storage class analysis should be exported.

" + "documentation":"

Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.

" } - } + }, + "documentation":"

Specifies data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes for an Amazon S3 bucket.

" }, "StorageClassAnalysisDataExport":{ "type":"structure", @@ -7381,13 +7878,14 @@ "members":{ "OutputSchemaVersion":{ "shape":"StorageClassAnalysisSchemaVersion", - "documentation":"

The version of the output schema to use when exporting data. Must be V_1.

" + "documentation":"

The version of the output schema to use when exporting data. Must be V_1.

" }, "Destination":{ "shape":"AnalyticsExportDestination", "documentation":"

The place to store the data for an analysis.

" } - } + }, + "documentation":"

" }, "StorageClassAnalysisSchemaVersion":{ "type":"string", @@ -7409,7 +7907,8 @@ "shape":"Value", "documentation":"

Value of the tag.

" } - } + }, + "documentation":"

" }, "TagCount":{"type":"integer"}, "TagSet":{ @@ -7423,8 +7922,12 @@ "type":"structure", "required":["TagSet"], "members":{ - "TagSet":{"shape":"TagSet"} - } + "TagSet":{ + "shape":"TagSet", + "documentation":"

" + } + }, + "documentation":"

" }, "TaggingDirective":{ "type":"string", @@ -7438,12 +7941,16 @@ "TargetGrant":{ "type":"structure", "members":{ - "Grantee":{"shape":"Grantee"}, + "Grantee":{ + "shape":"Grantee", + "documentation":"

" + }, "Permission":{ "shape":"BucketLogsPermission", "documentation":"

Logging permissions assigned to the Grantee for the bucket.

" } - } + }, + "documentation":"

" }, "TargetGrants":{ "type":"list", @@ -7473,16 +7980,20 @@ "Id":{"shape":"NotificationId"}, "TopicArn":{ "shape":"TopicArn", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 will publish a message when it detects events of the specified type.

", + "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a message when it detects events of the specified type.

", "locationName":"Topic" }, "Events":{ "shape":"EventList", + "documentation":"

The Amazon S3 bucket event about which to send notifications. For more information, see Supported Event Types in the Amazon Simple Storage Service Developer Guide.

", "locationName":"Event" }, - "Filter":{"shape":"NotificationConfigurationFilter"} + "Filter":{ + "shape":"NotificationConfigurationFilter", + "documentation":"

" + } }, - "documentation":"

A container for specifying the configuration for publication of messages to an Amazon Simple Notification Service (Amazon SNS) topic.when Amazon S3 detects specified events.

" + "documentation":"

A container for specifying the configuration for publication of messages to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3 detects specified events.

" }, "TopicConfigurationDeprecated":{ "type":"structure", @@ -7490,6 +8001,7 @@ "Id":{"shape":"NotificationId"}, "Events":{ "shape":"EventList", + "documentation":"

", "locationName":"Event" }, "Event":{ @@ -7501,7 +8013,8 @@ "shape":"TopicArn", "documentation":"

Amazon SNS topic to which Amazon S3 will publish a message to report the specified events for the bucket.

" } - } + }, + "documentation":"

" }, "TopicConfigurationList":{ "type":"list", @@ -7513,17 +8026,18 @@ "members":{ "Date":{ "shape":"Date", - "documentation":"

Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.

" + "documentation":"

Indicates when objects are transitioned to the specified storage class. The date value must be in ISO 8601 format. The time is always midnight UTC.

" }, "Days":{ "shape":"Days", - "documentation":"

Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.

" + "documentation":"

Indicates the number of days after creation when objects are transitioned to the specified storage class. The value must be a positive integer.

" }, "StorageClass":{ "shape":"TransitionStorageClass", - "documentation":"

The class of storage used to store the object.

" + "documentation":"

The storage class to which you want the object to transition.

" } - } + }, + "documentation":"

Specifies when an object transitions to a specified storage class.

" }, "TransitionList":{ "type":"list", @@ -7536,7 +8050,8 @@ "GLACIER", "STANDARD_IA", "ONEZONE_IA", - "INTELLIGENT_TIERING" + "INTELLIGENT_TIERING", + "DEEP_ARCHIVE" ] }, "Type":{ @@ -7558,7 +8073,10 @@ "location":"header", "locationName":"x-amz-copy-source-version-id" }, - "CopyPartResult":{"shape":"CopyPartResult"}, + "CopyPartResult":{ + "shape":"CopyPartResult", + "documentation":"

" + }, "ServerSideEncryption":{ "shape":"ServerSideEncryption", "documentation":"

The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

", @@ -7603,6 +8121,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

", "location":"uri", "locationName":"Bucket" }, @@ -7638,12 +8157,13 @@ }, "CopySourceRange":{ "shape":"CopySourceRange", - "documentation":"

The range of bytes to copy from the source object. The range value must use the form bytes=first-last, where the first and last are the zero-based byte offsets to copy. For example, bytes=0-9 indicates that you want to copy the first ten bytes of the source. You can copy a range only if the source object is greater than 5 GB.

", + "documentation":"

The range of bytes to copy from the source object. The range value must use the form bytes=first-last, where the first and last are the zero-based byte offsets to copy. For example, bytes=0-9 indicates that you want to copy the first ten bytes of the source. You can copy a range only if the source object is greater than 5 MB.

", "location":"header", "locationName":"x-amz-copy-source-range" }, "Key":{ "shape":"ObjectKey", + "documentation":"

", "location":"uri", "locationName":"Key" }, @@ -7770,7 +8290,7 @@ }, "ContentMD5":{ "shape":"ContentMD5", - "documentation":"

The base64-encoded 128-bit MD5 digest of the part data.

", + "documentation":"

The base64-encoded 128-bit MD5 digest of the part data. This parameter is auto-populated when using the command from the CLI. This parameted is required if object lock parameters are specified.

", "location":"header", "locationName":"Content-MD5" }, @@ -7839,18 +8359,33 @@ "shape":"BucketVersioningStatus", "documentation":"

The versioning state of the bucket.

" } - } + }, + "documentation":"

Describes the versioning state of an Amazon S3 bucket. For more information, see PUT Bucket versioning in the Amazon Simple Storage Service API Reference.

" }, "WebsiteConfiguration":{ "type":"structure", "members":{ - "ErrorDocument":{"shape":"ErrorDocument"}, - "IndexDocument":{"shape":"IndexDocument"}, - "RedirectAllRequestsTo":{"shape":"RedirectAllRequestsTo"}, - "RoutingRules":{"shape":"RoutingRules"} - } + "ErrorDocument":{ + "shape":"ErrorDocument", + "documentation":"

The name of the error document for the website.

" + }, + "IndexDocument":{ + "shape":"IndexDocument", + "documentation":"

The name of the index document for the website.

" + }, + "RedirectAllRequestsTo":{ + "shape":"RedirectAllRequestsTo", + "documentation":"

The redirect behavior for every request to this bucket's website endpoint.

If you specify this property, you can't specify any other property.

" + }, + "RoutingRules":{ + "shape":"RoutingRules", + "documentation":"

Rules that define when a redirect is applied and the redirect behavior.

" + } + }, + "documentation":"

Specifies website configuration parameters for an Amazon S3 bucket.

" }, "WebsiteRedirectLocation":{"type":"string"}, "Years":{"type":"integer"} - } + }, + "documentation":"

" } diff --git a/bin/botocore/data/s3control/2018-08-20/service-2.json b/bin/botocore/data/s3control/2018-08-20/service-2.json index 94d6268d..6314cf84 100644 --- a/bin/botocore/data/s3control/2018-08-20/service-2.json +++ b/bin/botocore/data/s3control/2018-08-20/service-2.json @@ -11,6 +11,26 @@ "uid":"s3control-2018-08-20" }, "operations":{ + "CreateJob":{ + "name":"CreateJob", + "http":{ + "method":"POST", + "requestUri":"/v20180820/jobs" + }, + "input":{ + "shape":"CreateJobRequest", + "locationName":"CreateJobRequest", + "xmlNamespace":{"uri":"http://awss3control.amazonaws.com/doc/2018-08-20/"} + }, + "output":{"shape":"CreateJobResult"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"IdempotencyException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Creates an Amazon S3 batch operations job.

" + }, "DeletePublicAccessBlock":{ "name":"DeletePublicAccessBlock", "http":{ @@ -18,7 +38,23 @@ "requestUri":"/v20180820/configuration/publicAccessBlock" }, "input":{"shape":"DeletePublicAccessBlockRequest"}, - "documentation":"

Removes the Public Access Block configuration for an Amazon Web Services account.

" + "documentation":"

Deletes the block public access configuration for the specified account.

" + }, + "DescribeJob":{ + "name":"DescribeJob", + "http":{ + "method":"GET", + "requestUri":"/v20180820/jobs/{id}" + }, + "input":{"shape":"DescribeJobRequest"}, + "output":{"shape":"DescribeJobResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Retrieves the configuration parameters and status for a batch operations job.

" }, "GetPublicAccessBlock":{ "name":"GetPublicAccessBlock", @@ -31,7 +67,22 @@ "errors":[ {"shape":"NoSuchPublicAccessBlockConfiguration"} ], - "documentation":"

Retrieves the Public Access Block configuration for an Amazon Web Services account.

" + "documentation":"

" + }, + "ListJobs":{ + "name":"ListJobs", + "http":{ + "method":"GET", + "requestUri":"/v20180820/jobs" + }, + "input":{"shape":"ListJobsRequest"}, + "output":{"shape":"ListJobsResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Lists current jobs and jobs that have ended within the last 30 days for the AWS account making the request.

" }, "PutPublicAccessBlock":{ "name":"PutPublicAccessBlock", @@ -40,29 +91,174 @@ "requestUri":"/v20180820/configuration/publicAccessBlock" }, "input":{"shape":"PutPublicAccessBlockRequest"}, - "documentation":"

Creates or modifies the Public Access Block configuration for an Amazon Web Services account.

" + "documentation":"

" + }, + "UpdateJobPriority":{ + "name":"UpdateJobPriority", + "http":{ + "method":"POST", + "requestUri":"/v20180820/jobs/{id}/priority" + }, + "input":{"shape":"UpdateJobPriorityRequest"}, + "output":{"shape":"UpdateJobPriorityResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Updates an existing job's priority.

" + }, + "UpdateJobStatus":{ + "name":"UpdateJobStatus", + "http":{ + "method":"POST", + "requestUri":"/v20180820/jobs/{id}/status" + }, + "input":{"shape":"UpdateJobStatusRequest"}, + "output":{"shape":"UpdateJobStatusResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"}, + {"shape":"JobStatusException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Updates the status for the specified job. Use this operation to confirm that you want to run a job or to cancel an existing job.

" } }, "shapes":{ - "AccountId":{"type":"string"}, + "AccountId":{ + "type":"string", + "max":64 + }, + "BadRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

", + "exception":true + }, + "Boolean":{"type":"boolean"}, + "ConfirmationRequired":{"type":"boolean"}, + "CreateJobRequest":{ + "type":"structure", + "required":[ + "AccountId", + "Operation", + "Report", + "ClientRequestToken", + "Manifest", + "Priority", + "RoleArn" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

", + "location":"header", + "locationName":"x-amz-account-id" + }, + "ConfirmationRequired":{ + "shape":"ConfirmationRequired", + "documentation":"

Indicates whether confirmation is required before Amazon S3 runs the job. Confirmation is only required for jobs created through the Amazon S3 console.

", + "box":true + }, + "Operation":{ + "shape":"JobOperation", + "documentation":"

The operation that you want this job to perform on each object listed in the manifest. For more information about the available operations, see Available Operations in the Amazon Simple Storage Service Developer Guide.

" + }, + "Report":{ + "shape":"JobReport", + "documentation":"

Configuration parameters for the optional job-completion report.

" + }, + "ClientRequestToken":{ + "shape":"NonEmptyMaxLength64String", + "documentation":"

An idempotency token to ensure that you don't accidentally submit the same request twice. You can use any string up to the maximum length.

", + "idempotencyToken":true + }, + "Manifest":{ + "shape":"JobManifest", + "documentation":"

Configuration parameters for the manifest.

" + }, + "Description":{ + "shape":"NonEmptyMaxLength256String", + "documentation":"

A description for this job. You can use any string within the permitted length. Descriptions don't need to be unique and can be used for multiple jobs.

" + }, + "Priority":{ + "shape":"JobPriority", + "documentation":"

The numerical priority for this job. Higher numbers indicate higher priority.

", + "box":true + }, + "RoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

The Amazon Resource Name (ARN) for the Identity and Access Management (IAM) Role that batch operations will use to execute this job's operation on each object in the manifest.

" + } + } + }, + "CreateJobResult":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The ID for this job. Amazon S3 generates this ID automatically and returns it after a successful Create Job request.

" + } + } + }, "DeletePublicAccessBlockRequest":{ "type":"structure", "required":["AccountId"], "members":{ "AccountId":{ "shape":"AccountId", - "documentation":"

The Account ID for the Amazon Web Services account whose Public Access Block configuration you want to remove.

", + "documentation":"

The account ID for the AWS account whose block public access configuration you want to delete.

", "location":"header", "locationName":"x-amz-account-id" } } }, + "DescribeJobRequest":{ + "type":"structure", + "required":[ + "AccountId", + "JobId" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

", + "location":"header", + "locationName":"x-amz-account-id" + }, + "JobId":{ + "shape":"JobId", + "documentation":"

The ID for the job whose information you want to retrieve.

", + "location":"uri", + "locationName":"id" + } + } + }, + "DescribeJobResult":{ + "type":"structure", + "members":{ + "Job":{ + "shape":"JobDescriptor", + "documentation":"

Contains the configuration parameters and status for the job specified in the Describe Job request.

" + } + } + }, + "ExceptionMessage":{ + "type":"string", + "max":1024, + "min":1 + }, "GetPublicAccessBlockOutput":{ "type":"structure", "members":{ "PublicAccessBlockConfiguration":{ "shape":"PublicAccessBlockConfiguration", - "documentation":"

The Public Access Block configuration currently in effect for this Amazon Web Services account.

" + "documentation":"

" } }, "payload":"PublicAccessBlockConfiguration" @@ -73,47 +269,583 @@ "members":{ "AccountId":{ "shape":"AccountId", - "documentation":"

The Account ID for the Amazon Web Services account whose Public Access Block configuration you want to retrieve.

", + "documentation":"

", + "location":"header", + "locationName":"x-amz-account-id" + } + } + }, + "IAMRoleArn":{ + "type":"string", + "max":2048, + "min":1 + }, + "IdempotencyException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

", + "exception":true + }, + "InternalServiceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

", + "exception":true, + "fault":true + }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

", + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

", + "exception":true + }, + "JobArn":{ + "type":"string", + "max":1024, + "min":1 + }, + "JobCreationTime":{"type":"timestamp"}, + "JobDescriptor":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The ID for the specified job.

" + }, + "ConfirmationRequired":{ + "shape":"ConfirmationRequired", + "documentation":"

Indicates whether confirmation is required before Amazon S3 begins running the specified job. Confirmation is required only for jobs created through the Amazon S3 console.

", + "box":true + }, + "Description":{ + "shape":"NonEmptyMaxLength256String", + "documentation":"

The description for this job, if one was provided in this job's Create Job request.

", + "box":true + }, + "JobArn":{ + "shape":"JobArn", + "documentation":"

The Amazon Resource Name (ARN) for this job.

", + "box":true + }, + "Status":{ + "shape":"JobStatus", + "documentation":"

The current status of the specified job.

" + }, + "Manifest":{ + "shape":"JobManifest", + "documentation":"

The configuration information for the specified job's manifest object.

", + "box":true + }, + "Operation":{ + "shape":"JobOperation", + "documentation":"

The operation that the specified job is configured to execute on the objects listed in the manifest.

", + "box":true + }, + "Priority":{ + "shape":"JobPriority", + "documentation":"

The priority of the specified job.

" + }, + "ProgressSummary":{ + "shape":"JobProgressSummary", + "documentation":"

Describes the total number of tasks that the specified job has executed, the number of tasks that succeeded, and the number of tasks that failed.

", + "box":true + }, + "StatusUpdateReason":{ + "shape":"JobStatusUpdateReason", + "documentation":"

", + "box":true + }, + "FailureReasons":{ + "shape":"JobFailureList", + "documentation":"

If the specified job failed, this field contains information describing the failure.

", + "box":true + }, + "Report":{ + "shape":"JobReport", + "documentation":"

Contains the configuration information for the job-completion report if you requested one in the Create Job request.

", + "box":true + }, + "CreationTime":{ + "shape":"JobCreationTime", + "documentation":"

A timestamp indicating when this job was created.

" + }, + "TerminationDate":{ + "shape":"JobTerminationDate", + "documentation":"

A timestamp indicating when this job terminated. A job's termination date is the date and time when it succeeded, failed, or was canceled.

", + "box":true + }, + "RoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

The Amazon Resource Name (ARN) for the Identity and Access Management (IAM) Role assigned to execute the tasks for this job.

", + "box":true + }, + "SuspendedDate":{ + "shape":"SuspendedDate", + "documentation":"

The timestamp when this job was suspended, if it has been suspended.

", + "box":true + }, + "SuspendedCause":{ + "shape":"SuspendedCause", + "documentation":"

The reason why the specified job was suspended. A job is only suspended if you create it through the Amazon S3 console. When you create the job, it enters the Suspended state to await confirmation before running. After you confirm the job, it automatically exits the Suspended state.

", + "box":true + } + }, + "documentation":"

A container element for the job configuration and status information returned by a Describe Job request.

" + }, + "JobFailure":{ + "type":"structure", + "members":{ + "FailureCode":{ + "shape":"JobFailureCode", + "documentation":"

The failure code, if any, for the specified job.

" + }, + "FailureReason":{ + "shape":"JobFailureReason", + "documentation":"

The failure reason, if any, for the specified job.

" + } + }, + "documentation":"

If this job failed, this element indicates why the job failed.

" + }, + "JobFailureCode":{ + "type":"string", + "max":64, + "min":1 + }, + "JobFailureList":{ + "type":"list", + "member":{"shape":"JobFailure"} + }, + "JobFailureReason":{ + "type":"string", + "max":256, + "min":1 + }, + "JobId":{ + "type":"string", + "max":36, + "min":5 + }, + "JobListDescriptor":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The ID for the specified job.

" + }, + "Description":{ + "shape":"NonEmptyMaxLength256String", + "documentation":"

The user-specified description that was included in the specified job's Create Job request.

" + }, + "Operation":{ + "shape":"OperationName", + "documentation":"

The operation that the specified job is configured to run on each object listed in the manifest.

" + }, + "Priority":{ + "shape":"JobPriority", + "documentation":"

The current priority for the specified job.

" + }, + "Status":{ + "shape":"JobStatus", + "documentation":"

The specified job's current status.

" + }, + "CreationTime":{ + "shape":"JobCreationTime", + "documentation":"

A timestamp indicating when the specified job was created.

" + }, + "TerminationDate":{ + "shape":"JobTerminationDate", + "documentation":"

A timestamp indicating when the specified job terminated. A job's termination date is the date and time when it succeeded, failed, or was canceled.

" + }, + "ProgressSummary":{ + "shape":"JobProgressSummary", + "documentation":"

Describes the total number of tasks that the specified job has executed, the number of tasks that succeeded, and the number of tasks that failed.

" + } + }, + "documentation":"

Contains the configuration and status information for a single job retrieved as part of a job list.

" + }, + "JobListDescriptorList":{ + "type":"list", + "member":{"shape":"JobListDescriptor"} + }, + "JobManifest":{ + "type":"structure", + "required":[ + "Spec", + "Location" + ], + "members":{ + "Spec":{ + "shape":"JobManifestSpec", + "documentation":"

Describes the format of the specified job's manifest. If the manifest is in CSV format, also describes the columns contained within the manifest.

" + }, + "Location":{ + "shape":"JobManifestLocation", + "documentation":"

Contains the information required to locate the specified job's manifest.

" + } + }, + "documentation":"

Contains the configuration information for a job's manifest.

" + }, + "JobManifestFieldList":{ + "type":"list", + "member":{"shape":"JobManifestFieldName"} + }, + "JobManifestFieldName":{ + "type":"string", + "enum":[ + "Ignore", + "Bucket", + "Key", + "VersionId" + ] + }, + "JobManifestFormat":{ + "type":"string", + "enum":[ + "S3BatchOperations_CSV_20180820", + "S3InventoryReport_CSV_20161130" + ] + }, + "JobManifestLocation":{ + "type":"structure", + "required":[ + "ObjectArn", + "ETag" + ], + "members":{ + "ObjectArn":{ + "shape":"S3KeyArnString", + "documentation":"

The Amazon Resource Name (ARN) for a manifest object.

" + }, + "ObjectVersionId":{ + "shape":"S3ObjectVersionId", + "documentation":"

The optional version ID to identify a specific version of the manifest object.

", + "box":true + }, + "ETag":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

The ETag for the specified manifest object.

" + } + }, + "documentation":"

Contains the information required to locate a manifest object.

" + }, + "JobManifestSpec":{ + "type":"structure", + "required":["Format"], + "members":{ + "Format":{ + "shape":"JobManifestFormat", + "documentation":"

Indicates which of the available formats the specified manifest uses.

" + }, + "Fields":{ + "shape":"JobManifestFieldList", + "documentation":"

If the specified manifest object is in the S3BatchOperations_CSV_20180820 format, this element describes which columns contain the required data.

", + "box":true + } + }, + "documentation":"

Describes the format of a manifest. If the manifest is in CSV format, also describes the columns contained within the manifest.

" + }, + "JobNumberOfTasksFailed":{ + "type":"long", + "min":0 + }, + "JobNumberOfTasksSucceeded":{ + "type":"long", + "min":0 + }, + "JobOperation":{ + "type":"structure", + "members":{ + "LambdaInvoke":{ + "shape":"LambdaInvokeOperation", + "documentation":"

Directs the specified job to invoke an AWS Lambda function on each object in the manifest.

", + "box":true + }, + "S3PutObjectCopy":{ + "shape":"S3CopyObjectOperation", + "documentation":"

Directs the specified job to execute a PUT Copy object call on each object in the manifest.

", + "box":true + }, + "S3PutObjectAcl":{ + "shape":"S3SetObjectAclOperation", + "documentation":"

Directs the specified job to execute a PUT Object acl call on each object in the manifest.

", + "box":true + }, + "S3PutObjectTagging":{ + "shape":"S3SetObjectTaggingOperation", + "documentation":"

Directs the specified job to execute a PUT Object tagging call on each object in the manifest.

", + "box":true + }, + "S3InitiateRestoreObject":{ + "shape":"S3InitiateRestoreObjectOperation", + "documentation":"

Directs the specified job to execute an Initiate Glacier Restore call on each object in the manifest.

", + "box":true + } + }, + "documentation":"

The operation that you want this job to perform on each object listed in the manifest. For more information about the available operations, see Available Operations in the Amazon Simple Storage Service Developer Guide.

" + }, + "JobPriority":{ + "type":"integer", + "max":2147483647, + "min":0 + }, + "JobProgressSummary":{ + "type":"structure", + "members":{ + "TotalNumberOfTasks":{ + "shape":"JobTotalNumberOfTasks", + "documentation":"

", + "box":true + }, + "NumberOfTasksSucceeded":{ + "shape":"JobNumberOfTasksSucceeded", + "documentation":"

", + "box":true + }, + "NumberOfTasksFailed":{ + "shape":"JobNumberOfTasksFailed", + "documentation":"

", + "box":true + } + }, + "documentation":"

Describes the total number of tasks that the specified job has executed, the number of tasks that succeeded, and the number of tasks that failed.

" + }, + "JobReport":{ + "type":"structure", + "required":["Enabled"], + "members":{ + "Bucket":{ + "shape":"S3BucketArnString", + "documentation":"

The bucket where specified job-completion report will be stored.

", + "box":true + }, + "Format":{ + "shape":"JobReportFormat", + "documentation":"

The format of the specified job-completion report.

", + "box":true + }, + "Enabled":{ + "shape":"Boolean", + "documentation":"

Indicates whether the specified job will generate a job-completion report.

" + }, + "Prefix":{ + "shape":"ReportPrefixString", + "documentation":"

An optional prefix to describe where in the specified bucket the job-completion report will be stored. Amazon S3 will store the job-completion report at <prefix>/job-<job-id>/report.json.

", + "box":true + }, + "ReportScope":{ + "shape":"JobReportScope", + "documentation":"

Indicates whether the job-completion report will include details of all tasks or only failed tasks.

", + "box":true + } + }, + "documentation":"

Contains the configuration parameters for a job-completion report.

" + }, + "JobReportFormat":{ + "type":"string", + "enum":["Report_CSV_20180820"] + }, + "JobReportScope":{ + "type":"string", + "enum":[ + "AllTasks", + "FailedTasksOnly" + ] + }, + "JobStatus":{ + "type":"string", + "enum":[ + "Active", + "Cancelled", + "Cancelling", + "Complete", + "Completing", + "Failed", + "Failing", + "New", + "Paused", + "Pausing", + "Preparing", + "Ready", + "Suspended" + ] + }, + "JobStatusException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

", + "exception":true + }, + "JobStatusList":{ + "type":"list", + "member":{"shape":"JobStatus"} + }, + "JobStatusUpdateReason":{ + "type":"string", + "max":256, + "min":1 + }, + "JobTerminationDate":{"type":"timestamp"}, + "JobTotalNumberOfTasks":{ + "type":"long", + "min":0 + }, + "KmsKeyArnString":{ + "type":"string", + "max":2000, + "min":1 + }, + "LambdaInvokeOperation":{ + "type":"structure", + "members":{ + "FunctionArn":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

The Amazon Resource Name (ARN) for the AWS Lambda function that the specified job will invoke for each object in the manifest.

" + } + }, + "documentation":"

Contains the configuration parameters for a Lambda Invoke operation.

" + }, + "ListJobsRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

", "location":"header", "locationName":"x-amz-account-id" + }, + "JobStatuses":{ + "shape":"JobStatusList", + "documentation":"

The List Jobs request returns jobs that match the statuses listed in this element.

", + "location":"querystring", + "locationName":"jobStatuses" + }, + "NextToken":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

A pagination token to request the next page of results. Use the token that Amazon S3 returned in the NextToken element of the ListJobsResult from the previous List Jobs request.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of jobs that Amazon S3 will include in the List Jobs response. If there are more jobs than this number, the response will include a pagination token in the NextToken field to enable you to retrieve the next page of results.

", + "box":true, + "location":"querystring", + "locationName":"maxResults" } } }, + "ListJobsResult":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

If the List Jobs request produced more than the maximum number of results, you can pass this value into a subsequent List Jobs request in order to retrieve the next page of results.

" + }, + "Jobs":{ + "shape":"JobListDescriptorList", + "documentation":"

The list of current jobs and jobs that have ended within the last 30 days.

" + } + } + }, + "MaxLength1024String":{ + "type":"string", + "max":1024 + }, + "MaxResults":{ + "type":"integer", + "max":1000, + "min":1 + }, "NoSuchPublicAccessBlockConfiguration":{ "type":"structure", "members":{ "Message":{"shape":"NoSuchPublicAccessBlockConfigurationMessage"} }, - "documentation":"

This exception is thrown if a GetPublicAccessBlock request is made against an account that does not have a PublicAccessBlockConfiguration set.

", + "documentation":"

", "error":{"httpStatusCode":404}, "exception":true }, "NoSuchPublicAccessBlockConfigurationMessage":{"type":"string"}, + "NonEmptyMaxLength1024String":{ + "type":"string", + "max":1024, + "min":1 + }, + "NonEmptyMaxLength2048String":{ + "type":"string", + "max":2048, + "min":1 + }, + "NonEmptyMaxLength256String":{ + "type":"string", + "max":256, + "min":1 + }, + "NonEmptyMaxLength64String":{ + "type":"string", + "max":64, + "min":1 + }, + "NotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

", + "exception":true + }, + "OperationName":{ + "type":"string", + "enum":[ + "LambdaInvoke", + "S3PutObjectCopy", + "S3PutObjectAcl", + "S3PutObjectTagging", + "S3InitiateRestoreObject" + ] + }, "PublicAccessBlockConfiguration":{ "type":"structure", "members":{ "BlockPublicAcls":{ "shape":"Setting", - "documentation":"

Specifies whether Amazon S3 should block public ACLs for buckets in this account. Setting this element to TRUE causes the following behavior:

  • PUT Bucket acl and PUT Object acl calls will fail if the specified ACL allows public access.

  • PUT Object calls will fail if the request includes an object ACL.

Note that enabling this setting doesn't affect existing policies or ACLs.

", + "documentation":"

", "locationName":"BlockPublicAcls" }, "IgnorePublicAcls":{ "shape":"Setting", - "documentation":"

Specifies whether Amazon S3 should ignore public ACLs for buckets in this account. Setting this element to TRUE causes Amazon S3 to ignore all public ACLs on buckets in this account and any objects that they contain.

Note that enabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.

", + "documentation":"

", "locationName":"IgnorePublicAcls" }, "BlockPublicPolicy":{ "shape":"Setting", - "documentation":"

Specifies whether Amazon S3 should block public bucket policies for buckets in this account. Setting this element to TRUE causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.

Note that enabling this setting doesn't affect existing bucket policies.

", + "documentation":"

", "locationName":"BlockPublicPolicy" }, "RestrictPublicBuckets":{ "shape":"Setting", - "documentation":"

Specifies whether Amazon S3 should restrict public bucket policies for buckets in this account. If this element is set to TRUE, then only the bucket owner and AWS Services can access buckets with public policies.

Note that enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.

", + "documentation":"

", "locationName":"RestrictPublicBuckets" } }, - "documentation":"

The container element for all Public Access Block configuration options. You can enable the configuration options in any combination.

Amazon S3 considers a bucket policy public unless at least one of the following conditions is true:

  1. The policy limits access to a set of CIDRs using aws:SourceIp. For more information on CIDR, see http://www.rfc-editor.org/rfc/rfc4632.txt

  2. The policy grants permissions, not including any \"bad actions,\" to one of the following:

    • A fixed AWS principal, user, role, or service principal

    • A fixed aws:SourceArn

    • A fixed aws:SourceVpc

    • A fixed aws:SourceVpce

    • A fixed aws:SourceOwner

    • A fixed aws:SourceAccount

    • A fixed value of s3:x-amz-server-side-encryption-aws-kms-key-id

    • A fixed value of aws:userid outside the pattern \"AROLEID:*\"

\"Bad actions\" are those that could expose the data inside a bucket to reads or writes by the public. These actions are s3:Get*, s3:List*, s3:AbortMultipartUpload, s3:Delete*, s3:Put*, and s3:RestoreObject.

The star notation for bad actions indicates that all matching operations are considered bad actions. For example, because s3:Get* is a bad action, s3:GetObject, s3:GetObjectVersion, and s3:GetObjectAcl are all bad actions.

" + "documentation":"

" }, "PutPublicAccessBlockRequest":{ "type":"structure", @@ -124,20 +856,497 @@ "members":{ "PublicAccessBlockConfiguration":{ "shape":"PublicAccessBlockConfiguration", - "documentation":"

The Public Access Block configuration that you want to apply to this Amazon Web Services account.

", + "documentation":"

", "locationName":"PublicAccessBlockConfiguration", "xmlNamespace":{"uri":"http://awss3control.amazonaws.com/doc/2018-08-20/"} }, "AccountId":{ "shape":"AccountId", - "documentation":"

The Account ID for the Amazon Web Services account whose Public Access Block configuration you want to set.

", + "documentation":"

", "location":"header", "locationName":"x-amz-account-id" } }, "payload":"PublicAccessBlockConfiguration" }, - "Setting":{"type":"boolean"} + "ReportPrefixString":{ + "type":"string", + "max":512, + "min":1 + }, + "RequestedJobStatus":{ + "type":"string", + "enum":[ + "Cancelled", + "Ready" + ] + }, + "S3AccessControlList":{ + "type":"structure", + "required":["Owner"], + "members":{ + "Owner":{ + "shape":"S3ObjectOwner", + "documentation":"

" + }, + "Grants":{ + "shape":"S3GrantList", + "documentation":"

" + } + }, + "documentation":"

" + }, + "S3AccessControlPolicy":{ + "type":"structure", + "members":{ + "AccessControlList":{ + "shape":"S3AccessControlList", + "documentation":"

", + "box":true + }, + "CannedAccessControlList":{ + "shape":"S3CannedAccessControlList", + "documentation":"

", + "box":true + } + }, + "documentation":"

" + }, + "S3BucketArnString":{ + "type":"string", + "max":128, + "min":1 + }, + "S3CannedAccessControlList":{ + "type":"string", + "enum":[ + "private", + "public-read", + "public-read-write", + "aws-exec-read", + "authenticated-read", + "bucket-owner-read", + "bucket-owner-full-control" + ] + }, + "S3ContentLength":{ + "type":"long", + "min":0 + }, + "S3CopyObjectOperation":{ + "type":"structure", + "members":{ + "TargetResource":{ + "shape":"S3BucketArnString", + "documentation":"

" + }, + "CannedAccessControlList":{ + "shape":"S3CannedAccessControlList", + "documentation":"

", + "box":true + }, + "AccessControlGrants":{ + "shape":"S3GrantList", + "documentation":"

", + "box":true + }, + "MetadataDirective":{ + "shape":"S3MetadataDirective", + "documentation":"

" + }, + "ModifiedSinceConstraint":{ + "shape":"TimeStamp", + "documentation":"

" + }, + "NewObjectMetadata":{ + "shape":"S3ObjectMetadata", + "documentation":"

" + }, + "NewObjectTagging":{ + "shape":"S3TagSet", + "documentation":"

" + }, + "RedirectLocation":{ + "shape":"NonEmptyMaxLength2048String", + "documentation":"

" + }, + "RequesterPays":{ + "shape":"Boolean", + "documentation":"

" + }, + "StorageClass":{ + "shape":"S3StorageClass", + "documentation":"

" + }, + "UnModifiedSinceConstraint":{ + "shape":"TimeStamp", + "documentation":"

" + }, + "SSEAwsKmsKeyId":{ + "shape":"KmsKeyArnString", + "documentation":"

" + }, + "TargetKeyPrefix":{"shape":"NonEmptyMaxLength1024String"}, + "ObjectLockLegalHoldStatus":{"shape":"S3ObjectLockLegalHoldStatus"}, + "ObjectLockMode":{"shape":"S3ObjectLockMode"}, + "ObjectLockRetainUntilDate":{"shape":"TimeStamp"} + }, + "documentation":"

Contains the configuration parameters for a PUT Copy object operation. Amazon S3 batch operations passes each value through to the underlying PUT Copy object API. For more information about the parameters for this operation, see PUT Object - Copy.

" + }, + "S3ExpirationInDays":{ + "type":"integer", + "min":0 + }, + "S3GlacierJobTier":{ + "type":"string", + "enum":[ + "BULK", + "STANDARD" + ] + }, + "S3Grant":{ + "type":"structure", + "members":{ + "Grantee":{ + "shape":"S3Grantee", + "documentation":"

" + }, + "Permission":{ + "shape":"S3Permission", + "documentation":"

" + } + }, + "documentation":"

" + }, + "S3GrantList":{ + "type":"list", + "member":{"shape":"S3Grant"} + }, + "S3Grantee":{ + "type":"structure", + "members":{ + "TypeIdentifier":{ + "shape":"S3GranteeTypeIdentifier", + "documentation":"

" + }, + "Identifier":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

", + "box":true + }, + "DisplayName":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

" + } + }, + "documentation":"

" + }, + "S3GranteeTypeIdentifier":{ + "type":"string", + "enum":[ + "id", + "emailAddress", + "uri" + ] + }, + "S3InitiateRestoreObjectOperation":{ + "type":"structure", + "members":{ + "ExpirationInDays":{ + "shape":"S3ExpirationInDays", + "documentation":"

" + }, + "GlacierJobTier":{ + "shape":"S3GlacierJobTier", + "documentation":"

" + } + }, + "documentation":"

Contains the configuration parameters for an Initiate Glacier Restore job. Amazon S3 batch operations passes each value through to the underlying POST Object restore API. For more information about the parameters for this operation, see Restoring Archives.

" + }, + "S3KeyArnString":{ + "type":"string", + "max":2000, + "min":1 + }, + "S3MetadataDirective":{ + "type":"string", + "enum":[ + "COPY", + "REPLACE" + ] + }, + "S3ObjectLockLegalHoldStatus":{ + "type":"string", + "enum":[ + "OFF", + "ON" + ] + }, + "S3ObjectLockMode":{ + "type":"string", + "enum":[ + "COMPLIANCE", + "GOVERNANCE" + ] + }, + "S3ObjectMetadata":{ + "type":"structure", + "members":{ + "CacheControl":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

" + }, + "ContentDisposition":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

" + }, + "ContentEncoding":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

" + }, + "ContentLanguage":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

" + }, + "UserMetadata":{ + "shape":"S3UserMetadata", + "documentation":"

" + }, + "ContentLength":{ + "shape":"S3ContentLength", + "documentation":"

", + "box":true + }, + "ContentMD5":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

" + }, + "ContentType":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

" + }, + "HttpExpiresDate":{ + "shape":"TimeStamp", + "documentation":"

" + }, + "RequesterCharged":{ + "shape":"Boolean", + "documentation":"

" + }, + "SSEAlgorithm":{ + "shape":"S3SSEAlgorithm", + "documentation":"

" + } + }, + "documentation":"

" + }, + "S3ObjectOwner":{ + "type":"structure", + "members":{ + "ID":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

" + }, + "DisplayName":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

" + } + }, + "documentation":"

" + }, + "S3ObjectVersionId":{ + "type":"string", + "max":2000, + "min":1 + }, + "S3Permission":{ + "type":"string", + "enum":[ + "FULL_CONTROL", + "READ", + "WRITE", + "READ_ACP", + "WRITE_ACP" + ] + }, + "S3SSEAlgorithm":{ + "type":"string", + "enum":[ + "AES256", + "KMS" + ] + }, + "S3SetObjectAclOperation":{ + "type":"structure", + "members":{ + "AccessControlPolicy":{ + "shape":"S3AccessControlPolicy", + "documentation":"

" + } + }, + "documentation":"

Contains the configuration parameters for a Set Object ACL operation. Amazon S3 batch operations passes each value through to the underlying PUT Object acl API. For more information about the parameters for this operation, see PUT Object acl.

" + }, + "S3SetObjectTaggingOperation":{ + "type":"structure", + "members":{ + "TagSet":{ + "shape":"S3TagSet", + "documentation":"

" + } + }, + "documentation":"

Contains the configuration parameters for a Set Object Tagging operation. Amazon S3 batch operations passes each value through to the underlying PUT Object tagging API. For more information about the parameters for this operation, see PUT Object tagging.

" + }, + "S3StorageClass":{ + "type":"string", + "enum":[ + "STANDARD", + "STANDARD_IA", + "ONEZONE_IA", + "GLACIER", + "INTELLIGENT_TIERING", + "DEEP_ARCHIVE" + ] + }, + "S3Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

" + }, + "Value":{ + "shape":"MaxLength1024String", + "documentation":"

" + } + }, + "documentation":"

" + }, + "S3TagSet":{ + "type":"list", + "member":{"shape":"S3Tag"} + }, + "S3UserMetadata":{ + "type":"map", + "key":{"shape":"NonEmptyMaxLength1024String"}, + "value":{"shape":"MaxLength1024String"}, + "max":8192 + }, + "Setting":{"type":"boolean"}, + "SuspendedCause":{ + "type":"string", + "max":1024, + "min":1 + }, + "SuspendedDate":{"type":"timestamp"}, + "TimeStamp":{"type":"timestamp"}, + "TooManyRequestsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

", + "exception":true + }, + "UpdateJobPriorityRequest":{ + "type":"structure", + "required":[ + "AccountId", + "JobId", + "Priority" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

", + "location":"header", + "locationName":"x-amz-account-id" + }, + "JobId":{ + "shape":"JobId", + "documentation":"

The ID for the job whose priority you want to update.

", + "location":"uri", + "locationName":"id" + }, + "Priority":{ + "shape":"JobPriority", + "documentation":"

The priority you want to assign to this job.

", + "location":"querystring", + "locationName":"priority" + } + } + }, + "UpdateJobPriorityResult":{ + "type":"structure", + "required":[ + "JobId", + "Priority" + ], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The ID for the job whose priority Amazon S3 updated.

" + }, + "Priority":{ + "shape":"JobPriority", + "documentation":"

The new priority assigned to the specified job.

" + } + } + }, + "UpdateJobStatusRequest":{ + "type":"structure", + "required":[ + "AccountId", + "JobId", + "RequestedJobStatus" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

", + "location":"header", + "locationName":"x-amz-account-id" + }, + "JobId":{ + "shape":"JobId", + "documentation":"

The ID of the job whose status you want to update.

", + "location":"uri", + "locationName":"id" + }, + "RequestedJobStatus":{ + "shape":"RequestedJobStatus", + "documentation":"

The status that you want to move the specified job to.

", + "location":"querystring", + "locationName":"requestedJobStatus" + }, + "StatusUpdateReason":{ + "shape":"JobStatusUpdateReason", + "documentation":"

A description of the reason why you want to change the specified job's status. This field can be any string up to the maximum length.

", + "location":"querystring", + "locationName":"statusUpdateReason" + } + } + }, + "UpdateJobStatusResult":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The ID for the job whose status was updated.

" + }, + "Status":{ + "shape":"JobStatus", + "documentation":"

The current status for the specified job.

" + }, + "StatusUpdateReason":{ + "shape":"JobStatusUpdateReason", + "documentation":"

The reason that the specified job's status was updated.

" + } + } + } }, "documentation":"

AWS S3 Control provides access to Amazon S3 control plane operations.

" } diff --git a/bin/botocore/data/sagemaker/2017-07-24/paginators-1.json b/bin/botocore/data/sagemaker/2017-07-24/paginators-1.json index f6d33286..dc7a411f 100644 --- a/bin/botocore/data/sagemaker/2017-07-24/paginators-1.json +++ b/bin/botocore/data/sagemaker/2017-07-24/paginators-1.json @@ -35,6 +35,84 @@ "output_token": "NextToken", "input_token": "NextToken", "limit_key": "MaxResults" + }, + "ListAlgorithms": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "AlgorithmSummaryList" + }, + "ListCodeRepositories": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "CodeRepositorySummaryList" + }, + "ListCompilationJobs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "CompilationJobSummaries" + }, + "ListHyperParameterTuningJobs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "HyperParameterTuningJobSummaries" + }, + "ListLabelingJobs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "LabelingJobSummaryList" + }, + "ListLabelingJobsForWorkteam": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "LabelingJobSummaryList" + }, + "ListModelPackages": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ModelPackageSummaryList" + }, + "ListNotebookInstanceLifecycleConfigs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "NotebookInstanceLifecycleConfigs" + }, + "ListSubscribedWorkteams": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "SubscribedWorkteams" + }, + "ListTrainingJobsForHyperParameterTuningJob": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TrainingJobSummaries" + }, + "ListTransformJobs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TransformJobSummaries" + }, + "ListWorkteams": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Workteams" + }, + "Search": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Results" } } } diff --git a/bin/botocore/data/sagemaker/2017-07-24/service-2.json b/bin/botocore/data/sagemaker/2017-07-24/service-2.json index 199bb7cb..ab14fda9 100644 --- a/bin/botocore/data/sagemaker/2017-07-24/service-2.json +++ b/bin/botocore/data/sagemaker/2017-07-24/service-2.json @@ -22,7 +22,7 @@ }, "input":{"shape":"AddTagsInput"}, "output":{"shape":"AddTagsOutput"}, - "documentation":"

Adds or overwrites one or more tags for the specified Amazon SageMaker resource. You can add tags to notebook instances, training jobs, hyperparameter tuning jobs, models, endpoint configurations, and endpoints.

Each tag consists of a key and an optional value. Tag keys must be unique per resource. For more information about tags, see For more information, see AWS Tagging Strategies.

Tags that you add to a hyperparameter tuning job by calling this API are also added to any training jobs that the hyperparameter tuning job launches after you call this API, but not to training jobs that the hyperparameter tuning job launched before you called this API. To make sure that the tags associated with a hyperparameter tuning job are also added to all training jobs that the hyperparameter tuning job launches, add the tags when you first create the tuning job by specifying them in the Tags parameter of CreateHyperParameterTuningJob

" + "documentation":"

Adds or overwrites one or more tags for the specified Amazon SageMaker resource. You can add tags to notebook instances, training jobs, hyperparameter tuning jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, and endpoints.

Each tag consists of a key and an optional value. Tag keys must be unique per resource. For more information about tags, see For more information, see AWS Tagging Strategies.

Tags that you add to a hyperparameter tuning job by calling this API are also added to any training jobs that the hyperparameter tuning job launches after you call this API, but not to training jobs that the hyperparameter tuning job launched before you called this API. To make sure that the tags associated with a hyperparameter tuning job are also added to all training jobs that the hyperparameter tuning job launches, add the tags when you first create the tuning job by specifying them in the Tags parameter of CreateHyperParameterTuningJob

" }, "CreateAlgorithm":{ "name":"CreateAlgorithm", @@ -42,7 +42,7 @@ }, "input":{"shape":"CreateCodeRepositoryInput"}, "output":{"shape":"CreateCodeRepositoryOutput"}, - "documentation":"

Create a git repository as a resource in your Amazon SageMaker account. You can associate the repository with notebook instances so that you can use git source control for the notebooks you create. The git repository is a resource in your Amazon SageMaker account, so it can be associated with more than one notebook instance, and it persists independently from the lifecycle of any notebook instances it is associated with.

The repository can be hosted either in AWS CodeCommit or in any other git repository.

" + "documentation":"

Creates a Git repository as a resource in your Amazon SageMaker account. You can associate the repository with notebook instances so that you can use Git source control for the notebooks you create. The Git repository is a resource in your Amazon SageMaker account, so it can be associated with more than one notebook instance, and it persists independently from the lifecycle of any notebook instances it is associated with.

The repository can be hosted either in AWS CodeCommit or in any other Git repository.

" }, "CreateCompilationJob":{ "name":"CreateCompilationJob", @@ -69,7 +69,7 @@ "errors":[ {"shape":"ResourceLimitExceeded"} ], - "documentation":"

Creates an endpoint using the endpoint configuration specified in the request. Amazon SageMaker uses the endpoint to provision resources and deploy models. You create the endpoint configuration with the CreateEndpointConfig API.

Use this API only for hosting models using Amazon SageMaker hosting services.

The endpoint name must be unique within an AWS Region in your AWS account.

When it receives the request, Amazon SageMaker creates the endpoint, launches the resources (ML compute instances), and deploys the model(s) on them.

When Amazon SageMaker receives the request, it sets the endpoint status to Creating. After it creates the endpoint, it sets the status to InService. Amazon SageMaker can then process incoming requests for inferences. To check the status of an endpoint, use the DescribeEndpoint API.

For an example, see Exercise 1: Using the K-Means Algorithm Provided by Amazon SageMaker.

If any of the models hosted at this endpoint get model data from an Amazon S3 location, Amazon SageMaker uses AWS Security Token Service to download model artifacts from the S3 path you provided. AWS STS is activated in your IAM user account by default. If you previously deactivated AWS STS for a region, you need to reactivate AWS STS for that region. For more information, see Activating and Deactivating AWS STS i an AWS Region in the AWS Identity and Access Management User Guide.

" + "documentation":"

Creates an endpoint using the endpoint configuration specified in the request. Amazon SageMaker uses the endpoint to provision resources and deploy models. You create the endpoint configuration with the CreateEndpointConfig API.

Use this API only for hosting models using Amazon SageMaker hosting services.

You must not delete an EndpointConfig in use by an endpoint that is live or while the UpdateEndpoint or CreateEndpoint operations are being performed on the endpoint. To update an endpoint, you must create a new EndpointConfig.

The endpoint name must be unique within an AWS Region in your AWS account.

When it receives the request, Amazon SageMaker creates the endpoint, launches the resources (ML compute instances), and deploys the model(s) on them.

When Amazon SageMaker receives the request, it sets the endpoint status to Creating. After it creates the endpoint, it sets the status to InService. Amazon SageMaker can then process incoming requests for inferences. To check the status of an endpoint, use the DescribeEndpoint API.

For an example, see Exercise 1: Using the K-Means Algorithm Provided by Amazon SageMaker.

If any of the models hosted at this endpoint get model data from an Amazon S3 location, Amazon SageMaker uses AWS Security Token Service to download model artifacts from the S3 path you provided. AWS STS is activated in your IAM user account by default. If you previously deactivated AWS STS for a region, you need to reactivate AWS STS for that region. For more information, see Activating and Deactivating AWS STS i an AWS Region in the AWS Identity and Access Management User Guide.

" }, "CreateEndpointConfig":{ "name":"CreateEndpointConfig", @@ -82,7 +82,7 @@ "errors":[ {"shape":"ResourceLimitExceeded"} ], - "documentation":"

Creates an endpoint configuration that Amazon SageMaker hosting services uses to deploy models. In the configuration, you identify one or more models, created using the CreateModel API, to deploy and the resources that you want Amazon SageMaker to provision. Then you call the CreateEndpoint API.

Use this API only if you want to use Amazon SageMaker hosting services to deploy models into production.

In the request, you define one or more ProductionVariants, each of which identifies a model. Each ProductionVariant parameter also describes the resources that you want Amazon SageMaker to provision. This includes the number and type of ML compute instances to deploy.

If you are hosting multiple models, you also assign a VariantWeight to specify how much traffic you want to allocate to each model. For example, suppose that you want to host two models, A and B, and you assign traffic weight 2 for model A and 1 for model B. Amazon SageMaker distributes two-thirds of the traffic to Model A, and one-third to model B.

" + "documentation":"

Creates an endpoint configuration that Amazon SageMaker hosting services uses to deploy models. In the configuration, you identify one or more models, created using the CreateModel API, to deploy and the resources that you want Amazon SageMaker to provision. Then you call the CreateEndpoint API.

Use this API only if you want to use Amazon SageMaker hosting services to deploy models into production.

In the request, you define one or more ProductionVariants, each of which identifies a model. Each ProductionVariant parameter also describes the resources that you want Amazon SageMaker to provision. This includes the number and type of ML compute instances to deploy.

If you are hosting multiple models, you also assign a VariantWeight to specify how much traffic you want to allocate to each model. For example, suppose that you want to host two models, A and B, and you assign traffic weight 2 for model A and 1 for model B. Amazon SageMaker distributes two-thirds of the traffic to Model A, and one-third to model B.

" }, "CreateHyperParameterTuningJob":{ "name":"CreateHyperParameterTuningJob", @@ -110,7 +110,7 @@ {"shape":"ResourceInUse"}, {"shape":"ResourceLimitExceeded"} ], - "documentation":"

Creates a job that uses human workers to label the data objects in your input dataset. You can use the labeled data to train machine learning models

You can select your workforce from one of three providers:

  • A private workforce that you create. It can include employees, contractors, and outside experts. Use a private workforce when the data is highly confidential or a specific set of skills is required.

  • One or more vendors that you select from the Amazon Marketplace. Vendors provide expertise in specific areas. Vendors are selected by AWS and meet a minimum standard of data security requirements.

  • The Amazon Mechanical Turk workforce. This is the largest workforce, but it should only be used for public data or data that has been stripped of any personally identifiable information.

You can also use automated data labeling to reduce the number of data objects that need to be labeled by a human. Automated data labeling uses active learning to determine if a data object can be labeled by machine or if it needs to be sent to a human worker.

The data objects to be labeled are contained in an Amazon S3 bucket. You create a manifest file that describes the location of each object. For more information, see Using Input and Output Data.

The output can be used as the manifest file for another labeling job or as training data for your machine learning models.

" + "documentation":"

Creates a job that uses workers to label the data objects in your input dataset. You can use the labeled data to train machine learning models.

You can select your workforce from one of three providers:

  • A private workforce that you create. It can include employees, contractors, and outside experts. Use a private workforce when want the data to stay within your organization or when a specific set of skills is required.

  • One or more vendors that you select from the AWS Marketplace. Vendors provide expertise in specific areas.

  • The Amazon Mechanical Turk workforce. This is the largest workforce, but it should only be used for public data or data that has been stripped of any personally identifiable information.

You can also use automated data labeling to reduce the number of data objects that need to be labeled by a human. Automated data labeling uses active learning to determine if a data object can be labeled by machine or if it needs to be sent to a human worker. For more information, see Using Automated Data Labeling.

The data objects to be labeled are contained in an Amazon S3 bucket. You create a manifest file that describes the location of each object. For more information, see Using Input and Output Data.

The output can be used as the manifest file for another labeling job or as training data for your machine learning models.

" }, "CreateModel":{ "name":"CreateModel", @@ -133,7 +133,7 @@ }, "input":{"shape":"CreateModelPackageInput"}, "output":{"shape":"CreateModelPackageOutput"}, - "documentation":"

Creates a model package that you can use to create Amazon SageMaker models or list on AWS Marketplace. Buyers can subscribe to model packages listed on AWS Marketplace to create models in Amazon SageMaker.

" + "documentation":"

Creates a model package that you can use to create Amazon SageMaker models or list on AWS Marketplace. Buyers can subscribe to model packages listed on AWS Marketplace to create models in Amazon SageMaker.

To create a model package by specifying a Docker container that contains your inference code and the Amazon S3 location of your model artifacts, provide values for InferenceSpecification. To create a model from an algorithm resource that you created or subscribed to in AWS Marketplace, provide a value for SourceAlgorithmSpecification.

" }, "CreateNotebookInstance":{ "name":"CreateNotebookInstance", @@ -146,7 +146,7 @@ "errors":[ {"shape":"ResourceLimitExceeded"} ], - "documentation":"

Creates an Amazon SageMaker notebook instance. A notebook instance is a machine learning (ML) compute instance running on a Jupyter notebook.

In a CreateNotebookInstance request, specify the type of ML compute instance that you want to run. Amazon SageMaker launches the instance, installs common libraries that you can use to explore datasets for model training, and attaches an ML storage volume to the notebook instance.

Amazon SageMaker also provides a set of example notebooks. Each notebook demonstrates how to use Amazon SageMaker with a specific algorithm or with a machine learning framework.

After receiving the request, Amazon SageMaker does the following:

  1. Creates a network interface in the Amazon SageMaker VPC.

  2. (Option) If you specified SubnetId, Amazon SageMaker creates a network interface in your own VPC, which is inferred from the subnet ID that you provide in the input. When creating this network interface, Amazon SageMaker attaches the security group that you specified in the request to the network interface that it creates in your VPC.

  3. Launches an EC2 instance of the type specified in the request in the Amazon SageMaker VPC. If you specified SubnetId of your VPC, Amazon SageMaker specifies both network interfaces when launching this instance. This enables inbound traffic from your own VPC to the notebook instance, assuming that the security groups allow it.

After creating the notebook instance, Amazon SageMaker returns its Amazon Resource Name (ARN).

After Amazon SageMaker creates the notebook instance, you can connect to the Jupyter server and work in Jupyter notebooks. For example, you can write code to explore a dataset that you can use for model training, train a model, host models by creating Amazon SageMaker endpoints, and validate hosted models.

For more information, see How It Works.

" + "documentation":"

Creates an Amazon SageMaker notebook instance. A notebook instance is a machine learning (ML) compute instance running on a Jupyter notebook.

In a CreateNotebookInstance request, specify the type of ML compute instance that you want to run. Amazon SageMaker launches the instance, installs common libraries that you can use to explore datasets for model training, and attaches an ML storage volume to the notebook instance.

Amazon SageMaker also provides a set of example notebooks. Each notebook demonstrates how to use Amazon SageMaker with a specific algorithm or with a machine learning framework.

After receiving the request, Amazon SageMaker does the following:

  1. Creates a network interface in the Amazon SageMaker VPC.

  2. (Option) If you specified SubnetId, Amazon SageMaker creates a network interface in your own VPC, which is inferred from the subnet ID that you provide in the input. When creating this network interface, Amazon SageMaker attaches the security group that you specified in the request to the network interface that it creates in your VPC.

  3. Launches an EC2 instance of the type specified in the request in the Amazon SageMaker VPC. If you specified SubnetId of your VPC, Amazon SageMaker specifies both network interfaces when launching this instance. This enables inbound traffic from your own VPC to the notebook instance, assuming that the security groups allow it.

After creating the notebook instance, Amazon SageMaker returns its Amazon Resource Name (ARN).

After Amazon SageMaker creates the notebook instance, you can connect to the Jupyter server and work in Jupyter notebooks. For example, you can write code to explore a dataset that you can use for model training, train a model, host models by creating Amazon SageMaker endpoints, and validate hosted models.

For more information, see How It Works.

" }, "CreateNotebookInstanceLifecycleConfig":{ "name":"CreateNotebookInstanceLifecycleConfig", @@ -159,7 +159,7 @@ "errors":[ {"shape":"ResourceLimitExceeded"} ], - "documentation":"

Creates a lifecycle configuration that you can associate with a notebook instance. A lifecycle configuration is a collection of shell scripts that run when you create or start a notebook instance.

Each lifecycle configuration script has a limit of 16384 characters.

The value of the $PATH environment variable that is available to both scripts is /sbin:bin:/usr/sbin:/usr/bin.

View CloudWatch Logs for notebook instance lifecycle configurations in log group /aws/sagemaker/NotebookInstances in log stream [notebook-instance-name]/[LifecycleConfigHook].

Lifecycle configuration scripts cannot run for longer than 5 minutes. If a script runs for longer than 5 minutes, it fails and the notebook instance is not created or started.

For information about notebook instance lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance.

" + "documentation":"

Creates a lifecycle configuration that you can associate with a notebook instance. A lifecycle configuration is a collection of shell scripts that run when you create or start a notebook instance.

Each lifecycle configuration script has a limit of 16384 characters.

The value of the $PATH environment variable that is available to both scripts is /sbin:bin:/usr/sbin:/usr/bin.

View CloudWatch Logs for notebook instance lifecycle configurations in log group /aws/sagemaker/NotebookInstances in log stream [notebook-instance-name]/[LifecycleConfigHook].

Lifecycle configuration scripts cannot run for longer than 5 minutes. If a script runs for longer than 5 minutes, it fails and the notebook instance is not created or started.

For information about notebook instance lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance.

" }, "CreatePresignedNotebookInstanceUrl":{ "name":"CreatePresignedNotebookInstanceUrl", @@ -169,7 +169,7 @@ }, "input":{"shape":"CreatePresignedNotebookInstanceUrlInput"}, "output":{"shape":"CreatePresignedNotebookInstanceUrlOutput"}, - "documentation":"

Returns a URL that you can use to connect to the Jupyter server from a notebook instance. In the Amazon SageMaker console, when you choose Open next to a notebook instance, Amazon SageMaker opens a new tab showing the Jupyter server home page from the notebook instance. The console uses this API to get the URL and show the page.

You can restrict access to this API and to the URL that it returns to a list of IP addresses that you specify. To restrict access, attach an IAM policy that denies access to this API unless the call comes from an IP address in the specified list to every AWS Identity and Access Management user, group, or role used to access the notebook instance. Use the NotIpAddress condition operator and the aws:SourceIP condition context key to specify the list of IP addresses that you want to have access to the notebook instance. For more information, see Limit Access to a Notebook Instance by IP Address.

" + "documentation":"

Returns a URL that you can use to connect to the Jupyter server from a notebook instance. In the Amazon SageMaker console, when you choose Open next to a notebook instance, Amazon SageMaker opens a new tab showing the Jupyter server home page from the notebook instance. The console uses this API to get the URL and show the page.

IAM authorization policies for this API are also enforced for every HTTP request and WebSocket frame that attempts to connect to the notebook instance.For example, you can restrict access to this API and to the URL that it returns to a list of IP addresses that you specify. Use the NotIpAddress condition operator and the aws:SourceIP condition context key to specify the list of IP addresses that you want to have access to the notebook instance. For more information, see Limit Access to a Notebook Instance by IP Address.

The URL that you get from a call to is valid only for 5 minutes. If you try to use the URL after the 5-minute limit expires, you are directed to the AWS console sign-in page.

" }, "CreateTrainingJob":{ "name":"CreateTrainingJob", @@ -183,7 +183,7 @@ {"shape":"ResourceInUse"}, {"shape":"ResourceLimitExceeded"} ], - "documentation":"

Starts a model training job. After training completes, Amazon SageMaker saves the resulting model artifacts to an Amazon S3 location that you specify.

If you choose to host your model using Amazon SageMaker hosting services, you can use the resulting model artifacts as part of the model. You can also use the artifacts in a deep learning service other than Amazon SageMaker, provided that you know how to use them for inferences.

In the request body, you provide the following:

  • AlgorithmSpecification - Identifies the training algorithm to use.

  • HyperParameters - Specify these algorithm-specific parameters to influence the quality of the final model. For a list of hyperparameters for each training algorithm provided by Amazon SageMaker, see Algorithms.

  • InputDataConfig - Describes the training dataset and the Amazon S3 location where it is stored.

  • OutputDataConfig - Identifies the Amazon S3 location where you want Amazon SageMaker to save the results of model training.

  • ResourceConfig - Identifies the resources, ML compute instances, and ML storage volumes to deploy for model training. In distributed training, you specify more than one instance.

  • RoleARN - The Amazon Resource Number (ARN) that Amazon SageMaker assumes to perform tasks on your behalf during model training. You must grant this role the necessary permissions so that Amazon SageMaker can successfully complete model training.

  • StoppingCondition - Sets a duration for training. Use this parameter to cap model training costs.

For more information about Amazon SageMaker, see How It Works.

" + "documentation":"

Starts a model training job. After training completes, Amazon SageMaker saves the resulting model artifacts to an Amazon S3 location that you specify.

If you choose to host your model using Amazon SageMaker hosting services, you can use the resulting model artifacts as part of the model. You can also use the artifacts in a machine learning service other than Amazon SageMaker, provided that you know how to use them for inferences.

In the request body, you provide the following:

  • AlgorithmSpecification - Identifies the training algorithm to use.

  • HyperParameters - Specify these algorithm-specific parameters to enable the estimation of model parameters during training. Hyperparameters can be tuned to optimize this learning process. For a list of hyperparameters for each training algorithm provided by Amazon SageMaker, see Algorithms.

  • InputDataConfig - Describes the training dataset and the Amazon S3 location where it is stored.

  • OutputDataConfig - Identifies the Amazon S3 location where you want Amazon SageMaker to save the results of model training.

  • ResourceConfig - Identifies the resources, ML compute instances, and ML storage volumes to deploy for model training. In distributed training, you specify more than one instance.

  • RoleARN - The Amazon Resource Number (ARN) that Amazon SageMaker assumes to perform tasks on your behalf during model training. You must grant this role the necessary permissions so that Amazon SageMaker can successfully complete model training.

  • StoppingCondition - Sets a time limit for training. Use this parameter to cap model training costs.

For more information about Amazon SageMaker, see How It Works.

" }, "CreateTransformJob":{ "name":"CreateTransformJob", @@ -197,7 +197,7 @@ {"shape":"ResourceInUse"}, {"shape":"ResourceLimitExceeded"} ], - "documentation":"

Starts a transform job. A transform job uses a trained model to get inferences on a dataset and saves these results to an Amazon S3 location that you specify.

To perform batch transformations, you create a transform job and use the data that you have readily available.

In the request body, you provide the following:

  • TransformJobName - Identifies the transform job. The name must be unique within an AWS Region in an AWS account.

  • ModelName - Identifies the model to use. ModelName must be the name of an existing Amazon SageMaker model in the same AWS Region and AWS account. For information on creating a model, see CreateModel.

  • TransformInput - Describes the dataset to be transformed and the Amazon S3 location where it is stored.

  • TransformOutput - Identifies the Amazon S3 location where you want Amazon SageMaker to save the results from the transform job.

  • TransformResources - Identifies the ML compute instances for the transform job.

For more information about how batch transformation works Amazon SageMaker, see How It Works.

" + "documentation":"

Starts a transform job. A transform job uses a trained model to get inferences on a dataset and saves these results to an Amazon S3 location that you specify.

To perform batch transformations, you create a transform job and use the data that you have readily available.

In the request body, you provide the following:

  • TransformJobName - Identifies the transform job. The name must be unique within an AWS Region in an AWS account.

  • ModelName - Identifies the model to use. ModelName must be the name of an existing Amazon SageMaker model in the same AWS Region and AWS account. For information on creating a model, see CreateModel.

  • TransformInput - Describes the dataset to be transformed and the Amazon S3 location where it is stored.

  • TransformOutput - Identifies the Amazon S3 location where you want Amazon SageMaker to save the results from the transform job.

  • TransformResources - Identifies the ML compute instances for the transform job.

For more information about how batch transformation works Amazon SageMaker, see How It Works.

" }, "CreateWorkteam":{ "name":"CreateWorkteam", @@ -229,7 +229,7 @@ "requestUri":"/" }, "input":{"shape":"DeleteCodeRepositoryInput"}, - "documentation":"

Deletes the specified git repository from your account.

" + "documentation":"

Deletes the specified Git repository from your account.

" }, "DeleteEndpoint":{ "name":"DeleteEndpoint", @@ -256,7 +256,7 @@ "requestUri":"/" }, "input":{"shape":"DeleteModelInput"}, - "documentation":"

Deletes a model. The DeleteModel API deletes only the model entry that was created in Amazon SageMaker when you called the CreateModel API. It does not delete model artifacts, inference code, or the IAM role that you specified when creating the model.

" + "documentation":"

Deletes a model. The DeleteModel API deletes only the model entry that was created in Amazon SageMaker when you called the CreateModel API. It does not delete model artifacts, inference code, or the IAM role that you specified when creating the model.

" }, "DeleteModelPackage":{ "name":"DeleteModelPackage", @@ -326,7 +326,7 @@ }, "input":{"shape":"DescribeCodeRepositoryInput"}, "output":{"shape":"DescribeCodeRepositoryOutput"}, - "documentation":"

Gets details about the specified git repository.

" + "documentation":"

Gets details about the specified Git repository.

" }, "DescribeCompilationJob":{ "name":"DescribeCompilationJob", @@ -405,7 +405,7 @@ }, "input":{"shape":"DescribeModelPackageInput"}, "output":{"shape":"DescribeModelPackageOutput"}, - "documentation":"

Returns a description of the specified model package, which is used to create Amazon SageMaker models or list on AWS Marketplace.

Buyers can subscribe to model packages listed on AWS Marketplace to create models in Amazon SageMaker.

" + "documentation":"

Returns a description of the specified model package, which is used to create Amazon SageMaker models or list them on AWS Marketplace.

To create models in Amazon SageMaker, buyers can subscribe to model packages listed on AWS Marketplace.

" }, "DescribeNotebookInstance":{ "name":"DescribeNotebookInstance", @@ -425,7 +425,7 @@ }, "input":{"shape":"DescribeNotebookInstanceLifecycleConfigInput"}, "output":{"shape":"DescribeNotebookInstanceLifecycleConfigOutput"}, - "documentation":"

Returns a description of a notebook instance lifecycle configuration.

For information about notebook instance lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance.

" + "documentation":"

Returns a description of a notebook instance lifecycle configuration.

For information about notebook instance lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance.

" }, "DescribeSubscribedWorkteam":{ "name":"DescribeSubscribedWorkteam", @@ -481,7 +481,7 @@ }, "input":{"shape":"GetSearchSuggestionsRequest"}, "output":{"shape":"GetSearchSuggestionsResponse"}, - "documentation":"

Returns suggestions for the property name to use in Search queries. Provides suggestions for HyperParameters, Tags, and Metrics.

" + "documentation":"

An auto-complete API for the search functionality in the Amazon SageMaker console. It returns suggestions of possible matches for the property name to use in Search queries. Provides suggestions for HyperParameters, Tags, and Metrics.

" }, "ListAlgorithms":{ "name":"ListAlgorithms", @@ -501,7 +501,7 @@ }, "input":{"shape":"ListCodeRepositoriesInput"}, "output":{"shape":"ListCodeRepositoriesOutput"}, - "documentation":"

Gets a list of the git repositories in your account.

" + "documentation":"

Gets a list of the Git repositories in your account.

" }, "ListCompilationJobs":{ "name":"ListCompilationJobs", @@ -584,7 +584,7 @@ }, "input":{"shape":"ListModelsInput"}, "output":{"shape":"ListModelsOutput"}, - "documentation":"

Lists models created with the CreateModel API.

" + "documentation":"

Lists models created with the CreateModel API.

" }, "ListNotebookInstanceLifecycleConfigs":{ "name":"ListNotebookInstanceLifecycleConfigs", @@ -687,7 +687,7 @@ }, "input":{"shape":"SearchRequest"}, "output":{"shape":"SearchResponse"}, - "documentation":"

Finds Amazon SageMaker resources that match a search query. Matching resource objects are returned as a list of SearchResult objects in the response. The search results can be sorted by any resrouce property in a ascending or descending order.

You can query against the following value types: numerical, text, Booleans, and timestamps.

" + "documentation":"

Finds Amazon SageMaker resources that match a search query. Matching resource objects are returned as a list of SearchResult objects in the response. You can sort the search results by any resource property in a ascending or descending order.

You can query against the following value types: numerical, text, Booleans, and timestamps.

" }, "StartNotebookInstance":{ "name":"StartNotebookInstance", @@ -711,7 +711,7 @@ "errors":[ {"shape":"ResourceNotFound"} ], - "documentation":"

Stops a model compilation job.

To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal. This gracefully shuts the job down. If the job hasn’t stopped, it sends the SIGKILL signal.

When it receives a StopCompilationJob request, Amazon SageMaker changes the CompilationJobSummary$CompilationJobStatus of the job to Stopping. After Amazon SageMaker stops the job, it sets the CompilationJobSummary$CompilationJobStatus to Stopped.

" + "documentation":"

Stops a model compilation job.

To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal. This gracefully shuts the job down. If the job hasn't stopped, it sends the SIGKILL signal.

When it receives a StopCompilationJob request, Amazon SageMaker changes the CompilationJobSummary$CompilationJobStatus of the job to Stopping. After Amazon SageMaker stops the job, it sets the CompilationJobSummary$CompilationJobStatus to Stopped.

" }, "StopHyperParameterTuningJob":{ "name":"StopHyperParameterTuningJob", @@ -744,7 +744,7 @@ "requestUri":"/" }, "input":{"shape":"StopNotebookInstanceInput"}, - "documentation":"

Terminates the ML compute instance. Before terminating the instance, Amazon SageMaker disconnects the ML storage volume from it. Amazon SageMaker preserves the ML storage volume.

To access data on the ML storage volume for a notebook instance that has been terminated, call the StartNotebookInstance API. StartNotebookInstance launches another ML compute instance, configures it, and attaches the preserved ML storage volume so you can continue your work.

" + "documentation":"

Terminates the ML compute instance. Before terminating the instance, Amazon SageMaker disconnects the ML storage volume from it. Amazon SageMaker preserves the ML storage volume. Amazon SageMaker stops charging you for the ML compute instance when you call StopNotebookInstance.

To access data on the ML storage volume for a notebook instance that has been terminated, call the StartNotebookInstance API. StartNotebookInstance launches another ML compute instance, configures it, and attaches the preserved ML storage volume so you can continue your work.

" }, "StopTrainingJob":{ "name":"StopTrainingJob", @@ -756,7 +756,7 @@ "errors":[ {"shape":"ResourceNotFound"} ], - "documentation":"

Stops a training job. To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job termination for 120 seconds. Algorithms might use this 120-second window to save the model artifacts, so the results of the training is not lost.

Training algorithms provided by Amazon SageMaker save the intermediate results of a model training job. This intermediate data is a valid model artifact. You can use the model artifacts that are saved when Amazon SageMaker stops a training job to create a model.

When it receives a StopTrainingJob request, Amazon SageMaker changes the status of the job to Stopping. After Amazon SageMaker stops the job, it sets the status to Stopped.

" + "documentation":"

Stops a training job. To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job termination for 120 seconds. Algorithms might use this 120-second window to save the model artifacts, so the results of the training is not lost.

When it receives a StopTrainingJob request, Amazon SageMaker changes the status of the job to Stopping. After Amazon SageMaker stops the job, it sets the status to Stopped.

" }, "StopTransformJob":{ "name":"StopTransformJob", @@ -778,7 +778,7 @@ }, "input":{"shape":"UpdateCodeRepositoryInput"}, "output":{"shape":"UpdateCodeRepositoryOutput"}, - "documentation":"

Updates the specified git repository with the specified values.

" + "documentation":"

Updates the specified Git repository with the specified values.

" }, "UpdateEndpoint":{ "name":"UpdateEndpoint", @@ -791,7 +791,7 @@ "errors":[ {"shape":"ResourceLimitExceeded"} ], - "documentation":"

Deploys the new EndpointConfig specified in the request, switches to using newly created endpoint, and then deletes resources provisioned for the endpoint using the previous EndpointConfig (there is no availability loss).

When Amazon SageMaker receives the request, it sets the endpoint status to Updating. After updating the endpoint, it sets the status to InService. To check the status of an endpoint, use the DescribeEndpoint API.

You cannot update an endpoint with the current EndpointConfig. To update an endpoint, you must create a new EndpointConfig.

" + "documentation":"

Deploys the new EndpointConfig specified in the request, switches to using newly created endpoint, and then deletes resources provisioned for the endpoint using the previous EndpointConfig (there is no availability loss).

When Amazon SageMaker receives the request, it sets the endpoint status to Updating. After updating the endpoint, it sets the status to InService. To check the status of an endpoint, use the DescribeEndpoint API.

You must not delete an EndpointConfig in use by an endpoint that is live or while the UpdateEndpoint or CreateEndpoint operations are being performed on the endpoint. To update an endpoint, you must create a new EndpointConfig.

" }, "UpdateEndpointWeightsAndCapacities":{ "name":"UpdateEndpointWeightsAndCapacities", @@ -804,7 +804,7 @@ "errors":[ {"shape":"ResourceLimitExceeded"} ], - "documentation":"

Updates variant weight of one or more variants associated with an existing endpoint, or capacity of one variant associated with an existing endpoint. When it receives the request, Amazon SageMaker sets the endpoint status to Updating. After updating the endpoint, it sets the status to InService. To check the status of an endpoint, use the DescribeEndpoint API.

" + "documentation":"

Updates variant weight of one or more variants associated with an existing endpoint, or capacity of one variant associated with an existing endpoint. When it receives the request, Amazon SageMaker sets the endpoint status to Updating. After updating the endpoint, it sets the status to InService. To check the status of an endpoint, use the DescribeEndpoint API.

" }, "UpdateNotebookInstance":{ "name":"UpdateNotebookInstance", @@ -817,7 +817,7 @@ "errors":[ {"shape":"ResourceLimitExceeded"} ], - "documentation":"

Updates a notebook instance. NotebookInstance updates include upgrading or downgrading the ML compute instance used for your notebook instance to accommodate changes in your workload requirements. You can also update the VPC security groups.

" + "documentation":"

Updates a notebook instance. NotebookInstance updates include upgrading or downgrading the ML compute instance used for your notebook instance to accommodate changes in your workload requirements.

" }, "UpdateNotebookInstanceLifecycleConfig":{ "name":"UpdateNotebookInstanceLifecycleConfig", @@ -849,7 +849,8 @@ "shapes":{ "Accept":{ "type":"string", - "max":256 + "max":256, + "pattern":".*" }, "AccountId":{ "type":"string", @@ -894,7 +895,8 @@ }, "AlgorithmImage":{ "type":"string", - "max":255 + "max":255, + "pattern":".*" }, "AlgorithmSortBy":{ "type":"string", @@ -909,7 +911,7 @@ "members":{ "TrainingImage":{ "shape":"AlgorithmImage", - "documentation":"

The registry path of the Docker image that contains the training algorithm. For information about docker registry paths for built-in algorithms, see Algorithms Provided by Amazon SageMaker: Common Parameters.

" + "documentation":"

The registry path of the Docker image that contains the training algorithm. For information about docker registry paths for built-in algorithms, see Algorithms Provided by Amazon SageMaker: Common Parameters. Amazon SageMaker supports both registry/repository[:tag] and registry/repository[@digest] image path formats. For more information, see Using Your Own Algorithms with Amazon SageMaker.

" }, "AlgorithmName":{ "shape":"ArnOrName", @@ -917,14 +919,14 @@ }, "TrainingInputMode":{ "shape":"TrainingInputMode", - "documentation":"

The input mode that the algorithm supports. For the input modes that Amazon SageMaker algorithms support, see Algorithms. If an algorithm supports the File input mode, Amazon SageMaker downloads the training data from S3 to the provisioned ML storage Volume, and mounts the directory to docker volume for training container. If an algorithm supports the Pipe input mode, Amazon SageMaker streams data directly from S3 to the container.

In File mode, make sure you provision ML storage volume with sufficient capacity to accommodate the data download from S3. In addition to the training data, the ML storage volume also stores the output model. The algorithm container use ML storage volume to also store intermediate information, if any.

For distributed algorithms using File mode, training data is distributed uniformly, and your training duration is predictable if the input data objects size is approximately same. Amazon SageMaker does not split the files any further for model training. If the object sizes are skewed, training won't be optimal as the data distribution is also skewed where one host in a training cluster is overloaded, thus becoming bottleneck in training.

" + "documentation":"

The input mode that the algorithm supports. For the input modes that Amazon SageMaker algorithms support, see Algorithms. If an algorithm supports the File input mode, Amazon SageMaker downloads the training data from S3 to the provisioned ML storage Volume, and mounts the directory to docker volume for training container. If an algorithm supports the Pipe input mode, Amazon SageMaker streams data directly from S3 to the container.

In File mode, make sure you provision ML storage volume with sufficient capacity to accommodate the data download from S3. In addition to the training data, the ML storage volume also stores the output model. The algorithm container use ML storage volume to also store intermediate information, if any.

For distributed algorithms using File mode, training data is distributed uniformly, and your training duration is predictable if the input data objects size is approximately same. Amazon SageMaker does not split the files any further for model training. If the object sizes are skewed, training won't be optimal as the data distribution is also skewed where one host in a training cluster is overloaded, thus becoming bottleneck in training.

" }, "MetricDefinitions":{ "shape":"MetricDefinitionList", "documentation":"

A list of metric definition objects. Each object specifies the metric name and regular expressions used to parse algorithm logs. Amazon SageMaker publishes each metric to Amazon CloudWatch.

" } }, - "documentation":"

Specifies the training algorithm to use in a CreateTrainingJob request.

For more information about algorithms provided by Amazon SageMaker, see Algorithms. For information about using your own algorithms, see Using Your Own Algorithms with Amazon SageMaker.

" + "documentation":"

Specifies the training algorithm to use in a CreateTrainingJob request.

For more information about algorithms provided by Amazon SageMaker, see Algorithms. For information about using your own algorithms, see Using Your Own Algorithms with Amazon SageMaker.

" }, "AlgorithmStatus":{ "type":"string", @@ -941,7 +943,7 @@ "members":{ "ValidationStatuses":{ "shape":"AlgorithmStatusItemList", - "documentation":"

The status of the validation of the algorithm.

" + "documentation":"

The status of algorithm validation.

" }, "ImageScanStatuses":{ "shape":"AlgorithmStatusItemList", @@ -959,7 +961,7 @@ "members":{ "Name":{ "shape":"EntityName", - "documentation":"

The name of the algorithm for which the overall status is being repoorted.

" + "documentation":"

The name of the algorithm for which the overall status is being reported.

" }, "Status":{ "shape":"DetailedAlgorithmStatus", @@ -967,7 +969,7 @@ }, "FailureReason":{ "shape":"String", - "documentation":"

The reason for failure, if the overall status is a failed state.

" + "documentation":"

if the overall status is Failed, the reason for the failure.

" } }, "documentation":"

Represents the overall status of an algorithm.

" @@ -987,7 +989,7 @@ "members":{ "AlgorithmName":{ "shape":"EntityName", - "documentation":"

The name of the algorithm which is described by the summary.

" + "documentation":"

The name of the algorithm that is described by the summary.

" }, "AlgorithmArn":{ "shape":"AlgorithmArn", @@ -995,7 +997,7 @@ }, "AlgorithmDescription":{ "shape":"EntityDescription", - "documentation":"

A brief statement describing the algorithm.

" + "documentation":"

A brief description of the algorithm.

" }, "CreationTime":{ "shape":"CreationTime", @@ -1064,7 +1066,7 @@ "members":{ "AnnotationConsolidationLambdaArn":{ "shape":"LambdaFunctionArn", - "documentation":"

The Amazon Resource Name (ARN) of a Lambda function implements the logic for annotation consolidation.

Amazon SageMaker Ground Truth provides three annotation consolidation functions that you can choose to use. They are:

  • Bounding box - Finds the most similar boxes from different workers based on the Jaccard index of the boxes.

    arn:aws:lambda:region:432418664414:function:ACS-BoundingBox

  • Image classification - Uses a variant of the Expectation Maximization approach to estimate the true class of an image based on annotations from individual workers.

    arn:aws:lambda:region:432418664414:function:ACS-ImageMultiClass

  • Text classification - Uses a variant of the Expectation Maximization approach to estimate the true class of text based on annotations from individual workers.

    arn:aws:lambda:region:432418664414:function:ACS-TextMultiClass

For more information, see Annotation Consolidation.

" + "documentation":"

The Amazon Resource Name (ARN) of a Lambda function implements the logic for annotation consolidation.

For the built-in bounding box, image classification, semantic segmentation, and text classification task types, Amazon SageMaker Ground Truth provides the following Lambda functions:

  • Bounding box - Finds the most similar boxes from different workers based on the Jaccard index of the boxes.

    arn:aws:lambda:us-east-1:432418664414:function:ACS-BoundingBox

    arn:aws:lambda:us-east-2:266458841044:function:ACS-BoundingBox

    arn:aws:lambda:us-west-2:081040173940:function:ACS-BoundingBox

    arn:aws:lambda:eu-west-1:568282634449:function:ACS-BoundingBox

    arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-BoundingBox

    arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-BoundingBox

  • Image classification - Uses a variant of the Expectation Maximization approach to estimate the true class of an image based on annotations from individual workers.

    arn:aws:lambda:us-east-1:432418664414:function:ACS-ImageMultiClass

    arn:aws:lambda:us-east-2:266458841044:function:ACS-ImageMultiClass

    arn:aws:lambda:us-west-2:081040173940:function:ACS-ImageMultiClass

    arn:aws:lambda:eu-west-1:568282634449:function:ACS-ImageMultiClass

    arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-ImageMultiClass

    arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-ImageMultiClass

  • Semantic segmentation - Treats each pixel in an image as a multi-class classification and treats pixel annotations from workers as \"votes\" for the correct label.

    arn:aws:lambda:us-east-1:432418664414:function:ACS-SemanticSegmentation

    arn:aws:lambda:us-east-2:266458841044:function:ACS-SemanticSegmentation

    arn:aws:lambda:us-west-2:081040173940:function:ACS-SemanticSegmentation

    arn:aws:lambda:eu-west-1:568282634449:function:ACS-SemanticSegmentation

    arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-SemanticSegmentation

    arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-SemanticSegmentation

  • Text classification - Uses a variant of the Expectation Maximization approach to estimate the true class of text based on annotations from individual workers.

    arn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClass

    arn:aws:lambda:us-east-2:266458841044:function:ACS-TextMultiClass

    arn:aws:lambda:us-west-2:081040173940:function:ACS-TextMultiClass

    arn:aws:lambda:eu-west-1:568282634449:function:ACS-TextMultiClass

    arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-TextMultiClass

    arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-TextMultiClass

For more information, see Annotation Consolidation.

" } }, "documentation":"

Configures how labels are consolidated across human workers.

" @@ -1085,7 +1087,8 @@ "AttributeName":{ "type":"string", "max":256, - "min":1 + "min":1, + "pattern":".+" }, "AttributeNames":{ "type":"list", @@ -1110,7 +1113,8 @@ "Branch":{ "type":"string", "max":1024, - "min":1 + "min":1, + "pattern":"[^ ~^:?*\\[]+" }, "CategoricalParameterRange":{ "type":"structure", @@ -1207,7 +1211,7 @@ "members":{ "Name":{ "shape":"ChannelName", - "documentation":"

The name of the channel./sagemaker/eia

" + "documentation":"

The name of the channel.

" }, "Description":{ "shape":"EntityDescription", @@ -1286,26 +1290,26 @@ "members":{ "CodeRepositoryName":{ "shape":"EntityName", - "documentation":"

The name of the git repository.

" + "documentation":"

The name of the Git repository.

" }, "CodeRepositoryArn":{ "shape":"CodeRepositoryArn", - "documentation":"

The Amazon Resource Name (ARN) of the git repository.

" + "documentation":"

The Amazon Resource Name (ARN) of the Git repository.

" }, "CreationTime":{ "shape":"CreationTime", - "documentation":"

The date and time that the git repository was created.

" + "documentation":"

The date and time that the Git repository was created.

" }, "LastModifiedTime":{ "shape":"LastModifiedTime", - "documentation":"

The date and time that the git repository was last modified.

" + "documentation":"

The date and time that the Git repository was last modified.

" }, "GitConfig":{ "shape":"GitConfig", - "documentation":"

Configuration details for the git repository, including the URL where it is located and the ARN of the AWS Secrets Manager secret that contains the credentials used to access the repository.

" + "documentation":"

Configuration details for the Git repository, including the URL where it is located and the ARN of the AWS Secrets Manager secret that contains the credentials used to access the repository.

" } }, - "documentation":"

Specifies summary information about a git repository.

" + "documentation":"

Specifies summary information about a Git repository.

" }, "CodeRepositorySummaryList":{ "type":"list", @@ -1394,6 +1398,10 @@ "shape":"CreationTime", "documentation":"

The time when the model compilation job was created.

" }, + "CompilationStartTime":{ + "shape":"Timestamp", + "documentation":"

The time when the model compilation job started.

" + }, "CompilationEndTime":{ "shape":"Timestamp", "documentation":"

The time when the model compilation job completed.

" @@ -1429,15 +1437,15 @@ "members":{ "ContainerHostname":{ "shape":"ContainerHostname", - "documentation":"

The DNS host name for the container after Amazon SageMaker deploys it.

" + "documentation":"

This parameter is ignored for models that contain only a PrimaryContainer.

When a ContainerDefinition is part of an inference pipeline, the value of ths parameter uniquely identifies the container for the purposes of logging and metrics. For information, see Use Logs and Metrics to Monitor an Inference Pipeline. If you don't specify a value for this parameter for a ContainerDefinition that is part of an inference pipeline, a unique name is automatically assigned based on the position of the ContainerDefinition in the pipeline. If you specify a value for the ContainerHostName for any ContainerDefinition that is part of an inference pipeline, you must specify a value for the ContainerHostName parameter of every ContainerDefinition in that pipeline.

" }, "Image":{ "shape":"Image", - "documentation":"

The Amazon EC2 Container Registry (Amazon ECR) path where inference code is stored. If you are using your own custom algorithm instead of an algorithm provided by Amazon SageMaker, the inference code must meet Amazon SageMaker requirements. Amazon SageMaker supports both registry/repository[:tag] and registry/repository[@digest] image path formats. For more information, see Using Your Own Algorithms with Amazon SageMaker

" + "documentation":"

The Amazon EC2 Container Registry (Amazon ECR) path where inference code is stored. If you are using your own custom algorithm instead of an algorithm provided by Amazon SageMaker, the inference code must meet Amazon SageMaker requirements. Amazon SageMaker supports both registry/repository[:tag] and registry/repository[@digest] image path formats. For more information, see Using Your Own Algorithms with Amazon SageMaker

" }, "ModelDataUrl":{ "shape":"Url", - "documentation":"

The S3 path where the model artifacts, which result from model training, are stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix).

If you provide a value for this parameter, Amazon SageMaker uses AWS Security Token Service to download model artifacts from the S3 path you provide. AWS STS is activated in your IAM user account by default. If you previously deactivated AWS STS for a region, you need to reactivate AWS STS for that region. For more information, see Activating and Deactivating AWS STS i an AWS Region in the AWS Identity and Access Management User Guide.

" + "documentation":"

The S3 path where the model artifacts, which result from model training, are stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix). The S3 path is required for Amazon SageMaker built-in algorithms, but not if you use your own algorithms. For more information on built-in algorithms, see Common Parameters.

If you provide a value for this parameter, Amazon SageMaker uses AWS Security Token Service to download model artifacts from the S3 path you provide. AWS STS is activated in your IAM user account by default. If you previously deactivated AWS STS for a region, you need to reactivate AWS STS for that region. For more information, see Activating and Deactivating AWS STS in an AWS Region in the AWS Identity and Access Management User Guide.

If you use a built-in algorithm to create a model, Amazon SageMaker requires that you provide a S3 path to the model artifacts in ModelDataUrl.

" }, "Environment":{ "shape":"EnvironmentMap", @@ -1445,7 +1453,7 @@ }, "ModelPackageName":{ "shape":"ArnOrName", - "documentation":"

The name of the model package in this container.

" + "documentation":"

The name or Amazon Resource Name (ARN) of the model package to use to create the model.

" } }, "documentation":"

Describes the container, as part of model definition.

" @@ -1474,7 +1482,8 @@ }, "ContentType":{ "type":"string", - "max":256 + "max":256, + "pattern":".*" }, "ContentTypes":{ "type":"list", @@ -1499,6 +1508,10 @@ "MaxValue":{ "shape":"ParameterValue", "documentation":"

The maximum value for the hyperparameter. The tuning job uses floating-point values between MinValue value and this value for tuning.

" + }, + "ScalingType":{ + "shape":"HyperParameterScalingType", + "documentation":"

The scale that hyperparameter tuning uses to search the hyperparameter range. For information about choosing a hyperparameter scale, see Hyperparameter Scaling. One of the following values:

Auto

Amazon SageMaker hyperparameter tuning chooses the best scale for the hyperparameter.

Linear

Hyperparameter tuning searches the values in the hyperparameter range by using a linear scale.

Logarithmic

Hyperparameter tuning searches the values in the hyperparameter range by using a logarithmic scale.

Logarithmic scaling works only for ranges that have only values greater than 0.

ReverseLogarithmic

Hyperparemeter tuning searches the values in the hyperparameter range by using a reverse logarithmic scale.

Reverse logarithmic scaling works only for ranges that are entirely within the range 0<=x<1.0.

" } }, "documentation":"

A list of continuous hyperparameters to tune.

" @@ -1536,7 +1549,7 @@ "members":{ "AlgorithmName":{ "shape":"EntityName", - "documentation":"

The name of the algorithm. The name must have 1 to 63 characters. Valid characters are a-z, A-Z, 0-9, and - (hyphen).

" + "documentation":"

The name of the algorithm.

" }, "AlgorithmDescription":{ "shape":"EntityDescription", @@ -1556,7 +1569,7 @@ }, "CertifyForMarketplace":{ "shape":"CertifyForMarketplace", - "documentation":"

Whether to certify the algorithm so that it can be listed in AWS Marektplace.

" + "documentation":"

Whether to certify the algorithm so that it can be listed in AWS Marketplace.

" } } }, @@ -1579,7 +1592,7 @@ "members":{ "CodeRepositoryName":{ "shape":"EntityName", - "documentation":"

The name of the git repository. The name must have 1 to 63 characters. Valid characters are a-z, A-Z, 0-9, and - (hyphen).

" + "documentation":"

The name of the Git repository. The name must have 1 to 63 characters. Valid characters are a-z, A-Z, 0-9, and - (hyphen).

" }, "GitConfig":{ "shape":"GitConfig", @@ -1613,7 +1626,7 @@ }, "RoleArn":{ "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) of an IIAMAM role that enables Amazon SageMaker to perform tasks on your behalf.

During model compilation, Amazon SageMaker needs your permission to:

  • Read input data from an S3 bucket

  • Write model artifacts to an S3 bucket

  • Write logs to Amazon CloudWatch Logs

  • Publish metrics to Amazon CloudWatch

You grant permissions for all of these tasks to an IAM role. To pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole permission. For more information, see Amazon SageMaker Roles.

" + "documentation":"

The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker to perform tasks on your behalf.

During model compilation, Amazon SageMaker needs your permission to:

  • Read input data from an S3 bucket

  • Write model artifacts to an S3 bucket

  • Write logs to Amazon CloudWatch Logs

  • Publish metrics to Amazon CloudWatch

You grant permissions for all of these tasks to an IAM role. To pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole permission. For more information, see Amazon SageMaker Roles.

" }, "InputConfig":{ "shape":"InputConfig", @@ -1625,7 +1638,7 @@ }, "StoppingCondition":{ "shape":"StoppingCondition", - "documentation":"

The duration allowed for model compilation.

" + "documentation":"

Specifies a limit to how long a model compilation job can run. When the job reaches the time limit, Amazon SageMaker ends the compilation job. Use this API to cap model training costs.

" } } }, @@ -1648,15 +1661,15 @@ "members":{ "EndpointConfigName":{ "shape":"EndpointConfigName", - "documentation":"

The name of the endpoint configuration. You specify this name in a CreateEndpoint request.

" + "documentation":"

The name of the endpoint configuration. You specify this name in a CreateEndpoint request.

" }, "ProductionVariants":{ "shape":"ProductionVariantList", - "documentation":"

An array of ProductionVariant objects, one for each model that you want to host at this endpoint.

" + "documentation":"

An list of ProductionVariant objects, one for each model that you want to host at this endpoint.

" }, "Tags":{ "shape":"TagList", - "documentation":"

An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" + "documentation":"

A list of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" }, "KmsKeyId":{ "shape":"KmsKeyId", @@ -1687,11 +1700,11 @@ }, "EndpointConfigName":{ "shape":"EndpointConfigName", - "documentation":"

The name of an endpoint configuration. For more information, see CreateEndpointConfig.

" + "documentation":"

The name of an endpoint configuration. For more information, see CreateEndpointConfig.

" }, "Tags":{ "shape":"TagList", - "documentation":"

An array of key-value pairs. For more information, see Using Cost Allocation Tagsin the AWS Billing and Cost Management User Guide.

" + "documentation":"

An array of key-value pairs. For more information, see Using Cost Allocation Tagsin the AWS Billing and Cost Management User Guide.

" } } }, @@ -1709,8 +1722,7 @@ "type":"structure", "required":[ "HyperParameterTuningJobName", - "HyperParameterTuningJobConfig", - "TrainingJobDefinition" + "HyperParameterTuningJobConfig" ], "members":{ "HyperParameterTuningJobName":{ @@ -1727,7 +1739,7 @@ }, "WarmStartConfig":{ "shape":"HyperParameterTuningJobWarmStartConfig", - "documentation":"

Specifies configuration for starting the hyperparameter tuning job using one or more previous tuning jobs as a starting point. The results of previous tuning jobs are used to inform which combinations of hyperparameters to search over in the new tuning job.

All training jobs launched by the new hyperparameter tuning job are evaluated by using the objective metric. If you specify IDENTICAL_DATA_AND_ALGORITHM as the WarmStartType for the warm start configuration, the training job that performs the best in the new tuning job is compared to the best training jobs from the parent tuning jobs. From these, the training job that performs the best as measured by the objective metric is returned as the overall best training job.

All training jobs launched by parent hyperparameter tuning jobs and the new hyperparameter tuning jobs count against the limit of training jobs for the tuning job.

" + "documentation":"

Specifies the configuration for starting the hyperparameter tuning job using one or more previous tuning jobs as a starting point. The results of previous tuning jobs are used to inform which combinations of hyperparameters to search over in the new tuning job.

All training jobs launched by the new hyperparameter tuning job are evaluated by using the objective metric. If you specify IDENTICAL_DATA_AND_ALGORITHM as the WarmStartType value for the warm start configuration, the training job that performs the best in the new tuning job is compared to the best training jobs from the parent tuning jobs. From these, the training job that performs the best as measured by the objective metric is returned as the overall best training job.

All training jobs launched by parent hyperparameter tuning jobs and the new hyperparameter tuning jobs count against the limit of training jobs for the tuning job.

" }, "Tags":{ "shape":"TagList", @@ -1762,7 +1774,7 @@ }, "LabelAttributeName":{ "shape":"LabelAttributeName", - "documentation":"

The attribute name to use for the label in the output manifest file. This is the key for the key/value pair formed with the label that a worker assigns to the object. The name can't end with \"-metadata\" or \"-ref\".

" + "documentation":"

The attribute name to use for the label in the output manifest file. This is the key for the key/value pair formed with the label that a worker assigns to the object. The name can't end with \"-metadata\". If you are running a semantic segmentation labeling job, the attribute name must end with \"-ref\". If you are running any other kind of labeling job, the attribute name must not end with \"-ref\".

" }, "InputConfig":{ "shape":"LabelingJobInputConfig", @@ -1778,7 +1790,7 @@ }, "LabelCategoryConfigS3Uri":{ "shape":"S3Uri", - "documentation":"

The S3 URL of the file that defines the categories used to label the data objects.

" + "documentation":"

The S3 URL of the file that defines the categories used to label the data objects.

The file is a JSON structure in the following format:

{

\"document-version\": \"2018-11-28\"

\"labels\": [

{

\"label\": \"label 1\"

},

{

\"label\": \"label 2\"

},

...

{

\"label\": \"label n\"

}

]

}

" }, "StoppingConditions":{ "shape":"LabelingJobStoppingConditions", @@ -1829,15 +1841,15 @@ }, "ExecutionRoleArn":{ "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role that Amazon SageMaker can assume to access model artifacts and docker image for deployment on ML compute instances or for batch transform jobs. Deploying on ML compute instances is part of model hosting. For more information, see Amazon SageMaker Roles.

To be able to pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole permission.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM role that Amazon SageMaker can assume to access model artifacts and docker image for deployment on ML compute instances or for batch transform jobs. Deploying on ML compute instances is part of model hosting. For more information, see Amazon SageMaker Roles.

To be able to pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole permission.

" }, "Tags":{ "shape":"TagList", - "documentation":"

An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" + "documentation":"

An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" }, "VpcConfig":{ "shape":"VpcConfig", - "documentation":"

A VpcConfig object that specifies the VPC that you want your model to connect to. Control access to and from your model container by configuring the VPC. VpcConfig is used in hosting services and in batch transform. For more information, see Protect Endpoints by Using an Amazon Virtual Private Cloud and Protect Data in Batch Transform Jobs by Using an Amazon Virtual Private Cloud.

" + "documentation":"

A VpcConfig object that specifies the VPC that you want your model to connect to. Control access to and from your model container by configuring the VPC. VpcConfig is used in hosting services and in batch transform. For more information, see Protect Endpoints by Using an Amazon Virtual Private Cloud and Protect Data in Batch Transform Jobs by Using an Amazon Virtual Private Cloud.

" }, "EnableNetworkIsolation":{ "shape":"Boolean", @@ -1921,11 +1933,11 @@ }, "RoleArn":{ "shape":"RoleArn", - "documentation":"

When you send any requests to AWS resources from the notebook instance, Amazon SageMaker assumes this role to perform tasks on your behalf. You must grant this role necessary permissions so Amazon SageMaker can perform these tasks. The policy must allow the Amazon SageMaker service principal (sagemaker.amazonaws.com) permissions to assume this role. For more information, see Amazon SageMaker Roles.

To be able to pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole permission.

" + "documentation":"

When you send any requests to AWS resources from the notebook instance, Amazon SageMaker assumes this role to perform tasks on your behalf. You must grant this role necessary permissions so Amazon SageMaker can perform these tasks. The policy must allow the Amazon SageMaker service principal (sagemaker.amazonaws.com) permissions to assume this role. For more information, see Amazon SageMaker Roles.

To be able to pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole permission.

" }, "KmsKeyId":{ "shape":"KmsKeyId", - "documentation":"

If you provide a AWS KMS key ID, Amazon SageMaker uses it to encrypt data at rest on the ML storage volume that is attached to your notebook instance.

" + "documentation":"

The Amazon Resource Name (ARN) of a AWS Key Management Service key that Amazon SageMaker uses to encrypt data on the storage volume attached to your notebook instance. The KMS key you provide must be enabled. For information, see Enabling and Disabling Keys in the AWS Key Management Service Developer Guide.

" }, "Tags":{ "shape":"TagList", @@ -1933,11 +1945,11 @@ }, "LifecycleConfigName":{ "shape":"NotebookInstanceLifecycleConfigName", - "documentation":"

The name of a lifecycle configuration to associate with the notebook instance. For information about lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance.

" + "documentation":"

The name of a lifecycle configuration to associate with the notebook instance. For information about lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance.

" }, "DirectInternetAccess":{ "shape":"DirectInternetAccess", - "documentation":"

Sets whether Amazon SageMaker provides internet access to the notebook instance. If you set this to Disabled this notebook instance will be able to access resources only in your VPC, and will not be able to connect to Amazon SageMaker training and endpoint services unless your configure a NAT Gateway in your VPC.

For more information, see Notebook Instances Are Internet-Enabled by Default. You can set the value of this parameter to Disabled only if you set a value for the SubnetId parameter.

" + "documentation":"

Sets whether Amazon SageMaker provides internet access to the notebook instance. If you set this to Disabled this notebook instance will be able to access resources only in your VPC, and will not be able to connect to Amazon SageMaker training and endpoint services unless your configure a NAT Gateway in your VPC.

For more information, see Notebook Instances Are Internet-Enabled by Default. You can set the value of this parameter to Disabled only if you set a value for the SubnetId parameter.

" }, "VolumeSizeInGB":{ "shape":"NotebookInstanceVolumeSizeInGB", @@ -1945,15 +1957,19 @@ }, "AcceleratorTypes":{ "shape":"NotebookInstanceAcceleratorTypes", - "documentation":"

A list of Elastic Inference (EI) instance types to associate with this notebook instance. Currently, only one instance type can be associated with a notebook intance. For more information, see Using Elastic Inference in Amazon SageMaker.

" + "documentation":"

A list of Elastic Inference (EI) instance types to associate with this notebook instance. Currently, only one instance type can be associated with a notebook instance. For more information, see Using Elastic Inference in Amazon SageMaker.

" }, "DefaultCodeRepository":{ "shape":"CodeRepositoryNameOrUrl", - "documentation":"

A git repository to associate with the notebook instance as its default code repository. This can be either the name of a git repository stored as a resource in your account, or the URL of a git repository in AWS CodeCommit or in any other git repository. When you open a notebook instance, it opens in the directory that contains this repository. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.

" + "documentation":"

A Git repository to associate with the notebook instance as its default code repository. This can be either the name of a Git repository stored as a resource in your account, or the URL of a Git repository in AWS CodeCommit or in any other Git repository. When you open a notebook instance, it opens in the directory that contains this repository. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.

" }, "AdditionalCodeRepositories":{ "shape":"AdditionalCodeRepositoryNamesOrUrls", - "documentation":"

An array of up to 3 git repositories to associate with the notebook instance. These can be either the names of git repositories stored as resources in your account, or the URL of git repositories in AWS CodeCommit or in any other git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.

" + "documentation":"

An array of up to three Git repositories to associate with the notebook instance. These can be either the names of Git repositories stored as resources in your account, or the URL of Git repositories in AWS CodeCommit or in any other Git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.

" + }, + "RootAccess":{ + "shape":"RootAccess", + "documentation":"

Whether root access is enabled or disabled for users of the notebook instance. The default value is Enabled.

Lifecycle configurations need root access to be able to set up a notebook instance. Because of this, lifecycle configurations associated with a notebook instance always run with root access even if you disable root access for users.

" } } }, @@ -2033,15 +2049,15 @@ }, "HyperParameters":{ "shape":"HyperParameters", - "documentation":"

Algorithm-specific parameters that influence the quality of the model. You set hyperparameters before you start the learning process. For a list of hyperparameters for each training algorithm provided by Amazon SageMaker, see Algorithms.

You can specify a maximum of 100 hyperparameters. Each hyperparameter is a key-value pair. Each key and value is limited to 256 characters, as specified by the Length Constraint.

" + "documentation":"

Algorithm-specific parameters that influence the quality of the model. You set hyperparameters before you start the learning process. For a list of hyperparameters for each training algorithm provided by Amazon SageMaker, see Algorithms.

You can specify a maximum of 100 hyperparameters. Each hyperparameter is a key-value pair. Each key and value is limited to 256 characters, as specified by the Length Constraint.

" }, "AlgorithmSpecification":{ "shape":"AlgorithmSpecification", - "documentation":"

The registry path of the Docker image that contains the training algorithm and algorithm-specific metadata, including the input mode. For more information about algorithms provided by Amazon SageMaker, see Algorithms. For information about providing your own algorithms, see Using Your Own Algorithms with Amazon SageMaker.

" + "documentation":"

The registry path of the Docker image that contains the training algorithm and algorithm-specific metadata, including the input mode. For more information about algorithms provided by Amazon SageMaker, see Algorithms. For information about providing your own algorithms, see Using Your Own Algorithms with Amazon SageMaker.

" }, "RoleArn":{ "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker assumes to perform tasks on your behalf.

During model training, Amazon SageMaker needs your permission to read input data from an S3 bucket, download a Docker image that contains training code, write model artifacts to an S3 bucket, write logs to Amazon CloudWatch Logs, and publish metrics to Amazon CloudWatch. You grant permissions for all of these tasks to an IAM role. For more information, see Amazon SageMaker Roles.

To be able to pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole permission.

" + "documentation":"

The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.

During model training, Amazon SageMaker needs your permission to read input data from an S3 bucket, download a Docker image that contains training code, write model artifacts to an S3 bucket, write logs to Amazon CloudWatch Logs, and publish metrics to Amazon CloudWatch. You grant permissions for all of these tasks to an IAM role. For more information, see Amazon SageMaker Roles.

To be able to pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole permission.

" }, "InputDataConfig":{ "shape":"InputDataConfig", @@ -2057,19 +2073,23 @@ }, "VpcConfig":{ "shape":"VpcConfig", - "documentation":"

A VpcConfig object that specifies the VPC that you want your training job to connect to. Control access to and from your training container by configuring the VPC. For more information, see Protect Training Jobs by Using an Amazon Virtual Private Cloud.

" + "documentation":"

A VpcConfig object that specifies the VPC that you want your training job to connect to. Control access to and from your training container by configuring the VPC. For more information, see Protect Training Jobs by Using an Amazon Virtual Private Cloud.

" }, "StoppingCondition":{ "shape":"StoppingCondition", - "documentation":"

Sets a duration for training. Use this parameter to cap model training costs. To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job termination for 120 seconds. Algorithms might use this 120-second window to save the model artifacts.

When Amazon SageMaker terminates a job because the stopping condition has been met, training algorithms provided by Amazon SageMaker save the intermediate results of the job. This intermediate data is a valid model artifact. You can use it to create a model using the CreateModel API.

" + "documentation":"

Specifies a limit to how long a model training job can run. When the job reaches the time limit, Amazon SageMaker ends the training job. Use this API to cap model training costs.

To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the results of training are not lost.

" }, "Tags":{ "shape":"TagList", - "documentation":"

An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" + "documentation":"

An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" }, "EnableNetworkIsolation":{ "shape":"Boolean", - "documentation":"

Isolates the training container. No inbound or outbound network calls can be made, except for calls between peers within a training cluster for distributed training. If network isolation is used for training jobs that are configured to use a VPC, Amazon SageMaker downloads and uploads customer data and model artifacts through the specifed VPC, but the training container does not have network access.

The Semantic Segmentation built-in algorithm does not support network isolation.

" + "documentation":"

Isolates the training container. No inbound or outbound network calls can be made, except for calls between peers within a training cluster for distributed training. If you enable network isolation for training jobs that are configured to use a VPC, Amazon SageMaker downloads and uploads customer data and model artifacts through the specified VPC, but the training container does not have network access.

The Semantic Segmentation built-in algorithm does not support network isolation.

" + }, + "EnableInterContainerTrafficEncryption":{ + "shape":"Boolean", + "documentation":"

To encrypt all communications between ML compute instances in distributed training, choose True. Encryption provides greater security for distributed training, but training might take longer. How long it takes depends on the amount of communication between compute instances, especially if you use a deep learning algorithm in distributed training. For more information, see Protect Communications Between ML Compute Instances in a Distributed Training Job.

" } } }, @@ -2103,15 +2123,15 @@ }, "MaxConcurrentTransforms":{ "shape":"MaxConcurrentTransforms", - "documentation":"

The maximum number of parallel requests that can be sent to each instance in a transform job. This is good for algorithms that implement multiple workers on larger instances . The default value is 1. To allow Amazon SageMaker to determine the appropriate number for MaxConcurrentTransforms, set the value to 0.

" + "documentation":"

The maximum number of parallel requests that can be sent to each instance in a transform job. If MaxConcurrentTransforms is set to 0 or left unset, Amazon SageMaker checks the optional execution-parameters to determine the optimal settings for your chosen algorithm. If the execution-parameters endpoint is not enabled, the default value is 1. For more information on execution-parameters, see How Containers Serve Requests. For built-in algorithms, you don't need to set a value for MaxConcurrentTransforms.

" }, "MaxPayloadInMB":{ "shape":"MaxPayloadInMB", - "documentation":"

The maximum payload size allowed, in MB. A payload is the data portion of a record (without metadata). The value in MaxPayloadInMB must be greater or equal to the size of a single record. You can approximate the size of a record by dividing the size of your dataset by the number of records. Then multiply this value by the number of records you want in a mini-batch. We recommend to enter a slightly larger value than this to ensure the records fit within the maximum payload size. The default value is 6 MB.

For cases where the payload might be arbitrarily large and is transmitted using HTTP chunked encoding, set the value to 0. This feature only works in supported algorithms. Currently, Amazon SageMaker built-in algorithms do not support this feature.

" + "documentation":"

The maximum allowed size of the payload, in MB. A payload is the data portion of a record (without metadata). The value in MaxPayloadInMB must be greater than, or equal to, the size of a single record. To estimate the size of a record in MB, divide the size of your dataset by the number of records. To ensure that the records fit within the maximum payload size, we recommend using a slightly larger value. The default value is 6 MB.

For cases where the payload might be arbitrarily large and is transmitted using HTTP chunked encoding, set the value to 0. This feature works only in supported algorithms. Currently, Amazon SageMaker built-in algorithms do not support HTTP chunked encoding.

" }, "BatchStrategy":{ "shape":"BatchStrategy", - "documentation":"

Determines the number of records included in a single mini-batch. SingleRecord means only one record is used per mini-batch. MultiRecord means a mini-batch is set to contain as many records that can fit within the MaxPayloadInMB limit.

Batch transform will automatically split your input data into whatever payload size is specified if you set SplitType to Line and BatchStrategy to MultiRecord. There's no need to split the dataset into smaller files or to use larger payload sizes unless the records in your dataset are very large.

" + "documentation":"

Specifies the number of records to include in a mini-batch for an HTTP inference request. A record is a single unit of input data that inference can be made on. For example, a single line in a CSV file is a record.

To enable the batch strategy, you must set SplitType to Line, RecordIO, or TFRecord.

To use only one record when making an HTTP invocation request to a container, set BatchStrategy to SingleRecord and SplitType to Line.

To fit as many records in a mini-batch as can fit within the MaxPayloadInMB limit, set BatchStrategy to MultiRecord and SplitType to Line.

" }, "Environment":{ "shape":"TransformEnvironmentMap", @@ -2129,9 +2149,13 @@ "shape":"TransformResources", "documentation":"

Describes the resources, including ML instance types and ML instance count, to use for the transform job.

" }, + "DataProcessing":{ + "shape":"DataProcessing", + "documentation":"

The data structure used for combining the input data and inference in the output file. For more information, see Batch Transform I/O Join.

" + }, "Tags":{ "shape":"TagList", - "documentation":"

An array of key-value pairs. Adding tags is optional. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" + "documentation":"

(Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" } } }, @@ -2165,6 +2189,10 @@ "shape":"String200", "documentation":"

A description of the work team.

" }, + "NotificationConfiguration":{ + "shape":"NotificationConfiguration", + "documentation":"

Configures notification of workers regarding available or expiring work items.

" + }, "Tags":{ "shape":"TagList", "documentation":"

" @@ -2184,11 +2212,29 @@ "DataInputConfig":{ "type":"string", "max":1024, - "min":1 + "min":1, + "pattern":"[\\S\\s]+" + }, + "DataProcessing":{ + "type":"structure", + "members":{ + "InputFilter":{ + "shape":"JsonPath", + "documentation":"

A JSONPath expression used to select a portion of the input data to pass to the algorithm. Use the InputFilter parameter to exclude fields, such as an ID column, from the input. If you want Amazon SageMaker to pass the entire input dataset to the algorithm, accept the default value $.

Examples: \"$\", \"$[1:]\", \"$.features\"

" + }, + "OutputFilter":{ + "shape":"JsonPath", + "documentation":"

A JSONPath expression used to select a portion of the joined dataset to save in the output file for a batch transform job. If you want Amazon SageMaker to store the entire input dataset in the output file, leave the default value, $. If you specify indexes that aren't within the dimension size of the joined dataset, you get an error.

Examples: \"$\", \"$[0,5:]\", \"$.['id','SageMakerOutput']\"

" + }, + "JoinSource":{ + "shape":"JoinSource", + "documentation":"

Specifies the source of the data to join with the transformed data. The valid values are None and Input The default value is None which specifies not to join the input with the transformed data. If you want the batch transform job to join the original input data with the transformed data, set JoinSource to Input. To join input and output, the batch transform job must satisfy the Requirements for Using Batch Transform I/O Join.

For JSON or JSONLines objects, such as a JSON array, Amazon SageMaker adds the transformed data to the input JSON object in an attribute called SageMakerOutput. The joined result for JSON must be a key-value pair object. If the input is not a key-value pair object, Amazon SageMaker creates a new JSON file. In the new JSON file, and the input data is stored under the SageMakerInput key and the results are stored in SageMakerOutput.

For CSV files, Amazon SageMaker combines the transformed data with the input data at the end of the input data and stores it in the output file. The joined data has the joined input data followed by the transformed data and the output is a CSV file.

" + } + }, + "documentation":"

The data structure used to combine the input data and transformed data from the batch transform output into a joined dataset and to store it in an output file. It also contains information on how to filter the input data and the joined dataset. For more information, see Batch Transform I/O Join.

" }, "DataSource":{ "type":"structure", - "required":["S3DataSource"], "members":{ "S3DataSource":{ "shape":"S3DataSource", @@ -2213,7 +2259,7 @@ "members":{ "CodeRepositoryName":{ "shape":"EntityName", - "documentation":"

The name of the git repository to delete.

" + "documentation":"

The name of the Git repository to delete.

" } } }, @@ -2368,7 +2414,7 @@ }, "AlgorithmArn":{ "shape":"AlgorithmArn", - "documentation":"

The Amazon Resource Name (ARN) of the algorithm.>

" + "documentation":"

The Amazon Resource Name (ARN) of the algorithm.

" }, "AlgorithmDescription":{ "shape":"EntityDescription", @@ -2404,7 +2450,7 @@ }, "CertifyForMarketplace":{ "shape":"CertifyForMarketplace", - "documentation":"

Whether the algorithm is certified to be listed in AWS Marektplace.

" + "documentation":"

Whether the algorithm is certified to be listed in AWS Marketplace.

" } } }, @@ -2414,7 +2460,7 @@ "members":{ "CodeRepositoryName":{ "shape":"EntityName", - "documentation":"

The name of the git repository to describe.

" + "documentation":"

The name of the Git repository to describe.

" } } }, @@ -2429,11 +2475,11 @@ "members":{ "CodeRepositoryName":{ "shape":"EntityName", - "documentation":"

The name of the git repository.

" + "documentation":"

The name of the Git repository.

" }, "CodeRepositoryArn":{ "shape":"CodeRepositoryArn", - "documentation":"

The Amazon Resource Name (ARN) of the git repository.

" + "documentation":"

The Amazon Resource Name (ARN) of the Git repository.

" }, "CreationTime":{ "shape":"CreationTime", @@ -2497,7 +2543,7 @@ }, "StoppingCondition":{ "shape":"StoppingCondition", - "documentation":"

The duration allowed for model compilation.

" + "documentation":"

Specifies a limit to how long a model compilation job can run. When the job reaches the time limit, Amazon SageMaker ends the compilation job. Use this API to cap model training costs.

" }, "CreationTime":{ "shape":"CreationTime", @@ -2641,7 +2687,6 @@ "HyperParameterTuningJobName", "HyperParameterTuningJobArn", "HyperParameterTuningJobConfig", - "TrainingJobDefinition", "HyperParameterTuningJobStatus", "CreationTime", "TrainingJobStatusCounters", @@ -2782,7 +2827,7 @@ }, "LabelCategoryConfigS3Uri":{ "shape":"S3Uri", - "documentation":"

The S3 location of the JSON file that defines the categories used to label data objects.

" + "documentation":"

The S3 location of the JSON file that defines the categories used to label data objects.

The file is a JSON structure in the following format:

{

\"document-version\": \"2018-11-28\"

\"labels\": [

{

\"label\": \"label 1\"

},

{

\"label\": \"label 2\"

},

...

{

\"label\": \"label n\"

}

]

}

" }, "StoppingConditions":{ "shape":"LabelingJobStoppingConditions", @@ -2843,7 +2888,7 @@ }, "VpcConfig":{ "shape":"VpcConfig", - "documentation":"

A VpcConfig object that specifies the VPC that this model has access to. For more information, see Protect Endpoints by Using an Amazon Virtual Private Cloud

" + "documentation":"

A VpcConfig object that specifies the VPC that this model has access to. For more information, see Protect Endpoints by Using an Amazon Virtual Private Cloud

" }, "CreationTime":{ "shape":"Timestamp", @@ -2889,7 +2934,7 @@ }, "ModelPackageDescription":{ "shape":"EntityDescription", - "documentation":"

A brief summary about the model package.

" + "documentation":"

A brief summary of the model package.

" }, "CreationTime":{ "shape":"CreationTime", @@ -2979,7 +3024,7 @@ }, "NotebookInstanceName":{ "shape":"NotebookInstanceName", - "documentation":"

Name of the Amazon SageMaker notebook instance.

" + "documentation":"

The name of the Amazon SageMaker notebook instance.

" }, "NotebookInstanceStatus":{ "shape":"NotebookInstanceStatus", @@ -2987,7 +3032,7 @@ }, "FailureReason":{ "shape":"FailureReason", - "documentation":"

If status is failed, the reason it failed.

" + "documentation":"

If status is Failed, the reason it failed.

" }, "Url":{ "shape":"NotebookInstanceUrl", @@ -3007,15 +3052,15 @@ }, "RoleArn":{ "shape":"RoleArn", - "documentation":"

Amazon Resource Name (ARN) of the IAM role associated with the instance.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM role associated with the instance.

" }, "KmsKeyId":{ "shape":"KmsKeyId", - "documentation":"

AWS KMS key ID Amazon SageMaker uses to encrypt data when storing it on the ML storage volume attached to the instance.

" + "documentation":"

The AWS KMS key ID Amazon SageMaker uses to encrypt data when storing it on the ML storage volume attached to the instance.

" }, "NetworkInterfaceId":{ "shape":"NetworkInterfaceId", - "documentation":"

Network interface IDs that Amazon SageMaker created at the time of creating the instance.

" + "documentation":"

The network interface IDs that Amazon SageMaker created at the time of creating the instance.

" }, "LastModifiedTime":{ "shape":"LastModifiedTime", @@ -3027,11 +3072,11 @@ }, "NotebookInstanceLifecycleConfigName":{ "shape":"NotebookInstanceLifecycleConfigName", - "documentation":"

Returns the name of a notebook instance lifecycle configuration.

For information about notebook instance lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance

" + "documentation":"

Returns the name of a notebook instance lifecycle configuration.

For information about notebook instance lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance

" }, "DirectInternetAccess":{ "shape":"DirectInternetAccess", - "documentation":"

Describes whether Amazon SageMaker provides internet access to the notebook instance. If this value is set to Disabled, he notebook instance does not have internet access, and cannot connect to Amazon SageMaker training and endpoint services.

For more information, see Notebook Instances Are Internet-Enabled by Default.

" + "documentation":"

Describes whether Amazon SageMaker provides internet access to the notebook instance. If this value is set to Disabled, the notebook instance does not have internet access, and cannot connect to Amazon SageMaker training and endpoint services.

For more information, see Notebook Instances Are Internet-Enabled by Default.

" }, "VolumeSizeInGB":{ "shape":"NotebookInstanceVolumeSizeInGB", @@ -3043,11 +3088,15 @@ }, "DefaultCodeRepository":{ "shape":"CodeRepositoryNameOrUrl", - "documentation":"

The git repository associated with the notebook instance as its default code repository. This can be either the name of a git repository stored as a resource in your account, or the URL of a git repository in AWS CodeCommit or in any other git repository. When you open a notebook instance, it opens in the directory that contains this repository. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.

" + "documentation":"

The Git repository associated with the notebook instance as its default code repository. This can be either the name of a Git repository stored as a resource in your account, or the URL of a Git repository in AWS CodeCommit or in any other Git repository. When you open a notebook instance, it opens in the directory that contains this repository. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.

" }, "AdditionalCodeRepositories":{ "shape":"AdditionalCodeRepositoryNamesOrUrls", - "documentation":"

An array of up to 3 git repositories associated with the notebook instance. These can be either the names of git repositories stored as resources in your account, or the URL of git repositories in AWS CodeCommit or in any other git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.

" + "documentation":"

An array of up to three Git repositories associated with the notebook instance. These can be either the names of Git repositories stored as resources in your account, or the URL of Git repositories in AWS CodeCommit or in any other Git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.

" + }, + "RootAccess":{ + "shape":"RootAccess", + "documentation":"

Whether root access is enabled or disabled for users of the notebook instance.

Lifecycle configurations need root access to be able to set up a notebook instance. Because of this, lifecycle configurations associated with a notebook instance always run with root access even if you disable root access for users.

" } } }, @@ -3153,11 +3202,11 @@ }, "VpcConfig":{ "shape":"VpcConfig", - "documentation":"

A VpcConfig object that specifies the VPC that this training job has access to. For more information, see Protect Training Jobs by Using an Amazon Virtual Private Cloud.

" + "documentation":"

A VpcConfig object that specifies the VPC that this training job has access to. For more information, see Protect Training Jobs by Using an Amazon Virtual Private Cloud.

" }, "StoppingCondition":{ "shape":"StoppingCondition", - "documentation":"

The condition under which to stop the training job.

" + "documentation":"

Specifies a limit to how long a model training job can run. When the job reaches the time limit, Amazon SageMaker ends the training job. Use this API to cap model training costs.

To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the results of training are not lost.

" }, "CreationTime":{ "shape":"Timestamp", @@ -3185,7 +3234,11 @@ }, "EnableNetworkIsolation":{ "shape":"Boolean", - "documentation":"

If True, inbound or outbound network calls can be made, except for calls between peers within a training cluster for distributed training. If network isolation is used for training jobs that are configured to use a VPC, Amazon SageMaker downloads and uploads customer data and model artifacts through the specifed VPC, but the training container does not have network access.

The Semantic Segmentation built-in algorithm does not support network isolation.

" + "documentation":"

If you want to allow inbound or outbound network calls, except for calls between peers within a training cluster for distributed training, choose True. If you enable network isolation for training jobs that are configured to use a VPC, Amazon SageMaker downloads and uploads customer data and model artifacts through the specified VPC, but the training container does not have network access.

The Semantic Segmentation built-in algorithm does not support network isolation.

" + }, + "EnableInterContainerTrafficEncryption":{ + "shape":"Boolean", + "documentation":"

To encrypt all communications between ML compute instances in distributed training, choose True. Encryption provides greater security for distributed training, but training might take longer. How long it takes depends on the amount of communication between compute instances, especially if you use a deep learning algorithms in distributed training.

" } } }, @@ -3225,7 +3278,7 @@ }, "FailureReason":{ "shape":"FailureReason", - "documentation":"

If the transform job failed, the reason that it failed.

" + "documentation":"

If the transform job failed, FailureReason describes why it failed. A transform job creates a log file, which includes error messages, and stores it as an Amazon S3 object. For more information, see Log Amazon SageMaker Events with Amazon CloudWatch.

" }, "ModelName":{ "shape":"ModelName", @@ -3237,15 +3290,15 @@ }, "MaxPayloadInMB":{ "shape":"MaxPayloadInMB", - "documentation":"

The maximum payload size , in MB used in the transform job.

" + "documentation":"

The maximum payload size, in MB, used in the transform job.

" }, "BatchStrategy":{ "shape":"BatchStrategy", - "documentation":"

SingleRecord means only one record was used per a batch. MultiRecord means batches contained as many records that could possibly fit within the MaxPayloadInMB limit.

" + "documentation":"

Specifies the number of records to include in a mini-batch for an HTTP inference request. A record is a single unit of input data that inference can be made on. For example, a single line in a CSV file is a record.

To enable the batch strategy, you must set SplitType to Line, RecordIO, or TFRecord.

" }, "Environment":{ "shape":"TransformEnvironmentMap", - "documentation":"

" + "documentation":"

The environment variables to set in the Docker container. We support up to 16 key and values entries in the map.

" }, "TransformInput":{ "shape":"TransformInput", @@ -3269,12 +3322,13 @@ }, "TransformEndTime":{ "shape":"Timestamp", - "documentation":"

Indicates when the transform job is Completed, Stopped, or Failed. You are billed for the time interval between this time and the value of TransformStartTime.

" + "documentation":"

Indicates when the transform job has been completed, or has stopped or failed. You are billed for the time interval between this time and the value of TransformStartTime.

" }, "LabelingJobArn":{ "shape":"LabelingJobArn", "documentation":"

The Amazon Resource Name (ARN) of the Amazon SageMaker Ground Truth labeling job that created the transform or training job.

" - } + }, + "DataProcessing":{"shape":"DataProcessing"} } }, "DescribeWorkteamRequest":{ @@ -3358,12 +3412,14 @@ "EndpointArn":{ "type":"string", "max":2048, - "min":20 + "min":20, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:endpoint/.*" }, "EndpointConfigArn":{ "type":"string", "max":2048, - "min":20 + "min":20, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:endpoint-config/.*" }, "EndpointConfigName":{ "type":"string", @@ -3468,7 +3524,7 @@ }, "EndpointStatus":{ "shape":"EndpointStatus", - "documentation":"

The status of the endpoint.

  • OutOfService: Endpoint is not available to take incoming requests.

  • Creating: CreateEndpoint is executing.

  • Updating: UpdateEndpoint or UpdateEndpointWeightsAndCapacities is executing.

  • SystemUpdating: Endpoint is undergoing maintenance and cannot be updated or deleted or re-scaled until it has completed. This mainenance operation does not change any customer-specified values such as VPC config, KMS encryption, model, instance type, or instance count.

  • RollingBack: Endpoint fails to scale up or down or change its variant weight and is in the process of rolling back to its previous configuration. Once the rollback completes, endpoint returns to an InService status. This transitional status only applies to an endpoint that has autoscaling enabled and is undergoing variant weight or capacity changes as part of an UpdateEndpointWeightsAndCapacities call or when the UpdateEndpointWeightsAndCapacities operation is called explicitly.

  • InService: Endpoint is available to process incoming requests.

  • Deleting: DeleteEndpoint is executing.

  • Failed: Endpoint could not be created, updated, or re-scaled. Use DescribeEndpointOutput$FailureReason for information about the failure. DeleteEndpoint is the only operation that can be performed on a failed endpoint.

To get a list of endpoints with a specified status, use the ListEndpointsInput$StatusEquals filter.

" + "documentation":"

The status of the endpoint.

  • OutOfService: Endpoint is not available to take incoming requests.

  • Creating: CreateEndpoint is executing.

  • Updating: UpdateEndpoint or UpdateEndpointWeightsAndCapacities is executing.

  • SystemUpdating: Endpoint is undergoing maintenance and cannot be updated or deleted or re-scaled until it has completed. This maintenance operation does not change any customer-specified values such as VPC config, KMS encryption, model, instance type, or instance count.

  • RollingBack: Endpoint fails to scale up or down or change its variant weight and is in the process of rolling back to its previous configuration. Once the rollback completes, endpoint returns to an InService status. This transitional status only applies to an endpoint that has autoscaling enabled and is undergoing variant weight or capacity changes as part of an UpdateEndpointWeightsAndCapacities call or when the UpdateEndpointWeightsAndCapacities operation is called explicitly.

  • InService: Endpoint is available to process incoming requests.

  • Deleting: DeleteEndpoint is executing.

  • Failed: Endpoint could not be created, updated, or re-scaled. Use DescribeEndpointOutput$FailureReason for information about the failure. DeleteEndpoint is the only operation that can be performed on a failed endpoint.

To get a list of endpoints with a specified status, use the ListEndpointsInput$StatusEquals filter.

" } }, "documentation":"

Provides summary information for an endpoint.

" @@ -3486,7 +3542,7 @@ "type":"string", "max":63, "min":1, - "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*$" }, "EnvironmentKey":{ "type":"string", @@ -3501,7 +3557,8 @@ }, "EnvironmentValue":{ "type":"string", - "max":1024 + "max":1024, + "pattern":"[\\S\\s]*" }, "FailureReason":{ "type":"string", @@ -3513,18 +3570,18 @@ "members":{ "Name":{ "shape":"ResourcePropertyName", - "documentation":"

A property name. For example, TrainingJobName. See TrainingJob properties for the list of valid property names for each supported resource.

" + "documentation":"

A property name. For example, TrainingJobName. For the list of valid property names returned in a search result for each supported resource, see TrainingJob properties. You must specify a valid property name for the resource.

" }, "Operator":{ "shape":"Operator", - "documentation":"

A Boolean binary operator that is used to evaluate the filter. The operator field contains one of the following values:

Equals

The specified resource in Name equals the specified Value.

NotEquals

The specified resource in Name does not equal the specified Value.

GreaterThan

The specified resource in Name is greater than the specified Value. Not supported for text-based properties.

GreaterThanOrEqualTo

The specified resource in Name is greater than or equal to the specified Value. Not supported for text-based properties.

LessThan

The specified resource in Name is less than the specified Value. Not supported for text-based properties.

LessThanOrEqualTo

The specified resource in Name is less than or equal to the specified Value. Not supported for text-based properties.

Contains

Only supported for text-based properties. The word-list of the property contains the specified Value.

" + "documentation":"

A Boolean binary operator that is used to evaluate the filter. The operator field contains one of the following values:

Equals

The specified resource in Name equals the specified Value.

NotEquals

The specified resource in Name does not equal the specified Value.

GreaterThan

The specified resource in Name is greater than the specified Value. Not supported for text-based properties.

GreaterThanOrEqualTo

The specified resource in Name is greater than or equal to the specified Value. Not supported for text-based properties.

LessThan

The specified resource in Name is less than the specified Value. Not supported for text-based properties.

LessThanOrEqualTo

The specified resource in Name is less than or equal to the specified Value. Not supported for text-based properties.

Contains

Only supported for text-based properties. The word-list of the property contains the specified Value.

If you have specified a filter Value, the default is Equals.

" }, "Value":{ "shape":"FilterValue", - "documentation":"

A value used with Resource and Operator to determin if objects statisfy the filter's condition. For numerical properties, Value must be an integer or floating-point decimal. For timestamp properties, Value must be an ISO 8601 date-time string of the following format: YYYY-mm-dd'T'HH:MM:SS.

" + "documentation":"

A value used with Resource and Operator to determine if objects satisfy the filter's condition. For numerical properties, Value must be an integer or floating-point decimal. For timestamp properties, Value must be an ISO 8601 date-time string of the following format: YYYY-mm-dd'T'HH:MM:SS.

" } }, - "documentation":"

A conditional statement for a search expression that includes a Boolean operator, a resource property, and a value.

If you don't specify an Operator and a Value, the filter searches for only the specified property. For example, defining a Filter for the FailureReason for the TrainingJob Resource searches for training job objects that have a value in the FailureReason field.

If you specify a Value, but not an Operator, Amazon SageMaker uses the equals operator as a default.

In search, there are several property types:

Metrics

To define a metric filter, enter a value using the form \"Metrics.<name>\", where <name> is a metric name. For example, the following filter searches for training jobs with an \"accuracy\" metric greater than \"0.9\":

{

\"Name\": \"Metrics.accuracy\",

\"Operator\": \"GREATER_THAN\",

\"Value\": \"0.9\"

}

HyperParameters

To define a hyperparameter filter, enter a value with the form \"HyperParamters.<name>\". Decimal hyperparameter values are treated as a decimal in a comparison if the specified Value is also a decimal value. If the specified Value is an integer, the decimal hyperparameter values are treated as integers. For example, the following filter is satisfied by training jobs with a \"learning_rate\" hyperparameter that is less than \"0.5\":

{

\"Name\": \"HyperParameters.learning_rate\",

\"Operator\": \"LESS_THAN\",

\"Value\": \"0.5\"

}

Tags

To define a tag filter, enter a value with the form \"Tags.<key>\".

" + "documentation":"

A conditional statement for a search expression that includes a Boolean operator, a resource property, and a value.

If you don't specify an Operator and a Value, the filter searches for only the specified property. For example, defining a Filter for the FailureReason for the TrainingJob Resource searches for training job objects that have a value in the FailureReason field.

If you specify a Value, but not an Operator, Amazon SageMaker uses the equals operator as the default.

In search, there are several property types:

Metrics

To define a metric filter, enter a value using the form \"Metrics.<name>\", where <name> is a metric name. For example, the following filter searches for training jobs with an \"accuracy\" metric greater than \"0.9\":

{

\"Name\": \"Metrics.accuracy\",

\"Operator\": \"GREATER_THAN\",

\"Value\": \"0.9\"

}

HyperParameters

To define a hyperparameter filter, enter a value with the form \"HyperParameters.<name>\". Decimal hyperparameter values are treated as a decimal in a comparison if the specified Value is also a decimal value. If the specified Value is an integer, the decimal hyperparameter values are treated as integers. For example, the following filter is satisfied by training jobs with a \"learning_rate\" hyperparameter that is less than \"0.5\":

{

\"Name\": \"HyperParameters.learning_rate\",

\"Operator\": \"LESS_THAN\",

\"Value\": \"0.5\"

}

Tags

To define a tag filter, enter a value with the form \"Tags.<key>\".

" }, "FilterList":{ "type":"list", @@ -3535,7 +3592,8 @@ "FilterValue":{ "type":"string", "max":1024, - "min":1 + "min":1, + "pattern":".+" }, "FinalHyperParameterTuningJobObjectiveMetric":{ "type":"structure", @@ -3604,19 +3662,19 @@ "required":["RepositoryUrl"], "members":{ "RepositoryUrl":{ - "shape":"Url", - "documentation":"

The URL where the git repository is located.

" + "shape":"GitConfigUrl", + "documentation":"

The URL where the Git repository is located.

" }, "Branch":{ "shape":"Branch", - "documentation":"

The default brach for the git repository.

" + "documentation":"

The default branch for the Git repository.

" }, "SecretArn":{ "shape":"SecretArn", "documentation":"

The Amazon Resource Name (ARN) of the AWS Secrets Manager secret that contains the credentials used to access the git repository. The secret must have a staging label of AWSCURRENT and must be in the following format:

{\"username\": UserName, \"password\": Password}

" } }, - "documentation":"

Specifies configuration details for a git repository in your AWS account.

" + "documentation":"

Specifies configuration details for a Git repository in your AWS account.

" }, "GitConfigForUpdate":{ "type":"structure", @@ -3626,7 +3684,11 @@ "documentation":"

The Amazon Resource Name (ARN) of the AWS Secrets Manager secret that contains the credentials used to access the git repository. The secret must have a staging label of AWSCURRENT and must be in the following format:

{\"username\": UserName, \"password\": Password}

" } }, - "documentation":"

Specifies configuration details for a git repository when the repository is updated.

" + "documentation":"

Specifies configuration details for a Git repository when the repository is updated.

" + }, + "GitConfigUrl":{ + "type":"string", + "pattern":"^https://([^/]+)/?(.*)$" }, "HumanTaskConfig":{ "type":"structure", @@ -3651,7 +3713,7 @@ }, "PreHumanTaskLambdaArn":{ "shape":"LambdaFunctionArn", - "documentation":"

The Amazon Resource Name (ARN) of a Lambda function that is run before a data object is sent to a human worker. Use this function to provide input to a custom labeling job.

" + "documentation":"

The Amazon Resource Name (ARN) of a Lambda function that is run before a data object is sent to a human worker. Use this function to provide input to a custom labeling job.

For the built-in bounding box, image classification, semantic segmentation, and text classification task types, Amazon SageMaker Ground Truth provides the following Lambda functions:

US East (Northern Virginia) (us-east-1):

  • arn:aws:lambda:us-east-1:432418664414:function:PRE-BoundingBox

  • arn:aws:lambda:us-east-1:432418664414:function:PRE-ImageMultiClass

  • arn:aws:lambda:us-east-1:432418664414:function:PRE-SemanticSegmentation

  • arn:aws:lambda:us-east-1:432418664414:function:PRE-TextMultiClass

US East (Ohio) (us-east-2):

  • arn:aws:lambda:us-east-2:266458841044:function:PRE-BoundingBox

  • arn:aws:lambda:us-east-2:266458841044:function:PRE-ImageMultiClass

  • arn:aws:lambda:us-east-2:266458841044:function:PRE-SemanticSegmentation

  • arn:aws:lambda:us-east-2:266458841044:function:PRE-TextMultiClass

US West (Oregon) (us-west-2):

  • arn:aws:lambda:us-west-2:081040173940:function:PRE-BoundingBox

  • arn:aws:lambda:us-west-2:081040173940:function:PRE-ImageMultiClass

  • arn:aws:lambda:us-west-2:081040173940:function:PRE-SemanticSegmentation

  • arn:aws:lambda:us-west-2:081040173940:function:PRE-TextMultiClass

EU (Ireland) (eu-west-1):

  • arn:aws:lambda:eu-west-1:568282634449:function:PRE-BoundingBox

  • arn:aws:lambda:eu-west-1:568282634449:function:PRE-ImageMultiClass

  • arn:aws:lambda:eu-west-1:568282634449:function:PRE-SemanticSegmentation

  • arn:aws:lambda:eu-west-1:568282634449:function:PRE-TextMultiClass

Asia Pacific (Tokyo) (ap-northeast-1):

  • arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-BoundingBox

  • arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-ImageMultiClass

  • arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-SemanticSegmentation

  • arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-TextMultiClass

Asia Pacific (Sydney) (ap-southeast-1):

  • arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-BoundingBox

  • arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-ImageMultiClass

  • arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-SemanticSegmentation

  • arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-TextMultiClass

" }, "TaskKeywords":{ "shape":"TaskKeywords", @@ -3698,11 +3760,11 @@ "members":{ "TrainingImage":{ "shape":"AlgorithmImage", - "documentation":"

The registry path of the Docker image that contains the training algorithm. For information about Docker registry paths for built-in algorithms, see Algorithms Provided by Amazon SageMaker: Common Parameters.

" + "documentation":"

The registry path of the Docker image that contains the training algorithm. For information about Docker registry paths for built-in algorithms, see Algorithms Provided by Amazon SageMaker: Common Parameters. Amazon SageMaker supports both registry/repository[:tag] and registry/repository[@digest] image path formats. For more information, see Using Your Own Algorithms with Amazon SageMaker.

" }, "TrainingInputMode":{ "shape":"TrainingInputMode", - "documentation":"

The input mode that the algorithm supports: File or Pipe. In File input mode, Amazon SageMaker downloads the training data from Amazon S3 to the storage volume that is attached to the training instance and mounts the directory to the Docker volume for the training container. In Pipe input mode, Amazon SageMaker streams data directly from Amazon S3 to the container.

If you specify File mode, make sure that you provision the storage volume that is attached to the training instance with enough capacity to accommodate the training data downloaded from Amazon S3, the model artifacts, and intermediate information.

For more information about input modes, see Algorithms.

" + "documentation":"

The input mode that the algorithm supports: File or Pipe. In File input mode, Amazon SageMaker downloads the training data from Amazon S3 to the storage volume that is attached to the training instance and mounts the directory to the Docker volume for the training container. In Pipe input mode, Amazon SageMaker streams data directly from Amazon S3 to the container.

If you specify File mode, make sure that you provision the storage volume that is attached to the training instance with enough capacity to accommodate the training data downloaded from Amazon S3, the model artifacts, and intermediate information.

For more information about input modes, see Algorithms.

" }, "AlgorithmName":{ "shape":"ArnOrName", @@ -3715,6 +3777,15 @@ }, "documentation":"

Specifies which training algorithm to use for training jobs that a hyperparameter tuning job launches and the metrics to monitor.

" }, + "HyperParameterScalingType":{ + "type":"string", + "enum":[ + "Auto", + "Linear", + "Logarithmic", + "ReverseLogarithmic" + ] + }, "HyperParameterSpecification":{ "type":"structure", "required":[ @@ -3775,7 +3846,7 @@ }, "AlgorithmSpecification":{ "shape":"HyperParameterAlgorithmSpecification", - "documentation":"

The HyperParameterAlgorithmSpecification object that specifies the algorithm to use for the training jobs that the tuning job launches.

" + "documentation":"

The HyperParameterAlgorithmSpecification object that specifies the resource algorithm to use for the training jobs that the tuning job launches.

" }, "RoleArn":{ "shape":"RoleArn", @@ -3787,7 +3858,7 @@ }, "VpcConfig":{ "shape":"VpcConfig", - "documentation":"

The VpcConfig object that specifies the VPC that you want the training jobs that this hyperparameter tuning job launches to connect to. Control access to and from your training container by configuring the VPC. For more information, see Protect Training Jobs by Using an Amazon Virtual Private Cloud.

" + "documentation":"

The VpcConfig object that specifies the VPC that you want the training jobs that this hyperparameter tuning job launches to connect to. Control access to and from your training container by configuring the VPC. For more information, see Protect Training Jobs by Using an Amazon Virtual Private Cloud.

" }, "OutputDataConfig":{ "shape":"OutputDataConfig", @@ -3799,11 +3870,15 @@ }, "StoppingCondition":{ "shape":"StoppingCondition", - "documentation":"

Sets a maximum duration for the training jobs that the tuning job launches. Use this parameter to limit model training costs.

To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal. This delays job termination for 120 seconds. Algorithms might use this 120-second window to save the model artifacts.

When Amazon SageMaker terminates a job because the stopping condition has been met, training algorithms provided by Amazon SageMaker save the intermediate results of the job.

" + "documentation":"

Specifies a limit to how long a model hyperparameter training job can run. When the job reaches the time limit, Amazon SageMaker ends the training job. Use this API to cap model training costs.

" }, "EnableNetworkIsolation":{ "shape":"Boolean", - "documentation":"

Isolates the training container. No inbound or outbound network calls can be made, except for calls between peers within a training cluster for distributed training. If network isolation is used for training jobs that are configured to use a VPC, Amazon SageMaker downloads and uploads customer data and model artifacts through the specifed VPC, but the training container does not have network access.

The Semantic Segmentation built-in algorithm does not support network isolation.

" + "documentation":"

Isolates the training container. No inbound or outbound network calls can be made, except for calls between peers within a training cluster for distributed training. If network isolation is used for training jobs that are configured to use a VPC, Amazon SageMaker downloads and uploads customer data and model artifacts through the specified VPC, but the training container does not have network access.

The Semantic Segmentation built-in algorithm does not support network isolation.

" + }, + "EnableInterContainerTrafficEncryption":{ + "shape":"Boolean", + "documentation":"

To encrypt all communications between ML compute instances in distributed training, choose True. Encryption provides greater security for distributed training, but training might take longer. How long it takes depends on the amount of communication between compute instances, especially if you use a deep learning algorithm in distributed training.

" } }, "documentation":"

Defines the training jobs launched by a hyperparameter tuning job.

" @@ -3832,7 +3907,7 @@ }, "TuningJobName":{ "shape":"HyperParameterTuningJobName", - "documentation":"

The name of the hyperparameter tuning job that launched this training job.

" + "documentation":"

The HyperParameter tuning job that launched the training job.

" }, "CreationTime":{ "shape":"Timestamp", @@ -3844,7 +3919,7 @@ }, "TrainingEndTime":{ "shape":"Timestamp", - "documentation":"

The date and time that the training job ended.

" + "documentation":"

Specifies the time when the training job ends on training instances. You are billed for the time interval between the value of TrainingStartTime and this time. For successful jobs and stopped jobs, this is the time after model artifacts are uploaded. For failed jobs, this is the time when Amazon SageMaker detects a job failure.

" }, "TrainingJobStatus":{ "shape":"TrainingJobStatus", @@ -3878,14 +3953,12 @@ "type":"structure", "required":[ "Strategy", - "HyperParameterTuningJobObjective", - "ResourceLimits", - "ParameterRanges" + "ResourceLimits" ], "members":{ "Strategy":{ "shape":"HyperParameterTuningJobStrategyType", - "documentation":"

Specifies the search strategy for hyperparameters. Currently, the only valid value is Bayesian.

" + "documentation":"

Specifies how hyperparameter tuning chooses the combinations of hyperparameter values to use for the training job it launches. To use the Bayesian search stategy, set this to Bayesian. To randomly search, set it to Random. For information about search strategies, see How Hyperparameter Tuning Works.

" }, "HyperParameterTuningJobObjective":{ "shape":"HyperParameterTuningJobObjective", @@ -3898,6 +3971,10 @@ "ParameterRanges":{ "shape":"ParameterRanges", "documentation":"

The ParameterRanges object that specifies the ranges of hyperparameters that this tuning job searches.

" + }, + "TrainingJobEarlyStoppingType":{ + "shape":"TrainingJobEarlyStoppingType", + "documentation":"

Specifies whether to use early stopping for training jobs launched by the hyperparameter tuning job. This can be one of the following values (the default value is OFF):

OFF

Training jobs launched by the hyperparameter tuning job do not use early stopping.

AUTO

Amazon SageMaker stops training jobs launched by the hyperparameter tuning job when they are unlikely to perform better than previously completed training jobs. For more information, see Stop Training Jobs Early.

" } }, "documentation":"

Configures a hyperparameter tuning job.

" @@ -3958,7 +4035,10 @@ "HyperParameterTuningJobStrategyType":{ "type":"string", "documentation":"

The strategy hyperparameter tuning uses to find the best combination of hyperparameters for your model. Currently, the only supported value is Bayesian.

", - "enum":["Bayesian"] + "enum":[ + "Bayesian", + "Random" + ] }, "HyperParameterTuningJobSummaries":{ "type":"list", @@ -4028,7 +4108,7 @@ "members":{ "ParentHyperParameterTuningJobs":{ "shape":"ParentHyperParameterTuningJobs", - "documentation":"

An array of hyperparameter tuning jobs that are used as the starting point for the new hyperparameter tuning job. For more information about warm starting a hyperparameter tuning job, see Using a Previous Hyperparameter Tuning Job as a Starting Point.

Hyperparameter tuning jobs created before October 1, 2018 cannot be used as parent jobs for warm start tuning jobs.

" + "documentation":"

An array of hyperparameter tuning jobs that are used as the starting point for the new hyperparameter tuning job. For more information about warm starting a hyperparameter tuning job, see Using a Previous Hyperparameter Tuning Job as a Starting Point.

Hyperparameter tuning jobs created before October 1, 2018 cannot be used as parent jobs for warm start tuning jobs.

" }, "WarmStartType":{ "shape":"HyperParameterTuningJobWarmStartType", @@ -4108,7 +4188,7 @@ }, "DataInputConfig":{ "shape":"DataInputConfig", - "documentation":"

Specifies the name and shape of the expected data inputs for your trained model with a JSON dictionary form. The data inputs are InputConfig$Framework specific.

  • TENSORFLOW, MXNET and ONNX: You must specify the name and shape of the expected data inputs in order using a dictionary format for your trained model.

    • Example of one input: {‘data’:[1,3,1024,1024]}}

    • Example for two inputs: {‘var1’: [1,1,28,28], ‘var2’:[1,1,28,28]}

  • PYTORCH: You can either specify the name and shape of expected data inputs in order using a dictionary format for your trained model or you can specify the shape only using a list format.

    • Example of one input in dictionary format: {‘input0’:[1,3,224,234]}

    • Example of one input in list format: [1,3,224,224]

    • Example of two inputs in dictionary format: {‘input0’:[1,3,224,234], 'input1':[1,3,224,224]}

    • Example of two inputs in list format: [[1,3,224,224], [1,3,224,224]]

  • XGBOOST: input data name and shape are not needed.

" + "documentation":"

Specifies the name and shape of the expected data inputs for your trained model with a JSON dictionary form. The data inputs are InputConfig$Framework specific.

  • TensorFlow: You must specify the name and shape (NHWC format) of the expected data inputs using a dictionary format for your trained model. The dictionary formats required for the console and CLI are different.

    • Examples for one input:

      • If using the console, {\"input\":[1,1024,1024,3]}

      • If using the CLI, {\\\"input\\\":[1,1024,1024,3]}

    • Examples for two inputs:

      • If using the console, {\"data1\": [1,28,28,1], \"data2\":[1,28,28,1]}

      • If using the CLI, {\\\"data1\\\": [1,28,28,1], \\\"data2\\\":[1,28,28,1]}

  • MXNET/ONNX: You must specify the name and shape (NCHW format) of the expected data inputs in order using a dictionary format for your trained model. The dictionary formats required for the console and CLI are different.

    • Examples for one input:

      • If using the console, {\"data\":[1,3,1024,1024]}

      • If using the CLI, {\\\"data\\\":[1,3,1024,1024]}

    • Examples for two inputs:

      • If using the console, {\"var1\": [1,1,28,28], \"var2\":[1,1,28,28]}

      • If using the CLI, {\\\"var1\\\": [1,1,28,28], \\\"var2\\\":[1,1,28,28]}

  • PyTorch: You can either specify the name and shape (NCHW format) of expected data inputs in order using a dictionary format for your trained model or you can specify the shape only using a list format. The dictionary formats required for the console and CLI are different. The list formats for the console and CLI are the same.

    • Examples for one input in dictionary format:

      • If using the console, {\"input0\":[1,3,224,224]}

      • If using the CLI, {\\\"input0\\\":[1,3,224,224]}

    • Example for one input in list format: [[1,3,224,224]]

    • Examples for two inputs in dictionary format:

      • If using the console, {\"input0\":[1,3,224,224], \"input1\":[1,3,224,224]}

      • If using the CLI, {\\\"input0\\\":[1,3,224,224], \\\"input1\\\":[1,3,224,224]}

    • Example for two inputs in list format: [[1,3,224,224], [1,3,224,224]]

  • XGBOOST: input data name and shape are not needed.

" }, "Framework":{ "shape":"Framework", @@ -4120,7 +4200,7 @@ "InputDataConfig":{ "type":"list", "member":{"shape":"Channel"}, - "max":8, + "max":20, "min":1 }, "InputModes":{ @@ -4190,6 +4270,10 @@ "MaxValue":{ "shape":"ParameterValue", "documentation":"

The maximum value of the hyperparameter to search.

" + }, + "ScalingType":{ + "shape":"HyperParameterScalingType", + "documentation":"

The scale that hyperparameter tuning uses to search the hyperparameter range. For information about choosing a hyperparameter scale, see Hyperparameter Scaling. One of the following values:

Auto

Amazon SageMaker hyperparameter tuning chooses the best scale for the hyperparameter.

Linear

Hyperparameter tuning searches the values in the hyperparameter range by using a linear scale.

Logarithmic

Hyperparemeter tuning searches the values in the hyperparameter range by using a logarithmic scale.

Logarithmic scaling works only for ranges that have only values greater than 0.

" } }, "documentation":"

For a hyperparameter of the integer type, specifies the range that a hyperparameter tuning job searches.

" @@ -4220,16 +4304,31 @@ }, "JobReferenceCode":{ "type":"string", - "min":1 + "min":1, + "pattern":".+" }, "JobReferenceCodeContains":{ "type":"string", "max":255, - "min":1 + "min":1, + "pattern":".+" + }, + "JoinSource":{ + "type":"string", + "enum":[ + "Input", + "None" + ] + }, + "JsonPath":{ + "type":"string", + "max":63, + "min":0 }, "KmsKeyId":{ "type":"string", - "max":2048 + "max":2048, + "pattern":".*" }, "LabelAttributeName":{ "type":"string", @@ -4285,7 +4384,11 @@ }, "documentation":"

Provides counts for human-labeled tasks in the labeling job.

" }, - "LabelingJobAlgorithmSpecificationArn":{"type":"string"}, + "LabelingJobAlgorithmSpecificationArn":{ + "type":"string", + "max":2048, + "pattern":"arn:.*" + }, "LabelingJobAlgorithmsConfig":{ "type":"structure", "required":["LabelingJobAlgorithmSpecificationArn"], @@ -4358,6 +4461,10 @@ "LabelCounters":{ "shape":"LabelCountersForWorkteam", "documentation":"

Provides information about the progress of a labeling job.

" + }, + "NumberOfHumanWorkersPerDataObject":{ + "shape":"NumberOfHumanWorkersPerDataObject", + "documentation":"

The configured number of workers per data object.

" } }, "documentation":"

Provides summary information for a work team.

" @@ -4412,7 +4519,7 @@ }, "KmsKeyId":{ "shape":"KmsKeyId", - "documentation":"

The AWS Key Management Service ID of the key used to encrypt the output data, if any.

" + "documentation":"

The AWS Key Management Service ID of the key used to encrypt the output data, if any.

If you use a KMS key ID or an alias of your master key, the Amazon SageMaker execution role must include permissions to call kms:Encrypt. If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account. Amazon SageMaker uses server-side encryption with KMS-managed keys for LabelingJobOutputConfig. If you use a bucket policy with an s3:PutObject permission that only allows objects with server-side encryption, set the condition key of s3:x-amz-server-side-encryption to \"aws:kms\". For more information, see KMS-Managed Encryption Keys in the Amazon Simple Storage Service Developer Guide.

The KMS key policy must grant permission to the IAM role that you specify in your CreateLabelingJob request. For more information, see Using Key Policies in AWS KMS in the AWS Key Management Service Developer Guide.

" } }, "documentation":"

Output configuration information for a labeling job.

" @@ -4588,31 +4695,31 @@ "members":{ "CreationTimeAfter":{ "shape":"CreationTime", - "documentation":"

A filter that returns only git repositories that were created after the specified time.

" + "documentation":"

A filter that returns only Git repositories that were created after the specified time.

" }, "CreationTimeBefore":{ "shape":"CreationTime", - "documentation":"

A filter that returns only git repositories that were created before the specified time.

" + "documentation":"

A filter that returns only Git repositories that were created before the specified time.

" }, "LastModifiedTimeAfter":{ "shape":"Timestamp", - "documentation":"

A filter that returns only git repositories that were last modified after the specified time.

" + "documentation":"

A filter that returns only Git repositories that were last modified after the specified time.

" }, "LastModifiedTimeBefore":{ "shape":"Timestamp", - "documentation":"

A filter that returns only git repositories that were last modified before the specified time.

" + "documentation":"

A filter that returns only Git repositories that were last modified before the specified time.

" }, "MaxResults":{ "shape":"MaxResults", - "documentation":"

The maximum number of git repositories to return in the response.

" + "documentation":"

The maximum number of Git repositories to return in the response.

" }, "NameContains":{ "shape":"CodeRepositoryNameContains", - "documentation":"

A string in the git repositories name. This filter returns only repositories whose name contains the specified string.

" + "documentation":"

A string in the Git repositories name. This filter returns only repositories whose name contains the specified string.

" }, "NextToken":{ "shape":"NextToken", - "documentation":"

If the result of a ListCodeRepositoriesOutput request was truncated, the response includes a NextToken. To get the next set of git repositories, use the token in the next request.

" + "documentation":"

If the result of a ListCodeRepositoriesOutput request was truncated, the response includes a NextToken. To get the next set of Git repositories, use the token in the next request.

" }, "SortBy":{ "shape":"CodeRepositorySortBy", @@ -4630,11 +4737,11 @@ "members":{ "CodeRepositorySummaryList":{ "shape":"CodeRepositorySummaryList", - "documentation":"

Gets a list of summaries of the git repositories. Each summary specifies the following values for the repository:

  • Name

  • Amazon Resource Name (ARN)

  • Creation time

  • Last modified time

  • Configuration information, including the URL location of the repository and the ARN of the AWS Secrets Manager secret that contains the credentials used to access the repository.

" + "documentation":"

Gets a list of summaries of the Git repositories. Each summary specifies the following values for the repository:

  • Name

  • Amazon Resource Name (ARN)

  • Creation time

  • Last modified time

  • Configuration information, including the URL location of the repository and the ARN of the AWS Secrets Manager secret that contains the credentials used to access the repository.

" }, "NextToken":{ "shape":"NextToken", - "documentation":"

If the result of a ListCodeRepositoriesOutput request was truncated, the response includes a NextToken. To get the next set of git repositories, use the token in the next request.

" + "documentation":"

If the result of a ListCodeRepositoriesOutput request was truncated, the response includes a NextToken. To get the next set of Git repositories, use the token in the next request.

" } } }, @@ -4673,6 +4780,14 @@ "StatusEquals":{ "shape":"CompilationJobStatus", "documentation":"

A filter that retrieves model compilation jobs with a specific DescribeCompilationJobResponse$CompilationJobStatus status.

" + }, + "SortBy":{ + "shape":"ListCompilationJobsSortBy", + "documentation":"

The field by which to sort results. The default is CreationTime.

" + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

The sort order for results. The default is Ascending.

" } } }, @@ -4690,6 +4805,14 @@ } } }, + "ListCompilationJobsSortBy":{ + "type":"string", + "enum":[ + "Name", + "CreationTime", + "Status" + ] + }, "ListEndpointConfigsInput":{ "type":"structure", "members":{ @@ -4699,7 +4822,7 @@ }, "SortOrder":{ "shape":"OrderKey", - "documentation":"

The sort order for results. The default is Ascending.

" + "documentation":"

The sort order for results. The default is Descending.

" }, "NextToken":{ "shape":"PaginationToken", @@ -4719,7 +4842,7 @@ }, "CreationTimeAfter":{ "shape":"Timestamp", - "documentation":"

A filter that returns only endpoint configurations created after the specified time (timestamp).

" + "documentation":"

A filter that returns only endpoint configurations with a creation time greater than or equal to the specified time (timestamp).

" } } }, @@ -4746,7 +4869,7 @@ }, "SortOrder":{ "shape":"OrderKey", - "documentation":"

The sort order for results. The default is Ascending.

" + "documentation":"

The sort order for results. The default is Descending.

" }, "NextToken":{ "shape":"PaginationToken", @@ -4766,7 +4889,7 @@ }, "CreationTimeAfter":{ "shape":"Timestamp", - "documentation":"

A filter that returns only endpoints that were created after the specified time (timestamp).

" + "documentation":"

A filter that returns only endpoints with a creation time greater than or equal to the specified time (timestamp).

" }, "LastModifiedTimeBefore":{ "shape":"Timestamp", @@ -5026,7 +5149,7 @@ }, "SortOrder":{ "shape":"OrderKey", - "documentation":"

The sort order for results. The default is Ascending.

" + "documentation":"

The sort order for results. The default is Descending.

" }, "NextToken":{ "shape":"PaginationToken", @@ -5046,7 +5169,7 @@ }, "CreationTimeAfter":{ "shape":"Timestamp", - "documentation":"

A filter that returns only models created after the specified time (timestamp).

" + "documentation":"

A filter that returns only models with a creation time greater than or equal to the specified time (timestamp).

" } } }, @@ -5123,7 +5246,7 @@ "members":{ "NextToken":{ "shape":"NextToken", - "documentation":"

If the previous call to the ListNotebookInstances is truncated, the response includes a NextToken. You can use this token in your subsequent ListNotebookInstances request to fetch the next set of notebook instances.

You might specify a filter or a sort order in your request. When response is truncated, you must use the same values for the filer and sort order in the next request.

" + "documentation":"

If the previous call to the ListNotebookInstances is truncated, the response includes a NextToken. You can use this token in your subsequent ListNotebookInstances request to fetch the next set of notebook instances.

You might specify a filter or a sort order in your request. When response is truncated, you must use the same values for the filer and sort order in the next request.

" }, "MaxResults":{ "shape":"MaxResults", @@ -5167,11 +5290,11 @@ }, "DefaultCodeRepositoryContains":{ "shape":"CodeRepositoryContains", - "documentation":"

A string in the name or URL of a git repository associated with this notebook instance. This filter returns only notebook instances associated with a git repository with a name that contains the specified string.

" + "documentation":"

A string in the name or URL of a Git repository associated with this notebook instance. This filter returns only notebook instances associated with a git repository with a name that contains the specified string.

" }, "AdditionalCodeRepositoryEquals":{ "shape":"CodeRepositoryNameOrUrl", - "documentation":"

A filter that returns only notebook instances with associated with the specified git respository.

" + "documentation":"

A filter that returns only notebook instances with associated with the specified git repository.

" } } }, @@ -5552,7 +5675,7 @@ }, "Regex":{ "shape":"MetricRegex", - "documentation":"

A regular expression that searches the output of a training job and gets the value of the metric. For more information about using regular expressions to define metrics, see Defining Objective Metrics.

" + "documentation":"

A regular expression that searches the output of a training job and gets the value of the metric. For more information about using regular expressions to define metrics, see Defining Objective Metrics.

" } }, "documentation":"

Specifies a metric that the training algorithm writes to stderr or stdout. Amazon SageMakerhyperparameter tuning captures all defined metrics. You specify one metric that a hyperparameter tuning job uses as its objective metric to choose the best training job.

" @@ -5566,18 +5689,21 @@ "MetricName":{ "type":"string", "max":255, - "min":1 + "min":1, + "pattern":".+" }, "MetricRegex":{ "type":"string", "max":500, - "min":1 + "min":1, + "pattern":".+" }, "MetricValue":{"type":"float"}, "ModelArn":{ "type":"string", "max":2048, - "min":20 + "min":20, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:model/.*" }, "ModelArtifacts":{ "type":"structure", @@ -5616,7 +5742,7 @@ }, "Image":{ "shape":"Image", - "documentation":"

The Amazon EC2 Container Registry path where inference code is stored.

If you are using your own custom algorithm instead of an algorithm provided by Amazon SageMaker, the inference code must meet Amazon SageMaker requirements. Amazon SageMaker supports both registry/repository[:tag] and registry/repository[@digest] image path formats. For more information, see Using Your Own Algorithms with Amazon SageMaker.

" + "documentation":"

The Amazon EC2 Container Registry (Amazon ECR) path where inference code is stored.

If you are using your own custom algorithm instead of an algorithm provided by Amazon SageMaker, the inference code must meet Amazon SageMaker requirements. Amazon SageMaker supports both registry/repository[:tag] and registry/repository[@digest] image path formats. For more information, see Using Your Own Algorithms with Amazon SageMaker.

" }, "ImageDigest":{ "shape":"ImageDigest", @@ -5628,7 +5754,7 @@ }, "ProductId":{ "shape":"ProductId", - "documentation":"

The ID of the model package.

" + "documentation":"

The AWS Marketplace product ID of the model package.

" } }, "documentation":"

Describes the Docker container for the model package.

" @@ -5662,7 +5788,7 @@ "members":{ "ValidationStatuses":{ "shape":"ModelPackageStatusItemList", - "documentation":"

The status of the validation of the model package.

" + "documentation":"

The validation status of the model package.

" }, "ImageScanStatuses":{ "shape":"ModelPackageStatusItemList", @@ -5680,7 +5806,7 @@ "members":{ "Name":{ "shape":"EntityName", - "documentation":"

The name of the model package for which the overall status is being repoorted.

" + "documentation":"

The name of the model package for which the overall status is being reported.

" }, "Status":{ "shape":"DetailedModelPackageStatus", @@ -5688,7 +5814,7 @@ }, "FailureReason":{ "shape":"String", - "documentation":"

The reason for failure, if the overall status is a failed state.

" + "documentation":"

if the overall status is Failed, the reason for the failure.

" } }, "documentation":"

Represents the overall status of a model package.

" @@ -5716,7 +5842,7 @@ }, "ModelPackageDescription":{ "shape":"EntityDescription", - "documentation":"

A brief statement describing the model package.

" + "documentation":"

A brief description of the model package.

" }, "CreationTime":{ "shape":"CreationTime", @@ -5749,7 +5875,7 @@ "documentation":"

The TransformJobDefinition object that describes the transform job used for the validation of the model package.

" } }, - "documentation":"

Contains data such as the inputs and targeted instance types that are used in the process of validating the model package.

The data provided in the validation profile is made available to your buyers on AWS Marketplace.

" + "documentation":"

Contains data, such as the inputs and targeted instance types that are used in the process of validating the model package.

The data provided in the validation profile is made available to your buyers on AWS Marketplace.

" }, "ModelPackageValidationProfiles":{ "type":"list", @@ -5766,7 +5892,7 @@ "members":{ "ValidationRole":{ "shape":"RoleArn", - "documentation":"

The IAM roles to be used for the validation of a model package.

" + "documentation":"

The IAM roles to be used for the validation of the model package.

" }, "ValidationProfiles":{ "shape":"ModelPackageValidationProfiles", @@ -5823,14 +5949,14 @@ "members":{ "NestedPropertyName":{ "shape":"ResourcePropertyName", - "documentation":"

.The name of the property used in the nested filters.

" + "documentation":"

The name of the property to use in the nested filters. The value must match a listed property name, such as InputDataConfig.

" }, "Filters":{ "shape":"FilterList", - "documentation":"

A list of filters. Each filter acts on a property. For example, a NestedFilters call might include a filter on the PropertyName parameter fof the InputDataConfig property: InputDataConfig.DataSource.S3DataSource.S3Uri.

" + "documentation":"

A list of filters. Each filter acts on a property. Filters must contain at least one Filters value. For example, a NestedFilters call might include a filter on the PropertyName parameter of the InputDataConfig property: InputDataConfig.DataSource.S3DataSource.S3Uri.

" } }, - "documentation":"

A NestedFilter is defined by using a resource name under NestedPropertyName, which entries in a list that properties must match to be included in the results. To satisfy the conditions specified in the NestedFilters call, each object in the list must satisfy the conditions of all of the filters.

For example, a NestedFilters could be defined using the training job's InputDataConfig property, this would be defined as a list of Channel objects.

A NestedFilters object contains multiple filters. For example, to find all training jobs that have train in their name, and have cat/data in their S3Uri (under InputDataConfig), you need to create a NestedFilters object that specfies the InputDataConfig property with the following Filter objects:

  • '{Name:\"InputDataConfig.ChannelName\", \"Operator\":\"EQUALS\", \"Value\":\"train\"}',

  • '{Name:\"InputDataConfig.DataSource.S3DataSource.S3Uri\", \"Operator\":\"CONTAINS\", \"Value\":\"cat/data\"}'

" + "documentation":"

Defines a list of NestedFilters objects. To satisfy the conditions specified in the NestedFilters call, a resource must satisfy the conditions of all of the filters.

For example, you could define a NestedFilters using the training job's InputDataConfig property to filter on Channel objects.

A NestedFilters object contains multiple filters. For example, to find all training jobs whose name contains train and that have cat/data in their S3Uri (specified in InputDataConfig), you need to create a NestedFilters object that specifies the InputDataConfig property with the following Filter objects:

  • '{Name:\"InputDataConfig.ChannelName\", \"Operator\":\"EQUALS\", \"Value\":\"train\"}',

  • '{Name:\"InputDataConfig.DataSource.S3DataSource.S3Uri\", \"Operator\":\"CONTAINS\", \"Value\":\"cat/data\"}'

" }, "NestedFiltersList":{ "type":"list", @@ -5841,7 +5967,8 @@ "NetworkInterfaceId":{"type":"string"}, "NextToken":{ "type":"string", - "max":8192 + "max":8192, + "pattern":".*" }, "NotebookInstanceAcceleratorType":{ "type":"string", @@ -5866,7 +5993,8 @@ "NotebookInstanceLifecycleConfigContent":{ "type":"string", "max":16384, - "min":1 + "min":1, + "pattern":"[\\S\\s]+" }, "NotebookInstanceLifecycleConfigList":{ "type":"list", @@ -5936,7 +6064,7 @@ "documentation":"

A base64-encoded string that contains a shell script for a notebook instance lifecycle configuration.

" } }, - "documentation":"

Contains the notebook instance lifecycle configuration script.

Each lifecycle configuration script has a limit of 16384 characters.

The value of the $PATH environment variable that is available to both scripts is /sbin:bin:/usr/sbin:/usr/bin.

View CloudWatch Logs for notebook instance lifecycle configurations in log group /aws/sagemaker/NotebookInstances in log stream [notebook-instance-name]/[LifecycleConfigHook].

Lifecycle configuration scripts cannot run for longer than 5 minutes. If a script runs for longer than 5 minutes, it fails and the notebook instance is not created or started.

For information about notebook instance lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance.

" + "documentation":"

Contains the notebook instance lifecycle configuration script.

Each lifecycle configuration script has a limit of 16384 characters.

The value of the $PATH environment variable that is available to both scripts is /sbin:bin:/usr/sbin:/usr/bin.

View CloudWatch Logs for notebook instance lifecycle configurations in log group /aws/sagemaker/NotebookInstances in log stream [notebook-instance-name]/[LifecycleConfigHook].

Lifecycle configuration scripts cannot run for longer than 5 minutes. If a script runs for longer than 5 minutes, it fails and the notebook instance is not created or started.

For information about notebook instance lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance.

" }, "NotebookInstanceName":{ "type":"string", @@ -6012,15 +6140,15 @@ }, "NotebookInstanceLifecycleConfigName":{ "shape":"NotebookInstanceLifecycleConfigName", - "documentation":"

The name of a notebook instance lifecycle configuration associated with this notebook instance.

For information about notebook instance lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance.

" + "documentation":"

The name of a notebook instance lifecycle configuration associated with this notebook instance.

For information about notebook instance lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance.

" }, "DefaultCodeRepository":{ "shape":"CodeRepositoryNameOrUrl", - "documentation":"

The git repository associated with the notebook instance as its default code repository. This can be either the name of a git repository stored as a resource in your account, or the URL of a git repository in AWS CodeCommit or in any other git repository. When you open a notebook instance, it opens in the directory that contains this repository. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.

" + "documentation":"

The Git repository associated with the notebook instance as its default code repository. This can be either the name of a Git repository stored as a resource in your account, or the URL of a Git repository in AWS CodeCommit or in any other Git repository. When you open a notebook instance, it opens in the directory that contains this repository. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.

" }, "AdditionalCodeRepositories":{ "shape":"AdditionalCodeRepositoryNamesOrUrls", - "documentation":"

An array of up to 3 git repositories associated with the notebook instance. These can be either the names of git repositories stored as resources in your account, or the URL of git repositories in AWS CodeCommit or in any other git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.

" + "documentation":"

An array of up to three Git repositories associated with the notebook instance. These can be either the names of Git repositories stored as resources in your account, or the URL of Git repositories in AWS CodeCommit or in any other Git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.

" } }, "documentation":"

Provides summary information for an Amazon SageMaker notebook instance.

" @@ -6035,6 +6163,20 @@ "max":16384, "min":5 }, + "NotificationConfiguration":{ + "type":"structure", + "members":{ + "NotificationTopicArn":{ + "shape":"NotificationTopicArn", + "documentation":"

The ARN for the SNS topic to which notifications should be published.

" + } + }, + "documentation":"

Configures SNS notifications of available or expiring work items for work teams.

" + }, + "NotificationTopicArn":{ + "type":"string", + "pattern":"arn:aws[a-z\\-]*:sns:[a-z0-9\\-]*:[0-9]{12}:[a-zA-Z0-9_.-]*" + }, "NumberOfHumanWorkersPerDataObject":{ "type":"integer", "max":9, @@ -6113,7 +6255,7 @@ "members":{ "KmsKeyId":{ "shape":"KmsKeyId", - "documentation":"

The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption. The KmsKeyId can be any of the following formats:

  • // KMS Key ID

    \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • // Amazon Resource Name (ARN) of a KMS Key

    \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

  • // KMS Key Alias

    \"alias/ExampleAlias\"

  • // Amazon Resource Name (ARN) of a KMS Key Alias

    \"arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias\"

If you don't provide the KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account. For more information, see KMS-Managed Encryption Keys in Amazon Simple Storage Service Developer Guide.

The KMS key policy must grant permission to the IAM role that you specify in your CreateTrainingJob request. Using Key Policies in AWS KMS in the AWS Key Management Service Developer Guide.

" + "documentation":"

The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption. The KmsKeyId can be any of the following formats:

  • // KMS Key ID

    \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • // Amazon Resource Name (ARN) of a KMS Key

    \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

  • // KMS Key Alias

    \"alias/ExampleAlias\"

  • // Amazon Resource Name (ARN) of a KMS Key Alias

    \"arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias\"

If you use a KMS key ID or an alias of your master key, the Amazon SageMaker execution role must include permissions to call kms:Encrypt. If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account. Amazon SageMaker uses server-side encryption with KMS-managed keys for OutputDataConfig. If you use a bucket policy with an s3:PutObject permission that only allows objects with server-side encryption, set the condition key of s3:x-amz-server-side-encryption to \"aws:kms\". For more information, see KMS-Managed Encryption Keys in the Amazon Simple Storage Service Developer Guide.

The KMS key policy must grant permission to the IAM role that you specify in your CreateTrainingJob, CreateTransformJob, or CreateHyperParameterTuningJob requests. For more information, see Using Key Policies in AWS KMS in the AWS Key Management Service Developer Guide.

" }, "S3OutputPath":{ "shape":"S3Uri", @@ -6124,15 +6266,18 @@ }, "PaginationToken":{ "type":"string", - "max":8192 + "max":8192, + "pattern":".*" }, "ParameterKey":{ "type":"string", - "max":256 + "max":256, + "pattern":".*" }, "ParameterName":{ "type":"string", - "max":256 + "max":256, + "pattern":"[\\p{L}\\p{M}\\p{Z}\\p{S}\\p{N}\\p{P}]*" }, "ParameterRange":{ "type":"structure", @@ -6150,7 +6295,7 @@ "documentation":"

A CategoricalParameterRangeSpecification object that defines the possible values for a categorical hyperparameter.

" } }, - "documentation":"

Defines the possible values for categorical, continous, and integer hyperparameters to be used by an algorithm.

" + "documentation":"

Defines the possible values for categorical, continuous, and integer hyperparameters to be used by an algorithm.

" }, "ParameterRanges":{ "type":"structure", @@ -6181,7 +6326,8 @@ }, "ParameterValue":{ "type":"string", - "max":256 + "max":256, + "pattern":".*" }, "ParameterValues":{ "type":"list", @@ -6205,7 +6351,11 @@ "max":5, "min":1 }, - "ProductId":{"type":"string"}, + "ProductId":{ + "type":"string", + "max":256, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*$" + }, "ProductListings":{ "type":"list", "member":{"shape":"String"} @@ -6335,7 +6485,8 @@ "PropertyNameHint":{ "type":"string", "max":100, - "min":0 + "min":0, + "pattern":".*" }, "PropertyNameQuery":{ "type":"structure", @@ -6343,17 +6494,17 @@ "members":{ "PropertyNameHint":{ "shape":"PropertyNameHint", - "documentation":"

The hyperparameter, metric, and tag key property names that begin with the specified hint.

" + "documentation":"

Text that is part of a property's name. The property names of hyperparameter, metric, and tag key names that begin with the specified text in the PropertyNameHint.

" } }, - "documentation":"

A suggestion query for retrieving property names.

" + "documentation":"

A type of SuggestionQuery. A suggestion query for retrieving property names that match the specified hint.

" }, "PropertyNameSuggestion":{ "type":"structure", "members":{ "PropertyName":{ "shape":"ResourcePropertyName", - "documentation":"

A suggested property name.

" + "documentation":"

A suggested property name based on what you entered in the search textbox in the Amazon SageMaker console.

" } }, "documentation":"

A property name returned from a GetSearchSuggestions call that specifies a value in the PropertyNameQuery field.

" @@ -6370,7 +6521,7 @@ "documentation":"

Defines the amount of money paid to a worker in United States dollars.

" } }, - "documentation":"

Defines the amount of money paid to an Amazon Mechanical Turk worker for each task performed. For more information, see Public Workforce Task Price.

" + "documentation":"

Defines the amount of money paid to an Amazon Mechanical Turk worker for each task performed.

Use one of the following prices for bounding box tasks. Prices are in US dollars.

  • 0.036

  • 0.048

  • 0.060

  • 0.072

  • 0.120

  • 0.240

  • 0.360

  • 0.480

  • 0.600

  • 0.720

  • 0.840

  • 0.960

  • 1.080

  • 1.200

Use one of the following prices for image classification, text classification, and custom tasks. Prices are in US dollars.

  • 0.012

  • 0.024

  • 0.036

  • 0.048

  • 0.060

  • 0.072

  • 0.120

  • 0.240

  • 0.360

  • 0.480

  • 0.600

  • 0.720

  • 0.840

  • 0.960

  • 1.080

  • 1.200

Use one of the following prices for semantic segmentation tasks. Prices are in US dollars.

  • 0.840

  • 0.960

  • 1.080

  • 1.200

" }, "RealtimeInferenceInstanceTypes":{ "type":"list", @@ -6393,7 +6544,7 @@ "members":{ "UiTemplate":{ "shape":"UiTemplate", - "documentation":"

A Tempateobject containing the worker UI template to render.

" + "documentation":"

A Template object containing the worker UI template to render.

" }, "Task":{ "shape":"RenderableTask", @@ -6457,7 +6608,8 @@ }, "ResourceArn":{ "type":"string", - "max":256 + "max":256, + "pattern":"arn:.*" }, "ResourceConfig":{ "type":"structure", @@ -6531,7 +6683,8 @@ "ResourcePropertyName":{ "type":"string", "max":255, - "min":1 + "min":1, + "pattern":".+" }, "ResourceType":{ "type":"string", @@ -6539,7 +6692,8 @@ }, "ResponseMIMEType":{ "type":"string", - "max":1024 + "max":1024, + "pattern":"^[-\\w]+\\/.+$" }, "ResponseMIMETypes":{ "type":"list", @@ -6551,6 +6705,13 @@ "min":20, "pattern":"^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$" }, + "RootAccess":{ + "type":"string", + "enum":[ + "Enabled", + "Disabled" + ] + }, "S3DataDistribution":{ "type":"string", "enum":[ @@ -6571,11 +6732,11 @@ }, "S3Uri":{ "shape":"S3Uri", - "documentation":"

Depending on the value specified for the S3DataType, identifies either a key name prefix or a manifest. For example:

  • A key name prefix might look like this: s3://bucketname/exampleprefix.

  • A manifest might look like this: s3://bucketname/example.manifest

    The manifest is an S3 object which is a JSON file with the following format:

    [

    {\"prefix\": \"s3://customer_bucket/some/prefix/\"},

    \"relative/path/to/custdata-1\",

    \"relative/path/custdata-2\",

    ...

    ]

    The preceding JSON matches the following s3Uris:

    s3://customer_bucket/some/prefix/relative/path/to/custdata-1

    s3://customer_bucket/some/prefix/relative/path/custdata-1

    ...

    The complete set of s3uris in this manifest is the input data for the channel for this datasource. The object that each s3uris points to must be readable by the IAM role that Amazon SageMaker uses to perform tasks on your behalf.

" + "documentation":"

Depending on the value specified for the S3DataType, identifies either a key name prefix or a manifest. For example:

  • A key name prefix might look like this: s3://bucketname/exampleprefix.

  • A manifest might look like this: s3://bucketname/example.manifest

    The manifest is an S3 object which is a JSON file with the following format:

    [

    {\"prefix\": \"s3://customer_bucket/some/prefix/\"},

    \"relative/path/to/custdata-1\",

    \"relative/path/custdata-2\",

    ...

    ]

    The preceding JSON matches the following s3Uris:

    s3://customer_bucket/some/prefix/relative/path/to/custdata-1

    s3://customer_bucket/some/prefix/relative/path/custdata-2

    ...

    The complete set of s3uris in this manifest is the input data for the channel for this datasource. The object that each s3uris points to must be readable by the IAM role that Amazon SageMaker uses to perform tasks on your behalf.

" }, "S3DataDistributionType":{ "shape":"S3DataDistribution", - "documentation":"

If you want Amazon SageMaker to replicate the entire dataset on each ML compute instance that is launched for model training, specify FullyReplicated.

If you want Amazon SageMaker to replicate a subset of data on each ML compute instance that is launched for model training, specify ShardedByS3Key. If there are n ML compute instances launched for a training job, each instance gets approximately 1/n of the number of S3 objects. In this case, model training on each machine uses only the subset of training data.

Don't choose more ML compute instances for training than available S3 objects. If you do, some nodes won't get any data and you will pay for nodes that aren't getting any training data. This applies in both File and Pipemodes. Keep this in mind when developing algorithms.

In distributed training, where you use multiple ML compute EC2 instances, you might choose ShardedByS3Key. If the algorithm requires copying training data to the ML storage volume (when TrainingInputMode is set to File), this copies 1/n of the number of objects.

" + "documentation":"

If you want Amazon SageMaker to replicate the entire dataset on each ML compute instance that is launched for model training, specify FullyReplicated.

If you want Amazon SageMaker to replicate a subset of data on each ML compute instance that is launched for model training, specify ShardedByS3Key. If there are n ML compute instances launched for a training job, each instance gets approximately 1/n of the number of S3 objects. In this case, model training on each machine uses only the subset of training data.

Don't choose more ML compute instances for training than available S3 objects. If you do, some nodes won't get any data and you will pay for nodes that aren't getting any training data. This applies in both File and Pipe modes. Keep this in mind when developing algorithms.

In distributed training, where you use multiple ML compute EC2 instances, you might choose ShardedByS3Key. If the algorithm requires copying training data to the ML storage volume (when TrainingInputMode is set to File), this copies 1/n of the number of objects.

" }, "AttributeNames":{ "shape":"AttributeNames", @@ -6614,10 +6775,10 @@ }, "Operator":{ "shape":"BooleanOperator", - "documentation":"

A Boolean operator used to evaluate the search expression. If you want every conditional statement in all lists to be satisfied for the entire search expression to be true, specify And. If only a single conditional statement needs to be true for the entire search expression to be true, specify Or.

" + "documentation":"

A Boolean operator used to evaluate the search expression. If you want every conditional statement in all lists to be satisfied for the entire search expression to be true, specify And. If only a single conditional statement needs to be true for the entire search expression to be true, specify Or. The default value is And.

" } }, - "documentation":"

A multi-expression that searches for the specified resource or resources. All resource objects that satisfy the expression's condition are included in the search results.

A SearchExpression contains the following components:

  • A list of Filter objects. Each filter defines a simple Boolean expression comprised of a resource property name, Boolean operator, and value.

  • A list of NestedFilter objects. Each nested filter defines a list of Boolean expressions using a list of resource properties. A nested filter is satisfied if a single object in the list satisfies all Boolean expressions.

  • A list of SearchExpression objects.

  • A Boolean operator: And or Or.

" + "documentation":"

A multi-expression that searches for the specified resource or resources in a search. All resource objects that satisfy the expression's condition are included in the search results. You must specify at least one subexpression, filter, or nested filter. A SearchExpression can contain up to twenty elements.

A SearchExpression contains the following components:

  • A list of Filter objects. Each filter defines a simple Boolean expression comprised of a resource property name, Boolean operator, and value.

  • A list of NestedFilter objects. Each nested filter defines a list of Boolean expressions using a list of resource properties. A nested filter is satisfied if a single object in the list satisfies all Boolean expressions.

  • A list of SearchExpression objects. A search expression object can be nested in a list of search expression objects.

  • A Boolean operator: And or Or.

" }, "SearchExpressionList":{ "type":"list", @@ -6645,15 +6806,15 @@ }, "SearchExpression":{ "shape":"SearchExpression", - "documentation":"

A Boolean conditional statement. Resource objects must satisfy this condition to be included in search results.

" + "documentation":"

A Boolean conditional statement. Resource objects must satisfy this condition to be included in search results. You must provide at least one subexpression, filter, or nested filter. The maximum number of recursive SubExpressions, NestedFilters, and Filters that can be included in a SearchExpression object is 50.

" }, "SortBy":{ "shape":"ResourcePropertyName", - "documentation":"

The name of the resource property used to sort the SearchResults.

" + "documentation":"

The name of the resource property used to sort the SearchResults. The default is LastModifiedTime.

" }, "SortOrder":{ "shape":"SearchSortOrder", - "documentation":"

How SearchResults are ordered. Valid values are Ascending or Descending.

" + "documentation":"

How SearchResults are ordered. Valid values are Ascending or Descending. The default is Descending.

" }, "NextToken":{ "shape":"NextToken", @@ -6728,7 +6889,7 @@ }, "StatusMessage":{ "shape":"StatusMessage", - "documentation":"

A detailed description of the progress within a secondary status.

Amazon SageMaker provides secondary statuses and status messages that apply to each of them:

Starting
  • Starting the training job.

  • Launching requested ML instances.

  • Insufficient capacity error from EC2 while launching instances, retrying!

  • Launched instance was unhealthy, replacing it!

  • Preparing the instances for training.

Training
  • Downloading the training image.

  • Training image download completed. Training in progress.

Status messages are subject to change. Therefore, we recommend not including them in code that programmatically initiates actions. For examples, don't use status messages in if statements.

To have an overview of your training job's progress, view TrainingJobStatus and SecondaryStatus in DescribeTrainingJobResponse, and StatusMessage together. For example, at the start of a training job, you might see the following:

  • TrainingJobStatus - InProgress

  • SecondaryStatus - Training

  • StatusMessage - Downloading the training image

" + "documentation":"

A detailed description of the progress within a secondary status.

Amazon SageMaker provides secondary statuses and status messages that apply to each of them:

Starting
  • Starting the training job.

  • Launching requested ML instances.

  • Insufficient capacity error from EC2 while launching instances, retrying!

  • Launched instance was unhealthy, replacing it!

  • Preparing the instances for training.

Training
  • Downloading the training image.

  • Training image download completed. Training in progress.

Status messages are subject to change. Therefore, we recommend not including them in code that programmatically initiates actions. For examples, don't use status messages in if statements.

To have an overview of your training job's progress, view TrainingJobStatus and SecondaryStatus in DescribeTrainingJob, and StatusMessage together. For example, at the start of a training job, you might see the following:

  • TrainingJobStatus - InProgress

  • SecondaryStatus - Training

  • StatusMessage - Downloading the training image

" } }, "documentation":"

An array element of DescribeTrainingJobResponse$SecondaryStatusTransitions. It provides additional details about a status that the training job has transitioned through. A training job can be in one of several states, for example, starting, downloading, training, or uploading. Within each state, there are a number of intermediate states. For example, within the starting state, Amazon SageMaker could be starting the training job or launching the ML instances. These transitional states are referred to as the job's secondary status.

" @@ -6745,7 +6906,8 @@ }, "SecurityGroupId":{ "type":"string", - "max":32 + "max":32, + "pattern":"[-0-9a-zA-Z]+" }, "SecurityGroupIds":{ "type":"list", @@ -6764,7 +6926,7 @@ "members":{ "Seed":{ "shape":"Seed", - "documentation":"

Determines the shuffling order in ShuffleConfig. value.

" + "documentation":"

Determines the shuffling order in ShuffleConfig value.

" } }, "documentation":"

A configuration for a shuffle option for input data in a channel. If you use S3Prefix for S3DataType, the results of the S3 key prefix matches are shuffled. If you use ManifestFile, the order of the S3 object references in the ManifestFile is shuffled. If you use AugmentedManifestFile, the order of the JSON lines in the AugmentedManifestFile is shuffled. The shuffling order is determined using the Seed value.

For Pipe input mode, shuffling is done at the start of every epoch. With large datasets, this ensures that the order of the training data is different for each epoch, and it helps reduce bias and possible overfitting. In a multi-node training job when ShuffleConfig is combined with S3DataDistributionType of ShardedByS3Key, the data is shuffled across nodes so that the content sent to a particular node on the first epoch might be sent to a different node on the second epoch.

" @@ -6821,7 +6983,8 @@ "enum":[ "None", "Line", - "RecordIO" + "RecordIO", + "TFRecord" ] }, "StartNotebookInstanceInput":{ @@ -6900,20 +7063,22 @@ "members":{ "MaxRuntimeInSeconds":{ "shape":"MaxRuntimeInSeconds", - "documentation":"

The maximum length of time, in seconds, that the training or compilation job can run. If the job does not complete during this time, Amazon SageMaker ends the job. If value is not specified, default value is 1 day. Maximum value is 5 days.

" + "documentation":"

The maximum length of time, in seconds, that the training or compilation job can run. If job does not complete during this time, Amazon SageMaker ends the job. If value is not specified, default value is 1 day. The maximum value is 28 days.

" } }, - "documentation":"

Specifies how long a model training or compilation job can run. When the job reaches the limit, Amazon SageMaker ends the training job. Use this API to cap model processing cost.

To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job termination for 120 seconds. Algorithms might use this 120-second window to save the model artifacts, so the results of training is not lost.

Training algorithms provided by Amazon SageMaker automatically saves the intermediate results of a model training job (it is best effort case, as model might not be ready to save as some stages, for example training just started). This intermediate data is a valid model artifact. You can use it to create a model (CreateModel).

" + "documentation":"

Specifies a limit to how long a model training or compilation job can run. When the job reaches the time limit, Amazon SageMaker ends the training or compilation job. Use this API to cap model training costs.

To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the results of training are not lost.

The training algorithms provided by Amazon SageMaker automatically save the intermediate results of a model training job when possible. This attempt to save artifacts is only a best effort case as model might not be in a state from which it can be saved. For example, if training has just started, the model might not be ready to save. When saved, this intermediate data is a valid model artifact. You can use it to create a model with CreateModel.

The Neural Topic Model (NTM) currently does not support saving intermediate model artifacts. When training NTMs, make sure that the maximum runtime is sufficient for the training job to complete.

" }, "String":{"type":"string"}, "String200":{ "type":"string", "max":200, - "min":1 + "min":1, + "pattern":".+" }, "SubnetId":{ "type":"string", - "max":32 + "max":32, + "pattern":"[-0-9a-zA-Z]+" }, "Subnets":{ "type":"list", @@ -6958,7 +7123,7 @@ "members":{ "PropertyNameQuery":{ "shape":"PropertyNameQuery", - "documentation":"

Defines a property name hint. Only property names that match the specified hint are included in the response.

" + "documentation":"

A type of SuggestionQuery. Defines a property name hint. Only property names that match the specified hint are included in the response.

" } }, "documentation":"

Limits the property names that are included in the response.

" @@ -6985,7 +7150,7 @@ "type":"string", "max":128, "min":1, - "pattern":"^((?!aws:)[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" }, "TagKeyList":{ "type":"list", @@ -7008,6 +7173,7 @@ "TargetDevice":{ "type":"string", "enum":[ + "lambda", "ml_m4", "ml_m5", "ml_c4", @@ -7016,13 +7182,17 @@ "ml_p3", "jetson_tx1", "jetson_tx2", + "jetson_nano", "rasp3b", - "deeplens" + "deeplens", + "rk3399", + "rk3288", + "sbe_c" ] }, "TaskAvailabilityLifetimeInSeconds":{ "type":"integer", - "max":345600, + "max":864000, "min":1 }, "TaskCount":{ @@ -7032,12 +7202,14 @@ "TaskDescription":{ "type":"string", "max":255, - "min":1 + "min":1, + "pattern":".+" }, "TaskInput":{ "type":"string", "max":128000, - "min":2 + "min":2, + "pattern":"[\\S\\s]+" }, "TaskKeyword":{ "type":"string", @@ -7053,7 +7225,7 @@ }, "TaskTimeLimitInSeconds":{ "type":"integer", - "max":3600, + "max":28800, "min":1 }, "TaskTitle":{ @@ -7065,7 +7237,8 @@ "TemplateContent":{ "type":"string", "max":128000, - "min":1 + "min":1, + "pattern":"[\\S\\s]+" }, "TenthFractionsOfACent":{ "type":"integer", @@ -7180,11 +7353,11 @@ }, "VpcConfig":{ "shape":"VpcConfig", - "documentation":"

A VpcConfig object that specifies the VPC that this training job has access to. For more information, see Protect Training Jobs by Using an Amazon Virtual Private Cloud.

" + "documentation":"

A VpcConfig object that specifies the VPC that this training job has access to. For more information, see Protect Training Jobs by Using an Amazon Virtual Private Cloud.

" }, "StoppingCondition":{ "shape":"StoppingCondition", - "documentation":"

The condition under which to stop the training job.

" + "documentation":"

Specifies a limit to how long a model training job can run. When the job reaches the time limit, Amazon SageMaker ends the training job. Use this API to cap model training costs.

To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the results of training are not lost.

" }, "CreationTime":{ "shape":"Timestamp", @@ -7208,15 +7381,19 @@ }, "FinalMetricDataList":{ "shape":"FinalMetricDataList", - "documentation":"

A list of final metric values that are set when the Training Job completes. Used only if the training job was configured to use metrics.

" + "documentation":"

A list of final metric values that are set when the training job completes. Used only if the training job was configured to use metrics.

" }, "EnableNetworkIsolation":{ "shape":"Boolean", "documentation":"

If the TrainingJob was created with network isolation, the value is set to true. If network isolation is enabled, nodes can't communicate beyond the VPC they run in.

" }, + "EnableInterContainerTrafficEncryption":{ + "shape":"Boolean", + "documentation":"

To encrypt all communications between ML compute instances in distributed training, choose True. Encryption provides greater security for distributed training, but training might take longer. How long it takes depends on the amount of communication between compute instances, especially if you use a deep learning algorithm in distributed training.

" + }, "Tags":{ "shape":"TagList", - "documentation":"

An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" + "documentation":"

An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" } }, "documentation":"

Contains information about a training job.

" @@ -7238,7 +7415,7 @@ "members":{ "TrainingInputMode":{ "shape":"TrainingInputMode", - "documentation":"

The input mode used by the algorithm for the training job. For the input modes that Amazon SageMaker algorithms support, see Algorithms.

If an algorithm supports the File input mode, Amazon SageMaker downloads the training data from S3 to the provisioned ML storage Volume, and mounts the directory to docker volume for training container. If an algorithm supports the Pipe input mode, Amazon SageMaker streams data directly from S3 to the container.

" + "documentation":"

The input mode used by the algorithm for the training job. For the input modes that Amazon SageMaker algorithms support, see Algorithms.

If an algorithm supports the File input mode, Amazon SageMaker downloads the training data from S3 to the provisioned ML storage Volume, and mounts the directory to docker volume for training container. If an algorithm supports the Pipe input mode, Amazon SageMaker streams data directly from S3 to the container.

" }, "HyperParameters":{ "shape":"HyperParameters", @@ -7258,11 +7435,18 @@ }, "StoppingCondition":{ "shape":"StoppingCondition", - "documentation":"

Sets a duration for training. Use this parameter to cap model training costs.

To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job termination for 120 seconds. Algorithms might use this 120-second window to save the model artifacts.

" + "documentation":"

Specifies a limit to how long a model training job can run. When the job reaches the time limit, Amazon SageMaker ends the training job. Use this API to cap model training costs.

To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts.

" } }, "documentation":"

Defines the input needed to run a training job using the algorithm.

" }, + "TrainingJobEarlyStoppingType":{ + "type":"string", + "enum":[ + "Off", + "Auto" + ] + }, "TrainingJobName":{ "type":"string", "max":63, @@ -7368,7 +7552,7 @@ "members":{ "TrainingImage":{ "shape":"Image", - "documentation":"

The Amazon Amazon ECR registry path of the Docker image that contains the training algorithm.

" + "documentation":"

The Amazon ECR registry path of the Docker image that contains the training algorithm.

" }, "TrainingImageDigest":{ "shape":"ImageDigest", @@ -7396,7 +7580,7 @@ }, "SupportedTuningJobObjectiveMetrics":{ "shape":"HyperParameterTuningJobObjectives", - "documentation":"

A list of the metrics that the alogorithm emits that can be used as the objective metric in a hyperparameter tuning job.

" + "documentation":"

A list of the metrics that the algorithm emits that can be used as the objective metric in a hyperparameter tuning job.

" } }, "documentation":"

Defines how the algorithm is used for a training job.

" @@ -7425,7 +7609,8 @@ }, "TransformEnvironmentValue":{ "type":"string", - "max":10240 + "max":10240, + "pattern":"[\\S\\s]*" }, "TransformInput":{ "type":"structure", @@ -7433,7 +7618,7 @@ "members":{ "DataSource":{ "shape":"TransformDataSource", - "documentation":"

Describes the location of the channel data, meaning the S3 location of the input data that the model can consume.

" + "documentation":"

Describes the location of the channel data, which is, the S3 location of the input data that the model can consume.

" }, "ContentType":{ "shape":"ContentType", @@ -7441,11 +7626,11 @@ }, "CompressionType":{ "shape":"CompressionType", - "documentation":"

Compressing data helps save on storage space. If your transform data is compressed, specify the compression type. Amazon SageMaker automatically decompresses the data for the transform job accordingly. The default value is None.

" + "documentation":"

If your transform data is compressed, specify the compression type. Amazon SageMaker automatically decompresses the data for the transform job accordingly. The default value is None.

" }, "SplitType":{ "shape":"SplitType", - "documentation":"

The method to use to split the transform job's data into smaller batches. The default value is None. If you don't want to split the data, specify None. If you want to split records on a newline character boundary, specify Line. To split records according to the RecordIO format, specify RecordIO.

Amazon SageMaker will send maximum number of records per batch in each request up to the MaxPayloadInMB limit. For more information, see RecordIO data format.

For information about the RecordIO format, see Data Format.

" + "documentation":"

The method to use to split the transform job's data files into smaller batches. Splitting is necessary when the total size of each object is too large to fit in a single request. You can also use data splitting to improve performance by processing multiple concurrent mini-batches. The default value for SplitType is None, which indicates that input data files are not split, and request payloads contain the entire contents of an input object. Set the value of this parameter to Line to split records on a newline character boundary. SplitType also supports a number of record-oriented binary data formats.

When splitting is enabled, the size of a mini-batch depends on the values of the BatchStrategy and MaxPayloadInMB parameters. When the value of BatchStrategy is MultiRecord, Amazon SageMaker sends the maximum number of records in each request, up to the MaxPayloadInMB limit. If the value of BatchStrategy is SingleRecord, Amazon SageMaker sends individual records in each request.

Some data formats represent a record as a binary payload wrapped with extra padding bytes. When splitting is applied to a binary data format, padding is removed if the value of BatchStrategy is set to SingleRecord. Padding is not removed if the value of BatchStrategy is set to MultiRecord.

For more information about the RecordIO, see Data Format in the MXNet documentation. For more information about the TFRecord, see Consuming TFRecord data in the TensorFlow documentation.

" } }, "documentation":"

Describes the input source of a transform job and the way the transform job consumes it.

" @@ -7592,7 +7777,7 @@ "documentation":"

If the transform job failed, the reason it failed.

" } }, - "documentation":"

Provides a summary of a transform job. Multiple TransformJobSummary objects are returned as a list after calling ListTransformJobs.

" + "documentation":"

Provides a summary of a transform job. Multiple TransformJobSummary objects are returned as a list after in response to a ListTransformJobs call.

" }, "TransformOutput":{ "type":"structure", @@ -7600,7 +7785,7 @@ "members":{ "S3OutputPath":{ "shape":"S3Uri", - "documentation":"

The Amazon S3 path where you want Amazon SageMaker to store the results of the transform job. For example, s3://bucket-name/key-name-prefix.

For every S3 object used as input for the transform job, the transformed data is stored in a corresponding subfolder in the location under the output prefix. For example, the input data s3://bucket-name/input-name-prefix/dataset01/data.csv will have the transformed data stored at s3://bucket-name/key-name-prefix/dataset01/, based on the original name, as a series of .part files (.part0001, part0002, etc).

" + "documentation":"

The Amazon S3 path where you want Amazon SageMaker to store the results of the transform job. For example, s3://bucket-name/key-name-prefix.

For every S3 object used as input for the transform job, batch transform stores the transformed data with an .out suffix in a corresponding subfolder in the location in the output prefix. For example, for the input data stored at s3://bucket-name/input-name-prefix/dataset01/data.csv, batch transform stores the transformed data at s3://bucket-name/output-name-prefix/input-name-prefix/data.csv.out. Batch transform doesn't upload partially processed objects. For an input S3 object that contains multiple records, it creates an .out file only if the transform job succeeds on the entire file. When the input contains multiple S3 objects, the batch transform job processes the listed S3 objects and uploads only the output for successfully processed objects. If any object fails in the transform job batch transform marks the job as failed to prompt investigation.

" }, "Accept":{ "shape":"Accept", @@ -7608,14 +7793,14 @@ }, "AssembleWith":{ "shape":"AssemblyType", - "documentation":"

Defines how to assemble the results of the transform job as a single S3 object. You should select a format that is most convenient to you. To concatenate the results in binary format, specify None. To add a newline character at the end of every transformed record, specify Line.

" + "documentation":"

Defines how to assemble the results of the transform job as a single S3 object. Choose a format that is most convenient to you. To concatenate the results in binary format, specify None. To add a newline character at the end of every transformed record, specify Line.

" }, "KmsKeyId":{ "shape":"KmsKeyId", "documentation":"

The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption. The KmsKeyId can be any of the following formats:

  • // KMS Key ID

    \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • // Amazon Resource Name (ARN) of a KMS Key

    \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

  • // KMS Key Alias

    \"alias/ExampleAlias\"

  • // Amazon Resource Name (ARN) of a KMS Key Alias

    \"arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias\"

If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account. For more information, see KMS-Managed Encryption Keys in the Amazon Simple Storage Service Developer Guide.

The KMS key policy must grant permission to the IAM role that you specify in your CreateTramsformJob request. For more information, see Using Key Policies in AWS KMS in the AWS Key Management Service Developer Guide.

" } }, - "documentation":"

Describes the results of a transform job output.

" + "documentation":"

Describes the results of a transform job.

" }, "TransformResources":{ "type":"structure", @@ -7626,11 +7811,11 @@ "members":{ "InstanceType":{ "shape":"TransformInstanceType", - "documentation":"

The ML compute instance type for the transform job. For using built-in algorithms to transform moderately sized datasets, ml.m4.xlarge or ml.m5.large should suffice. There is no default value for InstanceType.

" + "documentation":"

The ML compute instance type for the transform job. If you are using built-in algorithms to transform moderately sized datasets, we recommend using ml.m4.xlarge or ml.m5.largeinstance types.

" }, "InstanceCount":{ "shape":"TransformInstanceCount", - "documentation":"

The number of ML compute instances to use in the transform job. For distributed transform, provide a value greater than 1. The default value is 1.

" + "documentation":"

The number of ML compute instances to use in the transform job. For distributed transform jobs, specify a value greater than 1. The default value is 1.

" }, "VolumeKmsKeyId":{ "shape":"KmsKeyId", @@ -7648,7 +7833,7 @@ "members":{ "S3DataType":{ "shape":"S3DataType", - "documentation":"

If you choose S3Prefix, S3Uri identifies a key name prefix. Amazon SageMaker uses all objects with the specified key name prefix for batch transform.

If you choose ManifestFile, S3Uri identifies an object that is a manifest file containing a list of object keys that you want Amazon SageMaker to use for batch transform.

" + "documentation":"

If you choose S3Prefix, S3Uri identifies a key name prefix. Amazon SageMaker uses all objects with the specified key name prefix for batch transform.

If you choose ManifestFile, S3Uri identifies an object that is a manifest file containing a list of object keys that you want Amazon SageMaker to use for batch transform.

The following values are compatible: ManifestFile, S3Prefix

The following value is not compatible: AugmentedManifestFile

" }, "S3Uri":{ "shape":"S3Uri", @@ -7681,7 +7866,7 @@ "members":{ "UiTemplateS3Uri":{ "shape":"S3Uri", - "documentation":"

The Amazon S3 bucket location of the UI template.

" + "documentation":"

The Amazon S3 bucket location of the UI template. For more information about the contents of a UI template, see Creating Your Custom Labeling Task Template.

" } }, "documentation":"

Provided configuration information for the worker UI for a labeling job.

" @@ -7703,7 +7888,7 @@ "members":{ "CodeRepositoryName":{ "shape":"EntityName", - "documentation":"

The name of the git repository to update.

" + "documentation":"

The name of the Git repository to update.

" }, "GitConfig":{ "shape":"GitConfigForUpdate", @@ -7717,7 +7902,7 @@ "members":{ "CodeRepositoryArn":{ "shape":"CodeRepositoryArn", - "documentation":"

The ARN of the git repository.

" + "documentation":"

The ARN of the Git repository.

" } } }, @@ -7789,27 +7974,27 @@ }, "RoleArn":{ "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role that Amazon SageMaker can assume to access the notebook instance. For more information, see Amazon SageMaker Roles.

To be able to pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole permission.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM role that Amazon SageMaker can assume to access the notebook instance. For more information, see Amazon SageMaker Roles.

To be able to pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole permission.

" }, "LifecycleConfigName":{ "shape":"NotebookInstanceLifecycleConfigName", - "documentation":"

The name of a lifecycle configuration to associate with the notebook instance. For information about lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance.

" + "documentation":"

The name of a lifecycle configuration to associate with the notebook instance. For information about lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance.

" }, "DisassociateLifecycleConfig":{ "shape":"DisassociateNotebookInstanceLifecycleConfig", - "documentation":"

Set to true to remove the notebook instance lifecycle configuration currently associated with the notebook instance.

" + "documentation":"

Set to true to remove the notebook instance lifecycle configuration currently associated with the notebook instance. This operation is idempotent. If you specify a lifecycle configuration that is not associated with the notebook instance when you call this method, it does not throw an error.

" }, "VolumeSizeInGB":{ "shape":"NotebookInstanceVolumeSizeInGB", - "documentation":"

The size, in GB, of the ML storage volume to attach to the notebook instance. The default value is 5 GB.

" + "documentation":"

The size, in GB, of the ML storage volume to attach to the notebook instance. The default value is 5 GB. ML storage volumes are encrypted, so Amazon SageMaker can't determine the amount of available free space on the volume. Because of this, you can increase the volume size when you update a notebook instance, but you can't decrease the volume size. If you want to decrease the size of the ML storage volume in use, create a new notebook instance with the desired size.

" }, "DefaultCodeRepository":{ "shape":"CodeRepositoryNameOrUrl", - "documentation":"

The git repository to associate with the notebook instance as its default code repository. This can be either the name of a git repository stored as a resource in your account, or the URL of a git repository in AWS CodeCommit or in any other git repository. When you open a notebook instance, it opens in the directory that contains this repository. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.

" + "documentation":"

The Git repository to associate with the notebook instance as its default code repository. This can be either the name of a Git repository stored as a resource in your account, or the URL of a Git repository in AWS CodeCommit or in any other Git repository. When you open a notebook instance, it opens in the directory that contains this repository. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.

" }, "AdditionalCodeRepositories":{ "shape":"AdditionalCodeRepositoryNamesOrUrls", - "documentation":"

An array of up to 3 git repositories to associate with the notebook instance. These can be either the names of git repositories stored as resources in your account, or the URL of git repositories in AWS CodeCommit or in any other git repository.. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.

" + "documentation":"

An array of up to three Git repositories to associate with the notebook instance. These can be either the names of Git repositories stored as resources in your account, or the URL of Git repositories in AWS CodeCommit or in any other Git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.

" }, "AcceleratorTypes":{ "shape":"NotebookInstanceAcceleratorTypes", @@ -7817,15 +8002,19 @@ }, "DisassociateAcceleratorTypes":{ "shape":"DisassociateNotebookInstanceAcceleratorTypes", - "documentation":"

A list of the Elastic Inference (EI) instance types to remove from this notebook instance.

" + "documentation":"

A list of the Elastic Inference (EI) instance types to remove from this notebook instance. This operation is idempotent. If you specify an accelerator type that is not associated with the notebook instance when you call this method, it does not throw an error.

" }, "DisassociateDefaultCodeRepository":{ "shape":"DisassociateDefaultCodeRepository", - "documentation":"

The name or URL of the default git repository to remove from this notebook instance.

" + "documentation":"

The name or URL of the default Git repository to remove from this notebook instance. This operation is idempotent. If you specify a Git repository that is not associated with the notebook instance when you call this method, it does not throw an error.

" }, "DisassociateAdditionalCodeRepositories":{ "shape":"DisassociateAdditionalCodeRepositories", - "documentation":"

A list of names or URLs of the default git repositories to remove from this notebook instance.

" + "documentation":"

A list of names or URLs of the default Git repositories to remove from this notebook instance. This operation is idempotent. If you specify a Git repository that is not associated with the notebook instance when you call this method, it does not throw an error.

" + }, + "RootAccess":{ + "shape":"RootAccess", + "documentation":"

Whether root access is enabled or disabled for users of the notebook instance. The default value is Enabled.

If you set this to Disabled, users don't have root access on the notebook instance, but lifecycle configuration scripts still run with root permissions.

" } } }, @@ -7872,6 +8061,10 @@ "Description":{ "shape":"String200", "documentation":"

An updated description for the work team.

" + }, + "NotificationConfiguration":{ + "shape":"NotificationConfiguration", + "documentation":"

Configures SNS topic notifications for available or expiring work items

" } } }, @@ -7916,10 +8109,10 @@ }, "Subnets":{ "shape":"Subnets", - "documentation":"

The ID of the subnets in the VPC to which you want to connect your training job or model.

" + "documentation":"

The ID of the subnets in the VPC to which you want to connect your training job or model.

Amazon EC2 P3 accelerated computing instances are not available in the c/d/e availability zones of region us-east-1. If you want to create endpoints with P3 instances in VPC mode in region us-east-1, create subnets in a/b/f availability zones instead.

" } }, - "documentation":"

Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC. For more information, see Protect Endpoints by Using an Amazon Virtual Private Cloud and Protect Training Jobs by Using an Amazon Virtual Private Cloud.

" + "documentation":"

Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC. For more information, see Protect Endpoints by Using an Amazon Virtual Private Cloud and Protect Training Jobs by Using an Amazon Virtual Private Cloud.

" }, "VpcSecurityGroupIds":{ "type":"list", @@ -7967,7 +8160,8 @@ "LastUpdatedDate":{ "shape":"Timestamp", "documentation":"

The date and time that the work team was last updated (timestamp).

" - } + }, + "NotificationConfiguration":{"shape":"NotificationConfiguration"} }, "documentation":"

Provides details about a labeling work team.

" }, @@ -7987,5 +8181,5 @@ "member":{"shape":"Workteam"} } }, - "documentation":"Definition of the public APIs exposed by SageMaker" + "documentation":"

Provides APIs for creating and managing Amazon SageMaker resources.

" } diff --git a/bin/botocore/data/secretsmanager/2017-10-17/paginators-1.json b/bin/botocore/data/secretsmanager/2017-10-17/paginators-1.json index ea142457..0f62e8e1 100644 --- a/bin/botocore/data/secretsmanager/2017-10-17/paginators-1.json +++ b/bin/botocore/data/secretsmanager/2017-10-17/paginators-1.json @@ -1,3 +1,10 @@ { - "pagination": {} + "pagination": { + "ListSecrets": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "SecretList" + } + } } diff --git a/bin/botocore/data/secretsmanager/2017-10-17/service-2.json b/bin/botocore/data/secretsmanager/2017-10-17/service-2.json index f32f277a..4f6ea420 100644 --- a/bin/botocore/data/secretsmanager/2017-10-17/service-2.json +++ b/bin/botocore/data/secretsmanager/2017-10-17/service-2.json @@ -187,7 +187,7 @@ {"shape":"InternalServiceError"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Attaches the contents of the specified resource-based permission policy to a secret. A resource-based policy is optional. Alternatively, you can use IAM identity-based policies that specify the secret's Amazon Resource Name (ARN) in the policy statement's Resources element. You can also use a combination of both identity-based and resource-based policies. The affected users and roles receive the permissions that are permitted by all of the relevant policies. For more information, see Using Resource-Based Policies for AWS Secrets Manager. For the complete description of the AWS policy syntax and grammar, see IAM JSON Policy Reference in the IAM User Guide.

Minimum permissions

To run this command, you must have the following permissions:

  • secretsmanager:PutResourcePolicy

Related operations

  • To retrieve the resource policy that's attached to a secret, use GetResourcePolicy.

  • To delete the resource-based policy that's attached to a secret, use DeleteResourcePolicy.

  • To list all of the currently available secrets, use ListSecrets.

" + "documentation":"

Attaches the contents of the specified resource-based permission policy to a secret. A resource-based policy is optional. Alternatively, you can use IAM identity-based policies that specify the secret's Amazon Resource Name (ARN) in the policy statement's Resources element. You can also use a combination of both identity-based and resource-based policies. The affected users and roles receive the permissions that are permitted by all of the relevant policies. For more information, see Using Resource-Based Policies for AWS Secrets Manager. For the complete description of the AWS policy syntax and grammar, see IAM JSON Policy Reference in the IAM User Guide.

Minimum permissions

To run this command, you must have the following permissions:

  • secretsmanager:PutResourcePolicy

Related operations

  • To retrieve the resource policy that's attached to a secret, use GetResourcePolicy.

  • To delete the resource-based policy that's attached to a secret, use DeleteResourcePolicy.

  • To list all of the currently available secrets, use ListSecrets.

" }, "PutSecretValue":{ "name":"PutSecretValue", @@ -238,7 +238,7 @@ {"shape":"InternalServiceError"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Configures and starts the asynchronous process of rotating this secret. If you include the configuration parameters, the operation sets those values for the secret and then immediately starts a rotation. If you do not include the configuration parameters, the operation starts a rotation with the values already stored in the secret. After the rotation completes, the protected service and its clients all use the new version of the secret.

This required configuration information includes the ARN of an AWS Lambda function and the time between scheduled rotations. The Lambda rotation function creates a new version of the secret and creates or updates the credentials on the protected service to match. After testing the new credentials, the function marks the new secret with the staging label AWSCURRENT so that your clients all immediately begin to use the new version. For more information about rotating secrets and how to configure a Lambda function to rotate the secrets for your protected service, see Rotating Secrets in AWS Secrets Manager in the AWS Secrets Manager User Guide.

Secrets Manager schedules the next rotation when the previous one is complete. Secrets Manager schedules the date by adding the rotation interval (number of days) to the actual date of the last rotation. The service chooses the hour within that 24-hour date window randomly. The minute is also chosen somewhat randomly, but weighted towards the top of the hour and influenced by a variety of factors that help distribute load.

The rotation function must end with the versions of the secret in one of two states:

  • The AWSPENDING and AWSCURRENT staging labels are attached to the same version of the secret, or

  • The AWSPENDING staging label is not attached to any version of the secret.

If instead the AWSPENDING staging label is present but is not attached to the same version as AWSCURRENT then any later invocation of RotateSecret assumes that a previous rotation request is still in progress and returns an error.

Minimum permissions

To run this command, you must have the following permissions:

  • secretsmanager:RotateSecret

  • lambda:InvokeFunction (on the function specified in the secret's metadata)

Related operations

" + "documentation":"

Configures and starts the asynchronous process of rotating this secret. If you include the configuration parameters, the operation sets those values for the secret and then immediately starts a rotation. If you do not include the configuration parameters, the operation starts a rotation with the values already stored in the secret. After the rotation completes, the protected service and its clients all use the new version of the secret.

This required configuration information includes the ARN of an AWS Lambda function and the time between scheduled rotations. The Lambda rotation function creates a new version of the secret and creates or updates the credentials on the protected service to match. After testing the new credentials, the function marks the new secret with the staging label AWSCURRENT so that your clients all immediately begin to use the new version. For more information about rotating secrets and how to configure a Lambda function to rotate the secrets for your protected service, see Rotating Secrets in AWS Secrets Manager in the AWS Secrets Manager User Guide.

Secrets Manager schedules the next rotation when the previous one is complete. Secrets Manager schedules the date by adding the rotation interval (number of days) to the actual date of the last rotation. The service chooses the hour within that 24-hour date window randomly. The minute is also chosen somewhat randomly, but weighted towards the top of the hour and influenced by a variety of factors that help distribute load.

The rotation function must end with the versions of the secret in one of two states:

  • The AWSPENDING and AWSCURRENT staging labels are attached to the same version of the secret, or

  • The AWSPENDING staging label is not attached to any version of the secret.

If instead the AWSPENDING staging label is present but is not attached to the same version as AWSCURRENT then any later invocation of RotateSecret assumes that a previous rotation request is still in progress and returns an error.

Minimum permissions

To run this command, you must have the following permissions:

  • secretsmanager:RotateSecret

  • lambda:InvokeFunction (on the function specified in the secret's metadata)

Related operations

" }, "TagResource":{ "name":"TagResource", @@ -306,7 +306,7 @@ {"shape":"LimitExceededException"}, {"shape":"InternalServiceError"} ], - "documentation":"

Modifies the staging labels attached to a version of a secret. Staging labels are used to track a version as it progresses through the secret rotation process. You can attach a staging label to only one version of a secret at a time. If a staging label to be added is already attached to another version, then it is moved--removed from the other version first and then attached to this one. For more information about staging labels, see Staging Labels in the AWS Secrets Manager User Guide.

The staging labels that you specify in the VersionStage parameter are added to the existing list of staging labels--they don't replace it.

You can move the AWSCURRENT staging label to this version by including it in this call.

Whenever you move AWSCURRENT, Secrets Manager automatically moves the label AWSPREVIOUS to the version that AWSCURRENT was removed from.

If this action results in the last label being removed from a version, then the version is considered to be 'deprecated' and can be deleted by Secrets Manager.

Minimum permissions

To run this command, you must have the following permissions:

  • secretsmanager:UpdateSecretVersionStage

Related operations

  • To get the list of staging labels that are currently associated with a version of a secret, use DescribeSecret and examine the SecretVersionsToStages response value.

" + "documentation":"

Modifies the staging labels attached to a version of a secret. Staging labels are used to track a version as it progresses through the secret rotation process. You can attach a staging label to only one version of a secret at a time. If a staging label to be added is already attached to another version, then it is moved--removed from the other version first and then attached to this one. For more information about staging labels, see Staging Labels in the AWS Secrets Manager User Guide.

The staging labels that you specify in the VersionStage parameter are added to the existing list of staging labels--they don't replace it.

You can move the AWSCURRENT staging label to this version by including it in this call.

Whenever you move AWSCURRENT, Secrets Manager automatically moves the label AWSPREVIOUS to the version that AWSCURRENT was removed from.

If this action results in the last label being removed from a version, then the version is considered to be 'deprecated' and can be deleted by Secrets Manager.

Minimum permissions

To run this command, you must have the following permissions:

  • secretsmanager:UpdateSecretVersionStage

Related operations

  • To get the list of staging labels that are currently associated with a version of a secret, use DescribeSecret and examine the SecretVersionsToStages response value.

" } }, "shapes":{ @@ -375,11 +375,11 @@ }, "SecretString":{ "shape":"SecretStringType", - "documentation":"

(Optional) Specifies text data that you want to encrypt and store in this new version of the secret.

Either SecretString or SecretBinary must have a value, but not both. They cannot both be empty.

If you create a secret by using the Secrets Manager console then Secrets Manager puts the protected secret text in only the SecretString parameter. The Secrets Manager console stores the information as a JSON structure of key/value pairs that the Lambda rotation function knows how to parse.

For storing multiple values, we recommend that you use a JSON text string argument and specify key/value pairs. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For example:

[{\"username\":\"bob\"},{\"password\":\"abc123xyz456\"}]

If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text.

" + "documentation":"

(Optional) Specifies text data that you want to encrypt and store in this new version of the secret.

Either SecretString or SecretBinary must have a value, but not both. They cannot both be empty.

If you create a secret by using the Secrets Manager console then Secrets Manager puts the protected secret text in only the SecretString parameter. The Secrets Manager console stores the information as a JSON structure of key/value pairs that the Lambda rotation function knows how to parse.

For storing multiple values, we recommend that you use a JSON text string argument and specify key/value pairs. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For example:

[{\"username\":\"bob\"},{\"password\":\"abc123xyz456\"}]

If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text.

" }, "Tags":{ "shape":"TagListType", - "documentation":"

(Optional) Specifies a list of user-defined tags that are attached to the secret. Each tag is a \"Key\" and \"Value\" pair of strings. This operation only appends tags to the existing list of tags. To remove tags, you must use UntagResource.

  • Secrets Manager tag key names are case sensitive. A tag with the key \"ABC\" is a different tag from one with key \"abc\".

  • If you check tags in IAM policy Condition elements as part of your security strategy, then adding or removing a tag can change permissions. If the successful completion of this operation would result in you losing your permissions for this secret, then this operation is blocked and returns an Access Denied error.

This parameter requires a JSON text string argument. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For example:

[{\"Key\":\"CostCenter\",\"Value\":\"12345\"},{\"Key\":\"environment\",\"Value\":\"production\"}]

If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text.

The following basic restrictions apply to tags:

  • Maximum number of tags per secret—50

  • Maximum key length—127 Unicode characters in UTF-8

  • Maximum value length—255 Unicode characters in UTF-8

  • Tag keys and values are case sensitive.

  • Do not use the aws: prefix in your tag names or values because it is reserved for AWS use. You can't edit or delete tag names or values with this prefix. Tags with this prefix do not count against your tags per secret limit.

  • If your tagging schema will be used across multiple services and resources, remember that other services might have restrictions on allowed characters. Generally allowed characters are: letters, spaces, and numbers representable in UTF-8, plus the following special characters: + - = . _ : / @.

" + "documentation":"

(Optional) Specifies a list of user-defined tags that are attached to the secret. Each tag is a \"Key\" and \"Value\" pair of strings. This operation only appends tags to the existing list of tags. To remove tags, you must use UntagResource.

  • Secrets Manager tag key names are case sensitive. A tag with the key \"ABC\" is a different tag from one with key \"abc\".

  • If you check tags in IAM policy Condition elements as part of your security strategy, then adding or removing a tag can change permissions. If the successful completion of this operation would result in you losing your permissions for this secret, then this operation is blocked and returns an Access Denied error.

This parameter requires a JSON text string argument. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For example:

[{\"Key\":\"CostCenter\",\"Value\":\"12345\"},{\"Key\":\"environment\",\"Value\":\"production\"}]

If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text.

The following basic restrictions apply to tags:

  • Maximum number of tags per secret—50

  • Maximum key length—127 Unicode characters in UTF-8

  • Maximum value length—255 Unicode characters in UTF-8

  • Tag keys and values are case sensitive.

  • Do not use the aws: prefix in your tag names or values because it is reserved for AWS use. You can't edit or delete tag names or values with this prefix. Tags with this prefix do not count against your tags per secret limit.

  • If your tagging schema will be used across multiple services and resources, remember that other services might have restrictions on allowed characters. Generally allowed characters are: letters, spaces, and numbers representable in UTF-8, plus the following special characters: + - = . _ : / @.

" } } }, @@ -910,7 +910,7 @@ }, "SecretString":{ "shape":"SecretStringType", - "documentation":"

(Optional) Specifies text data that you want to encrypt and store in this new version of the secret. Either SecretString or SecretBinary must have a value, but not both. They cannot both be empty.

If you create this secret by using the Secrets Manager console then Secrets Manager puts the protected secret text in only the SecretString parameter. The Secrets Manager console stores the information as a JSON structure of key/value pairs that the default Lambda rotation function knows how to parse.

For storing multiple values, we recommend that you use a JSON text string argument and specify key/value pairs. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide.

For example:

[{\"username\":\"bob\"},{\"password\":\"abc123xyz456\"}]

If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text.

" + "documentation":"

(Optional) Specifies text data that you want to encrypt and store in this new version of the secret. Either SecretString or SecretBinary must have a value, but not both. They cannot both be empty.

If you create this secret by using the Secrets Manager console then Secrets Manager puts the protected secret text in only the SecretString parameter. The Secrets Manager console stores the information as a JSON structure of key/value pairs that the default Lambda rotation function knows how to parse.

For storing multiple values, we recommend that you use a JSON text string argument and specify key/value pairs. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide.

For example:

[{\"username\":\"bob\"},{\"password\":\"abc123xyz456\"}]

If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text.

" }, "VersionStages":{ "shape":"SecretVersionStagesType", @@ -1050,7 +1050,7 @@ }, "SecretBinaryType":{ "type":"blob", - "max":4096, + "max":7168, "min":0, "sensitive":true }, @@ -1064,7 +1064,7 @@ "members":{ "ARN":{ "shape":"SecretARNType", - "documentation":"

The Amazon Resource Name (ARN) of the secret.

For more information about ARNs in Secrets Manager, see Policy Resources in the AWS Secrets Manager User Guide.

" + "documentation":"

The Amazon Resource Name (ARN) of the secret.

For more information about ARNs in Secrets Manager, see Policy Resources in the AWS Secrets Manager User Guide.

" }, "Name":{ "shape":"SecretNameType", @@ -1132,7 +1132,7 @@ }, "SecretStringType":{ "type":"string", - "max":4096, + "max":7168, "min":0, "sensitive":true }, @@ -1225,7 +1225,7 @@ }, "Tags":{ "shape":"TagListType", - "documentation":"

The tags to attach to the secret. Each element in the list consists of a Key and a Value.

This parameter to the API requires a JSON text string argument. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For the AWS CLI, you can also use the syntax: --Tags Key=\"Key1\",Value=\"Value1\",Key=\"Key2\",Value=\"Value2\"[,…]

" + "documentation":"

The tags to attach to the secret. Each element in the list consists of a Key and a Value.

This parameter to the API requires a JSON text string argument. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For the AWS CLI, you can also use the syntax: --Tags Key=\"Key1\",Value=\"Value1\",Key=\"Key2\",Value=\"Value2\"[,…]

" } } }, @@ -1247,7 +1247,7 @@ }, "TagKeys":{ "shape":"TagKeyListType", - "documentation":"

A list of tag key names to remove from the secret. You don't specify the value. Both the key and its associated value are removed.

This parameter to the API requires a JSON text string argument. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide.

" + "documentation":"

A list of tag key names to remove from the secret. You don't specify the value. Both the key and its associated value are removed.

This parameter to the API requires a JSON text string argument. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide.

" } } }, @@ -1278,7 +1278,7 @@ }, "SecretString":{ "shape":"SecretStringType", - "documentation":"

(Optional) Specifies updated text data that you want to encrypt and store in this new version of the secret. Either SecretBinary or SecretString must have a value, but not both. They cannot both be empty.

If you create this secret by using the Secrets Manager console then Secrets Manager puts the protected secret text in only the SecretString parameter. The Secrets Manager console stores the information as a JSON structure of key/value pairs that the default Lambda rotation function knows how to parse.

For storing multiple values, we recommend that you use a JSON text string argument and specify key/value pairs. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For example:

[{\"username\":\"bob\"},{\"password\":\"abc123xyz456\"}]

If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text. You can also 'escape' the double quote character in the embedded JSON text by prefacing each with a backslash. For example, the following string is surrounded by double-quotes. All of the embedded double quotes are escaped:

\"[{\\\"username\\\":\\\"bob\\\"},{\\\"password\\\":\\\"abc123xyz456\\\"}]\"

" + "documentation":"

(Optional) Specifies updated text data that you want to encrypt and store in this new version of the secret. Either SecretBinary or SecretString must have a value, but not both. They cannot both be empty.

If you create this secret by using the Secrets Manager console then Secrets Manager puts the protected secret text in only the SecretString parameter. The Secrets Manager console stores the information as a JSON structure of key/value pairs that the default Lambda rotation function knows how to parse.

For storing multiple values, we recommend that you use a JSON text string argument and specify key/value pairs. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For example:

[{\"username\":\"bob\"},{\"password\":\"abc123xyz456\"}]

If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text. You can also 'escape' the double quote character in the embedded JSON text by prefacing each with a backslash. For example, the following string is surrounded by double-quotes. All of the embedded double quotes are escaped:

\"[{\\\"username\\\":\\\"bob\\\"},{\\\"password\\\":\\\"abc123xyz456\\\"}]\"

" } } }, @@ -1340,5 +1340,5 @@ } } }, - "documentation":"AWS Secrets Manager API Reference

AWS Secrets Manager is a web service that enables you to store, manage, and retrieve, secrets.

This guide provides descriptions of the Secrets Manager API. For more information about using this service, see the AWS Secrets Manager User Guide.

API Version

This version of the Secrets Manager API Reference documents the Secrets Manager API version 2017-10-17.

As an alternative to using the API directly, you can use one of the AWS SDKs, which consist of libraries and sample code for various programming languages and platforms (such as Java, Ruby, .NET, iOS, and Android). The SDKs provide a convenient way to create programmatic access to AWS Secrets Manager. For example, the SDKs take care of cryptographically signing requests, managing errors, and retrying requests automatically. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services.

We recommend that you use the AWS SDKs to make programmatic API calls to Secrets Manager. However, you also can use the Secrets Manager HTTP Query API to make direct calls to the Secrets Manager web service. To learn more about the Secrets Manager HTTP Query API, see Making Query Requests in the AWS Secrets Manager User Guide.

Secrets Manager supports GET and POST requests for all actions. That is, the API doesn't require you to use GET for some actions and POST for others. However, GET requests are subject to the limitation size of a URL. Therefore, for operations that require larger sizes, use a POST request.

Support and Feedback for AWS Secrets Manager

We welcome your feedback. Send your comments to awssecretsmanager-feedback@amazon.com, or post your feedback and questions in the AWS Secrets Manager Discussion Forum. For more information about the AWS Discussion Forums, see Forums Help.

How examples are presented

The JSON that AWS Secrets Manager expects as your request parameters and that the service returns as a response to HTTP query requests are single, long strings without line breaks or white space formatting. The JSON shown in the examples is formatted with both line breaks and white space to improve readability. When example input parameters would also result in long strings that extend beyond the screen, we insert line breaks to enhance readability. You should always submit the input as a single JSON text string.

Logging API Requests

AWS Secrets Manager supports AWS CloudTrail, a service that records AWS API calls for your AWS account and delivers log files to an Amazon S3 bucket. By using information that's collected by AWS CloudTrail, you can determine which requests were successfully made to Secrets Manager, who made the request, when it was made, and so on. For more about AWS Secrets Manager and its support for AWS CloudTrail, see Logging AWS Secrets Manager Events with AWS CloudTrail in the AWS Secrets Manager User Guide. To learn more about CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User Guide.

" + "documentation":"AWS Secrets Manager API Reference

AWS Secrets Manager is a web service that enables you to store, manage, and retrieve, secrets.

This guide provides descriptions of the Secrets Manager API. For more information about using this service, see the AWS Secrets Manager User Guide.

API Version

This version of the Secrets Manager API Reference documents the Secrets Manager API version 2017-10-17.

As an alternative to using the API directly, you can use one of the AWS SDKs, which consist of libraries and sample code for various programming languages and platforms (such as Java, Ruby, .NET, iOS, and Android). The SDKs provide a convenient way to create programmatic access to AWS Secrets Manager. For example, the SDKs take care of cryptographically signing requests, managing errors, and retrying requests automatically. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services.

We recommend that you use the AWS SDKs to make programmatic API calls to Secrets Manager. However, you also can use the Secrets Manager HTTP Query API to make direct calls to the Secrets Manager web service. To learn more about the Secrets Manager HTTP Query API, see Making Query Requests in the AWS Secrets Manager User Guide.

Secrets Manager supports GET and POST requests for all actions. That is, the API doesn't require you to use GET for some actions and POST for others. However, GET requests are subject to the limitation size of a URL. Therefore, for operations that require larger sizes, use a POST request.

Support and Feedback for AWS Secrets Manager

We welcome your feedback. Send your comments to awssecretsmanager-feedback@amazon.com, or post your feedback and questions in the AWS Secrets Manager Discussion Forum. For more information about the AWS Discussion Forums, see Forums Help.

How examples are presented

The JSON that AWS Secrets Manager expects as your request parameters and that the service returns as a response to HTTP query requests are single, long strings without line breaks or white space formatting. The JSON shown in the examples is formatted with both line breaks and white space to improve readability. When example input parameters would also result in long strings that extend beyond the screen, we insert line breaks to enhance readability. You should always submit the input as a single JSON text string.

Logging API Requests

AWS Secrets Manager supports AWS CloudTrail, a service that records AWS API calls for your AWS account and delivers log files to an Amazon S3 bucket. By using information that's collected by AWS CloudTrail, you can determine which requests were successfully made to Secrets Manager, who made the request, when it was made, and so on. For more about AWS Secrets Manager and its support for AWS CloudTrail, see Logging AWS Secrets Manager Events with AWS CloudTrail in the AWS Secrets Manager User Guide. To learn more about CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User Guide.

" } diff --git a/bin/botocore/data/securityhub/2018-10-26/paginators-1.json b/bin/botocore/data/securityhub/2018-10-26/paginators-1.json index ea142457..1a612b70 100644 --- a/bin/botocore/data/securityhub/2018-10-26/paginators-1.json +++ b/bin/botocore/data/securityhub/2018-10-26/paginators-1.json @@ -1,3 +1,40 @@ { - "pagination": {} + "pagination": { + "GetEnabledStandards": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "StandardsSubscriptions" + }, + "GetFindings": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Findings" + }, + "GetInsights": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Insights" + }, + "ListEnabledProductsForImport": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ProductSubscriptions" + }, + "ListInvitations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Invitations" + }, + "ListMembers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Members" + } + } } diff --git a/bin/botocore/data/securityhub/2018-10-26/service-2.json b/bin/botocore/data/securityhub/2018-10-26/service-2.json index e097b3c3..35b1744a 100644 --- a/bin/botocore/data/securityhub/2018-10-26/service-2.json +++ b/bin/botocore/data/securityhub/2018-10-26/service-2.json @@ -24,9 +24,10 @@ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, {"shape":"LimitExceededException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidAccessException"} ], - "documentation":"

Accepts the invitation to be monitored by a master SecurityHub account.

" + "documentation":"

Accepts the invitation to be monitored by a Security Hub master account.

" }, "BatchDisableStandards":{ "name":"BatchDisableStandards", @@ -39,9 +40,10 @@ "errors":[ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Disables the standards specified by the standards subscription ARNs. In the context of Security Hub, supported standards (for example, CIS AWS Foundations) are automated and continuous checks that help determine your compliance status against security industry (including AWS) best practices.

" + "documentation":"

Disables the standards specified by the standards subscription ARNs. In the context of Security Hub, supported standards (for example, CIS AWS Foundations) are automated and continuous checks that help determine your compliance status against security industry (including AWS) best practices.

" }, "BatchEnableStandards":{ "name":"BatchEnableStandards", @@ -54,6 +56,7 @@ "errors":[ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, {"shape":"LimitExceededException"} ], "documentation":"

Enables the standards specified by the standards ARNs. In the context of Security Hub, supported standards (for example, CIS AWS Foundations) are automated and continuous checks that help determine your compliance status against security industry (including AWS) best practices.

" @@ -69,9 +72,10 @@ "errors":[ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, - {"shape":"LimitExceededException"} + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccessException"} ], - "documentation":"

Imports security findings that are generated by the integrated third-party products into Security Hub.

" + "documentation":"

Imports security findings generated from an integrated third-party product into Security Hub.

" }, "CreateInsight":{ "name":"CreateInsight", @@ -84,7 +88,9 @@ "errors":[ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, - {"shape":"LimitExceededException"} + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccessException"}, + {"shape":"ResourceConflictException"} ], "documentation":"

Creates an insight, which is a consolidation of findings that identifies a security area that requires attention or intervention.

" }, @@ -99,9 +105,11 @@ "errors":[ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, - {"shape":"LimitExceededException"} + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccessException"}, + {"shape":"ResourceConflictException"} ], - "documentation":"

Creates member Security Hub accounts in the current AWS account (which becomes the master Security Hub account) that has Security Hub enabled.

" + "documentation":"

Creates Security Hub member accounts associated with the account used for this action, which becomes the Security Hub Master account. Security Hub must be enabled in the account used to make this request.

" }, "DeclineInvitations":{ "name":"DeclineInvitations", @@ -114,10 +122,10 @@ "errors":[ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, - {"shape":"LimitExceededException"}, + {"shape":"InvalidAccessException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Declines invitations that are sent to this AWS account (invitee) by the AWS accounts (inviters) that are specified by the account IDs.

" + "documentation":"

Declines invitations that are sent to this AWS account (invitee) from the AWS accounts (inviters) that are specified by the provided AccountIds.

" }, "DeleteInsight":{ "name":"DeleteInsight", @@ -130,9 +138,11 @@ "errors":[ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, - {"shape":"LimitExceededException"} + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"} ], - "documentation":"

Deletes an insight that is specified by the insight ARN.

" + "documentation":"

Deletes the insight specified by the InsightArn.

" }, "DeleteInvitations":{ "name":"DeleteInvitations", @@ -146,9 +156,10 @@ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, {"shape":"LimitExceededException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidAccessException"} ], - "documentation":"

Deletes invitations that are sent to this AWS account (invitee) by the AWS accounts (inviters) that are specified by their account IDs.

" + "documentation":"

Deletes invitations that were sent to theis AWS account (invitee) by the AWS accounts (inviters) that are specified by their account IDs.

" }, "DeleteMembers":{ "name":"DeleteMembers", @@ -161,10 +172,27 @@ "errors":[ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, {"shape":"LimitExceededException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Deletes the Security Hub member accounts that are specified by the account IDs.

" + "documentation":"

Deletes the Security Hub member accounts that the account IDs specify.

" + }, + "DescribeProducts":{ + "name":"DescribeProducts", + "http":{ + "method":"GET", + "requestUri":"/products" + }, + "input":{"shape":"DescribeProductsRequest"}, + "output":{"shape":"DescribeProductsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccessException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Returns information about the products available that you can subscribe to.

" }, "DisableImportFindingsForProduct":{ "name":"DisableImportFindingsForProduct", @@ -177,9 +205,11 @@ "errors":[ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"} ], - "documentation":"

Stops you from being able to import findings generated by integrated third-party providers into Security Hub.

" + "documentation":"

Cancels the subscription that allows a findings-generating solution (product) to import its findings into Security Hub.

" }, "DisableSecurityHub":{ "name":"DisableSecurityHub", @@ -191,9 +221,11 @@ "output":{"shape":"DisableSecurityHubResponse"}, "errors":[ {"shape":"InternalException"}, - {"shape":"LimitExceededException"} + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccessException"}, + {"shape":"ResourceNotFoundException"} ], - "documentation":"

Disables the AWS Security Hub Service.

" + "documentation":"

Disables the Security Hub service.

" }, "DisassociateFromMasterAccount":{ "name":"DisassociateFromMasterAccount", @@ -206,6 +238,7 @@ "errors":[ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, {"shape":"LimitExceededException"}, {"shape":"ResourceNotFoundException"} ], @@ -222,6 +255,7 @@ "errors":[ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, {"shape":"LimitExceededException"}, {"shape":"ResourceNotFoundException"} ], @@ -237,9 +271,12 @@ "output":{"shape":"EnableImportFindingsForProductResponse"}, "errors":[ {"shape":"InternalException"}, - {"shape":"InvalidInputException"} + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"ResourceConflictException"}, + {"shape":"LimitExceededException"} ], - "documentation":"

Enables you to import findings generated by integrated third-party providers into Security Hub.

" + "documentation":"

Sets up the subscription that enables a findings-generating solution (product) to import its findings into Security Hub.

" }, "EnableSecurityHub":{ "name":"EnableSecurityHub", @@ -251,9 +288,12 @@ "output":{"shape":"EnableSecurityHubResponse"}, "errors":[ {"shape":"InternalException"}, - {"shape":"LimitExceededException"} + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccessException"}, + {"shape":"ResourceConflictException"}, + {"shape":"AccessDeniedException"} ], - "documentation":"

Enables the AWS Security Hub service.

" + "documentation":"

Enables the Security Hub service.

" }, "GetEnabledStandards":{ "name":"GetEnabledStandards", @@ -266,6 +306,7 @@ "errors":[ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, {"shape":"LimitExceededException"} ], "documentation":"

Lists and describes enabled standards.

" @@ -281,10 +322,10 @@ "errors":[ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, - {"shape":"LimitExceededException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"} ], - "documentation":"

Lists and describes Security Hub-aggregated findings that are specified by filter attributes.

" + "documentation":"

Lists and describes Security Hub-aggregated findings that filter attributes specify.

" }, "GetInsightResults":{ "name":"GetInsightResults", @@ -297,9 +338,11 @@ "errors":[ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, - {"shape":"LimitExceededException"} + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"} ], - "documentation":"

Lists the results of the Security Hub insight specified by the insight ARN.

" + "documentation":"

Lists the results of the Security Hub insight that the insight ARN specifies.

" }, "GetInsights":{ "name":"GetInsights", @@ -312,9 +355,11 @@ "errors":[ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, - {"shape":"LimitExceededException"} + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"} ], - "documentation":"

Lists and describes insights that are specified by insight ARNs.

" + "documentation":"

Lists and describes insights that insight ARNs specify.

" }, "GetInvitationsCount":{ "name":"GetInvitationsCount", @@ -327,8 +372,8 @@ "errors":[ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, - {"shape":"LimitExceededException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"} ], "documentation":"

Returns the count of all Security Hub membership invitations that were sent to the current member account, not including the currently accepted invitation.

" }, @@ -343,6 +388,7 @@ "errors":[ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, {"shape":"LimitExceededException"}, {"shape":"ResourceNotFoundException"} ], @@ -359,10 +405,11 @@ "errors":[ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, {"shape":"LimitExceededException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Returns the details on the Security Hub member accounts that are specified by the account IDs.

" + "documentation":"

Returns the details on the Security Hub member accounts that the account IDs specify.

" }, "InviteMembers":{ "name":"InviteMembers", @@ -375,6 +422,7 @@ "errors":[ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, {"shape":"LimitExceededException"}, {"shape":"ResourceNotFoundException"} ], @@ -390,9 +438,10 @@ "output":{"shape":"ListEnabledProductsForImportResponse"}, "errors":[ {"shape":"InternalException"}, - {"shape":"LimitExceededException"} + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccessException"} ], - "documentation":"

Lists all Security Hub-integrated third-party findings providers.

" + "documentation":"

Lists all findings-generating solutions (products) whose findings you have subscribed to receive in Security Hub.

" }, "ListInvitations":{ "name":"ListInvitations", @@ -405,8 +454,8 @@ "errors":[ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, - {"shape":"LimitExceededException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"} ], "documentation":"

Lists all Security Hub membership invitations that were sent to the current AWS account.

" }, @@ -421,11 +470,27 @@ "errors":[ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, - {"shape":"LimitExceededException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"} ], "documentation":"

Lists details about all member accounts for the current Security Hub master account.

" }, + "ListProductSubscribers":{ + "name":"ListProductSubscribers", + "http":{ + "method":"GET", + "requestUri":"/productSubscribers/" + }, + "input":{"shape":"ListProductSubscribersRequest"}, + "output":{"shape":"ListProductSubscribersResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccessException"} + ], + "documentation":"

Returns a list of account IDs that are subscribed to the product.

" + }, "UpdateFindings":{ "name":"UpdateFindings", "http":{ @@ -438,9 +503,10 @@ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, {"shape":"LimitExceededException"}, + {"shape":"InvalidAccessException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Updates the AWS Security Hub-aggregated findings specified by the filter attributes.

" + "documentation":"

Updates the Note and RecordState of the Security Hub-aggregated findings that the filter attributes specify. Any member account that can view the finding also sees the update to the finding.

" }, "UpdateInsight":{ "name":"UpdateInsight", @@ -453,10 +519,11 @@ "errors":[ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, {"shape":"LimitExceededException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Updates the AWS Security Hub insight specified by the insight ARN.

" + "documentation":"

Updates the Security Hub insight that the insight ARN specifies.

" } }, "shapes":{ @@ -465,11 +532,11 @@ "members":{ "MasterId":{ "shape":"NonEmptyString", - "documentation":"

The account ID of the master Security Hub account whose invitation you're accepting.

" + "documentation":"

The account ID of the Security Hub master account whose invitation you're accepting.

" }, "InvitationId":{ "shape":"NonEmptyString", - "documentation":"

The ID of the invitation that is sent to the AWS account by the Security Hub master account.

" + "documentation":"

The ID of the invitation that the Security Hub master account sends to the AWS account.

" } } }, @@ -478,6 +545,16 @@ "members":{ } }, + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"}, + "Code":{"shape":"NonEmptyString"} + }, + "documentation":"

You don't have permission to perform the action specified in the request.

", + "error":{"httpStatusCode":403}, + "exception":true + }, "AccountDetails":{ "type":"structure", "members":{ @@ -534,18 +611,18 @@ }, "VpcId":{ "shape":"NonEmptyString", - "documentation":"

The identifier of the VPC in which the instance was launched.

" + "documentation":"

The identifier of the VPC that the instance was launched in.

" }, "SubnetId":{ "shape":"NonEmptyString", - "documentation":"

The identifier of the subnet in which the instance was launched.

" + "documentation":"

The identifier of the subnet that the instance was launched in.

" }, "LaunchedAt":{ "shape":"NonEmptyString", "documentation":"

The date/time the instance was launched.

" } }, - "documentation":"

The details of an AWS EC2 instance.

" + "documentation":"

The details of an Amazon EC2 instance.

" }, "AwsIamAccessKeyDetails":{ "type":"structure", @@ -563,7 +640,7 @@ "documentation":"

The creation date/time of the IAM access key related to a finding.

" } }, - "documentation":"

AWS IAM access key details related to a finding.

" + "documentation":"

IAM access key details related to a finding.

" }, "AwsIamAccessKeyStatus":{ "type":"string", @@ -584,7 +661,7 @@ "documentation":"

The display name of the owner of the S3 bucket.

" } }, - "documentation":"

The details of an AWS S3 Bucket.

" + "documentation":"

The details of an Amazon S3 bucket.

" }, "AwsSecurityFinding":{ "type":"structure", @@ -603,7 +680,7 @@ "members":{ "SchemaVersion":{ "shape":"NonEmptyString", - "documentation":"

The schema version for which a finding is formatted.

" + "documentation":"

The schema version that a finding is formatted for.

" }, "Id":{ "shape":"NonEmptyString", @@ -611,35 +688,35 @@ }, "ProductArn":{ "shape":"NonEmptyString", - "documentation":"

The ARN generated by Security Hub that uniquely identifies a third-party company (security findings provider) once this provider's product (solution that generates findings) is registered with Security Hub.

" + "documentation":"

The ARN generated by Security Hub that uniquely identifies a third-party company (security-findings provider) after this provider's product (solution that generates findings) is registered with Security Hub.

" }, "GeneratorId":{ "shape":"NonEmptyString", - "documentation":"

This is the identifier for the solution-specific component (a discrete unit of logic) that generated a finding. In various security findings provider's solutions, this generator can be called a rule, a check, a detector, a plug-in, etc.

" + "documentation":"

The identifier for the solution-specific component (a discrete unit of logic) that generated a finding. In various security-findings providers' solutions, this generator can be called a rule, a check, a detector, a plug-in, etc.

" }, "AwsAccountId":{ "shape":"NonEmptyString", - "documentation":"

The AWS account ID in which a finding is generated.

" + "documentation":"

The AWS account ID that a finding is generated in.

" }, "Types":{ "shape":"TypeList", - "documentation":"

One or more finding types in the format of 'namespace/category/classifier' that classify a finding.

Valid namespace values are: Software and Configuration Checks | TTPs | Effects | Unusual Behaviors | Sensitive Data Identifications

" + "documentation":"

One or more finding types in the format of namespace/category/classifier that classify a finding.

Valid namespace values are: Software and Configuration Checks | TTPs | Effects | Unusual Behaviors | Sensitive Data Identifications

" }, "FirstObservedAt":{ "shape":"NonEmptyString", - "documentation":"

An ISO8601-formatted timestamp that indicates when the potential security issue captured by a finding was first observed by the security findings provider.

" + "documentation":"

An ISO8601-formatted timestamp that indicates when the security-findings provider first observed the potential security issue that a finding captured.

" }, "LastObservedAt":{ "shape":"NonEmptyString", - "documentation":"

An ISO8601-formatted timestamp that indicates when the potential security issue captured by a finding was most recently observed by the security findings provider.

" + "documentation":"

An ISO8601-formatted timestamp that indicates when the security-findings provider most recently observed the potential security issue that a finding captured.

" }, "CreatedAt":{ "shape":"NonEmptyString", - "documentation":"

An ISO8601-formatted timestamp that indicates when the potential security issue captured by a finding was created by the security findings provider.

" + "documentation":"

An ISO8601-formatted timestamp that indicates when the security-findings provider created the potential security issue that a finding captured.

" }, "UpdatedAt":{ "shape":"NonEmptyString", - "documentation":"

An ISO8601-formatted timestamp that indicates when the finding record was last updated by the security findings provider.

" + "documentation":"

An ISO8601-formatted timestamp that indicates when the security-findings provider last updated the finding record.

" }, "Severity":{ "shape":"Severity", @@ -647,7 +724,7 @@ }, "Confidence":{ "shape":"Integer", - "documentation":"

A finding's confidence. Confidence is defined as the likelihood that a finding accurately identifies the behavior or issue that it was intended to identify. Confidence is scored on a 0-100 basis using a ratio scale. 0 equates zero percent confidence and 100 equates to 100 percent confidence.

" + "documentation":"

A finding's confidence. Confidence is defined as the likelihood that a finding accurately identifies the behavior or issue that it was intended to identify. Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent confidence and 100 means 100 percent confidence.

" }, "Criticality":{ "shape":"Integer", @@ -655,11 +732,11 @@ }, "Title":{ "shape":"NonEmptyString", - "documentation":"

A finding's title.

" + "documentation":"

A finding's title.

In this release, Title is a required property.

" }, "Description":{ "shape":"NonEmptyString", - "documentation":"

A finding's description.

" + "documentation":"

A finding's description.

In this release, Description is a required property.

" }, "Remediation":{ "shape":"Remediation", @@ -667,11 +744,11 @@ }, "SourceUrl":{ "shape":"NonEmptyString", - "documentation":"

A URL that links to a page about the current finding in the security findings provider's solution.

" + "documentation":"

A URL that links to a page about the current finding in the security-findings provider's solution.

" }, "ProductFields":{ "shape":"FieldMap", - "documentation":"

A data type where security findings providers can include additional solution-specific details that are not part of the defined AwsSecurityFinding format.

" + "documentation":"

A data type where security-findings providers can include additional solution-specific details that aren't part of the defined AwsSecurityFinding format.

" }, "UserDefinedFields":{ "shape":"FieldMap", @@ -695,11 +772,11 @@ }, "Resources":{ "shape":"ResourceList", - "documentation":"

A set of resource data types that describe the resources to which the finding refers.

" + "documentation":"

A set of resource data types that describe the resources that the finding refers to.

" }, "Compliance":{ "shape":"Compliance", - "documentation":"

This data type is exclusive to findings that are generated as the result of a check run against a specific rule in a supported standard (for example, AWS CIS Foundations). Contains compliance-related finding details.

" + "documentation":"

This data type is exclusive to findings that are generated as the result of a check run against a specific rule in a supported standard (for example, CIS AWS Foundations). Contains compliance-related finding details.

" }, "VerificationState":{ "shape":"VerificationState", @@ -722,18 +799,18 @@ "documentation":"

A user-defined note added to a finding.

" } }, - "documentation":"

Provides consistent format for the contents of the Security Hub-aggregated findings. AwsSecurityFinding format enables you to share findings between AWS security services and third-party solutions, and compliance checks.

A finding is a potential security issue generated either by AWS services (GuardDuty, Inspector, Macie) or by the integrated third-party solutions and compliance checks.

" + "documentation":"

Provides consistent format for the contents of the Security Hub-aggregated findings. AwsSecurityFinding format enables you to share findings between AWS security services and third-party solutions, and compliance checks.

A finding is a potential security issue generated either by AWS services (Amazon GuardDuty, Amazon Inspector, and Amazon Macie) or by the integrated third-party solutions and compliance checks.

" }, "AwsSecurityFindingFilters":{ "type":"structure", "members":{ "ProductArn":{ "shape":"StringFilterList", - "documentation":"

The ARN generated by Security Hub that uniquely identifies a third-party company (security findings provider) once this provider's product (solution that generates findings) is registered with Security Hub.

" + "documentation":"

The ARN generated by Security Hub that uniquely identifies a third-party company (security findings provider) after this provider's product (solution that generates findings) is registered with Security Hub.

" }, "AwsAccountId":{ "shape":"StringFilterList", - "documentation":"

The AWS account ID in which a finding is generated.

" + "documentation":"

The AWS account ID that a finding is generated in.

" }, "Id":{ "shape":"StringFilterList", @@ -741,31 +818,31 @@ }, "GeneratorId":{ "shape":"StringFilterList", - "documentation":"

This is the identifier for the solution-specific component (a discrete unit of logic) that generated a finding. In various security findings provider's solutions, this generator can be called a rule, a check, a detector, a plug-in, etc.

" + "documentation":"

The identifier for the solution-specific component (a discrete unit of logic) that generated a finding. In various security-findings providers' solutions, this generator can be called a rule, a check, a detector, a plug-in, etc.

" }, "Type":{ "shape":"StringFilterList", - "documentation":"

A finding type in the format of 'namespace/category/classifier' that classifies a finding.

" + "documentation":"

A finding type in the format of namespace/category/classifier that classifies a finding.

" }, "FirstObservedAt":{ "shape":"DateFilterList", - "documentation":"

An ISO8601-formatted timestamp that indicates when the potential security issue captured by a finding was first observed by the security findings provider.

" + "documentation":"

An ISO8601-formatted timestamp that indicates when the security-findings provider first observed the potential security issue that a finding captured.

" }, "LastObservedAt":{ "shape":"DateFilterList", - "documentation":"

An ISO8601-formatted timestamp that indicates when the potential security issue captured by a finding was most recently observed by the security findings provider.

" + "documentation":"

An ISO8601-formatted timestamp that indicates when the security-findings provider most recently observed the potential security issue that a finding captured.

" }, "CreatedAt":{ "shape":"DateFilterList", - "documentation":"

An ISO8601-formatted timestamp that indicates when the potential security issue captured by a finding was created by the security findings provider.

" + "documentation":"

An ISO8601-formatted timestamp that indicates when the security-findings provider captured the potential security issue that a finding captured.

" }, "UpdatedAt":{ "shape":"DateFilterList", - "documentation":"

An ISO8601-formatted timestamp that indicates when the finding record was last updated by the security findings provider.

" + "documentation":"

An ISO8601-formatted timestamp that indicates when the security-findings provider last updated the finding record.

" }, "SeverityProduct":{ "shape":"NumberFilterList", - "documentation":"

The native severity as defined by the security findings provider's solution that generated the finding.

" + "documentation":"

The native severity as defined by the security-findings provider's solution that generated the finding.

" }, "SeverityNormalized":{ "shape":"NumberFilterList", @@ -777,7 +854,7 @@ }, "Confidence":{ "shape":"NumberFilterList", - "documentation":"

A finding's confidence. Confidence is defined as the likelihood that a finding accurately identifies the behavior or issue that it was intended to identify. Confidence is scored on a 0-100 basis using a ratio scale. 0 equates zero percent confidence and 100 equates to 100 percent confidence.

" + "documentation":"

A finding's confidence. Confidence is defined as the likelihood that a finding accurately identifies the behavior or issue that it was intended to identify. Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent confidence and 100 means 100 percent confidence.

" }, "Criticality":{ "shape":"NumberFilterList", @@ -797,11 +874,11 @@ }, "SourceUrl":{ "shape":"StringFilterList", - "documentation":"

A URL that links to a page about the current finding in the security findings provider's solution.

" + "documentation":"

A URL that links to a page about the current finding in the security-findings provider's solution.

" }, "ProductFields":{ "shape":"MapFilterList", - "documentation":"

A data type where security findings providers can include additional solution-specific details that are not part of the defined AwsSecurityFinding format.

" + "documentation":"

A data type where security-findings providers can include additional solution-specific details that aren't part of the defined AwsSecurityFinding format.

" }, "ProductName":{ "shape":"StringFilterList", @@ -925,7 +1002,7 @@ }, "ResourceType":{ "shape":"StringFilterList", - "documentation":"

Specifies the type of the resource for which details are provided.

" + "documentation":"

Specifies the type of the resource that details are provided for.

" }, "ResourceId":{ "shape":"StringFilterList", @@ -933,11 +1010,11 @@ }, "ResourcePartition":{ "shape":"StringFilterList", - "documentation":"

The canonical AWS partition name to which the region is assigned.

" + "documentation":"

The canonical AWS partition name that the Region is assigned to.

" }, "ResourceRegion":{ "shape":"StringFilterList", - "documentation":"

The canonical AWS external region name where this resource is located.

" + "documentation":"

The canonical AWS external Region name where this resource is located.

" }, "ResourceTags":{ "shape":"MapFilterList", @@ -969,11 +1046,11 @@ }, "ResourceAwsEc2InstanceVpcId":{ "shape":"StringFilterList", - "documentation":"

The identifier of the VPC in which the instance was launched.

" + "documentation":"

The identifier of the VPC that the instance was launched in.

" }, "ResourceAwsEc2InstanceSubnetId":{ "shape":"StringFilterList", - "documentation":"

The identifier of the subnet in which the instance was launched.

" + "documentation":"

The identifier of the subnet that the instance was launched in.

" }, "ResourceAwsEc2InstanceLaunchedAt":{ "shape":"DateFilterList", @@ -1017,15 +1094,15 @@ }, "ResourceDetailsOther":{ "shape":"MapFilterList", - "documentation":"

The details of a resource that does not have a specific sub-field for the resource type defined.

" + "documentation":"

The details of a resource that doesn't have a specific subfield for the resource type defined.

" }, "ComplianceStatus":{ "shape":"StringFilterList", - "documentation":"

Exclusive to findings that are generated as the result of a check run against a specific rule in a supported standard (for example, AWS CIS Foundations). Contains compliance-related finding details.

" + "documentation":"

Exclusive to findings that are generated as the result of a check run against a specific rule in a supported standard (for example, CIS AWS Foundations). Contains compliance-related finding details.

" }, "VerificationState":{ "shape":"StringFilterList", - "documentation":"

Indicates the veracity of a finding.

" + "documentation":"

The veracity of a finding.

" }, "WorkflowState":{ "shape":"StringFilterList", @@ -1072,7 +1149,7 @@ "members":{ "StandardsSubscriptionArns":{ "shape":"StandardsSubscriptionArns", - "documentation":"

The ARNS of the standards subscriptions that you want to disable.

" + "documentation":"

The ARNs of the standards subscriptions that you want to disable.

" } } }, @@ -1091,7 +1168,7 @@ "members":{ "StandardsSubscriptionRequests":{ "shape":"StandardsSubscriptionRequests", - "documentation":"

The list of standards that you want to enable.

" + "documentation":"

The list of standards that you want to enable.

In this release, Security Hub supports only the CIS AWS Foundations standard.

Its ARN is arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0.

" } } }, @@ -1110,7 +1187,7 @@ "members":{ "Findings":{ "shape":"AwsSecurityFindingList", - "documentation":"

A list of findings that you want to import. Must be submitted in the AWSSecurityFinding format.

" + "documentation":"

A list of findings to import. You must submit them in the AwsSecurityFinding format.

" } } }, @@ -1123,7 +1200,7 @@ "members":{ "FailedCount":{ "shape":"Integer", - "documentation":"

The number of findings that cannot be imported.

" + "documentation":"

The number of findings that failed to import.

" }, "SuccessCount":{ "shape":"Integer", @@ -1131,20 +1208,24 @@ }, "FailedFindings":{ "shape":"ImportFindingsErrorList", - "documentation":"

The list of the findings that cannot be imported.

" + "documentation":"

The list of the findings that failed to import.

" } } }, "Boolean":{"type":"boolean"}, + "CategoryList":{ + "type":"list", + "member":{"shape":"NonEmptyString"} + }, "Compliance":{ "type":"structure", "members":{ "Status":{ "shape":"ComplianceStatus", - "documentation":"

Indicates the result of a compliance check.

" + "documentation":"

The result of a compliance check.

" } }, - "documentation":"

Exclusive to findings that are generated as the result of a check run against a specific rule in a supported standard (for example, AWS CIS Foundations). Contains compliance-related finding details.

" + "documentation":"

Exclusive to findings that are generated as the result of a check run against a specific rule in a supported standard (for example, CIS AWS Foundations). Contains compliance-related finding details.

" }, "ComplianceStatus":{ "type":"string", @@ -1187,15 +1268,15 @@ "members":{ "Name":{ "shape":"NonEmptyString", - "documentation":"

The user-defined name that identifies the insight that you want to create.

" + "documentation":"

The user-defined name that identifies the insight to create.

" }, "Filters":{ "shape":"AwsSecurityFindingFilters", - "documentation":"

A collection of attributes that are applied to all active Security Hub-aggregated findings and that result in a subset of findings that are included in this insight.

" + "documentation":"

A collection of attributes that are applied to all of the active findings aggregated by Security Hub, and that result in a subset of findings that are included in this insight.

" }, "GroupByAttribute":{ "shape":"NonEmptyString", - "documentation":"

The attribute by which the insight's findings are grouped. This attribute is used as a findings aggregator for the purposes of viewing and managing multiple related findings under a single operand.

" + "documentation":"

The attribute by which the insight's findings are grouped. This attribute is used as a findings aggregator for the purposes of viewing and managing multiple related findings under a single operand.

" } } }, @@ -1205,7 +1286,7 @@ "members":{ "InsightArn":{ "shape":"NonEmptyString", - "documentation":"

The ARN Of the created insight.

" + "documentation":"

The ARN of the insight created.

" } } }, @@ -1214,7 +1295,7 @@ "members":{ "AccountDetails":{ "shape":"AccountDetailsList", - "documentation":"

A list of account ID and email address pairs of the accounts that you want to associate with the master Security Hub account.

" + "documentation":"

A list of account ID and email address pairs of the accounts to associate with the Security Hub master account.

" } } }, @@ -1223,7 +1304,7 @@ "members":{ "UnprocessedAccounts":{ "shape":"ResultList", - "documentation":"

A list of account ID and email address pairs of the AWS accounts that could not be processed.

" + "documentation":"

A list of account ID and email address pairs of the AWS accounts that couldn't be processed.

" } } }, @@ -1272,7 +1353,7 @@ "members":{ "AccountIds":{ "shape":"AccountIdList", - "documentation":"

A list of account IDs specifying accounts whose invitations to Security Hub you want to decline.

" + "documentation":"

A list of account IDs that specify the accounts from which invitations to Security Hub are declined.

" } } }, @@ -1281,7 +1362,7 @@ "members":{ "UnprocessedAccounts":{ "shape":"ResultList", - "documentation":"

A list of account ID and email address pairs of the AWS accounts that could not be processed.

" + "documentation":"

A list of account ID and email address pairs of the AWS accounts that couldn't be processed.

" } } }, @@ -1291,7 +1372,7 @@ "members":{ "InsightArn":{ "shape":"NonEmptyString", - "documentation":"

The ARN of the insight that you want to delete.

", + "documentation":"

The ARN of the insight to delete.

", "location":"uri", "locationName":"InsightArn" } @@ -1312,7 +1393,7 @@ "members":{ "AccountIds":{ "shape":"AccountIdList", - "documentation":"

A list of account IDs specifying accounts whose invitations to Security Hub you want to delete.

" + "documentation":"

A list of account IDs that specify accounts whose invitations to Security Hub you want to delete.

" } } }, @@ -1321,7 +1402,7 @@ "members":{ "UnprocessedAccounts":{ "shape":"ResultList", - "documentation":"

A list of account ID and email address pairs of the AWS accounts that could not be processed.

" + "documentation":"

A list of account ID and email address pairs of the AWS accounts that couldn't be processed.

" } } }, @@ -1339,7 +1420,38 @@ "members":{ "UnprocessedAccounts":{ "shape":"ResultList", - "documentation":"

A list of account ID and email address pairs of the AWS accounts that could not be processed.

" + "documentation":"

A list of account ID and email address pairs of the AWS accounts that couldn't be processed.

" + } + } + }, + "DescribeProductsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token that is required for pagination.

", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return.

", + "location":"querystring", + "locationName":"MaxResults" + } + } + }, + "DescribeProductsResponse":{ + "type":"structure", + "required":["Products"], + "members":{ + "Products":{ + "shape":"ProductsList", + "documentation":"

A list of products.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token that is required for pagination.

" } } }, @@ -1438,11 +1550,11 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

Paginates results. Set the value of this parameter to NULL on your first call to the GetEnabledStandards operation. For subsequent calls to the operation, fill nextToken in the request with the value of nextToken from the previous response to continue listing data.

" + "documentation":"

Paginates results. On your first call to the GetEnabledStandards operation, set the value of this parameter to NULL. For subsequent calls to the operation, fill nextToken in the request with the value of nextToken from the previous response to continue listing data.

" }, "MaxResults":{ "shape":"MaxResults", - "documentation":"

Indicates the maximum number of items that you want in the response.

" + "documentation":"

The maximum number of items that you want in the response.

" } } }, @@ -1464,7 +1576,7 @@ "members":{ "Filters":{ "shape":"AwsSecurityFindingFilters", - "documentation":"

A collection of attributes that is use for querying findings.

" + "documentation":"

A collection of attributes that is used for querying findings.

" }, "SortCriteria":{ "shape":"SortCriteria", @@ -1472,7 +1584,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

Paginates results. Set the value of this parameter to NULL on your first call to the GetFindings operation. For subsequent calls to the operation, fill nextToken in the request with the value of nextToken from the previous response to continue listing data.

" + "documentation":"

Paginates results. On your first call to the GetFindings operation, set the value of this parameter to NULL. For subsequent calls to the operation, fill nextToken in the request with the value of nextToken from the previous response to continue listing data.

" }, "MaxResults":{ "shape":"MaxResults", @@ -1521,15 +1633,15 @@ "members":{ "InsightArns":{ "shape":"ArnList", - "documentation":"

The ARNS of the insights that you want to describe.

" + "documentation":"

The ARNs of the insights that you want to describe.

" }, "NextToken":{ "shape":"NextToken", - "documentation":"

Paginates results. Set the value of this parameter to NULL on your first call to the GetInsights operation. For subsequent calls to the operation, fill nextToken in the request with the value of nextToken from the previous response to continue listing data.

" + "documentation":"

Paginates results. On your first call to the GetInsights operation, set the value of this parameter to NULL. For subsequent calls to the operation, fill nextToken in the request with the value of nextToken from the previous response to continue listing data.

" }, "MaxResults":{ "shape":"MaxResults", - "documentation":"

Indicates the maximum number of items that you want in the response.

" + "documentation":"

The maximum number of items that you want in the response.

" } } }, @@ -1581,7 +1693,7 @@ "members":{ "AccountIds":{ "shape":"AccountIdList", - "documentation":"

A list of account IDs for the Security Hub member accounts on which you want to return the details.

" + "documentation":"

A list of account IDs for the Security Hub member accounts that you want to return the details for.

" } } }, @@ -1594,7 +1706,7 @@ }, "UnprocessedAccounts":{ "shape":"ResultList", - "documentation":"

A list of account ID and email address pairs of the AWS accounts that could not be processed.

" + "documentation":"

A list of account ID and email address pairs of the AWS accounts that couldn't be processed.

" } } }, @@ -1608,18 +1720,18 @@ "members":{ "Id":{ "shape":"NonEmptyString", - "documentation":"

The id of the error made during the BatchImportFindings operation.

" + "documentation":"

The ID of the error made during the BatchImportFindings operation.

" }, "ErrorCode":{ "shape":"NonEmptyString", - "documentation":"

The code of the error made during the BatchImportFindings operation.

" + "documentation":"

The code of the error made during the BatchImportFindings operation.

" }, "ErrorMessage":{ "shape":"NonEmptyString", - "documentation":"

The message of the error made during the BatchImportFindings operation.

" + "documentation":"

The message of the error made during the BatchImportFindings operation.

" } }, - "documentation":"

Includes details of the list of the findings that cannot be imported.

" + "documentation":"

Includes details of the list of the findings that can't be imported.

" }, "ImportFindingsErrorList":{ "type":"list", @@ -1648,7 +1760,7 @@ }, "GroupByAttribute":{ "shape":"NonEmptyString", - "documentation":"

The attribute by which the insight's findings are grouped. This attribute is used as a findings aggregator for the purposes of viewing and managing multiple related findings under a single operand.

" + "documentation":"

The attribute that the insight's findings are grouped by. This attribute is used as a findings aggregator for the purposes of viewing and managing multiple related findings under a single operand.

" } }, "documentation":"

Contains information about a Security Hub insight.

" @@ -1666,14 +1778,14 @@ "members":{ "GroupByAttributeValue":{ "shape":"NonEmptyString", - "documentation":"

The value of the attribute by which the findings are grouped for the insight's whose results are returned by the GetInsightResults operation.

" + "documentation":"

The value of the attribute that the findings are grouped by for the insight whose results are returned by the GetInsightResults operation.

" }, "Count":{ "shape":"Integer", - "documentation":"

The number of findings returned for each GroupByAttributeValue.

" + "documentation":"

The number of findings returned for each GroupByAttributeValue.

" } }, - "documentation":"

The insight result values returned by the GetInsightResults operation.

" + "documentation":"

The insight result values returned by the GetInsightResults operation.

" }, "InsightResultValueList":{ "type":"list", @@ -1689,18 +1801,18 @@ "members":{ "InsightArn":{ "shape":"NonEmptyString", - "documentation":"

The ARN of the insight whose results are returned by the GetInsightResults operation.

" + "documentation":"

The ARN of the insight whose results are returned by the GetInsightResults operation.

" }, "GroupByAttribute":{ "shape":"NonEmptyString", - "documentation":"

The attribute by which the findings are grouped for the insight's whose results are returned by the GetInsightResults operation.

" + "documentation":"

The attribute that the findings are grouped by for the insight whose results are returned by the GetInsightResults operation.

" }, "ResultValues":{ "shape":"InsightResultValueList", - "documentation":"

The list of insight result values returned by the GetInsightResults operation.

" + "documentation":"

The list of insight result values returned by the GetInsightResults operation.

" } }, - "documentation":"

The insight results returned by the GetInsightResults operation.

" + "documentation":"

The insight results returned by the GetInsightResults operation.

" }, "Integer":{"type":"integer"}, "InternalException":{ @@ -1713,13 +1825,23 @@ "error":{"httpStatusCode":500}, "exception":true }, + "InvalidAccessException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"}, + "Code":{"shape":"NonEmptyString"} + }, + "documentation":"

AWS Security Hub isn't enabled for the account used to make this request.

", + "error":{"httpStatusCode":401}, + "exception":true + }, "InvalidInputException":{ "type":"structure", "members":{ "Message":{"shape":"NonEmptyString"}, "Code":{"shape":"NonEmptyString"} }, - "documentation":"

The request was rejected because an invalid or out-of-range value was supplied for an input parameter.

", + "documentation":"

The request was rejected because you supplied an invalid or out-of-range value for an input parameter.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -1728,11 +1850,11 @@ "members":{ "AccountId":{ "shape":"AccountId", - "documentation":"

The account ID of the master Security Hub account who sent the invitation.

" + "documentation":"

The account ID of the Security Hub master account that sent the invitation.

" }, "InvitationId":{ "shape":"NonEmptyString", - "documentation":"

The ID of the invitation sent by the master Security Hub account.

" + "documentation":"

The ID of the invitation that the Security Hub master account sent.

" }, "InvitedAt":{ "shape":"Timestamp", @@ -1743,7 +1865,7 @@ "documentation":"

The current relationship status between the inviter and invitee accounts.

" } }, - "documentation":"

The details of an invitation sent to an AWS account by the Security Hub master account.

" + "documentation":"

The details of an invitation that the Security Hub master account sent to an AWS account.

" }, "InvitationList":{ "type":"list", @@ -1763,7 +1885,7 @@ "members":{ "UnprocessedAccounts":{ "shape":"ResultList", - "documentation":"

A list of account ID and email address pairs of the AWS accounts that could not be processed.

" + "documentation":"

A list of account ID and email address pairs of the AWS accounts that couldn't be processed.

" } } }, @@ -1772,7 +1894,7 @@ "members":{ "Cidr":{ "shape":"NonEmptyString", - "documentation":"

Finding's CIDR value.

" + "documentation":"

A finding's CIDR value.

" } }, "documentation":"

The IP filter for querying findings.>

" @@ -1810,13 +1932,13 @@ "members":{ "NextToken":{ "shape":"NextToken", - "documentation":"

Paginates results. Set the value of this parameter to NULL on your first call to the ListEnabledProductsForImport operation. For subsequent calls to the operation, fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

", + "documentation":"

Paginates results. On your first call to the ListEnabledProductsForImport operation, set the value of this parameter to NULL. For subsequent calls to the operation, fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

", "location":"querystring", "locationName":"NextToken" }, "MaxResults":{ "shape":"MaxResults", - "documentation":"

Indicates the maximum number of items that you want in the response.

", + "documentation":"

The maximum number of items that you want in the response.

", "location":"querystring", "locationName":"MaxResults" } @@ -1840,13 +1962,13 @@ "members":{ "MaxResults":{ "shape":"MaxResults", - "documentation":"

Indicates the maximum number of items that you want in the response.

", + "documentation":"

The maximum number of items that you want in the response.

", "location":"querystring", "locationName":"MaxResults" }, "NextToken":{ "shape":"NextToken", - "documentation":"

Paginates results. Set the value of this parameter to NULL on your first call to the ListInvitations operation. For subsequent calls to the operation, fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

", + "documentation":"

Paginates results. On your first call to the ListInvitations operation, set the value of this parameter to NULL. For subsequent calls to the operation, fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

", "location":"querystring", "locationName":"NextToken" } @@ -1870,19 +1992,19 @@ "members":{ "OnlyAssociated":{ "shape":"Boolean", - "documentation":"

Specifies what member accounts the response includes based on their relationship status with the master account. The default value is TRUE. If onlyAssociated is set to TRUE, the response includes member accounts whose relationship status with the master is set to ENABLED or DISABLED. If onlyAssociated is set to FALSE, the response includes all existing member accounts.

", + "documentation":"

Specifies which member accounts the response includes based on their relationship status with the master account. The default value is TRUE. If onlyAssociated is set to TRUE, the response includes member accounts whose relationship status with the master is set to ENABLED or DISABLED. If onlyAssociated is set to FALSE, the response includes all existing member accounts.

", "location":"querystring", "locationName":"OnlyAssociated" }, "MaxResults":{ "shape":"MaxResults", - "documentation":"

Indicates the maximum number of items that you want in the response.

", + "documentation":"

The maximum number of items that you want in the response.

", "location":"querystring", "locationName":"MaxResults" }, "NextToken":{ "shape":"NextToken", - "documentation":"

Paginates results. Set the value of this parameter to NULL on your first call to the ListMembers operation. For subsequent calls to the operation, fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

", + "documentation":"

Paginates results. Set the value of this parameter to NULL on your first call to the ListMembers operation. For subsequent calls to the operation, fill nextToken in the request with the value of nextToken from the previous response to continue listing data.

", "location":"querystring", "locationName":"NextToken" } @@ -1901,6 +2023,42 @@ } } }, + "ListProductSubscribersRequest":{ + "type":"structure", + "members":{ + "ProductArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the product.

", + "location":"querystring", + "locationName":"ProductArn" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token that is required for pagination.

", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return.

", + "location":"querystring", + "locationName":"MaxResults" + } + } + }, + "ListProductSubscribersResponse":{ + "type":"structure", + "members":{ + "ProductSubscribers":{ + "shape":"ProductSubscribersList", + "documentation":"

A list of account IDs that are subscribed to the product.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token that is required for pagination.

" + } + } + }, "Malware":{ "type":"structure", "required":["Name"], @@ -1915,7 +2073,7 @@ }, "Path":{ "shape":"NonEmptyString", - "documentation":"

The filesystem path of the malware that was observed.

" + "documentation":"

The file system path of the malware that was observed.

" }, "State":{ "shape":"MalwareState", @@ -1969,14 +2127,14 @@ }, "Comparison":{ "shape":"MapFilterComparison", - "documentation":"

Represents the condition to be applied to a key value when querying for findings with a map filter.

" + "documentation":"

The condition to be applied to a key value when querying for findings with a map filter.

" } }, "documentation":"

The map filter for querying findings.

" }, "MapFilterComparison":{ "type":"string", - "enum":["CONTAINS"] + "enum":["EQUALS"] }, "MapFilterList":{ "type":"list", @@ -2000,7 +2158,7 @@ }, "MasterId":{ "shape":"NonEmptyString", - "documentation":"

The AWS account ID of the master Security Hub account to this member account.

" + "documentation":"

The AWS account ID of the Security Hub master account to this member account.

" }, "MemberStatus":{ "shape":"NonEmptyString", @@ -2008,11 +2166,11 @@ }, "InvitedAt":{ "shape":"Timestamp", - "documentation":"

Time stamp at which the member account was invited to Security Hub.

" + "documentation":"

The timestamp of when the member account was invited to Security Hub.

" }, "UpdatedAt":{ "shape":"Timestamp", - "documentation":"

Time stamp at which this member account was updated.

" + "documentation":"

The timestamp of when this member account was updated.

" } }, "documentation":"

The details for a Security Hub member account.

" @@ -2026,7 +2184,7 @@ "members":{ "Direction":{ "shape":"NetworkDirection", - "documentation":"

Indicates the direction of network traffic associated with a finding.

" + "documentation":"

The direction of network traffic associated with a finding.

" }, "Protocol":{ "shape":"NonEmptyString", @@ -2129,15 +2287,15 @@ "members":{ "Gte":{ "shape":"Double", - "documentation":"

Represents the \"greater than equal\" condition to be applied to a single field when querying for findings.

" + "documentation":"

The greater-than-equal condition to be applied to a single field when querying for findings.

" }, "Lte":{ "shape":"Double", - "documentation":"

Represents the \"less than equal\" condition to be applied to a single field when querying for findings.

" + "documentation":"

The less-than-equal condition to be applied to a single field when querying for findings.

" }, "Eq":{ "shape":"Double", - "documentation":"

Represents the \"equal to\" condition to be applied to a single field when querying for findings.

" + "documentation":"

The equal-to condition to be applied to a single field when querying for findings.

" } }, "documentation":"

A number filter for querying findings.

" @@ -2184,10 +2342,57 @@ }, "documentation":"

The details of process-related information about a finding.

" }, + "Product":{ + "type":"structure", + "required":["ProductArn"], + "members":{ + "ProductArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN assigned to the product.

" + }, + "ProductName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the product.

" + }, + "CompanyName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the company that provides the product.

" + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

A description of the product.

" + }, + "Categories":{ + "shape":"CategoryList", + "documentation":"

The categories assigned to the product.

" + }, + "MarketplaceUrl":{ + "shape":"NonEmptyString", + "documentation":"

The URL for the page that contains more information about the product.

" + }, + "ActivationUrl":{ + "shape":"NonEmptyString", + "documentation":"

The URL used to activate the product.

" + }, + "ProductSubscriptionResourcePolicy":{ + "shape":"NonEmptyString", + "documentation":"

The resource policy asasociated with the product.

" + } + }, + "documentation":"

Contains details about a product.

" + }, + "ProductSubscribersList":{ + "type":"list", + "member":{"shape":"NonEmptyString"} + }, "ProductSubscriptionArnList":{ "type":"list", "member":{"shape":"NonEmptyString"} }, + "ProductsList":{ + "type":"list", + "member":{"shape":"Product"} + }, "Recommendation":{ "type":"structure", "members":{ @@ -2200,7 +2405,7 @@ "documentation":"

A URL to link to general remediation information for the finding type of a finding.

" } }, - "documentation":"

Provides a recommendation on how to remediate the issue identified within a finding.

" + "documentation":"

A recommendation on how to remediate the issue identified in a finding.

" }, "RecordState":{ "type":"string", @@ -2225,7 +2430,7 @@ "documentation":"

The solution-generated identifier for a related finding.

" } }, - "documentation":"

Related finding's details.

" + "documentation":"

A related finding's details.

" }, "RelatedFindingList":{ "type":"list", @@ -2236,7 +2441,7 @@ "members":{ "Recommendation":{ "shape":"Recommendation", - "documentation":"

Provides a recommendation on how to remediate the issue identified within a finding.

" + "documentation":"

A recommendation on how to remediate the issue identified within a finding.

" } }, "documentation":"

The remediation options for a finding.

" @@ -2250,7 +2455,7 @@ "members":{ "Type":{ "shape":"NonEmptyString", - "documentation":"

Specifies the type of the resource for which details are provided.

" + "documentation":"

The type of the resource that details are provided for.

" }, "Id":{ "shape":"NonEmptyString", @@ -2258,11 +2463,11 @@ }, "Partition":{ "shape":"Partition", - "documentation":"

The canonical AWS partition name to which the region is assigned.

" + "documentation":"

The canonical AWS partition name that the Region is assigned to.

" }, "Region":{ "shape":"NonEmptyString", - "documentation":"

The canonical AWS external region name where this resource is located.

" + "documentation":"

The canonical AWS external Region name where this resource is located.

" }, "Tags":{ "shape":"FieldMap", @@ -2270,25 +2475,35 @@ }, "Details":{ "shape":"ResourceDetails", - "documentation":"

Provides additional details about the resource.

" + "documentation":"

Additional details about the resource.

" } }, - "documentation":"

A resource data type that describes a resource to which the finding refers.

" + "documentation":"

A resource data type that describes a resource that the finding refers to.

" + }, + "ResourceConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"}, + "Code":{"shape":"NonEmptyString"} + }, + "documentation":"

The resource specified in the request conflicts with an existing resource.

", + "error":{"httpStatusCode":409}, + "exception":true }, "ResourceDetails":{ "type":"structure", "members":{ "AwsEc2Instance":{ "shape":"AwsEc2InstanceDetails", - "documentation":"

The details of an AWS EC2 instance.

" + "documentation":"

The details of an Amazon EC2 instance.

" }, "AwsS3Bucket":{ "shape":"AwsS3BucketDetails", - "documentation":"

The details of an AWS S3 Bucket.

" + "documentation":"

The details of an Amazon S3 Bucket.

" }, "AwsIamAccessKey":{ "shape":"AwsIamAccessKeyDetails", - "documentation":"

AWS IAM access key details related to a finding.

" + "documentation":"

IAM access key details related to a finding.

" }, "Container":{ "shape":"ContainerDetails", @@ -2296,10 +2511,10 @@ }, "Other":{ "shape":"FieldMap", - "documentation":"

The details of a resource that does not have a specific sub-field for the resource type defined.

" + "documentation":"

The details of a resource that doesn't have a specific subfield for the resource type defined.

" } }, - "documentation":"

Provides additional details about the resource.

" + "documentation":"

Additional details about the resource.

" }, "ResourceList":{ "type":"list", @@ -2311,7 +2526,7 @@ "Message":{"shape":"NonEmptyString"}, "Code":{"shape":"NonEmptyString"} }, - "documentation":"

The request was rejected because the specified resource cannot be found.

", + "documentation":"

The request was rejected because we can't find the specified resource.

", "error":{"httpStatusCode":404}, "exception":true }, @@ -2320,14 +2535,14 @@ "members":{ "AccountId":{ "shape":"AccountId", - "documentation":"

An ID of the AWS account that could not be processed.

" + "documentation":"

An ID of the AWS account that couldn't be processed.

" }, "ProcessingResult":{ "shape":"NonEmptyString", - "documentation":"

The reason for why an account could not be processed.

" + "documentation":"

The reason for why an account couldn't be processed.

" } }, - "documentation":"

The account details that could not be processed.

" + "documentation":"

The account details that couldn't be processed.

" }, "ResultList":{ "type":"list", @@ -2339,7 +2554,7 @@ "members":{ "Product":{ "shape":"Double", - "documentation":"

The native severity as defined by the security findings provider's solution that generated the finding.

" + "documentation":"

The native severity as defined by the security-findings provider's solution that generated the finding.

" }, "Normalized":{ "shape":"Integer", @@ -2384,7 +2599,8 @@ "PENDING", "READY", "FAILED", - "DELETING" + "DELETING", + "INCOMPLETE" ] }, "StandardsSubscription":{ @@ -2402,7 +2618,7 @@ }, "StandardsArn":{ "shape":"NonEmptyString", - "documentation":"

The ARN of a standard.

" + "documentation":"

The ARN of a standard.

In this release, Security Hub supports only the CIS AWS Foundations standard.

Its ARN is arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0.

" }, "StandardsInput":{ "shape":"StandardsInputParameterMap", @@ -2427,7 +2643,7 @@ "members":{ "StandardsArn":{ "shape":"NonEmptyString", - "documentation":"

The ARN of the standard that you want to enable.

" + "documentation":"

The ARN of the standard that you want to enable.

In this release, Security Hub only supports the CIS AWS Foundations standard.

Its ARN is arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0.

" }, "StandardsInput":{ "shape":"StandardsInputParameterMap", @@ -2455,7 +2671,7 @@ }, "Comparison":{ "shape":"StringFilterComparison", - "documentation":"

Represents the condition to be applied to a string value when querying for findings.

" + "documentation":"

The condition to be applied to a string value when querying for findings.

" } }, "documentation":"

A string filter for querying findings.

" @@ -2464,7 +2680,6 @@ "type":"string", "enum":[ "EQUALS", - "CONTAINS", "PREFIX" ] }, @@ -2551,7 +2766,7 @@ "members":{ "Filters":{ "shape":"AwsSecurityFindingFilters", - "documentation":"

A collection of attributes that specify what findings you want to update.

" + "documentation":"

A collection of attributes that specify which findings you want to update.

" }, "Note":{ "shape":"NoteUpdate", @@ -2588,7 +2803,7 @@ }, "GroupByAttribute":{ "shape":"NonEmptyString", - "documentation":"

The updated GroupBy attribute that defines this insight.

" + "documentation":"

The updated GroupBy attribute that defines this insight.

" } } }, @@ -2617,5 +2832,5 @@ ] } }, - "documentation":"

AWS Security Hub provides you with a comprehensive view of your security state within AWS and your compliance with the security industry standards and best practices. Security Hub collects security data from across AWS accounts, services, and supported third-party partners and helps you analyze your security trends and identify the highest priority security issues. For more information, see AWS Security Hub User Guide.

" + "documentation":"

AWS Security Hub provides you with a comprehensive view of your security state in AWS and your compliance with the security industry standards and best practices. Security Hub collects security data from across AWS accounts, services, and supported third-party partners and helps you analyze your security trends and identify the highest priority security issues. For more information, see AWS Security Hub User Guide.

Important: AWS Security Hub is currently in Preview release.

" } diff --git a/bin/botocore/data/serverlessrepo/2017-09-08/paginators-1.json b/bin/botocore/data/serverlessrepo/2017-09-08/paginators-1.json index ea142457..a39e5477 100644 --- a/bin/botocore/data/serverlessrepo/2017-09-08/paginators-1.json +++ b/bin/botocore/data/serverlessrepo/2017-09-08/paginators-1.json @@ -1,3 +1,22 @@ { - "pagination": {} + "pagination": { + "ListApplicationDependencies": { + "input_token": "NextToken", + "limit_key": "MaxItems", + "output_token": "NextToken", + "result_key": "Dependencies" + }, + "ListApplicationVersions": { + "input_token": "NextToken", + "limit_key": "MaxItems", + "output_token": "NextToken", + "result_key": "Versions" + }, + "ListApplications": { + "input_token": "NextToken", + "limit_key": "MaxItems", + "output_token": "NextToken", + "result_key": "Applications" + } + } } diff --git a/bin/botocore/data/serverlessrepo/2017-09-08/service-2.json b/bin/botocore/data/serverlessrepo/2017-09-08/service-2.json index 4499d924..6158adc7 100644 --- a/bin/botocore/data/serverlessrepo/2017-09-08/service-2.json +++ b/bin/botocore/data/serverlessrepo/2017-09-08/service-2.json @@ -451,7 +451,7 @@ "HomePageUrl" : { "shape" : "__string", "locationName" : "homePageUrl", - "documentation" : "

A URL with more information about the application, for example\n the location of your GitHub repository for the application.

" + "documentation" : "

A URL with more information about the application, for example the location of your GitHub repository for the application.

" }, "Labels" : { "shape" : "__listOf__string", @@ -561,7 +561,7 @@ "Principals" : { "shape" : "__listOf__string", "locationName" : "principals", - "documentation" : "

An AWS account ID, or * to make the application public.

" + "documentation" : "

An array of AWS account IDs, or * to make the application public.

" }, "StatementId" : { "shape" : "__string", @@ -598,7 +598,7 @@ "HomePageUrl" : { "shape" : "__string", "locationName" : "homePageUrl", - "documentation" : "

A URL with more information about the application, for example\n the location of your GitHub repository for the application.

" + "documentation" : "

A URL with more information about the application, for example the location of your GitHub repository for the application.

" }, "Labels" : { "shape" : "__listOf__string", @@ -724,7 +724,7 @@ "HomePageUrl" : { "shape" : "__string", "locationName" : "homePageUrl", - "documentation" : "

A URL with more information about the application, for example\n the location of your GitHub repository for the application.

" + "documentation" : "

A URL with more information about the application, for example the location of your GitHub repository for the application.

" }, "Labels" : { "shape" : "__listOf__string", @@ -761,10 +761,15 @@ "locationName" : "semanticVersion", "documentation" : "

The semantic version of the application:

\n https://semver.org/\n

" }, + "SourceCodeArchiveUrl" : { + "shape" : "__string", + "locationName" : "sourceCodeArchiveUrl", + "documentation" : "

A link to the S3 object that contains the ZIP archive of the source code for this version of your application.

Maximum size 50 MB

" + }, "SourceCodeUrl" : { "shape" : "__string", "locationName" : "sourceCodeUrl", - "documentation" : "

A link to a public repository for the source code of your application.

" + "documentation" : "

A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.

" }, "SpdxLicenseId" : { "shape" : "__string", @@ -801,7 +806,7 @@ "HomePageUrl" : { "shape" : "__string", "locationName" : "homePageUrl", - "documentation" : "

A URL with more information about the application, for example\n the location of your GitHub repository for the application.

" + "documentation" : "

A URL with more information about the application, for example the location of your GitHub repository for the application.

" }, "Labels" : { "shape" : "__listOf__string", @@ -838,10 +843,15 @@ "locationName" : "semanticVersion", "documentation" : "

The semantic version of the application:

\n https://semver.org/\n

" }, + "SourceCodeArchiveUrl" : { + "shape" : "__string", + "locationName" : "sourceCodeArchiveUrl", + "documentation" : "

A link to the S3 object that contains the ZIP archive of the source code for this version of your application.

Maximum size 50 MB

" + }, "SourceCodeUrl" : { "shape" : "__string", "locationName" : "sourceCodeUrl", - "documentation" : "

A link to a public repository for the source code of your application.

" + "documentation" : "

A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.

" }, "SpdxLicenseId" : { "shape" : "__string", @@ -887,7 +897,7 @@ "HomePageUrl" : { "shape" : "__string", "locationName" : "homePageUrl", - "documentation" : "

A URL with more information about the application, for example\n the location of your GitHub repository for the application.

" + "documentation" : "

A URL with more information about the application, for example the location of your GitHub repository for the application.

" }, "Labels" : { "shape" : "__listOf__string", @@ -924,10 +934,15 @@ "CreateApplicationVersionInput" : { "type" : "structure", "members" : { + "SourceCodeArchiveUrl" : { + "shape" : "__string", + "locationName" : "sourceCodeArchiveUrl", + "documentation" : "

A link to the S3 object that contains the ZIP archive of the source code for this version of your application.

Maximum size 50 MB

" + }, "SourceCodeUrl" : { "shape" : "__string", "locationName" : "sourceCodeUrl", - "documentation" : "

A link to a public repository for the source code of your application.

" + "documentation" : "

A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.

" }, "TemplateBody" : { "shape" : "__string", @@ -957,10 +972,15 @@ "locationName" : "semanticVersion", "documentation" : "

The semantic version of the new version.

" }, + "SourceCodeArchiveUrl" : { + "shape" : "__string", + "locationName" : "sourceCodeArchiveUrl", + "documentation" : "

A link to the S3 object that contains the ZIP archive of the source code for this version of your application.

Maximum size 50 MB

" + }, "SourceCodeUrl" : { "shape" : "__string", "locationName" : "sourceCodeUrl", - "documentation" : "

A link to a public repository for the source code of your application.

" + "documentation" : "

A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.

" }, "TemplateBody" : { "shape" : "__string", @@ -996,7 +1016,7 @@ "RequiredCapabilities" : { "shape" : "__listOfCapability", "locationName" : "requiredCapabilities", - "documentation" : "

A list of values that you must specify before you can deploy certain applications.\n Some applications might include resources that can affect permissions in your AWS\n account, for example, by creating new AWS Identity and Access Management (IAM) users.\n For those applications, you must explicitly acknowledge their capabilities by\n specifying this parameter.

The only valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM,\n and CAPABILITY_RESOURCE_POLICY.

The following resources require you to specify CAPABILITY_IAM or\n CAPABILITY_NAMED_IAM:\n AWS::IAM::Group,\n AWS::IAM::InstanceProfile,\n AWS::IAM::Policy, and\n AWS::IAM::Role.\n If the application contains IAM resources, you can specify either CAPABILITY_IAM\n or CAPABILITY_NAMED_IAM. If the application contains IAM resources\n with custom names, you must specify CAPABILITY_NAMED_IAM.

The following resources require you to specify CAPABILITY_RESOURCE_POLICY:\n AWS::Lambda::Permission,\n AWS::IAM:Policy,\n AWS::ApplicationAutoScaling::ScalingPolicy,\n AWS::S3::BucketPolicy,\n AWS::SQS::QueuePolicy, and\n AWS::SNS::TopicPolicy.

If your application template contains any of the above resources, we recommend that you review\n all permissions associated with the application before deploying. If you don't specify\n this parameter for an application that requires capabilities, the call will fail.

Valid values: CAPABILITY_IAM | CAPABILITY_NAMED_IAM | CAPABILITY_RESOURCE_POLICY\n

" + "documentation" : "

A list of values that you must specify before you can deploy certain applications.\n Some applications might include resources that can affect permissions in your AWS\n account, for example, by creating new AWS Identity and Access Management (IAM) users.\n For those applications, you must explicitly acknowledge their capabilities by\n specifying this parameter.

The only valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM,\n CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.

The following resources require you to specify CAPABILITY_IAM or\n CAPABILITY_NAMED_IAM:\n AWS::IAM::Group,\n AWS::IAM::InstanceProfile,\n AWS::IAM::Policy, and\n AWS::IAM::Role.\n If the application contains IAM resources, you can specify either CAPABILITY_IAM\n or CAPABILITY_NAMED_IAM. If the application contains IAM resources\n with custom names, you must specify CAPABILITY_NAMED_IAM.

The following resources require you to specify CAPABILITY_RESOURCE_POLICY:\n AWS::Lambda::Permission,\n AWS::IAM:Policy,\n AWS::ApplicationAutoScaling::ScalingPolicy,\n AWS::S3::BucketPolicy,\n AWS::SQS::QueuePolicy, and\n AWS::SNS::TopicPolicy.

Applications that contain one or more nested applications require you to specify\n CAPABILITY_AUTO_EXPAND.

If your application template contains any of the above resources, we recommend that you review\n all permissions associated with the application before deploying. If you don't specify\n this parameter for an application that requires capabilities, the call will fail.

" }, "ResourcesSupported" : { "shape" : "__boolean", @@ -1008,10 +1028,15 @@ "locationName" : "semanticVersion", "documentation" : "

The semantic version of the application:

\n https://semver.org/\n

" }, + "SourceCodeArchiveUrl" : { + "shape" : "__string", + "locationName" : "sourceCodeArchiveUrl", + "documentation" : "

A link to the S3 object that contains the ZIP archive of the source code for this version of your application.

Maximum size 50 MB

" + }, "SourceCodeUrl" : { "shape" : "__string", "locationName" : "sourceCodeUrl", - "documentation" : "

A link to a public repository for the source code of your application.

" + "documentation" : "

A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.

" }, "TemplateUrl" : { "shape" : "__string", @@ -1026,27 +1051,27 @@ "Capabilities" : { "shape" : "__listOf__string", "locationName" : "capabilities", - "documentation" : "

A list of values that you must specify before you can deploy certain applications.\n Some applications might include resources that can affect permissions in your AWS\n account, for example, by creating new AWS Identity and Access Management (IAM) users.\n For those applications, you must explicitly acknowledge their capabilities by\n specifying this parameter.

The only valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM,\n and CAPABILITY_RESOURCE_POLICY.

The following resources require you to specify CAPABILITY_IAM or\n CAPABILITY_NAMED_IAM:\n AWS::IAM::Group,\n AWS::IAM::InstanceProfile,\n AWS::IAM::Policy, and\n AWS::IAM::Role.\n If the application contains IAM resources, you can specify either CAPABILITY_IAM\n or CAPABILITY_NAMED_IAM. If the application contains IAM resources\n with custom names, you must specify CAPABILITY_NAMED_IAM.

The following resources require you to specify CAPABILITY_RESOURCE_POLICY:\n AWS::Lambda::Permission,\n AWS::IAM:Policy,\n AWS::ApplicationAutoScaling::ScalingPolicy,\n AWS::S3::BucketPolicy,\n AWS::SQS::QueuePolicy, and\n AWS::SNS:TopicPolicy.

If your application template contains any of the above resources, we recommend that you review\n all permissions associated with the application before deploying. If you don't specify\n this parameter for an application that requires capabilities, the call will fail.

Valid values: CAPABILITY_IAM | CAPABILITY_NAMED_IAM | CAPABILITY_RESOURCE_POLICY\n

" + "documentation" : "

A list of values that you must specify before you can deploy certain applications.\n Some applications might include resources that can affect permissions in your AWS\n account, for example, by creating new AWS Identity and Access Management (IAM) users.\n For those applications, you must explicitly acknowledge their capabilities by\n specifying this parameter.

The only valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM,\n CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.

The following resources require you to specify CAPABILITY_IAM or\n CAPABILITY_NAMED_IAM:\n AWS::IAM::Group,\n AWS::IAM::InstanceProfile,\n AWS::IAM::Policy, and\n AWS::IAM::Role.\n If the application contains IAM resources, you can specify either CAPABILITY_IAM\n or CAPABILITY_NAMED_IAM. If the application contains IAM resources\n with custom names, you must specify CAPABILITY_NAMED_IAM.

The following resources require you to specify CAPABILITY_RESOURCE_POLICY:\n AWS::Lambda::Permission,\n AWS::IAM:Policy,\n AWS::ApplicationAutoScaling::ScalingPolicy,\n AWS::S3::BucketPolicy,\n AWS::SQS::QueuePolicy, and\n AWS::SNS:TopicPolicy.

Applications that contain one or more nested applications require you to specify\n CAPABILITY_AUTO_EXPAND.

If your application template contains any of the above resources, we recommend that you review\n all permissions associated with the application before deploying. If you don't specify\n this parameter for an application that requires capabilities, the call will fail.

" }, "ChangeSetName" : { "shape" : "__string", "locationName" : "changeSetName", - "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet API.

" + "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

" }, "ClientToken" : { "shape" : "__string", "locationName" : "clientToken", - "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet API.

" + "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

" }, "Description" : { "shape" : "__string", "locationName" : "description", - "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet API.

" + "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

" }, "NotificationArns" : { "shape" : "__listOf__string", "locationName" : "notificationArns", - "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet API.

" + "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

" }, "ParameterOverrides" : { "shape" : "__listOfParameterValue", @@ -1056,12 +1081,12 @@ "ResourceTypes" : { "shape" : "__listOf__string", "locationName" : "resourceTypes", - "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet API.

" + "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

" }, "RollbackConfiguration" : { "shape" : "RollbackConfiguration", "locationName" : "rollbackConfiguration", - "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet API.

" + "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

" }, "SemanticVersion" : { "shape" : "__string", @@ -1071,12 +1096,12 @@ "StackName" : { "shape" : "__string", "locationName" : "stackName", - "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet API.

" + "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

" }, "Tags" : { "shape" : "__listOfTag", "locationName" : "tags", - "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet API.

" + "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

" }, "TemplateId" : { "shape" : "__string", @@ -1099,27 +1124,27 @@ "Capabilities" : { "shape" : "__listOf__string", "locationName" : "capabilities", - "documentation" : "

A list of values that you must specify before you can deploy certain applications.\n Some applications might include resources that can affect permissions in your AWS\n account, for example, by creating new AWS Identity and Access Management (IAM) users.\n For those applications, you must explicitly acknowledge their capabilities by\n specifying this parameter.

The only valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM,\n and CAPABILITY_RESOURCE_POLICY.

The following resources require you to specify CAPABILITY_IAM or\n CAPABILITY_NAMED_IAM:\n AWS::IAM::Group,\n AWS::IAM::InstanceProfile,\n AWS::IAM::Policy, and\n AWS::IAM::Role.\n If the application contains IAM resources, you can specify either CAPABILITY_IAM\n or CAPABILITY_NAMED_IAM. If the application contains IAM resources\n with custom names, you must specify CAPABILITY_NAMED_IAM.

The following resources require you to specify CAPABILITY_RESOURCE_POLICY:\n AWS::Lambda::Permission,\n AWS::IAM:Policy,\n AWS::ApplicationAutoScaling::ScalingPolicy,\n AWS::S3::BucketPolicy,\n AWS::SQS::QueuePolicy, and\n AWS::SNS:TopicPolicy.

If your application template contains any of the above resources, we recommend that you review\n all permissions associated with the application before deploying. If you don't specify\n this parameter for an application that requires capabilities, the call will fail.

Valid values: CAPABILITY_IAM | CAPABILITY_NAMED_IAM | CAPABILITY_RESOURCE_POLICY\n

" + "documentation" : "

A list of values that you must specify before you can deploy certain applications.\n Some applications might include resources that can affect permissions in your AWS\n account, for example, by creating new AWS Identity and Access Management (IAM) users.\n For those applications, you must explicitly acknowledge their capabilities by\n specifying this parameter.

The only valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM,\n CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.

The following resources require you to specify CAPABILITY_IAM or\n CAPABILITY_NAMED_IAM:\n AWS::IAM::Group,\n AWS::IAM::InstanceProfile,\n AWS::IAM::Policy, and\n AWS::IAM::Role.\n If the application contains IAM resources, you can specify either CAPABILITY_IAM\n or CAPABILITY_NAMED_IAM. If the application contains IAM resources\n with custom names, you must specify CAPABILITY_NAMED_IAM.

The following resources require you to specify CAPABILITY_RESOURCE_POLICY:\n AWS::Lambda::Permission,\n AWS::IAM:Policy,\n AWS::ApplicationAutoScaling::ScalingPolicy,\n AWS::S3::BucketPolicy,\n AWS::SQS::QueuePolicy, and\n AWS::SNS:TopicPolicy.

Applications that contain one or more nested applications require you to specify\n CAPABILITY_AUTO_EXPAND.

If your application template contains any of the above resources, we recommend that you review\n all permissions associated with the application before deploying. If you don't specify\n this parameter for an application that requires capabilities, the call will fail.

" }, "ChangeSetName" : { "shape" : "__string", "locationName" : "changeSetName", - "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet API.

" + "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

" }, "ClientToken" : { "shape" : "__string", "locationName" : "clientToken", - "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet API.

" + "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

" }, "Description" : { "shape" : "__string", "locationName" : "description", - "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet API.

" + "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

" }, "NotificationArns" : { "shape" : "__listOf__string", "locationName" : "notificationArns", - "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet API.

" + "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

" }, "ParameterOverrides" : { "shape" : "__listOfParameterValue", @@ -1129,12 +1154,12 @@ "ResourceTypes" : { "shape" : "__listOf__string", "locationName" : "resourceTypes", - "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet API.

" + "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

" }, "RollbackConfiguration" : { "shape" : "RollbackConfiguration", "locationName" : "rollbackConfiguration", - "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet API.

" + "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

" }, "SemanticVersion" : { "shape" : "__string", @@ -1144,12 +1169,12 @@ "StackName" : { "shape" : "__string", "locationName" : "stackName", - "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet API.

" + "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

" }, "Tags" : { "shape" : "__listOfTag", "locationName" : "tags", - "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet API.

" + "documentation" : "

This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

" }, "TemplateId" : { "shape" : "__string", @@ -1227,7 +1252,7 @@ "Status" : { "shape" : "Status", "locationName" : "status", - "documentation" : "

Status of the template creation workflow.

Possible values: PREPARING | ACTIVE | EXPIRED

" + "documentation" : "

Status of the template creation workflow.

Possible values: PREPARING | ACTIVE | EXPIRED\n

" }, "TemplateId" : { "shape" : "__string", @@ -1339,7 +1364,7 @@ "HomePageUrl" : { "shape" : "__string", "locationName" : "homePageUrl", - "documentation" : "

A URL with more information about the application, for example\n the location of your GitHub repository for the application.

" + "documentation" : "

A URL with more information about the application, for example the location of your GitHub repository for the application.

" }, "Labels" : { "shape" : "__listOf__string", @@ -1417,7 +1442,7 @@ "Status" : { "shape" : "Status", "locationName" : "status", - "documentation" : "

Status of the template creation workflow.

Possible values: PREPARING | ACTIVE | EXPIRED

" + "documentation" : "

Status of the template creation workflow.

Possible values: PREPARING | ACTIVE | EXPIRED\n

" }, "TemplateId" : { "shape" : "__string", @@ -1714,15 +1739,15 @@ "MonitoringTimeInMinutes" : { "shape" : "__integer", "locationName" : "monitoringTimeInMinutes", - "documentation" : "

This property corresponds to the content of the same name for the AWS CloudFormation RollbackConfiguration Data Type.

" + "documentation" : "

This property corresponds to the content of the same name for the AWS CloudFormation RollbackConfiguration\n Data Type.

" }, "RollbackTriggers" : { "shape" : "__listOfRollbackTrigger", "locationName" : "rollbackTriggers", - "documentation" : "

This property corresponds to the content of the same name for the AWS CloudFormation RollbackConfiguration Data Type.

" + "documentation" : "

This property corresponds to the content of the same name for the AWS CloudFormation RollbackConfiguration\n Data Type.

" } }, - "documentation" : "

This property corresponds to the AWS CloudFormation RollbackConfiguration Data Type.

" + "documentation" : "

This property corresponds to the AWS CloudFormation RollbackConfiguration\n Data Type.

" }, "RollbackTrigger" : { "type" : "structure", @@ -1730,15 +1755,15 @@ "Arn" : { "shape" : "__string", "locationName" : "arn", - "documentation" : "

This property corresponds to the content of the same name for the AWS CloudFormation RollbackTrigger Data Type.

" + "documentation" : "

This property corresponds to the content of the same name for the AWS CloudFormation RollbackTrigger\n Data Type.

" }, "Type" : { "shape" : "__string", "locationName" : "type", - "documentation" : "

This property corresponds to the content of the same name for the AWS CloudFormation RollbackTrigger Data Type.

" + "documentation" : "

This property corresponds to the content of the same name for the AWS CloudFormation RollbackTrigger\n Data Type.

" } }, - "documentation" : "

This property corresponds to the AWS CloudFormation RollbackTrigger Data Type.

", + "documentation" : "

This property corresponds to the AWS CloudFormation RollbackTrigger\n Data Type.

", "required" : [ "Type", "Arn" ] }, "Status" : { @@ -1751,7 +1776,7 @@ "Key" : { "shape" : "__string", "locationName" : "key", - "documentation" : "

This property corresponds to the content of the same name for the AWS CloudFormation Tag Data Type.

" + "documentation" : "

This property corresponds to the content of the same name for the AWS CloudFormation Tag\n Data Type.

" }, "Value" : { "shape" : "__string", @@ -1759,7 +1784,7 @@ "documentation" : "

This property corresponds to the content of the same name for the AWS CloudFormation \n Tag\n \n Data Type.

" } }, - "documentation" : "

This property corresponds to the AWS CloudFormation Tag Data Type.

", + "documentation" : "

This property corresponds to the AWS CloudFormation Tag\n Data Type.

", "required" : [ "Value", "Key" ] }, "TemplateDetails" : { @@ -1788,7 +1813,7 @@ "Status" : { "shape" : "Status", "locationName" : "status", - "documentation" : "

Status of the template creation workflow.

Possible values: PREPARING | ACTIVE | EXPIRED

" + "documentation" : "

Status of the template creation workflow.

Possible values: PREPARING | ACTIVE | EXPIRED\n

" }, "TemplateId" : { "shape" : "__string", @@ -1840,7 +1865,7 @@ "HomePageUrl" : { "shape" : "__string", "locationName" : "homePageUrl", - "documentation" : "

A URL with more information about the application, for example\n the location of your GitHub repository for the application.

" + "documentation" : "

A URL with more information about the application, for example the location of your GitHub repository for the application.

" }, "Labels" : { "shape" : "__listOf__string", @@ -1882,7 +1907,7 @@ "HomePageUrl" : { "shape" : "__string", "locationName" : "homePageUrl", - "documentation" : "

A URL with more information about the application, for example\n the location of your GitHub repository for the application.

" + "documentation" : "

A URL with more information about the application, for example the location of your GitHub repository for the application.

" }, "Labels" : { "shape" : "__listOf__string", @@ -1928,7 +1953,7 @@ "HomePageUrl" : { "shape" : "__string", "locationName" : "homePageUrl", - "documentation" : "

A URL with more information about the application, for example\n the location of your GitHub repository for the application.

" + "documentation" : "

A URL with more information about the application, for example the location of your GitHub repository for the application.

" }, "Labels" : { "shape" : "__listOf__string", @@ -1983,7 +2008,7 @@ "RequiredCapabilities" : { "shape" : "__listOfCapability", "locationName" : "requiredCapabilities", - "documentation" : "

A list of values that you must specify before you can deploy certain applications.\n Some applications might include resources that can affect permissions in your AWS\n account, for example, by creating new AWS Identity and Access Management (IAM) users.\n For those applications, you must explicitly acknowledge their capabilities by\n specifying this parameter.

The only valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM,\n and CAPABILITY_RESOURCE_POLICY.

The following resources require you to specify CAPABILITY_IAM or\n CAPABILITY_NAMED_IAM:\n AWS::IAM::Group,\n AWS::IAM::InstanceProfile,\n AWS::IAM::Policy, and\n AWS::IAM::Role.\n If the application contains IAM resources, you can specify either CAPABILITY_IAM\n or CAPABILITY_NAMED_IAM. If the application contains IAM resources\n with custom names, you must specify CAPABILITY_NAMED_IAM.

The following resources require you to specify CAPABILITY_RESOURCE_POLICY:\n AWS::Lambda::Permission,\n AWS::IAM:Policy,\n AWS::ApplicationAutoScaling::ScalingPolicy,\n AWS::S3::BucketPolicy,\n AWS::SQS::QueuePolicy, and\n AWS::SNS::TopicPolicy.

If your application template contains any of the above resources, we recommend that you review\n all permissions associated with the application before deploying. If you don't specify\n this parameter for an application that requires capabilities, the call will fail.

Valid values: CAPABILITY_IAM | CAPABILITY_NAMED_IAM | CAPABILITY_RESOURCE_POLICY\n

" + "documentation" : "

A list of values that you must specify before you can deploy certain applications.\n Some applications might include resources that can affect permissions in your AWS\n account, for example, by creating new AWS Identity and Access Management (IAM) users.\n For those applications, you must explicitly acknowledge their capabilities by\n specifying this parameter.

The only valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM,\n CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.

The following resources require you to specify CAPABILITY_IAM or\n CAPABILITY_NAMED_IAM:\n AWS::IAM::Group,\n AWS::IAM::InstanceProfile,\n AWS::IAM::Policy, and\n AWS::IAM::Role.\n If the application contains IAM resources, you can specify either CAPABILITY_IAM\n or CAPABILITY_NAMED_IAM. If the application contains IAM resources\n with custom names, you must specify CAPABILITY_NAMED_IAM.

The following resources require you to specify CAPABILITY_RESOURCE_POLICY:\n AWS::Lambda::Permission,\n AWS::IAM:Policy,\n AWS::ApplicationAutoScaling::ScalingPolicy,\n AWS::S3::BucketPolicy,\n AWS::SQS::QueuePolicy, and\n AWS::SNS::TopicPolicy.

Applications that contain one or more nested applications require you to specify\n CAPABILITY_AUTO_EXPAND.

If your application template contains any of the above resources, we recommend that you review\n all permissions associated with the application before deploying. If you don't specify\n this parameter for an application that requires capabilities, the call will fail.

" }, "ResourcesSupported" : { "shape" : "__boolean", @@ -1995,10 +2020,15 @@ "locationName" : "semanticVersion", "documentation" : "

The semantic version of the application:

\n https://semver.org/\n

" }, + "SourceCodeArchiveUrl" : { + "shape" : "__string", + "locationName" : "sourceCodeArchiveUrl", + "documentation" : "

A link to the S3 object that contains the ZIP archive of the source code for this version of your application.

Maximum size 50 MB

" + }, "SourceCodeUrl" : { "shape" : "__string", "locationName" : "sourceCodeUrl", - "documentation" : "

A link to a public repository for the source code of your application.

" + "documentation" : "

A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.

" }, "TemplateUrl" : { "shape" : "__string", @@ -2030,7 +2060,7 @@ "SourceCodeUrl" : { "shape" : "__string", "locationName" : "sourceCodeUrl", - "documentation" : "

A link to a public repository for the source code of your application.

" + "documentation" : "

A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.

" } }, "documentation" : "

An application version summary.

", diff --git a/bin/botocore/data/servicecatalog/2015-12-10/paginators-1.json b/bin/botocore/data/servicecatalog/2015-12-10/paginators-1.json index bb399615..5770fefa 100644 --- a/bin/botocore/data/servicecatalog/2015-12-10/paginators-1.json +++ b/bin/botocore/data/servicecatalog/2015-12-10/paginators-1.json @@ -53,6 +53,48 @@ "output_token": "PageToken", "input_token": "PageToken", "limit_key": "PageSize" + }, + "ListOrganizationPortfolioAccess": { + "input_token": "PageToken", + "limit_key": "PageSize", + "output_token": "NextPageToken", + "result_key": "OrganizationNodes" + }, + "ListProvisionedProductPlans": { + "input_token": "PageToken", + "limit_key": "PageSize", + "output_token": "NextPageToken", + "result_key": "ProvisionedProductPlans" + }, + "ListProvisioningArtifactsForServiceAction": { + "input_token": "PageToken", + "limit_key": "PageSize", + "output_token": "NextPageToken", + "result_key": "ProvisioningArtifactViews" + }, + "ListRecordHistory": { + "input_token": "PageToken", + "limit_key": "PageSize", + "output_token": "NextPageToken", + "result_key": "RecordDetails" + }, + "ListServiceActions": { + "input_token": "PageToken", + "limit_key": "PageSize", + "output_token": "NextPageToken", + "result_key": "ServiceActionSummaries" + }, + "ListServiceActionsForProvisioningArtifact": { + "input_token": "PageToken", + "limit_key": "PageSize", + "output_token": "NextPageToken", + "result_key": "ServiceActionSummaries" + }, + "ScanProvisionedProducts": { + "input_token": "PageToken", + "limit_key": "PageSize", + "output_token": "NextPageToken", + "result_key": "ProvisionedProducts" } } } diff --git a/bin/botocore/data/servicecatalog/2015-12-10/service-2.json b/bin/botocore/data/servicecatalog/2015-12-10/service-2.json index 933d1d7b..6880e89a 100644 --- a/bin/botocore/data/servicecatalog/2015-12-10/service-2.json +++ b/bin/botocore/data/servicecatalog/2015-12-10/service-2.json @@ -27,6 +27,22 @@ ], "documentation":"

Accepts an offer to share the specified portfolio.

" }, + "AssociateBudgetWithResource":{ + "name":"AssociateBudgetWithResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateBudgetWithResourceInput"}, + "output":{"shape":"AssociateBudgetWithResourceOutput"}, + "errors":[ + {"shape":"InvalidParametersException"}, + {"shape":"DuplicateResourceException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Associates the specified budget with the specified resource.

" + }, "AssociatePrincipalWithPortfolio":{ "name":"AssociatePrincipalWithPortfolio", "http":{ @@ -173,7 +189,8 @@ {"shape":"ResourceNotFoundException"}, {"shape":"LimitExceededException"}, {"shape":"InvalidParametersException"}, - {"shape":"OperationNotSupportedException"} + {"shape":"OperationNotSupportedException"}, + {"shape":"InvalidStateException"} ], "documentation":"

Shares the specified portfolio with the specified account or organization node. Shares to an organization node can only be created by the master account of an Organization. AWSOrganizationsAccess must be enabled in order to create a portfolio share to an organization node.

" }, @@ -292,7 +309,8 @@ "errors":[ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParametersException"}, - {"shape":"OperationNotSupportedException"} + {"shape":"OperationNotSupportedException"}, + {"shape":"InvalidStateException"} ], "documentation":"

Stops sharing the specified portfolio with the specified account or organization node. Shares to an organization node can only be deleted by the master account of an Organization.

" }, @@ -530,7 +548,7 @@ "errors":[ {"shape":"ResourceNotFoundException"} ], - "documentation":"

Gets information about the specified request operation.

Use this operation after calling a request operation (for example, ProvisionProduct, TerminateProvisionedProduct, or UpdateProvisionedProduct).

" + "documentation":"

Gets information about the specified request operation.

Use this operation after calling a request operation (for example, ProvisionProduct, TerminateProvisionedProduct, or UpdateProvisionedProduct).

If a provisioned product was transferred to a new owner using UpdateProvisionedProductProperties, the new owner will be able to describe all past records for that product. The previous owner will no longer be able to describe the records, but will be able to use ListRecordHistory to see the product's history from when he was the owner.

" }, "DescribeServiceAction":{ "name":"DescribeServiceAction", @@ -574,6 +592,19 @@ ], "documentation":"

Disable portfolio sharing through AWS Organizations feature. This feature will not delete your current shares but it will prevent you from creating new shares throughout your organization. Current shares will not be in sync with your organization structure if it changes after calling this API. This API can only be called by the master account in the organization.

" }, + "DisassociateBudgetFromResource":{ + "name":"DisassociateBudgetFromResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateBudgetFromResourceInput"}, + "output":{"shape":"DisassociateBudgetFromResourceOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Disassociates the specified budget from the specified resource.

" + }, "DisassociatePrincipalFromPortfolio":{ "name":"DisassociatePrincipalFromPortfolio", "http":{ @@ -643,7 +674,7 @@ {"shape":"InvalidStateException"}, {"shape":"OperationNotSupportedException"} ], - "documentation":"

Enable portfolio sharing feature through AWS Organizations. This API will allow Service Catalog to receive updates on your organization in order to sync your shares with the current structure. This API can only be called by the master account in the organization.

By calling this API Service Catalog will use FAS credentials to call organizations:EnableAWSServiceAccess so that your shares can be in sync with any changes in your AWS Organizations.

" + "documentation":"

Enable portfolio sharing feature through AWS Organizations. This API will allow Service Catalog to receive updates on your organization in order to sync your shares with the current structure. This API can only be called by the master account in the organization.

By calling this API Service Catalog will make a call to organizations:EnableAWSServiceAccess on your behalf so that your shares can be in sync with any changes in your AWS Organizations structure.

" }, "ExecuteProvisionedProductPlan":{ "name":"ExecuteProvisionedProductPlan", @@ -703,6 +734,20 @@ ], "documentation":"

Lists all portfolios for which sharing was accepted by this account.

" }, + "ListBudgetsForResource":{ + "name":"ListBudgetsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListBudgetsForResourceInput"}, + "output":{"shape":"ListBudgetsForResourceOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"} + ], + "documentation":"

Lists all the budgets associated to the specified resource.

" + }, "ListConstraintsForPortfolio":{ "name":"ListConstraintsForPortfolio", "http":{ @@ -897,6 +942,20 @@ ], "documentation":"

Returns a paginated list of self-service actions associated with the specified Product ID and Provisioning Artifact ID.

" }, + "ListStackInstancesForProvisionedProduct":{ + "name":"ListStackInstancesForProvisionedProduct", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListStackInstancesForProvisionedProductInput"}, + "output":{"shape":"ListStackInstancesForProvisionedProductOutput"}, + "errors":[ + {"shape":"InvalidParametersException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns summary information about stack instances that are associated with the specified CFN_STACKSET type provisioned product. You can filter for stack instances that are associated with a specific AWS account name or region.

" + }, "ListTagOptions":{ "name":"ListTagOptions", "http":{ @@ -1064,6 +1123,21 @@ ], "documentation":"

Requests updates to the configuration of the specified provisioned product.

If there are tags associated with the object, they cannot be updated or added. Depending on the specific updates requested, this operation can update with no interruption, with some interruption, or replace the provisioned product entirely.

You can check the status of this request using DescribeRecord.

" }, + "UpdateProvisionedProductProperties":{ + "name":"UpdateProvisionedProductProperties", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateProvisionedProductPropertiesInput"}, + "output":{"shape":"UpdateProvisionedProductPropertiesOutput"}, + "errors":[ + {"shape":"InvalidParametersException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidStateException"} + ], + "documentation":"

Requests updates to the properties of the specified provisioned product.

" + }, "UpdateProvisioningArtifact":{ "name":"UpdateProvisioningArtifact", "http":{ @@ -1187,6 +1261,28 @@ "member":{"shape":"AllowedValue"} }, "ApproximateCount":{"type":"integer"}, + "AssociateBudgetWithResourceInput":{ + "type":"structure", + "required":[ + "BudgetName", + "ResourceId" + ], + "members":{ + "BudgetName":{ + "shape":"BudgetName", + "documentation":"

The name of the budget you want to associate.

" + }, + "ResourceId":{ + "shape":"Id", + "documentation":"

The resource identifier. Either a portfolio-id or a product-id.

" + } + } + }, + "AssociateBudgetWithResourceOutput":{ + "type":"structure", + "members":{ + } + }, "AssociatePrincipalWithPortfolioInput":{ "type":"structure", "required":[ @@ -1348,6 +1444,25 @@ } } }, + "BudgetDetail":{ + "type":"structure", + "members":{ + "BudgetName":{ + "shape":"BudgetName", + "documentation":"

Name of the associated budget.

" + } + }, + "documentation":"

Information about a budget.

" + }, + "BudgetName":{ + "type":"string", + "max":100, + "min":1 + }, + "Budgets":{ + "type":"list", + "member":{"shape":"BudgetDetail"} + }, "CausingEntity":{"type":"string"}, "ChangeAction":{ "type":"string", @@ -1513,11 +1628,11 @@ }, "Parameters":{ "shape":"ConstraintParameters", - "documentation":"

The constraint parameters, in JSON format. The syntax depends on the constraint type as follows:

LAUNCH

Specify the RoleArn property as follows:

{\"RoleArn\" : \"arn:aws:iam::123456789012:role/LaunchRole\"}

You cannot have both a LAUNCH and a STACKSET constraint.

You also cannot have more than one LAUNCH constraint on a product and portfolio.

NOTIFICATION

Specify the NotificationArns property as follows:

{\"NotificationArns\" : [\"arn:aws:sns:us-east-1:123456789012:Topic\"]}

STACKSET

Specify the Parameters property as follows:

{\"Version\": \"String\", \"Properties\": {\"AccountList\": [ \"String\" ], \"RegionList\": [ \"String\" ], \"AdminRole\": \"String\", \"ExecutionRole\": \"String\"}}

You cannot have both a LAUNCH and a STACKSET constraint.

You also cannot have more than one STACKSET constraint on a product and portfolio.

Products with a STACKSET constraint will launch an AWS CloudFormation stack set.

TEMPLATE

Specify the Rules property. For more information, see Template Constraint Rules.

" + "documentation":"

The constraint parameters, in JSON format. The syntax depends on the constraint type as follows:

LAUNCH

Specify the RoleArn property as follows:

{\"RoleArn\" : \"arn:aws:iam::123456789012:role/LaunchRole\"}

You cannot have both a LAUNCH and a STACKSET constraint.

You also cannot have more than one LAUNCH constraint on a product and portfolio.

NOTIFICATION

Specify the NotificationArns property as follows:

{\"NotificationArns\" : [\"arn:aws:sns:us-east-1:123456789012:Topic\"]}

RESOURCE_UPDATE

Specify the TagUpdatesOnProvisionedProduct property as follows:

{\"Version\":\"2.0\",\"Properties\":{\"TagUpdateOnProvisionedProduct\":\"String\"}}

The TagUpdatesOnProvisionedProduct property accepts a string value of ALLOWED or NOT_ALLOWED.

STACKSET

Specify the Parameters property as follows:

{\"Version\": \"String\", \"Properties\": {\"AccountList\": [ \"String\" ], \"RegionList\": [ \"String\" ], \"AdminRole\": \"String\", \"ExecutionRole\": \"String\"}}

You cannot have both a LAUNCH and a STACKSET constraint.

You also cannot have more than one STACKSET constraint on a product and portfolio.

Products with a STACKSET constraint will launch an AWS CloudFormation stack set.

TEMPLATE

Specify the Rules property. For more information, see Template Constraint Rules.

" }, "Type":{ "shape":"ConstraintType", - "documentation":"

The type of constraint.

  • LAUNCH

  • NOTIFICATION

  • STACKSET

  • TEMPLATE

" + "documentation":"

The type of constraint.

  • LAUNCH

  • NOTIFICATION

  • RESOURCE_UPDATE

  • STACKSET

  • TEMPLATE

" }, "Description":{ "shape":"ConstraintDescription", @@ -1621,7 +1736,7 @@ "type":"structure", "members":{ "PortfolioShareToken":{ - "shape":"PortfolioShareToken", + "shape":"Id", "documentation":"

The portfolio share unique identifier. This will only be returned if portfolio is shared to an organization node.

" } } @@ -1758,7 +1873,7 @@ }, "Tags":{ "shape":"Tags", - "documentation":"

One or more tags.

" + "documentation":"

One or more tags.

If the plan is for an existing provisioned product, the product must have a RESOURCE_UPDATE constraint with TagUpdatesOnProvisionedProduct set to ALLOWED to allow tag updates.

" } } }, @@ -1969,7 +2084,7 @@ "type":"structure", "members":{ "PortfolioShareToken":{ - "shape":"PortfolioShareToken", + "shape":"Id", "documentation":"

The portfolio share unique identifier. This will only be returned if delete is made to an organization node.

" } } @@ -2166,6 +2281,10 @@ "TagOptions":{ "shape":"TagOptionDetails", "documentation":"

Information about the TagOptions associated with the portfolio.

" + }, + "Budgets":{ + "shape":"Budgets", + "documentation":"

Information about the associated budgets.

" } } }, @@ -2174,7 +2293,7 @@ "required":["PortfolioShareToken"], "members":{ "PortfolioShareToken":{ - "shape":"PortfolioShareToken", + "shape":"Id", "documentation":"

The token for the portfolio share operation. This token is returned either by CreatePortfolioShare or by DeletePortfolioShare.

" } } @@ -2183,7 +2302,7 @@ "type":"structure", "members":{ "PortfolioShareToken":{ - "shape":"PortfolioShareToken", + "shape":"Id", "documentation":"

The token for the portfolio share operation. For example, share-6v24abcdefghi.

" }, "PortfolioId":{ @@ -2236,6 +2355,10 @@ "TagOptions":{ "shape":"TagOptionDetails", "documentation":"

Information about the TagOptions associated with the product.

" + }, + "Budgets":{ + "shape":"Budgets", + "documentation":"

Information about the associated budgets.

" } } }, @@ -2263,6 +2386,10 @@ "ProvisioningArtifacts":{ "shape":"ProvisioningArtifacts", "documentation":"

Information about the provisioning artifacts for the specified product.

" + }, + "Budgets":{ + "shape":"Budgets", + "documentation":"

Information about the associated budgets.

" } } }, @@ -2543,6 +2670,29 @@ "members":{ } }, + "DisableTemplateValidation":{"type":"boolean"}, + "DisassociateBudgetFromResourceInput":{ + "type":"structure", + "required":[ + "BudgetName", + "ResourceId" + ], + "members":{ + "BudgetName":{ + "shape":"BudgetName", + "documentation":"

The name of the budget you want to disassociate.

" + }, + "ResourceId":{ + "shape":"Id", + "documentation":"

The resource identifier you want to disassociate from. Either a portfolio-id or a product-id.

" + } + } + }, + "DisassociateBudgetFromResourceOutput":{ + "type":"structure", + "members":{ + } + }, "DisassociatePrincipalFromPortfolioInput":{ "type":"structure", "required":[ @@ -2885,6 +3035,41 @@ } } }, + "ListBudgetsForResourceInput":{ + "type":"structure", + "required":["ResourceId"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" + }, + "ResourceId":{ + "shape":"Id", + "documentation":"

The resource identifier.

" + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

The maximum number of items to return with this call.

" + }, + "PageToken":{ + "shape":"PageToken", + "documentation":"

The page token for the next set of results. To retrieve the first set of results, use null.

" + } + } + }, + "ListBudgetsForResourceOutput":{ + "type":"structure", + "members":{ + "Budgets":{ + "shape":"Budgets", + "documentation":"

Information about the associated budgets.

" + }, + "NextPageToken":{ + "shape":"PageToken", + "documentation":"

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

" + } + } + }, "ListConstraintsForPortfolioInput":{ "type":"structure", "required":["PortfolioId"], @@ -3387,6 +3572,41 @@ } } }, + "ListStackInstancesForProvisionedProductInput":{ + "type":"structure", + "required":["ProvisionedProductId"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" + }, + "ProvisionedProductId":{ + "shape":"Id", + "documentation":"

The identifier of the provisioned product.

" + }, + "PageToken":{ + "shape":"PageToken", + "documentation":"

The page token for the next set of results. To retrieve the first set of results, use null.

" + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

The maximum number of items to return with this call.

" + } + } + }, + "ListStackInstancesForProvisionedProductOutput":{ + "type":"structure", + "members":{ + "StackInstances":{ + "shape":"StackInstances", + "documentation":"

List of stack instances.

" + }, + "NextPageToken":{ + "shape":"PageToken", + "documentation":"

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

" + } + } + }, "ListTagOptionsFilters":{ "type":"structure", "members":{ @@ -3465,14 +3685,14 @@ "members":{ "Type":{ "shape":"OrganizationNodeType", - "documentation":"

" + "documentation":"

The organization node type.

" }, "Value":{ "shape":"OrganizationNodeValue", - "documentation":"

" + "documentation":"

The identifier of the organization node.

" } }, - "documentation":"

" + "documentation":"

Information about the organization node.

" }, "OrganizationNodeType":{ "type":"string", @@ -3573,7 +3793,6 @@ "min":1 }, "PortfolioName":{"type":"string"}, - "PortfolioShareToken":{"type":"string"}, "PortfolioShareType":{ "type":"string", "enum":[ @@ -3771,7 +3990,18 @@ }, "documentation":"

Summary information about a product view.

" }, + "PropertyKey":{ + "type":"string", + "enum":["OWNER"], + "max":128, + "min":1 + }, "PropertyName":{"type":"string"}, + "PropertyValue":{ + "type":"string", + "max":1024, + "min":1 + }, "ProviderName":{ "type":"string", "max":50, @@ -3859,7 +4089,7 @@ }, "Status":{ "shape":"ProvisionedProductStatus", - "documentation":"

The current status of the provisioned product.

  • AVAILABLE - Stable state, ready to perform any operation. The most recent operation succeeded and completed.

  • UNDER_CHANGE - Transitive state, operations performed might not have valid results. Wait for an AVAILABLE status before performing operations.

  • TAINTED - Stable state, ready to perform any operation. The stack has completed the requested operation but is not exactly what was requested. For example, a request to update to a new version failed and the stack rolled back to the current version.

  • ERROR - An unexpected error occurred, the provisioned product exists but the stack is not running. For example, CloudFormation received a parameter value that was not valid and could not launch the stack.

" + "documentation":"

The current status of the provisioned product.

  • AVAILABLE - Stable state, ready to perform any operation. The most recent operation succeeded and completed.

  • UNDER_CHANGE - Transitive state. Operations performed might not have valid results. Wait for an AVAILABLE status before performing operations.

  • TAINTED - Stable state, ready to perform any operation. The stack has completed the requested operation but is not exactly what was requested. For example, a request to update to a new version failed and the stack rolled back to the current version.

  • ERROR - An unexpected error occurred. The provisioned product exists but the stack is not running. For example, CloudFormation received a parameter value that was not valid and could not launch the stack.

  • PLAN_IN_PROGRESS - Transitive state. The plan operations were performed to provision a new product, but resources have not yet been created. After reviewing the list of resources to be created, execute the plan. Wait for an AVAILABLE status before performing operations.

" }, "StatusMessage":{ "shape":"ProvisionedProductStatusMessage", @@ -3929,7 +4159,7 @@ }, "Status":{ "shape":"ProvisionedProductStatus", - "documentation":"

The current status of the provisioned product.

  • AVAILABLE - Stable state, ready to perform any operation. The most recent operation succeeded and completed.

  • UNDER_CHANGE - Transitive state, operations performed might not have valid results. Wait for an AVAILABLE status before performing operations.

  • TAINTED - Stable state, ready to perform any operation. The stack has completed the requested operation but is not exactly what was requested. For example, a request to update to a new version failed and the stack rolled back to the current version.

  • ERROR - An unexpected error occurred, the provisioned product exists but the stack is not running. For example, CloudFormation received a parameter value that was not valid and could not launch the stack.

" + "documentation":"

The current status of the provisioned product.

  • AVAILABLE - Stable state, ready to perform any operation. The most recent operation succeeded and completed.

  • UNDER_CHANGE - Transitive state. Operations performed might not have valid results. Wait for an AVAILABLE status before performing operations.

  • TAINTED - Stable state, ready to perform any operation. The stack has completed the requested operation but is not exactly what was requested. For example, a request to update to a new version failed and the stack rolled back to the current version.

  • ERROR - An unexpected error occurred. The provisioned product exists but the stack is not running. For example, CloudFormation received a parameter value that was not valid and could not launch the stack.

  • PLAN_IN_PROGRESS - Transitive state. The plan operations were performed to provision a new product, but resources have not yet been created. After reviewing the list of resources to be created, execute the plan. Wait for an AVAILABLE status before performing operations.

" }, "StatusMessage":{ "shape":"ProvisionedProductStatusMessage", @@ -4096,6 +4326,13 @@ "type":"list", "member":{"shape":"ProvisionedProductPlanSummary"} }, + "ProvisionedProductProperties":{ + "type":"map", + "key":{"shape":"PropertyKey"}, + "value":{"shape":"PropertyValue"}, + "max":100, + "min":1 + }, "ProvisionedProductStatus":{ "type":"string", "enum":[ @@ -4135,6 +4372,10 @@ "CreatedTime":{ "shape":"ProvisioningArtifactCreatedTime", "documentation":"

The UTC time stamp of the creation time.

" + }, + "Guidance":{ + "shape":"ProvisioningArtifactGuidance", + "documentation":"

Information set by the administrator to provide guidance to end users about which provisioning artifacts to use.

" } }, "documentation":"

Information about a provisioning artifact. A provisioning artifact is also known as a product version.

" @@ -4168,6 +4409,10 @@ "Active":{ "shape":"ProvisioningArtifactActive", "documentation":"

Indicates whether the product version is active.

" + }, + "Guidance":{ + "shape":"ProvisioningArtifactGuidance", + "documentation":"

Information set by the administrator to provide guidance to end users about which provisioning artifacts to use.

" } }, "documentation":"

Information about a provisioning artifact (also known as a version) for a product.

" @@ -4176,6 +4421,13 @@ "type":"list", "member":{"shape":"ProvisioningArtifactDetail"} }, + "ProvisioningArtifactGuidance":{ + "type":"string", + "enum":[ + "DEFAULT", + "DEPRECATED" + ] + }, "ProvisioningArtifactInfo":{ "type":"map", "key":{"shape":"ProvisioningArtifactInfoKey"}, @@ -4253,6 +4505,10 @@ "Type":{ "shape":"ProvisioningArtifactType", "documentation":"

The type of provisioning artifact.

  • CLOUD_FORMATION_TEMPLATE - AWS CloudFormation template

  • MARKETPLACE_AMI - AWS Marketplace AMI

  • MARKETPLACE_CAR - AWS Marketplace Clusters and AWS Resources

" + }, + "DisableTemplateValidation":{ + "shape":"DisableTemplateValidation", + "documentation":"

If set to true, AWS Service Catalog stops validating the specified provisioning artifact even if it is invalid.

" } }, "documentation":"

Information about a provisioning artifact (also known as a version) for a product.

" @@ -5072,6 +5328,36 @@ "key":{"shape":"ProvisioningArtifactPropertyName"}, "value":{"shape":"ProvisioningArtifactPropertyValue"} }, + "StackInstance":{ + "type":"structure", + "members":{ + "Account":{ + "shape":"AccountId", + "documentation":"

The name of the AWS account that the stack instance is associated with.

" + }, + "Region":{ + "shape":"Region", + "documentation":"

The name of the AWS region that the stack instance is associated with.

" + }, + "StackInstanceStatus":{ + "shape":"StackInstanceStatus", + "documentation":"

The status of the stack instance, in terms of its synchronization with its associated stack set.

  • INOPERABLE: A DeleteStackInstances operation has failed and left the stack in an unstable state. Stacks in this state are excluded from further UpdateStackSet operations. You might need to perform a DeleteStackInstances operation, with RetainStacks set to true, to delete the stack instance, and then delete the stack manually.

  • OUTDATED: The stack isn't currently up to date with the stack set because either the associated stack failed during a CreateStackSet or UpdateStackSet operation, or the stack was part of a CreateStackSet or UpdateStackSet operation that failed or was stopped before the stack was created or updated.

  • CURRENT: The stack is currently up to date with the stack set.

" + } + }, + "documentation":"

An AWS CloudFormation stack, in a specific account and region, that's part of a stack set operation. A stack instance is a reference to an attempted or actual stack in a given account within a given region. A stack instance can exist without a stack—for example, if the stack couldn't be created for some reason. A stack instance is associated with only one stack set. Each stack instance contains the ID of its associated stack set, as well as the ID of the actual stack and the stack status.

" + }, + "StackInstanceStatus":{ + "type":"string", + "enum":[ + "CURRENT", + "OUTDATED", + "INOPERABLE" + ] + }, + "StackInstances":{ + "type":"list", + "member":{"shape":"StackInstance"} + }, "StackSetAccounts":{ "type":"list", "member":{"shape":"AccountId"} @@ -5299,6 +5585,10 @@ "Description":{ "shape":"ConstraintDescription", "documentation":"

The updated description of the constraint.

" + }, + "Parameters":{ + "shape":"ConstraintParameters", + "documentation":"

The constraint parameters, in JSON format. The syntax depends on the constraint type as follows:

LAUNCH

Specify the RoleArn property as follows:

{\"RoleArn\" : \"arn:aws:iam::123456789012:role/LaunchRole\"}

You cannot have both a LAUNCH and a STACKSET constraint.

You also cannot have more than one LAUNCH constraint on a product and portfolio.

NOTIFICATION

Specify the NotificationArns property as follows:

{\"NotificationArns\" : [\"arn:aws:sns:us-east-1:123456789012:Topic\"]}

RESOURCE_UPDATE

Specify the TagUpdatesOnProvisionedProduct property as follows:

{\"Version\":\"2.0\",\"Properties\":{\"TagUpdateOnProvisionedProduct\":\"String\"}}

The TagUpdatesOnProvisionedProduct property accepts a string value of ALLOWED or NOT_ALLOWED.

STACKSET

Specify the Parameters property as follows:

{\"Version\": \"String\", \"Properties\": {\"AccountList\": [ \"String\" ], \"RegionList\": [ \"String\" ], \"AdminRole\": \"String\", \"ExecutionRole\": \"String\"}}

You cannot have both a LAUNCH and a STACKSET constraint.

You also cannot have more than one STACKSET constraint on a product and portfolio.

Products with a STACKSET constraint will launch an AWS CloudFormation stack set.

TEMPLATE

Specify the Rules property. For more information, see Template Constraint Rules.

" } } }, @@ -5439,7 +5729,7 @@ }, "ProvisionedProductName":{ "shape":"ProvisionedProductNameOrArn", - "documentation":"

The updated name of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId.

" + "documentation":"

The name of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId.

" }, "ProvisionedProductId":{ "shape":"Id", @@ -5465,6 +5755,10 @@ "shape":"UpdateProvisioningPreferences", "documentation":"

An object that contains information about the provisioning preferences for a stack set.

" }, + "Tags":{ + "shape":"Tags", + "documentation":"

One or more tags. Requires the product to have RESOURCE_UPDATE constraint with TagUpdatesOnProvisionedProduct set to ALLOWED to allow tag updates.

" + }, "UpdateToken":{ "shape":"IdempotencyToken", "documentation":"

The idempotency token that uniquely identifies the provisioning update request.

", @@ -5481,6 +5775,54 @@ } } }, + "UpdateProvisionedProductPropertiesInput":{ + "type":"structure", + "required":[ + "ProvisionedProductId", + "ProvisionedProductProperties", + "IdempotencyToken" + ], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" + }, + "ProvisionedProductId":{ + "shape":"Id", + "documentation":"

The identifier of the provisioned product.

" + }, + "ProvisionedProductProperties":{ + "shape":"ProvisionedProductProperties", + "documentation":"

A map that contains the provisioned product properties to be updated.

The OWNER key only accepts user ARNs. The owner is the user that is allowed to see, update, terminate, and execute service actions in the provisioned product.

The administrator can change the owner of a provisioned product to another IAM user within the same account. Both end user owners and administrators can see ownership history of the provisioned product using the ListRecordHistory API. The new owner can describe all past records for the provisioned product using the DescribeRecord API. The previous owner can no longer use DescribeRecord, but can still see the product's history from when he was an owner using ListRecordHistory.

If a provisioned product ownership is assigned to an end user, they can see and perform any action through the API or Service Catalog console such as update, terminate, and execute service actions. If an end user provisions a product and the owner is updated to someone else, they will no longer be able to see or perform any actions through API or the Service Catalog console on that provisioned product.

" + }, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "documentation":"

The idempotency token that uniquely identifies the provisioning product update request.

", + "idempotencyToken":true + } + } + }, + "UpdateProvisionedProductPropertiesOutput":{ + "type":"structure", + "members":{ + "ProvisionedProductId":{ + "shape":"Id", + "documentation":"

The provisioned product identifier.

" + }, + "ProvisionedProductProperties":{ + "shape":"ProvisionedProductProperties", + "documentation":"

A map that contains the properties updated.

" + }, + "RecordId":{ + "shape":"Id", + "documentation":"

The identifier of the record.

" + }, + "Status":{ + "shape":"RecordStatus", + "documentation":"

The status of the request.

" + } + } + }, "UpdateProvisioningArtifactInput":{ "type":"structure", "required":[ @@ -5511,6 +5853,10 @@ "Active":{ "shape":"ProvisioningArtifactActive", "documentation":"

Indicates whether the product version is active.

" + }, + "Guidance":{ + "shape":"ProvisioningArtifactGuidance", + "documentation":"

Information set by the administrator to provide guidance to end users about which provisioning artifacts to use.

The DEFAULT value indicates that the product version is active.

The administrator can set the guidance to DEPRECATED to inform users that the product version is deprecated. Users are able to make updates to a provisioned product of a deprecated version but cannot launch new provisioned products using a deprecated version.

" } } }, diff --git a/bin/botocore/data/ses/2010-12-01/paginators-1.json b/bin/botocore/data/ses/2010-12-01/paginators-1.json index 1d61869e..1eb0054f 100644 --- a/bin/botocore/data/ses/2010-12-01/paginators-1.json +++ b/bin/botocore/data/ses/2010-12-01/paginators-1.json @@ -11,6 +11,23 @@ "output_token": "NextToken", "input_token": "NextToken", "limit_key": "MaxResults" + }, + "ListConfigurationSets": { + "input_token": "NextToken", + "limit_key": "MaxItems", + "output_token": "NextToken", + "result_key": "ConfigurationSets" + }, + "ListReceiptRuleSets": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "RuleSets" + }, + "ListTemplates": { + "input_token": "NextToken", + "limit_key": "MaxItems", + "output_token": "NextToken", + "result_key": "TemplatesMetadata" } } } diff --git a/bin/botocore/data/ses/2010-12-01/service-2.json b/bin/botocore/data/ses/2010-12-01/service-2.json index ac2bd549..635bac83 100644 --- a/bin/botocore/data/ses/2010-12-01/service-2.json +++ b/bin/botocore/data/ses/2010-12-01/service-2.json @@ -29,7 +29,7 @@ {"shape":"AlreadyExistsException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Creates a receipt rule set by cloning an existing one. All receipt rules and configurations are copied to the new receipt rule set and are completely independent of the source rule set.

For information about setting up rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Creates a receipt rule set by cloning an existing one. All receipt rules and configurations are copied to the new receipt rule set and are completely independent of the source rule set.

For information about setting up rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "CreateConfigurationSet":{ "name":"CreateConfigurationSet", @@ -47,7 +47,7 @@ {"shape":"InvalidConfigurationSetException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Creates a configuration set.

Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Creates a configuration set.

Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "CreateConfigurationSetEventDestination":{ "name":"CreateConfigurationSetEventDestination", @@ -68,7 +68,7 @@ {"shape":"InvalidSNSDestinationException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Creates a configuration set event destination.

When you create or update an event destination, you must provide one, and only one, destination. The destination can be CloudWatch, Amazon Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS).

An event destination is the AWS service to which Amazon SES publishes the email sending events associated with a configuration set. For information about using configuration sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Creates a configuration set event destination.

When you create or update an event destination, you must provide one, and only one, destination. The destination can be CloudWatch, Amazon Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS).

An event destination is the AWS service to which Amazon SES publishes the email sending events associated with a configuration set. For information about using configuration sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "CreateConfigurationSetTrackingOptions":{ "name":"CreateConfigurationSetTrackingOptions", @@ -86,7 +86,7 @@ {"shape":"TrackingOptionsAlreadyExistsException"}, {"shape":"InvalidTrackingOptionsException"} ], - "documentation":"

Creates an association between a configuration set and a custom domain for open and click event tracking.

By default, images and links used for tracking open and click events are hosted on domains operated by Amazon SES. You can configure a subdomain of your own to handle these events. For information about using custom domains, see the Amazon SES Developer Guide.

" + "documentation":"

Creates an association between a configuration set and a custom domain for open and click event tracking.

By default, images and links used for tracking open and click events are hosted on domains operated by Amazon SES. You can configure a subdomain of your own to handle these events. For information about using custom domains, see the Amazon SES Developer Guide.

" }, "CreateCustomVerificationEmailTemplate":{ "name":"CreateCustomVerificationEmailTemplate", @@ -101,7 +101,7 @@ {"shape":"CustomVerificationEmailInvalidContentException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Creates a new custom verification email template.

For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Creates a new custom verification email template.

For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "CreateReceiptFilter":{ "name":"CreateReceiptFilter", @@ -118,7 +118,7 @@ {"shape":"LimitExceededException"}, {"shape":"AlreadyExistsException"} ], - "documentation":"

Creates a new IP address filter.

For information about setting up IP address filters, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Creates a new IP address filter.

For information about setting up IP address filters, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "CreateReceiptRule":{ "name":"CreateReceiptRule", @@ -140,7 +140,7 @@ {"shape":"RuleSetDoesNotExistException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Creates a receipt rule.

For information about setting up receipt rules, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Creates a receipt rule.

For information about setting up receipt rules, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "CreateReceiptRuleSet":{ "name":"CreateReceiptRuleSet", @@ -157,7 +157,7 @@ {"shape":"AlreadyExistsException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Creates an empty receipt rule set.

For information about setting up receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Creates an empty receipt rule set.

For information about setting up receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "CreateTemplate":{ "name":"CreateTemplate", @@ -175,7 +175,7 @@ {"shape":"InvalidTemplateException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Creates an email template. Email templates enable you to send personalized email to one or more destinations in a single API operation. For more information, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Creates an email template. Email templates enable you to send personalized email to one or more destinations in a single API operation. For more information, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "DeleteConfigurationSet":{ "name":"DeleteConfigurationSet", @@ -191,7 +191,7 @@ "errors":[ {"shape":"ConfigurationSetDoesNotExistException"} ], - "documentation":"

Deletes a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Deletes a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "DeleteConfigurationSetEventDestination":{ "name":"DeleteConfigurationSetEventDestination", @@ -208,7 +208,7 @@ {"shape":"ConfigurationSetDoesNotExistException"}, {"shape":"EventDestinationDoesNotExistException"} ], - "documentation":"

Deletes a configuration set event destination. Configuration set event destinations are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Deletes a configuration set event destination. Configuration set event destinations are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "DeleteConfigurationSetTrackingOptions":{ "name":"DeleteConfigurationSetTrackingOptions", @@ -225,7 +225,7 @@ {"shape":"ConfigurationSetDoesNotExistException"}, {"shape":"TrackingOptionsDoesNotExistException"} ], - "documentation":"

Deletes an association between a configuration set and a custom domain for open and click event tracking.

By default, images and links used for tracking open and click events are hosted on domains operated by Amazon SES. You can configure a subdomain of your own to handle these events. For information about using custom domains, see the Amazon SES Developer Guide.

Deleting this kind of association will result in emails sent using the specified configuration set to capture open and click events using the standard, Amazon SES-operated domains.

" + "documentation":"

Deletes an association between a configuration set and a custom domain for open and click event tracking.

By default, images and links used for tracking open and click events are hosted on domains operated by Amazon SES. You can configure a subdomain of your own to handle these events. For information about using custom domains, see the Amazon SES Developer Guide.

Deleting this kind of association will result in emails sent using the specified configuration set to capture open and click events using the standard, Amazon SES-operated domains.

" }, "DeleteCustomVerificationEmailTemplate":{ "name":"DeleteCustomVerificationEmailTemplate", @@ -234,7 +234,7 @@ "requestUri":"/" }, "input":{"shape":"DeleteCustomVerificationEmailTemplateRequest"}, - "documentation":"

Deletes an existing custom verification email template.

For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Deletes an existing custom verification email template.

For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "DeleteIdentity":{ "name":"DeleteIdentity", @@ -260,7 +260,7 @@ "shape":"DeleteIdentityPolicyResponse", "resultWrapper":"DeleteIdentityPolicyResult" }, - "documentation":"

Deletes the specified sending authorization policy for the given identity (an email address or a domain). This API returns successfully even if a policy with the specified name does not exist.

This API is for the identity owner only. If you have not verified the identity, this API will return an error.

Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Deletes the specified sending authorization policy for the given identity (an email address or a domain). This API returns successfully even if a policy with the specified name does not exist.

This API is for the identity owner only. If you have not verified the identity, this API will return an error.

Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "DeleteReceiptFilter":{ "name":"DeleteReceiptFilter", @@ -273,7 +273,7 @@ "shape":"DeleteReceiptFilterResponse", "resultWrapper":"DeleteReceiptFilterResult" }, - "documentation":"

Deletes the specified IP address filter.

For information about managing IP address filters, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Deletes the specified IP address filter.

For information about managing IP address filters, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "DeleteReceiptRule":{ "name":"DeleteReceiptRule", @@ -289,7 +289,7 @@ "errors":[ {"shape":"RuleSetDoesNotExistException"} ], - "documentation":"

Deletes the specified receipt rule.

For information about managing receipt rules, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Deletes the specified receipt rule.

For information about managing receipt rules, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "DeleteReceiptRuleSet":{ "name":"DeleteReceiptRuleSet", @@ -305,7 +305,7 @@ "errors":[ {"shape":"CannotDeleteException"} ], - "documentation":"

Deletes the specified receipt rule set and all of the receipt rules it contains.

The currently active rule set cannot be deleted.

For information about managing receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Deletes the specified receipt rule set and all of the receipt rules it contains.

The currently active rule set cannot be deleted.

For information about managing receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "DeleteTemplate":{ "name":"DeleteTemplate", @@ -340,7 +340,7 @@ "shape":"DescribeActiveReceiptRuleSetResponse", "resultWrapper":"DescribeActiveReceiptRuleSetResult" }, - "documentation":"

Returns the metadata and receipt rules for the receipt rule set that is currently active.

For information about setting up receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Returns the metadata and receipt rules for the receipt rule set that is currently active.

For information about setting up receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "DescribeConfigurationSet":{ "name":"DescribeConfigurationSet", @@ -356,7 +356,7 @@ "errors":[ {"shape":"ConfigurationSetDoesNotExistException"} ], - "documentation":"

Returns the details of the specified configuration set. For information about using configuration sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Returns the details of the specified configuration set. For information about using configuration sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "DescribeReceiptRule":{ "name":"DescribeReceiptRule", @@ -373,7 +373,7 @@ {"shape":"RuleDoesNotExistException"}, {"shape":"RuleSetDoesNotExistException"} ], - "documentation":"

Returns the details of the specified receipt rule.

For information about setting up receipt rules, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Returns the details of the specified receipt rule.

For information about setting up receipt rules, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "DescribeReceiptRuleSet":{ "name":"DescribeReceiptRuleSet", @@ -389,7 +389,7 @@ "errors":[ {"shape":"RuleSetDoesNotExistException"} ], - "documentation":"

Returns the details of the specified receipt rule set.

For information about managing receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Returns the details of the specified receipt rule set.

For information about managing receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "GetAccountSendingEnabled":{ "name":"GetAccountSendingEnabled", @@ -417,7 +417,7 @@ "errors":[ {"shape":"CustomVerificationEmailTemplateDoesNotExistException"} ], - "documentation":"

Returns the custom email verification template for the template name you specify.

For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Returns the custom email verification template for the template name you specify.

For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "GetIdentityDkimAttributes":{ "name":"GetIdentityDkimAttributes", @@ -430,7 +430,7 @@ "shape":"GetIdentityDkimAttributesResponse", "resultWrapper":"GetIdentityDkimAttributesResult" }, - "documentation":"

Returns the current status of Easy DKIM signing for an entity. For domain name identities, this operation also returns the DKIM tokens that are required for Easy DKIM signing, and whether Amazon SES has successfully verified that these tokens have been published.

This operation takes a list of identities as input and returns the following information for each:

  • Whether Easy DKIM signing is enabled or disabled.

  • A set of DKIM tokens that represent the identity. If the identity is an email address, the tokens represent the domain of that address.

  • Whether Amazon SES has successfully verified the DKIM tokens published in the domain's DNS. This information is only returned for domain name identities, not for email addresses.

This operation is throttled at one request per second and can only get DKIM attributes for up to 100 identities at a time.

For more information about creating DNS records using DKIM tokens, go to the Amazon SES Developer Guide.

" + "documentation":"

Returns the current status of Easy DKIM signing for an entity. For domain name identities, this operation also returns the DKIM tokens that are required for Easy DKIM signing, and whether Amazon SES has successfully verified that these tokens have been published.

This operation takes a list of identities as input and returns the following information for each:

  • Whether Easy DKIM signing is enabled or disabled.

  • A set of DKIM tokens that represent the identity. If the identity is an email address, the tokens represent the domain of that address.

  • Whether Amazon SES has successfully verified the DKIM tokens published in the domain's DNS. This information is only returned for domain name identities, not for email addresses.

This operation is throttled at one request per second and can only get DKIM attributes for up to 100 identities at a time.

For more information about creating DNS records using DKIM tokens, go to the Amazon SES Developer Guide.

" }, "GetIdentityMailFromDomainAttributes":{ "name":"GetIdentityMailFromDomainAttributes", @@ -456,7 +456,7 @@ "shape":"GetIdentityNotificationAttributesResponse", "resultWrapper":"GetIdentityNotificationAttributesResult" }, - "documentation":"

Given a list of verified identities (email addresses and/or domains), returns a structure describing identity notification attributes.

This operation is throttled at one request per second and can only get notification attributes for up to 100 identities at a time.

For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide.

" + "documentation":"

Given a list of verified identities (email addresses and/or domains), returns a structure describing identity notification attributes.

This operation is throttled at one request per second and can only get notification attributes for up to 100 identities at a time.

For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide.

" }, "GetIdentityPolicies":{ "name":"GetIdentityPolicies", @@ -469,7 +469,7 @@ "shape":"GetIdentityPoliciesResponse", "resultWrapper":"GetIdentityPoliciesResult" }, - "documentation":"

Returns the requested sending authorization policies for the given identity (an email address or a domain). The policies are returned as a map of policy names to policy contents. You can retrieve a maximum of 20 policies at a time.

This API is for the identity owner only. If you have not verified the identity, this API will return an error.

Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Returns the requested sending authorization policies for the given identity (an email address or a domain). The policies are returned as a map of policy names to policy contents. You can retrieve a maximum of 20 policies at a time.

This API is for the identity owner only. If you have not verified the identity, this API will return an error.

Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "GetIdentityVerificationAttributes":{ "name":"GetIdentityVerificationAttributes", @@ -535,7 +535,7 @@ "shape":"ListConfigurationSetsResponse", "resultWrapper":"ListConfigurationSetsResult" }, - "documentation":"

Provides a list of the configuration sets associated with your Amazon SES account in the current AWS Region. For information about using configuration sets, see Monitoring Your Amazon SES Sending Activity in the Amazon SES Developer Guide.

You can execute this operation no more than once per second. This operation will return up to 1,000 configuration sets each time it is run. If your Amazon SES account has more than 1,000 configuration sets, this operation will also return a NextToken element. You can then execute the ListConfigurationSets operation again, passing the NextToken parameter and the value of the NextToken element to retrieve additional results.

" + "documentation":"

Provides a list of the configuration sets associated with your Amazon SES account in the current AWS Region. For information about using configuration sets, see Monitoring Your Amazon SES Sending Activity in the Amazon SES Developer Guide.

You can execute this operation no more than once per second. This operation will return up to 1,000 configuration sets each time it is run. If your Amazon SES account has more than 1,000 configuration sets, this operation will also return a NextToken element. You can then execute the ListConfigurationSets operation again, passing the NextToken parameter and the value of the NextToken element to retrieve additional results.

" }, "ListCustomVerificationEmailTemplates":{ "name":"ListCustomVerificationEmailTemplates", @@ -548,7 +548,7 @@ "shape":"ListCustomVerificationEmailTemplatesResponse", "resultWrapper":"ListCustomVerificationEmailTemplatesResult" }, - "documentation":"

Lists the existing custom verification email templates for your account in the current AWS Region.

For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Lists the existing custom verification email templates for your account in the current AWS Region.

For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "ListIdentities":{ "name":"ListIdentities", @@ -574,7 +574,7 @@ "shape":"ListIdentityPoliciesResponse", "resultWrapper":"ListIdentityPoliciesResult" }, - "documentation":"

Returns a list of sending authorization policies that are attached to the given identity (an email address or a domain). This API returns only a list. If you want the actual policy content, you can use GetIdentityPolicies.

This API is for the identity owner only. If you have not verified the identity, this API will return an error.

Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Returns a list of sending authorization policies that are attached to the given identity (an email address or a domain). This API returns only a list. If you want the actual policy content, you can use GetIdentityPolicies.

This API is for the identity owner only. If you have not verified the identity, this API will return an error.

Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "ListReceiptFilters":{ "name":"ListReceiptFilters", @@ -587,7 +587,7 @@ "shape":"ListReceiptFiltersResponse", "resultWrapper":"ListReceiptFiltersResult" }, - "documentation":"

Lists the IP address filters associated with your AWS account in the current AWS Region.

For information about managing IP address filters, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Lists the IP address filters associated with your AWS account in the current AWS Region.

For information about managing IP address filters, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "ListReceiptRuleSets":{ "name":"ListReceiptRuleSets", @@ -600,7 +600,7 @@ "shape":"ListReceiptRuleSetsResponse", "resultWrapper":"ListReceiptRuleSetsResult" }, - "documentation":"

Lists the receipt rule sets that exist under your AWS account in the current AWS Region. If there are additional receipt rule sets to be retrieved, you will receive a NextToken that you can provide to the next call to ListReceiptRuleSets to retrieve the additional entries.

For information about managing receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Lists the receipt rule sets that exist under your AWS account in the current AWS Region. If there are additional receipt rule sets to be retrieved, you will receive a NextToken that you can provide to the next call to ListReceiptRuleSets to retrieve the additional entries.

For information about managing receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "ListTemplates":{ "name":"ListTemplates", @@ -627,6 +627,23 @@ }, "documentation":"

Deprecated. Use the ListIdentities operation to list the email addresses and domains associated with your account.

" }, + "PutConfigurationSetDeliveryOptions":{ + "name":"PutConfigurationSetDeliveryOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutConfigurationSetDeliveryOptionsRequest"}, + "output":{ + "shape":"PutConfigurationSetDeliveryOptionsResponse", + "resultWrapper":"PutConfigurationSetDeliveryOptionsResult" + }, + "errors":[ + {"shape":"ConfigurationSetDoesNotExistException"}, + {"shape":"InvalidDeliveryOptionsException"} + ], + "documentation":"

Adds or updates the delivery options for a configuration set.

" + }, "PutIdentityPolicy":{ "name":"PutIdentityPolicy", "http":{ @@ -641,7 +658,7 @@ "errors":[ {"shape":"InvalidPolicyException"} ], - "documentation":"

Adds or updates a sending authorization policy for the specified identity (an email address or a domain).

This API is for the identity owner only. If you have not verified the identity, this API will return an error.

Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Adds or updates a sending authorization policy for the specified identity (an email address or a domain).

This API is for the identity owner only. If you have not verified the identity, this API will return an error.

Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "ReorderReceiptRuleSet":{ "name":"ReorderReceiptRuleSet", @@ -658,7 +675,7 @@ {"shape":"RuleSetDoesNotExistException"}, {"shape":"RuleDoesNotExistException"} ], - "documentation":"

Reorders the receipt rules within a receipt rule set.

All of the rules in the rule set must be represented in this request. That is, this API will return an error if the reorder request doesn't explicitly position all of the rules.

For information about managing receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Reorders the receipt rules within a receipt rule set.

All of the rules in the rule set must be represented in this request. That is, this API will return an error if the reorder request doesn't explicitly position all of the rules.

For information about managing receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "SendBounce":{ "name":"SendBounce", @@ -674,7 +691,7 @@ "errors":[ {"shape":"MessageRejected"} ], - "documentation":"

Generates and sends a bounce message to the sender of an email you received through Amazon SES. You can only use this API on an email up to 24 hours after you receive it.

You cannot use this API to send generic bounces for mail that was not received by Amazon SES.

For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Generates and sends a bounce message to the sender of an email you received through Amazon SES. You can only use this API on an email up to 24 hours after you receive it.

You cannot use this API to send generic bounces for mail that was not received by Amazon SES.

For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "SendBulkTemplatedEmail":{ "name":"SendBulkTemplatedEmail", @@ -695,7 +712,7 @@ {"shape":"ConfigurationSetSendingPausedException"}, {"shape":"AccountSendingPausedException"} ], - "documentation":"

Composes an email message to multiple destinations. The message body is created using an email template.

In order to send email using the SendBulkTemplatedEmail operation, your call to the API must meet the following requirements:

  • The call must refer to an existing email template. You can create email templates using the CreateTemplate operation.

  • The message must be sent from a verified email address or domain.

  • If your account is still in the Amazon SES sandbox, you may only send to verified addresses or domains, or to email addresses associated with the Amazon SES Mailbox Simulator. For more information, see Verifying Email Addresses and Domains in the Amazon SES Developer Guide.

  • The maximum message size is 10 MB.

  • Each Destination parameter must include at least one recipient email address. The recipient address can be a To: address, a CC: address, or a BCC: address. If a recipient email address is invalid (that is, it is not in the format UserName@[SubDomain.]Domain.TopLevelDomain), the entire message will be rejected, even if the message contains other recipients that are valid.

  • The message may not include more than 50 recipients, across the To:, CC: and BCC: fields. If you need to send an email message to a larger audience, you can divide your recipient list into groups of 50 or fewer, and then call the SendBulkTemplatedEmail operation several times to send the message to each group.

  • The number of destinations you can contact in a single call to the API may be limited by your account's maximum sending rate.

" + "documentation":"

Composes an email message to multiple destinations. The message body is created using an email template.

In order to send email using the SendBulkTemplatedEmail operation, your call to the API must meet the following requirements:

  • The call must refer to an existing email template. You can create email templates using the CreateTemplate operation.

  • The message must be sent from a verified email address or domain.

  • If your account is still in the Amazon SES sandbox, you may only send to verified addresses or domains, or to email addresses associated with the Amazon SES Mailbox Simulator. For more information, see Verifying Email Addresses and Domains in the Amazon SES Developer Guide.

  • The maximum message size is 10 MB.

  • Each Destination parameter must include at least one recipient email address. The recipient address can be a To: address, a CC: address, or a BCC: address. If a recipient email address is invalid (that is, it is not in the format UserName@[SubDomain.]Domain.TopLevelDomain), the entire message will be rejected, even if the message contains other recipients that are valid.

  • The message may not include more than 50 recipients, across the To:, CC: and BCC: fields. If you need to send an email message to a larger audience, you can divide your recipient list into groups of 50 or fewer, and then call the SendBulkTemplatedEmail operation several times to send the message to each group.

  • The number of destinations you can contact in a single call to the API may be limited by your account's maximum sending rate.

" }, "SendCustomVerificationEmail":{ "name":"SendCustomVerificationEmail", @@ -715,7 +732,7 @@ {"shape":"FromEmailAddressNotVerifiedException"}, {"shape":"ProductionAccessNotGrantedException"} ], - "documentation":"

Adds an email address to the list of identities for your Amazon SES account in the current AWS Region and attempts to verify it. As a result of executing this operation, a customized verification email is sent to the specified address.

To use this operation, you must first create a custom verification email template. For more information about creating and using custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Adds an email address to the list of identities for your Amazon SES account in the current AWS Region and attempts to verify it. As a result of executing this operation, a customized verification email is sent to the specified address.

To use this operation, you must first create a custom verification email template. For more information about creating and using custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "SendEmail":{ "name":"SendEmail", @@ -735,7 +752,7 @@ {"shape":"ConfigurationSetSendingPausedException"}, {"shape":"AccountSendingPausedException"} ], - "documentation":"

Composes an email message and immediately queues it for sending. In order to send email using the SendEmail operation, your message must meet the following requirements:

  • The message must be sent from a verified email address or domain. If you attempt to send email using a non-verified address or domain, the operation will result in an \"Email address not verified\" error.

  • If your account is still in the Amazon SES sandbox, you may only send to verified addresses or domains, or to email addresses associated with the Amazon SES Mailbox Simulator. For more information, see Verifying Email Addresses and Domains in the Amazon SES Developer Guide.

  • The maximum message size is 10 MB.

  • The message must include at least one recipient email address. The recipient address can be a To: address, a CC: address, or a BCC: address. If a recipient email address is invalid (that is, it is not in the format UserName@[SubDomain.]Domain.TopLevelDomain), the entire message will be rejected, even if the message contains other recipients that are valid.

  • The message may not include more than 50 recipients, across the To:, CC: and BCC: fields. If you need to send an email message to a larger audience, you can divide your recipient list into groups of 50 or fewer, and then call the SendEmail operation several times to send the message to each group.

For every message that you send, the total number of recipients (including each recipient in the To:, CC: and BCC: fields) is counted against the maximum number of emails you can send in a 24-hour period (your sending quota). For more information about sending quotas in Amazon SES, see Managing Your Amazon SES Sending Limits in the Amazon SES Developer Guide.

" + "documentation":"

Composes an email message and immediately queues it for sending. In order to send email using the SendEmail operation, your message must meet the following requirements:

  • The message must be sent from a verified email address or domain. If you attempt to send email using a non-verified address or domain, the operation will result in an \"Email address not verified\" error.

  • If your account is still in the Amazon SES sandbox, you may only send to verified addresses or domains, or to email addresses associated with the Amazon SES Mailbox Simulator. For more information, see Verifying Email Addresses and Domains in the Amazon SES Developer Guide.

  • The maximum message size is 10 MB.

  • The message must include at least one recipient email address. The recipient address can be a To: address, a CC: address, or a BCC: address. If a recipient email address is invalid (that is, it is not in the format UserName@[SubDomain.]Domain.TopLevelDomain), the entire message will be rejected, even if the message contains other recipients that are valid.

  • The message may not include more than 50 recipients, across the To:, CC: and BCC: fields. If you need to send an email message to a larger audience, you can divide your recipient list into groups of 50 or fewer, and then call the SendEmail operation several times to send the message to each group.

For every message that you send, the total number of recipients (including each recipient in the To:, CC: and BCC: fields) is counted against the maximum number of emails you can send in a 24-hour period (your sending quota). For more information about sending quotas in Amazon SES, see Managing Your Amazon SES Sending Limits in the Amazon SES Developer Guide.

" }, "SendRawEmail":{ "name":"SendRawEmail", @@ -755,7 +772,7 @@ {"shape":"ConfigurationSetSendingPausedException"}, {"shape":"AccountSendingPausedException"} ], - "documentation":"

Composes an email message and immediately queues it for sending.

This operation is more flexible than the SendEmail API operation. When you use the SendRawEmail operation, you can specify the headers of the message as well as its content. This flexibility is useful, for example, when you want to send a multipart MIME email (such a message that contains both a text and an HTML version). You can also use this operation to send messages that include attachments.

The SendRawEmail operation has the following requirements:

  • You can only send email from verified email addresses or domains. If you try to send email from an address that isn't verified, the operation results in an \"Email address not verified\" error.

  • If your account is still in the Amazon SES sandbox, you can only send email to other verified addresses in your account, or to addresses that are associated with the Amazon SES mailbox simulator.

  • The maximum message size, including attachments, is 10 MB.

  • Each message has to include at least one recipient address. A recipient address includes any address on the To:, CC:, or BCC: lines.

  • If you send a single message to more than one recipient address, and one of the recipient addresses isn't in a valid format (that is, it's not in the format UserName@[SubDomain.]Domain.TopLevelDomain), Amazon SES rejects the entire message, even if the other addresses are valid.

  • Each message can include up to 50 recipient addresses across the To:, CC:, or BCC: lines. If you need to send a single message to more than 50 recipients, you have to split the list of recipient addresses into groups of less than 50 recipients, and send separate messages to each group.

  • Amazon SES allows you to specify 8-bit Content-Transfer-Encoding for MIME message parts. However, if Amazon SES has to modify the contents of your message (for example, if you use open and click tracking), 8-bit content isn't preserved. For this reason, we highly recommend that you encode all content that isn't 7-bit ASCII. For more information, see MIME Encoding in the Amazon SES Developer Guide.

Additionally, keep the following considerations in mind when using the SendRawEmail operation:

  • Although you can customize the message headers when using the SendRawEmail operation, Amazon SES will automatically apply its own Message-ID and Date headers; if you passed these headers when creating the message, they will be overwritten by the values that Amazon SES provides.

  • If you are using sending authorization to send on behalf of another user, SendRawEmail enables you to specify the cross-account identity for the email's Source, From, and Return-Path parameters in one of two ways: you can pass optional parameters SourceArn, FromArn, and/or ReturnPathArn to the API, or you can include the following X-headers in the header of your raw email:

    • X-SES-SOURCE-ARN

    • X-SES-FROM-ARN

    • X-SES-RETURN-PATH-ARN

    Do not include these X-headers in the DKIM signature; Amazon SES will remove them before sending the email.

    For most common sending authorization scenarios, we recommend that you specify the SourceIdentityArn parameter and not the FromIdentityArn or ReturnPathIdentityArn parameters. If you only specify the SourceIdentityArn parameter, Amazon SES will set the From and Return Path addresses to the identity specified in SourceIdentityArn. For more information about sending authorization, see the Using Sending Authorization with Amazon SES in the Amazon SES Developer Guide.

  • For every message that you send, the total number of recipients (including each recipient in the To:, CC: and BCC: fields) is counted against the maximum number of emails you can send in a 24-hour period (your sending quota). For more information about sending quotas in Amazon SES, see Managing Your Amazon SES Sending Limits in the Amazon SES Developer Guide.

" + "documentation":"

Composes an email message and immediately queues it for sending.

This operation is more flexible than the SendEmail API operation. When you use the SendRawEmail operation, you can specify the headers of the message as well as its content. This flexibility is useful, for example, when you want to send a multipart MIME email (such a message that contains both a text and an HTML version). You can also use this operation to send messages that include attachments.

The SendRawEmail operation has the following requirements:

  • You can only send email from verified email addresses or domains. If you try to send email from an address that isn't verified, the operation results in an \"Email address not verified\" error.

  • If your account is still in the Amazon SES sandbox, you can only send email to other verified addresses in your account, or to addresses that are associated with the Amazon SES mailbox simulator.

  • The maximum message size, including attachments, is 10 MB.

  • Each message has to include at least one recipient address. A recipient address includes any address on the To:, CC:, or BCC: lines.

  • If you send a single message to more than one recipient address, and one of the recipient addresses isn't in a valid format (that is, it's not in the format UserName@[SubDomain.]Domain.TopLevelDomain), Amazon SES rejects the entire message, even if the other addresses are valid.

  • Each message can include up to 50 recipient addresses across the To:, CC:, or BCC: lines. If you need to send a single message to more than 50 recipients, you have to split the list of recipient addresses into groups of less than 50 recipients, and send separate messages to each group.

  • Amazon SES allows you to specify 8-bit Content-Transfer-Encoding for MIME message parts. However, if Amazon SES has to modify the contents of your message (for example, if you use open and click tracking), 8-bit content isn't preserved. For this reason, we highly recommend that you encode all content that isn't 7-bit ASCII. For more information, see MIME Encoding in the Amazon SES Developer Guide.

Additionally, keep the following considerations in mind when using the SendRawEmail operation:

  • Although you can customize the message headers when using the SendRawEmail operation, Amazon SES will automatically apply its own Message-ID and Date headers; if you passed these headers when creating the message, they will be overwritten by the values that Amazon SES provides.

  • If you are using sending authorization to send on behalf of another user, SendRawEmail enables you to specify the cross-account identity for the email's Source, From, and Return-Path parameters in one of two ways: you can pass optional parameters SourceArn, FromArn, and/or ReturnPathArn to the API, or you can include the following X-headers in the header of your raw email:

    • X-SES-SOURCE-ARN

    • X-SES-FROM-ARN

    • X-SES-RETURN-PATH-ARN

    Do not include these X-headers in the DKIM signature; Amazon SES will remove them before sending the email.

    For most common sending authorization scenarios, we recommend that you specify the SourceIdentityArn parameter and not the FromIdentityArn or ReturnPathIdentityArn parameters. If you only specify the SourceIdentityArn parameter, Amazon SES will set the From and Return Path addresses to the identity specified in SourceIdentityArn. For more information about sending authorization, see the Using Sending Authorization with Amazon SES in the Amazon SES Developer Guide.

  • For every message that you send, the total number of recipients (including each recipient in the To:, CC: and BCC: fields) is counted against the maximum number of emails you can send in a 24-hour period (your sending quota). For more information about sending quotas in Amazon SES, see Managing Your Amazon SES Sending Limits in the Amazon SES Developer Guide.

" }, "SendTemplatedEmail":{ "name":"SendTemplatedEmail", @@ -776,7 +793,7 @@ {"shape":"ConfigurationSetSendingPausedException"}, {"shape":"AccountSendingPausedException"} ], - "documentation":"

Composes an email message using an email template and immediately queues it for sending.

In order to send email using the SendTemplatedEmail operation, your call to the API must meet the following requirements:

  • The call must refer to an existing email template. You can create email templates using the CreateTemplate operation.

  • The message must be sent from a verified email address or domain.

  • If your account is still in the Amazon SES sandbox, you may only send to verified addresses or domains, or to email addresses associated with the Amazon SES Mailbox Simulator. For more information, see Verifying Email Addresses and Domains in the Amazon SES Developer Guide.

  • The maximum message size is 10 MB.

  • Calls to the SendTemplatedEmail operation may only include one Destination parameter. A destination is a set of recipients who will receive the same version of the email. The Destination parameter can include up to 50 recipients, across the To:, CC: and BCC: fields.

  • The Destination parameter must include at least one recipient email address. The recipient address can be a To: address, a CC: address, or a BCC: address. If a recipient email address is invalid (that is, it is not in the format UserName@[SubDomain.]Domain.TopLevelDomain), the entire message will be rejected, even if the message contains other recipients that are valid.

If your call to the SendTemplatedEmail operation includes all of the required parameters, Amazon SES accepts it and returns a Message ID. However, if Amazon SES can't render the email because the template contains errors, it doesn't send the email. Additionally, because it already accepted the message, Amazon SES doesn't return a message stating that it was unable to send the email.

For these reasons, we highly recommend that you set up Amazon SES to send you notifications when Rendering Failure events occur. For more information, see Sending Personalized Email Using the Amazon SES API in the Amazon Simple Email Service Developer Guide.

" + "documentation":"

Composes an email message using an email template and immediately queues it for sending.

In order to send email using the SendTemplatedEmail operation, your call to the API must meet the following requirements:

  • The call must refer to an existing email template. You can create email templates using the CreateTemplate operation.

  • The message must be sent from a verified email address or domain.

  • If your account is still in the Amazon SES sandbox, you may only send to verified addresses or domains, or to email addresses associated with the Amazon SES Mailbox Simulator. For more information, see Verifying Email Addresses and Domains in the Amazon SES Developer Guide.

  • The maximum message size is 10 MB.

  • Calls to the SendTemplatedEmail operation may only include one Destination parameter. A destination is a set of recipients who will receive the same version of the email. The Destination parameter can include up to 50 recipients, across the To:, CC: and BCC: fields.

  • The Destination parameter must include at least one recipient email address. The recipient address can be a To: address, a CC: address, or a BCC: address. If a recipient email address is invalid (that is, it is not in the format UserName@[SubDomain.]Domain.TopLevelDomain), the entire message will be rejected, even if the message contains other recipients that are valid.

If your call to the SendTemplatedEmail operation includes all of the required parameters, Amazon SES accepts it and returns a Message ID. However, if Amazon SES can't render the email because the template contains errors, it doesn't send the email. Additionally, because it already accepted the message, Amazon SES doesn't return a message stating that it was unable to send the email.

For these reasons, we highly recommend that you set up Amazon SES to send you notifications when Rendering Failure events occur. For more information, see Sending Personalized Email Using the Amazon SES API in the Amazon Simple Email Service Developer Guide.

" }, "SetActiveReceiptRuleSet":{ "name":"SetActiveReceiptRuleSet", @@ -792,7 +809,7 @@ "errors":[ {"shape":"RuleSetDoesNotExistException"} ], - "documentation":"

Sets the specified receipt rule set as the active receipt rule set.

To disable your email-receiving through Amazon SES completely, you can call this API with RuleSetName set to null.

For information about managing receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Sets the specified receipt rule set as the active receipt rule set.

To disable your email-receiving through Amazon SES completely, you can call this API with RuleSetName set to null.

For information about managing receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "SetIdentityDkimEnabled":{ "name":"SetIdentityDkimEnabled", @@ -805,7 +822,7 @@ "shape":"SetIdentityDkimEnabledResponse", "resultWrapper":"SetIdentityDkimEnabledResult" }, - "documentation":"

Enables or disables Easy DKIM signing of email sent from an identity:

  • If Easy DKIM signing is enabled for a domain name identity (such as example.com), then Amazon SES will DKIM-sign all email sent by addresses under that domain name (for example, user@example.com).

  • If Easy DKIM signing is enabled for an email address, then Amazon SES will DKIM-sign all email sent by that email address.

For email addresses (for example, user@example.com), you can only enable Easy DKIM signing if the corresponding domain (in this case, example.com) has been set up for Easy DKIM using the AWS Console or the VerifyDomainDkim operation.

You can execute this operation no more than once per second.

For more information about Easy DKIM signing, go to the Amazon SES Developer Guide.

" + "documentation":"

Enables or disables Easy DKIM signing of email sent from an identity:

  • If Easy DKIM signing is enabled for a domain name identity (such as example.com), then Amazon SES will DKIM-sign all email sent by addresses under that domain name (for example, user@example.com).

  • If Easy DKIM signing is enabled for an email address, then Amazon SES will DKIM-sign all email sent by that email address.

For email addresses (for example, user@example.com), you can only enable Easy DKIM signing if the corresponding domain (in this case, example.com) has been set up for Easy DKIM using the AWS Console or the VerifyDomainDkim operation.

You can execute this operation no more than once per second.

For more information about Easy DKIM signing, go to the Amazon SES Developer Guide.

" }, "SetIdentityFeedbackForwardingEnabled":{ "name":"SetIdentityFeedbackForwardingEnabled", @@ -818,7 +835,7 @@ "shape":"SetIdentityFeedbackForwardingEnabledResponse", "resultWrapper":"SetIdentityFeedbackForwardingEnabledResult" }, - "documentation":"

Given an identity (an email address or a domain), enables or disables whether Amazon SES forwards bounce and complaint notifications as email. Feedback forwarding can only be disabled when Amazon Simple Notification Service (Amazon SNS) topics are specified for both bounces and complaints.

Feedback forwarding does not apply to delivery notifications. Delivery notifications are only available through Amazon SNS.

You can execute this operation no more than once per second.

For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide.

" + "documentation":"

Given an identity (an email address or a domain), enables or disables whether Amazon SES forwards bounce and complaint notifications as email. Feedback forwarding can only be disabled when Amazon Simple Notification Service (Amazon SNS) topics are specified for both bounces and complaints.

Feedback forwarding does not apply to delivery notifications. Delivery notifications are only available through Amazon SNS.

You can execute this operation no more than once per second.

For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide.

" }, "SetIdentityHeadersInNotificationsEnabled":{ "name":"SetIdentityHeadersInNotificationsEnabled", @@ -831,7 +848,7 @@ "shape":"SetIdentityHeadersInNotificationsEnabledResponse", "resultWrapper":"SetIdentityHeadersInNotificationsEnabledResult" }, - "documentation":"

Given an identity (an email address or a domain), sets whether Amazon SES includes the original email headers in the Amazon Simple Notification Service (Amazon SNS) notifications of a specified type.

You can execute this operation no more than once per second.

For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide.

" + "documentation":"

Given an identity (an email address or a domain), sets whether Amazon SES includes the original email headers in the Amazon Simple Notification Service (Amazon SNS) notifications of a specified type.

You can execute this operation no more than once per second.

For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide.

" }, "SetIdentityMailFromDomain":{ "name":"SetIdentityMailFromDomain", @@ -844,7 +861,7 @@ "shape":"SetIdentityMailFromDomainResponse", "resultWrapper":"SetIdentityMailFromDomainResult" }, - "documentation":"

Enables or disables the custom MAIL FROM domain setup for a verified identity (an email address or a domain).

To send emails using the specified MAIL FROM domain, you must add an MX record to your MAIL FROM domain's DNS settings. If you want your emails to pass Sender Policy Framework (SPF) checks, you must also add or update an SPF record. For more information, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Enables or disables the custom MAIL FROM domain setup for a verified identity (an email address or a domain).

To send emails using the specified MAIL FROM domain, you must add an MX record to your MAIL FROM domain's DNS settings. If you want your emails to pass Sender Policy Framework (SPF) checks, you must also add or update an SPF record. For more information, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "SetIdentityNotificationTopic":{ "name":"SetIdentityNotificationTopic", @@ -857,7 +874,7 @@ "shape":"SetIdentityNotificationTopicResponse", "resultWrapper":"SetIdentityNotificationTopicResult" }, - "documentation":"

Sets an Amazon Simple Notification Service (Amazon SNS) topic to use when delivering notifications. When you use this operation, you specify a verified identity, such as an email address or domain. When you send an email that uses the chosen identity in the Source field, Amazon SES sends notifications to the topic you specified. You can send bounce, complaint, or delivery notifications (or any combination of the three) to the Amazon SNS topic that you specify.

You can execute this operation no more than once per second.

For more information about feedback notification, see the Amazon SES Developer Guide.

" + "documentation":"

Sets an Amazon Simple Notification Service (Amazon SNS) topic to use when delivering notifications. When you use this operation, you specify a verified identity, such as an email address or domain. When you send an email that uses the chosen identity in the Source field, Amazon SES sends notifications to the topic you specified. You can send bounce, complaint, or delivery notifications (or any combination of the three) to the Amazon SNS topic that you specify.

You can execute this operation no more than once per second.

For more information about feedback notification, see the Amazon SES Developer Guide.

" }, "SetReceiptRulePosition":{ "name":"SetReceiptRulePosition", @@ -874,7 +891,7 @@ {"shape":"RuleSetDoesNotExistException"}, {"shape":"RuleDoesNotExistException"} ], - "documentation":"

Sets the position of the specified receipt rule in the receipt rule set.

For information about managing receipt rules, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Sets the position of the specified receipt rule in the receipt rule set.

For information about managing receipt rules, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "TestRenderTemplate":{ "name":"TestRenderTemplate", @@ -921,7 +938,7 @@ {"shape":"InvalidFirehoseDestinationException"}, {"shape":"InvalidSNSDestinationException"} ], - "documentation":"

Updates the event destination of a configuration set. Event destinations are associated with configuration sets, which enable you to publish email sending events to Amazon CloudWatch, Amazon Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS). For information about using configuration sets, see Monitoring Your Amazon SES Sending Activity in the Amazon SES Developer Guide.

When you create or update an event destination, you must provide one, and only one, destination. The destination can be Amazon CloudWatch, Amazon Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS).

You can execute this operation no more than once per second.

" + "documentation":"

Updates the event destination of a configuration set. Event destinations are associated with configuration sets, which enable you to publish email sending events to Amazon CloudWatch, Amazon Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS). For information about using configuration sets, see Monitoring Your Amazon SES Sending Activity in the Amazon SES Developer Guide.

When you create or update an event destination, you must provide one, and only one, destination. The destination can be Amazon CloudWatch, Amazon Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS).

You can execute this operation no more than once per second.

" }, "UpdateConfigurationSetReputationMetricsEnabled":{ "name":"UpdateConfigurationSetReputationMetricsEnabled", @@ -963,7 +980,7 @@ {"shape":"TrackingOptionsDoesNotExistException"}, {"shape":"InvalidTrackingOptionsException"} ], - "documentation":"

Modifies an association between a configuration set and a custom domain for open and click event tracking.

By default, images and links used for tracking open and click events are hosted on domains operated by Amazon SES. You can configure a subdomain of your own to handle these events. For information about using custom domains, see the Amazon SES Developer Guide.

" + "documentation":"

Modifies an association between a configuration set and a custom domain for open and click event tracking.

By default, images and links used for tracking open and click events are hosted on domains operated by Amazon SES. You can configure a subdomain of your own to handle these events. For information about using custom domains, see the Amazon SES Developer Guide.

" }, "UpdateCustomVerificationEmailTemplate":{ "name":"UpdateCustomVerificationEmailTemplate", @@ -977,7 +994,7 @@ {"shape":"FromEmailAddressNotVerifiedException"}, {"shape":"CustomVerificationEmailInvalidContentException"} ], - "documentation":"

Updates an existing custom verification email template.

For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Updates an existing custom verification email template.

For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "UpdateReceiptRule":{ "name":"UpdateReceiptRule", @@ -998,7 +1015,7 @@ {"shape":"RuleDoesNotExistException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Updates a receipt rule.

For information about managing receipt rules, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Updates a receipt rule.

For information about managing receipt rules, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "UpdateTemplate":{ "name":"UpdateTemplate", @@ -1015,7 +1032,7 @@ {"shape":"TemplateDoesNotExistException"}, {"shape":"InvalidTemplateException"} ], - "documentation":"

Updates an email template. Email templates enable you to send personalized email to one or more destinations in a single API operation. For more information, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Updates an email template. Email templates enable you to send personalized email to one or more destinations in a single API operation. For more information, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "VerifyDomainDkim":{ "name":"VerifyDomainDkim", @@ -1028,7 +1045,7 @@ "shape":"VerifyDomainDkimResponse", "resultWrapper":"VerifyDomainDkimResult" }, - "documentation":"

Returns a set of DKIM tokens for a domain. DKIM tokens are character strings that represent your domain's identity. Using these tokens, you will need to create DNS CNAME records that point to DKIM public keys hosted by Amazon SES. Amazon Web Services will eventually detect that you have updated your DNS records; this detection process may take up to 72 hours. Upon successful detection, Amazon SES will be able to DKIM-sign email originating from that domain.

You can execute this operation no more than once per second.

To enable or disable Easy DKIM signing for a domain, use the SetIdentityDkimEnabled operation.

For more information about creating DNS records using DKIM tokens, go to the Amazon SES Developer Guide.

" + "documentation":"

Returns a set of DKIM tokens for a domain identity.

When you execute the VerifyDomainDkim operation, the domain that you specify is added to the list of identities that are associated with your account. This is true even if you haven't already associated the domain with your account by using the VerifyDomainIdentity operation. However, you can't send email from the domain until you either successfully verify it or you successfully set up DKIM for it.

You use the tokens that are generated by this operation to create CNAME records. When Amazon SES detects that you've added these records to the DNS configuration for a domain, you can start sending email from that domain. You can start sending email even if you haven't added the TXT record provided by the VerifyDomainIdentity operation to the DNS configuration for your domain. All email that you send from the domain is authenticated using DKIM.

To create the CNAME records for DKIM authentication, use the following values:

  • Name: token._domainkey.example.com

  • Type: CNAME

  • Value: token.dkim.amazonses.com

In the preceding example, replace token with one of the tokens that are generated when you execute this operation. Replace example.com with your domain. Repeat this process for each token that's generated by this operation.

You can execute this operation no more than once per second.

" }, "VerifyDomainIdentity":{ "name":"VerifyDomainIdentity", @@ -1041,7 +1058,7 @@ "shape":"VerifyDomainIdentityResponse", "resultWrapper":"VerifyDomainIdentityResult" }, - "documentation":"

Adds a domain to the list of identities for your Amazon SES account in the current AWS Region and attempts to verify it. For more information about verifying domains, see Verifying Email Addresses and Domains in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" + "documentation":"

Adds a domain to the list of identities for your Amazon SES account in the current AWS Region and attempts to verify it. For more information about verifying domains, see Verifying Email Addresses and Domains in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "VerifyEmailAddress":{ "name":"VerifyEmailAddress", @@ -1095,7 +1112,7 @@ "documentation":"

Must be less than 2048 characters, and must not contain newline characters (\"\\r\" or \"\\n\").

" } }, - "documentation":"

When included in a receipt rule, this action adds a header to the received email.

For information about adding a header using a receipt rule, see the Amazon SES Developer Guide.

" + "documentation":"

When included in a receipt rule, this action adds a header to the received email.

For information about adding a header using a receipt rule, see the Amazon SES Developer Guide.

" }, "Address":{"type":"string"}, "AddressList":{ @@ -1151,7 +1168,7 @@ "members":{ "TopicArn":{ "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the bounce action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

" + "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the bounce action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

" }, "SmtpReplyCode":{ "shape":"BounceSmtpReplyCode", @@ -1170,7 +1187,7 @@ "documentation":"

The email address of the sender of the bounced email. This is the address from which the bounce message will be sent.

" } }, - "documentation":"

When included in a receipt rule, this action rejects the received email by returning a bounce response to the sender and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

For information about sending a bounce message in response to a received email, see the Amazon SES Developer Guide.

" + "documentation":"

When included in a receipt rule, this action rejects the received email by returning a bounce response to the sender and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

For information about sending a bounce message in response to a received email, see the Amazon SES Developer Guide.

" }, "BounceMessage":{"type":"string"}, "BounceSmtpReplyCode":{"type":"string"}, @@ -1196,7 +1213,7 @@ }, "RecipientArn":{ "shape":"AmazonResourceName", - "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to receive email for the recipient of the bounced email. For more information about sending authorization, see the Amazon SES Developer Guide.

" + "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to receive email for the recipient of the bounced email. For more information about sending authorization, see the Amazon SES Developer Guide.

" }, "BounceType":{ "shape":"BounceType", @@ -1207,7 +1224,7 @@ "documentation":"

Recipient-related DSN fields, most of which would normally be filled in automatically when provided with a BounceType. You must provide either this parameter or BounceType.

" } }, - "documentation":"

Recipient-related information to include in the Delivery Status Notification (DSN) when an email that Amazon SES receives on your behalf bounces.

For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

" + "documentation":"

Recipient-related information to include in the Delivery Status Notification (DSN) when an email that Amazon SES receives on your behalf bounces.

For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

" }, "BouncedRecipientInfoList":{ "type":"list", @@ -1308,7 +1325,7 @@ "documentation":"

The name of the rule set to clone.

" } }, - "documentation":"

Represents a request to create a receipt rule set by cloning an existing one. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to create a receipt rule set by cloning an existing one. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" }, "CloneReceiptRuleSetResponse":{ "type":"structure", @@ -1325,7 +1342,7 @@ "documentation":"

A list of dimensions upon which to categorize your emails when you publish email sending events to Amazon CloudWatch.

" } }, - "documentation":"

Contains information associated with an Amazon CloudWatch event destination to which email sending events are published.

Event destinations, such as Amazon CloudWatch, are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" + "documentation":"

Contains information associated with an Amazon CloudWatch event destination to which email sending events are published.

Event destinations, such as Amazon CloudWatch, are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" }, "CloudWatchDimensionConfiguration":{ "type":"structure", @@ -1348,7 +1365,7 @@ "documentation":"

The default value of the dimension that is published to Amazon CloudWatch if you do not provide the value of the dimension when you send an email. The default value must:

  • This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

  • Contain less than 256 characters.

" } }, - "documentation":"

Contains the dimension configuration to use when you publish email sending events to Amazon CloudWatch.

For information about publishing email sending events to Amazon CloudWatch, see the Amazon SES Developer Guide.

" + "documentation":"

Contains the dimension configuration to use when you publish email sending events to Amazon CloudWatch.

For information about publishing email sending events to Amazon CloudWatch, see the Amazon SES Developer Guide.

" }, "CloudWatchDimensionConfigurations":{ "type":"list", @@ -1363,7 +1380,7 @@ "documentation":"

The name of the configuration set. The name must meet the following requirements:

  • Contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

  • Contain 64 characters or fewer.

" } }, - "documentation":"

The name of the configuration set.

Configuration sets let you create groups of rules that you can apply to the emails you send using Amazon SES. For more information about using configuration sets, see Using Amazon SES Configuration Sets in the Amazon SES Developer Guide.

" + "documentation":"

The name of the configuration set.

Configuration sets let you create groups of rules that you can apply to the emails you send using Amazon SES. For more information about using configuration sets, see Using Amazon SES Configuration Sets in the Amazon SES Developer Guide.

" }, "ConfigurationSetAlreadyExistsException":{ "type":"structure", @@ -1386,6 +1403,7 @@ "enum":[ "eventDestinations", "trackingOptions", + "deliveryOptions", "reputationOptions" ] }, @@ -1462,7 +1480,7 @@ "documentation":"

An object that describes the AWS service that email sending event information will be published to.

" } }, - "documentation":"

Represents a request to create a configuration set event destination. A configuration set event destination, which can be either Amazon CloudWatch or Amazon Kinesis Firehose, describes an AWS service in which Amazon SES publishes the email sending events associated with a configuration set. For information about using configuration sets, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to create a configuration set event destination. A configuration set event destination, which can be either Amazon CloudWatch or Amazon Kinesis Firehose, describes an AWS service in which Amazon SES publishes the email sending events associated with a configuration set. For information about using configuration sets, see the Amazon SES Developer Guide.

" }, "CreateConfigurationSetEventDestinationResponse":{ "type":"structure", @@ -1479,7 +1497,7 @@ "documentation":"

A data structure that contains the name of the configuration set.

" } }, - "documentation":"

Represents a request to create a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to create a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" }, "CreateConfigurationSetResponse":{ "type":"structure", @@ -1533,7 +1551,7 @@ }, "TemplateContent":{ "shape":"TemplateContent", - "documentation":"

The content of the custom verification email. The total size of the email must be less than 10 MB. The message body may contain HTML, with some limitations. For more information, see Custom Verification Email Frequently Asked Questions in the Amazon SES Developer Guide.

" + "documentation":"

The content of the custom verification email. The total size of the email must be less than 10 MB. The message body may contain HTML, with some limitations. For more information, see Custom Verification Email Frequently Asked Questions in the Amazon SES Developer Guide.

" }, "SuccessRedirectionURL":{ "shape":"SuccessRedirectionURL", @@ -1555,7 +1573,7 @@ "documentation":"

A data structure that describes the IP address filter to create, which consists of a name, an IP address range, and whether to allow or block mail from it.

" } }, - "documentation":"

Represents a request to create a new IP address filter. You use IP address filters when you receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to create a new IP address filter. You use IP address filters when you receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" }, "CreateReceiptFilterResponse":{ "type":"structure", @@ -1583,7 +1601,7 @@ "documentation":"

A data structure that contains the specified rule's name, actions, recipients, domains, enabled status, scan status, and TLS policy.

" } }, - "documentation":"

Represents a request to create a receipt rule. You use receipt rules to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to create a receipt rule. You use receipt rules to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" }, "CreateReceiptRuleResponse":{ "type":"structure", @@ -1600,7 +1618,7 @@ "documentation":"

The name of the rule set to create. The name must:

  • This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

  • Start and end with a letter or number.

  • Contain less than 64 characters.

" } }, - "documentation":"

Represents a request to create an empty receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to create an empty receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" }, "CreateReceiptRuleSetResponse":{ "type":"structure", @@ -1617,7 +1635,7 @@ "documentation":"

The content of the email, composed of a subject line, an HTML part, and a text-only part.

" } }, - "documentation":"

Represents a request to create an email template. For more information, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to create an email template. For more information, see the Amazon SES Developer Guide.

" }, "CreateTemplateResponse":{ "type":"structure", @@ -1725,7 +1743,7 @@ "documentation":"

The name of the event destination to delete.

" } }, - "documentation":"

Represents a request to delete a configuration set event destination. Configuration set event destinations are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to delete a configuration set event destination. Configuration set event destinations are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" }, "DeleteConfigurationSetEventDestinationResponse":{ "type":"structure", @@ -1742,7 +1760,7 @@ "documentation":"

The name of the configuration set to delete.

" } }, - "documentation":"

Represents a request to delete a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to delete a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" }, "DeleteConfigurationSetResponse":{ "type":"structure", @@ -1794,7 +1812,7 @@ "documentation":"

The name of the policy to be deleted.

" } }, - "documentation":"

Represents a request to delete a sending authorization policy for an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. For information, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to delete a sending authorization policy for an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. For information, see the Amazon SES Developer Guide.

" }, "DeleteIdentityPolicyResponse":{ "type":"structure", @@ -1828,7 +1846,7 @@ "documentation":"

The name of the IP address filter to delete.

" } }, - "documentation":"

Represents a request to delete an IP address filter. You use IP address filters when you receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to delete an IP address filter. You use IP address filters when you receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" }, "DeleteReceiptFilterResponse":{ "type":"structure", @@ -1852,7 +1870,7 @@ "documentation":"

The name of the receipt rule to delete.

" } }, - "documentation":"

Represents a request to delete a receipt rule. You use receipt rules to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to delete a receipt rule. You use receipt rules to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" }, "DeleteReceiptRuleResponse":{ "type":"structure", @@ -1869,7 +1887,7 @@ "documentation":"

The name of the receipt rule set to delete.

" } }, - "documentation":"

Represents a request to delete a receipt rule set and all of the receipt rules it contains. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to delete a receipt rule set and all of the receipt rules it contains. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" }, "DeleteReceiptRuleSetResponse":{ "type":"structure", @@ -1886,7 +1904,7 @@ "documentation":"

The name of the template to be deleted.

" } }, - "documentation":"

Represents a request to delete an email template. For more information, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to delete an email template. For more information, see the Amazon SES Developer Guide.

" }, "DeleteTemplateResponse":{ "type":"structure", @@ -1904,11 +1922,21 @@ }, "documentation":"

Represents a request to delete an email address from the list of email addresses you have attempted to verify under your AWS account.

" }, + "DeliveryOptions":{ + "type":"structure", + "members":{ + "TlsPolicy":{ + "shape":"TlsPolicy", + "documentation":"

Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). If the value is Require, messages are only delivered if a TLS connection can be established. If the value is Optional, messages can be delivered in plain text if a TLS connection can't be established.

" + } + }, + "documentation":"

Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS).

" + }, "DescribeActiveReceiptRuleSetRequest":{ "type":"structure", "members":{ }, - "documentation":"

Represents a request to return the metadata and receipt rules for the receipt rule set that is currently active. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to return the metadata and receipt rules for the receipt rule set that is currently active. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" }, "DescribeActiveReceiptRuleSetResponse":{ "type":"structure", @@ -1937,7 +1965,7 @@ "documentation":"

A list of configuration set attributes to return.

" } }, - "documentation":"

Represents a request to return the details of a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to return the details of a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" }, "DescribeConfigurationSetResponse":{ "type":"structure", @@ -1954,12 +1982,13 @@ "shape":"TrackingOptions", "documentation":"

The name of the custom open and click tracking domain associated with the configuration set.

" }, + "DeliveryOptions":{"shape":"DeliveryOptions"}, "ReputationOptions":{ "shape":"ReputationOptions", "documentation":"

An object that represents the reputation settings for the configuration set.

" } }, - "documentation":"

Represents the details of a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" + "documentation":"

Represents the details of a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" }, "DescribeReceiptRuleRequest":{ "type":"structure", @@ -1977,7 +2006,7 @@ "documentation":"

The name of the receipt rule.

" } }, - "documentation":"

Represents a request to return the details of a receipt rule. You use receipt rules to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to return the details of a receipt rule. You use receipt rules to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" }, "DescribeReceiptRuleResponse":{ "type":"structure", @@ -1998,7 +2027,7 @@ "documentation":"

The name of the receipt rule set to describe.

" } }, - "documentation":"

Represents a request to return the details of a receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to return the details of a receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" }, "DescribeReceiptRuleSetResponse":{ "type":"structure", @@ -2093,7 +2122,7 @@ "documentation":"

An object that contains the topic ARN associated with an Amazon Simple Notification Service (Amazon SNS) event destination.

" } }, - "documentation":"

Contains information about the event destination that the specified email sending events will be published to.

When you create or update an event destination, you must provide one, and only one, destination. The destination can be Amazon CloudWatch, Amazon Kinesis Firehose or Amazon Simple Notification Service (Amazon SNS).

Event destinations are associated with configuration sets, which enable you to publish email sending events to Amazon CloudWatch, Amazon Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS). For information about using configuration sets, see the Amazon SES Developer Guide.

" + "documentation":"

Contains information about the event destination that the specified email sending events will be published to.

When you create or update an event destination, you must provide one, and only one, destination. The destination can be Amazon CloudWatch, Amazon Kinesis Firehose or Amazon Simple Notification Service (Amazon SNS).

Event destinations are associated with configuration sets, which enable you to publish email sending events to Amazon CloudWatch, Amazon Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS). For information about using configuration sets, see the Amazon SES Developer Guide.

" }, "EventDestinationAlreadyExistsException":{ "type":"structure", @@ -2174,7 +2203,7 @@ "documentation":"

The value of the header to add. Must be less than 2048 characters, and must not contain newline characters (\"\\r\" or \"\\n\").

" } }, - "documentation":"

Additional X-headers to include in the Delivery Status Notification (DSN) when an email that Amazon SES receives on your behalf bounces.

For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

" + "documentation":"

Additional X-headers to include in the Delivery Status Notification (DSN) when an email that Amazon SES receives on your behalf bounces.

For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

" }, "ExtensionFieldList":{ "type":"list", @@ -2260,7 +2289,7 @@ "documentation":"

A list of one or more verified identities - email addresses, domains, or both.

" } }, - "documentation":"

Represents a request for the status of Amazon SES Easy DKIM signing for an identity. For domain identities, this request also returns the DKIM tokens that are required for Easy DKIM signing, and whether Amazon SES successfully verified that these tokens were published. For more information about Easy DKIM, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request for the status of Amazon SES Easy DKIM signing for an identity. For domain identities, this request also returns the DKIM tokens that are required for Easy DKIM signing, and whether Amazon SES successfully verified that these tokens were published. For more information about Easy DKIM, see the Amazon SES Developer Guide.

" }, "GetIdentityDkimAttributesResponse":{ "type":"structure", @@ -2282,7 +2311,7 @@ "documentation":"

A list of one or more identities.

" } }, - "documentation":"

Represents a request to return the Amazon SES custom MAIL FROM attributes for a list of identities. For information about using a custom MAIL FROM domain, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to return the Amazon SES custom MAIL FROM attributes for a list of identities. For information about using a custom MAIL FROM domain, see the Amazon SES Developer Guide.

" }, "GetIdentityMailFromDomainAttributesResponse":{ "type":"structure", @@ -2304,7 +2333,7 @@ "documentation":"

A list of one or more identities. You can specify an identity by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.

" } }, - "documentation":"

Represents a request to return the notification attributes for a list of identities you verified with Amazon SES. For information about Amazon SES notifications, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to return the notification attributes for a list of identities you verified with Amazon SES. For information about Amazon SES notifications, see the Amazon SES Developer Guide.

" }, "GetIdentityNotificationAttributesResponse":{ "type":"structure", @@ -2333,7 +2362,7 @@ "documentation":"

A list of the names of policies to be retrieved. You can retrieve a maximum of 20 policies at a time. If you do not know the names of the policies that are attached to the identity, you can use ListIdentityPolicies.

" } }, - "documentation":"

Represents a request to return the requested sending authorization policies for an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. For information, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to return the requested sending authorization policies for an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. For information, see the Amazon SES Developer Guide.

" }, "GetIdentityPoliciesResponse":{ "type":"structure", @@ -2355,7 +2384,7 @@ "documentation":"

A list of identities.

" } }, - "documentation":"

Represents a request to return the Amazon SES verification status of a list of identities. For domain identities, this request also returns the verification token. For information about verifying identities with Amazon SES, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to return the Amazon SES verification status of a list of identities. For domain identities, this request also returns the verification token. For information about verifying identities with Amazon SES, see the Amazon SES Developer Guide.

" }, "GetIdentityVerificationAttributesResponse":{ "type":"structure", @@ -2425,7 +2454,7 @@ "members":{ "DkimEnabled":{ "shape":"Enabled", - "documentation":"

True if DKIM signing is enabled for email sent from the identity; false otherwise. The default value is true.

" + "documentation":"

Is true if DKIM signing is enabled for email sent from the identity. It's false otherwise. The default value is true.

" }, "DkimVerificationStatus":{ "shape":"VerificationStatus", @@ -2433,7 +2462,7 @@ }, "DkimTokens":{ "shape":"VerificationTokenList", - "documentation":"

A set of character strings that represent the domain's identity. Using these tokens, you will need to create DNS CNAME records that point to DKIM public keys hosted by Amazon SES. Amazon Web Services will eventually detect that you have updated your DNS records; this detection process may take up to 72 hours. Upon successful detection, Amazon SES will be able to DKIM-sign email originating from that domain. (This only applies to domain identities, not email address identities.)

For more information about creating DNS records using DKIM tokens, go to the Amazon SES Developer Guide.

" + "documentation":"

A set of character strings that represent the domain's identity. Using these tokens, you need to create DNS CNAME records that point to DKIM public keys that are hosted by Amazon SES. Amazon Web Services eventually detects that you've updated your DNS records. This detection process might take up to 72 hours. After successful detection, Amazon SES is able to DKIM-sign email originating from that domain. (This only applies to domain identities, not email address identities.)

For more information about creating DNS records using DKIM tokens, see the Amazon SES Developer Guide.

" } }, "documentation":"

Represents the DKIM attributes of a verified email address or a domain.

" @@ -2559,6 +2588,18 @@ }, "exception":true }, + "InvalidDeliveryOptionsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

Indicates that provided delivery option is invalid.

", + "error":{ + "code":"InvalidDeliveryOptions", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidFirehoseDestinationException":{ "type":"structure", "members":{ @@ -2587,7 +2628,7 @@ "documentation":"

Indicates that the ARN of the function was not found.

" } }, - "documentation":"

Indicates that the provided AWS Lambda function is invalid, or that Amazon SES could not execute the provided function, possibly due to permissions issues. For information about giving permissions, see the Amazon SES Developer Guide.

", + "documentation":"

Indicates that the provided AWS Lambda function is invalid, or that Amazon SES could not execute the provided function, possibly due to permissions issues. For information about giving permissions, see the Amazon SES Developer Guide.

", "error":{ "code":"InvalidLambdaFunction", "httpStatusCode":400, @@ -2628,7 +2669,7 @@ "documentation":"

Indicated that the S3 Bucket was not found.

" } }, - "documentation":"

Indicates that the provided Amazon S3 bucket or AWS KMS encryption key is invalid, or that Amazon SES could not publish to the bucket, possibly due to permissions issues. For information about giving permissions, see the Amazon SES Developer Guide.

", + "documentation":"

Indicates that the provided Amazon S3 bucket or AWS KMS encryption key is invalid, or that Amazon SES could not publish to the bucket, possibly due to permissions issues. For information about giving permissions, see the Amazon SES Developer Guide.

", "error":{ "code":"InvalidS3Configuration", "httpStatusCode":400, @@ -2664,7 +2705,7 @@ "documentation":"

Indicates that the topic does not exist.

" } }, - "documentation":"

Indicates that the provided Amazon SNS topic is invalid, or that Amazon SES could not publish to the topic, possibly due to permissions issues. For information about giving permissions, see the Amazon SES Developer Guide.

", + "documentation":"

Indicates that the provided Amazon SNS topic is invalid, or that Amazon SES could not publish to the topic, possibly due to permissions issues. For information about giving permissions, see the Amazon SES Developer Guide.

", "error":{ "code":"InvalidSnsTopic", "httpStatusCode":400, @@ -2720,7 +2761,7 @@ "documentation":"

The ARN of the Amazon Kinesis Firehose stream that email sending events should be published to.

" } }, - "documentation":"

Contains the delivery stream ARN and the IAM role ARN associated with an Amazon Kinesis Firehose event destination.

Event destinations, such as Amazon Kinesis Firehose, are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" + "documentation":"

Contains the delivery stream ARN and the IAM role ARN associated with an Amazon Kinesis Firehose event destination.

Event destinations, such as Amazon Kinesis Firehose, are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" }, "LambdaAction":{ "type":"structure", @@ -2728,18 +2769,18 @@ "members":{ "TopicArn":{ "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the Lambda action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

" + "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the Lambda action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

" }, "FunctionArn":{ "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the AWS Lambda function. An example of an AWS Lambda function ARN is arn:aws:lambda:us-west-2:account-id:function:MyFunction. For more information about AWS Lambda, see the AWS Lambda Developer Guide.

" + "documentation":"

The Amazon Resource Name (ARN) of the AWS Lambda function. An example of an AWS Lambda function ARN is arn:aws:lambda:us-west-2:account-id:function:MyFunction. For more information about AWS Lambda, see the AWS Lambda Developer Guide.

" }, "InvocationType":{ "shape":"InvocationType", - "documentation":"

The invocation type of the AWS Lambda function. An invocation type of RequestResponse means that the execution of the function will immediately result in a response, and a value of Event means that the function will be invoked asynchronously. The default value is Event. For information about AWS Lambda invocation types, see the AWS Lambda Developer Guide.

There is a 30-second timeout on RequestResponse invocations. You should use Event invocation in most cases. Use RequestResponse only when you want to make a mail flow decision, such as whether to stop the receipt rule or the receipt rule set.

" + "documentation":"

The invocation type of the AWS Lambda function. An invocation type of RequestResponse means that the execution of the function will immediately result in a response, and a value of Event means that the function will be invoked asynchronously. The default value is Event. For information about AWS Lambda invocation types, see the AWS Lambda Developer Guide.

There is a 30-second timeout on RequestResponse invocations. You should use Event invocation in most cases. Use RequestResponse only when you want to make a mail flow decision, such as whether to stop the receipt rule or the receipt rule set.

" } }, - "documentation":"

When included in a receipt rule, this action calls an AWS Lambda function and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

To enable Amazon SES to call your AWS Lambda function or to publish to an Amazon SNS topic of another account, Amazon SES must have permission to access those resources. For information about giving permissions, see the Amazon SES Developer Guide.

For information about using AWS Lambda actions in receipt rules, see the Amazon SES Developer Guide.

" + "documentation":"

When included in a receipt rule, this action calls an AWS Lambda function and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

To enable Amazon SES to call your AWS Lambda function or to publish to an Amazon SNS topic of another account, Amazon SES must have permission to access those resources. For information about giving permissions, see the Amazon SES Developer Guide.

For information about using AWS Lambda actions in receipt rules, see the Amazon SES Developer Guide.

" }, "LastAttemptDate":{"type":"timestamp"}, "LastFreshStart":{"type":"timestamp"}, @@ -2747,7 +2788,7 @@ "type":"structure", "members":{ }, - "documentation":"

Indicates that a resource could not be created because of service limits. For a list of Amazon SES limits, see the Amazon SES Developer Guide.

", + "documentation":"

Indicates that a resource could not be created because of service limits. For a list of Amazon SES limits, see the Amazon SES Developer Guide.

", "error":{ "code":"LimitExceeded", "httpStatusCode":400, @@ -2767,7 +2808,7 @@ "documentation":"

The number of configuration sets to return.

" } }, - "documentation":"

Represents a request to list the configuration sets associated with your AWS account. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to list the configuration sets associated with your AWS account. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" }, "ListConfigurationSetsResponse":{ "type":"structure", @@ -2781,7 +2822,7 @@ "documentation":"

A token indicating that there are additional configuration sets available to be listed. Pass this token to successive calls of ListConfigurationSets.

" } }, - "documentation":"

A list of configuration sets associated with your AWS account. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" + "documentation":"

A list of configuration sets associated with your AWS account. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" }, "ListCustomVerificationEmailTemplatesRequest":{ "type":"structure", @@ -2853,7 +2894,7 @@ "documentation":"

The identity that is associated with the policy for which the policies will be listed. You can specify an identity by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.

To successfully call this API, you must own the identity.

" } }, - "documentation":"

Represents a request to return a list of sending authorization policies that are attached to an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. For information, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to return a list of sending authorization policies that are attached to an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. For information, see the Amazon SES Developer Guide.

" }, "ListIdentityPoliciesResponse":{ "type":"structure", @@ -2870,7 +2911,7 @@ "type":"structure", "members":{ }, - "documentation":"

Represents a request to list the IP address filters that exist under your AWS account. You use IP address filters when you receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to list the IP address filters that exist under your AWS account. You use IP address filters when you receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" }, "ListReceiptFiltersResponse":{ "type":"structure", @@ -2890,7 +2931,7 @@ "documentation":"

A token returned from a previous call to ListReceiptRuleSets to indicate the position in the receipt rule set list.

" } }, - "documentation":"

Represents a request to list the receipt rule sets that exist under your AWS account. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to list the receipt rule sets that exist under your AWS account. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" }, "ListReceiptRuleSetsResponse":{ "type":"structure", @@ -2952,7 +2993,7 @@ "type":"structure", "members":{ }, - "documentation":"

Indicates that the message could not be sent because Amazon SES could not read the MX record required to use the specified MAIL FROM domain. For information about editing the custom MAIL FROM domain settings for an identity, see the Amazon SES Developer Guide.

", + "documentation":"

Indicates that the message could not be sent because Amazon SES could not read the MX record required to use the specified MAIL FROM domain. For information about editing the custom MAIL FROM domain settings for an identity, see the Amazon SES Developer Guide.

", "error":{ "code":"MailFromDomainNotVerifiedException", "httpStatusCode":400, @@ -3005,7 +3046,7 @@ "documentation":"

Additional X-headers to include in the DSN.

" } }, - "documentation":"

Message-related information to include in the Delivery Status Notification (DSN) when an email that Amazon SES receives on your behalf bounces.

For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

" + "documentation":"

Message-related information to include in the Delivery Status Notification (DSN) when an email that Amazon SES receives on your behalf bounces.

For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

" }, "MessageId":{"type":"string"}, "MessageRejected":{ @@ -3036,7 +3077,7 @@ "documentation":"

The value of the tag. The value must:

  • This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

  • Contain less than 256 characters.

" } }, - "documentation":"

Contains the name and value of a tag that you can provide to SendEmail or SendRawEmail to apply to an email.

Message tags, which you use with configuration sets, enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" + "documentation":"

Contains the name and value of a tag that you can provide to SendEmail or SendRawEmail to apply to an email.

Message tags, which you use with configuration sets, enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" }, "MessageTagList":{ "type":"list", @@ -3102,6 +3143,27 @@ }, "exception":true }, + "PutConfigurationSetDeliveryOptionsRequest":{ + "type":"structure", + "required":["ConfigurationSetName"], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

The name of the configuration set that you want to specify the delivery options for.

" + }, + "DeliveryOptions":{ + "shape":"DeliveryOptions", + "documentation":"

Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS).

" + } + }, + "documentation":"

A request to modify the delivery options for a configuration set.

" + }, + "PutConfigurationSetDeliveryOptionsResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

An HTTP 200 response if the request succeeds, or an error message if the request fails.

" + }, "PutIdentityPolicyRequest":{ "type":"structure", "required":[ @@ -3120,10 +3182,10 @@ }, "Policy":{ "shape":"Policy", - "documentation":"

The text of the policy in JSON format. The policy cannot exceed 4 KB.

For information about the syntax of sending authorization policies, see the Amazon SES Developer Guide.

" + "documentation":"

The text of the policy in JSON format. The policy cannot exceed 4 KB.

For information about the syntax of sending authorization policies, see the Amazon SES Developer Guide.

" } }, - "documentation":"

Represents a request to add or update a sending authorization policy for an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. For information, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to add or update a sending authorization policy for an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. For information, see the Amazon SES Developer Guide.

" }, "PutIdentityPolicyResponse":{ "type":"structure", @@ -3137,7 +3199,7 @@ "members":{ "Data":{ "shape":"RawMessageData", - "documentation":"

The raw data of the message. This data needs to base64-encoded if you are accessing Amazon SES directly through the HTTPS interface. If you are accessing Amazon SES using an AWS SDK, the SDK takes care of the base 64-encoding for you. In all cases, the client must ensure that the message format complies with Internet email standards regarding email header fields, MIME types, and MIME encoding.

The To:, CC:, and BCC: headers in the raw message can contain a group list.

If you are using SendRawEmail with sending authorization, you can include X-headers in the raw message to specify the \"Source,\" \"From,\" and \"Return-Path\" addresses. For more information, see the documentation for SendRawEmail.

Do not include these X-headers in the DKIM signature, because they are removed by Amazon SES before sending the email.

For more information, go to the Amazon SES Developer Guide.

" + "documentation":"

The raw data of the message. This data needs to base64-encoded if you are accessing Amazon SES directly through the HTTPS interface. If you are accessing Amazon SES using an AWS SDK, the SDK takes care of the base 64-encoding for you. In all cases, the client must ensure that the message format complies with Internet email standards regarding email header fields, MIME types, and MIME encoding.

The To:, CC:, and BCC: headers in the raw message can contain a group list.

If you are using SendRawEmail with sending authorization, you can include X-headers in the raw message to specify the \"Source,\" \"From,\" and \"Return-Path\" addresses. For more information, see the documentation for SendRawEmail.

Do not include these X-headers in the DKIM signature, because they are removed by Amazon SES before sending the email.

For more information, go to the Amazon SES Developer Guide.

" } }, "documentation":"

Represents the raw data of the message.

" @@ -3175,7 +3237,7 @@ "documentation":"

Publishes the email content within a notification to Amazon SNS.

" } }, - "documentation":"

An action that Amazon SES can take when it receives an email on behalf of one or more email addresses or domains that you own. An instance of this data type can represent only one action.

For information about setting up receipt rules, see the Amazon SES Developer Guide.

" + "documentation":"

An action that Amazon SES can take when it receives an email on behalf of one or more email addresses or domains that you own. An instance of this data type can represent only one action.

For information about setting up receipt rules, see the Amazon SES Developer Guide.

" }, "ReceiptActionsList":{ "type":"list", @@ -3197,7 +3259,7 @@ "documentation":"

A structure that provides the IP addresses to block or allow, and whether to block or allow incoming mail from them.

" } }, - "documentation":"

A receipt IP address filter enables you to specify whether to accept or reject mail originating from an IP address or range of IP addresses.

For information about setting up IP address filters, see the Amazon SES Developer Guide.

" + "documentation":"

A receipt IP address filter enables you to specify whether to accept or reject mail originating from an IP address or range of IP addresses.

For information about setting up IP address filters, see the Amazon SES Developer Guide.

" }, "ReceiptFilterList":{ "type":"list", @@ -3227,7 +3289,7 @@ "documentation":"

A single IP address or a range of IP addresses that you want to block or allow, specified in Classless Inter-Domain Routing (CIDR) notation. An example of a single email address is 10.0.0.1. An example of a range of IP addresses is 10.0.0.1/24. For more information about CIDR notation, see RFC 2317.

" } }, - "documentation":"

A receipt IP address filter enables you to specify whether to accept or reject mail originating from an IP address or range of IP addresses.

For information about setting up IP address filters, see the Amazon SES Developer Guide.

" + "documentation":"

A receipt IP address filter enables you to specify whether to accept or reject mail originating from an IP address or range of IP addresses.

For information about setting up IP address filters, see the Amazon SES Developer Guide.

" }, "ReceiptRule":{ "type":"structure", @@ -3258,7 +3320,7 @@ "documentation":"

If true, then messages that this receipt rule applies to are scanned for spam and viruses. The default value is false.

" } }, - "documentation":"

Receipt rules enable you to specify which actions Amazon SES should take when it receives mail on behalf of one or more email addresses or domains that you own.

Each receipt rule defines a set of email addresses or domains that it applies to. If the email addresses or domains match at least one recipient address of the message, Amazon SES executes all of the receipt rule's actions on the message.

For information about setting up receipt rules, see the Amazon SES Developer Guide.

" + "documentation":"

Receipt rules enable you to specify which actions Amazon SES should take when it receives mail on behalf of one or more email addresses or domains that you own.

Each receipt rule defines a set of email addresses or domains that it applies to. If the email addresses or domains match at least one recipient address of the message, Amazon SES executes all of the receipt rule's actions on the message.

For information about setting up receipt rules, see the Amazon SES Developer Guide.

" }, "ReceiptRuleName":{"type":"string"}, "ReceiptRuleNamesList":{ @@ -3277,7 +3339,7 @@ "documentation":"

The date and time the receipt rule set was created.

" } }, - "documentation":"

Information about a receipt rule set.

A receipt rule set is a collection of rules that specify what Amazon SES should do with mail it receives on behalf of your account's verified domains.

For information about setting up receipt rule sets, see the Amazon SES Developer Guide.

" + "documentation":"

Information about a receipt rule set.

A receipt rule set is a collection of rules that specify what Amazon SES should do with mail it receives on behalf of your account's verified domains.

For information about setting up receipt rule sets, see the Amazon SES Developer Guide.

" }, "ReceiptRuleSetName":{"type":"string"}, "ReceiptRuleSetsLists":{ @@ -3325,7 +3387,7 @@ "documentation":"

Additional X-headers to include in the DSN.

" } }, - "documentation":"

Recipient-related information to include in the Delivery Status Notification (DSN) when an email that Amazon SES receives on your behalf bounces.

For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

" + "documentation":"

Recipient-related information to include in the Delivery Status Notification (DSN) when an email that Amazon SES receives on your behalf bounces.

For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

" }, "RecipientsList":{ "type":"list", @@ -3349,7 +3411,7 @@ "documentation":"

A list of the specified receipt rule set's receipt rules in the order that you want to put them.

" } }, - "documentation":"

Represents a request to reorder the receipt rules within a receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to reorder the receipt rules within a receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" }, "ReorderReceiptRuleSetResponse":{ "type":"structure", @@ -3415,7 +3477,7 @@ "members":{ "TopicArn":{ "shape":"AmazonResourceName", - "documentation":"

The ARN of the Amazon SNS topic to notify when the message is saved to the Amazon S3 bucket. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

" + "documentation":"

The ARN of the Amazon SNS topic to notify when the message is saved to the Amazon S3 bucket. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

" }, "BucketName":{ "shape":"S3BucketName", @@ -3427,10 +3489,10 @@ }, "KmsKeyArn":{ "shape":"AmazonResourceName", - "documentation":"

The customer master key that Amazon SES should use to encrypt your emails before saving them to the Amazon S3 bucket. You can use the default master key or a custom master key you created in AWS KMS as follows:

  • To use the default master key, provide an ARN in the form of arn:aws:kms:REGION:ACCOUNT-ID-WITHOUT-HYPHENS:alias/aws/ses. For example, if your AWS account ID is 123456789012 and you want to use the default master key in the US West (Oregon) region, the ARN of the default master key would be arn:aws:kms:us-west-2:123456789012:alias/aws/ses. If you use the default master key, you don't need to perform any extra steps to give Amazon SES permission to use the key.

  • To use a custom master key you created in AWS KMS, provide the ARN of the master key and ensure that you add a statement to your key's policy to give Amazon SES permission to use it. For more information about giving permissions, see the Amazon SES Developer Guide.

For more information about key policies, see the AWS KMS Developer Guide. If you do not specify a master key, Amazon SES will not encrypt your emails.

Your mail is encrypted by Amazon SES using the Amazon S3 encryption client before the mail is submitted to Amazon S3 for storage. It is not encrypted using Amazon S3 server-side encryption. This means that you must use the Amazon S3 encryption client to decrypt the email after retrieving it from Amazon S3, as the service has no access to use your AWS KMS keys for decryption. This encryption client is currently available with the AWS SDK for Java and AWS SDK for Ruby only. For more information about client-side encryption using AWS KMS master keys, see the Amazon S3 Developer Guide.

" + "documentation":"

The customer master key that Amazon SES should use to encrypt your emails before saving them to the Amazon S3 bucket. You can use the default master key or a custom master key you created in AWS KMS as follows:

  • To use the default master key, provide an ARN in the form of arn:aws:kms:REGION:ACCOUNT-ID-WITHOUT-HYPHENS:alias/aws/ses. For example, if your AWS account ID is 123456789012 and you want to use the default master key in the US West (Oregon) region, the ARN of the default master key would be arn:aws:kms:us-west-2:123456789012:alias/aws/ses. If you use the default master key, you don't need to perform any extra steps to give Amazon SES permission to use the key.

  • To use a custom master key you created in AWS KMS, provide the ARN of the master key and ensure that you add a statement to your key's policy to give Amazon SES permission to use it. For more information about giving permissions, see the Amazon SES Developer Guide.

For more information about key policies, see the AWS KMS Developer Guide. If you do not specify a master key, Amazon SES will not encrypt your emails.

Your mail is encrypted by Amazon SES using the Amazon S3 encryption client before the mail is submitted to Amazon S3 for storage. It is not encrypted using Amazon S3 server-side encryption. This means that you must use the Amazon S3 encryption client to decrypt the email after retrieving it from Amazon S3, as the service has no access to use your AWS KMS keys for decryption. This encryption client is currently available with the AWS SDK for Java and AWS SDK for Ruby only. For more information about client-side encryption using AWS KMS master keys, see the Amazon S3 Developer Guide.

" } }, - "documentation":"

When included in a receipt rule, this action saves the received message to an Amazon Simple Storage Service (Amazon S3) bucket and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

To enable Amazon SES to write emails to your Amazon S3 bucket, use an AWS KMS key to encrypt your emails, or publish to an Amazon SNS topic of another account, Amazon SES must have permission to access those resources. For information about giving permissions, see the Amazon SES Developer Guide.

When you save your emails to an Amazon S3 bucket, the maximum email size (including headers) is 30 MB. Emails larger than that will bounce.

For information about specifying Amazon S3 actions in receipt rules, see the Amazon SES Developer Guide.

" + "documentation":"

When included in a receipt rule, this action saves the received message to an Amazon Simple Storage Service (Amazon S3) bucket and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

To enable Amazon SES to write emails to your Amazon S3 bucket, use an AWS KMS key to encrypt your emails, or publish to an Amazon SNS topic of another account, Amazon SES must have permission to access those resources. For information about giving permissions, see the Amazon SES Developer Guide.

When you save your emails to an Amazon S3 bucket, the maximum email size (including headers) is 30 MB. Emails larger than that will bounce.

For information about specifying Amazon S3 actions in receipt rules, see the Amazon SES Developer Guide.

" }, "S3BucketName":{"type":"string"}, "S3KeyPrefix":{"type":"string"}, @@ -3440,14 +3502,14 @@ "members":{ "TopicArn":{ "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to notify. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

" + "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to notify. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

" }, "Encoding":{ "shape":"SNSActionEncoding", "documentation":"

The encoding to use for the email within the Amazon SNS notification. UTF-8 is easier to use, but may not preserve all special characters when a message was encoded with a different encoding format. Base64 preserves all special characters. The default value is UTF-8.

" } }, - "documentation":"

When included in a receipt rule, this action publishes a notification to Amazon Simple Notification Service (Amazon SNS). This action includes a complete copy of the email content in the Amazon SNS notifications. Amazon SNS notifications for all other actions simply provide information about the email. They do not include the email content itself.

If you own the Amazon SNS topic, you don't need to do anything to give Amazon SES permission to publish emails to it. However, if you don't own the Amazon SNS topic, you need to attach a policy to the topic to give Amazon SES permissions to access it. For information about giving permissions, see the Amazon SES Developer Guide.

You can only publish emails that are 150 KB or less (including the header) to Amazon SNS. Larger emails will bounce. If you anticipate emails larger than 150 KB, use the S3 action instead.

For information about using a receipt rule to publish an Amazon SNS notification, see the Amazon SES Developer Guide.

" + "documentation":"

When included in a receipt rule, this action publishes a notification to Amazon Simple Notification Service (Amazon SNS). This action includes a complete copy of the email content in the Amazon SNS notifications. Amazon SNS notifications for all other actions simply provide information about the email. They do not include the email content itself.

If you own the Amazon SNS topic, you don't need to do anything to give Amazon SES permission to publish emails to it. However, if you don't own the Amazon SNS topic, you need to attach a policy to the topic to give Amazon SES permissions to access it. For information about giving permissions, see the Amazon SES Developer Guide.

You can only publish emails that are 150 KB or less (including the header) to Amazon SNS. Larger emails will bounce. If you anticipate emails larger than 150 KB, use the S3 action instead.

For information about using a receipt rule to publish an Amazon SNS notification, see the Amazon SES Developer Guide.

" }, "SNSActionEncoding":{ "type":"string", @@ -3462,10 +3524,10 @@ "members":{ "TopicARN":{ "shape":"AmazonResourceName", - "documentation":"

The ARN of the Amazon SNS topic that email sending events will be published to. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

" + "documentation":"

The ARN of the Amazon SNS topic that email sending events will be published to. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

" } }, - "documentation":"

Contains the topic ARN associated with an Amazon Simple Notification Service (Amazon SNS) event destination.

Event destinations, such as Amazon SNS, are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" + "documentation":"

Contains the topic ARN associated with an Amazon Simple Notification Service (Amazon SNS) event destination.

Event destinations, such as Amazon SNS, are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" }, "SendBounceRequest":{ "type":"structure", @@ -3497,7 +3559,7 @@ }, "BounceSenderArn":{ "shape":"AmazonResourceName", - "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the address in the \"From\" header of the bounce. For more information about sending authorization, see the Amazon SES Developer Guide.

" + "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the address in the \"From\" header of the bounce. For more information about sending authorization, see the Amazon SES Developer Guide.

" } }, "documentation":"

Represents a request to send a bounce message to the sender of an email you received through Amazon SES.

" @@ -3522,11 +3584,11 @@ "members":{ "Source":{ "shape":"Address", - "documentation":"

The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about verifying identities, see the Amazon SES Developer Guide.

If you are sending on behalf of another user and have been permitted to do so by a sending authorization policy, then you must also specify the SourceArn parameter. For more information about sending authorization, see the Amazon SES Developer Guide.

Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531. For this reason, the local part of a source email address (the part of the email address that precedes the @ sign) may only contain 7-bit ASCII characters. If the domain part of an address (the part after the @ sign) contains non-ASCII characters, they must be encoded using Punycode, as described in RFC3492. The sender name (also known as the friendly name) may contain non-ASCII characters. These characters must be encoded using MIME encoded-word syntax, as described in RFC 2047. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=.

" + "documentation":"

The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about verifying identities, see the Amazon SES Developer Guide.

If you are sending on behalf of another user and have been permitted to do so by a sending authorization policy, then you must also specify the SourceArn parameter. For more information about sending authorization, see the Amazon SES Developer Guide.

Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531. For this reason, the local part of a source email address (the part of the email address that precedes the @ sign) may only contain 7-bit ASCII characters. If the domain part of an address (the part after the @ sign) contains non-ASCII characters, they must be encoded using Punycode, as described in RFC3492. The sender name (also known as the friendly name) may contain non-ASCII characters. These characters must be encoded using MIME encoded-word syntax, as described in RFC 2047. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=.

" }, "SourceArn":{ "shape":"AmazonResourceName", - "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified in the Source parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to send from user@example.com, then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the Source to be user@example.com.

For more information about sending authorization, see the Amazon SES Developer Guide.

" + "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified in the Source parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to send from user@example.com, then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the Source to be user@example.com.

For more information about sending authorization, see the Amazon SES Developer Guide.

" }, "ReplyToAddresses":{ "shape":"AddressList", @@ -3538,7 +3600,7 @@ }, "ReturnPathArn":{ "shape":"AmazonResourceName", - "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the ReturnPath parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the ReturnPath to be feedback@example.com.

For more information about sending authorization, see the Amazon SES Developer Guide.

" + "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the ReturnPath parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the ReturnPath to be feedback@example.com.

For more information about sending authorization, see the Amazon SES Developer Guide.

" }, "ConfigurationSetName":{ "shape":"ConfigurationSetName", @@ -3565,7 +3627,7 @@ "documentation":"

One or more Destination objects. All of the recipients in a Destination will receive the same version of the email. You can specify up to 50 Destination objects within a Destinations array.

" } }, - "documentation":"

Represents a request to send a templated email to multiple destinations using Amazon SES. For more information, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to send a templated email to multiple destinations using Amazon SES. For more information, see the Amazon SES Developer Guide.

" }, "SendBulkTemplatedEmailResponse":{ "type":"structure", @@ -3649,7 +3711,7 @@ "members":{ "Source":{ "shape":"Address", - "documentation":"

The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about verifying identities, see the Amazon SES Developer Guide.

If you are sending on behalf of another user and have been permitted to do so by a sending authorization policy, then you must also specify the SourceArn parameter. For more information about sending authorization, see the Amazon SES Developer Guide.

Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531. For this reason, the local part of a source email address (the part of the email address that precedes the @ sign) may only contain 7-bit ASCII characters. If the domain part of an address (the part after the @ sign) contains non-ASCII characters, they must be encoded using Punycode, as described in RFC3492. The sender name (also known as the friendly name) may contain non-ASCII characters. These characters must be encoded using MIME encoded-word syntax, as described in RFC 2047. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=.

" + "documentation":"

The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about verifying identities, see the Amazon SES Developer Guide.

If you are sending on behalf of another user and have been permitted to do so by a sending authorization policy, then you must also specify the SourceArn parameter. For more information about sending authorization, see the Amazon SES Developer Guide.

Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531. For this reason, the local part of a source email address (the part of the email address that precedes the @ sign) may only contain 7-bit ASCII characters. If the domain part of an address (the part after the @ sign) contains non-ASCII characters, they must be encoded using Punycode, as described in RFC3492. The sender name (also known as the friendly name) may contain non-ASCII characters. These characters must be encoded using MIME encoded-word syntax, as described in RFC 2047. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=.

" }, "Destination":{ "shape":"Destination", @@ -3669,11 +3731,11 @@ }, "SourceArn":{ "shape":"AmazonResourceName", - "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified in the Source parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to send from user@example.com, then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the Source to be user@example.com.

For more information about sending authorization, see the Amazon SES Developer Guide.

" + "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified in the Source parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to send from user@example.com, then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the Source to be user@example.com.

For more information about sending authorization, see the Amazon SES Developer Guide.

" }, "ReturnPathArn":{ "shape":"AmazonResourceName", - "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the ReturnPath parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the ReturnPath to be feedback@example.com.

For more information about sending authorization, see the Amazon SES Developer Guide.

" + "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the ReturnPath parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the ReturnPath to be feedback@example.com.

For more information about sending authorization, see the Amazon SES Developer Guide.

" }, "Tags":{ "shape":"MessageTagList", @@ -3684,7 +3746,7 @@ "documentation":"

The name of the configuration set to use when you send an email using SendEmail.

" } }, - "documentation":"

Represents a request to send a single formatted email using Amazon SES. For more information, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to send a single formatted email using Amazon SES. For more information, see the Amazon SES Developer Guide.

" }, "SendEmailResponse":{ "type":"structure", @@ -3711,19 +3773,19 @@ }, "RawMessage":{ "shape":"RawMessage", - "documentation":"

The raw email message itself. The message has to meet the following criteria:

  • The message has to contain a header and a body, separated by a blank line.

  • All of the required header fields must be present in the message.

  • Each part of a multipart MIME message must be formatted properly.

  • Attachments must be of a content type that Amazon SES supports. For a list on unsupported content types, see Unsupported Attachment Types in the Amazon SES Developer Guide.

  • The entire message must be base64-encoded.

  • If any of the MIME parts in your message contain content that is outside of the 7-bit ASCII character range, we highly recommend that you encode that content. For more information, see Sending Raw Email in the Amazon SES Developer Guide.

  • Per RFC 5321, the maximum length of each line of text, including the <CRLF>, must not exceed 1,000 characters.

" + "documentation":"

The raw email message itself. The message has to meet the following criteria:

  • The message has to contain a header and a body, separated by a blank line.

  • All of the required header fields must be present in the message.

  • Each part of a multipart MIME message must be formatted properly.

  • Attachments must be of a content type that Amazon SES supports. For a list on unsupported content types, see Unsupported Attachment Types in the Amazon SES Developer Guide.

  • The entire message must be base64-encoded.

  • If any of the MIME parts in your message contain content that is outside of the 7-bit ASCII character range, we highly recommend that you encode that content. For more information, see Sending Raw Email in the Amazon SES Developer Guide.

  • Per RFC 5321, the maximum length of each line of text, including the <CRLF>, must not exceed 1,000 characters.

" }, "FromArn":{ "shape":"AmazonResourceName", - "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to specify a particular \"From\" address in the header of the raw email.

Instead of using this parameter, you can use the X-header X-SES-FROM-ARN in the raw message of the email. If you use both the FromArn parameter and the corresponding X-header, Amazon SES uses the value of the FromArn parameter.

For information about when to use this parameter, see the description of SendRawEmail in this guide, or see the Amazon SES Developer Guide.

" + "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to specify a particular \"From\" address in the header of the raw email.

Instead of using this parameter, you can use the X-header X-SES-FROM-ARN in the raw message of the email. If you use both the FromArn parameter and the corresponding X-header, Amazon SES uses the value of the FromArn parameter.

For information about when to use this parameter, see the description of SendRawEmail in this guide, or see the Amazon SES Developer Guide.

" }, "SourceArn":{ "shape":"AmazonResourceName", - "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified in the Source parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to send from user@example.com, then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the Source to be user@example.com.

Instead of using this parameter, you can use the X-header X-SES-SOURCE-ARN in the raw message of the email. If you use both the SourceArn parameter and the corresponding X-header, Amazon SES uses the value of the SourceArn parameter.

For information about when to use this parameter, see the description of SendRawEmail in this guide, or see the Amazon SES Developer Guide.

" + "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified in the Source parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to send from user@example.com, then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the Source to be user@example.com.

Instead of using this parameter, you can use the X-header X-SES-SOURCE-ARN in the raw message of the email. If you use both the SourceArn parameter and the corresponding X-header, Amazon SES uses the value of the SourceArn parameter.

For information about when to use this parameter, see the description of SendRawEmail in this guide, or see the Amazon SES Developer Guide.

" }, "ReturnPathArn":{ "shape":"AmazonResourceName", - "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the ReturnPath parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the ReturnPath to be feedback@example.com.

Instead of using this parameter, you can use the X-header X-SES-RETURN-PATH-ARN in the raw message of the email. If you use both the ReturnPathArn parameter and the corresponding X-header, Amazon SES uses the value of the ReturnPathArn parameter.

For information about when to use this parameter, see the description of SendRawEmail in this guide, or see the Amazon SES Developer Guide.

" + "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the ReturnPath parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the ReturnPath to be feedback@example.com.

Instead of using this parameter, you can use the X-header X-SES-RETURN-PATH-ARN in the raw message of the email. If you use both the ReturnPathArn parameter and the corresponding X-header, Amazon SES uses the value of the ReturnPathArn parameter.

For information about when to use this parameter, see the description of SendRawEmail in this guide, or see the Amazon SES Developer Guide.

" }, "Tags":{ "shape":"MessageTagList", @@ -3734,7 +3796,7 @@ "documentation":"

The name of the configuration set to use when you send an email using SendRawEmail.

" } }, - "documentation":"

Represents a request to send a single raw email using Amazon SES. For more information, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to send a single raw email using Amazon SES. For more information, see the Amazon SES Developer Guide.

" }, "SendRawEmailResponse":{ "type":"structure", @@ -3758,7 +3820,7 @@ "members":{ "Source":{ "shape":"Address", - "documentation":"

The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about verifying identities, see the Amazon SES Developer Guide.

If you are sending on behalf of another user and have been permitted to do so by a sending authorization policy, then you must also specify the SourceArn parameter. For more information about sending authorization, see the Amazon SES Developer Guide.

Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531. For this reason, the local part of a source email address (the part of the email address that precedes the @ sign) may only contain 7-bit ASCII characters. If the domain part of an address (the part after the @ sign) contains non-ASCII characters, they must be encoded using Punycode, as described in RFC3492. The sender name (also known as the friendly name) may contain non-ASCII characters. These characters must be encoded using MIME encoded-word syntax, as described inRFC 2047. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=.

" + "documentation":"

The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about verifying identities, see the Amazon SES Developer Guide.

If you are sending on behalf of another user and have been permitted to do so by a sending authorization policy, then you must also specify the SourceArn parameter. For more information about sending authorization, see the Amazon SES Developer Guide.

Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531. For this reason, the local part of a source email address (the part of the email address that precedes the @ sign) may only contain 7-bit ASCII characters. If the domain part of an address (the part after the @ sign) contains non-ASCII characters, they must be encoded using Punycode, as described in RFC3492. The sender name (also known as the friendly name) may contain non-ASCII characters. These characters must be encoded using MIME encoded-word syntax, as described inRFC 2047. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=.

" }, "Destination":{ "shape":"Destination", @@ -3774,11 +3836,11 @@ }, "SourceArn":{ "shape":"AmazonResourceName", - "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified in the Source parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to send from user@example.com, then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the Source to be user@example.com.

For more information about sending authorization, see the Amazon SES Developer Guide.

" + "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified in the Source parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to send from user@example.com, then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the Source to be user@example.com.

For more information about sending authorization, see the Amazon SES Developer Guide.

" }, "ReturnPathArn":{ "shape":"AmazonResourceName", - "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the ReturnPath parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the ReturnPath to be feedback@example.com.

For more information about sending authorization, see the Amazon SES Developer Guide.

" + "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the ReturnPath parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the ReturnPath to be feedback@example.com.

For more information about sending authorization, see the Amazon SES Developer Guide.

" }, "Tags":{ "shape":"MessageTagList", @@ -3801,7 +3863,7 @@ "documentation":"

A list of replacement values to apply to the template. This parameter is a JSON object, typically consisting of key-value pairs in which the keys correspond to replacement tags in the email template.

" } }, - "documentation":"

Represents a request to send a templated email using Amazon SES. For more information, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to send a templated email using Amazon SES. For more information, see the Amazon SES Developer Guide.

" }, "SendTemplatedEmailResponse":{ "type":"structure", @@ -3822,7 +3884,7 @@ "documentation":"

The name of the receipt rule set to make active. Setting this value to null disables all email receiving.

" } }, - "documentation":"

Represents a request to set a receipt rule set as the active receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to set a receipt rule set as the active receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" }, "SetActiveReceiptRuleSetResponse":{ "type":"structure", @@ -3846,7 +3908,7 @@ "documentation":"

Sets whether DKIM signing is enabled for an identity. Set to true to enable DKIM signing for this identity; false to disable it.

" } }, - "documentation":"

Represents a request to enable or disable Amazon SES Easy DKIM signing for an identity. For more information about setting up Easy DKIM, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to enable or disable Amazon SES Easy DKIM signing for an identity. For more information about setting up Easy DKIM, see the Amazon SES Developer Guide.

" }, "SetIdentityDkimEnabledResponse":{ "type":"structure", @@ -3870,7 +3932,7 @@ "documentation":"

Sets whether Amazon SES will forward bounce and complaint notifications as email. true specifies that Amazon SES will forward bounce and complaint notifications as email, in addition to any Amazon SNS topic publishing otherwise specified. false specifies that Amazon SES will publish bounce and complaint notifications only through Amazon SNS. This value can only be set to false when Amazon SNS topics are set for both Bounce and Complaint notification types.

" } }, - "documentation":"

Represents a request to enable or disable whether Amazon SES forwards you bounce and complaint notifications through email. For information about email feedback forwarding, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to enable or disable whether Amazon SES forwards you bounce and complaint notifications through email. For information about email feedback forwarding, see the Amazon SES Developer Guide.

" }, "SetIdentityFeedbackForwardingEnabledResponse":{ "type":"structure", @@ -3899,7 +3961,7 @@ "documentation":"

Sets whether Amazon SES includes the original email headers in Amazon SNS notifications of the specified notification type. A value of true specifies that Amazon SES will include headers in notifications, and a value of false specifies that Amazon SES will not include headers in notifications.

This value can only be set when NotificationType is already set to use a particular Amazon SNS topic.

" } }, - "documentation":"

Represents a request to set whether Amazon SES includes the original email headers in the Amazon SNS notifications of a specified type. For information about notifications, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to set whether Amazon SES includes the original email headers in the Amazon SNS notifications of a specified type. For information about notifications, see the Amazon SES Developer Guide.

" }, "SetIdentityHeadersInNotificationsEnabledResponse":{ "type":"structure", @@ -3917,14 +3979,14 @@ }, "MailFromDomain":{ "shape":"MailFromDomainName", - "documentation":"

The custom MAIL FROM domain that you want the verified identity to use. The MAIL FROM domain must 1) be a subdomain of the verified identity, 2) not be used in a \"From\" address if the MAIL FROM domain is the destination of email feedback forwarding (for more information, see the Amazon SES Developer Guide), and 3) not be used to receive emails. A value of null disables the custom MAIL FROM setting for the identity.

" + "documentation":"

The custom MAIL FROM domain that you want the verified identity to use. The MAIL FROM domain must 1) be a subdomain of the verified identity, 2) not be used in a \"From\" address if the MAIL FROM domain is the destination of email feedback forwarding (for more information, see the Amazon SES Developer Guide), and 3) not be used to receive emails. A value of null disables the custom MAIL FROM setting for the identity.

" }, "BehaviorOnMXFailure":{ "shape":"BehaviorOnMXFailure", "documentation":"

The action that you want Amazon SES to take if it cannot successfully read the required MX record when you send an email. If you choose UseDefaultValue, Amazon SES will use amazonses.com (or a subdomain of that) as the MAIL FROM domain. If you choose RejectMessage, Amazon SES will return a MailFromDomainNotVerified error and not send the email.

The action specified in BehaviorOnMXFailure is taken when the custom MAIL FROM domain setup is in the Pending, Failed, and TemporaryFailure states.

" } }, - "documentation":"

Represents a request to enable or disable the Amazon SES custom MAIL FROM domain setup for a verified identity. For information about using a custom MAIL FROM domain, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to enable or disable the Amazon SES custom MAIL FROM domain setup for a verified identity. For information about using a custom MAIL FROM domain, see the Amazon SES Developer Guide.

" }, "SetIdentityMailFromDomainResponse":{ "type":"structure", @@ -3952,7 +4014,7 @@ "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic. If the parameter is omitted from the request or a null value is passed, SnsTopic is cleared and publishing is disabled.

" } }, - "documentation":"

Represents a request to specify the Amazon SNS topic to which Amazon SES will publish bounce, complaint, or delivery notifications for emails sent with that identity as the Source. For information about Amazon SES notifications, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to specify the Amazon SNS topic to which Amazon SES will publish bounce, complaint, or delivery notifications for emails sent with that identity as the Source. For information about Amazon SES notifications, see the Amazon SES Developer Guide.

" }, "SetIdentityNotificationTopicResponse":{ "type":"structure", @@ -3980,7 +4042,7 @@ "documentation":"

The name of the receipt rule after which to place the specified receipt rule.

" } }, - "documentation":"

Represents a request to set the position of a receipt rule in a receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to set the position of a receipt rule in a receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" }, "SetReceiptRulePositionResponse":{ "type":"structure", @@ -3998,10 +4060,10 @@ }, "TopicArn":{ "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the stop action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

" + "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the stop action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

" } }, - "documentation":"

When included in a receipt rule, this action terminates the evaluation of the receipt rule set and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

For information about setting a stop action in a receipt rule, see the Amazon SES Developer Guide.

" + "documentation":"

When included in a receipt rule, this action terminates the evaluation of the receipt rule set and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

For information about setting a stop action in a receipt rule, see the Amazon SES Developer Guide.

" }, "StopScope":{ "type":"string", @@ -4113,7 +4175,7 @@ "documentation":"

The custom subdomain that will be used to redirect email recipients to the Amazon SES event tracking domain.

" } }, - "documentation":"

A domain that is used to redirect email recipients to an Amazon SES-operated domain. This domain captures open and click events generated by Amazon SES emails.

For more information, see Configuring Custom Domains to Handle Open and Click Tracking in the Amazon SES Developer Guide.

" + "documentation":"

A domain that is used to redirect email recipients to an Amazon SES-operated domain. This domain captures open and click events generated by Amazon SES emails.

For more information, see Configuring Custom Domains to Handle Open and Click Tracking in the Amazon SES Developer Guide.

" }, "TrackingOptionsAlreadyExistsException":{ "type":"structure", @@ -4173,7 +4235,7 @@ "documentation":"

The event destination object that you want to apply to the specified configuration set.

" } }, - "documentation":"

Represents a request to update the event destination of a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to update the event destination of a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" }, "UpdateConfigurationSetEventDestinationResponse":{ "type":"structure", @@ -4256,7 +4318,7 @@ }, "TemplateContent":{ "shape":"TemplateContent", - "documentation":"

The content of the custom verification email. The total size of the email must be less than 10 MB. The message body may contain HTML, with some limitations. For more information, see Custom Verification Email Frequently Asked Questions in the Amazon SES Developer Guide.

" + "documentation":"

The content of the custom verification email. The total size of the email must be less than 10 MB. The message body may contain HTML, with some limitations. For more information, see Custom Verification Email Frequently Asked Questions in the Amazon SES Developer Guide.

" }, "SuccessRedirectionURL":{ "shape":"SuccessRedirectionURL", @@ -4285,7 +4347,7 @@ "documentation":"

A data structure that contains the updated receipt rule information.

" } }, - "documentation":"

Represents a request to update a receipt rule. You use receipt rules to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to update a receipt rule. You use receipt rules to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" }, "UpdateReceiptRuleResponse":{ "type":"structure", @@ -4334,7 +4396,7 @@ "documentation":"

The name of the domain to be verified for Easy DKIM signing.

" } }, - "documentation":"

Represents a request to generate the CNAME records needed to set up Easy DKIM with Amazon SES. For more information about setting up Easy DKIM, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to generate the CNAME records needed to set up Easy DKIM with Amazon SES. For more information about setting up Easy DKIM, see the Amazon SES Developer Guide.

" }, "VerifyDomainDkimResponse":{ "type":"structure", @@ -4342,7 +4404,7 @@ "members":{ "DkimTokens":{ "shape":"VerificationTokenList", - "documentation":"

A set of character strings that represent the domain's identity. If the identity is an email address, the tokens represent the domain of that address.

Using these tokens, you will need to create DNS CNAME records that point to DKIM public keys hosted by Amazon SES. Amazon Web Services will eventually detect that you have updated your DNS records; this detection process may take up to 72 hours. Upon successful detection, Amazon SES will be able to DKIM-sign emails originating from that domain.

For more information about creating DNS records using DKIM tokens, go to the Amazon SES Developer Guide.

" + "documentation":"

A set of character strings that represent the domain's identity. If the identity is an email address, the tokens represent the domain of that address.

Using these tokens, you need to create DNS CNAME records that point to DKIM public keys that are hosted by Amazon SES. Amazon Web Services eventually detects that you've updated your DNS records. This detection process might take up to 72 hours. After successful detection, Amazon SES is able to DKIM-sign email originating from that domain. (This only applies to domain identities, not email address identities.)

For more information about creating DNS records using DKIM tokens, see the Amazon SES Developer Guide.

" } }, "documentation":"

Returns CNAME records that you must publish to the DNS server of your domain to set up Easy DKIM with Amazon SES.

" @@ -4356,7 +4418,7 @@ "documentation":"

The domain to be verified.

" } }, - "documentation":"

Represents a request to begin Amazon SES domain verification and to generate the TXT records that you must publish to the DNS server of your domain to complete the verification. For information about domain verification, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to begin Amazon SES domain verification and to generate the TXT records that you must publish to the DNS server of your domain to complete the verification. For information about domain verification, see the Amazon SES Developer Guide.

" }, "VerifyDomainIdentityResponse":{ "type":"structure", @@ -4378,7 +4440,7 @@ "documentation":"

The email address to be verified.

" } }, - "documentation":"

Represents a request to begin email address verification with Amazon SES. For information about email address verification, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to begin email address verification with Amazon SES. For information about email address verification, see the Amazon SES Developer Guide.

" }, "VerifyEmailIdentityRequest":{ "type":"structure", @@ -4389,7 +4451,7 @@ "documentation":"

The email address to be verified.

" } }, - "documentation":"

Represents a request to begin email address verification with Amazon SES. For information about email address verification, see the Amazon SES Developer Guide.

" + "documentation":"

Represents a request to begin email address verification with Amazon SES. For information about email address verification, see the Amazon SES Developer Guide.

" }, "VerifyEmailIdentityResponse":{ "type":"structure", @@ -4403,15 +4465,15 @@ "members":{ "TopicArn":{ "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the WorkMail action is called. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

" + "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the WorkMail action is called. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

" }, "OrganizationArn":{ "shape":"AmazonResourceName", - "documentation":"

The ARN of the Amazon WorkMail organization. An example of an Amazon WorkMail organization ARN is arn:aws:workmail:us-west-2:123456789012:organization/m-68755160c4cb4e29a2b2f8fb58f359d7. For information about Amazon WorkMail organizations, see the Amazon WorkMail Administrator Guide.

" + "documentation":"

The ARN of the Amazon WorkMail organization. An example of an Amazon WorkMail organization ARN is arn:aws:workmail:us-west-2:123456789012:organization/m-68755160c4cb4e29a2b2f8fb58f359d7. For information about Amazon WorkMail organizations, see the Amazon WorkMail Administrator Guide.

" } }, - "documentation":"

When included in a receipt rule, this action calls Amazon WorkMail and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS). You will typically not use this action directly because Amazon WorkMail adds the rule automatically during its setup procedure.

For information using a receipt rule to call Amazon WorkMail, see the Amazon SES Developer Guide.

" + "documentation":"

When included in a receipt rule, this action calls Amazon WorkMail and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS). You will typically not use this action directly because Amazon WorkMail adds the rule automatically during its setup procedure.

For information using a receipt rule to call Amazon WorkMail, see the Amazon SES Developer Guide.

" } }, - "documentation":"Amazon Simple Email Service

This document contains reference information for the Amazon Simple Email Service (Amazon SES) API, version 2010-12-01. This document is best used in conjunction with the Amazon SES Developer Guide.

For a list of Amazon SES endpoints to use in service requests, see Regions and Amazon SES in the Amazon SES Developer Guide.

" + "documentation":"Amazon Simple Email Service

This document contains reference information for the Amazon Simple Email Service (Amazon SES) API, version 2010-12-01. This document is best used in conjunction with the Amazon SES Developer Guide.

For a list of Amazon SES endpoints to use in service requests, see Regions and Amazon SES in the Amazon SES Developer Guide.

" } diff --git a/bin/botocore/data/shield/2016-06-02/paginators-1.json b/bin/botocore/data/shield/2016-06-02/paginators-1.json index 022e0dca..c5ded642 100644 --- a/bin/botocore/data/shield/2016-06-02/paginators-1.json +++ b/bin/botocore/data/shield/2016-06-02/paginators-1.json @@ -5,6 +5,12 @@ "output_token": "NextToken", "limit_key": "MaxResults", "result_key": "Protections" + }, + "ListAttacks": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "AttackSummaries" } } } diff --git a/bin/botocore/data/shield/2016-06-02/service-2.json b/bin/botocore/data/shield/2016-06-02/service-2.json index 8cee41b7..08f99a62 100644 --- a/bin/botocore/data/shield/2016-06-02/service-2.json +++ b/bin/botocore/data/shield/2016-06-02/service-2.json @@ -68,7 +68,7 @@ {"shape":"OptimisticLockException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Enables AWS Shield Advanced for a specific AWS resource. The resource can be an Amazon CloudFront distribution, Elastic Load Balancing load balancer, Elastic IP Address, or an Amazon Route 53 hosted zone.

You can add protection to only a single resource with each CreateProtection request. If you want to add protection to multiple resources at once, use the AWS WAF console. For more information see Getting Started with AWS Shield Advanced and Add AWS Shield Advanced Protection to more AWS Resources.

" + "documentation":"

Enables AWS Shield Advanced for a specific AWS resource. The resource can be an Amazon CloudFront distribution, Elastic Load Balancing load balancer, AWS Global Accelerator accelerator, Elastic IP Address, or an Amazon Route 53 hosted zone.

You can add protection to only a single resource with each CreateProtection request. If you want to add protection to multiple resources at once, use the AWS WAF console. For more information see Getting Started with AWS Shield Advanced and Add AWS Shield Advanced Protection to more AWS Resources.

" }, "CreateSubscription":{ "name":"CreateSubscription", @@ -167,6 +167,7 @@ "output":{"shape":"DescribeProtectionResponse"}, "errors":[ {"shape":"InternalErrorException"}, + {"shape":"InvalidParameterException"}, {"shape":"ResourceNotFoundException"} ], "documentation":"

Lists the details of a Protection object.

" @@ -302,6 +303,7 @@ "members":{ "message":{"shape":"errorMessage"} }, + "documentation":"

Exception that indicates the specified AttackId does not exist, or the requester does not have the appropriate permissions to access the AttackId.

", "exception":true }, "AccessDeniedForDependencyException":{ @@ -514,7 +516,7 @@ }, "ResourceArn":{ "shape":"ResourceArn", - "documentation":"

The ARN (Amazon Resource Name) of the resource to be protected.

The ARN should be in one of the following formats:

  • For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id

  • For an Elastic Load Balancer (Classic Load Balancer): arn:aws:elasticloadbalancing:region:account-id:loadbalancer/load-balancer-name

  • For AWS CloudFront distribution: arn:aws:cloudfront::account-id:distribution/distribution-id

  • For Amazon Route 53: arn:aws:route53:::hostedzone/hosted-zone-id

  • For an Elastic IP address: arn:aws:ec2:region:account-id:eip-allocation/allocation-id

" + "documentation":"

The ARN (Amazon Resource Name) of the resource to be protected.

The ARN should be in one of the following formats:

  • For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id

  • For an Elastic Load Balancer (Classic Load Balancer): arn:aws:elasticloadbalancing:region:account-id:loadbalancer/load-balancer-name

  • For an AWS CloudFront distribution: arn:aws:cloudfront::account-id:distribution/distribution-id

  • For an AWS Global Accelerator accelerator: arn:aws:globalaccelerator::account-id:accelerator/accelerator-id

  • For Amazon Route 53: arn:aws:route53:::hostedzone/hosted-zone-id

  • For an Elastic IP address: arn:aws:ec2:region:account-id:eip-allocation/allocation-id

" } } }, @@ -617,11 +619,14 @@ }, "DescribeProtectionRequest":{ "type":"structure", - "required":["ProtectionId"], "members":{ "ProtectionId":{ "shape":"ProtectionId", - "documentation":"

The unique identifier (ID) for the Protection object that is described.

" + "documentation":"

The unique identifier (ID) for the Protection object that is described. When submitting the DescribeProtection request you must provide either the ResourceArn or the ProtectionID, but not both.

" + }, + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

The ARN (Amazon Resource Name) of the AWS resource for the Protection object that is described. When submitting the DescribeProtection request you must provide either the ResourceArn or the ProtectionID, but not both.

" } } }, @@ -1159,5 +1164,5 @@ }, "errorMessage":{"type":"string"} }, - "documentation":"AWS Shield Advanced

This is the AWS Shield Advanced API Reference. This guide is for developers who need detailed information about the AWS Shield Advanced API actions, data types, and errors. For detailed information about AWS WAF and AWS Shield Advanced features and an overview of how to use the AWS WAF and AWS Shield Advanced APIs, see the AWS WAF and AWS Shield Developer Guide.

" + "documentation":"AWS Shield Advanced

This is the AWS Shield Advanced API Reference. This guide is for developers who need detailed information about the AWS Shield Advanced API actions, data types, and errors. For detailed information about AWS WAF and AWS Shield Advanced features and an overview of how to use the AWS WAF and AWS Shield Advanced APIs, see the AWS WAF and AWS Shield Developer Guide.

" } diff --git a/bin/botocore/data/signer/2017-08-25/paginators-1.json b/bin/botocore/data/signer/2017-08-25/paginators-1.json index ea142457..1e049e7d 100644 --- a/bin/botocore/data/signer/2017-08-25/paginators-1.json +++ b/bin/botocore/data/signer/2017-08-25/paginators-1.json @@ -1,3 +1,22 @@ { - "pagination": {} + "pagination": { + "ListSigningJobs": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "jobs" + }, + "ListSigningPlatforms": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "platforms" + }, + "ListSigningProfiles": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "profiles" + } + } } diff --git a/bin/botocore/data/sms-voice/2018-09-05/service-2.json b/bin/botocore/data/sms-voice/2018-09-05/service-2.json index 5d1f9097..e4fc8859 100644 --- a/bin/botocore/data/sms-voice/2018-09-05/service-2.json +++ b/bin/botocore/data/sms-voice/2018-09-05/service-2.json @@ -166,6 +166,32 @@ } ], "documentation" : "Obtain information about an event destination, including the types of events it reports, the Amazon Resource Name (ARN) of the destination, and the name of the event destination." }, + "ListConfigurationSets" : { + "name" : "ListConfigurationSets", + "http" : { + "method" : "GET", + "requestUri" : "/v1/sms-voice/configuration-sets", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListConfigurationSetsRequest" + }, + "output" : { + "shape" : "ListConfigurationSetsResponse", + "documentation" : "ListConfigurationSetsResponse" + }, + "errors" : [ { + "shape" : "TooManyRequestsException", + "documentation" : "TooManyRequestsException" + }, { + "shape" : "BadRequestException", + "documentation" : "BadRequestException" + }, { + "shape" : "InternalServiceErrorException", + "documentation" : "InternalServiceErrorException" + } ], + "documentation" : "List all of the configuration sets associated with your Amazon Pinpoint account in the current region." + }, "SendVoiceMessage" : { "name" : "SendVoiceMessage", "http" : { @@ -225,12 +251,12 @@ "shapes" : { "AlreadyExistsException" : { "type" : "structure", - "documentation" : "The resource specified in your request already exists.", "members" : { "Message" : { "shape" : "String" } }, + "documentation" : "The resource specified in your request already exists.", "exception" : true, "error" : { "httpStatusCode" : 409 @@ -238,12 +264,12 @@ }, "BadRequestException" : { "type" : "structure", - "documentation" : "The input you provided is invalid.", "members" : { "Message" : { "shape" : "String" } }, + "documentation" : "The input you provided is invalid.", "exception" : true, "error" : { "httpStatusCode" : 400 @@ -275,9 +301,16 @@ "documentation" : "The name of the Amazon CloudWatch Log Group that you want to record events in." } }, - "documentation" : "An object that contains information about a event destination that sends data to Amazon CloudWatch Logs.", + "documentation" : "An object that contains information about an event destination that sends data to Amazon CloudWatch Logs.", "required" : [ ] }, + "ConfigurationSets" : { + "type" : "list", + "documentation" : "An array that contains all of the configuration sets in your Amazon Pinpoint account in the current AWS Region.", + "member" : { + "shape" : "WordCharactersWithDelimiters" + } + }, "CreateConfigurationSetEventDestinationRequest" : { "type" : "structure", "members" : { @@ -295,7 +328,7 @@ "documentation" : "A name that identifies the event destination." } }, - "documentation" : "CreateConfigurationSetEventDestinationRequest", + "documentation" : "Create a new event destination in a configuration set.", "required" : [ "ConfigurationSetName" ] }, "CreateConfigurationSetEventDestinationResponse" : { @@ -311,7 +344,7 @@ "documentation" : "The name that you want to give the configuration set." } }, - "documentation" : "CreateConfigurationSetRequest" + "documentation" : "A request to create a new configuration set." }, "CreateConfigurationSetResponse" : { "type" : "structure", @@ -377,6 +410,9 @@ "Name" : { "shape" : "String", "documentation" : "A name that identifies the event destination configuration." + }, + "SnsDestination" : { + "shape" : "SnsDestination" } }, "documentation" : "An object that defines an event destination." @@ -396,6 +432,9 @@ }, "MatchingEventTypes" : { "shape" : "EventTypes" + }, + "SnsDestination" : { + "shape" : "SnsDestination" } }, "documentation" : "An object that defines a single event destination.", @@ -466,34 +505,68 @@ "documentation" : "The Amazon Resource Name (ARN) of the Amazon Kinesis Data Firehose destination that you want to use in the event destination." } }, - "documentation" : "An object that contains information about a event destination that sends data to Amazon Kinesis Data Firehose.", + "documentation" : "An object that contains information about an event destination that sends data to Amazon Kinesis Data Firehose.", "required" : [ ] }, "LimitExceededException" : { "type" : "structure", - "documentation" : "There are too many instances of the specified resource type.", - "exception" : true, "members" : { "Message" : { "shape" : "String" } }, + "documentation" : "There are too many instances of the specified resource type.", + "exception" : true, "error" : { "httpStatusCode" : 412 } }, + "ListConfigurationSetsRequest" : { + "type" : "structure", + "members" : { + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "A token returned from a previous call to the API that indicates the position in the list of results." + }, + "PageSize" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "PageSize", + "documentation" : "Used to specify the number of items that should be returned in the response." + } + } + }, + "ListConfigurationSetsResponse" : { + "type" : "structure", + "members" : { + "ConfigurationSets" : { + "shape" : "ConfigurationSets", + "documentation" : "An object that contains a list of configuration sets for your account in the current region." + }, + "NextToken" : { + "shape" : "NextTokenString", + "documentation" : "A token returned from a previous call to ListConfigurationSets to indicate the position in the list of configuration sets." + } + }, + "documentation": "An object that contains information about the configuration sets for your account in the current region." + }, + "NextTokenString" : { + "type" : "string" + }, "NonEmptyString" : { "type" : "string" }, "NotFoundException" : { "type" : "structure", - "documentation" : "The resource you attempted to access doesn't exist.", - "exception" : true, "members" : { "Message" : { "shape" : "String" } }, + "documentation" : "The resource you attempted to access doesn't exist.", + "exception" : true, "error" : { "httpStatusCode" : 404 } @@ -571,18 +644,29 @@ }, "documentation" : "An object that that contains the Message ID of a Voice message that was sent successfully." }, + "SnsDestination" : { + "type" : "structure", + "members" : { + "TopicArn" : { + "shape" : "String", + "documentation" : "The Amazon Resource Name (ARN) of the Amazon SNS topic that you want to publish events to." + } + }, + "documentation" : "An object that contains information about an event destination that sends data to Amazon SNS.", + "required" : [ ] + }, "String" : { "type" : "string" }, "TooManyRequestsException" : { "type" : "structure", - "documentation" : "You've issued too many requests to the resource. Wait a few minutes, and then try again.", - "exception" : true, "members" : { "Message" : { "shape" : "String" } }, + "documentation" : "You've issued too many requests to the resource. Wait a few minutes, and then try again.", + "exception" : true, "error" : { "httpStatusCode" : 429 } diff --git a/bin/botocore/data/sms/2016-10-24/paginators-1.json b/bin/botocore/data/sms/2016-10-24/paginators-1.json index 6e184415..52a8d570 100644 --- a/bin/botocore/data/sms/2016-10-24/paginators-1.json +++ b/bin/botocore/data/sms/2016-10-24/paginators-1.json @@ -23,6 +23,12 @@ "output_token": "nextToken", "limit_key": "maxResults", "result_key": "serverList" + }, + "ListApps": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "apps" } } } diff --git a/bin/botocore/data/snowball/2016-06-30/paginators-1.json b/bin/botocore/data/snowball/2016-06-30/paginators-1.json index 79596df9..e4e974f3 100644 --- a/bin/botocore/data/snowball/2016-06-30/paginators-1.json +++ b/bin/botocore/data/snowball/2016-06-30/paginators-1.json @@ -11,6 +11,24 @@ "output_token": "NextToken", "input_token": "NextToken", "result_key": "Addresses" + }, + "ListClusterJobs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "JobListEntries" + }, + "ListClusters": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ClusterListEntries" + }, + "ListCompatibleImages": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "CompatibleImages" } } } diff --git a/bin/botocore/data/sns/2010-03-31/paginators-1.json b/bin/botocore/data/sns/2010-03-31/paginators-1.json index 455e4708..1c30bcc8 100644 --- a/bin/botocore/data/sns/2010-03-31/paginators-1.json +++ b/bin/botocore/data/sns/2010-03-31/paginators-1.json @@ -24,6 +24,11 @@ "input_token": "NextToken", "output_token": "NextToken", "result_key": "Topics" + }, + "ListPhoneNumbersOptedOut": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "phoneNumbers" } } } diff --git a/bin/botocore/data/sns/2010-03-31/service-2.json b/bin/botocore/data/sns/2010-03-31/service-2.json index 0899af88..44aea81c 100644 --- a/bin/botocore/data/sns/2010-03-31/service-2.json +++ b/bin/botocore/data/sns/2010-03-31/service-2.json @@ -62,7 +62,8 @@ {"shape":"InvalidParameterException"}, {"shape":"NotFoundException"}, {"shape":"InternalErrorException"}, - {"shape":"AuthorizationErrorException"} + {"shape":"AuthorizationErrorException"}, + {"shape":"FilterPolicyLimitExceededException"} ], "documentation":"

Verifies an endpoint owner's intent to receive messages by validating the token sent to the endpoint by an earlier Subscribe action. If the token is valid, the action creates a new subscription and returns its Amazon Resource Name (ARN). This call requires an AWS signature only when the AuthenticateOnUnsubscribe flag is set to \"true\".

" }, @@ -82,7 +83,7 @@ {"shape":"InternalErrorException"}, {"shape":"AuthorizationErrorException"} ], - "documentation":"

Creates a platform application object for one of the supported push notification services, such as APNS and GCM, to which devices and mobile apps may register. You must specify PlatformPrincipal and PlatformCredential attributes when using the CreatePlatformApplication action. The PlatformPrincipal is received from the notification service. For APNS/APNS_SANDBOX, PlatformPrincipal is \"SSL certificate\". For GCM, PlatformPrincipal is not applicable. For ADM, PlatformPrincipal is \"client id\". The PlatformCredential is also received from the notification service. For WNS, PlatformPrincipal is \"Package Security Identifier\". For MPNS, PlatformPrincipal is \"TLS certificate\". For Baidu, PlatformPrincipal is \"API key\".

For APNS/APNS_SANDBOX, PlatformCredential is \"private key\". For GCM, PlatformCredential is \"API key\". For ADM, PlatformCredential is \"client secret\". For WNS, PlatformCredential is \"secret key\". For MPNS, PlatformCredential is \"private key\". For Baidu, PlatformCredential is \"secret key\". The PlatformApplicationArn that is returned when using CreatePlatformApplication is then used as an attribute for the CreatePlatformEndpoint action. For more information, see Using Amazon SNS Mobile Push Notifications. For more information about obtaining the PlatformPrincipal and PlatformCredential for each of the supported push notification services, see Getting Started with Apple Push Notification Service, Getting Started with Amazon Device Messaging, Getting Started with Baidu Cloud Push, Getting Started with Google Cloud Messaging for Android, Getting Started with MPNS, or Getting Started with WNS.

" + "documentation":"

Creates a platform application object for one of the supported push notification services, such as APNS and FCM, to which devices and mobile apps may register. You must specify PlatformPrincipal and PlatformCredential attributes when using the CreatePlatformApplication action. The PlatformPrincipal is received from the notification service. For APNS/APNS_SANDBOX, PlatformPrincipal is \"SSL certificate\". For GCM, PlatformPrincipal is not applicable. For ADM, PlatformPrincipal is \"client id\". The PlatformCredential is also received from the notification service. For WNS, PlatformPrincipal is \"Package Security Identifier\". For MPNS, PlatformPrincipal is \"TLS certificate\". For Baidu, PlatformPrincipal is \"API key\".

For APNS/APNS_SANDBOX, PlatformCredential is \"private key\". For GCM, PlatformCredential is \"API key\". For ADM, PlatformCredential is \"client secret\". For WNS, PlatformCredential is \"secret key\". For MPNS, PlatformCredential is \"private key\". For Baidu, PlatformCredential is \"secret key\". The PlatformApplicationArn that is returned when using CreatePlatformApplication is then used as an attribute for the CreatePlatformEndpoint action. For more information, see Using Amazon SNS Mobile Push Notifications. For more information about obtaining the PlatformPrincipal and PlatformCredential for each of the supported push notification services, see Getting Started with Apple Push Notification Service, Getting Started with Amazon Device Messaging, Getting Started with Baidu Cloud Push, Getting Started with Google Cloud Messaging for Android, Getting Started with MPNS, or Getting Started with WNS.

" }, "CreatePlatformEndpoint":{ "name":"CreatePlatformEndpoint", @@ -101,7 +102,7 @@ {"shape":"AuthorizationErrorException"}, {"shape":"NotFoundException"} ], - "documentation":"

Creates an endpoint for a device and mobile app on one of the supported push notification services, such as GCM and APNS. CreatePlatformEndpoint requires the PlatformApplicationArn that is returned from CreatePlatformApplication. The EndpointArn that is returned when using CreatePlatformEndpoint can then be used by the Publish action to send a message to a mobile app or by the Subscribe action for subscription to a topic. The CreatePlatformEndpoint action is idempotent, so if the requester already owns an endpoint with the same device token and attributes, that endpoint's ARN is returned without creating a new endpoint. For more information, see Using Amazon SNS Mobile Push Notifications.

When using CreatePlatformEndpoint with Baidu, two attributes must be provided: ChannelId and UserId. The token field must also contain the ChannelId. For more information, see Creating an Amazon SNS Endpoint for Baidu.

" + "documentation":"

Creates an endpoint for a device and mobile app on one of the supported push notification services, such as GCM and APNS. CreatePlatformEndpoint requires the PlatformApplicationArn that is returned from CreatePlatformApplication. The EndpointArn that is returned when using CreatePlatformEndpoint can then be used by the Publish action to send a message to a mobile app or by the Subscribe action for subscription to a topic. The CreatePlatformEndpoint action is idempotent, so if the requester already owns an endpoint with the same device token and attributes, that endpoint's ARN is returned without creating a new endpoint. For more information, see Using Amazon SNS Mobile Push Notifications.

When using CreatePlatformEndpoint with Baidu, two attributes must be provided: ChannelId and UserId. The token field must also contain the ChannelId. For more information, see Creating an Amazon SNS Endpoint for Baidu.

" }, "CreateTopic":{ "name":"CreateTopic", @@ -119,9 +120,13 @@ {"shape":"TopicLimitExceededException"}, {"shape":"InternalErrorException"}, {"shape":"AuthorizationErrorException"}, - {"shape":"InvalidSecurityException"} + {"shape":"InvalidSecurityException"}, + {"shape":"TagLimitExceededException"}, + {"shape":"StaleTagException"}, + {"shape":"TagPolicyException"}, + {"shape":"ConcurrentAccessException"} ], - "documentation":"

Creates a topic to which notifications can be published. Users can create at most 100,000 topics. For more information, see http://aws.amazon.com/sns. This action is idempotent, so if the requester already owns a topic with the specified name, that topic's ARN is returned without creating a new topic.

" + "documentation":"

Creates a topic to which notifications can be published. Users can create at most 100,000 topics. For more information, see https://aws.amazon.com/sns. This action is idempotent, so if the requester already owns a topic with the specified name, that topic's ARN is returned without creating a new topic.

" }, "DeleteEndpoint":{ "name":"DeleteEndpoint", @@ -135,7 +140,7 @@ {"shape":"InternalErrorException"}, {"shape":"AuthorizationErrorException"} ], - "documentation":"

Deletes the endpoint for a device and mobile app from Amazon SNS. This action is idempotent. For more information, see Using Amazon SNS Mobile Push Notifications.

When you delete an endpoint that is also subscribed to a topic, then you must also unsubscribe the endpoint from the topic.

" + "documentation":"

Deletes the endpoint for a device and mobile app from Amazon SNS. This action is idempotent. For more information, see Using Amazon SNS Mobile Push Notifications.

When you delete an endpoint that is also subscribed to a topic, then you must also unsubscribe the endpoint from the topic.

" }, "DeletePlatformApplication":{ "name":"DeletePlatformApplication", @@ -149,7 +154,7 @@ {"shape":"InternalErrorException"}, {"shape":"AuthorizationErrorException"} ], - "documentation":"

Deletes a platform application object for one of the supported push notification services, such as APNS and GCM. For more information, see Using Amazon SNS Mobile Push Notifications.

" + "documentation":"

Deletes a platform application object for one of the supported push notification services, such as APNS and GCM. For more information, see Using Amazon SNS Mobile Push Notifications.

" }, "DeleteTopic":{ "name":"DeleteTopic", @@ -162,7 +167,10 @@ {"shape":"InvalidParameterException"}, {"shape":"InternalErrorException"}, {"shape":"AuthorizationErrorException"}, - {"shape":"NotFoundException"} + {"shape":"NotFoundException"}, + {"shape":"StaleTagException"}, + {"shape":"TagPolicyException"}, + {"shape":"ConcurrentAccessException"} ], "documentation":"

Deletes a topic and all its subscriptions. Deleting a topic might prevent some messages previously sent to the topic from being delivered to subscribers. This action is idempotent, so deleting a topic that does not exist does not result in an error.

" }, @@ -183,7 +191,7 @@ {"shape":"AuthorizationErrorException"}, {"shape":"NotFoundException"} ], - "documentation":"

Retrieves the endpoint attributes for a device on one of the supported push notification services, such as GCM and APNS. For more information, see Using Amazon SNS Mobile Push Notifications.

" + "documentation":"

Retrieves the endpoint attributes for a device on one of the supported push notification services, such as GCM and APNS. For more information, see Using Amazon SNS Mobile Push Notifications.

" }, "GetPlatformApplicationAttributes":{ "name":"GetPlatformApplicationAttributes", @@ -202,7 +210,7 @@ {"shape":"AuthorizationErrorException"}, {"shape":"NotFoundException"} ], - "documentation":"

Retrieves the attributes of the platform application object for the supported push notification services, such as APNS and GCM. For more information, see Using Amazon SNS Mobile Push Notifications.

" + "documentation":"

Retrieves the attributes of the platform application object for the supported push notification services, such as APNS and GCM. For more information, see Using Amazon SNS Mobile Push Notifications.

" }, "GetSMSAttributes":{ "name":"GetSMSAttributes", @@ -279,7 +287,7 @@ {"shape":"AuthorizationErrorException"}, {"shape":"NotFoundException"} ], - "documentation":"

Lists the endpoints and endpoint attributes for devices in a supported push notification service, such as GCM and APNS. The results for ListEndpointsByPlatformApplication are paginated and return a limited list of endpoints, up to 100. If additional records are available after the first page results, then a NextToken string will be returned. To receive the next page, you call ListEndpointsByPlatformApplication again using the NextToken string received from the previous call. When there are no more records to return, NextToken will be null. For more information, see Using Amazon SNS Mobile Push Notifications.

This action is throttled at 30 transactions per second (TPS).

" + "documentation":"

Lists the endpoints and endpoint attributes for devices in a supported push notification service, such as GCM and APNS. The results for ListEndpointsByPlatformApplication are paginated and return a limited list of endpoints, up to 100. If additional records are available after the first page results, then a NextToken string will be returned. To receive the next page, you call ListEndpointsByPlatformApplication again using the NextToken string received from the previous call. When there are no more records to return, NextToken will be null. For more information, see Using Amazon SNS Mobile Push Notifications.

This action is throttled at 30 transactions per second (TPS).

" }, "ListPhoneNumbersOptedOut":{ "name":"ListPhoneNumbersOptedOut", @@ -316,7 +324,7 @@ {"shape":"InternalErrorException"}, {"shape":"AuthorizationErrorException"} ], - "documentation":"

Lists the platform application objects for the supported push notification services, such as APNS and GCM. The results for ListPlatformApplications are paginated and return a limited list of applications, up to 100. If additional records are available after the first page results, then a NextToken string will be returned. To receive the next page, you call ListPlatformApplications using the NextToken string received from the previous call. When there are no more records to return, NextToken will be null. For more information, see Using Amazon SNS Mobile Push Notifications.

This action is throttled at 15 transactions per second (TPS).

" + "documentation":"

Lists the platform application objects for the supported push notification services, such as APNS and GCM. The results for ListPlatformApplications are paginated and return a limited list of applications, up to 100. If additional records are available after the first page results, then a NextToken string will be returned. To receive the next page, you call ListPlatformApplications using the NextToken string received from the previous call. When there are no more records to return, NextToken will be null. For more information, see Using Amazon SNS Mobile Push Notifications.

This action is throttled at 15 transactions per second (TPS).

" }, "ListSubscriptions":{ "name":"ListSubscriptions", @@ -355,6 +363,26 @@ ], "documentation":"

Returns a list of the subscriptions to a specific topic. Each call returns a limited list of subscriptions, up to 100. If there are more subscriptions, a NextToken is also returned. Use the NextToken parameter in a new ListSubscriptionsByTopic call to get further results.

This action is throttled at 30 transactions per second (TPS).

" }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{ + "shape":"ListTagsForResourceResponse", + "resultWrapper":"ListTagsForResourceResult" + }, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"TagPolicyException"}, + {"shape":"InvalidParameterException"}, + {"shape":"AuthorizationErrorException"}, + {"shape":"ConcurrentAccessException"} + ], + "documentation":"

List all tags added to the specified Amazon SNS topic. For an overview, see Amazon SNS Tags in the Amazon Simple Notification Service Developer Guide.

" + }, "ListTopics":{ "name":"ListTopics", "http":{ @@ -419,7 +447,7 @@ {"shape":"KMSAccessDeniedException"}, {"shape":"InvalidSecurityException"} ], - "documentation":"

Sends a message to an Amazon SNS topic or sends a text message (SMS message) directly to a phone number.

If you send a message to a topic, Amazon SNS delivers the message to each endpoint that is subscribed to the topic. The format of the message depends on the notification protocol for each subscribed endpoint.

When a messageId is returned, the message has been saved and Amazon SNS will attempt to deliver it shortly.

To use the Publish action for sending a message to a mobile endpoint, such as an app on a Kindle device or mobile phone, you must specify the EndpointArn for the TargetArn parameter. The EndpointArn is returned when making a call with the CreatePlatformEndpoint action.

For more information about formatting messages, see Send Custom Platform-Specific Payloads in Messages to Mobile Devices.

" + "documentation":"

Sends a message to an Amazon SNS topic or sends a text message (SMS message) directly to a phone number.

If you send a message to a topic, Amazon SNS delivers the message to each endpoint that is subscribed to the topic. The format of the message depends on the notification protocol for each subscribed endpoint.

When a messageId is returned, the message has been saved and Amazon SNS will attempt to deliver it shortly.

To use the Publish action for sending a message to a mobile endpoint, such as an app on a Kindle device or mobile phone, you must specify the EndpointArn for the TargetArn parameter. The EndpointArn is returned when making a call with the CreatePlatformEndpoint action.

For more information about formatting messages, see Send Custom Platform-Specific Payloads in Messages to Mobile Devices.

" }, "RemovePermission":{ "name":"RemovePermission", @@ -449,7 +477,7 @@ {"shape":"AuthorizationErrorException"}, {"shape":"NotFoundException"} ], - "documentation":"

Sets the attributes for an endpoint for a device on one of the supported push notification services, such as GCM and APNS. For more information, see Using Amazon SNS Mobile Push Notifications.

" + "documentation":"

Sets the attributes for an endpoint for a device on one of the supported push notification services, such as GCM and APNS. For more information, see Using Amazon SNS Mobile Push Notifications.

" }, "SetPlatformApplicationAttributes":{ "name":"SetPlatformApplicationAttributes", @@ -464,7 +492,7 @@ {"shape":"AuthorizationErrorException"}, {"shape":"NotFoundException"} ], - "documentation":"

Sets the attributes of the platform application object for the supported push notification services, such as APNS and GCM. For more information, see Using Amazon SNS Mobile Push Notifications. For information on configuring attributes for message delivery status, see Using Amazon SNS Application Attributes for Message Delivery Status.

" + "documentation":"

Sets the attributes of the platform application object for the supported push notification services, such as APNS and GCM. For more information, see Using Amazon SNS Mobile Push Notifications. For information on configuring attributes for message delivery status, see Using Amazon SNS Application Attributes for Message Delivery Status.

" }, "SetSMSAttributes":{ "name":"SetSMSAttributes", @@ -483,7 +511,7 @@ {"shape":"InternalErrorException"}, {"shape":"AuthorizationErrorException"} ], - "documentation":"

Use this request to set the default settings for sending SMS messages and receiving daily SMS usage reports.

You can override some of these settings for a single message when you use the Publish action with the MessageAttributes.entry.N parameter. For more information, see Sending an SMS Message in the Amazon SNS Developer Guide.

" + "documentation":"

Use this request to set the default settings for sending SMS messages and receiving daily SMS usage reports.

You can override some of these settings for a single message when you use the Publish action with the MessageAttributes.entry.N parameter. For more information, see Sending an SMS Message in the Amazon SNS Developer Guide.

" }, "SetSubscriptionAttributes":{ "name":"SetSubscriptionAttributes", @@ -539,6 +567,28 @@ ], "documentation":"

Prepares to subscribe an endpoint by sending the endpoint a confirmation message. To actually create a subscription, the endpoint owner must call the ConfirmSubscription action with the token from the confirmation message. Confirmation tokens are valid for three days.

This action is throttled at 100 transactions per second (TPS).

" }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{ + "shape":"TagResourceResponse", + "resultWrapper":"TagResourceResult" + }, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"TagLimitExceededException"}, + {"shape":"StaleTagException"}, + {"shape":"TagPolicyException"}, + {"shape":"InvalidParameterException"}, + {"shape":"AuthorizationErrorException"}, + {"shape":"ConcurrentAccessException"} + ], + "documentation":"

Add tags to the specified Amazon SNS topic. For an overview, see Amazon SNS Tags in the Amazon SNS Developer Guide.

When you use topic tags, keep the following guidelines in mind:

  • Adding more than 50 tags to a topic isn't recommended.

  • Tags don't have any semantic meaning. Amazon SNS interprets tags as character strings.

  • Tags are case-sensitive.

  • A new tag with a key identical to that of an existing tag overwrites the existing tag.

  • Tagging actions are limited to 10 TPS per AWS account. If your application requires a higher throughput, file a technical support request.

For a full list of tag restrictions, see Limits Related to Topics in the Amazon SNS Developer Guide.

" + }, "Unsubscribe":{ "name":"Unsubscribe", "http":{ @@ -554,6 +604,28 @@ {"shape":"InvalidSecurityException"} ], "documentation":"

Deletes a subscription. If the subscription requires authentication for deletion, only the owner of the subscription or the topic's owner can unsubscribe, and an AWS signature is required. If the Unsubscribe call does not require authentication and the requester is not the subscription owner, a final cancellation message is delivered to the endpoint, so that the endpoint owner can easily resubscribe to the topic if the Unsubscribe request was unintended.

This action is throttled at 100 transactions per second (TPS).

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{ + "shape":"UntagResourceResponse", + "resultWrapper":"UntagResourceResult" + }, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"TagLimitExceededException"}, + {"shape":"StaleTagException"}, + {"shape":"TagPolicyException"}, + {"shape":"InvalidParameterException"}, + {"shape":"AuthorizationErrorException"}, + {"shape":"ConcurrentAccessException"} + ], + "documentation":"

Remove tags from the specified Amazon SNS topic. For an overview, see Amazon SNS Tags in the Amazon SNS Developer Guide.

" } }, "shapes":{ @@ -588,6 +660,11 @@ } } }, + "AmazonResourceName":{ + "type":"string", + "max":1011, + "min":1 + }, "AuthorizationErrorException":{ "type":"structure", "members":{ @@ -623,6 +700,19 @@ }, "documentation":"

The response from the CheckIfPhoneNumberIsOptedOut action.

" }, + "ConcurrentAccessException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "documentation":"

Can't perform multiple operations on a tag simultaneously. Perform the operations sequentially.

", + "error":{ + "code":"ConcurrentAccess", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "ConfirmSubscriptionInput":{ "type":"structure", "required":[ @@ -683,7 +773,7 @@ }, "Attributes":{ "shape":"MapStringToString", - "documentation":"

For a list of attributes, see SetPlatformApplicationAttributes

" + "documentation":"

For a list of attributes, see SetPlatformApplicationAttributes

" } }, "documentation":"

Input for CreatePlatformApplication action.

" @@ -719,7 +809,7 @@ }, "Attributes":{ "shape":"MapStringToString", - "documentation":"

For a list of attributes, see SetEndpointAttributes.

" + "documentation":"

For a list of attributes, see SetEndpointAttributes.

" } }, "documentation":"

Input for CreatePlatformEndpoint action.

" @@ -734,7 +824,11 @@ }, "Attributes":{ "shape":"TopicAttributesMap", - "documentation":"

A map of attributes with their corresponding values.

The following lists the names, descriptions, and values of the special request parameters that the CreateTopic action uses:

  • DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.

  • DisplayName – The display name to use for a topic with SMS subscriptions.

  • Policy – The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic.

" + "documentation":"

A map of attributes with their corresponding values.

The following lists the names, descriptions, and values of the special request parameters that the CreateTopic action uses:

  • DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.

  • DisplayName – The display name to use for a topic with SMS subscriptions.

  • Policy – The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic.

The following attribute applies only to server-side-encryption:

  • KmsMasterKeyId - The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API Reference.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The list of tags to add to a new topic.

" } }, "documentation":"

Input for CreateTopic action.

" @@ -875,7 +969,7 @@ "members":{ "attributes":{ "shape":"ListString", - "documentation":"

A list of the individual attribute names, such as MonthlySpendLimit, for which you want values.

For all attribute names, see SetSMSAttributes.

If you don't use this parameter, Amazon SNS returns all SMS attributes.

" + "documentation":"

A list of the individual attribute names, such as MonthlySpendLimit, for which you want values.

For all attribute names, see SetSMSAttributes.

If you don't use this parameter, Amazon SNS returns all SMS attributes.

" } }, "documentation":"

The input for the GetSMSAttributes request.

" @@ -1018,7 +1112,7 @@ "members":{ "message":{"shape":"string"} }, - "documentation":"

The request was rejected because the state of the specified resource isn't valid for this request. For more information, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", + "documentation":"

The request was rejected because the state of the specified resource isn't valid for this request. For more information, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", "error":{ "code":"KMSInvalidState", "httpStatusCode":400, @@ -1057,7 +1151,7 @@ "members":{ "message":{"shape":"string"} }, - "documentation":"

The request was denied due to request throttling. For more information about throttling, see Limits in the AWS Key Management Service Developer Guide.

", + "documentation":"

The request was denied due to request throttling. For more information about throttling, see Limits in the AWS Key Management Service Developer Guide.

", "error":{ "code":"KMSThrottling", "httpStatusCode":400, @@ -1207,6 +1301,25 @@ }, "documentation":"

Response for ListSubscriptions action

" }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the topic for which to list tags.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

The tags associated with the specified topic.

" + } + } + }, "ListTopicsInput":{ "type":"structure", "members":{ @@ -1252,18 +1365,18 @@ "members":{ "DataType":{ "shape":"String", - "documentation":"

Amazon SNS supports the following logical data types: String, String.Array, Number, and Binary. For more information, see Message Attribute Data Types.

" + "documentation":"

Amazon SNS supports the following logical data types: String, String.Array, Number, and Binary. For more information, see Message Attribute Data Types.

" }, "StringValue":{ "shape":"String", - "documentation":"

Strings are Unicode with UTF8 binary encoding. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

" + "documentation":"

Strings are Unicode with UTF8 binary encoding. For a list of code values, see ASCII Printable Characters.

" }, "BinaryValue":{ "shape":"Binary", "documentation":"

Binary type attributes can store any binary data, for example, compressed data, encrypted data, or images.

" } }, - "documentation":"

The user-specified message attribute value. For string data types, the value attribute has the same restrictions on the content as the message body. For more information, see Publish.

Name, type, and value must not be empty or null. In addition, the message body should not be empty or null. All parts of the message attribute, including name, type, and value, are included in the message size restriction, which is currently 256 KB (262,144 bytes). For more information, see Using Amazon SNS Message Attributes.

" + "documentation":"

The user-specified message attribute value. For string data types, the value attribute has the same restrictions on the content as the message body. For more information, see Publish.

Name, type, and value must not be empty or null. In addition, the message body should not be empty or null. All parts of the message attribute, including name, type, and value, are included in the message size restriction, which is currently 256 KB (262,144 bytes). For more information, see Using Amazon SNS Message Attributes.

" }, "NotFoundException":{ "type":"structure", @@ -1340,7 +1453,7 @@ }, "TargetArn":{ "shape":"String", - "documentation":"

Either TopicArn or EndpointArn, but not both.

If you don't specify a value for the TargetArn parameter, you must specify a value for the PhoneNumber or TopicArn parameters.

" + "documentation":"

If you don't specify a value for the TargetArn parameter, you must specify a value for the PhoneNumber or TopicArn parameters.

" }, "PhoneNumber":{ "shape":"String", @@ -1356,7 +1469,7 @@ }, "MessageStructure":{ "shape":"messageStructure", - "documentation":"

Set MessageStructure to json if you want to send a different message for each protocol. For example, using one publish action, you can send a short message to your SMS subscribers and a longer message to your email subscribers. If you set MessageStructure to json, the value of the Message parameter must:

  • be a syntactically valid JSON object; and

  • contain at least a top-level JSON key of \"default\" with a value that is a string.

You can define other top-level keys that define the message you want to send to a specific transport protocol (e.g., \"http\").

For information about sending different messages for each protocol using the AWS Management Console, go to Create Different Messages for Each Protocol in the Amazon Simple Notification Service Getting Started Guide.

Valid value: json

" + "documentation":"

Set MessageStructure to json if you want to send a different message for each protocol. For example, using one publish action, you can send a short message to your SMS subscribers and a longer message to your email subscribers. If you set MessageStructure to json, the value of the Message parameter must:

  • be a syntactically valid JSON object; and

  • contain at least a top-level JSON key of \"default\" with a value that is a string.

You can define other top-level keys that define the message you want to send to a specific transport protocol (e.g., \"http\").

For information about sending different messages for each protocol using the AWS Management Console, go to Create Different Messages for Each Protocol in the Amazon Simple Notification Service Getting Started Guide.

Valid value: json

" }, "MessageAttributes":{ "shape":"MessageAttributeMap", @@ -1393,6 +1506,19 @@ }, "documentation":"

Input for RemovePermission action.

" }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "documentation":"

Can't tag resource. Verify that the topic exists.

", + "error":{ + "code":"ResourceNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, "SetEndpointAttributesInput":{ "type":"structure", "required":[ @@ -1435,7 +1561,7 @@ "members":{ "attributes":{ "shape":"MapStringToString", - "documentation":"

The default settings for sending SMS messages from your account. You can set values for the following attribute names:

MonthlySpendLimit – The maximum amount in USD that you are willing to spend each month to send SMS messages. When Amazon SNS determines that sending an SMS message would incur a cost that exceeds this limit, it stops sending SMS messages within minutes.

Amazon SNS stops sending SMS messages within minutes of the limit being crossed. During that interval, if you continue to send SMS messages, you will incur costs that exceed your limit.

By default, the spend limit is set to the maximum allowed by Amazon SNS. If you want to raise the limit, submit an SNS Limit Increase case. For New limit value, enter your desired monthly spend limit. In the Use Case Description field, explain that you are requesting an SMS monthly spend limit increase.

DeliveryStatusIAMRole – The ARN of the IAM role that allows Amazon SNS to write logs about SMS deliveries in CloudWatch Logs. For each SMS message that you send, Amazon SNS writes a log that includes the message price, the success or failure status, the reason for failure (if the message failed), the message dwell time, and other information.

DeliveryStatusSuccessSamplingRate – The percentage of successful SMS deliveries for which Amazon SNS will write logs in CloudWatch Logs. The value can be an integer from 0 - 100. For example, to write logs only for failed deliveries, set this value to 0. To write logs for 10% of your successful deliveries, set it to 10.

DefaultSenderID – A string, such as your business brand, that is displayed as the sender on the receiving device. Support for sender IDs varies by country. The sender ID can be 1 - 11 alphanumeric characters, and it must contain at least one letter.

DefaultSMSType – The type of SMS message that you will send by default. You can assign the following values:

  • Promotional – (Default) Noncritical messages, such as marketing messages. Amazon SNS optimizes the message delivery to incur the lowest cost.

  • Transactional – Critical messages that support customer transactions, such as one-time passcodes for multi-factor authentication. Amazon SNS optimizes the message delivery to achieve the highest reliability.

UsageReportS3Bucket – The name of the Amazon S3 bucket to receive daily SMS usage reports from Amazon SNS. Each day, Amazon SNS will deliver a usage report as a CSV file to the bucket. The report includes the following information for each SMS message that was successfully delivered by your account:

  • Time that the message was published (in UTC)

  • Message ID

  • Destination phone number

  • Message type

  • Delivery status

  • Message price (in USD)

  • Part number (a message is split into multiple parts if it is too long for a single message)

  • Total number of parts

To receive the report, the bucket must have a policy that allows the Amazon SNS service principle to perform the s3:PutObject and s3:GetBucketLocation actions.

For an example bucket policy and usage report, see Monitoring SMS Activity in the Amazon SNS Developer Guide.

" + "documentation":"

The default settings for sending SMS messages from your account. You can set values for the following attribute names:

MonthlySpendLimit – The maximum amount in USD that you are willing to spend each month to send SMS messages. When Amazon SNS determines that sending an SMS message would incur a cost that exceeds this limit, it stops sending SMS messages within minutes.

Amazon SNS stops sending SMS messages within minutes of the limit being crossed. During that interval, if you continue to send SMS messages, you will incur costs that exceed your limit.

By default, the spend limit is set to the maximum allowed by Amazon SNS. If you want to raise the limit, submit an SNS Limit Increase case. For New limit value, enter your desired monthly spend limit. In the Use Case Description field, explain that you are requesting an SMS monthly spend limit increase.

DeliveryStatusIAMRole – The ARN of the IAM role that allows Amazon SNS to write logs about SMS deliveries in CloudWatch Logs. For each SMS message that you send, Amazon SNS writes a log that includes the message price, the success or failure status, the reason for failure (if the message failed), the message dwell time, and other information.

DeliveryStatusSuccessSamplingRate – The percentage of successful SMS deliveries for which Amazon SNS will write logs in CloudWatch Logs. The value can be an integer from 0 - 100. For example, to write logs only for failed deliveries, set this value to 0. To write logs for 10% of your successful deliveries, set it to 10.

DefaultSenderID – A string, such as your business brand, that is displayed as the sender on the receiving device. Support for sender IDs varies by country. The sender ID can be 1 - 11 alphanumeric characters, and it must contain at least one letter.

DefaultSMSType – The type of SMS message that you will send by default. You can assign the following values:

  • Promotional – (Default) Noncritical messages, such as marketing messages. Amazon SNS optimizes the message delivery to incur the lowest cost.

  • Transactional – Critical messages that support customer transactions, such as one-time passcodes for multi-factor authentication. Amazon SNS optimizes the message delivery to achieve the highest reliability.

UsageReportS3Bucket – The name of the Amazon S3 bucket to receive daily SMS usage reports from Amazon SNS. Each day, Amazon SNS will deliver a usage report as a CSV file to the bucket. The report includes the following information for each SMS message that was successfully delivered by your account:

  • Time that the message was published (in UTC)

  • Message ID

  • Destination phone number

  • Message type

  • Delivery status

  • Message price (in USD)

  • Part number (a message is split into multiple parts if it is too long for a single message)

  • Total number of parts

To receive the report, the bucket must have a policy that allows the Amazon SNS service principle to perform the s3:PutObject and s3:GetBucketLocation actions.

For an example bucket policy and usage report, see Monitoring SMS Activity in the Amazon SNS Developer Guide.

" } }, "documentation":"

The input for the SetSMSAttributes action.

" @@ -1481,7 +1607,7 @@ }, "AttributeName":{ "shape":"attributeName", - "documentation":"

A map of attributes with their corresponding values.

The following lists the names, descriptions, and values of the special request parameters that the SetTopicAttributes action uses:

  • DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.

  • DisplayName – The display name to use for a topic with SMS subscriptions.

  • Policy – The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic.

" + "documentation":"

A map of attributes with their corresponding values.

The following lists the names, descriptions, and values of the special request parameters that the SetTopicAttributes action uses:

  • DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.

  • DisplayName – The display name to use for a topic with SMS subscriptions.

  • Policy – The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic.

The following attribute applies only to server-side-encryption:

  • KmsMasterKeyId - The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API Reference.

" }, "AttributeValue":{ "shape":"attributeValue", @@ -1490,6 +1616,19 @@ }, "documentation":"

Input for SetTopicAttributes action.

" }, + "StaleTagException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "documentation":"

A tag has been added to a resource with the same ARN as a deleted resource. Wait a short while and then retry the operation.

", + "error":{ + "code":"StaleTag", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "String":{"type":"string"}, "SubscribeInput":{ "type":"structure", @@ -1508,7 +1647,7 @@ }, "Endpoint":{ "shape":"endpoint", - "documentation":"

The endpoint that you want to receive notifications. Endpoints vary by protocol:

  • For the http protocol, the endpoint is an URL beginning with \"http://\"

  • For the https protocol, the endpoint is a URL beginning with \"https://\"

  • For the email protocol, the endpoint is an email address

  • For the email-json protocol, the endpoint is an email address

  • For the sms protocol, the endpoint is a phone number of an SMS-enabled device

  • For the sqs protocol, the endpoint is the ARN of an Amazon SQS queue

  • For the application protocol, the endpoint is the EndpointArn of a mobile app and device.

  • For the lambda protocol, the endpoint is the ARN of an AWS Lambda function.

" + "documentation":"

The endpoint that you want to receive notifications. Endpoints vary by protocol:

  • For the http protocol, the endpoint is an URL beginning with \"https://\"

  • For the https protocol, the endpoint is a URL beginning with \"https://\"

  • For the email protocol, the endpoint is an email address

  • For the email-json protocol, the endpoint is an email address

  • For the sms protocol, the endpoint is a phone number of an SMS-enabled device

  • For the sqs protocol, the endpoint is the ARN of an Amazon SQS queue

  • For the application protocol, the endpoint is the EndpointArn of a mobile app and device.

  • For the lambda protocol, the endpoint is the ARN of an AWS Lambda function.

" }, "Attributes":{ "shape":"SubscriptionAttributesMap", @@ -1579,6 +1718,90 @@ "type":"list", "member":{"shape":"Subscription"} }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

The required key portion of the tag.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The optional value portion of the tag.

" + } + }, + "documentation":"

The list of tags to be added to the specified topic.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagLimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "documentation":"

Can't add more than 50 tags to a topic.

", + "error":{ + "code":"TagLimitExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagPolicyException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "documentation":"

The request doesn't comply with the IAM tag policy. Correct your request and then retry it.

", + "error":{ + "code":"TagPolicy", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the topic to which to add tags.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be added to the specified topic. A tag consists of a required key and an optional value.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, "ThrottledException":{ "type":"structure", "members":{ @@ -1638,6 +1861,28 @@ }, "documentation":"

Input for Unsubscribe action.

" }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the topic from which to remove tags.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

The list of tag keys to remove from the specified topic.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, "account":{"type":"string"}, "action":{"type":"string"}, "attributeName":{"type":"string"}, @@ -1659,5 +1904,5 @@ "topicARN":{"type":"string"}, "topicName":{"type":"string"} }, - "documentation":"Amazon Simple Notification Service

Amazon Simple Notification Service (Amazon SNS) is a web service that enables you to build distributed web-enabled applications. Applications can use Amazon SNS to easily push real-time notification messages to interested subscribers over multiple delivery protocols. For more information about this product see http://aws.amazon.com/sns. For detailed information about Amazon SNS features and their associated API calls, see the Amazon SNS Developer Guide.

We also provide SDKs that enable you to access Amazon SNS from your preferred programming language. The SDKs contain functionality that automatically takes care of tasks such as: cryptographically signing your service requests, retrying requests, and handling error responses. For a list of available SDKs, go to Tools for Amazon Web Services.

" + "documentation":"Amazon Simple Notification Service

Amazon Simple Notification Service (Amazon SNS) is a web service that enables you to build distributed web-enabled applications. Applications can use Amazon SNS to easily push real-time notification messages to interested subscribers over multiple delivery protocols. For more information about this product see https://aws.amazon.com/sns. For detailed information about Amazon SNS features and their associated API calls, see the Amazon SNS Developer Guide.

We also provide SDKs that enable you to access Amazon SNS from your preferred programming language. The SDKs contain functionality that automatically takes care of tasks such as: cryptographically signing your service requests, retrying requests, and handling error responses. For a list of available SDKs, go to Tools for Amazon Web Services.

" } diff --git a/bin/botocore/data/ssm/2014-11-06/paginators-1.json b/bin/botocore/data/ssm/2014-11-06/paginators-1.json index 94790e81..e7b95820 100644 --- a/bin/botocore/data/ssm/2014-11-06/paginators-1.json +++ b/bin/botocore/data/ssm/2014-11-06/paginators-1.json @@ -42,6 +42,24 @@ "limit_key": "MaxResults", "result_key": "Parameters" }, + "DescribeAssociationExecutions": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "AssociationExecutions" + }, + "DescribeAssociationExecutionTargets": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "AssociationExecutionTargets" + }, + "GetInventory": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Entities" + }, "GetParametersByPath": { "result_key": "Parameters", "output_token": "NextToken", @@ -53,6 +71,174 @@ "output_token": "NextToken", "input_token": "NextToken", "limit_key": "MaxResults" + }, + "DescribeAutomationExecutions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "AutomationExecutionMetadataList" + }, + "DescribeAutomationStepExecutions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "StepExecutions" + }, + "DescribeAvailablePatches": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Patches" + }, + "DescribeEffectiveInstanceAssociations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Associations" + }, + "DescribeEffectivePatchesForPatchBaseline": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "EffectivePatches" + }, + "DescribeInstanceAssociationsStatus": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "InstanceAssociationStatusInfos" + }, + "DescribeInstancePatchStates": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "InstancePatchStates" + }, + "DescribeInstancePatchStatesForPatchGroup": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "InstancePatchStates" + }, + "DescribeInstancePatches": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Patches" + }, + "DescribeInventoryDeletions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "InventoryDeletions" + }, + "DescribeMaintenanceWindowExecutionTaskInvocations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "WindowExecutionTaskInvocationIdentities" + }, + "DescribeMaintenanceWindowExecutionTasks": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "WindowExecutionTaskIdentities" + }, + "DescribeMaintenanceWindowExecutions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "WindowExecutions" + }, + "DescribeMaintenanceWindowSchedule": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ScheduledWindowExecutions" + }, + "DescribeMaintenanceWindowTargets": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Targets" + }, + "DescribeMaintenanceWindowTasks": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Tasks" + }, + "DescribeMaintenanceWindows": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "WindowIdentities" + }, + "DescribeMaintenanceWindowsForTarget": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "WindowIdentities" + }, + "DescribePatchBaselines": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "BaselineIdentities" + }, + "DescribePatchGroups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Mappings" + }, + "DescribeSessions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Sessions" + }, + "GetInventorySchema": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Schemas" + }, + "ListAssociationVersions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "AssociationVersions" + }, + "ListComplianceItems": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ComplianceItems" + }, + "ListComplianceSummaries": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ComplianceSummaryItems" + }, + "ListDocumentVersions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "DocumentVersions" + }, + "ListResourceComplianceSummaries": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ResourceComplianceSummaryItems" + }, + "ListResourceDataSync": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ResourceDataSyncItems" } } } diff --git a/bin/botocore/data/ssm/2014-11-06/service-2.json b/bin/botocore/data/ssm/2014-11-06/service-2.json index 9d9dcf40..12b0cf61 100644 --- a/bin/botocore/data/ssm/2014-11-06/service-2.json +++ b/bin/botocore/data/ssm/2014-11-06/service-2.json @@ -28,7 +28,7 @@ {"shape":"TooManyTagsError"}, {"shape":"TooManyUpdates"} ], - "documentation":"

Adds or overwrites one or more tags for the specified resource. Tags are metadata that you can assign to your documents, managed instances, Maintenance Windows, Parameter Store parameters, and patch baselines. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define. For example, you could define a set of tags for your account's managed instances that helps you track each instance's owner and stack level. For example: Key=Owner and Value=DbAdmin, SysAdmin, or Dev. Or Key=Stack and Value=Production, Pre-Production, or Test.

Each resource can have a maximum of 50 tags.

We recommend that you devise a set of tag keys that meets your needs for each resource type. Using a consistent set of tag keys makes it easier for you to manage your resources. You can search and filter the resources based on the tags you add. Tags don't have any semantic meaning to Amazon EC2 and are interpreted strictly as a string of characters.

For more information about tags, see Tagging Your Amazon EC2 Resources in the Amazon EC2 User Guide.

" + "documentation":"

Adds or overwrites one or more tags for the specified resource. Tags are metadata that you can assign to your documents, managed instances, maintenance windows, Parameter Store parameters, and patch baselines. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define. For example, you could define a set of tags for your account's managed instances that helps you track each instance's owner and stack level. For example: Key=Owner and Value=DbAdmin, SysAdmin, or Dev. Or Key=Stack and Value=Production, Pre-Production, or Test.

Each resource can have a maximum of 50 tags.

We recommend that you devise a set of tag keys that meets your needs for each resource type. Using a consistent set of tag keys makes it easier for you to manage your resources. You can search and filter the resources based on the tags you add. Tags don't have any semantic meaning to Amazon EC2 and are interpreted strictly as a string of characters.

For more information about tags, see Tagging Your Amazon EC2 Resources in the Amazon EC2 User Guide.

" }, "CancelCommand":{ "name":"CancelCommand", @@ -58,7 +58,7 @@ {"shape":"InternalServerError"}, {"shape":"DoesNotExistException"} ], - "documentation":"

Stops a Maintenance Window execution that is already in progress and cancels any tasks in the window that have not already starting running. (Tasks already in progress will continue to completion.)

" + "documentation":"

Stops a maintenance window execution that is already in progress and cancels any tasks in the window that have not already starting running. (Tasks already in progress will continue to completion.)

" }, "CreateActivation":{ "name":"CreateActivation", @@ -71,7 +71,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

Registers your on-premises server or virtual machine with Amazon EC2 so that you can manage these resources using Run Command. An on-premises server or virtual machine that has been registered with EC2 is called a managed instance. For more information about activations, see Setting Up Systems Manager in Hybrid Environments.

" + "documentation":"

Registers your on-premises server or virtual machine with Amazon EC2 so that you can manage these resources using Run Command. An on-premises server or virtual machine that has been registered with EC2 is called a managed instance. For more information about activations, see Setting Up AWS Systems Manager for Hybrid Environments.

" }, "CreateAssociation":{ "name":"CreateAssociation", @@ -150,7 +150,23 @@ {"shape":"ResourceLimitExceededException"}, {"shape":"InternalServerError"} ], - "documentation":"

Creates a new Maintenance Window.

" + "documentation":"

Creates a new maintenance window.

" + }, + "CreateOpsItem":{ + "name":"CreateOpsItem", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateOpsItemRequest"}, + "output":{"shape":"CreateOpsItemResponse"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"OpsItemAlreadyExistsException"}, + {"shape":"OpsItemLimitExceededException"}, + {"shape":"OpsItemInvalidParameterException"} + ], + "documentation":"

Creates a new OpsItem. You must have permission in AWS Identity and Access Management (IAM) to create a new OpsItem. For more information, see Getting Started with OpsItems in the AWS Systems Manager User Guide.

Operations engineers and IT professionals use the Systems Manager OpsItems capability to view, investigate, and remediate operational issues impacting the performance and health of their AWS resources. For more information, see AWS Systems Manager OpsItems in the AWS Systems Manager User Guide.

" }, "CreatePatchBaseline":{ "name":"CreatePatchBaseline", @@ -181,7 +197,7 @@ {"shape":"ResourceDataSyncAlreadyExistsException"}, {"shape":"ResourceDataSyncInvalidConfigurationException"} ], - "documentation":"

Creates a resource data sync configuration to a single bucket in Amazon S3. This is an asynchronous operation that returns immediately. After a successful initial sync is completed, the system continuously syncs data to the Amazon S3 bucket. To check the status of the sync, use the ListResourceDataSync.

By default, data is not encrypted in Amazon S3. We strongly recommend that you enable encryption in Amazon S3 to ensure secure data storage. We also recommend that you secure access to the Amazon S3 bucket by creating a restrictive bucket policy. To view an example of a restrictive Amazon S3 bucket policy for Resource Data Sync, see Create a Resource Data Sync for Inventory in the AWS Systems Manager User Guide.

" + "documentation":"

Creates a resource data sync configuration to a single bucket in Amazon S3. This is an asynchronous operation that returns immediately. After a successful initial sync is completed, the system continuously syncs data to the Amazon S3 bucket. To check the status of the sync, use the ListResourceDataSync.

By default, data is not encrypted in Amazon S3. We strongly recommend that you enable encryption in Amazon S3 to ensure secure data storage. We also recommend that you secure access to the Amazon S3 bucket by creating a restrictive bucket policy. For more information, see Configuring Resource Data Sync for Inventory in the AWS Systems Manager User Guide.

" }, "DeleteActivation":{ "name":"DeleteActivation", @@ -260,7 +276,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

Deletes a Maintenance Window.

" + "documentation":"

Deletes a maintenance window.

" }, "DeleteParameter":{ "name":"DeleteParameter", @@ -358,7 +374,7 @@ {"shape":"InternalServerError"}, {"shape":"TargetInUseException"} ], - "documentation":"

Removes a target from a Maintenance Window.

" + "documentation":"

Removes a target from a maintenance window.

" }, "DeregisterTaskFromMaintenanceWindow":{ "name":"DeregisterTaskFromMaintenanceWindow", @@ -372,7 +388,7 @@ {"shape":"DoesNotExistException"}, {"shape":"InternalServerError"} ], - "documentation":"

Removes a task from a Maintenance Window.

" + "documentation":"

Removes a task from a maintenance window.

" }, "DescribeActivations":{ "name":"DescribeActivations", @@ -648,7 +664,7 @@ {"shape":"DoesNotExistException"}, {"shape":"InternalServerError"} ], - "documentation":"

Retrieves the individual task executions (one per target) for a particular task executed as part of a Maintenance Window execution.

" + "documentation":"

Retrieves the individual task executions (one per target) for a particular task run as part of a maintenance window execution.

" }, "DescribeMaintenanceWindowExecutionTasks":{ "name":"DescribeMaintenanceWindowExecutionTasks", @@ -662,7 +678,7 @@ {"shape":"DoesNotExistException"}, {"shape":"InternalServerError"} ], - "documentation":"

For a given Maintenance Window execution, lists the tasks that were executed.

" + "documentation":"

For a given maintenance window execution, lists the tasks that were run.

" }, "DescribeMaintenanceWindowExecutions":{ "name":"DescribeMaintenanceWindowExecutions", @@ -675,7 +691,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

Lists the executions of a Maintenance Window. This includes information about when the Maintenance Window was scheduled to be active, and information about tasks registered and run with the Maintenance Window.

" + "documentation":"

Lists the executions of a maintenance window. This includes information about when the maintenance window was scheduled to be active, and information about tasks registered and run with the maintenance window.

" }, "DescribeMaintenanceWindowSchedule":{ "name":"DescribeMaintenanceWindowSchedule", @@ -689,7 +705,7 @@ {"shape":"InternalServerError"}, {"shape":"DoesNotExistException"} ], - "documentation":"

Retrieves information about upcoming executions of a Maintenance Window.

" + "documentation":"

Retrieves information about upcoming executions of a maintenance window.

" }, "DescribeMaintenanceWindowTargets":{ "name":"DescribeMaintenanceWindowTargets", @@ -703,7 +719,7 @@ {"shape":"DoesNotExistException"}, {"shape":"InternalServerError"} ], - "documentation":"

Lists the targets registered with the Maintenance Window.

" + "documentation":"

Lists the targets registered with the maintenance window.

" }, "DescribeMaintenanceWindowTasks":{ "name":"DescribeMaintenanceWindowTasks", @@ -717,7 +733,7 @@ {"shape":"DoesNotExistException"}, {"shape":"InternalServerError"} ], - "documentation":"

Lists the tasks in a Maintenance Window.

" + "documentation":"

Lists the tasks in a maintenance window.

" }, "DescribeMaintenanceWindows":{ "name":"DescribeMaintenanceWindows", @@ -730,7 +746,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

Retrieves the Maintenance Windows in an AWS account.

" + "documentation":"

Retrieves the maintenance windows in an AWS account.

" }, "DescribeMaintenanceWindowsForTarget":{ "name":"DescribeMaintenanceWindowsForTarget", @@ -743,7 +759,20 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

Retrieves information about the Maintenance Windows targets or tasks that an instance is associated with.

" + "documentation":"

Retrieves information about the maintenance window targets or tasks that an instance is associated with.

" + }, + "DescribeOpsItems":{ + "name":"DescribeOpsItems", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeOpsItemsRequest"}, + "output":{"shape":"DescribeOpsItemsResponse"}, + "errors":[ + {"shape":"InternalServerError"} + ], + "documentation":"

Query a set of OpsItems. You must have permission in AWS Identity and Access Management (IAM) to query a list of OpsItems. For more information, see Getting Started with OpsItems in the AWS Systems Manager User Guide.

Operations engineers and IT professionals use the Systems Manager OpsItems capability to view, investigate, and remediate operational issues impacting the performance and health of their AWS resources. For more information, see AWS Systems Manager OpsItems in the AWS Systems Manager User Guide.

" }, "DescribeParameters":{ "name":"DescribeParameters", @@ -802,6 +831,19 @@ ], "documentation":"

Lists all patch groups that have been registered with patch baselines.

" }, + "DescribePatchProperties":{ + "name":"DescribePatchProperties", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePatchPropertiesRequest"}, + "output":{"shape":"DescribePatchPropertiesResult"}, + "errors":[ + {"shape":"InternalServerError"} + ], + "documentation":"

Lists the properties of available patches organized by product, product family, classification, severity, and other properties of available patches. You can use the reported properties in the filters you specify in requests for actions such as CreatePatchBaseline, UpdatePatchBaseline, DescribeAvailablePatches, and DescribePatchBaselines.

The following section lists the properties that can be used in filters for each major operating system type:

WINDOWS

Valid properties: PRODUCT, PRODUCT_FAMILY, CLASSIFICATION, MSRC_SEVERITY

AMAZON_LINUX

Valid properties: PRODUCT, CLASSIFICATION, SEVERITY

AMAZON_LINUX_2

Valid properties: PRODUCT, CLASSIFICATION, SEVERITY

UBUNTU

Valid properties: PRODUCT, PRIORITY

REDHAT_ENTERPRISE_LINUX

Valid properties: PRODUCT, CLASSIFICATION, SEVERITY

SUSE

Valid properties: PRODUCT, CLASSIFICATION, SEVERITY

CENTOS

Valid properties: PRODUCT, CLASSIFICATION, SEVERITY

" + }, "DescribeSessions":{ "name":"DescribeSessions", "http":{ @@ -884,7 +926,8 @@ "output":{"shape":"GetDeployablePatchSnapshotForInstanceResult"}, "errors":[ {"shape":"InternalServerError"}, - {"shape":"UnsupportedOperatingSystem"} + {"shape":"UnsupportedOperatingSystem"}, + {"shape":"UnsupportedFeatureRequiredException"} ], "documentation":"

Retrieves the current snapshot for the patch baseline the instance uses. This API is primarily used by the AWS-RunPatchBaseline Systems Manager document.

" }, @@ -949,7 +992,7 @@ {"shape":"DoesNotExistException"}, {"shape":"InternalServerError"} ], - "documentation":"

Retrieves a Maintenance Window.

" + "documentation":"

Retrieves a maintenance window.

" }, "GetMaintenanceWindowExecution":{ "name":"GetMaintenanceWindowExecution", @@ -963,7 +1006,7 @@ {"shape":"DoesNotExistException"}, {"shape":"InternalServerError"} ], - "documentation":"

Retrieves details about a specific task executed as part of a Maintenance Window execution.

" + "documentation":"

Retrieves details about a specific task run as part of a maintenance window execution.

" }, "GetMaintenanceWindowExecutionTask":{ "name":"GetMaintenanceWindowExecutionTask", @@ -977,7 +1020,7 @@ {"shape":"DoesNotExistException"}, {"shape":"InternalServerError"} ], - "documentation":"

Retrieves the details about a specific task executed as part of a Maintenance Window execution.

" + "documentation":"

Retrieves the details about a specific task run as part of a maintenance window execution.

" }, "GetMaintenanceWindowExecutionTaskInvocation":{ "name":"GetMaintenanceWindowExecutionTaskInvocation", @@ -991,7 +1034,7 @@ {"shape":"DoesNotExistException"}, {"shape":"InternalServerError"} ], - "documentation":"

Retrieves a task invocation. A task invocation is a specific task executing on a specific target. Maintenance Windows report status for all invocations.

" + "documentation":"

Retrieves a task invocation. A task invocation is a specific task running on a specific target. maintenance windows report status for all invocations.

" }, "GetMaintenanceWindowTask":{ "name":"GetMaintenanceWindowTask", @@ -1005,7 +1048,38 @@ {"shape":"DoesNotExistException"}, {"shape":"InternalServerError"} ], - "documentation":"

Lists the tasks in a Maintenance Window.

" + "documentation":"

Lists the tasks in a maintenance window.

" + }, + "GetOpsItem":{ + "name":"GetOpsItem", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetOpsItemRequest"}, + "output":{"shape":"GetOpsItemResponse"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"OpsItemNotFoundException"} + ], + "documentation":"

Get information about an OpsItem by using the ID. You must have permission in AWS Identity and Access Management (IAM) to view information about an OpsItem. For more information, see Getting Started with OpsItems in the AWS Systems Manager User Guide.

Operations engineers and IT professionals use the Systems Manager OpsItems capability to view, investigate, and remediate operational issues impacting the performance and health of their AWS resources. For more information, see AWS Systems Manager OpsItems in the AWS Systems Manager User Guide.

" + }, + "GetOpsSummary":{ + "name":"GetOpsSummary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetOpsSummaryRequest"}, + "output":{"shape":"GetOpsSummaryResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidFilter"}, + {"shape":"InvalidNextToken"}, + {"shape":"InvalidTypeNameException"}, + {"shape":"InvalidAggregatorException"} + ], + "documentation":"

View a summary of OpsItems based on specified filters and aggregators.

" }, "GetParameter":{ "name":"GetParameter", @@ -1099,6 +1173,20 @@ ], "documentation":"

Retrieves the patch baseline that should be used for the specified patch group.

" }, + "GetServiceSetting":{ + "name":"GetServiceSetting", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetServiceSettingRequest"}, + "output":{"shape":"GetServiceSettingResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"ServiceSettingNotFound"} + ], + "documentation":"

ServiceSetting is an account-level setting for an AWS service. This setting defines how a user interacts with or uses a service or a feature of a service. For example, if an AWS service charges money to the account based on feature or service usage, then the AWS service team might create a default setting of \"false\". This means the user can't use this feature unless they change the setting to \"true\" and intentionally opt in for a paid feature.

Services map a SettingId object to a setting value. AWS services teams define the default value for a SettingId. You can't create a new SettingId, but you can overwrite the default value if you have the ssm:UpdateServiceSetting permission for the setting. Use the UpdateServiceSetting API action to change the default setting. Or use the ResetServiceSetting to change the value back to the original value defined by the AWS service team.

Query the current service setting for the account.

" + }, "LabelParameterVersion":{ "name":"LabelParameterVersion", "http":{ @@ -1160,7 +1248,7 @@ {"shape":"InvalidFilterKey"}, {"shape":"InvalidNextToken"} ], - "documentation":"

An invocation is copy of a command sent to a specific instance. A command can apply to one or more instances. A command invocation applies to one instance. For example, if a user executes SendCommand against three instances, then a command invocation is created for each requested instance ID. ListCommandInvocations provide status about command execution.

" + "documentation":"

An invocation is copy of a command sent to a specific instance. A command can apply to one or more instances. A command invocation applies to one instance. For example, if a user runs SendCommand against three instances, then a command invocation is created for each requested instance ID. ListCommandInvocations provide status about command execution.

" }, "ListCommands":{ "name":"ListCommands", @@ -1381,7 +1469,11 @@ {"shape":"InvalidAllowedPatternException"}, {"shape":"ParameterMaxVersionLimitExceeded"}, {"shape":"ParameterPatternMismatchException"}, - {"shape":"UnsupportedParameterType"} + {"shape":"UnsupportedParameterType"}, + {"shape":"PoliciesLimitExceededException"}, + {"shape":"InvalidPolicyTypeException"}, + {"shape":"InvalidPolicyAttributeException"}, + {"shape":"IncompatiblePolicyException"} ], "documentation":"

Add a parameter to the system.

" }, @@ -1431,7 +1523,7 @@ {"shape":"ResourceLimitExceededException"}, {"shape":"InternalServerError"} ], - "documentation":"

Registers a target with a Maintenance Window.

" + "documentation":"

Registers a target with a maintenance window.

" }, "RegisterTaskWithMaintenanceWindow":{ "name":"RegisterTaskWithMaintenanceWindow", @@ -1448,7 +1540,7 @@ {"shape":"FeatureNotAvailableException"}, {"shape":"InternalServerError"} ], - "documentation":"

Adds a new task to a Maintenance Window.

" + "documentation":"

Adds a new task to a maintenance window.

" }, "RemoveTagsFromResource":{ "name":"RemoveTagsFromResource", @@ -1466,6 +1558,21 @@ ], "documentation":"

Removes all tags from the specified resource.

" }, + "ResetServiceSetting":{ + "name":"ResetServiceSetting", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResetServiceSettingRequest"}, + "output":{"shape":"ResetServiceSettingResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"ServiceSettingNotFound"}, + {"shape":"TooManyUpdates"} + ], + "documentation":"

ServiceSetting is an account-level setting for an AWS service. This setting defines how a user interacts with or uses a service or a feature of a service. For example, if an AWS service charges money to the account based on feature or service usage, then the AWS service team might create a default setting of \"false\". This means the user can't use this feature unless they change the setting to \"true\" and intentionally opt in for a paid feature.

Services map a SettingId object to a setting value. AWS services teams define the default value for a SettingId. You can't create a new SettingId, but you can overwrite the default value if you have the ssm:UpdateServiceSetting permission for the setting. Use the GetServiceSetting API action to view the current value. Use the UpdateServiceSetting API action to change the default setting.

Reset the service setting for the account to the default value as provisioned by the AWS service team.

" + }, "ResumeSession":{ "name":"ResumeSession", "http":{ @@ -1517,7 +1624,7 @@ {"shape":"InvalidRole"}, {"shape":"InvalidNotificationConfig"} ], - "documentation":"

Executes commands on one or more managed instances.

" + "documentation":"

Runs commands on one or more managed instances.

" }, "StartAssociationsOnce":{ "name":"StartAssociationsOnce", @@ -1531,7 +1638,7 @@ {"shape":"InvalidAssociation"}, {"shape":"AssociationDoesNotExist"} ], - "documentation":"

Use this API action to execute an association immediately and only one time. This action can be helpful when troubleshooting associations.

" + "documentation":"

Use this API action to run an association immediately and only one time. This action can be helpful when troubleshooting associations.

" }, "StartAutomationExecution":{ "name":"StartAutomationExecution", @@ -1580,7 +1687,7 @@ {"shape":"InvalidAutomationStatusUpdateException"}, {"shape":"InternalServerError"} ], - "documentation":"

Stop an Automation that is currently executing.

" + "documentation":"

Stop an Automation that is currently running.

" }, "TerminateSession":{ "name":"TerminateSession", @@ -1618,7 +1725,7 @@ {"shape":"InvalidAssociationVersion"}, {"shape":"AssociationVersionLimitExceeded"} ], - "documentation":"

Updates an association. You can update the association name and version, the document version, schedule, parameters, and Amazon S3 output.

" + "documentation":"

Updates an association. You can update the association name and version, the document version, schedule, parameters, and Amazon S3 output.

When you update an association, the association immediately runs against the specified targets.

" }, "UpdateAssociationStatus":{ "name":"UpdateAssociationStatus", @@ -1688,7 +1795,7 @@ {"shape":"DoesNotExistException"}, {"shape":"InternalServerError"} ], - "documentation":"

Updates an existing Maintenance Window. Only specified parameters are modified.

" + "documentation":"

Updates an existing maintenance window. Only specified parameters are modified.

" }, "UpdateMaintenanceWindowTarget":{ "name":"UpdateMaintenanceWindowTarget", @@ -1702,7 +1809,7 @@ {"shape":"DoesNotExistException"}, {"shape":"InternalServerError"} ], - "documentation":"

Modifies the target of an existing Maintenance Window. You can't change the target type, but you can change the following:

The target from being an ID target to a Tag target, or a Tag target to an ID target.

IDs for an ID target.

Tags for a Tag target.

Owner.

Name.

Description.

If a parameter is null, then the corresponding field is not modified.

" + "documentation":"

Modifies the target of an existing maintenance window. You can't change the target type, but you can change the following:

The target from being an ID target to a Tag target, or a Tag target to an ID target.

IDs for an ID target.

Tags for a Tag target.

Owner.

Name.

Description.

If a parameter is null, then the corresponding field is not modified.

" }, "UpdateMaintenanceWindowTask":{ "name":"UpdateMaintenanceWindowTask", @@ -1716,7 +1823,7 @@ {"shape":"DoesNotExistException"}, {"shape":"InternalServerError"} ], - "documentation":"

Modifies a task assigned to a Maintenance Window. You can't change the task type, but you can change the following values:

  • TaskARN. For example, you can change a RUN_COMMAND task from AWS-RunPowerShellScript to AWS-RunShellScript.

  • ServiceRoleArn

  • TaskInvocationParameters

  • Priority

  • MaxConcurrency

  • MaxErrors

If a parameter is null, then the corresponding field is not modified. Also, if you set Replace to true, then all fields required by the RegisterTaskWithMaintenanceWindow action are required for this request. Optional fields that aren't specified are set to null.

" + "documentation":"

Modifies a task assigned to a maintenance window. You can't change the task type, but you can change the following values:

  • TaskARN. For example, you can change a RUN_COMMAND task from AWS-RunPowerShellScript to AWS-RunShellScript.

  • ServiceRoleArn

  • TaskInvocationParameters

  • Priority

  • MaxConcurrency

  • MaxErrors

If a parameter is null, then the corresponding field is not modified. Also, if you set Replace to true, then all fields required by the RegisterTaskWithMaintenanceWindow action are required for this request. Optional fields that aren't specified are set to null.

" }, "UpdateManagedInstanceRole":{ "name":"UpdateManagedInstanceRole", @@ -1732,6 +1839,23 @@ ], "documentation":"

Assigns or changes an Amazon Identity and Access Management (IAM) role to the managed instance.

" }, + "UpdateOpsItem":{ + "name":"UpdateOpsItem", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateOpsItemRequest"}, + "output":{"shape":"UpdateOpsItemResponse"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"OpsItemNotFoundException"}, + {"shape":"OpsItemAlreadyExistsException"}, + {"shape":"OpsItemLimitExceededException"}, + {"shape":"OpsItemInvalidParameterException"} + ], + "documentation":"

Edit or change an OpsItem. You must have permission in AWS Identity and Access Management (IAM) to update an OpsItem. For more information, see Getting Started with OpsItems in the AWS Systems Manager User Guide.

Operations engineers and IT professionals use the Systems Manager OpsItems capability to view, investigate, and remediate operational issues impacting the performance and health of their AWS resources. For more information, see AWS Systems Manager OpsItems in the AWS Systems Manager User Guide.

" + }, "UpdatePatchBaseline":{ "name":"UpdatePatchBaseline", "http":{ @@ -1745,6 +1869,21 @@ {"shape":"InternalServerError"} ], "documentation":"

Modifies an existing patch baseline. Fields not specified in the request are left unchanged.

For information about valid key and value pairs in PatchFilters for each supported operating system type, see PatchFilter.

" + }, + "UpdateServiceSetting":{ + "name":"UpdateServiceSetting", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateServiceSettingRequest"}, + "output":{"shape":"UpdateServiceSettingResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"ServiceSettingNotFound"}, + {"shape":"TooManyUpdates"} + ], + "documentation":"

ServiceSetting is an account-level setting for an AWS service. This setting defines how a user interacts with or uses a service or a feature of a service. For example, if an AWS service charges money to the account based on feature or service usage, then the AWS service team might create a default setting of \"false\". This means the user can't use this feature unless they change the setting to \"true\" and intentionally opt in for a paid feature.

Services map a SettingId object to a setting value. AWS services teams define the default value for a SettingId. You can't create a new SettingId, but you can overwrite the default value if you have the ssm:UpdateServiceSetting permission for the setting. Use the GetServiceSetting API action to view the current value. Or, use the ResetServiceSetting to change the value back to the original value defined by the AWS service team.

Update the service setting for the account.

" } }, "shapes":{ @@ -1802,6 +1941,10 @@ "CreatedDate":{ "shape":"CreatedDate", "documentation":"

The date the activation was created.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Tags assigned to the activation.

" } }, "documentation":"

An activation registers one or more on-premises servers or virtual machines (VMs) with AWS so that you can configure those servers or VMs using Run Command. A server or VM that has been registered with AWS is called a managed instance.

" @@ -1834,11 +1977,11 @@ "members":{ "ResourceType":{ "shape":"ResourceTypeForTagging", - "documentation":"

Specifies the type of resource you are tagging.

The ManagedInstance type for this API action is for on-premises managed instances. You must specify the the name of the managed instance in the following format: mi-ID_number. For example, mi-1a2b3c4d5e6f.

" + "documentation":"

Specifies the type of resource you are tagging.

The ManagedInstance type for this API action is for on-premises managed instances. You must specify the name of the managed instance in the following format: mi-ID_number. For example, mi-1a2b3c4d5e6f.

" }, "ResourceId":{ "shape":"ResourceId", - "documentation":"

The resource ID you want to tag.

Use the ID of the resource. Here are some examples:

ManagedInstance: mi-012345abcde

MaintenanceWindow: mw-012345abcde

PatchBaseline: pb-012345abcde

For the Document and Parameter values, use the name of the resource.

The ManagedInstance type for this API action is only for on-premises managed instances. You must specify the the name of the managed instance in the following format: mi-ID_number. For example, mi-1a2b3c4d5e6f.

" + "documentation":"

The resource ID you want to tag.

Use the ID of the resource. Here are some examples:

ManagedInstance: mi-012345abcde

MaintenanceWindow: mw-012345abcde

PatchBaseline: pb-012345abcde

For the Document and Parameter values, use the name of the resource.

The ManagedInstance type for this API action is only for on-premises managed instances. You must specify the name of the managed instance in the following format: mi-ID_number. For example, mi-1a2b3c4d5e6f.

" }, "Tags":{ "shape":"TagList", @@ -1885,7 +2028,7 @@ "type":"structure", "members":{ "Name":{ - "shape":"DocumentName", + "shape":"DocumentARN", "documentation":"

The name of the Systems Manager document.

" }, "InstanceId":{ @@ -1948,7 +2091,7 @@ "type":"structure", "members":{ "Name":{ - "shape":"DocumentName", + "shape":"DocumentARN", "documentation":"

The name of the Systems Manager document.

" }, "InstanceId":{ @@ -1979,6 +2122,10 @@ "shape":"DocumentVersion", "documentation":"

The document version.

" }, + "AutomationTargetParameterName":{ + "shape":"AutomationTargetParameterName", + "documentation":"

Specify the target for the association. This target is required for associations that use an Automation document and target resources by using rate controls.

" + }, "Parameters":{ "shape":"Parameters", "documentation":"

A description of the parameters for a document.

" @@ -2017,7 +2164,7 @@ }, "MaxConcurrency":{ "shape":"MaxConcurrency", - "documentation":"

The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.

If a new instance starts and attempts to execute an association while Systems Manager is executing MaxConcurrency associations, the association is allowed to run. During the next association interval, the new instance will process its association within the limit specified for MaxConcurrency.

" + "documentation":"

The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.

If a new instance starts and attempts to run an association while Systems Manager is running MaxConcurrency associations, the association is allowed to run. During the next association interval, the new instance will process its association within the limit specified for MaxConcurrency.

" }, "ComplianceSeverity":{ "shape":"AssociationComplianceSeverity", @@ -2051,7 +2198,7 @@ }, "ExecutionId":{ "shape":"AssociationExecutionId", - "documentation":"

The execution ID for the association. If the association does not run at intervals or according to a schedule, then the ExecutionID is the same as the AssociationID.

" + "documentation":"

The execution ID for the association.

" }, "Status":{ "shape":"StatusName", @@ -2141,7 +2288,7 @@ }, "ExecutionId":{ "shape":"AssociationExecutionId", - "documentation":"

The execution ID. If the association does not run at intervals or according to a schedule, then the ExecutionID is the same as the AssociationID.

" + "documentation":"

The execution ID.

" }, "ResourceId":{ "shape":"AssociationResourceId", @@ -2373,7 +2520,7 @@ "documentation":"

The date the association version was created.

" }, "Name":{ - "shape":"DocumentName", + "shape":"DocumentARN", "documentation":"

The name specified when the association was created.

" }, "DocumentVersion":{ @@ -2406,7 +2553,7 @@ }, "MaxConcurrency":{ "shape":"MaxConcurrency", - "documentation":"

The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.

If a new instance starts and attempts to execute an association while Systems Manager is executing MaxConcurrency associations, the association is allowed to run. During the next association interval, the new instance will process its association within the limit specified for MaxConcurrency.

" + "documentation":"

The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.

If a new instance starts and attempts to run an association while Systems Manager is running MaxConcurrency associations, the association is allowed to run. During the next association interval, the new instance will process its association within the limit specified for MaxConcurrency.

" }, "ComplianceSeverity":{ "shape":"AssociationComplianceSeverity", @@ -2469,9 +2616,12 @@ "AttachmentInformation":{ "type":"structure", "members":{ - "Name":{"shape":"AttachmentName"} + "Name":{ + "shape":"AttachmentName", + "documentation":"

The name of the attachment.

" + } }, - "documentation":"

An attribute of an attachment, such as the attachment name or size.

" + "documentation":"

An attribute of an attachment, such as the attachment name.

" }, "AttachmentInformationList":{ "type":"list", @@ -2576,7 +2726,7 @@ }, "StepExecutions":{ "shape":"StepExecutionList", - "documentation":"

A list of details about the current state of all steps that comprise an execution. An Automation document contains a list of steps that are executed in order.

" + "documentation":"

A list of details about the current state of all steps that comprise an execution. An Automation document contains a list of steps that are run in order.

" }, "StepExecutionsTruncated":{ "shape":"Boolean", @@ -2604,15 +2754,15 @@ }, "ExecutedBy":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the user who executed the automation.

" + "documentation":"

The Amazon Resource Name (ARN) of the user who ran the automation.

" }, "CurrentStepName":{ "shape":"String", - "documentation":"

The name of the currently executing step.

" + "documentation":"

The name of the step that is currently running.

" }, "CurrentAction":{ "shape":"String", - "documentation":"

The action of the currently executing step.

" + "documentation":"

The action of the step that is currently running.

" }, "TargetParameterName":{ "shape":"AutomationParameterKey", @@ -2644,7 +2794,7 @@ }, "TargetLocations":{ "shape":"TargetLocations", - "documentation":"

The combination of AWS Regions and/or AWS accounts where you want to execute the Automation.

", + "documentation":"

The combination of AWS Regions and/or AWS accounts where you want to run the Automation.

", "box":true }, "ProgressCounters":{ @@ -2744,7 +2894,7 @@ }, "ExecutedBy":{ "shape":"String", - "documentation":"

The IAM role ARN of the user who executed the Automation.

" + "documentation":"

The IAM role ARN of the user who ran the Automation.

" }, "LogFile":{ "shape":"String", @@ -2764,11 +2914,11 @@ }, "CurrentStepName":{ "shape":"String", - "documentation":"

The name of the currently executing step.

" + "documentation":"

The name of the step that is currently running.

" }, "CurrentAction":{ "shape":"String", - "documentation":"

The action of the currently executing step.

" + "documentation":"

The action of the step that is currently running.

" }, "FailureMessage":{ "shape":"String", @@ -2804,7 +2954,7 @@ }, "AutomationType":{ "shape":"AutomationType", - "documentation":"

Use this filter with DescribeAutomationExecution. Specify either Local of CrossAccount. CrossAccount is an Automation that executes in multiple AWS Regions and accounts. For more information, see Concurrently Executing Automations in Multiple AWS Regions and Accounts in the AWS Systems Manager User Guide.

" + "documentation":"

Use this filter with DescribeAutomationExecutions. Specify either Local or CrossAccount. CrossAccount is an Automation that runs in multiple AWS Regions and accounts. For more information, see Executing Automations in Multiple AWS Regions and Accounts in the AWS Systems Manager User Guide.

" } }, "documentation":"

Details about a specific Automation execution.

" @@ -2836,7 +2986,7 @@ }, "AutomationParameterKey":{ "type":"string", - "max":30, + "max":50, "min":1 }, "AutomationParameterMap":{ @@ -2865,6 +3015,11 @@ "documentation":"

The specified step name and execution ID don't exist. Verify the information and try again.

", "exception":true }, + "AutomationTargetParameterName":{ + "type":"string", + "max":50, + "min":1 + }, "AutomationType":{ "type":"string", "enum":[ @@ -2918,7 +3073,7 @@ "members":{ "WindowExecutionId":{ "shape":"MaintenanceWindowExecutionId", - "documentation":"

The ID of the Maintenance Window execution to stop.

" + "documentation":"

The ID of the maintenance window execution to stop.

" } } }, @@ -2927,7 +3082,7 @@ "members":{ "WindowExecutionId":{ "shape":"MaintenanceWindowExecutionId", - "documentation":"

The ID of the Maintenance Window execution that has been stopped.

" + "documentation":"

The ID of the maintenance window execution that has been stopped.

" } } }, @@ -2978,11 +3133,11 @@ }, "ExpiresAfter":{ "shape":"DateTime", - "documentation":"

If this time is reached and the command has not already started executing, it will not run. Calculated based on the ExpiresAfter user input provided as part of the SendCommand API.

" + "documentation":"

If this time is reached and the command has not already started running, it will not run. Calculated based on the ExpiresAfter user input provided as part of the SendCommand API.

" }, "Parameters":{ "shape":"Parameters", - "documentation":"

The parameter values to be inserted in the document when executing the command.

" + "documentation":"

The parameter values to be inserted in the document when running the command.

" }, "InstanceIds":{ "shape":"InstanceIdList", @@ -3002,7 +3157,7 @@ }, "StatusDetails":{ "shape":"StatusDetails", - "documentation":"

A detailed status of the command execution. StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Understanding Command Statuses in the AWS Systems Manager User Guide. StatusDetails can be one of the following values:

  • Pending: The command has not been sent to any instances.

  • In Progress: The command has been sent to at least one instance but has not reached a final state on all instances.

  • Success: The command successfully executed on all invocations. This is a terminal state.

  • Delivery Timed Out: The value of MaxErrors or more command invocations shows a status of Delivery Timed Out. This is a terminal state.

  • Execution Timed Out: The value of MaxErrors or more command invocations shows a status of Execution Timed Out. This is a terminal state.

  • Failed: The value of MaxErrors or more command invocations shows a status of Failed. This is a terminal state.

  • Incomplete: The command was attempted on all instances and one or more invocations does not have a value of Success but not enough invocations failed for the status to be Failed. This is a terminal state.

  • Canceled: The command was terminated before it was completed. This is a terminal state.

  • Rate Exceeded: The number of instances targeted by the command exceeded the account limit for pending invocations. The system has canceled the command before executing it on any instance. This is a terminal state.

" + "documentation":"

A detailed status of the command execution. StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Understanding Command Statuses in the AWS Systems Manager User Guide. StatusDetails can be one of the following values:

  • Pending: The command has not been sent to any instances.

  • In Progress: The command has been sent to at least one instance but has not reached a final state on all instances.

  • Success: The command successfully ran on all invocations. This is a terminal state.

  • Delivery Timed Out: The value of MaxErrors or more command invocations shows a status of Delivery Timed Out. This is a terminal state.

  • Execution Timed Out: The value of MaxErrors or more command invocations shows a status of Execution Timed Out. This is a terminal state.

  • Failed: The value of MaxErrors or more command invocations shows a status of Failed. This is a terminal state.

  • Incomplete: The command was attempted on all instances and one or more invocations does not have a value of Success but not enough invocations failed for the status to be Failed. This is a terminal state.

  • Canceled: The command was terminated before it was completed. This is a terminal state.

  • Rate Exceeded: The number of instances targeted by the command exceeded the account limit for pending invocations. The system has canceled the command before running it on any instance. This is a terminal state.

" }, "OutputS3Region":{ "shape":"S3Region", @@ -3018,11 +3173,11 @@ }, "MaxConcurrency":{ "shape":"MaxConcurrency", - "documentation":"

The maximum number of instances that are allowed to execute the command at the same time. You can specify a number of instances, such as 10, or a percentage of instances, such as 10%. The default value is 50. For more information about how to use MaxConcurrency, see Executing Commands Using Systems Manager Run Command in the AWS Systems Manager User Guide.

" + "documentation":"

The maximum number of instances that are allowed to run the command at the same time. You can specify a number of instances, such as 10, or a percentage of instances, such as 10%. The default value is 50. For more information about how to use MaxConcurrency, see Running Commands Using Systems Manager Run Command in the AWS Systems Manager User Guide.

" }, "MaxErrors":{ "shape":"MaxErrors", - "documentation":"

The maximum number of errors allowed before the system stops sending the command to additional targets. You can specify a number of errors, such as 10, or a percentage or errors, such as 10%. The default value is 0. For more information about how to use MaxErrors, see Executing Commands Using Systems Manager Run Command in the AWS Systems Manager User Guide.

" + "documentation":"

The maximum number of errors allowed before the system stops sending the command to additional targets. You can specify a number of errors, such as 10, or a percentage or errors, such as 10%. The default value is 0. For more information about how to use MaxErrors, see Running Commands Using Systems Manager Run Command in the AWS Systems Manager User Guide.

" }, "TargetCount":{ "shape":"TargetCount", @@ -3164,7 +3319,7 @@ "documentation":"

CloudWatch Logs information where you want Systems Manager to send the command output.

" } }, - "documentation":"

An invocation is copy of a command sent to a specific instance. A command can apply to one or more instances. A command invocation applies to one instance. For example, if a user executes SendCommand against three instances, then a command invocation is created for each requested instance ID. A command invocation returns status and detail information about a command you executed.

" + "documentation":"

An invocation is copy of a command sent to a specific instance. A command can apply to one or more instances. A command invocation applies to one instance. For example, if a user runs SendCommand against three instances, then a command invocation is created for each requested instance ID. A command invocation returns status and detail information about a command you ran.

" }, "CommandInvocationList":{ "type":"list", @@ -3201,7 +3356,7 @@ }, "Status":{ "shape":"CommandPluginStatus", - "documentation":"

The status of this plugin. You can execute a document with multiple plugins.

" + "documentation":"

The status of this plugin. You can run a document with multiple plugins.

" }, "StatusDetails":{ "shape":"StatusDetails", @@ -3209,15 +3364,15 @@ }, "ResponseCode":{ "shape":"ResponseCode", - "documentation":"

A numeric response code generated after executing the plugin.

" + "documentation":"

A numeric response code generated after running the plugin.

" }, "ResponseStartDateTime":{ "shape":"DateTime", - "documentation":"

The time the plugin started executing.

" + "documentation":"

The time the plugin started running.

" }, "ResponseFinishDateTime":{ "shape":"DateTime", - "documentation":"

The time the plugin stopped executing. Could stop prematurely if, for example, a cancel command was sent.

" + "documentation":"

The time the plugin stopped running. Could stop prematurely if, for example, a cancel command was sent.

" }, "Output":{ "shape":"CommandPluginOutput", @@ -3583,6 +3738,10 @@ "ExpirationDate":{ "shape":"ExpirationDate", "documentation":"

The date by which this activation request should expire. The default value is 24 hours.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag an activation to identify which servers or virtual machines (VMs) in your on-premises environment you intend to activate. In this case, you could specify the following key name/value pairs:

  • Key=OS,Value=Windows

  • Key=Environment,Value=Production

When you install SSM Agent on your on-premises servers and VMs, you specify an activation ID and code. When you specify the activation ID and code, tags assigned to the activation are automatically applied to the on-premises servers or VMs.

You can't add tags to or delete tags from an existing activation. You can tag your on-premises servers and VMs after they connect to Systems Manager for the first time and are assigned a managed instance ID. This means they are listed in the AWS Systems Manager console with an ID that is prefixed with \"mi-\". For information about how to add tags to your managed instances, see AddTagsToResource. For information about how to remove tags from your managed instances, see RemoveTagsFromResource.

" } } }, @@ -3619,8 +3778,8 @@ "required":["Name"], "members":{ "Name":{ - "shape":"DocumentName", - "documentation":"

The name of the configuration document.

" + "shape":"DocumentARN", + "documentation":"

The name of the SSM document that contains the configuration information for the instance. You can specify Command or Automation documents.

You can specify AWS-predefined documents, documents you created, or a document that is shared with you from another account.

For SSM documents that are shared with you from other AWS accounts, you must specify the complete SSM document ARN, in the following format:

arn:aws:ssm:region:account-id:document/document-name

For example:

arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document

For AWS-predefined documents and SSM documents you created in your account, you only need to specify the document name. For example, AWS-ApplyPatchBaseline or My-Document.

" }, "InstanceId":{ "shape":"InstanceId", @@ -3630,6 +3789,10 @@ "shape":"Parameters", "documentation":"

A description of the parameters for a document.

" }, + "AutomationTargetParameterName":{ + "shape":"AutomationTargetParameterName", + "documentation":"

Specify the target for the association. This target is required for associations that use an Automation document and target resources by using rate controls.

" + }, "DocumentVersion":{ "shape":"DocumentVersion", "documentation":"

The document version.

" @@ -3656,7 +3819,7 @@ }, "MaxConcurrency":{ "shape":"MaxConcurrency", - "documentation":"

The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.

If a new instance starts and attempts to execute an association while Systems Manager is executing MaxConcurrency associations, the association is allowed to run. During the next association interval, the new instance will process its association within the limit specified for MaxConcurrency.

" + "documentation":"

The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.

If a new instance starts and attempts to run an association while Systems Manager is running MaxConcurrency associations, the association is allowed to run. During the next association interval, the new instance will process its association within the limit specified for MaxConcurrency.

" }, "ComplianceSeverity":{ "shape":"AssociationComplianceSeverity", @@ -3683,8 +3846,8 @@ "required":["Name"], "members":{ "Name":{ - "shape":"DocumentName", - "documentation":"

The name of the Systems Manager document.

" + "shape":"DocumentARN", + "documentation":"

The name of the SSM document that contains the configuration information for the instance. You can specify Command or Automation documents.

You can specify AWS-predefined documents, documents you created, or a document that is shared with you from another account.

For SSM documents that are shared with you from other AWS accounts, you must specify the complete SSM document ARN, in the following format:

arn:partition:ssm:region:account-id:document/document-name

For example:

arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document

For AWS-predefined documents and SSM documents you created in your account, you only need to specify the document name. For example, AWS-ApplyPatchBaseline or My-Document.

" }, "DocumentVersion":{ "shape":"DocumentVersion", @@ -3696,7 +3859,7 @@ }, "Parameters":{ "shape":"Parameters", - "documentation":"

The parameters for the documents runtime configuration.

" + "documentation":"

The parameters for the runtime configuration of the document.

" }, "Targets":{ "shape":"Targets", @@ -3714,13 +3877,17 @@ "shape":"AssociationName", "documentation":"

Specify a descriptive name for the association.

" }, + "AutomationTargetParameterName":{ + "shape":"AutomationTargetParameterName", + "documentation":"

Specify the target for the association. This target is required for associations that use an Automation document and target resources by using rate controls.

" + }, "MaxErrors":{ "shape":"MaxErrors", "documentation":"

The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 instances and set MaxError to 10%, then the system stops sending the request when the sixth error is received.

Executions that are already running an association when MaxErrors is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set MaxConcurrency to 1 so that executions proceed one at a time.

" }, "MaxConcurrency":{ "shape":"MaxConcurrency", - "documentation":"

The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.

If a new instance starts and attempts to execute an association while Systems Manager is executing MaxConcurrency associations, the association is allowed to run. During the next association interval, the new instance will process its association within the limit specified for MaxConcurrency.

" + "documentation":"

The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.

If a new instance starts and attempts to run an association while Systems Manager is running MaxConcurrency associations, the association is allowed to run. During the next association interval, the new instance will process its association within the limit specified for MaxConcurrency.

" }, "ComplianceSeverity":{ "shape":"AssociationComplianceSeverity", @@ -3771,6 +3938,10 @@ "TargetType":{ "shape":"TargetType", "documentation":"

Specify a target type to define the kinds of resources the document can run on. For example, to run a document on EC2 instances, specify the following value: /AWS::EC2::Instance. If you specify a value of '/' the document can run on all types of resources. If you don't specify a value, the document can't run on any resources. For a list of valid resource types, see AWS Resource Types Reference in the AWS CloudFormation User Guide.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag an SSM document to identify the types of targets or the environment where it will run. In this case, you could specify the following key name/value pairs:

  • Key=OS,Value=Windows

  • Key=Environment,Value=Production

To add tags to an existing SSM document, use the AddTagsToResource action.

" } } }, @@ -3795,44 +3966,48 @@ "members":{ "Name":{ "shape":"MaintenanceWindowName", - "documentation":"

The name of the Maintenance Window.

" + "documentation":"

The name of the maintenance window.

" }, "Description":{ "shape":"MaintenanceWindowDescription", - "documentation":"

An optional description for the Maintenance Window. We recommend specifying a description to help you organize your Maintenance Windows.

" + "documentation":"

An optional description for the maintenance window. We recommend specifying a description to help you organize your maintenance windows.

" }, "StartDate":{ "shape":"MaintenanceWindowStringDateTime", - "documentation":"

The date and time, in ISO-8601 Extended format, for when you want the Maintenance Window to become active. StartDate allows you to delay activation of the Maintenance Window until the specified future date.

" + "documentation":"

The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become active. StartDate allows you to delay activation of the maintenance window until the specified future date.

" }, "EndDate":{ "shape":"MaintenanceWindowStringDateTime", - "documentation":"

The date and time, in ISO-8601 Extended format, for when you want the Maintenance Window to become inactive. EndDate allows you to set a date and time in the future when the Maintenance Window will no longer run.

" + "documentation":"

The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become inactive. EndDate allows you to set a date and time in the future when the maintenance window will no longer run.

" }, "Schedule":{ "shape":"MaintenanceWindowSchedule", - "documentation":"

The schedule of the Maintenance Window in the form of a cron or rate expression.

" + "documentation":"

The schedule of the maintenance window in the form of a cron or rate expression.

" }, "ScheduleTimezone":{ "shape":"MaintenanceWindowTimezone", - "documentation":"

The time zone that the scheduled Maintenance Window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"etc/UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

" + "documentation":"

The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"etc/UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

" }, "Duration":{ "shape":"MaintenanceWindowDurationHours", - "documentation":"

The duration of the Maintenance Window in hours.

" + "documentation":"

The duration of the maintenance window in hours.

" }, "Cutoff":{ "shape":"MaintenanceWindowCutoff", - "documentation":"

The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution.

" + "documentation":"

The number of hours before the end of the maintenance window that Systems Manager stops scheduling new tasks for execution.

" }, "AllowUnassociatedTargets":{ "shape":"MaintenanceWindowAllowUnassociatedTargets", - "documentation":"

Enables a Maintenance Window task to execute on managed instances, even if you have not registered those instances as targets. If enabled, then you must specify the unregistered instances (by instance ID) when you register a task with the Maintenance Window

If you don't enable this option, then you must specify previously-registered targets when you register a task with the Maintenance Window.

" + "documentation":"

Enables a maintenance window task to run on managed instances, even if you have not registered those instances as targets. If enabled, then you must specify the unregistered instances (by instance ID) when you register a task with the maintenance window.

If you don't enable this option, then you must specify previously-registered targets when you register a task with the maintenance window.

" }, "ClientToken":{ "shape":"ClientToken", "documentation":"

User-provided idempotency token.

", "idempotencyToken":true + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a maintenance window to identify the type of tasks it will run, the types of targets, and the environment it will run in. In this case, you could specify the following key name/value pairs:

  • Key=TaskType,Value=AgentUpdate

  • Key=OS,Value=Windows

  • Key=Environment,Value=Production

To add tags to an existing maintenance window, use the AddTagsToResource action.

" } } }, @@ -3841,7 +4016,58 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The ID of the created Maintenance Window.

" + "documentation":"

The ID of the created maintenance window.

" + } + } + }, + "CreateOpsItemRequest":{ + "type":"structure", + "required":[ + "Description", + "Source", + "Title" + ], + "members":{ + "Description":{ + "shape":"OpsItemDescription", + "documentation":"

Information about the OpsItem.

" + }, + "OperationalData":{ + "shape":"OpsItemOperationalData", + "documentation":"

Operational data is custom data that provides useful reference details about the OpsItem. For example, you can specify log files, error strings, license keys, troubleshooting tips, or other relevant data. You enter operational data as key-value pairs. The key has a maximum length of 128 characters. The value has a maximum size of 20 KB.

This custom data is searchable, but with restrictions. For the Searchable operational data feature, all users with access to the OpsItem Overview page (as provided by the DescribeOpsItems API action) can view and search on the specified data. For the Private operational data feature, the data is only viewable by users who have access to the OpsItem (as provided by the GetOpsItem API action).

" + }, + "Notifications":{ + "shape":"OpsItemNotifications", + "documentation":"

The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this OpsItem is edited or changed.

" + }, + "Priority":{ + "shape":"OpsItemPriority", + "documentation":"

The importance of this OpsItem in relation to other OpsItems in the system.

" + }, + "RelatedOpsItems":{ + "shape":"RelatedOpsItems", + "documentation":"

One or more OpsItems that share something in common with the current OpsItems. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.

" + }, + "Source":{ + "shape":"OpsItemSource", + "documentation":"

The origin of the OpsItem, such as Amazon EC2 or AWS Systems Manager.

" + }, + "Title":{ + "shape":"OpsItemTitle", + "documentation":"

A short heading that describes the nature of the OpsItem and the impacted resource.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag an OpsItem to identify the AWS resource or the type of issue. In this case, you could specify the following key name/value pairs:

  • Key=source,Value=EC2-instance

  • Key=status,Value=stopped

To add tags to an existing OpsItem, use the AddTagsToResource action.

" + } + } + }, + "CreateOpsItemResponse":{ + "type":"structure", + "members":{ + "OpsItemId":{ + "shape":"String", + "documentation":"

The ID of the OpsItem.

" } } }, @@ -3859,7 +4085,7 @@ }, "GlobalFilters":{ "shape":"PatchFilterGroup", - "documentation":"

A set of global filters used to exclude patches from the baseline.

" + "documentation":"

A set of global filters used to include patches in the baseline.

" }, "ApprovalRules":{ "shape":"PatchRuleGroup", @@ -3867,7 +4093,7 @@ }, "ApprovedPatches":{ "shape":"PatchIdList", - "documentation":"

A list of explicitly approved patches for the baseline.

For information about accepted formats for lists of approved patches and rejected patches, see Package Name Formats for Approved and Rejected Patch Lists in the AWS Systems Manager User Guide.

" + "documentation":"

A list of explicitly approved patches for the baseline.

For information about accepted formats for lists of approved patches and rejected patches, see Package Name Formats for Approved and Rejected Patch Lists in the AWS Systems Manager User Guide.

" }, "ApprovedPatchesComplianceLevel":{ "shape":"PatchComplianceLevel", @@ -3880,7 +4106,7 @@ }, "RejectedPatches":{ "shape":"PatchIdList", - "documentation":"

A list of explicitly rejected patches for the baseline.

For information about accepted formats for lists of approved patches and rejected patches, see Package Name Formats for Approved and Rejected Patch Lists in the AWS Systems Manager User Guide.

" + "documentation":"

A list of explicitly rejected patches for the baseline.

For information about accepted formats for lists of approved patches and rejected patches, see Package Name Formats for Approved and Rejected Patch Lists in the AWS Systems Manager User Guide.

" }, "RejectedPatchesAction":{ "shape":"PatchAction", @@ -3898,6 +4124,10 @@ "shape":"ClientToken", "documentation":"

User-provided idempotency token.

", "idempotencyToken":true + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a patch baseline to identify the severity level of patches it specifies and the operating system family it applies to. In this case, you could specify the following key name/value pairs:

  • Key=PatchSeverity,Value=Critical

  • Key=OS,Value=Windows

To add tags to an existing patch baseline, use the AddTagsToResource action.

" } } }, @@ -3968,7 +4198,7 @@ "type":"structure", "members":{ "Name":{ - "shape":"DocumentName", + "shape":"DocumentARN", "documentation":"

The name of the Systems Manager document.

" }, "InstanceId":{ @@ -4011,7 +4241,7 @@ }, "SchemaDeleteOption":{ "shape":"InventorySchemaDeleteOption", - "documentation":"

Use the SchemaDeleteOption to delete a custom inventory type (schema). If you don't choose this option, the system only deletes existing inventory data associated with the custom inventory type. Choose one of the following options:

DisableSchema: If you choose this option, the system ignores all inventory data for the specified version, and any earlier versions. To enable this schema again, you must call the PutInventory action for a version greater than the disbled version.

DeleteSchema: This option deletes the specified custom type from the Inventory service. You can recreate the schema later, if you want.

" + "documentation":"

Use the SchemaDeleteOption to delete a custom inventory type (schema). If you don't choose this option, the system only deletes existing inventory data associated with the custom inventory type. Choose one of the following options:

DisableSchema: If you choose this option, the system ignores all inventory data for the specified version, and any earlier versions. To enable this schema again, you must call the PutInventory action for a version greater than the disabled version.

DeleteSchema: This option deletes the specified custom type from the Inventory service. You can recreate the schema later, if you want.

" }, "DryRun":{ "shape":"DryRun", @@ -4047,7 +4277,7 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window to delete.

" + "documentation":"

The ID of the maintenance window to delete.

" } } }, @@ -4056,7 +4286,7 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The ID of the deleted Maintenance Window.

" + "documentation":"

The ID of the deleted maintenance window.

" } } }, @@ -4187,7 +4417,7 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window the target should be removed from.

" + "documentation":"

The ID of the maintenance window the target should be removed from.

" }, "WindowTargetId":{ "shape":"MaintenanceWindowTargetId", @@ -4195,7 +4425,7 @@ }, "Safe":{ "shape":"Boolean", - "documentation":"

The system checks if the target is being referenced by a task. If the target is being referenced, the system returns an error and does not deregister the target from the Maintenance Window.

", + "documentation":"

The system checks if the target is being referenced by a task. If the target is being referenced, the system returns an error and does not deregister the target from the maintenance window.

", "box":true } } @@ -4205,7 +4435,7 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window the target was removed from.

" + "documentation":"

The ID of the maintenance window the target was removed from.

" }, "WindowTargetId":{ "shape":"MaintenanceWindowTargetId", @@ -4222,11 +4452,11 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window the task should be removed from.

" + "documentation":"

The ID of the maintenance window the task should be removed from.

" }, "WindowTaskId":{ "shape":"MaintenanceWindowTaskId", - "documentation":"

The ID of the task to remove from the Maintenance Window.

" + "documentation":"

The ID of the task to remove from the maintenance window.

" } } }, @@ -4235,11 +4465,11 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window the task was removed from.

" + "documentation":"

The ID of the maintenance window the task was removed from.

" }, "WindowTaskId":{ "shape":"MaintenanceWindowTaskId", - "documentation":"

The ID of the task removed from the Maintenance Window.

" + "documentation":"

The ID of the task removed from the maintenance window.

" } } }, @@ -4383,7 +4613,7 @@ "type":"structure", "members":{ "Name":{ - "shape":"DocumentName", + "shape":"DocumentARN", "documentation":"

The name of the Systems Manager document.

" }, "InstanceId":{ @@ -4396,7 +4626,7 @@ }, "AssociationVersion":{ "shape":"AssociationVersion", - "documentation":"

Specify the association version to retrieve. To view the latest version, either specify $LATEST for this parameter, or omit this parameter. To view a list of all associations for an instance, use ListInstanceAssociations. To get a list of versions for a specific association, use ListAssociationVersions.

" + "documentation":"

Specify the association version to retrieve. To view the latest version, either specify $LATEST for this parameter, or omit this parameter. To view a list of all associations for an instance, use ListAssociations. To get a list of versions for a specific association, use ListAssociationVersions.

" } } }, @@ -4840,11 +5070,11 @@ "members":{ "WindowExecutionId":{ "shape":"MaintenanceWindowExecutionId", - "documentation":"

The ID of the Maintenance Window execution the task is part of.

" + "documentation":"

The ID of the maintenance window execution the task is part of.

" }, "TaskId":{ "shape":"MaintenanceWindowExecutionTaskId", - "documentation":"

The ID of the specific task in the Maintenance Window task that should be retrieved.

" + "documentation":"

The ID of the specific task in the maintenance window task that should be retrieved.

" }, "Filters":{ "shape":"MaintenanceWindowFilterList", @@ -4880,7 +5110,7 @@ "members":{ "WindowExecutionId":{ "shape":"MaintenanceWindowExecutionId", - "documentation":"

The ID of the Maintenance Window execution whose task executions should be retrieved.

" + "documentation":"

The ID of the maintenance window execution whose task executions should be retrieved.

" }, "Filters":{ "shape":"MaintenanceWindowFilterList", @@ -4916,7 +5146,7 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window whose executions should be retrieved.

" + "documentation":"

The ID of the maintenance window whose executions should be retrieved.

" }, "Filters":{ "shape":"MaintenanceWindowFilterList", @@ -4938,7 +5168,7 @@ "members":{ "WindowExecutions":{ "shape":"MaintenanceWindowExecutionList", - "documentation":"

Information about the Maintenance Windows execution.

" + "documentation":"

Information about the maintenance window executions.

" }, "NextToken":{ "shape":"NextToken", @@ -4951,7 +5181,7 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window to retrieve information about.

" + "documentation":"

The ID of the maintenance window to retrieve information about.

" }, "Targets":{ "shape":"Targets", @@ -4963,7 +5193,7 @@ }, "Filters":{ "shape":"PatchOrchestratorFilterList", - "documentation":"

Filters used to limit the range of results. For example, you can limit Maintenance Window executions to only those scheduled before or after a certain date and time.

" + "documentation":"

Filters used to limit the range of results. For example, you can limit maintenance window executions to only those scheduled before or after a certain date and time.

" }, "MaxResults":{ "shape":"MaintenanceWindowSearchMaxResults", @@ -4981,7 +5211,7 @@ "members":{ "ScheduledWindowExecutions":{ "shape":"ScheduledWindowExecutionList", - "documentation":"

Information about Maintenance Window executions scheduled for the specified time range.

" + "documentation":"

Information about maintenance window executions scheduled for the specified time range.

" }, "NextToken":{ "shape":"NextToken", @@ -4995,7 +5225,7 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window whose targets should be retrieved.

" + "documentation":"

The ID of the maintenance window whose targets should be retrieved.

" }, "Filters":{ "shape":"MaintenanceWindowFilterList", @@ -5017,7 +5247,7 @@ "members":{ "Targets":{ "shape":"MaintenanceWindowTargetList", - "documentation":"

Information about the targets in the Maintenance Window.

" + "documentation":"

Information about the targets in the maintenance window.

" }, "NextToken":{ "shape":"NextToken", @@ -5031,7 +5261,7 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window whose tasks should be retrieved.

" + "documentation":"

The ID of the maintenance window whose tasks should be retrieved.

" }, "Filters":{ "shape":"MaintenanceWindowFilterList", @@ -5053,7 +5283,7 @@ "members":{ "Tasks":{ "shape":"MaintenanceWindowTaskList", - "documentation":"

Information about the tasks in the Maintenance Window.

" + "documentation":"

Information about the tasks in the maintenance window.

" }, "NextToken":{ "shape":"NextToken", @@ -5092,7 +5322,7 @@ "members":{ "WindowIdentities":{ "shape":"MaintenanceWindowsForTargetList", - "documentation":"

Information about the Maintenance Window targets and tasks an instance is associated with.

" + "documentation":"

Information about the maintenance window targets and tasks an instance is associated with.

" }, "NextToken":{ "shape":"NextToken", @@ -5105,7 +5335,7 @@ "members":{ "Filters":{ "shape":"MaintenanceWindowFilterList", - "documentation":"

Optional filters used to narrow down the scope of the returned Maintenance Windows. Supported filter keys are Name and Enabled.

" + "documentation":"

Optional filters used to narrow down the scope of the returned maintenance windows. Supported filter keys are Name and Enabled.

" }, "MaxResults":{ "shape":"MaintenanceWindowMaxResults", @@ -5123,7 +5353,7 @@ "members":{ "WindowIdentities":{ "shape":"MaintenanceWindowIdentityList", - "documentation":"

Information about the Maintenance Windows.

" + "documentation":"

Information about the maintenance windows.

" }, "NextToken":{ "shape":"NextToken", @@ -5131,6 +5361,36 @@ } } }, + "DescribeOpsItemsRequest":{ + "type":"structure", + "members":{ + "OpsItemFilters":{ + "shape":"OpsItemFilters", + "documentation":"

One or more filters to limit the reponse.

  • Key: CreatedTime

    Operations: GreaterThan, LessThan

  • Key: LastModifiedBy

    Operations: Contains, Equals

  • Key: LastModifiedTime

    Operations: GreaterThan, LessThan

  • Key: Priority

    Operations: Equals

  • Key: Source

    Operations: Contains, Equals

  • Key: Status

    Operations: Equals

  • Key: Title

    Operations: Contains

  • Key: OperationalData

    Operations: Equals

  • Key: OperationalDataKey

    Operations: Equals

  • Key: OperationalDataValue

    Operations: Equals, Contains

  • Key: OpsItemId

    Operations: Equals

  • Key: ResourceId

    Operations: Contains

  • Key: AutomationId

    Operations: Equals

" + }, + "MaxResults":{ + "shape":"OpsItemMaxResults", + "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

A token to start the list. Use this token to get the next set of results.

" + } + } + }, + "DescribeOpsItemsResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next set of items to return. Use this token to get the next set of results.

" + }, + "OpsItemSummaries":{ + "shape":"OpsItemSummaries", + "documentation":"

A list of OpsItems.

" + } + } + }, "DescribeParametersRequest":{ "type":"structure", "members":{ @@ -5238,6 +5498,11 @@ "InstancesWithNotApplicablePatches":{ "shape":"Integer", "documentation":"

The number of instances with patches that aren't applicable.

" + }, + "InstancesWithUnreportedNotApplicablePatches":{ + "shape":"Integer", + "documentation":"

The number of instances with NotApplicable patches beyond the supported limit, which are not reported by name to Systems Manager Inventory.

", + "box":true } } }, @@ -5272,6 +5537,49 @@ } } }, + "DescribePatchPropertiesRequest":{ + "type":"structure", + "required":[ + "OperatingSystem", + "Property" + ], + "members":{ + "OperatingSystem":{ + "shape":"OperatingSystem", + "documentation":"

The operating system type for which to list patches.

" + }, + "Property":{ + "shape":"PatchProperty", + "documentation":"

The patch property for which you want to view patch details.

" + }, + "PatchSet":{ + "shape":"PatchSet", + "documentation":"

Indicates whether to list patches for the Windows operating system or for Microsoft applications. Not applicable for Linux operating systems.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" + } + } + }, + "DescribePatchPropertiesResult":{ + "type":"structure", + "members":{ + "Properties":{ + "shape":"PatchPropertiesList", + "documentation":"

A list of the properties for patches matching the filter request parameters.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of items to return. (You use this token in the next call.)

" + } + } + }, "DescribeSessionsRequest":{ "type":"structure", "required":["State"], @@ -5604,7 +5912,7 @@ "documentation":"

If specified, the default values for the parameters. Parameters without a default value are required. Parameters with a default value are optional.

" } }, - "documentation":"

Parameters specified in a System Manager document that execute on the server when the command is run.

" + "documentation":"

Parameters specified in a System Manager document that run on the server when the command is run.

" }, "DocumentParameterDefaultValue":{"type":"string"}, "DocumentParameterDescrption":{"type":"string"}, @@ -5727,7 +6035,7 @@ "members":{ "Message":{"shape":"String"} }, - "documentation":"

Error returned when the ID specified for a resource, such as a Maintenance Window or Patch baseline, doesn't exist.

For information about resource limits in Systems Manager, see AWS Systems Manager Limits.

", + "documentation":"

Error returned when the ID specified for a resource, such as a maintenance window or Patch baseline, doesn't exist.

For information about resource limits in Systems Manager, see AWS Systems Manager Limits.

", "exception":true }, "DryRun":{"type":"boolean"}, @@ -5904,7 +6212,7 @@ }, "DocumentName":{ "shape":"DocumentName", - "documentation":"

The name of the document that was executed. For example, AWS-RunShellScript.

" + "documentation":"

The name of the document that was run. For example, AWS-RunShellScript.

" }, "DocumentVersion":{ "shape":"DocumentVersion", @@ -5916,11 +6224,11 @@ }, "ResponseCode":{ "shape":"ResponseCode", - "documentation":"

The error level response code for the plugin script. If the response code is -1, then the command has not started executing on the instance, or it was not received by the instance.

" + "documentation":"

The error level response code for the plugin script. If the response code is -1, then the command has not started running on the instance, or it was not received by the instance.

" }, "ExecutionStartDateTime":{ "shape":"StringDateTime", - "documentation":"

The date and time the plugin started executing. Date and time are written in ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The following sample AWS CLI command uses the InvokedBefore filter.

aws ssm list-commands --filters key=InvokedBefore,value=2017-06-07T00:00:00Z

If the plugin has not started to execute, the string is empty.

" + "documentation":"

The date and time the plugin started running. Date and time are written in ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The following sample AWS CLI command uses the InvokedBefore filter.

aws ssm list-commands --filters key=InvokedBefore,value=2017-06-07T00:00:00Z

If the plugin has not started to run, the string is empty.

" }, "ExecutionElapsedTime":{ "shape":"StringDateTime", @@ -5928,7 +6236,7 @@ }, "ExecutionEndDateTime":{ "shape":"StringDateTime", - "documentation":"

The date and time the plugin was finished executing. Date and time are written in ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The following sample AWS CLI command uses the InvokedAfter filter.

aws ssm list-commands --filters key=InvokedAfter,value=2017-06-07T00:00:00Z

If the plugin has not started to execute, the string is empty.

" + "documentation":"

The date and time the plugin was finished running. Date and time are written in ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The following sample AWS CLI command uses the InvokedAfter filter.

aws ssm list-commands --filters key=InvokedAfter,value=2017-06-07T00:00:00Z

If the plugin has not started to run, the string is empty.

" }, "Status":{ "shape":"CommandInvocationStatus", @@ -5936,11 +6244,11 @@ }, "StatusDetails":{ "shape":"StatusDetails", - "documentation":"

A detailed status of the command execution for an invocation. StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Understanding Command Statuses in the AWS Systems Manager User Guide. StatusDetails can be one of the following values:

  • Pending: The command has not been sent to the instance.

  • In Progress: The command has been sent to the instance but has not reached a terminal state.

  • Delayed: The system attempted to send the command to the target, but the target was not available. The instance might not be available because of network issues, the instance was stopped, etc. The system will try to deliver the command again.

  • Success: The command or plugin was executed successfully. This is a terminal state.

  • Delivery Timed Out: The command was not delivered to the instance before the delivery timeout expired. Delivery timeouts do not count against the parent command's MaxErrors limit, but they do contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

  • Execution Timed Out: The command started to execute on the instance, but the execution was not complete before the timeout expired. Execution timeouts count against the MaxErrors limit of the parent command. This is a terminal state.

  • Failed: The command wasn't executed successfully on the instance. For a plugin, this indicates that the result code was not zero. For a command invocation, this indicates that the result code for one or more plugins was not zero. Invocation failures count against the MaxErrors limit of the parent command. This is a terminal state.

  • Canceled: The command was terminated before it was completed. This is a terminal state.

  • Undeliverable: The command can't be delivered to the instance. The instance might not exist or might not be responding. Undeliverable invocations don't count against the parent command's MaxErrors limit and don't contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

  • Terminated: The parent command exceeded its MaxErrors limit and subsequent command invocations were canceled by the system. This is a terminal state.

" + "documentation":"

A detailed status of the command execution for an invocation. StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Understanding Command Statuses in the AWS Systems Manager User Guide. StatusDetails can be one of the following values:

  • Pending: The command has not been sent to the instance.

  • In Progress: The command has been sent to the instance but has not reached a terminal state.

  • Delayed: The system attempted to send the command to the target, but the target was not available. The instance might not be available because of network issues, the instance was stopped, etc. The system will try to deliver the command again.

  • Success: The command or plugin was run successfully. This is a terminal state.

  • Delivery Timed Out: The command was not delivered to the instance before the delivery timeout expired. Delivery timeouts do not count against the parent command's MaxErrors limit, but they do contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

  • Execution Timed Out: The command started to run on the instance, but the execution was not complete before the timeout expired. Execution timeouts count against the MaxErrors limit of the parent command. This is a terminal state.

  • Failed: The command wasn't run successfully on the instance. For a plugin, this indicates that the result code was not zero. For a command invocation, this indicates that the result code for one or more plugins was not zero. Invocation failures count against the MaxErrors limit of the parent command. This is a terminal state.

  • Canceled: The command was terminated before it was completed. This is a terminal state.

  • Undeliverable: The command can't be delivered to the instance. The instance might not exist or might not be responding. Undeliverable invocations don't count against the parent command's MaxErrors limit and don't contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

  • Terminated: The parent command exceeded its MaxErrors limit and subsequent command invocations were canceled by the system. This is a terminal state.

" }, "StandardOutputContent":{ "shape":"StandardOutputContent", - "documentation":"

The first 24,000 characters written by the plugin to stdout. If the command has not finished executing, if ExecutionStatus is neither Succeeded nor Failed, then this string is empty.

" + "documentation":"

The first 24,000 characters written by the plugin to stdout. If the command has not finished running, if ExecutionStatus is neither Succeeded nor Failed, then this string is empty.

" }, "StandardOutputUrl":{ "shape":"Url", @@ -5948,11 +6256,11 @@ }, "StandardErrorContent":{ "shape":"StandardErrorContent", - "documentation":"

The first 8,000 characters written by the plugin to stderr. If the command has not finished executing, then this string is empty.

" + "documentation":"

The first 8,000 characters written by the plugin to stderr. If the command has not finished running, then this string is empty.

" }, "StandardErrorUrl":{ "shape":"Url", - "documentation":"

The URL for the complete text written by the plugin to stderr. If the command has not finished executing, then this string is empty.

" + "documentation":"

The URL for the complete text written by the plugin to stderr. If the command has not finished running, then this string is empty.

" }, "CloudWatchOutputConfig":{ "shape":"CloudWatchOutputConfig", @@ -6196,7 +6504,7 @@ "members":{ "WindowExecutionId":{ "shape":"MaintenanceWindowExecutionId", - "documentation":"

The ID of the Maintenance Window execution that includes the task.

" + "documentation":"

The ID of the maintenance window execution that includes the task.

" } } }, @@ -6205,15 +6513,15 @@ "members":{ "WindowExecutionId":{ "shape":"MaintenanceWindowExecutionId", - "documentation":"

The ID of the Maintenance Window execution.

" + "documentation":"

The ID of the maintenance window execution.

" }, "TaskIds":{ "shape":"MaintenanceWindowExecutionTaskIdList", - "documentation":"

The ID of the task executions from the Maintenance Window execution.

" + "documentation":"

The ID of the task executions from the maintenance window execution.

" }, "Status":{ "shape":"MaintenanceWindowExecutionStatus", - "documentation":"

The status of the Maintenance Window execution.

" + "documentation":"

The status of the maintenance window execution.

" }, "StatusDetails":{ "shape":"MaintenanceWindowExecutionStatusDetails", @@ -6221,11 +6529,11 @@ }, "StartTime":{ "shape":"DateTime", - "documentation":"

The time the Maintenance Window started executing.

" + "documentation":"

The time the maintenance window started running.

" }, "EndTime":{ "shape":"DateTime", - "documentation":"

The time the Maintenance Window finished executing.

" + "documentation":"

The time the maintenance window finished running.

" } } }, @@ -6239,11 +6547,11 @@ "members":{ "WindowExecutionId":{ "shape":"MaintenanceWindowExecutionId", - "documentation":"

The ID of the Maintenance Window execution for which the task is a part.

" + "documentation":"

The ID of the maintenance window execution for which the task is a part.

" }, "TaskId":{ "shape":"MaintenanceWindowExecutionTaskId", - "documentation":"

The ID of the specific task in the Maintenance Window task that should be retrieved.

" + "documentation":"

The ID of the specific task in the maintenance window task that should be retrieved.

" }, "InvocationId":{ "shape":"MaintenanceWindowExecutionTaskInvocationId", @@ -6256,7 +6564,7 @@ "members":{ "WindowExecutionId":{ "shape":"MaintenanceWindowExecutionId", - "documentation":"

The Maintenance Window execution ID.

" + "documentation":"

The maintenance window execution ID.

" }, "TaskExecutionId":{ "shape":"MaintenanceWindowExecutionTaskId", @@ -6272,11 +6580,11 @@ }, "TaskType":{ "shape":"MaintenanceWindowTaskType", - "documentation":"

Retrieves the task type for a Maintenance Window. Task types include the following: LAMBDA, STEP_FUNCTION, AUTOMATION, RUN_COMMAND.

" + "documentation":"

Retrieves the task type for a maintenance window. Task types include the following: LAMBDA, STEP_FUNCTION, AUTOMATION, RUN_COMMAND.

" }, "Parameters":{ "shape":"MaintenanceWindowExecutionTaskInvocationParameters", - "documentation":"

The parameters used at the time that the task executed.

" + "documentation":"

The parameters used at the time that the task ran.

" }, "Status":{ "shape":"MaintenanceWindowExecutionStatus", @@ -6288,19 +6596,19 @@ }, "StartTime":{ "shape":"DateTime", - "documentation":"

The time that the task started executing on the target.

" + "documentation":"

The time that the task started running on the target.

" }, "EndTime":{ "shape":"DateTime", - "documentation":"

The time that the task finished executing on the target.

" + "documentation":"

The time that the task finished running on the target.

" }, "OwnerInformation":{ "shape":"OwnerInformation", - "documentation":"

User-provided value to be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.

" + "documentation":"

User-provided value to be included in any CloudWatch events raised while running tasks for these targets in this maintenance window.

" }, "WindowTargetId":{ "shape":"MaintenanceWindowTaskTargetId", - "documentation":"

The Maintenance Window target ID.

" + "documentation":"

The maintenance window target ID.

" } } }, @@ -6313,11 +6621,11 @@ "members":{ "WindowExecutionId":{ "shape":"MaintenanceWindowExecutionId", - "documentation":"

The ID of the Maintenance Window execution that includes the task.

" + "documentation":"

The ID of the maintenance window execution that includes the task.

" }, "TaskId":{ "shape":"MaintenanceWindowExecutionTaskId", - "documentation":"

The ID of the specific task execution in the Maintenance Window task that should be retrieved.

" + "documentation":"

The ID of the specific task execution in the maintenance window task that should be retrieved.

" } } }, @@ -6326,27 +6634,27 @@ "members":{ "WindowExecutionId":{ "shape":"MaintenanceWindowExecutionId", - "documentation":"

The ID of the Maintenance Window execution that includes the task.

" + "documentation":"

The ID of the maintenance window execution that includes the task.

" }, "TaskExecutionId":{ "shape":"MaintenanceWindowExecutionTaskId", - "documentation":"

The ID of the specific task execution in the Maintenance Window task that was retrieved.

" + "documentation":"

The ID of the specific task execution in the maintenance window task that was retrieved.

" }, "TaskArn":{ "shape":"MaintenanceWindowTaskArn", - "documentation":"

The ARN of the executed task.

" + "documentation":"

The ARN of the task that ran.

" }, "ServiceRole":{ "shape":"ServiceRole", - "documentation":"

The role that was assumed when executing the task.

" + "documentation":"

The role that was assumed when running the task.

" }, "Type":{ "shape":"MaintenanceWindowTaskType", - "documentation":"

The type of task executed.

" + "documentation":"

The type of task that was run.

" }, "TaskParameters":{ "shape":"MaintenanceWindowTaskParametersList", - "documentation":"

The parameters passed to the task when it was executed.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

The map has the following format:

Key: string, between 1 and 255 characters

Value: an array of strings, each string is between 1 and 255 characters

" + "documentation":"

The parameters passed to the task when it was run.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

The map has the following format:

Key: string, between 1 and 255 characters

Value: an array of strings, each string is between 1 and 255 characters

" }, "Priority":{ "shape":"MaintenanceWindowTaskPriority", @@ -6384,7 +6692,7 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The ID of the desired Maintenance Window.

" + "documentation":"

The ID of the maintenance window for which you want to retrieve information.

" } } }, @@ -6393,59 +6701,59 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The ID of the created Maintenance Window.

" + "documentation":"

The ID of the created maintenance window.

" }, "Name":{ "shape":"MaintenanceWindowName", - "documentation":"

The name of the Maintenance Window.

" + "documentation":"

The name of the maintenance window.

" }, "Description":{ "shape":"MaintenanceWindowDescription", - "documentation":"

The description of the Maintenance Window.

" + "documentation":"

The description of the maintenance window.

" }, "StartDate":{ "shape":"MaintenanceWindowStringDateTime", - "documentation":"

The date and time, in ISO-8601 Extended format, for when the Maintenance Window is scheduled to become active. The Maintenance Window will not run before this specified time.

" + "documentation":"

The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become active. The maintenance window will not run before this specified time.

" }, "EndDate":{ "shape":"MaintenanceWindowStringDateTime", - "documentation":"

The date and time, in ISO-8601 Extended format, for when the Maintenance Window is scheduled to become inactive. The Maintenance Window will not run after this specified time.

" + "documentation":"

The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become inactive. The maintenance window will not run after this specified time.

" }, "Schedule":{ "shape":"MaintenanceWindowSchedule", - "documentation":"

The schedule of the Maintenance Window in the form of a cron or rate expression.

" + "documentation":"

The schedule of the maintenance window in the form of a cron or rate expression.

" }, "ScheduleTimezone":{ "shape":"MaintenanceWindowTimezone", - "documentation":"

The time zone that the scheduled Maintenance Window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"etc/UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

" + "documentation":"

The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"etc/UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

" }, "NextExecutionTime":{ "shape":"MaintenanceWindowStringDateTime", - "documentation":"

The next time the Maintenance Window will actually run, taking into account any specified times for the Maintenance Window to become active or inactive.

" + "documentation":"

The next time the maintenance window will actually run, taking into account any specified times for the maintenance window to become active or inactive.

" }, "Duration":{ "shape":"MaintenanceWindowDurationHours", - "documentation":"

The duration of the Maintenance Window in hours.

" + "documentation":"

The duration of the maintenance window in hours.

" }, "Cutoff":{ "shape":"MaintenanceWindowCutoff", - "documentation":"

The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution.

" + "documentation":"

The number of hours before the end of the maintenance window that Systems Manager stops scheduling new tasks for execution.

" }, "AllowUnassociatedTargets":{ "shape":"MaintenanceWindowAllowUnassociatedTargets", - "documentation":"

Whether targets must be registered with the Maintenance Window before tasks can be defined for those targets.

" + "documentation":"

Whether targets must be registered with the maintenance window before tasks can be defined for those targets.

" }, "Enabled":{ "shape":"MaintenanceWindowEnabled", - "documentation":"

Whether the Maintenance Windows is enabled.

" + "documentation":"

Indicates whether the maintenance window is enabled.

" }, "CreatedDate":{ "shape":"DateTime", - "documentation":"

The date the Maintenance Window was created.

" + "documentation":"

The date the maintenance window was created.

" }, "ModifiedDate":{ "shape":"DateTime", - "documentation":"

The date the Maintenance Window was last modified.

" + "documentation":"

The date the maintenance window was last modified.

" } } }, @@ -6458,11 +6766,11 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The Maintenance Window ID that includes the task to retrieve.

" + "documentation":"

The maintenance window ID that includes the task to retrieve.

" }, "WindowTaskId":{ "shape":"MaintenanceWindowTaskId", - "documentation":"

The Maintenance Window task ID to retrieve.

" + "documentation":"

The maintenance window task ID to retrieve.

" } } }, @@ -6471,15 +6779,15 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The retrieved Maintenance Window ID.

" + "documentation":"

The retrieved maintenance window ID.

" }, "WindowTaskId":{ "shape":"MaintenanceWindowTaskId", - "documentation":"

The retrieved Maintenance Window task ID.

" + "documentation":"

The retrieved maintenance window task ID.

" }, "Targets":{ "shape":"Targets", - "documentation":"

The targets where the task should execute.

" + "documentation":"

The targets where the task should run.

" }, "TaskArn":{ "shape":"MaintenanceWindowTaskArn", @@ -6487,23 +6795,23 @@ }, "ServiceRoleArn":{ "shape":"ServiceRole", - "documentation":"

The IAM service role to assume during task execution.

" + "documentation":"

The ARN of the IAM service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for maintenance window Run Command tasks.

" }, "TaskType":{ "shape":"MaintenanceWindowTaskType", - "documentation":"

The type of task to execute.

" + "documentation":"

The type of task to run.

" }, "TaskParameters":{ "shape":"MaintenanceWindowTaskParameters", - "documentation":"

The parameters to pass to the task when it executes.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

" + "documentation":"

The parameters to pass to the task when it runs.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

" }, "TaskInvocationParameters":{ "shape":"MaintenanceWindowTaskInvocationParameters", - "documentation":"

The parameters to pass to the task when it executes.

" + "documentation":"

The parameters to pass to the task when it runs.

" }, "Priority":{ "shape":"MaintenanceWindowTaskPriority", - "documentation":"

The priority of the task when it executes. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.

" + "documentation":"

The priority of the task when it runs. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.

" }, "MaxConcurrency":{ "shape":"MaxConcurrency", @@ -6515,7 +6823,7 @@ }, "LoggingInfo":{ "shape":"LoggingInfo", - "documentation":"

The location in Amazon S3 where the task results are logged.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

" + "documentation":"

The location in Amazon S3 where the task results are logged.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

" }, "Name":{ "shape":"MaintenanceWindowName", @@ -6527,6 +6835,61 @@ } } }, + "GetOpsItemRequest":{ + "type":"structure", + "required":["OpsItemId"], + "members":{ + "OpsItemId":{ + "shape":"OpsItemId", + "documentation":"

The ID of the OpsItem that you want to get.

" + } + } + }, + "GetOpsItemResponse":{ + "type":"structure", + "members":{ + "OpsItem":{ + "shape":"OpsItem", + "documentation":"

The OpsItem.

" + } + } + }, + "GetOpsSummaryRequest":{ + "type":"structure", + "required":["Aggregators"], + "members":{ + "Filters":{ + "shape":"OpsFilterList", + "documentation":"

Optional filters used to scope down the returned OpsItems.

" + }, + "Aggregators":{ + "shape":"OpsAggregatorList", + "documentation":"

Optional aggregators that return counts of OpsItems based on one or more expressions.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A token to start the list. Use this token to get the next set of results.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", + "box":true + } + } + }, + "GetOpsSummaryResult":{ + "type":"structure", + "members":{ + "Entities":{ + "shape":"OpsEntityList", + "documentation":"

The list of aggregated and filtered OpsItems.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of items to return. Use this token to get the next set of results.

" + } + } + }, "GetParameterHistoryRequest":{ "type":"structure", "required":["Name"], @@ -6603,7 +6966,7 @@ }, "Recursive":{ "shape":"Boolean", - "documentation":"

Retrieve all parameters within a hierarchy.

If a user has access to a path, then the user can access all levels of that path. For example, if a user has permission to access path /a, then the user can also access /a/b. Even if a user has explicitly been denied access in IAM for parameter /a, they can still call the GetParametersByPath API action recursively and view /a/b.

", + "documentation":"

Retrieve all parameters within a hierarchy.

If a user has access to a path, then the user can access all levels of that path. For example, if a user has permission to access path /a, then the user can also access /a/b. Even if a user has explicitly been denied access in IAM for parameter /a/b, they can still call the GetParametersByPath API action recursively for /a and view /a/b.

", "box":true }, "ParameterFilters":{ @@ -6663,7 +7026,7 @@ }, "InvalidParameters":{ "shape":"ParameterNameList", - "documentation":"

A list of parameters that are not formatted correctly or do not run when executed.

" + "documentation":"

A list of parameters that are not formatted correctly or do not run during an execution.

" } } }, @@ -6774,6 +7137,27 @@ } } }, + "GetServiceSettingRequest":{ + "type":"structure", + "required":["SettingId"], + "members":{ + "SettingId":{ + "shape":"ServiceSettingId", + "documentation":"

The ID of the service setting to get.

" + } + }, + "documentation":"

The request body of the GetServiceSetting API action.

" + }, + "GetServiceSettingResult":{ + "type":"structure", + "members":{ + "ServiceSetting":{ + "shape":"ServiceSetting", + "documentation":"

The query result of the current service setting.

" + } + }, + "documentation":"

The query result body of the GetServiceSetting API action.

" + }, "HierarchyLevelLimitExceededException":{ "type":"structure", "members":{ @@ -6819,6 +7203,14 @@ "documentation":"

Error returned when an idempotent operation is retried and the parameters don't match the original call to the API with the same idempotency token.

", "exception":true }, + "IncompatiblePolicyException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

There is a conflict in the policies specified for this parameter. You can't, for example, specify two Expiration policies for a parameter. Review your policies, and try again.

", + "exception":true + }, "InstallOverrideList":{ "type":"string", "max":256, @@ -6903,12 +7295,12 @@ "documentation":"

The association ID.

" }, "Name":{ - "shape":"DocumentName", + "shape":"DocumentARN", "documentation":"

The name of the association.

" }, "DocumentVersion":{ "shape":"DocumentVersion", - "documentation":"

The association document verions.

" + "documentation":"

The association document versions.

" }, "AssociationVersion":{ "shape":"AssociationVersion", @@ -6920,7 +7312,7 @@ }, "ExecutionDate":{ "shape":"DateTime", - "documentation":"

The date the instance association executed.

" + "documentation":"

The date the instance association ran.

" }, "Status":{ "shape":"StatusName", @@ -7036,7 +7428,7 @@ }, "LastAssociationExecutionDate":{ "shape":"DateTime", - "documentation":"

The date the association was last executed.

" + "documentation":"

The date the association was last run.

" }, "LastSuccessfulAssociationExecutionDate":{ "shape":"DateTime", @@ -7182,9 +7574,14 @@ "shape":"PatchFailedCount", "documentation":"

The number of patches from the patch baseline that were attempted to be installed during the last patching operation, but failed to install.

" }, + "UnreportedNotApplicableCount":{ + "shape":"PatchUnreportedNotApplicableCount", + "documentation":"

The number of patches beyond the supported limit of NotApplicableCount that are not reported by name to Systems Manager Inventory.

", + "box":true + }, "NotApplicableCount":{ "shape":"PatchNotApplicableCount", - "documentation":"

The number of patches from the patch baseline that aren't applicable for the instance and hence aren't installed on the instance.

" + "documentation":"

The number of patches from the patch baseline that aren't applicable for the instance and therefore aren't installed on the instance. This number may be truncated if the list of patch names is very large. The number of patches beyond this limit are reported in UnreportedNotApplicableCount.

" }, "OperationStartTime":{ "shape":"DateTime", @@ -7370,7 +7767,7 @@ "members":{ "Message":{"shape":"String"} }, - "documentation":"

The ID specified for the delete operation does not exist or is not valide. Verify the ID and try again.

", + "documentation":"

The ID specified for the delete operation does not exist or is not valid. Verify the ID and try again.

", "exception":true }, "InvalidDocument":{ @@ -7571,7 +7968,23 @@ "documentation":"

The plugin name is not valid.

", "exception":true }, - "InvalidResourceId":{ + "InvalidPolicyAttributeException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

A policy attribute or its value is invalid.

", + "exception":true + }, + "InvalidPolicyTypeException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The policy type is not supported. Parameter Store supports the following policy types: Expiration, ExpirationNotification, and NoChangeNotification.

", + "exception":true + }, + "InvalidResourceId":{ "type":"structure", "members":{ }, @@ -7705,7 +8118,7 @@ }, "DeletionSummary":{ "shape":"InventoryDeletionSummary", - "documentation":"

Information about the delete operation. For more information about this summary, see Understanding the Delete Inventory Summary in the AWS Systems Manager User Guide.

" + "documentation":"

Information about the delete operation. For more information about this summary, see Understanding the Delete Inventory Summary in the AWS Systems Manager User Guide.

" }, "LastStatusUpdateTime":{ "shape":"InventoryDeletionLastStatusUpdateTime", @@ -8045,7 +8458,7 @@ "type":"structure", "members":{ }, - "documentation":"

The command ID and instance ID you specified did not match any invocations. Verify the command ID adn the instance ID and try again.

", + "documentation":"

The command ID and instance ID you specified did not match any invocations. Verify the command ID and the instance ID and try again.

", "exception":true }, "InvocationTraceOutput":{ @@ -8562,7 +8975,7 @@ "documentation":"

The region where the Amazon S3 bucket is located.

" } }, - "documentation":"

Information about an Amazon S3 bucket to write instance-level logs to.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

" + "documentation":"

Information about an Amazon S3 bucket to write instance-level logs to.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

" }, "Long":{"type":"long"}, "MaintenanceWindowAllowUnassociatedTargets":{"type":"boolean"}, @@ -8575,7 +8988,7 @@ }, "Parameters":{ "shape":"AutomationParameterMap", - "documentation":"

The parameters for the AUTOMATION task.

For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow and UpdateMaintenanceWindowTask.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

For AUTOMATION task types, Systems Manager ignores any values specified for these parameters.

" + "documentation":"

The parameters for the AUTOMATION task.

For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow and UpdateMaintenanceWindowTask.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

For AUTOMATION task types, Systems Manager ignores any values specified for these parameters.

" } }, "documentation":"

The parameters for an AUTOMATION task type.

" @@ -8602,11 +9015,11 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window.

" + "documentation":"

The ID of the maintenance window.

" }, "WindowExecutionId":{ "shape":"MaintenanceWindowExecutionId", - "documentation":"

The ID of the Maintenance Window execution.

" + "documentation":"

The ID of the maintenance window execution.

" }, "Status":{ "shape":"MaintenanceWindowExecutionStatus", @@ -8625,7 +9038,7 @@ "documentation":"

The time the execution finished.

" } }, - "documentation":"

Describes the information about an execution of a Maintenance Window.

" + "documentation":"

Describes the information about an execution of a maintenance window.

" }, "MaintenanceWindowExecutionId":{ "type":"string", @@ -8671,11 +9084,11 @@ "members":{ "WindowExecutionId":{ "shape":"MaintenanceWindowExecutionId", - "documentation":"

The ID of the Maintenance Window execution that ran the task.

" + "documentation":"

The ID of the maintenance window execution that ran the task.

" }, "TaskExecutionId":{ "shape":"MaintenanceWindowExecutionTaskId", - "documentation":"

The ID of the specific task execution in the Maintenance Window execution.

" + "documentation":"

The ID of the specific task execution in the maintenance window execution.

" }, "Status":{ "shape":"MaintenanceWindowExecutionStatus", @@ -8695,14 +9108,14 @@ }, "TaskArn":{ "shape":"MaintenanceWindowTaskArn", - "documentation":"

The ARN of the executed task.

" + "documentation":"

The ARN of the task that ran.

" }, "TaskType":{ "shape":"MaintenanceWindowTaskType", - "documentation":"

The type of executed task.

" + "documentation":"

The type of task that ran.

" } }, - "documentation":"

Information about a task execution performed as part of a Maintenance Window execution.

" + "documentation":"

Information about a task execution performed as part of a maintenance window execution.

" }, "MaintenanceWindowExecutionTaskIdentityList":{ "type":"list", @@ -8719,11 +9132,11 @@ "members":{ "WindowExecutionId":{ "shape":"MaintenanceWindowExecutionId", - "documentation":"

The ID of the Maintenance Window execution that ran the task.

" + "documentation":"

The ID of the maintenance window execution that ran the task.

" }, "TaskExecutionId":{ "shape":"MaintenanceWindowExecutionTaskId", - "documentation":"

The ID of the specific task execution in the Maintenance Window execution.

" + "documentation":"

The ID of the specific task execution in the maintenance window execution.

" }, "InvocationId":{ "shape":"MaintenanceWindowExecutionTaskInvocationId", @@ -8739,7 +9152,7 @@ }, "Parameters":{ "shape":"MaintenanceWindowExecutionTaskInvocationParameters", - "documentation":"

The parameters that were provided for the invocation when it was executed.

" + "documentation":"

The parameters that were provided for the invocation when it was run.

" }, "Status":{ "shape":"MaintenanceWindowExecutionStatus", @@ -8759,14 +9172,14 @@ }, "OwnerInformation":{ "shape":"OwnerInformation", - "documentation":"

User-provided value that was specified when the target was registered with the Maintenance Window. This was also included in any CloudWatch events raised during the task invocation.

" + "documentation":"

User-provided value that was specified when the target was registered with the maintenance window. This was also included in any CloudWatch events raised during the task invocation.

" }, "WindowTargetId":{ "shape":"MaintenanceWindowTaskTargetId", - "documentation":"

The ID of the target definition in this Maintenance Window the invocation was performed for.

" + "documentation":"

The ID of the target definition in this maintenance window the invocation was performed for.

" } }, - "documentation":"

Describes the information about a task invocation for a particular target as part of a task execution performed as part of a Maintenance Window execution.

" + "documentation":"

Describes the information about a task invocation for a particular target as part of a task execution performed as part of a maintenance window execution.

" }, "MaintenanceWindowExecutionTaskInvocationIdentityList":{ "type":"list", @@ -8821,64 +9234,64 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window.

" + "documentation":"

The ID of the maintenance window.

" }, "Name":{ "shape":"MaintenanceWindowName", - "documentation":"

The name of the Maintenance Window.

" + "documentation":"

The name of the maintenance window.

" }, "Description":{ "shape":"MaintenanceWindowDescription", - "documentation":"

A description of the Maintenance Window.

" + "documentation":"

A description of the maintenance window.

" }, "Enabled":{ "shape":"MaintenanceWindowEnabled", - "documentation":"

Whether the Maintenance Window is enabled.

" + "documentation":"

Indicates whether the maintenance window is enabled.

" }, "Duration":{ "shape":"MaintenanceWindowDurationHours", - "documentation":"

The duration of the Maintenance Window in hours.

" + "documentation":"

The duration of the maintenance window in hours.

" }, "Cutoff":{ "shape":"MaintenanceWindowCutoff", - "documentation":"

The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution.

" + "documentation":"

The number of hours before the end of the maintenance window that Systems Manager stops scheduling new tasks for execution.

" }, "Schedule":{ "shape":"MaintenanceWindowSchedule", - "documentation":"

The schedule of the Maintenance Window in the form of a cron or rate expression.

" + "documentation":"

The schedule of the maintenance window in the form of a cron or rate expression.

" }, "ScheduleTimezone":{ "shape":"MaintenanceWindowTimezone", - "documentation":"

The time zone that the scheduled Maintenance Window executions are based on, in Internet Assigned Numbers Authority (IANA) format.

" + "documentation":"

The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format.

" }, "EndDate":{ "shape":"MaintenanceWindowStringDateTime", - "documentation":"

The date and time, in ISO-8601 Extended format, for when the Maintenance Window is scheduled to become inactive.

" + "documentation":"

The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become inactive.

" }, "StartDate":{ "shape":"MaintenanceWindowStringDateTime", - "documentation":"

The date and time, in ISO-8601 Extended format, for when the Maintenance Window is scheduled to become active.

" + "documentation":"

The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become active.

" }, "NextExecutionTime":{ "shape":"MaintenanceWindowStringDateTime", - "documentation":"

The next time the Maintenance Window will actually run, taking into account any specified times for the Maintenance Window to become active or inactive.

" + "documentation":"

The next time the maintenance window will actually run, taking into account any specified times for the maintenance window to become active or inactive.

" } }, - "documentation":"

Information about the Maintenance Window.

" + "documentation":"

Information about the maintenance window.

" }, "MaintenanceWindowIdentityForTarget":{ "type":"structure", "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window.

" + "documentation":"

The ID of the maintenance window.

" }, "Name":{ "shape":"MaintenanceWindowName", - "documentation":"

The name of the Maintenance Window.

" + "documentation":"

The name of the maintenance window.

" } }, - "documentation":"

The Maintenance Window to which the specified target belongs.

" + "documentation":"

The maintenance window to which the specified target belongs.

" }, "MaintenanceWindowIdentityList":{ "type":"list", @@ -8905,7 +9318,7 @@ "documentation":"

JSON to provide to your Lambda function as input.

" } }, - "documentation":"

The parameters for a LAMBDA task type.

For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow and UpdateMaintenanceWindowTask.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

For Lambda tasks, Systems Manager ignores any values specified for TaskParameters and LoggingInfo.

" + "documentation":"

The parameters for a LAMBDA task type.

For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow and UpdateMaintenanceWindowTask.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

For Lambda tasks, Systems Manager ignores any values specified for TaskParameters and LoggingInfo.

" }, "MaintenanceWindowLambdaPayload":{ "type":"blob", @@ -8937,7 +9350,7 @@ "members":{ "Comment":{ "shape":"Comment", - "documentation":"

Information about the command(s) to execute.

" + "documentation":"

Information about the commands to run.

" }, "DocumentHash":{ "shape":"DocumentHash", @@ -8965,15 +9378,15 @@ }, "ServiceRoleArn":{ "shape":"ServiceRole", - "documentation":"

The IAM service role to assume during task execution.

" + "documentation":"

The ARN of the IAM service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for maintenance window Run Command tasks.

" }, "TimeoutSeconds":{ "shape":"TimeoutSeconds", - "documentation":"

If this time is reached and the command has not already started executing, it doesn't run.

", + "documentation":"

If this time is reached and the command has not already started running, it doesn't run.

", "box":true } }, - "documentation":"

The parameters for a RUN_COMMAND task type.

For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow and UpdateMaintenanceWindowTask.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

For Run Command tasks, Systems Manager uses specified values for TaskParameters and LoggingInfo only if no values are specified for TaskInvocationParameters.

" + "documentation":"

The parameters for a RUN_COMMAND task type.

For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow and UpdateMaintenanceWindowTask.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

For Run Command tasks, Systems Manager uses specified values for TaskParameters and LoggingInfo only if no values are specified for TaskInvocationParameters.

" }, "MaintenanceWindowSchedule":{ "type":"string", @@ -9006,7 +9419,7 @@ "documentation":"

The name of the STEP_FUNCTION task.

" } }, - "documentation":"

The parameters for a STEP_FUNCTION task.

For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow and UpdateMaintenanceWindowTask.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

For Step Functions tasks, Systems Manager ignores any values specified for TaskParameters and LoggingInfo.

" + "documentation":"

The parameters for a STEP_FUNCTION task.

For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow and UpdateMaintenanceWindowTask.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

For Step Functions tasks, Systems Manager ignores any values specified for TaskParameters and LoggingInfo.

" }, "MaintenanceWindowStringDateTime":{"type":"string"}, "MaintenanceWindowTarget":{ @@ -9014,7 +9427,7 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The Maintenance Window ID where the target is registered.

" + "documentation":"

The ID of the maintenance window to register the target with.

" }, "WindowTargetId":{ "shape":"MaintenanceWindowTargetId", @@ -9022,26 +9435,26 @@ }, "ResourceType":{ "shape":"MaintenanceWindowResourceType", - "documentation":"

The type of target.

" + "documentation":"

The type of target that is being registered with the maintenance window.

" }, "Targets":{ "shape":"Targets", - "documentation":"

The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>. Tags are specified using Key=<tag name>,Values=<tag value>.

" + "documentation":"

The targets, either instances or tags.

Specify instances using the following format:

Key=instanceids,Values=<instanceid1>,<instanceid2>

Tags are specified using the following format:

Key=<tag name>,Values=<tag value>.

" }, "OwnerInformation":{ "shape":"OwnerInformation", - "documentation":"

User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.

" + "documentation":"

A user-provided value that will be included in any CloudWatch events that are raised while running tasks for these targets in this maintenance window.

" }, "Name":{ "shape":"MaintenanceWindowName", - "documentation":"

The target name.

" + "documentation":"

The name for the maintenance window target.

" }, "Description":{ "shape":"MaintenanceWindowDescription", - "documentation":"

A description of the target.

" + "documentation":"

A description for the target.

" } }, - "documentation":"

The target registered with the Maintenance Window.

" + "documentation":"

The target registered with the maintenance window.

" }, "MaintenanceWindowTargetId":{ "type":"string", @@ -9058,7 +9471,7 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The Maintenance Window ID where the task is registered.

" + "documentation":"

The ID of the maintenance window where the task is registered.

" }, "WindowTaskId":{ "shape":"MaintenanceWindowTaskId", @@ -9078,23 +9491,23 @@ }, "TaskParameters":{ "shape":"MaintenanceWindowTaskParameters", - "documentation":"

The parameters that should be passed to the task when it is executed.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

" + "documentation":"

The parameters that should be passed to the task when it is run.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

" }, "Priority":{ "shape":"MaintenanceWindowTaskPriority", - "documentation":"

The priority of the task in the Maintenance Window. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.

" + "documentation":"

The priority of the task in the maintenance window. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.

" }, "LoggingInfo":{ "shape":"LoggingInfo", - "documentation":"

Information about an Amazon S3 bucket to write task-level logs to.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

" + "documentation":"

Information about an Amazon S3 bucket to write task-level logs to.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

" }, "ServiceRoleArn":{ "shape":"ServiceRole", - "documentation":"

The role that should be assumed when executing the task

" + "documentation":"

The ARN of the IAM service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for maintenance window Run Command tasks.

" }, "MaxConcurrency":{ "shape":"MaxConcurrency", - "documentation":"

The maximum number of targets this task can be run for in parallel.

" + "documentation":"

The maximum number of targets this task can be run for, in parallel.

" }, "MaxErrors":{ "shape":"MaxErrors", @@ -9109,7 +9522,7 @@ "documentation":"

A description of the task.

" } }, - "documentation":"

Information about a task defined for a Maintenance Window.

" + "documentation":"

Information about a task defined for a maintenance window.

" }, "MaintenanceWindowTaskArn":{ "type":"string", @@ -9298,11 +9711,11 @@ "members":{ "NotificationArn":{ "shape":"NotificationArn", - "documentation":"

An Amazon Resource Name (ARN) for a Simple Notification Service (SNS) topic. Run Command pushes notifications about command status changes to this topic.

" + "documentation":"

An Amazon Resource Name (ARN) for an Amazon Simple Notification Service (Amazon SNS) topic. Run Command pushes notifications about command status changes to this topic.

" }, "NotificationEvents":{ "shape":"NotificationEventList", - "documentation":"

The different events for which you can receive notifications. These events include the following: All (events), InProgress, Success, TimedOut, Cancelled, Failed. To learn more about these events, see Configuring Amazon SNS Notifications for Run Command in the AWS Systems Manager User Guide.

" + "documentation":"

The different events for which you can receive notifications. These events include the following: All (events), InProgress, Success, TimedOut, Cancelled, Failed. To learn more about these events, see Configuring Amazon SNS Notifications for AWS Systems Manager in the AWS Systems Manager User Guide.

" }, "NotificationType":{ "shape":"NotificationType", @@ -9345,6 +9758,470 @@ "CENTOS" ] }, + "OpsAggregator":{ + "type":"structure", + "members":{ + "AggregatorType":{ + "shape":"OpsAggregatorType", + "documentation":"

Either a Range or Count aggregator for limiting an OpsItem summary.

" + }, + "TypeName":{ + "shape":"OpsDataTypeName", + "documentation":"

The data type name to use for viewing counts of OpsItems.

" + }, + "AttributeName":{ + "shape":"OpsDataAttributeName", + "documentation":"

The name of an OpsItem attribute on which to limit the count of OpsItems.

" + }, + "Values":{ + "shape":"OpsAggregatorValueMap", + "documentation":"

The aggregator value.

" + }, + "Filters":{ + "shape":"OpsFilterList", + "documentation":"

The aggregator filters.

" + }, + "Aggregators":{ + "shape":"OpsAggregatorList", + "documentation":"

A nested aggregator for viewing counts of OpsItems.

" + } + }, + "documentation":"

One or more aggregators for viewing counts of OpsItems using different dimensions such as Source, CreatedTime, or Source and CreatedTime, to name a few.

" + }, + "OpsAggregatorList":{ + "type":"list", + "member":{"shape":"OpsAggregator"}, + "max":12, + "min":1 + }, + "OpsAggregatorType":{ + "type":"string", + "max":20, + "min":1, + "pattern":"^(range|count)" + }, + "OpsAggregatorValue":{ + "type":"string", + "max":512, + "min":0 + }, + "OpsAggregatorValueKey":{ + "type":"string", + "max":32, + "min":1 + }, + "OpsAggregatorValueMap":{ + "type":"map", + "key":{"shape":"OpsAggregatorValueKey"}, + "value":{"shape":"OpsAggregatorValue"}, + "max":5, + "min":0 + }, + "OpsDataAttributeName":{"type":"string"}, + "OpsDataTypeName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^(AWS|Custom):.*$" + }, + "OpsEntity":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"OpsEntityId", + "documentation":"

The query ID.

" + }, + "Data":{ + "shape":"OpsEntityItemMap", + "documentation":"

The data returned by the query.

" + } + }, + "documentation":"

The result of the query.

" + }, + "OpsEntityId":{"type":"string"}, + "OpsEntityItem":{ + "type":"structure", + "members":{ + "Content":{ + "shape":"OpsEntityItemEntryList", + "documentation":"

The detailed data content for an OpsItem summaries result item.

" + } + }, + "documentation":"

The OpsItem summaries result item.

" + }, + "OpsEntityItemEntry":{ + "type":"map", + "key":{"shape":"AttributeName"}, + "value":{"shape":"AttributeValue"}, + "max":50, + "min":0 + }, + "OpsEntityItemEntryList":{ + "type":"list", + "member":{"shape":"OpsEntityItemEntry"}, + "max":10000, + "min":0 + }, + "OpsEntityItemKey":{"type":"string"}, + "OpsEntityItemMap":{ + "type":"map", + "key":{"shape":"OpsEntityItemKey"}, + "value":{"shape":"OpsEntityItem"} + }, + "OpsEntityList":{ + "type":"list", + "member":{"shape":"OpsEntity"} + }, + "OpsFilter":{ + "type":"structure", + "required":[ + "Key", + "Values" + ], + "members":{ + "Key":{ + "shape":"OpsFilterKey", + "documentation":"

The name of the filter.

" + }, + "Values":{ + "shape":"OpsFilterValueList", + "documentation":"

The filter value.

" + }, + "Type":{ + "shape":"OpsFilterOperatorType", + "documentation":"

The type of filter.

" + } + }, + "documentation":"

A filter for viewing OpsItem summaries.

" + }, + "OpsFilterKey":{ + "type":"string", + "max":200, + "min":1 + }, + "OpsFilterList":{ + "type":"list", + "member":{"shape":"OpsFilter"}, + "max":5, + "min":1 + }, + "OpsFilterOperatorType":{ + "type":"string", + "enum":[ + "Equal", + "NotEqual", + "BeginWith", + "LessThan", + "GreaterThan", + "Exists" + ] + }, + "OpsFilterValue":{"type":"string"}, + "OpsFilterValueList":{ + "type":"list", + "member":{"shape":"OpsFilterValue"}, + "max":40, + "min":1 + }, + "OpsItem":{ + "type":"structure", + "members":{ + "CreatedBy":{ + "shape":"String", + "documentation":"

The ARN of the AWS account that created the OpsItem.

" + }, + "CreatedTime":{ + "shape":"DateTime", + "documentation":"

The date and time the OpsItem was created.

" + }, + "Description":{ + "shape":"OpsItemDescription", + "documentation":"

The OpsItem description.

" + }, + "LastModifiedBy":{ + "shape":"String", + "documentation":"

The ARN of the AWS account that last updated the OpsItem.

" + }, + "LastModifiedTime":{ + "shape":"DateTime", + "documentation":"

The date and time the OpsItem was last updated.

" + }, + "Notifications":{ + "shape":"OpsItemNotifications", + "documentation":"

The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this OpsItem is edited or changed.

" + }, + "Priority":{ + "shape":"OpsItemPriority", + "documentation":"

The importance of this OpsItem in relation to other OpsItems in the system.

" + }, + "RelatedOpsItems":{ + "shape":"RelatedOpsItems", + "documentation":"

One or more OpsItems that share something in common with the current OpsItems. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.

" + }, + "Status":{ + "shape":"OpsItemStatus", + "documentation":"

The OpsItem status. Status can be Open, In Progress, or Resolved. For more information, see Editing OpsItem Details in the AWS Systems Manager User Guide.

" + }, + "OpsItemId":{ + "shape":"OpsItemId", + "documentation":"

The ID of the OpsItem.

" + }, + "Version":{ + "shape":"String", + "documentation":"

The version of this OpsItem. Each time the OpsItem is edited the version number increments by one.

" + }, + "Title":{ + "shape":"OpsItemTitle", + "documentation":"

A short heading that describes the nature of the OpsItem and the impacted resource.

" + }, + "Source":{ + "shape":"OpsItemSource", + "documentation":"

The origin of the OpsItem, such as Amazon EC2 or AWS Systems Manager. The impacted resource is a subset of source.

" + }, + "OperationalData":{ + "shape":"OpsItemOperationalData", + "documentation":"

Operational data is custom data that provides useful reference details about the OpsItem. For example, you can specify log files, error strings, license keys, troubleshooting tips, or other relevant data. You enter operational data as key-value pairs. The key has a maximum length of 128 characters. The value has a maximum size of 20 KB.

This custom data is searchable, but with restrictions. For the Searchable operational data feature, all users with access to the OpsItem Overview page (as provided by the DescribeOpsItems API action) can view and search on the specified data. For the Private operational data feature, the data is only viewable by users who have access to the OpsItem (as provided by the GetOpsItem API action).

" + } + }, + "documentation":"

Operations engineers and IT professionals use the Systems Manager OpsItems capability to view, investigate, and remediate operational issues impacting the performance and health of their AWS resources. For more information, see AWS Systems Manager OpsItems in the AWS Systems Manager User Guide.

" + }, + "OpsItemAlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "OpsItemId":{"shape":"String"} + }, + "documentation":"

The OpsItem already exists.

", + "exception":true + }, + "OpsItemDataKey":{ + "type":"string", + "max":128, + "min":1 + }, + "OpsItemDataType":{ + "type":"string", + "enum":[ + "SearchableString", + "String" + ] + }, + "OpsItemDataValue":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"OpsItemDataValueString", + "documentation":"

The value of the OperationalData key.

" + }, + "Type":{ + "shape":"OpsItemDataType", + "documentation":"

The type of key-value pair. Valid types include SearchableString and String.

" + } + }, + "documentation":"

An object that defines the value of the key and its type in the OperationalData map.

" + }, + "OpsItemDataValueString":{"type":"string"}, + "OpsItemDescription":{ + "type":"string", + "max":1024, + "min":1 + }, + "OpsItemFilter":{ + "type":"structure", + "required":[ + "Key", + "Values", + "Operator" + ], + "members":{ + "Key":{ + "shape":"OpsItemFilterKey", + "documentation":"

The name of the filter.

" + }, + "Values":{ + "shape":"OpsItemFilterValues", + "documentation":"

The filter value.

" + }, + "Operator":{ + "shape":"OpsItemFilterOperator", + "documentation":"

The operator used by the filter call.

" + } + }, + "documentation":"

Describes an OpsCenter filter.

" + }, + "OpsItemFilterKey":{ + "type":"string", + "enum":[ + "Status", + "CreatedBy", + "Source", + "Priority", + "Title", + "OpsItemId", + "CreatedTime", + "LastModifiedTime", + "OperationalData", + "OperationalDataKey", + "OperationalDataValue", + "ResourceId", + "AutomationId" + ] + }, + "OpsItemFilterOperator":{ + "type":"string", + "enum":[ + "Equal", + "Contains", + "GreaterThan", + "LessThan" + ] + }, + "OpsItemFilterValue":{"type":"string"}, + "OpsItemFilterValues":{ + "type":"list", + "member":{"shape":"OpsItemFilterValue"} + }, + "OpsItemFilters":{ + "type":"list", + "member":{"shape":"OpsItemFilter"} + }, + "OpsItemId":{ + "type":"string", + "pattern":"^(oi)-[0-9a-f]{12}$" + }, + "OpsItemInvalidParameterException":{ + "type":"structure", + "members":{ + "ParameterNames":{"shape":"OpsItemParameterNamesList"}, + "Message":{"shape":"String"} + }, + "documentation":"

A specified parameter argument isn't valid. Verify the available arguments and try again.

", + "exception":true + }, + "OpsItemLimitExceededException":{ + "type":"structure", + "members":{ + "ResourceTypes":{"shape":"OpsItemParameterNamesList"}, + "Limit":{"shape":"Integer"}, + "LimitType":{"shape":"String"}, + "Message":{"shape":"String"} + }, + "documentation":"

The request caused OpsItems to exceed one or more limits. For information about OpsItem limits, see What are the resource limits for OpsItems?.

", + "exception":true + }, + "OpsItemMaxResults":{ + "type":"integer", + "max":50, + "min":1 + }, + "OpsItemNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The specified OpsItem ID doesn't exist. Verify the ID and try again.

", + "exception":true + }, + "OpsItemNotification":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this OpsItem is edited or changed.

" + } + }, + "documentation":"

A notification about the OpsItem.

" + }, + "OpsItemNotifications":{ + "type":"list", + "member":{"shape":"OpsItemNotification"} + }, + "OpsItemOperationalData":{ + "type":"map", + "key":{"shape":"OpsItemDataKey"}, + "value":{"shape":"OpsItemDataValue"} + }, + "OpsItemOpsDataKeysList":{ + "type":"list", + "member":{"shape":"String"} + }, + "OpsItemParameterNamesList":{ + "type":"list", + "member":{"shape":"String"} + }, + "OpsItemPriority":{ + "type":"integer", + "max":5, + "min":1 + }, + "OpsItemSource":{ + "type":"string", + "max":64, + "min":1 + }, + "OpsItemStatus":{ + "type":"string", + "enum":[ + "Open", + "InProgress", + "Resolved" + ] + }, + "OpsItemSummaries":{ + "type":"list", + "member":{"shape":"OpsItemSummary"} + }, + "OpsItemSummary":{ + "type":"structure", + "members":{ + "CreatedBy":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the IAM entity that created the OpsItem.

" + }, + "CreatedTime":{ + "shape":"DateTime", + "documentation":"

The date and time the OpsItem was created.

" + }, + "LastModifiedBy":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the IAM entity that created the OpsItem.

" + }, + "LastModifiedTime":{ + "shape":"DateTime", + "documentation":"

The date and time the OpsItem was last updated.

" + }, + "Priority":{ + "shape":"OpsItemPriority", + "documentation":"

The importance of this OpsItem in relation to other OpsItems in the system.

" + }, + "Source":{ + "shape":"OpsItemSource", + "documentation":"

The impacted AWS resource.

" + }, + "Status":{ + "shape":"OpsItemStatus", + "documentation":"

The OpsItem status. Status can be Open, In Progress, or Resolved.

" + }, + "OpsItemId":{ + "shape":"OpsItemId", + "documentation":"

The ID of the OpsItem.

" + }, + "Title":{ + "shape":"OpsItemTitle", + "documentation":"

A short heading that describes the nature of the OpsItem and the impacted resource.

" + }, + "OperationalData":{ + "shape":"OpsItemOperationalData", + "documentation":"

Operational data is custom data that provides useful reference details about the OpsItem. For example, you can specify log files, error strings, license keys, troubleshooting tips, or other relevant data. You enter operational data as key-value pairs. The key has a maximum length of 128 characters. The value has a maximum size of 20 KB.

This custom data is searchable, but with restrictions. For the Searchable operational data feature, all users with access to the OpsItem Overview page (as provided by the DescribeOpsItems API action) can view and search on the specified data. For the Private operational data feature, the data is only viewable by users who have access to the OpsItem (as provided by the GetOpsItem API action).

" + } + }, + "documentation":"

A count of OpsItems.

" + }, + "OpsItemTitle":{ + "type":"string", + "max":1024, + "min":1 + }, "OutputSource":{ "type":"structure", "members":{ @@ -9381,11 +10258,7 @@ "max":128, "min":0 }, - "PSParameterValue":{ - "type":"string", - "max":4096, - "min":1 - }, + "PSParameterValue":{"type":"string"}, "PSParameterVersion":{"type":"long"}, "Parameter":{ "type":"structure", @@ -9480,6 +10353,14 @@ "Labels":{ "shape":"ParameterLabelList", "documentation":"

Labels assigned to the parameter version.

" + }, + "Tier":{ + "shape":"ParameterTier", + "documentation":"

The parameter tier.

" + }, + "Policies":{ + "shape":"ParameterPolicyList", + "documentation":"

Information about the policies assigned to a parameter.

Working with Parameter Policies in the AWS Systems Manager User Guide.

" } }, "documentation":"

Information about parameter usage.

" @@ -9488,6 +10369,24 @@ "type":"list", "member":{"shape":"ParameterHistory"} }, + "ParameterInlinePolicy":{ + "type":"structure", + "members":{ + "PolicyText":{ + "shape":"String", + "documentation":"

The JSON text of the policy.

" + }, + "PolicyType":{ + "shape":"String", + "documentation":"

The type of policy. Parameter Store supports the following policy types: Expiration, ExpirationNotification, and NoChangeNotification.

" + }, + "PolicyStatus":{ + "shape":"String", + "documentation":"

The status of the policy. Policies report the following statuses: Pending (the policy has not been enforced or applied yet), Finished (the policy was applied), Failed (the policy was not applied), or InProgress (the policy is being applied now).

" + } + }, + "documentation":"

One or more policies assigned to a parameter.

" + }, "ParameterKeyId":{ "type":"string", "max":256, @@ -9559,9 +10458,17 @@ "Version":{ "shape":"PSParameterVersion", "documentation":"

The parameter version.

" + }, + "Tier":{ + "shape":"ParameterTier", + "documentation":"

The parameter tier.

" + }, + "Policies":{ + "shape":"ParameterPolicyList", + "documentation":"

A list of policies associated with a parameter.

" } }, - "documentation":"

Metada includes information like the ARN of the last user and the date/time the parameter was last used.

" + "documentation":"

Metadata includes information like the ARN of the last user and the date/time the parameter was last used.

" }, "ParameterMetadataList":{ "type":"list", @@ -9593,6 +10500,15 @@ "documentation":"

The parameter name is not valid.

", "exception":true }, + "ParameterPolicies":{ + "type":"string", + "max":4096, + "min":1 + }, + "ParameterPolicyList":{ + "type":"list", + "member":{"shape":"ParameterInlinePolicy"} + }, "ParameterStringFilter":{ "type":"structure", "required":["Key"], @@ -9610,13 +10526,13 @@ "documentation":"

The value you want to search for.

" } }, - "documentation":"

One or more filters. Use a filter to return a more specific list of results.

The Name field can't be used with the GetParametersByPath API action.

" + "documentation":"

One or more filters. Use a filter to return a more specific list of results.

The Name and Tier filter keys can't be used with the GetParametersByPath API action. Also, the Label filter key can't be used with the DescribeParameters API action.

" }, "ParameterStringFilterKey":{ "type":"string", "max":132, "min":1, - "pattern":"tag:.+|Name|Type|KeyId|Path|Label" + "pattern":"tag:.+|Name|Type|KeyId|Path|Label|Tier" }, "ParameterStringFilterList":{ "type":"list", @@ -9638,6 +10554,13 @@ "max":10, "min":1 }, + "ParameterTier":{ + "type":"string", + "enum":[ + "Standard", + "Advanced" + ] + }, "ParameterType":{ "type":"string", "enum":[ @@ -9904,14 +10827,14 @@ "members":{ "Key":{ "shape":"PatchFilterKey", - "documentation":"

The key for the filter.

See PatchFilter for lists of valid keys for each operating system type.

" + "documentation":"

The key for the filter.

Run the DescribePatchProperties command to view lists of valid keys for each operating system type.

" }, "Values":{ "shape":"PatchFilterValueList", - "documentation":"

The value for the filter key.

See PatchFilter for lists of valid values for each key based on operating system type.

" + "documentation":"

The value for the filter key.

Run the DescribePatchProperties command to view lists of valid values for each key based on operating system type.

" } }, - "documentation":"

Defines a patch filter.

A patch filter consists of key/value pairs, but not all keys are valid for all operating system types. For example, the key PRODUCT is valid for all supported operating system types. The key MSRC_SEVERITY, however, is valid only for Windows operating systems, and the key SECTION is valid only for Ubuntu operating systems.

Refer to the following sections for information about which keys may be used with each major operating system, and which values are valid for each key.

Windows Operating Systems

The supported keys for Windows operating systems are PRODUCT, CLASSIFICATION, and MSRC_SEVERITY. See the following lists for valid values for each of these keys.

Supported key: PRODUCT

Supported values:

  • Windows7

  • Windows8

  • Windows8.1

  • Windows8Embedded

  • Windows10

  • Windows10LTSB

  • WindowsServer2008

  • WindowsServer2008R2

  • WindowsServer2012

  • WindowsServer2012R2

  • WindowsServer2016

  • *

    Use a wildcard character (*) to target all supported operating system versions.

Supported key: CLASSIFICATION

Supported values:

  • CriticalUpdates

  • DefinitionUpdates

  • Drivers

  • FeaturePacks

  • SecurityUpdates

  • ServicePacks

  • Tools

  • UpdateRollups

  • Updates

  • Upgrades

Supported key: MSRC_SEVERITY

Supported values:

  • Critical

  • Important

  • Moderate

  • Low

  • Unspecified

Ubuntu Operating Systems

The supported keys for Ubuntu operating systems are PRODUCT, PRIORITY, and SECTION. See the following lists for valid values for each of these keys.

Supported key: PRODUCT

Supported values:

  • Ubuntu14.04

  • Ubuntu16.04

  • *

    Use a wildcard character (*) to target all supported operating system versions.

Supported key: PRIORITY

Supported values:

  • Required

  • Important

  • Standard

  • Optional

  • Extra

Supported key: SECTION

Only the length of the key value is validated. Minimum length is 1. Maximum length is 64.

Amazon Linux Operating Systems

The supported keys for Amazon Linux operating systems are PRODUCT, CLASSIFICATION, and SEVERITY. See the following lists for valid values for each of these keys.

Supported key: PRODUCT

Supported values:

  • AmazonLinux2012.03

  • AmazonLinux2012.09

  • AmazonLinux2013.03

  • AmazonLinux2013.09

  • AmazonLinux2014.03

  • AmazonLinux2014.09

  • AmazonLinux2015.03

  • AmazonLinux2015.09

  • AmazonLinux2016.03

  • AmazonLinux2016.09

  • AmazonLinux2017.03

  • AmazonLinux2017.09

  • *

    Use a wildcard character (*) to target all supported operating system versions.

Supported key: CLASSIFICATION

Supported values:

  • Security

  • Bugfix

  • Enhancement

  • Recommended

  • Newpackage

Supported key: SEVERITY

Supported values:

  • Critical

  • Important

  • Medium

  • Low

Amazon Linux 2 Operating Systems

The supported keys for Amazon Linux 2 operating systems are PRODUCT, CLASSIFICATION, and SEVERITY. See the following lists for valid values for each of these keys.

Supported key: PRODUCT

Supported values:

  • AmazonLinux2

  • AmazonLinux2.0

  • *

    Use a wildcard character (*) to target all supported operating system versions.

Supported key: CLASSIFICATION

Supported values:

  • Security

  • Bugfix

  • Enhancement

  • Recommended

  • Newpackage

Supported key: SEVERITY

Supported values:

  • Critical

  • Important

  • Medium

  • Low

RedHat Enterprise Linux (RHEL) Operating Systems

The supported keys for RedHat Enterprise Linux operating systems are PRODUCT, CLASSIFICATION, and SEVERITY. See the following lists for valid values for each of these keys.

Supported key: PRODUCT

Supported values:

  • RedhatEnterpriseLinux6.5

  • RedhatEnterpriseLinux6.6

  • RedhatEnterpriseLinux6.7

  • RedhatEnterpriseLinux6.8

  • RedhatEnterpriseLinux6.9

  • RedhatEnterpriseLinux7.0

  • RedhatEnterpriseLinux7.1

  • RedhatEnterpriseLinux7.2

  • RedhatEnterpriseLinux7.3

  • RedhatEnterpriseLinux7.4

  • *

    Use a wildcard character (*) to target all supported operating system versions.

Supported key: CLASSIFICATION

Supported values:

  • Security

  • Bugfix

  • Enhancement

  • Recommended

  • Newpackage

Supported key: SEVERITY

Supported values:

  • Critical

  • Important

  • Medium

  • Low

SUSE Linux Enterprise Server (SLES) Operating Systems

The supported keys for SLES operating systems are PRODUCT, CLASSIFICATION, and SEVERITY. See the following lists for valid values for each of these keys.

Supported key: PRODUCT

Supported values:

  • Suse12.0

  • Suse12.1

  • Suse12.2

  • Suse12.3

  • Suse12.4

  • Suse12.5

  • Suse12.6

  • Suse12.7

  • Suse12.8

  • Suse12.9

  • *

    Use a wildcard character (*) to target all supported operating system versions.

Supported key: CLASSIFICATION

Supported values:

  • Security

  • Recommended

  • Optional

  • Feature

  • Document

  • Yast

Supported key: SEVERITY

Supported values:

  • Critical

  • Important

  • Moderate

  • Low

CentOS Operating Systems

The supported keys for CentOS operating systems are PRODUCT, CLASSIFICATION, and SEVERITY. See the following lists for valid values for each of these keys.

Supported key: PRODUCT

Supported values:

  • CentOS6.5

  • CentOS6.6

  • CentOS6.7

  • CentOS6.8

  • CentOS6.9

  • CentOS7.0

  • CentOS7.1

  • CentOS7.2

  • CentOS7.3

  • CentOS7.4

  • *

    Use a wildcard character (*) to target all supported operating system versions.

Supported key: CLASSIFICATION

Supported values:

  • Security

  • Bugfix

  • Enhancement

  • Recommended

  • Newpackage

Supported key: SEVERITY

Supported values:

  • Critical

  • Important

  • Medium

  • Low

" + "documentation":"

Defines which patches should be included in a patch baseline.

A patch filter consists of a key and a set of values. The filter key is a patch property. For example, the available filter keys for WINDOWS are PATCH_SET, PRODUCT, PRODUCT_FAMILY, CLASSIFICATION, and MSRC_SEVERITY. The filter values define a matching criterion for the patch property indicated by the key. For example, if the filter key is PRODUCT and the filter values are [\"Office 2013\", \"Office 2016\"], then the filter accepts all patches where product name is either \"Office 2013\" or \"Office 2016\". The filter values can be exact values for the patch property given as a key, or a wildcard (*), which matches all values.

You can view lists of valid values for the patch properties by running the DescribePatchProperties command. For information about which patch properties can be used with each major operating system, see DescribePatchProperties.

" }, "PatchFilterGroup":{ "type":"structure", @@ -9927,7 +10850,9 @@ "PatchFilterKey":{ "type":"string", "enum":[ + "PATCH_SET", "PRODUCT", + "PRODUCT_FAMILY", "CLASSIFICATION", "MSRC_SEVERITY", "PATCH_ID", @@ -10048,6 +10973,26 @@ }, "PatchProduct":{"type":"string"}, "PatchProductFamily":{"type":"string"}, + "PatchPropertiesList":{ + "type":"list", + "member":{"shape":"PatchPropertyEntry"} + }, + "PatchProperty":{ + "type":"string", + "enum":[ + "PRODUCT", + "PRODUCT_FAMILY", + "CLASSIFICATION", + "MSRC_SEVERITY", + "PRIORITY", + "SEVERITY" + ] + }, + "PatchPropertyEntry":{ + "type":"map", + "key":{"shape":"AttributeName"}, + "value":{"shape":"AttributeValue"} + }, "PatchRule":{ "type":"structure", "required":[ @@ -10093,6 +11038,13 @@ "max":10, "min":0 }, + "PatchSet":{ + "type":"string", + "enum":[ + "OS", + "APPLICATION" + ] + }, "PatchSeverity":{"type":"string"}, "PatchSource":{ "type":"structure", @@ -10112,7 +11064,7 @@ }, "Configuration":{ "shape":"PatchSourceConfiguration", - "documentation":"

The value of the yum repo configuration. For example:

cachedir=/var/cache/yum/$basesearch

$releasever

keepcache=0

debuglevel=2

" + "documentation":"

The value of the yum repo configuration. For example:

[main]

cachedir=/var/cache/yum/$basesearch$releasever

keepcache=0

debuglevel=2

" } }, "documentation":"

Information about the patches to use to update the instances, including target operating systems and source repository. Applies to Linux instances only.

" @@ -10163,6 +11115,7 @@ "documentation":"

Information about the approval status of a patch.

" }, "PatchTitle":{"type":"string"}, + "PatchUnreportedNotApplicableCount":{"type":"integer"}, "PatchVendor":{"type":"string"}, "PingStatus":{ "type":"string", @@ -10183,13 +11136,21 @@ "type":"list", "member":{"shape":"PlatformType"} }, + "PoliciesLimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

You specified more than the maximum number of allowed policies for the parameter. The maximum is 10.

", + "exception":true + }, "Product":{"type":"string"}, "ProgressCounters":{ "type":"structure", "members":{ "TotalSteps":{ "shape":"Integer", - "documentation":"

The total number of steps executed in all specified AWS Regions and accounts for the current Automation execution.

" + "documentation":"

The total number of steps run in all specified AWS Regions and accounts for the current Automation execution.

" }, "SuccessSteps":{ "shape":"Integer", @@ -10197,7 +11158,7 @@ }, "FailedSteps":{ "shape":"Integer", - "documentation":"

The total number of steps that failed to execute in all specified AWS Regions and accounts for the current Automation execution.

" + "documentation":"

The total number of steps that failed to run in all specified AWS Regions and accounts for the current Automation execution.

" }, "CancelledSteps":{ "shape":"Integer", @@ -10296,7 +11257,7 @@ }, "Value":{ "shape":"PSParameterValue", - "documentation":"

The parameter value that you want to add to the system.

" + "documentation":"

The parameter value that you want to add to the system. Standard parameters have a value limit of 4 KB. Advanced parameters have a value limit of 8 KB.

" }, "Type":{ "shape":"ParameterType", @@ -10314,6 +11275,18 @@ "AllowedPattern":{ "shape":"AllowedPattern", "documentation":"

A regular expression used to validate the parameter value. For example, for String types with values restricted to numbers, you can specify the following: AllowedPattern=^\\d+$

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a Systems Manager parameter to identify the type of resource to which it applies, the environment, or the type of configuration data referenced by the parameter. In this case, you could specify the following key name/value pairs:

  • Key=Resource,Value=S3bucket

  • Key=OS,Value=Windows

  • Key=ParameterType,Value=LicenseKey

To add tags to an existing Systems Manager parameter, use the AddTagsToResource action.

" + }, + "Tier":{ + "shape":"ParameterTier", + "documentation":"

Parameter Store offers a standard tier and an advanced tier for parameters. Standard parameters have a value limit of 4 KB and can't be configured to use parameter policies. You can create a maximum of 10,000 standard parameters per account and per Region. Standard parameters are offered at no additional cost.

Advanced parameters have a value limit of 8 KB and can be configured to use parameter policies. You can create a maximum of 100,000 advanced parameters per account and per Region. Advanced parameters incur a charge.

If you don't specify a parameter tier when you create a new parameter, the parameter defaults to using the standard tier. You can change a standard parameter to an advanced parameter at any time. But you can't revert an advanced parameter to a standard parameter. Reverting an advanced parameter to a standard parameter would result in data loss because the system would truncate the size of the parameter from 8 KB to 4 KB. Reverting would also remove any policies attached to the parameter. Lastly, advanced parameters use a different form of encryption than standard parameters.

If you no longer need an advanced parameter, or if you no longer want to incur charges for an advanced parameter, you must delete it and recreate it as a new standard parameter. For more information, see About Advanced Parameters in the AWS Systems Manager User Guide.

" + }, + "Policies":{ + "shape":"ParameterPolicies", + "documentation":"

One or more policies to apply to a parameter. This action takes a JSON array. Parameter Store supports the following policy types:

Expiration: This policy deletes the parameter after it expires. When you create the policy, you specify the expiration date. You can update the expiration date and time by updating the policy. Updating the parameter does not affect the expiration date and time. When the expiration time is reached, Parameter Store deletes the parameter.

ExpirationNotification: This policy triggers an event in Amazon CloudWatch Events that notifies you about the expiration. By using this policy, you can receive notification before or after the expiration time is reached, in units of days or hours.

NoChangeNotification: This policy triggers a CloudWatch event if a parameter has not been modified for a specified period of time. This policy type is useful when, for example, a secret needs to be changed within a period of time, but it has not been changed.

All existing policies are preserved until you send new policies or an empty policy. For more information about parameter policies, see Working with Parameter Policies.

" } } }, @@ -10392,19 +11365,19 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window the target should be registered with.

" + "documentation":"

The ID of the maintenance window the target should be registered with.

" }, "ResourceType":{ "shape":"MaintenanceWindowResourceType", - "documentation":"

The type of target being registered with the Maintenance Window.

" + "documentation":"

The type of target being registered with the maintenance window.

" }, "Targets":{ "shape":"Targets", - "documentation":"

The targets (either instances or tags).

Specify instances using the following format:

Key=InstanceIds,Values=<instance-id-1>,<instance-id-2>

Specify tags using either of the following formats:

Key=tag:<tag-key>,Values=<tag-value-1>,<tag-value-2>

Key=tag-key,Values=<tag-key-1>,<tag-key-2>

" + "documentation":"

The targets to register with the maintenance window. In other words, the instances to run commands on when the maintenance window runs.

You can specify targets using either instance IDs or tags that have been applied to instances.

Example 1: Specify instance IDs

Key=InstanceIds,Values=instance-id-1,instance-id-2,instance-id-3

Example 2: Use tag key-pairs applied to instances

Key=tag:my-tag-key,Values=my-tag-value-1,my-tag-value-2

Example 3: Use tag-keys applied to instances

Key=tag-key,Values=my-tag-key-1,my-tag-key-2

For more information about these examples formats, including the best use case for each one, see Examples: Register Targets with a Maintenance Window in the AWS Systems Manager User Guide.

" }, "OwnerInformation":{ "shape":"OwnerInformation", - "documentation":"

User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.

" + "documentation":"

User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this maintenance window.

" }, "Name":{ "shape":"MaintenanceWindowName", @@ -10426,7 +11399,7 @@ "members":{ "WindowTargetId":{ "shape":"MaintenanceWindowTargetId", - "documentation":"

The ID of the target definition in this Maintenance Window.

" + "documentation":"

The ID of the target definition in this maintenance window.

" } } }, @@ -10443,19 +11416,19 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window the task should be added to.

" + "documentation":"

The ID of the maintenance window the task should be added to.

" }, "Targets":{ "shape":"Targets", - "documentation":"

The targets (either instances or Maintenance Window targets).

Specify instances using the following format:

Key=InstanceIds,Values=<instance-id-1>,<instance-id-2>

Specify Maintenance Window targets using the following format:

Key=<WindowTargetIds>,Values=<window-target-id-1>,<window-target-id-2>

" + "documentation":"

The targets (either instances or maintenance window targets).

Specify instances using the following format:

Key=InstanceIds,Values=<instance-id-1>,<instance-id-2>

Specify maintenance window targets using the following format:

Key=<WindowTargetIds>,Values=<window-target-id-1>,<window-target-id-2>

" }, "TaskArn":{ "shape":"MaintenanceWindowTaskArn", - "documentation":"

The ARN of the task to execute

" + "documentation":"

The ARN of the task to run.

" }, "ServiceRoleArn":{ "shape":"ServiceRole", - "documentation":"

The role to assume when running the Maintenance Window task.

If you do not specify a service role ARN, Systems Manager will use your account's service-linked role for Systems Manager by default. If no service-linked role for Systems Manager exists in your account, it will be created when you run RegisterTaskWithMaintenanceWindow without specifying a service role ARN.

For more information, see Service-Linked Role Permissions for Systems Manager and Should I Use a Service-Linked Role or a Custom Service Role to Run Maintenance Window Tasks? in the AWS Systems Manager User Guide.

" + "documentation":"

The ARN of the IAM service role for Systems Manager to assume when running a maintenance window task. If you do not specify a service role ARN, Systems Manager uses your account's service-linked role. If no service-linked role for Systems Manager exists in your account, it is created when you run RegisterTaskWithMaintenanceWindow.

For more information, see the following topics in the in the AWS Systems Manager User Guide:

" }, "TaskType":{ "shape":"MaintenanceWindowTaskType", @@ -10463,7 +11436,7 @@ }, "TaskParameters":{ "shape":"MaintenanceWindowTaskParameters", - "documentation":"

The parameters that should be passed to the task when it is executed.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

" + "documentation":"

The parameters that should be passed to the task when it is run.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

" }, "TaskInvocationParameters":{ "shape":"MaintenanceWindowTaskInvocationParameters", @@ -10471,7 +11444,7 @@ }, "Priority":{ "shape":"MaintenanceWindowTaskPriority", - "documentation":"

The priority of the task in the Maintenance Window, the lower the number the higher the priority. Tasks in a Maintenance Window are scheduled in priority order with tasks that have the same priority scheduled in parallel.

", + "documentation":"

The priority of the task in the maintenance window, the lower the number the higher the priority. Tasks in a maintenance window are scheduled in priority order with tasks that have the same priority scheduled in parallel.

", "box":true }, "MaxConcurrency":{ @@ -10484,7 +11457,7 @@ }, "LoggingInfo":{ "shape":"LoggingInfo", - "documentation":"

A structure containing information about an Amazon S3 bucket to write instance-level logs to.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

" + "documentation":"

A structure containing information about an Amazon S3 bucket to write instance-level logs to.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

" }, "Name":{ "shape":"MaintenanceWindowName", @@ -10506,7 +11479,7 @@ "members":{ "WindowTaskId":{ "shape":"MaintenanceWindowTaskId", - "documentation":"

The ID of the task in the Maintenance Window.

" + "documentation":"

The ID of the task in the maintenance window.

" } } }, @@ -10520,6 +11493,21 @@ "max":1000, "min":1 }, + "RelatedOpsItem":{ + "type":"structure", + "required":["OpsItemId"], + "members":{ + "OpsItemId":{ + "shape":"String", + "documentation":"

The ID of an OpsItem related to the current OpsItem.

" + } + }, + "documentation":"

An OpsItems that shares something in common with the current OpsItems. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.

" + }, + "RelatedOpsItems":{ + "type":"list", + "member":{"shape":"RelatedOpsItem"} + }, "RemainingCount":{"type":"integer"}, "RemoveTagsFromResourceRequest":{ "type":"structure", @@ -10531,11 +11519,11 @@ "members":{ "ResourceType":{ "shape":"ResourceTypeForTagging", - "documentation":"

The type of resource of which you want to remove a tag.

The ManagedInstance type for this API action is only for on-premises managed instances. You must specify the the name of the managed instance in the following format: mi-ID_number. For example, mi-1a2b3c4d5e6f.

" + "documentation":"

The type of resource of which you want to remove a tag.

The ManagedInstance type for this API action is only for on-premises managed instances. You must specify the name of the managed instance in the following format: mi-ID_number. For example, mi-1a2b3c4d5e6f.

" }, "ResourceId":{ "shape":"ResourceId", - "documentation":"

The resource ID for which you want to remove tags. Use the ID of the resource. Here are some examples:

ManagedInstance: mi-012345abcde

MaintenanceWindow: mw-012345abcde

PatchBaseline: pb-012345abcde

For the Document and Parameter values, use the name of the resource.

The ManagedInstance type for this API action is only for on-premises managed instances. You must specify the the name of the managed instance in the following format: mi-ID_number. For example, mi-1a2b3c4d5e6f.

" + "documentation":"

The resource ID for which you want to remove tags. Use the ID of the resource. Here are some examples:

ManagedInstance: mi-012345abcde

MaintenanceWindow: mw-012345abcde

PatchBaseline: pb-012345abcde

For the Document and Parameter values, use the name of the resource.

The ManagedInstance type for this API action is only for on-premises managed instances. You must specify the name of the managed instance in the following format: mi-ID_number. For example, mi-1a2b3c4d5e6f.

" }, "TagKeys":{ "shape":"KeyList", @@ -10548,6 +11536,27 @@ "members":{ } }, + "ResetServiceSettingRequest":{ + "type":"structure", + "required":["SettingId"], + "members":{ + "SettingId":{ + "shape":"ServiceSettingId", + "documentation":"

The ID of the service setting to reset.

" + } + }, + "documentation":"

The request body of the ResetServiceSetting API action.

" + }, + "ResetServiceSettingResult":{ + "type":"structure", + "members":{ + "ServiceSetting":{ + "shape":"ServiceSetting", + "documentation":"

The current, effective service setting after calling the ResetServiceSetting API action.

" + } + }, + "documentation":"

The result body of the ResetServiceSetting API action.

" + }, "ResolvedTargets":{ "type":"structure", "members":{ @@ -10719,7 +11728,7 @@ }, "AWSKMSKeyARN":{ "shape":"ResourceDataSyncAWSKMSKeyARN", - "documentation":"

The ARN of an encryption key for a destination in Amazon S3. Must belong to the same region as the destination Amazon S3 bucket.

" + "documentation":"

The ARN of an encryption key for a destination in Amazon S3. Must belong to the same Region as the destination Amazon S3 bucket.

" } }, "documentation":"

Information about the target Amazon S3 bucket for the Resource Data Sync.

" @@ -10752,7 +11761,7 @@ "members":{ "Message":{"shape":"String"} }, - "documentation":"

Error returned when the caller has exceeded the default resource limits. For example, too many Maintenance Windows or Patch baselines have been created.

For information about resource limits in Systems Manager, see AWS Systems Manager Limits.

", + "documentation":"

Error returned when the caller has exceeded the default resource limits. For example, too many maintenance windows or patch baselines have been created.

For information about resource limits in Systems Manager, see AWS Systems Manager Limits.

", "exception":true }, "ResourceType":{ @@ -10770,7 +11779,8 @@ "ManagedInstance", "MaintenanceWindow", "Parameter", - "PatchBaseline" + "PatchBaseline", + "OpsItem" ] }, "ResponseCode":{"type":"integer"}, @@ -10870,18 +11880,18 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window to be run.

" + "documentation":"

The ID of the maintenance window to be run.

" }, "Name":{ "shape":"MaintenanceWindowName", - "documentation":"

The name of the Maintenance Window to be run.

" + "documentation":"

The name of the maintenance window to be run.

" }, "ExecutionTime":{ "shape":"MaintenanceWindowStringDateTime", - "documentation":"

The time, in ISO-8601 Extended format, that the Maintenance Window is scheduled to be run.

" + "documentation":"

The time, in ISO-8601 Extended format, that the maintenance window is scheduled to be run.

" } }, - "documentation":"

Information about a scheduled execution for a Maintenance Window.

" + "documentation":"

Information about a scheduled execution for a maintenance window.

" }, "ScheduledWindowExecutionList":{ "type":"list", @@ -10900,11 +11910,11 @@ }, "SignalType":{ "shape":"SignalType", - "documentation":"

The type of signal. Valid signal types include the following: Approve and Reject

" + "documentation":"

The type of signal to send to an Automation execution.

" }, "Payload":{ "shape":"AutomationParameterMap", - "documentation":"

The data sent with the signal. The data schema depends on the type of signal used in the request.

" + "documentation":"

The data sent with the signal. The data schema depends on the type of signal used in the request.

For Approve and Reject signal types, the payload is an optional comment that you can send with the signal type. For example:

Comment=\"Looks good\"

For StartStep and Resume signal types, you must send the name of the Automation step to start or resume as the payload. For example:

StepName=\"step1\"

For the StopStep signal type, you must send the step execution ID as the payload. For example:

StepExecutionId=\"97fff367-fc5a-4299-aed8-0123456789ab\"

" } } }, @@ -10919,7 +11929,7 @@ "members":{ "InstanceIds":{ "shape":"InstanceIdList", - "documentation":"

The instance IDs where the command should execute. You can specify a maximum of 50 IDs. If you prefer not to list individual instance IDs, you can instead send commands to a fleet of instances using the Targets parameter, which accepts EC2 tags. For more information about how to use targets, see Sending Commands to a Fleet in the AWS Systems Manager User Guide.

" + "documentation":"

The instance IDs where the command should run. You can specify a maximum of 50 IDs. If you prefer not to list individual instance IDs, you can instead send commands to a fleet of instances using the Targets parameter, which accepts EC2 tags. For more information about how to use targets, see Sending Commands to a Fleet in the AWS Systems Manager User Guide.

" }, "Targets":{ "shape":"Targets", @@ -10927,11 +11937,11 @@ }, "DocumentName":{ "shape":"DocumentARN", - "documentation":"

Required. The name of the Systems Manager document to execute. This can be a public document or a custom document.

" + "documentation":"

Required. The name of the Systems Manager document to run. This can be a public document or a custom document.

" }, "DocumentVersion":{ "shape":"DocumentVersion", - "documentation":"

The SSM document version to use in the request. You can specify $DEFAULT, $LATEST, or a specific version number. If you execute commands by using the AWS CLI, then you must escape the first two options by using a backslash. If you specify a version number, then you don't need to use the backslash. For example:

--document-version \"\\$DEFAULT\"

--document-version \"\\$LATEST\"

--document-version \"3\"

" + "documentation":"

The SSM document version to use in the request. You can specify $DEFAULT, $LATEST, or a specific version number. If you run commands by using the AWS CLI, then you must escape the first two options by using a backslash. If you specify a version number, then you don't need to use the backslash. For example:

--document-version \"\\$DEFAULT\"

--document-version \"\\$LATEST\"

--document-version \"3\"

" }, "DocumentHash":{ "shape":"DocumentHash", @@ -10943,7 +11953,7 @@ }, "TimeoutSeconds":{ "shape":"TimeoutSeconds", - "documentation":"

If this time is reached and the command has not already started executing, it will not run.

", + "documentation":"

If this time is reached and the command has not already started running, it will not run.

", "box":true }, "Comment":{ @@ -10952,7 +11962,7 @@ }, "Parameters":{ "shape":"Parameters", - "documentation":"

The required and optional parameters specified in the document being executed.

" + "documentation":"

The required and optional parameters specified in the document being run.

" }, "OutputS3Region":{ "shape":"S3Region", @@ -10968,7 +11978,7 @@ }, "MaxConcurrency":{ "shape":"MaxConcurrency", - "documentation":"

(Optional) The maximum number of instances that are allowed to execute the command at the same time. You can specify a number such as 10 or a percentage such as 10%. The default value is 50. For more information about how to use MaxConcurrency, see Using Concurrency Controls in the AWS Systems Manager User Guide.

" + "documentation":"

(Optional) The maximum number of instances that are allowed to run the command at the same time. You can specify a number such as 10 or a percentage such as 10%. The default value is 50. For more information about how to use MaxConcurrency, see Using Concurrency Controls in the AWS Systems Manager User Guide.

" }, "MaxErrors":{ "shape":"MaxErrors", @@ -10976,7 +11986,7 @@ }, "ServiceRoleArn":{ "shape":"ServiceRole", - "documentation":"

The IAM role that Systems Manager uses to send notifications.

" + "documentation":"

The ARN of the IAM service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for Run Command commands.

" }, "NotificationConfig":{ "shape":"NotificationConfig", @@ -10998,6 +12008,54 @@ } }, "ServiceRole":{"type":"string"}, + "ServiceSetting":{ + "type":"structure", + "members":{ + "SettingId":{ + "shape":"ServiceSettingId", + "documentation":"

The ID of the service setting.

" + }, + "SettingValue":{ + "shape":"ServiceSettingValue", + "documentation":"

The value of the service setting.

" + }, + "LastModifiedDate":{ + "shape":"DateTime", + "documentation":"

The last time the service setting was modified.

" + }, + "LastModifiedUser":{ + "shape":"String", + "documentation":"

The ARN of the last modified user. This field is populated only if the setting value was overwritten.

" + }, + "ARN":{ + "shape":"String", + "documentation":"

The ARN of the service setting.

" + }, + "Status":{ + "shape":"String", + "documentation":"

The status of the service setting. The value can be Default, Customized or PendingUpdate.

  • Default: The current setting uses a default value provisioned by the AWS service team.

  • Customized: The current setting use a custom value specified by the customer.

  • PendingUpdate: The current setting uses a default or custom value, but a setting change request is pending approval.

" + } + }, + "documentation":"

The service setting data structure.

ServiceSetting is an account-level setting for an AWS service. This setting defines how a user interacts with or uses a service or a feature of a service. For example, if an AWS service charges money to the account based on feature or service usage, then the AWS service team might create a default setting of \"false\". This means the user can't use this feature unless they change the setting to \"true\" and intentionally opt in for a paid feature.

Services map a SettingId object to a setting value. AWS services teams define the default value for a SettingId. You can't create a new SettingId, but you can overwrite the default value if you have the ssm:UpdateServiceSetting permission for the setting. Use the UpdateServiceSetting API action to change the default setting. Or, use the ResetServiceSetting to change the value back to the original value defined by the AWS service team.

" + }, + "ServiceSettingId":{ + "type":"string", + "max":1000, + "min":1 + }, + "ServiceSettingNotFound":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The specified service setting was not found. Either the service name or the setting has not been provisioned by the AWS service team.

", + "exception":true + }, + "ServiceSettingValue":{ + "type":"string", + "max":4096, + "min":1 + }, "Session":{ "type":"structure", "members":{ @@ -11230,7 +12288,7 @@ "members":{ "AssociationIds":{ "shape":"AssociationIdList", - "documentation":"

The association IDs that you want to execute immediately and only one time.

" + "documentation":"

The association IDs that you want to run immediately and only one time.

" } } }, @@ -11286,7 +12344,7 @@ }, "TargetLocations":{ "shape":"TargetLocations", - "documentation":"

A location is a combination of AWS Regions and/or AWS accounts where you want to execute the Automation. Use this action to start an Automation in multiple Regions and multiple accounts. For more information, see Concurrently Executing Automations in Multiple AWS Regions and Accounts in the AWS Systems Manager User Guide.

", + "documentation":"

A location is a combination of AWS Regions and/or AWS accounts where you want to run the Automation. Use this action to start an Automation in multiple Regions and multiple accounts. For more information, see Executing Automations in Multiple AWS Regions and Accounts in the AWS Systems Manager User Guide.

", "box":true } } @@ -11424,7 +12482,7 @@ }, "OverriddenParameters":{ "shape":"AutomationParameterMap", - "documentation":"

A user-specified list of parameters to override when executing a step.

" + "documentation":"

A user-specified list of parameters to override when running a step.

" }, "IsEnd":{ "shape":"Boolean", @@ -11443,7 +12501,7 @@ }, "ValidNextSteps":{ "shape":"ValidNextStepList", - "documentation":"

Strategies used when step fails, we support Continue and Abort. Abort will fail the automation when the step fails. Continue will ignore the failure of current step and allow automation to execute the next step. With conditional branching, we add step:stepName to support the automation to go to another specific step.

" + "documentation":"

Strategies used when step fails, we support Continue and Abort. Abort will fail the automation when the step fails. Continue will ignore the failure of current step and allow automation to run the next step. With conditional branching, we add step:stepName to support the automation to go to another specific step.

" }, "Targets":{ "shape":"Targets", @@ -11568,17 +12626,18 @@ "documentation":"

The value of the tag.

" } }, - "documentation":"

Metadata that you assign to your AWS resources. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment. In Systems Manager, you can apply tags to documents, managed instances, Maintenance Windows, Parameter Store parameters, and patch baselines.

" + "documentation":"

Metadata that you assign to your AWS resources. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment. In Systems Manager, you can apply tags to documents, managed instances, maintenance windows, Parameter Store parameters, and patch baselines.

" }, "TagKey":{ "type":"string", "max":128, "min":1, - "pattern":"^(?!^(?i)aws:)(?=^[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*$).*$" + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" }, "TagList":{ "type":"list", - "member":{"shape":"Tag"} + "member":{"shape":"Tag"}, + "max":1000 }, "TagValue":{ "type":"string", @@ -11591,11 +12650,11 @@ "members":{ "Key":{ "shape":"TargetKey", - "documentation":"

User-defined criteria for sending commands that target instances that meet the criteria. Key can be tag:<Amazon EC2 tag> or InstanceIds. For more information about how to send commands that target instances using Key,Value parameters, see Targeting Multiple Instances in the AWS Systems Manager User Guide.

" + "documentation":"

User-defined criteria for sending commands that target instances that meet the criteria. Key can be tag:<Amazon EC2 tag> or InstanceIds. For more information about how to send commands that target instances using Key,Value parameters, see Using Targets and Rate Controls to Send Commands to a Fleet in the AWS Systems Manager User Guide.

" }, "Values":{ "shape":"TargetValues", - "documentation":"

User-defined criteria that maps to Key. For example, if you specified tag:ServerRole, you could specify value:WebServer to execute a command on instances that include Amazon EC2 tags of ServerRole,WebServer. For more information about how to send commands that target instances using Key,Value parameters, see Sending Commands to a Fleet in the AWS Systems Manager User Guide.

" + "documentation":"

User-defined criteria that maps to Key. For example, if you specified tag:ServerRole, you could specify value:WebServer to run a command on instances that include Amazon EC2 tags of ServerRole,WebServer. For more information about how to send commands that target instances using Key,Value parameters, see Using Targets and Rate Controls to Send Commands to a Fleet in the AWS Systems Manager User Guide.

" } }, "documentation":"

An array of search criteria that targets instances using a Key,Value combination that you specify. Targets is required if you don't provide one or more instance IDs in the call.

" @@ -11628,17 +12687,17 @@ }, "TargetLocationMaxConcurrency":{ "shape":"MaxConcurrency", - "documentation":"

The maxium number of AWS accounts and AWS regions allowed to run the Automation concurrently

", + "documentation":"

The maximum number of AWS accounts and AWS regions allowed to run the Automation concurrently

", "box":true }, "TargetLocationMaxErrors":{ "shape":"MaxErrors", - "documentation":"

The maxium number of errors allowed before the system stops queueing additional Automation executions for the currently executing Automation.

", + "documentation":"

The maximum number of errors allowed before the system stops queueing additional Automation executions for the currently running Automation.

", "box":true }, "ExecutionRoleName":{ "shape":"ExecutionRoleName", - "documentation":"

The Automation execution role used by the currently executing Automation.

", + "documentation":"

The Automation execution role used by the currently running Automation.

", "box":true } }, @@ -11762,6 +12821,14 @@ "documentation":"

The size of inventory data has exceeded the total size limit for the resource.

", "exception":true }, + "UnsupportedFeatureRequiredException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

Microsoft application patching is only available on EC2 instances and Advanced Instances. To patch Microsoft applications on on-premises servers and VMs, you must enable Advanced Instances. For more information, see Using the Advanced-Instances Tier in the AWS Systems Manager User Guide.

", + "exception":true + }, "UnsupportedInventoryItemContextException":{ "type":"structure", "members":{ @@ -11828,8 +12895,8 @@ "documentation":"

An Amazon S3 bucket where you want to store the results of this request.

" }, "Name":{ - "shape":"DocumentName", - "documentation":"

The name of the association document.

" + "shape":"DocumentARN", + "documentation":"

The name of the SSM document that contains the configuration information for the instance. You can specify Command or Automation documents.

You can specify AWS-predefined documents, documents you created, or a document that is shared with you from another account.

For SSM documents that are shared with you from other AWS accounts, you must specify the complete SSM document ARN, in the following format:

arn:aws:ssm:region:account-id:document/document-name

For example:

arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document

For AWS-predefined documents and SSM documents you created in your account, you only need to specify the document name. For example, AWS-ApplyPatchBaseline or My-Document.

" }, "Targets":{ "shape":"Targets", @@ -11843,13 +12910,17 @@ "shape":"AssociationVersion", "documentation":"

This parameter is provided for concurrency control purposes. You must specify the latest association version in the service. If you want to ensure that this request succeeds, either specify $LATEST, or omit this parameter.

" }, + "AutomationTargetParameterName":{ + "shape":"AutomationTargetParameterName", + "documentation":"

Specify the target for the association. This target is required for associations that use an Automation document and target resources by using rate controls.

" + }, "MaxErrors":{ "shape":"MaxErrors", "documentation":"

The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 instances and set MaxError to 10%, then the system stops sending the request when the sixth error is received.

Executions that are already running an association when MaxErrors is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set MaxConcurrency to 1 so that executions proceed one at a time.

" }, "MaxConcurrency":{ "shape":"MaxConcurrency", - "documentation":"

The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.

If a new instance starts and attempts to execute an association while Systems Manager is executing MaxConcurrency associations, the association is allowed to run. During the next association interval, the new instance will process its association within the limit specified for MaxConcurrency.

" + "documentation":"

The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.

If a new instance starts and attempts to run an association while Systems Manager is running MaxConcurrency associations, the association is allowed to run. During the next association interval, the new instance will process its association within the limit specified for MaxConcurrency.

" }, "ComplianceSeverity":{ "shape":"AssociationComplianceSeverity", @@ -11875,7 +12946,7 @@ ], "members":{ "Name":{ - "shape":"DocumentName", + "shape":"DocumentARN", "documentation":"

The name of the Systems Manager document.

" }, "InstanceId":{ @@ -11975,11 +13046,11 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window to update.

" + "documentation":"

The ID of the maintenance window to update.

" }, "Name":{ "shape":"MaintenanceWindowName", - "documentation":"

The name of the Maintenance Window.

" + "documentation":"

The name of the maintenance window.

" }, "Description":{ "shape":"MaintenanceWindowDescription", @@ -11987,38 +13058,38 @@ }, "StartDate":{ "shape":"MaintenanceWindowStringDateTime", - "documentation":"

The time zone that the scheduled Maintenance Window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"etc/UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

" + "documentation":"

The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"etc/UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

" }, "EndDate":{ "shape":"MaintenanceWindowStringDateTime", - "documentation":"

The date and time, in ISO-8601 Extended format, for when you want the Maintenance Window to become inactive. EndDate allows you to set a date and time in the future when the Maintenance Window will no longer run.

" + "documentation":"

The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become inactive. EndDate allows you to set a date and time in the future when the maintenance window will no longer run.

" }, "Schedule":{ "shape":"MaintenanceWindowSchedule", - "documentation":"

The schedule of the Maintenance Window in the form of a cron or rate expression.

" + "documentation":"

The schedule of the maintenance window in the form of a cron or rate expression.

" }, "ScheduleTimezone":{ "shape":"MaintenanceWindowTimezone", - "documentation":"

The time zone that the scheduled Maintenance Window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"etc/UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

" + "documentation":"

The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"etc/UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

" }, "Duration":{ "shape":"MaintenanceWindowDurationHours", - "documentation":"

The duration of the Maintenance Window in hours.

", + "documentation":"

The duration of the maintenance window in hours.

", "box":true }, "Cutoff":{ "shape":"MaintenanceWindowCutoff", - "documentation":"

The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution.

", + "documentation":"

The number of hours before the end of the maintenance window that Systems Manager stops scheduling new tasks for execution.

", "box":true }, "AllowUnassociatedTargets":{ "shape":"MaintenanceWindowAllowUnassociatedTargets", - "documentation":"

Whether targets must be registered with the Maintenance Window before tasks can be defined for those targets.

", + "documentation":"

Whether targets must be registered with the maintenance window before tasks can be defined for those targets.

", "box":true }, "Enabled":{ "shape":"MaintenanceWindowEnabled", - "documentation":"

Whether the Maintenance Window is enabled.

", + "documentation":"

Whether the maintenance window is enabled.

", "box":true }, "Replace":{ @@ -12033,11 +13104,11 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The ID of the created Maintenance Window.

" + "documentation":"

The ID of the created maintenance window.

" }, "Name":{ "shape":"MaintenanceWindowName", - "documentation":"

The name of the Maintenance Window.

" + "documentation":"

The name of the maintenance window.

" }, "Description":{ "shape":"MaintenanceWindowDescription", @@ -12045,35 +13116,35 @@ }, "StartDate":{ "shape":"MaintenanceWindowStringDateTime", - "documentation":"

The date and time, in ISO-8601 Extended format, for when the Maintenance Window is scheduled to become active. The Maintenance Window will not run before this specified time.

" + "documentation":"

The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become active. The maintenance window will not run before this specified time.

" }, "EndDate":{ "shape":"MaintenanceWindowStringDateTime", - "documentation":"

The date and time, in ISO-8601 Extended format, for when the Maintenance Window is scheduled to become inactive. The Maintenance Window will not run after this specified time.

" + "documentation":"

The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become inactive. The maintenance window will not run after this specified time.

" }, "Schedule":{ "shape":"MaintenanceWindowSchedule", - "documentation":"

The schedule of the Maintenance Window in the form of a cron or rate expression.

" + "documentation":"

The schedule of the maintenance window in the form of a cron or rate expression.

" }, "ScheduleTimezone":{ "shape":"MaintenanceWindowTimezone", - "documentation":"

The time zone that the scheduled Maintenance Window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"etc/UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

" + "documentation":"

The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"etc/UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

" }, "Duration":{ "shape":"MaintenanceWindowDurationHours", - "documentation":"

The duration of the Maintenance Window in hours.

" + "documentation":"

The duration of the maintenance window in hours.

" }, "Cutoff":{ "shape":"MaintenanceWindowCutoff", - "documentation":"

The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution.

" + "documentation":"

The number of hours before the end of the maintenance window that Systems Manager stops scheduling new tasks for execution.

" }, "AllowUnassociatedTargets":{ "shape":"MaintenanceWindowAllowUnassociatedTargets", - "documentation":"

Whether targets must be registered with the Maintenance Window before tasks can be defined for those targets.

" + "documentation":"

Whether targets must be registered with the maintenance window before tasks can be defined for those targets.

" }, "Enabled":{ "shape":"MaintenanceWindowEnabled", - "documentation":"

Whether the Maintenance Window is enabled.

" + "documentation":"

Whether the maintenance window is enabled.

" } } }, @@ -12086,7 +13157,7 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The Maintenance Window ID with which to modify the target.

" + "documentation":"

The maintenance window ID with which to modify the target.

" }, "WindowTargetId":{ "shape":"MaintenanceWindowTargetId", @@ -12098,7 +13169,7 @@ }, "OwnerInformation":{ "shape":"OwnerInformation", - "documentation":"

User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.

" + "documentation":"

User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this maintenance window.

" }, "Name":{ "shape":"MaintenanceWindowName", @@ -12120,7 +13191,7 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The Maintenance Window ID specified in the update request.

" + "documentation":"

The maintenance window ID specified in the update request.

" }, "WindowTargetId":{ "shape":"MaintenanceWindowTargetId", @@ -12153,7 +13224,7 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The Maintenance Window ID that contains the task to modify.

" + "documentation":"

The maintenance window ID that contains the task to modify.

" }, "WindowTaskId":{ "shape":"MaintenanceWindowTaskId", @@ -12169,11 +13240,11 @@ }, "ServiceRoleArn":{ "shape":"ServiceRole", - "documentation":"

The IAM service role ARN to modify. The system assumes this role during task execution.

If you do not specify a service role ARN, Systems Manager will use your account's service-linked role for Systems Manager by default. If no service-linked role for Systems Manager exists in your account, it will be created when you run RegisterTaskWithMaintenanceWindow without specifying a service role ARN.

For more information, see Service-Linked Role Permissions for Systems Manager and Should I Use a Service-Linked Role or a Custom Service Role to Run Maintenance Window Tasks? in the AWS Systems Manager User Guide.

" + "documentation":"

The ARN of the IAM service role for Systems Manager to assume when running a maintenance window task. If you do not specify a service role ARN, Systems Manager uses your account's service-linked role. If no service-linked role for Systems Manager exists in your account, it is created when you run RegisterTaskWithMaintenanceWindow.

For more information, see the following topics in the in the AWS Systems Manager User Guide:

" }, "TaskParameters":{ "shape":"MaintenanceWindowTaskParameters", - "documentation":"

The parameters to modify.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

The map has the following format:

Key: string, between 1 and 255 characters

Value: an array of strings, each string is between 1 and 255 characters

" + "documentation":"

The parameters to modify.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

The map has the following format:

Key: string, between 1 and 255 characters

Value: an array of strings, each string is between 1 and 255 characters

" }, "TaskInvocationParameters":{ "shape":"MaintenanceWindowTaskInvocationParameters", @@ -12194,7 +13265,7 @@ }, "LoggingInfo":{ "shape":"LoggingInfo", - "documentation":"

The new logging location in Amazon S3 to specify.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

" + "documentation":"

The new logging location in Amazon S3 to specify.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

" }, "Name":{ "shape":"MaintenanceWindowName", @@ -12216,11 +13287,11 @@ "members":{ "WindowId":{ "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window that was updated.

" + "documentation":"

The ID of the maintenance window that was updated.

" }, "WindowTaskId":{ "shape":"MaintenanceWindowTaskId", - "documentation":"

The task ID of the Maintenance Window that was updated.

" + "documentation":"

The task ID of the maintenance window that was updated.

" }, "Targets":{ "shape":"Targets", @@ -12232,11 +13303,11 @@ }, "ServiceRoleArn":{ "shape":"ServiceRole", - "documentation":"

The updated service role ARN value.

" + "documentation":"

The ARN of the IAM service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for maintenance window Run Command tasks.

" }, "TaskParameters":{ "shape":"MaintenanceWindowTaskParameters", - "documentation":"

The updated parameter values.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

" + "documentation":"

The updated parameter values.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

" }, "TaskInvocationParameters":{ "shape":"MaintenanceWindowTaskInvocationParameters", @@ -12256,7 +13327,7 @@ }, "LoggingInfo":{ "shape":"LoggingInfo", - "documentation":"

The updated logging information in Amazon S3.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

" + "documentation":"

The updated logging information in Amazon S3.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

" }, "Name":{ "shape":"MaintenanceWindowName", @@ -12290,6 +13361,53 @@ "members":{ } }, + "UpdateOpsItemRequest":{ + "type":"structure", + "required":["OpsItemId"], + "members":{ + "Description":{ + "shape":"OpsItemDescription", + "documentation":"

Update the information about the OpsItem. Provide enough information so that users reading this OpsItem for the first time understand the issue.

" + }, + "OperationalData":{ + "shape":"OpsItemOperationalData", + "documentation":"

Add new keys or edit existing key-value pairs of the OperationalData map in the OpsItem object.

Operational data is custom data that provides useful reference details about the OpsItem. For example, you can specify log files, error strings, license keys, troubleshooting tips, or other relevant data. You enter operational data as key-value pairs. The key has a maximum length of 128 characters. The value has a maximum size of 20 KB.

This custom data is searchable, but with restrictions. For the Searchable operational data feature, all users with access to the OpsItem Overview page (as provided by the DescribeOpsItems API action) can view and search on the specified data. For the Private operational data feature, the data is only viewable by users who have access to the OpsItem (as provided by the GetOpsItem API action).

" + }, + "OperationalDataToDelete":{ + "shape":"OpsItemOpsDataKeysList", + "documentation":"

Keys that you want to remove from the OperationalData map.

" + }, + "Notifications":{ + "shape":"OpsItemNotifications", + "documentation":"

The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this OpsItem is edited or changed.

" + }, + "Priority":{ + "shape":"OpsItemPriority", + "documentation":"

The importance of this OpsItem in relation to other OpsItems in the system.

" + }, + "RelatedOpsItems":{ + "shape":"RelatedOpsItems", + "documentation":"

One or more OpsItems that share something in common with the current OpsItems. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.

" + }, + "Status":{ + "shape":"OpsItemStatus", + "documentation":"

The OpsItem status. Status can be Open, In Progress, or Resolved. For more information, see Editing OpsItem Details in the AWS Systems Manager User Guide.

" + }, + "OpsItemId":{ + "shape":"OpsItemId", + "documentation":"

The ID of the OpsItem.

" + }, + "Title":{ + "shape":"OpsItemTitle", + "documentation":"

A short heading that describes the nature of the OpsItem and the impacted resource.

" + } + } + }, + "UpdateOpsItemResponse":{ + "type":"structure", + "members":{ + } + }, "UpdatePatchBaselineRequest":{ "type":"structure", "required":["BaselineId"], @@ -12304,7 +13422,7 @@ }, "GlobalFilters":{ "shape":"PatchFilterGroup", - "documentation":"

A set of global filters used to exclude patches from the baseline.

" + "documentation":"

A set of global filters used to include patches in the baseline.

" }, "ApprovalRules":{ "shape":"PatchRuleGroup", @@ -12312,7 +13430,7 @@ }, "ApprovedPatches":{ "shape":"PatchIdList", - "documentation":"

A list of explicitly approved patches for the baseline.

For information about accepted formats for lists of approved patches and rejected patches, see Package Name Formats for Approved and Rejected Patch Lists in the AWS Systems Manager User Guide.

" + "documentation":"

A list of explicitly approved patches for the baseline.

For information about accepted formats for lists of approved patches and rejected patches, see Package Name Formats for Approved and Rejected Patch Lists in the AWS Systems Manager User Guide.

" }, "ApprovedPatchesComplianceLevel":{ "shape":"PatchComplianceLevel", @@ -12325,7 +13443,7 @@ }, "RejectedPatches":{ "shape":"PatchIdList", - "documentation":"

A list of explicitly rejected patches for the baseline.

For information about accepted formats for lists of approved patches and rejected patches, see Package Name Formats for Approved and Rejected Patch Lists in the AWS Systems Manager User Guide.

" + "documentation":"

A list of explicitly rejected patches for the baseline.

For information about accepted formats for lists of approved patches and rejected patches, see Package Name Formats for Approved and Rejected Patch Lists in the AWS Systems Manager User Guide.

" }, "RejectedPatchesAction":{ "shape":"PatchAction", @@ -12408,6 +13526,30 @@ } } }, + "UpdateServiceSettingRequest":{ + "type":"structure", + "required":[ + "SettingId", + "SettingValue" + ], + "members":{ + "SettingId":{ + "shape":"ServiceSettingId", + "documentation":"

The ID of the service setting to update.

" + }, + "SettingValue":{ + "shape":"ServiceSettingValue", + "documentation":"

The new value to specify for the service setting.

" + } + }, + "documentation":"

The request body of the UpdateServiceSetting API action.

" + }, + "UpdateServiceSettingResult":{ + "type":"structure", + "members":{ + }, + "documentation":"

The result body of the UpdateServiceSetting API action.

" + }, "Url":{"type":"string"}, "ValidNextStep":{ "type":"string", @@ -12423,5 +13565,5 @@ "pattern":"^[0-9]{1,6}(\\.[0-9]{1,6}){2,3}$" } }, - "documentation":"AWS Systems Manager

AWS Systems Manager is a collection of capabilities that helps you automate management tasks such as collecting system inventory, applying operating system (OS) patches, automating the creation of Amazon Machine Images (AMIs), and configuring operating systems (OSs) and applications at scale. Systems Manager lets you remotely and securely manage the configuration of your managed instances. A managed instance is any Amazon EC2 instance or on-premises machine in your hybrid environment that has been configured for Systems Manager.

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

To get started, verify prerequisites and configure managed instances. For more information, see Systems Manager Prerequisites in the AWS Systems Manager User Guide.

For information about other API actions you can perform on Amazon EC2 instances, see the Amazon EC2 API Reference. For information about how to use a Query API, see Making API Requests.

" + "documentation":"AWS Systems Manager

AWS Systems Manager is a collection of capabilities that helps you automate management tasks such as collecting system inventory, applying operating system (OS) patches, automating the creation of Amazon Machine Images (AMIs), and configuring operating systems (OSs) and applications at scale. Systems Manager lets you remotely and securely manage the configuration of your managed instances. A managed instance is any Amazon EC2 instance or on-premises machine in your hybrid environment that has been configured for Systems Manager.

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

To get started, verify prerequisites and configure managed instances. For more information, see Setting Up AWS Systems Manager in the AWS Systems Manager User Guide.

For information about other API actions you can perform on Amazon EC2 instances, see the Amazon EC2 API Reference. For information about how to use a Query API, see Making API Requests.

" } diff --git a/bin/botocore/data/stepfunctions/2016-11-23/service-2.json b/bin/botocore/data/stepfunctions/2016-11-23/service-2.json index fb978bc5..bed06f47 100644 --- a/bin/botocore/data/stepfunctions/2016-11-23/service-2.json +++ b/bin/botocore/data/stepfunctions/2016-11-23/service-2.json @@ -23,9 +23,10 @@ "output":{"shape":"CreateActivityOutput"}, "errors":[ {"shape":"ActivityLimitExceeded"}, - {"shape":"InvalidName"} + {"shape":"InvalidName"}, + {"shape":"TooManyTags"} ], - "documentation":"

Creates an activity. An activity is a task that you write in any programming language and host on any machine that has access to AWS Step Functions. Activities must poll Step Functions using the GetActivityTask API action and respond using SendTask* API actions. This function lets Step Functions know the existence of your activity and returns an identifier for use in a state machine and when polling from the activity.

", + "documentation":"

Creates an activity. An activity is a task that you write in any programming language and host on any machine that has access to AWS Step Functions. Activities must poll Step Functions using the GetActivityTask API action and respond using SendTask* API actions. This function lets Step Functions know the existence of your activity and returns an identifier for use in a state machine and when polling from the activity.

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

", "idempotent":true }, "CreateStateMachine":{ @@ -42,9 +43,10 @@ {"shape":"InvalidName"}, {"shape":"StateMachineAlreadyExists"}, {"shape":"StateMachineDeleting"}, - {"shape":"StateMachineLimitExceeded"} + {"shape":"StateMachineLimitExceeded"}, + {"shape":"TooManyTags"} ], - "documentation":"

Creates a state machine. A state machine consists of a collection of states that can do work (Task states), determine to which states to transition next (Choice states), stop an execution with an error (Fail states), and so on. State machines are specified using a JSON-based, structured language.

", + "documentation":"

Creates a state machine. A state machine consists of a collection of states that can do work (Task states), determine to which states to transition next (Choice states), stop an execution with an error (Fail states), and so on. State machines are specified using a JSON-based, structured language.

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

", "idempotent":true }, "DeleteActivity":{ @@ -142,7 +144,7 @@ {"shape":"ActivityWorkerLimitExceeded"}, {"shape":"InvalidArn"} ], - "documentation":"

Used by workers to retrieve a task (with the specified activity ARN) which has been scheduled for execution by a running state machine. This initiates a long poll, where the service holds the HTTP connection open and responds as soon as a task becomes available (i.e. an execution of a task of this type is needed.) The maximum time the service holds on to the request before responding is 60 seconds. If no task is available within 60 seconds, the poll returns a taskToken with a null string.

Workers should set their client side socket timeout to at least 65 seconds (5 seconds higher than the maximum time the service may hold the poll request).

Polling with GetActivityTask can cause latency in some implementations. See Avoid Latency When Polling for Activity Tasks in the Step Functions Developer Guide.

" + "documentation":"

Used by workers to retrieve a task (with the specified activity ARN) which has been scheduled for execution by a running state machine. This initiates a long poll, where the service holds the HTTP connection open and responds as soon as a task becomes available (i.e. an execution of a task of this type is needed.) The maximum time the service holds on to the request before responding is 60 seconds. If no task is available within 60 seconds, the poll returns a taskToken with a null string.

Workers should set their client side socket timeout to at least 65 seconds (5 seconds higher than the maximum time the service may hold the poll request).

Polling with GetActivityTask can cause latency in some implementations. See Avoid Latency When Polling for Activity Tasks in the Step Functions Developer Guide.

" }, "GetExecutionHistory":{ "name":"GetExecutionHistory", @@ -157,7 +159,7 @@ {"shape":"InvalidArn"}, {"shape":"InvalidToken"} ], - "documentation":"

Returns the history of the specified execution as a list of events. By default, the results are returned in ascending order of the timeStamp of the events. Use the reverseOrder parameter to get the latest events first.

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" + "documentation":"

Returns the history of the specified execution as a list of events. By default, the results are returned in ascending order of the timeStamp of the events. Use the reverseOrder parameter to get the latest events first.

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" }, "ListActivities":{ "name":"ListActivities", @@ -170,7 +172,7 @@ "errors":[ {"shape":"InvalidToken"} ], - "documentation":"

Lists the existing activities.

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return an HTTP 400 InvalidToken error.

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

" + "documentation":"

Lists the existing activities.

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

" }, "ListExecutions":{ "name":"ListExecutions", @@ -185,7 +187,7 @@ {"shape":"InvalidToken"}, {"shape":"StateMachineDoesNotExist"} ], - "documentation":"

Lists the executions of a state machine that meet the filtering criteria. Results are sorted by time, with the most recent execution first.

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return an HTTP 400 InvalidToken error.

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

" + "documentation":"

Lists the executions of a state machine that meet the filtering criteria. Results are sorted by time, with the most recent execution first.

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

" }, "ListStateMachines":{ "name":"ListStateMachines", @@ -198,7 +200,21 @@ "errors":[ {"shape":"InvalidToken"} ], - "documentation":"

Lists the existing state machines.

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return an HTTP 400 InvalidToken error.

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

" + "documentation":"

Lists the existing state machines.

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceInput"}, + "output":{"shape":"ListTagsForResourceOutput"}, + "errors":[ + {"shape":"InvalidArn"}, + {"shape":"ResourceNotFound"} + ], + "documentation":"

List tags for a given resource.

" }, "SendTaskFailure":{ "name":"SendTaskFailure", @@ -280,6 +296,35 @@ ], "documentation":"

Stops an execution.

" }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceInput"}, + "output":{"shape":"TagResourceOutput"}, + "errors":[ + {"shape":"InvalidArn"}, + {"shape":"ResourceNotFound"}, + {"shape":"TooManyTags"} + ], + "documentation":"

Add a tag to a Step Functions resource.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceInput"}, + "output":{"shape":"UntagResourceOutput"}, + "errors":[ + {"shape":"InvalidArn"}, + {"shape":"ResourceNotFound"} + ], + "documentation":"

Remove a tag from a Step Functions resource

" + }, "UpdateStateMachine":{ "name":"UpdateStateMachine", "http":{ @@ -455,7 +500,11 @@ "members":{ "name":{ "shape":"Name", - "documentation":"

The name of the activity to create. This name must be unique for your AWS account and region for 90 days. For more information, see Limits Related to State Machine Executions in the AWS Step Functions Developer Guide.

A name must not contain:

  • whitespace

  • brackets < > { } [ ]

  • wildcard characters ? *

  • special characters \" # % \\ ^ | ~ ` $ & , ; : /

  • control characters (U+0000-001F, U+007F-009F)

" + "documentation":"

The name of the activity to create. This name must be unique for your AWS account and region for 90 days. For more information, see Limits Related to State Machine Executions in the AWS Step Functions Developer Guide.

A name must not contain:

  • whitespace

  • brackets < > { } [ ]

  • wildcard characters ? *

  • special characters \" # % \\ ^ | ~ ` $ & , ; : /

  • control characters (U+0000-001F, U+007F-009F)

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The list of tags to add to a resource.

" } } }, @@ -490,11 +539,15 @@ }, "definition":{ "shape":"Definition", - "documentation":"

The Amazon States Language definition of the state machine. See Amazon States Language.

" + "documentation":"

The Amazon States Language definition of the state machine. See Amazon States Language.

" }, "roleArn":{ "shape":"Arn", "documentation":"

The Amazon Resource Name (ARN) of the IAM role to use for this state machine.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Tags to be added when creating a state machine.

" } } }, @@ -667,7 +720,7 @@ }, "definition":{ "shape":"Definition", - "documentation":"

The Amazon States Language definition of the state machine. See Amazon States Language.

" + "documentation":"

The Amazon States Language definition of the state machine. See Amazon States Language.

" }, "roleArn":{ "shape":"Arn", @@ -713,7 +766,7 @@ }, "definition":{ "shape":"Definition", - "documentation":"

The Amazon States Language definition of the state machine. See Amazon States Language.

" + "documentation":"

The Amazon States Language definition of the state machine. See Amazon States Language.

" }, "roleArn":{ "shape":"Arn", @@ -890,7 +943,7 @@ "documentation":"

A token that identifies the scheduled task. This token must be copied and included in subsequent calls to SendTaskHeartbeat, SendTaskSuccess or SendTaskFailure in order to report the progress or completion of the task.

" }, "input":{ - "shape":"SensitiveData", + "shape":"SensitiveDataJobInput", "documentation":"

The string that contains the JSON input data for the task.

" } } @@ -913,7 +966,7 @@ }, "nextToken":{ "shape":"PageToken", - "documentation":"

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" + "documentation":"

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" } } }, @@ -927,7 +980,7 @@ }, "nextToken":{ "shape":"PageToken", - "documentation":"

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" + "documentation":"

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" } } }, @@ -964,14 +1017,38 @@ "activityStartedEventDetails":{"shape":"ActivityStartedEventDetails"}, "activitySucceededEventDetails":{"shape":"ActivitySucceededEventDetails"}, "activityTimedOutEventDetails":{"shape":"ActivityTimedOutEventDetails"}, - "taskFailedEventDetails":{"shape":"TaskFailedEventDetails"}, - "taskScheduledEventDetails":{"shape":"TaskScheduledEventDetails"}, - "taskStartFailedEventDetails":{"shape":"TaskStartFailedEventDetails"}, - "taskStartedEventDetails":{"shape":"TaskStartedEventDetails"}, - "taskSubmitFailedEventDetails":{"shape":"TaskSubmitFailedEventDetails"}, - "taskSubmittedEventDetails":{"shape":"TaskSubmittedEventDetails"}, - "taskSucceededEventDetails":{"shape":"TaskSucceededEventDetails"}, - "taskTimedOutEventDetails":{"shape":"TaskTimedOutEventDetails"}, + "taskFailedEventDetails":{ + "shape":"TaskFailedEventDetails", + "documentation":"

Contains details about the failure of a task.

" + }, + "taskScheduledEventDetails":{ + "shape":"TaskScheduledEventDetails", + "documentation":"

Contains details about a task that was scheduled.

" + }, + "taskStartFailedEventDetails":{ + "shape":"TaskStartFailedEventDetails", + "documentation":"

Contains details about a task that failed to start.

" + }, + "taskStartedEventDetails":{ + "shape":"TaskStartedEventDetails", + "documentation":"

Contains details about a task that was started.

" + }, + "taskSubmitFailedEventDetails":{ + "shape":"TaskSubmitFailedEventDetails", + "documentation":"

Contains details about a task that where the submit failed.

" + }, + "taskSubmittedEventDetails":{ + "shape":"TaskSubmittedEventDetails", + "documentation":"

Contains details about a submitted task.

" + }, + "taskSucceededEventDetails":{ + "shape":"TaskSucceededEventDetails", + "documentation":"

Contains details about a task that succeeded.

" + }, + "taskTimedOutEventDetails":{ + "shape":"TaskTimedOutEventDetails", + "documentation":"

Contains details about a task that timed out.

" + }, "executionFailedEventDetails":{"shape":"ExecutionFailedEventDetails"}, "executionStartedEventDetails":{"shape":"ExecutionStartedEventDetails"}, "executionSucceededEventDetails":{"shape":"ExecutionSucceededEventDetails"}, @@ -1196,7 +1273,7 @@ }, "nextToken":{ "shape":"PageToken", - "documentation":"

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" + "documentation":"

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" } } }, @@ -1210,7 +1287,7 @@ }, "nextToken":{ "shape":"PageToken", - "documentation":"

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" + "documentation":"

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" } } }, @@ -1232,7 +1309,7 @@ }, "nextToken":{ "shape":"PageToken", - "documentation":"

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" + "documentation":"

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" } } }, @@ -1246,7 +1323,7 @@ }, "nextToken":{ "shape":"PageToken", - "documentation":"

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" + "documentation":"

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" } } }, @@ -1259,7 +1336,7 @@ }, "nextToken":{ "shape":"PageToken", - "documentation":"

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" + "documentation":"

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" } } }, @@ -1270,7 +1347,26 @@ "stateMachines":{"shape":"StateMachineList"}, "nextToken":{ "shape":"PageToken", - "documentation":"

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" + "documentation":"

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" + } + } + }, + "ListTagsForResourceInput":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) for the Step Functions state machine or activity.

" + } + } + }, + "ListTagsForResourceOutput":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagList", + "documentation":"

An array of tags associated with the resource.

" } } }, @@ -1297,6 +1393,15 @@ "max":1024, "min":1 }, + "ResourceNotFound":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"}, + "resourceName":{"shape":"Arn"} + }, + "documentation":"

Could not fine the referenced resource. Only state machine and activity ARNs are supported.

", + "exception":true + }, "ReverseOrder":{"type":"boolean"}, "SendTaskFailureInput":{ "type":"structure", @@ -1369,6 +1474,11 @@ "max":32768, "sensitive":true }, + "SensitiveDataJobInput":{ + "type":"string", + "max":65536, + "sensitive":true + }, "SensitiveError":{ "type":"string", "max":256, @@ -1385,7 +1495,7 @@ }, "name":{ "shape":"Name", - "documentation":"

The name of the execution. This name must be unique for your AWS account and region for 90 days. For more information, see Limits Related to State Machine Executions in the AWS Step Functions Developer Guide.

A name must not contain:

  • whitespace

  • brackets < > { } [ ]

  • wildcard characters ? *

  • special characters \" # % \\ ^ | ~ ` $ & , ; : /

  • control characters (U+0000-001F, U+007F-009F)

" + "documentation":"

The name of the execution. This name must be unique for your AWS account, region, and state machine for 90 days. For more information, see Limits Related to State Machine Executions in the AWS Step Functions Developer Guide.

A name must not contain:

  • whitespace

  • brackets < > { } [ ]

  • wildcard characters ? *

  • special characters \" # % \\ ^ | ~ ` $ & , ; : /

  • control characters (U+0000-001F, U+007F-009F)

" }, "input":{ "shape":"SensitiveData", @@ -1534,6 +1644,60 @@ } } }, + "Tag":{ + "type":"structure", + "members":{ + "key":{ + "shape":"TagKey", + "documentation":"

The key of a tag.

" + }, + "value":{ + "shape":"TagValue", + "documentation":"

The value of a tag.

" + } + }, + "documentation":"

Tags are key-value pairs that can be associated with Step Functions state machines and activities.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceInput":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) for the Step Functions state machine or activity.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The list of tags to add to a resource.

Tags may only contain unicode letters, digits, whitespace, or these symbols: _ . : / = + - @.

" + } + } + }, + "TagResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, "TaskDoesNotExist":{ "type":"structure", "members":{ @@ -1550,11 +1714,11 @@ "members":{ "resourceType":{ "shape":"Name", - "documentation":"

The action of the connected service called by a task state.

" + "documentation":"

The action of the resource called by a task state.

" }, "resource":{ "shape":"Name", - "documentation":"

The service name of the connected service in a task state.

" + "documentation":"

The service name of the resource in a task state.

" }, "error":{ "shape":"SensitiveError", @@ -1578,16 +1742,19 @@ "members":{ "resourceType":{ "shape":"Name", - "documentation":"

The action of the connected service called by a task state.

" + "documentation":"

The action of the resource called by a task state.

" }, "resource":{ "shape":"Name", - "documentation":"

The service name of the connected service in a task state.

" + "documentation":"

The service name of the resource in a task state.

" + }, + "region":{ + "shape":"Name", + "documentation":"

The region of the scheduled task

" }, - "region":{"shape":"Name"}, "parameters":{ "shape":"ConnectorParameters", - "documentation":"

The JSON data passed to the connected service referenced in a task state.

" + "documentation":"

The JSON data passed to the resource referenced in a task state.

" }, "timeoutInSeconds":{ "shape":"TimeoutInSeconds", @@ -1606,11 +1773,11 @@ "members":{ "resourceType":{ "shape":"Name", - "documentation":"

The action of the connected service called by a task state.

" + "documentation":"

The action of the resource called by a task state.

" }, "resource":{ "shape":"Name", - "documentation":"

The service name of the connected service in a task state.

" + "documentation":"

The service name of the resource in a task state.

" }, "error":{ "shape":"SensitiveError", @@ -1632,11 +1799,11 @@ "members":{ "resourceType":{ "shape":"Name", - "documentation":"

The action of the connected service called by a task state.

" + "documentation":"

The action of the resource called by a task state.

" }, "resource":{ "shape":"Name", - "documentation":"

The service name of the connected service in a task state.

" + "documentation":"

The service name of the resource in a task state.

" } }, "documentation":"

Contains details about the start of a task during an execution.

" @@ -1650,11 +1817,11 @@ "members":{ "resourceType":{ "shape":"Name", - "documentation":"

The action of the connected service called by a task state.

" + "documentation":"

The action of the resource called by a task state.

" }, "resource":{ "shape":"Name", - "documentation":"

The service name of the connected service in a task state.

" + "documentation":"

The service name of the resource in a task state.

" }, "error":{ "shape":"SensitiveError", @@ -1665,7 +1832,7 @@ "documentation":"

A more detailed explanation of the cause of the failure.

" } }, - "documentation":"

" + "documentation":"

Contains details about a task that failed to submit during an execution.

" }, "TaskSubmittedEventDetails":{ "type":"structure", @@ -1676,18 +1843,18 @@ "members":{ "resourceType":{ "shape":"Name", - "documentation":"

The action of the connected service called by a task state.

" + "documentation":"

The action of the resource called by a task state.

" }, "resource":{ "shape":"Name", - "documentation":"

The service name of the connected service in a task state.

" + "documentation":"

The service name of the resource in a task state.

" }, "output":{ "shape":"SensitiveData", - "documentation":"

The response from a connected service when a task has started.

" + "documentation":"

The response from a resource when a task has started.

" } }, - "documentation":"

" + "documentation":"

Contains details about a task submitted to a resource .

" }, "TaskSucceededEventDetails":{ "type":"structure", @@ -1698,18 +1865,18 @@ "members":{ "resourceType":{ "shape":"Name", - "documentation":"

The action of the connected service called by a task state.

" + "documentation":"

The action of the resource called by a task state.

" }, "resource":{ "shape":"Name", - "documentation":"

The service name of the connected service in a task state.

" + "documentation":"

The service name of the resource in a task state.

" }, "output":{ "shape":"SensitiveData", - "documentation":"

The full JSON response from a connected service when a task has succeeded. This response becomes the output of the related task.

" + "documentation":"

The full JSON response from a resource when a task has succeeded. This response becomes the output of the related task.

" } }, - "documentation":"

Contains details about the start of connected service by a task state.

" + "documentation":"

Contains details about the successful completion of a task state.

" }, "TaskTimedOut":{ "type":"structure", @@ -1727,11 +1894,11 @@ "members":{ "resourceType":{ "shape":"Name", - "documentation":"

The action of the connected service called by a task state.

" + "documentation":"

The action of the resource called by a task state.

" }, "resource":{ "shape":"Name", - "documentation":"

The service name of the connected service in a task state.

" + "documentation":"

The service name of the resource in a task state.

" }, "error":{ "shape":"SensitiveError", @@ -1742,7 +1909,7 @@ "documentation":"

A more detailed explanation of the cause of the failure.

" } }, - "documentation":"

Contains details about a connected service timeout that occured during an execution.

" + "documentation":"

Contains details about a resource timeout that occurred during an execution.

" }, "TaskToken":{ "type":"string", @@ -1751,6 +1918,37 @@ }, "TimeoutInSeconds":{"type":"long"}, "Timestamp":{"type":"timestamp"}, + "TooManyTags":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"}, + "resourceName":{"shape":"Arn"} + }, + "documentation":"

You've exceeded the number of tags allowed for a resource. See the Limits Topic in the AWS Step Functions Developer Guide.

", + "exception":true + }, + "UntagResourceInput":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) for the Step Functions state machine or activity.

" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

The list of tags to remove from the resource.

" + } + } + }, + "UntagResourceOutput":{ + "type":"structure", + "members":{ + } + }, "UpdateStateMachineInput":{ "type":"structure", "required":["stateMachineArn"], @@ -1761,7 +1959,7 @@ }, "definition":{ "shape":"Definition", - "documentation":"

The Amazon States Language definition of the state machine. See Amazon States Language.

" + "documentation":"

The Amazon States Language definition of the state machine. See Amazon States Language.

" }, "roleArn":{ "shape":"Arn", @@ -1780,5 +1978,5 @@ } } }, - "documentation":"AWS Step Functions

AWS Step Functions is a service that lets you coordinate the components of distributed applications and microservices using visual workflows.

You can use Step Functions to build applications from individual components, each of which performs a discrete function, or task, allowing you to scale and change applications quickly. Step Functions provides a console that helps visualize the components of your application as a series of steps. Step Functions automatically triggers and tracks each step, and retries steps when there are errors, so your application executes predictably and in the right order every time. Step Functions logs the state of each step, so you can quickly diagnose and debug any issues.

Step Functions manages operations and underlying infrastructure to ensure your application is available at any scale. You can run tasks on AWS, your own servers, or any system that has access to AWS. You can access and use Step Functions using the console, the AWS SDKs, or an HTTP API. For more information about Step Functions, see the AWS Step Functions Developer Guide .

" + "documentation":"AWS Step Functions

AWS Step Functions is a service that lets you coordinate the components of distributed applications and microservices using visual workflows.

You can use Step Functions to build applications from individual components, each of which performs a discrete function, or task, allowing you to scale and change applications quickly. Step Functions provides a console that helps visualize the components of your application as a series of steps. Step Functions automatically triggers and tracks each step, and retries steps when there are errors, so your application executes predictably and in the right order every time. Step Functions logs the state of each step, so you can quickly diagnose and debug any issues.

Step Functions manages operations and underlying infrastructure to ensure your application is available at any scale. You can run tasks on AWS, your own servers, or any system that has access to AWS. You can access and use Step Functions using the console, the AWS SDKs, or an HTTP API. For more information about Step Functions, see the AWS Step Functions Developer Guide .

" } diff --git a/bin/botocore/data/storagegateway/2013-06-30/paginators-1.json b/bin/botocore/data/storagegateway/2013-06-30/paginators-1.json index b5e10c05..6126e782 100644 --- a/bin/botocore/data/storagegateway/2013-06-30/paginators-1.json +++ b/bin/botocore/data/storagegateway/2013-06-30/paginators-1.json @@ -35,6 +35,30 @@ "limit_key": "Limit", "output_token": "Marker", "result_key": "VolumeInfos" + }, + "ListTapes": { + "input_token": "Marker", + "limit_key": "Limit", + "output_token": "Marker", + "result_key": "TapeInfos" + }, + "ListFileShares": { + "input_token": "Marker", + "limit_key": "Limit", + "non_aggregate_keys": [ + "Marker" + ], + "output_token": "NextMarker", + "result_key": "FileShareInfoList" + }, + "ListTagsForResource": { + "input_token": "Marker", + "limit_key": "Limit", + "non_aggregate_keys": [ + "ResourceARN" + ], + "output_token": "Marker", + "result_key": "Tags" } } } diff --git a/bin/botocore/data/storagegateway/2013-06-30/service-2.json b/bin/botocore/data/storagegateway/2013-06-30/service-2.json index 7c6fbb61..e733c733 100644 --- a/bin/botocore/data/storagegateway/2013-06-30/service-2.json +++ b/bin/botocore/data/storagegateway/2013-06-30/service-2.json @@ -38,7 +38,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Configures one or more gateway local disks as cache for a gateway. This operation is only supported in the cached volume, tape and file gateway type (see Storage Gateway Concepts).

In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add cache, and one or more disk IDs that you want to configure as cache.

" + "documentation":"

Configures one or more gateway local disks as cache for a gateway. This operation is only supported in the cached volume, tape and file gateway type (see Storage Gateway Concepts).

In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add cache, and one or more disk IDs that you want to configure as cache.

" }, "AddTagsToResource":{ "name":"AddTagsToResource", @@ -52,7 +52,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Adds one or more tags to the specified resource. You use tags to add metadata to resources, which you can use to categorize these resources. For example, you can categorize resources by purpose, owner, environment, or team. Each tag consists of a key and a value, which you define. You can add tags to the following AWS Storage Gateway resources:

  • Storage gateways of all types

  • Storage Volumes

  • Virtual Tapes

You can create a maximum of 10 tags for each resource. Virtual tapes and storage volumes that are recovered to a new gateway maintain their tags.

" + "documentation":"

Adds one or more tags to the specified resource. You use tags to add metadata to resources, which you can use to categorize these resources. For example, you can categorize resources by purpose, owner, environment, or team. Each tag consists of a key and a value, which you define. You can add tags to the following AWS Storage Gateway resources:

  • Storage gateways of all types

  • Storage volumes

  • Virtual tapes

  • NFS and SMB file shares

You can create a maximum of 50 tags for each resource. Virtual tapes and storage volumes that are recovered to a new gateway maintain their tags.

" }, "AddUploadBuffer":{ "name":"AddUploadBuffer", @@ -82,6 +82,34 @@ ], "documentation":"

Configures one or more gateway local disks as working storage for a gateway. This operation is only supported in the stored volume gateway type. This operation is deprecated in cached volume API version 20120630. Use AddUploadBuffer instead.

Working storage is also referred to as upload buffer. You can also use the AddUploadBuffer operation to add upload buffer to a stored volume gateway.

In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add working storage, and one or more disk IDs that you want to configure as working storage.

" }, + "AssignTapePool":{ + "name":"AssignTapePool", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssignTapePoolInput"}, + "output":{"shape":"AssignTapePoolOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Assigns a tape to a tape pool for archiving. The tape assigned to a pool is archived in the S3 storage class that is associated with the pool. When you use your backup application to eject the tape, the tape is archived directly into the S3 storage class (Glacier or Deep Archive) that corresponds to the pool.

Valid values: \"GLACIER\", \"DEEP_ARCHIVE\"

" + }, + "AttachVolume":{ + "name":"AttachVolume", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AttachVolumeInput"}, + "output":{"shape":"AttachVolumeOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Connects a volume to an iSCSI connection and then attaches the volume to the specified gateway. Detaching and attaching a volume enables you to recover your data from one gateway to a different gateway without creating a snapshot. It also makes it easier to move your volumes from an on-premises gateway to a gateway hosted on an Amazon EC2 instance.

" + }, "CancelArchival":{ "name":"CancelArchival", "http":{ @@ -150,7 +178,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Creates a Server Message Block (SMB) file share on an existing file gateway. In Storage Gateway, a file share is a file system mount point backed by Amazon S3 cloud storage. Storage Gateway expose file shares using a SMB interface. This operation is only supported for file gateways.

File gateways require AWS Security Token Service (AWS STS) to be activated to enable you to create a file share. Make sure that AWS STS is activated in the AWS Region you are creating your file gateway in. If AWS STS is not activated in this AWS Region, activate it. For information about how to activate AWS STS, see Activating and Deactivating AWS STS in an AWS Region in the AWS Identity and Access Management User Guide.

File gateways don't support creating hard or symbolic links on a file share.

" + "documentation":"

Creates a Server Message Block (SMB) file share on an existing file gateway. In Storage Gateway, a file share is a file system mount point backed by Amazon S3 cloud storage. Storage Gateway expose file shares using a SMB interface. This operation is only supported for file gateways.

File gateways require AWS Security Token Service (AWS STS) to be activated to enable you to create a file share. Make sure that AWS STS is activated in the AWS Region you are creating your file gateway in. If AWS STS is not activated in this AWS Region, activate it. For information about how to activate AWS STS, see Activating and Deactivating AWS STS in an AWS Region in the AWS Identity and Access Management User Guide.

File gateways don't support creating hard or symbolic links on a file share.

" }, "CreateSnapshot":{ "name":"CreateSnapshot", @@ -165,7 +193,7 @@ {"shape":"InternalServerError"}, {"shape":"ServiceUnavailableError"} ], - "documentation":"

Initiates a snapshot of a volume.

AWS Storage Gateway provides the ability to back up point-in-time snapshots of your data to Amazon Simple Storage (S3) for durable off-site recovery, as well as import the data to an Amazon Elastic Block Store (EBS) volume in Amazon Elastic Compute Cloud (EC2). You can take snapshots of your gateway volume on a scheduled or ad-hoc basis. This API enables you to take ad-hoc snapshot. For more information, see Editing a Snapshot Schedule.

In the CreateSnapshot request you identify the volume by providing its Amazon Resource Name (ARN). You must also provide description for the snapshot. When AWS Storage Gateway takes the snapshot of specified volume, the snapshot and description appears in the AWS Storage Gateway Console. In response, AWS Storage Gateway returns you a snapshot ID. You can use this snapshot ID to check the snapshot progress or later use it when you want to create a volume from a snapshot. This operation is only supported in stored and cached volume gateway type.

To list or delete a snapshot, you must use the Amazon EC2 API. For more information, see DescribeSnapshots or DeleteSnapshot in the EC2 API reference.

Volume and snapshot IDs are changing to a longer length ID format. For more information, see the important note on the Welcome page.

" + "documentation":"

Initiates a snapshot of a volume.

AWS Storage Gateway provides the ability to back up point-in-time snapshots of your data to Amazon Simple Storage (S3) for durable off-site recovery, as well as import the data to an Amazon Elastic Block Store (EBS) volume in Amazon Elastic Compute Cloud (EC2). You can take snapshots of your gateway volume on a scheduled or ad hoc basis. This API enables you to take ad-hoc snapshot. For more information, see Editing a Snapshot Schedule.

In the CreateSnapshot request you identify the volume by providing its Amazon Resource Name (ARN). You must also provide description for the snapshot. When AWS Storage Gateway takes the snapshot of specified volume, the snapshot and description appears in the AWS Storage Gateway Console. In response, AWS Storage Gateway returns you a snapshot ID. You can use this snapshot ID to check the snapshot progress or later use it when you want to create a volume from a snapshot. This operation is only supported in stored and cached volume gateway type.

To list or delete a snapshot, you must use the Amazon EC2 API. For more information, see DescribeSnapshots or DeleteSnapshot in the EC2 API reference.

Volume and snapshot IDs are changing to a longer length ID format. For more information, see the important note on the Welcome page.

" }, "CreateSnapshotFromVolumeRecoveryPoint":{ "name":"CreateSnapshotFromVolumeRecoveryPoint", @@ -292,7 +320,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Deletes a snapshot of a volume.

You can take snapshots of your gateway volumes on a scheduled or ad hoc basis. This API action enables you to delete a snapshot schedule for a volume. For more information, see Working with Snapshots. In the DeleteSnapshotSchedule request, you identify the volume by providing its Amazon Resource Name (ARN). This operation is only supported in stored and cached volume gateway types.

To list or delete a snapshot, you must use the Amazon EC2 API. in Amazon Elastic Compute Cloud API Reference.

" + "documentation":"

Deletes a snapshot of a volume.

You can take snapshots of your gateway volumes on a scheduled or ad hoc basis. This API action enables you to delete a snapshot schedule for a volume. For more information, see Working with Snapshots. In the DeleteSnapshotSchedule request, you identify the volume by providing its Amazon Resource Name (ARN). This operation is only supported in stored and cached volume gateway types.

To list or delete a snapshot, you must use the Amazon EC2 API. in Amazon Elastic Compute Cloud API Reference.

" }, "DeleteTape":{ "name":"DeleteTape", @@ -334,7 +362,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Deletes the specified storage volume that you previously created using the CreateCachediSCSIVolume or CreateStorediSCSIVolume API. This operation is only supported in the cached volume and stored volume types. For stored volume gateways, the local disk that was configured as the storage volume is not deleted. You can reuse the local disk to create another storage volume.

Before you delete a volume, make sure there are no iSCSI connections to the volume you are deleting. You should also make sure there is no snapshot in progress. You can use the Amazon Elastic Compute Cloud (Amazon EC2) API to query snapshots on the volume you are deleting and check the snapshot status. For more information, go to DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.

In the request, you must provide the Amazon Resource Name (ARN) of the storage volume you want to delete.

" + "documentation":"

Deletes the specified storage volume that you previously created using the CreateCachediSCSIVolume or CreateStorediSCSIVolume API. This operation is only supported in the cached volume and stored volume types. For stored volume gateways, the local disk that was configured as the storage volume is not deleted. You can reuse the local disk to create another storage volume.

Before you delete a volume, make sure there are no iSCSI connections to the volume you are deleting. You should also make sure there is no snapshot in progress. You can use the Amazon Elastic Compute Cloud (Amazon EC2) API to query snapshots on the volume you are deleting and check the snapshot status. For more information, go to DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.

In the request, you must provide the Amazon Resource Name (ARN) of the storage volume you want to delete.

" }, "DescribeBandwidthRateLimit":{ "name":"DescribeBandwidthRateLimit", @@ -574,6 +602,20 @@ ], "documentation":"

Returns information about the working storage of a gateway. This operation is only supported in the stored volumes gateway type. This operation is deprecated in cached volumes API version (20120630). Use DescribeUploadBuffer instead.

Working storage is also referred to as upload buffer. You can also use the DescribeUploadBuffer operation to add upload buffer to a stored volume gateway.

The response includes disk IDs that are configured as working storage, and it includes the amount of working storage allocated and used.

" }, + "DetachVolume":{ + "name":"DetachVolume", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetachVolumeInput"}, + "output":{"shape":"DetachVolumeOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Disconnects a volume from an iSCSI connection and then detaches the volume from the specified gateway. Detaching and attaching a volume enables you to recover your data from one gateway to a different gateway without creating a snapshot. It also makes it easier to move your volumes from an on-premises gateway to a gateway hosted on an Amazon EC2 instance.

" + }, "DisableGateway":{ "name":"DisableGateway", "http":{ @@ -740,7 +782,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Refreshes the cache for the specified file share. This operation finds objects in the Amazon S3 bucket that were added, removed or replaced since the gateway last listed the bucket's contents and cached the results. This operation is only supported in the file gateway type. You can subscribe to be notified through an Amazon CloudWatch event when your RefreshCache operation completes. For more information, see Getting Notified About File Operations.

" + "documentation":"

Refreshes the cache for the specified file share. This operation finds objects in the Amazon S3 bucket that were added, removed or replaced since the gateway last listed the bucket's contents and cached the results. This operation is only supported in the file gateway type. You can subscribe to be notified through an Amazon CloudWatch event when your RefreshCache operation completes. For more information, see Getting Notified About File Operations.

When this API is called, it only initiates the refresh operation. When the API call completes and returns a success code, it doesn't necessarily mean that the file refresh has completed. You should use the refresh-complete notification to determine that the operation has completed before you check for new files on the gateway file share. You can subscribe to be notified through an CloudWatch event when your RefreshCache operation completes.

" }, "RemoveTagsFromResource":{ "name":"RemoveTagsFromResource", @@ -908,7 +950,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Updates the gateway virtual machine (VM) software. The request immediately triggers the software update.

When you make this request, you get a 200 OK success response immediately. However, it might take some time for the update to complete. You can call DescribeGatewayInformation to verify the gateway is in the STATE_RUNNING state.

A software update forces a system restart of your gateway. You can minimize the chance of any disruption to your applications by increasing your iSCSI Initiators' timeouts. For more information about increasing iSCSI Initiator timeouts for Windows and Linux, see Customizing Your Windows iSCSI Settings and Customizing Your Linux iSCSI Settings, respectively.

" + "documentation":"

Updates the gateway virtual machine (VM) software. The request immediately triggers the software update.

When you make this request, you get a 200 OK success response immediately. However, it might take some time for the update to complete. You can call DescribeGatewayInformation to verify the gateway is in the STATE_RUNNING state.

A software update forces a system restart of your gateway. You can minimize the chance of any disruption to your applications by increasing your iSCSI Initiators' timeouts. For more information about increasing iSCSI Initiator timeouts for Windows and Linux, see Customizing Your Windows iSCSI Settings and Customizing Your Linux iSCSI Settings, respectively.

" }, "UpdateMaintenanceStartTime":{ "name":"UpdateMaintenanceStartTime", @@ -950,7 +992,21 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Updates a Server Message Block (SMB) file share.

To leave a file share field unchanged, set the corresponding input field to null. This operation is only supported for file gateways.

File gateways require AWS Security Token Service (AWS STS) to be activated to enable you to create a file share. Make sure that AWS STS is activated in the AWS Region you are creating your file gateway in. If AWS STS is not activated in this AWS Region, activate it. For information about how to activate AWS STS, see Activating and Deactivating AWS STS in an AWS Region in the AWS Identity and Access Management User Guide.

File gateways don't support creating hard or symbolic links on a file share.

" + "documentation":"

Updates a Server Message Block (SMB) file share.

To leave a file share field unchanged, set the corresponding input field to null. This operation is only supported for file gateways.

File gateways require AWS Security Token Service (AWS STS) to be activated to enable you to create a file share. Make sure that AWS STS is activated in the AWS Region you are creating your file gateway in. If AWS STS is not activated in this AWS Region, activate it. For information about how to activate AWS STS, see Activating and Deactivating AWS STS in an AWS Region in the AWS Identity and Access Management User Guide.

File gateways don't support creating hard or symbolic links on a file share.

" + }, + "UpdateSMBSecurityStrategy":{ + "name":"UpdateSMBSecurityStrategy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSMBSecurityStrategyInput"}, + "output":{"shape":"UpdateSMBSecurityStrategyOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Updates the SMB security strategy on a file gateway. This action is only supported in file gateways.

" }, "UpdateSnapshotSchedule":{ "name":"UpdateSnapshotSchedule", @@ -1005,7 +1061,7 @@ }, "GatewayRegion":{ "shape":"RegionId", - "documentation":"

A value that indicates the region where you want to store your data. The gateway region specified must be the same region as the region in your Host header in the request. For more information about available regions and endpoints for AWS Storage Gateway, see Regions and Endpoints in the Amazon Web Services Glossary.

Valid Values: \"us-east-1\", \"us-east-2\", \"us-west-1\", \"us-west-2\", \"ca-central-1\", \"eu-west-1\", \"eu-central-1\", \"eu-west-2\", \"eu-west-3\", \"ap-northeast-1\", \"ap-northeast-2\", \"ap-southeast-1\", \"ap-southeast-2\", \"ap-south-1\", \"sa-east-1\"

" + "documentation":"

A value that indicates the region where you want to store your data. The gateway region specified must be the same region as the region in your Host header in the request. For more information about available regions and endpoints for AWS Storage Gateway, see Regions and Endpoints in the Amazon Web Services Glossary.

Valid Values: See AWS Storage Gateway Regions and Endpoints in the AWS General Reference.

" }, "GatewayType":{ "shape":"GatewayType", @@ -1018,6 +1074,10 @@ "MediumChangerType":{ "shape":"MediumChangerType", "documentation":"

The value that indicates the type of medium changer to use for tape gateway. This field is optional.

Valid Values: \"STK-L700\", \"AWS-Gateway-VTL\"

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A list of up to 50 tags that can be assigned to the gateway. Each tag is a key-value pair.

Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.

" } }, "documentation":"

A JSON object containing one or more of the following fields:

" @@ -1042,7 +1102,10 @@ ], "members":{ "GatewayARN":{"shape":"GatewayARN"}, - "DiskIds":{"shape":"DiskIds"} + "DiskIds":{ + "shape":"DiskIds", + "documentation":"

An array of strings that identify disks that are to be configured as working storage. Each string have a minimum length of 1 and maximum length of 300. You can get the disk IDs from the ListLocalDisks API.

" + } } }, "AddCacheOutput":{ @@ -1064,7 +1127,7 @@ }, "Tags":{ "shape":"Tags", - "documentation":"

The key-value pair that represents the tag you want to add to the resource. The value can be an empty string.

Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @.

" + "documentation":"

The key-value pair that represents the tag you want to add to the resource. The value can be an empty string.

Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.

" } }, "documentation":"

AddTagsToResourceInput

" @@ -1087,7 +1150,10 @@ ], "members":{ "GatewayARN":{"shape":"GatewayARN"}, - "DiskIds":{"shape":"DiskIds"} + "DiskIds":{ + "shape":"DiskIds", + "documentation":"

An array of strings that identify disks that are to be configured as working storage. Each string have a minimum length of 1 and maximum length of 300. You can get the disk IDs from the ListLocalDisks API.

" + } } }, "AddUploadBufferOutput":{ @@ -1118,6 +1184,77 @@ }, "documentation":"

A JSON object containing the of the gateway for which working storage was configured.

" }, + "AssignTapePoolInput":{ + "type":"structure", + "required":[ + "TapeARN", + "PoolId" + ], + "members":{ + "TapeARN":{ + "shape":"TapeARN", + "documentation":"

The unique Amazon Resource Name (ARN) of the virtual tape that you want to add to the tape pool.

" + }, + "PoolId":{ + "shape":"PoolId", + "documentation":"

The ID of the pool that you want to add your tape to for archiving. The tape in this pool is archived in the S3 storage class that is associated with the pool. When you use your backup application to eject the tape, the tape is archived directly into the storage class (Glacier or Deep Archive) that corresponds to the pool.

Valid values: \"GLACIER\", \"DEEP_ARCHIVE\"

" + } + } + }, + "AssignTapePoolOutput":{ + "type":"structure", + "members":{ + "TapeARN":{ + "shape":"TapeARN", + "documentation":"

The unique Amazon Resource Names (ARN) of the virtual tape that was added to the tape pool.

" + } + } + }, + "AttachVolumeInput":{ + "type":"structure", + "required":[ + "GatewayARN", + "VolumeARN", + "NetworkInterfaceId" + ], + "members":{ + "GatewayARN":{ + "shape":"GatewayARN", + "documentation":"

The Amazon Resource Name (ARN) of the gateway that you want to attach the volume to.

" + }, + "TargetName":{ + "shape":"TargetName", + "documentation":"

The name of the iSCSI target used by an initiator to connect to a volume and used as a suffix for the target ARN. For example, specifying TargetName as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. The target name must be unique across all volumes on a gateway.

If you don't specify a value, Storage Gateway uses the value that was previously used for this volume as the new target name.

" + }, + "VolumeARN":{ + "shape":"VolumeARN", + "documentation":"

The Amazon Resource Name (ARN) of the volume to attach to the specified gateway.

" + }, + "NetworkInterfaceId":{ + "shape":"NetworkInterfaceId", + "documentation":"

The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted. Use DescribeGatewayInformation to get a list of the network interfaces available on a gateway.

Valid Values: A valid IP address.

" + }, + "DiskId":{ + "shape":"DiskId", + "documentation":"

The unique device ID or other distinguishing data that identifies the local disk used to create the volume. This value is only required when you are attaching a stored volume.

" + } + }, + "documentation":"

AttachVolumeInput

" + }, + "AttachVolumeOutput":{ + "type":"structure", + "members":{ + "VolumeARN":{ + "shape":"VolumeARN", + "documentation":"

The Amazon Resource Name (ARN) of the volume that was attached to the gateway.

" + }, + "TargetARN":{ + "shape":"TargetARN", + "documentation":"

The Amazon Resource Name (ARN) of the volume target, which includes the iSCSI name for the initiator that was used to connect to the target.

" + } + }, + "documentation":"

AttachVolumeOutput

" + }, "Authentication":{ "type":"string", "documentation":"

The authentication method of the file share.

Valid values are ActiveDirectory or GuestAccess. The default is ActiveDirectory.

", @@ -1157,6 +1294,10 @@ "shape":"VolumeStatus", "documentation":"

One of the VolumeStatus values that indicates the state of the storage volume.

" }, + "VolumeAttachmentStatus":{ + "shape":"VolumeAttachmentStatus", + "documentation":"

A value that indicates whether a storage volume is attached to or detached from a gateway. For more information, see Moving Your Volumes to a Different Gateway.

" + }, "VolumeSizeInBytes":{ "shape":"long", "documentation":"

The size, in bytes, of the volume capacity.

" @@ -1179,9 +1320,13 @@ }, "VolumeUsedInBytes":{ "shape":"VolumeUsedInBytes", - "documentation":"

The size of the data stored on the volume in bytes.

This value is not available for volumes created prior to May 13, 2015, until you store data on the volume.

" + "documentation":"

The size of the data stored on the volume in bytes. This value is calculated based on the number of blocks that are touched, instead of the actual amount of data written. This value can be useful for sequential write patterns but less accurate for random write patterns. VolumeUsedInBytes is different from the compressed size of the volume, which is the value that is used to calculate your bill.

This value is not available for volumes created prior to May 13, 2015, until you store data on the volume.

" }, - "KMSKey":{"shape":"KMSKey"} + "KMSKey":{"shape":"KMSKey"}, + "TargetName":{ + "shape":"TargetName", + "documentation":"

The name of the iSCSI target used by an initiator to connect to a volume and used as a suffix for the target ARN. For example, specifying TargetName as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. The target name must be unique across all volumes on a gateway.

If you don't specify a value, Storage Gateway uses the value that was previously used for this volume as the new target name.

" + } }, "documentation":"

Describes an iSCSI cached volume.

" }, @@ -1268,7 +1413,8 @@ "ChapSecret":{ "type":"string", "max":100, - "min":1 + "min":1, + "sensitive":true }, "ClientToken":{ "type":"string", @@ -1292,11 +1438,11 @@ }, "SnapshotId":{ "shape":"SnapshotId", - "documentation":"

The snapshot ID (e.g. \"snap-1122aabb\") of the snapshot to restore as the new cached volume. Specify this field if you want to create the iSCSI storage volume from a snapshot otherwise do not include this field. To list snapshots for your account use DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.

" + "documentation":"

The snapshot ID (e.g. \"snap-1122aabb\") of the snapshot to restore as the new cached volume. Specify this field if you want to create the iSCSI storage volume from a snapshot otherwise do not include this field. To list snapshots for your account use DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.

" }, "TargetName":{ "shape":"TargetName", - "documentation":"

The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. For example, specifying TargetName as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. The target name must be unique across all volumes of a gateway.

" + "documentation":"

The name of the iSCSI target used by an initiator to connect to a volume and used as a suffix for the target ARN. For example, specifying TargetName as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. The target name must be unique across all volumes on a gateway.

If you don't specify a value, Storage Gateway uses the value that was previously used for this volume as the new target name.

" }, "SourceVolumeARN":{ "shape":"VolumeARN", @@ -1317,6 +1463,10 @@ "KMSKey":{ "shape":"KMSKey", "documentation":"

The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when KMSEncrypted is true. Optional.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A list of up to 50 tags that can be assigned to a cached volume. Each tag is a key-value pair.

Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.

" } } }, @@ -1329,7 +1479,7 @@ }, "TargetARN":{ "shape":"TargetARN", - "documentation":"

he Amazon Resource Name (ARN) of the volume target that includes the iSCSI name that initiators can use to connect to the target.

" + "documentation":"

The Amazon Resource Name (ARN) of the volume target, which includes the iSCSI name that initiators can use to connect to the target.

" } } }, @@ -1384,7 +1534,7 @@ }, "Squash":{ "shape":"Squash", - "documentation":"

Maps a user to anonymous user. Valid options are the following:

  • RootSquash - Only root is mapped to anonymous user.

  • NoSquash - No one is mapped to anonymous user

  • AllSquash - Everyone is mapped to anonymous user.

" + "documentation":"

A value that maps a user to anonymous user. Valid options are the following:

  • RootSquash - Only root is mapped to anonymous user.

  • NoSquash - No one is mapped to anonymous user

  • AllSquash - Everyone is mapped to anonymous user.

" }, "ReadOnly":{ "shape":"Boolean", @@ -1396,7 +1546,11 @@ }, "RequesterPays":{ "shape":"Boolean", - "documentation":"

A value that sets the access control list permission for objects in the Amazon S3 bucket that a file gateway puts objects into. The default value is private.

" + "documentation":"

A value that sets who pays the cost of the request and the cost associated with data download from the S3 bucket. If this value is set to true, the requester pays the costs. Otherwise the S3 bucket owner pays. However, the S3 bucket owner always pays the cost of storing data.

RequesterPays is a configuration for the S3 bucket that backs the file share, so make sure that the configuration on the file share is the same as the S3 bucket configuration.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A list of up to 50 tags that can be assigned to the NFS file share. Each tag is a key-value pair.

Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.

" } }, "documentation":"

CreateNFSFileShareInput

" @@ -1462,7 +1616,15 @@ }, "RequesterPays":{ "shape":"Boolean", - "documentation":"

A value that sets the access control list permission for objects in the Amazon S3 bucket that a file gateway puts objects into. The default value is private.

" + "documentation":"

A value that sets who pays the cost of the request and the cost associated with data download from the S3 bucket. If this value is set to true, the requester pays the costs. Otherwise the S3 bucket owner pays. However, the S3 bucket owner always pays the cost of storing data.

RequesterPays is a configuration for the S3 bucket that backs the file share, so make sure that the configuration on the file share is the same as the S3 bucket configuration.

" + }, + "SMBACLEnabled":{ + "shape":"Boolean", + "documentation":"

Set this value to \"true to enable ACL (access control list) on the SMB file share. Set it to \"false\" to map file and directory permissions to the POSIX permissions.

For more information, see https://docs.aws.amazon.com/storagegateway/latest/userguide/smb-acl.html in the Storage Gateway User Guide.

" + }, + "AdminUserList":{ + "shape":"FileShareUserList", + "documentation":"

A list of users or groups in the Active Directory that have administrator rights to the file share. A group must be prefixed with the @ character. For example @group1. Can only be set if Authentication is set to ActiveDirectory.

" }, "ValidUserList":{ "shape":"FileShareUserList", @@ -1475,6 +1637,10 @@ "Authentication":{ "shape":"Authentication", "documentation":"

The authentication method that users use to access the file share.

Valid values are ActiveDirectory or GuestAccess. The default is ActiveDirectory.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A list of up to 50 tags that can be assigned to the NFS file share. Each tag is a key-value pair.

Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.

" } }, "documentation":"

CreateSMBFileShareInput

" @@ -1496,16 +1662,31 @@ "SnapshotDescription" ], "members":{ - "VolumeARN":{"shape":"VolumeARN"}, - "SnapshotDescription":{"shape":"SnapshotDescription"} + "VolumeARN":{ + "shape":"VolumeARN", + "documentation":"

The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes operation to return to retrieve the TargetARN for specified VolumeARN.

" + }, + "SnapshotDescription":{ + "shape":"SnapshotDescription", + "documentation":"

Textual description of the snapshot that appears in the Amazon EC2 console, Elastic Block Store snapshots panel in the Description field, and in the AWS Storage Gateway snapshot Details pane, Description field

" + } } }, "CreateSnapshotFromVolumeRecoveryPointOutput":{ "type":"structure", "members":{ - "SnapshotId":{"shape":"SnapshotId"}, - "VolumeARN":{"shape":"VolumeARN"}, - "VolumeRecoveryPointTime":{"shape":"string"} + "SnapshotId":{ + "shape":"SnapshotId", + "documentation":"

The ID of the snapshot.

" + }, + "VolumeARN":{ + "shape":"VolumeARN", + "documentation":"

The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes operation to return to retrieve the TargetARN for specified VolumeARN.

" + }, + "VolumeRecoveryPointTime":{ + "shape":"string", + "documentation":"

The time the volume was created from the recovery point.

" + } } }, "CreateSnapshotInput":{ @@ -1522,6 +1703,10 @@ "SnapshotDescription":{ "shape":"SnapshotDescription", "documentation":"

Textual description of the snapshot that appears in the Amazon EC2 console, Elastic Block Store snapshots panel in the Description field, and in the AWS Storage Gateway snapshot Details pane, Description field

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A list of up to 50 tags that can be assigned to a snapshot. Each tag is a key-value pair.

Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.

" } }, "documentation":"

A JSON object containing one or more of the following fields:

" @@ -1553,11 +1738,11 @@ "GatewayARN":{"shape":"GatewayARN"}, "DiskId":{ "shape":"DiskId", - "documentation":"

The unique identifier for the gateway local disk that is configured as a stored volume. Use ListLocalDisks to list disk IDs for a gateway.

" + "documentation":"

The unique identifier for the gateway local disk that is configured as a stored volume. Use ListLocalDisks to list disk IDs for a gateway.

" }, "SnapshotId":{ "shape":"SnapshotId", - "documentation":"

The snapshot ID (e.g. \"snap-1122aabb\") of the snapshot to restore as the new stored volume. Specify this field if you want to create the iSCSI storage volume from a snapshot otherwise do not include this field. To list snapshots for your account use DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.

" + "documentation":"

The snapshot ID (e.g. \"snap-1122aabb\") of the snapshot to restore as the new stored volume. Specify this field if you want to create the iSCSI storage volume from a snapshot otherwise do not include this field. To list snapshots for your account use DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.

" }, "PreserveExistingData":{ "shape":"boolean", @@ -1565,7 +1750,7 @@ }, "TargetName":{ "shape":"TargetName", - "documentation":"

The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. For example, specifying TargetName as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. The target name must be unique across all volumes of a gateway.

" + "documentation":"

The name of the iSCSI target used by an initiator to connect to a volume and used as a suffix for the target ARN. For example, specifying TargetName as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. The target name must be unique across all volumes on a gateway.

If you don't specify a value, Storage Gateway uses the value that was previously used for this volume as the new target name.

" }, "NetworkInterfaceId":{ "shape":"NetworkInterfaceId", @@ -1578,6 +1763,10 @@ "KMSKey":{ "shape":"KMSKey", "documentation":"

The Amazon Resource Name (ARN) of the KMS key used for Amazon S3 server side encryption. This value can only be set when KMSEncrypted is true. Optional.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A list of up to 50 tags that can be assigned to a stored volume. Each tag is a key-value pair.

Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.

" } }, "documentation":"

A JSON object containing one or more of the following fields:

" @@ -1595,7 +1784,7 @@ }, "TargetARN":{ "shape":"TargetARN", - "documentation":"

he Amazon Resource Name (ARN) of the volume target that includes the iSCSI name that initiators can use to connect to the target.

" + "documentation":"

The Amazon Resource Name (ARN) of the volume target, which includes the iSCSI name that initiators can use to connect to the target.

" } }, "documentation":"

A JSON object containing the following fields:

" @@ -1627,6 +1816,14 @@ "KMSKey":{ "shape":"KMSKey", "documentation":"

The Amazon Resource Name (ARN) of the AWS KMS Key used for Amazon S3 server side encryption. This value can only be set when KMSEncrypted is true. Optional.

" + }, + "PoolId":{ + "shape":"PoolId", + "documentation":"

The ID of the pool that you want to add your tape to for archiving. The tape in this pool is archived in the S3 storage class that is associated with the pool. When you use your backup application to eject the tape, the tape is archived directly into the storage class (Glacier or Deep Archive) that corresponds to the pool.

Valid values: \"GLACIER\", \"DEEP_ARCHIVE\"

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A list of up to 50 tags that can be assigned to a virtual tape that has a barcode. Each tag is a key-value pair.

Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.

" } }, "documentation":"

CreateTapeWithBarcodeInput

" @@ -1678,6 +1875,14 @@ "KMSKey":{ "shape":"KMSKey", "documentation":"

The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when KMSEncrypted is true. Optional.

" + }, + "PoolId":{ + "shape":"PoolId", + "documentation":"

The ID of the pool that you want to add your tape to for archiving. The tape in this pool is archived in the S3 storage class that is associated with the pool. When you use your backup application to eject the tape, the tape is archived directly into the storage class (Glacier or Deep Archive) that corresponds to the pool.

Valid values: \"GLACIER\", \"DEEP_ARCHIVE\"

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A list of up to 50 tags that can be assigned to a virtual tape. Each tag is a key-value pair.

Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.

" } }, "documentation":"

CreateTapesInput

" @@ -1693,6 +1898,11 @@ "documentation":"

CreateTapeOutput

" }, "CreatedDate":{"type":"timestamp"}, + "DayOfMonth":{ + "type":"integer", + "max":28, + "min":1 + }, "DayOfWeek":{ "type":"integer", "max":6, @@ -1796,13 +2006,19 @@ "type":"structure", "required":["VolumeARN"], "members":{ - "VolumeARN":{"shape":"VolumeARN"} + "VolumeARN":{ + "shape":"VolumeARN", + "documentation":"

The volume which snapshot schedule to delete.

" + } } }, "DeleteSnapshotScheduleOutput":{ "type":"structure", "members":{ - "VolumeARN":{"shape":"VolumeARN"} + "VolumeARN":{ + "shape":"VolumeARN", + "documentation":"

The volume which snapshot schedule was deleted.

" + } } }, "DeleteTapeArchiveInput":{ @@ -1909,19 +2125,40 @@ "type":"structure", "members":{ "GatewayARN":{"shape":"GatewayARN"}, - "DiskIds":{"shape":"DiskIds"}, - "CacheAllocatedInBytes":{"shape":"long"}, - "CacheUsedPercentage":{"shape":"double"}, - "CacheDirtyPercentage":{"shape":"double"}, - "CacheHitPercentage":{"shape":"double"}, - "CacheMissPercentage":{"shape":"double"} + "DiskIds":{ + "shape":"DiskIds", + "documentation":"

An array of strings that identify disks that are to be configured as working storage. Each string have a minimum length of 1 and maximum length of 300. You can get the disk IDs from the ListLocalDisks API.

" + }, + "CacheAllocatedInBytes":{ + "shape":"long", + "documentation":"

The amount of cache in bytes allocated to the a gateway.

" + }, + "CacheUsedPercentage":{ + "shape":"double", + "documentation":"

Percent use of the gateway's cache storage. This metric applies only to the gateway-cached volume setup. The sample is taken at the end of the reporting period.

" + }, + "CacheDirtyPercentage":{ + "shape":"double", + "documentation":"

The file share's contribution to the overall percentage of the gateway's cache that has not been persisted to AWS. The sample is taken at the end of the reporting period.

" + }, + "CacheHitPercentage":{ + "shape":"double", + "documentation":"

Percent of application read operations from the file shares that are served from cache. The sample is taken at the end of the reporting period.

" + }, + "CacheMissPercentage":{ + "shape":"double", + "documentation":"

Percent of application read operations from the file shares that are not served from cache. The sample is taken at the end of the reporting period.

" + } } }, "DescribeCachediSCSIVolumesInput":{ "type":"structure", "required":["VolumeARNs"], "members":{ - "VolumeARNs":{"shape":"VolumeARNs"} + "VolumeARNs":{ + "shape":"VolumeARNs", + "documentation":"

An array of strings where each string represents the Amazon Resource Name (ARN) of a cached volume. All of the specified cached volumes must from the same gateway. Use ListVolumes to get volume ARNs for a gateway.

" + } } }, "DescribeCachediSCSIVolumesOutput":{ @@ -1998,6 +2235,22 @@ "LastSoftwareUpdate":{ "shape":"LastSoftwareUpdate", "documentation":"

The date on which the last software update was applied to the gateway. If the gateway has never been updated, this field does not return a value in the response.

" + }, + "Ec2InstanceId":{ + "shape":"Ec2InstanceId", + "documentation":"

The ID of the Amazon EC2 instance that was used to launch the gateway.

" + }, + "Ec2InstanceRegion":{ + "shape":"Ec2InstanceRegion", + "documentation":"

The AWS Region where the Amazon EC2 instance is located.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A list of up to 50 tags assigned to the gateway, sorted alphabetically by key name. Each tag is a key-value pair. For a gateway with more than 10 tags assigned, you can view all tags using the ListTagsForResource API operation.

" + }, + "VPCEndpoint":{ + "shape":"string", + "documentation":"

The configuration settings for the virtual private cloud (VPC) endpoint for your gateway.

" } }, "documentation":"

A JSON object containing the following fields:

" @@ -2026,9 +2279,16 @@ "shape":"DayOfWeek", "documentation":"

An ordinal number between 0 and 6 that represents the day of the week, where 0 represents Sunday and 6 represents Saturday. The day of week is in the time zone of the gateway.

" }, - "Timezone":{"shape":"GatewayTimezone"} + "DayOfMonth":{ + "shape":"DayOfMonth", + "documentation":"

The day of the month component of the maintenance start time represented as an ordinal number from 1 to 28, where 1 represents the first day of the month and 28 represents the last day of the month.

This value is only available for tape and volume gateways.

" + }, + "Timezone":{ + "shape":"GatewayTimezone", + "documentation":"

A value that indicates the time zone that is set for the gateway. The start time and day of week specified should be in the time zone of the gateway.

" + } }, - "documentation":"

A JSON object containing the following fields:

" + "documentation":"

A JSON object containing the following fields:

" }, "DescribeNFSFileSharesInput":{ "type":"structure", @@ -2090,6 +2350,10 @@ "SMBGuestPasswordSet":{ "shape":"Boolean", "documentation":"

This value is true if a password for the guest user “smbguest” is set, and otherwise false.

" + }, + "SMBSecurityStrategy":{ + "shape":"SMBSecurityStrategy", + "documentation":"

The type of security strategy that was specified for file gateway.

ClientSpecified: SMBv1 is enabled, SMB signing is offered but not required, SMB encryption is offered but not required.

MandatorySigning: SMBv1 is disabled, SMB signing is required, SMB encryption is offered but not required.

MandatoryEncryption: SMBv1 is disabled, SMB signing is offered but not required, SMB encryption is required.

" } } }, @@ -2107,11 +2371,26 @@ "DescribeSnapshotScheduleOutput":{ "type":"structure", "members":{ - "VolumeARN":{"shape":"VolumeARN"}, - "StartAt":{"shape":"HourOfDay"}, - "RecurrenceInHours":{"shape":"RecurrenceInHours"}, - "Description":{"shape":"Description"}, - "Timezone":{"shape":"GatewayTimezone"} + "VolumeARN":{ + "shape":"VolumeARN", + "documentation":"

The Amazon Resource Name (ARN) of the volume that was specified in the request.

" + }, + "StartAt":{ + "shape":"HourOfDay", + "documentation":"

The hour of the day at which the snapshot schedule begins represented as hh, where hh is the hour (0 to 23). The hour of the day is in the time zone of the gateway.

" + }, + "RecurrenceInHours":{ + "shape":"RecurrenceInHours", + "documentation":"

The number of hours between snapshots.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

The snapshot description.

" + }, + "Timezone":{ + "shape":"GatewayTimezone", + "documentation":"

A value that indicates the time zone of the gateway.

" + } } }, "DescribeStorediSCSIVolumesInput":{ @@ -2128,7 +2407,10 @@ "DescribeStorediSCSIVolumesOutput":{ "type":"structure", "members":{ - "StorediSCSIVolumes":{"shape":"StorediSCSIVolumes"} + "StorediSCSIVolumes":{ + "shape":"StorediSCSIVolumes", + "documentation":"

Describes a single unit of output from DescribeStorediSCSIVolumes. The following fields are returned:

  • ChapEnabled: Indicates whether mutual CHAP is enabled for the iSCSI target.

  • LunNumber: The logical disk number.

  • NetworkInterfaceId: The network interface ID of the stored volume that initiator use to map the stored volume as an iSCSI target.

  • NetworkInterfacePort: The port used to communicate with iSCSI targets.

  • PreservedExistingData: Indicates if when the stored volume was created, existing data on the underlying local disk was preserved.

  • SourceSnapshotId: If the stored volume was created from a snapshot, this field contains the snapshot ID used, e.g. snap-1122aabb. Otherwise, this field is not included.

  • StorediSCSIVolumes: An array of StorediSCSIVolume objects where each object contains metadata about one stored volume.

  • TargetARN: The Amazon Resource Name (ARN) of the volume target.

  • VolumeARN: The Amazon Resource Name (ARN) of the stored volume.

  • VolumeDiskId: The disk ID of the local disk that was specified in the CreateStorediSCSIVolume operation.

  • VolumeId: The unique identifier of the storage volume, e.g. vol-1122AABB.

  • VolumeiSCSIAttributes: An VolumeiSCSIAttributes object that represents a collection of iSCSI attributes for one stored volume.

  • VolumeProgress: Represents the percentage complete if the volume is restoring or bootstrapping that represents the percent of data transferred. This field does not appear in the response if the stored volume is not restoring or bootstrapping.

  • VolumeSizeInBytes: The size of the volume in bytes.

  • VolumeStatus: One of the VolumeStatus values that indicates the state of the volume.

  • VolumeType: One of the enumeration values describing the type of the volume. Currently, on STORED volumes are supported.

" + } } }, "DescribeTapeArchivesInput":{ @@ -2239,9 +2521,18 @@ "type":"structure", "members":{ "GatewayARN":{"shape":"GatewayARN"}, - "DiskIds":{"shape":"DiskIds"}, - "UploadBufferUsedInBytes":{"shape":"long"}, - "UploadBufferAllocatedInBytes":{"shape":"long"} + "DiskIds":{ + "shape":"DiskIds", + "documentation":"

An array of the gateway's local disk IDs that are configured as working storage. Each local disk ID is specified as a string (minimum length of 1 and maximum length of 300). If no local disks are configured as working storage, then the DiskIds array is empty.

" + }, + "UploadBufferUsedInBytes":{ + "shape":"long", + "documentation":"

The total number of bytes being used in the gateway's upload buffer.

" + }, + "UploadBufferAllocatedInBytes":{ + "shape":"long", + "documentation":"

The total number of bytes allocated in the gateway's as upload buffer.

" + } } }, "DescribeVTLDevicesInput":{ @@ -2311,6 +2602,31 @@ "max":255, "min":1 }, + "DetachVolumeInput":{ + "type":"structure", + "required":["VolumeARN"], + "members":{ + "VolumeARN":{ + "shape":"VolumeARN", + "documentation":"

The Amazon Resource Name (ARN) of the volume to detach from the gateway.

" + }, + "ForceDetach":{ + "shape":"Boolean", + "documentation":"

Set to true to forcibly remove the iSCSI connection of the target volume and detach the volume. The default is false. If this value is set to false, you must manually disconnect the iSCSI connection from the target volume.

" + } + }, + "documentation":"

AttachVolumeInput

" + }, + "DetachVolumeOutput":{ + "type":"structure", + "members":{ + "VolumeARN":{ + "shape":"VolumeARN", + "documentation":"

The Amazon Resource Name (ARN) of the volume that was detached.

" + } + }, + "documentation":"

AttachVolumeOutput

" + }, "DeviceType":{ "type":"string", "max":50, @@ -2382,7 +2698,7 @@ "DiskAllocationType":{"shape":"DiskAllocationType"}, "DiskAllocationResource":{ "shape":"string", - "documentation":"

The iSCSI Qualified Name (IQN) that is defined for a disk. This field is not included in the response if the local disk is not defined as an iSCSI target. The format of this field is targetIqn::LUNNumber::region-volumeId.

" + "documentation":"

The iSCSI qualified name (IQN) that is defined for a disk. This field is not included in the response if the local disk is not defined as an iSCSI target. The format of this field is targetIqn::LUNNumber::region-volumeId.

" }, "DiskAttributeList":{"shape":"DiskAttributeList"} }, @@ -2390,7 +2706,7 @@ }, "DiskAllocationType":{ "type":"string", - "documentation":"

One of the DiskAllocationType enumeration values that identifies how a local disk is used. Valid values: \"UPLOAD_BUFFER\", \"CACHE_STORAGE\".

", + "documentation":"

One of the DiskAllocationType enumeration values that identifies how a local disk is used. Valid values: UPLOAD_BUFFER, CACHE_STORAGE

", "max":100, "min":3 }, @@ -2421,18 +2737,26 @@ }, "DomainName":{ "type":"string", + "max":1024, + "min":1, "pattern":"^([a-z0-9]+(-[a-z0-9]+)*\\.)+[a-z]{2,}$" }, "DomainUserName":{ "type":"string", + "max":1024, + "min":1, "pattern":"^\\w[\\w\\.\\- ]*$" }, "DomainUserPassword":{ "type":"string", + "max":1024, + "min":1, "pattern":"^[ -~]+$", "sensitive":true }, "DoubleObject":{"type":"double"}, + "Ec2InstanceId":{"type":"string"}, + "Ec2InstanceRegion":{"type":"string"}, "ErrorCode":{ "type":"string", "enum":[ @@ -2572,7 +2896,6 @@ "FolderList":{ "type":"list", "member":{"shape":"Folder"}, - "documentation":"

A comma-separated list of the paths of folders to refresh in the cache. The default is [\"/\"]. The default refreshes objects and folders at the root of the Amazon S3 bucket. If Recursive is set to \"true\", the entire S3 bucket that the file share has access to is refreshed.

", "max":50, "min":1 }, @@ -2609,6 +2932,14 @@ "GatewayName":{ "shape":"string", "documentation":"

The name of the gateway.

" + }, + "Ec2InstanceId":{ + "shape":"Ec2InstanceId", + "documentation":"

The ID of the Amazon EC2 instance that was used to launch the gateway.

" + }, + "Ec2InstanceRegion":{ + "shape":"Ec2InstanceRegion", + "documentation":"

The AWS Region where the Amazon EC2 instance is located.

" } }, "documentation":"

Describes a gateway object.

" @@ -2648,6 +2979,14 @@ "type":"list", "member":{"shape":"GatewayInfo"} }, + "Host":{ + "type":"string", + "pattern":"^(([a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9\\-]*[A-Za-z0-9])(:(\\d+))?$" + }, + "Hosts":{ + "type":"list", + "member":{"shape":"Host"} + }, "HourOfDay":{ "type":"integer", "max":23, @@ -2713,12 +3052,20 @@ "members":{ "GatewayARN":{ "shape":"GatewayARN", - "documentation":"

The unique Amazon Resource Name (ARN) of the file gateway you want to add to the Active Directory domain.

" + "documentation":"

The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

" }, "DomainName":{ "shape":"DomainName", "documentation":"

The name of the domain that you want the gateway to join.

" }, + "OrganizationalUnit":{ + "shape":"OrganizationalUnit", + "documentation":"

The organizational unit (OU) is a container with an Active Directory that can hold users, groups, computers, and other OUs and this parameter specifies the OU that the gateway will join within the AD domain.

" + }, + "DomainControllers":{ + "shape":"Hosts", + "documentation":"

List of IPv4 addresses, NetBIOS names, or host names of your domain server. If you need to specify the port number include it after the colon (“:”). For example, mydc.mydomain.com:389.

" + }, "UserName":{ "shape":"DomainUserName", "documentation":"

Sets the user name of user who has permission to add the gateway to the Active Directory domain.

" @@ -2744,7 +3091,7 @@ "type":"string", "documentation":"

The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when KMSEncrypted is true. Optional.

", "max":2048, - "min":20 + "min":7 }, "LastSoftwareUpdate":{ "type":"string", @@ -2804,8 +3151,14 @@ "ListGatewaysOutput":{ "type":"structure", "members":{ - "Gateways":{"shape":"Gateways"}, - "Marker":{"shape":"Marker"} + "Gateways":{ + "shape":"Gateways", + "documentation":"

An array of GatewayInfo objects.

" + }, + "Marker":{ + "shape":"Marker", + "documentation":"

Use the marker in your next request to fetch the next set of gateways in the list. If there are no more gateways to list, this field does not appear in the response.

" + } } }, "ListLocalDisksInput":{ @@ -2820,7 +3173,10 @@ "type":"structure", "members":{ "GatewayARN":{"shape":"GatewayARN"}, - "Disks":{"shape":"Disks"} + "Disks":{ + "shape":"Disks", + "documentation":"

A JSON object containing the following fields:

" + } } }, "ListTagsForResourceInput":{ @@ -2918,7 +3274,10 @@ "type":"structure", "members":{ "GatewayARN":{"shape":"GatewayARN"}, - "VolumeRecoveryPointInfos":{"shape":"VolumeRecoveryPointInfos"} + "VolumeRecoveryPointInfos":{ + "shape":"VolumeRecoveryPointInfos", + "documentation":"

An array of VolumeRecoveryPointInfo objects.

" + } } }, "ListVolumesInput":{ @@ -2940,9 +3299,16 @@ "type":"structure", "members":{ "GatewayARN":{"shape":"GatewayARN"}, - "Marker":{"shape":"Marker"}, - "VolumeInfos":{"shape":"VolumeInfos"} - } + "Marker":{ + "shape":"Marker", + "documentation":"

Use the marker in your next request to continue pagination of iSCSI volumes. If there are no more volumes to list, this field does not appear in the response body.

" + }, + "VolumeInfos":{ + "shape":"VolumeInfos", + "documentation":"

An array of VolumeInfo objects, where each object describes an iSCSI volume. If no volumes are defined for the gateway, then VolumeInfos is an empty array \"[]\".

" + } + }, + "documentation":"

A JSON object containing the following fields:

" }, "LocalConsolePassword":{ "type":"string", @@ -3027,7 +3393,11 @@ }, "RequesterPays":{ "shape":"Boolean", - "documentation":"

A value that sets the access control list permission for objects in the Amazon S3 bucket that a file gateway puts objects into. The default value is private.

" + "documentation":"

A value that sets who pays the cost of the request and the cost associated with data download from the S3 bucket. If this value is set to true, the requester pays the costs. Otherwise the S3 bucket owner pays. However, the S3 bucket owner always pays the cost of storing data.

RequesterPays is a configuration for the S3 bucket that backs the file share, so make sure that the configuration on the file share is the same as the S3 bucket configuration.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A list of up to 50 tags assigned to the NFS file share, sorted alphabetically by key name. Each tag is a key-value pair. For a gateway with more than 10 tags assigned, you can view all tags using the ListTagsForResource API operation.

" } }, "documentation":"

The Unix file permissions and ownership information assigned, by default, to native S3 objects when file gateway discovers them in S3 buckets. This operation is only supported in file gateways.

" @@ -3101,6 +3471,11 @@ "aws-exec-read" ] }, + "OrganizationalUnit":{ + "type":"string", + "max":1024, + "min":1 + }, "Path":{ "type":"string", "documentation":"

The file share path used by the NFS client to identify the mount point.

" @@ -3116,6 +3491,11 @@ "min":1, "pattern":"^[0-7]{4}$" }, + "PoolId":{ + "type":"string", + "max":100, + "min":1 + }, "PositiveIntObject":{ "type":"integer", "min":1 @@ -3129,13 +3509,20 @@ "type":"structure", "required":["FileShareARN"], "members":{ - "FileShareARN":{"shape":"FileShareARN"}, - "FolderList":{"shape":"FolderList"}, + "FileShareARN":{ + "shape":"FileShareARN", + "documentation":"

The Amazon Resource Name (ARN) of the file share you want to refresh.

" + }, + "FolderList":{ + "shape":"FolderList", + "documentation":"

A comma-separated list of the paths of folders to refresh in the cache. The default is [\"/\"]. The default refreshes objects and folders at the root of the Amazon S3 bucket. If Recursive is set to \"true\", the entire S3 bucket that the file share has access to is refreshed.

" + }, "Recursive":{ "shape":"Boolean", "documentation":"

A value that specifies whether to recursively refresh folders in the cache. The refresh includes folders that were in the cache the last time the gateway listed the folder's contents. If this value set to \"true\", each folder that is listed in FolderList is recursively updated. Otherwise, subfolders listed in FolderList are not refreshed. Only objects that are in folders listed directly under FolderList are found and used for the update. The default is \"true\".

" } - } + }, + "documentation":"

RefreshCacheInput

" }, "RefreshCacheOutput":{ "type":"structure", @@ -3288,7 +3675,15 @@ }, "RequesterPays":{ "shape":"Boolean", - "documentation":"

A value that sets the access control list permission for objects in the Amazon S3 bucket that a file gateway puts objects into. The default value is private.

" + "documentation":"

A value that sets who pays the cost of the request and the cost associated with data download from the S3 bucket. If this value is set to true, the requester pays the costs. Otherwise the S3 bucket owner pays. However, the S3 bucket owner always pays the cost of storing data.

RequesterPays is a configuration for the S3 bucket that backs the file share, so make sure that the configuration on the file share is the same as the S3 bucket configuration.

" + }, + "SMBACLEnabled":{ + "shape":"Boolean", + "documentation":"

If this value is set to \"true\", indicates that ACL (access control list) is enabled on the SMB file share. If it is set to \"false\", it indicates that file and directory permissions are mapped to the POSIX permission.

For more information, see https://docs.aws.amazon.com/storagegateway/latest/userguide/smb-acl.html in the Storage Gateway User Guide.

" + }, + "AdminUserList":{ + "shape":"FileShareUserList", + "documentation":"

A list of users or groups in the Active Directory that have administrator rights to the file share. A group must be prefixed with the @ character. For example @group1. Can only be set if Authentication is set to ActiveDirectory.

" }, "ValidUserList":{ "shape":"FileShareUserList", @@ -3298,7 +3693,11 @@ "shape":"FileShareUserList", "documentation":"

A list of users or groups in the Active Directory that are not allowed to access the file share. A group must be prefixed with the @ character. For example @group1. Can only be set if Authentication is set to ActiveDirectory.

" }, - "Authentication":{"shape":"Authentication"} + "Authentication":{"shape":"Authentication"}, + "Tags":{ + "shape":"Tags", + "documentation":"

A list of up to 50 tags assigned to the SMB file share, sorted alphabetically by key name. Each tag is a key-value pair. For a gateway with more than 10 tags assigned, you can view all tags using the ListTagsForResource API operation.

" + } }, "documentation":"

The Windows file permissions and ownership information assigned, by default, to native S3 objects when file gateway discovers them in S3 buckets. This operation is only supported for file gateways.

" }, @@ -3313,6 +3712,14 @@ "pattern":"^[ -~]+$", "sensitive":true }, + "SMBSecurityStrategy":{ + "type":"string", + "enum":[ + "ClientSpecified", + "MandatorySigning", + "MandatoryEncryption" + ] + }, "ServiceUnavailableError":{ "type":"structure", "members":{ @@ -3457,6 +3864,10 @@ "shape":"VolumeStatus", "documentation":"

One of the VolumeStatus values that indicates the state of the storage volume.

" }, + "VolumeAttachmentStatus":{ + "shape":"VolumeAttachmentStatus", + "documentation":"

A value that indicates whether a storage volume is attached to, detached from, or is in the process of detaching from a gateway. For more information, see Moving Your Volumes to a Different Gateway.

" + }, "VolumeSizeInBytes":{ "shape":"long", "documentation":"

The size of the volume in bytes.

" @@ -3487,9 +3898,13 @@ }, "VolumeUsedInBytes":{ "shape":"VolumeUsedInBytes", - "documentation":"

The size of the data stored on the volume in bytes.

This value is not available for volumes created prior to May 13, 2015, until you store data on the volume.

" + "documentation":"

The size of the data stored on the volume in bytes. This value is calculated based on the number of blocks that are touched, instead of the actual amount of data written. This value can be useful for sequential write patterns but less accurate for random write patterns. VolumeUsedInBytes is different from the compressed size of the volume, which is the value that is used to calculate your bill.

This value is not available for volumes created prior to May 13, 2015, until you store data on the volume.

" }, - "KMSKey":{"shape":"KMSKey"} + "KMSKey":{"shape":"KMSKey"}, + "TargetName":{ + "shape":"TargetName", + "documentation":"

The name of the iSCSI target used by an initiator to connect to a volume and used as a suffix for the target ARN. For example, specifying TargetName as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. The target name must be unique across all volumes on a gateway.

If you don't specify a value, Storage Gateway uses the value that was previously used for this volume as the new target name.

" + } }, "documentation":"

Describes an iSCSI stored volume.

" }, @@ -3504,9 +3919,16 @@ "Value" ], "members":{ - "Key":{"shape":"TagKey"}, - "Value":{"shape":"TagValue"} - } + "Key":{ + "shape":"TagKey", + "documentation":"

Tag key (String). The key can't start with aws:.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

Value of the tag key.

" + } + }, + "documentation":"

A key-value pair that helps you manage, filter, and search for your resource. Allowed characters: letters, white space, and numbers, representable in UTF-8, and the following characters: + - = . _ : /

" }, "TagKey":{ "type":"string", @@ -3561,7 +3983,11 @@ "shape":"TapeUsage", "documentation":"

The size, in bytes, of data stored on the virtual tape.

This value is not available for tapes created prior to May 13, 2015.

" }, - "KMSKey":{"shape":"KMSKey"} + "KMSKey":{"shape":"KMSKey"}, + "PoolId":{ + "shape":"PoolId", + "documentation":"

The ID of the pool that contains tapes that will be archived. The tapes in this pool are archived in the S3 storage class that is associated with the pool. When you use your backup application to eject the tape, the tape is archived directly into the storage class (Glacier or Deep Archive) that corresponds to the pool.

Valid values: \"GLACIER\", \"DEEP_ARCHIVE\"

" + } }, "documentation":"

Describes a virtual tape object.

" }, @@ -3611,7 +4037,11 @@ "shape":"TapeUsage", "documentation":"

The size, in bytes, of data stored on the virtual tape.

This value is not available for tapes created prior to May 13, 2015.

" }, - "KMSKey":{"shape":"KMSKey"} + "KMSKey":{"shape":"KMSKey"}, + "PoolId":{ + "shape":"PoolId", + "documentation":"

The ID of the pool that was used to archive the tape. The tapes in this pool are archived in the S3 storage class that is associated with the pool.

Valid values: \"GLACIER\", \"DEEP_ARCHIVE\"

" + } }, "documentation":"

Represents a virtual tape that is archived in the virtual tape shelf (VTS).

" }, @@ -3659,6 +4089,10 @@ "GatewayARN":{ "shape":"GatewayARN", "documentation":"

The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

" + }, + "PoolId":{ + "shape":"PoolId", + "documentation":"

The ID of the pool that you want to add your tape to for archiving. The tape in this pool is archived in the S3 storage class that is associated with the pool. When you use your backup application to eject the tape, the tape is archived directly into the storage class (Glacier or Deep Archive) that corresponds to the pool.

Valid values: \"GLACIER\", \"DEEP_ARCHIVE\"

" } }, "documentation":"

Describes a virtual tape.

" @@ -3683,7 +4117,10 @@ "shape":"TapeSize", "documentation":"

The size, in bytes, of the virtual tapes to recover.

" }, - "TapeStatus":{"shape":"TapeRecoveryPointStatus"} + "TapeStatus":{ + "shape":"TapeRecoveryPointStatus", + "documentation":"

The status of the virtual tapes.

" + } }, "documentation":"

Describes a recovery point.

" }, @@ -3781,14 +4218,20 @@ "members":{ "GatewayARN":{"shape":"GatewayARN"}, "GatewayName":{"shape":"GatewayName"}, - "GatewayTimezone":{"shape":"GatewayTimezone"} + "GatewayTimezone":{ + "shape":"GatewayTimezone", + "documentation":"

A value that indicates the time zone of the gateway.

" + } } }, "UpdateGatewayInformationOutput":{ "type":"structure", "members":{ "GatewayARN":{"shape":"GatewayARN"}, - "GatewayName":{"shape":"string"} + "GatewayName":{ + "shape":"string", + "documentation":"

The name you configured for your gateway.

" + } }, "documentation":"

A JSON object containing the ARN of the gateway that was updated.

" }, @@ -3812,8 +4255,7 @@ "required":[ "GatewayARN", "HourOfDay", - "MinuteOfHour", - "DayOfWeek" + "MinuteOfHour" ], "members":{ "GatewayARN":{"shape":"GatewayARN"}, @@ -3827,10 +4269,14 @@ }, "DayOfWeek":{ "shape":"DayOfWeek", - "documentation":"

The maintenance start time day of the week represented as an ordinal number from 0 to 6, where 0 represents Sunday and 6 Saturday.

" + "documentation":"

The day of the week component of the maintenance start time week represented as an ordinal number from 0 to 6, where 0 represents Sunday and 6 Saturday.

" + }, + "DayOfMonth":{ + "shape":"DayOfMonth", + "documentation":"

The day of the month component of the maintenance start time represented as an ordinal number from 1 to 28, where 1 represents the first day of the month and 28 represents the last day of the month.

This value is only available for tape and volume gateways.

" } }, - "documentation":"

A JSON object containing the following fields:

" + "documentation":"

A JSON object containing the following fields:

" }, "UpdateMaintenanceStartTimeOutput":{ "type":"structure", @@ -3885,7 +4331,7 @@ }, "RequesterPays":{ "shape":"Boolean", - "documentation":"

A value that sets the access control list permission for objects in the Amazon S3 bucket that a file gateway puts objects into. The default value is private.

" + "documentation":"

A value that sets who pays the cost of the request and the cost associated with data download from the S3 bucket. If this value is set to true, the requester pays the costs. Otherwise the S3 bucket owner pays. However, the S3 bucket owner always pays the cost of storing data.

RequesterPays is a configuration for the S3 bucket that backs the file share, so make sure that the configuration on the file share is the same as the S3 bucket configuration.

" } }, "documentation":"

UpdateNFSFileShareInput

" @@ -3934,7 +4380,15 @@ }, "RequesterPays":{ "shape":"Boolean", - "documentation":"

A value that sets the access control list permission for objects in the Amazon S3 bucket that a file gateway puts objects into. The default value is private.

" + "documentation":"

A value that sets who pays the cost of the request and the cost associated with data download from the S3 bucket. If this value is set to true, the requester pays the costs. Otherwise the S3 bucket owner pays. However, the S3 bucket owner always pays the cost of storing data.

RequesterPays is a configuration for the S3 bucket that backs the file share, so make sure that the configuration on the file share is the same as the S3 bucket configuration.

" + }, + "SMBACLEnabled":{ + "shape":"Boolean", + "documentation":"

Set this value to \"true to enable ACL (access control list) on the SMB file share. Set it to \"false\" to map file and directory permissions to the POSIX permissions.

For more information, see https://docs.aws.amazon.com/storagegateway/latest/userguide/smb-acl.htmlin the Storage Gateway User Guide.

" + }, + "AdminUserList":{ + "shape":"FileShareUserList", + "documentation":"

A list of users or groups in the Active Directory that have administrator rights to the file share. A group must be prefixed with the @ character. For example @group1. Can only be set if Authentication is set to ActiveDirectory.

" }, "ValidUserList":{ "shape":"FileShareUserList", @@ -3957,6 +4411,26 @@ }, "documentation":"

UpdateSMBFileShareOutput

" }, + "UpdateSMBSecurityStrategyInput":{ + "type":"structure", + "required":[ + "GatewayARN", + "SMBSecurityStrategy" + ], + "members":{ + "GatewayARN":{"shape":"GatewayARN"}, + "SMBSecurityStrategy":{ + "shape":"SMBSecurityStrategy", + "documentation":"

Specifies the type of security strategy.

ClientSpecified: SMBv1 is enabled, SMB signing is offered but not required, SMB encryption is offered but not required.

MandatorySigning: SMBv1 is disabled, SMB signing is required, SMB encryption is offered but not required.

MandatoryEncryption: SMBv1 is disabled, SMB signing is offered but not required, SMB encryption is required.

" + } + } + }, + "UpdateSMBSecurityStrategyOutput":{ + "type":"structure", + "members":{ + "GatewayARN":{"shape":"GatewayARN"} + } + }, "UpdateSnapshotScheduleInput":{ "type":"structure", "required":[ @@ -3980,6 +4454,10 @@ "Description":{ "shape":"Description", "documentation":"

Optional description of the snapshot that overwrites the existing description.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A list of up to 50 tags that can be assigned to a snapshot. Each tag is a key-value pair.

Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.

" } }, "documentation":"

A JSON object containing one or more of the following fields:

" @@ -3989,7 +4467,7 @@ "members":{ "VolumeARN":{ "shape":"VolumeARN", - "documentation":"

" + "documentation":"

The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes.

" } }, "documentation":"

A JSON object containing the of the updated storage volume.

" @@ -4028,9 +4506,18 @@ "shape":"VTLDeviceARN", "documentation":"

Specifies the unique Amazon Resource Name (ARN) of the device (tape drive or media changer).

" }, - "VTLDeviceType":{"shape":"VTLDeviceType"}, - "VTLDeviceVendor":{"shape":"VTLDeviceVendor"}, - "VTLDeviceProductIdentifier":{"shape":"VTLDeviceProductIdentifier"}, + "VTLDeviceType":{ + "shape":"VTLDeviceType", + "documentation":"

Specifies the type of device that the VTL device emulates.

" + }, + "VTLDeviceVendor":{ + "shape":"VTLDeviceVendor", + "documentation":"

Specifies the vendor of the device that the VTL device object emulates.

" + }, + "VTLDeviceProductIdentifier":{ + "shape":"VTLDeviceProductIdentifier", + "documentation":"

Specifies the model number of device that the VTL device emulates.

" + }, "DeviceiSCSIAttributes":{ "shape":"DeviceiSCSIAttributes", "documentation":"

A list of iSCSI information about a VTL device.

" @@ -4063,6 +4550,11 @@ "type":"list", "member":{"shape":"VolumeARN"} }, + "VolumeAttachmentStatus":{ + "type":"string", + "max":50, + "min":3 + }, "VolumeId":{ "type":"string", "max":30, @@ -4084,10 +4576,17 @@ "shape":"GatewayId", "documentation":"

The unique identifier assigned to your gateway during activation. This ID becomes part of the gateway Amazon Resource Name (ARN), which you use as input for other operations.

Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens (-).

" }, - "VolumeType":{"shape":"VolumeType"}, + "VolumeType":{ + "shape":"VolumeType", + "documentation":"

One of the VolumeType enumeration values describing the type of the volume.

" + }, "VolumeSizeInBytes":{ "shape":"long", "documentation":"

The size of the volume in bytes.

Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens (-).

" + }, + "VolumeAttachmentStatus":{ + "shape":"VolumeAttachmentStatus", + "documentation":"

One of the VolumeStatus values that indicates the state of the storage volume.

" } }, "documentation":"

Describes a storage volume object.

" @@ -4099,11 +4598,24 @@ "VolumeRecoveryPointInfo":{ "type":"structure", "members":{ - "VolumeARN":{"shape":"VolumeARN"}, - "VolumeSizeInBytes":{"shape":"long"}, - "VolumeUsageInBytes":{"shape":"long"}, - "VolumeRecoveryPointTime":{"shape":"string"} - } + "VolumeARN":{ + "shape":"VolumeARN", + "documentation":"

The Amazon Resource Name (ARN) of the volume target.

" + }, + "VolumeSizeInBytes":{ + "shape":"long", + "documentation":"

The size of the volume in bytes.

" + }, + "VolumeUsageInBytes":{ + "shape":"long", + "documentation":"

The size of the data stored on the volume in bytes.

This value is not available for volumes created prior to May 13, 2015, until you store data on the volume.

" + }, + "VolumeRecoveryPointTime":{ + "shape":"string", + "documentation":"

The time the recovery point was taken.

" + } + }, + "documentation":"

Describes a storage volume recovery point object.

" }, "VolumeRecoveryPointInfos":{ "type":"list", @@ -4157,5 +4669,5 @@ "long":{"type":"long"}, "string":{"type":"string"} }, - "documentation":"AWS Storage Gateway Service

AWS Storage Gateway is the service that connects an on-premises software appliance with cloud-based storage to provide seamless and secure integration between an organization's on-premises IT environment and AWS's storage infrastructure. The service enables you to securely upload data to the AWS cloud for cost effective backup and rapid disaster recovery.

Use the following links to get started using the AWS Storage Gateway Service API Reference:

AWS Storage Gateway resource IDs are in uppercase. When you use these resource IDs with the Amazon EC2 API, EC2 expects resource IDs in lowercase. You must change your resource ID to lowercase to use it with the EC2 API. For example, in Storage Gateway the ID for a volume might be vol-AA22BB012345DAF670. When you use this ID with the EC2 API, you must change it to vol-aa22bb012345daf670. Otherwise, the EC2 API might not behave as expected.

IDs for Storage Gateway volumes and Amazon EBS snapshots created from gateway volumes are changing to a longer format. Starting in December 2016, all new volumes and snapshots will be created with a 17-character string. Starting in April 2016, you will be able to use these longer IDs so you can test your systems with the new format. For more information, see Longer EC2 and EBS Resource IDs.

For example, a volume Amazon Resource Name (ARN) with the longer volume ID format looks like the following:

arn:aws:storagegateway:us-west-2:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABBCCDDEEFFG.

A snapshot ID with the longer ID format looks like the following: snap-78e226633445566ee.

For more information, see Announcement: Heads-up – Longer AWS Storage Gateway volume and snapshot IDs coming in 2016.

" + "documentation":"AWS Storage Gateway Service

AWS Storage Gateway is the service that connects an on-premises software appliance with cloud-based storage to provide seamless and secure integration between an organization's on-premises IT environment and the AWS storage infrastructure. The service enables you to securely upload data to the AWS cloud for cost effective backup and rapid disaster recovery.

Use the following links to get started using the AWS Storage Gateway Service API Reference:

AWS Storage Gateway resource IDs are in uppercase. When you use these resource IDs with the Amazon EC2 API, EC2 expects resource IDs in lowercase. You must change your resource ID to lowercase to use it with the EC2 API. For example, in Storage Gateway the ID for a volume might be vol-AA22BB012345DAF670. When you use this ID with the EC2 API, you must change it to vol-aa22bb012345daf670. Otherwise, the EC2 API might not behave as expected.

IDs for Storage Gateway volumes and Amazon EBS snapshots created from gateway volumes are changing to a longer format. Starting in December 2016, all new volumes and snapshots will be created with a 17-character string. Starting in April 2016, you will be able to use these longer IDs so you can test your systems with the new format. For more information, see Longer EC2 and EBS Resource IDs.

For example, a volume Amazon Resource Name (ARN) with the longer volume ID format looks like the following:

arn:aws:storagegateway:us-west-2:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABBCCDDEEFFG.

A snapshot ID with the longer ID format looks like the following: snap-78e226633445566ee.

For more information, see Announcement: Heads-up – Longer AWS Storage Gateway volume and snapshot IDs coming in 2016.

" } diff --git a/bin/botocore/data/sts/2011-06-15/service-2.json b/bin/botocore/data/sts/2011-06-15/service-2.json index 4be790cf..3f966434 100644 --- a/bin/botocore/data/sts/2011-06-15/service-2.json +++ b/bin/botocore/data/sts/2011-06-15/service-2.json @@ -29,7 +29,7 @@ {"shape":"PackedPolicyTooLargeException"}, {"shape":"RegionDisabledException"} ], - "documentation":"

Returns a set of temporary security credentials (consisting of an access key ID, a secret access key, and a security token) that you can use to access AWS resources that you might not normally have access to. Typically, you use AssumeRole for cross-account access or federation. For a comparison of AssumeRole with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

Important: You cannot call AssumeRole by using AWS root account credentials; access is denied. You must use credentials for an IAM user or an IAM role to call AssumeRole.

For cross-account access, imagine that you own multiple accounts and need to access resources in each account. You could create long-term credentials in each account to access those resources. However, managing all those credentials and remembering which one can access which account can be time consuming. Instead, you can create one set of long-term credentials in one account and then use temporary security credentials to access all the other accounts by assuming roles in those accounts. For more information about roles, see IAM Roles (Delegation and Federation) in the IAM User Guide.

For federation, you can, for example, grant single sign-on access to the AWS Management Console. If you already have an identity and authentication system in your corporate network, you don't have to recreate user identities in AWS in order to grant those user identities access to AWS. Instead, after a user has been authenticated, you call AssumeRole (and specify the role with the appropriate permissions) to get temporary security credentials for that user. With those temporary security credentials, you construct a sign-in URL that users can use to access the console. For more information, see Common Scenarios for Temporary Credentials in the IAM User Guide.

By default, the temporary security credentials created by AssumeRole last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. You can provide a value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI operations but does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

The temporary security credentials created by AssumeRole can be used to make API calls to any AWS service with the following exception: you cannot call the STS service's GetFederationToken or GetSessionToken APIs.

Optionally, you can pass an IAM access policy to this operation. If you choose not to pass a policy, the temporary security credentials that are returned by the operation have the permissions that are defined in the access policy of the role that is being assumed. If you pass a policy to this operation, the temporary security credentials that are returned by the operation have the permissions that are allowed by both the access policy of the role that is being assumed, and the policy that you pass. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide.

To assume a role, your AWS account must be trusted by the role. The trust relationship is defined in the role's trust policy when the role is created. That trust policy states which accounts are allowed to delegate access to this account's role.

The user who wants to access the role must also have permissions delegated from the role's administrator. If the user is in a different account than the role, then the user's administrator must attach a policy that allows the user to call AssumeRole on the ARN of the role in the other account. If the user is in the same account as the role, then you can either attach a policy to the user (identical to the previous different account user), or you can add the user as a principal directly in the role's trust policy. In this case, the trust policy acts as the only resource-based policy in IAM, and users in the same account as the role do not need explicit permission to assume the role. For more information about trust policies and resource-based policies, see IAM Policies in the IAM User Guide.

Using MFA with AssumeRole

You can optionally include multi-factor authentication (MFA) information when you call AssumeRole. This is useful for cross-account scenarios in which you want to make sure that the user who is assuming the role has been authenticated using an AWS MFA device. In that scenario, the trust policy of the role being assumed includes a condition that tests for MFA authentication; if the caller does not include valid MFA information, the request to assume the role is denied. The condition in a trust policy that tests for MFA authentication might look like the following example.

\"Condition\": {\"Bool\": {\"aws:MultiFactorAuthPresent\": true}}

For more information, see Configuring MFA-Protected API Access in the IAM User Guide guide.

To use MFA with AssumeRole, you pass values for the SerialNumber and TokenCode parameters. The SerialNumber value identifies the user's hardware or virtual MFA device. The TokenCode is the time-based one-time password (TOTP) that the MFA devices produces.

" + "documentation":"

Returns a set of temporary security credentials that you can use to access AWS resources that you might not normally have access to. These temporary credentials consist of an access key ID, a secret access key, and a security token. Typically, you use AssumeRole within your account or for cross-account access. For a comparison of AssumeRole with other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide.

You cannot use AWS account root user credentials to call AssumeRole. You must use credentials for an IAM user or an IAM role to call AssumeRole.

For cross-account access, imagine that you own multiple accounts and need to access resources in each account. You could create long-term credentials in each account to access those resources. However, managing all those credentials and remembering which one can access which account can be time consuming. Instead, you can create one set of long-term credentials in one account. Then use temporary security credentials to access all the other accounts by assuming roles in those accounts. For more information about roles, see IAM Roles in the IAM User Guide.

By default, the temporary security credentials created by AssumeRole last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. You can provide a value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

The temporary security credentials created by AssumeRole can be used to make API calls to any AWS service with the following exception: You cannot call the AWS STS GetFederationToken or GetSessionToken API operations.

(Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies shouldn't exceed 2048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

To assume a role from a different account, your AWS account must be trusted by the role. The trust relationship is defined in the role's trust policy when the role is created. That trust policy states which accounts are allowed to delegate that access to users in the account.

A user who wants to access a role in a different account must also have permissions that are delegated from the user account administrator. The administrator must attach a policy that allows the user to call AssumeRole for the ARN of the role in the other account. If the user is in the same account as the role, then you can do either of the following:

  • Attach a policy to the user (identical to the previous user in a different account).

  • Add the user as a principal directly in the role's trust policy.

In this case, the trust policy acts as an IAM resource-based policy. Users in the same account as the role do not need explicit permission to assume the role. For more information about trust policies and resource-based policies, see IAM Policies in the IAM User Guide.

Using MFA with AssumeRole

(Optional) You can include multi-factor authentication (MFA) information when you call AssumeRole. This is useful for cross-account scenarios to ensure that the user that assumes the role has been authenticated with an AWS MFA device. In that scenario, the trust policy of the role being assumed includes a condition that tests for MFA authentication. If the caller does not include valid MFA information, the request to assume the role is denied. The condition in a trust policy that tests for MFA authentication might look like the following example.

\"Condition\": {\"Bool\": {\"aws:MultiFactorAuthPresent\": true}}

For more information, see Configuring MFA-Protected API Access in the IAM User Guide guide.

To use MFA with AssumeRole, you pass values for the SerialNumber and TokenCode parameters. The SerialNumber value identifies the user's hardware or virtual MFA device. The TokenCode is the time-based one-time password (TOTP) that the MFA device produces.

" }, "AssumeRoleWithSAML":{ "name":"AssumeRoleWithSAML", @@ -50,7 +50,7 @@ {"shape":"ExpiredTokenException"}, {"shape":"RegionDisabledException"} ], - "documentation":"

Returns a set of temporary security credentials for users who have been authenticated via a SAML authentication response. This operation provides a mechanism for tying an enterprise identity store or directory to role-based AWS access without user-specific credentials or configuration. For a comparison of AssumeRoleWithSAML with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

The temporary security credentials returned by this operation consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to AWS services.

By default, the temporary security credentials created by AssumeRoleWithSAML last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. Your role session lasts for the duration that you specify, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI operations but does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

The temporary security credentials created by AssumeRoleWithSAML can be used to make API calls to any AWS service with the following exception: you cannot call the STS service's GetFederationToken or GetSessionToken APIs.

Optionally, you can pass an IAM access policy to this operation. If you choose not to pass a policy, the temporary security credentials that are returned by the operation have the permissions that are defined in the access policy of the role that is being assumed. If you pass a policy to this operation, the temporary security credentials that are returned by the operation have the permissions that are allowed by the intersection of both the access policy of the role that is being assumed, and the policy that you pass. This means that both policies must grant the permission for the action to be allowed. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide.

Before your application can call AssumeRoleWithSAML, you must configure your SAML identity provider (IdP) to issue the claims required by AWS. Additionally, you must use AWS Identity and Access Management (IAM) to create a SAML provider entity in your AWS account that represents your identity provider, and create an IAM role that specifies this SAML provider in its trust policy.

Calling AssumeRoleWithSAML does not require the use of AWS security credentials. The identity of the caller is validated by using keys in the metadata document that is uploaded for the SAML provider entity for your identity provider.

Calling AssumeRoleWithSAML can result in an entry in your AWS CloudTrail logs. The entry includes the value in the NameID element of the SAML assertion. We recommend that you use a NameIDType that is not associated with any personally identifiable information (PII). For example, you could instead use the Persistent Identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent).

For more information, see the following resources:

" + "documentation":"

Returns a set of temporary security credentials for users who have been authenticated via a SAML authentication response. This operation provides a mechanism for tying an enterprise identity store or directory to role-based AWS access without user-specific credentials or configuration. For a comparison of AssumeRoleWithSAML with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide.

The temporary security credentials returned by this operation consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to AWS services.

By default, the temporary security credentials created by AssumeRoleWithSAML last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. Your role session lasts for the duration that you specify, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

The temporary security credentials created by AssumeRoleWithSAML can be used to make API calls to any AWS service with the following exception: you cannot call the STS GetFederationToken or GetSessionToken API operations.

(Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies shouldn't exceed 2048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

Before your application can call AssumeRoleWithSAML, you must configure your SAML identity provider (IdP) to issue the claims required by AWS. Additionally, you must use AWS Identity and Access Management (IAM) to create a SAML provider entity in your AWS account that represents your identity provider. You must also create an IAM role that specifies this SAML provider in its trust policy.

Calling AssumeRoleWithSAML does not require the use of AWS security credentials. The identity of the caller is validated by using keys in the metadata document that is uploaded for the SAML provider entity for your identity provider.

Calling AssumeRoleWithSAML can result in an entry in your AWS CloudTrail logs. The entry includes the value in the NameID element of the SAML assertion. We recommend that you use a NameIDType that is not associated with any personally identifiable information (PII). For example, you could instead use the Persistent Identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent).

For more information, see the following resources:

" }, "AssumeRoleWithWebIdentity":{ "name":"AssumeRoleWithWebIdentity", @@ -72,7 +72,7 @@ {"shape":"ExpiredTokenException"}, {"shape":"RegionDisabledException"} ], - "documentation":"

Returns a set of temporary security credentials for users who have been authenticated in a mobile or web application with a web identity provider, such as Amazon Cognito, Login with Amazon, Facebook, Google, or any OpenID Connect-compatible identity provider.

For mobile applications, we recommend that you use Amazon Cognito. You can use Amazon Cognito with the AWS SDK for iOS and the AWS SDK for Android to uniquely identify a user and supply the user with a consistent identity throughout the lifetime of an application.

To learn more about Amazon Cognito, see Amazon Cognito Overview in the AWS SDK for Android Developer Guide guide and Amazon Cognito Overview in the AWS SDK for iOS Developer Guide.

Calling AssumeRoleWithWebIdentity does not require the use of AWS security credentials. Therefore, you can distribute an application (for example, on mobile devices) that requests temporary security credentials without including long-term AWS credentials in the application, and without deploying server-based proxy services that use long-term AWS credentials. Instead, the identity of the caller is validated by using a token from the web identity provider. For a comparison of AssumeRoleWithWebIdentity with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

The temporary security credentials returned by this API consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to AWS service APIs.

By default, the temporary security credentials created by AssumeRoleWithWebIdentity last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. You can provide a value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI operations but does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

The temporary security credentials created by AssumeRoleWithWebIdentity can be used to make API calls to any AWS service with the following exception: you cannot call the STS service's GetFederationToken or GetSessionToken APIs.

Optionally, you can pass an IAM access policy to this operation. If you choose not to pass a policy, the temporary security credentials that are returned by the operation have the permissions that are defined in the access policy of the role that is being assumed. If you pass a policy to this operation, the temporary security credentials that are returned by the operation have the permissions that are allowed by both the access policy of the role that is being assumed, and the policy that you pass. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide.

Before your application can call AssumeRoleWithWebIdentity, you must have an identity token from a supported identity provider and create a role that the application can assume. The role that your application assumes must trust the identity provider that is associated with the identity token. In other words, the identity provider must be specified in the role's trust policy.

Calling AssumeRoleWithWebIdentity can result in an entry in your AWS CloudTrail logs. The entry includes the Subject of the provided Web Identity Token. We recommend that you avoid using any personally identifiable information (PII) in this field. For example, you could instead use a GUID or a pairwise identifier, as suggested in the OIDC specification.

For more information about how to use web identity federation and the AssumeRoleWithWebIdentity API, see the following resources:

" + "documentation":"

Returns a set of temporary security credentials for users who have been authenticated in a mobile or web application with a web identity provider. Example providers include Amazon Cognito, Login with Amazon, Facebook, Google, or any OpenID Connect-compatible identity provider.

For mobile applications, we recommend that you use Amazon Cognito. You can use Amazon Cognito with the AWS SDK for iOS Developer Guide and the AWS SDK for Android Developer Guide to uniquely identify a user. You can also supply the user with a consistent identity throughout the lifetime of an application.

To learn more about Amazon Cognito, see Amazon Cognito Overview in AWS SDK for Android Developer Guide and Amazon Cognito Overview in the AWS SDK for iOS Developer Guide.

Calling AssumeRoleWithWebIdentity does not require the use of AWS security credentials. Therefore, you can distribute an application (for example, on mobile devices) that requests temporary security credentials without including long-term AWS credentials in the application. You also don't need to deploy server-based proxy services that use long-term AWS credentials. Instead, the identity of the caller is validated by using a token from the web identity provider. For a comparison of AssumeRoleWithWebIdentity with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide.

The temporary security credentials returned by this API consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to AWS service API operations.

By default, the temporary security credentials created by AssumeRoleWithWebIdentity last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. You can provide a value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

The temporary security credentials created by AssumeRoleWithWebIdentity can be used to make API calls to any AWS service with the following exception: you cannot call the STS GetFederationToken or GetSessionToken API operations.

(Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies shouldn't exceed 2048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

Before your application can call AssumeRoleWithWebIdentity, you must have an identity token from a supported identity provider and create a role that the application can assume. The role that your application assumes must trust the identity provider that is associated with the identity token. In other words, the identity provider must be specified in the role's trust policy.

Calling AssumeRoleWithWebIdentity can result in an entry in your AWS CloudTrail logs. The entry includes the Subject of the provided Web Identity Token. We recommend that you avoid using any personally identifiable information (PII) in this field. For example, you could instead use a GUID or a pairwise identifier, as suggested in the OIDC specification.

For more information about how to use web identity federation and the AssumeRoleWithWebIdentity API, see the following resources:

" }, "DecodeAuthorizationMessage":{ "name":"DecodeAuthorizationMessage", @@ -88,7 +88,7 @@ "errors":[ {"shape":"InvalidAuthorizationMessageException"} ], - "documentation":"

Decodes additional information about the authorization status of a request from an encoded message returned in response to an AWS request.

For example, if a user is not authorized to perform an action that he or she has requested, the request returns a Client.UnauthorizedOperation response (an HTTP 403 response). Some AWS actions additionally return an encoded message that can provide details about this authorization failure.

Only certain AWS actions return an encoded authorization message. The documentation for an individual action indicates whether that action returns an encoded message in addition to returning an HTTP code.

The message is encoded because the details of the authorization status can constitute privileged information that the user who requested the action should not see. To decode an authorization status message, a user must be granted permissions via an IAM policy to request the DecodeAuthorizationMessage (sts:DecodeAuthorizationMessage) action.

The decoded message includes the following type of information:

  • Whether the request was denied due to an explicit deny or due to the absence of an explicit allow. For more information, see Determining Whether a Request is Allowed or Denied in the IAM User Guide.

  • The principal who made the request.

  • The requested action.

  • The requested resource.

  • The values of condition keys in the context of the user's request.

" + "documentation":"

Decodes additional information about the authorization status of a request from an encoded message returned in response to an AWS request.

For example, if a user is not authorized to perform an operation that he or she has requested, the request returns a Client.UnauthorizedOperation response (an HTTP 403 response). Some AWS operations additionally return an encoded message that can provide details about this authorization failure.

Only certain AWS operations return an encoded authorization message. The documentation for an individual operation indicates whether that operation returns an encoded message in addition to returning an HTTP code.

The message is encoded because the details of the authorization status can constitute privileged information that the user who requested the operation should not see. To decode an authorization status message, a user must be granted permissions via an IAM policy to request the DecodeAuthorizationMessage (sts:DecodeAuthorizationMessage) action.

The decoded message includes the following type of information:

  • Whether the request was denied due to an explicit deny or due to the absence of an explicit allow. For more information, see Determining Whether a Request is Allowed or Denied in the IAM User Guide.

  • The principal who made the request.

  • The requested action.

  • The requested resource.

  • The values of condition keys in the context of the user's request.

" }, "GetCallerIdentity":{ "name":"GetCallerIdentity", @@ -119,7 +119,7 @@ {"shape":"PackedPolicyTooLargeException"}, {"shape":"RegionDisabledException"} ], - "documentation":"

Returns a set of temporary security credentials (consisting of an access key ID, a secret access key, and a security token) for a federated user. A typical use is in a proxy application that gets temporary security credentials on behalf of distributed applications inside a corporate network. Because you must call the GetFederationToken action using the long-term security credentials of an IAM user, this call is appropriate in contexts where those credentials can be safely stored, usually in a server-based application. For a comparison of GetFederationToken with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

If you are creating a mobile-based or browser-based app that can authenticate users using a web identity provider like Login with Amazon, Facebook, Google, or an OpenID Connect-compatible identity provider, we recommend that you use Amazon Cognito or AssumeRoleWithWebIdentity. For more information, see Federation Through a Web-based Identity Provider.

The GetFederationToken action must be called by using the long-term AWS security credentials of an IAM user. You can also call GetFederationToken using the security credentials of an AWS root account, but we do not recommended it. Instead, we recommend that you create an IAM user for the purpose of the proxy application and then attach a policy to the IAM user that limits federated users to only the actions and resources that they need access to. For more information, see IAM Best Practices in the IAM User Guide.

The temporary security credentials that are obtained by using the long-term credentials of an IAM user are valid for the specified duration, from 900 seconds (15 minutes) up to a maximium of 129600 seconds (36 hours). The default is 43200 seconds (12 hours). Temporary credentials that are obtained by using AWS root account credentials have a maximum duration of 3600 seconds (1 hour).

The temporary security credentials created by GetFederationToken can be used to make API calls to any AWS service with the following exceptions:

  • You cannot use these credentials to call any IAM APIs.

  • You cannot call any STS APIs except GetCallerIdentity.

Permissions

The permissions for the temporary security credentials returned by GetFederationToken are determined by a combination of the following:

  • The policy or policies that are attached to the IAM user whose credentials are used to call GetFederationToken.

  • The policy that is passed as a parameter in the call.

The passed policy is attached to the temporary security credentials that result from the GetFederationToken API call--that is, to the federated user. When the federated user makes an AWS request, AWS evaluates the policy attached to the federated user in combination with the policy or policies attached to the IAM user whose credentials were used to call GetFederationToken. AWS allows the federated user's request only when both the federated user and the IAM user are explicitly allowed to perform the requested action. The passed policy cannot grant more permissions than those that are defined in the IAM user policy.

A typical use case is that the permissions of the IAM user whose credentials are used to call GetFederationToken are designed to allow access to all the actions and resources that any federated user will need. Then, for individual users, you pass a policy to the operation that scopes down the permissions to a level that's appropriate to that individual user, using a policy that allows only a subset of permissions that are granted to the IAM user.

If you do not pass a policy, the resulting temporary security credentials have no effective permissions. The only exception is when the temporary security credentials are used to access a resource that has a resource-based policy that specifically allows the federated user to access the resource.

For more information about how permissions work, see Permissions for GetFederationToken. For information about using GetFederationToken to create temporary security credentials, see GetFederationToken—Federation Through a Custom Identity Broker.

" + "documentation":"

Returns a set of temporary security credentials (consisting of an access key ID, a secret access key, and a security token) for a federated user. A typical use is in a proxy application that gets temporary security credentials on behalf of distributed applications inside a corporate network. You must call the GetFederationToken operation using the long-term security credentials of an IAM user. As a result, this call is appropriate in contexts where those credentials can be safely stored, usually in a server-based application. For a comparison of GetFederationToken with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide.

You can create a mobile-based or browser-based app that can authenticate users using a web identity provider like Login with Amazon, Facebook, Google, or an OpenID Connect-compatible identity provider. In this case, we recommend that you use Amazon Cognito or AssumeRoleWithWebIdentity. For more information, see Federation Through a Web-based Identity Provider.

You can also call GetFederationToken using the security credentials of an AWS account root user, but we do not recommend it. Instead, we recommend that you create an IAM user for the purpose of the proxy application. Then attach a policy to the IAM user that limits federated users to only the actions and resources that they need to access. For more information, see IAM Best Practices in the IAM User Guide.

The temporary credentials are valid for the specified duration, from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours). The default is 43,200 seconds (12 hours). Temporary credentials that are obtained by using AWS account root user credentials have a maximum duration of 3,600 seconds (1 hour).

The temporary security credentials created by GetFederationToken can be used to make API calls to any AWS service with the following exceptions:

  • You cannot use these credentials to call any IAM API operations.

  • You cannot call any STS API operations except GetCallerIdentity.

Permissions

You must pass an inline or managed session policy to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies shouldn't exceed 2048 characters.

Though the session policy parameters are optional, if you do not pass a policy, then the resulting federated user session has no permissions. The only exception is when the credentials are used to access a resource that has a resource-based policy that specifically references the federated user session in the Principal element of the policy. When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide. For information about using GetFederationToken to create temporary security credentials, see GetFederationToken—Federation Through a Custom Identity Broker.

" }, "GetSessionToken":{ "name":"GetSessionToken", @@ -135,7 +135,7 @@ "errors":[ {"shape":"RegionDisabledException"} ], - "documentation":"

Returns a set of temporary credentials for an AWS account or IAM user. The credentials consist of an access key ID, a secret access key, and a security token. Typically, you use GetSessionToken if you want to use MFA to protect programmatic calls to specific AWS APIs like Amazon EC2 StopInstances. MFA-enabled IAM users would need to call GetSessionToken and submit an MFA code that is associated with their MFA device. Using the temporary security credentials that are returned from the call, IAM users can then make programmatic calls to APIs that require MFA authentication. If you do not supply a correct MFA code, then the API returns an access denied error. For a comparison of GetSessionToken with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

The GetSessionToken action must be called by using the long-term AWS security credentials of the AWS account or an IAM user. Credentials that are created by IAM users are valid for the duration that you specify, from 900 seconds (15 minutes) up to a maximum of 129600 seconds (36 hours), with a default of 43200 seconds (12 hours); credentials that are created by using account credentials can range from 900 seconds (15 minutes) up to a maximum of 3600 seconds (1 hour), with a default of 1 hour.

The temporary security credentials created by GetSessionToken can be used to make API calls to any AWS service with the following exceptions:

  • You cannot call any IAM APIs unless MFA authentication information is included in the request.

  • You cannot call any STS API except AssumeRole or GetCallerIdentity.

We recommend that you do not call GetSessionToken with root account credentials. Instead, follow our best practices by creating one or more IAM users, giving them the necessary permissions, and using IAM users for everyday interaction with AWS.

The permissions associated with the temporary security credentials returned by GetSessionToken are based on the permissions associated with account or IAM user whose credentials are used to call the action. If GetSessionToken is called using root account credentials, the temporary credentials have root account permissions. Similarly, if GetSessionToken is called using the credentials of an IAM user, the temporary credentials have the same permissions as the IAM user.

For more information about using GetSessionToken to create temporary credentials, go to Temporary Credentials for Users in Untrusted Environments in the IAM User Guide.

" + "documentation":"

Returns a set of temporary credentials for an AWS account or IAM user. The credentials consist of an access key ID, a secret access key, and a security token. Typically, you use GetSessionToken if you want to use MFA to protect programmatic calls to specific AWS API operations like Amazon EC2 StopInstances. MFA-enabled IAM users would need to call GetSessionToken and submit an MFA code that is associated with their MFA device. Using the temporary security credentials that are returned from the call, IAM users can then make programmatic calls to API operations that require MFA authentication. If you do not supply a correct MFA code, then the API returns an access denied error. For a comparison of GetSessionToken with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide.

The GetSessionToken operation must be called by using the long-term AWS security credentials of the AWS account root user or an IAM user. Credentials that are created by IAM users are valid for the duration that you specify. This duration can range from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours), with a default of 43,200 seconds (12 hours). Credentials based on account credentials can range from 900 seconds (15 minutes) up to 3,600 seconds (1 hour), with a default of 1 hour.

The temporary security credentials created by GetSessionToken can be used to make API calls to any AWS service with the following exceptions:

  • You cannot call any IAM API operations unless MFA authentication information is included in the request.

  • You cannot call any STS API except AssumeRole or GetCallerIdentity.

We recommend that you do not call GetSessionToken with AWS account root user credentials. Instead, follow our best practices by creating one or more IAM users, giving them the necessary permissions, and using IAM users for everyday interaction with AWS.

The credentials that are returned by GetSessionToken are based on permissions associated with the user whose credentials were used to call the operation. If GetSessionToken is called using AWS account root user credentials, the temporary credentials have root user permissions. Similarly, if GetSessionToken is called using the credentials of an IAM user, the temporary credentials have the same permissions as the IAM user.

For more information about using GetSessionToken to create temporary credentials, go to Temporary Credentials for Users in Untrusted Environments in the IAM User Guide.

" } }, "shapes":{ @@ -152,19 +152,23 @@ }, "RoleSessionName":{ "shape":"roleSessionNameType", - "documentation":"

An identifier for the assumed role session.

Use the role session name to uniquely identify a session when the same role is assumed by different principals or for different reasons. In cross-account scenarios, the role session name is visible to, and can be logged by the account that owns the role. The role session name is also used in the ARN of the assumed role principal. This means that subsequent cross-account API requests using the temporary security credentials will expose the role session name to the external account in their CloudTrail logs.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

" + "documentation":"

An identifier for the assumed role session.

Use the role session name to uniquely identify a session when the same role is assumed by different principals or for different reasons. In cross-account scenarios, the role session name is visible to, and can be logged by the account that owns the role. The role session name is also used in the ARN of the assumed role principal. This means that subsequent cross-account API requests that use the temporary security credentials will expose the role session name to the external account in their AWS CloudTrail logs.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

" + }, + "PolicyArns":{ + "shape":"policyDescriptorListType", + "documentation":"

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role.

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plain text that you use for both inline and managed session policies shouldn't exceed 2048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

The characters in this parameter count towards the 2048 character session policy guideline. However, an AWS conversion compresses the session policies into a packed binary format that has a separate limit. This is the enforced limit. The PackedPolicySize response element indicates by percentage how close the policy is to the upper size limit.

Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

" }, "Policy":{ "shape":"sessionPolicyDocumentType", - "documentation":"

An IAM policy in JSON format.

This parameter is optional. If you pass a policy, the temporary security credentials that are returned by the operation have the permissions that are allowed by both (the intersection of) the access policy of the role that is being assumed, and the policy that you pass. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide.

The format for this parameter, as described by its regex pattern, is a string of characters up to 2048 characters in length. The characters can be any ASCII character from the space character to the end of the valid character list (\\u0020-\\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

The policy plain text must be 2048 bytes or shorter. However, an internal conversion compresses it into a packed binary format with a separate limit. The PackedPolicySize response element indicates by percentage how close to the upper size limit the policy is, with 100% equaling the maximum allowed size.

" + "documentation":"

An IAM policy in JSON format that you want to use as an inline session policy.

This parameter is optional. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

The plain text that you use for both inline and managed session policies shouldn't exceed 2048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\\u0020 through \\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

The characters in this parameter count towards the 2048 character session policy guideline. However, an AWS conversion compresses the session policies into a packed binary format that has a separate limit. This is the enforced limit. The PackedPolicySize response element indicates by percentage how close the policy is to the upper size limit.

" }, "DurationSeconds":{ "shape":"roleDurationSecondsType", - "documentation":"

The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting, the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide.

By default, the value is set to 3600 seconds.

The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide.

" + "documentation":"

The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting, the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide.

By default, the value is set to 3600 seconds.

The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide.

" }, "ExternalId":{ "shape":"externalIdType", - "documentation":"

A unique identifier that is used by third parties when assuming roles in their customers' accounts. For each role that the third party can assume, they should instruct their customers to ensure the role's trust policy checks for the external ID that the third party generated. Each time the third party assumes the role, they should pass the customer's external ID. The external ID is useful in order to help third parties bind a role to the customer who created it. For more information about the external ID, see How to Use an External ID When Granting Access to Your AWS Resources to a Third Party in the IAM User Guide.

The regex used to validated this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

" + "documentation":"

A unique identifier that might be required when you assume a role in another account. If the administrator of the account to which the role belongs provided you with an external ID, then provide that value in the ExternalId parameter. This value can be any string, such as a passphrase or account number. A cross-account role is usually set up to trust everyone in an account. Therefore, the administrator of the trusting account might send an external ID to the administrator of the trusted account. That way, only someone with the ID can assume the role, rather than everyone in the account. For more information about the external ID, see How to Use an External ID When Granting Access to Your AWS Resources to a Third Party in the IAM User Guide.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

" }, "SerialNumber":{ "shape":"serialNumberType", @@ -181,7 +185,7 @@ "members":{ "Credentials":{ "shape":"Credentials", - "documentation":"

The temporary security credentials, which include an access key ID, a secret access key, and a security (or session) token.

Note: The size of the security token that STS APIs return is not fixed. We strongly recommend that you make no assumptions about the maximum size. As of this writing, the typical size is less than 4096 bytes, but that can vary. Also, future updates to AWS might require larger sizes.

" + "documentation":"

The temporary security credentials, which include an access key ID, a secret access key, and a security (or session) token.

The size of the security token that STS API operations return is not fixed. We strongly recommend that you make no assumptions about the maximum size.

" }, "AssumedRoleUser":{ "shape":"AssumedRoleUser", @@ -212,15 +216,19 @@ }, "SAMLAssertion":{ "shape":"SAMLAssertionType", - "documentation":"

The base-64 encoded SAML authentication response provided by the IdP.

For more information, see Configuring a Relying Party and Adding Claims in the Using IAM guide.

" + "documentation":"

The base-64 encoded SAML authentication response provided by the IdP.

For more information, see Configuring a Relying Party and Adding Claims in the IAM User Guide.

" + }, + "PolicyArns":{ + "shape":"policyDescriptorListType", + "documentation":"

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role.

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plain text that you use for both inline and managed session policies shouldn't exceed 2048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

The characters in this parameter count towards the 2048 character session policy guideline. However, an AWS conversion compresses the session policies into a packed binary format that has a separate limit. This is the enforced limit. The PackedPolicySize response element indicates by percentage how close the policy is to the upper size limit.

Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

" }, "Policy":{ "shape":"sessionPolicyDocumentType", - "documentation":"

An IAM policy in JSON format.

The policy parameter is optional. If you pass a policy, the temporary security credentials that are returned by the operation have the permissions that are allowed by both the access policy of the role that is being assumed, and the policy that you pass. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide.

The format for this parameter, as described by its regex pattern, is a string of characters up to 2048 characters in length. The characters can be any ASCII character from the space character to the end of the valid character list (\\u0020-\\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

The policy plain text must be 2048 bytes or shorter. However, an internal conversion compresses it into a packed binary format with a separate limit. The PackedPolicySize response element indicates by percentage how close to the upper size limit the policy is, with 100% equaling the maximum allowed size.

" + "documentation":"

An IAM policy in JSON format that you want to use as an inline session policy.

This parameter is optional. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

The plain text that you use for both inline and managed session policies shouldn't exceed 2048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\\u0020 through \\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

The characters in this parameter count towards the 2048 character session policy guideline. However, an AWS conversion compresses the session policies into a packed binary format that has a separate limit. This is the enforced limit. The PackedPolicySize response element indicates by percentage how close the policy is to the upper size limit.

" }, "DurationSeconds":{ "shape":"roleDurationSecondsType", - "documentation":"

The duration, in seconds, of the role session. Your role session lasts for the duration that you specify for the DurationSeconds parameter, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting, the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide.

By default, the value is set to 3600 seconds.

The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide.

" + "documentation":"

The duration, in seconds, of the role session. Your role session lasts for the duration that you specify for the DurationSeconds parameter, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting, the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide.

By default, the value is set to 3600 seconds.

The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide.

" } } }, @@ -229,7 +237,7 @@ "members":{ "Credentials":{ "shape":"Credentials", - "documentation":"

The temporary security credentials, which include an access key ID, a secret access key, and a security (or session) token.

Note: The size of the security token that STS APIs return is not fixed. We strongly recommend that you make no assumptions about the maximum size. As of this writing, the typical size is less than 4096 bytes, but that can vary. Also, future updates to AWS might require larger sizes.

" + "documentation":"

The temporary security credentials, which include an access key ID, a secret access key, and a security (or session) token.

The size of the security token that STS API operations return is not fixed. We strongly recommend that you make no assumptions about the maximum size.

" }, "AssumedRoleUser":{ "shape":"AssumedRoleUser", @@ -286,13 +294,17 @@ "shape":"urlType", "documentation":"

The fully qualified host component of the domain name of the identity provider.

Specify this value only for OAuth 2.0 access tokens. Currently www.amazon.com and graph.facebook.com are the only supported identity providers for OAuth 2.0 access tokens. Do not include URL schemes and port numbers.

Do not specify this value for OpenID Connect ID tokens.

" }, + "PolicyArns":{ + "shape":"policyDescriptorListType", + "documentation":"

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role.

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plain text that you use for both inline and managed session policies shouldn't exceed 2048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

The characters in this parameter count towards the 2048 character session policy guideline. However, an AWS conversion compresses the session policies into a packed binary format that has a separate limit. This is the enforced limit. The PackedPolicySize response element indicates by percentage how close the policy is to the upper size limit.

Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

" + }, "Policy":{ "shape":"sessionPolicyDocumentType", - "documentation":"

An IAM policy in JSON format.

The policy parameter is optional. If you pass a policy, the temporary security credentials that are returned by the operation have the permissions that are allowed by both the access policy of the role that is being assumed, and the policy that you pass. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRoleWithWebIdentity in the IAM User Guide.

The format for this parameter, as described by its regex pattern, is a string of characters up to 2048 characters in length. The characters can be any ASCII character from the space character to the end of the valid character list (\\u0020-\\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

The policy plain text must be 2048 bytes or shorter. However, an internal conversion compresses it into a packed binary format with a separate limit. The PackedPolicySize response element indicates by percentage how close to the upper size limit the policy is, with 100% equaling the maximum allowed size.

" + "documentation":"

An IAM policy in JSON format that you want to use as an inline session policy.

This parameter is optional. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

The plain text that you use for both inline and managed session policies shouldn't exceed 2048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\\u0020 through \\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

The characters in this parameter count towards the 2048 character session policy guideline. However, an AWS conversion compresses the session policies into a packed binary format that has a separate limit. This is the enforced limit. The PackedPolicySize response element indicates by percentage how close the policy is to the upper size limit.

" }, "DurationSeconds":{ "shape":"roleDurationSecondsType", - "documentation":"

The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting, the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide.

By default, the value is set to 3600 seconds.

The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide.

" + "documentation":"

The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting, the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide.

By default, the value is set to 3600 seconds.

The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide.

" } } }, @@ -301,7 +313,7 @@ "members":{ "Credentials":{ "shape":"Credentials", - "documentation":"

The temporary security credentials, which include an access key ID, a secret access key, and a security token.

Note: The size of the security token that STS APIs return is not fixed. We strongly recommend that you make no assumptions about the maximum size. As of this writing, the typical size is less than 4096 bytes, but that can vary. Also, future updates to AWS might require larger sizes.

" + "documentation":"

The temporary security credentials, which include an access key ID, a secret access key, and a security token.

The size of the security token that STS API operations return is not fixed. We strongly recommend that you make no assumptions about the maximum size.

" }, "SubjectFromWebIdentityToken":{ "shape":"webIdentitySubjectType", @@ -317,7 +329,7 @@ }, "Provider":{ "shape":"Issuer", - "documentation":"

The issuing authority of the web identity token presented. For OpenID Connect ID Tokens this contains the value of the iss field. For OAuth 2.0 access tokens, this contains the value of the ProviderId parameter that was passed in the AssumeRoleWithWebIdentity request.

" + "documentation":"

The issuing authority of the web identity token presented. For OpenID Connect ID tokens, this contains the value of the iss field. For OAuth 2.0 access tokens, this contains the value of the ProviderId parameter that was passed in the AssumeRoleWithWebIdentity request.

" }, "Audience":{ "shape":"Audience", @@ -339,7 +351,7 @@ }, "Arn":{ "shape":"arnType", - "documentation":"

The ARN of the temporary security credentials that are returned from the AssumeRole action. For more information about ARNs and how to use them in policies, see IAM Identifiers in Using IAM.

" + "documentation":"

The ARN of the temporary security credentials that are returned from the AssumeRole action. For more information about ARNs and how to use them in policies, see IAM Identifiers in Using IAM.

" } }, "documentation":"

The identifiers for the temporary security credentials that the operation returns.

" @@ -419,7 +431,7 @@ }, "Arn":{ "shape":"arnType", - "documentation":"

The ARN that specifies the federated user that is associated with the credentials. For more information about ARNs and how to use them in policies, see IAM Identifiers in Using IAM.

" + "documentation":"

The ARN that specifies the federated user that is associated with the credentials. For more information about ARNs and how to use them in policies, see IAM Identifiers in Using IAM.

" } }, "documentation":"

Identifiers for the federated user that is associated with the credentials.

" @@ -434,7 +446,7 @@ "members":{ "UserId":{ "shape":"userIdType", - "documentation":"

The unique identifier of the calling entity. The exact value depends on the type of entity making the call. The values returned are those listed in the aws:userid column in the Principal table found on the Policy Variables reference page in the IAM User Guide.

" + "documentation":"

The unique identifier of the calling entity. The exact value depends on the type of entity that is making the call. The values returned are those listed in the aws:userid column in the Principal table found on the Policy Variables reference page in the IAM User Guide.

" }, "Account":{ "shape":"accountType", @@ -457,11 +469,15 @@ }, "Policy":{ "shape":"sessionPolicyDocumentType", - "documentation":"

An IAM policy in JSON format that is passed with the GetFederationToken call and evaluated along with the policy or policies that are attached to the IAM user whose credentials are used to call GetFederationToken. The passed policy is used to scope down the permissions that are available to the IAM user, by allowing only a subset of the permissions that are granted to the IAM user. The passed policy cannot grant more permissions than those granted to the IAM user. The final permissions for the federated user are the most restrictive set based on the intersection of the passed policy and the IAM user policy.

If you do not pass a policy, the resulting temporary security credentials have no effective permissions. The only exception is when the temporary security credentials are used to access a resource that has a resource-based policy that specifically allows the federated user to access the resource.

The format for this parameter, as described by its regex pattern, is a string of characters up to 2048 characters in length. The characters can be any ASCII character from the space character to the end of the valid character list (\\u0020-\\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

The policy plain text must be 2048 bytes or shorter. However, an internal conversion compresses it into a packed binary format with a separate limit. The PackedPolicySize response element indicates by percentage how close to the upper size limit the policy is, with 100% equaling the maximum allowed size.

For more information about how permissions work, see Permissions for GetFederationToken.

" + "documentation":"

An IAM policy in JSON format that you want to use as an inline session policy.

You must pass an inline or managed session policy to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies.

This parameter is optional. However, if you do not pass any session policies, then the resulting federated user session has no permissions. The only exception is when the credentials are used to access a resource that has a resource-based policy that specifically references the federated user session in the Principal element of the policy.

When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide.

The plain text that you use for both inline and managed session policies shouldn't exceed 2048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\\u0020 through \\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

The characters in this parameter count towards the 2048 character session policy guideline. However, an AWS conversion compresses the session policies into a packed binary format that has a separate limit. This is the enforced limit. The PackedPolicySize response element indicates by percentage how close the policy is to the upper size limit.

" + }, + "PolicyArns":{ + "shape":"policyDescriptorListType", + "documentation":"

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as a managed session policy. The policies must exist in the same account as the IAM user that is requesting federated access.

You must pass an inline or managed session policy to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies shouldn't exceed 2048 characters. You can provide up to 10 managed policy ARNs. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

This parameter is optional. However, if you do not pass any session policies, then the resulting federated user session has no permissions. The only exception is when the credentials are used to access a resource that has a resource-based policy that specifically references the federated user session in the Principal element of the policy.

When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide.

The characters in this parameter count towards the 2048 character session policy guideline. However, an AWS conversion compresses the session policies into a packed binary format that has a separate limit. This is the enforced limit. The PackedPolicySize response element indicates by percentage how close the policy is to the upper size limit.

" }, "DurationSeconds":{ "shape":"durationSecondsType", - "documentation":"

The duration, in seconds, that the session should last. Acceptable durations for federation sessions range from 900 seconds (15 minutes) to 129600 seconds (36 hours), with 43200 seconds (12 hours) as the default. Sessions obtained using AWS account (root) credentials are restricted to a maximum of 3600 seconds (one hour). If the specified duration is longer than one hour, the session obtained by using AWS account (root) credentials defaults to one hour.

" + "documentation":"

The duration, in seconds, that the session should last. Acceptable durations for federation sessions range from 900 seconds (15 minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12 hours) as the default. Sessions obtained using AWS account root user credentials are restricted to a maximum of 3,600 seconds (one hour). If the specified duration is longer than one hour, the session obtained by using root user credentials defaults to one hour.

" } } }, @@ -470,7 +486,7 @@ "members":{ "Credentials":{ "shape":"Credentials", - "documentation":"

The temporary security credentials, which include an access key ID, a secret access key, and a security (or session) token.

Note: The size of the security token that STS APIs return is not fixed. We strongly recommend that you make no assumptions about the maximum size. As of this writing, the typical size is less than 4096 bytes, but that can vary. Also, future updates to AWS might require larger sizes.

" + "documentation":"

The temporary security credentials, which include an access key ID, a secret access key, and a security (or session) token.

The size of the security token that STS API operations return is not fixed. We strongly recommend that you make no assumptions about the maximum size.

" }, "FederatedUser":{ "shape":"FederatedUser", @@ -488,15 +504,15 @@ "members":{ "DurationSeconds":{ "shape":"durationSecondsType", - "documentation":"

The duration, in seconds, that the credentials should remain valid. Acceptable durations for IAM user sessions range from 900 seconds (15 minutes) to 129600 seconds (36 hours), with 43200 seconds (12 hours) as the default. Sessions for AWS account owners are restricted to a maximum of 3600 seconds (one hour). If the duration is longer than one hour, the session for AWS account owners defaults to one hour.

" + "documentation":"

The duration, in seconds, that the credentials should remain valid. Acceptable durations for IAM user sessions range from 900 seconds (15 minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12 hours) as the default. Sessions for AWS account owners are restricted to a maximum of 3,600 seconds (one hour). If the duration is longer than one hour, the session for AWS account owners defaults to one hour.

" }, "SerialNumber":{ "shape":"serialNumberType", - "documentation":"

The identification number of the MFA device that is associated with the IAM user who is making the GetSessionToken call. Specify this value if the IAM user has a policy that requires MFA authentication. The value is either the serial number for a hardware device (such as GAHT12345678) or an Amazon Resource Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user). You can find the device for an IAM user by going to the AWS Management Console and viewing the user's security credentials.

The regex used to validated this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

" + "documentation":"

The identification number of the MFA device that is associated with the IAM user who is making the GetSessionToken call. Specify this value if the IAM user has a policy that requires MFA authentication. The value is either the serial number for a hardware device (such as GAHT12345678) or an Amazon Resource Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user). You can find the device for an IAM user by going to the AWS Management Console and viewing the user's security credentials.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

" }, "TokenCode":{ "shape":"tokenCodeType", - "documentation":"

The value provided by the MFA device, if MFA is required. If any policy requires the IAM user to submit an MFA code, specify this value. If MFA authentication is required, and the user does not provide a code when requesting a set of temporary security credentials, the user will receive an \"access denied\" response when requesting resources that require MFA authentication.

The format for this parameter, as described by its regex pattern, is a sequence of six numeric digits.

" + "documentation":"

The value provided by the MFA device, if MFA is required. If any policy requires the IAM user to submit an MFA code, specify this value. If MFA authentication is required, the user must provide a code when requesting a set of temporary security credentials. A user who fails to provide the code receives an \"access denied\" response when requesting resources that require MFA authentication.

The format for this parameter, as described by its regex pattern, is a sequence of six numeric digits.

" } } }, @@ -505,7 +521,7 @@ "members":{ "Credentials":{ "shape":"Credentials", - "documentation":"

The temporary security credentials, which include an access key ID, a secret access key, and a security (or session) token.

Note: The size of the security token that STS APIs return is not fixed. We strongly recommend that you make no assumptions about the maximum size. As of this writing, the typical size is less than 4096 bytes, but that can vary. Also, future updates to AWS might require larger sizes.

" + "documentation":"

The temporary security credentials, which include an access key ID, a secret access key, and a security (or session) token.

The size of the security token that STS API operations return is not fixed. We strongly recommend that you make no assumptions about the maximum size.

" } }, "documentation":"

Contains the response to a successful GetSessionToken request, including temporary AWS credentials that can be used to make AWS requests.

" @@ -590,12 +606,22 @@ }, "exception":true }, + "PolicyDescriptorType":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"arnType", + "documentation":"

The Amazon Resource Name (ARN) of the IAM managed policy to use as a session policy for the role. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + } + }, + "documentation":"

A reference to the IAM managed policy that is passed as a session policy for a role session or a federated user session.

" + }, "RegionDisabledException":{ "type":"structure", "members":{ "message":{"shape":"regionDisabledMessage"} }, - "documentation":"

STS is not activated in the requested region for the account that is being asked to generate credentials. The account administrator must use the IAM console to activate STS in that region. For more information, see Activating and Deactivating AWS STS in an AWS Region in the IAM User Guide.

", + "documentation":"

STS is not activated in the requested region for the account that is being asked to generate credentials. The account administrator must use the IAM console to activate STS in that region. For more information, see Activating and Deactivating AWS STS in an AWS Region in the IAM User Guide.

", "error":{ "code":"RegionDisabledException", "httpStatusCode":403, @@ -670,6 +696,10 @@ "min":0 }, "packedPolicyTooLargeMessage":{"type":"string"}, + "policyDescriptorListType":{ + "type":"list", + "member":{"shape":"PolicyDescriptorType"} + }, "regionDisabledMessage":{"type":"string"}, "roleDurationSecondsType":{ "type":"integer", @@ -719,5 +749,5 @@ "min":6 } }, - "documentation":"AWS Security Token Service

The AWS Security Token Service (STS) is a web service that enables you to request temporary, limited-privilege credentials for AWS Identity and Access Management (IAM) users or for users that you authenticate (federated users). This guide provides descriptions of the STS API. For more detailed information about using this service, go to Temporary Security Credentials.

As an alternative to using the API, you can use one of the AWS SDKs, which consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to STS. For example, the SDKs take care of cryptographically signing requests, managing errors, and retrying requests automatically. For information about the AWS SDKs, including how to download and install them, see the Tools for Amazon Web Services page.

For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about the Query API, go to Making Query Requests in Using IAM. For information about using security tokens with other AWS products, go to AWS Services That Work with IAM in the IAM User Guide.

If you're new to AWS and need additional technical information about a specific AWS product, you can find the product's technical documentation at http://aws.amazon.com/documentation/.

Endpoints

The AWS Security Token Service (STS) has a default endpoint of https://sts.amazonaws.com that maps to the US East (N. Virginia) region. Additional regions are available and are activated by default. For more information, see Activating and Deactivating AWS STS in an AWS Region in the IAM User Guide.

For information about STS endpoints, see Regions and Endpoints in the AWS General Reference.

Recording API requests

STS supports AWS CloudTrail, which is a service that records AWS calls for your AWS account and delivers log files to an Amazon S3 bucket. By using information collected by CloudTrail, you can determine what requests were successfully made to STS, who made the request, when it was made, and so on. To learn more about CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User Guide.

" + "documentation":"AWS Security Token Service

The AWS Security Token Service (STS) is a web service that enables you to request temporary, limited-privilege credentials for AWS Identity and Access Management (IAM) users or for users that you authenticate (federated users). This guide provides descriptions of the STS API. For more detailed information about using this service, go to Temporary Security Credentials.

For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about the Query API, go to Making Query Requests in Using IAM. For information about using security tokens with other AWS products, go to AWS Services That Work with IAM in the IAM User Guide.

If you're new to AWS and need additional technical information about a specific AWS product, you can find the product's technical documentation at http://aws.amazon.com/documentation/.

Endpoints

By default, AWS Security Token Service (STS) is available as a global service, and all AWS STS requests go to a single endpoint at https://sts.amazonaws.com. Global requests map to the US East (N. Virginia) region. AWS recommends using Regional AWS STS endpoints instead of the global endpoint to reduce latency, build in redundancy, and increase session token validity. For more information, see Managing AWS STS in an AWS Region in the IAM User Guide.

Most AWS Regions are enabled for operations in all AWS services by default. Those Regions are automatically activated for use with AWS STS. Some Regions, such as Asia Pacific (Hong Kong), must be manually enabled. To learn more about enabling and disabling AWS Regions, see Managing AWS Regions in the AWS General Reference. When you enable these AWS Regions, they are automatically activated for use with AWS STS. You cannot activate the STS endpoint for a Region that is disabled. Tokens that are valid in all AWS Regions are longer than tokens that are valid in Regions that are enabled by default. Changing this setting might affect existing systems where you temporarily store tokens. For more information, see Managing Global Endpoint Session Tokens in the IAM User Guide.

After you activate a Region for use with AWS STS, you can direct AWS STS API calls to that Region. AWS STS recommends that you provide both the Region and endpoint when you make calls to a Regional endpoint. You can provide the Region alone for manually enabled Regions, such as Asia Pacific (Hong Kong). In this case, the calls are directed to the STS Regional endpoint. However, if you provide the Region alone for Regions enabled by default, the calls are directed to the global endpoint of https://sts.amazonaws.com.

To view the list of AWS STS endpoints and whether they are active by default, see Writing Code to Use AWS STS Regions in the IAM User Guide.

Recording API requests

STS supports AWS CloudTrail, which is a service that records AWS calls for your AWS account and delivers log files to an Amazon S3 bucket. By using information collected by CloudTrail, you can determine what requests were successfully made to STS, who made the request, when it was made, and so on.

If you activate AWS STS endpoints in Regions other than the default global endpoint, then you must also turn on CloudTrail logging in those Regions. This is necessary to record any AWS STS API calls that are made in those Regions. For more information, see Turning On CloudTrail in Additional Regions in the AWS CloudTrail User Guide.

AWS Security Token Service (STS) is a global service with a single endpoint at https://sts.amazonaws.com. Calls to this endpoint are logged as calls to a global service. However, because this endpoint is physically located in the US East (N. Virginia) Region, your logs list us-east-1 as the event Region. CloudTrail does not write these logs to the US East (Ohio) Region unless you choose to include global service logs in that Region. CloudTrail writes calls to all Regional endpoints to their respective Regions. For example, calls to sts.us-east-2.amazonaws.com are published to the US East (Ohio) Region and calls to sts.eu-central-1.amazonaws.com are published to the EU (Frankfurt) Region.

To learn more about CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User Guide.

" } diff --git a/bin/botocore/data/textract/2018-06-27/paginators-1.json b/bin/botocore/data/textract/2018-06-27/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/bin/botocore/data/textract/2018-06-27/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/bin/botocore/data/textract/2018-06-27/service-2.json b/bin/botocore/data/textract/2018-06-27/service-2.json new file mode 100644 index 00000000..6e0a4081 --- /dev/null +++ b/bin/botocore/data/textract/2018-06-27/service-2.json @@ -0,0 +1,812 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-06-27", + "endpointPrefix":"textract", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"Amazon Textract", + "serviceId":"Textract", + "signatureVersion":"v4", + "targetPrefix":"Textract", + "uid":"textract-2018-06-27" + }, + "operations":{ + "AnalyzeDocument":{ + "name":"AnalyzeDocument", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AnalyzeDocumentRequest"}, + "output":{"shape":"AnalyzeDocumentResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidS3ObjectException"}, + {"shape":"UnsupportedDocumentException"}, + {"shape":"DocumentTooLargeException"}, + {"shape":"BadDocumentException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Analyzes an input document for relationships between detected items.

The types of information returned are as follows:

  • Words and lines that are related to nearby lines and words. The related information is returned in two Block objects each of type KEY_VALUE_SET: a KEY Block object and a VALUE Block object. For example, Name: Ana Silva Carolina contains a key and value. Name: is the key. Ana Silva Carolina is the value.

  • Table and table cell data. A TABLE Block object contains information about a detected table. A CELL Block object is returned for each cell in a table.

  • Selectable elements such as checkboxes and radio buttons. A SELECTION_ELEMENT Block object contains information about a selectable element.

  • Lines and words of text. A LINE Block object contains one or more WORD Block objects.

You can choose which type of analysis to perform by specifying the FeatureTypes list.

The output is returned in a list of BLOCK objects.

AnalyzeDocument is a synchronous operation. To analyze documents asynchronously, use StartDocumentAnalysis.

For more information, see Document Text Analysis.

" + }, + "DetectDocumentText":{ + "name":"DetectDocumentText", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetectDocumentTextRequest"}, + "output":{"shape":"DetectDocumentTextResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidS3ObjectException"}, + {"shape":"UnsupportedDocumentException"}, + {"shape":"DocumentTooLargeException"}, + {"shape":"BadDocumentException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Detects text in the input document. Amazon Textract can detect lines of text and the words that make up a line of text. The input document must be an image in JPG or PNG format. DetectDocumentText returns the detected text in an array of Block objects.

Each document page has as an associated Block of type PAGE. Each PAGE Block object is the parent of LINE Block objects that represent the lines of detected text on a page. A LINE Block object is a parent for each word that makes up the line. Words are represented by Block objects of type WORD.

DetectDocumentText is a synchronous operation. To analyze documents asynchronously, use StartDocumentTextDetection.

For more information, see Document Text Detection.

" + }, + "GetDocumentAnalysis":{ + "name":"GetDocumentAnalysis", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDocumentAnalysisRequest"}, + "output":{"shape":"GetDocumentAnalysisResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"InvalidJobIdException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Gets the results for an Amazon Textract asynchronous operation that analyzes text in a document.

You start asynchronous text analysis by calling StartDocumentAnalysis, which returns a job identifier (JobId). When the text analysis operation finishes, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS) topic that's registered in the initial call to StartDocumentAnalysis. To get the results of the text-detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetDocumentAnalysis, and pass the job identifier (JobId) from the initial call to StartDocumentAnalysis.

GetDocumentAnalysis returns an array of Block objects. The following types of information are returned:

  • Words and lines that are related to nearby lines and words. The related information is returned in two Block objects each of type KEY_VALUE_SET: a KEY Block object and a VALUE Block object. For example, Name: Ana Silva Carolina contains a key and value. Name: is the key. Ana Silva Carolina is the value.

  • Table and table cell data. A TABLE Block object contains information about a detected table. A CELL Block object is returned for each cell in a table.

  • Selectable elements such as checkboxes and radio buttons. A SELECTION_ELEMENT Block object contains information about a selectable element.

  • Lines and words of text. A LINE Block object contains one or more WORD Block objects.

Use the MaxResults parameter to limit the number of blocks returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetDocumentAnalysis, and populate the NextToken request parameter with the token value that's returned from the previous call to GetDocumentAnalysis.

For more information, see Document Text Analysis.

" + }, + "GetDocumentTextDetection":{ + "name":"GetDocumentTextDetection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDocumentTextDetectionRequest"}, + "output":{"shape":"GetDocumentTextDetectionResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"InvalidJobIdException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Gets the results for an Amazon Textract asynchronous operation that detects text in a document. Amazon Textract can detect lines of text and the words that make up a line of text.

You start asynchronous text detection by calling StartDocumentTextDetection, which returns a job identifier (JobId). When the text detection operation finishes, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS) topic that's registered in the initial call to StartDocumentTextDetection. To get the results of the text-detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetDocumentTextDetection, and pass the job identifier (JobId) from the initial call to StartDocumentTextDetection.

GetDocumentTextDetection returns an array of Block objects.

Each document page has as an associated Block of type PAGE. Each PAGE Block object is the parent of LINE Block objects that represent the lines of detected text on a page. A LINE Block object is a parent for each word that makes up the line. Words are represented by Block objects of type WORD.

Use the MaxResults parameter to limit the number of blocks that are returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetDocumentTextDetection, and populate the NextToken request parameter with the token value that's returned from the previous call to GetDocumentTextDetection.

For more information, see Document Text Detection.

" + }, + "StartDocumentAnalysis":{ + "name":"StartDocumentAnalysis", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartDocumentAnalysisRequest"}, + "output":{"shape":"StartDocumentAnalysisResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidS3ObjectException"}, + {"shape":"UnsupportedDocumentException"}, + {"shape":"DocumentTooLargeException"}, + {"shape":"BadDocumentException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"InternalServerError"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Starts asynchronous analysis of an input document for relationships between detected items such as key and value pairs, tables, and selection elements.

StartDocumentAnalysis can analyze text in documents that are in JPG, PNG, and PDF format. The documents are stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket name and file name of the document.

StartDocumentAnalysis returns a job identifier (JobId) that you use to get the results of the operation. When text analysis is finished, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS) topic that you specify in NotificationChannel. To get the results of the text analysis operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetDocumentAnalysis, and pass the job identifier (JobId) from the initial call to StartDocumentAnalysis.

For more information, see Document Text Analysis.

" + }, + "StartDocumentTextDetection":{ + "name":"StartDocumentTextDetection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartDocumentTextDetectionRequest"}, + "output":{"shape":"StartDocumentTextDetectionResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidS3ObjectException"}, + {"shape":"UnsupportedDocumentException"}, + {"shape":"DocumentTooLargeException"}, + {"shape":"BadDocumentException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"InternalServerError"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Starts the asynchronous detection of text in a document. Amazon Textract can detect lines of text and the words that make up a line of text.

StartDocumentTextDetection can analyze text in documents that are in JPG, PNG, and PDF format. The documents are stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket name and file name of the document.

StartTextDetection returns a job identifier (JobId) that you use to get the results of the operation. When text detection is finished, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS) topic that you specify in NotificationChannel. To get the results of the text detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetDocumentTextDetection, and pass the job identifier (JobId) from the initial call to StartDocumentTextDetection.

For more information, see Document Text Detection.

" + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You aren't authorized to perform the action.

", + "exception":true + }, + "AnalyzeDocumentRequest":{ + "type":"structure", + "required":[ + "Document", + "FeatureTypes" + ], + "members":{ + "Document":{ + "shape":"Document", + "documentation":"

The input document as base64-encoded bytes or an Amazon S3 object. If you use the AWS CLI to call Amazon Textract operations, you can't pass image bytes. The document must be an image in JPG or PNG format.

If you are using an AWS SDK to call Amazon Textract, you might not need to base64-encode image bytes passed using the Bytes field.

" + }, + "FeatureTypes":{ + "shape":"FeatureTypes", + "documentation":"

A list of the types of analysis to perform. Add TABLES to the list to return information about the tables detected in the input document. Add FORMS to return detected fields and the associated text. To perform both types of analysis, add TABLES and FORMS to FeatureTypes.

" + } + } + }, + "AnalyzeDocumentResponse":{ + "type":"structure", + "members":{ + "DocumentMetadata":{ + "shape":"DocumentMetadata", + "documentation":"

Metadata about the analyzed document. An example is the number of pages.

" + }, + "Blocks":{ + "shape":"BlockList", + "documentation":"

The text that's detected and analyzed by AnalyzeDocument.

" + } + } + }, + "BadDocumentException":{ + "type":"structure", + "members":{ + }, + "documentation":"

Amazon Textract isn't able to read the document.

", + "exception":true + }, + "Block":{ + "type":"structure", + "members":{ + "BlockType":{ + "shape":"BlockType", + "documentation":"

The type of text that's recognized in a block. In text-detection operations, the following types are returned:

  • PAGE - Contains a list of the LINE Block objects that are detected on a document page.

  • WORD - A word detected on a document page. A word is one or more ISO basic Latin script characters that aren't separated by spaces.

  • LINE - A string of tab-delimited, contiguous words that's detected on a document page.

In text analysis operations, the following types are returned:

  • PAGE - Contains a list of child Block objects that are detected on a document page.

  • KEY_VALUE_SET - Stores the KEY and VALUE Block objects for a field that's detected on a document page. Use the EntityType field to determine if a KEY_VALUE_SET object is a KEY Block object or a VALUE Block object.

  • WORD - A word detected on a document page. A word is one or more ISO basic Latin script characters that aren't separated by spaces that's detected on a document page.

  • LINE - A string of tab-delimited, contiguous words that's detected on a document page.

  • TABLE - A table that's detected on a document page. A table is any grid-based information with 2 or more rows or columns with a cell span of 1 row and 1 column each.

  • CELL - A cell within a detected table. The cell is the parent of the block that contains the text in the cell.

  • SELECTION_ELEMENT - A selectable element such as a radio button or checkbox that's detected on a document page. Use the value of SelectionStatus to determine the status of the selection element.

" + }, + "Confidence":{ + "shape":"Percent", + "documentation":"

The confidence that Amazon Textract has in the accuracy of the recognized text and the accuracy of the geometry points around the recognized text.

" + }, + "Text":{ + "shape":"String", + "documentation":"

The word or line of text that's recognized by Amazon Textract.

" + }, + "RowIndex":{ + "shape":"UInteger", + "documentation":"

The row in which a table cell is located. The first row position is 1. RowIndex isn't returned by DetectDocumentText and GetDocumentTextDetection.

" + }, + "ColumnIndex":{ + "shape":"UInteger", + "documentation":"

The column in which a table cell appears. The first column position is 1. ColumnIndex isn't returned by DetectDocumentText and GetDocumentTextDetection.

" + }, + "RowSpan":{ + "shape":"UInteger", + "documentation":"

The number of rows that a table spans. RowSpan isn't returned by DetectDocumentText and GetDocumentTextDetection.

" + }, + "ColumnSpan":{ + "shape":"UInteger", + "documentation":"

The number of columns that a table cell spans. ColumnSpan isn't returned by DetectDocumentText and GetDocumentTextDetection.

" + }, + "Geometry":{ + "shape":"Geometry", + "documentation":"

The location of the recognized text on the image. It includes an axis-aligned, coarse bounding box that surrounds the text, and a finer-grain polygon for more accurate spatial information.

" + }, + "Id":{ + "shape":"NonEmptyString", + "documentation":"

The identifier for the recognized text. The identifier is only unique for a single operation.

" + }, + "Relationships":{ + "shape":"RelationshipList", + "documentation":"

A list of child blocks of the current block. For example a LINE object has child blocks for each WORD block that's part of the line of text. There aren't Relationship objects in the list for relationships that don't exist, such as when the current block has no child blocks. The list size can be the following:

  • 0 - The block has no child blocks.

  • 1 - The block has child blocks.

" + }, + "EntityTypes":{ + "shape":"EntityTypes", + "documentation":"

The type of entity. The following can be returned:

  • KEY - An identifier for a field on the document.

  • VALUE - The field text.

EntityTypes isn't returned by DetectDocumentText and GetDocumentTextDetection.

" + }, + "SelectionStatus":{ + "shape":"SelectionStatus", + "documentation":"

The selection status of a selectable element such as a radio button or checkbox.

" + }, + "Page":{ + "shape":"UInteger", + "documentation":"

The page in which a block was detected. Page is returned by asynchronous operations. Page values greater than 1 are only returned for multi-page documents that are in PDF format. A scanned image (JPG/PNG), even if it contains multiple document pages, is always considered to be a single-page document and the value of Page is always 1. Synchronous operations don't return Page as every input document is considered to be a single-page document.

" + } + }, + "documentation":"

A Block represents items that are recognized in a document within a group of pixels close to each other. The information returned in a Block depends on the type of operation. In document-text detection (for example DetectDocumentText), you get information about the detected words and lines of text. In text analysis (for example AnalyzeDocument), you can also get information about the fields, tables and selection elements that are detected in the document.

An array of Block objects is returned by both synchronous and asynchronous operations. In synchronous operations, such as DetectDocumentText, the array of Block objects is the entire set of results. In asynchronous operations, such as GetDocumentAnalysis, the array is returned over one or more responses.

For more information, see How Amazon Textract Works.

" + }, + "BlockList":{ + "type":"list", + "member":{"shape":"Block"} + }, + "BlockType":{ + "type":"string", + "enum":[ + "KEY_VALUE_SET", + "PAGE", + "LINE", + "WORD", + "TABLE", + "CELL", + "SELECTION_ELEMENT" + ] + }, + "BoundingBox":{ + "type":"structure", + "members":{ + "Width":{ + "shape":"Float", + "documentation":"

The width of the bounding box as a ratio of the overall document page width.

" + }, + "Height":{ + "shape":"Float", + "documentation":"

The height of the bounding box as a ratio of the overall document page height.

" + }, + "Left":{ + "shape":"Float", + "documentation":"

The left coordinate of the bounding box as a ratio of overall document page width.

" + }, + "Top":{ + "shape":"Float", + "documentation":"

The top coordinate of the bounding box as a ratio of overall document page height.

" + } + }, + "documentation":"

The bounding box around the recognized text, key, value, table or table cell on a document page. The left (x-coordinate) and top (y-coordinate) are coordinates that represent the top and left sides of the bounding box. Note that the upper-left corner of the image is the origin (0,0).

The top and left values returned are ratios of the overall document page size. For example, if the input image is 700 x 200 pixels, and the top-left coordinate of the bounding box is 350 x 50 pixels, the API returns a left value of 0.5 (350/700) and a top value of 0.25 (50/200).

The width and height values represent the dimensions of the bounding box as a ratio of the overall document page dimension. For example, if the document page size is 700 x 200 pixels, and the bounding box width is 70 pixels, the width returned is 0.1.

" + }, + "ClientRequestToken":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9-_]+$" + }, + "DetectDocumentTextRequest":{ + "type":"structure", + "required":["Document"], + "members":{ + "Document":{ + "shape":"Document", + "documentation":"

The input document as base64-encoded bytes or an Amazon S3 object. If you use the AWS CLI to call Amazon Textract operations, you can't pass image bytes. The document must be an image in JPG or PNG format.

If you are using an AWS SDK to call Amazon Textract, you might not need to base64-encode image bytes passed using the Bytes field.

" + } + } + }, + "DetectDocumentTextResponse":{ + "type":"structure", + "members":{ + "DocumentMetadata":{ + "shape":"DocumentMetadata", + "documentation":"

Metadata about the document. Contains the number of pages that are detected in the document.

" + }, + "Blocks":{ + "shape":"BlockList", + "documentation":"

An array of Block objects containing the text detected in the document.

" + } + } + }, + "Document":{ + "type":"structure", + "members":{ + "Bytes":{ + "shape":"ImageBlob", + "documentation":"

A blob of base-64 encoded documents bytes. The maximum size of a document that's provided in a blob of bytes is 5 MB. The document bytes must be in PNG or JPG format.

If you are using an AWS SDK to call Amazon Textract, you might not need to base64-encode image bytes passed using the Bytes field.

" + }, + "S3Object":{ + "shape":"S3Object", + "documentation":"

Identifies an S3 object as the document source. The maximum size of a document stored in an S3 bucket is 5 MB.

" + } + }, + "documentation":"

The input document, either as bytes or as an S3 object.

You pass image bytes to an Amazon Textract API operation by using the Bytes property. For example, you would use the Bytes property to pass a document loaded from a local file system. Image bytes passed by using the Bytes property must be base64 encoded. Your code might not need to encode document file bytes if you're using an AWS SDK to call Amazon Textract API operations.

You pass images stored in an S3 bucket to an Amazon Textract API operation by using the S3Object property. Documents stored in an S3 bucket don't need to be base64 encoded.

The AWS Region for the S3 bucket that contains the S3 object must match the AWS Region that you use for Amazon Textract operations.

If you use the AWS CLI to call Amazon Textract operations, passing image bytes using the Bytes property isn't supported. You must first upload the document to an Amazon S3 bucket, and then call the operation using the S3Object property.

For Amazon Textract to process an S3 object, the user must have permission to access the S3 object.

" + }, + "DocumentLocation":{ + "type":"structure", + "members":{ + "S3Object":{ + "shape":"S3Object", + "documentation":"

The Amazon S3 bucket that contains the input document.

" + } + }, + "documentation":"

The Amazon S3 bucket that contains the document to be processed. It's used by asynchronous operations such as StartDocumentTextDetection.

The input document can be an image file in JPG or PNG format. It can also be a file in PDF format.

" + }, + "DocumentMetadata":{ + "type":"structure", + "members":{ + "Pages":{ + "shape":"UInteger", + "documentation":"

The number of pages detected in the document.

" + } + }, + "documentation":"

Information about the input document.

" + }, + "DocumentTooLargeException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The document can't be processed because it's too large. The maximum document size for synchronous operations 5 MB. The maximum document size for asynchronous operations is 500 MB for PDF format files.

", + "exception":true + }, + "EntityType":{ + "type":"string", + "enum":[ + "KEY", + "VALUE" + ] + }, + "EntityTypes":{ + "type":"list", + "member":{"shape":"EntityType"} + }, + "ErrorCode":{"type":"string"}, + "FeatureType":{ + "type":"string", + "enum":[ + "TABLES", + "FORMS" + ] + }, + "FeatureTypes":{ + "type":"list", + "member":{"shape":"FeatureType"} + }, + "Float":{"type":"float"}, + "Geometry":{ + "type":"structure", + "members":{ + "BoundingBox":{ + "shape":"BoundingBox", + "documentation":"

An axis-aligned coarse representation of the location of the recognized text on the document page.

" + }, + "Polygon":{ + "shape":"Polygon", + "documentation":"

Within the bounding box, a fine-grained polygon around the recognized text.

" + } + }, + "documentation":"

Information about where a recognized text, key, value, table, or table cell is located on a document page.

" + }, + "GetDocumentAnalysisRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

A unique identifier for the text-detection job. The JobId is returned from StartDocumentAnalysis.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return per paginated call. The largest value that you can specify is 1,000. If you specify a value greater than 1,000, a maximum of 1,000 results is returned. The default value is 1,000.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

If the previous response was incomplete (because there are more blocks to retrieve), Amazon Textract returns a pagination token in the response. You can use this pagination token to retrieve the next set of blocks.

" + } + } + }, + "GetDocumentAnalysisResponse":{ + "type":"structure", + "members":{ + "DocumentMetadata":{ + "shape":"DocumentMetadata", + "documentation":"

Information about a document that Amazon Textract processed. DocumentMetadata is returned in every page of paginated responses from an Amazon Textract video operation.

" + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

The current status of the text detection job.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

If the response is truncated, Amazon Textract returns this token. You can use this token in the subsequent request to retrieve the next set of text detection results.

" + }, + "Blocks":{ + "shape":"BlockList", + "documentation":"

The results of the text analysis operation.

" + }, + "Warnings":{ + "shape":"Warnings", + "documentation":"

A list of warnings that occurred during the document analysis operation.

" + }, + "StatusMessage":{ + "shape":"StatusMessage", + "documentation":"

The current status of an asynchronous document analysis operation.

" + } + } + }, + "GetDocumentTextDetectionRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

A unique identifier for the text detection job. The JobId is returned from StartDocumentTextDetection.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return per paginated call. The largest value you can specify is 1,000. If you specify a value greater than 1,000, a maximum of 1,000 results is returned. The default value is 1,000.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

If the previous response was incomplete (because there are more blocks to retrieve), Amazon Textract returns a pagination token in the response. You can use this pagination token to retrieve the next set of blocks.

" + } + } + }, + "GetDocumentTextDetectionResponse":{ + "type":"structure", + "members":{ + "DocumentMetadata":{ + "shape":"DocumentMetadata", + "documentation":"

Information about a document that Amazon Textract processed. DocumentMetadata is returned in every page of paginated responses from an Amazon Textract video operation.

" + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

The current status of the text detection job.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

If the response is truncated, Amazon Textract returns this token. You can use this token in the subsequent request to retrieve the next set of text-detection results.

" + }, + "Blocks":{ + "shape":"BlockList", + "documentation":"

The results of the text-detection operation.

" + }, + "Warnings":{ + "shape":"Warnings", + "documentation":"

A list of warnings that occurred during the document text-detection operation.

" + }, + "StatusMessage":{ + "shape":"StatusMessage", + "documentation":"

The current status of an asynchronous document text-detection operation.

" + } + } + }, + "IdList":{ + "type":"list", + "member":{"shape":"NonEmptyString"} + }, + "IdempotentParameterMismatchException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A ClientRequestToken input parameter was reused with an operation, but at least one of the other input parameters is different from the previous call to the operation.

", + "exception":true + }, + "ImageBlob":{ + "type":"blob", + "max":5242880, + "min":1 + }, + "InternalServerError":{ + "type":"structure", + "members":{ + }, + "documentation":"

Amazon Textract experienced a service issue. Try your call again.

", + "exception":true, + "fault":true + }, + "InvalidJobIdException":{ + "type":"structure", + "members":{ + }, + "documentation":"

An invalid job identifier was passed to GetDocumentAnalysis or to GetDocumentAnalysis.

", + "exception":true + }, + "InvalidParameterException":{ + "type":"structure", + "members":{ + }, + "documentation":"

An input parameter violated a constraint. For example, in synchronous operations, an InvalidParameterException exception occurs when neither of the S3Object or Bytes values are supplied in the Document request parameter. Validate your parameter before calling the API operation again.

", + "exception":true + }, + "InvalidS3ObjectException":{ + "type":"structure", + "members":{ + }, + "documentation":"

Amazon Textract is unable to access the S3 object that's specified in the request.

", + "exception":true + }, + "JobId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9-_]+$" + }, + "JobStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "SUCCEEDED", + "FAILED", + "PARTIAL_SUCCESS" + ] + }, + "JobTag":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[a-zA-Z0-9_.\\-:]+" + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

An Amazon Textract service limit was exceeded. For example, if you start too many asynchronous jobs concurrently, calls to start operations (StartDocumentTextDetection, for example) raise a LimitExceededException exception (HTTP status code: 400) until the number of concurrently running jobs is below the Amazon Textract service limit.

", + "exception":true + }, + "MaxResults":{ + "type":"integer", + "min":1 + }, + "NonEmptyString":{ + "type":"string", + "pattern":".*\\S.*" + }, + "NotificationChannel":{ + "type":"structure", + "required":[ + "SNSTopicArn", + "RoleArn" + ], + "members":{ + "SNSTopicArn":{ + "shape":"SNSTopicArn", + "documentation":"

The Amazon SNS topic that Amazon Textract posts the completion status to.

" + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

The Amazon Resource Name (ARN) of an IAM role that gives Amazon Textract publishing permissions to the Amazon SNS topic.

" + } + }, + "documentation":"

The Amazon Simple Notification Service (Amazon SNS) topic to which Amazon Textract publishes the completion status of an asynchronous document operation, such as StartDocumentTextDetection.

" + }, + "Pages":{ + "type":"list", + "member":{"shape":"UInteger"} + }, + "PaginationToken":{ + "type":"string", + "max":255, + "min":1, + "pattern":".*\\S.*" + }, + "Percent":{ + "type":"float", + "max":100, + "min":0 + }, + "Point":{ + "type":"structure", + "members":{ + "X":{ + "shape":"Float", + "documentation":"

The value of the X coordinate for a point on a Polygon.

" + }, + "Y":{ + "shape":"Float", + "documentation":"

The value of the Y coordinate for a point on a Polygon.

" + } + }, + "documentation":"

The X and Y coordinates of a point on a document page. The X and Y values returned are ratios of the overall document page size. For example, if the input document is 700 x 200 and the operation returns X=0.5 and Y=0.25, then the point is at the (350,50) pixel coordinate on the document page.

An array of Point objects, Polygon, is returned by DetectDocumentText. Polygon represents a fine-grained polygon around detected text. For more information, see Geometry in the Amazon Textract Developer Guide.

" + }, + "Polygon":{ + "type":"list", + "member":{"shape":"Point"} + }, + "ProvisionedThroughputExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The number of requests exceeded your throughput limit. If you want to increase this limit, contact Amazon Textract.

", + "exception":true + }, + "Relationship":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"RelationshipType", + "documentation":"

The type of relationship that the blocks in the IDs array have with the current block. The relationship can be VALUE or CHILD.

" + }, + "Ids":{ + "shape":"IdList", + "documentation":"

An array of IDs for related blocks. You can get the type of the relationship from the Type element.

" + } + }, + "documentation":"

Information about how blocks are related to each other. A Block object contains 0 or more Relation objects in a list, Relationships. For more information, see Block.

The Type element provides the type of the relationship for all blocks in the IDs array.

" + }, + "RelationshipList":{ + "type":"list", + "member":{"shape":"Relationship"} + }, + "RelationshipType":{ + "type":"string", + "enum":[ + "VALUE", + "CHILD" + ] + }, + "RoleArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:([a-z\\d-]+):iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+" + }, + "S3Bucket":{ + "type":"string", + "max":255, + "min":3, + "pattern":"[0-9A-Za-z\\.\\-_]*" + }, + "S3Object":{ + "type":"structure", + "members":{ + "Bucket":{ + "shape":"S3Bucket", + "documentation":"

The name of the S3 bucket.

" + }, + "Name":{ + "shape":"S3ObjectName", + "documentation":"

The file name of the input document. It must be an image file (.JPG or .PNG format). Asynchronous operations also support PDF files.

" + }, + "Version":{ + "shape":"S3ObjectVersion", + "documentation":"

If the bucket has versioning enabled, you can specify the object version.

" + } + }, + "documentation":"

The S3 bucket name and file name that identifies the document.

The AWS Region for the S3 bucket that contains the document must match the Region that you use for Amazon Textract operations.

For Amazon Textract to process a file in an S3 bucket, the user must have permission to access the S3 bucket and file.

" + }, + "S3ObjectName":{ + "type":"string", + "max":1024, + "min":1, + "pattern":".*\\S.*" + }, + "S3ObjectVersion":{ + "type":"string", + "max":1024, + "min":1, + "pattern":".*\\S.*" + }, + "SNSTopicArn":{ + "type":"string", + "max":1024, + "min":20, + "pattern":"(^arn:([a-z\\d-]+):sns:[a-zA-Z\\d-]{1,20}:\\w{12}:.+$)" + }, + "SelectionStatus":{ + "type":"string", + "enum":[ + "SELECTED", + "NOT_SELECTED" + ] + }, + "StartDocumentAnalysisRequest":{ + "type":"structure", + "required":[ + "DocumentLocation", + "FeatureTypes" + ], + "members":{ + "DocumentLocation":{ + "shape":"DocumentLocation", + "documentation":"

The location of the document to be processed.

" + }, + "FeatureTypes":{ + "shape":"FeatureTypes", + "documentation":"

A list of the types of analysis to perform. Add TABLES to the list to return information about the tables that are detected in the input document. Add FORMS to return detected fields and the associated text. To perform both types of analysis, add TABLES and FORMS to FeatureTypes. All selectable elements (SELECTION_ELEMENT) that are detected are returned, whatever the value of FeatureTypes.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

The idempotent token that you use to identify the start request. If you use the same token with multiple StartDocumentAnalysis requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidentally started more than once.

" + }, + "JobTag":{ + "shape":"JobTag", + "documentation":"

An identifier you specify that's included in the completion notification that's published to the Amazon SNS topic. For example, you can use JobTag to identify the type of document, such as a tax form or a receipt, that the completion notification corresponds to.

" + }, + "NotificationChannel":{ + "shape":"NotificationChannel", + "documentation":"

The Amazon SNS topic ARN that you want Amazon Textract to publish the completion status of the operation to.

" + } + } + }, + "StartDocumentAnalysisResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier for the document text detection job. Use JobId to identify the job in a subsequent call to GetDocumentAnalysis.

" + } + } + }, + "StartDocumentTextDetectionRequest":{ + "type":"structure", + "required":["DocumentLocation"], + "members":{ + "DocumentLocation":{ + "shape":"DocumentLocation", + "documentation":"

The location of the document to be processed.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

The idempotent token that's used to identify the start request. If you use the same token with multiple StartDocumentTextDetection requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidentally started more than once.

" + }, + "JobTag":{ + "shape":"JobTag", + "documentation":"

An identifier you specify that's included in the completion notification that's published to the Amazon SNS topic. For example, you can use JobTag to identify the type of document, such as a tax form or a receipt, that the completion notification corresponds to.

" + }, + "NotificationChannel":{ + "shape":"NotificationChannel", + "documentation":"

The Amazon SNS topic ARN that you want Amazon Textract to publish the completion status of the operation to.

" + } + } + }, + "StartDocumentTextDetectionResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier for the document text-detection job. Use JobId to identify the job in a subsequent call to GetDocumentTextDetection.

" + } + } + }, + "StatusMessage":{"type":"string"}, + "String":{"type":"string"}, + "ThrottlingException":{ + "type":"structure", + "members":{ + }, + "documentation":"

Amazon Textract is temporarily unable to process the request. Try your call again.

", + "exception":true, + "fault":true + }, + "UInteger":{ + "type":"integer", + "min":0 + }, + "UnsupportedDocumentException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The format of the input document isn't supported. Amazon Textract supports documents that are .png or .jpg format.

", + "exception":true + }, + "Warning":{ + "type":"structure", + "members":{ + "ErrorCode":{ + "shape":"ErrorCode", + "documentation":"

The error code for the warning.

" + }, + "Pages":{ + "shape":"Pages", + "documentation":"

A list of the pages that the warning applies to.

" + } + }, + "documentation":"

A warning about an issue that occurred during asynchronous text analysis (StartDocumentAnalysis) or asynchronous document-text detection (StartDocumentTextDetection).

" + }, + "Warnings":{ + "type":"list", + "member":{"shape":"Warning"} + } + }, + "documentation":"

Amazon Textract detects and analyzes text in documents and converts it into machine-readable text. This is the API reference documentation for Amazon Textract.

" +} diff --git a/bin/botocore/data/transcribe/2017-10-26/service-2.json b/bin/botocore/data/transcribe/2017-10-26/service-2.json index 54f686bf..c7bb047f 100644 --- a/bin/botocore/data/transcribe/2017-10-26/service-2.json +++ b/bin/botocore/data/transcribe/2017-10-26/service-2.json @@ -27,7 +27,7 @@ {"shape":"InternalFailureException"}, {"shape":"ConflictException"} ], - "documentation":"

Creates a new custom vocabulary that you can use to change the way Amazon Transcribe handles transcription of an audio file. Note that vocabularies for en-AU, en-UK, and fr-CA languages that are in preview are not available. In the console, the vocabulary section will be greyed-out and SDK will return error message.

" + "documentation":"

Creates a new custom vocabulary that you can use to change the way Amazon Transcribe handles transcription of an audio file.

" }, "DeleteTranscriptionJob":{ "name":"DeleteTranscriptionJob", @@ -88,7 +88,7 @@ {"shape":"InternalFailureException"}, {"shape":"BadRequestException"} ], - "documentation":"

Gets information about a vocabulary. Note that vocabularies for en-AU, en-UK, and fr-CA languages that are in preview are not available. In the console, the vocabulary section will be greyed-out and SDK will return error message.

" + "documentation":"

Gets information about a vocabulary.

" }, "ListTranscriptionJobs":{ "name":"ListTranscriptionJobs", @@ -134,7 +134,7 @@ {"shape":"InternalFailureException"}, {"shape":"ConflictException"} ], - "documentation":"

Starts an asynchronous job to transcribe speech to text. Note that en-AU, en-UK, and fr-CA languages are in preview and are only available to whitelisted customers.

" + "documentation":"

Starts an asynchronous job to transcribe speech to text.

" }, "UpdateVocabulary":{ "name":"UpdateVocabulary", @@ -151,7 +151,7 @@ {"shape":"NotFoundException"}, {"shape":"ConflictException"} ], - "documentation":"

Updates an existing vocabulary with new values. The UpdateVocabulary operation overwrites all of the existing information with the values that you provide in the request. Note that vocabularies for en-AU, en-UK, and fr-CA languages that are in preview are not available. In the console, the vocabulary section will be greyed-out and SDK will return error message.

" + "documentation":"

Updates an existing vocabulary with new values. The UpdateVocabulary operation overwrites all of the existing information with the values that you provide in the request.

" } }, "shapes":{ @@ -176,8 +176,7 @@ "type":"structure", "required":[ "VocabularyName", - "LanguageCode", - "Phrases" + "LanguageCode" ], "members":{ "VocabularyName":{ @@ -191,6 +190,10 @@ "Phrases":{ "shape":"Phrases", "documentation":"

An array of strings that contains the vocabulary entries.

" + }, + "VocabularyFileUri":{ + "shape":"Uri", + "documentation":"

The S3 location of the text file that contains the definition of the custom vocabulary. The URI must be in the same region as the API endpoint that you are calling. The general form is

https://s3-<aws-region>.amazonaws.com/<bucket-name>/<keyprefix>/<objectkey>

For example:

https://s3-us-east-1.amazonaws.com/examplebucket/vocab.txt

For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

For more information about custom vocabularies, see Custom Vocabularies.

" } } }, @@ -318,7 +321,13 @@ "en-GB", "de-DE", "pt-BR", - "fr-FR" + "fr-FR", + "it-IT", + "ko-KR", + "es-ES", + "en-IN", + "hi-IN", + "ar-SA" ] }, "LimitExceededException":{ @@ -334,7 +343,7 @@ "members":{ "Status":{ "shape":"TranscriptionJobStatus", - "documentation":"

When specified, returns only transcription jobs with the specified status.

" + "documentation":"

When specified, returns only transcription jobs with the specified status. Jobs are ordered by creation date, with the newest jobs returned first. If you don’t specify a status, Amazon Transcribe returns all transcription jobs ordered by creation date.

" }, "JobNameContains":{ "shape":"TranscriptionJobName", @@ -420,7 +429,7 @@ "members":{ "MediaFileUri":{ "shape":"Uri", - "documentation":"

The S3 location of the input media file. The URI must be in the same region as the API endpoint that you are calling. The general form is:

https://<aws-region>.amazonaws.com/<bucket-name>/<keyprefix>/<objectkey>

For example:

https://s3-us-east-1.amazonaws.com/examplebucket/example.mp4

https://s3-us-east-1.amazonaws.com/examplebucket/mediadocs/example.mp4

For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

" + "documentation":"

The S3 location of the input media file. The URI must be in the same region as the API endpoint that you are calling. The general form is:

https://s3-<aws-region>.amazonaws.com/<bucket-name>/<keyprefix>/<objectkey>

For example:

https://s3-us-east-1.amazonaws.com/examplebucket/example.mp4

https://s3-us-east-1.amazonaws.com/examplebucket/mediadocs/example.mp4

For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

" } }, "documentation":"

Describes the input media file in a transcription request.

" @@ -524,7 +533,7 @@ }, "OutputBucketName":{ "shape":"OutputBucketName", - "documentation":"

The location where the transcription is stored.

If you set the OutputBucketName, Amazon Transcribe puts the transcription in the specified S3 bucket. When you call the GetTranscriptionJob operation, the operation returns this location in the TranscriptFileUri field. The S3 bucket must have permissions that allow Amazon Transcribe to put files in the bucket. For more information, see Permissions Required for IAM User Roles.

If you don't set the OutputBucketName, Amazon Transcribe generates a pre-signed URL, a shareable URL that provides secure access to your transcription, and returns it in the TranscriptFileUri field. Use this URL to download the transcription.

" + "documentation":"

The location where the transcription is stored.

If you set the OutputBucketName, Amazon Transcribe puts the transcription in the specified S3 bucket. When you call the GetTranscriptionJob operation, the operation returns this location in the TranscriptFileUri field. The S3 bucket must have permissions that allow Amazon Transcribe to put files in the bucket. For more information, see Permissions Required for IAM User Roles.

Amazon Transcribe uses the default Amazon S3 key for server-side encryption of transcripts that are placed in your S3 bucket. You can't specify your own encryption key.

If you don't set the OutputBucketName, Amazon Transcribe generates a pre-signed URL, a shareable URL that provides secure access to your transcription, and returns it in the TranscriptFileUri field. Use this URL to download the transcription.

" }, "Settings":{ "shape":"Settings", @@ -593,14 +602,14 @@ }, "FailureReason":{ "shape":"FailureReason", - "documentation":"

If the TranscriptionJobStatus field is FAILED, this field contains information about why the job failed.

" + "documentation":"

If the TranscriptionJobStatus field is FAILED, this field contains information about why the job failed.

The FailureReason field can contain one of the following values:

  • Unsupported media format - The media format specified in the MediaFormat field of the request isn't valid. See the description of the MediaFormat field for a list of valid values.

  • The media format provided does not match the detected media format - The media format of the audio file doesn't match the format specified in the MediaFormat field in the request. Check the media format of your media file and make sure that the two values match.

  • Invalid sample rate for audio file - The sample rate specified in the MediaSampleRateHertz of the request isn't valid. The sample rate must be between 8000 and 48000 Hertz.

  • The sample rate provided does not match the detected sample rate - The sample rate in the audio file doesn't match the sample rate specified in the MediaSampleRateHertz field in the request. Check the sample rate of your media file and make sure that the two values match.

  • Invalid file size: file size too large - The size of your audio file is larger than Amazon Transcribe can process. For more information, see Limits in the Amazon Transcribe Developer Guide.

  • Invalid number of channels: number of channels too large - Your audio contains more channels than Amazon Transcribe is configured to process. To request additional channels, see Amazon Transcribe Limits in the Amazon Web Services General Reference.

" }, "Settings":{ "shape":"Settings", "documentation":"

Optional settings for the transcription job. Use these settings to turn on speaker recognition, to set the maximum number of speakers that should be identified and to specify a custom vocabulary to use when processing the transcription job.

" } }, - "documentation":"

Describes an asynchronous transcription job that was created with the StartTranscriptionJob operation. Note that en-AU, en-UK, and fr-CA languages are in preview and are only available to whitelisted customers.

" + "documentation":"

Describes an asynchronous transcription job that was created with the StartTranscriptionJob operation.

" }, "TranscriptionJobName":{ "type":"string", @@ -652,14 +661,13 @@ "documentation":"

Indicates the location of the output of the transcription job.

If the value is CUSTOMER_BUCKET then the location is the S3 bucket specified in the outputBucketName field when the transcription job was started with the StartTranscriptionJob operation.

If the value is SERVICE_BUCKET then the output is stored by Amazon Transcribe and can be retrieved using the URI in the GetTranscriptionJob response's TranscriptFileUri field.

" } }, - "documentation":"

Provides a summary of information about a transcription job. Note that en-AU, en-UK, and fr-CA languages are in preview and are only available to whitelisted customers.

" + "documentation":"

Provides a summary of information about a transcription job. .

" }, "UpdateVocabularyRequest":{ "type":"structure", "required":[ "VocabularyName", - "LanguageCode", - "Phrases" + "LanguageCode" ], "members":{ "VocabularyName":{ @@ -673,6 +681,10 @@ "Phrases":{ "shape":"Phrases", "documentation":"

An array of strings containing the vocabulary entries.

" + }, + "VocabularyFileUri":{ + "shape":"Uri", + "documentation":"

The S3 location of the text file that contains the definition of the custom vocabulary. The URI must be in the same region as the API endpoint that you are calling. The general form is

https://s3-<aws-region>.amazonaws.com/<bucket-name>/<keyprefix>/<objectkey>

For example:

https://s3-us-east-1.amazonaws.com/examplebucket/vocab.txt

For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

For more information about custom vocabularies, see Custom Vocabularies.

" } } }, @@ -726,7 +738,7 @@ "documentation":"

The processing state of the vocabulary. If the state is READY you can use the vocabulary in a StartTranscriptionJob request.

" } }, - "documentation":"

Provides information about a custom vocabulary. Note that vocabularies for en-AU, en-UK, and fr-CA languages that are in preview are not available. In the console, the vocabulary section will be greyed-out and SDK will return error message.

" + "documentation":"

Provides information about a custom vocabulary.

" }, "VocabularyName":{ "type":"string", diff --git a/bin/botocore/data/transfer/2018-11-05/paginators-1.json b/bin/botocore/data/transfer/2018-11-05/paginators-1.json index ea142457..cef79508 100644 --- a/bin/botocore/data/transfer/2018-11-05/paginators-1.json +++ b/bin/botocore/data/transfer/2018-11-05/paginators-1.json @@ -1,3 +1,10 @@ { - "pagination": {} + "pagination": { + "ListServers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Servers" + } + } } diff --git a/bin/botocore/data/transfer/2018-11-05/service-2.json b/bin/botocore/data/transfer/2018-11-05/service-2.json index 2a6fcb2e..d460c3f5 100644 --- a/bin/botocore/data/transfer/2018-11-05/service-2.json +++ b/bin/botocore/data/transfer/2018-11-05/service-2.json @@ -25,7 +25,8 @@ "errors":[ {"shape":"ServiceUnavailableException"}, {"shape":"InternalServiceError"}, - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"ResourceExistsException"} ], "documentation":"

Instantiates an autoscaling virtual server based on Secure File Transfer Protocol (SFTP) in AWS. The call returns the ServerId property assigned by the service to the newly created server. Reference this ServerId property when you make updates to your server, or work with users.

The response returns the ServerId value for the newly created server.

" }, @@ -305,9 +306,21 @@ "CreateServerRequest":{ "type":"structure", "members":{ + "EndpointDetails":{ + "shape":"EndpointDetails", + "documentation":"

The virtual private cloud (VPC) endpoint settings that you want to configure for your SFTP server.

" + }, + "EndpointType":{ + "shape":"EndpointType", + "documentation":"

The type of VPC endpoint that you want your SFTP server connect to. If you connect to a VPC endpoint, your SFTP server isn't accessible over the public internet.

" + }, + "HostKey":{ + "shape":"HostKey", + "documentation":"

The RSA private key as generated by ssh-keygen -N \"\" -f my-new-server-key command.

If you aren't planning to migrate existing users from an existing SFTP server to a new AWS SFTP server, don't update the host key. Accidentally changing a server's host key can be disruptive. For more information, see change-host-key in the AWS SFTP User Guide.

" + }, "IdentityProviderDetails":{ "shape":"IdentityProviderDetails", - "documentation":"

An array containing all of the information required to call a customer-supplied authentication API. This parameter is not required when the IdentityProviderType value of server that is created uses the SERVICE_MANAGED authentication method.

" + "documentation":"

An array containing all of the information required to call a customer-supplied authentication API. This parameter is not required when the IdentityProviderType value of server that is created uses the SERVICE_MANAGED authentication method.

" }, "IdentityProviderType":{ "shape":"IdentityProviderType", @@ -315,7 +328,7 @@ }, "LoggingRole":{ "shape":"Role", - "documentation":"

A value that allows the service to write your SFTP users’ activity to your Amazon CloudWatch logs for monitoring and auditing purposes.

" + "documentation":"

A value that allows the service to write your SFTP users' activity to your Amazon CloudWatch logs for monitoring and auditing purposes.

" }, "Tags":{ "shape":"Tags", @@ -351,7 +364,7 @@ }, "Role":{ "shape":"Role", - "documentation":"

The IAM role that controls your user’s access to your Amazon S3 bucket. The policies attached to this role will determine the level of access you want to provide your users when transferring files into and out of your Amazon S3 bucket or buckets. The IAM role should also contain a trust relationship that allows the SFTP server to access your resources when servicing your SFTP user’s transfer requests.

" + "documentation":"

The IAM role that controls your user's access to your Amazon S3 bucket. The policies attached to this role will determine the level of access you want to provide your users when transferring files into and out of your Amazon S3 bucket or buckets. The IAM role should also contain a trust relationship that allows the SFTP server to access your resources when servicing your SFTP user's transfer requests.

" }, "ServerId":{ "shape":"ServerId", @@ -367,7 +380,7 @@ }, "UserName":{ "shape":"UserName", - "documentation":"

A unique string that identifies a user and is associated with a server as specified by the ServerId.

" + "documentation":"

A unique string that identifies a user and is associated with a server as specified by the ServerId. This user name must be a minimum of 3 and a maximum of 32 characters long. The following are valid characters: a-z, A-Z, 0-9, underscore, and hyphen. The user name can't start with a hyphen.

" } } }, @@ -413,7 +426,7 @@ }, "SshPublicKeyId":{ "shape":"SshPublicKeyId", - "documentation":"

A unique identifier used to reference your user’s specific SSH key.

" + "documentation":"

A unique identifier used to reference your user's specific SSH key.

" }, "UserName":{ "shape":"UserName", @@ -500,6 +513,18 @@ "shape":"Arn", "documentation":"

Specifies the unique Amazon Resource Name (ARN) for the server to be described.

" }, + "EndpointDetails":{ + "shape":"EndpointDetails", + "documentation":"

The virtual private cloud (VPC) endpoint settings that you configured for your SFTP server.

" + }, + "EndpointType":{ + "shape":"EndpointType", + "documentation":"

The type of endpoint that your SFTP server is connected to. If your SFTP server is connected to a VPC endpoint, your server isn't accessible over the public internet.

" + }, + "HostKeyFingerprint":{ + "shape":"HostKeyFingerprint", + "documentation":"

This value contains the Message-Digest Algorithm (MD5) hash of the server's host key. This value is equivalent to the output of ssh-keygen -l -E md5 -f my-new-server-key command.

" + }, "IdentityProviderDetails":{ "shape":"IdentityProviderDetails", "documentation":"

Specifies information to call a customer-supplied authentication API. This field is not populated when the IdentityProviderType of the server is SERVICE_MANAGED>.

" @@ -549,7 +574,7 @@ }, "Role":{ "shape":"Role", - "documentation":"

This property specifies the IAM role that controls your user’s access to your Amazon S3 bucket. The policies attached to this role will determine the level of access you want to provide your users when transferring files into and out of your Amazon S3 bucket or buckets. The IAM role should also contain a trust relationship that allows the SFTP server to access your resources when servicing your SFTP user’s transfer requests.

" + "documentation":"

This property specifies the IAM role that controls your user's access to your Amazon S3 bucket. The policies attached to this role will determine the level of access you want to provide your users when transferring files into and out of your Amazon S3 bucket or buckets. The IAM role should also contain a trust relationship that allows the SFTP server to access your resources when servicing your SFTP user's transfer requests.

" }, "SshPublicKeys":{ "shape":"SshPublicKeys", @@ -566,11 +591,33 @@ }, "documentation":"

Returns properties of the user that you wish to describe.

" }, + "EndpointDetails":{ + "type":"structure", + "members":{ + "VpcEndpointId":{ + "shape":"VpcEndpointId", + "documentation":"

The ID of the VPC endpoint.

" + } + }, + "documentation":"

The configuration settings for the virtual private cloud (VPC) endpoint for your SFTP server.

" + }, + "EndpointType":{ + "type":"string", + "enum":[ + "PUBLIC", + "VPC_ENDPOINT" + ] + }, "HomeDirectory":{ "type":"string", "max":1024, "pattern":"^$|/.*" }, + "HostKey":{ + "type":"string", + "max":4096 + }, + "HostKeyFingerprint":{"type":"string"}, "IdentityProviderDetails":{ "type":"structure", "members":{ @@ -701,8 +748,14 @@ "shape":"Arn", "documentation":"

Requests the tags associated with a particular Amazon Resource Name (ARN). An ARN is an identifier for a specific AWS resource, such as a server, user, or role.

" }, - "MaxResults":{"shape":"MaxResults"}, - "NextToken":{"shape":"NextToken"} + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

Specifies the number of tags to return as a response to the ListTagsForResource request.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

When you request additional results from the ListTagsForResource call, a NextToken parameter is returned in the input. You can then pass in a subsequent command the NextToken parameter to continue listing additional tags.

" + } } }, "ListTagsForResourceResponse":{ @@ -712,7 +765,10 @@ "shape":"Arn", "documentation":"

This value is the ARN you specified to list the tags of.

" }, - "NextToken":{"shape":"NextToken"}, + "NextToken":{ + "shape":"NextToken", + "documentation":"

When you can get additional results from the ListTagsForResource call, a NextToken parameter is returned in the output. You can then pass in a subsequent command the NextToken parameter to continue listing additional tags.

" + }, "Tags":{ "shape":"Tags", "documentation":"

Key-value pairs that are assigned to a resource, usually for the purpose of grouping and searching for items. Tags are metadata that you define that you can use for any purpose.

" @@ -729,7 +785,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

When you can get additional results from the ListUsersListUsers call, a NextToken parameter is returned in the output. You can then pass in a subsequent command the NextToken parameter to continue listing additional users.

" + "documentation":"

When you can get additional results from the ListUsers call, a NextToken parameter is returned in the output. You can then pass in a subsequent command the NextToken parameter to continue listing additional users.

" }, "ServerId":{ "shape":"ServerId", @@ -770,6 +826,10 @@ "shape":"IdentityProviderType", "documentation":"

The authentication method used to validate a user for the server that was specified. listed. This can include Secure Shell (SSH), user name and password combinations, or your own custom authentication method. Valid values include SERVICE_MANAGED or API_GATEWAY.

" }, + "EndpointType":{ + "shape":"EndpointType", + "documentation":"

The type of VPC endpoint that your SFTP server is connected to. If your SFTP server is connected to a VPC endpoint, your server isn't accessible over the public internet.

" + }, "LoggingRole":{ "shape":"Role", "documentation":"

The AWS Identity and Access Management entity that allows the server to turn on Amazon CloudWatch logging.

" @@ -832,7 +892,7 @@ "Message":{"type":"string"}, "NextToken":{ "type":"string", - "max":256, + "max":6144, "min":1 }, "NullableRole":{ @@ -1074,13 +1134,25 @@ "type":"structure", "required":["ServerId"], "members":{ + "EndpointDetails":{ + "shape":"EndpointDetails", + "documentation":"

The virtual private cloud (VPC) endpoint settings that are configured for your SFTP server. With a VPC endpoint, your SFTP server isn't accessible over the public internet.

" + }, + "EndpointType":{ + "shape":"EndpointType", + "documentation":"

The type of endpoint that you want your SFTP server to connect to. You can choose to connect to the public internet or a virtual private cloud (VPC) endpoint. With a VPC endpoint, your SFTP server isn't accessible over the public internet.

" + }, + "HostKey":{ + "shape":"HostKey", + "documentation":"

The RSA private key as generated by ssh-keygen -N \"\" -f my-new-server-key.

If you aren't planning to migrate existing users from an existing SFTP server to a new AWS SFTP server, don't update the host key. Accidentally changing a server's host key can be disruptive. For more information, see change-host-key in the AWS SFTP User Guide.

" + }, "IdentityProviderDetails":{ "shape":"IdentityProviderDetails", "documentation":"

This response parameter is an array containing all of the information required to call a customer's authentication API method.

" }, "LoggingRole":{ "shape":"NullableRole", - "documentation":"

Changes the AWS Identity and Access Management (IAM) role that allows Amazon S3 events to be logged in Amazon CloudWatch, turning logging on or off.

" + "documentation":"

A value that changes the AWS Identity and Access Management (IAM) role that allows Amazon S3 events to be logged in Amazon CloudWatch, turning logging on or off.

" }, "ServerId":{ "shape":"ServerId", @@ -1115,7 +1187,7 @@ }, "Role":{ "shape":"Role", - "documentation":"

The IAM role that controls your user’s access to your Amazon S3 bucket. The policies attached to this role will determine the level of access you want to provide your users when transferring files into and out of your Amazon S3 bucket or buckets. The IAM role should also contain a trust relationship that allows the Secure File Transfer Protocol (SFTP) server to access your resources when servicing your SFTP user’s transfer requests.

" + "documentation":"

The IAM role that controls your user's access to your Amazon S3 bucket. The policies attached to this role will determine the level of access you want to provide your users when transferring files into and out of your Amazon S3 bucket or buckets. The IAM role should also contain a trust relationship that allows the Secure File Transfer Protocol (SFTP) server to access your resources when servicing your SFTP user's transfer requests.

" }, "ServerId":{ "shape":"ServerId", @@ -1123,7 +1195,7 @@ }, "UserName":{ "shape":"UserName", - "documentation":"

A unique string that identifies a user and is associated with a server as specified by the ServerId. This is the string that will be used by your user when they log in to your SFTP server.

" + "documentation":"

A unique string that identifies a user and is associated with a server as specified by the ServerId. This is the string that will be used by your user when they log in to your SFTP server. This user name is a minimum of 3 and a maximum of 32 characters long. The following are valid characters: a-z, A-Z, 0-9, underscore, and hyphen. The user name can't start with a hyphen.

" } } }, @@ -1149,8 +1221,13 @@ "UserCount":{"type":"integer"}, "UserName":{ "type":"string", - "pattern":"^[a-z0-9]{3,32}$" + "pattern":"^[a-zA-Z0-9_][a-zA-Z0-9_-]{2,31}$" }, - "UserPassword":{"type":"string"} - } + "UserPassword":{"type":"string"}, + "VpcEndpointId":{ + "type":"string", + "pattern":"^vpce-[0-9a-f]{17}$" + } + }, + "documentation":"

AWS Transfer for SFTP is a fully managed service that enables the transfer of files directly into and out of Amazon S3 using the Secure File Transfer Protocol (SFTP)—also known as Secure Shell (SSH) File Transfer Protocol. AWS helps you seamlessly migrate your file transfer workflows to AWS Transfer for SFTP—by integrating with existing authentication systems, and providing DNS routing with Amazon Route 53—so nothing changes for your customers and partners, or their applications. With your data in S3, you can use it with AWS services for processing, analytics, machine learning, and archiving. Getting started with AWS Transfer for SFTP (AWS SFTP) is easy; there is no infrastructure to buy and setup.

" } diff --git a/bin/botocore/data/translate/2017-07-01/paginators-1.json b/bin/botocore/data/translate/2017-07-01/paginators-1.json index ea142457..6898cd44 100644 --- a/bin/botocore/data/translate/2017-07-01/paginators-1.json +++ b/bin/botocore/data/translate/2017-07-01/paginators-1.json @@ -1,3 +1,10 @@ { - "pagination": {} + "pagination": { + "ListTerminologies": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TerminologyPropertiesList" + } + } } diff --git a/bin/botocore/data/waf-regional/2016-11-28/service-2.json b/bin/botocore/data/waf-regional/2016-11-28/service-2.json index c7e850e9..397b2d04 100644 --- a/bin/botocore/data/waf-regional/2016-11-28/service-2.json +++ b/bin/botocore/data/waf-regional/2016-11-28/service-2.json @@ -28,7 +28,7 @@ {"shape":"WAFNonexistentItemException"}, {"shape":"WAFUnavailableEntityException"} ], - "documentation":"

Associates a web ACL with a resource.

" + "documentation":"

Associates a web ACL with a resource, either an application load balancer or Amazon API Gateway stage.

" }, "CreateByteMatchSet":{ "name":"CreateByteMatchSet", @@ -46,7 +46,7 @@ {"shape":"WAFStaleDataException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Creates a ByteMatchSet. You then use UpdateByteMatchSet to identify the part of a web request that you want AWS WAF to inspect, such as the values of the User-Agent header or the query string. For example, you can create a ByteMatchSet that matches any requests with User-Agent headers that contain the string BadBot. You can then configure AWS WAF to reject those requests.

To create and configure a ByteMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateByteMatchSet request.

  2. Submit a CreateByteMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request.

  4. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Creates a ByteMatchSet. You then use UpdateByteMatchSet to identify the part of a web request that you want AWS WAF to inspect, such as the values of the User-Agent header or the query string. For example, you can create a ByteMatchSet that matches any requests with User-Agent headers that contain the string BadBot. You can then configure AWS WAF to reject those requests.

To create and configure a ByteMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateByteMatchSet request.

  2. Submit a CreateByteMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request.

  4. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "CreateGeoMatchSet":{ "name":"CreateGeoMatchSet", @@ -64,7 +64,7 @@ {"shape":"WAFInvalidParameterException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Creates an GeoMatchSet, which you use to specify which web requests you want to allow or block based on the country that the requests originate from. For example, if you're receiving a lot of requests from one or more countries and you want to block the requests, you can create an GeoMatchSet that contains those countries and then configure AWS WAF to block the requests.

To create and configure a GeoMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateGeoMatchSet request.

  2. Submit a CreateGeoMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateGeoMatchSet request.

  4. Submit an UpdateGeoMatchSetSet request to specify the countries that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Creates an GeoMatchSet, which you use to specify which web requests you want to allow or block based on the country that the requests originate from. For example, if you're receiving a lot of requests from one or more countries and you want to block the requests, you can create an GeoMatchSet that contains those countries and then configure AWS WAF to block the requests.

To create and configure a GeoMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateGeoMatchSet request.

  2. Submit a CreateGeoMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateGeoMatchSet request.

  4. Submit an UpdateGeoMatchSetSet request to specify the countries that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "CreateIPSet":{ "name":"CreateIPSet", @@ -82,7 +82,7 @@ {"shape":"WAFInvalidParameterException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Creates an IPSet, which you use to specify which web requests you want to allow or block based on the IP addresses that the requests originate from. For example, if you're receiving a lot of requests from one or more individual IP addresses or one or more ranges of IP addresses and you want to block the requests, you can create an IPSet that contains those IP addresses and then configure AWS WAF to block the requests.

To create and configure an IPSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateIPSet request.

  2. Submit a CreateIPSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  4. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Creates an IPSet, which you use to specify which web requests that you want to allow or block based on the IP addresses that the requests originate from. For example, if you're receiving a lot of requests from one or more individual IP addresses or one or more ranges of IP addresses and you want to block the requests, you can create an IPSet that contains those IP addresses and then configure AWS WAF to block the requests.

To create and configure an IPSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateIPSet request.

  2. Submit a CreateIPSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  4. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "CreateRateBasedRule":{ "name":"CreateRateBasedRule", @@ -99,7 +99,7 @@ {"shape":"WAFInvalidParameterException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Creates a RateBasedRule. The RateBasedRule contains a RateLimit, which specifies the maximum number of requests that AWS WAF allows from a specified IP address in a five-minute period. The RateBasedRule also contains the IPSet objects, ByteMatchSet objects, and other predicates that identify the requests that you want to count or block if these requests exceed the RateLimit.

If you add more than one predicate to a RateBasedRule, a request not only must exceed the RateLimit, but it also must match all the specifications to be counted or blocked. For example, suppose you add the following to a RateBasedRule:

  • An IPSet that matches the IP address 192.0.2.44/32

  • A ByteMatchSet that matches BadBot in the User-Agent header

Further, you specify a RateLimit of 15,000.

You then add the RateBasedRule to a WebACL and specify that you want to block requests that meet the conditions in the rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot. Further, requests that match these two conditions must be received at a rate of more than 15,000 requests every five minutes. If both conditions are met and the rate is exceeded, AWS WAF blocks the requests. If the rate drops below 15,000 for a five-minute period, AWS WAF no longer blocks the requests.

As a second example, suppose you want to limit requests to a particular page on your site. To do this, you could add the following to a RateBasedRule:

  • A ByteMatchSet with FieldToMatch of URI

  • A PositionalConstraint of STARTS_WITH

  • A TargetString of login

Further, you specify a RateLimit of 15,000.

By adding this RateBasedRule to a WebACL, you could limit requests to your login page without affecting the rest of your site.

To create and configure a RateBasedRule, perform the following steps:

  1. Create and update the predicates that you want to include in the rule. For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRule request.

  3. Submit a CreateRateBasedRule request.

  4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

  5. Submit an UpdateRateBasedRule request to specify the predicates that you want to include in the rule.

  6. Create and update a WebACL that contains the RateBasedRule. For more information, see CreateWebACL.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Creates a RateBasedRule. The RateBasedRule contains a RateLimit, which specifies the maximum number of requests that AWS WAF allows from a specified IP address in a five-minute period. The RateBasedRule also contains the IPSet objects, ByteMatchSet objects, and other predicates that identify the requests that you want to count or block if these requests exceed the RateLimit.

If you add more than one predicate to a RateBasedRule, a request not only must exceed the RateLimit, but it also must match all the specifications to be counted or blocked. For example, suppose you add the following to a RateBasedRule:

  • An IPSet that matches the IP address 192.0.2.44/32

  • A ByteMatchSet that matches BadBot in the User-Agent header

Further, you specify a RateLimit of 15,000.

You then add the RateBasedRule to a WebACL and specify that you want to block requests that meet the conditions in the rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot. Further, requests that match these two conditions must be received at a rate of more than 15,000 requests every five minutes. If both conditions are met and the rate is exceeded, AWS WAF blocks the requests. If the rate drops below 15,000 for a five-minute period, AWS WAF no longer blocks the requests.

As a second example, suppose you want to limit requests to a particular page on your site. To do this, you could add the following to a RateBasedRule:

  • A ByteMatchSet with FieldToMatch of URI

  • A PositionalConstraint of STARTS_WITH

  • A TargetString of login

Further, you specify a RateLimit of 15,000.

By adding this RateBasedRule to a WebACL, you could limit requests to your login page without affecting the rest of your site.

To create and configure a RateBasedRule, perform the following steps:

  1. Create and update the predicates that you want to include in the rule. For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRule request.

  3. Submit a CreateRateBasedRule request.

  4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

  5. Submit an UpdateRateBasedRule request to specify the predicates that you want to include in the rule.

  6. Create and update a WebACL that contains the RateBasedRule. For more information, see CreateWebACL.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "CreateRegexMatchSet":{ "name":"CreateRegexMatchSet", @@ -115,7 +115,7 @@ {"shape":"WAFDisallowedNameException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Creates a RegexMatchSet. You then use UpdateRegexMatchSet to identify the part of a web request that you want AWS WAF to inspect, such as the values of the User-Agent header or the query string. For example, you can create a RegexMatchSet that contains a RegexMatchTuple that looks for any requests with User-Agent headers that match a RegexPatternSet with pattern B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

To create and configure a RegexMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRegexMatchSet request.

  2. Submit a CreateRegexMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexMatchSet request.

  4. Submit an UpdateRegexMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value, using a RegexPatternSet, that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Creates a RegexMatchSet. You then use UpdateRegexMatchSet to identify the part of a web request that you want AWS WAF to inspect, such as the values of the User-Agent header or the query string. For example, you can create a RegexMatchSet that contains a RegexMatchTuple that looks for any requests with User-Agent headers that match a RegexPatternSet with pattern B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

To create and configure a RegexMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRegexMatchSet request.

  2. Submit a CreateRegexMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexMatchSet request.

  4. Submit an UpdateRegexMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value, using a RegexPatternSet, that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "CreateRegexPatternSet":{ "name":"CreateRegexPatternSet", @@ -131,7 +131,7 @@ {"shape":"WAFDisallowedNameException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Creates a RegexPatternSet. You then use UpdateRegexPatternSet to specify the regular expression (regex) pattern that you want AWS WAF to search for, such as B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

To create and configure a RegexPatternSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRegexPatternSet request.

  2. Submit a CreateRegexPatternSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexPatternSet request.

  4. Submit an UpdateRegexPatternSet request to specify the string that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Creates a RegexPatternSet. You then use UpdateRegexPatternSet to specify the regular expression (regex) pattern that you want AWS WAF to search for, such as B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

To create and configure a RegexPatternSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRegexPatternSet request.

  2. Submit a CreateRegexPatternSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexPatternSet request.

  4. Submit an UpdateRegexPatternSet request to specify the string that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "CreateRule":{ "name":"CreateRule", @@ -148,7 +148,7 @@ {"shape":"WAFInvalidParameterException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Creates a Rule, which contains the IPSet objects, ByteMatchSet objects, and other predicates that identify the requests that you want to block. If you add more than one predicate to a Rule, a request must match all of the specifications to be allowed or blocked. For example, suppose you add the following to a Rule:

  • An IPSet that matches the IP address 192.0.2.44/32

  • A ByteMatchSet that matches BadBot in the User-Agent header

You then add the Rule to a WebACL and specify that you want to blocks requests that satisfy the Rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot.

To create and configure a Rule, perform the following steps:

  1. Create and update the predicates that you want to include in the Rule. For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRule request.

  3. Submit a CreateRule request.

  4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

  5. Submit an UpdateRule request to specify the predicates that you want to include in the Rule.

  6. Create and update a WebACL that contains the Rule. For more information, see CreateWebACL.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Creates a Rule, which contains the IPSet objects, ByteMatchSet objects, and other predicates that identify the requests that you want to block. If you add more than one predicate to a Rule, a request must match all of the specifications to be allowed or blocked. For example, suppose that you add the following to a Rule:

  • An IPSet that matches the IP address 192.0.2.44/32

  • A ByteMatchSet that matches BadBot in the User-Agent header

You then add the Rule to a WebACL and specify that you want to blocks requests that satisfy the Rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot.

To create and configure a Rule, perform the following steps:

  1. Create and update the predicates that you want to include in the Rule. For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRule request.

  3. Submit a CreateRule request.

  4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

  5. Submit an UpdateRule request to specify the predicates that you want to include in the Rule.

  6. Create and update a WebACL that contains the Rule. For more information, see CreateWebACL.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "CreateRuleGroup":{ "name":"CreateRuleGroup", @@ -164,7 +164,7 @@ {"shape":"WAFDisallowedNameException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Creates a RuleGroup. A rule group is a collection of predefined rules that you add to a web ACL. You use UpdateRuleGroup to add rules to the rule group.

Rule groups are subject to the following limits:

  • Three rule groups per account. You can request an increase to this limit by contacting customer support.

  • One rule group per web ACL.

  • Ten rules per rule group.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Creates a RuleGroup. A rule group is a collection of predefined rules that you add to a web ACL. You use UpdateRuleGroup to add rules to the rule group.

Rule groups are subject to the following limits:

  • Three rule groups per account. You can request an increase to this limit by contacting customer support.

  • One rule group per web ACL.

  • Ten rules per rule group.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "CreateSizeConstraintSet":{ "name":"CreateSizeConstraintSet", @@ -182,7 +182,7 @@ {"shape":"WAFInvalidParameterException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Creates a SizeConstraintSet. You then use UpdateSizeConstraintSet to identify the part of a web request that you want AWS WAF to check for length, such as the length of the User-Agent header or the length of the query string. For example, you can create a SizeConstraintSet that matches any requests that have a query string that is longer than 100 bytes. You can then configure AWS WAF to reject those requests.

To create and configure a SizeConstraintSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateSizeConstraintSet request.

  2. Submit a CreateSizeConstraintSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request.

  4. Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Creates a SizeConstraintSet. You then use UpdateSizeConstraintSet to identify the part of a web request that you want AWS WAF to check for length, such as the length of the User-Agent header or the length of the query string. For example, you can create a SizeConstraintSet that matches any requests that have a query string that is longer than 100 bytes. You can then configure AWS WAF to reject those requests.

To create and configure a SizeConstraintSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateSizeConstraintSet request.

  2. Submit a CreateSizeConstraintSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request.

  4. Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "CreateSqlInjectionMatchSet":{ "name":"CreateSqlInjectionMatchSet", @@ -200,7 +200,7 @@ {"shape":"WAFStaleDataException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Creates a SqlInjectionMatchSet, which you use to allow, block, or count requests that contain snippets of SQL code in a specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.

To create and configure a SqlInjectionMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateSqlInjectionMatchSet request.

  2. Submit a CreateSqlInjectionMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSqlInjectionMatchSet request.

  4. Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests in which you want to allow, block, or count malicious SQL code.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Creates a SqlInjectionMatchSet, which you use to allow, block, or count requests that contain snippets of SQL code in a specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.

To create and configure a SqlInjectionMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateSqlInjectionMatchSet request.

  2. Submit a CreateSqlInjectionMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSqlInjectionMatchSet request.

  4. Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests in which you want to allow, block, or count malicious SQL code.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "CreateWebACL":{ "name":"CreateWebACL", @@ -218,7 +218,7 @@ {"shape":"WAFInvalidParameterException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Creates a WebACL, which contains the Rules that identify the CloudFront web requests that you want to allow, block, or count. AWS WAF evaluates Rules in order based on the value of Priority for each Rule.

You also specify a default action, either ALLOW or BLOCK. If a web request doesn't match any of the Rules in a WebACL, AWS WAF responds to the request with the default action.

To create and configure a WebACL, perform the following steps:

  1. Create and update the ByteMatchSet objects and other predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.

  2. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateWebACL request.

  4. Submit a CreateWebACL request.

  5. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request.

  6. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution.

For more information about how to use the AWS WAF API, see the AWS WAF Developer Guide.

" + "documentation":"

Creates a WebACL, which contains the Rules that identify the CloudFront web requests that you want to allow, block, or count. AWS WAF evaluates Rules in order based on the value of Priority for each Rule.

You also specify a default action, either ALLOW or BLOCK. If a web request doesn't match any of the Rules in a WebACL, AWS WAF responds to the request with the default action.

To create and configure a WebACL, perform the following steps:

  1. Create and update the ByteMatchSet objects and other predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.

  2. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateWebACL request.

  4. Submit a CreateWebACL request.

  5. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request.

  6. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution.

For more information about how to use the AWS WAF API, see the AWS WAF Developer Guide.

" }, "CreateXssMatchSet":{ "name":"CreateXssMatchSet", @@ -236,7 +236,7 @@ {"shape":"WAFStaleDataException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Creates an XssMatchSet, which you use to allow, block, or count requests that contain cross-site scripting attacks in the specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.

To create and configure an XssMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateXssMatchSet request.

  2. Submit a CreateXssMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateXssMatchSet request.

  4. Submit an UpdateXssMatchSet request to specify the parts of web requests in which you want to allow, block, or count cross-site scripting attacks.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Creates an XssMatchSet, which you use to allow, block, or count requests that contain cross-site scripting attacks in the specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.

To create and configure an XssMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateXssMatchSet request.

  2. Submit a CreateXssMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateXssMatchSet request.

  4. Submit an UpdateXssMatchSet request to specify the parts of web requests in which you want to allow, block, or count cross-site scripting attacks.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "DeleteByteMatchSet":{ "name":"DeleteByteMatchSet", @@ -498,7 +498,7 @@ {"shape":"WAFInvalidParameterException"}, {"shape":"WAFNonexistentItemException"} ], - "documentation":"

Removes a web ACL from the specified resource.

" + "documentation":"

Removes a web ACL from the specified resource, either an application load balancer or Amazon API Gateway stage.

" }, "GetByteMatchSet":{ "name":"GetByteMatchSet", @@ -540,7 +540,7 @@ {"shape":"WAFNonexistentItemException"}, {"shape":"WAFInternalErrorException"} ], - "documentation":"

Returns the status of a ChangeToken that you got by calling GetChangeToken. ChangeTokenStatus is one of the following values:

  • PROVISIONED: You requested the change token by calling GetChangeToken, but you haven't used it yet in a call to create, update, or delete an AWS WAF object.

  • PENDING: AWS WAF is propagating the create, update, or delete request to all AWS WAF servers.

  • IN_SYNC: Propagation is complete.

" + "documentation":"

Returns the status of a ChangeToken that you got by calling GetChangeToken. ChangeTokenStatus is one of the following values:

  • PROVISIONED: You requested the change token by calling GetChangeToken, but you haven't used it yet in a call to create, update, or delete an AWS WAF object.

  • PENDING: AWS WAF is propagating the create, update, or delete request to all AWS WAF servers.

  • INSYNC: Propagation is complete.

" }, "GetGeoMatchSet":{ "name":"GetGeoMatchSet", @@ -764,7 +764,7 @@ {"shape":"WAFInvalidParameterException"}, {"shape":"WAFUnavailableEntityException"} ], - "documentation":"

Returns the web ACL for the specified resource.

" + "documentation":"

Returns the web ACL for the specified resource, either an application load balancer or Amazon API Gateway stage.

" }, "GetXssMatchSet":{ "name":"GetXssMatchSet", @@ -1022,7 +1022,7 @@ {"shape":"WAFStaleDataException"}, {"shape":"WAFServiceLinkedRoleErrorException"} ], - "documentation":"

Associates a LoggingConfiguration with a specified web ACL.

You can access information about all traffic that AWS WAF inspects using the following steps:

  1. Create an Amazon Kinesis Data Firehose .

  2. Associate that firehose to your web ACL using a PutLoggingConfiguration request.

When you successfully enable logging using a PutLoggingConfiguration request, AWS WAF will create a service linked role with the necessary permissions to write logs to the Amazon Kinesis Data Firehose. For more information, see Logging Web ACL Traffic Information in the AWS WAF Developer Guide.

" + "documentation":"

Associates a LoggingConfiguration with a specified web ACL.

You can access information about all traffic that AWS WAF inspects using the following steps:

  1. Create an Amazon Kinesis Data Firehose .

    Create the data firehose with a PUT source and in the region that you are operating. However, if you are capturing logs for Amazon CloudFront, always create the firehose in US East (N. Virginia).

    Do not create the data firehose using a Kinesis stream as your source.

  2. Associate that firehose to your web ACL using a PutLoggingConfiguration request.

When you successfully enable logging using a PutLoggingConfiguration request, AWS WAF will create a service linked role with the necessary permissions to write logs to the Amazon Kinesis Data Firehose. For more information, see Logging Web ACL Traffic Information in the AWS WAF Developer Guide.

" }, "PutPermissionPolicy":{ "name":"PutPermissionPolicy", @@ -1058,7 +1058,7 @@ {"shape":"WAFStaleDataException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Inserts or deletes ByteMatchTuple objects (filters) in a ByteMatchSet. For each ByteMatchTuple object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change a ByteMatchSetUpdate object, you delete the existing object and add a new one.

  • The part of a web request that you want AWS WAF to inspect, such as a query string or the value of the User-Agent header.

  • The bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to look for. For more information, including how you specify the values for the AWS WAF API and the AWS CLI or SDKs, see TargetString in the ByteMatchTuple data type.

  • Where to look, such as at the beginning or the end of a query string.

  • Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.

For example, you can add a ByteMatchSetUpdate object that matches web requests in which User-Agent headers contain the string BadBot. You can then configure AWS WAF to block those requests.

To create and configure a ByteMatchSet, perform the following steps:

  1. Create a ByteMatchSet. For more information, see CreateByteMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request.

  3. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Inserts or deletes ByteMatchTuple objects (filters) in a ByteMatchSet. For each ByteMatchTuple object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change a ByteMatchSetUpdate object, you delete the existing object and add a new one.

  • The part of a web request that you want AWS WAF to inspect, such as a query string or the value of the User-Agent header.

  • The bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to look for. For more information, including how you specify the values for the AWS WAF API and the AWS CLI or SDKs, see TargetString in the ByteMatchTuple data type.

  • Where to look, such as at the beginning or the end of a query string.

  • Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.

For example, you can add a ByteMatchSetUpdate object that matches web requests in which User-Agent headers contain the string BadBot. You can then configure AWS WAF to block those requests.

To create and configure a ByteMatchSet, perform the following steps:

  1. Create a ByteMatchSet. For more information, see CreateByteMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request.

  3. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "UpdateGeoMatchSet":{ "name":"UpdateGeoMatchSet", @@ -1079,7 +1079,7 @@ {"shape":"WAFReferencedItemException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Inserts or deletes GeoMatchConstraint objects in an GeoMatchSet. For each GeoMatchConstraint object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change an GeoMatchConstraint object, you delete the existing object and add a new one.

  • The Type. The only valid value for Type is Country.

  • The Value, which is a two character code for the country to add to the GeoMatchConstraint object. Valid codes are listed in GeoMatchConstraint$Value.

To create and configure an GeoMatchSet, perform the following steps:

  1. Submit a CreateGeoMatchSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateGeoMatchSet request.

  3. Submit an UpdateGeoMatchSet request to specify the country that you want AWS WAF to watch for.

When you update an GeoMatchSet, you specify the country that you want to add and/or the country that you want to delete. If you want to change a country, you delete the existing country and add the new one.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Inserts or deletes GeoMatchConstraint objects in an GeoMatchSet. For each GeoMatchConstraint object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change an GeoMatchConstraint object, you delete the existing object and add a new one.

  • The Type. The only valid value for Type is Country.

  • The Value, which is a two character code for the country to add to the GeoMatchConstraint object. Valid codes are listed in GeoMatchConstraint$Value.

To create and configure an GeoMatchSet, perform the following steps:

  1. Submit a CreateGeoMatchSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateGeoMatchSet request.

  3. Submit an UpdateGeoMatchSet request to specify the country that you want AWS WAF to watch for.

When you update an GeoMatchSet, you specify the country that you want to add and/or the country that you want to delete. If you want to change a country, you delete the existing country and add the new one.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "UpdateIPSet":{ "name":"UpdateIPSet", @@ -1100,7 +1100,7 @@ {"shape":"WAFReferencedItemException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Inserts or deletes IPSetDescriptor objects in an IPSet. For each IPSetDescriptor object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change an IPSetDescriptor object, you delete the existing object and add a new one.

  • The IP address version, IPv4 or IPv6.

  • The IP address in CIDR notation, for example, 192.0.2.0/24 (for the range of IP addresses from 192.0.2.0 to 192.0.2.255) or 192.0.2.44/32 (for the individual IP address 192.0.2.44).

AWS WAF supports IPv4 address ranges: /8 and any range between /16 through /32. AWS WAF supports IPv6 address ranges: /16, /24, /32, /48, /56, /64, and /128. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

IPv6 addresses can be represented using any of the following formats:

  • 1111:0000:0000:0000:0000:0000:0000:0111/128

  • 1111:0:0:0:0:0:0:0111/128

  • 1111::0111/128

  • 1111::111/128

You use an IPSet to specify which web requests you want to allow or block based on the IP addresses that the requests originated from. For example, if you're receiving a lot of requests from one or a small number of IP addresses and you want to block the requests, you can create an IPSet that specifies those IP addresses, and then configure AWS WAF to block the requests.

To create and configure an IPSet, perform the following steps:

  1. Submit a CreateIPSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  3. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for.

When you update an IPSet, you specify the IP addresses that you want to add and/or the IP addresses that you want to delete. If you want to change an IP address, you delete the existing IP address and add the new one.

You can insert a maximum of 1000 addresses in a single request.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Inserts or deletes IPSetDescriptor objects in an IPSet. For each IPSetDescriptor object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change an IPSetDescriptor object, you delete the existing object and add a new one.

  • The IP address version, IPv4 or IPv6.

  • The IP address in CIDR notation, for example, 192.0.2.0/24 (for the range of IP addresses from 192.0.2.0 to 192.0.2.255) or 192.0.2.44/32 (for the individual IP address 192.0.2.44).

AWS WAF supports IPv4 address ranges: /8 and any range between /16 through /32. AWS WAF supports IPv6 address ranges: /24, /32, /48, /56, /64, and /128. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

IPv6 addresses can be represented using any of the following formats:

  • 1111:0000:0000:0000:0000:0000:0000:0111/128

  • 1111:0:0:0:0:0:0:0111/128

  • 1111::0111/128

  • 1111::111/128

You use an IPSet to specify which web requests you want to allow or block based on the IP addresses that the requests originated from. For example, if you're receiving a lot of requests from one or a small number of IP addresses and you want to block the requests, you can create an IPSet that specifies those IP addresses, and then configure AWS WAF to block the requests.

To create and configure an IPSet, perform the following steps:

  1. Submit a CreateIPSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  3. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for.

When you update an IPSet, you specify the IP addresses that you want to add and/or the IP addresses that you want to delete. If you want to change an IP address, you delete the existing IP address and add the new one.

You can insert a maximum of 1000 addresses in a single request.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "UpdateRateBasedRule":{ "name":"UpdateRateBasedRule", @@ -1141,7 +1141,7 @@ {"shape":"WAFInvalidOperationException"}, {"shape":"WAFInvalidAccountException"} ], - "documentation":"

Inserts or deletes RegexMatchTuple objects (filters) in a RegexMatchSet. For each RegexMatchSetUpdate object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change a RegexMatchSetUpdate object, you delete the existing object and add a new one.

  • The part of a web request that you want AWS WAF to inspectupdate, such as a query string or the value of the User-Agent header.

  • The identifier of the pattern (a regular expression) that you want AWS WAF to look for. For more information, see RegexPatternSet.

  • Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.

For example, you can create a RegexPatternSet that matches any requests with User-Agent headers that contain the string B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

To create and configure a RegexMatchSet, perform the following steps:

  1. Create a RegexMatchSet. For more information, see CreateRegexMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexMatchSet request.

  3. Submit an UpdateRegexMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the identifier of the RegexPatternSet that contain the regular expression patters you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Inserts or deletes RegexMatchTuple objects (filters) in a RegexMatchSet. For each RegexMatchSetUpdate object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change a RegexMatchSetUpdate object, you delete the existing object and add a new one.

  • The part of a web request that you want AWS WAF to inspectupdate, such as a query string or the value of the User-Agent header.

  • The identifier of the pattern (a regular expression) that you want AWS WAF to look for. For more information, see RegexPatternSet.

  • Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.

For example, you can create a RegexPatternSet that matches any requests with User-Agent headers that contain the string B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

To create and configure a RegexMatchSet, perform the following steps:

  1. Create a RegexMatchSet. For more information, see CreateRegexMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexMatchSet request.

  3. Submit an UpdateRegexMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the identifier of the RegexPatternSet that contain the regular expression patters you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "UpdateRegexPatternSet":{ "name":"UpdateRegexPatternSet", @@ -1161,7 +1161,7 @@ {"shape":"WAFInvalidAccountException"}, {"shape":"WAFInvalidRegexPatternException"} ], - "documentation":"

Inserts or deletes RegexPatternString objects in a RegexPatternSet. For each RegexPatternString object, you specify the following values:

  • Whether to insert or delete the RegexPatternString.

  • The regular expression pattern that you want to insert or delete. For more information, see RegexPatternSet.

For example, you can create a RegexPatternString such as B[a@]dB[o0]t. AWS WAF will match this RegexPatternString to:

  • BadBot

  • BadB0t

  • B@dBot

  • B@dB0t

To create and configure a RegexPatternSet, perform the following steps:

  1. Create a RegexPatternSet. For more information, see CreateRegexPatternSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexPatternSet request.

  3. Submit an UpdateRegexPatternSet request to specify the regular expression pattern that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Inserts or deletes RegexPatternString objects in a RegexPatternSet. For each RegexPatternString object, you specify the following values:

  • Whether to insert or delete the RegexPatternString.

  • The regular expression pattern that you want to insert or delete. For more information, see RegexPatternSet.

For example, you can create a RegexPatternString such as B[a@]dB[o0]t. AWS WAF will match this RegexPatternString to:

  • BadBot

  • BadB0t

  • B@dBot

  • B@dB0t

To create and configure a RegexPatternSet, perform the following steps:

  1. Create a RegexPatternSet. For more information, see CreateRegexPatternSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexPatternSet request.

  3. Submit an UpdateRegexPatternSet request to specify the regular expression pattern that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "UpdateRule":{ "name":"UpdateRule", @@ -1182,7 +1182,7 @@ {"shape":"WAFReferencedItemException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Inserts or deletes Predicate objects in a Rule. Each Predicate object identifies a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests that you want to allow, block, or count. If you add more than one predicate to a Rule, a request must match all of the specifications to be allowed, blocked, or counted. For example, suppose you add the following to a Rule:

  • A ByteMatchSet that matches the value BadBot in the User-Agent header

  • An IPSet that matches the IP address 192.0.2.44

You then add the Rule to a WebACL and specify that you want to block requests that satisfy the Rule. For a request to be blocked, the User-Agent header in the request must contain the value BadBot and the request must originate from the IP address 192.0.2.44.

To create and configure a Rule, perform the following steps:

  1. Create and update the predicates that you want to include in the Rule.

  2. Create the Rule. See CreateRule.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

  4. Submit an UpdateRule request to add predicates to the Rule.

  5. Create and update a WebACL that contains the Rule. See CreateWebACL.

If you want to replace one ByteMatchSet or IPSet with another, you delete the existing one and add the new one.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Inserts or deletes Predicate objects in a Rule. Each Predicate object identifies a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests that you want to allow, block, or count. If you add more than one predicate to a Rule, a request must match all of the specifications to be allowed, blocked, or counted. For example, suppose that you add the following to a Rule:

  • A ByteMatchSet that matches the value BadBot in the User-Agent header

  • An IPSet that matches the IP address 192.0.2.44

You then add the Rule to a WebACL and specify that you want to block requests that satisfy the Rule. For a request to be blocked, the User-Agent header in the request must contain the value BadBot and the request must originate from the IP address 192.0.2.44.

To create and configure a Rule, perform the following steps:

  1. Create and update the predicates that you want to include in the Rule.

  2. Create the Rule. See CreateRule.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

  4. Submit an UpdateRule request to add predicates to the Rule.

  5. Create and update a WebACL that contains the Rule. See CreateWebACL.

If you want to replace one ByteMatchSet or IPSet with another, you delete the existing one and add the new one.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "UpdateRuleGroup":{ "name":"UpdateRuleGroup", @@ -1201,7 +1201,7 @@ {"shape":"WAFLimitsExceededException"}, {"shape":"WAFInvalidParameterException"} ], - "documentation":"

Inserts or deletes ActivatedRule objects in a RuleGroup.

You can only insert REGULAR rules into a rule group.

You can have a maximum of ten rules per rule group.

To create and configure a RuleGroup, perform the following steps:

  1. Create and update the Rules that you want to include in the RuleGroup. See CreateRule.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRuleGroup request.

  3. Submit an UpdateRuleGroup request to add Rules to the RuleGroup.

  4. Create and update a WebACL that contains the RuleGroup. See CreateWebACL.

If you want to replace one Rule with another, you delete the existing one and add the new one.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Inserts or deletes ActivatedRule objects in a RuleGroup.

You can only insert REGULAR rules into a rule group.

You can have a maximum of ten rules per rule group.

To create and configure a RuleGroup, perform the following steps:

  1. Create and update the Rules that you want to include in the RuleGroup. See CreateRule.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRuleGroup request.

  3. Submit an UpdateRuleGroup request to add Rules to the RuleGroup.

  4. Create and update a WebACL that contains the RuleGroup. See CreateWebACL.

If you want to replace one Rule with another, you delete the existing one and add the new one.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "UpdateSizeConstraintSet":{ "name":"UpdateSizeConstraintSet", @@ -1222,7 +1222,7 @@ {"shape":"WAFReferencedItemException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Inserts or deletes SizeConstraint objects (filters) in a SizeConstraintSet. For each SizeConstraint object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change a SizeConstraintSetUpdate object, you delete the existing object and add a new one.

  • The part of a web request that you want AWS WAF to evaluate, such as the length of a query string or the length of the User-Agent header.

  • Whether to perform any transformations on the request, such as converting it to lowercase, before checking its length. Note that transformations of the request body are not supported because the AWS resource forwards only the first 8192 bytes of your request to AWS WAF.

    You can only specify a single type of TextTransformation.

  • A ComparisonOperator used for evaluating the selected part of the request against the specified Size, such as equals, greater than, less than, and so on.

  • The length, in bytes, that you want AWS WAF to watch for in selected part of the request. The length is computed after applying the transformation.

For example, you can add a SizeConstraintSetUpdate object that matches web requests in which the length of the User-Agent header is greater than 100 bytes. You can then configure AWS WAF to block those requests.

To create and configure a SizeConstraintSet, perform the following steps:

  1. Create a SizeConstraintSet. For more information, see CreateSizeConstraintSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request.

  3. Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Inserts or deletes SizeConstraint objects (filters) in a SizeConstraintSet. For each SizeConstraint object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change a SizeConstraintSetUpdate object, you delete the existing object and add a new one.

  • The part of a web request that you want AWS WAF to evaluate, such as the length of a query string or the length of the User-Agent header.

  • Whether to perform any transformations on the request, such as converting it to lowercase, before checking its length. Note that transformations of the request body are not supported because the AWS resource forwards only the first 8192 bytes of your request to AWS WAF.

    You can only specify a single type of TextTransformation.

  • A ComparisonOperator used for evaluating the selected part of the request against the specified Size, such as equals, greater than, less than, and so on.

  • The length, in bytes, that you want AWS WAF to watch for in selected part of the request. The length is computed after applying the transformation.

For example, you can add a SizeConstraintSetUpdate object that matches web requests in which the length of the User-Agent header is greater than 100 bytes. You can then configure AWS WAF to block those requests.

To create and configure a SizeConstraintSet, perform the following steps:

  1. Create a SizeConstraintSet. For more information, see CreateSizeConstraintSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request.

  3. Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "UpdateSqlInjectionMatchSet":{ "name":"UpdateSqlInjectionMatchSet", @@ -1242,7 +1242,7 @@ {"shape":"WAFStaleDataException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Inserts or deletes SqlInjectionMatchTuple objects (filters) in a SqlInjectionMatchSet. For each SqlInjectionMatchTuple object, you specify the following values:

  • Action: Whether to insert the object into or delete the object from the array. To change a SqlInjectionMatchTuple, you delete the existing object and add a new one.

  • FieldToMatch: The part of web requests that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header or custom query parameter, the name of the header or parameter.

  • TextTransformation: Which text transformation, if any, to perform on the web request before inspecting the request for snippets of malicious SQL code.

    You can only specify a single type of TextTransformation.

You use SqlInjectionMatchSet objects to specify which CloudFront requests you want to allow, block, or count. For example, if you're receiving requests that contain snippets of SQL code in the query string and you want to block the requests, you can create a SqlInjectionMatchSet with the applicable settings, and then configure AWS WAF to block the requests.

To create and configure a SqlInjectionMatchSet, perform the following steps:

  1. Submit a CreateSqlInjectionMatchSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  3. Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests that you want AWS WAF to inspect for snippets of SQL code.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Inserts or deletes SqlInjectionMatchTuple objects (filters) in a SqlInjectionMatchSet. For each SqlInjectionMatchTuple object, you specify the following values:

  • Action: Whether to insert the object into or delete the object from the array. To change a SqlInjectionMatchTuple, you delete the existing object and add a new one.

  • FieldToMatch: The part of web requests that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header or custom query parameter, the name of the header or parameter.

  • TextTransformation: Which text transformation, if any, to perform on the web request before inspecting the request for snippets of malicious SQL code.

    You can only specify a single type of TextTransformation.

You use SqlInjectionMatchSet objects to specify which CloudFront requests that you want to allow, block, or count. For example, if you're receiving requests that contain snippets of SQL code in the query string and you want to block the requests, you can create a SqlInjectionMatchSet with the applicable settings, and then configure AWS WAF to block the requests.

To create and configure a SqlInjectionMatchSet, perform the following steps:

  1. Submit a CreateSqlInjectionMatchSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  3. Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests that you want AWS WAF to inspect for snippets of SQL code.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "UpdateWebACL":{ "name":"UpdateWebACL", @@ -1264,7 +1264,7 @@ {"shape":"WAFLimitsExceededException"}, {"shape":"WAFSubscriptionNotFoundException"} ], - "documentation":"

Inserts or deletes ActivatedRule objects in a WebACL. Each Rule identifies web requests that you want to allow, block, or count. When you update a WebACL, you specify the following values:

  • A default action for the WebACL, either ALLOW or BLOCK. AWS WAF performs the default action if a request doesn't match the criteria in any of the Rules in a WebACL.

  • The Rules that you want to add and/or delete. If you want to replace one Rule with another, you delete the existing Rule and add the new one.

  • For each Rule, whether you want AWS WAF to allow requests, block requests, or count requests that match the conditions in the Rule.

  • The order in which you want AWS WAF to evaluate the Rules in a WebACL. If you add more than one Rule to a WebACL, AWS WAF evaluates each request against the Rules in order based on the value of Priority. (The Rule that has the lowest value for Priority is evaluated first.) When a web request matches all of the predicates (such as ByteMatchSets and IPSets) in a Rule, AWS WAF immediately takes the corresponding action, allow or block, and doesn't evaluate the request against the remaining Rules in the WebACL, if any.

To create and configure a WebACL, perform the following steps:

  1. Create and update the predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.

  2. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule.

  3. Create a WebACL. See CreateWebACL.

  4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request.

  5. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution.

Be aware that if you try to add a RATE_BASED rule to a web ACL without setting the rule type when first creating the rule, the UpdateWebACL request will fail because the request tries to add a REGULAR rule (the default rule type) with the specified ID, which does not exist.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Inserts or deletes ActivatedRule objects in a WebACL. Each Rule identifies web requests that you want to allow, block, or count. When you update a WebACL, you specify the following values:

  • A default action for the WebACL, either ALLOW or BLOCK. AWS WAF performs the default action if a request doesn't match the criteria in any of the Rules in a WebACL.

  • The Rules that you want to add or delete. If you want to replace one Rule with another, you delete the existing Rule and add the new one.

  • For each Rule, whether you want AWS WAF to allow requests, block requests, or count requests that match the conditions in the Rule.

  • The order in which you want AWS WAF to evaluate the Rules in a WebACL. If you add more than one Rule to a WebACL, AWS WAF evaluates each request against the Rules in order based on the value of Priority. (The Rule that has the lowest value for Priority is evaluated first.) When a web request matches all the predicates (such as ByteMatchSets and IPSets) in a Rule, AWS WAF immediately takes the corresponding action, allow or block, and doesn't evaluate the request against the remaining Rules in the WebACL, if any.

To create and configure a WebACL, perform the following steps:

  1. Create and update the predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.

  2. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule.

  3. Create a WebACL. See CreateWebACL.

  4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request.

  5. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution.

    The ActivatedRule can be a rule group. If you specify a rule group as your ActivatedRule, you can exclude specific rules from that rule group.

    If you already have a rule group associated with a web ACL and want to submit an UpdateWebACL request to exclude certain rules from that rule group, you must first remove the rule group from the web ACL, the re-insert it again, specifying the excluded rules. For details, see ActivatedRule$ExcludedRules.

Be aware that if you try to add a RATE_BASED rule to a web ACL without setting the rule type when first creating the rule, the UpdateWebACL request will fail because the request tries to add a REGULAR rule (the default rule type) with the specified ID, which does not exist.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "UpdateXssMatchSet":{ "name":"UpdateXssMatchSet", @@ -1284,7 +1284,7 @@ {"shape":"WAFStaleDataException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Inserts or deletes XssMatchTuple objects (filters) in an XssMatchSet. For each XssMatchTuple object, you specify the following values:

  • Action: Whether to insert the object into or delete the object from the array. To change a XssMatchTuple, you delete the existing object and add a new one.

  • FieldToMatch: The part of web requests that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header or custom query parameter, the name of the header or parameter.

  • TextTransformation: Which text transformation, if any, to perform on the web request before inspecting the request for cross-site scripting attacks.

    You can only specify a single type of TextTransformation.

You use XssMatchSet objects to specify which CloudFront requests you want to allow, block, or count. For example, if you're receiving requests that contain cross-site scripting attacks in the request body and you want to block the requests, you can create an XssMatchSet with the applicable settings, and then configure AWS WAF to block the requests.

To create and configure an XssMatchSet, perform the following steps:

  1. Submit a CreateXssMatchSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  3. Submit an UpdateXssMatchSet request to specify the parts of web requests that you want AWS WAF to inspect for cross-site scripting attacks.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Inserts or deletes XssMatchTuple objects (filters) in an XssMatchSet. For each XssMatchTuple object, you specify the following values:

  • Action: Whether to insert the object into or delete the object from the array. To change an XssMatchTuple, you delete the existing object and add a new one.

  • FieldToMatch: The part of web requests that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header or custom query parameter, the name of the header or parameter.

  • TextTransformation: Which text transformation, if any, to perform on the web request before inspecting the request for cross-site scripting attacks.

    You can only specify a single type of TextTransformation.

You use XssMatchSet objects to specify which CloudFront requests that you want to allow, block, or count. For example, if you're receiving requests that contain cross-site scripting attacks in the request body and you want to block the requests, you can create an XssMatchSet with the applicable settings, and then configure AWS WAF to block the requests.

To create and configure an XssMatchSet, perform the following steps:

  1. Submit a CreateXssMatchSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  3. Submit an UpdateXssMatchSet request to specify the parts of web requests that you want AWS WAF to inspect for cross-site scripting attacks.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" } }, "shapes":{ @@ -1306,7 +1306,7 @@ }, "Action":{ "shape":"WafAction", - "documentation":"

Specifies the action that CloudFront or AWS WAF takes when a web request matches the conditions in the Rule. Valid values for Action include the following:

  • ALLOW: CloudFront responds with the requested object.

  • BLOCK: CloudFront responds with an HTTP 403 (Forbidden) status code.

  • COUNT: AWS WAF increments a counter of requests that match the conditions in the rule and then continues to inspect the web request based on the remaining rules in the web ACL.

ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.

" + "documentation":"

Specifies the action that CloudFront or AWS WAF takes when a web request matches the conditions in the Rule. Valid values for Action include the following:

  • ALLOW: CloudFront responds with the requested object.

  • BLOCK: CloudFront responds with an HTTP 403 (Forbidden) status code.

  • COUNT: AWS WAF increments a counter of requests that match the conditions in the rule and then continues to inspect the web request based on the remaining rules in the web ACL.

ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case, you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.

" }, "OverrideAction":{ "shape":"WafOverrideAction", @@ -1315,6 +1315,10 @@ "Type":{ "shape":"WafRuleType", "documentation":"

The rule type, either REGULAR, as defined by Rule, RATE_BASED, as defined by RateBasedRule, or GROUP, as defined by RuleGroup. The default is REGULAR. Although this field is optional, be aware that if you try to add a RATE_BASED rule to a web ACL without setting the type, the UpdateWebACL request will fail because the request tries to add a REGULAR rule with the specified ID, which does not exist.

" + }, + "ExcludedRules":{ + "shape":"ExcludedRules", + "documentation":"

An array of rules to exclude from a rule group. This is applicable only when the ActivatedRule refers to a RuleGroup.

Sometimes it is necessary to troubleshoot rule groups that are blocking traffic unexpectedly (false positives). One troubleshooting technique is to identify the specific rule within the rule group that is blocking the legitimate traffic and then disable (exclude) that particular rule. You can exclude rules from both your own rule groups and AWS Marketplace rule groups that have been associated with a web ACL.

Specifying ExcludedRules does not remove those rules from the rule group. Rather, it changes the action for the rules to COUNT. Therefore, requests that match an ExcludedRule are counted but not blocked. The RuleGroup owner will receive COUNT metrics for each ExcludedRule.

If you want to exclude rules from a rule group that is already associated with a web ACL, perform the following steps:

  1. Use the AWS WAF logs to identify the IDs of the rules that you want to exclude. For more information about the logs, see Logging Web ACL Traffic Information.

  2. Submit an UpdateWebACL request that has two actions:

    • The first action deletes the existing rule group from the web ACL. That is, in the UpdateWebACL request, the first Updates:Action should be DELETE and Updates:ActivatedRule:RuleId should be the rule group that contains the rules that you want to exclude.

    • The second action inserts the same rule group back in, but specifying the rules to exclude. That is, the second Updates:Action should be INSERT, Updates:ActivatedRule:RuleId should be the rule group that you just removed, and ExcludedRules should contain the rules that you want to exclude.

" } }, "documentation":"

The ActivatedRule object in an UpdateWebACL request specifies a Rule that you want to insert or delete, the priority of the Rule in the WebACL, and the action that you want AWS WAF to take when a web request matches the Rule (ALLOW, BLOCK, or COUNT).

To specify whether to insert or delete a Rule, use the Action parameter in the WebACLUpdate data type.

" @@ -1332,11 +1336,11 @@ "members":{ "WebACLId":{ "shape":"ResourceId", - "documentation":"

A unique identifier (ID) for the web ACL.

" + "documentation":"

A unique identifier (ID) for the web ACL.

" }, "ResourceArn":{ "shape":"ResourceArn", - "documentation":"

The ARN (Amazon Resource Name) of the resource to be protected.

" + "documentation":"

The ARN (Amazon Resource Name) of the resource to be protected, either an application load balancer or Amazon API Gateway stage.

The ARN should be in one of the following formats:

  • For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id

  • For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name

" } } }, @@ -1428,7 +1432,7 @@ }, "TargetString":{ "shape":"ByteMatchTargetString", - "documentation":"

The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you specified in FieldToMatch. The maximum length of the value is 50 bytes.

Valid values depend on the values that you specified for FieldToMatch:

  • HEADER: The value that you want AWS WAF to search for in the request header that you specified in FieldToMatch, for example, the value of the User-Agent or Referer header.

  • METHOD: The HTTP method, which indicates the type of operation specified in the request. CloudFront supports the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT.

  • QUERY_STRING: The value that you want AWS WAF to search for in the query string, which is the part of a URL that appears after a ? character.

  • URI: The value that you want AWS WAF to search for in the part of a URL that identifies a resource, for example, /images/daily-ad.jpg.

  • BODY: The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first 8192 bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet.

  • SINGLE_QUERY_ARG: The parameter in the query string that you will inspect, such as UserName or SalesRegion. The maximum length for SINGLE_QUERY_ARG is 30 characters.

  • ALL_QUERY_ARGS: Similar to SINGLE_QUERY_ARG, but instead of inspecting a single parameter, AWS WAF inspects all parameters within the query string for the value or regex pattern that you specify in TargetString.

If TargetString includes alphabetic characters A-Z and a-z, note that the value is case sensitive.

If you're using the AWS WAF API

Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes.

For example, suppose the value of Type is HEADER and the value of Data is User-Agent. If you want to search the User-Agent header for the value BadBot, you base64-encode BadBot using MIME base64 encoding and include the resulting value, QmFkQm90, in the value of TargetString.

If you're using the AWS CLI or one of the AWS SDKs

The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value.

" + "documentation":"

The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you specified in FieldToMatch. The maximum length of the value is 50 bytes.

Valid values depend on the values that you specified for FieldToMatch:

  • HEADER: The value that you want AWS WAF to search for in the request header that you specified in FieldToMatch, for example, the value of the User-Agent or Referer header.

  • METHOD: The HTTP method, which indicates the type of operation specified in the request. CloudFront supports the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT.

  • QUERY_STRING: The value that you want AWS WAF to search for in the query string, which is the part of a URL that appears after a ? character.

  • URI: The value that you want AWS WAF to search for in the part of a URL that identifies a resource, for example, /images/daily-ad.jpg.

  • BODY: The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first 8192 bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet.

  • SINGLE_QUERY_ARG: The parameter in the query string that you will inspect, such as UserName or SalesRegion. The maximum length for SINGLE_QUERY_ARG is 30 characters.

  • ALL_QUERY_ARGS: Similar to SINGLE_QUERY_ARG, but instead of inspecting a single parameter, AWS WAF inspects all parameters within the query string for the value or regex pattern that you specify in TargetString.

If TargetString includes alphabetic characters A-Z and a-z, note that the value is case sensitive.

If you're using the AWS WAF API

Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes.

For example, suppose the value of Type is HEADER and the value of Data is User-Agent. If you want to search the User-Agent header for the value BadBot, you base64-encode BadBot using MIME base64-encoding and include the resulting value, QmFkQm90, in the value of TargetString.

If you're using the AWS CLI or one of the AWS SDKs

The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value.

" }, "TextTransformation":{ "shape":"TextTransformation", @@ -1582,7 +1586,7 @@ }, "MetricName":{ "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this RateBasedRule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the RateBasedRule.

" + "documentation":"

A friendly name or description for the metrics for this RateBasedRule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the RateBasedRule.

" }, "RateKey":{ "shape":"RateKey", @@ -1685,7 +1689,7 @@ }, "MetricName":{ "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the RuleGroup.

" + "documentation":"

A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the RuleGroup.

" }, "ChangeToken":{ "shape":"ChangeToken", @@ -1720,7 +1724,7 @@ }, "MetricName":{ "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the Rule.

" + "documentation":"

A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the Rule.

" }, "ChangeToken":{ "shape":"ChangeToken", @@ -1818,7 +1822,7 @@ }, "MetricName":{ "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this WebACL. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change MetricName after you create the WebACL.

" + "documentation":"

A friendly name or description for the metrics for this WebACL.The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change MetricName after you create the WebACL.

" }, "DefaultAction":{ "shape":"WafAction", @@ -2227,7 +2231,7 @@ "members":{ "ResourceArn":{ "shape":"ResourceArn", - "documentation":"

The ARN (Amazon Resource Name) of the resource from which the web ACL is being removed.

" + "documentation":"

The ARN (Amazon Resource Name) of the resource from which the web ACL is being removed, either an application load balancer or Amazon API Gateway stage.

The ARN should be in one of the following formats:

  • For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id

  • For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name

" } } }, @@ -2236,6 +2240,21 @@ "members":{ } }, + "ExcludedRule":{ + "type":"structure", + "required":["RuleId"], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

The unique identifier for the rule to exclude from the rule group.

" + } + }, + "documentation":"

The rule to exclude from a rule group. This is applicable only when the ActivatedRule refers to a RuleGroup. The rule must belong to the RuleGroup that is specified by the ActivatedRule.

" + }, + "ExcludedRules":{ + "type":"list", + "member":{"shape":"ExcludedRule"} + }, "FieldToMatch":{ "type":"structure", "required":["Type"], @@ -2943,7 +2962,7 @@ "members":{ "ResourceArn":{ "shape":"ResourceArn", - "documentation":"

The ARN (Amazon Resource Name) of the resource for which to get the web ACL.

" + "documentation":"

The ARN (Amazon Resource Name) of the resource for which to get the web ACL, either an application load balancer or Amazon API Gateway stage.

The ARN should be in one of the following formats:

  • For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id

  • For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name

" } } }, @@ -3068,7 +3087,7 @@ "documentation":"

The IP address type (IPV4 or IPV6) and the IP address range (in CIDR notation) that web requests originate from. If the WebACL is associated with a CloudFront distribution and the viewer did not use an HTTP proxy or a load balancer to send the request, this is the value of the c-ip field in the CloudFront access logs.

" } }, - "documentation":"

Contains one or more IP addresses or blocks of IP addresses specified in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports IPv4 address ranges: /8 and any range between /16 through /32. AWS WAF supports IPv6 address ranges: /16, /24, /32, /48, /56, /64, and /128.

To specify an individual IP address, you specify the four-part IP address followed by a /32, for example, 192.0.2.0/31. To block a range of IP addresses, you can specify /8 or any range between /16 through /32 (for IPv4) or /16, /24, /32, /48, /56, /64, or /128 (for IPv6). For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

" + "documentation":"

Contains one or more IP addresses or blocks of IP addresses specified in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports IPv4 address ranges: /8 and any range between /16 through /32. AWS WAF supports IPv6 address ranges: /24, /32, /48, /56, /64, and /128.

To specify an individual IP address, you specify the four-part IP address followed by a /32, for example, 192.0.2.0/31. To block a range of IP addresses, you can specify /8 or any range between /16 through /32 (for IPv4) or /24, /32, /48, /56, /64, or /128 (for IPv6). For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

" }, "IPSetDescriptor":{ "type":"structure", @@ -3368,7 +3387,7 @@ }, "ResourceType":{ "shape":"ResourceType", - "documentation":"

The type of resource to list, either and application load balancer or Amazon API Gateway.

" + "documentation":"

The type of resource to list, either an application load balancer or Amazon API Gateway.

" } } }, @@ -3645,7 +3664,8 @@ "GEO_MATCH_LOCATION_VALUE", "RATE_KEY", "RULE_TYPE", - "NEXT_MARKER" + "NEXT_MARKER", + "RESOURCE_ARN" ] }, "ParameterExceptionParameter":{ @@ -3656,7 +3676,8 @@ "type":"string", "enum":[ "INVALID_OPTION", - "ILLEGAL_COMBINATION" + "ILLEGAL_COMBINATION", + "ILLEGAL_ARGUMENT" ] }, "PolicyString":{ @@ -3773,7 +3794,7 @@ }, "MetricName":{ "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for a RateBasedRule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the RateBasedRule.

" + "documentation":"

A friendly name or description for the metrics for a RateBasedRule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the RateBasedRule.

" }, "MatchPredicates":{ "shape":"Predicates", @@ -4012,7 +4033,7 @@ }, "MetricName":{ "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change MetricName after you create the Rule.

" + "documentation":"

A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change MetricName after you create the Rule.

" }, "Predicates":{ "shape":"Predicates", @@ -4035,7 +4056,7 @@ }, "MetricName":{ "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the RuleGroup.

" + "documentation":"

A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the RuleGroup.

" } }, "documentation":"

A collection of predefined rules that you can add to a web ACL.

Rule groups are subject to the following limits:

  • Three rule groups per account. You can request an increase to this limit by contacting customer support.

  • One rule group per web ACL.

  • Ten rules per rule group.

" @@ -4383,7 +4404,7 @@ }, "MetricName":{ "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the RuleGroup.

" + "documentation":"

A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the RuleGroup.

" } }, "documentation":"

A summary of the rule groups you are subscribed to.

" @@ -4753,7 +4774,7 @@ }, "Updates":{ "shape":"WebACLUpdates", - "documentation":"

An array of updates to make to the WebACL.

An array of WebACLUpdate objects that you want to insert into or delete from a WebACL. For more information, see the applicable data types:

  • WebACLUpdate: Contains Action and ActivatedRule

  • ActivatedRule: Contains Action, OverrideAction, Priority, RuleId, and Type. ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.

  • WafAction: Contains Type

" + "documentation":"

An array of updates to make to the WebACL.

An array of WebACLUpdate objects that you want to insert into or delete from a WebACL. For more information, see the applicable data types:

  • WebACLUpdate: Contains Action and ActivatedRule

  • ActivatedRule: Contains Action, OverrideAction, Priority, RuleId, and Type. ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case, you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.

  • WafAction: Contains Type

" }, "DefaultAction":{ "shape":"WafAction", @@ -4788,7 +4809,7 @@ }, "Updates":{ "shape":"XssMatchSetUpdates", - "documentation":"

An array of XssMatchSetUpdate objects that you want to insert into or delete from a XssMatchSet. For more information, see the applicable data types:

" + "documentation":"

An array of XssMatchSetUpdate objects that you want to insert into or delete from an XssMatchSet. For more information, see the applicable data types:

" } }, "documentation":"

A request to update an XssMatchSet.

" @@ -4866,7 +4887,7 @@ "members":{ "message":{"shape":"errorMessage"} }, - "documentation":"

The operation exceeds a resource limit, for example, the maximum number of WebACL objects that you can create for an AWS account. For more information, see Limits in the AWS WAF Developer Guide.

", + "documentation":"

The operation exceeds a resource limit, for example, the maximum number of WebACL objects that you can create for an AWS account. For more information, see Limits in the AWS WAF Developer Guide.

", "exception":true }, "WAFNonEmptyEntityException":{ @@ -4996,7 +5017,7 @@ }, "MetricName":{ "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this WebACL. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change MetricName after you create the WebACL.

" + "documentation":"

A friendly name or description for the metrics for this WebACL. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change MetricName after you create the WebACL.

" }, "DefaultAction":{ "shape":"WafAction", @@ -5110,7 +5131,7 @@ "members":{ "Action":{ "shape":"ChangeAction", - "documentation":"

Specify INSERT to add a XssMatchSetUpdate to an XssMatchSet. Use DELETE to remove a XssMatchSetUpdate from an XssMatchSet.

" + "documentation":"

Specify INSERT to add an XssMatchSetUpdate to an XssMatchSet. Use DELETE to remove an XssMatchSetUpdate from an XssMatchSet.

" }, "XssMatchTuple":{ "shape":"XssMatchTuple", @@ -5148,5 +5169,5 @@ }, "errorMessage":{"type":"string"} }, - "documentation":"

This is the AWS WAF Regional API Reference for using AWS WAF with Elastic Load Balancing (ELB) Application Load Balancers. The AWS WAF actions and data types listed in the reference are available for protecting Application Load Balancers. You can use these actions and data types by means of the endpoints listed in AWS Regions and Endpoints. This guide is for developers who need detailed information about the AWS WAF API actions, data types, and errors. For detailed information about AWS WAF features and an overview of how to use the AWS WAF API, see the AWS WAF Developer Guide.

" + "documentation":"

This is the AWS WAF Regional API Reference for using AWS WAF with Elastic Load Balancing (ELB) Application Load Balancers. The AWS WAF actions and data types listed in the reference are available for protecting Application Load Balancers. You can use these actions and data types by means of the endpoints listed in AWS Regions and Endpoints. This guide is for developers who need detailed information about the AWS WAF API actions, data types, and errors. For detailed information about AWS WAF features and an overview of how to use the AWS WAF API, see the AWS WAF Developer Guide.

" } diff --git a/bin/botocore/data/waf/2015-08-24/paginators-1.json b/bin/botocore/data/waf/2015-08-24/paginators-1.json index ae6668d9..9f2eba80 100644 --- a/bin/botocore/data/waf/2015-08-24/paginators-1.json +++ b/bin/botocore/data/waf/2015-08-24/paginators-1.json @@ -41,6 +41,59 @@ "output_token": "NextMarker", "limit_key": "Limit", "result_key": "XssMatchSets" + }, + "GetRateBasedRuleManagedKeys": { + "input_token": "NextMarker", + "output_token": "NextMarker", + "result_key": "ManagedKeys" + }, + "ListActivatedRulesInRuleGroup": { + "input_token": "NextMarker", + "limit_key": "Limit", + "output_token": "NextMarker", + "result_key": "ActivatedRules" + }, + "ListGeoMatchSets": { + "input_token": "NextMarker", + "limit_key": "Limit", + "output_token": "NextMarker", + "result_key": "GeoMatchSets" + }, + "ListLoggingConfigurations": { + "input_token": "NextMarker", + "limit_key": "Limit", + "output_token": "NextMarker", + "result_key": "LoggingConfigurations" + }, + "ListRateBasedRules": { + "input_token": "NextMarker", + "limit_key": "Limit", + "output_token": "NextMarker", + "result_key": "Rules" + }, + "ListRegexMatchSets": { + "input_token": "NextMarker", + "limit_key": "Limit", + "output_token": "NextMarker", + "result_key": "RegexMatchSets" + }, + "ListRegexPatternSets": { + "input_token": "NextMarker", + "limit_key": "Limit", + "output_token": "NextMarker", + "result_key": "RegexPatternSets" + }, + "ListRuleGroups": { + "input_token": "NextMarker", + "limit_key": "Limit", + "output_token": "NextMarker", + "result_key": "RuleGroups" + }, + "ListSubscribedRuleGroups": { + "input_token": "NextMarker", + "limit_key": "Limit", + "output_token": "NextMarker", + "result_key": "RuleGroups" } } } diff --git a/bin/botocore/data/waf/2015-08-24/service-2.json b/bin/botocore/data/waf/2015-08-24/service-2.json index 2f1bd094..0abb93b5 100644 --- a/bin/botocore/data/waf/2015-08-24/service-2.json +++ b/bin/botocore/data/waf/2015-08-24/service-2.json @@ -29,7 +29,7 @@ {"shape":"WAFStaleDataException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Creates a ByteMatchSet. You then use UpdateByteMatchSet to identify the part of a web request that you want AWS WAF to inspect, such as the values of the User-Agent header or the query string. For example, you can create a ByteMatchSet that matches any requests with User-Agent headers that contain the string BadBot. You can then configure AWS WAF to reject those requests.

To create and configure a ByteMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateByteMatchSet request.

  2. Submit a CreateByteMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request.

  4. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Creates a ByteMatchSet. You then use UpdateByteMatchSet to identify the part of a web request that you want AWS WAF to inspect, such as the values of the User-Agent header or the query string. For example, you can create a ByteMatchSet that matches any requests with User-Agent headers that contain the string BadBot. You can then configure AWS WAF to reject those requests.

To create and configure a ByteMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateByteMatchSet request.

  2. Submit a CreateByteMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request.

  4. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "CreateGeoMatchSet":{ "name":"CreateGeoMatchSet", @@ -47,7 +47,7 @@ {"shape":"WAFInvalidParameterException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Creates an GeoMatchSet, which you use to specify which web requests you want to allow or block based on the country that the requests originate from. For example, if you're receiving a lot of requests from one or more countries and you want to block the requests, you can create an GeoMatchSet that contains those countries and then configure AWS WAF to block the requests.

To create and configure a GeoMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateGeoMatchSet request.

  2. Submit a CreateGeoMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateGeoMatchSet request.

  4. Submit an UpdateGeoMatchSetSet request to specify the countries that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Creates an GeoMatchSet, which you use to specify which web requests you want to allow or block based on the country that the requests originate from. For example, if you're receiving a lot of requests from one or more countries and you want to block the requests, you can create an GeoMatchSet that contains those countries and then configure AWS WAF to block the requests.

To create and configure a GeoMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateGeoMatchSet request.

  2. Submit a CreateGeoMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateGeoMatchSet request.

  4. Submit an UpdateGeoMatchSetSet request to specify the countries that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "CreateIPSet":{ "name":"CreateIPSet", @@ -65,7 +65,7 @@ {"shape":"WAFInvalidParameterException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Creates an IPSet, which you use to specify which web requests you want to allow or block based on the IP addresses that the requests originate from. For example, if you're receiving a lot of requests from one or more individual IP addresses or one or more ranges of IP addresses and you want to block the requests, you can create an IPSet that contains those IP addresses and then configure AWS WAF to block the requests.

To create and configure an IPSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateIPSet request.

  2. Submit a CreateIPSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  4. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Creates an IPSet, which you use to specify which web requests that you want to allow or block based on the IP addresses that the requests originate from. For example, if you're receiving a lot of requests from one or more individual IP addresses or one or more ranges of IP addresses and you want to block the requests, you can create an IPSet that contains those IP addresses and then configure AWS WAF to block the requests.

To create and configure an IPSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateIPSet request.

  2. Submit a CreateIPSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  4. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "CreateRateBasedRule":{ "name":"CreateRateBasedRule", @@ -82,7 +82,7 @@ {"shape":"WAFInvalidParameterException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Creates a RateBasedRule. The RateBasedRule contains a RateLimit, which specifies the maximum number of requests that AWS WAF allows from a specified IP address in a five-minute period. The RateBasedRule also contains the IPSet objects, ByteMatchSet objects, and other predicates that identify the requests that you want to count or block if these requests exceed the RateLimit.

If you add more than one predicate to a RateBasedRule, a request not only must exceed the RateLimit, but it also must match all the specifications to be counted or blocked. For example, suppose you add the following to a RateBasedRule:

  • An IPSet that matches the IP address 192.0.2.44/32

  • A ByteMatchSet that matches BadBot in the User-Agent header

Further, you specify a RateLimit of 15,000.

You then add the RateBasedRule to a WebACL and specify that you want to block requests that meet the conditions in the rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot. Further, requests that match these two conditions must be received at a rate of more than 15,000 requests every five minutes. If both conditions are met and the rate is exceeded, AWS WAF blocks the requests. If the rate drops below 15,000 for a five-minute period, AWS WAF no longer blocks the requests.

As a second example, suppose you want to limit requests to a particular page on your site. To do this, you could add the following to a RateBasedRule:

  • A ByteMatchSet with FieldToMatch of URI

  • A PositionalConstraint of STARTS_WITH

  • A TargetString of login

Further, you specify a RateLimit of 15,000.

By adding this RateBasedRule to a WebACL, you could limit requests to your login page without affecting the rest of your site.

To create and configure a RateBasedRule, perform the following steps:

  1. Create and update the predicates that you want to include in the rule. For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRule request.

  3. Submit a CreateRateBasedRule request.

  4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

  5. Submit an UpdateRateBasedRule request to specify the predicates that you want to include in the rule.

  6. Create and update a WebACL that contains the RateBasedRule. For more information, see CreateWebACL.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Creates a RateBasedRule. The RateBasedRule contains a RateLimit, which specifies the maximum number of requests that AWS WAF allows from a specified IP address in a five-minute period. The RateBasedRule also contains the IPSet objects, ByteMatchSet objects, and other predicates that identify the requests that you want to count or block if these requests exceed the RateLimit.

If you add more than one predicate to a RateBasedRule, a request not only must exceed the RateLimit, but it also must match all the specifications to be counted or blocked. For example, suppose you add the following to a RateBasedRule:

  • An IPSet that matches the IP address 192.0.2.44/32

  • A ByteMatchSet that matches BadBot in the User-Agent header

Further, you specify a RateLimit of 15,000.

You then add the RateBasedRule to a WebACL and specify that you want to block requests that meet the conditions in the rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot. Further, requests that match these two conditions must be received at a rate of more than 15,000 requests every five minutes. If both conditions are met and the rate is exceeded, AWS WAF blocks the requests. If the rate drops below 15,000 for a five-minute period, AWS WAF no longer blocks the requests.

As a second example, suppose you want to limit requests to a particular page on your site. To do this, you could add the following to a RateBasedRule:

  • A ByteMatchSet with FieldToMatch of URI

  • A PositionalConstraint of STARTS_WITH

  • A TargetString of login

Further, you specify a RateLimit of 15,000.

By adding this RateBasedRule to a WebACL, you could limit requests to your login page without affecting the rest of your site.

To create and configure a RateBasedRule, perform the following steps:

  1. Create and update the predicates that you want to include in the rule. For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRule request.

  3. Submit a CreateRateBasedRule request.

  4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

  5. Submit an UpdateRateBasedRule request to specify the predicates that you want to include in the rule.

  6. Create and update a WebACL that contains the RateBasedRule. For more information, see CreateWebACL.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "CreateRegexMatchSet":{ "name":"CreateRegexMatchSet", @@ -98,7 +98,7 @@ {"shape":"WAFDisallowedNameException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Creates a RegexMatchSet. You then use UpdateRegexMatchSet to identify the part of a web request that you want AWS WAF to inspect, such as the values of the User-Agent header or the query string. For example, you can create a RegexMatchSet that contains a RegexMatchTuple that looks for any requests with User-Agent headers that match a RegexPatternSet with pattern B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

To create and configure a RegexMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRegexMatchSet request.

  2. Submit a CreateRegexMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexMatchSet request.

  4. Submit an UpdateRegexMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value, using a RegexPatternSet, that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Creates a RegexMatchSet. You then use UpdateRegexMatchSet to identify the part of a web request that you want AWS WAF to inspect, such as the values of the User-Agent header or the query string. For example, you can create a RegexMatchSet that contains a RegexMatchTuple that looks for any requests with User-Agent headers that match a RegexPatternSet with pattern B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

To create and configure a RegexMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRegexMatchSet request.

  2. Submit a CreateRegexMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexMatchSet request.

  4. Submit an UpdateRegexMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value, using a RegexPatternSet, that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "CreateRegexPatternSet":{ "name":"CreateRegexPatternSet", @@ -114,7 +114,7 @@ {"shape":"WAFDisallowedNameException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Creates a RegexPatternSet. You then use UpdateRegexPatternSet to specify the regular expression (regex) pattern that you want AWS WAF to search for, such as B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

To create and configure a RegexPatternSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRegexPatternSet request.

  2. Submit a CreateRegexPatternSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexPatternSet request.

  4. Submit an UpdateRegexPatternSet request to specify the string that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Creates a RegexPatternSet. You then use UpdateRegexPatternSet to specify the regular expression (regex) pattern that you want AWS WAF to search for, such as B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

To create and configure a RegexPatternSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRegexPatternSet request.

  2. Submit a CreateRegexPatternSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexPatternSet request.

  4. Submit an UpdateRegexPatternSet request to specify the string that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "CreateRule":{ "name":"CreateRule", @@ -131,7 +131,7 @@ {"shape":"WAFInvalidParameterException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Creates a Rule, which contains the IPSet objects, ByteMatchSet objects, and other predicates that identify the requests that you want to block. If you add more than one predicate to a Rule, a request must match all of the specifications to be allowed or blocked. For example, suppose you add the following to a Rule:

  • An IPSet that matches the IP address 192.0.2.44/32

  • A ByteMatchSet that matches BadBot in the User-Agent header

You then add the Rule to a WebACL and specify that you want to blocks requests that satisfy the Rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot.

To create and configure a Rule, perform the following steps:

  1. Create and update the predicates that you want to include in the Rule. For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRule request.

  3. Submit a CreateRule request.

  4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

  5. Submit an UpdateRule request to specify the predicates that you want to include in the Rule.

  6. Create and update a WebACL that contains the Rule. For more information, see CreateWebACL.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Creates a Rule, which contains the IPSet objects, ByteMatchSet objects, and other predicates that identify the requests that you want to block. If you add more than one predicate to a Rule, a request must match all of the specifications to be allowed or blocked. For example, suppose that you add the following to a Rule:

  • An IPSet that matches the IP address 192.0.2.44/32

  • A ByteMatchSet that matches BadBot in the User-Agent header

You then add the Rule to a WebACL and specify that you want to blocks requests that satisfy the Rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot.

To create and configure a Rule, perform the following steps:

  1. Create and update the predicates that you want to include in the Rule. For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRule request.

  3. Submit a CreateRule request.

  4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

  5. Submit an UpdateRule request to specify the predicates that you want to include in the Rule.

  6. Create and update a WebACL that contains the Rule. For more information, see CreateWebACL.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "CreateRuleGroup":{ "name":"CreateRuleGroup", @@ -147,7 +147,7 @@ {"shape":"WAFDisallowedNameException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Creates a RuleGroup. A rule group is a collection of predefined rules that you add to a web ACL. You use UpdateRuleGroup to add rules to the rule group.

Rule groups are subject to the following limits:

  • Three rule groups per account. You can request an increase to this limit by contacting customer support.

  • One rule group per web ACL.

  • Ten rules per rule group.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Creates a RuleGroup. A rule group is a collection of predefined rules that you add to a web ACL. You use UpdateRuleGroup to add rules to the rule group.

Rule groups are subject to the following limits:

  • Three rule groups per account. You can request an increase to this limit by contacting customer support.

  • One rule group per web ACL.

  • Ten rules per rule group.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "CreateSizeConstraintSet":{ "name":"CreateSizeConstraintSet", @@ -165,7 +165,7 @@ {"shape":"WAFInvalidParameterException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Creates a SizeConstraintSet. You then use UpdateSizeConstraintSet to identify the part of a web request that you want AWS WAF to check for length, such as the length of the User-Agent header or the length of the query string. For example, you can create a SizeConstraintSet that matches any requests that have a query string that is longer than 100 bytes. You can then configure AWS WAF to reject those requests.

To create and configure a SizeConstraintSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateSizeConstraintSet request.

  2. Submit a CreateSizeConstraintSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request.

  4. Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Creates a SizeConstraintSet. You then use UpdateSizeConstraintSet to identify the part of a web request that you want AWS WAF to check for length, such as the length of the User-Agent header or the length of the query string. For example, you can create a SizeConstraintSet that matches any requests that have a query string that is longer than 100 bytes. You can then configure AWS WAF to reject those requests.

To create and configure a SizeConstraintSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateSizeConstraintSet request.

  2. Submit a CreateSizeConstraintSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request.

  4. Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "CreateSqlInjectionMatchSet":{ "name":"CreateSqlInjectionMatchSet", @@ -183,7 +183,7 @@ {"shape":"WAFStaleDataException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Creates a SqlInjectionMatchSet, which you use to allow, block, or count requests that contain snippets of SQL code in a specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.

To create and configure a SqlInjectionMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateSqlInjectionMatchSet request.

  2. Submit a CreateSqlInjectionMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSqlInjectionMatchSet request.

  4. Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests in which you want to allow, block, or count malicious SQL code.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Creates a SqlInjectionMatchSet, which you use to allow, block, or count requests that contain snippets of SQL code in a specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.

To create and configure a SqlInjectionMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateSqlInjectionMatchSet request.

  2. Submit a CreateSqlInjectionMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSqlInjectionMatchSet request.

  4. Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests in which you want to allow, block, or count malicious SQL code.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "CreateWebACL":{ "name":"CreateWebACL", @@ -201,7 +201,7 @@ {"shape":"WAFInvalidParameterException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Creates a WebACL, which contains the Rules that identify the CloudFront web requests that you want to allow, block, or count. AWS WAF evaluates Rules in order based on the value of Priority for each Rule.

You also specify a default action, either ALLOW or BLOCK. If a web request doesn't match any of the Rules in a WebACL, AWS WAF responds to the request with the default action.

To create and configure a WebACL, perform the following steps:

  1. Create and update the ByteMatchSet objects and other predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.

  2. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateWebACL request.

  4. Submit a CreateWebACL request.

  5. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request.

  6. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution.

For more information about how to use the AWS WAF API, see the AWS WAF Developer Guide.

" + "documentation":"

Creates a WebACL, which contains the Rules that identify the CloudFront web requests that you want to allow, block, or count. AWS WAF evaluates Rules in order based on the value of Priority for each Rule.

You also specify a default action, either ALLOW or BLOCK. If a web request doesn't match any of the Rules in a WebACL, AWS WAF responds to the request with the default action.

To create and configure a WebACL, perform the following steps:

  1. Create and update the ByteMatchSet objects and other predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.

  2. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateWebACL request.

  4. Submit a CreateWebACL request.

  5. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request.

  6. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution.

For more information about how to use the AWS WAF API, see the AWS WAF Developer Guide.

" }, "CreateXssMatchSet":{ "name":"CreateXssMatchSet", @@ -219,7 +219,7 @@ {"shape":"WAFStaleDataException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Creates an XssMatchSet, which you use to allow, block, or count requests that contain cross-site scripting attacks in the specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.

To create and configure an XssMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateXssMatchSet request.

  2. Submit a CreateXssMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateXssMatchSet request.

  4. Submit an UpdateXssMatchSet request to specify the parts of web requests in which you want to allow, block, or count cross-site scripting attacks.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Creates an XssMatchSet, which you use to allow, block, or count requests that contain cross-site scripting attacks in the specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.

To create and configure an XssMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateXssMatchSet request.

  2. Submit a CreateXssMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateXssMatchSet request.

  4. Submit an UpdateXssMatchSet request to specify the parts of web requests in which you want to allow, block, or count cross-site scripting attacks.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "DeleteByteMatchSet":{ "name":"DeleteByteMatchSet", @@ -507,7 +507,7 @@ {"shape":"WAFNonexistentItemException"}, {"shape":"WAFInternalErrorException"} ], - "documentation":"

Returns the status of a ChangeToken that you got by calling GetChangeToken. ChangeTokenStatus is one of the following values:

  • PROVISIONED: You requested the change token by calling GetChangeToken, but you haven't used it yet in a call to create, update, or delete an AWS WAF object.

  • PENDING: AWS WAF is propagating the create, update, or delete request to all AWS WAF servers.

  • IN_SYNC: Propagation is complete.

" + "documentation":"

Returns the status of a ChangeToken that you got by calling GetChangeToken. ChangeTokenStatus is one of the following values:

  • PROVISIONED: You requested the change token by calling GetChangeToken, but you haven't used it yet in a call to create, update, or delete an AWS WAF object.

  • PENDING: AWS WAF is propagating the create, update, or delete request to all AWS WAF servers.

  • INSYNC: Propagation is complete.

" }, "GetGeoMatchSet":{ "name":"GetGeoMatchSet", @@ -953,9 +953,10 @@ "errors":[ {"shape":"WAFInternalErrorException"}, {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFStaleDataException"} + {"shape":"WAFStaleDataException"}, + {"shape":"WAFServiceLinkedRoleErrorException"} ], - "documentation":"

Associates a LoggingConfiguration with a specified web ACL.

You can access information about all traffic that AWS WAF inspects using the following steps:

  1. Create an Amazon Kinesis Data Firehose delivery stream. For more information, see Creating an Amazon Kinesis Data Firehose Delivery Stream.

  2. Associate that delivery stream to your web ACL using a PutLoggingConfiguration request.

When you successfully enable logging using a PutLoggingConfiguration request, AWS WAF will create a service linked role with the necessary permissions to write logs to the Amazon Kinesis Data Firehose delivery stream. For more information, see Logging Web ACL Traffic Information in the AWS WAF Developer Guide.

" + "documentation":"

Associates a LoggingConfiguration with a specified web ACL.

You can access information about all traffic that AWS WAF inspects using the following steps:

  1. Create an Amazon Kinesis Data Firehose .

    Create the data firehose with a PUT source and in the region that you are operating. However, if you are capturing logs for Amazon CloudFront, always create the firehose in US East (N. Virginia).

    Do not create the data firehose using a Kinesis stream as your source.

  2. Associate that firehose to your web ACL using a PutLoggingConfiguration request.

When you successfully enable logging using a PutLoggingConfiguration request, AWS WAF will create a service linked role with the necessary permissions to write logs to the Amazon Kinesis Data Firehose. For more information, see Logging Web ACL Traffic Information in the AWS WAF Developer Guide.

" }, "PutPermissionPolicy":{ "name":"PutPermissionPolicy", @@ -991,7 +992,7 @@ {"shape":"WAFStaleDataException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Inserts or deletes ByteMatchTuple objects (filters) in a ByteMatchSet. For each ByteMatchTuple object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change a ByteMatchSetUpdate object, you delete the existing object and add a new one.

  • The part of a web request that you want AWS WAF to inspect, such as a query string or the value of the User-Agent header.

  • The bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to look for. For more information, including how you specify the values for the AWS WAF API and the AWS CLI or SDKs, see TargetString in the ByteMatchTuple data type.

  • Where to look, such as at the beginning or the end of a query string.

  • Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.

For example, you can add a ByteMatchSetUpdate object that matches web requests in which User-Agent headers contain the string BadBot. You can then configure AWS WAF to block those requests.

To create and configure a ByteMatchSet, perform the following steps:

  1. Create a ByteMatchSet. For more information, see CreateByteMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request.

  3. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Inserts or deletes ByteMatchTuple objects (filters) in a ByteMatchSet. For each ByteMatchTuple object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change a ByteMatchSetUpdate object, you delete the existing object and add a new one.

  • The part of a web request that you want AWS WAF to inspect, such as a query string or the value of the User-Agent header.

  • The bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to look for. For more information, including how you specify the values for the AWS WAF API and the AWS CLI or SDKs, see TargetString in the ByteMatchTuple data type.

  • Where to look, such as at the beginning or the end of a query string.

  • Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.

For example, you can add a ByteMatchSetUpdate object that matches web requests in which User-Agent headers contain the string BadBot. You can then configure AWS WAF to block those requests.

To create and configure a ByteMatchSet, perform the following steps:

  1. Create a ByteMatchSet. For more information, see CreateByteMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request.

  3. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "UpdateGeoMatchSet":{ "name":"UpdateGeoMatchSet", @@ -1012,7 +1013,7 @@ {"shape":"WAFReferencedItemException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Inserts or deletes GeoMatchConstraint objects in an GeoMatchSet. For each GeoMatchConstraint object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change an GeoMatchConstraint object, you delete the existing object and add a new one.

  • The Type. The only valid value for Type is Country.

  • The Value, which is a two character code for the country to add to the GeoMatchConstraint object. Valid codes are listed in GeoMatchConstraint$Value.

To create and configure an GeoMatchSet, perform the following steps:

  1. Submit a CreateGeoMatchSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateGeoMatchSet request.

  3. Submit an UpdateGeoMatchSet request to specify the country that you want AWS WAF to watch for.

When you update an GeoMatchSet, you specify the country that you want to add and/or the country that you want to delete. If you want to change a country, you delete the existing country and add the new one.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Inserts or deletes GeoMatchConstraint objects in an GeoMatchSet. For each GeoMatchConstraint object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change an GeoMatchConstraint object, you delete the existing object and add a new one.

  • The Type. The only valid value for Type is Country.

  • The Value, which is a two character code for the country to add to the GeoMatchConstraint object. Valid codes are listed in GeoMatchConstraint$Value.

To create and configure an GeoMatchSet, perform the following steps:

  1. Submit a CreateGeoMatchSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateGeoMatchSet request.

  3. Submit an UpdateGeoMatchSet request to specify the country that you want AWS WAF to watch for.

When you update an GeoMatchSet, you specify the country that you want to add and/or the country that you want to delete. If you want to change a country, you delete the existing country and add the new one.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "UpdateIPSet":{ "name":"UpdateIPSet", @@ -1033,7 +1034,7 @@ {"shape":"WAFReferencedItemException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Inserts or deletes IPSetDescriptor objects in an IPSet. For each IPSetDescriptor object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change an IPSetDescriptor object, you delete the existing object and add a new one.

  • The IP address version, IPv4 or IPv6.

  • The IP address in CIDR notation, for example, 192.0.2.0/24 (for the range of IP addresses from 192.0.2.0 to 192.0.2.255) or 192.0.2.44/32 (for the individual IP address 192.0.2.44).

AWS WAF supports IPv4 address ranges: /8 and any range between /16 through /32. AWS WAF supports IPv6 address ranges: /16, /24, /32, /48, /56, /64, and /128. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

IPv6 addresses can be represented using any of the following formats:

  • 1111:0000:0000:0000:0000:0000:0000:0111/128

  • 1111:0:0:0:0:0:0:0111/128

  • 1111::0111/128

  • 1111::111/128

You use an IPSet to specify which web requests you want to allow or block based on the IP addresses that the requests originated from. For example, if you're receiving a lot of requests from one or a small number of IP addresses and you want to block the requests, you can create an IPSet that specifies those IP addresses, and then configure AWS WAF to block the requests.

To create and configure an IPSet, perform the following steps:

  1. Submit a CreateIPSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  3. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for.

When you update an IPSet, you specify the IP addresses that you want to add and/or the IP addresses that you want to delete. If you want to change an IP address, you delete the existing IP address and add the new one.

You can insert a maximum of 1000 addresses in a single request.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Inserts or deletes IPSetDescriptor objects in an IPSet. For each IPSetDescriptor object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change an IPSetDescriptor object, you delete the existing object and add a new one.

  • The IP address version, IPv4 or IPv6.

  • The IP address in CIDR notation, for example, 192.0.2.0/24 (for the range of IP addresses from 192.0.2.0 to 192.0.2.255) or 192.0.2.44/32 (for the individual IP address 192.0.2.44).

AWS WAF supports IPv4 address ranges: /8 and any range between /16 through /32. AWS WAF supports IPv6 address ranges: /24, /32, /48, /56, /64, and /128. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

IPv6 addresses can be represented using any of the following formats:

  • 1111:0000:0000:0000:0000:0000:0000:0111/128

  • 1111:0:0:0:0:0:0:0111/128

  • 1111::0111/128

  • 1111::111/128

You use an IPSet to specify which web requests you want to allow or block based on the IP addresses that the requests originated from. For example, if you're receiving a lot of requests from one or a small number of IP addresses and you want to block the requests, you can create an IPSet that specifies those IP addresses, and then configure AWS WAF to block the requests.

To create and configure an IPSet, perform the following steps:

  1. Submit a CreateIPSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  3. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for.

When you update an IPSet, you specify the IP addresses that you want to add and/or the IP addresses that you want to delete. If you want to change an IP address, you delete the existing IP address and add the new one.

You can insert a maximum of 1000 addresses in a single request.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "UpdateRateBasedRule":{ "name":"UpdateRateBasedRule", @@ -1074,7 +1075,7 @@ {"shape":"WAFInvalidOperationException"}, {"shape":"WAFInvalidAccountException"} ], - "documentation":"

Inserts or deletes RegexMatchTuple objects (filters) in a RegexMatchSet. For each RegexMatchSetUpdate object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change a RegexMatchSetUpdate object, you delete the existing object and add a new one.

  • The part of a web request that you want AWS WAF to inspectupdate, such as a query string or the value of the User-Agent header.

  • The identifier of the pattern (a regular expression) that you want AWS WAF to look for. For more information, see RegexPatternSet.

  • Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.

For example, you can create a RegexPatternSet that matches any requests with User-Agent headers that contain the string B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

To create and configure a RegexMatchSet, perform the following steps:

  1. Create a RegexMatchSet. For more information, see CreateRegexMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexMatchSet request.

  3. Submit an UpdateRegexMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the identifier of the RegexPatternSet that contain the regular expression patters you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Inserts or deletes RegexMatchTuple objects (filters) in a RegexMatchSet. For each RegexMatchSetUpdate object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change a RegexMatchSetUpdate object, you delete the existing object and add a new one.

  • The part of a web request that you want AWS WAF to inspectupdate, such as a query string or the value of the User-Agent header.

  • The identifier of the pattern (a regular expression) that you want AWS WAF to look for. For more information, see RegexPatternSet.

  • Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.

For example, you can create a RegexPatternSet that matches any requests with User-Agent headers that contain the string B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

To create and configure a RegexMatchSet, perform the following steps:

  1. Create a RegexMatchSet. For more information, see CreateRegexMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexMatchSet request.

  3. Submit an UpdateRegexMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the identifier of the RegexPatternSet that contain the regular expression patters you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "UpdateRegexPatternSet":{ "name":"UpdateRegexPatternSet", @@ -1094,7 +1095,7 @@ {"shape":"WAFInvalidAccountException"}, {"shape":"WAFInvalidRegexPatternException"} ], - "documentation":"

Inserts or deletes RegexPatternString objects in a RegexPatternSet. For each RegexPatternString object, you specify the following values:

  • Whether to insert or delete the RegexPatternString.

  • The regular expression pattern that you want to insert or delete. For more information, see RegexPatternSet.

For example, you can create a RegexPatternString such as B[a@]dB[o0]t. AWS WAF will match this RegexPatternString to:

  • BadBot

  • BadB0t

  • B@dBot

  • B@dB0t

To create and configure a RegexPatternSet, perform the following steps:

  1. Create a RegexPatternSet. For more information, see CreateRegexPatternSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexPatternSet request.

  3. Submit an UpdateRegexPatternSet request to specify the regular expression pattern that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Inserts or deletes RegexPatternString objects in a RegexPatternSet. For each RegexPatternString object, you specify the following values:

  • Whether to insert or delete the RegexPatternString.

  • The regular expression pattern that you want to insert or delete. For more information, see RegexPatternSet.

For example, you can create a RegexPatternString such as B[a@]dB[o0]t. AWS WAF will match this RegexPatternString to:

  • BadBot

  • BadB0t

  • B@dBot

  • B@dB0t

To create and configure a RegexPatternSet, perform the following steps:

  1. Create a RegexPatternSet. For more information, see CreateRegexPatternSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexPatternSet request.

  3. Submit an UpdateRegexPatternSet request to specify the regular expression pattern that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "UpdateRule":{ "name":"UpdateRule", @@ -1115,7 +1116,7 @@ {"shape":"WAFReferencedItemException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Inserts or deletes Predicate objects in a Rule. Each Predicate object identifies a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests that you want to allow, block, or count. If you add more than one predicate to a Rule, a request must match all of the specifications to be allowed, blocked, or counted. For example, suppose you add the following to a Rule:

  • A ByteMatchSet that matches the value BadBot in the User-Agent header

  • An IPSet that matches the IP address 192.0.2.44

You then add the Rule to a WebACL and specify that you want to block requests that satisfy the Rule. For a request to be blocked, the User-Agent header in the request must contain the value BadBot and the request must originate from the IP address 192.0.2.44.

To create and configure a Rule, perform the following steps:

  1. Create and update the predicates that you want to include in the Rule.

  2. Create the Rule. See CreateRule.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

  4. Submit an UpdateRule request to add predicates to the Rule.

  5. Create and update a WebACL that contains the Rule. See CreateWebACL.

If you want to replace one ByteMatchSet or IPSet with another, you delete the existing one and add the new one.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Inserts or deletes Predicate objects in a Rule. Each Predicate object identifies a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests that you want to allow, block, or count. If you add more than one predicate to a Rule, a request must match all of the specifications to be allowed, blocked, or counted. For example, suppose that you add the following to a Rule:

  • A ByteMatchSet that matches the value BadBot in the User-Agent header

  • An IPSet that matches the IP address 192.0.2.44

You then add the Rule to a WebACL and specify that you want to block requests that satisfy the Rule. For a request to be blocked, the User-Agent header in the request must contain the value BadBot and the request must originate from the IP address 192.0.2.44.

To create and configure a Rule, perform the following steps:

  1. Create and update the predicates that you want to include in the Rule.

  2. Create the Rule. See CreateRule.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

  4. Submit an UpdateRule request to add predicates to the Rule.

  5. Create and update a WebACL that contains the Rule. See CreateWebACL.

If you want to replace one ByteMatchSet or IPSet with another, you delete the existing one and add the new one.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "UpdateRuleGroup":{ "name":"UpdateRuleGroup", @@ -1134,7 +1135,7 @@ {"shape":"WAFLimitsExceededException"}, {"shape":"WAFInvalidParameterException"} ], - "documentation":"

Inserts or deletes ActivatedRule objects in a RuleGroup.

You can only insert REGULAR rules into a rule group.

You can have a maximum of ten rules per rule group.

To create and configure a RuleGroup, perform the following steps:

  1. Create and update the Rules that you want to include in the RuleGroup. See CreateRule.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRuleGroup request.

  3. Submit an UpdateRuleGroup request to add Rules to the RuleGroup.

  4. Create and update a WebACL that contains the RuleGroup. See CreateWebACL.

If you want to replace one Rule with another, you delete the existing one and add the new one.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Inserts or deletes ActivatedRule objects in a RuleGroup.

You can only insert REGULAR rules into a rule group.

You can have a maximum of ten rules per rule group.

To create and configure a RuleGroup, perform the following steps:

  1. Create and update the Rules that you want to include in the RuleGroup. See CreateRule.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRuleGroup request.

  3. Submit an UpdateRuleGroup request to add Rules to the RuleGroup.

  4. Create and update a WebACL that contains the RuleGroup. See CreateWebACL.

If you want to replace one Rule with another, you delete the existing one and add the new one.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "UpdateSizeConstraintSet":{ "name":"UpdateSizeConstraintSet", @@ -1155,7 +1156,7 @@ {"shape":"WAFReferencedItemException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Inserts or deletes SizeConstraint objects (filters) in a SizeConstraintSet. For each SizeConstraint object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change a SizeConstraintSetUpdate object, you delete the existing object and add a new one.

  • The part of a web request that you want AWS WAF to evaluate, such as the length of a query string or the length of the User-Agent header.

  • Whether to perform any transformations on the request, such as converting it to lowercase, before checking its length. Note that transformations of the request body are not supported because the AWS resource forwards only the first 8192 bytes of your request to AWS WAF.

    You can only specify a single type of TextTransformation.

  • A ComparisonOperator used for evaluating the selected part of the request against the specified Size, such as equals, greater than, less than, and so on.

  • The length, in bytes, that you want AWS WAF to watch for in selected part of the request. The length is computed after applying the transformation.

For example, you can add a SizeConstraintSetUpdate object that matches web requests in which the length of the User-Agent header is greater than 100 bytes. You can then configure AWS WAF to block those requests.

To create and configure a SizeConstraintSet, perform the following steps:

  1. Create a SizeConstraintSet. For more information, see CreateSizeConstraintSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request.

  3. Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Inserts or deletes SizeConstraint objects (filters) in a SizeConstraintSet. For each SizeConstraint object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change a SizeConstraintSetUpdate object, you delete the existing object and add a new one.

  • The part of a web request that you want AWS WAF to evaluate, such as the length of a query string or the length of the User-Agent header.

  • Whether to perform any transformations on the request, such as converting it to lowercase, before checking its length. Note that transformations of the request body are not supported because the AWS resource forwards only the first 8192 bytes of your request to AWS WAF.

    You can only specify a single type of TextTransformation.

  • A ComparisonOperator used for evaluating the selected part of the request against the specified Size, such as equals, greater than, less than, and so on.

  • The length, in bytes, that you want AWS WAF to watch for in selected part of the request. The length is computed after applying the transformation.

For example, you can add a SizeConstraintSetUpdate object that matches web requests in which the length of the User-Agent header is greater than 100 bytes. You can then configure AWS WAF to block those requests.

To create and configure a SizeConstraintSet, perform the following steps:

  1. Create a SizeConstraintSet. For more information, see CreateSizeConstraintSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request.

  3. Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "UpdateSqlInjectionMatchSet":{ "name":"UpdateSqlInjectionMatchSet", @@ -1175,7 +1176,7 @@ {"shape":"WAFStaleDataException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Inserts or deletes SqlInjectionMatchTuple objects (filters) in a SqlInjectionMatchSet. For each SqlInjectionMatchTuple object, you specify the following values:

  • Action: Whether to insert the object into or delete the object from the array. To change a SqlInjectionMatchTuple, you delete the existing object and add a new one.

  • FieldToMatch: The part of web requests that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header or custom query parameter, the name of the header or parameter.

  • TextTransformation: Which text transformation, if any, to perform on the web request before inspecting the request for snippets of malicious SQL code.

    You can only specify a single type of TextTransformation.

You use SqlInjectionMatchSet objects to specify which CloudFront requests you want to allow, block, or count. For example, if you're receiving requests that contain snippets of SQL code in the query string and you want to block the requests, you can create a SqlInjectionMatchSet with the applicable settings, and then configure AWS WAF to block the requests.

To create and configure a SqlInjectionMatchSet, perform the following steps:

  1. Submit a CreateSqlInjectionMatchSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  3. Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests that you want AWS WAF to inspect for snippets of SQL code.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Inserts or deletes SqlInjectionMatchTuple objects (filters) in a SqlInjectionMatchSet. For each SqlInjectionMatchTuple object, you specify the following values:

  • Action: Whether to insert the object into or delete the object from the array. To change a SqlInjectionMatchTuple, you delete the existing object and add a new one.

  • FieldToMatch: The part of web requests that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header or custom query parameter, the name of the header or parameter.

  • TextTransformation: Which text transformation, if any, to perform on the web request before inspecting the request for snippets of malicious SQL code.

    You can only specify a single type of TextTransformation.

You use SqlInjectionMatchSet objects to specify which CloudFront requests that you want to allow, block, or count. For example, if you're receiving requests that contain snippets of SQL code in the query string and you want to block the requests, you can create a SqlInjectionMatchSet with the applicable settings, and then configure AWS WAF to block the requests.

To create and configure a SqlInjectionMatchSet, perform the following steps:

  1. Submit a CreateSqlInjectionMatchSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  3. Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests that you want AWS WAF to inspect for snippets of SQL code.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "UpdateWebACL":{ "name":"UpdateWebACL", @@ -1197,7 +1198,7 @@ {"shape":"WAFLimitsExceededException"}, {"shape":"WAFSubscriptionNotFoundException"} ], - "documentation":"

Inserts or deletes ActivatedRule objects in a WebACL. Each Rule identifies web requests that you want to allow, block, or count. When you update a WebACL, you specify the following values:

  • A default action for the WebACL, either ALLOW or BLOCK. AWS WAF performs the default action if a request doesn't match the criteria in any of the Rules in a WebACL.

  • The Rules that you want to add and/or delete. If you want to replace one Rule with another, you delete the existing Rule and add the new one.

  • For each Rule, whether you want AWS WAF to allow requests, block requests, or count requests that match the conditions in the Rule.

  • The order in which you want AWS WAF to evaluate the Rules in a WebACL. If you add more than one Rule to a WebACL, AWS WAF evaluates each request against the Rules in order based on the value of Priority. (The Rule that has the lowest value for Priority is evaluated first.) When a web request matches all of the predicates (such as ByteMatchSets and IPSets) in a Rule, AWS WAF immediately takes the corresponding action, allow or block, and doesn't evaluate the request against the remaining Rules in the WebACL, if any.

To create and configure a WebACL, perform the following steps:

  1. Create and update the predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.

  2. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule.

  3. Create a WebACL. See CreateWebACL.

  4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request.

  5. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution.

Be aware that if you try to add a RATE_BASED rule to a web ACL without setting the rule type when first creating the rule, the UpdateWebACL request will fail because the request tries to add a REGULAR rule (the default rule type) with the specified ID, which does not exist.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Inserts or deletes ActivatedRule objects in a WebACL. Each Rule identifies web requests that you want to allow, block, or count. When you update a WebACL, you specify the following values:

  • A default action for the WebACL, either ALLOW or BLOCK. AWS WAF performs the default action if a request doesn't match the criteria in any of the Rules in a WebACL.

  • The Rules that you want to add or delete. If you want to replace one Rule with another, you delete the existing Rule and add the new one.

  • For each Rule, whether you want AWS WAF to allow requests, block requests, or count requests that match the conditions in the Rule.

  • The order in which you want AWS WAF to evaluate the Rules in a WebACL. If you add more than one Rule to a WebACL, AWS WAF evaluates each request against the Rules in order based on the value of Priority. (The Rule that has the lowest value for Priority is evaluated first.) When a web request matches all the predicates (such as ByteMatchSets and IPSets) in a Rule, AWS WAF immediately takes the corresponding action, allow or block, and doesn't evaluate the request against the remaining Rules in the WebACL, if any.

To create and configure a WebACL, perform the following steps:

  1. Create and update the predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.

  2. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule.

  3. Create a WebACL. See CreateWebACL.

  4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request.

  5. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution.

    The ActivatedRule can be a rule group. If you specify a rule group as your ActivatedRule, you can exclude specific rules from that rule group.

    If you already have a rule group associated with a web ACL and want to submit an UpdateWebACL request to exclude certain rules from that rule group, you must first remove the rule group from the web ACL, the re-insert it again, specifying the excluded rules. For details, see ActivatedRule$ExcludedRules.

Be aware that if you try to add a RATE_BASED rule to a web ACL without setting the rule type when first creating the rule, the UpdateWebACL request will fail because the request tries to add a REGULAR rule (the default rule type) with the specified ID, which does not exist.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "UpdateXssMatchSet":{ "name":"UpdateXssMatchSet", @@ -1217,7 +1218,7 @@ {"shape":"WAFStaleDataException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Inserts or deletes XssMatchTuple objects (filters) in an XssMatchSet. For each XssMatchTuple object, you specify the following values:

  • Action: Whether to insert the object into or delete the object from the array. To change a XssMatchTuple, you delete the existing object and add a new one.

  • FieldToMatch: The part of web requests that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header or custom query parameter, the name of the header or parameter.

  • TextTransformation: Which text transformation, if any, to perform on the web request before inspecting the request for cross-site scripting attacks.

    You can only specify a single type of TextTransformation.

You use XssMatchSet objects to specify which CloudFront requests you want to allow, block, or count. For example, if you're receiving requests that contain cross-site scripting attacks in the request body and you want to block the requests, you can create an XssMatchSet with the applicable settings, and then configure AWS WAF to block the requests.

To create and configure an XssMatchSet, perform the following steps:

  1. Submit a CreateXssMatchSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  3. Submit an UpdateXssMatchSet request to specify the parts of web requests that you want AWS WAF to inspect for cross-site scripting attacks.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Inserts or deletes XssMatchTuple objects (filters) in an XssMatchSet. For each XssMatchTuple object, you specify the following values:

  • Action: Whether to insert the object into or delete the object from the array. To change an XssMatchTuple, you delete the existing object and add a new one.

  • FieldToMatch: The part of web requests that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header or custom query parameter, the name of the header or parameter.

  • TextTransformation: Which text transformation, if any, to perform on the web request before inspecting the request for cross-site scripting attacks.

    You can only specify a single type of TextTransformation.

You use XssMatchSet objects to specify which CloudFront requests that you want to allow, block, or count. For example, if you're receiving requests that contain cross-site scripting attacks in the request body and you want to block the requests, you can create an XssMatchSet with the applicable settings, and then configure AWS WAF to block the requests.

To create and configure an XssMatchSet, perform the following steps:

  1. Submit a CreateXssMatchSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  3. Submit an UpdateXssMatchSet request to specify the parts of web requests that you want AWS WAF to inspect for cross-site scripting attacks.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" } }, "shapes":{ @@ -1239,7 +1240,7 @@ }, "Action":{ "shape":"WafAction", - "documentation":"

Specifies the action that CloudFront or AWS WAF takes when a web request matches the conditions in the Rule. Valid values for Action include the following:

  • ALLOW: CloudFront responds with the requested object.

  • BLOCK: CloudFront responds with an HTTP 403 (Forbidden) status code.

  • COUNT: AWS WAF increments a counter of requests that match the conditions in the rule and then continues to inspect the web request based on the remaining rules in the web ACL.

ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.

" + "documentation":"

Specifies the action that CloudFront or AWS WAF takes when a web request matches the conditions in the Rule. Valid values for Action include the following:

  • ALLOW: CloudFront responds with the requested object.

  • BLOCK: CloudFront responds with an HTTP 403 (Forbidden) status code.

  • COUNT: AWS WAF increments a counter of requests that match the conditions in the rule and then continues to inspect the web request based on the remaining rules in the web ACL.

ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case, you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.

" }, "OverrideAction":{ "shape":"WafOverrideAction", @@ -1248,6 +1249,10 @@ "Type":{ "shape":"WafRuleType", "documentation":"

The rule type, either REGULAR, as defined by Rule, RATE_BASED, as defined by RateBasedRule, or GROUP, as defined by RuleGroup. The default is REGULAR. Although this field is optional, be aware that if you try to add a RATE_BASED rule to a web ACL without setting the type, the UpdateWebACL request will fail because the request tries to add a REGULAR rule with the specified ID, which does not exist.

" + }, + "ExcludedRules":{ + "shape":"ExcludedRules", + "documentation":"

An array of rules to exclude from a rule group. This is applicable only when the ActivatedRule refers to a RuleGroup.

Sometimes it is necessary to troubleshoot rule groups that are blocking traffic unexpectedly (false positives). One troubleshooting technique is to identify the specific rule within the rule group that is blocking the legitimate traffic and then disable (exclude) that particular rule. You can exclude rules from both your own rule groups and AWS Marketplace rule groups that have been associated with a web ACL.

Specifying ExcludedRules does not remove those rules from the rule group. Rather, it changes the action for the rules to COUNT. Therefore, requests that match an ExcludedRule are counted but not blocked. The RuleGroup owner will receive COUNT metrics for each ExcludedRule.

If you want to exclude rules from a rule group that is already associated with a web ACL, perform the following steps:

  1. Use the AWS WAF logs to identify the IDs of the rules that you want to exclude. For more information about the logs, see Logging Web ACL Traffic Information.

  2. Submit an UpdateWebACL request that has two actions:

    • The first action deletes the existing rule group from the web ACL. That is, in the UpdateWebACL request, the first Updates:Action should be DELETE and Updates:ActivatedRule:RuleId should be the rule group that contains the rules that you want to exclude.

    • The second action inserts the same rule group back in, but specifying the rules to exclude. That is, the second Updates:Action should be INSERT, Updates:ActivatedRule:RuleId should be the rule group that you just removed, and ExcludedRules should contain the rules that you want to exclude.

" } }, "documentation":"

The ActivatedRule object in an UpdateWebACL request specifies a Rule that you want to insert or delete, the priority of the Rule in the WebACL, and the action that you want AWS WAF to take when a web request matches the Rule (ALLOW, BLOCK, or COUNT).

To specify whether to insert or delete a Rule, use the Action parameter in the WebACLUpdate data type.

" @@ -1339,7 +1344,7 @@ }, "TargetString":{ "shape":"ByteMatchTargetString", - "documentation":"

The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you specified in FieldToMatch. The maximum length of the value is 50 bytes.

Valid values depend on the values that you specified for FieldToMatch:

  • HEADER: The value that you want AWS WAF to search for in the request header that you specified in FieldToMatch, for example, the value of the User-Agent or Referer header.

  • METHOD: The HTTP method, which indicates the type of operation specified in the request. CloudFront supports the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT.

  • QUERY_STRING: The value that you want AWS WAF to search for in the query string, which is the part of a URL that appears after a ? character.

  • URI: The value that you want AWS WAF to search for in the part of a URL that identifies a resource, for example, /images/daily-ad.jpg.

  • BODY: The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first 8192 bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet.

  • SINGLE_QUERY_ARG: The parameter in the query string that you will inspect, such as UserName or SalesRegion. The maximum length for SINGLE_QUERY_ARG is 30 characters.

  • ALL_QUERY_ARGS: Similar to SINGLE_QUERY_ARG, but instead of inspecting a single parameter, AWS WAF inspects all parameters within the query string for the value or regex pattern that you specify in TargetString.

If TargetString includes alphabetic characters A-Z and a-z, note that the value is case sensitive.

If you're using the AWS WAF API

Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes.

For example, suppose the value of Type is HEADER and the value of Data is User-Agent. If you want to search the User-Agent header for the value BadBot, you base64-encode BadBot using MIME base64 encoding and include the resulting value, QmFkQm90, in the value of TargetString.

If you're using the AWS CLI or one of the AWS SDKs

The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value.

" + "documentation":"

The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you specified in FieldToMatch. The maximum length of the value is 50 bytes.

Valid values depend on the values that you specified for FieldToMatch:

  • HEADER: The value that you want AWS WAF to search for in the request header that you specified in FieldToMatch, for example, the value of the User-Agent or Referer header.

  • METHOD: The HTTP method, which indicates the type of operation specified in the request. CloudFront supports the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT.

  • QUERY_STRING: The value that you want AWS WAF to search for in the query string, which is the part of a URL that appears after a ? character.

  • URI: The value that you want AWS WAF to search for in the part of a URL that identifies a resource, for example, /images/daily-ad.jpg.

  • BODY: The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first 8192 bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet.

  • SINGLE_QUERY_ARG: The parameter in the query string that you will inspect, such as UserName or SalesRegion. The maximum length for SINGLE_QUERY_ARG is 30 characters.

  • ALL_QUERY_ARGS: Similar to SINGLE_QUERY_ARG, but instead of inspecting a single parameter, AWS WAF inspects all parameters within the query string for the value or regex pattern that you specify in TargetString.

If TargetString includes alphabetic characters A-Z and a-z, note that the value is case sensitive.

If you're using the AWS WAF API

Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes.

For example, suppose the value of Type is HEADER and the value of Data is User-Agent. If you want to search the User-Agent header for the value BadBot, you base64-encode BadBot using MIME base64-encoding and include the resulting value, QmFkQm90, in the value of TargetString.

If you're using the AWS CLI or one of the AWS SDKs

The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value.

" }, "TextTransformation":{ "shape":"TextTransformation", @@ -1493,7 +1498,7 @@ }, "MetricName":{ "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this RateBasedRule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the RateBasedRule.

" + "documentation":"

A friendly name or description for the metrics for this RateBasedRule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the RateBasedRule.

" }, "RateKey":{ "shape":"RateKey", @@ -1596,7 +1601,7 @@ }, "MetricName":{ "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the RuleGroup.

" + "documentation":"

A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the RuleGroup.

" }, "ChangeToken":{ "shape":"ChangeToken", @@ -1631,7 +1636,7 @@ }, "MetricName":{ "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the Rule.

" + "documentation":"

A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the Rule.

" }, "ChangeToken":{ "shape":"ChangeToken", @@ -1729,7 +1734,7 @@ }, "MetricName":{ "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this WebACL. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change MetricName after you create the WebACL.

" + "documentation":"

A friendly name or description for the metrics for this WebACL.The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change MetricName after you create the WebACL.

" }, "DefaultAction":{ "shape":"WafAction", @@ -2132,6 +2137,21 @@ }, "documentation":"

The response to a request to delete an XssMatchSet from AWS WAF.

" }, + "ExcludedRule":{ + "type":"structure", + "required":["RuleId"], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

The unique identifier for the rule to exclude from the rule group.

" + } + }, + "documentation":"

The rule to exclude from a rule group. This is applicable only when the ActivatedRule refers to a RuleGroup. The rule must belong to the RuleGroup that is specified by the ActivatedRule.

" + }, + "ExcludedRules":{ + "type":"list", + "member":{"shape":"ExcludedRule"} + }, "FieldToMatch":{ "type":"structure", "required":["Type"], @@ -2945,7 +2965,7 @@ "documentation":"

The IP address type (IPV4 or IPV6) and the IP address range (in CIDR notation) that web requests originate from. If the WebACL is associated with a CloudFront distribution and the viewer did not use an HTTP proxy or a load balancer to send the request, this is the value of the c-ip field in the CloudFront access logs.

" } }, - "documentation":"

Contains one or more IP addresses or blocks of IP addresses specified in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports IPv4 address ranges: /8 and any range between /16 through /32. AWS WAF supports IPv6 address ranges: /16, /24, /32, /48, /56, /64, and /128.

To specify an individual IP address, you specify the four-part IP address followed by a /32, for example, 192.0.2.0/31. To block a range of IP addresses, you can specify /8 or any range between /16 through /32 (for IPv4) or /16, /24, /32, /48, /56, /64, or /128 (for IPv6). For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

" + "documentation":"

Contains one or more IP addresses or blocks of IP addresses specified in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports IPv4 address ranges: /8 and any range between /16 through /32. AWS WAF supports IPv6 address ranges: /24, /32, /48, /56, /64, and /128.

To specify an individual IP address, you specify the four-part IP address followed by a /32, for example, 192.0.2.0/31. To block a range of IP addresses, you can specify /8 or any range between /16 through /32 (for IPv4) or /24, /32, /48, /56, /64, or /128 (for IPv6). For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

" }, "IPSetDescriptor":{ "type":"structure", @@ -3440,14 +3460,14 @@ }, "LogDestinationConfigs":{ "shape":"LogDestinationConfigs", - "documentation":"

An array of Amazon Kinesis Data Firehose delivery stream ARNs.

" + "documentation":"

An array of Amazon Kinesis Data Firehose ARNs.

" }, "RedactedFields":{ "shape":"RedactedFields", - "documentation":"

The parts of the request that you want redacted from the logs. For example, if you redact the cookie field, the cookie field in the delivery stream will be xxx.

" + "documentation":"

The parts of the request that you want redacted from the logs. For example, if you redact the cookie field, the cookie field in the firehose will be xxx.

" } }, - "documentation":"

The Amazon Kinesis Data Firehose delivery streams, RedactedFields information, and the web ACL Amazon Resource Name (ARN).

" + "documentation":"

The Amazon Kinesis Data Firehose, RedactedFields information, and the web ACL Amazon Resource Name (ARN).

" }, "LoggingConfigurations":{ "type":"list", @@ -3499,7 +3519,8 @@ "GEO_MATCH_LOCATION_VALUE", "RATE_KEY", "RULE_TYPE", - "NEXT_MARKER" + "NEXT_MARKER", + "RESOURCE_ARN" ] }, "ParameterExceptionParameter":{ @@ -3510,7 +3531,8 @@ "type":"string", "enum":[ "INVALID_OPTION", - "ILLEGAL_COMBINATION" + "ILLEGAL_COMBINATION", + "ILLEGAL_ARGUMENT" ] }, "PolicyString":{ @@ -3573,7 +3595,7 @@ "members":{ "LoggingConfiguration":{ "shape":"LoggingConfiguration", - "documentation":"

The Amazon Kinesis Data Firehose delivery streams that contains the inspected traffic information, the redacted fields details, and the Amazon Resource Name (ARN) of the web ACL to monitor.

" + "documentation":"

The Amazon Kinesis Data Firehose that contains the inspected traffic information, the redacted fields details, and the Amazon Resource Name (ARN) of the web ACL to monitor.

" } } }, @@ -3627,7 +3649,7 @@ }, "MetricName":{ "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for a RateBasedRule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the RateBasedRule.

" + "documentation":"

A friendly name or description for the metrics for a RateBasedRule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the RateBasedRule.

" }, "MatchPredicates":{ "shape":"Predicates", @@ -3855,7 +3877,7 @@ }, "MetricName":{ "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change MetricName after you create the Rule.

" + "documentation":"

A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change MetricName after you create the Rule.

" }, "Predicates":{ "shape":"Predicates", @@ -3878,7 +3900,7 @@ }, "MetricName":{ "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the RuleGroup.

" + "documentation":"

A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the RuleGroup.

" } }, "documentation":"

A collection of predefined rules that you can add to a web ACL.

Rule groups are subject to the following limits:

  • Three rule groups per account. You can request an increase to this limit by contacting customer support.

  • One rule group per web ACL.

  • Ten rules per rule group.

" @@ -4226,7 +4248,7 @@ }, "MetricName":{ "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the RuleGroup.

" + "documentation":"

A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the RuleGroup.

" } }, "documentation":"

A summary of the rule groups you are subscribed to.

" @@ -4596,7 +4618,7 @@ }, "Updates":{ "shape":"WebACLUpdates", - "documentation":"

An array of updates to make to the WebACL.

An array of WebACLUpdate objects that you want to insert into or delete from a WebACL. For more information, see the applicable data types:

  • WebACLUpdate: Contains Action and ActivatedRule

  • ActivatedRule: Contains Action, OverrideAction, Priority, RuleId, and Type. ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.

  • WafAction: Contains Type

" + "documentation":"

An array of updates to make to the WebACL.

An array of WebACLUpdate objects that you want to insert into or delete from a WebACL. For more information, see the applicable data types:

  • WebACLUpdate: Contains Action and ActivatedRule

  • ActivatedRule: Contains Action, OverrideAction, Priority, RuleId, and Type. ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case, you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.

  • WafAction: Contains Type

" }, "DefaultAction":{ "shape":"WafAction", @@ -4631,7 +4653,7 @@ }, "Updates":{ "shape":"XssMatchSetUpdates", - "documentation":"

An array of XssMatchSetUpdate objects that you want to insert into or delete from a XssMatchSet. For more information, see the applicable data types:

" + "documentation":"

An array of XssMatchSetUpdate objects that you want to insert into or delete from an XssMatchSet. For more information, see the applicable data types:

" } }, "documentation":"

A request to update an XssMatchSet.

" @@ -4709,7 +4731,7 @@ "members":{ "message":{"shape":"errorMessage"} }, - "documentation":"

The operation exceeds a resource limit, for example, the maximum number of WebACL objects that you can create for an AWS account. For more information, see Limits in the AWS WAF Developer Guide.

", + "documentation":"

The operation exceeds a resource limit, for example, the maximum number of WebACL objects that you can create for an AWS account. For more information, see Limits in the AWS WAF Developer Guide.

", "exception":true }, "WAFNonEmptyEntityException":{ @@ -4744,6 +4766,14 @@ "documentation":"

The operation failed because you tried to delete an object that is still in use. For example:

  • You tried to delete a ByteMatchSet that is still referenced by a Rule.

  • You tried to delete a Rule that is still referenced by a WebACL.

", "exception":true }, + "WAFServiceLinkedRoleErrorException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

AWS WAF is not able to access the service linked role. This can be caused by a previous PutLoggingConfiguration request, which can lock the service linked role for about 20 seconds. Please try your request again. The service linked role can also be locked by a previous DeleteServiceLinkedRole request, which can lock the role for 15 minutes or more. If you recently made a DeleteServiceLinkedRole, wait at least 15 minutes and try the request again. If you receive this same exception again, you will have to wait additional time until the role is unlocked.

", + "exception":true + }, "WAFStaleDataException":{ "type":"structure", "members":{ @@ -4823,7 +4853,7 @@ }, "MetricName":{ "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this WebACL. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change MetricName after you create the WebACL.

" + "documentation":"

A friendly name or description for the metrics for this WebACL. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change MetricName after you create the WebACL.

" }, "DefaultAction":{ "shape":"WafAction", @@ -4832,6 +4862,10 @@ "Rules":{ "shape":"ActivatedRules", "documentation":"

An array that contains the action for each Rule in a WebACL, the priority of the Rule, and the ID of the Rule.

" + }, + "WebACLArn":{ + "shape":"ResourceArn", + "documentation":"

Tha Amazon Resource Name (ARN) of the web ACL.

" } }, "documentation":"

Contains the Rules that identify the requests that you want to allow, block, or count. In a WebACL, you also specify a default action (ALLOW or BLOCK), and the action for each Rule that you add to a WebACL, for example, block requests from specified IP addresses or block requests from specified referrers. You also associate the WebACL with a CloudFront distribution to identify the requests that you want AWS WAF to filter. If you add more than one Rule to a WebACL, a request needs to match only one of the specifications to be allowed, blocked, or counted. For more information, see UpdateWebACL.

" @@ -4933,7 +4967,7 @@ "members":{ "Action":{ "shape":"ChangeAction", - "documentation":"

Specify INSERT to add a XssMatchSetUpdate to an XssMatchSet. Use DELETE to remove a XssMatchSetUpdate from an XssMatchSet.

" + "documentation":"

Specify INSERT to add an XssMatchSetUpdate to an XssMatchSet. Use DELETE to remove an XssMatchSetUpdate from an XssMatchSet.

" }, "XssMatchTuple":{ "shape":"XssMatchTuple", @@ -4971,5 +5005,5 @@ }, "errorMessage":{"type":"string"} }, - "documentation":"

This is the AWS WAF API Reference for using AWS WAF with Amazon CloudFront. The AWS WAF actions and data types listed in the reference are available for protecting Amazon CloudFront distributions. You can use these actions and data types via the endpoint waf.amazonaws.com. This guide is for developers who need detailed information about the AWS WAF API actions, data types, and errors. For detailed information about AWS WAF features and an overview of how to use the AWS WAF API, see the AWS WAF Developer Guide.

" + "documentation":"

This is the AWS WAF API Reference for using AWS WAF with Amazon CloudFront. The AWS WAF actions and data types listed in the reference are available for protecting Amazon CloudFront distributions. You can use these actions and data types via the endpoint waf.amazonaws.com. This guide is for developers who need detailed information about the AWS WAF API actions, data types, and errors. For detailed information about AWS WAF features and an overview of how to use the AWS WAF API, see the AWS WAF Developer Guide.

" } diff --git a/bin/botocore/data/workdocs/2016-05-01/paginators-1.json b/bin/botocore/data/workdocs/2016-05-01/paginators-1.json index 3dc6d7e8..a7cade37 100644 --- a/bin/botocore/data/workdocs/2016-05-01/paginators-1.json +++ b/bin/botocore/data/workdocs/2016-05-01/paginators-1.json @@ -20,6 +20,42 @@ "limit_key": "Limit", "output_token": "Marker", "result_key": "Users" + }, + "DescribeActivities": { + "input_token": "Marker", + "limit_key": "Limit", + "output_token": "Marker", + "result_key": "UserActivities" + }, + "DescribeComments": { + "input_token": "Marker", + "limit_key": "Limit", + "output_token": "Marker", + "result_key": "Comments" + }, + "DescribeGroups": { + "input_token": "Marker", + "limit_key": "Limit", + "output_token": "Marker", + "result_key": "Groups" + }, + "DescribeNotificationSubscriptions": { + "input_token": "Marker", + "limit_key": "Limit", + "output_token": "Marker", + "result_key": "Subscriptions" + }, + "DescribeResourcePermissions": { + "input_token": "Marker", + "limit_key": "Limit", + "output_token": "Marker", + "result_key": "Principals" + }, + "DescribeRootFolders": { + "input_token": "Marker", + "limit_key": "Limit", + "output_token": "Marker", + "result_key": "Folders" } } } diff --git a/bin/botocore/data/workdocs/2016-05-01/service-2.json b/bin/botocore/data/workdocs/2016-05-01/service-2.json index 92617a27..84fdf10c 100644 --- a/bin/botocore/data/workdocs/2016-05-01/service-2.json +++ b/bin/botocore/data/workdocs/2016-05-01/service-2.json @@ -160,7 +160,7 @@ {"shape":"TooManySubscriptionsException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Configure Amazon WorkDocs to use Amazon SNS notifications. The endpoint receives a confirmation message, and must confirm the subscription.

For more information, see Subscribe to Notifications in the Amazon WorkDocs Developer Guide.

" + "documentation":"

Configure Amazon WorkDocs to use Amazon SNS notifications. The endpoint receives a confirmation message, and must confirm the subscription.

For more information, see Subscribe to Notifications in the Amazon WorkDocs Developer Guide.

" }, "CreateUser":{ "name":"CreateUser", @@ -487,7 +487,7 @@ {"shape":"FailedDependencyException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Describes the current user's special folders; the RootFolder and the RecycleBin. RootFolder is the root of user's files and folders and RecycleBin is the root of recycled items. This is not a valid action for SigV4 (administrative API) clients.

This action requires an authentication token. To get an authentication token, register an application with Amazon WorkDocs. For more information, see Authentication and Access Control for User Applications in the Amazon WorkDocs Developer Guide.

" + "documentation":"

Describes the current user's special folders; the RootFolder and the RecycleBin. RootFolder is the root of user's files and folders and RecycleBin is the root of recycled items. This is not a valid action for SigV4 (administrative API) clients.

This action requires an authentication token. To get an authentication token, register an application with Amazon WorkDocs. For more information, see Authentication and Access Control for User Applications in the Amazon WorkDocs Developer Guide.

" }, "DescribeUsers":{ "name":"DescribeUsers", @@ -1263,7 +1263,7 @@ }, "Endpoint":{ "shape":"SubscriptionEndPointType", - "documentation":"

The endpoint to receive the notifications. If the protocol is HTTPS, the endpoint is a URL that begins with \"https://\".

" + "documentation":"

The endpoint to receive the notifications. If the protocol is HTTPS, the endpoint is a URL that begins with https.

" }, "Protocol":{ "shape":"SubscriptionProtocolType", diff --git a/bin/botocore/data/worklink/2018-09-25/paginators-1.json b/bin/botocore/data/worklink/2018-09-25/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/bin/botocore/data/worklink/2018-09-25/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/bin/botocore/data/worklink/2018-09-25/service-2.json b/bin/botocore/data/worklink/2018-09-25/service-2.json new file mode 100644 index 00000000..6383c105 --- /dev/null +++ b/bin/botocore/data/worklink/2018-09-25/service-2.json @@ -0,0 +1,1707 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-09-25", + "endpointPrefix":"worklink", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"WorkLink", + "serviceFullName":"Amazon WorkLink", + "serviceId":"WorkLink", + "signatureVersion":"v4", + "signingName":"worklink", + "uid":"worklink-2018-09-25" + }, + "operations":{ + "AssociateDomain":{ + "name":"AssociateDomain", + "http":{ + "method":"POST", + "requestUri":"/associateDomain" + }, + "input":{"shape":"AssociateDomainRequest"}, + "output":{"shape":"AssociateDomainResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Specifies a domain to be associated to Amazon WorkLink.

" + }, + "AssociateWebsiteAuthorizationProvider":{ + "name":"AssociateWebsiteAuthorizationProvider", + "http":{ + "method":"POST", + "requestUri":"/associateWebsiteAuthorizationProvider" + }, + "input":{"shape":"AssociateWebsiteAuthorizationProviderRequest"}, + "output":{"shape":"AssociateWebsiteAuthorizationProviderResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Associates a website authorization provider with a specified fleet. This is used to authorize users against associated websites in the company network.

" + }, + "AssociateWebsiteCertificateAuthority":{ + "name":"AssociateWebsiteCertificateAuthority", + "http":{ + "method":"POST", + "requestUri":"/associateWebsiteCertificateAuthority" + }, + "input":{"shape":"AssociateWebsiteCertificateAuthorityRequest"}, + "output":{"shape":"AssociateWebsiteCertificateAuthorityResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Imports the root certificate of a certificate authority (CA) used to obtain TLS certificates used by associated websites within the company network.

" + }, + "CreateFleet":{ + "name":"CreateFleet", + "http":{ + "method":"POST", + "requestUri":"/createFleet" + }, + "input":{"shape":"CreateFleetRequest"}, + "output":{"shape":"CreateFleetResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Creates a fleet. A fleet consists of resources and the configuration that delivers associated websites to authorized users who download and set up the Amazon WorkLink app.

" + }, + "DeleteFleet":{ + "name":"DeleteFleet", + "http":{ + "method":"POST", + "requestUri":"/deleteFleet" + }, + "input":{"shape":"DeleteFleetRequest"}, + "output":{"shape":"DeleteFleetResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Deletes a fleet. Prevents users from accessing previously associated websites.

" + }, + "DescribeAuditStreamConfiguration":{ + "name":"DescribeAuditStreamConfiguration", + "http":{ + "method":"POST", + "requestUri":"/describeAuditStreamConfiguration" + }, + "input":{"shape":"DescribeAuditStreamConfigurationRequest"}, + "output":{"shape":"DescribeAuditStreamConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Describes the configuration for delivering audit streams to the customer account.

" + }, + "DescribeCompanyNetworkConfiguration":{ + "name":"DescribeCompanyNetworkConfiguration", + "http":{ + "method":"POST", + "requestUri":"/describeCompanyNetworkConfiguration" + }, + "input":{"shape":"DescribeCompanyNetworkConfigurationRequest"}, + "output":{"shape":"DescribeCompanyNetworkConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Describes the networking configuration to access the internal websites associated with the specified fleet.

" + }, + "DescribeDevice":{ + "name":"DescribeDevice", + "http":{ + "method":"POST", + "requestUri":"/describeDevice" + }, + "input":{"shape":"DescribeDeviceRequest"}, + "output":{"shape":"DescribeDeviceResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Provides information about a user's device.

" + }, + "DescribeDevicePolicyConfiguration":{ + "name":"DescribeDevicePolicyConfiguration", + "http":{ + "method":"POST", + "requestUri":"/describeDevicePolicyConfiguration" + }, + "input":{"shape":"DescribeDevicePolicyConfigurationRequest"}, + "output":{"shape":"DescribeDevicePolicyConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Describes the device policy configuration for the specified fleet.

" + }, + "DescribeDomain":{ + "name":"DescribeDomain", + "http":{ + "method":"POST", + "requestUri":"/describeDomain" + }, + "input":{"shape":"DescribeDomainRequest"}, + "output":{"shape":"DescribeDomainResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Provides information about the domain.

" + }, + "DescribeFleetMetadata":{ + "name":"DescribeFleetMetadata", + "http":{ + "method":"POST", + "requestUri":"/describeFleetMetadata" + }, + "input":{"shape":"DescribeFleetMetadataRequest"}, + "output":{"shape":"DescribeFleetMetadataResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Provides basic information for the specified fleet, excluding identity provider, networking, and device configuration details.

" + }, + "DescribeIdentityProviderConfiguration":{ + "name":"DescribeIdentityProviderConfiguration", + "http":{ + "method":"POST", + "requestUri":"/describeIdentityProviderConfiguration" + }, + "input":{"shape":"DescribeIdentityProviderConfigurationRequest"}, + "output":{"shape":"DescribeIdentityProviderConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Describes the identity provider configuration of the specified fleet.

" + }, + "DescribeWebsiteCertificateAuthority":{ + "name":"DescribeWebsiteCertificateAuthority", + "http":{ + "method":"POST", + "requestUri":"/describeWebsiteCertificateAuthority" + }, + "input":{"shape":"DescribeWebsiteCertificateAuthorityRequest"}, + "output":{"shape":"DescribeWebsiteCertificateAuthorityResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Provides information about the certificate authority.

" + }, + "DisassociateDomain":{ + "name":"DisassociateDomain", + "http":{ + "method":"POST", + "requestUri":"/disassociateDomain" + }, + "input":{"shape":"DisassociateDomainRequest"}, + "output":{"shape":"DisassociateDomainResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Disassociates a domain from Amazon WorkLink. End users lose the ability to access the domain with Amazon WorkLink.

" + }, + "DisassociateWebsiteAuthorizationProvider":{ + "name":"DisassociateWebsiteAuthorizationProvider", + "http":{ + "method":"POST", + "requestUri":"/disassociateWebsiteAuthorizationProvider" + }, + "input":{"shape":"DisassociateWebsiteAuthorizationProviderRequest"}, + "output":{"shape":"DisassociateWebsiteAuthorizationProviderResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Disassociates a website authorization provider from a specified fleet. After the disassociation, users can't load any associated websites that require this authorization provider.

" + }, + "DisassociateWebsiteCertificateAuthority":{ + "name":"DisassociateWebsiteCertificateAuthority", + "http":{ + "method":"POST", + "requestUri":"/disassociateWebsiteCertificateAuthority" + }, + "input":{"shape":"DisassociateWebsiteCertificateAuthorityRequest"}, + "output":{"shape":"DisassociateWebsiteCertificateAuthorityResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Removes a certificate authority (CA).

" + }, + "ListDevices":{ + "name":"ListDevices", + "http":{ + "method":"POST", + "requestUri":"/listDevices" + }, + "input":{"shape":"ListDevicesRequest"}, + "output":{"shape":"ListDevicesResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Retrieves a list of devices registered with the specified fleet.

" + }, + "ListDomains":{ + "name":"ListDomains", + "http":{ + "method":"POST", + "requestUri":"/listDomains" + }, + "input":{"shape":"ListDomainsRequest"}, + "output":{"shape":"ListDomainsResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Retrieves a list of domains associated to a specified fleet.

" + }, + "ListFleets":{ + "name":"ListFleets", + "http":{ + "method":"POST", + "requestUri":"/listFleets" + }, + "input":{"shape":"ListFleetsRequest"}, + "output":{"shape":"ListFleetsResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Retrieves a list of fleets for the current account and Region.

" + }, + "ListWebsiteAuthorizationProviders":{ + "name":"ListWebsiteAuthorizationProviders", + "http":{ + "method":"POST", + "requestUri":"/listWebsiteAuthorizationProviders" + }, + "input":{"shape":"ListWebsiteAuthorizationProvidersRequest"}, + "output":{"shape":"ListWebsiteAuthorizationProvidersResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Retrieves a list of website authorization providers associated with a specified fleet.

" + }, + "ListWebsiteCertificateAuthorities":{ + "name":"ListWebsiteCertificateAuthorities", + "http":{ + "method":"POST", + "requestUri":"/listWebsiteCertificateAuthorities" + }, + "input":{"shape":"ListWebsiteCertificateAuthoritiesRequest"}, + "output":{"shape":"ListWebsiteCertificateAuthoritiesResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Retrieves a list of certificate authorities added for the current account and Region.

" + }, + "RestoreDomainAccess":{ + "name":"RestoreDomainAccess", + "http":{ + "method":"POST", + "requestUri":"/restoreDomainAccess" + }, + "input":{"shape":"RestoreDomainAccessRequest"}, + "output":{"shape":"RestoreDomainAccessResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Moves a domain to ACTIVE status if it was in the INACTIVE status.

" + }, + "RevokeDomainAccess":{ + "name":"RevokeDomainAccess", + "http":{ + "method":"POST", + "requestUri":"/revokeDomainAccess" + }, + "input":{"shape":"RevokeDomainAccessRequest"}, + "output":{"shape":"RevokeDomainAccessResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Moves a domain to INACTIVE status if it was in the ACTIVE status.

" + }, + "SignOutUser":{ + "name":"SignOutUser", + "http":{ + "method":"POST", + "requestUri":"/signOutUser" + }, + "input":{"shape":"SignOutUserRequest"}, + "output":{"shape":"SignOutUserResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Signs the user out from all of their devices. The user can sign in again if they have valid credentials.

" + }, + "UpdateAuditStreamConfiguration":{ + "name":"UpdateAuditStreamConfiguration", + "http":{ + "method":"POST", + "requestUri":"/updateAuditStreamConfiguration" + }, + "input":{"shape":"UpdateAuditStreamConfigurationRequest"}, + "output":{"shape":"UpdateAuditStreamConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Updates the audit stream configuration for the fleet.

" + }, + "UpdateCompanyNetworkConfiguration":{ + "name":"UpdateCompanyNetworkConfiguration", + "http":{ + "method":"POST", + "requestUri":"/updateCompanyNetworkConfiguration" + }, + "input":{"shape":"UpdateCompanyNetworkConfigurationRequest"}, + "output":{"shape":"UpdateCompanyNetworkConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Updates the company network configuration for the fleet.

" + }, + "UpdateDevicePolicyConfiguration":{ + "name":"UpdateDevicePolicyConfiguration", + "http":{ + "method":"POST", + "requestUri":"/updateDevicePolicyConfiguration" + }, + "input":{"shape":"UpdateDevicePolicyConfigurationRequest"}, + "output":{"shape":"UpdateDevicePolicyConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Updates the device policy configuration for the fleet.

" + }, + "UpdateDomainMetadata":{ + "name":"UpdateDomainMetadata", + "http":{ + "method":"POST", + "requestUri":"/updateDomainMetadata" + }, + "input":{"shape":"UpdateDomainMetadataRequest"}, + "output":{"shape":"UpdateDomainMetadataResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Updates domain metadata, such as DisplayName.

" + }, + "UpdateFleetMetadata":{ + "name":"UpdateFleetMetadata", + "http":{ + "method":"POST", + "requestUri":"/UpdateFleetMetadata" + }, + "input":{"shape":"UpdateFleetMetadataRequest"}, + "output":{"shape":"UpdateFleetMetadataResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Updates fleet metadata, such as DisplayName.

" + }, + "UpdateIdentityProviderConfiguration":{ + "name":"UpdateIdentityProviderConfiguration", + "http":{ + "method":"POST", + "requestUri":"/updateIdentityProviderConfiguration" + }, + "input":{"shape":"UpdateIdentityProviderConfigurationRequest"}, + "output":{"shape":"UpdateIdentityProviderConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Updates the identity provider configuration for the fleet.

" + } + }, + "shapes":{ + "AcmCertificateArn":{ + "type":"string", + "pattern":"arn:[\\w+=/,.@-]+:[\\w+=/,.@-]+:[\\w+=/,.@-]*:[0-9]+:[\\w+=,.@-]+(/[\\w+=/,.@-]+)*" + }, + "AssociateDomainRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "DomainName", + "AcmCertificateArn" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The Amazon Resource Name (ARN) of the fleet.

" + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"

The fully qualified domain name (FQDN).

" + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

The name to display.

" + }, + "AcmCertificateArn":{ + "shape":"AcmCertificateArn", + "documentation":"

The ARN of an issued ACM certificate that is valid for the domain being associated.

" + } + } + }, + "AssociateDomainResponse":{ + "type":"structure", + "members":{ + } + }, + "AssociateWebsiteAuthorizationProviderRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "AuthorizationProviderType" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + }, + "AuthorizationProviderType":{ + "shape":"AuthorizationProviderType", + "documentation":"

The authorization provider type.

" + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"

The domain name of the authorization provider. This applies only to SAML-based authorization providers.

" + } + } + }, + "AssociateWebsiteAuthorizationProviderResponse":{ + "type":"structure", + "members":{ + "AuthorizationProviderId":{ + "shape":"Id", + "documentation":"

A unique identifier for the authorization provider.

" + } + } + }, + "AssociateWebsiteCertificateAuthorityRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "Certificate" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + }, + "Certificate":{ + "shape":"Certificate", + "documentation":"

The root certificate of the CA.

" + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

The certificate name to display.

" + } + } + }, + "AssociateWebsiteCertificateAuthorityResponse":{ + "type":"structure", + "members":{ + "WebsiteCaId":{ + "shape":"Id", + "documentation":"

A unique identifier for the CA.

" + } + } + }, + "AuditStreamArn":{"type":"string"}, + "AuthorizationProviderType":{ + "type":"string", + "enum":["SAML"] + }, + "Boolean":{"type":"boolean"}, + "Certificate":{ + "type":"string", + "max":8192, + "min":1, + "pattern":"-{5}BEGIN CERTIFICATE-{5}\\u000D?\\u000A([A-Za-z0-9/+]{64}\\u000D?\\u000A)*[A-Za-z0-9/+]{1,64}={0,2}\\u000D?\\u000A-{5}END CERTIFICATE-{5}(\\u000D?\\u000A)?" + }, + "CertificateChain":{ + "type":"string", + "max":32768, + "min":1, + "pattern":"(-{5}BEGIN CERTIFICATE-{5}\\u000D?\\u000A([A-Za-z0-9/+]{64}\\u000D?\\u000A)*[A-Za-z0-9/+]{1,64}={0,2}\\u000D?\\u000A-{5}END CERTIFICATE-{5}\\u000D?\\u000A)*-{5}BEGIN CERTIFICATE-{5}\\u000D?\\u000A([A-Za-z0-9/+]{64}\\u000D?\\u000A)*[A-Za-z0-9/+]{1,64}={0,2}\\u000D?\\u000A-{5}END CERTIFICATE-{5}(\\u000D?\\u000A)?" + }, + "CompanyCode":{ + "type":"string", + "max":32, + "min":1 + }, + "CreateFleetRequest":{ + "type":"structure", + "required":["FleetName"], + "members":{ + "FleetName":{ + "shape":"FleetName", + "documentation":"

A unique name for the fleet.

" + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

The fleet name to display.

" + }, + "OptimizeForEndUserLocation":{ + "shape":"Boolean", + "documentation":"

The option to optimize for better performance by routing traffic through the closest AWS Region to users, which may be outside of your home Region.

" + } + } + }, + "CreateFleetResponse":{ + "type":"structure", + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + } + } + }, + "DateTime":{"type":"timestamp"}, + "DeleteFleetRequest":{ + "type":"structure", + "required":["FleetArn"], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + } + } + }, + "DeleteFleetResponse":{ + "type":"structure", + "members":{ + } + }, + "DescribeAuditStreamConfigurationRequest":{ + "type":"structure", + "required":["FleetArn"], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + } + } + }, + "DescribeAuditStreamConfigurationResponse":{ + "type":"structure", + "members":{ + "AuditStreamArn":{ + "shape":"AuditStreamArn", + "documentation":"

The ARN of the Amazon Kinesis data stream that will receive the audit events.

" + } + } + }, + "DescribeCompanyNetworkConfigurationRequest":{ + "type":"structure", + "required":["FleetArn"], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + } + } + }, + "DescribeCompanyNetworkConfigurationResponse":{ + "type":"structure", + "members":{ + "VpcId":{ + "shape":"VpcId", + "documentation":"

The VPC with connectivity to associated websites.

" + }, + "SubnetIds":{ + "shape":"SubnetIds", + "documentation":"

The subnets used for X-ENI connections from Amazon WorkLink rendering containers.

" + }, + "SecurityGroupIds":{ + "shape":"SecurityGroupIds", + "documentation":"

The security groups associated with access to the provided subnets.

" + } + } + }, + "DescribeDevicePolicyConfigurationRequest":{ + "type":"structure", + "required":["FleetArn"], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + } + } + }, + "DescribeDevicePolicyConfigurationResponse":{ + "type":"structure", + "members":{ + "DeviceCaCertificate":{ + "shape":"Certificate", + "documentation":"

The certificate chain, including intermediate certificates and the root certificate authority certificate used to issue device certificates.

" + } + } + }, + "DescribeDeviceRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "DeviceId" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + }, + "DeviceId":{ + "shape":"Id", + "documentation":"

A unique identifier for a registered user's device.

" + } + } + }, + "DescribeDeviceResponse":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"DeviceStatus", + "documentation":"

The current state of the device.

" + }, + "Model":{ + "shape":"DeviceModel", + "documentation":"

The model of the device.

" + }, + "Manufacturer":{ + "shape":"DeviceManufacturer", + "documentation":"

The manufacturer of the device.

" + }, + "OperatingSystem":{ + "shape":"DeviceOperatingSystemName", + "documentation":"

The operating system of the device.

" + }, + "OperatingSystemVersion":{ + "shape":"DeviceOperatingSystemVersion", + "documentation":"

The operating system version of the device.

" + }, + "PatchLevel":{ + "shape":"DevicePatchLevel", + "documentation":"

The operating system patch level of the device.

" + }, + "FirstAccessedTime":{ + "shape":"DateTime", + "documentation":"

The date that the device first signed in to Amazon WorkLink.

" + }, + "LastAccessedTime":{ + "shape":"DateTime", + "documentation":"

The date that the device last accessed Amazon WorkLink.

" + }, + "Username":{ + "shape":"Username", + "documentation":"

The user name associated with the device.

" + } + } + }, + "DescribeDomainRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "DomainName" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"

The name of the domain.

" + } + } + }, + "DescribeDomainResponse":{ + "type":"structure", + "members":{ + "DomainName":{ + "shape":"DomainName", + "documentation":"

The name of the domain.

" + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

The name to display.

" + }, + "CreatedTime":{ + "shape":"DateTime", + "documentation":"

The time that the domain was added.

" + }, + "DomainStatus":{ + "shape":"DomainStatus", + "documentation":"

The current state for the domain.

" + }, + "AcmCertificateArn":{ + "shape":"AcmCertificateArn", + "documentation":"

The ARN of an issued ACM certificate that is valid for the domain being associated.

" + } + } + }, + "DescribeFleetMetadataRequest":{ + "type":"structure", + "required":["FleetArn"], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + } + } + }, + "DescribeFleetMetadataResponse":{ + "type":"structure", + "members":{ + "CreatedTime":{ + "shape":"DateTime", + "documentation":"

The time that the fleet was created.

" + }, + "LastUpdatedTime":{ + "shape":"DateTime", + "documentation":"

The time that the fleet was last updated.

" + }, + "FleetName":{ + "shape":"FleetName", + "documentation":"

The name of the fleet.

" + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

The name to display.

" + }, + "OptimizeForEndUserLocation":{ + "shape":"Boolean", + "documentation":"

The option to optimize for better performance by routing traffic through the closest AWS Region to users, which may be outside of your home Region.

" + }, + "CompanyCode":{ + "shape":"CompanyCode", + "documentation":"

The identifier used by users to sign in to the Amazon WorkLink app.

" + }, + "FleetStatus":{ + "shape":"FleetStatus", + "documentation":"

The current state of the fleet.

" + } + } + }, + "DescribeIdentityProviderConfigurationRequest":{ + "type":"structure", + "required":["FleetArn"], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + } + } + }, + "DescribeIdentityProviderConfigurationResponse":{ + "type":"structure", + "members":{ + "IdentityProviderType":{ + "shape":"IdentityProviderType", + "documentation":"

The type of identity provider.

" + }, + "ServiceProviderSamlMetadata":{ + "shape":"SamlMetadata", + "documentation":"

The SAML metadata document uploaded to the user’s identity provider.

" + }, + "IdentityProviderSamlMetadata":{ + "shape":"SamlMetadata", + "documentation":"

The SAML metadata document provided by the user’s identity provider.

" + } + } + }, + "DescribeWebsiteCertificateAuthorityRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "WebsiteCaId" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + }, + "WebsiteCaId":{ + "shape":"Id", + "documentation":"

A unique identifier for the certificate authority.

" + } + } + }, + "DescribeWebsiteCertificateAuthorityResponse":{ + "type":"structure", + "members":{ + "Certificate":{ + "shape":"Certificate", + "documentation":"

The root certificate of the certificate authority.

" + }, + "CreatedTime":{ + "shape":"DateTime", + "documentation":"

The time that the certificate authority was added.

" + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

The certificate name to display.

" + } + } + }, + "DeviceManufacturer":{ + "type":"string", + "max":256, + "min":1 + }, + "DeviceModel":{ + "type":"string", + "max":256, + "min":1 + }, + "DeviceOperatingSystemName":{ + "type":"string", + "max":256, + "min":1 + }, + "DeviceOperatingSystemVersion":{ + "type":"string", + "max":256, + "min":1 + }, + "DevicePatchLevel":{ + "type":"string", + "max":256, + "min":1 + }, + "DeviceStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "SIGNED_OUT" + ] + }, + "DeviceSummary":{ + "type":"structure", + "members":{ + "DeviceId":{ + "shape":"Id", + "documentation":"

The ID of the device.

" + }, + "DeviceStatus":{ + "shape":"DeviceStatus", + "documentation":"

The status of the device.

" + } + }, + "documentation":"

The summary of devices.

" + }, + "DeviceSummaryList":{ + "type":"list", + "member":{"shape":"DeviceSummary"} + }, + "DisassociateDomainRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "DomainName" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"

The name of the domain.

" + } + } + }, + "DisassociateDomainResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociateWebsiteAuthorizationProviderRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "AuthorizationProviderId" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + }, + "AuthorizationProviderId":{ + "shape":"Id", + "documentation":"

A unique identifier for the authorization provider.

" + } + } + }, + "DisassociateWebsiteAuthorizationProviderResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociateWebsiteCertificateAuthorityRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "WebsiteCaId" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + }, + "WebsiteCaId":{ + "shape":"Id", + "documentation":"

A unique identifier for the CA.

" + } + } + }, + "DisassociateWebsiteCertificateAuthorityResponse":{ + "type":"structure", + "members":{ + } + }, + "DisplayName":{ + "type":"string", + "max":100 + }, + "DomainName":{ + "type":"string", + "max":253, + "min":1, + "pattern":"^[a-zA-Z0-9]?((?!-)([A-Za-z0-9-]*[A-Za-z0-9])\\.)+[a-zA-Z0-9]+$" + }, + "DomainStatus":{ + "type":"string", + "enum":[ + "PENDING_VALIDATION", + "ASSOCIATING", + "ACTIVE", + "INACTIVE", + "DISASSOCIATING", + "DISASSOCIATED", + "FAILED_TO_ASSOCIATE", + "FAILED_TO_DISASSOCIATE" + ] + }, + "DomainSummary":{ + "type":"structure", + "required":[ + "DomainName", + "CreatedTime", + "DomainStatus" + ], + "members":{ + "DomainName":{ + "shape":"DomainName", + "documentation":"

The name of the domain.

" + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

The name to display.

" + }, + "CreatedTime":{ + "shape":"DateTime", + "documentation":"

The time that the domain was created.

" + }, + "DomainStatus":{ + "shape":"DomainStatus", + "documentation":"

The status of the domain.

" + } + }, + "documentation":"

The summary of the domain.

" + }, + "DomainSummaryList":{ + "type":"list", + "member":{"shape":"DomainSummary"} + }, + "ExceptionMessage":{"type":"string"}, + "FleetArn":{ + "type":"string", + "max":2048, + "min":20 + }, + "FleetName":{ + "type":"string", + "max":48, + "min":1, + "pattern":"^[a-z0-9](?:[a-z0-9\\-]{0,46}[a-z0-9])?$" + }, + "FleetStatus":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "DELETING", + "DELETED", + "FAILED_TO_CREATE", + "FAILED_TO_DELETE" + ] + }, + "FleetSummary":{ + "type":"structure", + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + }, + "CreatedTime":{ + "shape":"DateTime", + "documentation":"

The time when the fleet was created.

" + }, + "LastUpdatedTime":{ + "shape":"DateTime", + "documentation":"

The time when the fleet was last updated.

" + }, + "FleetName":{ + "shape":"FleetName", + "documentation":"

The name of the fleet.

" + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

The name to display.

" + }, + "CompanyCode":{ + "shape":"CompanyCode", + "documentation":"

The identifier used by users to sign into the Amazon WorkLink app.

" + }, + "FleetStatus":{ + "shape":"FleetStatus", + "documentation":"

The status of the fleet.

" + } + }, + "documentation":"

The summary of the fleet.

" + }, + "FleetSummaryList":{ + "type":"list", + "member":{"shape":"FleetSummary"} + }, + "Id":{ + "type":"string", + "max":256, + "min":1 + }, + "IdentityProviderType":{ + "type":"string", + "enum":["SAML"] + }, + "InternalServerErrorException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The service is temporarily unavailable.

", + "error":{"httpStatusCode":500}, + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The request is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ListDevicesRequest":{ + "type":"structure", + "required":["FleetArn"], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token used to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to be included in the next page.

" + } + } + }, + "ListDevicesResponse":{ + "type":"structure", + "members":{ + "Devices":{ + "shape":"DeviceSummaryList", + "documentation":"

Information about the devices.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token used to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" + } + } + }, + "ListDomainsRequest":{ + "type":"structure", + "required":["FleetArn"], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token used to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to be included in the next page.

" + } + } + }, + "ListDomainsResponse":{ + "type":"structure", + "members":{ + "Domains":{ + "shape":"DomainSummaryList", + "documentation":"

Information about the domains.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token used to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" + } + } + }, + "ListFleetsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token used to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to be included in the next page.

" + } + } + }, + "ListFleetsResponse":{ + "type":"structure", + "members":{ + "FleetSummaryList":{ + "shape":"FleetSummaryList", + "documentation":"

The summary list of the fleets.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token used to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" + } + } + }, + "ListWebsiteAuthorizationProvidersRequest":{ + "type":"structure", + "required":["FleetArn"], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to be included in the next page.

" + } + } + }, + "ListWebsiteAuthorizationProvidersResponse":{ + "type":"structure", + "members":{ + "WebsiteAuthorizationProviders":{ + "shape":"WebsiteAuthorizationProvidersSummaryList", + "documentation":"

The website authorization providers.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

" + } + } + }, + "ListWebsiteCertificateAuthoritiesRequest":{ + "type":"structure", + "required":["FleetArn"], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to be included in the next page.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token used to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

" + } + } + }, + "ListWebsiteCertificateAuthoritiesResponse":{ + "type":"structure", + "members":{ + "WebsiteCertificateAuthorities":{ + "shape":"WebsiteCaSummaryList", + "documentation":"

Information about the certificates.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token used to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" + } + } + }, + "MaxResults":{ + "type":"integer", + "min":1 + }, + "NextToken":{ + "type":"string", + "max":4096, + "min":1, + "pattern":"[\\w\\-]+" + }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The resource already exists.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The requested resource was not found.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "RestoreDomainAccessRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "DomainName" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"

The name of the domain.

" + } + } + }, + "RestoreDomainAccessResponse":{ + "type":"structure", + "members":{ + } + }, + "RevokeDomainAccessRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "DomainName" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"

The name of the domain.

" + } + } + }, + "RevokeDomainAccessResponse":{ + "type":"structure", + "members":{ + } + }, + "SamlMetadata":{ + "type":"string", + "max":204800, + "min":1 + }, + "SecurityGroupId":{ + "type":"string", + "pattern":"^sg-([0-9a-f]{8}|[0-9a-f]{17})$" + }, + "SecurityGroupIds":{ + "type":"list", + "member":{"shape":"SecurityGroupId"}, + "max":5 + }, + "SignOutUserRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "Username" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + }, + "Username":{ + "shape":"Username", + "documentation":"

The name of the user.

" + } + } + }, + "SignOutUserResponse":{ + "type":"structure", + "members":{ + } + }, + "SubnetId":{ + "type":"string", + "pattern":"^subnet-([0-9a-f]{8}|[0-9a-f]{17})$" + }, + "SubnetIds":{ + "type":"list", + "member":{"shape":"SubnetId"} + }, + "TooManyRequestsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The number of requests exceeds the limit.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "UnauthorizedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

You are not authorized to perform this action.

", + "error":{"httpStatusCode":403}, + "exception":true + }, + "UpdateAuditStreamConfigurationRequest":{ + "type":"structure", + "required":["FleetArn"], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + }, + "AuditStreamArn":{ + "shape":"AuditStreamArn", + "documentation":"

The ARN of the Amazon Kinesis data stream that receives the audit events.

" + } + } + }, + "UpdateAuditStreamConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateCompanyNetworkConfigurationRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "VpcId", + "SubnetIds", + "SecurityGroupIds" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The VPC with connectivity to associated websites.

" + }, + "SubnetIds":{ + "shape":"SubnetIds", + "documentation":"

The subnets used for X-ENI connections from Amazon WorkLink rendering containers.

" + }, + "SecurityGroupIds":{ + "shape":"SecurityGroupIds", + "documentation":"

The security groups associated with access to the provided subnets.

" + } + } + }, + "UpdateCompanyNetworkConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateDevicePolicyConfigurationRequest":{ + "type":"structure", + "required":["FleetArn"], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + }, + "DeviceCaCertificate":{ + "shape":"CertificateChain", + "documentation":"

The certificate chain, including intermediate certificates and the root certificate authority certificate used to issue device certificates.

" + } + } + }, + "UpdateDevicePolicyConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateDomainMetadataRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "DomainName" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"

The name of the domain.

" + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

The name to display.

" + } + } + }, + "UpdateDomainMetadataResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateFleetMetadataRequest":{ + "type":"structure", + "required":["FleetArn"], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

The fleet name to display. The existing DisplayName is unset if null is passed.

" + }, + "OptimizeForEndUserLocation":{ + "shape":"Boolean", + "documentation":"

The option to optimize for better performance by routing traffic through the closest AWS Region to users, which may be outside of your home Region.

" + } + } + }, + "UpdateFleetMetadataResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateIdentityProviderConfigurationRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "IdentityProviderType" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The ARN of the fleet.

" + }, + "IdentityProviderType":{ + "shape":"IdentityProviderType", + "documentation":"

The type of identity provider.

" + }, + "IdentityProviderSamlMetadata":{ + "shape":"SamlMetadata", + "documentation":"

The SAML metadata document provided by the customer’s identity provider. The existing IdentityProviderSamlMetadata is unset if null is passed.

" + } + } + }, + "UpdateIdentityProviderConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "Username":{ + "type":"string", + "max":256, + "min":1 + }, + "VpcId":{ + "type":"string", + "pattern":"^vpc-([0-9a-f]{8}|[0-9a-f]{17})$" + }, + "WebsiteAuthorizationProviderSummary":{ + "type":"structure", + "required":["AuthorizationProviderType"], + "members":{ + "AuthorizationProviderId":{ + "shape":"Id", + "documentation":"

A unique identifier for the authorization provider.

" + }, + "AuthorizationProviderType":{ + "shape":"AuthorizationProviderType", + "documentation":"

The authorization provider type.

" + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"

The domain name of the authorization provider. This applies only to SAML-based authorization providers.

" + }, + "CreatedTime":{ + "shape":"DateTime", + "documentation":"

The time of creation.

" + } + }, + "documentation":"

The summary of the website authorization provider.

" + }, + "WebsiteAuthorizationProvidersSummaryList":{ + "type":"list", + "member":{"shape":"WebsiteAuthorizationProviderSummary"} + }, + "WebsiteCaSummary":{ + "type":"structure", + "members":{ + "WebsiteCaId":{ + "shape":"Id", + "documentation":"

A unique identifier for the CA.

" + }, + "CreatedTime":{ + "shape":"DateTime", + "documentation":"

The time when the CA was added.

" + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

The name to display.

" + } + }, + "documentation":"

The summary of the certificate authority (CA).

" + }, + "WebsiteCaSummaryList":{ + "type":"list", + "member":{"shape":"WebsiteCaSummary"} + } + }, + "documentation":"

Amazon WorkLink is a cloud-based service that provides secure access to internal websites and web apps from iOS phones. In a single step, your users, such as employees, can access internal websites as efficiently as they access any other public website. They enter a URL in their web browser, or choose a link to an internal website in an email. Amazon WorkLink authenticates the user's access and securely renders authorized internal web content in a secure rendering service in the AWS cloud. Amazon WorkLink doesn't download or store any internal web content on mobile devices.

" +} diff --git a/bin/botocore/data/workmail/2017-10-01/paginators-1.json b/bin/botocore/data/workmail/2017-10-01/paginators-1.json index d5de8253..511c0ef6 100644 --- a/bin/botocore/data/workmail/2017-10-01/paginators-1.json +++ b/bin/botocore/data/workmail/2017-10-01/paginators-1.json @@ -35,6 +35,18 @@ "output_token": "NextToken", "input_token": "NextToken", "limit_key": "MaxResults" + }, + "ListMailboxPermissions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Permissions" + }, + "ListResourceDelegates": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Delegates" } } } diff --git a/bin/botocore/data/workmail/2017-10-01/service-2.json b/bin/botocore/data/workmail/2017-10-01/service-2.json index d0ca5c1e..b9ca6278 100644 --- a/bin/botocore/data/workmail/2017-10-01/service-2.json +++ b/bin/botocore/data/workmail/2017-10-01/service-2.json @@ -27,7 +27,7 @@ {"shape":"OrganizationNotFoundException"}, {"shape":"OrganizationStateException"} ], - "documentation":"

Adds a member to the resource's set of delegates.

", + "documentation":"

Adds a member (user or group) to the resource's set of delegates.

", "idempotent":true }, "AssociateMemberToGroup":{ @@ -48,7 +48,7 @@ {"shape":"OrganizationStateException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Adds a member to the group's set.

", + "documentation":"

Adds a member (user or group) to the group's set.

", "idempotent":true }, "CreateAlias":{ @@ -69,7 +69,7 @@ {"shape":"OrganizationNotFoundException"}, {"shape":"OrganizationStateException"} ], - "documentation":"

Adds an alias to the set of a given member of Amazon WorkMail.

", + "documentation":"

Adds an alias to the set of a given member (user or group) of Amazon WorkMail.

", "idempotent":true }, "CreateGroup":{ @@ -90,7 +90,7 @@ {"shape":"ReservedNameException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Creates a group that can be used in Amazon WorkMail by calling the RegisterToWorkMail operation.

", + "documentation":"

Creates a group that can be used in Amazon WorkMail by calling the RegisterToWorkMail operation.

", "idempotent":true }, "CreateResource":{ @@ -110,7 +110,7 @@ {"shape":"OrganizationStateException"}, {"shape":"ReservedNameException"} ], - "documentation":"

Creates a new Amazon WorkMail resource. The available types are equipment and room.

", + "documentation":"

Creates a new Amazon WorkMail resource.

", "idempotent":true }, "CreateUser":{ @@ -132,7 +132,7 @@ {"shape":"ReservedNameException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Creates a user who can be used in Amazon WorkMail by calling the RegisterToWorkMail operation.

", + "documentation":"

Creates a user who can be used in Amazon WorkMail by calling the RegisterToWorkMail operation.

", "idempotent":true }, "DeleteAlias":{ @@ -150,7 +150,7 @@ {"shape":"OrganizationNotFoundException"}, {"shape":"OrganizationStateException"} ], - "documentation":"

Remove the alias from a set of aliases for a given user.

", + "documentation":"

Remove one or more specified aliases from a set of aliases for a given user.

", "idempotent":true }, "DeleteGroup":{ @@ -188,7 +188,7 @@ {"shape":"OrganizationNotFoundException"}, {"shape":"OrganizationStateException"} ], - "documentation":"

Deletes permissions granted to a user or group.

", + "documentation":"

Deletes permissions granted to a member (user or group).

", "idempotent":true }, "DeleteResource":{ @@ -225,7 +225,7 @@ {"shape":"OrganizationStateException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Deletes a user from Amazon WorkMail and all subsequent systems. The action can't be undone. The mailbox is kept as-is for a minimum of 30 days, without any means to restore it.

", + "documentation":"

Deletes a user from Amazon WorkMail and all subsequent systems. Before you can delete a user, the user state must be DISABLED. Use the DescribeUser action to confirm the user state.

Deleting a user is permanent and cannot be undone. WorkMail archives user mailboxes for 30 days before they are permanently removed.

", "idempotent":true }, "DeregisterFromWorkMail":{ @@ -243,7 +243,7 @@ {"shape":"OrganizationNotFoundException"}, {"shape":"OrganizationStateException"} ], - "documentation":"

Mark a user, group, or resource as no longer used in Amazon WorkMail. This action disassociates the mailbox and schedules it for clean-up. Amazon WorkMail keeps mailboxes for 30 days before they are permanently removed. The functionality in the console is Disable.

", + "documentation":"

Mark a user, group, or resource as no longer used in Amazon WorkMail. This action disassociates the mailbox and schedules it for clean-up. WorkMail keeps mailboxes for 30 days before they are permanently removed. The functionality in the console is Disable.

", "idempotent":true }, "DescribeGroup":{ @@ -351,6 +351,22 @@ "documentation":"

Removes a member from a group.

", "idempotent":true }, + "GetMailboxDetails":{ + "name":"GetMailboxDetails", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMailboxDetailsRequest"}, + "output":{"shape":"GetMailboxDetailsResponse"}, + "errors":[ + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"}, + {"shape":"EntityNotFoundException"} + ], + "documentation":"

Requests a user's mailbox details for a specified organization and user.

", + "idempotent":true + }, "ListAliases":{ "name":"ListAliases", "http":{ @@ -384,7 +400,7 @@ {"shape":"OrganizationNotFoundException"}, {"shape":"OrganizationStateException"} ], - "documentation":"

Returns an overview of the members of a group.

", + "documentation":"

Returns an overview of the members of a group. Users and groups can be members of a group.

", "idempotent":true }, "ListGroups":{ @@ -418,7 +434,7 @@ {"shape":"OrganizationNotFoundException"}, {"shape":"OrganizationStateException"} ], - "documentation":"

Lists the mailbox permissions associated with a mailbox.

", + "documentation":"

Lists the mailbox permissions associated with a user, group, or resource mailbox.

", "idempotent":true }, "ListOrganizations":{ @@ -500,7 +516,7 @@ {"shape":"OrganizationNotFoundException"}, {"shape":"OrganizationStateException"} ], - "documentation":"

Sets permissions for a user or group. This replaces any pre-existing permissions set for the entity.

", + "documentation":"

Sets permissions for a user, group, or resource. This replaces any pre-existing permissions.

", "idempotent":true }, "RegisterToWorkMail":{ @@ -524,7 +540,7 @@ {"shape":"OrganizationNotFoundException"}, {"shape":"OrganizationStateException"} ], - "documentation":"

Registers an existing and disabled user, group, or resource/entity for Amazon WorkMail use by associating a mailbox and calendaring capabilities. It performs no change if the entity is enabled and fails if the entity is deleted. This operation results in the accumulation of costs. For more information, see Pricing. The equivalent console functionality for this operation is Enable. Users can either be created by calling the CreateUser API or they can be synchronized from your directory. For more information, see DeregisterFromWorkMail.

", + "documentation":"

Registers an existing and disabled user, group, or resource for Amazon WorkMail use by associating a mailbox and calendaring capabilities. It performs no change if the user, group, or resource is enabled and fails if the user, group, or resource is deleted. This operation results in the accumulation of costs. For more information, see Pricing. The equivalent console functionality for this operation is Enable.

Users can either be created by calling the CreateUser API operation or they can be synchronized from your directory. For more information, see DeregisterFromWorkMail.

", "idempotent":true }, "ResetPassword":{ @@ -549,6 +565,24 @@ "documentation":"

Allows the administrator to reset the password for a user.

", "idempotent":true }, + "UpdateMailboxQuota":{ + "name":"UpdateMailboxQuota", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateMailboxQuotaRequest"}, + "output":{"shape":"UpdateMailboxQuotaResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"EntityStateException"} + ], + "documentation":"

Updates a user's current mailbox quota for a specified organization and user.

", + "idempotent":true + }, "UpdatePrimaryEmailAddress":{ "name":"UpdatePrimaryEmailAddress", "http":{ @@ -571,7 +605,7 @@ {"shape":"OrganizationStateException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Updates the primary email for an entity. The current email is moved into the list of aliases (or swapped between an existing alias and the current primary email) and the email provided in the input is promoted as the primary.

", + "documentation":"

Updates the primary email for a user, group, or resource. The current email is moved into the list of aliases (or swapped between an existing alias and the current primary email), and the email provided in the input is promoted as the primary.

", "idempotent":true }, "UpdateResource":{ @@ -594,7 +628,7 @@ {"shape":"OrganizationNotFoundException"}, {"shape":"OrganizationStateException"} ], - "documentation":"

Updates data for the resource. It must be preceded by a describe call in order to have the latest information. The dataset in the request should be the one expected when performing another describe call.

", + "documentation":"

Updates data for the resource. To have the latest information, it must be preceded by a DescribeResource call. The dataset in the request should be the one expected when performing another DescribeResource call.

", "idempotent":true } }, @@ -617,7 +651,7 @@ }, "ResourceId":{ "shape":"ResourceId", - "documentation":"

The resource for which members are associated.

" + "documentation":"

The resource for which members (users or groups) are associated.

" }, "EntityId":{ "shape":"WorkMailIdentifier", @@ -644,11 +678,11 @@ }, "GroupId":{ "shape":"WorkMailIdentifier", - "documentation":"

The group for which the member is associated.

" + "documentation":"

The group to which the member (user or group) is associated.

" }, "MemberId":{ "shape":"WorkMailIdentifier", - "documentation":"

The member to associate to the group.

" + "documentation":"

The member (user or group) to associate to the group.

" } } }, @@ -686,15 +720,15 @@ "members":{ "OrganizationId":{ "shape":"OrganizationId", - "documentation":"

The organization under which the member exists.

" + "documentation":"

The organization under which the member (user or group) exists.

" }, "EntityId":{ "shape":"WorkMailIdentifier", - "documentation":"

The alias is added to this Amazon WorkMail entity.

" + "documentation":"

The member (user or group) to which this alias is added.

" }, "Alias":{ "shape":"EmailAddress", - "documentation":"

The alias to add to the user.

" + "documentation":"

The alias to add to the member set.

" } } }, @@ -725,7 +759,7 @@ "members":{ "GroupId":{ "shape":"WorkMailIdentifier", - "documentation":"

The ID of the group.

" + "documentation":"

The identifier of the group.

" } } }, @@ -743,11 +777,11 @@ }, "Name":{ "shape":"ResourceName", - "documentation":"

The name of the created resource.

" + "documentation":"

The name of the new resource.

" }, "Type":{ "shape":"ResourceType", - "documentation":"

The type of the created resource.

" + "documentation":"

The type of the new resource. The available types are equipment and room.

" } } }, @@ -756,7 +790,7 @@ "members":{ "ResourceId":{ "shape":"ResourceId", - "documentation":"

The identifier of the created resource.

" + "documentation":"

The identifier of the new resource.

" } } }, @@ -775,15 +809,15 @@ }, "Name":{ "shape":"UserName", - "documentation":"

The name for the user to be created.

" + "documentation":"

The name for the new user. Simple AD or AD Connector user names have a maximum length of 20. All others have a maximum length of 64.

" }, "DisplayName":{ "shape":"String", - "documentation":"

The display name for the user to be created.

" + "documentation":"

The display name for the new user.

" }, "Password":{ "shape":"Password", - "documentation":"

The password for the user to be created.

" + "documentation":"

The password for the new user.

" } } }, @@ -792,7 +826,7 @@ "members":{ "UserId":{ "shape":"WorkMailIdentifier", - "documentation":"

The information regarding the newly created user.

" + "documentation":"

The identifier for the new user.

" } } }, @@ -805,7 +839,7 @@ "members":{ "Id":{ "shape":"String", - "documentation":"

The identifier for the user or group is associated as the resource's delegate.

" + "documentation":"

The identifier for the user or group associated as the resource's delegate.

" }, "Type":{ "shape":"MemberType", @@ -828,7 +862,7 @@ }, "EntityId":{ "shape":"WorkMailIdentifier", - "documentation":"

The identifier for the Amazon WorkMail entity to have the aliases removed.

" + "documentation":"

The identifier for the member (user or group) from which to have the aliases removed.

" }, "Alias":{ "shape":"EmailAddress", @@ -873,15 +907,15 @@ "members":{ "OrganizationId":{ "shape":"OrganizationId", - "documentation":"

The identifier of the organization under which the entity (user or group) exists.

" + "documentation":"

The identifier of the organization under which the member (user or group) exists.

" }, "EntityId":{ "shape":"WorkMailIdentifier", - "documentation":"

The identifier of the entity (user or group) for which to delete mailbox permissions.

" + "documentation":"

The identifier of the member (user or group)that owns the mailbox.

" }, "GranteeId":{ "shape":"WorkMailIdentifier", - "documentation":"

The identifier of the entity (user or group) for which to delete granted permissions.

" + "documentation":"

The identifier of the member (user or group) for which to delete granted permissions.

" } } }, @@ -899,7 +933,7 @@ "members":{ "OrganizationId":{ "shape":"OrganizationId", - "documentation":"

The identifier associated with the organization for which the resource is deleted.

" + "documentation":"

The identifier associated with the organization from which the resource is deleted.

" }, "ResourceId":{ "shape":"ResourceId", @@ -921,7 +955,7 @@ "members":{ "OrganizationId":{ "shape":"OrganizationId", - "documentation":"

The organization that contains the user.

" + "documentation":"

The organization that contains the user to be deleted.

" }, "UserId":{ "shape":"WorkMailIdentifier", @@ -947,7 +981,7 @@ }, "EntityId":{ "shape":"WorkMailIdentifier", - "documentation":"

The identifier for the entity to be updated.

" + "documentation":"

The identifier for the member (user or group) to be updated.

" } } }, @@ -990,15 +1024,15 @@ }, "State":{ "shape":"EntityState", - "documentation":"

The state of the user: enabled (registered to Amazon WorkMail) or disabled (deregistered or never registered to Amazon WorkMail).

" + "documentation":"

The state of the user: enabled (registered to Amazon WorkMail) or disabled (deregistered or never registered to WorkMail).

" }, "EnabledDate":{ "shape":"Timestamp", - "documentation":"

The date and time when a user was registered to Amazon WorkMail, in UNIX epoch time format.

" + "documentation":"

The date and time when a user was registered to WorkMail, in UNIX epoch time format.

" }, "DisabledDate":{ "shape":"Timestamp", - "documentation":"

The date and time when a user was deregistered from Amazon WorkMail, in UNIX epoch time format.

" + "documentation":"

The date and time when a user was deregistered from WorkMail, in UNIX epoch time format.

" } } }, @@ -1033,7 +1067,7 @@ }, "DirectoryType":{ "shape":"String", - "documentation":"

The type of directory associated with the Amazon WorkMail organization.

" + "documentation":"

The type of directory associated with the WorkMail organization.

" }, "DefaultMailDomain":{ "shape":"String", @@ -1041,11 +1075,11 @@ }, "CompletedDate":{ "shape":"Timestamp", - "documentation":"

The date at which the organization became usable in the Amazon WorkMail context, in UNIX epoch time format.

" + "documentation":"

The date at which the organization became usable in the WorkMail context, in UNIX epoch time format.

" }, "ErrorMessage":{ "shape":"String", - "documentation":"

The (optional) error message indicating if unexpected behavior was encountered with regards to the organization.

" + "documentation":"

(Optional) The error message indicating if unexpected behavior was encountered with regards to the organization.

" } } }, @@ -1091,15 +1125,15 @@ }, "State":{ "shape":"EntityState", - "documentation":"

The state of the resource: enabled (registered to Amazon WorkMail) or disabled (deregistered or never registered to Amazon WorkMail).

" + "documentation":"

The state of the resource: enabled (registered to Amazon WorkMail) or disabled (deregistered or never registered to WorkMail).

" }, "EnabledDate":{ "shape":"Timestamp", - "documentation":"

The date and time when a resource was registered to Amazon WorkMail, in UNIX epoch time format.

" + "documentation":"

The date and time when a resource was enabled for WorkMail, in UNIX epoch time format.

" }, "DisabledDate":{ "shape":"Timestamp", - "documentation":"

The date and time when a resource was registered from Amazon WorkMail, in UNIX epoch time format.

" + "documentation":"

The date and time when a resource was disabled from WorkMail, in UNIX epoch time format.

" } } }, @@ -1141,11 +1175,11 @@ }, "State":{ "shape":"EntityState", - "documentation":"

The state of a user: enabled (registered to Amazon WorkMail) or disabled (deregistered or never registered to Amazon WorkMail).

" + "documentation":"

The state of a user: enabled (registered to Amazon WorkMail) or disabled (deregistered or never registered to WorkMail).

" }, "UserRole":{ "shape":"UserRole", - "documentation":"

In certain cases other entities are modeled as users. If interoperability is enabled, resources are imported into Amazon WorkMail as users. Because different Amazon WorkMail organizations rely on different directory types, administrators can distinguish between a user that is not registered to Amazon WorkMail (is disabled and has a user role) and the administrative users of the directory. The values are USER, RESOURCE, and SYSTEM_USER.

" + "documentation":"

In certain cases, other entities are modeled as users. If interoperability is enabled, resources are imported into Amazon WorkMail as users. Because different WorkMail organizations rely on different directory types, administrators can distinguish between an unregistered user (account is disabled and has a user role) and the directory administrators. The values are USER, RESOURCE, and SYSTEM_USER.

" }, "EnabledDate":{ "shape":"Timestamp", @@ -1162,7 +1196,7 @@ "members":{ "Message":{"shape":"String"} }, - "documentation":"

The Directory Service doesn't recognize the credentials supplied by the Amazon WorkMail service.

", + "documentation":"

The directory service doesn't recognize the credentials supplied by WorkMail.

", "exception":true }, "DirectoryUnavailableException":{ @@ -1170,7 +1204,7 @@ "members":{ "Message":{"shape":"String"} }, - "documentation":"

The directory that you are trying to perform operations on isn't available.

", + "documentation":"

The directory on which you are trying to perform operations isn't available.

", "exception":true }, "DisassociateDelegateFromResourceRequest":{ @@ -1254,7 +1288,7 @@ "members":{ "Message":{"shape":"String"} }, - "documentation":"

The identifier supplied for the entity is valid, but it does not exist in your organization.

", + "documentation":"

The identifier supplied for the user, group, or resource does not exist in your organization.

", "exception":true }, "EntityState":{ @@ -1270,9 +1304,39 @@ "members":{ "Message":{"shape":"String"} }, - "documentation":"

You are performing an operation on an entity that isn't in the expected state, such as trying to update a deleted user.

", + "documentation":"

You are performing an operation on a user, group, or resource that isn't in the expected state, such as trying to delete an active user.

", "exception":true }, + "GetMailboxDetailsRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "UserId" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

The identifier for the organization that contains the user whose mailbox details are being requested.

" + }, + "UserId":{ + "shape":"WorkMailIdentifier", + "documentation":"

The identifier for the user whose mailbox details are being requested.

" + } + } + }, + "GetMailboxDetailsResponse":{ + "type":"structure", + "members":{ + "MailboxQuota":{ + "shape":"MailboxQuota", + "documentation":"

The maximum allowed mailbox size, in MB, for the specified user.

" + }, + "MailboxSize":{ + "shape":"MailboxSize", + "documentation":"

The current mailbox size, in MB, for the specified user.

" + } + } + }, "Group":{ "type":"structure", "members":{ @@ -1318,7 +1382,7 @@ "members":{ "Message":{"shape":"String"} }, - "documentation":"

The configuration for a resource isn't valid. A resource must either be able to auto-respond to requests or have at least one delegate associated that can do it on its behalf.

", + "documentation":"

The configuration for a resource isn't valid. A resource must either be able to auto-respond to requests or have at least one delegate associated that can do so on its behalf.

", "exception":true }, "InvalidParameterException":{ @@ -1388,7 +1452,7 @@ }, "GroupId":{ "shape":"WorkMailIdentifier", - "documentation":"

The identifier for the group to which the members are associated.

" + "documentation":"

The identifier for the group to which the members (users or groups) are associated.

" }, "NextToken":{ "shape":"NextToken", @@ -1453,11 +1517,11 @@ "members":{ "OrganizationId":{ "shape":"OrganizationId", - "documentation":"

The identifier of the organization under which the entity (user or group) exists.

" + "documentation":"

The identifier of the organization under which the user, group, or resource exists.

" }, "EntityId":{ "shape":"WorkMailIdentifier", - "documentation":"

The identifier of the entity (user or group) for which to list mailbox permissions.

" + "documentation":"

The identifier of the user, group, or resource for which to list mailbox permissions.

" }, "NextToken":{ "shape":"NextToken", @@ -1474,7 +1538,7 @@ "members":{ "Permissions":{ "shape":"Permissions", - "documentation":"

One page of the entity's mailbox permissions.

" + "documentation":"

One page of the user, group, or resource mailbox permissions.

" }, "NextToken":{ "shape":"NextToken", @@ -1587,7 +1651,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

TBD

" + "documentation":"

The token to use to retrieve the next page of results. The first call does not contain any tokens.

" }, "MaxResults":{ "shape":"MaxResults", @@ -1624,6 +1688,15 @@ "documentation":"

After a domain has been added to the organization, it must be verified. The domain is not yet verified.

", "exception":true }, + "MailboxQuota":{ + "type":"integer", + "box":true, + "min":1 + }, + "MailboxSize":{ + "type":"double", + "min":0 + }, "MaxResults":{ "type":"integer", "box":true, @@ -1658,7 +1731,7 @@ "documentation":"

The date indicating when the member was disabled from Amazon WorkMail use.

" } }, - "documentation":"

The representation of a group member (user or group).

" + "documentation":"

The representation of a user or group.

" }, "MemberType":{ "type":"string", @@ -1676,7 +1749,7 @@ "members":{ "Message":{"shape":"String"} }, - "documentation":"

The entity (user, group, or user) name isn't unique in Amazon WorkMail.

", + "documentation":"

The user, group, or resource name isn't unique in Amazon WorkMail.

", "exception":true }, "NextToken":{ @@ -1707,7 +1780,7 @@ "members":{ "Message":{"shape":"String"} }, - "documentation":"

The organization must have a valid state (Active or Synchronizing) to perform certain operations on the organization or its entities.

", + "documentation":"

The organization must have a valid state (Active or Synchronizing) to perform certain operations on the organization or its members.

", "exception":true }, "OrganizationSummaries":{ @@ -1734,7 +1807,7 @@ "documentation":"

The state associated with the organization.

" } }, - "documentation":"

The brief overview associated with an organization.

" + "documentation":"

The representation of an organization.

" }, "Password":{ "type":"string", @@ -1752,18 +1825,18 @@ "members":{ "GranteeId":{ "shape":"WorkMailIdentifier", - "documentation":"

The identifier of the entity (user or group) to which the permissions are granted.

" + "documentation":"

The identifier of the user, group, or resource to which the permissions are granted.

" }, "GranteeType":{ "shape":"MemberType", - "documentation":"

The type of entity (user, group) of the entity referred to in GranteeId.

" + "documentation":"

The type of user, group, or resource referred to in GranteeId.

" }, "PermissionValues":{ "shape":"PermissionValues", "documentation":"

The permissions granted to the grantee. SEND_AS allows the grantee to send email as the owner of the mailbox (the grantee is not mentioned on these emails). SEND_ON_BEHALF allows the grantee to send email on behalf of the owner of the mailbox (the grantee is not mentioned as the physical sender of these emails). FULL_ACCESS allows the grantee full access to the mailbox, irrespective of other folder-level permissions set on the mailbox.

" } }, - "documentation":"

Permission granted to an entity (user, group) to access a certain aspect of another entity's mailbox.

" + "documentation":"

Permission granted to a user, group, or resource to access a certain aspect of another user, group, or resource mailbox.

" }, "PermissionType":{ "type":"string", @@ -1792,15 +1865,15 @@ "members":{ "OrganizationId":{ "shape":"OrganizationId", - "documentation":"

The identifier of the organization under which the entity (user or group) exists.

" + "documentation":"

The identifier of the organization under which the user, group, or resource exists.

" }, "EntityId":{ "shape":"WorkMailIdentifier", - "documentation":"

The identifier of the entity (user or group) for which to update mailbox permissions.

" + "documentation":"

The identifier of the user, group, or resource for which to update mailbox permissions.

" }, "GranteeId":{ "shape":"WorkMailIdentifier", - "documentation":"

The identifier of the entity (user or group) to which to grant the permissions.

" + "documentation":"

The identifier of the user, group, or resource to which to grant the permissions.

" }, "PermissionValues":{ "shape":"PermissionValues", @@ -1823,15 +1896,15 @@ "members":{ "OrganizationId":{ "shape":"OrganizationId", - "documentation":"

The identifier for the organization under which the Amazon WorkMail entity exists.

" + "documentation":"

The identifier for the organization under which the user, group, or resource exists.

" }, "EntityId":{ "shape":"WorkMailIdentifier", - "documentation":"

The identifier for the entity to be updated.

" + "documentation":"

The identifier for the user, group, or resource to be updated.

" }, "Email":{ "shape":"EmailAddress", - "documentation":"

The email for the entity to be updated.

" + "documentation":"

The email for the user, group, or resource to be updated.

" } } }, @@ -1845,7 +1918,7 @@ "members":{ "Message":{"shape":"String"} }, - "documentation":"

This entity name is not allowed in Amazon WorkMail.

", + "documentation":"

This user, group, or resource name is not allowed in Amazon WorkMail.

", "exception":true }, "ResetPasswordRequest":{ @@ -1907,7 +1980,7 @@ "documentation":"

The date indicating when the resource was disabled from Amazon WorkMail use.

" } }, - "documentation":"

The overview for a resource containing relevant data regarding it.

" + "documentation":"

The representation of a resource.

" }, "ResourceDelegates":{ "type":"list", @@ -1947,6 +2020,33 @@ "documentation":"

You can't perform a write operation against a read-only directory.

", "exception":true }, + "UpdateMailboxQuotaRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "UserId", + "MailboxQuota" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

The identifier for the organization that contains the user for whom to update the mailbox quota.

" + }, + "UserId":{ + "shape":"WorkMailIdentifier", + "documentation":"

The identifer for the user for whom to update the mailbox quota.

" + }, + "MailboxQuota":{ + "shape":"MailboxQuota", + "documentation":"

The updated mailbox quota, in MB, for the specified user.

" + } + } + }, + "UpdateMailboxQuotaResponse":{ + "type":"structure", + "members":{ + } + }, "UpdatePrimaryEmailAddressRequest":{ "type":"structure", "required":[ @@ -1957,11 +2057,11 @@ "members":{ "OrganizationId":{ "shape":"OrganizationId", - "documentation":"

The organization that contains the entity to update.

" + "documentation":"

The organization that contains the user, group, or resource to update.

" }, "EntityId":{ "shape":"WorkMailIdentifier", - "documentation":"

The entity to update (user, group, or resource).

" + "documentation":"

The user, group, or resource to update.

" }, "Email":{ "shape":"EmailAddress", @@ -2066,5 +2166,5 @@ "min":12 } }, - "documentation":"

Amazon WorkMail is a secure, managed business email and calendaring service with support for existing desktop and mobile email clients. You can access your email, contacts, and calendars using Microsoft Outlook, your browser, or their native iOS and Android email applications. You can integrate Amazon WorkMail with your existing corporate directory and control both the keys that encrypt your data and the location in which your data is stored.

The Amazon WorkMail API is designed for the following scenarios:

  • Listing and describing organizations

  • Managing users

  • Managing groups

  • Managing resources

All Amazon WorkMail API actions are Amazon-authenticated and certificate-signed. They not only require the use of the AWS SDK, but also allow for the exclusive use of IAM users and roles to help facilitate access, trust, and permission policies. By creating a role and allowing an IAM user to access the Amazon WorkMail site, the IAM user gains full administrative visibility into the entire Amazon WorkMail organization (or as set in the IAM policy). This includes, but is not limited to, the ability to create, update, and delete users, groups, and resources. This allows developers to perform the scenarios listed above, as well as give users the ability to grant access on a selective basis using the IAM model.

" + "documentation":"

Amazon WorkMail is a secure, managed business email and calendaring service with support for existing desktop and mobile email clients. You can access your email, contacts, and calendars using Microsoft Outlook, your browser, or other native iOS and Android email applications. You can integrate WorkMail with your existing corporate directory and control both the keys that encrypt your data and the location in which your data is stored.

The WorkMail API is designed for the following scenarios:

  • Listing and describing organizations

  • Managing users

  • Managing groups

  • Managing resources

All WorkMail API operations are Amazon-authenticated and certificate-signed. They not only require the use of the AWS SDK, but also allow for the exclusive use of AWS Identity and Access Management users and roles to help facilitate access, trust, and permission policies. By creating a role and allowing an IAM user to access the WorkMail site, the IAM user gains full administrative visibility into the entire WorkMail organization (or as set in the IAM policy). This includes, but is not limited to, the ability to create, update, and delete users, groups, and resources. This allows developers to perform the scenarios listed above, as well as give users the ability to grant access on a selective basis using the IAM model.

" } diff --git a/bin/botocore/data/workspaces/2015-04-08/paginators-1.json b/bin/botocore/data/workspaces/2015-04-08/paginators-1.json index efa8cbad..57e10e02 100644 --- a/bin/botocore/data/workspaces/2015-04-08/paginators-1.json +++ b/bin/botocore/data/workspaces/2015-04-08/paginators-1.json @@ -15,6 +15,34 @@ "input_token": "NextToken", "output_token": "NextToken", "result_key": "Workspaces" + }, + "DescribeAccountModifications": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "AccountModifications" + }, + "DescribeIpGroups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Result" + }, + "DescribeWorkspaceImages": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Images" + }, + "DescribeWorkspacesConnectionStatus": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "WorkspacesConnectionStatus" + }, + "ListAvailableManagementCidrRanges": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ManagementCidrRanges" } } } diff --git a/bin/botocore/data/workspaces/2015-04-08/service-2.json b/bin/botocore/data/workspaces/2015-04-08/service-2.json index 07a1aa6b..9f5855f8 100644 --- a/bin/botocore/data/workspaces/2015-04-08/service-2.json +++ b/bin/botocore/data/workspaces/2015-04-08/service-2.json @@ -77,7 +77,7 @@ {"shape":"InvalidParameterValuesException"}, {"shape":"ResourceLimitExceededException"} ], - "documentation":"

Creates the specified tags for the specified WorkSpace.

" + "documentation":"

Creates the specified tags for the specified WorkSpaces resource.

" }, "CreateWorkspaces":{ "name":"CreateWorkspaces", @@ -121,7 +121,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterValuesException"} ], - "documentation":"

Deletes the specified tags from the specified WorkSpace.

" + "documentation":"

Deletes the specified tags from the specified WorkSpaces resource.

" }, "DeleteWorkspaceImage":{ "name":"DeleteWorkspaceImage", @@ -204,7 +204,7 @@ "errors":[ {"shape":"ResourceNotFoundException"} ], - "documentation":"

Describes the specified tags for the specified WorkSpace.

" + "documentation":"

Describes the specified tags for the specified WorkSpaces resource.

" }, "DescribeWorkspaceBundles":{ "name":"DescribeWorkspaceBundles", @@ -301,7 +301,8 @@ {"shape":"ResourceAlreadyExistsException"}, {"shape":"ResourceNotFoundException"}, {"shape":"OperationNotSupportedException"}, - {"shape":"AccessDeniedException"} + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValuesException"} ], "documentation":"

Imports the specified Windows 7 or Windows 10 bring your own license (BYOL) image into Amazon WorkSpaces. The image must be an already licensed EC2 image that is in your AWS account, and you must own the image.

" }, @@ -349,7 +350,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

Modifies the properties of the specified Amazon WorkSpaces client.

" + "documentation":"

Modifies the properties of the specified Amazon WorkSpaces clients.

" }, "ModifyWorkspaceProperties":{ "name":"ModifyWorkspaceProperties", @@ -403,7 +404,7 @@ }, "input":{"shape":"RebuildWorkspacesRequest"}, "output":{"shape":"RebuildWorkspacesResult"}, - "documentation":"

Rebuilds the specified WorkSpace.

You cannot rebuild a WorkSpace unless its state is AVAILABLE, ERROR, or UNHEALTHY.

Rebuilding a WorkSpace is a potentially destructive action that can result in the loss of data. For more information, see Rebuild a WorkSpace.

This operation is asynchronous and returns before the WorkSpaces have been completely rebuilt.

" + "documentation":"

Rebuilds the specified WorkSpace.

You cannot rebuild a WorkSpace unless its state is AVAILABLE, ERROR, or UNHEALTHY.

Rebuilding a WorkSpace is a potentially destructive action that can result in the loss of data. For more information, see Rebuild a WorkSpace.

This operation is asynchronous and returns before the WorkSpaces have been completely rebuilt.

" }, "RevokeIpRules":{ "name":"RevokeIpRules", @@ -516,6 +517,7 @@ "type":"list", "member":{"shape":"AccountModification"} }, + "AdditionalInfo":{"type":"string"}, "Alias":{"type":"string"}, "AssociateIpGroupsRequest":{ "type":"structure", @@ -651,6 +653,10 @@ "UserRules":{ "shape":"IpRuleList", "documentation":"

The rules to add to the group.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags. Each WorkSpaces resource can have a maximum of 50 tags.

" } } }, @@ -672,11 +678,11 @@ "members":{ "ResourceId":{ "shape":"NonEmptyString", - "documentation":"

The identifier of the WorkSpace. To find this ID, use DescribeWorkspaces.

" + "documentation":"

The identifier of the WorkSpaces resource. The supported resource types are WorkSpaces, registered directories, images, custom bundles, and IP access control groups.

" }, "Tags":{ "shape":"TagList", - "documentation":"

The tags. Each WorkSpace can have a maximum of 50 tags.

" + "documentation":"

The tags. Each WorkSpaces resource can have a maximum of 50 tags.

" } } }, @@ -786,7 +792,7 @@ "members":{ "ResourceId":{ "shape":"NonEmptyString", - "documentation":"

The identifier of the WorkSpace. To find this ID, use DescribeWorkspaces.

" + "documentation":"

The identifier of the WorkSpaces resource. The supported resource types are WorkSpaces, registered directories, images, custom bundles, and IP access control groups.

" }, "TagKeys":{ "shape":"TagKeyList", @@ -860,7 +866,7 @@ "members":{ "ResourceIds":{ "shape":"ResourceIdList", - "documentation":"

The resource identifiers, in the form of directory IDs.

" + "documentation":"

The resource identifier, in the form of directory IDs.

" } } }, @@ -909,7 +915,7 @@ "members":{ "ResourceId":{ "shape":"NonEmptyString", - "documentation":"

The identifier of the WorkSpace. To find this ID, use DescribeWorkspaces.

" + "documentation":"

The identifier of the WorkSpaces resource. The supported resource types are WorkSpaces, registered directories, images, custom bundles, and IP access control groups.

" } } }, @@ -1208,6 +1214,10 @@ "ImageDescription":{ "shape":"WorkspaceImageDescription", "documentation":"

The description of the WorkSpace image.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags. Each WorkSpaces resource can have a maximum of 50 tags.

" } } }, @@ -1372,7 +1382,10 @@ }, "ModifyClientPropertiesRequest":{ "type":"structure", - "required":["ResourceId"], + "required":[ + "ResourceId", + "ClientProperties" + ], "members":{ "ResourceId":{ "shape":"NonEmptyString", @@ -1535,6 +1548,10 @@ "RebuildWorkspaceRequests":{ "shape":"RebuildWorkspaceRequests", "documentation":"

The WorkSpace to rebuild. You can specify a single WorkSpace.

" + }, + "AdditionalInfo":{ + "shape":"AdditionalInfo", + "documentation":"

Reserved.

" } } }, @@ -1834,7 +1851,7 @@ "members":{ "message":{"shape":"ExceptionMessage"} }, - "documentation":"

The configuration of this WorkSpace is not supported for this operation. For more information, see the Amazon WorkSpaces Administration Guide.

", + "documentation":"

The configuration of this WorkSpace is not supported for this operation. For more information, see the Amazon WorkSpaces Administration Guide.

", "exception":true }, "UpdateRulesOfIpGroupRequest":{ @@ -2185,7 +2202,7 @@ "members":{ "RunningMode":{ "shape":"RunningMode", - "documentation":"

The running mode. For more information, see Manage the WorkSpace Running Mode.

" + "documentation":"

The running mode. For more information, see Manage the WorkSpace Running Mode.

" }, "RunningModeAutoStopTimeoutInMinutes":{ "shape":"RunningModeAutoStopTimeoutInMinutes", diff --git a/bin/botocore/data/xray/2016-04-12/paginators-1.json b/bin/botocore/data/xray/2016-04-12/paginators-1.json index 00d9811c..c416bf87 100644 --- a/bin/botocore/data/xray/2016-04-12/paginators-1.json +++ b/bin/botocore/data/xray/2016-04-12/paginators-1.json @@ -3,12 +3,20 @@ "BatchGetTraces": { "input_token": "NextToken", "output_token": "NextToken", - "result_key": "Traces" + "result_key": "Traces", + "non_aggregate_keys": [ + "UnprocessedTraceIds" + ] }, "GetServiceGraph": { "input_token": "NextToken", "output_token": "NextToken", - "result_key": "Services" + "result_key": "Services", + "non_aggregate_keys": [ + "StartTime", + "EndTime", + "ContainsOldGroupVersions" + ] }, "GetTraceGraph": { "input_token": "NextToken", @@ -18,7 +26,34 @@ "GetTraceSummaries": { "input_token": "NextToken", "output_token": "NextToken", - "result_key": "TraceSummaries" + "result_key": "TraceSummaries", + "non_aggregate_keys": [ + "TracesProcessedCount", + "ApproximateTime" + ] + }, + "GetGroups": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Groups" + }, + "GetSamplingRules": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "SamplingRuleRecords" + }, + "GetSamplingStatisticSummaries": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "SamplingStatisticSummaries" + }, + "GetTimeSeriesServiceStatistics": { + "input_token": "NextToken", + "non_aggregate_keys": [ + "ContainsOldGroupVersions" + ], + "output_token": "NextToken", + "result_key": "TimeSeriesServiceStatistics" } } } diff --git a/bin/botocore/data/xray/2016-04-12/service-2.json b/bin/botocore/data/xray/2016-04-12/service-2.json index 6bfb48e5..9271ab6f 100644 --- a/bin/botocore/data/xray/2016-04-12/service-2.json +++ b/bin/botocore/data/xray/2016-04-12/service-2.json @@ -179,6 +179,20 @@ ], "documentation":"

Retrieves a document that describes services that process incoming requests, and downstream services that they call as a result. Root services process incoming requests and make calls to downstream services. Root services are applications that use the AWS X-Ray SDK. Downstream services can be other applications, AWS resources, HTTP web APIs, or SQL databases.

" }, + "GetTimeSeriesServiceStatistics":{ + "name":"GetTimeSeriesServiceStatistics", + "http":{ + "method":"POST", + "requestUri":"/TimeSeriesServiceStatistics" + }, + "input":{"shape":"GetTimeSeriesServiceStatisticsRequest"}, + "output":{"shape":"GetTimeSeriesServiceStatisticsResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"} + ], + "documentation":"

Get an aggregation of service statistics defined by a specific time range.

" + }, "GetTraceGraph":{ "name":"GetTraceGraph", "http":{ @@ -205,7 +219,7 @@ {"shape":"InvalidRequestException"}, {"shape":"ThrottledException"} ], - "documentation":"

Retrieves IDs and metadata for traces available for a specified time frame using an optional filter. To get the full traces, pass the trace IDs to BatchGetTraces.

A filter expression can target traced requests that hit specific service nodes or edges, have errors, or come from a known user. For example, the following filter expression targets traces that pass through api.example.com:

service(\"api.example.com\")

This filter expression finds traces that have an annotation named account with the value 12345:

annotation.account = \"12345\"

For a full list of indexed fields and keywords that you can use in filter expressions, see Using Filter Expressions in the AWS X-Ray Developer Guide.

" + "documentation":"

Retrieves IDs and metadata for traces available for a specified time frame using an optional filter. To get the full traces, pass the trace IDs to BatchGetTraces.

A filter expression can target traced requests that hit specific service nodes or edges, have errors, or come from a known user. For example, the following filter expression targets traces that pass through api.example.com:

service(\"api.example.com\")

This filter expression finds traces that have an annotation named account with the value 12345:

annotation.account = \"12345\"

For a full list of indexed fields and keywords that you can use in filter expressions, see Using Filter Expressions in the AWS X-Ray Developer Guide.

" }, "PutEncryptionConfig":{ "name":"PutEncryptionConfig", @@ -610,6 +624,11 @@ "KMS" ] }, + "EntitySelectorExpression":{ + "type":"string", + "max":500, + "min":1 + }, "ErrorMessage":{"type":"string"}, "ErrorRootCause":{ "type":"structure", @@ -783,11 +802,7 @@ }, "documentation":"

Information about requests that failed with a 5xx Server Error status code.

" }, - "FilterExpression":{ - "type":"string", - "max":2000, - "min":1 - }, + "FilterExpression":{"type":"string"}, "FixedRate":{ "type":"double", "max":1, @@ -981,6 +996,60 @@ } } }, + "GetTimeSeriesServiceStatisticsRequest":{ + "type":"structure", + "required":[ + "StartTime", + "EndTime" + ], + "members":{ + "StartTime":{ + "shape":"Timestamp", + "documentation":"

The start of the time frame for which to aggregate statistics.

" + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

The end of the time frame for which to aggregate statistics.

" + }, + "GroupName":{ + "shape":"GroupName", + "documentation":"

The case-sensitive name of the group for which to pull statistics from.

" + }, + "GroupARN":{ + "shape":"GroupARN", + "documentation":"

The ARN of the group for which to pull statistics from.

" + }, + "EntitySelectorExpression":{ + "shape":"EntitySelectorExpression", + "documentation":"

A filter expression defining entities that will be aggregated for statistics. Supports ID, service, and edge functions. If no selector expression is specified, edge statistics are returned.

" + }, + "Period":{ + "shape":"NullableInteger", + "documentation":"

Aggregation period in seconds.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Pagination token. Not used.

" + } + } + }, + "GetTimeSeriesServiceStatisticsResult":{ + "type":"structure", + "members":{ + "TimeSeriesServiceStatistics":{ + "shape":"TimeSeriesServiceStatisticsList", + "documentation":"

The collection of statistics.

" + }, + "ContainsOldGroupVersions":{ + "shape":"Boolean", + "documentation":"

A flag indicating whether or not a group's filter expression has been consistent, or if a returned aggregation may show statistics from an older version of the group's filter expression.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Pagination token. Not used.

" + } + } + }, "GetTraceGraphRequest":{ "type":"structure", "required":["TraceIds"], @@ -1023,10 +1092,18 @@ "shape":"Timestamp", "documentation":"

The end of the time frame for which to retrieve traces.

" }, + "TimeRangeType":{ + "shape":"TimeRangeType", + "documentation":"

A parameter to indicate whether to query trace summaries by TraceId or Event time.

" + }, "Sampling":{ "shape":"NullableBoolean", "documentation":"

Set to true to get summaries for only a subset of available traces.

" }, + "SamplingStrategy":{ + "shape":"SamplingStrategy", + "documentation":"

A paramater to indicate whether to enable sampling on trace summaries. Input parameters are Name and Value.

" + }, "FilterExpression":{ "shape":"FilterExpression", "documentation":"

Specify a filter expression to retrieve trace summaries for services or requests that meet certain requirements.

" @@ -1606,6 +1683,27 @@ "member":{"shape":"SamplingStatisticsDocument"}, "max":25 }, + "SamplingStrategy":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"SamplingStrategyName", + "documentation":"

The name of a sampling rule.

" + }, + "Value":{ + "shape":"NullableDouble", + "documentation":"

The value of a sampling rule.

" + } + }, + "documentation":"

The name and value of a sampling rule to apply to a trace summary.

" + }, + "SamplingStrategyName":{ + "type":"string", + "enum":[ + "PartialScan", + "FixedRate" + ] + }, "SamplingTargetDocument":{ "type":"structure", "members":{ @@ -1830,6 +1928,33 @@ "error":{"httpStatusCode":429}, "exception":true }, + "TimeRangeType":{ + "type":"string", + "enum":[ + "TraceId", + "Event" + ] + }, + "TimeSeriesServiceStatistics":{ + "type":"structure", + "members":{ + "Timestamp":{ + "shape":"Timestamp", + "documentation":"

Timestamp of the window for which statistics are aggregated.

" + }, + "EdgeSummaryStatistics":{"shape":"EdgeStatistics"}, + "ServiceSummaryStatistics":{"shape":"ServiceStatistics"}, + "ResponseTimeHistogram":{ + "shape":"Histogram", + "documentation":"

The response time histogram for the selected entities.

" + } + }, + "documentation":"

A list of TimeSeriesStatistic structures.

" + }, + "TimeSeriesServiceStatisticsList":{ + "type":"list", + "member":{"shape":"TimeSeriesServiceStatistics"} + }, "Timestamp":{"type":"timestamp"}, "Trace":{ "type":"structure", @@ -1957,6 +2082,10 @@ "Revision":{ "shape":"Integer", "documentation":"

The revision number of a trace.

" + }, + "MatchedEventTime":{ + "shape":"Timestamp", + "documentation":"

The matched time stamp of a defined event.

" } }, "documentation":"

Metadata generated from the segment documents in a trace.

" diff --git a/bin/botocore/discovery.py b/bin/botocore/discovery.py new file mode 100644 index 00000000..5c3269b4 --- /dev/null +++ b/bin/botocore/discovery.py @@ -0,0 +1,258 @@ +# Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +import time +import logging +import weakref + +from botocore import xform_name +from botocore.exceptions import BotoCoreError, HTTPClientError, ConnectionError +from botocore.utils import CachedProperty + +logger = logging.getLogger(__name__) + + +class EndpointDiscoveryException(BotoCoreError): + pass + + +class EndpointDiscoveryRequired(EndpointDiscoveryException): + """ Endpoint Discovery is disabled but is required for this operation. """ + fmt = 'Endpoint Discovery is not enabled but this operation requires it.' + + +class EndpointDiscoveryRefreshFailed(EndpointDiscoveryException): + """ Endpoint Discovery failed to the refresh the known endpoints. """ + fmt = 'Endpoint Discovery failed to refresh the required endpoints.' + + +def block_endpoint_discovery_required_operations(model, **kwargs): + endpoint_discovery = model.endpoint_discovery + if endpoint_discovery and endpoint_discovery.get('required'): + raise EndpointDiscoveryRequired() + + +class EndpointDiscoveryModel(object): + def __init__(self, service_model): + self._service_model = service_model + + @CachedProperty + def discovery_operation_name(self): + discovery_operation = self._service_model.endpoint_discovery_operation + return xform_name(discovery_operation.name) + + @CachedProperty + def discovery_operation_keys(self): + discovery_operation = self._service_model.endpoint_discovery_operation + keys = [] + if discovery_operation.input_shape: + keys = list(discovery_operation.input_shape.members.keys()) + return keys + + def discovery_required_for(self, operation_name): + operation_model = self._service_model.operation_model(operation_name) + return operation_model.endpoint_discovery.get('required', False) + + def discovery_operation_kwargs(self, **kwargs): + input_keys = self.discovery_operation_keys + # Operation and Identifiers are only sent if there are Identifiers + if not kwargs.get('Identifiers'): + kwargs.pop('Operation', None) + kwargs.pop('Identifiers', None) + return dict((k, v) for k, v in kwargs.items() if k in input_keys) + + def gather_identifiers(self, operation, params): + return self._gather_ids(operation.input_shape, params) + + def _gather_ids(self, shape, params, ids=None): + # Traverse the input shape and corresponding parameters, gathering + # any input fields labeled as an endpoint discovery id + if ids is None: + ids = {} + for member_name, member_shape in shape.members.items(): + if member_shape.metadata.get('endpointdiscoveryid'): + ids[member_name] = params[member_name] + elif member_shape.type_name == 'structure': + self._gather_ids(member_shape, params[member_name], ids) + return ids + + +class EndpointDiscoveryManager(object): + def __init__(self, client, cache=None, current_time=None): + if cache is None: + cache = {} + self._cache = cache + self._failed_attempts = {} + if current_time is None: + current_time = time.time + self._time = current_time + + # This needs to be a weak ref in order to prevent memory leaks on + # python 2.6 + self._client = weakref.proxy(client) + self._model = EndpointDiscoveryModel(client.meta.service_model) + + def _parse_endpoints(self, response): + endpoints = response['Endpoints'] + current_time = self._time() + for endpoint in endpoints: + cache_time = endpoint.get('CachePeriodInMinutes') + endpoint['Expiration'] = current_time + cache_time * 60 + return endpoints + + def _cache_item(self, value): + if isinstance(value, dict): + return tuple(sorted(value.items())) + else: + return value + + def _create_cache_key(self, **kwargs): + kwargs = self._model.discovery_operation_kwargs(**kwargs) + return tuple(self._cache_item(v) for k, v in sorted(kwargs.items())) + + def gather_identifiers(self, operation, params): + return self._model.gather_identifiers(operation, params) + + def delete_endpoints(self, **kwargs): + cache_key = self._create_cache_key(**kwargs) + if cache_key in self._cache: + del self._cache[cache_key] + + def _describe_endpoints(self, **kwargs): + # This is effectively a proxy to whatever name/kwargs the service + # supports for endpoint discovery. + kwargs = self._model.discovery_operation_kwargs(**kwargs) + operation_name = self._model.discovery_operation_name + discovery_operation = getattr(self._client, operation_name) + logger.debug('Discovering endpoints with kwargs: %s', kwargs) + return discovery_operation(**kwargs) + + def _get_current_endpoints(self, key): + if key not in self._cache: + return None + now = self._time() + return [e for e in self._cache[key] if now < e['Expiration']] + + def _refresh_current_endpoints(self, **kwargs): + cache_key = self._create_cache_key(**kwargs) + try: + response = self._describe_endpoints(**kwargs) + endpoints = self._parse_endpoints(response) + self._cache[cache_key] = endpoints + self._failed_attempts.pop(cache_key, None) + return endpoints + except (ConnectionError, HTTPClientError): + self._failed_attempts[cache_key] = self._time() + 60 + return None + + def _recently_failed(self, cache_key): + if cache_key in self._failed_attempts: + now = self._time() + if now < self._failed_attempts[cache_key]: + return True + del self._failed_attempts[cache_key] + return False + + def _select_endpoint(self, endpoints): + return endpoints[0]['Address'] + + def describe_endpoint(self, **kwargs): + # Get the endpoint for the provided operation and identifiers + cache_key = self._create_cache_key(**kwargs) + endpoints = self._get_current_endpoints(cache_key) + if endpoints: + return self._select_endpoint(endpoints) + # All known endpoints are stale + recently_failed = self._recently_failed(cache_key) + if not recently_failed: + # We haven't failed to discover recently, go ahead and refresh + endpoints = self._refresh_current_endpoints(**kwargs) + if endpoints: + return self._select_endpoint(endpoints) + # Discovery has failed recently, do our best to get an endpoint + logger.debug('Endpoint Discovery has failed for: %s', kwargs) + stale_entries = self._cache.get(cache_key, None) + if stale_entries: + # We have stale entries, use those while discovery is failing + return self._select_endpoint(stale_entries) + if self._model.discovery_required_for(kwargs['Operation']): + # It looks strange to be checking recently_failed again but, + # this informs us as to whether or not we tried to refresh earlier + if recently_failed: + # Discovery is required and we haven't already refreshed + endpoints = self._refresh_current_endpoints(**kwargs) + if endpoints: + return self._select_endpoint(endpoints) + # No endpoints even refresh, raise hard error + raise EndpointDiscoveryRefreshFailed() + # Discovery is optional, just use the default endpoint for now + return None + + +class EndpointDiscoveryHandler(object): + def __init__(self, manager): + self._manager = manager + + def register(self, events, service_id): + events.register( + 'before-parameter-build.%s' % service_id, self.gather_identifiers + ) + events.register_first( + 'request-created.%s' % service_id, self.discover_endpoint + ) + events.register('needs-retry.%s' % service_id, self.handle_retries) + + def gather_identifiers(self, params, model, context, **kwargs): + endpoint_discovery = model.endpoint_discovery + # Only continue if the operation supports endpoint discovery + if endpoint_discovery is None: + return + ids = self._manager.gather_identifiers(model, params) + context['discovery'] = {'identifiers': ids} + + def discover_endpoint(self, request, operation_name, **kwargs): + ids = request.context.get('discovery', {}).get('identifiers') + if ids is None: + return + endpoint = self._manager.describe_endpoint( + Operation=operation_name, Identifiers=ids + ) + if endpoint is None: + logger.debug('Failed to discover and inject endpoint') + return + if not endpoint.startswith('http'): + endpoint = 'https://' + endpoint + logger.debug('Injecting discovered endpoint: %s', endpoint) + request.url = endpoint + + def handle_retries(self, request_dict, response, operation, **kwargs): + if response is None: + return None + + _, response = response + status = response.get('ResponseMetadata', {}).get('HTTPStatusCode') + error_code = response.get('Error', {}).get('Code') + if status != 421 and error_code != 'InvalidEndpointException': + return None + + context = request_dict.get('context', {}) + ids = context.get('discovery', {}).get('identifiers') + if ids is None: + return None + + # Delete the cached endpoints, forcing a refresh on retry + # TODO: Improve eviction behavior to only evict the bad endpoint if + # there are multiple. This will almost certainly require a lock. + self._manager.delete_endpoints( + Operation=operation.name, Identifiers=ids + ) + return 0 diff --git a/bin/botocore/docs/__init__.pyc b/bin/botocore/docs/__init__.pyc deleted file mode 100644 index c9c17af9..00000000 Binary files a/bin/botocore/docs/__init__.pyc and /dev/null differ diff --git a/bin/botocore/docs/bcdoc/__init__.pyc b/bin/botocore/docs/bcdoc/__init__.pyc deleted file mode 100644 index 85c737fa..00000000 Binary files a/bin/botocore/docs/bcdoc/__init__.pyc and /dev/null differ diff --git a/bin/botocore/docs/bcdoc/docevents.pyc b/bin/botocore/docs/bcdoc/docevents.pyc deleted file mode 100644 index 23ec3441..00000000 Binary files a/bin/botocore/docs/bcdoc/docevents.pyc and /dev/null differ diff --git a/bin/botocore/docs/bcdoc/docstringparser.pyc b/bin/botocore/docs/bcdoc/docstringparser.pyc deleted file mode 100644 index 192d305c..00000000 Binary files a/bin/botocore/docs/bcdoc/docstringparser.pyc and /dev/null differ diff --git a/bin/botocore/docs/bcdoc/restdoc.pyc b/bin/botocore/docs/bcdoc/restdoc.pyc deleted file mode 100644 index a4bd9e7b..00000000 Binary files a/bin/botocore/docs/bcdoc/restdoc.pyc and /dev/null differ diff --git a/bin/botocore/docs/bcdoc/style.pyc b/bin/botocore/docs/bcdoc/style.pyc deleted file mode 100644 index 3d176b29..00000000 Binary files a/bin/botocore/docs/bcdoc/style.pyc and /dev/null differ diff --git a/bin/botocore/docs/bcdoc/textwriter.pyc b/bin/botocore/docs/bcdoc/textwriter.pyc deleted file mode 100644 index 7963c2ef..00000000 Binary files a/bin/botocore/docs/bcdoc/textwriter.pyc and /dev/null differ diff --git a/bin/botocore/docs/client.pyc b/bin/botocore/docs/client.pyc deleted file mode 100644 index 0abbe7bd..00000000 Binary files a/bin/botocore/docs/client.pyc and /dev/null differ diff --git a/bin/botocore/docs/docstring.pyc b/bin/botocore/docs/docstring.pyc deleted file mode 100644 index 2d46efb1..00000000 Binary files a/bin/botocore/docs/docstring.pyc and /dev/null differ diff --git a/bin/botocore/docs/example.pyc b/bin/botocore/docs/example.pyc deleted file mode 100644 index a72fa69a..00000000 Binary files a/bin/botocore/docs/example.pyc and /dev/null differ diff --git a/bin/botocore/docs/method.pyc b/bin/botocore/docs/method.pyc deleted file mode 100644 index d1e54aea..00000000 Binary files a/bin/botocore/docs/method.pyc and /dev/null differ diff --git a/bin/botocore/docs/paginator.py b/bin/botocore/docs/paginator.py index 13e0bb22..03c17d63 100644 --- a/bin/botocore/docs/paginator.py +++ b/bin/botocore/docs/paginator.py @@ -108,9 +108,10 @@ def document_paginate_method(section, paginator_name, event_emitter, 'will be provided in the output that you can use to ' 'resume pagination.

')) - pagination_config_members['PageSize'] = DocumentedShape( - name='PageSize', type_name='integer', - documentation='

The size of each page.

') + if paginator_config.get('limit_key', None): + pagination_config_members['PageSize'] = DocumentedShape( + name='PageSize', type_name='integer', + documentation='

The size of each page.

') pagination_config_members['StartingToken'] = DocumentedShape( name='StartingToken', type_name='string', diff --git a/bin/botocore/docs/paginator.pyc b/bin/botocore/docs/paginator.pyc deleted file mode 100644 index 7843af62..00000000 Binary files a/bin/botocore/docs/paginator.pyc and /dev/null differ diff --git a/bin/botocore/docs/params.pyc b/bin/botocore/docs/params.pyc deleted file mode 100644 index 97e09f37..00000000 Binary files a/bin/botocore/docs/params.pyc and /dev/null differ diff --git a/bin/botocore/docs/service.py b/bin/botocore/docs/service.py index c9b5d7b3..92bc94b5 100644 --- a/bin/botocore/docs/service.py +++ b/bin/botocore/docs/service.py @@ -26,6 +26,7 @@ def __init__(self, service_name, session): self._client = self._session.create_client( service_name, region_name='us-east-1', aws_access_key_id='foo', aws_secret_access_key='bar') + self._event_emitter = self._client.meta.events self.sections = [ 'title', @@ -52,6 +53,11 @@ def document_service(self): def title(self, section): section.style.h1(self._client.__class__.__name__) + self._event_emitter.emit( + 'docs.%s.%s' % ('title', + self._service_name), + section=section + ) def table_of_contents(self, section): section.style.table_of_contents(title='Table of Contents', depth=2) diff --git a/bin/botocore/docs/service.pyc b/bin/botocore/docs/service.pyc deleted file mode 100644 index 817b7fa7..00000000 Binary files a/bin/botocore/docs/service.pyc and /dev/null differ diff --git a/bin/botocore/docs/shape.pyc b/bin/botocore/docs/shape.pyc deleted file mode 100644 index c1822a51..00000000 Binary files a/bin/botocore/docs/shape.pyc and /dev/null differ diff --git a/bin/botocore/docs/sharedexample.pyc b/bin/botocore/docs/sharedexample.pyc deleted file mode 100644 index f6f897e2..00000000 Binary files a/bin/botocore/docs/sharedexample.pyc and /dev/null differ diff --git a/bin/botocore/docs/utils.pyc b/bin/botocore/docs/utils.pyc deleted file mode 100644 index f893ae7c..00000000 Binary files a/bin/botocore/docs/utils.pyc and /dev/null differ diff --git a/bin/botocore/docs/waiter.pyc b/bin/botocore/docs/waiter.pyc deleted file mode 100644 index 20aea798..00000000 Binary files a/bin/botocore/docs/waiter.pyc and /dev/null differ diff --git a/bin/botocore/endpoint.py b/bin/botocore/endpoint.py index 956eb15b..2dbb119b 100644 --- a/bin/botocore/endpoint.py +++ b/bin/botocore/endpoint.py @@ -130,8 +130,9 @@ def prepare_request(self, request): def _send_request(self, request_dict, operation_model): attempts = 1 request = self.create_request(request_dict, operation_model) + context = request_dict['context'] success_response, exception = self._get_response( - request, operation_model, attempts) + request, operation_model, context) while self._needs_retry(attempts, operation_model, request_dict, success_response, exception): attempts += 1 @@ -144,7 +145,7 @@ def _send_request(self, request_dict, operation_model): request = self.create_request( request_dict, operation_model) success_response, exception = self._get_response( - request, operation_model, attempts) + request, operation_model, context) if success_response is not None and \ 'ResponseMetadata' in success_response[1]: # We want to share num retries, not num attempts. @@ -156,12 +157,32 @@ def _send_request(self, request_dict, operation_model): else: return success_response - def _get_response(self, request, operation_model, attempts): + def _get_response(self, request, operation_model, context): # This will return a tuple of (success_response, exception) # and success_response is itself a tuple of # (http_response, parsed_dict). # If an exception occurs then the success_response is None. # If no exception occurs then exception is None. + success_response, exception = self._do_get_response( + request, operation_model) + kwargs_to_emit = { + 'response_dict': None, + 'parsed_response': None, + 'context': context, + 'exception': exception, + } + if success_response is not None: + http_response, parsed_response = success_response + kwargs_to_emit['parsed_response'] = parsed_response + kwargs_to_emit['response_dict'] = convert_to_response_dict( + http_response, operation_model) + service_id = operation_model.service_model.service_id.hyphenize() + self._event_emitter.emit( + 'response-received.%s.%s' % ( + service_id, operation_model.name), **kwargs_to_emit) + return success_response, exception + + def _do_get_response(self, request, operation_model): try: logger.debug("Sending http request: %s", request) history_recorder.record('HTTP_REQUEST', { diff --git a/bin/botocore/endpoint.pyc b/bin/botocore/endpoint.pyc deleted file mode 100644 index 5c8eef4e..00000000 Binary files a/bin/botocore/endpoint.pyc and /dev/null differ diff --git a/bin/botocore/errorfactory.pyc b/bin/botocore/errorfactory.pyc deleted file mode 100644 index fb661781..00000000 Binary files a/bin/botocore/errorfactory.pyc and /dev/null differ diff --git a/bin/botocore/eventstream.py b/bin/botocore/eventstream.py index ea8a076d..ddb822dd 100644 --- a/bin/botocore/eventstream.py +++ b/bin/botocore/eventstream.py @@ -61,6 +61,17 @@ def __init__(self, expected, calculated): super(ChecksumMismatch, self).__init__(message) +class NoInitialResponseError(ParserError): + """An event of type initial-response was not received. + + This exception is raised when the event stream produced no events or + the first event in the stream was not of the initial-response type. + """ + def __init__(self): + message = 'First event was not of the initial-response type' + super(NoInitialResponseError, self).__init__(message) + + class DecodeUtils(object): """Unpacking utility functions used in the decoder. @@ -312,7 +323,8 @@ def __init__(self, prelude, headers, payload, crc): self.crc = crc def to_response_dict(self, status_code=200): - if self.headers.get(':message-type') == 'error': + message_type = self.headers.get(':message-type') + if message_type == 'error' or message_type == 'exception': status_code = 400 return { 'status_code': status_code, @@ -552,15 +564,20 @@ def __init__(self, raw_stream, output_shape, parser, operation_name): self._output_shape = output_shape self._operation_name = operation_name self._parser = parser - self._buffer = EventStreamBuffer() + self._event_generator = self._create_raw_event_generator() def __iter__(self): - for data in self._raw_stream.stream(): - self._buffer.add_data(data) - for event in self._buffer: - parsed_event = self._parse_event(event) - if parsed_event: - yield parsed_event + for event in self._event_generator: + parsed_event = self._parse_event(event) + if parsed_event: + yield parsed_event + + def _create_raw_event_generator(self): + event_stream_buffer = EventStreamBuffer() + for chunk in self._raw_stream.stream(): + event_stream_buffer.add_data(chunk) + for event in event_stream_buffer: + yield event def _parse_event(self, event): response_dict = event.to_response_dict() @@ -570,6 +587,16 @@ def _parse_event(self, event): else: raise EventStreamError(parsed_response, self._operation_name) + def get_initial_response(self): + try: + initial_event = next(self._event_generator) + event_type = initial_event.headers.get(':event-type') + if event_type == 'initial-response': + return initial_event + except StopIteration: + pass + raise NoInitialResponseError() + def close(self): """Closes the underlying streaming body. """ self._raw_stream.close() diff --git a/bin/botocore/eventstream.pyc b/bin/botocore/eventstream.pyc deleted file mode 100644 index 67985dbf..00000000 Binary files a/bin/botocore/eventstream.pyc and /dev/null differ diff --git a/bin/botocore/exceptions.py b/bin/botocore/exceptions.py index e8736a51..daf79401 100644 --- a/bin/botocore/exceptions.py +++ b/bin/botocore/exceptions.py @@ -500,3 +500,19 @@ class MD5UnavailableError(BotoCoreError): class MetadataRetrievalError(BotoCoreError): fmt = "Error retrieving metadata: {error_msg}" + + +class UndefinedModelAttributeError(Exception): + pass + + +class MissingServiceIdError(UndefinedModelAttributeError): + fmt = ( + "The model being used for the service {service_name} is missing the " + "serviceId metadata property, which is required." + ) + + def __init__(self, **kwargs): + msg = self.fmt.format(**kwargs) + Exception.__init__(self, msg) + self.kwargs = kwargs diff --git a/bin/botocore/exceptions.pyc b/bin/botocore/exceptions.pyc deleted file mode 100644 index 16e2b97f..00000000 Binary files a/bin/botocore/exceptions.pyc and /dev/null differ diff --git a/bin/botocore/handlers.py b/bin/botocore/handlers.py index 50f5fd98..21fa34f5 100644 --- a/bin/botocore/handlers.py +++ b/bin/botocore/handlers.py @@ -35,6 +35,7 @@ from botocore.exceptions import ParamValidationError from botocore.exceptions import AliasConflictParameterError from botocore.exceptions import UnsupportedTLSVersionWarning +from botocore.exceptions import MissingServiceIdError from botocore.utils import percent_encode, SAFE_CHARS from botocore.utils import switch_host_with_param from botocore.utils import hyphenize_service_id @@ -263,58 +264,6 @@ def _needs_s3_sse_customization(params, sse_member_prefix): sse_member_prefix + 'KeyMD5' not in params) -# NOTE: Retries get registered in two separate places in the botocore -# code: once when creating the client and once when you load the service -# model from the session. While at first this handler seems unneeded, it -# would be a breaking change for the AWS CLI to have it removed. This is -# because it relies on the service model from the session to create commands -# and this handler respects operation granular retry logic while the client -# one does not. If this is ever to be removed the handler, the client -# will have to respect per-operation level retry configuration. -def register_retries_for_service(service_data, session, - service_name, **kwargs): - loader = session.get_component('data_loader') - endpoint_prefix = service_data.get('metadata', {}).get('endpointPrefix') - if endpoint_prefix is None: - logger.debug("Not registering retry handlers, could not endpoint " - "prefix from model for service %s", service_name) - return - service_id = service_data.get('metadata', {}).get('serviceId') - service_event_name = hyphenize_service_id(service_id) - config = _load_retry_config(loader, endpoint_prefix) - if not config: - return - logger.debug("Registering retry handlers for service: %s", service_name) - handler = retryhandler.create_retry_handler( - config, endpoint_prefix) - unique_id = 'retry-config-%s' % service_event_name - session.register('needs-retry.%s' % service_event_name, - handler, unique_id=unique_id) - _register_for_operations(config, session, service_event_name) - - -def _load_retry_config(loader, endpoint_prefix): - original_config = loader.load_data('_retry') - retry_config = translate.build_retry_config( - endpoint_prefix, original_config['retry'], - original_config.get('definitions', {})) - return retry_config - - -def _register_for_operations(config, session, service_event_name): - # There's certainly a tradeoff for registering the retry config - # for the operations when the service is created. In practice, - # there aren't a whole lot of per operation retry configs so - # this is ok for now. - for key in config: - if key == '__default__': - continue - handler = retryhandler.create_retry_handler(config, key) - unique_id = 'retry-config-%s-%s' % (service_event_name, key) - session.register('needs-retry.%s.%s' % (service_event_name, key), - handler, unique_id=unique_id) - - def disable_signing(**kwargs): """ This handler disables request signing by setting the signer @@ -335,6 +284,21 @@ def add_expect_header(model, params, **kwargs): params['headers']['Expect'] = '100-continue' +class DeprecatedServiceDocumenter(object): + def __init__(self, replacement_service_name): + self._replacement_service_name = replacement_service_name + + def inject_deprecation_notice(self, section, event_name, **kwargs): + section.style.start_important() + section.write('This service client is deprecated. Please use ') + section.style.ref( + self._replacement_service_name, + self._replacement_service_name, + ) + section.write(' instead.') + section.style.end_important() + + def document_copy_source_form(section, event_name, **kwargs): if 'request-example' in event_name: parent = section.get_section('structure-value') @@ -867,12 +831,6 @@ def __call__(self, client, **kwargs): return getattr(client, self._actual) -def remove_subscribe_to_shard(class_attributes, **kwargs): - if 'subscribe_to_shard' in class_attributes: - # subscribe_to_shard requires HTTP 2 support - del class_attributes['subscribe_to_shard'] - - class HeaderToHostHoister(object): """Takes a header and moves it to the front of the hoststring. """ @@ -909,6 +867,12 @@ def _prepend_to_host(self, url, prefix): return new_url +def inject_api_version_header_if_needed(model, params, **kwargs): + if not model.is_endpoint_discovery_operation: + return + params['headers']['x-amz-api-version'] = model.service_model.api_version + + # This is a list of (event_name, handler). # When a Session is created, everything in this list will be # automatically registered with that Session. @@ -921,7 +885,6 @@ def _prepend_to_host(self, url, prefix): convert_body_to_file_like_object, REGISTER_LAST), ('before-parameter-build.s3.PutObject', convert_body_to_file_like_object, REGISTER_LAST), - ('creating-client-class.kinesis', remove_subscribe_to_shard), ('creating-client-class', add_generate_presigned_url), ('creating-client-class.s3', add_generate_presigned_post), ('creating-client-class.iot-data', check_openssl_supports_tls_version_1_2), @@ -981,7 +944,6 @@ def _prepend_to_host(self, url, prefix): ('needs-retry.s3.CopyObject', check_for_200_error, REGISTER_FIRST), ('needs-retry.s3.CompleteMultipartUpload', check_for_200_error, REGISTER_FIRST), - ('service-data-loaded', register_retries_for_service), ('choose-signer.cognito-identity.GetId', disable_signing), ('choose-signer.cognito-identity.GetOpenIdToken', disable_signing), ('choose-signer.cognito-identity.UnlinkIdentity', disable_signing), @@ -1100,5 +1062,13 @@ def _prepend_to_host(self, url, prefix): ('before-call.s3-control.*', HeaderToHostHoister('x-amz-account-id').hoist), + ########### + # SMS Voice + ########## + ('docs.title.sms-voice', + DeprecatedServiceDocumenter( + 'pinpoint-sms-voice').inject_deprecation_notice), + ('before-call', inject_api_version_header_if_needed), + ] _add_parameter_aliases(BUILTIN_HANDLERS) diff --git a/bin/botocore/handlers.pyc b/bin/botocore/handlers.pyc deleted file mode 100644 index 0f00531e..00000000 Binary files a/bin/botocore/handlers.pyc and /dev/null differ diff --git a/bin/botocore/history.pyc b/bin/botocore/history.pyc deleted file mode 100644 index b8e444a3..00000000 Binary files a/bin/botocore/history.pyc and /dev/null differ diff --git a/bin/botocore/hooks.pyc b/bin/botocore/hooks.pyc deleted file mode 100644 index e5a9b0d5..00000000 Binary files a/bin/botocore/hooks.pyc and /dev/null differ diff --git a/bin/botocore/httpsession.py b/bin/botocore/httpsession.py index 09f5960c..447302b8 100644 --- a/bin/botocore/httpsession.py +++ b/bin/botocore/httpsession.py @@ -239,6 +239,9 @@ def _get_request_target(self, url, proxy_url): # otherwise just set the request target to the url path return self._path_url(url) + def _chunked(self, headers): + return headers.get('Transfer-Encoding', '') == 'chunked' + def send(self, request): try: proxy_url = self._proxy_config.proxy_url_for(request.url) @@ -256,6 +259,7 @@ def send(self, request): assert_same_host=False, preload_content=False, decode_content=False, + chunked=self._chunked(request.headers), ) http_response = botocore.awsrequest.AWSResponse( diff --git a/bin/botocore/httpsession.pyc b/bin/botocore/httpsession.pyc deleted file mode 100644 index e781446d..00000000 Binary files a/bin/botocore/httpsession.pyc and /dev/null differ diff --git a/bin/botocore/loaders.pyc b/bin/botocore/loaders.pyc deleted file mode 100644 index 42cbfc16..00000000 Binary files a/bin/botocore/loaders.pyc and /dev/null differ diff --git a/bin/botocore/model.py b/bin/botocore/model.py index f6deecde..0a39a733 100644 --- a/bin/botocore/model.py +++ b/bin/botocore/model.py @@ -15,7 +15,8 @@ from botocore.utils import CachedProperty, instance_cache, hyphenize_service_id from botocore.compat import OrderedDict - +from botocore.exceptions import MissingServiceIdError +from botocore.exceptions import UndefinedModelAttributeError NOT_SET = object() @@ -36,10 +37,6 @@ class InvalidShapeReferenceError(Exception): pass -class UndefinedModelAttributeError(Exception): - pass - - class ServiceId(str): def hyphenize(self): return hyphenize_service_id(self) @@ -57,7 +54,8 @@ class Shape(object): 'eventstream', 'event', 'eventheader', 'eventpayload', 'jsonvalue', 'timestampFormat', 'hostLabel'] METADATA_ATTRS = ['required', 'min', 'max', 'sensitive', 'enum', - 'idempotencyToken', 'error', 'exception'] + 'idempotencyToken', 'error', 'exception', + 'endpointdiscoveryid'] MAP_TYPE = OrderedDict def __init__(self, shape_name, shape_model, shape_resolver=None): @@ -169,6 +167,10 @@ def __repr__(self): return "<%s(%s)>" % (self.__class__.__name__, self.name) + @property + def event_stream_name(self): + return None + class StructureShape(Shape): @CachedProperty @@ -185,6 +187,13 @@ def members(self): shape_members[name] = self._resolve_shape_ref(shape_ref) return shape_members + @CachedProperty + def event_stream_name(self): + for member_name, member in self.members.items(): + if member.serialization.get('eventstream'): + return member_name + return None + class ListShape(Shape): @CachedProperty @@ -291,7 +300,12 @@ def service_name(self): @CachedProperty def service_id(self): - return ServiceId(self._get_metadata_property('serviceId')) + try: + return ServiceId(self._get_metadata_property('serviceId')) + except UndefinedModelAttributeError: + raise MissingServiceIdError( + service_name=self._service_name + ) @CachedProperty def signing_name(self): @@ -317,6 +331,13 @@ def protocol(self): def endpoint_prefix(self): return self._get_metadata_property('endpointPrefix') + @CachedProperty + def endpoint_discovery_operation(self): + for operation in self.operation_names: + model = self.operation_model(operation) + if model.is_endpoint_discovery_operation: + return model + def _get_metadata_property(self, name): try: return self.metadata[name] @@ -415,6 +436,16 @@ def documentation(self): def deprecated(self): return self._operation_model.get('deprecated', False) + @CachedProperty + def endpoint_discovery(self): + # Explicit None default. An empty dictionary for this trait means it is + # enabled but not required to be used. + return self._operation_model.get('endpointdiscovery', None) + + @CachedProperty + def is_endpoint_discovery_operation(self): + return self._operation_model.get('endpointoperation', False) + @CachedProperty def input_shape(self): if 'input' not in self._operation_model: @@ -475,9 +506,9 @@ def _get_event_stream(self, shape): """Returns the event stream member's shape if any or None otherwise.""" if shape is None: return None - for member in shape.members.values(): - if member.serialization.get('eventstream'): - return member + event_name = shape.event_stream_name + if event_name: + return shape.members[event_name] return None @CachedProperty @@ -692,8 +723,9 @@ def _build_initial_shape(self, model): } if 'documentation' in model: shape['documentation'] = model['documentation'] - if 'enum' in model: - shape['enum'] = model['enum'] + for attr in Shape.METADATA_ATTRS: + if attr in model: + shape[attr] = model[attr] return shape def _build_scalar(self, model): diff --git a/bin/botocore/model.pyc b/bin/botocore/model.pyc deleted file mode 100644 index cfbfb539..00000000 Binary files a/bin/botocore/model.pyc and /dev/null differ diff --git a/bin/botocore/monitoring.py b/bin/botocore/monitoring.py new file mode 100644 index 00000000..1ae1ca06 --- /dev/null +++ b/bin/botocore/monitoring.py @@ -0,0 +1,550 @@ +# Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +import json +import logging +import re +import time + +from botocore.compat import ensure_unicode, ensure_bytes, urlparse +from botocore.retryhandler import EXCEPTION_MAP as RETRYABLE_EXCEPTIONS + + +logger = logging.getLogger(__name__) + + +class Monitor(object): + _EVENTS_TO_REGISTER = [ + 'before-parameter-build', + 'request-created', + 'response-received', + 'after-call', + 'after-call-error', + ] + + def __init__(self, adapter, publisher): + """Abstraction for monitoring clients API calls + + :param adapter: An adapter that takes event emitter events + and produces monitor events + + :param publisher: A publisher for generated monitor events + """ + self._adapter = adapter + self._publisher = publisher + + def register(self, event_emitter): + """Register an event emitter to the monitor""" + for event_to_register in self._EVENTS_TO_REGISTER: + event_emitter.register_last(event_to_register, self.capture) + + def capture(self, event_name, **payload): + """Captures an incoming event from the event emitter + + It will feed an event emitter event to the monitor's adaptor to create + a monitor event and then publish that event to the monitor's publisher. + """ + try: + monitor_event = self._adapter.feed(event_name, payload) + if monitor_event: + self._publisher.publish(monitor_event) + except Exception as e: + logger.debug( + 'Exception %s raised by client monitor in handling event %s', + e, event_name, exc_info=True) + + +class MonitorEventAdapter(object): + def __init__(self, time=time.time): + """Adapts event emitter events to produce monitor events + + :type time: callable + :param time: A callable that produces the current time + """ + self._time = time + + def feed(self, emitter_event_name, emitter_payload): + """Feed an event emitter event to generate a monitor event + + :type emitter_event_name: str + :param emitter_event_name: The name of the event emitted + + :type emitter_payload: dict + :param emitter_payload: The payload to associated to the event + emitted + + :rtype: BaseMonitorEvent + :returns: A monitor event based on the event emitter events + fired + """ + return self._get_handler(emitter_event_name)(**emitter_payload) + + def _get_handler(self, event_name): + return getattr( + self, '_handle_' + event_name.split('.')[0].replace('-', '_') + ) + + def _handle_before_parameter_build(self, model, context, **kwargs): + context['current_api_call_event'] = APICallEvent( + service=model.service_model.service_id, + operation=model.wire_name, + timestamp=self._get_current_time(), + ) + + def _handle_request_created(self, request, **kwargs): + context = request.context + new_attempt_event = context[ + 'current_api_call_event'].new_api_call_attempt( + timestamp=self._get_current_time()) + new_attempt_event.request_headers = request.headers + new_attempt_event.url = request.url + context['current_api_call_attempt_event'] = new_attempt_event + + def _handle_response_received(self, parsed_response, context, exception, + **kwargs): + attempt_event = context.pop('current_api_call_attempt_event') + attempt_event.latency = self._get_latency(attempt_event) + if parsed_response is not None: + attempt_event.http_status_code = parsed_response[ + 'ResponseMetadata']['HTTPStatusCode'] + attempt_event.response_headers = parsed_response[ + 'ResponseMetadata']['HTTPHeaders'] + attempt_event.parsed_error = parsed_response.get('Error') + else: + attempt_event.wire_exception = exception + return attempt_event + + def _handle_after_call(self, context, parsed, **kwargs): + context['current_api_call_event'].retries_exceeded = parsed[ + 'ResponseMetadata'].get('MaxAttemptsReached', False) + return self._complete_api_call(context) + + def _handle_after_call_error(self, context, exception, **kwargs): + # If the after-call-error was emitted and the error being raised + # was a retryable connection error, then the retries must have exceeded + # for that exception as this event gets emitted **after** retries + # happen. + context['current_api_call_event'].retries_exceeded = \ + self._is_retryable_exception(exception) + return self._complete_api_call(context) + + def _is_retryable_exception(self, exception): + return isinstance( + exception, tuple(RETRYABLE_EXCEPTIONS['GENERAL_CONNECTION_ERROR'])) + + def _complete_api_call(self, context): + call_event = context.pop('current_api_call_event') + call_event.latency = self._get_latency(call_event) + return call_event + + def _get_latency(self, event): + return self._get_current_time() - event.timestamp + + def _get_current_time(self): + return int(self._time() * 1000) + + +class BaseMonitorEvent(object): + def __init__(self, service, operation, timestamp): + """Base monitor event + + :type service: str + :param service: A string identifying the service associated to + the event + + :type operation: str + :param operation: A string identifying the operation of service + associated to the event + + :type timestamp: int + :param timestamp: Epoch time in milliseconds from when the event began + """ + self.service = service + self.operation = operation + self.timestamp = timestamp + + def __repr__(self): + return '%s(%r)' % (self.__class__.__name__, self.__dict__) + + def __eq__(self, other): + if isinstance(other, self.__class__): + return self.__dict__ == other.__dict__ + return False + + +class APICallEvent(BaseMonitorEvent): + def __init__(self, service, operation, timestamp, latency=None, + attempts=None, retries_exceeded=False): + """Monitor event for a single API call + + This event corresponds to a single client method call, which includes + every HTTP requests attempt made in order to complete the client call + + :type service: str + :param service: A string identifying the service associated to + the event + + :type operation: str + :param operation: A string identifying the operation of service + associated to the event + + :type timestamp: int + :param timestamp: Epoch time in milliseconds from when the event began + + :type latency: int + :param latency: The time in milliseconds to complete the client call + + :type attempts: list + :param attempts: The list of APICallAttempts associated to the + APICall + + :type retries_exceeded: bool + :param retries_exceeded: True if API call exceeded retries. False + otherwise + """ + super(APICallEvent, self).__init__( + service=service, operation=operation, timestamp=timestamp) + self.latency = latency + self.attempts = attempts + if attempts is None: + self.attempts = [] + self.retries_exceeded = retries_exceeded + + def new_api_call_attempt(self, timestamp): + """Instantiates APICallAttemptEvent associated to the APICallEvent + + :type timestamp: int + :param timestamp: Epoch time in milliseconds to associate to the + APICallAttemptEvent + """ + attempt_event = APICallAttemptEvent( + service=self.service, + operation=self.operation, + timestamp=timestamp + ) + self.attempts.append(attempt_event) + return attempt_event + + +class APICallAttemptEvent(BaseMonitorEvent): + def __init__(self, service, operation, timestamp, + latency=None, url=None, http_status_code=None, + request_headers=None, response_headers=None, + parsed_error=None, wire_exception=None): + """Monitor event for a single API call attempt + + This event corresponds to a single HTTP request attempt in completing + the entire client method call. + + :type service: str + :param service: A string identifying the service associated to + the event + + :type operation: str + :param operation: A string identifying the operation of service + associated to the event + + :type timestamp: int + :param timestamp: Epoch time in milliseconds from when the HTTP request + started + + :type latency: int + :param latency: The time in milliseconds to complete the HTTP request + whether it succeeded or failed + + :type url: str + :param url: The URL the attempt was sent to + + :type http_status_code: int + :param http_status_code: The HTTP status code of the HTTP response + if there was a response + + :type request_headers: dict + :param request_headers: The HTTP headers sent in making the HTTP + request + + :type response_headers: dict + :param response_headers: The HTTP headers returned in the HTTP response + if there was a response + + :type parsed_error: dict + :param parsed_error: The error parsed if the service returned an + error back + + :type wire_exception: Exception + :param wire_exception: The exception raised in sending the HTTP + request (i.e. ConnectionError) + """ + super(APICallAttemptEvent, self).__init__( + service=service, operation=operation, timestamp=timestamp + ) + self.latency = latency + self.url = url + self.http_status_code = http_status_code + self.request_headers = request_headers + self.response_headers = response_headers + self.parsed_error = parsed_error + self.wire_exception = wire_exception + + +class CSMSerializer(object): + _MAX_CLIENT_ID_LENGTH = 255 + _MAX_EXCEPTION_CLASS_LENGTH = 128 + _MAX_ERROR_CODE_LENGTH = 128 + _MAX_USER_AGENT_LENGTH = 256 + _MAX_MESSAGE_LENGTH = 512 + _RESPONSE_HEADERS_TO_EVENT_ENTRIES = { + 'x-amzn-requestid': 'XAmznRequestId', + 'x-amz-request-id': 'XAmzRequestId', + 'x-amz-id-2': 'XAmzId2', + } + _AUTH_REGEXS = { + 'v4': re.compile( + r'AWS4-HMAC-SHA256 ' + r'Credential=(?P\w+)/\d+/' + r'(?P[a-z0-9-]+)/' + ), + 's3': re.compile( + r'AWS (?P\w+):' + ) + } + _SERIALIZEABLE_EVENT_PROPERTIES = [ + 'service', + 'operation', + 'timestamp', + 'attempts', + 'latency', + 'retries_exceeded', + 'url', + 'request_headers', + 'http_status_code', + 'response_headers', + 'parsed_error', + 'wire_exception', + ] + + def __init__(self, csm_client_id): + """Serializes monitor events to CSM (Client Side Monitoring) format + + :type csm_client_id: str + :param csm_client_id: The application identifier to associate + to the serialized events + """ + self._validate_client_id(csm_client_id) + self.csm_client_id = csm_client_id + + def _validate_client_id(self, csm_client_id): + if len(csm_client_id) > self._MAX_CLIENT_ID_LENGTH: + raise ValueError( + 'The value provided for csm_client_id: %s exceeds the ' + 'maximum length of %s characters' % ( + csm_client_id, self._MAX_CLIENT_ID_LENGTH) + ) + + def serialize(self, event): + """Serializes a monitor event to the CSM format + + :type event: BaseMonitorEvent + :param event: The event to serialize to bytes + + :rtype: bytes + :returns: The CSM serialized form of the event + """ + event_dict = self._get_base_event_dict(event) + event_type = self._get_event_type(event) + event_dict['Type'] = event_type + for attr in self._SERIALIZEABLE_EVENT_PROPERTIES: + value = getattr(event, attr, None) + if value is not None: + getattr(self, '_serialize_' + attr)( + value, event_dict, event_type=event_type) + return ensure_bytes( + json.dumps(event_dict, separators=(',', ':'))) + + def _get_base_event_dict(self, event): + return { + 'Version': 1, + 'ClientId': self.csm_client_id, + } + + def _serialize_service(self, service, event_dict, **kwargs): + event_dict['Service'] = service + + def _serialize_operation(self, operation, event_dict, **kwargs): + event_dict['Api'] = operation + + def _serialize_timestamp(self, timestamp, event_dict, **kwargs): + event_dict['Timestamp'] = timestamp + + def _serialize_attempts(self, attempts, event_dict, **kwargs): + event_dict['AttemptCount'] = len(attempts) + if attempts: + self._add_fields_from_last_attempt(event_dict, attempts[-1]) + + def _add_fields_from_last_attempt(self, event_dict, last_attempt): + if last_attempt.request_headers: + # It does not matter which attempt to use to grab the region + # for the ApiCall event, but SDKs typically do the last one. + region = self._get_region(last_attempt.request_headers) + if region is not None: + event_dict['Region'] = region + event_dict['UserAgent'] = self._get_user_agent( + last_attempt.request_headers) + if last_attempt.http_status_code is not None: + event_dict['FinalHttpStatusCode'] = last_attempt.http_status_code + if last_attempt.parsed_error is not None: + self._serialize_parsed_error( + last_attempt.parsed_error, event_dict, 'ApiCall') + if last_attempt.wire_exception is not None: + self._serialize_wire_exception( + last_attempt.wire_exception, event_dict, 'ApiCall') + + def _serialize_latency(self, latency, event_dict, event_type): + if event_type == 'ApiCall': + event_dict['Latency'] = latency + elif event_type == 'ApiCallAttempt': + event_dict['AttemptLatency'] = latency + + def _serialize_retries_exceeded(self, retries_exceeded, event_dict, + **kwargs): + event_dict['MaxRetriesExceeded'] = (1 if retries_exceeded else 0) + + def _serialize_url(self, url, event_dict, **kwargs): + event_dict['Fqdn'] = urlparse(url).netloc + + def _serialize_request_headers(self, request_headers, event_dict, + **kwargs): + event_dict['UserAgent'] = self._get_user_agent(request_headers) + if self._is_signed(request_headers): + event_dict['AccessKey'] = self._get_access_key(request_headers) + region = self._get_region(request_headers) + if region is not None: + event_dict['Region'] = region + if 'X-Amz-Security-Token' in request_headers: + event_dict['SessionToken'] = request_headers[ + 'X-Amz-Security-Token'] + + def _serialize_http_status_code(self, http_status_code, event_dict, + **kwargs): + event_dict['HttpStatusCode'] = http_status_code + + def _serialize_response_headers(self, response_headers, event_dict, + **kwargs): + for header, entry in self._RESPONSE_HEADERS_TO_EVENT_ENTRIES.items(): + if header in response_headers: + event_dict[entry] = response_headers[header] + + def _serialize_parsed_error(self, parsed_error, event_dict, event_type, + **kwargs): + field_prefix = 'Final' if event_type == 'ApiCall' else '' + event_dict[field_prefix + 'AwsException'] = self._truncate( + parsed_error['Code'], self._MAX_ERROR_CODE_LENGTH) + event_dict[field_prefix + 'AwsExceptionMessage'] = self._truncate( + parsed_error['Message'], self._MAX_MESSAGE_LENGTH) + + def _serialize_wire_exception(self, wire_exception, event_dict, event_type, + **kwargs): + field_prefix = 'Final' if event_type == 'ApiCall' else '' + event_dict[field_prefix + 'SdkException'] = self._truncate( + wire_exception.__class__.__name__, + self._MAX_EXCEPTION_CLASS_LENGTH) + event_dict[field_prefix + 'SdkExceptionMessage'] = self._truncate( + str(wire_exception), self._MAX_MESSAGE_LENGTH) + + def _get_event_type(self, event): + if isinstance(event, APICallEvent): + return 'ApiCall' + elif isinstance(event, APICallAttemptEvent): + return 'ApiCallAttempt' + + def _get_access_key(self, request_headers): + auth_val = self._get_auth_value(request_headers) + _, auth_match = self._get_auth_match(auth_val) + return auth_match.group('access_key') + + def _get_region(self, request_headers): + if not self._is_signed(request_headers): + return None + auth_val = self._get_auth_value(request_headers) + signature_version, auth_match = self._get_auth_match(auth_val) + if signature_version != 'v4': + return None + return auth_match.group('signing_region') + + def _get_user_agent(self, request_headers): + return self._truncate( + ensure_unicode(request_headers.get('User-Agent', '')), + self._MAX_USER_AGENT_LENGTH + ) + + def _is_signed(self, request_headers): + return 'Authorization' in request_headers + + def _get_auth_value(self, request_headers): + return ensure_unicode(request_headers['Authorization']) + + def _get_auth_match(self, auth_val): + for signature_version, regex in self._AUTH_REGEXS.items(): + match = regex.match(auth_val) + if match: + return signature_version, match + return None, None + + def _truncate(self, text, max_length): + if len(text) > max_length: + logger.debug( + 'Truncating following value to maximum length of ' + '%s: %s', text, max_length) + return text[:max_length] + return text + + +class SocketPublisher(object): + _MAX_MONITOR_EVENT_LENGTH = 8 * 1024 + + def __init__(self, socket, host, port, serializer): + """Publishes monitor events to a socket + + :type socket: socket.socket + :param socket: The socket object to use to publish events + + :type host: string + :param host: The host to send events to + + :type port: integer + :param port: The port on the host to send events to + + :param serializer: The serializer to use to serialize the event + to a form that can be published to the socket. This must + have a `serialize()` method that accepts a monitor event + and return bytes + """ + self._socket = socket + self._address = (host, port) + self._serializer = serializer + + def publish(self, event): + """Publishes a specified monitor event + + :type event: BaseMonitorEvent + :param event: The monitor event to be sent + over the publisher's socket to the desired address. + """ + serialized_event = self._serializer.serialize(event) + if len(serialized_event) > self._MAX_MONITOR_EVENT_LENGTH: + logger.debug( + 'Serialized event of size %s exceeds the maximum length ' + 'allowed: %s. Not sending event to socket.', + len(serialized_event), self._MAX_MONITOR_EVENT_LENGTH + ) + return + self._socket.sendto(serialized_event, self._address) diff --git a/bin/botocore/paginate.py b/bin/botocore/paginate.py index 7ca13ae2..b08c7ed8 100644 --- a/bin/botocore/paginate.py +++ b/bin/botocore/paginate.py @@ -522,8 +522,10 @@ def _parse_starting_token_deprecated(self): try: index = int(parts.pop()) except ValueError: - raise ValueError("Bad starting token: %s" % - self._starting_token) + # This doesn't look like a valid old-style token, so we're + # passing it along as an opaque service token. + parts = [self._starting_token] + for part in parts: if part == 'None': next_token.append(None) diff --git a/bin/botocore/paginate.pyc b/bin/botocore/paginate.pyc deleted file mode 100644 index 2c03791b..00000000 Binary files a/bin/botocore/paginate.pyc and /dev/null differ diff --git a/bin/botocore/parsers.py b/bin/botocore/parsers.py index 0a3b0087..1452900f 100644 --- a/bin/botocore/parsers.py +++ b/bin/botocore/parsers.py @@ -121,7 +121,7 @@ import logging from botocore.compat import six, XMLParseError -from botocore.eventstream import EventStream +from botocore.eventstream import EventStream, NoInitialResponseError from botocore.utils import parse_timestamp, merge_dicts, \ is_json_value_header, lowercase_dict @@ -313,6 +313,11 @@ def _handle_list(self, shape, node): def _default_handle(self, shape, value): return value + def _create_event_stream(self, response, shape): + parser = self._event_stream_parser + name = response['context'].get('operation_name') + return EventStream(response['body'], shape, parser, name) + class BaseXMLResponseParser(ResponseParser): def __init__(self, timestamp_parser=None, blob_parser=None): @@ -628,20 +633,6 @@ def _parse_body_as_json(self, body_contents): return { 'message': body } -class JSONParser(BaseJSONParser): - """Response parse for the "json" protocol.""" - def _do_parse(self, response, shape): - # The json.loads() gives us the primitive JSON types, - # but we need to traverse the parsed JSON data to convert - # to richer types (blobs, timestamps, etc. - parsed = {} - if shape is not None: - original_parsed = self._parse_body_as_json(response['body']) - parsed = self._parse_shape(shape, original_parsed) - self._inject_response_metadata(parsed, response['headers']) - return parsed - - class BaseEventStreamParser(ResponseParser): def _do_parse(self, response, shape): @@ -658,12 +649,24 @@ def _do_parse(self, response, shape): return final_parsed def _do_error_parse(self, response, shape): - error = { - 'Error': { - 'Code': response['headers'].get(':error-code', ''), - 'Message': response['headers'].get(':error-message', ''), + exception_type = response['headers'].get(':exception-type') + exception_shape = shape.members.get(exception_type) + if exception_shape is not None: + original_parsed = self._initial_body_parse(response['body']) + body = self._parse_shape(exception_shape, original_parsed) + error = { + 'Error': { + 'Code': exception_type, + 'Message': body.get('Message', body.get('message', '')) + } + } + else: + error = { + 'Error': { + 'Code': response['headers'].get(':error-code', ''), + 'Message': response['headers'].get(':error-message', ''), + } } - } return error def _parse_payload(self, response, shape, member_shapes, final_parsed): @@ -722,6 +725,42 @@ def _initial_body_parse(self, xml_string): return self._parse_xml_string_to_dom(xml_string) +class JSONParser(BaseJSONParser): + + EVENT_STREAM_PARSER_CLS = EventStreamJSONParser + + """Response parser for the "json" protocol.""" + def _do_parse(self, response, shape): + parsed = {} + if shape is not None: + event_name = shape.event_stream_name + if event_name: + parsed = self._handle_event_stream(response, shape, event_name) + else: + parsed = self._handle_json_body(response['body'], shape) + self._inject_response_metadata(parsed, response['headers']) + return parsed + + def _handle_event_stream(self, response, shape, event_name): + event_stream_shape = shape.members[event_name] + event_stream = self._create_event_stream(response, event_stream_shape) + try: + event = event_stream.get_initial_response() + except NoInitialResponseError: + error_msg = 'First event was not of type initial-response' + raise ResponseParserError(error_msg) + parsed = self._handle_json_body(event.payload, shape) + parsed[event_name] = event_stream + return parsed + + def _handle_json_body(self, raw_body, shape): + # The json.loads() gives us the primitive JSON types, + # but we need to traverse the parsed JSON data to convert + # to richer types (blobs, timestamps, etc. + parsed_json = self._parse_body_as_json(raw_body) + return self._parse_shape(shape, parsed_json) + + class BaseRestParser(ResponseParser): def _do_parse(self, response, shape): @@ -756,9 +795,7 @@ def _parse_payload(self, response, shape, member_shapes, final_parsed): payload_member_name = shape.serialization['payload'] body_shape = member_shapes[payload_member_name] if body_shape.serialization.get('eventstream'): - parser = self._event_stream_parser - name = response['context'].get('operation_name') - body = EventStream(response['body'], body_shape, parser, name) + body = self._create_event_stream(response, body_shape) final_parsed[payload_member_name] = body elif body_shape.type_name in ['string', 'blob']: # This is a stream diff --git a/bin/botocore/parsers.pyc b/bin/botocore/parsers.pyc deleted file mode 100644 index e2e7fa01..00000000 Binary files a/bin/botocore/parsers.pyc and /dev/null differ diff --git a/bin/botocore/regions.pyc b/bin/botocore/regions.pyc deleted file mode 100644 index 055d8684..00000000 Binary files a/bin/botocore/regions.pyc and /dev/null differ diff --git a/bin/botocore/response.py b/bin/botocore/response.py index f3c5bbaa..93c7937a 100644 --- a/bin/botocore/response.py +++ b/bin/botocore/response.py @@ -92,31 +92,30 @@ def __iter__(self): """ return self.iter_chunks(self._DEFAULT_CHUNK_SIZE) + def __next__(self): + """Return the next 1k chunk from the raw stream. + """ + current_chunk = self.read(self._DEFAULT_CHUNK_SIZE) + if current_chunk: + return current_chunk + raise StopIteration() + + next = __next__ + def iter_lines(self, chunk_size=1024): """Return an iterator to yield lines from the raw stream. This is achieved by reading chunk of bytes (of size chunk_size) at a time from the raw stream, and then yielding lines from there. """ - pending = None + pending = b'' for chunk in self.iter_chunks(chunk_size): - if pending is not None: - chunk = pending + chunk - - lines = chunk.splitlines() - - if lines and lines[-1] and chunk and lines[-1][-1] == chunk[-1]: - # We might be in the 'middle' of a line. Hence we keep the - # last line as pending. - pending = lines.pop() - else: - pending = None - - for line in lines: - yield line - - if pending is not None: - yield pending + lines = (pending + chunk).splitlines(True) + for line in lines[:-1]: + yield line.splitlines()[0] + pending = lines[-1] + if pending: + yield pending.splitlines()[0] def iter_chunks(self, chunk_size=_DEFAULT_CHUNK_SIZE): """Return an iterator to yield chunks of chunk_size bytes from the raw diff --git a/bin/botocore/response.pyc b/bin/botocore/response.pyc deleted file mode 100644 index b0689b26..00000000 Binary files a/bin/botocore/response.pyc and /dev/null differ diff --git a/bin/botocore/retryhandler.pyc b/bin/botocore/retryhandler.pyc deleted file mode 100644 index 88ccc5ec..00000000 Binary files a/bin/botocore/retryhandler.pyc and /dev/null differ diff --git a/bin/botocore/serialize.pyc b/bin/botocore/serialize.pyc deleted file mode 100644 index 16b76aa3..00000000 Binary files a/bin/botocore/serialize.pyc and /dev/null differ diff --git a/bin/botocore/session.py b/bin/botocore/session.py index dc04be97..e3a64884 100644 --- a/bin/botocore/session.py +++ b/bin/botocore/session.py @@ -20,10 +20,12 @@ import logging import os import platform +import socket import warnings import collections from botocore import __version__ +from botocore import UNSIGNED import botocore.configloader import botocore.credentials import botocore.client @@ -41,9 +43,11 @@ from botocore.parsers import ResponseParserFactory from botocore.regions import EndpointResolver from botocore.model import ServiceModel +from botocore import monitoring from botocore import paginate from botocore import waiter from botocore import retryhandler, translate +from botocore import utils from botocore.utils import EVENT_ALIASES @@ -130,6 +134,7 @@ def _register_components(self): self._register_response_parser_factory() self._register_exceptions_factory() self._register_config_store() + self._register_monitor() def _register_event_emitter(self): self._components.register_component('event_emitter', self._events) @@ -180,6 +185,27 @@ def _register_config_store(self): self._components.register_component('config_store', config_store_component) + def _register_monitor(self): + self._internal_components.lazy_register_component( + 'monitor', self._create_csm_monitor) + + def _create_csm_monitor(self): + if self.get_config_variable('csm_enabled'): + client_id = self.get_config_variable('csm_client_id') + port = self.get_config_variable('csm_port') + handler = monitoring.Monitor( + adapter=monitoring.MonitorEventAdapter(), + publisher=monitoring.SocketPublisher( + socket=socket.socket(socket.AF_INET, socket.SOCK_DGRAM), + host='127.0.0.1', + port=port, + serializer=monitoring.CSMSerializer( + csm_client_id=client_id) + ) + ) + return handler + return None + @property def available_profiles(self): return list(self._build_profile_map().keys()) @@ -783,7 +809,9 @@ def create_client(self, service_name, region_name=None, api_version=None, event_emitter = self.get_component('event_emitter') response_parser_factory = self.get_component( 'response_parser_factory') - if aws_access_key_id is not None and aws_secret_access_key is not None: + if config is not None and config.signature_version is UNSIGNED: + credentials = None + elif aws_access_key_id is not None and aws_secret_access_key is not None: credentials = botocore.credentials.Credentials( access_key=aws_access_key_id, secret_key=aws_secret_access_key, @@ -798,15 +826,19 @@ def create_client(self, service_name, region_name=None, api_version=None, credentials = self.get_credentials() endpoint_resolver = self._get_internal_component('endpoint_resolver') exceptions_factory = self._get_internal_component('exceptions_factory') + config_store = self.get_component('config_store') client_creator = botocore.client.ClientCreator( loader, endpoint_resolver, self.user_agent(), event_emitter, retryhandler, translate, response_parser_factory, - exceptions_factory) + exceptions_factory, config_store) client = client_creator.create_client( service_name=service_name, region_name=region_name, is_secure=use_ssl, endpoint_url=endpoint_url, verify=verify, credentials=credentials, scoped_config=self.get_scoped_config(), client_config=config, api_version=api_version) + monitor = self._get_internal_component('monitor') + if monitor is not None: + monitor.register(client.meta.events) return client def _missing_cred_vars(self, access_key, secret_key): diff --git a/bin/botocore/session.pyc b/bin/botocore/session.pyc deleted file mode 100644 index 6361420f..00000000 Binary files a/bin/botocore/session.pyc and /dev/null differ diff --git a/bin/botocore/signers.pyc b/bin/botocore/signers.pyc deleted file mode 100644 index 6f17d50f..00000000 Binary files a/bin/botocore/signers.pyc and /dev/null differ diff --git a/bin/botocore/stub.py b/bin/botocore/stub.py index 5c421b09..ca7536bb 100644 --- a/bin/botocore/stub.py +++ b/bin/botocore/stub.py @@ -326,7 +326,7 @@ def _assert_expected_call_order(self, model, params): raise UnStubbedResponseError( operation_name=model.name, reason=( - 'Unexpected API Call: A call was made but no additional calls expected.' + 'Unexpected API Call: A call was made but no additional calls expected. ' 'Either the API Call was not stubbed or it was called multiple times.' ) ) diff --git a/bin/botocore/stub.pyc b/bin/botocore/stub.pyc deleted file mode 100644 index d2f54258..00000000 Binary files a/bin/botocore/stub.pyc and /dev/null differ diff --git a/bin/botocore/translate.pyc b/bin/botocore/translate.pyc deleted file mode 100644 index cc4dfd07..00000000 Binary files a/bin/botocore/translate.pyc and /dev/null differ diff --git a/bin/botocore/utils.py b/bin/botocore/utils.py index e3e0bc47..573ec278 100644 --- a/bin/botocore/utils.py +++ b/bin/botocore/utils.py @@ -130,6 +130,17 @@ } +def ensure_boolean(val): + """Ensures a boolean value if a string or boolean is provided + + For strings, the value for True/False is case insensitive + """ + if isinstance(val, bool): + return val + else: + return val.lower() == 'true' + + def is_json_value_header(shape): """Determines if the provided shape is the special header type jsonvalue. @@ -1301,9 +1312,11 @@ def _get_response(self, full_url, headers, timeout): try: return json.loads(response_text) except ValueError: - raise MetadataRetrievalError( - error_msg=("Unable to parse JSON returned from " - "ECS metadata: %s" % response_text)) + error_msg = ( + "Unable to parse JSON returned from ECS metadata services" + ) + logger.debug('%s:%s', error_msg, response_text) + raise MetadataRetrievalError(error_msg=error_msg) except RETRYABLE_HTTP_ERRORS as e: error_msg = ("Received error when attempting to retrieve " "ECS metadata: %s" % e) diff --git a/bin/botocore/utils.pyc b/bin/botocore/utils.pyc deleted file mode 100644 index 74c42c65..00000000 Binary files a/bin/botocore/utils.pyc and /dev/null differ diff --git a/bin/botocore/validate.pyc b/bin/botocore/validate.pyc deleted file mode 100644 index 6f8f11ba..00000000 Binary files a/bin/botocore/validate.pyc and /dev/null differ diff --git a/bin/botocore/vendored/__init__.pyc b/bin/botocore/vendored/__init__.pyc deleted file mode 100644 index 9d9467e0..00000000 Binary files a/bin/botocore/vendored/__init__.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/__init__.pyc b/bin/botocore/vendored/requests/__init__.pyc deleted file mode 100644 index 59362f97..00000000 Binary files a/bin/botocore/vendored/requests/__init__.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/adapters.pyc b/bin/botocore/vendored/requests/adapters.pyc deleted file mode 100644 index 25ee8e0a..00000000 Binary files a/bin/botocore/vendored/requests/adapters.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/api.py b/bin/botocore/vendored/requests/api.py index d40fa380..e094f912 100644 --- a/bin/botocore/vendored/requests/api.py +++ b/bin/botocore/vendored/requests/api.py @@ -10,10 +10,27 @@ :license: Apache2, see LICENSE for more details. """ +import warnings from . import sessions +_WARNING_MSG = ( + "You are using the {name}() function from 'botocore.vendored.requests'. " + "This is not a public API in botocore and will be removed in the future. " + "Additionally, this version of requests is out of date. We recommend " + "you install the requests package, 'import requests' directly, and use " + "the requests.{name}() function instead." +) + + +warnings.filterwarnings( + action="always", + category=DeprecationWarning, + module=__name__, +) + + def request(method, url, **kwargs): """Constructs and sends a :class:`Request `. @@ -45,6 +62,10 @@ def request(method, url, **kwargs): >>> req = requests.request('GET', 'http://httpbin.org/get') """ + warnings.warn( + _WARNING_MSG.format(name=method), + DeprecationWarning + ) session = sessions.Session() response = session.request(method=method, url=url, **kwargs) diff --git a/bin/botocore/vendored/requests/api.pyc b/bin/botocore/vendored/requests/api.pyc deleted file mode 100644 index 14347410..00000000 Binary files a/bin/botocore/vendored/requests/api.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/auth.pyc b/bin/botocore/vendored/requests/auth.pyc deleted file mode 100644 index 37399670..00000000 Binary files a/bin/botocore/vendored/requests/auth.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/certs.pyc b/bin/botocore/vendored/requests/certs.pyc deleted file mode 100644 index 0af28d4b..00000000 Binary files a/bin/botocore/vendored/requests/certs.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/compat.pyc b/bin/botocore/vendored/requests/compat.pyc deleted file mode 100644 index d7f15cf4..00000000 Binary files a/bin/botocore/vendored/requests/compat.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/cookies.pyc b/bin/botocore/vendored/requests/cookies.pyc deleted file mode 100644 index 641cec83..00000000 Binary files a/bin/botocore/vendored/requests/cookies.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/exceptions.pyc b/bin/botocore/vendored/requests/exceptions.pyc deleted file mode 100644 index 965de20d..00000000 Binary files a/bin/botocore/vendored/requests/exceptions.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/hooks.pyc b/bin/botocore/vendored/requests/hooks.pyc deleted file mode 100644 index 0e695fb5..00000000 Binary files a/bin/botocore/vendored/requests/hooks.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/models.pyc b/bin/botocore/vendored/requests/models.pyc deleted file mode 100644 index c0f256d5..00000000 Binary files a/bin/botocore/vendored/requests/models.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/__init__.pyc b/bin/botocore/vendored/requests/packages/__init__.pyc deleted file mode 100644 index 732f9d0b..00000000 Binary files a/bin/botocore/vendored/requests/packages/__init__.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/__init__.pyc b/bin/botocore/vendored/requests/packages/chardet/__init__.pyc deleted file mode 100644 index 5f37d7a9..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/__init__.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/big5freq.pyc b/bin/botocore/vendored/requests/packages/chardet/big5freq.pyc deleted file mode 100644 index 888c5de9..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/big5freq.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/big5prober.pyc b/bin/botocore/vendored/requests/packages/chardet/big5prober.pyc deleted file mode 100644 index 5ce4dd89..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/big5prober.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/chardetect.pyc b/bin/botocore/vendored/requests/packages/chardet/chardetect.pyc deleted file mode 100644 index 362bb115..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/chardetect.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/chardistribution.pyc b/bin/botocore/vendored/requests/packages/chardet/chardistribution.pyc deleted file mode 100644 index 988c9e9c..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/chardistribution.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/charsetgroupprober.pyc b/bin/botocore/vendored/requests/packages/chardet/charsetgroupprober.pyc deleted file mode 100644 index da11c7b4..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/charsetgroupprober.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/charsetprober.pyc b/bin/botocore/vendored/requests/packages/chardet/charsetprober.pyc deleted file mode 100644 index 5bc708cd..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/charsetprober.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/codingstatemachine.pyc b/bin/botocore/vendored/requests/packages/chardet/codingstatemachine.pyc deleted file mode 100644 index 9807ab39..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/codingstatemachine.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/compat.pyc b/bin/botocore/vendored/requests/packages/chardet/compat.pyc deleted file mode 100644 index f1fb5baa..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/compat.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/constants.pyc b/bin/botocore/vendored/requests/packages/chardet/constants.pyc deleted file mode 100644 index 444fefa0..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/constants.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/cp949prober.pyc b/bin/botocore/vendored/requests/packages/chardet/cp949prober.pyc deleted file mode 100644 index c74d7f07..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/cp949prober.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/escprober.pyc b/bin/botocore/vendored/requests/packages/chardet/escprober.pyc deleted file mode 100644 index 44e3d41c..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/escprober.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/escsm.pyc b/bin/botocore/vendored/requests/packages/chardet/escsm.pyc deleted file mode 100644 index f065f362..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/escsm.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/eucjpprober.pyc b/bin/botocore/vendored/requests/packages/chardet/eucjpprober.pyc deleted file mode 100644 index 6f3817fd..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/eucjpprober.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/euckrfreq.pyc b/bin/botocore/vendored/requests/packages/chardet/euckrfreq.pyc deleted file mode 100644 index f8f6d65d..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/euckrfreq.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/euckrprober.pyc b/bin/botocore/vendored/requests/packages/chardet/euckrprober.pyc deleted file mode 100644 index 84f50f04..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/euckrprober.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/euctwfreq.pyc b/bin/botocore/vendored/requests/packages/chardet/euctwfreq.pyc deleted file mode 100644 index 07298bb7..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/euctwfreq.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/euctwprober.pyc b/bin/botocore/vendored/requests/packages/chardet/euctwprober.pyc deleted file mode 100644 index fffa10b6..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/euctwprober.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/gb2312freq.pyc b/bin/botocore/vendored/requests/packages/chardet/gb2312freq.pyc deleted file mode 100644 index 8e36bec5..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/gb2312freq.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/gb2312prober.pyc b/bin/botocore/vendored/requests/packages/chardet/gb2312prober.pyc deleted file mode 100644 index e28a1b16..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/gb2312prober.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/hebrewprober.pyc b/bin/botocore/vendored/requests/packages/chardet/hebrewprober.pyc deleted file mode 100644 index 74893d8f..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/hebrewprober.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/jisfreq.pyc b/bin/botocore/vendored/requests/packages/chardet/jisfreq.pyc deleted file mode 100644 index ed58348b..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/jisfreq.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/jpcntx.pyc b/bin/botocore/vendored/requests/packages/chardet/jpcntx.pyc deleted file mode 100644 index 94ae8e44..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/jpcntx.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/langbulgarianmodel.pyc b/bin/botocore/vendored/requests/packages/chardet/langbulgarianmodel.pyc deleted file mode 100644 index 10d6cc56..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/langbulgarianmodel.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/langcyrillicmodel.pyc b/bin/botocore/vendored/requests/packages/chardet/langcyrillicmodel.pyc deleted file mode 100644 index 9af638d4..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/langcyrillicmodel.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/langgreekmodel.pyc b/bin/botocore/vendored/requests/packages/chardet/langgreekmodel.pyc deleted file mode 100644 index 0ef78a3a..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/langgreekmodel.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/langhebrewmodel.pyc b/bin/botocore/vendored/requests/packages/chardet/langhebrewmodel.pyc deleted file mode 100644 index 6bb6f7b9..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/langhebrewmodel.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/langhungarianmodel.pyc b/bin/botocore/vendored/requests/packages/chardet/langhungarianmodel.pyc deleted file mode 100644 index a2aa83d0..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/langhungarianmodel.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/langthaimodel.pyc b/bin/botocore/vendored/requests/packages/chardet/langthaimodel.pyc deleted file mode 100644 index 0b511942..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/langthaimodel.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/latin1prober.pyc b/bin/botocore/vendored/requests/packages/chardet/latin1prober.pyc deleted file mode 100644 index 1eec327b..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/latin1prober.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/mbcharsetprober.pyc b/bin/botocore/vendored/requests/packages/chardet/mbcharsetprober.pyc deleted file mode 100644 index bc888522..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/mbcharsetprober.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/mbcsgroupprober.pyc b/bin/botocore/vendored/requests/packages/chardet/mbcsgroupprober.pyc deleted file mode 100644 index c27b7977..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/mbcsgroupprober.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/mbcssm.pyc b/bin/botocore/vendored/requests/packages/chardet/mbcssm.pyc deleted file mode 100644 index ab977fc3..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/mbcssm.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/sbcharsetprober.pyc b/bin/botocore/vendored/requests/packages/chardet/sbcharsetprober.pyc deleted file mode 100644 index fd17f6b2..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/sbcharsetprober.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/sbcsgroupprober.pyc b/bin/botocore/vendored/requests/packages/chardet/sbcsgroupprober.pyc deleted file mode 100644 index edbd3fa6..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/sbcsgroupprober.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/sjisprober.pyc b/bin/botocore/vendored/requests/packages/chardet/sjisprober.pyc deleted file mode 100644 index 1a8d5e92..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/sjisprober.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/universaldetector.pyc b/bin/botocore/vendored/requests/packages/chardet/universaldetector.pyc deleted file mode 100644 index a1ac819e..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/universaldetector.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/chardet/utf8prober.pyc b/bin/botocore/vendored/requests/packages/chardet/utf8prober.pyc deleted file mode 100644 index 50d64c6a..00000000 Binary files a/bin/botocore/vendored/requests/packages/chardet/utf8prober.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/urllib3/__init__.pyc b/bin/botocore/vendored/requests/packages/urllib3/__init__.pyc deleted file mode 100644 index e6cc1988..00000000 Binary files a/bin/botocore/vendored/requests/packages/urllib3/__init__.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/urllib3/_collections.pyc b/bin/botocore/vendored/requests/packages/urllib3/_collections.pyc deleted file mode 100644 index ba8ca489..00000000 Binary files a/bin/botocore/vendored/requests/packages/urllib3/_collections.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/urllib3/connection.pyc b/bin/botocore/vendored/requests/packages/urllib3/connection.pyc deleted file mode 100644 index 6944dd44..00000000 Binary files a/bin/botocore/vendored/requests/packages/urllib3/connection.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/urllib3/connectionpool.pyc b/bin/botocore/vendored/requests/packages/urllib3/connectionpool.pyc deleted file mode 100644 index c7a9c921..00000000 Binary files a/bin/botocore/vendored/requests/packages/urllib3/connectionpool.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/urllib3/contrib/__init__.pyc b/bin/botocore/vendored/requests/packages/urllib3/contrib/__init__.pyc deleted file mode 100644 index c124fdcf..00000000 Binary files a/bin/botocore/vendored/requests/packages/urllib3/contrib/__init__.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/urllib3/contrib/ntlmpool.pyc b/bin/botocore/vendored/requests/packages/urllib3/contrib/ntlmpool.pyc deleted file mode 100644 index 8683ae50..00000000 Binary files a/bin/botocore/vendored/requests/packages/urllib3/contrib/ntlmpool.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/urllib3/contrib/pyopenssl.pyc b/bin/botocore/vendored/requests/packages/urllib3/contrib/pyopenssl.pyc deleted file mode 100644 index e36b9437..00000000 Binary files a/bin/botocore/vendored/requests/packages/urllib3/contrib/pyopenssl.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/urllib3/exceptions.pyc b/bin/botocore/vendored/requests/packages/urllib3/exceptions.pyc deleted file mode 100644 index f9b723b7..00000000 Binary files a/bin/botocore/vendored/requests/packages/urllib3/exceptions.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/urllib3/fields.pyc b/bin/botocore/vendored/requests/packages/urllib3/fields.pyc deleted file mode 100644 index be79bb1c..00000000 Binary files a/bin/botocore/vendored/requests/packages/urllib3/fields.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/urllib3/filepost.pyc b/bin/botocore/vendored/requests/packages/urllib3/filepost.pyc deleted file mode 100644 index 97102827..00000000 Binary files a/bin/botocore/vendored/requests/packages/urllib3/filepost.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/urllib3/packages/__init__.pyc b/bin/botocore/vendored/requests/packages/urllib3/packages/__init__.pyc deleted file mode 100644 index 27a180e8..00000000 Binary files a/bin/botocore/vendored/requests/packages/urllib3/packages/__init__.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/urllib3/packages/ordered_dict.pyc b/bin/botocore/vendored/requests/packages/urllib3/packages/ordered_dict.pyc deleted file mode 100644 index c0acffc3..00000000 Binary files a/bin/botocore/vendored/requests/packages/urllib3/packages/ordered_dict.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/urllib3/packages/six.pyc b/bin/botocore/vendored/requests/packages/urllib3/packages/six.pyc deleted file mode 100644 index f09d04ea..00000000 Binary files a/bin/botocore/vendored/requests/packages/urllib3/packages/six.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/urllib3/packages/ssl_match_hostname/__init__.pyc b/bin/botocore/vendored/requests/packages/urllib3/packages/ssl_match_hostname/__init__.pyc deleted file mode 100644 index 01f2f5cb..00000000 Binary files a/bin/botocore/vendored/requests/packages/urllib3/packages/ssl_match_hostname/__init__.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.pyc b/bin/botocore/vendored/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.pyc deleted file mode 100644 index 3bf4ee9b..00000000 Binary files a/bin/botocore/vendored/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/urllib3/poolmanager.pyc b/bin/botocore/vendored/requests/packages/urllib3/poolmanager.pyc deleted file mode 100644 index 7b37b4e8..00000000 Binary files a/bin/botocore/vendored/requests/packages/urllib3/poolmanager.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/urllib3/request.pyc b/bin/botocore/vendored/requests/packages/urllib3/request.pyc deleted file mode 100644 index 695faeee..00000000 Binary files a/bin/botocore/vendored/requests/packages/urllib3/request.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/urllib3/response.pyc b/bin/botocore/vendored/requests/packages/urllib3/response.pyc deleted file mode 100644 index 3b7aaea6..00000000 Binary files a/bin/botocore/vendored/requests/packages/urllib3/response.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/urllib3/util/__init__.pyc b/bin/botocore/vendored/requests/packages/urllib3/util/__init__.pyc deleted file mode 100644 index 035c04fb..00000000 Binary files a/bin/botocore/vendored/requests/packages/urllib3/util/__init__.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/urllib3/util/connection.pyc b/bin/botocore/vendored/requests/packages/urllib3/util/connection.pyc deleted file mode 100644 index ad1f55c6..00000000 Binary files a/bin/botocore/vendored/requests/packages/urllib3/util/connection.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/urllib3/util/request.pyc b/bin/botocore/vendored/requests/packages/urllib3/util/request.pyc deleted file mode 100644 index af209e71..00000000 Binary files a/bin/botocore/vendored/requests/packages/urllib3/util/request.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/urllib3/util/response.pyc b/bin/botocore/vendored/requests/packages/urllib3/util/response.pyc deleted file mode 100644 index e0959cfe..00000000 Binary files a/bin/botocore/vendored/requests/packages/urllib3/util/response.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/urllib3/util/retry.pyc b/bin/botocore/vendored/requests/packages/urllib3/util/retry.pyc deleted file mode 100644 index aa608041..00000000 Binary files a/bin/botocore/vendored/requests/packages/urllib3/util/retry.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/urllib3/util/ssl_.pyc b/bin/botocore/vendored/requests/packages/urllib3/util/ssl_.pyc deleted file mode 100644 index b5190e9a..00000000 Binary files a/bin/botocore/vendored/requests/packages/urllib3/util/ssl_.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/urllib3/util/timeout.pyc b/bin/botocore/vendored/requests/packages/urllib3/util/timeout.pyc deleted file mode 100644 index 8e2ec553..00000000 Binary files a/bin/botocore/vendored/requests/packages/urllib3/util/timeout.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/packages/urllib3/util/url.pyc b/bin/botocore/vendored/requests/packages/urllib3/util/url.pyc deleted file mode 100644 index 5c4e58c2..00000000 Binary files a/bin/botocore/vendored/requests/packages/urllib3/util/url.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/sessions.pyc b/bin/botocore/vendored/requests/sessions.pyc deleted file mode 100644 index 11da42ab..00000000 Binary files a/bin/botocore/vendored/requests/sessions.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/status_codes.pyc b/bin/botocore/vendored/requests/status_codes.pyc deleted file mode 100644 index 2dbe4004..00000000 Binary files a/bin/botocore/vendored/requests/status_codes.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/structures.pyc b/bin/botocore/vendored/requests/structures.pyc deleted file mode 100644 index 11a1eb6f..00000000 Binary files a/bin/botocore/vendored/requests/structures.pyc and /dev/null differ diff --git a/bin/botocore/vendored/requests/utils.pyc b/bin/botocore/vendored/requests/utils.pyc deleted file mode 100644 index 8bea9e2d..00000000 Binary files a/bin/botocore/vendored/requests/utils.pyc and /dev/null differ diff --git a/bin/botocore/vendored/six.pyc b/bin/botocore/vendored/six.pyc deleted file mode 100644 index ec55512b..00000000 Binary files a/bin/botocore/vendored/six.pyc and /dev/null differ diff --git a/bin/botocore/waiter.pyc b/bin/botocore/waiter.pyc deleted file mode 100644 index 269a743f..00000000 Binary files a/bin/botocore/waiter.pyc and /dev/null differ diff --git a/bin/colorama-0.3.9.dist-info/DESCRIPTION.rst b/bin/colorama-0.3.9.dist-info/DESCRIPTION.rst deleted file mode 100644 index bbde73c4..00000000 --- a/bin/colorama-0.3.9.dist-info/DESCRIPTION.rst +++ /dev/null @@ -1,348 +0,0 @@ -.. image:: https://img.shields.io/pypi/v/colorama.svg - :target: https://pypi.python.org/pypi/colorama/ - :alt: Latest Version - -.. image:: https://travis-ci.org/tartley/colorama.svg?branch=master - :target: https://travis-ci.org/tartley/colorama - :alt: Build Status - -Download and docs: - http://pypi.python.org/pypi/colorama -Source code & Development: - https://github.com/tartley/colorama - -Description -=========== - -Makes ANSI escape character sequences (for producing colored terminal text and -cursor positioning) work under MS Windows. - -ANSI escape character sequences have long been used to produce colored terminal -text and cursor positioning on Unix and Macs. Colorama makes this work on -Windows, too, by wrapping ``stdout``, stripping ANSI sequences it finds (which -would appear as gobbledygook in the output), and converting them into the -appropriate win32 calls to modify the state of the terminal. On other platforms, -Colorama does nothing. - -Colorama also provides some shortcuts to help generate ANSI sequences -but works fine in conjunction with any other ANSI sequence generation library, -such as the venerable Termcolor (http://pypi.python.org/pypi/termcolor) -or the fabulous Blessings (https://pypi.python.org/pypi/blessings). - -This has the upshot of providing a simple cross-platform API for printing -colored terminal text from Python, and has the happy side-effect that existing -applications or libraries which use ANSI sequences to produce colored output on -Linux or Macs can now also work on Windows, simply by calling -``colorama.init()``. - -An alternative approach is to install ``ansi.sys`` on Windows machines, which -provides the same behaviour for all applications running in terminals. Colorama -is intended for situations where that isn't easy (e.g., maybe your app doesn't -have an installer.) - -Demo scripts in the source code repository print some colored text using -ANSI sequences. Compare their output under Gnome-terminal's built in ANSI -handling, versus on Windows Command-Prompt using Colorama: - -.. image:: https://github.com/tartley/colorama/raw/master/screenshots/ubuntu-demo.png - :width: 661 - :height: 357 - :alt: ANSI sequences on Ubuntu under gnome-terminal. - -.. image:: https://github.com/tartley/colorama/raw/master/screenshots/windows-demo.png - :width: 668 - :height: 325 - :alt: Same ANSI sequences on Windows, using Colorama. - -These screengrabs show that, on Windows, Colorama does not support ANSI 'dim -text'; it looks the same as 'normal text'. - - -License -======= - -Copyright Jonathan Hartley 2013. BSD 3-Clause license; see LICENSE file. - - -Dependencies -============ - -None, other than Python. Tested on Python 2.5.5, 2.6.5, 2.7, 3.1.2, 3.2, 3.3, -3.4 and 3.5. - -Usage -===== - -Initialisation --------------- - -Applications should initialise Colorama using: - -.. code-block:: python - - from colorama import init - init() - -On Windows, calling ``init()`` will filter ANSI escape sequences out of any -text sent to ``stdout`` or ``stderr``, and replace them with equivalent Win32 -calls. - -On other platforms, calling ``init()`` has no effect (unless you request other -optional functionality; see "Init Keyword Args", below). By design, this permits -applications to call ``init()`` unconditionally on all platforms, after which -ANSI output should just work. - -To stop using colorama before your program exits, simply call ``deinit()``. -This will restore ``stdout`` and ``stderr`` to their original values, so that -Colorama is disabled. To resume using Colorama again, call ``reinit()``; it is -cheaper to calling ``init()`` again (but does the same thing). - - -Colored Output --------------- - -Cross-platform printing of colored text can then be done using Colorama's -constant shorthand for ANSI escape sequences: - -.. code-block:: python - - from colorama import Fore, Back, Style - print(Fore.RED + 'some red text') - print(Back.GREEN + 'and with a green background') - print(Style.DIM + 'and in dim text') - print(Style.RESET_ALL) - print('back to normal now') - -...or simply by manually printing ANSI sequences from your own code: - -.. code-block:: python - - print('\033[31m' + 'some red text') - print('\033[30m') # and reset to default color - -...or, Colorama can be used happily in conjunction with existing ANSI libraries -such as Termcolor: - -.. code-block:: python - - from colorama import init - from termcolor import colored - - # use Colorama to make Termcolor work on Windows too - init() - - # then use Termcolor for all colored text output - print(colored('Hello, World!', 'green', 'on_red')) - -Available formatting constants are:: - - Fore: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET. - Back: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET. - Style: DIM, NORMAL, BRIGHT, RESET_ALL - -``Style.RESET_ALL`` resets foreground, background, and brightness. Colorama will -perform this reset automatically on program exit. - - -Cursor Positioning ------------------- - -ANSI codes to reposition the cursor are supported. See ``demos/demo06.py`` for -an example of how to generate them. - - -Init Keyword Args ------------------ - -``init()`` accepts some ``**kwargs`` to override default behaviour. - -init(autoreset=False): - If you find yourself repeatedly sending reset sequences to turn off color - changes at the end of every print, then ``init(autoreset=True)`` will - automate that: - - .. code-block:: python - - from colorama import init - init(autoreset=True) - print(Fore.RED + 'some red text') - print('automatically back to default color again') - -init(strip=None): - Pass ``True`` or ``False`` to override whether ansi codes should be - stripped from the output. The default behaviour is to strip if on Windows - or if output is redirected (not a tty). - -init(convert=None): - Pass ``True`` or ``False`` to override whether to convert ANSI codes in the - output into win32 calls. The default behaviour is to convert if on Windows - and output is to a tty (terminal). - -init(wrap=True): - On Windows, colorama works by replacing ``sys.stdout`` and ``sys.stderr`` - with proxy objects, which override the ``.write()`` method to do their work. - If this wrapping causes you problems, then this can be disabled by passing - ``init(wrap=False)``. The default behaviour is to wrap if ``autoreset`` or - ``strip`` or ``convert`` are True. - - When wrapping is disabled, colored printing on non-Windows platforms will - continue to work as normal. To do cross-platform colored output, you can - use Colorama's ``AnsiToWin32`` proxy directly: - - .. code-block:: python - - import sys - from colorama import init, AnsiToWin32 - init(wrap=False) - stream = AnsiToWin32(sys.stderr).stream - - # Python 2 - print >>stream, Fore.BLUE + 'blue text on stderr' - - # Python 3 - print(Fore.BLUE + 'blue text on stderr', file=stream) - - -Status & Known Problems -======================= - -I've personally only tested it on Windows XP (CMD, Console2), Ubuntu -(gnome-terminal, xterm), and OS X. - -Some presumably valid ANSI sequences aren't recognised (see details below), -but to my knowledge nobody has yet complained about this. Puzzling. - -See outstanding issues and wishlist: -https://github.com/tartley/colorama/issues - -If anything doesn't work for you, or doesn't do what you expected or hoped for, -I'd love to hear about it on that issues list, would be delighted by patches, -and would be happy to grant commit access to anyone who submits a working patch -or two. - - -Recognised ANSI Sequences -========================= - -ANSI sequences generally take the form: - - ESC [ ; ... - -Where ```` is an integer, and ```` is a single letter. Zero or -more params are passed to a ````. If no params are passed, it is -generally synonymous with passing a single zero. No spaces exist in the -sequence; they have been inserted here simply to read more easily. - -The only ANSI sequences that colorama converts into win32 calls are:: - - ESC [ 0 m # reset all (colors and brightness) - ESC [ 1 m # bright - ESC [ 2 m # dim (looks same as normal brightness) - ESC [ 22 m # normal brightness - - # FOREGROUND: - ESC [ 30 m # black - ESC [ 31 m # red - ESC [ 32 m # green - ESC [ 33 m # yellow - ESC [ 34 m # blue - ESC [ 35 m # magenta - ESC [ 36 m # cyan - ESC [ 37 m # white - ESC [ 39 m # reset - - # BACKGROUND - ESC [ 40 m # black - ESC [ 41 m # red - ESC [ 42 m # green - ESC [ 43 m # yellow - ESC [ 44 m # blue - ESC [ 45 m # magenta - ESC [ 46 m # cyan - ESC [ 47 m # white - ESC [ 49 m # reset - - # cursor positioning - ESC [ y;x H # position cursor at x across, y down - ESC [ y;x f # position cursor at x across, y down - ESC [ n A # move cursor n lines up - ESC [ n B # move cursor n lines down - ESC [ n C # move cursor n characters forward - ESC [ n D # move cursor n characters backward - - # clear the screen - ESC [ mode J # clear the screen - - # clear the line - ESC [ mode K # clear the line - -Multiple numeric params to the ``'m'`` command can be combined into a single -sequence:: - - ESC [ 36 ; 45 ; 1 m # bright cyan text on magenta background - -All other ANSI sequences of the form ``ESC [ ; ... `` -are silently stripped from the output on Windows. - -Any other form of ANSI sequence, such as single-character codes or alternative -initial characters, are not recognised or stripped. It would be cool to add -them though. Let me know if it would be useful for you, via the Issues on -GitHub. - - -Development -=========== - -Help and fixes welcome! - -Running tests requires: - -- Michael Foord's ``mock`` module to be installed. -- Tests are written using 2010-era updates to ``unittest``, and require - Python 2.7 or greater, OR to have Michael Foord's ``unittest2`` module - installed. - -To run tests:: - - python -m unittest discover -p *_test.py - -This, like a few other handy commands, is captured in a ``Makefile``. - -If you use nose to run the tests, you must pass the ``-s`` flag; otherwise, -``nosetests`` applies its own proxy to ``stdout``, which confuses the unit -tests. - - -Thanks -====== -* Marc Schlaich (schlamar) for a ``setup.py`` fix for Python2.5. -* Marc Abramowitz, reported & fixed a crash on exit with closed ``stdout``, - providing a solution to issue #7's setuptools/distutils debate, - and other fixes. -* User 'eryksun', for guidance on correctly instantiating ``ctypes.windll``. -* Matthew McCormick for politely pointing out a longstanding crash on non-Win. -* Ben Hoyt, for a magnificent fix under 64-bit Windows. -* Jesse at Empty Square for submitting a fix for examples in the README. -* User 'jamessp', an observant documentation fix for cursor positioning. -* User 'vaal1239', Dave Mckee & Lackner Kristof for a tiny but much-needed Win7 - fix. -* Julien Stuyck, for wisely suggesting Python3 compatible updates to README. -* Daniel Griffith for multiple fabulous patches. -* Oscar Lesta for a valuable fix to stop ANSI chars being sent to non-tty - output. -* Roger Binns, for many suggestions, valuable feedback, & bug reports. -* Tim Golden for thought and much appreciated feedback on the initial idea. -* User 'Zearin' for updates to the README file. -* John Szakmeister for adding support for light colors -* Charles Merriam for adding documentation to demos -* Jurko for a fix on 64-bit Windows CPython2.5 w/o ctypes -* Florian Bruhin for a fix when stdout or stderr are None -* Thomas Weininger for fixing ValueError on Windows -* Remi Rampin for better Github integration and fixes to the README file -* Simeon Visser for closing a file handle using 'with' and updating classifiers - to include Python 3.3 and 3.4 -* Andy Neff for fixing RESET of LIGHT_EX colors. -* Jonathan Hartley for the initial idea and implementation. - - - diff --git a/bin/colorama-0.3.9.dist-info/INSTALLER b/bin/colorama-0.3.9.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/bin/colorama-0.3.9.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/bin/colorama-0.3.9.dist-info/METADATA b/bin/colorama-0.3.9.dist-info/METADATA deleted file mode 100644 index 7017c046..00000000 --- a/bin/colorama-0.3.9.dist-info/METADATA +++ /dev/null @@ -1,375 +0,0 @@ -Metadata-Version: 2.0 -Name: colorama -Version: 0.3.9 -Summary: Cross-platform colored terminal text. -Home-page: https://github.com/tartley/colorama -Author: Arnon Yaari -Author-email: tartley@tartley.com -License: BSD -Keywords: color colour terminal text ansi windows crossplatform xplatform -Platform: UNKNOWN -Classifier: Development Status :: 5 - Production/Stable -Classifier: Environment :: Console -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: BSD License -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.5 -Classifier: Programming Language :: Python :: 2.6 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.1 -Classifier: Programming Language :: Python :: 3.2 -Classifier: Programming Language :: Python :: 3.3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Topic :: Terminals - -.. image:: https://img.shields.io/pypi/v/colorama.svg - :target: https://pypi.python.org/pypi/colorama/ - :alt: Latest Version - -.. image:: https://travis-ci.org/tartley/colorama.svg?branch=master - :target: https://travis-ci.org/tartley/colorama - :alt: Build Status - -Download and docs: - http://pypi.python.org/pypi/colorama -Source code & Development: - https://github.com/tartley/colorama - -Description -=========== - -Makes ANSI escape character sequences (for producing colored terminal text and -cursor positioning) work under MS Windows. - -ANSI escape character sequences have long been used to produce colored terminal -text and cursor positioning on Unix and Macs. Colorama makes this work on -Windows, too, by wrapping ``stdout``, stripping ANSI sequences it finds (which -would appear as gobbledygook in the output), and converting them into the -appropriate win32 calls to modify the state of the terminal. On other platforms, -Colorama does nothing. - -Colorama also provides some shortcuts to help generate ANSI sequences -but works fine in conjunction with any other ANSI sequence generation library, -such as the venerable Termcolor (http://pypi.python.org/pypi/termcolor) -or the fabulous Blessings (https://pypi.python.org/pypi/blessings). - -This has the upshot of providing a simple cross-platform API for printing -colored terminal text from Python, and has the happy side-effect that existing -applications or libraries which use ANSI sequences to produce colored output on -Linux or Macs can now also work on Windows, simply by calling -``colorama.init()``. - -An alternative approach is to install ``ansi.sys`` on Windows machines, which -provides the same behaviour for all applications running in terminals. Colorama -is intended for situations where that isn't easy (e.g., maybe your app doesn't -have an installer.) - -Demo scripts in the source code repository print some colored text using -ANSI sequences. Compare their output under Gnome-terminal's built in ANSI -handling, versus on Windows Command-Prompt using Colorama: - -.. image:: https://github.com/tartley/colorama/raw/master/screenshots/ubuntu-demo.png - :width: 661 - :height: 357 - :alt: ANSI sequences on Ubuntu under gnome-terminal. - -.. image:: https://github.com/tartley/colorama/raw/master/screenshots/windows-demo.png - :width: 668 - :height: 325 - :alt: Same ANSI sequences on Windows, using Colorama. - -These screengrabs show that, on Windows, Colorama does not support ANSI 'dim -text'; it looks the same as 'normal text'. - - -License -======= - -Copyright Jonathan Hartley 2013. BSD 3-Clause license; see LICENSE file. - - -Dependencies -============ - -None, other than Python. Tested on Python 2.5.5, 2.6.5, 2.7, 3.1.2, 3.2, 3.3, -3.4 and 3.5. - -Usage -===== - -Initialisation --------------- - -Applications should initialise Colorama using: - -.. code-block:: python - - from colorama import init - init() - -On Windows, calling ``init()`` will filter ANSI escape sequences out of any -text sent to ``stdout`` or ``stderr``, and replace them with equivalent Win32 -calls. - -On other platforms, calling ``init()`` has no effect (unless you request other -optional functionality; see "Init Keyword Args", below). By design, this permits -applications to call ``init()`` unconditionally on all platforms, after which -ANSI output should just work. - -To stop using colorama before your program exits, simply call ``deinit()``. -This will restore ``stdout`` and ``stderr`` to their original values, so that -Colorama is disabled. To resume using Colorama again, call ``reinit()``; it is -cheaper to calling ``init()`` again (but does the same thing). - - -Colored Output --------------- - -Cross-platform printing of colored text can then be done using Colorama's -constant shorthand for ANSI escape sequences: - -.. code-block:: python - - from colorama import Fore, Back, Style - print(Fore.RED + 'some red text') - print(Back.GREEN + 'and with a green background') - print(Style.DIM + 'and in dim text') - print(Style.RESET_ALL) - print('back to normal now') - -...or simply by manually printing ANSI sequences from your own code: - -.. code-block:: python - - print('\033[31m' + 'some red text') - print('\033[30m') # and reset to default color - -...or, Colorama can be used happily in conjunction with existing ANSI libraries -such as Termcolor: - -.. code-block:: python - - from colorama import init - from termcolor import colored - - # use Colorama to make Termcolor work on Windows too - init() - - # then use Termcolor for all colored text output - print(colored('Hello, World!', 'green', 'on_red')) - -Available formatting constants are:: - - Fore: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET. - Back: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET. - Style: DIM, NORMAL, BRIGHT, RESET_ALL - -``Style.RESET_ALL`` resets foreground, background, and brightness. Colorama will -perform this reset automatically on program exit. - - -Cursor Positioning ------------------- - -ANSI codes to reposition the cursor are supported. See ``demos/demo06.py`` for -an example of how to generate them. - - -Init Keyword Args ------------------ - -``init()`` accepts some ``**kwargs`` to override default behaviour. - -init(autoreset=False): - If you find yourself repeatedly sending reset sequences to turn off color - changes at the end of every print, then ``init(autoreset=True)`` will - automate that: - - .. code-block:: python - - from colorama import init - init(autoreset=True) - print(Fore.RED + 'some red text') - print('automatically back to default color again') - -init(strip=None): - Pass ``True`` or ``False`` to override whether ansi codes should be - stripped from the output. The default behaviour is to strip if on Windows - or if output is redirected (not a tty). - -init(convert=None): - Pass ``True`` or ``False`` to override whether to convert ANSI codes in the - output into win32 calls. The default behaviour is to convert if on Windows - and output is to a tty (terminal). - -init(wrap=True): - On Windows, colorama works by replacing ``sys.stdout`` and ``sys.stderr`` - with proxy objects, which override the ``.write()`` method to do their work. - If this wrapping causes you problems, then this can be disabled by passing - ``init(wrap=False)``. The default behaviour is to wrap if ``autoreset`` or - ``strip`` or ``convert`` are True. - - When wrapping is disabled, colored printing on non-Windows platforms will - continue to work as normal. To do cross-platform colored output, you can - use Colorama's ``AnsiToWin32`` proxy directly: - - .. code-block:: python - - import sys - from colorama import init, AnsiToWin32 - init(wrap=False) - stream = AnsiToWin32(sys.stderr).stream - - # Python 2 - print >>stream, Fore.BLUE + 'blue text on stderr' - - # Python 3 - print(Fore.BLUE + 'blue text on stderr', file=stream) - - -Status & Known Problems -======================= - -I've personally only tested it on Windows XP (CMD, Console2), Ubuntu -(gnome-terminal, xterm), and OS X. - -Some presumably valid ANSI sequences aren't recognised (see details below), -but to my knowledge nobody has yet complained about this. Puzzling. - -See outstanding issues and wishlist: -https://github.com/tartley/colorama/issues - -If anything doesn't work for you, or doesn't do what you expected or hoped for, -I'd love to hear about it on that issues list, would be delighted by patches, -and would be happy to grant commit access to anyone who submits a working patch -or two. - - -Recognised ANSI Sequences -========================= - -ANSI sequences generally take the form: - - ESC [ ; ... - -Where ```` is an integer, and ```` is a single letter. Zero or -more params are passed to a ````. If no params are passed, it is -generally synonymous with passing a single zero. No spaces exist in the -sequence; they have been inserted here simply to read more easily. - -The only ANSI sequences that colorama converts into win32 calls are:: - - ESC [ 0 m # reset all (colors and brightness) - ESC [ 1 m # bright - ESC [ 2 m # dim (looks same as normal brightness) - ESC [ 22 m # normal brightness - - # FOREGROUND: - ESC [ 30 m # black - ESC [ 31 m # red - ESC [ 32 m # green - ESC [ 33 m # yellow - ESC [ 34 m # blue - ESC [ 35 m # magenta - ESC [ 36 m # cyan - ESC [ 37 m # white - ESC [ 39 m # reset - - # BACKGROUND - ESC [ 40 m # black - ESC [ 41 m # red - ESC [ 42 m # green - ESC [ 43 m # yellow - ESC [ 44 m # blue - ESC [ 45 m # magenta - ESC [ 46 m # cyan - ESC [ 47 m # white - ESC [ 49 m # reset - - # cursor positioning - ESC [ y;x H # position cursor at x across, y down - ESC [ y;x f # position cursor at x across, y down - ESC [ n A # move cursor n lines up - ESC [ n B # move cursor n lines down - ESC [ n C # move cursor n characters forward - ESC [ n D # move cursor n characters backward - - # clear the screen - ESC [ mode J # clear the screen - - # clear the line - ESC [ mode K # clear the line - -Multiple numeric params to the ``'m'`` command can be combined into a single -sequence:: - - ESC [ 36 ; 45 ; 1 m # bright cyan text on magenta background - -All other ANSI sequences of the form ``ESC [ ; ... `` -are silently stripped from the output on Windows. - -Any other form of ANSI sequence, such as single-character codes or alternative -initial characters, are not recognised or stripped. It would be cool to add -them though. Let me know if it would be useful for you, via the Issues on -GitHub. - - -Development -=========== - -Help and fixes welcome! - -Running tests requires: - -- Michael Foord's ``mock`` module to be installed. -- Tests are written using 2010-era updates to ``unittest``, and require - Python 2.7 or greater, OR to have Michael Foord's ``unittest2`` module - installed. - -To run tests:: - - python -m unittest discover -p *_test.py - -This, like a few other handy commands, is captured in a ``Makefile``. - -If you use nose to run the tests, you must pass the ``-s`` flag; otherwise, -``nosetests`` applies its own proxy to ``stdout``, which confuses the unit -tests. - - -Thanks -====== -* Marc Schlaich (schlamar) for a ``setup.py`` fix for Python2.5. -* Marc Abramowitz, reported & fixed a crash on exit with closed ``stdout``, - providing a solution to issue #7's setuptools/distutils debate, - and other fixes. -* User 'eryksun', for guidance on correctly instantiating ``ctypes.windll``. -* Matthew McCormick for politely pointing out a longstanding crash on non-Win. -* Ben Hoyt, for a magnificent fix under 64-bit Windows. -* Jesse at Empty Square for submitting a fix for examples in the README. -* User 'jamessp', an observant documentation fix for cursor positioning. -* User 'vaal1239', Dave Mckee & Lackner Kristof for a tiny but much-needed Win7 - fix. -* Julien Stuyck, for wisely suggesting Python3 compatible updates to README. -* Daniel Griffith for multiple fabulous patches. -* Oscar Lesta for a valuable fix to stop ANSI chars being sent to non-tty - output. -* Roger Binns, for many suggestions, valuable feedback, & bug reports. -* Tim Golden for thought and much appreciated feedback on the initial idea. -* User 'Zearin' for updates to the README file. -* John Szakmeister for adding support for light colors -* Charles Merriam for adding documentation to demos -* Jurko for a fix on 64-bit Windows CPython2.5 w/o ctypes -* Florian Bruhin for a fix when stdout or stderr are None -* Thomas Weininger for fixing ValueError on Windows -* Remi Rampin for better Github integration and fixes to the README file -* Simeon Visser for closing a file handle using 'with' and updating classifiers - to include Python 3.3 and 3.4 -* Andy Neff for fixing RESET of LIGHT_EX colors. -* Jonathan Hartley for the initial idea and implementation. - - - diff --git a/bin/colorama-0.3.9.dist-info/RECORD b/bin/colorama-0.3.9.dist-info/RECORD deleted file mode 100644 index 82f077c4..00000000 --- a/bin/colorama-0.3.9.dist-info/RECORD +++ /dev/null @@ -1,20 +0,0 @@ -colorama/__init__.py,sha256=V3-Hv_vOa-2lE5Q_0mGkdhZo-9e4XrGTW_44cU81qQY,240 -colorama/ansi.py,sha256=Fi0un-QLqRm-v7o_nKiOqyC8PapBJK7DLV_q9LKtTO0,2524 -colorama/ansitowin32.py,sha256=QrieYX2tsaWIO19P6biMa1zUCt-_abudoEp2_IdqZZU,9668 -colorama/initialise.py,sha256=cHqVJtb82OG7HUCxvQ2joG7N_CoxbIKbI_fgryZkj20,1917 -colorama/win32.py,sha256=5Hc7L1LabubrYDhdWAfRyzlt14ErP3YKDvf_zYaarLk,5426 -colorama/winterm.py,sha256=V7U7ojwG1q4n6PKripjEvW_htYQi5ueXSM3LUUoqqDY,6290 -colorama-0.3.9.dist-info/DESCRIPTION.rst,sha256=Wvxoc5cqU6Zp3KqXrZr6yfPQh35oh4_hEhDy9x4XkUs,12015 -colorama-0.3.9.dist-info/METADATA,sha256=kUDCdB_XVo_pu4TSBRJUUqsdbhyWffljmogqeui8k3I,13081 -colorama-0.3.9.dist-info/RECORD,, -colorama-0.3.9.dist-info/WHEEL,sha256=o2k-Qa-RMNIJmUdIc7KU6VWR_ErNRbWNlxDIpl7lm34,110 -colorama-0.3.9.dist-info/metadata.json,sha256=PtYxKEP8PtrANvH78Uo8ILoZnsUwCFrMqXEJf-UhWgY,1153 -colorama-0.3.9.dist-info/pbr.json,sha256=69CJVZrIaKuqSWybmv1ghLuEfP2OJPwJCc05_uo0qiY,47 -colorama-0.3.9.dist-info/top_level.txt,sha256=_Kx6-Cni2BT1PEATPhrSRxo0d7kSgfBbHf5o7IF1ABw,9 -colorama-0.3.9.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -colorama/ansi.pyc,, -colorama/ansitowin32.pyc,, -colorama/winterm.pyc,, -colorama/initialise.pyc,, -colorama/win32.pyc,, -colorama/__init__.pyc,, diff --git a/bin/colorama-0.3.9.dist-info/WHEEL b/bin/colorama-0.3.9.dist-info/WHEEL deleted file mode 100644 index 8b6dd1b5..00000000 --- a/bin/colorama-0.3.9.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.29.0) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/bin/colorama-0.3.9.dist-info/metadata.json b/bin/colorama-0.3.9.dist-info/metadata.json deleted file mode 100644 index 4d3b58e3..00000000 --- a/bin/colorama-0.3.9.dist-info/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"classifiers": ["Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.5", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.1", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Terminals"], "extensions": {"python.details": {"contacts": [{"email": "tartley@tartley.com", "name": "Arnon Yaari", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "https://github.com/tartley/colorama"}}}, "generator": "bdist_wheel (0.29.0)", "keywords": ["color", "colour", "terminal", "text", "ansi", "windows", "crossplatform", "xplatform"], "license": "BSD", "metadata_version": "2.0", "name": "colorama", "summary": "Cross-platform colored terminal text.", "version": "0.3.9"} \ No newline at end of file diff --git a/bin/colorama-0.3.9.dist-info/pbr.json b/bin/colorama-0.3.9.dist-info/pbr.json deleted file mode 100755 index 0206db96..00000000 --- a/bin/colorama-0.3.9.dist-info/pbr.json +++ /dev/null @@ -1 +0,0 @@ -{"is_release": false, "git_version": "69e4069"} \ No newline at end of file diff --git a/bin/colorama-0.3.9.dist-info/top_level.txt b/bin/colorama-0.3.9.dist-info/top_level.txt deleted file mode 100644 index 3fcfb51b..00000000 --- a/bin/colorama-0.3.9.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -colorama diff --git a/bin/colorama/__init__.pyc b/bin/colorama/__init__.pyc deleted file mode 100644 index 7822b98b..00000000 Binary files a/bin/colorama/__init__.pyc and /dev/null differ diff --git a/bin/colorama/ansi.pyc b/bin/colorama/ansi.pyc deleted file mode 100644 index b544f88b..00000000 Binary files a/bin/colorama/ansi.pyc and /dev/null differ diff --git a/bin/colorama/ansitowin32.pyc b/bin/colorama/ansitowin32.pyc deleted file mode 100644 index 456ffc29..00000000 Binary files a/bin/colorama/ansitowin32.pyc and /dev/null differ diff --git a/bin/colorama/initialise.pyc b/bin/colorama/initialise.pyc deleted file mode 100644 index ff4dd2e4..00000000 Binary files a/bin/colorama/initialise.pyc and /dev/null differ diff --git a/bin/colorama/win32.pyc b/bin/colorama/win32.pyc deleted file mode 100644 index 54c8381a..00000000 Binary files a/bin/colorama/win32.pyc and /dev/null differ diff --git a/bin/colorama/winterm.pyc b/bin/colorama/winterm.pyc deleted file mode 100644 index a6bceee1..00000000 Binary files a/bin/colorama/winterm.pyc and /dev/null differ diff --git a/bin/concurrent/__init__.py b/bin/concurrent/__init__.py deleted file mode 100644 index b36383a6..00000000 --- a/bin/concurrent/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from pkgutil import extend_path - -__path__ = extend_path(__path__, __name__) diff --git a/bin/concurrent/__init__.pyc b/bin/concurrent/__init__.pyc deleted file mode 100644 index 7c644f42..00000000 Binary files a/bin/concurrent/__init__.pyc and /dev/null differ diff --git a/bin/concurrent/futures/__init__.py b/bin/concurrent/futures/__init__.py deleted file mode 100644 index 428b14bd..00000000 --- a/bin/concurrent/futures/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 2009 Brian Quinlan. All Rights Reserved. -# Licensed to PSF under a Contributor Agreement. - -"""Execute computations asynchronously using threads or processes.""" - -__author__ = 'Brian Quinlan (brian@sweetapp.com)' - -from concurrent.futures._base import (FIRST_COMPLETED, - FIRST_EXCEPTION, - ALL_COMPLETED, - CancelledError, - TimeoutError, - Future, - Executor, - wait, - as_completed) -from concurrent.futures.thread import ThreadPoolExecutor - -try: - from concurrent.futures.process import ProcessPoolExecutor -except ImportError: - # some platforms don't have multiprocessing - pass diff --git a/bin/concurrent/futures/__init__.pyc b/bin/concurrent/futures/__init__.pyc deleted file mode 100644 index 5b8cb259..00000000 Binary files a/bin/concurrent/futures/__init__.pyc and /dev/null differ diff --git a/bin/concurrent/futures/_base.py b/bin/concurrent/futures/_base.py deleted file mode 100644 index 510ffa53..00000000 --- a/bin/concurrent/futures/_base.py +++ /dev/null @@ -1,667 +0,0 @@ -# Copyright 2009 Brian Quinlan. All Rights Reserved. -# Licensed to PSF under a Contributor Agreement. - -import collections -import logging -import threading -import itertools -import time -import types - -__author__ = 'Brian Quinlan (brian@sweetapp.com)' - -FIRST_COMPLETED = 'FIRST_COMPLETED' -FIRST_EXCEPTION = 'FIRST_EXCEPTION' -ALL_COMPLETED = 'ALL_COMPLETED' -_AS_COMPLETED = '_AS_COMPLETED' - -# Possible future states (for internal use by the futures package). -PENDING = 'PENDING' -RUNNING = 'RUNNING' -# The future was cancelled by the user... -CANCELLED = 'CANCELLED' -# ...and _Waiter.add_cancelled() was called by a worker. -CANCELLED_AND_NOTIFIED = 'CANCELLED_AND_NOTIFIED' -FINISHED = 'FINISHED' - -_FUTURE_STATES = [ - PENDING, - RUNNING, - CANCELLED, - CANCELLED_AND_NOTIFIED, - FINISHED -] - -_STATE_TO_DESCRIPTION_MAP = { - PENDING: "pending", - RUNNING: "running", - CANCELLED: "cancelled", - CANCELLED_AND_NOTIFIED: "cancelled", - FINISHED: "finished" -} - -# Logger for internal use by the futures package. -LOGGER = logging.getLogger("concurrent.futures") - -class Error(Exception): - """Base class for all future-related exceptions.""" - pass - -class CancelledError(Error): - """The Future was cancelled.""" - pass - -class TimeoutError(Error): - """The operation exceeded the given deadline.""" - pass - -class _Waiter(object): - """Provides the event that wait() and as_completed() block on.""" - def __init__(self): - self.event = threading.Event() - self.finished_futures = [] - - def add_result(self, future): - self.finished_futures.append(future) - - def add_exception(self, future): - self.finished_futures.append(future) - - def add_cancelled(self, future): - self.finished_futures.append(future) - -class _AsCompletedWaiter(_Waiter): - """Used by as_completed().""" - - def __init__(self): - super(_AsCompletedWaiter, self).__init__() - self.lock = threading.Lock() - - def add_result(self, future): - with self.lock: - super(_AsCompletedWaiter, self).add_result(future) - self.event.set() - - def add_exception(self, future): - with self.lock: - super(_AsCompletedWaiter, self).add_exception(future) - self.event.set() - - def add_cancelled(self, future): - with self.lock: - super(_AsCompletedWaiter, self).add_cancelled(future) - self.event.set() - -class _FirstCompletedWaiter(_Waiter): - """Used by wait(return_when=FIRST_COMPLETED).""" - - def add_result(self, future): - super(_FirstCompletedWaiter, self).add_result(future) - self.event.set() - - def add_exception(self, future): - super(_FirstCompletedWaiter, self).add_exception(future) - self.event.set() - - def add_cancelled(self, future): - super(_FirstCompletedWaiter, self).add_cancelled(future) - self.event.set() - -class _AllCompletedWaiter(_Waiter): - """Used by wait(return_when=FIRST_EXCEPTION and ALL_COMPLETED).""" - - def __init__(self, num_pending_calls, stop_on_exception): - self.num_pending_calls = num_pending_calls - self.stop_on_exception = stop_on_exception - self.lock = threading.Lock() - super(_AllCompletedWaiter, self).__init__() - - def _decrement_pending_calls(self): - with self.lock: - self.num_pending_calls -= 1 - if not self.num_pending_calls: - self.event.set() - - def add_result(self, future): - super(_AllCompletedWaiter, self).add_result(future) - self._decrement_pending_calls() - - def add_exception(self, future): - super(_AllCompletedWaiter, self).add_exception(future) - if self.stop_on_exception: - self.event.set() - else: - self._decrement_pending_calls() - - def add_cancelled(self, future): - super(_AllCompletedWaiter, self).add_cancelled(future) - self._decrement_pending_calls() - -class _AcquireFutures(object): - """A context manager that does an ordered acquire of Future conditions.""" - - def __init__(self, futures): - self.futures = sorted(futures, key=id) - - def __enter__(self): - for future in self.futures: - future._condition.acquire() - - def __exit__(self, *args): - for future in self.futures: - future._condition.release() - -def _create_and_install_waiters(fs, return_when): - if return_when == _AS_COMPLETED: - waiter = _AsCompletedWaiter() - elif return_when == FIRST_COMPLETED: - waiter = _FirstCompletedWaiter() - else: - pending_count = sum( - f._state not in [CANCELLED_AND_NOTIFIED, FINISHED] for f in fs) - - if return_when == FIRST_EXCEPTION: - waiter = _AllCompletedWaiter(pending_count, stop_on_exception=True) - elif return_when == ALL_COMPLETED: - waiter = _AllCompletedWaiter(pending_count, stop_on_exception=False) - else: - raise ValueError("Invalid return condition: %r" % return_when) - - for f in fs: - f._waiters.append(waiter) - - return waiter - - -def _yield_finished_futures(fs, waiter, ref_collect): - """ - Iterate on the list *fs*, yielding finished futures one by one in - reverse order. - Before yielding a future, *waiter* is removed from its waiters - and the future is removed from each set in the collection of sets - *ref_collect*. - - The aim of this function is to avoid keeping stale references after - the future is yielded and before the iterator resumes. - """ - while fs: - f = fs[-1] - for futures_set in ref_collect: - futures_set.remove(f) - with f._condition: - f._waiters.remove(waiter) - del f - # Careful not to keep a reference to the popped value - yield fs.pop() - - -def as_completed(fs, timeout=None): - """An iterator over the given futures that yields each as it completes. - - Args: - fs: The sequence of Futures (possibly created by different Executors) to - iterate over. - timeout: The maximum number of seconds to wait. If None, then there - is no limit on the wait time. - - Returns: - An iterator that yields the given Futures as they complete (finished or - cancelled). If any given Futures are duplicated, they will be returned - once. - - Raises: - TimeoutError: If the entire result iterator could not be generated - before the given timeout. - """ - if timeout is not None: - end_time = timeout + time.time() - - fs = set(fs) - total_futures = len(fs) - with _AcquireFutures(fs): - finished = set( - f for f in fs - if f._state in [CANCELLED_AND_NOTIFIED, FINISHED]) - pending = fs - finished - waiter = _create_and_install_waiters(fs, _AS_COMPLETED) - finished = list(finished) - try: - for f in _yield_finished_futures(finished, waiter, - ref_collect=(fs,)): - f = [f] - yield f.pop() - - while pending: - if timeout is None: - wait_timeout = None - else: - wait_timeout = end_time - time.time() - if wait_timeout < 0: - raise TimeoutError( - '%d (of %d) futures unfinished' % ( - len(pending), total_futures)) - - waiter.event.wait(wait_timeout) - - with waiter.lock: - finished = waiter.finished_futures - waiter.finished_futures = [] - waiter.event.clear() - - # reverse to keep finishing order - finished.reverse() - for f in _yield_finished_futures(finished, waiter, - ref_collect=(fs, pending)): - f = [f] - yield f.pop() - - finally: - # Remove waiter from unfinished futures - for f in fs: - with f._condition: - f._waiters.remove(waiter) - -DoneAndNotDoneFutures = collections.namedtuple( - 'DoneAndNotDoneFutures', 'done not_done') -def wait(fs, timeout=None, return_when=ALL_COMPLETED): - """Wait for the futures in the given sequence to complete. - - Args: - fs: The sequence of Futures (possibly created by different Executors) to - wait upon. - timeout: The maximum number of seconds to wait. If None, then there - is no limit on the wait time. - return_when: Indicates when this function should return. The options - are: - - FIRST_COMPLETED - Return when any future finishes or is - cancelled. - FIRST_EXCEPTION - Return when any future finishes by raising an - exception. If no future raises an exception - then it is equivalent to ALL_COMPLETED. - ALL_COMPLETED - Return when all futures finish or are cancelled. - - Returns: - A named 2-tuple of sets. The first set, named 'done', contains the - futures that completed (is finished or cancelled) before the wait - completed. The second set, named 'not_done', contains uncompleted - futures. - """ - with _AcquireFutures(fs): - done = set(f for f in fs - if f._state in [CANCELLED_AND_NOTIFIED, FINISHED]) - not_done = set(fs) - done - - if (return_when == FIRST_COMPLETED) and done: - return DoneAndNotDoneFutures(done, not_done) - elif (return_when == FIRST_EXCEPTION) and done: - if any(f for f in done - if not f.cancelled() and f.exception() is not None): - return DoneAndNotDoneFutures(done, not_done) - - if len(done) == len(fs): - return DoneAndNotDoneFutures(done, not_done) - - waiter = _create_and_install_waiters(fs, return_when) - - waiter.event.wait(timeout) - for f in fs: - with f._condition: - f._waiters.remove(waiter) - - done.update(waiter.finished_futures) - return DoneAndNotDoneFutures(done, set(fs) - done) - -class Future(object): - """Represents the result of an asynchronous computation.""" - - def __init__(self): - """Initializes the future. Should not be called by clients.""" - self._condition = threading.Condition() - self._state = PENDING - self._result = None - self._exception = None - self._traceback = None - self._waiters = [] - self._done_callbacks = [] - - def _invoke_callbacks(self): - for callback in self._done_callbacks: - try: - callback(self) - except Exception: - LOGGER.exception('exception calling callback for %r', self) - except BaseException: - # Explicitly let all other new-style exceptions through so - # that we can catch all old-style exceptions with a simple - # "except:" clause below. - # - # All old-style exception objects are instances of - # types.InstanceType, but "except types.InstanceType:" does - # not catch old-style exceptions for some reason. Thus, the - # only way to catch all old-style exceptions without catching - # any new-style exceptions is to filter out the new-style - # exceptions, which all derive from BaseException. - raise - except: - # Because of the BaseException clause above, this handler only - # executes for old-style exception objects. - LOGGER.exception('exception calling callback for %r', self) - - def __repr__(self): - with self._condition: - if self._state == FINISHED: - if self._exception: - return '<%s at %#x state=%s raised %s>' % ( - self.__class__.__name__, - id(self), - _STATE_TO_DESCRIPTION_MAP[self._state], - self._exception.__class__.__name__) - else: - return '<%s at %#x state=%s returned %s>' % ( - self.__class__.__name__, - id(self), - _STATE_TO_DESCRIPTION_MAP[self._state], - self._result.__class__.__name__) - return '<%s at %#x state=%s>' % ( - self.__class__.__name__, - id(self), - _STATE_TO_DESCRIPTION_MAP[self._state]) - - def cancel(self): - """Cancel the future if possible. - - Returns True if the future was cancelled, False otherwise. A future - cannot be cancelled if it is running or has already completed. - """ - with self._condition: - if self._state in [RUNNING, FINISHED]: - return False - - if self._state in [CANCELLED, CANCELLED_AND_NOTIFIED]: - return True - - self._state = CANCELLED - self._condition.notify_all() - - self._invoke_callbacks() - return True - - def cancelled(self): - """Return True if the future was cancelled.""" - with self._condition: - return self._state in [CANCELLED, CANCELLED_AND_NOTIFIED] - - def running(self): - """Return True if the future is currently executing.""" - with self._condition: - return self._state == RUNNING - - def done(self): - """Return True of the future was cancelled or finished executing.""" - with self._condition: - return self._state in [CANCELLED, CANCELLED_AND_NOTIFIED, FINISHED] - - def __get_result(self): - if self._exception: - if isinstance(self._exception, types.InstanceType): - # The exception is an instance of an old-style class, which - # means type(self._exception) returns types.ClassType instead - # of the exception's actual class type. - exception_type = self._exception.__class__ - else: - exception_type = type(self._exception) - raise exception_type, self._exception, self._traceback - else: - return self._result - - def add_done_callback(self, fn): - """Attaches a callable that will be called when the future finishes. - - Args: - fn: A callable that will be called with this future as its only - argument when the future completes or is cancelled. The callable - will always be called by a thread in the same process in which - it was added. If the future has already completed or been - cancelled then the callable will be called immediately. These - callables are called in the order that they were added. - """ - with self._condition: - if self._state not in [CANCELLED, CANCELLED_AND_NOTIFIED, FINISHED]: - self._done_callbacks.append(fn) - return - fn(self) - - def result(self, timeout=None): - """Return the result of the call that the future represents. - - Args: - timeout: The number of seconds to wait for the result if the future - isn't done. If None, then there is no limit on the wait time. - - Returns: - The result of the call that the future represents. - - Raises: - CancelledError: If the future was cancelled. - TimeoutError: If the future didn't finish executing before the given - timeout. - Exception: If the call raised then that exception will be raised. - """ - with self._condition: - if self._state in [CANCELLED, CANCELLED_AND_NOTIFIED]: - raise CancelledError() - elif self._state == FINISHED: - return self.__get_result() - - self._condition.wait(timeout) - - if self._state in [CANCELLED, CANCELLED_AND_NOTIFIED]: - raise CancelledError() - elif self._state == FINISHED: - return self.__get_result() - else: - raise TimeoutError() - - def exception_info(self, timeout=None): - """Return a tuple of (exception, traceback) raised by the call that the - future represents. - - Args: - timeout: The number of seconds to wait for the exception if the - future isn't done. If None, then there is no limit on the wait - time. - - Returns: - The exception raised by the call that the future represents or None - if the call completed without raising. - - Raises: - CancelledError: If the future was cancelled. - TimeoutError: If the future didn't finish executing before the given - timeout. - """ - with self._condition: - if self._state in [CANCELLED, CANCELLED_AND_NOTIFIED]: - raise CancelledError() - elif self._state == FINISHED: - return self._exception, self._traceback - - self._condition.wait(timeout) - - if self._state in [CANCELLED, CANCELLED_AND_NOTIFIED]: - raise CancelledError() - elif self._state == FINISHED: - return self._exception, self._traceback - else: - raise TimeoutError() - - def exception(self, timeout=None): - """Return the exception raised by the call that the future represents. - - Args: - timeout: The number of seconds to wait for the exception if the - future isn't done. If None, then there is no limit on the wait - time. - - Returns: - The exception raised by the call that the future represents or None - if the call completed without raising. - - Raises: - CancelledError: If the future was cancelled. - TimeoutError: If the future didn't finish executing before the given - timeout. - """ - return self.exception_info(timeout)[0] - - # The following methods should only be used by Executors and in tests. - def set_running_or_notify_cancel(self): - """Mark the future as running or process any cancel notifications. - - Should only be used by Executor implementations and unit tests. - - If the future has been cancelled (cancel() was called and returned - True) then any threads waiting on the future completing (though calls - to as_completed() or wait()) are notified and False is returned. - - If the future was not cancelled then it is put in the running state - (future calls to running() will return True) and True is returned. - - This method should be called by Executor implementations before - executing the work associated with this future. If this method returns - False then the work should not be executed. - - Returns: - False if the Future was cancelled, True otherwise. - - Raises: - RuntimeError: if this method was already called or if set_result() - or set_exception() was called. - """ - with self._condition: - if self._state == CANCELLED: - self._state = CANCELLED_AND_NOTIFIED - for waiter in self._waiters: - waiter.add_cancelled(self) - # self._condition.notify_all() is not necessary because - # self.cancel() triggers a notification. - return False - elif self._state == PENDING: - self._state = RUNNING - return True - else: - LOGGER.critical('Future %s in unexpected state: %s', - id(self), - self._state) - raise RuntimeError('Future in unexpected state') - - def set_result(self, result): - """Sets the return value of work associated with the future. - - Should only be used by Executor implementations and unit tests. - """ - with self._condition: - self._result = result - self._state = FINISHED - for waiter in self._waiters: - waiter.add_result(self) - self._condition.notify_all() - self._invoke_callbacks() - - def set_exception_info(self, exception, traceback): - """Sets the result of the future as being the given exception - and traceback. - - Should only be used by Executor implementations and unit tests. - """ - with self._condition: - self._exception = exception - self._traceback = traceback - self._state = FINISHED - for waiter in self._waiters: - waiter.add_exception(self) - self._condition.notify_all() - self._invoke_callbacks() - - def set_exception(self, exception): - """Sets the result of the future as being the given exception. - - Should only be used by Executor implementations and unit tests. - """ - self.set_exception_info(exception, None) - -class Executor(object): - """This is an abstract base class for concrete asynchronous executors.""" - - def submit(self, fn, *args, **kwargs): - """Submits a callable to be executed with the given arguments. - - Schedules the callable to be executed as fn(*args, **kwargs) and returns - a Future instance representing the execution of the callable. - - Returns: - A Future representing the given call. - """ - raise NotImplementedError() - - def map(self, fn, *iterables, **kwargs): - """Returns an iterator equivalent to map(fn, iter). - - Args: - fn: A callable that will take as many arguments as there are - passed iterables. - timeout: The maximum number of seconds to wait. If None, then there - is no limit on the wait time. - - Returns: - An iterator equivalent to: map(func, *iterables) but the calls may - be evaluated out-of-order. - - Raises: - TimeoutError: If the entire result iterator could not be generated - before the given timeout. - Exception: If fn(*args) raises for any values. - """ - timeout = kwargs.get('timeout') - if timeout is not None: - end_time = timeout + time.time() - - fs = [self.submit(fn, *args) for args in itertools.izip(*iterables)] - - # Yield must be hidden in closure so that the futures are submitted - # before the first iterator value is required. - def result_iterator(): - try: - # reverse to keep finishing order - fs.reverse() - while fs: - # Careful not to keep a reference to the popped future - if timeout is None: - yield fs.pop().result() - else: - yield fs.pop().result(end_time - time.time()) - finally: - for future in fs: - future.cancel() - return result_iterator() - - def shutdown(self, wait=True): - """Clean-up the resources associated with the Executor. - - It is safe to call this method several times. Otherwise, no other - methods can be called after this one. - - Args: - wait: If True then shutdown will not return until all running - futures have finished executing and the resources used by the - executor have been reclaimed. - """ - pass - - def __enter__(self): - return self - - def __exit__(self, exc_type, exc_val, exc_tb): - self.shutdown(wait=True) - return False diff --git a/bin/concurrent/futures/_base.pyc b/bin/concurrent/futures/_base.pyc deleted file mode 100644 index 2e5cd9cc..00000000 Binary files a/bin/concurrent/futures/_base.pyc and /dev/null differ diff --git a/bin/concurrent/futures/process.py b/bin/concurrent/futures/process.py deleted file mode 100644 index fa5b96fd..00000000 --- a/bin/concurrent/futures/process.py +++ /dev/null @@ -1,363 +0,0 @@ -# Copyright 2009 Brian Quinlan. All Rights Reserved. -# Licensed to PSF under a Contributor Agreement. - -"""Implements ProcessPoolExecutor. - -The follow diagram and text describe the data-flow through the system: - -|======================= In-process =====================|== Out-of-process ==| - -+----------+ +----------+ +--------+ +-----------+ +---------+ -| | => | Work Ids | => | | => | Call Q | => | | -| | +----------+ | | +-----------+ | | -| | | ... | | | | ... | | | -| | | 6 | | | | 5, call() | | | -| | | 7 | | | | ... | | | -| Process | | ... | | Local | +-----------+ | Process | -| Pool | +----------+ | Worker | | #1..n | -| Executor | | Thread | | | -| | +----------- + | | +-----------+ | | -| | <=> | Work Items | <=> | | <= | Result Q | <= | | -| | +------------+ | | +-----------+ | | -| | | 6: call() | | | | ... | | | -| | | future | | | | 4, result | | | -| | | ... | | | | 3, except | | | -+----------+ +------------+ +--------+ +-----------+ +---------+ - -Executor.submit() called: -- creates a uniquely numbered _WorkItem and adds it to the "Work Items" dict -- adds the id of the _WorkItem to the "Work Ids" queue - -Local worker thread: -- reads work ids from the "Work Ids" queue and looks up the corresponding - WorkItem from the "Work Items" dict: if the work item has been cancelled then - it is simply removed from the dict, otherwise it is repackaged as a - _CallItem and put in the "Call Q". New _CallItems are put in the "Call Q" - until "Call Q" is full. NOTE: the size of the "Call Q" is kept small because - calls placed in the "Call Q" can no longer be cancelled with Future.cancel(). -- reads _ResultItems from "Result Q", updates the future stored in the - "Work Items" dict and deletes the dict entry - -Process #1..n: -- reads _CallItems from "Call Q", executes the calls, and puts the resulting - _ResultItems in "Request Q" -""" - -import atexit -from concurrent.futures import _base -import Queue as queue -import multiprocessing -import threading -import weakref -import sys - -__author__ = 'Brian Quinlan (brian@sweetapp.com)' - -# Workers are created as daemon threads and processes. This is done to allow the -# interpreter to exit when there are still idle processes in a -# ProcessPoolExecutor's process pool (i.e. shutdown() was not called). However, -# allowing workers to die with the interpreter has two undesirable properties: -# - The workers would still be running during interpretor shutdown, -# meaning that they would fail in unpredictable ways. -# - The workers could be killed while evaluating a work item, which could -# be bad if the callable being evaluated has external side-effects e.g. -# writing to a file. -# -# To work around this problem, an exit handler is installed which tells the -# workers to exit when their work queues are empty and then waits until the -# threads/processes finish. - -_threads_queues = weakref.WeakKeyDictionary() -_shutdown = False - -def _python_exit(): - global _shutdown - _shutdown = True - items = list(_threads_queues.items()) if _threads_queues else () - for t, q in items: - q.put(None) - for t, q in items: - t.join(sys.maxint) - -# Controls how many more calls than processes will be queued in the call queue. -# A smaller number will mean that processes spend more time idle waiting for -# work while a larger number will make Future.cancel() succeed less frequently -# (Futures in the call queue cannot be cancelled). -EXTRA_QUEUED_CALLS = 1 - -class _WorkItem(object): - def __init__(self, future, fn, args, kwargs): - self.future = future - self.fn = fn - self.args = args - self.kwargs = kwargs - -class _ResultItem(object): - def __init__(self, work_id, exception=None, result=None): - self.work_id = work_id - self.exception = exception - self.result = result - -class _CallItem(object): - def __init__(self, work_id, fn, args, kwargs): - self.work_id = work_id - self.fn = fn - self.args = args - self.kwargs = kwargs - -def _process_worker(call_queue, result_queue): - """Evaluates calls from call_queue and places the results in result_queue. - - This worker is run in a separate process. - - Args: - call_queue: A multiprocessing.Queue of _CallItems that will be read and - evaluated by the worker. - result_queue: A multiprocessing.Queue of _ResultItems that will written - to by the worker. - shutdown: A multiprocessing.Event that will be set as a signal to the - worker that it should exit when call_queue is empty. - """ - while True: - call_item = call_queue.get(block=True) - if call_item is None: - # Wake up queue management thread - result_queue.put(None) - return - try: - r = call_item.fn(*call_item.args, **call_item.kwargs) - except: - e = sys.exc_info()[1] - result_queue.put(_ResultItem(call_item.work_id, - exception=e)) - else: - result_queue.put(_ResultItem(call_item.work_id, - result=r)) - -def _add_call_item_to_queue(pending_work_items, - work_ids, - call_queue): - """Fills call_queue with _WorkItems from pending_work_items. - - This function never blocks. - - Args: - pending_work_items: A dict mapping work ids to _WorkItems e.g. - {5: <_WorkItem...>, 6: <_WorkItem...>, ...} - work_ids: A queue.Queue of work ids e.g. Queue([5, 6, ...]). Work ids - are consumed and the corresponding _WorkItems from - pending_work_items are transformed into _CallItems and put in - call_queue. - call_queue: A multiprocessing.Queue that will be filled with _CallItems - derived from _WorkItems. - """ - while True: - if call_queue.full(): - return - try: - work_id = work_ids.get(block=False) - except queue.Empty: - return - else: - work_item = pending_work_items[work_id] - - if work_item.future.set_running_or_notify_cancel(): - call_queue.put(_CallItem(work_id, - work_item.fn, - work_item.args, - work_item.kwargs), - block=True) - else: - del pending_work_items[work_id] - continue - -def _queue_management_worker(executor_reference, - processes, - pending_work_items, - work_ids_queue, - call_queue, - result_queue): - """Manages the communication between this process and the worker processes. - - This function is run in a local thread. - - Args: - executor_reference: A weakref.ref to the ProcessPoolExecutor that owns - this thread. Used to determine if the ProcessPoolExecutor has been - garbage collected and that this function can exit. - process: A list of the multiprocessing.Process instances used as - workers. - pending_work_items: A dict mapping work ids to _WorkItems e.g. - {5: <_WorkItem...>, 6: <_WorkItem...>, ...} - work_ids_queue: A queue.Queue of work ids e.g. Queue([5, 6, ...]). - call_queue: A multiprocessing.Queue that will be filled with _CallItems - derived from _WorkItems for processing by the process workers. - result_queue: A multiprocessing.Queue of _ResultItems generated by the - process workers. - """ - nb_shutdown_processes = [0] - def shutdown_one_process(): - """Tell a worker to terminate, which will in turn wake us again""" - call_queue.put(None) - nb_shutdown_processes[0] += 1 - while True: - _add_call_item_to_queue(pending_work_items, - work_ids_queue, - call_queue) - - result_item = result_queue.get(block=True) - if result_item is not None: - work_item = pending_work_items[result_item.work_id] - del pending_work_items[result_item.work_id] - - if result_item.exception: - work_item.future.set_exception(result_item.exception) - else: - work_item.future.set_result(result_item.result) - # Delete references to object. See issue16284 - del work_item - # Check whether we should start shutting down. - executor = executor_reference() - # No more work items can be added if: - # - The interpreter is shutting down OR - # - The executor that owns this worker has been collected OR - # - The executor that owns this worker has been shutdown. - if _shutdown or executor is None or executor._shutdown_thread: - # Since no new work items can be added, it is safe to shutdown - # this thread if there are no pending work items. - if not pending_work_items: - while nb_shutdown_processes[0] < len(processes): - shutdown_one_process() - # If .join() is not called on the created processes then - # some multiprocessing.Queue methods may deadlock on Mac OS - # X. - for p in processes: - p.join() - call_queue.close() - return - del executor - -_system_limits_checked = False -_system_limited = None -def _check_system_limits(): - global _system_limits_checked, _system_limited - if _system_limits_checked: - if _system_limited: - raise NotImplementedError(_system_limited) - _system_limits_checked = True - try: - import os - nsems_max = os.sysconf("SC_SEM_NSEMS_MAX") - except (AttributeError, ValueError): - # sysconf not available or setting not available - return - if nsems_max == -1: - # indetermine limit, assume that limit is determined - # by available memory only - return - if nsems_max >= 256: - # minimum number of semaphores available - # according to POSIX - return - _system_limited = "system provides too few semaphores (%d available, 256 necessary)" % nsems_max - raise NotImplementedError(_system_limited) - - -class ProcessPoolExecutor(_base.Executor): - def __init__(self, max_workers=None): - """Initializes a new ProcessPoolExecutor instance. - - Args: - max_workers: The maximum number of processes that can be used to - execute the given calls. If None or not given then as many - worker processes will be created as the machine has processors. - """ - _check_system_limits() - - if max_workers is None: - self._max_workers = multiprocessing.cpu_count() - else: - if max_workers <= 0: - raise ValueError("max_workers must be greater than 0") - - self._max_workers = max_workers - - # Make the call queue slightly larger than the number of processes to - # prevent the worker processes from idling. But don't make it too big - # because futures in the call queue cannot be cancelled. - self._call_queue = multiprocessing.Queue(self._max_workers + - EXTRA_QUEUED_CALLS) - self._result_queue = multiprocessing.Queue() - self._work_ids = queue.Queue() - self._queue_management_thread = None - self._processes = set() - - # Shutdown is a two-step process. - self._shutdown_thread = False - self._shutdown_lock = threading.Lock() - self._queue_count = 0 - self._pending_work_items = {} - - def _start_queue_management_thread(self): - # When the executor gets lost, the weakref callback will wake up - # the queue management thread. - def weakref_cb(_, q=self._result_queue): - q.put(None) - if self._queue_management_thread is None: - self._queue_management_thread = threading.Thread( - target=_queue_management_worker, - args=(weakref.ref(self, weakref_cb), - self._processes, - self._pending_work_items, - self._work_ids, - self._call_queue, - self._result_queue)) - self._queue_management_thread.daemon = True - self._queue_management_thread.start() - _threads_queues[self._queue_management_thread] = self._result_queue - - def _adjust_process_count(self): - for _ in range(len(self._processes), self._max_workers): - p = multiprocessing.Process( - target=_process_worker, - args=(self._call_queue, - self._result_queue)) - p.start() - self._processes.add(p) - - def submit(self, fn, *args, **kwargs): - with self._shutdown_lock: - if self._shutdown_thread: - raise RuntimeError('cannot schedule new futures after shutdown') - - f = _base.Future() - w = _WorkItem(f, fn, args, kwargs) - - self._pending_work_items[self._queue_count] = w - self._work_ids.put(self._queue_count) - self._queue_count += 1 - # Wake up queue management thread - self._result_queue.put(None) - - self._start_queue_management_thread() - self._adjust_process_count() - return f - submit.__doc__ = _base.Executor.submit.__doc__ - - def shutdown(self, wait=True): - with self._shutdown_lock: - self._shutdown_thread = True - if self._queue_management_thread: - # Wake up queue management thread - self._result_queue.put(None) - if wait: - self._queue_management_thread.join(sys.maxint) - # To reduce the risk of openning too many files, remove references to - # objects that use file descriptors. - self._queue_management_thread = None - self._call_queue = None - self._result_queue = None - self._processes = None - shutdown.__doc__ = _base.Executor.shutdown.__doc__ - -atexit.register(_python_exit) diff --git a/bin/concurrent/futures/process.pyc b/bin/concurrent/futures/process.pyc deleted file mode 100644 index baa9a2a3..00000000 Binary files a/bin/concurrent/futures/process.pyc and /dev/null differ diff --git a/bin/concurrent/futures/thread.py b/bin/concurrent/futures/thread.py deleted file mode 100644 index bb0ce9d7..00000000 --- a/bin/concurrent/futures/thread.py +++ /dev/null @@ -1,160 +0,0 @@ -# Copyright 2009 Brian Quinlan. All Rights Reserved. -# Licensed to PSF under a Contributor Agreement. - -"""Implements ThreadPoolExecutor.""" - -import atexit -from concurrent.futures import _base -import itertools -import Queue as queue -import threading -import weakref -import sys - -try: - from multiprocessing import cpu_count -except ImportError: - # some platforms don't have multiprocessing - def cpu_count(): - return None - -__author__ = 'Brian Quinlan (brian@sweetapp.com)' - -# Workers are created as daemon threads. This is done to allow the interpreter -# to exit when there are still idle threads in a ThreadPoolExecutor's thread -# pool (i.e. shutdown() was not called). However, allowing workers to die with -# the interpreter has two undesirable properties: -# - The workers would still be running during interpretor shutdown, -# meaning that they would fail in unpredictable ways. -# - The workers could be killed while evaluating a work item, which could -# be bad if the callable being evaluated has external side-effects e.g. -# writing to a file. -# -# To work around this problem, an exit handler is installed which tells the -# workers to exit when their work queues are empty and then waits until the -# threads finish. - -_threads_queues = weakref.WeakKeyDictionary() -_shutdown = False - -def _python_exit(): - global _shutdown - _shutdown = True - items = list(_threads_queues.items()) if _threads_queues else () - for t, q in items: - q.put(None) - for t, q in items: - t.join(sys.maxint) - -atexit.register(_python_exit) - -class _WorkItem(object): - def __init__(self, future, fn, args, kwargs): - self.future = future - self.fn = fn - self.args = args - self.kwargs = kwargs - - def run(self): - if not self.future.set_running_or_notify_cancel(): - return - - try: - result = self.fn(*self.args, **self.kwargs) - except: - e, tb = sys.exc_info()[1:] - self.future.set_exception_info(e, tb) - else: - self.future.set_result(result) - -def _worker(executor_reference, work_queue): - try: - while True: - work_item = work_queue.get(block=True) - if work_item is not None: - work_item.run() - # Delete references to object. See issue16284 - del work_item - continue - executor = executor_reference() - # Exit if: - # - The interpreter is shutting down OR - # - The executor that owns the worker has been collected OR - # - The executor that owns the worker has been shutdown. - if _shutdown or executor is None or executor._shutdown: - # Notice other workers - work_queue.put(None) - return - del executor - except: - _base.LOGGER.critical('Exception in worker', exc_info=True) - - -class ThreadPoolExecutor(_base.Executor): - - # Used to assign unique thread names when thread_name_prefix is not supplied. - _counter = itertools.count().next - - def __init__(self, max_workers=None, thread_name_prefix=''): - """Initializes a new ThreadPoolExecutor instance. - - Args: - max_workers: The maximum number of threads that can be used to - execute the given calls. - thread_name_prefix: An optional name prefix to give our threads. - """ - if max_workers is None: - # Use this number because ThreadPoolExecutor is often - # used to overlap I/O instead of CPU work. - max_workers = (cpu_count() or 1) * 5 - if max_workers <= 0: - raise ValueError("max_workers must be greater than 0") - - self._max_workers = max_workers - self._work_queue = queue.Queue() - self._threads = set() - self._shutdown = False - self._shutdown_lock = threading.Lock() - self._thread_name_prefix = (thread_name_prefix or - ("ThreadPoolExecutor-%d" % self._counter())) - - def submit(self, fn, *args, **kwargs): - with self._shutdown_lock: - if self._shutdown: - raise RuntimeError('cannot schedule new futures after shutdown') - - f = _base.Future() - w = _WorkItem(f, fn, args, kwargs) - - self._work_queue.put(w) - self._adjust_thread_count() - return f - submit.__doc__ = _base.Executor.submit.__doc__ - - def _adjust_thread_count(self): - # When the executor gets lost, the weakref callback will wake up - # the worker threads. - def weakref_cb(_, q=self._work_queue): - q.put(None) - # TODO(bquinlan): Should avoid creating new threads if there are more - # idle threads than items in the work queue. - num_threads = len(self._threads) - if num_threads < self._max_workers: - thread_name = '%s_%d' % (self._thread_name_prefix or self, - num_threads) - t = threading.Thread(name=thread_name, target=_worker, - args=(weakref.ref(self, weakref_cb), - self._work_queue)) - t.daemon = True - t.start() - self._threads.add(t) - _threads_queues[t] = self._work_queue - - def shutdown(self, wait=True): - with self._shutdown_lock: - self._shutdown = True - self._work_queue.put(None) - if wait: - for t in self._threads: - t.join(sys.maxint) - shutdown.__doc__ = _base.Executor.shutdown.__doc__ diff --git a/bin/concurrent/futures/thread.pyc b/bin/concurrent/futures/thread.pyc deleted file mode 100644 index d1ada76e..00000000 Binary files a/bin/concurrent/futures/thread.pyc and /dev/null differ diff --git a/bin/dateutil/__init__.pyc b/bin/dateutil/__init__.pyc deleted file mode 100644 index e84b9198..00000000 Binary files a/bin/dateutil/__init__.pyc and /dev/null differ diff --git a/bin/dateutil/_common.pyc b/bin/dateutil/_common.pyc deleted file mode 100644 index 74a078cf..00000000 Binary files a/bin/dateutil/_common.pyc and /dev/null differ diff --git a/bin/dateutil/_version.py b/bin/dateutil/_version.py index d3ce8561..670d7ab7 100644 --- a/bin/dateutil/_version.py +++ b/bin/dateutil/_version.py @@ -1,4 +1,4 @@ # coding: utf-8 # file generated by setuptools_scm # don't change, don't track in version control -version = '2.7.5' +version = '2.8.0' diff --git a/bin/dateutil/_version.pyc b/bin/dateutil/_version.pyc deleted file mode 100644 index ca9152db..00000000 Binary files a/bin/dateutil/_version.pyc and /dev/null differ diff --git a/bin/dateutil/easter.pyc b/bin/dateutil/easter.pyc deleted file mode 100644 index a4c9c237..00000000 Binary files a/bin/dateutil/easter.pyc and /dev/null differ diff --git a/bin/dateutil/parser/__init__.pyc b/bin/dateutil/parser/__init__.pyc deleted file mode 100644 index 6478e5fe..00000000 Binary files a/bin/dateutil/parser/__init__.pyc and /dev/null differ diff --git a/bin/dateutil/parser/_parser.py b/bin/dateutil/parser/_parser.py index 9d2bb795..0da0f3e6 100644 --- a/bin/dateutil/parser/_parser.py +++ b/bin/dateutil/parser/_parser.py @@ -40,7 +40,7 @@ from io import StringIO import six -from six import binary_type, integer_types, text_type +from six import integer_types, text_type from decimal import Decimal @@ -63,7 +63,7 @@ def __init__(self, instream): if six.PY2: # In Python 2, we can't duck type properly because unicode has # a 'decode' function, and we'd be double-decoding - if isinstance(instream, (binary_type, bytearray)): + if isinstance(instream, (bytes, bytearray)): instream = instream.decode() else: if getattr(instream, 'decode', None) is not None: @@ -291,7 +291,7 @@ class parserinfo(object): ("s", "second", "seconds")] AMPM = [("am", "a"), ("pm", "p")] - UTCZONE = ["UTC", "GMT", "Z"] + UTCZONE = ["UTC", "GMT", "Z", "z"] PERTAIN = ["of"] TZOFFSET = {} # TODO: ERA = ["AD", "BC", "CE", "BCE", "Stardate", @@ -388,7 +388,8 @@ def validate(self, res): if res.year is not None: res.year = self.convertyear(res.year, res.century_specified) - if res.tzoffset == 0 and not res.tzname or res.tzname == 'Z': + if ((res.tzoffset == 0 and not res.tzname) or + (res.tzname == 'Z' or res.tzname == 'z')): res.tzname = "UTC" res.tzoffset = 0 elif res.tzoffset != 0 and res.tzname and self.utczone(res.tzname): @@ -1060,7 +1061,8 @@ def _could_be_tzname(self, hour, tzname, tzoffset, token): tzname is None and tzoffset is None and len(token) <= 5 and - all(x in string.ascii_uppercase for x in token)) + (all(x in string.ascii_uppercase for x in token) + or token in self.info.UTCZONE)) def _ampm_valid(self, hour, ampm, fuzzy): """ diff --git a/bin/dateutil/parser/_parser.pyc b/bin/dateutil/parser/_parser.pyc deleted file mode 100644 index 3368ad80..00000000 Binary files a/bin/dateutil/parser/_parser.pyc and /dev/null differ diff --git a/bin/dateutil/parser/isoparser.py b/bin/dateutil/parser/isoparser.py index cd27f93d..e3cf6d8c 100644 --- a/bin/dateutil/parser/isoparser.py +++ b/bin/dateutil/parser/isoparser.py @@ -88,10 +88,12 @@ def isoparse(self, dt_str): - ``hh`` - ``hh:mm`` or ``hhmm`` - ``hh:mm:ss`` or ``hhmmss`` - - ``hh:mm:ss.sss`` or ``hh:mm:ss.ssssss`` (3-6 sub-second digits) + - ``hh:mm:ss.ssssss`` (Up to 6 sub-second digits) Midnight is a special case for `hh`, as the standard supports both - 00:00 and 24:00 as a representation. + 00:00 and 24:00 as a representation. The decimal separator can be + either a dot or a comma. + .. caution:: @@ -137,6 +139,10 @@ def isoparse(self, dt_str): else: raise ValueError('String contains unknown ISO components') + if len(components) > 3 and components[3] == 24: + components[3] = 0 + return datetime(*components) + timedelta(days=1) + return datetime(*components) @_takes_ascii @@ -167,7 +173,10 @@ def parse_isotime(self, timestr): :return: Returns a :class:`datetime.time` object """ - return time(*self._parse_isotime(timestr)) + components = self._parse_isotime(timestr) + if components[0] == 24: + components[0] = 0 + return time(*components) @_takes_ascii def parse_tzstr(self, tzstr, zero_as_utc=True): @@ -190,10 +199,9 @@ def parse_tzstr(self, tzstr, zero_as_utc=True): return self._parse_tzstr(tzstr, zero_as_utc=zero_as_utc) # Constants - _MICROSECOND_END_REGEX = re.compile(b'[-+Z]+') _DATE_SEP = b'-' _TIME_SEP = b':' - _MICRO_SEP = b'.' + _FRACTION_REGEX = re.compile(b'[\\.,]([0-9]+)') def _parse_isodate(self, dt_str): try: @@ -333,7 +341,7 @@ def _parse_isotime(self, timestr): while pos < len_str and comp < 5: comp += 1 - if timestr[pos:pos + 1] in b'-+Z': + if timestr[pos:pos + 1] in b'-+Zz': # Detect time zone boundary components[-1] = self._parse_tzstr(timestr[pos:]) pos = len_str @@ -348,16 +356,14 @@ def _parse_isotime(self, timestr): pos += 1 if comp == 3: - # Microsecond - if timestr[pos:pos + 1] != self._MICRO_SEP: + # Fraction of a second + frac = self._FRACTION_REGEX.match(timestr[pos:]) + if not frac: continue - pos += 1 - us_str = self._MICROSECOND_END_REGEX.split(timestr[pos:pos + 6], - 1)[0] - + us_str = frac.group(1)[:6] # Truncate to microseconds components[comp] = int(us_str) * 10**(6 - len(us_str)) - pos += len(us_str) + pos += len(frac.group()) if pos < len_str: raise ValueError('Unused components in ISO string') @@ -366,12 +372,11 @@ def _parse_isotime(self, timestr): # Standard supports 00:00 and 24:00 as representations of midnight if any(component != 0 for component in components[1:4]): raise ValueError('Hour may only be 24 at 24:00:00.000') - components[0] = 0 return components def _parse_tzstr(self, tzstr, zero_as_utc=True): - if tzstr == b'Z': + if tzstr == b'Z' or tzstr == b'z': return tz.tzutc() if len(tzstr) not in {3, 5, 6}: diff --git a/bin/dateutil/parser/isoparser.pyc b/bin/dateutil/parser/isoparser.pyc deleted file mode 100644 index be4ab722..00000000 Binary files a/bin/dateutil/parser/isoparser.pyc and /dev/null differ diff --git a/bin/dateutil/relativedelta.py b/bin/dateutil/relativedelta.py index 1e0d6165..c65c66e6 100644 --- a/bin/dateutil/relativedelta.py +++ b/bin/dateutil/relativedelta.py @@ -17,8 +17,12 @@ class relativedelta(object): """ - The relativedelta type is based on the specification of the excellent - work done by M.-A. Lemburg in his + The relativedelta type is designed to be applied to an existing datetime and + can replace specific components of that datetime, or represents an interval + of time. + + It is based on the specification of the excellent work done by M.-A. Lemburg + in his `mx.DateTime `_ extension. However, notice that this type does *NOT* implement the same algorithm as his work. Do *NOT* expect it to behave like mx.DateTime's counterpart. @@ -45,13 +49,15 @@ class relativedelta(object): with the information in the relativedelta. weekday: - One of the weekday instances (MO, TU, etc). These - instances may receive a parameter N, specifying the Nth - weekday, which could be positive or negative (like MO(+1) - or MO(-2). Not specifying it is the same as specifying - +1. You can also use an integer, where 0=MO. Notice that - if the calculated date is already Monday, for example, - using MO(1) or MO(-1) won't change the day. + One of the weekday instances (MO, TU, etc) available in the + relativedelta module. These instances may receive a parameter N, + specifying the Nth weekday, which could be positive or negative + (like MO(+1) or MO(-2)). Not specifying it is the same as specifying + +1. You can also use an integer, where 0=MO. This argument is always + relative e.g. if the calculated date is already Monday, using MO(1) + or MO(-1) won't change the day. To effectively make it absolute, use + it in combination with the day argument (e.g. day=1, MO(1) for first + Monday of the month). leapdays: Will add given days to the date found, if year is a leap @@ -82,9 +88,12 @@ class relativedelta(object): For example + >>> from datetime import datetime + >>> from dateutil.relativedelta import relativedelta, MO >>> dt = datetime(2018, 4, 9, 13, 37, 0) >>> delta = relativedelta(hours=25, day=1, weekday=MO(1)) - datetime(2018, 4, 2, 14, 37, 0) + >>> dt + delta + datetime.datetime(2018, 4, 2, 14, 37) First, the day is set to 1 (the first of the month), then 25 hours are added, to get to the 2nd day and 14th hour, finally the @@ -276,7 +285,7 @@ def normalized(self): values for the relative attributes. >>> relativedelta(days=1.5, hours=2).normalized() - relativedelta(days=1, hours=14) + relativedelta(days=+1, hours=+14) :return: Returns a :class:`dateutil.relativedelta.relativedelta` object. diff --git a/bin/dateutil/relativedelta.pyc b/bin/dateutil/relativedelta.pyc deleted file mode 100644 index 6177eee8..00000000 Binary files a/bin/dateutil/relativedelta.pyc and /dev/null differ diff --git a/bin/dateutil/rrule.py b/bin/dateutil/rrule.py index 8e9c2af1..20a0c4ac 100644 --- a/bin/dateutil/rrule.py +++ b/bin/dateutil/rrule.py @@ -353,20 +353,26 @@ class rrule(rrulebase): from calendar.firstweekday(), and may be modified by calendar.setfirstweekday(). :param count: - How many occurrences will be generated. + If given, this determines how many occurrences will be generated. .. note:: - As of version 2.5.0, the use of the ``until`` keyword together - with the ``count`` keyword is deprecated per RFC-5545 Sec. 3.3.10. + As of version 2.5.0, the use of the keyword ``until`` in conjunction + with ``count`` is deprecated, to make sure ``dateutil`` is fully + compliant with `RFC-5545 Sec. 3.3.10 `_. Therefore, ``until`` and ``count`` + **must not** occur in the same call to ``rrule``. :param until: - If given, this must be a datetime instance, that will specify the + If given, this must be a datetime instance specifying the upper-bound limit of the recurrence. The last recurrence in the rule is the greatest datetime that is less than or equal to the value specified in the ``until`` parameter. .. note:: - As of version 2.5.0, the use of the ``until`` keyword together - with the ``count`` keyword is deprecated per RFC-5545 Sec. 3.3.10. + As of version 2.5.0, the use of the keyword ``until`` in conjunction + with ``count`` is deprecated, to make sure ``dateutil`` is fully + compliant with `RFC-5545 Sec. 3.3.10 `_. Therefore, ``until`` and ``count`` + **must not** occur in the same call to ``rrule``. :param bysetpos: If given, it must be either an integer, or a sequence of integers, positive or negative. Each given integer will specify an occurrence @@ -429,7 +435,7 @@ def __init__(self, freq, dtstart=None, if not dtstart: if until and until.tzinfo: dtstart = datetime.datetime.now(tz=until.tzinfo).replace(microsecond=0) - else: + else: dtstart = datetime.datetime.now().replace(microsecond=0) elif not isinstance(dtstart, datetime.datetime): dtstart = datetime.datetime.fromordinal(dtstart.toordinal()) @@ -1406,7 +1412,52 @@ def _iter(self): self._len = total + + class _rrulestr(object): + """ Parses a string representation of a recurrence rule or set of + recurrence rules. + + :param s: + Required, a string defining one or more recurrence rules. + + :param dtstart: + If given, used as the default recurrence start if not specified in the + rule string. + + :param cache: + If set ``True`` caching of results will be enabled, improving + performance of multiple queries considerably. + + :param unfold: + If set ``True`` indicates that a rule string is split over more + than one line and should be joined before processing. + + :param forceset: + If set ``True`` forces a :class:`dateutil.rrule.rruleset` to + be returned. + + :param compatible: + If set ``True`` forces ``unfold`` and ``forceset`` to be ``True``. + + :param ignoretz: + If set ``True``, time zones in parsed strings are ignored and a naive + :class:`datetime.datetime` object is returned. + + :param tzids: + If given, a callable or mapping used to retrieve a + :class:`datetime.tzinfo` from a string representation. + Defaults to :func:`dateutil.tz.gettz`. + + :param tzinfos: + Additional time zone names / aliases which may be present in a string + representation. See :func:`dateutil.parser.parse` for more + information. + + :return: + Returns a :class:`dateutil.rrule.rruleset` or + :class:`dateutil.rrule.rrule` + """ _freq_map = {"YEARLY": YEARLY, "MONTHLY": MONTHLY, @@ -1508,6 +1559,58 @@ def _parse_rfc_rrule(self, line, raise ValueError("invalid '%s': %s" % (name, value)) return rrule(dtstart=dtstart, cache=cache, **rrkwargs) + def _parse_date_value(self, date_value, parms, rule_tzids, + ignoretz, tzids, tzinfos): + global parser + if not parser: + from dateutil import parser + + datevals = [] + value_found = False + TZID = None + + for parm in parms: + if parm.startswith("TZID="): + try: + tzkey = rule_tzids[parm.split('TZID=')[-1]] + except KeyError: + continue + if tzids is None: + from . import tz + tzlookup = tz.gettz + elif callable(tzids): + tzlookup = tzids + else: + tzlookup = getattr(tzids, 'get', None) + if tzlookup is None: + msg = ('tzids must be a callable, mapping, or None, ' + 'not %s' % tzids) + raise ValueError(msg) + + TZID = tzlookup(tzkey) + continue + + # RFC 5445 3.8.2.4: The VALUE parameter is optional, but may be found + # only once. + if parm not in {"VALUE=DATE-TIME", "VALUE=DATE"}: + raise ValueError("unsupported parm: " + parm) + else: + if value_found: + msg = ("Duplicate value parameter found in: " + parm) + raise ValueError(msg) + value_found = True + + for datestr in date_value.split(','): + date = parser.parse(datestr, ignoretz=ignoretz, tzinfos=tzinfos) + if TZID is not None: + if date.tzinfo is None: + date = date.replace(tzinfo=TZID) + else: + raise ValueError('DTSTART/EXDATE specifies multiple timezone') + datevals.append(date) + + return datevals + def _parse_rfc(self, s, dtstart=None, cache=False, @@ -1580,54 +1683,18 @@ def _parse_rfc(self, s, raise ValueError("unsupported EXRULE parm: "+parm) exrulevals.append(value) elif name == "EXDATE": - for parm in parms: - if parm != "VALUE=DATE-TIME": - raise ValueError("unsupported EXDATE parm: "+parm) - exdatevals.append(value) + exdatevals.extend( + self._parse_date_value(value, parms, + TZID_NAMES, ignoretz, + tzids, tzinfos) + ) elif name == "DTSTART": - # RFC 5445 3.8.2.4: The VALUE parameter is optional, but - # may be found only once. - value_found = False - TZID = None - valid_values = {"VALUE=DATE-TIME", "VALUE=DATE"} - for parm in parms: - if parm.startswith("TZID="): - try: - tzkey = TZID_NAMES[parm.split('TZID=')[-1]] - except KeyError: - continue - if tzids is None: - from . import tz - tzlookup = tz.gettz - elif callable(tzids): - tzlookup = tzids - else: - tzlookup = getattr(tzids, 'get', None) - if tzlookup is None: - msg = ('tzids must be a callable, ' + - 'mapping, or None, ' + - 'not %s' % tzids) - raise ValueError(msg) - - TZID = tzlookup(tzkey) - continue - if parm not in valid_values: - raise ValueError("unsupported DTSTART parm: "+parm) - else: - if value_found: - msg = ("Duplicate value parameter found in " + - "DTSTART: " + parm) - raise ValueError(msg) - value_found = True - if not parser: - from dateutil import parser - dtstart = parser.parse(value, ignoretz=ignoretz, - tzinfos=tzinfos) - if TZID is not None: - if dtstart.tzinfo is None: - dtstart = dtstart.replace(tzinfo=TZID) - else: - raise ValueError('DTSTART specifies multiple timezones') + dtvals = self._parse_date_value(value, parms, TZID_NAMES, + ignoretz, tzids, tzinfos) + if len(dtvals) != 1: + raise ValueError("Multiple DTSTART values specified:" + + value) + dtstart = dtvals[0] else: raise ValueError("unsupported property: "+name) if (forceset or len(rrulevals) > 1 or rdatevals @@ -1649,10 +1716,7 @@ def _parse_rfc(self, s, ignoretz=ignoretz, tzinfos=tzinfos)) for value in exdatevals: - for datestr in value.split(','): - rset.exdate(parser.parse(datestr, - ignoretz=ignoretz, - tzinfos=tzinfos)) + rset.exdate(value) if compatible and dtstart: rset.rdate(dtstart) return rset diff --git a/bin/dateutil/rrule.pyc b/bin/dateutil/rrule.pyc deleted file mode 100644 index 3d7265ac..00000000 Binary files a/bin/dateutil/rrule.pyc and /dev/null differ diff --git a/bin/dateutil/tz/__init__.pyc b/bin/dateutil/tz/__init__.pyc deleted file mode 100644 index 272136ee..00000000 Binary files a/bin/dateutil/tz/__init__.pyc and /dev/null differ diff --git a/bin/dateutil/tz/_common.py b/bin/dateutil/tz/_common.py index ccabb7da..594e0823 100644 --- a/bin/dateutil/tz/_common.py +++ b/bin/dateutil/tz/_common.py @@ -1,4 +1,4 @@ -from six import PY3 +from six import PY2 from functools import wraps @@ -16,14 +16,18 @@ def tzname_in_python2(namefunc): tzname() API changed in Python 3. It used to return bytes, but was changed to unicode strings """ - def adjust_encoding(*args, **kwargs): - name = namefunc(*args, **kwargs) - if name is not None and not PY3: - name = name.encode() - - return name - - return adjust_encoding + if PY2: + @wraps(namefunc) + def adjust_encoding(*args, **kwargs): + name = namefunc(*args, **kwargs) + if name is not None: + name = name.encode() + + return name + + return adjust_encoding + else: + return namefunc # The following is adapted from Alexander Belopolsky's tz library diff --git a/bin/dateutil/tz/_common.pyc b/bin/dateutil/tz/_common.pyc deleted file mode 100644 index f18f82ee..00000000 Binary files a/bin/dateutil/tz/_common.pyc and /dev/null differ diff --git a/bin/dateutil/tz/_factories.py b/bin/dateutil/tz/_factories.py index de2e0c1d..d2560eb7 100644 --- a/bin/dateutil/tz/_factories.py +++ b/bin/dateutil/tz/_factories.py @@ -1,4 +1,6 @@ from datetime import timedelta +import weakref +from collections import OrderedDict class _TzSingleton(type): @@ -11,6 +13,7 @@ def __call__(cls): cls.__instance = super(_TzSingleton, cls).__call__() return cls.__instance + class _TzFactory(type): def instance(cls, *args, **kwargs): """Alternate constructor that returns a fresh instance""" @@ -19,7 +22,9 @@ def instance(cls, *args, **kwargs): class _TzOffsetFactory(_TzFactory): def __init__(cls, *args, **kwargs): - cls.__instances = {} + cls.__instances = weakref.WeakValueDictionary() + cls.__strong_cache = OrderedDict() + cls.__strong_cache_size = 8 def __call__(cls, name, offset): if isinstance(offset, timedelta): @@ -31,12 +36,22 @@ def __call__(cls, name, offset): if instance is None: instance = cls.__instances.setdefault(key, cls.instance(name, offset)) + + cls.__strong_cache[key] = cls.__strong_cache.pop(key, instance) + + # Remove an item if the strong cache is overpopulated + # TODO: Maybe this should be under a lock? + if len(cls.__strong_cache) > cls.__strong_cache_size: + cls.__strong_cache.popitem(last=False) + return instance class _TzStrFactory(_TzFactory): def __init__(cls, *args, **kwargs): - cls.__instances = {} + cls.__instances = weakref.WeakValueDictionary() + cls.__strong_cache = OrderedDict() + cls.__strong_cache_size = 8 def __call__(cls, s, posix_offset=False): key = (s, posix_offset) @@ -45,5 +60,14 @@ def __call__(cls, s, posix_offset=False): if instance is None: instance = cls.__instances.setdefault(key, cls.instance(s, posix_offset)) + + cls.__strong_cache[key] = cls.__strong_cache.pop(key, instance) + + + # Remove an item if the strong cache is overpopulated + # TODO: Maybe this should be under a lock? + if len(cls.__strong_cache) > cls.__strong_cache_size: + cls.__strong_cache.popitem(last=False) + return instance diff --git a/bin/dateutil/tz/_factories.pyc b/bin/dateutil/tz/_factories.pyc deleted file mode 100644 index dc0a8127..00000000 Binary files a/bin/dateutil/tz/_factories.pyc and /dev/null differ diff --git a/bin/dateutil/tz/tz.py b/bin/dateutil/tz/tz.py index ac82b9c8..d05414e7 100644 --- a/bin/dateutil/tz/tz.py +++ b/bin/dateutil/tz/tz.py @@ -13,6 +13,8 @@ import sys import os import bisect +import weakref +from collections import OrderedDict import six from six import string_types @@ -28,6 +30,9 @@ except ImportError: tzwin = tzwinlocal = None +# For warning about rounding tzinfo +from warnings import warn + ZERO = datetime.timedelta(0) EPOCH = datetime.datetime.utcfromtimestamp(0) EPOCHORDINAL = EPOCH.toordinal() @@ -137,7 +142,8 @@ def __init__(self, name, offset): offset = offset.total_seconds() except (TypeError, AttributeError): pass - self._offset = datetime.timedelta(seconds=offset) + + self._offset = datetime.timedelta(seconds=_get_supported_offset(offset)) def utcoffset(self, dt): return self._offset @@ -460,7 +466,7 @@ def __init__(self, fileobj, filename=None): if fileobj is not None: if not file_opened_here: - fileobj = _ContextWrapper(fileobj) + fileobj = _nullcontext(fileobj) with fileobj as file_stream: tzobj = self._read_tzfile(file_stream) @@ -600,10 +606,7 @@ def _read_tzfile(self, fileobj): out.ttinfo_list = [] for i in range(typecnt): gmtoff, isdst, abbrind = ttinfo[i] - # Round to full-minutes if that's not the case. Python's - # datetime doesn't accept sub-minute timezones. Check - # http://python.org/sf/1447945 for some information. - gmtoff = 60 * ((gmtoff + 30) // 60) + gmtoff = _get_supported_offset(gmtoff) tti = _ttinfo() tti.offset = gmtoff tti.dstoffset = datetime.timedelta(0) @@ -655,37 +658,44 @@ def _read_tzfile(self, fileobj): # isgmt are off, so it should be in wall time. OTOH, it's # always in gmt time. Let me know if you have comments # about this. - laststdoffset = None + lastdst = None + lastoffset = None + lastdstoffset = None + lastbaseoffset = None out.trans_list = [] - for i, tti in enumerate(out.trans_idx): - if not tti.isdst: - offset = tti.offset - laststdoffset = offset - else: - if laststdoffset is not None: - # Store the DST offset as well and update it in the list - tti.dstoffset = tti.offset - laststdoffset - out.trans_idx[i] = tti - - offset = laststdoffset or 0 - - out.trans_list.append(out.trans_list_utc[i] + offset) - - # In case we missed any DST offsets on the way in for some reason, make - # a second pass over the list, looking for the /next/ DST offset. - laststdoffset = None - for i in reversed(range(len(out.trans_idx))): - tti = out.trans_idx[i] - if tti.isdst: - if not (tti.dstoffset or laststdoffset is None): - tti.dstoffset = tti.offset - laststdoffset - else: - laststdoffset = tti.offset - - if not isinstance(tti.dstoffset, datetime.timedelta): - tti.dstoffset = datetime.timedelta(seconds=tti.dstoffset) - out.trans_idx[i] = tti + for i, tti in enumerate(out.trans_idx): + offset = tti.offset + dstoffset = 0 + + if lastdst is not None: + if tti.isdst: + if not lastdst: + dstoffset = offset - lastoffset + + if not dstoffset and lastdstoffset: + dstoffset = lastdstoffset + + tti.dstoffset = datetime.timedelta(seconds=dstoffset) + lastdstoffset = dstoffset + + # If a time zone changes its base offset during a DST transition, + # then you need to adjust by the previous base offset to get the + # transition time in local time. Otherwise you use the current + # base offset. Ideally, I would have some mathematical proof of + # why this is true, but I haven't really thought about it enough. + baseoffset = offset - dstoffset + adjustment = baseoffset + if (lastbaseoffset is not None and baseoffset != lastbaseoffset + and tti.isdst != lastdst): + # The base DST has changed + adjustment = lastbaseoffset + + lastdst = tti.isdst + lastoffset = offset + lastbaseoffset = baseoffset + + out.trans_list.append(out.trans_list_utc[i] + adjustment) out.trans_idx = tuple(out.trans_idx) out.trans_list = tuple(out.trans_list) @@ -1255,7 +1265,7 @@ def __init__(self, fileobj): fileobj = open(fileobj, 'r') else: self._s = getattr(fileobj, 'name', repr(fileobj)) - fileobj = _ContextWrapper(fileobj) + fileobj = _nullcontext(fileobj) self._vtz = {} @@ -1528,7 +1538,9 @@ class GettzFunc(object): """ def __init__(self): - self.__instances = {} + self.__instances = weakref.WeakValueDictionary() + self.__strong_cache_size = 8 + self.__strong_cache = OrderedDict() self._cache_lock = _thread.allocate_lock() def __call__(self, name=None): @@ -1537,17 +1549,37 @@ def __call__(self, name=None): if rv is None: rv = self.nocache(name=name) - if not (name is None or isinstance(rv, tzlocal_classes)): + if not (name is None + or isinstance(rv, tzlocal_classes) + or rv is None): # tzlocal is slightly more complicated than the other # time zone providers because it depends on environment # at construction time, so don't cache that. + # + # We also cannot store weak references to None, so we + # will also not store that. self.__instances[name] = rv + else: + # No need for strong caching, return immediately + return rv + + self.__strong_cache[name] = self.__strong_cache.pop(name, rv) + + if len(self.__strong_cache) > self.__strong_cache_size: + self.__strong_cache.popitem(last=False) return rv + def set_cache_size(self, size): + with self._cache_lock: + self.__strong_cache_size = size + while len(self.__strong_cache) > size: + self.__strong_cache.popitem(last=False) + def cache_clear(self): with self._cache_lock: - self.__instances = {} + self.__instances = weakref.WeakValueDictionary() + self.__strong_cache.clear() @staticmethod def nocache(name=None): @@ -1601,7 +1633,8 @@ def nocache(name=None): if tzwin is not None: try: tz = tzwin(name) - except WindowsError: + except (WindowsError, UnicodeEncodeError): + # UnicodeEncodeError is for Python 2.7 compat tz = None if not tz: @@ -1768,18 +1801,36 @@ def _datetime_to_timestamp(dt): return (dt.replace(tzinfo=None) - EPOCH).total_seconds() -class _ContextWrapper(object): - """ - Class for wrapping contexts so that they are passed through in a - with statement. - """ - def __init__(self, context): - self.context = context +if sys.version_info >= (3, 6): + def _get_supported_offset(second_offset): + return second_offset +else: + def _get_supported_offset(second_offset): + # For python pre-3.6, round to full-minutes if that's not the case. + # Python's datetime doesn't accept sub-minute timezones. Check + # http://python.org/sf/1447945 or https://bugs.python.org/issue5288 + # for some information. + old_offset = second_offset + calculated_offset = 60 * ((second_offset + 30) // 60) + return calculated_offset - def __enter__(self): - return self.context - def __exit__(*args, **kwargs): - pass +try: + # Python 3.7 feature + from contextmanager import nullcontext as _nullcontext +except ImportError: + class _nullcontext(object): + """ + Class for wrapping contexts so that they are passed through in a + with statement. + """ + def __init__(self, context): + self.context = context + + def __enter__(self): + return self.context + + def __exit__(*args, **kwargs): + pass # vim:ts=4:sw=4:et diff --git a/bin/dateutil/tz/tz.pyc b/bin/dateutil/tz/tz.pyc deleted file mode 100644 index 09e7ff41..00000000 Binary files a/bin/dateutil/tz/tz.pyc and /dev/null differ diff --git a/bin/dateutil/tz/win.py b/bin/dateutil/tz/win.py index def4353a..cde07ba7 100644 --- a/bin/dateutil/tz/win.py +++ b/bin/dateutil/tz/win.py @@ -1,3 +1,11 @@ +# -*- coding: utf-8 -*- +""" +This module provides an interface to the native time zone data on Windows, +including :py:class:`datetime.tzinfo` implementations. + +Attempting to import this module on a non-Windows platform will raise an +:py:obj:`ImportError`. +""" # This code was originally contributed by Jeffrey Harris. import datetime import struct @@ -39,7 +47,7 @@ def _settzkeyname(): class tzres(object): """ - Class for accessing `tzres.dll`, which contains timezone name related + Class for accessing ``tzres.dll``, which contains timezone name related resources. .. versionadded:: 2.5.0 @@ -72,9 +80,10 @@ def load_name(self, offset): :param offset: A positive integer value referring to a string from the tzres dll. - ..note: + .. note:: + Offsets found in the registry are generally of the form - `@tzres.dll,-114`. The offset in this case if 114, not -114. + ``@tzres.dll,-114``. The offset in this case is 114, not -114. """ resource = self.p_wchar() @@ -146,6 +155,9 @@ def list(): return result def display(self): + """ + Return the display name of the time zone. + """ return self._display def transitions(self, year): @@ -188,6 +200,17 @@ def _dst_base_offset(self): class tzwin(tzwinbase): + """ + Time zone object created from the zone info in the Windows registry + + These are similar to :py:class:`dateutil.tz.tzrange` objects in that + the time zone data is provided in the format of a single offset rule + for either 0 or 2 time zone transitions per year. + + :param: name + The name of a Windows time zone key, e.g. "Eastern Standard Time". + The full list of keys can be retrieved with :func:`tzwin.list`. + """ def __init__(self, name): self._name = name @@ -234,6 +257,22 @@ def __reduce__(self): class tzwinlocal(tzwinbase): + """ + Class representing the local time zone information in the Windows registry + + While :class:`dateutil.tz.tzlocal` makes system calls (via the :mod:`time` + module) to retrieve time zone information, ``tzwinlocal`` retrieves the + rules directly from the Windows registry and creates an object like + :class:`dateutil.tz.tzwin`. + + Because Windows does not have an equivalent of :func:`time.tzset`, on + Windows, :class:`dateutil.tz.tzlocal` instances will always reflect the + time zone settings *at the time that the process was started*, meaning + changes to the machine's time zone settings during the run of a program + on Windows will **not** be reflected by :class:`dateutil.tz.tzlocal`. + Because ``tzwinlocal`` reads the registry directly, it is unaffected by + this issue. + """ def __init__(self): with winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) as handle: with winreg.OpenKey(handle, TZLOCALKEYNAME) as tzlocalkey: diff --git a/bin/dateutil/tz/win.pyc b/bin/dateutil/tz/win.pyc deleted file mode 100644 index 85fb7a76..00000000 Binary files a/bin/dateutil/tz/win.pyc and /dev/null differ diff --git a/bin/dateutil/tzwin.pyc b/bin/dateutil/tzwin.pyc deleted file mode 100644 index b913c98d..00000000 Binary files a/bin/dateutil/tzwin.pyc and /dev/null differ diff --git a/bin/dateutil/utils.pyc b/bin/dateutil/utils.pyc deleted file mode 100644 index 271eef06..00000000 Binary files a/bin/dateutil/utils.pyc and /dev/null differ diff --git a/bin/dateutil/zoneinfo/__init__.pyc b/bin/dateutil/zoneinfo/__init__.pyc deleted file mode 100644 index 466e77b6..00000000 Binary files a/bin/dateutil/zoneinfo/__init__.pyc and /dev/null differ diff --git a/bin/dateutil/zoneinfo/dateutil-zoneinfo.tar.gz b/bin/dateutil/zoneinfo/dateutil-zoneinfo.tar.gz index 6e8c05ef..124f3e14 100644 Binary files a/bin/dateutil/zoneinfo/dateutil-zoneinfo.tar.gz and b/bin/dateutil/zoneinfo/dateutil-zoneinfo.tar.gz differ diff --git a/bin/dateutil/zoneinfo/rebuild.pyc b/bin/dateutil/zoneinfo/rebuild.pyc deleted file mode 100644 index 2f69ada4..00000000 Binary files a/bin/dateutil/zoneinfo/rebuild.pyc and /dev/null differ diff --git a/bin/docutils-0.14.dist-info/DESCRIPTION.rst b/bin/docutils-0.14.dist-info/DESCRIPTION.rst deleted file mode 100644 index d1df4d03..00000000 --- a/bin/docutils-0.14.dist-info/DESCRIPTION.rst +++ /dev/null @@ -1,5 +0,0 @@ -Docutils is a modular system for processing documentation -into useful formats, such as HTML, XML, and LaTeX. For -input Docutils supports reStructuredText, an easy-to-read, -what-you-see-is-what-you-get plaintext markup syntax. - diff --git a/bin/docutils-0.14.dist-info/INSTALLER b/bin/docutils-0.14.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/bin/docutils-0.14.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/bin/docutils-0.14.dist-info/METADATA b/bin/docutils-0.14.dist-info/METADATA deleted file mode 100644 index b5103b63..00000000 --- a/bin/docutils-0.14.dist-info/METADATA +++ /dev/null @@ -1,54 +0,0 @@ -Metadata-Version: 2.0 -Name: docutils -Version: 0.14 -Summary: Docutils -- Python Documentation Utilities -Home-page: http://docutils.sourceforge.net/ -Author: docutils-develop list -Author-email: docutils-develop@lists.sourceforge.net -License: public domain, Python, 2-Clause BSD, GPL 3 (see COPYING.txt) -Platform: OS-independent -Classifier: Development Status :: 4 - Beta -Classifier: Environment :: Console -Classifier: Intended Audience :: End Users/Desktop -Classifier: Intended Audience :: Other Audience -Classifier: Intended Audience :: Developers -Classifier: Intended Audience :: System Administrators -Classifier: License :: Public Domain -Classifier: License :: OSI Approved :: Python Software Foundation License -Classifier: License :: OSI Approved :: BSD License -Classifier: License :: OSI Approved :: GNU General Public License (GPL) -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python :: 2.4 -Classifier: Programming Language :: Python :: 2.5 -Classifier: Programming Language :: Python :: 2.6 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Topic :: Documentation -Classifier: Topic :: Software Development :: Documentation -Classifier: Topic :: Text Processing -Classifier: Natural Language :: English -Classifier: Natural Language :: Afrikaans -Classifier: Natural Language :: Catalan -Classifier: Natural Language :: Chinese (Simplified) -Classifier: Natural Language :: Chinese (Traditional) -Classifier: Natural Language :: Czech -Classifier: Natural Language :: Dutch -Classifier: Natural Language :: Esperanto -Classifier: Natural Language :: Finnish -Classifier: Natural Language :: French -Classifier: Natural Language :: Galician -Classifier: Natural Language :: German -Classifier: Natural Language :: Italian -Classifier: Natural Language :: Japanese -Classifier: Natural Language :: Polish -Classifier: Natural Language :: Portuguese (Brazilian) -Classifier: Natural Language :: Russian -Classifier: Natural Language :: Slovak -Classifier: Natural Language :: Spanish -Classifier: Natural Language :: Swedish - -Docutils is a modular system for processing documentation -into useful formats, such as HTML, XML, and LaTeX. For -input Docutils supports reStructuredText, an easy-to-read, -what-you-see-is-what-you-get plaintext markup syntax. - diff --git a/bin/docutils-0.14.dist-info/RECORD b/bin/docutils-0.14.dist-info/RECORD deleted file mode 100644 index 2a035118..00000000 --- a/bin/docutils-0.14.dist-info/RECORD +++ /dev/null @@ -1,331 +0,0 @@ -docutils/__init__.py,sha256=8nmUVt4NA_T4_MnA0ZwSb9cR-ONr4tdxKYZQY1SzsiQ,8968 -docutils/_compat.py,sha256=urxfwKkKZkHb-6JaPM8uQs6pvjARDs8SrK_Fv65OsJE,1589 -docutils/core.py,sha256=i9Y4LystiEItheDJ3LwQAzo1oImC9R-i6jkWE2uW9qo,29529 -docutils/examples.py,sha256=nlPe2PYXNvz5ZAVRu7xHHiV7qML7s-eyUu4Gun7j3SY,3959 -docutils/frontend.py,sha256=qJB2laIMyAzZebIf5U96chcDJ-I392lEOoaGUIirjIg,37121 -docutils/io.py,sha256=wd6sh5IC7DYbwB62oa-cQ2jKnaperkdA5fmD7PzmnoE,17456 -docutils/nodes.py,sha256=ZqxeIdDJjCoMhHJQ_VCyaJ7W2vR6_78Q_wRP7QjMEEI,77359 -docutils/statemachine.py,sha256=YFpV8C8Beo0jaTQFGSStdzlHBTrdpaPc7SziXQomu-Y,57572 -docutils/languages/__init__.py,sha256=XqnVVaIrbKV0rLBaeFV7W_YkniFTymc8ecmzTD7o2ek,1626 -docutils/languages/af.py,sha256=6wl-XbsF8wbSiBs5IORna4Lz-WPqnnye_6qr8Cbh_1c,1824 -docutils/languages/ca.py,sha256=7_XR5q5GEXaeI4O5ianMmdnjWY_sRQD1ynuRB_HxUok,1940 -docutils/languages/cs.py,sha256=GARzldc3tDZByhqf_R-cOh1QJDOrFvSJzqewRdWRNXw,1928 -docutils/languages/da.py,sha256=88ZPB6ppJPWqNsaFQKKAC1aEZVLYw13BFR44vecp4MU,1907 -docutils/languages/de.py,sha256=AQTUIl4j3x43kQi5800-lobZHsh06VOsrxfAjS5FHGM,1722 -docutils/languages/en.py,sha256=tWVrPr6593mIzFokX_4Hw1fC6ZWC8GPdgpc72jmQq1g,1848 -docutils/languages/eo.py,sha256=uGSGcjfeHFliqm-f9amMfsPIl3trHONYPXdGR_ybm8U,1948 -docutils/languages/es.py,sha256=nk0PUeVyjFEu_8cNJA9Llsdv-W3kKx-wgOeaYGllqgw,1962 -docutils/languages/fa.py,sha256=vsf5xJxJuzcPXyz8ad3Cuf9ntBoOND0zdhsE4dwJEjI,2044 -docutils/languages/fi.py,sha256=yrE6Zhs-LdknXCpf-WX15QACQ75DroMpET95r3JD_OM,2026 -docutils/languages/fr.py,sha256=FTaOYQQHvqFzkzuhbdFQPS7dPkcpGLUPMeStu0cjFGs,1893 -docutils/languages/gl.py,sha256=6Uoq9rYigieFN0-LeSgoRmB9_ROX60Oqul7faPROMYs,2040 -docutils/languages/he.py,sha256=BfiRLxQ5Y8pivYi7GbGQ5NJ-rEgUId9mstJR6YYkeAQ,2683 -docutils/languages/it.py,sha256=Z3eh86YrmB8aT_Dl56X7W2gqpJgYK0v0QnJ07hekXlM,1808 -docutils/languages/ja.py,sha256=VJc9fRk4H_OhD8wyx3-uGUay3qdqeAIHCZEF67EsMTQ,1942 -docutils/languages/lt.py,sha256=Y1204UnrqJlvM1vyteckkrqkbU02dSvrnpHCB5b23oM,1940 -docutils/languages/lv.py,sha256=tEqF4ya9h4FznB-uiUKQnNLY2XDFRatxKt2evJPhsDM,1867 -docutils/languages/nl.py,sha256=3CjsGFeJgLZEw2xhHxAc4sYDKRW6ODUZsVyibjl7DmM,1865 -docutils/languages/pl.py,sha256=ImdSmS6l4SgZ7uEaWQR5_aLNmv4K5onOInEtinPqWJk,1900 -docutils/languages/pt_br.py,sha256=cW8OceiFMPzPICT6buhnjm3tvEEw4W1PG-GFC4MxhyI,1982 -docutils/languages/ru.py,sha256=AkDQVhcW4cbvP0je-z8UJafQ-s2Lwc-eAIqXGCFZzco,2155 -docutils/languages/sk.py,sha256=v4XMBxIx5d6zQY7ehjZdtgfUy9Hz999XdH9G9d7SxEc,1860 -docutils/languages/sv.py,sha256=yIVWV9He5dbCuMpegSDiuI75tD4GXm9VkN7ra0-xgMI,2103 -docutils/languages/zh_cn.py,sha256=kF2sokHa0Qr-3X45ZeWEb0mImZRlZpiX2TM6d9_GjpY,2026 -docutils/languages/zh_tw.py,sha256=Xwrbf8wSylyMwwaNH6xYeAjMrldiBbDB_LElv67hGPQ,2771 -docutils/parsers/__init__.py,sha256=ZuRqlhdstvG-sjxz1jziO8UFOvnrED_WXvhsSmegdGA,1657 -docutils/parsers/null.py,sha256=LtO7n-E6lNOs4mLXZ2SiShB3C630SoJ80ugd9fh1vXI,445 -docutils/parsers/rst/__init__.py,sha256=ALyJAD5XOFZIWHNNl9ZLlwH-qWBJHgEYiq3LnYxTnwM,16067 -docutils/parsers/rst/roles.py,sha256=JSf7v8yaZeiNXaCcud174IhHNImPPUcS8FtVIlBLz3c,14775 -docutils/parsers/rst/states.py,sha256=piujpcEtKNyUywp9PTaP2Bgrhw7rtg-9FbSjl37Hni8,131329 -docutils/parsers/rst/tableparser.py,sha256=F-Xkrwz-67778xJZGdSPHkO9b8FAEVOtZg92fj7LRH0,21022 -docutils/parsers/rst/directives/__init__.py,sha256=wlwljn2MNVvT0ybMUIZB7s5ihestjsVNRlRMAmuyqH4,14065 -docutils/parsers/rst/directives/admonitions.py,sha256=w38T7YfRc0isuF5qmaw-6wOQgHx9xGHJBqu_gDqQCdI,2413 -docutils/parsers/rst/directives/body.py,sha256=3amRRMJPyTdU-aB_oqzyoJDWPk_50xOexR7ExKkH0KI,9243 -docutils/parsers/rst/directives/html.py,sha256=kBLbegxECF03eHyEbN-iGIPtTkBeS8bXr5TautU7SXo,3098 -docutils/parsers/rst/directives/images.py,sha256=o11Rznz52EVsJ32FCF-Z-NFVrO2aHdFJA_zgg0pgro8,6882 -docutils/parsers/rst/directives/misc.py,sha256=rYSYd8HQiCpQc3UNWw_Gg-2Rw3My287WHNP-AcHvNuI,23703 -docutils/parsers/rst/directives/parts.py,sha256=Mx7y6BwTP1WAD_qnL-g0bjg1_O06NCXgqeYCPfP4JbI,4251 -docutils/parsers/rst/directives/references.py,sha256=1Y1yhe_O2PqLtQUSly-ny291nrQKJgQiO4Hu7Xew9Zo,831 -docutils/parsers/rst/directives/tables.py,sha256=ozM_TINk1NMRBD9q1QQNa8d2cEqmUrwW912G2w0bY8k,22304 -docutils/parsers/rst/include/README.txt,sha256=_C6pSfeGShQ0evvKKKZUtx4bP4RFG9UoUlgHoMn06DU,666 -docutils/parsers/rst/include/isoamsa.txt,sha256=CioOAjUSuL_MG2JHqVHst0ceHzF0v3kupB6stgPMD2g,10925 -docutils/parsers/rst/include/isoamsb.txt,sha256=pSD9D42IRcGBcjYXrJUBFicIA7KRtfBhCKnFlJiytC0,7242 -docutils/parsers/rst/include/isoamsc.txt,sha256=wC2J-pHkHJMokFfOg6S5_6TX1LcibltUpLMWkm-OT3U,1723 -docutils/parsers/rst/include/isoamsn.txt,sha256=LPorblUlj9fua5tpigH-lAfqPYj_yXWQiOa91CpBD7w,6721 -docutils/parsers/rst/include/isoamso.txt,sha256=3CB6lhSNhRIAY-ST8hGPRrO-6wxI2jhYnWTU1_uBXyY,3825 -docutils/parsers/rst/include/isoamsr.txt,sha256=3qVvk1ueHuE6jnHp8ypn6UWtZH5Ly2njNDj09Xeh2qU,11763 -docutils/parsers/rst/include/isobox.txt,sha256=tYnVIj92mJ5jiY8H9-S3CzBprjU8scuJZ8BO_eWEdwc,3101 -docutils/parsers/rst/include/isocyr1.txt,sha256=-V1dpOyKxXBzNBxcW7IJp1W-SIkaXd0KVm8TP58a5B8,4241 -docutils/parsers/rst/include/isocyr2.txt,sha256=3pDslLms3yuJgQTcWtu8U1FMrMQ4KgxtDT18Ci6Mvz4,1882 -docutils/parsers/rst/include/isodia.txt,sha256=-qThXeZ-WFGztOuu_koRrlvDJpSkMVB4ivU9yyE2y7Y,869 -docutils/parsers/rst/include/isogrk1.txt,sha256=xnCDDphWarsNmum9SQRvntznPx7m547rRRuQs7PdYpQ,3010 -docutils/parsers/rst/include/isogrk2.txt,sha256=zbi3-LuRB6T0jGj_yffmgm_8_mwz-6ygAYvgie32ls0,1705 -docutils/parsers/rst/include/isogrk3.txt,sha256=X8fGxnVIG1ygvvc9hpYgUHt1d8ANdD-gxn6aKWEaRf0,2880 -docutils/parsers/rst/include/isogrk4-wide.txt,sha256=rpweSoCmHEC1vL44LEeIE8Re2tm5FEAWnae6CO2oe1I,3035 -docutils/parsers/rst/include/isogrk4.txt,sha256=zptf_ntrFuMsuk0OhEjUkRwYrz0YGDuD-_6ReIHOunY,372 -docutils/parsers/rst/include/isolat1.txt,sha256=F5R0rnBefjAbqWFCkWMFpxVKWoSec8VM0KU8DRtMCYI,4397 -docutils/parsers/rst/include/isolat2.txt,sha256=YBBbW3o9HD1JHV3QVfpaFeKnRsh2vPs0dNvpTJSEoSU,8466 -docutils/parsers/rst/include/isomfrk-wide.txt,sha256=EtzR0nFzhkCmf8CKR4hLWSAgbUjHs4sYfpJEyDp8CjY,3334 -docutils/parsers/rst/include/isomfrk.txt,sha256=zZy3M5BmklzpL02dImsAuWA1jVw7nxqx3xyZLKtILfA,519 -docutils/parsers/rst/include/isomopf-wide.txt,sha256=QUhEHzhyuCM3qzrqG5luXuL28Uoqt7I7v-CfzToG8sI,1931 -docutils/parsers/rst/include/isomopf.txt,sha256=MGuLb8WfrDm7GWvdmvYHsWtrWyh6MqRRo7wnpiaia0U,639 -docutils/parsers/rst/include/isomscr-wide.txt,sha256=VHq8miDC5nKS6Rlvv9aWpS1D_naXcfZd1CsEpJ2W8-g,3231 -docutils/parsers/rst/include/isomscr.txt,sha256=WvB9Zek3TqSyIDfw5QmE_uTvXNwjBpYU0EQttckdLJo,776 -docutils/parsers/rst/include/isonum.txt,sha256=DHWd87O6CCaSz10PEGZOxLqpDLHiMZ6--0VR9o0Yt-Q,4066 -docutils/parsers/rst/include/isopub.txt,sha256=oULMcx0Ugjk6EZAMcxHZpZM_MC7kNuzecu-sMAHVZro,4613 -docutils/parsers/rst/include/isotech.txt,sha256=h6z4dEMoVtarA9E489Zru1H29c01hWWGqbfD3wgUmiM,9726 -docutils/parsers/rst/include/mmlalias.txt,sha256=YxSvNJVNsrzgIGNjtAjtx2tVXUuby5twMZxr5Mq3PJo,45428 -docutils/parsers/rst/include/mmlextra-wide.txt,sha256=KKNjVkG-xHbeCagQfQDotJxY5oF6S6Bmk60bEv49NUQ,9010 -docutils/parsers/rst/include/mmlextra.txt,sha256=Y50tQh0fLYClCc0DUVrxr2loU5u5YaUaYbFc9PEya_c,6800 -docutils/parsers/rst/include/s5defs.txt,sha256=_5JOMpDtaufiZbdxh6QKpICqLvGpB9cypHM-SEt3sKA,1036 -docutils/parsers/rst/include/xhtml1-lat1.txt,sha256=-cEYtq3oOOoLQS6n2KmsAcIs3Y5s78mToBkUXuSrSKA,6112 -docutils/parsers/rst/include/xhtml1-special.txt,sha256=dVNILahp_Jkf0bQVX-gGFcQXst3oR-FvQmAt6lDSTpE,1945 -docutils/parsers/rst/include/xhtml1-symbol.txt,sha256=K-f7hr-LRv1NKOxjZtckBmtMQOiddlnJJ-6DG-YoAzI,7028 -docutils/parsers/rst/languages/__init__.py,sha256=pcpaebmWUtAT1tA-2V3ddpUyfADaSDjFiEhl1FCNWPA,1085 -docutils/parsers/rst/languages/af.py,sha256=CKdMjiS3nx4yNRrzeuwCoT0XeeQmHm2_O8U34BZns7s,3677 -docutils/parsers/rst/languages/ca.py,sha256=7eAACvO9Dpnqujsc3BJZQktHk1RDjmwf4LeEvkV_66o,4467 -docutils/parsers/rst/languages/cs.py,sha256=7g4NgLXvV5RP7oOqQT_TM033xW48mDQVoGGHhKSwZ8I,4857 -docutils/parsers/rst/languages/da.py,sha256=u9zvTSVuqJBQ-KKlcZmi4SMAp_kQXNS6ZsHBEiVmXjY,3765 -docutils/parsers/rst/languages/de.py,sha256=wiBjwHBDmiDIRs9gTtpI63VTyp7zqds5DWy9Kdw9Ntg,3464 -docutils/parsers/rst/languages/en.py,sha256=z_J8xJ1gBTk5MX6u_bonFGoop_e8VF6jWgq9Tzl5gNY,3317 -docutils/parsers/rst/languages/eo.py,sha256=q0025TiEuSZ_8VGZz2n86ZK4o6GVTdus1HBgdxAgz0A,3898 -docutils/parsers/rst/languages/es.py,sha256=vranS55noGU_pSC0f7uyJ12szSoxMKgRJuEK-DQfhpk,4261 -docutils/parsers/rst/languages/fa.py,sha256=XWeO9UdNGKbHWpcsAhEOgBvuLMGxjQ76I5ed7i2szPw,3430 -docutils/parsers/rst/languages/fi.py,sha256=CiWQxGOSnLA05yONUB0tqsnv4IPCbvfPYU7obKRo-kU,3661 -docutils/parsers/rst/languages/fr.py,sha256=42D2mXBLYl1Vc7KnVGi-CFQbhe_DTEIpT26_f3gWknI,3709 -docutils/parsers/rst/languages/gl.py,sha256=48NwM1CfNZOfmSYkqfhUsAww2292kZLPlt_Ty5sGzxE,3711 -docutils/parsers/rst/languages/he.py,sha256=go2_5QONLkGd4KS7ZIBur2vP04GUlN95XnOTizfwZOc,3640 -docutils/parsers/rst/languages/it.py,sha256=ihEL_NivtrckGnU6dT_kTmOrafmPUIC7-e6KMUJ_y2Q,3270 -docutils/parsers/rst/languages/ja.py,sha256=jaRnNN5sTXciz9O9_-kl7rlrScCJC12S3msQWPg5yH0,3863 -docutils/parsers/rst/languages/lt.py,sha256=RWSEyHddq14wvtuIbDxRT-JnPuRh8Gk33hOHh5BEXFI,3584 -docutils/parsers/rst/languages/lv.py,sha256=OfnTo1Si1V1E_7yNAwkyQMe6y07FsOA_F-1H2Fb6vIU,3381 -docutils/parsers/rst/languages/nl.py,sha256=2yKY36FtTEkRl-YjBOm9KtLTQR8nTIGT5ORt1qhcWQk,3708 -docutils/parsers/rst/languages/pl.py,sha256=RsEunaFFi6fiko9CZrVTyWTS7MbEuJLd0eAC5EOWWWo,3427 -docutils/parsers/rst/languages/pt_br.py,sha256=wDfQWhP_ZikrL3o9T4SjyfhRmCg8Y9uIS6FnUrTASkw,3992 -docutils/parsers/rst/languages/ru.py,sha256=abw64X77S-WFpIhbbn2v_YzzjphGyjqbMhaQjnLL1N0,3306 -docutils/parsers/rst/languages/sk.py,sha256=dhy_kVHdIVSFW9aBnNBU3YTXstouhmeOMHzZsBQ7vfU,3979 -docutils/parsers/rst/languages/sv.py,sha256=S8vtO81rSQTvAV4rzrzP7XQ1Hg894gtjjlqJ8FcPRf8,3331 -docutils/parsers/rst/languages/zh_cn.py,sha256=6FyYegjPnIFguqQhR9cBu5xxlrkRszNQHWGXEByF05M,4007 -docutils/parsers/rst/languages/zh_tw.py,sha256=PswlAgKcAMvgQB2jbp1hDCpzG63ZfxgBwlJviK8KRHM,5172 -docutils/readers/__init__.py,sha256=cZO94mGtqkuoe9BIRcTTqjtoOava88ELAcPWRZb7S-U,3465 -docutils/readers/doctree.py,sha256=9QNTk_8x46sDkcSjzQiyFZxN-m9CBO3XA5bLar7OA0Q,1607 -docutils/readers/pep.py,sha256=V9b6SUQ_h74KK11wq5k2icEPGWQuVDG5gCzhWlJdF3Y,1555 -docutils/readers/standalone.py,sha256=6kRgqKD_REEZ_zZE5AW0rLj_rqOhisubS2ADyLjOAJQ,2340 -docutils/transforms/__init__.py,sha256=1m2yYFlSCJMOGsznhuyupa_E7i-3cHaCifx_tDWe9rs,6505 -docutils/transforms/components.py,sha256=F0fXyOZsf_OA0QsX-jIAsk3RLCrkEW9GRR1-l0Nx13o,1993 -docutils/transforms/frontmatter.py,sha256=j2DYFhPBBWBJoB0Jcw9MHNKHSNBHnV5jXHpRrPDeGL4,19552 -docutils/transforms/misc.py,sha256=0jDAIndz8a7C5TVWLkC44N1pVfhwZu4nu-lnk1GmzGg,4882 -docutils/transforms/parts.py,sha256=ZtZPn1M-KkVW6izjacc_J5pN3IIpoWKxeeMjQvwDhrI,6980 -docutils/transforms/peps.py,sha256=NdXwjk5gvzuzWDXred5OEbpPIDn2bWxECrBkYC_gF10,11056 -docutils/transforms/references.py,sha256=adaTB8ixzjHtvRt7-CtTCoUw2qXAwozgNPO_LduU3XY,36584 -docutils/transforms/universal.py,sha256=N6tUxerjMl59RJ_VgcvBzF9rmGc20gCibvPwDmBv_hw,11102 -docutils/transforms/writer_aux.py,sha256=4Zd8z8s4jTG2J0xSnm5hj1kiZrKN6FqvGvpJ1cb09oU,2609 -docutils/utils/__init__.py,sha256=N7yeq-C_5iACAYY9KBP1ZXlBoQSzqyhju39V9bGbe0A,29258 -docutils/utils/code_analyzer.py,sha256=kM31rMe3rrXGmwPsvv3JzeTcpe-dJYqtQPFQHgt6YVA,4928 -docutils/utils/error_reporting.py,sha256=JvXN2Jv3Io0WTOAvxkGE-xfQet2MLZi7EBFZMhR14ls,8393 -docutils/utils/punctuation_chars.py,sha256=UPAtrr1Om1cJ0l3JpNLvnuNryfR8ybXNvOJNriO7PW0,6426 -docutils/utils/roman.py,sha256=5dId_zz2VV8kvtKNNgLUpTR0zcuSIcADBD36XDjDZ44,2687 -docutils/utils/smartquotes.py,sha256=upA48OZuXYXS_JZ_-4JP_jVGG8Kppirh84hgXay5iPk,40287 -docutils/utils/urischemes.py,sha256=2Y9dzkd8_mri0isGvPwhX-oDhkVLKbw-T0UstBsqiIc,6275 -docutils/utils/math/__init__.py,sha256=TUGMP6ytwBzbQCHrFSxSl8OcDdbLGfCCkGteBdWm6l0,1755 -docutils/utils/math/latex2mathml.py,sha256=DKT5ZQDYWOi6-kaWuayWkMr9SJq2N14b69yI163MxGw,17521 -docutils/utils/math/math2html.py,sha256=SVmhFx-GGMI9NvNy603Jq9ApDJQTkpETg0KfUdZFJYU,182250 -docutils/utils/math/tex2mathml_extern.py,sha256=8hv2rnoI9MXyayppjTjCc2I57DbVE9BDSzLUS0n-C9w,5634 -docutils/utils/math/tex2unichar.py,sha256=0tXV29tatGECc6zDV78yvx-6vc5npfO1GukZrzbI5ps,35109 -docutils/utils/math/unichar2tex.py,sha256=pQsCi50-vC7hbl0DsfHEK5Xn9jhHOAOtG6D0tTWGAAY,17590 -docutils/writers/__init__.py,sha256=m56LRJvyrvD0vOuhY4X9HrrrxRCeICrcWyhn07SV4iU,4666 -docutils/writers/_html_base.py,sha256=-P7Zgt9n2KoMKkd6Eg84kOscHKA6EQTNfHTM7Iz9DHI,63711 -docutils/writers/docutils_xml.py,sha256=vtQhJOWejlk-RcU78xLGxC-S6E8kCLQFiBRlh543_Qo,7687 -docutils/writers/manpage.py,sha256=KpkFL0XIEHiypsbM2i_wJ7fW6jdS-K-BMlVgPi6_aLU,35740 -docutils/writers/null.py,sha256=zyIuah_o8SlqvgbOWLRG9chpeNKky0D13lOTtR1E73U,450 -docutils/writers/pseudoxml.py,sha256=2bRL9zMleW8jDuGaINvM52siZiJWH1-zQfEELJE2oPE,772 -docutils/writers/html4css1/__init__.py,sha256=E8TnHpD9nmSlZn_fplIvCMYJiCdWRtEaL3JaGtQZDOA,33870 -docutils/writers/html4css1/html4css1.css,sha256=BvqQaXs-bQ6Vx7TVsdXxxLwoiQeXQ-Wn1z7ZXRXk_q8,7210 -docutils/writers/html4css1/template.txt,sha256=HDzUUyAv7gT4ewGQTqfOE2_9HOVyGu9-wCRgsmoCmjQ,114 -docutils/writers/html5_polyglot/__init__.py,sha256=jiVYn8UGzs4WywtvEVn5g9h8ld6aC9UgfDlBc7CBLc8,9074 -docutils/writers/html5_polyglot/math.css,sha256=hGjowMetSh3oAlkm7_EA2pTtkv_Lg_TgwrBkyNs85Co,4783 -docutils/writers/html5_polyglot/minimal.css,sha256=Ong7EeVlkFTsSr-8XBRix_ZQogrW8zvvngCxiS--gTw,6820 -docutils/writers/html5_polyglot/plain.css,sha256=bsHdtR5YGeN-uuouo2VqmKKcDg1dUZmf67GQ88t2YOY,7136 -docutils/writers/html5_polyglot/template.txt,sha256=HDzUUyAv7gT4ewGQTqfOE2_9HOVyGu9-wCRgsmoCmjQ,114 -docutils/writers/latex2e/__init__.py,sha256=7uH-UMjM7TbG4IYuWsCcJ8aSAJR5wk9Lf53pWFtntUw,128523 -docutils/writers/latex2e/default.tex,sha256=RT2DTIMKaHNP2CPdopBzE1tLR4iQkcUHsJ0UkLYL95k,422 -docutils/writers/latex2e/titlepage.tex,sha256=wxPKr4rylqUamK2U0EJXQTaVQ1392ua5DtSVGDqrNsI,534 -docutils/writers/latex2e/xelatex.tex,sha256=oUEz2Ze3wpoMp0X0iVELcUGNtKVre5Ug5Ujge7OiMgU,672 -docutils/writers/odf_odt/__init__.py,sha256=1SuRgHOMkBi19l5XZnmnQEwFWLj4c2CUVqMr6d3GlH0,135221 -docutils/writers/odf_odt/pygmentsformatter.py,sha256=iBsRNxRe-v378-whp_F8CwgvuK7Ck4o_Tx4Kae8NlYw,4671 -docutils/writers/odf_odt/styles.odt,sha256=xKv9z2sd1qNxAH28X-5st5JuDZeTw6jyDOxXohsFrKY,16500 -docutils/writers/pep_html/__init__.py,sha256=fM_-gcMw-VLZLgDEDKqiyaQdMWErf1pNbdwHRFVv2UE,3507 -docutils/writers/pep_html/pep.css,sha256=OtaYGd-h4g9Z6owNa17fBReTdD6k-TOadRk-dQ-jM7k,6366 -docutils/writers/pep_html/template.txt,sha256=CfyVCCoqqB3Y8hOyt7Uxf0XeyTwtFf926L_hJeaS1wU,1294 -docutils/writers/s5_html/__init__.py,sha256=2UctGICm1P4vCQFdHGIjm4fPUo9rhcCv5J_dAF40yC8,14658 -docutils/writers/s5_html/themes/README.txt,sha256=wsty9ouRFxVMrZV2EUTOmfMS_bJJpmA5CqU23fpMccM,301 -docutils/writers/s5_html/themes/big-black/__base__,sha256=WeKnChXCPkrXDs7Xr-Qnf1i-bgFjkeaKJ-ilXV0R5lM,38 -docutils/writers/s5_html/themes/big-black/framing.css,sha256=RctE4TbWO_ctWsmE1LSPdCVRMT1QFlTrNmQNKC4wC2Y,911 -docutils/writers/s5_html/themes/big-black/pretty.css,sha256=VFK99wlPllRBKK0eQ2Yk6RC_-VDMREm-ue2Mp3YMs7A,3606 -docutils/writers/s5_html/themes/big-white/framing.css,sha256=6M4vVFfoErc5LKtuol1RqnId0166VecGy6rYu9cPY9c,906 -docutils/writers/s5_html/themes/big-white/pretty.css,sha256=YO7dDIRq7dXpIdC8pEOf7QaBb9nUvajfWkkQpxt3nJs,3566 -docutils/writers/s5_html/themes/default/blank.gif,sha256=L1YbAqSTduNnms1ZdeN5Cr3_Cey636HhhYx7om4__O8,49 -docutils/writers/s5_html/themes/default/framing.css,sha256=fcGapNDqnTT2w-2HpWTHb5yf9Yq-_31DJuazk7lCSQw,1003 -docutils/writers/s5_html/themes/default/iepngfix.htc,sha256=ve7IwOG4pkjDmYItcuQrUbESmVaY6ACDhhA5YP9d73c,1190 -docutils/writers/s5_html/themes/default/opera.css,sha256=guPZOg_BINv-LjV9_IAM7ILFQ-fKALNjlP1i06e5dmA,261 -docutils/writers/s5_html/themes/default/outline.css,sha256=z3ACJiW3_gnG8XFvX602PMTYvKhbRybqCeoWl3O_pA0,648 -docutils/writers/s5_html/themes/default/pretty.css,sha256=dUbMlVTFGx3ofvXGUmhnKAADhBkHsdU0ysWpxwX-70M,4384 -docutils/writers/s5_html/themes/default/print.css,sha256=INhYRMsY7y2wd9p7tqjcDWBREXHUMO-2ApAWvITyetI,818 -docutils/writers/s5_html/themes/default/s5-core.css,sha256=MrHjKxQ7P7ZFC2FmEq2BnkRWs59YVzUS_ZOw8CHC2Jk,451 -docutils/writers/s5_html/themes/default/slides.css,sha256=VKYQ1Oe8lZ8LHxzPqJiU79J0z295nkmIbzsXL-N_dfQ,283 -docutils/writers/s5_html/themes/default/slides.js,sha256=n6_977F6UKSfpYSDu5RKhS1g7iehHcmxm1jDLD17ME4,15800 -docutils/writers/s5_html/themes/medium-black/__base__,sha256=822LJG-LrdBZY6CA7wsLFCFzsYfxbyz2mr1j6rpb1UA,41 -docutils/writers/s5_html/themes/medium-black/pretty.css,sha256=zoRP67Cmy7JzwnXqKe02GwGzt0p5z509ymlbaxXuPoI,4031 -docutils/writers/s5_html/themes/medium-white/framing.css,sha256=nstQg2Fwdm6TTRHflpYRE7Q3b2jFO5p6tyDXJhsmi0I,944 -docutils/writers/s5_html/themes/medium-white/pretty.css,sha256=SafUPS2T_uel8lPQlvouTXUrgT9QY52nxnBJDt_pmP4,3991 -docutils/writers/s5_html/themes/small-black/__base__,sha256=WmiB80z49RfMsy_7tFI042AfUgyztL5OXI3tap9EfQM,40 -docutils/writers/s5_html/themes/small-black/pretty.css,sha256=G_e83H9lIDHXtUBJRCnsnxSiAhP0zaAafQwSviioUQ8,4030 -docutils/writers/s5_html/themes/small-white/framing.css,sha256=klf55tsjjL7FuzlWi0yY_4bHJWZZhlD36VCevg45o70,941 -docutils/writers/s5_html/themes/small-white/pretty.css,sha256=yaLNE-loYn_nSCuzvGVJWHAbh90dxdO5I06Cv-d4wcM,4001 -docutils/writers/xetex/__init__.py,sha256=hLwJ6xCkkJ4pJ0OZNWsYcXFxWSsHgMK8s3i3cNBiQok,5695 -../../bin/rst2html.py,sha256=_ZSHNn9dmPKAx6L7qZ8XgfPAy3KZv5MNky6n_8V3xiI,584 -../../bin/rst2html4.py,sha256=u5YWYGbe9xyegHW30S6gzVpAg8nTI9Xu_ZOeve5CbOo,704 -../../bin/rst2html5.py,sha256=dKqselk9JHHlf61pmgdKglSHe-acL1_GV91vLBtY3AU,1129 -../../bin/rst2latex.py,sha256=nLGST5HE554VD4EbuhUn2_6kijGgDFcQgOMa4RrFngI,781 -../../bin/rst2man.py,sha256=cJHLwJTI7kSR-7n_WhIQ_e11oEJr-ZMK97fKy5GZ3q0,590 -../../bin/rst2odt.py,sha256=iH9HaLPbzEfJU599E2DvAW2n2py69TXfJDOIZEHRsyk,754 -../../bin/rst2odt_prepstyles.py,sha256=tPj049dHEFj2cCedGmT6jSTtD-ZxLHrE4NJQVFLjZLk,1688 -../../bin/rst2pseudoxml.py,sha256=9SwwDEOFNz3AqOSI4CEvhieDm_3TgTPN_3FDPz6b5ys,591 -../../bin/rst2s5.py,sha256=zdT-5LNxruUZqMVe-Wjj1F-eXan9pLDBvxA1k38XRGw,627 -../../bin/rst2xetex.py,sha256=SzPM2iz6wCAc8Ki3sEnhCq6318jTQziosToib4FIzEw,861 -../../bin/rst2xml.py,sha256=MKbl4dkpIBjzh4GdITggzJpi-SMGoRaXdkbZs-yd05E,592 -../../bin/rstpep2html.py,sha256=TlXeA4lyMxtICwwaEERXcrXTleXfwyQE5qbooZLtcSw,660 -docutils-0.14.dist-info/DESCRIPTION.rst,sha256=VEarWAl_dcwpCipAoNacho47mGV-DNvYRvczl9p5HEc,228 -docutils-0.14.dist-info/METADATA,sha256=Jg97XShs6kaAH_NJDM_1coOHkom9DY2sWVyjBqSAlyY,2330 -docutils-0.14.dist-info/RECORD,, -docutils-0.14.dist-info/WHEEL,sha256=bee59qcPjkyXfMaxNWjl2CGotqfumWx9pC1hlVLr2mM,92 -docutils-0.14.dist-info/metadata.json,sha256=gCCCtP6guDWiLc9jWQtZPpN80Wwjbgk4rY5Iw8GtPwg,1977 -docutils-0.14.dist-info/top_level.txt,sha256=dPq3jQoxpMOEhrZ1tQh3_-9hqhdvOjUplSdSVDAc95A,9 -docutils-0.14.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -docutils/languages/fi.pyc,, -docutils/parsers/rst/languages/pt_br.pyc,, -docutils/utils/math/unichar2tex.pyc,, -docutils/parsers/rst/directives/body.pyc,, -docutils/parsers/rst/languages/sv.pyc,, -docutils/utils/punctuation_chars.pyc,, -docutils/parsers/rst/directives/images.pyc,, -docutils/languages/ru.pyc,, -docutils/readers/__init__.pyc,, -docutils/writers/odf_odt/__init__.pyc,, -docutils/examples.pyc,, -docutils/statemachine.pyc,, -docutils/parsers/rst/directives/__init__.pyc,, -docutils/transforms/references.pyc,, -docutils/writers/latex2e/__init__.pyc,, -../../bin/rst2odt.pyc,, -docutils/languages/it.pyc,, -docutils/parsers/rst/languages/it.pyc,, -docutils/parsers/rst/roles.pyc,, -docutils/parsers/rst/languages/ru.pyc,, -docutils/utils/__init__.pyc,, -docutils/parsers/rst/directives/html.pyc,, -docutils/languages/zh_tw.pyc,, -docutils/transforms/parts.pyc,, -../../bin/rst2man.pyc,, -docutils/frontend.pyc,, -docutils/core.pyc,, -docutils/languages/fr.pyc,, -docutils/utils/math/tex2mathml_extern.pyc,, -docutils/readers/doctree.pyc,, -docutils/languages/sk.pyc,, -docutils/__init__.pyc,, -docutils/languages/cs.pyc,, -docutils/languages/lv.pyc,, -docutils/utils/code_analyzer.pyc,, -docutils/languages/sv.pyc,, -../../bin/rst2s5.pyc,, -docutils/parsers/rst/languages/af.pyc,, -docutils/languages/zh_cn.pyc,, -docutils/parsers/rst/languages/__init__.pyc,, -../../bin/rst2pseudoxml.pyc,, -docutils/transforms/universal.pyc,, -docutils/transforms/peps.pyc,, -docutils/languages/es.pyc,, -docutils/transforms/components.pyc,, -docutils/_compat.pyc,, -docutils/languages/nl.pyc,, -docutils/utils/smartquotes.pyc,, -docutils/writers/null.pyc,, -docutils/parsers/rst/directives/admonitions.pyc,, -docutils/parsers/rst/languages/ca.pyc,, -docutils/writers/docutils_xml.pyc,, -docutils/parsers/rst/languages/de.pyc,, -docutils/transforms/writer_aux.pyc,, -docutils/utils/math/__init__.pyc,, -docutils/parsers/rst/languages/cs.pyc,, -docutils/parsers/rst/languages/pl.pyc,, -../../bin/rst2latex.pyc,, -docutils/languages/en.pyc,, -docutils/languages/pt_br.pyc,, -docutils/parsers/rst/languages/fr.pyc,, -docutils/languages/af.pyc,, -docutils/utils/urischemes.pyc,, -docutils/parsers/rst/directives/parts.pyc,, -docutils/writers/odf_odt/pygmentsformatter.pyc,, -docutils/parsers/null.pyc,, -docutils/parsers/rst/languages/sk.pyc,, -docutils/readers/standalone.pyc,, -docutils/parsers/rst/directives/references.pyc,, -docutils/parsers/rst/languages/gl.pyc,, -docutils/parsers/rst/languages/da.pyc,, -docutils/languages/ja.pyc,, -docutils/languages/eo.pyc,, -docutils/transforms/frontmatter.pyc,, -docutils/parsers/rst/languages/lv.pyc,, -../../bin/rst2html4.pyc,, -docutils/transforms/__init__.pyc,, -../../bin/rstpep2html.pyc,, -docutils/languages/__init__.pyc,, -docutils/writers/pseudoxml.pyc,, -docutils/parsers/rst/states.pyc,, -docutils/languages/gl.pyc,, -docutils/writers/manpage.pyc,, -../../bin/rst2html5.pyc,, -docutils/nodes.pyc,, -docutils/parsers/rst/languages/eo.pyc,, -docutils/parsers/rst/directives/misc.pyc,, -docutils/writers/__init__.pyc,, -docutils/utils/math/tex2unichar.pyc,, -docutils/writers/pep_html/__init__.pyc,, -docutils/parsers/rst/languages/he.pyc,, -docutils/languages/fa.pyc,, -docutils/languages/da.pyc,, -docutils/languages/pl.pyc,, -docutils/writers/html5_polyglot/__init__.pyc,, -docutils/utils/error_reporting.pyc,, -docutils/parsers/rst/languages/fi.pyc,, -docutils/languages/lt.pyc,, -docutils/parsers/rst/languages/nl.pyc,, -docutils/languages/de.pyc,, -docutils/readers/pep.pyc,, -docutils/parsers/__init__.pyc,, -docutils/utils/roman.pyc,, -docutils/transforms/misc.pyc,, -docutils/writers/xetex/__init__.pyc,, -docutils/io.pyc,, -docutils/parsers/rst/languages/fa.pyc,, -docutils/writers/html4css1/__init__.pyc,, -docutils/writers/_html_base.pyc,, -docutils/languages/he.pyc,, -../../bin/rst2html.pyc,, -docutils/parsers/rst/languages/en.pyc,, -docutils/parsers/rst/languages/es.pyc,, -docutils/parsers/rst/languages/zh_tw.pyc,, -docutils/writers/s5_html/__init__.pyc,, -docutils/languages/ca.pyc,, -docutils/parsers/rst/languages/zh_cn.pyc,, -../../bin/rst2odt_prepstyles.pyc,, -docutils/parsers/rst/tableparser.pyc,, -docutils/utils/math/math2html.pyc,, -../../bin/rst2xml.pyc,, -../../bin/rst2xetex.pyc,, -docutils/parsers/rst/__init__.pyc,, -docutils/parsers/rst/languages/ja.pyc,, -docutils/utils/math/latex2mathml.pyc,, -docutils/parsers/rst/languages/lt.pyc,, -docutils/parsers/rst/directives/tables.pyc,, diff --git a/bin/docutils-0.14.dist-info/WHEEL b/bin/docutils-0.14.dist-info/WHEEL deleted file mode 100644 index 511d954a..00000000 --- a/bin/docutils-0.14.dist-info/WHEEL +++ /dev/null @@ -1,5 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.29.0) -Root-Is-Purelib: true -Tag: py2-none-any - diff --git a/bin/docutils-0.14.dist-info/metadata.json b/bin/docutils-0.14.dist-info/metadata.json deleted file mode 100644 index 21dc893f..00000000 --- a/bin/docutils-0.14.dist-info/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"classifiers": ["Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: End Users/Desktop", "Intended Audience :: Other Audience", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: Public Domain", "License :: OSI Approved :: Python Software Foundation License", "License :: OSI Approved :: BSD License", "License :: OSI Approved :: GNU General Public License (GPL)", "Operating System :: OS Independent", "Programming Language :: Python :: 2.4", "Programming Language :: Python :: 2.5", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Topic :: Documentation", "Topic :: Software Development :: Documentation", "Topic :: Text Processing", "Natural Language :: English", "Natural Language :: Afrikaans", "Natural Language :: Catalan", "Natural Language :: Chinese (Simplified)", "Natural Language :: Chinese (Traditional)", "Natural Language :: Czech", "Natural Language :: Dutch", "Natural Language :: Esperanto", "Natural Language :: Finnish", "Natural Language :: French", "Natural Language :: Galician", "Natural Language :: German", "Natural Language :: Italian", "Natural Language :: Japanese", "Natural Language :: Polish", "Natural Language :: Portuguese (Brazilian)", "Natural Language :: Russian", "Natural Language :: Slovak", "Natural Language :: Spanish", "Natural Language :: Swedish"], "extensions": {"python.details": {"contacts": [{"email": "docutils-develop@lists.sourceforge.net", "name": "docutils-develop list", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "http://docutils.sourceforge.net/"}}}, "generator": "bdist_wheel (0.29.0)", "license": "public domain, Python, 2-Clause BSD, GPL 3 (see COPYING.txt)", "metadata_version": "2.0", "name": "docutils", "platform": "OS-independent", "summary": "Docutils -- Python Documentation Utilities", "version": "0.14"} \ No newline at end of file diff --git a/bin/docutils-0.14.dist-info/top_level.txt b/bin/docutils-0.14.dist-info/top_level.txt deleted file mode 100644 index 5492d767..00000000 --- a/bin/docutils-0.14.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -docutils diff --git a/bin/docutils/__init__.py b/bin/docutils/__init__.py index f4a81e36..f2e401e4 100644 --- a/bin/docutils/__init__.py +++ b/bin/docutils/__init__.py @@ -109,14 +109,14 @@ """ -class ApplicationError(StandardError): +class ApplicationError(Exception): # Workaround: # In Python < 2.6, unicode() calls `str` on the # arg and therefore, e.g., unicode(StandardError(u'\u234')) fails # with UnicodeDecodeError. if sys.version_info < (2,6): def __unicode__(self): - return u', '.join(self.args) + return ', '.join(self.args) class DataError(ApplicationError): pass diff --git a/bin/docutils/__init__.pyc b/bin/docutils/__init__.pyc deleted file mode 100644 index 02018d0b..00000000 Binary files a/bin/docutils/__init__.pyc and /dev/null differ diff --git a/bin/docutils/_compat.py b/bin/docutils/_compat.py index 08cf5111..1471c89e 100644 --- a/bin/docutils/_compat.py +++ b/bin/docutils/_compat.py @@ -20,7 +20,7 @@ if sys.version_info < (3,0): b = bytes = str u_prefix = 'u' - from StringIO import StringIO as BytesIO + from io import StringIO as BytesIO else: import builtins bytes = builtins.bytes @@ -37,7 +37,7 @@ def b(s): BytesIO = __import__('io').BytesIO if sys.version_info < (2,5): - import __builtin__ + import builtins def __import__(name, globals={}, locals={}, fromlist=[], level=-1): """Compatibility definition for Python 2.4. @@ -45,4 +45,4 @@ def __import__(name, globals={}, locals={}, fromlist=[], level=-1): Silently ignore the `level` argument missing in Python < 2.5. """ # we need the level arg because the default changed in Python 3.3 - return __builtin__.__import__(name, globals, locals, fromlist) + return builtins.__import__(name, globals, locals, fromlist) diff --git a/bin/docutils/_compat.pyc b/bin/docutils/_compat.pyc deleted file mode 100644 index 3a2b12b2..00000000 Binary files a/bin/docutils/_compat.pyc and /dev/null differ diff --git a/bin/docutils/core.py b/bin/docutils/core.py index 3dc12e8d..af39db09 100644 --- a/bin/docutils/core.py +++ b/bin/docutils/core.py @@ -218,10 +218,10 @@ def publish(self, argv=None, usage=None, description=None, self.apply_transforms() output = self.writer.write(self.document, self.destination) self.writer.assemble_parts() - except SystemExit, error: + except SystemExit as error: exit = 1 exit_status = error.code - except Exception, error: + except Exception as error: if not self.settings: # exception too early to report nicely raise if self.settings.traceback: # Propagate exceptions? @@ -243,24 +243,24 @@ def debugging_dumps(self): if not self.document: return if self.settings.dump_settings: - print >>self._stderr, '\n::: Runtime settings:' - print >>self._stderr, pprint.pformat(self.settings.__dict__) + print('\n::: Runtime settings:', file=self._stderr) + print(pprint.pformat(self.settings.__dict__), file=self._stderr) if self.settings.dump_internals: - print >>self._stderr, '\n::: Document internals:' - print >>self._stderr, pprint.pformat(self.document.__dict__) + print('\n::: Document internals:', file=self._stderr) + print(pprint.pformat(self.document.__dict__), file=self._stderr) if self.settings.dump_transforms: - print >>self._stderr, '\n::: Transforms applied:' - print >>self._stderr, (' (priority, transform class, ' - 'pending node details, keyword args)') - print >>self._stderr, pprint.pformat( + print('\n::: Transforms applied:', file=self._stderr) + print((' (priority, transform class, ' + 'pending node details, keyword args)'), file=self._stderr) + print(pprint.pformat( [(priority, '%s.%s' % (xclass.__module__, xclass.__name__), pending and pending.details, kwargs) for priority, xclass, pending, kwargs - in self.document.transformer.applied]) + in self.document.transformer.applied]), file=self._stderr) if self.settings.dump_pseudo_xml: - print >>self._stderr, '\n::: Pseudo-XML:' - print >>self._stderr, self.document.pformat().encode( - 'raw_unicode_escape') + print('\n::: Pseudo-XML:', file=self._stderr) + print(self.document.pformat().encode( + 'raw_unicode_escape'), file=self._stderr) def report_Exception(self, error): if isinstance(error, utils.SystemMessage): @@ -268,15 +268,15 @@ def report_Exception(self, error): elif isinstance(error, UnicodeEncodeError): self.report_UnicodeError(error) elif isinstance(error, io.InputError): - self._stderr.write(u'Unable to open source file for reading:\n' - u' %s\n' % ErrorString(error)) + self._stderr.write('Unable to open source file for reading:\n' + ' %s\n' % ErrorString(error)) elif isinstance(error, io.OutputError): self._stderr.write( - u'Unable to open destination file for writing:\n' - u' %s\n' % ErrorString(error)) + 'Unable to open destination file for writing:\n' + ' %s\n' % ErrorString(error)) else: - print >>self._stderr, u'%s' % ErrorString(error) - print >>self._stderr, ("""\ + print('%s' % ErrorString(error), file=self._stderr) + print(("""\ Exiting due to error. Use "--traceback" to diagnose. Please report errors to . Include "--traceback" output, Docutils version (%s%s), @@ -284,12 +284,12 @@ def report_Exception(self, error): command line used.""" % (__version__, docutils.__version_details__ and ' [%s]'%docutils.__version_details__ or '', - sys.version.split()[0])) + sys.version.split()[0])), file=self._stderr) def report_SystemMessage(self, error): - print >>self._stderr, ('Exiting due to level-%s (%s) system message.' + print(('Exiting due to level-%s (%s) system message.' % (error.level, - utils.Reporter.levels[error.level])) + utils.Reporter.levels[error.level])), file=self._stderr) def report_UnicodeError(self, error): data = error.object[error.start:error.end] diff --git a/bin/docutils/core.pyc b/bin/docutils/core.pyc deleted file mode 100644 index b4641e35..00000000 Binary files a/bin/docutils/core.pyc and /dev/null differ diff --git a/bin/docutils/examples.pyc b/bin/docutils/examples.pyc deleted file mode 100644 index 2299bba2..00000000 Binary files a/bin/docutils/examples.pyc and /dev/null differ diff --git a/bin/docutils/frontend.py b/bin/docutils/frontend.py index 1aeae5c8..d96faf03 100644 --- a/bin/docutils/frontend.py +++ b/bin/docutils/frontend.py @@ -33,7 +33,7 @@ import os.path import sys import warnings -import ConfigParser as CP +import configparser as CP import codecs import optparse from optparse import SUPPRESS_HELP @@ -53,7 +53,7 @@ def store_multiple(option, opt, value, parser, *args, **kwargs): """ for attribute in args: setattr(parser.values, attribute, None) - for key, value in kwargs.items(): + for key, value in list(kwargs.items()): setattr(parser.values, key, value) def read_config_file(option, opt, value, parser): @@ -62,7 +62,7 @@ def read_config_file(option, opt, value, parser): """ try: new_settings = parser.get_config_file_settings(value) - except ValueError, error: + except ValueError as error: parser.error(error) parser.values.update(new_settings, parser) @@ -71,9 +71,8 @@ def validate_encoding(setting, value, option_parser, try: codecs.lookup(value) except LookupError: - raise (LookupError('setting "%s": unknown encoding: "%s"' - % (setting, value)), - None, sys.exc_info()[2]) + raise LookupError('setting "%s": unknown encoding: "%s"' + % (setting, value)) return value def validate_encoding_error_handler(setting, value, option_parser, @@ -81,12 +80,11 @@ def validate_encoding_error_handler(setting, value, option_parser, try: codecs.lookup_error(value) except LookupError: - raise (LookupError( + raise LookupError( 'unknown encoding error handler: "%s" (choices: ' '"strict", "ignore", "replace", "backslashreplace", ' '"xmlcharrefreplace", and possibly others; see documentation for ' - 'the Python ``codecs`` module)' % value), - None, sys.exc_info()[2]) + 'the Python ``codecs`` module)' % value) return value def validate_encoding_and_error_handler( @@ -122,8 +120,7 @@ def validate_boolean(setting, value, option_parser, try: return option_parser.booleans[value.strip().lower()] except KeyError: - raise (LookupError('unknown boolean value: "%s"' % value), - None, sys.exc_info()[2]) + raise LookupError('unknown boolean value: "%s"' % value) def validate_ternary(setting, value, option_parser, config_parser=None, config_section=None): @@ -154,8 +151,7 @@ def validate_threshold(setting, value, option_parser, try: return option_parser.thresholds[value.lower()] except (KeyError, AttributeError): - raise (LookupError('unknown threshold: %r.' % value), - None, sys.exc_info[2]) + raise LookupError('unknown threshold: %r.' % value) def validate_colon_separated_string_list( setting, value, option_parser, config_parser=None, config_section=None): @@ -177,7 +173,7 @@ def validate_comma_separated_list(setting, value, option_parser, # this function is called for every option added to `value` # -> split the last item and append the result: last = value.pop() - items = [i.strip(u' \t\n') for i in last.split(u',') if i.strip(u' \t\n')] + items = [i.strip(' \t\n') for i in last.split(',') if i.strip(' \t\n')] value.extend(items) return value @@ -230,7 +226,7 @@ def validate_smartquotes_locales(setting, value, option_parser, lc_quotes.append(item) continue except ValueError: - raise ValueError(u'Invalid value "%s".' + raise ValueError('Invalid value "%s".' ' Format is ":".' % item.encode('ascii', 'backslashreplace')) # parse colon separated string list: @@ -253,7 +249,7 @@ def make_paths_absolute(pathdict, keys, base_path=None): `OptionParser.relative_path_settings`. """ if base_path is None: - base_path = os.getcwdu() # type(base_path) == unicode + base_path = os.getcwd() # type(base_path) == unicode # to allow combining non-ASCII cwd with unicode values in `pathdict` for key in keys: if key in pathdict: @@ -290,7 +286,7 @@ def filter_settings_spec(settings_spec, *exclude, **replace): ][0] if opt_name in exclude: continue - if opt_name in replace.keys(): + if opt_name in list(replace.keys()): newopts.append(replace[opt_name]) else: newopts.append(opt_spec) @@ -316,7 +312,7 @@ def update(self, other_dict, option_parser): if isinstance(other_dict, Values): other_dict = other_dict.__dict__ other_dict = other_dict.copy() - for setting in option_parser.lists.keys(): + for setting in list(option_parser.lists.keys()): if (hasattr(self, setting) and setting in other_dict): value = getattr(self, setting) if value: @@ -346,11 +342,10 @@ def process(self, opt, value, values, parser): value = getattr(values, setting) try: new_value = self.validator(setting, value, parser) - except Exception, error: - raise (optparse.OptionValueError( + except Exception as error: + raise optparse.OptionValueError( 'Error in option "%s":\n %s' - % (opt, ErrorString(error))), - None, sys.exc_info()[2]) + % (opt, ErrorString(error))) setattr(values, setting, new_value) if self.overrides: setattr(values, self.overrides, None) @@ -605,7 +600,7 @@ def __init__(self, components=(), defaults=None, read_config_files=None, if read_config_files and not self.defaults['_disable_config']: try: config_settings = self.get_standard_config_settings() - except ValueError, error: + except ValueError as error: self.error(SafeString(error)) self.set_defaults_from_dict(config_settings.__dict__) @@ -768,7 +763,7 @@ def __init__(self, *args, **kwargs): """Wrapper around sys.stderr catching en-/decoding errors""" def read(self, filenames, option_parser): - if type(filenames) in (str, unicode): + if type(filenames) in (str, str): filenames = [filenames] for filename in filenames: try: @@ -797,7 +792,7 @@ def handle_old_config(self, filename): options = self.get_section('options') if not self.has_section('general'): self.add_section('general') - for key, value in options.items(): + for key, value in list(options.items()): if key in self.old_settings: section, setting = self.old_settings[key] if not self.has_section(section): @@ -826,13 +821,13 @@ def validate_settings(self, filename, option_parser): new_value = option.validator( setting, value, option_parser, config_parser=self, config_section=section) - except Exception, error: - raise (ValueError( + except Exception as error: + raise ValueError( 'Error in config file "%s", section "[%s]":\n' ' %s\n' ' %s = %s' % (filename, section, ErrorString(error), - setting, value)), None, sys.exc_info()[2]) + setting, value)) self.set(section, setting, new_value) if option.overrides: self.set(section, option.overrides, None) diff --git a/bin/docutils/frontend.pyc b/bin/docutils/frontend.pyc deleted file mode 100644 index 78616f78..00000000 Binary files a/bin/docutils/frontend.pyc and /dev/null differ diff --git a/bin/docutils/io.py b/bin/docutils/io.py index 8428318a..2e85638a 100644 --- a/bin/docutils/io.py +++ b/bin/docutils/io.py @@ -85,10 +85,10 @@ def decode(self, data): locale.setlocale(locale.LC_ALL, '') """ if self.encoding and self.encoding.lower() == 'unicode': - assert isinstance(data, unicode), ( + assert isinstance(data, str), ( 'input encoding is "unicode" ' 'but input is not a unicode object') - if isinstance(data, unicode): + if isinstance(data, str): # Accept unicode even if self.encoding != 'unicode'. return data if self.encoding: @@ -110,11 +110,11 @@ def decode(self, data): encodings.insert(1, locale_encoding) for enc in encodings: try: - decoded = unicode(data, enc, self.error_handler) + decoded = str(data, enc, self.error_handler) self.successful_encoding = enc # Return decoded, removing BOMs. - return decoded.replace(u'\ufeff', u'') - except (UnicodeError, LookupError), err: + return decoded.replace('\ufeff', '') + except (UnicodeError, LookupError) as err: error = err # in Python 3, the is # local to the except clause raise UnicodeError( @@ -186,11 +186,11 @@ def write(self, data): def encode(self, data): if self.encoding and self.encoding.lower() == 'unicode': - assert isinstance(data, unicode), ( + assert isinstance(data, str), ( 'the encoding given is "unicode" but the output is not ' 'a Unicode string') return data - if not isinstance(data, unicode): + if not isinstance(data, str): # Non-unicode (e.g. bytes) output. return data else: @@ -243,7 +243,7 @@ def __init__(self, source=None, source_path=None, try: self.source = open(source_path, mode, **kwargs) - except IOError, error: + except IOError as error: raise InputError(error.errno, error.strerror, source_path) else: self.source = sys.stdin @@ -272,7 +272,7 @@ def read(self): data = b('\n').join(data.splitlines()) + b('\n') else: data = self.source.read() - except (UnicodeError, LookupError), err: # (in Py3k read() decodes) + except (UnicodeError, LookupError) as err: # (in Py3k read() decodes) if not self.encoding and self.source_path: # re-read in binary mode and decode with heuristics b_source = open(self.source_path, 'rb') @@ -344,9 +344,9 @@ def __init__(self, destination=None, destination_path=None, elif (# destination is file-type object -> check mode: mode and hasattr(self.destination, 'mode') and mode != self.destination.mode): - print >>self._stderr, ('Warning: Destination mode "%s" ' + print(('Warning: Destination mode "%s" ' 'differs from specified mode "%s"' % - (self.destination.mode, mode)) + (self.destination.mode, mode)), file=self._stderr) if not destination_path: try: self.destination_path = self.destination.name @@ -362,7 +362,7 @@ def open(self): kwargs = {} try: self.destination = open(self.destination_path, self.mode, **kwargs) - except IOError, error: + except IOError as error: raise OutputError(error.errno, error.strerror, self.destination_path) self.opened = True @@ -385,7 +385,7 @@ def write(self, data): try: # In Python < 2.5, try...except has to be nested in try...finally. try: self.destination.write(data) - except TypeError, e: + except TypeError as e: if sys.version_info >= (3,0) and isinstance(data, bytes): try: self.destination.buffer.write(data) @@ -398,7 +398,7 @@ def write(self, data): self.destination.encoding, self.encoding)) else: raise e - except (UnicodeError, LookupError), err: + except (UnicodeError, LookupError) as err: raise UnicodeError( 'Unable to encode output data. output-encoding is: ' '%s.\n(%s)' % (self.encoding, ErrorString(err))) @@ -459,7 +459,7 @@ class NullInput(Input): def read(self): """Return a null string.""" - return u'' + return '' class NullOutput(Output): diff --git a/bin/docutils/io.pyc b/bin/docutils/io.pyc deleted file mode 100644 index 112b1124..00000000 Binary files a/bin/docutils/io.pyc and /dev/null differ diff --git a/bin/docutils/languages/__init__.pyc b/bin/docutils/languages/__init__.pyc deleted file mode 100644 index 6637147c..00000000 Binary files a/bin/docutils/languages/__init__.pyc and /dev/null differ diff --git a/bin/docutils/languages/af.pyc b/bin/docutils/languages/af.pyc deleted file mode 100644 index 3785132c..00000000 Binary files a/bin/docutils/languages/af.pyc and /dev/null differ diff --git a/bin/docutils/languages/ca.py b/bin/docutils/languages/ca.py index 0745412a..e81332ea 100644 --- a/bin/docutils/languages/ca.py +++ b/bin/docutils/languages/ca.py @@ -15,44 +15,44 @@ labels = { # fixed: language-dependent - 'author': u'Autor', - 'authors': u'Autors', - 'organization': u'Organitzaci\u00F3', - 'address': u'Adre\u00E7a', - 'contact': u'Contacte', - 'version': u'Versi\u00F3', - 'revision': u'Revisi\u00F3', - 'status': u'Estat', - 'date': u'Data', - 'copyright': u'Copyright', - 'dedication': u'Dedicat\u00F2ria', - 'abstract': u'Resum', - 'attention': u'Atenci\u00F3!', - 'caution': u'Compte!', - 'danger': u'PERILL!', - 'error': u'Error', - 'hint': u'Suggeriment', - 'important': u'Important', - 'note': u'Nota', - 'tip': u'Consell', - 'warning': u'Av\u00EDs', - 'contents': u'Contingut'} + 'author': 'Autor', + 'authors': 'Autors', + 'organization': 'Organitzaci\u00F3', + 'address': 'Adre\u00E7a', + 'contact': 'Contacte', + 'version': 'Versi\u00F3', + 'revision': 'Revisi\u00F3', + 'status': 'Estat', + 'date': 'Data', + 'copyright': 'Copyright', + 'dedication': 'Dedicat\u00F2ria', + 'abstract': 'Resum', + 'attention': 'Atenci\u00F3!', + 'caution': 'Compte!', + 'danger': 'PERILL!', + 'error': 'Error', + 'hint': 'Suggeriment', + 'important': 'Important', + 'note': 'Nota', + 'tip': 'Consell', + 'warning': 'Av\u00EDs', + 'contents': 'Contingut'} """Mapping of node class name to label text.""" bibliographic_fields = { # language-dependent: fixed - u'autor': 'author', - u'autors': 'authors', - u'organitzaci\u00F3': 'organization', - u'adre\u00E7a': 'address', - u'contacte': 'contact', - u'versi\u00F3': 'version', - u'revisi\u00F3': 'revision', - u'estat': 'status', - u'data': 'date', - u'copyright': 'copyright', - u'dedicat\u00F2ria': 'dedication', - u'resum': 'abstract'} + 'autor': 'author', + 'autors': 'authors', + 'organitzaci\u00F3': 'organization', + 'adre\u00E7a': 'address', + 'contacte': 'contact', + 'versi\u00F3': 'version', + 'revisi\u00F3': 'revision', + 'estat': 'status', + 'data': 'date', + 'copyright': 'copyright', + 'dedicat\u00F2ria': 'dedication', + 'resum': 'abstract'} """Catalan (lowcased) to canonical name mapping for bibliographic fields.""" author_separators = [';', ','] diff --git a/bin/docutils/languages/ca.pyc b/bin/docutils/languages/ca.pyc deleted file mode 100644 index 74991299..00000000 Binary files a/bin/docutils/languages/ca.pyc and /dev/null differ diff --git a/bin/docutils/languages/cs.py b/bin/docutils/languages/cs.py index 650bb83b..6fa02c92 100644 --- a/bin/docutils/languages/cs.py +++ b/bin/docutils/languages/cs.py @@ -15,44 +15,44 @@ labels = { # fixed: language-dependent - 'author': u'Autor', - 'authors': u'Auto\u0159i', - 'organization': u'Organizace', - 'address': u'Adresa', - 'contact': u'Kontakt', - 'version': u'Verze', - 'revision': u'Revize', - 'status': u'Stav', - 'date': u'Datum', - 'copyright': u'Copyright', - 'dedication': u'V\u011Bnov\u00E1n\u00ED', - 'abstract': u'Abstrakt', - 'attention': u'Pozor!', - 'caution': u'Opatrn\u011B!', - 'danger': u'!NEBEZPE\u010C\u00CD!', - 'error': u'Chyba', - 'hint': u'Rada', - 'important': u'D\u016Fle\u017Eit\u00E9', - 'note': u'Pozn\u00E1mka', - 'tip': u'Tip', - 'warning': u'Varov\u00E1n\u00ED', - 'contents': u'Obsah'} + 'author': 'Autor', + 'authors': 'Auto\u0159i', + 'organization': 'Organizace', + 'address': 'Adresa', + 'contact': 'Kontakt', + 'version': 'Verze', + 'revision': 'Revize', + 'status': 'Stav', + 'date': 'Datum', + 'copyright': 'Copyright', + 'dedication': 'V\u011Bnov\u00E1n\u00ED', + 'abstract': 'Abstrakt', + 'attention': 'Pozor!', + 'caution': 'Opatrn\u011B!', + 'danger': '!NEBEZPE\u010C\u00CD!', + 'error': 'Chyba', + 'hint': 'Rada', + 'important': 'D\u016Fle\u017Eit\u00E9', + 'note': 'Pozn\u00E1mka', + 'tip': 'Tip', + 'warning': 'Varov\u00E1n\u00ED', + 'contents': 'Obsah'} """Mapping of node class name to label text.""" bibliographic_fields = { # language-dependent: fixed - u'autor': 'author', - u'auto\u0159i': 'authors', - u'organizace': 'organization', - u'adresa': 'address', - u'kontakt': 'contact', - u'verze': 'version', - u'revize': 'revision', - u'stav': 'status', - u'datum': 'date', - u'copyright': 'copyright', - u'v\u011Bnov\u00E1n\u00ED': 'dedication', - u'abstrakt': 'abstract'} + 'autor': 'author', + 'auto\u0159i': 'authors', + 'organizace': 'organization', + 'adresa': 'address', + 'kontakt': 'contact', + 'verze': 'version', + 'revize': 'revision', + 'stav': 'status', + 'datum': 'date', + 'copyright': 'copyright', + 'v\u011Bnov\u00E1n\u00ED': 'dedication', + 'abstrakt': 'abstract'} """Czech (lowcased) to canonical name mapping for bibliographic fields.""" author_separators = [';', ','] diff --git a/bin/docutils/languages/cs.pyc b/bin/docutils/languages/cs.pyc deleted file mode 100644 index f53a2479..00000000 Binary files a/bin/docutils/languages/cs.pyc and /dev/null differ diff --git a/bin/docutils/languages/da.py b/bin/docutils/languages/da.py index e5df9356..738d9be4 100644 --- a/bin/docutils/languages/da.py +++ b/bin/docutils/languages/da.py @@ -16,45 +16,45 @@ labels = { # fixed: language-dependent - 'author': u'Forfatter', - 'authors': u'Forfattere', - 'organization': u'Organisation', - 'address': u'Adresse', - 'contact': u'Kontakt', - 'version': u'Version', - 'revision': u'Revision', - 'status': u'Status', - 'date': u'Dato', - 'copyright': u'Copyright', - 'dedication': u'Dedikation', - 'abstract': u'Resumé', - 'attention': u'Giv agt!', - 'caution': u'Pas på!', - 'danger': u'!FARE!', - 'error': u'Fejl', - 'hint': u'Vink', - 'important': u'Vigtigt', - 'note': u'Bemærk', - 'tip': u'Tips', - 'warning': u'Advarsel', - 'contents': u'Indhold'} + 'author': 'Forfatter', + 'authors': 'Forfattere', + 'organization': 'Organisation', + 'address': 'Adresse', + 'contact': 'Kontakt', + 'version': 'Version', + 'revision': 'Revision', + 'status': 'Status', + 'date': 'Dato', + 'copyright': 'Copyright', + 'dedication': 'Dedikation', + 'abstract': 'Resumé', + 'attention': 'Giv agt!', + 'caution': 'Pas på!', + 'danger': '!FARE!', + 'error': 'Fejl', + 'hint': 'Vink', + 'important': 'Vigtigt', + 'note': 'Bemærk', + 'tip': 'Tips', + 'warning': 'Advarsel', + 'contents': 'Indhold'} """Mapping of node class name to label text.""" bibliographic_fields = { # language-dependent: fixed - u'forfatter': 'author', - u'forfattere': 'authors', - u'organisation': 'organization', - u'adresse': 'address', - u'kontakt': 'contact', - u'version': 'version', - u'revision': 'revision', - u'status': 'status', - u'dato': 'date', - u'copyright': 'copyright', - u'dedikation': 'dedication', - u'resume': 'abstract', - u'resumé': 'abstract'} + 'forfatter': 'author', + 'forfattere': 'authors', + 'organisation': 'organization', + 'adresse': 'address', + 'kontakt': 'contact', + 'version': 'version', + 'revision': 'revision', + 'status': 'status', + 'dato': 'date', + 'copyright': 'copyright', + 'dedikation': 'dedication', + 'resume': 'abstract', + 'resumé': 'abstract'} """Danish (lowcased) to canonical name mapping for bibliographic fields.""" author_separators = [';', ','] diff --git a/bin/docutils/languages/da.pyc b/bin/docutils/languages/da.pyc deleted file mode 100644 index 374a382c..00000000 Binary files a/bin/docutils/languages/da.pyc and /dev/null differ diff --git a/bin/docutils/languages/de.pyc b/bin/docutils/languages/de.pyc deleted file mode 100644 index e7320a42..00000000 Binary files a/bin/docutils/languages/de.pyc and /dev/null differ diff --git a/bin/docutils/languages/en.pyc b/bin/docutils/languages/en.pyc deleted file mode 100644 index ac1458d9..00000000 Binary files a/bin/docutils/languages/en.pyc and /dev/null differ diff --git a/bin/docutils/languages/eo.py b/bin/docutils/languages/eo.py index cb53d821..d2db2066 100644 --- a/bin/docutils/languages/eo.py +++ b/bin/docutils/languages/eo.py @@ -15,35 +15,35 @@ labels = { # fixed: language-dependent - 'author': u'A\u016dtoro', - 'authors': u'A\u016dtoroj', - 'organization': u'Organizo', - 'address': u'Adreso', - 'contact': u'Kontakto', - 'version': u'Versio', - 'revision': u'Revido', - 'status': u'Stato', - 'date': u'Dato', + 'author': 'A\u016dtoro', + 'authors': 'A\u016dtoroj', + 'organization': 'Organizo', + 'address': 'Adreso', + 'contact': 'Kontakto', + 'version': 'Versio', + 'revision': 'Revido', + 'status': 'Stato', + 'date': 'Dato', # 'copyright': u'Kopirajto', - 'copyright': u'A\u016dtorrajto', - 'dedication': u'Dedi\u0109o', - 'abstract': u'Resumo', - 'attention': u'Atentu!', - 'caution': u'Zorgu!', - 'danger': u'DAN\u011cERO!', - 'error': u'Eraro', - 'hint': u'Spuro', - 'important': u'Grava', - 'note': u'Noto', - 'tip': u'Helpeto', - 'warning': u'Averto', - 'contents': u'Enhavo'} + 'copyright': 'A\u016dtorrajto', + 'dedication': 'Dedi\u0109o', + 'abstract': 'Resumo', + 'attention': 'Atentu!', + 'caution': 'Zorgu!', + 'danger': 'DAN\u011cERO!', + 'error': 'Eraro', + 'hint': 'Spuro', + 'important': 'Grava', + 'note': 'Noto', + 'tip': 'Helpeto', + 'warning': 'Averto', + 'contents': 'Enhavo'} """Mapping of node class name to label text.""" bibliographic_fields = { # language-dependent: fixed - 'a\u016dtoro': 'author', - 'a\u016dtoroj': 'authors', + 'a\\u016dtoro': 'author', + 'a\\u016dtoroj': 'authors', 'organizo': 'organization', 'adreso': 'address', 'kontakto': 'contact', @@ -51,8 +51,8 @@ 'revido': 'revision', 'stato': 'status', 'dato': 'date', - 'a\u016dtorrajto': 'copyright', - 'dedi\u0109o': 'dedication', + 'a\\u016dtorrajto': 'copyright', + 'dedi\\u0109o': 'dedication', 'resumo': 'abstract'} """Esperanto (lowcased) to canonical name mapping for bibliographic fields.""" diff --git a/bin/docutils/languages/eo.pyc b/bin/docutils/languages/eo.pyc deleted file mode 100644 index f1f751ba..00000000 Binary files a/bin/docutils/languages/eo.pyc and /dev/null differ diff --git a/bin/docutils/languages/es.py b/bin/docutils/languages/es.py index 31f5d745..69c879f3 100644 --- a/bin/docutils/languages/es.py +++ b/bin/docutils/languages/es.py @@ -15,43 +15,43 @@ __docformat__ = 'reStructuredText' labels = { - 'author': u'Autor', - 'authors': u'Autores', - 'organization': u'Organizaci\u00f3n', - 'address': u'Direcci\u00f3n', - 'contact': u'Contacto', - 'version': u'Versi\u00f3n', - 'revision': u'Revisi\u00f3n', - 'status': u'Estado', - 'date': u'Fecha', - 'copyright': u'Copyright', - 'dedication': u'Dedicatoria', - 'abstract': u'Resumen', - 'attention': u'\u00a1Atenci\u00f3n!', - 'caution': u'\u00a1Precauci\u00f3n!', - 'danger': u'\u00a1PELIGRO!', - 'error': u'Error', - 'hint': u'Sugerencia', - 'important': u'Importante', - 'note': u'Nota', - 'tip': u'Consejo', - 'warning': u'Advertencia', - 'contents': u'Contenido'} + 'author': 'Autor', + 'authors': 'Autores', + 'organization': 'Organizaci\u00f3n', + 'address': 'Direcci\u00f3n', + 'contact': 'Contacto', + 'version': 'Versi\u00f3n', + 'revision': 'Revisi\u00f3n', + 'status': 'Estado', + 'date': 'Fecha', + 'copyright': 'Copyright', + 'dedication': 'Dedicatoria', + 'abstract': 'Resumen', + 'attention': '\u00a1Atenci\u00f3n!', + 'caution': '\u00a1Precauci\u00f3n!', + 'danger': '\u00a1PELIGRO!', + 'error': 'Error', + 'hint': 'Sugerencia', + 'important': 'Importante', + 'note': 'Nota', + 'tip': 'Consejo', + 'warning': 'Advertencia', + 'contents': 'Contenido'} """Mapping of node class name to label text.""" bibliographic_fields = { - u'autor': 'author', - u'autores': 'authors', - u'organizaci\u00f3n': 'organization', - u'direcci\u00f3n': 'address', - u'contacto': 'contact', - u'versi\u00f3n': 'version', - u'revisi\u00f3n': 'revision', - u'estado': 'status', - u'fecha': 'date', - u'copyright': 'copyright', - u'dedicatoria': 'dedication', - u'resumen': 'abstract'} + 'autor': 'author', + 'autores': 'authors', + 'organizaci\u00f3n': 'organization', + 'direcci\u00f3n': 'address', + 'contacto': 'contact', + 'versi\u00f3n': 'version', + 'revisi\u00f3n': 'revision', + 'estado': 'status', + 'fecha': 'date', + 'copyright': 'copyright', + 'dedicatoria': 'dedication', + 'resumen': 'abstract'} """Spanish (lowcased) to canonical name mapping for bibliographic fields.""" author_separators = [';', ','] diff --git a/bin/docutils/languages/es.pyc b/bin/docutils/languages/es.pyc deleted file mode 100644 index 5e91bfb7..00000000 Binary files a/bin/docutils/languages/es.pyc and /dev/null differ diff --git a/bin/docutils/languages/fa.py b/bin/docutils/languages/fa.py index 48aa588d..58a30287 100644 --- a/bin/docutils/languages/fa.py +++ b/bin/docutils/languages/fa.py @@ -16,46 +16,46 @@ labels = { # fixed: language-dependent - u'author': u'نویسنده', - u'authors': u'نویسندگان', - u'organization': u'سازمان', - u'address': u'آدرس', - u'contact': u'تماس', - u'version': u'نسخه', - u'revision': u'بازبینی', - u'status': u'وضعیت', - u'date': u'تاریخ', - u'copyright': u'کپی‌رایت', - u'dedication': u'تخصیص', - u'abstract': u'چکیده', - u'attention': u'توجه!', - u'caution': u'احتیاط!', - u'danger': u'خطر!', - u'error': u'خطا', - u'hint': u'راهنما', - u'important': u'مهم', - u'note': u'یادداشت', - u'tip': u'نکته', - u'warning': u'اخطار', - u'contents': u'محتوا'} + 'author': 'نویسنده', + 'authors': 'نویسندگان', + 'organization': 'سازمان', + 'address': 'آدرس', + 'contact': 'تماس', + 'version': 'نسخه', + 'revision': 'بازبینی', + 'status': 'وضعیت', + 'date': 'تاریخ', + 'copyright': 'کپی‌رایت', + 'dedication': 'تخصیص', + 'abstract': 'چکیده', + 'attention': 'توجه!', + 'caution': 'احتیاط!', + 'danger': 'خطر!', + 'error': 'خطا', + 'hint': 'راهنما', + 'important': 'مهم', + 'note': 'یادداشت', + 'tip': 'نکته', + 'warning': 'اخطار', + 'contents': 'محتوا'} """Mapping of node class name to label text.""" bibliographic_fields = { # language-dependent: fixed - u'نویسنده': u'author', - u'نویسندگان': u'authors', - u'سازمان': u'organization', - u'آدرس': u'address', - u'تماس': u'contact', - u'نسخه': u'version', - u'بازبینی': u'revision', - u'وضعیت': u'status', - u'تاریخ': u'date', - u'کپی‌رایت': u'copyright', - u'تخصیص': u'dedication', - u'چکیده': u'abstract'} + 'نویسنده': 'author', + 'نویسندگان': 'authors', + 'سازمان': 'organization', + 'آدرس': 'address', + 'تماس': 'contact', + 'نسخه': 'version', + 'بازبینی': 'revision', + 'وضعیت': 'status', + 'تاریخ': 'date', + 'کپی‌رایت': 'copyright', + 'تخصیص': 'dedication', + 'چکیده': 'abstract'} """Persian (lowcased) to canonical name mapping for bibliographic fields.""" -author_separators = [u'؛', u'،'] +author_separators = ['؛', '،'] """List of separator strings for the 'Authors' bibliographic field. Tried in order.""" diff --git a/bin/docutils/languages/fa.pyc b/bin/docutils/languages/fa.pyc deleted file mode 100644 index 7000c0d8..00000000 Binary files a/bin/docutils/languages/fa.pyc and /dev/null differ diff --git a/bin/docutils/languages/fi.py b/bin/docutils/languages/fi.py index ad7e7675..95f61b5f 100644 --- a/bin/docutils/languages/fi.py +++ b/bin/docutils/languages/fi.py @@ -15,44 +15,44 @@ labels = { # fixed: language-dependent - u'author': u'Tekij\u00e4', - u'authors': u'Tekij\u00e4t', - u'organization': u'Yhteis\u00f6', - u'address': u'Osoite', - u'contact': u'Yhteystiedot', - u'version': u'Versio', - u'revision': u'Vedos', - u'status': u'Tila', - u'date': u'P\u00e4iv\u00e4ys', - u'copyright': u'Tekij\u00e4noikeudet', - u'dedication': u'Omistuskirjoitus', - u'abstract': u'Tiivistelm\u00e4', - u'attention': u'Huomio!', - u'caution': u'Varo!', - u'danger': u'!VAARA!', - u'error': u'Virhe', - u'hint': u'Vihje', - u'important': u'T\u00e4rke\u00e4\u00e4', - u'note': u'Huomautus', - u'tip': u'Neuvo', - u'warning': u'Varoitus', - u'contents': u'Sis\u00e4llys'} + 'author': 'Tekij\u00e4', + 'authors': 'Tekij\u00e4t', + 'organization': 'Yhteis\u00f6', + 'address': 'Osoite', + 'contact': 'Yhteystiedot', + 'version': 'Versio', + 'revision': 'Vedos', + 'status': 'Tila', + 'date': 'P\u00e4iv\u00e4ys', + 'copyright': 'Tekij\u00e4noikeudet', + 'dedication': 'Omistuskirjoitus', + 'abstract': 'Tiivistelm\u00e4', + 'attention': 'Huomio!', + 'caution': 'Varo!', + 'danger': '!VAARA!', + 'error': 'Virhe', + 'hint': 'Vihje', + 'important': 'T\u00e4rke\u00e4\u00e4', + 'note': 'Huomautus', + 'tip': 'Neuvo', + 'warning': 'Varoitus', + 'contents': 'Sis\u00e4llys'} """Mapping of node class name to label text.""" bibliographic_fields = { # language-dependent: fixed - u'tekij\u00e4': u'author', - u'tekij\u00e4t': u'authors', - u'yhteis\u00f6': u'organization', - u'osoite': u'address', - u'yhteystiedot': u'contact', - u'versio': u'version', - u'vedos': u'revision', - u'tila': u'status', - u'p\u00e4iv\u00e4ys': u'date', - u'tekij\u00e4noikeudet': u'copyright', - u'omistuskirjoitus': u'dedication', - u'tiivistelm\u00e4': u'abstract'} + 'tekij\u00e4': 'author', + 'tekij\u00e4t': 'authors', + 'yhteis\u00f6': 'organization', + 'osoite': 'address', + 'yhteystiedot': 'contact', + 'versio': 'version', + 'vedos': 'revision', + 'tila': 'status', + 'p\u00e4iv\u00e4ys': 'date', + 'tekij\u00e4noikeudet': 'copyright', + 'omistuskirjoitus': 'dedication', + 'tiivistelm\u00e4': 'abstract'} """Finnish (lowcased) to canonical name mapping for bibliographic fields.""" author_separators = [';', ','] diff --git a/bin/docutils/languages/fi.pyc b/bin/docutils/languages/fi.pyc deleted file mode 100644 index cab239fd..00000000 Binary files a/bin/docutils/languages/fi.pyc and /dev/null differ diff --git a/bin/docutils/languages/fr.py b/bin/docutils/languages/fr.py index d73e7130..77d96808 100644 --- a/bin/docutils/languages/fr.py +++ b/bin/docutils/languages/fr.py @@ -14,43 +14,43 @@ __docformat__ = 'reStructuredText' labels = { - u'author': u'Auteur', - u'authors': u'Auteurs', - u'organization': u'Organisation', - u'address': u'Adresse', - u'contact': u'Contact', - u'version': u'Version', - u'revision': u'R\u00e9vision', - u'status': u'Statut', - u'date': u'Date', - u'copyright': u'Copyright', - u'dedication': u'D\u00e9dicace', - u'abstract': u'R\u00e9sum\u00e9', - u'attention': u'Attention!', - u'caution': u'Avertissement!', - u'danger': u'!DANGER!', - u'error': u'Erreur', - u'hint': u'Indication', - u'important': u'Important', - u'note': u'Note', - u'tip': u'Astuce', - u'warning': u'Avis', - u'contents': u'Sommaire'} + 'author': 'Auteur', + 'authors': 'Auteurs', + 'organization': 'Organisation', + 'address': 'Adresse', + 'contact': 'Contact', + 'version': 'Version', + 'revision': 'R\u00e9vision', + 'status': 'Statut', + 'date': 'Date', + 'copyright': 'Copyright', + 'dedication': 'D\u00e9dicace', + 'abstract': 'R\u00e9sum\u00e9', + 'attention': 'Attention!', + 'caution': 'Avertissement!', + 'danger': '!DANGER!', + 'error': 'Erreur', + 'hint': 'Indication', + 'important': 'Important', + 'note': 'Note', + 'tip': 'Astuce', + 'warning': 'Avis', + 'contents': 'Sommaire'} """Mapping of node class name to label text.""" bibliographic_fields = { - u'auteur': u'author', - u'auteurs': u'authors', - u'organisation': u'organization', - u'adresse': u'address', - u'contact': u'contact', - u'version': u'version', - u'r\u00e9vision': u'revision', - u'statut': u'status', - u'date': u'date', - u'copyright': u'copyright', - u'd\u00e9dicace': u'dedication', - u'r\u00e9sum\u00e9': u'abstract'} + 'auteur': 'author', + 'auteurs': 'authors', + 'organisation': 'organization', + 'adresse': 'address', + 'contact': 'contact', + 'version': 'version', + 'r\u00e9vision': 'revision', + 'statut': 'status', + 'date': 'date', + 'copyright': 'copyright', + 'd\u00e9dicace': 'dedication', + 'r\u00e9sum\u00e9': 'abstract'} """French (lowcased) to canonical name mapping for bibliographic fields.""" author_separators = [';', ','] diff --git a/bin/docutils/languages/fr.pyc b/bin/docutils/languages/fr.pyc deleted file mode 100644 index e4c8bba1..00000000 Binary files a/bin/docutils/languages/fr.pyc and /dev/null differ diff --git a/bin/docutils/languages/gl.py b/bin/docutils/languages/gl.py index de65bc6a..b137056f 100644 --- a/bin/docutils/languages/gl.py +++ b/bin/docutils/languages/gl.py @@ -18,44 +18,44 @@ labels = { # fixed: language-dependent - 'author': u'Autor', - 'authors': u'Autores', - 'organization': u'Organizaci\u00f3n', - 'address': u'Enderezo', - 'contact': u'Contacto', - 'version': u'Versi\u00f3n', - 'revision': u'Revisi\u00f3n', - 'status': u'Estado', - 'date': u'Data', - 'copyright': u'Dereitos de copia', - 'dedication': u'Dedicatoria', - 'abstract': u'Abstract', - 'attention': u'Atenci\u00f3n!', - 'caution': u'Advertencia!', - 'danger': u'PERIGO!', - 'error': u'Erro', - 'hint': u'Consello', - 'important': u'Importante', - 'note': u'Nota', - 'tip': u'Suxesti\u00f3n', - 'warning': u'Aviso', - 'contents': u'Contido'} + 'author': 'Autor', + 'authors': 'Autores', + 'organization': 'Organizaci\u00f3n', + 'address': 'Enderezo', + 'contact': 'Contacto', + 'version': 'Versi\u00f3n', + 'revision': 'Revisi\u00f3n', + 'status': 'Estado', + 'date': 'Data', + 'copyright': 'Dereitos de copia', + 'dedication': 'Dedicatoria', + 'abstract': 'Abstract', + 'attention': 'Atenci\u00f3n!', + 'caution': 'Advertencia!', + 'danger': 'PERIGO!', + 'error': 'Erro', + 'hint': 'Consello', + 'important': 'Importante', + 'note': 'Nota', + 'tip': 'Suxesti\u00f3n', + 'warning': 'Aviso', + 'contents': 'Contido'} """Mapping of node class name to label text.""" bibliographic_fields = { # language-dependent: fixed - u'autor': 'author', - u'autores': 'authors', - u'organizaci\u00f3n': 'organization', - u'enderezo': 'address', - u'contacto': 'contact', - u'versi\u00f3n': 'version', - u'revisi\u00f3n': 'revision', - u'estado': 'status', - u'data': 'date', - u'dereitos de copia': 'copyright', - u'dedicatoria': 'dedication', - u'abstract': 'abstract'} + 'autor': 'author', + 'autores': 'authors', + 'organizaci\u00f3n': 'organization', + 'enderezo': 'address', + 'contacto': 'contact', + 'versi\u00f3n': 'version', + 'revisi\u00f3n': 'revision', + 'estado': 'status', + 'data': 'date', + 'dereitos de copia': 'copyright', + 'dedicatoria': 'dedication', + 'abstract': 'abstract'} """Galician (lowcased) to canonical name mapping for bibliographic fields.""" author_separators = [';', ','] diff --git a/bin/docutils/languages/gl.pyc b/bin/docutils/languages/gl.pyc deleted file mode 100644 index 6c8123db..00000000 Binary files a/bin/docutils/languages/gl.pyc and /dev/null differ diff --git a/bin/docutils/languages/he.py b/bin/docutils/languages/he.py index 5acbbeb3..d7f39b81 100644 --- a/bin/docutils/languages/he.py +++ b/bin/docutils/languages/he.py @@ -15,44 +15,44 @@ labels = { # fixed: language-dependent - 'author': u'\u05de\u05d7\u05d1\u05e8', - 'authors': u'\u05de\u05d7\u05d1\u05e8\u05d9', - 'organization': u'\u05d0\u05e8\u05d2\u05d5\u05df', - 'address': u'\u05db\u05ea\u05d5\u05d1\u05ea', - 'contact': u'\u05d0\u05d9\u05e9 \u05e7\u05e9\u05e8', - 'version': u'\u05d2\u05e8\u05e1\u05d4', - 'revision': u'\u05de\u05d4\u05d3\u05d5\u05e8\u05d4', - 'status': u'\u05e1\u05d8\u05d8\u05d5\u05e1', - 'date': u'\u05ea\u05d0\u05e8\u05d9\u05da', - 'copyright': u'\u05d6\u05db\u05d5\u05d9\u05d5\u05ea \u05e9\u05de\u05d5\u05e8\u05d5\u05ea', - 'dedication': u'\u05d4\u05e7\u05d3\u05e9\u05d4', - 'abstract': u'\u05ea\u05e7\u05e6\u05d9\u05e8', - 'attention': u'\u05ea\u05e9\u05d5\u05de\u05ea \u05dc\u05d1', - 'caution': u'\u05d6\u05d4\u05d9\u05e8\u05d5\u05ea', - 'danger': u'\u05e1\u05db\u05e0\u05d4', - 'error': u'\u05e9\u05d2\u05d9\u05d0\u05d4' , - 'hint': u'\u05e8\u05de\u05d6', - 'important': u'\u05d7\u05e9\u05d5\u05d1', - 'note': u'\u05d4\u05e2\u05e8\u05d4', - 'tip': u'\u05d8\u05d9\u05e4', - 'warning': u'\u05d0\u05d6\u05d4\u05e8\u05d4', - 'contents': u'\u05ea\u05d5\u05db\u05df'} + 'author': '\u05de\u05d7\u05d1\u05e8', + 'authors': '\u05de\u05d7\u05d1\u05e8\u05d9', + 'organization': '\u05d0\u05e8\u05d2\u05d5\u05df', + 'address': '\u05db\u05ea\u05d5\u05d1\u05ea', + 'contact': '\u05d0\u05d9\u05e9 \u05e7\u05e9\u05e8', + 'version': '\u05d2\u05e8\u05e1\u05d4', + 'revision': '\u05de\u05d4\u05d3\u05d5\u05e8\u05d4', + 'status': '\u05e1\u05d8\u05d8\u05d5\u05e1', + 'date': '\u05ea\u05d0\u05e8\u05d9\u05da', + 'copyright': '\u05d6\u05db\u05d5\u05d9\u05d5\u05ea \u05e9\u05de\u05d5\u05e8\u05d5\u05ea', + 'dedication': '\u05d4\u05e7\u05d3\u05e9\u05d4', + 'abstract': '\u05ea\u05e7\u05e6\u05d9\u05e8', + 'attention': '\u05ea\u05e9\u05d5\u05de\u05ea \u05dc\u05d1', + 'caution': '\u05d6\u05d4\u05d9\u05e8\u05d5\u05ea', + 'danger': '\u05e1\u05db\u05e0\u05d4', + 'error': '\u05e9\u05d2\u05d9\u05d0\u05d4' , + 'hint': '\u05e8\u05de\u05d6', + 'important': '\u05d7\u05e9\u05d5\u05d1', + 'note': '\u05d4\u05e2\u05e8\u05d4', + 'tip': '\u05d8\u05d9\u05e4', + 'warning': '\u05d0\u05d6\u05d4\u05e8\u05d4', + 'contents': '\u05ea\u05d5\u05db\u05df'} """Mapping of node class name to label text.""" bibliographic_fields = { # language-dependent: fixed - u'\u05de\u05d7\u05d1\u05e8': 'author', - u'\u05de\u05d7\u05d1\u05e8\u05d9': 'authors', - u'\u05d0\u05e8\u05d2\u05d5\u05df': 'organization', - u'\u05db\u05ea\u05d5\u05d1\u05ea': 'address', - u'\u05d0\u05d9\u05e9 \u05e7\u05e9\u05e8': 'contact', - u'\u05d2\u05e8\u05e1\u05d4': 'version', - u'\u05de\u05d4\u05d3\u05d5\u05e8\u05d4': 'revision', - u'\u05e1\u05d8\u05d8\u05d5\u05e1': 'status', - u'\u05ea\u05d0\u05e8\u05d9\u05da': 'date', - u'\u05d6\u05db\u05d5\u05d9\u05d5\u05ea \u05e9\u05de\u05d5\u05e8\u05d5\u05ea': 'copyright', - u'\u05d4\u05e7\u05d3\u05e9\u05d4': 'dedication', - u'\u05ea\u05e7\u05e6\u05d9\u05e8': 'abstract'} + '\u05de\u05d7\u05d1\u05e8': 'author', + '\u05de\u05d7\u05d1\u05e8\u05d9': 'authors', + '\u05d0\u05e8\u05d2\u05d5\u05df': 'organization', + '\u05db\u05ea\u05d5\u05d1\u05ea': 'address', + '\u05d0\u05d9\u05e9 \u05e7\u05e9\u05e8': 'contact', + '\u05d2\u05e8\u05e1\u05d4': 'version', + '\u05de\u05d4\u05d3\u05d5\u05e8\u05d4': 'revision', + '\u05e1\u05d8\u05d8\u05d5\u05e1': 'status', + '\u05ea\u05d0\u05e8\u05d9\u05da': 'date', + '\u05d6\u05db\u05d5\u05d9\u05d5\u05ea \u05e9\u05de\u05d5\u05e8\u05d5\u05ea': 'copyright', + '\u05d4\u05e7\u05d3\u05e9\u05d4': 'dedication', + '\u05ea\u05e7\u05e6\u05d9\u05e8': 'abstract'} """Hebrew to canonical name mapping for bibliographic fields.""" author_separators = [';', ','] diff --git a/bin/docutils/languages/he.pyc b/bin/docutils/languages/he.pyc deleted file mode 100644 index 3c7d928b..00000000 Binary files a/bin/docutils/languages/he.pyc and /dev/null differ diff --git a/bin/docutils/languages/it.pyc b/bin/docutils/languages/it.pyc deleted file mode 100644 index dadac9e8..00000000 Binary files a/bin/docutils/languages/it.pyc and /dev/null differ diff --git a/bin/docutils/languages/ja.py b/bin/docutils/languages/ja.py index 2af8c334..f25fb59b 100644 --- a/bin/docutils/languages/ja.py +++ b/bin/docutils/languages/ja.py @@ -16,44 +16,44 @@ labels = { # fixed: language-dependent - 'author': u'著者', - 'authors': u'著者', - 'organization': u'組織', - 'address': u'住所', - 'contact': u'連絡先', - 'version': u'バージョン', - 'revision': u'リビジョン', - 'status': u'ステータス', - 'date': u'日付', - 'copyright': u'著作権', - 'dedication': u'献辞', - 'abstract': u'概要', - 'attention': u'注目!', - 'caution': u'注意!', - 'danger': u'!危険!', - 'error': u'エラー', - 'hint': u'ヒント', - 'important': u'重要', - 'note': u'備考', - 'tip': u'通報', - 'warning': u'警告', - 'contents': u'目次'} + 'author': '著者', + 'authors': '著者', + 'organization': '組織', + 'address': '住所', + 'contact': '連絡先', + 'version': 'バージョン', + 'revision': 'リビジョン', + 'status': 'ステータス', + 'date': '日付', + 'copyright': '著作権', + 'dedication': '献辞', + 'abstract': '概要', + 'attention': '注目!', + 'caution': '注意!', + 'danger': '!危険!', + 'error': 'エラー', + 'hint': 'ヒント', + 'important': '重要', + 'note': '備考', + 'tip': '通報', + 'warning': '警告', + 'contents': '目次'} """Mapping of node class name to label text.""" bibliographic_fields = { # language-dependent: fixed - u'著者': 'author', - u' n/a': 'authors', - u'組織': 'organization', - u'住所': 'address', - u'連絡先': 'contact', - u'バージョン': 'version', - u'リビジョン': 'revision', - u'ステータス': 'status', - u'日付': 'date', - u'著作権': 'copyright', - u'献辞': 'dedication', - u'概要': 'abstract'} + '著者': 'author', + ' n/a': 'authors', + '組織': 'organization', + '住所': 'address', + '連絡先': 'contact', + 'バージョン': 'version', + 'リビジョン': 'revision', + 'ステータス': 'status', + '日付': 'date', + '著作権': 'copyright', + '献辞': 'dedication', + '概要': 'abstract'} """Japanese (lowcased) to canonical name mapping for bibliographic fields.""" author_separators = [';', ','] diff --git a/bin/docutils/languages/ja.pyc b/bin/docutils/languages/ja.pyc deleted file mode 100644 index bfc78c80..00000000 Binary files a/bin/docutils/languages/ja.pyc and /dev/null differ diff --git a/bin/docutils/languages/lt.py b/bin/docutils/languages/lt.py index c5c3fdc6..b1122707 100644 --- a/bin/docutils/languages/lt.py +++ b/bin/docutils/languages/lt.py @@ -23,20 +23,20 @@ 'contact': 'Kontaktas', 'version': 'Versija', 'revision': 'Revizija', - 'status': u'Būsena', + 'status': 'Būsena', 'date': 'Data', - 'copyright': u'Autoriaus teisės', + 'copyright': 'Autoriaus teisės', 'dedication': 'Dedikacija', 'abstract': 'Santrauka', - 'attention': u'Dėmesio!', + 'attention': 'Dėmesio!', 'caution': 'Atsargiai!', 'danger': '!PAVOJINGA!', 'error': 'Klaida', - 'hint': u'Užuomina', + 'hint': 'Užuomina', 'important': 'Svarbu', 'note': 'Pastaba', 'tip': 'Patarimas', - 'warning': u'Įspėjimas', + 'warning': 'Įspėjimas', 'contents': 'Turinys'} """Mapping of node class name to label text.""" diff --git a/bin/docutils/languages/lt.pyc b/bin/docutils/languages/lt.pyc deleted file mode 100644 index 27142c79..00000000 Binary files a/bin/docutils/languages/lt.pyc and /dev/null differ diff --git a/bin/docutils/languages/lv.pyc b/bin/docutils/languages/lv.pyc deleted file mode 100644 index eed9abc0..00000000 Binary files a/bin/docutils/languages/lv.pyc and /dev/null differ diff --git a/bin/docutils/languages/nl.pyc b/bin/docutils/languages/nl.pyc deleted file mode 100644 index e9b3548c..00000000 Binary files a/bin/docutils/languages/nl.pyc and /dev/null differ diff --git a/bin/docutils/languages/pl.py b/bin/docutils/languages/pl.py index dfe86ece..6fbfa8d4 100644 --- a/bin/docutils/languages/pl.py +++ b/bin/docutils/languages/pl.py @@ -15,44 +15,44 @@ labels = { # fixed: language-dependent - 'author': u'Autor', - 'authors': u'Autorzy', - 'organization': u'Organizacja', - 'address': u'Adres', - 'contact': u'Kontakt', - 'version': u'Wersja', - 'revision': u'Korekta', - 'status': u'Status', - 'date': u'Data', - 'copyright': u'Copyright', - 'dedication': u'Dedykacja', - 'abstract': u'Streszczenie', - 'attention': u'Uwaga!', - 'caution': u'Ostro\u017cnie!', - 'danger': u'!Niebezpiecze\u0144stwo!', - 'error': u'B\u0142\u0105d', - 'hint': u'Wskaz\u00f3wka', - 'important': u'Wa\u017cne', - 'note': u'Przypis', - 'tip': u'Rada', - 'warning': u'Ostrze\u017cenie', - 'contents': u'Tre\u015b\u0107'} + 'author': 'Autor', + 'authors': 'Autorzy', + 'organization': 'Organizacja', + 'address': 'Adres', + 'contact': 'Kontakt', + 'version': 'Wersja', + 'revision': 'Korekta', + 'status': 'Status', + 'date': 'Data', + 'copyright': 'Copyright', + 'dedication': 'Dedykacja', + 'abstract': 'Streszczenie', + 'attention': 'Uwaga!', + 'caution': 'Ostro\u017cnie!', + 'danger': '!Niebezpiecze\u0144stwo!', + 'error': 'B\u0142\u0105d', + 'hint': 'Wskaz\u00f3wka', + 'important': 'Wa\u017cne', + 'note': 'Przypis', + 'tip': 'Rada', + 'warning': 'Ostrze\u017cenie', + 'contents': 'Tre\u015b\u0107'} """Mapping of node class name to label text.""" bibliographic_fields = { # language-dependent: fixed - u'autor': 'author', - u'autorzy': 'authors', - u'organizacja': 'organization', - u'adres': 'address', - u'kontakt': 'contact', - u'wersja': 'version', - u'korekta': 'revision', - u'status': 'status', - u'data': 'date', - u'copyright': 'copyright', - u'dedykacja': 'dedication', - u'streszczenie': 'abstract'} + 'autor': 'author', + 'autorzy': 'authors', + 'organizacja': 'organization', + 'adres': 'address', + 'kontakt': 'contact', + 'wersja': 'version', + 'korekta': 'revision', + 'status': 'status', + 'data': 'date', + 'copyright': 'copyright', + 'dedykacja': 'dedication', + 'streszczenie': 'abstract'} """Polish (lowcased) to canonical name mapping for bibliographic fields.""" author_separators = [';', ','] diff --git a/bin/docutils/languages/pl.pyc b/bin/docutils/languages/pl.pyc deleted file mode 100644 index 33f087eb..00000000 Binary files a/bin/docutils/languages/pl.pyc and /dev/null differ diff --git a/bin/docutils/languages/pt_br.py b/bin/docutils/languages/pt_br.py index 108a4bff..9665aaa5 100644 --- a/bin/docutils/languages/pt_br.py +++ b/bin/docutils/languages/pt_br.py @@ -15,44 +15,44 @@ labels = { # fixed: language-dependent - 'author': u'Autor', - 'authors': u'Autores', - 'organization': u'Organiza\u00E7\u00E3o', - 'address': u'Endere\u00E7o', - 'contact': u'Contato', - 'version': u'Vers\u00E3o', - 'revision': u'Revis\u00E3o', - 'status': u'Estado', - 'date': u'Data', - 'copyright': u'Copyright', - 'dedication': u'Dedicat\u00F3ria', - 'abstract': u'Resumo', - 'attention': u'Aten\u00E7\u00E3o!', - 'caution': u'Cuidado!', - 'danger': u'PERIGO!', - 'error': u'Erro', - 'hint': u'Sugest\u00E3o', - 'important': u'Importante', - 'note': u'Nota', - 'tip': u'Dica', - 'warning': u'Aviso', - 'contents': u'Sum\u00E1rio'} + 'author': 'Autor', + 'authors': 'Autores', + 'organization': 'Organiza\u00E7\u00E3o', + 'address': 'Endere\u00E7o', + 'contact': 'Contato', + 'version': 'Vers\u00E3o', + 'revision': 'Revis\u00E3o', + 'status': 'Estado', + 'date': 'Data', + 'copyright': 'Copyright', + 'dedication': 'Dedicat\u00F3ria', + 'abstract': 'Resumo', + 'attention': 'Aten\u00E7\u00E3o!', + 'caution': 'Cuidado!', + 'danger': 'PERIGO!', + 'error': 'Erro', + 'hint': 'Sugest\u00E3o', + 'important': 'Importante', + 'note': 'Nota', + 'tip': 'Dica', + 'warning': 'Aviso', + 'contents': 'Sum\u00E1rio'} """Mapping of node class name to label text.""" bibliographic_fields = { # language-dependent: fixed - u'autor': 'author', - u'autores': 'authors', - u'organiza\u00E7\u00E3o': 'organization', - u'endere\u00E7o': 'address', - u'contato': 'contact', - u'vers\u00E3o': 'version', - u'revis\u00E3o': 'revision', - u'estado': 'status', - u'data': 'date', - u'copyright': 'copyright', - u'dedicat\u00F3ria': 'dedication', - u'resumo': 'abstract'} + 'autor': 'author', + 'autores': 'authors', + 'organiza\u00E7\u00E3o': 'organization', + 'endere\u00E7o': 'address', + 'contato': 'contact', + 'vers\u00E3o': 'version', + 'revis\u00E3o': 'revision', + 'estado': 'status', + 'data': 'date', + 'copyright': 'copyright', + 'dedicat\u00F3ria': 'dedication', + 'resumo': 'abstract'} """Brazilian Portuguese (lowcased) to canonical name mapping for bibliographic fields.""" author_separators = [';', ','] diff --git a/bin/docutils/languages/pt_br.pyc b/bin/docutils/languages/pt_br.pyc deleted file mode 100644 index 9e684c88..00000000 Binary files a/bin/docutils/languages/pt_br.pyc and /dev/null differ diff --git a/bin/docutils/languages/ru.py b/bin/docutils/languages/ru.py index 35f089c4..83046cd0 100644 --- a/bin/docutils/languages/ru.py +++ b/bin/docutils/languages/ru.py @@ -15,43 +15,43 @@ __docformat__ = 'reStructuredText' labels = { - u'abstract': u'Аннотация', - u'address': u'Адрес', - u'attention': u'Внимание!', - u'author': u'Автор', - u'authors': u'Авторы', - u'caution': u'Осторожно!', - u'contact': u'Контакт', - u'contents': u'Содержание', - u'copyright': u'Права копирования', - u'danger': u'ОПАСНО!', - u'date': u'Дата', - u'dedication': u'Посвящение', - u'error': u'Ошибка', - u'hint': u'Совет', - u'important': u'Важно', - u'note': u'Примечание', - u'organization': u'Организация', - u'revision': u'Редакция', - u'status': u'Статус', - u'tip': u'Подсказка', - u'version': u'Версия', - u'warning': u'Предупреждение'} + 'abstract': 'Аннотация', + 'address': 'Адрес', + 'attention': 'Внимание!', + 'author': 'Автор', + 'authors': 'Авторы', + 'caution': 'Осторожно!', + 'contact': 'Контакт', + 'contents': 'Содержание', + 'copyright': 'Права копирования', + 'danger': 'ОПАСНО!', + 'date': 'Дата', + 'dedication': 'Посвящение', + 'error': 'Ошибка', + 'hint': 'Совет', + 'important': 'Важно', + 'note': 'Примечание', + 'organization': 'Организация', + 'revision': 'Редакция', + 'status': 'Статус', + 'tip': 'Подсказка', + 'version': 'Версия', + 'warning': 'Предупреждение'} """Mapping of node class name to label text.""" bibliographic_fields = { - u'аннотация': u'abstract', - u'адрес': u'address', - u'автор': u'author', - u'авторы': u'authors', - u'контакт': u'contact', - u'права копирования': u'copyright', - u'дата': u'date', - u'посвящение': u'dedication', - u'организация': u'organization', - u'редакция': u'revision', - u'статус': u'status', - u'версия': u'version'} + 'аннотация': 'abstract', + 'адрес': 'address', + 'автор': 'author', + 'авторы': 'authors', + 'контакт': 'contact', + 'права копирования': 'copyright', + 'дата': 'date', + 'посвящение': 'dedication', + 'организация': 'organization', + 'редакция': 'revision', + 'статус': 'status', + 'версия': 'version'} """Russian (lowcased) to canonical name mapping for bibliographic fields.""" author_separators = [';', ','] diff --git a/bin/docutils/languages/ru.pyc b/bin/docutils/languages/ru.pyc deleted file mode 100644 index 168c910e..00000000 Binary files a/bin/docutils/languages/ru.pyc and /dev/null differ diff --git a/bin/docutils/languages/sk.py b/bin/docutils/languages/sk.py index 952679a0..3eeb89a9 100644 --- a/bin/docutils/languages/sk.py +++ b/bin/docutils/languages/sk.py @@ -14,43 +14,43 @@ __docformat__ = 'reStructuredText' labels = { - 'author': u'Autor', - 'authors': u'Autori', - 'organization': u'Organiz\u00E1cia', - 'address': u'Adresa', - 'contact': u'Kontakt', - 'version': u'Verzia', - 'revision': u'Rev\u00EDzia', - 'status': u'Stav', - 'date': u'D\u00E1tum', - 'copyright': u'Copyright', - 'dedication': u'Venovanie', - 'abstract': u'Abstraktne', - 'attention': u'Pozor!', - 'caution': u'Opatrne!', - 'danger': u'!NEBEZPE\u010cENSTVO!', - 'error': u'Chyba', - 'hint': u'Rada', - 'important': u'D\u00F4le\u017Eit\u00E9', - 'note': u'Pozn\u00E1mka', - 'tip': u'Tip', - 'warning': u'Varovanie', - 'contents': u'Obsah'} + 'author': 'Autor', + 'authors': 'Autori', + 'organization': 'Organiz\u00E1cia', + 'address': 'Adresa', + 'contact': 'Kontakt', + 'version': 'Verzia', + 'revision': 'Rev\u00EDzia', + 'status': 'Stav', + 'date': 'D\u00E1tum', + 'copyright': 'Copyright', + 'dedication': 'Venovanie', + 'abstract': 'Abstraktne', + 'attention': 'Pozor!', + 'caution': 'Opatrne!', + 'danger': '!NEBEZPE\u010cENSTVO!', + 'error': 'Chyba', + 'hint': 'Rada', + 'important': 'D\u00F4le\u017Eit\u00E9', + 'note': 'Pozn\u00E1mka', + 'tip': 'Tip', + 'warning': 'Varovanie', + 'contents': 'Obsah'} """Mapping of node class name to label text.""" bibliographic_fields = { - u'autor': 'author', - u'autori': 'authors', - u'organiz\u00E1cia': 'organization', - u'adresa': 'address', - u'kontakt': 'contact', - u'verzia': 'version', - u'rev\u00EDzia': 'revision', - u'stav': 'status', - u'd\u00E1tum': 'date', - u'copyright': 'copyright', - u'venovanie': 'dedication', - u'abstraktne': 'abstract'} + 'autor': 'author', + 'autori': 'authors', + 'organiz\u00E1cia': 'organization', + 'adresa': 'address', + 'kontakt': 'contact', + 'verzia': 'version', + 'rev\u00EDzia': 'revision', + 'stav': 'status', + 'd\u00E1tum': 'date', + 'copyright': 'copyright', + 'venovanie': 'dedication', + 'abstraktne': 'abstract'} """Slovak (lowcased) to canonical name mapping for bibliographic fields.""" author_separators = [';', ','] diff --git a/bin/docutils/languages/sk.pyc b/bin/docutils/languages/sk.pyc deleted file mode 100644 index aa7a0694..00000000 Binary files a/bin/docutils/languages/sk.pyc and /dev/null differ diff --git a/bin/docutils/languages/sv.py b/bin/docutils/languages/sv.py index dfc0aebb..c266e4b0 100644 --- a/bin/docutils/languages/sv.py +++ b/bin/docutils/languages/sv.py @@ -15,44 +15,44 @@ __docformat__ = 'reStructuredText' labels = { - 'author': u'Författare', - 'authors': u'Författare', - 'organization': u'Organisation', - 'address': u'Adress', - 'contact': u'Kontakt', - 'version': u'Version', - 'revision': u'Revision', - 'status': u'Status', - 'date': u'Datum', - 'copyright': u'Copyright', - 'dedication': u'Dedikation', - 'abstract': u'Sammanfattning', - 'attention': u'Observera!', - 'caution': u'Akta!', # 'Varning' already used for 'warning' - 'danger': u'FARA!', - 'error': u'Fel', - 'hint': u'Vink', - 'important': u'Viktigt', - 'note': u'Notera', - 'tip': u'Tips', - 'warning': u'Varning', - 'contents': u'Innehåll' } + 'author': 'Författare', + 'authors': 'Författare', + 'organization': 'Organisation', + 'address': 'Adress', + 'contact': 'Kontakt', + 'version': 'Version', + 'revision': 'Revision', + 'status': 'Status', + 'date': 'Datum', + 'copyright': 'Copyright', + 'dedication': 'Dedikation', + 'abstract': 'Sammanfattning', + 'attention': 'Observera!', + 'caution': 'Akta!', # 'Varning' already used for 'warning' + 'danger': 'FARA!', + 'error': 'Fel', + 'hint': 'Vink', + 'important': 'Viktigt', + 'note': 'Notera', + 'tip': 'Tips', + 'warning': 'Varning', + 'contents': 'Innehåll' } """Mapping of node class name to label text.""" bibliographic_fields = { # 'Author' and 'Authors' identical in Swedish; assume the plural: - u'författare': 'authors', - u' n/a': 'author', - u'organisation': 'organization', - u'adress': 'address', - u'kontakt': 'contact', - u'version': 'version', - u'revision': 'revision', - u'status': 'status', - u'datum': 'date', - u'copyright': 'copyright', - u'dedikation': 'dedication', - u'sammanfattning': 'abstract' } + 'författare': 'authors', + ' n/a': 'author', + 'organisation': 'organization', + 'adress': 'address', + 'kontakt': 'contact', + 'version': 'version', + 'revision': 'revision', + 'status': 'status', + 'datum': 'date', + 'copyright': 'copyright', + 'dedikation': 'dedication', + 'sammanfattning': 'abstract' } """Swedish (lowcased) to canonical name mapping for bibliographic fields.""" author_separators = [';', ','] diff --git a/bin/docutils/languages/sv.pyc b/bin/docutils/languages/sv.pyc deleted file mode 100644 index f000dca0..00000000 Binary files a/bin/docutils/languages/sv.pyc and /dev/null differ diff --git a/bin/docutils/languages/zh_cn.py b/bin/docutils/languages/zh_cn.py index 66d13ca2..1d0002a2 100644 --- a/bin/docutils/languages/zh_cn.py +++ b/bin/docutils/languages/zh_cn.py @@ -17,51 +17,51 @@ labels = { # fixed: language-dependent - 'author': u'作者', - 'authors': u'作者群', - 'organization': u'组织', - 'address': u'地址', - 'contact': u'联系', - 'version': u'版本', - 'revision': u'修订', - 'status': u'状态', - 'date': u'日期', - 'copyright': u'版权', - 'dedication': u'献辞', - 'abstract': u'摘要', - 'attention': u'注意', - 'caution': u'小心', - 'danger': u'危险', - 'error': u'错误', - 'hint': u'提示', - 'important': u'重要', - 'note': u'注解', - 'tip': u'技巧', - 'warning': u'警告', - 'contents': u'目录', + 'author': '作者', + 'authors': '作者群', + 'organization': '组织', + 'address': '地址', + 'contact': '联系', + 'version': '版本', + 'revision': '修订', + 'status': '状态', + 'date': '日期', + 'copyright': '版权', + 'dedication': '献辞', + 'abstract': '摘要', + 'attention': '注意', + 'caution': '小心', + 'danger': '危险', + 'error': '错误', + 'hint': '提示', + 'important': '重要', + 'note': '注解', + 'tip': '技巧', + 'warning': '警告', + 'contents': '目录', } """Mapping of node class name to label text.""" bibliographic_fields = { # language-dependent: fixed - u'作者': 'author', - u'作者群': 'authors', - u'组织': 'organization', - u'地址': 'address', - u'联系': 'contact', - u'版本': 'version', - u'修订': 'revision', - u'状态': 'status', - u'时间': 'date', - u'版权': 'copyright', - u'献辞': 'dedication', - u'摘要': 'abstract'} + '作者': 'author', + '作者群': 'authors', + '组织': 'organization', + '地址': 'address', + '联系': 'contact', + '版本': 'version', + '修订': 'revision', + '状态': 'status', + '时间': 'date', + '版权': 'copyright', + '献辞': 'dedication', + '摘要': 'abstract'} """Simplified Chinese to canonical name mapping for bibliographic fields.""" author_separators = [';', ',', - u'\uff1b', # ';' - u'\uff0c', # ',' - u'\u3001', # '、' + '\uff1b', # ';' + '\uff0c', # ',' + '\u3001', # '、' ] """List of separator strings for the 'Authors' bibliographic field. Tried in order.""" diff --git a/bin/docutils/languages/zh_cn.pyc b/bin/docutils/languages/zh_cn.pyc deleted file mode 100644 index 185a9b59..00000000 Binary files a/bin/docutils/languages/zh_cn.pyc and /dev/null differ diff --git a/bin/docutils/languages/zh_tw.py b/bin/docutils/languages/zh_tw.py index 9b7a1236..e7412ae9 100644 --- a/bin/docutils/languages/zh_tw.py +++ b/bin/docutils/languages/zh_tw.py @@ -16,28 +16,28 @@ labels = { # fixed: language-dependent - 'author': u'\u4f5c\u8005', # '作者' <-- Chinese word - 'authors': u'\u4f5c\u8005\u7fa4', # '作者群', - 'organization': u'\u7d44\u7e54', # '組織', - 'address': u'\u5730\u5740', # '地址', - 'contact': u'\u9023\u7d61', # '連絡', - 'version': u'\u7248\u672c', # '版本', - 'revision': u'\u4fee\u8a02', # '修訂', - 'status': u'\u72c0\u614b', # '狀態', - 'date': u'\u65e5\u671f', # '日期', - 'copyright': u'\u7248\u6b0a', # '版權', - 'dedication': u'\u984c\u737b', # '題獻', - 'abstract': u'\u6458\u8981', # '摘要', - 'attention': u'\u6ce8\u610f\uff01', # '注意!', - 'caution': u'\u5c0f\u5fc3\uff01', # '小心!', - 'danger': u'\uff01\u5371\u96aa\uff01', # '!危險!', - 'error': u'\u932f\u8aa4', # '錯誤', - 'hint': u'\u63d0\u793a', # '提示', - 'important': u'\u91cd\u8981', # '注意!', - 'note': u'\u8a3b\u91cb', # '註釋', - 'tip': u'\u79d8\u8a23', # '秘訣', - 'warning': u'\u8b66\u544a', # '警告', - 'contents': u'\u76ee\u9304' # '目錄' + 'author': '\u4f5c\u8005', # '作者' <-- Chinese word + 'authors': '\u4f5c\u8005\u7fa4', # '作者群', + 'organization': '\u7d44\u7e54', # '組織', + 'address': '\u5730\u5740', # '地址', + 'contact': '\u9023\u7d61', # '連絡', + 'version': '\u7248\u672c', # '版本', + 'revision': '\u4fee\u8a02', # '修訂', + 'status': '\u72c0\u614b', # '狀態', + 'date': '\u65e5\u671f', # '日期', + 'copyright': '\u7248\u6b0a', # '版權', + 'dedication': '\u984c\u737b', # '題獻', + 'abstract': '\u6458\u8981', # '摘要', + 'attention': '\u6ce8\u610f\uff01', # '注意!', + 'caution': '\u5c0f\u5fc3\uff01', # '小心!', + 'danger': '\uff01\u5371\u96aa\uff01', # '!危險!', + 'error': '\u932f\u8aa4', # '錯誤', + 'hint': '\u63d0\u793a', # '提示', + 'important': '\u91cd\u8981', # '注意!', + 'note': '\u8a3b\u91cb', # '註釋', + 'tip': '\u79d8\u8a23', # '秘訣', + 'warning': '\u8b66\u544a', # '警告', + 'contents': '\u76ee\u9304' # '目錄' } """Mapping of node class name to label text.""" @@ -58,9 +58,9 @@ """Traditional Chinese to canonical name mapping for bibliographic fields.""" author_separators = [';', ',', - u'\uff1b', # ';' - u'\uff0c', # ',' - u'\u3001', # '、' + '\uff1b', # ';' + '\uff0c', # ',' + '\u3001', # '、' ] """List of separator strings for the 'Authors' bibliographic field. Tried in order.""" diff --git a/bin/docutils/languages/zh_tw.pyc b/bin/docutils/languages/zh_tw.pyc deleted file mode 100644 index 6e236f16..00000000 Binary files a/bin/docutils/languages/zh_tw.pyc and /dev/null differ diff --git a/bin/docutils/nodes.py b/bin/docutils/nodes.py index 8628e9c2..83e2ff60 100644 --- a/bin/docutils/nodes.py +++ b/bin/docutils/nodes.py @@ -49,7 +49,7 @@ class Node(object): line = None """The line number (1-based) of the beginning of this Node in `source`.""" - def __nonzero__(self): + def __bool__(self): """ Node instances are always true, even if they're empty. A node is more than a simple container. Its boolean "truth" does not depend on @@ -64,7 +64,7 @@ def __nonzero__(self): # on 2.x, str(node) will be a byte string with Unicode # characters > 255 escaped; on 3.x this is no longer necessary def __str__(self): - return unicode(self).encode('raw_unicode_escape') + return str(self).encode('raw_unicode_escape') def asdom(self, dom=None): """Return a DOM **fragment** representation of this Node.""" @@ -248,11 +248,11 @@ def traverse(self, condition=None, include_self=True, descend=True, if include_self and descend and not siblings: if condition is None: return self._all_traverse() - elif isinstance(condition, (types.ClassType, type)): + elif isinstance(condition, type): return self._fast_traverse(condition) # Check if `condition` is a class (check for TypeType for Python # implementations that use only new-style classes, like PyPy). - if isinstance(condition, (types.ClassType, type)): + if isinstance(condition, type): node_class = condition def condition(node, node_class=node_class): return isinstance(node, node_class) @@ -297,24 +297,24 @@ def next_node(self, condition=None, include_self=False, descend=True, return None if sys.version_info < (3,): - class reprunicode(unicode): + class reprunicode(str): """ A unicode sub-class that removes the initial u from unicode's repr. """ def __repr__(self): - return unicode.__repr__(self)[1:] + return str.__repr__(self)[1:] else: - reprunicode = unicode + reprunicode = str def ensure_str(s): """ Failsave conversion of `unicode` to `str`. """ - if sys.version_info < (3,) and isinstance(s, unicode): + if sys.version_info < (3,) and isinstance(s, str): return s.encode('ascii', 'backslashreplace') return s @@ -358,7 +358,7 @@ def __repr__(self): return self.shortrepr(maxlen=68) def _dom_node(self, domroot): - return domroot.createTextNode(unicode(self)) + return domroot.createTextNode(str(self)) def astext(self): return reprunicode(self) @@ -473,7 +473,7 @@ def __init__(self, rawsource='', *children, **attributes): for att in self.list_attributes: self.attributes[att] = [] - for att, value in attributes.items(): + for att, value in list(attributes.items()): att = att.lower() if att in self.list_attributes: # mutable list; make a copy for this node @@ -516,8 +516,8 @@ def shortrepr(self): def __unicode__(self): if self.children: - return u'%s%s%s' % (self.starttag(), - ''.join([unicode(c) for c in self.children]), + return '%s%s%s' % (self.starttag(), + ''.join([str(c) for c in self.children]), self.endtag()) else: return self.emptytag() @@ -539,16 +539,16 @@ def starttag(self, quoteattr=None): values = [serial_escape('%s' % (v,)) for v in value] value = ' '.join(values) else: - value = unicode(value) + value = str(value) value = quoteattr(value) - parts.append(u'%s=%s' % (name, value)) - return u'<%s>' % u' '.join(parts) + parts.append('%s=%s' % (name, value)) + return '<%s>' % ' '.join(parts) def endtag(self): return '' % self.tagname def emptytag(self): - return u'<%s/>' % u' '.join([self.tagname] + + return '<%s/>' % ' '.join([self.tagname] + ['%s="%s"' % (n, v) for n, v in self.attlist()]) @@ -558,47 +558,47 @@ def __len__(self): def __contains__(self, key): # support both membership test for children and attributes # (has_key is translated to "in" by 2to3) - if isinstance(key, basestring): + if isinstance(key, str): return key in self.attributes return key in self.children def __getitem__(self, key): - if isinstance(key, basestring): + if isinstance(key, str): return self.attributes[key] elif isinstance(key, int): return self.children[key] - elif isinstance(key, types.SliceType): + elif isinstance(key, slice): assert key.step in (None, 1), 'cannot handle slice with stride' return self.children[key.start:key.stop] else: - raise TypeError, ('element index must be an integer, a slice, or ' + raise TypeError('element index must be an integer, a slice, or ' 'an attribute name string') def __setitem__(self, key, item): - if isinstance(key, basestring): + if isinstance(key, str): self.attributes[str(key)] = item elif isinstance(key, int): self.setup_child(item) self.children[key] = item - elif isinstance(key, types.SliceType): + elif isinstance(key, slice): assert key.step in (None, 1), 'cannot handle slice with stride' for node in item: self.setup_child(node) self.children[key.start:key.stop] = item else: - raise TypeError, ('element index must be an integer, a slice, or ' + raise TypeError('element index must be an integer, a slice, or ' 'an attribute name string') def __delitem__(self, key): - if isinstance(key, basestring): + if isinstance(key, str): del self.attributes[key] elif isinstance(key, int): del self.children[key] - elif isinstance(key, types.SliceType): + elif isinstance(key, slice): assert key.step in (None, 1), 'cannot handle slice with stride' del self.children[key.start:key.stop] else: - raise TypeError, ('element index must be an integer, a simple ' + raise TypeError('element index must be an integer, a simple ' 'slice, or an attribute name string') def __add__(self, other): @@ -621,13 +621,13 @@ def astext(self): def non_default_attributes(self): atts = {} - for key, value in self.attributes.items(): + for key, value in list(self.attributes.items()): if self.is_not_default(key): atts[key] = value return atts def attlist(self): - attlist = self.non_default_attributes().items() + attlist = list(self.non_default_attributes().items()) attlist.sort() return attlist @@ -954,7 +954,7 @@ def replace_self(self, new): 'Losing "%s" attribute: %s' % (att, self[att]) self.parent.replace(self, new) - def first_child_matching_class(self, childclass, start=0, end=sys.maxint): + def first_child_matching_class(self, childclass, start=0, end=sys.maxsize): """ Return the index of the first child whose class exactly matches. @@ -974,7 +974,7 @@ def first_child_matching_class(self, childclass, start=0, end=sys.maxint): return None def first_child_not_matching_class(self, childclass, start=0, - end=sys.maxint): + end=sys.maxsize): """ Return the index of the first child whose class does *not* match. @@ -1674,12 +1674,12 @@ def __init__(self, message=None, *children, **attributes): try: Element.__init__(self, '', *children, **attributes) except: - print 'system_message: children=%r' % (children,) + print('system_message: children=%r' % (children,)) raise def astext(self): line = self.get('line', '') - return u'%s:%s: (%s/%s) %s' % (self['source'], line, self['type'], + return '%s:%s: (%s/%s) %s' % (self['source'], line, self['type'], self['level'], Element.astext(self)) @@ -1728,7 +1728,7 @@ def pformat(self, indent=' ', level=0): ' .transform: %s.%s' % (self.transform.__module__, self.transform.__name__), ' .details:'] - details = self.details.items() + details = list(self.details.items()) details.sort() for key, value in details: if isinstance(value, Node): @@ -2114,7 +2114,7 @@ def make_id(string): .. _CSS1 spec: http://www.w3.org/TR/REC-CSS1 """ id = string.lower() - if not isinstance(id, unicode): + if not isinstance(id, str): id = id.decode() id = id.translate(_non_id_translate_digraphs) id = id.translate(_non_id_translate) @@ -2130,46 +2130,46 @@ def make_id(string): _non_id_chars = re.compile('[^a-z0-9]+') _non_id_at_ends = re.compile('^[-0-9]+|-+$') _non_id_translate = { - 0x00f8: u'o', # o with stroke - 0x0111: u'd', # d with stroke - 0x0127: u'h', # h with stroke - 0x0131: u'i', # dotless i - 0x0142: u'l', # l with stroke - 0x0167: u't', # t with stroke - 0x0180: u'b', # b with stroke - 0x0183: u'b', # b with topbar - 0x0188: u'c', # c with hook - 0x018c: u'd', # d with topbar - 0x0192: u'f', # f with hook - 0x0199: u'k', # k with hook - 0x019a: u'l', # l with bar - 0x019e: u'n', # n with long right leg - 0x01a5: u'p', # p with hook - 0x01ab: u't', # t with palatal hook - 0x01ad: u't', # t with hook - 0x01b4: u'y', # y with hook - 0x01b6: u'z', # z with stroke - 0x01e5: u'g', # g with stroke - 0x0225: u'z', # z with hook - 0x0234: u'l', # l with curl - 0x0235: u'n', # n with curl - 0x0236: u't', # t with curl - 0x0237: u'j', # dotless j - 0x023c: u'c', # c with stroke - 0x023f: u's', # s with swash tail - 0x0240: u'z', # z with swash tail - 0x0247: u'e', # e with stroke - 0x0249: u'j', # j with stroke - 0x024b: u'q', # q with hook tail - 0x024d: u'r', # r with stroke - 0x024f: u'y', # y with stroke + 0x00f8: 'o', # o with stroke + 0x0111: 'd', # d with stroke + 0x0127: 'h', # h with stroke + 0x0131: 'i', # dotless i + 0x0142: 'l', # l with stroke + 0x0167: 't', # t with stroke + 0x0180: 'b', # b with stroke + 0x0183: 'b', # b with topbar + 0x0188: 'c', # c with hook + 0x018c: 'd', # d with topbar + 0x0192: 'f', # f with hook + 0x0199: 'k', # k with hook + 0x019a: 'l', # l with bar + 0x019e: 'n', # n with long right leg + 0x01a5: 'p', # p with hook + 0x01ab: 't', # t with palatal hook + 0x01ad: 't', # t with hook + 0x01b4: 'y', # y with hook + 0x01b6: 'z', # z with stroke + 0x01e5: 'g', # g with stroke + 0x0225: 'z', # z with hook + 0x0234: 'l', # l with curl + 0x0235: 'n', # n with curl + 0x0236: 't', # t with curl + 0x0237: 'j', # dotless j + 0x023c: 'c', # c with stroke + 0x023f: 's', # s with swash tail + 0x0240: 'z', # z with swash tail + 0x0247: 'e', # e with stroke + 0x0249: 'j', # j with stroke + 0x024b: 'q', # q with hook tail + 0x024d: 'r', # r with stroke + 0x024f: 'y', # y with stroke } _non_id_translate_digraphs = { - 0x00df: u'sz', # ligature sz - 0x00e6: u'ae', # ae - 0x0153: u'oe', # ligature oe - 0x0238: u'db', # db digraph - 0x0239: u'qp', # qp digraph + 0x00df: 'sz', # ligature sz + 0x00e6: 'ae', # ae + 0x0153: 'oe', # ligature oe + 0x0238: 'db', # db digraph + 0x0239: 'qp', # qp digraph } def dupname(node, name): diff --git a/bin/docutils/nodes.pyc b/bin/docutils/nodes.pyc deleted file mode 100644 index 9115892a..00000000 Binary files a/bin/docutils/nodes.pyc and /dev/null differ diff --git a/bin/docutils/parsers/__init__.pyc b/bin/docutils/parsers/__init__.pyc deleted file mode 100644 index 2f2ea0c1..00000000 Binary files a/bin/docutils/parsers/__init__.pyc and /dev/null differ diff --git a/bin/docutils/parsers/null.pyc b/bin/docutils/parsers/null.pyc deleted file mode 100644 index 6ce53987..00000000 Binary files a/bin/docutils/parsers/null.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/__init__.pyc b/bin/docutils/parsers/rst/__init__.pyc deleted file mode 100644 index b386452d..00000000 Binary files a/bin/docutils/parsers/rst/__init__.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/directives/__init__.py b/bin/docutils/parsers/rst/directives/__init__.py index 51090589..a36073c8 100644 --- a/bin/docutils/parsers/rst/directives/__init__.py +++ b/bin/docutils/parsers/rst/directives/__init__.py @@ -88,7 +88,7 @@ def directive(directive_name, language_module, document): canonicalname = None try: canonicalname = language_module.directives[normname] - except AttributeError, error: + except AttributeError as error: msg_text.append('Problem retrieving directive entry from language ' 'module %r: %s.' % (language_module, error)) except KeyError: @@ -115,7 +115,7 @@ def directive(directive_name, language_module, document): return None, messages try: module = __import__(modulename, globals(), locals(), level=1) - except ImportError, detail: + except ImportError as detail: messages.append(document.reporter.error( 'Error importing directive module "%s" (directive "%s"):\n%s' % (modulename, directive_name, detail), @@ -171,7 +171,7 @@ def unchanged(argument): No argument implies empty string (""). """ if argument is None: - return u'' + return '' else: return argument # unchanged! @@ -303,15 +303,15 @@ def unicode_code(code): """ try: if code.isdigit(): # decimal number - return unichr(int(code)) + return chr(int(code)) else: match = unicode_pattern.match(code) if match: # hex number value = match.group(1) or match.group(2) - return unichr(int(value, 16)) + return chr(int(value, 16)) else: # other text return code - except OverflowError, detail: + except OverflowError as detail: raise ValueError('code too large (%s)' % detail) def single_char_or_unicode(argument): diff --git a/bin/docutils/parsers/rst/directives/__init__.pyc b/bin/docutils/parsers/rst/directives/__init__.pyc deleted file mode 100644 index 0d802d41..00000000 Binary files a/bin/docutils/parsers/rst/directives/__init__.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/directives/admonitions.pyc b/bin/docutils/parsers/rst/directives/admonitions.pyc deleted file mode 100644 index 3b774905..00000000 Binary files a/bin/docutils/parsers/rst/directives/admonitions.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/directives/body.py b/bin/docutils/parsers/rst/directives/body.py index c8bf1726..83c6ed55 100644 --- a/bin/docutils/parsers/rst/directives/body.py +++ b/bin/docutils/parsers/rst/directives/body.py @@ -145,9 +145,9 @@ def run(self): # set up lexical analyzer try: - tokens = Lexer(u'\n'.join(self.content), language, + tokens = Lexer('\n'.join(self.content), language, self.state.document.settings.syntax_highlight) - except LexerError, error: + except LexerError as error: raise self.warning(error) if 'number-lines' in self.options: diff --git a/bin/docutils/parsers/rst/directives/body.pyc b/bin/docutils/parsers/rst/directives/body.pyc deleted file mode 100644 index e5e6797b..00000000 Binary files a/bin/docutils/parsers/rst/directives/body.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/directives/html.py b/bin/docutils/parsers/rst/directives/html.py index 7df80713..e7a48eb5 100644 --- a/bin/docutils/parsers/rst/directives/html.py +++ b/bin/docutils/parsers/rst/directives/html.py @@ -53,7 +53,7 @@ def parsemeta(self, match): try: attname, val = utils.extract_name_value(token)[0] node[attname.lower()] = val - except utils.NameValueError, detail: + except utils.NameValueError as detail: line = self.state_machine.line msg = self.reporter.error( 'Error parsing meta tag attribute "%s": %s.' diff --git a/bin/docutils/parsers/rst/directives/html.pyc b/bin/docutils/parsers/rst/directives/html.pyc deleted file mode 100644 index 5f11e299..00000000 Binary files a/bin/docutils/parsers/rst/directives/html.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/directives/images.py b/bin/docutils/parsers/rst/directives/images.py index c813fa38..2d913bf5 100644 --- a/bin/docutils/parsers/rst/directives/images.py +++ b/bin/docutils/parsers/rst/directives/images.py @@ -10,7 +10,7 @@ import sys -import urllib +import urllib.request, urllib.parse, urllib.error from docutils import nodes, utils from docutils.parsers.rst import Directive from docutils.parsers.rst import directives, states @@ -125,7 +125,7 @@ def run(self): figure_node = nodes.figure('', image_node) if figwidth == 'image': if PIL and self.state.document.settings.file_insertion_enabled: - imagepath = urllib.url2pathname(image_node['uri']) + imagepath = urllib.request.url2pathname(image_node['uri']) try: img = PIL.Image.open( imagepath.encode(sys.getfilesystemencoding())) diff --git a/bin/docutils/parsers/rst/directives/images.pyc b/bin/docutils/parsers/rst/directives/images.pyc deleted file mode 100644 index aa2d0fd3..00000000 Binary files a/bin/docutils/parsers/rst/directives/images.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/directives/misc.py b/bin/docutils/parsers/rst/directives/misc.py index f843bdc4..287a1d39 100644 --- a/bin/docutils/parsers/rst/directives/misc.py +++ b/bin/docutils/parsers/rst/directives/misc.py @@ -73,13 +73,13 @@ def run(self): include_file = io.FileInput(source_path=path, encoding=encoding, error_handler=e_handler) - except UnicodeEncodeError, error: - raise self.severe(u'Problems with "%s" directive path:\n' + except UnicodeEncodeError as error: + raise self.severe('Problems with "%s" directive path:\n' 'Cannot encode input file path "%s" ' '(wrong locale?).' % (self.name, SafeString(path))) - except IOError, error: - raise self.severe(u'Problems with "%s" directive path:\n%s.' % + except IOError as error: + raise self.severe('Problems with "%s" directive path:\n%s.' % (self.name, ErrorString(error))) startline = self.options.get('start-line', None) endline = self.options.get('end-line', None) @@ -89,8 +89,8 @@ def run(self): rawtext = ''.join(lines[startline:endline]) else: rawtext = include_file.read() - except UnicodeError, error: - raise self.severe(u'Problem with "%s" directive:\n%s' % + except UnicodeError as error: + raise self.severe('Problem with "%s" directive:\n%s' % (self.name, ErrorString(error))) # start-after/end-before: no restrictions on newlines in match-text, # and no restrictions on matching inside lines vs. line boundaries @@ -210,13 +210,13 @@ def run(self): # TODO: currently, raw input files are recorded as # dependencies even if not used for the chosen output format. self.state.document.settings.record_dependencies.add(path) - except IOError, error: - raise self.severe(u'Problems with "%s" directive path:\n%s.' + except IOError as error: + raise self.severe('Problems with "%s" directive path:\n%s.' % (self.name, ErrorString(error))) try: text = raw_file.read() - except UnicodeError, error: - raise self.severe(u'Problem with "%s" directive:\n%s' + except UnicodeError as error: + raise self.severe('Problem with "%s" directive:\n%s' % (self.name, ErrorString(error))) attributes['source'] = path elif 'url' in self.options: @@ -224,19 +224,19 @@ def run(self): # Do not import urllib2 at the top of the module because # it may fail due to broken SSL dependencies, and it takes # about 0.15 seconds to load. - import urllib2 + import urllib.request, urllib.error, urllib.parse try: - raw_text = urllib2.urlopen(source).read() - except (urllib2.URLError, IOError, OSError), error: - raise self.severe(u'Problems with "%s" directive URL "%s":\n%s.' + raw_text = urllib.request.urlopen(source).read() + except (urllib.error.URLError, IOError, OSError) as error: + raise self.severe('Problems with "%s" directive URL "%s":\n%s.' % (self.name, self.options['url'], ErrorString(error))) raw_file = io.StringInput(source=raw_text, source_path=source, encoding=encoding, error_handler=e_handler) try: text = raw_file.read() - except UnicodeError, error: - raise self.severe(u'Problem with "%s" directive:\n%s' + except UnicodeError as error: + raise self.severe('Problem with "%s" directive:\n%s' % (self.name, ErrorString(error))) attributes['source'] = source else: @@ -317,8 +317,8 @@ def run(self): for code in codes: try: decoded = directives.unicode_code(code) - except ValueError, error: - raise self.error(u'Invalid character code: %s\n%s' + except ValueError as error: + raise self.error('Invalid character code: %s\n%s' % (code, ErrorString(error))) element += nodes.Text(decoded) return element.children @@ -403,7 +403,7 @@ def run(self): self.state.parse_directive_block( self.content[1:], self.content_offset, converted_role, option_presets={})) - except states.MarkupError, detail: + except states.MarkupError as detail: error = self.state_machine.reporter.error( 'Error in "%s" directive:\n%s.' % (self.name, detail), nodes.literal_block(self.block_text, self.block_text), @@ -412,9 +412,9 @@ def run(self): if 'class' not in options: try: options['class'] = directives.class_option(new_role_name) - except ValueError, detail: + except ValueError as detail: error = self.state_machine.reporter.error( - u'Invalid argument for "%s" directive:\n%s.' + 'Invalid argument for "%s" directive:\n%s.' % (self.name, SafeString(detail)), nodes.literal_block( self.block_text, self.block_text), line=self.lineno) return messages + [error] @@ -475,8 +475,8 @@ def run(self): try: format_str = format_str.encode(locale_encoding or 'utf-8') except UnicodeEncodeError: - raise self.warning(u'Cannot encode date format string ' - u'with locale encoding "%s".' % locale_encoding) + raise self.warning('Cannot encode date format string ' + 'with locale encoding "%s".' % locale_encoding) # @@@ # Use timestamp from the `SOURCE_DATE_EPOCH`_ environment variable? # Pro: Docutils-generated documentation @@ -502,8 +502,8 @@ def run(self): text = text.decode(locale_encoding or 'utf-8') except UnicodeDecodeError: text = text.decode(locale_encoding or 'utf-8', 'replace') - raise self.warning(u'Error decoding "%s"' - u'with locale encoding "%s".' % (text, locale_encoding)) + raise self.warning('Error decoding "%s"' + 'with locale encoding "%s".' % (text, locale_encoding)) return [nodes.Text(text)] diff --git a/bin/docutils/parsers/rst/directives/misc.pyc b/bin/docutils/parsers/rst/directives/misc.pyc deleted file mode 100644 index c0c097fc..00000000 Binary files a/bin/docutils/parsers/rst/directives/misc.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/directives/parts.pyc b/bin/docutils/parsers/rst/directives/parts.pyc deleted file mode 100644 index a7753661..00000000 Binary files a/bin/docutils/parsers/rst/directives/parts.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/directives/references.pyc b/bin/docutils/parsers/rst/directives/references.pyc deleted file mode 100644 index b00e4846..00000000 Binary files a/bin/docutils/parsers/rst/directives/references.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/directives/tables.py b/bin/docutils/parsers/rst/directives/tables.py index f1977e46..5457c162 100644 --- a/bin/docutils/parsers/rst/directives/tables.py +++ b/bin/docutils/parsers/rst/directives/tables.py @@ -252,9 +252,9 @@ def run(self): col_widths = self.get_column_widths(max_cols) self.extend_short_rows_with_empty_cells(max_cols, (table_head, table_body)) - except SystemMessagePropagation, detail: + except SystemMessagePropagation as detail: return [detail.args[0]] - except csv.Error, detail: + except csv.Error as detail: message = str(detail) if sys.version_info < (3,) and '1-character string' in message: message += '\nwith Python 2.x this must be an ASCII character.' @@ -312,9 +312,9 @@ def get_csv_data(self): encoding=encoding, error_handler=error_handler) csv_data = csv_file.read().splitlines() - except IOError, error: + except IOError as error: severe = self.state_machine.reporter.severe( - u'Problems with "%s" directive path:\n%s.' + 'Problems with "%s" directive path:\n%s.' % (self.name, SafeString(error)), nodes.literal_block(self.block_text, self.block_text), line=self.lineno) @@ -324,11 +324,11 @@ def get_csv_data(self): # Do not import urllib2 at the top of the module because # it may fail due to broken SSL dependencies, and it takes # about 0.15 seconds to load. - import urllib2 + import urllib.request, urllib.error, urllib.parse source = self.options['url'] try: - csv_text = urllib2.urlopen(source).read() - except (urllib2.URLError, IOError, OSError, ValueError), error: + csv_text = urllib.request.urlopen(source).read() + except (urllib.error.URLError, IOError, OSError, ValueError) as error: severe = self.state_machine.reporter.severe( 'Problems with "%s" directive URL "%s":\n%s.' % (self.name, self.options['url'], SafeString(error)), @@ -415,7 +415,7 @@ def run(self): header_rows = self.options.get('header-rows', 0) stub_columns = self.options.get('stub-columns', 0) self.check_table_dimensions(table_data, header_rows, stub_columns) - except SystemMessagePropagation, detail: + except SystemMessagePropagation as detail: return [detail.args[0]] table_node = self.build_table_from_list(table_data, col_widths, header_rows, stub_columns) diff --git a/bin/docutils/parsers/rst/directives/tables.pyc b/bin/docutils/parsers/rst/directives/tables.pyc deleted file mode 100644 index 3b027d56..00000000 Binary files a/bin/docutils/parsers/rst/directives/tables.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/languages/__init__.pyc b/bin/docutils/parsers/rst/languages/__init__.pyc deleted file mode 100644 index 7fcc3e04..00000000 Binary files a/bin/docutils/parsers/rst/languages/__init__.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/languages/af.py b/bin/docutils/parsers/rst/languages/af.py index 89bf5282..f9b87716 100644 --- a/bin/docutils/parsers/rst/languages/af.py +++ b/bin/docutils/parsers/rst/languages/af.py @@ -36,8 +36,8 @@ 'epigraaf': 'epigraph', 'hoogtepunte': 'highlights', 'pull-quote (translation required)': 'pull-quote', - u'compound (translation required)': 'compound', - u'container (translation required)': 'container', + 'compound (translation required)': 'compound', + 'container (translation required)': 'container', #'vrae': 'questions', #'qa': 'questions', #'faq': 'questions', @@ -60,8 +60,8 @@ 'inhoud': 'contents', 'sectnum': 'sectnum', 'section-numbering': 'sectnum', - u'header (translation required)': 'header', - u'footer (translation required)': 'footer', + 'header (translation required)': 'header', + 'footer (translation required)': 'footer', #'voetnote': 'footnotes', #'aanhalings': 'citations', 'teikennotas': 'target-notes', @@ -74,7 +74,7 @@ 'ab': 'abbreviation', 'akroniem': 'acronym', 'ac': 'acronym', - u'code (translation required)': 'code', + 'code (translation required)': 'code', 'indeks': 'index', 'i': 'index', 'voetskrif': 'subscript', diff --git a/bin/docutils/parsers/rst/languages/af.pyc b/bin/docutils/parsers/rst/languages/af.pyc deleted file mode 100644 index c6c2442d..00000000 Binary files a/bin/docutils/parsers/rst/languages/af.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/languages/ca.py b/bin/docutils/parsers/rst/languages/ca.py index f414e32c..dba3c69a 100644 --- a/bin/docutils/parsers/rst/languages/ca.py +++ b/bin/docutils/parsers/rst/languages/ca.py @@ -17,109 +17,109 @@ directives = { # language-dependent: fixed - u'atenci\u00F3': 'attention', - u'compte': 'caution', - u'code (translation required)': 'code', - u'perill': 'danger', - u'error': 'error', - u'suggeriment': 'hint', - u'important': 'important', - u'nota': 'note', - u'consell': 'tip', - u'av\u00EDs': 'warning', - u'advertiment': 'admonition', - u'nota-al-marge': 'sidebar', - u'nota-marge': 'sidebar', - u'tema': 'topic', - u'bloc-de-l\u00EDnies': 'line-block', - u'bloc-l\u00EDnies': 'line-block', - u'literal-analitzat': 'parsed-literal', - u'r\u00FAbrica': 'rubric', - u'ep\u00EDgraf': 'epigraph', - u'sumari': 'highlights', - u'cita-destacada': 'pull-quote', - u'compost': 'compound', - u'container (translation required)': 'container', + 'atenci\u00F3': 'attention', + 'compte': 'caution', + 'code (translation required)': 'code', + 'perill': 'danger', + 'error': 'error', + 'suggeriment': 'hint', + 'important': 'important', + 'nota': 'note', + 'consell': 'tip', + 'av\u00EDs': 'warning', + 'advertiment': 'admonition', + 'nota-al-marge': 'sidebar', + 'nota-marge': 'sidebar', + 'tema': 'topic', + 'bloc-de-l\u00EDnies': 'line-block', + 'bloc-l\u00EDnies': 'line-block', + 'literal-analitzat': 'parsed-literal', + 'r\u00FAbrica': 'rubric', + 'ep\u00EDgraf': 'epigraph', + 'sumari': 'highlights', + 'cita-destacada': 'pull-quote', + 'compost': 'compound', + 'container (translation required)': 'container', #'questions': 'questions', - u'taula': 'table', - u'taula-csv': 'csv-table', - u'taula-llista': 'list-table', + 'taula': 'table', + 'taula-csv': 'csv-table', + 'taula-llista': 'list-table', #'qa': 'questions', #'faq': 'questions', - u'math (translation required)': 'math', - u'meta': 'meta', + 'math (translation required)': 'math', + 'meta': 'meta', #'imagemap': 'imagemap', - u'imatge': 'image', - u'figura': 'figure', - u'inclou': 'include', - u'incloure': 'include', - u'cru': 'raw', - u'reempla\u00E7a': 'replace', - u'reempla\u00E7ar': 'replace', - u'unicode': 'unicode', - u'data': 'date', - u'classe': 'class', - u'rol': 'role', - u'default-role (translation required)': 'default-role', - u'title (translation required)': 'title', - u'contingut': 'contents', - u'numsec': 'sectnum', - u'numeraci\u00F3-de-seccions': 'sectnum', - u'numeraci\u00F3-seccions': 'sectnum', - u'cap\u00E7alera': 'header', - u'peu-de-p\u00E0gina': 'footer', - u'peu-p\u00E0gina': 'footer', + 'imatge': 'image', + 'figura': 'figure', + 'inclou': 'include', + 'incloure': 'include', + 'cru': 'raw', + 'reempla\u00E7a': 'replace', + 'reempla\u00E7ar': 'replace', + 'unicode': 'unicode', + 'data': 'date', + 'classe': 'class', + 'rol': 'role', + 'default-role (translation required)': 'default-role', + 'title (translation required)': 'title', + 'contingut': 'contents', + 'numsec': 'sectnum', + 'numeraci\u00F3-de-seccions': 'sectnum', + 'numeraci\u00F3-seccions': 'sectnum', + 'cap\u00E7alera': 'header', + 'peu-de-p\u00E0gina': 'footer', + 'peu-p\u00E0gina': 'footer', #'footnotes': 'footnotes', #'citations': 'citations', - u'notes-amb-destinacions': 'target-notes', - u'notes-destinacions': 'target-notes', - u'directiva-de-prova-de-restructuredtext': 'restructuredtext-test-directive'} + 'notes-amb-destinacions': 'target-notes', + 'notes-destinacions': 'target-notes', + 'directiva-de-prova-de-restructuredtext': 'restructuredtext-test-directive'} """Catalan name to registered (in directives/__init__.py) directive name mapping.""" roles = { # language-dependent: fixed - u'abreviatura': 'abbreviation', - u'abreviaci\u00F3': 'abbreviation', - u'abrev': 'abbreviation', - u'ab': 'abbreviation', - u'acr\u00F2nim': 'acronym', - u'ac': 'acronym', - u'code (translation required)': 'code', - u'\u00EDndex': 'index', - u'i': 'index', - u'sub\u00EDndex': 'subscript', - u'sub': 'subscript', - u'super\u00EDndex': 'superscript', - u'sup': 'superscript', - u'refer\u00E8ncia-a-t\u00EDtol': 'title-reference', - u'refer\u00E8ncia-t\u00EDtol': 'title-reference', - u't\u00EDtol': 'title-reference', - u't': 'title-reference', - u'refer\u00E8ncia-a-pep': 'pep-reference', - u'refer\u00E8ncia-pep': 'pep-reference', - u'pep': 'pep-reference', - u'refer\u00E8ncia-a-rfc': 'rfc-reference', - u'refer\u00E8ncia-rfc': 'rfc-reference', - u'rfc': 'rfc-reference', - u'\u00E8mfasi': 'emphasis', - u'destacat': 'strong', - u'literal': 'literal', - u'math (translation required)': 'math', - u'refer\u00E8ncia-amb-nom': 'named-reference', - u'refer\u00E8ncia-nom': 'named-reference', - u'refer\u00E8ncia-an\u00F2nima': 'anonymous-reference', - u'refer\u00E8ncia-a-nota-al-peu': 'footnote-reference', - u'refer\u00E8ncia-nota-al-peu': 'footnote-reference', - u'refer\u00E8ncia-a-cita': 'citation-reference', - u'refer\u00E8ncia-cita': 'citation-reference', - u'refer\u00E8ncia-a-substituci\u00F3': 'substitution-reference', - u'refer\u00E8ncia-substituci\u00F3': 'substitution-reference', - u'destinaci\u00F3': 'target', - u'refer\u00E8ncia-a-uri': 'uri-reference', - u'refer\u00E8ncia-uri': 'uri-reference', - u'uri': 'uri-reference', - u'url': 'uri-reference', - u'cru': 'raw',} + 'abreviatura': 'abbreviation', + 'abreviaci\u00F3': 'abbreviation', + 'abrev': 'abbreviation', + 'ab': 'abbreviation', + 'acr\u00F2nim': 'acronym', + 'ac': 'acronym', + 'code (translation required)': 'code', + '\u00EDndex': 'index', + 'i': 'index', + 'sub\u00EDndex': 'subscript', + 'sub': 'subscript', + 'super\u00EDndex': 'superscript', + 'sup': 'superscript', + 'refer\u00E8ncia-a-t\u00EDtol': 'title-reference', + 'refer\u00E8ncia-t\u00EDtol': 'title-reference', + 't\u00EDtol': 'title-reference', + 't': 'title-reference', + 'refer\u00E8ncia-a-pep': 'pep-reference', + 'refer\u00E8ncia-pep': 'pep-reference', + 'pep': 'pep-reference', + 'refer\u00E8ncia-a-rfc': 'rfc-reference', + 'refer\u00E8ncia-rfc': 'rfc-reference', + 'rfc': 'rfc-reference', + '\u00E8mfasi': 'emphasis', + 'destacat': 'strong', + 'literal': 'literal', + 'math (translation required)': 'math', + 'refer\u00E8ncia-amb-nom': 'named-reference', + 'refer\u00E8ncia-nom': 'named-reference', + 'refer\u00E8ncia-an\u00F2nima': 'anonymous-reference', + 'refer\u00E8ncia-a-nota-al-peu': 'footnote-reference', + 'refer\u00E8ncia-nota-al-peu': 'footnote-reference', + 'refer\u00E8ncia-a-cita': 'citation-reference', + 'refer\u00E8ncia-cita': 'citation-reference', + 'refer\u00E8ncia-a-substituci\u00F3': 'substitution-reference', + 'refer\u00E8ncia-substituci\u00F3': 'substitution-reference', + 'destinaci\u00F3': 'target', + 'refer\u00E8ncia-a-uri': 'uri-reference', + 'refer\u00E8ncia-uri': 'uri-reference', + 'uri': 'uri-reference', + 'url': 'uri-reference', + 'cru': 'raw',} """Mapping of Catalan role names to canonical role names for interpreted text. """ diff --git a/bin/docutils/parsers/rst/languages/ca.pyc b/bin/docutils/parsers/rst/languages/ca.pyc deleted file mode 100644 index 60e34f5f..00000000 Binary files a/bin/docutils/parsers/rst/languages/ca.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/languages/cs.py b/bin/docutils/parsers/rst/languages/cs.py index 63debeef..3fd04253 100644 --- a/bin/docutils/parsers/rst/languages/cs.py +++ b/bin/docutils/parsers/rst/languages/cs.py @@ -17,92 +17,92 @@ directives = { # language-dependent: fixed - u'pozor': 'attention', - u'caution (translation required)': 'caution', # jak rozlisit caution a warning? - u'code (translation required)': 'code', - u'nebezpe\u010D\u00ED': 'danger', - u'chyba': 'error', - u'rada': 'hint', - u'd\u016Fle\u017Eit\u00E9': 'important', - u'pozn\u00E1mka': 'note', - u'tip (translation required)': 'tip', - u'varov\u00E1n\u00ED': 'warning', - u'admonition (translation required)': 'admonition', - u'sidebar (translation required)': 'sidebar', - u't\u00E9ma': 'topic', - u'line-block (translation required)': 'line-block', - u'parsed-literal (translation required)': 'parsed-literal', - u'odd\u00EDl': 'rubric', - u'moto': 'epigraph', - u'highlights (translation required)': 'highlights', - u'pull-quote (translation required)': 'pull-quote', - u'compound (translation required)': 'compound', - u'container (translation required)': 'container', + 'pozor': 'attention', + 'caution (translation required)': 'caution', # jak rozlisit caution a warning? + 'code (translation required)': 'code', + 'nebezpe\u010D\u00ED': 'danger', + 'chyba': 'error', + 'rada': 'hint', + 'd\u016Fle\u017Eit\u00E9': 'important', + 'pozn\u00E1mka': 'note', + 'tip (translation required)': 'tip', + 'varov\u00E1n\u00ED': 'warning', + 'admonition (translation required)': 'admonition', + 'sidebar (translation required)': 'sidebar', + 't\u00E9ma': 'topic', + 'line-block (translation required)': 'line-block', + 'parsed-literal (translation required)': 'parsed-literal', + 'odd\u00EDl': 'rubric', + 'moto': 'epigraph', + 'highlights (translation required)': 'highlights', + 'pull-quote (translation required)': 'pull-quote', + 'compound (translation required)': 'compound', + 'container (translation required)': 'container', #'questions': 'questions', #'qa': 'questions', #'faq': 'questions', - u'table (translation required)': 'table', - u'csv-table (translation required)': 'csv-table', - u'list-table (translation required)': 'list-table', - u'math (translation required)': 'math', - u'meta (translation required)': 'meta', + 'table (translation required)': 'table', + 'csv-table (translation required)': 'csv-table', + 'list-table (translation required)': 'list-table', + 'math (translation required)': 'math', + 'meta (translation required)': 'meta', #'imagemap': 'imagemap', - u'image (translation required)': 'image', # obrazek - u'figure (translation required)': 'figure', # a tady? - u'include (translation required)': 'include', - u'raw (translation required)': 'raw', - u'replace (translation required)': 'replace', - u'unicode (translation required)': 'unicode', - u'datum': 'date', - u't\u0159\u00EDda': 'class', - u'role (translation required)': 'role', - u'default-role (translation required)': 'default-role', - u'title (translation required)': 'title', - u'obsah': 'contents', - u'sectnum (translation required)': 'sectnum', - u'section-numbering (translation required)': 'sectnum', - u'header (translation required)': 'header', - u'footer (translation required)': 'footer', + 'image (translation required)': 'image', # obrazek + 'figure (translation required)': 'figure', # a tady? + 'include (translation required)': 'include', + 'raw (translation required)': 'raw', + 'replace (translation required)': 'replace', + 'unicode (translation required)': 'unicode', + 'datum': 'date', + 't\u0159\u00EDda': 'class', + 'role (translation required)': 'role', + 'default-role (translation required)': 'default-role', + 'title (translation required)': 'title', + 'obsah': 'contents', + 'sectnum (translation required)': 'sectnum', + 'section-numbering (translation required)': 'sectnum', + 'header (translation required)': 'header', + 'footer (translation required)': 'footer', #'footnotes': 'footnotes', #'citations': 'citations', - u'target-notes (translation required)': 'target-notes', - u'restructuredtext-test-directive': 'restructuredtext-test-directive'} + 'target-notes (translation required)': 'target-notes', + 'restructuredtext-test-directive': 'restructuredtext-test-directive'} """Czech name to registered (in directives/__init__.py) directive name mapping.""" roles = { # language-dependent: fixed - u'abbreviation (translation required)': 'abbreviation', - u'ab (translation required)': 'abbreviation', - u'acronym (translation required)': 'acronym', - u'ac (translation required)': 'acronym', - u'code (translation required)': 'code', - u'index (translation required)': 'index', - u'i (translation required)': 'index', - u'subscript (translation required)': 'subscript', - u'sub (translation required)': 'subscript', - u'superscript (translation required)': 'superscript', - u'sup (translation required)': 'superscript', - u'title-reference (translation required)': 'title-reference', - u'title (translation required)': 'title-reference', - u't (translation required)': 'title-reference', - u'pep-reference (translation required)': 'pep-reference', - u'pep (translation required)': 'pep-reference', - u'rfc-reference (translation required)': 'rfc-reference', - u'rfc (translation required)': 'rfc-reference', - u'emphasis (translation required)': 'emphasis', - u'strong (translation required)': 'strong', - u'literal (translation required)': 'literal', - u'math (translation required)': 'math', - u'named-reference (translation required)': 'named-reference', - u'anonymous-reference (translation required)': 'anonymous-reference', - u'footnote-reference (translation required)': 'footnote-reference', - u'citation-reference (translation required)': 'citation-reference', - u'substitution-reference (translation required)': 'substitution-reference', - u'target (translation required)': 'target', - u'uri-reference (translation required)': 'uri-reference', - u'uri (translation required)': 'uri-reference', - u'url (translation required)': 'uri-reference', - u'raw (translation required)': 'raw',} + 'abbreviation (translation required)': 'abbreviation', + 'ab (translation required)': 'abbreviation', + 'acronym (translation required)': 'acronym', + 'ac (translation required)': 'acronym', + 'code (translation required)': 'code', + 'index (translation required)': 'index', + 'i (translation required)': 'index', + 'subscript (translation required)': 'subscript', + 'sub (translation required)': 'subscript', + 'superscript (translation required)': 'superscript', + 'sup (translation required)': 'superscript', + 'title-reference (translation required)': 'title-reference', + 'title (translation required)': 'title-reference', + 't (translation required)': 'title-reference', + 'pep-reference (translation required)': 'pep-reference', + 'pep (translation required)': 'pep-reference', + 'rfc-reference (translation required)': 'rfc-reference', + 'rfc (translation required)': 'rfc-reference', + 'emphasis (translation required)': 'emphasis', + 'strong (translation required)': 'strong', + 'literal (translation required)': 'literal', + 'math (translation required)': 'math', + 'named-reference (translation required)': 'named-reference', + 'anonymous-reference (translation required)': 'anonymous-reference', + 'footnote-reference (translation required)': 'footnote-reference', + 'citation-reference (translation required)': 'citation-reference', + 'substitution-reference (translation required)': 'substitution-reference', + 'target (translation required)': 'target', + 'uri-reference (translation required)': 'uri-reference', + 'uri (translation required)': 'uri-reference', + 'url (translation required)': 'uri-reference', + 'raw (translation required)': 'raw',} """Mapping of Czech role names to canonical role names for interpreted text. """ diff --git a/bin/docutils/parsers/rst/languages/cs.pyc b/bin/docutils/parsers/rst/languages/cs.pyc deleted file mode 100644 index ad3f3166..00000000 Binary files a/bin/docutils/parsers/rst/languages/cs.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/languages/da.py b/bin/docutils/parsers/rst/languages/da.py index a05540ae..2342f6a5 100644 --- a/bin/docutils/parsers/rst/languages/da.py +++ b/bin/docutils/parsers/rst/languages/da.py @@ -18,96 +18,96 @@ directives = { # language-dependent: fixed - u'giv agt': 'attention', - u'pas på': 'caution', - u'kode': 'code', - u'kode-blok': 'code', - u'kildekode': 'code', - u'fare': 'danger', - u'fejl': 'error', - u'vink': 'hint', - u'vigtigt': 'important', - u'bemærk': 'note', - u'tips': 'tip', - u'advarsel': 'warning', - u'formaning': 'admonition', - u'sidebjælke': 'sidebar', - u'emne': 'topic', - u'linje-blok': 'line-block', - u'linie-blok': 'line-block', - u'parset-literal': 'parsed-literal', - u'rubrik': 'rubric', - u'epigraf': 'epigraph', - u'fremhævninger': 'highlights', - u'pull-quote (translation required)': 'pull-quote', - u'compound (translation required)': 'compound', - u'container (translation required)': 'container', + 'giv agt': 'attention', + 'pas på': 'caution', + 'kode': 'code', + 'kode-blok': 'code', + 'kildekode': 'code', + 'fare': 'danger', + 'fejl': 'error', + 'vink': 'hint', + 'vigtigt': 'important', + 'bemærk': 'note', + 'tips': 'tip', + 'advarsel': 'warning', + 'formaning': 'admonition', + 'sidebjælke': 'sidebar', + 'emne': 'topic', + 'linje-blok': 'line-block', + 'linie-blok': 'line-block', + 'parset-literal': 'parsed-literal', + 'rubrik': 'rubric', + 'epigraf': 'epigraph', + 'fremhævninger': 'highlights', + 'pull-quote (translation required)': 'pull-quote', + 'compound (translation required)': 'compound', + 'container (translation required)': 'container', #'questions': 'questions', - u'tabel': 'table', - u'csv-tabel': 'csv-table', - u'liste-tabel': 'list-table', + 'tabel': 'table', + 'csv-tabel': 'csv-table', + 'liste-tabel': 'list-table', #'qa': 'questions', #'faq': 'questions', - u'meta': 'meta', - u'math (translation required)': 'math', + 'meta': 'meta', + 'math (translation required)': 'math', #'imagemap': 'imagemap', - u'billede': 'image', - u'figur': 'figure', - u'inkludér': 'include', - u'inkluder': 'include', - u'rå': 'raw', - u'erstat': 'replace', - u'unicode': 'unicode', - u'dato': 'date', - u'klasse': 'class', - u'rolle': 'role', - u'forvalgt-rolle': 'default-role', - u'titel': 'title', - u'indhold': 'contents', - u'sektnum': 'sectnum', - u'sektions-nummerering': 'sectnum', - u'sidehovede': 'header', - u'sidefod': 'footer', + 'billede': 'image', + 'figur': 'figure', + 'inkludér': 'include', + 'inkluder': 'include', + 'rå': 'raw', + 'erstat': 'replace', + 'unicode': 'unicode', + 'dato': 'date', + 'klasse': 'class', + 'rolle': 'role', + 'forvalgt-rolle': 'default-role', + 'titel': 'title', + 'indhold': 'contents', + 'sektnum': 'sectnum', + 'sektions-nummerering': 'sectnum', + 'sidehovede': 'header', + 'sidefod': 'footer', #'footnotes': 'footnotes', #'citations': 'citations', - u'target-notes (translation required)': 'target-notes', - u'restructuredtext-test-direktiv': 'restructuredtext-test-directive'} + 'target-notes (translation required)': 'target-notes', + 'restructuredtext-test-direktiv': 'restructuredtext-test-directive'} """Danish name to registered (in directives/__init__.py) directive name mapping.""" roles = { # language-dependent: fixed - u'forkortelse': 'abbreviation', - u'fork': 'abbreviation', - u'akronym': 'acronym', - u'ac (translation required)': 'acronym', - u'kode': 'code', - u'indeks': 'index', - u'i': 'index', - u'subscript (translation required)': 'subscript', - u'sub (translation required)': 'subscript', - u'superscript (translation required)': 'superscript', - u'sup (translation required)': 'superscript', - u'titel-reference': 'title-reference', - u'titel': 'title-reference', - u't': 'title-reference', - u'pep-reference': 'pep-reference', - u'pep': 'pep-reference', - u'rfc-reference': 'rfc-reference', - u'rfc': 'rfc-reference', - u'emfase': 'emphasis', - u'kraftig': 'strong', - u'literal': 'literal', - u'math (translation required)': 'math', - u'navngivet-reference': 'named-reference', - u'anonym-reference': 'anonymous-reference', - u'fodnote-reference': 'footnote-reference', - u'citation-reference (translation required)': 'citation-reference', - u'substitutions-reference': 'substitution-reference', - u'target (translation required)': 'target', - u'uri-reference': 'uri-reference', - u'uri': 'uri-reference', - u'url': 'uri-reference', - u'rå': 'raw',} + 'forkortelse': 'abbreviation', + 'fork': 'abbreviation', + 'akronym': 'acronym', + 'ac (translation required)': 'acronym', + 'kode': 'code', + 'indeks': 'index', + 'i': 'index', + 'subscript (translation required)': 'subscript', + 'sub (translation required)': 'subscript', + 'superscript (translation required)': 'superscript', + 'sup (translation required)': 'superscript', + 'titel-reference': 'title-reference', + 'titel': 'title-reference', + 't': 'title-reference', + 'pep-reference': 'pep-reference', + 'pep': 'pep-reference', + 'rfc-reference': 'rfc-reference', + 'rfc': 'rfc-reference', + 'emfase': 'emphasis', + 'kraftig': 'strong', + 'literal': 'literal', + 'math (translation required)': 'math', + 'navngivet-reference': 'named-reference', + 'anonym-reference': 'anonymous-reference', + 'fodnote-reference': 'footnote-reference', + 'citation-reference (translation required)': 'citation-reference', + 'substitutions-reference': 'substitution-reference', + 'target (translation required)': 'target', + 'uri-reference': 'uri-reference', + 'uri': 'uri-reference', + 'url': 'uri-reference', + 'rå': 'raw',} """Mapping of Danish role names to canonical role names for interpreted text. """ diff --git a/bin/docutils/parsers/rst/languages/da.pyc b/bin/docutils/parsers/rst/languages/da.pyc deleted file mode 100644 index c17e3d81..00000000 Binary files a/bin/docutils/parsers/rst/languages/da.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/languages/de.py b/bin/docutils/parsers/rst/languages/de.py index 92ea2347..430e8652 100644 --- a/bin/docutils/parsers/rst/languages/de.py +++ b/bin/docutils/parsers/rst/languages/de.py @@ -38,24 +38,24 @@ 'rubrik': 'rubric', 'epigraph': 'epigraph', 'highlights': 'highlights', - u'pull-quote': 'pull-quote', # commonly used in German too - u'seitenansprache': 'pull-quote', # cf. http://www.typografie.info/2/wiki.php?title=Seitenansprache + 'pull-quote': 'pull-quote', # commonly used in German too + 'seitenansprache': 'pull-quote', # cf. http://www.typografie.info/2/wiki.php?title=Seitenansprache 'zusammengesetzt': 'compound', 'verbund': 'compound', - u'container': 'container', + 'container': 'container', #'fragen': 'questions', 'tabelle': 'table', 'csv-tabelle': 'csv-table', 'listentabelle': 'list-table', - u'mathe': 'math', - u'formel': 'math', + 'mathe': 'math', + 'formel': 'math', 'meta': 'meta', #'imagemap': 'imagemap', 'bild': 'image', 'abbildung': 'figure', - u'unverändert': 'raw', - u'roh': 'raw', - u'einfügen': 'include', + 'unverändert': 'raw', + 'roh': 'raw', + 'einfügen': 'include', 'ersetzung': 'replace', 'ersetzen': 'replace', 'ersetze': 'replace', @@ -63,14 +63,14 @@ 'datum': 'date', 'klasse': 'class', 'rolle': 'role', - u'standardrolle': 'default-role', - u'titel': 'title', + 'standardrolle': 'default-role', + 'titel': 'title', 'inhalt': 'contents', - u'kapitelnummerierung': 'sectnum', - u'abschnittsnummerierung': 'sectnum', - u'linkziel-fußnoten': 'target-notes', - u'kopfzeilen': 'header', - u'fußzeilen': 'footer', + 'kapitelnummerierung': 'sectnum', + 'abschnittsnummerierung': 'sectnum', + 'linkziel-fußnoten': 'target-notes', + 'kopfzeilen': 'header', + 'fußzeilen': 'footer', #u'fußfnoten': 'footnotes', #'zitate': 'citations', } @@ -78,9 +78,9 @@ mapping.""" roles = { - u'abkürzung': 'abbreviation', + 'abkürzung': 'abbreviation', 'akronym': 'acronym', - u'code': 'code', + 'code': 'code', 'index': 'index', 'tiefgestellt': 'subscript', 'hochgestellt': 'superscript', @@ -90,16 +90,16 @@ 'betonung': 'emphasis', # for backwards compatibility 'betont': 'emphasis', 'fett': 'strong', - u'wörtlich': 'literal', - u'mathe': 'math', + 'wörtlich': 'literal', + 'mathe': 'math', 'benannte-referenz': 'named-reference', 'unbenannte-referenz': 'anonymous-reference', - u'fußfnoten-referenz': 'footnote-reference', + 'fußfnoten-referenz': 'footnote-reference', 'zitat-referenz': 'citation-reference', 'ersetzungs-referenz': 'substitution-reference', 'ziel': 'target', 'uri-referenz': 'uri-reference', - u'unverändert': 'raw', - u'roh': 'raw',} + 'unverändert': 'raw', + 'roh': 'raw',} """Mapping of German role names to canonical role names for interpreted text. """ diff --git a/bin/docutils/parsers/rst/languages/de.pyc b/bin/docutils/parsers/rst/languages/de.pyc deleted file mode 100644 index f2b34873..00000000 Binary files a/bin/docutils/parsers/rst/languages/de.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/languages/en.pyc b/bin/docutils/parsers/rst/languages/en.pyc deleted file mode 100644 index cf4f197c..00000000 Binary files a/bin/docutils/parsers/rst/languages/en.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/languages/eo.py b/bin/docutils/parsers/rst/languages/eo.py index 2f4e99de..58b0257d 100644 --- a/bin/docutils/parsers/rst/languages/eo.py +++ b/bin/docutils/parsers/rst/languages/eo.py @@ -17,102 +17,102 @@ directives = { # language-dependent: fixed - u'atentu': 'attention', - u'zorgu': 'caution', - u'code (translation required)': 'code', - u'dangxero': 'danger', - u'dan\u011dero': 'danger', - u'eraro': 'error', - u'spuro': 'hint', - u'grava': 'important', - u'noto': 'note', - u'helpeto': 'tip', - u'averto': 'warning', - u'admono': 'admonition', - u'flankteksto': 'sidebar', - u'temo': 'topic', - u'linea-bloko': 'line-block', - u'analizota-literalo': 'parsed-literal', - u'rubriko': 'rubric', - u'epigrafo': 'epigraph', - u'elstarajxoj': 'highlights', - u'elstara\u0135oj': 'highlights', - u'ekstera-citajxo': 'pull-quote', - u'ekstera-cita\u0135o': 'pull-quote', - u'kombinajxo': 'compound', - u'kombina\u0135o': 'compound', - u'tekstingo': 'container', - u'enhavilo': 'container', + 'atentu': 'attention', + 'zorgu': 'caution', + 'code (translation required)': 'code', + 'dangxero': 'danger', + 'dan\u011dero': 'danger', + 'eraro': 'error', + 'spuro': 'hint', + 'grava': 'important', + 'noto': 'note', + 'helpeto': 'tip', + 'averto': 'warning', + 'admono': 'admonition', + 'flankteksto': 'sidebar', + 'temo': 'topic', + 'linea-bloko': 'line-block', + 'analizota-literalo': 'parsed-literal', + 'rubriko': 'rubric', + 'epigrafo': 'epigraph', + 'elstarajxoj': 'highlights', + 'elstara\u0135oj': 'highlights', + 'ekstera-citajxo': 'pull-quote', + 'ekstera-cita\u0135o': 'pull-quote', + 'kombinajxo': 'compound', + 'kombina\u0135o': 'compound', + 'tekstingo': 'container', + 'enhavilo': 'container', #'questions': 'questions', #'qa': 'questions', #'faq': 'questions', - u'tabelo': 'table', - u'tabelo-vdk': 'csv-table', # "valoroj disigitaj per komoj" - u'tabelo-csv': 'csv-table', - u'tabelo-lista': 'list-table', - u'meta': 'meta', + 'tabelo': 'table', + 'tabelo-vdk': 'csv-table', # "valoroj disigitaj per komoj" + 'tabelo-csv': 'csv-table', + 'tabelo-lista': 'list-table', + 'meta': 'meta', 'math (translation required)': 'math', #'imagemap': 'imagemap', - u'bildo': 'image', - u'figuro': 'figure', - u'inkludi': 'include', - u'senanaliza': 'raw', - u'anstatauxi': 'replace', - u'anstata\u016di': 'replace', - u'unicode': 'unicode', - u'dato': 'date', - u'klaso': 'class', - u'rolo': 'role', - u'preterlasita-rolo': 'default-role', - u'titolo': 'title', - u'enhavo': 'contents', - u'seknum': 'sectnum', - u'sekcia-numerado': 'sectnum', - u'kapsekcio': 'header', - u'piedsekcio': 'footer', + 'bildo': 'image', + 'figuro': 'figure', + 'inkludi': 'include', + 'senanaliza': 'raw', + 'anstatauxi': 'replace', + 'anstata\u016di': 'replace', + 'unicode': 'unicode', + 'dato': 'date', + 'klaso': 'class', + 'rolo': 'role', + 'preterlasita-rolo': 'default-role', + 'titolo': 'title', + 'enhavo': 'contents', + 'seknum': 'sectnum', + 'sekcia-numerado': 'sectnum', + 'kapsekcio': 'header', + 'piedsekcio': 'footer', #'footnotes': 'footnotes', #'citations': 'citations', - u'celaj-notoj': 'target-notes', - u'restructuredtext-test-directive': 'restructuredtext-test-directive'} + 'celaj-notoj': 'target-notes', + 'restructuredtext-test-directive': 'restructuredtext-test-directive'} """Esperanto name to registered (in directives/__init__.py) directive name mapping.""" roles = { # language-dependent: fixed - u'mallongigo': 'abbreviation', - u'mall': 'abbreviation', - u'komenclitero': 'acronym', - u'kl': 'acronym', - u'code (translation required)': 'code', - u'indekso': 'index', - u'i': 'index', - u'subskribo': 'subscript', - u'sub': 'subscript', - u'supraskribo': 'superscript', - u'sup': 'superscript', - u'titola-referenco': 'title-reference', - u'titolo': 'title-reference', - u't': 'title-reference', - u'pep-referenco': 'pep-reference', - u'pep': 'pep-reference', - u'rfc-referenco': 'rfc-reference', - u'rfc': 'rfc-reference', - u'emfazo': 'emphasis', - u'forta': 'strong', - u'litera': 'literal', + 'mallongigo': 'abbreviation', + 'mall': 'abbreviation', + 'komenclitero': 'acronym', + 'kl': 'acronym', + 'code (translation required)': 'code', + 'indekso': 'index', + 'i': 'index', + 'subskribo': 'subscript', + 'sub': 'subscript', + 'supraskribo': 'superscript', + 'sup': 'superscript', + 'titola-referenco': 'title-reference', + 'titolo': 'title-reference', + 't': 'title-reference', + 'pep-referenco': 'pep-reference', + 'pep': 'pep-reference', + 'rfc-referenco': 'rfc-reference', + 'rfc': 'rfc-reference', + 'emfazo': 'emphasis', + 'forta': 'strong', + 'litera': 'literal', 'math (translation required)': 'math', - u'nomita-referenco': 'named-reference', - u'nenomita-referenco': 'anonymous-reference', - u'piednota-referenco': 'footnote-reference', - u'citajxo-referenco': 'citation-reference', - u'cita\u0135o-referenco': 'citation-reference', - u'anstatauxa-referenco': 'substitution-reference', - u'anstata\u016da-referenco': 'substitution-reference', - u'celo': 'target', - u'uri-referenco': 'uri-reference', - u'uri': 'uri-reference', - u'url': 'uri-reference', - u'senanaliza': 'raw', + 'nomita-referenco': 'named-reference', + 'nenomita-referenco': 'anonymous-reference', + 'piednota-referenco': 'footnote-reference', + 'citajxo-referenco': 'citation-reference', + 'cita\u0135o-referenco': 'citation-reference', + 'anstatauxa-referenco': 'substitution-reference', + 'anstata\u016da-referenco': 'substitution-reference', + 'celo': 'target', + 'uri-referenco': 'uri-reference', + 'uri': 'uri-reference', + 'url': 'uri-reference', + 'senanaliza': 'raw', } """Mapping of Esperanto role names to canonical role names for interpreted text. """ diff --git a/bin/docutils/parsers/rst/languages/eo.pyc b/bin/docutils/parsers/rst/languages/eo.pyc deleted file mode 100644 index ca141816..00000000 Binary files a/bin/docutils/parsers/rst/languages/eo.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/languages/es.py b/bin/docutils/parsers/rst/languages/es.py index 16c75a03..25c5ca5e 100644 --- a/bin/docutils/parsers/rst/languages/es.py +++ b/bin/docutils/parsers/rst/languages/es.py @@ -17,109 +17,109 @@ directives = { - u'atenci\u00f3n': 'attention', - u'atencion': 'attention', - u'precauci\u00f3n': 'caution', - u'code (translation required)': 'code', - u'precaucion': 'caution', - u'peligro': 'danger', - u'error': 'error', - u'sugerencia': 'hint', - u'importante': 'important', - u'nota': 'note', - u'consejo': 'tip', - u'advertencia': 'warning', - u'exhortacion': 'admonition', - u'exhortaci\u00f3n': 'admonition', - u'nota-al-margen': 'sidebar', - u'tema': 'topic', - u'bloque-de-lineas': 'line-block', - u'bloque-de-l\u00edneas': 'line-block', - u'literal-evaluado': 'parsed-literal', - u'firma': 'rubric', - u'ep\u00edgrafe': 'epigraph', - u'epigrafe': 'epigraph', - u'destacado': 'highlights', - u'cita-destacada': 'pull-quote', - u'combinacion': 'compound', - u'combinaci\u00f3n': 'compound', - u'contenedor': 'container', + 'atenci\u00f3n': 'attention', + 'atencion': 'attention', + 'precauci\u00f3n': 'caution', + 'code (translation required)': 'code', + 'precaucion': 'caution', + 'peligro': 'danger', + 'error': 'error', + 'sugerencia': 'hint', + 'importante': 'important', + 'nota': 'note', + 'consejo': 'tip', + 'advertencia': 'warning', + 'exhortacion': 'admonition', + 'exhortaci\u00f3n': 'admonition', + 'nota-al-margen': 'sidebar', + 'tema': 'topic', + 'bloque-de-lineas': 'line-block', + 'bloque-de-l\u00edneas': 'line-block', + 'literal-evaluado': 'parsed-literal', + 'firma': 'rubric', + 'ep\u00edgrafe': 'epigraph', + 'epigrafe': 'epigraph', + 'destacado': 'highlights', + 'cita-destacada': 'pull-quote', + 'combinacion': 'compound', + 'combinaci\u00f3n': 'compound', + 'contenedor': 'container', #'questions': 'questions', #'qa': 'questions', #'faq': 'questions', - u'tabla': 'table', - u'tabla-vsc': 'csv-table', - u'tabla-csv': 'csv-table', - u'tabla-lista': 'list-table', - u'meta': 'meta', + 'tabla': 'table', + 'tabla-vsc': 'csv-table', + 'tabla-csv': 'csv-table', + 'tabla-lista': 'list-table', + 'meta': 'meta', 'math (translation required)': 'math', #'imagemap': 'imagemap', - u'imagen': 'image', - u'figura': 'figure', - u'incluir': 'include', - u'sin-analisis': 'raw', - u'sin-an\u00e1lisis': 'raw', - u'reemplazar': 'replace', - u'unicode': 'unicode', - u'fecha': 'date', - u'clase': 'class', - u'rol': 'role', - u'rol-por-omision': 'default-role', - u'rol-por-omisi\u00f3n': 'default-role', - u'titulo': 'title', - u't\u00edtulo': 'title', - u'contenido': 'contents', - u'numseccion': 'sectnum', - u'numsecci\u00f3n': 'sectnum', - u'numeracion-seccion': 'sectnum', - u'numeraci\u00f3n-secci\u00f3n': 'sectnum', - u'notas-destino': 'target-notes', - u'cabecera': 'header', - u'pie': 'footer', + 'imagen': 'image', + 'figura': 'figure', + 'incluir': 'include', + 'sin-analisis': 'raw', + 'sin-an\u00e1lisis': 'raw', + 'reemplazar': 'replace', + 'unicode': 'unicode', + 'fecha': 'date', + 'clase': 'class', + 'rol': 'role', + 'rol-por-omision': 'default-role', + 'rol-por-omisi\u00f3n': 'default-role', + 'titulo': 'title', + 't\u00edtulo': 'title', + 'contenido': 'contents', + 'numseccion': 'sectnum', + 'numsecci\u00f3n': 'sectnum', + 'numeracion-seccion': 'sectnum', + 'numeraci\u00f3n-secci\u00f3n': 'sectnum', + 'notas-destino': 'target-notes', + 'cabecera': 'header', + 'pie': 'footer', #'footnotes': 'footnotes', #'citations': 'citations', - u'restructuredtext-test-directive': 'restructuredtext-test-directive'} + 'restructuredtext-test-directive': 'restructuredtext-test-directive'} """Spanish name to registered (in directives/__init__.py) directive name mapping.""" roles = { - u'abreviatura': 'abbreviation', - u'ab': 'abbreviation', - u'acronimo': 'acronym', - u'acronimo': 'acronym', - u'ac': 'acronym', - u'code (translation required)': 'code', - u'indice': 'index', - u'i': 'index', - u'subindice': 'subscript', - u'sub\u00edndice': 'subscript', - u'superindice': 'superscript', - u'super\u00edndice': 'superscript', - u'referencia-titulo': 'title-reference', - u'titulo': 'title-reference', - u't': 'title-reference', - u'referencia-pep': 'pep-reference', - u'pep': 'pep-reference', - u'referencia-rfc': 'rfc-reference', - u'rfc': 'rfc-reference', - u'enfasis': 'emphasis', - u'\u00e9nfasis': 'emphasis', - u'destacado': 'strong', - u'literal': 'literal', # "literal" is also a word in Spanish :-) - u'math (translation required)': 'math', - u'referencia-con-nombre': 'named-reference', - u'referencia-anonima': 'anonymous-reference', - u'referencia-an\u00f3nima': 'anonymous-reference', - u'referencia-nota-al-pie': 'footnote-reference', - u'referencia-cita': 'citation-reference', - u'referencia-sustitucion': 'substitution-reference', - u'referencia-sustituci\u00f3n': 'substitution-reference', - u'destino': 'target', - u'referencia-uri': 'uri-reference', - u'uri': 'uri-reference', - u'url': 'uri-reference', - u'sin-analisis': 'raw', - u'sin-an\u00e1lisis': 'raw', + 'abreviatura': 'abbreviation', + 'ab': 'abbreviation', + 'acronimo': 'acronym', + 'acronimo': 'acronym', + 'ac': 'acronym', + 'code (translation required)': 'code', + 'indice': 'index', + 'i': 'index', + 'subindice': 'subscript', + 'sub\u00edndice': 'subscript', + 'superindice': 'superscript', + 'super\u00edndice': 'superscript', + 'referencia-titulo': 'title-reference', + 'titulo': 'title-reference', + 't': 'title-reference', + 'referencia-pep': 'pep-reference', + 'pep': 'pep-reference', + 'referencia-rfc': 'rfc-reference', + 'rfc': 'rfc-reference', + 'enfasis': 'emphasis', + '\u00e9nfasis': 'emphasis', + 'destacado': 'strong', + 'literal': 'literal', # "literal" is also a word in Spanish :-) + 'math (translation required)': 'math', + 'referencia-con-nombre': 'named-reference', + 'referencia-anonima': 'anonymous-reference', + 'referencia-an\u00f3nima': 'anonymous-reference', + 'referencia-nota-al-pie': 'footnote-reference', + 'referencia-cita': 'citation-reference', + 'referencia-sustitucion': 'substitution-reference', + 'referencia-sustituci\u00f3n': 'substitution-reference', + 'destino': 'target', + 'referencia-uri': 'uri-reference', + 'uri': 'uri-reference', + 'url': 'uri-reference', + 'sin-analisis': 'raw', + 'sin-an\u00e1lisis': 'raw', } """Mapping of Spanish role names to canonical role names for interpreted text. """ diff --git a/bin/docutils/parsers/rst/languages/es.pyc b/bin/docutils/parsers/rst/languages/es.pyc deleted file mode 100644 index 379e6c6f..00000000 Binary files a/bin/docutils/parsers/rst/languages/es.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/languages/fa.py b/bin/docutils/parsers/rst/languages/fa.py index 5547759f..345fd63d 100644 --- a/bin/docutils/parsers/rst/languages/fa.py +++ b/bin/docutils/parsers/rst/languages/fa.py @@ -18,85 +18,85 @@ directives = { # language-dependent: fixed - u'توجه': u'attention', - u'احتیاط': u'caution', - u'کد': u'code', - u'بلوک-کد': u'code', - u'کد-منبع': u'code', - u'خطر': u'danger', - u'خطا': u'error', - u'راهنما': u'hint', - u'مهم': u'important', - u'یادداشت': u'note', - u'نکته': u'tip', - u'اخطار': u'warning', - u'تذکر': u'admonition', - u'نوار-کناری': u'sidebar', - u'موضوع': u'topic', - u'بلوک-خط': u'line-block', - u'تلفظ-پردازش-شده': u'parsed-literal', - u'سر-فصل': u'rubric', - u'کتیبه': u'epigraph', - u'نکات-برجسته': u'highlights', - u'نقل-قول': u'pull-quote', - u'ترکیب': u'compound', - u'ظرف': u'container', + 'توجه': 'attention', + 'احتیاط': 'caution', + 'کد': 'code', + 'بلوک-کد': 'code', + 'کد-منبع': 'code', + 'خطر': 'danger', + 'خطا': 'error', + 'راهنما': 'hint', + 'مهم': 'important', + 'یادداشت': 'note', + 'نکته': 'tip', + 'اخطار': 'warning', + 'تذکر': 'admonition', + 'نوار-کناری': 'sidebar', + 'موضوع': 'topic', + 'بلوک-خط': 'line-block', + 'تلفظ-پردازش-شده': 'parsed-literal', + 'سر-فصل': 'rubric', + 'کتیبه': 'epigraph', + 'نکات-برجسته': 'highlights', + 'نقل-قول': 'pull-quote', + 'ترکیب': 'compound', + 'ظرف': 'container', #'questions': u'questions', - u'جدول': u'table', - u'جدول-csv': u'csv-table', - u'جدول-لیست': u'list-table', + 'جدول': 'table', + 'جدول-csv': 'csv-table', + 'جدول-لیست': 'list-table', #'qa': u'questions', #'faq': u'questions', - u'متا': u'meta', - u'ریاضی': u'math', + 'متا': 'meta', + 'ریاضی': 'math', #'imagemap': u'imagemap', - u'تصویر': u'image', - u'شکل': u'figure', - u'شامل': u'include', - u'خام': u'raw', - u'جایگزین': u'replace', - u'یونیکد': u'unicode', - u'تاریخ': u'date', - u'کلاس': u'class', - u'قانون': u'role', - u'قانون-پیش‌فرض': u'default-role', - u'عنوان': u'title', - u'محتوا': u'contents', - u'شماره-فصل': u'sectnum', - u'شماره‌گذاری-فصل': u'sectnum', - u'سرآیند': u'header', - u'پاصفحه': u'footer', + 'تصویر': 'image', + 'شکل': 'figure', + 'شامل': 'include', + 'خام': 'raw', + 'جایگزین': 'replace', + 'یونیکد': 'unicode', + 'تاریخ': 'date', + 'کلاس': 'class', + 'قانون': 'role', + 'قانون-پیش‌فرض': 'default-role', + 'عنوان': 'title', + 'محتوا': 'contents', + 'شماره-فصل': 'sectnum', + 'شماره‌گذاری-فصل': 'sectnum', + 'سرآیند': 'header', + 'پاصفحه': 'footer', #'footnotes': u'footnotes', #'citations': u'citations', - u'یادداشت-هدف': u'target-notes', + 'یادداشت-هدف': 'target-notes', } """Persian name to registered (in directives/__init__.py) directive name mapping.""" roles = { # language-dependent: fixed - u'مخفف': u'abbreviation', - u'سرنام': u'acronym', - u'کد': u'code', - u'شاخص': u'index', - u'زیرنویس': u'subscript', - u'بالانویس': u'superscript', - u'عنوان': u'title-reference', - u'نیرو': u'pep-reference', - u'rfc-reference (translation required)': u'rfc-reference', - u'تاکید': u'emphasis', - u'قوی': u'strong', - u'لفظی': u'literal', - u'ریاضی': u'math', - u'منبع-نام‌گذاری': u'named-reference', - u'منبع-ناشناس': u'anonymous-reference', - u'منبع-پانویس': u'footnote-reference', - u'منبع-نقل‌فول': u'citation-reference', - u'منبع-جایگزینی': u'substitution-reference', - u'هدف': u'target', - u'منبع-uri': u'uri-reference', - u'uri': u'uri-reference', - u'url': u'uri-reference', - u'خام': u'raw',} + 'مخفف': 'abbreviation', + 'سرنام': 'acronym', + 'کد': 'code', + 'شاخص': 'index', + 'زیرنویس': 'subscript', + 'بالانویس': 'superscript', + 'عنوان': 'title-reference', + 'نیرو': 'pep-reference', + 'rfc-reference (translation required)': 'rfc-reference', + 'تاکید': 'emphasis', + 'قوی': 'strong', + 'لفظی': 'literal', + 'ریاضی': 'math', + 'منبع-نام‌گذاری': 'named-reference', + 'منبع-ناشناس': 'anonymous-reference', + 'منبع-پانویس': 'footnote-reference', + 'منبع-نقل‌فول': 'citation-reference', + 'منبع-جایگزینی': 'substitution-reference', + 'هدف': 'target', + 'منبع-uri': 'uri-reference', + 'uri': 'uri-reference', + 'url': 'uri-reference', + 'خام': 'raw',} """Mapping of Persian role names to canonical role names for interpreted text. """ diff --git a/bin/docutils/parsers/rst/languages/fa.pyc b/bin/docutils/parsers/rst/languages/fa.pyc deleted file mode 100644 index 79cfed5a..00000000 Binary files a/bin/docutils/parsers/rst/languages/fa.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/languages/fi.py b/bin/docutils/parsers/rst/languages/fi.py index 085407dd..80f7b8c5 100644 --- a/bin/docutils/parsers/rst/languages/fi.py +++ b/bin/docutils/parsers/rst/languages/fi.py @@ -18,81 +18,81 @@ directives = { # language-dependent: fixed - u'huomio': u'attention', - u'varo': u'caution', - u'code (translation required)': 'code', - u'vaara': u'danger', - u'virhe': u'error', - u'vihje': u'hint', - u't\u00e4rke\u00e4\u00e4': u'important', - u'huomautus': u'note', - u'neuvo': u'tip', - u'varoitus': u'warning', - u'kehotus': u'admonition', - u'sivupalkki': u'sidebar', - u'aihe': u'topic', - u'rivi': u'line-block', - u'tasalevyinen': u'parsed-literal', - u'ohje': u'rubric', - u'epigraafi': u'epigraph', - u'kohokohdat': u'highlights', - u'lainaus': u'pull-quote', - u'taulukko': u'table', - u'csv-taulukko': u'csv-table', - u'list-table (translation required)': 'list-table', - u'compound (translation required)': 'compound', - u'container (translation required)': 'container', + 'huomio': 'attention', + 'varo': 'caution', + 'code (translation required)': 'code', + 'vaara': 'danger', + 'virhe': 'error', + 'vihje': 'hint', + 't\u00e4rke\u00e4\u00e4': 'important', + 'huomautus': 'note', + 'neuvo': 'tip', + 'varoitus': 'warning', + 'kehotus': 'admonition', + 'sivupalkki': 'sidebar', + 'aihe': 'topic', + 'rivi': 'line-block', + 'tasalevyinen': 'parsed-literal', + 'ohje': 'rubric', + 'epigraafi': 'epigraph', + 'kohokohdat': 'highlights', + 'lainaus': 'pull-quote', + 'taulukko': 'table', + 'csv-taulukko': 'csv-table', + 'list-table (translation required)': 'list-table', + 'compound (translation required)': 'compound', + 'container (translation required)': 'container', #u'kysymykset': u'questions', - u'meta': u'meta', + 'meta': 'meta', 'math (translation required)': 'math', #u'kuvakartta': u'imagemap', - u'kuva': u'image', - u'kaavio': u'figure', - u'sis\u00e4llyt\u00e4': u'include', - u'raaka': u'raw', - u'korvaa': u'replace', - u'unicode': u'unicode', - u'p\u00e4iv\u00e4ys': u'date', - u'luokka': u'class', - u'rooli': u'role', - u'default-role (translation required)': 'default-role', - u'title (translation required)': 'title', - u'sis\u00e4llys': u'contents', - u'kappale': u'sectnum', - u'header (translation required)': 'header', - u'footer (translation required)': 'footer', + 'kuva': 'image', + 'kaavio': 'figure', + 'sis\u00e4llyt\u00e4': 'include', + 'raaka': 'raw', + 'korvaa': 'replace', + 'unicode': 'unicode', + 'p\u00e4iv\u00e4ys': 'date', + 'luokka': 'class', + 'rooli': 'role', + 'default-role (translation required)': 'default-role', + 'title (translation required)': 'title', + 'sis\u00e4llys': 'contents', + 'kappale': 'sectnum', + 'header (translation required)': 'header', + 'footer (translation required)': 'footer', #u'alaviitteet': u'footnotes', #u'viitaukset': u'citations', - u'target-notes (translation required)': u'target-notes'} + 'target-notes (translation required)': 'target-notes'} """Finnish name to registered (in directives/__init__.py) directive name mapping.""" roles = { # language-dependent: fixed - u'lyhennys': u'abbreviation', - u'akronyymi': u'acronym', - u'kirjainsana': u'acronym', - u'code (translation required)': 'code', - u'hakemisto': u'index', - u'luettelo': u'index', - u'alaindeksi': u'subscript', - u'indeksi': u'subscript', - u'yl\u00e4indeksi': u'superscript', - u'title-reference (translation required)': u'title-reference', - u'title (translation required)': u'title-reference', - u'pep-reference (translation required)': u'pep-reference', - u'rfc-reference (translation required)': u'rfc-reference', - u'korostus': u'emphasis', - u'vahvistus': u'strong', - u'tasalevyinen': u'literal', + 'lyhennys': 'abbreviation', + 'akronyymi': 'acronym', + 'kirjainsana': 'acronym', + 'code (translation required)': 'code', + 'hakemisto': 'index', + 'luettelo': 'index', + 'alaindeksi': 'subscript', + 'indeksi': 'subscript', + 'yl\u00e4indeksi': 'superscript', + 'title-reference (translation required)': 'title-reference', + 'title (translation required)': 'title-reference', + 'pep-reference (translation required)': 'pep-reference', + 'rfc-reference (translation required)': 'rfc-reference', + 'korostus': 'emphasis', + 'vahvistus': 'strong', + 'tasalevyinen': 'literal', 'math (translation required)': 'math', - u'named-reference (translation required)': u'named-reference', - u'anonymous-reference (translation required)': u'anonymous-reference', - u'footnote-reference (translation required)': u'footnote-reference', - u'citation-reference (translation required)': u'citation-reference', - u'substitution-reference (translation required)': u'substitution-reference', - u'kohde': u'target', - u'uri-reference (translation required)': u'uri-reference', - u'raw (translation required)': 'raw',} + 'named-reference (translation required)': 'named-reference', + 'anonymous-reference (translation required)': 'anonymous-reference', + 'footnote-reference (translation required)': 'footnote-reference', + 'citation-reference (translation required)': 'citation-reference', + 'substitution-reference (translation required)': 'substitution-reference', + 'kohde': 'target', + 'uri-reference (translation required)': 'uri-reference', + 'raw (translation required)': 'raw',} """Mapping of Finnish role names to canonical role names for interpreted text. """ diff --git a/bin/docutils/parsers/rst/languages/fi.pyc b/bin/docutils/parsers/rst/languages/fi.pyc deleted file mode 100644 index c20425d0..00000000 Binary files a/bin/docutils/parsers/rst/languages/fi.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/languages/fr.py b/bin/docutils/parsers/rst/languages/fr.py index ed13690b..de28acd1 100644 --- a/bin/docutils/parsers/rst/languages/fr.py +++ b/bin/docutils/parsers/rst/languages/fr.py @@ -16,57 +16,57 @@ directives = { - u'attention': 'attention', - u'pr\u00E9caution': 'caution', - u'code': 'code', - u'danger': 'danger', - u'erreur': 'error', - u'conseil': 'hint', - u'important': 'important', - u'note': 'note', - u'astuce': 'tip', - u'avertissement': 'warning', - u'admonition': 'admonition', - u'encadr\u00E9': 'sidebar', - u'sujet': 'topic', - u'bloc-textuel': 'line-block', - u'bloc-interpr\u00E9t\u00E9': 'parsed-literal', - u'code-interpr\u00E9t\u00E9': 'parsed-literal', - u'intertitre': 'rubric', - u'exergue': 'epigraph', - u'\u00E9pigraphe': 'epigraph', - u'chapeau': 'highlights', - u'accroche': 'pull-quote', - u'compound (translation required)': 'compound', - u'container (translation required)': 'container', + 'attention': 'attention', + 'pr\u00E9caution': 'caution', + 'code': 'code', + 'danger': 'danger', + 'erreur': 'error', + 'conseil': 'hint', + 'important': 'important', + 'note': 'note', + 'astuce': 'tip', + 'avertissement': 'warning', + 'admonition': 'admonition', + 'encadr\u00E9': 'sidebar', + 'sujet': 'topic', + 'bloc-textuel': 'line-block', + 'bloc-interpr\u00E9t\u00E9': 'parsed-literal', + 'code-interpr\u00E9t\u00E9': 'parsed-literal', + 'intertitre': 'rubric', + 'exergue': 'epigraph', + '\u00E9pigraphe': 'epigraph', + 'chapeau': 'highlights', + 'accroche': 'pull-quote', + 'compound (translation required)': 'compound', + 'container (translation required)': 'container', #u'questions': 'questions', #u'qr': 'questions', #u'faq': 'questions', - u'tableau': 'table', - u'csv-table (translation required)': 'csv-table', - u'list-table (translation required)': 'list-table', - u'm\u00E9ta': 'meta', + 'tableau': 'table', + 'csv-table (translation required)': 'csv-table', + 'list-table (translation required)': 'list-table', + 'm\u00E9ta': 'meta', 'math (translation required)': 'math', #u'imagemap (translation required)': 'imagemap', - u'image': 'image', - u'figure': 'figure', - u'inclure': 'include', - u'brut': 'raw', - u'remplacer': 'replace', - u'remplace': 'replace', - u'unicode': 'unicode', - u'date': 'date', - u'classe': 'class', - u'role (translation required)': 'role', - u'default-role (translation required)': 'default-role', - u'titre (translation required)': 'title', - u'sommaire': 'contents', - u'table-des-mati\u00E8res': 'contents', - u'sectnum': 'sectnum', - u'section-num\u00E9rot\u00E9e': 'sectnum', - u'liens': 'target-notes', - u'header (translation required)': 'header', - u'footer (translation required)': 'footer', + 'image': 'image', + 'figure': 'figure', + 'inclure': 'include', + 'brut': 'raw', + 'remplacer': 'replace', + 'remplace': 'replace', + 'unicode': 'unicode', + 'date': 'date', + 'classe': 'class', + 'role (translation required)': 'role', + 'default-role (translation required)': 'default-role', + 'titre (translation required)': 'title', + 'sommaire': 'contents', + 'table-des-mati\u00E8res': 'contents', + 'sectnum': 'sectnum', + 'section-num\u00E9rot\u00E9e': 'sectnum', + 'liens': 'target-notes', + 'header (translation required)': 'header', + 'footer (translation required)': 'footer', #u'footnotes (translation required)': 'footnotes', #u'citations (translation required)': 'citations', } @@ -74,30 +74,30 @@ mapping.""" roles = { - u'abr\u00E9viation': 'abbreviation', - u'acronyme': 'acronym', - u'sigle': 'acronym', - u'code': 'code', - u'index': 'index', - u'indice': 'subscript', - u'ind': 'subscript', - u'exposant': 'superscript', - u'exp': 'superscript', - u'titre-r\u00E9f\u00E9rence': 'title-reference', - u'titre': 'title-reference', - u'pep-r\u00E9f\u00E9rence': 'pep-reference', - u'rfc-r\u00E9f\u00E9rence': 'rfc-reference', - u'emphase': 'emphasis', - u'fort': 'strong', - u'litt\u00E9ral': 'literal', + 'abr\u00E9viation': 'abbreviation', + 'acronyme': 'acronym', + 'sigle': 'acronym', + 'code': 'code', + 'index': 'index', + 'indice': 'subscript', + 'ind': 'subscript', + 'exposant': 'superscript', + 'exp': 'superscript', + 'titre-r\u00E9f\u00E9rence': 'title-reference', + 'titre': 'title-reference', + 'pep-r\u00E9f\u00E9rence': 'pep-reference', + 'rfc-r\u00E9f\u00E9rence': 'rfc-reference', + 'emphase': 'emphasis', + 'fort': 'strong', + 'litt\u00E9ral': 'literal', 'math (translation required)': 'math', - u'nomm\u00E9e-r\u00E9f\u00E9rence': 'named-reference', - u'anonyme-r\u00E9f\u00E9rence': 'anonymous-reference', - u'note-r\u00E9f\u00E9rence': 'footnote-reference', - u'citation-r\u00E9f\u00E9rence': 'citation-reference', - u'substitution-r\u00E9f\u00E9rence': 'substitution-reference', - u'lien': 'target', - u'uri-r\u00E9f\u00E9rence': 'uri-reference', - u'brut': 'raw',} + 'nomm\u00E9e-r\u00E9f\u00E9rence': 'named-reference', + 'anonyme-r\u00E9f\u00E9rence': 'anonymous-reference', + 'note-r\u00E9f\u00E9rence': 'footnote-reference', + 'citation-r\u00E9f\u00E9rence': 'citation-reference', + 'substitution-r\u00E9f\u00E9rence': 'substitution-reference', + 'lien': 'target', + 'uri-r\u00E9f\u00E9rence': 'uri-reference', + 'brut': 'raw',} """Mapping of French role names to canonical role names for interpreted text. """ diff --git a/bin/docutils/parsers/rst/languages/fr.pyc b/bin/docutils/parsers/rst/languages/fr.pyc deleted file mode 100644 index e6aff206..00000000 Binary files a/bin/docutils/parsers/rst/languages/fr.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/languages/gl.py b/bin/docutils/parsers/rst/languages/gl.py index 53d52c9c..1b502c1e 100644 --- a/bin/docutils/parsers/rst/languages/gl.py +++ b/bin/docutils/parsers/rst/languages/gl.py @@ -20,92 +20,92 @@ directives = { # language-dependent: fixed - u'atenci\u00f3n': 'attention', - u'advertencia': 'caution', - u'code (translation required)': 'code', - u'perigo': 'danger', - u'erro': 'error', - u'pista': 'hint', - u'importante': 'important', - u'nota': 'note', - u'consello': 'tip', - u'aviso': 'warning', - u'admonici\u00f3n': 'admonition', - u'barra lateral': 'sidebar', - u't\u00f3pico': 'topic', - u'bloque-li\u00f1a': 'line-block', - u'literal-analizado': 'parsed-literal', - u'r\u00fabrica': 'rubric', - u'ep\u00edgrafe': 'epigraph', - u'realzados': 'highlights', - u'coller-citaci\u00f3n': 'pull-quote', - u'compor': 'compound', - u'recipiente': 'container', + 'atenci\u00f3n': 'attention', + 'advertencia': 'caution', + 'code (translation required)': 'code', + 'perigo': 'danger', + 'erro': 'error', + 'pista': 'hint', + 'importante': 'important', + 'nota': 'note', + 'consello': 'tip', + 'aviso': 'warning', + 'admonici\u00f3n': 'admonition', + 'barra lateral': 'sidebar', + 't\u00f3pico': 'topic', + 'bloque-li\u00f1a': 'line-block', + 'literal-analizado': 'parsed-literal', + 'r\u00fabrica': 'rubric', + 'ep\u00edgrafe': 'epigraph', + 'realzados': 'highlights', + 'coller-citaci\u00f3n': 'pull-quote', + 'compor': 'compound', + 'recipiente': 'container', #'questions': 'questions', - u't\u00e1boa': 'table', - u't\u00e1boa-csv': 'csv-table', - u't\u00e1boa-listaxe': 'list-table', + 't\u00e1boa': 'table', + 't\u00e1boa-csv': 'csv-table', + 't\u00e1boa-listaxe': 'list-table', #'qa': 'questions', #'faq': 'questions', - u'meta': 'meta', + 'meta': 'meta', 'math (translation required)': 'math', #'imagemap': 'imagemap', - u'imaxe': 'image', - u'figura': 'figure', - u'inclu\u00edr': 'include', - u'cru': 'raw', - u'substitu\u00edr': 'replace', - u'unicode': 'unicode', - u'data': 'date', - u'clase': 'class', - u'regra': 'role', - u'regra-predeterminada': 'default-role', - u't\u00edtulo': 'title', - u'contido': 'contents', - u'seccnum': 'sectnum', - u'secci\u00f3n-numerar': 'sectnum', - u'cabeceira': 'header', - u'p\u00e9 de p\u00e1xina': 'footer', + 'imaxe': 'image', + 'figura': 'figure', + 'inclu\u00edr': 'include', + 'cru': 'raw', + 'substitu\u00edr': 'replace', + 'unicode': 'unicode', + 'data': 'date', + 'clase': 'class', + 'regra': 'role', + 'regra-predeterminada': 'default-role', + 't\u00edtulo': 'title', + 'contido': 'contents', + 'seccnum': 'sectnum', + 'secci\u00f3n-numerar': 'sectnum', + 'cabeceira': 'header', + 'p\u00e9 de p\u00e1xina': 'footer', #'footnotes': 'footnotes', #'citations': 'citations', - u'notas-destino': 'target-notes', - u'texto restruturado-proba-directiva': 'restructuredtext-test-directive'} + 'notas-destino': 'target-notes', + 'texto restruturado-proba-directiva': 'restructuredtext-test-directive'} """Galician name to registered (in directives/__init__.py) directive name mapping.""" roles = { # language-dependent: fixed - u'abreviatura': 'abbreviation', - u'ab': 'abbreviation', - u'acr\u00f3nimo': 'acronym', - u'ac': 'acronym', - u'code (translation required)': 'code', - u'\u00edndice': 'index', - u'i': 'index', - u'sub\u00edndice': 'subscript', - u'sub': 'subscript', - u'super\u00edndice': 'superscript', - u'sup': 'superscript', - u'referencia t\u00edtulo': 'title-reference', - u't\u00edtulo': 'title-reference', - u't': 'title-reference', - u'referencia-pep': 'pep-reference', - u'pep': 'pep-reference', - u'referencia-rfc': 'rfc-reference', - u'rfc': 'rfc-reference', - u'\u00e9nfase': 'emphasis', - u'forte': 'strong', - u'literal': 'literal', + 'abreviatura': 'abbreviation', + 'ab': 'abbreviation', + 'acr\u00f3nimo': 'acronym', + 'ac': 'acronym', + 'code (translation required)': 'code', + '\u00edndice': 'index', + 'i': 'index', + 'sub\u00edndice': 'subscript', + 'sub': 'subscript', + 'super\u00edndice': 'superscript', + 'sup': 'superscript', + 'referencia t\u00edtulo': 'title-reference', + 't\u00edtulo': 'title-reference', + 't': 'title-reference', + 'referencia-pep': 'pep-reference', + 'pep': 'pep-reference', + 'referencia-rfc': 'rfc-reference', + 'rfc': 'rfc-reference', + '\u00e9nfase': 'emphasis', + 'forte': 'strong', + 'literal': 'literal', 'math (translation required)': 'math', - u'referencia-nome': 'named-reference', - u'referencia-an\u00f3nimo': 'anonymous-reference', - u'referencia-nota ao p\u00e9': 'footnote-reference', - u'referencia-citaci\u00f3n': 'citation-reference', - u'referencia-substituci\u00f3n': 'substitution-reference', - u'destino': 'target', - u'referencia-uri': 'uri-reference', - u'uri': 'uri-reference', - u'url': 'uri-reference', - u'cru': 'raw',} + 'referencia-nome': 'named-reference', + 'referencia-an\u00f3nimo': 'anonymous-reference', + 'referencia-nota ao p\u00e9': 'footnote-reference', + 'referencia-citaci\u00f3n': 'citation-reference', + 'referencia-substituci\u00f3n': 'substitution-reference', + 'destino': 'target', + 'referencia-uri': 'uri-reference', + 'uri': 'uri-reference', + 'url': 'uri-reference', + 'cru': 'raw',} """Mapping of Galician role names to canonical role names for interpreted text. """ diff --git a/bin/docutils/parsers/rst/languages/gl.pyc b/bin/docutils/parsers/rst/languages/gl.pyc deleted file mode 100644 index 91e53fd1..00000000 Binary files a/bin/docutils/parsers/rst/languages/gl.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/languages/he.py b/bin/docutils/parsers/rst/languages/he.py index 36b2609c..746be954 100644 --- a/bin/docutils/parsers/rst/languages/he.py +++ b/bin/docutils/parsers/rst/languages/he.py @@ -17,16 +17,16 @@ directives = { # language-dependent: fixed - u'\u05ea\u05e9\u05d5\u05de\u05ea \u05dc\u05d1': 'attention', - u'\u05d6\u05d4\u05d9\u05e8\u05d5\u05ea': 'caution', - u'code (translation required)': 'code', - u'\u05e1\u05db\u05e0\u05d4': 'danger', - u'\u05e9\u05d2\u05d9\u05d0\u05d4' : 'error', - u'\u05e8\u05de\u05d6': 'hint', - u'\u05d7\u05e9\u05d5\u05d1': 'important', - u'\u05d4\u05e2\u05e8\u05d4': 'note', - u'\u05d8\u05d9\u05e4': 'tip', - u'\u05d0\u05d6\u05d4\u05e8\u05d4': 'warning', + '\u05ea\u05e9\u05d5\u05de\u05ea \u05dc\u05d1': 'attention', + '\u05d6\u05d4\u05d9\u05e8\u05d5\u05ea': 'caution', + 'code (translation required)': 'code', + '\u05e1\u05db\u05e0\u05d4': 'danger', + '\u05e9\u05d2\u05d9\u05d0\u05d4' : 'error', + '\u05e8\u05de\u05d6': 'hint', + '\u05d7\u05e9\u05d5\u05d1': 'important', + '\u05d4\u05e2\u05e8\u05d4': 'note', + '\u05d8\u05d9\u05e4': 'tip', + '\u05d0\u05d6\u05d4\u05e8\u05d4': 'warning', 'admonition': 'admonition', 'sidebar': 'sidebar', 'topic': 'topic', @@ -47,18 +47,18 @@ 'meta': 'meta', 'math (translation required)': 'math', #'imagemap': 'imagemap', - u'\u05ea\u05de\u05d5\u05e0\u05d4': 'image', + '\u05ea\u05de\u05d5\u05e0\u05d4': 'image', 'figure': 'figure', 'include': 'include', 'raw': 'raw', 'replace': 'replace', 'unicode': 'unicode', 'date': 'date', - u'\u05e1\u05d2\u05e0\u05d5\u05df': 'class', + '\u05e1\u05d2\u05e0\u05d5\u05df': 'class', 'role': 'role', 'default-role': 'default-role', 'title': 'title', - u'\u05ea\u05d5\u05db\u05df': 'contents', + '\u05ea\u05d5\u05db\u05df': 'contents', 'sectnum': 'sectnum', 'section-numbering': 'sectnum', 'header': 'header', @@ -76,12 +76,12 @@ 'ab': 'abbreviation', 'acronym': 'acronym', 'ac': 'acronym', - u'code (translation required)': 'code', + 'code (translation required)': 'code', 'index': 'index', 'i': 'index', - u'\u05ea\u05d7\u05ea\u05d9': 'subscript', + '\u05ea\u05d7\u05ea\u05d9': 'subscript', 'sub': 'subscript', - u'\u05e2\u05d9\u05dc\u05d9': 'superscript', + '\u05e2\u05d9\u05dc\u05d9': 'superscript', 'sup': 'superscript', 'title-reference': 'title-reference', 'title': 'title-reference', diff --git a/bin/docutils/parsers/rst/languages/he.pyc b/bin/docutils/parsers/rst/languages/he.pyc deleted file mode 100644 index 3886123a..00000000 Binary files a/bin/docutils/parsers/rst/languages/he.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/languages/it.py b/bin/docutils/parsers/rst/languages/it.py index bf360964..cf2c5606 100644 --- a/bin/docutils/parsers/rst/languages/it.py +++ b/bin/docutils/parsers/rst/languages/it.py @@ -37,7 +37,7 @@ 'punti-salienti': 'highlights', 'estratto-evidenziato': 'pull-quote', 'composito': 'compound', - u'container (translation required)': 'container', + 'container (translation required)': 'container', #'questions': 'questions', #'qa': 'questions', #'faq': 'questions', @@ -74,7 +74,7 @@ roles = { 'abbreviazione': 'abbreviation', 'acronimo': 'acronym', - u'code (translation required)': 'code', + 'code (translation required)': 'code', 'indice': 'index', 'deponente': 'subscript', 'esponente': 'superscript', diff --git a/bin/docutils/parsers/rst/languages/it.pyc b/bin/docutils/parsers/rst/languages/it.pyc deleted file mode 100644 index 0b5cc63d..00000000 Binary files a/bin/docutils/parsers/rst/languages/it.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/languages/ja.py b/bin/docutils/parsers/rst/languages/ja.py index 3d3e19dc..6424d639 100644 --- a/bin/docutils/parsers/rst/languages/ja.py +++ b/bin/docutils/parsers/rst/languages/ja.py @@ -20,100 +20,100 @@ directives = { # language-dependent: fixed - u'注目': 'attention', - u'注意': 'caution', - u'code (translation required)': 'code', - u'危険': 'danger', - u'エラー': 'error', - u'ヒント': 'hint', - u'重要': 'important', - u'備考': 'note', - u'通報': 'tip', - u'警告': 'warning', - u'戒告': 'admonition', - u'サイドバー': 'sidebar', - u'トピック': 'topic', - u'ラインブロック': 'line-block', - u'パーズドリテラル': 'parsed-literal', - u'ルブリック': 'rubric', - u'エピグラフ': 'epigraph', - u'題言': 'epigraph', - u'ハイライト': 'highlights', - u'見所': 'highlights', - u'プルクオート': 'pull-quote', - u'合成': 'compound', - u'コンテナー': 'container', - u'容器': 'container', - u'表': 'table', - u'csv表': 'csv-table', - u'リスト表': 'list-table', + '注目': 'attention', + '注意': 'caution', + 'code (translation required)': 'code', + '危険': 'danger', + 'エラー': 'error', + 'ヒント': 'hint', + '重要': 'important', + '備考': 'note', + '通報': 'tip', + '警告': 'warning', + '戒告': 'admonition', + 'サイドバー': 'sidebar', + 'トピック': 'topic', + 'ラインブロック': 'line-block', + 'パーズドリテラル': 'parsed-literal', + 'ルブリック': 'rubric', + 'エピグラフ': 'epigraph', + '題言': 'epigraph', + 'ハイライト': 'highlights', + '見所': 'highlights', + 'プルクオート': 'pull-quote', + '合成': 'compound', + 'コンテナー': 'container', + '容器': 'container', + '表': 'table', + 'csv表': 'csv-table', + 'リスト表': 'list-table', #u'質問': 'questions', #u'問答': 'questions', #u'faq': 'questions', - u'math (translation required)': 'math', - u'メタ': 'meta', + 'math (translation required)': 'math', + 'メタ': 'meta', #u'イメージマプ': 'imagemap', - u'イメージ': 'image', - u'画像': 'image', - u'フィグア': 'figure', - u'図版': 'figure', - u'インクルード': 'include', - u'含む': 'include', - u'組み込み': 'include', - u'生': 'raw', - u'原': 'raw', - u'換える': 'replace', - u'取り換える': 'replace', - u'掛け替える': 'replace', - u'ユニコード': 'unicode', - u'日付': 'date', - u'クラス': 'class', - u'ロール': 'role', - u'役': 'role', - u'ディフォルトロール': 'default-role', - u'既定役': 'default-role', - u'タイトル': 'title', - u'題': 'title', # 題名 件名 - u'目次': 'contents', - u'節数': 'sectnum', - u'ヘッダ': 'header', - u'フッタ': 'footer', + 'イメージ': 'image', + '画像': 'image', + 'フィグア': 'figure', + '図版': 'figure', + 'インクルード': 'include', + '含む': 'include', + '組み込み': 'include', + '生': 'raw', + '原': 'raw', + '換える': 'replace', + '取り換える': 'replace', + '掛け替える': 'replace', + 'ユニコード': 'unicode', + '日付': 'date', + 'クラス': 'class', + 'ロール': 'role', + '役': 'role', + 'ディフォルトロール': 'default-role', + '既定役': 'default-role', + 'タイトル': 'title', + '題': 'title', # 題名 件名 + '目次': 'contents', + '節数': 'sectnum', + 'ヘッダ': 'header', + 'フッタ': 'footer', #u'脚注': 'footnotes', # 脚註? #u'サイテーション': 'citations',   # 出典 引証 引用 - u'ターゲットノート': 'target-notes', # 的注 的脚注 + 'ターゲットノート': 'target-notes', # 的注 的脚注 } """Japanese name to registered (in directives/__init__.py) directive name mapping.""" roles = { # language-dependent: fixed - u'略': 'abbreviation', - u'頭字語': 'acronym', - u'code (translation required)': 'code', - u'インデックス': 'index', - u'索引': 'index', - u'添字': 'subscript', - u'下付': 'subscript', - u'下': 'subscript', - u'上付': 'superscript', - u'上': 'superscript', - u'題参照': 'title-reference', - u'pep参照': 'pep-reference', - u'rfc参照': 'rfc-reference', - u'強調': 'emphasis', - u'強い': 'strong', - u'リテラル': 'literal', - u'整形済み': 'literal', - u'math (translation required)': 'math', - u'名付参照': 'named-reference', - u'無名参照': 'anonymous-reference', - u'脚注参照': 'footnote-reference', - u'出典参照': 'citation-reference', - u'代入参照': 'substitution-reference', - u'的': 'target', - u'uri参照': 'uri-reference', - u'uri': 'uri-reference', - u'url': 'uri-reference', - u'生': 'raw',} + '略': 'abbreviation', + '頭字語': 'acronym', + 'code (translation required)': 'code', + 'インデックス': 'index', + '索引': 'index', + '添字': 'subscript', + '下付': 'subscript', + '下': 'subscript', + '上付': 'superscript', + '上': 'superscript', + '題参照': 'title-reference', + 'pep参照': 'pep-reference', + 'rfc参照': 'rfc-reference', + '強調': 'emphasis', + '強い': 'strong', + 'リテラル': 'literal', + '整形済み': 'literal', + 'math (translation required)': 'math', + '名付参照': 'named-reference', + '無名参照': 'anonymous-reference', + '脚注参照': 'footnote-reference', + '出典参照': 'citation-reference', + '代入参照': 'substitution-reference', + '的': 'target', + 'uri参照': 'uri-reference', + 'uri': 'uri-reference', + 'url': 'uri-reference', + '生': 'raw',} """Mapping of Japanese role names to canonical role names for interpreted text.""" diff --git a/bin/docutils/parsers/rst/languages/ja.pyc b/bin/docutils/parsers/rst/languages/ja.pyc deleted file mode 100644 index 108ced27..00000000 Binary files a/bin/docutils/parsers/rst/languages/ja.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/languages/lt.py b/bin/docutils/parsers/rst/languages/lt.py index 8168c6ac..416344a5 100644 --- a/bin/docutils/parsers/rst/languages/lt.py +++ b/bin/docutils/parsers/rst/languages/lt.py @@ -18,56 +18,56 @@ directives = { # language-dependent: fixed - u'dėmesio': 'attention', - u'atsargiai': 'caution', - u'code (translation required)': 'code', - u'pavojinga': 'danger', - u'klaida': 'error', - u'užuomina': 'hint', - u'svarbu': 'important', - u'pastaba': 'note', - u'patarimas': 'tip', - u'įspėjimas': 'warning', - u'perspėjimas': 'admonition', - u'šoninė-juosta': 'sidebar', - u'tema': 'topic', - u'linijinis-blokas': 'line-block', - u'išanalizuotas-literalas': 'parsed-literal', - u'rubrika': 'rubric', - u'epigrafas': 'epigraph', - u'pagridiniai-momentai': 'highlights', - u'atitraukta-citata': 'pull-quote', - u'sudėtinis-darinys': 'compound', - u'konteineris': 'container', + 'dėmesio': 'attention', + 'atsargiai': 'caution', + 'code (translation required)': 'code', + 'pavojinga': 'danger', + 'klaida': 'error', + 'užuomina': 'hint', + 'svarbu': 'important', + 'pastaba': 'note', + 'patarimas': 'tip', + 'įspėjimas': 'warning', + 'perspėjimas': 'admonition', + 'šoninė-juosta': 'sidebar', + 'tema': 'topic', + 'linijinis-blokas': 'line-block', + 'išanalizuotas-literalas': 'parsed-literal', + 'rubrika': 'rubric', + 'epigrafas': 'epigraph', + 'pagridiniai-momentai': 'highlights', + 'atitraukta-citata': 'pull-quote', + 'sudėtinis-darinys': 'compound', + 'konteineris': 'container', #'questions': 'questions', - u'lentelė': 'table', - u'csv-lentelė': 'csv-table', - u'sąrašo-lentelė': 'list-table', + 'lentelė': 'table', + 'csv-lentelė': 'csv-table', + 'sąrašo-lentelė': 'list-table', #'qa': 'questions', #'faq': 'questions', - u'meta': 'meta', - u'matematika': 'math', + 'meta': 'meta', + 'matematika': 'math', #'imagemap': 'imagemap', - u'paveiksliukas': 'image', - u'iliustracija': 'figure', - u'pridėti': 'include', - u'žalia': 'raw', - u'pakeisti': 'replace', - u'unikodas': 'unicode', - u'data': 'date', - u'klasė': 'class', - u'rolė': 'role', - u'numatytoji-rolė': 'default-role', - u'titulas': 'title', - u'turinys': 'contents', - u'seknum': 'sectnum', - u'sekcijos-numeravimas': 'sectnum', - u'antraštė': 'header', - u'poraštė': 'footer', + 'paveiksliukas': 'image', + 'iliustracija': 'figure', + 'pridėti': 'include', + 'žalia': 'raw', + 'pakeisti': 'replace', + 'unikodas': 'unicode', + 'data': 'date', + 'klasė': 'class', + 'rolė': 'role', + 'numatytoji-rolė': 'default-role', + 'titulas': 'title', + 'turinys': 'contents', + 'seknum': 'sectnum', + 'sekcijos-numeravimas': 'sectnum', + 'antraštė': 'header', + 'poraštė': 'footer', #'footnotes': 'footnotes', #'citations': 'citations', - u'nutaikytos-pastaba': 'target-notes', - u'restructuredtext-testinė-direktyva': 'restructuredtext-test-directive'} + 'nutaikytos-pastaba': 'target-notes', + 'restructuredtext-testinė-direktyva': 'restructuredtext-test-directive'} """Lithuanian name to registered (in directives/__init__.py) directive name mapping.""" @@ -77,31 +77,31 @@ 'sa': 'abbreviation', 'akronimas': 'acronym', 'ak': 'acronym', - u'code (translation required)': 'code', + 'code (translation required)': 'code', 'indeksas': 'index', 'i': 'index', - u'apatinis-indeksas': 'subscript', + 'apatinis-indeksas': 'subscript', 'sub': 'subscript', - u'viršutinis-indeksas': 'superscript', + 'viršutinis-indeksas': 'superscript', 'sup': 'superscript', - u'antrašės-nuoroda': 'title-reference', - u'antraštė': 'title-reference', + 'antrašės-nuoroda': 'title-reference', + 'antraštė': 'title-reference', 'a': 'title-reference', 'pep-nuoroda': 'pep-reference', 'pep': 'pep-reference', 'rfc-nuoroda': 'rfc-reference', 'rfc': 'rfc-reference', - u'paryškinimas': 'emphasis', - u'sustiprintas': 'strong', - u'literalas': 'literal', - u'matematika': 'math', - u'vardinė-nuoroda': 'named-reference', - u'anoniminė-nuoroda': 'anonymous-reference', - u'išnašos-nuoroda': 'footnote-reference', - u'citatos-nuoroda': 'citation-reference', - u'pakeitimo-nuoroda': 'substitution-reference', - u'taikinys': 'target', - u'uri-nuoroda': 'uri-reference', + 'paryškinimas': 'emphasis', + 'sustiprintas': 'strong', + 'literalas': 'literal', + 'matematika': 'math', + 'vardinė-nuoroda': 'named-reference', + 'anoniminė-nuoroda': 'anonymous-reference', + 'išnašos-nuoroda': 'footnote-reference', + 'citatos-nuoroda': 'citation-reference', + 'pakeitimo-nuoroda': 'substitution-reference', + 'taikinys': 'target', + 'uri-nuoroda': 'uri-reference', 'uri': 'uri-reference', 'url': 'uri-reference', 'žalia': 'raw',} diff --git a/bin/docutils/parsers/rst/languages/lt.pyc b/bin/docutils/parsers/rst/languages/lt.pyc deleted file mode 100644 index ed2c0f81..00000000 Binary files a/bin/docutils/parsers/rst/languages/lt.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/languages/lv.pyc b/bin/docutils/parsers/rst/languages/lv.pyc deleted file mode 100644 index 4514d73e..00000000 Binary files a/bin/docutils/parsers/rst/languages/lv.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/languages/nl.py b/bin/docutils/parsers/rst/languages/nl.py index 4dc2033a..563dbd2b 100644 --- a/bin/docutils/parsers/rst/languages/nl.py +++ b/bin/docutils/parsers/rst/languages/nl.py @@ -38,7 +38,7 @@ 'pull-quote': 'pull-quote', # Dutch printers use the english term 'samenstelling': 'compound', 'verbinding': 'compound', - u'container (translation required)': 'container', + 'container (translation required)': 'container', #'vragen': 'questions', 'tabel': 'table', 'csv-tabel': 'csv-table', @@ -57,14 +57,14 @@ 'datum': 'date', 'klasse': 'class', 'rol': 'role', - u'default-role (translation required)': 'default-role', + 'default-role (translation required)': 'default-role', 'title (translation required)': 'title', 'inhoud': 'contents', 'sectnum': 'sectnum', 'sectie-nummering': 'sectnum', 'hoofdstuk-nummering': 'sectnum', - u'header (translation required)': 'header', - u'footer (translation required)': 'footer', + 'header (translation required)': 'header', + 'footer (translation required)': 'footer', #'voetnoten': 'footnotes', #'citaten': 'citations', 'verwijzing-voetnoten': 'target-notes', @@ -78,7 +78,7 @@ # 'ab': 'abbreviation', 'acroniem': 'acronym', 'ac': 'acronym', - u'code (translation required)': 'code', + 'code (translation required)': 'code', 'index': 'index', 'i': 'index', 'inferieur': 'subscript', diff --git a/bin/docutils/parsers/rst/languages/nl.pyc b/bin/docutils/parsers/rst/languages/nl.pyc deleted file mode 100644 index 54dbf659..00000000 Binary files a/bin/docutils/parsers/rst/languages/nl.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/languages/pl.py b/bin/docutils/parsers/rst/languages/pl.py index 9cd7ddbf..5dc48229 100644 --- a/bin/docutils/parsers/rst/languages/pl.py +++ b/bin/docutils/parsers/rst/languages/pl.py @@ -17,84 +17,84 @@ directives = { # language-dependent: fixed - u'uwaga': 'attention', - u'ostro\u017cnie': 'caution', - u'code (translation required)': 'code', - u'niebezpiecze\u0144stwo': 'danger', - u'b\u0142\u0105d': 'error', - u'wskaz\u00f3wka': 'hint', - u'wa\u017cne': 'important', - u'przypis': 'note', - u'rada': 'tip', - u'ostrze\u017cenie': 'warning', - u'upomnienie': 'admonition', - u'ramka': 'sidebar', - u'temat': 'topic', - u'blok-linii': 'line-block', - u'sparsowany-litera\u0142': 'parsed-literal', - u'rubryka': 'rubric', - u'epigraf': 'epigraph', - u'highlights': 'highlights', # FIXME no polish equivalent? - u'pull-quote': 'pull-quote', # FIXME no polish equivalent? - u'z\u0142o\u017cony': 'compound', - u'kontener': 'container', + 'uwaga': 'attention', + 'ostro\u017cnie': 'caution', + 'code (translation required)': 'code', + 'niebezpiecze\u0144stwo': 'danger', + 'b\u0142\u0105d': 'error', + 'wskaz\u00f3wka': 'hint', + 'wa\u017cne': 'important', + 'przypis': 'note', + 'rada': 'tip', + 'ostrze\u017cenie': 'warning', + 'upomnienie': 'admonition', + 'ramka': 'sidebar', + 'temat': 'topic', + 'blok-linii': 'line-block', + 'sparsowany-litera\u0142': 'parsed-literal', + 'rubryka': 'rubric', + 'epigraf': 'epigraph', + 'highlights': 'highlights', # FIXME no polish equivalent? + 'pull-quote': 'pull-quote', # FIXME no polish equivalent? + 'z\u0142o\u017cony': 'compound', + 'kontener': 'container', #'questions': 'questions', - u'tabela': 'table', - u'tabela-csv': 'csv-table', - u'tabela-listowa': 'list-table', + 'tabela': 'table', + 'tabela-csv': 'csv-table', + 'tabela-listowa': 'list-table', #'qa': 'questions', #'faq': 'questions', - u'meta': 'meta', + 'meta': 'meta', 'math (translation required)': 'math', #'imagemap': 'imagemap', - u'obraz': 'image', - u'rycina': 'figure', - u'do\u0142\u0105cz': 'include', - u'surowe': 'raw', - u'zast\u0105p': 'replace', - u'unikod': 'unicode', - u'data': 'date', - u'klasa': 'class', - u'rola': 'role', - u'rola-domy\u015blna': 'default-role', - u'tytu\u0142': 'title', - u'tre\u015b\u0107': 'contents', - u'sectnum': 'sectnum', - u'numeracja-sekcji': 'sectnum', - u'nag\u0142\u00f3wek': 'header', - u'stopka': 'footer', + 'obraz': 'image', + 'rycina': 'figure', + 'do\u0142\u0105cz': 'include', + 'surowe': 'raw', + 'zast\u0105p': 'replace', + 'unikod': 'unicode', + 'data': 'date', + 'klasa': 'class', + 'rola': 'role', + 'rola-domy\u015blna': 'default-role', + 'tytu\u0142': 'title', + 'tre\u015b\u0107': 'contents', + 'sectnum': 'sectnum', + 'numeracja-sekcji': 'sectnum', + 'nag\u0142\u00f3wek': 'header', + 'stopka': 'footer', #'footnotes': 'footnotes', #'citations': 'citations', - u'target-notes': 'target-notes', # FIXME no polish equivalent? - u'restructuredtext-test-directive': 'restructuredtext-test-directive'} + 'target-notes': 'target-notes', # FIXME no polish equivalent? + 'restructuredtext-test-directive': 'restructuredtext-test-directive'} """Polish name to registered (in directives/__init__.py) directive name mapping.""" roles = { # language-dependent: fixed - u'skr\u00f3t': 'abbreviation', - u'akronim': 'acronym', - u'code (translation required)': 'code', - u'indeks': 'index', - u'indeks-dolny': 'subscript', - u'indeks-g\u00f3rny': 'superscript', - u'referencja-tytu\u0142': 'title-reference', - u'referencja-pep': 'pep-reference', - u'referencja-rfc': 'rfc-reference', - u'podkre\u015blenie': 'emphasis', - u'wyt\u0142uszczenie': 'strong', - u'dos\u0142ownie': 'literal', + 'skr\u00f3t': 'abbreviation', + 'akronim': 'acronym', + 'code (translation required)': 'code', + 'indeks': 'index', + 'indeks-dolny': 'subscript', + 'indeks-g\u00f3rny': 'superscript', + 'referencja-tytu\u0142': 'title-reference', + 'referencja-pep': 'pep-reference', + 'referencja-rfc': 'rfc-reference', + 'podkre\u015blenie': 'emphasis', + 'wyt\u0142uszczenie': 'strong', + 'dos\u0142ownie': 'literal', 'math (translation required)': 'math', - u'referencja-nazwana': 'named-reference', - u'referencja-anonimowa': 'anonymous-reference', - u'referencja-przypis': 'footnote-reference', - u'referencja-cytat': 'citation-reference', - u'referencja-podstawienie': 'substitution-reference', - u'cel': 'target', - u'referencja-uri': 'uri-reference', - u'uri': 'uri-reference', - u'url': 'uri-reference', - u'surowe': 'raw',} + 'referencja-nazwana': 'named-reference', + 'referencja-anonimowa': 'anonymous-reference', + 'referencja-przypis': 'footnote-reference', + 'referencja-cytat': 'citation-reference', + 'referencja-podstawienie': 'substitution-reference', + 'cel': 'target', + 'referencja-uri': 'uri-reference', + 'uri': 'uri-reference', + 'url': 'uri-reference', + 'surowe': 'raw',} """Mapping of Polish role names to canonical role names for interpreted text. """ diff --git a/bin/docutils/parsers/rst/languages/pl.pyc b/bin/docutils/parsers/rst/languages/pl.pyc deleted file mode 100644 index e196ba1c..00000000 Binary files a/bin/docutils/parsers/rst/languages/pl.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/languages/pt_br.py b/bin/docutils/parsers/rst/languages/pt_br.py index 36d8c426..257e54c7 100644 --- a/bin/docutils/parsers/rst/languages/pt_br.py +++ b/bin/docutils/parsers/rst/languages/pt_br.py @@ -17,90 +17,90 @@ directives = { # language-dependent: fixed - u'aten\u00E7\u00E3o': 'attention', + 'aten\u00E7\u00E3o': 'attention', 'cuidado': 'caution', - u'code (translation required)': 'code', + 'code (translation required)': 'code', 'perigo': 'danger', 'erro': 'error', - u'sugest\u00E3o': 'hint', + 'sugest\u00E3o': 'hint', 'importante': 'important', 'nota': 'note', 'dica': 'tip', 'aviso': 'warning', - u'exorta\u00E7\u00E3o': 'admonition', + 'exorta\u00E7\u00E3o': 'admonition', 'barra-lateral': 'sidebar', - u't\u00F3pico': 'topic', + 't\u00F3pico': 'topic', 'bloco-de-linhas': 'line-block', 'literal-interpretado': 'parsed-literal', 'rubrica': 'rubric', - u'ep\u00EDgrafo': 'epigraph', + 'ep\u00EDgrafo': 'epigraph', 'destaques': 'highlights', - u'cita\u00E7\u00E3o-destacada': 'pull-quote', - u'compound (translation required)': 'compound', - u'container (translation required)': 'container', + 'cita\u00E7\u00E3o-destacada': 'pull-quote', + 'compound (translation required)': 'compound', + 'container (translation required)': 'container', #'perguntas': 'questions', #'qa': 'questions', #'faq': 'questions', - u'table (translation required)': 'table', - u'csv-table (translation required)': 'csv-table', - u'list-table (translation required)': 'list-table', + 'table (translation required)': 'table', + 'csv-table (translation required)': 'csv-table', + 'list-table (translation required)': 'list-table', 'meta': 'meta', 'math (translation required)': 'math', #'imagemap': 'imagemap', 'imagem': 'image', 'figura': 'figure', - u'inclus\u00E3o': 'include', + 'inclus\u00E3o': 'include', 'cru': 'raw', - u'substitui\u00E7\u00E3o': 'replace', + 'substitui\u00E7\u00E3o': 'replace', 'unicode': 'unicode', 'data': 'date', 'classe': 'class', 'role (translation required)': 'role', - u'default-role (translation required)': 'default-role', - u'title (translation required)': 'title', - u'\u00EDndice': 'contents', + 'default-role (translation required)': 'default-role', + 'title (translation required)': 'title', + '\u00EDndice': 'contents', 'numsec': 'sectnum', - u'numera\u00E7\u00E3o-de-se\u00E7\u00F5es': 'sectnum', - u'header (translation required)': 'header', - u'footer (translation required)': 'footer', + 'numera\u00E7\u00E3o-de-se\u00E7\u00F5es': 'sectnum', + 'header (translation required)': 'header', + 'footer (translation required)': 'footer', #u'notas-de-rorap\u00E9': 'footnotes', #u'cita\u00E7\u00F5es': 'citations', - u'links-no-rodap\u00E9': 'target-notes', + 'links-no-rodap\u00E9': 'target-notes', 'restructuredtext-test-directive': 'restructuredtext-test-directive'} """Brazilian Portuguese name to registered (in directives/__init__.py) directive name mapping.""" roles = { # language-dependent: fixed - u'abbrevia\u00E7\u00E3o': 'abbreviation', + 'abbrevia\u00E7\u00E3o': 'abbreviation', 'ab': 'abbreviation', - u'acr\u00F4nimo': 'acronym', + 'acr\u00F4nimo': 'acronym', 'ac': 'acronym', - u'code (translation required)': 'code', - u'\u00EDndice-remissivo': 'index', + 'code (translation required)': 'code', + '\u00EDndice-remissivo': 'index', 'i': 'index', 'subscrito': 'subscript', 'sub': 'subscript', 'sobrescrito': 'superscript', 'sob': 'superscript', - u'refer\u00EAncia-a-t\u00EDtulo': 'title-reference', - u't\u00EDtulo': 'title-reference', + 'refer\u00EAncia-a-t\u00EDtulo': 'title-reference', + 't\u00EDtulo': 'title-reference', 't': 'title-reference', - u'refer\u00EAncia-a-pep': 'pep-reference', + 'refer\u00EAncia-a-pep': 'pep-reference', 'pep': 'pep-reference', - u'refer\u00EAncia-a-rfc': 'rfc-reference', + 'refer\u00EAncia-a-rfc': 'rfc-reference', 'rfc': 'rfc-reference', - u'\u00EAnfase': 'emphasis', + '\u00EAnfase': 'emphasis', 'forte': 'strong', 'literal': 'literal', 'math (translation required)': 'math', # translation required? - u'refer\u00EAncia-por-nome': 'named-reference', - u'refer\u00EAncia-an\u00F4nima': 'anonymous-reference', - u'refer\u00EAncia-a-nota-de-rodap\u00E9': 'footnote-reference', - u'refer\u00EAncia-a-cita\u00E7\u00E3o': 'citation-reference', - u'refer\u00EAncia-a-substitui\u00E7\u00E3o': 'substitution-reference', + 'refer\u00EAncia-por-nome': 'named-reference', + 'refer\u00EAncia-an\u00F4nima': 'anonymous-reference', + 'refer\u00EAncia-a-nota-de-rodap\u00E9': 'footnote-reference', + 'refer\u00EAncia-a-cita\u00E7\u00E3o': 'citation-reference', + 'refer\u00EAncia-a-substitui\u00E7\u00E3o': 'substitution-reference', 'alvo': 'target', - u'refer\u00EAncia-a-uri': 'uri-reference', + 'refer\u00EAncia-a-uri': 'uri-reference', 'uri': 'uri-reference', 'url': 'uri-reference', 'cru': 'raw',} diff --git a/bin/docutils/parsers/rst/languages/pt_br.pyc b/bin/docutils/parsers/rst/languages/pt_br.pyc deleted file mode 100644 index a1236986..00000000 Binary files a/bin/docutils/parsers/rst/languages/pt_br.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/languages/ru.py b/bin/docutils/parsers/rst/languages/ru.py index 3089314b..5dc00554 100644 --- a/bin/docutils/parsers/rst/languages/ru.py +++ b/bin/docutils/parsers/rst/languages/ru.py @@ -16,74 +16,74 @@ __docformat__ = 'reStructuredText' directives = { - u'блок-строк': u'line-block', - u'meta': u'meta', - u'математика': 'math', - u'обработанный-литерал': u'parsed-literal', - u'выделенная-цитата': u'pull-quote', - u'код': 'code', - u'compound (translation required)': 'compound', - u'контейнер': 'container', - u'таблица': 'table', - u'csv-table (translation required)': 'csv-table', - u'list-table (translation required)': 'list-table', - u'сырой': u'raw', - u'замена': u'replace', - u'тестовая-директива-restructuredtext': u'restructuredtext-test-directive', - u'целевые-сноски': u'target-notes', - u'unicode': u'unicode', - u'дата': u'date', - u'боковая-полоса': u'sidebar', - u'важно': u'important', - u'включать': u'include', - u'внимание': u'attention', - u'выделение': u'highlights', - u'замечание': u'admonition', - u'изображение': u'image', - u'класс': u'class', - u'роль': 'role', - u'default-role (translation required)': 'default-role', - u'титул': 'title', - u'номер-раздела': u'sectnum', - u'нумерация-разделов': u'sectnum', - u'опасно': u'danger', - u'осторожно': u'caution', - u'ошибка': u'error', - u'подсказка': u'tip', - u'предупреждение': u'warning', - u'примечание': u'note', - u'рисунок': u'figure', - u'рубрика': u'rubric', - u'совет': u'hint', - u'содержание': u'contents', - u'тема': u'topic', - u'эпиграф': u'epigraph', - u'header (translation required)': 'header', - u'footer (translation required)': 'footer',} + 'блок-строк': 'line-block', + 'meta': 'meta', + 'математика': 'math', + 'обработанный-литерал': 'parsed-literal', + 'выделенная-цитата': 'pull-quote', + 'код': 'code', + 'compound (translation required)': 'compound', + 'контейнер': 'container', + 'таблица': 'table', + 'csv-table (translation required)': 'csv-table', + 'list-table (translation required)': 'list-table', + 'сырой': 'raw', + 'замена': 'replace', + 'тестовая-директива-restructuredtext': 'restructuredtext-test-directive', + 'целевые-сноски': 'target-notes', + 'unicode': 'unicode', + 'дата': 'date', + 'боковая-полоса': 'sidebar', + 'важно': 'important', + 'включать': 'include', + 'внимание': 'attention', + 'выделение': 'highlights', + 'замечание': 'admonition', + 'изображение': 'image', + 'класс': 'class', + 'роль': 'role', + 'default-role (translation required)': 'default-role', + 'титул': 'title', + 'номер-раздела': 'sectnum', + 'нумерация-разделов': 'sectnum', + 'опасно': 'danger', + 'осторожно': 'caution', + 'ошибка': 'error', + 'подсказка': 'tip', + 'предупреждение': 'warning', + 'примечание': 'note', + 'рисунок': 'figure', + 'рубрика': 'rubric', + 'совет': 'hint', + 'содержание': 'contents', + 'тема': 'topic', + 'эпиграф': 'epigraph', + 'header (translation required)': 'header', + 'footer (translation required)': 'footer',} """Russian name to registered (in directives/__init__.py) directive name mapping.""" roles = { - u'акроним': 'acronym', - u'код': 'code', - u'анонимная-ссылка': 'anonymous-reference', - u'буквально': 'literal', - u'математика': 'math', - u'верхний-индекс': 'superscript', - u'выделение': 'emphasis', - u'именованная-ссылка': 'named-reference', - u'индекс': 'index', - u'нижний-индекс': 'subscript', - u'сильное-выделение': 'strong', - u'сокращение': 'abbreviation', - u'ссылка-замена': 'substitution-reference', - u'ссылка-на-pep': 'pep-reference', - u'ссылка-на-rfc': 'rfc-reference', - u'ссылка-на-uri': 'uri-reference', - u'ссылка-на-заглавие': 'title-reference', - u'ссылка-на-сноску': 'footnote-reference', - u'цитатная-ссылка': 'citation-reference', - u'цель': 'target', - u'сырой': 'raw',} + 'акроним': 'acronym', + 'код': 'code', + 'анонимная-ссылка': 'anonymous-reference', + 'буквально': 'literal', + 'математика': 'math', + 'верхний-индекс': 'superscript', + 'выделение': 'emphasis', + 'именованная-ссылка': 'named-reference', + 'индекс': 'index', + 'нижний-индекс': 'subscript', + 'сильное-выделение': 'strong', + 'сокращение': 'abbreviation', + 'ссылка-замена': 'substitution-reference', + 'ссылка-на-pep': 'pep-reference', + 'ссылка-на-rfc': 'rfc-reference', + 'ссылка-на-uri': 'uri-reference', + 'ссылка-на-заглавие': 'title-reference', + 'ссылка-на-сноску': 'footnote-reference', + 'цитатная-ссылка': 'citation-reference', + 'цель': 'target', + 'сырой': 'raw',} """Mapping of Russian role names to canonical role names for interpreted text. """ diff --git a/bin/docutils/parsers/rst/languages/ru.pyc b/bin/docutils/parsers/rst/languages/ru.pyc deleted file mode 100644 index eac19fc0..00000000 Binary files a/bin/docutils/parsers/rst/languages/ru.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/languages/sk.py b/bin/docutils/parsers/rst/languages/sk.py index a493e22f..9a7ba19f 100644 --- a/bin/docutils/parsers/rst/languages/sk.py +++ b/bin/docutils/parsers/rst/languages/sk.py @@ -16,53 +16,53 @@ directives = { - u'pozor': 'attention', - u'opatrne': 'caution', - u'code (translation required)': 'code', - u'nebezpe\xe8enstvo': 'danger', - u'chyba': 'error', - u'rada': 'hint', - u'd\xf4le\x9eit\xe9': 'important', - u'pozn\xe1mka': 'note', - u'tip (translation required)': 'tip', - u'varovanie': 'warning', - u'admonition (translation required)': 'admonition', - u'sidebar (translation required)': 'sidebar', - u't\xe9ma': 'topic', - u'blok-riadkov': 'line-block', - u'parsed-literal': 'parsed-literal', - u'rubric (translation required)': 'rubric', - u'epigraph (translation required)': 'epigraph', - u'highlights (translation required)': 'highlights', - u'pull-quote (translation required)': 'pull-quote', - u'compound (translation required)': 'compound', - u'container (translation required)': 'container', + 'pozor': 'attention', + 'opatrne': 'caution', + 'code (translation required)': 'code', + 'nebezpe\xe8enstvo': 'danger', + 'chyba': 'error', + 'rada': 'hint', + 'd\xf4le\x9eit\xe9': 'important', + 'pozn\xe1mka': 'note', + 'tip (translation required)': 'tip', + 'varovanie': 'warning', + 'admonition (translation required)': 'admonition', + 'sidebar (translation required)': 'sidebar', + 't\xe9ma': 'topic', + 'blok-riadkov': 'line-block', + 'parsed-literal': 'parsed-literal', + 'rubric (translation required)': 'rubric', + 'epigraph (translation required)': 'epigraph', + 'highlights (translation required)': 'highlights', + 'pull-quote (translation required)': 'pull-quote', + 'compound (translation required)': 'compound', + 'container (translation required)': 'container', #u'questions': 'questions', #u'qa': 'questions', #u'faq': 'questions', - u'table (translation required)': 'table', - u'csv-table (translation required)': 'csv-table', - u'list-table (translation required)': 'list-table', - u'meta': 'meta', + 'table (translation required)': 'table', + 'csv-table (translation required)': 'csv-table', + 'list-table (translation required)': 'list-table', + 'meta': 'meta', 'math (translation required)': 'math', #u'imagemap': 'imagemap', - u'obr\xe1zok': 'image', - u'tvar': 'figure', - u'vlo\x9ei\x9d': 'include', - u'raw (translation required)': 'raw', - u'nahradi\x9d': 'replace', - u'unicode': 'unicode', - u'd\u00E1tum': 'date', - u'class (translation required)': 'class', - u'role (translation required)': 'role', - u'default-role (translation required)': 'default-role', - u'title (translation required)': 'title', - u'obsah': 'contents', - u'\xe8as\x9d': 'sectnum', - u'\xe8as\x9d-\xe8\xedslovanie': 'sectnum', - u'cie\xbeov\xe9-pozn\xe1mky': 'target-notes', - u'header (translation required)': 'header', - u'footer (translation required)': 'footer', + 'obr\xe1zok': 'image', + 'tvar': 'figure', + 'vlo\x9ei\x9d': 'include', + 'raw (translation required)': 'raw', + 'nahradi\x9d': 'replace', + 'unicode': 'unicode', + 'd\u00E1tum': 'date', + 'class (translation required)': 'class', + 'role (translation required)': 'role', + 'default-role (translation required)': 'default-role', + 'title (translation required)': 'title', + 'obsah': 'contents', + '\xe8as\x9d': 'sectnum', + '\xe8as\x9d-\xe8\xedslovanie': 'sectnum', + 'cie\xbeov\xe9-pozn\xe1mky': 'target-notes', + 'header (translation required)': 'header', + 'footer (translation required)': 'footer', #u'footnotes': 'footnotes', #u'citations': 'citations', } @@ -70,26 +70,26 @@ mapping.""" roles = { - u'abbreviation (translation required)': 'abbreviation', - u'acronym (translation required)': 'acronym', - u'code (translation required)': 'code', - u'index (translation required)': 'index', - u'subscript (translation required)': 'subscript', - u'superscript (translation required)': 'superscript', - u'title-reference (translation required)': 'title-reference', - u'pep-reference (translation required)': 'pep-reference', - u'rfc-reference (translation required)': 'rfc-reference', - u'emphasis (translation required)': 'emphasis', - u'strong (translation required)': 'strong', - u'literal (translation required)': 'literal', + 'abbreviation (translation required)': 'abbreviation', + 'acronym (translation required)': 'acronym', + 'code (translation required)': 'code', + 'index (translation required)': 'index', + 'subscript (translation required)': 'subscript', + 'superscript (translation required)': 'superscript', + 'title-reference (translation required)': 'title-reference', + 'pep-reference (translation required)': 'pep-reference', + 'rfc-reference (translation required)': 'rfc-reference', + 'emphasis (translation required)': 'emphasis', + 'strong (translation required)': 'strong', + 'literal (translation required)': 'literal', 'math (translation required)': 'math', - u'named-reference (translation required)': 'named-reference', - u'anonymous-reference (translation required)': 'anonymous-reference', - u'footnote-reference (translation required)': 'footnote-reference', - u'citation-reference (translation required)': 'citation-reference', - u'substitution-reference (translation required)': 'substitution-reference', - u'target (translation required)': 'target', - u'uri-reference (translation required)': 'uri-reference', - u'raw (translation required)': 'raw',} + 'named-reference (translation required)': 'named-reference', + 'anonymous-reference (translation required)': 'anonymous-reference', + 'footnote-reference (translation required)': 'footnote-reference', + 'citation-reference (translation required)': 'citation-reference', + 'substitution-reference (translation required)': 'substitution-reference', + 'target (translation required)': 'target', + 'uri-reference (translation required)': 'uri-reference', + 'raw (translation required)': 'raw',} """Mapping of Slovak role names to canonical role names for interpreted text. """ diff --git a/bin/docutils/parsers/rst/languages/sk.pyc b/bin/docutils/parsers/rst/languages/sk.pyc deleted file mode 100644 index aab6ba4d..00000000 Binary files a/bin/docutils/parsers/rst/languages/sk.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/languages/sv.py b/bin/docutils/parsers/rst/languages/sv.py index 01363bd9..fd0dc58e 100644 --- a/bin/docutils/parsers/rst/languages/sv.py +++ b/bin/docutils/parsers/rst/languages/sv.py @@ -15,54 +15,54 @@ __docformat__ = 'reStructuredText' directives = { - u'observera': 'attention', - u'akta': 'caution', # also 'försiktigt' - u'kod': 'code', - u'fara': 'danger', - u'fel': 'error', - u'vink': 'hint', # also 'hint' - u'viktigt': 'important', - u'notera': 'note', - u'tips': 'tip', - u'varning': 'warning', - u'anmärkning': 'admonition', # literal 'tillrättavisning', 'förmaning' - u'sidorad': 'sidebar', - u'ämne': 'topic', - u'tema': 'topic', - u'rad-block': 'line-block', - u'parsed-literal (translation required)': 'parsed-literal', # 'tolkad-bokstavlig'? - u'rubrik': 'rubric', - u'epigraf': 'epigraph', - u'höjdpunkter': 'highlights', - u'pull-quote (translation required)': 'pull-quote', - u'sammansatt': 'compound', - u'container': 'container', + 'observera': 'attention', + 'akta': 'caution', # also 'försiktigt' + 'kod': 'code', + 'fara': 'danger', + 'fel': 'error', + 'vink': 'hint', # also 'hint' + 'viktigt': 'important', + 'notera': 'note', + 'tips': 'tip', + 'varning': 'warning', + 'anmärkning': 'admonition', # literal 'tillrättavisning', 'förmaning' + 'sidorad': 'sidebar', + 'ämne': 'topic', + 'tema': 'topic', + 'rad-block': 'line-block', + 'parsed-literal (translation required)': 'parsed-literal', # 'tolkad-bokstavlig'? + 'rubrik': 'rubric', + 'epigraf': 'epigraph', + 'höjdpunkter': 'highlights', + 'pull-quote (translation required)': 'pull-quote', + 'sammansatt': 'compound', + 'container': 'container', # u'frågor': 'questions', # NOTE: A bit long, but recommended by http://www.nada.kth.se/dataterm/: # u'frågor-och-svar': 'questions', # u'vanliga-frågor': 'questions', - u'tabell': 'table', - u'csv-tabell': 'csv-table', - u'list-tabell': 'list-table', - u'meta': 'meta', - u'matematik': 'math', + 'tabell': 'table', + 'csv-tabell': 'csv-table', + 'list-tabell': 'list-table', + 'meta': 'meta', + 'matematik': 'math', # u'bildkarta': 'imagemap', # FIXME: Translation might be too literal. - u'bild': 'image', - u'figur': 'figure', - u'inkludera': 'include', - u'rå': 'raw', - u'ersätta': 'replace', - u'unicode': 'unicode', - u'datum': 'date', - u'klass': 'class', - u'roll': 'role', - u'standardroll': 'default-role', - u'titel': 'title', - u'innehåll': 'contents', - u'sektionsnumrering': 'sectnum', - u'target-notes (translation required)': 'target-notes', - u'sidhuvud': 'header', - u'sidfot': 'footer', + 'bild': 'image', + 'figur': 'figure', + 'inkludera': 'include', + 'rå': 'raw', + 'ersätta': 'replace', + 'unicode': 'unicode', + 'datum': 'date', + 'klass': 'class', + 'roll': 'role', + 'standardroll': 'default-role', + 'titel': 'title', + 'innehåll': 'contents', + 'sektionsnumrering': 'sectnum', + 'target-notes (translation required)': 'target-notes', + 'sidhuvud': 'header', + 'sidfot': 'footer', # u'fotnoter': 'footnotes', # u'citeringar': 'citations', } @@ -70,26 +70,26 @@ mapping.""" roles = { - u'förkortning': 'abbreviation', - u'akronym': 'acronym', - u'kod': 'code', - u'index': 'index', - u'nedsänkt': 'subscript', - u'upphöjd': 'superscript', - u'titel-referens': 'title-reference', - u'pep-referens': 'pep-reference', - u'rfc-referens': 'rfc-reference', - u'betoning': 'emphasis', - u'stark': 'strong', - u'bokstavlig': 'literal', # also 'ordagranna' - u'matematik': 'math', - u'namngiven-referens': 'named-reference', - u'anonym-referens': 'anonymous-reference', - u'fotnot-referens': 'footnote-reference', - u'citat-referens': 'citation-reference', - u'ersättnings-referens': 'substitution-reference', - u'mål': 'target', - u'uri-referens': 'uri-reference', - u'rå': 'raw',} + 'förkortning': 'abbreviation', + 'akronym': 'acronym', + 'kod': 'code', + 'index': 'index', + 'nedsänkt': 'subscript', + 'upphöjd': 'superscript', + 'titel-referens': 'title-reference', + 'pep-referens': 'pep-reference', + 'rfc-referens': 'rfc-reference', + 'betoning': 'emphasis', + 'stark': 'strong', + 'bokstavlig': 'literal', # also 'ordagranna' + 'matematik': 'math', + 'namngiven-referens': 'named-reference', + 'anonym-referens': 'anonymous-reference', + 'fotnot-referens': 'footnote-reference', + 'citat-referens': 'citation-reference', + 'ersättnings-referens': 'substitution-reference', + 'mål': 'target', + 'uri-referens': 'uri-reference', + 'rå': 'raw',} """Mapping of Swedish role names to canonical role names for interpreted text. """ diff --git a/bin/docutils/parsers/rst/languages/sv.pyc b/bin/docutils/parsers/rst/languages/sv.pyc deleted file mode 100644 index 8fafc248..00000000 Binary files a/bin/docutils/parsers/rst/languages/sv.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/languages/zh_cn.py b/bin/docutils/parsers/rst/languages/zh_cn.py index f52d8e5f..4190665e 100644 --- a/bin/docutils/parsers/rst/languages/zh_cn.py +++ b/bin/docutils/parsers/rst/languages/zh_cn.py @@ -18,87 +18,87 @@ directives = { # language-dependent: fixed - u'注意': 'attention', - u'小心': 'caution', - u'code (translation required)': 'code', - u'危险': 'danger', - u'错误': 'error', - u'提示': 'hint', - u'重要': 'important', - u'注解': 'note', - u'技巧': 'tip', - u'警告': 'warning', - u'忠告': 'admonition', - u'侧框': 'sidebar', - u'主题': 'topic', - u'line-block (translation required)': 'line-block', - u'parsed-literal (translation required)': 'parsed-literal', - u'醒目': 'rubric', - u'铭文': 'epigraph', - u'要点': 'highlights', - u'pull-quote (translation required)': 'pull-quote', - u'复合': 'compound', - u'容器': 'container', + '注意': 'attention', + '小心': 'caution', + 'code (translation required)': 'code', + '危险': 'danger', + '错误': 'error', + '提示': 'hint', + '重要': 'important', + '注解': 'note', + '技巧': 'tip', + '警告': 'warning', + '忠告': 'admonition', + '侧框': 'sidebar', + '主题': 'topic', + 'line-block (translation required)': 'line-block', + 'parsed-literal (translation required)': 'parsed-literal', + '醒目': 'rubric', + '铭文': 'epigraph', + '要点': 'highlights', + 'pull-quote (translation required)': 'pull-quote', + '复合': 'compound', + '容器': 'container', #u'questions (translation required)': 'questions', - u'表格': 'table', - u'csv表格': 'csv-table', - u'列表表格': 'list-table', + '表格': 'table', + 'csv表格': 'csv-table', + '列表表格': 'list-table', #u'qa (translation required)': 'questions', #u'faq (translation required)': 'questions', - u'元数据': 'meta', - u'math (translation required)': 'math', + '元数据': 'meta', + 'math (translation required)': 'math', #u'imagemap (translation required)': 'imagemap', - u'图片': 'image', - u'图例': 'figure', - u'包含': 'include', - u'原文': 'raw', - u'代替': 'replace', - u'统一码': 'unicode', - u'日期': 'date', - u'类型': 'class', - u'角色': 'role', - u'默认角色': 'default-role', - u'标题': 'title', - u'目录': 'contents', - u'章节序号': 'sectnum', - u'题头': 'header', - u'页脚': 'footer', + '图片': 'image', + '图例': 'figure', + '包含': 'include', + '原文': 'raw', + '代替': 'replace', + '统一码': 'unicode', + '日期': 'date', + '类型': 'class', + '角色': 'role', + '默认角色': 'default-role', + '标题': 'title', + '目录': 'contents', + '章节序号': 'sectnum', + '题头': 'header', + '页脚': 'footer', #u'footnotes (translation required)': 'footnotes', #u'citations (translation required)': 'citations', - u'target-notes (translation required)': 'target-notes', - u'restructuredtext-test-directive': 'restructuredtext-test-directive'} + 'target-notes (translation required)': 'target-notes', + 'restructuredtext-test-directive': 'restructuredtext-test-directive'} """Simplified Chinese name to registered (in directives/__init__.py) directive name mapping.""" roles = { # language-dependent: fixed - u'缩写': 'abbreviation', - u'简称': 'acronym', - u'code (translation required)': 'code', - u'index (translation required)': 'index', - u'i (translation required)': 'index', - u'下标': 'subscript', - u'上标': 'superscript', - u'title-reference (translation required)': 'title-reference', - u'title (translation required)': 'title-reference', - u't (translation required)': 'title-reference', - u'pep-reference (translation required)': 'pep-reference', - u'pep (translation required)': 'pep-reference', - u'rfc-reference (translation required)': 'rfc-reference', - u'rfc (translation required)': 'rfc-reference', - u'强调': 'emphasis', - u'加粗': 'strong', - u'字面': 'literal', - u'math (translation required)': 'math', - u'named-reference (translation required)': 'named-reference', - u'anonymous-reference (translation required)': 'anonymous-reference', - u'footnote-reference (translation required)': 'footnote-reference', - u'citation-reference (translation required)': 'citation-reference', - u'substitution-reference (translation required)': 'substitution-reference', - u'target (translation required)': 'target', - u'uri-reference (translation required)': 'uri-reference', - u'uri (translation required)': 'uri-reference', - u'url (translation required)': 'uri-reference', - u'raw (translation required)': 'raw',} + '缩写': 'abbreviation', + '简称': 'acronym', + 'code (translation required)': 'code', + 'index (translation required)': 'index', + 'i (translation required)': 'index', + '下标': 'subscript', + '上标': 'superscript', + 'title-reference (translation required)': 'title-reference', + 'title (translation required)': 'title-reference', + 't (translation required)': 'title-reference', + 'pep-reference (translation required)': 'pep-reference', + 'pep (translation required)': 'pep-reference', + 'rfc-reference (translation required)': 'rfc-reference', + 'rfc (translation required)': 'rfc-reference', + '强调': 'emphasis', + '加粗': 'strong', + '字面': 'literal', + 'math (translation required)': 'math', + 'named-reference (translation required)': 'named-reference', + 'anonymous-reference (translation required)': 'anonymous-reference', + 'footnote-reference (translation required)': 'footnote-reference', + 'citation-reference (translation required)': 'citation-reference', + 'substitution-reference (translation required)': 'substitution-reference', + 'target (translation required)': 'target', + 'uri-reference (translation required)': 'uri-reference', + 'uri (translation required)': 'uri-reference', + 'url (translation required)': 'uri-reference', + 'raw (translation required)': 'raw',} """Mapping of Simplified Chinese role names to canonical role names for interpreted text.""" diff --git a/bin/docutils/parsers/rst/languages/zh_cn.pyc b/bin/docutils/parsers/rst/languages/zh_cn.pyc deleted file mode 100644 index d502d870..00000000 Binary files a/bin/docutils/parsers/rst/languages/zh_cn.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/languages/zh_tw.py b/bin/docutils/parsers/rst/languages/zh_tw.py index 84159190..e64ea945 100644 --- a/bin/docutils/parsers/rst/languages/zh_tw.py +++ b/bin/docutils/parsers/rst/languages/zh_tw.py @@ -38,7 +38,7 @@ 'highlights (translation required)': 'highlights', 'pull-quote (translation required)': 'pull-quote', 'compound (translation required)': 'compound', - u'container (translation required)': 'container', + 'container (translation required)': 'container', #'questions (translation required)': 'questions', 'table (translation required)': 'table', 'csv-table (translation required)': 'csv-table', @@ -54,16 +54,16 @@ 'raw (translation required)': 'raw', 'replace (translation required)': 'replace', 'unicode (translation required)': 'unicode', - u'日期': 'date', + '日期': 'date', 'class (translation required)': 'class', 'role (translation required)': 'role', - u'default-role (translation required)': 'default-role', - u'title (translation required)': 'title', + 'default-role (translation required)': 'default-role', + 'title (translation required)': 'title', 'contents (translation required)': 'contents', 'sectnum (translation required)': 'sectnum', 'section-numbering (translation required)': 'sectnum', - u'header (translation required)': 'header', - u'footer (translation required)': 'footer', + 'header (translation required)': 'header', + 'footer (translation required)': 'footer', #'footnotes (translation required)': 'footnotes', #'citations (translation required)': 'citations', 'target-notes (translation required)': 'target-notes', @@ -77,7 +77,7 @@ 'ab (translation required)': 'abbreviation', 'acronym (translation required)': 'acronym', 'ac (translation required)': 'acronym', - u'code (translation required)': 'code', + 'code (translation required)': 'code', 'index (translation required)': 'index', 'i (translation required)': 'index', 'subscript (translation required)': 'subscript', diff --git a/bin/docutils/parsers/rst/languages/zh_tw.pyc b/bin/docutils/parsers/rst/languages/zh_tw.pyc deleted file mode 100644 index 9c152f73..00000000 Binary files a/bin/docutils/parsers/rst/languages/zh_tw.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/roles.py b/bin/docutils/parsers/rst/roles.py index 7fa8c1ff..8812b256 100644 --- a/bin/docutils/parsers/rst/roles.py +++ b/bin/docutils/parsers/rst/roles.py @@ -109,7 +109,7 @@ def role(role_name, language_module, lineno, reporter): canonicalname = None try: canonicalname = language_module.roles[normname] - except AttributeError, error: + except AttributeError as error: msg_text.append('Problem retrieving role entry from language ' 'module %r: %s.' % (language_module, error)) except KeyError: @@ -327,7 +327,7 @@ def code_role(role, rawtext, text, lineno, inliner, options={}, content=[]): try: tokens = Lexer(utils.unescape(text, 1), language, inliner.document.settings.syntax_highlight) - except LexerError, error: + except LexerError as error: msg = inliner.reporter.warning(error) prb = inliner.problematic(rawtext, rawtext, msg) return [prb], [msg] diff --git a/bin/docutils/parsers/rst/roles.pyc b/bin/docutils/parsers/rst/roles.pyc deleted file mode 100644 index b436f3c1..00000000 Binary files a/bin/docutils/parsers/rst/roles.pyc and /dev/null differ diff --git a/bin/docutils/parsers/rst/states.py b/bin/docutils/parsers/rst/states.py index fa4c507f..a1a7ec38 100644 --- a/bin/docutils/parsers/rst/states.py +++ b/bin/docutils/parsers/rst/states.py @@ -313,7 +313,7 @@ def nested_list_parse(self, block, input_offset, node, initial_state, if blank_finish_state is None: blank_finish_state = initial_state state_machine.states[blank_finish_state].blank_finish = blank_finish - for key, value in extra_settings.items(): + for key, value in list(extra_settings.items()): setattr(state_machine.states[initial_state], key, value) state_machine.run(block, input_offset, memo=self.memo, node=node, match_titles=match_titles) @@ -471,13 +471,13 @@ def __init__(self): def init_customizations(self, settings): # lookahead and look-behind expressions for inline markup rules if getattr(settings, 'character_level_inline_markup', False): - start_string_prefix = u'(^|(? row number mapping - colseps = self.colseps.keys() # list of column boundaries + colseps = list(self.colseps.keys()) # list of column boundaries colseps.sort() colindex = {} for i in range(len(colseps)): @@ -498,7 +498,7 @@ def check_columns(self, lines, first_line, columns): """ # "Infinite" value for a dummy last column's beginning, used to # check for text overflow: - columns.append((sys.maxint, None)) + columns.append((sys.maxsize, None)) lastcol = len(columns) - 2 # combining characters do not contribute to the column width lines = [strip_combining_chars(line) for line in lines] @@ -540,5 +540,5 @@ def update_dict_of_lists(master, newdata): Both parameters must be dictionaries containing list values. """ - for key, values in newdata.items(): + for key, values in list(newdata.items()): master.setdefault(key, []).extend(values) diff --git a/bin/docutils/parsers/rst/tableparser.pyc b/bin/docutils/parsers/rst/tableparser.pyc deleted file mode 100644 index 0324f11d..00000000 Binary files a/bin/docutils/parsers/rst/tableparser.pyc and /dev/null differ diff --git a/bin/docutils/readers/__init__.pyc b/bin/docutils/readers/__init__.pyc deleted file mode 100644 index ffe9cb7d..00000000 Binary files a/bin/docutils/readers/__init__.pyc and /dev/null differ diff --git a/bin/docutils/readers/doctree.pyc b/bin/docutils/readers/doctree.pyc deleted file mode 100644 index 22b8228f..00000000 Binary files a/bin/docutils/readers/doctree.pyc and /dev/null differ diff --git a/bin/docutils/readers/pep.pyc b/bin/docutils/readers/pep.pyc deleted file mode 100644 index a0f051ed..00000000 Binary files a/bin/docutils/readers/pep.pyc and /dev/null differ diff --git a/bin/docutils/readers/standalone.pyc b/bin/docutils/readers/standalone.pyc deleted file mode 100644 index c0dde882..00000000 Binary files a/bin/docutils/readers/standalone.pyc and /dev/null differ diff --git a/bin/docutils/statemachine.py b/bin/docutils/statemachine.py index 653e7c86..4fb8808a 100644 --- a/bin/docutils/statemachine.py +++ b/bin/docutils/statemachine.py @@ -177,7 +177,7 @@ def __init__(self, state_classes, initial_state, debug=False): def unlink(self): """Remove circular references to objects no longer required.""" - for state in self.states.values(): + for state in list(self.states.values()): state.unlink() self.states = None @@ -213,15 +213,15 @@ def run(self, input_lines, input_offset=0, context=None, self.line_offset = -1 self.current_state = initial_state or self.initial_state if self.debug: - print >>self._stderr, ( - u'\nStateMachine.run: input_lines (line_offset=%s):\n| %s' - % (self.line_offset, u'\n| '.join(self.input_lines))) + print(( + '\nStateMachine.run: input_lines (line_offset=%s):\n| %s' + % (self.line_offset, '\n| '.join(self.input_lines))), file=self._stderr) transitions = None results = [] state = self.get_state() try: if self.debug: - print >>self._stderr, '\nStateMachine.run: bof transition' + print('\nStateMachine.run: bof transition', file=self._stderr) context, result = state.bof(context) results.extend(result) while True: @@ -231,32 +231,32 @@ def run(self, input_lines, input_offset=0, context=None, if self.debug: source, offset = self.input_lines.info( self.line_offset) - print >>self._stderr, ( - u'\nStateMachine.run: line (source=%r, ' - u'offset=%r):\n| %s' - % (source, offset, self.line)) + print(( + '\nStateMachine.run: line (source=%r, ' + 'offset=%r):\n| %s' + % (source, offset, self.line)), file=self._stderr) context, next_state, result = self.check_line( context, state, transitions) except EOFError: if self.debug: - print >>self._stderr, ( + print(( '\nStateMachine.run: %s.eof transition' - % state.__class__.__name__) + % state.__class__.__name__), file=self._stderr) result = state.eof(context) results.extend(result) break else: results.extend(result) - except TransitionCorrection, exception: + except TransitionCorrection as exception: self.previous_line() # back up for another try transitions = (exception.args[0],) if self.debug: - print >>self._stderr, ( + print(( '\nStateMachine.run: TransitionCorrection to ' 'state "%s", transition %s.' - % (state.__class__.__name__, transitions[0])) + % (state.__class__.__name__, transitions[0])), file=self._stderr) continue - except StateCorrection, exception: + except StateCorrection as exception: self.previous_line() # back up for another try next_state = exception.args[0] if len(exception.args) == 1: @@ -264,10 +264,10 @@ def run(self, input_lines, input_offset=0, context=None, else: transitions = (exception.args[1],) if self.debug: - print >>self._stderr, ( + print(( '\nStateMachine.run: StateCorrection to state ' '"%s", transition %s.' - % (next_state, transitions[0])) + % (next_state, transitions[0])), file=self._stderr) else: transitions = None state = self.get_state(next_state) @@ -288,11 +288,11 @@ def get_state(self, next_state=None): """ if next_state: if self.debug and next_state != self.current_state: - print >>self._stderr, ( + print(( '\nStateMachine.get_state: Changing state from ' '"%s" to "%s" (input line %s).' % (self.current_state, next_state, - self.abs_line_number())) + self.abs_line_number())), file=self._stderr) self.current_state = next_state try: return self.states[self.current_state] @@ -416,7 +416,7 @@ def get_text_block(self, flush_left=False): flush_left) self.next_line(len(block) - 1) return block - except UnexpectedIndentationError, err: + except UnexpectedIndentationError as err: block = err.args[0] self.next_line(len(block) - 1) # advance to last line of block raise @@ -445,24 +445,24 @@ def check_line(self, context, state, transitions=None): transitions = state.transition_order state_correction = None if self.debug: - print >>self._stderr, ( + print(( '\nStateMachine.check_line: state="%s", transitions=%r.' - % (state.__class__.__name__, transitions)) + % (state.__class__.__name__, transitions)), file=self._stderr) for name in transitions: pattern, method, next_state = state.transitions[name] match = pattern.match(self.line) if match: if self.debug: - print >>self._stderr, ( + print(( '\nStateMachine.check_line: Matched transition ' '"%s" in state "%s".' - % (name, state.__class__.__name__)) + % (name, state.__class__.__name__)), file=self._stderr) return method(match, context, next_state) else: if self.debug: - print >>self._stderr, ( + print(( '\nStateMachine.check_line: No match in state "%s".' - % state.__class__.__name__) + % state.__class__.__name__), file=self._stderr) return state.no_match(context, transitions) def add_state(self, state_class): @@ -488,16 +488,16 @@ def runtime_init(self): """ Initialize `self.states`. """ - for state in self.states.values(): + for state in list(self.states.values()): state.runtime_init() def error(self): """Report error details.""" type, value, module, line, function = _exception_data() - print >>self._stderr, u'%s: %s' % (type, value) - print >>self._stderr, 'input line %s' % (self.abs_line_number()) - print >>self._stderr, (u'module %s, line %s, function %s' % - (module, line, function)) + print('%s: %s' % (type, value), file=self._stderr) + print('input line %s' % (self.abs_line_number()), file=self._stderr) + print(('module %s, line %s, function %s' % + (module, line, function)), file=self._stderr) def attach_observer(self, observer): """ @@ -1143,7 +1143,7 @@ def __len__(self): return len(self.data) # just works. def __getitem__(self, i): - if isinstance(i, types.SliceType): + if isinstance(i, slice): assert i.step in (None, 1), 'cannot handle slice with stride' return self.__class__(self.data[i.start:i.stop], items=self.items[i.start:i.stop], @@ -1152,7 +1152,7 @@ def __getitem__(self, i): return self.data[i] def __setitem__(self, i, item): - if isinstance(i, types.SliceType): + if isinstance(i, slice): assert i.step in (None, 1), 'cannot handle slice with stride' if not isinstance(item, ViewList): raise TypeError('assigning non-ViewList to ViewList slice') @@ -1293,7 +1293,7 @@ def reverse(self): self.parent = None def sort(self, *args): - tmp = zip(self.data, self.items) + tmp = list(zip(self.data, self.items)) tmp.sort(*args) self.data = [entry[0] for entry in tmp] self.items = [entry[1] for entry in tmp] @@ -1329,14 +1329,14 @@ def xitems(self): def pprint(self): """Print the list in `grep` format (`source:offset:value` lines)""" for line in self.xitems(): - print "%s:%d:%s" % line + print("%s:%d:%s" % line) class StringList(ViewList): """A `ViewList` with string-specific methods.""" - def trim_left(self, length, start=0, end=sys.maxint): + def trim_left(self, length, start=0, end=sys.maxsize): """ Trim `length` characters off the beginning of each item, in-place, from index `start` to `end`. No whitespace-checking is done on the @@ -1458,7 +1458,7 @@ def pad_double_width(self, pad_char): return # new in Python 2.4 for i in range(len(self.data)): line = self.data[i] - if isinstance(line, unicode): + if isinstance(line, str): new = [] for char in line: new.append(char) diff --git a/bin/docutils/statemachine.pyc b/bin/docutils/statemachine.pyc deleted file mode 100644 index dd15f9f2..00000000 Binary files a/bin/docutils/statemachine.pyc and /dev/null differ diff --git a/bin/docutils/transforms/__init__.pyc b/bin/docutils/transforms/__init__.pyc deleted file mode 100644 index e5714795..00000000 Binary files a/bin/docutils/transforms/__init__.pyc and /dev/null differ diff --git a/bin/docutils/transforms/components.pyc b/bin/docutils/transforms/components.pyc deleted file mode 100644 index 1bb558dd..00000000 Binary files a/bin/docutils/transforms/components.pyc and /dev/null differ diff --git a/bin/docutils/transforms/frontmatter.py b/bin/docutils/transforms/frontmatter.py index 92287daa..4c02326f 100644 --- a/bin/docutils/transforms/frontmatter.py +++ b/bin/docutils/transforms/frontmatter.py @@ -51,7 +51,7 @@ def promote_title(self, node): """ # Type check if not isinstance(node, nodes.Element): - raise TypeError, 'node must be of Element-derived type.' + raise TypeError('node must be of Element-derived type.') # `node` must not have a title yet. assert not (len(node) and isinstance(node[0], nodes.title)) @@ -94,7 +94,7 @@ def promote_subtitle(self, node): """ # Type check if not isinstance(node, nodes.Element): - raise TypeError, 'node must be of Element-derived type.' + raise TypeError('node must be of Element-derived type.') subsection, index = self.candidate_index(node) if index is None: diff --git a/bin/docutils/transforms/frontmatter.pyc b/bin/docutils/transforms/frontmatter.pyc deleted file mode 100644 index c9d1cd20..00000000 Binary files a/bin/docutils/transforms/frontmatter.pyc and /dev/null differ diff --git a/bin/docutils/transforms/misc.pyc b/bin/docutils/transforms/misc.pyc deleted file mode 100644 index 490364c3..00000000 Binary files a/bin/docutils/transforms/misc.pyc and /dev/null differ diff --git a/bin/docutils/transforms/parts.py b/bin/docutils/transforms/parts.py index ec6eda37..6094eee7 100644 --- a/bin/docutils/transforms/parts.py +++ b/bin/docutils/transforms/parts.py @@ -37,7 +37,7 @@ def apply(self): self.startnode.parent.remove(self.startnode) if self.document.settings.sectnum_xform: if self.maxdepth is None: - self.maxdepth = sys.maxint + self.maxdepth = sys.maxsize self.update_section_numbers(self.document) else: # store details for eventual section numbering by the writer self.document.settings.sectnum_depth = self.maxdepth @@ -58,7 +58,7 @@ def update_section_numbers(self, node, prefix=(), depth=0): # Use   for spacing: generated = nodes.generated( '', (self.prefix + '.'.join(numbers) + self.suffix - + u'\u00a0' * 3), + + '\u00a0' * 3), classes=['sectnum']) title.insert(0, generated) title['auto'] = 1 @@ -120,7 +120,7 @@ def build_contents(self, node, level=0): sections = [sect for sect in node if isinstance(sect, nodes.section)] entries = [] autonum = 0 - depth = self.startnode.details.get('depth', sys.maxint) + depth = self.startnode.details.get('depth', sys.maxsize) for section in sections: title = section[0] auto = title.get('auto') # May be set by SectNum. diff --git a/bin/docutils/transforms/parts.pyc b/bin/docutils/transforms/parts.pyc deleted file mode 100644 index 0357bca1..00000000 Binary files a/bin/docutils/transforms/parts.pyc and /dev/null differ diff --git a/bin/docutils/transforms/peps.pyc b/bin/docutils/transforms/peps.pyc deleted file mode 100644 index 563126e3..00000000 Binary files a/bin/docutils/transforms/peps.pyc and /dev/null differ diff --git a/bin/docutils/transforms/references.py b/bin/docutils/transforms/references.py index f271067d..b14b1890 100644 --- a/bin/docutils/transforms/references.py +++ b/bin/docutils/transforms/references.py @@ -475,17 +475,17 @@ class Footnotes(Transform): # Entries 1-4 and 6 below are from section 12.51 of # The Chicago Manual of Style, 14th edition. '*', # asterisk/star - u'\u2020', # dagger † - u'\u2021', # double dagger ‡ - u'\u00A7', # section mark § - u'\u00B6', # paragraph mark (pilcrow) ¶ + '\u2020', # dagger † + '\u2021', # double dagger ‡ + '\u00A7', # section mark § + '\u00B6', # paragraph mark (pilcrow) ¶ # (parallels ['||'] in CMoS) '#', # number sign # The entries below were chosen arbitrarily. - u'\u2660', # spade suit ♠ - u'\u2665', # heart suit ♥ - u'\u2666', # diamond suit ♦ - u'\u2663', # club suit ♣ + '\u2660', # spade suit ♠ + '\u2665', # heart suit ♥ + '\u2666', # diamond suit ♦ + '\u2663', # club suit ♣ ] def apply(self): diff --git a/bin/docutils/transforms/references.pyc b/bin/docutils/transforms/references.pyc deleted file mode 100644 index 79b913e8..00000000 Binary files a/bin/docutils/transforms/references.pyc and /dev/null differ diff --git a/bin/docutils/transforms/universal.pyc b/bin/docutils/transforms/universal.pyc deleted file mode 100644 index 51a966ae..00000000 Binary files a/bin/docutils/transforms/universal.pyc and /dev/null differ diff --git a/bin/docutils/transforms/writer_aux.pyc b/bin/docutils/transforms/writer_aux.pyc deleted file mode 100644 index e594c88b..00000000 Binary files a/bin/docutils/transforms/writer_aux.pyc and /dev/null differ diff --git a/bin/docutils/utils/__init__.py b/bin/docutils/utils/__init__.py index 39976fb6..623439b3 100644 --- a/bin/docutils/utils/__init__.py +++ b/bin/docutils/utils/__init__.py @@ -71,7 +71,7 @@ class Reporter: INFO_LEVEL, WARNING_LEVEL, ERROR_LEVEL, - SEVERE_LEVEL) = range(5) + SEVERE_LEVEL) = list(range(5)) def __init__(self, source, report_level, halt_level, stream=None, debug=False, encoding=None, error_handler='backslashreplace'): @@ -326,7 +326,7 @@ def assemble_option_dict(option_list, options_spec): raise DuplicateOptionError('duplicate option "%s"' % name) try: options[name] = convertor(value) - except (ValueError, TypeError), detail: + except (ValueError, TypeError) as detail: raise detail.__class__('(option: "%s"; value: %r)\n%s' % (name, value, ' '.join(detail.args))) return options @@ -342,7 +342,7 @@ def decode_path(path): Decode file/path string in a failsave manner if not already done. """ # see also http://article.gmane.org/gmane.text.docutils.user/2905 - if isinstance(path, unicode): + if isinstance(path, str): return path try: path = path.decode(sys.getfilesystemencoding(), 'strict') @@ -601,7 +601,7 @@ def split_escaped_whitespace(text): def strip_combining_chars(text): if isinstance(text, str) and sys.version_info < (3,0): return text - return u''.join([c for c in text if not unicodedata.combining(c)]) + return ''.join([c for c in text if not unicodedata.combining(c)]) def find_combining_chars(text): """Return indices of all combining chars in Unicode string `text`. @@ -625,7 +625,7 @@ def column_indices(text): """ # TODO: account for asian wide chars here instead of using dummy # replacements in the tableparser? - string_indices = range(len(text)) + string_indices = list(range(len(text))) for index in find_combining_chars(text): string_indices[index] = None return [i for i in string_indices if i is not None] @@ -669,7 +669,7 @@ def unique_combinations(items, n): """Return n-length tuples, in sorted order, no repeated elements""" if n==0: yield [] else: - for i in xrange(len(items)-n+1): + for i in range(len(items)-n+1): for cc in unique_combinations(items[i+1:],n-1): yield [items[i]]+cc diff --git a/bin/docutils/utils/__init__.pyc b/bin/docutils/utils/__init__.pyc deleted file mode 100644 index cf4cb55a..00000000 Binary files a/bin/docutils/utils/__init__.pyc and /dev/null differ diff --git a/bin/docutils/utils/code_analyzer.py b/bin/docutils/utils/code_analyzer.py index 314a5064..a8f9bd4b 100644 --- a/bin/docutils/utils/code_analyzer.py +++ b/bin/docutils/utils/code_analyzer.py @@ -75,7 +75,7 @@ def merge(self, tokens): Also strip the final newline (added by pygments). """ tokens = iter(tokens) - (lasttype, lastval) = tokens.next() + (lasttype, lastval) = next(tokens) for ttype, value in tokens: if ttype is lasttype: lastval += value diff --git a/bin/docutils/utils/code_analyzer.pyc b/bin/docutils/utils/code_analyzer.pyc deleted file mode 100644 index 5f4bfd94..00000000 Binary files a/bin/docutils/utils/code_analyzer.pyc and /dev/null differ diff --git a/bin/docutils/utils/error_reporting.py b/bin/docutils/utils/error_reporting.py index 02e62ebe..eb828351 100644 --- a/bin/docutils/utils/error_reporting.py +++ b/bin/docutils/utils/error_reporting.py @@ -49,7 +49,7 @@ # locale.getpreferredencoding([do_setlocale=True|False]) # has side-effects | might return a wrong guess. # (cf. Update 1 in http://stackoverflow.com/questions/4082645/using-python-2-xs-locale-module-to-format-numbers-and-currency) - except ValueError, error: # OS X may set UTF-8 without language code + except ValueError as error: # OS X may set UTF-8 without language code # see http://bugs.python.org/issue18378 # and https://sourceforge.net/p/docutils/bugs/298/ if "unknown locale: UTF-8" in error.args: @@ -88,7 +88,7 @@ def __str__(self): self.encoding_errors)) for arg in self.data.args] return ', '.join(args) - if isinstance(self.data, unicode): + if isinstance(self.data, str): if sys.version_info > (3,0): return self.data else: @@ -109,24 +109,24 @@ def __unicode__(self): * else decode with `self.encoding` and `self.decoding_errors`. """ try: - u = unicode(self.data) + u = str(self.data) if isinstance(self.data, EnvironmentError): u = u.replace(": u'", ": '") # normalize filename quoting return u - except UnicodeError, error: # catch ..Encode.. and ..Decode.. errors + except UnicodeError as error: # catch ..Encode.. and ..Decode.. errors if isinstance(self.data, EnvironmentError): - return u"[Errno %s] %s: '%s'" % (self.data.errno, + return "[Errno %s] %s: '%s'" % (self.data.errno, SafeString(self.data.strerror, self.encoding, self.decoding_errors), SafeString(self.data.filename, self.encoding, self.decoding_errors)) if isinstance(self.data, Exception): - args = [unicode(SafeString(arg, self.encoding, + args = [str(SafeString(arg, self.encoding, decoding_errors=self.decoding_errors)) for arg in self.data.args] - return u', '.join(args) + return ', '.join(args) if isinstance(error, UnicodeDecodeError): - return unicode(self.data, self.encoding, self.decoding_errors) + return str(self.data, self.encoding, self.decoding_errors) raise class ErrorString(SafeString): @@ -138,7 +138,7 @@ def __str__(self): super(ErrorString, self).__str__()) def __unicode__(self): - return u'%s: %s' % (self.data.__class__.__name__, + return '%s: %s' % (self.data.__class__.__name__, super(ErrorString, self).__unicode__()) @@ -168,7 +168,7 @@ def __init__(self, stream=None, encoding=None, # if `stream` is a file name, open it elif isinstance(stream, str): stream = open(stream, 'w') - elif isinstance(stream, unicode): + elif isinstance(stream, str): stream = open(stream.encode(sys.getfilesystemencoding()), 'w') self.stream = stream @@ -193,21 +193,21 @@ def write(self, data): if self.stream is False: return if isinstance(data, Exception): - data = unicode(SafeString(data, self.encoding, + data = str(SafeString(data, self.encoding, self.encoding_errors, self.decoding_errors)) try: self.stream.write(data) except UnicodeEncodeError: self.stream.write(data.encode(self.encoding, self.encoding_errors)) except TypeError: - if isinstance(data, unicode): # passed stream may expect bytes + if isinstance(data, str): # passed stream may expect bytes self.stream.write(data.encode(self.encoding, self.encoding_errors)) return if self.stream in (sys.stderr, sys.stdout): self.stream.buffer.write(data) # write bytes to raw stream else: - self.stream.write(unicode(data, self.encoding, + self.stream.write(str(data, self.encoding, self.decoding_errors)) def close(self): diff --git a/bin/docutils/utils/error_reporting.pyc b/bin/docutils/utils/error_reporting.pyc deleted file mode 100644 index 0da5a23c..00000000 Binary files a/bin/docutils/utils/error_reporting.pyc and /dev/null differ diff --git a/bin/docutils/utils/math/__init__.pyc b/bin/docutils/utils/math/__init__.pyc deleted file mode 100644 index 9483c69f..00000000 Binary files a/bin/docutils/utils/math/__init__.pyc and /dev/null differ diff --git a/bin/docutils/utils/math/latex2mathml.py b/bin/docutils/utils/math/latex2mathml.py index bcb48771..5efcc72e 100644 --- a/bin/docutils/utils/math/latex2mathml.py +++ b/bin/docutils/utils/math/latex2mathml.py @@ -22,26 +22,26 @@ import docutils.utils.math.tex2unichar as tex2unichar # TeX spacing combining -over = {'acute': u'\u00B4', # u'\u0301', - 'bar': u'\u00AF', # u'\u0304', - 'breve': u'\u02D8', # u'\u0306', - 'check': u'\u02C7', # u'\u030C', - 'dot': u'\u02D9', # u'\u0307', - 'ddot': u'\u00A8', # u'\u0308', - 'dddot': u'\u20DB', - 'grave': u'`', # u'\u0300', - 'hat': u'^', # u'\u0302', - 'mathring': u'\u02DA', # u'\u030A', - 'overleftrightarrow': u'\u20e1', +over = {'acute': '\u00B4', # u'\u0301', + 'bar': '\u00AF', # u'\u0304', + 'breve': '\u02D8', # u'\u0306', + 'check': '\u02C7', # u'\u030C', + 'dot': '\u02D9', # u'\u0307', + 'ddot': '\u00A8', # u'\u0308', + 'dddot': '\u20DB', + 'grave': '`', # u'\u0300', + 'hat': '^', # u'\u0302', + 'mathring': '\u02DA', # u'\u030A', + 'overleftrightarrow': '\u20e1', # 'overline': # u'\u0305', - 'tilde': u'\u02DC', # u'\u0303', - 'vec': u'\u20D7'} + 'tilde': '\u02DC', # u'\u0303', + 'vec': '\u20D7'} Greek = { # Capital Greek letters: (upright in TeX style) - 'Phi':u'\u03a6', 'Xi':u'\u039e', 'Sigma':u'\u03a3', - 'Psi':u'\u03a8', 'Delta':u'\u0394', 'Theta':u'\u0398', - 'Upsilon':u'\u03d2', 'Pi':u'\u03a0', 'Omega':u'\u03a9', - 'Gamma':u'\u0393', 'Lambda':u'\u039b'} + 'Phi':'\u03a6', 'Xi':'\u039e', 'Sigma':'\u03a3', + 'Psi':'\u03a8', 'Delta':'\u0394', 'Theta':'\u0398', + 'Upsilon':'\u03d2', 'Pi':'\u03a0', 'Omega':'\u03a9', + 'Gamma':'\u0393', 'Lambda':'\u039b'} letters = tex2unichar.mathalpha @@ -67,92 +67,92 @@ mathbb = { - 'A': u'\U0001D538', - 'B': u'\U0001D539', - 'C': u'\u2102', - 'D': u'\U0001D53B', - 'E': u'\U0001D53C', - 'F': u'\U0001D53D', - 'G': u'\U0001D53E', - 'H': u'\u210D', - 'I': u'\U0001D540', - 'J': u'\U0001D541', - 'K': u'\U0001D542', - 'L': u'\U0001D543', - 'M': u'\U0001D544', - 'N': u'\u2115', - 'O': u'\U0001D546', - 'P': u'\u2119', - 'Q': u'\u211A', - 'R': u'\u211D', - 'S': u'\U0001D54A', - 'T': u'\U0001D54B', - 'U': u'\U0001D54C', - 'V': u'\U0001D54D', - 'W': u'\U0001D54E', - 'X': u'\U0001D54F', - 'Y': u'\U0001D550', - 'Z': u'\u2124', + 'A': '\U0001D538', + 'B': '\U0001D539', + 'C': '\u2102', + 'D': '\U0001D53B', + 'E': '\U0001D53C', + 'F': '\U0001D53D', + 'G': '\U0001D53E', + 'H': '\u210D', + 'I': '\U0001D540', + 'J': '\U0001D541', + 'K': '\U0001D542', + 'L': '\U0001D543', + 'M': '\U0001D544', + 'N': '\u2115', + 'O': '\U0001D546', + 'P': '\u2119', + 'Q': '\u211A', + 'R': '\u211D', + 'S': '\U0001D54A', + 'T': '\U0001D54B', + 'U': '\U0001D54C', + 'V': '\U0001D54D', + 'W': '\U0001D54E', + 'X': '\U0001D54F', + 'Y': '\U0001D550', + 'Z': '\u2124', } mathscr = { - 'A': u'\U0001D49C', - 'B': u'\u212C', # bernoulli function - 'C': u'\U0001D49E', - 'D': u'\U0001D49F', - 'E': u'\u2130', - 'F': u'\u2131', - 'G': u'\U0001D4A2', - 'H': u'\u210B', # hamiltonian - 'I': u'\u2110', - 'J': u'\U0001D4A5', - 'K': u'\U0001D4A6', - 'L': u'\u2112', # lagrangian - 'M': u'\u2133', # physics m-matrix - 'N': u'\U0001D4A9', - 'O': u'\U0001D4AA', - 'P': u'\U0001D4AB', - 'Q': u'\U0001D4AC', - 'R': u'\u211B', - 'S': u'\U0001D4AE', - 'T': u'\U0001D4AF', - 'U': u'\U0001D4B0', - 'V': u'\U0001D4B1', - 'W': u'\U0001D4B2', - 'X': u'\U0001D4B3', - 'Y': u'\U0001D4B4', - 'Z': u'\U0001D4B5', - 'a': u'\U0001D4B6', - 'b': u'\U0001D4B7', - 'c': u'\U0001D4B8', - 'd': u'\U0001D4B9', - 'e': u'\u212F', - 'f': u'\U0001D4BB', - 'g': u'\u210A', - 'h': u'\U0001D4BD', - 'i': u'\U0001D4BE', - 'j': u'\U0001D4BF', - 'k': u'\U0001D4C0', - 'l': u'\U0001D4C1', - 'm': u'\U0001D4C2', - 'n': u'\U0001D4C3', - 'o': u'\u2134', # order of - 'p': u'\U0001D4C5', - 'q': u'\U0001D4C6', - 'r': u'\U0001D4C7', - 's': u'\U0001D4C8', - 't': u'\U0001D4C9', - 'u': u'\U0001D4CA', - 'v': u'\U0001D4CB', - 'w': u'\U0001D4CC', - 'x': u'\U0001D4CD', - 'y': u'\U0001D4CE', - 'z': u'\U0001D4CF', + 'A': '\U0001D49C', + 'B': '\u212C', # bernoulli function + 'C': '\U0001D49E', + 'D': '\U0001D49F', + 'E': '\u2130', + 'F': '\u2131', + 'G': '\U0001D4A2', + 'H': '\u210B', # hamiltonian + 'I': '\u2110', + 'J': '\U0001D4A5', + 'K': '\U0001D4A6', + 'L': '\u2112', # lagrangian + 'M': '\u2133', # physics m-matrix + 'N': '\U0001D4A9', + 'O': '\U0001D4AA', + 'P': '\U0001D4AB', + 'Q': '\U0001D4AC', + 'R': '\u211B', + 'S': '\U0001D4AE', + 'T': '\U0001D4AF', + 'U': '\U0001D4B0', + 'V': '\U0001D4B1', + 'W': '\U0001D4B2', + 'X': '\U0001D4B3', + 'Y': '\U0001D4B4', + 'Z': '\U0001D4B5', + 'a': '\U0001D4B6', + 'b': '\U0001D4B7', + 'c': '\U0001D4B8', + 'd': '\U0001D4B9', + 'e': '\u212F', + 'f': '\U0001D4BB', + 'g': '\u210A', + 'h': '\U0001D4BD', + 'i': '\U0001D4BE', + 'j': '\U0001D4BF', + 'k': '\U0001D4C0', + 'l': '\U0001D4C1', + 'm': '\U0001D4C2', + 'n': '\U0001D4C3', + 'o': '\u2134', # order of + 'p': '\U0001D4C5', + 'q': '\U0001D4C6', + 'r': '\U0001D4C7', + 's': '\U0001D4C8', + 't': '\U0001D4C9', + 'u': '\U0001D4CA', + 'v': '\U0001D4CB', + 'w': '\U0001D4CC', + 'x': '\U0001D4CD', + 'y': '\U0001D4CE', + 'z': '\U0001D4CF', } -negatables = {'=': u'\u2260', - r'\in': u'\u2209', - r'\equiv': u'\u2262'} +negatables = {'=': '\u2260', + r'\in': '\u2209', + r'\equiv': '\u2262'} # LaTeX to MathML translation stuff: class math: @@ -304,8 +304,8 @@ def xml(self): return math.xml(self) class mfenced(math): - translation = {'\\{': '{', '\\langle': u'\u2329', - '\\}': '}', '\\rangle': u'\u232A', + translation = {'\\{': '{', '\\langle': '\u2329', + '\\}': '}', '\\rangle': '\u232A', '.': ''} def __init__(self, par): self.openpar = par @@ -328,7 +328,7 @@ def __init__(self, children=None, nchildren=None, **kwargs): def xml_start(self): return [''] + for item in list(self.attrs.items())] + ['>'] class mover(math): nchildren = 2 @@ -413,7 +413,7 @@ def parse_latex_math(string, inline=True): node = entry skip = 2 else: - raise SyntaxError(ur'Syntax error: "%s%s"' % (c, c2)) + raise SyntaxError(r'Syntax error: "%s%s"' % (c, c2)) elif c.isalpha(): node = node.append(mi(c)) elif c.isdigit(): @@ -454,7 +454,7 @@ def parse_latex_math(string, inline=True): node.close().append(entry) node = entry else: - raise SyntaxError(ur'Illegal character: "%s"' % c) + raise SyntaxError(r'Illegal character: "%s"' % c) string = string[skip:] return tree @@ -466,8 +466,8 @@ def handle_keyword(name, node, string): skip = 1 if name == 'begin': if not string.startswith('{matrix}'): - raise SyntaxError(u'Environment not supported! ' - u'Supported environment: "matrix".') + raise SyntaxError('Environment not supported! ' + 'Supported environment: "matrix".') skip += 8 entry = mtd() table = mtable(mtr(entry)) @@ -475,15 +475,15 @@ def handle_keyword(name, node, string): node = entry elif name == 'end': if not string.startswith('{matrix}'): - raise SyntaxError(ur'Expected "\end{matrix}"!') + raise SyntaxError(r'Expected "\end{matrix}"!') skip += 8 node = node.close().close().close() elif name in ('text', 'mathrm'): if string[0] != '{': - raise SyntaxError(ur'Expected "\text{...}"!') + raise SyntaxError(r'Expected "\text{...}"!') i = string.find('}') if i == -1: - raise SyntaxError(ur'Expected "\text{...}"!') + raise SyntaxError(r'Expected "\text{...}"!') node = node.append(mtext(string[1:i])) skip += i + 1 elif name == 'sqrt': @@ -499,7 +499,7 @@ def handle_keyword(name, node, string): if string.startswith(par): break else: - raise SyntaxError(u'Missing left-brace!') + raise SyntaxError('Missing left-brace!') fenced = mfenced(par) node.append(fenced) row = mrow() @@ -511,7 +511,7 @@ def handle_keyword(name, node, string): if string.startswith(par): break else: - raise SyntaxError(u'Missing right-brace!') + raise SyntaxError('Missing right-brace!') node = node.close() node.closepar = par node = node.close() @@ -521,7 +521,7 @@ def handle_keyword(name, node, string): if string.startswith(operator): break else: - raise SyntaxError(ur'Expected something to negate: "\not ..."!') + raise SyntaxError(r'Expected something to negate: "\not ..."!') node = node.append(mo(negatables[operator])) skip += len(operator) elif name == 'mathbf': @@ -530,12 +530,12 @@ def handle_keyword(name, node, string): node = style elif name == 'mathbb': if string[0] != '{' or not string[1].isupper() or string[2] != '}': - raise SyntaxError(ur'Expected something like "\mathbb{A}"!') + raise SyntaxError(r'Expected something like "\mathbb{A}"!') node = node.append(mi(mathbb[string[1]])) skip += 3 elif name in ('mathscr', 'mathcal'): if string[0] != '{' or string[2] != '}': - raise SyntaxError(ur'Expected something like "\mathscr{A}"!') + raise SyntaxError(r'Expected something like "\mathscr{A}"!') node = node.append(mi(mathscr[string[1]])) skip += 3 elif name == 'colon': # "normal" colon, not binary operator @@ -555,7 +555,7 @@ def handle_keyword(name, node, string): node.append(ovr) node = ovr else: - raise SyntaxError(u'Unknown LaTeX command: ' + name) + raise SyntaxError('Unknown LaTeX command: ' + name) return node, skip diff --git a/bin/docutils/utils/math/latex2mathml.pyc b/bin/docutils/utils/math/latex2mathml.pyc deleted file mode 100644 index 82561705..00000000 Binary files a/bin/docutils/utils/math/latex2mathml.pyc and /dev/null differ diff --git a/bin/docutils/utils/math/math2html.py b/bin/docutils/utils/math/math2html.py index 1f61e23f..9872cbc6 100644 --- a/bin/docutils/utils/math/math2html.py +++ b/bin/docutils/utils/math/math2html.py @@ -84,489 +84,489 @@ class BibStylesConfig(object): abbrvnat = { - u'@article':u'$authors. $title. $journal,{ {$volume:}$pages,} $month $year.{ doi: $doi.}{ URL $url.}{ $note.}', - u'cite':u'$surname($year)', - u'default':u'$authors. $title. $publisher, $year.{ URL $url.}{ $note.}', + '@article':'$authors. $title. $journal,{ {$volume:}$pages,} $month $year.{ doi: $doi.}{ URL $url.}{ $note.}', + 'cite':'$surname($year)', + 'default':'$authors. $title. $publisher, $year.{ URL $url.}{ $note.}', } alpha = { - u'@article':u'$authors. $title.{ $journal{, {$volume}{($number)}}{: $pages}{, $year}.}{ $url.}{ $filename.}{ $note.}', - u'cite':u'$Sur$YY', - u'default':u'$authors. $title.{ $journal,} $year.{ $url.}{ $filename.}{ $note.}', + '@article':'$authors. $title.{ $journal{, {$volume}{($number)}}{: $pages}{, $year}.}{ $url.}{ $filename.}{ $note.}', + 'cite':'$Sur$YY', + 'default':'$authors. $title.{ $journal,} $year.{ $url.}{ $filename.}{ $note.}', } authordate2 = { - u'@article':u'$authors. $year. $title. $journal, $volume($number), $pages.{ URL $url.}{ $note.}', - u'@book':u'$authors. $year. $title. $publisher.{ URL $url.}{ $note.}', - u'cite':u'$surname, $year', - u'default':u'$authors. $year. $title. $publisher.{ URL $url.}{ $note.}', + '@article':'$authors. $year. $title. $journal, $volume($number), $pages.{ URL $url.}{ $note.}', + '@book':'$authors. $year. $title. $publisher.{ URL $url.}{ $note.}', + 'cite':'$surname, $year', + 'default':'$authors. $year. $title. $publisher.{ URL $url.}{ $note.}', } default = { - u'@article':u'$authors: “$title”, $journal,{ pp. $pages,} $year.{ URL $url.}{ $note.}', - u'@book':u'{$authors: }$title{ ($editor, ed.)}.{{ $publisher,} $year.}{ URL $url.}{ $note.}', - u'@booklet':u'$authors: $title.{{ $publisher,} $year.}{ URL $url.}{ $note.}', - u'@conference':u'$authors: “$title”, $journal,{ pp. $pages,} $year.{ URL $url.}{ $note.}', - u'@inbook':u'$authors: $title.{{ $publisher,} $year.}{ URL $url.}{ $note.}', - u'@incollection':u'$authors: $title{ in $booktitle{ ($editor, ed.)}}.{{ $publisher,} $year.}{ URL $url.}{ $note.}', - u'@inproceedings':u'$authors: “$title”, $booktitle,{ pp. $pages,} $year.{ URL $url.}{ $note.}', - u'@manual':u'$authors: $title.{{ $publisher,} $year.}{ URL $url.}{ $note.}', - u'@mastersthesis':u'$authors: $title.{{ $publisher,} $year.}{ URL $url.}{ $note.}', - u'@misc':u'$authors: $title.{{ $publisher,}{ $howpublished,} $year.}{ URL $url.}{ $note.}', - u'@phdthesis':u'$authors: $title.{{ $publisher,} $year.}{ URL $url.}{ $note.}', - u'@proceedings':u'$authors: “$title”, $journal,{ pp. $pages,} $year.{ URL $url.}{ $note.}', - u'@techreport':u'$authors: $title, $year.{ URL $url.}{ $note.}', - u'@unpublished':u'$authors: “$title”, $journal, $year.{ URL $url.}{ $note.}', - u'cite':u'$index', - u'default':u'$authors: $title.{{ $publisher,} $year.}{ URL $url.}{ $note.}', + '@article':'$authors: “$title”, $journal,{ pp. $pages,} $year.{ URL $url.}{ $note.}', + '@book':'{$authors: }$title{ ($editor, ed.)}.{{ $publisher,} $year.}{ URL $url.}{ $note.}', + '@booklet':'$authors: $title.{{ $publisher,} $year.}{ URL $url.}{ $note.}', + '@conference':'$authors: “$title”, $journal,{ pp. $pages,} $year.{ URL $url.}{ $note.}', + '@inbook':'$authors: $title.{{ $publisher,} $year.}{ URL $url.}{ $note.}', + '@incollection':'$authors: $title{ in $booktitle{ ($editor, ed.)}}.{{ $publisher,} $year.}{ URL $url.}{ $note.}', + '@inproceedings':'$authors: “$title”, $booktitle,{ pp. $pages,} $year.{ URL $url.}{ $note.}', + '@manual':'$authors: $title.{{ $publisher,} $year.}{ URL $url.}{ $note.}', + '@mastersthesis':'$authors: $title.{{ $publisher,} $year.}{ URL $url.}{ $note.}', + '@misc':'$authors: $title.{{ $publisher,}{ $howpublished,} $year.}{ URL $url.}{ $note.}', + '@phdthesis':'$authors: $title.{{ $publisher,} $year.}{ URL $url.}{ $note.}', + '@proceedings':'$authors: “$title”, $journal,{ pp. $pages,} $year.{ URL $url.}{ $note.}', + '@techreport':'$authors: $title, $year.{ URL $url.}{ $note.}', + '@unpublished':'$authors: “$title”, $journal, $year.{ URL $url.}{ $note.}', + 'cite':'$index', + 'default':'$authors: $title.{{ $publisher,} $year.}{ URL $url.}{ $note.}', } defaulttags = { - u'YY':u'??', u'authors':u'', u'surname':u'', + 'YY':'??', 'authors':'', 'surname':'', } ieeetr = { - u'@article':u'$authors, “$title”, $journal, vol. $volume, no. $number, pp. $pages, $year.{ URL $url.}{ $note.}', - u'@book':u'$authors, $title. $publisher, $year.{ URL $url.}{ $note.}', - u'cite':u'$index', - u'default':u'$authors, “$title”. $year.{ URL $url.}{ $note.}', + '@article':'$authors, “$title”, $journal, vol. $volume, no. $number, pp. $pages, $year.{ URL $url.}{ $note.}', + '@book':'$authors, $title. $publisher, $year.{ URL $url.}{ $note.}', + 'cite':'$index', + 'default':'$authors, “$title”. $year.{ URL $url.}{ $note.}', } plain = { - u'@article':u'$authors. $title.{ $journal{, {$volume}{($number)}}{:$pages}{, $year}.}{ URL $url.}{ $note.}', - u'@book':u'$authors. $title. $publisher,{ $month} $year.{ URL $url.}{ $note.}', - u'@incollection':u'$authors. $title.{ In $booktitle {($editor, ed.)}.} $publisher,{ $month} $year.{ URL $url.}{ $note.}', - u'@inproceedings':u'$authors. $title. { $booktitle{, {$volume}{($number)}}{:$pages}{, $year}.}{ URL $url.}{ $note.}', - u'cite':u'$index', - u'default':u'{$authors. }$title.{{ $publisher,} $year.}{ URL $url.}{ $note.}', + '@article':'$authors. $title.{ $journal{, {$volume}{($number)}}{:$pages}{, $year}.}{ URL $url.}{ $note.}', + '@book':'$authors. $title. $publisher,{ $month} $year.{ URL $url.}{ $note.}', + '@incollection':'$authors. $title.{ In $booktitle {($editor, ed.)}.} $publisher,{ $month} $year.{ URL $url.}{ $note.}', + '@inproceedings':'$authors. $title. { $booktitle{, {$volume}{($number)}}{:$pages}{, $year}.}{ URL $url.}{ $note.}', + 'cite':'$index', + 'default':'{$authors. }$title.{{ $publisher,} $year.}{ URL $url.}{ $note.}', } vancouver = { - u'@article':u'$authors. $title. $journal, $year{;{$volume}{($number)}{:$pages}}.{ URL: $url.}{ $note.}', - u'@book':u'$authors. $title. {$publisher, }$year.{ URL: $url.}{ $note.}', - u'cite':u'$index', - u'default':u'$authors. $title; {$publisher, }$year.{ $howpublished.}{ URL: $url.}{ $note.}', + '@article':'$authors. $title. $journal, $year{;{$volume}{($number)}{:$pages}}.{ URL: $url.}{ $note.}', + '@book':'$authors. $title. {$publisher, }$year.{ URL: $url.}{ $note.}', + 'cite':'$index', + 'default':'$authors. $title; {$publisher, }$year.{ $howpublished.}{ URL: $url.}{ $note.}', } class BibTeXConfig(object): "Configuration class from elyxer.config file" replaced = { - u'--':u'—', u'..':u'.', + '--':'—', '..':'.', } class ContainerConfig(object): "Configuration class from elyxer.config file" endings = { - u'Align':u'\\end_layout', u'BarredText':u'\\bar', - u'BoldText':u'\\series', u'Cell':u'':u'>', + '&':'&', '<':'<', '>':'>', } html = { - u'/>':u'>', + '/>':'>', } iso885915 = { - u' ':u' ', u' ':u' ', u' ':u' ', + ' ':' ', ' ':' ', ' ':' ', } nonunicode = { - u' ':u' ', + ' ':' ', } class FormulaConfig(object): "Configuration class from elyxer.config file" alphacommands = { - u'\\AA':u'Å', u'\\AE':u'Æ', - u'\\AmS':u'AmS', u'\\Angstroem':u'Å', - u'\\DH':u'Ð', u'\\Koppa':u'Ϟ', u'\\L':u'Ł', u'\\Micro':u'µ', u'\\O':u'Ø', - u'\\OE':u'Œ', u'\\Sampi':u'Ϡ', u'\\Stigma':u'Ϛ', u'\\TH':u'Þ', - u'\\aa':u'å', u'\\ae':u'æ', u'\\alpha':u'α', u'\\beta':u'β', - u'\\delta':u'δ', u'\\dh':u'ð', u'\\digamma':u'ϝ', u'\\epsilon':u'ϵ', - u'\\eta':u'η', u'\\eth':u'ð', u'\\gamma':u'γ', u'\\i':u'ı', - u'\\imath':u'ı', u'\\iota':u'ι', u'\\j':u'ȷ', u'\\jmath':u'ȷ', - u'\\kappa':u'κ', u'\\koppa':u'ϟ', u'\\l':u'ł', u'\\lambda':u'λ', - u'\\mu':u'μ', u'\\nu':u'ν', u'\\o':u'ø', u'\\oe':u'œ', u'\\omega':u'ω', - u'\\phi':u'φ', u'\\pi':u'π', u'\\psi':u'ψ', u'\\rho':u'ρ', - u'\\sampi':u'ϡ', u'\\sigma':u'σ', u'\\ss':u'ß', u'\\stigma':u'ϛ', - u'\\tau':u'τ', u'\\tcohm':u'Ω', u'\\textcrh':u'ħ', u'\\th':u'þ', - u'\\theta':u'θ', u'\\upsilon':u'υ', u'\\varDelta':u'∆', - u'\\varGamma':u'Γ', u'\\varLambda':u'Λ', u'\\varOmega':u'Ω', - u'\\varPhi':u'Φ', u'\\varPi':u'Π', u'\\varPsi':u'Ψ', u'\\varSigma':u'Σ', - u'\\varTheta':u'Θ', u'\\varUpsilon':u'Υ', u'\\varXi':u'Ξ', - u'\\varbeta':u'ϐ', u'\\varepsilon':u'ε', u'\\varkappa':u'ϰ', - u'\\varphi':u'φ', u'\\varpi':u'ϖ', u'\\varrho':u'ϱ', u'\\varsigma':u'ς', - u'\\vartheta':u'ϑ', u'\\xi':u'ξ', u'\\zeta':u'ζ', + '\\AA':'Å', '\\AE':'Æ', + '\\AmS':'AmS', '\\Angstroem':'Å', + '\\DH':'Ð', '\\Koppa':'Ϟ', '\\L':'Ł', '\\Micro':'µ', '\\O':'Ø', + '\\OE':'Œ', '\\Sampi':'Ϡ', '\\Stigma':'Ϛ', '\\TH':'Þ', + '\\aa':'å', '\\ae':'æ', '\\alpha':'α', '\\beta':'β', + '\\delta':'δ', '\\dh':'ð', '\\digamma':'ϝ', '\\epsilon':'ϵ', + '\\eta':'η', '\\eth':'ð', '\\gamma':'γ', '\\i':'ı', + '\\imath':'ı', '\\iota':'ι', '\\j':'ȷ', '\\jmath':'ȷ', + '\\kappa':'κ', '\\koppa':'ϟ', '\\l':'ł', '\\lambda':'λ', + '\\mu':'μ', '\\nu':'ν', '\\o':'ø', '\\oe':'œ', '\\omega':'ω', + '\\phi':'φ', '\\pi':'π', '\\psi':'ψ', '\\rho':'ρ', + '\\sampi':'ϡ', '\\sigma':'σ', '\\ss':'ß', '\\stigma':'ϛ', + '\\tau':'τ', '\\tcohm':'Ω', '\\textcrh':'ħ', '\\th':'þ', + '\\theta':'θ', '\\upsilon':'υ', '\\varDelta':'∆', + '\\varGamma':'Γ', '\\varLambda':'Λ', '\\varOmega':'Ω', + '\\varPhi':'Φ', '\\varPi':'Π', '\\varPsi':'Ψ', '\\varSigma':'Σ', + '\\varTheta':'Θ', '\\varUpsilon':'Υ', '\\varXi':'Ξ', + '\\varbeta':'ϐ', '\\varepsilon':'ε', '\\varkappa':'ϰ', + '\\varphi':'φ', '\\varpi':'ϖ', '\\varrho':'ϱ', '\\varsigma':'ς', + '\\vartheta':'ϑ', '\\xi':'ξ', '\\zeta':'ζ', } array = { - u'begin':u'\\begin', u'cellseparator':u'&', u'end':u'\\end', - u'rowseparator':u'\\\\', + 'begin':'\\begin', 'cellseparator':'&', 'end':'\\end', + 'rowseparator':'\\\\', } bigbrackets = { - u'(':[u'⎛',u'⎜',u'⎝',], u')':[u'⎞',u'⎟',u'⎠',], u'[':[u'⎡',u'⎢',u'⎣',], - u']':[u'⎤',u'⎥',u'⎦',], u'{':[u'⎧',u'⎪',u'⎨',u'⎩',], u'|':[u'|',], - u'}':[u'⎫',u'⎪',u'⎬',u'⎭',], u'∥':[u'∥',], + '(':['⎛','⎜','⎝',], ')':['⎞','⎟','⎠',], '[':['⎡','⎢','⎣',], + ']':['⎤','⎥','⎦',], '{':['⎧','⎪','⎨','⎩',], '|':['|',], + '}':['⎫','⎪','⎬','⎭',], '∥':['∥',], } bigsymbols = { - u'∑':[u'⎲',u'⎳',], u'∫':[u'⌠',u'⌡',], + '∑':['⎲','⎳',], '∫':['⌠','⌡',], } bracketcommands = { - u'\\left':u'span class="symbol"', - u'\\left.':u'', - u'\\middle':u'span class="symbol"', u'\\right':u'span class="symbol"', - u'\\right.':u'', + '\\left':'span class="symbol"', + '\\left.':'', + '\\middle':'span class="symbol"', '\\right':'span class="symbol"', + '\\right.':'', } combiningfunctions = { - u'\\"':u'̈', u'\\\'':u'́', u'\\^':u'̂', u'\\`':u'̀', u'\\acute':u'́', - u'\\bar':u'̄', u'\\breve':u'̆', u'\\c':u'̧', u'\\check':u'̌', - u'\\dddot':u'⃛', u'\\ddot':u'̈', u'\\dot':u'̇', u'\\grave':u'̀', - u'\\hat':u'̂', u'\\mathring':u'̊', u'\\overleftarrow':u'⃖', - u'\\overrightarrow':u'⃗', u'\\r':u'̊', u'\\s':u'̩', - u'\\textcircled':u'⃝', u'\\textsubring':u'̥', u'\\tilde':u'̃', - u'\\v':u'̌', u'\\vec':u'⃗', u'\\~':u'̃', + '\\"':'̈', '\\\'':'́', '\\^':'̂', '\\`':'̀', '\\acute':'́', + '\\bar':'̄', '\\breve':'̆', '\\c':'̧', '\\check':'̌', + '\\dddot':'⃛', '\\ddot':'̈', '\\dot':'̇', '\\grave':'̀', + '\\hat':'̂', '\\mathring':'̊', '\\overleftarrow':'⃖', + '\\overrightarrow':'⃗', '\\r':'̊', '\\s':'̩', + '\\textcircled':'⃝', '\\textsubring':'̥', '\\tilde':'̃', + '\\v':'̌', '\\vec':'⃗', '\\~':'̃', } commands = { - u'\\ ':u' ', u'\\!':u'', u'\\#':u'#', u'\\$':u'$', u'\\%':u'%', - u'\\&':u'&', u'\\,':u' ', u'\\:':u' ', u'\\;':u' ', u'\\AC':u'∿', - u'\\APLcomment':u'⍝', u'\\APLdownarrowbox':u'⍗', u'\\APLinput':u'⍞', - u'\\APLinv':u'⌹', u'\\APLleftarrowbox':u'⍇', u'\\APLlog':u'⍟', - u'\\APLrightarrowbox':u'⍈', u'\\APLuparrowbox':u'⍐', u'\\Box':u'□', - u'\\Bumpeq':u'≎', u'\\CIRCLE':u'●', u'\\Cap':u'⋒', - u'\\CapitalDifferentialD':u'ⅅ', u'\\CheckedBox':u'☑', u'\\Circle':u'○', - u'\\Coloneqq':u'⩴', u'\\ComplexI':u'ⅈ', u'\\ComplexJ':u'ⅉ', - u'\\Corresponds':u'≙', u'\\Cup':u'⋓', u'\\Delta':u'Δ', u'\\Diamond':u'◇', - u'\\Diamondblack':u'◆', u'\\Diamonddot':u'⟐', u'\\DifferentialD':u'ⅆ', - u'\\Downarrow':u'⇓', u'\\EUR':u'€', u'\\Euler':u'ℇ', - u'\\ExponetialE':u'ⅇ', u'\\Finv':u'Ⅎ', u'\\Game':u'⅁', u'\\Gamma':u'Γ', - u'\\Im':u'ℑ', u'\\Join':u'⨝', u'\\LEFTCIRCLE':u'◖', u'\\LEFTcircle':u'◐', - u'\\LHD':u'◀', u'\\Lambda':u'Λ', u'\\Lbag':u'⟅', u'\\Leftarrow':u'⇐', - u'\\Lleftarrow':u'⇚', u'\\Longleftarrow':u'⟸', - u'\\Longleftrightarrow':u'⟺', u'\\Longrightarrow':u'⟹', u'\\Lparen':u'⦅', - u'\\Lsh':u'↰', u'\\Mapsfrom':u'⇐|', u'\\Mapsto':u'|⇒', u'\\Omega':u'Ω', - u'\\P':u'¶', u'\\Phi':u'Φ', u'\\Pi':u'Π', u'\\Pr':u'Pr', u'\\Psi':u'Ψ', - u'\\Qoppa':u'Ϙ', u'\\RHD':u'▶', u'\\RIGHTCIRCLE':u'◗', - u'\\RIGHTcircle':u'◑', u'\\Rbag':u'⟆', u'\\Re':u'ℜ', u'\\Rparen':u'⦆', - u'\\Rrightarrow':u'⇛', u'\\Rsh':u'↱', u'\\S':u'§', u'\\Sigma':u'Σ', - u'\\Square':u'☐', u'\\Subset':u'⋐', u'\\Sun':u'☉', u'\\Supset':u'⋑', - u'\\Theta':u'Θ', u'\\Uparrow':u'⇑', u'\\Updownarrow':u'⇕', - u'\\Upsilon':u'Υ', u'\\Vdash':u'⊩', u'\\Vert':u'∥', u'\\Vvdash':u'⊪', - u'\\XBox':u'☒', u'\\Xi':u'Ξ', u'\\Yup':u'⅄', u'\\\\':u'
', - u'\\_':u'_', u'\\aleph':u'ℵ', u'\\amalg':u'∐', u'\\anchor':u'⚓', - u'\\angle':u'∠', u'\\aquarius':u'♒', u'\\arccos':u'arccos', - u'\\arcsin':u'arcsin', u'\\arctan':u'arctan', u'\\arg':u'arg', - u'\\aries':u'♈', u'\\arrowbullet':u'➢', u'\\ast':u'∗', u'\\asymp':u'≍', - u'\\backepsilon':u'∍', u'\\backprime':u'‵', u'\\backsimeq':u'⋍', - u'\\backslash':u'\\', u'\\ballotx':u'✗', u'\\barwedge':u'⊼', - u'\\because':u'∵', u'\\beth':u'ℶ', u'\\between':u'≬', u'\\bigcap':u'∩', - u'\\bigcirc':u'○', u'\\bigcup':u'∪', u'\\bigodot':u'⊙', - u'\\bigoplus':u'⊕', u'\\bigotimes':u'⊗', u'\\bigsqcup':u'⊔', - u'\\bigstar':u'★', u'\\bigtriangledown':u'▽', u'\\bigtriangleup':u'△', - u'\\biguplus':u'⊎', u'\\bigvee':u'∨', u'\\bigwedge':u'∧', - u'\\biohazard':u'☣', u'\\blacklozenge':u'⧫', u'\\blacksmiley':u'☻', - u'\\blacksquare':u'■', u'\\blacktriangle':u'▲', - u'\\blacktriangledown':u'▼', u'\\blacktriangleleft':u'◂', - u'\\blacktriangleright':u'▶', u'\\blacktriangleup':u'▴', u'\\bot':u'⊥', - u'\\bowtie':u'⋈', u'\\box':u'▫', u'\\boxast':u'⧆', u'\\boxbar':u'◫', - u'\\boxbox':u'⧈', u'\\boxbslash':u'⧅', u'\\boxcircle':u'⧇', - u'\\boxdot':u'⊡', u'\\boxminus':u'⊟', u'\\boxplus':u'⊞', - u'\\boxslash':u'⧄', u'\\boxtimes':u'⊠', u'\\bullet':u'•', - u'\\bumpeq':u'≏', u'\\cancer':u'♋', u'\\cap':u'∩', u'\\capricornus':u'♑', - u'\\cat':u'⁀', u'\\cdot':u'⋅', u'\\cdots':u'⋯', u'\\cent':u'¢', - u'\\centerdot':u'∙', u'\\checkmark':u'✓', u'\\chi':u'χ', u'\\circ':u'∘', - u'\\circeq':u'≗', u'\\circlearrowleft':u'↺', u'\\circlearrowright':u'↻', - u'\\circledR':u'®', u'\\circledast':u'⊛', u'\\circledbslash':u'⦸', - u'\\circledcirc':u'⊚', u'\\circleddash':u'⊝', u'\\circledgtr':u'⧁', - u'\\circledless':u'⧀', u'\\clubsuit':u'♣', u'\\colon':u': ', u'\\coloneqq':u'≔', - u'\\complement':u'∁', u'\\cong':u'≅', u'\\coprod':u'∐', - u'\\copyright':u'©', u'\\cos':u'cos', u'\\cosh':u'cosh', u'\\cot':u'cot', - u'\\coth':u'coth', u'\\csc':u'csc', u'\\cup':u'∪', u'\\curlyvee':u'⋎', - u'\\curlywedge':u'⋏', u'\\curvearrowleft':u'↶', - u'\\curvearrowright':u'↷', u'\\dag':u'†', u'\\dagger':u'†', - u'\\daleth':u'ℸ', u'\\dashleftarrow':u'⇠', u'\\dashv':u'⊣', - u'\\ddag':u'‡', u'\\ddagger':u'‡', u'\\ddots':u'⋱', u'\\deg':u'deg', - u'\\det':u'det', u'\\diagdown':u'╲', u'\\diagup':u'╱', - u'\\diameter':u'⌀', u'\\diamond':u'◇', u'\\diamondsuit':u'♦', - u'\\dim':u'dim', u'\\div':u'÷', u'\\divideontimes':u'⋇', - u'\\dotdiv':u'∸', u'\\doteq':u'≐', u'\\doteqdot':u'≑', u'\\dotplus':u'∔', - u'\\dots':u'…', u'\\doublebarwedge':u'⌆', u'\\downarrow':u'↓', - u'\\downdownarrows':u'⇊', u'\\downharpoonleft':u'⇃', - u'\\downharpoonright':u'⇂', u'\\dsub':u'⩤', u'\\earth':u'♁', - u'\\eighthnote':u'♪', u'\\ell':u'ℓ', u'\\emptyset':u'∅', - u'\\eqcirc':u'≖', u'\\eqcolon':u'≕', u'\\eqsim':u'≂', u'\\euro':u'€', - u'\\exists':u'∃', u'\\exp':u'exp', u'\\fallingdotseq':u'≒', - u'\\fcmp':u'⨾', u'\\female':u'♀', u'\\flat':u'♭', u'\\forall':u'∀', - u'\\fourth':u'⁗', u'\\frown':u'⌢', u'\\frownie':u'☹', u'\\gcd':u'gcd', - u'\\gemini':u'♊', u'\\geq)':u'≥', u'\\geqq':u'≧', u'\\geqslant':u'≥', - u'\\gets':u'←', u'\\gg':u'≫', u'\\ggg':u'⋙', u'\\gimel':u'ℷ', - u'\\gneqq':u'≩', u'\\gnsim':u'⋧', u'\\gtrdot':u'⋗', u'\\gtreqless':u'⋚', - u'\\gtreqqless':u'⪌', u'\\gtrless':u'≷', u'\\gtrsim':u'≳', - u'\\guillemotleft':u'«', u'\\guillemotright':u'»', u'\\hbar':u'ℏ', - u'\\heartsuit':u'♥', u'\\hfill':u' ', - u'\\hom':u'hom', u'\\hookleftarrow':u'↩', u'\\hookrightarrow':u'↪', - u'\\hslash':u'ℏ', u'\\idotsint':u'∫⋯∫', - u'\\iiint':u'', - u'\\iint':u'', u'\\imath':u'ı', - u'\\inf':u'inf', u'\\infty':u'∞', u'\\intercal':u'⊺', - u'\\interleave':u'⫴', u'\\invamp':u'⅋', u'\\invneg':u'⌐', - u'\\jmath':u'ȷ', u'\\jupiter':u'♃', u'\\ker':u'ker', u'\\land':u'∧', - u'\\landupint':u'', u'\\lang':u'⟪', - u'\\langle':u'⟨', u'\\lblot':u'⦉', u'\\lbrace':u'{', u'\\lbrace)':u'{', - u'\\lbrack':u'[', u'\\lceil':u'⌈', u'\\ldots':u'…', u'\\leadsto':u'⇝', - u'\\leftarrow)':u'←', u'\\leftarrowtail':u'↢', u'\\leftarrowtobar':u'⇤', - u'\\leftharpoondown':u'↽', u'\\leftharpoonup':u'↼', - u'\\leftleftarrows':u'⇇', u'\\leftleftharpoons':u'⥢', u'\\leftmoon':u'☾', - u'\\leftrightarrow':u'↔', u'\\leftrightarrows':u'⇆', - u'\\leftrightharpoons':u'⇋', u'\\leftthreetimes':u'⋋', u'\\leo':u'♌', - u'\\leq)':u'≤', u'\\leqq':u'≦', u'\\leqslant':u'≤', u'\\lessdot':u'⋖', - u'\\lesseqgtr':u'⋛', u'\\lesseqqgtr':u'⪋', u'\\lessgtr':u'≶', - u'\\lesssim':u'≲', u'\\lfloor':u'⌊', u'\\lg':u'lg', u'\\lgroup':u'⟮', - u'\\lhd':u'⊲', u'\\libra':u'♎', u'\\lightning':u'↯', u'\\limg':u'⦇', - u'\\liminf':u'liminf', u'\\limsup':u'limsup', u'\\ll':u'≪', - u'\\llbracket':u'⟦', u'\\llcorner':u'⌞', u'\\lll':u'⋘', u'\\ln':u'ln', - u'\\lneqq':u'≨', u'\\lnot':u'¬', u'\\lnsim':u'⋦', u'\\log':u'log', - u'\\longleftarrow':u'⟵', u'\\longleftrightarrow':u'⟷', - u'\\longmapsto':u'⟼', u'\\longrightarrow':u'⟶', u'\\looparrowleft':u'↫', - u'\\looparrowright':u'↬', u'\\lor':u'∨', u'\\lozenge':u'◊', - u'\\lrcorner':u'⌟', u'\\ltimes':u'⋉', u'\\lyxlock':u'', u'\\male':u'♂', - u'\\maltese':u'✠', u'\\mapsfrom':u'↤', u'\\mapsto':u'↦', - u'\\mathcircumflex':u'^', u'\\max':u'max', u'\\measuredangle':u'∡', - u'\\medbullet':u'⚫', u'\\medcirc':u'⚪', u'\\mercury':u'☿', u'\\mho':u'℧', - u'\\mid':u'∣', u'\\min':u'min', u'\\models':u'⊨', u'\\mp':u'∓', - u'\\multimap':u'⊸', u'\\nLeftarrow':u'⇍', u'\\nLeftrightarrow':u'⇎', - u'\\nRightarrow':u'⇏', u'\\nVDash':u'⊯', u'\\nabla':u'∇', - u'\\napprox':u'≉', u'\\natural':u'♮', u'\\ncong':u'≇', u'\\nearrow':u'↗', - u'\\neg':u'¬', u'\\neg)':u'¬', u'\\neptune':u'♆', u'\\nequiv':u'≢', - u'\\newline':u'
', u'\\nexists':u'∄', u'\\ngeqslant':u'≱', - u'\\ngtr':u'≯', u'\\ngtrless':u'≹', u'\\ni':u'∋', u'\\ni)':u'∋', - u'\\nleftarrow':u'↚', u'\\nleftrightarrow':u'↮', u'\\nleqslant':u'≰', - u'\\nless':u'≮', u'\\nlessgtr':u'≸', u'\\nmid':u'∤', u'\\nolimits':u'', - u'\\nonumber':u'', u'\\not':u'¬', u'\\not<':u'≮', u'\\not=':u'≠', - u'\\not>':u'≯', u'\\notbackslash':u'⍀', u'\\notin':u'∉', u'\\notni':u'∌', - u'\\notslash':u'⌿', u'\\nparallel':u'∦', u'\\nprec':u'⊀', - u'\\nrightarrow':u'↛', u'\\nsim':u'≁', u'\\nsimeq':u'≄', - u'\\nsqsubset':u'⊏̸', u'\\nsubseteq':u'⊈', u'\\nsucc':u'⊁', - u'\\nsucccurlyeq':u'⋡', u'\\nsupset':u'⊅', u'\\nsupseteq':u'⊉', - u'\\ntriangleleft':u'⋪', u'\\ntrianglelefteq':u'⋬', - u'\\ntriangleright':u'⋫', u'\\ntrianglerighteq':u'⋭', u'\\nvDash':u'⊭', - u'\\nvdash':u'⊬', u'\\nwarrow':u'↖', u'\\odot':u'⊙', - u'\\officialeuro':u'€', u'\\oiiint':u'', - u'\\oiint':u'', - u'\\oint':u'', - u'\\ointclockwise':u'', - u'\\ointctrclockwise':u'', - u'\\ominus':u'⊖', u'\\oplus':u'⊕', u'\\oslash':u'⊘', u'\\otimes':u'⊗', - u'\\owns':u'∋', u'\\parallel':u'∥', u'\\partial':u'∂', u'\\pencil':u'✎', - u'\\perp':u'⊥', u'\\pisces':u'♓', u'\\pitchfork':u'⋔', u'\\pluto':u'♇', - u'\\pm':u'±', u'\\pointer':u'➪', u'\\pointright':u'☞', u'\\pounds':u'£', - u'\\prec':u'≺', u'\\preccurlyeq':u'≼', u'\\preceq':u'≼', - u'\\precsim':u'≾', u'\\prime':u'′', u'\\prompto':u'∝', u'\\qoppa':u'ϙ', - u'\\qquad':u' ', u'\\quad':u' ', u'\\quarternote':u'♩', - u'\\radiation':u'☢', u'\\rang':u'⟫', u'\\rangle':u'⟩', u'\\rblot':u'⦊', - u'\\rbrace':u'}', u'\\rbrace)':u'}', u'\\rbrack':u']', u'\\rceil':u'⌉', - u'\\recycle':u'♻', u'\\rfloor':u'⌋', u'\\rgroup':u'⟯', u'\\rhd':u'⊳', - u'\\rightangle':u'∟', u'\\rightarrow)':u'→', u'\\rightarrowtail':u'↣', - u'\\rightarrowtobar':u'⇥', u'\\rightharpoondown':u'⇁', - u'\\rightharpoonup':u'⇀', u'\\rightharpooondown':u'⇁', - u'\\rightharpooonup':u'⇀', u'\\rightleftarrows':u'⇄', - u'\\rightleftharpoons':u'⇌', u'\\rightmoon':u'☽', - u'\\rightrightarrows':u'⇉', u'\\rightrightharpoons':u'⥤', - u'\\rightthreetimes':u'⋌', u'\\rimg':u'⦈', u'\\risingdotseq':u'≓', - u'\\rrbracket':u'⟧', u'\\rsub':u'⩥', u'\\rtimes':u'⋊', - u'\\sagittarius':u'♐', u'\\saturn':u'♄', u'\\scorpio':u'♏', - u'\\searrow':u'↘', u'\\sec':u'sec', u'\\second':u'″', u'\\setminus':u'∖', - u'\\sharp':u'♯', u'\\simeq':u'≃', u'\\sin':u'sin', u'\\sinh':u'sinh', - u'\\sixteenthnote':u'♬', u'\\skull':u'☠', u'\\slash':u'∕', - u'\\smallsetminus':u'∖', u'\\smalltriangledown':u'▿', - u'\\smalltriangleleft':u'◃', u'\\smalltriangleright':u'▹', - u'\\smalltriangleup':u'▵', u'\\smile':u'⌣', u'\\smiley':u'☺', - u'\\spadesuit':u'♠', u'\\spddot':u'¨', u'\\sphat':u'', - u'\\sphericalangle':u'∢', u'\\spot':u'⦁', u'\\sptilde':u'~', - u'\\sqcap':u'⊓', u'\\sqcup':u'⊔', u'\\sqsubset':u'⊏', - u'\\sqsubseteq':u'⊑', u'\\sqsupset':u'⊐', u'\\sqsupseteq':u'⊒', - u'\\square':u'□', u'\\sslash':u'⫽', u'\\star':u'⋆', u'\\steaming':u'☕', - u'\\subseteqq':u'⫅', u'\\subsetneqq':u'⫋', u'\\succ':u'≻', - u'\\succcurlyeq':u'≽', u'\\succeq':u'≽', u'\\succnsim':u'⋩', - u'\\succsim':u'≿', u'\\sun':u'☼', u'\\sup':u'sup', u'\\supseteqq':u'⫆', - u'\\supsetneqq':u'⫌', u'\\surd':u'√', u'\\swarrow':u'↙', - u'\\swords':u'⚔', u'\\talloblong':u'⫾', u'\\tan':u'tan', - u'\\tanh':u'tanh', u'\\taurus':u'♉', u'\\textasciicircum':u'^', - u'\\textasciitilde':u'~', u'\\textbackslash':u'\\', - u'\\textcopyright':u'©\'', u'\\textdegree':u'°', u'\\textellipsis':u'…', - u'\\textemdash':u'—', u'\\textendash':u'—', u'\\texteuro':u'€', - u'\\textgreater':u'>', u'\\textless':u'<', u'\\textordfeminine':u'ª', - u'\\textordmasculine':u'º', u'\\textquotedblleft':u'“', - u'\\textquotedblright':u'”', u'\\textquoteright':u'’', - u'\\textregistered':u'®', u'\\textrightarrow':u'→', - u'\\textsection':u'§', u'\\texttrademark':u'™', - u'\\texttwosuperior':u'²', u'\\textvisiblespace':u' ', - u'\\therefore':u'∴', u'\\third':u'‴', u'\\top':u'⊤', u'\\triangle':u'△', - u'\\triangleleft':u'⊲', u'\\trianglelefteq':u'⊴', u'\\triangleq':u'≜', - u'\\triangleright':u'▷', u'\\trianglerighteq':u'⊵', - u'\\twoheadleftarrow':u'↞', u'\\twoheadrightarrow':u'↠', - u'\\twonotes':u'♫', u'\\udot':u'⊍', u'\\ulcorner':u'⌜', u'\\unlhd':u'⊴', - u'\\unrhd':u'⊵', u'\\unrhl':u'⊵', u'\\uparrow':u'↑', - u'\\updownarrow':u'↕', u'\\upharpoonleft':u'↿', u'\\upharpoonright':u'↾', - u'\\uplus':u'⊎', u'\\upuparrows':u'⇈', u'\\uranus':u'♅', - u'\\urcorner':u'⌝', u'\\vDash':u'⊨', u'\\varclubsuit':u'♧', - u'\\vardiamondsuit':u'♦', u'\\varheartsuit':u'♥', u'\\varnothing':u'∅', - u'\\varspadesuit':u'♤', u'\\vdash':u'⊢', u'\\vdots':u'⋮', u'\\vee':u'∨', - u'\\vee)':u'∨', u'\\veebar':u'⊻', u'\\vert':u'∣', u'\\virgo':u'♍', - u'\\warning':u'⚠', u'\\wasylozenge':u'⌑', u'\\wedge':u'∧', - u'\\wedge)':u'∧', u'\\wp':u'℘', u'\\wr':u'≀', u'\\yen':u'¥', - u'\\yinyang':u'☯', u'\\{':u'{', u'\\|':u'∥', u'\\}':u'}', + '\\ ':' ', '\\!':'', '\\#':'#', '\\$':'$', '\\%':'%', + '\\&':'&', '\\,':' ', '\\:':' ', '\\;':' ', '\\AC':'∿', + '\\APLcomment':'⍝', '\\APLdownarrowbox':'⍗', '\\APLinput':'⍞', + '\\APLinv':'⌹', '\\APLleftarrowbox':'⍇', '\\APLlog':'⍟', + '\\APLrightarrowbox':'⍈', '\\APLuparrowbox':'⍐', '\\Box':'□', + '\\Bumpeq':'≎', '\\CIRCLE':'●', '\\Cap':'⋒', + '\\CapitalDifferentialD':'ⅅ', '\\CheckedBox':'☑', '\\Circle':'○', + '\\Coloneqq':'⩴', '\\ComplexI':'ⅈ', '\\ComplexJ':'ⅉ', + '\\Corresponds':'≙', '\\Cup':'⋓', '\\Delta':'Δ', '\\Diamond':'◇', + '\\Diamondblack':'◆', '\\Diamonddot':'⟐', '\\DifferentialD':'ⅆ', + '\\Downarrow':'⇓', '\\EUR':'€', '\\Euler':'ℇ', + '\\ExponetialE':'ⅇ', '\\Finv':'Ⅎ', '\\Game':'⅁', '\\Gamma':'Γ', + '\\Im':'ℑ', '\\Join':'⨝', '\\LEFTCIRCLE':'◖', '\\LEFTcircle':'◐', + '\\LHD':'◀', '\\Lambda':'Λ', '\\Lbag':'⟅', '\\Leftarrow':'⇐', + '\\Lleftarrow':'⇚', '\\Longleftarrow':'⟸', + '\\Longleftrightarrow':'⟺', '\\Longrightarrow':'⟹', '\\Lparen':'⦅', + '\\Lsh':'↰', '\\Mapsfrom':'⇐|', '\\Mapsto':'|⇒', '\\Omega':'Ω', + '\\P':'¶', '\\Phi':'Φ', '\\Pi':'Π', '\\Pr':'Pr', '\\Psi':'Ψ', + '\\Qoppa':'Ϙ', '\\RHD':'▶', '\\RIGHTCIRCLE':'◗', + '\\RIGHTcircle':'◑', '\\Rbag':'⟆', '\\Re':'ℜ', '\\Rparen':'⦆', + '\\Rrightarrow':'⇛', '\\Rsh':'↱', '\\S':'§', '\\Sigma':'Σ', + '\\Square':'☐', '\\Subset':'⋐', '\\Sun':'☉', '\\Supset':'⋑', + '\\Theta':'Θ', '\\Uparrow':'⇑', '\\Updownarrow':'⇕', + '\\Upsilon':'Υ', '\\Vdash':'⊩', '\\Vert':'∥', '\\Vvdash':'⊪', + '\\XBox':'☒', '\\Xi':'Ξ', '\\Yup':'⅄', '\\\\':'
', + '\\_':'_', '\\aleph':'ℵ', '\\amalg':'∐', '\\anchor':'⚓', + '\\angle':'∠', '\\aquarius':'♒', '\\arccos':'arccos', + '\\arcsin':'arcsin', '\\arctan':'arctan', '\\arg':'arg', + '\\aries':'♈', '\\arrowbullet':'➢', '\\ast':'∗', '\\asymp':'≍', + '\\backepsilon':'∍', '\\backprime':'‵', '\\backsimeq':'⋍', + '\\backslash':'\\', '\\ballotx':'✗', '\\barwedge':'⊼', + '\\because':'∵', '\\beth':'ℶ', '\\between':'≬', '\\bigcap':'∩', + '\\bigcirc':'○', '\\bigcup':'∪', '\\bigodot':'⊙', + '\\bigoplus':'⊕', '\\bigotimes':'⊗', '\\bigsqcup':'⊔', + '\\bigstar':'★', '\\bigtriangledown':'▽', '\\bigtriangleup':'△', + '\\biguplus':'⊎', '\\bigvee':'∨', '\\bigwedge':'∧', + '\\biohazard':'☣', '\\blacklozenge':'⧫', '\\blacksmiley':'☻', + '\\blacksquare':'■', '\\blacktriangle':'▲', + '\\blacktriangledown':'▼', '\\blacktriangleleft':'◂', + '\\blacktriangleright':'▶', '\\blacktriangleup':'▴', '\\bot':'⊥', + '\\bowtie':'⋈', '\\box':'▫', '\\boxast':'⧆', '\\boxbar':'◫', + '\\boxbox':'⧈', '\\boxbslash':'⧅', '\\boxcircle':'⧇', + '\\boxdot':'⊡', '\\boxminus':'⊟', '\\boxplus':'⊞', + '\\boxslash':'⧄', '\\boxtimes':'⊠', '\\bullet':'•', + '\\bumpeq':'≏', '\\cancer':'♋', '\\cap':'∩', '\\capricornus':'♑', + '\\cat':'⁀', '\\cdot':'⋅', '\\cdots':'⋯', '\\cent':'¢', + '\\centerdot':'∙', '\\checkmark':'✓', '\\chi':'χ', '\\circ':'∘', + '\\circeq':'≗', '\\circlearrowleft':'↺', '\\circlearrowright':'↻', + '\\circledR':'®', '\\circledast':'⊛', '\\circledbslash':'⦸', + '\\circledcirc':'⊚', '\\circleddash':'⊝', '\\circledgtr':'⧁', + '\\circledless':'⧀', '\\clubsuit':'♣', '\\colon':': ', '\\coloneqq':'≔', + '\\complement':'∁', '\\cong':'≅', '\\coprod':'∐', + '\\copyright':'©', '\\cos':'cos', '\\cosh':'cosh', '\\cot':'cot', + '\\coth':'coth', '\\csc':'csc', '\\cup':'∪', '\\curlyvee':'⋎', + '\\curlywedge':'⋏', '\\curvearrowleft':'↶', + '\\curvearrowright':'↷', '\\dag':'†', '\\dagger':'†', + '\\daleth':'ℸ', '\\dashleftarrow':'⇠', '\\dashv':'⊣', + '\\ddag':'‡', '\\ddagger':'‡', '\\ddots':'⋱', '\\deg':'deg', + '\\det':'det', '\\diagdown':'╲', '\\diagup':'╱', + '\\diameter':'⌀', '\\diamond':'◇', '\\diamondsuit':'♦', + '\\dim':'dim', '\\div':'÷', '\\divideontimes':'⋇', + '\\dotdiv':'∸', '\\doteq':'≐', '\\doteqdot':'≑', '\\dotplus':'∔', + '\\dots':'…', '\\doublebarwedge':'⌆', '\\downarrow':'↓', + '\\downdownarrows':'⇊', '\\downharpoonleft':'⇃', + '\\downharpoonright':'⇂', '\\dsub':'⩤', '\\earth':'♁', + '\\eighthnote':'♪', '\\ell':'ℓ', '\\emptyset':'∅', + '\\eqcirc':'≖', '\\eqcolon':'≕', '\\eqsim':'≂', '\\euro':'€', + '\\exists':'∃', '\\exp':'exp', '\\fallingdotseq':'≒', + '\\fcmp':'⨾', '\\female':'♀', '\\flat':'♭', '\\forall':'∀', + '\\fourth':'⁗', '\\frown':'⌢', '\\frownie':'☹', '\\gcd':'gcd', + '\\gemini':'♊', '\\geq)':'≥', '\\geqq':'≧', '\\geqslant':'≥', + '\\gets':'←', '\\gg':'≫', '\\ggg':'⋙', '\\gimel':'ℷ', + '\\gneqq':'≩', '\\gnsim':'⋧', '\\gtrdot':'⋗', '\\gtreqless':'⋚', + '\\gtreqqless':'⪌', '\\gtrless':'≷', '\\gtrsim':'≳', + '\\guillemotleft':'«', '\\guillemotright':'»', '\\hbar':'ℏ', + '\\heartsuit':'♥', '\\hfill':' ', + '\\hom':'hom', '\\hookleftarrow':'↩', '\\hookrightarrow':'↪', + '\\hslash':'ℏ', '\\idotsint':'∫⋯∫', + '\\iiint':'', + '\\iint':'', '\\imath':'ı', + '\\inf':'inf', '\\infty':'∞', '\\intercal':'⊺', + '\\interleave':'⫴', '\\invamp':'⅋', '\\invneg':'⌐', + '\\jmath':'ȷ', '\\jupiter':'♃', '\\ker':'ker', '\\land':'∧', + '\\landupint':'', '\\lang':'⟪', + '\\langle':'⟨', '\\lblot':'⦉', '\\lbrace':'{', '\\lbrace)':'{', + '\\lbrack':'[', '\\lceil':'⌈', '\\ldots':'…', '\\leadsto':'⇝', + '\\leftarrow)':'←', '\\leftarrowtail':'↢', '\\leftarrowtobar':'⇤', + '\\leftharpoondown':'↽', '\\leftharpoonup':'↼', + '\\leftleftarrows':'⇇', '\\leftleftharpoons':'⥢', '\\leftmoon':'☾', + '\\leftrightarrow':'↔', '\\leftrightarrows':'⇆', + '\\leftrightharpoons':'⇋', '\\leftthreetimes':'⋋', '\\leo':'♌', + '\\leq)':'≤', '\\leqq':'≦', '\\leqslant':'≤', '\\lessdot':'⋖', + '\\lesseqgtr':'⋛', '\\lesseqqgtr':'⪋', '\\lessgtr':'≶', + '\\lesssim':'≲', '\\lfloor':'⌊', '\\lg':'lg', '\\lgroup':'⟮', + '\\lhd':'⊲', '\\libra':'♎', '\\lightning':'↯', '\\limg':'⦇', + '\\liminf':'liminf', '\\limsup':'limsup', '\\ll':'≪', + '\\llbracket':'⟦', '\\llcorner':'⌞', '\\lll':'⋘', '\\ln':'ln', + '\\lneqq':'≨', '\\lnot':'¬', '\\lnsim':'⋦', '\\log':'log', + '\\longleftarrow':'⟵', '\\longleftrightarrow':'⟷', + '\\longmapsto':'⟼', '\\longrightarrow':'⟶', '\\looparrowleft':'↫', + '\\looparrowright':'↬', '\\lor':'∨', '\\lozenge':'◊', + '\\lrcorner':'⌟', '\\ltimes':'⋉', '\\lyxlock':'', '\\male':'♂', + '\\maltese':'✠', '\\mapsfrom':'↤', '\\mapsto':'↦', + '\\mathcircumflex':'^', '\\max':'max', '\\measuredangle':'∡', + '\\medbullet':'⚫', '\\medcirc':'⚪', '\\mercury':'☿', '\\mho':'℧', + '\\mid':'∣', '\\min':'min', '\\models':'⊨', '\\mp':'∓', + '\\multimap':'⊸', '\\nLeftarrow':'⇍', '\\nLeftrightarrow':'⇎', + '\\nRightarrow':'⇏', '\\nVDash':'⊯', '\\nabla':'∇', + '\\napprox':'≉', '\\natural':'♮', '\\ncong':'≇', '\\nearrow':'↗', + '\\neg':'¬', '\\neg)':'¬', '\\neptune':'♆', '\\nequiv':'≢', + '\\newline':'
', '\\nexists':'∄', '\\ngeqslant':'≱', + '\\ngtr':'≯', '\\ngtrless':'≹', '\\ni':'∋', '\\ni)':'∋', + '\\nleftarrow':'↚', '\\nleftrightarrow':'↮', '\\nleqslant':'≰', + '\\nless':'≮', '\\nlessgtr':'≸', '\\nmid':'∤', '\\nolimits':'', + '\\nonumber':'', '\\not':'¬', '\\not<':'≮', '\\not=':'≠', + '\\not>':'≯', '\\notbackslash':'⍀', '\\notin':'∉', '\\notni':'∌', + '\\notslash':'⌿', '\\nparallel':'∦', '\\nprec':'⊀', + '\\nrightarrow':'↛', '\\nsim':'≁', '\\nsimeq':'≄', + '\\nsqsubset':'⊏̸', '\\nsubseteq':'⊈', '\\nsucc':'⊁', + '\\nsucccurlyeq':'⋡', '\\nsupset':'⊅', '\\nsupseteq':'⊉', + '\\ntriangleleft':'⋪', '\\ntrianglelefteq':'⋬', + '\\ntriangleright':'⋫', '\\ntrianglerighteq':'⋭', '\\nvDash':'⊭', + '\\nvdash':'⊬', '\\nwarrow':'↖', '\\odot':'⊙', + '\\officialeuro':'€', '\\oiiint':'', + '\\oiint':'', + '\\oint':'', + '\\ointclockwise':'', + '\\ointctrclockwise':'', + '\\ominus':'⊖', '\\oplus':'⊕', '\\oslash':'⊘', '\\otimes':'⊗', + '\\owns':'∋', '\\parallel':'∥', '\\partial':'∂', '\\pencil':'✎', + '\\perp':'⊥', '\\pisces':'♓', '\\pitchfork':'⋔', '\\pluto':'♇', + '\\pm':'±', '\\pointer':'➪', '\\pointright':'☞', '\\pounds':'£', + '\\prec':'≺', '\\preccurlyeq':'≼', '\\preceq':'≼', + '\\precsim':'≾', '\\prime':'′', '\\prompto':'∝', '\\qoppa':'ϙ', + '\\qquad':' ', '\\quad':' ', '\\quarternote':'♩', + '\\radiation':'☢', '\\rang':'⟫', '\\rangle':'⟩', '\\rblot':'⦊', + '\\rbrace':'}', '\\rbrace)':'}', '\\rbrack':']', '\\rceil':'⌉', + '\\recycle':'♻', '\\rfloor':'⌋', '\\rgroup':'⟯', '\\rhd':'⊳', + '\\rightangle':'∟', '\\rightarrow)':'→', '\\rightarrowtail':'↣', + '\\rightarrowtobar':'⇥', '\\rightharpoondown':'⇁', + '\\rightharpoonup':'⇀', '\\rightharpooondown':'⇁', + '\\rightharpooonup':'⇀', '\\rightleftarrows':'⇄', + '\\rightleftharpoons':'⇌', '\\rightmoon':'☽', + '\\rightrightarrows':'⇉', '\\rightrightharpoons':'⥤', + '\\rightthreetimes':'⋌', '\\rimg':'⦈', '\\risingdotseq':'≓', + '\\rrbracket':'⟧', '\\rsub':'⩥', '\\rtimes':'⋊', + '\\sagittarius':'♐', '\\saturn':'♄', '\\scorpio':'♏', + '\\searrow':'↘', '\\sec':'sec', '\\second':'″', '\\setminus':'∖', + '\\sharp':'♯', '\\simeq':'≃', '\\sin':'sin', '\\sinh':'sinh', + '\\sixteenthnote':'♬', '\\skull':'☠', '\\slash':'∕', + '\\smallsetminus':'∖', '\\smalltriangledown':'▿', + '\\smalltriangleleft':'◃', '\\smalltriangleright':'▹', + '\\smalltriangleup':'▵', '\\smile':'⌣', '\\smiley':'☺', + '\\spadesuit':'♠', '\\spddot':'¨', '\\sphat':'', + '\\sphericalangle':'∢', '\\spot':'⦁', '\\sptilde':'~', + '\\sqcap':'⊓', '\\sqcup':'⊔', '\\sqsubset':'⊏', + '\\sqsubseteq':'⊑', '\\sqsupset':'⊐', '\\sqsupseteq':'⊒', + '\\square':'□', '\\sslash':'⫽', '\\star':'⋆', '\\steaming':'☕', + '\\subseteqq':'⫅', '\\subsetneqq':'⫋', '\\succ':'≻', + '\\succcurlyeq':'≽', '\\succeq':'≽', '\\succnsim':'⋩', + '\\succsim':'≿', '\\sun':'☼', '\\sup':'sup', '\\supseteqq':'⫆', + '\\supsetneqq':'⫌', '\\surd':'√', '\\swarrow':'↙', + '\\swords':'⚔', '\\talloblong':'⫾', '\\tan':'tan', + '\\tanh':'tanh', '\\taurus':'♉', '\\textasciicircum':'^', + '\\textasciitilde':'~', '\\textbackslash':'\\', + '\\textcopyright':'©\'', '\\textdegree':'°', '\\textellipsis':'…', + '\\textemdash':'—', '\\textendash':'—', '\\texteuro':'€', + '\\textgreater':'>', '\\textless':'<', '\\textordfeminine':'ª', + '\\textordmasculine':'º', '\\textquotedblleft':'“', + '\\textquotedblright':'”', '\\textquoteright':'’', + '\\textregistered':'®', '\\textrightarrow':'→', + '\\textsection':'§', '\\texttrademark':'™', + '\\texttwosuperior':'²', '\\textvisiblespace':' ', + '\\therefore':'∴', '\\third':'‴', '\\top':'⊤', '\\triangle':'△', + '\\triangleleft':'⊲', '\\trianglelefteq':'⊴', '\\triangleq':'≜', + '\\triangleright':'▷', '\\trianglerighteq':'⊵', + '\\twoheadleftarrow':'↞', '\\twoheadrightarrow':'↠', + '\\twonotes':'♫', '\\udot':'⊍', '\\ulcorner':'⌜', '\\unlhd':'⊴', + '\\unrhd':'⊵', '\\unrhl':'⊵', '\\uparrow':'↑', + '\\updownarrow':'↕', '\\upharpoonleft':'↿', '\\upharpoonright':'↾', + '\\uplus':'⊎', '\\upuparrows':'⇈', '\\uranus':'♅', + '\\urcorner':'⌝', '\\vDash':'⊨', '\\varclubsuit':'♧', + '\\vardiamondsuit':'♦', '\\varheartsuit':'♥', '\\varnothing':'∅', + '\\varspadesuit':'♤', '\\vdash':'⊢', '\\vdots':'⋮', '\\vee':'∨', + '\\vee)':'∨', '\\veebar':'⊻', '\\vert':'∣', '\\virgo':'♍', + '\\warning':'⚠', '\\wasylozenge':'⌑', '\\wedge':'∧', + '\\wedge)':'∧', '\\wp':'℘', '\\wr':'≀', '\\yen':'¥', + '\\yinyang':'☯', '\\{':'{', '\\|':'∥', '\\}':'}', } decoratedcommand = { @@ -574,245 +574,245 @@ class FormulaConfig(object): } decoratingfunctions = { - u'\\overleftarrow':u'⟵', u'\\overrightarrow':u'⟶', u'\\widehat':u'^', + '\\overleftarrow':'⟵', '\\overrightarrow':'⟶', '\\widehat':'^', } endings = { - u'bracket':u'}', u'complex':u'\\]', u'endafter':u'}', - u'endbefore':u'\\end{', u'squarebracket':u']', + 'bracket':'}', 'complex':'\\]', 'endafter':'}', + 'endbefore':'\\end{', 'squarebracket':']', } environments = { - u'align':[u'r',u'l',], u'eqnarray':[u'r',u'c',u'l',], - u'gathered':[u'l',u'l',], + 'align':['r','l',], 'eqnarray':['r','c','l',], + 'gathered':['l','l',], } fontfunctions = { - u'\\boldsymbol':u'b', u'\\mathbb':u'span class="blackboard"', - u'\\mathbb{A}':u'𝔸', u'\\mathbb{B}':u'𝔹', u'\\mathbb{C}':u'ℂ', - u'\\mathbb{D}':u'𝔻', u'\\mathbb{E}':u'𝔼', u'\\mathbb{F}':u'𝔽', - u'\\mathbb{G}':u'𝔾', u'\\mathbb{H}':u'ℍ', u'\\mathbb{J}':u'𝕁', - u'\\mathbb{K}':u'𝕂', u'\\mathbb{L}':u'𝕃', u'\\mathbb{N}':u'ℕ', - u'\\mathbb{O}':u'𝕆', u'\\mathbb{P}':u'ℙ', u'\\mathbb{Q}':u'ℚ', - u'\\mathbb{R}':u'ℝ', u'\\mathbb{S}':u'𝕊', u'\\mathbb{T}':u'𝕋', - u'\\mathbb{W}':u'𝕎', u'\\mathbb{Z}':u'ℤ', u'\\mathbf':u'b', - u'\\mathcal':u'span class="scriptfont"', u'\\mathcal{B}':u'ℬ', - u'\\mathcal{E}':u'ℰ', u'\\mathcal{F}':u'ℱ', u'\\mathcal{H}':u'ℋ', - u'\\mathcal{I}':u'ℐ', u'\\mathcal{L}':u'ℒ', u'\\mathcal{M}':u'ℳ', - u'\\mathcal{R}':u'ℛ', u'\\mathfrak':u'span class="fraktur"', - u'\\mathfrak{C}':u'ℭ', u'\\mathfrak{F}':u'𝔉', u'\\mathfrak{H}':u'ℌ', - u'\\mathfrak{I}':u'ℑ', u'\\mathfrak{R}':u'ℜ', u'\\mathfrak{Z}':u'ℨ', - u'\\mathit':u'i', u'\\mathring{A}':u'Å', u'\\mathring{U}':u'Ů', - u'\\mathring{a}':u'å', u'\\mathring{u}':u'ů', u'\\mathring{w}':u'ẘ', - u'\\mathring{y}':u'ẙ', u'\\mathrm':u'span class="mathrm"', - u'\\mathscr':u'span class="scriptfont"', u'\\mathscr{B}':u'ℬ', - u'\\mathscr{E}':u'ℰ', u'\\mathscr{F}':u'ℱ', u'\\mathscr{H}':u'ℋ', - u'\\mathscr{I}':u'ℐ', u'\\mathscr{L}':u'ℒ', u'\\mathscr{M}':u'ℳ', - u'\\mathscr{R}':u'ℛ', u'\\mathsf':u'span class="mathsf"', - u'\\mathtt':u'tt', + '\\boldsymbol':'b', '\\mathbb':'span class="blackboard"', + '\\mathbb{A}':'𝔸', '\\mathbb{B}':'𝔹', '\\mathbb{C}':'ℂ', + '\\mathbb{D}':'𝔻', '\\mathbb{E}':'𝔼', '\\mathbb{F}':'𝔽', + '\\mathbb{G}':'𝔾', '\\mathbb{H}':'ℍ', '\\mathbb{J}':'𝕁', + '\\mathbb{K}':'𝕂', '\\mathbb{L}':'𝕃', '\\mathbb{N}':'ℕ', + '\\mathbb{O}':'𝕆', '\\mathbb{P}':'ℙ', '\\mathbb{Q}':'ℚ', + '\\mathbb{R}':'ℝ', '\\mathbb{S}':'𝕊', '\\mathbb{T}':'𝕋', + '\\mathbb{W}':'𝕎', '\\mathbb{Z}':'ℤ', '\\mathbf':'b', + '\\mathcal':'span class="scriptfont"', '\\mathcal{B}':'ℬ', + '\\mathcal{E}':'ℰ', '\\mathcal{F}':'ℱ', '\\mathcal{H}':'ℋ', + '\\mathcal{I}':'ℐ', '\\mathcal{L}':'ℒ', '\\mathcal{M}':'ℳ', + '\\mathcal{R}':'ℛ', '\\mathfrak':'span class="fraktur"', + '\\mathfrak{C}':'ℭ', '\\mathfrak{F}':'𝔉', '\\mathfrak{H}':'ℌ', + '\\mathfrak{I}':'ℑ', '\\mathfrak{R}':'ℜ', '\\mathfrak{Z}':'ℨ', + '\\mathit':'i', '\\mathring{A}':'Å', '\\mathring{U}':'Ů', + '\\mathring{a}':'å', '\\mathring{u}':'ů', '\\mathring{w}':'ẘ', + '\\mathring{y}':'ẙ', '\\mathrm':'span class="mathrm"', + '\\mathscr':'span class="scriptfont"', '\\mathscr{B}':'ℬ', + '\\mathscr{E}':'ℰ', '\\mathscr{F}':'ℱ', '\\mathscr{H}':'ℋ', + '\\mathscr{I}':'ℐ', '\\mathscr{L}':'ℒ', '\\mathscr{M}':'ℳ', + '\\mathscr{R}':'ℛ', '\\mathsf':'span class="mathsf"', + '\\mathtt':'tt', } hybridfunctions = { - u'\\addcontentsline':[u'{$p!}{$q!}{$r!}',u'f0{}',u'ignored',], - u'\\addtocontents':[u'{$p!}{$q!}',u'f0{}',u'ignored',], - u'\\backmatter':[u'',u'f0{}',u'ignored',], - u'\\binom':[u'{$1}{$2}',u'f2{(}f0{f1{$1}f1{$2}}f2{)}',u'span class="binom"',u'span class="binomstack"',u'span class="bigsymbol"',], - u'\\boxed':[u'{$1}',u'f0{$1}',u'span class="boxed"',], - u'\\cfrac':[u'[$p!]{$1}{$2}',u'f0{f3{(}f1{$1}f3{)/(}f2{$2}f3{)}}',u'span class="fullfraction"',u'span class="numerator align-$p"',u'span class="denominator"',u'span class="ignored"',], - u'\\color':[u'{$p!}{$1}',u'f0{$1}',u'span style="color: $p;"',], - u'\\colorbox':[u'{$p!}{$1}',u'f0{$1}',u'span class="colorbox" style="background: $p;"',], - u'\\dbinom':[u'{$1}{$2}',u'(f0{f1{f2{$1}}f1{f2{ }}f1{f2{$2}}})',u'span class="binomial"',u'span class="binomrow"',u'span class="binomcell"',], - u'\\dfrac':[u'{$1}{$2}',u'f0{f3{(}f1{$1}f3{)/(}f2{$2}f3{)}}',u'span class="fullfraction"',u'span class="numerator"',u'span class="denominator"',u'span class="ignored"',], - u'\\displaystyle':[u'{$1}',u'f0{$1}',u'span class="displaystyle"',], - u'\\fancyfoot':[u'[$p!]{$q!}',u'f0{}',u'ignored',], - u'\\fancyhead':[u'[$p!]{$q!}',u'f0{}',u'ignored',], - u'\\fbox':[u'{$1}',u'f0{$1}',u'span class="fbox"',], - u'\\fboxrule':[u'{$p!}',u'f0{}',u'ignored',], - u'\\fboxsep':[u'{$p!}',u'f0{}',u'ignored',], - u'\\fcolorbox':[u'{$p!}{$q!}{$1}',u'f0{$1}',u'span class="boxed" style="border-color: $p; background: $q;"',], - u'\\frac':[u'{$1}{$2}',u'f0{f3{(}f1{$1}f3{)/(}f2{$2}f3{)}}',u'span class="fraction"',u'span class="numerator"',u'span class="denominator"',u'span class="ignored"',], - u'\\framebox':[u'[$p!][$q!]{$1}',u'f0{$1}',u'span class="framebox align-$q" style="width: $p;"',], - u'\\frontmatter':[u'',u'f0{}',u'ignored',], - u'\\href':[u'[$o]{$u!}{$t!}',u'f0{$t}',u'a href="$u"',], - u'\\hspace':[u'{$p!}',u'f0{ }',u'span class="hspace" style="width: $p;"',], - u'\\leftroot':[u'{$p!}',u'f0{ }',u'span class="leftroot" style="width: $p;px"',], - u'\\mainmatter':[u'',u'f0{}',u'ignored',], - u'\\markboth':[u'{$p!}{$q!}',u'f0{}',u'ignored',], - u'\\markright':[u'{$p!}',u'f0{}',u'ignored',], - u'\\nicefrac':[u'{$1}{$2}',u'f0{f1{$1}⁄f2{$2}}',u'span class="fraction"',u'sup class="numerator"',u'sub class="denominator"',u'span class="ignored"',], - u'\\parbox':[u'[$p!]{$w!}{$1}',u'f0{1}',u'div class="Boxed" style="width: $w;"',], - u'\\raisebox':[u'{$p!}{$1}',u'f0{$1.font}',u'span class="raisebox" style="vertical-align: $p;"',], - u'\\renewenvironment':[u'{$1!}{$2!}{$3!}',u'',], - u'\\rule':[u'[$v!]{$w!}{$h!}',u'f0/',u'hr class="line" style="width: $w; height: $h;"',], - u'\\scriptscriptstyle':[u'{$1}',u'f0{$1}',u'span class="scriptscriptstyle"',], - u'\\scriptstyle':[u'{$1}',u'f0{$1}',u'span class="scriptstyle"',], - u'\\sqrt':[u'[$0]{$1}',u'f0{f1{$0}f2{√}f4{(}f3{$1}f4{)}}',u'span class="sqrt"',u'sup class="root"',u'span class="radical"',u'span class="root"',u'span class="ignored"',], - u'\\stackrel':[u'{$1}{$2}',u'f0{f1{$1}f2{$2}}',u'span class="stackrel"',u'span class="upstackrel"',u'span class="downstackrel"',], - u'\\tbinom':[u'{$1}{$2}',u'(f0{f1{f2{$1}}f1{f2{ }}f1{f2{$2}}})',u'span class="binomial"',u'span class="binomrow"',u'span class="binomcell"',], - u'\\textcolor':[u'{$p!}{$1}',u'f0{$1}',u'span style="color: $p;"',], - u'\\textstyle':[u'{$1}',u'f0{$1}',u'span class="textstyle"',], - u'\\thispagestyle':[u'{$p!}',u'f0{}',u'ignored',], - u'\\unit':[u'[$0]{$1}',u'$0f0{$1.font}',u'span class="unit"',], - u'\\unitfrac':[u'[$0]{$1}{$2}',u'$0f0{f1{$1.font}⁄f2{$2.font}}',u'span class="fraction"',u'sup class="unit"',u'sub class="unit"',], - u'\\uproot':[u'{$p!}',u'f0{ }',u'span class="uproot" style="width: $p;px"',], - u'\\url':[u'{$u!}',u'f0{$u}',u'a href="$u"',], - u'\\vspace':[u'{$p!}',u'f0{ }',u'span class="vspace" style="height: $p;"',], + '\\addcontentsline':['{$p!}{$q!}{$r!}','f0{}','ignored',], + '\\addtocontents':['{$p!}{$q!}','f0{}','ignored',], + '\\backmatter':['','f0{}','ignored',], + '\\binom':['{$1}{$2}','f2{(}f0{f1{$1}f1{$2}}f2{)}','span class="binom"','span class="binomstack"','span class="bigsymbol"',], + '\\boxed':['{$1}','f0{$1}','span class="boxed"',], + '\\cfrac':['[$p!]{$1}{$2}','f0{f3{(}f1{$1}f3{)/(}f2{$2}f3{)}}','span class="fullfraction"','span class="numerator align-$p"','span class="denominator"','span class="ignored"',], + '\\color':['{$p!}{$1}','f0{$1}','span style="color: $p;"',], + '\\colorbox':['{$p!}{$1}','f0{$1}','span class="colorbox" style="background: $p;"',], + '\\dbinom':['{$1}{$2}','(f0{f1{f2{$1}}f1{f2{ }}f1{f2{$2}}})','span class="binomial"','span class="binomrow"','span class="binomcell"',], + '\\dfrac':['{$1}{$2}','f0{f3{(}f1{$1}f3{)/(}f2{$2}f3{)}}','span class="fullfraction"','span class="numerator"','span class="denominator"','span class="ignored"',], + '\\displaystyle':['{$1}','f0{$1}','span class="displaystyle"',], + '\\fancyfoot':['[$p!]{$q!}','f0{}','ignored',], + '\\fancyhead':['[$p!]{$q!}','f0{}','ignored',], + '\\fbox':['{$1}','f0{$1}','span class="fbox"',], + '\\fboxrule':['{$p!}','f0{}','ignored',], + '\\fboxsep':['{$p!}','f0{}','ignored',], + '\\fcolorbox':['{$p!}{$q!}{$1}','f0{$1}','span class="boxed" style="border-color: $p; background: $q;"',], + '\\frac':['{$1}{$2}','f0{f3{(}f1{$1}f3{)/(}f2{$2}f3{)}}','span class="fraction"','span class="numerator"','span class="denominator"','span class="ignored"',], + '\\framebox':['[$p!][$q!]{$1}','f0{$1}','span class="framebox align-$q" style="width: $p;"',], + '\\frontmatter':['','f0{}','ignored',], + '\\href':['[$o]{$u!}{$t!}','f0{$t}','a href="$u"',], + '\\hspace':['{$p!}','f0{ }','span class="hspace" style="width: $p;"',], + '\\leftroot':['{$p!}','f0{ }','span class="leftroot" style="width: $p;px"',], + '\\mainmatter':['','f0{}','ignored',], + '\\markboth':['{$p!}{$q!}','f0{}','ignored',], + '\\markright':['{$p!}','f0{}','ignored',], + '\\nicefrac':['{$1}{$2}','f0{f1{$1}⁄f2{$2}}','span class="fraction"','sup class="numerator"','sub class="denominator"','span class="ignored"',], + '\\parbox':['[$p!]{$w!}{$1}','f0{1}','div class="Boxed" style="width: $w;"',], + '\\raisebox':['{$p!}{$1}','f0{$1.font}','span class="raisebox" style="vertical-align: $p;"',], + '\\renewenvironment':['{$1!}{$2!}{$3!}','',], + '\\rule':['[$v!]{$w!}{$h!}','f0/','hr class="line" style="width: $w; height: $h;"',], + '\\scriptscriptstyle':['{$1}','f0{$1}','span class="scriptscriptstyle"',], + '\\scriptstyle':['{$1}','f0{$1}','span class="scriptstyle"',], + '\\sqrt':['[$0]{$1}','f0{f1{$0}f2{√}f4{(}f3{$1}f4{)}}','span class="sqrt"','sup class="root"','span class="radical"','span class="root"','span class="ignored"',], + '\\stackrel':['{$1}{$2}','f0{f1{$1}f2{$2}}','span class="stackrel"','span class="upstackrel"','span class="downstackrel"',], + '\\tbinom':['{$1}{$2}','(f0{f1{f2{$1}}f1{f2{ }}f1{f2{$2}}})','span class="binomial"','span class="binomrow"','span class="binomcell"',], + '\\textcolor':['{$p!}{$1}','f0{$1}','span style="color: $p;"',], + '\\textstyle':['{$1}','f0{$1}','span class="textstyle"',], + '\\thispagestyle':['{$p!}','f0{}','ignored',], + '\\unit':['[$0]{$1}','$0f0{$1.font}','span class="unit"',], + '\\unitfrac':['[$0]{$1}{$2}','$0f0{f1{$1.font}⁄f2{$2.font}}','span class="fraction"','sup class="unit"','sub class="unit"',], + '\\uproot':['{$p!}','f0{ }','span class="uproot" style="width: $p;px"',], + '\\url':['{$u!}','f0{$u}','a href="$u"',], + '\\vspace':['{$p!}','f0{ }','span class="vspace" style="height: $p;"',], } hybridsizes = { - u'\\binom':u'$1+$2', u'\\cfrac':u'$1+$2', u'\\dbinom':u'$1+$2+1', - u'\\dfrac':u'$1+$2', u'\\frac':u'$1+$2', u'\\tbinom':u'$1+$2+1', + '\\binom':'$1+$2', '\\cfrac':'$1+$2', '\\dbinom':'$1+$2+1', + '\\dfrac':'$1+$2', '\\frac':'$1+$2', '\\tbinom':'$1+$2+1', } labelfunctions = { - u'\\label':u'a name="#"', + '\\label':'a name="#"', } limitcommands = { - u'\\biginterleave':u'⫼', u'\\bigsqcap':u'⨅', u'\\fint':u'⨏', - u'\\iiiint':u'⨌', u'\\int':u'∫', u'\\intop':u'∫', u'\\lim':u'lim', - u'\\prod':u'∏', u'\\smallint':u'∫', u'\\sqint':u'⨖', u'\\sum':u'∑', - u'\\varointclockwise':u'∲', u'\\varprod':u'⨉', u'\\zcmp':u'⨟', - u'\\zhide':u'⧹', u'\\zpipe':u'⨠', u'\\zproject':u'⨡', + '\\biginterleave':'⫼', '\\bigsqcap':'⨅', '\\fint':'⨏', + '\\iiiint':'⨌', '\\int':'∫', '\\intop':'∫', '\\lim':'lim', + '\\prod':'∏', '\\smallint':'∫', '\\sqint':'⨖', '\\sum':'∑', + '\\varointclockwise':'∲', '\\varprod':'⨉', '\\zcmp':'⨟', + '\\zhide':'⧹', '\\zpipe':'⨠', '\\zproject':'⨡', } misccommands = { - u'\\limits':u'LimitPreviousCommand', u'\\newcommand':u'MacroDefinition', - u'\\renewcommand':u'MacroDefinition', - u'\\setcounter':u'SetCounterFunction', u'\\tag':u'FormulaTag', - u'\\tag*':u'FormulaTag', u'\\today':u'TodayCommand', + '\\limits':'LimitPreviousCommand', '\\newcommand':'MacroDefinition', + '\\renewcommand':'MacroDefinition', + '\\setcounter':'SetCounterFunction', '\\tag':'FormulaTag', + '\\tag*':'FormulaTag', '\\today':'TodayCommand', } modified = { - u'\n':u'', u' ':u'', u'$':u'', u'&':u' ', u'\'':u'’', u'+':u' + ', - u',':u', ', u'-':u' − ', u'/':u' ⁄ ', u':':u' : ', u'<':u' < ', - u'=':u' = ', u'>':u' > ', u'@':u'', u'~':u'', + '\n':'', ' ':'', '$':'', '&':' ', '\'':'’', '+':' + ', + ',':', ', '-':' − ', '/':' ⁄ ', ':':' : ', '<':' < ', + '=':' = ', '>':' > ', '@':'', '~':'', } onefunctions = { - u'\\Big':u'span class="bigsymbol"', u'\\Bigg':u'span class="hugesymbol"', - u'\\bar':u'span class="bar"', u'\\begin{array}':u'span class="arraydef"', - u'\\big':u'span class="symbol"', u'\\bigg':u'span class="largesymbol"', - u'\\bigl':u'span class="bigsymbol"', u'\\bigr':u'span class="bigsymbol"', - u'\\centering':u'span class="align-center"', - u'\\ensuremath':u'span class="ensuremath"', - u'\\hphantom':u'span class="phantom"', - u'\\noindent':u'span class="noindent"', - u'\\overbrace':u'span class="overbrace"', - u'\\overline':u'span class="overline"', - u'\\phantom':u'span class="phantom"', - u'\\underbrace':u'span class="underbrace"', u'\\underline':u'u', - u'\\vphantom':u'span class="phantom"', + '\\Big':'span class="bigsymbol"', '\\Bigg':'span class="hugesymbol"', + '\\bar':'span class="bar"', '\\begin{array}':'span class="arraydef"', + '\\big':'span class="symbol"', '\\bigg':'span class="largesymbol"', + '\\bigl':'span class="bigsymbol"', '\\bigr':'span class="bigsymbol"', + '\\centering':'span class="align-center"', + '\\ensuremath':'span class="ensuremath"', + '\\hphantom':'span class="phantom"', + '\\noindent':'span class="noindent"', + '\\overbrace':'span class="overbrace"', + '\\overline':'span class="overline"', + '\\phantom':'span class="phantom"', + '\\underbrace':'span class="underbrace"', '\\underline':'u', + '\\vphantom':'span class="phantom"', } spacedcommands = { - u'\\Bot':u'⫫', u'\\Doteq':u'≑', u'\\DownArrowBar':u'⤓', - u'\\DownLeftTeeVector':u'⥞', u'\\DownLeftVectorBar':u'⥖', - u'\\DownRightTeeVector':u'⥟', u'\\DownRightVectorBar':u'⥗', - u'\\Equal':u'⩵', u'\\LeftArrowBar':u'⇤', u'\\LeftDownTeeVector':u'⥡', - u'\\LeftDownVectorBar':u'⥙', u'\\LeftTeeVector':u'⥚', - u'\\LeftTriangleBar':u'⧏', u'\\LeftUpTeeVector':u'⥠', - u'\\LeftUpVectorBar':u'⥘', u'\\LeftVectorBar':u'⥒', - u'\\Leftrightarrow':u'⇔', u'\\Longmapsfrom':u'⟽', u'\\Longmapsto':u'⟾', - u'\\MapsDown':u'↧', u'\\MapsUp':u'↥', u'\\Nearrow':u'⇗', - u'\\NestedGreaterGreater':u'⪢', u'\\NestedLessLess':u'⪡', - u'\\NotGreaterLess':u'≹', u'\\NotGreaterTilde':u'≵', - u'\\NotLessTilde':u'≴', u'\\Nwarrow':u'⇖', u'\\Proportion':u'∷', - u'\\RightArrowBar':u'⇥', u'\\RightDownTeeVector':u'⥝', - u'\\RightDownVectorBar':u'⥕', u'\\RightTeeVector':u'⥛', - u'\\RightTriangleBar':u'⧐', u'\\RightUpTeeVector':u'⥜', - u'\\RightUpVectorBar':u'⥔', u'\\RightVectorBar':u'⥓', - u'\\Rightarrow':u'⇒', u'\\Same':u'⩶', u'\\Searrow':u'⇘', - u'\\Swarrow':u'⇙', u'\\Top':u'⫪', u'\\UpArrowBar':u'⤒', u'\\VDash':u'⊫', - u'\\approx':u'≈', u'\\approxeq':u'≊', u'\\backsim':u'∽', u'\\barin':u'⋶', - u'\\barleftharpoon':u'⥫', u'\\barrightharpoon':u'⥭', u'\\bij':u'⤖', - u'\\coloneq':u'≔', u'\\corresponds':u'≙', u'\\curlyeqprec':u'⋞', - u'\\curlyeqsucc':u'⋟', u'\\dashrightarrow':u'⇢', u'\\dlsh':u'↲', - u'\\downdownharpoons':u'⥥', u'\\downuparrows':u'⇵', - u'\\downupharpoons':u'⥯', u'\\drsh':u'↳', u'\\eqslantgtr':u'⪖', - u'\\eqslantless':u'⪕', u'\\equiv':u'≡', u'\\ffun':u'⇻', u'\\finj':u'⤕', - u'\\ge':u'≥', u'\\geq':u'≥', u'\\ggcurly':u'⪼', u'\\gnapprox':u'⪊', - u'\\gneq':u'⪈', u'\\gtrapprox':u'⪆', u'\\hash':u'⋕', u'\\iddots':u'⋰', - u'\\implies':u' ⇒ ', u'\\in':u'∈', u'\\le':u'≤', u'\\leftarrow':u'←', - u'\\leftarrowtriangle':u'⇽', u'\\leftbarharpoon':u'⥪', - u'\\leftrightarrowtriangle':u'⇿', u'\\leftrightharpoon':u'⥊', - u'\\leftrightharpoondown':u'⥐', u'\\leftrightharpoonup':u'⥎', - u'\\leftrightsquigarrow':u'↭', u'\\leftslice':u'⪦', - u'\\leftsquigarrow':u'⇜', u'\\leftupdownharpoon':u'⥑', u'\\leq':u'≤', - u'\\lessapprox':u'⪅', u'\\llcurly':u'⪻', u'\\lnapprox':u'⪉', - u'\\lneq':u'⪇', u'\\longmapsfrom':u'⟻', u'\\multimapboth':u'⧟', - u'\\multimapdotbothA':u'⊶', u'\\multimapdotbothB':u'⊷', - u'\\multimapinv':u'⟜', u'\\nVdash':u'⊮', u'\\ne':u'≠', u'\\neq':u'≠', - u'\\ngeq':u'≱', u'\\nleq':u'≰', u'\\nni':u'∌', u'\\not\\in':u'∉', - u'\\notasymp':u'≭', u'\\npreceq':u'⋠', u'\\nsqsubseteq':u'⋢', - u'\\nsqsupseteq':u'⋣', u'\\nsubset':u'⊄', u'\\nsucceq':u'⋡', - u'\\pfun':u'⇸', u'\\pinj':u'⤔', u'\\precapprox':u'⪷', u'\\preceqq':u'⪳', - u'\\precnapprox':u'⪹', u'\\precnsim':u'⋨', u'\\propto':u'∝', - u'\\psur':u'⤀', u'\\rightarrow':u'→', u'\\rightarrowtriangle':u'⇾', - u'\\rightbarharpoon':u'⥬', u'\\rightleftharpoon':u'⥋', - u'\\rightslice':u'⪧', u'\\rightsquigarrow':u'⇝', - u'\\rightupdownharpoon':u'⥏', u'\\sim':u'~', u'\\strictfi':u'⥼', - u'\\strictif':u'⥽', u'\\subset':u'⊂', u'\\subseteq':u'⊆', - u'\\subsetneq':u'⊊', u'\\succapprox':u'⪸', u'\\succeqq':u'⪴', - u'\\succnapprox':u'⪺', u'\\supset':u'⊃', u'\\supseteq':u'⊇', - u'\\supsetneq':u'⊋', u'\\times':u'×', u'\\to':u'→', - u'\\updownarrows':u'⇅', u'\\updownharpoons':u'⥮', u'\\upupharpoons':u'⥣', - u'\\vartriangleleft':u'⊲', u'\\vartriangleright':u'⊳', + '\\Bot':'⫫', '\\Doteq':'≑', '\\DownArrowBar':'⤓', + '\\DownLeftTeeVector':'⥞', '\\DownLeftVectorBar':'⥖', + '\\DownRightTeeVector':'⥟', '\\DownRightVectorBar':'⥗', + '\\Equal':'⩵', '\\LeftArrowBar':'⇤', '\\LeftDownTeeVector':'⥡', + '\\LeftDownVectorBar':'⥙', '\\LeftTeeVector':'⥚', + '\\LeftTriangleBar':'⧏', '\\LeftUpTeeVector':'⥠', + '\\LeftUpVectorBar':'⥘', '\\LeftVectorBar':'⥒', + '\\Leftrightarrow':'⇔', '\\Longmapsfrom':'⟽', '\\Longmapsto':'⟾', + '\\MapsDown':'↧', '\\MapsUp':'↥', '\\Nearrow':'⇗', + '\\NestedGreaterGreater':'⪢', '\\NestedLessLess':'⪡', + '\\NotGreaterLess':'≹', '\\NotGreaterTilde':'≵', + '\\NotLessTilde':'≴', '\\Nwarrow':'⇖', '\\Proportion':'∷', + '\\RightArrowBar':'⇥', '\\RightDownTeeVector':'⥝', + '\\RightDownVectorBar':'⥕', '\\RightTeeVector':'⥛', + '\\RightTriangleBar':'⧐', '\\RightUpTeeVector':'⥜', + '\\RightUpVectorBar':'⥔', '\\RightVectorBar':'⥓', + '\\Rightarrow':'⇒', '\\Same':'⩶', '\\Searrow':'⇘', + '\\Swarrow':'⇙', '\\Top':'⫪', '\\UpArrowBar':'⤒', '\\VDash':'⊫', + '\\approx':'≈', '\\approxeq':'≊', '\\backsim':'∽', '\\barin':'⋶', + '\\barleftharpoon':'⥫', '\\barrightharpoon':'⥭', '\\bij':'⤖', + '\\coloneq':'≔', '\\corresponds':'≙', '\\curlyeqprec':'⋞', + '\\curlyeqsucc':'⋟', '\\dashrightarrow':'⇢', '\\dlsh':'↲', + '\\downdownharpoons':'⥥', '\\downuparrows':'⇵', + '\\downupharpoons':'⥯', '\\drsh':'↳', '\\eqslantgtr':'⪖', + '\\eqslantless':'⪕', '\\equiv':'≡', '\\ffun':'⇻', '\\finj':'⤕', + '\\ge':'≥', '\\geq':'≥', '\\ggcurly':'⪼', '\\gnapprox':'⪊', + '\\gneq':'⪈', '\\gtrapprox':'⪆', '\\hash':'⋕', '\\iddots':'⋰', + '\\implies':' ⇒ ', '\\in':'∈', '\\le':'≤', '\\leftarrow':'←', + '\\leftarrowtriangle':'⇽', '\\leftbarharpoon':'⥪', + '\\leftrightarrowtriangle':'⇿', '\\leftrightharpoon':'⥊', + '\\leftrightharpoondown':'⥐', '\\leftrightharpoonup':'⥎', + '\\leftrightsquigarrow':'↭', '\\leftslice':'⪦', + '\\leftsquigarrow':'⇜', '\\leftupdownharpoon':'⥑', '\\leq':'≤', + '\\lessapprox':'⪅', '\\llcurly':'⪻', '\\lnapprox':'⪉', + '\\lneq':'⪇', '\\longmapsfrom':'⟻', '\\multimapboth':'⧟', + '\\multimapdotbothA':'⊶', '\\multimapdotbothB':'⊷', + '\\multimapinv':'⟜', '\\nVdash':'⊮', '\\ne':'≠', '\\neq':'≠', + '\\ngeq':'≱', '\\nleq':'≰', '\\nni':'∌', '\\not\\in':'∉', + '\\notasymp':'≭', '\\npreceq':'⋠', '\\nsqsubseteq':'⋢', + '\\nsqsupseteq':'⋣', '\\nsubset':'⊄', '\\nsucceq':'⋡', + '\\pfun':'⇸', '\\pinj':'⤔', '\\precapprox':'⪷', '\\preceqq':'⪳', + '\\precnapprox':'⪹', '\\precnsim':'⋨', '\\propto':'∝', + '\\psur':'⤀', '\\rightarrow':'→', '\\rightarrowtriangle':'⇾', + '\\rightbarharpoon':'⥬', '\\rightleftharpoon':'⥋', + '\\rightslice':'⪧', '\\rightsquigarrow':'⇝', + '\\rightupdownharpoon':'⥏', '\\sim':'~', '\\strictfi':'⥼', + '\\strictif':'⥽', '\\subset':'⊂', '\\subseteq':'⊆', + '\\subsetneq':'⊊', '\\succapprox':'⪸', '\\succeqq':'⪴', + '\\succnapprox':'⪺', '\\supset':'⊃', '\\supseteq':'⊇', + '\\supsetneq':'⊋', '\\times':'×', '\\to':'→', + '\\updownarrows':'⇅', '\\updownharpoons':'⥮', '\\upupharpoons':'⥣', + '\\vartriangleleft':'⊲', '\\vartriangleright':'⊳', } starts = { - u'beginafter':u'}', u'beginbefore':u'\\begin{', u'bracket':u'{', - u'command':u'\\', u'comment':u'%', u'complex':u'\\[', u'simple':u'$', - u'squarebracket':u'[', u'unnumbered':u'*', + 'beginafter':'}', 'beginbefore':'\\begin{', 'bracket':'{', + 'command':'\\', 'comment':'%', 'complex':'\\[', 'simple':'$', + 'squarebracket':'[', 'unnumbered':'*', } symbolfunctions = { - u'^':u'sup', u'_':u'sub', + '^':'sup', '_':'sub', } textfunctions = { - u'\\mbox':u'span class="mbox"', u'\\text':u'span class="text"', - u'\\textbf':u'b', u'\\textipa':u'span class="textipa"', u'\\textit':u'i', - u'\\textnormal':u'span class="textnormal"', - u'\\textrm':u'span class="textrm"', - u'\\textsc':u'span class="versalitas"', - u'\\textsf':u'span class="textsf"', u'\\textsl':u'i', u'\\texttt':u'tt', - u'\\textup':u'span class="normal"', + '\\mbox':'span class="mbox"', '\\text':'span class="text"', + '\\textbf':'b', '\\textipa':'span class="textipa"', '\\textit':'i', + '\\textnormal':'span class="textnormal"', + '\\textrm':'span class="textrm"', + '\\textsc':'span class="versalitas"', + '\\textsf':'span class="textsf"', '\\textsl':'i', '\\texttt':'tt', + '\\textup':'span class="normal"', } unmodified = { - u'characters':[u'.',u'*',u'€',u'(',u')',u'[',u']',u'·',u'!',u';',u'|',u'§',u'"',], + 'characters':['.','*','€','(',')','[',']','·','!',';','|','§','"',], } urls = { - u'googlecharts':u'http://chart.googleapis.com/chart?cht=tx&chl=', + 'googlecharts':'http://chart.googleapis.com/chart?cht=tx&chl=', } class GeneralConfig(object): "Configuration class from elyxer.config file" version = { - u'date':u'2015-02-26', u'lyxformat':u'413', u'number':u'1.2.5', + 'date':'2015-02-26', 'lyxformat':'413', 'number':'1.2.5', } class HeaderConfig(object): "Configuration class from elyxer.config file" parameters = { - u'beginpreamble':u'\\begin_preamble', u'branch':u'\\branch', - u'documentclass':u'\\textclass', u'endbranch':u'\\end_branch', - u'endpreamble':u'\\end_preamble', u'language':u'\\language', - u'lstset':u'\\lstset', u'outputchanges':u'\\output_changes', - u'paragraphseparation':u'\\paragraph_separation', - u'pdftitle':u'\\pdf_title', u'secnumdepth':u'\\secnumdepth', - u'tocdepth':u'\\tocdepth', + 'beginpreamble':'\\begin_preamble', 'branch':'\\branch', + 'documentclass':'\\textclass', 'endbranch':'\\end_branch', + 'endpreamble':'\\end_preamble', 'language':'\\language', + 'lstset':'\\lstset', 'outputchanges':'\\output_changes', + 'paragraphseparation':'\\paragraph_separation', + 'pdftitle':'\\pdf_title', 'secnumdepth':'\\secnumdepth', + 'tocdepth':'\\tocdepth', } styles = { - u'article':[u'article',u'aastex',u'aapaper',u'acmsiggraph',u'sigplanconf',u'achemso',u'amsart',u'apa',u'arab-article',u'armenian-article',u'article-beamer',u'chess',u'dtk',u'elsarticle',u'heb-article',u'IEEEtran',u'iopart',u'kluwer',u'scrarticle-beamer',u'scrartcl',u'extarticle',u'paper',u'mwart',u'revtex4',u'spie',u'svglobal3',u'ltugboat',u'agu-dtd',u'jgrga',u'agums',u'entcs',u'egs',u'ijmpc',u'ijmpd',u'singlecol-new',u'doublecol-new',u'isprs',u'tarticle',u'jsarticle',u'jarticle',u'jss',u'literate-article',u'siamltex',u'cl2emult',u'llncs',u'svglobal',u'svjog',u'svprobth',], - u'book':[u'book',u'amsbook',u'scrbook',u'extbook',u'tufte-book',u'report',u'extreport',u'scrreprt',u'memoir',u'tbook',u'jsbook',u'jbook',u'mwbk',u'svmono',u'svmult',u'treport',u'jreport',u'mwrep',], + 'article':['article','aastex','aapaper','acmsiggraph','sigplanconf','achemso','amsart','apa','arab-article','armenian-article','article-beamer','chess','dtk','elsarticle','heb-article','IEEEtran','iopart','kluwer','scrarticle-beamer','scrartcl','extarticle','paper','mwart','revtex4','spie','svglobal3','ltugboat','agu-dtd','jgrga','agums','entcs','egs','ijmpc','ijmpd','singlecol-new','doublecol-new','isprs','tarticle','jsarticle','jarticle','jss','literate-article','siamltex','cl2emult','llncs','svglobal','svjog','svprobth',], + 'book':['book','amsbook','scrbook','extbook','tufte-book','report','extreport','scrreprt','memoir','tbook','jsbook','jbook','mwbk','svmono','svmult','treport','jreport','mwrep',], } class ImageConfig(object): @@ -820,17 +820,17 @@ class ImageConfig(object): converters = { - u'imagemagick':u'convert[ -density $scale][ -define $format:use-cropbox=true] "$input" "$output"', - u'inkscape':u'inkscape "$input" --export-png="$output"', - u'lyx':u'lyx -C "$input" "$output"', + 'imagemagick':'convert[ -density $scale][ -define $format:use-cropbox=true] "$input" "$output"', + 'inkscape':'inkscape "$input" --export-png="$output"', + 'lyx':'lyx -C "$input" "$output"', } cropboxformats = { - u'.eps':u'ps', u'.pdf':u'pdf', u'.ps':u'ps', + '.eps':'ps', '.pdf':'pdf', '.ps':'ps', } formats = { - u'default':u'.png', u'vector':[u'.svg',u'.eps',], + 'default':'.png', 'vector':['.svg','.eps',], } class LayoutConfig(object): @@ -838,15 +838,15 @@ class LayoutConfig(object): groupable = { - u'allowed':[u'StringContainer',u'Constant',u'TaggedText',u'Align',u'TextFamily',u'EmphaticText',u'VersalitasText',u'BarredText',u'SizeText',u'ColorText',u'LangLine',u'Formula',], + 'allowed':['StringContainer','Constant','TaggedText','Align','TextFamily','EmphaticText','VersalitasText','BarredText','SizeText','ColorText','LangLine','Formula',], } class NewfangleConfig(object): "Configuration class from elyxer.config file" constants = { - u'chunkref':u'chunkref{', u'endcommand':u'}', u'endmark':u'>', - u'startcommand':u'\\', u'startmark':u'=<', + 'chunkref':'chunkref{', 'endcommand':'}', 'endmark':'>', + 'startcommand':'\\', 'startmark':'=<', } class NumberingConfig(object): @@ -854,47 +854,47 @@ class NumberingConfig(object): layouts = { - u'ordered':[u'Chapter',u'Section',u'Subsection',u'Subsubsection',u'Paragraph',], - u'roman':[u'Part',u'Book',], + 'ordered':['Chapter','Section','Subsection','Subsubsection','Paragraph',], + 'roman':['Part','Book',], } sequence = { - u'symbols':[u'*',u'**',u'†',u'‡',u'§',u'§§',u'¶',u'¶¶',u'#',u'##',], + 'symbols':['*','**','†','‡','§','§§','¶','¶¶','#','##',], } class StyleConfig(object): "Configuration class from elyxer.config file" hspaces = { - u'\\enskip{}':u' ', u'\\hfill{}':u' ', - u'\\hspace*{\\fill}':u' ', u'\\hspace*{}':u'', u'\\hspace{}':u' ', - u'\\negthinspace{}':u'', u'\\qquad{}':u'  ', u'\\quad{}':u' ', - u'\\space{}':u' ', u'\\thinspace{}':u' ', u'~':u' ', + '\\enskip{}':' ', '\\hfill{}':' ', + '\\hspace*{\\fill}':' ', '\\hspace*{}':'', '\\hspace{}':' ', + '\\negthinspace{}':'', '\\qquad{}':'  ', '\\quad{}':' ', + '\\space{}':' ', '\\thinspace{}':' ', '~':' ', } quotes = { - u'ald':u'»', u'als':u'›', u'ard':u'«', u'ars':u'‹', u'eld':u'“', - u'els':u'‘', u'erd':u'”', u'ers':u'’', u'fld':u'«', - u'fls':u'‹', u'frd':u'»', u'frs':u'›', u'gld':u'„', u'gls':u'‚', - u'grd':u'“', u'grs':u'‘', u'pld':u'„', u'pls':u'‚', u'prd':u'”', - u'prs':u'’', u'sld':u'”', u'srd':u'”', + 'ald':'»', 'als':'›', 'ard':'«', 'ars':'‹', 'eld':'“', + 'els':'‘', 'erd':'”', 'ers':'’', 'fld':'«', + 'fls':'‹', 'frd':'»', 'frs':'›', 'gld':'„', 'gls':'‚', + 'grd':'“', 'grs':'‘', 'pld':'„', 'pls':'‚', 'prd':'”', + 'prs':'’', 'sld':'”', 'srd':'”', } referenceformats = { - u'eqref':u'(@↕)', u'formatted':u'¶↕', u'nameref':u'$↕', u'pageref':u'#↕', - u'ref':u'@↕', u'vpageref':u'on-page#↕', u'vref':u'@on-page#↕', + 'eqref':'(@↕)', 'formatted':'¶↕', 'nameref':'$↕', 'pageref':'#↕', + 'ref':'@↕', 'vpageref':'on-page#↕', 'vref':'@on-page#↕', } size = { - u'ignoredtexts':[u'col',u'text',u'line',u'page',u'theight',u'pheight',], + 'ignoredtexts':['col','text','line','page','theight','pheight',], } vspaces = { - u'bigskip':u'

', - u'defskip':u'
', - u'medskip':u'
', - u'smallskip':u'
', - u'vfill':u'
', + 'bigskip':'
', + 'defskip':'
', + 'medskip':'
', + 'smallskip':'
', + 'vfill':'
', } class TOCConfig(object): @@ -902,87 +902,87 @@ class TOCConfig(object): extractplain = { - u'allowed':[u'StringContainer',u'Constant',u'TaggedText',u'Align',u'TextFamily',u'EmphaticText',u'VersalitasText',u'BarredText',u'SizeText',u'ColorText',u'LangLine',u'Formula',], - u'cloned':[u'',], u'extracted':[u'',], + 'allowed':['StringContainer','Constant','TaggedText','Align','TextFamily','EmphaticText','VersalitasText','BarredText','SizeText','ColorText','LangLine','Formula',], + 'cloned':['',], 'extracted':['',], } extracttitle = { - u'allowed':[u'StringContainer',u'Constant',u'Space',], - u'cloned':[u'TextFamily',u'EmphaticText',u'VersalitasText',u'BarredText',u'SizeText',u'ColorText',u'LangLine',u'Formula',], - u'extracted':[u'PlainLayout',u'TaggedText',u'Align',u'Caption',u'StandardLayout',u'FlexInset',], + 'allowed':['StringContainer','Constant','Space',], + 'cloned':['TextFamily','EmphaticText','VersalitasText','BarredText','SizeText','ColorText','LangLine','Formula',], + 'extracted':['PlainLayout','TaggedText','Align','Caption','StandardLayout','FlexInset',], } class TagConfig(object): "Configuration class from elyxer.config file" barred = { - u'under':u'u', + 'under':'u', } family = { - u'sans':u'span class="sans"', u'typewriter':u'tt', + 'sans':'span class="sans"', 'typewriter':'tt', } flex = { - u'CharStyle:Code':u'span class="code"', - u'CharStyle:MenuItem':u'span class="menuitem"', - u'Code':u'span class="code"', u'MenuItem':u'span class="menuitem"', - u'Noun':u'span class="noun"', u'Strong':u'span class="strong"', + 'CharStyle:Code':'span class="code"', + 'CharStyle:MenuItem':'span class="menuitem"', + 'Code':'span class="code"', 'MenuItem':'span class="menuitem"', + 'Noun':'span class="noun"', 'Strong':'span class="strong"', } group = { - u'layouts':[u'Quotation',u'Quote',], + 'layouts':['Quotation','Quote',], } layouts = { - u'Center':u'div', u'Chapter':u'h?', u'Date':u'h2', u'Paragraph':u'div', - u'Part':u'h1', u'Quotation':u'blockquote', u'Quote':u'blockquote', - u'Section':u'h?', u'Subsection':u'h?', u'Subsubsection':u'h?', + 'Center':'div', 'Chapter':'h?', 'Date':'h2', 'Paragraph':'div', + 'Part':'h1', 'Quotation':'blockquote', 'Quote':'blockquote', + 'Section':'h?', 'Subsection':'h?', 'Subsubsection':'h?', } listitems = { - u'Enumerate':u'ol', u'Itemize':u'ul', + 'Enumerate':'ol', 'Itemize':'ul', } notes = { - u'Comment':u'', u'Greyedout':u'span class="greyedout"', u'Note':u'', + 'Comment':'', 'Greyedout':'span class="greyedout"', 'Note':'', } script = { - u'subscript':u'sub', u'superscript':u'sup', + 'subscript':'sub', 'superscript':'sup', } shaped = { - u'italic':u'i', u'slanted':u'i', u'smallcaps':u'span class="versalitas"', + 'italic':'i', 'slanted':'i', 'smallcaps':'span class="versalitas"', } class TranslationConfig(object): "Configuration class from elyxer.config file" constants = { - u'Appendix':u'Appendix', u'Book':u'Book', u'Chapter':u'Chapter', - u'Paragraph':u'Paragraph', u'Part':u'Part', u'Section':u'Section', - u'Subsection':u'Subsection', u'Subsubsection':u'Subsubsection', - u'abstract':u'Abstract', u'bibliography':u'Bibliography', - u'figure':u'figure', u'float-algorithm':u'Algorithm ', - u'float-figure':u'Figure ', u'float-listing':u'Listing ', - u'float-table':u'Table ', u'float-tableau':u'Tableau ', - u'footnotes':u'Footnotes', u'generated-by':u'Document generated by ', - u'generated-on':u' on ', u'index':u'Index', - u'jsmath-enable':u'Please enable JavaScript on your browser.', - u'jsmath-requires':u' requires JavaScript to correctly process the mathematics on this page. ', - u'jsmath-warning':u'Warning: ', u'list-algorithm':u'List of Algorithms', - u'list-figure':u'List of Figures', u'list-table':u'List of Tables', - u'list-tableau':u'List of Tableaux', u'main-page':u'Main page', - u'next':u'Next', u'nomenclature':u'Nomenclature', - u'on-page':u' on page ', u'prev':u'Prev', u'references':u'References', - u'toc':u'Table of Contents', u'toc-for':u'Contents for ', u'up':u'Up', + 'Appendix':'Appendix', 'Book':'Book', 'Chapter':'Chapter', + 'Paragraph':'Paragraph', 'Part':'Part', 'Section':'Section', + 'Subsection':'Subsection', 'Subsubsection':'Subsubsection', + 'abstract':'Abstract', 'bibliography':'Bibliography', + 'figure':'figure', 'float-algorithm':'Algorithm ', + 'float-figure':'Figure ', 'float-listing':'Listing ', + 'float-table':'Table ', 'float-tableau':'Tableau ', + 'footnotes':'Footnotes', 'generated-by':'Document generated by ', + 'generated-on':' on ', 'index':'Index', + 'jsmath-enable':'Please enable JavaScript on your browser.', + 'jsmath-requires':' requires JavaScript to correctly process the mathematics on this page. ', + 'jsmath-warning':'Warning: ', 'list-algorithm':'List of Algorithms', + 'list-figure':'List of Figures', 'list-table':'List of Tables', + 'list-tableau':'List of Tableaux', 'main-page':'Main page', + 'next':'Next', 'nomenclature':'Nomenclature', + 'on-page':' on page ', 'prev':'Prev', 'references':'References', + 'toc':'Table of Contents', 'toc-for':'Contents for ', 'up':'Up', } languages = { - u'american':u'en', u'british':u'en', u'deutsch':u'de', u'dutch':u'nl', - u'english':u'en', u'french':u'fr', u'ngerman':u'de', u'russian':u'ru', - u'spanish':u'es', + 'american':'en', 'british':'en', 'deutsch':'de', 'dutch':'nl', + 'english':'en', 'french':'fr', 'ngerman':'de', 'russian':'ru', + 'spanish':'es', } @@ -1075,7 +1075,7 @@ class Options(object): html = False help = False showlines = True - unicode = False + str = False iso885915 = False css = [] favicon = '' @@ -1302,12 +1302,12 @@ def isselected(self): def __unicode__(self): "String representation" - return 'options for ' + self.name + ': ' + unicode(self.options) + return 'options for ' + self.name + ': ' + str(self.options) -import urllib +import urllib.request, urllib.parse, urllib.error @@ -1440,7 +1440,7 @@ def parsexml(self, reader): def parseending(self, reader, process): "Parse until the current ending is found" if not self.ending: - Trace.error('No ending for ' + unicode(self)) + Trace.error('No ending for ' + str(self)) return while not reader.currentline().startswith(self.ending): process() @@ -1453,7 +1453,7 @@ def parsecontainer(self, reader, contents): def __unicode__(self): "Return a description" - return self.__class__.__name__ + ' (' + unicode(self.begin) + ')' + return self.__class__.__name__ + ' (' + str(self.begin) + ')' class LoneCommand(Parser): "A parser for just one command line" @@ -1560,7 +1560,7 @@ class ContainerOutput(object): def gethtml(self, container): "Show an error." - Trace.error('gethtml() not implemented for ' + unicode(self)) + Trace.error('gethtml() not implemented for ' + str(self)) def isempty(self): "Decide if the output is empty: by default, not empty." @@ -1593,7 +1593,7 @@ def gethtml(self, container): return html for element in container.contents: if not hasattr(element, 'gethtml'): - Trace.error('No html in ' + element.__class__.__name__ + ': ' + unicode(element)) + Trace.error('No html in ' + element.__class__.__name__ + ': ' + str(element)) return html html += element.gethtml() return html @@ -1658,7 +1658,7 @@ def selfclosing(self, container): def checktag(self): "Check that the tag is valid." if not self.tag: - Trace.error('No tag in ' + unicode(container)) + Trace.error('No tag in ' + str(container)) return False if self.tag == '': return False @@ -1761,7 +1761,7 @@ def readline(self): self.current = self.current.rstrip('\n\r') self.linenumber += 1 self.mustread = False - Trace.prefix = 'Line ' + unicode(self.linenumber) + ': ' + Trace.prefix = 'Line ' + str(self.linenumber) + ': ' if self.linenumber % 1000 == 0: Trace.message('Parsing') @@ -1791,8 +1791,8 @@ def __init__(self, filename): def write(self, strings): "Write a list of strings" for string in strings: - if not isinstance(string, basestring): - Trace.error('Not a string: ' + unicode(string) + ' in ' + unicode(strings)) + if not isinstance(string, str): + Trace.error('Not a string: ' + str(string) + ' in ' + str(strings)) return self.writestring(string) @@ -1986,13 +1986,13 @@ def findending(self, pos): def checkpending(self): "Check if there are any pending endings" if len(self.endings) != 0: - Trace.error('Pending ' + unicode(self) + ' left open') + Trace.error('Pending ' + str(self) + ' left open') def __unicode__(self): "Printable representation" string = 'endings [' for ending in self.endings: - string += unicode(ending) + ',' + string += str(ending) + ',' if len(self.endings) > 0: string = string[:-1] return string + ']' @@ -2057,7 +2057,7 @@ def skipcurrent(self): self.skip(current) return current - def next(self): + def __next__(self): "Advance the position and return the next character." self.skipcurrent() return self.current() @@ -2143,13 +2143,13 @@ def identifier(self): "Return the current line and line number in the file." before = self.reader.currentline()[:self.pos - 1] after = self.reader.currentline()[self.pos:] - return 'line ' + unicode(self.getlinenumber()) + ': ' + before + '*' + after + return 'line ' + str(self.getlinenumber()) + ': ' + before + '*' + after def isout(self): "Find out if we are out of the text yet." if self.pos > len(self.reader.currentline()): if self.pos > len(self.reader.currentline()) + 1: - Trace.error('Out of the line ' + self.reader.currentline() + ': ' + unicode(self.pos)) + Trace.error('Out of the line ' + self.reader.currentline() + ': ' + str(self.pos)) self.nextline() return self.reader.finished() @@ -2158,7 +2158,7 @@ def current(self): if self.pos == len(self.reader.currentline()): return '\n' if self.pos > len(self.reader.currentline()): - Trace.error('Out of the line ' + self.reader.currentline() + ': ' + unicode(self.pos)) + Trace.error('Out of the line ' + self.reader.currentline() + ': ' + str(self.pos)) return '*' return self.reader.currentline()[self.pos] @@ -2187,7 +2187,7 @@ def process(self): def gethtml(self): "Get the resulting HTML" html = self.output.gethtml(self) - if isinstance(html, basestring): + if isinstance(html, str): Trace.error('Raw string ' + html) html = [html] return self.escapeall(html) @@ -2201,14 +2201,14 @@ def escapeall(self, lines): if Options.iso885915: line = self.escape(line, EscapeConfig.iso885915) line = self.escapeentities(line) - elif not Options.unicode: + elif not Options.str: line = self.escape(line, EscapeConfig.nonunicode) result.append(line) return result def escape(self, line, replacements = EscapeConfig.entities): "Escape a line with replacements from elyxer.a map" - pieces = replacements.keys() + pieces = list(replacements.keys()) # do them in order pieces.sort() for piece in pieces: @@ -2224,7 +2224,7 @@ def escapeentities(self, line): if ord(pos.current()) > 128: codepoint = hex(ord(pos.current())) if codepoint == '0xd835': - codepoint = hex(ord(pos.next()) + 0xf800) + codepoint = hex(ord(next(pos)) + 0xf800) result += '&#' + codepoint[1:] + ';' else: result += pos.current() @@ -2292,7 +2292,7 @@ def remove(self, index): def tree(self, level = 0): "Show in a tree" - Trace.debug(" " * level + unicode(self)) + Trace.debug(" " * level + str(self)) for container in self.contents: container.tree(level + 1) @@ -2322,7 +2322,7 @@ def __unicode__(self): "Get a description" if not self.begin: return self.__class__.__name__ - return self.__class__.__name__ + '@' + unicode(self.begin) + return self.__class__.__name__ + '@' + str(self.begin) class BlackBox(Container): "A container that does not output anything" @@ -2366,7 +2366,7 @@ def replacespecial(self, line): if ContainerConfig.string['startcommand'] in replaced and len(replaced) > 1: # unprocessed commands if self.begin: - message = 'Unknown command at ' + unicode(self.begin) + ': ' + message = 'Unknown command at ' + str(self.begin) + ': ' else: message = 'Unknown command: ' Trace.error(message + replaced.strip()) @@ -2387,7 +2387,7 @@ def __unicode__(self): "Return a printable representation." result = 'StringContainer' if self.begin: - result += '@' + unicode(self.begin) + result += '@' + str(self.begin) ellipsis = '...' if len(self.string.strip()) <= 15: ellipsis = '' @@ -2799,7 +2799,7 @@ def innerformula(self, pos): def innertext(self, pos): "Parse some text inside the bracket, following textual rules." - specialchars = FormulaConfig.symbolfunctions.keys() + specialchars = list(FormulaConfig.symbolfunctions.keys()) specialchars.append(FormulaConfig.starts['command']) specialchars.append(FormulaConfig.starts['bracket']) specialchars.append(Comment.start) @@ -2840,7 +2840,7 @@ class MathsProcessor(object): def process(self, contents, index): "Process an element inside a formula." - Trace.error('Unimplemented process() in ' + unicode(self)) + Trace.error('Unimplemented process() in ' + str(self)) def __unicode__(self): "Return a printable description." @@ -2882,7 +2882,7 @@ def traversewhole(self, formula): if bit.type == 'alpha': self.italicize(bit, contents) elif bit.type == 'font' and last and last.type == 'number': - bit.contents.insert(0, FormulaConstant(u' ')) + bit.contents.insert(0, FormulaConstant(' ')) last = bit def traverse(self, bit): @@ -2943,7 +2943,7 @@ def mathjax(self): def googlecharts(self): "Make the contents using Google Charts http://code.google.com/apis/chart/." - url = FormulaConfig.urls['googlecharts'] + urllib.quote_plus(self.parsed) + url = FormulaConfig.urls['googlecharts'] + urllib.parse.quote_plus(self.parsed) img = '' + self.parsed + '' self.contents = [Constant(img)] @@ -3143,7 +3143,7 @@ def findtranslation(self): try: self.translation = gettext.translation('elyxer', None, langcodes) except IOError: - Trace.error('No translation for ' + unicode(langcodes)) + Trace.error('No translation for ' + str(langcodes)) def getmessage(self, key): "Get the translated message for the given key." @@ -3202,7 +3202,7 @@ def init(self, value): def gettext(self): "Get the next value as a text string." - return unicode(self.value) + return str(self.value) def getletter(self): "Get the next value as a letter." @@ -3485,11 +3485,11 @@ def extractnumber(self, text): def checkimage(self, width, height): "Check image dimensions, set them if possible." if width: - self.maxwidth = unicode(width) + 'px' + self.maxwidth = str(width) + 'px' if self.scale and not self.width: self.width = self.scalevalue(width) if height: - self.maxheight = unicode(height) + 'px' + self.maxheight = str(height) + 'px' if self.scale and not self.height: self.height = self.scalevalue(height) if self.width and not self.height: @@ -3500,7 +3500,7 @@ def checkimage(self, width, height): def scalevalue(self, value): "Scale the value according to the image scale and return it as unicode." scaled = value * int(self.scale) / 100 - return unicode(int(scaled)) + 'px' + return str(int(scaled)) + 'px' def removepercentwidth(self): "Remove percent width if present, to set it at the figure level." @@ -3517,7 +3517,7 @@ def removepercentwidth(self): def addstyle(self, container): "Add the proper style attribute to the output tag." if not isinstance(container.output, TaggedOutput): - Trace.error('No tag to add style, in ' + unicode(container)) + Trace.error('No tag to add style, in ' + str(container)) if not self.width and not self.height and not self.maxwidth and not self.maxheight: # nothing to see here; move along return @@ -3988,10 +3988,10 @@ def process(self): "Read the reference and set the arrow." self.key = self.getparameter('reference') if self.key in Label.names: - self.direction = u'↑' + self.direction = '↑' label = Label.names[self.key] else: - self.direction = u'↓' + self.direction = '↓' label = Label().complete(' ', self.key, 'preref') self.destination = label self.formatcontents() @@ -4004,18 +4004,18 @@ def formatcontents(self): formatkey = self.getparameter('LatexCommand') if not formatkey: formatkey = 'ref' - self.formatted = u'↕' + self.formatted = '↕' if formatkey in StyleConfig.referenceformats: self.formatted = StyleConfig.referenceformats[formatkey] else: Trace.error('Unknown reference format ' + formatkey) - self.replace(u'↕', self.direction) + self.replace('↕', self.direction) self.replace('#', '1') self.replace('on-page', Translator.translate('on-page')) partkey = self.destination.findpartkey() # only if partkey and partkey.number are not null, send partkey.number self.replace('@', partkey and partkey.number) - self.replace(u'¶', partkey and partkey.tocentry) + self.replace('¶', partkey and partkey.tocentry) if not '$' in self.formatted or not partkey or not partkey.titlecontents: # there is a $ left, but it should go away on preprocessing self.contents = [Constant(self.formatted)] @@ -4200,7 +4200,7 @@ class SpacedCommand(CommandBit): def parsebit(self, pos): "Place as contents the command translated and spaced." - self.contents = [FormulaConstant(u' ' + self.translated + u' ')] + self.contents = [FormulaConstant(' ' + self.translated + ' ')] class AlphaCommand(EmptyCommand): "A command without paramters whose result is alphabetical" @@ -4344,7 +4344,7 @@ def __init__(self, size, bracket, alignment='l'): def getpiece(self, index): "Return the nth piece for the bracket." - function = getattr(self, 'getpiece' + unicode(len(self.pieces))) + function = getattr(self, 'getpiece' + str(len(self.pieces))) return function(index) def getpiece1(self, index): @@ -4482,7 +4482,7 @@ def addempty(self): row = self.factory.create(FormulaRow).setalignments(self.alignments) for index, originalcell in enumerate(self.rows[-1].contents): cell = row.createcell(index) - cell.add(FormulaConstant(u' ')) + cell.add(FormulaConstant(' ')) row.add(cell) self.addrow(row) @@ -4540,7 +4540,7 @@ def parsebit(self, pos): for row in self.contents: for cell in row.contents: cell.output.settag('span class="case align-l"', True) - cell.contents.append(FormulaConstant(u' ')) + cell.contents.append(FormulaConstant(' ')) array = TaggedBit().complete(self.contents, 'span class="bracketcases"', True) brace = BigBracket(len(self.contents), '{', 'l') self.contents = brace.getcontents() + [array] @@ -4698,7 +4698,7 @@ def modifylimits(self, contents, index): if self.checkscript(contents, index + 1): superscript = self.getlimit(contents, index + 1) else: - superscript = TaggedBit().constant(u' ', 'sup class="limit"') + superscript = TaggedBit().constant(' ', 'sup class="limit"') limited.contents.insert(0, superscript) def getlimit(self, contents, index): @@ -4881,7 +4881,7 @@ def __unicode__(self): "Return a printable representation." result = 'param ' + self.name if self.value: - result += ': ' + unicode(self.value) + result += ': ' + str(self.value) else: result += ' (empty)' return result @@ -5012,7 +5012,7 @@ def readtag(self, pos): return None index = int(pos.skipcurrent()) if 2 + index > len(self.translated): - Trace.error('Function f' + unicode(index) + ' is not defined') + Trace.error('Function f' + str(index) + ' is not defined') return None tag = self.translated[2 + index] if not '$' in tag: @@ -5055,7 +5055,7 @@ def getsize(self, function): for name in function.params: if name in sizestring: size = function.params[name].value.computesize() - sizestring = sizestring.replace(name, unicode(size)) + sizestring = sizestring.replace(name, str(size)) if '$' in sizestring: Trace.error('Unconverted variable in hybrid size: ' + sizestring) return 1 @@ -5190,7 +5190,7 @@ def parsebit(self, pos): self.parseparameters(pos) self.factory.defining = False Trace.debug('New command ' + self.newcommand + ' (' + \ - unicode(self.parameternumber) + ' parameters)') + str(self.parameternumber) + ' parameters)') self.macros[self.newcommand] = self def parseparameters(self, pos): @@ -5236,8 +5236,8 @@ def parsebit(self, pos): Trace.error('Missing parameter start #.') return self.number = int(pos.skipcurrent()) - self.original = '#' + unicode(self.number) - self.contents = [TaggedBit().constant('#' + unicode(self.number), 'span class="unknown"')] + self.original = '#' + str(self.number) + self.contents = [TaggedBit().constant('#' + str(self.number), 'span class="unknown"')] class MacroFunction(CommandBit): "A function that was defined using a macro." @@ -5257,7 +5257,7 @@ def parseparameters(self, pos, macro): self.parseoptional(pos, list(macro.defaults)) self.parsemandatory(pos, macro.parameternumber - len(macro.defaults)) if len(self.values) < macro.parameternumber: - Trace.error('Missing parameters in macro ' + unicode(self)) + Trace.error('Missing parameters in macro ' + str(self)) def parseoptional(self, pos, defaults): "Parse optional parameters." @@ -5313,7 +5313,7 @@ def completemacro(self, macro): for parameter in self.searchall(MacroParameter): index = parameter.number - 1 if index >= len(self.values): - Trace.error('Macro parameter index out of bounds: ' + unicode(index)) + Trace.error('Macro parameter index out of bounds: ' + str(index)) return replaced[index] = True parameter.contents = [self.values[index].clone()] @@ -5323,7 +5323,7 @@ def completemacro(self, macro): def addfilter(self, index, value): "Add a filter for the given parameter number and parameter value." - original = '#' + unicode(index + 1) + original = '#' + str(index + 1) value = ''.join(self.values[0].gethtml()) self.output.addfilter(original, value) diff --git a/bin/docutils/utils/math/math2html.pyc b/bin/docutils/utils/math/math2html.pyc deleted file mode 100644 index 049a9b84..00000000 Binary files a/bin/docutils/utils/math/math2html.pyc and /dev/null differ diff --git a/bin/docutils/utils/math/tex2mathml_extern.py b/bin/docutils/utils/math/tex2mathml_extern.py index ccc55936..7559755f 100644 --- a/bin/docutils/utils/math/tex2mathml_extern.py +++ b/bin/docutils/utils/math/tex2mathml_extern.py @@ -127,7 +127,7 @@ def blahtexml(math_code, inline=True, reporter=None): result = p.stdout.read().decode('utf8') err = p.stderr.read().decode('utf8') - print err + print(err) if result.find('') >= 0: raise SyntaxError('\nMessage from external converter blahtexml:\n' +result[result.find('')+9:result.find('')]) @@ -141,7 +141,7 @@ def blahtexml(math_code, inline=True, reporter=None): # self-test if __name__ == "__main__": - example = ur'\frac{\partial \sin^2(\alpha)}{\partial \vec r} \varpi \, \text{Grüße}' + example = r'\frac{\partial \sin^2(\alpha)}{\partial \vec r} \varpi \, \text{Grüße}' # print latexml(example).encode('utf8') # print ttm(example)#.encode('utf8') - print blahtexml(example).encode('utf8') + print(blahtexml(example).encode('utf8')) diff --git a/bin/docutils/utils/math/tex2mathml_extern.pyc b/bin/docutils/utils/math/tex2mathml_extern.pyc deleted file mode 100644 index be54a252..00000000 Binary files a/bin/docutils/utils/math/tex2mathml_extern.pyc and /dev/null differ diff --git a/bin/docutils/utils/math/tex2unichar.py b/bin/docutils/utils/math/tex2unichar.py index 434c0e8c..e13b7496 100644 --- a/bin/docutils/utils/math/tex2unichar.py +++ b/bin/docutils/utils/math/tex2unichar.py @@ -7,656 +7,656 @@ # Includes commands from: wasysym, stmaryrd, mathdots, mathabx, esint, bbold, amsxtra, amsmath, amssymb, standard LaTeX mathaccent = { - 'acute': u'\u0301', # x́ COMBINING ACUTE ACCENT - 'bar': u'\u0304', # x̄ COMBINING MACRON - 'breve': u'\u0306', # x̆ COMBINING BREVE - 'check': u'\u030c', # x̌ COMBINING CARON - 'ddddot': u'\u20dc', # x⃜ COMBINING FOUR DOTS ABOVE - 'dddot': u'\u20db', # x⃛ COMBINING THREE DOTS ABOVE - 'ddot': u'\u0308', # ẍ COMBINING DIAERESIS - 'dot': u'\u0307', # ẋ COMBINING DOT ABOVE - 'grave': u'\u0300', # x̀ COMBINING GRAVE ACCENT - 'hat': u'\u0302', # x̂ COMBINING CIRCUMFLEX ACCENT - 'mathring': u'\u030a', # x̊ COMBINING RING ABOVE - 'not': u'\u0338', # x̸ COMBINING LONG SOLIDUS OVERLAY - 'overleftarrow': u'\u20d6', # x⃖ COMBINING LEFT ARROW ABOVE - 'overleftrightarrow': u'\u20e1', # x⃡ COMBINING LEFT RIGHT ARROW ABOVE - 'overline': u'\u0305', # x̅ COMBINING OVERLINE - 'overrightarrow': u'\u20d7', # x⃗ COMBINING RIGHT ARROW ABOVE - 'tilde': u'\u0303', # x̃ COMBINING TILDE - 'underbar': u'\u0331', # x̱ COMBINING MACRON BELOW - 'underleftarrow': u'\u20ee', # x⃮ COMBINING LEFT ARROW BELOW - 'underline': u'\u0332', # x̲ COMBINING LOW LINE - 'underrightarrow': u'\u20ef', # x⃯ COMBINING RIGHT ARROW BELOW - 'vec': u'\u20d7', # x⃗ COMBINING RIGHT ARROW ABOVE - 'widehat': u'\u0302', # x̂ COMBINING CIRCUMFLEX ACCENT - 'widetilde': u'\u0303', # x̃ COMBINING TILDE + 'acute': '\u0301', # x́ COMBINING ACUTE ACCENT + 'bar': '\u0304', # x̄ COMBINING MACRON + 'breve': '\u0306', # x̆ COMBINING BREVE + 'check': '\u030c', # x̌ COMBINING CARON + 'ddddot': '\u20dc', # x⃜ COMBINING FOUR DOTS ABOVE + 'dddot': '\u20db', # x⃛ COMBINING THREE DOTS ABOVE + 'ddot': '\u0308', # ẍ COMBINING DIAERESIS + 'dot': '\u0307', # ẋ COMBINING DOT ABOVE + 'grave': '\u0300', # x̀ COMBINING GRAVE ACCENT + 'hat': '\u0302', # x̂ COMBINING CIRCUMFLEX ACCENT + 'mathring': '\u030a', # x̊ COMBINING RING ABOVE + 'not': '\u0338', # x̸ COMBINING LONG SOLIDUS OVERLAY + 'overleftarrow': '\u20d6', # x⃖ COMBINING LEFT ARROW ABOVE + 'overleftrightarrow': '\u20e1', # x⃡ COMBINING LEFT RIGHT ARROW ABOVE + 'overline': '\u0305', # x̅ COMBINING OVERLINE + 'overrightarrow': '\u20d7', # x⃗ COMBINING RIGHT ARROW ABOVE + 'tilde': '\u0303', # x̃ COMBINING TILDE + 'underbar': '\u0331', # x̱ COMBINING MACRON BELOW + 'underleftarrow': '\u20ee', # x⃮ COMBINING LEFT ARROW BELOW + 'underline': '\u0332', # x̲ COMBINING LOW LINE + 'underrightarrow': '\u20ef', # x⃯ COMBINING RIGHT ARROW BELOW + 'vec': '\u20d7', # x⃗ COMBINING RIGHT ARROW ABOVE + 'widehat': '\u0302', # x̂ COMBINING CIRCUMFLEX ACCENT + 'widetilde': '\u0303', # x̃ COMBINING TILDE } mathalpha = { - 'Bbbk': u'\U0001d55c', # 𝕜 MATHEMATICAL DOUBLE-STRUCK SMALL K - 'Delta': u'\u0394', # Δ GREEK CAPITAL LETTER DELTA - 'Gamma': u'\u0393', # Γ GREEK CAPITAL LETTER GAMMA - 'Im': u'\u2111', # ℑ BLACK-LETTER CAPITAL I - 'Lambda': u'\u039b', # Λ GREEK CAPITAL LETTER LAMDA - 'Omega': u'\u03a9', # Ω GREEK CAPITAL LETTER OMEGA - 'Phi': u'\u03a6', # Φ GREEK CAPITAL LETTER PHI - 'Pi': u'\u03a0', # Π GREEK CAPITAL LETTER PI - 'Psi': u'\u03a8', # Ψ GREEK CAPITAL LETTER PSI - 'Re': u'\u211c', # ℜ BLACK-LETTER CAPITAL R - 'Sigma': u'\u03a3', # Σ GREEK CAPITAL LETTER SIGMA - 'Theta': u'\u0398', # Θ GREEK CAPITAL LETTER THETA - 'Upsilon': u'\u03a5', # Υ GREEK CAPITAL LETTER UPSILON - 'Xi': u'\u039e', # Ξ GREEK CAPITAL LETTER XI - 'aleph': u'\u2135', # ℵ ALEF SYMBOL - 'alpha': u'\u03b1', # α GREEK SMALL LETTER ALPHA - 'beta': u'\u03b2', # β GREEK SMALL LETTER BETA - 'beth': u'\u2136', # ℶ BET SYMBOL - 'chi': u'\u03c7', # χ GREEK SMALL LETTER CHI - 'daleth': u'\u2138', # ℸ DALET SYMBOL - 'delta': u'\u03b4', # δ GREEK SMALL LETTER DELTA - 'digamma': u'\u03dc', # Ϝ GREEK LETTER DIGAMMA - 'ell': u'\u2113', # ℓ SCRIPT SMALL L - 'epsilon': u'\u03f5', # ϵ GREEK LUNATE EPSILON SYMBOL - 'eta': u'\u03b7', # η GREEK SMALL LETTER ETA - 'eth': u'\xf0', # ð LATIN SMALL LETTER ETH - 'gamma': u'\u03b3', # γ GREEK SMALL LETTER GAMMA - 'gimel': u'\u2137', # ℷ GIMEL SYMBOL - 'hbar': u'\u210f', # ℏ PLANCK CONSTANT OVER TWO PI - 'hslash': u'\u210f', # ℏ PLANCK CONSTANT OVER TWO PI - 'imath': u'\u0131', # ı LATIN SMALL LETTER DOTLESS I - 'iota': u'\u03b9', # ι GREEK SMALL LETTER IOTA - 'jmath': u'\u0237', # ȷ LATIN SMALL LETTER DOTLESS J - 'kappa': u'\u03ba', # κ GREEK SMALL LETTER KAPPA - 'lambda': u'\u03bb', # λ GREEK SMALL LETTER LAMDA - 'mu': u'\u03bc', # μ GREEK SMALL LETTER MU - 'nu': u'\u03bd', # ν GREEK SMALL LETTER NU - 'omega': u'\u03c9', # ω GREEK SMALL LETTER OMEGA - 'phi': u'\u03d5', # ϕ GREEK PHI SYMBOL - 'pi': u'\u03c0', # π GREEK SMALL LETTER PI - 'psi': u'\u03c8', # ψ GREEK SMALL LETTER PSI - 'rho': u'\u03c1', # ρ GREEK SMALL LETTER RHO - 'sigma': u'\u03c3', # σ GREEK SMALL LETTER SIGMA - 'tau': u'\u03c4', # τ GREEK SMALL LETTER TAU - 'theta': u'\u03b8', # θ GREEK SMALL LETTER THETA - 'upsilon': u'\u03c5', # υ GREEK SMALL LETTER UPSILON - 'varDelta': u'\U0001d6e5', # 𝛥 MATHEMATICAL ITALIC CAPITAL DELTA - 'varGamma': u'\U0001d6e4', # 𝛤 MATHEMATICAL ITALIC CAPITAL GAMMA - 'varLambda': u'\U0001d6ec', # 𝛬 MATHEMATICAL ITALIC CAPITAL LAMDA - 'varOmega': u'\U0001d6fa', # 𝛺 MATHEMATICAL ITALIC CAPITAL OMEGA - 'varPhi': u'\U0001d6f7', # 𝛷 MATHEMATICAL ITALIC CAPITAL PHI - 'varPi': u'\U0001d6f1', # 𝛱 MATHEMATICAL ITALIC CAPITAL PI - 'varPsi': u'\U0001d6f9', # 𝛹 MATHEMATICAL ITALIC CAPITAL PSI - 'varSigma': u'\U0001d6f4', # 𝛴 MATHEMATICAL ITALIC CAPITAL SIGMA - 'varTheta': u'\U0001d6e9', # 𝛩 MATHEMATICAL ITALIC CAPITAL THETA - 'varUpsilon': u'\U0001d6f6', # 𝛶 MATHEMATICAL ITALIC CAPITAL UPSILON - 'varXi': u'\U0001d6ef', # 𝛯 MATHEMATICAL ITALIC CAPITAL XI - 'varepsilon': u'\u03b5', # ε GREEK SMALL LETTER EPSILON - 'varkappa': u'\U0001d718', # 𝜘 MATHEMATICAL ITALIC KAPPA SYMBOL - 'varphi': u'\u03c6', # φ GREEK SMALL LETTER PHI - 'varpi': u'\u03d6', # ϖ GREEK PI SYMBOL - 'varrho': u'\u03f1', # ϱ GREEK RHO SYMBOL - 'varsigma': u'\u03c2', # ς GREEK SMALL LETTER FINAL SIGMA - 'vartheta': u'\u03d1', # ϑ GREEK THETA SYMBOL - 'wp': u'\u2118', # ℘ SCRIPT CAPITAL P - 'xi': u'\u03be', # ξ GREEK SMALL LETTER XI - 'zeta': u'\u03b6', # ζ GREEK SMALL LETTER ZETA + 'Bbbk': '\U0001d55c', # 𝕜 MATHEMATICAL DOUBLE-STRUCK SMALL K + 'Delta': '\u0394', # Δ GREEK CAPITAL LETTER DELTA + 'Gamma': '\u0393', # Γ GREEK CAPITAL LETTER GAMMA + 'Im': '\u2111', # ℑ BLACK-LETTER CAPITAL I + 'Lambda': '\u039b', # Λ GREEK CAPITAL LETTER LAMDA + 'Omega': '\u03a9', # Ω GREEK CAPITAL LETTER OMEGA + 'Phi': '\u03a6', # Φ GREEK CAPITAL LETTER PHI + 'Pi': '\u03a0', # Π GREEK CAPITAL LETTER PI + 'Psi': '\u03a8', # Ψ GREEK CAPITAL LETTER PSI + 'Re': '\u211c', # ℜ BLACK-LETTER CAPITAL R + 'Sigma': '\u03a3', # Σ GREEK CAPITAL LETTER SIGMA + 'Theta': '\u0398', # Θ GREEK CAPITAL LETTER THETA + 'Upsilon': '\u03a5', # Υ GREEK CAPITAL LETTER UPSILON + 'Xi': '\u039e', # Ξ GREEK CAPITAL LETTER XI + 'aleph': '\u2135', # ℵ ALEF SYMBOL + 'alpha': '\u03b1', # α GREEK SMALL LETTER ALPHA + 'beta': '\u03b2', # β GREEK SMALL LETTER BETA + 'beth': '\u2136', # ℶ BET SYMBOL + 'chi': '\u03c7', # χ GREEK SMALL LETTER CHI + 'daleth': '\u2138', # ℸ DALET SYMBOL + 'delta': '\u03b4', # δ GREEK SMALL LETTER DELTA + 'digamma': '\u03dc', # Ϝ GREEK LETTER DIGAMMA + 'ell': '\u2113', # ℓ SCRIPT SMALL L + 'epsilon': '\u03f5', # ϵ GREEK LUNATE EPSILON SYMBOL + 'eta': '\u03b7', # η GREEK SMALL LETTER ETA + 'eth': '\xf0', # ð LATIN SMALL LETTER ETH + 'gamma': '\u03b3', # γ GREEK SMALL LETTER GAMMA + 'gimel': '\u2137', # ℷ GIMEL SYMBOL + 'hbar': '\u210f', # ℏ PLANCK CONSTANT OVER TWO PI + 'hslash': '\u210f', # ℏ PLANCK CONSTANT OVER TWO PI + 'imath': '\u0131', # ı LATIN SMALL LETTER DOTLESS I + 'iota': '\u03b9', # ι GREEK SMALL LETTER IOTA + 'jmath': '\u0237', # ȷ LATIN SMALL LETTER DOTLESS J + 'kappa': '\u03ba', # κ GREEK SMALL LETTER KAPPA + 'lambda': '\u03bb', # λ GREEK SMALL LETTER LAMDA + 'mu': '\u03bc', # μ GREEK SMALL LETTER MU + 'nu': '\u03bd', # ν GREEK SMALL LETTER NU + 'omega': '\u03c9', # ω GREEK SMALL LETTER OMEGA + 'phi': '\u03d5', # ϕ GREEK PHI SYMBOL + 'pi': '\u03c0', # π GREEK SMALL LETTER PI + 'psi': '\u03c8', # ψ GREEK SMALL LETTER PSI + 'rho': '\u03c1', # ρ GREEK SMALL LETTER RHO + 'sigma': '\u03c3', # σ GREEK SMALL LETTER SIGMA + 'tau': '\u03c4', # τ GREEK SMALL LETTER TAU + 'theta': '\u03b8', # θ GREEK SMALL LETTER THETA + 'upsilon': '\u03c5', # υ GREEK SMALL LETTER UPSILON + 'varDelta': '\U0001d6e5', # 𝛥 MATHEMATICAL ITALIC CAPITAL DELTA + 'varGamma': '\U0001d6e4', # 𝛤 MATHEMATICAL ITALIC CAPITAL GAMMA + 'varLambda': '\U0001d6ec', # 𝛬 MATHEMATICAL ITALIC CAPITAL LAMDA + 'varOmega': '\U0001d6fa', # 𝛺 MATHEMATICAL ITALIC CAPITAL OMEGA + 'varPhi': '\U0001d6f7', # 𝛷 MATHEMATICAL ITALIC CAPITAL PHI + 'varPi': '\U0001d6f1', # 𝛱 MATHEMATICAL ITALIC CAPITAL PI + 'varPsi': '\U0001d6f9', # 𝛹 MATHEMATICAL ITALIC CAPITAL PSI + 'varSigma': '\U0001d6f4', # 𝛴 MATHEMATICAL ITALIC CAPITAL SIGMA + 'varTheta': '\U0001d6e9', # 𝛩 MATHEMATICAL ITALIC CAPITAL THETA + 'varUpsilon': '\U0001d6f6', # 𝛶 MATHEMATICAL ITALIC CAPITAL UPSILON + 'varXi': '\U0001d6ef', # 𝛯 MATHEMATICAL ITALIC CAPITAL XI + 'varepsilon': '\u03b5', # ε GREEK SMALL LETTER EPSILON + 'varkappa': '\U0001d718', # 𝜘 MATHEMATICAL ITALIC KAPPA SYMBOL + 'varphi': '\u03c6', # φ GREEK SMALL LETTER PHI + 'varpi': '\u03d6', # ϖ GREEK PI SYMBOL + 'varrho': '\u03f1', # ϱ GREEK RHO SYMBOL + 'varsigma': '\u03c2', # ς GREEK SMALL LETTER FINAL SIGMA + 'vartheta': '\u03d1', # ϑ GREEK THETA SYMBOL + 'wp': '\u2118', # ℘ SCRIPT CAPITAL P + 'xi': '\u03be', # ξ GREEK SMALL LETTER XI + 'zeta': '\u03b6', # ζ GREEK SMALL LETTER ZETA } mathbin = { - 'Cap': u'\u22d2', # ⋒ DOUBLE INTERSECTION - 'Circle': u'\u25cb', # ○ WHITE CIRCLE - 'Cup': u'\u22d3', # ⋓ DOUBLE UNION - 'LHD': u'\u25c0', # ◀ BLACK LEFT-POINTING TRIANGLE - 'RHD': u'\u25b6', # ▶ BLACK RIGHT-POINTING TRIANGLE - 'amalg': u'\u2a3f', # ⨿ AMALGAMATION OR COPRODUCT - 'ast': u'\u2217', # ∗ ASTERISK OPERATOR - 'barwedge': u'\u22bc', # ⊼ NAND - 'bigtriangledown': u'\u25bd', # ▽ WHITE DOWN-POINTING TRIANGLE - 'bigtriangleup': u'\u25b3', # △ WHITE UP-POINTING TRIANGLE - 'bindnasrepma': u'\u214b', # ⅋ TURNED AMPERSAND - 'blacklozenge': u'\u29eb', # ⧫ BLACK LOZENGE - 'blacktriangledown': u'\u25be', # ▾ BLACK DOWN-POINTING SMALL TRIANGLE - 'blacktriangleleft': u'\u25c2', # ◂ BLACK LEFT-POINTING SMALL TRIANGLE - 'blacktriangleright': u'\u25b8', # ▸ BLACK RIGHT-POINTING SMALL TRIANGLE - 'blacktriangleup': u'\u25b4', # ▴ BLACK UP-POINTING SMALL TRIANGLE - 'boxast': u'\u29c6', # ⧆ SQUARED ASTERISK - 'boxbar': u'\u25eb', # ◫ WHITE SQUARE WITH VERTICAL BISECTING LINE - 'boxbox': u'\u29c8', # ⧈ SQUARED SQUARE - 'boxbslash': u'\u29c5', # ⧅ SQUARED FALLING DIAGONAL SLASH - 'boxcircle': u'\u29c7', # ⧇ SQUARED SMALL CIRCLE - 'boxdot': u'\u22a1', # ⊡ SQUARED DOT OPERATOR - 'boxminus': u'\u229f', # ⊟ SQUARED MINUS - 'boxplus': u'\u229e', # ⊞ SQUARED PLUS - 'boxslash': u'\u29c4', # ⧄ SQUARED RISING DIAGONAL SLASH - 'boxtimes': u'\u22a0', # ⊠ SQUARED TIMES - 'bullet': u'\u2219', # ∙ BULLET OPERATOR - 'cap': u'\u2229', # ∩ INTERSECTION - 'cdot': u'\u22c5', # ⋅ DOT OPERATOR - 'circ': u'\u2218', # ∘ RING OPERATOR - 'circledast': u'\u229b', # ⊛ CIRCLED ASTERISK OPERATOR - 'circledcirc': u'\u229a', # ⊚ CIRCLED RING OPERATOR - 'circleddash': u'\u229d', # ⊝ CIRCLED DASH - 'cup': u'\u222a', # ∪ UNION - 'curlyvee': u'\u22ce', # ⋎ CURLY LOGICAL OR - 'curlywedge': u'\u22cf', # ⋏ CURLY LOGICAL AND - 'dagger': u'\u2020', # † DAGGER - 'ddagger': u'\u2021', # ‡ DOUBLE DAGGER - 'diamond': u'\u22c4', # ⋄ DIAMOND OPERATOR - 'div': u'\xf7', # ÷ DIVISION SIGN - 'divideontimes': u'\u22c7', # ⋇ DIVISION TIMES - 'dotplus': u'\u2214', # ∔ DOT PLUS - 'doublebarwedge': u'\u2a5e', # ⩞ LOGICAL AND WITH DOUBLE OVERBAR - 'intercal': u'\u22ba', # ⊺ INTERCALATE - 'interleave': u'\u2af4', # ⫴ TRIPLE VERTICAL BAR BINARY RELATION - 'land': u'\u2227', # ∧ LOGICAL AND - 'leftthreetimes': u'\u22cb', # ⋋ LEFT SEMIDIRECT PRODUCT - 'lhd': u'\u25c1', # ◁ WHITE LEFT-POINTING TRIANGLE - 'lor': u'\u2228', # ∨ LOGICAL OR - 'ltimes': u'\u22c9', # ⋉ LEFT NORMAL FACTOR SEMIDIRECT PRODUCT - 'mp': u'\u2213', # ∓ MINUS-OR-PLUS SIGN - 'odot': u'\u2299', # ⊙ CIRCLED DOT OPERATOR - 'ominus': u'\u2296', # ⊖ CIRCLED MINUS - 'oplus': u'\u2295', # ⊕ CIRCLED PLUS - 'oslash': u'\u2298', # ⊘ CIRCLED DIVISION SLASH - 'otimes': u'\u2297', # ⊗ CIRCLED TIMES - 'pm': u'\xb1', # ± PLUS-MINUS SIGN - 'rhd': u'\u25b7', # ▷ WHITE RIGHT-POINTING TRIANGLE - 'rightthreetimes': u'\u22cc', # ⋌ RIGHT SEMIDIRECT PRODUCT - 'rtimes': u'\u22ca', # ⋊ RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT - 'setminus': u'\u29f5', # ⧵ REVERSE SOLIDUS OPERATOR - 'slash': u'\u2215', # ∕ DIVISION SLASH - 'smallsetminus': u'\u2216', # ∖ SET MINUS - 'smalltriangledown': u'\u25bf', # ▿ WHITE DOWN-POINTING SMALL TRIANGLE - 'smalltriangleleft': u'\u25c3', # ◃ WHITE LEFT-POINTING SMALL TRIANGLE - 'smalltriangleright': u'\u25b9', # ▹ WHITE RIGHT-POINTING SMALL TRIANGLE - 'smalltriangleup': u'\u25b5', # ▵ WHITE UP-POINTING SMALL TRIANGLE - 'sqcap': u'\u2293', # ⊓ SQUARE CAP - 'sqcup': u'\u2294', # ⊔ SQUARE CUP - 'sslash': u'\u2afd', # ⫽ DOUBLE SOLIDUS OPERATOR - 'star': u'\u22c6', # ⋆ STAR OPERATOR - 'talloblong': u'\u2afe', # ⫾ WHITE VERTICAL BAR - 'times': u'\xd7', # × MULTIPLICATION SIGN - 'triangle': u'\u25b3', # △ WHITE UP-POINTING TRIANGLE - 'triangledown': u'\u25bf', # ▿ WHITE DOWN-POINTING SMALL TRIANGLE - 'triangleleft': u'\u25c3', # ◃ WHITE LEFT-POINTING SMALL TRIANGLE - 'triangleright': u'\u25b9', # ▹ WHITE RIGHT-POINTING SMALL TRIANGLE - 'uplus': u'\u228e', # ⊎ MULTISET UNION - 'vartriangle': u'\u25b3', # △ WHITE UP-POINTING TRIANGLE - 'vee': u'\u2228', # ∨ LOGICAL OR - 'veebar': u'\u22bb', # ⊻ XOR - 'wedge': u'\u2227', # ∧ LOGICAL AND - 'wr': u'\u2240', # ≀ WREATH PRODUCT + 'Cap': '\u22d2', # ⋒ DOUBLE INTERSECTION + 'Circle': '\u25cb', # ○ WHITE CIRCLE + 'Cup': '\u22d3', # ⋓ DOUBLE UNION + 'LHD': '\u25c0', # ◀ BLACK LEFT-POINTING TRIANGLE + 'RHD': '\u25b6', # ▶ BLACK RIGHT-POINTING TRIANGLE + 'amalg': '\u2a3f', # ⨿ AMALGAMATION OR COPRODUCT + 'ast': '\u2217', # ∗ ASTERISK OPERATOR + 'barwedge': '\u22bc', # ⊼ NAND + 'bigtriangledown': '\u25bd', # ▽ WHITE DOWN-POINTING TRIANGLE + 'bigtriangleup': '\u25b3', # △ WHITE UP-POINTING TRIANGLE + 'bindnasrepma': '\u214b', # ⅋ TURNED AMPERSAND + 'blacklozenge': '\u29eb', # ⧫ BLACK LOZENGE + 'blacktriangledown': '\u25be', # ▾ BLACK DOWN-POINTING SMALL TRIANGLE + 'blacktriangleleft': '\u25c2', # ◂ BLACK LEFT-POINTING SMALL TRIANGLE + 'blacktriangleright': '\u25b8', # ▸ BLACK RIGHT-POINTING SMALL TRIANGLE + 'blacktriangleup': '\u25b4', # ▴ BLACK UP-POINTING SMALL TRIANGLE + 'boxast': '\u29c6', # ⧆ SQUARED ASTERISK + 'boxbar': '\u25eb', # ◫ WHITE SQUARE WITH VERTICAL BISECTING LINE + 'boxbox': '\u29c8', # ⧈ SQUARED SQUARE + 'boxbslash': '\u29c5', # ⧅ SQUARED FALLING DIAGONAL SLASH + 'boxcircle': '\u29c7', # ⧇ SQUARED SMALL CIRCLE + 'boxdot': '\u22a1', # ⊡ SQUARED DOT OPERATOR + 'boxminus': '\u229f', # ⊟ SQUARED MINUS + 'boxplus': '\u229e', # ⊞ SQUARED PLUS + 'boxslash': '\u29c4', # ⧄ SQUARED RISING DIAGONAL SLASH + 'boxtimes': '\u22a0', # ⊠ SQUARED TIMES + 'bullet': '\u2219', # ∙ BULLET OPERATOR + 'cap': '\u2229', # ∩ INTERSECTION + 'cdot': '\u22c5', # ⋅ DOT OPERATOR + 'circ': '\u2218', # ∘ RING OPERATOR + 'circledast': '\u229b', # ⊛ CIRCLED ASTERISK OPERATOR + 'circledcirc': '\u229a', # ⊚ CIRCLED RING OPERATOR + 'circleddash': '\u229d', # ⊝ CIRCLED DASH + 'cup': '\u222a', # ∪ UNION + 'curlyvee': '\u22ce', # ⋎ CURLY LOGICAL OR + 'curlywedge': '\u22cf', # ⋏ CURLY LOGICAL AND + 'dagger': '\u2020', # † DAGGER + 'ddagger': '\u2021', # ‡ DOUBLE DAGGER + 'diamond': '\u22c4', # ⋄ DIAMOND OPERATOR + 'div': '\xf7', # ÷ DIVISION SIGN + 'divideontimes': '\u22c7', # ⋇ DIVISION TIMES + 'dotplus': '\u2214', # ∔ DOT PLUS + 'doublebarwedge': '\u2a5e', # ⩞ LOGICAL AND WITH DOUBLE OVERBAR + 'intercal': '\u22ba', # ⊺ INTERCALATE + 'interleave': '\u2af4', # ⫴ TRIPLE VERTICAL BAR BINARY RELATION + 'land': '\u2227', # ∧ LOGICAL AND + 'leftthreetimes': '\u22cb', # ⋋ LEFT SEMIDIRECT PRODUCT + 'lhd': '\u25c1', # ◁ WHITE LEFT-POINTING TRIANGLE + 'lor': '\u2228', # ∨ LOGICAL OR + 'ltimes': '\u22c9', # ⋉ LEFT NORMAL FACTOR SEMIDIRECT PRODUCT + 'mp': '\u2213', # ∓ MINUS-OR-PLUS SIGN + 'odot': '\u2299', # ⊙ CIRCLED DOT OPERATOR + 'ominus': '\u2296', # ⊖ CIRCLED MINUS + 'oplus': '\u2295', # ⊕ CIRCLED PLUS + 'oslash': '\u2298', # ⊘ CIRCLED DIVISION SLASH + 'otimes': '\u2297', # ⊗ CIRCLED TIMES + 'pm': '\xb1', # ± PLUS-MINUS SIGN + 'rhd': '\u25b7', # ▷ WHITE RIGHT-POINTING TRIANGLE + 'rightthreetimes': '\u22cc', # ⋌ RIGHT SEMIDIRECT PRODUCT + 'rtimes': '\u22ca', # ⋊ RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT + 'setminus': '\u29f5', # ⧵ REVERSE SOLIDUS OPERATOR + 'slash': '\u2215', # ∕ DIVISION SLASH + 'smallsetminus': '\u2216', # ∖ SET MINUS + 'smalltriangledown': '\u25bf', # ▿ WHITE DOWN-POINTING SMALL TRIANGLE + 'smalltriangleleft': '\u25c3', # ◃ WHITE LEFT-POINTING SMALL TRIANGLE + 'smalltriangleright': '\u25b9', # ▹ WHITE RIGHT-POINTING SMALL TRIANGLE + 'smalltriangleup': '\u25b5', # ▵ WHITE UP-POINTING SMALL TRIANGLE + 'sqcap': '\u2293', # ⊓ SQUARE CAP + 'sqcup': '\u2294', # ⊔ SQUARE CUP + 'sslash': '\u2afd', # ⫽ DOUBLE SOLIDUS OPERATOR + 'star': '\u22c6', # ⋆ STAR OPERATOR + 'talloblong': '\u2afe', # ⫾ WHITE VERTICAL BAR + 'times': '\xd7', # × MULTIPLICATION SIGN + 'triangle': '\u25b3', # △ WHITE UP-POINTING TRIANGLE + 'triangledown': '\u25bf', # ▿ WHITE DOWN-POINTING SMALL TRIANGLE + 'triangleleft': '\u25c3', # ◃ WHITE LEFT-POINTING SMALL TRIANGLE + 'triangleright': '\u25b9', # ▹ WHITE RIGHT-POINTING SMALL TRIANGLE + 'uplus': '\u228e', # ⊎ MULTISET UNION + 'vartriangle': '\u25b3', # △ WHITE UP-POINTING TRIANGLE + 'vee': '\u2228', # ∨ LOGICAL OR + 'veebar': '\u22bb', # ⊻ XOR + 'wedge': '\u2227', # ∧ LOGICAL AND + 'wr': '\u2240', # ≀ WREATH PRODUCT } mathclose = { - 'Rbag': u'\u27c6', # ⟆ RIGHT S-SHAPED BAG DELIMITER - 'lrcorner': u'\u231f', # ⌟ BOTTOM RIGHT CORNER - 'rangle': u'\u27e9', # ⟩ MATHEMATICAL RIGHT ANGLE BRACKET - 'rbag': u'\u27c6', # ⟆ RIGHT S-SHAPED BAG DELIMITER - 'rbrace': u'}', # } RIGHT CURLY BRACKET - 'rbrack': u']', # ] RIGHT SQUARE BRACKET - 'rceil': u'\u2309', # ⌉ RIGHT CEILING - 'rfloor': u'\u230b', # ⌋ RIGHT FLOOR - 'rgroup': u'\u27ef', # ⟯ MATHEMATICAL RIGHT FLATTENED PARENTHESIS - 'rrbracket': u'\u27e7', # ⟧ MATHEMATICAL RIGHT WHITE SQUARE BRACKET - 'rrparenthesis': u'\u2988', # ⦈ Z NOTATION RIGHT IMAGE BRACKET - 'urcorner': u'\u231d', # ⌝ TOP RIGHT CORNER - '}': u'}', # } RIGHT CURLY BRACKET + 'Rbag': '\u27c6', # ⟆ RIGHT S-SHAPED BAG DELIMITER + 'lrcorner': '\u231f', # ⌟ BOTTOM RIGHT CORNER + 'rangle': '\u27e9', # ⟩ MATHEMATICAL RIGHT ANGLE BRACKET + 'rbag': '\u27c6', # ⟆ RIGHT S-SHAPED BAG DELIMITER + 'rbrace': '}', # } RIGHT CURLY BRACKET + 'rbrack': ']', # ] RIGHT SQUARE BRACKET + 'rceil': '\u2309', # ⌉ RIGHT CEILING + 'rfloor': '\u230b', # ⌋ RIGHT FLOOR + 'rgroup': '\u27ef', # ⟯ MATHEMATICAL RIGHT FLATTENED PARENTHESIS + 'rrbracket': '\u27e7', # ⟧ MATHEMATICAL RIGHT WHITE SQUARE BRACKET + 'rrparenthesis': '\u2988', # ⦈ Z NOTATION RIGHT IMAGE BRACKET + 'urcorner': '\u231d', # ⌝ TOP RIGHT CORNER + '}': '}', # } RIGHT CURLY BRACKET } mathfence = { - 'Vert': u'\u2016', # ‖ DOUBLE VERTICAL LINE - 'vert': u'|', # | VERTICAL LINE - '|': u'\u2016', # ‖ DOUBLE VERTICAL LINE + 'Vert': '\u2016', # ‖ DOUBLE VERTICAL LINE + 'vert': '|', # | VERTICAL LINE + '|': '\u2016', # ‖ DOUBLE VERTICAL LINE } mathop = { - 'Join': u'\u2a1d', # ⨝ JOIN - 'bigcap': u'\u22c2', # ⋂ N-ARY INTERSECTION - 'bigcup': u'\u22c3', # ⋃ N-ARY UNION - 'biginterleave': u'\u2afc', # ⫼ LARGE TRIPLE VERTICAL BAR OPERATOR - 'bigodot': u'\u2a00', # ⨀ N-ARY CIRCLED DOT OPERATOR - 'bigoplus': u'\u2a01', # ⨁ N-ARY CIRCLED PLUS OPERATOR - 'bigotimes': u'\u2a02', # ⨂ N-ARY CIRCLED TIMES OPERATOR - 'bigsqcup': u'\u2a06', # ⨆ N-ARY SQUARE UNION OPERATOR - 'biguplus': u'\u2a04', # ⨄ N-ARY UNION OPERATOR WITH PLUS - 'bigvee': u'\u22c1', # ⋁ N-ARY LOGICAL OR - 'bigwedge': u'\u22c0', # ⋀ N-ARY LOGICAL AND - 'coprod': u'\u2210', # ∐ N-ARY COPRODUCT - 'fatsemi': u'\u2a1f', # ⨟ Z NOTATION SCHEMA COMPOSITION - 'fint': u'\u2a0f', # ⨏ INTEGRAL AVERAGE WITH SLASH - 'iiiint': u'\u2a0c', # ⨌ QUADRUPLE INTEGRAL OPERATOR - 'iiint': u'\u222d', # ∭ TRIPLE INTEGRAL - 'iint': u'\u222c', # ∬ DOUBLE INTEGRAL - 'int': u'\u222b', # ∫ INTEGRAL - 'oiint': u'\u222f', # ∯ SURFACE INTEGRAL - 'oint': u'\u222e', # ∮ CONTOUR INTEGRAL - 'ointctrclockwise': u'\u2233', # ∳ ANTICLOCKWISE CONTOUR INTEGRAL - 'prod': u'\u220f', # ∏ N-ARY PRODUCT - 'sqint': u'\u2a16', # ⨖ QUATERNION INTEGRAL OPERATOR - 'sum': u'\u2211', # ∑ N-ARY SUMMATION - 'varointclockwise': u'\u2232', # ∲ CLOCKWISE CONTOUR INTEGRAL + 'Join': '\u2a1d', # ⨝ JOIN + 'bigcap': '\u22c2', # ⋂ N-ARY INTERSECTION + 'bigcup': '\u22c3', # ⋃ N-ARY UNION + 'biginterleave': '\u2afc', # ⫼ LARGE TRIPLE VERTICAL BAR OPERATOR + 'bigodot': '\u2a00', # ⨀ N-ARY CIRCLED DOT OPERATOR + 'bigoplus': '\u2a01', # ⨁ N-ARY CIRCLED PLUS OPERATOR + 'bigotimes': '\u2a02', # ⨂ N-ARY CIRCLED TIMES OPERATOR + 'bigsqcup': '\u2a06', # ⨆ N-ARY SQUARE UNION OPERATOR + 'biguplus': '\u2a04', # ⨄ N-ARY UNION OPERATOR WITH PLUS + 'bigvee': '\u22c1', # ⋁ N-ARY LOGICAL OR + 'bigwedge': '\u22c0', # ⋀ N-ARY LOGICAL AND + 'coprod': '\u2210', # ∐ N-ARY COPRODUCT + 'fatsemi': '\u2a1f', # ⨟ Z NOTATION SCHEMA COMPOSITION + 'fint': '\u2a0f', # ⨏ INTEGRAL AVERAGE WITH SLASH + 'iiiint': '\u2a0c', # ⨌ QUADRUPLE INTEGRAL OPERATOR + 'iiint': '\u222d', # ∭ TRIPLE INTEGRAL + 'iint': '\u222c', # ∬ DOUBLE INTEGRAL + 'int': '\u222b', # ∫ INTEGRAL + 'oiint': '\u222f', # ∯ SURFACE INTEGRAL + 'oint': '\u222e', # ∮ CONTOUR INTEGRAL + 'ointctrclockwise': '\u2233', # ∳ ANTICLOCKWISE CONTOUR INTEGRAL + 'prod': '\u220f', # ∏ N-ARY PRODUCT + 'sqint': '\u2a16', # ⨖ QUATERNION INTEGRAL OPERATOR + 'sum': '\u2211', # ∑ N-ARY SUMMATION + 'varointclockwise': '\u2232', # ∲ CLOCKWISE CONTOUR INTEGRAL } mathopen = { - 'Lbag': u'\u27c5', # ⟅ LEFT S-SHAPED BAG DELIMITER - 'langle': u'\u27e8', # ⟨ MATHEMATICAL LEFT ANGLE BRACKET - 'lbag': u'\u27c5', # ⟅ LEFT S-SHAPED BAG DELIMITER - 'lbrace': u'{', # { LEFT CURLY BRACKET - 'lbrack': u'[', # [ LEFT SQUARE BRACKET - 'lceil': u'\u2308', # ⌈ LEFT CEILING - 'lfloor': u'\u230a', # ⌊ LEFT FLOOR - 'lgroup': u'\u27ee', # ⟮ MATHEMATICAL LEFT FLATTENED PARENTHESIS - 'llbracket': u'\u27e6', # ⟦ MATHEMATICAL LEFT WHITE SQUARE BRACKET - 'llcorner': u'\u231e', # ⌞ BOTTOM LEFT CORNER - 'llparenthesis': u'\u2987', # ⦇ Z NOTATION LEFT IMAGE BRACKET - 'ulcorner': u'\u231c', # ⌜ TOP LEFT CORNER - '{': u'{', # { LEFT CURLY BRACKET + 'Lbag': '\u27c5', # ⟅ LEFT S-SHAPED BAG DELIMITER + 'langle': '\u27e8', # ⟨ MATHEMATICAL LEFT ANGLE BRACKET + 'lbag': '\u27c5', # ⟅ LEFT S-SHAPED BAG DELIMITER + 'lbrace': '{', # { LEFT CURLY BRACKET + 'lbrack': '[', # [ LEFT SQUARE BRACKET + 'lceil': '\u2308', # ⌈ LEFT CEILING + 'lfloor': '\u230a', # ⌊ LEFT FLOOR + 'lgroup': '\u27ee', # ⟮ MATHEMATICAL LEFT FLATTENED PARENTHESIS + 'llbracket': '\u27e6', # ⟦ MATHEMATICAL LEFT WHITE SQUARE BRACKET + 'llcorner': '\u231e', # ⌞ BOTTOM LEFT CORNER + 'llparenthesis': '\u2987', # ⦇ Z NOTATION LEFT IMAGE BRACKET + 'ulcorner': '\u231c', # ⌜ TOP LEFT CORNER + '{': '{', # { LEFT CURLY BRACKET } mathord = { - '#': u'#', # # NUMBER SIGN - '$': u'$', # $ DOLLAR SIGN - '%': u'%', # % PERCENT SIGN - '&': u'&', # & AMPERSAND - 'AC': u'\u223f', # ∿ SINE WAVE - 'APLcomment': u'\u235d', # ⍝ APL FUNCTIONAL SYMBOL UP SHOE JOT - 'APLdownarrowbox': u'\u2357', # ⍗ APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW - 'APLinput': u'\u235e', # ⍞ APL FUNCTIONAL SYMBOL QUOTE QUAD - 'APLinv': u'\u2339', # ⌹ APL FUNCTIONAL SYMBOL QUAD DIVIDE - 'APLleftarrowbox': u'\u2347', # ⍇ APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW - 'APLlog': u'\u235f', # ⍟ APL FUNCTIONAL SYMBOL CIRCLE STAR - 'APLrightarrowbox': u'\u2348', # ⍈ APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW - 'APLuparrowbox': u'\u2350', # ⍐ APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW - 'Aries': u'\u2648', # ♈ ARIES - 'CIRCLE': u'\u25cf', # ● BLACK CIRCLE - 'CheckedBox': u'\u2611', # ☑ BALLOT BOX WITH CHECK - 'Diamond': u'\u25c7', # ◇ WHITE DIAMOND - 'Finv': u'\u2132', # Ⅎ TURNED CAPITAL F - 'Game': u'\u2141', # ⅁ TURNED SANS-SERIF CAPITAL G - 'Gemini': u'\u264a', # ♊ GEMINI - 'Jupiter': u'\u2643', # ♃ JUPITER - 'LEFTCIRCLE': u'\u25d6', # ◖ LEFT HALF BLACK CIRCLE - 'LEFTcircle': u'\u25d0', # ◐ CIRCLE WITH LEFT HALF BLACK - 'Leo': u'\u264c', # ♌ LEO - 'Libra': u'\u264e', # ♎ LIBRA - 'Mars': u'\u2642', # ♂ MALE SIGN - 'Mercury': u'\u263f', # ☿ MERCURY - 'Neptune': u'\u2646', # ♆ NEPTUNE - 'Pluto': u'\u2647', # ♇ PLUTO - 'RIGHTCIRCLE': u'\u25d7', # ◗ RIGHT HALF BLACK CIRCLE - 'RIGHTcircle': u'\u25d1', # ◑ CIRCLE WITH RIGHT HALF BLACK - 'Saturn': u'\u2644', # ♄ SATURN - 'Scorpio': u'\u264f', # ♏ SCORPIUS - 'Square': u'\u2610', # ☐ BALLOT BOX - 'Sun': u'\u2609', # ☉ SUN - 'Taurus': u'\u2649', # ♉ TAURUS - 'Uranus': u'\u2645', # ♅ URANUS - 'Venus': u'\u2640', # ♀ FEMALE SIGN - 'XBox': u'\u2612', # ☒ BALLOT BOX WITH X - 'Yup': u'\u2144', # ⅄ TURNED SANS-SERIF CAPITAL Y - '_': u'_', # _ LOW LINE - 'angle': u'\u2220', # ∠ ANGLE - 'aquarius': u'\u2652', # ♒ AQUARIUS - 'aries': u'\u2648', # ♈ ARIES - 'ast': u'*', # * ASTERISK - 'backepsilon': u'\u03f6', # ϶ GREEK REVERSED LUNATE EPSILON SYMBOL - 'backprime': u'\u2035', # ‵ REVERSED PRIME - 'backslash': u'\\', # \ REVERSE SOLIDUS - 'because': u'\u2235', # ∵ BECAUSE - 'bigstar': u'\u2605', # ★ BLACK STAR - 'binampersand': u'&', # & AMPERSAND - 'blacklozenge': u'\u2b27', # ⬧ BLACK MEDIUM LOZENGE - 'blacksmiley': u'\u263b', # ☻ BLACK SMILING FACE - 'blacksquare': u'\u25fc', # ◼ BLACK MEDIUM SQUARE - 'bot': u'\u22a5', # ⊥ UP TACK - 'boy': u'\u2642', # ♂ MALE SIGN - 'cancer': u'\u264b', # ♋ CANCER - 'capricornus': u'\u2651', # ♑ CAPRICORN - 'cdots': u'\u22ef', # ⋯ MIDLINE HORIZONTAL ELLIPSIS - 'cent': u'\xa2', # ¢ CENT SIGN - 'centerdot': u'\u2b1d', # ⬝ BLACK VERY SMALL SQUARE - 'checkmark': u'\u2713', # ✓ CHECK MARK - 'circlearrowleft': u'\u21ba', # ↺ ANTICLOCKWISE OPEN CIRCLE ARROW - 'circlearrowright': u'\u21bb', # ↻ CLOCKWISE OPEN CIRCLE ARROW - 'circledR': u'\xae', # ® REGISTERED SIGN - 'circledcirc': u'\u25ce', # ◎ BULLSEYE - 'clubsuit': u'\u2663', # ♣ BLACK CLUB SUIT - 'complement': u'\u2201', # ∁ COMPLEMENT - 'dasharrow': u'\u21e2', # ⇢ RIGHTWARDS DASHED ARROW - 'dashleftarrow': u'\u21e0', # ⇠ LEFTWARDS DASHED ARROW - 'dashrightarrow': u'\u21e2', # ⇢ RIGHTWARDS DASHED ARROW - 'diameter': u'\u2300', # ⌀ DIAMETER SIGN - 'diamondsuit': u'\u2662', # ♢ WHITE DIAMOND SUIT - 'earth': u'\u2641', # ♁ EARTH - 'exists': u'\u2203', # ∃ THERE EXISTS - 'female': u'\u2640', # ♀ FEMALE SIGN - 'flat': u'\u266d', # ♭ MUSIC FLAT SIGN - 'forall': u'\u2200', # ∀ FOR ALL - 'fourth': u'\u2057', # ⁗ QUADRUPLE PRIME - 'frownie': u'\u2639', # ☹ WHITE FROWNING FACE - 'gemini': u'\u264a', # ♊ GEMINI - 'girl': u'\u2640', # ♀ FEMALE SIGN - 'heartsuit': u'\u2661', # ♡ WHITE HEART SUIT - 'infty': u'\u221e', # ∞ INFINITY - 'invneg': u'\u2310', # ⌐ REVERSED NOT SIGN - 'jupiter': u'\u2643', # ♃ JUPITER - 'ldots': u'\u2026', # … HORIZONTAL ELLIPSIS - 'leftmoon': u'\u263e', # ☾ LAST QUARTER MOON - 'leftturn': u'\u21ba', # ↺ ANTICLOCKWISE OPEN CIRCLE ARROW - 'leo': u'\u264c', # ♌ LEO - 'libra': u'\u264e', # ♎ LIBRA - 'lnot': u'\xac', # ¬ NOT SIGN - 'lozenge': u'\u25ca', # ◊ LOZENGE - 'male': u'\u2642', # ♂ MALE SIGN - 'maltese': u'\u2720', # ✠ MALTESE CROSS - 'mathdollar': u'$', # $ DOLLAR SIGN - 'measuredangle': u'\u2221', # ∡ MEASURED ANGLE - 'mercury': u'\u263f', # ☿ MERCURY - 'mho': u'\u2127', # ℧ INVERTED OHM SIGN - 'nabla': u'\u2207', # ∇ NABLA - 'natural': u'\u266e', # ♮ MUSIC NATURAL SIGN - 'neg': u'\xac', # ¬ NOT SIGN - 'neptune': u'\u2646', # ♆ NEPTUNE - 'nexists': u'\u2204', # ∄ THERE DOES NOT EXIST - 'notbackslash': u'\u2340', # ⍀ APL FUNCTIONAL SYMBOL BACKSLASH BAR - 'partial': u'\u2202', # ∂ PARTIAL DIFFERENTIAL - 'pisces': u'\u2653', # ♓ PISCES - 'pluto': u'\u2647', # ♇ PLUTO - 'pounds': u'\xa3', # £ POUND SIGN - 'prime': u'\u2032', # ′ PRIME - 'quarternote': u'\u2669', # ♩ QUARTER NOTE - 'rightmoon': u'\u263d', # ☽ FIRST QUARTER MOON - 'rightturn': u'\u21bb', # ↻ CLOCKWISE OPEN CIRCLE ARROW - 'sagittarius': u'\u2650', # ♐ SAGITTARIUS - 'saturn': u'\u2644', # ♄ SATURN - 'scorpio': u'\u264f', # ♏ SCORPIUS - 'second': u'\u2033', # ″ DOUBLE PRIME - 'sharp': u'\u266f', # ♯ MUSIC SHARP SIGN - 'sim': u'~', # ~ TILDE - 'slash': u'/', # / SOLIDUS - 'smiley': u'\u263a', # ☺ WHITE SMILING FACE - 'spadesuit': u'\u2660', # ♠ BLACK SPADE SUIT - 'spddot': u'\xa8', # ¨ DIAERESIS - 'sphat': u'^', # ^ CIRCUMFLEX ACCENT - 'sphericalangle': u'\u2222', # ∢ SPHERICAL ANGLE - 'sptilde': u'~', # ~ TILDE - 'square': u'\u25fb', # ◻ WHITE MEDIUM SQUARE - 'sun': u'\u263c', # ☼ WHITE SUN WITH RAYS - 'taurus': u'\u2649', # ♉ TAURUS - 'therefore': u'\u2234', # ∴ THEREFORE - 'third': u'\u2034', # ‴ TRIPLE PRIME - 'top': u'\u22a4', # ⊤ DOWN TACK - 'triangleleft': u'\u25c5', # ◅ WHITE LEFT-POINTING POINTER - 'triangleright': u'\u25bb', # ▻ WHITE RIGHT-POINTING POINTER - 'twonotes': u'\u266b', # ♫ BEAMED EIGHTH NOTES - 'uranus': u'\u2645', # ♅ URANUS - 'varEarth': u'\u2641', # ♁ EARTH - 'varnothing': u'\u2205', # ∅ EMPTY SET - 'virgo': u'\u264d', # ♍ VIRGO - 'wasylozenge': u'\u2311', # ⌑ SQUARE LOZENGE - 'wasytherefore': u'\u2234', # ∴ THEREFORE - 'yen': u'\xa5', # ¥ YEN SIGN + '#': '#', # # NUMBER SIGN + '$': '$', # $ DOLLAR SIGN + '%': '%', # % PERCENT SIGN + '&': '&', # & AMPERSAND + 'AC': '\u223f', # ∿ SINE WAVE + 'APLcomment': '\u235d', # ⍝ APL FUNCTIONAL SYMBOL UP SHOE JOT + 'APLdownarrowbox': '\u2357', # ⍗ APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW + 'APLinput': '\u235e', # ⍞ APL FUNCTIONAL SYMBOL QUOTE QUAD + 'APLinv': '\u2339', # ⌹ APL FUNCTIONAL SYMBOL QUAD DIVIDE + 'APLleftarrowbox': '\u2347', # ⍇ APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW + 'APLlog': '\u235f', # ⍟ APL FUNCTIONAL SYMBOL CIRCLE STAR + 'APLrightarrowbox': '\u2348', # ⍈ APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW + 'APLuparrowbox': '\u2350', # ⍐ APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW + 'Aries': '\u2648', # ♈ ARIES + 'CIRCLE': '\u25cf', # ● BLACK CIRCLE + 'CheckedBox': '\u2611', # ☑ BALLOT BOX WITH CHECK + 'Diamond': '\u25c7', # ◇ WHITE DIAMOND + 'Finv': '\u2132', # Ⅎ TURNED CAPITAL F + 'Game': '\u2141', # ⅁ TURNED SANS-SERIF CAPITAL G + 'Gemini': '\u264a', # ♊ GEMINI + 'Jupiter': '\u2643', # ♃ JUPITER + 'LEFTCIRCLE': '\u25d6', # ◖ LEFT HALF BLACK CIRCLE + 'LEFTcircle': '\u25d0', # ◐ CIRCLE WITH LEFT HALF BLACK + 'Leo': '\u264c', # ♌ LEO + 'Libra': '\u264e', # ♎ LIBRA + 'Mars': '\u2642', # ♂ MALE SIGN + 'Mercury': '\u263f', # ☿ MERCURY + 'Neptune': '\u2646', # ♆ NEPTUNE + 'Pluto': '\u2647', # ♇ PLUTO + 'RIGHTCIRCLE': '\u25d7', # ◗ RIGHT HALF BLACK CIRCLE + 'RIGHTcircle': '\u25d1', # ◑ CIRCLE WITH RIGHT HALF BLACK + 'Saturn': '\u2644', # ♄ SATURN + 'Scorpio': '\u264f', # ♏ SCORPIUS + 'Square': '\u2610', # ☐ BALLOT BOX + 'Sun': '\u2609', # ☉ SUN + 'Taurus': '\u2649', # ♉ TAURUS + 'Uranus': '\u2645', # ♅ URANUS + 'Venus': '\u2640', # ♀ FEMALE SIGN + 'XBox': '\u2612', # ☒ BALLOT BOX WITH X + 'Yup': '\u2144', # ⅄ TURNED SANS-SERIF CAPITAL Y + '_': '_', # _ LOW LINE + 'angle': '\u2220', # ∠ ANGLE + 'aquarius': '\u2652', # ♒ AQUARIUS + 'aries': '\u2648', # ♈ ARIES + 'ast': '*', # * ASTERISK + 'backepsilon': '\u03f6', # ϶ GREEK REVERSED LUNATE EPSILON SYMBOL + 'backprime': '\u2035', # ‵ REVERSED PRIME + 'backslash': '\\', # \ REVERSE SOLIDUS + 'because': '\u2235', # ∵ BECAUSE + 'bigstar': '\u2605', # ★ BLACK STAR + 'binampersand': '&', # & AMPERSAND + 'blacklozenge': '\u2b27', # ⬧ BLACK MEDIUM LOZENGE + 'blacksmiley': '\u263b', # ☻ BLACK SMILING FACE + 'blacksquare': '\u25fc', # ◼ BLACK MEDIUM SQUARE + 'bot': '\u22a5', # ⊥ UP TACK + 'boy': '\u2642', # ♂ MALE SIGN + 'cancer': '\u264b', # ♋ CANCER + 'capricornus': '\u2651', # ♑ CAPRICORN + 'cdots': '\u22ef', # ⋯ MIDLINE HORIZONTAL ELLIPSIS + 'cent': '\xa2', # ¢ CENT SIGN + 'centerdot': '\u2b1d', # ⬝ BLACK VERY SMALL SQUARE + 'checkmark': '\u2713', # ✓ CHECK MARK + 'circlearrowleft': '\u21ba', # ↺ ANTICLOCKWISE OPEN CIRCLE ARROW + 'circlearrowright': '\u21bb', # ↻ CLOCKWISE OPEN CIRCLE ARROW + 'circledR': '\xae', # ® REGISTERED SIGN + 'circledcirc': '\u25ce', # ◎ BULLSEYE + 'clubsuit': '\u2663', # ♣ BLACK CLUB SUIT + 'complement': '\u2201', # ∁ COMPLEMENT + 'dasharrow': '\u21e2', # ⇢ RIGHTWARDS DASHED ARROW + 'dashleftarrow': '\u21e0', # ⇠ LEFTWARDS DASHED ARROW + 'dashrightarrow': '\u21e2', # ⇢ RIGHTWARDS DASHED ARROW + 'diameter': '\u2300', # ⌀ DIAMETER SIGN + 'diamondsuit': '\u2662', # ♢ WHITE DIAMOND SUIT + 'earth': '\u2641', # ♁ EARTH + 'exists': '\u2203', # ∃ THERE EXISTS + 'female': '\u2640', # ♀ FEMALE SIGN + 'flat': '\u266d', # ♭ MUSIC FLAT SIGN + 'forall': '\u2200', # ∀ FOR ALL + 'fourth': '\u2057', # ⁗ QUADRUPLE PRIME + 'frownie': '\u2639', # ☹ WHITE FROWNING FACE + 'gemini': '\u264a', # ♊ GEMINI + 'girl': '\u2640', # ♀ FEMALE SIGN + 'heartsuit': '\u2661', # ♡ WHITE HEART SUIT + 'infty': '\u221e', # ∞ INFINITY + 'invneg': '\u2310', # ⌐ REVERSED NOT SIGN + 'jupiter': '\u2643', # ♃ JUPITER + 'ldots': '\u2026', # … HORIZONTAL ELLIPSIS + 'leftmoon': '\u263e', # ☾ LAST QUARTER MOON + 'leftturn': '\u21ba', # ↺ ANTICLOCKWISE OPEN CIRCLE ARROW + 'leo': '\u264c', # ♌ LEO + 'libra': '\u264e', # ♎ LIBRA + 'lnot': '\xac', # ¬ NOT SIGN + 'lozenge': '\u25ca', # ◊ LOZENGE + 'male': '\u2642', # ♂ MALE SIGN + 'maltese': '\u2720', # ✠ MALTESE CROSS + 'mathdollar': '$', # $ DOLLAR SIGN + 'measuredangle': '\u2221', # ∡ MEASURED ANGLE + 'mercury': '\u263f', # ☿ MERCURY + 'mho': '\u2127', # ℧ INVERTED OHM SIGN + 'nabla': '\u2207', # ∇ NABLA + 'natural': '\u266e', # ♮ MUSIC NATURAL SIGN + 'neg': '\xac', # ¬ NOT SIGN + 'neptune': '\u2646', # ♆ NEPTUNE + 'nexists': '\u2204', # ∄ THERE DOES NOT EXIST + 'notbackslash': '\u2340', # ⍀ APL FUNCTIONAL SYMBOL BACKSLASH BAR + 'partial': '\u2202', # ∂ PARTIAL DIFFERENTIAL + 'pisces': '\u2653', # ♓ PISCES + 'pluto': '\u2647', # ♇ PLUTO + 'pounds': '\xa3', # £ POUND SIGN + 'prime': '\u2032', # ′ PRIME + 'quarternote': '\u2669', # ♩ QUARTER NOTE + 'rightmoon': '\u263d', # ☽ FIRST QUARTER MOON + 'rightturn': '\u21bb', # ↻ CLOCKWISE OPEN CIRCLE ARROW + 'sagittarius': '\u2650', # ♐ SAGITTARIUS + 'saturn': '\u2644', # ♄ SATURN + 'scorpio': '\u264f', # ♏ SCORPIUS + 'second': '\u2033', # ″ DOUBLE PRIME + 'sharp': '\u266f', # ♯ MUSIC SHARP SIGN + 'sim': '~', # ~ TILDE + 'slash': '/', # / SOLIDUS + 'smiley': '\u263a', # ☺ WHITE SMILING FACE + 'spadesuit': '\u2660', # ♠ BLACK SPADE SUIT + 'spddot': '\xa8', # ¨ DIAERESIS + 'sphat': '^', # ^ CIRCUMFLEX ACCENT + 'sphericalangle': '\u2222', # ∢ SPHERICAL ANGLE + 'sptilde': '~', # ~ TILDE + 'square': '\u25fb', # ◻ WHITE MEDIUM SQUARE + 'sun': '\u263c', # ☼ WHITE SUN WITH RAYS + 'taurus': '\u2649', # ♉ TAURUS + 'therefore': '\u2234', # ∴ THEREFORE + 'third': '\u2034', # ‴ TRIPLE PRIME + 'top': '\u22a4', # ⊤ DOWN TACK + 'triangleleft': '\u25c5', # ◅ WHITE LEFT-POINTING POINTER + 'triangleright': '\u25bb', # ▻ WHITE RIGHT-POINTING POINTER + 'twonotes': '\u266b', # ♫ BEAMED EIGHTH NOTES + 'uranus': '\u2645', # ♅ URANUS + 'varEarth': '\u2641', # ♁ EARTH + 'varnothing': '\u2205', # ∅ EMPTY SET + 'virgo': '\u264d', # ♍ VIRGO + 'wasylozenge': '\u2311', # ⌑ SQUARE LOZENGE + 'wasytherefore': '\u2234', # ∴ THEREFORE + 'yen': '\xa5', # ¥ YEN SIGN } mathover = { - 'overbrace': u'\u23de', # ⏞ TOP CURLY BRACKET - 'wideparen': u'\u23dc', # ⏜ TOP PARENTHESIS + 'overbrace': '\u23de', # ⏞ TOP CURLY BRACKET + 'wideparen': '\u23dc', # ⏜ TOP PARENTHESIS } mathradical = { - 'sqrt': u'\u221a', # √ SQUARE ROOT - 'sqrt[3]': u'\u221b', # ∛ CUBE ROOT - 'sqrt[4]': u'\u221c', # ∜ FOURTH ROOT + 'sqrt': '\u221a', # √ SQUARE ROOT + 'sqrt[3]': '\u221b', # ∛ CUBE ROOT + 'sqrt[4]': '\u221c', # ∜ FOURTH ROOT } mathrel = { - 'Bumpeq': u'\u224e', # ≎ GEOMETRICALLY EQUIVALENT TO - 'Doteq': u'\u2251', # ≑ GEOMETRICALLY EQUAL TO - 'Downarrow': u'\u21d3', # ⇓ DOWNWARDS DOUBLE ARROW - 'Leftarrow': u'\u21d0', # ⇐ LEFTWARDS DOUBLE ARROW - 'Leftrightarrow': u'\u21d4', # ⇔ LEFT RIGHT DOUBLE ARROW - 'Lleftarrow': u'\u21da', # ⇚ LEFTWARDS TRIPLE ARROW - 'Longleftarrow': u'\u27f8', # ⟸ LONG LEFTWARDS DOUBLE ARROW - 'Longleftrightarrow': u'\u27fa', # ⟺ LONG LEFT RIGHT DOUBLE ARROW - 'Longmapsfrom': u'\u27fd', # ⟽ LONG LEFTWARDS DOUBLE ARROW FROM BAR - 'Longmapsto': u'\u27fe', # ⟾ LONG RIGHTWARDS DOUBLE ARROW FROM BAR - 'Longrightarrow': u'\u27f9', # ⟹ LONG RIGHTWARDS DOUBLE ARROW - 'Lsh': u'\u21b0', # ↰ UPWARDS ARROW WITH TIP LEFTWARDS - 'Mapsfrom': u'\u2906', # ⤆ LEFTWARDS DOUBLE ARROW FROM BAR - 'Mapsto': u'\u2907', # ⤇ RIGHTWARDS DOUBLE ARROW FROM BAR - 'Rightarrow': u'\u21d2', # ⇒ RIGHTWARDS DOUBLE ARROW - 'Rrightarrow': u'\u21db', # ⇛ RIGHTWARDS TRIPLE ARROW - 'Rsh': u'\u21b1', # ↱ UPWARDS ARROW WITH TIP RIGHTWARDS - 'Subset': u'\u22d0', # ⋐ DOUBLE SUBSET - 'Supset': u'\u22d1', # ⋑ DOUBLE SUPERSET - 'Uparrow': u'\u21d1', # ⇑ UPWARDS DOUBLE ARROW - 'Updownarrow': u'\u21d5', # ⇕ UP DOWN DOUBLE ARROW - 'VDash': u'\u22ab', # ⊫ DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE - 'Vdash': u'\u22a9', # ⊩ FORCES - 'Vvdash': u'\u22aa', # ⊪ TRIPLE VERTICAL BAR RIGHT TURNSTILE - 'apprge': u'\u2273', # ≳ GREATER-THAN OR EQUIVALENT TO - 'apprle': u'\u2272', # ≲ LESS-THAN OR EQUIVALENT TO - 'approx': u'\u2248', # ≈ ALMOST EQUAL TO - 'approxeq': u'\u224a', # ≊ ALMOST EQUAL OR EQUAL TO - 'asymp': u'\u224d', # ≍ EQUIVALENT TO - 'backsim': u'\u223d', # ∽ REVERSED TILDE - 'backsimeq': u'\u22cd', # ⋍ REVERSED TILDE EQUALS - 'barin': u'\u22f6', # ⋶ ELEMENT OF WITH OVERBAR - 'barleftharpoon': u'\u296b', # ⥫ LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH - 'barrightharpoon': u'\u296d', # ⥭ RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH - 'between': u'\u226c', # ≬ BETWEEN - 'bowtie': u'\u22c8', # ⋈ BOWTIE - 'bumpeq': u'\u224f', # ≏ DIFFERENCE BETWEEN - 'circeq': u'\u2257', # ≗ RING EQUAL TO - 'coloneq': u'\u2254', # ≔ COLON EQUALS - 'cong': u'\u2245', # ≅ APPROXIMATELY EQUAL TO - 'corresponds': u'\u2259', # ≙ ESTIMATES - 'curlyeqprec': u'\u22de', # ⋞ EQUAL TO OR PRECEDES - 'curlyeqsucc': u'\u22df', # ⋟ EQUAL TO OR SUCCEEDS - 'curvearrowleft': u'\u21b6', # ↶ ANTICLOCKWISE TOP SEMICIRCLE ARROW - 'curvearrowright': u'\u21b7', # ↷ CLOCKWISE TOP SEMICIRCLE ARROW - 'dashv': u'\u22a3', # ⊣ LEFT TACK - 'ddots': u'\u22f1', # ⋱ DOWN RIGHT DIAGONAL ELLIPSIS - 'dlsh': u'\u21b2', # ↲ DOWNWARDS ARROW WITH TIP LEFTWARDS - 'doteq': u'\u2250', # ≐ APPROACHES THE LIMIT - 'doteqdot': u'\u2251', # ≑ GEOMETRICALLY EQUAL TO - 'downarrow': u'\u2193', # ↓ DOWNWARDS ARROW - 'downdownarrows': u'\u21ca', # ⇊ DOWNWARDS PAIRED ARROWS - 'downdownharpoons': u'\u2965', # ⥥ DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT - 'downharpoonleft': u'\u21c3', # ⇃ DOWNWARDS HARPOON WITH BARB LEFTWARDS - 'downharpoonright': u'\u21c2', # ⇂ DOWNWARDS HARPOON WITH BARB RIGHTWARDS - 'downuparrows': u'\u21f5', # ⇵ DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW - 'downupharpoons': u'\u296f', # ⥯ DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT - 'drsh': u'\u21b3', # ↳ DOWNWARDS ARROW WITH TIP RIGHTWARDS - 'eqcirc': u'\u2256', # ≖ RING IN EQUAL TO - 'eqcolon': u'\u2255', # ≕ EQUALS COLON - 'eqsim': u'\u2242', # ≂ MINUS TILDE - 'eqslantgtr': u'\u2a96', # ⪖ SLANTED EQUAL TO OR GREATER-THAN - 'eqslantless': u'\u2a95', # ⪕ SLANTED EQUAL TO OR LESS-THAN - 'equiv': u'\u2261', # ≡ IDENTICAL TO - 'fallingdotseq': u'\u2252', # ≒ APPROXIMATELY EQUAL TO OR THE IMAGE OF - 'frown': u'\u2322', # ⌢ FROWN - 'ge': u'\u2265', # ≥ GREATER-THAN OR EQUAL TO - 'geq': u'\u2265', # ≥ GREATER-THAN OR EQUAL TO - 'geqq': u'\u2267', # ≧ GREATER-THAN OVER EQUAL TO - 'geqslant': u'\u2a7e', # ⩾ GREATER-THAN OR SLANTED EQUAL TO - 'gets': u'\u2190', # ← LEFTWARDS ARROW - 'gg': u'\u226b', # ≫ MUCH GREATER-THAN - 'ggcurly': u'\u2abc', # ⪼ DOUBLE SUCCEEDS - 'ggg': u'\u22d9', # ⋙ VERY MUCH GREATER-THAN - 'gnapprox': u'\u2a8a', # ⪊ GREATER-THAN AND NOT APPROXIMATE - 'gneq': u'\u2a88', # ⪈ GREATER-THAN AND SINGLE-LINE NOT EQUAL TO - 'gneqq': u'\u2269', # ≩ GREATER-THAN BUT NOT EQUAL TO - 'gnsim': u'\u22e7', # ⋧ GREATER-THAN BUT NOT EQUIVALENT TO - 'gtrapprox': u'\u2a86', # ⪆ GREATER-THAN OR APPROXIMATE - 'gtrdot': u'\u22d7', # ⋗ GREATER-THAN WITH DOT - 'gtreqless': u'\u22db', # ⋛ GREATER-THAN EQUAL TO OR LESS-THAN - 'gtreqqless': u'\u2a8c', # ⪌ GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN - 'gtrless': u'\u2277', # ≷ GREATER-THAN OR LESS-THAN - 'gtrsim': u'\u2273', # ≳ GREATER-THAN OR EQUIVALENT TO - 'hash': u'\u22d5', # ⋕ EQUAL AND PARALLEL TO - 'hookleftarrow': u'\u21a9', # ↩ LEFTWARDS ARROW WITH HOOK - 'hookrightarrow': u'\u21aa', # ↪ RIGHTWARDS ARROW WITH HOOK - 'iddots': u'\u22f0', # ⋰ UP RIGHT DIAGONAL ELLIPSIS - 'impliedby': u'\u27f8', # ⟸ LONG LEFTWARDS DOUBLE ARROW - 'implies': u'\u27f9', # ⟹ LONG RIGHTWARDS DOUBLE ARROW - 'in': u'\u2208', # ∈ ELEMENT OF - 'le': u'\u2264', # ≤ LESS-THAN OR EQUAL TO - 'leftarrow': u'\u2190', # ← LEFTWARDS ARROW - 'leftarrowtail': u'\u21a2', # ↢ LEFTWARDS ARROW WITH TAIL - 'leftarrowtriangle': u'\u21fd', # ⇽ LEFTWARDS OPEN-HEADED ARROW - 'leftbarharpoon': u'\u296a', # ⥪ LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH - 'leftharpoondown': u'\u21bd', # ↽ LEFTWARDS HARPOON WITH BARB DOWNWARDS - 'leftharpoonup': u'\u21bc', # ↼ LEFTWARDS HARPOON WITH BARB UPWARDS - 'leftleftarrows': u'\u21c7', # ⇇ LEFTWARDS PAIRED ARROWS - 'leftleftharpoons': u'\u2962', # ⥢ LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN - 'leftrightarrow': u'\u2194', # ↔ LEFT RIGHT ARROW - 'leftrightarrows': u'\u21c6', # ⇆ LEFTWARDS ARROW OVER RIGHTWARDS ARROW - 'leftrightarrowtriangle': u'\u21ff', # ⇿ LEFT RIGHT OPEN-HEADED ARROW - 'leftrightharpoon': u'\u294a', # ⥊ LEFT BARB UP RIGHT BARB DOWN HARPOON - 'leftrightharpoons': u'\u21cb', # ⇋ LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON - 'leftrightsquigarrow': u'\u21ad', # ↭ LEFT RIGHT WAVE ARROW - 'leftslice': u'\u2aa6', # ⪦ LESS-THAN CLOSED BY CURVE - 'leftsquigarrow': u'\u21dc', # ⇜ LEFTWARDS SQUIGGLE ARROW - 'leq': u'\u2264', # ≤ LESS-THAN OR EQUAL TO - 'leqq': u'\u2266', # ≦ LESS-THAN OVER EQUAL TO - 'leqslant': u'\u2a7d', # ⩽ LESS-THAN OR SLANTED EQUAL TO - 'lessapprox': u'\u2a85', # ⪅ LESS-THAN OR APPROXIMATE - 'lessdot': u'\u22d6', # ⋖ LESS-THAN WITH DOT - 'lesseqgtr': u'\u22da', # ⋚ LESS-THAN EQUAL TO OR GREATER-THAN - 'lesseqqgtr': u'\u2a8b', # ⪋ LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN - 'lessgtr': u'\u2276', # ≶ LESS-THAN OR GREATER-THAN - 'lesssim': u'\u2272', # ≲ LESS-THAN OR EQUIVALENT TO - 'lightning': u'\u21af', # ↯ DOWNWARDS ZIGZAG ARROW - 'll': u'\u226a', # ≪ MUCH LESS-THAN - 'llcurly': u'\u2abb', # ⪻ DOUBLE PRECEDES - 'lll': u'\u22d8', # ⋘ VERY MUCH LESS-THAN - 'lnapprox': u'\u2a89', # ⪉ LESS-THAN AND NOT APPROXIMATE - 'lneq': u'\u2a87', # ⪇ LESS-THAN AND SINGLE-LINE NOT EQUAL TO - 'lneqq': u'\u2268', # ≨ LESS-THAN BUT NOT EQUAL TO - 'lnsim': u'\u22e6', # ⋦ LESS-THAN BUT NOT EQUIVALENT TO - 'longleftarrow': u'\u27f5', # ⟵ LONG LEFTWARDS ARROW - 'longleftrightarrow': u'\u27f7', # ⟷ LONG LEFT RIGHT ARROW - 'longmapsfrom': u'\u27fb', # ⟻ LONG LEFTWARDS ARROW FROM BAR - 'longmapsto': u'\u27fc', # ⟼ LONG RIGHTWARDS ARROW FROM BAR - 'longrightarrow': u'\u27f6', # ⟶ LONG RIGHTWARDS ARROW - 'looparrowleft': u'\u21ab', # ↫ LEFTWARDS ARROW WITH LOOP - 'looparrowright': u'\u21ac', # ↬ RIGHTWARDS ARROW WITH LOOP - 'mapsfrom': u'\u21a4', # ↤ LEFTWARDS ARROW FROM BAR - 'mapsto': u'\u21a6', # ↦ RIGHTWARDS ARROW FROM BAR - 'mid': u'\u2223', # ∣ DIVIDES - 'models': u'\u22a7', # ⊧ MODELS - 'multimap': u'\u22b8', # ⊸ MULTIMAP - 'nLeftarrow': u'\u21cd', # ⇍ LEFTWARDS DOUBLE ARROW WITH STROKE - 'nLeftrightarrow': u'\u21ce', # ⇎ LEFT RIGHT DOUBLE ARROW WITH STROKE - 'nRightarrow': u'\u21cf', # ⇏ RIGHTWARDS DOUBLE ARROW WITH STROKE - 'nVDash': u'\u22af', # ⊯ NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE - 'nVdash': u'\u22ae', # ⊮ DOES NOT FORCE - 'ncong': u'\u2247', # ≇ NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO - 'ne': u'\u2260', # ≠ NOT EQUAL TO - 'nearrow': u'\u2197', # ↗ NORTH EAST ARROW - 'neq': u'\u2260', # ≠ NOT EQUAL TO - 'ngeq': u'\u2271', # ≱ NEITHER GREATER-THAN NOR EQUAL TO - 'ngtr': u'\u226f', # ≯ NOT GREATER-THAN - 'ni': u'\u220b', # ∋ CONTAINS AS MEMBER - 'nleftarrow': u'\u219a', # ↚ LEFTWARDS ARROW WITH STROKE - 'nleftrightarrow': u'\u21ae', # ↮ LEFT RIGHT ARROW WITH STROKE - 'nleq': u'\u2270', # ≰ NEITHER LESS-THAN NOR EQUAL TO - 'nless': u'\u226e', # ≮ NOT LESS-THAN - 'nmid': u'\u2224', # ∤ DOES NOT DIVIDE - 'notasymp': u'\u226d', # ≭ NOT EQUIVALENT TO - 'notin': u'\u2209', # ∉ NOT AN ELEMENT OF - 'notowner': u'\u220c', # ∌ DOES NOT CONTAIN AS MEMBER - 'notslash': u'\u233f', # ⌿ APL FUNCTIONAL SYMBOL SLASH BAR - 'nparallel': u'\u2226', # ∦ NOT PARALLEL TO - 'nprec': u'\u2280', # ⊀ DOES NOT PRECEDE - 'npreceq': u'\u22e0', # ⋠ DOES NOT PRECEDE OR EQUAL - 'nrightarrow': u'\u219b', # ↛ RIGHTWARDS ARROW WITH STROKE - 'nsim': u'\u2241', # ≁ NOT TILDE - 'nsubseteq': u'\u2288', # ⊈ NEITHER A SUBSET OF NOR EQUAL TO - 'nsucc': u'\u2281', # ⊁ DOES NOT SUCCEED - 'nsucceq': u'\u22e1', # ⋡ DOES NOT SUCCEED OR EQUAL - 'nsupseteq': u'\u2289', # ⊉ NEITHER A SUPERSET OF NOR EQUAL TO - 'ntriangleleft': u'\u22ea', # ⋪ NOT NORMAL SUBGROUP OF - 'ntrianglelefteq': u'\u22ec', # ⋬ NOT NORMAL SUBGROUP OF OR EQUAL TO - 'ntriangleright': u'\u22eb', # ⋫ DOES NOT CONTAIN AS NORMAL SUBGROUP - 'ntrianglerighteq': u'\u22ed', # ⋭ DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL - 'nvDash': u'\u22ad', # ⊭ NOT TRUE - 'nvdash': u'\u22ac', # ⊬ DOES NOT PROVE - 'nwarrow': u'\u2196', # ↖ NORTH WEST ARROW - 'owns': u'\u220b', # ∋ CONTAINS AS MEMBER - 'parallel': u'\u2225', # ∥ PARALLEL TO - 'perp': u'\u27c2', # ⟂ PERPENDICULAR - 'pitchfork': u'\u22d4', # ⋔ PITCHFORK - 'prec': u'\u227a', # ≺ PRECEDES - 'precapprox': u'\u2ab7', # ⪷ PRECEDES ABOVE ALMOST EQUAL TO - 'preccurlyeq': u'\u227c', # ≼ PRECEDES OR EQUAL TO - 'preceq': u'\u2aaf', # ⪯ PRECEDES ABOVE SINGLE-LINE EQUALS SIGN - 'precnapprox': u'\u2ab9', # ⪹ PRECEDES ABOVE NOT ALMOST EQUAL TO - 'precnsim': u'\u22e8', # ⋨ PRECEDES BUT NOT EQUIVALENT TO - 'precsim': u'\u227e', # ≾ PRECEDES OR EQUIVALENT TO - 'propto': u'\u221d', # ∝ PROPORTIONAL TO - 'restriction': u'\u21be', # ↾ UPWARDS HARPOON WITH BARB RIGHTWARDS - 'rightarrow': u'\u2192', # → RIGHTWARDS ARROW - 'rightarrowtail': u'\u21a3', # ↣ RIGHTWARDS ARROW WITH TAIL - 'rightarrowtriangle': u'\u21fe', # ⇾ RIGHTWARDS OPEN-HEADED ARROW - 'rightbarharpoon': u'\u296c', # ⥬ RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH - 'rightharpoondown': u'\u21c1', # ⇁ RIGHTWARDS HARPOON WITH BARB DOWNWARDS - 'rightharpoonup': u'\u21c0', # ⇀ RIGHTWARDS HARPOON WITH BARB UPWARDS - 'rightleftarrows': u'\u21c4', # ⇄ RIGHTWARDS ARROW OVER LEFTWARDS ARROW - 'rightleftharpoon': u'\u294b', # ⥋ LEFT BARB DOWN RIGHT BARB UP HARPOON - 'rightleftharpoons': u'\u21cc', # ⇌ RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON - 'rightrightarrows': u'\u21c9', # ⇉ RIGHTWARDS PAIRED ARROWS - 'rightrightharpoons': u'\u2964', # ⥤ RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN - 'rightslice': u'\u2aa7', # ⪧ GREATER-THAN CLOSED BY CURVE - 'rightsquigarrow': u'\u21dd', # ⇝ RIGHTWARDS SQUIGGLE ARROW - 'risingdotseq': u'\u2253', # ≓ IMAGE OF OR APPROXIMATELY EQUAL TO - 'searrow': u'\u2198', # ↘ SOUTH EAST ARROW - 'sim': u'\u223c', # ∼ TILDE OPERATOR - 'simeq': u'\u2243', # ≃ ASYMPTOTICALLY EQUAL TO - 'smallfrown': u'\u2322', # ⌢ FROWN - 'smallsmile': u'\u2323', # ⌣ SMILE - 'smile': u'\u2323', # ⌣ SMILE - 'sqsubset': u'\u228f', # ⊏ SQUARE IMAGE OF - 'sqsubseteq': u'\u2291', # ⊑ SQUARE IMAGE OF OR EQUAL TO - 'sqsupset': u'\u2290', # ⊐ SQUARE ORIGINAL OF - 'sqsupseteq': u'\u2292', # ⊒ SQUARE ORIGINAL OF OR EQUAL TO - 'subset': u'\u2282', # ⊂ SUBSET OF - 'subseteq': u'\u2286', # ⊆ SUBSET OF OR EQUAL TO - 'subseteqq': u'\u2ac5', # ⫅ SUBSET OF ABOVE EQUALS SIGN - 'subsetneq': u'\u228a', # ⊊ SUBSET OF WITH NOT EQUAL TO - 'subsetneqq': u'\u2acb', # ⫋ SUBSET OF ABOVE NOT EQUAL TO - 'succ': u'\u227b', # ≻ SUCCEEDS - 'succapprox': u'\u2ab8', # ⪸ SUCCEEDS ABOVE ALMOST EQUAL TO - 'succcurlyeq': u'\u227d', # ≽ SUCCEEDS OR EQUAL TO - 'succeq': u'\u2ab0', # ⪰ SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN - 'succnapprox': u'\u2aba', # ⪺ SUCCEEDS ABOVE NOT ALMOST EQUAL TO - 'succnsim': u'\u22e9', # ⋩ SUCCEEDS BUT NOT EQUIVALENT TO - 'succsim': u'\u227f', # ≿ SUCCEEDS OR EQUIVALENT TO - 'supset': u'\u2283', # ⊃ SUPERSET OF - 'supseteq': u'\u2287', # ⊇ SUPERSET OF OR EQUAL TO - 'supseteqq': u'\u2ac6', # ⫆ SUPERSET OF ABOVE EQUALS SIGN - 'supsetneq': u'\u228b', # ⊋ SUPERSET OF WITH NOT EQUAL TO - 'supsetneqq': u'\u2acc', # ⫌ SUPERSET OF ABOVE NOT EQUAL TO - 'swarrow': u'\u2199', # ↙ SOUTH WEST ARROW - 'to': u'\u2192', # → RIGHTWARDS ARROW - 'trianglelefteq': u'\u22b4', # ⊴ NORMAL SUBGROUP OF OR EQUAL TO - 'triangleq': u'\u225c', # ≜ DELTA EQUAL TO - 'trianglerighteq': u'\u22b5', # ⊵ CONTAINS AS NORMAL SUBGROUP OR EQUAL TO - 'twoheadleftarrow': u'\u219e', # ↞ LEFTWARDS TWO HEADED ARROW - 'twoheadrightarrow': u'\u21a0', # ↠ RIGHTWARDS TWO HEADED ARROW - 'uparrow': u'\u2191', # ↑ UPWARDS ARROW - 'updownarrow': u'\u2195', # ↕ UP DOWN ARROW - 'updownarrows': u'\u21c5', # ⇅ UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW - 'updownharpoons': u'\u296e', # ⥮ UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT - 'upharpoonleft': u'\u21bf', # ↿ UPWARDS HARPOON WITH BARB LEFTWARDS - 'upharpoonright': u'\u21be', # ↾ UPWARDS HARPOON WITH BARB RIGHTWARDS - 'upuparrows': u'\u21c8', # ⇈ UPWARDS PAIRED ARROWS - 'upupharpoons': u'\u2963', # ⥣ UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT - 'vDash': u'\u22a8', # ⊨ TRUE - 'varpropto': u'\u221d', # ∝ PROPORTIONAL TO - 'vartriangleleft': u'\u22b2', # ⊲ NORMAL SUBGROUP OF - 'vartriangleright': u'\u22b3', # ⊳ CONTAINS AS NORMAL SUBGROUP - 'vdash': u'\u22a2', # ⊢ RIGHT TACK - 'vdots': u'\u22ee', # ⋮ VERTICAL ELLIPSIS + 'Bumpeq': '\u224e', # ≎ GEOMETRICALLY EQUIVALENT TO + 'Doteq': '\u2251', # ≑ GEOMETRICALLY EQUAL TO + 'Downarrow': '\u21d3', # ⇓ DOWNWARDS DOUBLE ARROW + 'Leftarrow': '\u21d0', # ⇐ LEFTWARDS DOUBLE ARROW + 'Leftrightarrow': '\u21d4', # ⇔ LEFT RIGHT DOUBLE ARROW + 'Lleftarrow': '\u21da', # ⇚ LEFTWARDS TRIPLE ARROW + 'Longleftarrow': '\u27f8', # ⟸ LONG LEFTWARDS DOUBLE ARROW + 'Longleftrightarrow': '\u27fa', # ⟺ LONG LEFT RIGHT DOUBLE ARROW + 'Longmapsfrom': '\u27fd', # ⟽ LONG LEFTWARDS DOUBLE ARROW FROM BAR + 'Longmapsto': '\u27fe', # ⟾ LONG RIGHTWARDS DOUBLE ARROW FROM BAR + 'Longrightarrow': '\u27f9', # ⟹ LONG RIGHTWARDS DOUBLE ARROW + 'Lsh': '\u21b0', # ↰ UPWARDS ARROW WITH TIP LEFTWARDS + 'Mapsfrom': '\u2906', # ⤆ LEFTWARDS DOUBLE ARROW FROM BAR + 'Mapsto': '\u2907', # ⤇ RIGHTWARDS DOUBLE ARROW FROM BAR + 'Rightarrow': '\u21d2', # ⇒ RIGHTWARDS DOUBLE ARROW + 'Rrightarrow': '\u21db', # ⇛ RIGHTWARDS TRIPLE ARROW + 'Rsh': '\u21b1', # ↱ UPWARDS ARROW WITH TIP RIGHTWARDS + 'Subset': '\u22d0', # ⋐ DOUBLE SUBSET + 'Supset': '\u22d1', # ⋑ DOUBLE SUPERSET + 'Uparrow': '\u21d1', # ⇑ UPWARDS DOUBLE ARROW + 'Updownarrow': '\u21d5', # ⇕ UP DOWN DOUBLE ARROW + 'VDash': '\u22ab', # ⊫ DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE + 'Vdash': '\u22a9', # ⊩ FORCES + 'Vvdash': '\u22aa', # ⊪ TRIPLE VERTICAL BAR RIGHT TURNSTILE + 'apprge': '\u2273', # ≳ GREATER-THAN OR EQUIVALENT TO + 'apprle': '\u2272', # ≲ LESS-THAN OR EQUIVALENT TO + 'approx': '\u2248', # ≈ ALMOST EQUAL TO + 'approxeq': '\u224a', # ≊ ALMOST EQUAL OR EQUAL TO + 'asymp': '\u224d', # ≍ EQUIVALENT TO + 'backsim': '\u223d', # ∽ REVERSED TILDE + 'backsimeq': '\u22cd', # ⋍ REVERSED TILDE EQUALS + 'barin': '\u22f6', # ⋶ ELEMENT OF WITH OVERBAR + 'barleftharpoon': '\u296b', # ⥫ LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH + 'barrightharpoon': '\u296d', # ⥭ RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH + 'between': '\u226c', # ≬ BETWEEN + 'bowtie': '\u22c8', # ⋈ BOWTIE + 'bumpeq': '\u224f', # ≏ DIFFERENCE BETWEEN + 'circeq': '\u2257', # ≗ RING EQUAL TO + 'coloneq': '\u2254', # ≔ COLON EQUALS + 'cong': '\u2245', # ≅ APPROXIMATELY EQUAL TO + 'corresponds': '\u2259', # ≙ ESTIMATES + 'curlyeqprec': '\u22de', # ⋞ EQUAL TO OR PRECEDES + 'curlyeqsucc': '\u22df', # ⋟ EQUAL TO OR SUCCEEDS + 'curvearrowleft': '\u21b6', # ↶ ANTICLOCKWISE TOP SEMICIRCLE ARROW + 'curvearrowright': '\u21b7', # ↷ CLOCKWISE TOP SEMICIRCLE ARROW + 'dashv': '\u22a3', # ⊣ LEFT TACK + 'ddots': '\u22f1', # ⋱ DOWN RIGHT DIAGONAL ELLIPSIS + 'dlsh': '\u21b2', # ↲ DOWNWARDS ARROW WITH TIP LEFTWARDS + 'doteq': '\u2250', # ≐ APPROACHES THE LIMIT + 'doteqdot': '\u2251', # ≑ GEOMETRICALLY EQUAL TO + 'downarrow': '\u2193', # ↓ DOWNWARDS ARROW + 'downdownarrows': '\u21ca', # ⇊ DOWNWARDS PAIRED ARROWS + 'downdownharpoons': '\u2965', # ⥥ DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT + 'downharpoonleft': '\u21c3', # ⇃ DOWNWARDS HARPOON WITH BARB LEFTWARDS + 'downharpoonright': '\u21c2', # ⇂ DOWNWARDS HARPOON WITH BARB RIGHTWARDS + 'downuparrows': '\u21f5', # ⇵ DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW + 'downupharpoons': '\u296f', # ⥯ DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT + 'drsh': '\u21b3', # ↳ DOWNWARDS ARROW WITH TIP RIGHTWARDS + 'eqcirc': '\u2256', # ≖ RING IN EQUAL TO + 'eqcolon': '\u2255', # ≕ EQUALS COLON + 'eqsim': '\u2242', # ≂ MINUS TILDE + 'eqslantgtr': '\u2a96', # ⪖ SLANTED EQUAL TO OR GREATER-THAN + 'eqslantless': '\u2a95', # ⪕ SLANTED EQUAL TO OR LESS-THAN + 'equiv': '\u2261', # ≡ IDENTICAL TO + 'fallingdotseq': '\u2252', # ≒ APPROXIMATELY EQUAL TO OR THE IMAGE OF + 'frown': '\u2322', # ⌢ FROWN + 'ge': '\u2265', # ≥ GREATER-THAN OR EQUAL TO + 'geq': '\u2265', # ≥ GREATER-THAN OR EQUAL TO + 'geqq': '\u2267', # ≧ GREATER-THAN OVER EQUAL TO + 'geqslant': '\u2a7e', # ⩾ GREATER-THAN OR SLANTED EQUAL TO + 'gets': '\u2190', # ← LEFTWARDS ARROW + 'gg': '\u226b', # ≫ MUCH GREATER-THAN + 'ggcurly': '\u2abc', # ⪼ DOUBLE SUCCEEDS + 'ggg': '\u22d9', # ⋙ VERY MUCH GREATER-THAN + 'gnapprox': '\u2a8a', # ⪊ GREATER-THAN AND NOT APPROXIMATE + 'gneq': '\u2a88', # ⪈ GREATER-THAN AND SINGLE-LINE NOT EQUAL TO + 'gneqq': '\u2269', # ≩ GREATER-THAN BUT NOT EQUAL TO + 'gnsim': '\u22e7', # ⋧ GREATER-THAN BUT NOT EQUIVALENT TO + 'gtrapprox': '\u2a86', # ⪆ GREATER-THAN OR APPROXIMATE + 'gtrdot': '\u22d7', # ⋗ GREATER-THAN WITH DOT + 'gtreqless': '\u22db', # ⋛ GREATER-THAN EQUAL TO OR LESS-THAN + 'gtreqqless': '\u2a8c', # ⪌ GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN + 'gtrless': '\u2277', # ≷ GREATER-THAN OR LESS-THAN + 'gtrsim': '\u2273', # ≳ GREATER-THAN OR EQUIVALENT TO + 'hash': '\u22d5', # ⋕ EQUAL AND PARALLEL TO + 'hookleftarrow': '\u21a9', # ↩ LEFTWARDS ARROW WITH HOOK + 'hookrightarrow': '\u21aa', # ↪ RIGHTWARDS ARROW WITH HOOK + 'iddots': '\u22f0', # ⋰ UP RIGHT DIAGONAL ELLIPSIS + 'impliedby': '\u27f8', # ⟸ LONG LEFTWARDS DOUBLE ARROW + 'implies': '\u27f9', # ⟹ LONG RIGHTWARDS DOUBLE ARROW + 'in': '\u2208', # ∈ ELEMENT OF + 'le': '\u2264', # ≤ LESS-THAN OR EQUAL TO + 'leftarrow': '\u2190', # ← LEFTWARDS ARROW + 'leftarrowtail': '\u21a2', # ↢ LEFTWARDS ARROW WITH TAIL + 'leftarrowtriangle': '\u21fd', # ⇽ LEFTWARDS OPEN-HEADED ARROW + 'leftbarharpoon': '\u296a', # ⥪ LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH + 'leftharpoondown': '\u21bd', # ↽ LEFTWARDS HARPOON WITH BARB DOWNWARDS + 'leftharpoonup': '\u21bc', # ↼ LEFTWARDS HARPOON WITH BARB UPWARDS + 'leftleftarrows': '\u21c7', # ⇇ LEFTWARDS PAIRED ARROWS + 'leftleftharpoons': '\u2962', # ⥢ LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN + 'leftrightarrow': '\u2194', # ↔ LEFT RIGHT ARROW + 'leftrightarrows': '\u21c6', # ⇆ LEFTWARDS ARROW OVER RIGHTWARDS ARROW + 'leftrightarrowtriangle': '\u21ff', # ⇿ LEFT RIGHT OPEN-HEADED ARROW + 'leftrightharpoon': '\u294a', # ⥊ LEFT BARB UP RIGHT BARB DOWN HARPOON + 'leftrightharpoons': '\u21cb', # ⇋ LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON + 'leftrightsquigarrow': '\u21ad', # ↭ LEFT RIGHT WAVE ARROW + 'leftslice': '\u2aa6', # ⪦ LESS-THAN CLOSED BY CURVE + 'leftsquigarrow': '\u21dc', # ⇜ LEFTWARDS SQUIGGLE ARROW + 'leq': '\u2264', # ≤ LESS-THAN OR EQUAL TO + 'leqq': '\u2266', # ≦ LESS-THAN OVER EQUAL TO + 'leqslant': '\u2a7d', # ⩽ LESS-THAN OR SLANTED EQUAL TO + 'lessapprox': '\u2a85', # ⪅ LESS-THAN OR APPROXIMATE + 'lessdot': '\u22d6', # ⋖ LESS-THAN WITH DOT + 'lesseqgtr': '\u22da', # ⋚ LESS-THAN EQUAL TO OR GREATER-THAN + 'lesseqqgtr': '\u2a8b', # ⪋ LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN + 'lessgtr': '\u2276', # ≶ LESS-THAN OR GREATER-THAN + 'lesssim': '\u2272', # ≲ LESS-THAN OR EQUIVALENT TO + 'lightning': '\u21af', # ↯ DOWNWARDS ZIGZAG ARROW + 'll': '\u226a', # ≪ MUCH LESS-THAN + 'llcurly': '\u2abb', # ⪻ DOUBLE PRECEDES + 'lll': '\u22d8', # ⋘ VERY MUCH LESS-THAN + 'lnapprox': '\u2a89', # ⪉ LESS-THAN AND NOT APPROXIMATE + 'lneq': '\u2a87', # ⪇ LESS-THAN AND SINGLE-LINE NOT EQUAL TO + 'lneqq': '\u2268', # ≨ LESS-THAN BUT NOT EQUAL TO + 'lnsim': '\u22e6', # ⋦ LESS-THAN BUT NOT EQUIVALENT TO + 'longleftarrow': '\u27f5', # ⟵ LONG LEFTWARDS ARROW + 'longleftrightarrow': '\u27f7', # ⟷ LONG LEFT RIGHT ARROW + 'longmapsfrom': '\u27fb', # ⟻ LONG LEFTWARDS ARROW FROM BAR + 'longmapsto': '\u27fc', # ⟼ LONG RIGHTWARDS ARROW FROM BAR + 'longrightarrow': '\u27f6', # ⟶ LONG RIGHTWARDS ARROW + 'looparrowleft': '\u21ab', # ↫ LEFTWARDS ARROW WITH LOOP + 'looparrowright': '\u21ac', # ↬ RIGHTWARDS ARROW WITH LOOP + 'mapsfrom': '\u21a4', # ↤ LEFTWARDS ARROW FROM BAR + 'mapsto': '\u21a6', # ↦ RIGHTWARDS ARROW FROM BAR + 'mid': '\u2223', # ∣ DIVIDES + 'models': '\u22a7', # ⊧ MODELS + 'multimap': '\u22b8', # ⊸ MULTIMAP + 'nLeftarrow': '\u21cd', # ⇍ LEFTWARDS DOUBLE ARROW WITH STROKE + 'nLeftrightarrow': '\u21ce', # ⇎ LEFT RIGHT DOUBLE ARROW WITH STROKE + 'nRightarrow': '\u21cf', # ⇏ RIGHTWARDS DOUBLE ARROW WITH STROKE + 'nVDash': '\u22af', # ⊯ NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE + 'nVdash': '\u22ae', # ⊮ DOES NOT FORCE + 'ncong': '\u2247', # ≇ NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO + 'ne': '\u2260', # ≠ NOT EQUAL TO + 'nearrow': '\u2197', # ↗ NORTH EAST ARROW + 'neq': '\u2260', # ≠ NOT EQUAL TO + 'ngeq': '\u2271', # ≱ NEITHER GREATER-THAN NOR EQUAL TO + 'ngtr': '\u226f', # ≯ NOT GREATER-THAN + 'ni': '\u220b', # ∋ CONTAINS AS MEMBER + 'nleftarrow': '\u219a', # ↚ LEFTWARDS ARROW WITH STROKE + 'nleftrightarrow': '\u21ae', # ↮ LEFT RIGHT ARROW WITH STROKE + 'nleq': '\u2270', # ≰ NEITHER LESS-THAN NOR EQUAL TO + 'nless': '\u226e', # ≮ NOT LESS-THAN + 'nmid': '\u2224', # ∤ DOES NOT DIVIDE + 'notasymp': '\u226d', # ≭ NOT EQUIVALENT TO + 'notin': '\u2209', # ∉ NOT AN ELEMENT OF + 'notowner': '\u220c', # ∌ DOES NOT CONTAIN AS MEMBER + 'notslash': '\u233f', # ⌿ APL FUNCTIONAL SYMBOL SLASH BAR + 'nparallel': '\u2226', # ∦ NOT PARALLEL TO + 'nprec': '\u2280', # ⊀ DOES NOT PRECEDE + 'npreceq': '\u22e0', # ⋠ DOES NOT PRECEDE OR EQUAL + 'nrightarrow': '\u219b', # ↛ RIGHTWARDS ARROW WITH STROKE + 'nsim': '\u2241', # ≁ NOT TILDE + 'nsubseteq': '\u2288', # ⊈ NEITHER A SUBSET OF NOR EQUAL TO + 'nsucc': '\u2281', # ⊁ DOES NOT SUCCEED + 'nsucceq': '\u22e1', # ⋡ DOES NOT SUCCEED OR EQUAL + 'nsupseteq': '\u2289', # ⊉ NEITHER A SUPERSET OF NOR EQUAL TO + 'ntriangleleft': '\u22ea', # ⋪ NOT NORMAL SUBGROUP OF + 'ntrianglelefteq': '\u22ec', # ⋬ NOT NORMAL SUBGROUP OF OR EQUAL TO + 'ntriangleright': '\u22eb', # ⋫ DOES NOT CONTAIN AS NORMAL SUBGROUP + 'ntrianglerighteq': '\u22ed', # ⋭ DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL + 'nvDash': '\u22ad', # ⊭ NOT TRUE + 'nvdash': '\u22ac', # ⊬ DOES NOT PROVE + 'nwarrow': '\u2196', # ↖ NORTH WEST ARROW + 'owns': '\u220b', # ∋ CONTAINS AS MEMBER + 'parallel': '\u2225', # ∥ PARALLEL TO + 'perp': '\u27c2', # ⟂ PERPENDICULAR + 'pitchfork': '\u22d4', # ⋔ PITCHFORK + 'prec': '\u227a', # ≺ PRECEDES + 'precapprox': '\u2ab7', # ⪷ PRECEDES ABOVE ALMOST EQUAL TO + 'preccurlyeq': '\u227c', # ≼ PRECEDES OR EQUAL TO + 'preceq': '\u2aaf', # ⪯ PRECEDES ABOVE SINGLE-LINE EQUALS SIGN + 'precnapprox': '\u2ab9', # ⪹ PRECEDES ABOVE NOT ALMOST EQUAL TO + 'precnsim': '\u22e8', # ⋨ PRECEDES BUT NOT EQUIVALENT TO + 'precsim': '\u227e', # ≾ PRECEDES OR EQUIVALENT TO + 'propto': '\u221d', # ∝ PROPORTIONAL TO + 'restriction': '\u21be', # ↾ UPWARDS HARPOON WITH BARB RIGHTWARDS + 'rightarrow': '\u2192', # → RIGHTWARDS ARROW + 'rightarrowtail': '\u21a3', # ↣ RIGHTWARDS ARROW WITH TAIL + 'rightarrowtriangle': '\u21fe', # ⇾ RIGHTWARDS OPEN-HEADED ARROW + 'rightbarharpoon': '\u296c', # ⥬ RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH + 'rightharpoondown': '\u21c1', # ⇁ RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 'rightharpoonup': '\u21c0', # ⇀ RIGHTWARDS HARPOON WITH BARB UPWARDS + 'rightleftarrows': '\u21c4', # ⇄ RIGHTWARDS ARROW OVER LEFTWARDS ARROW + 'rightleftharpoon': '\u294b', # ⥋ LEFT BARB DOWN RIGHT BARB UP HARPOON + 'rightleftharpoons': '\u21cc', # ⇌ RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON + 'rightrightarrows': '\u21c9', # ⇉ RIGHTWARDS PAIRED ARROWS + 'rightrightharpoons': '\u2964', # ⥤ RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN + 'rightslice': '\u2aa7', # ⪧ GREATER-THAN CLOSED BY CURVE + 'rightsquigarrow': '\u21dd', # ⇝ RIGHTWARDS SQUIGGLE ARROW + 'risingdotseq': '\u2253', # ≓ IMAGE OF OR APPROXIMATELY EQUAL TO + 'searrow': '\u2198', # ↘ SOUTH EAST ARROW + 'sim': '\u223c', # ∼ TILDE OPERATOR + 'simeq': '\u2243', # ≃ ASYMPTOTICALLY EQUAL TO + 'smallfrown': '\u2322', # ⌢ FROWN + 'smallsmile': '\u2323', # ⌣ SMILE + 'smile': '\u2323', # ⌣ SMILE + 'sqsubset': '\u228f', # ⊏ SQUARE IMAGE OF + 'sqsubseteq': '\u2291', # ⊑ SQUARE IMAGE OF OR EQUAL TO + 'sqsupset': '\u2290', # ⊐ SQUARE ORIGINAL OF + 'sqsupseteq': '\u2292', # ⊒ SQUARE ORIGINAL OF OR EQUAL TO + 'subset': '\u2282', # ⊂ SUBSET OF + 'subseteq': '\u2286', # ⊆ SUBSET OF OR EQUAL TO + 'subseteqq': '\u2ac5', # ⫅ SUBSET OF ABOVE EQUALS SIGN + 'subsetneq': '\u228a', # ⊊ SUBSET OF WITH NOT EQUAL TO + 'subsetneqq': '\u2acb', # ⫋ SUBSET OF ABOVE NOT EQUAL TO + 'succ': '\u227b', # ≻ SUCCEEDS + 'succapprox': '\u2ab8', # ⪸ SUCCEEDS ABOVE ALMOST EQUAL TO + 'succcurlyeq': '\u227d', # ≽ SUCCEEDS OR EQUAL TO + 'succeq': '\u2ab0', # ⪰ SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN + 'succnapprox': '\u2aba', # ⪺ SUCCEEDS ABOVE NOT ALMOST EQUAL TO + 'succnsim': '\u22e9', # ⋩ SUCCEEDS BUT NOT EQUIVALENT TO + 'succsim': '\u227f', # ≿ SUCCEEDS OR EQUIVALENT TO + 'supset': '\u2283', # ⊃ SUPERSET OF + 'supseteq': '\u2287', # ⊇ SUPERSET OF OR EQUAL TO + 'supseteqq': '\u2ac6', # ⫆ SUPERSET OF ABOVE EQUALS SIGN + 'supsetneq': '\u228b', # ⊋ SUPERSET OF WITH NOT EQUAL TO + 'supsetneqq': '\u2acc', # ⫌ SUPERSET OF ABOVE NOT EQUAL TO + 'swarrow': '\u2199', # ↙ SOUTH WEST ARROW + 'to': '\u2192', # → RIGHTWARDS ARROW + 'trianglelefteq': '\u22b4', # ⊴ NORMAL SUBGROUP OF OR EQUAL TO + 'triangleq': '\u225c', # ≜ DELTA EQUAL TO + 'trianglerighteq': '\u22b5', # ⊵ CONTAINS AS NORMAL SUBGROUP OR EQUAL TO + 'twoheadleftarrow': '\u219e', # ↞ LEFTWARDS TWO HEADED ARROW + 'twoheadrightarrow': '\u21a0', # ↠ RIGHTWARDS TWO HEADED ARROW + 'uparrow': '\u2191', # ↑ UPWARDS ARROW + 'updownarrow': '\u2195', # ↕ UP DOWN ARROW + 'updownarrows': '\u21c5', # ⇅ UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW + 'updownharpoons': '\u296e', # ⥮ UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT + 'upharpoonleft': '\u21bf', # ↿ UPWARDS HARPOON WITH BARB LEFTWARDS + 'upharpoonright': '\u21be', # ↾ UPWARDS HARPOON WITH BARB RIGHTWARDS + 'upuparrows': '\u21c8', # ⇈ UPWARDS PAIRED ARROWS + 'upupharpoons': '\u2963', # ⥣ UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT + 'vDash': '\u22a8', # ⊨ TRUE + 'varpropto': '\u221d', # ∝ PROPORTIONAL TO + 'vartriangleleft': '\u22b2', # ⊲ NORMAL SUBGROUP OF + 'vartriangleright': '\u22b3', # ⊳ CONTAINS AS NORMAL SUBGROUP + 'vdash': '\u22a2', # ⊢ RIGHT TACK + 'vdots': '\u22ee', # ⋮ VERTICAL ELLIPSIS } mathunder = { - 'underbrace': u'\u23df', # ⏟ BOTTOM CURLY BRACKET + 'underbrace': '\u23df', # ⏟ BOTTOM CURLY BRACKET } space = { - ':': u'\u205f', #   MEDIUM MATHEMATICAL SPACE - 'medspace': u'\u205f', #   MEDIUM MATHEMATICAL SPACE - 'quad': u'\u2001', #   EM QUAD + ':': '\u205f', #   MEDIUM MATHEMATICAL SPACE + 'medspace': '\u205f', #   MEDIUM MATHEMATICAL SPACE + 'quad': '\u2001', #   EM QUAD } diff --git a/bin/docutils/utils/math/tex2unichar.pyc b/bin/docutils/utils/math/tex2unichar.pyc deleted file mode 100644 index 48c6481b..00000000 Binary files a/bin/docutils/utils/math/tex2unichar.pyc and /dev/null differ diff --git a/bin/docutils/utils/math/unichar2tex.py b/bin/docutils/utils/math/unichar2tex.py index 0e0b8080..ed7fc109 100644 --- a/bin/docutils/utils/math/unichar2tex.py +++ b/bin/docutils/utils/math/unichar2tex.py @@ -6,783 +6,783 @@ # Includes commands from: standard LaTeX, amssymb, amsmath uni2tex_table = { -160: u'~', -163: u'\\pounds ', -165: u'\\yen ', -172: u'\\neg ', -174: u'\\circledR ', -177: u'\\pm ', -215: u'\\times ', -240: u'\\eth ', -247: u'\\div ', -305: u'\\imath ', -567: u'\\jmath ', -915: u'\\Gamma ', -916: u'\\Delta ', -920: u'\\Theta ', -923: u'\\Lambda ', -926: u'\\Xi ', -928: u'\\Pi ', -931: u'\\Sigma ', -933: u'\\Upsilon ', -934: u'\\Phi ', -936: u'\\Psi ', -937: u'\\Omega ', -945: u'\\alpha ', -946: u'\\beta ', -947: u'\\gamma ', -948: u'\\delta ', -949: u'\\varepsilon ', -950: u'\\zeta ', -951: u'\\eta ', -952: u'\\theta ', -953: u'\\iota ', -954: u'\\kappa ', -955: u'\\lambda ', -956: u'\\mu ', -957: u'\\nu ', -958: u'\\xi ', -960: u'\\pi ', -961: u'\\rho ', -962: u'\\varsigma ', -963: u'\\sigma ', -964: u'\\tau ', -965: u'\\upsilon ', -966: u'\\varphi ', -967: u'\\chi ', -968: u'\\psi ', -969: u'\\omega ', -977: u'\\vartheta ', -981: u'\\phi ', -982: u'\\varpi ', -989: u'\\digamma ', -1014: u'\\backepsilon ', -8193: u'\\quad ', -8214: u'\\| ', -8224: u'\\dagger ', -8225: u'\\ddagger ', -8230: u'\\ldots ', -8242: u'\\prime ', -8245: u'\\backprime ', -8287: u'\\: ', -8450: u'\\mathbb{C}', -8459: u'\\mathcal{H}', -8460: u'\\mathfrak{H}', -8461: u'\\mathbb{H}', -8463: u'\\hslash ', -8464: u'\\mathcal{I}', -8465: u'\\Im ', -8466: u'\\mathcal{L}', -8467: u'\\ell ', -8469: u'\\mathbb{N}', -8472: u'\\wp ', -8473: u'\\mathbb{P}', -8474: u'\\mathbb{Q}', -8475: u'\\mathcal{R}', -8476: u'\\Re ', -8477: u'\\mathbb{R}', -8484: u'\\mathbb{Z}', -8487: u'\\mho ', -8488: u'\\mathfrak{Z}', -8492: u'\\mathcal{B}', -8493: u'\\mathfrak{C}', -8496: u'\\mathcal{E}', -8497: u'\\mathcal{F}', -8498: u'\\Finv ', -8499: u'\\mathcal{M}', -8501: u'\\aleph ', -8502: u'\\beth ', -8503: u'\\gimel ', -8504: u'\\daleth ', -8592: u'\\leftarrow ', -8593: u'\\uparrow ', -8594: u'\\rightarrow ', -8595: u'\\downarrow ', -8596: u'\\leftrightarrow ', -8597: u'\\updownarrow ', -8598: u'\\nwarrow ', -8599: u'\\nearrow ', -8600: u'\\searrow ', -8601: u'\\swarrow ', -8602: u'\\nleftarrow ', -8603: u'\\nrightarrow ', -8606: u'\\twoheadleftarrow ', -8608: u'\\twoheadrightarrow ', -8610: u'\\leftarrowtail ', -8611: u'\\rightarrowtail ', -8614: u'\\mapsto ', -8617: u'\\hookleftarrow ', -8618: u'\\hookrightarrow ', -8619: u'\\looparrowleft ', -8620: u'\\looparrowright ', -8621: u'\\leftrightsquigarrow ', -8622: u'\\nleftrightarrow ', -8624: u'\\Lsh ', -8625: u'\\Rsh ', -8630: u'\\curvearrowleft ', -8631: u'\\curvearrowright ', -8634: u'\\circlearrowleft ', -8635: u'\\circlearrowright ', -8636: u'\\leftharpoonup ', -8637: u'\\leftharpoondown ', -8638: u'\\upharpoonright ', -8639: u'\\upharpoonleft ', -8640: u'\\rightharpoonup ', -8641: u'\\rightharpoondown ', -8642: u'\\downharpoonright ', -8643: u'\\downharpoonleft ', -8644: u'\\rightleftarrows ', -8646: u'\\leftrightarrows ', -8647: u'\\leftleftarrows ', -8648: u'\\upuparrows ', -8649: u'\\rightrightarrows ', -8650: u'\\downdownarrows ', -8651: u'\\leftrightharpoons ', -8652: u'\\rightleftharpoons ', -8653: u'\\nLeftarrow ', -8654: u'\\nLeftrightarrow ', -8655: u'\\nRightarrow ', -8656: u'\\Leftarrow ', -8657: u'\\Uparrow ', -8658: u'\\Rightarrow ', -8659: u'\\Downarrow ', -8660: u'\\Leftrightarrow ', -8661: u'\\Updownarrow ', -8666: u'\\Lleftarrow ', -8667: u'\\Rrightarrow ', -8669: u'\\rightsquigarrow ', -8672: u'\\dashleftarrow ', -8674: u'\\dashrightarrow ', -8704: u'\\forall ', -8705: u'\\complement ', -8706: u'\\partial ', -8707: u'\\exists ', -8708: u'\\nexists ', -8709: u'\\varnothing ', -8711: u'\\nabla ', -8712: u'\\in ', -8713: u'\\notin ', -8715: u'\\ni ', -8719: u'\\prod ', -8720: u'\\coprod ', -8721: u'\\sum ', -8722: u'-', -8723: u'\\mp ', -8724: u'\\dotplus ', -8725: u'\\slash ', -8726: u'\\smallsetminus ', -8727: u'\\ast ', -8728: u'\\circ ', -8729: u'\\bullet ', -8730: u'\\sqrt ', -8731: u'\\sqrt[3] ', -8732: u'\\sqrt[4] ', -8733: u'\\propto ', -8734: u'\\infty ', -8736: u'\\angle ', -8737: u'\\measuredangle ', -8738: u'\\sphericalangle ', -8739: u'\\mid ', -8740: u'\\nmid ', -8741: u'\\parallel ', -8742: u'\\nparallel ', -8743: u'\\wedge ', -8744: u'\\vee ', -8745: u'\\cap ', -8746: u'\\cup ', -8747: u'\\int ', -8748: u'\\iint ', -8749: u'\\iiint ', -8750: u'\\oint ', -8756: u'\\therefore ', -8757: u'\\because ', -8758: u':', -8764: u'\\sim ', -8765: u'\\backsim ', -8768: u'\\wr ', -8769: u'\\nsim ', -8770: u'\\eqsim ', -8771: u'\\simeq ', -8773: u'\\cong ', -8775: u'\\ncong ', -8776: u'\\approx ', -8778: u'\\approxeq ', -8781: u'\\asymp ', -8782: u'\\Bumpeq ', -8783: u'\\bumpeq ', -8784: u'\\doteq ', -8785: u'\\Doteq ', -8786: u'\\fallingdotseq ', -8787: u'\\risingdotseq ', -8790: u'\\eqcirc ', -8791: u'\\circeq ', -8796: u'\\triangleq ', -8800: u'\\neq ', -8801: u'\\equiv ', -8804: u'\\leq ', -8805: u'\\geq ', -8806: u'\\leqq ', -8807: u'\\geqq ', -8808: u'\\lneqq ', -8809: u'\\gneqq ', -8810: u'\\ll ', -8811: u'\\gg ', -8812: u'\\between ', -8814: u'\\nless ', -8815: u'\\ngtr ', -8816: u'\\nleq ', -8817: u'\\ngeq ', -8818: u'\\lesssim ', -8819: u'\\gtrsim ', -8822: u'\\lessgtr ', -8823: u'\\gtrless ', -8826: u'\\prec ', -8827: u'\\succ ', -8828: u'\\preccurlyeq ', -8829: u'\\succcurlyeq ', -8830: u'\\precsim ', -8831: u'\\succsim ', -8832: u'\\nprec ', -8833: u'\\nsucc ', -8834: u'\\subset ', -8835: u'\\supset ', -8838: u'\\subseteq ', -8839: u'\\supseteq ', -8840: u'\\nsubseteq ', -8841: u'\\nsupseteq ', -8842: u'\\subsetneq ', -8843: u'\\supsetneq ', -8846: u'\\uplus ', -8847: u'\\sqsubset ', -8848: u'\\sqsupset ', -8849: u'\\sqsubseteq ', -8850: u'\\sqsupseteq ', -8851: u'\\sqcap ', -8852: u'\\sqcup ', -8853: u'\\oplus ', -8854: u'\\ominus ', -8855: u'\\otimes ', -8856: u'\\oslash ', -8857: u'\\odot ', -8858: u'\\circledcirc ', -8859: u'\\circledast ', -8861: u'\\circleddash ', -8862: u'\\boxplus ', -8863: u'\\boxminus ', -8864: u'\\boxtimes ', -8865: u'\\boxdot ', -8866: u'\\vdash ', -8867: u'\\dashv ', -8868: u'\\top ', -8869: u'\\bot ', -8871: u'\\models ', -8872: u'\\vDash ', -8873: u'\\Vdash ', -8874: u'\\Vvdash ', -8876: u'\\nvdash ', -8877: u'\\nvDash ', -8878: u'\\nVdash ', -8879: u'\\nVDash ', -8882: u'\\vartriangleleft ', -8883: u'\\vartriangleright ', -8884: u'\\trianglelefteq ', -8885: u'\\trianglerighteq ', -8888: u'\\multimap ', -8890: u'\\intercal ', -8891: u'\\veebar ', -8892: u'\\barwedge ', -8896: u'\\bigwedge ', -8897: u'\\bigvee ', -8898: u'\\bigcap ', -8899: u'\\bigcup ', -8900: u'\\diamond ', -8901: u'\\cdot ', -8902: u'\\star ', -8903: u'\\divideontimes ', -8904: u'\\bowtie ', -8905: u'\\ltimes ', -8906: u'\\rtimes ', -8907: u'\\leftthreetimes ', -8908: u'\\rightthreetimes ', -8909: u'\\backsimeq ', -8910: u'\\curlyvee ', -8911: u'\\curlywedge ', -8912: u'\\Subset ', -8913: u'\\Supset ', -8914: u'\\Cap ', -8915: u'\\Cup ', -8916: u'\\pitchfork ', -8918: u'\\lessdot ', -8919: u'\\gtrdot ', -8920: u'\\lll ', -8921: u'\\ggg ', -8922: u'\\lesseqgtr ', -8923: u'\\gtreqless ', -8926: u'\\curlyeqprec ', -8927: u'\\curlyeqsucc ', -8928: u'\\npreceq ', -8929: u'\\nsucceq ', -8934: u'\\lnsim ', -8935: u'\\gnsim ', -8936: u'\\precnsim ', -8937: u'\\succnsim ', -8938: u'\\ntriangleleft ', -8939: u'\\ntriangleright ', -8940: u'\\ntrianglelefteq ', -8941: u'\\ntrianglerighteq ', -8942: u'\\vdots ', -8943: u'\\cdots ', -8945: u'\\ddots ', -8968: u'\\lceil ', -8969: u'\\rceil ', -8970: u'\\lfloor ', -8971: u'\\rfloor ', -8988: u'\\ulcorner ', -8989: u'\\urcorner ', -8990: u'\\llcorner ', -8991: u'\\lrcorner ', -8994: u'\\frown ', -8995: u'\\smile ', -9182: u'\\overbrace ', -9183: u'\\underbrace ', -9651: u'\\bigtriangleup ', -9655: u'\\rhd ', -9661: u'\\bigtriangledown ', -9665: u'\\lhd ', -9671: u'\\Diamond ', -9674: u'\\lozenge ', -9723: u'\\square ', -9724: u'\\blacksquare ', -9733: u'\\bigstar ', -9824: u'\\spadesuit ', -9825: u'\\heartsuit ', -9826: u'\\diamondsuit ', -9827: u'\\clubsuit ', -9837: u'\\flat ', -9838: u'\\natural ', -9839: u'\\sharp ', -10003: u'\\checkmark ', -10016: u'\\maltese ', -10178: u'\\perp ', -10216: u'\\langle ', -10217: u'\\rangle ', -10222: u'\\lgroup ', -10223: u'\\rgroup ', -10229: u'\\longleftarrow ', -10230: u'\\longrightarrow ', -10231: u'\\longleftrightarrow ', -10232: u'\\Longleftarrow ', -10233: u'\\Longrightarrow ', -10234: u'\\Longleftrightarrow ', -10236: u'\\longmapsto ', -10731: u'\\blacklozenge ', -10741: u'\\setminus ', -10752: u'\\bigodot ', -10753: u'\\bigoplus ', -10754: u'\\bigotimes ', -10756: u'\\biguplus ', -10758: u'\\bigsqcup ', -10764: u'\\iiiint ', -10781: u'\\Join ', -10815: u'\\amalg ', -10846: u'\\doublebarwedge ', -10877: u'\\leqslant ', -10878: u'\\geqslant ', -10885: u'\\lessapprox ', -10886: u'\\gtrapprox ', -10887: u'\\lneq ', -10888: u'\\gneq ', -10889: u'\\lnapprox ', -10890: u'\\gnapprox ', -10891: u'\\lesseqqgtr ', -10892: u'\\gtreqqless ', -10901: u'\\eqslantless ', -10902: u'\\eqslantgtr ', -10927: u'\\preceq ', -10928: u'\\succeq ', -10935: u'\\precapprox ', -10936: u'\\succapprox ', -10937: u'\\precnapprox ', -10938: u'\\succnapprox ', -10949: u'\\subseteqq ', -10950: u'\\supseteqq ', -10955: u'\\subsetneqq ', -10956: u'\\supsetneqq ', -119808: u'\\mathbf{A}', -119809: u'\\mathbf{B}', -119810: u'\\mathbf{C}', -119811: u'\\mathbf{D}', -119812: u'\\mathbf{E}', -119813: u'\\mathbf{F}', -119814: u'\\mathbf{G}', -119815: u'\\mathbf{H}', -119816: u'\\mathbf{I}', -119817: u'\\mathbf{J}', -119818: u'\\mathbf{K}', -119819: u'\\mathbf{L}', -119820: u'\\mathbf{M}', -119821: u'\\mathbf{N}', -119822: u'\\mathbf{O}', -119823: u'\\mathbf{P}', -119824: u'\\mathbf{Q}', -119825: u'\\mathbf{R}', -119826: u'\\mathbf{S}', -119827: u'\\mathbf{T}', -119828: u'\\mathbf{U}', -119829: u'\\mathbf{V}', -119830: u'\\mathbf{W}', -119831: u'\\mathbf{X}', -119832: u'\\mathbf{Y}', -119833: u'\\mathbf{Z}', -119834: u'\\mathbf{a}', -119835: u'\\mathbf{b}', -119836: u'\\mathbf{c}', -119837: u'\\mathbf{d}', -119838: u'\\mathbf{e}', -119839: u'\\mathbf{f}', -119840: u'\\mathbf{g}', -119841: u'\\mathbf{h}', -119842: u'\\mathbf{i}', -119843: u'\\mathbf{j}', -119844: u'\\mathbf{k}', -119845: u'\\mathbf{l}', -119846: u'\\mathbf{m}', -119847: u'\\mathbf{n}', -119848: u'\\mathbf{o}', -119849: u'\\mathbf{p}', -119850: u'\\mathbf{q}', -119851: u'\\mathbf{r}', -119852: u'\\mathbf{s}', -119853: u'\\mathbf{t}', -119854: u'\\mathbf{u}', -119855: u'\\mathbf{v}', -119856: u'\\mathbf{w}', -119857: u'\\mathbf{x}', -119858: u'\\mathbf{y}', -119859: u'\\mathbf{z}', -119860: u'A', -119861: u'B', -119862: u'C', -119863: u'D', -119864: u'E', -119865: u'F', -119866: u'G', -119867: u'H', -119868: u'I', -119869: u'J', -119870: u'K', -119871: u'L', -119872: u'M', -119873: u'N', -119874: u'O', -119875: u'P', -119876: u'Q', -119877: u'R', -119878: u'S', -119879: u'T', -119880: u'U', -119881: u'V', -119882: u'W', -119883: u'X', -119884: u'Y', -119885: u'Z', -119886: u'a', -119887: u'b', -119888: u'c', -119889: u'd', -119890: u'e', -119891: u'f', -119892: u'g', -119894: u'i', -119895: u'j', -119896: u'k', -119897: u'l', -119898: u'm', -119899: u'n', -119900: u'o', -119901: u'p', -119902: u'q', -119903: u'r', -119904: u's', -119905: u't', -119906: u'u', -119907: u'v', -119908: u'w', -119909: u'x', -119910: u'y', -119911: u'z', -119964: u'\\mathcal{A}', -119966: u'\\mathcal{C}', -119967: u'\\mathcal{D}', -119970: u'\\mathcal{G}', -119973: u'\\mathcal{J}', -119974: u'\\mathcal{K}', -119977: u'\\mathcal{N}', -119978: u'\\mathcal{O}', -119979: u'\\mathcal{P}', -119980: u'\\mathcal{Q}', -119982: u'\\mathcal{S}', -119983: u'\\mathcal{T}', -119984: u'\\mathcal{U}', -119985: u'\\mathcal{V}', -119986: u'\\mathcal{W}', -119987: u'\\mathcal{X}', -119988: u'\\mathcal{Y}', -119989: u'\\mathcal{Z}', -120068: u'\\mathfrak{A}', -120069: u'\\mathfrak{B}', -120071: u'\\mathfrak{D}', -120072: u'\\mathfrak{E}', -120073: u'\\mathfrak{F}', -120074: u'\\mathfrak{G}', -120077: u'\\mathfrak{J}', -120078: u'\\mathfrak{K}', -120079: u'\\mathfrak{L}', -120080: u'\\mathfrak{M}', -120081: u'\\mathfrak{N}', -120082: u'\\mathfrak{O}', -120083: u'\\mathfrak{P}', -120084: u'\\mathfrak{Q}', -120086: u'\\mathfrak{S}', -120087: u'\\mathfrak{T}', -120088: u'\\mathfrak{U}', -120089: u'\\mathfrak{V}', -120090: u'\\mathfrak{W}', -120091: u'\\mathfrak{X}', -120092: u'\\mathfrak{Y}', -120094: u'\\mathfrak{a}', -120095: u'\\mathfrak{b}', -120096: u'\\mathfrak{c}', -120097: u'\\mathfrak{d}', -120098: u'\\mathfrak{e}', -120099: u'\\mathfrak{f}', -120100: u'\\mathfrak{g}', -120101: u'\\mathfrak{h}', -120102: u'\\mathfrak{i}', -120103: u'\\mathfrak{j}', -120104: u'\\mathfrak{k}', -120105: u'\\mathfrak{l}', -120106: u'\\mathfrak{m}', -120107: u'\\mathfrak{n}', -120108: u'\\mathfrak{o}', -120109: u'\\mathfrak{p}', -120110: u'\\mathfrak{q}', -120111: u'\\mathfrak{r}', -120112: u'\\mathfrak{s}', -120113: u'\\mathfrak{t}', -120114: u'\\mathfrak{u}', -120115: u'\\mathfrak{v}', -120116: u'\\mathfrak{w}', -120117: u'\\mathfrak{x}', -120118: u'\\mathfrak{y}', -120119: u'\\mathfrak{z}', -120120: u'\\mathbb{A}', -120121: u'\\mathbb{B}', -120123: u'\\mathbb{D}', -120124: u'\\mathbb{E}', -120125: u'\\mathbb{F}', -120126: u'\\mathbb{G}', -120128: u'\\mathbb{I}', -120129: u'\\mathbb{J}', -120130: u'\\mathbb{K}', -120131: u'\\mathbb{L}', -120132: u'\\mathbb{M}', -120134: u'\\mathbb{O}', -120138: u'\\mathbb{S}', -120139: u'\\mathbb{T}', -120140: u'\\mathbb{U}', -120141: u'\\mathbb{V}', -120142: u'\\mathbb{W}', -120143: u'\\mathbb{X}', -120144: u'\\mathbb{Y}', -120156: u'\\Bbbk ', -120224: u'\\mathsf{A}', -120225: u'\\mathsf{B}', -120226: u'\\mathsf{C}', -120227: u'\\mathsf{D}', -120228: u'\\mathsf{E}', -120229: u'\\mathsf{F}', -120230: u'\\mathsf{G}', -120231: u'\\mathsf{H}', -120232: u'\\mathsf{I}', -120233: u'\\mathsf{J}', -120234: u'\\mathsf{K}', -120235: u'\\mathsf{L}', -120236: u'\\mathsf{M}', -120237: u'\\mathsf{N}', -120238: u'\\mathsf{O}', -120239: u'\\mathsf{P}', -120240: u'\\mathsf{Q}', -120241: u'\\mathsf{R}', -120242: u'\\mathsf{S}', -120243: u'\\mathsf{T}', -120244: u'\\mathsf{U}', -120245: u'\\mathsf{V}', -120246: u'\\mathsf{W}', -120247: u'\\mathsf{X}', -120248: u'\\mathsf{Y}', -120249: u'\\mathsf{Z}', -120250: u'\\mathsf{a}', -120251: u'\\mathsf{b}', -120252: u'\\mathsf{c}', -120253: u'\\mathsf{d}', -120254: u'\\mathsf{e}', -120255: u'\\mathsf{f}', -120256: u'\\mathsf{g}', -120257: u'\\mathsf{h}', -120258: u'\\mathsf{i}', -120259: u'\\mathsf{j}', -120260: u'\\mathsf{k}', -120261: u'\\mathsf{l}', -120262: u'\\mathsf{m}', -120263: u'\\mathsf{n}', -120264: u'\\mathsf{o}', -120265: u'\\mathsf{p}', -120266: u'\\mathsf{q}', -120267: u'\\mathsf{r}', -120268: u'\\mathsf{s}', -120269: u'\\mathsf{t}', -120270: u'\\mathsf{u}', -120271: u'\\mathsf{v}', -120272: u'\\mathsf{w}', -120273: u'\\mathsf{x}', -120274: u'\\mathsf{y}', -120275: u'\\mathsf{z}', -120432: u'\\mathtt{A}', -120433: u'\\mathtt{B}', -120434: u'\\mathtt{C}', -120435: u'\\mathtt{D}', -120436: u'\\mathtt{E}', -120437: u'\\mathtt{F}', -120438: u'\\mathtt{G}', -120439: u'\\mathtt{H}', -120440: u'\\mathtt{I}', -120441: u'\\mathtt{J}', -120442: u'\\mathtt{K}', -120443: u'\\mathtt{L}', -120444: u'\\mathtt{M}', -120445: u'\\mathtt{N}', -120446: u'\\mathtt{O}', -120447: u'\\mathtt{P}', -120448: u'\\mathtt{Q}', -120449: u'\\mathtt{R}', -120450: u'\\mathtt{S}', -120451: u'\\mathtt{T}', -120452: u'\\mathtt{U}', -120453: u'\\mathtt{V}', -120454: u'\\mathtt{W}', -120455: u'\\mathtt{X}', -120456: u'\\mathtt{Y}', -120457: u'\\mathtt{Z}', -120458: u'\\mathtt{a}', -120459: u'\\mathtt{b}', -120460: u'\\mathtt{c}', -120461: u'\\mathtt{d}', -120462: u'\\mathtt{e}', -120463: u'\\mathtt{f}', -120464: u'\\mathtt{g}', -120465: u'\\mathtt{h}', -120466: u'\\mathtt{i}', -120467: u'\\mathtt{j}', -120468: u'\\mathtt{k}', -120469: u'\\mathtt{l}', -120470: u'\\mathtt{m}', -120471: u'\\mathtt{n}', -120472: u'\\mathtt{o}', -120473: u'\\mathtt{p}', -120474: u'\\mathtt{q}', -120475: u'\\mathtt{r}', -120476: u'\\mathtt{s}', -120477: u'\\mathtt{t}', -120478: u'\\mathtt{u}', -120479: u'\\mathtt{v}', -120480: u'\\mathtt{w}', -120481: u'\\mathtt{x}', -120482: u'\\mathtt{y}', -120483: u'\\mathtt{z}', -120484: u'\\imath ', -120485: u'\\jmath ', -120490: u'\\mathbf{\\Gamma}', -120491: u'\\mathbf{\\Delta}', -120495: u'\\mathbf{\\Theta}', -120498: u'\\mathbf{\\Lambda}', -120501: u'\\mathbf{\\Xi}', -120503: u'\\mathbf{\\Pi}', -120506: u'\\mathbf{\\Sigma}', -120508: u'\\mathbf{\\Upsilon}', -120509: u'\\mathbf{\\Phi}', -120511: u'\\mathbf{\\Psi}', -120512: u'\\mathbf{\\Omega}', -120548: u'\\mathit{\\Gamma}', -120549: u'\\mathit{\\Delta}', -120553: u'\\mathit{\\Theta}', -120556: u'\\mathit{\\Lambda}', -120559: u'\\mathit{\\Xi}', -120561: u'\\mathit{\\Pi}', -120564: u'\\mathit{\\Sigma}', -120566: u'\\mathit{\\Upsilon}', -120567: u'\\mathit{\\Phi}', -120569: u'\\mathit{\\Psi}', -120570: u'\\mathit{\\Omega}', -120572: u'\\alpha ', -120573: u'\\beta ', -120574: u'\\gamma ', -120575: u'\\delta ', -120576: u'\\varepsilon ', -120577: u'\\zeta ', -120578: u'\\eta ', -120579: u'\\theta ', -120580: u'\\iota ', -120581: u'\\kappa ', -120582: u'\\lambda ', -120583: u'\\mu ', -120584: u'\\nu ', -120585: u'\\xi ', -120587: u'\\pi ', -120588: u'\\rho ', -120589: u'\\varsigma ', -120590: u'\\sigma ', -120591: u'\\tau ', -120592: u'\\upsilon ', -120593: u'\\varphi ', -120594: u'\\chi ', -120595: u'\\psi ', -120596: u'\\omega ', -120597: u'\\partial ', -120598: u'\\epsilon ', -120599: u'\\vartheta ', -120600: u'\\varkappa ', -120601: u'\\phi ', -120602: u'\\varrho ', -120603: u'\\varpi ', -120782: u'\\mathbf{0}', -120783: u'\\mathbf{1}', -120784: u'\\mathbf{2}', -120785: u'\\mathbf{3}', -120786: u'\\mathbf{4}', -120787: u'\\mathbf{5}', -120788: u'\\mathbf{6}', -120789: u'\\mathbf{7}', -120790: u'\\mathbf{8}', -120791: u'\\mathbf{9}', -120802: u'\\mathsf{0}', -120803: u'\\mathsf{1}', -120804: u'\\mathsf{2}', -120805: u'\\mathsf{3}', -120806: u'\\mathsf{4}', -120807: u'\\mathsf{5}', -120808: u'\\mathsf{6}', -120809: u'\\mathsf{7}', -120810: u'\\mathsf{8}', -120811: u'\\mathsf{9}', -120822: u'\\mathtt{0}', -120823: u'\\mathtt{1}', -120824: u'\\mathtt{2}', -120825: u'\\mathtt{3}', -120826: u'\\mathtt{4}', -120827: u'\\mathtt{5}', -120828: u'\\mathtt{6}', -120829: u'\\mathtt{7}', -120830: u'\\mathtt{8}', -120831: u'\\mathtt{9}', +160: '~', +163: '\\pounds ', +165: '\\yen ', +172: '\\neg ', +174: '\\circledR ', +177: '\\pm ', +215: '\\times ', +240: '\\eth ', +247: '\\div ', +305: '\\imath ', +567: '\\jmath ', +915: '\\Gamma ', +916: '\\Delta ', +920: '\\Theta ', +923: '\\Lambda ', +926: '\\Xi ', +928: '\\Pi ', +931: '\\Sigma ', +933: '\\Upsilon ', +934: '\\Phi ', +936: '\\Psi ', +937: '\\Omega ', +945: '\\alpha ', +946: '\\beta ', +947: '\\gamma ', +948: '\\delta ', +949: '\\varepsilon ', +950: '\\zeta ', +951: '\\eta ', +952: '\\theta ', +953: '\\iota ', +954: '\\kappa ', +955: '\\lambda ', +956: '\\mu ', +957: '\\nu ', +958: '\\xi ', +960: '\\pi ', +961: '\\rho ', +962: '\\varsigma ', +963: '\\sigma ', +964: '\\tau ', +965: '\\upsilon ', +966: '\\varphi ', +967: '\\chi ', +968: '\\psi ', +969: '\\omega ', +977: '\\vartheta ', +981: '\\phi ', +982: '\\varpi ', +989: '\\digamma ', +1014: '\\backepsilon ', +8193: '\\quad ', +8214: '\\| ', +8224: '\\dagger ', +8225: '\\ddagger ', +8230: '\\ldots ', +8242: '\\prime ', +8245: '\\backprime ', +8287: '\\: ', +8450: '\\mathbb{C}', +8459: '\\mathcal{H}', +8460: '\\mathfrak{H}', +8461: '\\mathbb{H}', +8463: '\\hslash ', +8464: '\\mathcal{I}', +8465: '\\Im ', +8466: '\\mathcal{L}', +8467: '\\ell ', +8469: '\\mathbb{N}', +8472: '\\wp ', +8473: '\\mathbb{P}', +8474: '\\mathbb{Q}', +8475: '\\mathcal{R}', +8476: '\\Re ', +8477: '\\mathbb{R}', +8484: '\\mathbb{Z}', +8487: '\\mho ', +8488: '\\mathfrak{Z}', +8492: '\\mathcal{B}', +8493: '\\mathfrak{C}', +8496: '\\mathcal{E}', +8497: '\\mathcal{F}', +8498: '\\Finv ', +8499: '\\mathcal{M}', +8501: '\\aleph ', +8502: '\\beth ', +8503: '\\gimel ', +8504: '\\daleth ', +8592: '\\leftarrow ', +8593: '\\uparrow ', +8594: '\\rightarrow ', +8595: '\\downarrow ', +8596: '\\leftrightarrow ', +8597: '\\updownarrow ', +8598: '\\nwarrow ', +8599: '\\nearrow ', +8600: '\\searrow ', +8601: '\\swarrow ', +8602: '\\nleftarrow ', +8603: '\\nrightarrow ', +8606: '\\twoheadleftarrow ', +8608: '\\twoheadrightarrow ', +8610: '\\leftarrowtail ', +8611: '\\rightarrowtail ', +8614: '\\mapsto ', +8617: '\\hookleftarrow ', +8618: '\\hookrightarrow ', +8619: '\\looparrowleft ', +8620: '\\looparrowright ', +8621: '\\leftrightsquigarrow ', +8622: '\\nleftrightarrow ', +8624: '\\Lsh ', +8625: '\\Rsh ', +8630: '\\curvearrowleft ', +8631: '\\curvearrowright ', +8634: '\\circlearrowleft ', +8635: '\\circlearrowright ', +8636: '\\leftharpoonup ', +8637: '\\leftharpoondown ', +8638: '\\upharpoonright ', +8639: '\\upharpoonleft ', +8640: '\\rightharpoonup ', +8641: '\\rightharpoondown ', +8642: '\\downharpoonright ', +8643: '\\downharpoonleft ', +8644: '\\rightleftarrows ', +8646: '\\leftrightarrows ', +8647: '\\leftleftarrows ', +8648: '\\upuparrows ', +8649: '\\rightrightarrows ', +8650: '\\downdownarrows ', +8651: '\\leftrightharpoons ', +8652: '\\rightleftharpoons ', +8653: '\\nLeftarrow ', +8654: '\\nLeftrightarrow ', +8655: '\\nRightarrow ', +8656: '\\Leftarrow ', +8657: '\\Uparrow ', +8658: '\\Rightarrow ', +8659: '\\Downarrow ', +8660: '\\Leftrightarrow ', +8661: '\\Updownarrow ', +8666: '\\Lleftarrow ', +8667: '\\Rrightarrow ', +8669: '\\rightsquigarrow ', +8672: '\\dashleftarrow ', +8674: '\\dashrightarrow ', +8704: '\\forall ', +8705: '\\complement ', +8706: '\\partial ', +8707: '\\exists ', +8708: '\\nexists ', +8709: '\\varnothing ', +8711: '\\nabla ', +8712: '\\in ', +8713: '\\notin ', +8715: '\\ni ', +8719: '\\prod ', +8720: '\\coprod ', +8721: '\\sum ', +8722: '-', +8723: '\\mp ', +8724: '\\dotplus ', +8725: '\\slash ', +8726: '\\smallsetminus ', +8727: '\\ast ', +8728: '\\circ ', +8729: '\\bullet ', +8730: '\\sqrt ', +8731: '\\sqrt[3] ', +8732: '\\sqrt[4] ', +8733: '\\propto ', +8734: '\\infty ', +8736: '\\angle ', +8737: '\\measuredangle ', +8738: '\\sphericalangle ', +8739: '\\mid ', +8740: '\\nmid ', +8741: '\\parallel ', +8742: '\\nparallel ', +8743: '\\wedge ', +8744: '\\vee ', +8745: '\\cap ', +8746: '\\cup ', +8747: '\\int ', +8748: '\\iint ', +8749: '\\iiint ', +8750: '\\oint ', +8756: '\\therefore ', +8757: '\\because ', +8758: ':', +8764: '\\sim ', +8765: '\\backsim ', +8768: '\\wr ', +8769: '\\nsim ', +8770: '\\eqsim ', +8771: '\\simeq ', +8773: '\\cong ', +8775: '\\ncong ', +8776: '\\approx ', +8778: '\\approxeq ', +8781: '\\asymp ', +8782: '\\Bumpeq ', +8783: '\\bumpeq ', +8784: '\\doteq ', +8785: '\\Doteq ', +8786: '\\fallingdotseq ', +8787: '\\risingdotseq ', +8790: '\\eqcirc ', +8791: '\\circeq ', +8796: '\\triangleq ', +8800: '\\neq ', +8801: '\\equiv ', +8804: '\\leq ', +8805: '\\geq ', +8806: '\\leqq ', +8807: '\\geqq ', +8808: '\\lneqq ', +8809: '\\gneqq ', +8810: '\\ll ', +8811: '\\gg ', +8812: '\\between ', +8814: '\\nless ', +8815: '\\ngtr ', +8816: '\\nleq ', +8817: '\\ngeq ', +8818: '\\lesssim ', +8819: '\\gtrsim ', +8822: '\\lessgtr ', +8823: '\\gtrless ', +8826: '\\prec ', +8827: '\\succ ', +8828: '\\preccurlyeq ', +8829: '\\succcurlyeq ', +8830: '\\precsim ', +8831: '\\succsim ', +8832: '\\nprec ', +8833: '\\nsucc ', +8834: '\\subset ', +8835: '\\supset ', +8838: '\\subseteq ', +8839: '\\supseteq ', +8840: '\\nsubseteq ', +8841: '\\nsupseteq ', +8842: '\\subsetneq ', +8843: '\\supsetneq ', +8846: '\\uplus ', +8847: '\\sqsubset ', +8848: '\\sqsupset ', +8849: '\\sqsubseteq ', +8850: '\\sqsupseteq ', +8851: '\\sqcap ', +8852: '\\sqcup ', +8853: '\\oplus ', +8854: '\\ominus ', +8855: '\\otimes ', +8856: '\\oslash ', +8857: '\\odot ', +8858: '\\circledcirc ', +8859: '\\circledast ', +8861: '\\circleddash ', +8862: '\\boxplus ', +8863: '\\boxminus ', +8864: '\\boxtimes ', +8865: '\\boxdot ', +8866: '\\vdash ', +8867: '\\dashv ', +8868: '\\top ', +8869: '\\bot ', +8871: '\\models ', +8872: '\\vDash ', +8873: '\\Vdash ', +8874: '\\Vvdash ', +8876: '\\nvdash ', +8877: '\\nvDash ', +8878: '\\nVdash ', +8879: '\\nVDash ', +8882: '\\vartriangleleft ', +8883: '\\vartriangleright ', +8884: '\\trianglelefteq ', +8885: '\\trianglerighteq ', +8888: '\\multimap ', +8890: '\\intercal ', +8891: '\\veebar ', +8892: '\\barwedge ', +8896: '\\bigwedge ', +8897: '\\bigvee ', +8898: '\\bigcap ', +8899: '\\bigcup ', +8900: '\\diamond ', +8901: '\\cdot ', +8902: '\\star ', +8903: '\\divideontimes ', +8904: '\\bowtie ', +8905: '\\ltimes ', +8906: '\\rtimes ', +8907: '\\leftthreetimes ', +8908: '\\rightthreetimes ', +8909: '\\backsimeq ', +8910: '\\curlyvee ', +8911: '\\curlywedge ', +8912: '\\Subset ', +8913: '\\Supset ', +8914: '\\Cap ', +8915: '\\Cup ', +8916: '\\pitchfork ', +8918: '\\lessdot ', +8919: '\\gtrdot ', +8920: '\\lll ', +8921: '\\ggg ', +8922: '\\lesseqgtr ', +8923: '\\gtreqless ', +8926: '\\curlyeqprec ', +8927: '\\curlyeqsucc ', +8928: '\\npreceq ', +8929: '\\nsucceq ', +8934: '\\lnsim ', +8935: '\\gnsim ', +8936: '\\precnsim ', +8937: '\\succnsim ', +8938: '\\ntriangleleft ', +8939: '\\ntriangleright ', +8940: '\\ntrianglelefteq ', +8941: '\\ntrianglerighteq ', +8942: '\\vdots ', +8943: '\\cdots ', +8945: '\\ddots ', +8968: '\\lceil ', +8969: '\\rceil ', +8970: '\\lfloor ', +8971: '\\rfloor ', +8988: '\\ulcorner ', +8989: '\\urcorner ', +8990: '\\llcorner ', +8991: '\\lrcorner ', +8994: '\\frown ', +8995: '\\smile ', +9182: '\\overbrace ', +9183: '\\underbrace ', +9651: '\\bigtriangleup ', +9655: '\\rhd ', +9661: '\\bigtriangledown ', +9665: '\\lhd ', +9671: '\\Diamond ', +9674: '\\lozenge ', +9723: '\\square ', +9724: '\\blacksquare ', +9733: '\\bigstar ', +9824: '\\spadesuit ', +9825: '\\heartsuit ', +9826: '\\diamondsuit ', +9827: '\\clubsuit ', +9837: '\\flat ', +9838: '\\natural ', +9839: '\\sharp ', +10003: '\\checkmark ', +10016: '\\maltese ', +10178: '\\perp ', +10216: '\\langle ', +10217: '\\rangle ', +10222: '\\lgroup ', +10223: '\\rgroup ', +10229: '\\longleftarrow ', +10230: '\\longrightarrow ', +10231: '\\longleftrightarrow ', +10232: '\\Longleftarrow ', +10233: '\\Longrightarrow ', +10234: '\\Longleftrightarrow ', +10236: '\\longmapsto ', +10731: '\\blacklozenge ', +10741: '\\setminus ', +10752: '\\bigodot ', +10753: '\\bigoplus ', +10754: '\\bigotimes ', +10756: '\\biguplus ', +10758: '\\bigsqcup ', +10764: '\\iiiint ', +10781: '\\Join ', +10815: '\\amalg ', +10846: '\\doublebarwedge ', +10877: '\\leqslant ', +10878: '\\geqslant ', +10885: '\\lessapprox ', +10886: '\\gtrapprox ', +10887: '\\lneq ', +10888: '\\gneq ', +10889: '\\lnapprox ', +10890: '\\gnapprox ', +10891: '\\lesseqqgtr ', +10892: '\\gtreqqless ', +10901: '\\eqslantless ', +10902: '\\eqslantgtr ', +10927: '\\preceq ', +10928: '\\succeq ', +10935: '\\precapprox ', +10936: '\\succapprox ', +10937: '\\precnapprox ', +10938: '\\succnapprox ', +10949: '\\subseteqq ', +10950: '\\supseteqq ', +10955: '\\subsetneqq ', +10956: '\\supsetneqq ', +119808: '\\mathbf{A}', +119809: '\\mathbf{B}', +119810: '\\mathbf{C}', +119811: '\\mathbf{D}', +119812: '\\mathbf{E}', +119813: '\\mathbf{F}', +119814: '\\mathbf{G}', +119815: '\\mathbf{H}', +119816: '\\mathbf{I}', +119817: '\\mathbf{J}', +119818: '\\mathbf{K}', +119819: '\\mathbf{L}', +119820: '\\mathbf{M}', +119821: '\\mathbf{N}', +119822: '\\mathbf{O}', +119823: '\\mathbf{P}', +119824: '\\mathbf{Q}', +119825: '\\mathbf{R}', +119826: '\\mathbf{S}', +119827: '\\mathbf{T}', +119828: '\\mathbf{U}', +119829: '\\mathbf{V}', +119830: '\\mathbf{W}', +119831: '\\mathbf{X}', +119832: '\\mathbf{Y}', +119833: '\\mathbf{Z}', +119834: '\\mathbf{a}', +119835: '\\mathbf{b}', +119836: '\\mathbf{c}', +119837: '\\mathbf{d}', +119838: '\\mathbf{e}', +119839: '\\mathbf{f}', +119840: '\\mathbf{g}', +119841: '\\mathbf{h}', +119842: '\\mathbf{i}', +119843: '\\mathbf{j}', +119844: '\\mathbf{k}', +119845: '\\mathbf{l}', +119846: '\\mathbf{m}', +119847: '\\mathbf{n}', +119848: '\\mathbf{o}', +119849: '\\mathbf{p}', +119850: '\\mathbf{q}', +119851: '\\mathbf{r}', +119852: '\\mathbf{s}', +119853: '\\mathbf{t}', +119854: '\\mathbf{u}', +119855: '\\mathbf{v}', +119856: '\\mathbf{w}', +119857: '\\mathbf{x}', +119858: '\\mathbf{y}', +119859: '\\mathbf{z}', +119860: 'A', +119861: 'B', +119862: 'C', +119863: 'D', +119864: 'E', +119865: 'F', +119866: 'G', +119867: 'H', +119868: 'I', +119869: 'J', +119870: 'K', +119871: 'L', +119872: 'M', +119873: 'N', +119874: 'O', +119875: 'P', +119876: 'Q', +119877: 'R', +119878: 'S', +119879: 'T', +119880: 'U', +119881: 'V', +119882: 'W', +119883: 'X', +119884: 'Y', +119885: 'Z', +119886: 'a', +119887: 'b', +119888: 'c', +119889: 'd', +119890: 'e', +119891: 'f', +119892: 'g', +119894: 'i', +119895: 'j', +119896: 'k', +119897: 'l', +119898: 'm', +119899: 'n', +119900: 'o', +119901: 'p', +119902: 'q', +119903: 'r', +119904: 's', +119905: 't', +119906: 'u', +119907: 'v', +119908: 'w', +119909: 'x', +119910: 'y', +119911: 'z', +119964: '\\mathcal{A}', +119966: '\\mathcal{C}', +119967: '\\mathcal{D}', +119970: '\\mathcal{G}', +119973: '\\mathcal{J}', +119974: '\\mathcal{K}', +119977: '\\mathcal{N}', +119978: '\\mathcal{O}', +119979: '\\mathcal{P}', +119980: '\\mathcal{Q}', +119982: '\\mathcal{S}', +119983: '\\mathcal{T}', +119984: '\\mathcal{U}', +119985: '\\mathcal{V}', +119986: '\\mathcal{W}', +119987: '\\mathcal{X}', +119988: '\\mathcal{Y}', +119989: '\\mathcal{Z}', +120068: '\\mathfrak{A}', +120069: '\\mathfrak{B}', +120071: '\\mathfrak{D}', +120072: '\\mathfrak{E}', +120073: '\\mathfrak{F}', +120074: '\\mathfrak{G}', +120077: '\\mathfrak{J}', +120078: '\\mathfrak{K}', +120079: '\\mathfrak{L}', +120080: '\\mathfrak{M}', +120081: '\\mathfrak{N}', +120082: '\\mathfrak{O}', +120083: '\\mathfrak{P}', +120084: '\\mathfrak{Q}', +120086: '\\mathfrak{S}', +120087: '\\mathfrak{T}', +120088: '\\mathfrak{U}', +120089: '\\mathfrak{V}', +120090: '\\mathfrak{W}', +120091: '\\mathfrak{X}', +120092: '\\mathfrak{Y}', +120094: '\\mathfrak{a}', +120095: '\\mathfrak{b}', +120096: '\\mathfrak{c}', +120097: '\\mathfrak{d}', +120098: '\\mathfrak{e}', +120099: '\\mathfrak{f}', +120100: '\\mathfrak{g}', +120101: '\\mathfrak{h}', +120102: '\\mathfrak{i}', +120103: '\\mathfrak{j}', +120104: '\\mathfrak{k}', +120105: '\\mathfrak{l}', +120106: '\\mathfrak{m}', +120107: '\\mathfrak{n}', +120108: '\\mathfrak{o}', +120109: '\\mathfrak{p}', +120110: '\\mathfrak{q}', +120111: '\\mathfrak{r}', +120112: '\\mathfrak{s}', +120113: '\\mathfrak{t}', +120114: '\\mathfrak{u}', +120115: '\\mathfrak{v}', +120116: '\\mathfrak{w}', +120117: '\\mathfrak{x}', +120118: '\\mathfrak{y}', +120119: '\\mathfrak{z}', +120120: '\\mathbb{A}', +120121: '\\mathbb{B}', +120123: '\\mathbb{D}', +120124: '\\mathbb{E}', +120125: '\\mathbb{F}', +120126: '\\mathbb{G}', +120128: '\\mathbb{I}', +120129: '\\mathbb{J}', +120130: '\\mathbb{K}', +120131: '\\mathbb{L}', +120132: '\\mathbb{M}', +120134: '\\mathbb{O}', +120138: '\\mathbb{S}', +120139: '\\mathbb{T}', +120140: '\\mathbb{U}', +120141: '\\mathbb{V}', +120142: '\\mathbb{W}', +120143: '\\mathbb{X}', +120144: '\\mathbb{Y}', +120156: '\\Bbbk ', +120224: '\\mathsf{A}', +120225: '\\mathsf{B}', +120226: '\\mathsf{C}', +120227: '\\mathsf{D}', +120228: '\\mathsf{E}', +120229: '\\mathsf{F}', +120230: '\\mathsf{G}', +120231: '\\mathsf{H}', +120232: '\\mathsf{I}', +120233: '\\mathsf{J}', +120234: '\\mathsf{K}', +120235: '\\mathsf{L}', +120236: '\\mathsf{M}', +120237: '\\mathsf{N}', +120238: '\\mathsf{O}', +120239: '\\mathsf{P}', +120240: '\\mathsf{Q}', +120241: '\\mathsf{R}', +120242: '\\mathsf{S}', +120243: '\\mathsf{T}', +120244: '\\mathsf{U}', +120245: '\\mathsf{V}', +120246: '\\mathsf{W}', +120247: '\\mathsf{X}', +120248: '\\mathsf{Y}', +120249: '\\mathsf{Z}', +120250: '\\mathsf{a}', +120251: '\\mathsf{b}', +120252: '\\mathsf{c}', +120253: '\\mathsf{d}', +120254: '\\mathsf{e}', +120255: '\\mathsf{f}', +120256: '\\mathsf{g}', +120257: '\\mathsf{h}', +120258: '\\mathsf{i}', +120259: '\\mathsf{j}', +120260: '\\mathsf{k}', +120261: '\\mathsf{l}', +120262: '\\mathsf{m}', +120263: '\\mathsf{n}', +120264: '\\mathsf{o}', +120265: '\\mathsf{p}', +120266: '\\mathsf{q}', +120267: '\\mathsf{r}', +120268: '\\mathsf{s}', +120269: '\\mathsf{t}', +120270: '\\mathsf{u}', +120271: '\\mathsf{v}', +120272: '\\mathsf{w}', +120273: '\\mathsf{x}', +120274: '\\mathsf{y}', +120275: '\\mathsf{z}', +120432: '\\mathtt{A}', +120433: '\\mathtt{B}', +120434: '\\mathtt{C}', +120435: '\\mathtt{D}', +120436: '\\mathtt{E}', +120437: '\\mathtt{F}', +120438: '\\mathtt{G}', +120439: '\\mathtt{H}', +120440: '\\mathtt{I}', +120441: '\\mathtt{J}', +120442: '\\mathtt{K}', +120443: '\\mathtt{L}', +120444: '\\mathtt{M}', +120445: '\\mathtt{N}', +120446: '\\mathtt{O}', +120447: '\\mathtt{P}', +120448: '\\mathtt{Q}', +120449: '\\mathtt{R}', +120450: '\\mathtt{S}', +120451: '\\mathtt{T}', +120452: '\\mathtt{U}', +120453: '\\mathtt{V}', +120454: '\\mathtt{W}', +120455: '\\mathtt{X}', +120456: '\\mathtt{Y}', +120457: '\\mathtt{Z}', +120458: '\\mathtt{a}', +120459: '\\mathtt{b}', +120460: '\\mathtt{c}', +120461: '\\mathtt{d}', +120462: '\\mathtt{e}', +120463: '\\mathtt{f}', +120464: '\\mathtt{g}', +120465: '\\mathtt{h}', +120466: '\\mathtt{i}', +120467: '\\mathtt{j}', +120468: '\\mathtt{k}', +120469: '\\mathtt{l}', +120470: '\\mathtt{m}', +120471: '\\mathtt{n}', +120472: '\\mathtt{o}', +120473: '\\mathtt{p}', +120474: '\\mathtt{q}', +120475: '\\mathtt{r}', +120476: '\\mathtt{s}', +120477: '\\mathtt{t}', +120478: '\\mathtt{u}', +120479: '\\mathtt{v}', +120480: '\\mathtt{w}', +120481: '\\mathtt{x}', +120482: '\\mathtt{y}', +120483: '\\mathtt{z}', +120484: '\\imath ', +120485: '\\jmath ', +120490: '\\mathbf{\\Gamma}', +120491: '\\mathbf{\\Delta}', +120495: '\\mathbf{\\Theta}', +120498: '\\mathbf{\\Lambda}', +120501: '\\mathbf{\\Xi}', +120503: '\\mathbf{\\Pi}', +120506: '\\mathbf{\\Sigma}', +120508: '\\mathbf{\\Upsilon}', +120509: '\\mathbf{\\Phi}', +120511: '\\mathbf{\\Psi}', +120512: '\\mathbf{\\Omega}', +120548: '\\mathit{\\Gamma}', +120549: '\\mathit{\\Delta}', +120553: '\\mathit{\\Theta}', +120556: '\\mathit{\\Lambda}', +120559: '\\mathit{\\Xi}', +120561: '\\mathit{\\Pi}', +120564: '\\mathit{\\Sigma}', +120566: '\\mathit{\\Upsilon}', +120567: '\\mathit{\\Phi}', +120569: '\\mathit{\\Psi}', +120570: '\\mathit{\\Omega}', +120572: '\\alpha ', +120573: '\\beta ', +120574: '\\gamma ', +120575: '\\delta ', +120576: '\\varepsilon ', +120577: '\\zeta ', +120578: '\\eta ', +120579: '\\theta ', +120580: '\\iota ', +120581: '\\kappa ', +120582: '\\lambda ', +120583: '\\mu ', +120584: '\\nu ', +120585: '\\xi ', +120587: '\\pi ', +120588: '\\rho ', +120589: '\\varsigma ', +120590: '\\sigma ', +120591: '\\tau ', +120592: '\\upsilon ', +120593: '\\varphi ', +120594: '\\chi ', +120595: '\\psi ', +120596: '\\omega ', +120597: '\\partial ', +120598: '\\epsilon ', +120599: '\\vartheta ', +120600: '\\varkappa ', +120601: '\\phi ', +120602: '\\varrho ', +120603: '\\varpi ', +120782: '\\mathbf{0}', +120783: '\\mathbf{1}', +120784: '\\mathbf{2}', +120785: '\\mathbf{3}', +120786: '\\mathbf{4}', +120787: '\\mathbf{5}', +120788: '\\mathbf{6}', +120789: '\\mathbf{7}', +120790: '\\mathbf{8}', +120791: '\\mathbf{9}', +120802: '\\mathsf{0}', +120803: '\\mathsf{1}', +120804: '\\mathsf{2}', +120805: '\\mathsf{3}', +120806: '\\mathsf{4}', +120807: '\\mathsf{5}', +120808: '\\mathsf{6}', +120809: '\\mathsf{7}', +120810: '\\mathsf{8}', +120811: '\\mathsf{9}', +120822: '\\mathtt{0}', +120823: '\\mathtt{1}', +120824: '\\mathtt{2}', +120825: '\\mathtt{3}', +120826: '\\mathtt{4}', +120827: '\\mathtt{5}', +120828: '\\mathtt{6}', +120829: '\\mathtt{7}', +120830: '\\mathtt{8}', +120831: '\\mathtt{9}', } diff --git a/bin/docutils/utils/math/unichar2tex.pyc b/bin/docutils/utils/math/unichar2tex.pyc deleted file mode 100644 index 73004d37..00000000 Binary files a/bin/docutils/utils/math/unichar2tex.pyc and /dev/null differ diff --git a/bin/docutils/utils/punctuation_chars.py b/bin/docutils/utils/punctuation_chars.py index 041cf9c1..bb4e6ccf 100644 --- a/bin/docutils/utils/punctuation_chars.py +++ b/bin/docutils/utils/punctuation_chars.py @@ -43,66 +43,66 @@ http://docutils.sf.net/docs/ref/rst/restructuredtext.html#inline-markup-recognition-rules """ -openers = (u'"\'(<\\[{\u0f3a\u0f3c\u169b\u2045\u207d\u208d\u2329\u2768' - u'\u276a\u276c\u276e\u2770\u2772\u2774\u27c5\u27e6\u27e8\u27ea' - u'\u27ec\u27ee\u2983\u2985\u2987\u2989\u298b\u298d\u298f\u2991' - u'\u2993\u2995\u2997\u29d8\u29da\u29fc\u2e22\u2e24\u2e26\u2e28' - u'\u3008\u300a\u300c\u300e\u3010\u3014\u3016\u3018\u301a\u301d' - u'\u301d\ufd3e\ufe17\ufe35\ufe37\ufe39\ufe3b\ufe3d\ufe3f\ufe41' - u'\ufe43\ufe47\ufe59\ufe5b\ufe5d\uff08\uff3b\uff5b\uff5f\uff62' - u'\xab\u2018\u201c\u2039\u2e02\u2e04\u2e09\u2e0c\u2e1c\u2e20' - u'\u201a\u201e\xbb\u2019\u201d\u203a\u2e03\u2e05\u2e0a\u2e0d' - u'\u2e1d\u2e21\u201b\u201f') -closers = (u'"\')>\\]}\u0f3b\u0f3d\u169c\u2046\u207e\u208e\u232a\u2769' - u'\u276b\u276d\u276f\u2771\u2773\u2775\u27c6\u27e7\u27e9\u27eb' - u'\u27ed\u27ef\u2984\u2986\u2988\u298a\u298c\u298e\u2990\u2992' - u'\u2994\u2996\u2998\u29d9\u29db\u29fd\u2e23\u2e25\u2e27\u2e29' - u'\u3009\u300b\u300d\u300f\u3011\u3015\u3017\u3019\u301b\u301e' - u'\u301f\ufd3f\ufe18\ufe36\ufe38\ufe3a\ufe3c\ufe3e\ufe40\ufe42' - u'\ufe44\ufe48\ufe5a\ufe5c\ufe5e\uff09\uff3d\uff5d\uff60\uff63' - u'\xbb\u2019\u201d\u203a\u2e03\u2e05\u2e0a\u2e0d\u2e1d\u2e21' - u'\u201b\u201f\xab\u2018\u201c\u2039\u2e02\u2e04\u2e09\u2e0c' - u'\u2e1c\u2e20\u201a\u201e') -delimiters = (u'\\-/:\u058a\xa1\xb7\xbf\u037e\u0387\u055a-\u055f\u0589' - u'\u05be\u05c0\u05c3\u05c6\u05f3\u05f4\u0609\u060a\u060c' - u'\u060d\u061b\u061e\u061f\u066a-\u066d\u06d4\u0700-\u070d' - u'\u07f7-\u07f9\u0830-\u083e\u0964\u0965\u0970\u0df4\u0e4f' - u'\u0e5a\u0e5b\u0f04-\u0f12\u0f85\u0fd0-\u0fd4\u104a-\u104f' - u'\u10fb\u1361-\u1368\u1400\u166d\u166e\u16eb-\u16ed\u1735' - u'\u1736\u17d4-\u17d6\u17d8-\u17da\u1800-\u180a\u1944\u1945' - u'\u19de\u19df\u1a1e\u1a1f\u1aa0-\u1aa6\u1aa8-\u1aad\u1b5a-' - u'\u1b60\u1c3b-\u1c3f\u1c7e\u1c7f\u1cd3\u2010-\u2017\u2020-' - u'\u2027\u2030-\u2038\u203b-\u203e\u2041-\u2043\u2047-' - u'\u2051\u2053\u2055-\u205e\u2cf9-\u2cfc\u2cfe\u2cff\u2e00' - u'\u2e01\u2e06-\u2e08\u2e0b\u2e0e-\u2e1b\u2e1e\u2e1f\u2e2a-' - u'\u2e2e\u2e30\u2e31\u3001-\u3003\u301c\u3030\u303d\u30a0' - u'\u30fb\ua4fe\ua4ff\ua60d-\ua60f\ua673\ua67e\ua6f2-\ua6f7' - u'\ua874-\ua877\ua8ce\ua8cf\ua8f8-\ua8fa\ua92e\ua92f\ua95f' - u'\ua9c1-\ua9cd\ua9de\ua9df\uaa5c-\uaa5f\uaade\uaadf\uabeb' - u'\ufe10-\ufe16\ufe19\ufe30-\ufe32\ufe45\ufe46\ufe49-\ufe4c' - u'\ufe50-\ufe52\ufe54-\ufe58\ufe5f-\ufe61\ufe63\ufe68\ufe6a' - u'\ufe6b\uff01-\uff03\uff05-\uff07\uff0a\uff0c-\uff0f\uff1a' - u'\uff1b\uff1f\uff20\uff3c\uff61\uff64\uff65') +openers = ('"\'(<\\[{\u0f3a\u0f3c\u169b\u2045\u207d\u208d\u2329\u2768' + '\u276a\u276c\u276e\u2770\u2772\u2774\u27c5\u27e6\u27e8\u27ea' + '\u27ec\u27ee\u2983\u2985\u2987\u2989\u298b\u298d\u298f\u2991' + '\u2993\u2995\u2997\u29d8\u29da\u29fc\u2e22\u2e24\u2e26\u2e28' + '\u3008\u300a\u300c\u300e\u3010\u3014\u3016\u3018\u301a\u301d' + '\u301d\ufd3e\ufe17\ufe35\ufe37\ufe39\ufe3b\ufe3d\ufe3f\ufe41' + '\ufe43\ufe47\ufe59\ufe5b\ufe5d\uff08\uff3b\uff5b\uff5f\uff62' + '\xab\u2018\u201c\u2039\u2e02\u2e04\u2e09\u2e0c\u2e1c\u2e20' + '\u201a\u201e\xbb\u2019\u201d\u203a\u2e03\u2e05\u2e0a\u2e0d' + '\u2e1d\u2e21\u201b\u201f') +closers = ('"\')>\\]}\u0f3b\u0f3d\u169c\u2046\u207e\u208e\u232a\u2769' + '\u276b\u276d\u276f\u2771\u2773\u2775\u27c6\u27e7\u27e9\u27eb' + '\u27ed\u27ef\u2984\u2986\u2988\u298a\u298c\u298e\u2990\u2992' + '\u2994\u2996\u2998\u29d9\u29db\u29fd\u2e23\u2e25\u2e27\u2e29' + '\u3009\u300b\u300d\u300f\u3011\u3015\u3017\u3019\u301b\u301e' + '\u301f\ufd3f\ufe18\ufe36\ufe38\ufe3a\ufe3c\ufe3e\ufe40\ufe42' + '\ufe44\ufe48\ufe5a\ufe5c\ufe5e\uff09\uff3d\uff5d\uff60\uff63' + '\xbb\u2019\u201d\u203a\u2e03\u2e05\u2e0a\u2e0d\u2e1d\u2e21' + '\u201b\u201f\xab\u2018\u201c\u2039\u2e02\u2e04\u2e09\u2e0c' + '\u2e1c\u2e20\u201a\u201e') +delimiters = ('\\-/:\u058a\xa1\xb7\xbf\u037e\u0387\u055a-\u055f\u0589' + '\u05be\u05c0\u05c3\u05c6\u05f3\u05f4\u0609\u060a\u060c' + '\u060d\u061b\u061e\u061f\u066a-\u066d\u06d4\u0700-\u070d' + '\u07f7-\u07f9\u0830-\u083e\u0964\u0965\u0970\u0df4\u0e4f' + '\u0e5a\u0e5b\u0f04-\u0f12\u0f85\u0fd0-\u0fd4\u104a-\u104f' + '\u10fb\u1361-\u1368\u1400\u166d\u166e\u16eb-\u16ed\u1735' + '\u1736\u17d4-\u17d6\u17d8-\u17da\u1800-\u180a\u1944\u1945' + '\u19de\u19df\u1a1e\u1a1f\u1aa0-\u1aa6\u1aa8-\u1aad\u1b5a-' + '\u1b60\u1c3b-\u1c3f\u1c7e\u1c7f\u1cd3\u2010-\u2017\u2020-' + '\u2027\u2030-\u2038\u203b-\u203e\u2041-\u2043\u2047-' + '\u2051\u2053\u2055-\u205e\u2cf9-\u2cfc\u2cfe\u2cff\u2e00' + '\u2e01\u2e06-\u2e08\u2e0b\u2e0e-\u2e1b\u2e1e\u2e1f\u2e2a-' + '\u2e2e\u2e30\u2e31\u3001-\u3003\u301c\u3030\u303d\u30a0' + '\u30fb\ua4fe\ua4ff\ua60d-\ua60f\ua673\ua67e\ua6f2-\ua6f7' + '\ua874-\ua877\ua8ce\ua8cf\ua8f8-\ua8fa\ua92e\ua92f\ua95f' + '\ua9c1-\ua9cd\ua9de\ua9df\uaa5c-\uaa5f\uaade\uaadf\uabeb' + '\ufe10-\ufe16\ufe19\ufe30-\ufe32\ufe45\ufe46\ufe49-\ufe4c' + '\ufe50-\ufe52\ufe54-\ufe58\ufe5f-\ufe61\ufe63\ufe68\ufe6a' + '\ufe6b\uff01-\uff03\uff05-\uff07\uff0a\uff0c-\uff0f\uff1a' + '\uff1b\uff1f\uff20\uff3c\uff61\uff64\uff65') if sys.maxunicode >= 0x10FFFF: # "wide" build - delimiters += (u'\U00010100\U00010101\U0001039f\U000103d0\U00010857' - u'\U0001091f\U0001093f\U00010a50-\U00010a58\U00010a7f' - u'\U00010b39-\U00010b3f\U000110bb\U000110bc\U000110be-' - u'\U000110c1\U00012470-\U00012473') -closing_delimiters = u'\\\\.,;!?' + delimiters += ('\U00010100\U00010101\U0001039f\U000103d0\U00010857' + '\U0001091f\U0001093f\U00010a50-\U00010a58\U00010a7f' + '\U00010b39-\U00010b3f\U000110bb\U000110bc\U000110be-' + '\U000110c1\U00012470-\U00012473') +closing_delimiters = '\\\\.,;!?' # Matching open/close quotes # -------------------------- quote_pairs = {# open char: matching closing characters # usage example - u'\xbb': u'\xbb', # » » Swedish - u'\u2018': u'\u201a', # ‘ ‚ Albanian/Greek/Turkish - u'\u2019': u'\u2019', # ’ ’ Swedish - u'\u201a': u'\u2018\u2019', # ‚ ‘ German ‚ ’ Polish - u'\u201c': u'\u201e', # “ „ Albanian/Greek/Turkish - u'\u201e': u'\u201c\u201d', # „ “ German „ ” Polish - u'\u201d': u'\u201d', # ” ” Swedish - u'\u203a': u'\u203a', # › › Swedish + '\xbb': '\xbb', # » » Swedish + '\u2018': '\u201a', # ‘ ‚ Albanian/Greek/Turkish + '\u2019': '\u2019', # ’ ’ Swedish + '\u201a': '\u2018\u2019', # ‚ ‘ German ‚ ’ Polish + '\u201c': '\u201e', # “ „ Albanian/Greek/Turkish + '\u201e': '\u201c\u201d', # „ “ German „ ” Polish + '\u201d': '\u201d', # ” ” Swedish + '\u203a': '\u203a', # › › Swedish } """Additional open/close quote pairs.""" @@ -119,4 +119,4 @@ def match_chars(c1, c2): i = openers.index(c1) except ValueError: # c1 not in openers return False - return c2 == closers[i] or c2 in quote_pairs.get(c1, u'') + return c2 == closers[i] or c2 in quote_pairs.get(c1, '') diff --git a/bin/docutils/utils/punctuation_chars.pyc b/bin/docutils/utils/punctuation_chars.pyc deleted file mode 100644 index 8b12ebb6..00000000 Binary files a/bin/docutils/utils/punctuation_chars.pyc and /dev/null differ diff --git a/bin/docutils/utils/roman.py b/bin/docutils/utils/roman.py index 0335f29f..5ed8b55e 100644 --- a/bin/docutils/utils/roman.py +++ b/bin/docutils/utils/roman.py @@ -40,9 +40,9 @@ class InvalidRomanNumeralError(RomanError): pass def toRoman(n): """convert integer to Roman numeral""" if not (0 < n < 5000): - raise OutOfRangeError, "number out of range (must be 1..4999)" + raise OutOfRangeError("number out of range (must be 1..4999)") if int(n) != n: - raise NotIntegerError, "decimals can not be converted" + raise NotIntegerError("decimals can not be converted") result = "" for numeral, integer in romanNumeralMap: @@ -67,9 +67,9 @@ def toRoman(n): def fromRoman(s): """convert Roman numeral to integer""" if not s: - raise InvalidRomanNumeralError, 'Input can not be blank' + raise InvalidRomanNumeralError('Input can not be blank') if not romanNumeralPattern.search(s): - raise InvalidRomanNumeralError, 'Invalid Roman numeral: %s' % s + raise InvalidRomanNumeralError('Invalid Roman numeral: %s' % s) result = 0 index = 0 diff --git a/bin/docutils/utils/roman.pyc b/bin/docutils/utils/roman.pyc deleted file mode 100644 index b83c2927..00000000 Binary files a/bin/docutils/utils/roman.pyc and /dev/null differ diff --git a/bin/docutils/utils/smartquotes.py b/bin/docutils/utils/smartquotes.py index f7425ef1..7056e022 100644 --- a/bin/docutils/utils/smartquotes.py +++ b/bin/docutils/utils/smartquotes.py @@ -383,10 +383,10 @@ class smartchars(object): """Smart quotes and dashes """ - endash = u'–' # "–" EN DASH - emdash = u'—' # "—" EM DASH - ellipsis = u'…' # "…" HORIZONTAL ELLIPSIS - apostrophe = u'’' # "’" RIGHT SINGLE QUOTATION MARK + endash = '–' # "–" EN DASH + emdash = '—' # "—" EM DASH + ellipsis = '…' # "…" HORIZONTAL ELLIPSIS + apostrophe = '’' # "’" RIGHT SINGLE QUOTATION MARK # quote characters (language-specific, set in __init__()) # [1] http://en.wikipedia.org/wiki/Non-English_usage_of_quotation_marks @@ -405,90 +405,90 @@ class smartchars(object): # smartquote-locales: nl: „“’’, # apostrophe for ``'s Gravenhage`` # nr: se, # alias # fr: « : »:‹ : ›, # :-separated list with NBSPs - quotes = {'af': u'“”‘’', - 'af-x-altquot': u'„”‚’', - 'bg': u'„“‚‘', # Bulgarian, https://bg.wikipedia.org/wiki/Кавички - 'ca': u'«»“”', - 'ca-x-altquot': u'“”‘’', - 'cs': u'„“‚‘', - 'cs-x-altquot': u'»«›‹', - 'da': u'»«›‹', - 'da-x-altquot': u'„“‚‘', + quotes = {'af': '“”‘’', + 'af-x-altquot': '„”‚’', + 'bg': '„“‚‘', # Bulgarian, https://bg.wikipedia.org/wiki/Кавички + 'ca': '«»“”', + 'ca-x-altquot': '“”‘’', + 'cs': '„“‚‘', + 'cs-x-altquot': '»«›‹', + 'da': '»«›‹', + 'da-x-altquot': '„“‚‘', # 'da-x-altquot2': u'””’’', - 'de': u'„“‚‘', - 'de-x-altquot': u'»«›‹', - 'de-ch': u'«»‹›', - 'el': u'«»“”', - 'en': u'“”‘’', - 'en-uk-x-altquot': u'‘’“”', # Attention: " → ‘ and ' → “ ! - 'eo': u'“”‘’', - 'es': u'«»“”', - 'es-x-altquot': u'“”‘’', - 'et': u'„“‚‘', # no secondary quote listed in - 'et-x-altquot': u'«»‹›', # the sources above (wikipedia.org) - 'eu': u'«»‹›', - 'fi': u'””’’', - 'fi-x-altquot': u'»»››', - 'fr': (u'« ', u' »', u'“', u'”'), # full no-break space - 'fr-x-altquot': (u'« ', u' »', u'“', u'”'), # narrow no-break space - 'fr-ch': u'«»‹›', - 'fr-ch-x-altquot': (u'« ', u' »', u'‹ ', u' ›'), # narrow no-break space, http://typoguide.ch/ - 'gl': u'«»“”', - 'he': u'”“»«', # Hebrew is RTL, test position: - 'he-x-altquot': u'„”‚’', # low quotation marks are opening. + 'de': '„“‚‘', + 'de-x-altquot': '»«›‹', + 'de-ch': '«»‹›', + 'el': '«»“”', + 'en': '“”‘’', + 'en-uk-x-altquot': '‘’“”', # Attention: " → ‘ and ' → “ ! + 'eo': '“”‘’', + 'es': '«»“”', + 'es-x-altquot': '“”‘’', + 'et': '„“‚‘', # no secondary quote listed in + 'et-x-altquot': '«»‹›', # the sources above (wikipedia.org) + 'eu': '«»‹›', + 'fi': '””’’', + 'fi-x-altquot': '»»››', + 'fr': ('« ', ' »', '“', '”'), # full no-break space + 'fr-x-altquot': ('« ', ' »', '“', '”'), # narrow no-break space + 'fr-ch': '«»‹›', + 'fr-ch-x-altquot': ('« ', ' »', '‹ ', ' ›'), # narrow no-break space, http://typoguide.ch/ + 'gl': '«»“”', + 'he': '”“»«', # Hebrew is RTL, test position: + 'he-x-altquot': '„”‚’', # low quotation marks are opening. # 'he-x-altquot': u'“„‘‚', # RTL: low quotation marks opening - 'hr': u'„”‘’', # http://hrvatska-tipografija.com/polunavodnici/ - 'hr-x-altquot': u'»«›‹', - 'hsb': u'„“‚‘', - 'hsb-x-altquot':u'»«›‹', - 'hu': u'„”«»', - 'is': u'„“‚‘', - 'it': u'«»“”', - 'it-ch': u'«»‹›', - 'it-x-altquot': u'“”‘’', + 'hr': '„”‘’', # http://hrvatska-tipografija.com/polunavodnici/ + 'hr-x-altquot': '»«›‹', + 'hsb': '„“‚‘', + 'hsb-x-altquot':'»«›‹', + 'hu': '„”«»', + 'is': '„“‚‘', + 'it': '«»“”', + 'it-ch': '«»‹›', + 'it-x-altquot': '“”‘’', # 'it-x-altquot2': u'“„‘‚', # [7] in headlines - 'ja': u'「」『』', - 'lt': u'„“‚‘', - 'lv': u'„“‚‘', - 'mk': u'„“‚‘', # Macedonian, https://mk.wikipedia.org/wiki/Правопис_и_правоговор_на_македонскиот_јазик - 'nl': u'“”‘’', - 'nl-x-altquot': u'„”‚’', + 'ja': '「」『』', + 'lt': '„“‚‘', + 'lv': '„“‚‘', + 'mk': '„“‚‘', # Macedonian, https://mk.wikipedia.org/wiki/Правопис_и_правоговор_на_македонскиот_јазик + 'nl': '“”‘’', + 'nl-x-altquot': '„”‚’', # 'nl-x-altquot2': u'””’’', - 'nb': u'«»’’', # Norsk bokmål (canonical form 'no') - 'nn': u'«»’’', # Nynorsk [10] - 'nn-x-altquot': u'«»‘’', # [8], [10] + 'nb': '«»’’', # Norsk bokmål (canonical form 'no') + 'nn': '«»’’', # Nynorsk [10] + 'nn-x-altquot': '«»‘’', # [8], [10] # 'nn-x-altquot2': u'«»«»', # [9], [10 # 'nn-x-altquot3': u'„“‚‘', # [10] - 'no': u'«»’’', # Norsk bokmål [10] - 'no-x-altquot': u'«»‘’', # [8], [10] + 'no': '«»’’', # Norsk bokmål [10] + 'no-x-altquot': '«»‘’', # [8], [10] # 'no-x-altquot2': u'«»«»', # [9], [10 # 'no-x-altquot3': u'„“‚‘', # [10] - 'pl': u'„”«»', - 'pl-x-altquot': u'«»‚’', + 'pl': '„”«»', + 'pl-x-altquot': '«»‚’', # 'pl-x-altquot2': u'„”‚’', # https://pl.wikipedia.org/wiki/Cudzys%C5%82%C3%B3w - 'pt': u'«»“”', - 'pt-br': u'“”‘’', - 'ro': u'„”«»', - 'ru': u'«»„“', - 'sh': u'„”‚’', # Serbo-Croatian - 'sh-x-altquot': u'»«›‹', - 'sk': u'„“‚‘', # Slovak - 'sk-x-altquot': u'»«›‹', - 'sl': u'„“‚‘', # Slovenian - 'sl-x-altquot': u'»«›‹', - 'sq': u'«»‹›', # Albanian - 'sq-x-altquot': u'“„‘‚', - 'sr': u'„”’’', - 'sr-x-altquot': u'»«›‹', - 'sv': u'””’’', - 'sv-x-altquot': u'»»››', - 'tr': u'“”‘’', - 'tr-x-altquot': u'«»‹›', + 'pt': '«»“”', + 'pt-br': '“”‘’', + 'ro': '„”«»', + 'ru': '«»„“', + 'sh': '„”‚’', # Serbo-Croatian + 'sh-x-altquot': '»«›‹', + 'sk': '„“‚‘', # Slovak + 'sk-x-altquot': '»«›‹', + 'sl': '„“‚‘', # Slovenian + 'sl-x-altquot': '»«›‹', + 'sq': '«»‹›', # Albanian + 'sq-x-altquot': '“„‘‚', + 'sr': '„”’’', + 'sr-x-altquot': '»«›‹', + 'sv': '””’’', + 'sv-x-altquot': '»»››', + 'tr': '“”‘’', + 'tr-x-altquot': '«»‹›', # 'tr-x-altquot2': u'“„‘‚', # [7] antiquated? - 'uk': u'«»„“', - 'uk-x-altquot': u'„“‚‘', - 'zh-cn': u'“”‘’', - 'zh-tw': u'「」『』', + 'uk': '«»„“', + 'uk-x-altquot': '„“‚‘', + 'zh-cn': '“”‘’', + 'zh-tw': '「」『』', } def __init__(self, language='en'): @@ -497,7 +497,7 @@ def __init__(self, language='en'): (self.opquote, self.cpquote, self.osquote, self.csquote) = self.quotes[language.lower()] except KeyError: - self.opquote, self.cpquote, self.osquote, self.csquote = u'""\'\'' + self.opquote, self.cpquote, self.osquote, self.csquote = '""\'\'' def smartyPants(text, attr=default_smartypants_attr, language='en'): @@ -978,14 +978,14 @@ def tokenize(text): if args.doc: print (__doc__) elif args.actionhelp: - print options + print(options) elif args.stylehelp: - print - print "Available styles (primary open/close, secondary open/close)" - print "language tag quotes" - print "============ ======" + print() + print("Available styles (primary open/close, secondary open/close)") + print("language tag quotes") + print("============ ======") for key in sorted(smartchars.quotes.keys()): - print "%-14s %s" % (key, smartchars.quotes[key]) + print("%-14s %s" % (key, smartchars.quotes[key])) elif args.test: # Unit test output goes to stderr. import unittest @@ -993,15 +993,15 @@ def tokenize(text): class TestSmartypantsAllAttributes(unittest.TestCase): # the default attribute is "1", which means "all". def test_dates(self): - self.assertEqual(smartyPants("1440-80's"), u"1440-80’s") - self.assertEqual(smartyPants("1440-'80s"), u"1440-’80s") - self.assertEqual(smartyPants("1440---'80s"), u"1440–’80s") - self.assertEqual(smartyPants("1960's"), u"1960’s") - self.assertEqual(smartyPants("one two '60s"), u"one two ’60s") - self.assertEqual(smartyPants("'60s"), u"’60s") + self.assertEqual(smartyPants("1440-80's"), "1440-80’s") + self.assertEqual(smartyPants("1440-'80s"), "1440-’80s") + self.assertEqual(smartyPants("1440---'80s"), "1440–’80s") + self.assertEqual(smartyPants("1960's"), "1960’s") + self.assertEqual(smartyPants("one two '60s"), "one two ’60s") + self.assertEqual(smartyPants("'60s"), "’60s") def test_educated_quotes(self): - self.assertEqual(smartyPants('"Isn\'t this fun?"'), u'“Isn’t this fun?”') + self.assertEqual(smartyPants('"Isn\'t this fun?"'), '“Isn’t this fun?”') def test_html_tags(self): text = 'more' @@ -1018,5 +1018,5 @@ def test_html_tags(self): else: args.language += '-x-altquot' text = sys.stdin.read().decode(args.encoding) - print smartyPants(text, attr=args.action, - language=args.language).encode(args.encoding) + print(smartyPants(text, attr=args.action, + language=args.language).encode(args.encoding)) diff --git a/bin/docutils/utils/smartquotes.pyc b/bin/docutils/utils/smartquotes.pyc deleted file mode 100644 index ef259a4c..00000000 Binary files a/bin/docutils/utils/smartquotes.pyc and /dev/null differ diff --git a/bin/docutils/utils/urischemes.pyc b/bin/docutils/utils/urischemes.pyc deleted file mode 100644 index df94ccdc..00000000 Binary files a/bin/docutils/utils/urischemes.pyc and /dev/null differ diff --git a/bin/docutils/writers/__init__.pyc b/bin/docutils/writers/__init__.pyc deleted file mode 100644 index 10afe8dd..00000000 Binary files a/bin/docutils/writers/__init__.pyc and /dev/null differ diff --git a/bin/docutils/writers/_html_base.py b/bin/docutils/writers/_html_base.py index f92ddc18..1c827702 100644 --- a/bin/docutils/writers/_html_base.py +++ b/bin/docutils/writers/_html_base.py @@ -20,7 +20,7 @@ import sys import os.path import re -import urllib +import urllib.request, urllib.parse, urllib.error try: # check for the Python Imaging Library import PIL.Image @@ -75,7 +75,7 @@ def translate(self): def apply_template(self): template_file = open(self.document.settings.template, 'rb') - template = unicode(template_file.read(), 'utf-8') + template = str(template_file.read(), 'utf-8') template_file.close() subs = self.interpolation_dict() return template % subs @@ -188,11 +188,11 @@ def depart_example(self, node): in_word_wrap_point = re.compile(r'.+\W\W.+|[-?].+', re.U) lang_attribute = 'lang' # name changes to 'xml:lang' in XHTML 1.1 - special_characters = {ord('&'): u'&', - ord('<'): u'<', - ord('"'): u'"', - ord('>'): u'>', - ord('@'): u'@', # may thwart address harvesters + special_characters = {ord('&'): '&', + ord('<'): '<', + ord('"'): '"', + ord('>'): '>', + ord('@'): '@', # may thwart address harvesters } """Character references for characters with a special meaning in HTML.""" @@ -267,7 +267,7 @@ def encode(self, text): # Use only named entities known in both XML and HTML # other characters are automatically encoded "by number" if required. # @@@ A codec to do these and all other HTML entities would be nice. - text = unicode(text) + text = str(text) return text.translate(self.special_characters) def cloak_mailto(self, uri): @@ -302,8 +302,8 @@ def stylesheet_call(self, path): content = io.FileInput(source_path=path, encoding='utf-8').read() self.settings.record_dependencies.add(path) - except IOError, err: - msg = u"Cannot embed stylesheet '%s': %s." % ( + except IOError as err: + msg = "Cannot embed stylesheet '%s': %s." % ( path, SafeString(err.strerror)) self.document.reporter.error(msg) return '<--- %s --->\n' % msg @@ -323,7 +323,7 @@ def starttag(self, node, tagname, suffix='\n', empty=False, **attributes): prefix = [] atts = {} ids = [] - for (name, value) in attributes.items(): + for (name, value) in list(attributes.items()): atts[name.lower()] = value classes = [] languages = [] @@ -362,7 +362,7 @@ def starttag(self, node, tagname, suffix='\n', empty=False, **attributes): # Non-empty tag. Place the auxiliary tag # *inside* the element, as the first child. suffix += '' % id - attlist = atts.items() + attlist = list(atts.items()) attlist.sort() parts = [tagname] for name, value in attlist: @@ -370,12 +370,12 @@ def starttag(self, node, tagname, suffix='\n', empty=False, **attributes): # value, but this isn't supported by XHTML. assert value is not None if isinstance(value, list): - values = [unicode(v) for v in value] + values = [str(v) for v in value] parts.append('%s="%s"' % (name.lower(), self.attval(' '.join(values)))) else: parts.append('%s="%s"' % (name.lower(), - self.attval(unicode(value)))) + self.attval(str(value)))) if empty: infix = ' /' else: @@ -438,7 +438,7 @@ def visit_admonition(self, node): def depart_admonition(self, node=None): self.body.append('\n') - attribution_formats = {'dash': (u'\u2014', ''), + attribution_formats = {'dash': ('\u2014', ''), 'parentheses': ('(', ')'), 'parens': ('(', ')'), 'none': ('', '')} @@ -874,7 +874,7 @@ def depart_footnote_reference(self, node): def visit_generated(self, node): if 'sectnum' in node['classes']: # get section number (strip trailing no-break-spaces) - sectnum = node.astext().rstrip(u' ') + sectnum = node.astext().rstrip(' ') # print sectnum.encode('utf-8') self.body.append('%s ' % self.encode(sectnum)) @@ -917,7 +917,7 @@ def visit_image(self, node): if 'scale' in node: if (PIL and not ('width' in node and 'height' in node) and self.settings.file_insertion_enabled): - imagepath = urllib.url2pathname(uri) + imagepath = urllib.request.url2pathname(uri) try: img = PIL.Image.open( imagepath.encode(sys.getfilesystemencoding())) @@ -1095,9 +1095,9 @@ def visit_math(self, node, math_env=''): clsarg = self.math_tags[self.math_output][2] # LaTeX container wrappers = {# math_mode: (inline, block) - 'mathml': ('$%s$', u'\\begin{%s}\n%s\n\\end{%s}'), - 'html': ('$%s$', u'\\begin{%s}\n%s\n\\end{%s}'), - 'mathjax': (r'\(%s\)', u'\\begin{%s}\n%s\n\\end{%s}'), + 'mathml': ('$%s$', '\\begin{%s}\n%s\n\\end{%s}'), + 'html': ('$%s$', '\\begin{%s}\n%s\n\\end{%s}'), + 'mathjax': (r'\(%s\)', '\\begin{%s}\n%s\n\\end{%s}'), 'latex': (None, None), } wrapper = wrappers[self.math_output][math_env != ''] @@ -1157,11 +1157,11 @@ def visit_math(self, node, math_env=''): 'with math-output "MathML"') except OSError: raise OSError('is "latexmlmath" in your PATH?') - except SyntaxError, err: + except SyntaxError as err: err_node = self.document.reporter.error(err, base_node=node) self.visit_system_message(err_node) self.body.append(self.starttag(node, 'p')) - self.body.append(u','.join(err.args)) + self.body.append(','.join(err.args)) self.body.append('

\n') self.body.append(self.starttag(node, 'pre', CLASS='literal-block')) @@ -1455,7 +1455,7 @@ def depart_system_message(self, node): # no hard-coded border setting in the table head:: def visit_table(self, node): - classes = [cls.strip(u' \t\n') + classes = [cls.strip(' \t\n') for cls in self.settings.table_style.split(',')] if 'align' in node: classes.append('align-%s' % node['align']) diff --git a/bin/docutils/writers/_html_base.pyc b/bin/docutils/writers/_html_base.pyc deleted file mode 100644 index caf50103..00000000 Binary files a/bin/docutils/writers/_html_base.pyc and /dev/null differ diff --git a/bin/docutils/writers/docutils_xml.py b/bin/docutils/writers/docutils_xml.py index 79f3dbd7..073fc2a8 100644 --- a/bin/docutils/writers/docutils_xml.py +++ b/bin/docutils/writers/docutils_xml.py @@ -25,7 +25,7 @@ xml.__path__.reverse() # If both are available, prefer stdlib over PyXML import xml.sax.saxutils -from StringIO import StringIO +from io import StringIO import docutils from docutils import frontend, writers, nodes @@ -182,11 +182,11 @@ def visit_raw(self, node): self.output.append(xml_string) self.default_departure(node) # or not? # Check validity of raw XML: - if isinstance(xml_string, unicode) and sys.version_info < (3,): + if isinstance(xml_string, str) and sys.version_info < (3,): xml_string = xml_string.encode('utf8') try: self.xmlparser.parse(StringIO(xml_string)) - except xml.sax._exceptions.SAXParseException, error: + except xml.sax._exceptions.SAXParseException as error: col_num = self.the_handle.locator.getColumnNumber() line_num = self.the_handle.locator.getLineNumber() srcline = node.line diff --git a/bin/docutils/writers/docutils_xml.pyc b/bin/docutils/writers/docutils_xml.pyc deleted file mode 100644 index 293c20b0..00000000 Binary files a/bin/docutils/writers/docutils_xml.pyc and /dev/null differ diff --git a/bin/docutils/writers/html4css1/__init__.py b/bin/docutils/writers/html4css1/__init__.py index 567eec8b..f87a1055 100644 --- a/bin/docutils/writers/html4css1/__init__.py +++ b/bin/docutils/writers/html4css1/__init__.py @@ -201,7 +201,7 @@ class HTMLTranslator(writers._html_base.HTMLTranslator): # encode also non-breaking space special_characters = dict(_html_base.HTMLTranslator.special_characters) - special_characters[0xa0] = u' ' + special_characters[0xa0] = ' ' # use character reference for dash (not valid in HTML5) attribution_formats = {'dash': ('—', ''), diff --git a/bin/docutils/writers/html4css1/__init__.pyc b/bin/docutils/writers/html4css1/__init__.pyc deleted file mode 100644 index 7b475e25..00000000 Binary files a/bin/docutils/writers/html4css1/__init__.pyc and /dev/null differ diff --git a/bin/docutils/writers/html5_polyglot/__init__.pyc b/bin/docutils/writers/html5_polyglot/__init__.pyc deleted file mode 100644 index c166eb39..00000000 Binary files a/bin/docutils/writers/html5_polyglot/__init__.pyc and /dev/null differ diff --git a/bin/docutils/writers/latex2e/__init__.py b/bin/docutils/writers/latex2e/__init__.py index b9720d27..a31a4e48 100644 --- a/bin/docutils/writers/latex2e/__init__.py +++ b/bin/docutils/writers/latex2e/__init__.py @@ -18,7 +18,7 @@ import time import re import string -import urllib +import urllib.request, urllib.parse, urllib.error try: import roman except ImportError: @@ -249,7 +249,7 @@ def translate(self): except IOError: template_file = open(os.path.join(self.default_template_path, self.document.settings.template), 'rb') - template = string.Template(unicode(template_file.read(), 'utf-8')) + template = string.Template(str(template_file.read(), 'utf-8')) template_file.close() # fill template self.assemble_parts() # create dictionary of parts @@ -360,7 +360,7 @@ class Babel(object): # zh-Latn: Chinese Pinyin } # normalize (downcase) keys - language_codes = dict([(k.lower(), v) for (k,v) in language_codes.items()]) + language_codes = dict([(k.lower(), v) for (k,v) in list(language_codes.items())]) warn_msg = 'Language "%s" not supported by LaTeX (babel)' @@ -418,7 +418,7 @@ def __call__(self): r' \addto\extrasbasque{\bbl@deactivate{~}}', r'\makeatother']) if (languages[-1] == 'english' and - 'french' in self.otherlanguages.keys()): + 'french' in list(self.otherlanguages.keys())): self.setup += ['% Prevent side-effects if French hyphenation ' 'patterns are not loaded:', r'\frenchbsetup{StandardLayout}', @@ -453,7 +453,7 @@ class SortableDict(dict): """ def sortedkeys(self): """Return sorted list of keys""" - keys = self.keys() + keys = list(self.keys()) keys.sort() return keys @@ -698,165 +698,165 @@ class CharMaps(object): # characters that need escaping even in `alltt` environments: alltt = { - ord('\\'): ur'\textbackslash{}', - ord('{'): ur'\{', - ord('}'): ur'\}', + ord('\\'): r'\textbackslash{}', + ord('{'): r'\{', + ord('}'): r'\}', } # characters that normally need escaping: special = { - ord('#'): ur'\#', - ord('$'): ur'\$', - ord('%'): ur'\%', - ord('&'): ur'\&', - ord('~'): ur'\textasciitilde{}', - ord('_'): ur'\_', - ord('^'): ur'\textasciicircum{}', + ord('#'): r'\#', + ord('$'): r'\$', + ord('%'): r'\%', + ord('&'): r'\&', + ord('~'): r'\textasciitilde{}', + ord('_'): r'\_', + ord('^'): r'\textasciicircum{}', # straight double quotes are 'active' in many languages - ord('"'): ur'\textquotedbl{}', + ord('"'): r'\textquotedbl{}', # Square brackets are ordinary chars and cannot be escaped with '\', # so we put them in a group '{[}'. (Alternative: ensure that all # macros with optional arguments are terminated with {} and text # inside any optional argument is put in a group ``[{text}]``). # Commands with optional args inside an optional arg must be put in a # group, e.g. ``\item[{\hyperref[label]{text}}]``. - ord('['): ur'{[}', - ord(']'): ur'{]}', + ord('['): r'{[}', + ord(']'): r'{]}', # the soft hyphen is unknown in 8-bit text # and not properly handled by XeTeX - 0x00AD: ur'\-', # SOFT HYPHEN + 0x00AD: r'\-', # SOFT HYPHEN } # Unicode chars that are not recognized by LaTeX's utf8 encoding unsupported_unicode = { # TODO: ensure white space also at the beginning of a line? # 0x00A0: ur'\leavevmode\nobreak\vadjust{}~' - 0x2000: ur'\enskip', # EN QUAD - 0x2001: ur'\quad', # EM QUAD - 0x2002: ur'\enskip', # EN SPACE - 0x2003: ur'\quad', # EM SPACE - 0x2008: ur'\,', # PUNCTUATION SPACE    - 0x200b: ur'\hspace{0pt}', # ZERO WIDTH SPACE - 0x202F: ur'\,', # NARROW NO-BREAK SPACE + 0x2000: r'\enskip', # EN QUAD + 0x2001: r'\quad', # EM QUAD + 0x2002: r'\enskip', # EN SPACE + 0x2003: r'\quad', # EM SPACE + 0x2008: r'\,', # PUNCTUATION SPACE    + 0x200b: r'\hspace{0pt}', # ZERO WIDTH SPACE + 0x202F: r'\,', # NARROW NO-BREAK SPACE # 0x02d8: ur'\\u{ }', # BREVE - 0x2011: ur'\hbox{-}', # NON-BREAKING HYPHEN - 0x212b: ur'\AA', # ANGSTROM SIGN - 0x21d4: ur'\ensuremath{\Leftrightarrow}', + 0x2011: r'\hbox{-}', # NON-BREAKING HYPHEN + 0x212b: r'\AA', # ANGSTROM SIGN + 0x21d4: r'\ensuremath{\Leftrightarrow}', # Docutils footnote symbols: - 0x2660: ur'\ensuremath{\spadesuit}', - 0x2663: ur'\ensuremath{\clubsuit}', - 0xfb00: ur'ff', # LATIN SMALL LIGATURE FF - 0xfb01: ur'fi', # LATIN SMALL LIGATURE FI - 0xfb02: ur'fl', # LATIN SMALL LIGATURE FL - 0xfb03: ur'ffi', # LATIN SMALL LIGATURE FFI - 0xfb04: ur'ffl', # LATIN SMALL LIGATURE FFL + 0x2660: r'\ensuremath{\spadesuit}', + 0x2663: r'\ensuremath{\clubsuit}', + 0xfb00: r'ff', # LATIN SMALL LIGATURE FF + 0xfb01: r'fi', # LATIN SMALL LIGATURE FI + 0xfb02: r'fl', # LATIN SMALL LIGATURE FL + 0xfb03: r'ffi', # LATIN SMALL LIGATURE FFI + 0xfb04: r'ffl', # LATIN SMALL LIGATURE FFL } # Unicode chars that are recognized by LaTeX's utf8 encoding utf8_supported_unicode = { - 0x00A0: ur'~', # NO-BREAK SPACE - 0x00AB: ur'\guillemotleft{}', # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK - 0x00bb: ur'\guillemotright{}', # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK - 0x200C: ur'\textcompwordmark{}', # ZERO WIDTH NON-JOINER - 0x2013: ur'\textendash{}', - 0x2014: ur'\textemdash{}', - 0x2018: ur'\textquoteleft{}', - 0x2019: ur'\textquoteright{}', - 0x201A: ur'\quotesinglbase{}', # SINGLE LOW-9 QUOTATION MARK - 0x201C: ur'\textquotedblleft{}', - 0x201D: ur'\textquotedblright{}', - 0x201E: ur'\quotedblbase{}', # DOUBLE LOW-9 QUOTATION MARK - 0x2030: ur'\textperthousand{}', # PER MILLE SIGN - 0x2031: ur'\textpertenthousand{}', # PER TEN THOUSAND SIGN - 0x2039: ur'\guilsinglleft{}', - 0x203A: ur'\guilsinglright{}', - 0x2423: ur'\textvisiblespace{}', # OPEN BOX - 0x2020: ur'\dag{}', - 0x2021: ur'\ddag{}', - 0x2026: ur'\dots{}', - 0x2122: ur'\texttrademark{}', + 0x00A0: r'~', # NO-BREAK SPACE + 0x00AB: r'\guillemotleft{}', # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK + 0x00bb: r'\guillemotright{}', # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK + 0x200C: r'\textcompwordmark{}', # ZERO WIDTH NON-JOINER + 0x2013: r'\textendash{}', + 0x2014: r'\textemdash{}', + 0x2018: r'\textquoteleft{}', + 0x2019: r'\textquoteright{}', + 0x201A: r'\quotesinglbase{}', # SINGLE LOW-9 QUOTATION MARK + 0x201C: r'\textquotedblleft{}', + 0x201D: r'\textquotedblright{}', + 0x201E: r'\quotedblbase{}', # DOUBLE LOW-9 QUOTATION MARK + 0x2030: r'\textperthousand{}', # PER MILLE SIGN + 0x2031: r'\textpertenthousand{}', # PER TEN THOUSAND SIGN + 0x2039: r'\guilsinglleft{}', + 0x203A: r'\guilsinglright{}', + 0x2423: r'\textvisiblespace{}', # OPEN BOX + 0x2020: r'\dag{}', + 0x2021: r'\ddag{}', + 0x2026: r'\dots{}', + 0x2122: r'\texttrademark{}', } # recognized with 'utf8', if textcomp is loaded textcomp = { # Latin-1 Supplement - 0x00a2: ur'\textcent{}', # ¢ CENT SIGN - 0x00a4: ur'\textcurrency{}', # ¤ CURRENCY SYMBOL - 0x00a5: ur'\textyen{}', # ¥ YEN SIGN - 0x00a6: ur'\textbrokenbar{}', # ¦ BROKEN BAR - 0x00a7: ur'\textsection{}', # § SECTION SIGN - 0x00a8: ur'\textasciidieresis{}', # ¨ DIAERESIS - 0x00a9: ur'\textcopyright{}', # © COPYRIGHT SIGN - 0x00aa: ur'\textordfeminine{}', # ª FEMININE ORDINAL INDICATOR - 0x00ac: ur'\textlnot{}', # ¬ NOT SIGN - 0x00ae: ur'\textregistered{}', # ® REGISTERED SIGN - 0x00af: ur'\textasciimacron{}', # ¯ MACRON - 0x00b0: ur'\textdegree{}', # ° DEGREE SIGN - 0x00b1: ur'\textpm{}', # ± PLUS-MINUS SIGN - 0x00b2: ur'\texttwosuperior{}', # ² SUPERSCRIPT TWO - 0x00b3: ur'\textthreesuperior{}', # ³ SUPERSCRIPT THREE - 0x00b4: ur'\textasciiacute{}', # ´ ACUTE ACCENT - 0x00b5: ur'\textmu{}', # µ MICRO SIGN - 0x00b6: ur'\textparagraph{}', # ¶ PILCROW SIGN # != \textpilcrow - 0x00b9: ur'\textonesuperior{}', # ¹ SUPERSCRIPT ONE - 0x00ba: ur'\textordmasculine{}', # º MASCULINE ORDINAL INDICATOR - 0x00bc: ur'\textonequarter{}', # 1/4 FRACTION - 0x00bd: ur'\textonehalf{}', # 1/2 FRACTION - 0x00be: ur'\textthreequarters{}', # 3/4 FRACTION - 0x00d7: ur'\texttimes{}', # × MULTIPLICATION SIGN - 0x00f7: ur'\textdiv{}', # ÷ DIVISION SIGN + 0x00a2: r'\textcent{}', # ¢ CENT SIGN + 0x00a4: r'\textcurrency{}', # ¤ CURRENCY SYMBOL + 0x00a5: r'\textyen{}', # ¥ YEN SIGN + 0x00a6: r'\textbrokenbar{}', # ¦ BROKEN BAR + 0x00a7: r'\textsection{}', # § SECTION SIGN + 0x00a8: r'\textasciidieresis{}', # ¨ DIAERESIS + 0x00a9: r'\textcopyright{}', # © COPYRIGHT SIGN + 0x00aa: r'\textordfeminine{}', # ª FEMININE ORDINAL INDICATOR + 0x00ac: r'\textlnot{}', # ¬ NOT SIGN + 0x00ae: r'\textregistered{}', # ® REGISTERED SIGN + 0x00af: r'\textasciimacron{}', # ¯ MACRON + 0x00b0: r'\textdegree{}', # ° DEGREE SIGN + 0x00b1: r'\textpm{}', # ± PLUS-MINUS SIGN + 0x00b2: r'\texttwosuperior{}', # ² SUPERSCRIPT TWO + 0x00b3: r'\textthreesuperior{}', # ³ SUPERSCRIPT THREE + 0x00b4: r'\textasciiacute{}', # ´ ACUTE ACCENT + 0x00b5: r'\textmu{}', # µ MICRO SIGN + 0x00b6: r'\textparagraph{}', # ¶ PILCROW SIGN # != \textpilcrow + 0x00b9: r'\textonesuperior{}', # ¹ SUPERSCRIPT ONE + 0x00ba: r'\textordmasculine{}', # º MASCULINE ORDINAL INDICATOR + 0x00bc: r'\textonequarter{}', # 1/4 FRACTION + 0x00bd: r'\textonehalf{}', # 1/2 FRACTION + 0x00be: r'\textthreequarters{}', # 3/4 FRACTION + 0x00d7: r'\texttimes{}', # × MULTIPLICATION SIGN + 0x00f7: r'\textdiv{}', # ÷ DIVISION SIGN # others - 0x0192: ur'\textflorin{}', # LATIN SMALL LETTER F WITH HOOK - 0x02b9: ur'\textasciiacute{}', # MODIFIER LETTER PRIME - 0x02ba: ur'\textacutedbl{}', # MODIFIER LETTER DOUBLE PRIME - 0x2016: ur'\textbardbl{}', # DOUBLE VERTICAL LINE - 0x2022: ur'\textbullet{}', # BULLET - 0x2032: ur'\textasciiacute{}', # PRIME - 0x2033: ur'\textacutedbl{}', # DOUBLE PRIME - 0x2035: ur'\textasciigrave{}', # REVERSED PRIME - 0x2036: ur'\textgravedbl{}', # REVERSED DOUBLE PRIME - 0x203b: ur'\textreferencemark{}', # REFERENCE MARK - 0x203d: ur'\textinterrobang{}', # INTERROBANG - 0x2044: ur'\textfractionsolidus{}', # FRACTION SLASH - 0x2045: ur'\textlquill{}', # LEFT SQUARE BRACKET WITH QUILL - 0x2046: ur'\textrquill{}', # RIGHT SQUARE BRACKET WITH QUILL - 0x2052: ur'\textdiscount{}', # COMMERCIAL MINUS SIGN - 0x20a1: ur'\textcolonmonetary{}', # COLON SIGN - 0x20a3: ur'\textfrenchfranc{}', # FRENCH FRANC SIGN - 0x20a4: ur'\textlira{}', # LIRA SIGN - 0x20a6: ur'\textnaira{}', # NAIRA SIGN - 0x20a9: ur'\textwon{}', # WON SIGN - 0x20ab: ur'\textdong{}', # DONG SIGN - 0x20ac: ur'\texteuro{}', # EURO SIGN - 0x20b1: ur'\textpeso{}', # PESO SIGN - 0x20b2: ur'\textguarani{}', # GUARANI SIGN - 0x2103: ur'\textcelsius{}', # DEGREE CELSIUS - 0x2116: ur'\textnumero{}', # NUMERO SIGN - 0x2117: ur'\textcircledP{}', # SOUND RECORDING COYRIGHT - 0x211e: ur'\textrecipe{}', # PRESCRIPTION TAKE - 0x2120: ur'\textservicemark{}', # SERVICE MARK - 0x2122: ur'\texttrademark{}', # TRADE MARK SIGN - 0x2126: ur'\textohm{}', # OHM SIGN - 0x2127: ur'\textmho{}', # INVERTED OHM SIGN - 0x212e: ur'\textestimated{}', # ESTIMATED SYMBOL - 0x2190: ur'\textleftarrow{}', # LEFTWARDS ARROW - 0x2191: ur'\textuparrow{}', # UPWARDS ARROW - 0x2192: ur'\textrightarrow{}', # RIGHTWARDS ARROW - 0x2193: ur'\textdownarrow{}', # DOWNWARDS ARROW - 0x2212: ur'\textminus{}', # MINUS SIGN - 0x2217: ur'\textasteriskcentered{}', # ASTERISK OPERATOR - 0x221a: ur'\textsurd{}', # SQUARE ROOT - 0x2422: ur'\textblank{}', # BLANK SYMBOL - 0x25e6: ur'\textopenbullet{}', # WHITE BULLET - 0x25ef: ur'\textbigcircle{}', # LARGE CIRCLE - 0x266a: ur'\textmusicalnote{}', # EIGHTH NOTE - 0x26ad: ur'\textmarried{}', # MARRIAGE SYMBOL - 0x26ae: ur'\textdivorced{}', # DIVORCE SYMBOL - 0x27e8: ur'\textlangle{}', # MATHEMATICAL LEFT ANGLE BRACKET - 0x27e9: ur'\textrangle{}', # MATHEMATICAL RIGHT ANGLE BRACKET + 0x0192: r'\textflorin{}', # LATIN SMALL LETTER F WITH HOOK + 0x02b9: r'\textasciiacute{}', # MODIFIER LETTER PRIME + 0x02ba: r'\textacutedbl{}', # MODIFIER LETTER DOUBLE PRIME + 0x2016: r'\textbardbl{}', # DOUBLE VERTICAL LINE + 0x2022: r'\textbullet{}', # BULLET + 0x2032: r'\textasciiacute{}', # PRIME + 0x2033: r'\textacutedbl{}', # DOUBLE PRIME + 0x2035: r'\textasciigrave{}', # REVERSED PRIME + 0x2036: r'\textgravedbl{}', # REVERSED DOUBLE PRIME + 0x203b: r'\textreferencemark{}', # REFERENCE MARK + 0x203d: r'\textinterrobang{}', # INTERROBANG + 0x2044: r'\textfractionsolidus{}', # FRACTION SLASH + 0x2045: r'\textlquill{}', # LEFT SQUARE BRACKET WITH QUILL + 0x2046: r'\textrquill{}', # RIGHT SQUARE BRACKET WITH QUILL + 0x2052: r'\textdiscount{}', # COMMERCIAL MINUS SIGN + 0x20a1: r'\textcolonmonetary{}', # COLON SIGN + 0x20a3: r'\textfrenchfranc{}', # FRENCH FRANC SIGN + 0x20a4: r'\textlira{}', # LIRA SIGN + 0x20a6: r'\textnaira{}', # NAIRA SIGN + 0x20a9: r'\textwon{}', # WON SIGN + 0x20ab: r'\textdong{}', # DONG SIGN + 0x20ac: r'\texteuro{}', # EURO SIGN + 0x20b1: r'\textpeso{}', # PESO SIGN + 0x20b2: r'\textguarani{}', # GUARANI SIGN + 0x2103: r'\textcelsius{}', # DEGREE CELSIUS + 0x2116: r'\textnumero{}', # NUMERO SIGN + 0x2117: r'\textcircledP{}', # SOUND RECORDING COYRIGHT + 0x211e: r'\textrecipe{}', # PRESCRIPTION TAKE + 0x2120: r'\textservicemark{}', # SERVICE MARK + 0x2122: r'\texttrademark{}', # TRADE MARK SIGN + 0x2126: r'\textohm{}', # OHM SIGN + 0x2127: r'\textmho{}', # INVERTED OHM SIGN + 0x212e: r'\textestimated{}', # ESTIMATED SYMBOL + 0x2190: r'\textleftarrow{}', # LEFTWARDS ARROW + 0x2191: r'\textuparrow{}', # UPWARDS ARROW + 0x2192: r'\textrightarrow{}', # RIGHTWARDS ARROW + 0x2193: r'\textdownarrow{}', # DOWNWARDS ARROW + 0x2212: r'\textminus{}', # MINUS SIGN + 0x2217: r'\textasteriskcentered{}', # ASTERISK OPERATOR + 0x221a: r'\textsurd{}', # SQUARE ROOT + 0x2422: r'\textblank{}', # BLANK SYMBOL + 0x25e6: r'\textopenbullet{}', # WHITE BULLET + 0x25ef: r'\textbigcircle{}', # LARGE CIRCLE + 0x266a: r'\textmusicalnote{}', # EIGHTH NOTE + 0x26ad: r'\textmarried{}', # MARRIAGE SYMBOL + 0x26ae: r'\textdivorced{}', # DIVORCE SYMBOL + 0x27e8: r'\textlangle{}', # MATHEMATICAL LEFT ANGLE BRACKET + 0x27e9: r'\textrangle{}', # MATHEMATICAL RIGHT ANGLE BRACKET } # Unicode chars that require a feature/package to render pifont = { - 0x2665: ur'\ding{170}', # black heartsuit - 0x2666: ur'\ding{169}', # black diamondsuit - 0x2713: ur'\ding{51}', # check mark - 0x2717: ur'\ding{55}', # check mark + 0x2665: r'\ding{170}', # black heartsuit + 0x2666: r'\ding{169}', # black diamondsuit + 0x2713: r'\ding{51}', # check mark + 0x2717: r'\ding{55}', # check mark } # TODO: greek alphabet ... ? # see also LaTeX codec @@ -1229,7 +1229,7 @@ def __init__(self, document, babel_class=Babel): d_options = [self.settings.documentoptions] if self.babel.language not in ('english', ''): d_options.append(self.babel.language) - self.documentoptions = ','.join(filter(None, d_options)) + self.documentoptions = ','.join([_f for _f in d_options if _f]) self.d_class = DocumentClass(settings.documentclass, settings.use_part_section) # graphic package options: @@ -1413,8 +1413,8 @@ def stylesheet_call(self, path): content = io.FileInput(source_path=path, encoding='utf-8').read() self.settings.record_dependencies.add(path) - except IOError, err: - msg = u"Cannot embed stylesheet '%s':\n %s." % ( + except IOError as err: + msg = "Cannot embed stylesheet '%s':\n %s." % ( path, SafeString(err.strerror)) self.document.reporter.error(msg) return '% ' + msg.replace('\n', '\n% ') @@ -1501,18 +1501,18 @@ def encode(self, text): if self.literal: # replace underscore by underlined blank, # because this has correct width. - table[ord('_')] = u'\\underline{~}' + table[ord('_')] = '\\underline{~}' # the backslash doesn't work, so we use a mirrored slash. # \reflectbox is provided by graphicx: self.requirements['graphicx'] = self.graphicx_package - table[ord('\\')] = ur'\reflectbox{/}' + table[ord('\\')] = r'\reflectbox{/}' # * ``< | >`` come out as different chars (except for cmtt): else: - table[ord('|')] = ur'\textbar{}' - table[ord('<')] = ur'\textless{}' - table[ord('>')] = ur'\textgreater{}' + table[ord('|')] = r'\textbar{}' + table[ord('<')] = r'\textless{}' + table[ord('>')] = r'\textgreater{}' if self.insert_non_breaking_blanks: - table[ord(' ')] = ur'~' + table[ord(' ')] = r'~' # Unicode replacements for 8-bit tex engines (not required with XeTeX/LuaTeX): if not self.is_xetex: if not self.latex_encoding.startswith('utf8'): @@ -2366,7 +2366,7 @@ def visit_image(self, node): self.requirements['graphicx'] = self.graphicx_package attrs = node.attributes # Convert image URI to a local file path - imagepath = urllib.url2pathname(attrs['uri']).replace('\\', '/') + imagepath = urllib.request.url2pathname(attrs['uri']).replace('\\', '/') # alignment defaults: if not 'align' in attrs: # Set default align of image in a figure to 'center' @@ -2595,11 +2595,11 @@ def visit_math(self, node, math_env='$'): math_code = '\n'.join([math_code] + self.ids_to_labels(node)) if math_env == '$': if self.alltt: - wrapper = ur'\(%s\)' + wrapper = r'\(%s\)' else: - wrapper = u'$%s$' + wrapper = '$%s$' else: - wrapper = u'\n'.join(['%%', + wrapper = '\n'.join(['%%', r'\begin{%s}' % math_env, '%s', r'\end{%s}' % math_env]) @@ -2747,13 +2747,13 @@ def has_unbalanced_braces(self, string): def visit_reference(self, node): # We need to escape #, \, and % if we use the URL in a command. - special_chars = {ord('#'): ur'\#', - ord('%'): ur'\%', - ord('\\'): ur'\\', + special_chars = {ord('#'): r'\#', + ord('%'): r'\%', + ord('\\'): r'\\', } # external reference (URL) if 'refuri' in node: - href = unicode(node['refuri']).translate(special_chars) + href = str(node['refuri']).translate(special_chars) # problematic chars double caret and unbalanced braces: if href.find('^^') != -1 or self.has_unbalanced_braces(href): self.error( @@ -2821,7 +2821,7 @@ def depart_sidebar(self, node): self.out.append('}\n') self.duclass_close(node) - attribution_formats = {'dash': (u'—', ''), # EM DASH + attribution_formats = {'dash': ('—', ''), # EM DASH 'parentheses': ('(', ')'), 'parens': ('(', ')'), 'none': ('', '')} diff --git a/bin/docutils/writers/latex2e/__init__.pyc b/bin/docutils/writers/latex2e/__init__.pyc deleted file mode 100644 index 16f1d0eb..00000000 Binary files a/bin/docutils/writers/latex2e/__init__.pyc and /dev/null differ diff --git a/bin/docutils/writers/manpage.py b/bin/docutils/writers/manpage.py index 287c6f2f..2e3e9a9f 100644 --- a/bin/docutils/writers/manpage.py +++ b/bin/docutils/writers/manpage.py @@ -255,7 +255,7 @@ def astext(self): # ensure we get a ".TH" as viewers require it. self.append_header() # filter body - for i in xrange(len(self.body)-1, 0, -1): + for i in range(len(self.body)-1, 0, -1): # remove superfluous vertical gaps. if self.body[i] == '.sp\n': if self.body[i - 1][:4] in ('.BI ','.IP '): @@ -272,18 +272,18 @@ def astext(self): return ''.join(self.head + self.body + self.foot) def deunicode(self, text): - text = text.replace(u'\xa0', '\\ ') - text = text.replace(u'\u2020', '\\(dg') + text = text.replace('\xa0', '\\ ') + text = text.replace('\u2020', '\\(dg') return text def visit_Text(self, node): text = node.astext() text = text.replace('\\','\\e') replace_pairs = [ - (u'-', ur'\-'), - (u'\'', ur'\(aq'), - (u'´', ur'\''), - (u'`', ur'\(ga'), + ('-', r'\-'), + ('\'', r'\(aq'), + ('´', r'\''), + ('`', r'\(ga'), ] for (in_char, out_markup) in replace_pairs: text = text.replace(in_char, out_markup) @@ -308,7 +308,7 @@ class enum_char(object): def __init__(self, style): self._style = style - if node.has_key('start'): + if 'start' in node: self._cnt = node['start'] - 1 else: self._cnt = 0 @@ -327,7 +327,7 @@ def __init__(self, style): elif style.endswith('roman'): self._indent = 5 - def next(self): + def __next__(self): if self._style == 'bullet': return self.enum_style[self._style] elif self._style == 'emdash': @@ -350,7 +350,7 @@ def get_width(self): def __repr__(self): return 'enum_style-%s' % list(self._style) - if node.has_key('enumtype'): + if 'enumtype' in node: self._list_char.append(enum_char(node['enumtype'])) else: self._list_char.append(enum_char('bullet')) @@ -711,7 +711,7 @@ def depart_generated(self, node): pass def visit_header(self, node): - raise NotImplementedError, node.astext() + raise NotImplementedError(node.astext()) def depart_header(self, node): pass @@ -808,7 +808,7 @@ def depart_line(self, node): def visit_list_item(self, node): # man 7 man argues to use ".IP" instead of ".TP" self.body.append('.IP %s %d\n' % ( - self._list_char[-1].next(), + next(self._list_char[-1]), self._list_char[-1].get_width(),)) def depart_list_item(self, node): @@ -851,7 +851,7 @@ def depart_math_block(self, node): self.depart_literal_block(node) def visit_meta(self, node): - raise NotImplementedError, node.astext() + raise NotImplementedError(node.astext()) def depart_meta(self, node): pass diff --git a/bin/docutils/writers/manpage.pyc b/bin/docutils/writers/manpage.pyc deleted file mode 100644 index c7185180..00000000 Binary files a/bin/docutils/writers/manpage.pyc and /dev/null differ diff --git a/bin/docutils/writers/null.pyc b/bin/docutils/writers/null.pyc deleted file mode 100644 index 325a4e5c..00000000 Binary files a/bin/docutils/writers/null.pyc and /dev/null differ diff --git a/bin/docutils/writers/odf_odt/__init__.py b/bin/docutils/writers/odf_odt/__init__.py index efe7967d..e55d5264 100644 --- a/bin/docutils/writers/odf_odt/__init__.py +++ b/bin/docutils/writers/odf_odt/__init__.py @@ -20,9 +20,9 @@ from xml.dom import minidom import time import re -import StringIO +import io import copy -import urllib2 +import urllib.request, urllib.error, urllib.parse import itertools import docutils try: @@ -41,18 +41,18 @@ #from lxml import etree #WhichElementTree = 'lxml' raise ImportError('Ignoring lxml') -except ImportError, e: +except ImportError as e: try: # 2. Try to use ElementTree from the Python standard library. from xml.etree import ElementTree as etree WhichElementTree = 'elementtree' - except ImportError, e: + except ImportError as e: try: # 3. Try to use a version of ElementTree installed as a separate # product. from elementtree import ElementTree as etree WhichElementTree = 'elementtree' - except ImportError, e: + except ImportError as e: s1 = 'Must install either a version of Python containing ' \ 'ElementTree (Python version >=2.5) or install ElementTree.' raise ImportError(s1) @@ -62,9 +62,9 @@ try: import pygments import pygments.lexers - from pygmentsformatter import OdtPygmentsProgFormatter, \ + from .pygmentsformatter import OdtPygmentsProgFormatter, \ OdtPygmentsLaTeXFormatter -except (ImportError, SyntaxError), exp: +except (ImportError, SyntaxError) as exp: pygments = None # check for the Python Imaging Library @@ -299,7 +299,7 @@ def SubElement(parent, tag, attrib=None, nsmap=None, nsdict=CNSD): def fix_ns(tag, attrib, nsdict): nstag = add_ns(tag, nsdict) nsattrib = {} - for key, val in attrib.iteritems(): + for key, val in attrib.items(): nskey = add_ns(key, nsdict) nsattrib[nskey] = val return nstag, nsattrib @@ -309,12 +309,12 @@ def add_ns(tag, nsdict=CNSD): nstag, name = tag.split(':') ns = nsdict.get(nstag) if ns is None: - raise RuntimeError, 'Invalid namespace prefix: %s' % nstag + raise RuntimeError('Invalid namespace prefix: %s' % nstag) tag = '{%s}%s' % (ns, name,) return tag def ToString(et): - outstream = StringIO.StringIO() + outstream = io.StringIO() if sys.version_info >= (3, 2): et.write(outstream, encoding="unicode") else: @@ -683,7 +683,7 @@ def write_zip_str( localtime = time.localtime(time.time()) zinfo = zipfile.ZipInfo(name, localtime) # Add some standard UNIX file access permissions (-rw-r--r--). - zinfo.external_attr = (0x81a4 & 0xFFFF) << 16L + zinfo.external_attr = (0x81a4 & 0xFFFF) << 16 zinfo.compress_type = compress_type zfile.writestr(zinfo, bytes) @@ -694,7 +694,7 @@ def store_embedded_files(self, zfile): continue try: zfile.write(source, destination) - except OSError, e: + except OSError as e: self.document.reporter.warning( "Can't open file %s." % (source, )) @@ -895,7 +895,7 @@ def __init__(self, document): document.reporter) self.format_map = {} if self.settings.odf_config_file: - from ConfigParser import ConfigParser + from configparser import ConfigParser parser = ConfigParser() parser.read(self.settings.odf_config_file) @@ -995,7 +995,7 @@ def retrieve_styles(self, extension): s2 = zfile.read('content.xml') zfile.close() else: - raise RuntimeError, 'stylesheet path (%s) must be %s or .xml file' %(stylespath, extension) + raise RuntimeError('stylesheet path (%s) must be %s or .xml file' %(stylespath, extension)) self.str_stylesheet = s1 self.str_stylesheetcontent = s2 self.dom_stylesheet = etree.fromstring(self.str_stylesheet) @@ -1118,13 +1118,13 @@ def get_dom_stylesheet(self): def setup_paper(self, root_el): try: fin = os.popen("paperconf -s 2> /dev/null") - w, h = map(float, fin.read().split()) + w, h = list(map(float, fin.read().split())) fin.close() except: w, h = 612, 792 # default to Letter def walk(el): if el.tag == "{%s}page-layout-properties" % SNSD["style"] and \ - not el.attrib.has_key("{%s}page-width" % SNSD["fo"]): + "{%s}page-width" % SNSD["fo"] not in el.attrib: el.attrib["{%s}page-width" % SNSD["fo"]] = "%.3fpt" % w el.attrib["{%s}page-height" % SNSD["fo"]] = "%.3fpt" % h el.attrib["{%s}margin-left" % SNSD["fo"]] = \ @@ -1187,7 +1187,7 @@ def add_header_footer(self, root_el): elcustom = self.create_custom_headfoot(el2, self.settings.custom_footer, 'footer', automatic_styles) - code_none, code_field, code_text = range(3) + code_none, code_field, code_text = list(range(3)) field_pat = re.compile(r'%(..?)%') def create_custom_headfoot(self, parent, text, style_name, automatic_styles): @@ -1203,12 +1203,12 @@ def create_custom_headfoot(self, parent, text, style_name, automatic_styles): 'd1', 'd2', 'd3', 'd4', 'd5', 's', 't', 'a'): msg = 'bad field spec: %%%s%%' % (item[1], ) - raise RuntimeError, msg + raise RuntimeError(msg) el1 = self.make_field_element(parent, item[1], style_name, automatic_styles) if el1 is None: msg = 'bad field spec: %%%s%%' % (item[1], ) - raise RuntimeError, msg + raise RuntimeError(msg) else: current_element = el1 else: @@ -1581,7 +1581,7 @@ def generate_labeled_line(self, node, label): return el def encode(self, text): - text = text.replace(u'\u00a0', " ") + text = text.replace('\u00a0', " ") return text # @@ -1735,7 +1735,7 @@ def visit_bullet_list(self, node): if self.settings.generate_oowriter_toc: pass else: - if node.has_key('classes') and \ + if 'classes' in node and \ 'auto-toc' in node.attributes['classes']: el = SubElement(self.current_element, 'text:list', attrib={ 'text:style-name': self.rststyle('tocenumlist'), @@ -2184,7 +2184,7 @@ def visit_image(self, node): destination = 'Pictures/1%08x%s' % (self.image_count, filename, ) if source.startswith('http:') or source.startswith('https:'): try: - imgfile = urllib2.urlopen(source) + imgfile = urllib.request.urlopen(source) content = imgfile.read() imgfile.close() imgfile2 = tempfile.NamedTemporaryFile('wb', delete=False) @@ -2192,7 +2192,7 @@ def visit_image(self, node): imgfile2.close() imgfilename = imgfile2.name source = imgfilename - except urllib2.HTTPError, e: + except urllib.error.HTTPError as e: self.document.reporter.warning( "Can't open image url %s." % (source, )) spec = (source, destination,) @@ -2239,7 +2239,7 @@ def get_image_width_height(self, node, attr): unit = '%' else: size, unit = convert_to_cm(size) - except ValueError, exp: + except ValueError as exp: self.document.reporter.warning( 'Invalid %s for image: "%s". ' 'Error: "%s".' % ( @@ -2358,7 +2358,7 @@ def get_page_width(self): page_width, _ = self.convert_to_cm(page_width) margin_left, _ = self.convert_to_cm(margin_left) margin_right, _ = self.convert_to_cm(margin_right) - except ValueError, exp: + except ValueError as exp: self.document.reporter.warning( 'Stylesheet file contains invalid page width ' 'or margin size.') @@ -2408,7 +2408,7 @@ def generate_figure(self, node, source, destination, current_element): el2 = SubElement(el1, 'style:text-properties', attrib=attrib, nsdict=SNSD) style_name = 'rstframestyle%d' % self.image_style_count - draw_name = 'graphics%d' % IMAGE_NAME_COUNTER.next() + draw_name = 'graphics%d' % next(IMAGE_NAME_COUNTER) # Add the styles attrib = { 'style:name': style_name, @@ -2513,7 +2513,7 @@ def generate_image(self, node, source, destination, current_element, attrib['style:wrap'] = 'none' el2 = SubElement(el1, 'style:graphic-properties', attrib=attrib, nsdict=SNSD) - draw_name = 'graphics%d' % IMAGE_NAME_COUNTER.next() + draw_name = 'graphics%d' % next(IMAGE_NAME_COUNTER) # Add the content. #el = SubElement(current_element, 'text:p', # attrib={'text:style-name': self.rststyle('textbody')}) @@ -2906,7 +2906,7 @@ def visit_raw(self, node): if 'odt' in formatlist: rawstr = node.astext() attrstr = ' '.join(['%s="%s"' % (k, v, ) - for k,v in CONTENT_NAMESPACE_ATTRIB.items()]) + for k,v in list(CONTENT_NAMESPACE_ATTRIB.items())]) contentstr = '%s' % (attrstr, rawstr, ) if WhichElementTree != "lxml": contentstr = contentstr.encode("utf-8") @@ -2933,7 +2933,7 @@ def depart_raw(self, node): def visit_reference(self, node): text = node.astext() if self.settings.create_links: - if node.has_key('refuri'): + if 'refuri' in node: href = node['refuri'] if ( self.settings.cloak_email_addresses and href.startswith('mailto:')): @@ -2943,7 +2943,7 @@ def visit_reference(self, node): 'xlink:type': 'simple', }) self.set_current_element(el) - elif node.has_key('refid'): + elif 'refid' in node: if self.settings.create_links: href = node['refid'] el = self.append_child('text:reference-ref', attrib={ @@ -2960,7 +2960,7 @@ def visit_reference(self, node): def depart_reference(self, node): if self.settings.create_links: - if node.has_key('refuri'): + if 'refuri' in node: self.set_to_parent() def visit_rubric(self, node): @@ -3208,8 +3208,8 @@ def visit_target(self, node): # # I don't know how to implement targets in ODF. # How do we create a target in oowriter? A cross-reference? - if not (node.has_key('refuri') or node.has_key('refid') - or node.has_key('refname')): + if not ('refuri' in node or 'refid' in node + or 'refname' in node): pass else: pass diff --git a/bin/docutils/writers/odf_odt/__init__.pyc b/bin/docutils/writers/odf_odt/__init__.pyc deleted file mode 100644 index 41070459..00000000 Binary files a/bin/docutils/writers/odf_odt/__init__.pyc and /dev/null differ diff --git a/bin/docutils/writers/odf_odt/pygmentsformatter.pyc b/bin/docutils/writers/odf_odt/pygmentsformatter.pyc deleted file mode 100644 index 9eee2082..00000000 Binary files a/bin/docutils/writers/odf_odt/pygmentsformatter.pyc and /dev/null differ diff --git a/bin/docutils/writers/pep_html/__init__.pyc b/bin/docutils/writers/pep_html/__init__.pyc deleted file mode 100644 index f05c8bc6..00000000 Binary files a/bin/docutils/writers/pep_html/__init__.pyc and /dev/null differ diff --git a/bin/docutils/writers/pseudoxml.pyc b/bin/docutils/writers/pseudoxml.pyc deleted file mode 100644 index 2a9200e7..00000000 Binary files a/bin/docutils/writers/pseudoxml.pyc and /dev/null differ diff --git a/bin/docutils/writers/s5_html/__init__.py b/bin/docutils/writers/s5_html/__init__.py index 411e5625..a63bb6a1 100644 --- a/bin/docutils/writers/s5_html/__init__.py +++ b/bin/docutils/writers/s5_html/__init__.py @@ -237,7 +237,7 @@ def copy_theme(self): if len(required_files_copied) != len(self.required_theme_files): # Some required files weren't found & couldn't be copied. required = list(self.required_theme_files) - for f in required_files_copied.keys(): + for f in list(required_files_copied.keys()): required.remove(f) raise docutils.ApplicationError( 'Theme files not found: %s' diff --git a/bin/docutils/writers/s5_html/__init__.pyc b/bin/docutils/writers/s5_html/__init__.pyc deleted file mode 100644 index 06b611dd..00000000 Binary files a/bin/docutils/writers/s5_html/__init__.pyc and /dev/null differ diff --git a/bin/docutils/writers/xetex/__init__.py b/bin/docutils/writers/xetex/__init__.py index 1c82059b..ebb21aa7 100644 --- a/bin/docutils/writers/xetex/__init__.py +++ b/bin/docutils/writers/xetex/__init__.py @@ -93,7 +93,7 @@ class Babel(latex2e.Babel): # zh-Latn: ??? # Chinese Pinyin }) # normalize (downcase) keys - language_codes = dict([(k.lower(), v) for (k,v) in language_codes.items()]) + language_codes = dict([(k.lower(), v) for (k,v) in list(language_codes.items())]) # Languages without Polyglossia support: for key in ('af', # 'afrikaans', @@ -120,7 +120,7 @@ def __init__(self, language_code, reporter): self.quotes = ('"', '"') # language dependent configuration: # double quotes are "active" in some languages (e.g. German). - self.literal_double_quote = u'"' # TODO: use \textquotedbl ? + self.literal_double_quote = '"' # TODO: use \textquotedbl ? def __call__(self): setup = [r'\usepackage{polyglossia}', diff --git a/bin/docutils/writers/xetex/__init__.pyc b/bin/docutils/writers/xetex/__init__.pyc deleted file mode 100644 index 761d62ca..00000000 Binary files a/bin/docutils/writers/xetex/__init__.pyc and /dev/null differ diff --git a/bin/futures-3.2.0.dist-info/DESCRIPTION.rst b/bin/futures-3.2.0.dist-info/DESCRIPTION.rst deleted file mode 100644 index 86e63125..00000000 --- a/bin/futures-3.2.0.dist-info/DESCRIPTION.rst +++ /dev/null @@ -1,37 +0,0 @@ -.. image:: https://travis-ci.org/agronholm/pythonfutures.svg?branch=master - :target: https://travis-ci.org/agronholm/pythonfutures - :alt: Build Status - -This is a backport of the `concurrent.futures`_ standard library module to Python 2. - -It should not be installed on Python 3, although there should be no harm in doing so, as the -standard library takes precedence over third party libraries. - -To conditionally require this library only on Python 2, you can do this in your ``setup.py``: - -.. code-block:: python - - setup( - ... - extras_require={ - ':python_version == "2.7"': ['futures'] - } - ) - -Or, using the newer syntax: - -.. code-block:: python - - setup( - ... - install_requires={ - 'futures; python_version == "2.7"' - } - ) - -.. warning:: The ``ProcessPoolExecutor`` class has known (unfixable) problems on Python 2 and - should not be relied on for mission critical work. - -.. _concurrent.futures: https://docs.python.org/library/concurrent.futures.html - - diff --git a/bin/futures-3.2.0.dist-info/INSTALLER b/bin/futures-3.2.0.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/bin/futures-3.2.0.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/bin/futures-3.2.0.dist-info/METADATA b/bin/futures-3.2.0.dist-info/METADATA deleted file mode 100644 index 8e4abc17..00000000 --- a/bin/futures-3.2.0.dist-info/METADATA +++ /dev/null @@ -1,54 +0,0 @@ -Metadata-Version: 2.0 -Name: futures -Version: 3.2.0 -Summary: Backport of the concurrent.futures package from Python 3 -Home-page: https://github.com/agronholm/pythonfutures -Author: Alex Grönholm -Author-email: alex.gronholm@nextday.fi -License: PSF -Platform: UNKNOWN -Classifier: License :: OSI Approved :: Python Software Foundation License -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: Programming Language :: Python :: 2.6 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 2 :: Only -Requires-Python: >=2.6, <3 - -.. image:: https://travis-ci.org/agronholm/pythonfutures.svg?branch=master - :target: https://travis-ci.org/agronholm/pythonfutures - :alt: Build Status - -This is a backport of the `concurrent.futures`_ standard library module to Python 2. - -It should not be installed on Python 3, although there should be no harm in doing so, as the -standard library takes precedence over third party libraries. - -To conditionally require this library only on Python 2, you can do this in your ``setup.py``: - -.. code-block:: python - - setup( - ... - extras_require={ - ':python_version == "2.7"': ['futures'] - } - ) - -Or, using the newer syntax: - -.. code-block:: python - - setup( - ... - install_requires={ - 'futures; python_version == "2.7"' - } - ) - -.. warning:: The ``ProcessPoolExecutor`` class has known (unfixable) problems on Python 2 and - should not be relied on for mission critical work. - -.. _concurrent.futures: https://docs.python.org/library/concurrent.futures.html - - diff --git a/bin/futures-3.2.0.dist-info/RECORD b/bin/futures-3.2.0.dist-info/RECORD deleted file mode 100644 index 52651140..00000000 --- a/bin/futures-3.2.0.dist-info/RECORD +++ /dev/null @@ -1,17 +0,0 @@ -concurrent/__init__.py,sha256=qEFeq3yuf3lQKVseALmL8aPM8fpCS54B_5pry00M3hk,76 -concurrent/futures/__init__.py,sha256=lErVwp1Kv_co1PKmfYCHvBhWZ_ONtg-bk9v74BG1Q8w,887 -concurrent/futures/_base.py,sha256=7SaxfmjweeKgw5bYMqCE09V_w4Q0A7N5MtcFdyV8ypI,23798 -concurrent/futures/process.py,sha256=XWNXGq8Pgnt__2Yz49bCV9dyuaWiZLlkRwt4IQMKaOQ,14986 -concurrent/futures/thread.py,sha256=hkZBrksqOLKgISYEKWcDXVUqAZWzrDBJ5FV2DOxOgDg,5643 -futures-3.2.0.dist-info/DESCRIPTION.rst,sha256=1M3j167DJPTrS_yJjDV8KIx8XD8p_4sn6djakGlRQfg,1029 -futures-3.2.0.dist-info/METADATA,sha256=AqKwNXWMOb5BSjKiWC0sTwckZcuZtIfHJ9FF2GMFL_4,1651 -futures-3.2.0.dist-info/RECORD,, -futures-3.2.0.dist-info/WHEEL,sha256=bee59qcPjkyXfMaxNWjl2CGotqfumWx9pC1hlVLr2mM,92 -futures-3.2.0.dist-info/metadata.json,sha256=AQvaSSnsoWfwe2skYnT8pcBDEgwOVS1-BnW8z4vudng,780 -futures-3.2.0.dist-info/top_level.txt,sha256=elL7bzFlkyVZr3M0gg0AeLUPt5OJ2F9uJcmu63VMt7A,11 -futures-3.2.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -concurrent/futures/thread.pyc,, -concurrent/futures/process.pyc,, -concurrent/__init__.pyc,, -concurrent/futures/__init__.pyc,, -concurrent/futures/_base.pyc,, diff --git a/bin/futures-3.2.0.dist-info/WHEEL b/bin/futures-3.2.0.dist-info/WHEEL deleted file mode 100644 index 511d954a..00000000 --- a/bin/futures-3.2.0.dist-info/WHEEL +++ /dev/null @@ -1,5 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.29.0) -Root-Is-Purelib: true -Tag: py2-none-any - diff --git a/bin/futures-3.2.0.dist-info/metadata.json b/bin/futures-3.2.0.dist-info/metadata.json deleted file mode 100644 index ccd50d75..00000000 --- a/bin/futures-3.2.0.dist-info/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"classifiers": ["License :: OSI Approved :: Python Software Foundation License", "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 2 :: Only"], "extensions": {"python.details": {"contacts": [{"email": "alex.gronholm@nextday.fi", "name": "Alex Gr\u00f6nholm", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "https://github.com/agronholm/pythonfutures"}}}, "generator": "bdist_wheel (0.29.0)", "license": "PSF", "metadata_version": "2.0", "name": "futures", "requires_python": ">=2.6, <3", "summary": "Backport of the concurrent.futures package from Python 3", "version": "3.2.0"} \ No newline at end of file diff --git a/bin/futures-3.2.0.dist-info/top_level.txt b/bin/futures-3.2.0.dist-info/top_level.txt deleted file mode 100644 index e4d7bdcb..00000000 --- a/bin/futures-3.2.0.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -concurrent diff --git a/bin/jmespath-0.9.3.dist-info/DESCRIPTION.rst b/bin/jmespath-0.9.3.dist-info/DESCRIPTION.rst deleted file mode 100644 index 7bfae75e..00000000 --- a/bin/jmespath-0.9.3.dist-info/DESCRIPTION.rst +++ /dev/null @@ -1,215 +0,0 @@ -JMESPath -======== - - -.. image:: https://badges.gitter.im/Join Chat.svg - :target: https://gitter.im/jmespath/chat - - -.. image:: https://secure.travis-ci.org/jmespath/jmespath.py.png?branch=develop - :target: http://travis-ci.org/jmespath/jmespath.py - - -.. image:: https://codecov.io/github/jmespath/jmespath.py/coverage.svg?branch=develop - :target: https://codecov.io/github/jmespath/jmespath.py?branch=develop - - -JMESPath (pronounced "james path") allows you to declaratively specify how to -extract elements from a JSON document. - -For example, given this document:: - - {"foo": {"bar": "baz"}} - -The jmespath expression ``foo.bar`` will return "baz". - -JMESPath also supports: - -Referencing elements in a list. Given the data:: - - {"foo": {"bar": ["one", "two"]}} - -The expression: ``foo.bar[0]`` will return "one". -You can also reference all the items in a list using the ``*`` -syntax:: - - {"foo": {"bar": [{"name": "one"}, {"name": "two"}]}} - -The expression: ``foo.bar[*].name`` will return ["one", "two"]. -Negative indexing is also supported (-1 refers to the last element -in the list). Given the data above, the expression -``foo.bar[-1].name`` will return "two". - -The ``*`` can also be used for hash types:: - - {"foo": {"bar": {"name": "one"}, "baz": {"name": "two"}}} - -The expression: ``foo.*.name`` will return ["one", "two"]. - - -API -=== - -The ``jmespath.py`` library has two functions -that operate on python data structures. You can use ``search`` -and give it the jmespath expression and the data: - -.. code:: python - - >>> import jmespath - >>> path = jmespath.search('foo.bar', {'foo': {'bar': 'baz'}}) - 'baz' - -Similar to the ``re`` module, you can use the ``compile`` function -to compile the JMESPath expression and use this parsed expression -to perform repeated searches: - -.. code:: python - - >>> import jmespath - >>> expression = jmespath.compile('foo.bar') - >>> expression.search({'foo': {'bar': 'baz'}}) - 'baz' - >>> expression.search({'foo': {'bar': 'other'}}) - 'other' - -This is useful if you're going to use the same jmespath expression to -search multiple documents. This avoids having to reparse the -JMESPath expression each time you search a new document. - -Options -------- - -You can provide an instance of ``jmespath.Options`` to control how -a JMESPath expression is evaluated. The most common scenario for -using an ``Options`` instance is if you want to have ordered output -of your dict keys. To do this you can use either of these options: - -.. code:: python - - >>> import jmespath - >>> jmespath.search('{a: a, b: b}, - ... mydata, - ... jmespath.Options(dict_cls=collections.OrderedDict)) - - - >>> import jmespath - >>> parsed = jmespath.compile('{a: a, b: b}') - >>> parsed.search('{a: a, b: b}, - ... mydata, - ... jmespath.Options(dict_cls=collections.OrderedDict)) - - -Custom Functions -~~~~~~~~~~~~~~~~ - -The JMESPath language has numerous -`built-in functions -`__, but it is -also possible to add your own custom functions. Keep in mind that -custom function support in jmespath.py is experimental and the API may -change based on feedback. - -**If you have a custom function that you've found useful, consider submitting -it to jmespath.site and propose that it be added to the JMESPath language.** -You can submit proposals -`here `__. - -To create custom functions: - -* Create a subclass of ``jmespath.functions.Functions``. -* Create a method with the name ``_func_``. -* Apply the ``jmespath.functions.signature`` decorator that indicates - the expected types of the function arguments. -* Provide an instance of your subclass in a ``jmespath.Options`` object. - -Below are a few examples: - -.. code:: python - - import jmespath - from jmespath import functions - - # 1. Create a subclass of functions.Functions. - # The function.Functions base class has logic - # that introspects all of its methods and automatically - # registers your custom functions in its function table. - class CustomFunctions(functions.Functions): - - # 2 and 3. Create a function that starts with _func_ - # and decorate it with @signature which indicates its - # expected types. - # In this example, we're creating a jmespath function - # called "unique_letters" that accepts a single argument - # with an expected type "string". - @functions.signature({'types': ['string']}) - def _func_unique_letters(self, s): - # Given a string s, return a sorted - # string of unique letters: 'ccbbadd' -> 'abcd' - return ''.join(sorted(set(s))) - - # Here's another example. This is creating - # a jmespath function called "my_add" that expects - # two arguments, both of which should be of type number. - @functions.signature({'types': ['number']}, {'types': ['number']}) - def _func_my_add(self, x, y): - return x + y - - # 4. Provide an instance of your subclass in a Options object. - options = jmespath.Options(custom_functions=CustomFunctions()) - - # Provide this value to jmespath.search: - # This will print 3 - print( - jmespath.search( - 'my_add(`1`, `2`)', {}, options=options) - ) - - # This will print "abcd" - print( - jmespath.search( - 'foo.bar | unique_letters(@)', - {'foo': {'bar': 'ccbbadd'}}, - options=options) - ) - -Again, if you come up with useful functions that you think make -sense in the JMESPath language (and make sense to implement in all -JMESPath libraries, not just python), please let us know at -`jmespath.site `__. - - -Specification -============= - -If you'd like to learn more about the JMESPath language, you can check out -the `JMESPath tutorial `__. Also check -out the `JMESPath examples page `__ for -examples of more complex jmespath queries. - -The grammar is specified using ABNF, as described in -`RFC4234 `_. -You can find the most up to date -`grammar for JMESPath here `__. - -You can read the full -`JMESPath specification here `__. - - -Testing -======= - -In addition to the unit tests for the jmespath modules, -there is a ``tests/compliance`` directory that contains -.json files with test cases. This allows other implementations -to verify they are producing the correct output. Each json -file is grouped by feature. - - -Discuss -======= - -Join us on our `Gitter channel `__ -if you want to chat or if you have any questions. - - diff --git a/bin/jmespath-0.9.3.dist-info/INSTALLER b/bin/jmespath-0.9.3.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/bin/jmespath-0.9.3.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/bin/jmespath-0.9.3.dist-info/METADATA b/bin/jmespath-0.9.3.dist-info/METADATA deleted file mode 100644 index 99643de8..00000000 --- a/bin/jmespath-0.9.3.dist-info/METADATA +++ /dev/null @@ -1,239 +0,0 @@ -Metadata-Version: 2.0 -Name: jmespath -Version: 0.9.3 -Summary: JSON Matching Expressions -Home-page: https://github.com/jmespath/jmespath.py -Author: James Saryerwinnie -Author-email: js@jamesls.com -License: MIT -Platform: UNKNOWN -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: Natural Language :: English -Classifier: License :: OSI Approved :: MIT License -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2.6 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: Implementation :: CPython -Classifier: Programming Language :: Python :: Implementation :: PyPy - -JMESPath -======== - - -.. image:: https://badges.gitter.im/Join Chat.svg - :target: https://gitter.im/jmespath/chat - - -.. image:: https://secure.travis-ci.org/jmespath/jmespath.py.png?branch=develop - :target: http://travis-ci.org/jmespath/jmespath.py - - -.. image:: https://codecov.io/github/jmespath/jmespath.py/coverage.svg?branch=develop - :target: https://codecov.io/github/jmespath/jmespath.py?branch=develop - - -JMESPath (pronounced "james path") allows you to declaratively specify how to -extract elements from a JSON document. - -For example, given this document:: - - {"foo": {"bar": "baz"}} - -The jmespath expression ``foo.bar`` will return "baz". - -JMESPath also supports: - -Referencing elements in a list. Given the data:: - - {"foo": {"bar": ["one", "two"]}} - -The expression: ``foo.bar[0]`` will return "one". -You can also reference all the items in a list using the ``*`` -syntax:: - - {"foo": {"bar": [{"name": "one"}, {"name": "two"}]}} - -The expression: ``foo.bar[*].name`` will return ["one", "two"]. -Negative indexing is also supported (-1 refers to the last element -in the list). Given the data above, the expression -``foo.bar[-1].name`` will return "two". - -The ``*`` can also be used for hash types:: - - {"foo": {"bar": {"name": "one"}, "baz": {"name": "two"}}} - -The expression: ``foo.*.name`` will return ["one", "two"]. - - -API -=== - -The ``jmespath.py`` library has two functions -that operate on python data structures. You can use ``search`` -and give it the jmespath expression and the data: - -.. code:: python - - >>> import jmespath - >>> path = jmespath.search('foo.bar', {'foo': {'bar': 'baz'}}) - 'baz' - -Similar to the ``re`` module, you can use the ``compile`` function -to compile the JMESPath expression and use this parsed expression -to perform repeated searches: - -.. code:: python - - >>> import jmespath - >>> expression = jmespath.compile('foo.bar') - >>> expression.search({'foo': {'bar': 'baz'}}) - 'baz' - >>> expression.search({'foo': {'bar': 'other'}}) - 'other' - -This is useful if you're going to use the same jmespath expression to -search multiple documents. This avoids having to reparse the -JMESPath expression each time you search a new document. - -Options -------- - -You can provide an instance of ``jmespath.Options`` to control how -a JMESPath expression is evaluated. The most common scenario for -using an ``Options`` instance is if you want to have ordered output -of your dict keys. To do this you can use either of these options: - -.. code:: python - - >>> import jmespath - >>> jmespath.search('{a: a, b: b}, - ... mydata, - ... jmespath.Options(dict_cls=collections.OrderedDict)) - - - >>> import jmespath - >>> parsed = jmespath.compile('{a: a, b: b}') - >>> parsed.search('{a: a, b: b}, - ... mydata, - ... jmespath.Options(dict_cls=collections.OrderedDict)) - - -Custom Functions -~~~~~~~~~~~~~~~~ - -The JMESPath language has numerous -`built-in functions -`__, but it is -also possible to add your own custom functions. Keep in mind that -custom function support in jmespath.py is experimental and the API may -change based on feedback. - -**If you have a custom function that you've found useful, consider submitting -it to jmespath.site and propose that it be added to the JMESPath language.** -You can submit proposals -`here `__. - -To create custom functions: - -* Create a subclass of ``jmespath.functions.Functions``. -* Create a method with the name ``_func_``. -* Apply the ``jmespath.functions.signature`` decorator that indicates - the expected types of the function arguments. -* Provide an instance of your subclass in a ``jmespath.Options`` object. - -Below are a few examples: - -.. code:: python - - import jmespath - from jmespath import functions - - # 1. Create a subclass of functions.Functions. - # The function.Functions base class has logic - # that introspects all of its methods and automatically - # registers your custom functions in its function table. - class CustomFunctions(functions.Functions): - - # 2 and 3. Create a function that starts with _func_ - # and decorate it with @signature which indicates its - # expected types. - # In this example, we're creating a jmespath function - # called "unique_letters" that accepts a single argument - # with an expected type "string". - @functions.signature({'types': ['string']}) - def _func_unique_letters(self, s): - # Given a string s, return a sorted - # string of unique letters: 'ccbbadd' -> 'abcd' - return ''.join(sorted(set(s))) - - # Here's another example. This is creating - # a jmespath function called "my_add" that expects - # two arguments, both of which should be of type number. - @functions.signature({'types': ['number']}, {'types': ['number']}) - def _func_my_add(self, x, y): - return x + y - - # 4. Provide an instance of your subclass in a Options object. - options = jmespath.Options(custom_functions=CustomFunctions()) - - # Provide this value to jmespath.search: - # This will print 3 - print( - jmespath.search( - 'my_add(`1`, `2`)', {}, options=options) - ) - - # This will print "abcd" - print( - jmespath.search( - 'foo.bar | unique_letters(@)', - {'foo': {'bar': 'ccbbadd'}}, - options=options) - ) - -Again, if you come up with useful functions that you think make -sense in the JMESPath language (and make sense to implement in all -JMESPath libraries, not just python), please let us know at -`jmespath.site `__. - - -Specification -============= - -If you'd like to learn more about the JMESPath language, you can check out -the `JMESPath tutorial `__. Also check -out the `JMESPath examples page `__ for -examples of more complex jmespath queries. - -The grammar is specified using ABNF, as described in -`RFC4234 `_. -You can find the most up to date -`grammar for JMESPath here `__. - -You can read the full -`JMESPath specification here `__. - - -Testing -======= - -In addition to the unit tests for the jmespath modules, -there is a ``tests/compliance`` directory that contains -.json files with test cases. This allows other implementations -to verify they are producing the correct output. Each json -file is grouped by feature. - - -Discuss -======= - -Join us on our `Gitter channel `__ -if you want to chat or if you have any questions. - - diff --git a/bin/jmespath-0.9.3.dist-info/RECORD b/bin/jmespath-0.9.3.dist-info/RECORD deleted file mode 100644 index a2df9d46..00000000 --- a/bin/jmespath-0.9.3.dist-info/RECORD +++ /dev/null @@ -1,26 +0,0 @@ -jmespath/__init__.py,sha256=9I83PHVtXse1_1nGcrgGBwOqqDNn8wp1KYwzeLby5O4,281 -jmespath/ast.py,sha256=SiHRM1mdQPRt12R2qkQu_Ezbd-ghk5HLy1Hl1jHAyv8,2130 -jmespath/compat.py,sha256=Q_a-dEOGrKa9Mimrhfpuq5r-9poyBz9ZDvbzSpPE0Tw,2117 -jmespath/exceptions.py,sha256=5HRot4Bv3SCTdvh5lAQdQBsqSdaKjuTPSyGmk08zSvA,4128 -jmespath/functions.py,sha256=EzRDz3Pq0FrTMSTWc3WTKmdMjdBadS0A8JsFKOyeEmI,12642 -jmespath/lexer.py,sha256=LE3-dM75ny9RMR8mXmWlKKRTIlz8njvWz-M-2y4t5WA,8574 -jmespath/parser.py,sha256=Wte7B5bNAXYlSum2fW3fKxfCxYGgmenZXJIXrpaiBHQ,19076 -jmespath/visitor.py,sha256=lm2Bi5sOBCIsXWdLbdBqh63DBRwwPVUWvag6j11WB0k,10768 -../../bin/jp.py,sha256=OrcM_SAhkX2gw_Icpv3lnZNhD6xL6ZjikxVIOvDbnAw,1665 -jmespath-0.9.3.dist-info/DESCRIPTION.rst,sha256=7PI3K-LUJvc1DU1d9ww1wf620p4INa5f2hkoCxW-NAY,6854 -jmespath-0.9.3.dist-info/METADATA,sha256=KvtdZCfQboaE3N8lIKoWSW8YcBClj37al4L94wfBgJs,7803 -jmespath-0.9.3.dist-info/RECORD,, -jmespath-0.9.3.dist-info/WHEEL,sha256=GrqQvamwgBV4nLoJe0vhYRSWzWsx7xjlt74FT0SWYfE,110 -jmespath-0.9.3.dist-info/metadata.json,sha256=8ZNzmEIluQZUFEFb0kEaZXXuRFgkFZly4eJCr6dx6ic,1026 -jmespath-0.9.3.dist-info/pbr.json,sha256=lG6BpcjO6fCCSktGExTU-ONgyK_znfbY_wGST7Sef28,46 -jmespath-0.9.3.dist-info/top_level.txt,sha256=vuy_oZ1ckpeSNrAi8JK8-yIGO6bduO3qvW2cCMQmPH8,9 -jmespath-0.9.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -../../bin/jp.pyc,, -jmespath/functions.pyc,, -jmespath/__init__.pyc,, -jmespath/exceptions.pyc,, -jmespath/ast.pyc,, -jmespath/parser.pyc,, -jmespath/visitor.pyc,, -jmespath/lexer.pyc,, -jmespath/compat.pyc,, diff --git a/bin/jmespath-0.9.3.dist-info/WHEEL b/bin/jmespath-0.9.3.dist-info/WHEEL deleted file mode 100644 index 0de529b1..00000000 --- a/bin/jmespath-0.9.3.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.26.0) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/bin/jmespath-0.9.3.dist-info/metadata.json b/bin/jmespath-0.9.3.dist-info/metadata.json deleted file mode 100644 index ae9e5acf..00000000 --- a/bin/jmespath-0.9.3.dist-info/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"generator": "bdist_wheel (0.26.0)", "summary": "JSON Matching Expressions", "classifiers": ["Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Natural Language :: English", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy"], "extensions": {"python.details": {"project_urls": {"Home": "https://github.com/jmespath/jmespath.py"}, "contacts": [{"email": "js@jamesls.com", "name": "James Saryerwinnie", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}}}, "license": "MIT", "metadata_version": "2.0", "name": "jmespath", "version": "0.9.3"} \ No newline at end of file diff --git a/bin/jmespath-0.9.3.dist-info/pbr.json b/bin/jmespath-0.9.3.dist-info/pbr.json deleted file mode 100644 index 961baf54..00000000 --- a/bin/jmespath-0.9.3.dist-info/pbr.json +++ /dev/null @@ -1 +0,0 @@ -{"is_release": true, "git_version": "0466cc1"} \ No newline at end of file diff --git a/bin/jmespath-0.9.3.dist-info/top_level.txt b/bin/jmespath-0.9.3.dist-info/top_level.txt deleted file mode 100644 index 45c1e038..00000000 --- a/bin/jmespath-0.9.3.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -jmespath diff --git a/bin/jmespath/__init__.py b/bin/jmespath/__init__.py index 96bfa351..8392e747 100644 --- a/bin/jmespath/__init__.py +++ b/bin/jmespath/__init__.py @@ -1,7 +1,7 @@ from jmespath import parser from jmespath.visitor import Options -__version__ = '0.9.3' +__version__ = '0.9.4' def compile(expression): diff --git a/bin/jmespath/__init__.pyc b/bin/jmespath/__init__.pyc deleted file mode 100644 index 29f88f81..00000000 Binary files a/bin/jmespath/__init__.pyc and /dev/null differ diff --git a/bin/jmespath/ast.pyc b/bin/jmespath/ast.pyc deleted file mode 100644 index ef210eb7..00000000 Binary files a/bin/jmespath/ast.pyc and /dev/null differ diff --git a/bin/jmespath/compat.pyc b/bin/jmespath/compat.pyc deleted file mode 100644 index c02569e8..00000000 Binary files a/bin/jmespath/compat.pyc and /dev/null differ diff --git a/bin/jmespath/exceptions.pyc b/bin/jmespath/exceptions.pyc deleted file mode 100644 index 542dc2b4..00000000 Binary files a/bin/jmespath/exceptions.pyc and /dev/null differ diff --git a/bin/jmespath/functions.py b/bin/jmespath/functions.py index bd40f4c5..31dab051 100644 --- a/bin/jmespath/functions.py +++ b/bin/jmespath/functions.py @@ -28,7 +28,7 @@ 'boolean': ('bool',), 'array': ('list', '_Projection'), 'object': ('dict', 'OrderedDict',), - 'null': ('None',), + 'null': ('NoneType',), 'string': ('unicode', 'str'), 'number': ('float', 'int', 'long'), 'expref': ('_Expression',), @@ -331,14 +331,20 @@ def _func_min_by(self, array, expref): keyfunc = self._create_key_func(expref, ['number', 'string'], 'min_by') - return min(array, key=keyfunc) + if array: + return min(array, key=keyfunc) + else: + return None @signature({'types': ['array']}, {'types': ['expref']}) def _func_max_by(self, array, expref): keyfunc = self._create_key_func(expref, ['number', 'string'], - 'min_by') - return max(array, key=keyfunc) + 'max_by') + if array: + return max(array, key=keyfunc) + else: + return None def _create_key_func(self, expref, allowed_types, function_name): def keyfunc(x): diff --git a/bin/jmespath/functions.pyc b/bin/jmespath/functions.pyc deleted file mode 100644 index b7a686f4..00000000 Binary files a/bin/jmespath/functions.pyc and /dev/null differ diff --git a/bin/jmespath/lexer.pyc b/bin/jmespath/lexer.pyc deleted file mode 100644 index d5480536..00000000 Binary files a/bin/jmespath/lexer.pyc and /dev/null differ diff --git a/bin/jmespath/parser.pyc b/bin/jmespath/parser.pyc deleted file mode 100644 index 773c0227..00000000 Binary files a/bin/jmespath/parser.pyc and /dev/null differ diff --git a/bin/jmespath/visitor.py b/bin/jmespath/visitor.py index 762baab0..2c783e5e 100644 --- a/bin/jmespath/visitor.py +++ b/bin/jmespath/visitor.py @@ -60,13 +60,13 @@ class Options(object): """Options to control how a JMESPath function is evaluated.""" def __init__(self, dict_cls=None, custom_functions=None): #: The class to use when creating a dict. The interpreter - # may create dictionaries during the evalution of a JMESPath + # may create dictionaries during the evaluation of a JMESPath # expression. For example, a multi-select hash will # create a dictionary. By default we use a dict() type. # You can set this value to change what dict type is used. # The most common reason you would change this is if you # want to set a collections.OrderedDict so that you can - # have predictible key ordering. + # have predictable key ordering. self.dict_cls = dict_cls self.custom_functions = custom_functions diff --git a/bin/jmespath/visitor.pyc b/bin/jmespath/visitor.pyc deleted file mode 100644 index 184c4359..00000000 Binary files a/bin/jmespath/visitor.pyc and /dev/null differ diff --git a/bin/pyasn1-0.4.4.dist-info/DESCRIPTION.rst b/bin/pyasn1-0.4.4.dist-info/DESCRIPTION.rst deleted file mode 100644 index 7fb53b87..00000000 --- a/bin/pyasn1-0.4.4.dist-info/DESCRIPTION.rst +++ /dev/null @@ -1,3 +0,0 @@ -Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208) - - diff --git a/bin/pyasn1-0.4.4.dist-info/INSTALLER b/bin/pyasn1-0.4.4.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/bin/pyasn1-0.4.4.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/bin/pyasn1-0.4.4.dist-info/LICENSE.txt b/bin/pyasn1-0.4.4.dist-info/LICENSE.txt deleted file mode 100644 index 011bb08b..00000000 --- a/bin/pyasn1-0.4.4.dist-info/LICENSE.txt +++ /dev/null @@ -1,24 +0,0 @@ -Copyright (c) 2005-2018, Ilya Etingof -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/bin/pyasn1-0.4.4.dist-info/METADATA b/bin/pyasn1-0.4.4.dist-info/METADATA deleted file mode 100644 index 72bcae46..00000000 --- a/bin/pyasn1-0.4.4.dist-info/METADATA +++ /dev/null @@ -1,37 +0,0 @@ -Metadata-Version: 2.0 -Name: pyasn1 -Version: 0.4.4 -Summary: ASN.1 types and codecs -Home-page: https://github.com/etingof/pyasn1 -Author: Ilya Etingof -Author-email: etingof@gmail.com -License: BSD -Platform: any -Classifier: Development Status :: 5 - Production/Stable -Classifier: Environment :: Console -Classifier: Intended Audience :: Developers -Classifier: Intended Audience :: Education -Classifier: Intended Audience :: Information Technology -Classifier: Intended Audience :: System Administrators -Classifier: Intended Audience :: Telecommunications Industry -Classifier: License :: OSI Approved :: BSD License -Classifier: Natural Language :: English -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.4 -Classifier: Programming Language :: Python :: 2.5 -Classifier: Programming Language :: Python :: 2.6 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.2 -Classifier: Programming Language :: Python :: 3.3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: 3.7 -Classifier: Topic :: Communications -Classifier: Topic :: Software Development :: Libraries :: Python Modules - -Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208) - - diff --git a/bin/pyasn1-0.4.4.dist-info/RECORD b/bin/pyasn1-0.4.4.dist-info/RECORD deleted file mode 100644 index c5c1b3f5..00000000 --- a/bin/pyasn1-0.4.4.dist-info/RECORD +++ /dev/null @@ -1,81 +0,0 @@ -pyasn1/__init__.py,sha256=rxuUfysbvweocFl3oA6jdVhAHkNKiQ-W4sM9G5bvKvA,175 -pyasn1/debug.py,sha256=rVJI-rMn7Xzeqml5U3P6i9DS_fV3HMS7bEdCH9TIO2c,3361 -pyasn1/error.py,sha256=kPQJObyjaEfxlAVO0Syemvwq4-mg4sWmvIruJnt-cHw,709 -pyasn1/codec/__init__.py,sha256=EEDlJYS172EH39GUidN_8FbkNcWY9OVV8e30AV58pn0,59 -pyasn1/codec/ber/__init__.py,sha256=EEDlJYS172EH39GUidN_8FbkNcWY9OVV8e30AV58pn0,59 -pyasn1/codec/ber/decoder.py,sha256=VCqiXeN-Rk5_YGITEAqW8pqD0jFkYWuwZOAaW7F45Vo,52509 -pyasn1/codec/ber/encoder.py,sha256=1gVskrDZ57JvjaGgAZuue5tIQMiuoWv_JeeWtUmFLEk,23801 -pyasn1/codec/ber/eoo.py,sha256=CP1zSIajGSQbNQBDzi6gUCWY0m88mvzomm7bE9-_Bdg,634 -pyasn1/codec/cer/__init__.py,sha256=EEDlJYS172EH39GUidN_8FbkNcWY9OVV8e30AV58pn0,59 -pyasn1/codec/cer/decoder.py,sha256=-Krz3J-66GS88y2ILBE5VaN5kY_FMdgR7fZk9Vsmwr0,3719 -pyasn1/codec/cer/encoder.py,sha256=hQfB6sUDaLgUDHK8eDd-EhcvWYEPkVl180yC38huJt4,8872 -pyasn1/codec/der/__init__.py,sha256=EEDlJYS172EH39GUidN_8FbkNcWY9OVV8e30AV58pn0,59 -pyasn1/codec/der/decoder.py,sha256=LXpy1kkMlXnrwTIySPswrx10_iLnT-llhCtP_O7z1Ao,2696 -pyasn1/codec/der/encoder.py,sha256=G5csNDzaNzgSkBB7-zncNPGOSS2J6y8N7GYrS-b5yhw,3085 -pyasn1/codec/native/__init__.py,sha256=EEDlJYS172EH39GUidN_8FbkNcWY9OVV8e30AV58pn0,59 -pyasn1/codec/native/decoder.py,sha256=x74xeBhdEQH-fPXqfCQ5I-IO--1gNaIueQcDqqz1wL0,7754 -pyasn1/codec/native/encoder.py,sha256=affCfcv_dUm11tG6cmpToxpoZTZ0E6DI_XVr6X9YdfY,7943 -pyasn1/compat/__init__.py,sha256=EEDlJYS172EH39GUidN_8FbkNcWY9OVV8e30AV58pn0,59 -pyasn1/compat/binary.py,sha256=eB0g2Be-EyyP73b3kwHa9nB9LkCMSKOFOimnJO8y-sw,698 -pyasn1/compat/calling.py,sha256=UHiGBt2AOQMkvyHBtYYYC8a2P70GFi3O5byWP_PBb7c,379 -pyasn1/compat/dateandtime.py,sha256=5Cx23M5QGUr6NvGFcxoVjcusUkfByaXcQkZZDvRGLMA,482 -pyasn1/compat/integer.py,sha256=O0u05xne56j7gsa6dcXlL2UxR6Ob1_bNoZeOhIC8Mk0,2988 -pyasn1/compat/octets.py,sha256=R1cqtSqoVAW_IGd_xfddFpJRFvd-8Y95hyEMDDreL8A,1359 -pyasn1/compat/string.py,sha256=8RhJUVDiJbwVVf04ndITh-Y3SktMW71pa94x3zFQAGw,505 -pyasn1/type/__init__.py,sha256=EEDlJYS172EH39GUidN_8FbkNcWY9OVV8e30AV58pn0,59 -pyasn1/type/base.py,sha256=GT_rQR-XkAnHPQgPL943KQEX0EVqClaGRU-dWfyCvQA,20561 -pyasn1/type/char.py,sha256=9n2WEZ1YeAkqDGRdc8Zl3voZuNNYP_SugDH__nMKZbk,10771 -pyasn1/type/constraint.py,sha256=znxxK6TeolDbkkjPdgWpf2EombYXugQin7HSfWQ6x6g,16050 -pyasn1/type/error.py,sha256=VJ9nxoydtjdajVnZ-RATQJnbEqP6eG_7lXmUJfLxlX8,246 -pyasn1/type/namedtype.py,sha256=ufmsQfFcuHFPEOmHX53O2jOSico7jI8K3EB3M92lcaE,16441 -pyasn1/type/namedval.py,sha256=hILVrSdk-Gf47f9yfKBl0sGNwE2auDag8H_uAbuI9QE,4888 -pyasn1/type/opentype.py,sha256=o2rNEQSS_A8azJsSDrzlu2kIr1pxzUIlNPAW8fTTSyI,1781 -pyasn1/type/tag.py,sha256=NrsGeh5uz8GENrkq_9bC_pfzreGeWy0iD4dN715L5yk,9489 -pyasn1/type/tagmap.py,sha256=MmhNsrY2lkvsLxkPkc9_Q0448k3y58F1pAV2qa-hKRs,3015 -pyasn1/type/univ.py,sha256=fKGQWHQEmCKBfltXLcw4AowOXQ8r9MMRDCo_pCr9Y9I,100158 -pyasn1/type/useful.py,sha256=1kUJIy4C-K2VlRZWXe7KOeRFuBsDrPVnxrXf2M6s8ac,5368 -pyasn1-0.4.4.dist-info/DESCRIPTION.rst,sha256=2jbkK6fmEr45mOdVBxruBS_lcY2u6QKYcB8Cz6vgPHU,75 -pyasn1-0.4.4.dist-info/LICENSE.txt,sha256=-CEo9k1WfDM5NqErmaIdDozWbOYo1Rzgp3cMw43H_kM,1334 -pyasn1-0.4.4.dist-info/METADATA,sha256=wROWN5CZUVwfWyp7ZePZMfFBQ50rXQ6xupd1TDEy4Ys,1496 -pyasn1-0.4.4.dist-info/RECORD,, -pyasn1-0.4.4.dist-info/WHEEL,sha256=o2k-Qa-RMNIJmUdIc7KU6VWR_ErNRbWNlxDIpl7lm34,110 -pyasn1-0.4.4.dist-info/metadata.json,sha256=P2nMbRDD8hSYOz2PyhfBMeyIpz2AgV0The1EjlQlGI4,1457 -pyasn1-0.4.4.dist-info/top_level.txt,sha256=dnNEQt3nIDIO5mSCCOB5obQHrjDOUsRycdBujc2vrWE,7 -pyasn1-0.4.4.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1 -pyasn1-0.4.4.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -pyasn1/codec/ber/encoder.pyc,, -pyasn1/codec/native/decoder.pyc,, -pyasn1/compat/integer.pyc,, -pyasn1/type/char.pyc,, -pyasn1/codec/der/decoder.pyc,, -pyasn1/codec/ber/__init__.pyc,, -pyasn1/codec/cer/decoder.pyc,, -pyasn1/compat/binary.pyc,, -pyasn1/type/base.pyc,, -pyasn1/__init__.pyc,, -pyasn1/codec/ber/decoder.pyc,, -pyasn1/compat/dateandtime.pyc,, -pyasn1/type/error.pyc,, -pyasn1/type/opentype.pyc,, -pyasn1/compat/calling.pyc,, -pyasn1/debug.pyc,, -pyasn1/type/constraint.pyc,, -pyasn1/codec/der/__init__.pyc,, -pyasn1/compat/__init__.pyc,, -pyasn1/type/tag.pyc,, -pyasn1/codec/cer/encoder.pyc,, -pyasn1/codec/native/encoder.pyc,, -pyasn1/type/tagmap.pyc,, -pyasn1/codec/__init__.pyc,, -pyasn1/codec/ber/eoo.pyc,, -pyasn1/codec/native/__init__.pyc,, -pyasn1/type/univ.pyc,, -pyasn1/error.pyc,, -pyasn1/type/namedtype.pyc,, -pyasn1/type/useful.pyc,, -pyasn1/codec/cer/__init__.pyc,, -pyasn1/compat/string.pyc,, -pyasn1/codec/der/encoder.pyc,, -pyasn1/type/__init__.pyc,, -pyasn1/compat/octets.pyc,, -pyasn1/type/namedval.pyc,, diff --git a/bin/pyasn1-0.4.4.dist-info/WHEEL b/bin/pyasn1-0.4.4.dist-info/WHEEL deleted file mode 100644 index 8b6dd1b5..00000000 --- a/bin/pyasn1-0.4.4.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.29.0) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/bin/pyasn1-0.4.4.dist-info/metadata.json b/bin/pyasn1-0.4.4.dist-info/metadata.json deleted file mode 100644 index 8ae23f77..00000000 --- a/bin/pyasn1-0.4.4.dist-info/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"classifiers": ["Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "Intended Audience :: Telecommunications Industry", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.4", "Programming Language :: Python :: 2.5", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Communications", "Topic :: Software Development :: Libraries :: Python Modules"], "extensions": {"python.details": {"contacts": [{"email": "etingof@gmail.com", "name": "Ilya Etingof ", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst", "license": "LICENSE.txt"}, "project_urls": {"Home": "https://github.com/etingof/pyasn1"}}}, "generator": "bdist_wheel (0.29.0)", "license": "BSD", "metadata_version": "2.0", "name": "pyasn1", "platform": "any", "summary": "ASN.1 types and codecs", "version": "0.4.4"} \ No newline at end of file diff --git a/bin/pyasn1-0.4.4.dist-info/top_level.txt b/bin/pyasn1-0.4.4.dist-info/top_level.txt deleted file mode 100644 index 38fe4145..00000000 --- a/bin/pyasn1-0.4.4.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -pyasn1 diff --git a/bin/pyasn1-0.4.4.dist-info/zip-safe b/bin/pyasn1-0.4.4.dist-info/zip-safe deleted file mode 100644 index 8b137891..00000000 --- a/bin/pyasn1-0.4.4.dist-info/zip-safe +++ /dev/null @@ -1 +0,0 @@ - diff --git a/bin/pyasn1/__init__.py b/bin/pyasn1/__init__.py index e2e4c5c1..68db4f1b 100644 --- a/bin/pyasn1/__init__.py +++ b/bin/pyasn1/__init__.py @@ -1,7 +1,7 @@ import sys # https://www.python.org/dev/peps/pep-0396/ -__version__ = '0.4.4' +__version__ = '0.4.5' if sys.version_info[:2] < (2, 4): raise RuntimeError('PyASN1 requires Python 2.4 or later') diff --git a/bin/pyasn1/__init__.pyc b/bin/pyasn1/__init__.pyc deleted file mode 100644 index 2859cf7e..00000000 Binary files a/bin/pyasn1/__init__.pyc and /dev/null differ diff --git a/bin/pyasn1/codec/__init__.pyc b/bin/pyasn1/codec/__init__.pyc deleted file mode 100644 index 51b14628..00000000 Binary files a/bin/pyasn1/codec/__init__.pyc and /dev/null differ diff --git a/bin/pyasn1/codec/ber/__init__.pyc b/bin/pyasn1/codec/ber/__init__.pyc deleted file mode 100644 index 568bfc6c..00000000 Binary files a/bin/pyasn1/codec/ber/__init__.pyc and /dev/null differ diff --git a/bin/pyasn1/codec/ber/decoder.py b/bin/pyasn1/codec/ber/decoder.py index a27b3e0e..591bbc4b 100644 --- a/bin/pyasn1/codec/ber/decoder.py +++ b/bin/pyasn1/codec/ber/decoder.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # from pyasn1 import debug @@ -18,6 +18,8 @@ __all__ = ['decode'] +LOG = debug.registerLoggee(__name__, flags=debug.DEBUG_DECODER) + noValue = base.noValue @@ -70,6 +72,10 @@ def valueDecoder(self, substrate, asn1Spec, value, _ = decodeFun(head, asn1Spec, tagSet, length, **options) + if LOG: + LOG('explicit tag container carries %d octets of trailing payload ' + '(will be lost!): %s' % (len(_), debug.hexdump(_))) + return value, tail def indefLenValueDecoder(self, substrate, asn1Spec, @@ -120,7 +126,8 @@ class BooleanDecoder(IntegerDecoder): protoComponent = univ.Boolean(0) def _createComponent(self, asn1Spec, tagSet, value, **options): - return IntegerDecoder._createComponent(self, asn1Spec, tagSet, value and 1 or 0, **options) + return IntegerDecoder._createComponent( + self, asn1Spec, tagSet, value and 1 or 0, **options) class BitStringDecoder(AbstractSimpleDecoder): @@ -134,8 +141,8 @@ def valueDecoder(self, substrate, asn1Spec, head, tail = substrate[:length], substrate[length:] if substrateFun: - return substrateFun(self._createComponent(asn1Spec, tagSet, noValue, **options), - substrate, length) + return substrateFun(self._createComponent( + asn1Spec, tagSet, noValue, **options), substrate, length) if not head: raise error.PyAsn1Error('Empty BIT STRING substrate') @@ -148,12 +155,17 @@ def valueDecoder(self, substrate, asn1Spec, 'Trailing bits overflow %s' % trailingBits ) - value = self.protoComponent.fromOctetString(head[1:], internalFormat=True, padding=trailingBits) + value = self.protoComponent.fromOctetString( + head[1:], internalFormat=True, padding=trailingBits) return self._createComponent(asn1Spec, tagSet, value, **options), tail if not self.supportConstructedForm: - raise error.PyAsn1Error('Constructed encoding form prohibited at %s' % self.__class__.__name__) + raise error.PyAsn1Error('Constructed encoding form prohibited ' + 'at %s' % self.__class__.__name__) + + if LOG: + LOG('assembling constructed serialization') # All inner fragments are of the same type, treat them as octet string substrateFun = self.substrateCollector @@ -234,6 +246,9 @@ def valueDecoder(self, substrate, asn1Spec, if not self.supportConstructedForm: raise error.PyAsn1Error('Constructed encoding form prohibited at %s' % self.__class__.__name__) + if LOG: + LOG('assembling constructed serialization') + # All inner fragments are of the same type, treat them as octet string substrateFun = self.substrateCollector @@ -267,7 +282,9 @@ def indefLenValueDecoder(self, substrate, asn1Spec, allowEoo=True, **options) if component is eoo.endOfOctets: break + header += component + else: raise error.SubstrateUnderrunError( 'No EOO seen before substrate ends' @@ -374,59 +391,90 @@ def valueDecoder(self, substrate, asn1Spec, if fo & 0x80: # binary encoding if not head: raise error.PyAsn1Error("Incomplete floating-point value") + + if LOG: + LOG('decoding binary encoded REAL') + n = (fo & 0x03) + 1 + if n == 4: n = oct2int(head[0]) head = head[1:] + eo, head = head[:n], head[n:] + if not eo or not head: raise error.PyAsn1Error('Real exponent screwed') + e = oct2int(eo[0]) & 0x80 and -1 or 0 + while eo: # exponent e <<= 8 e |= oct2int(eo[0]) eo = eo[1:] + b = fo >> 4 & 0x03 # base bits + if b > 2: raise error.PyAsn1Error('Illegal Real base') + if b == 1: # encbase = 8 e *= 3 + elif b == 2: # encbase = 16 e *= 4 p = 0 + while head: # value p <<= 8 p |= oct2int(head[0]) head = head[1:] + if fo & 0x40: # sign bit p = -p + sf = fo >> 2 & 0x03 # scale bits p *= 2 ** sf value = (p, 2, e) + elif fo & 0x40: # infinite value + if LOG: + LOG('decoding infinite REAL') + value = fo & 0x01 and '-inf' or 'inf' + elif fo & 0xc0 == 0: # character encoding if not head: raise error.PyAsn1Error("Incomplete floating-point value") + + if LOG: + LOG('decoding character encoded REAL') + try: if fo & 0x3 == 0x1: # NR1 value = (int(head), 10, 0) + elif fo & 0x3 == 0x2: # NR2 value = float(head) + elif fo & 0x3 == 0x3: # NR3 value = float(head) + else: raise error.SubstrateUnderrunError( 'Unknown NR (tag %s)' % fo ) + except ValueError: raise error.SubstrateUnderrunError( 'Bad character Real syntax' ) + else: raise error.SubstrateUnderrunError( 'Unknown encoding (tag %s)' % fo ) + return self._createComponent(asn1Spec, tagSet, value, **options), tail @@ -447,10 +495,12 @@ def _getComponentPositionByType(self, asn1Object, tagSet, idx): def _decodeComponents(self, substrate, tagSet=None, decodeFun=None, **options): components = [] componentTypes = set() + while substrate: component, substrate = decodeFun(substrate, **options) if component is eoo.endOfOctets: break + components.append(component) componentTypes.add(component.tagSet) @@ -460,6 +510,7 @@ def _decodeComponents(self, substrate, tagSet=None, decodeFun=None, **options): # * otherwise -> likely SEQUENCE OF/SET OF if len(componentTypes) > 1: protoComponent = self.protoRecordComponent + else: protoComponent = self.protoSequenceComponent @@ -469,6 +520,10 @@ def _decodeComponents(self, substrate, tagSet=None, decodeFun=None, **options): tagSet=tag.TagSet(protoComponent.tagSet.baseTag, *tagSet.superTags) ) + if LOG: + LOG('guessed %r container type (pass `asn1Spec` to guide the ' + 'decoder)' % asn1Object) + for idx, component in enumerate(components): asn1Object.setComponentByPosition( idx, component, @@ -490,8 +545,10 @@ def valueDecoder(self, substrate, asn1Spec, if substrateFun is not None: if asn1Spec is not None: asn1Object = asn1Spec.clone() + elif self.protoComponent is not None: asn1Object = self.protoComponent.clone(tagSet=tagSet) + else: asn1Object = self.protoRecordComponent, self.protoSequenceComponent @@ -501,8 +558,12 @@ def valueDecoder(self, substrate, asn1Spec, asn1Object, trailing = self._decodeComponents( head, tagSet=tagSet, decodeFun=decodeFun, **options ) + if trailing: - raise error.PyAsn1Error('Unused trailing %d octets encountered' % len(trailing)) + if LOG: + LOG('Unused trailing %d octets encountered: %s' % ( + len(trailing), debug.hexdump(trailing))) + return asn1Object, tail asn1Object = asn1Spec.clone() @@ -514,21 +575,31 @@ def valueDecoder(self, substrate, asn1Spec, isSetType = asn1Spec.typeId == univ.Set.typeId isDeterministic = not isSetType and not namedTypes.hasOptionalOrDefault + if LOG: + LOG('decoding %sdeterministic %s type %r chosen by type ID' % ( + not isDeterministic and 'non-' or '', isSetType and 'SET' or '', + asn1Spec)) + seenIndices = set() idx = 0 while head: if not namedTypes: componentType = None + elif isSetType: componentType = namedTypes.tagMapUnique + else: try: if isDeterministic: componentType = namedTypes[idx].asn1Object + elif namedTypes[idx].isOptional or namedTypes[idx].isDefaulted: componentType = namedTypes.getTagMapNearPosition(idx) + else: componentType = namedTypes[idx].asn1Object + except IndexError: raise error.PyAsn1Error( 'Excessive components decoded at %r' % (asn1Spec,) @@ -539,6 +610,7 @@ def valueDecoder(self, substrate, asn1Spec, if not isDeterministic and namedTypes: if isSetType: idx = namedTypes.getPositionByType(component.effectiveTagSet) + elif namedTypes[idx].isOptional or namedTypes[idx].isDefaulted: idx = namedTypes.getPositionNearType(component.effectiveTagSet, idx) @@ -551,14 +623,22 @@ def valueDecoder(self, substrate, asn1Spec, seenIndices.add(idx) idx += 1 + if LOG: + LOG('seen component indices %s' % seenIndices) + if namedTypes: if not namedTypes.requiredComponents.issubset(seenIndices): - raise error.PyAsn1Error('ASN.1 object %s has uninitialized components' % asn1Object.__class__.__name__) + raise error.PyAsn1Error( + 'ASN.1 object %s has uninitialized ' + 'components' % asn1Object.__class__.__name__) if namedTypes.hasOpenTypes: openTypes = options.get('openTypes', {}) + if LOG: + LOG('using open types map: %r' % openTypes) + if openTypes or options.get('decodeOpenTypes', False): for idx, namedType in enumerate(namedTypes.namedTypes): @@ -581,8 +661,15 @@ def valueDecoder(self, substrate, asn1Spec, openType = namedType.openType[governingValue] except KeyError: + if LOG: + LOG('failed to resolve open type by governing ' + 'value %r' % (governingValue,)) continue + if LOG: + LOG('resolved open type %r by governing ' + 'value %r' % (openType, governingValue)) + component, rest = decodeFun( asn1Object.getComponentByPosition(idx).asOctets(), asn1Spec=openType @@ -598,6 +685,9 @@ def valueDecoder(self, substrate, asn1Spec, componentType = asn1Spec.componentType + if LOG: + LOG('decoding type %r chosen by given `asn1Spec`' % componentType) + idx = 0 while head: @@ -607,6 +697,7 @@ def valueDecoder(self, substrate, asn1Spec, verifyConstraints=False, matchTags=False, matchConstraints=False ) + idx += 1 return asn1Object, tail @@ -621,8 +712,10 @@ def indefLenValueDecoder(self, substrate, asn1Spec, if substrateFun is not None: if asn1Spec is not None: asn1Object = asn1Spec.clone() + elif self.protoComponent is not None: asn1Object = self.protoComponent.clone(tagSet=tagSet) + else: asn1Object = self.protoRecordComponent, self.protoSequenceComponent @@ -642,21 +735,31 @@ def indefLenValueDecoder(self, substrate, asn1Spec, isSetType = asn1Object.typeId == univ.Set.typeId isDeterministic = not isSetType and not namedTypes.hasOptionalOrDefault + if LOG: + LOG('decoding %sdeterministic %s type %r chosen by type ID' % ( + not isDeterministic and 'non-' or '', isSetType and 'SET' or '', + asn1Spec)) + seenIndices = set() idx = 0 while substrate: if len(namedTypes) <= idx: asn1Spec = None + elif isSetType: asn1Spec = namedTypes.tagMapUnique + else: try: if isDeterministic: asn1Spec = namedTypes[idx].asn1Object + elif namedTypes[idx].isOptional or namedTypes[idx].isDefaulted: asn1Spec = namedTypes.getTagMapNearPosition(idx) + else: asn1Spec = namedTypes[idx].asn1Object + except IndexError: raise error.PyAsn1Error( 'Excessive components decoded at %r' % (asn1Object,) @@ -686,13 +789,19 @@ def indefLenValueDecoder(self, substrate, asn1Spec, 'No EOO seen before substrate ends' ) + if LOG: + LOG('seen component indices %s' % seenIndices) + if namedTypes: if not namedTypes.requiredComponents.issubset(seenIndices): raise error.PyAsn1Error('ASN.1 object %s has uninitialized components' % asn1Object.__class__.__name__) if namedTypes.hasOpenTypes: - openTypes = options.get('openTypes', None) + openTypes = options.get('openTypes', {}) + + if LOG: + LOG('using open types map: %r' % openTypes) if openTypes or options.get('decodeOpenTypes', False): @@ -716,8 +825,15 @@ def indefLenValueDecoder(self, substrate, asn1Spec, openType = namedType.openType[governingValue] except KeyError: + if LOG: + LOG('failed to resolve open type by governing ' + 'value %r' % (governingValue,)) continue + if LOG: + LOG('resolved open type %r by governing ' + 'value %r' % (openType, governingValue)) + component, rest = decodeFun( asn1Object.getComponentByPosition(idx).asOctets(), asn1Spec=openType, allowEoo=True @@ -734,6 +850,9 @@ def indefLenValueDecoder(self, substrate, asn1Spec, componentType = asn1Spec.componentType + if LOG: + LOG('decoding type %r chosen by given `asn1Spec`' % componentType) + idx = 0 while substrate: @@ -747,7 +866,9 @@ def indefLenValueDecoder(self, substrate, asn1Spec, verifyConstraints=False, matchTags=False, matchConstraints=False ) + idx += 1 + else: raise error.SubstrateUnderrunError( 'No EOO seen before substrate ends' @@ -794,18 +915,25 @@ def valueDecoder(self, substrate, asn1Spec, if asn1Spec is None: asn1Object = self.protoComponent.clone(tagSet=tagSet) + else: asn1Object = asn1Spec.clone() if substrateFun: return substrateFun(asn1Object, substrate, length) - if asn1Object.tagSet == tagSet: # explicitly tagged Choice + if asn1Object.tagSet == tagSet: + if LOG: + LOG('decoding %s as explicitly tagged CHOICE' % (tagSet,)) + component, head = decodeFun( head, asn1Object.componentTagMap, **options ) else: + if LOG: + LOG('decoding %s as untagged CHOICE' % (tagSet,)) + component, head = decodeFun( head, asn1Object.componentTagMap, tagSet, length, state, **options @@ -813,6 +941,9 @@ def valueDecoder(self, substrate, asn1Spec, effectiveTagSet = component.effectiveTagSet + if LOG: + LOG('decoded component %s, effective tag set %s' % (component, effectiveTagSet)) + asn1Object.setComponentByType( effectiveTagSet, component, verifyConstraints=False, @@ -834,18 +965,26 @@ def indefLenValueDecoder(self, substrate, asn1Spec, if substrateFun: return substrateFun(asn1Object, substrate, length) - if asn1Object.tagSet == tagSet: # explicitly tagged Choice + if asn1Object.tagSet == tagSet: + if LOG: + LOG('decoding %s as explicitly tagged CHOICE' % (tagSet,)) + component, substrate = decodeFun( substrate, asn1Object.componentType.tagMapUnique, **options ) + # eat up EOO marker eooMarker, substrate = decodeFun( substrate, allowEoo=True, **options ) + if eooMarker is not eoo.endOfOctets: raise error.PyAsn1Error('No EOO seen before substrate ends') else: + if LOG: + LOG('decoding %s as untagged CHOICE' % (tagSet,)) + component, substrate = decodeFun( substrate, asn1Object.componentType.tagMapUnique, tagSet, length, state, **options @@ -853,6 +992,9 @@ def indefLenValueDecoder(self, substrate, asn1Spec, effectiveTagSet = component.effectiveTagSet + if LOG: + LOG('decoded component %s, effective tag set %s' % (component, effectiveTagSet)) + asn1Object.setComponentByType( effectiveTagSet, component, verifyConstraints=False, @@ -877,6 +1019,9 @@ def valueDecoder(self, substrate, asn1Spec, length += len(fullSubstrate) - len(substrate) substrate = fullSubstrate + if LOG: + LOG('decoding as untagged ANY, substrate %s' % debug.hexdump(substrate)) + if substrateFun: return substrateFun(self._createComponent(asn1Spec, tagSet, noValue, **options), substrate, length) @@ -892,12 +1037,19 @@ def indefLenValueDecoder(self, substrate, asn1Spec, if asn1Spec is not None and tagSet == asn1Spec.tagSet: # tagged Any type -- consume header substrate header = null + + if LOG: + LOG('decoding as tagged ANY') + else: fullSubstrate = options['fullSubstrate'] # untagged Any, recover header substrate header = fullSubstrate[:-len(substrate)] + if LOG: + LOG('decoding as untagged ANY, header substrate %s' % debug.hexdump(header)) + # Any components do not inherit initial tag asn1Spec = self.protoComponent @@ -905,6 +1057,9 @@ def indefLenValueDecoder(self, substrate, asn1Spec, asn1Object = self._createComponent(asn1Spec, tagSet, noValue, **options) return substrateFun(asn1Object, header + substrate, length + len(header)) + if LOG: + LOG('assembling constructed serialization') + # All inner fragments are of the same type, treat them as octet string substrateFun = self.substrateCollector @@ -914,13 +1069,17 @@ def indefLenValueDecoder(self, substrate, asn1Spec, allowEoo=True, **options) if component is eoo.endOfOctets: break + header += component + else: raise error.SubstrateUnderrunError( 'No EOO seen before substrate ends' ) + if substrateFun: return header, substrate + else: return self._createComponent(asn1Spec, tagSet, header, **options), substrate @@ -1063,21 +1222,16 @@ def __call__(self, substrate, asn1Spec=None, decodeFun=None, substrateFun=None, **options): - if debug.logger & debug.flagDecoder: - logger = debug.logger - else: - logger = None - - if logger: - logger('decoder called at scope %s with state %d, working with up to %d octets of substrate: %s' % (debug.scope, state, len(substrate), debug.hexdump(substrate))) + if LOG: + LOG('decoder called at scope %s with state %d, working with up to %d octets of substrate: %s' % (debug.scope, state, len(substrate), debug.hexdump(substrate))) allowEoo = options.pop('allowEoo', False) # Look for end-of-octets sentinel if allowEoo and self.supportIndefLength: if substrate[:2] == self.__eooSentinel: - if logger: - logger('end-of-octets sentinel found') + if LOG: + LOG('end-of-octets sentinel found') return eoo.endOfOctets, substrate[2:] value = noValue @@ -1090,26 +1244,32 @@ def __call__(self, substrate, asn1Spec=None, fullSubstrate = substrate while state is not stStop: + if state is stDecodeTag: if not substrate: raise error.SubstrateUnderrunError( 'Short octet stream on tag decoding' ) + # Decode tag isShortTag = True firstOctet = substrate[0] substrate = substrate[1:] + try: lastTag = tagCache[firstOctet] + except KeyError: integerTag = oct2int(firstOctet) tagClass = integerTag & 0xC0 tagFormat = integerTag & 0x20 tagId = integerTag & 0x1F + if tagId == 0x1F: isShortTag = False lengthOctetIdx = 0 tagId = 0 + try: while True: integerTag = oct2int(substrate[lengthOctetIdx]) @@ -1118,42 +1278,55 @@ def __call__(self, substrate, asn1Spec=None, tagId |= (integerTag & 0x7F) if not integerTag & 0x80: break + substrate = substrate[lengthOctetIdx:] + except IndexError: raise error.SubstrateUnderrunError( 'Short octet stream on long tag decoding' ) + lastTag = tag.Tag( tagClass=tagClass, tagFormat=tagFormat, tagId=tagId ) + if isShortTag: # cache short tags tagCache[firstOctet] = lastTag + if tagSet is None: if isShortTag: try: tagSet = tagSetCache[firstOctet] + except KeyError: # base tag not recovered tagSet = tag.TagSet((), lastTag) tagSetCache[firstOctet] = tagSet else: tagSet = tag.TagSet((), lastTag) + else: tagSet = lastTag + tagSet + state = stDecodeLength - if logger: - logger('tag decoded into %s, decoding length' % tagSet) + + if LOG: + LOG('tag decoded into %s, decoding length' % tagSet) + if state is stDecodeLength: # Decode length if not substrate: raise error.SubstrateUnderrunError( 'Short octet stream on length decoding' ) + firstOctet = oct2int(substrate[0]) + if firstOctet < 128: size = 1 length = firstOctet + elif firstOctet > 128: size = firstOctet & 0x7F # encoded in size bytes @@ -1164,28 +1337,36 @@ def __call__(self, substrate, asn1Spec=None, raise error.SubstrateUnderrunError( '%s<%s at %s' % (size, len(encodedLength), tagSet) ) + length = 0 for lengthOctet in encodedLength: length <<= 8 length |= lengthOctet size += 1 + else: size = 1 length = -1 substrate = substrate[size:] + if length == -1: if not self.supportIndefLength: raise error.PyAsn1Error('Indefinite length encoding not supported by this codec') + else: if len(substrate) < length: raise error.SubstrateUnderrunError('%d-octet short' % (length - len(substrate))) + state = stGetValueDecoder - if logger: - logger('value length decoded into %d, payload substrate is: %s' % (length, debug.hexdump(length == -1 and substrate or substrate[:length]))) + + if LOG: + LOG('value length decoded into %d, payload substrate is: %s' % (length, debug.hexdump(length == -1 and substrate or substrate[:length]))) + if state is stGetValueDecoder: if asn1Spec is None: state = stGetValueDecoderByTag + else: state = stGetValueDecoderByAsn1Spec # @@ -1207,41 +1388,55 @@ def __call__(self, substrate, asn1Spec=None, if state is stGetValueDecoderByTag: try: concreteDecoder = tagMap[tagSet] + except KeyError: concreteDecoder = None + if concreteDecoder: state = stDecodeValue + else: try: concreteDecoder = tagMap[tagSet[:1]] + except KeyError: concreteDecoder = None + if concreteDecoder: state = stDecodeValue else: state = stTryAsExplicitTag - if logger: - logger('codec %s chosen by a built-in type, decoding %s' % (concreteDecoder and concreteDecoder.__class__.__name__ or "", state is stDecodeValue and 'value' or 'as explicit tag')) + + if LOG: + LOG('codec %s chosen by a built-in type, decoding %s' % (concreteDecoder and concreteDecoder.__class__.__name__ or "", state is stDecodeValue and 'value' or 'as explicit tag')) debug.scope.push(concreteDecoder is None and '?' or concreteDecoder.protoComponent.__class__.__name__) + if state is stGetValueDecoderByAsn1Spec: + if asn1Spec.__class__ is tagmap.TagMap: try: chosenSpec = asn1Spec[tagSet] + except KeyError: chosenSpec = None - if logger: - logger('candidate ASN.1 spec is a map of:') + + if LOG: + LOG('candidate ASN.1 spec is a map of:') + for firstOctet, v in asn1Spec.presentTypes.items(): - logger(' %s -> %s' % (firstOctet, v.__class__.__name__)) + LOG(' %s -> %s' % (firstOctet, v.__class__.__name__)) + if asn1Spec.skipTypes: - logger('but neither of: ') + LOG('but neither of: ') for firstOctet, v in asn1Spec.skipTypes.items(): - logger(' %s -> %s' % (firstOctet, v.__class__.__name__)) - logger('new candidate ASN.1 spec is %s, chosen by %s' % (chosenSpec is None and '' or chosenSpec.prettyPrintType(), tagSet)) + LOG(' %s -> %s' % (firstOctet, v.__class__.__name__)) + LOG('new candidate ASN.1 spec is %s, chosen by %s' % (chosenSpec is None and '' or chosenSpec.prettyPrintType(), tagSet)) + elif tagSet == asn1Spec.tagSet or tagSet in asn1Spec.tagMap: chosenSpec = asn1Spec - if logger: - logger('candidate ASN.1 spec is %s' % asn1Spec.__class__.__name__) + if LOG: + LOG('candidate ASN.1 spec is %s' % asn1Spec.__class__.__name__) + else: chosenSpec = None @@ -1249,29 +1444,38 @@ def __call__(self, substrate, asn1Spec=None, try: # ambiguous type or just faster codec lookup concreteDecoder = typeMap[chosenSpec.typeId] - if logger: - logger('value decoder chosen for an ambiguous type by type ID %s' % (chosenSpec.typeId,)) + + if LOG: + LOG('value decoder chosen for an ambiguous type by type ID %s' % (chosenSpec.typeId,)) + except KeyError: # use base type for codec lookup to recover untagged types baseTagSet = tag.TagSet(chosenSpec.tagSet.baseTag, chosenSpec.tagSet.baseTag) try: # base type or tagged subtype concreteDecoder = tagMap[baseTagSet] - if logger: - logger('value decoder chosen by base %s' % (baseTagSet,)) + + if LOG: + LOG('value decoder chosen by base %s' % (baseTagSet,)) + except KeyError: concreteDecoder = None + if concreteDecoder: asn1Spec = chosenSpec state = stDecodeValue + else: state = stTryAsExplicitTag + else: concreteDecoder = None state = stTryAsExplicitTag - if logger: - logger('codec %s chosen by ASN.1 spec, decoding %s' % (state is stDecodeValue and concreteDecoder.__class__.__name__ or "", state is stDecodeValue and 'value' or 'as explicit tag')) + + if LOG: + LOG('codec %s chosen by ASN.1 spec, decoding %s' % (state is stDecodeValue and concreteDecoder.__class__.__name__ or "", state is stDecodeValue and 'value' or 'as explicit tag')) debug.scope.push(chosenSpec is None and '?' or chosenSpec.__class__.__name__) + if state is stDecodeValue: if not options.get('recursiveFlag', True) and not substrateFun: # deprecate this substrateFun = lambda a, b, c: (a, b[:c]) @@ -1285,6 +1489,7 @@ def __call__(self, substrate, asn1Spec=None, self, substrateFun, **options ) + else: value, substrate = concreteDecoder.valueDecoder( substrate, asn1Spec, @@ -1293,33 +1498,42 @@ def __call__(self, substrate, asn1Spec=None, **options ) - if logger: - logger('codec %s yields type %s, value:\n%s\n...remaining substrate is: %s' % (concreteDecoder.__class__.__name__, value.__class__.__name__, isinstance(value, base.Asn1Item) and value.prettyPrint() or value, substrate and debug.hexdump(substrate) or '')) + if LOG: + LOG('codec %s yields type %s, value:\n%s\n...remaining substrate is: %s' % (concreteDecoder.__class__.__name__, value.__class__.__name__, isinstance(value, base.Asn1Item) and value.prettyPrint() or value, substrate and debug.hexdump(substrate) or '')) state = stStop break + if state is stTryAsExplicitTag: if tagSet and tagSet[0].tagFormat == tag.tagFormatConstructed and tagSet[0].tagClass != tag.tagClassUniversal: # Assume explicit tagging concreteDecoder = explicitTagDecoder state = stDecodeValue + else: concreteDecoder = None state = self.defaultErrorState - if logger: - logger('codec %s chosen, decoding %s' % (concreteDecoder and concreteDecoder.__class__.__name__ or "", state is stDecodeValue and 'value' or 'as failure')) + + if LOG: + LOG('codec %s chosen, decoding %s' % (concreteDecoder and concreteDecoder.__class__.__name__ or "", state is stDecodeValue and 'value' or 'as failure')) + if state is stDumpRawValue: concreteDecoder = self.defaultRawDecoder - if logger: - logger('codec %s chosen, decoding value' % concreteDecoder.__class__.__name__) + + if LOG: + LOG('codec %s chosen, decoding value' % concreteDecoder.__class__.__name__) + state = stDecodeValue + if state is stErrorCondition: raise error.PyAsn1Error( '%s not in asn1Spec: %r' % (tagSet, asn1Spec) ) - if logger: + + if LOG: debug.scope.pop() - logger('decoder left scope %s, call completed' % debug.scope) + LOG('decoder left scope %s, call completed' % debug.scope) + return value, substrate diff --git a/bin/pyasn1/codec/ber/decoder.pyc b/bin/pyasn1/codec/ber/decoder.pyc deleted file mode 100644 index d520145e..00000000 Binary files a/bin/pyasn1/codec/ber/decoder.pyc and /dev/null differ diff --git a/bin/pyasn1/codec/ber/encoder.py b/bin/pyasn1/codec/ber/encoder.py index 0094b224..65b85141 100644 --- a/bin/pyasn1/codec/ber/encoder.py +++ b/bin/pyasn1/codec/ber/encoder.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # from pyasn1 import debug @@ -17,6 +17,8 @@ __all__ = ['encode'] +LOG = debug.registerLoggee(__name__, flags=debug.DEBUG_ENCODER) + class AbstractItemEncoder(object): supportIndefLenMode = True @@ -31,29 +33,39 @@ def encodeTag(self, singleTag, isConstructed): encodedTag = tagClass | tagFormat if isConstructed: encodedTag |= tag.tagFormatConstructed + if tagId < 31: return encodedTag | tagId, + else: substrate = tagId & 0x7f, + tagId >>= 7 + while tagId: substrate = (0x80 | (tagId & 0x7f),) + substrate tagId >>= 7 + return (encodedTag | 0x1F,) + substrate def encodeLength(self, length, defMode): if not defMode and self.supportIndefLenMode: return (0x80,) + if length < 0x80: return length, + else: substrate = () while length: substrate = (length & 0xff,) + substrate length >>= 8 + substrateLen = len(substrate) + if substrateLen > 126: raise error.PyAsn1Error('Length octets overflow (%d)' % substrateLen) + return (0x80 | substrateLen,) + substrate def encodeValue(self, value, asn1Spec, encodeFun, **options): @@ -85,16 +97,33 @@ def encode(self, value, asn1Spec=None, encodeFun=None, **options): value, asn1Spec, encodeFun, **options ) + if LOG: + LOG('encoded %svalue %s into %s' % ( + isConstructed and 'constructed ' or '', value, substrate + )) + if not substrate and isConstructed and options.get('ifNotEmpty', False): return substrate - # primitive form implies definite mode if not isConstructed: defModeOverride = True + if LOG: + LOG('overridden encoding mode into definitive for primitive type') + header = self.encodeTag(singleTag, isConstructed) + + if LOG: + LOG('encoded %stag %s into %s' % ( + isConstructed and 'constructed ' or '', + singleTag, debug.hexdump(ints2octs(header)))) + header += self.encodeLength(len(substrate), defModeOverride) + if LOG: + LOG('encoded %s octets (tag + payload) into %s' % ( + len(substrate), debug.hexdump(ints2octs(header)))) + if isOctets: substrate = ints2octs(header) + substrate @@ -131,6 +160,11 @@ class IntegerEncoder(AbstractItemEncoder): def encodeValue(self, value, asn1Spec, encodeFun, **options): if value == 0: + if LOG: + LOG('encoding %spayload for zero INTEGER' % ( + self.supportCompactZero and 'no ' or '' + )) + # de-facto way to encode zero if self.supportCompactZero: return (), False, False @@ -157,11 +191,15 @@ def encodeValue(self, value, asn1Spec, encodeFun, **options): substrate = alignedValue.asOctets() return int2oct(len(substrate) * 8 - valueLength) + substrate, False, True + if LOG: + LOG('encoding into up to %s-octet chunks' % maxChunkSize) + baseTag = value.tagSet.baseTag # strip off explicit tags if baseTag: tagSet = tag.TagSet(baseTag, baseTag) + else: tagSet = tag.TagSet() @@ -195,44 +233,47 @@ def encodeValue(self, value, asn1Spec, encodeFun, **options): if not maxChunkSize or len(substrate) <= maxChunkSize: return substrate, False, True - else: + if LOG: + LOG('encoding into up to %s-octet chunks' % maxChunkSize) - # strip off explicit tags for inner chunks + # strip off explicit tags for inner chunks - if asn1Spec is None: - baseTag = value.tagSet.baseTag + if asn1Spec is None: + baseTag = value.tagSet.baseTag + + # strip off explicit tags + if baseTag: + tagSet = tag.TagSet(baseTag, baseTag) + + else: + tagSet = tag.TagSet() - # strip off explicit tags - if baseTag: - tagSet = tag.TagSet(baseTag, baseTag) - else: - tagSet = tag.TagSet() + asn1Spec = value.clone(tagSet=tagSet) - asn1Spec = value.clone(tagSet=tagSet) + elif not isOctetsType(value): + baseTag = asn1Spec.tagSet.baseTag - elif not isOctetsType(value): - baseTag = asn1Spec.tagSet.baseTag + # strip off explicit tags + if baseTag: + tagSet = tag.TagSet(baseTag, baseTag) - # strip off explicit tags - if baseTag: - tagSet = tag.TagSet(baseTag, baseTag) - else: - tagSet = tag.TagSet() + else: + tagSet = tag.TagSet() - asn1Spec = asn1Spec.clone(tagSet=tagSet) + asn1Spec = asn1Spec.clone(tagSet=tagSet) - pos = 0 - substrate = null + pos = 0 + substrate = null - while True: - chunk = value[pos:pos + maxChunkSize] - if not chunk: - break + while True: + chunk = value[pos:pos + maxChunkSize] + if not chunk: + break - substrate += encodeFun(chunk, asn1Spec, **options) - pos += maxChunkSize + substrate += encodeFun(chunk, asn1Spec, **options) + pos += maxChunkSize - return substrate, True, True + return substrate, True, True class NullEncoder(AbstractItemEncoder): @@ -268,8 +309,10 @@ def encodeValue(self, value, asn1Spec, encodeFun, **options): oid = (second + 80,) + oid[2:] else: raise error.PyAsn1Error('Impossible first/second arcs at %s' % (value,)) + elif first == 2: oid = (second + 80,) + oid[2:] + else: raise error.PyAsn1Error('Impossible first/second arcs at %s' % (value,)) @@ -280,15 +323,19 @@ def encodeValue(self, value, asn1Spec, encodeFun, **options): if 0 <= subOid <= 127: # Optimize for the common case octets += (subOid,) + elif subOid > 127: # Pack large Sub-Object IDs res = (subOid & 0x7f,) subOid >>= 7 + while subOid: res = (0x80 | (subOid & 0x7f),) + res subOid >>= 7 + # Add packed Sub-Object ID to resulted Object ID octets += res + else: raise error.PyAsn1Error('Negative OID arc %s at %s' % (subOid, value)) @@ -304,12 +351,16 @@ def _dropFloatingPoint(m, encbase, e): ms, es = 1, 1 if m < 0: ms = -1 # mantissa sign + if e < 0: - es = -1 # exponenta sign + es = -1 # exponent sign + m *= ms + if encbase == 8: m *= 2 ** (abs(e) % 3 * es) e = abs(e) // 3 * es + elif encbase == 16: m *= 2 ** (abs(e) % 4 * es) e = abs(e) // 4 * es @@ -320,6 +371,7 @@ def _dropFloatingPoint(m, encbase, e): e -= 1 continue break + return ms, int(m), encbase, e def _chooseEncBase(self, value): @@ -327,23 +379,32 @@ def _chooseEncBase(self, value): encBase = [2, 8, 16] if value.binEncBase in encBase: return self._dropFloatingPoint(m, value.binEncBase, e) + elif self.binEncBase in encBase: return self._dropFloatingPoint(m, self.binEncBase, e) - # auto choosing base 2/8/16 + + # auto choosing base 2/8/16 mantissa = [m, m, m] - exponenta = [e, e, e] + exponent = [e, e, e] sign = 1 encbase = 2 e = float('inf') + for i in range(3): (sign, mantissa[i], encBase[i], - exponenta[i]) = self._dropFloatingPoint(mantissa[i], encBase[i], exponenta[i]) - if abs(exponenta[i]) < abs(e) or (abs(exponenta[i]) == abs(e) and mantissa[i] < m): - e = exponenta[i] + exponent[i]) = self._dropFloatingPoint(mantissa[i], encBase[i], exponent[i]) + + if abs(exponent[i]) < abs(e) or (abs(exponent[i]) == abs(e) and mantissa[i] < m): + e = exponent[i] m = int(mantissa[i]) encbase = encBase[i] + + if LOG: + LOG('automatically chosen REAL encoding base %s, sign %s, mantissa %s, ' + 'exponent %s' % (encbase, sign, m, e)) + return sign, m, encbase, e def encodeValue(self, value, asn1Spec, encodeFun, **options): @@ -352,69 +413,98 @@ def encodeValue(self, value, asn1Spec, encodeFun, **options): if value.isPlusInf: return (0x40,), False, False + if value.isMinusInf: return (0x41,), False, False + m, b, e = value + if not m: return null, False, True + if b == 10: + if LOG: + LOG('encoding REAL into character form') + return str2octs('\x03%dE%s%d' % (m, e == 0 and '+' or '', e)), False, True + elif b == 2: fo = 0x80 # binary encoding ms, m, encbase, e = self._chooseEncBase(value) + if ms < 0: # mantissa sign fo |= 0x40 # sign bit - # exponenta & mantissa normalization + + # exponent & mantissa normalization if encbase == 2: while m & 0x1 == 0: m >>= 1 e += 1 + elif encbase == 8: while m & 0x7 == 0: m >>= 3 e += 1 fo |= 0x10 + else: # encbase = 16 while m & 0xf == 0: m >>= 4 e += 1 fo |= 0x20 + sf = 0 # scale factor + while m & 0x1 == 0: m >>= 1 sf += 1 + if sf > 3: raise error.PyAsn1Error('Scale factor overflow') # bug if raised + fo |= sf << 2 eo = null if e == 0 or e == -1: eo = int2oct(e & 0xff) + else: while e not in (0, -1): eo = int2oct(e & 0xff) + eo e >>= 8 + if e == 0 and eo and oct2int(eo[0]) & 0x80: eo = int2oct(0) + eo + if e == -1 and eo and not (oct2int(eo[0]) & 0x80): eo = int2oct(0xff) + eo + n = len(eo) if n > 0xff: raise error.PyAsn1Error('Real exponent overflow') + if n == 1: pass + elif n == 2: fo |= 1 + elif n == 3: fo |= 2 + else: fo |= 3 eo = int2oct(n & 0xff) + eo + po = null + while m: po = int2oct(m & 0xff) + po m >>= 8 + substrate = int2oct(fo) + eo + po + return substrate, False, True + else: raise error.PyAsn1Error('Prohibited Real base %s' % b) @@ -439,10 +529,14 @@ def encodeValue(self, value, asn1Spec, encodeFun, **options): namedType = namedTypes[idx] if namedType.isOptional and not component.isValue: - continue + if LOG: + LOG('not encoding OPTIONAL component %r' % (namedType,)) + continue if namedType.isDefaulted and component == namedType.asn1Object: - continue + if LOG: + LOG('not encoding DEFAULT component %r' % (namedType,)) + continue if self.omitEmptyOptionals: options.update(ifNotEmpty=namedType.isOptional) @@ -455,6 +549,9 @@ def encodeValue(self, value, asn1Spec, encodeFun, **options): if wrapType.tagSet and not wrapType.isSameTypeWith(component): chunk = encodeFun(chunk, wrapType, **options) + if LOG: + LOG('wrapped open type with wrap type %r' % (wrapType,)) + substrate += chunk else: @@ -465,12 +562,17 @@ def encodeValue(self, value, asn1Spec, encodeFun, **options): component = value[namedType.name] except KeyError: - raise error.PyAsn1Error('Component name "%s" not found in %r' % (namedType.name, value)) + raise error.PyAsn1Error('Component name "%s" not found in %r' % ( + namedType.name, value)) if namedType.isOptional and namedType.name not in value: + if LOG: + LOG('not encoding OPTIONAL component %r' % (namedType,)) continue if namedType.isDefaulted and component == namedType.asn1Object: + if LOG: + LOG('not encoding DEFAULT component %r' % (namedType,)) continue if self.omitEmptyOptionals: @@ -484,6 +586,9 @@ def encodeValue(self, value, asn1Spec, encodeFun, **options): if wrapType.tagSet and not wrapType.isSameTypeWith(component): chunk = encodeFun(chunk, wrapType, **options) + if LOG: + LOG('wrapped open type with wrap type %r' % (wrapType,)) + substrate += chunk return substrate, True, True @@ -620,13 +725,8 @@ def __call__(self, value, asn1Spec=None, **options): raise error.PyAsn1Error('Value %r is not ASN.1 type instance ' 'and "asn1Spec" not given' % (value,)) - if debug.logger & debug.flagEncoder: - logger = debug.logger - else: - logger = None - - if logger: - logger('encoder called in %sdef mode, chunk size %s for ' + if LOG: + LOG('encoder called in %sdef mode, chunk size %s for ' 'type %s, value:\n%s' % (not options.get('defMode', True) and 'in' or '', options.get('maxChunkSize', 0), asn1Spec is None and value.prettyPrintType() or asn1Spec.prettyPrintType(), value)) if self.fixedDefLengthMode is not None: @@ -639,8 +739,8 @@ def __call__(self, value, asn1Spec=None, **options): try: concreteEncoder = self.__typeMap[typeId] - if logger: - logger('using value codec %s chosen by type ID %s' % (concreteEncoder.__class__.__name__, typeId)) + if LOG: + LOG('using value codec %s chosen by type ID %s' % (concreteEncoder.__class__.__name__, typeId)) except KeyError: if asn1Spec is None: @@ -657,13 +757,13 @@ def __call__(self, value, asn1Spec=None, **options): except KeyError: raise error.PyAsn1Error('No encoder for %r (%s)' % (value, tagSet)) - if logger: - logger('using value codec %s chosen by tagSet %s' % (concreteEncoder.__class__.__name__, tagSet)) + if LOG: + LOG('using value codec %s chosen by tagSet %s' % (concreteEncoder.__class__.__name__, tagSet)) substrate = concreteEncoder.encode(value, asn1Spec, self, **options) - if logger: - logger('codec %s built %s octets of substrate: %s\nencoder completed' % (concreteEncoder, len(substrate), debug.hexdump(substrate))) + if LOG: + LOG('codec %s built %s octets of substrate: %s\nencoder completed' % (concreteEncoder, len(substrate), debug.hexdump(substrate))) return substrate diff --git a/bin/pyasn1/codec/ber/encoder.pyc b/bin/pyasn1/codec/ber/encoder.pyc deleted file mode 100644 index 9d87e04c..00000000 Binary files a/bin/pyasn1/codec/ber/encoder.pyc and /dev/null differ diff --git a/bin/pyasn1/codec/ber/eoo.py b/bin/pyasn1/codec/ber/eoo.py index d4cd827a..b613b530 100644 --- a/bin/pyasn1/codec/ber/eoo.py +++ b/bin/pyasn1/codec/ber/eoo.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # from pyasn1.type import base diff --git a/bin/pyasn1/codec/ber/eoo.pyc b/bin/pyasn1/codec/ber/eoo.pyc deleted file mode 100644 index 171baac7..00000000 Binary files a/bin/pyasn1/codec/ber/eoo.pyc and /dev/null differ diff --git a/bin/pyasn1/codec/cer/__init__.pyc b/bin/pyasn1/codec/cer/__init__.pyc deleted file mode 100644 index 56618f7d..00000000 Binary files a/bin/pyasn1/codec/cer/__init__.pyc and /dev/null differ diff --git a/bin/pyasn1/codec/cer/decoder.py b/bin/pyasn1/codec/cer/decoder.py index 66572ecb..5099e3c2 100644 --- a/bin/pyasn1/codec/cer/decoder.py +++ b/bin/pyasn1/codec/cer/decoder.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # from pyasn1 import error diff --git a/bin/pyasn1/codec/cer/decoder.pyc b/bin/pyasn1/codec/cer/decoder.pyc deleted file mode 100644 index aa0f4854..00000000 Binary files a/bin/pyasn1/codec/cer/decoder.pyc and /dev/null differ diff --git a/bin/pyasn1/codec/cer/encoder.py b/bin/pyasn1/codec/cer/encoder.py index 768d3c11..788567f2 100644 --- a/bin/pyasn1/codec/cer/encoder.py +++ b/bin/pyasn1/codec/cer/encoder.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # from pyasn1 import error @@ -41,7 +41,7 @@ class TimeEncoderMixIn(object): def encodeValue(self, value, asn1Spec, encodeFun, **options): # Encoding constraints: # - minutes are mandatory, seconds are optional - # - subseconds must NOT be zero + # - sub-seconds must NOT be zero # - no hanging fraction dot # - time in UTC (Z) # - only dot is allowed for fractions diff --git a/bin/pyasn1/codec/cer/encoder.pyc b/bin/pyasn1/codec/cer/encoder.pyc deleted file mode 100644 index e57ffd9b..00000000 Binary files a/bin/pyasn1/codec/cer/encoder.pyc and /dev/null differ diff --git a/bin/pyasn1/codec/der/__init__.pyc b/bin/pyasn1/codec/der/__init__.pyc deleted file mode 100644 index 66790992..00000000 Binary files a/bin/pyasn1/codec/der/__init__.pyc and /dev/null differ diff --git a/bin/pyasn1/codec/der/decoder.py b/bin/pyasn1/codec/der/decoder.py index f67d0250..261bab89 100644 --- a/bin/pyasn1/codec/der/decoder.py +++ b/bin/pyasn1/codec/der/decoder.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # from pyasn1.codec.cer import decoder diff --git a/bin/pyasn1/codec/der/decoder.pyc b/bin/pyasn1/codec/der/decoder.pyc deleted file mode 100644 index b8064596..00000000 Binary files a/bin/pyasn1/codec/der/decoder.pyc and /dev/null differ diff --git a/bin/pyasn1/codec/der/encoder.py b/bin/pyasn1/codec/der/encoder.py index 756d9fe9..5e3c5717 100644 --- a/bin/pyasn1/codec/der/encoder.py +++ b/bin/pyasn1/codec/der/encoder.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # from pyasn1 import error diff --git a/bin/pyasn1/codec/der/encoder.pyc b/bin/pyasn1/codec/der/encoder.pyc deleted file mode 100644 index 58b4e004..00000000 Binary files a/bin/pyasn1/codec/der/encoder.pyc and /dev/null differ diff --git a/bin/pyasn1/codec/native/__init__.pyc b/bin/pyasn1/codec/native/__init__.pyc deleted file mode 100644 index 2538e581..00000000 Binary files a/bin/pyasn1/codec/native/__init__.pyc and /dev/null differ diff --git a/bin/pyasn1/codec/native/decoder.py b/bin/pyasn1/codec/native/decoder.py index 78fcda68..10e20158 100644 --- a/bin/pyasn1/codec/native/decoder.py +++ b/bin/pyasn1/codec/native/decoder.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # from pyasn1 import debug @@ -14,6 +14,8 @@ __all__ = ['decode'] +LOG = debug.registerLoggee(__name__, flags=debug.DEBUG_DECODER) + class AbstractScalarDecoder(object): def __call__(self, pyObject, asn1Spec, decodeFun=None, **options): @@ -136,13 +138,10 @@ def __init__(self, tagMap, typeMap): self.__typeMap = typeMap def __call__(self, pyObject, asn1Spec, **options): - if debug.logger & debug.flagDecoder: - logger = debug.logger - else: - logger = None - if logger: + + if LOG: debug.scope.push(type(pyObject).__name__) - logger('decoder called at scope %s, working with type %s' % (debug.scope, type(pyObject).__name__)) + LOG('decoder called at scope %s, working with type %s' % (debug.scope, type(pyObject).__name__)) if asn1Spec is None or not isinstance(asn1Spec, base.Asn1Item): raise error.PyAsn1Error('asn1Spec is not valid (should be an instance of an ASN.1 Item, not %s)' % asn1Spec.__class__.__name__) @@ -159,13 +158,13 @@ def __call__(self, pyObject, asn1Spec, **options): except KeyError: raise error.PyAsn1Error('Unknown ASN.1 tag %s' % asn1Spec.tagSet) - if logger: - logger('calling decoder %s on Python type %s <%s>' % (type(valueDecoder).__name__, type(pyObject).__name__, repr(pyObject))) + if LOG: + LOG('calling decoder %s on Python type %s <%s>' % (type(valueDecoder).__name__, type(pyObject).__name__, repr(pyObject))) value = valueDecoder(pyObject, asn1Spec, self, **options) - if logger: - logger('decoder %s produced ASN.1 type %s <%s>' % (type(valueDecoder).__name__, type(value).__name__, repr(value))) + if LOG: + LOG('decoder %s produced ASN.1 type %s <%s>' % (type(valueDecoder).__name__, type(value).__name__, repr(value))) debug.scope.pop() return value diff --git a/bin/pyasn1/codec/native/decoder.pyc b/bin/pyasn1/codec/native/decoder.pyc deleted file mode 100644 index 99b2ca6d..00000000 Binary files a/bin/pyasn1/codec/native/decoder.pyc and /dev/null differ diff --git a/bin/pyasn1/codec/native/encoder.py b/bin/pyasn1/codec/native/encoder.py index 0956191e..50caa531 100644 --- a/bin/pyasn1/codec/native/encoder.py +++ b/bin/pyasn1/codec/native/encoder.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # try: @@ -20,6 +20,8 @@ __all__ = ['encode'] +LOG = debug.registerLoggee(__name__, flags=debug.DEBUG_ENCODER) + class AbstractItemEncoder(object): def encode(self, value, encodeFun, **options): @@ -180,14 +182,9 @@ def __call__(self, value, **options): if not isinstance(value, base.Asn1Item): raise error.PyAsn1Error('value is not valid (should be an instance of an ASN.1 Item)') - if debug.logger & debug.flagEncoder: - logger = debug.logger - else: - logger = None - - if logger: + if LOG: debug.scope.push(type(value).__name__) - logger('encoder called for type %s <%s>' % (type(value).__name__, value.prettyPrint())) + LOG('encoder called for type %s <%s>' % (type(value).__name__, value.prettyPrint())) tagSet = value.tagSet @@ -204,13 +201,13 @@ def __call__(self, value, **options): except KeyError: raise error.PyAsn1Error('No encoder for %s' % (value,)) - if logger: - logger('using value codec %s chosen by %s' % (concreteEncoder.__class__.__name__, tagSet)) + if LOG: + LOG('using value codec %s chosen by %s' % (concreteEncoder.__class__.__name__, tagSet)) pyObject = concreteEncoder.encode(value, self, **options) - if logger: - logger('encoder %s produced: %s' % (type(concreteEncoder).__name__, repr(pyObject))) + if LOG: + LOG('encoder %s produced: %s' % (type(concreteEncoder).__name__, repr(pyObject))) debug.scope.pop() return pyObject diff --git a/bin/pyasn1/codec/native/encoder.pyc b/bin/pyasn1/codec/native/encoder.pyc deleted file mode 100644 index e9629293..00000000 Binary files a/bin/pyasn1/codec/native/encoder.pyc and /dev/null differ diff --git a/bin/pyasn1/compat/__init__.pyc b/bin/pyasn1/compat/__init__.pyc deleted file mode 100644 index 4f3fa300..00000000 Binary files a/bin/pyasn1/compat/__init__.pyc and /dev/null differ diff --git a/bin/pyasn1/compat/binary.py b/bin/pyasn1/compat/binary.py index c38a6508..addbdc9c 100644 --- a/bin/pyasn1/compat/binary.py +++ b/bin/pyasn1/compat/binary.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # from sys import version_info diff --git a/bin/pyasn1/compat/binary.pyc b/bin/pyasn1/compat/binary.pyc deleted file mode 100644 index eedb9f5f..00000000 Binary files a/bin/pyasn1/compat/binary.pyc and /dev/null differ diff --git a/bin/pyasn1/compat/calling.py b/bin/pyasn1/compat/calling.py index c60b50d8..778a3d15 100644 --- a/bin/pyasn1/compat/calling.py +++ b/bin/pyasn1/compat/calling.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # from sys import version_info diff --git a/bin/pyasn1/compat/calling.pyc b/bin/pyasn1/compat/calling.pyc deleted file mode 100644 index 5a64826c..00000000 Binary files a/bin/pyasn1/compat/calling.pyc and /dev/null differ diff --git a/bin/pyasn1/compat/dateandtime.py b/bin/pyasn1/compat/dateandtime.py index 27526ade..5e471bf7 100644 --- a/bin/pyasn1/compat/dateandtime.py +++ b/bin/pyasn1/compat/dateandtime.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # import time diff --git a/bin/pyasn1/compat/dateandtime.pyc b/bin/pyasn1/compat/dateandtime.pyc deleted file mode 100644 index 7570dab3..00000000 Binary files a/bin/pyasn1/compat/dateandtime.pyc and /dev/null differ diff --git a/bin/pyasn1/compat/integer.py b/bin/pyasn1/compat/integer.py index bb3d099e..4b31791d 100644 --- a/bin/pyasn1/compat/integer.py +++ b/bin/pyasn1/compat/integer.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # import sys diff --git a/bin/pyasn1/compat/integer.pyc b/bin/pyasn1/compat/integer.pyc deleted file mode 100644 index ff371484..00000000 Binary files a/bin/pyasn1/compat/integer.pyc and /dev/null differ diff --git a/bin/pyasn1/compat/octets.py b/bin/pyasn1/compat/octets.py index a06db5dd..99d23bb3 100644 --- a/bin/pyasn1/compat/octets.py +++ b/bin/pyasn1/compat/octets.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # from sys import version_info diff --git a/bin/pyasn1/compat/octets.pyc b/bin/pyasn1/compat/octets.pyc deleted file mode 100644 index 1eaaa6f8..00000000 Binary files a/bin/pyasn1/compat/octets.pyc and /dev/null differ diff --git a/bin/pyasn1/compat/string.py b/bin/pyasn1/compat/string.py index 4d8a045a..b9bc8c38 100644 --- a/bin/pyasn1/compat/string.py +++ b/bin/pyasn1/compat/string.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # from sys import version_info diff --git a/bin/pyasn1/compat/string.pyc b/bin/pyasn1/compat/string.pyc deleted file mode 100644 index 079375f4..00000000 Binary files a/bin/pyasn1/compat/string.pyc and /dev/null differ diff --git a/bin/pyasn1/debug.py b/bin/pyasn1/debug.py index ab72fa84..8707aa88 100644 --- a/bin/pyasn1/debug.py +++ b/bin/pyasn1/debug.py @@ -1,10 +1,11 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # import logging +import sys from pyasn1 import __version__ from pyasn1 import error @@ -12,18 +13,20 @@ __all__ = ['Debug', 'setLogger', 'hexdump'] -flagNone = 0x0000 -flagEncoder = 0x0001 -flagDecoder = 0x0002 -flagAll = 0xffff +DEBUG_NONE = 0x0000 +DEBUG_ENCODER = 0x0001 +DEBUG_DECODER = 0x0002 +DEBUG_ALL = 0xffff -flagMap = { - 'none': flagNone, - 'encoder': flagEncoder, - 'decoder': flagDecoder, - 'all': flagAll +FLAG_MAP = { + 'none': DEBUG_NONE, + 'encoder': DEBUG_ENCODER, + 'decoder': DEBUG_DECODER, + 'all': DEBUG_ALL } +LOGGEE_MAP = {} + class Printer(object): # noinspection PyShadowingNames @@ -66,7 +69,7 @@ class Debug(object): defaultPrinter = Printer() def __init__(self, *flags, **options): - self._flags = flagNone + self._flags = DEBUG_NONE if 'loggerName' in options: # route our logs to parent logger @@ -89,9 +92,9 @@ def __init__(self, *flags, **options): flag = flag[1:] try: if inverse: - self._flags &= ~flagMap[flag] + self._flags &= ~FLAG_MAP[flag] else: - self._flags |= flagMap[flag] + self._flags |= FLAG_MAP[flag] except KeyError: raise error.PyAsn1Error('bad debug flag %s' % flag) @@ -109,17 +112,26 @@ def __and__(self, flag): def __rand__(self, flag): return flag & self._flags - -logger = 0 +_LOG = DEBUG_NONE def setLogger(userLogger): - global logger + global _LOG if userLogger: - logger = userLogger + _LOG = userLogger else: - logger = 0 + _LOG = DEBUG_NONE + + # Update registered logging clients + for module, (name, flags) in LOGGEE_MAP.items(): + setattr(module, name, _LOG & flags and _LOG or DEBUG_NONE) + + +def registerLoggee(module, name='LOG', flags=DEBUG_NONE): + LOGGEE_MAP[sys.modules[module]] = name, flags + setLogger(_LOG) + return _LOG def hexdump(octets): diff --git a/bin/pyasn1/debug.pyc b/bin/pyasn1/debug.pyc deleted file mode 100644 index 4d13af78..00000000 Binary files a/bin/pyasn1/debug.pyc and /dev/null differ diff --git a/bin/pyasn1/error.py b/bin/pyasn1/error.py index c05e65c6..7f606bbd 100644 --- a/bin/pyasn1/error.py +++ b/bin/pyasn1/error.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # @@ -25,5 +25,5 @@ class SubstrateUnderrunError(PyAsn1Error): """Create pyasn1 exception object The `SubstrateUnderrunError` exception indicates insufficient serialised - data on input of a deserialisation routine. + data on input of a de-serialization routine. """ diff --git a/bin/pyasn1/error.pyc b/bin/pyasn1/error.pyc deleted file mode 100644 index 8774bce8..00000000 Binary files a/bin/pyasn1/error.pyc and /dev/null differ diff --git a/bin/pyasn1/type/__init__.pyc b/bin/pyasn1/type/__init__.pyc deleted file mode 100644 index 072520b8..00000000 Binary files a/bin/pyasn1/type/__init__.pyc and /dev/null differ diff --git a/bin/pyasn1/type/base.py b/bin/pyasn1/type/base.py index adaab228..7995118b 100644 --- a/bin/pyasn1/type/base.py +++ b/bin/pyasn1/type/base.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # import sys @@ -343,10 +343,10 @@ class takes on instantiation except that all arguments value = self._value - initilaizers = self.readOnly.copy() - initilaizers.update(kwargs) + initializers = self.readOnly.copy() + initializers.update(kwargs) - return self.__class__(value, **initilaizers) + return self.__class__(value, **initializers) def subtype(self, value=noValue, **kwargs): """Create a specialization of |ASN.1| schema or value object. @@ -540,10 +540,10 @@ class takes on instantiation except that all arguments """ cloneValueFlag = kwargs.pop('cloneValueFlag', False) - initilaizers = self.readOnly.copy() - initilaizers.update(kwargs) + initializers = self.readOnly.copy() + initializers.update(kwargs) - clone = self.__class__(**initilaizers) + clone = self.__class__(**initializers) if cloneValueFlag: self._cloneComponentValues(clone, cloneValueFlag) diff --git a/bin/pyasn1/type/base.pyc b/bin/pyasn1/type/base.pyc deleted file mode 100644 index dcfdf774..00000000 Binary files a/bin/pyasn1/type/base.pyc and /dev/null differ diff --git a/bin/pyasn1/type/char.py b/bin/pyasn1/type/char.py index 493badb9..617b98dd 100644 --- a/bin/pyasn1/type/char.py +++ b/bin/pyasn1/type/char.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # import sys diff --git a/bin/pyasn1/type/char.pyc b/bin/pyasn1/type/char.pyc deleted file mode 100644 index bd499124..00000000 Binary files a/bin/pyasn1/type/char.pyc and /dev/null differ diff --git a/bin/pyasn1/type/constraint.py b/bin/pyasn1/type/constraint.py index a7043310..9d8883dd 100644 --- a/bin/pyasn1/type/constraint.py +++ b/bin/pyasn1/type/constraint.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # # Original concept and code by Mike C. Fletcher. @@ -352,7 +352,7 @@ def _testValue(self, value, idx): if idx not in self.__multipleTypeConstraint: raise error.ValueConstraintError(value) constraint, status = self.__multipleTypeConstraint[idx] - if status == 'ABSENT': # XXX presense is not checked! + if status == 'ABSENT': # XXX presence is not checked! raise error.ValueConstraintError(value) constraint(value) diff --git a/bin/pyasn1/type/constraint.pyc b/bin/pyasn1/type/constraint.pyc deleted file mode 100644 index 5b2bd447..00000000 Binary files a/bin/pyasn1/type/constraint.pyc and /dev/null differ diff --git a/bin/pyasn1/type/error.py b/bin/pyasn1/type/error.py index b2056bd6..80fcf3bd 100644 --- a/bin/pyasn1/type/error.py +++ b/bin/pyasn1/type/error.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # from pyasn1.error import PyAsn1Error diff --git a/bin/pyasn1/type/error.pyc b/bin/pyasn1/type/error.pyc deleted file mode 100644 index 936efff3..00000000 Binary files a/bin/pyasn1/type/error.pyc and /dev/null differ diff --git a/bin/pyasn1/type/namedtype.py b/bin/pyasn1/type/namedtype.py index f162d194..71f5f11c 100644 --- a/bin/pyasn1/type/namedtype.py +++ b/bin/pyasn1/type/namedtype.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # import sys @@ -265,18 +265,18 @@ def __computeNameToPosMap(self): return nameToPosMap def __computeAmbiguousTypes(self): - ambigiousTypes = {} - partialAmbigiousTypes = () + ambiguousTypes = {} + partialAmbiguousTypes = () for idx, namedType in reversed(tuple(enumerate(self.__namedTypes))): if namedType.isOptional or namedType.isDefaulted: - partialAmbigiousTypes = (namedType,) + partialAmbigiousTypes + partialAmbiguousTypes = (namedType,) + partialAmbiguousTypes else: - partialAmbigiousTypes = (namedType,) - if len(partialAmbigiousTypes) == len(self.__namedTypes): - ambigiousTypes[idx] = self + partialAmbiguousTypes = (namedType,) + if len(partialAmbiguousTypes) == len(self.__namedTypes): + ambiguousTypes[idx] = self else: - ambigiousTypes[idx] = NamedTypes(*partialAmbigiousTypes, **dict(terminal=True)) - return ambigiousTypes + ambiguousTypes[idx] = NamedTypes(*partialAmbiguousTypes, **dict(terminal=True)) + return ambiguousTypes def getTypeByPosition(self, idx): """Return ASN.1 type object by its position in fields set. diff --git a/bin/pyasn1/type/namedtype.pyc b/bin/pyasn1/type/namedtype.pyc deleted file mode 100644 index 9291cb0b..00000000 Binary files a/bin/pyasn1/type/namedtype.pyc and /dev/null differ diff --git a/bin/pyasn1/type/namedval.py b/bin/pyasn1/type/namedval.py index 59257e48..2233aaf7 100644 --- a/bin/pyasn1/type/namedval.py +++ b/bin/pyasn1/type/namedval.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # # ASN.1 named integers diff --git a/bin/pyasn1/type/namedval.pyc b/bin/pyasn1/type/namedval.pyc deleted file mode 100644 index 6617d767..00000000 Binary files a/bin/pyasn1/type/namedval.pyc and /dev/null differ diff --git a/bin/pyasn1/type/opentype.py b/bin/pyasn1/type/opentype.py index d14ab340..d37a533b 100644 --- a/bin/pyasn1/type/opentype.py +++ b/bin/pyasn1/type/opentype.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # diff --git a/bin/pyasn1/type/opentype.pyc b/bin/pyasn1/type/opentype.pyc deleted file mode 100644 index 15a57f94..00000000 Binary files a/bin/pyasn1/type/opentype.pyc and /dev/null differ diff --git a/bin/pyasn1/type/tag.py b/bin/pyasn1/type/tag.py index 95c226f6..b46f491c 100644 --- a/bin/pyasn1/type/tag.py +++ b/bin/pyasn1/type/tag.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # from pyasn1 import error diff --git a/bin/pyasn1/type/tag.pyc b/bin/pyasn1/type/tag.pyc deleted file mode 100644 index 65c9e71b..00000000 Binary files a/bin/pyasn1/type/tag.pyc and /dev/null differ diff --git a/bin/pyasn1/type/tagmap.py b/bin/pyasn1/type/tagmap.py index a9d237f2..e53a14d5 100644 --- a/bin/pyasn1/type/tagmap.py +++ b/bin/pyasn1/type/tagmap.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # from pyasn1 import error diff --git a/bin/pyasn1/type/tagmap.pyc b/bin/pyasn1/type/tagmap.pyc deleted file mode 100644 index e8ef2463..00000000 Binary files a/bin/pyasn1/type/tagmap.pyc and /dev/null differ diff --git a/bin/pyasn1/type/univ.py b/bin/pyasn1/type/univ.py index 898cf255..7fab69f2 100644 --- a/bin/pyasn1/type/univ.py +++ b/bin/pyasn1/type/univ.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # import math @@ -2347,7 +2347,9 @@ def setComponentByPosition(self, idx, value=noValue, if value is noValue: if componentTypeLen: - value = componentType.getTypeByPosition(idx).clone() + value = componentType.getTypeByPosition(idx) + if isinstance(value, base.AbstractConstructedAsn1Item): + value = value.clone(cloneValueFlag=componentType[idx].isDefaulted) elif currentValue is noValue: raise error.PyAsn1Error('Component type not defined') diff --git a/bin/pyasn1/type/univ.pyc b/bin/pyasn1/type/univ.pyc deleted file mode 100644 index 2592f727..00000000 Binary files a/bin/pyasn1/type/univ.pyc and /dev/null differ diff --git a/bin/pyasn1/type/useful.py b/bin/pyasn1/type/useful.py index 146916d4..7536b95c 100644 --- a/bin/pyasn1/type/useful.py +++ b/bin/pyasn1/type/useful.py @@ -1,7 +1,7 @@ # # This file is part of pyasn1 software. # -# Copyright (c) 2005-2018, Ilya Etingof +# Copyright (c) 2005-2019, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # import datetime diff --git a/bin/pyasn1/type/useful.pyc b/bin/pyasn1/type/useful.pyc deleted file mode 100644 index 2f0b6c62..00000000 Binary files a/bin/pyasn1/type/useful.pyc and /dev/null differ diff --git a/bin/python_dateutil-2.7.5.dist-info/INSTALLER b/bin/python_dateutil-2.7.5.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/bin/python_dateutil-2.7.5.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/bin/python_dateutil-2.7.5.dist-info/LICENSE.txt b/bin/python_dateutil-2.7.5.dist-info/LICENSE.txt deleted file mode 100644 index 1e65815c..00000000 --- a/bin/python_dateutil-2.7.5.dist-info/LICENSE.txt +++ /dev/null @@ -1,54 +0,0 @@ -Copyright 2017- Paul Ganssle -Copyright 2017- dateutil contributors (see AUTHORS file) - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -The above license applies to all contributions after 2017-12-01, as well as -all contributions that have been re-licensed (see AUTHORS file for the list of -contributors who have re-licensed their code). --------------------------------------------------------------------------------- -dateutil - Extensions to the standard Python datetime module. - -Copyright (c) 2003-2011 - Gustavo Niemeyer -Copyright (c) 2012-2014 - Tomi Pieviläinen -Copyright (c) 2014-2016 - Yaron de Leeuw -Copyright (c) 2015- - Paul Ganssle -Copyright (c) 2015- - dateutil contributors (see AUTHORS file) - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -The above BSD License Applies to all code, even that also covered by Apache 2.0. \ No newline at end of file diff --git a/bin/python_dateutil-2.7.5.dist-info/METADATA b/bin/python_dateutil-2.7.5.dist-info/METADATA deleted file mode 100644 index aab133ff..00000000 --- a/bin/python_dateutil-2.7.5.dist-info/METADATA +++ /dev/null @@ -1,190 +0,0 @@ -Metadata-Version: 2.1 -Name: python-dateutil -Version: 2.7.5 -Summary: Extensions to the standard Python datetime module -Home-page: https://dateutil.readthedocs.io -Author: Gustavo Niemeyer -Author-email: gustavo@niemeyer.net -Maintainer: Paul Ganssle -Maintainer-email: dateutil@python.org -License: Dual License -Platform: UNKNOWN -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: BSD License -Classifier: License :: OSI Approved :: Apache Software License -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: 3.7 -Classifier: Topic :: Software Development :: Libraries -Requires: six -Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.* -Description-Content-Type: text/x-rst -Requires-Dist: six (>=1.5) - -dateutil - powerful extensions to datetime -========================================== - -|pypi| |support| |licence| - -|gitter| |readthedocs| - -|travis| |appveyor| |coverage| - -.. |pypi| image:: https://img.shields.io/pypi/v/python-dateutil.svg?style=flat-square - :target: https://pypi.org/project/python-dateutil/ - :alt: pypi version - -.. |support| image:: https://img.shields.io/pypi/pyversions/python-dateutil.svg?style=flat-square - :target: https://pypi.org/project/python-dateutil/ - :alt: supported Python version - -.. |travis| image:: https://img.shields.io/travis/dateutil/dateutil/master.svg?style=flat-square&label=Travis%20Build - :target: https://travis-ci.org/dateutil/dateutil - :alt: travis build status - -.. |appveyor| image:: https://img.shields.io/appveyor/ci/dateutil/dateutil/master.svg?style=flat-square&logo=appveyor - :target: https://ci.appveyor.com/project/dateutil/dateutil - :alt: appveyor build status - -.. |coverage| image:: https://codecov.io/github/dateutil/dateutil/coverage.svg?branch=master - :target: https://codecov.io/github/dateutil/dateutil?branch=master - :alt: Code coverage - -.. |gitter| image:: https://badges.gitter.im/dateutil/dateutil.svg - :alt: Join the chat at https://gitter.im/dateutil/dateutil - :target: https://gitter.im/dateutil/dateutil - -.. |licence| image:: https://img.shields.io/pypi/l/python-dateutil.svg?style=flat-square - :target: https://pypi.org/project/python-dateutil/ - :alt: licence - -.. |readthedocs| image:: https://img.shields.io/readthedocs/dateutil/latest.svg?style=flat-square&label=Read%20the%20Docs - :alt: Read the documentation at https://dateutil.readthedocs.io/en/latest/ - :target: https://dateutil.readthedocs.io/en/latest/ - -The `dateutil` module provides powerful extensions to -the standard `datetime` module, available in Python. - - -Download -======== -dateutil is available on PyPI -https://pypi.org/project/python-dateutil/ - -The documentation is hosted at: -https://dateutil.readthedocs.io/en/stable/ - -Code -==== -The code and issue tracker are hosted on Github: -https://github.com/dateutil/dateutil/ - -Features -======== - -* Computing of relative deltas (next month, next year, - next monday, last week of month, etc); -* Computing of relative deltas between two given - date and/or datetime objects; -* Computing of dates based on very flexible recurrence rules, - using a superset of the `iCalendar `_ - specification. Parsing of RFC strings is supported as well. -* Generic parsing of dates in almost any string format; -* Timezone (tzinfo) implementations for tzfile(5) format - files (/etc/localtime, /usr/share/zoneinfo, etc), TZ - environment string (in all known formats), iCalendar - format files, given ranges (with help from relative deltas), - local machine timezone, fixed offset timezone, UTC timezone, - and Windows registry-based time zones. -* Internal up-to-date world timezone information based on - Olson's database. -* Computing of Easter Sunday dates for any given year, - using Western, Orthodox or Julian algorithms; -* A comprehensive test suite. - -Quick example -============= -Here's a snapshot, just to give an idea about the power of the -package. For more examples, look at the documentation. - -Suppose you want to know how much time is left, in -years/months/days/etc, before the next easter happening on a -year with a Friday 13th in August, and you want to get today's -date out of the "date" unix system command. Here is the code: - -.. code-block:: python3 - - >>> from dateutil.relativedelta import * - >>> from dateutil.easter import * - >>> from dateutil.rrule import * - >>> from dateutil.parser import * - >>> from datetime import * - >>> now = parse("Sat Oct 11 17:13:46 UTC 2003") - >>> today = now.date() - >>> year = rrule(YEARLY,dtstart=now,bymonth=8,bymonthday=13,byweekday=FR)[0].year - >>> rdelta = relativedelta(easter(year), today) - >>> print("Today is: %s" % today) - Today is: 2003-10-11 - >>> print("Year with next Aug 13th on a Friday is: %s" % year) - Year with next Aug 13th on a Friday is: 2004 - >>> print("How far is the Easter of that year: %s" % rdelta) - How far is the Easter of that year: relativedelta(months=+6) - >>> print("And the Easter of that year is: %s" % (today+rdelta)) - And the Easter of that year is: 2004-04-11 - -Being exactly 6 months ahead was **really** a coincidence :) - -Contributing -============ - -We welcome many types of contributions - bug reports, pull requests (code, infrastructure or documentation fixes). For more information about how to contribute to the project, see the ``CONTRIBUTING.md`` file in the repository. - - -Author -====== -The dateutil module was written by Gustavo Niemeyer -in 2003. - -It is maintained by: - -* Gustavo Niemeyer 2003-2011 -* Tomi Pieviläinen 2012-2014 -* Yaron de Leeuw 2014-2016 -* Paul Ganssle 2015- - -Starting with version 2.4.1, all source and binary distributions will be signed -by a PGP key that has, at the very least, been signed by the key which made the -previous release. A table of release signing keys can be found below: - -=========== ============================ -Releases Signing key fingerprint -=========== ============================ -2.4.1- `6B49 ACBA DCF6 BD1C A206 67AB CD54 FCE3 D964 BEFB`_ (|pgp_mirror|_) -=========== ============================ - - -Contact -======= -Our mailing list is available at `dateutil@python.org `_. As it is hosted by the PSF, it is subject to the `PSF code of -conduct `_. - -License -======= - -All contributions after December 1, 2017 released under dual license - either `Apache 2.0 License `_ or the `BSD 3-Clause License `_. Contributions before December 1, 2017 - except those those explicitly relicensed - are released only under the BSD 3-Clause License. - - -.. _6B49 ACBA DCF6 BD1C A206 67AB CD54 FCE3 D964 BEFB: - https://pgp.mit.edu/pks/lookup?op=vindex&search=0xCD54FCE3D964BEFB - -.. |pgp_mirror| replace:: mirror -.. _pgp_mirror: https://sks-keyservers.net/pks/lookup?op=vindex&search=0xCD54FCE3D964BEFB - - diff --git a/bin/python_dateutil-2.7.5.dist-info/RECORD b/bin/python_dateutil-2.7.5.dist-info/RECORD deleted file mode 100644 index 7d018cb5..00000000 --- a/bin/python_dateutil-2.7.5.dist-info/RECORD +++ /dev/null @@ -1,44 +0,0 @@ -dateutil/__init__.py,sha256=lXElASqwYGwqlrSWSeX19JwF5Be9tNecDa9ebk-0gmk,222 -dateutil/_common.py,sha256=77w0yytkrxlYbSn--lDVPUMabUXRR9I3lBv_vQRUqUY,932 -dateutil/_version.py,sha256=kAw-ljL4Y1I-mPgMXHmIKI-BVVHHuSKVqKhH298FFDg,116 -dateutil/easter.py,sha256=0liVsgqSx-NPhaFevOJaYgEbrSu2oQQ2o9m_OEBdc-s,2684 -dateutil/relativedelta.py,sha256=ZJj33WexdbkXbPqS4jvyRby1v3NeNOvAgw_YEofKxQM,24418 -dateutil/rrule.py,sha256=w9v8mTO_YF6OM4kgsN1KwukBqQRFGntDBPsSXrfNUww,64802 -dateutil/tzwin.py,sha256=7Ar4vdQCnnM0mKR3MUjbIKsZrBVfHgdwsJZc_mGYRew,59 -dateutil/utils.py,sha256=wG0nPh2fS274tUSsgywKAz3Ahq8m_-oKWwDtYeOPJuU,1963 -dateutil/parser/__init__.py,sha256=efFZ9gA3I85X8IgQ_Rq6icz4rYdkUevfK8Oxekn3uYU,1727 -dateutil/parser/_parser.py,sha256=nxl6E6a3C4EsyTL7Npp_to68JoX05BJl3-FUnRag_VM,57607 -dateutil/parser/isoparser.py,sha256=N--NyotwfEShxeOoW5CvpmLRNgJIKIHYv6XgsqlYqDY,12902 -dateutil/tz/__init__.py,sha256=xkeNSDRpsFSeqSaaGuLPmhyTfhjZ7W7BZnKcNfFKYUA,551 -dateutil/tz/_common.py,sha256=VAR-3Wd2f4FYZyKg09e6PFnflcGhNEABLYBv_wjS-T8,12892 -dateutil/tz/_factories.py,sha256=JUnlX9efOpuhTnp5fDSM_e62cwNy7W5kHcZpJHDhbFE,1434 -dateutil/tz/tz.py,sha256=2s3vRGHL1d48_TGr5kEwVxVMq4tJCHMMLg0SR91AZH4,60472 -dateutil/tz/win.py,sha256=M67X4b3x6RIveSR0Dl19B30Ow8No7Lkc-Hd4xdvNz8Q,11318 -dateutil/zoneinfo/__init__.py,sha256=KYg0pthCMjcp5MXSEiBJn3nMjZeNZav7rlJw5-tz1S4,5889 -dateutil/zoneinfo/dateutil-zoneinfo.tar.gz,sha256=jb1AuNt64a9o4qtPyDVDtl261ppgLaYeOUCzGCIAGoc,154226 -dateutil/zoneinfo/rebuild.py,sha256=2uFJQiW3Fl8fVogrSXisJMpLeHI1zGwpvBFF43QdeF0,1719 -python_dateutil-2.7.5.dist-info/LICENSE.txt,sha256=ugD1Gg2SgjtaHN4n2LW50jIeZ-2NqbwWPv-W1eF-V34,2889 -python_dateutil-2.7.5.dist-info/METADATA,sha256=z7JUfEBz52VuV_sAunCrQs5SSe45P7BouyyaFbvQDE8,7486 -python_dateutil-2.7.5.dist-info/RECORD,, -python_dateutil-2.7.5.dist-info/WHEEL,sha256=gduuPyBvFJQSQ0zdyxF7k0zynDXbIbvg5ZBHoXum5uk,110 -python_dateutil-2.7.5.dist-info/top_level.txt,sha256=4tjdWkhRZvF7LA_BYe_L9gB2w_p2a-z5y6ArjaRkot8,9 -python_dateutil-2.7.5.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1 -python_dateutil-2.7.5.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -dateutil/tz/__init__.pyc,, -dateutil/__init__.pyc,, -dateutil/easter.pyc,, -dateutil/parser/__init__.pyc,, -dateutil/zoneinfo/__init__.pyc,, -dateutil/_common.pyc,, -dateutil/utils.pyc,, -dateutil/relativedelta.pyc,, -dateutil/tzwin.pyc,, -dateutil/tz/tz.pyc,, -dateutil/tz/win.pyc,, -dateutil/tz/_common.pyc,, -dateutil/parser/_parser.pyc,, -dateutil/rrule.pyc,, -dateutil/zoneinfo/rebuild.pyc,, -dateutil/_version.pyc,, -dateutil/parser/isoparser.pyc,, -dateutil/tz/_factories.pyc,, diff --git a/bin/python_dateutil-2.7.5.dist-info/WHEEL b/bin/python_dateutil-2.7.5.dist-info/WHEEL deleted file mode 100644 index 1316c41d..00000000 --- a/bin/python_dateutil-2.7.5.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.31.1) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/bin/python_dateutil-2.7.5.dist-info/top_level.txt b/bin/python_dateutil-2.7.5.dist-info/top_level.txt deleted file mode 100644 index 66501480..00000000 --- a/bin/python_dateutil-2.7.5.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -dateutil diff --git a/bin/python_dateutil-2.7.5.dist-info/zip-safe b/bin/python_dateutil-2.7.5.dist-info/zip-safe deleted file mode 100644 index 8b137891..00000000 --- a/bin/python_dateutil-2.7.5.dist-info/zip-safe +++ /dev/null @@ -1 +0,0 @@ - diff --git a/bin/rsa-3.4.2.dist-info/DESCRIPTION.rst b/bin/rsa-3.4.2.dist-info/DESCRIPTION.rst deleted file mode 100644 index e1187231..00000000 --- a/bin/rsa-3.4.2.dist-info/DESCRIPTION.rst +++ /dev/null @@ -1,3 +0,0 @@ -UNKNOWN - - diff --git a/bin/rsa-3.4.2.dist-info/INSTALLER b/bin/rsa-3.4.2.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/bin/rsa-3.4.2.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/bin/rsa-3.4.2.dist-info/METADATA b/bin/rsa-3.4.2.dist-info/METADATA deleted file mode 100644 index fe1dac70..00000000 --- a/bin/rsa-3.4.2.dist-info/METADATA +++ /dev/null @@ -1,29 +0,0 @@ -Metadata-Version: 2.0 -Name: rsa -Version: 3.4.2 -Summary: Pure-Python RSA implementation -Home-page: https://stuvel.eu/rsa -Author: Sybren A. Stuvel -Author-email: sybren@stuvel.eu -License: ASL 2 -Platform: UNKNOWN -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: Intended Audience :: Education -Classifier: Intended Audience :: Information Technology -Classifier: License :: OSI Approved :: Apache Software License -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.6 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Topic :: Security :: Cryptography -Requires-Dist: pyasn1 (>=0.1.3) - -UNKNOWN - - diff --git a/bin/rsa-3.4.2.dist-info/RECORD b/bin/rsa-3.4.2.dist-info/RECORD deleted file mode 100644 index 85fcdf9f..00000000 --- a/bin/rsa-3.4.2.dist-info/RECORD +++ /dev/null @@ -1,52 +0,0 @@ -rsa/__init__.py,sha256=A_sPl1bXIcMnNi2ItQV0z2cwolopD7UIXRY1iEkylz0,1476 -rsa/_compat.py,sha256=BoWpjVcCXLxEh1XLkYJggUyA4WuPTGWVjEpCog-HmOA,3890 -rsa/_version133.py,sha256=wo9MgBf3oURMyTkAQ9v1heQcVYTp4H3yty1S54BrWHM,11764 -rsa/_version200.py,sha256=dlTSjymiQaBCU5CwOreLY3-oefLAiuMh7b6fDHRFRls,15123 -rsa/asn1.py,sha256=GUi3MB9S7ha5bSv9YbMlMyjWxZBm-ild5UAMrMO6P9E,1781 -rsa/bigfile.py,sha256=NaRpXpN0oCLef6YUL0xjDX1Rt75HNh8WWmmyu6Sdhgk,5185 -rsa/cli.py,sha256=_CGeBh2zEcAOAC3O5Jc_MP4ulCo3oqkK1nt-Ru7ZgHo,12185 -rsa/common.py,sha256=YcGdkVaGWlVZvIBD81MbXLwxsxG0NO2sTMru0I-q_3E,4640 -rsa/core.py,sha256=TCB423mmNQ9cnXieOf75kwFVJy_PLuXzsBi051gG1M8,1656 -rsa/key.py,sha256=k0YtzCRqs72k_VLXCHLhAjemw1a1Dp_-h-QkL5hYoUM,22867 -rsa/parallel.py,sha256=mxJ6mJ7_ktzJyJKzsG_bYCkU1SmCRKzxzrnHAk4dPU0,2299 -rsa/pem.py,sha256=c93PkEGcgue82fSR0B4auNR2uauPuLR2BPC_aw6uxVs,3537 -rsa/pkcs1.py,sha256=XLaMew1ns2NrgP2MA5Mm4nTQJgMcuhGnNC004BOxCfE,12230 -rsa/prime.py,sha256=TGPWgJV0C8L6kFzoST2rV7qICr0yg21IyxQkeAFK7pc,4560 -rsa/randnum.py,sha256=pbVzfhbPMUT11ECUjjK83n3PMVMYmc5aWuN2gBAkeo8,2643 -rsa/transform.py,sha256=IKz6EVwYABkhu8y5YSZUKc7yExW1UM_YuH6-uvx49xs,6892 -rsa/util.py,sha256=FgBnvFF-mRGVsjExdMalGGvfH7OA0bGcgzRxjSNyBx8,3059 -rsa/varblock.py,sha256=v8c3ST2uF58CDCcJq_wdxccjqAiGM_A4T6TIAr5uMZI,5406 -rsa-3.4.2.dist-info/DESCRIPTION.rst,sha256=OCTuuN6LcWulhHS3d5rfjdsQtW22n7HENFRh6jC6ego,10 -rsa-3.4.2.dist-info/METADATA,sha256=DM8nKfoLIPU_C28M-CGAOE-wCMJ7-WpDq7q_YFhi1ww,996 -rsa-3.4.2.dist-info/RECORD,, -rsa-3.4.2.dist-info/WHEEL,sha256=GrqQvamwgBV4nLoJe0vhYRSWzWsx7xjlt74FT0SWYfE,110 -rsa-3.4.2.dist-info/entry_points.txt,sha256=V0KlSf6VhiqQVRRoMvxaL8jlxgvm65BmWy-a58e85pM,309 -rsa-3.4.2.dist-info/metadata.json,sha256=_p8vyea50-PRGLPdZzwrAz59zwdZE0_yRERIDVsQC8c,1814 -rsa-3.4.2.dist-info/top_level.txt,sha256=fAq1Bm-GX3Blvuu7bvG87v7ye2ZJoIL7oVz1F9FdxjI,4 -../../bin/pyrsa-encrypt-bigfile,sha256=p0e1iRSrdXxgWQY7_G73SZeSm_mdWrwaJGP3t3459NI,251 -../../bin/pyrsa-encrypt,sha256=1yDbFB0u8DqDYmCCaBdHWVbCWG6nLrlj9SzgZIAnBFo,235 -../../bin/pyrsa-verify,sha256=P3xdo4oWpmGY44ETApoFsjEikNqfM7OjAGXDM-Zm0IU,233 -../../bin/pyrsa-sign,sha256=QLlKrIJXcdqouiw6-dafUeD_qx3HpQuvOZUhEttxqps,229 -../../bin/pyrsa-priv2pub,sha256=0_44WYpv-2PDoQXVy6bJBGlrKpB8Uw0jCjPkLuiHhmM,256 -../../bin/pyrsa-decrypt,sha256=9GB4-YTsHj3sdjKKkPQ2RTV-8c0MxYxC-fWMEf2O2sA,235 -../../bin/pyrsa-decrypt-bigfile,sha256=3bW9UQN_L_G0H2zUoZDN30NzvFgm2oYIEMgDO901NXw,251 -../../bin/pyrsa-keygen,sha256=Y2mjmX2iopEvRrSPSqvkWx0ejEoLveNb5mETxUZPDqs,233 -rsa-3.4.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -rsa/cli.pyc,, -rsa/_version133.pyc,, -rsa/common.pyc,, -rsa/_compat.pyc,, -rsa/pem.pyc,, -rsa/varblock.pyc,, -rsa/_version200.pyc,, -rsa/asn1.pyc,, -rsa/util.pyc,, -rsa/__init__.pyc,, -rsa/randnum.pyc,, -rsa/core.pyc,, -rsa/key.pyc,, -rsa/parallel.pyc,, -rsa/prime.pyc,, -rsa/transform.pyc,, -rsa/pkcs1.pyc,, -rsa/bigfile.pyc,, diff --git a/bin/rsa-3.4.2.dist-info/WHEEL b/bin/rsa-3.4.2.dist-info/WHEEL deleted file mode 100644 index 0de529b1..00000000 --- a/bin/rsa-3.4.2.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.26.0) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/bin/rsa-3.4.2.dist-info/entry_points.txt b/bin/rsa-3.4.2.dist-info/entry_points.txt deleted file mode 100644 index 3f5627fd..00000000 --- a/bin/rsa-3.4.2.dist-info/entry_points.txt +++ /dev/null @@ -1,10 +0,0 @@ -[console_scripts] -pyrsa-decrypt = rsa.cli:decrypt -pyrsa-decrypt-bigfile = rsa.cli:decrypt_bigfile -pyrsa-encrypt = rsa.cli:encrypt -pyrsa-encrypt-bigfile = rsa.cli:encrypt_bigfile -pyrsa-keygen = rsa.cli:keygen -pyrsa-priv2pub = rsa.util:private_to_public -pyrsa-sign = rsa.cli:sign -pyrsa-verify = rsa.cli:verify - diff --git a/bin/rsa-3.4.2.dist-info/metadata.json b/bin/rsa-3.4.2.dist-info/metadata.json deleted file mode 100644 index 48b468dd..00000000 --- a/bin/rsa-3.4.2.dist-info/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"generator": "bdist_wheel (0.26.0)", "summary": "Pure-Python RSA implementation", "classifiers": ["Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Information Technology", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Security :: Cryptography"], "extensions": {"python.details": {"project_urls": {"Home": "https://stuvel.eu/rsa"}, "contacts": [{"email": "sybren@stuvel.eu", "name": "Sybren A. Stuvel", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}}, "python.exports": {"console_scripts": {"pyrsa-decrypt": "rsa.cli:decrypt", "pyrsa-decrypt-bigfile": "rsa.cli:decrypt_bigfile", "pyrsa-encrypt": "rsa.cli:encrypt", "pyrsa-encrypt-bigfile": "rsa.cli:encrypt_bigfile", "pyrsa-keygen": "rsa.cli:keygen", "pyrsa-priv2pub": "rsa.util:private_to_public", "pyrsa-sign": "rsa.cli:sign", "pyrsa-verify": "rsa.cli:verify"}}, "python.commands": {"wrap_console": {"pyrsa-decrypt": "rsa.cli:decrypt", "pyrsa-decrypt-bigfile": "rsa.cli:decrypt_bigfile", "pyrsa-encrypt": "rsa.cli:encrypt", "pyrsa-encrypt-bigfile": "rsa.cli:encrypt_bigfile", "pyrsa-keygen": "rsa.cli:keygen", "pyrsa-priv2pub": "rsa.util:private_to_public", "pyrsa-sign": "rsa.cli:sign", "pyrsa-verify": "rsa.cli:verify"}}}, "license": "ASL 2", "metadata_version": "2.0", "name": "rsa", "run_requires": [{"requires": ["pyasn1 (>=0.1.3)"]}], "extras": [], "version": "3.4.2"} \ No newline at end of file diff --git a/bin/rsa-3.4.2.dist-info/top_level.txt b/bin/rsa-3.4.2.dist-info/top_level.txt deleted file mode 100644 index 703f5510..00000000 --- a/bin/rsa-3.4.2.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -rsa diff --git a/bin/rsa/__init__.pyc b/bin/rsa/__init__.pyc deleted file mode 100644 index df509b32..00000000 Binary files a/bin/rsa/__init__.pyc and /dev/null differ diff --git a/bin/rsa/_compat.pyc b/bin/rsa/_compat.pyc deleted file mode 100644 index 3d889cf1..00000000 Binary files a/bin/rsa/_compat.pyc and /dev/null differ diff --git a/bin/rsa/_version133.pyc b/bin/rsa/_version133.pyc deleted file mode 100644 index 54261f93..00000000 Binary files a/bin/rsa/_version133.pyc and /dev/null differ diff --git a/bin/rsa/_version200.pyc b/bin/rsa/_version200.pyc deleted file mode 100644 index 3a540de5..00000000 Binary files a/bin/rsa/_version200.pyc and /dev/null differ diff --git a/bin/rsa/asn1.pyc b/bin/rsa/asn1.pyc deleted file mode 100644 index e3668400..00000000 Binary files a/bin/rsa/asn1.pyc and /dev/null differ diff --git a/bin/rsa/bigfile.pyc b/bin/rsa/bigfile.pyc deleted file mode 100644 index 55a56a2d..00000000 Binary files a/bin/rsa/bigfile.pyc and /dev/null differ diff --git a/bin/rsa/cli.pyc b/bin/rsa/cli.pyc deleted file mode 100644 index 1168d92a..00000000 Binary files a/bin/rsa/cli.pyc and /dev/null differ diff --git a/bin/rsa/common.pyc b/bin/rsa/common.pyc deleted file mode 100644 index 8970477f..00000000 Binary files a/bin/rsa/common.pyc and /dev/null differ diff --git a/bin/rsa/core.pyc b/bin/rsa/core.pyc deleted file mode 100644 index b1d37897..00000000 Binary files a/bin/rsa/core.pyc and /dev/null differ diff --git a/bin/rsa/key.pyc b/bin/rsa/key.pyc deleted file mode 100644 index 1dc9ee59..00000000 Binary files a/bin/rsa/key.pyc and /dev/null differ diff --git a/bin/rsa/parallel.pyc b/bin/rsa/parallel.pyc deleted file mode 100644 index aa58fcc3..00000000 Binary files a/bin/rsa/parallel.pyc and /dev/null differ diff --git a/bin/rsa/pem.pyc b/bin/rsa/pem.pyc deleted file mode 100644 index 0fe23cc9..00000000 Binary files a/bin/rsa/pem.pyc and /dev/null differ diff --git a/bin/rsa/pkcs1.pyc b/bin/rsa/pkcs1.pyc deleted file mode 100644 index 16648f08..00000000 Binary files a/bin/rsa/pkcs1.pyc and /dev/null differ diff --git a/bin/rsa/prime.pyc b/bin/rsa/prime.pyc deleted file mode 100644 index 6e4dbf2e..00000000 Binary files a/bin/rsa/prime.pyc and /dev/null differ diff --git a/bin/rsa/randnum.pyc b/bin/rsa/randnum.pyc deleted file mode 100644 index 5c33dfe1..00000000 Binary files a/bin/rsa/randnum.pyc and /dev/null differ diff --git a/bin/rsa/transform.pyc b/bin/rsa/transform.pyc deleted file mode 100644 index 69e1ce49..00000000 Binary files a/bin/rsa/transform.pyc and /dev/null differ diff --git a/bin/rsa/util.pyc b/bin/rsa/util.pyc deleted file mode 100644 index e94e2a9e..00000000 Binary files a/bin/rsa/util.pyc and /dev/null differ diff --git a/bin/rsa/varblock.pyc b/bin/rsa/varblock.pyc deleted file mode 100644 index 02f451e9..00000000 Binary files a/bin/rsa/varblock.pyc and /dev/null differ diff --git a/bin/rsync b/bin/rsync new file mode 100755 index 00000000..733d5c39 Binary files /dev/null and b/bin/rsync differ diff --git a/bin/s3transfer-0.1.13.dist-info/DESCRIPTION.rst b/bin/s3transfer-0.1.13.dist-info/DESCRIPTION.rst deleted file mode 100644 index 3e8272ec..00000000 --- a/bin/s3transfer-0.1.13.dist-info/DESCRIPTION.rst +++ /dev/null @@ -1,14 +0,0 @@ -===================================================== -s3transfer - An Amazon S3 Transfer Manager for Python -===================================================== - -S3transfer is a Python library for managing Amazon S3 transfers. - -.. note:: - - This project is not currently GA. If you are planning to use this code in - production, make sure to lock to a minor version as interfaces may break - from minor version to minor version. For a basic, stable interface of - s3transfer, try the interfaces exposed in `boto3 `__ - - diff --git a/bin/s3transfer-0.1.13.dist-info/INSTALLER b/bin/s3transfer-0.1.13.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/bin/s3transfer-0.1.13.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/bin/s3transfer-0.1.13.dist-info/METADATA b/bin/s3transfer-0.1.13.dist-info/METADATA deleted file mode 100644 index 309bdc52..00000000 --- a/bin/s3transfer-0.1.13.dist-info/METADATA +++ /dev/null @@ -1,39 +0,0 @@ -Metadata-Version: 2.0 -Name: s3transfer -Version: 0.1.13 -Summary: An Amazon S3 Transfer Manager -Home-page: https://github.com/boto/s3transfer -Author: Amazon Web Services -Author-email: kyknapp1@gmail.com -License: Apache License 2.0 -Description-Content-Type: UNKNOWN -Platform: UNKNOWN -Classifier: Development Status :: 3 - Alpha -Classifier: Intended Audience :: Developers -Classifier: Natural Language :: English -Classifier: License :: OSI Approved :: Apache Software License -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2.6 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Requires-Dist: botocore>=1.3.0,<2.0.0 -Requires-Dist: futures>=2.2.0,<4.0.0; python_version=="2.6" or python_version=="2.7" - -===================================================== -s3transfer - An Amazon S3 Transfer Manager for Python -===================================================== - -S3transfer is a Python library for managing Amazon S3 transfers. - -.. note:: - - This project is not currently GA. If you are planning to use this code in - production, make sure to lock to a minor version as interfaces may break - from minor version to minor version. For a basic, stable interface of - s3transfer, try the interfaces exposed in `boto3 `__ - - diff --git a/bin/s3transfer-0.1.13.dist-info/RECORD b/bin/s3transfer-0.1.13.dist-info/RECORD deleted file mode 100644 index bdffbecc..00000000 --- a/bin/s3transfer-0.1.13.dist-info/RECORD +++ /dev/null @@ -1,33 +0,0 @@ -s3transfer/download.py,sha256=gm88mhunvRITX8m-ECke5YoyLyQA2z6VdUlu20Sravc,28306 -s3transfer/bandwidth.py,sha256=6UNIvWlmjokcIx2l1oxnKbtWR0hR1XaHqweJUertHBE,15643 -s3transfer/manager.py,sha256=ow2Kh4fLxWYHx-oYXEb1gwoIEzR2PFSMj9QqkETdqW8,26914 -s3transfer/exceptions.py,sha256=QOjMT7zZcocBLFh69QKotfvqKgar0AehUauHIGsLvcg,1090 -s3transfer/upload.py,sha256=n-qHTf74tzCQF5KHPeoutHqXkNBNZFTAfcyxdE4EVOo,29558 -s3transfer/futures.py,sha256=X8P9E9F8QA13xhlqAIBkz46qaO6RxMuoRYZ1eufPkXw,20376 -s3transfer/utils.py,sha256=TggRo_6GWO-q5fbKQdYXtVbTmkm1O4ajwsAmxs8G4yc,25535 -s3transfer/copies.py,sha256=NYUoa2Di1QqWtnloERbAIVoZic7qLKQmWSpPeGvPr4Y,13258 -s3transfer/subscribers.py,sha256=GqVAw-CstweqvpxG48jISfGECEkGzD_-vdB1M5WmVRU,3628 -s3transfer/delete.py,sha256=GZ28WcJr0U3l0EzeZN8sO-uHB40g3NzG0cpVnfRNyvE,2583 -s3transfer/compat.py,sha256=N3nEMDrfx-bgoTIXq_kLwxJqCSYgJAC3xWYzKOuX48U,2983 -s3transfer/__init__.py,sha256=sCENr1m9tveb-zSP4yt7l-6VeW9P_cJ34dK6BIpU1ZQ,28160 -s3transfer/tasks.py,sha256=1LQCT1GNNO5ivsEchKPMK5tN3OCkyI_xWO50Ddn0wMI,16002 -s3transfer-0.1.13.dist-info/WHEEL,sha256=AvR0WeTpDaxT645bl5FQxUK6NPsTls2ttpcGJg3j1Xg,110 -s3transfer-0.1.13.dist-info/DESCRIPTION.rst,sha256=IUpO1ILP1nRKGuhrgkSXDf9h0NviIGKlTXBS7Sa3HdA,601 -s3transfer-0.1.13.dist-info/metadata.json,sha256=McwGqpA0NfqFvnyBbbU5gMAyHiS0EOOqOYYxtLmTiRY,1148 -s3transfer-0.1.13.dist-info/METADATA,sha256=hfWSFKCUTFAAKBIhhchK9UBIiNRDUz0RhCoHoKUp2J0,1588 -s3transfer-0.1.13.dist-info/RECORD,, -s3transfer-0.1.13.dist-info/top_level.txt,sha256=cT7JDso1VWzQGJXAXImnyI6JUK_Fw7zjNFsigiwIsNk,11 -s3transfer-0.1.13.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -s3transfer/exceptions.pyc,, -s3transfer/tasks.pyc,, -s3transfer/manager.pyc,, -s3transfer/subscribers.pyc,, -s3transfer/__init__.pyc,, -s3transfer/utils.pyc,, -s3transfer/copies.pyc,, -s3transfer/compat.pyc,, -s3transfer/download.pyc,, -s3transfer/futures.pyc,, -s3transfer/upload.pyc,, -s3transfer/delete.pyc,, -s3transfer/bandwidth.pyc,, diff --git a/bin/s3transfer-0.1.13.dist-info/WHEEL b/bin/s3transfer-0.1.13.dist-info/WHEEL deleted file mode 100644 index 9dff69d8..00000000 --- a/bin/s3transfer-0.1.13.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.24.0) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/bin/s3transfer-0.1.13.dist-info/metadata.json b/bin/s3transfer-0.1.13.dist-info/metadata.json deleted file mode 100644 index f8054d4a..00000000 --- a/bin/s3transfer-0.1.13.dist-info/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"license": "Apache License 2.0", "name": "s3transfer", "metadata_version": "2.0", "generator": "bdist_wheel (0.24.0)", "summary": "An Amazon S3 Transfer Manager", "run_requires": [{"environment": "python_version==\"2.6\" or python_version==\"2.7\"", "requires": ["futures>=2.2.0,<4.0.0"]}, {"requires": ["botocore>=1.3.0,<2.0.0"]}], "version": "0.1.13", "extensions": {"python.details": {"project_urls": {"Home": "https://github.com/boto/s3transfer"}, "document_names": {"description": "DESCRIPTION.rst"}, "contacts": [{"role": "author", "email": "kyknapp1@gmail.com", "name": "Amazon Web Services"}]}}, "description_content_type": "UNKNOWN", "classifiers": ["Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Natural Language :: English", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6"], "extras": []} \ No newline at end of file diff --git a/bin/s3transfer-0.1.13.dist-info/top_level.txt b/bin/s3transfer-0.1.13.dist-info/top_level.txt deleted file mode 100644 index 572c6a92..00000000 --- a/bin/s3transfer-0.1.13.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -s3transfer diff --git a/bin/s3transfer/__init__.py b/bin/s3transfer/__init__.py index 2dee862d..08b1cadb 100644 --- a/bin/s3transfer/__init__.py +++ b/bin/s3transfer/__init__.py @@ -143,7 +143,7 @@ def __call__(self, bytes_amount): __author__ = 'Amazon Web Services' -__version__ = '0.1.13' +__version__ = '0.2.1' class NullHandler(logging.Handler): diff --git a/bin/s3transfer/__init__.pyc b/bin/s3transfer/__init__.pyc deleted file mode 100644 index 6a9065a9..00000000 Binary files a/bin/s3transfer/__init__.pyc and /dev/null differ diff --git a/bin/s3transfer/bandwidth.pyc b/bin/s3transfer/bandwidth.pyc deleted file mode 100644 index 48ffccf9..00000000 Binary files a/bin/s3transfer/bandwidth.pyc and /dev/null differ diff --git a/bin/s3transfer/compat.py b/bin/s3transfer/compat.py index 85ae1126..94453368 100644 --- a/bin/s3transfer/compat.py +++ b/bin/s3transfer/compat.py @@ -89,3 +89,85 @@ def readable(fileobj): return fileobj.readable() return hasattr(fileobj, 'read') + + +def fallocate(fileobj, size): + if hasattr(os, 'posix_fallocate'): + os.posix_fallocate(fileobj.fileno(), 0, size) + else: + fileobj.truncate(size) + + +if sys.version_info[:2] == (2, 6): + # For Python 2.6, the start() method does not accept initializers. + # So we backport the functionality. This is strictly a copy from the + # Python 2.7 version. + import multiprocessing + import multiprocessing.managers + import multiprocessing.connection + import multiprocessing.util + + + class BaseManager(multiprocessing.managers.BaseManager): + def start(self, initializer=None, initargs=()): + ''' + Spawn a server process for this manager object + ''' + assert self._state.value == multiprocessing.managers.State.INITIAL + + if initializer is not None and not hasattr(initializer, + '__call__'): + raise TypeError('initializer must be a callable') + + # pipe over which we will retrieve address of server + reader, writer = multiprocessing.Pipe(duplex=False) + + # spawn process which runs a server + self._process = multiprocessing.Process( + target=type(self)._run_server, + args=(self._registry, self._address, self._authkey, + self._serializer, writer, initializer, initargs), + ) + ident = ':'.join(str(i) for i in self._process._identity) + self._process.name = type(self).__name__ + '-' + ident + self._process.start() + + # get address of server + writer.close() + self._address = reader.recv() + reader.close() + + # register a finalizer + self._state.value = multiprocessing.managers.State.STARTED + self.shutdown = multiprocessing.util.Finalize( + self, type(self)._finalize_manager, + args=(self._process, self._address, self._authkey, + self._state, self._Client), + exitpriority=0 + ) + + @classmethod + def _run_server(cls, registry, address, authkey, serializer, + writer, + initializer=None, initargs=()): + ''' + Create a server, report its address and run it + ''' + if initializer is not None: + initializer(*initargs) + + # create server + server = cls._Server(registry, address, authkey, serializer) + + # inform parent process of the server's address + writer.send(server.address) + writer.close() + + # run the manager + multiprocessing.util.info('manager serving at %r', server.address) + + server.serve_forever() + + +else: + from multiprocessing.managers import BaseManager diff --git a/bin/s3transfer/compat.pyc b/bin/s3transfer/compat.pyc deleted file mode 100644 index 4238f5fd..00000000 Binary files a/bin/s3transfer/compat.pyc and /dev/null differ diff --git a/bin/s3transfer/constants.py b/bin/s3transfer/constants.py new file mode 100644 index 00000000..79a9648c --- /dev/null +++ b/bin/s3transfer/constants.py @@ -0,0 +1,28 @@ +# Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +import s3transfer + + +KB = 1024 +MB = KB * KB + +ALLOWED_DOWNLOAD_ARGS = [ + 'VersionId', + 'SSECustomerAlgorithm', + 'SSECustomerKey', + 'SSECustomerKeyMD5', + 'RequestPayer', +] + +USER_AGENT = 's3transfer/%s' % s3transfer.__version__ +PROCESS_USER_AGENT = '%s processpool' % USER_AGENT diff --git a/bin/s3transfer/copies.pyc b/bin/s3transfer/copies.pyc deleted file mode 100644 index 08df8852..00000000 Binary files a/bin/s3transfer/copies.pyc and /dev/null differ diff --git a/bin/s3transfer/delete.pyc b/bin/s3transfer/delete.pyc deleted file mode 100644 index dced1753..00000000 Binary files a/bin/s3transfer/delete.pyc and /dev/null differ diff --git a/bin/s3transfer/download.py b/bin/s3transfer/download.py index 9b1a49e5..ea11317e 100644 --- a/bin/s3transfer/download.py +++ b/bin/s3transfer/download.py @@ -13,23 +13,19 @@ import logging import os import socket -import math import threading import heapq from botocore.compat import six -from botocore.exceptions import IncompleteReadError -from botocore.vendored.requests.packages.urllib3.exceptions import \ - ReadTimeoutError -from s3transfer.compat import SOCKET_ERROR from s3transfer.compat import seekable from s3transfer.exceptions import RetriesExceededError from s3transfer.futures import IN_MEMORY_DOWNLOAD_TAG -from s3transfer.utils import random_file_extension +from s3transfer.utils import S3_RETRYABLE_DOWNLOAD_ERRORS from s3transfer.utils import get_callbacks from s3transfer.utils import invoke_progress_callbacks +from s3transfer.utils import calculate_num_parts from s3transfer.utils import calculate_range_parameter from s3transfer.utils import FunctionContainer from s3transfer.utils import CountCallbackInvoker @@ -41,10 +37,6 @@ logger = logging.getLogger(__name__) -S3_RETRYABLE_ERRORS = ( - socket.timeout, SOCKET_ERROR, ReadTimeoutError, IncompleteReadError -) - class DownloadOutputManager(object): """Base manager class for handling various types of files for downloads @@ -174,7 +166,7 @@ def is_compatible(cls, download_target, osutil): def get_fileobj_for_io_writes(self, transfer_future): fileobj = transfer_future.meta.call_args.fileobj self._final_filename = fileobj - self._temp_filename = fileobj + os.extsep + random_file_extension() + self._temp_filename = self._osutil.get_temp_filename(fileobj) self._temp_fileobj = self._get_temp_fileobj() return self._temp_fileobj @@ -429,8 +421,7 @@ def _submit_ranged_download_request(self, client, config, osutil, # Determine the number of parts part_size = config.multipart_chunksize - num_parts = int( - math.ceil(transfer_future.meta.size / float(part_size))) + num_parts = calculate_num_parts(transfer_future.meta.size, part_size) # Get any associated tags for the get object task. get_object_tag = download_output_manager.get_download_task_tag() @@ -542,7 +533,7 @@ def _main(self, client, bucket, key, fileobj, extra_args, callbacks, else: return return - except S3_RETRYABLE_ERRORS as e: + except S3_RETRYABLE_DOWNLOAD_ERRORS as e: logger.debug("Retrying exception caught (%s), " "retrying request, (attempt %s / %s)", e, i, max_attempts, exc_info=True) @@ -575,7 +566,7 @@ class IOWriteTask(Task): def _main(self, fileobj, data, offset): """Pulls off an io queue to write contents to a file - :param f: The file handle to write content to + :param fileobj: The file handle to write content to :param data: The data to write :param offset: The offset to write the data to. """ @@ -602,7 +593,7 @@ def _main(self, fileobj, data): class IORenameFileTask(Task): """A task to rename a temporary file to its final filename - :param f: The file handle that content was written to. + :param fileobj: The file handle that content was written to. :param final_filename: The final name of the file to rename to upon completion of writing the contents. :param osutil: OS utility diff --git a/bin/s3transfer/download.pyc b/bin/s3transfer/download.pyc deleted file mode 100644 index f495d996..00000000 Binary files a/bin/s3transfer/download.pyc and /dev/null differ diff --git a/bin/s3transfer/exceptions.pyc b/bin/s3transfer/exceptions.pyc deleted file mode 100644 index eba1855e..00000000 Binary files a/bin/s3transfer/exceptions.pyc and /dev/null differ diff --git a/bin/s3transfer/futures.py b/bin/s3transfer/futures.py index 8f87b65d..d08cb7b3 100644 --- a/bin/s3transfer/futures.py +++ b/bin/s3transfer/futures.py @@ -27,7 +27,51 @@ logger = logging.getLogger(__name__) -class TransferFuture(object): +class BaseTransferFuture(object): + @property + def meta(self): + """The metadata associated to the TransferFuture""" + raise NotImplementedError('meta') + + def done(self): + """Determines if a TransferFuture has completed + + :returns: True if completed. False, otherwise. + """ + raise NotImplementedError('done()') + + def result(self): + """Waits until TransferFuture is done and returns the result + + If the TransferFuture succeeded, it will return the result. If the + TransferFuture failed, it will raise the exception associated to the + failure. + """ + raise NotImplementedError('result()') + + def cancel(self): + """Cancels the request associated with the TransferFuture""" + raise NotImplementedError('cancel()') + + +class BaseTransferMeta(object): + @property + def call_args(self): + """The call args used in the transfer request""" + raise NotImplementedError('call_args') + + @property + def transfer_id(self): + """The unique id of the transfer""" + raise NotImplementedError('transfer_id') + + @property + def user_context(self): + """A dictionary that requesters can store data in""" + raise NotImplementedError('user_context') + + +class TransferFuture(BaseTransferFuture): def __init__(self, meta=None, coordinator=None): """The future associated to a submitted transfer request @@ -49,23 +93,12 @@ def __init__(self, meta=None, coordinator=None): @property def meta(self): - """The metadata associated tio the TransferFuture""" return self._meta def done(self): - """Determines if a TransferFuture has completed - - :returns: True if completed. False, otherwise. - """ return self._coordinator.done() def result(self): - """Waits until TransferFuture is done and returns the result - - If the TransferFuture succeeded, it will return the result. If the - TransferFuture failed, it will raise the exception associated to the - failure. - """ try: # Usually the result() method blocks until the transfer is done, # however if a KeyboardInterrupt is raised we want want to exit @@ -76,7 +109,6 @@ def result(self): raise e def cancel(self): - """Cancels the request associated with the TransferFuture""" self._coordinator.cancel() def set_exception(self, exception): @@ -88,7 +120,7 @@ def set_exception(self, exception): self._coordinator.set_exception(exception, override=True) -class TransferMeta(object): +class TransferMeta(BaseTransferMeta): """Holds metadata about the TransferFuture""" def __init__(self, call_args=None, transfer_id=None): self._call_args = call_args diff --git a/bin/s3transfer/futures.pyc b/bin/s3transfer/futures.pyc deleted file mode 100644 index 4417ee61..00000000 Binary files a/bin/s3transfer/futures.pyc and /dev/null differ diff --git a/bin/s3transfer/manager.py b/bin/s3transfer/manager.py index fb7a9cbb..43cd1137 100644 --- a/bin/s3transfer/manager.py +++ b/bin/s3transfer/manager.py @@ -16,6 +16,8 @@ from botocore.compat import six +from s3transfer.constants import KB, MB +from s3transfer.constants import ALLOWED_DOWNLOAD_ARGS from s3transfer.utils import get_callbacks from s3transfer.utils import signal_transferring from s3transfer.utils import signal_not_transferring @@ -38,8 +40,7 @@ from s3transfer.bandwidth import LeakyBucket from s3transfer.bandwidth import BandwidthLimiter -KB = 1024 -MB = KB * KB + logger = logging.getLogger(__name__) @@ -154,13 +155,7 @@ def _validate_attrs_are_nonzero(self): class TransferManager(object): - ALLOWED_DOWNLOAD_ARGS = [ - 'VersionId', - 'SSECustomerAlgorithm', - 'SSECustomerKey', - 'SSECustomerKeyMD5', - 'RequestPayer', - ] + ALLOWED_DOWNLOAD_ARGS = ALLOWED_DOWNLOAD_ARGS ALLOWED_UPLOAD_ARGS = [ 'ACL', @@ -317,8 +312,10 @@ def download(self, bucket, key, fileobj, extra_args=None, :type key: str :param key: The name of the key to download from - :type fileobj: str - :param fileobj: The name of a file to download to. + :type fileobj: str or seekable file-like object + :param fileobj: The name of a file to download or a seekable file-like + object to download. It is recommended to use a filename because + file-like objects may result in higher memory usage. :type extra_args: dict :param extra_args: Extra arguments that may be passed to the diff --git a/bin/s3transfer/manager.pyc b/bin/s3transfer/manager.pyc deleted file mode 100644 index 48f9cf85..00000000 Binary files a/bin/s3transfer/manager.pyc and /dev/null differ diff --git a/bin/s3transfer/processpool.py b/bin/s3transfer/processpool.py new file mode 100644 index 00000000..ffe8625f --- /dev/null +++ b/bin/s3transfer/processpool.py @@ -0,0 +1,955 @@ +# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +"""Speeds up S3 throughput by using processes + +Getting Started +=============== + +The :class:`ProcessPoolDownloader` can be used to download a single file by +calling :meth:`ProcessPoolDownloader.download_file`: + +.. code:: python + + from s3transfer.processpool import ProcessPoolDownloader + + with ProcessPoolDownloader() as downloader: + downloader.download_file('mybucket', 'mykey', 'myfile') + + +This snippet downloads the S3 object located in the bucket ``mybucket`` at the +key ``mykey`` to the local file ``myfile``. Any errors encountered during the +transfer are not propagated. To determine if a transfer succeeded or +failed, use the `Futures`_ interface. + + +The :class:`ProcessPoolDownloader` can be used to download multiple files as +well: + +.. code:: python + + from s3transfer.processpool import ProcessPoolDownloader + + with ProcessPoolDownloader() as downloader: + downloader.download_file('mybucket', 'mykey', 'myfile') + downloader.download_file('mybucket', 'myotherkey', 'myotherfile') + + +When running this snippet, the downloading of ``mykey`` and ``myotherkey`` +happen in parallel. The first ``download_file`` call does not block the +second ``download_file`` call. The snippet blocks when exiting +the context manager and blocks until both downloads are complete. + +Alternatively, the ``ProcessPoolDownloader`` can be instantiated +and explicitly be shutdown using :meth:`ProcessPoolDownloader.shutdown`: + +.. code:: python + + from s3transfer.processpool import ProcessPoolDownloader + + downloader = ProcessPoolDownloader() + downloader.download_file('mybucket', 'mykey', 'myfile') + downloader.download_file('mybucket', 'myotherkey', 'myotherfile') + downloader.shutdown() + + +For this code snippet, the call to ``shutdown`` blocks until both +downloads are complete. + + +Additional Parameters +===================== + +Additional parameters can be provided to the ``download_file`` method: + +* ``extra_args``: A dictionary containing any additional client arguments + to include in the + `GetObject `_ + API request. For example: + + .. code:: python + + from s3transfer.processpool import ProcessPoolDownloader + + with ProcessPoolDownloader() as downloader: + downloader.download_file( + 'mybucket', 'mykey', 'myfile', + extra_args={'VersionId': 'myversion'}) + + +* ``expected_size``: By default, the downloader will make a HeadObject + call to determine the size of the object. To opt-out of this additional + API call, you can provide the size of the object in bytes: + + .. code:: python + + from s3transfer.processpool import ProcessPoolDownloader + + MB = 1024 * 1024 + with ProcessPoolDownloader() as downloader: + downloader.download_file( + 'mybucket', 'mykey', 'myfile', expected_size=2 * MB) + + +Futures +======= + +When ``download_file`` is called, it immediately returns a +:class:`ProcessPoolTransferFuture`. The future can be used to poll the state +of a particular transfer. To get the result of the download, +call :meth:`ProcessPoolTransferFuture.result`. The method blocks +until the transfer completes, whether it succeeds or fails. For example: + +.. code:: python + + from s3transfer.processpool import ProcessPoolDownloader + + with ProcessPoolDownloader() as downloader: + future = downloader.download_file('mybucket', 'mykey', 'myfile') + print(future.result()) + + +If the download succeeds, the future returns ``None``: + +.. code:: python + + None + + +If the download fails, the exception causing the failure is raised. For +example, if ``mykey`` did not exist, the following error would be raised + + +.. code:: python + + botocore.exceptions.ClientError: An error occurred (404) when calling the HeadObject operation: Not Found + + +.. note:: + + :meth:`ProcessPoolTransferFuture.result` can only be called while the + ``ProcessPoolDownloader`` is running (e.g. before calling ``shutdown`` or + inside the context manager). + + +Process Pool Configuration +========================== + +By default, the downloader has the following configuration options: + +* ``multipart_threshold``: The threshold size for performing ranged downloads + in bytes. By default, ranged downloads happen for S3 objects that are + greater than or equal to 8 MB in size. + +* ``multipart_chunksize``: The size of each ranged download in bytes. By + default, the size of each ranged download is 8 MB. + +* ``max_request_processes``: The maximum number of processes used to download + S3 objects. By default, the maximum is 10 processes. + + +To change the default configuration, use the :class:`ProcessTransferConfig`: + +.. code:: python + + from s3transfer.processpool import ProcessPoolDownloader + from s3transfer.processpool import ProcessTransferConfig + + config = ProcessTransferConfig( + multipart_threshold=64 * 1024 * 1024, # 64 MB + max_request_processes=50 + ) + downloader = ProcessPoolDownloader(config=config) + + +Client Configuration +==================== + +The process pool downloader creates ``botocore`` clients on your behalf. In +order to affect how the client is created, pass the keyword arguments +that would have been used in the :meth:`botocore.Session.create_client` call: + +.. code:: python + + + from s3transfer.processpool import ProcessPoolDownloader + from s3transfer.processpool import ProcessTransferConfig + + downloader = ProcessPoolDownloader( + client_kwargs={'region_name': 'us-west-2'}) + + +This snippet ensures that all clients created by the ``ProcessPoolDownloader`` +are using ``us-west-2`` as their region. + +""" +import collections +import contextlib +import logging +import multiprocessing +import threading +import signal +from copy import deepcopy + +import botocore.session +from botocore.config import Config + +from s3transfer.constants import MB +from s3transfer.constants import ALLOWED_DOWNLOAD_ARGS +from s3transfer.constants import PROCESS_USER_AGENT +from s3transfer.compat import MAXINT +from s3transfer.compat import BaseManager +from s3transfer.exceptions import CancelledError +from s3transfer.exceptions import RetriesExceededError +from s3transfer.futures import BaseTransferFuture +from s3transfer.futures import BaseTransferMeta +from s3transfer.utils import S3_RETRYABLE_DOWNLOAD_ERRORS +from s3transfer.utils import calculate_num_parts +from s3transfer.utils import calculate_range_parameter +from s3transfer.utils import OSUtils +from s3transfer.utils import CallArgs + +logger = logging.getLogger(__name__) + +SHUTDOWN_SIGNAL = 'SHUTDOWN' + +# The DownloadFileRequest tuple is submitted from the ProcessPoolDownloader +# to the GetObjectSubmitter in order for the submitter to begin submitting +# GetObjectJobs to the GetObjectWorkers. +DownloadFileRequest = collections.namedtuple( + 'DownloadFileRequest', [ + 'transfer_id', # The unique id for the transfer + 'bucket', # The bucket to download the object from + 'key', # The key to download the object from + 'filename', # The user-requested download location + 'extra_args', # Extra arguments to provide to client calls + 'expected_size', # The user-provided expected size of the download + ] +) + +# The GetObjectJob tuple is submitted from the GetObjectSubmitter +# to the GetObjectWorkers to download the file or parts of the file. +GetObjectJob = collections.namedtuple( + 'GetObjectJob', [ + 'transfer_id', # The unique id for the transfer + 'bucket', # The bucket to download the object from + 'key', # The key to download the object from + 'temp_filename', # The temporary file to write the content to via + # completed GetObject calls. + 'extra_args', # Extra arguments to provide to the GetObject call + 'offset', # The offset to write the content for the temp file. + 'filename', # The user-requested download location. The worker + # of final GetObjectJob will move the file located at + # temp_filename to the location of filename. + ] +) + + +@contextlib.contextmanager +def ignore_ctrl_c(): + original_handler = _add_ignore_handler_for_interrupts() + yield + signal.signal(signal.SIGINT, original_handler) + + +def _add_ignore_handler_for_interrupts(): + # Windows is unable to pickle signal.signal directly so it needs to + # be wrapped in a function defined at the module level + return signal.signal(signal.SIGINT, signal.SIG_IGN) + + +class ProcessTransferConfig(object): + def __init__(self, + multipart_threshold=8 * MB, + multipart_chunksize=8 * MB, + max_request_processes=10): + """Configuration for the ProcessPoolDownloader + + :param multipart_threshold: The threshold for which ranged downloads + occur. + + :param multipart_chunksize: The chunk size of each ranged download. + + :param max_request_processes: The maximum number of processes that + will be making S3 API transfer-related requests at a time. + """ + self.multipart_threshold = multipart_threshold + self.multipart_chunksize = multipart_chunksize + self.max_request_processes = max_request_processes + + +class ProcessPoolDownloader(object): + def __init__(self, client_kwargs=None, config=None): + """Downloads S3 objects using process pools + + :type client_kwargs: dict + :param client_kwargs: The keyword arguments to provide when + instantiating S3 clients. The arguments must match the keyword + arguments provided to the + `botocore.session.Session.create_client()` method. + + :type config: ProcessTransferConfig + :param config: Configuration for the downloader + """ + if client_kwargs is None: + client_kwargs = {} + self._client_factory = ClientFactory(client_kwargs) + + self._transfer_config = config + if config is None: + self._transfer_config = ProcessTransferConfig() + + self._download_request_queue = multiprocessing.Queue(1000) + self._worker_queue = multiprocessing.Queue(1000) + self._osutil = OSUtils() + + self._started = False + self._start_lock = threading.Lock() + + # These below are initialized in the start() method + self._manager = None + self._transfer_monitor = None + self._submitter = None + self._workers = [] + + def download_file(self, bucket, key, filename, extra_args=None, + expected_size=None): + """Downloads the object's contents to a file + + :type bucket: str + :param bucket: The name of the bucket to download from + + :type key: str + :param key: The name of the key to download from + + :type filename: str + :param filename: The name of a file to download to. + + :type extra_args: dict + :param extra_args: Extra arguments that may be passed to the + client operation + + :type expected_size: int + :param expected_size: The expected size in bytes of the download. If + provided, the downloader will not call HeadObject to determine the + object's size and use the provided value instead. The size is + needed to determine whether to do a multipart download. + + :rtype: s3transfer.futures.TransferFuture + :returns: Transfer future representing the download + """ + self._start_if_needed() + if extra_args is None: + extra_args = {} + self._validate_all_known_args(extra_args) + transfer_id = self._transfer_monitor.notify_new_transfer() + download_file_request = DownloadFileRequest( + transfer_id=transfer_id, bucket=bucket, key=key, + filename=filename, extra_args=extra_args, + expected_size=expected_size, + ) + logger.debug( + 'Submitting download file request: %s.', download_file_request) + self._download_request_queue.put(download_file_request) + call_args = CallArgs( + bucket=bucket, key=key, filename=filename, extra_args=extra_args, + expected_size=expected_size) + future = self._get_transfer_future(transfer_id, call_args) + return future + + def shutdown(self): + """Shutdown the downloader + + It will wait till all downloads are complete before returning. + """ + self._shutdown_if_needed() + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_value, *args): + if isinstance(exc_value, KeyboardInterrupt): + if self._transfer_monitor is not None: + self._transfer_monitor.notify_cancel_all_in_progress() + self.shutdown() + + def _start_if_needed(self): + with self._start_lock: + if not self._started: + self._start() + + def _start(self): + self._start_transfer_monitor_manager() + self._start_submitter() + self._start_get_object_workers() + self._started = True + + def _validate_all_known_args(self, provided): + for kwarg in provided: + if kwarg not in ALLOWED_DOWNLOAD_ARGS: + raise ValueError( + "Invalid extra_args key '%s', " + "must be one of: %s" % ( + kwarg, ', '.join(ALLOWED_DOWNLOAD_ARGS))) + + def _get_transfer_future(self, transfer_id, call_args): + meta = ProcessPoolTransferMeta( + call_args=call_args, transfer_id=transfer_id) + future = ProcessPoolTransferFuture( + monitor=self._transfer_monitor, meta=meta) + return future + + def _start_transfer_monitor_manager(self): + logger.debug('Starting the TransferMonitorManager.') + self._manager = TransferMonitorManager() + # We do not want Ctrl-C's to cause the manager to shutdown immediately + # as worker processes will still need to communicate with it when they + # are shutting down. So instead we ignore Ctrl-C and let the manager + # be explicitly shutdown when shutting down the downloader. + self._manager.start(_add_ignore_handler_for_interrupts) + self._transfer_monitor = self._manager.TransferMonitor() + + def _start_submitter(self): + logger.debug('Starting the GetObjectSubmitter.') + self._submitter = GetObjectSubmitter( + transfer_config=self._transfer_config, + client_factory=self._client_factory, + transfer_monitor=self._transfer_monitor, + osutil=self._osutil, + download_request_queue=self._download_request_queue, + worker_queue=self._worker_queue + ) + self._submitter.start() + + def _start_get_object_workers(self): + logger.debug('Starting %s GetObjectWorkers.', + self._transfer_config.max_request_processes) + for _ in range(self._transfer_config.max_request_processes): + worker = GetObjectWorker( + queue=self._worker_queue, + client_factory=self._client_factory, + transfer_monitor=self._transfer_monitor, + osutil=self._osutil, + ) + worker.start() + self._workers.append(worker) + + def _shutdown_if_needed(self): + with self._start_lock: + if self._started: + self._shutdown() + + def _shutdown(self): + self._shutdown_submitter() + self._shutdown_get_object_workers() + self._shutdown_transfer_monitor_manager() + self._started = False + + def _shutdown_transfer_monitor_manager(self): + logger.debug('Shutting down the TransferMonitorManager.') + self._manager.shutdown() + + def _shutdown_submitter(self): + logger.debug('Shutting down the GetObjectSubmitter.') + self._download_request_queue.put(SHUTDOWN_SIGNAL) + self._submitter.join() + + def _shutdown_get_object_workers(self): + logger.debug('Shutting down the GetObjectWorkers.') + for _ in self._workers: + self._worker_queue.put(SHUTDOWN_SIGNAL) + for worker in self._workers: + worker.join() + + +class ProcessPoolTransferFuture(BaseTransferFuture): + def __init__(self, monitor, meta): + """The future associated to a submitted process pool transfer request + + :type monitor: TransferMonitor + :param monitor: The monitor associated to the proccess pool downloader + + :type meta: ProcessPoolTransferMeta + :param meta: The metadata associated to the request. This object + is visible to the requester. + """ + self._monitor = monitor + self._meta = meta + + @property + def meta(self): + return self._meta + + def done(self): + return self._monitor.is_done(self._meta.transfer_id) + + def result(self): + try: + return self._monitor.poll_for_result(self._meta.transfer_id) + except KeyboardInterrupt: + # For the multiprocessing Manager, a thread is given a single + # connection to reuse in communicating between the thread in the + # main process and the Manager's process. If a Ctrl-C happens when + # polling for the result, it will make the main thread stop trying + # to receive from the connection, but the Manager process will not + # know that the main process has stopped trying to receive and + # will not close the connection. As a result if another message is + # sent to the Manager process, the listener in the Manager + # processes will not process the new message as it is still trying + # trying to process the previous message (that was Ctrl-C'd) and + # thus cause the thread in the main process to hang on its send. + # The only way around this is to create a new connection and send + # messages from that new connection instead. + self._monitor._connect() + self.cancel() + raise + + def cancel(self): + self._monitor.notify_exception( + self._meta.transfer_id, CancelledError() + ) + + +class ProcessPoolTransferMeta(BaseTransferMeta): + """Holds metadata about the ProcessPoolTransferFuture""" + def __init__(self, transfer_id, call_args): + self._transfer_id = transfer_id + self._call_args = call_args + self._user_context = {} + + @property + def call_args(self): + return self._call_args + + @property + def transfer_id(self): + return self._transfer_id + + @property + def user_context(self): + return self._user_context + + +class ClientFactory(object): + def __init__(self, client_kwargs=None): + """Creates S3 clients for processes + + Botocore sessions and clients are not pickleable so they cannot be + inherited across Process boundaries. Instead, they must be instantiated + once a process is running. + """ + self._client_kwargs = client_kwargs + if self._client_kwargs is None: + self._client_kwargs = {} + + client_config = deepcopy(self._client_kwargs.get('config', Config())) + if not client_config.user_agent_extra: + client_config.user_agent_extra = PROCESS_USER_AGENT + else: + client_config.user_agent_extra += " " + PROCESS_USER_AGENT + self._client_kwargs['config'] = client_config + + def create_client(self): + """Create a botocore S3 client""" + return botocore.session.Session().create_client( + 's3', **self._client_kwargs) + + +class TransferMonitor(object): + def __init__(self): + """Monitors transfers for cross-proccess communication + + Notifications can be sent to the monitor and information can be + retrieved from the monitor for a particular transfer. This abstraction + is ran in a ``multiprocessing.managers.BaseManager`` in order to be + shared across processes. + """ + # TODO: Add logic that removes the TransferState if the transfer is + # marked as done and the reference to the future is no longer being + # held onto. Without this logic, this dictionary will continue to + # grow in size with no limit. + self._transfer_states = {} + self._id_count = 0 + self._init_lock = threading.Lock() + + def notify_new_transfer(self): + with self._init_lock: + transfer_id = self._id_count + self._transfer_states[transfer_id] = TransferState() + self._id_count += 1 + return transfer_id + + def is_done(self, transfer_id): + """Determine a particular transfer is complete + + :param transfer_id: Unique identifier for the transfer + :return: True, if done. False, otherwise. + """ + return self._transfer_states[transfer_id].done + + def notify_done(self, transfer_id): + """Notify a particular transfer is complete + + :param transfer_id: Unique identifier for the transfer + """ + self._transfer_states[transfer_id].set_done() + + def poll_for_result(self, transfer_id): + """Poll for the result of a transfer + + :param transfer_id: Unique identifier for the transfer + :return: If the transfer succeeded, it will return the result. If the + transfer failed, it will raise the exception associated to the + failure. + """ + self._transfer_states[transfer_id].wait_till_done() + exception = self._transfer_states[transfer_id].exception + if exception: + raise exception + return None + + def notify_exception(self, transfer_id, exception): + """Notify an exception was encountered for a transfer + + :param transfer_id: Unique identifier for the transfer + :param exception: The exception encountered for that transfer + """ + # TODO: Not all exceptions are pickleable so if we are running + # this in a multiprocessing.BaseManager we will want to + # make sure to update this signature to ensure pickleability of the + # arguments or have the ProxyObject do the serialization. + self._transfer_states[transfer_id].exception = exception + + def notify_cancel_all_in_progress(self): + for transfer_state in self._transfer_states.values(): + if not transfer_state.done: + transfer_state.exception = CancelledError() + + def get_exception(self, transfer_id): + """Retrieve the exception encountered for the transfer + + :param transfer_id: Unique identifier for the transfer + :return: The exception encountered for that transfer. Otherwise + if there were no exceptions, returns None. + """ + return self._transfer_states[transfer_id].exception + + def notify_expected_jobs_to_complete(self, transfer_id, num_jobs): + """Notify the amount of jobs expected for a transfer + + :param transfer_id: Unique identifier for the transfer + :param num_jobs: The number of jobs to complete the transfer + """ + self._transfer_states[transfer_id].jobs_to_complete = num_jobs + + def notify_job_complete(self, transfer_id): + """Notify that a single job is completed for a transfer + + :param transfer_id: Unique identifier for the transfer + :return: The number of jobs remaining to complete the transfer + """ + return self._transfer_states[transfer_id].decrement_jobs_to_complete() + + +class TransferState(object): + """Represents the current state of an individual transfer""" + # NOTE: Ideally the TransferState object would be used directly by the + # various different abstractions in the ProcessPoolDownloader and remove + # the need for the TransferMonitor. However, it would then impose the + # constraint that two hops are required to make or get any changes in the + # state of a transfer across processes: one hop to get a proxy object for + # the TransferState and then a second hop to communicate calling the + # specific TransferState method. + def __init__(self): + self._exception = None + self._done_event = threading.Event() + self._job_lock = threading.Lock() + self._jobs_to_complete = 0 + + @property + def done(self): + return self._done_event.is_set() + + def set_done(self): + self._done_event.set() + + def wait_till_done(self): + self._done_event.wait(MAXINT) + + @property + def exception(self): + return self._exception + + @exception.setter + def exception(self, val): + self._exception = val + + @property + def jobs_to_complete(self): + return self._jobs_to_complete + + @jobs_to_complete.setter + def jobs_to_complete(self, val): + self._jobs_to_complete = val + + def decrement_jobs_to_complete(self): + with self._job_lock: + self._jobs_to_complete -= 1 + return self._jobs_to_complete + + +class TransferMonitorManager(BaseManager): + pass + + +TransferMonitorManager.register('TransferMonitor', TransferMonitor) + + +class BaseS3TransferProcess(multiprocessing.Process): + def __init__(self, client_factory): + super(BaseS3TransferProcess, self).__init__() + self._client_factory = client_factory + self._client = None + + def run(self): + # Clients are not pickleable so their instantiation cannot happen + # in the __init__ for processes that are created under the + # spawn method. + self._client = self._client_factory.create_client() + with ignore_ctrl_c(): + # By default these processes are ran as child processes to the + # main process. Any Ctrl-c encountered in the main process is + # propagated to the child process and interrupt it at any time. + # To avoid any potentially bad states caused from an interrupt + # (i.e. a transfer failing to notify its done or making the + # communication protocol become out of sync with the + # TransferMonitor), we ignore all Ctrl-C's and allow the main + # process to notify these child processes when to stop processing + # jobs. + self._do_run() + + def _do_run(self): + raise NotImplementedError('_do_run()') + + +class GetObjectSubmitter(BaseS3TransferProcess): + def __init__(self, transfer_config, client_factory, + transfer_monitor, osutil, download_request_queue, + worker_queue): + """Submit GetObjectJobs to fulfill a download file request + + :param transfer_config: Configuration for transfers. + :param client_factory: ClientFactory for creating S3 clients. + :param transfer_monitor: Monitor for notifying and retrieving state + of transfer. + :param osutil: OSUtils object to use for os-related behavior when + performing the transfer. + :param download_request_queue: Queue to retrieve download file + requests. + :param worker_queue: Queue to submit GetObjectJobs for workers + to perform. + """ + super(GetObjectSubmitter, self).__init__(client_factory) + self._transfer_config = transfer_config + self._transfer_monitor = transfer_monitor + self._osutil = osutil + self._download_request_queue = download_request_queue + self._worker_queue = worker_queue + + def _do_run(self): + while True: + download_file_request = self._download_request_queue.get() + if download_file_request == SHUTDOWN_SIGNAL: + logger.debug( + 'Submitter shutdown signal received.') + return + try: + self._submit_get_object_jobs(download_file_request) + except Exception as e: + logger.debug('Exception caught when submitting jobs for ' + 'download file request %s: %s', + download_file_request, e, exc_info=True) + self._transfer_monitor.notify_exception( + download_file_request.transfer_id, e) + self._transfer_monitor.notify_done( + download_file_request.transfer_id) + + def _submit_get_object_jobs(self, download_file_request): + size = self._get_size(download_file_request) + temp_filename = self._allocate_temp_file(download_file_request, size) + if size < self._transfer_config.multipart_threshold: + self._submit_single_get_object_job( + download_file_request, temp_filename) + else: + self._submit_ranged_get_object_jobs( + download_file_request, temp_filename, size) + + def _get_size(self, download_file_request): + expected_size = download_file_request.expected_size + if expected_size is None: + expected_size = self._client.head_object( + Bucket=download_file_request.bucket, + Key=download_file_request.key, + **download_file_request.extra_args)['ContentLength'] + return expected_size + + def _allocate_temp_file(self, download_file_request, size): + temp_filename = self._osutil.get_temp_filename( + download_file_request.filename + ) + self._osutil.allocate(temp_filename, size) + return temp_filename + + def _submit_single_get_object_job(self, download_file_request, + temp_filename): + self._notify_jobs_to_complete( + download_file_request.transfer_id, 1) + self._submit_get_object_job( + transfer_id=download_file_request.transfer_id, + bucket=download_file_request.bucket, + key=download_file_request.key, + temp_filename=temp_filename, + offset=0, + extra_args=download_file_request.extra_args, + filename=download_file_request.filename + ) + + def _submit_ranged_get_object_jobs(self, download_file_request, + temp_filename, size): + part_size = self._transfer_config.multipart_chunksize + num_parts = calculate_num_parts(size, part_size) + self._notify_jobs_to_complete( + download_file_request.transfer_id, num_parts) + for i in range(num_parts): + offset = i * part_size + range_parameter = calculate_range_parameter( + part_size, i, num_parts) + get_object_kwargs = {'Range': range_parameter} + get_object_kwargs.update(download_file_request.extra_args) + self._submit_get_object_job( + transfer_id=download_file_request.transfer_id, + bucket=download_file_request.bucket, + key=download_file_request.key, + temp_filename=temp_filename, + offset=offset, + extra_args=get_object_kwargs, + filename=download_file_request.filename, + ) + + def _submit_get_object_job(self, **get_object_job_kwargs): + self._worker_queue.put(GetObjectJob(**get_object_job_kwargs)) + + def _notify_jobs_to_complete(self, transfer_id, jobs_to_complete): + logger.debug( + 'Notifying %s job(s) to complete for transfer_id %s.', + jobs_to_complete, transfer_id + ) + self._transfer_monitor.notify_expected_jobs_to_complete( + transfer_id, jobs_to_complete) + + +class GetObjectWorker(BaseS3TransferProcess): + # TODO: It may make sense to expose these class variables as configuration + # options if users want to tweak them. + _MAX_ATTEMPTS = 5 + _IO_CHUNKSIZE = 2 * MB + + def __init__(self, queue, client_factory, transfer_monitor, osutil): + """Fulfills GetObjectJobs + + Downloads the S3 object, writes it to the specified file, and + renames the file to its final location if it completes the final + job for a particular transfer. + + :param queue: Queue for retrieving GetObjectJob's + :param client_factory: ClientFactory for creating S3 clients + :param transfer_monitor: Monitor for notifying + :param osutil: OSUtils object to use for os-related behavior when + performing the transfer. + """ + super(GetObjectWorker, self).__init__(client_factory) + self._queue = queue + self._client_factory = client_factory + self._transfer_monitor = transfer_monitor + self._osutil = osutil + + def _do_run(self): + while True: + job = self._queue.get() + if job == SHUTDOWN_SIGNAL: + logger.debug( + 'Worker shutdown signal received.') + return + if not self._transfer_monitor.get_exception(job.transfer_id): + self._run_get_object_job(job) + else: + logger.debug( + 'Skipping get object job %s because there was a previous ' + 'exception.', job) + remaining = self._transfer_monitor.notify_job_complete( + job.transfer_id) + logger.debug( + '%s jobs remaining for transfer_id %s.', remaining, + job.transfer_id) + if not remaining: + self._finalize_download( + job.transfer_id, job.temp_filename, job.filename + ) + + def _run_get_object_job(self, job): + try: + self._do_get_object( + bucket=job.bucket, key=job.key, + temp_filename=job.temp_filename, extra_args=job.extra_args, + offset=job.offset + ) + except Exception as e: + logger.debug('Exception caught when downloading object for ' + 'get object job %s: %s', + job, e, exc_info=True) + self._transfer_monitor.notify_exception(job.transfer_id, e) + + def _do_get_object(self, bucket, key, extra_args, temp_filename, offset): + last_exception = None + for i in range(self._MAX_ATTEMPTS): + try: + response = self._client.get_object( + Bucket=bucket, Key=key, **extra_args) + self._write_to_file(temp_filename, offset, response['Body']) + return + except S3_RETRYABLE_DOWNLOAD_ERRORS as e: + logger.debug('Retrying exception caught (%s), ' + 'retrying request, (attempt %s / %s)', e, i+1, + self._MAX_ATTEMPTS, exc_info=True) + last_exception = e + raise RetriesExceededError(last_exception) + + def _write_to_file(self, filename, offset, body): + with open(filename, 'rb+') as f: + f.seek(offset) + chunks = iter(lambda: body.read(self._IO_CHUNKSIZE), b'') + for chunk in chunks: + f.write(chunk) + + def _finalize_download(self, transfer_id, temp_filename, filename): + if self._transfer_monitor.get_exception(transfer_id): + self._osutil.remove_file(temp_filename) + else: + self._do_file_rename(transfer_id, temp_filename, filename) + self._transfer_monitor.notify_done(transfer_id) + + def _do_file_rename(self, transfer_id, temp_filename, filename): + try: + self._osutil.rename_file(temp_filename, filename) + except Exception as e: + self._transfer_monitor.notify_exception(transfer_id, e) + self._osutil.remove_file(temp_filename) diff --git a/bin/s3transfer/subscribers.pyc b/bin/s3transfer/subscribers.pyc deleted file mode 100644 index 92a1501e..00000000 Binary files a/bin/s3transfer/subscribers.pyc and /dev/null differ diff --git a/bin/s3transfer/tasks.pyc b/bin/s3transfer/tasks.pyc deleted file mode 100644 index c428e3a0..00000000 Binary files a/bin/s3transfer/tasks.pyc and /dev/null differ diff --git a/bin/s3transfer/upload.py b/bin/s3transfer/upload.py index 32cd4b90..a6b22a6c 100644 --- a/bin/s3transfer/upload.py +++ b/bin/s3transfer/upload.py @@ -61,7 +61,7 @@ def _trigger_callbacks(self): class InterruptReader(object): """Wrapper that can interrupt reading using an error - It uses a transfer coordinator to propogate an error if it notices + It uses a transfer coordinator to propagate an error if it notices that a read is being made while the file is being read from. :type fileobj: file-like obj @@ -333,10 +333,10 @@ def _get_upload_part_fileobj_with_full_size(self, fileobj, **kwargs): # since there is not really a mechanism in python (i.e. os.dup # points to the same OS filehandle which causes concurrency # issues). So instead we need to read from the fileobj and - # chunk the data out to seperate file-like objects in memory. + # chunk the data out to separate file-like objects in memory. data = fileobj.read(kwargs['part_size']) # We return the length of the data instead of the full_file_size - # because we partitioned the data into seperate BytesIO objects + # because we partitioned the data into separate BytesIO objects # meaning the BytesIO object has no knowledge of its start position # relative the input source nor access to the rest of the input # source. So we must treat it as its own standalone file. @@ -439,7 +439,7 @@ def _read(self, fileobj, amount, truncate=True): if len(self._initial_data) == 0: return fileobj.read(amount) - # If the requested number of bytes is less thant the amount of + # If the requested number of bytes is less than the amount of # initial data, pull entirely from initial data. if amount <= len(self._initial_data): data = self._initial_data[:amount] @@ -497,7 +497,7 @@ class UploadSubmissionTask(SubmissionTask): ] def _get_upload_input_manager_cls(self, transfer_future): - """Retieves a class for managing input for an upload based on file type + """Retrieves a class for managing input for an upload based on file type :type transfer_future: s3transfer.futures.TransferFuture :param transfer_future: The transfer future for the request diff --git a/bin/s3transfer/upload.pyc b/bin/s3transfer/upload.pyc deleted file mode 100644 index f0f51106..00000000 Binary files a/bin/s3transfer/upload.pyc and /dev/null differ diff --git a/bin/s3transfer/utils.py b/bin/s3transfer/utils.py index 5ca4d9f0..f5ba3d36 100644 --- a/bin/s3transfer/utils.py +++ b/bin/s3transfer/utils.py @@ -15,6 +15,7 @@ import functools import math import os +import socket import stat import string import logging @@ -22,8 +23,13 @@ import io from collections import defaultdict +from botocore.exceptions import IncompleteReadError +from botocore.exceptions import ReadTimeoutError + +from s3transfer.compat import SOCKET_ERROR from s3transfer.compat import rename_file from s3transfer.compat import seekable +from s3transfer.compat import fallocate MAX_PARTS = 10000 @@ -35,6 +41,11 @@ logger = logging.getLogger(__name__) +S3_RETRYABLE_DOWNLOAD_ERRORS = ( + socket.timeout, SOCKET_ERROR, ReadTimeoutError, IncompleteReadError +) + + def random_file_extension(num_digits=8): return ''.join(random.choice(string.hexdigits) for _ in range(num_digits)) @@ -51,6 +62,10 @@ def signal_transferring(request, operation_name, **kwargs): request.body.signal_transferring() +def calculate_num_parts(size, part_size): + return int(math.ceil(size / float(part_size))) + + def calculate_range_parameter(part_size, part_index, num_parts, total_size=None): """Calculate the range parameter for multipart downloads/copies @@ -284,6 +299,17 @@ def is_special_file(cls, filename): return True return False + def get_temp_filename(self, filename): + return filename + os.extsep + random_file_extension() + + def allocate(self, filename, size): + try: + with self.open(filename, 'wb') as f: + fallocate(f, size) + except (OSError, IOError): + self.remove_file(filename) + raise + class DeferredOpenFile(object): def __init__(self, filename, start_byte=0, mode='rb', open_function=open): diff --git a/bin/s3transfer/utils.pyc b/bin/s3transfer/utils.pyc deleted file mode 100644 index e7c8590c..00000000 Binary files a/bin/s3transfer/utils.pyc and /dev/null differ diff --git a/bin/six-1.11.0.dist-info/DESCRIPTION.rst b/bin/six-1.11.0.dist-info/DESCRIPTION.rst deleted file mode 100644 index 09c2c992..00000000 --- a/bin/six-1.11.0.dist-info/DESCRIPTION.rst +++ /dev/null @@ -1,27 +0,0 @@ -.. image:: http://img.shields.io/pypi/v/six.svg - :target: https://pypi.python.org/pypi/six - -.. image:: https://travis-ci.org/benjaminp/six.svg?branch=master - :target: https://travis-ci.org/benjaminp/six - -.. image:: http://img.shields.io/badge/license-MIT-green.svg - :target: https://github.com/benjaminp/six/blob/master/LICENSE - -Six is a Python 2 and 3 compatibility library. It provides utility functions -for smoothing over the differences between the Python versions with the goal of -writing Python code that is compatible on both Python versions. See the -documentation for more information on what is provided. - -Six supports every Python version since 2.6. It is contained in only one Python -file, so it can be easily copied into your project. (The copyright and license -notice must be retained.) - -Online documentation is at http://six.rtfd.org. - -Bugs can be reported to https://github.com/benjaminp/six. The code can also -be found there. - -For questions about six or porting in general, email the python-porting mailing -list: https://mail.python.org/mailman/listinfo/python-porting - - diff --git a/bin/six-1.11.0.dist-info/INSTALLER b/bin/six-1.11.0.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/bin/six-1.11.0.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/bin/six-1.11.0.dist-info/METADATA b/bin/six-1.11.0.dist-info/METADATA deleted file mode 100644 index 04e93dc6..00000000 --- a/bin/six-1.11.0.dist-info/METADATA +++ /dev/null @@ -1,43 +0,0 @@ -Metadata-Version: 2.0 -Name: six -Version: 1.11.0 -Summary: Python 2 and 3 compatibility utilities -Home-page: http://pypi.python.org/pypi/six/ -Author: Benjamin Peterson -Author-email: benjamin@python.org -License: MIT -Platform: UNKNOWN -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 3 -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: MIT License -Classifier: Topic :: Software Development :: Libraries -Classifier: Topic :: Utilities - -.. image:: http://img.shields.io/pypi/v/six.svg - :target: https://pypi.python.org/pypi/six - -.. image:: https://travis-ci.org/benjaminp/six.svg?branch=master - :target: https://travis-ci.org/benjaminp/six - -.. image:: http://img.shields.io/badge/license-MIT-green.svg - :target: https://github.com/benjaminp/six/blob/master/LICENSE - -Six is a Python 2 and 3 compatibility library. It provides utility functions -for smoothing over the differences between the Python versions with the goal of -writing Python code that is compatible on both Python versions. See the -documentation for more information on what is provided. - -Six supports every Python version since 2.6. It is contained in only one Python -file, so it can be easily copied into your project. (The copyright and license -notice must be retained.) - -Online documentation is at http://six.rtfd.org. - -Bugs can be reported to https://github.com/benjaminp/six. The code can also -be found there. - -For questions about six or porting in general, email the python-porting mailing -list: https://mail.python.org/mailman/listinfo/python-porting - - diff --git a/bin/six-1.11.0.dist-info/RECORD b/bin/six-1.11.0.dist-info/RECORD deleted file mode 100644 index 3881c8d1..00000000 --- a/bin/six-1.11.0.dist-info/RECORD +++ /dev/null @@ -1,9 +0,0 @@ -six.py,sha256=A08MPb-Gi9FfInI3IW7HimXFmEH2T2IPzHgDvdhZPRA,30888 -six-1.11.0.dist-info/DESCRIPTION.rst,sha256=gPBoq1Ruc1QDWyLeXPlieL3F-XZz1_WXB-5gctCfg-A,1098 -six-1.11.0.dist-info/METADATA,sha256=06nZXaDYN3vnC-pmUjhkECYFH_a--ywvcPIpUdNeH1o,1607 -six-1.11.0.dist-info/RECORD,, -six-1.11.0.dist-info/WHEEL,sha256=o2k-Qa-RMNIJmUdIc7KU6VWR_ErNRbWNlxDIpl7lm34,110 -six-1.11.0.dist-info/metadata.json,sha256=ac3f4f7MpSHSnZ1SqhHCwsL7FGWMG0gBEb0hhS2eSSM,703 -six-1.11.0.dist-info/top_level.txt,sha256=_iVH_iYEtEXnD8nYGQYpYFUvkUW9sEO1GYbkeKSAais,4 -six-1.11.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -six.pyc,, diff --git a/bin/six-1.11.0.dist-info/WHEEL b/bin/six-1.11.0.dist-info/WHEEL deleted file mode 100644 index 8b6dd1b5..00000000 --- a/bin/six-1.11.0.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.29.0) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/bin/six-1.11.0.dist-info/metadata.json b/bin/six-1.11.0.dist-info/metadata.json deleted file mode 100644 index 2c7fcea9..00000000 --- a/bin/six-1.11.0.dist-info/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"classifiers": ["Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Topic :: Software Development :: Libraries", "Topic :: Utilities"], "extensions": {"python.details": {"contacts": [{"email": "benjamin@python.org", "name": "Benjamin Peterson", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "http://pypi.python.org/pypi/six/"}}}, "generator": "bdist_wheel (0.29.0)", "license": "MIT", "metadata_version": "2.0", "name": "six", "summary": "Python 2 and 3 compatibility utilities", "test_requires": [{"requires": ["pytest"]}], "version": "1.11.0"} \ No newline at end of file diff --git a/bin/six-1.11.0.dist-info/top_level.txt b/bin/six-1.11.0.dist-info/top_level.txt deleted file mode 100644 index ffe2fce4..00000000 --- a/bin/six-1.11.0.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -six diff --git a/bin/six.py b/bin/six.py index 6bf4fd38..89b2188f 100644 --- a/bin/six.py +++ b/bin/six.py @@ -1,4 +1,4 @@ -# Copyright (c) 2010-2017 Benjamin Peterson +# Copyright (c) 2010-2018 Benjamin Peterson # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -29,7 +29,7 @@ import types __author__ = "Benjamin Peterson " -__version__ = "1.11.0" +__version__ = "1.12.0" # Useful for very coarse version differentiation. @@ -844,10 +844,71 @@ def wrapper(cls): orig_vars.pop(slots_var) orig_vars.pop('__dict__', None) orig_vars.pop('__weakref__', None) + if hasattr(cls, '__qualname__'): + orig_vars['__qualname__'] = cls.__qualname__ return metaclass(cls.__name__, cls.__bases__, orig_vars) return wrapper +def ensure_binary(s, encoding='utf-8', errors='strict'): + """Coerce **s** to six.binary_type. + + For Python 2: + - `unicode` -> encoded to `str` + - `str` -> `str` + + For Python 3: + - `str` -> encoded to `bytes` + - `bytes` -> `bytes` + """ + if isinstance(s, text_type): + return s.encode(encoding, errors) + elif isinstance(s, binary_type): + return s + else: + raise TypeError("not expecting type '%s'" % type(s)) + + +def ensure_str(s, encoding='utf-8', errors='strict'): + """Coerce *s* to `str`. + + For Python 2: + - `unicode` -> encoded to `str` + - `str` -> `str` + + For Python 3: + - `str` -> `str` + - `bytes` -> decoded to `str` + """ + if not isinstance(s, (text_type, binary_type)): + raise TypeError("not expecting type '%s'" % type(s)) + if PY2 and isinstance(s, text_type): + s = s.encode(encoding, errors) + elif PY3 and isinstance(s, binary_type): + s = s.decode(encoding, errors) + return s + + +def ensure_text(s, encoding='utf-8', errors='strict'): + """Coerce *s* to six.text_type. + + For Python 2: + - `unicode` -> `unicode` + - `str` -> `unicode` + + For Python 3: + - `str` -> `str` + - `bytes` -> decoded to `str` + """ + if isinstance(s, binary_type): + return s.decode(encoding, errors) + elif isinstance(s, text_type): + return s + else: + raise TypeError("not expecting type '%s'" % type(s)) + + + def python_2_unicode_compatible(klass): """ A decorator that defines __unicode__ and __str__ methods under Python 2. diff --git a/bin/six.pyc b/bin/six.pyc deleted file mode 100644 index 77847b31..00000000 Binary files a/bin/six.pyc and /dev/null differ diff --git a/bin/sshpass b/bin/sshpass new file mode 100755 index 00000000..46ef7502 Binary files /dev/null and b/bin/sshpass differ diff --git a/bin/time b/bin/time new file mode 100755 index 00000000..2ef38c01 Binary files /dev/null and b/bin/time differ diff --git a/bin/traceroute b/bin/traceroute new file mode 100755 index 00000000..85d9e162 Binary files /dev/null and b/bin/traceroute differ diff --git a/bin/tree b/bin/tree new file mode 100755 index 00000000..42ab1f5f Binary files /dev/null and b/bin/tree differ diff --git a/bin/urllib3-1.24.1.dist-info/INSTALLER b/bin/urllib3-1.24.1.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/bin/urllib3-1.24.1.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/bin/urllib3-1.24.1.dist-info/LICENSE.txt b/bin/urllib3-1.24.1.dist-info/LICENSE.txt deleted file mode 100644 index 1c3283ee..00000000 --- a/bin/urllib3-1.24.1.dist-info/LICENSE.txt +++ /dev/null @@ -1,19 +0,0 @@ -This is the MIT license: http://www.opensource.org/licenses/mit-license.php - -Copyright 2008-2016 Andrey Petrov and contributors (see CONTRIBUTORS.txt) - -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. diff --git a/bin/urllib3-1.24.1.dist-info/METADATA b/bin/urllib3-1.24.1.dist-info/METADATA deleted file mode 100644 index 611f924c..00000000 --- a/bin/urllib3-1.24.1.dist-info/METADATA +++ /dev/null @@ -1,1111 +0,0 @@ -Metadata-Version: 2.1 -Name: urllib3 -Version: 1.24.1 -Summary: HTTP library with thread-safe connection pooling, file post, and more. -Home-page: https://urllib3.readthedocs.io/ -Author: Andrey Petrov -Author-email: andrey.petrov@shazow.net -License: MIT -Keywords: urllib httplib threadsafe filepost http https ssl pooling -Platform: UNKNOWN -Classifier: Environment :: Web Environment -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: MIT License -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: Implementation :: CPython -Classifier: Programming Language :: Python :: Implementation :: PyPy -Classifier: Topic :: Internet :: WWW/HTTP -Classifier: Topic :: Software Development :: Libraries -Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4 -Provides-Extra: socks -Provides-Extra: secure -Provides-Extra: secure -Requires-Dist: pyOpenSSL (>=0.14); extra == 'secure' -Requires-Dist: cryptography (>=1.3.4); extra == 'secure' -Requires-Dist: idna (>=2.0.0); extra == 'secure' -Requires-Dist: certifi; extra == 'secure' -Requires-Dist: ipaddress; extra == 'secure' -Provides-Extra: socks -Requires-Dist: PySocks (!=1.5.7,<2.0,>=1.5.6); extra == 'socks' - -urllib3 -======= - -.. image:: https://travis-ci.org/urllib3/urllib3.svg?branch=master - :alt: Build status on Travis - :target: https://travis-ci.org/urllib3/urllib3 - -.. image:: https://img.shields.io/appveyor/ci/urllib3/urllib3/master.svg - :alt: Build status on AppVeyor - :target: https://ci.appveyor.com/project/urllib3/urllib3 - -.. image:: https://readthedocs.org/projects/urllib3/badge/?version=latest - :alt: Documentation Status - :target: https://urllib3.readthedocs.io/en/latest/ - -.. image:: https://img.shields.io/codecov/c/github/urllib3/urllib3.svg - :alt: Coverage Status - :target: https://codecov.io/gh/urllib3/urllib3 - -.. image:: https://img.shields.io/pypi/v/urllib3.svg?maxAge=86400 - :alt: PyPI version - :target: https://pypi.org/project/urllib3/ - -.. image:: https://www.bountysource.com/badge/tracker?tracker_id=192525 - :alt: Bountysource - :target: https://www.bountysource.com/trackers/192525-urllib3?utm_source=192525&utm_medium=shield&utm_campaign=TRACKER_BADGE - -.. image:: https://badges.gitter.im/python-urllib3/Lobby.svg - :alt: Gitter - :target: https://gitter.im/python-urllib3/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge - -urllib3 is a powerful, *sanity-friendly* HTTP client for Python. Much of the -Python ecosystem already uses urllib3 and you should too. -urllib3 brings many critical features that are missing from the Python -standard libraries: - -- Thread safety. -- Connection pooling. -- Client-side SSL/TLS verification. -- File uploads with multipart encoding. -- Helpers for retrying requests and dealing with HTTP redirects. -- Support for gzip and deflate encoding. -- Proxy support for HTTP and SOCKS. -- 100% test coverage. - -urllib3 is powerful and easy to use:: - - >>> import urllib3 - >>> http = urllib3.PoolManager() - >>> r = http.request('GET', 'http://httpbin.org/robots.txt') - >>> r.status - 200 - >>> r.data - 'User-agent: *\nDisallow: /deny\n' - - -Installing ----------- - -urllib3 can be installed with `pip `_:: - - $ pip install urllib3 - -Alternatively, you can grab the latest source code from `GitHub `_:: - - $ git clone git://github.com/urllib3/urllib3.git - $ python setup.py install - - -Documentation -------------- - -urllib3 has usage and reference documentation at `urllib3.readthedocs.io `_. - - -Contributing ------------- - -urllib3 happily accepts contributions. Please see our -`contributing documentation `_ -for some tips on getting started. - - -Maintainers ------------ - -- `@theacodes `_ (Thea Flowers) -- `@SethMichaelLarson `_ (Seth M. Larson) -- `@haikuginger `_ (Jesse Shapiro) -- `@lukasa `_ (Cory Benfield) -- `@sigmavirus24 `_ (Ian Cordasco) -- `@shazow `_ (Andrey Petrov) - -👋 - - -Sponsorship ------------ - -If your company benefits from this library, please consider `sponsoring its -development `_. - -Sponsors include: - -- Google Cloud Platform (2018-present), sponsors `@theacodes `_'s work on an ongoing basis -- Abbott (2018-present), sponsors `@SethMichaelLarson `_'s work on an ongoing basis -- Akamai (2017-present), sponsors `@haikuginger `_'s work on an ongoing basis -- Hewlett Packard Enterprise (2016-2017), sponsored `@Lukasa’s `_ work on urllib3 - - -Changes -======= - -1.24.1 (2018-11-02) -------------------- - -* Remove quadratic behavior within ``GzipDecoder.decompress()`` (Issue #1467) - -* Restored functionality of `ciphers` parameter for `create_urllib3_context()`. (Issue #1462) - - -1.24 (2018-10-16) ------------------ - -* Allow key_server_hostname to be specified when initializing a PoolManager to allow custom SNI to be overridden. (Pull #1449) - -* Test against Python 3.7 on AppVeyor. (Pull #1453) - -* Early-out ipv6 checks when running on App Engine. (Pull #1450) - -* Change ambiguous description of backoff_factor (Pull #1436) - -* Add ability to handle multiple Content-Encodings (Issue #1441 and Pull #1442) - -* Skip DNS names that can't be idna-decoded when using pyOpenSSL (Issue #1405). - -* Add a server_hostname parameter to HTTPSConnection which allows for - overriding the SNI hostname sent in the handshake. (Pull #1397) - -* Drop support for EOL Python 2.6 (Pull #1429 and Pull #1430) - -* Fixed bug where responses with header Content-Type: message/* erroneously - raised HeaderParsingError, resulting in a warning being logged. (Pull #1439) - -* Move urllib3 to src/urllib3 (Pull #1409) - - -1.23 (2018-06-04) ------------------ - -* Allow providing a list of headers to strip from requests when redirecting - to a different host. Defaults to the ``Authorization`` header. Different - headers can be set via ``Retry.remove_headers_on_redirect``. (Issue #1316) - -* Fix ``util.selectors._fileobj_to_fd`` to accept ``long`` (Issue #1247). - -* Dropped Python 3.3 support. (Pull #1242) - -* Put the connection back in the pool when calling stream() or read_chunked() on - a chunked HEAD response. (Issue #1234) - -* Fixed pyOpenSSL-specific ssl client authentication issue when clients - attempted to auth via certificate + chain (Issue #1060) - -* Add the port to the connectionpool connect print (Pull #1251) - -* Don't use the ``uuid`` module to create multipart data boundaries. (Pull #1380) - -* ``read_chunked()`` on a closed response returns no chunks. (Issue #1088) - -* Add Python 2.6 support to ``contrib.securetransport`` (Pull #1359) - -* Added support for auth info in url for SOCKS proxy (Pull #1363) - - -1.22 (2017-07-20) ------------------ - -* Fixed missing brackets in ``HTTP CONNECT`` when connecting to IPv6 address via - IPv6 proxy. (Issue #1222) - -* Made the connection pool retry on ``SSLError``. The original ``SSLError`` - is available on ``MaxRetryError.reason``. (Issue #1112) - -* Drain and release connection before recursing on retry/redirect. Fixes - deadlocks with a blocking connectionpool. (Issue #1167) - -* Fixed compatibility for cookiejar. (Issue #1229) - -* pyopenssl: Use vendored version of ``six``. (Issue #1231) - - -1.21.1 (2017-05-02) -------------------- - -* Fixed SecureTransport issue that would cause long delays in response body - delivery. (Pull #1154) - -* Fixed regression in 1.21 that threw exceptions when users passed the - ``socket_options`` flag to the ``PoolManager``. (Issue #1165) - -* Fixed regression in 1.21 that threw exceptions when users passed the - ``assert_hostname`` or ``assert_fingerprint`` flag to the ``PoolManager``. - (Pull #1157) - - -1.21 (2017-04-25) ------------------ - -* Improved performance of certain selector system calls on Python 3.5 and - later. (Pull #1095) - -* Resolved issue where the PyOpenSSL backend would not wrap SysCallError - exceptions appropriately when sending data. (Pull #1125) - -* Selectors now detects a monkey-patched select module after import for modules - that patch the select module like eventlet, greenlet. (Pull #1128) - -* Reduced memory consumption when streaming zlib-compressed responses - (as opposed to raw deflate streams). (Pull #1129) - -* Connection pools now use the entire request context when constructing the - pool key. (Pull #1016) - -* ``PoolManager.connection_from_*`` methods now accept a new keyword argument, - ``pool_kwargs``, which are merged with the existing ``connection_pool_kw``. - (Pull #1016) - -* Add retry counter for ``status_forcelist``. (Issue #1147) - -* Added ``contrib`` module for using SecureTransport on macOS: - ``urllib3.contrib.securetransport``. (Pull #1122) - -* urllib3 now only normalizes the case of ``http://`` and ``https://`` schemes: - for schemes it does not recognise, it assumes they are case-sensitive and - leaves them unchanged. - (Issue #1080) - - -1.20 (2017-01-19) ------------------ - -* Added support for waiting for I/O using selectors other than select, - improving urllib3's behaviour with large numbers of concurrent connections. - (Pull #1001) - -* Updated the date for the system clock check. (Issue #1005) - -* ConnectionPools now correctly consider hostnames to be case-insensitive. - (Issue #1032) - -* Outdated versions of PyOpenSSL now cause the PyOpenSSL contrib module - to fail when it is injected, rather than at first use. (Pull #1063) - -* Outdated versions of cryptography now cause the PyOpenSSL contrib module - to fail when it is injected, rather than at first use. (Issue #1044) - -* Automatically attempt to rewind a file-like body object when a request is - retried or redirected. (Pull #1039) - -* Fix some bugs that occur when modules incautiously patch the queue module. - (Pull #1061) - -* Prevent retries from occurring on read timeouts for which the request method - was not in the method whitelist. (Issue #1059) - -* Changed the PyOpenSSL contrib module to lazily load idna to avoid - unnecessarily bloating the memory of programs that don't need it. (Pull - #1076) - -* Add support for IPv6 literals with zone identifiers. (Pull #1013) - -* Added support for socks5h:// and socks4a:// schemes when working with SOCKS - proxies, and controlled remote DNS appropriately. (Issue #1035) - - -1.19.1 (2016-11-16) -------------------- - -* Fixed AppEngine import that didn't function on Python 3.5. (Pull #1025) - - -1.19 (2016-11-03) ------------------ - -* urllib3 now respects Retry-After headers on 413, 429, and 503 responses when - using the default retry logic. (Pull #955) - -* Remove markers from setup.py to assist ancient setuptools versions. (Issue - #986) - -* Disallow superscripts and other integerish things in URL ports. (Issue #989) - -* Allow urllib3's HTTPResponse.stream() method to continue to work with - non-httplib underlying FPs. (Pull #990) - -* Empty filenames in multipart headers are now emitted as such, rather than - being suppressed. (Issue #1015) - -* Prefer user-supplied Host headers on chunked uploads. (Issue #1009) - - -1.18.1 (2016-10-27) -------------------- - -* CVE-2016-9015. Users who are using urllib3 version 1.17 or 1.18 along with - PyOpenSSL injection and OpenSSL 1.1.0 *must* upgrade to this version. This - release fixes a vulnerability whereby urllib3 in the above configuration - would silently fail to validate TLS certificates due to erroneously setting - invalid flags in OpenSSL's ``SSL_CTX_set_verify`` function. These erroneous - flags do not cause a problem in OpenSSL versions before 1.1.0, which - interprets the presence of any flag as requesting certificate validation. - - There is no PR for this patch, as it was prepared for simultaneous disclosure - and release. The master branch received the same fix in PR #1010. - - -1.18 (2016-09-26) ------------------ - -* Fixed incorrect message for IncompleteRead exception. (PR #973) - -* Accept ``iPAddress`` subject alternative name fields in TLS certificates. - (Issue #258) - -* Fixed consistency of ``HTTPResponse.closed`` between Python 2 and 3. - (Issue #977) - -* Fixed handling of wildcard certificates when using PyOpenSSL. (Issue #979) - - -1.17 (2016-09-06) ------------------ - -* Accept ``SSLContext`` objects for use in SSL/TLS negotiation. (Issue #835) - -* ConnectionPool debug log now includes scheme, host, and port. (Issue #897) - -* Substantially refactored documentation. (Issue #887) - -* Used URLFetch default timeout on AppEngine, rather than hardcoding our own. - (Issue #858) - -* Normalize the scheme and host in the URL parser (Issue #833) - -* ``HTTPResponse`` contains the last ``Retry`` object, which now also - contains retries history. (Issue #848) - -* Timeout can no longer be set as boolean, and must be greater than zero. - (PR #924) - -* Removed pyasn1 and ndg-httpsclient from dependencies used for PyOpenSSL. We - now use cryptography and idna, both of which are already dependencies of - PyOpenSSL. (PR #930) - -* Fixed infinite loop in ``stream`` when amt=None. (Issue #928) - -* Try to use the operating system's certificates when we are using an - ``SSLContext``. (PR #941) - -* Updated cipher suite list to allow ChaCha20+Poly1305. AES-GCM is preferred to - ChaCha20, but ChaCha20 is then preferred to everything else. (PR #947) - -* Updated cipher suite list to remove 3DES-based cipher suites. (PR #958) - -* Removed the cipher suite fallback to allow HIGH ciphers. (PR #958) - -* Implemented ``length_remaining`` to determine remaining content - to be read. (PR #949) - -* Implemented ``enforce_content_length`` to enable exceptions when - incomplete data chunks are received. (PR #949) - -* Dropped connection start, dropped connection reset, redirect, forced retry, - and new HTTPS connection log levels to DEBUG, from INFO. (PR #967) - - -1.16 (2016-06-11) ------------------ - -* Disable IPv6 DNS when IPv6 connections are not possible. (Issue #840) - -* Provide ``key_fn_by_scheme`` pool keying mechanism that can be - overridden. (Issue #830) - -* Normalize scheme and host to lowercase for pool keys, and include - ``source_address``. (Issue #830) - -* Cleaner exception chain in Python 3 for ``_make_request``. - (Issue #861) - -* Fixed installing ``urllib3[socks]`` extra. (Issue #864) - -* Fixed signature of ``ConnectionPool.close`` so it can actually safely be - called by subclasses. (Issue #873) - -* Retain ``release_conn`` state across retries. (Issues #651, #866) - -* Add customizable ``HTTPConnectionPool.ResponseCls``, which defaults to - ``HTTPResponse`` but can be replaced with a subclass. (Issue #879) - - -1.15.1 (2016-04-11) -------------------- - -* Fix packaging to include backports module. (Issue #841) - - -1.15 (2016-04-06) ------------------ - -* Added Retry(raise_on_status=False). (Issue #720) - -* Always use setuptools, no more distutils fallback. (Issue #785) - -* Dropped support for Python 3.2. (Issue #786) - -* Chunked transfer encoding when requesting with ``chunked=True``. - (Issue #790) - -* Fixed regression with IPv6 port parsing. (Issue #801) - -* Append SNIMissingWarning messages to allow users to specify it in - the PYTHONWARNINGS environment variable. (Issue #816) - -* Handle unicode headers in Py2. (Issue #818) - -* Log certificate when there is a hostname mismatch. (Issue #820) - -* Preserve order of request/response headers. (Issue #821) - - -1.14 (2015-12-29) ------------------ - -* contrib: SOCKS proxy support! (Issue #762) - -* Fixed AppEngine handling of transfer-encoding header and bug - in Timeout defaults checking. (Issue #763) - - -1.13.1 (2015-12-18) -------------------- - -* Fixed regression in IPv6 + SSL for match_hostname. (Issue #761) - - -1.13 (2015-12-14) ------------------ - -* Fixed ``pip install urllib3[secure]`` on modern pip. (Issue #706) - -* pyopenssl: Fixed SSL3_WRITE_PENDING error. (Issue #717) - -* pyopenssl: Support for TLSv1.1 and TLSv1.2. (Issue #696) - -* Close connections more defensively on exception. (Issue #734) - -* Adjusted ``read_chunked`` to handle gzipped, chunk-encoded bodies without - repeatedly flushing the decoder, to function better on Jython. (Issue #743) - -* Accept ``ca_cert_dir`` for SSL-related PoolManager configuration. (Issue #758) - - -1.12 (2015-09-03) ------------------ - -* Rely on ``six`` for importing ``httplib`` to work around - conflicts with other Python 3 shims. (Issue #688) - -* Add support for directories of certificate authorities, as supported by - OpenSSL. (Issue #701) - -* New exception: ``NewConnectionError``, raised when we fail to establish - a new connection, usually ``ECONNREFUSED`` socket error. - - -1.11 (2015-07-21) ------------------ - -* When ``ca_certs`` is given, ``cert_reqs`` defaults to - ``'CERT_REQUIRED'``. (Issue #650) - -* ``pip install urllib3[secure]`` will install Certifi and - PyOpenSSL as dependencies. (Issue #678) - -* Made ``HTTPHeaderDict`` usable as a ``headers`` input value - (Issues #632, #679) - -* Added `urllib3.contrib.appengine `_ - which has an ``AppEngineManager`` for using ``URLFetch`` in a - Google AppEngine environment. (Issue #664) - -* Dev: Added test suite for AppEngine. (Issue #631) - -* Fix performance regression when using PyOpenSSL. (Issue #626) - -* Passing incorrect scheme (e.g. ``foo://``) will raise - ``ValueError`` instead of ``AssertionError`` (backwards - compatible for now, but please migrate). (Issue #640) - -* Fix pools not getting replenished when an error occurs during a - request using ``release_conn=False``. (Issue #644) - -* Fix pool-default headers not applying for url-encoded requests - like GET. (Issue #657) - -* log.warning in Python 3 when headers are skipped due to parsing - errors. (Issue #642) - -* Close and discard connections if an error occurs during read. - (Issue #660) - -* Fix host parsing for IPv6 proxies. (Issue #668) - -* Separate warning type SubjectAltNameWarning, now issued once - per host. (Issue #671) - -* Fix ``httplib.IncompleteRead`` not getting converted to - ``ProtocolError`` when using ``HTTPResponse.stream()`` - (Issue #674) - -1.10.4 (2015-05-03) -------------------- - -* Migrate tests to Tornado 4. (Issue #594) - -* Append default warning configuration rather than overwrite. - (Issue #603) - -* Fix streaming decoding regression. (Issue #595) - -* Fix chunked requests losing state across keep-alive connections. - (Issue #599) - -* Fix hanging when chunked HEAD response has no body. (Issue #605) - - -1.10.3 (2015-04-21) -------------------- - -* Emit ``InsecurePlatformWarning`` when SSLContext object is missing. - (Issue #558) - -* Fix regression of duplicate header keys being discarded. - (Issue #563) - -* ``Response.stream()`` returns a generator for chunked responses. - (Issue #560) - -* Set upper-bound timeout when waiting for a socket in PyOpenSSL. - (Issue #585) - -* Work on platforms without `ssl` module for plain HTTP requests. - (Issue #587) - -* Stop relying on the stdlib's default cipher list. (Issue #588) - - -1.10.2 (2015-02-25) -------------------- - -* Fix file descriptor leakage on retries. (Issue #548) - -* Removed RC4 from default cipher list. (Issue #551) - -* Header performance improvements. (Issue #544) - -* Fix PoolManager not obeying redirect retry settings. (Issue #553) - - -1.10.1 (2015-02-10) -------------------- - -* Pools can be used as context managers. (Issue #545) - -* Don't re-use connections which experienced an SSLError. (Issue #529) - -* Don't fail when gzip decoding an empty stream. (Issue #535) - -* Add sha256 support for fingerprint verification. (Issue #540) - -* Fixed handling of header values containing commas. (Issue #533) - - -1.10 (2014-12-14) ------------------ - -* Disabled SSLv3. (Issue #473) - -* Add ``Url.url`` property to return the composed url string. (Issue #394) - -* Fixed PyOpenSSL + gevent ``WantWriteError``. (Issue #412) - -* ``MaxRetryError.reason`` will always be an exception, not string. - (Issue #481) - -* Fixed SSL-related timeouts not being detected as timeouts. (Issue #492) - -* Py3: Use ``ssl.create_default_context()`` when available. (Issue #473) - -* Emit ``InsecureRequestWarning`` for *every* insecure HTTPS request. - (Issue #496) - -* Emit ``SecurityWarning`` when certificate has no ``subjectAltName``. - (Issue #499) - -* Close and discard sockets which experienced SSL-related errors. - (Issue #501) - -* Handle ``body`` param in ``.request(...)``. (Issue #513) - -* Respect timeout with HTTPS proxy. (Issue #505) - -* PyOpenSSL: Handle ZeroReturnError exception. (Issue #520) - - -1.9.1 (2014-09-13) ------------------- - -* Apply socket arguments before binding. (Issue #427) - -* More careful checks if fp-like object is closed. (Issue #435) - -* Fixed packaging issues of some development-related files not - getting included. (Issue #440) - -* Allow performing *only* fingerprint verification. (Issue #444) - -* Emit ``SecurityWarning`` if system clock is waaay off. (Issue #445) - -* Fixed PyOpenSSL compatibility with PyPy. (Issue #450) - -* Fixed ``BrokenPipeError`` and ``ConnectionError`` handling in Py3. - (Issue #443) - - - -1.9 (2014-07-04) ----------------- - -* Shuffled around development-related files. If you're maintaining a distro - package of urllib3, you may need to tweak things. (Issue #415) - -* Unverified HTTPS requests will trigger a warning on the first request. See - our new `security documentation - `_ for details. - (Issue #426) - -* New retry logic and ``urllib3.util.retry.Retry`` configuration object. - (Issue #326) - -* All raised exceptions should now wrapped in a - ``urllib3.exceptions.HTTPException``-extending exception. (Issue #326) - -* All errors during a retry-enabled request should be wrapped in - ``urllib3.exceptions.MaxRetryError``, including timeout-related exceptions - which were previously exempt. Underlying error is accessible from the - ``.reason`` property. (Issue #326) - -* ``urllib3.exceptions.ConnectionError`` renamed to - ``urllib3.exceptions.ProtocolError``. (Issue #326) - -* Errors during response read (such as IncompleteRead) are now wrapped in - ``urllib3.exceptions.ProtocolError``. (Issue #418) - -* Requesting an empty host will raise ``urllib3.exceptions.LocationValueError``. - (Issue #417) - -* Catch read timeouts over SSL connections as - ``urllib3.exceptions.ReadTimeoutError``. (Issue #419) - -* Apply socket arguments before connecting. (Issue #427) - - -1.8.3 (2014-06-23) ------------------- - -* Fix TLS verification when using a proxy in Python 3.4.1. (Issue #385) - -* Add ``disable_cache`` option to ``urllib3.util.make_headers``. (Issue #393) - -* Wrap ``socket.timeout`` exception with - ``urllib3.exceptions.ReadTimeoutError``. (Issue #399) - -* Fixed proxy-related bug where connections were being reused incorrectly. - (Issues #366, #369) - -* Added ``socket_options`` keyword parameter which allows to define - ``setsockopt`` configuration of new sockets. (Issue #397) - -* Removed ``HTTPConnection.tcp_nodelay`` in favor of - ``HTTPConnection.default_socket_options``. (Issue #397) - -* Fixed ``TypeError`` bug in Python 2.6.4. (Issue #411) - - -1.8.2 (2014-04-17) ------------------- - -* Fix ``urllib3.util`` not being included in the package. - - -1.8.1 (2014-04-17) ------------------- - -* Fix AppEngine bug of HTTPS requests going out as HTTP. (Issue #356) - -* Don't install ``dummyserver`` into ``site-packages`` as it's only needed - for the test suite. (Issue #362) - -* Added support for specifying ``source_address``. (Issue #352) - - -1.8 (2014-03-04) ----------------- - -* Improved url parsing in ``urllib3.util.parse_url`` (properly parse '@' in - username, and blank ports like 'hostname:'). - -* New ``urllib3.connection`` module which contains all the HTTPConnection - objects. - -* Several ``urllib3.util.Timeout``-related fixes. Also changed constructor - signature to a more sensible order. [Backwards incompatible] - (Issues #252, #262, #263) - -* Use ``backports.ssl_match_hostname`` if it's installed. (Issue #274) - -* Added ``.tell()`` method to ``urllib3.response.HTTPResponse`` which - returns the number of bytes read so far. (Issue #277) - -* Support for platforms without threading. (Issue #289) - -* Expand default-port comparison in ``HTTPConnectionPool.is_same_host`` - to allow a pool with no specified port to be considered equal to to an - HTTP/HTTPS url with port 80/443 explicitly provided. (Issue #305) - -* Improved default SSL/TLS settings to avoid vulnerabilities. - (Issue #309) - -* Fixed ``urllib3.poolmanager.ProxyManager`` not retrying on connect errors. - (Issue #310) - -* Disable Nagle's Algorithm on the socket for non-proxies. A subset of requests - will send the entire HTTP request ~200 milliseconds faster; however, some of - the resulting TCP packets will be smaller. (Issue #254) - -* Increased maximum number of SubjectAltNames in ``urllib3.contrib.pyopenssl`` - from the default 64 to 1024 in a single certificate. (Issue #318) - -* Headers are now passed and stored as a custom - ``urllib3.collections_.HTTPHeaderDict`` object rather than a plain ``dict``. - (Issue #329, #333) - -* Headers no longer lose their case on Python 3. (Issue #236) - -* ``urllib3.contrib.pyopenssl`` now uses the operating system's default CA - certificates on inject. (Issue #332) - -* Requests with ``retries=False`` will immediately raise any exceptions without - wrapping them in ``MaxRetryError``. (Issue #348) - -* Fixed open socket leak with SSL-related failures. (Issue #344, #348) - - -1.7.1 (2013-09-25) ------------------- - -* Added granular timeout support with new ``urllib3.util.Timeout`` class. - (Issue #231) - -* Fixed Python 3.4 support. (Issue #238) - - -1.7 (2013-08-14) ----------------- - -* More exceptions are now pickle-able, with tests. (Issue #174) - -* Fixed redirecting with relative URLs in Location header. (Issue #178) - -* Support for relative urls in ``Location: ...`` header. (Issue #179) - -* ``urllib3.response.HTTPResponse`` now inherits from ``io.IOBase`` for bonus - file-like functionality. (Issue #187) - -* Passing ``assert_hostname=False`` when creating a HTTPSConnectionPool will - skip hostname verification for SSL connections. (Issue #194) - -* New method ``urllib3.response.HTTPResponse.stream(...)`` which acts as a - generator wrapped around ``.read(...)``. (Issue #198) - -* IPv6 url parsing enforces brackets around the hostname. (Issue #199) - -* Fixed thread race condition in - ``urllib3.poolmanager.PoolManager.connection_from_host(...)`` (Issue #204) - -* ``ProxyManager`` requests now include non-default port in ``Host: ...`` - header. (Issue #217) - -* Added HTTPS proxy support in ``ProxyManager``. (Issue #170 #139) - -* New ``RequestField`` object can be passed to the ``fields=...`` param which - can specify headers. (Issue #220) - -* Raise ``urllib3.exceptions.ProxyError`` when connecting to proxy fails. - (Issue #221) - -* Use international headers when posting file names. (Issue #119) - -* Improved IPv6 support. (Issue #203) - - -1.6 (2013-04-25) ----------------- - -* Contrib: Optional SNI support for Py2 using PyOpenSSL. (Issue #156) - -* ``ProxyManager`` automatically adds ``Host: ...`` header if not given. - -* Improved SSL-related code. ``cert_req`` now optionally takes a string like - "REQUIRED" or "NONE". Same with ``ssl_version`` takes strings like "SSLv23" - The string values reflect the suffix of the respective constant variable. - (Issue #130) - -* Vendored ``socksipy`` now based on Anorov's fork which handles unexpectedly - closed proxy connections and larger read buffers. (Issue #135) - -* Ensure the connection is closed if no data is received, fixes connection leak - on some platforms. (Issue #133) - -* Added SNI support for SSL/TLS connections on Py32+. (Issue #89) - -* Tests fixed to be compatible with Py26 again. (Issue #125) - -* Added ability to choose SSL version by passing an ``ssl.PROTOCOL_*`` constant - to the ``ssl_version`` parameter of ``HTTPSConnectionPool``. (Issue #109) - -* Allow an explicit content type to be specified when encoding file fields. - (Issue #126) - -* Exceptions are now pickleable, with tests. (Issue #101) - -* Fixed default headers not getting passed in some cases. (Issue #99) - -* Treat "content-encoding" header value as case-insensitive, per RFC 2616 - Section 3.5. (Issue #110) - -* "Connection Refused" SocketErrors will get retried rather than raised. - (Issue #92) - -* Updated vendored ``six``, no longer overrides the global ``six`` module - namespace. (Issue #113) - -* ``urllib3.exceptions.MaxRetryError`` contains a ``reason`` property holding - the exception that prompted the final retry. If ``reason is None`` then it - was due to a redirect. (Issue #92, #114) - -* Fixed ``PoolManager.urlopen()`` from not redirecting more than once. - (Issue #149) - -* Don't assume ``Content-Type: text/plain`` for multi-part encoding parameters - that are not files. (Issue #111) - -* Pass `strict` param down to ``httplib.HTTPConnection``. (Issue #122) - -* Added mechanism to verify SSL certificates by fingerprint (md5, sha1) or - against an arbitrary hostname (when connecting by IP or for misconfigured - servers). (Issue #140) - -* Streaming decompression support. (Issue #159) - - -1.5 (2012-08-02) ----------------- - -* Added ``urllib3.add_stderr_logger()`` for quickly enabling STDERR debug - logging in urllib3. - -* Native full URL parsing (including auth, path, query, fragment) available in - ``urllib3.util.parse_url(url)``. - -* Built-in redirect will switch method to 'GET' if status code is 303. - (Issue #11) - -* ``urllib3.PoolManager`` strips the scheme and host before sending the request - uri. (Issue #8) - -* New ``urllib3.exceptions.DecodeError`` exception for when automatic decoding, - based on the Content-Type header, fails. - -* Fixed bug with pool depletion and leaking connections (Issue #76). Added - explicit connection closing on pool eviction. Added - ``urllib3.PoolManager.clear()``. - -* 99% -> 100% unit test coverage. - - -1.4 (2012-06-16) ----------------- - -* Minor AppEngine-related fixes. - -* Switched from ``mimetools.choose_boundary`` to ``uuid.uuid4()``. - -* Improved url parsing. (Issue #73) - -* IPv6 url support. (Issue #72) - - -1.3 (2012-03-25) ----------------- - -* Removed pre-1.0 deprecated API. - -* Refactored helpers into a ``urllib3.util`` submodule. - -* Fixed multipart encoding to support list-of-tuples for keys with multiple - values. (Issue #48) - -* Fixed multiple Set-Cookie headers in response not getting merged properly in - Python 3. (Issue #53) - -* AppEngine support with Py27. (Issue #61) - -* Minor ``encode_multipart_formdata`` fixes related to Python 3 strings vs - bytes. - - -1.2.2 (2012-02-06) ------------------- - -* Fixed packaging bug of not shipping ``test-requirements.txt``. (Issue #47) - - -1.2.1 (2012-02-05) ------------------- - -* Fixed another bug related to when ``ssl`` module is not available. (Issue #41) - -* Location parsing errors now raise ``urllib3.exceptions.LocationParseError`` - which inherits from ``ValueError``. - - -1.2 (2012-01-29) ----------------- - -* Added Python 3 support (tested on 3.2.2) - -* Dropped Python 2.5 support (tested on 2.6.7, 2.7.2) - -* Use ``select.poll`` instead of ``select.select`` for platforms that support - it. - -* Use ``Queue.LifoQueue`` instead of ``Queue.Queue`` for more aggressive - connection reusing. Configurable by overriding ``ConnectionPool.QueueCls``. - -* Fixed ``ImportError`` during install when ``ssl`` module is not available. - (Issue #41) - -* Fixed ``PoolManager`` redirects between schemes (such as HTTP -> HTTPS) not - completing properly. (Issue #28, uncovered by Issue #10 in v1.1) - -* Ported ``dummyserver`` to use ``tornado`` instead of ``webob`` + - ``eventlet``. Removed extraneous unsupported dummyserver testing backends. - Added socket-level tests. - -* More tests. Achievement Unlocked: 99% Coverage. - - -1.1 (2012-01-07) ----------------- - -* Refactored ``dummyserver`` to its own root namespace module (used for - testing). - -* Added hostname verification for ``VerifiedHTTPSConnection`` by vendoring in - Py32's ``ssl_match_hostname``. (Issue #25) - -* Fixed cross-host HTTP redirects when using ``PoolManager``. (Issue #10) - -* Fixed ``decode_content`` being ignored when set through ``urlopen``. (Issue - #27) - -* Fixed timeout-related bugs. (Issues #17, #23) - - -1.0.2 (2011-11-04) ------------------- - -* Fixed typo in ``VerifiedHTTPSConnection`` which would only present as a bug if - you're using the object manually. (Thanks pyos) - -* Made RecentlyUsedContainer (and consequently PoolManager) more thread-safe by - wrapping the access log in a mutex. (Thanks @christer) - -* Made RecentlyUsedContainer more dict-like (corrected ``__delitem__`` and - ``__getitem__`` behaviour), with tests. Shouldn't affect core urllib3 code. - - -1.0.1 (2011-10-10) ------------------- - -* Fixed a bug where the same connection would get returned into the pool twice, - causing extraneous "HttpConnectionPool is full" log warnings. - - -1.0 (2011-10-08) ----------------- - -* Added ``PoolManager`` with LRU expiration of connections (tested and - documented). -* Added ``ProxyManager`` (needs tests, docs, and confirmation that it works - with HTTPS proxies). -* Added optional partial-read support for responses when - ``preload_content=False``. You can now make requests and just read the headers - without loading the content. -* Made response decoding optional (default on, same as before). -* Added optional explicit boundary string for ``encode_multipart_formdata``. -* Convenience request methods are now inherited from ``RequestMethods``. Old - helpers like ``get_url`` and ``post_url`` should be abandoned in favour of - the new ``request(method, url, ...)``. -* Refactored code to be even more decoupled, reusable, and extendable. -* License header added to ``.py`` files. -* Embiggened the documentation: Lots of Sphinx-friendly docstrings in the code - and docs in ``docs/`` and on https://urllib3.readthedocs.io/. -* Embettered all the things! -* Started writing this file. - - -0.4.1 (2011-07-17) ------------------- - -* Minor bug fixes, code cleanup. - - -0.4 (2011-03-01) ----------------- - -* Better unicode support. -* Added ``VerifiedHTTPSConnection``. -* Added ``NTLMConnectionPool`` in contrib. -* Minor improvements. - - -0.3.1 (2010-07-13) ------------------- - -* Added ``assert_host_name`` optional parameter. Now compatible with proxies. - - -0.3 (2009-12-10) ----------------- - -* Added HTTPS support. -* Minor bug fixes. -* Refactored, broken backwards compatibility with 0.2. -* API to be treated as stable from this version forward. - - -0.2 (2008-11-17) ----------------- - -* Added unit tests. -* Bug fixes. - - -0.1 (2008-11-16) ----------------- - -* First release. - - diff --git a/bin/urllib3-1.24.1.dist-info/RECORD b/bin/urllib3-1.24.1.dist-info/RECORD deleted file mode 100644 index fe6f9777..00000000 --- a/bin/urllib3-1.24.1.dist-info/RECORD +++ /dev/null @@ -1,78 +0,0 @@ -urllib3/__init__.py,sha256=EZviRQA_iuL_94EeJHY4JAArRXbRCkAzA0HH9iXZ15s,2722 -urllib3/_collections.py,sha256=-CAKsDE-WdubAjlBSZLx7b0e7WKenaNGwWvGLDEF1TM,10746 -urllib3/connection.py,sha256=KLFvknLgllcMkgJ-zUsFjCzOt9P03fDoIpTPz_vqXCw,13839 -urllib3/connectionpool.py,sha256=rgc_3D0VsD5VDxr4KzzA8Plee0Rmerm5WKb71FcxWu8,35097 -urllib3/exceptions.py,sha256=rFeIfBNKC8KJ61ux-MtJyJlEC9G9ggkmCeF751JwVR4,6604 -urllib3/fields.py,sha256=D_TE_SK15YatdbhWDMN0OE3X6UCJn1RTkANINCYOobE,5943 -urllib3/filepost.py,sha256=40CROlpRKVBpFUkD0R6wJf_PpvbcRQRFUu0OOQlFkKM,2436 -urllib3/poolmanager.py,sha256=csE6Bh6L0FJ3iNOHk2z8KhMT8Eiq976b6pk8I6vrOC8,16853 -urllib3/request.py,sha256=OfelFYzPnxGlU3amEz9uBLjCBOriwgJh4QC_aW9SF3U,5991 -urllib3/response.py,sha256=ta1jp4B5PGBWzoAV1s48WLuHCRICQnK7F9m_kyK4Z8g,25609 -urllib3/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -urllib3/contrib/_appengine_environ.py,sha256=lhYXvB5_oGKSeurX7za3XhcGyERvNjXRQ3eJp2GmQ3M,717 -urllib3/contrib/appengine.py,sha256=lB2Fame05OAlaSJs1a86QYF84v7Oymbqjs0OIcexq_s,10914 -urllib3/contrib/ntlmpool.py,sha256=5ZpMF7N9B6NEjVU-r-xjDOV_-hkNvsDoNc84J2yqauI,4459 -urllib3/contrib/pyopenssl.py,sha256=bacOUEcrs3o9JTfhe2FCYAIiL36ZezL3N6Ey7Fi_65w,15806 -urllib3/contrib/securetransport.py,sha256=BqXSlChN9_hjCWgyN6JdcgvBUdc37QCCX4u3_8zE_9o,30309 -urllib3/contrib/socks.py,sha256=Iom0snbHkCuZbZ7Sle2Kueha1W0jYAJ0SyCOtePLaio,6391 -urllib3/contrib/_securetransport/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -urllib3/contrib/_securetransport/bindings.py,sha256=x2kLSh-ASZKsun0FxtraBuLVe3oHuth4YW6yZ5Vof-w,17560 -urllib3/contrib/_securetransport/low_level.py,sha256=Umy5u-3Z957GirdapnicXVOpHaM4xdOZABJuJxfaeJA,12162 -urllib3/packages/__init__.py,sha256=nlChrGzkjCkmhCX9HrF_qHPUgosfsPQkVIJxiiLhk9g,109 -urllib3/packages/six.py,sha256=A6hdJZVjI3t_geebZ9BzUvwRrIXo0lfwzQlM2LcKyas,30098 -urllib3/packages/backports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -urllib3/packages/backports/makefile.py,sha256=so2z9BiNM8kh38Ve5tomQP_mp2_ubEqzdlCpLZKzzCI,1456 -urllib3/packages/ssl_match_hostname/__init__.py,sha256=WBVbxQBojNAxfZwNavkox3BgJiMA9BJmm-_fwd0jD_o,688 -urllib3/packages/ssl_match_hostname/_implementation.py,sha256=_foKOc3Los_n21TCW4IpjTTRHppsjw35vnu7dRBv-88,5683 -urllib3/util/__init__.py,sha256=6Ran4oAVIy40Cu_oEPWnNV9bwF5rXx6G1DUZ7oehjPY,1044 -urllib3/util/connection.py,sha256=-AyqcRTuNUHuo5ndtsU0Og_nMyCGATC-kYqOUdBHwIQ,4639 -urllib3/util/queue.py,sha256=myTX3JDHntglKQNBf3b6dasHH-uF-W59vzGSQiFdAfI,497 -urllib3/util/request.py,sha256=H5_lrHvtwl2U2BbT1UYN9HpruNc1gsNFlz2njQmhPrQ,3705 -urllib3/util/response.py,sha256=028PNXDZhwBtnm2uXvnAHi_l9_AAGrAMH2Igh2AbgWg,2586 -urllib3/util/retry.py,sha256=kFQTesNiwPp6ZeQo9VHeUO7b8qA-_l3BnErCAOEPo4Q,15105 -urllib3/util/ssl_.py,sha256=-JmYnEO09O4AjuQ5N-k_1Mh74ZbAJo1LXV-6Nzu-eIc,13143 -urllib3/util/timeout.py,sha256=7lHNrgL5YH2cI1j-yZnzV_J8jBlRVdmFhQaNyM1_2b8,9757 -urllib3/util/url.py,sha256=qCY_HHUXvo05wAsEERALgExtlgxLnAHSQ7ce1b-g3SM,6487 -urllib3/util/wait.py,sha256=p4BZo_Ukp5JF0Dn6jro7cUfqIjnU6WFtuoA6poaV5Jk,5403 -urllib3-1.24.1.dist-info/LICENSE.txt,sha256=EdtWlDDKWteT8TmSl7jfUEGiITerr5BkLqcdoh1ZEhw,1175 -urllib3-1.24.1.dist-info/METADATA,sha256=c002jxlavxdx81cJ8FUj73U9H2rssjGr4cGGnx12D7o,34997 -urllib3-1.24.1.dist-info/RECORD,, -urllib3-1.24.1.dist-info/WHEEL,sha256=gduuPyBvFJQSQ0zdyxF7k0zynDXbIbvg5ZBHoXum5uk,110 -urllib3-1.24.1.dist-info/top_level.txt,sha256=EMiXL2sKrTcmrMxIHTqdc3ET54pQI2Y072LexFEemvo,8 -urllib3-1.24.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -urllib3/contrib/_appengine_environ.pyc,, -urllib3/filepost.pyc,, -urllib3/contrib/appengine.pyc,, -urllib3/util/connection.pyc,, -urllib3/contrib/_securetransport/__init__.pyc,, -urllib3/util/response.pyc,, -urllib3/contrib/__init__.pyc,, -urllib3/contrib/securetransport.pyc,, -urllib3/packages/backports/__init__.pyc,, -urllib3/packages/__init__.pyc,, -urllib3/connection.pyc,, -urllib3/contrib/_securetransport/low_level.pyc,, -urllib3/connectionpool.pyc,, -urllib3/util/timeout.pyc,, -urllib3/packages/ssl_match_hostname/__init__.pyc,, -urllib3/packages/backports/makefile.pyc,, -urllib3/fields.pyc,, -urllib3/response.pyc,, -urllib3/packages/six.pyc,, -urllib3/__init__.pyc,, -urllib3/contrib/ntlmpool.pyc,, -urllib3/poolmanager.pyc,, -urllib3/util/url.pyc,, -urllib3/contrib/pyopenssl.pyc,, -urllib3/util/ssl_.pyc,, -urllib3/util/request.pyc,, -urllib3/request.pyc,, -urllib3/util/__init__.pyc,, -urllib3/util/queue.pyc,, -urllib3/util/wait.pyc,, -urllib3/contrib/socks.pyc,, -urllib3/exceptions.pyc,, -urllib3/_collections.pyc,, -urllib3/util/retry.pyc,, -urllib3/packages/ssl_match_hostname/_implementation.pyc,, -urllib3/contrib/_securetransport/bindings.pyc,, diff --git a/bin/urllib3-1.24.1.dist-info/WHEEL b/bin/urllib3-1.24.1.dist-info/WHEEL deleted file mode 100644 index 1316c41d..00000000 --- a/bin/urllib3-1.24.1.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.31.1) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/bin/urllib3-1.24.1.dist-info/top_level.txt b/bin/urllib3-1.24.1.dist-info/top_level.txt deleted file mode 100644 index a42590be..00000000 --- a/bin/urllib3-1.24.1.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -urllib3 diff --git a/bin/urllib3/__init__.py b/bin/urllib3/__init__.py index 148a9c31..c4c0dde5 100644 --- a/bin/urllib3/__init__.py +++ b/bin/urllib3/__init__.py @@ -1,7 +1,6 @@ """ urllib3 - Thread-safe connection pooling and re-using. """ - from __future__ import absolute_import import warnings @@ -27,7 +26,7 @@ __author__ = 'Andrey Petrov (andrey.petrov@shazow.net)' __license__ = 'MIT' -__version__ = '1.24.1' +__version__ = '1.25.3' __all__ = ( 'HTTPConnectionPool', diff --git a/bin/urllib3/__init__.pyc b/bin/urllib3/__init__.pyc deleted file mode 100644 index 45503829..00000000 Binary files a/bin/urllib3/__init__.pyc and /dev/null differ diff --git a/bin/urllib3/_collections.pyc b/bin/urllib3/_collections.pyc deleted file mode 100644 index 0ecd31bc..00000000 Binary files a/bin/urllib3/_collections.pyc and /dev/null differ diff --git a/bin/urllib3/connection.py b/bin/urllib3/connection.py index 02b36654..57c58fed 100644 --- a/bin/urllib3/connection.py +++ b/bin/urllib3/connection.py @@ -19,10 +19,11 @@ class BaseSSLError(BaseException): pass -try: # Python 3: - # Not a no-op, we're adding this to the namespace so it can be imported. +try: + # Python 3: not a no-op, we're adding this to the namespace so it can be imported. ConnectionError = ConnectionError -except NameError: # Python 2: +except NameError: + # Python 2 class ConnectionError(Exception): pass @@ -101,7 +102,7 @@ class HTTPConnection(_HTTPConnection, object): is_verified = False def __init__(self, *args, **kw): - if six.PY3: # Python 3 + if six.PY3: kw.pop('strict', None) # Pre-set source_address. @@ -158,7 +159,7 @@ def _new_conn(self): conn = connection.create_connection( (self._dns_host, self.port), self.timeout, **extra_kw) - except SocketTimeout as e: + except SocketTimeout: raise ConnectTimeoutError( self, "Connection to %s timed out. (connect timeout=%s)" % (self.host, self.timeout)) @@ -171,7 +172,8 @@ def _new_conn(self): def _prepare_conn(self, conn): self.sock = conn - if self._tunnel_host: + # Google App Engine's httplib does not define _tunnel_host + if getattr(self, '_tunnel_host', None): # TODO: Fix tunnel so it doesn't depend on self.sock state. self._tunnel() # Mark this connection as not reusable @@ -226,7 +228,8 @@ class HTTPSConnection(HTTPConnection): ssl_version = None def __init__(self, host, port=None, key_file=None, cert_file=None, - strict=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT, + key_password=None, strict=None, + timeout=socket._GLOBAL_DEFAULT_TIMEOUT, ssl_context=None, server_hostname=None, **kw): HTTPConnection.__init__(self, host, port, strict=strict, @@ -234,6 +237,7 @@ def __init__(self, host, port=None, key_file=None, cert_file=None, self.key_file = key_file self.cert_file = cert_file + self.key_password = key_password self.ssl_context = ssl_context self.server_hostname = server_hostname @@ -245,16 +249,28 @@ def connect(self): conn = self._new_conn() self._prepare_conn(conn) + # Wrap socket using verification with the root certs in + # trusted_root_certs + default_ssl_context = False if self.ssl_context is None: + default_ssl_context = True self.ssl_context = create_urllib3_context( - ssl_version=resolve_ssl_version(None), - cert_reqs=resolve_cert_reqs(None), + ssl_version=resolve_ssl_version(self.ssl_version), + cert_reqs=resolve_cert_reqs(self.cert_reqs), ) + # Try to load OS default certs if none are given. + # Works well on Windows (requires Python3.4+) + context = self.ssl_context + if (not self.ca_certs and not self.ca_cert_dir and default_ssl_context + and hasattr(context, 'load_default_certs')): + context.load_default_certs() + self.sock = ssl_wrap_socket( sock=conn, keyfile=self.key_file, certfile=self.cert_file, + key_password=self.key_password, ssl_context=self.ssl_context, server_hostname=self.server_hostname ) @@ -272,25 +288,24 @@ class VerifiedHTTPSConnection(HTTPSConnection): assert_fingerprint = None def set_cert(self, key_file=None, cert_file=None, - cert_reqs=None, ca_certs=None, + cert_reqs=None, key_password=None, ca_certs=None, assert_hostname=None, assert_fingerprint=None, ca_cert_dir=None): """ This method should only be called once, before the connection is used. """ - # If cert_reqs is not provided, we can try to guess. If the user gave - # us a cert database, we assume they want to use it: otherwise, if - # they gave us an SSL Context object we should use whatever is set for - # it. + # If cert_reqs is not provided we'll assume CERT_REQUIRED unless we also + # have an SSLContext object in which case we'll use its verify_mode. if cert_reqs is None: - if ca_certs or ca_cert_dir: - cert_reqs = 'CERT_REQUIRED' - elif self.ssl_context is not None: + if self.ssl_context is not None: cert_reqs = self.ssl_context.verify_mode + else: + cert_reqs = resolve_cert_reqs(None) self.key_file = key_file self.cert_file = cert_file self.cert_reqs = cert_reqs + self.key_password = key_password self.assert_hostname = assert_hostname self.assert_fingerprint = assert_fingerprint self.ca_certs = ca_certs and os.path.expanduser(ca_certs) @@ -301,7 +316,8 @@ def connect(self): conn = self._new_conn() hostname = self.host - if self._tunnel_host: + # Google App Engine's httplib does not define _tunnel_host + if getattr(self, '_tunnel_host', None): self.sock = conn # Calls self._set_hostport(), so self.host is # self._tunnel_host below. @@ -326,7 +342,9 @@ def connect(self): # Wrap socket using verification with the root certs in # trusted_root_certs + default_ssl_context = False if self.ssl_context is None: + default_ssl_context = True self.ssl_context = create_urllib3_context( ssl_version=resolve_ssl_version(self.ssl_version), cert_reqs=resolve_cert_reqs(self.cert_reqs), @@ -334,10 +352,18 @@ def connect(self): context = self.ssl_context context.verify_mode = resolve_cert_reqs(self.cert_reqs) + + # Try to load OS default certs if none are given. + # Works well on Windows (requires Python3.4+) + if (not self.ca_certs and not self.ca_cert_dir and default_ssl_context + and hasattr(context, 'load_default_certs')): + context.load_default_certs() + self.sock = ssl_wrap_socket( sock=conn, keyfile=self.key_file, certfile=self.cert_file, + key_password=self.key_password, ca_certs=self.ca_certs, ca_cert_dir=self.ca_cert_dir, server_hostname=server_hostname, diff --git a/bin/urllib3/connection.pyc b/bin/urllib3/connection.pyc deleted file mode 100644 index 08f0ea2a..00000000 Binary files a/bin/urllib3/connection.pyc and /dev/null differ diff --git a/bin/urllib3/connectionpool.py b/bin/urllib3/connectionpool.py index f7a8f193..157568a3 100644 --- a/bin/urllib3/connectionpool.py +++ b/bin/urllib3/connectionpool.py @@ -26,6 +26,7 @@ from .packages.ssl_match_hostname import CertificateError from .packages import six from .packages.six.moves import queue +from .packages.rfc3986.normalizers import normalize_host from .connection import ( port_by_scheme, DummyConnection, @@ -65,7 +66,7 @@ def __init__(self, host, port=None): if not host: raise LocationValueError("No host specified.") - self.host = _ipv6_host(host, self.scheme) + self.host = _normalize_host(host, scheme=self.scheme) self._proxy_host = host.lower() self.port = port @@ -373,9 +374,11 @@ def _make_request(self, conn, method, url, timeout=_Default, chunked=False, # Receive the response from the server try: - try: # Python 2.7, use buffering of HTTP responses + try: + # Python 2.7, use buffering of HTTP responses httplib_response = conn.getresponse(buffering=True) - except TypeError: # Python 3 + except TypeError: + # Python 3 try: httplib_response = conn.getresponse() except Exception as e: @@ -432,8 +435,8 @@ def is_same_host(self, url): # TODO: Add optional support for socket.gethostbyname checking. scheme, host, port = get_host(url) - - host = _ipv6_host(host, self.scheme) + if host is not None: + host = _normalize_host(host, scheme=scheme) # Use explicit default port for comparison when none is given if self.port and not port: @@ -672,7 +675,7 @@ def drain_and_release_conn(response): # released back to the pool once the entire response is read response.read() except (TimeoutError, HTTPException, SocketError, ProtocolError, - BaseSSLError, SSLError) as e: + BaseSSLError, SSLError): pass # Handle redirect? @@ -746,8 +749,8 @@ class HTTPSConnectionPool(HTTPConnectionPool): If ``assert_hostname`` is False, no verification is done. The ``key_file``, ``cert_file``, ``cert_reqs``, ``ca_certs``, - ``ca_cert_dir``, and ``ssl_version`` are only used if :mod:`ssl` is - available and are fed into :meth:`urllib3.util.ssl_wrap_socket` to upgrade + ``ca_cert_dir``, ``ssl_version``, ``key_password`` are only used if :mod:`ssl` + is available and are fed into :meth:`urllib3.util.ssl_wrap_socket` to upgrade the connection socket into an SSL socket. """ @@ -759,7 +762,7 @@ def __init__(self, host, port=None, block=False, headers=None, retries=None, _proxy=None, _proxy_headers=None, key_file=None, cert_file=None, cert_reqs=None, - ca_certs=None, ssl_version=None, + key_password=None, ca_certs=None, ssl_version=None, assert_hostname=None, assert_fingerprint=None, ca_cert_dir=None, **conn_kw): @@ -767,12 +770,10 @@ def __init__(self, host, port=None, block, headers, retries, _proxy, _proxy_headers, **conn_kw) - if ca_certs and cert_reqs is None: - cert_reqs = 'CERT_REQUIRED' - self.key_file = key_file self.cert_file = cert_file self.cert_reqs = cert_reqs + self.key_password = key_password self.ca_certs = ca_certs self.ca_cert_dir = ca_cert_dir self.ssl_version = ssl_version @@ -787,6 +788,7 @@ def _prepare_conn(self, conn): if isinstance(conn, VerifiedHTTPSConnection): conn.set_cert(key_file=self.key_file, + key_password=self.key_password, cert_file=self.cert_file, cert_reqs=self.cert_reqs, ca_certs=self.ca_certs, @@ -824,7 +826,9 @@ def _new_conn(self): conn = self.ConnectionCls(host=actual_host, port=actual_port, timeout=self.timeout.connect_timeout, - strict=self.strict, **self.conn_kw) + strict=self.strict, cert_file=self.cert_file, + key_file=self.key_file, key_password=self.key_password, + **self.conn_kw) return self._prepare_conn(conn) @@ -875,9 +879,9 @@ def connection_from_url(url, **kw): return HTTPConnectionPool(host, port=port, **kw) -def _ipv6_host(host, scheme): +def _normalize_host(host, scheme): """ - Process IPv6 address literals + Normalize hosts for comparisons and use with sockets. """ # httplib doesn't like it when we include brackets in IPv6 addresses @@ -886,11 +890,8 @@ def _ipv6_host(host, scheme): # Instead, we need to make sure we never pass ``None`` as the port. # However, for backward compatibility reasons we can't actually # *assert* that. See http://bugs.python.org/issue28539 - # - # Also if an IPv6 address literal has a zone identifier, the - # percent sign might be URIencoded, convert it back into ASCII if host.startswith('[') and host.endswith(']'): - host = host.replace('%25', '%').strip('[]') + host = host.strip('[]') if scheme in NORMALIZABLE_SCHEMES: - host = host.lower() + host = normalize_host(host) return host diff --git a/bin/urllib3/connectionpool.pyc b/bin/urllib3/connectionpool.pyc deleted file mode 100644 index f6a653de..00000000 Binary files a/bin/urllib3/connectionpool.pyc and /dev/null differ diff --git a/bin/urllib3/contrib/__init__.pyc b/bin/urllib3/contrib/__init__.pyc deleted file mode 100644 index b764a494..00000000 Binary files a/bin/urllib3/contrib/__init__.pyc and /dev/null differ diff --git a/bin/urllib3/contrib/_appengine_environ.pyc b/bin/urllib3/contrib/_appengine_environ.pyc deleted file mode 100644 index 17815214..00000000 Binary files a/bin/urllib3/contrib/_appengine_environ.pyc and /dev/null differ diff --git a/bin/urllib3/contrib/_securetransport/__init__.pyc b/bin/urllib3/contrib/_securetransport/__init__.pyc deleted file mode 100644 index d1c2c022..00000000 Binary files a/bin/urllib3/contrib/_securetransport/__init__.pyc and /dev/null differ diff --git a/bin/urllib3/contrib/_securetransport/bindings.py b/bin/urllib3/contrib/_securetransport/bindings.py index bcf41c02..be342153 100644 --- a/bin/urllib3/contrib/_securetransport/bindings.py +++ b/bin/urllib3/contrib/_securetransport/bindings.py @@ -516,6 +516,8 @@ class SecurityConst(object): kTLSProtocol1 = 4 kTLSProtocol11 = 7 kTLSProtocol12 = 8 + kTLSProtocol13 = 10 + kTLSProtocolMaxSupported = 999 kSSLClientSide = 1 kSSLStreamType = 0 @@ -558,30 +560,27 @@ class SecurityConst(object): errSecInvalidTrustSettings = -25262 # Cipher suites. We only pick the ones our default cipher string allows. + # Source: https://developer.apple.com/documentation/security/1550981-ssl_cipher_suite_values TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = 0xC02C TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = 0xC030 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = 0xC02B TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = 0xC02F - TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 = 0x00A3 + TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = 0xCCA9 + TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 0xCCA8 TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = 0x009F - TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 = 0x00A2 TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = 0x009E TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 = 0xC024 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 = 0xC028 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA = 0xC00A TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA = 0xC014 TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 0x006B - TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = 0x006A TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 0x0039 - TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 0x0038 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 = 0xC023 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 = 0xC027 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA = 0xC009 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA = 0xC013 TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 0x0067 - TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = 0x0040 TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 0x0033 - TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 0x0032 TLS_RSA_WITH_AES_256_GCM_SHA384 = 0x009D TLS_RSA_WITH_AES_128_GCM_SHA256 = 0x009C TLS_RSA_WITH_AES_256_CBC_SHA256 = 0x003D @@ -590,4 +589,5 @@ class SecurityConst(object): TLS_RSA_WITH_AES_128_CBC_SHA = 0x002F TLS_AES_128_GCM_SHA256 = 0x1301 TLS_AES_256_GCM_SHA384 = 0x1302 - TLS_CHACHA20_POLY1305_SHA256 = 0x1303 + TLS_AES_128_CCM_8_SHA256 = 0x1305 + TLS_AES_128_CCM_SHA256 = 0x1304 diff --git a/bin/urllib3/contrib/_securetransport/bindings.pyc b/bin/urllib3/contrib/_securetransport/bindings.pyc deleted file mode 100644 index 69a54cb1..00000000 Binary files a/bin/urllib3/contrib/_securetransport/bindings.pyc and /dev/null differ diff --git a/bin/urllib3/contrib/_securetransport/low_level.pyc b/bin/urllib3/contrib/_securetransport/low_level.pyc deleted file mode 100644 index c0909c15..00000000 Binary files a/bin/urllib3/contrib/_securetransport/low_level.pyc and /dev/null differ diff --git a/bin/urllib3/contrib/appengine.pyc b/bin/urllib3/contrib/appengine.pyc deleted file mode 100644 index 58e43411..00000000 Binary files a/bin/urllib3/contrib/appengine.pyc and /dev/null differ diff --git a/bin/urllib3/contrib/ntlmpool.pyc b/bin/urllib3/contrib/ntlmpool.pyc deleted file mode 100644 index 195cbff9..00000000 Binary files a/bin/urllib3/contrib/ntlmpool.pyc and /dev/null differ diff --git a/bin/urllib3/contrib/pyopenssl.py b/bin/urllib3/contrib/pyopenssl.py index 7c0e9465..821c174f 100644 --- a/bin/urllib3/contrib/pyopenssl.py +++ b/bin/urllib3/contrib/pyopenssl.py @@ -70,6 +70,7 @@ class UnsupportedExtension(Exception): from .. import util + __all__ = ['inject_into_urllib3', 'extract_from_urllib3'] # SNI always works. @@ -77,20 +78,19 @@ class UnsupportedExtension(Exception): # Map from urllib3 to PyOpenSSL compatible parameter-values. _openssl_versions = { - ssl.PROTOCOL_SSLv23: OpenSSL.SSL.SSLv23_METHOD, + util.PROTOCOL_TLS: OpenSSL.SSL.SSLv23_METHOD, ssl.PROTOCOL_TLSv1: OpenSSL.SSL.TLSv1_METHOD, } +if hasattr(ssl, 'PROTOCOL_SSLv3') and hasattr(OpenSSL.SSL, 'SSLv3_METHOD'): + _openssl_versions[ssl.PROTOCOL_SSLv3] = OpenSSL.SSL.SSLv3_METHOD + if hasattr(ssl, 'PROTOCOL_TLSv1_1') and hasattr(OpenSSL.SSL, 'TLSv1_1_METHOD'): _openssl_versions[ssl.PROTOCOL_TLSv1_1] = OpenSSL.SSL.TLSv1_1_METHOD if hasattr(ssl, 'PROTOCOL_TLSv1_2') and hasattr(OpenSSL.SSL, 'TLSv1_2_METHOD'): _openssl_versions[ssl.PROTOCOL_TLSv1_2] = OpenSSL.SSL.TLSv1_2_METHOD -try: - _openssl_versions.update({ssl.PROTOCOL_SSLv3: OpenSSL.SSL.SSLv3_METHOD}) -except AttributeError: - pass _stdlib_to_openssl_verify = { ssl.CERT_NONE: OpenSSL.SSL.VERIFY_NONE, @@ -117,6 +117,7 @@ def inject_into_urllib3(): _validate_dependencies_met() + util.SSLContext = PyOpenSSLContext util.ssl_.SSLContext = PyOpenSSLContext util.HAS_SNI = HAS_SNI util.ssl_.HAS_SNI = HAS_SNI @@ -127,6 +128,7 @@ def inject_into_urllib3(): def extract_from_urllib3(): 'Undo monkey-patching by :func:`inject_into_urllib3`.' + util.SSLContext = orig_util_SSLContext util.ssl_.SSLContext = orig_util_SSLContext util.HAS_SNI = orig_util_HAS_SNI util.ssl_.HAS_SNI = orig_util_HAS_SNI @@ -184,6 +186,10 @@ def idna_encode(name): except idna.core.IDNAError: return None + # Don't send IPv6 addresses through the IDNA encoder. + if ':' in name: + return name + name = idna_encode(name) if name is None: return None @@ -276,7 +282,7 @@ def recv(self, *args, **kwargs): return b'' else: raise SocketError(str(e)) - except OpenSSL.SSL.ZeroReturnError as e: + except OpenSSL.SSL.ZeroReturnError: if self.connection.get_shutdown() == OpenSSL.SSL.RECEIVED_SHUTDOWN: return b'' else: @@ -286,6 +292,10 @@ def recv(self, *args, **kwargs): raise timeout('The read operation timed out') else: return self.recv(*args, **kwargs) + + # TLS 1.3 post-handshake authentication + except OpenSSL.SSL.Error as e: + raise ssl.SSLError("read error: %r" % e) else: return data @@ -297,7 +307,7 @@ def recv_into(self, *args, **kwargs): return 0 else: raise SocketError(str(e)) - except OpenSSL.SSL.ZeroReturnError as e: + except OpenSSL.SSL.ZeroReturnError: if self.connection.get_shutdown() == OpenSSL.SSL.RECEIVED_SHUTDOWN: return 0 else: @@ -308,6 +318,10 @@ def recv_into(self, *args, **kwargs): else: return self.recv_into(*args, **kwargs) + # TLS 1.3 post-handshake authentication + except OpenSSL.SSL.Error as e: + raise ssl.SSLError("read error: %r" % e) + def settimeout(self, timeout): return self.socket.settimeout(timeout) @@ -360,6 +374,9 @@ def getpeercert(self, binary_form=False): 'subjectAltName': get_subj_alt_name(x509) } + def version(self): + return self.connection.get_protocol_version_name() + def _reuse(self): self._makefile_refs += 1 @@ -432,7 +449,9 @@ def load_verify_locations(self, cafile=None, capath=None, cadata=None): def load_cert_chain(self, certfile, keyfile=None, password=None): self._ctx.use_certificate_chain_file(certfile) if password is not None: - self._ctx.set_passwd_cb(lambda max_length, prompt_twice, userdata: password) + if not isinstance(password, six.binary_type): + password = password.encode('utf-8') + self._ctx.set_passwd_cb(lambda *_: password) self._ctx.use_privatekey_file(keyfile or certfile) def wrap_socket(self, sock, server_side=False, diff --git a/bin/urllib3/contrib/pyopenssl.pyc b/bin/urllib3/contrib/pyopenssl.pyc deleted file mode 100644 index 1d6d26e7..00000000 Binary files a/bin/urllib3/contrib/pyopenssl.pyc and /dev/null differ diff --git a/bin/urllib3/contrib/securetransport.py b/bin/urllib3/contrib/securetransport.py index 77cb59ed..4dc48484 100644 --- a/bin/urllib3/contrib/securetransport.py +++ b/bin/urllib3/contrib/securetransport.py @@ -23,6 +23,31 @@ urllib3.contrib.securetransport.inject_into_urllib3() Happy TLSing! + +This code is a bastardised version of the code found in Will Bond's oscrypto +library. An enormous debt is owed to him for blazing this trail for us. For +that reason, this code should be considered to be covered both by urllib3's +license and by oscrypto's: + + Copyright (c) 2015-2016 Will Bond + + 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. """ from __future__ import absolute_import @@ -86,35 +111,32 @@ # individual cipher suites. We need to do this because this is how # SecureTransport wants them. CIPHER_SUITES = [ - SecurityConst.TLS_AES_256_GCM_SHA384, - SecurityConst.TLS_CHACHA20_POLY1305_SHA256, - SecurityConst.TLS_AES_128_GCM_SHA256, SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, - SecurityConst.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, SecurityConst.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, - SecurityConst.TLS_DHE_DSS_WITH_AES_256_GCM_SHA384, + SecurityConst.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256, + SecurityConst.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, SecurityConst.TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, - SecurityConst.TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, SecurityConst.TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, - SecurityConst.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, - SecurityConst.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, - SecurityConst.TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, - SecurityConst.TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, - SecurityConst.TLS_DHE_RSA_WITH_AES_256_CBC_SHA, - SecurityConst.TLS_DHE_DSS_WITH_AES_256_CBC_SHA, SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, - SecurityConst.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, SecurityConst.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, + SecurityConst.TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, + SecurityConst.TLS_DHE_RSA_WITH_AES_256_CBC_SHA, SecurityConst.TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, - SecurityConst.TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, SecurityConst.TLS_DHE_RSA_WITH_AES_128_CBC_SHA, - SecurityConst.TLS_DHE_DSS_WITH_AES_128_CBC_SHA, + SecurityConst.TLS_AES_256_GCM_SHA384, + SecurityConst.TLS_AES_128_GCM_SHA256, SecurityConst.TLS_RSA_WITH_AES_256_GCM_SHA384, SecurityConst.TLS_RSA_WITH_AES_128_GCM_SHA256, + SecurityConst.TLS_AES_128_CCM_8_SHA256, + SecurityConst.TLS_AES_128_CCM_SHA256, SecurityConst.TLS_RSA_WITH_AES_256_CBC_SHA256, SecurityConst.TLS_RSA_WITH_AES_128_CBC_SHA256, SecurityConst.TLS_RSA_WITH_AES_256_CBC_SHA, @@ -122,9 +144,10 @@ ] # Basically this is simple: for PROTOCOL_SSLv23 we turn it into a low of -# TLSv1 and a high of TLSv1.2. For everything else, we pin to that version. +# TLSv1 and a high of TLSv1.3. For everything else, we pin to that version. +# TLSv1 to 1.2 are supported on macOS 10.8+ and TLSv1.3 is macOS 10.13+ _protocol_to_min_max = { - ssl.PROTOCOL_SSLv23: (SecurityConst.kTLSProtocol1, SecurityConst.kTLSProtocol12), + util.PROTOCOL_TLS: (SecurityConst.kTLSProtocol1, SecurityConst.kTLSProtocolMaxSupported), } if hasattr(ssl, "PROTOCOL_SSLv2"): @@ -147,14 +170,13 @@ _protocol_to_min_max[ssl.PROTOCOL_TLSv1_2] = ( SecurityConst.kTLSProtocol12, SecurityConst.kTLSProtocol12 ) -if hasattr(ssl, "PROTOCOL_TLS"): - _protocol_to_min_max[ssl.PROTOCOL_TLS] = _protocol_to_min_max[ssl.PROTOCOL_SSLv23] def inject_into_urllib3(): """ Monkey-patch urllib3 with SecureTransport-backed SSL-support. """ + util.SSLContext = SecureTransportContext util.ssl_.SSLContext = SecureTransportContext util.HAS_SNI = HAS_SNI util.ssl_.HAS_SNI = HAS_SNI @@ -166,6 +188,7 @@ def extract_from_urllib3(): """ Undo monkey-patching by :func:`inject_into_urllib3`. """ + util.SSLContext = orig_util_SSLContext util.ssl_.SSLContext = orig_util_SSLContext util.HAS_SNI = orig_util_HAS_SNI util.ssl_.HAS_SNI = orig_util_HAS_SNI @@ -458,7 +481,14 @@ def handshake(self, # Set the minimum and maximum TLS versions. result = Security.SSLSetProtocolVersionMin(self.context, min_version) _assert_no_error(result) + + # TLS 1.3 isn't necessarily enabled by the OS + # so we have to detect when we error out and try + # setting TLS 1.3 if it's allowed. kTLSProtocolMaxSupported + # was added in macOS 10.13 along with kTLSProtocol13. result = Security.SSLSetProtocolVersionMax(self.context, max_version) + if result != 0 and max_version == SecurityConst.kTLSProtocolMaxSupported: + result = Security.SSLSetProtocolVersionMax(self.context, SecurityConst.kTLSProtocol12) _assert_no_error(result) # If there's a trust DB, we need to use it. We do that by telling @@ -667,6 +697,25 @@ def getpeercert(self, binary_form=False): return der_bytes + def version(self): + protocol = Security.SSLProtocol() + result = Security.SSLGetNegotiatedProtocolVersion(self.context, ctypes.byref(protocol)) + _assert_no_error(result) + if protocol.value == SecurityConst.kTLSProtocol13: + return 'TLSv1.3' + elif protocol.value == SecurityConst.kTLSProtocol12: + return 'TLSv1.2' + elif protocol.value == SecurityConst.kTLSProtocol11: + return 'TLSv1.1' + elif protocol.value == SecurityConst.kTLSProtocol1: + return 'TLSv1' + elif protocol.value == SecurityConst.kSSLProtocol3: + return 'SSLv3' + elif protocol.value == SecurityConst.kSSLProtocol2: + return 'SSLv2' + else: + raise ssl.SSLError('Unknown TLS version: %r' % protocol) + def _reuse(self): self._makefile_refs += 1 diff --git a/bin/urllib3/contrib/securetransport.pyc b/bin/urllib3/contrib/securetransport.pyc deleted file mode 100644 index e1fcc5fb..00000000 Binary files a/bin/urllib3/contrib/securetransport.pyc and /dev/null differ diff --git a/bin/urllib3/contrib/socks.py b/bin/urllib3/contrib/socks.py index 811e312e..636d261f 100644 --- a/bin/urllib3/contrib/socks.py +++ b/bin/urllib3/contrib/socks.py @@ -1,25 +1,38 @@ # -*- coding: utf-8 -*- """ This module contains provisional support for SOCKS proxies from within -urllib3. This module supports SOCKS4 (specifically the SOCKS4A variant) and +urllib3. This module supports SOCKS4, SOCKS4A (an extension of SOCKS4), and SOCKS5. To enable its functionality, either install PySocks or install this module with the ``socks`` extra. The SOCKS implementation supports the full range of urllib3 features. It also supports the following SOCKS features: -- SOCKS4 -- SOCKS4a -- SOCKS5 +- SOCKS4A (``proxy_url='socks4a://...``) +- SOCKS4 (``proxy_url='socks4://...``) +- SOCKS5 with remote DNS (``proxy_url='socks5h://...``) +- SOCKS5 with local DNS (``proxy_url='socks5://...``) - Usernames and passwords for the SOCKS proxy -Known Limitations: + .. note:: + It is recommended to use ``socks5h://`` or ``socks4a://`` schemes in + your ``proxy_url`` to ensure that DNS resolution is done from the remote + server instead of client-side when connecting to a domain name. + +SOCKS4 supports IPv4 and domain names with the SOCKS4A extension. SOCKS5 +supports IPv4, IPv6, and domain names. + +When connecting to a SOCKS4 proxy the ``username`` portion of the ``proxy_url`` +will be sent as the ``userid`` section of the SOCKS request:: + + proxy_url="socks4a://@proxy-host" + +When connecting to a SOCKS5 proxy the ``username`` and ``password`` portion +of the ``proxy_url`` will be sent as the username/password to authenticate +with the proxy:: + + proxy_url="socks5h://:@proxy-host" -- Currently PySocks does not support contacting remote websites via literal - IPv6 addresses. Any such connection attempt will fail. You must use a domain - name. -- Currently PySocks does not support IPv6 connections to the SOCKS proxy. Any - such connection attempt will fail. """ from __future__ import absolute_import @@ -88,7 +101,7 @@ def _new_conn(self): **extra_kw ) - except SocketTimeout as e: + except SocketTimeout: raise ConnectTimeoutError( self, "Connection to %s timed out. (connect timeout=%s)" % (self.host, self.timeout)) diff --git a/bin/urllib3/contrib/socks.pyc b/bin/urllib3/contrib/socks.pyc deleted file mode 100644 index 17686374..00000000 Binary files a/bin/urllib3/contrib/socks.pyc and /dev/null differ diff --git a/bin/urllib3/exceptions.pyc b/bin/urllib3/exceptions.pyc deleted file mode 100644 index 329f66aa..00000000 Binary files a/bin/urllib3/exceptions.pyc and /dev/null differ diff --git a/bin/urllib3/fields.py b/bin/urllib3/fields.py index 37fe64a3..6a9a5a7f 100644 --- a/bin/urllib3/fields.py +++ b/bin/urllib3/fields.py @@ -1,6 +1,7 @@ from __future__ import absolute_import import email.utils import mimetypes +import re from .packages import six @@ -19,57 +20,147 @@ def guess_content_type(filename, default='application/octet-stream'): return default -def format_header_param(name, value): +def format_header_param_rfc2231(name, value): """ - Helper function to format and quote a single header parameter. + Helper function to format and quote a single header parameter using the + strategy defined in RFC 2231. Particularly useful for header parameters which might contain - non-ASCII values, like file names. This follows RFC 2231, as - suggested by RFC 2388 Section 4.4. + non-ASCII values, like file names. This follows RFC 2388 Section 4.4. :param name: The name of the parameter, a string expected to be ASCII only. :param value: - The value of the parameter, provided as a unicode string. + The value of the parameter, provided as ``bytes`` or `str``. + :ret: + An RFC-2231-formatted unicode string. """ + if isinstance(value, six.binary_type): + value = value.decode("utf-8") + if not any(ch in value for ch in '"\\\r\n'): - result = '%s="%s"' % (name, value) + result = u'%s="%s"' % (name, value) try: result.encode('ascii') except (UnicodeEncodeError, UnicodeDecodeError): pass else: return result - if not six.PY3 and isinstance(value, six.text_type): # Python 2: + + if not six.PY3: # Python 2: value = value.encode('utf-8') + + # encode_rfc2231 accepts an encoded string and returns an ascii-encoded + # string in Python 2 but accepts and returns unicode strings in Python 3 value = email.utils.encode_rfc2231(value, 'utf-8') value = '%s*=%s' % (name, value) + + if not six.PY3: # Python 2: + value = value.decode('utf-8') + return value +_HTML5_REPLACEMENTS = { + u"\u0022": u"%22", + # Replace "\" with "\\". + u"\u005C": u"\u005C\u005C", + u"\u005C": u"\u005C\u005C", +} + +# All control characters from 0x00 to 0x1F *except* 0x1B. +_HTML5_REPLACEMENTS.update({ + six.unichr(cc): u"%{:02X}".format(cc) + for cc + in range(0x00, 0x1F+1) + if cc not in (0x1B,) +}) + + +def _replace_multiple(value, needles_and_replacements): + + def replacer(match): + return needles_and_replacements[match.group(0)] + + pattern = re.compile( + r"|".join([ + re.escape(needle) for needle in needles_and_replacements.keys() + ]) + ) + + result = pattern.sub(replacer, value) + + return result + + +def format_header_param_html5(name, value): + """ + Helper function to format and quote a single header parameter using the + HTML5 strategy. + + Particularly useful for header parameters which might contain + non-ASCII values, like file names. This follows the `HTML5 Working Draft + Section 4.10.22.7`_ and matches the behavior of curl and modern browsers. + + .. _HTML5 Working Draft Section 4.10.22.7: + https://w3c.github.io/html/sec-forms.html#multipart-form-data + + :param name: + The name of the parameter, a string expected to be ASCII only. + :param value: + The value of the parameter, provided as ``bytes`` or `str``. + :ret: + A unicode string, stripped of troublesome characters. + """ + if isinstance(value, six.binary_type): + value = value.decode("utf-8") + + value = _replace_multiple(value, _HTML5_REPLACEMENTS) + + return u'%s="%s"' % (name, value) + + +# For backwards-compatibility. +format_header_param = format_header_param_html5 + + class RequestField(object): """ A data container for request body parameters. :param name: - The name of this request field. + The name of this request field. Must be unicode. :param data: The data/value body. :param filename: - An optional filename of the request field. + An optional filename of the request field. Must be unicode. :param headers: An optional dict-like object of headers to initially use for the field. + :param header_formatter: + An optional callable that is used to encode and format the headers. By + default, this is :func:`format_header_param_html5`. """ - def __init__(self, name, data, filename=None, headers=None): + def __init__( + self, + name, + data, + filename=None, + headers=None, + header_formatter=format_header_param_html5): self._name = name self._filename = filename self.data = data self.headers = {} if headers: self.headers = dict(headers) + self.header_formatter = header_formatter @classmethod - def from_tuples(cls, fieldname, value): + def from_tuples( + cls, + fieldname, + value, + header_formatter=format_header_param_html5): """ A :class:`~urllib3.fields.RequestField` factory from old-style tuple parameters. @@ -97,21 +188,24 @@ def from_tuples(cls, fieldname, value): content_type = None data = value - request_param = cls(fieldname, data, filename=filename) + request_param = cls( + fieldname, data, filename=filename, header_formatter=header_formatter) request_param.make_multipart(content_type=content_type) return request_param def _render_part(self, name, value): """ - Overridable helper function to format a single header parameter. + Overridable helper function to format a single header parameter. By + default, this calls ``self.header_formatter``. :param name: The name of the parameter, a string expected to be ASCII only. :param value: The value of the parameter, provided as a unicode string. """ - return format_header_param(name, value) + + return self.header_formatter(name, value) def _render_parts(self, header_parts): """ @@ -133,7 +227,7 @@ def _render_parts(self, header_parts): if value is not None: parts.append(self._render_part(name, value)) - return '; '.join(parts) + return u'; '.join(parts) def render_headers(self): """ @@ -144,15 +238,15 @@ def render_headers(self): sort_keys = ['Content-Disposition', 'Content-Type', 'Content-Location'] for sort_key in sort_keys: if self.headers.get(sort_key, False): - lines.append('%s: %s' % (sort_key, self.headers[sort_key])) + lines.append(u'%s: %s' % (sort_key, self.headers[sort_key])) for header_name, header_value in self.headers.items(): if header_name not in sort_keys: if header_value: - lines.append('%s: %s' % (header_name, header_value)) + lines.append(u'%s: %s' % (header_name, header_value)) - lines.append('\r\n') - return '\r\n'.join(lines) + lines.append(u'\r\n') + return u'\r\n'.join(lines) def make_multipart(self, content_disposition=None, content_type=None, content_location=None): @@ -168,10 +262,10 @@ def make_multipart(self, content_disposition=None, content_type=None, The 'Content-Location' of the request body. """ - self.headers['Content-Disposition'] = content_disposition or 'form-data' - self.headers['Content-Disposition'] += '; '.join([ - '', self._render_parts( - (('name', self._name), ('filename', self._filename)) + self.headers['Content-Disposition'] = content_disposition or u'form-data' + self.headers['Content-Disposition'] += u'; '.join([ + u'', self._render_parts( + ((u'name', self._name), (u'filename', self._filename)) ) ]) self.headers['Content-Type'] = content_type diff --git a/bin/urllib3/fields.pyc b/bin/urllib3/fields.pyc deleted file mode 100644 index d732744f..00000000 Binary files a/bin/urllib3/fields.pyc and /dev/null differ diff --git a/bin/urllib3/filepost.pyc b/bin/urllib3/filepost.pyc deleted file mode 100644 index 2d51400c..00000000 Binary files a/bin/urllib3/filepost.pyc and /dev/null differ diff --git a/bin/urllib3/packages/__init__.pyc b/bin/urllib3/packages/__init__.pyc deleted file mode 100644 index 63781e01..00000000 Binary files a/bin/urllib3/packages/__init__.pyc and /dev/null differ diff --git a/bin/urllib3/packages/backports/__init__.pyc b/bin/urllib3/packages/backports/__init__.pyc deleted file mode 100644 index 778822d5..00000000 Binary files a/bin/urllib3/packages/backports/__init__.pyc and /dev/null differ diff --git a/bin/urllib3/packages/backports/makefile.pyc b/bin/urllib3/packages/backports/makefile.pyc deleted file mode 100644 index 2462e5eb..00000000 Binary files a/bin/urllib3/packages/backports/makefile.pyc and /dev/null differ diff --git a/bin/urllib3/packages/rfc3986/__init__.py b/bin/urllib3/packages/rfc3986/__init__.py new file mode 100644 index 00000000..371c6dd5 --- /dev/null +++ b/bin/urllib3/packages/rfc3986/__init__.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2014 Rackspace +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +An implementation of semantics and validations described in RFC 3986. + +See http://rfc3986.readthedocs.io/ for detailed documentation. + +:copyright: (c) 2014 Rackspace +:license: Apache v2.0, see LICENSE for details +""" + +from .api import iri_reference +from .api import IRIReference +from .api import is_valid_uri +from .api import normalize_uri +from .api import uri_reference +from .api import URIReference +from .api import urlparse +from .parseresult import ParseResult + +__title__ = 'rfc3986' +__author__ = 'Ian Stapleton Cordasco' +__author_email__ = 'graffatcolmingov@gmail.com' +__license__ = 'Apache v2.0' +__copyright__ = 'Copyright 2014 Rackspace' +__version__ = '1.3.2' + +__all__ = ( + 'ParseResult', + 'URIReference', + 'IRIReference', + 'is_valid_uri', + 'normalize_uri', + 'uri_reference', + 'iri_reference', + 'urlparse', + '__title__', + '__author__', + '__author_email__', + '__license__', + '__copyright__', + '__version__', +) diff --git a/bin/urllib3/packages/rfc3986/_mixin.py b/bin/urllib3/packages/rfc3986/_mixin.py new file mode 100644 index 00000000..543925cd --- /dev/null +++ b/bin/urllib3/packages/rfc3986/_mixin.py @@ -0,0 +1,353 @@ +"""Module containing the implementation of the URIMixin class.""" +import warnings + +from . import exceptions as exc +from . import misc +from . import normalizers +from . import validators + + +class URIMixin(object): + """Mixin with all shared methods for URIs and IRIs.""" + + __hash__ = tuple.__hash__ + + def authority_info(self): + """Return a dictionary with the ``userinfo``, ``host``, and ``port``. + + If the authority is not valid, it will raise a + :class:`~rfc3986.exceptions.InvalidAuthority` Exception. + + :returns: + ``{'userinfo': 'username:password', 'host': 'www.example.com', + 'port': '80'}`` + :rtype: dict + :raises rfc3986.exceptions.InvalidAuthority: + If the authority is not ``None`` and can not be parsed. + """ + if not self.authority: + return {'userinfo': None, 'host': None, 'port': None} + + match = self._match_subauthority() + + if match is None: + # In this case, we have an authority that was parsed from the URI + # Reference, but it cannot be further parsed by our + # misc.SUBAUTHORITY_MATCHER. In this case it must not be a valid + # authority. + raise exc.InvalidAuthority(self.authority.encode(self.encoding)) + + # We had a match, now let's ensure that it is actually a valid host + # address if it is IPv4 + matches = match.groupdict() + host = matches.get('host') + + if (host and misc.IPv4_MATCHER.match(host) and not + validators.valid_ipv4_host_address(host)): + # If we have a host, it appears to be IPv4 and it does not have + # valid bytes, it is an InvalidAuthority. + raise exc.InvalidAuthority(self.authority.encode(self.encoding)) + + return matches + + def _match_subauthority(self): + return misc.SUBAUTHORITY_MATCHER.match(self.authority) + + @property + def host(self): + """If present, a string representing the host.""" + try: + authority = self.authority_info() + except exc.InvalidAuthority: + return None + return authority['host'] + + @property + def port(self): + """If present, the port extracted from the authority.""" + try: + authority = self.authority_info() + except exc.InvalidAuthority: + return None + return authority['port'] + + @property + def userinfo(self): + """If present, the userinfo extracted from the authority.""" + try: + authority = self.authority_info() + except exc.InvalidAuthority: + return None + return authority['userinfo'] + + def is_absolute(self): + """Determine if this URI Reference is an absolute URI. + + See http://tools.ietf.org/html/rfc3986#section-4.3 for explanation. + + :returns: ``True`` if it is an absolute URI, ``False`` otherwise. + :rtype: bool + """ + return bool(misc.ABSOLUTE_URI_MATCHER.match(self.unsplit())) + + def is_valid(self, **kwargs): + """Determine if the URI is valid. + + .. deprecated:: 1.1.0 + + Use the :class:`~rfc3986.validators.Validator` object instead. + + :param bool require_scheme: Set to ``True`` if you wish to require the + presence of the scheme component. + :param bool require_authority: Set to ``True`` if you wish to require + the presence of the authority component. + :param bool require_path: Set to ``True`` if you wish to require the + presence of the path component. + :param bool require_query: Set to ``True`` if you wish to require the + presence of the query component. + :param bool require_fragment: Set to ``True`` if you wish to require + the presence of the fragment component. + :returns: ``True`` if the URI is valid. ``False`` otherwise. + :rtype: bool + """ + warnings.warn("Please use rfc3986.validators.Validator instead. " + "This method will be eventually removed.", + DeprecationWarning) + validators = [ + (self.scheme_is_valid, kwargs.get('require_scheme', False)), + (self.authority_is_valid, kwargs.get('require_authority', False)), + (self.path_is_valid, kwargs.get('require_path', False)), + (self.query_is_valid, kwargs.get('require_query', False)), + (self.fragment_is_valid, kwargs.get('require_fragment', False)), + ] + return all(v(r) for v, r in validators) + + def authority_is_valid(self, require=False): + """Determine if the authority component is valid. + + .. deprecated:: 1.1.0 + + Use the :class:`~rfc3986.validators.Validator` object instead. + + :param bool require: + Set to ``True`` to require the presence of this component. + :returns: + ``True`` if the authority is valid. ``False`` otherwise. + :rtype: + bool + """ + warnings.warn("Please use rfc3986.validators.Validator instead. " + "This method will be eventually removed.", + DeprecationWarning) + try: + self.authority_info() + except exc.InvalidAuthority: + return False + + return validators.authority_is_valid( + self.authority, + host=self.host, + require=require, + ) + + def scheme_is_valid(self, require=False): + """Determine if the scheme component is valid. + + .. deprecated:: 1.1.0 + + Use the :class:`~rfc3986.validators.Validator` object instead. + + :param str require: Set to ``True`` to require the presence of this + component. + :returns: ``True`` if the scheme is valid. ``False`` otherwise. + :rtype: bool + """ + warnings.warn("Please use rfc3986.validators.Validator instead. " + "This method will be eventually removed.", + DeprecationWarning) + return validators.scheme_is_valid(self.scheme, require) + + def path_is_valid(self, require=False): + """Determine if the path component is valid. + + .. deprecated:: 1.1.0 + + Use the :class:`~rfc3986.validators.Validator` object instead. + + :param str require: Set to ``True`` to require the presence of this + component. + :returns: ``True`` if the path is valid. ``False`` otherwise. + :rtype: bool + """ + warnings.warn("Please use rfc3986.validators.Validator instead. " + "This method will be eventually removed.", + DeprecationWarning) + return validators.path_is_valid(self.path, require) + + def query_is_valid(self, require=False): + """Determine if the query component is valid. + + .. deprecated:: 1.1.0 + + Use the :class:`~rfc3986.validators.Validator` object instead. + + :param str require: Set to ``True`` to require the presence of this + component. + :returns: ``True`` if the query is valid. ``False`` otherwise. + :rtype: bool + """ + warnings.warn("Please use rfc3986.validators.Validator instead. " + "This method will be eventually removed.", + DeprecationWarning) + return validators.query_is_valid(self.query, require) + + def fragment_is_valid(self, require=False): + """Determine if the fragment component is valid. + + .. deprecated:: 1.1.0 + + Use the Validator object instead. + + :param str require: Set to ``True`` to require the presence of this + component. + :returns: ``True`` if the fragment is valid. ``False`` otherwise. + :rtype: bool + """ + warnings.warn("Please use rfc3986.validators.Validator instead. " + "This method will be eventually removed.", + DeprecationWarning) + return validators.fragment_is_valid(self.fragment, require) + + def normalized_equality(self, other_ref): + """Compare this URIReference to another URIReference. + + :param URIReference other_ref: (required), The reference with which + we're comparing. + :returns: ``True`` if the references are equal, ``False`` otherwise. + :rtype: bool + """ + return tuple(self.normalize()) == tuple(other_ref.normalize()) + + def resolve_with(self, base_uri, strict=False): + """Use an absolute URI Reference to resolve this relative reference. + + Assuming this is a relative reference that you would like to resolve, + use the provided base URI to resolve it. + + See http://tools.ietf.org/html/rfc3986#section-5 for more information. + + :param base_uri: Either a string or URIReference. It must be an + absolute URI or it will raise an exception. + :returns: A new URIReference which is the result of resolving this + reference using ``base_uri``. + :rtype: :class:`URIReference` + :raises rfc3986.exceptions.ResolutionError: + If the ``base_uri`` is not an absolute URI. + """ + if not isinstance(base_uri, URIMixin): + base_uri = type(self).from_string(base_uri) + + if not base_uri.is_absolute(): + raise exc.ResolutionError(base_uri) + + # This is optional per + # http://tools.ietf.org/html/rfc3986#section-5.2.1 + base_uri = base_uri.normalize() + + # The reference we're resolving + resolving = self + + if not strict and resolving.scheme == base_uri.scheme: + resolving = resolving.copy_with(scheme=None) + + # http://tools.ietf.org/html/rfc3986#page-32 + if resolving.scheme is not None: + target = resolving.copy_with( + path=normalizers.normalize_path(resolving.path) + ) + else: + if resolving.authority is not None: + target = resolving.copy_with( + scheme=base_uri.scheme, + path=normalizers.normalize_path(resolving.path) + ) + else: + if resolving.path is None: + if resolving.query is not None: + query = resolving.query + else: + query = base_uri.query + target = resolving.copy_with( + scheme=base_uri.scheme, + authority=base_uri.authority, + path=base_uri.path, + query=query + ) + else: + if resolving.path.startswith('/'): + path = normalizers.normalize_path(resolving.path) + else: + path = normalizers.normalize_path( + misc.merge_paths(base_uri, resolving.path) + ) + target = resolving.copy_with( + scheme=base_uri.scheme, + authority=base_uri.authority, + path=path, + query=resolving.query + ) + return target + + def unsplit(self): + """Create a URI string from the components. + + :returns: The URI Reference reconstituted as a string. + :rtype: str + """ + # See http://tools.ietf.org/html/rfc3986#section-5.3 + result_list = [] + if self.scheme: + result_list.extend([self.scheme, ':']) + if self.authority: + result_list.extend(['//', self.authority]) + if self.path: + result_list.append(self.path) + if self.query is not None: + result_list.extend(['?', self.query]) + if self.fragment is not None: + result_list.extend(['#', self.fragment]) + return ''.join(result_list) + + def copy_with(self, scheme=misc.UseExisting, authority=misc.UseExisting, + path=misc.UseExisting, query=misc.UseExisting, + fragment=misc.UseExisting): + """Create a copy of this reference with the new components. + + :param str scheme: + (optional) The scheme to use for the new reference. + :param str authority: + (optional) The authority to use for the new reference. + :param str path: + (optional) The path to use for the new reference. + :param str query: + (optional) The query to use for the new reference. + :param str fragment: + (optional) The fragment to use for the new reference. + :returns: + New URIReference with provided components. + :rtype: + URIReference + """ + attributes = { + 'scheme': scheme, + 'authority': authority, + 'path': path, + 'query': query, + 'fragment': fragment, + } + for key, value in list(attributes.items()): + if value is misc.UseExisting: + del attributes[key] + uri = self._replace(**attributes) + uri.encoding = self.encoding + return uri diff --git a/bin/urllib3/packages/rfc3986/abnf_regexp.py b/bin/urllib3/packages/rfc3986/abnf_regexp.py new file mode 100644 index 00000000..24c9c3d0 --- /dev/null +++ b/bin/urllib3/packages/rfc3986/abnf_regexp.py @@ -0,0 +1,267 @@ +# -*- coding: utf-8 -*- +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Module for the regular expressions crafted from ABNF.""" + +import sys + +# https://tools.ietf.org/html/rfc3986#page-13 +GEN_DELIMS = GENERIC_DELIMITERS = ":/?#[]@" +GENERIC_DELIMITERS_SET = set(GENERIC_DELIMITERS) +# https://tools.ietf.org/html/rfc3986#page-13 +SUB_DELIMS = SUB_DELIMITERS = "!$&'()*+,;=" +SUB_DELIMITERS_SET = set(SUB_DELIMITERS) +# Escape the '*' for use in regular expressions +SUB_DELIMITERS_RE = r"!$&'()\*+,;=" +RESERVED_CHARS_SET = GENERIC_DELIMITERS_SET.union(SUB_DELIMITERS_SET) +ALPHA = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' +DIGIT = '0123456789' +# https://tools.ietf.org/html/rfc3986#section-2.3 +UNRESERVED = UNRESERVED_CHARS = ALPHA + DIGIT + r'._!-' +UNRESERVED_CHARS_SET = set(UNRESERVED_CHARS) +NON_PCT_ENCODED_SET = RESERVED_CHARS_SET.union(UNRESERVED_CHARS_SET) +# We need to escape the '-' in this case: +UNRESERVED_RE = r'A-Za-z0-9._~\-' + +# Percent encoded character values +PERCENT_ENCODED = PCT_ENCODED = '%[A-Fa-f0-9]{2}' +PCHAR = '([' + UNRESERVED_RE + SUB_DELIMITERS_RE + ':@]|%s)' % PCT_ENCODED + +# NOTE(sigmavirus24): We're going to use more strict regular expressions +# than appear in Appendix B for scheme. This will prevent over-eager +# consuming of items that aren't schemes. +SCHEME_RE = '[a-zA-Z][a-zA-Z0-9+.-]*' +_AUTHORITY_RE = '[^/?#]*' +_PATH_RE = '[^?#]*' +_QUERY_RE = '[^#]*' +_FRAGMENT_RE = '.*' + +# Extracted from http://tools.ietf.org/html/rfc3986#appendix-B +COMPONENT_PATTERN_DICT = { + 'scheme': SCHEME_RE, + 'authority': _AUTHORITY_RE, + 'path': _PATH_RE, + 'query': _QUERY_RE, + 'fragment': _FRAGMENT_RE, +} + +# See http://tools.ietf.org/html/rfc3986#appendix-B +# In this case, we name each of the important matches so we can use +# SRE_Match#groupdict to parse the values out if we so choose. This is also +# modified to ignore other matches that are not important to the parsing of +# the reference so we can also simply use SRE_Match#groups. +URL_PARSING_RE = ( + r'(?:(?P{scheme}):)?(?://(?P{authority}))?' + r'(?P{path})(?:\?(?P{query}))?' + r'(?:#(?P{fragment}))?' +).format(**COMPONENT_PATTERN_DICT) + + +# ######################### +# Authority Matcher Section +# ######################### + +# Host patterns, see: http://tools.ietf.org/html/rfc3986#section-3.2.2 +# The pattern for a regular name, e.g., www.google.com, api.github.com +REGULAR_NAME_RE = REG_NAME = '((?:{0}|[{1}])*)'.format( + '%[0-9A-Fa-f]{2}', SUB_DELIMITERS_RE + UNRESERVED_RE +) +# The pattern for an IPv4 address, e.g., 192.168.255.255, 127.0.0.1, +IPv4_RE = r'([0-9]{1,3}\.){3}[0-9]{1,3}' +# Hexadecimal characters used in each piece of an IPv6 address +HEXDIG_RE = '[0-9A-Fa-f]{1,4}' +# Least-significant 32 bits of an IPv6 address +LS32_RE = '({hex}:{hex}|{ipv4})'.format(hex=HEXDIG_RE, ipv4=IPv4_RE) +# Substitutions into the following patterns for IPv6 patterns defined +# http://tools.ietf.org/html/rfc3986#page-20 +_subs = {'hex': HEXDIG_RE, 'ls32': LS32_RE} + +# Below: h16 = hexdig, see: https://tools.ietf.org/html/rfc5234 for details +# about ABNF (Augmented Backus-Naur Form) use in the comments +variations = [ + # 6( h16 ":" ) ls32 + '(%(hex)s:){6}%(ls32)s' % _subs, + # "::" 5( h16 ":" ) ls32 + '::(%(hex)s:){5}%(ls32)s' % _subs, + # [ h16 ] "::" 4( h16 ":" ) ls32 + '(%(hex)s)?::(%(hex)s:){4}%(ls32)s' % _subs, + # [ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32 + '((%(hex)s:)?%(hex)s)?::(%(hex)s:){3}%(ls32)s' % _subs, + # [ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32 + '((%(hex)s:){0,2}%(hex)s)?::(%(hex)s:){2}%(ls32)s' % _subs, + # [ *3( h16 ":" ) h16 ] "::" h16 ":" ls32 + '((%(hex)s:){0,3}%(hex)s)?::%(hex)s:%(ls32)s' % _subs, + # [ *4( h16 ":" ) h16 ] "::" ls32 + '((%(hex)s:){0,4}%(hex)s)?::%(ls32)s' % _subs, + # [ *5( h16 ":" ) h16 ] "::" h16 + '((%(hex)s:){0,5}%(hex)s)?::%(hex)s' % _subs, + # [ *6( h16 ":" ) h16 ] "::" + '((%(hex)s:){0,6}%(hex)s)?::' % _subs, +] + +IPv6_RE = '(({0})|({1})|({2})|({3})|({4})|({5})|({6})|({7})|({8}))'.format( + *variations +) + +IPv_FUTURE_RE = r'v[0-9A-Fa-f]+\.[%s]+' % ( + UNRESERVED_RE + SUB_DELIMITERS_RE + ':' +) + +# RFC 6874 Zone ID ABNF +ZONE_ID = '(?:[' + UNRESERVED_RE + ']|' + PCT_ENCODED + ')+' + +IPv6_ADDRZ_RFC4007_RE = IPv6_RE + '(?:(?:%25|%)' + ZONE_ID + ')?' +IPv6_ADDRZ_RE = IPv6_RE + '(?:%25' + ZONE_ID + ')?' + +IP_LITERAL_RE = r'\[({0}|{1})\]'.format( + IPv6_ADDRZ_RFC4007_RE, + IPv_FUTURE_RE, +) + +# Pattern for matching the host piece of the authority +HOST_RE = HOST_PATTERN = '({0}|{1}|{2})'.format( + REG_NAME, + IPv4_RE, + IP_LITERAL_RE, +) +USERINFO_RE = '^([' + UNRESERVED_RE + SUB_DELIMITERS_RE + ':]|%s)+' % ( + PCT_ENCODED +) +PORT_RE = '[0-9]{1,5}' + +# #################### +# Path Matcher Section +# #################### + +# See http://tools.ietf.org/html/rfc3986#section-3.3 for more information +# about the path patterns defined below. +segments = { + 'segment': PCHAR + '*', + # Non-zero length segment + 'segment-nz': PCHAR + '+', + # Non-zero length segment without ":" + 'segment-nz-nc': PCHAR.replace(':', '') + '+' +} + +# Path types taken from Section 3.3 (linked above) +PATH_EMPTY = '^$' +PATH_ROOTLESS = '%(segment-nz)s(/%(segment)s)*' % segments +PATH_NOSCHEME = '%(segment-nz-nc)s(/%(segment)s)*' % segments +PATH_ABSOLUTE = '/(%s)?' % PATH_ROOTLESS +PATH_ABEMPTY = '(/%(segment)s)*' % segments +PATH_RE = '^(%s|%s|%s|%s|%s)$' % ( + PATH_ABEMPTY, PATH_ABSOLUTE, PATH_NOSCHEME, PATH_ROOTLESS, PATH_EMPTY +) + +FRAGMENT_RE = QUERY_RE = ( + '^([/?:@' + UNRESERVED_RE + SUB_DELIMITERS_RE + ']|%s)*$' % PCT_ENCODED +) + +# ########################## +# Relative reference matcher +# ########################## + +# See http://tools.ietf.org/html/rfc3986#section-4.2 for details +RELATIVE_PART_RE = '(//%s%s|%s|%s|%s)' % ( + COMPONENT_PATTERN_DICT['authority'], + PATH_ABEMPTY, + PATH_ABSOLUTE, + PATH_NOSCHEME, + PATH_EMPTY, +) + +# See http://tools.ietf.org/html/rfc3986#section-3 for definition +HIER_PART_RE = '(//%s%s|%s|%s|%s)' % ( + COMPONENT_PATTERN_DICT['authority'], + PATH_ABEMPTY, + PATH_ABSOLUTE, + PATH_ROOTLESS, + PATH_EMPTY, +) + +# ############### +# IRIs / RFC 3987 +# ############### + +# Only wide-unicode gets the high-ranges of UCSCHAR +if sys.maxunicode > 0xFFFF: # pragma: no cover + IPRIVATE = u'\uE000-\uF8FF\U000F0000-\U000FFFFD\U00100000-\U0010FFFD' + UCSCHAR_RE = ( + u'\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF' + u'\U00010000-\U0001FFFD\U00020000-\U0002FFFD' + u'\U00030000-\U0003FFFD\U00040000-\U0004FFFD' + u'\U00050000-\U0005FFFD\U00060000-\U0006FFFD' + u'\U00070000-\U0007FFFD\U00080000-\U0008FFFD' + u'\U00090000-\U0009FFFD\U000A0000-\U000AFFFD' + u'\U000B0000-\U000BFFFD\U000C0000-\U000CFFFD' + u'\U000D0000-\U000DFFFD\U000E1000-\U000EFFFD' + ) +else: # pragma: no cover + IPRIVATE = u'\uE000-\uF8FF' + UCSCHAR_RE = ( + u'\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF' + ) + +IUNRESERVED_RE = u'A-Za-z0-9\\._~\\-' + UCSCHAR_RE +IPCHAR = u'([' + IUNRESERVED_RE + SUB_DELIMITERS_RE + u':@]|%s)' % PCT_ENCODED + +isegments = { + 'isegment': IPCHAR + u'*', + # Non-zero length segment + 'isegment-nz': IPCHAR + u'+', + # Non-zero length segment without ":" + 'isegment-nz-nc': IPCHAR.replace(':', '') + u'+' +} + +IPATH_ROOTLESS = u'%(isegment-nz)s(/%(isegment)s)*' % isegments +IPATH_NOSCHEME = u'%(isegment-nz-nc)s(/%(isegment)s)*' % isegments +IPATH_ABSOLUTE = u'/(?:%s)?' % IPATH_ROOTLESS +IPATH_ABEMPTY = u'(?:/%(isegment)s)*' % isegments +IPATH_RE = u'^(?:%s|%s|%s|%s|%s)$' % ( + IPATH_ABEMPTY, IPATH_ABSOLUTE, IPATH_NOSCHEME, IPATH_ROOTLESS, PATH_EMPTY +) + +IREGULAR_NAME_RE = IREG_NAME = u'(?:{0}|[{1}])*'.format( + u'%[0-9A-Fa-f]{2}', SUB_DELIMITERS_RE + IUNRESERVED_RE +) + +IHOST_RE = IHOST_PATTERN = u'({0}|{1}|{2})'.format( + IREG_NAME, + IPv4_RE, + IP_LITERAL_RE, +) + +IUSERINFO_RE = u'^(?:[' + IUNRESERVED_RE + SUB_DELIMITERS_RE + u':]|%s)+' % ( + PCT_ENCODED +) + +IFRAGMENT_RE = (u'^(?:[/?:@' + IUNRESERVED_RE + SUB_DELIMITERS_RE + + u']|%s)*$' % PCT_ENCODED) +IQUERY_RE = (u'^(?:[/?:@' + IUNRESERVED_RE + SUB_DELIMITERS_RE + + IPRIVATE + u']|%s)*$' % PCT_ENCODED) + +IRELATIVE_PART_RE = u'(//%s%s|%s|%s|%s)' % ( + COMPONENT_PATTERN_DICT['authority'], + IPATH_ABEMPTY, + IPATH_ABSOLUTE, + IPATH_NOSCHEME, + PATH_EMPTY, +) + +IHIER_PART_RE = u'(//%s%s|%s|%s|%s)' % ( + COMPONENT_PATTERN_DICT['authority'], + IPATH_ABEMPTY, + IPATH_ABSOLUTE, + IPATH_ROOTLESS, + PATH_EMPTY, +) diff --git a/bin/urllib3/packages/rfc3986/api.py b/bin/urllib3/packages/rfc3986/api.py new file mode 100644 index 00000000..ddc4a1cd --- /dev/null +++ b/bin/urllib3/packages/rfc3986/api.py @@ -0,0 +1,106 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2014 Rackspace +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" +Module containing the simple and functional API for rfc3986. + +This module defines functions and provides access to the public attributes +and classes of rfc3986. +""" + +from .iri import IRIReference +from .parseresult import ParseResult +from .uri import URIReference + + +def uri_reference(uri, encoding='utf-8'): + """Parse a URI string into a URIReference. + + This is a convenience function. You could achieve the same end by using + ``URIReference.from_string(uri)``. + + :param str uri: The URI which needs to be parsed into a reference. + :param str encoding: The encoding of the string provided + :returns: A parsed URI + :rtype: :class:`URIReference` + """ + return URIReference.from_string(uri, encoding) + + +def iri_reference(iri, encoding='utf-8'): + """Parse a IRI string into an IRIReference. + + This is a convenience function. You could achieve the same end by using + ``IRIReference.from_string(iri)``. + + :param str iri: The IRI which needs to be parsed into a reference. + :param str encoding: The encoding of the string provided + :returns: A parsed IRI + :rtype: :class:`IRIReference` + """ + return IRIReference.from_string(iri, encoding) + + +def is_valid_uri(uri, encoding='utf-8', **kwargs): + """Determine if the URI given is valid. + + This is a convenience function. You could use either + ``uri_reference(uri).is_valid()`` or + ``URIReference.from_string(uri).is_valid()`` to achieve the same result. + + :param str uri: The URI to be validated. + :param str encoding: The encoding of the string provided + :param bool require_scheme: Set to ``True`` if you wish to require the + presence of the scheme component. + :param bool require_authority: Set to ``True`` if you wish to require the + presence of the authority component. + :param bool require_path: Set to ``True`` if you wish to require the + presence of the path component. + :param bool require_query: Set to ``True`` if you wish to require the + presence of the query component. + :param bool require_fragment: Set to ``True`` if you wish to require the + presence of the fragment component. + :returns: ``True`` if the URI is valid, ``False`` otherwise. + :rtype: bool + """ + return URIReference.from_string(uri, encoding).is_valid(**kwargs) + + +def normalize_uri(uri, encoding='utf-8'): + """Normalize the given URI. + + This is a convenience function. You could use either + ``uri_reference(uri).normalize().unsplit()`` or + ``URIReference.from_string(uri).normalize().unsplit()`` instead. + + :param str uri: The URI to be normalized. + :param str encoding: The encoding of the string provided + :returns: The normalized URI. + :rtype: str + """ + normalized_reference = URIReference.from_string(uri, encoding).normalize() + return normalized_reference.unsplit() + + +def urlparse(uri, encoding='utf-8'): + """Parse a given URI and return a ParseResult. + + This is a partial replacement of the standard library's urlparse function. + + :param str uri: The URI to be parsed. + :param str encoding: The encoding of the string provided. + :returns: A parsed URI + :rtype: :class:`~rfc3986.parseresult.ParseResult` + """ + return ParseResult.from_string(uri, encoding, strict=False) diff --git a/bin/urllib3/packages/rfc3986/builder.py b/bin/urllib3/packages/rfc3986/builder.py new file mode 100644 index 00000000..79342799 --- /dev/null +++ b/bin/urllib3/packages/rfc3986/builder.py @@ -0,0 +1,298 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2017 Ian Stapleton Cordasco +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Module containing the logic for the URIBuilder object.""" +from . import compat +from . import normalizers +from . import uri + + +class URIBuilder(object): + """Object to aid in building up a URI Reference from parts. + + .. note:: + + This object should be instantiated by the user, but it's recommended + that it is not provided with arguments. Instead, use the available + method to populate the fields. + + """ + + def __init__(self, scheme=None, userinfo=None, host=None, port=None, + path=None, query=None, fragment=None): + """Initialize our URI builder. + + :param str scheme: + (optional) + :param str userinfo: + (optional) + :param str host: + (optional) + :param int port: + (optional) + :param str path: + (optional) + :param str query: + (optional) + :param str fragment: + (optional) + """ + self.scheme = scheme + self.userinfo = userinfo + self.host = host + self.port = port + self.path = path + self.query = query + self.fragment = fragment + + def __repr__(self): + """Provide a convenient view of our builder object.""" + formatstr = ('URIBuilder(scheme={b.scheme}, userinfo={b.userinfo}, ' + 'host={b.host}, port={b.port}, path={b.path}, ' + 'query={b.query}, fragment={b.fragment})') + return formatstr.format(b=self) + + def add_scheme(self, scheme): + """Add a scheme to our builder object. + + After normalizing, this will generate a new URIBuilder instance with + the specified scheme and all other attributes the same. + + .. code-block:: python + + >>> URIBuilder().add_scheme('HTTPS') + URIBuilder(scheme='https', userinfo=None, host=None, port=None, + path=None, query=None, fragment=None) + + """ + scheme = normalizers.normalize_scheme(scheme) + return URIBuilder( + scheme=scheme, + userinfo=self.userinfo, + host=self.host, + port=self.port, + path=self.path, + query=self.query, + fragment=self.fragment, + ) + + def add_credentials(self, username, password): + """Add credentials as the userinfo portion of the URI. + + .. code-block:: python + + >>> URIBuilder().add_credentials('root', 's3crete') + URIBuilder(scheme=None, userinfo='root:s3crete', host=None, + port=None, path=None, query=None, fragment=None) + + >>> URIBuilder().add_credentials('root', None) + URIBuilder(scheme=None, userinfo='root', host=None, + port=None, path=None, query=None, fragment=None) + """ + if username is None: + raise ValueError('Username cannot be None') + userinfo = normalizers.normalize_username(username) + + if password is not None: + userinfo = '{}:{}'.format( + userinfo, + normalizers.normalize_password(password), + ) + + return URIBuilder( + scheme=self.scheme, + userinfo=userinfo, + host=self.host, + port=self.port, + path=self.path, + query=self.query, + fragment=self.fragment, + ) + + def add_host(self, host): + """Add hostname to the URI. + + .. code-block:: python + + >>> URIBuilder().add_host('google.com') + URIBuilder(scheme=None, userinfo=None, host='google.com', + port=None, path=None, query=None, fragment=None) + + """ + return URIBuilder( + scheme=self.scheme, + userinfo=self.userinfo, + host=normalizers.normalize_host(host), + port=self.port, + path=self.path, + query=self.query, + fragment=self.fragment, + ) + + def add_port(self, port): + """Add port to the URI. + + .. code-block:: python + + >>> URIBuilder().add_port(80) + URIBuilder(scheme=None, userinfo=None, host=None, port='80', + path=None, query=None, fragment=None) + + >>> URIBuilder().add_port(443) + URIBuilder(scheme=None, userinfo=None, host=None, port='443', + path=None, query=None, fragment=None) + + """ + port_int = int(port) + if port_int < 0: + raise ValueError( + 'ports are not allowed to be negative. You provided {}'.format( + port_int, + ) + ) + if port_int > 65535: + raise ValueError( + 'ports are not allowed to be larger than 65535. ' + 'You provided {}'.format( + port_int, + ) + ) + + return URIBuilder( + scheme=self.scheme, + userinfo=self.userinfo, + host=self.host, + port='{}'.format(port_int), + path=self.path, + query=self.query, + fragment=self.fragment, + ) + + def add_path(self, path): + """Add a path to the URI. + + .. code-block:: python + + >>> URIBuilder().add_path('sigmavirus24/rfc3985') + URIBuilder(scheme=None, userinfo=None, host=None, port=None, + path='/sigmavirus24/rfc3986', query=None, fragment=None) + + >>> URIBuilder().add_path('/checkout.php') + URIBuilder(scheme=None, userinfo=None, host=None, port=None, + path='/checkout.php', query=None, fragment=None) + + """ + if not path.startswith('/'): + path = '/{}'.format(path) + + return URIBuilder( + scheme=self.scheme, + userinfo=self.userinfo, + host=self.host, + port=self.port, + path=normalizers.normalize_path(path), + query=self.query, + fragment=self.fragment, + ) + + def add_query_from(self, query_items): + """Generate and add a query a dictionary or list of tuples. + + .. code-block:: python + + >>> URIBuilder().add_query_from({'a': 'b c'}) + URIBuilder(scheme=None, userinfo=None, host=None, port=None, + path=None, query='a=b+c', fragment=None) + + >>> URIBuilder().add_query_from([('a', 'b c')]) + URIBuilder(scheme=None, userinfo=None, host=None, port=None, + path=None, query='a=b+c', fragment=None) + + """ + query = normalizers.normalize_query(compat.urlencode(query_items)) + + return URIBuilder( + scheme=self.scheme, + userinfo=self.userinfo, + host=self.host, + port=self.port, + path=self.path, + query=query, + fragment=self.fragment, + ) + + def add_query(self, query): + """Add a pre-formated query string to the URI. + + .. code-block:: python + + >>> URIBuilder().add_query('a=b&c=d') + URIBuilder(scheme=None, userinfo=None, host=None, port=None, + path=None, query='a=b&c=d', fragment=None) + + """ + return URIBuilder( + scheme=self.scheme, + userinfo=self.userinfo, + host=self.host, + port=self.port, + path=self.path, + query=normalizers.normalize_query(query), + fragment=self.fragment, + ) + + def add_fragment(self, fragment): + """Add a fragment to the URI. + + .. code-block:: python + + >>> URIBuilder().add_fragment('section-2.6.1') + URIBuilder(scheme=None, userinfo=None, host=None, port=None, + path=None, query=None, fragment='section-2.6.1') + + """ + return URIBuilder( + scheme=self.scheme, + userinfo=self.userinfo, + host=self.host, + port=self.port, + path=self.path, + query=self.query, + fragment=normalizers.normalize_fragment(fragment), + ) + + def finalize(self): + """Create a URIReference from our builder. + + .. code-block:: python + + >>> URIBuilder().add_scheme('https').add_host('github.com' + ... ).add_path('sigmavirus24/rfc3986').finalize().unsplit() + 'https://github.com/sigmavirus24/rfc3986' + + >>> URIBuilder().add_scheme('https').add_host('github.com' + ... ).add_path('sigmavirus24/rfc3986').add_credentials( + ... 'sigmavirus24', 'not-re@l').finalize().unsplit() + 'https://sigmavirus24:not-re%40l@github.com/sigmavirus24/rfc3986' + + """ + return uri.URIReference( + self.scheme, + normalizers.normalize_authority( + (self.userinfo, self.host, self.port) + ), + self.path, + self.query, + self.fragment, + ) diff --git a/bin/urllib3/packages/rfc3986/compat.py b/bin/urllib3/packages/rfc3986/compat.py new file mode 100644 index 00000000..8968c384 --- /dev/null +++ b/bin/urllib3/packages/rfc3986/compat.py @@ -0,0 +1,54 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2014 Rackspace +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Compatibility module for Python 2 and 3 support.""" +import sys + +try: + from urllib.parse import quote as urlquote +except ImportError: # Python 2.x + from urllib import quote as urlquote + +try: + from urllib.parse import urlencode +except ImportError: # Python 2.x + from urllib import urlencode + +__all__ = ( + 'to_bytes', + 'to_str', + 'urlquote', + 'urlencode', +) + +PY3 = (3, 0) <= sys.version_info < (4, 0) +PY2 = (2, 6) <= sys.version_info < (2, 8) + + +if PY3: + unicode = str # Python 3.x + + +def to_str(b, encoding='utf-8'): + """Ensure that b is text in the specified encoding.""" + if hasattr(b, 'decode') and not isinstance(b, unicode): + b = b.decode(encoding) + return b + + +def to_bytes(s, encoding='utf-8'): + """Ensure that s is converted to bytes from the encoding.""" + if hasattr(s, 'encode') and not isinstance(s, bytes): + s = s.encode(encoding) + return s diff --git a/bin/urllib3/packages/rfc3986/exceptions.py b/bin/urllib3/packages/rfc3986/exceptions.py new file mode 100644 index 00000000..da8ca7cb --- /dev/null +++ b/bin/urllib3/packages/rfc3986/exceptions.py @@ -0,0 +1,118 @@ +# -*- coding: utf-8 -*- +"""Exceptions module for rfc3986.""" + +from . import compat + + +class RFC3986Exception(Exception): + """Base class for all rfc3986 exception classes.""" + + pass + + +class InvalidAuthority(RFC3986Exception): + """Exception when the authority string is invalid.""" + + def __init__(self, authority): + """Initialize the exception with the invalid authority.""" + super(InvalidAuthority, self).__init__( + u"The authority ({0}) is not valid.".format( + compat.to_str(authority))) + + +class InvalidPort(RFC3986Exception): + """Exception when the port is invalid.""" + + def __init__(self, port): + """Initialize the exception with the invalid port.""" + super(InvalidPort, self).__init__( + 'The port ("{0}") is not valid.'.format(port)) + + +class ResolutionError(RFC3986Exception): + """Exception to indicate a failure to resolve a URI.""" + + def __init__(self, uri): + """Initialize the error with the failed URI.""" + super(ResolutionError, self).__init__( + "{0} is not an absolute URI.".format(uri.unsplit())) + + +class ValidationError(RFC3986Exception): + """Exception raised during Validation of a URI.""" + + pass + + +class MissingComponentError(ValidationError): + """Exception raised when a required component is missing.""" + + def __init__(self, uri, *component_names): + """Initialize the error with the missing component name.""" + verb = 'was' + if len(component_names) > 1: + verb = 'were' + + self.uri = uri + self.components = sorted(component_names) + components = ', '.join(self.components) + super(MissingComponentError, self).__init__( + "{} {} required but missing".format(components, verb), + uri, + self.components, + ) + + +class UnpermittedComponentError(ValidationError): + """Exception raised when a component has an unpermitted value.""" + + def __init__(self, component_name, component_value, allowed_values): + """Initialize the error with the unpermitted component.""" + super(UnpermittedComponentError, self).__init__( + "{} was required to be one of {!r} but was {!r}".format( + component_name, list(sorted(allowed_values)), component_value, + ), + component_name, + component_value, + allowed_values, + ) + self.component_name = component_name + self.component_value = component_value + self.allowed_values = allowed_values + + +class PasswordForbidden(ValidationError): + """Exception raised when a URL has a password in the userinfo section.""" + + def __init__(self, uri): + """Initialize the error with the URI that failed validation.""" + unsplit = getattr(uri, 'unsplit', lambda: uri) + super(PasswordForbidden, self).__init__( + '"{}" contained a password when validation forbade it'.format( + unsplit() + ) + ) + self.uri = uri + + +class InvalidComponentsError(ValidationError): + """Exception raised when one or more components are invalid.""" + + def __init__(self, uri, *component_names): + """Initialize the error with the invalid component name(s).""" + verb = 'was' + if len(component_names) > 1: + verb = 'were' + + self.uri = uri + self.components = sorted(component_names) + components = ', '.join(self.components) + super(InvalidComponentsError, self).__init__( + "{} {} found to be invalid".format(components, verb), + uri, + self.components, + ) + + +class MissingDependencyError(RFC3986Exception): + """Exception raised when an IRI is encoded without the 'idna' module.""" diff --git a/bin/urllib3/packages/rfc3986/iri.py b/bin/urllib3/packages/rfc3986/iri.py new file mode 100644 index 00000000..9c01fe1c --- /dev/null +++ b/bin/urllib3/packages/rfc3986/iri.py @@ -0,0 +1,147 @@ +"""Module containing the implementation of the IRIReference class.""" +# -*- coding: utf-8 -*- +# Copyright (c) 2014 Rackspace +# Copyright (c) 2015 Ian Stapleton Cordasco +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. +from collections import namedtuple + +from . import compat +from . import exceptions +from . import misc +from . import normalizers +from . import uri + + +try: + import idna +except ImportError: # pragma: no cover + idna = None + + +class IRIReference(namedtuple('IRIReference', misc.URI_COMPONENTS), + uri.URIMixin): + """Immutable object representing a parsed IRI Reference. + + Can be encoded into an URIReference object via the procedure + specified in RFC 3987 Section 3.1 + + .. note:: + The IRI submodule is a new interface and may possibly change in + the future. Check for changes to the interface when upgrading. + """ + + slots = () + + def __new__(cls, scheme, authority, path, query, fragment, + encoding='utf-8'): + """Create a new IRIReference.""" + ref = super(IRIReference, cls).__new__( + cls, + scheme or None, + authority or None, + path or None, + query, + fragment) + ref.encoding = encoding + return ref + + def __eq__(self, other): + """Compare this reference to another.""" + other_ref = other + if isinstance(other, tuple): + other_ref = self.__class__(*other) + elif not isinstance(other, IRIReference): + try: + other_ref = self.__class__.from_string(other) + except TypeError: + raise TypeError( + 'Unable to compare {0}() to {1}()'.format( + type(self).__name__, type(other).__name__)) + + # See http://tools.ietf.org/html/rfc3986#section-6.2 + return tuple(self) == tuple(other_ref) + + def _match_subauthority(self): + return misc.ISUBAUTHORITY_MATCHER.match(self.authority) + + @classmethod + def from_string(cls, iri_string, encoding='utf-8'): + """Parse a IRI reference from the given unicode IRI string. + + :param str iri_string: Unicode IRI to be parsed into a reference. + :param str encoding: The encoding of the string provided + :returns: :class:`IRIReference` or subclass thereof + """ + iri_string = compat.to_str(iri_string, encoding) + + split_iri = misc.IRI_MATCHER.match(iri_string).groupdict() + return cls( + split_iri['scheme'], split_iri['authority'], + normalizers.encode_component(split_iri['path'], encoding), + normalizers.encode_component(split_iri['query'], encoding), + normalizers.encode_component(split_iri['fragment'], encoding), + encoding, + ) + + def encode(self, idna_encoder=None): # noqa: C901 + """Encode an IRIReference into a URIReference instance. + + If the ``idna`` module is installed or the ``rfc3986[idna]`` + extra is used then unicode characters in the IRI host + component will be encoded with IDNA2008. + + :param idna_encoder: + Function that encodes each part of the host component + If not given will raise an exception if the IRI + contains a host component. + :rtype: uri.URIReference + :returns: A URI reference + """ + authority = self.authority + if authority: + if idna_encoder is None: + if idna is None: # pragma: no cover + raise exceptions.MissingDependencyError( + "Could not import the 'idna' module " + "and the IRI hostname requires encoding" + ) + + def idna_encoder(name): + if any(ord(c) > 128 for c in name): + try: + return idna.encode(name.lower(), + strict=True, + std3_rules=True) + except idna.IDNAError: + raise exceptions.InvalidAuthority(self.authority) + return name + + authority = "" + if self.host: + authority = ".".join([compat.to_str(idna_encoder(part)) + for part in self.host.split(".")]) + + if self.userinfo is not None: + authority = (normalizers.encode_component( + self.userinfo, self.encoding) + '@' + authority) + + if self.port is not None: + authority += ":" + str(self.port) + + return uri.URIReference(self.scheme, + authority, + path=self.path, + query=self.query, + fragment=self.fragment, + encoding=self.encoding) diff --git a/bin/urllib3/packages/rfc3986/misc.py b/bin/urllib3/packages/rfc3986/misc.py new file mode 100644 index 00000000..b735e044 --- /dev/null +++ b/bin/urllib3/packages/rfc3986/misc.py @@ -0,0 +1,124 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2014 Rackspace +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" +Module containing compiled regular expressions and constants. + +This module contains important constants, patterns, and compiled regular +expressions for parsing and validating URIs and their components. +""" + +import re + +from . import abnf_regexp + +# These are enumerated for the named tuple used as a superclass of +# URIReference +URI_COMPONENTS = ['scheme', 'authority', 'path', 'query', 'fragment'] + +important_characters = { + 'generic_delimiters': abnf_regexp.GENERIC_DELIMITERS, + 'sub_delimiters': abnf_regexp.SUB_DELIMITERS, + # We need to escape the '*' in this case + 're_sub_delimiters': abnf_regexp.SUB_DELIMITERS_RE, + 'unreserved_chars': abnf_regexp.UNRESERVED_CHARS, + # We need to escape the '-' in this case: + 're_unreserved': abnf_regexp.UNRESERVED_RE, +} + +# For details about delimiters and reserved characters, see: +# http://tools.ietf.org/html/rfc3986#section-2.2 +GENERIC_DELIMITERS = abnf_regexp.GENERIC_DELIMITERS_SET +SUB_DELIMITERS = abnf_regexp.SUB_DELIMITERS_SET +RESERVED_CHARS = abnf_regexp.RESERVED_CHARS_SET +# For details about unreserved characters, see: +# http://tools.ietf.org/html/rfc3986#section-2.3 +UNRESERVED_CHARS = abnf_regexp.UNRESERVED_CHARS_SET +NON_PCT_ENCODED = abnf_regexp.NON_PCT_ENCODED_SET + +URI_MATCHER = re.compile(abnf_regexp.URL_PARSING_RE) + +SUBAUTHORITY_MATCHER = re.compile(( + '^(?:(?P{0})@)?' # userinfo + '(?P{1})' # host + ':?(?P{2})?$' # port + ).format(abnf_regexp.USERINFO_RE, + abnf_regexp.HOST_PATTERN, + abnf_regexp.PORT_RE)) + + +HOST_MATCHER = re.compile('^' + abnf_regexp.HOST_RE + '$') +IPv4_MATCHER = re.compile('^' + abnf_regexp.IPv4_RE + '$') +IPv6_MATCHER = re.compile(r'^\[' + abnf_regexp.IPv6_ADDRZ_RFC4007_RE + r'\]$') + +# Used by host validator +IPv6_NO_RFC4007_MATCHER = re.compile(r'^\[%s\]$' % ( + abnf_regexp.IPv6_ADDRZ_RE +)) + +# Matcher used to validate path components +PATH_MATCHER = re.compile(abnf_regexp.PATH_RE) + + +# ################################## +# Query and Fragment Matcher Section +# ################################## + +QUERY_MATCHER = re.compile(abnf_regexp.QUERY_RE) + +FRAGMENT_MATCHER = QUERY_MATCHER + +# Scheme validation, see: http://tools.ietf.org/html/rfc3986#section-3.1 +SCHEME_MATCHER = re.compile('^{0}$'.format(abnf_regexp.SCHEME_RE)) + +RELATIVE_REF_MATCHER = re.compile(r'^%s(\?%s)?(#%s)?$' % ( + abnf_regexp.RELATIVE_PART_RE, + abnf_regexp.QUERY_RE, + abnf_regexp.FRAGMENT_RE, +)) + +# See http://tools.ietf.org/html/rfc3986#section-4.3 +ABSOLUTE_URI_MATCHER = re.compile(r'^%s:%s(\?%s)?$' % ( + abnf_regexp.COMPONENT_PATTERN_DICT['scheme'], + abnf_regexp.HIER_PART_RE, + abnf_regexp.QUERY_RE[1:-1], +)) + +# ############### +# IRIs / RFC 3987 +# ############### + +IRI_MATCHER = re.compile(abnf_regexp.URL_PARSING_RE, re.UNICODE) + +ISUBAUTHORITY_MATCHER = re.compile(( + u'^(?:(?P{0})@)?' # iuserinfo + u'(?P{1})' # ihost + u':?(?P{2})?$' # port + ).format(abnf_regexp.IUSERINFO_RE, + abnf_regexp.IHOST_RE, + abnf_regexp.PORT_RE), re.UNICODE) + + +# Path merger as defined in http://tools.ietf.org/html/rfc3986#section-5.2.3 +def merge_paths(base_uri, relative_path): + """Merge a base URI's path with a relative URI's path.""" + if base_uri.path is None and base_uri.authority is not None: + return '/' + relative_path + else: + path = base_uri.path or '' + index = path.rfind('/') + return path[:index] + '/' + relative_path + + +UseExisting = object() diff --git a/bin/urllib3/packages/rfc3986/normalizers.py b/bin/urllib3/packages/rfc3986/normalizers.py new file mode 100644 index 00000000..2eb1bb36 --- /dev/null +++ b/bin/urllib3/packages/rfc3986/normalizers.py @@ -0,0 +1,167 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2014 Rackspace +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Module with functions to normalize components.""" +import re + +from . import compat +from . import misc + + +def normalize_scheme(scheme): + """Normalize the scheme component.""" + return scheme.lower() + + +def normalize_authority(authority): + """Normalize an authority tuple to a string.""" + userinfo, host, port = authority + result = '' + if userinfo: + result += normalize_percent_characters(userinfo) + '@' + if host: + result += normalize_host(host) + if port: + result += ':' + port + return result + + +def normalize_username(username): + """Normalize a username to make it safe to include in userinfo.""" + return compat.urlquote(username) + + +def normalize_password(password): + """Normalize a password to make safe for userinfo.""" + return compat.urlquote(password) + + +def normalize_host(host): + """Normalize a host string.""" + if misc.IPv6_MATCHER.match(host): + percent = host.find('%') + if percent != -1: + percent_25 = host.find('%25') + + # Replace RFC 4007 IPv6 Zone ID delimiter '%' with '%25' + # from RFC 6874. If the host is '[%25]' then we + # assume RFC 4007 and normalize to '[%2525]' + if percent_25 == -1 or percent < percent_25 or \ + (percent == percent_25 and percent_25 == len(host) - 4): + host = host.replace('%', '%25', 1) + + # Don't normalize the casing of the Zone ID + return host[:percent].lower() + host[percent:] + + return host.lower() + + +def normalize_path(path): + """Normalize the path string.""" + if not path: + return path + + path = normalize_percent_characters(path) + return remove_dot_segments(path) + + +def normalize_query(query): + """Normalize the query string.""" + if not query: + return query + return normalize_percent_characters(query) + + +def normalize_fragment(fragment): + """Normalize the fragment string.""" + if not fragment: + return fragment + return normalize_percent_characters(fragment) + + +PERCENT_MATCHER = re.compile('%[A-Fa-f0-9]{2}') + + +def normalize_percent_characters(s): + """All percent characters should be upper-cased. + + For example, ``"%3afoo%DF%ab"`` should be turned into ``"%3Afoo%DF%AB"``. + """ + matches = set(PERCENT_MATCHER.findall(s)) + for m in matches: + if not m.isupper(): + s = s.replace(m, m.upper()) + return s + + +def remove_dot_segments(s): + """Remove dot segments from the string. + + See also Section 5.2.4 of :rfc:`3986`. + """ + # See http://tools.ietf.org/html/rfc3986#section-5.2.4 for pseudo-code + segments = s.split('/') # Turn the path into a list of segments + output = [] # Initialize the variable to use to store output + + for segment in segments: + # '.' is the current directory, so ignore it, it is superfluous + if segment == '.': + continue + # Anything other than '..', should be appended to the output + elif segment != '..': + output.append(segment) + # In this case segment == '..', if we can, we should pop the last + # element + elif output: + output.pop() + + # If the path starts with '/' and the output is empty or the first string + # is non-empty + if s.startswith('/') and (not output or output[0]): + output.insert(0, '') + + # If the path starts with '/.' or '/..' ensure we add one more empty + # string to add a trailing '/' + if s.endswith(('/.', '/..')): + output.append('') + + return '/'.join(output) + + +def encode_component(uri_component, encoding): + """Encode the specific component in the provided encoding.""" + if uri_component is None: + return uri_component + + # Try to see if the component we're encoding is already percent-encoded + # so we can skip all '%' characters but still encode all others. + percent_encodings = len(PERCENT_MATCHER.findall( + compat.to_str(uri_component, encoding))) + + uri_bytes = compat.to_bytes(uri_component, encoding) + is_percent_encoded = percent_encodings == uri_bytes.count(b'%') + + encoded_uri = bytearray() + + for i in range(0, len(uri_bytes)): + # Will return a single character bytestring on both Python 2 & 3 + byte = uri_bytes[i:i+1] + byte_ord = ord(byte) + if ((is_percent_encoded and byte == b'%') + or (byte_ord < 128 and byte.decode() in misc.NON_PCT_ENCODED)): + encoded_uri.extend(byte) + continue + encoded_uri.extend('%{0:02x}'.format(byte_ord).encode().upper()) + + return encoded_uri.decode(encoding) diff --git a/bin/urllib3/packages/rfc3986/parseresult.py b/bin/urllib3/packages/rfc3986/parseresult.py new file mode 100644 index 00000000..0a734566 --- /dev/null +++ b/bin/urllib3/packages/rfc3986/parseresult.py @@ -0,0 +1,385 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2015 Ian Stapleton Cordasco +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Module containing the urlparse compatibility logic.""" +from collections import namedtuple + +from . import compat +from . import exceptions +from . import misc +from . import normalizers +from . import uri + +__all__ = ('ParseResult', 'ParseResultBytes') + +PARSED_COMPONENTS = ('scheme', 'userinfo', 'host', 'port', 'path', 'query', + 'fragment') + + +class ParseResultMixin(object): + def _generate_authority(self, attributes): + # I swear I did not align the comparisons below. That's just how they + # happened to align based on pep8 and attribute lengths. + userinfo, host, port = (attributes[p] + for p in ('userinfo', 'host', 'port')) + if (self.userinfo != userinfo or + self.host != host or + self.port != port): + if port: + port = '{0}'.format(port) + return normalizers.normalize_authority( + (compat.to_str(userinfo, self.encoding), + compat.to_str(host, self.encoding), + port) + ) + return self.authority + + def geturl(self): + """Shim to match the standard library method.""" + return self.unsplit() + + @property + def hostname(self): + """Shim to match the standard library.""" + return self.host + + @property + def netloc(self): + """Shim to match the standard library.""" + return self.authority + + @property + def params(self): + """Shim to match the standard library.""" + return self.query + + +class ParseResult(namedtuple('ParseResult', PARSED_COMPONENTS), + ParseResultMixin): + """Implementation of urlparse compatibility class. + + This uses the URIReference logic to handle compatibility with the + urlparse.ParseResult class. + """ + + slots = () + + def __new__(cls, scheme, userinfo, host, port, path, query, fragment, + uri_ref, encoding='utf-8'): + """Create a new ParseResult.""" + parse_result = super(ParseResult, cls).__new__( + cls, + scheme or None, + userinfo or None, + host, + port or None, + path or None, + query, + fragment) + parse_result.encoding = encoding + parse_result.reference = uri_ref + return parse_result + + @classmethod + def from_parts(cls, scheme=None, userinfo=None, host=None, port=None, + path=None, query=None, fragment=None, encoding='utf-8'): + """Create a ParseResult instance from its parts.""" + authority = '' + if userinfo is not None: + authority += userinfo + '@' + if host is not None: + authority += host + if port is not None: + authority += ':{0}'.format(port) + uri_ref = uri.URIReference(scheme=scheme, + authority=authority, + path=path, + query=query, + fragment=fragment, + encoding=encoding).normalize() + userinfo, host, port = authority_from(uri_ref, strict=True) + return cls(scheme=uri_ref.scheme, + userinfo=userinfo, + host=host, + port=port, + path=uri_ref.path, + query=uri_ref.query, + fragment=uri_ref.fragment, + uri_ref=uri_ref, + encoding=encoding) + + @classmethod + def from_string(cls, uri_string, encoding='utf-8', strict=True, + lazy_normalize=True): + """Parse a URI from the given unicode URI string. + + :param str uri_string: Unicode URI to be parsed into a reference. + :param str encoding: The encoding of the string provided + :param bool strict: Parse strictly according to :rfc:`3986` if True. + If False, parse similarly to the standard library's urlparse + function. + :returns: :class:`ParseResult` or subclass thereof + """ + reference = uri.URIReference.from_string(uri_string, encoding) + if not lazy_normalize: + reference = reference.normalize() + userinfo, host, port = authority_from(reference, strict) + + return cls(scheme=reference.scheme, + userinfo=userinfo, + host=host, + port=port, + path=reference.path, + query=reference.query, + fragment=reference.fragment, + uri_ref=reference, + encoding=encoding) + + @property + def authority(self): + """Return the normalized authority.""" + return self.reference.authority + + def copy_with(self, scheme=misc.UseExisting, userinfo=misc.UseExisting, + host=misc.UseExisting, port=misc.UseExisting, + path=misc.UseExisting, query=misc.UseExisting, + fragment=misc.UseExisting): + """Create a copy of this instance replacing with specified parts.""" + attributes = zip(PARSED_COMPONENTS, + (scheme, userinfo, host, port, path, query, fragment)) + attrs_dict = {} + for name, value in attributes: + if value is misc.UseExisting: + value = getattr(self, name) + attrs_dict[name] = value + authority = self._generate_authority(attrs_dict) + ref = self.reference.copy_with(scheme=attrs_dict['scheme'], + authority=authority, + path=attrs_dict['path'], + query=attrs_dict['query'], + fragment=attrs_dict['fragment']) + return ParseResult(uri_ref=ref, encoding=self.encoding, **attrs_dict) + + def encode(self, encoding=None): + """Convert to an instance of ParseResultBytes.""" + encoding = encoding or self.encoding + attrs = dict( + zip(PARSED_COMPONENTS, + (attr.encode(encoding) if hasattr(attr, 'encode') else attr + for attr in self))) + return ParseResultBytes( + uri_ref=self.reference, + encoding=encoding, + **attrs + ) + + def unsplit(self, use_idna=False): + """Create a URI string from the components. + + :returns: The parsed URI reconstituted as a string. + :rtype: str + """ + parse_result = self + if use_idna and self.host: + hostbytes = self.host.encode('idna') + host = hostbytes.decode(self.encoding) + parse_result = self.copy_with(host=host) + return parse_result.reference.unsplit() + + +class ParseResultBytes(namedtuple('ParseResultBytes', PARSED_COMPONENTS), + ParseResultMixin): + """Compatibility shim for the urlparse.ParseResultBytes object.""" + + def __new__(cls, scheme, userinfo, host, port, path, query, fragment, + uri_ref, encoding='utf-8', lazy_normalize=True): + """Create a new ParseResultBytes instance.""" + parse_result = super(ParseResultBytes, cls).__new__( + cls, + scheme or None, + userinfo or None, + host, + port or None, + path or None, + query or None, + fragment or None) + parse_result.encoding = encoding + parse_result.reference = uri_ref + parse_result.lazy_normalize = lazy_normalize + return parse_result + + @classmethod + def from_parts(cls, scheme=None, userinfo=None, host=None, port=None, + path=None, query=None, fragment=None, encoding='utf-8', + lazy_normalize=True): + """Create a ParseResult instance from its parts.""" + authority = '' + if userinfo is not None: + authority += userinfo + '@' + if host is not None: + authority += host + if port is not None: + authority += ':{0}'.format(int(port)) + uri_ref = uri.URIReference(scheme=scheme, + authority=authority, + path=path, + query=query, + fragment=fragment, + encoding=encoding) + if not lazy_normalize: + uri_ref = uri_ref.normalize() + to_bytes = compat.to_bytes + userinfo, host, port = authority_from(uri_ref, strict=True) + return cls(scheme=to_bytes(scheme, encoding), + userinfo=to_bytes(userinfo, encoding), + host=to_bytes(host, encoding), + port=port, + path=to_bytes(path, encoding), + query=to_bytes(query, encoding), + fragment=to_bytes(fragment, encoding), + uri_ref=uri_ref, + encoding=encoding, + lazy_normalize=lazy_normalize) + + @classmethod + def from_string(cls, uri_string, encoding='utf-8', strict=True, + lazy_normalize=True): + """Parse a URI from the given unicode URI string. + + :param str uri_string: Unicode URI to be parsed into a reference. + :param str encoding: The encoding of the string provided + :param bool strict: Parse strictly according to :rfc:`3986` if True. + If False, parse similarly to the standard library's urlparse + function. + :returns: :class:`ParseResultBytes` or subclass thereof + """ + reference = uri.URIReference.from_string(uri_string, encoding) + if not lazy_normalize: + reference = reference.normalize() + userinfo, host, port = authority_from(reference, strict) + + to_bytes = compat.to_bytes + return cls(scheme=to_bytes(reference.scheme, encoding), + userinfo=to_bytes(userinfo, encoding), + host=to_bytes(host, encoding), + port=port, + path=to_bytes(reference.path, encoding), + query=to_bytes(reference.query, encoding), + fragment=to_bytes(reference.fragment, encoding), + uri_ref=reference, + encoding=encoding, + lazy_normalize=lazy_normalize) + + @property + def authority(self): + """Return the normalized authority.""" + return self.reference.authority.encode(self.encoding) + + def copy_with(self, scheme=misc.UseExisting, userinfo=misc.UseExisting, + host=misc.UseExisting, port=misc.UseExisting, + path=misc.UseExisting, query=misc.UseExisting, + fragment=misc.UseExisting, lazy_normalize=True): + """Create a copy of this instance replacing with specified parts.""" + attributes = zip(PARSED_COMPONENTS, + (scheme, userinfo, host, port, path, query, fragment)) + attrs_dict = {} + for name, value in attributes: + if value is misc.UseExisting: + value = getattr(self, name) + if not isinstance(value, bytes) and hasattr(value, 'encode'): + value = value.encode(self.encoding) + attrs_dict[name] = value + authority = self._generate_authority(attrs_dict) + to_str = compat.to_str + ref = self.reference.copy_with( + scheme=to_str(attrs_dict['scheme'], self.encoding), + authority=to_str(authority, self.encoding), + path=to_str(attrs_dict['path'], self.encoding), + query=to_str(attrs_dict['query'], self.encoding), + fragment=to_str(attrs_dict['fragment'], self.encoding) + ) + if not lazy_normalize: + ref = ref.normalize() + return ParseResultBytes( + uri_ref=ref, + encoding=self.encoding, + lazy_normalize=lazy_normalize, + **attrs_dict + ) + + def unsplit(self, use_idna=False): + """Create a URI bytes object from the components. + + :returns: The parsed URI reconstituted as a string. + :rtype: bytes + """ + parse_result = self + if use_idna and self.host: + # self.host is bytes, to encode to idna, we need to decode it + # first + host = self.host.decode(self.encoding) + hostbytes = host.encode('idna') + parse_result = self.copy_with(host=hostbytes) + if self.lazy_normalize: + parse_result = parse_result.copy_with(lazy_normalize=False) + uri = parse_result.reference.unsplit() + return uri.encode(self.encoding) + + +def split_authority(authority): + # Initialize our expected return values + userinfo = host = port = None + # Initialize an extra var we may need to use + extra_host = None + # Set-up rest in case there is no userinfo portion + rest = authority + + if '@' in authority: + userinfo, rest = authority.rsplit('@', 1) + + # Handle IPv6 host addresses + if rest.startswith('['): + host, rest = rest.split(']', 1) + host += ']' + + if ':' in rest: + extra_host, port = rest.split(':', 1) + elif not host and rest: + host = rest + + if extra_host and not host: + host = extra_host + + return userinfo, host, port + + +def authority_from(reference, strict): + try: + subauthority = reference.authority_info() + except exceptions.InvalidAuthority: + if strict: + raise + userinfo, host, port = split_authority(reference.authority) + else: + # Thanks to Richard Barrell for this idea: + # https://twitter.com/0x2ba22e11/status/617338811975139328 + userinfo, host, port = (subauthority.get(p) + for p in ('userinfo', 'host', 'port')) + + if port: + try: + port = int(port) + except ValueError: + raise exceptions.InvalidPort(port) + return userinfo, host, port diff --git a/bin/urllib3/packages/rfc3986/uri.py b/bin/urllib3/packages/rfc3986/uri.py new file mode 100644 index 00000000..d1d71505 --- /dev/null +++ b/bin/urllib3/packages/rfc3986/uri.py @@ -0,0 +1,153 @@ +"""Module containing the implementation of the URIReference class.""" +# -*- coding: utf-8 -*- +# Copyright (c) 2014 Rackspace +# Copyright (c) 2015 Ian Stapleton Cordasco +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. +from collections import namedtuple + +from . import compat +from . import misc +from . import normalizers +from ._mixin import URIMixin + + +class URIReference(namedtuple('URIReference', misc.URI_COMPONENTS), URIMixin): + """Immutable object representing a parsed URI Reference. + + .. note:: + + This class is not intended to be directly instantiated by the user. + + This object exposes attributes for the following components of a + URI: + + - scheme + - authority + - path + - query + - fragment + + .. attribute:: scheme + + The scheme that was parsed for the URI Reference. For example, + ``http``, ``https``, ``smtp``, ``imap``, etc. + + .. attribute:: authority + + Component of the URI that contains the user information, host, + and port sub-components. For example, + ``google.com``, ``127.0.0.1:5000``, ``username@[::1]``, + ``username:password@example.com:443``, etc. + + .. attribute:: path + + The path that was parsed for the given URI Reference. For example, + ``/``, ``/index.php``, etc. + + .. attribute:: query + + The query component for a given URI Reference. For example, ``a=b``, + ``a=b%20c``, ``a=b+c``, ``a=b,c=d,e=%20f``, etc. + + .. attribute:: fragment + + The fragment component of a URI. For example, ``section-3.1``. + + This class also provides extra attributes for easier access to information + like the subcomponents of the authority component. + + .. attribute:: userinfo + + The user information parsed from the authority. + + .. attribute:: host + + The hostname, IPv4, or IPv6 adddres parsed from the authority. + + .. attribute:: port + + The port parsed from the authority. + """ + + slots = () + + def __new__(cls, scheme, authority, path, query, fragment, + encoding='utf-8'): + """Create a new URIReference.""" + ref = super(URIReference, cls).__new__( + cls, + scheme or None, + authority or None, + path or None, + query, + fragment) + ref.encoding = encoding + return ref + + __hash__ = tuple.__hash__ + + def __eq__(self, other): + """Compare this reference to another.""" + other_ref = other + if isinstance(other, tuple): + other_ref = URIReference(*other) + elif not isinstance(other, URIReference): + try: + other_ref = URIReference.from_string(other) + except TypeError: + raise TypeError( + 'Unable to compare URIReference() to {0}()'.format( + type(other).__name__)) + + # See http://tools.ietf.org/html/rfc3986#section-6.2 + naive_equality = tuple(self) == tuple(other_ref) + return naive_equality or self.normalized_equality(other_ref) + + def normalize(self): + """Normalize this reference as described in Section 6.2.2. + + This is not an in-place normalization. Instead this creates a new + URIReference. + + :returns: A new reference object with normalized components. + :rtype: URIReference + """ + # See http://tools.ietf.org/html/rfc3986#section-6.2.2 for logic in + # this method. + return URIReference(normalizers.normalize_scheme(self.scheme or ''), + normalizers.normalize_authority( + (self.userinfo, self.host, self.port)), + normalizers.normalize_path(self.path or ''), + normalizers.normalize_query(self.query), + normalizers.normalize_fragment(self.fragment), + self.encoding) + + @classmethod + def from_string(cls, uri_string, encoding='utf-8'): + """Parse a URI reference from the given unicode URI string. + + :param str uri_string: Unicode URI to be parsed into a reference. + :param str encoding: The encoding of the string provided + :returns: :class:`URIReference` or subclass thereof + """ + uri_string = compat.to_str(uri_string, encoding) + + split_uri = misc.URI_MATCHER.match(uri_string).groupdict() + return cls( + split_uri['scheme'], split_uri['authority'], + normalizers.encode_component(split_uri['path'], encoding), + normalizers.encode_component(split_uri['query'], encoding), + normalizers.encode_component(split_uri['fragment'], encoding), + encoding, + ) diff --git a/bin/urllib3/packages/rfc3986/validators.py b/bin/urllib3/packages/rfc3986/validators.py new file mode 100644 index 00000000..7fc97215 --- /dev/null +++ b/bin/urllib3/packages/rfc3986/validators.py @@ -0,0 +1,450 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2017 Ian Stapleton Cordasco +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Module containing the validation logic for rfc3986.""" +from . import exceptions +from . import misc +from . import normalizers + + +class Validator(object): + """Object used to configure validation of all objects in rfc3986. + + .. versionadded:: 1.0 + + Example usage:: + + >>> from rfc3986 import api, validators + >>> uri = api.uri_reference('https://github.com/') + >>> validator = validators.Validator().require_presence_of( + ... 'scheme', 'host', 'path', + ... ).allow_schemes( + ... 'http', 'https', + ... ).allow_hosts( + ... '127.0.0.1', 'github.com', + ... ) + >>> validator.validate(uri) + >>> invalid_uri = rfc3986.uri_reference('imap://mail.google.com') + >>> validator.validate(invalid_uri) + Traceback (most recent call last): + ... + rfc3986.exceptions.MissingComponentError: ('path was required but + missing', URIReference(scheme=u'imap', authority=u'mail.google.com', + path=None, query=None, fragment=None), ['path']) + + """ + + COMPONENT_NAMES = frozenset([ + 'scheme', + 'userinfo', + 'host', + 'port', + 'path', + 'query', + 'fragment', + ]) + + def __init__(self): + """Initialize our default validations.""" + self.allowed_schemes = set() + self.allowed_hosts = set() + self.allowed_ports = set() + self.allow_password = True + self.required_components = { + 'scheme': False, + 'userinfo': False, + 'host': False, + 'port': False, + 'path': False, + 'query': False, + 'fragment': False, + } + self.validated_components = self.required_components.copy() + + def allow_schemes(self, *schemes): + """Require the scheme to be one of the provided schemes. + + .. versionadded:: 1.0 + + :param schemes: + Schemes, without ``://`` that are allowed. + :returns: + The validator instance. + :rtype: + Validator + """ + for scheme in schemes: + self.allowed_schemes.add(normalizers.normalize_scheme(scheme)) + return self + + def allow_hosts(self, *hosts): + """Require the host to be one of the provided hosts. + + .. versionadded:: 1.0 + + :param hosts: + Hosts that are allowed. + :returns: + The validator instance. + :rtype: + Validator + """ + for host in hosts: + self.allowed_hosts.add(normalizers.normalize_host(host)) + return self + + def allow_ports(self, *ports): + """Require the port to be one of the provided ports. + + .. versionadded:: 1.0 + + :param ports: + Ports that are allowed. + :returns: + The validator instance. + :rtype: + Validator + """ + for port in ports: + port_int = int(port, base=10) + if 0 <= port_int <= 65535: + self.allowed_ports.add(port) + return self + + def allow_use_of_password(self): + """Allow passwords to be present in the URI. + + .. versionadded:: 1.0 + + :returns: + The validator instance. + :rtype: + Validator + """ + self.allow_password = True + return self + + def forbid_use_of_password(self): + """Prevent passwords from being included in the URI. + + .. versionadded:: 1.0 + + :returns: + The validator instance. + :rtype: + Validator + """ + self.allow_password = False + return self + + def check_validity_of(self, *components): + """Check the validity of the components provided. + + This can be specified repeatedly. + + .. versionadded:: 1.1 + + :param components: + Names of components from :attr:`Validator.COMPONENT_NAMES`. + :returns: + The validator instance. + :rtype: + Validator + """ + components = [c.lower() for c in components] + for component in components: + if component not in self.COMPONENT_NAMES: + raise ValueError( + '"{}" is not a valid component'.format(component) + ) + self.validated_components.update({ + component: True for component in components + }) + return self + + def require_presence_of(self, *components): + """Require the components provided. + + This can be specified repeatedly. + + .. versionadded:: 1.0 + + :param components: + Names of components from :attr:`Validator.COMPONENT_NAMES`. + :returns: + The validator instance. + :rtype: + Validator + """ + components = [c.lower() for c in components] + for component in components: + if component not in self.COMPONENT_NAMES: + raise ValueError( + '"{}" is not a valid component'.format(component) + ) + self.required_components.update({ + component: True for component in components + }) + return self + + def validate(self, uri): + """Check a URI for conditions specified on this validator. + + .. versionadded:: 1.0 + + :param uri: + Parsed URI to validate. + :type uri: + rfc3986.uri.URIReference + :raises MissingComponentError: + When a required component is missing. + :raises UnpermittedComponentError: + When a component is not one of those allowed. + :raises PasswordForbidden: + When a password is present in the userinfo component but is + not permitted by configuration. + :raises InvalidComponentsError: + When a component was found to be invalid. + """ + if not self.allow_password: + check_password(uri) + + required_components = [ + component + for component, required in self.required_components.items() + if required + ] + validated_components = [ + component + for component, required in self.validated_components.items() + if required + ] + if required_components: + ensure_required_components_exist(uri, required_components) + if validated_components: + ensure_components_are_valid(uri, validated_components) + + ensure_one_of(self.allowed_schemes, uri, 'scheme') + ensure_one_of(self.allowed_hosts, uri, 'host') + ensure_one_of(self.allowed_ports, uri, 'port') + + +def check_password(uri): + """Assert that there is no password present in the uri.""" + userinfo = uri.userinfo + if not userinfo: + return + credentials = userinfo.split(':', 1) + if len(credentials) <= 1: + return + raise exceptions.PasswordForbidden(uri) + + +def ensure_one_of(allowed_values, uri, attribute): + """Assert that the uri's attribute is one of the allowed values.""" + value = getattr(uri, attribute) + if value is not None and allowed_values and value not in allowed_values: + raise exceptions.UnpermittedComponentError( + attribute, value, allowed_values, + ) + + +def ensure_required_components_exist(uri, required_components): + """Assert that all required components are present in the URI.""" + missing_components = sorted([ + component + for component in required_components + if getattr(uri, component) is None + ]) + if missing_components: + raise exceptions.MissingComponentError(uri, *missing_components) + + +def is_valid(value, matcher, require): + """Determine if a value is valid based on the provided matcher. + + :param str value: + Value to validate. + :param matcher: + Compiled regular expression to use to validate the value. + :param require: + Whether or not the value is required. + """ + if require: + return (value is not None + and matcher.match(value)) + + # require is False and value is not None + return value is None or matcher.match(value) + + +def authority_is_valid(authority, host=None, require=False): + """Determine if the authority string is valid. + + :param str authority: + The authority to validate. + :param str host: + (optional) The host portion of the authority to validate. + :param bool require: + (optional) Specify if authority must not be None. + :returns: + ``True`` if valid, ``False`` otherwise + :rtype: + bool + """ + validated = is_valid(authority, misc.SUBAUTHORITY_MATCHER, require) + if validated and host is not None: + return host_is_valid(host, require) + return validated + + +def host_is_valid(host, require=False): + """Determine if the host string is valid. + + :param str host: + The host to validate. + :param bool require: + (optional) Specify if host must not be None. + :returns: + ``True`` if valid, ``False`` otherwise + :rtype: + bool + """ + validated = is_valid(host, misc.HOST_MATCHER, require) + if validated and host is not None and misc.IPv4_MATCHER.match(host): + return valid_ipv4_host_address(host) + elif validated and host is not None and misc.IPv6_MATCHER.match(host): + return misc.IPv6_NO_RFC4007_MATCHER.match(host) is not None + return validated + + +def scheme_is_valid(scheme, require=False): + """Determine if the scheme is valid. + + :param str scheme: + The scheme string to validate. + :param bool require: + (optional) Set to ``True`` to require the presence of a scheme. + :returns: + ``True`` if the scheme is valid. ``False`` otherwise. + :rtype: + bool + """ + return is_valid(scheme, misc.SCHEME_MATCHER, require) + + +def path_is_valid(path, require=False): + """Determine if the path component is valid. + + :param str path: + The path string to validate. + :param bool require: + (optional) Set to ``True`` to require the presence of a path. + :returns: + ``True`` if the path is valid. ``False`` otherwise. + :rtype: + bool + """ + return is_valid(path, misc.PATH_MATCHER, require) + + +def query_is_valid(query, require=False): + """Determine if the query component is valid. + + :param str query: + The query string to validate. + :param bool require: + (optional) Set to ``True`` to require the presence of a query. + :returns: + ``True`` if the query is valid. ``False`` otherwise. + :rtype: + bool + """ + return is_valid(query, misc.QUERY_MATCHER, require) + + +def fragment_is_valid(fragment, require=False): + """Determine if the fragment component is valid. + + :param str fragment: + The fragment string to validate. + :param bool require: + (optional) Set to ``True`` to require the presence of a fragment. + :returns: + ``True`` if the fragment is valid. ``False`` otherwise. + :rtype: + bool + """ + return is_valid(fragment, misc.FRAGMENT_MATCHER, require) + + +def valid_ipv4_host_address(host): + """Determine if the given host is a valid IPv4 address.""" + # If the host exists, and it might be IPv4, check each byte in the + # address. + return all([0 <= int(byte, base=10) <= 255 for byte in host.split('.')]) + + +_COMPONENT_VALIDATORS = { + 'scheme': scheme_is_valid, + 'path': path_is_valid, + 'query': query_is_valid, + 'fragment': fragment_is_valid, +} + +_SUBAUTHORITY_VALIDATORS = set(['userinfo', 'host', 'port']) + + +def subauthority_component_is_valid(uri, component): + """Determine if the userinfo, host, and port are valid.""" + try: + subauthority_dict = uri.authority_info() + except exceptions.InvalidAuthority: + return False + + # If we can parse the authority into sub-components and we're not + # validating the port, we can assume it's valid. + if component == 'host': + return host_is_valid(subauthority_dict['host']) + elif component != 'port': + return True + + try: + port = int(subauthority_dict['port']) + except TypeError: + # If the port wasn't provided it'll be None and int(None) raises a + # TypeError + return True + + return (0 <= port <= 65535) + + +def ensure_components_are_valid(uri, validated_components): + """Assert that all components are valid in the URI.""" + invalid_components = set([]) + for component in validated_components: + if component in _SUBAUTHORITY_VALIDATORS: + if not subauthority_component_is_valid(uri, component): + invalid_components.add(component) + # Python's peephole optimizer means that while this continue *is* + # actually executed, coverage.py cannot detect that. See also, + # https://bitbucket.org/ned/coveragepy/issues/198/continue-marked-as-not-covered + continue # nocov: Python 2.7, 3.3, 3.4 + + validator = _COMPONENT_VALIDATORS[component] + if not validator(getattr(uri, component)): + invalid_components.add(component) + + if invalid_components: + raise exceptions.InvalidComponentsError(uri, *invalid_components) diff --git a/bin/urllib3/packages/six.pyc b/bin/urllib3/packages/six.pyc deleted file mode 100644 index a229bcaa..00000000 Binary files a/bin/urllib3/packages/six.pyc and /dev/null differ diff --git a/bin/urllib3/packages/ssl_match_hostname/__init__.pyc b/bin/urllib3/packages/ssl_match_hostname/__init__.pyc deleted file mode 100644 index 6f379f9b..00000000 Binary files a/bin/urllib3/packages/ssl_match_hostname/__init__.pyc and /dev/null differ diff --git a/bin/urllib3/packages/ssl_match_hostname/_implementation.pyc b/bin/urllib3/packages/ssl_match_hostname/_implementation.pyc deleted file mode 100644 index 72afcc2f..00000000 Binary files a/bin/urllib3/packages/ssl_match_hostname/_implementation.pyc and /dev/null differ diff --git a/bin/urllib3/poolmanager.py b/bin/urllib3/poolmanager.py index fe5491cf..a6ade6e9 100644 --- a/bin/urllib3/poolmanager.py +++ b/bin/urllib3/poolmanager.py @@ -7,6 +7,7 @@ from .connectionpool import HTTPConnectionPool, HTTPSConnectionPool from .connectionpool import port_by_scheme from .exceptions import LocationValueError, MaxRetryError, ProxySchemeUnknown +from .packages import six from .packages.six.moves.urllib.parse import urljoin from .request import RequestMethods from .util.url import parse_url @@ -19,7 +20,8 @@ log = logging.getLogger(__name__) SSL_KEYWORDS = ('key_file', 'cert_file', 'cert_reqs', 'ca_certs', - 'ssl_version', 'ca_cert_dir', 'ssl_context') + 'ssl_version', 'ca_cert_dir', 'ssl_context', + 'key_password') # All known keyword arguments that could be provided to the pool manager, its # pools, or the underlying connections. This is used to construct a pool key. @@ -33,6 +35,7 @@ 'key_block', # bool 'key_source_address', # str 'key_key_file', # str + 'key_key_password', # str 'key_cert_file', # str 'key_cert_reqs', # str 'key_ca_certs', # str @@ -47,7 +50,7 @@ 'key__socks_options', # dict 'key_assert_hostname', # bool or string 'key_assert_fingerprint', # str - 'key_server_hostname', #str + 'key_server_hostname', # str ) #: The namedtuple class used to construct keys for the connection pool. @@ -342,8 +345,10 @@ def urlopen(self, method, url, redirect=True, **kw): # conn.is_same_host() which may use socket.gethostbyname() in the future. if (retries.remove_headers_on_redirect and not conn.is_same_host(redirect_location)): - for header in retries.remove_headers_on_redirect: - kw['headers'].pop(header, None) + headers = list(six.iterkeys(kw['headers'])) + for header in headers: + if header.lower() in retries.remove_headers_on_redirect: + kw['headers'].pop(header, None) try: retries = retries.increment(method, url, response=response, _pool=conn) diff --git a/bin/urllib3/poolmanager.pyc b/bin/urllib3/poolmanager.pyc deleted file mode 100644 index 1b2424ec..00000000 Binary files a/bin/urllib3/poolmanager.pyc and /dev/null differ diff --git a/bin/urllib3/request.pyc b/bin/urllib3/request.pyc deleted file mode 100644 index bf7b5bb0..00000000 Binary files a/bin/urllib3/request.pyc and /dev/null differ diff --git a/bin/urllib3/response.py b/bin/urllib3/response.py index c112690b..4f857932 100644 --- a/bin/urllib3/response.py +++ b/bin/urllib3/response.py @@ -6,6 +6,11 @@ from socket import timeout as SocketTimeout from socket import error as SocketError +try: + import brotli +except ImportError: + brotli = None + from ._collections import HTTPHeaderDict from .exceptions import ( BodyNotHttplibCompatible, ProtocolError, DecodeError, ReadTimeoutError, @@ -90,6 +95,25 @@ def decompress(self, data): self._obj = zlib.decompressobj(16 + zlib.MAX_WBITS) +if brotli is not None: + class BrotliDecoder(object): + # Supports both 'brotlipy' and 'Brotli' packages + # since they share an import name. The top branches + # are for 'brotlipy' and bottom branches for 'Brotli' + def __init__(self): + self._obj = brotli.Decompressor() + + def decompress(self, data): + if hasattr(self._obj, 'decompress'): + return self._obj.decompress(data) + return self._obj.process(data) + + def flush(self): + if hasattr(self._obj, 'flush'): + return self._obj.flush() + return b'' + + class MultiDecoder(object): """ From RFC7231: @@ -118,6 +142,9 @@ def _get_decoder(mode): if mode == 'gzip': return GzipDecoder() + if brotli is not None and mode == 'br': + return BrotliDecoder() + return DeflateDecoder() @@ -155,6 +182,8 @@ class is also compatible with the Python standard library's :mod:`io` """ CONTENT_DECODERS = ['gzip', 'deflate'] + if brotli is not None: + CONTENT_DECODERS += ['br'] REDIRECT_STATUSES = [301, 302, 303, 307, 308] def __init__(self, body='', headers=None, status=0, version=0, reason=None, @@ -311,24 +340,32 @@ def _init_decoder(self): if content_encoding in self.CONTENT_DECODERS: self._decoder = _get_decoder(content_encoding) elif ',' in content_encoding: - encodings = [e.strip() for e in content_encoding.split(',') if e.strip() in self.CONTENT_DECODERS] + encodings = [ + e.strip() for e in content_encoding.split(',') + if e.strip() in self.CONTENT_DECODERS] if len(encodings): self._decoder = _get_decoder(content_encoding) + DECODER_ERROR_CLASSES = (IOError, zlib.error) + if brotli is not None: + DECODER_ERROR_CLASSES += (brotli.error,) + def _decode(self, data, decode_content, flush_decoder): """ Decode the data passed in and potentially flush the decoder. """ + if not decode_content: + return data + try: - if decode_content and self._decoder: + if self._decoder: data = self._decoder.decompress(data) - except (IOError, zlib.error) as e: + except self.DECODER_ERROR_CLASSES as e: content_encoding = self.headers.get('content-encoding', '').lower() raise DecodeError( "Received response with content-encoding: %s, but " "failed to decode it." % content_encoding, e) - - if flush_decoder and decode_content: + if flush_decoder: data += self._flush_decoder() return data @@ -508,9 +545,10 @@ def from_httplib(ResponseCls, r, **response_kw): headers = r.msg if not isinstance(headers, HTTPHeaderDict): - if PY3: # Python 3 + if PY3: headers = HTTPHeaderDict(headers.items()) - else: # Python 2 + else: + # Python 2.7 headers = HTTPHeaderDict.from_httplib(headers) # HTTPResponse objects in Python 3 don't have a .strict attribute @@ -703,3 +741,20 @@ def geturl(self): return self.retries.history[-1].redirect_location else: return self._request_url + + def __iter__(self): + buffer = [b""] + for chunk in self.stream(decode_content=True): + if b"\n" in chunk: + chunk = chunk.split(b"\n") + yield b"".join(buffer) + chunk[0] + b"\n" + for x in chunk[1:-1]: + yield x + b"\n" + if chunk[-1]: + buffer = [chunk[-1]] + else: + buffer = [] + else: + buffer.append(chunk) + if buffer: + yield b"".join(buffer) diff --git a/bin/urllib3/response.pyc b/bin/urllib3/response.pyc deleted file mode 100644 index 11175737..00000000 Binary files a/bin/urllib3/response.pyc and /dev/null differ diff --git a/bin/urllib3/util/__init__.py b/bin/urllib3/util/__init__.py index 2f2770b6..2914bb46 100644 --- a/bin/urllib3/util/__init__.py +++ b/bin/urllib3/util/__init__.py @@ -12,6 +12,7 @@ resolve_cert_reqs, resolve_ssl_version, ssl_wrap_socket, + PROTOCOL_TLS, ) from .timeout import ( current_time, @@ -35,6 +36,7 @@ 'IS_PYOPENSSL', 'IS_SECURETRANSPORT', 'SSLContext', + 'PROTOCOL_TLS', 'Retry', 'Timeout', 'Url', diff --git a/bin/urllib3/util/__init__.pyc b/bin/urllib3/util/__init__.pyc deleted file mode 100644 index 29865377..00000000 Binary files a/bin/urllib3/util/__init__.pyc and /dev/null differ diff --git a/bin/urllib3/util/connection.pyc b/bin/urllib3/util/connection.pyc deleted file mode 100644 index 459cbf95..00000000 Binary files a/bin/urllib3/util/connection.pyc and /dev/null differ diff --git a/bin/urllib3/util/queue.pyc b/bin/urllib3/util/queue.pyc deleted file mode 100644 index a5aa497d..00000000 Binary files a/bin/urllib3/util/queue.pyc and /dev/null differ diff --git a/bin/urllib3/util/request.py b/bin/urllib3/util/request.py index 3ddfcd55..280b8530 100644 --- a/bin/urllib3/util/request.py +++ b/bin/urllib3/util/request.py @@ -5,6 +5,13 @@ from ..exceptions import UnrewindableBodyError ACCEPT_ENCODING = 'gzip,deflate' +try: + import brotli as _unused_module_brotli # noqa: F401 +except ImportError: + pass +else: + ACCEPT_ENCODING += ',br' + _FAILEDTELL = object() diff --git a/bin/urllib3/util/request.pyc b/bin/urllib3/util/request.pyc deleted file mode 100644 index bf36fc9c..00000000 Binary files a/bin/urllib3/util/request.pyc and /dev/null differ diff --git a/bin/urllib3/util/response.pyc b/bin/urllib3/util/response.pyc deleted file mode 100644 index 4122d7b4..00000000 Binary files a/bin/urllib3/util/response.pyc and /dev/null differ diff --git a/bin/urllib3/util/retry.py b/bin/urllib3/util/retry.py index e7d0abd6..02429ee8 100644 --- a/bin/urllib3/util/retry.py +++ b/bin/urllib3/util/retry.py @@ -179,7 +179,8 @@ def __init__(self, total=10, connect=None, read=None, redirect=None, status=None self.raise_on_status = raise_on_status self.history = history or tuple() self.respect_retry_after_header = respect_retry_after_header - self.remove_headers_on_redirect = remove_headers_on_redirect + self.remove_headers_on_redirect = frozenset([ + h.lower() for h in remove_headers_on_redirect]) def new(self, **kw): params = dict( diff --git a/bin/urllib3/util/retry.pyc b/bin/urllib3/util/retry.pyc deleted file mode 100644 index f37a9fd0..00000000 Binary files a/bin/urllib3/util/retry.pyc and /dev/null differ diff --git a/bin/urllib3/util/ssl_.py b/bin/urllib3/util/ssl_.py index 64ea192a..f271ce93 100644 --- a/bin/urllib3/util/ssl_.py +++ b/bin/urllib3/util/ssl_.py @@ -2,13 +2,14 @@ import errno import warnings import hmac -import socket +import re from binascii import hexlify, unhexlify from hashlib import md5, sha1, sha256 from ..exceptions import SSLError, InsecurePlatformWarning, SNIMissingWarning from ..packages import six +from ..packages.rfc3986 import abnf_regexp SSLContext = None @@ -40,14 +41,33 @@ def _const_compare_digest_backport(a, b): _const_compare_digest = getattr(hmac, 'compare_digest', _const_compare_digest_backport) +# Borrow rfc3986's regular expressions for IPv4 +# and IPv6 addresses for use in is_ipaddress() +_IP_ADDRESS_REGEX = re.compile( + r'^(?:%s|%s|%s)$' % ( + abnf_regexp.IPv4_RE, + abnf_regexp.IPv6_RE, + abnf_regexp.IPv6_ADDRZ_RFC4007_RE + ) +) try: # Test for SSL features import ssl - from ssl import wrap_socket, CERT_NONE, PROTOCOL_SSLv23 + from ssl import wrap_socket, CERT_REQUIRED from ssl import HAS_SNI # Has SNI? except ImportError: pass +try: # Platform-specific: Python 3.6 + from ssl import PROTOCOL_TLS + PROTOCOL_SSLv23 = PROTOCOL_TLS +except ImportError: + try: + from ssl import PROTOCOL_SSLv23 as PROTOCOL_TLS + PROTOCOL_SSLv23 = PROTOCOL_TLS + except ImportError: + PROTOCOL_SSLv23 = PROTOCOL_TLS = 2 + try: from ssl import OP_NO_SSLv2, OP_NO_SSLv3, OP_NO_COMPRESSION @@ -56,25 +76,6 @@ def _const_compare_digest_backport(a, b): OP_NO_COMPRESSION = 0x20000 -# Python 2.7 doesn't have inet_pton on non-Linux so we fallback on inet_aton in -# those cases. This means that we can only detect IPv4 addresses in this case. -if hasattr(socket, 'inet_pton'): - inet_pton = socket.inet_pton -else: - # Maybe we can use ipaddress if the user has urllib3[secure]? - try: - import ipaddress - - def inet_pton(_, host): - if isinstance(host, bytes): - host = host.decode('ascii') - return ipaddress.ip_address(host) - - except ImportError: # Platform-specific: Non-Linux - def inet_pton(_, host): - return socket.inet_aton(host) - - # A secure default. # Sources for more information on TLS ciphers: # @@ -83,37 +84,35 @@ def inet_pton(_, host): # - https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/ # # The general intent is: -# - Prefer TLS 1.3 cipher suites # - prefer cipher suites that offer perfect forward secrecy (DHE/ECDHE), # - prefer ECDHE over DHE for better performance, # - prefer any AES-GCM and ChaCha20 over any AES-CBC for better performance and # security, # - prefer AES-GCM over ChaCha20 because hardware-accelerated AES is common, -# - disable NULL authentication, MD5 MACs and DSS for security reasons. +# - disable NULL authentication, MD5 MACs, DSS, and other +# insecure ciphers for security reasons. +# - NOTE: TLS 1.3 cipher suites are managed through a different interface +# not exposed by CPython (yet!) and are enabled by default if they're available. DEFAULT_CIPHERS = ':'.join([ - 'TLS13-AES-256-GCM-SHA384', - 'TLS13-CHACHA20-POLY1305-SHA256', - 'TLS13-AES-128-GCM-SHA256', + 'ECDHE+AESGCM', + 'ECDHE+CHACHA20', + 'DHE+AESGCM', + 'DHE+CHACHA20', 'ECDH+AESGCM', - 'ECDH+CHACHA20', 'DH+AESGCM', - 'DH+CHACHA20', - 'ECDH+AES256', - 'DH+AES256', - 'ECDH+AES128', + 'ECDH+AES', 'DH+AES', 'RSA+AESGCM', 'RSA+AES', '!aNULL', '!eNULL', '!MD5', + '!DSS', ]) try: from ssl import SSLContext # Modern SSL? except ImportError: - import sys - class SSLContext(object): # Platform-specific: Python 2 def __init__(self, protocol_version): self.protocol = protocol_version @@ -199,7 +198,7 @@ def resolve_cert_reqs(candidate): constant which can directly be passed to wrap_socket. """ if candidate is None: - return CERT_NONE + return CERT_REQUIRED if isinstance(candidate, str): res = getattr(ssl, candidate, None) @@ -215,7 +214,7 @@ def resolve_ssl_version(candidate): like resolve_cert_reqs """ if candidate is None: - return PROTOCOL_SSLv23 + return PROTOCOL_TLS if isinstance(candidate, str): res = getattr(ssl, candidate, None) @@ -261,7 +260,7 @@ def create_urllib3_context(ssl_version=None, cert_reqs=None, Constructed SSLContext object with specified options :rtype: SSLContext """ - context = SSLContext(ssl_version or ssl.PROTOCOL_SSLv23) + context = SSLContext(ssl_version or PROTOCOL_TLS) context.set_ciphers(ciphers or DEFAULT_CIPHERS) @@ -291,7 +290,7 @@ def create_urllib3_context(ssl_version=None, cert_reqs=None, def ssl_wrap_socket(sock, keyfile=None, certfile=None, cert_reqs=None, ca_certs=None, server_hostname=None, ssl_version=None, ciphers=None, ssl_context=None, - ca_cert_dir=None): + ca_cert_dir=None, key_password=None): """ All arguments except for server_hostname, ssl_context, and ca_cert_dir have the same meaning as they do when using :func:`ssl.wrap_socket`. @@ -307,6 +306,8 @@ def ssl_wrap_socket(sock, keyfile=None, certfile=None, cert_reqs=None, A directory containing CA certificates in multiple separate files, as supported by OpenSSL's -CApath flag or the capath argument to SSLContext.load_verify_locations(). + :param key_password: + Optional password if the keyfile is encrypted. """ context = ssl_context if context is None: @@ -327,12 +328,22 @@ def ssl_wrap_socket(sock, keyfile=None, certfile=None, cert_reqs=None, if e.errno == errno.ENOENT: raise SSLError(e) raise - elif getattr(context, 'load_default_certs', None) is not None: + + elif ssl_context is None and hasattr(context, 'load_default_certs'): # try to load OS default certs; works well on Windows (require Python3.4+) context.load_default_certs() + # Attempt to detect if we get the goofy behavior of the + # keyfile being encrypted and OpenSSL asking for the + # passphrase via the terminal and instead error out. + if keyfile and key_password is None and _is_key_file_encrypted(keyfile): + raise SSLError("Client private key is encrypted, password is required") + if certfile: - context.load_cert_chain(certfile, keyfile) + if key_password is None: + context.load_cert_chain(certfile, keyfile) + else: + context.load_cert_chain(certfile, keyfile, key_password) # If we detect server_hostname is an IP address then the SNI # extension should not be used according to RFC3546 Section 3.1 @@ -358,7 +369,8 @@ def ssl_wrap_socket(sock, keyfile=None, certfile=None, cert_reqs=None, def is_ipaddress(hostname): - """Detects whether the hostname given is an IP address. + """Detects whether the hostname given is an IPv4 or IPv6 address. + Also detects IPv6 addresses with Zone IDs. :param str hostname: Hostname to examine. :return: True if the hostname is an IP address, False otherwise. @@ -366,16 +378,15 @@ def is_ipaddress(hostname): if six.PY3 and isinstance(hostname, bytes): # IDN A-label bytes are ASCII compatible. hostname = hostname.decode('ascii') + return _IP_ADDRESS_REGEX.match(hostname) is not None - families = [socket.AF_INET] - if hasattr(socket, 'AF_INET6'): - families.append(socket.AF_INET6) - for af in families: - try: - inet_pton(af, hostname) - except (socket.error, ValueError, OSError): - pass - else: - return True +def _is_key_file_encrypted(key_file): + """Detects if a key file is encrypted or not.""" + with open(key_file, 'r') as f: + for line in f: + # Look for Proc-Type: 4,ENCRYPTED + if 'ENCRYPTED' in line: + return True + return False diff --git a/bin/urllib3/util/ssl_.pyc b/bin/urllib3/util/ssl_.pyc deleted file mode 100644 index cf458d29..00000000 Binary files a/bin/urllib3/util/ssl_.pyc and /dev/null differ diff --git a/bin/urllib3/util/timeout.py b/bin/urllib3/util/timeout.py index cec817e6..a4d004a8 100644 --- a/bin/urllib3/util/timeout.py +++ b/bin/urllib3/util/timeout.py @@ -131,7 +131,8 @@ def _validate_timeout(cls, value, name): raise ValueError("Attempted to set %s timeout to %s, but the " "timeout cannot be set to a value less " "than or equal to 0." % (name, value)) - except TypeError: # Python 3 + except TypeError: + # Python 3 raise ValueError("Timeout value %s was %s, but it must be an " "int, float or None." % (name, value)) diff --git a/bin/urllib3/util/timeout.pyc b/bin/urllib3/util/timeout.pyc deleted file mode 100644 index 3cce880c..00000000 Binary files a/bin/urllib3/util/timeout.pyc and /dev/null differ diff --git a/bin/urllib3/util/url.py b/bin/urllib3/util/url.py index 6b6f9968..0bc6ced7 100644 --- a/bin/urllib3/util/url.py +++ b/bin/urllib3/util/url.py @@ -1,7 +1,12 @@ from __future__ import absolute_import +import re from collections import namedtuple from ..exceptions import LocationParseError +from ..packages import six, rfc3986 +from ..packages.rfc3986.exceptions import RFC3986Exception, ValidationError +from ..packages.rfc3986.validators import Validator +from ..packages.rfc3986 import abnf_regexp, normalizers, compat, misc url_attrs = ['scheme', 'auth', 'host', 'port', 'path', 'query', 'fragment'] @@ -10,10 +15,16 @@ # urllib3 infers URLs without a scheme (None) to be http. NORMALIZABLE_SCHEMES = ('http', 'https', None) +# Regex for detecting URLs with schemes. RFC 3986 Section 3.1 +SCHEME_REGEX = re.compile(r"^(?:[a-zA-Z][a-zA-Z0-9+\-]*:|/)") + +PATH_CHARS = abnf_regexp.UNRESERVED_CHARS_SET | abnf_regexp.SUB_DELIMITERS_SET | {':', '@', '/'} +QUERY_CHARS = FRAGMENT_CHARS = PATH_CHARS | {'?'} + class Url(namedtuple('Url', url_attrs)): """ - Datastructure for representing an HTTP URL. Used as a return value for + Data structure for representing an HTTP URL. Used as a return value for :func:`parse_url`. Both the scheme and host are normalized as they are both case-insensitive according to RFC 3986. """ @@ -23,10 +34,8 @@ def __new__(cls, scheme=None, auth=None, host=None, port=None, path=None, query=None, fragment=None): if path and not path.startswith('/'): path = '/' + path - if scheme: + if scheme is not None: scheme = scheme.lower() - if host and scheme in NORMALIZABLE_SCHEMES: - host = host.lower() return super(Url, cls).__new__(cls, scheme, auth, host, port, path, query, fragment) @@ -72,23 +81,23 @@ def url(self): 'http://username:password@host.com:80/path?query#fragment' """ scheme, auth, host, port, path, query, fragment = self - url = '' + url = u'' # We use "is not None" we want things to happen with empty strings (or 0 port) if scheme is not None: - url += scheme + '://' + url += scheme + u'://' if auth is not None: - url += auth + '@' + url += auth + u'@' if host is not None: url += host if port is not None: - url += ':' + str(port) + url += u':' + str(port) if path is not None: url += path if query is not None: - url += '?' + query + url += u'?' + query if fragment is not None: - url += '#' + fragment + url += u'#' + fragment return url @@ -98,6 +107,8 @@ def __str__(self): def split_first(s, delims): """ + .. deprecated:: 1.25 + Given a string and an iterable of delimiters, split on the first found delimiter. Return two split parts and the matched delimiter. @@ -129,10 +140,44 @@ def split_first(s, delims): return s[:min_idx], s[min_idx + 1:], min_delim +def _encode_invalid_chars(component, allowed_chars, encoding='utf-8'): + """Percent-encodes a URI component without reapplying + onto an already percent-encoded component. Based on + rfc3986.normalizers.encode_component() + """ + if component is None: + return component + + # Try to see if the component we're encoding is already percent-encoded + # so we can skip all '%' characters but still encode all others. + percent_encodings = len(normalizers.PERCENT_MATCHER.findall( + compat.to_str(component, encoding))) + + uri_bytes = component.encode('utf-8', 'surrogatepass') + is_percent_encoded = percent_encodings == uri_bytes.count(b'%') + + encoded_component = bytearray() + + for i in range(0, len(uri_bytes)): + # Will return a single character bytestring on both Python 2 & 3 + byte = uri_bytes[i:i+1] + byte_ord = ord(byte) + if ((is_percent_encoded and byte == b'%') + or (byte_ord < 128 and byte.decode() in allowed_chars)): + encoded_component.extend(byte) + continue + encoded_component.extend('%{0:02x}'.format(byte_ord).encode().upper()) + + return encoded_component.decode(encoding) + + def parse_url(url): """ Given a url, return a parsed :class:`.Url` namedtuple. Best-effort is performed to parse incomplete urls. Fields not provided will be None. + This parser is RFC 3986 compliant. + + :param str url: URL to parse into a :class:`.Url` namedtuple. Partly backwards-compatible with :mod:`urlparse`. @@ -145,81 +190,95 @@ def parse_url(url): >>> parse_url('/foo?bar') Url(scheme=None, host=None, port=None, path='/foo', query='bar', ...) """ - - # While this code has overlap with stdlib's urlparse, it is much - # simplified for our needs and less annoying. - # Additionally, this implementations does silly things to be optimal - # on CPython. - if not url: # Empty return Url() - scheme = None - auth = None - host = None - port = None - path = None - fragment = None - query = None - - # Scheme - if '://' in url: - scheme, url = url.split('://', 1) - - # Find the earliest Authority Terminator - # (http://tools.ietf.org/html/rfc3986#section-3.2) - url, path_, delim = split_first(url, ['/', '?', '#']) - - if delim: - # Reassemble the path - path = delim + path_ - - # Auth - if '@' in url: - # Last '@' denotes end of auth part - auth, url = url.rsplit('@', 1) - - # IPv6 - if url and url[0] == '[': - host, url = url.split(']', 1) - host += ']' - - # Port - if ':' in url: - _host, port = url.split(':', 1) - - if not host: - host = _host - - if port: - # If given, ports must be integers. No whitespace, no plus or - # minus prefixes, no non-integer digits such as ^2 (superscript). - if not port.isdigit(): - raise LocationParseError(url) - try: - port = int(port) - except ValueError: - raise LocationParseError(url) - else: - # Blank ports are cool, too. (rfc3986#section-3.2.3) - port = None + is_string = not isinstance(url, six.binary_type) - elif not host and url: - host = url + # RFC 3986 doesn't like URLs that have a host but don't start + # with a scheme and we support URLs like that so we need to + # detect that problem and add an empty scheme indication. + # We don't get hurt on path-only URLs here as it's stripped + # off and given an empty scheme anyways. + if not SCHEME_REGEX.search(url): + url = "//" + url + def idna_encode(name): + if name and any([ord(x) > 128 for x in name]): + try: + import idna + except ImportError: + raise LocationParseError("Unable to parse URL without the 'idna' module") + try: + return idna.encode(name.lower(), strict=True, std3_rules=True) + except idna.IDNAError: + raise LocationParseError(u"Name '%s' is not a valid IDNA label" % name) + return name + + try: + split_iri = misc.IRI_MATCHER.match(compat.to_str(url)).groupdict() + iri_ref = rfc3986.IRIReference( + split_iri['scheme'], split_iri['authority'], + _encode_invalid_chars(split_iri['path'], PATH_CHARS), + _encode_invalid_chars(split_iri['query'], QUERY_CHARS), + _encode_invalid_chars(split_iri['fragment'], FRAGMENT_CHARS) + ) + has_authority = iri_ref.authority is not None + uri_ref = iri_ref.encode(idna_encoder=idna_encode) + except (ValueError, RFC3986Exception): + return six.raise_from(LocationParseError(url), None) + + # rfc3986 strips the authority if it's invalid + if has_authority and uri_ref.authority is None: + raise LocationParseError(url) + + # Only normalize schemes we understand to not break http+unix + # or other schemes that don't follow RFC 3986. + if uri_ref.scheme is None or uri_ref.scheme.lower() in NORMALIZABLE_SCHEMES: + uri_ref = uri_ref.normalize() + + # Validate all URIReference components and ensure that all + # components that were set before are still set after + # normalization has completed. + validator = Validator() + try: + validator.check_validity_of( + *validator.COMPONENT_NAMES + ).validate(uri_ref) + except ValidationError: + return six.raise_from(LocationParseError(url), None) + + # For the sake of backwards compatibility we put empty + # string values for path if there are any defined values + # beyond the path in the URL. + # TODO: Remove this when we break backwards compatibility. + path = uri_ref.path if not path: - return Url(scheme, auth, host, port, path, query, fragment) - - # Fragment - if '#' in path: - path, fragment = path.split('#', 1) - - # Query - if '?' in path: - path, query = path.split('?', 1) - - return Url(scheme, auth, host, port, path, query, fragment) + if (uri_ref.query is not None + or uri_ref.fragment is not None): + path = "" + else: + path = None + + # Ensure that each part of the URL is a `str` for + # backwards compatibility. + def to_input_type(x): + if x is None: + return None + elif not is_string and not isinstance(x, six.binary_type): + return x.encode('utf-8') + return x + + return Url( + scheme=to_input_type(uri_ref.scheme), + auth=to_input_type(uri_ref.userinfo), + host=to_input_type(uri_ref.host), + port=int(uri_ref.port) if uri_ref.port is not None else None, + path=to_input_type(path), + query=to_input_type(uri_ref.query), + fragment=to_input_type(uri_ref.fragment) + ) def get_host(url): diff --git a/bin/urllib3/util/url.pyc b/bin/urllib3/util/url.pyc deleted file mode 100644 index c8993734..00000000 Binary files a/bin/urllib3/util/url.pyc and /dev/null differ diff --git a/bin/urllib3/util/wait.pyc b/bin/urllib3/util/wait.pyc deleted file mode 100644 index ca6e1d4a..00000000 Binary files a/bin/urllib3/util/wait.pyc and /dev/null differ diff --git a/bin/vim b/bin/vim new file mode 100755 index 00000000..245810a5 Binary files /dev/null and b/bin/vim differ diff --git a/bin/wget b/bin/wget index c77b12a6..f4905e6d 100755 Binary files a/bin/wget and b/bin/wget differ diff --git a/bin/yaml/__init__.py b/bin/yaml/__init__.py index 25d03d6e..5df0bb5f 100644 --- a/bin/yaml/__init__.py +++ b/bin/yaml/__init__.py @@ -1,21 +1,60 @@ -from error import * +from .error import * -from tokens import * -from events import * -from nodes import * +from .tokens import * +from .events import * +from .nodes import * -from loader import * -from dumper import * - -__version__ = '3.13' +from .loader import * +from .dumper import * +__version__ = '5.1' try: - from cyaml import * + from .cyaml import * __with_libyaml__ = True except ImportError: __with_libyaml__ = False +import io + +#------------------------------------------------------------------------------ +# Warnings control +#------------------------------------------------------------------------------ + +# 'Global' warnings state: +_warnings_enabled = { + 'YAMLLoadWarning': True, +} + +# Get or set global warnings' state +def warnings(settings=None): + if settings is None: + return _warnings_enabled + + if type(settings) is dict: + for key in settings: + if key in _warnings_enabled: + _warnings_enabled[key] = settings[key] + +# Warn when load() is called without Loader=... +class YAMLLoadWarning(RuntimeWarning): + pass + +def load_warning(method): + if _warnings_enabled['YAMLLoadWarning'] is False: + return + + import warnings + + message = ( + "calling yaml.%s() without Loader=... is deprecated, as the " + "default Loader is unsafe. Please read " + "https://msg.pyyaml.org/load for full details." + ) % method + + warnings.warn(message, YAMLLoadWarning, stacklevel=3) + +#------------------------------------------------------------------------------ def scan(stream, Loader=Loader): """ Scan a YAML stream and produce scanning tokens. @@ -61,22 +100,30 @@ def compose_all(stream, Loader=Loader): finally: loader.dispose() -def load(stream, Loader=Loader): +def load(stream, Loader=None): """ Parse the first YAML document in a stream and produce the corresponding Python object. """ + if Loader is None: + load_warning('load') + Loader = FullLoader + loader = Loader(stream) try: return loader.get_single_data() finally: loader.dispose() -def load_all(stream, Loader=Loader): +def load_all(stream, Loader=None): """ Parse all YAML documents in a stream and produce corresponding Python objects. """ + if Loader is None: + load_warning('load_all') + Loader = FullLoader + loader = Loader(stream) try: while loader.check_data(): @@ -84,11 +131,33 @@ def load_all(stream, Loader=Loader): finally: loader.dispose() +def full_load(stream): + """ + Parse the first YAML document in a stream + and produce the corresponding Python object. + + Resolve all tags except those known to be + unsafe on untrusted input. + """ + return load(stream, FullLoader) + +def full_load_all(stream): + """ + Parse all YAML documents in a stream + and produce corresponding Python objects. + + Resolve all tags except those known to be + unsafe on untrusted input. + """ + return load_all(stream, FullLoader) + def safe_load(stream): """ Parse the first YAML document in a stream and produce the corresponding Python object. - Resolve only basic YAML tags. + + Resolve only basic YAML tags. This is known + to be safe for untrusted input. """ return load(stream, SafeLoader) @@ -96,10 +165,32 @@ def safe_load_all(stream): """ Parse all YAML documents in a stream and produce corresponding Python objects. - Resolve only basic YAML tags. + + Resolve only basic YAML tags. This is known + to be safe for untrusted input. """ return load_all(stream, SafeLoader) +def unsafe_load(stream): + """ + Parse the first YAML document in a stream + and produce the corresponding Python object. + + Resolve all tags, even those known to be + unsafe on untrusted input. + """ + return load(stream, UnsafeLoader) + +def unsafe_load_all(stream): + """ + Parse all YAML documents in a stream + and produce corresponding Python objects. + + Resolve all tags, even those known to be + unsafe on untrusted input. + """ + return load_all(stream, UnsafeLoader) + def emit(events, stream=None, Dumper=Dumper, canonical=None, indent=None, width=None, allow_unicode=None, line_break=None): @@ -109,8 +200,7 @@ def emit(events, stream=None, Dumper=Dumper, """ getvalue = None if stream is None: - from StringIO import StringIO - stream = StringIO() + stream = io.StringIO() getvalue = stream.getvalue dumper = Dumper(stream, canonical=canonical, indent=indent, width=width, allow_unicode=allow_unicode, line_break=line_break) @@ -125,7 +215,7 @@ def emit(events, stream=None, Dumper=Dumper, def serialize_all(nodes, stream=None, Dumper=Dumper, canonical=None, indent=None, width=None, allow_unicode=None, line_break=None, - encoding='utf-8', explicit_start=None, explicit_end=None, + encoding=None, explicit_start=None, explicit_end=None, version=None, tags=None): """ Serialize a sequence of representation trees into a YAML stream. @@ -134,10 +224,9 @@ def serialize_all(nodes, stream=None, Dumper=Dumper, getvalue = None if stream is None: if encoding is None: - from StringIO import StringIO + stream = io.StringIO() else: - from cStringIO import StringIO - stream = StringIO() + stream = io.BytesIO() getvalue = stream.getvalue dumper = Dumper(stream, canonical=canonical, indent=indent, width=width, allow_unicode=allow_unicode, line_break=line_break, @@ -161,11 +250,11 @@ def serialize(node, stream=None, Dumper=Dumper, **kwds): return serialize_all([node], stream, Dumper=Dumper, **kwds) def dump_all(documents, stream=None, Dumper=Dumper, - default_style=None, default_flow_style=None, + default_style=None, default_flow_style=False, canonical=None, indent=None, width=None, allow_unicode=None, line_break=None, - encoding='utf-8', explicit_start=None, explicit_end=None, - version=None, tags=None): + encoding=None, explicit_start=None, explicit_end=None, + version=None, tags=None, sort_keys=True): """ Serialize a sequence of Python objects into a YAML stream. If stream is None, return the produced string instead. @@ -173,17 +262,16 @@ def dump_all(documents, stream=None, Dumper=Dumper, getvalue = None if stream is None: if encoding is None: - from StringIO import StringIO + stream = io.StringIO() else: - from cStringIO import StringIO - stream = StringIO() + stream = io.BytesIO() getvalue = stream.getvalue dumper = Dumper(stream, default_style=default_style, default_flow_style=default_flow_style, canonical=canonical, indent=indent, width=width, allow_unicode=allow_unicode, line_break=line_break, encoding=encoding, version=version, tags=tags, - explicit_start=explicit_start, explicit_end=explicit_end) + explicit_start=explicit_start, explicit_end=explicit_end, sort_keys=sort_keys) try: dumper.open() for data in documents: @@ -283,13 +371,12 @@ def __init__(cls, name, bases, kwds): cls.yaml_loader.add_constructor(cls.yaml_tag, cls.from_yaml) cls.yaml_dumper.add_representer(cls, cls.to_yaml) -class YAMLObject(object): +class YAMLObject(metaclass=YAMLObjectMetaclass): """ An object that can dump itself to a YAML stream and load itself from a YAML stream. """ - __metaclass__ = YAMLObjectMetaclass __slots__ = () # no direct instantiation, so allow immutable subclasses yaml_loader = Loader @@ -298,18 +385,18 @@ class YAMLObject(object): yaml_tag = None yaml_flow_style = None + @classmethod def from_yaml(cls, loader, node): """ Convert a representation node to a Python object. """ return loader.construct_yaml_object(node, cls) - from_yaml = classmethod(from_yaml) + @classmethod def to_yaml(cls, dumper, data): """ Convert a Python object to a representation node. """ return dumper.represent_yaml_object(cls.yaml_tag, data, cls, flow_style=cls.yaml_flow_style) - to_yaml = classmethod(to_yaml) diff --git a/bin/yaml/__init__.pyc b/bin/yaml/__init__.pyc deleted file mode 100644 index d206bb4f..00000000 Binary files a/bin/yaml/__init__.pyc and /dev/null differ diff --git a/bin/yaml/composer.py b/bin/yaml/composer.py index 06e5ac78..6d15cb40 100644 --- a/bin/yaml/composer.py +++ b/bin/yaml/composer.py @@ -1,14 +1,14 @@ __all__ = ['Composer', 'ComposerError'] -from error import MarkedYAMLError -from events import * -from nodes import * +from .error import MarkedYAMLError +from .events import * +from .nodes import * class ComposerError(MarkedYAMLError): pass -class Composer(object): +class Composer: def __init__(self): self.anchors = {} @@ -66,15 +66,15 @@ def compose_node(self, parent, index): anchor = event.anchor if anchor not in self.anchors: raise ComposerError(None, None, "found undefined alias %r" - % anchor.encode('utf-8'), event.start_mark) + % anchor, event.start_mark) return self.anchors[anchor] event = self.peek_event() anchor = event.anchor if anchor is not None: if anchor in self.anchors: - raise ComposerError("found duplicate anchor %r; first occurence" - % anchor.encode('utf-8'), self.anchors[anchor].start_mark, - "second occurence", event.start_mark) + raise ComposerError("found duplicate anchor %r; first occurrence" + % anchor, self.anchors[anchor].start_mark, + "second occurrence", event.start_mark) self.descend_resolver(parent, index) if self.check_event(ScalarEvent): node = self.compose_scalar_node(anchor) @@ -88,7 +88,7 @@ def compose_node(self, parent, index): def compose_scalar_node(self, anchor): event = self.get_event() tag = event.tag - if tag is None or tag == u'!': + if tag is None or tag == '!': tag = self.resolve(ScalarNode, event.value, event.implicit) node = ScalarNode(tag, event.value, event.start_mark, event.end_mark, style=event.style) @@ -99,7 +99,7 @@ def compose_scalar_node(self, anchor): def compose_sequence_node(self, anchor): start_event = self.get_event() tag = start_event.tag - if tag is None or tag == u'!': + if tag is None or tag == '!': tag = self.resolve(SequenceNode, None, start_event.implicit) node = SequenceNode(tag, [], start_event.start_mark, None, @@ -117,7 +117,7 @@ def compose_sequence_node(self, anchor): def compose_mapping_node(self, anchor): start_event = self.get_event() tag = start_event.tag - if tag is None or tag == u'!': + if tag is None or tag == '!': tag = self.resolve(MappingNode, None, start_event.implicit) node = MappingNode(tag, [], start_event.start_mark, None, diff --git a/bin/yaml/composer.pyc b/bin/yaml/composer.pyc deleted file mode 100644 index 12e7e5a3..00000000 Binary files a/bin/yaml/composer.pyc and /dev/null differ diff --git a/bin/yaml/constructor.py b/bin/yaml/constructor.py index 635faac3..34fc1ae9 100644 --- a/bin/yaml/constructor.py +++ b/bin/yaml/constructor.py @@ -1,18 +1,22 @@ -__all__ = ['BaseConstructor', 'SafeConstructor', 'Constructor', - 'ConstructorError'] +__all__ = [ + 'BaseConstructor', + 'SafeConstructor', + 'FullConstructor', + 'UnsafeConstructor', + 'Constructor', + 'ConstructorError' +] -from error import * -from nodes import * +from .error import * +from .nodes import * -import datetime - -import binascii, re, sys, types +import collections.abc, datetime, base64, binascii, re, sys, types class ConstructorError(MarkedYAMLError): pass -class BaseConstructor(object): +class BaseConstructor: yaml_constructors = {} yaml_multi_constructors = {} @@ -90,7 +94,7 @@ def construct_object(self, node, deep=False): data = constructor(self, tag_suffix, node) if isinstance(data, types.GeneratorType): generator = data - data = generator.next() + data = next(generator) if self.deep_construct: for dummy in generator: pass @@ -125,11 +129,9 @@ def construct_mapping(self, node, deep=False): mapping = {} for key_node, value_node in node.value: key = self.construct_object(key_node, deep=deep) - try: - hash(key) - except TypeError, exc: + if not isinstance(key, collections.abc.Hashable): raise ConstructorError("while constructing a mapping", node.start_mark, - "found unacceptable key (%s)" % exc, key_node.start_mark) + "found unhashable key", key_node.start_mark) value = self.construct_object(value_node, deep=deep) mapping[key] = value return mapping @@ -146,33 +148,33 @@ def construct_pairs(self, node, deep=False): pairs.append((key, value)) return pairs + @classmethod def add_constructor(cls, tag, constructor): if not 'yaml_constructors' in cls.__dict__: cls.yaml_constructors = cls.yaml_constructors.copy() cls.yaml_constructors[tag] = constructor - add_constructor = classmethod(add_constructor) + @classmethod def add_multi_constructor(cls, tag_prefix, multi_constructor): if not 'yaml_multi_constructors' in cls.__dict__: cls.yaml_multi_constructors = cls.yaml_multi_constructors.copy() cls.yaml_multi_constructors[tag_prefix] = multi_constructor - add_multi_constructor = classmethod(add_multi_constructor) class SafeConstructor(BaseConstructor): def construct_scalar(self, node): if isinstance(node, MappingNode): for key_node, value_node in node.value: - if key_node.tag == u'tag:yaml.org,2002:value': + if key_node.tag == 'tag:yaml.org,2002:value': return self.construct_scalar(value_node) - return BaseConstructor.construct_scalar(self, node) + return super().construct_scalar(node) def flatten_mapping(self, node): merge = [] index = 0 while index < len(node.value): key_node, value_node = node.value[index] - if key_node.tag == u'tag:yaml.org,2002:merge': + if key_node.tag == 'tag:yaml.org,2002:merge': del node.value[index] if isinstance(value_node, MappingNode): self.flatten_mapping(value_node) @@ -194,8 +196,8 @@ def flatten_mapping(self, node): raise ConstructorError("while constructing a mapping", node.start_mark, "expected a mapping or list of mappings for merging, but found %s" % value_node.id, value_node.start_mark) - elif key_node.tag == u'tag:yaml.org,2002:value': - key_node.tag = u'tag:yaml.org,2002:str' + elif key_node.tag == 'tag:yaml.org,2002:value': + key_node.tag = 'tag:yaml.org,2002:str' index += 1 else: index += 1 @@ -205,19 +207,19 @@ def flatten_mapping(self, node): def construct_mapping(self, node, deep=False): if isinstance(node, MappingNode): self.flatten_mapping(node) - return BaseConstructor.construct_mapping(self, node, deep=deep) + return super().construct_mapping(node, deep=deep) def construct_yaml_null(self, node): self.construct_scalar(node) return None bool_values = { - u'yes': True, - u'no': False, - u'true': True, - u'false': False, - u'on': True, - u'off': False, + 'yes': True, + 'no': False, + 'true': True, + 'false': False, + 'on': True, + 'off': False, } def construct_yaml_bool(self, node): @@ -225,7 +227,7 @@ def construct_yaml_bool(self, node): return self.bool_values[value.lower()] def construct_yaml_int(self, node): - value = str(self.construct_scalar(node)) + value = self.construct_scalar(node) value = value.replace('_', '') sign = +1 if value[0] == '-': @@ -258,7 +260,7 @@ def construct_yaml_int(self, node): nan_value = -inf_value/inf_value # Trying to make a quiet NaN (like C99). def construct_yaml_float(self, node): - value = str(self.construct_scalar(node)) + value = self.construct_scalar(node) value = value.replace('_', '').lower() sign = +1 if value[0] == '-': @@ -282,15 +284,23 @@ def construct_yaml_float(self, node): return sign*float(value) def construct_yaml_binary(self, node): - value = self.construct_scalar(node) try: - return str(value).decode('base64') - except (binascii.Error, UnicodeEncodeError), exc: + value = self.construct_scalar(node).encode('ascii') + except UnicodeEncodeError as exc: raise ConstructorError(None, None, - "failed to decode base64 data: %s" % exc, node.start_mark) + "failed to convert base64 data into ascii: %s" % exc, + node.start_mark) + try: + if hasattr(base64, 'decodebytes'): + return base64.decodebytes(value) + else: + return base64.decodestring(value) + except binascii.Error as exc: + raise ConstructorError(None, None, + "failed to decode base64 data: %s" % exc, node.start_mark) timestamp_regexp = re.compile( - ur'''^(?P[0-9][0-9][0-9][0-9]) + r'''^(?P[0-9][0-9][0-9][0-9]) -(?P[0-9][0-9]?) -(?P[0-9][0-9]?) (?:(?:[Tt]|[ \t]+) @@ -381,11 +391,7 @@ def construct_yaml_set(self, node): data.update(value) def construct_yaml_str(self, node): - value = self.construct_scalar(node) - try: - return value.encode('ascii') - except UnicodeEncodeError: - return value + return self.construct_scalar(node) def construct_yaml_seq(self, node): data = [] @@ -410,70 +416,86 @@ def construct_yaml_object(self, node, cls): def construct_undefined(self, node): raise ConstructorError(None, None, - "could not determine a constructor for the tag %r" % node.tag.encode('utf-8'), + "could not determine a constructor for the tag %r" % node.tag, node.start_mark) SafeConstructor.add_constructor( - u'tag:yaml.org,2002:null', + 'tag:yaml.org,2002:null', SafeConstructor.construct_yaml_null) SafeConstructor.add_constructor( - u'tag:yaml.org,2002:bool', + 'tag:yaml.org,2002:bool', SafeConstructor.construct_yaml_bool) SafeConstructor.add_constructor( - u'tag:yaml.org,2002:int', + 'tag:yaml.org,2002:int', SafeConstructor.construct_yaml_int) SafeConstructor.add_constructor( - u'tag:yaml.org,2002:float', + 'tag:yaml.org,2002:float', SafeConstructor.construct_yaml_float) SafeConstructor.add_constructor( - u'tag:yaml.org,2002:binary', + 'tag:yaml.org,2002:binary', SafeConstructor.construct_yaml_binary) SafeConstructor.add_constructor( - u'tag:yaml.org,2002:timestamp', + 'tag:yaml.org,2002:timestamp', SafeConstructor.construct_yaml_timestamp) SafeConstructor.add_constructor( - u'tag:yaml.org,2002:omap', + 'tag:yaml.org,2002:omap', SafeConstructor.construct_yaml_omap) SafeConstructor.add_constructor( - u'tag:yaml.org,2002:pairs', + 'tag:yaml.org,2002:pairs', SafeConstructor.construct_yaml_pairs) SafeConstructor.add_constructor( - u'tag:yaml.org,2002:set', + 'tag:yaml.org,2002:set', SafeConstructor.construct_yaml_set) SafeConstructor.add_constructor( - u'tag:yaml.org,2002:str', + 'tag:yaml.org,2002:str', SafeConstructor.construct_yaml_str) SafeConstructor.add_constructor( - u'tag:yaml.org,2002:seq', + 'tag:yaml.org,2002:seq', SafeConstructor.construct_yaml_seq) SafeConstructor.add_constructor( - u'tag:yaml.org,2002:map', + 'tag:yaml.org,2002:map', SafeConstructor.construct_yaml_map) SafeConstructor.add_constructor(None, SafeConstructor.construct_undefined) -class Constructor(SafeConstructor): +class FullConstructor(SafeConstructor): def construct_python_str(self, node): - return self.construct_scalar(node).encode('utf-8') + return self.construct_scalar(node) def construct_python_unicode(self, node): return self.construct_scalar(node) + def construct_python_bytes(self, node): + try: + value = self.construct_scalar(node).encode('ascii') + except UnicodeEncodeError as exc: + raise ConstructorError(None, None, + "failed to convert base64 data into ascii: %s" % exc, + node.start_mark) + try: + if hasattr(base64, 'decodebytes'): + return base64.decodebytes(value) + else: + return base64.decodestring(value) + except binascii.Error as exc: + raise ConstructorError(None, None, + "failed to decode base64 data: %s" % exc, node.start_mark) + def construct_python_long(self, node): - return long(self.construct_yaml_int(node)) + return self.construct_yaml_int(node) def construct_python_complex(self, node): return complex(self.construct_scalar(node)) @@ -481,69 +503,72 @@ def construct_python_complex(self, node): def construct_python_tuple(self, node): return tuple(self.construct_sequence(node)) - def find_python_module(self, name, mark): + def find_python_module(self, name, mark, unsafe=False): if not name: raise ConstructorError("while constructing a Python module", mark, "expected non-empty name appended to the tag", mark) - try: - __import__(name) - except ImportError, exc: + if unsafe: + try: + __import__(name) + except ImportError as exc: + raise ConstructorError("while constructing a Python module", mark, + "cannot find module %r (%s)" % (name, exc), mark) + if not name in sys.modules: raise ConstructorError("while constructing a Python module", mark, - "cannot find module %r (%s)" % (name.encode('utf-8'), exc), mark) + "module %r is not imported" % name, mark) return sys.modules[name] - def find_python_name(self, name, mark): + def find_python_name(self, name, mark, unsafe=False): if not name: raise ConstructorError("while constructing a Python object", mark, "expected non-empty name appended to the tag", mark) - if u'.' in name: + if '.' in name: module_name, object_name = name.rsplit('.', 1) else: - module_name = '__builtin__' + module_name = 'builtins' object_name = name - try: - __import__(module_name) - except ImportError, exc: + if unsafe: + try: + __import__(module_name) + except ImportError as exc: + raise ConstructorError("while constructing a Python object", mark, + "cannot find module %r (%s)" % (module_name, exc), mark) + if not module_name in sys.modules: raise ConstructorError("while constructing a Python object", mark, - "cannot find module %r (%s)" % (module_name.encode('utf-8'), exc), mark) + "module %r is not imported" % module_name, mark) module = sys.modules[module_name] if not hasattr(module, object_name): raise ConstructorError("while constructing a Python object", mark, - "cannot find %r in the module %r" % (object_name.encode('utf-8'), - module.__name__), mark) + "cannot find %r in the module %r" + % (object_name, module.__name__), mark) return getattr(module, object_name) def construct_python_name(self, suffix, node): value = self.construct_scalar(node) if value: raise ConstructorError("while constructing a Python name", node.start_mark, - "expected the empty value, but found %r" % value.encode('utf-8'), - node.start_mark) + "expected the empty value, but found %r" % value, node.start_mark) return self.find_python_name(suffix, node.start_mark) def construct_python_module(self, suffix, node): value = self.construct_scalar(node) if value: raise ConstructorError("while constructing a Python module", node.start_mark, - "expected the empty value, but found %r" % value.encode('utf-8'), - node.start_mark) + "expected the empty value, but found %r" % value, node.start_mark) return self.find_python_module(suffix, node.start_mark) - class classobj: pass - def make_python_instance(self, suffix, node, - args=None, kwds=None, newobj=False): + args=None, kwds=None, newobj=False, unsafe=False): if not args: args = [] if not kwds: kwds = {} cls = self.find_python_name(suffix, node.start_mark) - if newobj and isinstance(cls, type(self.classobj)) \ - and not args and not kwds: - instance = self.classobj() - instance.__class__ = cls - return instance - elif newobj and isinstance(cls, type): + if not (unsafe or isinstance(cls, type)): + raise ConstructorError("while constructing a Python instance", node.start_mark, + "expected a class, but found %r" % type(cls), + node.start_mark) + if newobj and isinstance(cls, type): return cls.__new__(cls, *args, **kwds) else: return cls(*args, **kwds) @@ -609,67 +634,87 @@ def construct_python_object_apply(self, suffix, node, newobj=False): def construct_python_object_new(self, suffix, node): return self.construct_python_object_apply(suffix, node, newobj=True) -Constructor.add_constructor( - u'tag:yaml.org,2002:python/none', - Constructor.construct_yaml_null) +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/none', + FullConstructor.construct_yaml_null) + +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/bool', + FullConstructor.construct_yaml_bool) + +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/str', + FullConstructor.construct_python_str) -Constructor.add_constructor( - u'tag:yaml.org,2002:python/bool', - Constructor.construct_yaml_bool) +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/unicode', + FullConstructor.construct_python_unicode) -Constructor.add_constructor( - u'tag:yaml.org,2002:python/str', - Constructor.construct_python_str) +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/bytes', + FullConstructor.construct_python_bytes) -Constructor.add_constructor( - u'tag:yaml.org,2002:python/unicode', - Constructor.construct_python_unicode) +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/int', + FullConstructor.construct_yaml_int) -Constructor.add_constructor( - u'tag:yaml.org,2002:python/int', - Constructor.construct_yaml_int) +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/long', + FullConstructor.construct_python_long) -Constructor.add_constructor( - u'tag:yaml.org,2002:python/long', - Constructor.construct_python_long) +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/float', + FullConstructor.construct_yaml_float) -Constructor.add_constructor( - u'tag:yaml.org,2002:python/float', - Constructor.construct_yaml_float) +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/complex', + FullConstructor.construct_python_complex) -Constructor.add_constructor( - u'tag:yaml.org,2002:python/complex', - Constructor.construct_python_complex) +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/list', + FullConstructor.construct_yaml_seq) -Constructor.add_constructor( - u'tag:yaml.org,2002:python/list', - Constructor.construct_yaml_seq) +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/tuple', + FullConstructor.construct_python_tuple) -Constructor.add_constructor( - u'tag:yaml.org,2002:python/tuple', - Constructor.construct_python_tuple) +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/dict', + FullConstructor.construct_yaml_map) -Constructor.add_constructor( - u'tag:yaml.org,2002:python/dict', - Constructor.construct_yaml_map) +FullConstructor.add_multi_constructor( + 'tag:yaml.org,2002:python/name:', + FullConstructor.construct_python_name) -Constructor.add_multi_constructor( - u'tag:yaml.org,2002:python/name:', - Constructor.construct_python_name) +FullConstructor.add_multi_constructor( + 'tag:yaml.org,2002:python/module:', + FullConstructor.construct_python_module) -Constructor.add_multi_constructor( - u'tag:yaml.org,2002:python/module:', - Constructor.construct_python_module) +FullConstructor.add_multi_constructor( + 'tag:yaml.org,2002:python/object:', + FullConstructor.construct_python_object) -Constructor.add_multi_constructor( - u'tag:yaml.org,2002:python/object:', - Constructor.construct_python_object) +FullConstructor.add_multi_constructor( + 'tag:yaml.org,2002:python/object/apply:', + FullConstructor.construct_python_object_apply) -Constructor.add_multi_constructor( - u'tag:yaml.org,2002:python/object/apply:', - Constructor.construct_python_object_apply) +FullConstructor.add_multi_constructor( + 'tag:yaml.org,2002:python/object/new:', + FullConstructor.construct_python_object_new) -Constructor.add_multi_constructor( - u'tag:yaml.org,2002:python/object/new:', - Constructor.construct_python_object_new) +class UnsafeConstructor(FullConstructor): + + def find_python_module(self, name, mark): + return super(UnsafeConstructor, self).find_python_module(name, mark, unsafe=True) + def find_python_name(self, name, mark): + return super(UnsafeConstructor, self).find_python_name(name, mark, unsafe=True) + + def make_python_instance(self, suffix, node, args=None, kwds=None, newobj=False): + return super(UnsafeConstructor, self).make_python_instance( + suffix, node, args, kwds, newobj, unsafe=True) + +# Constructor is same as UnsafeConstructor. Need to leave this in place in case +# people have extended it directly. +class Constructor(UnsafeConstructor): + pass diff --git a/bin/yaml/constructor.pyc b/bin/yaml/constructor.pyc deleted file mode 100644 index 6387e5d5..00000000 Binary files a/bin/yaml/constructor.pyc and /dev/null differ diff --git a/bin/yaml/cyaml.py b/bin/yaml/cyaml.py index 68dcd751..1e606c74 100644 --- a/bin/yaml/cyaml.py +++ b/bin/yaml/cyaml.py @@ -1,15 +1,17 @@ -__all__ = ['CBaseLoader', 'CSafeLoader', 'CLoader', - 'CBaseDumper', 'CSafeDumper', 'CDumper'] +__all__ = [ + 'CBaseLoader', 'CSafeLoader', 'CFullLoader', 'CUnsafeLoader', 'CLoader', + 'CBaseDumper', 'CSafeDumper', 'CDumper' +] from _yaml import CParser, CEmitter -from constructor import * +from .constructor import * -from serializer import * -from representer import * +from .serializer import * +from .representer import * -from resolver import * +from .resolver import * class CBaseLoader(CParser, BaseConstructor, BaseResolver): @@ -25,6 +27,20 @@ def __init__(self, stream): SafeConstructor.__init__(self) Resolver.__init__(self) +class CFullLoader(CParser, FullConstructor, Resolver): + + def __init__(self, stream): + CParser.__init__(self, stream) + FullConstructor.__init__(self) + Resolver.__init__(self) + +class CUnsafeLoader(CParser, UnsafeConstructor, Resolver): + + def __init__(self, stream): + CParser.__init__(self, stream) + UnsafeConstructor.__init__(self) + Resolver.__init__(self) + class CLoader(CParser, Constructor, Resolver): def __init__(self, stream): @@ -35,51 +51,51 @@ def __init__(self, stream): class CBaseDumper(CEmitter, BaseRepresenter, BaseResolver): def __init__(self, stream, - default_style=None, default_flow_style=None, + default_style=None, default_flow_style=False, canonical=None, indent=None, width=None, allow_unicode=None, line_break=None, encoding=None, explicit_start=None, explicit_end=None, - version=None, tags=None): + version=None, tags=None, sort_keys=True): CEmitter.__init__(self, stream, canonical=canonical, indent=indent, width=width, encoding=encoding, allow_unicode=allow_unicode, line_break=line_break, explicit_start=explicit_start, explicit_end=explicit_end, version=version, tags=tags) Representer.__init__(self, default_style=default_style, - default_flow_style=default_flow_style) + default_flow_style=default_flow_style, sort_keys=sort_keys) Resolver.__init__(self) class CSafeDumper(CEmitter, SafeRepresenter, Resolver): def __init__(self, stream, - default_style=None, default_flow_style=None, + default_style=None, default_flow_style=False, canonical=None, indent=None, width=None, allow_unicode=None, line_break=None, encoding=None, explicit_start=None, explicit_end=None, - version=None, tags=None): + version=None, tags=None, sort_keys=True): CEmitter.__init__(self, stream, canonical=canonical, indent=indent, width=width, encoding=encoding, allow_unicode=allow_unicode, line_break=line_break, explicit_start=explicit_start, explicit_end=explicit_end, version=version, tags=tags) SafeRepresenter.__init__(self, default_style=default_style, - default_flow_style=default_flow_style) + default_flow_style=default_flow_style, sort_keys=sort_keys) Resolver.__init__(self) class CDumper(CEmitter, Serializer, Representer, Resolver): def __init__(self, stream, - default_style=None, default_flow_style=None, + default_style=None, default_flow_style=False, canonical=None, indent=None, width=None, allow_unicode=None, line_break=None, encoding=None, explicit_start=None, explicit_end=None, - version=None, tags=None): + version=None, tags=None, sort_keys=True): CEmitter.__init__(self, stream, canonical=canonical, indent=indent, width=width, encoding=encoding, allow_unicode=allow_unicode, line_break=line_break, explicit_start=explicit_start, explicit_end=explicit_end, version=version, tags=tags) Representer.__init__(self, default_style=default_style, - default_flow_style=default_flow_style) + default_flow_style=default_flow_style, sort_keys=sort_keys) Resolver.__init__(self) diff --git a/bin/yaml/cyaml.pyc b/bin/yaml/cyaml.pyc deleted file mode 100644 index 4fef6860..00000000 Binary files a/bin/yaml/cyaml.pyc and /dev/null differ diff --git a/bin/yaml/dumper.py b/bin/yaml/dumper.py index f811d2c9..6aadba55 100644 --- a/bin/yaml/dumper.py +++ b/bin/yaml/dumper.py @@ -1,19 +1,19 @@ __all__ = ['BaseDumper', 'SafeDumper', 'Dumper'] -from emitter import * -from serializer import * -from representer import * -from resolver import * +from .emitter import * +from .serializer import * +from .representer import * +from .resolver import * class BaseDumper(Emitter, Serializer, BaseRepresenter, BaseResolver): def __init__(self, stream, - default_style=None, default_flow_style=None, + default_style=None, default_flow_style=False, canonical=None, indent=None, width=None, allow_unicode=None, line_break=None, encoding=None, explicit_start=None, explicit_end=None, - version=None, tags=None): + version=None, tags=None, sort_keys=True): Emitter.__init__(self, stream, canonical=canonical, indent=indent, width=width, allow_unicode=allow_unicode, line_break=line_break) @@ -21,17 +21,17 @@ def __init__(self, stream, explicit_start=explicit_start, explicit_end=explicit_end, version=version, tags=tags) Representer.__init__(self, default_style=default_style, - default_flow_style=default_flow_style) + default_flow_style=default_flow_style, sort_keys=sort_keys) Resolver.__init__(self) class SafeDumper(Emitter, Serializer, SafeRepresenter, Resolver): def __init__(self, stream, - default_style=None, default_flow_style=None, + default_style=None, default_flow_style=False, canonical=None, indent=None, width=None, allow_unicode=None, line_break=None, encoding=None, explicit_start=None, explicit_end=None, - version=None, tags=None): + version=None, tags=None, sort_keys=True): Emitter.__init__(self, stream, canonical=canonical, indent=indent, width=width, allow_unicode=allow_unicode, line_break=line_break) @@ -39,17 +39,17 @@ def __init__(self, stream, explicit_start=explicit_start, explicit_end=explicit_end, version=version, tags=tags) SafeRepresenter.__init__(self, default_style=default_style, - default_flow_style=default_flow_style) + default_flow_style=default_flow_style, sort_keys=sort_keys) Resolver.__init__(self) class Dumper(Emitter, Serializer, Representer, Resolver): def __init__(self, stream, - default_style=None, default_flow_style=None, + default_style=None, default_flow_style=False, canonical=None, indent=None, width=None, allow_unicode=None, line_break=None, encoding=None, explicit_start=None, explicit_end=None, - version=None, tags=None): + version=None, tags=None, sort_keys=True): Emitter.__init__(self, stream, canonical=canonical, indent=indent, width=width, allow_unicode=allow_unicode, line_break=line_break) @@ -57,6 +57,6 @@ def __init__(self, stream, explicit_start=explicit_start, explicit_end=explicit_end, version=version, tags=tags) Representer.__init__(self, default_style=default_style, - default_flow_style=default_flow_style) + default_flow_style=default_flow_style, sort_keys=sort_keys) Resolver.__init__(self) diff --git a/bin/yaml/dumper.pyc b/bin/yaml/dumper.pyc deleted file mode 100644 index 92b3fbca..00000000 Binary files a/bin/yaml/dumper.pyc and /dev/null differ diff --git a/bin/yaml/emitter.py b/bin/yaml/emitter.py index e5bcdccc..a664d011 100644 --- a/bin/yaml/emitter.py +++ b/bin/yaml/emitter.py @@ -8,13 +8,13 @@ __all__ = ['Emitter', 'EmitterError'] -from error import YAMLError -from events import * +from .error import YAMLError +from .events import * class EmitterError(YAMLError): pass -class ScalarAnalysis(object): +class ScalarAnalysis: def __init__(self, scalar, empty, multiline, allow_flow_plain, allow_block_plain, allow_single_quoted, allow_double_quoted, @@ -28,11 +28,11 @@ def __init__(self, scalar, empty, multiline, self.allow_double_quoted = allow_double_quoted self.allow_block = allow_block -class Emitter(object): +class Emitter: DEFAULT_TAG_PREFIXES = { - u'!' : u'!', - u'tag:yaml.org,2002:' : u'!!', + '!' : '!', + 'tag:yaml.org,2002:' : '!!', } def __init__(self, stream, canonical=None, indent=None, width=None, @@ -41,7 +41,7 @@ def __init__(self, stream, canonical=None, indent=None, width=None, # The stream should have the methods `write` and possibly `flush`. self.stream = stream - # Encoding can be overriden by STREAM-START. + # Encoding can be overridden by STREAM-START. self.encoding = None # Emitter is a state machine with a stack of states to handle nested @@ -88,8 +88,8 @@ def __init__(self, stream, canonical=None, indent=None, width=None, self.best_width = 80 if width and width > self.best_indent*2: self.best_width = width - self.best_line_break = u'\n' - if line_break in [u'\r', u'\n', u'\r\n']: + self.best_line_break = '\n' + if line_break in ['\r', '\n', '\r\n']: self.best_line_break = line_break # Tag prefixes. @@ -159,7 +159,7 @@ def increase_indent(self, flow=False, indentless=False): def expect_stream_start(self): if isinstance(self.event, StreamStartEvent): - if self.event.encoding and not getattr(self.stream, 'encoding', None): + if self.event.encoding and not hasattr(self.stream, 'encoding'): self.encoding = self.event.encoding self.write_stream_start() self.state = self.expect_first_document_start @@ -178,15 +178,14 @@ def expect_first_document_start(self): def expect_document_start(self, first=False): if isinstance(self.event, DocumentStartEvent): if (self.event.version or self.event.tags) and self.open_ended: - self.write_indicator(u'...', True) + self.write_indicator('...', True) self.write_indent() if self.event.version: version_text = self.prepare_version(self.event.version) self.write_version_directive(version_text) self.tag_prefixes = self.DEFAULT_TAG_PREFIXES.copy() if self.event.tags: - handles = self.event.tags.keys() - handles.sort() + handles = sorted(self.event.tags.keys()) for handle in handles: prefix = self.event.tags[handle] self.tag_prefixes[prefix] = handle @@ -198,13 +197,13 @@ def expect_document_start(self, first=False): and not self.check_empty_document()) if not implicit: self.write_indent() - self.write_indicator(u'---', True) + self.write_indicator('---', True) if self.canonical: self.write_indent() self.state = self.expect_document_root elif isinstance(self.event, StreamEndEvent): if self.open_ended: - self.write_indicator(u'...', True) + self.write_indicator('...', True) self.write_indent() self.write_stream_end() self.state = self.expect_nothing @@ -216,7 +215,7 @@ def expect_document_end(self): if isinstance(self.event, DocumentEndEvent): self.write_indent() if self.event.explicit: - self.write_indicator(u'...', True) + self.write_indicator('...', True) self.write_indent() self.flush_stream() self.state = self.expect_document_start @@ -239,7 +238,7 @@ def expect_node(self, root=False, sequence=False, mapping=False, if isinstance(self.event, AliasEvent): self.expect_alias() elif isinstance(self.event, (ScalarEvent, CollectionStartEvent)): - self.process_anchor(u'&') + self.process_anchor('&') self.process_tag() if isinstance(self.event, ScalarEvent): self.expect_scalar() @@ -261,7 +260,7 @@ def expect_node(self, root=False, sequence=False, mapping=False, def expect_alias(self): if self.event.anchor is None: raise EmitterError("anchor is not specified for alias") - self.process_anchor(u'*') + self.process_anchor('*') self.state = self.states.pop() def expect_scalar(self): @@ -273,7 +272,7 @@ def expect_scalar(self): # Flow sequence handlers. def expect_flow_sequence(self): - self.write_indicator(u'[', True, whitespace=True) + self.write_indicator('[', True, whitespace=True) self.flow_level += 1 self.increase_indent(flow=True) self.state = self.expect_first_flow_sequence_item @@ -282,7 +281,7 @@ def expect_first_flow_sequence_item(self): if isinstance(self.event, SequenceEndEvent): self.indent = self.indents.pop() self.flow_level -= 1 - self.write_indicator(u']', False) + self.write_indicator(']', False) self.state = self.states.pop() else: if self.canonical or self.column > self.best_width: @@ -295,12 +294,12 @@ def expect_flow_sequence_item(self): self.indent = self.indents.pop() self.flow_level -= 1 if self.canonical: - self.write_indicator(u',', False) + self.write_indicator(',', False) self.write_indent() - self.write_indicator(u']', False) + self.write_indicator(']', False) self.state = self.states.pop() else: - self.write_indicator(u',', False) + self.write_indicator(',', False) if self.canonical or self.column > self.best_width: self.write_indent() self.states.append(self.expect_flow_sequence_item) @@ -309,7 +308,7 @@ def expect_flow_sequence_item(self): # Flow mapping handlers. def expect_flow_mapping(self): - self.write_indicator(u'{', True, whitespace=True) + self.write_indicator('{', True, whitespace=True) self.flow_level += 1 self.increase_indent(flow=True) self.state = self.expect_first_flow_mapping_key @@ -318,7 +317,7 @@ def expect_first_flow_mapping_key(self): if isinstance(self.event, MappingEndEvent): self.indent = self.indents.pop() self.flow_level -= 1 - self.write_indicator(u'}', False) + self.write_indicator('}', False) self.state = self.states.pop() else: if self.canonical or self.column > self.best_width: @@ -327,7 +326,7 @@ def expect_first_flow_mapping_key(self): self.states.append(self.expect_flow_mapping_simple_value) self.expect_node(mapping=True, simple_key=True) else: - self.write_indicator(u'?', True) + self.write_indicator('?', True) self.states.append(self.expect_flow_mapping_value) self.expect_node(mapping=True) @@ -336,31 +335,31 @@ def expect_flow_mapping_key(self): self.indent = self.indents.pop() self.flow_level -= 1 if self.canonical: - self.write_indicator(u',', False) + self.write_indicator(',', False) self.write_indent() - self.write_indicator(u'}', False) + self.write_indicator('}', False) self.state = self.states.pop() else: - self.write_indicator(u',', False) + self.write_indicator(',', False) if self.canonical or self.column > self.best_width: self.write_indent() if not self.canonical and self.check_simple_key(): self.states.append(self.expect_flow_mapping_simple_value) self.expect_node(mapping=True, simple_key=True) else: - self.write_indicator(u'?', True) + self.write_indicator('?', True) self.states.append(self.expect_flow_mapping_value) self.expect_node(mapping=True) def expect_flow_mapping_simple_value(self): - self.write_indicator(u':', False) + self.write_indicator(':', False) self.states.append(self.expect_flow_mapping_key) self.expect_node(mapping=True) def expect_flow_mapping_value(self): if self.canonical or self.column > self.best_width: self.write_indent() - self.write_indicator(u':', True) + self.write_indicator(':', True) self.states.append(self.expect_flow_mapping_key) self.expect_node(mapping=True) @@ -380,7 +379,7 @@ def expect_block_sequence_item(self, first=False): self.state = self.states.pop() else: self.write_indent() - self.write_indicator(u'-', True, indention=True) + self.write_indicator('-', True, indention=True) self.states.append(self.expect_block_sequence_item) self.expect_node(sequence=True) @@ -403,18 +402,18 @@ def expect_block_mapping_key(self, first=False): self.states.append(self.expect_block_mapping_simple_value) self.expect_node(mapping=True, simple_key=True) else: - self.write_indicator(u'?', True, indention=True) + self.write_indicator('?', True, indention=True) self.states.append(self.expect_block_mapping_value) self.expect_node(mapping=True) def expect_block_mapping_simple_value(self): - self.write_indicator(u':', False) + self.write_indicator(':', False) self.states.append(self.expect_block_mapping_key) self.expect_node(mapping=True) def expect_block_mapping_value(self): self.write_indent() - self.write_indicator(u':', True, indention=True) + self.write_indicator(':', True, indention=True) self.states.append(self.expect_block_mapping_key) self.expect_node(mapping=True) @@ -433,7 +432,7 @@ def check_empty_document(self): return False event = self.events[0] return (isinstance(event, ScalarEvent) and event.anchor is None - and event.tag is None and event.implicit and event.value == u'') + and event.tag is None and event.implicit and event.value == '') def check_simple_key(self): length = 0 @@ -478,7 +477,7 @@ def process_tag(self): self.prepared_tag = None return if self.event.implicit[0] and tag is None: - tag = u'!' + tag = '!' self.prepared_tag = None else: if (not self.canonical or tag is None) and self.event.implicit: @@ -541,19 +540,18 @@ def prepare_version(self, version): major, minor = version if major != 1: raise EmitterError("unsupported YAML version: %d.%d" % (major, minor)) - return u'%d.%d' % (major, minor) + return '%d.%d' % (major, minor) def prepare_tag_handle(self, handle): if not handle: raise EmitterError("tag handle must not be empty") - if handle[0] != u'!' or handle[-1] != u'!': - raise EmitterError("tag handle must start and end with '!': %r" - % (handle.encode('utf-8'))) + if handle[0] != '!' or handle[-1] != '!': + raise EmitterError("tag handle must start and end with '!': %r" % handle) for ch in handle[1:-1]: - if not (u'0' <= ch <= u'9' or u'A' <= ch <= u'Z' or u'a' <= ch <= u'z' \ - or ch in u'-_'): + if not ('0' <= ch <= '9' or 'A' <= ch <= 'Z' or 'a' <= ch <= 'z' \ + or ch in '-_'): raise EmitterError("invalid character %r in the tag handle: %r" - % (ch.encode('utf-8'), handle.encode('utf-8'))) + % (ch, handle)) return handle def prepare_tag_prefix(self, prefix): @@ -561,12 +559,12 @@ def prepare_tag_prefix(self, prefix): raise EmitterError("tag prefix must not be empty") chunks = [] start = end = 0 - if prefix[0] == u'!': + if prefix[0] == '!': end = 1 while end < len(prefix): ch = prefix[end] - if u'0' <= ch <= u'9' or u'A' <= ch <= u'Z' or u'a' <= ch <= u'z' \ - or ch in u'-;/?!:@&=+$,_.~*\'()[]': + if '0' <= ch <= '9' or 'A' <= ch <= 'Z' or 'a' <= ch <= 'z' \ + or ch in '-;/?!:@&=+$,_.~*\'()[]': end += 1 else: if start < end: @@ -574,32 +572,31 @@ def prepare_tag_prefix(self, prefix): start = end = end+1 data = ch.encode('utf-8') for ch in data: - chunks.append(u'%%%02X' % ord(ch)) + chunks.append('%%%02X' % ord(ch)) if start < end: chunks.append(prefix[start:end]) - return u''.join(chunks) + return ''.join(chunks) def prepare_tag(self, tag): if not tag: raise EmitterError("tag must not be empty") - if tag == u'!': + if tag == '!': return tag handle = None suffix = tag - prefixes = self.tag_prefixes.keys() - prefixes.sort() + prefixes = sorted(self.tag_prefixes.keys()) for prefix in prefixes: if tag.startswith(prefix) \ - and (prefix == u'!' or len(prefix) < len(tag)): + and (prefix == '!' or len(prefix) < len(tag)): handle = self.tag_prefixes[prefix] suffix = tag[len(prefix):] chunks = [] start = end = 0 while end < len(suffix): ch = suffix[end] - if u'0' <= ch <= u'9' or u'A' <= ch <= u'Z' or u'a' <= ch <= u'z' \ - or ch in u'-;/?:@&=+$,_.~*\'()[]' \ - or (ch == u'!' and handle != u'!'): + if '0' <= ch <= '9' or 'A' <= ch <= 'Z' or 'a' <= ch <= 'z' \ + or ch in '-;/?:@&=+$,_.~*\'()[]' \ + or (ch == '!' and handle != '!'): end += 1 else: if start < end: @@ -607,23 +604,23 @@ def prepare_tag(self, tag): start = end = end+1 data = ch.encode('utf-8') for ch in data: - chunks.append(u'%%%02X' % ord(ch)) + chunks.append('%%%02X' % ch) if start < end: chunks.append(suffix[start:end]) - suffix_text = u''.join(chunks) + suffix_text = ''.join(chunks) if handle: - return u'%s%s' % (handle, suffix_text) + return '%s%s' % (handle, suffix_text) else: - return u'!<%s>' % suffix_text + return '!<%s>' % suffix_text def prepare_anchor(self, anchor): if not anchor: raise EmitterError("anchor must not be empty") for ch in anchor: - if not (u'0' <= ch <= u'9' or u'A' <= ch <= u'Z' or u'a' <= ch <= u'z' \ - or ch in u'-_'): + if not ('0' <= ch <= '9' or 'A' <= ch <= 'Z' or 'a' <= ch <= 'z' \ + or ch in '-_'): raise EmitterError("invalid character %r in the anchor: %r" - % (ch.encode('utf-8'), anchor.encode('utf-8'))) + % (ch, anchor)) return anchor def analyze_scalar(self, scalar): @@ -650,16 +647,16 @@ def analyze_scalar(self, scalar): space_break = False # Check document indicators. - if scalar.startswith(u'---') or scalar.startswith(u'...'): + if scalar.startswith('---') or scalar.startswith('...'): block_indicators = True flow_indicators = True # First character or preceded by a whitespace. - preceeded_by_whitespace = True + preceded_by_whitespace = True # Last character or followed by a whitespace. followed_by_whitespace = (len(scalar) == 1 or - scalar[1] in u'\0 \t\r\n\x85\u2028\u2029') + scalar[1] in '\0 \t\r\n\x85\u2028\u2029') # The previous character is a space. previous_space = False @@ -674,34 +671,35 @@ def analyze_scalar(self, scalar): # Check for indicators. if index == 0: # Leading indicators are special characters. - if ch in u'#,[]{}&*!|>\'\"%@`': + if ch in '#,[]{}&*!|>\'\"%@`': flow_indicators = True block_indicators = True - if ch in u'?:': + if ch in '?:': flow_indicators = True if followed_by_whitespace: block_indicators = True - if ch == u'-' and followed_by_whitespace: + if ch == '-' and followed_by_whitespace: flow_indicators = True block_indicators = True else: # Some indicators cannot appear within a scalar as well. - if ch in u',?[]{}': + if ch in ',?[]{}': flow_indicators = True - if ch == u':': + if ch == ':': flow_indicators = True if followed_by_whitespace: block_indicators = True - if ch == u'#' and preceeded_by_whitespace: + if ch == '#' and preceded_by_whitespace: flow_indicators = True block_indicators = True # Check for line breaks, special, and unicode characters. - if ch in u'\n\x85\u2028\u2029': + if ch in '\n\x85\u2028\u2029': line_breaks = True - if not (ch == u'\n' or u'\x20' <= ch <= u'\x7E'): - if (ch == u'\x85' or u'\xA0' <= ch <= u'\uD7FF' - or u'\uE000' <= ch <= u'\uFFFD') and ch != u'\uFEFF': + if not (ch == '\n' or '\x20' <= ch <= '\x7E'): + if (ch == '\x85' or '\xA0' <= ch <= '\uD7FF' + or '\uE000' <= ch <= '\uFFFD' + or '\U00010000' <= ch < '\U0010ffff') and ch != '\uFEFF': unicode_characters = True if not self.allow_unicode: special_characters = True @@ -709,7 +707,7 @@ def analyze_scalar(self, scalar): special_characters = True # Detect important whitespace combinations. - if ch == u' ': + if ch == ' ': if index == 0: leading_space = True if index == len(scalar)-1: @@ -718,7 +716,7 @@ def analyze_scalar(self, scalar): break_space = True previous_space = True previous_break = False - elif ch in u'\n\x85\u2028\u2029': + elif ch in '\n\x85\u2028\u2029': if index == 0: leading_break = True if index == len(scalar)-1: @@ -733,9 +731,9 @@ def analyze_scalar(self, scalar): # Prepare for the next character. index += 1 - preceeded_by_whitespace = (ch in u'\0 \t\r\n\x85\u2028\u2029') + preceded_by_whitespace = (ch in '\0 \t\r\n\x85\u2028\u2029') followed_by_whitespace = (index+1 >= len(scalar) or - scalar[index+1] in u'\0 \t\r\n\x85\u2028\u2029') + scalar[index+1] in '\0 \t\r\n\x85\u2028\u2029') # Let's decide what styles are allowed. allow_flow_plain = True @@ -794,7 +792,7 @@ def flush_stream(self): def write_stream_start(self): # Write BOM if needed. if self.encoding and self.encoding.startswith('utf-16'): - self.stream.write(u'\uFEFF'.encode(self.encoding)) + self.stream.write('\uFEFF'.encode(self.encoding)) def write_stream_end(self): self.flush_stream() @@ -804,7 +802,7 @@ def write_indicator(self, indicator, need_whitespace, if self.whitespace or not need_whitespace: data = indicator else: - data = u' '+indicator + data = ' '+indicator self.whitespace = whitespace self.indention = self.indention and indention self.column += len(data) @@ -820,7 +818,7 @@ def write_indent(self): self.write_line_break() if self.column < indent: self.whitespace = True - data = u' '*(indent-self.column) + data = ' '*(indent-self.column) self.column = indent if self.encoding: data = data.encode(self.encoding) @@ -838,14 +836,14 @@ def write_line_break(self, data=None): self.stream.write(data) def write_version_directive(self, version_text): - data = u'%%YAML %s' % version_text + data = '%%YAML %s' % version_text if self.encoding: data = data.encode(self.encoding) self.stream.write(data) self.write_line_break() def write_tag_directive(self, handle_text, prefix_text): - data = u'%%TAG %s %s' % (handle_text, prefix_text) + data = '%%TAG %s %s' % (handle_text, prefix_text) if self.encoding: data = data.encode(self.encoding) self.stream.write(data) @@ -854,7 +852,7 @@ def write_tag_directive(self, handle_text, prefix_text): # Scalar streams. def write_single_quoted(self, text, split=True): - self.write_indicator(u'\'', True) + self.write_indicator('\'', True) spaces = False breaks = False start = end = 0 @@ -863,7 +861,7 @@ def write_single_quoted(self, text, split=True): if end < len(text): ch = text[end] if spaces: - if ch is None or ch != u' ': + if ch is None or ch != ' ': if start+1 == end and self.column > self.best_width and split \ and start != 0 and end != len(text): self.write_indent() @@ -875,18 +873,18 @@ def write_single_quoted(self, text, split=True): self.stream.write(data) start = end elif breaks: - if ch is None or ch not in u'\n\x85\u2028\u2029': - if text[start] == u'\n': + if ch is None or ch not in '\n\x85\u2028\u2029': + if text[start] == '\n': self.write_line_break() for br in text[start:end]: - if br == u'\n': + if br == '\n': self.write_line_break() else: self.write_line_break(br) self.write_indent() start = end else: - if ch is None or ch in u' \n\x85\u2028\u2029' or ch == u'\'': + if ch is None or ch in ' \n\x85\u2028\u2029' or ch == '\'': if start < end: data = text[start:end] self.column += len(data) @@ -894,49 +892,49 @@ def write_single_quoted(self, text, split=True): data = data.encode(self.encoding) self.stream.write(data) start = end - if ch == u'\'': - data = u'\'\'' + if ch == '\'': + data = '\'\'' self.column += 2 if self.encoding: data = data.encode(self.encoding) self.stream.write(data) start = end + 1 if ch is not None: - spaces = (ch == u' ') - breaks = (ch in u'\n\x85\u2028\u2029') + spaces = (ch == ' ') + breaks = (ch in '\n\x85\u2028\u2029') end += 1 - self.write_indicator(u'\'', False) + self.write_indicator('\'', False) ESCAPE_REPLACEMENTS = { - u'\0': u'0', - u'\x07': u'a', - u'\x08': u'b', - u'\x09': u't', - u'\x0A': u'n', - u'\x0B': u'v', - u'\x0C': u'f', - u'\x0D': u'r', - u'\x1B': u'e', - u'\"': u'\"', - u'\\': u'\\', - u'\x85': u'N', - u'\xA0': u'_', - u'\u2028': u'L', - u'\u2029': u'P', + '\0': '0', + '\x07': 'a', + '\x08': 'b', + '\x09': 't', + '\x0A': 'n', + '\x0B': 'v', + '\x0C': 'f', + '\x0D': 'r', + '\x1B': 'e', + '\"': '\"', + '\\': '\\', + '\x85': 'N', + '\xA0': '_', + '\u2028': 'L', + '\u2029': 'P', } def write_double_quoted(self, text, split=True): - self.write_indicator(u'"', True) + self.write_indicator('"', True) start = end = 0 while end <= len(text): ch = None if end < len(text): ch = text[end] - if ch is None or ch in u'"\\\x85\u2028\u2029\uFEFF' \ - or not (u'\x20' <= ch <= u'\x7E' + if ch is None or ch in '"\\\x85\u2028\u2029\uFEFF' \ + or not ('\x20' <= ch <= '\x7E' or (self.allow_unicode - and (u'\xA0' <= ch <= u'\uD7FF' - or u'\uE000' <= ch <= u'\uFFFD'))): + and ('\xA0' <= ch <= '\uD7FF' + or '\uE000' <= ch <= '\uFFFD'))): if start < end: data = text[start:end] self.column += len(data) @@ -946,21 +944,21 @@ def write_double_quoted(self, text, split=True): start = end if ch is not None: if ch in self.ESCAPE_REPLACEMENTS: - data = u'\\'+self.ESCAPE_REPLACEMENTS[ch] - elif ch <= u'\xFF': - data = u'\\x%02X' % ord(ch) - elif ch <= u'\uFFFF': - data = u'\\u%04X' % ord(ch) + data = '\\'+self.ESCAPE_REPLACEMENTS[ch] + elif ch <= '\xFF': + data = '\\x%02X' % ord(ch) + elif ch <= '\uFFFF': + data = '\\u%04X' % ord(ch) else: - data = u'\\U%08X' % ord(ch) + data = '\\U%08X' % ord(ch) self.column += len(data) if self.encoding: data = data.encode(self.encoding) self.stream.write(data) start = end+1 - if 0 < end < len(text)-1 and (ch == u' ' or start >= end) \ + if 0 < end < len(text)-1 and (ch == ' ' or start >= end) \ and self.column+(end-start) > self.best_width and split: - data = text[start:end]+u'\\' + data = text[start:end]+'\\' if start < end: start = end self.column += len(data) @@ -970,30 +968,30 @@ def write_double_quoted(self, text, split=True): self.write_indent() self.whitespace = False self.indention = False - if text[start] == u' ': - data = u'\\' + if text[start] == ' ': + data = '\\' self.column += len(data) if self.encoding: data = data.encode(self.encoding) self.stream.write(data) end += 1 - self.write_indicator(u'"', False) + self.write_indicator('"', False) def determine_block_hints(self, text): - hints = u'' + hints = '' if text: - if text[0] in u' \n\x85\u2028\u2029': - hints += unicode(self.best_indent) - if text[-1] not in u'\n\x85\u2028\u2029': - hints += u'-' - elif len(text) == 1 or text[-2] in u'\n\x85\u2028\u2029': - hints += u'+' + if text[0] in ' \n\x85\u2028\u2029': + hints += str(self.best_indent) + if text[-1] not in '\n\x85\u2028\u2029': + hints += '-' + elif len(text) == 1 or text[-2] in '\n\x85\u2028\u2029': + hints += '+' return hints def write_folded(self, text): hints = self.determine_block_hints(text) - self.write_indicator(u'>'+hints, True) - if hints[-1:] == u'+': + self.write_indicator('>'+hints, True) + if hints[-1:] == '+': self.open_ended = True self.write_line_break() leading_space = True @@ -1005,13 +1003,13 @@ def write_folded(self, text): if end < len(text): ch = text[end] if breaks: - if ch is None or ch not in u'\n\x85\u2028\u2029': - if not leading_space and ch is not None and ch != u' ' \ - and text[start] == u'\n': + if ch is None or ch not in '\n\x85\u2028\u2029': + if not leading_space and ch is not None and ch != ' ' \ + and text[start] == '\n': self.write_line_break() - leading_space = (ch == u' ') + leading_space = (ch == ' ') for br in text[start:end]: - if br == u'\n': + if br == '\n': self.write_line_break() else: self.write_line_break(br) @@ -1019,7 +1017,7 @@ def write_folded(self, text): self.write_indent() start = end elif spaces: - if ch != u' ': + if ch != ' ': if start+1 == end and self.column > self.best_width: self.write_indent() else: @@ -1030,7 +1028,7 @@ def write_folded(self, text): self.stream.write(data) start = end else: - if ch is None or ch in u' \n\x85\u2028\u2029': + if ch is None or ch in ' \n\x85\u2028\u2029': data = text[start:end] self.column += len(data) if self.encoding: @@ -1040,14 +1038,14 @@ def write_folded(self, text): self.write_line_break() start = end if ch is not None: - breaks = (ch in u'\n\x85\u2028\u2029') - spaces = (ch == u' ') + breaks = (ch in '\n\x85\u2028\u2029') + spaces = (ch == ' ') end += 1 def write_literal(self, text): hints = self.determine_block_hints(text) - self.write_indicator(u'|'+hints, True) - if hints[-1:] == u'+': + self.write_indicator('|'+hints, True) + if hints[-1:] == '+': self.open_ended = True self.write_line_break() breaks = True @@ -1057,9 +1055,9 @@ def write_literal(self, text): if end < len(text): ch = text[end] if breaks: - if ch is None or ch not in u'\n\x85\u2028\u2029': + if ch is None or ch not in '\n\x85\u2028\u2029': for br in text[start:end]: - if br == u'\n': + if br == '\n': self.write_line_break() else: self.write_line_break(br) @@ -1067,7 +1065,7 @@ def write_literal(self, text): self.write_indent() start = end else: - if ch is None or ch in u'\n\x85\u2028\u2029': + if ch is None or ch in '\n\x85\u2028\u2029': data = text[start:end] if self.encoding: data = data.encode(self.encoding) @@ -1076,7 +1074,7 @@ def write_literal(self, text): self.write_line_break() start = end if ch is not None: - breaks = (ch in u'\n\x85\u2028\u2029') + breaks = (ch in '\n\x85\u2028\u2029') end += 1 def write_plain(self, text, split=True): @@ -1085,7 +1083,7 @@ def write_plain(self, text, split=True): if not text: return if not self.whitespace: - data = u' ' + data = ' ' self.column += len(data) if self.encoding: data = data.encode(self.encoding) @@ -1100,7 +1098,7 @@ def write_plain(self, text, split=True): if end < len(text): ch = text[end] if spaces: - if ch != u' ': + if ch != ' ': if start+1 == end and self.column > self.best_width and split: self.write_indent() self.whitespace = False @@ -1113,11 +1111,11 @@ def write_plain(self, text, split=True): self.stream.write(data) start = end elif breaks: - if ch not in u'\n\x85\u2028\u2029': - if text[start] == u'\n': + if ch not in '\n\x85\u2028\u2029': + if text[start] == '\n': self.write_line_break() for br in text[start:end]: - if br == u'\n': + if br == '\n': self.write_line_break() else: self.write_line_break(br) @@ -1126,7 +1124,7 @@ def write_plain(self, text, split=True): self.indention = False start = end else: - if ch is None or ch in u' \n\x85\u2028\u2029': + if ch is None or ch in ' \n\x85\u2028\u2029': data = text[start:end] self.column += len(data) if self.encoding: @@ -1134,7 +1132,6 @@ def write_plain(self, text, split=True): self.stream.write(data) start = end if ch is not None: - spaces = (ch == u' ') - breaks = (ch in u'\n\x85\u2028\u2029') + spaces = (ch == ' ') + breaks = (ch in '\n\x85\u2028\u2029') end += 1 - diff --git a/bin/yaml/emitter.pyc b/bin/yaml/emitter.pyc deleted file mode 100644 index a98dd7cb..00000000 Binary files a/bin/yaml/emitter.pyc and /dev/null differ diff --git a/bin/yaml/error.py b/bin/yaml/error.py index 577686db..b796b4dc 100644 --- a/bin/yaml/error.py +++ b/bin/yaml/error.py @@ -1,7 +1,7 @@ __all__ = ['Mark', 'YAMLError', 'MarkedYAMLError'] -class Mark(object): +class Mark: def __init__(self, name, index, line, column, buffer, pointer): self.name = name @@ -16,7 +16,7 @@ def get_snippet(self, indent=4, max_length=75): return None head = '' start = self.pointer - while start > 0 and self.buffer[start-1] not in u'\0\r\n\x85\u2028\u2029': + while start > 0 and self.buffer[start-1] not in '\0\r\n\x85\u2028\u2029': start -= 1 if self.pointer-start > max_length/2-1: head = ' ... ' @@ -24,13 +24,13 @@ def get_snippet(self, indent=4, max_length=75): break tail = '' end = self.pointer - while end < len(self.buffer) and self.buffer[end] not in u'\0\r\n\x85\u2028\u2029': + while end < len(self.buffer) and self.buffer[end] not in '\0\r\n\x85\u2028\u2029': end += 1 if end-self.pointer > max_length/2-1: tail = ' ... ' end -= 5 break - snippet = self.buffer[start:end].encode('utf-8') + snippet = self.buffer[start:end] return ' '*indent + head + snippet + tail + '\n' \ + ' '*(indent+self.pointer-start+len(head)) + '^' diff --git a/bin/yaml/error.pyc b/bin/yaml/error.pyc deleted file mode 100644 index 48dcb724..00000000 Binary files a/bin/yaml/error.pyc and /dev/null differ diff --git a/bin/yaml/events.pyc b/bin/yaml/events.pyc deleted file mode 100644 index f1aa7e83..00000000 Binary files a/bin/yaml/events.pyc and /dev/null differ diff --git a/bin/yaml/loader.py b/bin/yaml/loader.py index 293ff467..414cb2c1 100644 --- a/bin/yaml/loader.py +++ b/bin/yaml/loader.py @@ -1,12 +1,12 @@ -__all__ = ['BaseLoader', 'SafeLoader', 'Loader'] +__all__ = ['BaseLoader', 'FullLoader', 'SafeLoader', 'Loader', 'UnsafeLoader'] -from reader import * -from scanner import * -from parser import * -from composer import * -from constructor import * -from resolver import * +from .reader import * +from .scanner import * +from .parser import * +from .composer import * +from .constructor import * +from .resolver import * class BaseLoader(Reader, Scanner, Parser, Composer, BaseConstructor, BaseResolver): @@ -18,6 +18,16 @@ def __init__(self, stream): BaseConstructor.__init__(self) BaseResolver.__init__(self) +class FullLoader(Reader, Scanner, Parser, Composer, FullConstructor, Resolver): + + def __init__(self, stream): + Reader.__init__(self, stream) + Scanner.__init__(self) + Parser.__init__(self) + Composer.__init__(self) + FullConstructor.__init__(self) + Resolver.__init__(self) + class SafeLoader(Reader, Scanner, Parser, Composer, SafeConstructor, Resolver): def __init__(self, stream): @@ -38,3 +48,16 @@ def __init__(self, stream): Constructor.__init__(self) Resolver.__init__(self) +# UnsafeLoader is the same as Loader (which is and was always unsafe on +# untrusted input). Use of either Loader or UnsafeLoader should be rare, since +# FullLoad should be able to load almost all YAML safely. Loader is left intact +# to ensure backwards compatability. +class UnsafeLoader(Reader, Scanner, Parser, Composer, Constructor, Resolver): + + def __init__(self, stream): + Reader.__init__(self, stream) + Scanner.__init__(self) + Parser.__init__(self) + Composer.__init__(self) + Constructor.__init__(self) + Resolver.__init__(self) diff --git a/bin/yaml/loader.pyc b/bin/yaml/loader.pyc deleted file mode 100644 index e17d48a2..00000000 Binary files a/bin/yaml/loader.pyc and /dev/null differ diff --git a/bin/yaml/nodes.pyc b/bin/yaml/nodes.pyc deleted file mode 100644 index 11ee70ce..00000000 Binary files a/bin/yaml/nodes.pyc and /dev/null differ diff --git a/bin/yaml/parser.py b/bin/yaml/parser.py index f9e3057f..13a5995d 100644 --- a/bin/yaml/parser.py +++ b/bin/yaml/parser.py @@ -61,21 +61,21 @@ __all__ = ['Parser', 'ParserError'] -from error import MarkedYAMLError -from tokens import * -from events import * -from scanner import * +from .error import MarkedYAMLError +from .tokens import * +from .events import * +from .scanner import * class ParserError(MarkedYAMLError): pass -class Parser(object): +class Parser: # Since writing a recursive-descendant parser is a straightforward task, we # do not give many comments here. DEFAULT_TAGS = { - u'!': u'!', - u'!!': u'tag:yaml.org,2002:', + '!': '!', + '!!': 'tag:yaml.org,2002:', } def __init__(self): @@ -219,7 +219,7 @@ def process_directives(self): self.tag_handles = {} while self.check_token(DirectiveToken): token = self.get_token() - if token.name == u'YAML': + if token.name == 'YAML': if self.yaml_version is not None: raise ParserError(None, None, "found duplicate YAML directive", token.start_mark) @@ -229,11 +229,11 @@ def process_directives(self): "found incompatible YAML document (version 1.* is required)", token.start_mark) self.yaml_version = token.value - elif token.name == u'TAG': + elif token.name == 'TAG': handle, prefix = token.value if handle in self.tag_handles: raise ParserError(None, None, - "duplicate tag handle %r" % handle.encode('utf-8'), + "duplicate tag handle %r" % handle, token.start_mark) self.tag_handles[handle] = prefix if self.tag_handles: @@ -303,19 +303,19 @@ def parse_node(self, block=False, indentless_sequence=False): if handle is not None: if handle not in self.tag_handles: raise ParserError("while parsing a node", start_mark, - "found undefined tag handle %r" % handle.encode('utf-8'), + "found undefined tag handle %r" % handle, tag_mark) tag = self.tag_handles[handle]+suffix else: tag = suffix - #if tag == u'!': + #if tag == '!': # raise ParserError("while parsing a node", start_mark, # "found non-specific tag '!'", tag_mark, # "Please check 'http://pyyaml.org/wiki/YAMLNonSpecificTag' and share your opinion.") if start_mark is None: start_mark = end_mark = self.peek_token().start_mark event = None - implicit = (tag is None or tag == u'!') + implicit = (tag is None or tag == '!') if indentless_sequence and self.check_token(BlockEntryToken): end_mark = self.peek_token().end_mark event = SequenceStartEvent(anchor, tag, implicit, @@ -325,7 +325,7 @@ def parse_node(self, block=False, indentless_sequence=False): if self.check_token(ScalarToken): token = self.get_token() end_mark = token.end_mark - if (token.plain and tag is None) or tag == u'!': + if (token.plain and tag is None) or tag == '!': implicit = (True, False) elif tag is None: implicit = (False, True) @@ -357,7 +357,7 @@ def parse_node(self, block=False, indentless_sequence=False): elif anchor is not None or tag is not None: # Empty scalars are allowed even if a tag or an anchor is # specified. - event = ScalarEvent(anchor, tag, (implicit, False), u'', + event = ScalarEvent(anchor, tag, (implicit, False), '', start_mark, end_mark) self.state = self.states.pop() else: @@ -585,5 +585,5 @@ def parse_flow_mapping_empty_value(self): return self.process_empty_scalar(self.peek_token().start_mark) def process_empty_scalar(self, mark): - return ScalarEvent(None, None, (True, False), u'', mark, mark) + return ScalarEvent(None, None, (True, False), '', mark, mark) diff --git a/bin/yaml/parser.pyc b/bin/yaml/parser.pyc deleted file mode 100644 index 209ff97b..00000000 Binary files a/bin/yaml/parser.pyc and /dev/null differ diff --git a/bin/yaml/reader.py b/bin/yaml/reader.py index 3249e6b9..774b0219 100644 --- a/bin/yaml/reader.py +++ b/bin/yaml/reader.py @@ -17,7 +17,7 @@ __all__ = ['Reader', 'ReaderError'] -from error import YAMLError, Mark +from .error import YAMLError, Mark import codecs, re @@ -31,7 +31,7 @@ def __init__(self, name, position, character, encoding, reason): self.reason = reason def __str__(self): - if isinstance(self.character, str): + if isinstance(self.character, bytes): return "'%s' codec can't decode byte #x%02x: %s\n" \ " in \"%s\", position %d" \ % (self.encoding, ord(self.character), self.reason, @@ -44,13 +44,13 @@ def __str__(self): class Reader(object): # Reader: - # - determines the data encoding and converts it to unicode, + # - determines the data encoding and converts it to a unicode string, # - checks if characters are in allowed range, # - adds '\0' to the end. # Reader accepts + # - a `bytes` object, # - a `str` object, - # - a `unicode` object, # - a file-like object with its `read` method returning `str`, # - a file-like object with its `read` method returning `unicode`. @@ -61,7 +61,7 @@ def __init__(self, stream): self.stream = None self.stream_pointer = 0 self.eof = True - self.buffer = u'' + self.buffer = '' self.pointer = 0 self.raw_buffer = None self.raw_decode = None @@ -69,19 +69,19 @@ def __init__(self, stream): self.index = 0 self.line = 0 self.column = 0 - if isinstance(stream, unicode): + if isinstance(stream, str): self.name = "" self.check_printable(stream) - self.buffer = stream+u'\0' - elif isinstance(stream, str): - self.name = "" + self.buffer = stream+'\0' + elif isinstance(stream, bytes): + self.name = "" self.raw_buffer = stream self.determine_encoding() else: self.stream = stream self.name = getattr(stream, 'name', "") self.eof = False - self.raw_buffer = '' + self.raw_buffer = None self.determine_encoding() def peek(self, index=0): @@ -103,11 +103,11 @@ def forward(self, length=1): ch = self.buffer[self.pointer] self.pointer += 1 self.index += 1 - if ch in u'\n\x85\u2028\u2029' \ - or (ch == u'\r' and self.buffer[self.pointer] != u'\n'): + if ch in '\n\x85\u2028\u2029' \ + or (ch == '\r' and self.buffer[self.pointer] != '\n'): self.line += 1 self.column = 0 - elif ch != u'\uFEFF': + elif ch != '\uFEFF': self.column += 1 length -= 1 @@ -120,9 +120,9 @@ def get_mark(self): None, None) def determine_encoding(self): - while not self.eof and len(self.raw_buffer) < 2: + while not self.eof and (self.raw_buffer is None or len(self.raw_buffer) < 2): self.update_raw() - if not isinstance(self.raw_buffer, unicode): + if isinstance(self.raw_buffer, bytes): if self.raw_buffer.startswith(codecs.BOM_UTF16_LE): self.raw_decode = codecs.utf_16_le_decode self.encoding = 'utf-16-le' @@ -134,7 +134,7 @@ def determine_encoding(self): self.encoding = 'utf-8' self.update(1) - NON_PRINTABLE = re.compile(u'[^\x09\x0A\x0D\x20-\x7E\x85\xA0-\uD7FF\uE000-\uFFFD]') + NON_PRINTABLE = re.compile('[^\x09\x0A\x0D\x20-\x7E\x85\xA0-\uD7FF\uE000-\uFFFD\U00010000-\U0010ffff]') def check_printable(self, data): match = self.NON_PRINTABLE.search(data) if match: @@ -155,8 +155,8 @@ def update(self, length): try: data, converted = self.raw_decode(self.raw_buffer, 'strict', self.eof) - except UnicodeDecodeError, exc: - character = exc.object[exc.start] + except UnicodeDecodeError as exc: + character = self.raw_buffer[exc.start] if self.stream is not None: position = self.stream_pointer-len(self.raw_buffer)+exc.start else: @@ -170,21 +170,16 @@ def update(self, length): self.buffer += data self.raw_buffer = self.raw_buffer[converted:] if self.eof: - self.buffer += u'\0' + self.buffer += '\0' self.raw_buffer = None break - def update_raw(self, size=1024): + def update_raw(self, size=4096): data = self.stream.read(size) - if data: - self.raw_buffer += data - self.stream_pointer += len(data) + if self.raw_buffer is None: + self.raw_buffer = data else: + self.raw_buffer += data + self.stream_pointer += len(data) + if not data: self.eof = True - -#try: -# import psyco -# psyco.bind(Reader) -#except ImportError: -# pass - diff --git a/bin/yaml/reader.pyc b/bin/yaml/reader.pyc deleted file mode 100644 index b0b2b16b..00000000 Binary files a/bin/yaml/reader.pyc and /dev/null differ diff --git a/bin/yaml/representer.py b/bin/yaml/representer.py index 4ea8cb1f..dd144017 100644 --- a/bin/yaml/representer.py +++ b/bin/yaml/representer.py @@ -2,23 +2,22 @@ __all__ = ['BaseRepresenter', 'SafeRepresenter', 'Representer', 'RepresenterError'] -from error import * -from nodes import * +from .error import * +from .nodes import * -import datetime - -import sys, copy_reg, types +import datetime, sys, copyreg, types, base64, collections class RepresenterError(YAMLError): pass -class BaseRepresenter(object): +class BaseRepresenter: yaml_representers = {} yaml_multi_representers = {} - def __init__(self, default_style=None, default_flow_style=None): + def __init__(self, default_style=None, default_flow_style=False, sort_keys=True): self.default_style = default_style + self.sort_keys = sort_keys self.default_flow_style = default_flow_style self.represented_objects = {} self.object_keeper = [] @@ -31,12 +30,6 @@ def represent(self, data): self.object_keeper = [] self.alias_key = None - def get_classobj_bases(self, cls): - bases = [cls] - for base in cls.__bases__: - bases.extend(self.get_classobj_bases(base)) - return bases - def represent_data(self, data): if self.ignore_aliases(data): self.alias_key = None @@ -51,8 +44,6 @@ def represent_data(self, data): #self.represented_objects[alias_key] = None self.object_keeper.append(data) data_types = type(data).__mro__ - if type(data) is types.InstanceType: - data_types = self.get_classobj_bases(data.__class__)+list(data_types) if data_types[0] in self.yaml_representers: node = self.yaml_representers[data_types[0]](self, data) else: @@ -66,22 +57,22 @@ def represent_data(self, data): elif None in self.yaml_representers: node = self.yaml_representers[None](self, data) else: - node = ScalarNode(None, unicode(data)) + node = ScalarNode(None, str(data)) #if alias_key is not None: # self.represented_objects[alias_key] = node return node + @classmethod def add_representer(cls, data_type, representer): if not 'yaml_representers' in cls.__dict__: cls.yaml_representers = cls.yaml_representers.copy() cls.yaml_representers[data_type] = representer - add_representer = classmethod(add_representer) + @classmethod def add_multi_representer(cls, data_type, representer): if not 'yaml_multi_representers' in cls.__dict__: cls.yaml_multi_representers = cls.yaml_multi_representers.copy() cls.yaml_multi_representers[data_type] = representer - add_multi_representer = classmethod(add_multi_representer) def represent_scalar(self, tag, value, style=None): if style is None: @@ -116,8 +107,12 @@ def represent_mapping(self, tag, mapping, flow_style=None): self.represented_objects[self.alias_key] = node best_style = True if hasattr(mapping, 'items'): - mapping = mapping.items() - mapping.sort() + mapping = list(mapping.items()) + if self.sort_keys: + try: + mapping = sorted(mapping) + except TypeError: + pass for item_key, item_value in mapping: node_key = self.represent_data(item_key) node_value = self.represent_data(item_value) @@ -143,44 +138,31 @@ def ignore_aliases(self, data): return True if isinstance(data, tuple) and data == (): return True - if isinstance(data, (str, unicode, bool, int, float)): + if isinstance(data, (str, bytes, bool, int, float)): return True def represent_none(self, data): - return self.represent_scalar(u'tag:yaml.org,2002:null', - u'null') + return self.represent_scalar('tag:yaml.org,2002:null', 'null') def represent_str(self, data): - tag = None - style = None - try: - data = unicode(data, 'ascii') - tag = u'tag:yaml.org,2002:str' - except UnicodeDecodeError: - try: - data = unicode(data, 'utf-8') - tag = u'tag:yaml.org,2002:str' - except UnicodeDecodeError: - data = data.encode('base64') - tag = u'tag:yaml.org,2002:binary' - style = '|' - return self.represent_scalar(tag, data, style=style) - - def represent_unicode(self, data): - return self.represent_scalar(u'tag:yaml.org,2002:str', data) + return self.represent_scalar('tag:yaml.org,2002:str', data) + + def represent_binary(self, data): + if hasattr(base64, 'encodebytes'): + data = base64.encodebytes(data).decode('ascii') + else: + data = base64.encodestring(data).decode('ascii') + return self.represent_scalar('tag:yaml.org,2002:binary', data, style='|') def represent_bool(self, data): if data: - value = u'true' + value = 'true' else: - value = u'false' - return self.represent_scalar(u'tag:yaml.org,2002:bool', value) + value = 'false' + return self.represent_scalar('tag:yaml.org,2002:bool', value) def represent_int(self, data): - return self.represent_scalar(u'tag:yaml.org,2002:int', unicode(data)) - - def represent_long(self, data): - return self.represent_scalar(u'tag:yaml.org,2002:int', unicode(data)) + return self.represent_scalar('tag:yaml.org,2002:int', str(data)) inf_value = 1e300 while repr(inf_value) != repr(inf_value*inf_value): @@ -188,13 +170,13 @@ def represent_long(self, data): def represent_float(self, data): if data != data or (data == 0.0 and data == 1.0): - value = u'.nan' + value = '.nan' elif data == self.inf_value: - value = u'.inf' + value = '.inf' elif data == -self.inf_value: - value = u'-.inf' + value = '-.inf' else: - value = unicode(repr(data)).lower() + value = repr(data).lower() # Note that in some cases `repr(data)` represents a float number # without the decimal parts. For instance: # >>> repr(1e17) @@ -202,9 +184,9 @@ def represent_float(self, data): # Unfortunately, this is not a valid float representation according # to the definition of the `!!float` tag. We fix this by adding # '.0' before the 'e' symbol. - if u'.' not in value and u'e' in value: - value = value.replace(u'e', u'.0e', 1) - return self.represent_scalar(u'tag:yaml.org,2002:float', value) + if '.' not in value and 'e' in value: + value = value.replace('e', '.0e', 1) + return self.represent_scalar('tag:yaml.org,2002:float', value) def represent_list(self, data): #pairs = (len(data) > 0 and isinstance(data, list)) @@ -214,7 +196,7 @@ def represent_list(self, data): # pairs = False # break #if not pairs: - return self.represent_sequence(u'tag:yaml.org,2002:seq', data) + return self.represent_sequence('tag:yaml.org,2002:seq', data) #value = [] #for item_key, item_value in data: # value.append(self.represent_mapping(u'tag:yaml.org,2002:map', @@ -222,21 +204,21 @@ def represent_list(self, data): #return SequenceNode(u'tag:yaml.org,2002:pairs', value) def represent_dict(self, data): - return self.represent_mapping(u'tag:yaml.org,2002:map', data) + return self.represent_mapping('tag:yaml.org,2002:map', data) def represent_set(self, data): value = {} for key in data: value[key] = None - return self.represent_mapping(u'tag:yaml.org,2002:set', value) + return self.represent_mapping('tag:yaml.org,2002:set', value) def represent_date(self, data): - value = unicode(data.isoformat()) - return self.represent_scalar(u'tag:yaml.org,2002:timestamp', value) + value = data.isoformat() + return self.represent_scalar('tag:yaml.org,2002:timestamp', value) def represent_datetime(self, data): - value = unicode(data.isoformat(' ')) - return self.represent_scalar(u'tag:yaml.org,2002:timestamp', value) + value = data.isoformat(' ') + return self.represent_scalar('tag:yaml.org,2002:timestamp', value) def represent_yaml_object(self, tag, data, cls, flow_style=None): if hasattr(data, '__getstate__'): @@ -246,7 +228,7 @@ def represent_yaml_object(self, tag, data, cls, flow_style=None): return self.represent_mapping(tag, state, flow_style=flow_style) def represent_undefined(self, data): - raise RepresenterError("cannot represent an object: %s" % data) + raise RepresenterError("cannot represent an object", data) SafeRepresenter.add_representer(type(None), SafeRepresenter.represent_none) @@ -254,8 +236,8 @@ def represent_undefined(self, data): SafeRepresenter.add_representer(str, SafeRepresenter.represent_str) -SafeRepresenter.add_representer(unicode, - SafeRepresenter.represent_unicode) +SafeRepresenter.add_representer(bytes, + SafeRepresenter.represent_binary) SafeRepresenter.add_representer(bool, SafeRepresenter.represent_bool) @@ -263,9 +245,6 @@ def represent_undefined(self, data): SafeRepresenter.add_representer(int, SafeRepresenter.represent_int) -SafeRepresenter.add_representer(long, - SafeRepresenter.represent_long) - SafeRepresenter.add_representer(float, SafeRepresenter.represent_float) @@ -292,99 +271,27 @@ def represent_undefined(self, data): class Representer(SafeRepresenter): - def represent_str(self, data): - tag = None - style = None - try: - data = unicode(data, 'ascii') - tag = u'tag:yaml.org,2002:str' - except UnicodeDecodeError: - try: - data = unicode(data, 'utf-8') - tag = u'tag:yaml.org,2002:python/str' - except UnicodeDecodeError: - data = data.encode('base64') - tag = u'tag:yaml.org,2002:binary' - style = '|' - return self.represent_scalar(tag, data, style=style) - - def represent_unicode(self, data): - tag = None - try: - data.encode('ascii') - tag = u'tag:yaml.org,2002:python/unicode' - except UnicodeEncodeError: - tag = u'tag:yaml.org,2002:str' - return self.represent_scalar(tag, data) - - def represent_long(self, data): - tag = u'tag:yaml.org,2002:int' - if int(data) is not data: - tag = u'tag:yaml.org,2002:python/long' - return self.represent_scalar(tag, unicode(data)) - def represent_complex(self, data): if data.imag == 0.0: - data = u'%r' % data.real + data = '%r' % data.real elif data.real == 0.0: - data = u'%rj' % data.imag + data = '%rj' % data.imag elif data.imag > 0: - data = u'%r+%rj' % (data.real, data.imag) + data = '%r+%rj' % (data.real, data.imag) else: - data = u'%r%rj' % (data.real, data.imag) - return self.represent_scalar(u'tag:yaml.org,2002:python/complex', data) + data = '%r%rj' % (data.real, data.imag) + return self.represent_scalar('tag:yaml.org,2002:python/complex', data) def represent_tuple(self, data): - return self.represent_sequence(u'tag:yaml.org,2002:python/tuple', data) + return self.represent_sequence('tag:yaml.org,2002:python/tuple', data) def represent_name(self, data): - name = u'%s.%s' % (data.__module__, data.__name__) - return self.represent_scalar(u'tag:yaml.org,2002:python/name:'+name, u'') + name = '%s.%s' % (data.__module__, data.__name__) + return self.represent_scalar('tag:yaml.org,2002:python/name:'+name, '') def represent_module(self, data): return self.represent_scalar( - u'tag:yaml.org,2002:python/module:'+data.__name__, u'') - - def represent_instance(self, data): - # For instances of classic classes, we use __getinitargs__ and - # __getstate__ to serialize the data. - - # If data.__getinitargs__ exists, the object must be reconstructed by - # calling cls(**args), where args is a tuple returned by - # __getinitargs__. Otherwise, the cls.__init__ method should never be - # called and the class instance is created by instantiating a trivial - # class and assigning to the instance's __class__ variable. - - # If data.__getstate__ exists, it returns the state of the object. - # Otherwise, the state of the object is data.__dict__. - - # We produce either a !!python/object or !!python/object/new node. - # If data.__getinitargs__ does not exist and state is a dictionary, we - # produce a !!python/object node . Otherwise we produce a - # !!python/object/new node. - - cls = data.__class__ - class_name = u'%s.%s' % (cls.__module__, cls.__name__) - args = None - state = None - if hasattr(data, '__getinitargs__'): - args = list(data.__getinitargs__()) - if hasattr(data, '__getstate__'): - state = data.__getstate__() - else: - state = data.__dict__ - if args is None and isinstance(state, dict): - return self.represent_mapping( - u'tag:yaml.org,2002:python/object:'+class_name, state) - if isinstance(state, dict) and not state: - return self.represent_sequence( - u'tag:yaml.org,2002:python/object/new:'+class_name, args) - value = {} - if args: - value['args'] = args - value['state'] = state - return self.represent_mapping( - u'tag:yaml.org,2002:python/object/new:'+class_name, value) + 'tag:yaml.org,2002:python/module:'+data.__name__, '') def represent_object(self, data): # We use __reduce__ API to save the data. data.__reduce__ returns @@ -404,14 +311,14 @@ def represent_object(self, data): # !!python/object/apply node. cls = type(data) - if cls in copy_reg.dispatch_table: - reduce = copy_reg.dispatch_table[cls](data) + if cls in copyreg.dispatch_table: + reduce = copyreg.dispatch_table[cls](data) elif hasattr(data, '__reduce_ex__'): reduce = data.__reduce_ex__(2) elif hasattr(data, '__reduce__'): reduce = data.__reduce__() else: - raise RepresenterError("cannot represent object: %r" % data) + raise RepresenterError("cannot represent an object", data) reduce = (list(reduce)+[None]*5)[:5] function, args, state, listitems, dictitems = reduce args = list(args) @@ -424,16 +331,16 @@ def represent_object(self, data): if function.__name__ == '__newobj__': function = args[0] args = args[1:] - tag = u'tag:yaml.org,2002:python/object/new:' + tag = 'tag:yaml.org,2002:python/object/new:' newobj = True else: - tag = u'tag:yaml.org,2002:python/object/apply:' + tag = 'tag:yaml.org,2002:python/object/apply:' newobj = False - function_name = u'%s.%s' % (function.__module__, function.__name__) + function_name = '%s.%s' % (function.__module__, function.__name__) if not args and not listitems and not dictitems \ and isinstance(state, dict) and newobj: return self.represent_mapping( - u'tag:yaml.org,2002:python/object:'+function_name, state) + 'tag:yaml.org,2002:python/object:'+function_name, state) if not listitems and not dictitems \ and isinstance(state, dict) and not state: return self.represent_sequence(tag+function_name, args) @@ -448,14 +355,13 @@ def represent_object(self, data): value['dictitems'] = dictitems return self.represent_mapping(tag+function_name, value) -Representer.add_representer(str, - Representer.represent_str) - -Representer.add_representer(unicode, - Representer.represent_unicode) - -Representer.add_representer(long, - Representer.represent_long) + def represent_ordered_dict(self, data): + # Provide uniform representation across different Python versions. + data_type = type(data) + tag = 'tag:yaml.org,2002:python/object/apply:%s.%s' \ + % (data_type.__module__, data_type.__name__) + items = [[key, value] for key, value in data.items()] + return self.represent_sequence(tag, [items]) Representer.add_representer(complex, Representer.represent_complex) @@ -466,8 +372,8 @@ def represent_object(self, data): Representer.add_representer(type, Representer.represent_name) -Representer.add_representer(types.ClassType, - Representer.represent_name) +Representer.add_representer(collections.OrderedDict, + Representer.represent_ordered_dict) Representer.add_representer(types.FunctionType, Representer.represent_name) @@ -478,9 +384,6 @@ def represent_object(self, data): Representer.add_representer(types.ModuleType, Representer.represent_module) -Representer.add_multi_representer(types.InstanceType, - Representer.represent_instance) - Representer.add_multi_representer(object, Representer.represent_object) diff --git a/bin/yaml/representer.pyc b/bin/yaml/representer.pyc deleted file mode 100644 index cfe496ab..00000000 Binary files a/bin/yaml/representer.pyc and /dev/null differ diff --git a/bin/yaml/resolver.py b/bin/yaml/resolver.py index 528fbc0e..02b82e73 100644 --- a/bin/yaml/resolver.py +++ b/bin/yaml/resolver.py @@ -1,19 +1,19 @@ __all__ = ['BaseResolver', 'Resolver'] -from error import * -from nodes import * +from .error import * +from .nodes import * import re class ResolverError(YAMLError): pass -class BaseResolver(object): +class BaseResolver: - DEFAULT_SCALAR_TAG = u'tag:yaml.org,2002:str' - DEFAULT_SEQUENCE_TAG = u'tag:yaml.org,2002:seq' - DEFAULT_MAPPING_TAG = u'tag:yaml.org,2002:map' + DEFAULT_SCALAR_TAG = 'tag:yaml.org,2002:str' + DEFAULT_SEQUENCE_TAG = 'tag:yaml.org,2002:seq' + DEFAULT_MAPPING_TAG = 'tag:yaml.org,2002:map' yaml_implicit_resolvers = {} yaml_path_resolvers = {} @@ -22,6 +22,7 @@ def __init__(self): self.resolver_exact_paths = [] self.resolver_prefix_paths = [] + @classmethod def add_implicit_resolver(cls, tag, regexp, first): if not 'yaml_implicit_resolvers' in cls.__dict__: implicit_resolvers = {} @@ -32,8 +33,8 @@ def add_implicit_resolver(cls, tag, regexp, first): first = [None] for ch in first: cls.yaml_implicit_resolvers.setdefault(ch, []).append((tag, regexp)) - add_implicit_resolver = classmethod(add_implicit_resolver) + @classmethod def add_path_resolver(cls, tag, path, kind=None): # Note: `add_path_resolver` is experimental. The API could be changed. # `new_path` is a pattern that is matched against the path from the @@ -69,10 +70,10 @@ def add_path_resolver(cls, tag, path, kind=None): elif node_check is dict: node_check = MappingNode elif node_check not in [ScalarNode, SequenceNode, MappingNode] \ - and not isinstance(node_check, basestring) \ + and not isinstance(node_check, str) \ and node_check is not None: raise ResolverError("Invalid node checker: %s" % node_check) - if not isinstance(index_check, (basestring, int)) \ + if not isinstance(index_check, (str, int)) \ and index_check is not None: raise ResolverError("Invalid index checker: %s" % index_check) new_path.append((node_check, index_check)) @@ -86,7 +87,6 @@ def add_path_resolver(cls, tag, path, kind=None): and kind is not None: raise ResolverError("Invalid node kind: %s" % kind) cls.yaml_path_resolvers[tuple(new_path), kind] = tag - add_path_resolver = classmethod(add_path_resolver) def descend_resolver(self, current_node, current_index): if not self.yaml_path_resolvers: @@ -120,7 +120,7 @@ def ascend_resolver(self): def check_resolver_prefix(self, depth, path, kind, current_node, current_index): node_check, index_check = path[depth-1] - if isinstance(node_check, basestring): + if isinstance(node_check, str): if current_node.tag != node_check: return elif node_check is not None: @@ -131,7 +131,7 @@ def check_resolver_prefix(self, depth, path, kind, if (index_check is False or index_check is None) \ and current_index is None: return - if isinstance(index_check, basestring): + if isinstance(index_check, str): if not (isinstance(current_index, ScalarNode) and index_check == current_index.value): return @@ -142,8 +142,8 @@ def check_resolver_prefix(self, depth, path, kind, def resolve(self, kind, value, implicit): if kind is ScalarNode and implicit[0]: - if value == u'': - resolvers = self.yaml_implicit_resolvers.get(u'', []) + if value == '': + resolvers = self.yaml_implicit_resolvers.get('', []) else: resolvers = self.yaml_implicit_resolvers.get(value[0], []) resolvers += self.yaml_implicit_resolvers.get(None, []) @@ -168,60 +168,60 @@ class Resolver(BaseResolver): pass Resolver.add_implicit_resolver( - u'tag:yaml.org,2002:bool', - re.compile(ur'''^(?:yes|Yes|YES|no|No|NO + 'tag:yaml.org,2002:bool', + re.compile(r'''^(?:yes|Yes|YES|no|No|NO |true|True|TRUE|false|False|FALSE |on|On|ON|off|Off|OFF)$''', re.X), - list(u'yYnNtTfFoO')) + list('yYnNtTfFoO')) Resolver.add_implicit_resolver( - u'tag:yaml.org,2002:float', - re.compile(ur'''^(?:[-+]?(?:[0-9][0-9_]*)\.[0-9_]*(?:[eE][-+][0-9]+)? + 'tag:yaml.org,2002:float', + re.compile(r'''^(?:[-+]?(?:[0-9][0-9_]*)\.[0-9_]*(?:[eE][-+][0-9]+)? |\.[0-9_]+(?:[eE][-+][0-9]+)? |[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]* |[-+]?\.(?:inf|Inf|INF) |\.(?:nan|NaN|NAN))$''', re.X), - list(u'-+0123456789.')) + list('-+0123456789.')) Resolver.add_implicit_resolver( - u'tag:yaml.org,2002:int', - re.compile(ur'''^(?:[-+]?0b[0-1_]+ + 'tag:yaml.org,2002:int', + re.compile(r'''^(?:[-+]?0b[0-1_]+ |[-+]?0[0-7_]+ |[-+]?(?:0|[1-9][0-9_]*) |[-+]?0x[0-9a-fA-F_]+ |[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)$''', re.X), - list(u'-+0123456789')) + list('-+0123456789')) Resolver.add_implicit_resolver( - u'tag:yaml.org,2002:merge', - re.compile(ur'^(?:<<)$'), - [u'<']) + 'tag:yaml.org,2002:merge', + re.compile(r'^(?:<<)$'), + ['<']) Resolver.add_implicit_resolver( - u'tag:yaml.org,2002:null', - re.compile(ur'''^(?: ~ + 'tag:yaml.org,2002:null', + re.compile(r'''^(?: ~ |null|Null|NULL | )$''', re.X), - [u'~', u'n', u'N', u'']) + ['~', 'n', 'N', '']) Resolver.add_implicit_resolver( - u'tag:yaml.org,2002:timestamp', - re.compile(ur'''^(?:[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] + 'tag:yaml.org,2002:timestamp', + re.compile(r'''^(?:[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] |[0-9][0-9][0-9][0-9] -[0-9][0-9]? -[0-9][0-9]? (?:[Tt]|[ \t]+)[0-9][0-9]? :[0-9][0-9] :[0-9][0-9] (?:\.[0-9]*)? (?:[ \t]*(?:Z|[-+][0-9][0-9]?(?::[0-9][0-9])?))?)$''', re.X), - list(u'0123456789')) + list('0123456789')) Resolver.add_implicit_resolver( - u'tag:yaml.org,2002:value', - re.compile(ur'^(?:=)$'), - [u'=']) + 'tag:yaml.org,2002:value', + re.compile(r'^(?:=)$'), + ['=']) # The following resolver is only for documentation purposes. It cannot work # because plain scalars cannot start with '!', '&', or '*'. Resolver.add_implicit_resolver( - u'tag:yaml.org,2002:yaml', - re.compile(ur'^(?:!|&|\*)$'), - list(u'!&*')) + 'tag:yaml.org,2002:yaml', + re.compile(r'^(?:!|&|\*)$'), + list('!&*')) diff --git a/bin/yaml/resolver.pyc b/bin/yaml/resolver.pyc deleted file mode 100644 index 3bdeb038..00000000 Binary files a/bin/yaml/resolver.pyc and /dev/null differ diff --git a/bin/yaml/scanner.py b/bin/yaml/scanner.py index 834f662a..775dbcc6 100644 --- a/bin/yaml/scanner.py +++ b/bin/yaml/scanner.py @@ -26,13 +26,13 @@ __all__ = ['Scanner', 'ScannerError'] -from error import MarkedYAMLError -from tokens import * +from .error import MarkedYAMLError +from .tokens import * class ScannerError(MarkedYAMLError): pass -class SimpleKey(object): +class SimpleKey: # See below simple keys treatment. def __init__(self, token_number, required, index, line, column, mark): @@ -43,7 +43,7 @@ def __init__(self, token_number, required, index, line, column, mark): self.column = column self.mark = mark -class Scanner(object): +class Scanner: def __init__(self): """Initialize the scanner.""" @@ -124,10 +124,13 @@ def check_token(self, *choices): def peek_token(self): # Return the next token, but do not delete if from the queue. + # Return None if no more tokens. while self.need_more_tokens(): self.fetch_more_tokens() if self.tokens: return self.tokens[0] + else: + return None def get_token(self): # Return the next token. @@ -166,85 +169,85 @@ def fetch_more_tokens(self): ch = self.peek() # Is it the end of stream? - if ch == u'\0': + if ch == '\0': return self.fetch_stream_end() # Is it a directive? - if ch == u'%' and self.check_directive(): + if ch == '%' and self.check_directive(): return self.fetch_directive() # Is it the document start? - if ch == u'-' and self.check_document_start(): + if ch == '-' and self.check_document_start(): return self.fetch_document_start() # Is it the document end? - if ch == u'.' and self.check_document_end(): + if ch == '.' and self.check_document_end(): return self.fetch_document_end() # TODO: support for BOM within a stream. - #if ch == u'\uFEFF': + #if ch == '\uFEFF': # return self.fetch_bom() <-- issue BOMToken # Note: the order of the following checks is NOT significant. # Is it the flow sequence start indicator? - if ch == u'[': + if ch == '[': return self.fetch_flow_sequence_start() # Is it the flow mapping start indicator? - if ch == u'{': + if ch == '{': return self.fetch_flow_mapping_start() # Is it the flow sequence end indicator? - if ch == u']': + if ch == ']': return self.fetch_flow_sequence_end() # Is it the flow mapping end indicator? - if ch == u'}': + if ch == '}': return self.fetch_flow_mapping_end() # Is it the flow entry indicator? - if ch == u',': + if ch == ',': return self.fetch_flow_entry() # Is it the block entry indicator? - if ch == u'-' and self.check_block_entry(): + if ch == '-' and self.check_block_entry(): return self.fetch_block_entry() # Is it the key indicator? - if ch == u'?' and self.check_key(): + if ch == '?' and self.check_key(): return self.fetch_key() # Is it the value indicator? - if ch == u':' and self.check_value(): + if ch == ':' and self.check_value(): return self.fetch_value() # Is it an alias? - if ch == u'*': + if ch == '*': return self.fetch_alias() # Is it an anchor? - if ch == u'&': + if ch == '&': return self.fetch_anchor() # Is it a tag? - if ch == u'!': + if ch == '!': return self.fetch_tag() # Is it a literal scalar? - if ch == u'|' and not self.flow_level: + if ch == '|' and not self.flow_level: return self.fetch_literal() # Is it a folded scalar? - if ch == u'>' and not self.flow_level: + if ch == '>' and not self.flow_level: return self.fetch_folded() # Is it a single quoted scalar? - if ch == u'\'': + if ch == '\'': return self.fetch_single() # Is it a double quoted scalar? - if ch == u'\"': + if ch == '\"': return self.fetch_double() # It must be a plain scalar then. @@ -253,8 +256,8 @@ def fetch_more_tokens(self): # No? It's an error. Let's produce a nice error message. raise ScannerError("while scanning for the next token", None, - "found character %r that cannot start any token" - % ch.encode('utf-8'), self.get_mark()) + "found character %r that cannot start any token" % ch, + self.get_mark()) # Simple keys treatment. @@ -280,7 +283,7 @@ def stale_possible_simple_keys(self): # - should be no longer than 1024 characters. # Disabling this procedure will allow simple keys of any length and # height (may cause problems if indentation is broken though). - for level in self.possible_simple_keys.keys(): + for level in list(self.possible_simple_keys): key = self.possible_simple_keys[level] if key.line != self.line \ or self.index-key.index > 1024: @@ -516,7 +519,7 @@ def fetch_key(self): # Block context needs additional checks. if not self.flow_level: - # Are we allowed to start a key (not nessesary a simple)? + # Are we allowed to start a key (not necessary a simple)? if not self.allow_simple_key: raise ScannerError(None, None, "mapping keys are not allowed here", @@ -564,7 +567,7 @@ def fetch_value(self): else: # Block context needs additional checks. - # (Do we really need them? They will be catched by the parser + # (Do we really need them? They will be caught by the parser # anyway.) if not self.flow_level: @@ -688,22 +691,22 @@ def check_document_start(self): # DOCUMENT-START: ^ '---' (' '|'\n') if self.column == 0: - if self.prefix(3) == u'---' \ - and self.peek(3) in u'\0 \t\r\n\x85\u2028\u2029': + if self.prefix(3) == '---' \ + and self.peek(3) in '\0 \t\r\n\x85\u2028\u2029': return True def check_document_end(self): # DOCUMENT-END: ^ '...' (' '|'\n') if self.column == 0: - if self.prefix(3) == u'...' \ - and self.peek(3) in u'\0 \t\r\n\x85\u2028\u2029': + if self.prefix(3) == '...' \ + and self.peek(3) in '\0 \t\r\n\x85\u2028\u2029': return True def check_block_entry(self): # BLOCK-ENTRY: '-' (' '|'\n') - return self.peek(1) in u'\0 \t\r\n\x85\u2028\u2029' + return self.peek(1) in '\0 \t\r\n\x85\u2028\u2029' def check_key(self): @@ -713,7 +716,7 @@ def check_key(self): # KEY(block context): '?' (' '|'\n') else: - return self.peek(1) in u'\0 \t\r\n\x85\u2028\u2029' + return self.peek(1) in '\0 \t\r\n\x85\u2028\u2029' def check_value(self): @@ -723,7 +726,7 @@ def check_value(self): # VALUE(block context): ':' (' '|'\n') else: - return self.peek(1) in u'\0 \t\r\n\x85\u2028\u2029' + return self.peek(1) in '\0 \t\r\n\x85\u2028\u2029' def check_plain(self): @@ -740,9 +743,9 @@ def check_plain(self): # '-' character) because we want the flow context to be space # independent. ch = self.peek() - return ch not in u'\0 \t\r\n\x85\u2028\u2029-?:,[]{}#&*!|>\'\"%@`' \ - or (self.peek(1) not in u'\0 \t\r\n\x85\u2028\u2029' - and (ch == u'-' or (not self.flow_level and ch in u'?:'))) + return ch not in '\0 \t\r\n\x85\u2028\u2029-?:,[]{}#&*!|>\'\"%@`' \ + or (self.peek(1) not in '\0 \t\r\n\x85\u2028\u2029' + and (ch == '-' or (not self.flow_level and ch in '?:'))) # Scanners. @@ -766,14 +769,14 @@ def scan_to_next_token(self): # `unwind_indent` before issuing BLOCK-END. # Scanners for block, flow, and plain scalars need to be modified. - if self.index == 0 and self.peek() == u'\uFEFF': + if self.index == 0 and self.peek() == '\uFEFF': self.forward() found = False while not found: - while self.peek() == u' ': + while self.peek() == ' ': self.forward() - if self.peek() == u'#': - while self.peek() not in u'\0\r\n\x85\u2028\u2029': + if self.peek() == '#': + while self.peek() not in '\0\r\n\x85\u2028\u2029': self.forward() if self.scan_line_break(): if not self.flow_level: @@ -787,15 +790,15 @@ def scan_directive(self): self.forward() name = self.scan_directive_name(start_mark) value = None - if name == u'YAML': + if name == 'YAML': value = self.scan_yaml_directive_value(start_mark) end_mark = self.get_mark() - elif name == u'TAG': + elif name == 'TAG': value = self.scan_tag_directive_value(start_mark) end_mark = self.get_mark() else: end_mark = self.get_mark() - while self.peek() not in u'\0\r\n\x85\u2028\u2029': + while self.peek() not in '\0\r\n\x85\u2028\u2029': self.forward() self.scan_directive_ignored_line(start_mark) return DirectiveToken(name, value, start_mark, end_mark) @@ -804,51 +807,48 @@ def scan_directive_name(self, start_mark): # See the specification for details. length = 0 ch = self.peek(length) - while u'0' <= ch <= u'9' or u'A' <= ch <= u'Z' or u'a' <= ch <= u'z' \ - or ch in u'-_': + while '0' <= ch <= '9' or 'A' <= ch <= 'Z' or 'a' <= ch <= 'z' \ + or ch in '-_': length += 1 ch = self.peek(length) if not length: raise ScannerError("while scanning a directive", start_mark, "expected alphabetic or numeric character, but found %r" - % ch.encode('utf-8'), self.get_mark()) + % ch, self.get_mark()) value = self.prefix(length) self.forward(length) ch = self.peek() - if ch not in u'\0 \r\n\x85\u2028\u2029': + if ch not in '\0 \r\n\x85\u2028\u2029': raise ScannerError("while scanning a directive", start_mark, "expected alphabetic or numeric character, but found %r" - % ch.encode('utf-8'), self.get_mark()) + % ch, self.get_mark()) return value def scan_yaml_directive_value(self, start_mark): # See the specification for details. - while self.peek() == u' ': + while self.peek() == ' ': self.forward() major = self.scan_yaml_directive_number(start_mark) if self.peek() != '.': raise ScannerError("while scanning a directive", start_mark, - "expected a digit or '.', but found %r" - % self.peek().encode('utf-8'), + "expected a digit or '.', but found %r" % self.peek(), self.get_mark()) self.forward() minor = self.scan_yaml_directive_number(start_mark) - if self.peek() not in u'\0 \r\n\x85\u2028\u2029': + if self.peek() not in '\0 \r\n\x85\u2028\u2029': raise ScannerError("while scanning a directive", start_mark, - "expected a digit or ' ', but found %r" - % self.peek().encode('utf-8'), + "expected a digit or ' ', but found %r" % self.peek(), self.get_mark()) return (major, minor) def scan_yaml_directive_number(self, start_mark): # See the specification for details. ch = self.peek() - if not (u'0' <= ch <= u'9'): + if not ('0' <= ch <= '9'): raise ScannerError("while scanning a directive", start_mark, - "expected a digit, but found %r" % ch.encode('utf-8'), - self.get_mark()) + "expected a digit, but found %r" % ch, self.get_mark()) length = 0 - while u'0' <= self.peek(length) <= u'9': + while '0' <= self.peek(length) <= '9': length += 1 value = int(self.prefix(length)) self.forward(length) @@ -856,10 +856,10 @@ def scan_yaml_directive_number(self, start_mark): def scan_tag_directive_value(self, start_mark): # See the specification for details. - while self.peek() == u' ': + while self.peek() == ' ': self.forward() handle = self.scan_tag_directive_handle(start_mark) - while self.peek() == u' ': + while self.peek() == ' ': self.forward() prefix = self.scan_tag_directive_prefix(start_mark) return (handle, prefix) @@ -868,69 +868,67 @@ def scan_tag_directive_handle(self, start_mark): # See the specification for details. value = self.scan_tag_handle('directive', start_mark) ch = self.peek() - if ch != u' ': + if ch != ' ': raise ScannerError("while scanning a directive", start_mark, - "expected ' ', but found %r" % ch.encode('utf-8'), - self.get_mark()) + "expected ' ', but found %r" % ch, self.get_mark()) return value def scan_tag_directive_prefix(self, start_mark): # See the specification for details. value = self.scan_tag_uri('directive', start_mark) ch = self.peek() - if ch not in u'\0 \r\n\x85\u2028\u2029': + if ch not in '\0 \r\n\x85\u2028\u2029': raise ScannerError("while scanning a directive", start_mark, - "expected ' ', but found %r" % ch.encode('utf-8'), - self.get_mark()) + "expected ' ', but found %r" % ch, self.get_mark()) return value def scan_directive_ignored_line(self, start_mark): # See the specification for details. - while self.peek() == u' ': + while self.peek() == ' ': self.forward() - if self.peek() == u'#': - while self.peek() not in u'\0\r\n\x85\u2028\u2029': + if self.peek() == '#': + while self.peek() not in '\0\r\n\x85\u2028\u2029': self.forward() ch = self.peek() - if ch not in u'\0\r\n\x85\u2028\u2029': + if ch not in '\0\r\n\x85\u2028\u2029': raise ScannerError("while scanning a directive", start_mark, "expected a comment or a line break, but found %r" - % ch.encode('utf-8'), self.get_mark()) + % ch, self.get_mark()) self.scan_line_break() def scan_anchor(self, TokenClass): # The specification does not restrict characters for anchors and # aliases. This may lead to problems, for instance, the document: # [ *alias, value ] - # can be interpteted in two ways, as + # can be interpreted in two ways, as # [ "value" ] # and # [ *alias , "value" ] # Therefore we restrict aliases to numbers and ASCII letters. start_mark = self.get_mark() indicator = self.peek() - if indicator == u'*': + if indicator == '*': name = 'alias' else: name = 'anchor' self.forward() length = 0 ch = self.peek(length) - while u'0' <= ch <= u'9' or u'A' <= ch <= u'Z' or u'a' <= ch <= u'z' \ - or ch in u'-_': + while '0' <= ch <= '9' or 'A' <= ch <= 'Z' or 'a' <= ch <= 'z' \ + or ch in '-_': length += 1 ch = self.peek(length) if not length: raise ScannerError("while scanning an %s" % name, start_mark, "expected alphabetic or numeric character, but found %r" - % ch.encode('utf-8'), self.get_mark()) + % ch, self.get_mark()) value = self.prefix(length) self.forward(length) ch = self.peek() - if ch not in u'\0 \t\r\n\x85\u2028\u2029?:,]}%@`': + if ch not in '\0 \t\r\n\x85\u2028\u2029?:,]}%@`': raise ScannerError("while scanning an %s" % name, start_mark, "expected alphabetic or numeric character, but found %r" - % ch.encode('utf-8'), self.get_mark()) + % ch, self.get_mark()) end_mark = self.get_mark() return TokenClass(value, start_mark, end_mark) @@ -938,40 +936,39 @@ def scan_tag(self): # See the specification for details. start_mark = self.get_mark() ch = self.peek(1) - if ch == u'<': + if ch == '<': handle = None self.forward(2) suffix = self.scan_tag_uri('tag', start_mark) - if self.peek() != u'>': + if self.peek() != '>': raise ScannerError("while parsing a tag", start_mark, - "expected '>', but found %r" % self.peek().encode('utf-8'), + "expected '>', but found %r" % self.peek(), self.get_mark()) self.forward() - elif ch in u'\0 \t\r\n\x85\u2028\u2029': + elif ch in '\0 \t\r\n\x85\u2028\u2029': handle = None - suffix = u'!' + suffix = '!' self.forward() else: length = 1 use_handle = False - while ch not in u'\0 \r\n\x85\u2028\u2029': - if ch == u'!': + while ch not in '\0 \r\n\x85\u2028\u2029': + if ch == '!': use_handle = True break length += 1 ch = self.peek(length) - handle = u'!' + handle = '!' if use_handle: handle = self.scan_tag_handle('tag', start_mark) else: - handle = u'!' + handle = '!' self.forward() suffix = self.scan_tag_uri('tag', start_mark) ch = self.peek() - if ch not in u'\0 \r\n\x85\u2028\u2029': + if ch not in '\0 \r\n\x85\u2028\u2029': raise ScannerError("while scanning a tag", start_mark, - "expected ' ', but found %r" % ch.encode('utf-8'), - self.get_mark()) + "expected ' ', but found %r" % ch, self.get_mark()) value = (handle, suffix) end_mark = self.get_mark() return TagToken(value, start_mark, end_mark) @@ -1002,39 +999,39 @@ def scan_block_scalar(self, style): else: indent = min_indent+increment-1 breaks, end_mark = self.scan_block_scalar_breaks(indent) - line_break = u'' + line_break = '' # Scan the inner part of the block scalar. - while self.column == indent and self.peek() != u'\0': + while self.column == indent and self.peek() != '\0': chunks.extend(breaks) - leading_non_space = self.peek() not in u' \t' + leading_non_space = self.peek() not in ' \t' length = 0 - while self.peek(length) not in u'\0\r\n\x85\u2028\u2029': + while self.peek(length) not in '\0\r\n\x85\u2028\u2029': length += 1 chunks.append(self.prefix(length)) self.forward(length) line_break = self.scan_line_break() breaks, end_mark = self.scan_block_scalar_breaks(indent) - if self.column == indent and self.peek() != u'\0': + if self.column == indent and self.peek() != '\0': # Unfortunately, folding rules are ambiguous. # # This is the folding according to the specification: - if folded and line_break == u'\n' \ - and leading_non_space and self.peek() not in u' \t': + if folded and line_break == '\n' \ + and leading_non_space and self.peek() not in ' \t': if not breaks: - chunks.append(u' ') + chunks.append(' ') else: chunks.append(line_break) # This is Clark Evans's interpretation (also in the spec # examples): # - #if folded and line_break == u'\n': + #if folded and line_break == '\n': # if not breaks: # if self.peek() not in ' \t': - # chunks.append(u' ') + # chunks.append(' ') # else: # chunks.append(line_break) #else: @@ -1049,7 +1046,7 @@ def scan_block_scalar(self, style): chunks.extend(breaks) # We are done. - return ScalarToken(u''.join(chunks), False, start_mark, end_mark, + return ScalarToken(''.join(chunks), False, start_mark, end_mark, style) def scan_block_scalar_indicators(self, start_mark): @@ -1057,21 +1054,21 @@ def scan_block_scalar_indicators(self, start_mark): chomping = None increment = None ch = self.peek() - if ch in u'+-': + if ch in '+-': if ch == '+': chomping = True else: chomping = False self.forward() ch = self.peek() - if ch in u'0123456789': + if ch in '0123456789': increment = int(ch) if increment == 0: raise ScannerError("while scanning a block scalar", start_mark, "expected indentation indicator in the range 1-9, but found 0", self.get_mark()) self.forward() - elif ch in u'0123456789': + elif ch in '0123456789': increment = int(ch) if increment == 0: raise ScannerError("while scanning a block scalar", start_mark, @@ -1079,31 +1076,31 @@ def scan_block_scalar_indicators(self, start_mark): self.get_mark()) self.forward() ch = self.peek() - if ch in u'+-': + if ch in '+-': if ch == '+': chomping = True else: chomping = False self.forward() ch = self.peek() - if ch not in u'\0 \r\n\x85\u2028\u2029': + if ch not in '\0 \r\n\x85\u2028\u2029': raise ScannerError("while scanning a block scalar", start_mark, "expected chomping or indentation indicators, but found %r" - % ch.encode('utf-8'), self.get_mark()) + % ch, self.get_mark()) return chomping, increment def scan_block_scalar_ignored_line(self, start_mark): # See the specification for details. - while self.peek() == u' ': + while self.peek() == ' ': self.forward() - if self.peek() == u'#': - while self.peek() not in u'\0\r\n\x85\u2028\u2029': + if self.peek() == '#': + while self.peek() not in '\0\r\n\x85\u2028\u2029': self.forward() ch = self.peek() - if ch not in u'\0\r\n\x85\u2028\u2029': + if ch not in '\0\r\n\x85\u2028\u2029': raise ScannerError("while scanning a block scalar", start_mark, - "expected a comment or a line break, but found %r" - % ch.encode('utf-8'), self.get_mark()) + "expected a comment or a line break, but found %r" % ch, + self.get_mark()) self.scan_line_break() def scan_block_scalar_indentation(self): @@ -1111,8 +1108,8 @@ def scan_block_scalar_indentation(self): chunks = [] max_indent = 0 end_mark = self.get_mark() - while self.peek() in u' \r\n\x85\u2028\u2029': - if self.peek() != u' ': + while self.peek() in ' \r\n\x85\u2028\u2029': + if self.peek() != ' ': chunks.append(self.scan_line_break()) end_mark = self.get_mark() else: @@ -1125,12 +1122,12 @@ def scan_block_scalar_breaks(self, indent): # See the specification for details. chunks = [] end_mark = self.get_mark() - while self.column < indent and self.peek() == u' ': + while self.column < indent and self.peek() == ' ': self.forward() - while self.peek() in u'\r\n\x85\u2028\u2029': + while self.peek() in '\r\n\x85\u2028\u2029': chunks.append(self.scan_line_break()) end_mark = self.get_mark() - while self.column < indent and self.peek() == u' ': + while self.column < indent and self.peek() == ' ': self.forward() return chunks, end_mark @@ -1155,33 +1152,34 @@ def scan_flow_scalar(self, style): chunks.extend(self.scan_flow_scalar_non_spaces(double, start_mark)) self.forward() end_mark = self.get_mark() - return ScalarToken(u''.join(chunks), False, start_mark, end_mark, + return ScalarToken(''.join(chunks), False, start_mark, end_mark, style) ESCAPE_REPLACEMENTS = { - u'0': u'\0', - u'a': u'\x07', - u'b': u'\x08', - u't': u'\x09', - u'\t': u'\x09', - u'n': u'\x0A', - u'v': u'\x0B', - u'f': u'\x0C', - u'r': u'\x0D', - u'e': u'\x1B', - u' ': u'\x20', - u'\"': u'\"', - u'\\': u'\\', - u'N': u'\x85', - u'_': u'\xA0', - u'L': u'\u2028', - u'P': u'\u2029', + '0': '\0', + 'a': '\x07', + 'b': '\x08', + 't': '\x09', + '\t': '\x09', + 'n': '\x0A', + 'v': '\x0B', + 'f': '\x0C', + 'r': '\x0D', + 'e': '\x1B', + ' ': '\x20', + '\"': '\"', + '\\': '\\', + '/': '/', + 'N': '\x85', + '_': '\xA0', + 'L': '\u2028', + 'P': '\u2029', } ESCAPE_CODES = { - u'x': 2, - u'u': 4, - u'U': 8, + 'x': 2, + 'u': 4, + 'U': 8, } def scan_flow_scalar_non_spaces(self, double, start_mark): @@ -1189,19 +1187,19 @@ def scan_flow_scalar_non_spaces(self, double, start_mark): chunks = [] while True: length = 0 - while self.peek(length) not in u'\'\"\\\0 \t\r\n\x85\u2028\u2029': + while self.peek(length) not in '\'\"\\\0 \t\r\n\x85\u2028\u2029': length += 1 if length: chunks.append(self.prefix(length)) self.forward(length) ch = self.peek() - if not double and ch == u'\'' and self.peek(1) == u'\'': - chunks.append(u'\'') + if not double and ch == '\'' and self.peek(1) == '\'': + chunks.append('\'') self.forward(2) - elif (double and ch == u'\'') or (not double and ch in u'\"\\'): + elif (double and ch == '\'') or (not double and ch in '\"\\'): chunks.append(ch) self.forward() - elif double and ch == u'\\': + elif double and ch == '\\': self.forward() ch = self.peek() if ch in self.ESCAPE_REPLACEMENTS: @@ -1211,19 +1209,19 @@ def scan_flow_scalar_non_spaces(self, double, start_mark): length = self.ESCAPE_CODES[ch] self.forward() for k in range(length): - if self.peek(k) not in u'0123456789ABCDEFabcdef': + if self.peek(k) not in '0123456789ABCDEFabcdef': raise ScannerError("while scanning a double-quoted scalar", start_mark, "expected escape sequence of %d hexdecimal numbers, but found %r" % - (length, self.peek(k).encode('utf-8')), self.get_mark()) + (length, self.peek(k)), self.get_mark()) code = int(self.prefix(length), 16) - chunks.append(unichr(code)) + chunks.append(chr(code)) self.forward(length) - elif ch in u'\r\n\x85\u2028\u2029': + elif ch in '\r\n\x85\u2028\u2029': self.scan_line_break() chunks.extend(self.scan_flow_scalar_breaks(double, start_mark)) else: raise ScannerError("while scanning a double-quoted scalar", start_mark, - "found unknown escape character %r" % ch.encode('utf-8'), self.get_mark()) + "found unknown escape character %r" % ch, self.get_mark()) else: return chunks @@ -1231,21 +1229,21 @@ def scan_flow_scalar_spaces(self, double, start_mark): # See the specification for details. chunks = [] length = 0 - while self.peek(length) in u' \t': + while self.peek(length) in ' \t': length += 1 whitespaces = self.prefix(length) self.forward(length) ch = self.peek() - if ch == u'\0': + if ch == '\0': raise ScannerError("while scanning a quoted scalar", start_mark, "found unexpected end of stream", self.get_mark()) - elif ch in u'\r\n\x85\u2028\u2029': + elif ch in '\r\n\x85\u2028\u2029': line_break = self.scan_line_break() breaks = self.scan_flow_scalar_breaks(double, start_mark) - if line_break != u'\n': + if line_break != '\n': chunks.append(line_break) elif not breaks: - chunks.append(u' ') + chunks.append(' ') chunks.extend(breaks) else: chunks.append(whitespaces) @@ -1258,13 +1256,13 @@ def scan_flow_scalar_breaks(self, double, start_mark): # Instead of checking indentation, we check for document # separators. prefix = self.prefix(3) - if (prefix == u'---' or prefix == u'...') \ - and self.peek(3) in u'\0 \t\r\n\x85\u2028\u2029': + if (prefix == '---' or prefix == '...') \ + and self.peek(3) in '\0 \t\r\n\x85\u2028\u2029': raise ScannerError("while scanning a quoted scalar", start_mark, "found unexpected document separator", self.get_mark()) - while self.peek() in u' \t': + while self.peek() in ' \t': self.forward() - if self.peek() in u'\r\n\x85\u2028\u2029': + if self.peek() in '\r\n\x85\u2028\u2029': chunks.append(self.scan_line_break()) else: return chunks @@ -1272,7 +1270,7 @@ def scan_flow_scalar_breaks(self, double, start_mark): def scan_plain(self): # See the specification for details. # We add an additional restriction for the flow context: - # plain scalars in the flow context cannot contain ',', ':' and '?'. + # plain scalars in the flow context cannot contain ',' or '?'. # We also keep track of the `allow_simple_key` flag here. # Indentation rules are loosed for the flow context. chunks = [] @@ -1286,23 +1284,17 @@ def scan_plain(self): spaces = [] while True: length = 0 - if self.peek() == u'#': + if self.peek() == '#': break while True: ch = self.peek(length) - if ch in u'\0 \t\r\n\x85\u2028\u2029' \ - or (not self.flow_level and ch == u':' and - self.peek(length+1) in u'\0 \t\r\n\x85\u2028\u2029') \ - or (self.flow_level and ch in u',:?[]{}'): + if ch in '\0 \t\r\n\x85\u2028\u2029' \ + or (ch == ':' and + self.peek(length+1) in '\0 \t\r\n\x85\u2028\u2029' + + (u',[]{}' if self.flow_level else u''))\ + or (self.flow_level and ch in ',?[]{}'): break length += 1 - # It's not clear what we should do with ':' in the flow context. - if (self.flow_level and ch == u':' - and self.peek(length+1) not in u'\0 \t\r\n\x85\u2028\u2029,[]{}'): - self.forward(length) - raise ScannerError("while scanning a plain scalar", start_mark, - "found unexpected ':'", self.get_mark(), - "Please check http://pyyaml.org/wiki/YAMLColonInFlowContext for details.") if length == 0: break self.allow_simple_key = False @@ -1311,10 +1303,10 @@ def scan_plain(self): self.forward(length) end_mark = self.get_mark() spaces = self.scan_plain_spaces(indent, start_mark) - if not spaces or self.peek() == u'#' \ + if not spaces or self.peek() == '#' \ or (not self.flow_level and self.column < indent): break - return ScalarToken(u''.join(chunks), True, start_mark, end_mark) + return ScalarToken(''.join(chunks), True, start_mark, end_mark) def scan_plain_spaces(self, indent, start_mark): # See the specification for details. @@ -1322,32 +1314,32 @@ def scan_plain_spaces(self, indent, start_mark): # We just forbid them completely. Do not use tabs in YAML! chunks = [] length = 0 - while self.peek(length) in u' ': + while self.peek(length) in ' ': length += 1 whitespaces = self.prefix(length) self.forward(length) ch = self.peek() - if ch in u'\r\n\x85\u2028\u2029': + if ch in '\r\n\x85\u2028\u2029': line_break = self.scan_line_break() self.allow_simple_key = True prefix = self.prefix(3) - if (prefix == u'---' or prefix == u'...') \ - and self.peek(3) in u'\0 \t\r\n\x85\u2028\u2029': + if (prefix == '---' or prefix == '...') \ + and self.peek(3) in '\0 \t\r\n\x85\u2028\u2029': return breaks = [] - while self.peek() in u' \r\n\x85\u2028\u2029': + while self.peek() in ' \r\n\x85\u2028\u2029': if self.peek() == ' ': self.forward() else: breaks.append(self.scan_line_break()) prefix = self.prefix(3) - if (prefix == u'---' or prefix == u'...') \ - and self.peek(3) in u'\0 \t\r\n\x85\u2028\u2029': + if (prefix == '---' or prefix == '...') \ + and self.peek(3) in '\0 \t\r\n\x85\u2028\u2029': return - if line_break != u'\n': + if line_break != '\n': chunks.append(line_break) elif not breaks: - chunks.append(u' ') + chunks.append(' ') chunks.extend(breaks) elif whitespaces: chunks.append(whitespaces) @@ -1358,22 +1350,20 @@ def scan_tag_handle(self, name, start_mark): # For some strange reasons, the specification does not allow '_' in # tag handles. I have allowed it anyway. ch = self.peek() - if ch != u'!': + if ch != '!': raise ScannerError("while scanning a %s" % name, start_mark, - "expected '!', but found %r" % ch.encode('utf-8'), - self.get_mark()) + "expected '!', but found %r" % ch, self.get_mark()) length = 1 ch = self.peek(length) - if ch != u' ': - while u'0' <= ch <= u'9' or u'A' <= ch <= u'Z' or u'a' <= ch <= u'z' \ - or ch in u'-_': + if ch != ' ': + while '0' <= ch <= '9' or 'A' <= ch <= 'Z' or 'a' <= ch <= 'z' \ + or ch in '-_': length += 1 ch = self.peek(length) - if ch != u'!': + if ch != '!': self.forward(length) raise ScannerError("while scanning a %s" % name, start_mark, - "expected '!', but found %r" % ch.encode('utf-8'), - self.get_mark()) + "expected '!', but found %r" % ch, self.get_mark()) length += 1 value = self.prefix(length) self.forward(length) @@ -1385,9 +1375,9 @@ def scan_tag_uri(self, name, start_mark): chunks = [] length = 0 ch = self.peek(length) - while u'0' <= ch <= u'9' or u'A' <= ch <= u'Z' or u'a' <= ch <= u'z' \ - or ch in u'-;/?:@&=+$,_.!~*\'()[]%': - if ch == u'%': + while '0' <= ch <= '9' or 'A' <= ch <= 'Z' or 'a' <= ch <= 'z' \ + or ch in '-;/?:@&=+$,_.!~*\'()[]%': + if ch == '%': chunks.append(self.prefix(length)) self.forward(length) length = 0 @@ -1401,26 +1391,25 @@ def scan_tag_uri(self, name, start_mark): length = 0 if not chunks: raise ScannerError("while parsing a %s" % name, start_mark, - "expected URI, but found %r" % ch.encode('utf-8'), - self.get_mark()) - return u''.join(chunks) + "expected URI, but found %r" % ch, self.get_mark()) + return ''.join(chunks) def scan_uri_escapes(self, name, start_mark): # See the specification for details. - bytes = [] + codes = [] mark = self.get_mark() - while self.peek() == u'%': + while self.peek() == '%': self.forward() for k in range(2): - if self.peek(k) not in u'0123456789ABCDEFabcdef': + if self.peek(k) not in '0123456789ABCDEFabcdef': raise ScannerError("while scanning a %s" % name, start_mark, - "expected URI escape sequence of 2 hexdecimal numbers, but found %r" % - (self.peek(k).encode('utf-8')), self.get_mark()) - bytes.append(chr(int(self.prefix(2), 16))) + "expected URI escape sequence of 2 hexdecimal numbers, but found %r" + % self.peek(k), self.get_mark()) + codes.append(int(self.prefix(2), 16)) self.forward(2) try: - value = unicode(''.join(bytes), 'utf-8') - except UnicodeDecodeError, exc: + value = bytes(codes).decode('utf-8') + except UnicodeDecodeError as exc: raise ScannerError("while scanning a %s" % name, start_mark, str(exc), mark) return value @@ -1434,20 +1423,13 @@ def scan_line_break(self): # '\u2029 : '\u2029' # default : '' ch = self.peek() - if ch in u'\r\n\x85': - if self.prefix(2) == u'\r\n': + if ch in '\r\n\x85': + if self.prefix(2) == '\r\n': self.forward(2) else: self.forward() - return u'\n' - elif ch in u'\u2028\u2029': + return '\n' + elif ch in '\u2028\u2029': self.forward() return ch - return u'' - -#try: -# import psyco -# psyco.bind(Scanner) -#except ImportError: -# pass - + return '' diff --git a/bin/yaml/scanner.pyc b/bin/yaml/scanner.pyc deleted file mode 100644 index 84ef7e8a..00000000 Binary files a/bin/yaml/scanner.pyc and /dev/null differ diff --git a/bin/yaml/serializer.py b/bin/yaml/serializer.py index 0bf1e96d..fe911e67 100644 --- a/bin/yaml/serializer.py +++ b/bin/yaml/serializer.py @@ -1,16 +1,16 @@ __all__ = ['Serializer', 'SerializerError'] -from error import YAMLError -from events import * -from nodes import * +from .error import YAMLError +from .events import * +from .nodes import * class SerializerError(YAMLError): pass -class Serializer(object): +class Serializer: - ANCHOR_TEMPLATE = u'id%03d' + ANCHOR_TEMPLATE = 'id%03d' def __init__(self, encoding=None, explicit_start=None, explicit_end=None, version=None, tags=None): diff --git a/bin/yaml/serializer.pyc b/bin/yaml/serializer.pyc deleted file mode 100644 index 787ab277..00000000 Binary files a/bin/yaml/serializer.pyc and /dev/null differ diff --git a/bin/yaml/tokens.pyc b/bin/yaml/tokens.pyc deleted file mode 100644 index 21f23a37..00000000 Binary files a/bin/yaml/tokens.pyc and /dev/null differ diff --git a/bootstrap b/bootstrap index 8cb2dc90..28b25107 100755 --- a/bootstrap +++ b/bootstrap @@ -5,7 +5,9 @@ set -uo pipefail # Constants RUNTIME_PATH="2018-06-01/runtime" mkdir -p /tmp/.aws +touch /tmp/.aws/config export HOME="/tmp" +export AWS_CONFIG_FILE="/tmp/.aws/config" # Send initialization error to Lambda API sendInitError () { @@ -28,8 +30,8 @@ sendRuntimeError () { # Send successful response to Lambda API sendResponse () { REQUEST_ID=$1 - RESPONSE=$2 - curl -sS -X POST -d "$RESPONSE" "http://${AWS_LAMBDA_RUNTIME_API}/${RUNTIME_PATH}/invocation/${REQUEST_ID}/response" > /dev/null + REQUEST_RESPONSE_FILE=$2 + cat $REQUEST_RESPONSE_FILE | curl -sS -X POST -d @- "http://${AWS_LAMBDA_RUNTIME_API}/${RUNTIME_PATH}/invocation/${REQUEST_ID}/response" > /dev/null } # Make sure handler file exists @@ -58,8 +60,10 @@ fi # Processing while true do - HEADERS="$(mktemp)" - RESPONSE="$(mktemp)" + HEADERS="/tmp/headers-$(date +'%s')" + RESPONSE="/tmp/response-$(date +'%s')" + touch $HEADERS + touch $RESPONSE EVENT_DATA=$(curl -sS -LD "$HEADERS" -X GET "http://${AWS_LAMBDA_RUNTIME_API}/${RUNTIME_PATH}/invocation/next") REQUEST_ID=$(grep -Fi Lambda-Runtime-Aws-Request-Id "$HEADERS" | tr -d '[:space:]' | cut -d: -f2) # Export some additional context @@ -72,7 +76,7 @@ do EXIT_CODE=$? # Respond to Lambda API if [[ $EXIT_CODE -eq "0" ]]; then - sendResponse "$REQUEST_ID" "$(cat $RESPONSE)" + sendResponse "$REQUEST_ID" "$RESPONSE" else # Log error to stdout as well cat $RESPONSE @@ -81,4 +85,6 @@ do # Clean up rm -f -- "$HEADERS" rm -f -- "$RESPONSE" + unset HEADERS + unset RESPONSE done \ No newline at end of file diff --git a/lib/libgpm.so.2 b/lib/libgpm.so.2 new file mode 120000 index 00000000..933ff81e --- /dev/null +++ b/lib/libgpm.so.2 @@ -0,0 +1 @@ +libgpm.so.2.1.0 \ No newline at end of file diff --git a/lib/libgpm.so.2.1.0 b/lib/libgpm.so.2.1.0 new file mode 100755 index 00000000..4583e832 Binary files /dev/null and b/lib/libgpm.so.2.1.0 differ diff --git a/lib/libidn.so.11 b/lib/libidn.so.11 new file mode 100755 index 00000000..abd1252f Binary files /dev/null and b/lib/libidn.so.11 differ diff --git a/lib/libruby.so.2.0 b/lib/libruby.so.2.0 new file mode 120000 index 00000000..18a6bbcd --- /dev/null +++ b/lib/libruby.so.2.0 @@ -0,0 +1 @@ +libruby.so.2.0.0 \ No newline at end of file diff --git a/lib/libruby.so.2.0.0 b/lib/libruby.so.2.0.0 new file mode 100755 index 00000000..d3292500 Binary files /dev/null and b/lib/libruby.so.2.0.0 differ diff --git a/publish-staging.sh b/publish-staging.sh new file mode 100755 index 00000000..6ebbda8a --- /dev/null +++ b/publish-staging.sh @@ -0,0 +1,19 @@ +#!/bin/bash -e + +# AWS Regions +REGIONS=( + "us-west-2" +) +LAYER_NAME="bash-testing" + +for region in ${REGIONS[@]}; do + echo "Publishing layer to $region..." + + LAYER_ARN=$(aws lambda publish-layer-version --region $region --layer-name $LAYER_NAME --description "Bash in AWS Lambda [https://github.com/gkrizek/bash-lambda-layer]" --compatible-runtimes provided --license MIT --zip-file fileb://export/layer.zip | jq -r .LayerVersionArn) + + echo $LAYER_ARN + echo "$region complete for Staging" + echo "" +done + +echo "Successfully published to all regions" \ No newline at end of file diff --git a/publish.sh b/publish.sh new file mode 100755 index 00000000..84fc0365 --- /dev/null +++ b/publish.sh @@ -0,0 +1,35 @@ +#!/bin/bash -e + +# AWS Regions +REGIONS=( + "us-west-1" + "us-west-2" + "us-east-1" + "us-east-2" + "ap-south-1" + "ap-northeast-1" + "ap-northeast-2" + "ap-southeast-1" + "ap-southeast-2" + "ca-central-1" + "eu-central-1" + "eu-north-1" + "eu-west-1" + "eu-west-2" + "eu-west-3" + "sa-east-1" +) +LAYER_NAME="bash" + +for region in ${REGIONS[@]}; do + echo "Publishing layer to $region..." + + LAYER_ARN=$(aws lambda publish-layer-version --region $region --layer-name $LAYER_NAME --description "Bash in AWS Lambda [https://github.com/gkrizek/bash-lambda-layer]" --compatible-runtimes provided --license MIT --zip-file fileb://export/layer.zip | jq -r .LayerVersionArn) + POLICY=$(aws lambda add-layer-version-permission --region $region --layer-name $LAYER_NAME --version-number $(echo -n $LAYER_ARN | tail -c 1) --statement-id $LAYER_NAME-public --action lambda:GetLayerVersion --principal \*) + + echo $LAYER_ARN + echo "$region complete" + echo "" +done + +echo "Successfully published to all regions" \ No newline at end of file